oak-domain 2.4.0 → 2.4.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (160) hide show
  1. package/lib/actions/action.d.ts +16 -16
  2. package/lib/actions/action.js +17 -17
  3. package/lib/actions/relation.d.ts +5 -5
  4. package/lib/actions/relation.js +38 -38
  5. package/lib/base-app-domain/ActionDefDict.d.ts +5 -5
  6. package/lib/base-app-domain/ActionDefDict.js +7 -7
  7. package/lib/base-app-domain/EntityDict.d.ts +12 -12
  8. package/lib/base-app-domain/EntityDict.js +2 -2
  9. package/lib/base-app-domain/Modi/Action.d.ts +10 -10
  10. package/lib/base-app-domain/Modi/Action.js +14 -14
  11. package/lib/base-app-domain/Modi/Schema.d.ts +146 -146
  12. package/lib/base-app-domain/Modi/Schema.js +2 -2
  13. package/lib/base-app-domain/Modi/Storage.d.ts +3 -3
  14. package/lib/base-app-domain/Modi/Storage.js +60 -60
  15. package/lib/base-app-domain/ModiEntity/Schema.d.ts +162 -162
  16. package/lib/base-app-domain/ModiEntity/Schema.js +2 -2
  17. package/lib/base-app-domain/ModiEntity/Storage.d.ts +3 -3
  18. package/lib/base-app-domain/ModiEntity/Storage.js +26 -26
  19. package/lib/base-app-domain/Oper/Schema.d.ts +144 -144
  20. package/lib/base-app-domain/Oper/Schema.js +2 -2
  21. package/lib/base-app-domain/Oper/Storage.d.ts +3 -3
  22. package/lib/base-app-domain/Oper/Storage.js +29 -29
  23. package/lib/base-app-domain/OperEntity/Schema.d.ts +178 -178
  24. package/lib/base-app-domain/OperEntity/Schema.js +2 -2
  25. package/lib/base-app-domain/OperEntity/Storage.d.ts +3 -3
  26. package/lib/base-app-domain/OperEntity/Storage.js +26 -26
  27. package/lib/base-app-domain/Storage.d.ts +3 -3
  28. package/lib/base-app-domain/Storage.js +15 -15
  29. package/lib/base-app-domain/User/Schema.d.ts +128 -128
  30. package/lib/base-app-domain/User/Schema.js +2 -2
  31. package/lib/base-app-domain/User/Storage.d.ts +3 -3
  32. package/lib/base-app-domain/User/Storage.js +25 -25
  33. package/lib/base-app-domain/_SubQuery.d.ts +36 -36
  34. package/lib/base-app-domain/_SubQuery.js +2 -2
  35. package/lib/base-app-domain/index.d.ts +3 -3
  36. package/lib/base-app-domain/index.js +6 -6
  37. package/lib/checkers/index.d.ts +5 -5
  38. package/lib/checkers/index.js +15 -15
  39. package/lib/compiler/env.d.ts +11 -11
  40. package/lib/compiler/env.js +39 -39
  41. package/lib/compiler/schemalBuilder.d.ts +2 -2
  42. package/lib/compiler/schemalBuilder.js +3303 -3301
  43. package/lib/compiler/uiBuilder.d.ts +1 -1
  44. package/lib/compiler/uiBuilder.js +3 -3
  45. package/lib/entities/Modi.d.ts +11 -11
  46. package/lib/entities/Modi.js +46 -46
  47. package/lib/entities/ModiEntity.d.ts +8 -8
  48. package/lib/entities/ModiEntity.js +15 -15
  49. package/lib/entities/Oper.d.ts +10 -10
  50. package/lib/entities/Oper.js +17 -17
  51. package/lib/entities/OperEntity.d.ts +8 -8
  52. package/lib/entities/OperEntity.js +15 -15
  53. package/lib/entities/User.d.ts +7 -7
  54. package/lib/entities/User.js +12 -12
  55. package/lib/store/AsyncRowStore.d.ts +48 -48
  56. package/lib/store/AsyncRowStore.js +183 -183
  57. package/lib/store/CascadeStore.d.ts +91 -91
  58. package/lib/store/CascadeStore.js +1590 -1594
  59. package/lib/store/SyncRowStore.d.ts +29 -29
  60. package/lib/store/SyncRowStore.js +48 -48
  61. package/lib/store/TriggerExecutor.d.ts +32 -32
  62. package/lib/store/TriggerExecutor.js +527 -527
  63. package/lib/store/actionDef.d.ts +9 -9
  64. package/lib/store/actionDef.js +333 -135
  65. package/lib/store/checker.d.ts +13 -13
  66. package/lib/store/checker.js +498 -498
  67. package/lib/store/filter.d.ts +109 -109
  68. package/lib/store/filter.js +893 -893
  69. package/lib/store/modi.d.ts +13 -13
  70. package/lib/store/modi.js +198 -198
  71. package/lib/store/relation.d.ts +13 -13
  72. package/lib/store/relation.js +66 -66
  73. package/lib/store/selection.d.ts +7 -7
  74. package/lib/store/selection.js +235 -235
  75. package/lib/triggers/index.d.ts +6 -6
  76. package/lib/triggers/index.js +11 -11
  77. package/lib/triggers/modi.d.ts +5 -5
  78. package/lib/triggers/modi.js +72 -72
  79. package/lib/types/Action.d.ts +18 -18
  80. package/lib/types/Action.js +2 -2
  81. package/lib/types/AppLoader.d.ts +11 -11
  82. package/lib/types/AppLoader.js +10 -10
  83. package/lib/types/Aspect.d.ts +12 -12
  84. package/lib/types/Aspect.js +4 -4
  85. package/lib/types/Auth.d.ts +66 -66
  86. package/lib/types/Auth.js +2 -2
  87. package/lib/types/Connector.d.ts +26 -26
  88. package/lib/types/Connector.js +9 -9
  89. package/lib/types/Context.d.ts +7 -7
  90. package/lib/types/Context.js +3 -3
  91. package/lib/types/DataType.d.ts +18 -18
  92. package/lib/types/DataType.js +5 -5
  93. package/lib/types/Demand.d.ts +77 -77
  94. package/lib/types/Demand.js +9 -9
  95. package/lib/types/Endpoint.d.ts +11 -10
  96. package/lib/types/Endpoint.js +3 -3
  97. package/lib/types/Entity.d.ts +183 -176
  98. package/lib/types/Entity.js +14 -14
  99. package/lib/types/Exception.d.ts +98 -88
  100. package/lib/types/Exception.js +283 -267
  101. package/lib/types/Expression.d.ts +163 -163
  102. package/lib/types/Expression.js +427 -427
  103. package/lib/types/Geo.d.ts +18 -18
  104. package/lib/types/Geo.js +2 -2
  105. package/lib/types/Locale.d.ts +24 -24
  106. package/lib/types/Locale.js +2 -2
  107. package/lib/types/Logger.d.ts +5 -5
  108. package/lib/types/Logger.js +3 -3
  109. package/lib/types/Polyfill.d.ts +23 -23
  110. package/lib/types/Polyfill.js +2 -2
  111. package/lib/types/Port.d.ts +17 -17
  112. package/lib/types/Port.js +2 -2
  113. package/lib/types/RowStore.d.ts +12 -12
  114. package/lib/types/RowStore.js +34 -34
  115. package/lib/types/Storage.d.ts +56 -56
  116. package/lib/types/Storage.js +2 -2
  117. package/lib/types/Timer.d.ts +13 -13
  118. package/lib/types/Timer.js +2 -2
  119. package/lib/types/Trigger.d.ts +100 -100
  120. package/lib/types/Trigger.js +39 -39
  121. package/lib/types/Txn.d.ts +2 -2
  122. package/lib/types/Txn.js +3 -3
  123. package/lib/types/Watcher.d.ts +19 -19
  124. package/lib/types/Watcher.js +4 -4
  125. package/lib/types/index.d.ts +21 -21
  126. package/lib/types/index.js +24 -24
  127. package/lib/types/schema/DataTypes.d.ts +32 -32
  128. package/lib/types/schema/DataTypes.js +3 -3
  129. package/lib/utils/SimpleConnector.d.ts +30 -30
  130. package/lib/utils/SimpleConnector.js +117 -117
  131. package/lib/utils/assert.d.ts +5 -5
  132. package/lib/utils/assert.js +9 -9
  133. package/lib/utils/concurrent.d.ts +15 -15
  134. package/lib/utils/concurrent.js +89 -89
  135. package/lib/utils/cron.d.ts +1 -1
  136. package/lib/utils/cron.js +18 -18
  137. package/lib/utils/date.d.ts +1 -1
  138. package/lib/utils/date.js +18 -18
  139. package/lib/utils/geo.d.ts +4 -4
  140. package/lib/utils/geo.js +24 -24
  141. package/lib/utils/lodash.d.ts +20 -20
  142. package/lib/utils/lodash.js +55 -55
  143. package/lib/utils/random/random.d.ts +1 -1
  144. package/lib/utils/random/random.js +24 -24
  145. package/lib/utils/random/random.mp.d.ts +1 -1
  146. package/lib/utils/random/random.mp.js +25 -25
  147. package/lib/utils/random/random.web.d.ts +1 -1
  148. package/lib/utils/random/random.web.js +17 -17
  149. package/lib/utils/string.d.ts +22 -22
  150. package/lib/utils/string.js +70 -70
  151. package/lib/utils/uuid.d.ts +12 -12
  152. package/lib/utils/uuid.js +194 -194
  153. package/lib/utils/validator.d.ts +23 -23
  154. package/lib/utils/validator.js +123 -123
  155. package/package.json +48 -48
  156. package/src/entities/Modi.ts +68 -68
  157. package/src/entities/ModiEntity.ts +24 -24
  158. package/src/entities/Oper.ts +28 -28
  159. package/src/entities/OperEntity.ts +24 -24
  160. package/src/entities/User.ts +19 -19
@@ -1,18 +1,18 @@
1
- export declare type Point = [number, number];
2
- export declare type Path = Array<Point>;
3
- export declare type Polygon = Array<Path>;
4
- export declare type Circle = [Point, number];
5
- export declare type SingleGeo = {
6
- type: 'point';
7
- coordinate: Point;
8
- } | {
9
- type: 'path';
10
- coordinate: Path;
11
- } | {
12
- type: 'polygon';
13
- coordinate: Polygon;
14
- } | {
15
- type: 'circle';
16
- coordinate: Circle;
17
- };
18
- export declare type Geo = SingleGeo | SingleGeo[];
1
+ export declare type Point = [number, number];
2
+ export declare type Path = Array<Point>;
3
+ export declare type Polygon = Array<Path>;
4
+ export declare type Circle = [Point, number];
5
+ export declare type SingleGeo = {
6
+ type: 'point';
7
+ coordinate: Point;
8
+ } | {
9
+ type: 'path';
10
+ coordinate: Path;
11
+ } | {
12
+ type: 'polygon';
13
+ coordinate: Polygon;
14
+ } | {
15
+ type: 'circle';
16
+ coordinate: Circle;
17
+ };
18
+ export declare type Geo = SingleGeo | SingleGeo[];
package/lib/types/Geo.js CHANGED
@@ -1,2 +1,2 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -1,24 +1,24 @@
1
- import { EntityShape } from "./Entity";
2
- declare type Language = 'zh_CN' | 'en_US';
3
- declare type LocaleOfSchema<S extends Record<string, any>> = {
4
- [A in keyof Required<Omit<S, keyof EntityShape>>]: string;
5
- };
6
- declare type LocaleOfStringEnum<A extends string> = {
7
- [K in A]: string;
8
- };
9
- declare type LocaleOfValue<V extends Record<string, string>> = {
10
- [K in keyof V]: {
11
- [K2 in V[K]]: string;
12
- };
13
- };
14
- export declare type LocaleDef<Sc extends Record<string, any>, Ac extends string, R extends string, V extends Record<string, string>> = {
15
- [L in Language]?: {
16
- attr: LocaleOfSchema<Sc> & {
17
- [A in keyof V]: string;
18
- };
19
- action?: LocaleOfStringEnum<Ac>;
20
- r?: LocaleOfStringEnum<R>;
21
- v?: LocaleOfValue<V>;
22
- };
23
- };
24
- export {};
1
+ import { EntityShape } from "./Entity";
2
+ declare type Language = 'zh_CN' | 'en_US';
3
+ declare type LocaleOfSchema<S extends Record<string, any>> = {
4
+ [A in keyof Required<Omit<S, keyof EntityShape>>]: string;
5
+ };
6
+ declare type LocaleOfStringEnum<A extends string> = {
7
+ [K in A]: string;
8
+ };
9
+ declare type LocaleOfValue<V extends Record<string, string>> = {
10
+ [K in keyof V]: {
11
+ [K2 in V[K]]: string;
12
+ };
13
+ };
14
+ export declare type LocaleDef<Sc extends Record<string, any>, Ac extends string, R extends string, V extends Record<string, string>> = {
15
+ [L in Language]?: {
16
+ attr: LocaleOfSchema<Sc> & {
17
+ [A in keyof V]: string;
18
+ };
19
+ action?: LocaleOfStringEnum<Ac>;
20
+ r?: LocaleOfStringEnum<R>;
21
+ v?: LocaleOfValue<V>;
22
+ };
23
+ };
24
+ export {};
@@ -1,2 +1,2 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -1,5 +1,5 @@
1
- export interface Logger {
2
- error(...data: any[]): void;
3
- info(...data: any[]): void;
4
- log(...data: any[]): void;
5
- }
1
+ export interface Logger {
2
+ error(...data: any[]): void;
3
+ info(...data: any[]): void;
4
+ log(...data: any[]): void;
5
+ }
@@ -1,3 +1,3 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- ;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ ;
@@ -1,23 +1,23 @@
1
- export declare type OmitInferKey<T, R> = {
2
- [K in keyof T as T extends R ? never : K]: T[K];
3
- };
4
- export declare type OmitInferValue<T, R> = {
5
- [K in keyof T as T extends R ? never : K]: T[K];
6
- };
7
- export declare type ValueOf<Obj> = Obj[keyof Obj];
8
- export declare type OneOnly<Obj, Key extends keyof Obj> = {
9
- [key in Exclude<keyof Obj, Key>]?: undefined;
10
- } & Pick<Obj, Key>;
11
- export declare type OneOfByKey<Obj> = {
12
- [key in keyof Obj]: OneOnly<Obj, key>;
13
- };
14
- export declare type OneOf<Obj> = ValueOf<OneOfByKey<Obj>>;
15
- declare type IsOptional<T, K extends keyof T> = {
16
- [K1 in Exclude<keyof T, K>]: T[K1];
17
- } & {
18
- K?: T[K];
19
- } extends T ? K : never;
20
- export declare type OptionalKeys<T> = {
21
- [K in keyof T]: IsOptional<T, K>;
22
- }[keyof T];
23
- export {};
1
+ export declare type OmitInferKey<T, R> = {
2
+ [K in keyof T as T extends R ? never : K]: T[K];
3
+ };
4
+ export declare type OmitInferValue<T, R> = {
5
+ [K in keyof T as T extends R ? never : K]: T[K];
6
+ };
7
+ export declare type ValueOf<Obj> = Obj[keyof Obj];
8
+ export declare type OneOnly<Obj, Key extends keyof Obj> = {
9
+ [key in Exclude<keyof Obj, Key>]?: undefined;
10
+ } & Pick<Obj, Key>;
11
+ export declare type OneOfByKey<Obj> = {
12
+ [key in keyof Obj]: OneOnly<Obj, key>;
13
+ };
14
+ export declare type OneOf<Obj> = ValueOf<OneOfByKey<Obj>>;
15
+ declare type IsOptional<T, K extends keyof T> = {
16
+ [K1 in Exclude<keyof T, K>]: T[K1];
17
+ } & {
18
+ K?: T[K];
19
+ } extends T ? K : never;
20
+ export declare type OptionalKeys<T> = {
21
+ [K in keyof T]: IsOptional<T, K>;
22
+ }[keyof T];
23
+ export {};
@@ -1,2 +1,2 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -1,17 +1,17 @@
1
- import { AsyncContext } from "../store/AsyncRowStore";
2
- import { EntityDict } from "./Entity";
3
- export declare type Exportation<ED extends EntityDict, T extends keyof ED, K extends string> = {
4
- name: string;
5
- id: string;
6
- entity: T;
7
- projection: ED[T]['Selection']['data'];
8
- headers: K[];
9
- fn: (data: ED[T]['Schema']) => Partial<Record<K, string | number | boolean | null>>;
10
- };
11
- export declare type Importation<ED extends EntityDict, T extends keyof ED, K extends string> = {
12
- name: string;
13
- id: string;
14
- entity: T;
15
- headers: K[];
16
- fn: (data: Partial<Record<K, string | number | boolean>>[], context: AsyncContext<ED>, option?: Record<string, any>) => Promise<ED[T]['CreateMulti']['data']>;
17
- };
1
+ import { AsyncContext } from "../store/AsyncRowStore";
2
+ import { EntityDict } from "./Entity";
3
+ export declare type Exportation<ED extends EntityDict, T extends keyof ED, K extends string> = {
4
+ name: string;
5
+ id: string;
6
+ entity: T;
7
+ projection: ED[T]['Selection']['data'];
8
+ headers: K[];
9
+ fn: (data: ED[T]['Schema']) => Partial<Record<K, string | number | boolean | null>>;
10
+ };
11
+ export declare type Importation<ED extends EntityDict, T extends keyof ED, K extends string> = {
12
+ name: string;
13
+ id: string;
14
+ entity: T;
15
+ headers: K[];
16
+ fn: (data: Partial<Record<K, string | number | boolean>>[], context: AsyncContext<ED>, option?: Record<string, any>) => Promise<ED[T]['CreateMulti']['data']>;
17
+ };
package/lib/types/Port.js CHANGED
@@ -1,2 +1,2 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -1,12 +1,12 @@
1
- import { OperationResult, EntityDict } from './Entity';
2
- import { StorageSchema } from './Storage';
3
- export declare type TxnOption = {
4
- isolationLevel: 'repeatable read' | 'serializable';
5
- };
6
- export declare abstract class RowStore<ED extends EntityDict> {
7
- protected storageSchema: StorageSchema<ED>;
8
- constructor(storageSchema: StorageSchema<ED>);
9
- getSchema(): StorageSchema<ED>;
10
- mergeOperationResult(result: OperationResult<ED>, toBeMerged: OperationResult<ED>): void;
11
- mergeMultipleResults(toBeMerged: OperationResult<ED>[]): OperationResult<ED>;
12
- }
1
+ import { OperationResult, EntityDict } from './Entity';
2
+ import { StorageSchema } from './Storage';
3
+ export declare type TxnOption = {
4
+ isolationLevel: 'repeatable read' | 'serializable';
5
+ };
6
+ export declare abstract class RowStore<ED extends EntityDict> {
7
+ protected storageSchema: StorageSchema<ED>;
8
+ constructor(storageSchema: StorageSchema<ED>);
9
+ getSchema(): StorageSchema<ED>;
10
+ mergeOperationResult(result: OperationResult<ED>, toBeMerged: OperationResult<ED>): void;
11
+ mergeMultipleResults(toBeMerged: OperationResult<ED>[]): OperationResult<ED>;
12
+ }
@@ -1,34 +1,34 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.RowStore = void 0;
4
- var lodash_1 = require("../utils/lodash");
5
- var RowStore = /** @class */ (function () {
6
- function RowStore(storageSchema) {
7
- this.storageSchema = storageSchema;
8
- }
9
- RowStore.prototype.getSchema = function () {
10
- return this.storageSchema;
11
- };
12
- RowStore.prototype.mergeOperationResult = function (result, toBeMerged) {
13
- for (var entity in toBeMerged) {
14
- for (var action in toBeMerged[entity]) {
15
- var value = (0, lodash_1.get)(result, "".concat(entity, ".").concat(action));
16
- if (typeof value === 'number') {
17
- (0, lodash_1.set)(result, "".concat(entity, ".").concat(action), value + toBeMerged[entity][action]);
18
- }
19
- else {
20
- (0, lodash_1.set)(result, "".concat(entity, ".").concat(action), toBeMerged[entity][action]);
21
- }
22
- }
23
- }
24
- };
25
- RowStore.prototype.mergeMultipleResults = function (toBeMerged) {
26
- var _this = this;
27
- var result = {};
28
- toBeMerged.forEach(function (ele) { return _this.mergeOperationResult(result, ele); });
29
- return result;
30
- };
31
- return RowStore;
32
- }());
33
- exports.RowStore = RowStore;
34
- ;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RowStore = void 0;
4
+ var lodash_1 = require("../utils/lodash");
5
+ var RowStore = /** @class */ (function () {
6
+ function RowStore(storageSchema) {
7
+ this.storageSchema = storageSchema;
8
+ }
9
+ RowStore.prototype.getSchema = function () {
10
+ return this.storageSchema;
11
+ };
12
+ RowStore.prototype.mergeOperationResult = function (result, toBeMerged) {
13
+ for (var entity in toBeMerged) {
14
+ for (var action in toBeMerged[entity]) {
15
+ var value = (0, lodash_1.get)(result, "".concat(entity, ".").concat(action));
16
+ if (typeof value === 'number') {
17
+ (0, lodash_1.set)(result, "".concat(entity, ".").concat(action), value + toBeMerged[entity][action]);
18
+ }
19
+ else {
20
+ (0, lodash_1.set)(result, "".concat(entity, ".").concat(action), toBeMerged[entity][action]);
21
+ }
22
+ }
23
+ }
24
+ };
25
+ RowStore.prototype.mergeMultipleResults = function (toBeMerged) {
26
+ var _this = this;
27
+ var result = {};
28
+ toBeMerged.forEach(function (ele) { return _this.mergeOperationResult(result, ele); });
29
+ return result;
30
+ };
31
+ return RowStore;
32
+ }());
33
+ exports.RowStore = RowStore;
34
+ ;
@@ -1,56 +1,56 @@
1
- import { ActionType } from '.';
2
- import { EntityDict, EntityShape, InstinctiveAttributes } from './Entity';
3
- import { DataType, DataTypeParams } from './schema/DataTypes';
4
- export declare type Ref = 'ref';
5
- export interface Column<SH extends EntityShape> {
6
- name: keyof SH | `${string}State`;
7
- size?: number;
8
- direction?: 'ASC' | 'DESC';
9
- }
10
- export interface IndexConfig {
11
- unique?: boolean;
12
- type?: 'fulltext' | 'btree' | 'hash' | 'spatial';
13
- parser?: 'ngram';
14
- }
15
- export interface Index<SH extends EntityShape> {
16
- name: string;
17
- attributes: Column<SH>[];
18
- config?: IndexConfig;
19
- }
20
- export interface Attribute {
21
- type: DataType | Ref;
22
- params?: DataTypeParams;
23
- ref?: string;
24
- onRefDelete?: 'delete' | 'setNull' | 'ignore';
25
- default?: string | number | boolean;
26
- notNull?: boolean;
27
- unique?: boolean;
28
- sequenceStart?: number;
29
- }
30
- export declare type Attributes<SH extends EntityShape> = Omit<{
31
- [attrName in keyof SH]: Attribute;
32
- }, InstinctiveAttributes>;
33
- export interface EntityConfig {
34
- }
35
- export declare type UniqConstraint<SH extends EntityShape> = {
36
- attributes: Array<keyof SH>;
37
- type?: string;
38
- };
39
- export interface StorageDesc<SH extends EntityShape> {
40
- storageName?: string;
41
- comment?: string;
42
- attributes: Attributes<SH>;
43
- uniqueConstraints?: UniqConstraint<SH>[];
44
- indexes?: Index<SH>[];
45
- config?: EntityConfig;
46
- toModi?: true;
47
- inModi?: true;
48
- static?: true;
49
- actions: string[];
50
- actionType: ActionType;
51
- relation?: string[];
52
- view?: true;
53
- }
54
- export declare type StorageSchema<ED extends EntityDict> = {
55
- [K in keyof ED]: StorageDesc<ED[K]['OpSchema']>;
56
- };
1
+ import { ActionType } from '.';
2
+ import { EntityDict, EntityShape, InstinctiveAttributes } from './Entity';
3
+ import { DataType, DataTypeParams } from './schema/DataTypes';
4
+ export declare type Ref = 'ref';
5
+ export interface Column<SH extends EntityShape> {
6
+ name: keyof SH | `${string}State`;
7
+ size?: number;
8
+ direction?: 'ASC' | 'DESC';
9
+ }
10
+ export interface IndexConfig {
11
+ unique?: boolean;
12
+ type?: 'fulltext' | 'btree' | 'hash' | 'spatial';
13
+ parser?: 'ngram';
14
+ }
15
+ export interface Index<SH extends EntityShape> {
16
+ name: string;
17
+ attributes: Column<SH>[];
18
+ config?: IndexConfig;
19
+ }
20
+ export interface Attribute {
21
+ type: DataType | Ref;
22
+ params?: DataTypeParams;
23
+ ref?: string;
24
+ onRefDelete?: 'delete' | 'setNull' | 'ignore';
25
+ default?: string | number | boolean;
26
+ notNull?: boolean;
27
+ unique?: boolean;
28
+ sequenceStart?: number;
29
+ }
30
+ export declare type Attributes<SH extends EntityShape> = Omit<{
31
+ [attrName in keyof SH]: Attribute;
32
+ }, InstinctiveAttributes>;
33
+ export interface EntityConfig {
34
+ }
35
+ export declare type UniqConstraint<SH extends EntityShape> = {
36
+ attributes: Array<keyof SH>;
37
+ type?: string;
38
+ };
39
+ export interface StorageDesc<SH extends EntityShape> {
40
+ storageName?: string;
41
+ comment?: string;
42
+ attributes: Attributes<SH>;
43
+ uniqueConstraints?: UniqConstraint<SH>[];
44
+ indexes?: Index<SH>[];
45
+ config?: EntityConfig;
46
+ toModi?: true;
47
+ inModi?: true;
48
+ static?: true;
49
+ actions: string[];
50
+ actionType: ActionType;
51
+ relation?: string[];
52
+ view?: true;
53
+ }
54
+ export declare type StorageSchema<ED extends EntityDict> = {
55
+ [K in keyof ED]: StorageDesc<ED[K]['OpSchema']>;
56
+ };
@@ -1,2 +1,2 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -1,13 +1,13 @@
1
- import { EntityDict } from './Entity';
2
- import { AsyncContext } from "../store/AsyncRowStore";
3
- declare type RoutineFn<ED extends EntityDict, Cxt extends AsyncContext<ED>> = (context: Cxt) => Promise<string>;
4
- export declare type Routine<ED extends EntityDict, Cxt extends AsyncContext<ED>> = {
5
- name: string;
6
- fn: RoutineFn<ED, Cxt>;
7
- };
8
- export declare type Timer<ED extends EntityDict, Cxt extends AsyncContext<ED>> = {
9
- name: string;
10
- cron: string;
11
- fn: RoutineFn<ED, Cxt>;
12
- };
13
- export {};
1
+ import { EntityDict } from './Entity';
2
+ import { AsyncContext } from "../store/AsyncRowStore";
3
+ declare type RoutineFn<ED extends EntityDict, Cxt extends AsyncContext<ED>> = (context: Cxt) => Promise<string>;
4
+ export declare type Routine<ED extends EntityDict, Cxt extends AsyncContext<ED>> = {
5
+ name: string;
6
+ fn: RoutineFn<ED, Cxt>;
7
+ };
8
+ export declare type Timer<ED extends EntityDict, Cxt extends AsyncContext<ED>> = {
9
+ name: string;
10
+ cron: string;
11
+ fn: RoutineFn<ED, Cxt>;
12
+ };
13
+ export {};
@@ -1,2 +1,2 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });