interaqt 0.1.0 → 0.2.1

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 (329) hide show
  1. package/agent/.claude/agents/code-generation-handler.md +598 -0
  2. package/agent/.claude/agents/computation-generation-handler.md +290 -0
  3. package/agent/.claude/agents/implement-design-handler.md +179 -0
  4. package/agent/.claude/agents/permission-generation-handler.md +202 -0
  5. package/agent/.claude/agents/requirements-analysis-handler-bak.md +530 -0
  6. package/agent/.claude/agents/requirements-analysis-handler.md +720 -0
  7. package/agent/.claude/settings.local.json +46 -0
  8. package/agent/CLAUDE.md +72 -0
  9. package/dist/index.js +10508 -4
  10. package/dist/index.js.map +1 -1
  11. package/dist/runtime/ComputationSourceMap.d.ts +117 -0
  12. package/dist/runtime/ComputationSourceMap.d.ts.map +1 -0
  13. package/dist/runtime/Controller.d.ts +37 -26
  14. package/dist/runtime/Controller.d.ts.map +1 -1
  15. package/dist/runtime/ExternalSynchronizer.d.ts +6 -0
  16. package/dist/runtime/ExternalSynchronizer.d.ts.map +1 -0
  17. package/dist/runtime/MonoSystem.d.ts +29 -17
  18. package/dist/runtime/MonoSystem.d.ts.map +1 -1
  19. package/dist/runtime/Mysql.d.ts +2 -2
  20. package/dist/runtime/PGLite.d.ts +35 -0
  21. package/dist/runtime/PGLite.d.ts.map +1 -0
  22. package/dist/runtime/PostgreSQL.d.ts +2 -2
  23. package/dist/runtime/SQLite.d.ts +3 -3
  24. package/dist/runtime/SQLite.d.ts.map +1 -1
  25. package/dist/runtime/Scheduler.d.ts +28 -61
  26. package/dist/runtime/Scheduler.d.ts.map +1 -1
  27. package/dist/runtime/System.d.ts +18 -224
  28. package/dist/runtime/System.d.ts.map +1 -1
  29. package/dist/runtime/{ActivityCall.d.ts → activity/ActivityCall.d.ts} +6 -7
  30. package/dist/runtime/activity/ActivityCall.d.ts.map +1 -0
  31. package/dist/runtime/activity/ActivityManager.d.ts +44 -0
  32. package/dist/runtime/activity/ActivityManager.d.ts.map +1 -0
  33. package/dist/runtime/{InteractionCall.d.ts → activity/InteractionCall.d.ts} +28 -41
  34. package/dist/runtime/activity/InteractionCall.d.ts.map +1 -0
  35. package/dist/runtime/computations/Any.d.ts +71 -0
  36. package/dist/runtime/computations/Any.d.ts.map +1 -0
  37. package/dist/runtime/computations/Average.d.ts +69 -0
  38. package/dist/runtime/computations/Average.d.ts.map +1 -0
  39. package/dist/runtime/computations/Computation.d.ts +138 -0
  40. package/dist/runtime/computations/Computation.d.ts.map +1 -0
  41. package/dist/runtime/computations/Count.d.ts +73 -0
  42. package/dist/runtime/computations/Count.d.ts.map +1 -0
  43. package/dist/runtime/computations/Custom.d.ts +45 -0
  44. package/dist/runtime/computations/Custom.d.ts.map +1 -0
  45. package/dist/runtime/computations/Every.d.ts +74 -0
  46. package/dist/runtime/computations/Every.d.ts.map +1 -0
  47. package/dist/runtime/computations/MathResolver.d.ts +60 -0
  48. package/dist/runtime/computations/MathResolver.d.ts.map +1 -0
  49. package/dist/runtime/computations/RealTime.d.ts +66 -0
  50. package/dist/runtime/computations/RealTime.d.ts.map +1 -0
  51. package/dist/runtime/{computedDataHandles → computations}/StateMachine.d.ts +31 -22
  52. package/dist/runtime/computations/StateMachine.d.ts.map +1 -0
  53. package/dist/runtime/computations/Summation.d.ts +66 -0
  54. package/dist/runtime/computations/Summation.d.ts.map +1 -0
  55. package/dist/runtime/computations/Transform.d.ts +29 -0
  56. package/dist/runtime/computations/Transform.d.ts.map +1 -0
  57. package/dist/runtime/computations/TransitionFinder.d.ts +11 -0
  58. package/dist/runtime/computations/TransitionFinder.d.ts.map +1 -0
  59. package/dist/runtime/computations/WeightedSummation.d.ts +71 -0
  60. package/dist/runtime/computations/WeightedSummation.d.ts.map +1 -0
  61. package/dist/runtime/computations/index.d.ts +22 -0
  62. package/dist/runtime/computations/index.d.ts.map +1 -0
  63. package/dist/runtime/errors/ActivityErrors.d.ts +40 -0
  64. package/dist/runtime/errors/ActivityErrors.d.ts.map +1 -0
  65. package/dist/runtime/errors/ComputationErrors.d.ts +61 -0
  66. package/dist/runtime/errors/ComputationErrors.d.ts.map +1 -0
  67. package/dist/runtime/errors/ConditionErrors.d.ts +33 -0
  68. package/dist/runtime/errors/ConditionErrors.d.ts.map +1 -0
  69. package/dist/runtime/errors/FrameworkError.d.ts +77 -0
  70. package/dist/runtime/errors/FrameworkError.d.ts.map +1 -0
  71. package/dist/runtime/errors/InteractionErrors.d.ts +21 -0
  72. package/dist/runtime/errors/InteractionErrors.d.ts.map +1 -0
  73. package/dist/runtime/errors/SystemErrors.d.ts +16 -0
  74. package/dist/runtime/errors/SystemErrors.d.ts.map +1 -0
  75. package/dist/runtime/errors/index.d.ts +37 -0
  76. package/dist/runtime/errors/index.d.ts.map +1 -0
  77. package/dist/runtime/index.d.ts +9 -7
  78. package/dist/runtime/index.d.ts.map +1 -1
  79. package/dist/shared/Action.d.ts +38 -0
  80. package/dist/shared/Action.d.ts.map +1 -0
  81. package/dist/shared/Activity.d.ts +178 -0
  82. package/dist/shared/Activity.d.ts.map +1 -0
  83. package/dist/shared/Any.d.ts +82 -0
  84. package/dist/shared/Any.d.ts.map +1 -0
  85. package/dist/shared/Attributive.d.ts +92 -0
  86. package/dist/shared/Attributive.d.ts.map +1 -0
  87. package/dist/shared/Average.d.ts +59 -0
  88. package/dist/shared/Average.d.ts.map +1 -0
  89. package/dist/shared/BoolExp.d.ts +139 -63
  90. package/dist/shared/BoolExp.d.ts.map +1 -1
  91. package/dist/shared/Computation.d.ts +23 -0
  92. package/dist/shared/Computation.d.ts.map +1 -0
  93. package/dist/shared/Condition.d.ts +43 -0
  94. package/dist/shared/Condition.d.ts.map +1 -0
  95. package/dist/shared/Conditions.d.ts +38 -0
  96. package/dist/shared/Conditions.d.ts.map +1 -0
  97. package/dist/shared/Count.d.ts +77 -0
  98. package/dist/shared/Count.d.ts.map +1 -0
  99. package/dist/shared/Custom.d.ts +108 -0
  100. package/dist/shared/Custom.d.ts.map +1 -0
  101. package/dist/shared/Data.d.ts +121 -0
  102. package/dist/shared/Data.d.ts.map +1 -0
  103. package/dist/shared/DataAttributives.d.ts +38 -0
  104. package/dist/shared/DataAttributives.d.ts.map +1 -0
  105. package/dist/shared/Entity.d.ts +96 -0
  106. package/dist/shared/Entity.d.ts.map +1 -0
  107. package/dist/shared/Event.d.ts +36 -0
  108. package/dist/shared/Event.d.ts.map +1 -0
  109. package/dist/shared/Every.d.ts +85 -0
  110. package/dist/shared/Every.d.ts.map +1 -0
  111. package/dist/shared/Gateway.d.ts +36 -0
  112. package/dist/shared/Gateway.d.ts.map +1 -0
  113. package/dist/shared/Interaction.d.ts +108 -0
  114. package/dist/shared/Interaction.d.ts.map +1 -0
  115. package/dist/shared/Payload.d.ts +39 -0
  116. package/dist/shared/Payload.d.ts.map +1 -0
  117. package/dist/shared/PayloadItem.d.ts +85 -0
  118. package/dist/shared/PayloadItem.d.ts.map +1 -0
  119. package/dist/shared/Property.d.ts +83 -0
  120. package/dist/shared/Property.d.ts.map +1 -0
  121. package/dist/shared/RealDictionary.d.ts +94 -0
  122. package/dist/shared/RealDictionary.d.ts.map +1 -0
  123. package/dist/shared/RealTime.d.ts +66 -0
  124. package/dist/shared/RealTime.d.ts.map +1 -0
  125. package/dist/shared/RefContainer.d.ts +89 -0
  126. package/dist/shared/RefContainer.d.ts.map +1 -0
  127. package/dist/shared/Relation.d.ts +140 -0
  128. package/dist/shared/Relation.d.ts.map +1 -0
  129. package/dist/shared/SideEffect.d.ts +45 -0
  130. package/dist/shared/SideEffect.d.ts.map +1 -0
  131. package/dist/shared/StateMachine.d.ts +55 -0
  132. package/dist/shared/StateMachine.d.ts.map +1 -0
  133. package/dist/shared/StateNode.d.ts +45 -0
  134. package/dist/shared/StateNode.d.ts.map +1 -0
  135. package/dist/shared/StateTransfer.d.ts +63 -0
  136. package/dist/shared/StateTransfer.d.ts.map +1 -0
  137. package/dist/shared/Summation.d.ts +59 -0
  138. package/dist/shared/Summation.d.ts.map +1 -0
  139. package/dist/shared/Transform.d.ts +54 -0
  140. package/dist/shared/Transform.d.ts.map +1 -0
  141. package/dist/shared/User.d.ts +10 -0
  142. package/dist/shared/User.d.ts.map +1 -0
  143. package/dist/shared/WeightedSummation.d.ts +82 -0
  144. package/dist/shared/WeightedSummation.d.ts.map +1 -0
  145. package/dist/shared/index.d.ts +35 -9
  146. package/dist/shared/index.d.ts.map +1 -1
  147. package/dist/shared/init.d.ts +3 -0
  148. package/dist/shared/init.d.ts.map +1 -0
  149. package/dist/shared/interfaces.d.ts +72 -0
  150. package/dist/shared/interfaces.d.ts.map +1 -0
  151. package/dist/shared/types.d.ts +77 -0
  152. package/dist/shared/types.d.ts.map +1 -0
  153. package/dist/shared/utils.d.ts +16 -10
  154. package/dist/shared/utils.d.ts.map +1 -1
  155. package/dist/storage/erstorage/AttributeInfo.d.ts +8 -3
  156. package/dist/storage/erstorage/AttributeInfo.d.ts.map +1 -1
  157. package/dist/storage/erstorage/AttributeQuery.d.ts +4 -3
  158. package/dist/storage/erstorage/AttributeQuery.d.ts.map +1 -1
  159. package/dist/storage/erstorage/EntityQueryHandle.d.ts +18 -17
  160. package/dist/storage/erstorage/EntityQueryHandle.d.ts.map +1 -1
  161. package/dist/storage/erstorage/EntityToTableMap.d.ts +27 -5
  162. package/dist/storage/erstorage/EntityToTableMap.d.ts.map +1 -1
  163. package/dist/storage/erstorage/FilteredEntityManager.d.ts +70 -0
  164. package/dist/storage/erstorage/FilteredEntityManager.d.ts.map +1 -0
  165. package/dist/storage/erstorage/LinkInfo.d.ts +10 -3
  166. package/dist/storage/erstorage/LinkInfo.d.ts.map +1 -1
  167. package/dist/storage/erstorage/MatchExp.d.ts +19 -9
  168. package/dist/storage/erstorage/MatchExp.d.ts.map +1 -1
  169. package/dist/storage/erstorage/MergedItemProcessor.d.ts +25 -0
  170. package/dist/storage/erstorage/MergedItemProcessor.d.ts.map +1 -0
  171. package/dist/storage/erstorage/Modifier.d.ts +1 -1
  172. package/dist/storage/erstorage/NewRecordData.d.ts +16 -9
  173. package/dist/storage/erstorage/NewRecordData.d.ts.map +1 -1
  174. package/dist/storage/erstorage/RecordInfo.d.ts +11 -2
  175. package/dist/storage/erstorage/RecordInfo.d.ts.map +1 -1
  176. package/dist/storage/erstorage/RecordQuery.d.ts +9 -8
  177. package/dist/storage/erstorage/RecordQuery.d.ts.map +1 -1
  178. package/dist/storage/erstorage/RecordQueryAgent.d.ts +26 -13
  179. package/dist/storage/erstorage/RecordQueryAgent.d.ts.map +1 -1
  180. package/dist/storage/erstorage/Setup.d.ts +49 -11
  181. package/dist/storage/erstorage/Setup.d.ts.map +1 -1
  182. package/dist/storage/erstorage/util.d.ts.map +1 -1
  183. package/package.json +44 -20
  184. package/README.md +0 -53
  185. package/dist/runtime/ActivityCall.d.ts.map +0 -1
  186. package/dist/runtime/ActivityCall.js +0 -379
  187. package/dist/runtime/ActivityCall.js.map +0 -1
  188. package/dist/runtime/Controller.js +0 -225
  189. package/dist/runtime/Controller.js.map +0 -1
  190. package/dist/runtime/InteractionCall.d.ts.map +0 -1
  191. package/dist/runtime/InteractionCall.js +0 -385
  192. package/dist/runtime/InteractionCall.js.map +0 -1
  193. package/dist/runtime/MonoSystem.js +0 -331
  194. package/dist/runtime/MonoSystem.js.map +0 -1
  195. package/dist/runtime/Mysql.js +0 -171
  196. package/dist/runtime/Mysql.js.map +0 -1
  197. package/dist/runtime/PostgreSQL.js +0 -172
  198. package/dist/runtime/PostgreSQL.js.map +0 -1
  199. package/dist/runtime/SQLite.js +0 -146
  200. package/dist/runtime/SQLite.js.map +0 -1
  201. package/dist/runtime/Scheduler.js +0 -457
  202. package/dist/runtime/Scheduler.js.map +0 -1
  203. package/dist/runtime/System.js +0 -90
  204. package/dist/runtime/System.js.map +0 -1
  205. package/dist/runtime/asyncInteractionContext.js +0 -3
  206. package/dist/runtime/asyncInteractionContext.js.map +0 -1
  207. package/dist/runtime/boolExpression.js +0 -43
  208. package/dist/runtime/boolExpression.js.map +0 -1
  209. package/dist/runtime/computedDataHandles/Any.d.ts +0 -52
  210. package/dist/runtime/computedDataHandles/Any.d.ts.map +0 -1
  211. package/dist/runtime/computedDataHandles/Any.js +0 -152
  212. package/dist/runtime/computedDataHandles/Any.js.map +0 -1
  213. package/dist/runtime/computedDataHandles/Computation.d.ts +0 -108
  214. package/dist/runtime/computedDataHandles/Computation.d.ts.map +0 -1
  215. package/dist/runtime/computedDataHandles/Computation.js +0 -49
  216. package/dist/runtime/computedDataHandles/Computation.js.map +0 -1
  217. package/dist/runtime/computedDataHandles/ComputedDataHandle.d.ts +0 -42
  218. package/dist/runtime/computedDataHandles/ComputedDataHandle.d.ts.map +0 -1
  219. package/dist/runtime/computedDataHandles/ComputedDataHandle.js +0 -4
  220. package/dist/runtime/computedDataHandles/ComputedDataHandle.js.map +0 -1
  221. package/dist/runtime/computedDataHandles/Count.d.ts +0 -45
  222. package/dist/runtime/computedDataHandles/Count.d.ts.map +0 -1
  223. package/dist/runtime/computedDataHandles/Count.js +0 -85
  224. package/dist/runtime/computedDataHandles/Count.js.map +0 -1
  225. package/dist/runtime/computedDataHandles/Every.d.ts +0 -56
  226. package/dist/runtime/computedDataHandles/Every.d.ts.map +0 -1
  227. package/dist/runtime/computedDataHandles/Every.js +0 -178
  228. package/dist/runtime/computedDataHandles/Every.js.map +0 -1
  229. package/dist/runtime/computedDataHandles/StateMachine.d.ts.map +0 -1
  230. package/dist/runtime/computedDataHandles/StateMachine.js +0 -180
  231. package/dist/runtime/computedDataHandles/StateMachine.js.map +0 -1
  232. package/dist/runtime/computedDataHandles/Transform.d.ts +0 -26
  233. package/dist/runtime/computedDataHandles/Transform.d.ts.map +0 -1
  234. package/dist/runtime/computedDataHandles/Transform.js +0 -106
  235. package/dist/runtime/computedDataHandles/Transform.js.map +0 -1
  236. package/dist/runtime/computedDataHandles/TransitionFinder.d.ts +0 -57
  237. package/dist/runtime/computedDataHandles/TransitionFinder.d.ts.map +0 -1
  238. package/dist/runtime/computedDataHandles/TransitionFinder.js +0 -40
  239. package/dist/runtime/computedDataHandles/TransitionFinder.js.map +0 -1
  240. package/dist/runtime/computedDataHandles/WeightedSummation.d.ts +0 -57
  241. package/dist/runtime/computedDataHandles/WeightedSummation.d.ts.map +0 -1
  242. package/dist/runtime/computedDataHandles/WeightedSummation.js +0 -146
  243. package/dist/runtime/computedDataHandles/WeightedSummation.js.map +0 -1
  244. package/dist/runtime/computedDataHandles/index.d.ts +0 -7
  245. package/dist/runtime/computedDataHandles/index.d.ts.map +0 -1
  246. package/dist/runtime/computedDataHandles/index.js +0 -7
  247. package/dist/runtime/computedDataHandles/index.js.map +0 -1
  248. package/dist/runtime/index.js +0 -15
  249. package/dist/runtime/index.js.map +0 -1
  250. package/dist/runtime/server.d.ts +0 -35
  251. package/dist/runtime/server.d.ts.map +0 -1
  252. package/dist/runtime/server.js +0 -171
  253. package/dist/runtime/server.js.map +0 -1
  254. package/dist/runtime/types/boolExpression.js +0 -6
  255. package/dist/runtime/types/boolExpression.js.map +0 -1
  256. package/dist/runtime/util.js +0 -39
  257. package/dist/runtime/util.js.map +0 -1
  258. package/dist/shared/BoolExp.js +0 -252
  259. package/dist/shared/BoolExp.js.map +0 -1
  260. package/dist/shared/activity/Activity.d.ts +0 -465
  261. package/dist/shared/activity/Activity.d.ts.map +0 -1
  262. package/dist/shared/activity/Activity.js +0 -264
  263. package/dist/shared/activity/Activity.js.map +0 -1
  264. package/dist/shared/activity/Condition.d.ts +0 -75
  265. package/dist/shared/activity/Condition.d.ts.map +0 -1
  266. package/dist/shared/activity/Condition.js +0 -51
  267. package/dist/shared/activity/Condition.js.map +0 -1
  268. package/dist/shared/activity/Data.d.ts +0 -115
  269. package/dist/shared/activity/Data.d.ts.map +0 -1
  270. package/dist/shared/activity/Data.js +0 -89
  271. package/dist/shared/activity/Data.js.map +0 -1
  272. package/dist/shared/attributive.d.ts +0 -93
  273. package/dist/shared/attributive.d.ts.map +0 -1
  274. package/dist/shared/attributive.js +0 -59
  275. package/dist/shared/attributive.js.map +0 -1
  276. package/dist/shared/computed.d.ts +0 -607
  277. package/dist/shared/computed.d.ts.map +0 -1
  278. package/dist/shared/computed.js +0 -202
  279. package/dist/shared/computed.js.map +0 -1
  280. package/dist/shared/createClass.d.ts +0 -102
  281. package/dist/shared/createClass.d.ts.map +0 -1
  282. package/dist/shared/createClass.js +0 -276
  283. package/dist/shared/createClass.js.map +0 -1
  284. package/dist/shared/dictionary/Dictionary.d.ts +0 -40
  285. package/dist/shared/dictionary/Dictionary.d.ts.map +0 -1
  286. package/dist/shared/dictionary/Dictionary.js +0 -51
  287. package/dist/shared/dictionary/Dictionary.js.map +0 -1
  288. package/dist/shared/entity/Entity.d.ts +0 -149
  289. package/dist/shared/entity/Entity.d.ts.map +0 -1
  290. package/dist/shared/entity/Entity.js +0 -226
  291. package/dist/shared/entity/Entity.js.map +0 -1
  292. package/dist/shared/index.js +0 -11
  293. package/dist/shared/index.js.map +0 -1
  294. package/dist/shared/user/User.d.ts +0 -21
  295. package/dist/shared/user/User.d.ts.map +0 -1
  296. package/dist/shared/user/User.js +0 -11
  297. package/dist/shared/user/User.js.map +0 -1
  298. package/dist/shared/utils.js +0 -19
  299. package/dist/shared/utils.js.map +0 -1
  300. package/dist/storage/erstorage/AttributeInfo.js +0 -147
  301. package/dist/storage/erstorage/AttributeInfo.js.map +0 -1
  302. package/dist/storage/erstorage/AttributeQuery.js +0 -190
  303. package/dist/storage/erstorage/AttributeQuery.js.map +0 -1
  304. package/dist/storage/erstorage/EntityQueryHandle.js +0 -78
  305. package/dist/storage/erstorage/EntityQueryHandle.js.map +0 -1
  306. package/dist/storage/erstorage/EntityToTableMap.js +0 -262
  307. package/dist/storage/erstorage/EntityToTableMap.js.map +0 -1
  308. package/dist/storage/erstorage/LinkInfo.js +0 -89
  309. package/dist/storage/erstorage/LinkInfo.js.map +0 -1
  310. package/dist/storage/erstorage/MatchExp.js +0 -211
  311. package/dist/storage/erstorage/MatchExp.js.map +0 -1
  312. package/dist/storage/erstorage/Modifier.js +0 -24
  313. package/dist/storage/erstorage/Modifier.js.map +0 -1
  314. package/dist/storage/erstorage/NewRecordData.js +0 -178
  315. package/dist/storage/erstorage/NewRecordData.js.map +0 -1
  316. package/dist/storage/erstorage/RecordInfo.js +0 -111
  317. package/dist/storage/erstorage/RecordInfo.js.map +0 -1
  318. package/dist/storage/erstorage/RecordQuery.js +0 -158
  319. package/dist/storage/erstorage/RecordQuery.js.map +0 -1
  320. package/dist/storage/erstorage/RecordQueryAgent.js +0 -1130
  321. package/dist/storage/erstorage/RecordQueryAgent.js.map +0 -1
  322. package/dist/storage/erstorage/Setup.js +0 -400
  323. package/dist/storage/erstorage/Setup.js.map +0 -1
  324. package/dist/storage/erstorage/util.js +0 -25
  325. package/dist/storage/erstorage/util.js.map +0 -1
  326. package/dist/storage/index.js +0 -13
  327. package/dist/storage/index.js.map +0 -1
  328. package/dist/storage/utils.js +0 -48
  329. package/dist/storage/utils.js.map +0 -1
@@ -1,11 +1,17 @@
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 {};
1
+ import { IInstance } from './interfaces';
2
+ export declare function isObject(obj: unknown): obj is object;
3
+ export declare function isPlainObject(obj: unknown): obj is Record<string, unknown>;
4
+ export declare function indexBy<T extends Record<string, any>>(array: T[], key: keyof T): Record<string, T>;
5
+ export declare function stringifyAttribute(obj: unknown): unknown;
6
+ export declare function deepClone<T>(obj: T, deepCloneKlass?: boolean): T;
7
+ export declare function clearAllInstances(...klasses: Array<{
8
+ instances: IInstance[];
9
+ }>): void;
10
+ export declare function removeAllInstance(): void;
11
+ export declare const KlassByName: Map<string, any>;
12
+ export declare function registerKlass(name: string, klassLike: any): void;
13
+ export declare function stringifyAllInstances(): string;
14
+ export declare function createInstancesFromString(objStr: string): Map<string, any>;
15
+ export declare function createInstances(objects: any[]): Map<string, any>;
16
+ export declare function createClass(meta: any): any;
11
17
  //# sourceMappingURL=utils.d.ts.map
@@ -1 +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"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/shared/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAG9C,wBAAgB,QAAQ,CAAC,GAAG,EAAE,OAAO,GAAG,GAAG,IAAI,MAAM,CAEpD;AAED,wBAAgB,aAAa,CAAC,GAAG,EAAE,OAAO,GAAG,GAAG,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAS1E;AAGD,wBAAgB,OAAO,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,GAAG,EAAE,MAAM,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAQlG;AAGD,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAWxD;AAGD,wBAAgB,SAAS,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,cAAc,CAAC,EAAE,OAAO,GAAG,CAAC,CAsBhE;AAGD,wBAAgB,iBAAiB,CAAC,GAAG,OAAO,EAAE,KAAK,CAAC;IAAE,SAAS,EAAE,SAAS,EAAE,CAAA;CAAE,CAAC,QAI9E;AAID,wBAAgB,iBAAiB,SAEhC;AAID,eAAO,MAAM,WAAW,kBAAyB,CAAC;AAGlD,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,QAIzD;AAGD,wBAAgB,qBAAqB,IAAI,MAAM,CAS9C;AAGD,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,MAAM,oBAGvD;AAGD,wBAAgB,eAAe,CAAC,OAAO,EAAE,GAAG,EAAE,oBAgB7C;AAGD,wBAAgB,WAAW,CAAC,IAAI,EAAE,GAAG,GAAG,GAAG,CAG1C"}
@@ -1,4 +1,6 @@
1
- import { EntityToTableMap, RecordAttribute, ValueAttribute } from "./EntityToTableMap.js";
1
+ import { EntityToTableMap, RecordAttribute, ValueAttribute } from './EntityToTableMap.js';
2
+ import { LinkInfo } from './LinkInfo.js';
3
+ import { RecordInfo } from './RecordInfo.js';
2
4
  export declare class AttributeInfo {
3
5
  parentEntityName: string;
4
6
  attributeName: string;
@@ -33,8 +35,11 @@ export declare class AttributeInfo {
33
35
  isLinkManyToManySymmetric(): boolean;
34
36
  isLinkSourceRelation(): boolean;
35
37
  getReverseInfo(): AttributeInfo | undefined;
36
- getLinkInfo(): import("./LinkInfo.js").LinkInfo;
37
- getRecordInfo(): import("./RecordInfo.js").RecordInfo;
38
+ getLinkInfo(): LinkInfo;
39
+ getRecordInfo(): RecordInfo;
38
40
  getAttribute(name: string): AttributeInfo;
41
+ isLinkFiltered(): boolean | undefined;
42
+ getMatchExpression(): any;
43
+ getBaseAttributeInfo(): AttributeInfo;
39
44
  }
40
45
  //# sourceMappingURL=AttributeInfo.d.ts.map
@@ -1 +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"}
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;IAID,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;IAIxB,cAAc;IAId,kBAAkB;IAKlB,oBAAoB;CAIvB"}
@@ -1,5 +1,5 @@
1
- import { EntityToTableMap } from "./EntityToTableMap.js";
2
- import { RecordQuery, RecordQueryData, RecordQueryTree } from "./RecordQuery.js";
1
+ import { EntityToTableMap } from './EntityToTableMap.js';
2
+ import { RecordQuery, RecordQueryData, RecordQueryTree } from './RecordQuery.js';
3
3
  export type AttributeQueryDataRecordItem = [string, RecordQueryData, boolean?];
4
4
  export type AttributeQueryDataItem = string | AttributeQueryDataRecordItem;
5
5
  export type AttributeQueryData = AttributeQueryDataItem[];
@@ -17,10 +17,11 @@ export declare class AttributeQuery {
17
17
  fullQueryTree: RecordQueryTree;
18
18
  parentLinkRecordQuery?: RecordQuery;
19
19
  id: number;
20
+ static mergeAttributeQueryData(attributeQueryData: AttributeQueryData, otherAttributeQueryData: AttributeQueryData): AttributeQueryData;
20
21
  static getAttributeQueryDataForRecord(recordName: string, map: EntityToTableMap, includeSameTableReliance?: boolean, includeMergedRecordAttribute?: boolean, includeManagedRecordAttributes?: boolean, // link record 的 source/target 字段
21
22
  includeNotRelianceCombined?: boolean): AttributeQueryData;
22
23
  constructor(recordName: string, map: EntityToTableMap, data?: AttributeQueryData, parentRecord?: string | undefined, attributeName?: string | undefined, shouldQueryParentLinkData?: boolean | undefined);
23
- getValueAndXToOneRecordFields(nameContext?: string[]): {
24
+ getValueAndXToOneRecordFields(fieldPath?: string[], nameContext?: string[]): {
24
25
  tableAliasAndField: [string, string];
25
26
  nameContext: string[];
26
27
  attribute: string;
@@ -1 +1 @@
1
- {"version":3,"file":"AttributeQuery.d.ts","sourceRoot":"","sources":["../../../src/storage/erstorage/AttributeQuery.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,gBAAgB,EAAC,MAAM,uBAAuB,CAAC;AAGvD,OAAO,EAA+B,WAAW,EAAE,eAAe,EAAE,eAAe,EAAC,MAAM,kBAAkB,CAAC;AAE7G,MAAM,MAAM,4BAA4B,GAAG,CAAC,MAAM,EAAE,eAAe,EAAE,OAAO,CAAC,CAAC,CAAA;AAC9E,MAAM,MAAM,sBAAsB,GAAG,MAAM,GAAG,4BAA4B,CAAA;AAC1E,MAAM,MAAM,kBAAkB,GAAG,sBAAsB,EAAE,CAAA;AAEzD,qBAAa,cAAc;IAmGJ,UAAU,EAAE,MAAM;IAAS,GAAG,EAAE,gBAAgB;IAAS,IAAI,EAAE,kBAAkB;IAAc,YAAY,CAAC,EAAE,MAAM;IAAS,aAAa,CAAC,EAAE,MAAM;IAAS,yBAAyB,CAAC,EAAE,OAAO;IAlG3M,cAAc,EAAE,WAAW,EAAE,CAAK;IAClC,cAAc,EAAE,WAAW,EAAE,CAAK;IAClC,aAAa,EAAE,WAAW,EAAE,CAAK;IACjC,eAAe,EAAE,MAAM,EAAE,CAAK;IAE9B,aAAa,EAAE,eAAe,CAAA;IAC9B,qBAAqB,CAAC,EAAE,WAAW,CAAA;IACnC,EAAE,SAAgB;WACX,8BAA8B,CACxC,UAAU,EAAC,MAAM,EAAE,GAAG,EAAE,gBAAgB,EACxC,wBAAwB,UAAQ,EAChC,4BAA4B,UAAQ,EACpC,8BAA8B,UAAQ,EAAE,iCAAiC;IACzE,0BAA0B,GAAE,OAAe,GAC5C,kBAAkB;gBAoFF,UAAU,EAAE,MAAM,EAAS,GAAG,EAAE,gBAAgB,EAAS,IAAI,GAAE,kBAAuB,EAAS,YAAY,CAAC,EAAE,MAAM,YAAA,EAAS,aAAa,CAAC,EAAE,MAAM,YAAA,EAAS,yBAAyB,CAAC,EAAE,OAAO,YAAA;IA0ClN,6BAA6B,CAAC,WAAW,WAAoB,GAAG;QAAE,kBAAkB,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAAC,WAAW,EAAE,MAAM,EAAE,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,EAAE;IA0CpJ,IAAW,eAAe,IAAI,eAAe,CAE5C;IACD,oBAAoB;IA2BpB,kBAAkB;IAQlB,kBAAkB;CAKrB"}
1
+ {"version":3,"file":"AttributeQuery.d.ts","sourceRoot":"","sources":["../../../src/storage/erstorage/AttributeQuery.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,gBAAgB,EAAC,MAAM,uBAAuB,CAAC;AAGvD,OAAO,EAA+B,WAAW,EAAE,eAAe,EAAE,eAAe,EAAC,MAAM,kBAAkB,CAAC;AAG7G,MAAM,MAAM,4BAA4B,GAAG,CAAC,MAAM,EAAE,eAAe,EAAE,OAAO,CAAC,CAAC,CAAA;AAC9E,MAAM,MAAM,sBAAsB,GAAG,MAAM,GAAG,4BAA4B,CAAA;AAC1E,MAAM,MAAM,kBAAkB,GAAG,sBAAsB,EAAE,CAAA;AAEzD,qBAAa,cAAc;IAgIJ,UAAU,EAAE,MAAM;IAAS,GAAG,EAAE,gBAAgB;IAAS,IAAI,EAAE,kBAAkB;IAAc,YAAY,CAAC,EAAE,MAAM;IAAS,aAAa,CAAC,EAAE,MAAM;IAAS,yBAAyB,CAAC,EAAE,OAAO;IA/H3M,cAAc,EAAE,WAAW,EAAE,CAAK;IAClC,cAAc,EAAE,WAAW,EAAE,CAAK;IAClC,aAAa,EAAE,WAAW,EAAE,CAAK;IACjC,eAAe,EAAE,MAAM,EAAE,CAAK;IAE9B,aAAa,EAAE,eAAe,CAAA;IAC9B,qBAAqB,CAAC,EAAE,WAAW,CAAA;IACnC,EAAE,SAAgB;WACX,uBAAuB,CAAC,kBAAkB,EAAE,kBAAkB,EAAE,uBAAuB,EAAE,kBAAkB,GAAG,kBAAkB;WA2BhI,8BAA8B,CACxC,UAAU,EAAC,MAAM,EACjB,GAAG,EAAE,gBAAgB,EACrB,wBAAwB,CAAC,EAAE,OAAO,EAClC,4BAA4B,CAAC,EAAE,OAAO,EACtC,8BAA8B,CAAC,EAAE,OAAO,EAAE,iCAAiC;IAC3E,0BAA0B,CAAC,EAAE,OAAO,GACrC,kBAAkB;gBAqFF,UAAU,EAAE,MAAM,EAAS,GAAG,EAAE,gBAAgB,EAAS,IAAI,GAAE,kBAAuB,EAAS,YAAY,CAAC,EAAE,MAAM,YAAA,EAAS,aAAa,CAAC,EAAE,MAAM,YAAA,EAAS,yBAAyB,CAAC,EAAE,OAAO,YAAA;IA4DlN,6BAA6B,CAAC,SAAS,WAAoB,EAAE,WAAW,WAAoB,GAAG;QAAE,kBAAkB,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAAC,WAAW,EAAE,MAAM,EAAE,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,EAAE;IAgDnL,IAAW,eAAe,IAAI,eAAe,CAE5C;IACD,oBAAoB;IA2BpB,kBAAkB;IAQlB,kBAAkB;CAKrB"}
@@ -1,28 +1,29 @@
1
- import { EntityToTableMap } from "./EntityToTableMap.js";
2
- import { MatchExp, MatchExpressionData } from "./MatchExp.js";
3
- import { ModifierData } from "./Modifier.js";
4
- import { AttributeQueryData } from "./AttributeQuery.js";
5
- import { RawEntityData } from "./NewRecordData.js";
6
- import { RecordQueryAgent } from "./RecordQueryAgent.js";
7
- import { EntityIdRef, Database, RecordMutationEvent } from "@runtime";
1
+ import { EntityToTableMap } from './EntityToTableMap.js';
2
+ import { MatchExp, MatchExpressionData, MatchAtom } from './MatchExp.js';
3
+ import { ModifierData } from './Modifier.js';
4
+ import { AttributeQueryData } from './AttributeQuery.js';
5
+ import { RawEntityData } from './NewRecordData.js';
6
+ import { RecordQueryAgent, Record } from './RecordQueryAgent.js';
7
+ import { EntityIdRef, Database, RecordMutationEvent } from '../../runtime';
8
+ import { BoolExp } from '../../index.js';
8
9
  export declare class EntityQueryHandle {
9
10
  map: EntityToTableMap;
10
11
  database: Database;
11
12
  agent: RecordQueryAgent;
12
13
  constructor(map: EntityToTableMap, database: Database);
13
- findOne(entityName: string, matchExpression?: MatchExpressionData, modifier?: ModifierData, attributeQuery?: AttributeQueryData): Promise<import("@runtime").Record>;
14
- find(entityName: string, matchExpressionData?: MatchExpressionData, modifierData?: ModifierData, attributeQueryData?: AttributeQueryData): Promise<import("@runtime").Record[]>;
14
+ findOne(entityName: string, matchExpression?: MatchExpressionData, modifier?: ModifierData, attributeQuery?: AttributeQueryData): Promise<Record>;
15
+ find(entityName: string, matchExpressionData?: MatchExpressionData, modifierData?: ModifierData, attributeQueryData?: AttributeQueryData): Promise<Record[]>;
15
16
  create(entityName: string, rawData: RawEntityData, events?: RecordMutationEvent[]): Promise<EntityIdRef>;
16
- update(entity: string, matchExpressionData: MatchExpressionData, rawData: RawEntityData, events?: RecordMutationEvent[]): Promise<import("@runtime").Record[]>;
17
- delete(entityName: string, matchExpressionData: MatchExpressionData, events?: RecordMutationEvent[]): Promise<import("@runtime").Record[]>;
17
+ update(entity: string, matchExpressionData: MatchExpressionData, rawData: RawEntityData, events?: RecordMutationEvent[]): Promise<Record[]>;
18
+ delete(entityName: string, matchExpressionData: MatchExpressionData, events?: RecordMutationEvent[]): Promise<Record[]>;
18
19
  addRelationByNameById(relationName: string, sourceEntityId: string, targetEntityId: string, rawData?: RawEntityData, events?: RecordMutationEvent[]): Promise<EntityIdRef>;
19
20
  addRelationById(entity: string, attribute: string, entityId: string, attributeEntityId: string, relationData?: RawEntityData, events?: RecordMutationEvent[]): Promise<EntityIdRef>;
20
- updateRelationByName(relationName: string, matchExpressionData: MatchExpressionData, rawData: RawEntityData, events?: RecordMutationEvent[]): Promise<import("@runtime").Record[]>;
21
- removeRelationByName(relationName: string, matchExpressionData: MatchExpressionData, events?: RecordMutationEvent[]): Promise<void | import("@runtime").Record[]>;
22
- findRelationByName(relationName: string, matchExpressionData?: MatchExpressionData, modifierData?: ModifierData, attributeQueryData?: AttributeQueryData): Promise<import("@runtime").Record[]>;
23
- findOneRelationByName(relationName: string, matchExpressionData: MatchExpressionData, modifierData?: ModifierData, attributeQueryData?: AttributeQueryData): Promise<import("@runtime").Record>;
24
- findPath(entity: string, attribute: string, entityId: string, ancestorId: string): Promise<import("@runtime").Record[] | undefined>;
25
- createMatchFromAtom(...arg: Parameters<(typeof MatchExp)["atom"]>): import("@runtime").BoolExp<import("@runtime").MatchAtom>;
21
+ updateRelationByName(relationName: string, matchExpressionData: MatchExpressionData, rawData: RawEntityData, events?: RecordMutationEvent[]): Promise<Record[]>;
22
+ removeRelationByName(relationName: string, matchExpressionData: MatchExpressionData, events?: RecordMutationEvent[]): Promise<void | Record[]>;
23
+ findRelationByName(relationName: string, matchExpressionData?: MatchExpressionData, modifierData?: ModifierData, attributeQueryData?: AttributeQueryData): Promise<Record[]>;
24
+ findOneRelationByName(relationName: string, matchExpressionData: MatchExpressionData, modifierData?: ModifierData, attributeQueryData?: AttributeQueryData): Promise<Record>;
25
+ findPath(entity: string, attribute: string, entityId: string, ancestorId: string): Promise<Record[] | undefined>;
26
+ createMatchFromAtom(...arg: Parameters<(typeof MatchExp)["atom"]>): BoolExp<MatchAtom>;
26
27
  getRelationName(entity: string, attribute: string): string;
27
28
  getEntityName(entity: string, attribute: string): string;
28
29
  }
@@ -1 +1 @@
1
- {"version":3,"file":"EntityQueryHandle.d.ts","sourceRoot":"","sources":["../../../src/storage/erstorage/EntityQueryHandle.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,gBAAgB,EAAC,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAC,QAAQ,EAAE,mBAAmB,EAAC,MAAM,eAAe,CAAC;AAC5D,OAAO,EAAC,YAAY,EAAC,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAC,kBAAkB,EAAC,MAAM,qBAAqB,CAAC;AAGvD,OAAO,EAAgB,aAAa,EAAC,MAAM,oBAAoB,CAAC;AAChE,OAAO,EAAC,gBAAgB,EAAC,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAC,WAAW,EAAE,QAAQ,EAAE,mBAAmB,EAAC,MAAM,UAAU,CAAC;AAEpE,qBAAa,iBAAiB;IAGP,GAAG,EAAE,gBAAgB;IAAS,QAAQ,EAAE,QAAQ;IAFnE,KAAK,EAAE,gBAAgB,CAAA;gBAEJ,GAAG,EAAE,gBAAgB,EAAS,QAAQ,EAAE,QAAQ;IAI7D,OAAO,CAAC,UAAU,EAAE,MAAM,EAAE,eAAe,CAAC,EAAE,mBAAmB,EAAE,QAAQ,GAAE,YAAiB,EAAE,cAAc,CAAC,EAAE,kBAAkB;IASnI,IAAI,CAAC,UAAU,EAAE,MAAM,EAAE,mBAAmB,CAAC,EAAE,mBAAmB,EAAE,YAAY,CAAC,EAAE,YAAY,EAAE,kBAAkB,GAAE,kBAAuB;IAe5I,MAAM,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,CAAC,EAAE,mBAAmB,EAAE,GAAG,OAAO,CAAC,WAAW,CAAC;IAMxG,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,CAAC,EAAE,mBAAmB,EAAE;IAKvH,MAAM,CAAC,UAAU,EAAE,MAAM,EAAE,mBAAmB,EAAE,mBAAmB,EAAC,MAAM,CAAC,EAAE,mBAAmB,EAAE;IAIlG,qBAAqB,CAAC,YAAY,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,OAAO,GAAE,aAAkB,EAAE,MAAM,CAAC,EAAE,mBAAmB,EAAE;IAKvJ,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,aAAa,EAAE,MAAM,CAAC,EAAE,mBAAmB,EAAE;IAI5J,oBAAoB,CAAC,YAAY,EAAE,MAAM,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,CAAC,EAAE,mBAAmB,EAAE;IAK3I,oBAAoB,CAAC,YAAY,EAAE,MAAM,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,CAAC,EAAE,mBAAmB,EAAE;IAInH,kBAAkB,CAAC,YAAY,EAAE,MAAM,EAAE,mBAAmB,CAAC,EAAE,mBAAmB,EAAE,YAAY,CAAC,EAAE,YAAY,EAAE,kBAAkB,GAAE,kBAAuB;IAI5J,qBAAqB,CAAC,YAAY,EAAE,MAAM,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,YAAY,GAAE,YAAiB,EAAE,kBAAkB,GAAE,kBAAuB;IASlK,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM;IAItF,mBAAmB,CAAC,GAAG,GAAG,EAAE,UAAU,CAAC,CAAC,OAAO,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC;IAGjE,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM;IAG1D,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM;CAI3D"}
1
+ {"version":3,"file":"EntityQueryHandle.d.ts","sourceRoot":"","sources":["../../../src/storage/erstorage/EntityQueryHandle.ts"],"names":[],"mappings":"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"}
@@ -1,25 +1,33 @@
1
- import { AttributeInfo } from "./AttributeInfo.js";
2
- import { RecordInfo } from "./RecordInfo.js";
3
- import { LinkInfo } from "./LinkInfo.js";
1
+ import { AttributeInfo } from './AttributeInfo.js';
2
+ import { RecordInfo } from './RecordInfo.js';
3
+ import { LinkInfo } from './LinkInfo.js';
4
+ import { MatchExpressionData } from './MatchExp.js';
4
5
  export type ValueAttribute = {
6
+ name: string;
5
7
  type: string;
6
8
  collection?: boolean;
7
9
  table?: string;
8
10
  field: string;
9
11
  fieldType?: string;
10
12
  computed?: (record: any) => any;
11
- defaultValue?: () => any;
13
+ defaultValue?: (record: any, recordName: string) => any;
12
14
  };
13
15
  export type RecordAttribute = {
14
16
  type: 'id';
15
17
  isRecord: true;
16
18
  linkName: string;
19
+ attributeName: string;
17
20
  isSource?: boolean;
18
21
  relType: ['1' | 'n', '1' | 'n'];
19
22
  recordName: string;
20
23
  table?: string;
21
24
  field?: string;
22
25
  isReliance?: boolean;
26
+ isFilteredRelation?: boolean;
27
+ matchExpression?: any;
28
+ baseRelationAttributeName?: string;
29
+ resolvedMatchExpression?: MatchExpressionData;
30
+ resolvedBaseRecordName?: string;
23
31
  };
24
32
  export type RecordMapItem = {
25
33
  table: string;
@@ -27,6 +35,14 @@ export type RecordMapItem = {
27
35
  [k: string]: ValueAttribute | RecordAttribute;
28
36
  };
29
37
  isRelation?: boolean;
38
+ isFilteredEntity?: boolean;
39
+ baseRecordName?: string;
40
+ matchExpression?: MatchExpressionData;
41
+ resolvedBaseRecordName?: string;
42
+ resolvedMatchExpression?: MatchExpressionData;
43
+ filteredBy?: string[];
44
+ isFilteredRelation?: boolean;
45
+ baseRelationName?: string;
30
46
  };
31
47
  type RecordMap = {
32
48
  [k: string]: RecordMapItem;
@@ -44,6 +60,11 @@ export type LinkMapItem = {
44
60
  sourceField?: string;
45
61
  targetField?: string;
46
62
  isTargetReliance?: boolean;
63
+ isFilteredRelation?: boolean;
64
+ matchExpression?: any;
65
+ baseLinkName?: string;
66
+ resolvedBaseRecordName?: string;
67
+ resolvedMatchExpression?: MatchExpressionData;
47
68
  };
48
69
  type LinkMap = {
49
70
  [k: string]: LinkMapItem;
@@ -65,7 +86,6 @@ type TableAndAliasStack = {
65
86
  export declare class EntityToTableMap {
66
87
  data: MapData;
67
88
  constructor(data: MapData);
68
- getRecordTable(entityName: string): string;
69
89
  getRecord(recordName: string): RecordMapItem;
70
90
  getAttributeAndSymmetricDirection(rawAttributeName: string): [string, 'source' | 'target' | undefined];
71
91
  getAttributeData(recordName: string, attributeName: string): ValueAttribute | RecordAttribute;
@@ -79,7 +99,9 @@ export declare class EntityToTableMap {
79
99
  findManyToManySymmetricPath(namePath: string[]): string[] | undefined;
80
100
  spawnManyToManySymmetricPath(namePath: string[]): [string[], string[]] | undefined;
81
101
  getReverseAttribute(entityName: string, attribute: string): string;
102
+ getReversePath(namePath: string[]): string[];
82
103
  groupAttributes(entityName: string, attributeNames: string[]): [AttributeInfo[], AttributeInfo[], AttributeInfo[]];
104
+ getShrinkedAttribute(entityName: string, attributeName: string): string;
83
105
  }
84
106
  export {};
85
107
  //# sourceMappingURL=EntityToTableMap.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"EntityToTableMap.d.ts","sourceRoot":"","sources":["../../../src/storage/erstorage/EntityToTableMap.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"EntityToTableMap.d.ts","sourceRoot":"","sources":["../../../src/storage/erstorage/EntityToTableMap.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,70 @@
1
+ import { MatchExpressionData } from './MatchExp.js';
2
+ import { EntityToTableMap } from './EntityToTableMap.js';
3
+ import { RecordQueryAgent } from './RecordQueryAgent.js';
4
+ import { RecordMutationEvent } from '../../runtime';
5
+ export interface FilteredEntityDependency {
6
+ filteredEntityName: string;
7
+ baseEntityName: string;
8
+ matchExpression: MatchExpressionData;
9
+ dependencies: {
10
+ entityName: string;
11
+ path: string[];
12
+ attributes: string[];
13
+ }[];
14
+ }
15
+ /**
16
+ * 管理 filtered entity 的所有功能,包括依赖分析、跨实体查询和级联事件处理
17
+ */
18
+ export declare class FilteredEntityManager {
19
+ private map;
20
+ private queryAgent;
21
+ private dependencies;
22
+ constructor(map: EntityToTableMap, queryAgent: RecordQueryAgent);
23
+ /**
24
+ * 分析 filtered entity 的过滤条件,提取所有依赖的实体和路径
25
+ */
26
+ analyzeDependencies(filteredEntityName: string, baseEntityName: string, matchExpression: MatchExpressionData): FilteredEntityDependency;
27
+ /**
28
+ * 从匹配表达式中提取依赖关系
29
+ */
30
+ private extractDependenciesFromExpression;
31
+ /**
32
+ * 获取某个实体变更时影响的所有 filtered entity
33
+ */
34
+ getAffectedFilteredEntities(entityName: string): FilteredEntityDependency[];
35
+ /**
36
+ * 清除所有依赖关系
37
+ */
38
+ clear(): void;
39
+ /**
40
+ * 根据依赖关系和变更的记录,查找所有受影响的源记录
41
+ */
42
+ findAffectedSourceRecords(dependency: FilteredEntityDependency, changedEntityName: string, changedRecordId: string, changedAttributes: string[]): Promise<{
43
+ id: string;
44
+ }[]>;
45
+ /**
46
+ * 检查记录是否满足 filtered entity 的条件
47
+ */
48
+ checkRecordMatchesFilter(recordId: string, entityName: string, matchExpression: MatchExpressionData): Promise<boolean>;
49
+ /**
50
+ * 获取基于指定源实体的所有 filtered entities(包括级联的)
51
+ */
52
+ getFilteredEntitiesForBase(baseEntityName: string): Array<{
53
+ name: string;
54
+ matchExpression: any;
55
+ }>;
56
+ /**
57
+ * 更新记录的 filtered entity 标记(主入口方法)
58
+ */
59
+ updateFilteredEntityFlags(entityName: string, recordId: string, events?: RecordMutationEvent[], originalRecord?: any, isCreation?: boolean, changedFields?: string[]): Promise<void>;
60
+ isFlagEqual(flag1: {
61
+ [key: string]: boolean;
62
+ }, flag2: {
63
+ [key: string]: boolean;
64
+ }): boolean;
65
+ /**
66
+ * 更新单个依赖关系的 filtered entity 标记
67
+ */
68
+ private updateSingleFilteredEntityFlag;
69
+ }
70
+ //# sourceMappingURL=FilteredEntityManager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FilteredEntityManager.d.ts","sourceRoot":"","sources":["../../../src/storage/erstorage/FilteredEntityManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAuB,MAAM,eAAe,CAAA;AAExE,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AACxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AAExD,OAAO,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAA;AAE9C,MAAM,WAAW,wBAAwB;IACrC,kBAAkB,EAAE,MAAM,CAAA;IAC1B,cAAc,EAAE,MAAM,CAAA;IACtB,eAAe,EAAE,mBAAmB,CAAA;IACpC,YAAY,EAAE;QACV,UAAU,EAAE,MAAM,CAAA;QAClB,IAAI,EAAE,MAAM,EAAE,CAAA;QACd,UAAU,EAAE,MAAM,EAAE,CAAA;KACvB,EAAE,CAAA;CACN;AAED;;GAEG;AACH,qBAAa,qBAAqB;IAGlB,OAAO,CAAC,GAAG;IAAoB,OAAO,CAAC,UAAU;IAF7D,OAAO,CAAC,YAAY,CAAqD;gBAErD,GAAG,EAAE,gBAAgB,EAAU,UAAU,EAAE,gBAAgB;IAI/E;;OAEG;IACH,mBAAmB,CAAC,kBAAkB,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,eAAe,EAAE,mBAAmB,GAAG,wBAAwB;IA4BvI;;OAEG;IACH,OAAO,CAAC,iCAAiC;IAuEzC;;OAEG;IACH,2BAA2B,CAAC,UAAU,EAAE,MAAM,GAAG,wBAAwB,EAAE;IAI3E;;OAEG;IACH,KAAK;IAML;;OAEG;IACG,yBAAyB,CAC3B,UAAU,EAAE,wBAAwB,EACpC,iBAAiB,EAAE,MAAM,EACzB,eAAe,EAAE,MAAM,EACvB,iBAAiB,EAAE,MAAM,EAAE,GAC5B,OAAO,CAAC;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAuC5B;;OAEG;IACG,wBAAwB,CAC1B,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM,EAClB,eAAe,EAAE,mBAAmB,GACrC,OAAO,CAAC,OAAO,CAAC;IAwBnB;;OAEG;IACH,0BAA0B,CAAC,cAAc,EAAE,MAAM,GAAG,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,eAAe,EAAE,GAAG,CAAA;KAAE,CAAC;IAmCjG;;OAEG;IACG,yBAAyB,CAC3B,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,EAChB,MAAM,GAAE,mBAAmB,EAAO,EAClC,cAAc,CAAC,EAAE,GAAG,EACpB,UAAU,CAAC,EAAE,OAAO,EACpB,aAAa,CAAC,EAAE,MAAM,EAAE,GACzB,OAAO,CAAC,IAAI,CAAC;IAyEhB,WAAW,CAAC,KAAK,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,EAAE,KAAK,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,GAAG,OAAO;IAO1F;;OAEG;YACW,8BAA8B;CA4E/C"}
@@ -1,10 +1,12 @@
1
- import { RecordInfo } from "./RecordInfo.js";
2
- import { EntityToTableMap, LinkMapItem, RecordMapItem } from "./EntityToTableMap.js";
1
+ import { RecordInfo } from './RecordInfo.js';
2
+ import { EntityToTableMap, LinkMapItem, RecordMapItem } from './EntityToTableMap.js';
3
+ import { MatchExpressionData } from './MatchExp.js';
3
4
  export declare class LinkInfo {
4
5
  name: string;
5
6
  data: LinkMapItem;
6
7
  map: EntityToTableMap;
7
- constructor(name: string, data: LinkMapItem, map: EntityToTableMap);
8
+ isFromSource: boolean;
9
+ constructor(name: string, data: LinkMapItem, map: EntityToTableMap, isFromSource?: boolean);
8
10
  get isManyToOne(): boolean;
9
11
  get isManyToMany(): boolean;
10
12
  get isOneToOne(): boolean;
@@ -31,5 +33,10 @@ export declare class LinkInfo {
31
33
  isSymmetric(): boolean;
32
34
  isRelationSource(recordName: string, attribute: string): boolean;
33
35
  getAttributeName(recordName: string, attribute: string): string[];
36
+ isFilteredRelation(): boolean | undefined;
37
+ getBaseLinkInfo(): LinkInfo;
38
+ getMatchExpression(): any;
39
+ getResolvedMatchExpression(): MatchExpressionData | undefined;
40
+ getResolvedBaseRecordName(): string | undefined;
34
41
  }
35
42
  //# sourceMappingURL=LinkInfo.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"LinkInfo.d.ts","sourceRoot":"","sources":["../../../src/storage/erstorage/LinkInfo.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAC,MAAM,iBAAiB,CAAC;AAE3C,OAAO,EAAC,gBAAgB,EAAE,WAAW,EAAE,aAAa,EAAC,MAAM,uBAAuB,CAAC;AAEnF,qBAAa,QAAQ;IACE,IAAI,EAAE,MAAM;IAAS,IAAI,EAAE,WAAW;IAAS,GAAG,EAAE,gBAAgB;gBAApE,IAAI,EAAE,MAAM,EAAS,IAAI,EAAE,WAAW,EAAS,GAAG,EAAE,gBAAgB;IAGvF,IAAI,WAAW,YAEd;IAED,IAAI,YAAY,YAEf;IAED,IAAI,UAAU,YAEb;IAED,IAAI,WAAW,YAEd;IAED,IAAI,QAAQ,YAEX;IAED,IAAI,QAAQ,YAEX;IAED,IAAI,SAAS,YAEZ;IAED,IAAI,YAAY,WAEf;IAED,IAAI,gBAAgB,eAEnB;IAED,IAAI,gBAAgB,eAEnB;IAED,IAAI,YAAY,WAEf;IAED,IAAI,cAAc,WAEjB;IAED,IAAI,cAAc,uBAEjB;IAED,IAAI,MAAM,IAAI,aAAa,CAE1B;IACD,IAAI,UAAU,IAAI,UAAU,CAE3B;IAED,IAAI,KAAK,WAER;IAED,IAAI,gBAAgB,wBAEnB;IAED,QAAQ;IAIR,gBAAgB;IAIhB,gBAAgB;IAIhB,gBAAgB;IAIhB,UAAU;IAGV,UAAU;IAIV,WAAW;IAGX,gBAAgB,CAAC,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM;IAMtD,gBAAgB,CAAC,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM;CAIzD"}
1
+ {"version":3,"file":"LinkInfo.d.ts","sourceRoot":"","sources":["../../../src/storage/erstorage/LinkInfo.ts"],"names":[],"mappings":";AAAA,OAAO,EAAC,UAAU,EAAC,MAAM,iBAAiB,CAAC;AAE3C,OAAO,EAAC,gBAAgB,EAAE,WAAW,EAAE,aAAa,EAAC,MAAM,uBAAuB,CAAC;AAEnF,qBAAa,QAAQ;IACE,IAAI,EAAE,MAAM;IAAS,IAAI,EAAE,WAAW;IAAS,GAAG,EAAE,gBAAgB;IAAS,YAAY,EAAE,OAAO;gBAAlG,IAAI,EAAE,MAAM,EAAS,IAAI,EAAE,WAAW,EAAS,GAAG,EAAE,gBAAgB,EAAS,YAAY,GAAE,OAAc;IAG5H,IAAI,WAAW,YAEd;IAED,IAAI,YAAY,YAEf;IAED,IAAI,UAAU,YAEb;IAED,IAAI,WAAW,YAEd;IAED,IAAI,QAAQ,YAEX;IAED,IAAI,QAAQ,YAEX;IAED,IAAI,SAAS,YAEZ;IAED,IAAI,YAAY,WAEf;IAED,IAAI,gBAAgB,eAEnB;IAED,IAAI,gBAAgB,eAEnB;IAED,IAAI,YAAY,WAEf;IAED,IAAI,cAAc,WAEjB;IAED,IAAI,cAAc,uBAEjB;IAED,IAAI,MAAM,IAAI,aAAa,CAE1B;IACD,IAAI,UAAU,IAAI,UAAU,CAE3B;IAED,IAAI,KAAK,WAER;IAED,IAAI,gBAAgB,wBAEnB;IAED,QAAQ;IAIR,gBAAgB;IAIhB,gBAAgB;IAIhB,gBAAgB;IAIhB,UAAU;IAGV,UAAU;IAIV,WAAW;IAGX,gBAAgB,CAAC,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM;IAItD,gBAAgB,CAAC,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM;IAKtD,kBAAkB;IAIlB,eAAe;IAMf,kBAAkB;IAQlB,0BAA0B;IAK1B,yBAAyB;CAI5B"}
@@ -1,8 +1,8 @@
1
- import { BoolExp } from "@shared";
2
- import { EntityToTableMap } from "./EntityToTableMap.js";
3
- import { RecordQueryTree } from "./RecordQuery.js";
4
- import { Database } from "@runtime";
5
- import { PlaceholderGen } from "./RecordQueryAgent.js";
1
+ import { BoolExp } from '../../shared';
2
+ import { EntityToTableMap } from './EntityToTableMap.js';
3
+ import { RecordQueryTree } from './RecordQuery.js';
4
+ import { Database } from '../../runtime';
5
+ import { PlaceholderGen } from './RecordQueryAgent.js';
6
6
  export type MatchAtom = {
7
7
  key: string;
8
8
  value: [string, any];
@@ -18,20 +18,30 @@ export type FieldMatchAtom = MatchAtom & {
18
18
  isFunctionMatch?: boolean;
19
19
  };
20
20
  export declare class MatchExp {
21
- entityName: string;
22
21
  map: EntityToTableMap;
23
- data?: MatchExpressionData | undefined;
24
22
  contextRootEntity?: string | undefined;
25
23
  fromRelation?: boolean | undefined;
26
24
  static atom(condition: MatchAtom): BoolExp<MatchAtom>;
27
- static fromObject(condition: Object): BoolExp<MatchAtom>;
25
+ static fromObject(condition: {
26
+ [key: string]: MatchAtom;
27
+ }): BoolExp<MatchAtom>;
28
+ static fromArray(conditions: MatchAtom[]): BoolExp<MatchAtom>;
29
+ /**
30
+ * 从 MatchExpressionData 中提取所有路径
31
+ * @returns 路径数组,每个路径是一个字符串数组
32
+ */
33
+ static extractPaths(expression: MatchExpressionData): string[][];
28
34
  xToOneQueryTree: RecordQueryTree;
29
- constructor(entityName: string, map: EntityToTableMap, data?: MatchExpressionData | undefined, contextRootEntity?: string | undefined, fromRelation?: boolean | undefined);
35
+ data?: MatchExpressionData;
36
+ entityName: string;
37
+ constructor(entityName: string, map: EntityToTableMap, data?: MatchExpressionData, contextRootEntity?: string | undefined, fromRelation?: boolean | undefined);
38
+ convertFilteredRelation(matchData: MatchExpressionData): MatchExpressionData;
30
39
  buildQueryTree(matchData: MatchExpressionData, recordQueryTree: RecordQueryTree): void;
31
40
  getFinalFieldName(matchAttributePath: string[]): [string, string];
32
41
  getReferenceFieldValue(valueStr: string): string;
33
42
  getFinalFieldValue(isReferenceValue: boolean, key: string, value: [string, any], fieldName: string, fieldType: string | undefined, p: PlaceholderGen, db?: Database): [string, any[]];
34
43
  buildFieldMatchExpression(p: PlaceholderGen, db?: Database): BoolExp<FieldMatchAtom> | null;
35
44
  and(condition: MatchAtom | MatchExp): MatchExp;
45
+ rebase(attributeName: string): MatchExp;
36
46
  }
37
47
  //# sourceMappingURL=MatchExp.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"MatchExp.d.ts","sourceRoot":"","sources":["../../../src/storage/erstorage/MatchExp.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,OAAO,EAAC,MAAM,SAAS,CAAC;AAChC,OAAO,EAAC,gBAAgB,EAAC,MAAM,uBAAuB,CAAC;AAEvD,OAAO,EAAC,eAAe,EAAC,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAC,QAAQ,EAAC,MAAM,UAAU,CAAC;AAClC,OAAO,EAAC,cAAc,EAAC,MAAM,uBAAuB,CAAC;AAErD,MAAM,MAAM,SAAS,GAAG;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAAC,gBAAgB,CAAC,EAAE,OAAO,CAAA;CAAE,CAAA;AACzF,MAAM,MAAM,mBAAmB,GAAG,OAAO,CAAC,SAAS,CAAC,CAAA;AAEpD,MAAM,MAAM,cAAc,GAAG,SAAS,GAAG;IACrC,YAAY,CAAC,EAAE,OAAO,CAAC;IAEvB,SAAS,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,GAAG,EAAE,CAAA;IAEnB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,eAAe,CAAC,EAAE,OAAO,CAAC;CAC7B,CAAA;AAED,qBAAa,QAAQ;IAsBE,UAAU,EAAE,MAAM;IAAS,GAAG,EAAE,gBAAgB;IAAS,IAAI,CAAC,EAAE,mBAAmB;IAAS,iBAAiB,CAAC,EAAE,MAAM;IAAS,YAAY,CAAC,EAAE,OAAO;WArB1J,IAAI,CAAC,SAAS,EAAE,SAAS;WAOzB,UAAU,CAAC,SAAS,EAAE,MAAM;IAYnC,eAAe,EAAE,eAAe,CAAA;gBAEpB,UAAU,EAAE,MAAM,EAAS,GAAG,EAAE,gBAAgB,EAAS,IAAI,CAAC,EAAE,mBAAmB,YAAA,EAAS,iBAAiB,CAAC,EAAE,MAAM,YAAA,EAAS,YAAY,CAAC,EAAE,OAAO,YAAA;IAQxK,cAAc,CAAC,SAAS,EAAE,mBAAmB,EAAE,eAAe,EAAE,eAAe;IA2C/E,iBAAiB,CAAC,kBAAkB,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC;IAKjE,sBAAsB,CAAC,QAAQ,EAAE,MAAM;IASvC,kBAAkB,CAAC,gBAAgB,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,SAAS,EAAC,MAAM,EAAE,SAAS,EAAE,MAAM,GAAC,SAAS,EAAE,CAAC,EAAE,cAAc,EAAE,EAAE,CAAC,EAAE,QAAQ,GAAG,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC;IAyClL,yBAAyB,CAAC,CAAC,EAAE,cAAc,EAAE,EAAE,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC,cAAc,CAAC,GAAG,IAAI;IAsF3F,GAAG,CAAC,SAAS,EAAE,SAAS,GAAC,QAAQ,GAAG,QAAQ;CAW/C"}
1
+ {"version":3,"file":"MatchExp.d.ts","sourceRoot":"","sources":["../../../src/storage/erstorage/MatchExp.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,OAAO,EAAwC,MAAM,SAAS,CAAC;AACvE,OAAO,EAAC,gBAAgB,EAAkB,MAAM,uBAAuB,CAAC;AAExE,OAAO,EAAC,eAAe,EAAC,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAC,QAAQ,EAAC,MAAM,UAAU,CAAC;AAClC,OAAO,EAAC,cAAc,EAAC,MAAM,uBAAuB,CAAC;AAGrD,MAAM,MAAM,SAAS,GAAG;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAAC,gBAAgB,CAAC,EAAE,OAAO,CAAA;CAAE,CAAA;AACzF,MAAM,MAAM,mBAAmB,GAAG,OAAO,CAAC,SAAS,CAAC,CAAA;AAEpD,MAAM,MAAM,cAAc,GAAG,SAAS,GAAG;IACrC,YAAY,CAAC,EAAE,OAAO,CAAC;IAEvB,SAAS,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,GAAG,EAAE,CAAA;IAEnB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,eAAe,CAAC,EAAE,OAAO,CAAC;CAC7B,CAAA;AAED,qBAAa,QAAQ;IA+DsB,GAAG,EAAE,gBAAgB;IAAqC,iBAAiB,CAAC,EAAE,MAAM;IAAS,YAAY,CAAC,EAAE,OAAO;WA9D5I,IAAI,CAAC,SAAS,EAAE,SAAS;WAQzB,UAAU,CAAC,SAAS,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,CAAA;KAAE;WAYlD,SAAS,CAAC,UAAU,EAAE,SAAS,EAAE;IAQ/C;;;OAGG;WACW,YAAY,CAAC,UAAU,EAAE,mBAAmB,GAAG,MAAM,EAAE,EAAE;IA2BhE,eAAe,EAAE,eAAe,CAAA;IAChC,IAAI,CAAC,EAAE,mBAAmB,CAAA;IAC1B,UAAU,EAAE,MAAM,CAAA;gBACb,UAAU,EAAE,MAAM,EAAS,GAAG,EAAE,gBAAgB,EAAE,IAAI,CAAC,EAAE,mBAAmB,EAAS,iBAAiB,CAAC,EAAE,MAAM,YAAA,EAAS,YAAY,CAAC,EAAE,OAAO,YAAA;IAe1J,uBAAuB,CAAC,SAAS,EAAE,mBAAmB,GAAG,mBAAmB;IA+C5E,cAAc,CAAC,SAAS,EAAE,mBAAmB,EAAE,eAAe,EAAE,eAAe;IA2C/E,iBAAiB,CAAC,kBAAkB,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC;IAKjE,sBAAsB,CAAC,QAAQ,EAAE,MAAM;IASvC,kBAAkB,CAAC,gBAAgB,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,SAAS,EAAC,MAAM,EAAE,SAAS,EAAE,MAAM,GAAC,SAAS,EAAE,CAAC,EAAE,cAAc,EAAE,EAAE,CAAC,EAAE,QAAQ,GAAG,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC;IAyClL,yBAAyB,CAAC,CAAC,EAAE,cAAc,EAAE,EAAE,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC,cAAc,CAAC,GAAG,IAAI;IAsF3F,GAAG,CAAC,SAAS,EAAE,SAAS,GAAC,QAAQ,GAAG,QAAQ;IAa5C,MAAM,CAAC,aAAa,EAAE,MAAM;CA0D/B"}
@@ -0,0 +1,25 @@
1
+ import { EntityInstance, RelationInstance } from '../../shared';
2
+ export type MergedItem = EntityInstance | RelationInstance;
3
+ export type InputItem = EntityInstance | RelationInstance;
4
+ export interface MergedItemConfig<T extends MergedItem> {
5
+ name: string;
6
+ inputItems: T[];
7
+ inputFieldName: string;
8
+ }
9
+ /**
10
+ * 统一处理 merged entity 和 merged relation 的处理器
11
+ */
12
+ export declare function buildEntityTree(entities: EntityInstance[]): Map<string, string[]>;
13
+ export declare function buildRelationTree(relations: RelationInstance[]): Map<string, string[]>;
14
+ /**
15
+ * 统一处理所有 merged items (entities 和 relations)
16
+ */
17
+ export declare function processMergedItems(entities: EntityInstance[], relations: RelationInstance[]): {
18
+ entities: EntityInstance[];
19
+ relations: RelationInstance[];
20
+ };
21
+ /**
22
+ * 从 input item 创建 filtered item
23
+ */
24
+ export declare function createFilteredItemFromInput<T extends MergedItem>(inputItem: T, baseItem: T, inputFieldName: string): [T, T];
25
+ //# sourceMappingURL=MergedItemProcessor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MergedItemProcessor.d.ts","sourceRoot":"","sources":["../../../src/storage/erstorage/MergedItemProcessor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAA8D,MAAM,SAAS,CAAC;AAIvH,MAAM,MAAM,UAAU,GAAG,cAAc,GAAG,gBAAgB,CAAC;AAC3D,MAAM,MAAM,SAAS,GAAG,cAAc,GAAG,gBAAgB,CAAC;AAE1D,MAAM,WAAW,gBAAgB,CAAC,CAAC,SAAS,UAAU;IAClD,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,CAAC,EAAE,CAAC;IAChB,cAAc,EAAE,MAAM,CAAC;CAC1B;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,cAAc,EAAE,yBAYrD;AAEL,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,gBAAgB,EAAE,yBAmB1D;AACL;;GAEG;AACH,wBAAgB,kBAAkB,CAC1B,QAAQ,EAAE,cAAc,EAAE,EAC1B,SAAS,EAAE,gBAAgB,EAAE,GAC9B;IAAE,QAAQ,EAAE,cAAc,EAAE,CAAC;IAAC,SAAS,EAAE,gBAAgB,EAAE,CAAA;CAAE,CAsB/D;AAwXL;;GAEG;AACH,wBAAgB,2BAA2B,CAAC,CAAC,SAAS,UAAU,EACxD,SAAS,EAAE,CAAC,EACZ,QAAQ,EAAE,CAAC,EACX,cAAc,EAAE,MAAM,GACvB,CAAC,CAAC,EAAE,CAAC,CAAC,CAgDR"}
@@ -1,4 +1,4 @@
1
- import { EntityToTableMap } from "./EntityToTableMap.js";
1
+ import { EntityToTableMap } from './EntityToTableMap.js';
2
2
  export type ModifierData = {
3
3
  orderBy?: {
4
4
  [k: string]: 'ASC' | 'DESC';
@@ -1,12 +1,18 @@
1
- import { EntityToTableMap } from "./EntityToTableMap.js";
2
- import { AttributeInfo } from "./AttributeInfo.js";
3
- import { Record } from "./RecordQueryAgent.js";
1
+ import { EntityToTableMap } from './EntityToTableMap.js';
2
+ import { AttributeInfo } from './AttributeInfo.js';
3
+ import { Record } from './RecordQueryAgent.js';
4
4
  export type RawEntityData = {
5
5
  [k: string]: any;
6
6
  };
7
+ export type FieldAndValue = {
8
+ name: string;
9
+ field: string;
10
+ value: any;
11
+ fieldType?: string;
12
+ };
7
13
  export declare class NewRecordData {
8
14
  map: EntityToTableMap;
9
- recordName: string;
15
+ originalRecordName: string;
10
16
  rawData: RawEntityData;
11
17
  info?: AttributeInfo | undefined;
12
18
  mergedLinkTargetNewRecords: NewRecordData[];
@@ -25,8 +31,12 @@ export declare class NewRecordData {
25
31
  entityIdAttributes: AttributeInfo[];
26
32
  relatedEntitiesData: NewRecordData[];
27
33
  valueAttributes: AttributeInfo[];
34
+ recordName: string;
28
35
  sameRowEntityIdRefs: NewRecordData[];
29
- constructor(map: EntityToTableMap, recordName: string, rawData: RawEntityData, info?: AttributeInfo | undefined);
36
+ defaultValues: {
37
+ [k: string]: any;
38
+ };
39
+ constructor(map: EntityToTableMap, originalRecordName: string, rawData: RawEntityData, info?: AttributeInfo | undefined);
30
40
  merge(partialNewRawData: RawEntityData): NewRecordData;
31
41
  getRef(): {
32
42
  id: any;
@@ -34,9 +44,6 @@ export declare class NewRecordData {
34
44
  isRef(): boolean;
35
45
  isNull(): boolean;
36
46
  getData(): Record;
37
- getSameRowFieldAndValue(oldRecord?: Omit<Record, 'id'>): {
38
- field: string;
39
- value: any;
40
- }[];
47
+ getSameRowFieldAndValue(oldRecord?: Omit<Record, 'id'>): FieldAndValue[];
41
48
  }
42
49
  //# sourceMappingURL=NewRecordData.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"NewRecordData.d.ts","sourceRoot":"","sources":["../../../src/storage/erstorage/NewRecordData.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,gBAAgB,EAAC,MAAM,uBAAuB,CAAC;AAEvD,OAAO,EAAC,aAAa,EAAC,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAC,MAAM,EAAC,MAAM,uBAAuB,CAAC;AAG7C,MAAM,MAAM,aAAa,GAAG;IAAE,CAAC,CAAC,EAAE,MAAM,GAAG,GAAG,CAAA;CAAE,CAAA;AAEhD,qBAAa,aAAa;IAgCH,GAAG,EAAE,gBAAgB;IAAS,UAAU,EAAE,MAAM;IAAS,OAAO,EAAE,aAAa;IAAS,IAAI,CAAC,EAAE,aAAa;IA9BxH,0BAA0B,EAAE,aAAa,EAAE,CAAK;IAEhD,4BAA4B,EAAE,aAAa,EAAE,CAAK;IAElD,2BAA2B,EAAE,aAAa,EAAE,CAAK;IAEjD,cAAc,CAAC,EAAE,aAAa,CAAA;IAE9B,kBAAkB,EAAG,aAAa,EAAE,CAAK;IAEzC,oBAAoB,EAAG,aAAa,EAAE,CAAK;IAE3C,mBAAmB,EAAE,aAAa,EAAE,CAAK;IAEzC,kCAAkC,EAAE,aAAa,EAAE,CAAK;IACxD,oCAAoC,EAAE,aAAa,EAAE,CAAK;IAC1D,mCAAmC,EAAE,aAAa,EAAE,CAAK;IAEzD,kBAAkB,EAAE,aAAa,EAAE,CAAK;IACxC,oBAAoB,EAAE,aAAa,EAAE,CAAK;IAC1C,mBAAmB,EAAE,aAAa,EAAE,CAAK;IAEzC,kBAAkB,EAAE,aAAa,EAAE,CAAK;IAExC,mBAAmB,EAAE,aAAa,EAAE,CAAK;IACzC,eAAe,EAAE,aAAa,EAAE,CAAK;IAGrC,mBAAmB,EAAE,aAAa,EAAE,CAAK;gBAE7B,GAAG,EAAE,gBAAgB,EAAS,UAAU,EAAE,MAAM,EAAS,OAAO,EAAE,aAAa,EAAS,IAAI,CAAC,EAAE,aAAa,YAAA;IAsE/H,KAAK,CAAC,iBAAiB,EAAE,aAAa;IAUtC,MAAM;;;IAKN,KAAK;IAIL,MAAM;IAGN,OAAO,IAAK,MAAM;IAIlB,uBAAuB,CAAC,SAAS,GAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAM,GAAI;QAAC,KAAK,EAAC,MAAM,CAAC;QAAC,KAAK,EAAC,GAAG,CAAA;KAAC,EAAE;CA+D5F"}
1
+ {"version":3,"file":"NewRecordData.d.ts","sourceRoot":"","sources":["../../../src/storage/erstorage/NewRecordData.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAkB,MAAM,uBAAuB,CAAC;AAEzE,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAG/C,MAAM,MAAM,aAAa,GAAG;IAAE,CAAC,CAAC,EAAE,MAAM,GAAG,GAAG,CAAA;CAAE,CAAA;AAEhD,MAAM,MAAM,aAAa,GAAG;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,GAAG,CAAC;IACX,SAAS,CAAC,EAAE,MAAM,CAAA;CACrB,CAAA;AAED,qBAAa,aAAa;IAiCH,GAAG,EAAE,gBAAgB;IAAS,kBAAkB,EAAE,MAAM;IAAS,OAAO,EAAE,aAAa;IAAS,IAAI,CAAC,EAAE,aAAa;IA/BhI,0BAA0B,EAAE,aAAa,EAAE,CAAK;IAEhD,4BAA4B,EAAE,aAAa,EAAE,CAAK;IAElD,2BAA2B,EAAE,aAAa,EAAE,CAAK;IAEjD,cAAc,CAAC,EAAE,aAAa,CAAA;IAE9B,kBAAkB,EAAG,aAAa,EAAE,CAAK;IAEzC,oBAAoB,EAAG,aAAa,EAAE,CAAK;IAE3C,mBAAmB,EAAE,aAAa,EAAE,CAAK;IAEzC,kCAAkC,EAAE,aAAa,EAAE,CAAK;IACxD,oCAAoC,EAAE,aAAa,EAAE,CAAK;IAC1D,mCAAmC,EAAE,aAAa,EAAE,CAAK;IAEzD,kBAAkB,EAAE,aAAa,EAAE,CAAK;IACxC,oBAAoB,EAAE,aAAa,EAAE,CAAK;IAC1C,mBAAmB,EAAE,aAAa,EAAE,CAAK;IAEzC,kBAAkB,EAAE,aAAa,EAAE,CAAK;IAExC,mBAAmB,EAAE,aAAa,EAAE,CAAK;IACzC,eAAe,EAAE,aAAa,EAAE,CAAK;IACrC,UAAU,EAAE,MAAM,CAAA;IAElB,mBAAmB,EAAE,aAAa,EAAE,CAAK;IAEzC,aAAa,EAAE;QAAE,CAAC,CAAC,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,CAAK;gBAC5B,GAAG,EAAE,gBAAgB,EAAS,kBAAkB,EAAE,MAAM,EAAS,OAAO,EAAE,aAAa,EAAS,IAAI,CAAC,EAAE,aAAa,YAAA;IAqFvI,KAAK,CAAC,iBAAiB,EAAE,aAAa;IAWtC,MAAM;;;IAKN,KAAK;IAIL,MAAM;IAGN,OAAO,IAAK,MAAM;IAIlB,uBAAuB,CAAC,SAAS,GAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAM,GAAI,aAAa,EAAE;CA4GhF"}
@@ -1,5 +1,6 @@
1
- import { AttributeInfo } from "./AttributeInfo.js";
2
- import { EntityToTableMap, RecordMapItem } from "./EntityToTableMap.js";
1
+ import { AttributeInfo } from './AttributeInfo.js';
2
+ import { EntityToTableMap, RecordMapItem } from './EntityToTableMap.js';
3
+ import { MatchExpressionData } from './MatchExp.js';
3
4
  export declare class RecordInfo {
4
5
  name: string;
5
6
  map: EntityToTableMap;
@@ -22,5 +23,13 @@ export declare class RecordInfo {
22
23
  get sameTableReliance(): AttributeInfo[];
23
24
  get valueAttributes(): AttributeInfo[];
24
25
  getAttributeInfo(attribute: string): AttributeInfo;
26
+ get baseRecordName(): string | undefined;
27
+ get matchExpression(): MatchExpressionData | undefined;
28
+ get filteredBy(): RecordInfo[] | undefined;
29
+ get isFilteredEntity(): boolean | undefined;
30
+ get isFilteredRelation(): boolean | undefined;
31
+ get baseRelationName(): string | undefined;
32
+ get resolvedBaseRecordName(): string | undefined;
33
+ get resolvedMatchExpression(): MatchExpressionData | undefined;
25
34
  }
26
35
  //# sourceMappingURL=RecordInfo.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"RecordInfo.d.ts","sourceRoot":"","sources":["../../../src/storage/erstorage/RecordInfo.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,aAAa,EAAC,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAC,gBAAgB,EAAmB,aAAa,EAAiB,MAAM,uBAAuB,CAAC;AAEvG,qBAAa,UAAU;IAGA,IAAI,EAAE,MAAM;IAAS,GAAG,EAAE,gBAAgB;IAF7D,IAAI,EAAE,aAAa,CAAA;gBAEA,IAAI,EAAE,MAAM,EAAS,GAAG,EAAE,gBAAgB;IAI7D,IAAI,UAAU,wBAEb;IAED,IAAI,eAAe,oBAIlB;IAED,IAAI,KAAK,WAER;IAED,IAAI,OAAO,uBAEV;IAED,IAAI,UAAU,aAIb;IAED,IAAI,aAAa,IAAI,MAAM,EAAE,CAsB5B;IACD,IAAI,sBAAsB,oBAIzB;IACD,IAAI,SAAS,IAAI,MAAM,EAAE,CAExB;IAGD,IAAI,uBAAuB,oBAO1B;IAED,IAAI,sBAAsB,oBAQzB;IACD,IAAI,8BAA8B,oBAMjC;IAGD,IAAI,QAAQ,IAAI,aAAa,EAAE,CAM9B;IAED,IAAI,mBAAmB,IAAI,aAAa,EAAE,CAIzC;IAED,IAAI,sBAAsB,IAAI,aAAa,EAAE,CAI5C;IAED,IAAI,iBAAiB,IAAI,aAAa,EAAE,CAIvC;IAED,IAAI,eAAe,oBAMlB;IAED,gBAAgB,CAAC,SAAS,EAAE,MAAM;CAGrC"}
1
+ {"version":3,"file":"RecordInfo.d.ts","sourceRoot":"","sources":["../../../src/storage/erstorage/RecordInfo.ts"],"names":[],"mappings":";AAAA,OAAO,EAAC,aAAa,EAAC,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAC,gBAAgB,EAAmB,aAAa,EAAiB,MAAM,uBAAuB,CAAC;AAEvG,qBAAa,UAAU;IAGA,IAAI,EAAE,MAAM;IAAS,GAAG,EAAE,gBAAgB;IAF7D,IAAI,EAAE,aAAa,CAAA;gBAEA,IAAI,EAAE,MAAM,EAAS,GAAG,EAAE,gBAAgB;IAI7D,IAAI,UAAU,wBAEb;IAED,IAAI,eAAe,oBAIlB;IAED,IAAI,KAAK,WAER;IAED,IAAI,OAAO,uBAEV;IAED,IAAI,UAAU,aAIb;IAED,IAAI,aAAa,IAAI,MAAM,EAAE,CAsB5B;IAED,IAAI,sBAAsB,oBAIzB;IACD,IAAI,SAAS,IAAI,MAAM,EAAE,CAExB;IAGD,IAAI,uBAAuB,oBAO1B;IAED,IAAI,sBAAsB,oBAQzB;IACD,IAAI,8BAA8B,oBAMjC;IAGD,IAAI,QAAQ,IAAI,aAAa,EAAE,CAM9B;IAED,IAAI,mBAAmB,IAAI,aAAa,EAAE,CAIzC;IAED,IAAI,sBAAsB,IAAI,aAAa,EAAE,CAI5C;IAED,IAAI,iBAAiB,IAAI,aAAa,EAAE,CAIvC;IAED,IAAI,eAAe,oBAMlB;IAED,gBAAgB,CAAC,SAAS,EAAE,MAAM;IAIlC,IAAI,cAAc,uBAEjB;IAED,IAAI,eAAe,4DAElB;IAED,IAAI,UAAU,6BAEb;IAED,IAAI,gBAAgB,wBAEnB;IAED,IAAI,kBAAkB,wBAErB;IAED,IAAI,gBAAgB,uBAEnB;IAED,IAAI,sBAAsB,uBAEzB;IAED,IAAI,uBAAuB,4DAE1B;CACJ"}
@@ -1,9 +1,9 @@
1
- import { MatchExp, MatchExpressionData } from "./MatchExp.js";
2
- import { AttributeQuery, AttributeQueryData } from "./AttributeQuery.js";
3
- import { Modifier, ModifierData } from "./Modifier.js";
4
- import { EntityToTableMap } from "./EntityToTableMap.js";
5
- import { AttributeInfo } from "./AttributeInfo.js";
6
- import { RecursiveContext } from "./RecordQueryAgent.js";
1
+ import { MatchExp, MatchExpressionData } from './MatchExp.js';
2
+ import { AttributeQuery, AttributeQueryData } from './AttributeQuery.js';
3
+ import { Modifier, ModifierData } from './Modifier.js';
4
+ import { EntityToTableMap } from './EntityToTableMap.js';
5
+ import { AttributeInfo } from './AttributeInfo.js';
6
+ import { RecursiveContext } from './RecordQueryAgent.js';
7
7
  export type RecordQueryData = {
8
8
  matchExpression?: MatchExpressionData;
9
9
  attributeQuery?: AttributeQueryData;
@@ -26,8 +26,9 @@ export declare class RecordQuery {
26
26
  label?: string | undefined;
27
27
  goto?: string | undefined;
28
28
  exit?: ((context: RecursiveContext) => Promise<boolean>) | undefined;
29
- static create(recordName: string, map: EntityToTableMap, data: RecordQueryData, contextRootEntity?: string, parentRecord?: string, attributeName?: string, onlyRelationData?: boolean, allowNull?: boolean): RecordQuery;
30
- constructor(recordName: string, map: EntityToTableMap, matchExpression: MatchExp, attributeQuery: AttributeQuery, modifier: Modifier, contextRootEntity?: string | undefined, parentRecord?: string | undefined, attributeName?: string | undefined, onlyRelationData?: boolean | undefined, allowNull?: boolean, label?: string | undefined, goto?: string | undefined, exit?: ((context: RecursiveContext) => Promise<boolean>) | undefined);
29
+ alias?: string | undefined;
30
+ static create(recordName: string, map: EntityToTableMap, data: RecordQueryData, contextRootEntity?: string, parentRecord?: string, attributeName?: string, onlyRelationData?: boolean, allowNull?: boolean, alias?: string): RecordQuery;
31
+ constructor(recordName: string, map: EntityToTableMap, matchExpression: MatchExp, attributeQuery: AttributeQuery, modifier: Modifier, contextRootEntity?: string | undefined, parentRecord?: string | undefined, attributeName?: string | undefined, onlyRelationData?: boolean | undefined, allowNull?: boolean, label?: string | undefined, goto?: string | undefined, exit?: ((context: RecursiveContext) => Promise<boolean>) | undefined, alias?: string | undefined);
31
32
  getData(): RecordQueryData;
32
33
  derive({ matchExpression, attributeQuery, modifier }: {
33
34
  matchExpression?: MatchExp;