interaqt 0.1.0

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 (214) hide show
  1. package/README.md +53 -0
  2. package/dist/index.d.ts +4 -0
  3. package/dist/index.d.ts.map +1 -0
  4. package/dist/index.js +4 -0
  5. package/dist/index.js.map +1 -0
  6. package/dist/runtime/ActivityCall.d.ts +68 -0
  7. package/dist/runtime/ActivityCall.d.ts.map +1 -0
  8. package/dist/runtime/ActivityCall.js +379 -0
  9. package/dist/runtime/ActivityCall.js.map +1 -0
  10. package/dist/runtime/Controller.d.ts +60 -0
  11. package/dist/runtime/Controller.d.ts.map +1 -0
  12. package/dist/runtime/Controller.js +225 -0
  13. package/dist/runtime/Controller.js.map +1 -0
  14. package/dist/runtime/InteractionCall.d.ts +102 -0
  15. package/dist/runtime/InteractionCall.d.ts.map +1 -0
  16. package/dist/runtime/InteractionCall.js +385 -0
  17. package/dist/runtime/InteractionCall.js.map +1 -0
  18. package/dist/runtime/MonoSystem.d.ts +26 -0
  19. package/dist/runtime/MonoSystem.d.ts.map +1 -0
  20. package/dist/runtime/MonoSystem.js +331 -0
  21. package/dist/runtime/MonoSystem.js.map +1 -0
  22. package/dist/runtime/Mysql.d.ts +35 -0
  23. package/dist/runtime/Mysql.d.ts.map +1 -0
  24. package/dist/runtime/Mysql.js +171 -0
  25. package/dist/runtime/Mysql.js.map +1 -0
  26. package/dist/runtime/PostgreSQL.d.ts +36 -0
  27. package/dist/runtime/PostgreSQL.d.ts.map +1 -0
  28. package/dist/runtime/PostgreSQL.js +172 -0
  29. package/dist/runtime/PostgreSQL.js.map +1 -0
  30. package/dist/runtime/SQLite.d.ts +34 -0
  31. package/dist/runtime/SQLite.d.ts.map +1 -0
  32. package/dist/runtime/SQLite.js +146 -0
  33. package/dist/runtime/SQLite.js.map +1 -0
  34. package/dist/runtime/Scheduler.d.ts +81 -0
  35. package/dist/runtime/Scheduler.d.ts.map +1 -0
  36. package/dist/runtime/Scheduler.js +457 -0
  37. package/dist/runtime/Scheduler.js.map +1 -0
  38. package/dist/runtime/System.d.ts +312 -0
  39. package/dist/runtime/System.d.ts.map +1 -0
  40. package/dist/runtime/System.js +90 -0
  41. package/dist/runtime/System.js.map +1 -0
  42. package/dist/runtime/asyncInteractionContext.d.ts +3 -0
  43. package/dist/runtime/asyncInteractionContext.d.ts.map +1 -0
  44. package/dist/runtime/asyncInteractionContext.js +3 -0
  45. package/dist/runtime/asyncInteractionContext.js.map +1 -0
  46. package/dist/runtime/boolExpression.d.ts +23 -0
  47. package/dist/runtime/boolExpression.d.ts.map +1 -0
  48. package/dist/runtime/boolExpression.js +43 -0
  49. package/dist/runtime/boolExpression.js.map +1 -0
  50. package/dist/runtime/computedDataHandles/Any.d.ts +52 -0
  51. package/dist/runtime/computedDataHandles/Any.d.ts.map +1 -0
  52. package/dist/runtime/computedDataHandles/Any.js +152 -0
  53. package/dist/runtime/computedDataHandles/Any.js.map +1 -0
  54. package/dist/runtime/computedDataHandles/Computation.d.ts +108 -0
  55. package/dist/runtime/computedDataHandles/Computation.d.ts.map +1 -0
  56. package/dist/runtime/computedDataHandles/Computation.js +49 -0
  57. package/dist/runtime/computedDataHandles/Computation.js.map +1 -0
  58. package/dist/runtime/computedDataHandles/ComputedDataHandle.d.ts +42 -0
  59. package/dist/runtime/computedDataHandles/ComputedDataHandle.d.ts.map +1 -0
  60. package/dist/runtime/computedDataHandles/ComputedDataHandle.js +4 -0
  61. package/dist/runtime/computedDataHandles/ComputedDataHandle.js.map +1 -0
  62. package/dist/runtime/computedDataHandles/Count.d.ts +45 -0
  63. package/dist/runtime/computedDataHandles/Count.d.ts.map +1 -0
  64. package/dist/runtime/computedDataHandles/Count.js +85 -0
  65. package/dist/runtime/computedDataHandles/Count.js.map +1 -0
  66. package/dist/runtime/computedDataHandles/Every.d.ts +56 -0
  67. package/dist/runtime/computedDataHandles/Every.d.ts.map +1 -0
  68. package/dist/runtime/computedDataHandles/Every.js +178 -0
  69. package/dist/runtime/computedDataHandles/Every.js.map +1 -0
  70. package/dist/runtime/computedDataHandles/StateMachine.d.ts +74 -0
  71. package/dist/runtime/computedDataHandles/StateMachine.d.ts.map +1 -0
  72. package/dist/runtime/computedDataHandles/StateMachine.js +180 -0
  73. package/dist/runtime/computedDataHandles/StateMachine.js.map +1 -0
  74. package/dist/runtime/computedDataHandles/Transform.d.ts +26 -0
  75. package/dist/runtime/computedDataHandles/Transform.d.ts.map +1 -0
  76. package/dist/runtime/computedDataHandles/Transform.js +106 -0
  77. package/dist/runtime/computedDataHandles/Transform.js.map +1 -0
  78. package/dist/runtime/computedDataHandles/TransitionFinder.d.ts +57 -0
  79. package/dist/runtime/computedDataHandles/TransitionFinder.d.ts.map +1 -0
  80. package/dist/runtime/computedDataHandles/TransitionFinder.js +40 -0
  81. package/dist/runtime/computedDataHandles/TransitionFinder.js.map +1 -0
  82. package/dist/runtime/computedDataHandles/WeightedSummation.d.ts +57 -0
  83. package/dist/runtime/computedDataHandles/WeightedSummation.d.ts.map +1 -0
  84. package/dist/runtime/computedDataHandles/WeightedSummation.js +146 -0
  85. package/dist/runtime/computedDataHandles/WeightedSummation.js.map +1 -0
  86. package/dist/runtime/computedDataHandles/index.d.ts +7 -0
  87. package/dist/runtime/computedDataHandles/index.d.ts.map +1 -0
  88. package/dist/runtime/computedDataHandles/index.js +7 -0
  89. package/dist/runtime/computedDataHandles/index.js.map +1 -0
  90. package/dist/runtime/index.d.ts +15 -0
  91. package/dist/runtime/index.d.ts.map +1 -0
  92. package/dist/runtime/index.js +15 -0
  93. package/dist/runtime/index.js.map +1 -0
  94. package/dist/runtime/server.d.ts +35 -0
  95. package/dist/runtime/server.d.ts.map +1 -0
  96. package/dist/runtime/server.js +171 -0
  97. package/dist/runtime/server.js.map +1 -0
  98. package/dist/runtime/types/boolExpression.d.ts +22 -0
  99. package/dist/runtime/types/boolExpression.d.ts.map +1 -0
  100. package/dist/runtime/types/boolExpression.js +6 -0
  101. package/dist/runtime/types/boolExpression.js.map +1 -0
  102. package/dist/runtime/util.d.ts +10 -0
  103. package/dist/runtime/util.d.ts.map +1 -0
  104. package/dist/runtime/util.js +39 -0
  105. package/dist/runtime/util.js.map +1 -0
  106. package/dist/shared/BoolExp.d.ts +97 -0
  107. package/dist/shared/BoolExp.d.ts.map +1 -0
  108. package/dist/shared/BoolExp.js +252 -0
  109. package/dist/shared/BoolExp.js.map +1 -0
  110. package/dist/shared/activity/Activity.d.ts +465 -0
  111. package/dist/shared/activity/Activity.d.ts.map +1 -0
  112. package/dist/shared/activity/Activity.js +264 -0
  113. package/dist/shared/activity/Activity.js.map +1 -0
  114. package/dist/shared/activity/Condition.d.ts +75 -0
  115. package/dist/shared/activity/Condition.d.ts.map +1 -0
  116. package/dist/shared/activity/Condition.js +51 -0
  117. package/dist/shared/activity/Condition.js.map +1 -0
  118. package/dist/shared/activity/Data.d.ts +115 -0
  119. package/dist/shared/activity/Data.d.ts.map +1 -0
  120. package/dist/shared/activity/Data.js +89 -0
  121. package/dist/shared/activity/Data.js.map +1 -0
  122. package/dist/shared/attributive.d.ts +93 -0
  123. package/dist/shared/attributive.d.ts.map +1 -0
  124. package/dist/shared/attributive.js +59 -0
  125. package/dist/shared/attributive.js.map +1 -0
  126. package/dist/shared/computed.d.ts +607 -0
  127. package/dist/shared/computed.d.ts.map +1 -0
  128. package/dist/shared/computed.js +202 -0
  129. package/dist/shared/computed.js.map +1 -0
  130. package/dist/shared/createClass.d.ts +102 -0
  131. package/dist/shared/createClass.d.ts.map +1 -0
  132. package/dist/shared/createClass.js +276 -0
  133. package/dist/shared/createClass.js.map +1 -0
  134. package/dist/shared/dictionary/Dictionary.d.ts +40 -0
  135. package/dist/shared/dictionary/Dictionary.d.ts.map +1 -0
  136. package/dist/shared/dictionary/Dictionary.js +51 -0
  137. package/dist/shared/dictionary/Dictionary.js.map +1 -0
  138. package/dist/shared/entity/Entity.d.ts +149 -0
  139. package/dist/shared/entity/Entity.d.ts.map +1 -0
  140. package/dist/shared/entity/Entity.js +226 -0
  141. package/dist/shared/entity/Entity.js.map +1 -0
  142. package/dist/shared/index.d.ts +11 -0
  143. package/dist/shared/index.d.ts.map +1 -0
  144. package/dist/shared/index.js +11 -0
  145. package/dist/shared/index.js.map +1 -0
  146. package/dist/shared/user/User.d.ts +21 -0
  147. package/dist/shared/user/User.d.ts.map +1 -0
  148. package/dist/shared/user/User.js +11 -0
  149. package/dist/shared/user/User.js.map +1 -0
  150. package/dist/shared/utils.d.ts +11 -0
  151. package/dist/shared/utils.d.ts.map +1 -0
  152. package/dist/shared/utils.js +19 -0
  153. package/dist/shared/utils.js.map +1 -0
  154. package/dist/storage/erstorage/AttributeInfo.d.ts +40 -0
  155. package/dist/storage/erstorage/AttributeInfo.d.ts.map +1 -0
  156. package/dist/storage/erstorage/AttributeInfo.js +147 -0
  157. package/dist/storage/erstorage/AttributeInfo.js.map +1 -0
  158. package/dist/storage/erstorage/AttributeQuery.d.ts +33 -0
  159. package/dist/storage/erstorage/AttributeQuery.d.ts.map +1 -0
  160. package/dist/storage/erstorage/AttributeQuery.js +190 -0
  161. package/dist/storage/erstorage/AttributeQuery.js.map +1 -0
  162. package/dist/storage/erstorage/EntityQueryHandle.d.ts +29 -0
  163. package/dist/storage/erstorage/EntityQueryHandle.d.ts.map +1 -0
  164. package/dist/storage/erstorage/EntityQueryHandle.js +78 -0
  165. package/dist/storage/erstorage/EntityQueryHandle.js.map +1 -0
  166. package/dist/storage/erstorage/EntityToTableMap.d.ts +85 -0
  167. package/dist/storage/erstorage/EntityToTableMap.d.ts.map +1 -0
  168. package/dist/storage/erstorage/EntityToTableMap.js +262 -0
  169. package/dist/storage/erstorage/EntityToTableMap.js.map +1 -0
  170. package/dist/storage/erstorage/LinkInfo.d.ts +35 -0
  171. package/dist/storage/erstorage/LinkInfo.d.ts.map +1 -0
  172. package/dist/storage/erstorage/LinkInfo.js +89 -0
  173. package/dist/storage/erstorage/LinkInfo.js.map +1 -0
  174. package/dist/storage/erstorage/MatchExp.d.ts +37 -0
  175. package/dist/storage/erstorage/MatchExp.d.ts.map +1 -0
  176. package/dist/storage/erstorage/MatchExp.js +211 -0
  177. package/dist/storage/erstorage/MatchExp.js.map +1 -0
  178. package/dist/storage/erstorage/Modifier.d.ts +23 -0
  179. package/dist/storage/erstorage/Modifier.d.ts.map +1 -0
  180. package/dist/storage/erstorage/Modifier.js +24 -0
  181. package/dist/storage/erstorage/Modifier.js.map +1 -0
  182. package/dist/storage/erstorage/NewRecordData.d.ts +42 -0
  183. package/dist/storage/erstorage/NewRecordData.d.ts.map +1 -0
  184. package/dist/storage/erstorage/NewRecordData.js +178 -0
  185. package/dist/storage/erstorage/NewRecordData.js.map +1 -0
  186. package/dist/storage/erstorage/RecordInfo.d.ts +26 -0
  187. package/dist/storage/erstorage/RecordInfo.d.ts.map +1 -0
  188. package/dist/storage/erstorage/RecordInfo.js +111 -0
  189. package/dist/storage/erstorage/RecordInfo.js.map +1 -0
  190. package/dist/storage/erstorage/RecordQuery.d.ts +73 -0
  191. package/dist/storage/erstorage/RecordQuery.d.ts.map +1 -0
  192. package/dist/storage/erstorage/RecordQuery.js +158 -0
  193. package/dist/storage/erstorage/RecordQuery.js.map +1 -0
  194. package/dist/storage/erstorage/RecordQueryAgent.d.ts +84 -0
  195. package/dist/storage/erstorage/RecordQueryAgent.d.ts.map +1 -0
  196. package/dist/storage/erstorage/RecordQueryAgent.js +1130 -0
  197. package/dist/storage/erstorage/RecordQueryAgent.js.map +1 -0
  198. package/dist/storage/erstorage/Setup.d.ts +49 -0
  199. package/dist/storage/erstorage/Setup.d.ts.map +1 -0
  200. package/dist/storage/erstorage/Setup.js +400 -0
  201. package/dist/storage/erstorage/Setup.js.map +1 -0
  202. package/dist/storage/erstorage/util.d.ts +6 -0
  203. package/dist/storage/erstorage/util.d.ts.map +1 -0
  204. package/dist/storage/erstorage/util.js +25 -0
  205. package/dist/storage/erstorage/util.js.map +1 -0
  206. package/dist/storage/index.d.ts +13 -0
  207. package/dist/storage/index.d.ts.map +1 -0
  208. package/dist/storage/index.js +13 -0
  209. package/dist/storage/index.js.map +1 -0
  210. package/dist/storage/utils.d.ts +10 -0
  211. package/dist/storage/utils.d.ts.map +1 -0
  212. package/dist/storage/utils.js +48 -0
  213. package/dist/storage/utils.js.map +1 -0
  214. package/package.json +59 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Dictionary.d.ts","sourceRoot":"","sources":["../../../src/shared/dictionary/Dictionary.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,KAAK,EAAC,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAC,aAAa,EAAC,MAAM,qBAAqB,CAAC;AAGlD,eAAO,MAAM,UAAU;;;;;;6BASQ;gBAAE,IAAI,EAAE,GAAG,CAAA;aAAE;6BAGb;gBAAE,IAAI,EAAE,GAAG,CAAA;aAAE;;;;;;;;;;;;;;;;;;;;;;cA8BpB,KAAK,CAAC,GAAG,CAAC,EAAE;;;EAIlC,CAAA"}
@@ -0,0 +1,51 @@
1
+ import { createClass } from "../createClass.js";
2
+ import { PropertyTypes } from "../entity/Entity.js";
3
+ const validNameFormatExp = /^[a-zA-Z0-9_]+$/;
4
+ export const Dictionary = createClass({
5
+ name: 'Dictionary',
6
+ display: (obj) => obj.name,
7
+ public: {
8
+ name: {
9
+ type: 'string',
10
+ required: true,
11
+ collection: false,
12
+ constraints: {
13
+ format({ name }) {
14
+ return validNameFormatExp.test(name);
15
+ },
16
+ length({ name }) {
17
+ return name.length > 1 && name.length < 5;
18
+ }
19
+ }
20
+ },
21
+ type: {
22
+ type: 'string',
23
+ required: true,
24
+ collection: false,
25
+ // 有这个基本就不需要其他验证了
26
+ // TODO 怎么表示那种可以用 option,也可以自由创建的值?
27
+ options: Array.from(Object.values(PropertyTypes)),
28
+ },
29
+ collection: {
30
+ type: 'boolean',
31
+ required: true,
32
+ collection: false,
33
+ defaultValue() {
34
+ return false;
35
+ }
36
+ },
37
+ args: {
38
+ // TODO 怎么表达 args??需要根据不同的 type 类型构建。例如 string 长度,number 范围。
39
+ type: 'object',
40
+ required: false,
41
+ collection: false,
42
+ },
43
+ computedData: {
44
+ collection: false,
45
+ // CAUTION 这里的具体类型等着外面注册 IncrementalComputationHandle 的时候修补
46
+ type: [],
47
+ required: false,
48
+ }
49
+ }
50
+ });
51
+ //# sourceMappingURL=Dictionary.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Dictionary.js","sourceRoot":"","sources":["../../../src/shared/dictionary/Dictionary.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,WAAW,EAAQ,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAC,aAAa,EAAC,MAAM,qBAAqB,CAAC;AAClD,MAAM,kBAAkB,GAAG,iBAAiB,CAAA;AAE5C,MAAM,CAAC,MAAM,UAAU,GAAG,WAAW,CAAC;IAClC,IAAI,EAAE,YAAY;IAClB,OAAO,EAAE,CAAC,GAAQ,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI;IAC/B,MAAM,EAAE;QACJ,IAAI,EAAE;YACF,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,IAAI;YACd,UAAU,EAAE,KAAK;YACjB,WAAW,EAAE;gBACT,MAAM,CAAC,EAAC,IAAI,EAAgB;oBACxB,OAAO,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;gBACxC,CAAC;gBACD,MAAM,CAAC,EAAC,IAAI,EAAgB;oBACxB,OAAO,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,CAAA;gBAC7C,CAAC;aACJ;SACJ;QACD,IAAI,EAAE;YACF,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,IAAI;YACd,UAAU,EAAE,KAAK;YACjB,iBAAiB;YACjB,mCAAmC;YACnC,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;SACpD;QACD,UAAU,EAAE;YACR,IAAI,EAAE,SAAS;YACf,QAAQ,EAAE,IAAI;YACd,UAAU,EAAE,KAAK;YACjB,YAAY;gBACR,OAAO,KAAK,CAAA;YAChB,CAAC;SACJ;QACD,IAAI,EAAE;YACF,4DAA4D;YAC5D,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,KAAK;YACf,UAAU,EAAE,KAAK;SACpB;QACD,YAAY,EAAE;YACV,UAAU,EAAE,KAAK;YACjB,2DAA2D;YAC3D,IAAI,EAAE,EAAkB;YACxB,QAAQ,EAAE,KAAK;SAClB;KACJ;CACJ,CAAC,CAAA"}
@@ -0,0 +1,149 @@
1
+ import { Klass } from "../createClass.js";
2
+ export declare enum PropertyTypes {
3
+ String = "string",
4
+ Number = "number",
5
+ Boolean = "boolean"
6
+ }
7
+ type PropertyPublic = {
8
+ name: {
9
+ type: 'string';
10
+ required: true;
11
+ constraints: {
12
+ format: (arg: {
13
+ name: string;
14
+ }) => boolean;
15
+ length: (arg: {
16
+ name: string;
17
+ }) => boolean;
18
+ };
19
+ };
20
+ type: {
21
+ type: 'string';
22
+ required: true;
23
+ options: () => string[];
24
+ };
25
+ collection: {
26
+ type: 'boolean';
27
+ required: false;
28
+ };
29
+ defaultValue: {
30
+ type: 'function';
31
+ required: false;
32
+ };
33
+ computed: {
34
+ type: 'function';
35
+ required: false;
36
+ };
37
+ computedData: {
38
+ type: Klass<any>[];
39
+ collection: false;
40
+ required: false;
41
+ };
42
+ };
43
+ type EntityPublic = {
44
+ name: {
45
+ type: 'string';
46
+ required: true;
47
+ constraints: {
48
+ nameFormat: (arg: {
49
+ name: string;
50
+ }) => boolean;
51
+ };
52
+ };
53
+ properties: {
54
+ type: Klass<PropertyPublic>;
55
+ collection: true;
56
+ required: true;
57
+ constraints: {
58
+ eachNameUnique: (arg: {
59
+ properties: any[];
60
+ }) => boolean;
61
+ };
62
+ defaultValue: () => any[];
63
+ };
64
+ computedData: {
65
+ type: Klass<any>[];
66
+ collection: false;
67
+ required: false;
68
+ };
69
+ };
70
+ export declare const Property: Klass<PropertyPublic>;
71
+ export declare const Entity: Klass<EntityPublic>;
72
+ export type RelationPublic = {
73
+ name: {
74
+ type: 'string';
75
+ required: false;
76
+ collection: false;
77
+ computed: (relation: any) => string;
78
+ };
79
+ source: {
80
+ type: (typeof Entity | typeof Relation)[];
81
+ required: true;
82
+ collection: false;
83
+ options: () => any[];
84
+ };
85
+ sourceProperty: {
86
+ type: 'string';
87
+ required: true;
88
+ collection: false;
89
+ constraints: {
90
+ nameNotSameWithProp: (thisInstance: any) => boolean;
91
+ nameUnique: (thisInstance: any) => boolean;
92
+ };
93
+ };
94
+ target: {
95
+ type: (typeof Entity | typeof Relation)[];
96
+ required: true;
97
+ collection: false;
98
+ options: () => any[];
99
+ };
100
+ targetProperty: {
101
+ type: 'string';
102
+ required: true;
103
+ collection: false;
104
+ constraints: {
105
+ nameNotSameWithProp: (thisInstance: any) => boolean;
106
+ nameUnique: (thisInstance: any) => boolean;
107
+ };
108
+ };
109
+ isTargetReliance: {
110
+ type: 'boolean';
111
+ required: true;
112
+ collection: false;
113
+ defaultValue: () => boolean;
114
+ };
115
+ relType: {
116
+ type: 'string';
117
+ collection: false;
118
+ required: true;
119
+ options: () => string[];
120
+ defaultValue: () => string;
121
+ };
122
+ type: {
123
+ type: 'string';
124
+ collection: false;
125
+ required: true;
126
+ };
127
+ computedData: {
128
+ type: Klass<any>[];
129
+ collection: false;
130
+ required: false;
131
+ };
132
+ properties: {
133
+ type: typeof Property;
134
+ collection: true;
135
+ required: true;
136
+ constraints: {
137
+ eachNameUnique: (thisInstance: any) => boolean;
138
+ };
139
+ defaultValue: () => any[];
140
+ };
141
+ };
142
+ export declare const Relation: Klass<RelationPublic>;
143
+ export declare const PropertyTypeMap: {
144
+ string: string;
145
+ number: string;
146
+ boolean: string;
147
+ };
148
+ export {};
149
+ //# sourceMappingURL=Entity.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Entity.d.ts","sourceRoot":"","sources":["../../../src/shared/entity/Entity.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,226 @@
1
+ import { createClass, getInstance } from "../createClass.js";
2
+ export var PropertyTypes;
3
+ (function (PropertyTypes) {
4
+ PropertyTypes["String"] = "string";
5
+ PropertyTypes["Number"] = "number";
6
+ PropertyTypes["Boolean"] = "boolean";
7
+ })(PropertyTypes || (PropertyTypes = {}));
8
+ const validNameFormatExp = /^[a-zA-Z0-9_]+$/;
9
+ export const Property = createClass({
10
+ name: 'Property',
11
+ display: (obj) => obj.name,
12
+ public: {
13
+ name: {
14
+ type: 'string',
15
+ required: true,
16
+ constraints: {
17
+ format({ name }) {
18
+ return validNameFormatExp.test(name);
19
+ },
20
+ length({ name }) {
21
+ return name.length > 1 && name.length < 5;
22
+ }
23
+ }
24
+ },
25
+ // 这个是 property 的类型
26
+ type: {
27
+ type: 'string',
28
+ required: true,
29
+ options: () => Object.values(PropertyTypes)
30
+ },
31
+ collection: {
32
+ type: 'boolean',
33
+ required: false,
34
+ },
35
+ // 这个是 property 的值
36
+ defaultValue: {
37
+ type: 'function',
38
+ required: false,
39
+ },
40
+ // 这个是 property 的值的类型
41
+ computed: {
42
+ type: 'function',
43
+ required: false,
44
+ },
45
+ computedData: {
46
+ // CAUTION 这里的具体类型等着外面注册 IncrementalComputationHandle 的时候修补
47
+ type: [],
48
+ collection: false,
49
+ required: false,
50
+ }
51
+ },
52
+ constraints: {
53
+ entityNameUnique(thisInstance, allInstances) {
54
+ const entities = allInstances;
55
+ const uniqueNames = new Set(entities.map(e => e.name));
56
+ return uniqueNames.size === entities.length;
57
+ }
58
+ }
59
+ });
60
+ // CAUTION 这里的 Entity 是 Concept 的一种
61
+ export const Entity = createClass({
62
+ name: 'Entity',
63
+ display: (obj) => obj.name,
64
+ public: {
65
+ name: {
66
+ type: 'string',
67
+ required: true,
68
+ constraints: {
69
+ nameFormat({ name }) {
70
+ return validNameFormatExp.test(name);
71
+ }
72
+ }
73
+ },
74
+ properties: {
75
+ type: Property,
76
+ collection: true,
77
+ required: true,
78
+ constraints: {
79
+ eachNameUnique({ properties }) {
80
+ const uniqueNames = new Set(properties.map((p) => p.name));
81
+ return uniqueNames.size === properties.length;
82
+ }
83
+ },
84
+ defaultValue() {
85
+ return [];
86
+ }
87
+ },
88
+ computedData: {
89
+ // CAUTION 这里的具体类型等着外面注册 IncrementalComputationHandle 的时候修补
90
+ type: [],
91
+ collection: false,
92
+ required: false,
93
+ }
94
+ }
95
+ });
96
+ // Create a placeholder for Relation to avoid circular reference
97
+ const RELATION_PLACEHOLDER = {};
98
+ // Use type assertion to avoid circular reference issues
99
+ export const Relation = createClass({
100
+ name: 'Relation',
101
+ display: (obj) => obj.name || `${obj.source?.name || 'unknown'} -> ${obj.target?.name || 'unknown'}`,
102
+ public: {
103
+ name: {
104
+ type: 'string',
105
+ required: false,
106
+ collection: false,
107
+ computed: (relation) => {
108
+ if (relation.source && relation.target) {
109
+ return `${relation.source.name}_${relation.sourceProperty}_${relation.targetProperty}_${relation.target.name}`;
110
+ }
111
+ return '';
112
+ }
113
+ },
114
+ source: {
115
+ type: [Entity, RELATION_PLACEHOLDER],
116
+ required: true,
117
+ collection: false,
118
+ options() {
119
+ return [...getInstance(Entity), ...getInstance(Relation)];
120
+ }
121
+ },
122
+ sourceProperty: {
123
+ type: 'string',
124
+ required: true,
125
+ collection: false,
126
+ constraints: {
127
+ nameNotSameWithProp(thisInstance) {
128
+ const relation = thisInstance;
129
+ if (!relation.source)
130
+ return false;
131
+ return !relation.source.properties.some((p) => p.name === relation.sourceProperty);
132
+ },
133
+ nameUnique(thisInstance) {
134
+ const relation = thisInstance;
135
+ if (!relation.source)
136
+ return false;
137
+ const relations = getInstance(Relation).filter(r => r.source === relation.source);
138
+ return !relations.some(r => r !== relation && r.sourceProperty === relation.sourceProperty);
139
+ }
140
+ }
141
+ },
142
+ target: {
143
+ type: [Entity, RELATION_PLACEHOLDER],
144
+ required: true,
145
+ collection: false,
146
+ options() {
147
+ return [...getInstance(Entity), ...getInstance(Relation)];
148
+ }
149
+ },
150
+ targetProperty: {
151
+ type: 'string',
152
+ required: true,
153
+ collection: false,
154
+ constraints: {
155
+ nameNotSameWithProp(thisInstance) {
156
+ const relation = thisInstance;
157
+ if (!relation.target)
158
+ return false;
159
+ return !relation.target.properties.some((p) => p.name === relation.targetProperty);
160
+ },
161
+ nameUnique(thisInstance) {
162
+ const relation = thisInstance;
163
+ if (!relation.target)
164
+ return false;
165
+ const relations = getInstance(Relation).filter(r => r.target === relation.target);
166
+ return !relations.some(r => r !== relation && r.targetProperty === relation.targetProperty);
167
+ }
168
+ }
169
+ },
170
+ isTargetReliance: {
171
+ type: 'boolean',
172
+ required: true,
173
+ collection: false,
174
+ defaultValue() {
175
+ return false;
176
+ }
177
+ },
178
+ relType: {
179
+ type: 'string',
180
+ required: true,
181
+ collection: false,
182
+ options() {
183
+ return ['oneToOne', 'oneToMany', 'manyToOne', 'manyToMany'];
184
+ },
185
+ defaultValue() {
186
+ return 'oneToOne';
187
+ }
188
+ },
189
+ type: {
190
+ type: 'string',
191
+ required: true,
192
+ collection: false,
193
+ },
194
+ computedData: {
195
+ // CAUTION 这里的具体类型等着外面注册 IncrementalComputationHandle 的时候修补
196
+ type: [],
197
+ collection: false,
198
+ required: false,
199
+ },
200
+ properties: {
201
+ type: Property,
202
+ collection: true,
203
+ required: true,
204
+ constraints: {
205
+ eachNameUnique(thisInstance) {
206
+ const relation = thisInstance;
207
+ const uniqueNames = new Set(relation.properties.map((p) => p.name));
208
+ return uniqueNames.size === relation.properties.length;
209
+ }
210
+ },
211
+ defaultValue() {
212
+ return [];
213
+ }
214
+ }
215
+ }
216
+ });
217
+ // Fix the source and target types to use the actual Relation class
218
+ Relation.public.source.type = [Entity, Relation];
219
+ Relation.public.target.type = [Entity, Relation];
220
+ // 这个是 PropertyTypeMap
221
+ export const PropertyTypeMap = {
222
+ [PropertyTypes.String]: 'string',
223
+ [PropertyTypes.Number]: 'number',
224
+ [PropertyTypes.Boolean]: 'boolean',
225
+ };
226
+ //# sourceMappingURL=Entity.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Entity.js","sourceRoot":"","sources":["../../../src/shared/entity/Entity.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ export * from './entity/Entity.js';
2
+ export * from './activity/Activity.js';
3
+ export * from './activity/Condition.js';
4
+ export * from './activity/Data.js';
5
+ export * from './dictionary/Dictionary.js';
6
+ export * from './user/User.js';
7
+ export * from './createClass.js';
8
+ export * from './computed.js';
9
+ export * from './BoolExp.js';
10
+ export * from './attributive.js';
11
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/shared/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAA;AAClC,cAAc,wBAAwB,CAAA;AACtC,cAAc,yBAAyB,CAAA;AACvC,cAAc,oBAAoB,CAAA;AAClC,cAAc,4BAA4B,CAAA;AAC1C,cAAc,gBAAgB,CAAA;AAC9B,cAAc,kBAAkB,CAAA;AAChC,cAAc,eAAe,CAAA;AAC7B,cAAc,cAAc,CAAA;AAC5B,cAAc,kBAAkB,CAAA"}
@@ -0,0 +1,11 @@
1
+ export * from './entity/Entity.js';
2
+ export * from './activity/Activity.js';
3
+ export * from './activity/Condition.js';
4
+ export * from './activity/Data.js';
5
+ export * from './dictionary/Dictionary.js';
6
+ export * from './user/User.js';
7
+ export * from './createClass.js';
8
+ export * from './computed.js';
9
+ export * from './BoolExp.js';
10
+ export * from './attributive.js';
11
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/shared/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAA;AAClC,cAAc,wBAAwB,CAAA;AACtC,cAAc,yBAAyB,CAAA;AACvC,cAAc,oBAAoB,CAAA;AAClC,cAAc,4BAA4B,CAAA;AAC1C,cAAc,gBAAgB,CAAA;AAC9B,cAAc,kBAAkB,CAAA;AAChC,cAAc,eAAe,CAAA;AAC7B,cAAc,cAAc,CAAA;AAC5B,cAAc,kBAAkB,CAAA"}
@@ -0,0 +1,21 @@
1
+ import { KlassOptions } from "../createClass.js";
2
+ export declare function createUserRoleAttributive({ name, isRef }: {
3
+ name?: string;
4
+ isRef?: boolean;
5
+ }, options?: KlassOptions): import("../createClass.js").KlassInstanceOfPublic<{
6
+ stringContent: {
7
+ type: "string";
8
+ };
9
+ content: {
10
+ type: "function";
11
+ required: true;
12
+ collection: false;
13
+ };
14
+ name: {
15
+ type: "string";
16
+ };
17
+ isRef: {
18
+ type: "boolean";
19
+ };
20
+ }>;
21
+ //# sourceMappingURL=User.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"User.d.ts","sourceRoot":"","sources":["../../../src/shared/user/User.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAGjD,wBAAgB,yBAAyB,CAAC,EAAE,IAAI,EAAE,KAAa,EAAE,EAAE;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,OAAO,CAAA;CAAE,EAAE,OAAO,CAAC,EAAE,YAAY;;;;;;;;;;;;;;;GAQ5H"}
@@ -0,0 +1,11 @@
1
+ import { Attributive } from "../attributive.js";
2
+ export function createUserRoleAttributive({ name, isRef = false }, options) {
3
+ return new Attributive({
4
+ name,
5
+ content: name ?
6
+ new Function('user', `return user.roles.includes('${name}')`) :
7
+ function anyone() { return true; },
8
+ isRef,
9
+ }, options);
10
+ }
11
+ //# sourceMappingURL=User.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"User.js","sourceRoot":"","sources":["../../../src/shared/user/User.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,MAAM,UAAU,yBAAyB,CAAC,EAAE,IAAI,EAAE,KAAK,GAAG,KAAK,EAAsC,EAAE,OAAsB;IACzH,OAAO,IAAI,WAAW,CAAC;QACnB,IAAI;QACJ,OAAO,EAAE,IAAI,CAAC,CAAC;YACX,IAAI,QAAQ,CAAC,MAAM,EAAE,+BAA+B,IAAI,IAAI,CAA2B,CAAC,CAAC;YACzF,SAAS,MAAM,KAAK,OAAO,IAAI,CAAA,CAAC,CAAC;QACrC,KAAK;KACR,EAAE,OAAO,CAAC,CAAA;AACf,CAAC"}
@@ -0,0 +1,11 @@
1
+ type PlainObject = {
2
+ [k: string]: any;
3
+ };
4
+ export declare function each(obj: PlainObject, fn: (v: any, k: string) => any): void;
5
+ export declare const isPlainObject: (val: unknown) => val is object;
6
+ export declare const hasOwn: (val: object, key: string | symbol) => boolean;
7
+ export declare function assert(condition: boolean, message: string): void;
8
+ export declare const isObject: (val: unknown) => val is Record<any, any>;
9
+ export declare function indexBy(arr: any[], key: string): any;
10
+ export {};
11
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/shared/utils.ts"],"names":[],"mappings":"AAAA,KAAK,WAAW,GAAG;IACjB,CAAC,CAAC,EAAE,MAAM,GAAI,GAAG,CAAA;CAClB,CAAA;AAED,wBAAgB,IAAI,CAAC,GAAG,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,MAAM,KAAK,GAAG,QAIpE;AAED,eAAO,MAAM,aAAa,GAAI,KAAK,OAAO,KAAG,GAAG,IAAI,MAAmE,CAAA;AAGvH,eAAO,MAAM,MAAM,GACf,KAAK,MAAM,EACX,KAAK,MAAM,GAAG,MAAM,YACU,CAAA;AAElC,wBAAgB,MAAM,CAAC,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,QAKzD;AAED,eAAO,MAAM,QAAQ,GAAI,KAAK,OAAO,KAAG,GAAG,IAAI,MAAM,CAAC,GAAG,EAAE,GAAG,CACnB,CAAA;AAG3C,wBAAgB,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,MAAM,OAE9C"}
@@ -0,0 +1,19 @@
1
+ export function each(obj, fn) {
2
+ for (let k in obj) {
3
+ fn(obj[k], k);
4
+ }
5
+ }
6
+ export const isPlainObject = (val) => val?.constructor === Object || val?.constructor === Array;
7
+ const hasOwnProperty = Object.prototype.hasOwnProperty;
8
+ export const hasOwn = (val, key) => hasOwnProperty.call(val, key);
9
+ export function assert(condition, message) {
10
+ if (!condition) {
11
+ // if (__DEV__) debugger
12
+ throw new Error(message);
13
+ }
14
+ }
15
+ export const isObject = (val) => val !== null && typeof val === 'object';
16
+ export function indexBy(arr, key) {
17
+ return Object.fromEntries(arr.map(o => [o[key], o]));
18
+ }
19
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/shared/utils.ts"],"names":[],"mappings":"AAIA,MAAM,UAAU,IAAI,CAAC,GAAgB,EAAE,EAA8B;IACnE,KAAI,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC;QACjB,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;IACf,CAAC;AACH,CAAC;AAED,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,GAAY,EAAiB,EAAE,CAAC,GAAG,EAAE,WAAW,KAAK,MAAM,IAAI,GAAG,EAAE,WAAW,KAAK,KAAK,CAAA;AAEvH,MAAM,cAAc,GAAG,MAAM,CAAC,SAAS,CAAC,cAAc,CAAA;AACtD,MAAM,CAAC,MAAM,MAAM,GAAG,CAClB,GAAW,EACX,GAAoB,EACtB,EAAE,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;AAElC,MAAM,UAAU,MAAM,CAAC,SAAkB,EAAE,OAAe;IACxD,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,wBAAwB;QACxB,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,CAAA;IAC1B,CAAC;AACH,CAAC;AAED,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,GAAY,EAA2B,EAAE,CAC9D,GAAG,KAAK,IAAI,IAAI,OAAO,GAAG,KAAK,QAAQ,CAAA;AAG3C,MAAM,UAAU,OAAO,CAAC,GAAU,EAAE,GAAW;IAC7C,OAAO,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAA;AACtD,CAAC"}
@@ -0,0 +1,40 @@
1
+ import { EntityToTableMap, RecordAttribute, ValueAttribute } from "./EntityToTableMap.js";
2
+ export declare class AttributeInfo {
3
+ parentEntityName: string;
4
+ attributeName: string;
5
+ map: EntityToTableMap;
6
+ symmetricDirection?: "source" | "target" | undefined;
7
+ data: ValueAttribute | RecordAttribute;
8
+ constructor(parentEntityName: string, attributeName: string, map: EntityToTableMap, symmetricDirection?: "source" | "target" | undefined);
9
+ get isRecord(): true;
10
+ get isValue(): boolean;
11
+ get isCollection(): boolean | undefined;
12
+ get isComputed(): false | ((record: any) => any) | undefined;
13
+ get fieldType(): string | undefined;
14
+ get computed(): ((record: any) => any) | undefined;
15
+ get isManyToOne(): boolean;
16
+ get isManyToMany(): boolean;
17
+ get isOneToOne(): boolean;
18
+ get isOneToMany(): boolean;
19
+ get isXToOne(): boolean;
20
+ get isOneToX(): boolean;
21
+ get isXToMany(): boolean;
22
+ get isReliance(): boolean | undefined;
23
+ get recordName(): string;
24
+ get table(): string;
25
+ get field(): string | undefined;
26
+ get linkField(): string | undefined;
27
+ get linkName(): string;
28
+ isMergedWithParent(): boolean;
29
+ isLinkMergedWithParent(): boolean;
30
+ isLinkMergedWithAttribute(): boolean;
31
+ isLinkIsolated(): boolean;
32
+ isRecordSource(): boolean;
33
+ isLinkManyToManySymmetric(): boolean;
34
+ isLinkSourceRelation(): boolean;
35
+ getReverseInfo(): AttributeInfo | undefined;
36
+ getLinkInfo(): import("./LinkInfo.js").LinkInfo;
37
+ getRecordInfo(): import("./RecordInfo.js").RecordInfo;
38
+ getAttribute(name: string): AttributeInfo;
39
+ }
40
+ //# sourceMappingURL=AttributeInfo.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AttributeInfo.d.ts","sourceRoot":"","sources":["../../../src/storage/erstorage/AttributeInfo.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,gBAAgB,EAAE,eAAe,EAAE,cAAc,EAAC,MAAM,uBAAuB,CAAC;AAExF,qBAAa,aAAa;IAGH,gBAAgB,EAAE,MAAM;IAAS,aAAa,EAAE,MAAM;IAAS,GAAG,EAAE,gBAAgB;IAAS,kBAAkB,CAAC,EAAE,QAAQ,GAAC,QAAQ;IAF/I,IAAI,EAAE,cAAc,GAAG,eAAe,CAAA;gBAE1B,gBAAgB,EAAE,MAAM,EAAS,aAAa,EAAE,MAAM,EAAS,GAAG,EAAE,gBAAgB,EAAS,kBAAkB,CAAC,EAAE,QAAQ,GAAC,QAAQ,YAAA;IAKtJ,IAAI,QAAQ,SAEX;IAED,IAAI,OAAO,YAEV;IAED,IAAI,YAAY,wBAEf;IAED,IAAI,UAAU,+CAEb;IAED,IAAI,SAAS,uBAGZ;IAED,IAAI,QAAQ,uCAGX;IAED,IAAI,WAAW,YAId;IAED,IAAI,YAAY,YAIf;IAED,IAAI,UAAU,YAIb;IAED,IAAI,WAAW,YAId;IAED,IAAI,QAAQ,YAEX;IAED,IAAI,QAAQ,YAEX;IAED,IAAI,SAAS,YAEZ;IAED,IAAI,UAAU,wBAEb;IAED,IAAI,UAAU,WAGb;IAED,IAAI,KAAK,WAGR;IAGD,IAAI,KAAK,uBAUR;IAED,IAAI,SAAS,uBAQZ;IAED,IAAI,QAAQ,WAEX;IAED,kBAAkB;IAIlB,sBAAsB;IAKtB,yBAAyB;IAKzB,cAAc;IAKd,cAAc;IAId,yBAAyB;IAKzB,oBAAoB;IAKpB,cAAc;IAMd,WAAW;IAKX,aAAa;IAKb,YAAY,CAAC,IAAI,EAAC,MAAM;CAG3B"}