oak-domain 3.0.1 → 3.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 (226) 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 +38 -38
  5. package/lib/base-app-domain/ActionAuth/Schema.d.ts +160 -160
  6. package/lib/base-app-domain/ActionAuth/Schema.js +2 -2
  7. package/lib/base-app-domain/ActionAuth/Storage.d.ts +3 -3
  8. package/lib/base-app-domain/ActionAuth/Storage.js +42 -42
  9. package/lib/base-app-domain/ActionDefDict.d.ts +9 -9
  10. package/lib/base-app-domain/ActionDefDict.js +11 -11
  11. package/lib/base-app-domain/EntityDict.d.ts +24 -24
  12. package/lib/base-app-domain/EntityDict.js +2 -2
  13. package/lib/base-app-domain/I18n/Schema.d.ts +129 -129
  14. package/lib/base-app-domain/I18n/Schema.js +2 -2
  15. package/lib/base-app-domain/I18n/Storage.d.ts +3 -3
  16. package/lib/base-app-domain/I18n/Storage.js +59 -59
  17. package/lib/base-app-domain/Modi/Action.d.ts +10 -10
  18. package/lib/base-app-domain/Modi/Action.js +14 -14
  19. package/lib/base-app-domain/Modi/Schema.d.ts +136 -136
  20. package/lib/base-app-domain/Modi/Schema.js +2 -2
  21. package/lib/base-app-domain/Modi/Storage.d.ts +3 -3
  22. package/lib/base-app-domain/Modi/Storage.js +63 -63
  23. package/lib/base-app-domain/ModiEntity/Schema.d.ts +311 -311
  24. package/lib/base-app-domain/ModiEntity/Schema.js +2 -2
  25. package/lib/base-app-domain/ModiEntity/Storage.d.ts +3 -3
  26. package/lib/base-app-domain/ModiEntity/Storage.js +30 -30
  27. package/lib/base-app-domain/Oper/Schema.d.ts +152 -152
  28. package/lib/base-app-domain/Oper/Schema.js +2 -2
  29. package/lib/base-app-domain/Oper/Storage.d.ts +3 -3
  30. package/lib/base-app-domain/Oper/Storage.js +38 -38
  31. package/lib/base-app-domain/OperEntity/Schema.d.ts +300 -300
  32. package/lib/base-app-domain/OperEntity/Schema.js +2 -2
  33. package/lib/base-app-domain/OperEntity/Storage.d.ts +3 -3
  34. package/lib/base-app-domain/OperEntity/Storage.js +30 -30
  35. package/lib/base-app-domain/Relation/Schema.d.ts +188 -188
  36. package/lib/base-app-domain/Relation/Schema.js +2 -2
  37. package/lib/base-app-domain/Relation/Storage.d.ts +3 -3
  38. package/lib/base-app-domain/Relation/Storage.js +54 -54
  39. package/lib/base-app-domain/Relation.d.ts +10 -10
  40. package/lib/base-app-domain/Relation.js +10 -10
  41. package/lib/base-app-domain/RelationAuth/Schema.d.ts +180 -180
  42. package/lib/base-app-domain/RelationAuth/Schema.js +2 -2
  43. package/lib/base-app-domain/RelationAuth/Storage.d.ts +3 -3
  44. package/lib/base-app-domain/RelationAuth/Storage.js +46 -46
  45. package/lib/base-app-domain/Storage.d.ts +3 -3
  46. package/lib/base-app-domain/Storage.js +27 -27
  47. package/lib/base-app-domain/User/Action.d.ts +10 -10
  48. package/lib/base-app-domain/User/Action.js +12 -12
  49. package/lib/base-app-domain/User/Schema.d.ts +197 -197
  50. package/lib/base-app-domain/User/Schema.js +2 -2
  51. package/lib/base-app-domain/User/Storage.d.ts +3 -3
  52. package/lib/base-app-domain/User/Storage.js +33 -33
  53. package/lib/base-app-domain/UserEntityGrant/Action.d.ts +5 -5
  54. package/lib/base-app-domain/UserEntityGrant/Action.js +5 -5
  55. package/lib/base-app-domain/UserEntityGrant/Schema.d.ts +157 -157
  56. package/lib/base-app-domain/UserEntityGrant/Schema.js +2 -2
  57. package/lib/base-app-domain/UserEntityGrant/Storage.d.ts +3 -3
  58. package/lib/base-app-domain/UserEntityGrant/Storage.js +29 -29
  59. package/lib/base-app-domain/UserRelation/Schema.d.ts +194 -194
  60. package/lib/base-app-domain/UserRelation/Schema.js +2 -2
  61. package/lib/base-app-domain/UserRelation/Storage.d.ts +3 -3
  62. package/lib/base-app-domain/UserRelation/Storage.js +56 -56
  63. package/lib/base-app-domain/_SubQuery.d.ts +112 -112
  64. package/lib/base-app-domain/_SubQuery.js +2 -2
  65. package/lib/base-app-domain/index.d.ts +4 -4
  66. package/lib/base-app-domain/index.js +7 -7
  67. package/lib/checkers/index.d.ts +5 -5
  68. package/lib/checkers/index.js +14 -14
  69. package/lib/compiler/env.d.ts +14 -14
  70. package/lib/compiler/env.js +50 -50
  71. package/lib/compiler/localeBuilder.d.ts +22 -22
  72. package/lib/compiler/localeBuilder.js +169 -169
  73. package/lib/compiler/schemalBuilder.d.ts +11 -11
  74. package/lib/compiler/schemalBuilder.js +3787 -3787
  75. package/lib/compiler/uiBuilder.d.ts +1 -1
  76. package/lib/compiler/uiBuilder.js +3 -3
  77. package/lib/entities/ActionAuth.d.ts +12 -12
  78. package/lib/entities/ActionAuth.js +29 -29
  79. package/lib/entities/I18n.d.ts +9 -9
  80. package/lib/entities/I18n.js +37 -37
  81. package/lib/entities/Modi.d.ts +11 -11
  82. package/lib/entities/Modi.js +49 -49
  83. package/lib/entities/ModiEntity.d.ts +8 -8
  84. package/lib/entities/ModiEntity.js +18 -18
  85. package/lib/entities/Oper.d.ts +11 -11
  86. package/lib/entities/Oper.js +21 -21
  87. package/lib/entities/OperEntity.d.ts +8 -8
  88. package/lib/entities/OperEntity.js +18 -18
  89. package/lib/entities/Relation.d.ts +8 -8
  90. package/lib/entities/Relation.js +35 -35
  91. package/lib/entities/RelationAuth.d.ts +8 -8
  92. package/lib/entities/RelationAuth.js +34 -34
  93. package/lib/entities/User.d.ts +8 -8
  94. package/lib/entities/User.js +31 -31
  95. package/lib/entities/UserEntityGrant.d.ts +8 -8
  96. package/lib/entities/UserEntityGrant.js +18 -18
  97. package/lib/entities/UserRelation.d.ts +10 -10
  98. package/lib/entities/UserRelation.js +38 -38
  99. package/lib/store/AsyncRowStore.d.ts +58 -58
  100. package/lib/store/AsyncRowStore.js +190 -190
  101. package/lib/store/CascadeStore.d.ts +103 -103
  102. package/lib/store/CascadeStore.js +2036 -2035
  103. package/lib/store/RelationAuth.d.ts +103 -103
  104. package/lib/store/RelationAuth.js +1492 -1492
  105. package/lib/store/SyncRowStore.d.ts +29 -29
  106. package/lib/store/SyncRowStore.js +49 -48
  107. package/lib/store/TriggerExecutor.d.ts +31 -31
  108. package/lib/store/TriggerExecutor.js +532 -532
  109. package/lib/store/actionAuth.d.ts +4 -4
  110. package/lib/store/actionAuth.js +40 -40
  111. package/lib/store/actionDef.d.ts +10 -10
  112. package/lib/store/actionDef.js +353 -351
  113. package/lib/store/checker.d.ts +26 -26
  114. package/lib/store/checker.js +623 -623
  115. package/lib/store/filter.d.ts +123 -123
  116. package/lib/store/filter.js +1761 -1761
  117. package/lib/store/modi.d.ts +13 -13
  118. package/lib/store/modi.js +315 -315
  119. package/lib/store/relation.d.ts +12 -12
  120. package/lib/store/relation.js +67 -67
  121. package/lib/timers/oper.d.ts +18 -18
  122. package/lib/timers/oper.js +60 -60
  123. package/lib/timers/vaccum.d.ts +20 -20
  124. package/lib/timers/vaccum.js +176 -176
  125. package/lib/triggers/index.d.ts +5 -5
  126. package/lib/triggers/index.js +8 -8
  127. package/lib/types/Action.d.ts +20 -20
  128. package/lib/types/Action.js +2 -2
  129. package/lib/types/AppLoader.d.ts +11 -11
  130. package/lib/types/AppLoader.js +10 -10
  131. package/lib/types/Aspect.d.ts +15 -13
  132. package/lib/types/Aspect.js +4 -4
  133. package/lib/types/Auth.d.ts +74 -74
  134. package/lib/types/Auth.js +2 -2
  135. package/lib/types/Connector.d.ts +34 -33
  136. package/lib/types/Connector.js +9 -9
  137. package/lib/types/Context.d.ts +7 -7
  138. package/lib/types/Context.js +3 -3
  139. package/lib/types/DataType.d.ts +24 -24
  140. package/lib/types/DataType.js +6 -6
  141. package/lib/types/Demand.d.ts +88 -88
  142. package/lib/types/Demand.js +10 -10
  143. package/lib/types/Endpoint.d.ts +11 -11
  144. package/lib/types/Endpoint.js +3 -3
  145. package/lib/types/Entity.d.ts +198 -193
  146. package/lib/types/Entity.js +15 -14
  147. package/lib/types/EntityDesc.d.ts +8 -8
  148. package/lib/types/EntityDesc.js +2 -2
  149. package/lib/types/Environment.d.ts +57 -57
  150. package/lib/types/Environment.js +2 -2
  151. package/lib/types/Exception.d.ts +120 -115
  152. package/lib/types/Exception.js +406 -389
  153. package/lib/types/Expression.d.ts +163 -163
  154. package/lib/types/Expression.js +427 -427
  155. package/lib/types/Geo.d.ts +18 -18
  156. package/lib/types/Geo.js +2 -2
  157. package/lib/types/Locale.d.ts +25 -25
  158. package/lib/types/Locale.js +2 -2
  159. package/lib/types/Logger.d.ts +6 -6
  160. package/lib/types/Logger.js +3 -3
  161. package/lib/types/Polyfill.d.ts +24 -24
  162. package/lib/types/Polyfill.js +2 -2
  163. package/lib/types/Port.d.ts +18 -18
  164. package/lib/types/Port.js +2 -2
  165. package/lib/types/RowStore.d.ts +18 -18
  166. package/lib/types/RowStore.js +34 -34
  167. package/lib/types/Storage.d.ts +57 -57
  168. package/lib/types/Storage.js +2 -2
  169. package/lib/types/Style.d.ts +11 -11
  170. package/lib/types/Style.js +2 -2
  171. package/lib/types/Timer.d.ts +14 -14
  172. package/lib/types/Timer.js +2 -2
  173. package/lib/types/Trigger.d.ts +108 -108
  174. package/lib/types/Trigger.js +54 -54
  175. package/lib/types/Txn.d.ts +2 -2
  176. package/lib/types/Txn.js +3 -3
  177. package/lib/types/Watcher.d.ts +19 -19
  178. package/lib/types/Watcher.js +4 -4
  179. package/lib/types/index.d.ts +24 -24
  180. package/lib/types/index.js +27 -27
  181. package/lib/types/schema/DataTypes.d.ts +34 -34
  182. package/lib/types/schema/DataTypes.js +3 -3
  183. package/lib/utils/SimpleConnector.d.ts +50 -48
  184. package/lib/utils/SimpleConnector.js +184 -180
  185. package/lib/utils/assert.d.ts +5 -5
  186. package/lib/utils/assert.js +9 -9
  187. package/lib/utils/concurrent.d.ts +15 -15
  188. package/lib/utils/concurrent.js +89 -89
  189. package/lib/utils/date.d.ts +1 -1
  190. package/lib/utils/date.js +18 -18
  191. package/lib/utils/geo.d.ts +4 -4
  192. package/lib/utils/geo.js +24 -24
  193. package/lib/utils/lodash.d.ts +20 -20
  194. package/lib/utils/lodash.js +55 -55
  195. package/lib/utils/mask.d.ts +5 -5
  196. package/lib/utils/mask.js +35 -35
  197. package/lib/utils/money.d.ts +6 -6
  198. package/lib/utils/money.js +40 -40
  199. package/lib/utils/random/random.d.ts +1 -1
  200. package/lib/utils/random/random.js +24 -24
  201. package/lib/utils/random/random.mp.d.ts +1 -1
  202. package/lib/utils/random/random.mp.js +25 -25
  203. package/lib/utils/random/random.web.d.ts +1 -1
  204. package/lib/utils/random/random.web.js +17 -17
  205. package/lib/utils/string.d.ts +28 -28
  206. package/lib/utils/string.js +82 -82
  207. package/lib/utils/url.d.ts +1 -1
  208. package/lib/utils/url.js +12 -12
  209. package/lib/utils/uuid.d.ts +17 -17
  210. package/lib/utils/uuid.js +257 -257
  211. package/lib/utils/validator.d.ts +25 -25
  212. package/lib/utils/validator.js +128 -128
  213. package/lib/utils/version.d.ts +7 -7
  214. package/lib/utils/version.js +21 -21
  215. package/package.json +49 -49
  216. package/src/entities/ActionAuth.ts +41 -41
  217. package/src/entities/I18n.ts +46 -46
  218. package/src/entities/Modi.ts +69 -69
  219. package/src/entities/ModiEntity.ts +26 -26
  220. package/src/entities/Oper.ts +32 -32
  221. package/src/entities/OperEntity.ts +27 -27
  222. package/src/entities/Relation.ts +43 -43
  223. package/src/entities/RelationAuth.ts +43 -43
  224. package/src/entities/User.ts +48 -48
  225. package/src/entities/UserEntityGrant.ts +27 -27
  226. package/src/entities/UserRelation.ts +50 -50
@@ -1,193 +1,198 @@
1
- import { ReadOnlyAction } from '../actions/action';
2
- import { PrimaryKey, Sequence } from './DataType';
3
- declare type TriggerDataAttributeType = '$$triggerData$$';
4
- declare type TriggerTimestampAttributeType = '$$triggerTimestamp$$';
5
- declare type PrimaryKeyAttributeType = 'id';
6
- declare type CreateAtAttributeType = '$$createAt$$';
7
- declare type UpdateAtAttributeType = '$$updateAt$$';
8
- declare type DeleteAtAttributeType = '$$deleteAt$$';
9
- declare type SeqAttributeType = '$$seq$$';
10
- export declare const TriggerDataAttribute = "$$triggerData$$";
11
- export declare const TriggerTimestampAttribute = "$$triggerTimestamp$$";
12
- export declare const PrimaryKeyAttribute = "id";
13
- export declare const CreateAtAttribute = "$$createAt$$";
14
- export declare const UpdateAtAttribute = "$$updateAt$$";
15
- export declare const DeleteAtAttribute = "$$deleteAt$$";
16
- export declare const SeqAttribute = "$$seq$$";
17
- export declare type InstinctiveAttributes = PrimaryKeyAttributeType | CreateAtAttributeType | UpdateAtAttributeType | DeleteAtAttributeType | TriggerDataAttributeType | TriggerTimestampAttributeType | SeqAttributeType;
18
- export declare const initinctiveAttributes: string[];
19
- declare type FilterPart<A extends string, F extends Object | undefined> = {
20
- filter?: A extends 'create' ? undefined : F;
21
- indexFrom?: A extends 'create' ? undefined : number;
22
- count?: A extends 'create' ? undefined : number;
23
- };
24
- export declare type SelectOption = {
25
- dontCollect?: boolean;
26
- blockTrigger?: true;
27
- obscure?: boolean;
28
- forUpdate?: true;
29
- includedDeleted?: true;
30
- ignoreForeignKeyMiss?: true;
31
- dummy?: 1;
32
- };
33
- export declare type OperateOption = {
34
- blockTrigger?: true;
35
- dontCollect?: boolean;
36
- dontCreateOper?: boolean;
37
- dontCreateModi?: boolean;
38
- allowExists?: boolean;
39
- modiParentId?: string;
40
- modiParentEntity?: string;
41
- deletePhysically?: boolean;
42
- dummy?: 1;
43
- };
44
- export declare type FormUpdateData<SH extends GeneralEntityShape> = Partial<{
45
- [K in keyof Omit<SH, InstinctiveAttributes>]: SH[K] | null;
46
- }>;
47
- export declare type FormCreateData<SH extends GeneralEntityShape> = Partial<Omit<SH, InstinctiveAttributes>> & {
48
- id: string;
49
- };
50
- export declare type Operation<A extends string, D extends Projection, F extends Filter | undefined = undefined, S extends Sorter | undefined = undefined> = {
51
- id: string;
52
- action: A;
53
- data: D;
54
- sorter?: S;
55
- } & FilterPart<A, F>;
56
- export declare type Selection<A extends ReadOnlyAction, D extends Projection, F extends Filter | undefined = undefined, S extends Sorter | undefined = undefined> = {
57
- id?: string;
58
- action?: A;
59
- data: D;
60
- sorter?: S;
61
- } & FilterPart<A, F> & {
62
- randomRange?: number;
63
- };
64
- export interface EntityShape {
65
- id: PrimaryKey;
66
- $$seq$$: Sequence;
67
- $$createAt$$: number | Date;
68
- $$updateAt$$: number | Date;
69
- $$deleteAt$$?: number | Date | null;
70
- }
71
- export interface GeneralEntityShape extends EntityShape {
72
- [K: string]: any;
73
- }
74
- export declare type MakeAction<A extends string> = A;
75
- export interface EntityDef {
76
- Schema: GeneralEntityShape;
77
- OpSchema: GeneralEntityShape;
78
- Action: string;
79
- ParticularAction?: string;
80
- Selection: Selection<'select', Projection, Filter, Sorter>;
81
- Aggregation: DeduceAggregation<Projection, Filter, Sorter>;
82
- Operation: CUDOperation;
83
- Create: CreateOperation;
84
- CreateSingle: CreateSingleOperation;
85
- CreateMulti: CreateMultipleOperation;
86
- Update: UpdateOperation;
87
- Remove: RemoveOperation;
88
- Relation?: string;
89
- }
90
- export interface EntityDict {
91
- [E: string]: EntityDef;
92
- }
93
- export interface OtmSubProjection extends Omit<Operation<'select', any, any, any>, 'action'> {
94
- $entity: string;
95
- }
96
- export declare type AggregationOp = `#max-${number}` | `#min-${number}` | `#avg-${number}` | `#count-${number}` | `#sum-${number}`;
97
- export declare type DeduceAggregationData<P extends Projection> = {
98
- [A in AggregationOp]?: P;
99
- } & {
100
- '#aggr'?: P;
101
- };
102
- export declare type AggregationResult<SH extends GeneralEntityShape> = Array<{
103
- [A in AggregationOp]?: number | string;
104
- } & {
105
- '#data'?: Partial<SH>;
106
- }>;
107
- export declare type AttrFilter<SH extends GeneralEntityShape> = {
108
- [K in keyof SH]?: any;
109
- };
110
- declare type SortAttr = {
111
- [K: string]: any;
112
- };
113
- declare type SorterItem = {
114
- $attr: SortAttr;
115
- $direction?: "asc" | "desc";
116
- };
117
- declare type Sorter = Array<SorterItem>;
118
- declare type Filter = {
119
- [K: string]: any;
120
- };
121
- declare type Projection = {
122
- [K: string]: any;
123
- };
124
- export declare type DeduceAggregation<P extends Projection, F extends Filter, S extends Sorter> = Omit<Selection<'aggregate', DeduceAggregationData<P>, F, S>, 'action'>;
125
- declare type CreateOperationData = {
126
- id: string;
127
- [K: string]: any;
128
- };
129
- declare type CreateSingleOperation = Operation<'create', CreateOperationData, undefined, undefined>;
130
- declare type CreateMultipleOperation = Operation<'create', Array<CreateOperationData>, undefined, undefined>;
131
- declare type CreateOperation = CreateSingleOperation | CreateMultipleOperation;
132
- declare type UpdateOperationData = {
133
- id?: never;
134
- [k: string]: any;
135
- };
136
- export declare type UpdateOperation = Operation<string, UpdateOperationData, Filter, Sorter>;
137
- declare type RemoveOperationData = {
138
- [k: string]: any;
139
- };
140
- export declare type RemoveOperation = Operation<'remove', RemoveOperationData, Filter, Sorter>;
141
- export declare type CUDOperation = CreateOperation | UpdateOperation | RemoveOperation;
142
- export declare type CreateOpResult<ED extends EntityDict, T extends keyof ED> = {
143
- a: 'c';
144
- e: T;
145
- d: ED[T]['OpSchema'] | ED[T]['OpSchema'][];
146
- };
147
- export declare type UpdateOpResult<ED extends EntityDict, T extends keyof ED> = {
148
- a: 'u';
149
- e: T;
150
- d: UpdateOperationData;
151
- f?: Filter;
152
- };
153
- export declare type RemoveOpResult<ED extends EntityDict, T extends keyof ED> = {
154
- a: 'r';
155
- e: T;
156
- f?: Filter;
157
- };
158
- export declare type RelationHierarchy<R extends string> = {
159
- [K in R]?: R[];
160
- };
161
- export declare type CascadeRelationItem = {
162
- cascadePath: string;
163
- relations?: string[];
164
- };
165
- export declare type CascadeRelationAuth<R extends string> = {
166
- [K in R]?: CascadeRelationItem | (CascadeRelationItem | CascadeRelationItem[])[];
167
- };
168
- export declare type SelectOpResult<ED extends EntityDict> = {
169
- a: 's';
170
- d: {
171
- [T in keyof ED]?: {
172
- [ID: string]: Partial<ED[T]['OpSchema']>;
173
- };
174
- };
175
- };
176
- export declare type OpRecord<ED extends EntityDict> = CreateOpResult<ED, keyof ED> | UpdateOpResult<ED, keyof ED> | RemoveOpResult<ED, keyof ED> | SelectOpResult<ED>;
177
- export declare type OperationResult<ED extends EntityDict> = {
178
- [K in keyof ED]?: {
179
- [A in ED[K]['Action']]?: number;
180
- };
181
- };
182
- export declare type ActionType = 'readOnly' | 'appendOnly' | 'excludeUpdate' | 'excludeRemove' | 'crud';
183
- export declare type Configuration = {
184
- actionType?: ActionType;
185
- static?: boolean;
186
- };
187
- export declare type AuthCascadePath<ED extends EntityDict> = [keyof ED, string, keyof ED, boolean];
188
- export declare type AuthDeduceRelationMap<ED extends EntityDict> = {
189
- [T in keyof ED]?: keyof ED[T]['OpSchema'];
190
- };
191
- export declare type SelectFreeEntities<ED extends EntityDict> = (keyof ED)[];
192
- export declare type OtmKey<K extends string> = K | `${K}$${number}`;
193
- export {};
1
+ import { ReadOnlyAction } from '../actions/action';
2
+ import { PrimaryKey, Sequence } from './DataType';
3
+ declare type TriggerDataAttributeType = '$$triggerData$$';
4
+ declare type TriggerTimestampAttributeType = '$$triggerTimestamp$$';
5
+ declare type PrimaryKeyAttributeType = 'id';
6
+ declare type CreateAtAttributeType = '$$createAt$$';
7
+ declare type UpdateAtAttributeType = '$$updateAt$$';
8
+ declare type DeleteAtAttributeType = '$$deleteAt$$';
9
+ declare type SeqAttributeType = '$$seq$$';
10
+ export declare const TriggerDataAttribute = "$$triggerData$$";
11
+ export declare const TriggerTimestampAttribute = "$$triggerTimestamp$$";
12
+ export declare const PrimaryKeyAttribute = "id";
13
+ export declare const CreateAtAttribute = "$$createAt$$";
14
+ export declare const UpdateAtAttribute = "$$updateAt$$";
15
+ export declare const DeleteAtAttribute = "$$deleteAt$$";
16
+ export declare const SeqAttribute = "$$seq$$";
17
+ export declare type InstinctiveAttributes = PrimaryKeyAttributeType | CreateAtAttributeType | UpdateAtAttributeType | DeleteAtAttributeType | TriggerDataAttributeType | TriggerTimestampAttributeType | SeqAttributeType;
18
+ export declare const initinctiveAttributes: string[];
19
+ declare type FilterPart<A extends string, F extends Object | undefined> = {
20
+ filter?: A extends 'create' ? undefined : F;
21
+ indexFrom?: A extends 'create' ? undefined : number;
22
+ count?: A extends 'create' ? undefined : number;
23
+ };
24
+ export declare type SelectOption = {
25
+ dontCollect?: boolean;
26
+ blockTrigger?: true;
27
+ obscure?: boolean;
28
+ forUpdate?: true;
29
+ includedDeleted?: true;
30
+ ignoreForeignKeyMiss?: true;
31
+ dummy?: 1;
32
+ };
33
+ export declare type OperateOption = {
34
+ blockTrigger?: true;
35
+ dontCollect?: boolean;
36
+ dontCreateOper?: boolean;
37
+ dontCreateModi?: boolean;
38
+ allowExists?: boolean;
39
+ modiParentId?: string;
40
+ modiParentEntity?: string;
41
+ deletePhysically?: boolean;
42
+ dummy?: 1;
43
+ };
44
+ export declare type FormUpdateData<SH extends GeneralEntityShape> = Partial<{
45
+ [K in keyof Omit<SH, InstinctiveAttributes>]: SH[K] | null;
46
+ }>;
47
+ export declare type FormCreateData<SH extends GeneralEntityShape> = Partial<Omit<SH, InstinctiveAttributes>> & {
48
+ id: string;
49
+ };
50
+ export declare type Operation<A extends string, D extends Projection, F extends Filter | undefined = undefined, S extends Sorter | undefined = undefined> = {
51
+ id: string;
52
+ action: A;
53
+ data: D;
54
+ sorter?: S;
55
+ } & FilterPart<A, F>;
56
+ export declare type Selection<A extends ReadOnlyAction, D extends Projection, F extends Filter | undefined = undefined, S extends Sorter | undefined = undefined> = {
57
+ id?: string;
58
+ action?: A;
59
+ data: D;
60
+ sorter?: S;
61
+ } & FilterPart<A, F> & {
62
+ randomRange?: number;
63
+ };
64
+ export interface EntityShape {
65
+ id: PrimaryKey;
66
+ $$seq$$: Sequence;
67
+ $$createAt$$: number | Date;
68
+ $$updateAt$$: number | Date;
69
+ $$deleteAt$$?: number | Date | null;
70
+ }
71
+ export interface GeneralEntityShape extends EntityShape {
72
+ [K: string]: any;
73
+ }
74
+ export declare type MakeAction<A extends string> = A;
75
+ export interface EntityDef {
76
+ Schema: GeneralEntityShape;
77
+ OpSchema: GeneralEntityShape;
78
+ Action: string;
79
+ ParticularAction?: string;
80
+ Selection: Selection<'select', Projection, Filter, Sorter>;
81
+ Aggregation: DeduceAggregation<Projection, Filter, Sorter>;
82
+ Operation: CUDOperation;
83
+ Create: CreateOperation;
84
+ CreateSingle: CreateSingleOperation;
85
+ CreateMulti: CreateMultipleOperation;
86
+ Update: UpdateOperation;
87
+ Remove: RemoveOperation;
88
+ Relation?: string;
89
+ }
90
+ export interface EntityDict {
91
+ [E: string]: EntityDef;
92
+ }
93
+ export interface OtmSubProjection extends Omit<Operation<'select', any, any, any>, 'action'> {
94
+ $entity: string;
95
+ }
96
+ export declare type AggregationOp = `#max-${number}` | `#min-${number}` | `#avg-${number}` | `#count-${number}` | `#sum-${number}`;
97
+ export declare type DeduceAggregationData<P extends Projection> = {
98
+ [A in AggregationOp]?: P;
99
+ } & {
100
+ '#aggr'?: P;
101
+ };
102
+ export declare type AggregationResult<SH extends GeneralEntityShape> = Array<{
103
+ [A in AggregationOp]?: number | string;
104
+ } & {
105
+ '#data'?: Partial<SH>;
106
+ }>;
107
+ export declare type AttrFilter<SH extends GeneralEntityShape> = {
108
+ [K in keyof SH]?: any;
109
+ };
110
+ declare type SortAttr = {
111
+ [K: string]: any;
112
+ };
113
+ declare type SorterItem = {
114
+ $attr: SortAttr;
115
+ $direction?: "asc" | "desc";
116
+ };
117
+ declare type Sorter = Array<SorterItem>;
118
+ declare type Filter = {
119
+ [K: string]: any;
120
+ };
121
+ declare type Projection = {
122
+ [K: string]: any;
123
+ };
124
+ export declare type DeduceAggregation<P extends Projection, F extends Filter, S extends Sorter> = Omit<Selection<'aggregate', DeduceAggregationData<P>, F, S>, 'action'>;
125
+ declare type CreateOperationData = {
126
+ id: string;
127
+ [K: string]: any;
128
+ };
129
+ declare type CreateSingleOperation = Operation<'create', CreateOperationData, undefined, undefined>;
130
+ declare type CreateMultipleOperation = Operation<'create', Array<CreateOperationData>, undefined, undefined>;
131
+ declare type CreateOperation = CreateSingleOperation | CreateMultipleOperation;
132
+ declare type UpdateOperationData = {
133
+ id?: never;
134
+ [k: string]: any;
135
+ };
136
+ export declare type UpdateOperation = Operation<string, UpdateOperationData, Filter, Sorter>;
137
+ declare type RemoveOperationData = {
138
+ [k: string]: any;
139
+ };
140
+ export declare type RemoveOperation = Operation<'remove', RemoveOperationData, Filter, Sorter>;
141
+ export declare type CUDOperation = CreateOperation | UpdateOperation | RemoveOperation;
142
+ export declare type CreateOpResult<ED extends EntityDict, T extends keyof ED> = {
143
+ a: 'c';
144
+ e: T;
145
+ d: ED[T]['OpSchema'] | ED[T]['OpSchema'][];
146
+ };
147
+ export declare type UpdateOpResult<ED extends EntityDict, T extends keyof ED> = {
148
+ a: 'u';
149
+ e: T;
150
+ d: UpdateOperationData;
151
+ f?: Filter;
152
+ };
153
+ export declare type RemoveOpResult<ED extends EntityDict, T extends keyof ED> = {
154
+ a: 'r';
155
+ e: T;
156
+ f?: Filter;
157
+ };
158
+ export declare type RelationHierarchy<R extends string> = {
159
+ [K in R]?: R[];
160
+ };
161
+ export declare type CascadeRelationItem = {
162
+ cascadePath: string;
163
+ relations?: string[];
164
+ };
165
+ export declare type CascadeRelationAuth<R extends string> = {
166
+ [K in R]?: CascadeRelationItem | (CascadeRelationItem | CascadeRelationItem[])[];
167
+ };
168
+ export declare type SelectOpResult<ED extends EntityDict> = {
169
+ a: 's';
170
+ d: {
171
+ [T in keyof ED]?: {
172
+ [ID: string]: Partial<ED[T]['OpSchema']>;
173
+ };
174
+ };
175
+ };
176
+ export declare type OpRecord<ED extends EntityDict> = CreateOpResult<ED, keyof ED> | UpdateOpResult<ED, keyof ED> | RemoveOpResult<ED, keyof ED> | SelectOpResult<ED>;
177
+ export declare type OperationResult<ED extends EntityDict> = {
178
+ [K in keyof ED]?: {
179
+ [A in ED[K]['Action']]?: number;
180
+ };
181
+ };
182
+ export declare type ActionType = 'readOnly' | 'appendOnly' | 'excludeUpdate' | 'excludeRemove' | 'crud';
183
+ export declare type Configuration = {
184
+ actionType?: ActionType;
185
+ static?: boolean;
186
+ };
187
+ export declare type AuthCascadePath<ED extends EntityDict> = [keyof ED, string, keyof ED, boolean];
188
+ export declare type AuthDeduceRelationMap<ED extends EntityDict> = {
189
+ [T in keyof ED]?: keyof ED[T]['OpSchema'];
190
+ };
191
+ export declare type SelectFreeEntities<ED extends EntityDict> = (keyof ED)[];
192
+ export declare type OtmKey<K extends string> = K | `${K}$${number}`;
193
+ export interface SubDataDef<ED extends EntityDict, T extends keyof ED> {
194
+ id: string;
195
+ entity: T;
196
+ filter: ED[T]['Selection']['filter'];
197
+ }
198
+ export {};
@@ -1,14 +1,15 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.initinctiveAttributes = exports.SeqAttribute = exports.DeleteAtAttribute = exports.UpdateAtAttribute = exports.CreateAtAttribute = exports.PrimaryKeyAttribute = exports.TriggerTimestampAttribute = exports.TriggerDataAttribute = void 0;
4
- exports.TriggerDataAttribute = '$$triggerData$$';
5
- exports.TriggerTimestampAttribute = '$$triggerTimestamp$$';
6
- exports.PrimaryKeyAttribute = 'id';
7
- exports.CreateAtAttribute = '$$createAt$$';
8
- exports.UpdateAtAttribute = '$$updateAt$$';
9
- exports.DeleteAtAttribute = '$$deleteAt$$';
10
- exports.SeqAttribute = '$$seq$$';
11
- exports.initinctiveAttributes = [exports.PrimaryKeyAttribute, exports.TriggerDataAttribute, exports.TriggerTimestampAttribute, exports.CreateAtAttribute, exports.UpdateAtAttribute, exports.DeleteAtAttribute, exports.SeqAttribute];
12
- ;
13
- ;
14
- ;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.initinctiveAttributes = exports.SeqAttribute = exports.DeleteAtAttribute = exports.UpdateAtAttribute = exports.CreateAtAttribute = exports.PrimaryKeyAttribute = exports.TriggerTimestampAttribute = exports.TriggerDataAttribute = void 0;
4
+ exports.TriggerDataAttribute = '$$triggerData$$';
5
+ exports.TriggerTimestampAttribute = '$$triggerTimestamp$$';
6
+ exports.PrimaryKeyAttribute = 'id';
7
+ exports.CreateAtAttribute = '$$createAt$$';
8
+ exports.UpdateAtAttribute = '$$updateAt$$';
9
+ exports.DeleteAtAttribute = '$$deleteAt$$';
10
+ exports.SeqAttribute = '$$seq$$';
11
+ exports.initinctiveAttributes = [exports.PrimaryKeyAttribute, exports.TriggerDataAttribute, exports.TriggerTimestampAttribute, exports.CreateAtAttribute, exports.UpdateAtAttribute, exports.DeleteAtAttribute, exports.SeqAttribute];
12
+ ;
13
+ ;
14
+ ;
15
+ ;
@@ -1,8 +1,8 @@
1
- import { LocaleDef } from './Locale';
2
- import { Index } from './Storage';
3
- import { EntityShape, Configuration } from './Entity';
4
- export declare type EntityDesc<Schema extends EntityShape, Action extends string = '', Relation extends string = '', V extends Record<string, string> = {}> = {
5
- locales: LocaleDef<Schema, Action, Relation, V>;
6
- indexes?: Index<Schema>[];
7
- configuration?: Configuration;
8
- };
1
+ import { LocaleDef } from './Locale';
2
+ import { Index } from './Storage';
3
+ import { EntityShape, Configuration } from './Entity';
4
+ export declare type EntityDesc<Schema extends EntityShape, Action extends string = '', Relation extends string = '', V extends Record<string, string> = {}> = {
5
+ locales: LocaleDef<Schema, Action, Relation, V>;
6
+ indexes?: Index<Schema>[];
7
+ configuration?: Configuration;
8
+ };
@@ -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,57 +1,57 @@
1
- export declare 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 declare 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 declare type ServerEnv = {
55
- type: 'server';
56
- };
57
- export declare type Environment = WechatMpEnv | WebEnv | ServerEnv;
1
+ export declare 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 declare 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 declare type ServerEnv = {
55
+ type: 'server';
56
+ };
57
+ export declare type Environment = WechatMpEnv | WebEnv | ServerEnv;
@@ -1,2 +1,2 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });