У меня есть класс, расширяющий другой класс
import collect from 'collect.js'
export default class ObjectModelCollection extends collect {
static fromSegments(segments) {
return new this(segments)
}
}
Если я регистрирую экземпляры моего класса, он отображается в консоли браузера как Collection
- имя, используемое в collect.js
.Как я могу сказать своему классу представлять себя под своим именем?Я попытался добавить свой собственный конструктор и вызвать super()
безрезультатно.И this.constructor.name
только для чтения.
Если это уместно, вот класс, который я расширяю:
'use strict';
function Collection(collection) {
this.items = collection || [];
}
const SymbolIterator = require('./methods/symbol.iterator');
if (typeof Symbol !== 'undefined') {
Collection.prototype[Symbol.iterator] = SymbolIterator;
}
Collection.prototype.all = require('./methods/all');
Collection.prototype.average = require('./methods/average');
Collection.prototype.avg = require('./methods/average');
...
Collection.prototype.whereNotBetween = require('./methods/whereNotBetween');
Collection.prototype.whereNotIn = require('./methods/whereNotIn');
Collection.prototype.wrap = require('./methods/wrap');
Collection.prototype.zip = require('./methods/zip');
const collect = collection => new Collection(collection);
module.exports = collect;
module.exports.default = collect;