oak-domain 2.5.2 → 2.6.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 (171) 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 +8 -8
  6. package/lib/base-app-domain/ActionDefDict.js +9 -9
  7. package/lib/base-app-domain/EntityDict.d.ts +14 -14
  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 +189 -189
  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 +27 -27
  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 +205 -205
  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 +27 -27
  27. package/lib/base-app-domain/Storage.d.ts +3 -3
  28. package/lib/base-app-domain/Storage.js +17 -17
  29. package/lib/base-app-domain/User/Action.d.ts +10 -10
  30. package/lib/base-app-domain/User/Action.js +12 -12
  31. package/lib/base-app-domain/User/Schema.d.ts +180 -180
  32. package/lib/base-app-domain/User/Schema.js +2 -2
  33. package/lib/base-app-domain/User/Storage.d.ts +3 -3
  34. package/lib/base-app-domain/User/Storage.js +36 -36
  35. package/lib/base-app-domain/UserEntityGrant/Schema.d.ts +121 -121
  36. package/lib/base-app-domain/UserEntityGrant/Schema.js +2 -2
  37. package/lib/base-app-domain/UserEntityGrant/Storage.d.ts +3 -3
  38. package/lib/base-app-domain/UserEntityGrant/Storage.js +28 -28
  39. package/lib/base-app-domain/_SubQuery.d.ts +44 -44
  40. package/lib/base-app-domain/_SubQuery.js +2 -2
  41. package/lib/base-app-domain/index.d.ts +3 -3
  42. package/lib/base-app-domain/index.js +6 -6
  43. package/lib/checkers/index.d.ts +5 -5
  44. package/lib/checkers/index.js +16 -16
  45. package/lib/compiler/env.d.ts +11 -11
  46. package/lib/compiler/env.js +39 -39
  47. package/lib/compiler/schemalBuilder.d.ts +2 -2
  48. package/lib/compiler/schemalBuilder.js +3355 -3355
  49. package/lib/compiler/uiBuilder.d.ts +1 -1
  50. package/lib/compiler/uiBuilder.js +3 -3
  51. package/lib/entities/Modi.d.ts +11 -11
  52. package/lib/entities/Modi.js +46 -46
  53. package/lib/entities/ModiEntity.d.ts +8 -8
  54. package/lib/entities/ModiEntity.js +15 -15
  55. package/lib/entities/Oper.d.ts +10 -10
  56. package/lib/entities/Oper.js +17 -17
  57. package/lib/entities/OperEntity.d.ts +8 -8
  58. package/lib/entities/OperEntity.js +15 -15
  59. package/lib/entities/User.d.ts +8 -8
  60. package/lib/entities/User.js +28 -28
  61. package/lib/entities/UserEntityGrant.d.ts +7 -7
  62. package/lib/entities/UserEntityGrant.js +12 -12
  63. package/lib/store/AsyncRowStore.d.ts +51 -48
  64. package/lib/store/AsyncRowStore.js +189 -183
  65. package/lib/store/CascadeStore.d.ts +91 -91
  66. package/lib/store/CascadeStore.js +1634 -1603
  67. package/lib/store/SyncRowStore.d.ts +29 -29
  68. package/lib/store/SyncRowStore.js +48 -48
  69. package/lib/store/TriggerExecutor.d.ts +32 -32
  70. package/lib/store/TriggerExecutor.js +532 -532
  71. package/lib/store/actionDef.d.ts +9 -9
  72. package/lib/store/actionDef.js +333 -333
  73. package/lib/store/checker.d.ts +26 -26
  74. package/lib/store/checker.js +829 -867
  75. package/lib/store/filter.d.ts +109 -109
  76. package/lib/store/filter.js +893 -893
  77. package/lib/store/modi.d.ts +13 -13
  78. package/lib/store/modi.js +216 -216
  79. package/lib/store/relation.d.ts +13 -13
  80. package/lib/store/relation.js +66 -66
  81. package/lib/store/selection.d.ts +19 -7
  82. package/lib/store/selection.js +265 -238
  83. package/lib/triggers/index.d.ts +6 -6
  84. package/lib/triggers/index.js +11 -11
  85. package/lib/triggers/modi.d.ts +5 -5
  86. package/lib/triggers/modi.js +72 -72
  87. package/lib/types/Action.d.ts +20 -20
  88. package/lib/types/Action.js +2 -2
  89. package/lib/types/AppLoader.d.ts +11 -11
  90. package/lib/types/AppLoader.js +10 -10
  91. package/lib/types/Aspect.d.ts +13 -12
  92. package/lib/types/Aspect.js +4 -4
  93. package/lib/types/Auth.d.ts +69 -69
  94. package/lib/types/Auth.js +2 -2
  95. package/lib/types/Connector.d.ts +27 -26
  96. package/lib/types/Connector.js +9 -9
  97. package/lib/types/Context.d.ts +7 -7
  98. package/lib/types/Context.js +3 -3
  99. package/lib/types/DataType.d.ts +18 -18
  100. package/lib/types/DataType.js +5 -5
  101. package/lib/types/Demand.d.ts +77 -77
  102. package/lib/types/Demand.js +9 -9
  103. package/lib/types/Endpoint.d.ts +11 -11
  104. package/lib/types/Endpoint.js +3 -3
  105. package/lib/types/Entity.d.ts +183 -183
  106. package/lib/types/Entity.js +14 -14
  107. package/lib/types/Exception.d.ts +100 -98
  108. package/lib/types/Exception.js +327 -283
  109. package/lib/types/Expression.d.ts +163 -163
  110. package/lib/types/Expression.js +427 -427
  111. package/lib/types/Geo.d.ts +18 -18
  112. package/lib/types/Geo.js +2 -2
  113. package/lib/types/Locale.d.ts +24 -24
  114. package/lib/types/Locale.js +2 -2
  115. package/lib/types/Logger.d.ts +5 -5
  116. package/lib/types/Logger.js +3 -3
  117. package/lib/types/Polyfill.d.ts +23 -23
  118. package/lib/types/Polyfill.js +2 -2
  119. package/lib/types/Port.d.ts +17 -17
  120. package/lib/types/Port.js +2 -2
  121. package/lib/types/RowStore.d.ts +12 -12
  122. package/lib/types/RowStore.js +34 -34
  123. package/lib/types/Storage.d.ts +56 -56
  124. package/lib/types/Storage.js +2 -2
  125. package/lib/types/Timer.d.ts +13 -13
  126. package/lib/types/Timer.js +2 -2
  127. package/lib/types/Trigger.d.ts +109 -109
  128. package/lib/types/Trigger.js +49 -49
  129. package/lib/types/Txn.d.ts +2 -2
  130. package/lib/types/Txn.js +3 -3
  131. package/lib/types/Watcher.d.ts +19 -19
  132. package/lib/types/Watcher.js +4 -4
  133. package/lib/types/index.d.ts +21 -21
  134. package/lib/types/index.js +24 -24
  135. package/lib/types/schema/DataTypes.d.ts +32 -32
  136. package/lib/types/schema/DataTypes.js +3 -3
  137. package/lib/utils/SimpleConnector.d.ts +35 -30
  138. package/lib/utils/SimpleConnector.js +134 -117
  139. package/lib/utils/assert.d.ts +5 -5
  140. package/lib/utils/assert.js +9 -9
  141. package/lib/utils/concurrent.d.ts +15 -15
  142. package/lib/utils/concurrent.js +89 -89
  143. package/lib/utils/cron.d.ts +1 -1
  144. package/lib/utils/cron.js +18 -18
  145. package/lib/utils/date.d.ts +1 -1
  146. package/lib/utils/date.js +18 -18
  147. package/lib/utils/geo.d.ts +4 -4
  148. package/lib/utils/geo.js +24 -24
  149. package/lib/utils/lodash.d.ts +20 -20
  150. package/lib/utils/lodash.js +55 -55
  151. package/lib/utils/random/random.d.ts +1 -1
  152. package/lib/utils/random/random.js +24 -24
  153. package/lib/utils/random/random.mp.d.ts +1 -1
  154. package/lib/utils/random/random.mp.js +25 -25
  155. package/lib/utils/random/random.web.d.ts +1 -1
  156. package/lib/utils/random/random.web.js +17 -17
  157. package/lib/utils/string.d.ts +22 -22
  158. package/lib/utils/string.js +70 -70
  159. package/lib/utils/url.d.ts +1 -0
  160. package/lib/utils/url.js +12 -0
  161. package/lib/utils/uuid.d.ts +12 -12
  162. package/lib/utils/uuid.js +194 -194
  163. package/lib/utils/validator.d.ts +23 -23
  164. package/lib/utils/validator.js +123 -123
  165. package/package.json +48 -48
  166. package/src/entities/Modi.ts +68 -68
  167. package/src/entities/ModiEntity.ts +24 -24
  168. package/src/entities/Oper.ts +28 -28
  169. package/src/entities/OperEntity.ts +24 -24
  170. package/src/entities/User.ts +44 -44
  171. package/src/entities/UserEntityGrant.ts +24 -24
@@ -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 | 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 | 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 });