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,31 +1,31 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- ;
4
- const UserActionDef = {
5
- stm: {
6
- mergeTo: ['normal', 'merged'],
7
- },
8
- };
9
- const entityDesc = {
10
- locales: {
11
- zh_CN: {
12
- name: '用户',
13
- attr: {
14
- name: '姓名',
15
- nickname: '昵称',
16
- password: '密码',
17
- ref: '指向用户',
18
- userState: '状态',
19
- },
20
- action: {
21
- mergeTo: '合并',
22
- },
23
- v: {
24
- userState: {
25
- normal: '正常',
26
- merged: '已被合并',
27
- },
28
- }
29
- },
30
- },
31
- };
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ ;
4
+ const UserActionDef = {
5
+ stm: {
6
+ mergeTo: ['normal', 'merged'],
7
+ },
8
+ };
9
+ const entityDesc = {
10
+ locales: {
11
+ zh_CN: {
12
+ name: '用户',
13
+ attr: {
14
+ name: '姓名',
15
+ nickname: '昵称',
16
+ password: '密码',
17
+ ref: '指向用户',
18
+ userState: '状态',
19
+ },
20
+ action: {
21
+ mergeTo: '合并',
22
+ },
23
+ v: {
24
+ userState: {
25
+ normal: '正常',
26
+ merged: '已被合并',
27
+ },
28
+ }
29
+ },
30
+ },
31
+ };
@@ -1,13 +1,13 @@
1
- import { String } from '../types/DataType';
2
- import { EntityShape } from '../types/Entity';
3
- import { Schema as UserEntityGrant } from './UserEntityGrant';
4
- import { Schema as User } from './User';
5
- import { Schema as Relation } from './Relation';
6
- import { Schema as UserRelation } from './UserRelation';
7
- export interface Schema extends EntityShape {
8
- ueg: UserEntityGrant;
9
- user: User;
10
- relation: Relation;
11
- claimEntityId: String<64>;
12
- userRelation: UserRelation;
13
- }
1
+ import { String } from '../types/DataType';
2
+ import { EntityShape } from '../types/Entity';
3
+ import { Schema as UserEntityGrant } from './UserEntityGrant';
4
+ import { Schema as User } from './User';
5
+ import { Schema as Relation } from './Relation';
6
+ import { Schema as UserRelation } from './UserRelation';
7
+ export interface Schema extends EntityShape {
8
+ ueg: UserEntityGrant;
9
+ user: User;
10
+ relation: Relation;
11
+ claimEntityId: String<64>;
12
+ userRelation: UserRelation;
13
+ }
@@ -1,17 +1,17 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- ;
4
- const entityDesc = {
5
- locales: {
6
- zh_CN: {
7
- name: '用户授权领取',
8
- attr: {
9
- ueg: '授权',
10
- user: '用户',
11
- relation: '关系',
12
- claimEntityId: '对象Id',
13
- userRelation: '用户关系',
14
- },
15
- },
16
- },
17
- };
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ ;
4
+ const entityDesc = {
5
+ locales: {
6
+ zh_CN: {
7
+ name: '用户授权领取',
8
+ attr: {
9
+ ueg: '授权',
10
+ user: '用户',
11
+ relation: '关系',
12
+ claimEntityId: '对象Id',
13
+ userRelation: '用户关系',
14
+ },
15
+ },
16
+ },
17
+ };
@@ -1,9 +1,9 @@
1
- import { String } from '../types/DataType';
2
- import { EntityShape } from '../types/Entity';
3
- type RelationIds = string[];
4
- export interface Schema extends EntityShape {
5
- relationEntity: String<32>;
6
- relationEntityFilter: Object;
7
- relationIds: RelationIds;
8
- }
9
- export {};
1
+ import { String } from '../types/DataType';
2
+ import { EntityShape } from '../types/Entity';
3
+ type RelationIds = string[];
4
+ export interface Schema extends EntityShape {
5
+ relationEntity: String<32>;
6
+ relationEntityFilter: Object;
7
+ relationIds: RelationIds;
8
+ }
9
+ export {};
@@ -1,15 +1,15 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- ;
4
- const entityDesc = {
5
- locales: {
6
- zh_CN: {
7
- name: '用户授权',
8
- attr: {
9
- relationIds: '关系',
10
- relationEntity: '关联对象',
11
- relationEntityFilter: '对象限定条件',
12
- },
13
- },
14
- },
15
- };
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ ;
4
+ const entityDesc = {
5
+ locales: {
6
+ zh_CN: {
7
+ name: '用户授权',
8
+ attr: {
9
+ relationIds: '关系',
10
+ relationEntity: '关联对象',
11
+ relationEntityFilter: '对象限定条件',
12
+ },
13
+ },
14
+ },
15
+ };
@@ -1,10 +1,10 @@
1
- import { String } from '../types/DataType';
2
- import { EntityShape } from '../types/Entity';
3
- import { Schema as User } from './User';
4
- import { Schema as Relation } from './Relation';
5
- export interface Schema extends EntityShape {
6
- user: User;
7
- relation: Relation;
8
- entity: String<32>;
9
- entityId: String<64>;
10
- }
1
+ import { String } from '../types/DataType';
2
+ import { EntityShape } from '../types/Entity';
3
+ import { Schema as User } from './User';
4
+ import { Schema as Relation } from './Relation';
5
+ export interface Schema extends EntityShape {
6
+ user: User;
7
+ relation: Relation;
8
+ entity: String<32>;
9
+ entityId: String<64>;
10
+ }
@@ -1,38 +1,38 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- ;
4
- const entityDesc = {
5
- locales: {
6
- zh_CN: {
7
- name: '用户对象关系',
8
- attr: {
9
- user: '关系',
10
- relation: '目标关系',
11
- entity: '目标对象',
12
- entityId: '目标对象ID',
13
- },
14
- },
15
- },
16
- indexes: [
17
- {
18
- name: 'index_user_entity_entityId_relation',
19
- attributes: [
20
- {
21
- name: 'user',
22
- },
23
- {
24
- name: 'entity',
25
- },
26
- {
27
- name: 'entityId',
28
- },
29
- {
30
- name: 'relation',
31
- },
32
- ],
33
- config: {
34
- unique: true,
35
- },
36
- },
37
- ]
38
- };
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ ;
4
+ const entityDesc = {
5
+ locales: {
6
+ zh_CN: {
7
+ name: '用户对象关系',
8
+ attr: {
9
+ user: '关系',
10
+ relation: '目标关系',
11
+ entity: '目标对象',
12
+ entityId: '目标对象ID',
13
+ },
14
+ },
15
+ },
16
+ indexes: [
17
+ {
18
+ name: 'index_user_entity_entityId_relation',
19
+ attributes: [
20
+ {
21
+ name: 'user',
22
+ },
23
+ {
24
+ name: 'entity',
25
+ },
26
+ {
27
+ name: 'entityId',
28
+ },
29
+ {
30
+ name: 'relation',
31
+ },
32
+ ],
33
+ config: {
34
+ unique: true,
35
+ },
36
+ },
37
+ ]
38
+ };
package/lib/index.d.ts CHANGED
@@ -1,23 +1,23 @@
1
- export { storageSchema } from './base-app-domain';
2
- export type { EntityDict as BaseEntityDict } from './base-app-domain';
3
- export * from './store/AsyncRowStore';
4
- export * from './store/SyncRowStore';
5
- export * from './store/CascadeStore';
6
- export * from './store/relation';
7
- export * from './store/RelationAuth';
8
- export * from './store/TriggerExecutor';
9
- export * from './store/actionDef';
10
- export * from './store/checker';
11
- export * from './store/filter';
12
- export * from './store/modi';
13
- export * from './timers/oper';
14
- export * from './timers/vaccum';
15
- export * from './actions/action';
16
- export * from './actions/relation';
17
- export { SimpleConnector } from './utils/SimpleConnector';
18
- export { assert } from './utils/assert';
19
- export { composeUrl } from './utils/domain';
20
- export { checkAttributesNotNull, checkAttributesScope, } from './utils/validator';
21
- export { compareVersion } from './utils/version';
22
- export * from './types';
23
- export { generateNewIdAsync, generateNewId, shrinkUuidTo32Bytes, expandUuidTo36Bytes, } from './utils/uuid';
1
+ export { storageSchema } from './base-app-domain';
2
+ export type { EntityDict as BaseEntityDict } from './base-app-domain';
3
+ export * from './store/AsyncRowStore';
4
+ export * from './store/SyncRowStore';
5
+ export * from './store/CascadeStore';
6
+ export * from './store/relation';
7
+ export * from './store/RelationAuth';
8
+ export * from './store/TriggerExecutor';
9
+ export * from './store/actionDef';
10
+ export * from './store/checker';
11
+ export * from './store/filter';
12
+ export * from './store/modi';
13
+ export * from './timers/oper';
14
+ export * from './timers/vaccum';
15
+ export * from './actions/action';
16
+ export * from './actions/relation';
17
+ export { SimpleConnector } from './utils/SimpleConnector';
18
+ export { assert } from './utils/assert';
19
+ export { composeUrl } from './utils/domain';
20
+ export { checkAttributesNotNull, checkAttributesScope, } from './utils/validator';
21
+ export { compareVersion } from './utils/version';
22
+ export * from './types';
23
+ export { generateNewIdAsync, generateNewId, shrinkUuidTo32Bytes, expandUuidTo36Bytes, } from './utils/uuid';
package/lib/index.js CHANGED
@@ -1,37 +1,37 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.expandUuidTo36Bytes = exports.shrinkUuidTo32Bytes = exports.generateNewId = exports.generateNewIdAsync = exports.compareVersion = exports.checkAttributesScope = exports.checkAttributesNotNull = exports.composeUrl = exports.assert = exports.SimpleConnector = exports.storageSchema = void 0;
4
- const tslib_1 = require("tslib");
5
- var base_app_domain_1 = require("./base-app-domain");
6
- Object.defineProperty(exports, "storageSchema", { enumerable: true, get: function () { return base_app_domain_1.storageSchema; } });
7
- tslib_1.__exportStar(require("./store/AsyncRowStore"), exports);
8
- tslib_1.__exportStar(require("./store/SyncRowStore"), exports);
9
- tslib_1.__exportStar(require("./store/CascadeStore"), exports);
10
- tslib_1.__exportStar(require("./store/relation"), exports);
11
- tslib_1.__exportStar(require("./store/RelationAuth"), exports);
12
- tslib_1.__exportStar(require("./store/TriggerExecutor"), exports);
13
- tslib_1.__exportStar(require("./store/actionDef"), exports);
14
- tslib_1.__exportStar(require("./store/checker"), exports);
15
- tslib_1.__exportStar(require("./store/filter"), exports);
16
- tslib_1.__exportStar(require("./store/modi"), exports);
17
- tslib_1.__exportStar(require("./timers/oper"), exports);
18
- tslib_1.__exportStar(require("./timers/vaccum"), exports);
19
- tslib_1.__exportStar(require("./actions/action"), exports);
20
- tslib_1.__exportStar(require("./actions/relation"), exports);
21
- var SimpleConnector_1 = require("./utils/SimpleConnector");
22
- Object.defineProperty(exports, "SimpleConnector", { enumerable: true, get: function () { return SimpleConnector_1.SimpleConnector; } });
23
- var assert_1 = require("./utils/assert");
24
- Object.defineProperty(exports, "assert", { enumerable: true, get: function () { return assert_1.assert; } });
25
- var domain_1 = require("./utils/domain");
26
- Object.defineProperty(exports, "composeUrl", { enumerable: true, get: function () { return domain_1.composeUrl; } });
27
- var validator_1 = require("./utils/validator");
28
- Object.defineProperty(exports, "checkAttributesNotNull", { enumerable: true, get: function () { return validator_1.checkAttributesNotNull; } });
29
- Object.defineProperty(exports, "checkAttributesScope", { enumerable: true, get: function () { return validator_1.checkAttributesScope; } });
30
- var version_1 = require("./utils/version");
31
- Object.defineProperty(exports, "compareVersion", { enumerable: true, get: function () { return version_1.compareVersion; } });
32
- tslib_1.__exportStar(require("./types"), exports);
33
- var uuid_1 = require("./utils/uuid");
34
- Object.defineProperty(exports, "generateNewIdAsync", { enumerable: true, get: function () { return uuid_1.generateNewIdAsync; } });
35
- Object.defineProperty(exports, "generateNewId", { enumerable: true, get: function () { return uuid_1.generateNewId; } });
36
- Object.defineProperty(exports, "shrinkUuidTo32Bytes", { enumerable: true, get: function () { return uuid_1.shrinkUuidTo32Bytes; } });
37
- Object.defineProperty(exports, "expandUuidTo36Bytes", { enumerable: true, get: function () { return uuid_1.expandUuidTo36Bytes; } });
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.expandUuidTo36Bytes = exports.shrinkUuidTo32Bytes = exports.generateNewId = exports.generateNewIdAsync = exports.compareVersion = exports.checkAttributesScope = exports.checkAttributesNotNull = exports.composeUrl = exports.assert = exports.SimpleConnector = exports.storageSchema = void 0;
4
+ const tslib_1 = require("tslib");
5
+ var base_app_domain_1 = require("./base-app-domain");
6
+ Object.defineProperty(exports, "storageSchema", { enumerable: true, get: function () { return base_app_domain_1.storageSchema; } });
7
+ tslib_1.__exportStar(require("./store/AsyncRowStore"), exports);
8
+ tslib_1.__exportStar(require("./store/SyncRowStore"), exports);
9
+ tslib_1.__exportStar(require("./store/CascadeStore"), exports);
10
+ tslib_1.__exportStar(require("./store/relation"), exports);
11
+ tslib_1.__exportStar(require("./store/RelationAuth"), exports);
12
+ tslib_1.__exportStar(require("./store/TriggerExecutor"), exports);
13
+ tslib_1.__exportStar(require("./store/actionDef"), exports);
14
+ tslib_1.__exportStar(require("./store/checker"), exports);
15
+ tslib_1.__exportStar(require("./store/filter"), exports);
16
+ tslib_1.__exportStar(require("./store/modi"), exports);
17
+ tslib_1.__exportStar(require("./timers/oper"), exports);
18
+ tslib_1.__exportStar(require("./timers/vaccum"), exports);
19
+ tslib_1.__exportStar(require("./actions/action"), exports);
20
+ tslib_1.__exportStar(require("./actions/relation"), exports);
21
+ var SimpleConnector_1 = require("./utils/SimpleConnector");
22
+ Object.defineProperty(exports, "SimpleConnector", { enumerable: true, get: function () { return SimpleConnector_1.SimpleConnector; } });
23
+ var assert_1 = require("./utils/assert");
24
+ Object.defineProperty(exports, "assert", { enumerable: true, get: function () { return assert_1.assert; } });
25
+ var domain_1 = require("./utils/domain");
26
+ Object.defineProperty(exports, "composeUrl", { enumerable: true, get: function () { return domain_1.composeUrl; } });
27
+ var validator_1 = require("./utils/validator");
28
+ Object.defineProperty(exports, "checkAttributesNotNull", { enumerable: true, get: function () { return validator_1.checkAttributesNotNull; } });
29
+ Object.defineProperty(exports, "checkAttributesScope", { enumerable: true, get: function () { return validator_1.checkAttributesScope; } });
30
+ var version_1 = require("./utils/version");
31
+ Object.defineProperty(exports, "compareVersion", { enumerable: true, get: function () { return version_1.compareVersion; } });
32
+ tslib_1.__exportStar(require("./types"), exports);
33
+ var uuid_1 = require("./utils/uuid");
34
+ Object.defineProperty(exports, "generateNewIdAsync", { enumerable: true, get: function () { return uuid_1.generateNewIdAsync; } });
35
+ Object.defineProperty(exports, "generateNewId", { enumerable: true, get: function () { return uuid_1.generateNewId; } });
36
+ Object.defineProperty(exports, "shrinkUuidTo32Bytes", { enumerable: true, get: function () { return uuid_1.shrinkUuidTo32Bytes; } });
37
+ Object.defineProperty(exports, "expandUuidTo36Bytes", { enumerable: true, get: function () { return uuid_1.expandUuidTo36Bytes; } });
@@ -1,65 +1,65 @@
1
- /// <reference types="node" />
2
- import { EntityDict, RowStore, OperateOption, OperationResult, SelectOption, Context, TxnOption, OpRecord, AggregationResult, ClusterInfo } from "../types";
3
- import { IncomingHttpHeaders } from "http";
4
- /**
5
- * 服务器端执行的异步环境的底层抽象
6
- */
7
- export declare abstract class AsyncContext<ED extends EntityDict> implements Context {
8
- rowStore: AsyncRowStore<ED, this>;
9
- private uuid?;
10
- opRecords: OpRecord<ED>[];
11
- private scene?;
12
- headers?: IncomingHttpHeaders;
13
- clusterInfo?: ClusterInfo;
14
- opResult: OperationResult<ED>;
15
- private message?;
16
- events: {
17
- commit: Array<() => Promise<void>>;
18
- rollback: Array<() => Promise<void>>;
19
- };
20
- /**
21
- * 在返回结果前调用,对数据行进行一些预处理,比如将一些敏感的列隐藏
22
- */
23
- abstract refineOpRecords(): Promise<void>;
24
- constructor(store: AsyncRowStore<ED, AsyncContext<ED>>);
25
- restartToExecute(routine: (context: this) => Promise<any>): Promise<void>;
26
- getHeader(key: string): string | string[] | undefined;
27
- getScene(): string | undefined;
28
- setScene(scene?: string): void;
29
- private resetEvents;
30
- on(event: 'commit' | 'rollback', callback: () => Promise<void>): void;
31
- saveOpRecord<T extends keyof ED>(entity: T, operation: ED[T]['Operation']): void;
32
- /**
33
- * 一个context中不应该有并发的事务,这里将事务串行化,使用的时候千万要注意不要自己等自己
34
- * @param options
35
- */
36
- begin(options?: TxnOption): Promise<void>;
37
- commit(): Promise<void>;
38
- rollback(): Promise<void>;
39
- operate<T extends keyof ED, OP extends OperateOption>(entity: T, operation: ED[T]['Operation'], option: OP): Promise<OperationResult<ED>>;
40
- select<T extends keyof ED, OP extends SelectOption>(entity: T, selection: ED[T]['Selection'], option: OP): Promise<Partial<ED[T]["Schema"]>[]>;
41
- aggregate<T extends keyof ED, OP extends SelectOption>(entity: T, aggregation: ED[T]['Aggregation'], option: OP): Promise<AggregationResult<ED[T]["Schema"]>>;
42
- count<T extends keyof ED, OP extends SelectOption>(entity: T, selection: Pick<ED[T]['Selection'], 'filter' | 'count'>, option: OP): Promise<number>;
43
- exec(script: string, txnId?: string): Promise<void>;
44
- mergeMultipleResults(toBeMerged: OperationResult<ED>[]): OperationResult<ED>;
45
- getCurrentTxnId(): string | undefined;
46
- getSchema(): import("../types").StorageSchema<ED>;
47
- setMessage(message: string): void;
48
- getMessage(): string | undefined;
49
- abstract isRoot(): boolean;
50
- abstract getCurrentUserId(allowUnloggedIn?: boolean): string | undefined;
51
- abstract toString(): string;
52
- abstract initialize(data: any): Promise<void>;
53
- abstract allowUserUpdate(): boolean;
54
- abstract openRootMode(): () => void;
55
- }
56
- export interface AsyncRowStore<ED extends EntityDict, Cxt extends AsyncContext<ED>> extends RowStore<ED> {
57
- operate<T extends keyof ED, OP extends OperateOption>(entity: T, operation: ED[T]['Operation'], context: Cxt, option: OP): Promise<OperationResult<ED>>;
58
- select<T extends keyof ED, OP extends SelectOption>(entity: T, selection: ED[T]['Selection'], context: Cxt, option: OP): Promise<Partial<ED[T]['Schema']>[]>;
59
- aggregate<T extends keyof ED, OP extends SelectOption>(entity: T, aggregation: ED[T]['Aggregation'], context: Cxt, option: OP): Promise<AggregationResult<ED[T]['Schema']>>;
60
- count<T extends keyof ED, OP extends SelectOption>(entity: T, selection: Pick<ED[T]['Selection'], 'filter' | 'count'>, context: Cxt, option: OP): Promise<number>;
61
- begin(option?: TxnOption): Promise<string>;
62
- commit(txnId: string): Promise<void>;
63
- rollback(txnId: string): Promise<void>;
64
- exec(script: string, txnId?: string): Promise<void>;
65
- }
1
+ /// <reference types="node" />
2
+ import { EntityDict, RowStore, OperateOption, OperationResult, SelectOption, Context, TxnOption, OpRecord, AggregationResult, ClusterInfo } from "../types";
3
+ import { IncomingHttpHeaders } from "http";
4
+ /**
5
+ * 服务器端执行的异步环境的底层抽象
6
+ */
7
+ export declare abstract class AsyncContext<ED extends EntityDict> implements Context {
8
+ rowStore: AsyncRowStore<ED, this>;
9
+ private uuid?;
10
+ opRecords: OpRecord<ED>[];
11
+ private scene?;
12
+ headers?: IncomingHttpHeaders;
13
+ clusterInfo?: ClusterInfo;
14
+ opResult: OperationResult<ED>;
15
+ private message?;
16
+ events: {
17
+ commit: Array<() => Promise<void>>;
18
+ rollback: Array<() => Promise<void>>;
19
+ };
20
+ /**
21
+ * 在返回结果前调用,对数据行进行一些预处理,比如将一些敏感的列隐藏
22
+ */
23
+ abstract refineOpRecords(): Promise<void>;
24
+ constructor(store: AsyncRowStore<ED, AsyncContext<ED>>);
25
+ restartToExecute(routine: (context: this) => Promise<any>): Promise<void>;
26
+ getHeader(key: string): string | string[] | undefined;
27
+ getScene(): string | undefined;
28
+ setScene(scene?: string): void;
29
+ private resetEvents;
30
+ on(event: 'commit' | 'rollback', callback: () => Promise<void>): void;
31
+ saveOpRecord<T extends keyof ED>(entity: T, operation: ED[T]['Operation']): void;
32
+ /**
33
+ * 一个context中不应该有并发的事务,这里将事务串行化,使用的时候千万要注意不要自己等自己
34
+ * @param options
35
+ */
36
+ begin(options?: TxnOption): Promise<void>;
37
+ commit(): Promise<void>;
38
+ rollback(): Promise<void>;
39
+ operate<T extends keyof ED, OP extends OperateOption>(entity: T, operation: ED[T]['Operation'], option: OP): Promise<OperationResult<ED>>;
40
+ select<T extends keyof ED, OP extends SelectOption>(entity: T, selection: ED[T]['Selection'], option: OP): Promise<Partial<ED[T]["Schema"]>[]>;
41
+ aggregate<T extends keyof ED, OP extends SelectOption>(entity: T, aggregation: ED[T]['Aggregation'], option: OP): Promise<AggregationResult<ED[T]["Schema"]>>;
42
+ count<T extends keyof ED, OP extends SelectOption>(entity: T, selection: Pick<ED[T]['Selection'], 'filter' | 'count'>, option: OP): Promise<number>;
43
+ exec(script: string, txnId?: string): Promise<void>;
44
+ mergeMultipleResults(toBeMerged: OperationResult<ED>[]): OperationResult<ED>;
45
+ getCurrentTxnId(): string | undefined;
46
+ getSchema(): import("../types").StorageSchema<ED>;
47
+ setMessage(message: string): void;
48
+ getMessage(): string | undefined;
49
+ abstract isRoot(): boolean;
50
+ abstract getCurrentUserId(allowUnloggedIn?: boolean): string | undefined;
51
+ abstract toString(): string;
52
+ abstract initialize(data: any): Promise<void>;
53
+ abstract allowUserUpdate(): boolean;
54
+ abstract openRootMode(): () => void;
55
+ }
56
+ export interface AsyncRowStore<ED extends EntityDict, Cxt extends AsyncContext<ED>> extends RowStore<ED> {
57
+ operate<T extends keyof ED, OP extends OperateOption>(entity: T, operation: ED[T]['Operation'], context: Cxt, option: OP): Promise<OperationResult<ED>>;
58
+ select<T extends keyof ED, OP extends SelectOption>(entity: T, selection: ED[T]['Selection'], context: Cxt, option: OP): Promise<Partial<ED[T]['Schema']>[]>;
59
+ aggregate<T extends keyof ED, OP extends SelectOption>(entity: T, aggregation: ED[T]['Aggregation'], context: Cxt, option: OP): Promise<AggregationResult<ED[T]['Schema']>>;
60
+ count<T extends keyof ED, OP extends SelectOption>(entity: T, selection: Pick<ED[T]['Selection'], 'filter' | 'count'>, context: Cxt, option: OP): Promise<number>;
61
+ begin(option?: TxnOption): Promise<string>;
62
+ commit(txnId: string): Promise<void>;
63
+ rollback(txnId: string): Promise<void>;
64
+ exec(script: string, txnId?: string): Promise<void>;
65
+ }
@@ -118,24 +118,28 @@ class AsyncContext {
118
118
  async commit() {
119
119
  if (this.uuid) {
120
120
  await this.rowStore.commit(this.uuid);
121
- this.uuid = undefined;
122
121
  const { commit: commitEvents } = this.events;
123
- this.resetEvents();
124
122
  for (const e of commitEvents) {
125
123
  await e();
126
124
  }
125
+ this.uuid = undefined;
126
+ this.resetEvents();
127
+ this.opRecords = [];
128
+ this.opResult = {};
129
+ this.message = '';
127
130
  }
128
131
  }
129
132
  async rollback() {
130
133
  if (this.uuid) {
131
134
  await this.rowStore.rollback(this.uuid);
132
- // console.log('rollback', this.uuid);
133
- this.uuid = undefined;
134
135
  const { rollback: rollbackEvents } = this.events;
135
- this.resetEvents();
136
136
  for (const e of rollbackEvents) {
137
137
  await e();
138
138
  }
139
+ this.uuid = undefined;
140
+ this.opRecords = [];
141
+ this.opResult = {};
142
+ this.resetEvents();
139
143
  }
140
144
  }
141
145
  async operate(entity, operation, option) {