@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,21 +0,0 @@
1
- import { CodeBuilder, SlotBlock } from '../../blocks';
2
- import { PropertyInfoHandler } from "../types";
3
- import { PropertyInfo, SchemaTypes } from "../../../schema";
4
-
5
- export class EnrichmentPrimitiveIdentityHandler extends PropertyInfoHandler {
6
-
7
- override handle(property: PropertyInfo<any>, builder: CodeBuilder): CodeBuilder | null {
8
-
9
- if (property.isIdentity === true && property.type != SchemaTypes.Object) {
10
- const selectorPath = property.getSelectrorPath({ parent: "entity", assignmentType: "FORCE_NULLABLE_OR_OPTIONAL" });
11
- const slot = builder.get<SlotBlock>("factory.function.ifs");
12
- const entitySelectorPath = property.getAssignmentPath({ parent: "entity" });
13
- const enrichedAssignmentPath = property.getAssignmentPath({ parent: "enriched" });
14
-
15
- slot.if(`${selectorPath} != null`).appendBody(`${enrichedAssignmentPath} = ${entitySelectorPath}`);
16
- return builder;
17
- }
18
-
19
- return super.handle(property, builder);
20
- }
21
- }
@@ -1,20 +0,0 @@
1
- import { CodeBuilder, SlotBlock } from '../../blocks';
2
- import { PropertyInfoHandler } from "../types";
3
- import { PropertyInfo, SchemaTypes } from "../../../schema";
4
-
5
- export class FreezeObjectHandler extends PropertyInfoHandler {
6
-
7
- override handle(property: PropertyInfo<any>, builder: CodeBuilder): CodeBuilder | null {
8
-
9
- if (property.type === SchemaTypes.Object) {
10
- const assignmentSlot = builder.get<SlotBlock>("assignment");
11
- const childSelectorPath = property.getSelectrorPath({ parent: "entity" });
12
- const childAssignmentPath = property.getAssignmentPath({ parent: "entity" });
13
-
14
- assignmentSlot.if(`${childSelectorPath} != null`).unshiftBody(`${childAssignmentPath} = Object.freeze(${childAssignmentPath});`);
15
- return builder;
16
- }
17
-
18
- return super.handle(property, builder);
19
- }
20
- }
@@ -1,15 +0,0 @@
1
- import { CodeBuilder } from '../../blocks';
2
- import { PropertyInfoHandler } from "../types";
3
- import { PropertyInfo, SchemaTypes } from "../../../schema";
4
-
5
- export class FreezePrimitiveValueHandler extends PropertyInfoHandler {
6
-
7
- override handle(property: PropertyInfo<any>, builder: CodeBuilder): CodeBuilder | null {
8
-
9
- if (property.type !== SchemaTypes.Object) {
10
- return builder;
11
- }
12
-
13
- return super.handle(property, builder);
14
- }
15
- }
@@ -1,15 +0,0 @@
1
- import { CodeBuilder } from '../../blocks';
2
- import { PropertyInfoHandler } from "../types";
3
- import { PropertyInfo, SchemaTypes } from "../../../schema";
4
-
5
- export class HashComputedValueHandler extends PropertyInfoHandler {
6
-
7
- override handle(property: PropertyInfo<any>, builder: CodeBuilder): CodeBuilder | null {
8
-
9
- if (property.functionBody != null && property.type === SchemaTypes.Computed && property.isUnmapped === true) {
10
- return builder;
11
- }
12
-
13
- return super.handle(property, builder);
14
- }
15
- }
@@ -1,26 +0,0 @@
1
- import { CodeBuilder, SlotBlock, StringBuilder } from '../../blocks';
2
- import { PropertyInfoHandler } from "../types";
3
- import { PropertyInfo, SchemaTypes } from "../../../schema";
4
-
5
- export class HashDateHandler extends PropertyInfoHandler {
6
-
7
- override handle(property: PropertyInfo<any>, builder: CodeBuilder): CodeBuilder | null {
8
-
9
- if (property.type === SchemaTypes.Date) {
10
- let stringBuilder = builder.getOrDefault<StringBuilder>("hash-object-return.variable.string");
11
- const entitySelectorPath = property.getSelectrorPath({ parent: "entity" });
12
-
13
- if (stringBuilder == null) {
14
- stringBuilder = builder.get<SlotBlock>("hash-object-return")
15
- .assign("const result", { name: "variable" })
16
- .string("template", { name: "string" });
17
- }
18
-
19
- stringBuilder.append("${stringifyDate(" + entitySelectorPath + ")}")
20
-
21
- return builder;
22
- }
23
-
24
- return super.handle(property, builder);
25
- }
26
- }
@@ -1,16 +0,0 @@
1
- import { CodeBuilder } from '../../blocks';
2
- import { PropertyInfoHandler } from "../types";
3
- import { PropertyInfo, SchemaTypes } from "../../../schema";
4
-
5
- export class HashFunctionHandler extends PropertyInfoHandler {
6
-
7
- override handle(property: PropertyInfo<any>, builder: CodeBuilder): CodeBuilder | null {
8
-
9
- if (property.functionBody != null && property.type === SchemaTypes.Function) {
10
- // Functions are always unmapped
11
- return builder;
12
- }
13
-
14
- return super.handle(property, builder);
15
- }
16
- }
@@ -1,15 +0,0 @@
1
- import { CodeBuilder } from '../../blocks';
2
- import { PropertyInfoHandler } from "../types";
3
- import { PropertyInfo } from "../../../schema";
4
-
5
- export class HashIdentityHandler extends PropertyInfoHandler {
6
-
7
- override handle(property: PropertyInfo<any>, builder: CodeBuilder): CodeBuilder | null {
8
-
9
- if (property.isIdentity === true) {
10
- return builder;
11
- }
12
-
13
- return super.handle(property, builder);
14
- }
15
- }
@@ -1,26 +0,0 @@
1
- import { CodeBuilder, SlotBlock, StringBuilder } from '../../blocks';
2
- import { PropertyInfoHandler } from "../types";
3
- import { PropertyInfo } from "../../../schema";
4
-
5
- export class HashKeyHandler extends PropertyInfoHandler {
6
-
7
- override handle(property: PropertyInfo<any>, builder: CodeBuilder): CodeBuilder | null {
8
-
9
- if (property.isKey === true) {
10
- let stringBuilder = builder.getOrDefault<StringBuilder>("hash-id-if.if-body.variable.string");
11
- const entitySelectorPath = property.getSelectrorPath({ parent: "entity" });
12
-
13
- if (stringBuilder == null) {
14
- stringBuilder = builder.get<SlotBlock>("hash-id-if.if-body")
15
- .assign("const result", { name: "variable" })
16
- .string("template", { name: "string" });
17
- }
18
-
19
- stringBuilder.append("${" + entitySelectorPath + "}")
20
-
21
- return builder;
22
- }
23
-
24
- return super.handle(property, builder);
25
- }
26
- }
@@ -1,26 +0,0 @@
1
- import { CodeBuilder, SlotBlock, StringBuilder } from '../../blocks';
2
- import { PropertyInfoHandler } from "../types";
3
- import { PropertyInfo, SchemaTypes } from "../../../schema";
4
-
5
- export class HashValueHandler extends PropertyInfoHandler {
6
-
7
- override handle(property: PropertyInfo<any>, builder: CodeBuilder): CodeBuilder | null {
8
-
9
- if (property.type !== SchemaTypes.Object) {
10
- let stringBuilder = builder.getOrDefault<StringBuilder>("hash-object-return.variable.string");
11
- const entitySelectorPath = property.getSelectrorPath({ parent: "entity" });
12
-
13
- if (stringBuilder == null) {
14
- stringBuilder = builder.get<SlotBlock>("hash-object-return")
15
- .assign("const result", { name: "variable" })
16
- .string("template", { name: "string" });
17
- }
18
-
19
- stringBuilder.append("${" + entitySelectorPath + "}")
20
-
21
- return builder;
22
- }
23
-
24
- return super.handle(property, builder);
25
- }
26
- }
@@ -1,20 +0,0 @@
1
- import { CodeBuilder, SlotBlock } from '../../blocks';
2
- import { PropertyInfoHandler } from "../types";
3
- import { PropertyInfo } from "../../../schema";
4
-
5
- export class HashTypeValueHandler extends PropertyInfoHandler {
6
-
7
- override handle(property: PropertyInfo<any>, builder: CodeBuilder): CodeBuilder | null {
8
-
9
- if (property.isKey && property.isIdentity) {
10
- const slot = builder.get<SlotBlock>("ifs");
11
- const entitySelectorPath = property.getSelectrorPath({ parent: "entity" });
12
-
13
- slot.if(`${entitySelectorPath} == null`).appendBody(`return "Object"`);
14
-
15
- return builder;
16
- }
17
-
18
- return super.handle(property, builder);
19
- }
20
- }
@@ -1,28 +0,0 @@
1
- import { ArrayBuilder, CodeBuilder, SlotBlock } from '../../blocks';
2
- import { PropertyInfoHandler } from "../types";
3
- import { PropertyInfo } from "../../../schema";
4
-
5
- export class IdSelectorValueHandler extends PropertyInfoHandler {
6
-
7
- override handle(property: PropertyInfo<any>, builder: CodeBuilder): CodeBuilder | null {
8
-
9
- if (property.isKey) {
10
- let arrayBuilder = builder.getOrDefault<ArrayBuilder>("result.variable.array");
11
- const entitySelectorPath = property.getAssignmentPath({ parent: "entity" });
12
-
13
- if (arrayBuilder == null) {
14
- arrayBuilder = builder.get<SlotBlock>("result")
15
- .variable("result", { name: "variable" })
16
- .array(`${entitySelectorPath}`, { name: "array" });
17
-
18
- return builder;
19
- }
20
-
21
-
22
- arrayBuilder.append(`${entitySelectorPath}`);
23
- return builder;
24
- }
25
-
26
- return super.handle(property, builder);
27
- }
28
- }
@@ -1,37 +0,0 @@
1
- import { CodeBuilder, FunctionFactoryBuilder, SlotBlock } from '../../blocks';
2
- import { PropertyInfoHandler } from "../types";
3
- import { PropertyInfo, SchemaTypes } from "../../../schema";
4
-
5
- export class MergeComputedValueHandler extends PropertyInfoHandler {
6
-
7
- override handle(property: PropertyInfo<any>, builder: CodeBuilder): CodeBuilder | null {
8
-
9
- if (property.functionBody != null && property.type === SchemaTypes.Computed) {
10
- const parameterNames: string[] = ["source", "collectionName"];
11
-
12
- if (property.injected != null) {
13
-
14
- const factory = builder.get<FunctionFactoryBuilder>("factory");
15
- const parameter = factory.createParameter(property.injected);
16
- factory.parameters(parameter);
17
-
18
- parameterNames.push(parameter.name);
19
- }
20
-
21
- const declarationsSlot = builder.get<SlotBlock>("factory.function.header");
22
- const defaultFunctionWithParameters = this.toNamedFunction(property.functionBody.toString(), declarationsSlot);
23
-
24
- defaultFunctionWithParameters.builder.parameters(...parameterNames.map((w, i) => ({ name: defaultFunctionWithParameters.parameters[i], callName: w })));
25
-
26
- const slot = builder.get<SlotBlock>("factory.function.assignments");
27
- const enrichedAssignmentPath = property.getAssignmentPath({ parent: "destination" });
28
-
29
- // We want to recompute the value always in case there are changes
30
- slot.assign(enrichedAssignmentPath).value(defaultFunctionWithParameters.builder.toCallable());
31
-
32
- return builder;
33
- }
34
-
35
- return super.handle(property, builder);
36
- }
37
- }
@@ -1,40 +0,0 @@
1
- import { CodeBuilder, FunctionFactoryBuilder, SlotBlock } from '../../blocks';
2
- import { PropertyInfoHandler } from "../types";
3
- import { PropertyInfo } from "../../../schema";
4
-
5
- export class MergeDefaultFunctionHandler extends PropertyInfoHandler {
6
-
7
- override handle(property: PropertyInfo<any>, builder: CodeBuilder): CodeBuilder | null {
8
-
9
- // we only want this to run if the value for the property is null
10
- // we are changing merge to be more like enrich so we can handle injections
11
- // we may need to change more. Need to move towards factories
12
- if (property.defaultValue != null && typeof property.defaultValue === "function") {
13
- const defaultFunctionParameters: string[] = [];
14
-
15
- if (property.injected != null) {
16
- const factory = builder.get<FunctionFactoryBuilder>("factory");
17
- const parameter = factory.createParameter(property.injected);
18
- factory.parameters(parameter);
19
-
20
- defaultFunctionParameters.push(parameter.name);
21
- }
22
-
23
- const ifsSlot = builder.get<SlotBlock>("factory.function.ifs");
24
- // we only want to run if the destination is null
25
- const selectorPath = property.getSelectrorPath({ parent: "destination" });
26
- const assignmentPath = property.getAssignmentPath({ parent: "destination" });
27
-
28
- const declarationsSlot = builder.get<SlotBlock>("factory.function.header");
29
- const defaultFunctionWithParameters = this.toNamedFunction(property.defaultValue.toString(), declarationsSlot);
30
-
31
- defaultFunctionWithParameters.builder.parameters(...defaultFunctionParameters.map((w, i) => ({ name: defaultFunctionWithParameters.parameters[i], callName: w })));
32
-
33
-
34
- ifsSlot.if(`${selectorPath} == null`).appendBody(`${assignmentPath} = ${defaultFunctionWithParameters.builder.toCallable()}`);
35
- return builder;
36
- }
37
-
38
- return super.handle(property, builder);
39
- }
40
- }
@@ -1,32 +0,0 @@
1
- import { CodeBuilder, FunctionFactoryBuilder, SlotBlock } from '../../blocks';
2
- import { PropertyInfoHandler } from "../types";
3
- import { PropertyInfo } from "../../../schema";
4
-
5
- export class MergeDefaultValueHandler extends PropertyInfoHandler {
6
-
7
- override handle(property: PropertyInfo<any>, builder: CodeBuilder): CodeBuilder | null {
8
-
9
- if (property.defaultValue != null && typeof property.defaultValue !== "function") {
10
- const defaultFunctionParameters: string[] = [];
11
-
12
- if (property.injected != null) {
13
- const factory = builder.get<FunctionFactoryBuilder>("factory");
14
- const parameter = factory.createParameter(property.injected);
15
- factory.parameters(parameter);
16
-
17
- defaultFunctionParameters.push(parameter.name);
18
- }
19
-
20
- const ifsSlot = builder.get<SlotBlock>("factory.function.ifs");
21
- // we only want to run if the destination is null
22
- const selectorPath = property.getSelectrorPath({ parent: "destination" });
23
- const assignmentPath = property.getAssignmentPath({ parent: "destination" });
24
-
25
- ifsSlot.if(`${selectorPath} == null`).appendBody(`${assignmentPath} = ${typeof property.defaultValue === "string" ? `"${property.defaultValue}"` : property.defaultValue}`);
26
-
27
- return builder;
28
- }
29
-
30
- return super.handle(property, builder);
31
- }
32
- }
@@ -1,16 +0,0 @@
1
- import { CodeBuilder } from '../../blocks';
2
- import { PropertyInfoHandler } from "../types";
3
- import { PropertyInfo, SchemaTypes } from "../../../schema";
4
-
5
- export class MergeFunctionHandler extends PropertyInfoHandler {
6
-
7
- override handle(property: PropertyInfo<any>, builder: CodeBuilder): CodeBuilder | null {
8
-
9
- if (property.functionBody != null && property.type === SchemaTypes.Function) {
10
-
11
- return builder;
12
- }
13
-
14
- return super.handle(property, builder);
15
- }
16
- }
@@ -1,21 +0,0 @@
1
- import { CodeBuilder, SlotBlock } from '../../blocks';
2
- import { PropertyInfoHandler } from "../types";
3
- import { PropertyInfo, SchemaTypes } from "../../../schema";
4
-
5
- export class MergePrimitiveHandler extends PropertyInfoHandler {
6
-
7
- override handle(property: PropertyInfo<any>, builder: CodeBuilder): CodeBuilder | null {
8
-
9
- if (property.type != SchemaTypes.Object) {
10
- const selectorPath = property.getSelectrorPath({ parent: "source", assignmentType: "FORCE_NULLABLE_OR_OPTIONAL" });
11
- const slot = builder.get<SlotBlock>("factory.function.assignments");
12
- const entitySelectorPath = property.getAssignmentPath({ parent: "source" });
13
- const enrichedAssignmentPath = property.getAssignmentPath({ parent: "destination" });
14
-
15
- slot.if(`${selectorPath} != null`).appendBody(`${enrichedAssignmentPath} = ${entitySelectorPath}`);
16
- return builder;
17
- }
18
-
19
- return super.handle(property, builder);
20
- }
21
- }
@@ -1,16 +0,0 @@
1
- import { CodeBuilder } from '../../blocks';
2
- import { PropertyInfoHandler } from "../types";
3
- import { PropertyInfo, SchemaTypes } from "../../../schema";
4
-
5
- // Do nothing with the value
6
- export class PrepareComputedValueHandler extends PropertyInfoHandler {
7
-
8
- override handle(property: PropertyInfo<any>, builder: CodeBuilder): CodeBuilder | null {
9
-
10
- if (property.functionBody != null && property.type === SchemaTypes.Computed && property.isUnmapped === true) {
11
- return builder;
12
- }
13
-
14
- return super.handle(property, builder);
15
- }
16
- }
@@ -1,16 +0,0 @@
1
- import { CodeBuilder } from '../../blocks';
2
- import { PropertyInfoHandler } from "../types";
3
- import { PropertyInfo, SchemaTypes } from "../../../schema";
4
-
5
- export class PrepareFunctionHandler extends PropertyInfoHandler {
6
-
7
- override handle(property: PropertyInfo<any>, builder: CodeBuilder): CodeBuilder | null {
8
-
9
- if (property.functionBody != null && property.type === SchemaTypes.Function) {
10
- // Functions are always unmapped
11
- return builder;
12
- }
13
-
14
- return super.handle(property, builder);
15
- }
16
- }
@@ -1,21 +0,0 @@
1
- import { CodeBuilder, SlotBlock } from '../../blocks';
2
- import { PropertyInfoHandler } from "../types";
3
- import { PropertyInfo } from "../../../schema";
4
-
5
- export class PrepareIdentityHandler extends PropertyInfoHandler {
6
-
7
- override handle(property: PropertyInfo<any>, builder: CodeBuilder): CodeBuilder | null {
8
-
9
- if (property.isIdentity === true) {
10
- const selectorPath = property.getSelectrorPath({ parent: "entity", assignmentType: "FORCE_NULLABLE_OR_OPTIONAL" });
11
- const slot = builder.get<SlotBlock>("assignments");
12
- const entitySelectorPath = property.getAssignmentPath({ parent: "entity" });
13
- const enrichedAssignmentPath = property.getAssignmentPath({ parent: "result" });
14
-
15
- slot.if(`${selectorPath} != null`).appendBody(`${enrichedAssignmentPath} = ${entitySelectorPath}`);
16
- return builder;
17
- }
18
-
19
- return super.handle(property, builder);
20
- }
21
- }
@@ -1,21 +0,0 @@
1
- import { CodeBuilder, SlotBlock } from '../../blocks';
2
- import { PropertyInfoHandler } from "../types";
3
- import { PropertyInfo } from "../../../schema";
4
-
5
- export class PrepareKeyHandler extends PropertyInfoHandler {
6
-
7
- override handle(property: PropertyInfo<any>, builder: CodeBuilder): CodeBuilder | null {
8
-
9
- if (property.isKey === true) {
10
- const selectorPath = property.getSelectrorPath({ parent: "entity", assignmentType: "FORCE_NULLABLE_OR_OPTIONAL" });
11
- const slot = builder.get<SlotBlock>("assignments");
12
- const entitySelectorPath = property.getAssignmentPath({ parent: "entity" });
13
- const enrichedAssignmentPath = property.getAssignmentPath({ parent: "result" });
14
-
15
- slot.if(`${selectorPath} != null`).appendBody(`${enrichedAssignmentPath} = ${entitySelectorPath}`);
16
- return builder;
17
- }
18
-
19
- return super.handle(property, builder);
20
- }
21
- }
@@ -1,38 +0,0 @@
1
- import { CodeBuilder, ObjectBuilder, SlotBlock } from '../../blocks';
2
- import { SlotPath } from '../../SlotPath';
3
- import { PropertyInfoHandler } from "../types";
4
- import { PropertyInfo, SchemaTypes } from "../../../schema";
5
-
6
- export class PrepareObjectHandler extends PropertyInfoHandler {
7
-
8
- override handle(property: PropertyInfo<any>, builder: CodeBuilder): CodeBuilder | null {
9
-
10
- if (property.type === SchemaTypes.Object) {
11
- const slotPath = new SlotPath("result", "variable", "object");
12
- let objectBuilder = builder.getOrDefault<ObjectBuilder>(slotPath.get());
13
-
14
- // There is a chance this is the first property we handle,
15
- // if that is the case, the main result variable will not be
16
- // constructed yet
17
- if (objectBuilder == null) {
18
- objectBuilder = builder.get<SlotBlock>("result")
19
- .assign("const result", { name: "variable" })
20
- .object({ name: "object" });
21
- }
22
-
23
- if (property.parent == null) {
24
- objectBuilder.nested(property.name, property.name)
25
-
26
- return builder;
27
- }
28
-
29
- slotPath.push(...property.getParentPathArray());
30
- const nestedObjectBuilder = builder.get<ObjectBuilder>(slotPath.get());
31
- nestedObjectBuilder.nested(property.name, property.name)
32
-
33
- return builder;
34
- }
35
-
36
- return super.handle(property, builder);
37
- }
38
- }
@@ -1,36 +0,0 @@
1
- import { CodeBuilder, ObjectBuilder, SlotBlock } from '../../blocks';
2
- import { SlotPath } from '../../SlotPath';
3
- import { PropertyInfoHandler } from "../types";
4
- import { PropertyInfo, SchemaTypes } from "../../../schema";
5
-
6
- export class PrepareValueHandler extends PropertyInfoHandler {
7
-
8
- override handle(property: PropertyInfo<any>, builder: CodeBuilder): CodeBuilder | null {
9
-
10
- if (property.type != SchemaTypes.Object) {
11
- let objectBuilder = builder.getOrDefault<ObjectBuilder>("result.variable.object");
12
- const entitySelectorPath = property.getAssignmentPath({ parent: "entity" });
13
-
14
- if (objectBuilder == null) {
15
- objectBuilder = builder.get<SlotBlock>("result")
16
- .assign("const result", { name: "variable" })
17
- .object({ name: "object" });
18
- }
19
-
20
- // Remap the property to the name in the database if from is set
21
- const name = property.from != null ? property.from : property.name;
22
-
23
- if (property.parent == null) {
24
- objectBuilder.property(`${name}: ${entitySelectorPath}`);
25
- return builder;
26
- }
27
-
28
- const slotPath = new SlotPath(...property.getParentPathArray());
29
- objectBuilder = objectBuilder.get<ObjectBuilder>(slotPath.get());
30
- objectBuilder.property(`${name}: ${entitySelectorPath}`);
31
- return builder;
32
- }
33
-
34
- return super.handle(property, builder);
35
- }
36
- }
@@ -1,45 +0,0 @@
1
- import { CodeBuilder, ContainerBlock, ObjectBuilder } from '../../blocks';
2
- import { SlotPath } from '../../SlotPath';
3
- import { PropertyInfoHandler } from "../types";
4
- import { PropertyInfo, SchemaTypes } from "../../../schema";
5
-
6
- /**
7
- * Handles converting a Date value from JavaScript to a string value
8
- */
9
- export class SerializeDateHandler extends PropertyInfoHandler {
10
-
11
- override handle(property: PropertyInfo<any>, builder: CodeBuilder): CodeBuilder | null {
12
-
13
- if (property.type === SchemaTypes.Date) {
14
- const slotPath = new SlotPath("result.variable.object");
15
- let objectBuilder = builder.get<ObjectBuilder>(slotPath.get());
16
- const entitySelectorPath = property.getSelectrorPath({ parent: "entity" });
17
- const entityAssignmentPath = property.getAssignmentPath({ parent: "result" });
18
- const assignment = `${property.name}: ${entitySelectorPath} instanceof Date ? ${entitySelectorPath}.toISOString() : ${entitySelectorPath}`;
19
-
20
- // if it is nullable or optional, assign in an if block, otherwise we
21
- // could unintentionally assign null/undefined to a property that does not exist
22
- if (property.isOptional || property.isNullable) {
23
- const ifAssignment = `${entityAssignmentPath} = ${entitySelectorPath} instanceof Date ? ${entitySelectorPath}.toISOString() : ${entitySelectorPath}`;
24
- const rootPath = new SlotPath("if");
25
- builder.get<ContainerBlock>(rootPath.get()).if(`${entitySelectorPath} != null`).appendBody(ifAssignment);
26
- return;
27
- }
28
-
29
- // A date cannot be a nested object, just do the assignment
30
- if (property.parent == null) {
31
- objectBuilder.property(assignment);
32
-
33
- return builder;
34
- }
35
-
36
- slotPath.push(...property.getParentPathArray());
37
- const nestedObjectBuilder = builder.get<ObjectBuilder>(slotPath.get());
38
- nestedObjectBuilder.property(assignment)
39
-
40
- return builder;
41
- }
42
-
43
- return super.handle(property, builder);
44
- }
45
- }
@@ -1,28 +0,0 @@
1
- import { CodeBuilder, ObjectBuilder } from '../../blocks';
2
- import { SlotPath } from '../../SlotPath';
3
- import { PropertyInfoHandler } from "../types";
4
- import { PropertyInfo, SchemaTypes } from "../../../schema";
5
- export class SerializeObjectHandler extends PropertyInfoHandler {
6
-
7
- override handle(property: PropertyInfo<any>, builder: CodeBuilder): CodeBuilder | null {
8
-
9
- if (property.type === SchemaTypes.Object) {
10
- const slotPath = new SlotPath("result.variable.object");
11
- let objectBuilder = builder.get<ObjectBuilder>(slotPath.get());
12
-
13
- if (property.parent == null) {
14
- objectBuilder.nested(property.name, property.name)
15
-
16
- return builder;
17
- }
18
-
19
- slotPath.push(...property.getParentPathArray());
20
- const nestedObjectBuilder = builder.get<ObjectBuilder>(slotPath.get());
21
- nestedObjectBuilder.nested(property.name, property.name)
22
-
23
- return builder;
24
- }
25
-
26
- return super.handle(property, builder);
27
- }
28
- }