mosx
Version:
Multiview observable state management engine
29 lines • 1.86 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.MosxContext = void 0;
class MosxContext {
constructor() {
// mosx constructors
this.types = new Set();
// mosx object types meta
this.meta = new Map();
// mosx object types index
this.index = [];
}
// add constructor to schema
add(contructor) {
this.meta.set(contructor.name, {
index: this.types.size,
parent: contructor.$mx && contructor.__proto__.name,
ref: contructor,
});
this.index.push(contructor.name);
this.types.add(contructor);
}
// check is constructor already added
has(constructor) {
return this.types.has(constructor);
}
}
exports.MosxContext = MosxContext;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGV4dC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb250ZXh0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQU1BLE1BQWEsV0FBVztJQUF4QjtRQUNFLG9CQUFvQjtRQUNiLFVBQUssR0FBYSxJQUFJLEdBQUcsRUFBRSxDQUFBO1FBQ2xDLHlCQUF5QjtRQUNsQixTQUFJLEdBQTZCLElBQUksR0FBRyxFQUFFLENBQUE7UUFDakQsMEJBQTBCO1FBQ25CLFVBQUssR0FBYSxFQUFFLENBQUE7SUFpQjdCLENBQUM7SUFmQyw0QkFBNEI7SUFDckIsR0FBRyxDQUFDLFVBQWU7UUFDeEIsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRTtZQUM3QixLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJO1lBQ3RCLE1BQU0sRUFBRSxVQUFVLENBQUMsR0FBRyxJQUFJLFVBQVUsQ0FBQyxTQUFTLENBQUMsSUFBSTtZQUNuRCxHQUFHLEVBQUUsVUFBVTtTQUNoQixDQUFDLENBQUE7UUFDRixJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUE7UUFDaEMsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUE7SUFDNUIsQ0FBQztJQUVELHFDQUFxQztJQUM5QixHQUFHLENBQUMsV0FBZ0I7UUFDekIsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUMsQ0FBQTtJQUNwQyxDQUFDO0NBQ0Y7QUF2QkQsa0NBdUJDIn0=