Skip to content

Commit 92eee66

Browse files
authored
Merge pull request #67 from Exabyte-io/feature/SOF-6588
Feature/sof-6588 feat: add ConsistencyChecks mixin
2 parents 25e8e5c + caa5f02 commit 92eee66

File tree

5 files changed

+33
-5
lines changed

5 files changed

+33
-5
lines changed

package-lock.json

Lines changed: 3 additions & 3 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@
5656
"@babel/preset-react": "7.16.7",
5757
"@babel/register": "^7.16.0",
5858
"@babel/runtime-corejs3": "7.16.8",
59-
"@exabyte-io/esse.js": "2023.10.31-0",
59+
"@exabyte-io/esse.js": "2023.11.1-0",
6060
"@types/chai": "^4.3.5",
6161
"@types/crypto-js": "^4.1.1",
6262
"@types/js-yaml": "^4.0.5",

src/entity/index.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ import { FlowchartEntityMixin, FlowchartItemMixin } from "./mixins/flowchart";
55
import { HashedInputArrayMixin } from "./mixins/hash";
66
import {
77
DefaultableMixin,
8+
HasConsistencyChecksMixin,
89
HasDescriptionMixin,
910
HasMetadataMixin,
1011
HasScopeTrackMixin,
@@ -14,6 +15,7 @@ import {
1415
import { RuntimeItemsMixin } from "./mixins/runtime_items";
1516
import {
1617
DefaultableInMemoryEntity,
18+
HasConsistencyChecksHasMetadataNamedDefaultableInMemoryEntity,
1719
HasMetadataNamedDefaultableInMemoryEntity,
1820
NamedDefaultableInMemoryEntity,
1921
NamedDefaultableRepetitionContextAndRenderInMemoryEntity,
@@ -40,6 +42,8 @@ export {
4042
NamedDefaultableRepetitionContextAndRenderInMemoryEntity,
4143
NamedDefaultableRepetitionImportantSettingsInMemoryEntity,
4244
NamedDefaultableRepetitionRuntimeItemsImportantSettingsContextAndRenderHashedInMemoryEntity,
45+
HasConsistencyChecksHasMetadataNamedDefaultableInMemoryEntity,
46+
HasConsistencyChecksMixin,
4347
DefaultableMixin,
4448
HasDescriptionMixin,
4549
HasMetadataMixin,

src/entity/mixins/props.ts

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -98,3 +98,19 @@ export function NamedEntityMixin<T extends InMemoryEntityConstructor>(superclass
9898
}
9999
};
100100
}
101+
102+
export function HasConsistencyChecksMixin<T extends InMemoryEntityConstructor>(superclass: T) {
103+
return class extends superclass {
104+
get consistencyChecks(): object[] {
105+
return this.prop("consistencyChecks", []);
106+
}
107+
108+
set consistencyChecks(array: object[]) {
109+
this.setProp("consistencyChecks", array);
110+
}
111+
112+
addConsistencyChecks(array: object[]) {
113+
this.consistencyChecks = [...this.consistencyChecks, ...array];
114+
}
115+
};
116+
}

src/entity/other.ts

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,12 @@
11
import { InMemoryEntity } from "./in_memory";
22
import { ContextAndRenderFieldsMixin, ImportantSettingsProviderMixin } from "./mixins/context";
33
import { HashedEntityMixin } from "./mixins/hash";
4-
import { DefaultableMixin, HasMetadataMixin, NamedEntityMixin } from "./mixins/props";
4+
import {
5+
DefaultableMixin,
6+
HasConsistencyChecksMixin,
7+
HasMetadataMixin,
8+
NamedEntityMixin,
9+
} from "./mixins/props";
510
import { HasRepetitionMixin } from "./mixins/repetition";
611
import { RuntimeItemsUIAllowedMixin, RuntimeItemsUILogicMixin } from "./mixins/runtime_items";
712

@@ -15,6 +20,9 @@ export const HasMetadataNamedDefaultableInMemoryEntity = HasMetadataMixin(
1520
NamedEntityMixin(DefaultableMixin(InMemoryEntity)),
1621
);
1722

23+
export const HasConsistencyChecksHasMetadataNamedDefaultableInMemoryEntity =
24+
HasConsistencyChecksMixin(HasMetadataNamedDefaultableInMemoryEntity);
25+
1826
export const NamedDefaultableRepetitionImportantSettingsInMemoryEntity =
1927
ImportantSettingsProviderMixin(
2028
HasRepetitionMixin(NamedEntityMixin(DefaultableMixin(InMemoryEntity))),

0 commit comments

Comments
 (0)