oak-domain 2.0.2 → 2.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 (150) 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 +1 -1
  4. package/lib/actions/relation.js +2 -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 +161 -161
  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 +176 -176
  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 +158 -158
  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 +193 -193
  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 +137 -137
  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 +8 -8
  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 +3137 -3137
  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 +45 -45
  56. package/lib/store/AsyncRowStore.js +180 -180
  57. package/lib/store/CascadeStore.d.ts +89 -89
  58. package/lib/store/CascadeStore.js +1515 -1511
  59. package/lib/store/SyncRowStore.d.ts +26 -26
  60. package/lib/store/SyncRowStore.js +45 -45
  61. package/lib/store/TriggerExecutor.d.ts +32 -32
  62. package/lib/store/TriggerExecutor.js +470 -470
  63. package/lib/store/actionDef.d.ts +9 -9
  64. package/lib/store/actionDef.js +135 -135
  65. package/lib/store/checker.d.ts +6 -6
  66. package/lib/store/checker.js +218 -165
  67. package/lib/store/filter.d.ts +99 -99
  68. package/lib/store/filter.js +855 -855
  69. package/lib/store/modi.d.ts +13 -13
  70. package/lib/store/modi.js +172 -172
  71. package/lib/store/relation.d.ts +13 -13
  72. package/lib/store/relation.js +64 -64
  73. package/lib/store/selection.d.ts +7 -7
  74. package/lib/store/selection.js +228 -228
  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 +14 -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 +57 -31
  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 +6 -6
  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/Entity.d.ts +159 -159
  96. package/lib/types/Entity.js +15 -15
  97. package/lib/types/Exception.d.ts +83 -83
  98. package/lib/types/Exception.js +252 -252
  99. package/lib/types/Expression.d.ts +141 -141
  100. package/lib/types/Expression.js +387 -387
  101. package/lib/types/Geo.d.ts +18 -18
  102. package/lib/types/Geo.js +2 -2
  103. package/lib/types/Locale.d.ts +24 -24
  104. package/lib/types/Locale.js +2 -2
  105. package/lib/types/Logger.d.ts +5 -5
  106. package/lib/types/Logger.js +3 -3
  107. package/lib/types/Polyfill.d.ts +23 -23
  108. package/lib/types/Polyfill.js +2 -2
  109. package/lib/types/RowStore.d.ts +12 -12
  110. package/lib/types/RowStore.js +34 -34
  111. package/lib/types/Storage.d.ts +55 -55
  112. package/lib/types/Storage.js +2 -2
  113. package/lib/types/Trigger.d.ts +88 -89
  114. package/lib/types/Trigger.js +39 -39
  115. package/lib/types/Txn.d.ts +2 -2
  116. package/lib/types/Txn.js +3 -3
  117. package/lib/types/Watcher.d.ts +19 -19
  118. package/lib/types/Watcher.js +4 -4
  119. package/lib/types/index.d.ts +18 -18
  120. package/lib/types/index.js +21 -21
  121. package/lib/types/schema/DataTypes.d.ts +32 -32
  122. package/lib/types/schema/DataTypes.js +3 -3
  123. package/lib/utils/SimpleConnector.d.ts +30 -30
  124. package/lib/utils/SimpleConnector.js +102 -102
  125. package/lib/utils/assert.d.ts +5 -5
  126. package/lib/utils/assert.js +9 -9
  127. package/lib/utils/concurrent.d.ts +15 -15
  128. package/lib/utils/concurrent.js +89 -89
  129. package/lib/utils/geo.d.ts +4 -4
  130. package/lib/utils/geo.js +24 -24
  131. package/lib/utils/lodash.d.ts +5 -5
  132. package/lib/utils/lodash.js +38 -38
  133. package/lib/utils/random/random.d.ts +1 -1
  134. package/lib/utils/random/random.js +24 -24
  135. package/lib/utils/random/random.mp.d.ts +1 -1
  136. package/lib/utils/random/random.mp.js +25 -25
  137. package/lib/utils/random/random.web.d.ts +1 -1
  138. package/lib/utils/random/random.web.js +17 -17
  139. package/lib/utils/string.d.ts +22 -22
  140. package/lib/utils/string.js +70 -70
  141. package/lib/utils/uuid.d.ts +12 -12
  142. package/lib/utils/uuid.js +182 -182
  143. package/lib/utils/validator.d.ts +23 -23
  144. package/lib/utils/validator.js +123 -123
  145. package/package.json +47 -47
  146. package/src/entities/Modi.ts +68 -68
  147. package/src/entities/ModiEntity.ts +24 -24
  148. package/src/entities/Oper.ts +28 -28
  149. package/src/entities/OperEntity.ts +24 -24
  150. package/src/entities/User.ts +19 -19
@@ -1,9 +1,9 @@
1
- import { ActionDictOfEntityDict, BBWatcher, Checker, EntityDict, StorageSchema, Trigger } from "../types";
2
- import { SyncContext } from "./SyncRowStore";
3
- import { AsyncContext } from "./AsyncRowStore";
4
- export declare function getFullProjection<ED extends EntityDict, T extends keyof ED>(entity: T, schema: StorageSchema<ED>): ED[T]["Selection"]["data"];
5
- export declare function analyzeActionDefDict<ED extends EntityDict, Cxt extends SyncContext<ED> | AsyncContext<ED>>(schema: StorageSchema<ED>, actionDefDict: ActionDictOfEntityDict<ED>): {
6
- triggers: Trigger<ED, keyof ED, Cxt>[];
7
- checkers: Checker<ED, keyof ED, Cxt>[];
8
- watchers: BBWatcher<ED, keyof ED>[];
9
- };
1
+ import { ActionDictOfEntityDict, BBWatcher, Checker, EntityDict, StorageSchema, Trigger } from "../types";
2
+ import { SyncContext } from "./SyncRowStore";
3
+ import { AsyncContext } from "./AsyncRowStore";
4
+ export declare function getFullProjection<ED extends EntityDict, T extends keyof ED>(entity: T, schema: StorageSchema<ED>): ED[T]["Selection"]["data"];
5
+ export declare function analyzeActionDefDict<ED extends EntityDict, Cxt extends SyncContext<ED> | AsyncContext<ED>>(schema: StorageSchema<ED>, actionDefDict: ActionDictOfEntityDict<ED>): {
6
+ triggers: Trigger<ED, keyof ED, Cxt>[];
7
+ checkers: Checker<ED, keyof ED, Cxt>[];
8
+ watchers: BBWatcher<ED, keyof ED>[];
9
+ };
@@ -1,135 +1,135 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.analyzeActionDefDict = exports.getFullProjection = void 0;
4
- var tslib_1 = require("tslib");
5
- function getFullProjection(entity, schema) {
6
- var attributes = schema[entity].attributes;
7
- var projection = {
8
- id: 1,
9
- $$createAt$$: 1,
10
- $$updateAt$$: 1,
11
- $$deleteAt$$: 1,
12
- };
13
- Object.keys(attributes).forEach(function (k) {
14
- var _a;
15
- return Object.assign(projection, (_a = {},
16
- _a[k] = 1,
17
- _a));
18
- });
19
- return projection;
20
- }
21
- exports.getFullProjection = getFullProjection;
22
- function makeIntrinsicWatchers(schema) {
23
- var _this = this;
24
- var watchers = [];
25
- var _loop_1 = function (entity) {
26
- var attributes = schema[entity].attributes;
27
- var now = Date.now();
28
- var expiresAt = attributes.expiresAt, expired = attributes.expired;
29
- if (expiresAt && expiresAt.type === 'datetime' && expired && expired.type === 'boolean') {
30
- // 如果有定义expiresAt和expired,则自动生成一个检查的watcher
31
- watchers.push({
32
- entity: entity,
33
- name: "\u5BF9\u8C61".concat(entity, "\u4E0A\u7684\u8FC7\u671F\u81EA\u52A8watcher"),
34
- filter: function () { return tslib_1.__awaiter(_this, void 0, void 0, function () {
35
- return tslib_1.__generator(this, function (_a) {
36
- return [2 /*return*/, {
37
- expired: false,
38
- expiresAt: {
39
- $lte: now,
40
- },
41
- }];
42
- });
43
- }); },
44
- action: 'update',
45
- actionData: {
46
- expired: true,
47
- },
48
- });
49
- }
50
- };
51
- for (var entity in schema) {
52
- _loop_1(entity);
53
- }
54
- return watchers;
55
- }
56
- function analyzeActionDefDict(schema, actionDefDict) {
57
- var checkers = [];
58
- var triggers = [];
59
- for (var entity in actionDefDict) {
60
- var _loop_2 = function (attr) {
61
- var def = actionDefDict[entity][attr];
62
- var _a = def, stm = _a.stm, is = _a.is;
63
- var _loop_3 = function (action) {
64
- var _b, _c;
65
- var actionStm = stm[action];
66
- var conditionalFilter = typeof actionStm[0] === 'string' ? (_b = {},
67
- _b[attr] = actionStm[0],
68
- _b) : (_c = {},
69
- _c[attr] = {
70
- $in: actionStm[0],
71
- },
72
- _c);
73
- checkers.push({
74
- action: action,
75
- type: 'row',
76
- entity: entity,
77
- filter: conditionalFilter,
78
- errMsg: '',
79
- });
80
- checkers.push({
81
- action: action,
82
- type: 'data',
83
- entity: entity,
84
- priority: 10,
85
- checker: function (data) {
86
- var _a;
87
- Object.assign(data, (_a = {},
88
- _a[attr] = stm[action][1],
89
- _a));
90
- }
91
- });
92
- };
93
- for (var action in stm) {
94
- _loop_3(action);
95
- }
96
- if (is) {
97
- checkers.push({
98
- action: 'create',
99
- type: 'data',
100
- entity: entity,
101
- priority: 10,
102
- checker: function (data) {
103
- var _a;
104
- if (data instanceof Array) {
105
- data.forEach(function (ele) {
106
- var _a;
107
- if (!ele[attr]) {
108
- Object.assign(ele, (_a = {},
109
- _a[attr] = is,
110
- _a));
111
- }
112
- });
113
- }
114
- else {
115
- if (!data[attr]) {
116
- Object.assign(data, (_a = {},
117
- _a[attr] = is,
118
- _a));
119
- }
120
- }
121
- }
122
- });
123
- }
124
- };
125
- for (var attr in actionDefDict[entity]) {
126
- _loop_2(attr);
127
- }
128
- }
129
- return {
130
- triggers: triggers,
131
- checkers: checkers,
132
- watchers: makeIntrinsicWatchers(schema),
133
- };
134
- }
135
- exports.analyzeActionDefDict = analyzeActionDefDict;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.analyzeActionDefDict = exports.getFullProjection = void 0;
4
+ var tslib_1 = require("tslib");
5
+ function getFullProjection(entity, schema) {
6
+ var attributes = schema[entity].attributes;
7
+ var projection = {
8
+ id: 1,
9
+ $$createAt$$: 1,
10
+ $$updateAt$$: 1,
11
+ $$deleteAt$$: 1,
12
+ };
13
+ Object.keys(attributes).forEach(function (k) {
14
+ var _a;
15
+ return Object.assign(projection, (_a = {},
16
+ _a[k] = 1,
17
+ _a));
18
+ });
19
+ return projection;
20
+ }
21
+ exports.getFullProjection = getFullProjection;
22
+ function makeIntrinsicWatchers(schema) {
23
+ var _this = this;
24
+ var watchers = [];
25
+ var _loop_1 = function (entity) {
26
+ var attributes = schema[entity].attributes;
27
+ var now = Date.now();
28
+ var expiresAt = attributes.expiresAt, expired = attributes.expired;
29
+ if (expiresAt && expiresAt.type === 'datetime' && expired && expired.type === 'boolean') {
30
+ // 如果有定义expiresAt和expired,则自动生成一个检查的watcher
31
+ watchers.push({
32
+ entity: entity,
33
+ name: "\u5BF9\u8C61".concat(entity, "\u4E0A\u7684\u8FC7\u671F\u81EA\u52A8watcher"),
34
+ filter: function () { return tslib_1.__awaiter(_this, void 0, void 0, function () {
35
+ return tslib_1.__generator(this, function (_a) {
36
+ return [2 /*return*/, {
37
+ expired: false,
38
+ expiresAt: {
39
+ $lte: now,
40
+ },
41
+ }];
42
+ });
43
+ }); },
44
+ action: 'update',
45
+ actionData: {
46
+ expired: true,
47
+ },
48
+ });
49
+ }
50
+ };
51
+ for (var entity in schema) {
52
+ _loop_1(entity);
53
+ }
54
+ return watchers;
55
+ }
56
+ function analyzeActionDefDict(schema, actionDefDict) {
57
+ var checkers = [];
58
+ var triggers = [];
59
+ for (var entity in actionDefDict) {
60
+ var _loop_2 = function (attr) {
61
+ var def = actionDefDict[entity][attr];
62
+ var _a = def, stm = _a.stm, is = _a.is;
63
+ var _loop_3 = function (action) {
64
+ var _b, _c;
65
+ var actionStm = stm[action];
66
+ var conditionalFilter = typeof actionStm[0] === 'string' ? (_b = {},
67
+ _b[attr] = actionStm[0],
68
+ _b) : (_c = {},
69
+ _c[attr] = {
70
+ $in: actionStm[0],
71
+ },
72
+ _c);
73
+ checkers.push({
74
+ action: action,
75
+ type: 'row',
76
+ entity: entity,
77
+ filter: conditionalFilter,
78
+ errMsg: '',
79
+ });
80
+ checkers.push({
81
+ action: action,
82
+ type: 'data',
83
+ entity: entity,
84
+ priority: 10,
85
+ checker: function (data) {
86
+ var _a;
87
+ Object.assign(data, (_a = {},
88
+ _a[attr] = stm[action][1],
89
+ _a));
90
+ }
91
+ });
92
+ };
93
+ for (var action in stm) {
94
+ _loop_3(action);
95
+ }
96
+ if (is) {
97
+ checkers.push({
98
+ action: 'create',
99
+ type: 'data',
100
+ entity: entity,
101
+ priority: 10,
102
+ checker: function (data) {
103
+ var _a;
104
+ if (data instanceof Array) {
105
+ data.forEach(function (ele) {
106
+ var _a;
107
+ if (!ele[attr]) {
108
+ Object.assign(ele, (_a = {},
109
+ _a[attr] = is,
110
+ _a));
111
+ }
112
+ });
113
+ }
114
+ else {
115
+ if (!data[attr]) {
116
+ Object.assign(data, (_a = {},
117
+ _a[attr] = is,
118
+ _a));
119
+ }
120
+ }
121
+ }
122
+ });
123
+ }
124
+ };
125
+ for (var attr in actionDefDict[entity]) {
126
+ _loop_2(attr);
127
+ }
128
+ }
129
+ return {
130
+ triggers: triggers,
131
+ checkers: checkers,
132
+ watchers: makeIntrinsicWatchers(schema),
133
+ };
134
+ }
135
+ exports.analyzeActionDefDict = analyzeActionDefDict;
@@ -1,6 +1,6 @@
1
- import { Checker, EntityDict, OperateOption, SelectOption, Trigger } from "../types";
2
- import { EntityDict as BaseEntityDict } from '../base-app-domain';
3
- import { AsyncContext } from "./AsyncRowStore";
4
- import { SyncContext } from './SyncRowStore';
5
- export declare function translateCheckerInAsyncContext<ED extends EntityDict & BaseEntityDict, Cxt extends AsyncContext<ED> | SyncContext<ED>>(checker: Checker<ED, keyof ED, Cxt>): Trigger<ED, keyof ED, Cxt>['fn'];
6
- export declare function translateCheckerInSyncContext<ED extends EntityDict & BaseEntityDict, T extends keyof ED, Cxt extends SyncContext<ED> | AsyncContext<ED>>(checker: Checker<ED, T, Cxt>): (operation: ED[T]['Operation'], context: Cxt, option: OperateOption | SelectOption) => void;
1
+ import { Checker, EntityDict, OperateOption, SelectOption, Trigger } from "../types";
2
+ import { EntityDict as BaseEntityDict } from '../base-app-domain';
3
+ import { AsyncContext } from "./AsyncRowStore";
4
+ import { SyncContext } from './SyncRowStore';
5
+ export declare function translateCheckerInAsyncContext<ED extends EntityDict & BaseEntityDict, Cxt extends AsyncContext<ED>>(checker: Checker<ED, keyof ED, Cxt>): Trigger<ED, keyof ED, Cxt>['fn'];
6
+ export declare function translateCheckerInSyncContext<ED extends EntityDict & BaseEntityDict, T extends keyof ED, Cxt extends SyncContext<ED>>(checker: Checker<ED, T, Cxt>): (operation: ED[T]['Operation'], context: Cxt, option: OperateOption | SelectOption) => void;