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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (331) 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/SchemaCollection.d.ts +8 -0
  78. package/dist/collections/TagCollection.d.ts +15 -0
  79. package/dist/collections/TagCollection.test.d.ts +1 -0
  80. package/{src/collections/index.ts → dist/collections/index.d.ts} +1 -1
  81. package/dist/collections/index.js +659 -0
  82. package/dist/collections/index.js.map +1 -0
  83. package/dist/errors/SchemaError.d.ts +3 -0
  84. package/dist/errors/index.d.ts +1 -0
  85. package/dist/errors/index.js +90 -0
  86. package/dist/errors/index.js.map +1 -0
  87. package/{src/expressions/index.ts → dist/expressions/index.d.ts} +1 -1
  88. package/{src/expressions/parser.ts → dist/expressions/index.js} +387 -205
  89. package/dist/expressions/index.js.map +1 -0
  90. package/dist/expressions/parser.d.ts +4 -0
  91. package/dist/expressions/parser.test.d.ts +1 -0
  92. package/{src/expressions/types.ts → dist/expressions/types.d.ts} +42 -99
  93. package/dist/expressions/utils.d.ts +10 -0
  94. package/dist/expressions/utils.test.d.ts +1 -0
  95. package/{src/index.ts → dist/index.d.ts} +1 -1
  96. package/dist/index.js +8434 -0
  97. package/dist/index.js.map +1 -0
  98. package/dist/performance/index.d.ts +5 -0
  99. package/dist/performance/index.js +65 -0
  100. package/dist/performance/index.js.map +1 -0
  101. package/dist/pipeline/SyncronousQueue.d.ts +7 -0
  102. package/dist/pipeline/SyncronousQueue.test.d.ts +1 -0
  103. package/dist/pipeline/TrampolinePipeline.d.ts +36 -0
  104. package/dist/pipeline/TrampolinePipeline.test.d.ts +1 -0
  105. package/dist/pipeline/index.d.ts +2 -0
  106. package/{src/pipeline/TrampolinePipeline.ts → dist/pipeline/index.js} +297 -140
  107. package/dist/pipeline/index.js.map +1 -0
  108. package/dist/plugins/EphemeralDataPlugin.d.ts +13 -0
  109. package/dist/plugins/capabilities/DbPluginCapability.d.ts +23 -0
  110. package/{src/plugins/capabilities/index.ts → dist/plugins/capabilities/index.d.ts} +1 -1
  111. package/dist/plugins/capabilities/logging/DbPluginLoggingCapability.d.ts +28 -0
  112. package/dist/plugins/capabilities/logging/index.d.ts +1 -0
  113. package/{src/plugins/index.ts → dist/plugins/index.d.ts} +1 -1
  114. package/dist/plugins/index.js +2328 -0
  115. package/dist/plugins/index.js.map +1 -0
  116. package/dist/plugins/query/Query.d.ts +13 -0
  117. package/dist/plugins/query/QueryOptionsCollection.d.ts +27 -0
  118. package/dist/plugins/query/QueryOptionsCollection.test.d.ts +1 -0
  119. package/{src/plugins/query/index.ts → dist/plugins/query/index.d.ts} +1 -1
  120. package/{src/plugins/query/types.ts → dist/plugins/query/types.d.ts} +29 -20
  121. package/dist/plugins/replication/OptimisticReplicationDbPlugin.d.ts +21 -0
  122. package/dist/plugins/replication/ReplicationDbPlugin.d.ts +21 -0
  123. package/{src/plugins/replication/index.ts → dist/plugins/replication/index.d.ts} +1 -1
  124. package/{src/plugins/replication/types.ts → dist/plugins/replication/types.d.ts} +1 -2
  125. package/dist/plugins/translators/DataTranslator.d.ts +18 -0
  126. package/dist/plugins/translators/JsonTranslator.d.ts +17 -0
  127. package/dist/plugins/translators/JsonTranslator.test.d.ts +1 -0
  128. package/dist/plugins/translators/SqlTranslator.d.ts +14 -0
  129. package/{src/plugins/translators/index.ts → dist/plugins/translators/index.d.ts} +1 -1
  130. package/{src/plugins/types.ts → dist/plugins/types.d.ts} +11 -26
  131. package/dist/results/Result.d.ts +29 -0
  132. package/{src/results/index.ts → dist/results/index.d.ts} +1 -1
  133. package/dist/results/index.js +192 -0
  134. package/dist/results/index.js.map +1 -0
  135. package/{src/results/types.ts → dist/results/types.d.ts} +18 -7
  136. package/dist/results/utils.d.ts +2 -0
  137. package/dist/schema/PropertyInfo.d.ts +132 -0
  138. package/dist/schema/PropertyInfo.test.d.ts +1 -0
  139. package/dist/schema/SchemaDefinition.d.ts +17 -0
  140. package/dist/schema/builder.d.ts +17 -0
  141. package/{src/schema/index.ts → dist/schema/index.d.ts} +1 -1
  142. package/dist/schema/index.js +4822 -0
  143. package/dist/schema/index.js.map +1 -0
  144. package/dist/schema/property/base/SchemaBase.d.ts +23 -0
  145. package/dist/schema/property/base/index.d.ts +1 -0
  146. package/dist/schema/property/modifiers/SchemaDefault.d.ts +13 -0
  147. package/dist/schema/property/modifiers/SchemaDeserialize.d.ts +11 -0
  148. package/dist/schema/property/modifiers/SchemaDistinct.d.ts +7 -0
  149. package/dist/schema/property/modifiers/SchemaFrom.d.ts +23 -0
  150. package/dist/schema/property/modifiers/SchemaIdentity.d.ts +7 -0
  151. package/dist/schema/property/modifiers/SchemaIndex.d.ts +23 -0
  152. package/dist/schema/property/modifiers/SchemaKey.d.ts +13 -0
  153. package/dist/schema/property/modifiers/SchemaNullable.d.ts +9 -0
  154. package/dist/schema/property/modifiers/SchemaOptional.d.ts +9 -0
  155. package/dist/schema/property/modifiers/SchemaReadonly.d.ts +15 -0
  156. package/dist/schema/property/modifiers/SchemaSerialize.d.ts +9 -0
  157. package/dist/schema/property/modifiers/SchemaTracked.d.ts +7 -0
  158. package/{src/schema/property/modifiers/index.ts → dist/schema/property/modifiers/index.d.ts} +1 -1
  159. package/dist/schema/property/types/SchemaArray.d.ts +23 -0
  160. package/dist/schema/property/types/SchemaBoolean.d.ts +27 -0
  161. package/dist/schema/property/types/SchemaDate.d.ts +27 -0
  162. package/dist/schema/property/types/SchemaNumber.d.ts +31 -0
  163. package/dist/schema/property/types/SchemaObject.d.ts +20 -0
  164. package/dist/schema/property/types/SchemaString.d.ts +31 -0
  165. package/{src/schema/property/types/index.ts → dist/schema/property/types/index.d.ts} +1 -1
  166. package/dist/schema/table/SchemaComputed.d.ts +10 -0
  167. package/dist/schema/table/SchemaFunction.d.ts +8 -0
  168. package/{src/schema/table/index.ts → dist/schema/table/index.d.ts} +1 -1
  169. package/{src/schema/types.ts → dist/schema/types.d.ts} +59 -99
  170. package/{src/types/index.ts → dist/types/index.d.ts} +1 -2
  171. package/dist/types/index.js +25 -0
  172. package/dist/types/index.js.map +1 -0
  173. package/dist/utilities/arrays.d.ts +1 -0
  174. package/dist/utilities/arrays.test.d.ts +1 -0
  175. package/dist/utilities/dates.d.ts +1 -0
  176. package/dist/utilities/dates.test.d.ts +1 -0
  177. package/dist/utilities/dbPluginEventUtils.d.ts +14 -0
  178. package/{src/utilities/index.ts → dist/utilities/index.d.ts} +1 -1
  179. package/dist/utilities/index.js +554 -0
  180. package/dist/utilities/index.js.map +1 -0
  181. package/dist/utilities/objects.d.ts +2 -0
  182. package/dist/utilities/queryOptionsCollection.d.ts +2 -0
  183. package/dist/utilities/replication.d.ts +3 -0
  184. package/dist/utilities/runtime.d.ts +1 -0
  185. package/dist/utilities/strings.d.ts +1 -0
  186. package/dist/utilities/types.d.ts +1 -0
  187. package/dist/utilities/uuid.d.ts +2 -0
  188. package/package.json +6 -1
  189. package/readme.md +95 -0
  190. package/CHANGELOG.md +0 -8
  191. package/rspack.config.mjs +0 -65
  192. package/src/assertions/index.ts +0 -37
  193. package/src/codegen/SlotPath.ts +0 -20
  194. package/src/codegen/blocks.ts +0 -578
  195. package/src/codegen/handlers/CloneHandlerBuilder.ts +0 -13
  196. package/src/codegen/handlers/CompareHandlerBuilder.ts +0 -13
  197. package/src/codegen/handlers/DeserializeHandlerBuilder.ts +0 -20
  198. package/src/codegen/handlers/EnableChangeTrackingHandlerBuilder.ts +0 -13
  199. package/src/codegen/handlers/EnrichmentHandlerBuilder.ts +0 -28
  200. package/src/codegen/handlers/FreezeHandlerBuilder.ts +0 -13
  201. package/src/codegen/handlers/HashHandlerBuilder.ts +0 -25
  202. package/src/codegen/handlers/HashTypeHandlerBuilder.ts +0 -11
  203. package/src/codegen/handlers/IdSelectorHandlerBuilder.ts +0 -10
  204. package/src/codegen/handlers/MergeHandlerBuilder.ts +0 -19
  205. package/src/codegen/handlers/PrepareHandlerBuilder.ts +0 -23
  206. package/src/codegen/handlers/SerializeHandlerBuilder.ts +0 -15
  207. package/src/codegen/handlers/StripHandlerBuilder.ts +0 -18
  208. package/src/codegen/handlers/clone/CloneObjectHandler.ts +0 -29
  209. package/src/codegen/handlers/clone/CloneValueHandler.ts +0 -33
  210. package/src/codegen/handlers/compare/CompareObjectHandler.ts +0 -15
  211. package/src/codegen/handlers/compare/CompareValueHandler.ts +0 -27
  212. package/src/codegen/handlers/deserialize/DeserializeComputedValueHandler.ts +0 -16
  213. package/src/codegen/handlers/deserialize/DeserializeDateHandler.ts +0 -45
  214. package/src/codegen/handlers/deserialize/DeserializeFunctionHandler.ts +0 -16
  215. package/src/codegen/handlers/deserialize/DeserializeObjectHandler.ts +0 -29
  216. package/src/codegen/handlers/deserialize/DeserializeValueHandler.ts +0 -33
  217. package/src/codegen/handlers/enableChangeTracking/EnableChangeTrackingObjectHandler.ts +0 -20
  218. package/src/codegen/handlers/enableChangeTracking/EnableChangeTrackingPrimitiveValueHandler.ts +0 -15
  219. package/src/codegen/handlers/enrichment/EnrichmentComputedValueHandler.ts +0 -37
  220. package/src/codegen/handlers/enrichment/EnrichmentDefaultFunctionHandler.ts +0 -50
  221. package/src/codegen/handlers/enrichment/EnrichmentDefaultValueHandler.ts +0 -18
  222. package/src/codegen/handlers/enrichment/EnrichmentFunctionHandler.ts +0 -38
  223. package/src/codegen/handlers/enrichment/EnrichmentNullableObjectHandler.ts +0 -44
  224. package/src/codegen/handlers/enrichment/EnrichmentObjectHandler.ts +0 -29
  225. package/src/codegen/handlers/enrichment/EnrichmentObjectIdentityHandler.ts +0 -16
  226. package/src/codegen/handlers/enrichment/EnrichmentPrimitiveHandler.ts +0 -13
  227. package/src/codegen/handlers/enrichment/EnrichmentPrimitiveIdentityHandler.ts +0 -21
  228. package/src/codegen/handlers/freeze/FreezeObjectHandler.ts +0 -20
  229. package/src/codegen/handlers/freeze/FreezePrimitiveValueHandler.ts +0 -15
  230. package/src/codegen/handlers/hash/HashComputedValueHandler.ts +0 -15
  231. package/src/codegen/handlers/hash/HashDateHandler.ts +0 -26
  232. package/src/codegen/handlers/hash/HashFunctionHandler.ts +0 -16
  233. package/src/codegen/handlers/hash/HashIdentityHandler.ts +0 -15
  234. package/src/codegen/handlers/hash/HashKeyHandler.ts +0 -26
  235. package/src/codegen/handlers/hash/HashValueHandler.ts +0 -26
  236. package/src/codegen/handlers/hashType/HashTypeValueHandler.ts +0 -20
  237. package/src/codegen/handlers/idSelector/IdSelectorValueHandler.ts +0 -28
  238. package/src/codegen/handlers/merge/MergeComputedValueHandler.ts +0 -37
  239. package/src/codegen/handlers/merge/MergeDefaultFunctionHandler.ts +0 -40
  240. package/src/codegen/handlers/merge/MergeDefaultValueHandler.ts +0 -32
  241. package/src/codegen/handlers/merge/MergeFunctionHandler.ts +0 -16
  242. package/src/codegen/handlers/merge/MergePrimitiveHandler.ts +0 -21
  243. package/src/codegen/handlers/prepare/PrepareComputedValueHandler.ts +0 -16
  244. package/src/codegen/handlers/prepare/PrepareFunctionHandler.ts +0 -16
  245. package/src/codegen/handlers/prepare/PrepareIdentityHandler.ts +0 -21
  246. package/src/codegen/handlers/prepare/PrepareKeyHandler.ts +0 -21
  247. package/src/codegen/handlers/prepare/PrepareObjectHandler.ts +0 -38
  248. package/src/codegen/handlers/prepare/PrepareValueHandler.ts +0 -36
  249. package/src/codegen/handlers/serialize/SerializeDateHandler.ts +0 -45
  250. package/src/codegen/handlers/serialize/SerializeObjectHandler.ts +0 -28
  251. package/src/codegen/handlers/serialize/SerializeValueHandler.ts +0 -33
  252. package/src/codegen/handlers/strip/StripIdentityHandler.ts +0 -15
  253. package/src/codegen/handlers/strip/StripKeyHandler.ts +0 -15
  254. package/src/codegen/handlers/strip/StripObjectHandler.ts +0 -35
  255. package/src/codegen/handlers/strip/StripValueHandler.ts +0 -36
  256. package/src/codegen/handlers/types.ts +0 -119
  257. package/src/codegen/types.ts +0 -2
  258. package/src/codegen/utils.ts +0 -74
  259. package/src/collections/Changes.test.ts +0 -337
  260. package/src/collections/Changes.ts +0 -177
  261. package/src/collections/IdSet.ts +0 -28
  262. package/src/collections/MemoryDataCollection.test.ts +0 -424
  263. package/src/collections/MemoryDataCollection.ts +0 -134
  264. package/src/collections/SchemaCollection.ts +0 -22
  265. package/src/collections/TagCollection.test.ts +0 -443
  266. package/src/collections/TagCollection.ts +0 -62
  267. package/src/errors/SchemaError.ts +0 -6
  268. package/src/errors/index.ts +0 -1
  269. package/src/expressions/parser.test.ts +0 -913
  270. package/src/expressions/utils.test.ts +0 -346
  271. package/src/expressions/utils.ts +0 -59
  272. package/src/performance/index.ts +0 -26
  273. package/src/pipeline/SyncronousQueue.test.ts +0 -269
  274. package/src/pipeline/SyncronousQueue.ts +0 -30
  275. package/src/pipeline/TrampolinePipeline.test.ts +0 -374
  276. package/src/pipeline/index.ts +0 -2
  277. package/src/plugins/EphemeralDataPlugin.ts +0 -132
  278. package/src/plugins/capabilities/DbPluginCapability.ts +0 -111
  279. package/src/plugins/capabilities/logging/DbPluginLoggingCapability.ts +0 -261
  280. package/src/plugins/capabilities/logging/index.ts +0 -1
  281. package/src/plugins/query/Query.ts +0 -67
  282. package/src/plugins/query/QueryOptionsCollection.test.ts +0 -86
  283. package/src/plugins/query/QueryOptionsCollection.ts +0 -154
  284. package/src/plugins/replication/OptimisticReplicationDbPlugin.ts +0 -202
  285. package/src/plugins/replication/ReplicationDbPlugin.ts +0 -137
  286. package/src/plugins/translators/DataTranslator.ts +0 -46
  287. package/src/plugins/translators/JsonTranslator.test.ts +0 -618
  288. package/src/plugins/translators/JsonTranslator.ts +0 -211
  289. package/src/plugins/translators/SqlTranslator.ts +0 -45
  290. package/src/results/Result.ts +0 -91
  291. package/src/results/utils.ts +0 -15
  292. package/src/schema/PropertyInfo.test.ts +0 -479
  293. package/src/schema/PropertyInfo.ts +0 -374
  294. package/src/schema/SchemaDefinition.ts +0 -626
  295. package/src/schema/builder.ts +0 -18
  296. package/src/schema/property/base/SchemaBase.ts +0 -49
  297. package/src/schema/property/base/index.ts +0 -1
  298. package/src/schema/property/modifiers/SchemaDefault.ts +0 -29
  299. package/src/schema/property/modifiers/SchemaDeserialize.ts +0 -23
  300. package/src/schema/property/modifiers/SchemaDistinct.ts +0 -14
  301. package/src/schema/property/modifiers/SchemaFrom.ts +0 -54
  302. package/src/schema/property/modifiers/SchemaIdentity.ts +0 -13
  303. package/src/schema/property/modifiers/SchemaIndex.ts +0 -60
  304. package/src/schema/property/modifiers/SchemaKey.ts +0 -28
  305. package/src/schema/property/modifiers/SchemaNullable.ts +0 -18
  306. package/src/schema/property/modifiers/SchemaOptional.ts +0 -19
  307. package/src/schema/property/modifiers/SchemaReadonly.ts +0 -34
  308. package/src/schema/property/modifiers/SchemaSerialize.ts +0 -18
  309. package/src/schema/property/modifiers/SchemaTracked.ts +0 -14
  310. package/src/schema/property/types/SchemaArray.ts +0 -50
  311. package/src/schema/property/types/SchemaBoolean.ts +0 -59
  312. package/src/schema/property/types/SchemaDate.ts +0 -58
  313. package/src/schema/property/types/SchemaNumber.ts +0 -69
  314. package/src/schema/property/types/SchemaObject.ts +0 -44
  315. package/src/schema/property/types/SchemaString.ts +0 -69
  316. package/src/schema/table/SchemaComputed.ts +0 -20
  317. package/src/schema/table/SchemaFunction.ts +0 -15
  318. package/src/utilities/arrays.test.ts +0 -312
  319. package/src/utilities/arrays.ts +0 -12
  320. package/src/utilities/dates.test.ts +0 -388
  321. package/src/utilities/dates.ts +0 -11
  322. package/src/utilities/dbPluginEventUtils.ts +0 -44
  323. package/src/utilities/objects.ts +0 -7
  324. package/src/utilities/queryOptionsCollection.ts +0 -16
  325. package/src/utilities/replication.ts +0 -23
  326. package/src/utilities/runtime.ts +0 -3
  327. package/src/utilities/strings.ts +0 -18
  328. package/src/utilities/types.ts +0 -1
  329. package/src/utilities/uuid.ts +0 -56
  330. package/tsconfig.json +0 -28
  331. 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
- });