@routier/core 0.0.1-alpha.1 → 0.0.1-alpha.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (334) hide show
  1. package/dist/assertions/index.d.ts +5 -0
  2. package/dist/assertions/index.js +131 -0
  3. package/dist/assertions/index.js.map +1 -0
  4. package/dist/codegen/SlotPath.d.ts +7 -0
  5. package/dist/codegen/blocks.d.ts +130 -0
  6. package/dist/codegen/handlers/CloneHandlerBuilder.d.ts +4 -0
  7. package/dist/codegen/handlers/CompareHandlerBuilder.d.ts +4 -0
  8. package/dist/codegen/handlers/DeserializeHandlerBuilder.d.ts +4 -0
  9. package/dist/codegen/handlers/EnableChangeTrackingHandlerBuilder.d.ts +4 -0
  10. package/dist/codegen/handlers/EnrichmentHandlerBuilder.d.ts +4 -0
  11. package/dist/codegen/handlers/FreezeHandlerBuilder.d.ts +4 -0
  12. package/dist/codegen/handlers/HashHandlerBuilder.d.ts +4 -0
  13. package/dist/codegen/handlers/HashTypeHandlerBuilder.d.ts +4 -0
  14. package/dist/codegen/handlers/IdSelectorHandlerBuilder.d.ts +4 -0
  15. package/dist/codegen/handlers/MergeHandlerBuilder.d.ts +4 -0
  16. package/dist/codegen/handlers/PrepareHandlerBuilder.d.ts +4 -0
  17. package/dist/codegen/handlers/SerializeHandlerBuilder.d.ts +4 -0
  18. package/dist/codegen/handlers/StripHandlerBuilder.d.ts +4 -0
  19. package/dist/codegen/handlers/clone/CloneObjectHandler.d.ts +6 -0
  20. package/dist/codegen/handlers/clone/CloneValueHandler.d.ts +6 -0
  21. package/dist/codegen/handlers/compare/CompareObjectHandler.d.ts +6 -0
  22. package/dist/codegen/handlers/compare/CompareValueHandler.d.ts +6 -0
  23. package/dist/codegen/handlers/deserialize/DeserializeComputedValueHandler.d.ts +6 -0
  24. package/dist/codegen/handlers/deserialize/DeserializeDateHandler.d.ts +9 -0
  25. package/dist/codegen/handlers/deserialize/DeserializeFunctionHandler.d.ts +6 -0
  26. package/dist/codegen/handlers/deserialize/DeserializeObjectHandler.d.ts +6 -0
  27. package/dist/codegen/handlers/deserialize/DeserializeValueHandler.d.ts +6 -0
  28. package/dist/codegen/handlers/enableChangeTracking/EnableChangeTrackingObjectHandler.d.ts +6 -0
  29. package/dist/codegen/handlers/enableChangeTracking/EnableChangeTrackingPrimitiveValueHandler.d.ts +6 -0
  30. package/dist/codegen/handlers/enrichment/EnrichmentComputedValueHandler.d.ts +6 -0
  31. package/dist/codegen/handlers/enrichment/EnrichmentDefaultFunctionHandler.d.ts +6 -0
  32. package/dist/codegen/handlers/enrichment/EnrichmentDefaultValueHandler.d.ts +6 -0
  33. package/dist/codegen/handlers/enrichment/EnrichmentFunctionHandler.d.ts +6 -0
  34. package/dist/codegen/handlers/enrichment/EnrichmentNullableObjectHandler.d.ts +6 -0
  35. package/dist/codegen/handlers/enrichment/EnrichmentObjectHandler.d.ts +6 -0
  36. package/dist/codegen/handlers/enrichment/EnrichmentObjectIdentityHandler.d.ts +6 -0
  37. package/dist/codegen/handlers/enrichment/EnrichmentPrimitiveHandler.d.ts +6 -0
  38. package/dist/codegen/handlers/enrichment/EnrichmentPrimitiveIdentityHandler.d.ts +6 -0
  39. package/dist/codegen/handlers/freeze/FreezeObjectHandler.d.ts +6 -0
  40. package/dist/codegen/handlers/freeze/FreezePrimitiveValueHandler.d.ts +6 -0
  41. package/dist/codegen/handlers/hash/HashComputedValueHandler.d.ts +6 -0
  42. package/dist/codegen/handlers/hash/HashDateHandler.d.ts +6 -0
  43. package/dist/codegen/handlers/hash/HashFunctionHandler.d.ts +6 -0
  44. package/dist/codegen/handlers/hash/HashIdentityHandler.d.ts +6 -0
  45. package/dist/codegen/handlers/hash/HashKeyHandler.d.ts +6 -0
  46. package/dist/codegen/handlers/hash/HashValueHandler.d.ts +6 -0
  47. package/dist/codegen/handlers/hashType/HashTypeValueHandler.d.ts +6 -0
  48. package/dist/codegen/handlers/idSelector/IdSelectorValueHandler.d.ts +6 -0
  49. package/{src/codegen/handlers/index.ts → dist/codegen/handlers/index.d.ts} +1 -1
  50. package/dist/codegen/handlers/merge/MergeComputedValueHandler.d.ts +6 -0
  51. package/dist/codegen/handlers/merge/MergeDefaultFunctionHandler.d.ts +6 -0
  52. package/dist/codegen/handlers/merge/MergeDefaultValueHandler.d.ts +6 -0
  53. package/dist/codegen/handlers/merge/MergeFunctionHandler.d.ts +6 -0
  54. package/dist/codegen/handlers/merge/MergePrimitiveHandler.d.ts +6 -0
  55. package/dist/codegen/handlers/prepare/PrepareComputedValueHandler.d.ts +6 -0
  56. package/dist/codegen/handlers/prepare/PrepareFunctionHandler.d.ts +6 -0
  57. package/dist/codegen/handlers/prepare/PrepareIdentityHandler.d.ts +6 -0
  58. package/dist/codegen/handlers/prepare/PrepareKeyHandler.d.ts +6 -0
  59. package/dist/codegen/handlers/prepare/PrepareObjectHandler.d.ts +6 -0
  60. package/dist/codegen/handlers/prepare/PrepareValueHandler.d.ts +6 -0
  61. package/dist/codegen/handlers/serialize/SerializeDateHandler.d.ts +9 -0
  62. package/dist/codegen/handlers/serialize/SerializeObjectHandler.d.ts +6 -0
  63. package/dist/codegen/handlers/serialize/SerializeValueHandler.d.ts +6 -0
  64. package/dist/codegen/handlers/strip/StripIdentityHandler.d.ts +6 -0
  65. package/dist/codegen/handlers/strip/StripKeyHandler.d.ts +6 -0
  66. package/dist/codegen/handlers/strip/StripObjectHandler.d.ts +6 -0
  67. package/dist/codegen/handlers/strip/StripValueHandler.d.ts +6 -0
  68. package/dist/codegen/handlers/types.d.ts +18 -0
  69. package/{src/codegen/index.ts → dist/codegen/index.d.ts} +1 -1
  70. package/dist/codegen/types.d.ts +9 -0
  71. package/dist/codegen/utils.d.ts +22 -0
  72. package/dist/collections/Changes.d.ts +51 -0
  73. package/dist/collections/Changes.test.d.ts +1 -0
  74. package/dist/collections/IdSet.d.ts +7 -0
  75. package/dist/collections/MemoryDataCollection.d.ts +22 -0
  76. package/dist/collections/MemoryDataCollection.test.d.ts +1 -0
  77. package/dist/collections/ReadonlySchemaCollection.d.ts +17 -0
  78. package/dist/collections/SchemaCollection.d.ts +10 -0
  79. package/dist/collections/TagCollection.d.ts +15 -0
  80. package/dist/collections/TagCollection.test.d.ts +1 -0
  81. package/{src/collections/index.ts → dist/collections/index.d.ts} +2 -1
  82. package/dist/collections/index.js +717 -0
  83. package/dist/collections/index.js.map +1 -0
  84. package/dist/errors/SchemaError.d.ts +3 -0
  85. package/dist/errors/index.d.ts +1 -0
  86. package/dist/errors/index.js +90 -0
  87. package/dist/errors/index.js.map +1 -0
  88. package/{src/expressions/index.ts → dist/expressions/index.d.ts} +1 -1
  89. package/{src/expressions/parser.ts → dist/expressions/index.js} +387 -205
  90. package/dist/expressions/index.js.map +1 -0
  91. package/dist/expressions/parser.d.ts +4 -0
  92. package/dist/expressions/parser.test.d.ts +1 -0
  93. package/{src/expressions/types.ts → dist/expressions/types.d.ts} +42 -99
  94. package/dist/expressions/utils.d.ts +10 -0
  95. package/dist/expressions/utils.test.d.ts +1 -0
  96. package/{src/index.ts → dist/index.d.ts} +1 -1
  97. package/dist/index.js +8589 -0
  98. package/dist/index.js.map +1 -0
  99. package/dist/performance/index.d.ts +5 -0
  100. package/dist/performance/index.js +65 -0
  101. package/dist/performance/index.js.map +1 -0
  102. package/dist/pipeline/SyncronousQueue.d.ts +7 -0
  103. package/dist/pipeline/SyncronousQueue.test.d.ts +1 -0
  104. package/dist/pipeline/TrampolinePipeline.d.ts +36 -0
  105. package/dist/pipeline/TrampolinePipeline.test.d.ts +1 -0
  106. package/dist/pipeline/index.d.ts +2 -0
  107. package/{src/pipeline/TrampolinePipeline.ts → dist/pipeline/index.js} +297 -140
  108. package/dist/pipeline/index.js.map +1 -0
  109. package/dist/plugins/EphemeralDataPlugin.d.ts +13 -0
  110. package/dist/plugins/capabilities/DbPluginCapability.d.ts +23 -0
  111. package/{src/plugins/capabilities/index.ts → dist/plugins/capabilities/index.d.ts} +1 -1
  112. package/dist/plugins/capabilities/logging/DbPluginLoggingCapability.d.ts +28 -0
  113. package/dist/plugins/capabilities/logging/index.d.ts +1 -0
  114. package/{src/plugins/index.ts → dist/plugins/index.d.ts} +1 -1
  115. package/dist/plugins/index.js +2332 -0
  116. package/dist/plugins/index.js.map +1 -0
  117. package/dist/plugins/query/Query.d.ts +13 -0
  118. package/dist/plugins/query/QueryOptionsCollection.d.ts +27 -0
  119. package/dist/plugins/query/QueryOptionsCollection.test.d.ts +1 -0
  120. package/{src/plugins/query/index.ts → dist/plugins/query/index.d.ts} +1 -1
  121. package/{src/plugins/query/types.ts → dist/plugins/query/types.d.ts} +29 -20
  122. package/dist/plugins/replication/OptimisticReplicationDbPlugin.d.ts +21 -0
  123. package/dist/plugins/replication/ReplicationDbPlugin.d.ts +21 -0
  124. package/{src/plugins/replication/index.ts → dist/plugins/replication/index.d.ts} +1 -1
  125. package/{src/plugins/replication/types.ts → dist/plugins/replication/types.d.ts} +1 -2
  126. package/dist/plugins/translators/DataTranslator.d.ts +18 -0
  127. package/dist/plugins/translators/JsonTranslator.d.ts +17 -0
  128. package/dist/plugins/translators/JsonTranslator.test.d.ts +1 -0
  129. package/dist/plugins/translators/SqlTranslator.d.ts +14 -0
  130. package/{src/plugins/translators/index.ts → dist/plugins/translators/index.d.ts} +1 -1
  131. package/{src/plugins/types.ts → dist/plugins/types.d.ts} +13 -26
  132. package/dist/results/Result.d.ts +29 -0
  133. package/{src/results/index.ts → dist/results/index.d.ts} +1 -1
  134. package/dist/results/index.js +192 -0
  135. package/dist/results/index.js.map +1 -0
  136. package/{src/results/types.ts → dist/results/types.d.ts} +18 -7
  137. package/dist/results/utils.d.ts +2 -0
  138. package/dist/schema/PropertyInfo.d.ts +132 -0
  139. package/dist/schema/PropertyInfo.test.d.ts +1 -0
  140. package/dist/schema/SchemaDefinition.d.ts +17 -0
  141. package/dist/schema/builder.d.ts +17 -0
  142. package/dist/schema/communication/broadcast.d.ts +11 -0
  143. package/{src/schema/index.ts → dist/schema/index.d.ts} +1 -1
  144. package/dist/schema/index.js +4929 -0
  145. package/dist/schema/index.js.map +1 -0
  146. package/dist/schema/property/base/SchemaBase.d.ts +23 -0
  147. package/dist/schema/property/base/index.d.ts +1 -0
  148. package/dist/schema/property/modifiers/SchemaDefault.d.ts +13 -0
  149. package/dist/schema/property/modifiers/SchemaDeserialize.d.ts +11 -0
  150. package/dist/schema/property/modifiers/SchemaDistinct.d.ts +7 -0
  151. package/dist/schema/property/modifiers/SchemaFrom.d.ts +23 -0
  152. package/dist/schema/property/modifiers/SchemaIdentity.d.ts +7 -0
  153. package/dist/schema/property/modifiers/SchemaIndex.d.ts +23 -0
  154. package/dist/schema/property/modifiers/SchemaKey.d.ts +13 -0
  155. package/dist/schema/property/modifiers/SchemaNullable.d.ts +9 -0
  156. package/dist/schema/property/modifiers/SchemaOptional.d.ts +9 -0
  157. package/dist/schema/property/modifiers/SchemaReadonly.d.ts +15 -0
  158. package/dist/schema/property/modifiers/SchemaSerialize.d.ts +9 -0
  159. package/dist/schema/property/modifiers/SchemaTracked.d.ts +7 -0
  160. package/{src/schema/property/modifiers/index.ts → dist/schema/property/modifiers/index.d.ts} +1 -1
  161. package/dist/schema/property/types/SchemaArray.d.ts +23 -0
  162. package/dist/schema/property/types/SchemaBoolean.d.ts +27 -0
  163. package/dist/schema/property/types/SchemaDate.d.ts +27 -0
  164. package/dist/schema/property/types/SchemaNumber.d.ts +31 -0
  165. package/dist/schema/property/types/SchemaObject.d.ts +20 -0
  166. package/dist/schema/property/types/SchemaString.d.ts +31 -0
  167. package/{src/schema/property/types/index.ts → dist/schema/property/types/index.d.ts} +1 -1
  168. package/dist/schema/table/SchemaComputed.d.ts +10 -0
  169. package/dist/schema/table/SchemaFunction.d.ts +8 -0
  170. package/{src/schema/table/index.ts → dist/schema/table/index.d.ts} +1 -1
  171. package/{src/schema/types.ts → dist/schema/types.d.ts} +61 -101
  172. package/{src/types/index.ts → dist/types/index.d.ts} +1 -2
  173. package/dist/types/index.js +25 -0
  174. package/dist/types/index.js.map +1 -0
  175. package/dist/utilities/arrays.d.ts +1 -0
  176. package/dist/utilities/arrays.test.d.ts +1 -0
  177. package/dist/utilities/dates.d.ts +1 -0
  178. package/dist/utilities/dates.test.d.ts +1 -0
  179. package/dist/utilities/dbPluginEventUtils.d.ts +14 -0
  180. package/dist/utilities/functions.d.ts +1 -0
  181. package/{src/utilities/index.ts → dist/utilities/index.d.ts} +2 -1
  182. package/dist/utilities/index.js +571 -0
  183. package/dist/utilities/index.js.map +1 -0
  184. package/dist/utilities/objects.d.ts +2 -0
  185. package/dist/utilities/queryOptionsCollection.d.ts +2 -0
  186. package/dist/utilities/replication.d.ts +3 -0
  187. package/dist/utilities/runtime.d.ts +1 -0
  188. package/dist/utilities/strings.d.ts +1 -0
  189. package/dist/utilities/types.d.ts +4 -0
  190. package/dist/utilities/uuid.d.ts +2 -0
  191. package/package.json +6 -1
  192. package/readme.md +95 -0
  193. package/CHANGELOG.md +0 -8
  194. package/rspack.config.mjs +0 -65
  195. package/src/assertions/index.ts +0 -37
  196. package/src/codegen/SlotPath.ts +0 -20
  197. package/src/codegen/blocks.ts +0 -578
  198. package/src/codegen/handlers/CloneHandlerBuilder.ts +0 -13
  199. package/src/codegen/handlers/CompareHandlerBuilder.ts +0 -13
  200. package/src/codegen/handlers/DeserializeHandlerBuilder.ts +0 -20
  201. package/src/codegen/handlers/EnableChangeTrackingHandlerBuilder.ts +0 -13
  202. package/src/codegen/handlers/EnrichmentHandlerBuilder.ts +0 -28
  203. package/src/codegen/handlers/FreezeHandlerBuilder.ts +0 -13
  204. package/src/codegen/handlers/HashHandlerBuilder.ts +0 -25
  205. package/src/codegen/handlers/HashTypeHandlerBuilder.ts +0 -11
  206. package/src/codegen/handlers/IdSelectorHandlerBuilder.ts +0 -10
  207. package/src/codegen/handlers/MergeHandlerBuilder.ts +0 -19
  208. package/src/codegen/handlers/PrepareHandlerBuilder.ts +0 -23
  209. package/src/codegen/handlers/SerializeHandlerBuilder.ts +0 -15
  210. package/src/codegen/handlers/StripHandlerBuilder.ts +0 -18
  211. package/src/codegen/handlers/clone/CloneObjectHandler.ts +0 -29
  212. package/src/codegen/handlers/clone/CloneValueHandler.ts +0 -33
  213. package/src/codegen/handlers/compare/CompareObjectHandler.ts +0 -15
  214. package/src/codegen/handlers/compare/CompareValueHandler.ts +0 -27
  215. package/src/codegen/handlers/deserialize/DeserializeComputedValueHandler.ts +0 -16
  216. package/src/codegen/handlers/deserialize/DeserializeDateHandler.ts +0 -45
  217. package/src/codegen/handlers/deserialize/DeserializeFunctionHandler.ts +0 -16
  218. package/src/codegen/handlers/deserialize/DeserializeObjectHandler.ts +0 -29
  219. package/src/codegen/handlers/deserialize/DeserializeValueHandler.ts +0 -33
  220. package/src/codegen/handlers/enableChangeTracking/EnableChangeTrackingObjectHandler.ts +0 -20
  221. package/src/codegen/handlers/enableChangeTracking/EnableChangeTrackingPrimitiveValueHandler.ts +0 -15
  222. package/src/codegen/handlers/enrichment/EnrichmentComputedValueHandler.ts +0 -37
  223. package/src/codegen/handlers/enrichment/EnrichmentDefaultFunctionHandler.ts +0 -50
  224. package/src/codegen/handlers/enrichment/EnrichmentDefaultValueHandler.ts +0 -18
  225. package/src/codegen/handlers/enrichment/EnrichmentFunctionHandler.ts +0 -38
  226. package/src/codegen/handlers/enrichment/EnrichmentNullableObjectHandler.ts +0 -44
  227. package/src/codegen/handlers/enrichment/EnrichmentObjectHandler.ts +0 -29
  228. package/src/codegen/handlers/enrichment/EnrichmentObjectIdentityHandler.ts +0 -16
  229. package/src/codegen/handlers/enrichment/EnrichmentPrimitiveHandler.ts +0 -13
  230. package/src/codegen/handlers/enrichment/EnrichmentPrimitiveIdentityHandler.ts +0 -21
  231. package/src/codegen/handlers/freeze/FreezeObjectHandler.ts +0 -20
  232. package/src/codegen/handlers/freeze/FreezePrimitiveValueHandler.ts +0 -15
  233. package/src/codegen/handlers/hash/HashComputedValueHandler.ts +0 -15
  234. package/src/codegen/handlers/hash/HashDateHandler.ts +0 -26
  235. package/src/codegen/handlers/hash/HashFunctionHandler.ts +0 -16
  236. package/src/codegen/handlers/hash/HashIdentityHandler.ts +0 -15
  237. package/src/codegen/handlers/hash/HashKeyHandler.ts +0 -26
  238. package/src/codegen/handlers/hash/HashValueHandler.ts +0 -26
  239. package/src/codegen/handlers/hashType/HashTypeValueHandler.ts +0 -20
  240. package/src/codegen/handlers/idSelector/IdSelectorValueHandler.ts +0 -28
  241. package/src/codegen/handlers/merge/MergeComputedValueHandler.ts +0 -37
  242. package/src/codegen/handlers/merge/MergeDefaultFunctionHandler.ts +0 -40
  243. package/src/codegen/handlers/merge/MergeDefaultValueHandler.ts +0 -32
  244. package/src/codegen/handlers/merge/MergeFunctionHandler.ts +0 -16
  245. package/src/codegen/handlers/merge/MergePrimitiveHandler.ts +0 -21
  246. package/src/codegen/handlers/prepare/PrepareComputedValueHandler.ts +0 -16
  247. package/src/codegen/handlers/prepare/PrepareFunctionHandler.ts +0 -16
  248. package/src/codegen/handlers/prepare/PrepareIdentityHandler.ts +0 -21
  249. package/src/codegen/handlers/prepare/PrepareKeyHandler.ts +0 -21
  250. package/src/codegen/handlers/prepare/PrepareObjectHandler.ts +0 -38
  251. package/src/codegen/handlers/prepare/PrepareValueHandler.ts +0 -36
  252. package/src/codegen/handlers/serialize/SerializeDateHandler.ts +0 -45
  253. package/src/codegen/handlers/serialize/SerializeObjectHandler.ts +0 -28
  254. package/src/codegen/handlers/serialize/SerializeValueHandler.ts +0 -33
  255. package/src/codegen/handlers/strip/StripIdentityHandler.ts +0 -15
  256. package/src/codegen/handlers/strip/StripKeyHandler.ts +0 -15
  257. package/src/codegen/handlers/strip/StripObjectHandler.ts +0 -35
  258. package/src/codegen/handlers/strip/StripValueHandler.ts +0 -36
  259. package/src/codegen/handlers/types.ts +0 -119
  260. package/src/codegen/types.ts +0 -2
  261. package/src/codegen/utils.ts +0 -74
  262. package/src/collections/Changes.test.ts +0 -337
  263. package/src/collections/Changes.ts +0 -177
  264. package/src/collections/IdSet.ts +0 -28
  265. package/src/collections/MemoryDataCollection.test.ts +0 -424
  266. package/src/collections/MemoryDataCollection.ts +0 -134
  267. package/src/collections/SchemaCollection.ts +0 -22
  268. package/src/collections/TagCollection.test.ts +0 -443
  269. package/src/collections/TagCollection.ts +0 -62
  270. package/src/errors/SchemaError.ts +0 -6
  271. package/src/errors/index.ts +0 -1
  272. package/src/expressions/parser.test.ts +0 -913
  273. package/src/expressions/utils.test.ts +0 -346
  274. package/src/expressions/utils.ts +0 -59
  275. package/src/performance/index.ts +0 -26
  276. package/src/pipeline/SyncronousQueue.test.ts +0 -269
  277. package/src/pipeline/SyncronousQueue.ts +0 -30
  278. package/src/pipeline/TrampolinePipeline.test.ts +0 -374
  279. package/src/pipeline/index.ts +0 -2
  280. package/src/plugins/EphemeralDataPlugin.ts +0 -132
  281. package/src/plugins/capabilities/DbPluginCapability.ts +0 -111
  282. package/src/plugins/capabilities/logging/DbPluginLoggingCapability.ts +0 -261
  283. package/src/plugins/capabilities/logging/index.ts +0 -1
  284. package/src/plugins/query/Query.ts +0 -67
  285. package/src/plugins/query/QueryOptionsCollection.test.ts +0 -86
  286. package/src/plugins/query/QueryOptionsCollection.ts +0 -154
  287. package/src/plugins/replication/OptimisticReplicationDbPlugin.ts +0 -202
  288. package/src/plugins/replication/ReplicationDbPlugin.ts +0 -137
  289. package/src/plugins/translators/DataTranslator.ts +0 -46
  290. package/src/plugins/translators/JsonTranslator.test.ts +0 -618
  291. package/src/plugins/translators/JsonTranslator.ts +0 -211
  292. package/src/plugins/translators/SqlTranslator.ts +0 -45
  293. package/src/results/Result.ts +0 -91
  294. package/src/results/utils.ts +0 -15
  295. package/src/schema/PropertyInfo.test.ts +0 -479
  296. package/src/schema/PropertyInfo.ts +0 -374
  297. package/src/schema/SchemaDefinition.ts +0 -626
  298. package/src/schema/builder.ts +0 -18
  299. package/src/schema/property/base/SchemaBase.ts +0 -49
  300. package/src/schema/property/base/index.ts +0 -1
  301. package/src/schema/property/modifiers/SchemaDefault.ts +0 -29
  302. package/src/schema/property/modifiers/SchemaDeserialize.ts +0 -23
  303. package/src/schema/property/modifiers/SchemaDistinct.ts +0 -14
  304. package/src/schema/property/modifiers/SchemaFrom.ts +0 -54
  305. package/src/schema/property/modifiers/SchemaIdentity.ts +0 -13
  306. package/src/schema/property/modifiers/SchemaIndex.ts +0 -60
  307. package/src/schema/property/modifiers/SchemaKey.ts +0 -28
  308. package/src/schema/property/modifiers/SchemaNullable.ts +0 -18
  309. package/src/schema/property/modifiers/SchemaOptional.ts +0 -19
  310. package/src/schema/property/modifiers/SchemaReadonly.ts +0 -34
  311. package/src/schema/property/modifiers/SchemaSerialize.ts +0 -18
  312. package/src/schema/property/modifiers/SchemaTracked.ts +0 -14
  313. package/src/schema/property/types/SchemaArray.ts +0 -50
  314. package/src/schema/property/types/SchemaBoolean.ts +0 -59
  315. package/src/schema/property/types/SchemaDate.ts +0 -58
  316. package/src/schema/property/types/SchemaNumber.ts +0 -69
  317. package/src/schema/property/types/SchemaObject.ts +0 -44
  318. package/src/schema/property/types/SchemaString.ts +0 -69
  319. package/src/schema/table/SchemaComputed.ts +0 -20
  320. package/src/schema/table/SchemaFunction.ts +0 -15
  321. package/src/utilities/arrays.test.ts +0 -312
  322. package/src/utilities/arrays.ts +0 -12
  323. package/src/utilities/dates.test.ts +0 -388
  324. package/src/utilities/dates.ts +0 -11
  325. package/src/utilities/dbPluginEventUtils.ts +0 -44
  326. package/src/utilities/objects.ts +0 -7
  327. package/src/utilities/queryOptionsCollection.ts +0 -16
  328. package/src/utilities/replication.ts +0 -23
  329. package/src/utilities/runtime.ts +0 -3
  330. package/src/utilities/strings.ts +0 -18
  331. package/src/utilities/types.ts +0 -1
  332. package/src/utilities/uuid.ts +0 -56
  333. package/tsconfig.json +0 -28
  334. package/vitest.config.ts +0 -11
@@ -1,618 +0,0 @@
1
- import { describe, it, expect, beforeEach } from 'vitest';
2
- import { JsonTranslator } from './JsonTranslator';
3
- import { QueryOption, QueryOrdering } from '../query/types';
4
- import { Filter, ParamsFilter } from '../../expressions/types';
5
- import { Expression } from '../../expressions/types';
6
-
7
- describe('JsonTranslator', () => {
8
- let translator: JsonTranslator<any, any>;
9
- let mockQuery: any;
10
-
11
- beforeEach(() => {
12
- mockQuery = {
13
- options: {
14
- getLast: () => null as any
15
- }
16
- };
17
- translator = new JsonTranslator(mockQuery);
18
- (translator as any).query = mockQuery;
19
- });
20
-
21
- describe('filter', () => {
22
- it('should return data unchanged when no filter is provided', () => {
23
- const data = [{ id: 1, name: 'test' }];
24
- const option: QueryOption<any, 'filter'> = {
25
- name: 'filter',
26
- value: { filter: null, params: null, expression: Expression.NOT_PARSABLE },
27
- target: 'memory'
28
- };
29
-
30
- const result = translator.filter(data, option);
31
-
32
- expect(result).toEqual(data);
33
- });
34
-
35
- it('should apply standard filter function', () => {
36
- const data = [
37
- { id: 1, name: 'test1' },
38
- { id: 2, name: 'test2' },
39
- { id: 3, name: 'other' }
40
- ];
41
- const filter: Filter<any> = (item: any): boolean => item.name.startsWith('test');
42
- const option: QueryOption<any, 'filter'> = {
43
- name: 'filter',
44
- value: { filter, params: null, expression: Expression.NOT_PARSABLE },
45
- target: 'memory'
46
- };
47
-
48
- const result = translator.filter(data, option) as any;
49
-
50
- expect(result).toHaveLength(2);
51
- expect(result[0].name).toBe('test1');
52
- expect(result[1].name).toBe('test2');
53
- });
54
-
55
- it('should apply parameterized filter function', () => {
56
- const data = [
57
- { id: 1, name: 'test1' },
58
- { id: 2, name: 'test2' },
59
- { id: 3, name: 'other' }
60
- ];
61
- const filter: ParamsFilter<any, { searchTerm: string }> = (payload: [any, { searchTerm: string }]): boolean => {
62
- const [item, params] = payload;
63
- return item.name.includes(params.searchTerm);
64
- };
65
- const option: QueryOption<any, 'filter'> = {
66
- name: 'filter',
67
- value: { filter, params: { searchTerm: 'test' }, expression: Expression.NOT_PARSABLE },
68
- target: 'memory'
69
- };
70
-
71
- const result = translator.filter(data, option) as any;
72
-
73
- expect(result).toHaveLength(2);
74
- expect(result[0].name).toBe('test1');
75
- expect(result[1].name).toBe('test2');
76
- });
77
-
78
- it('should throw error when data is not an array', () => {
79
- const data = { id: 1, name: 'test' };
80
- const option: QueryOption<any, 'filter'> = {
81
- name: 'filter',
82
- value: { filter: null, params: null, expression: Expression.NOT_PARSABLE },
83
- target: 'memory'
84
- };
85
-
86
- expect(() => translator.filter(data, option)).toThrow();
87
- });
88
- });
89
-
90
- describe('map', () => {
91
- it('should map array data using selector function', () => {
92
- const data = [
93
- { id: 1, name: 'test1' },
94
- { id: 2, name: 'test2' }
95
- ];
96
- const selector = (item: any) => ({ id: item.id, mappedName: item.name });
97
- const option: QueryOption<any, 'map'> = {
98
- name: 'map',
99
- value: { selector, fields: [] },
100
- target: 'memory'
101
- };
102
-
103
- const result = translator.map(data, option);
104
-
105
- expect(result).toHaveLength(2);
106
- expect(result[0]).toEqual({ id: 1, mappedName: 'test1' });
107
- expect(result[1]).toEqual({ id: 2, mappedName: 'test2' });
108
- });
109
-
110
- it('should throw error when data is not an array', () => {
111
- const data = { id: 1, name: 'test' };
112
- const selector = (item: any) => item.name;
113
- const option: QueryOption<any, 'map'> = {
114
- name: 'map',
115
- value: { selector, fields: [] },
116
- target: 'memory'
117
- };
118
-
119
- expect(() => translator.map(data, option)).toThrow('Can only map an array of data');
120
- });
121
- });
122
-
123
- describe('count', () => {
124
- it('should return array length', () => {
125
- const data = [{ id: 1 }, { id: 2 }, { id: 3 }];
126
- const option: QueryOption<any, 'count'> = {
127
- name: 'count',
128
- value: true,
129
- target: 'memory'
130
- };
131
-
132
- const result = translator.count(data, option);
133
-
134
- expect(result).toBe(3);
135
- });
136
-
137
- it('should return 0 for empty array', () => {
138
- const data: any[] = [];
139
- const option: QueryOption<any, 'count'> = {
140
- name: 'count',
141
- value: true,
142
- target: 'memory'
143
- };
144
-
145
- const result = translator.count(data, option);
146
-
147
- expect(result).toBe(0);
148
- });
149
-
150
- it('should throw error when data is not an array', () => {
151
- const data = { id: 1, name: 'test' };
152
- const option: QueryOption<any, 'count'> = {
153
- name: 'count',
154
- value: true,
155
- target: 'memory'
156
- };
157
-
158
- expect(() => translator.count(data, option)).toThrow('Cannot count resulting data, it must be an array');
159
- });
160
- });
161
-
162
- describe('min', () => {
163
- it('should return minimum number from array', () => {
164
- const data = [5, 2, 8, 1, 9];
165
- const option: QueryOption<any, 'min'> = {
166
- name: 'min',
167
- value: true,
168
- target: 'memory'
169
- };
170
-
171
- const result = translator.min(data, option);
172
-
173
- expect(result).toBe(1);
174
- });
175
-
176
- it('should return minimum string from array', () => {
177
- const data = ['zebra', 'apple', 'banana'];
178
- const option: QueryOption<any, 'min'> = {
179
- name: 'min',
180
- value: true,
181
- target: 'memory'
182
- };
183
-
184
- const result = translator.min(data, option);
185
-
186
- expect(result).toBe('zebra');
187
- });
188
-
189
- it('should return minimum date from array', () => {
190
- const date1 = new Date('2023-01-01');
191
- const date2 = new Date('2023-01-02');
192
- const date3 = new Date('2022-12-31');
193
- const data = [date1, date2, date3];
194
- const option: QueryOption<any, 'min'> = {
195
- name: 'min',
196
- value: true,
197
- target: 'memory'
198
- };
199
-
200
- const result = translator.min(data, option);
201
-
202
- expect(result).toBe(date3);
203
- });
204
-
205
- it('should throw error when data is not an array', () => {
206
- const data = 5;
207
- const option: QueryOption<any, 'min'> = {
208
- name: 'min',
209
- value: true,
210
- target: 'memory'
211
- };
212
-
213
- expect(() => translator.min(data, option)).toThrow();
214
- });
215
- });
216
-
217
- describe('max', () => {
218
- it('should return maximum number from array', () => {
219
- const data = [5, 2, 8, 1, 9];
220
- const option: QueryOption<any, 'max'> = {
221
- name: 'max',
222
- value: true,
223
- target: 'memory'
224
- };
225
-
226
- const result = translator.max(data, option);
227
-
228
- expect(result).toBe(9);
229
- });
230
-
231
- it('should return maximum string from array', () => {
232
- const data = ['zebra', 'apple', 'banana'];
233
- const option: QueryOption<any, 'max'> = {
234
- name: 'max',
235
- value: true,
236
- target: 'memory'
237
- };
238
-
239
- const result = translator.max(data, option);
240
-
241
- expect(result).toBe('zebra');
242
- });
243
-
244
- it('should return maximum date from array', () => {
245
- const date1 = new Date('2023-01-01');
246
- const date2 = new Date('2023-01-02');
247
- const date3 = new Date('2022-12-31');
248
- const data = [date1, date2, date3];
249
- const option: QueryOption<any, 'max'> = {
250
- name: 'max',
251
- value: true,
252
- target: 'memory'
253
- };
254
-
255
- const result = translator.max(data, option);
256
-
257
- expect(result).toBe(date2);
258
- });
259
- });
260
-
261
- describe('sort', () => {
262
- it('should sort array in ascending order', () => {
263
- const data = [3, 1, 4, 1, 5];
264
- const selector = (item: number) => item;
265
- const option: QueryOption<any, 'sort'> = {
266
- name: 'sort',
267
- value: { selector, direction: QueryOrdering.Ascending, propertyName: 'value' },
268
- target: 'memory'
269
- };
270
-
271
- const result = translator.sort(data, option);
272
-
273
- expect(result).toEqual([1, 1, 3, 4, 5]);
274
- });
275
-
276
- it('should sort array in descending order', () => {
277
- const data = [3, 1, 4, 1, 5];
278
- const selector = (item: number) => item;
279
- const option: QueryOption<any, 'sort'> = {
280
- name: 'sort',
281
- value: { selector, direction: QueryOrdering.Descending, propertyName: 'value' },
282
- target: 'memory'
283
- };
284
-
285
- const result = translator.sort(data, option);
286
-
287
- expect(result).toEqual([5, 4, 3, 1, 1]);
288
- });
289
-
290
- it('should sort objects by property in ascending order', () => {
291
- const data = [
292
- { id: 3, name: 'c' },
293
- { id: 1, name: 'a' },
294
- { id: 2, name: 'b' }
295
- ];
296
- const selector = (item: any) => item.id;
297
- const option: QueryOption<any, 'sort'> = {
298
- name: 'sort',
299
- value: { selector, direction: QueryOrdering.Ascending, propertyName: 'id' },
300
- target: 'memory'
301
- };
302
-
303
- const result = translator.sort(data, option);
304
-
305
- expect(result).toEqual([
306
- { id: 1, name: 'a' },
307
- { id: 2, name: 'b' },
308
- { id: 3, name: 'c' }
309
- ]);
310
- });
311
-
312
- it('should return data unchanged when not an array', () => {
313
- const data = { id: 1, name: 'test' };
314
- const selector = (item: any) => item.id;
315
- const option: QueryOption<any, 'sort'> = {
316
- name: 'sort',
317
- value: { selector, direction: QueryOrdering.Ascending, propertyName: 'id' },
318
- target: 'memory'
319
- };
320
-
321
- const result = translator.sort(data, option);
322
-
323
- expect(result).toBe(data);
324
- });
325
- });
326
-
327
- describe('sum', () => {
328
- beforeEach(() => {
329
- mockQuery.options.getLast = () => ({
330
- name: 'map',
331
- value: {
332
- fields: [{ sourceName: 'value' }]
333
- }
334
- });
335
- });
336
-
337
- it('should sum array of numbers', () => {
338
- const data = [1, 2, 3, 4, 5];
339
- const option: QueryOption<any, 'sum'> = {
340
- name: 'sum',
341
- value: true,
342
- target: 'memory'
343
- };
344
-
345
- const result = translator.sum(data, option);
346
-
347
- expect(result).toBe(15);
348
- });
349
-
350
- it('should return 0 for empty array', () => {
351
- const data: number[] = [];
352
- const option: QueryOption<any, 'sum'> = {
353
- name: 'sum',
354
- value: true,
355
- target: 'memory'
356
- };
357
-
358
- const result = translator.sum(data, option);
359
-
360
- expect(result).toBe(0);
361
- });
362
-
363
- it('should throw error when data is not an array', () => {
364
- const data = 5;
365
- const option: QueryOption<any, 'sum'> = {
366
- name: 'sum',
367
- value: true,
368
- target: 'memory'
369
- };
370
-
371
- expect(() => translator.sum(data, option)).toThrow();
372
- });
373
-
374
- it('should throw error when array contains non-numbers', () => {
375
- const data = [1, 2, 'three', 4];
376
- const option: QueryOption<any, 'sum'> = {
377
- name: 'sum',
378
- value: true,
379
- target: 'memory'
380
- };
381
-
382
- expect(() => translator.sum(data, option)).toThrow('Cannot sum, property is not a number');
383
- });
384
-
385
- it('should throw error when no map option is found', () => {
386
- mockQuery.options.getLast = () => null as any;
387
- const data = [1, 2, 3];
388
- const option: QueryOption<any, 'sum'> = {
389
- name: 'sum',
390
- value: true,
391
- target: 'memory'
392
- };
393
-
394
- expect(() => translator.sum(data, option)).toThrow('sum() operation can only be performed when one field is mapped');
395
- });
396
-
397
- it('should throw error when multiple fields are mapped', () => {
398
- mockQuery.options.getLast = () => ({
399
- name: 'map',
400
- value: {
401
- fields: [{ sourceName: 'value1' }, { sourceName: 'value2' }]
402
- }
403
- });
404
- const data = [1, 2, 3];
405
- const option: QueryOption<any, 'sum'> = {
406
- name: 'sum',
407
- value: true,
408
- target: 'memory'
409
- };
410
-
411
- expect(() => translator.sum(data, option)).toThrow('sum() operation can only be performed when one field is mapped');
412
- });
413
- });
414
-
415
- describe('distinct', () => {
416
- it('should return unique numbers', () => {
417
- const data = [1, 2, 2, 3, 1, 4];
418
- const option: QueryOption<any, 'distinct'> = {
419
- name: 'distinct',
420
- value: true,
421
- target: 'memory'
422
- };
423
-
424
- const result = translator.distinct(data, option);
425
-
426
- expect(result).toEqual([1, 2, 3, 4]);
427
- });
428
-
429
- it('should return unique strings', () => {
430
- const data = ['a', 'b', 'a', 'c', 'b'];
431
- const option: QueryOption<any, 'distinct'> = {
432
- name: 'distinct',
433
- value: true,
434
- target: 'memory'
435
- };
436
-
437
- const result = translator.distinct(data, option);
438
-
439
- expect(result).toEqual(['a', 'b', 'c']);
440
- });
441
-
442
- it('should return unique dates', () => {
443
- const date1 = new Date('2023-01-01');
444
- const date2 = new Date('2023-01-02');
445
- const date3 = new Date('2023-01-01');
446
- const data = [date1, date2, date3];
447
- const option: QueryOption<any, 'distinct'> = {
448
- name: 'distinct',
449
- value: true,
450
- target: 'memory'
451
- };
452
-
453
- const result = translator.distinct(data, option) as any;
454
-
455
- expect(result).toHaveLength(2);
456
- expect(result[0]).toBeInstanceOf(Date);
457
- expect(result[1]).toBeInstanceOf(Date);
458
- });
459
-
460
- it('should handle mixed data types', () => {
461
- const data = [1, 'a', 1, 'b', 2, 'a'];
462
- const option: QueryOption<any, 'distinct'> = {
463
- name: 'distinct',
464
- value: true,
465
- target: 'memory'
466
- };
467
-
468
- const result = translator.distinct(data, option);
469
-
470
- expect(result).toEqual([1, 'a', 'b', 2]);
471
- });
472
-
473
- it('should throw error when data is not an array', () => {
474
- const data = 5;
475
- const option: QueryOption<any, 'distinct'> = {
476
- name: 'distinct',
477
- value: true,
478
- target: 'memory'
479
- };
480
-
481
- expect(() => translator.distinct(data, option)).toThrow();
482
- });
483
- });
484
-
485
- describe('skip', () => {
486
- it('should skip specified number of items', () => {
487
- const data = [1, 2, 3, 4, 5];
488
- const option: QueryOption<any, 'skip'> = {
489
- name: 'skip',
490
- value: 2,
491
- target: 'memory'
492
- };
493
-
494
- const result = translator.skip(data, option);
495
-
496
- expect(result).toEqual([3, 4, 5]);
497
- });
498
-
499
- it('should return empty array when skip count exceeds array length', () => {
500
- const data = [1, 2, 3];
501
- const option: QueryOption<any, 'skip'> = {
502
- name: 'skip',
503
- value: 5,
504
- target: 'memory'
505
- };
506
-
507
- const result = translator.skip(data, option);
508
-
509
- expect(result).toEqual(data);
510
- });
511
-
512
- it('should return original array when skip count is 0', () => {
513
- const data = [1, 2, 3];
514
- const option: QueryOption<any, 'skip'> = {
515
- name: 'skip',
516
- value: 0,
517
- target: 'memory'
518
- };
519
-
520
- const result = translator.skip(data, option);
521
-
522
- expect(result).toEqual(data);
523
- });
524
-
525
- it('should return original array when skip count is negative', () => {
526
- const data = [1, 2, 3];
527
- const option: QueryOption<any, 'skip'> = {
528
- name: 'skip',
529
- value: -1,
530
- target: 'memory'
531
- };
532
-
533
- const result = translator.skip(data, option);
534
-
535
- expect(result).toEqual(data);
536
- });
537
-
538
- it('should return data unchanged when not an array', () => {
539
- const data = { id: 1, name: 'test' };
540
- const option: QueryOption<any, 'skip'> = {
541
- name: 'skip',
542
- value: 2,
543
- target: 'memory'
544
- };
545
-
546
- const result = translator.skip(data, option);
547
-
548
- expect(result).toBe(data);
549
- });
550
- });
551
-
552
- describe('take', () => {
553
- it('should take specified number of items', () => {
554
- const data = [1, 2, 3, 4, 5];
555
- const option: QueryOption<any, 'take'> = {
556
- name: 'take',
557
- value: 3,
558
- target: 'memory'
559
- };
560
-
561
- const result = translator.take(data, option);
562
-
563
- expect(result).toEqual([1, 2, 3]);
564
- });
565
-
566
- it('should return all items when take count exceeds array length', () => {
567
- const data = [1, 2, 3];
568
- const option: QueryOption<any, 'take'> = {
569
- name: 'take',
570
- value: 5,
571
- target: 'memory'
572
- };
573
-
574
- const result = translator.take(data, option);
575
-
576
- expect(result).toEqual([1, 2, 3]);
577
- });
578
-
579
- it('should return empty array when take count is 0', () => {
580
- const data = [1, 2, 3];
581
- const option: QueryOption<any, 'take'> = {
582
- name: 'take',
583
- value: 0,
584
- target: 'memory'
585
- };
586
-
587
- const result = translator.take(data, option);
588
-
589
- expect(result).toEqual(data);
590
- });
591
-
592
- it('should return empty array when take count is negative', () => {
593
- const data = [1, 2, 3];
594
- const option: QueryOption<any, 'take'> = {
595
- name: 'take',
596
- value: -1,
597
- target: 'memory'
598
- };
599
-
600
- const result = translator.take(data, option);
601
-
602
- expect(result).toEqual(data);
603
- });
604
-
605
- it('should return data unchanged when not an array', () => {
606
- const data = { id: 1, name: 'test' };
607
- const option: QueryOption<any, 'take'> = {
608
- name: 'take',
609
- value: 2,
610
- target: 'memory'
611
- };
612
-
613
- const result = translator.take(data, option);
614
-
615
- expect(result).toBe(data);
616
- });
617
- });
618
- });