oak-domain 4.0.0 → 4.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (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 +27 -27
  57. package/lib/compiler/localeBuilder.js +37 -8
  58. package/lib/compiler/routerBuilder.d.ts +1 -0
  59. package/lib/compiler/routerBuilder.js +257 -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 -60
  86. package/lib/store/AsyncRowStore.js +176 -118
  87. package/lib/store/CascadeStore.d.ts +10 -5
  88. package/lib/store/CascadeStore.js +102 -42
  89. package/lib/store/RelationAuth.d.ts +96 -96
  90. package/lib/store/RelationAuth.js +1336 -1336
  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 -38
  94. package/lib/store/TriggerExecutor.js +133 -124
  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 +4 -4
  99. package/lib/store/checker.d.ts +26 -26
  100. package/lib/store/checker.js +487 -487
  101. package/lib/store/filter.d.ts +85 -85
  102. package/lib/store/filter.js +1652 -1651
  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 -88
  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 -203
  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 -88
  131. package/lib/types/Environment.js +2 -2
  132. package/lib/types/Exception.d.ts +147 -147
  133. package/lib/types/Exception.js +406 -406
  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 -18
  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 -14
  146. package/lib/types/Trigger.d.ts +118 -124
  147. package/lib/types/Trigger.js +35 -58
  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 +2 -2
  154. package/lib/utils/assert.d.ts +1 -0
  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 -4
  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 -0
  185. package/lib/utils/url/whatwg-url/index.js +16 -0
  186. package/lib/utils/url/whatwg-url/lib/URL-impl.d.ts +20 -0
  187. package/lib/utils/url/whatwg-url/lib/URL-impl.js +175 -0
  188. package/lib/utils/url/whatwg-url/lib/URL.d.ts +1 -0
  189. package/lib/utils/url/whatwg-url/lib/URL.js +298 -0
  190. package/lib/utils/url/whatwg-url/lib/URLSearchParams-impl.d.ts +19 -0
  191. package/lib/utils/url/whatwg-url/lib/URLSearchParams-impl.js +126 -0
  192. package/lib/utils/url/whatwg-url/lib/URLSearchParams.d.ts +1 -0
  193. package/lib/utils/url/whatwg-url/lib/URLSearchParams.js +426 -0
  194. package/lib/utils/url/whatwg-url/lib/infra.d.ts +12 -0
  195. package/lib/utils/url/whatwg-url/lib/infra.js +25 -0
  196. package/lib/utils/url/whatwg-url/lib/url-state-machine.d.ts +24 -0
  197. package/lib/utils/url/whatwg-url/lib/url-state-machine.js +1238 -0
  198. package/lib/utils/url/whatwg-url/lib/urlencoded.d.ts +15 -0
  199. package/lib/utils/url/whatwg-url/lib/urlencoded.js +162 -0
  200. package/lib/utils/url/whatwg-url/lib/utils.d.ts +37 -0
  201. package/lib/utils/url/whatwg-url/lib/utils.js +101 -0
  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 +3 -3
@@ -1,88 +1,90 @@
1
- export type WechatMpEnv = {
2
- type: 'wechatMp';
3
- brand: string;
4
- model: string;
5
- pixelRatio: number;
6
- screenWidth: number;
7
- screenHeight: number;
8
- windowWidth: number;
9
- windowHeight: number;
10
- statusBarHeight: number;
11
- language: string;
12
- version: string;
13
- system: string;
14
- platform: string;
15
- fontSizeSetting: number;
16
- SDKVersion: string;
17
- benchmarkLevel: number;
18
- albumAuthorized?: boolean;
19
- cameraAuthorized: boolean;
20
- locationAuthorized: boolean;
21
- microphoneAuthorized: boolean;
22
- notificationAuthorized: boolean;
23
- notificationAlertAuthorized?: boolean;
24
- notificationBadgeAuthorized?: boolean;
25
- notificationSoundAuthorized?: boolean;
26
- phoneCalendarAuthorized: boolean;
27
- bluetoothEnabled: boolean;
28
- locationEnabled: boolean;
29
- wifiEnabled: boolean;
30
- locationReducedAccuracy?: boolean;
31
- theme?: 'light' | 'dark';
32
- enableDebug: boolean;
33
- deviceOrientation: 'portrait' | 'landscape';
34
- localStorageEnabled: true;
35
- };
36
- export type WebEnv = {
37
- type: 'web';
38
- visitorId: string;
39
- platform: {
40
- value: string;
41
- };
42
- timezone: {
43
- value: string;
44
- };
45
- vendor: {
46
- value: string;
47
- };
48
- vendorFlavors: {
49
- value: string[];
50
- };
51
- language: string;
52
- localStorageEnabled: boolean;
53
- };
54
- export type ServerEnv = {
55
- type: 'server';
56
- };
57
- export type NativeEnv = {
58
- constants: {
59
- isTesting: boolean;
60
- reactNativeVersion: object;
61
- Version?: number;
62
- Release?: string;
63
- Serial?: string;
64
- Fingerprint?: string;
65
- Model?: string;
66
- Brand?: string;
67
- Manufacture?: string;
68
- ServerHost?: string;
69
- uiMode?: 'car' | 'desk' | 'normal' | 'tv' | 'watch' | 'unknown';
70
- forceTouchAvailable?: boolean;
71
- interfaceIdiom?: string;
72
- osVersion?: string;
73
- systemName?: string;
74
- };
75
- isPad: boolean;
76
- isTesting: boolean;
77
- OS: 'android' | 'ios';
78
- Version: number | string;
79
- language: string;
80
- };
81
- export type Environment = WechatMpEnv | WebEnv | ServerEnv | NativeEnv;
82
- export type BriefEnv = {
83
- system: string;
84
- brand?: string;
85
- model?: string;
86
- wechat?: string;
87
- explorer?: string;
88
- };
1
+ export type WechatMpEnv = {
2
+ type: 'wechatMp';
3
+ brand: string;
4
+ model: string;
5
+ pixelRatio: number;
6
+ screenWidth: number;
7
+ screenHeight: number;
8
+ windowWidth: number;
9
+ windowHeight: number;
10
+ statusBarHeight: number;
11
+ language: string;
12
+ version: string;
13
+ system: string;
14
+ platform: string;
15
+ fontSizeSetting: number;
16
+ SDKVersion: string;
17
+ benchmarkLevel: number;
18
+ albumAuthorized?: boolean;
19
+ cameraAuthorized: boolean;
20
+ locationAuthorized: boolean;
21
+ microphoneAuthorized: boolean;
22
+ notificationAuthorized: boolean;
23
+ notificationAlertAuthorized?: boolean;
24
+ notificationBadgeAuthorized?: boolean;
25
+ notificationSoundAuthorized?: boolean;
26
+ phoneCalendarAuthorized: boolean;
27
+ bluetoothEnabled: boolean;
28
+ locationEnabled: boolean;
29
+ wifiEnabled: boolean;
30
+ locationReducedAccuracy?: boolean;
31
+ theme?: 'light' | 'dark';
32
+ enableDebug: boolean;
33
+ deviceOrientation: 'portrait' | 'landscape';
34
+ localStorageEnabled: true;
35
+ };
36
+ export type WebEnv = {
37
+ type: 'web';
38
+ visitorId: string;
39
+ platform: {
40
+ value: string;
41
+ };
42
+ timezone: {
43
+ value: string;
44
+ };
45
+ vendor: {
46
+ value: string;
47
+ };
48
+ vendorFlavors: {
49
+ value: string[];
50
+ };
51
+ language: string;
52
+ localStorageEnabled: boolean;
53
+ };
54
+ export type ServerEnv = {
55
+ type: 'server';
56
+ };
57
+ export type NativeEnv = {
58
+ constants: {
59
+ isTesting: boolean;
60
+ reactNativeVersion: object;
61
+ Version?: number;
62
+ Release?: string;
63
+ Serial?: string;
64
+ Fingerprint?: string;
65
+ Model?: string;
66
+ Brand?: string;
67
+ Manufacture?: string;
68
+ ServerHost?: string;
69
+ uiMode?: 'car' | 'desk' | 'normal' | 'tv' | 'watch' | 'unknown';
70
+ forceTouchAvailable?: boolean;
71
+ interfaceIdiom?: string;
72
+ osVersion?: string;
73
+ systemName?: string;
74
+ };
75
+ isPad: boolean;
76
+ isTesting: boolean;
77
+ OS: 'android' | 'ios';
78
+ Version: number | string;
79
+ language: string;
80
+ visitorId: string;
81
+ type: 'native';
82
+ };
83
+ export type Environment = WechatMpEnv | WebEnv | ServerEnv | NativeEnv;
84
+ export type BriefEnv = {
85
+ system: string;
86
+ brand?: string;
87
+ model?: string;
88
+ wechat?: string;
89
+ explorer?: string;
90
+ };
@@ -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,147 +1,147 @@
1
- import { EntityDict, OpRecord, SelectOpResult } from "./Entity";
2
- export declare class OakException<ED extends EntityDict> extends Error {
3
- opRecord: SelectOpResult<ED>;
4
- constructor(message?: string);
5
- addData<T extends keyof ED>(entity: T, rows: Partial<ED[T]['OpSchema']>[]): void;
6
- setOpRecords(opRecord: SelectOpResult<ED>): void;
7
- toString(): string;
8
- }
9
- export declare class OakDataException<ED extends EntityDict> extends OakException<ED> {
10
- }
11
- export declare class OakUniqueViolationException<ED extends EntityDict> extends OakException<ED> {
12
- rows: Array<{
13
- id?: string;
14
- attrs: string[];
15
- }>;
16
- constructor(rows: Array<{
17
- id?: string;
18
- attrs: string[];
19
- }>, message?: string);
20
- }
21
- export declare class OakImportDataParseException<ED extends EntityDict> extends OakException<ED> {
22
- line: number;
23
- header?: string;
24
- constructor(message: string, line: number, header?: string);
25
- }
26
- export declare class OakNoRelationDefException<ED extends EntityDict, T extends keyof ED> extends OakDataException<ED> {
27
- entity: T;
28
- actions: ED[T]['Action'][];
29
- constructor(entity: T, actions: ED[T]['Action'][], msg?: string);
30
- toString(): string;
31
- }
32
- export declare class OakOperExistedException<ED extends EntityDict> extends OakDataException<ED> {
33
- }
34
- export declare class OakRowUnexistedException<ED extends EntityDict> extends OakDataException<ED> {
35
- private rows;
36
- constructor(rows: Array<{
37
- entity: any;
38
- selection: any;
39
- }>);
40
- toString(): string;
41
- getRows(): {
42
- entity: any;
43
- selection: any;
44
- }[];
45
- }
46
- /**
47
- * 可接受的、由用户操作造成的异常
48
- */
49
- export declare class OakUserException<ED extends EntityDict> extends OakException<ED> {
50
- }
51
- /**
52
- * 网络中断异常
53
- */
54
- export declare class OakNetworkException<ED extends EntityDict> extends OakException<ED> {
55
- }
56
- export declare class OakServerProxyException<ED extends EntityDict> extends OakException<ED> {
57
- }
58
- /**
59
- * 数据不一致异常,系统认为现有的数据不允许相应的动作时抛此异常
60
- *
61
- */
62
- export declare class OakRowInconsistencyException<ED extends EntityDict> extends OakUserException<ED> {
63
- constructor(data?: OpRecord<ED>, message?: string);
64
- toString(): string;
65
- }
66
- /**
67
- * 当输入的数据非法时抛此异常,attributes表示非法的属性
68
- */
69
- export declare class OakInputIllegalException<ED extends EntityDict> extends OakUserException<ED> {
70
- private attributes;
71
- private entity;
72
- constructor(entity: keyof ED, attributes: string[], message?: string);
73
- getEntity(): keyof ED;
74
- getAttributes(): string[];
75
- addAttributesPrefix(prefix: string): void;
76
- toString(): string;
77
- }
78
- /**
79
- * 属性为空时抛的异常
80
- */
81
- export declare class OakAttrNotNullException<ED extends EntityDict> extends OakInputIllegalException<ED> {
82
- constructor(entity: keyof ED, attributes: string[], message?: string);
83
- }
84
- /**
85
- * 用户权限不够时抛的异常
86
- */
87
- export declare class OakUserUnpermittedException<ED extends EntityDict> extends OakUserException<ED> {
88
- }
89
- /**
90
- * 用户查询权限不够抛出异常
91
- */
92
- export declare class OakUserInvisibleException<ED extends EntityDict> extends OakUserException<ED> {
93
- }
94
- /**
95
- * 用户未登录抛的异常
96
- */
97
- export declare class OakUnloggedInException<ED extends EntityDict> extends OakUserException<ED> {
98
- constructor(message?: string);
99
- }
100
- /**
101
- * 用户未登录抛的异常
102
- */
103
- export declare class OakRowLockedException<ED extends EntityDict> extends OakUserException<ED> {
104
- constructor(message?: string);
105
- }
106
- /**
107
- * 要插入行时,发现已经有相同的行数据
108
- */
109
- export declare class OakCongruentRowExists<ED extends EntityDict, T extends keyof ED> extends OakUserException<ED> {
110
- private data;
111
- private entity;
112
- constructor(entity: T, data: ED[T]['OpSchema'], message?: string);
113
- getData(): ED[T]["OpSchema"];
114
- getEntity(): T;
115
- toString(): string;
116
- }
117
- /**
118
- * 死锁抛的异常
119
- */
120
- export declare class OakDeadlock<ED extends EntityDict> extends OakUserException<ED> {
121
- constructor(message?: string | undefined);
122
- }
123
- /**
124
- * 前置条件不满足抛的异常
125
- */
126
- export declare class OakPreConditionUnsetException<ED extends EntityDict> extends OakUserException<ED> {
127
- entity?: keyof ED;
128
- code?: string;
129
- constructor(message?: string | undefined, entity?: keyof ED | undefined, code?: string | undefined);
130
- toString(): string;
131
- }
132
- /**
133
- * 调用外部接口抛出的异常
134
- */
135
- export declare class OakExternalException<ED extends EntityDict> extends OakUserException<ED> {
136
- code?: string;
137
- source: string;
138
- data?: any;
139
- constructor(source: string, code?: string, message?: string, data?: any);
140
- toString(): string;
141
- }
142
- export declare function makeException<ED extends EntityDict>(data: {
143
- name: string;
144
- message?: string;
145
- opRecords: SelectOpResult<ED>;
146
- [A: string]: any;
147
- }): OakException<EntityDict> | undefined;
1
+ import { EntityDict, OpRecord, SelectOpResult } from "./Entity";
2
+ export declare class OakException<ED extends EntityDict> extends Error {
3
+ opRecord: SelectOpResult<ED>;
4
+ constructor(message?: string);
5
+ addData<T extends keyof ED>(entity: T, rows: Partial<ED[T]['OpSchema']>[]): void;
6
+ setOpRecords(opRecord: SelectOpResult<ED>): void;
7
+ toString(): string;
8
+ }
9
+ export declare class OakDataException<ED extends EntityDict> extends OakException<ED> {
10
+ }
11
+ export declare class OakUniqueViolationException<ED extends EntityDict> extends OakException<ED> {
12
+ rows: Array<{
13
+ id?: string;
14
+ attrs: string[];
15
+ }>;
16
+ constructor(rows: Array<{
17
+ id?: string;
18
+ attrs: string[];
19
+ }>, message?: string);
20
+ }
21
+ export declare class OakImportDataParseException<ED extends EntityDict> extends OakException<ED> {
22
+ line: number;
23
+ header?: string;
24
+ constructor(message: string, line: number, header?: string);
25
+ }
26
+ export declare class OakNoRelationDefException<ED extends EntityDict, T extends keyof ED> extends OakDataException<ED> {
27
+ entity: T;
28
+ actions: ED[T]['Action'][];
29
+ constructor(entity: T, actions: ED[T]['Action'][], msg?: string);
30
+ toString(): string;
31
+ }
32
+ export declare class OakOperExistedException<ED extends EntityDict> extends OakDataException<ED> {
33
+ }
34
+ export declare class OakRowUnexistedException<ED extends EntityDict> extends OakDataException<ED> {
35
+ private rows;
36
+ constructor(rows: Array<{
37
+ entity: any;
38
+ selection: any;
39
+ }>);
40
+ toString(): string;
41
+ getRows(): {
42
+ entity: any;
43
+ selection: any;
44
+ }[];
45
+ }
46
+ /**
47
+ * 可接受的、由用户操作造成的异常
48
+ */
49
+ export declare class OakUserException<ED extends EntityDict> extends OakException<ED> {
50
+ }
51
+ /**
52
+ * 网络中断异常
53
+ */
54
+ export declare class OakNetworkException<ED extends EntityDict> extends OakException<ED> {
55
+ }
56
+ export declare class OakServerProxyException<ED extends EntityDict> extends OakException<ED> {
57
+ }
58
+ /**
59
+ * 数据不一致异常,系统认为现有的数据不允许相应的动作时抛此异常
60
+ *
61
+ */
62
+ export declare class OakRowInconsistencyException<ED extends EntityDict> extends OakUserException<ED> {
63
+ constructor(data?: OpRecord<ED>, message?: string);
64
+ toString(): string;
65
+ }
66
+ /**
67
+ * 当输入的数据非法时抛此异常,attributes表示非法的属性
68
+ */
69
+ export declare class OakInputIllegalException<ED extends EntityDict> extends OakUserException<ED> {
70
+ private attributes;
71
+ private entity;
72
+ constructor(entity: keyof ED, attributes: string[], message?: string);
73
+ getEntity(): keyof ED;
74
+ getAttributes(): string[];
75
+ addAttributesPrefix(prefix: string): void;
76
+ toString(): string;
77
+ }
78
+ /**
79
+ * 属性为空时抛的异常
80
+ */
81
+ export declare class OakAttrNotNullException<ED extends EntityDict> extends OakInputIllegalException<ED> {
82
+ constructor(entity: keyof ED, attributes: string[], message?: string);
83
+ }
84
+ /**
85
+ * 用户权限不够时抛的异常
86
+ */
87
+ export declare class OakUserUnpermittedException<ED extends EntityDict> extends OakUserException<ED> {
88
+ }
89
+ /**
90
+ * 用户查询权限不够抛出异常
91
+ */
92
+ export declare class OakUserInvisibleException<ED extends EntityDict> extends OakUserException<ED> {
93
+ }
94
+ /**
95
+ * 用户未登录抛的异常
96
+ */
97
+ export declare class OakUnloggedInException<ED extends EntityDict> extends OakUserException<ED> {
98
+ constructor(message?: string);
99
+ }
100
+ /**
101
+ * 用户未登录抛的异常
102
+ */
103
+ export declare class OakRowLockedException<ED extends EntityDict> extends OakUserException<ED> {
104
+ constructor(message?: string);
105
+ }
106
+ /**
107
+ * 要插入行时,发现已经有相同的行数据
108
+ */
109
+ export declare class OakCongruentRowExists<ED extends EntityDict, T extends keyof ED> extends OakUserException<ED> {
110
+ private data;
111
+ private entity;
112
+ constructor(entity: T, data: ED[T]['OpSchema'], message?: string);
113
+ getData(): ED[T]["OpSchema"];
114
+ getEntity(): T;
115
+ toString(): string;
116
+ }
117
+ /**
118
+ * 死锁抛的异常
119
+ */
120
+ export declare class OakDeadlock<ED extends EntityDict> extends OakUserException<ED> {
121
+ constructor(message?: string | undefined);
122
+ }
123
+ /**
124
+ * 前置条件不满足抛的异常
125
+ */
126
+ export declare class OakPreConditionUnsetException<ED extends EntityDict> extends OakUserException<ED> {
127
+ entity?: keyof ED;
128
+ code?: string;
129
+ constructor(message?: string | undefined, entity?: keyof ED | undefined, code?: string | undefined);
130
+ toString(): string;
131
+ }
132
+ /**
133
+ * 调用外部接口抛出的异常
134
+ */
135
+ export declare class OakExternalException<ED extends EntityDict> extends OakUserException<ED> {
136
+ code?: string;
137
+ source: string;
138
+ data?: any;
139
+ constructor(source: string, code?: string, message?: string, data?: any);
140
+ toString(): string;
141
+ }
142
+ export declare function makeException<ED extends EntityDict>(data: {
143
+ name: string;
144
+ message?: string;
145
+ opRecords: SelectOpResult<ED>;
146
+ [A: string]: any;
147
+ }): OakException<EntityDict> | undefined;