oak-domain 4.0.1 → 4.0.3

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 (207) 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 +25 -25
  5. package/lib/base-app-domain/ActionAuth/Schema.d.ts +186 -186
  6. package/lib/base-app-domain/ActionAuth/Storage.js +39 -39
  7. package/lib/base-app-domain/ActionDefDict.d.ts +8 -8
  8. package/lib/base-app-domain/ActionDefDict.js +9 -9
  9. package/lib/base-app-domain/EntityDict.d.ts +28 -28
  10. package/lib/base-app-domain/I18n/Schema.d.ts +129 -129
  11. package/lib/base-app-domain/I18n/Schema.js +2 -2
  12. package/lib/base-app-domain/I18n/Storage.d.ts +3 -3
  13. package/lib/base-app-domain/I18n/Storage.js +59 -59
  14. package/lib/base-app-domain/Modi/Action.d.ts +10 -10
  15. package/lib/base-app-domain/Modi/Action.js +14 -14
  16. package/lib/base-app-domain/Modi/Schema.d.ts +136 -136
  17. package/lib/base-app-domain/Modi/Storage.js +63 -63
  18. package/lib/base-app-domain/ModiEntity/Schema.d.ts +384 -384
  19. package/lib/base-app-domain/ModiEntity/Storage.js +30 -30
  20. package/lib/base-app-domain/Oper/Schema.d.ts +153 -153
  21. package/lib/base-app-domain/Oper/Storage.js +38 -38
  22. package/lib/base-app-domain/OperEntity/Schema.d.ts +373 -373
  23. package/lib/base-app-domain/OperEntity/Storage.js +30 -30
  24. package/lib/base-app-domain/Path/Schema.d.ts +149 -149
  25. package/lib/base-app-domain/Path/Schema.js +2 -2
  26. package/lib/base-app-domain/Path/Storage.d.ts +3 -3
  27. package/lib/base-app-domain/Path/Storage.js +54 -54
  28. package/lib/base-app-domain/Relation/Schema.d.ts +188 -188
  29. package/lib/base-app-domain/Relation/Storage.js +54 -54
  30. package/lib/base-app-domain/Relation.d.ts +2 -2
  31. package/lib/base-app-domain/Relation.js +4 -4
  32. package/lib/base-app-domain/RelationAuth/Schema.d.ts +214 -214
  33. package/lib/base-app-domain/RelationAuth/Storage.js +44 -44
  34. package/lib/base-app-domain/Storage.js +31 -31
  35. package/lib/base-app-domain/User/Action.d.ts +10 -10
  36. package/lib/base-app-domain/User/Action.js +12 -12
  37. package/lib/base-app-domain/User/Schema.d.ts +210 -210
  38. package/lib/base-app-domain/User/Storage.js +33 -33
  39. package/lib/base-app-domain/UserEntityClaim/Schema.d.ts +264 -264
  40. package/lib/base-app-domain/UserEntityClaim/Schema.js +2 -2
  41. package/lib/base-app-domain/UserEntityClaim/Storage.d.ts +3 -3
  42. package/lib/base-app-domain/UserEntityClaim/Storage.js +37 -37
  43. package/lib/base-app-domain/UserEntityGrant/Schema.d.ts +131 -131
  44. package/lib/base-app-domain/UserEntityGrant/Storage.js +25 -25
  45. package/lib/base-app-domain/UserRelation/Schema.d.ts +208 -208
  46. package/lib/base-app-domain/UserRelation/Storage.js +56 -56
  47. package/lib/base-app-domain/_SubQuery.d.ts +142 -142
  48. package/lib/base-app-domain/index.d.ts +4 -4
  49. package/lib/base-app-domain/index.js +7 -7
  50. package/lib/checkers/index.d.ts +5 -5
  51. package/lib/checkers/index.js +13 -13
  52. package/lib/compiler/entities.d.ts +2 -2
  53. package/lib/compiler/entities.js +7 -7
  54. package/lib/compiler/env.d.ts +13 -13
  55. package/lib/compiler/env.js +45 -45
  56. package/lib/compiler/localeBuilder.d.ts +1 -1
  57. package/lib/compiler/localeBuilder.js +49 -18
  58. package/lib/compiler/routerBuilder.d.ts +1 -0
  59. package/lib/compiler/routerBuilder.js +263 -0
  60. package/lib/compiler/schemalBuilder.d.ts +27 -27
  61. package/lib/compiler/schemalBuilder.js +3565 -3565
  62. package/lib/entities/ActionAuth.d.ts +10 -10
  63. package/lib/entities/ActionAuth.js +31 -31
  64. package/lib/entities/I18n.d.ts +9 -9
  65. package/lib/entities/I18n.js +36 -36
  66. package/lib/entities/Modi.js +49 -49
  67. package/lib/entities/ModiEntity.js +18 -18
  68. package/lib/entities/Oper.js +21 -21
  69. package/lib/entities/OperEntity.js +18 -18
  70. package/lib/entities/Path.d.ts +8 -8
  71. package/lib/entities/Path.js +35 -35
  72. package/lib/entities/Relation.d.ts +8 -8
  73. package/lib/entities/Relation.js +35 -35
  74. package/lib/entities/RelationAuth.d.ts +8 -8
  75. package/lib/entities/RelationAuth.js +34 -34
  76. package/lib/entities/User.js +31 -31
  77. package/lib/entities/UserEntityClaim.d.ts +13 -13
  78. package/lib/entities/UserEntityClaim.js +17 -17
  79. package/lib/entities/UserEntityGrant.d.ts +9 -9
  80. package/lib/entities/UserEntityGrant.js +15 -15
  81. package/lib/entities/UserRelation.d.ts +10 -10
  82. package/lib/entities/UserRelation.js +38 -38
  83. package/lib/index.d.ts +23 -23
  84. package/lib/index.js +37 -37
  85. package/lib/store/AsyncRowStore.d.ts +65 -65
  86. package/lib/store/AsyncRowStore.js +9 -5
  87. package/lib/store/CascadeStore.d.ts +109 -106
  88. package/lib/store/CascadeStore.js +1748 -1740
  89. package/lib/store/RelationAuth.d.ts +7 -0
  90. package/lib/store/RelationAuth.js +11 -4
  91. package/lib/store/SyncRowStore.d.ts +29 -29
  92. package/lib/store/SyncRowStore.js +50 -50
  93. package/lib/store/TriggerExecutor.d.ts +41 -41
  94. package/lib/store/TriggerExecutor.js +468 -468
  95. package/lib/store/actionAuth.d.ts +4 -4
  96. package/lib/store/actionAuth.js +25 -25
  97. package/lib/store/actionDef.d.ts +10 -10
  98. package/lib/store/actionDef.js +278 -278
  99. package/lib/store/checker.d.ts +26 -26
  100. package/lib/store/checker.js +2 -2
  101. package/lib/store/filter.d.ts +85 -85
  102. package/lib/store/filter.js +1652 -1652
  103. package/lib/store/modi.d.ts +13 -13
  104. package/lib/store/modi.js +254 -254
  105. package/lib/store/relation.d.ts +12 -12
  106. package/lib/store/relation.js +67 -67
  107. package/lib/timers/oper.d.ts +18 -18
  108. package/lib/timers/oper.js +57 -57
  109. package/lib/timers/vaccum.d.ts +20 -20
  110. package/lib/timers/vaccum.js +111 -111
  111. package/lib/triggers/index.d.ts +5 -5
  112. package/lib/triggers/index.js +8 -8
  113. package/lib/types/Action.d.ts +20 -20
  114. package/lib/types/AppLoader.d.ts +17 -17
  115. package/lib/types/AppLoader.js +10 -10
  116. package/lib/types/Auth.d.ts +70 -70
  117. package/lib/types/Cluster.d.ts +5 -5
  118. package/lib/types/Cluster.js +2 -2
  119. package/lib/types/Connector.d.ts +38 -38
  120. package/lib/types/Connector.js +2 -2
  121. package/lib/types/DataType.d.ts +25 -25
  122. package/lib/types/DataType.js +6 -6
  123. package/lib/types/Demand.d.ts +89 -89
  124. package/lib/types/Demand.js +10 -10
  125. package/lib/types/Endpoint.d.ts +11 -11
  126. package/lib/types/Entity.d.ts +209 -209
  127. package/lib/types/Entity.js +15 -15
  128. package/lib/types/EntityDesc.d.ts +9 -9
  129. package/lib/types/EntityDesc.js +2 -2
  130. package/lib/types/Environment.d.ts +90 -90
  131. package/lib/types/Environment.js +2 -2
  132. package/lib/types/Exception.d.ts +10 -2
  133. package/lib/types/Exception.js +32 -2
  134. package/lib/types/Expression.d.ts +163 -163
  135. package/lib/types/Expression.js +397 -397
  136. package/lib/types/Geo.d.ts +18 -18
  137. package/lib/types/Locale.d.ts +25 -25
  138. package/lib/types/Logger.d.ts +6 -6
  139. package/lib/types/Polyfill.d.ts +24 -24
  140. package/lib/types/Port.d.ts +18 -18
  141. package/lib/types/RowStore.d.ts +19 -19
  142. package/lib/types/RowStore.js +33 -33
  143. package/lib/types/Storage.d.ts +58 -58
  144. package/lib/types/Style.d.ts +11 -11
  145. package/lib/types/Timer.d.ts +20 -20
  146. package/lib/types/Trigger.d.ts +118 -118
  147. package/lib/types/Trigger.js +35 -35
  148. package/lib/types/Watcher.d.ts +19 -19
  149. package/lib/types/index.d.ts +26 -26
  150. package/lib/types/index.js +29 -29
  151. package/lib/types/schema/DataTypes.d.ts +34 -34
  152. package/lib/utils/SimpleConnector.d.ts +64 -64
  153. package/lib/utils/SimpleConnector.js +206 -206
  154. package/lib/utils/assert.d.ts +6 -5
  155. package/lib/utils/assert.js +9 -9
  156. package/lib/utils/concurrent.d.ts +15 -15
  157. package/lib/utils/concurrent.js +63 -63
  158. package/lib/utils/date.js +18 -18
  159. package/lib/utils/domain.d.ts +1 -1
  160. package/lib/utils/domain.js +11 -11
  161. package/lib/utils/geo.js +24 -24
  162. package/lib/utils/lodash.d.ts +24 -24
  163. package/lib/utils/lodash.js +46 -46
  164. package/lib/utils/mask.js +34 -34
  165. package/lib/utils/money.d.ts +6 -6
  166. package/lib/utils/money.js +51 -51
  167. package/lib/utils/projection.d.ts +4 -4
  168. package/lib/utils/projection.js +15 -15
  169. package/lib/utils/random/random.js +19 -19
  170. package/lib/utils/random/random.mp.js +14 -14
  171. package/lib/utils/random/random.native.d.ts +1 -1
  172. package/lib/utils/random/random.native.js +14 -14
  173. package/lib/utils/random/random.web.js +11 -11
  174. package/lib/utils/string.d.ts +28 -28
  175. package/lib/utils/string.js +69 -69
  176. package/lib/utils/url/index.d.ts +7 -7
  177. package/lib/utils/url/index.js +8 -8
  178. package/lib/utils/url/index.mp.d.ts +3 -3
  179. package/lib/utils/url/index.mp.js +8 -8
  180. package/lib/utils/url/index.native.d.ts +12 -12
  181. package/lib/utils/url/index.native.js +7 -7
  182. package/lib/utils/url/index.web.d.ts +12 -12
  183. package/lib/utils/url/index.web.js +7 -7
  184. package/lib/utils/url/whatwg-url/index.d.ts +3 -3
  185. package/lib/utils/url/whatwg-url/index.js +16 -16
  186. package/lib/utils/url/whatwg-url/lib/URL-impl.d.ts +20 -20
  187. package/lib/utils/url/whatwg-url/lib/URL-impl.js +175 -175
  188. package/lib/utils/url/whatwg-url/lib/URL.d.ts +1 -1
  189. package/lib/utils/url/whatwg-url/lib/URL.js +298 -298
  190. package/lib/utils/url/whatwg-url/lib/URLSearchParams-impl.d.ts +19 -19
  191. package/lib/utils/url/whatwg-url/lib/URLSearchParams-impl.js +126 -126
  192. package/lib/utils/url/whatwg-url/lib/URLSearchParams.d.ts +1 -1
  193. package/lib/utils/url/whatwg-url/lib/URLSearchParams.js +426 -426
  194. package/lib/utils/url/whatwg-url/lib/infra.d.ts +12 -12
  195. package/lib/utils/url/whatwg-url/lib/infra.js +25 -25
  196. package/lib/utils/url/whatwg-url/lib/url-state-machine.d.ts +24 -24
  197. package/lib/utils/url/whatwg-url/lib/url-state-machine.js +1238 -1238
  198. package/lib/utils/url/whatwg-url/lib/urlencoded.d.ts +15 -15
  199. package/lib/utils/url/whatwg-url/lib/urlencoded.js +162 -162
  200. package/lib/utils/url/whatwg-url/lib/utils.d.ts +37 -37
  201. package/lib/utils/url/whatwg-url/lib/utils.js +101 -101
  202. package/lib/utils/uuid.d.ts +17 -17
  203. package/lib/utils/uuid.js +218 -218
  204. package/lib/utils/validator.d.ts +26 -26
  205. package/lib/utils/validator.js +131 -131
  206. package/lib/utils/version.js +21 -21
  207. package/package.json +2 -1
@@ -1,18 +1,18 @@
1
- export type Point = [number, number];
2
- export type Path = Array<Point>;
3
- export type Polygon = Array<Path>;
4
- export type Circle = [Point, number];
5
- export 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 type Geo = SingleGeo | SingleGeo[];
1
+ export type Point = [number, number];
2
+ export type Path = Array<Point>;
3
+ export type Polygon = Array<Path>;
4
+ export type Circle = [Point, number];
5
+ export 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 type Geo = SingleGeo | SingleGeo[];
@@ -1,25 +1,25 @@
1
- import { EntityShape } from "./Entity";
2
- type Language = 'zh_CN' | 'en_US';
3
- type LocaleOfSchema<S extends Record<string, any>> = {
4
- [A in keyof Required<Omit<S, keyof EntityShape>>]: string;
5
- };
6
- type LocaleOfStringEnum<A extends string> = {
7
- [K in A]: string;
8
- };
9
- type LocaleOfValue<V extends Record<string, string>> = {
10
- [K in keyof V]: {
11
- [K2 in V[K]]: string;
12
- };
13
- };
14
- export type LocaleDef<Sc extends Record<string, any>, Ac extends string, R extends string, V extends Record<string, string>> = {
15
- [L in Language]?: {
16
- name: string;
17
- attr: LocaleOfSchema<Sc> & {
18
- [A in keyof V]: string;
19
- };
20
- action?: LocaleOfStringEnum<Ac>;
21
- r?: LocaleOfStringEnum<R>;
22
- v?: LocaleOfValue<V>;
23
- };
24
- };
25
- export {};
1
+ import { EntityShape } from "./Entity";
2
+ type Language = 'zh_CN' | 'en_US';
3
+ type LocaleOfSchema<S extends Record<string, any>> = {
4
+ [A in keyof Required<Omit<S, keyof EntityShape>>]: string;
5
+ };
6
+ type LocaleOfStringEnum<A extends string> = {
7
+ [K in A]: string;
8
+ };
9
+ type LocaleOfValue<V extends Record<string, string>> = {
10
+ [K in keyof V]: {
11
+ [K2 in V[K]]: string;
12
+ };
13
+ };
14
+ export type LocaleDef<Sc extends Record<string, any>, Ac extends string, R extends string, V extends Record<string, string>> = {
15
+ [L in Language]?: {
16
+ name: string;
17
+ attr: LocaleOfSchema<Sc> & {
18
+ [A in keyof V]: string;
19
+ };
20
+ action?: LocaleOfStringEnum<Ac>;
21
+ r?: LocaleOfStringEnum<R>;
22
+ v?: LocaleOfValue<V>;
23
+ };
24
+ };
25
+ export {};
@@ -1,6 +1,6 @@
1
- export interface Logger {
2
- error(...data: any[]): void;
3
- info(...data: any[]): void;
4
- log(...data: any[]): void;
5
- warn(...data: any[]): void;
6
- }
1
+ export interface Logger {
2
+ error(...data: any[]): void;
3
+ info(...data: any[]): void;
4
+ log(...data: any[]): void;
5
+ warn(...data: any[]): void;
6
+ }
@@ -1,24 +1,24 @@
1
- export type OmitInferKey<T, R> = {
2
- [K in keyof T as T extends R ? never : K]: T[K];
3
- };
4
- export type OmitInferValue<T, R> = {
5
- [K in keyof T as T extends R ? never : K]: T[K];
6
- };
7
- export type ValueOf<Obj> = Obj[keyof Obj];
8
- export type OneOnly<Obj, Key extends keyof Obj> = {
9
- [key in Exclude<keyof Obj, Key>]?: undefined;
10
- } & Pick<Obj, Key>;
11
- export type OneOfByKey<Obj> = {
12
- [key in keyof Obj]: OneOnly<Obj, key>;
13
- };
14
- export type OneOf<Obj> = ValueOf<OneOfByKey<Obj>>;
15
- 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 type OptionalKeys<T> = {
21
- [K in keyof T]: IsOptional<T, K>;
22
- }[keyof T];
23
- export type SyncOrAsync<T> = T | Promise<T>;
24
- export {};
1
+ export type OmitInferKey<T, R> = {
2
+ [K in keyof T as T extends R ? never : K]: T[K];
3
+ };
4
+ export type OmitInferValue<T, R> = {
5
+ [K in keyof T as T extends R ? never : K]: T[K];
6
+ };
7
+ export type ValueOf<Obj> = Obj[keyof Obj];
8
+ export type OneOnly<Obj, Key extends keyof Obj> = {
9
+ [key in Exclude<keyof Obj, Key>]?: undefined;
10
+ } & Pick<Obj, Key>;
11
+ export type OneOfByKey<Obj> = {
12
+ [key in keyof Obj]: OneOnly<Obj, key>;
13
+ };
14
+ export type OneOf<Obj> = ValueOf<OneOfByKey<Obj>>;
15
+ 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 type OptionalKeys<T> = {
21
+ [K in keyof T]: IsOptional<T, K>;
22
+ }[keyof T];
23
+ export type SyncOrAsync<T> = T | Promise<T>;
24
+ export {};
@@ -1,18 +1,18 @@
1
- import { AsyncContext } from "../store/AsyncRowStore";
2
- import { EntityDict } from "./Entity";
3
- export type Exportation<ED extends EntityDict, T extends keyof ED, K extends string, Cxt extends AsyncContext<ED>> = {
4
- name: string;
5
- id: string;
6
- entity: T;
7
- projection: ED[T]['Selection']['data'];
8
- headers?: K[];
9
- makeHeaders?: (dataList: Partial<ED[T]['Schema']>[]) => string[];
10
- fn: (data: ED[T]['Schema'], context?: Cxt, properties?: Record<string, any>) => Promise<Partial<Record<string, string | number | boolean | null>>> | Partial<Record<string, string | number | boolean | null>>;
11
- };
12
- export type Importation<ED extends EntityDict, T extends keyof ED, K extends string, Cxt extends AsyncContext<ED>> = {
13
- name: string;
14
- id: string;
15
- entity: T;
16
- headers: K[];
17
- fn: (data: Partial<Record<K, string | number | boolean>>[], context: Cxt, option?: Record<string, any>) => Promise<ED[T]['CreateMulti']['data']>;
18
- };
1
+ import { AsyncContext } from "../store/AsyncRowStore";
2
+ import { EntityDict } from "./Entity";
3
+ export type Exportation<ED extends EntityDict, T extends keyof ED, K extends string, Cxt extends AsyncContext<ED>> = {
4
+ name: string;
5
+ id: string;
6
+ entity: T;
7
+ projection: ED[T]['Selection']['data'];
8
+ headers?: K[];
9
+ makeHeaders?: (dataList: Partial<ED[T]['Schema']>[]) => string[];
10
+ fn: (data: ED[T]['Schema'], context?: Cxt, properties?: Record<string, any>) => Promise<Partial<Record<string, string | number | boolean | null>>> | Partial<Record<string, string | number | boolean | null>>;
11
+ };
12
+ export type Importation<ED extends EntityDict, T extends keyof ED, K extends string, Cxt extends AsyncContext<ED>> = {
13
+ name: string;
14
+ id: string;
15
+ entity: T;
16
+ headers: K[];
17
+ fn: (data: Partial<Record<K, string | number | boolean>>[], context: Cxt, option?: Record<string, any>) => Promise<ED[T]['CreateMulti']['data']>;
18
+ };
@@ -1,19 +1,19 @@
1
- import { OperationResult, EntityDict } from './Entity';
2
- import { StorageSchema } from './Storage';
3
- import { AsyncContext } from '../store/AsyncRowStore';
4
- import { SyncContext } from '../store/SyncRowStore';
5
- import { OperateOption, SelectOption } from '.';
6
- export type TxnOption = {
7
- isolationLevel: 'repeatable read' | 'serializable';
8
- };
9
- export type SelectionRewriter<ED extends EntityDict, Cxt extends AsyncContext<ED> | SyncContext<ED>, Op extends SelectOption> = (schema: StorageSchema<ED>, entity: keyof ED, selection: ED[keyof ED]['Selection'] | ED[keyof ED]['Aggregation'], context: Cxt, option: Op, isAggr?: true) => void | Promise<void>;
10
- export type OperationRewriter<ED extends EntityDict, Cxt extends AsyncContext<ED> | SyncContext<ED>, Op extends OperateOption> = (schema: StorageSchema<ED>, entity: keyof ED, operate: ED[keyof ED]['Operation'], context: Cxt, option: Op) => void | Promise<void>;
11
- export declare abstract class RowStore<ED extends EntityDict> {
12
- protected storageSchema: StorageSchema<ED>;
13
- constructor(storageSchema: StorageSchema<ED>);
14
- abstract registerOperationRewriter(rewriter: OperationRewriter<ED, AsyncContext<ED> | SyncContext<ED>, SelectOption>): void;
15
- abstract registerSelectionRewriter(rewriter: SelectionRewriter<ED, AsyncContext<ED> | SyncContext<ED>, OperateOption>): void;
16
- getSchema(): StorageSchema<ED>;
17
- mergeOperationResult(result: OperationResult<ED>, toBeMerged: OperationResult<ED>): void;
18
- mergeMultipleResults(toBeMerged: OperationResult<ED>[]): OperationResult<ED>;
19
- }
1
+ import { OperationResult, EntityDict } from './Entity';
2
+ import { StorageSchema } from './Storage';
3
+ import { AsyncContext } from '../store/AsyncRowStore';
4
+ import { SyncContext } from '../store/SyncRowStore';
5
+ import { OperateOption, SelectOption } from '.';
6
+ export type TxnOption = {
7
+ isolationLevel: 'repeatable read' | 'serializable';
8
+ };
9
+ export type SelectionRewriter<ED extends EntityDict, Cxt extends AsyncContext<ED> | SyncContext<ED>, Op extends SelectOption> = (schema: StorageSchema<ED>, entity: keyof ED, selection: ED[keyof ED]['Selection'] | ED[keyof ED]['Aggregation'], context: Cxt, option: Op, isAggr?: true) => void | Promise<void>;
10
+ export type OperationRewriter<ED extends EntityDict, Cxt extends AsyncContext<ED> | SyncContext<ED>, Op extends OperateOption> = (schema: StorageSchema<ED>, entity: keyof ED, operate: ED[keyof ED]['Operation'], context: Cxt, option: Op) => void | Promise<void>;
11
+ export declare abstract class RowStore<ED extends EntityDict> {
12
+ protected storageSchema: StorageSchema<ED>;
13
+ constructor(storageSchema: StorageSchema<ED>);
14
+ abstract registerOperationRewriter(rewriter: OperationRewriter<ED, AsyncContext<ED> | SyncContext<ED>, SelectOption>): void;
15
+ abstract registerSelectionRewriter(rewriter: SelectionRewriter<ED, AsyncContext<ED> | SyncContext<ED>, OperateOption>): void;
16
+ getSchema(): StorageSchema<ED>;
17
+ mergeOperationResult(result: OperationResult<ED>, toBeMerged: OperationResult<ED>): void;
18
+ mergeMultipleResults(toBeMerged: OperationResult<ED>[]): OperationResult<ED>;
19
+ }
@@ -1,33 +1,33 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.RowStore = void 0;
4
- const lodash_1 = require("../utils/lodash");
5
- class RowStore {
6
- storageSchema;
7
- constructor(storageSchema) {
8
- this.storageSchema = storageSchema;
9
- }
10
- getSchema() {
11
- return this.storageSchema;
12
- }
13
- mergeOperationResult(result, toBeMerged) {
14
- for (const entity in toBeMerged) {
15
- for (const action in toBeMerged[entity]) {
16
- const value = (0, lodash_1.get)(result, `${entity}.${action}`);
17
- if (typeof value === 'number') {
18
- (0, lodash_1.set)(result, `${entity}.${action}`, value + toBeMerged[entity][action]);
19
- }
20
- else {
21
- (0, lodash_1.set)(result, `${entity}.${action}`, toBeMerged[entity][action]);
22
- }
23
- }
24
- }
25
- }
26
- mergeMultipleResults(toBeMerged) {
27
- const result = {};
28
- toBeMerged.forEach(ele => this.mergeOperationResult(result, ele));
29
- return result;
30
- }
31
- }
32
- exports.RowStore = RowStore;
33
- ;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RowStore = void 0;
4
+ const lodash_1 = require("../utils/lodash");
5
+ class RowStore {
6
+ storageSchema;
7
+ constructor(storageSchema) {
8
+ this.storageSchema = storageSchema;
9
+ }
10
+ getSchema() {
11
+ return this.storageSchema;
12
+ }
13
+ mergeOperationResult(result, toBeMerged) {
14
+ for (const entity in toBeMerged) {
15
+ for (const action in toBeMerged[entity]) {
16
+ const value = (0, lodash_1.get)(result, `${entity}.${action}`);
17
+ if (typeof value === 'number') {
18
+ (0, lodash_1.set)(result, `${entity}.${action}`, value + toBeMerged[entity][action]);
19
+ }
20
+ else {
21
+ (0, lodash_1.set)(result, `${entity}.${action}`, toBeMerged[entity][action]);
22
+ }
23
+ }
24
+ }
25
+ }
26
+ mergeMultipleResults(toBeMerged) {
27
+ const result = {};
28
+ toBeMerged.forEach(ele => this.mergeOperationResult(result, ele));
29
+ return result;
30
+ }
31
+ }
32
+ exports.RowStore = RowStore;
33
+ ;
@@ -1,58 +1,58 @@
1
- import { ActionType } from '.';
2
- import { EntityDict, EntityShape, InstinctiveAttributes } from './Entity';
3
- import { DataType, DataTypeParams } from './schema/DataTypes';
4
- export 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
- enumeration?: string[];
30
- }
31
- export type Attributes<SH extends EntityShape> = Omit<{
32
- [attrName in keyof SH]: Attribute;
33
- }, InstinctiveAttributes>;
34
- export interface EntityConfig {
35
- }
36
- export type UniqConstraint<SH extends EntityShape> = {
37
- attributes: Array<keyof SH>;
38
- type?: string;
39
- };
40
- export interface StorageDesc<SH extends EntityShape> {
41
- storageName?: string;
42
- comment?: string;
43
- attributes: Attributes<SH>;
44
- uniqueConstraints?: UniqConstraint<SH>[];
45
- indexes?: Index<SH>[];
46
- config?: EntityConfig;
47
- toModi?: true;
48
- inModi?: true;
49
- static?: true;
50
- actions: string[];
51
- actionType: ActionType;
52
- relation?: string[];
53
- view?: true;
54
- recursiveDepth?: number;
55
- }
56
- export type StorageSchema<ED extends EntityDict> = {
57
- [K in keyof ED]: StorageDesc<ED[K]['OpSchema']>;
58
- };
1
+ import { ActionType } from '.';
2
+ import { EntityDict, EntityShape, InstinctiveAttributes } from './Entity';
3
+ import { DataType, DataTypeParams } from './schema/DataTypes';
4
+ export 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
+ enumeration?: string[];
30
+ }
31
+ export type Attributes<SH extends EntityShape> = Omit<{
32
+ [attrName in keyof SH]: Attribute;
33
+ }, InstinctiveAttributes>;
34
+ export interface EntityConfig {
35
+ }
36
+ export type UniqConstraint<SH extends EntityShape> = {
37
+ attributes: Array<keyof SH>;
38
+ type?: string;
39
+ };
40
+ export interface StorageDesc<SH extends EntityShape> {
41
+ storageName?: string;
42
+ comment?: string;
43
+ attributes: Attributes<SH>;
44
+ uniqueConstraints?: UniqConstraint<SH>[];
45
+ indexes?: Index<SH>[];
46
+ config?: EntityConfig;
47
+ toModi?: true;
48
+ inModi?: true;
49
+ static?: true;
50
+ actions: string[];
51
+ actionType: ActionType;
52
+ relation?: string[];
53
+ view?: true;
54
+ recursiveDepth?: number;
55
+ }
56
+ export type StorageSchema<ED extends EntityDict> = {
57
+ [K in keyof ED]: StorageDesc<ED[K]['OpSchema']>;
58
+ };
@@ -1,11 +1,11 @@
1
- import { EntityDict } from './Entity';
2
- import { EntityDict as BaseEntityDict } from '../base-app-domain';
3
- type ThemeColor = 'default' | 'success' | 'warning' | 'error' | 'primary' | 'danger';
4
- export type ColorDict<ED extends BaseEntityDict & EntityDict> = {
5
- [T in keyof ED]?: {
6
- [A in keyof ED[T]['OpSchema']]?: {
7
- [E in ED[T]['OpSchema'][A]]?: ThemeColor | `#${string}`;
8
- };
9
- };
10
- };
11
- export {};
1
+ import { EntityDict } from './Entity';
2
+ import { EntityDict as BaseEntityDict } from '../base-app-domain';
3
+ type ThemeColor = 'default' | 'success' | 'warning' | 'error' | 'primary' | 'danger';
4
+ export type ColorDict<ED extends BaseEntityDict & EntityDict> = {
5
+ [T in keyof ED]?: {
6
+ [A in keyof ED[T]['OpSchema']]?: {
7
+ [E in ED[T]['OpSchema'][A]]?: ThemeColor | `#${string}`;
8
+ };
9
+ };
10
+ };
11
+ export {};
@@ -1,20 +1,20 @@
1
- import { RecurrenceRule, RecurrenceSpecDateRange, RecurrenceSpecObjLit } from 'node-schedule';
2
- import { EntityDict } from './Entity';
3
- import { AsyncContext } from '../store/AsyncRowStore';
4
- import { Watcher } from './Watcher';
5
- import { OperationResult } from '.';
6
- type FreeOperateFn<ED extends EntityDict, Cxt extends AsyncContext<ED>> = (context: Cxt) => Promise<OperationResult<ED>>;
7
- export type FreeRoutine<ED extends EntityDict, Cxt extends AsyncContext<ED>> = {
8
- name: string;
9
- routine: FreeOperateFn<ED, Cxt>;
10
- };
11
- export type FreeTimer<ED extends EntityDict, Cxt extends AsyncContext<ED>> = {
12
- name: string;
13
- cron: RecurrenceRule | RecurrenceSpecDateRange | RecurrenceSpecObjLit | Date | string | number;
14
- timer: FreeOperateFn<ED, Cxt>;
15
- };
16
- export type Routine<ED extends EntityDict, T extends keyof ED, Cxt extends AsyncContext<ED>> = FreeRoutine<ED, Cxt> | Watcher<ED, T, Cxt>;
17
- export type Timer<ED extends EntityDict, T extends keyof ED, Cxt extends AsyncContext<ED>> = FreeTimer<ED, Cxt> | Watcher<ED, T, Cxt> & {
18
- cron: RecurrenceRule | RecurrenceSpecDateRange | RecurrenceSpecObjLit | Date | string | number;
19
- };
20
- export {};
1
+ import { RecurrenceRule, RecurrenceSpecDateRange, RecurrenceSpecObjLit } from 'node-schedule';
2
+ import { EntityDict } from './Entity';
3
+ import { AsyncContext } from '../store/AsyncRowStore';
4
+ import { Watcher } from './Watcher';
5
+ import { OperationResult } from '.';
6
+ type FreeOperateFn<ED extends EntityDict, Cxt extends AsyncContext<ED>> = (context: Cxt) => Promise<OperationResult<ED>>;
7
+ export type FreeRoutine<ED extends EntityDict, Cxt extends AsyncContext<ED>> = {
8
+ name: string;
9
+ routine: FreeOperateFn<ED, Cxt>;
10
+ };
11
+ export type FreeTimer<ED extends EntityDict, Cxt extends AsyncContext<ED>> = {
12
+ name: string;
13
+ cron: RecurrenceRule | RecurrenceSpecDateRange | RecurrenceSpecObjLit | Date | string | number;
14
+ timer: FreeOperateFn<ED, Cxt>;
15
+ };
16
+ export type Routine<ED extends EntityDict, T extends keyof ED, Cxt extends AsyncContext<ED>> = FreeRoutine<ED, Cxt> | Watcher<ED, T, Cxt>;
17
+ export type Timer<ED extends EntityDict, T extends keyof ED, Cxt extends AsyncContext<ED>> = FreeTimer<ED, Cxt> | Watcher<ED, T, Cxt> & {
18
+ cron: RecurrenceRule | RecurrenceSpecDateRange | RecurrenceSpecObjLit | Date | string | number;
19
+ };
20
+ export {};