Skip to content

Commit 72d2f4d

Browse files
committed
update: generated mixins
1 parent f19b253 commit 72d2f4d

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

45 files changed

+650
-222
lines changed
Lines changed: 5 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,9 @@
1+
import { type DefaultableSchemaMixin } from "../../generated/DefaultableSchemaMixin";
12
import type { Constructor } from "../../utils/types";
23
import { InMemoryEntity } from "../in_memory";
3-
export declare function defaultableEntityMixin<T extends InMemoryEntity>(item: T): InMemoryEntity & DefaultableInMemoryEntity;
4-
export declare function defaultableEntityStaticMixin(Item: Constructor<InMemoryEntity>): DefaultableInMemoryStaticEntity & Constructor<InMemoryEntity> & Constructor<DefaultableInMemoryEntity> & {
5-
defaultConfig?: object | null;
6-
};
7-
export type DefaultableInMemoryEntity = {
8-
isDefault: boolean;
9-
};
4+
export type DefaultableInMemoryEntity = DefaultableSchemaMixin;
105
export type DefaultableInMemoryStaticEntity = {
11-
createDefault: () => InMemoryEntity & DefaultableInMemoryEntity;
6+
createDefault: () => InMemoryEntity & DefaultableSchemaMixin;
127
};
13-
export type DefaultableInMemoryEntityConstructor = Constructor<DefaultableInMemoryEntity> & DefaultableInMemoryStaticEntity;
8+
export type DefaultableInMemoryEntityConstructor = Constructor<DefaultableSchemaMixin> & DefaultableInMemoryStaticEntity;
9+
export declare function defaultableEntityMixin(Item: Constructor<InMemoryEntity>): void;

dist/js/entity/mixins/DefaultableMixin.js

Lines changed: 5 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -2,20 +2,7 @@
22
/* eslint-disable @typescript-eslint/no-explicit-any */
33
Object.defineProperty(exports, "__esModule", { value: true });
44
exports.defaultableEntityMixin = defaultableEntityMixin;
5-
exports.defaultableEntityStaticMixin = defaultableEntityStaticMixin;
6-
function defaultableEntityMixin(item) {
7-
// @ts-expect-error
8-
const properties = {
9-
get isDefault() {
10-
return this.prop("isDefault", false);
11-
},
12-
set isDefault(isDefault) {
13-
this.setProp("isDefault", isDefault);
14-
},
15-
};
16-
Object.defineProperties(item, Object.getOwnPropertyDescriptors(properties));
17-
return properties;
18-
}
5+
const DefaultableSchemaMixin_1 = require("../../generated/DefaultableSchemaMixin");
196
function defaultableEntityStaticMixin(Item) {
207
// @ts-expect-error
218
const staticProperties = {
@@ -26,3 +13,7 @@ function defaultableEntityStaticMixin(Item) {
2613
Object.defineProperties(Item, Object.getOwnPropertyDescriptors(staticProperties));
2714
return staticProperties;
2815
}
16+
function defaultableEntityMixin(Item) {
17+
(0, DefaultableSchemaMixin_1.defaultableSchemaMixin)(Item.prototype);
18+
defaultableEntityStaticMixin(Item);
19+
}
Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,11 @@
11
import type { ConsistencyCheck } from "@mat3ra/esse/dist/js/types";
2+
import { type HasConsistencyChecksSchemaMixin } from "../../generated/HasConsistencyChecksSchemaMixin";
23
import type { Constructor } from "../../utils/types";
34
import { InMemoryEntity } from "../in_memory";
4-
export declare function hasConsistencyChecksMixin<T extends InMemoryEntity>(item: T): InMemoryEntity & HasConsistencyChecksInMemoryEntity;
5-
export type HasConsistencyChecksInMemoryEntity = {
6-
consistencyChecks: ConsistencyCheck[];
5+
type HasConsistencyChecksProperties = {
76
addConsistencyChecks: (array: ConsistencyCheck[]) => void;
87
};
8+
export declare function hasConsistencyChecksMixin<T extends InMemoryEntity>(item: T): asserts item is T & HasConsistencyChecksProperties;
9+
export type HasConsistencyChecksInMemoryEntity = HasConsistencyChecksSchemaMixin & HasConsistencyChecksProperties;
910
export type HasConsistencyChecksInMemoryEntityConstructor = Constructor<HasConsistencyChecksInMemoryEntity>;
11+
export {};
Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,14 @@
11
"use strict";
22
Object.defineProperty(exports, "__esModule", { value: true });
33
exports.hasConsistencyChecksMixin = hasConsistencyChecksMixin;
4+
const HasConsistencyChecksSchemaMixin_1 = require("../../generated/HasConsistencyChecksSchemaMixin");
45
function hasConsistencyChecksMixin(item) {
6+
(0, HasConsistencyChecksSchemaMixin_1.hasConsistencyChecksSchemaMixin)(item);
57
// @ts-expect-error
68
const properties = {
7-
get consistencyChecks() {
8-
return this.prop("consistencyChecks", []);
9-
},
10-
set consistencyChecks(array) {
11-
this.setProp("consistencyChecks", array);
12-
},
139
addConsistencyChecks(array) {
1410
this.consistencyChecks = [...(this.consistencyChecks || []), ...array];
1511
},
1612
};
1713
Object.defineProperties(item, Object.getOwnPropertyDescriptors(properties));
18-
return properties;
1914
}
Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,6 @@
1-
import type { DescriptionSchema } from "@mat3ra/esse/dist/js/types";
1+
import { type HasDescriptionSchemaMixin } from "../../generated/HasDescriptionSchemaMixin";
22
import type { Constructor } from "../../utils/types";
33
import { InMemoryEntity } from "../in_memory";
4-
export declare function hasDescriptionMixin<T extends InMemoryEntity>(item: T): InMemoryEntity & HasDescriptionInMemoryEntity;
5-
export type HasDescriptionInMemoryEntity = {
6-
description: string;
7-
descriptionObject: DescriptionSchema["descriptionObject"];
8-
};
4+
export declare function hasDescriptionMixin<T extends InMemoryEntity>(item: T): asserts item is T & HasDescriptionSchemaMixin;
5+
export type HasDescriptionInMemoryEntity = HasDescriptionSchemaMixin;
96
export type HasDescriptionInMemoryEntityConstructor = Constructor<HasDescriptionInMemoryEntity>;
Lines changed: 2 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,7 @@
11
"use strict";
22
Object.defineProperty(exports, "__esModule", { value: true });
33
exports.hasDescriptionMixin = hasDescriptionMixin;
4+
const HasDescriptionSchemaMixin_1 = require("../../generated/HasDescriptionSchemaMixin");
45
function hasDescriptionMixin(item) {
5-
// @ts-expect-error
6-
const properties = {
7-
get description() {
8-
return this.prop("description", "");
9-
},
10-
set description(string) {
11-
this.setProp("description", string);
12-
},
13-
get descriptionObject() {
14-
return this.prop("descriptionObject");
15-
},
16-
set descriptionObject(obj) {
17-
this.setProp("descriptionObject", obj);
18-
},
19-
};
20-
Object.defineProperties(item, Object.getOwnPropertyDescriptors(properties));
21-
return properties;
6+
(0, HasDescriptionSchemaMixin_1.hasDescriptionSchemaMixin)(item);
227
}
Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,10 @@
1+
import { type HasMetadataSchemaMixin } from "../../generated/HasMetadataSchemaMixin";
12
import type { Constructor } from "../../utils/types";
23
import { InMemoryEntity } from "../in_memory";
3-
export declare function hasMetadataMixin<T extends InMemoryEntity>(item: T): InMemoryEntity & HasMetadataInMemoryEntity;
4-
export type HasMetadataInMemoryEntity = {
5-
metadata: object;
4+
type HasMetadataProperties = {
65
updateMetadata: (object: object) => void;
76
};
7+
export declare function hasMetadataMixin<T extends InMemoryEntity>(item: T): asserts item is T & HasMetadataProperties;
8+
export type HasMetadataInMemoryEntity = HasMetadataSchemaMixin & HasMetadataProperties;
89
export type HasMetadataInMemoryEntityConstructor = Constructor<HasMetadataInMemoryEntity>;
10+
export {};
Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,14 @@
11
"use strict";
22
Object.defineProperty(exports, "__esModule", { value: true });
33
exports.hasMetadataMixin = hasMetadataMixin;
4+
const HasMetadataSchemaMixin_1 = require("../../generated/HasMetadataSchemaMixin");
45
function hasMetadataMixin(item) {
6+
(0, HasMetadataSchemaMixin_1.hasMetadataSchemaMixin)(item);
57
// @ts-expect-error
68
const properties = {
7-
get metadata() {
8-
return this.prop("metadata", {});
9-
},
10-
set metadata(object) {
11-
this.setProp("metadata", object);
12-
},
139
updateMetadata(object) {
1410
this.metadata = { ...this.metadata, ...object };
1511
},
1612
};
1713
Object.defineProperties(item, Object.getOwnPropertyDescriptors(properties));
18-
return properties;
1914
}
Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,10 @@
1+
import { type NamedEntitySchemaMixin } from "../../generated/NamedEntitySchemaMixin";
12
import type { Constructor } from "../../utils/types";
23
import { InMemoryEntity } from "../in_memory";
3-
export declare function namedEntityMixin<T extends InMemoryEntity>(item: T): InMemoryEntity & NamedInMemoryEntity;
4-
export type NamedInMemoryEntity = {
5-
name: string;
4+
type NamedEntityProperties = {
65
setName: (name: string) => void;
76
};
7+
export declare function namedEntityMixin<T extends InMemoryEntity>(item: T): asserts item is T & NamedEntityProperties;
8+
export type NamedInMemoryEntity = NamedEntitySchemaMixin & NamedEntityProperties;
89
export type NamedInMemoryEntityConstructor = Constructor<NamedInMemoryEntity>;
10+
export {};
Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,14 @@
11
"use strict";
22
Object.defineProperty(exports, "__esModule", { value: true });
33
exports.namedEntityMixin = namedEntityMixin;
4+
const NamedEntitySchemaMixin_1 = require("../../generated/NamedEntitySchemaMixin");
45
function namedEntityMixin(item) {
6+
(0, NamedEntitySchemaMixin_1.namedEntitySchemaMixin)(item);
57
// @ts-expect-error
68
const properties = {
7-
get name() {
8-
return this.prop("name", "");
9-
},
10-
set name(name) {
11-
this.setProp("name", name);
12-
},
139
setName(name) {
1410
this.setProp("name", name);
1511
},
1612
};
1713
Object.defineProperties(item, Object.getOwnPropertyDescriptors(properties));
18-
return properties;
1914
}

0 commit comments

Comments
 (0)