oak-domain 2.3.2 → 2.4.1

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 -1
  4. package/lib/actions/relation.js +38 -2
  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 -148
  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 -164
  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 -146
  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 -180
  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 -130
  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 -13
  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 +3301 -3245
  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 +1594 -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 -508
  63. package/lib/store/actionDef.d.ts +9 -9
  64. package/lib/store/actionDef.js +135 -135
  65. package/lib/store/checker.d.ts +13 -7
  66. package/lib/store/checker.js +498 -391
  67. package/lib/store/filter.d.ts +109 -100
  68. package/lib/store/filter.js +893 -878
  69. package/lib/store/modi.d.ts +13 -13
  70. package/lib/store/modi.js +198 -206
  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 -14
  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 -0
  96. package/lib/types/Endpoint.js +3 -0
  97. package/lib/types/Entity.d.ts +176 -190
  98. package/lib/types/Entity.js +14 -15
  99. package/lib/types/Exception.d.ts +88 -83
  100. package/lib/types/Exception.js +267 -252
  101. package/lib/types/Expression.d.ts +163 -141
  102. package/lib/types/Expression.js +427 -402
  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 -0
  112. package/lib/types/Port.js +2 -0
  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 -19
  126. package/lib/types/index.js +24 -22
  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 -0
  138. package/lib/utils/date.js +18 -0
  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,16 +1,16 @@
1
- import { ActionDef } from '../types/Action';
2
- export declare type ReadOnlyAction = 'select' | 'count' | 'stat' | 'download';
3
- export declare type AppendOnlyAction = ReadOnlyAction | 'create';
4
- export declare type ExcludeUpdateAction = AppendOnlyAction | 'remove';
5
- export declare type ExcludeRemoveAction = AppendOnlyAction | 'update';
6
- export declare type GenericAction = 'update' | ExcludeUpdateAction;
7
- export declare type RelationAction = 'grant' | 'revoke';
8
- export declare const readOnlyActions: string[];
9
- export declare const appendOnlyActions: string[];
10
- export declare const excludeUpdateActions: string[];
11
- export declare const exludeRemoveActions: string[];
12
- export declare const genericActions: string[];
13
- export declare const relationActions: string[];
14
- export declare type AbleAction = 'enable' | 'disable';
15
- export declare type AbleState = 'enabled' | 'disabled';
16
- export declare const makeAbleActionDef: (initialState?: AbleState) => ActionDef<AbleAction, AbleState>;
1
+ import { ActionDef } from '../types/Action';
2
+ export type ReadOnlyAction = 'select' | 'count' | 'stat' | 'download';
3
+ export type AppendOnlyAction = ReadOnlyAction | 'create';
4
+ export type ExcludeUpdateAction = AppendOnlyAction | 'remove';
5
+ export type ExcludeRemoveAction = AppendOnlyAction | 'update';
6
+ export type GenericAction = 'update' | ExcludeUpdateAction;
7
+ export type RelationAction = 'grant' | 'revoke';
8
+ export declare const readOnlyActions: string[];
9
+ export declare const appendOnlyActions: string[];
10
+ export declare const excludeUpdateActions: string[];
11
+ export declare const exludeRemoveActions: string[];
12
+ export declare const genericActions: string[];
13
+ export declare const relationActions: string[];
14
+ export type AbleAction = 'enable' | 'disable';
15
+ export type AbleState = 'enabled' | 'disabled';
16
+ export declare const makeAbleActionDef: (initialState?: AbleState) => ActionDef<AbleAction, AbleState>;
@@ -1,17 +1,17 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.makeAbleActionDef = exports.relationActions = exports.genericActions = exports.exludeRemoveActions = exports.excludeUpdateActions = exports.appendOnlyActions = exports.readOnlyActions = void 0;
4
- exports.readOnlyActions = ['count', 'stat', 'download', 'select'];
5
- exports.appendOnlyActions = exports.readOnlyActions.concat('create');
6
- exports.excludeUpdateActions = exports.appendOnlyActions.concat('remove');
7
- exports.exludeRemoveActions = exports.appendOnlyActions.concat('update');
8
- exports.genericActions = exports.excludeUpdateActions.concat('update');
9
- exports.relationActions = ['grant', 'revoke'];
10
- var makeAbleActionDef = function (initialState) { return ({
11
- stm: {
12
- enable: ['disabled', 'enabled'],
13
- disable: ['enabled', 'disabled'],
14
- },
15
- is: initialState,
16
- }); };
17
- exports.makeAbleActionDef = makeAbleActionDef;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.makeAbleActionDef = exports.relationActions = exports.genericActions = exports.exludeRemoveActions = exports.excludeUpdateActions = exports.appendOnlyActions = exports.readOnlyActions = void 0;
4
+ exports.readOnlyActions = ['count', 'stat', 'download', 'select'];
5
+ exports.appendOnlyActions = exports.readOnlyActions.concat('create');
6
+ exports.excludeUpdateActions = exports.appendOnlyActions.concat('remove');
7
+ exports.exludeRemoveActions = exports.appendOnlyActions.concat('update');
8
+ exports.genericActions = exports.excludeUpdateActions.concat('update');
9
+ exports.relationActions = ['grant', 'revoke'];
10
+ var makeAbleActionDef = function (initialState) { return ({
11
+ stm: {
12
+ enable: ['disabled', 'enabled'],
13
+ disable: ['enabled', 'disabled'],
14
+ },
15
+ is: initialState,
16
+ }); };
17
+ exports.makeAbleActionDef = makeAbleActionDef;
@@ -1 +1,5 @@
1
- export declare type GenericRelation = 'owner';
1
+ import { CascadeRelationItem, RelationHierarchy } from "../types/Entity";
2
+ export type GenericRelation = 'owner';
3
+ export declare function convertHierarchyToAuth<R extends string>(hierarchy: RelationHierarchy<R>): {
4
+ [K in R]?: CascadeRelationItem;
5
+ };
@@ -1,2 +1,38 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.convertHierarchyToAuth = void 0;
4
+ var tslib_1 = require("tslib");
5
+ function convertHierarchyToAuth(hierarchy) {
6
+ var e_1, _a;
7
+ var _b;
8
+ var reverseHierarchy = {};
9
+ for (var r in hierarchy) {
10
+ try {
11
+ for (var _c = (e_1 = void 0, tslib_1.__values(hierarchy[r])), _d = _c.next(); !_d.done; _d = _c.next()) {
12
+ var r2 = _d.value;
13
+ if (reverseHierarchy[r2]) {
14
+ (_b = reverseHierarchy[r2]) === null || _b === void 0 ? void 0 : _b.push(r);
15
+ }
16
+ else {
17
+ reverseHierarchy[r2] = [r];
18
+ }
19
+ }
20
+ }
21
+ catch (e_1_1) { e_1 = { error: e_1_1 }; }
22
+ finally {
23
+ try {
24
+ if (_d && !_d.done && (_a = _c.return)) _a.call(_c);
25
+ }
26
+ finally { if (e_1) throw e_1.error; }
27
+ }
28
+ }
29
+ var result = {};
30
+ for (var r in reverseHierarchy) {
31
+ result[r] = {
32
+ cascadePath: '',
33
+ relations: reverseHierarchy[r],
34
+ };
35
+ }
36
+ return result;
37
+ }
38
+ exports.convertHierarchyToAuth = convertHierarchyToAuth;
@@ -1,5 +1,5 @@
1
- export declare const ActionDefDict: {
2
- modi: {
3
- iState: import("../types").ActionDef<import("./Modi/Action").IAction, import("./Modi/Action").IState>;
4
- };
5
- };
1
+ export declare const ActionDefDict: {
2
+ modi: {
3
+ iState: import("../types").ActionDef<import("./Modi/Action").IAction, import("./Modi/Action").IState>;
4
+ };
5
+ };
@@ -1,7 +1,7 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ActionDefDict = void 0;
4
- var Action_1 = require("./Modi/Action");
5
- exports.ActionDefDict = {
6
- modi: Action_1.ActionDefDict
7
- };
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ActionDefDict = void 0;
4
+ var Action_1 = require("./Modi/Action");
5
+ exports.ActionDefDict = {
6
+ modi: Action_1.ActionDefDict
7
+ };
@@ -1,12 +1,12 @@
1
- import { EntityDef as Modi } from "./Modi/Schema";
2
- import { EntityDef as ModiEntity } from "./ModiEntity/Schema";
3
- import { EntityDef as Oper } from "./Oper/Schema";
4
- import { EntityDef as OperEntity } from "./OperEntity/Schema";
5
- import { EntityDef as User } from "./User/Schema";
6
- export declare type EntityDict = {
7
- modi: Modi;
8
- modiEntity: ModiEntity;
9
- oper: Oper;
10
- operEntity: OperEntity;
11
- user: User;
12
- };
1
+ import { EntityDef as Modi } from "./Modi/Schema";
2
+ import { EntityDef as ModiEntity } from "./ModiEntity/Schema";
3
+ import { EntityDef as Oper } from "./Oper/Schema";
4
+ import { EntityDef as OperEntity } from "./OperEntity/Schema";
5
+ import { EntityDef as User } from "./User/Schema";
6
+ export type EntityDict = {
7
+ modi: Modi;
8
+ modiEntity: ModiEntity;
9
+ oper: Oper;
10
+ operEntity: OperEntity;
11
+ user: User;
12
+ };
@@ -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,10 +1,10 @@
1
- import { ActionDef } from "../../types/Action";
2
- import { GenericAction } from "../../actions/action";
3
- export declare type IState = 'active' | 'applied' | 'abandoned';
4
- export declare type IAction = 'apply' | 'abandon';
5
- export declare type ParticularAction = IAction;
6
- export declare type Action = GenericAction | ParticularAction;
7
- export declare const actions: string[];
8
- export declare const ActionDefDict: {
9
- iState: ActionDef<IAction, IState>;
10
- };
1
+ import { ActionDef } from "../../types/Action";
2
+ import { GenericAction } from "../../actions/action";
3
+ export type IState = 'active' | 'applied' | 'abandoned';
4
+ export type IAction = 'apply' | 'abandon';
5
+ export type ParticularAction = IAction;
6
+ export type Action = GenericAction | ParticularAction;
7
+ export declare const actions: string[];
8
+ export declare const ActionDefDict: {
9
+ iState: ActionDef<IAction, IState>;
10
+ };
@@ -1,14 +1,14 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ActionDefDict = exports.actions = void 0;
4
- var IActionDef = {
5
- stm: {
6
- apply: ['active', 'applied'],
7
- abandon: ['active', 'abandoned']
8
- },
9
- is: 'active'
10
- };
11
- exports.actions = ["count", "stat", "download", "select", "create", "remove", "update", "apply", "abandon"];
12
- exports.ActionDefDict = {
13
- iState: IActionDef
14
- };
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ActionDefDict = exports.actions = void 0;
4
+ var IActionDef = {
5
+ stm: {
6
+ apply: ['active', 'applied'],
7
+ abandon: ['active', 'abandoned']
8
+ },
9
+ is: 'active'
10
+ };
11
+ exports.actions = ["count", "stat", "download", "select", "create", "remove", "update", "apply", "abandon"];
12
+ exports.ActionDefDict = {
13
+ iState: IActionDef
14
+ };
@@ -1,148 +1,146 @@
1
- import { String } from "../../types/DataType";
2
- import { Q_DateValue, Q_StringValue, Q_EnumValue, NodeId, MakeFilter, ExprOp, ExpressionKey } from "../../types/Demand";
3
- import { OneOf } from "../../types/Polyfill";
4
- import * as SubQuery from "../_SubQuery";
5
- import { FormCreateData, FormUpdateData, DeduceAggregation, Operation as OakOperation, MakeAction as OakMakeAction, EntityShape, AggregationResult } from "../../types/Entity";
6
- import { Action, ParticularAction, IState } from "./Action";
7
- import * as ModiEntity from "../ModiEntity/Schema";
8
- import * as OperEntity from "../OperEntity/Schema";
9
- export declare type OpSchema = EntityShape & {
10
- targetEntity: String<32>;
11
- entity: String<32>;
12
- entityId: String<64>;
13
- action: String<16>;
14
- data: Object;
15
- filter?: Object | null;
16
- extra?: Object | null;
17
- iState?: IState | null;
18
- };
19
- export declare type OpAttr = keyof OpSchema;
20
- export declare type Schema = EntityShape & {
21
- targetEntity: String<32>;
22
- entity: String<32>;
23
- entityId: String<64>;
24
- action: String<16>;
25
- data: Object;
26
- filter?: Object | null;
27
- extra?: Object | null;
28
- iState?: IState | null;
29
- modiEntity$modi?: Array<ModiEntity.Schema>;
30
- modiEntity$modi$$aggr?: AggregationResult<ModiEntity.Schema>;
31
- operEntity$entity?: Array<OperEntity.Schema>;
32
- operEntity$entity$$aggr?: AggregationResult<OperEntity.Schema>;
33
- } & {
34
- [A in ExpressionKey]?: any;
35
- };
36
- declare type AttrFilter = {
37
- id: Q_StringValue | SubQuery.ModiIdSubQuery;
38
- $$createAt$$: Q_DateValue;
39
- $$seq$$: Q_StringValue;
40
- $$updateAt$$: Q_DateValue;
41
- targetEntity: Q_StringValue;
42
- entity: Q_StringValue;
43
- entityId: Q_StringValue;
44
- action: Q_StringValue;
45
- data: Object;
46
- filter: Object;
47
- extra: Object;
48
- iState: Q_EnumValue<IState>;
49
- };
50
- export declare type Filter = MakeFilter<AttrFilter & ExprOp<OpAttr | string>>;
51
- export declare type Projection = {
52
- "#id"?: NodeId;
53
- [k: string]: any;
54
- id?: number;
55
- $$createAt$$?: number;
56
- $$updateAt$$?: number;
57
- $$seq$$?: number;
58
- targetEntity?: number;
59
- entity?: number;
60
- entityId?: number;
61
- action?: number;
62
- data?: number;
63
- filter?: number;
64
- extra?: number;
65
- iState?: number;
66
- modiEntity$modi?: ModiEntity.Selection & {
67
- $entity: "modiEntity";
68
- };
69
- modiEntity$modi$$aggr?: ModiEntity.Aggregation & {
70
- $entity: "modiEntity";
71
- };
72
- operEntity$entity?: OperEntity.Selection & {
73
- $entity: "operEntity";
74
- };
75
- operEntity$entity$$aggr?: OperEntity.Aggregation & {
76
- $entity: "operEntity";
77
- };
78
- } & Partial<ExprOp<OpAttr | string>>;
79
- declare type ModiIdProjection = OneOf<{
80
- id: number;
81
- }>;
82
- export declare type SortAttr = {
83
- id: number;
84
- } | {
85
- $$createAt$$: number;
86
- } | {
87
- $$seq$$: number;
88
- } | {
89
- $$updateAt$$: number;
90
- } | {
91
- targetEntity: number;
92
- } | {
93
- entity: number;
94
- } | {
95
- entityId: number;
96
- } | {
97
- action: number;
98
- } | {
99
- iState: number;
100
- } | {
101
- [k: string]: any;
102
- } | OneOf<ExprOp<OpAttr | string>>;
103
- export declare type SortNode = {
104
- $attr: SortAttr;
105
- $direction?: "asc" | "desc";
106
- };
107
- export declare type Sorter = SortNode[];
108
- export declare type SelectOperation<P extends Object = Projection> = Omit<OakOperation<"select", P, Filter, Sorter>, "id">;
109
- export declare type Selection<P extends Object = Projection> = Omit<SelectOperation<P>, "action">;
110
- export declare type Aggregation = Omit<DeduceAggregation<Schema, Projection, Filter, Sorter>, "id">;
111
- export declare type CreateOperationData = FormCreateData<Omit<OpSchema, "entity" | "entityId">> & ({
112
- entity?: string;
113
- entityId?: string;
114
- [K: string]: any;
115
- }) & {
116
- modiEntity$modi?: OakOperation<"create", Omit<ModiEntity.CreateOperationData, "modi" | "modiId">[]> | Array<OakOperation<"create", Omit<ModiEntity.CreateOperationData, "modi" | "modiId">>>;
117
- operEntity$entity?: OakOperation<"create", Omit<OperEntity.CreateOperationData, "entity" | "entityId">[]> | Array<OakOperation<"create", Omit<OperEntity.CreateOperationData, "entity" | "entityId">>>;
118
- };
119
- export declare type CreateSingleOperation = OakOperation<"create", CreateOperationData>;
120
- export declare type CreateMultipleOperation = OakOperation<"create", Array<CreateOperationData>>;
121
- export declare type CreateOperation = CreateSingleOperation | CreateMultipleOperation;
122
- export declare type UpdateOperationData = FormUpdateData<OpSchema> & {
123
- [k: string]: any;
124
- modiEntitys$modi?: OakOperation<"create", Omit<ModiEntity.CreateOperationData, "modi" | "modiId">[]> | Array<OakOperation<"create", Omit<ModiEntity.CreateOperationData, "modi" | "modiId">>>;
125
- operEntitys$entity?: OakOperation<"create", Omit<OperEntity.CreateOperationData, "entity" | "entityId">[]> | Array<OakOperation<"create", Omit<OperEntity.CreateOperationData, "entity" | "entityId">>>;
126
- };
127
- export declare type UpdateOperation = OakOperation<"update" | ParticularAction | string, UpdateOperationData, Filter, Sorter>;
128
- export declare type RemoveOperationData = {};
129
- export declare type RemoveOperation = OakOperation<"remove", RemoveOperationData, Filter, Sorter>;
130
- export declare type Operation = CreateOperation | UpdateOperation | RemoveOperation | SelectOperation;
131
- export declare type ModiIdSubQuery = Selection<ModiIdProjection>;
132
- export declare type NativeAttr = OpAttr;
133
- export declare type FullAttr = NativeAttr | `modiEntitys$${number}.${ModiEntity.NativeAttr}` | `operEntitys$${number}.${OperEntity.NativeAttr}`;
134
- export declare type EntityDef = {
135
- Schema: Schema;
136
- OpSchema: OpSchema;
137
- Action: OakMakeAction<Action> | string;
138
- Selection: Selection;
139
- Aggregation: Aggregation;
140
- Operation: Operation;
141
- Create: CreateOperation;
142
- Update: UpdateOperation;
143
- Remove: RemoveOperation;
144
- CreateSingle: CreateSingleOperation;
145
- CreateMulti: CreateMultipleOperation;
146
- ParticularAction: ParticularAction;
147
- };
148
- export {};
1
+ import { String } from "../../types/DataType";
2
+ import { Q_DateValue, Q_StringValue, Q_EnumValue, NodeId, MakeFilter, ExprOp, ExpressionKey } from "../../types/Demand";
3
+ import { OneOf } from "../../types/Polyfill";
4
+ import * as SubQuery from "../_SubQuery";
5
+ import { FormCreateData, FormUpdateData, DeduceAggregation, Operation as OakOperation, MakeAction as OakMakeAction, EntityShape, AggregationResult } from "../../types/Entity";
6
+ import { Action, ParticularAction, IState } from "./Action";
7
+ import * as ModiEntity from "../ModiEntity/Schema";
8
+ import * as OperEntity from "../OperEntity/Schema";
9
+ export type OpSchema = EntityShape & {
10
+ targetEntity: String<32>;
11
+ entity: String<32>;
12
+ entityId: String<64>;
13
+ action: String<16>;
14
+ data: Object;
15
+ filter?: Object | null;
16
+ extra?: Object | null;
17
+ iState?: IState | null;
18
+ };
19
+ export type OpAttr = keyof OpSchema;
20
+ export type Schema = EntityShape & {
21
+ targetEntity: String<32>;
22
+ entity: String<32>;
23
+ entityId: String<64>;
24
+ action: String<16>;
25
+ data: Object;
26
+ filter?: Object | null;
27
+ extra?: Object | null;
28
+ iState?: IState | null;
29
+ modiEntity$modi?: Array<ModiEntity.Schema>;
30
+ modiEntity$modi$$aggr?: AggregationResult<ModiEntity.Schema>;
31
+ operEntity$entity?: Array<OperEntity.Schema>;
32
+ operEntity$entity$$aggr?: AggregationResult<OperEntity.Schema>;
33
+ } & {
34
+ [A in ExpressionKey]?: any;
35
+ };
36
+ type AttrFilter = {
37
+ id: Q_StringValue | SubQuery.ModiIdSubQuery;
38
+ $$createAt$$: Q_DateValue;
39
+ $$seq$$: Q_StringValue;
40
+ $$updateAt$$: Q_DateValue;
41
+ targetEntity: Q_StringValue;
42
+ entity: Q_StringValue;
43
+ entityId: Q_StringValue;
44
+ action: Q_StringValue;
45
+ data: Object;
46
+ filter: Object;
47
+ extra: Object;
48
+ iState: Q_EnumValue<IState>;
49
+ };
50
+ export type Filter = MakeFilter<AttrFilter & ExprOp<OpAttr | string>>;
51
+ export type Projection = {
52
+ "#id"?: NodeId;
53
+ [k: string]: any;
54
+ id?: number;
55
+ $$createAt$$?: number;
56
+ $$updateAt$$?: number;
57
+ $$seq$$?: number;
58
+ targetEntity?: number;
59
+ entity?: number;
60
+ entityId?: number;
61
+ action?: number;
62
+ data?: number;
63
+ filter?: number;
64
+ extra?: number;
65
+ iState?: number;
66
+ modiEntity$modi?: ModiEntity.Selection & {
67
+ $entity: "modiEntity";
68
+ };
69
+ modiEntity$modi$$aggr?: ModiEntity.Aggregation & {
70
+ $entity: "modiEntity";
71
+ };
72
+ operEntity$entity?: OperEntity.Selection & {
73
+ $entity: "operEntity";
74
+ };
75
+ operEntity$entity$$aggr?: OperEntity.Aggregation & {
76
+ $entity: "operEntity";
77
+ };
78
+ } & Partial<ExprOp<OpAttr | string>>;
79
+ type ModiIdProjection = OneOf<{
80
+ id: number;
81
+ }>;
82
+ export type SortAttr = {
83
+ id: number;
84
+ } | {
85
+ $$createAt$$: number;
86
+ } | {
87
+ $$seq$$: number;
88
+ } | {
89
+ $$updateAt$$: number;
90
+ } | {
91
+ targetEntity: number;
92
+ } | {
93
+ entity: number;
94
+ } | {
95
+ entityId: number;
96
+ } | {
97
+ action: number;
98
+ } | {
99
+ iState: number;
100
+ } | {
101
+ [k: string]: any;
102
+ } | OneOf<ExprOp<OpAttr | string>>;
103
+ export type SortNode = {
104
+ $attr: SortAttr;
105
+ $direction?: "asc" | "desc";
106
+ };
107
+ export type Sorter = SortNode[];
108
+ export type SelectOperation<P extends Object = Projection> = Omit<OakOperation<"select", P, Filter, Sorter>, "id">;
109
+ export type Selection<P extends Object = Projection> = Omit<SelectOperation<P>, "action">;
110
+ export type Aggregation = Omit<DeduceAggregation<Projection, Filter, Sorter>, "id">;
111
+ export type CreateOperationData = FormCreateData<Omit<OpSchema, "entity" | "entityId">> & ({
112
+ entity?: string;
113
+ entityId?: string;
114
+ [K: string]: any;
115
+ }) & {
116
+ modiEntity$modi?: OakOperation<"create", Omit<ModiEntity.CreateOperationData, "modi" | "modiId">[]> | Array<OakOperation<"create", Omit<ModiEntity.CreateOperationData, "modi" | "modiId">>>;
117
+ operEntity$entity?: OakOperation<"create", Omit<OperEntity.CreateOperationData, "entity" | "entityId">[]> | Array<OakOperation<"create", Omit<OperEntity.CreateOperationData, "entity" | "entityId">>>;
118
+ };
119
+ export type CreateSingleOperation = OakOperation<"create", CreateOperationData>;
120
+ export type CreateMultipleOperation = OakOperation<"create", Array<CreateOperationData>>;
121
+ export type CreateOperation = CreateSingleOperation | CreateMultipleOperation;
122
+ export type UpdateOperationData = FormUpdateData<OpSchema> & {
123
+ [k: string]: any;
124
+ modiEntitys$modi?: OakOperation<"create", Omit<ModiEntity.CreateOperationData, "modi" | "modiId">[]> | Array<OakOperation<"create", Omit<ModiEntity.CreateOperationData, "modi" | "modiId">>>;
125
+ operEntitys$entity?: OakOperation<"create", Omit<OperEntity.CreateOperationData, "entity" | "entityId">[]> | Array<OakOperation<"create", Omit<OperEntity.CreateOperationData, "entity" | "entityId">>>;
126
+ };
127
+ export type UpdateOperation = OakOperation<"update" | ParticularAction | string, UpdateOperationData, Filter, Sorter>;
128
+ export type RemoveOperationData = {};
129
+ export type RemoveOperation = OakOperation<"remove", RemoveOperationData, Filter, Sorter>;
130
+ export type Operation = CreateOperation | UpdateOperation | RemoveOperation;
131
+ export type ModiIdSubQuery = Selection<ModiIdProjection>;
132
+ export type EntityDef = {
133
+ Schema: Schema;
134
+ OpSchema: OpSchema;
135
+ Action: OakMakeAction<Action> | string;
136
+ Selection: Selection;
137
+ Aggregation: Aggregation;
138
+ Operation: Operation;
139
+ Create: CreateOperation;
140
+ Update: UpdateOperation;
141
+ Remove: RemoveOperation;
142
+ CreateSingle: CreateSingleOperation;
143
+ CreateMulti: CreateMultipleOperation;
144
+ ParticularAction: ParticularAction;
145
+ };
146
+ 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,3 +1,3 @@
1
- import { StorageDesc } from "../../types/Storage";
2
- import { OpSchema } from "./Schema";
3
- export declare const desc: StorageDesc<OpSchema>;
1
+ import { StorageDesc } from "../../types/Storage";
2
+ import { OpSchema } from "./Schema";
3
+ export declare const desc: StorageDesc<OpSchema>;