@proseql/core 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (342) hide show
  1. package/LICENSE +21 -0
  2. package/dist/errors/crud-errors.d.ts +98 -0
  3. package/dist/errors/crud-errors.d.ts.map +1 -0
  4. package/dist/errors/crud-errors.js +23 -0
  5. package/dist/errors/crud-errors.js.map +1 -0
  6. package/dist/errors/index.d.ts +16 -0
  7. package/dist/errors/index.d.ts.map +1 -0
  8. package/dist/errors/index.js +12 -0
  9. package/dist/errors/index.js.map +1 -0
  10. package/dist/errors/migration-errors.d.ts +22 -0
  11. package/dist/errors/migration-errors.d.ts.map +1 -0
  12. package/dist/errors/migration-errors.js +14 -0
  13. package/dist/errors/migration-errors.js.map +1 -0
  14. package/dist/errors/plugin-errors.d.ts +15 -0
  15. package/dist/errors/plugin-errors.d.ts.map +1 -0
  16. package/dist/errors/plugin-errors.js +11 -0
  17. package/dist/errors/plugin-errors.js.map +1 -0
  18. package/dist/errors/query-errors.d.ts +31 -0
  19. package/dist/errors/query-errors.d.ts.map +1 -0
  20. package/dist/errors/query-errors.js +11 -0
  21. package/dist/errors/query-errors.js.map +1 -0
  22. package/dist/errors/storage-errors.d.ts +30 -0
  23. package/dist/errors/storage-errors.d.ts.map +1 -0
  24. package/dist/errors/storage-errors.js +11 -0
  25. package/dist/errors/storage-errors.js.map +1 -0
  26. package/dist/factories/crud-factory-with-relationships.d.ts +28 -0
  27. package/dist/factories/crud-factory-with-relationships.d.ts.map +1 -0
  28. package/dist/factories/crud-factory-with-relationships.js +8 -0
  29. package/dist/factories/crud-factory-with-relationships.js.map +1 -0
  30. package/dist/factories/crud-factory.d.ts +25 -0
  31. package/dist/factories/crud-factory.d.ts.map +1 -0
  32. package/dist/factories/crud-factory.js +8 -0
  33. package/dist/factories/crud-factory.js.map +1 -0
  34. package/dist/factories/database-effect.d.ts +241 -0
  35. package/dist/factories/database-effect.d.ts.map +1 -0
  36. package/dist/factories/database-effect.js +859 -0
  37. package/dist/factories/database-effect.js.map +1 -0
  38. package/dist/hooks/hook-runner.d.ts +60 -0
  39. package/dist/hooks/hook-runner.d.ts.map +1 -0
  40. package/dist/hooks/hook-runner.js +107 -0
  41. package/dist/hooks/hook-runner.js.map +1 -0
  42. package/dist/index.d.ts +84 -0
  43. package/dist/index.d.ts.map +1 -0
  44. package/dist/index.js +110 -0
  45. package/dist/index.js.map +1 -0
  46. package/dist/indexes/index-lookup.d.ts +33 -0
  47. package/dist/indexes/index-lookup.d.ts.map +1 -0
  48. package/dist/indexes/index-lookup.js +180 -0
  49. package/dist/indexes/index-lookup.js.map +1 -0
  50. package/dist/indexes/index-manager.d.ts +118 -0
  51. package/dist/indexes/index-manager.d.ts.map +1 -0
  52. package/dist/indexes/index-manager.js +345 -0
  53. package/dist/indexes/index-manager.js.map +1 -0
  54. package/dist/indexes/search-index.d.ts +179 -0
  55. package/dist/indexes/search-index.d.ts.map +1 -0
  56. package/dist/indexes/search-index.js +405 -0
  57. package/dist/indexes/search-index.js.map +1 -0
  58. package/dist/migrations/migration-runner.d.ts +70 -0
  59. package/dist/migrations/migration-runner.d.ts.map +1 -0
  60. package/dist/migrations/migration-runner.js +271 -0
  61. package/dist/migrations/migration-runner.js.map +1 -0
  62. package/dist/migrations/migration-types.d.ts +63 -0
  63. package/dist/migrations/migration-types.d.ts.map +1 -0
  64. package/dist/migrations/migration-types.js +5 -0
  65. package/dist/migrations/migration-types.js.map +1 -0
  66. package/dist/operations/crud/create-with-relationships.d.ts +44 -0
  67. package/dist/operations/crud/create-with-relationships.d.ts.map +1 -0
  68. package/dist/operations/crud/create-with-relationships.js +483 -0
  69. package/dist/operations/crud/create-with-relationships.js.map +1 -0
  70. package/dist/operations/crud/create.d.ts +48 -0
  71. package/dist/operations/crud/create.d.ts.map +1 -0
  72. package/dist/operations/crud/create.js +333 -0
  73. package/dist/operations/crud/create.js.map +1 -0
  74. package/dist/operations/crud/delete-with-relationships.d.ts +63 -0
  75. package/dist/operations/crud/delete-with-relationships.d.ts.map +1 -0
  76. package/dist/operations/crud/delete-with-relationships.js +395 -0
  77. package/dist/operations/crud/delete-with-relationships.js.map +1 -0
  78. package/dist/operations/crud/delete.d.ts +58 -0
  79. package/dist/operations/crud/delete.d.ts.map +1 -0
  80. package/dist/operations/crud/delete.js +267 -0
  81. package/dist/operations/crud/delete.js.map +1 -0
  82. package/dist/operations/crud/unique-check.d.ts +114 -0
  83. package/dist/operations/crud/unique-check.d.ts.map +1 -0
  84. package/dist/operations/crud/unique-check.js +383 -0
  85. package/dist/operations/crud/unique-check.js.map +1 -0
  86. package/dist/operations/crud/update-with-relationships.d.ts +45 -0
  87. package/dist/operations/crud/update-with-relationships.d.ts.map +1 -0
  88. package/dist/operations/crud/update-with-relationships.js +516 -0
  89. package/dist/operations/crud/update-with-relationships.js.map +1 -0
  90. package/dist/operations/crud/update.d.ts +91 -0
  91. package/dist/operations/crud/update.d.ts.map +1 -0
  92. package/dist/operations/crud/update.js +505 -0
  93. package/dist/operations/crud/update.js.map +1 -0
  94. package/dist/operations/crud/upsert.d.ts +52 -0
  95. package/dist/operations/crud/upsert.d.ts.map +1 -0
  96. package/dist/operations/crud/upsert.js +386 -0
  97. package/dist/operations/crud/upsert.js.map +1 -0
  98. package/dist/operations/query/aggregate.d.ts +30 -0
  99. package/dist/operations/query/aggregate.d.ts.map +1 -0
  100. package/dist/operations/query/aggregate.js +227 -0
  101. package/dist/operations/query/aggregate.js.map +1 -0
  102. package/dist/operations/query/cursor-stream.d.ts +18 -0
  103. package/dist/operations/query/cursor-stream.d.ts.map +1 -0
  104. package/dist/operations/query/cursor-stream.js +199 -0
  105. package/dist/operations/query/cursor-stream.js.map +1 -0
  106. package/dist/operations/query/filter-stream.d.ts +12 -0
  107. package/dist/operations/query/filter-stream.d.ts.map +1 -0
  108. package/dist/operations/query/filter-stream.js +167 -0
  109. package/dist/operations/query/filter-stream.js.map +1 -0
  110. package/dist/operations/query/filter.d.ts +13 -0
  111. package/dist/operations/query/filter.d.ts.map +1 -0
  112. package/dist/operations/query/filter.js +267 -0
  113. package/dist/operations/query/filter.js.map +1 -0
  114. package/dist/operations/query/paginate-stream.d.ts +11 -0
  115. package/dist/operations/query/paginate-stream.d.ts.map +1 -0
  116. package/dist/operations/query/paginate-stream.js +22 -0
  117. package/dist/operations/query/paginate-stream.js.map +1 -0
  118. package/dist/operations/query/query-helpers.d.ts +14 -0
  119. package/dist/operations/query/query-helpers.d.ts.map +1 -0
  120. package/dist/operations/query/query-helpers.js +22 -0
  121. package/dist/operations/query/query-helpers.js.map +1 -0
  122. package/dist/operations/query/resolve-computed.d.ts +142 -0
  123. package/dist/operations/query/resolve-computed.d.ts.map +1 -0
  124. package/dist/operations/query/resolve-computed.js +197 -0
  125. package/dist/operations/query/resolve-computed.js.map +1 -0
  126. package/dist/operations/query/search.d.ts +110 -0
  127. package/dist/operations/query/search.d.ts.map +1 -0
  128. package/dist/operations/query/search.js +188 -0
  129. package/dist/operations/query/search.js.map +1 -0
  130. package/dist/operations/query/select-stream.d.ts +27 -0
  131. package/dist/operations/query/select-stream.d.ts.map +1 -0
  132. package/dist/operations/query/select-stream.js +88 -0
  133. package/dist/operations/query/select-stream.js.map +1 -0
  134. package/dist/operations/query/select.d.ts +54 -0
  135. package/dist/operations/query/select.d.ts.map +1 -0
  136. package/dist/operations/query/select.js +159 -0
  137. package/dist/operations/query/select.js.map +1 -0
  138. package/dist/operations/query/sort-stream.d.ts +46 -0
  139. package/dist/operations/query/sort-stream.d.ts.map +1 -0
  140. package/dist/operations/query/sort-stream.js +158 -0
  141. package/dist/operations/query/sort-stream.js.map +1 -0
  142. package/dist/operations/query/sort.d.ts +9 -0
  143. package/dist/operations/query/sort.d.ts.map +1 -0
  144. package/dist/operations/query/sort.js +58 -0
  145. package/dist/operations/query/sort.js.map +1 -0
  146. package/dist/operations/relationships/populate-stream.d.ts +29 -0
  147. package/dist/operations/relationships/populate-stream.d.ts.map +1 -0
  148. package/dist/operations/relationships/populate-stream.js +159 -0
  149. package/dist/operations/relationships/populate-stream.js.map +1 -0
  150. package/dist/operations/relationships/populate.d.ts +15 -0
  151. package/dist/operations/relationships/populate.d.ts.map +1 -0
  152. package/dist/operations/relationships/populate.js +228 -0
  153. package/dist/operations/relationships/populate.js.map +1 -0
  154. package/dist/plugins/plugin-hooks.d.ts +25 -0
  155. package/dist/plugins/plugin-hooks.d.ts.map +1 -0
  156. package/dist/plugins/plugin-hooks.js +64 -0
  157. package/dist/plugins/plugin-hooks.js.map +1 -0
  158. package/dist/plugins/plugin-registry.d.ts +26 -0
  159. package/dist/plugins/plugin-registry.d.ts.map +1 -0
  160. package/dist/plugins/plugin-registry.js +150 -0
  161. package/dist/plugins/plugin-registry.js.map +1 -0
  162. package/dist/plugins/plugin-types.d.ts +95 -0
  163. package/dist/plugins/plugin-types.d.ts.map +1 -0
  164. package/dist/plugins/plugin-types.js +6 -0
  165. package/dist/plugins/plugin-types.js.map +1 -0
  166. package/dist/plugins/plugin-validation.d.ts +49 -0
  167. package/dist/plugins/plugin-validation.d.ts.map +1 -0
  168. package/dist/plugins/plugin-validation.js +295 -0
  169. package/dist/plugins/plugin-validation.js.map +1 -0
  170. package/dist/reactive/change-event.d.ts +44 -0
  171. package/dist/reactive/change-event.d.ts.map +1 -0
  172. package/dist/reactive/change-event.js +49 -0
  173. package/dist/reactive/change-event.js.map +1 -0
  174. package/dist/reactive/change-pubsub.d.ts +32 -0
  175. package/dist/reactive/change-pubsub.d.ts.map +1 -0
  176. package/dist/reactive/change-pubsub.js +31 -0
  177. package/dist/reactive/change-pubsub.js.map +1 -0
  178. package/dist/reactive/evaluate-query.d.ts +62 -0
  179. package/dist/reactive/evaluate-query.d.ts.map +1 -0
  180. package/dist/reactive/evaluate-query.js +57 -0
  181. package/dist/reactive/evaluate-query.js.map +1 -0
  182. package/dist/reactive/watch-by-id.d.ts +53 -0
  183. package/dist/reactive/watch-by-id.d.ts.map +1 -0
  184. package/dist/reactive/watch-by-id.js +55 -0
  185. package/dist/reactive/watch-by-id.js.map +1 -0
  186. package/dist/reactive/watch.d.ts +78 -0
  187. package/dist/reactive/watch.d.ts.map +1 -0
  188. package/dist/reactive/watch.js +133 -0
  189. package/dist/reactive/watch.js.map +1 -0
  190. package/dist/serializers/codecs/hjson.d.ts +33 -0
  191. package/dist/serializers/codecs/hjson.d.ts.map +1 -0
  192. package/dist/serializers/codecs/hjson.js +40 -0
  193. package/dist/serializers/codecs/hjson.js.map +1 -0
  194. package/dist/serializers/codecs/json.d.ts +22 -0
  195. package/dist/serializers/codecs/json.d.ts.map +1 -0
  196. package/dist/serializers/codecs/json.js +28 -0
  197. package/dist/serializers/codecs/json.js.map +1 -0
  198. package/dist/serializers/codecs/json5.d.ts +26 -0
  199. package/dist/serializers/codecs/json5.d.ts.map +1 -0
  200. package/dist/serializers/codecs/json5.js +33 -0
  201. package/dist/serializers/codecs/json5.js.map +1 -0
  202. package/dist/serializers/codecs/jsonc.d.ts +29 -0
  203. package/dist/serializers/codecs/jsonc.d.ts.map +1 -0
  204. package/dist/serializers/codecs/jsonc.js +38 -0
  205. package/dist/serializers/codecs/jsonc.js.map +1 -0
  206. package/dist/serializers/codecs/jsonl.d.ts +17 -0
  207. package/dist/serializers/codecs/jsonl.d.ts.map +1 -0
  208. package/dist/serializers/codecs/jsonl.js +31 -0
  209. package/dist/serializers/codecs/jsonl.js.map +1 -0
  210. package/dist/serializers/codecs/prose.d.ts +419 -0
  211. package/dist/serializers/codecs/prose.d.ts.map +1 -0
  212. package/dist/serializers/codecs/prose.js +1060 -0
  213. package/dist/serializers/codecs/prose.js.map +1 -0
  214. package/dist/serializers/codecs/toml.d.ts +23 -0
  215. package/dist/serializers/codecs/toml.d.ts.map +1 -0
  216. package/dist/serializers/codecs/toml.js +66 -0
  217. package/dist/serializers/codecs/toml.js.map +1 -0
  218. package/dist/serializers/codecs/toon.d.ts +20 -0
  219. package/dist/serializers/codecs/toon.d.ts.map +1 -0
  220. package/dist/serializers/codecs/toon.js +33 -0
  221. package/dist/serializers/codecs/toon.js.map +1 -0
  222. package/dist/serializers/codecs/yaml.d.ts +24 -0
  223. package/dist/serializers/codecs/yaml.d.ts.map +1 -0
  224. package/dist/serializers/codecs/yaml.js +31 -0
  225. package/dist/serializers/codecs/yaml.js.map +1 -0
  226. package/dist/serializers/format-codec.d.ts +53 -0
  227. package/dist/serializers/format-codec.d.ts.map +1 -0
  228. package/dist/serializers/format-codec.js +148 -0
  229. package/dist/serializers/format-codec.js.map +1 -0
  230. package/dist/serializers/presets.d.ts +48 -0
  231. package/dist/serializers/presets.d.ts.map +1 -0
  232. package/dist/serializers/presets.js +72 -0
  233. package/dist/serializers/presets.js.map +1 -0
  234. package/dist/serializers/serializer-service.d.ts +11 -0
  235. package/dist/serializers/serializer-service.d.ts.map +1 -0
  236. package/dist/serializers/serializer-service.js +4 -0
  237. package/dist/serializers/serializer-service.js.map +1 -0
  238. package/dist/state/collection-state.d.ts +19 -0
  239. package/dist/state/collection-state.d.ts.map +1 -0
  240. package/dist/state/collection-state.js +15 -0
  241. package/dist/state/collection-state.js.map +1 -0
  242. package/dist/state/state-operations.d.ts +38 -0
  243. package/dist/state/state-operations.d.ts.map +1 -0
  244. package/dist/state/state-operations.js +65 -0
  245. package/dist/state/state-operations.js.map +1 -0
  246. package/dist/storage/in-memory-adapter-layer.d.ts +16 -0
  247. package/dist/storage/in-memory-adapter-layer.d.ts.map +1 -0
  248. package/dist/storage/in-memory-adapter-layer.js +81 -0
  249. package/dist/storage/in-memory-adapter-layer.js.map +1 -0
  250. package/dist/storage/persistence-effect.d.ts +244 -0
  251. package/dist/storage/persistence-effect.d.ts.map +1 -0
  252. package/dist/storage/persistence-effect.js +551 -0
  253. package/dist/storage/persistence-effect.js.map +1 -0
  254. package/dist/storage/storage-service.d.ts +22 -0
  255. package/dist/storage/storage-service.d.ts.map +1 -0
  256. package/dist/storage/storage-service.js +4 -0
  257. package/dist/storage/storage-service.js.map +1 -0
  258. package/dist/storage/transforms.d.ts +183 -0
  259. package/dist/storage/transforms.d.ts.map +1 -0
  260. package/dist/storage/transforms.js +263 -0
  261. package/dist/storage/transforms.js.map +1 -0
  262. package/dist/transactions/transaction.d.ts +87 -0
  263. package/dist/transactions/transaction.d.ts.map +1 -0
  264. package/dist/transactions/transaction.js +240 -0
  265. package/dist/transactions/transaction.js.map +1 -0
  266. package/dist/types/aggregate-types.d.ts +73 -0
  267. package/dist/types/aggregate-types.d.ts.map +1 -0
  268. package/dist/types/aggregate-types.js +14 -0
  269. package/dist/types/aggregate-types.js.map +1 -0
  270. package/dist/types/computed-types.d.ts +71 -0
  271. package/dist/types/computed-types.d.ts.map +1 -0
  272. package/dist/types/computed-types.js +8 -0
  273. package/dist/types/computed-types.js.map +1 -0
  274. package/dist/types/crud-relationship-types.d.ts +180 -0
  275. package/dist/types/crud-relationship-types.d.ts.map +1 -0
  276. package/dist/types/crud-relationship-types.js +17 -0
  277. package/dist/types/crud-relationship-types.js.map +1 -0
  278. package/dist/types/crud-types.d.ts +343 -0
  279. package/dist/types/crud-types.d.ts.map +1 -0
  280. package/dist/types/crud-types.js +43 -0
  281. package/dist/types/crud-types.js.map +1 -0
  282. package/dist/types/cursor-types.d.ts +52 -0
  283. package/dist/types/cursor-types.d.ts.map +1 -0
  284. package/dist/types/cursor-types.js +2 -0
  285. package/dist/types/cursor-types.js.map +1 -0
  286. package/dist/types/database-config-types.d.ts +196 -0
  287. package/dist/types/database-config-types.d.ts.map +1 -0
  288. package/dist/types/database-config-types.js +11 -0
  289. package/dist/types/database-config-types.js.map +1 -0
  290. package/dist/types/hook-types.d.ts +158 -0
  291. package/dist/types/hook-types.d.ts.map +1 -0
  292. package/dist/types/hook-types.js +6 -0
  293. package/dist/types/hook-types.js.map +1 -0
  294. package/dist/types/index-types.d.ts +42 -0
  295. package/dist/types/index-types.d.ts.map +1 -0
  296. package/dist/types/index-types.js +8 -0
  297. package/dist/types/index-types.js.map +1 -0
  298. package/dist/types/operators.d.ts +5 -0
  299. package/dist/types/operators.d.ts.map +1 -0
  300. package/dist/types/operators.js +297 -0
  301. package/dist/types/operators.js.map +1 -0
  302. package/dist/types/query-overloads.d.ts +54 -0
  303. package/dist/types/query-overloads.d.ts.map +1 -0
  304. package/dist/types/query-overloads.js +3 -0
  305. package/dist/types/query-overloads.js.map +1 -0
  306. package/dist/types/reactive-types.d.ts +75 -0
  307. package/dist/types/reactive-types.d.ts.map +1 -0
  308. package/dist/types/reactive-types.js +7 -0
  309. package/dist/types/reactive-types.js.map +1 -0
  310. package/dist/types/schema-types.d.ts +56 -0
  311. package/dist/types/schema-types.d.ts.map +1 -0
  312. package/dist/types/schema-types.js +8 -0
  313. package/dist/types/schema-types.js.map +1 -0
  314. package/dist/types/search-types.d.ts +82 -0
  315. package/dist/types/search-types.d.ts.map +1 -0
  316. package/dist/types/search-types.js +110 -0
  317. package/dist/types/search-types.js.map +1 -0
  318. package/dist/types/types.d.ts +286 -0
  319. package/dist/types/types.d.ts.map +1 -0
  320. package/dist/types/types.js +2 -0
  321. package/dist/types/types.js.map +1 -0
  322. package/dist/utils/id-generator.d.ts +97 -0
  323. package/dist/utils/id-generator.d.ts.map +1 -0
  324. package/dist/utils/id-generator.js +247 -0
  325. package/dist/utils/id-generator.js.map +1 -0
  326. package/dist/utils/nested-path.d.ts +56 -0
  327. package/dist/utils/nested-path.d.ts.map +1 -0
  328. package/dist/utils/nested-path.js +119 -0
  329. package/dist/utils/nested-path.js.map +1 -0
  330. package/dist/utils/path.d.ts +16 -0
  331. package/dist/utils/path.d.ts.map +1 -0
  332. package/dist/utils/path.js +24 -0
  333. package/dist/utils/path.js.map +1 -0
  334. package/dist/validators/foreign-key.d.ts +49 -0
  335. package/dist/validators/foreign-key.d.ts.map +1 -0
  336. package/dist/validators/foreign-key.js +153 -0
  337. package/dist/validators/foreign-key.js.map +1 -0
  338. package/dist/validators/schema-validator.d.ts +19 -0
  339. package/dist/validators/schema-validator.d.ts.map +1 -0
  340. package/dist/validators/schema-validator.js +34 -0
  341. package/dist/validators/schema-validator.js.map +1 -0
  342. package/package.json +57 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prose.js","sourceRoot":"","sources":["../../../src/serializers/codecs/prose.ts"],"names":[],"mappings":"AAiCA,+EAA+E;AAC/E,oBAAoB;AACpB,+EAA+E;AAE/E;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,QAAgB,EAAoB,EAAE;IACrE,MAAM,QAAQ,GAAwB,EAAE,CAAC;IACzC,MAAM,MAAM,GAAkB,EAAE,CAAC;IAEjC,IAAI,GAAG,GAAG,CAAC,CAAC;IACZ,IAAI,YAAY,GAAG,CAAC,CAAC;IACrB,IAAI,mBAAmB,GAAG,KAAK,CAAC;IAEhC,OAAO,GAAG,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC;QAC9B,MAAM,IAAI,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC;QAE3B,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;YAClB,sDAAsD;YACtD,IAAI,GAAG,GAAG,YAAY,EAAE,CAAC;gBACxB,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,CAAC,KAAK,CAAC,YAAY,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;gBAC5E,mBAAmB,GAAG,KAAK,CAAC;YAC7B,CAAC;YAED,sDAAsD;YACtD,IAAI,mBAAmB,EAAE,CAAC;gBACzB,MAAM,IAAI,KAAK,CACd,yDAAyD,GAAG,4CAA4C,CACxG,CAAC;YACH,CAAC;YAED,yBAAyB;YACzB,MAAM,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC;YAChD,IAAI,QAAQ,KAAK,CAAC,CAAC,EAAE,CAAC;gBACrB,MAAM,IAAI,KAAK,CACd,0CAA0C,GAAG,MAAM,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CACzE,CAAC;YACH,CAAC;YAED,yBAAyB;YACzB,MAAM,SAAS,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,EAAE,QAAQ,CAAC,CAAC;YACpD,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC5B,MAAM,IAAI,KAAK,CAAC,4CAA4C,GAAG,EAAE,CAAC,CAAC;YACpE,CAAC;YAED,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC;YAClD,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACvB,mBAAmB,GAAG,IAAI,CAAC;YAE3B,8BAA8B;YAC9B,GAAG,GAAG,QAAQ,GAAG,CAAC,CAAC;YACnB,YAAY,GAAG,GAAG,CAAC;QACpB,CAAC;aAAM,CAAC;YACP,GAAG,EAAE,CAAC;QACP,CAAC;IACF,CAAC;IAED,iCAAiC;IACjC,IAAI,GAAG,GAAG,YAAY,EAAE,CAAC;QACxB,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,CAAC,KAAK,CAAC,YAAY,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;IAC7E,CAAC;IAED,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC;AAC7B,CAAC,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,CACvC,QAA2C,EACT,EAAE;IACpC,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxC,OAAO,EAAE,CAAC;IACX,CAAC;IAED,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,KAAK,EAAE,EAAE;QACvC,IAAI,CAAC;YACJ,OAAO,eAAe,CAAC,QAAQ,CAAC,CAAC;QAClC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;gBAC5B,MAAM,IAAI,KAAK,CACd,uCAAuC,KAAK,KAAK,KAAK,CAAC,OAAO,EAAE,CAChE,CAAC;YACH,CAAC;YACD,MAAM,KAAK,CAAC;QACb,CAAC;IACF,CAAC,CAAC,CAAC;AACJ,CAAC,CAAC;AAEF,+EAA+E;AAC/E,sBAAsB;AACtB,+EAA+E;AAE/E;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,KAAc,EAAU,EAAE;IACxD,4BAA4B;IAC5B,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QAC3C,OAAO,GAAG,CAAC;IACZ,CAAC;IAED,uBAAuB;IACvB,IAAI,OAAO,KAAK,KAAK,SAAS,EAAE,CAAC;QAChC,OAAO,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC;IACjC,CAAC;IAED,gCAAgC;IAChC,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC/B,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;IACtB,CAAC;IAED,kCAAkC;IAClC,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAC1B,MAAM,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE;YACtC,MAAM,UAAU,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC;YAC3C,sEAAsE;YACtE,IACC,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC;gBACxB,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC;gBACxB,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,EACvB,CAAC;gBACF,OAAO,IAAI,UAAU,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC;YAC/C,CAAC;YACD,OAAO,UAAU,CAAC;QACnB,CAAC,CAAC,CAAC;QACH,OAAO,IAAI,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;IACnC,CAAC;IAED,wCAAwC;IACxC,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;AACtB,CAAC,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,IAAY,EAAW,EAAE;IACzD,eAAe;IACf,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;QAClB,OAAO,IAAI,CAAC;IACb,CAAC;IAED,mCAAmC;IACnC,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;QACrB,OAAO,IAAI,CAAC;IACb,CAAC;IACD,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;QACtB,OAAO,KAAK,CAAC;IACd,CAAC;IAED,qCAAqC;IACrC,MAAM,WAAW,GAAG,iBAAiB,CAAC;IACtC,IAAI,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QAC5B,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC;IACrB,CAAC;IAED,qCAAqC;IACrC,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QAChD,iDAAiD;QACjD,oEAAoE;QACpE,wDAAwD;QACxD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAEvC,qBAAqB;QACrB,IAAI,KAAK,KAAK,EAAE,EAAE,CAAC;YAClB,OAAO,EAAE,CAAC;QACX,CAAC;QAED,wEAAwE;QACxE,OAAO,kBAAkB,CAAC,KAAK,CAAC,CAAC;IAClC,CAAC;IAED,mBAAmB;IACnB,OAAO,IAAI,CAAC;AACb,CAAC,CAAC;AAEF,+EAA+E;AAC/E,mBAAmB;AACnB,+EAA+E;AAE/E;;;;;;GAMG;AACH,MAAM,UAAU,GAAG,CAAC,KAAa,EAAU,EAAE;IAC5C,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC;AAC1C,CAAC,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,CAC7B,MAA+B,EAC/B,QAA0B,EACjB,EAAE;IACX,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,MAAM,EAAE,QAAQ,EAAE,GAAG,QAAQ,CAAC;IAE9B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAC1C,MAAM,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;QAE5B,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YAChC,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;QACxB,CAAC;aAAM,CAAC;YACP,sCAAsC;YACtC,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YACnC,MAAM,UAAU,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;YAEzC,kDAAkD;YAClD,MAAM,WAAW,GAAG,eAAe,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;YAEjD,qEAAqE;YACrE,6DAA6D;YAC7D,IAAI,WAAW,KAAK,IAAI,IAAI,UAAU,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;gBAC9D,MAAM,IAAI,UAAU,CAAC,UAAU,CAAC,CAAC;YAClC,CAAC;iBAAM,CAAC;gBACP,MAAM,IAAI,UAAU,CAAC;YACtB,CAAC;QACF,CAAC;IACF,CAAC;IAED,OAAO,MAAM,CAAC;AACf,CAAC,CAAC;AAEF;;;;;;;GAOG;AACH,MAAM,eAAe,GAAG,CACvB,QAAqC,EACrC,YAAoB,EACJ,EAAE;IAClB,KAAK,IAAI,CAAC,GAAG,YAAY,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACzD,IAAI,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YACpC,OAAQ,QAAQ,CAAC,CAAC,CAAyD,CAAC,IAAI,CAAC;QAClF,CAAC;IACF,CAAC;IACD,OAAO,IAAI,CAAC;AACb,CAAC,CAAC;AAEF,+EAA+E;AAC/E,mBAAmB;AACnB,+EAA+E;AAE/E;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,CAC7B,IAAY,EACZ,QAA0B,EACO,EAAE;IACnC,MAAM,EAAE,QAAQ,EAAE,GAAG,QAAQ,CAAC;IAC9B,MAAM,MAAM,GAA4B,EAAE,CAAC;IAC3C,IAAI,GAAG,GAAG,CAAC,CAAC;IAEZ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAC1C,MAAM,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;QAE5B,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YAChC,uDAAuD;YACvD,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,CAAC;gBACzC,OAAO,IAAI,CAAC,CAAC,WAAW;YACzB,CAAC;YACD,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC;QAC5B,CAAC;aAAM,CAAC;YACP,uEAAuE;YACvE,MAAM,eAAe,GAAG,mBAAmB,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;YAEzD,IAAI,UAAkB,CAAC;YAEvB,IAAI,eAAe,KAAK,IAAI,EAAE,CAAC;gBAC9B,yDAAyD;gBACzD,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBAC7B,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC;YACnB,CAAC;iBAAM,CAAC;gBACP,4DAA4D;gBAC5D,MAAM,aAAa,GAAG,iBAAiB,CAAC,IAAI,EAAE,GAAG,EAAE,eAAe,CAAC,CAAC;gBAEpE,IAAI,aAAa,KAAK,IAAI,EAAE,CAAC;oBAC5B,OAAO,IAAI,CAAC,CAAC,gCAAgC;gBAC9C,CAAC;gBAED,UAAU,GAAG,aAAa,CAAC,KAAK,CAAC;gBACjC,GAAG,GAAG,aAAa,CAAC,MAAM,CAAC;YAC5B,CAAC;YAED,uCAAuC;YACvC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,qBAAqB,CAAC,UAAU,CAAC,CAAC;QAC1D,CAAC;IACF,CAAC;IAED,qCAAqC;IACrC,IAAI,GAAG,KAAK,IAAI,CAAC,MAAM,EAAE,CAAC;QACzB,OAAO,IAAI,CAAC;IACb,CAAC;IAED,OAAO,MAAM,CAAC;AACf,CAAC,CAAC;AAEF;;;GAGG;AACH,MAAM,mBAAmB,GAAG,CAC3B,QAAqC,EACrC,YAAoB,EACJ,EAAE;IAClB,KAAK,IAAI,CAAC,GAAG,YAAY,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACzD,IAAI,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YACpC,OAAQ,QAAQ,CAAC,CAAC,CAAyD,CAAC,IAAI,CAAC;QAClF,CAAC;IACF,CAAC;IACD,OAAO,IAAI,CAAC;AACb,CAAC,CAAC;AAEF;;;;;;;;;;;;GAYG;AACH,MAAM,iBAAiB,GAAG,CACzB,IAAY,EACZ,QAAgB,EAChB,SAAiB,EAC0B,EAAE;IAC7C,qCAAqC;IACrC,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,GAAG,EAAE,CAAC;QAC5B,2DAA2D;QAC3D,MAAM,WAAW,GAAG,eAAe,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QACpD,IAAI,WAAW,KAAK,IAAI,EAAE,CAAC;YAC1B,OAAO,IAAI,CAAC,CAAC,iBAAiB;QAC/B,CAAC;QAED,+CAA+C;QAC/C,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;YACrD,OAAO,IAAI,CAAC,CAAC,yCAAyC;QACvD,CAAC;QAED,OAAO;YACN,KAAK,EAAE,WAAW,CAAC,KAAK;YACxB,MAAM,EAAE,WAAW,CAAC,MAAM,EAAE,iDAAiD;SAC7E,CAAC;IACH,CAAC;IAED,6DAA6D;IAC7D,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;IACvD,IAAI,YAAY,KAAK,CAAC,CAAC,EAAE,CAAC;QACzB,OAAO,IAAI,CAAC,CAAC,sBAAsB;IACpC,CAAC;IAED,OAAO;QACN,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,YAAY,CAAC;QACzC,MAAM,EAAE,YAAY,EAAE,4CAA4C;KAClE,CAAC;AACH,CAAC,CAAC;AAEF;;;;;;;GAOG;AACH,MAAM,eAAe,GAAG,CACvB,IAAY,EACZ,QAAgB,EAC2B,EAAE;IAC7C,yBAAyB;IACzB,IAAI,GAAG,GAAG,QAAQ,GAAG,CAAC,CAAC;IACvB,IAAI,KAAK,GAAG,EAAE,CAAC;IAEf,OAAO,GAAG,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QAC1B,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC;QAEvB,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;YACnB,6CAA6C;YAC7C,IAAI,GAAG,GAAG,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;gBAC3B,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;gBAC/B,IAAI,QAAQ,KAAK,GAAG,EAAE,CAAC;oBACtB,yCAAyC;oBACzC,KAAK,IAAI,GAAG,CAAC;oBACb,GAAG,IAAI,CAAC,CAAC;oBACT,SAAS;gBACV,CAAC;YACF,CAAC;YACD,2CAA2C;YAC3C,KAAK,IAAI,IAAI,CAAC;YACd,GAAG,EAAE,CAAC;QACP,CAAC;aAAM,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;YACzB,sBAAsB;YACtB,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,GAAG,CAAC,EAAE,CAAC;QACnC,CAAC;aAAM,CAAC;YACP,KAAK,IAAI,IAAI,CAAC;YACd,GAAG,EAAE,CAAC;QACP,CAAC;IACF,CAAC;IAED,iBAAiB;IACjB,OAAO,IAAI,CAAC;AACb,CAAC,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,qBAAqB,GAAG,CAAC,UAAkB,EAAW,EAAE;IAC7D,OAAO,gBAAgB,CAAC,UAAU,CAAC,CAAC;AACrC,CAAC,CAAC;AAEF,+EAA+E;AAC/E,mBAAmB;AACnB,+EAA+E;AAE/E;;GAEG;AACH,MAAM,eAAe,GAAG,IAAI,CAAC;AAE7B;;GAEG;AACH,MAAM,mBAAmB,GAAG,MAAM,CAAC;AAEnC;;;;;;GAMG;AACH,MAAM,kBAAkB,GAAG,CAC1B,MAA+B,EAC/B,MAA6B,EACb,EAAE;IAClB,KAAK,MAAM,SAAS,IAAI,MAAM,EAAE,CAAC;QAChC,MAAM,KAAK,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC;QAChC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YACvD,OAAO,SAAS,CAAC;QAClB,CAAC;IACF,CAAC;IACD,OAAO,IAAI,CAAC;AACb,CAAC,CAAC;AAEF;;;;;;;;;GASG;AACH,MAAM,uBAAuB,GAAG,CAC/B,MAA+B,EAC/B,QAA0B,EAC1B,cAAsB,EACX,EAAE;IACb,MAAM,KAAK,GAAG,MAAM,CAAC,cAAc,CAAC,CAAC;IACrC,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC/B,2CAA2C;QAC3C,OAAO,CAAC,eAAe,GAAG,cAAc,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC;IAC7D,CAAC;IAED,MAAM,UAAU,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACrC,MAAM,cAAc,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;IAErC,4EAA4E;IAC5E,MAAM,cAAc,GAAG;QACtB,GAAG,MAAM;QACT,CAAC,cAAc,CAAC,EAAE,cAAc;KAChC,CAAC;IAEF,MAAM,KAAK,GAAa,EAAE,CAAC;IAE3B,6DAA6D;IAC7D,KAAK,CAAC,IAAI,CAAC,eAAe,GAAG,cAAc,CAAC,cAAc,EAAE,QAAQ,CAAC,CAAC,CAAC;IAEvE,sCAAsC;IACtC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAC5C,KAAK,CAAC,IAAI,CAAC,mBAAmB,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;IACjD,CAAC;IAED,OAAO,KAAK,CAAC;AACd,CAAC,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAClC,MAA+B,EAC/B,iBAAkD,EAC1B,EAAE;IAC1B,MAAM,KAAK,GAAa,EAAE,CAAC;IAE3B,KAAK,MAAM,QAAQ,IAAI,iBAAiB,EAAE,CAAC;QAC1C,2DAA2D;QAC3D,4EAA4E;QAC5E,MAAM,eAAe,GAAG,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE;YAC1D,MAAM,KAAK,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC;YAChC,OAAO,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,CAAC;QAC9C,CAAC,CAAC,CAAC;QAEH,IAAI,eAAe,EAAE,CAAC;YACrB,oCAAoC;YACpC,MAAM,cAAc,GAAG,kBAAkB,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;YAEnE,IAAI,cAAc,KAAK,IAAI,EAAE,CAAC;gBAC7B,kDAAkD;gBAClD,MAAM,aAAa,GAAG,uBAAuB,CAC5C,MAAM,EACN,QAAQ,EACR,cAAc,CACd,CAAC;gBACF,KAAK,CAAC,IAAI,CAAC,GAAG,aAAa,CAAC,CAAC;YAC9B,CAAC;iBAAM,CAAC;gBACP,qCAAqC;gBACrC,MAAM,YAAY,GAAG,cAAc,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;gBACtD,KAAK,CAAC,IAAI,CAAC,eAAe,GAAG,YAAY,CAAC,CAAC;YAC5C,CAAC;QACF,CAAC;IACF,CAAC;IAED,OAAO,KAAK,CAAC;AACd,CAAC,CAAC;AAgBF;;;;;GAKG;AACH,MAAM,aAAa,GAAG,CAAC,IAAY,EAAU,EAAE;IAC9C,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,KAAK,MAAM,IAAI,IAAI,IAAI,EAAE,CAAC;QACzB,IAAI,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;YACnC,MAAM,EAAE,CAAC;QACV,CAAC;aAAM,CAAC;YACP,MAAM;QACP,CAAC;IACF,CAAC;IACD,OAAO,MAAM,CAAC;AACf,CAAC,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAClC,KAA4B,EAC5B,iBAAkD,EAClD,UAAU,GAAG,CAAC,EACS,EAAE;IACzB,MAAM,MAAM,GAA4B,EAAE,CAAC;IAC3C,IAAI,SAAS,GAAG,CAAC,CAAC;IAClB,IAAI,gBAAgB,GAAkB,IAAI,CAAC;IAE3C,OAAO,SAAS,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;QACjC,MAAM,IAAI,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC;QAC9B,MAAM,MAAM,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;QAEnC,wEAAwE;QACxE,IAAI,MAAM,GAAG,UAAU,EAAE,CAAC;YACzB,+CAA+C;YAC/C,MAAM;QACP,CAAC;QAED,sEAAsE;QACtE,IAAI,MAAM,GAAG,UAAU,IAAI,gBAAgB,KAAK,IAAI,EAAE,CAAC;YACtD,uDAAuD;YACvD,MAAM,aAAa,GAAG,MAAM,CAAC,gBAAgB,CAAC,CAAC;YAC/C,MAAM,mBAAmB,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,+BAA+B;YAE/E,IAAI,OAAO,aAAa,KAAK,QAAQ,EAAE,CAAC;gBACvC,MAAM,CAAC,gBAAgB,CAAC,GAAG,aAAa,GAAG,IAAI,GAAG,mBAAmB,CAAC;YACvE,CAAC;iBAAM,CAAC;gBACP,uDAAuD;gBACvD,MAAM,CAAC,gBAAgB,CAAC,GAAG,MAAM,CAAC,aAAa,CAAC,GAAG,IAAI,GAAG,mBAAmB,CAAC;YAC/E,CAAC;YAED,SAAS,EAAE,CAAC;YACZ,SAAS;QACV,CAAC;QAED,gDAAgD;QAChD,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QAEvC,sCAAsC;QACtC,IAAI,OAAO,GAAG,KAAK,CAAC;QACpB,KAAK,MAAM,QAAQ,IAAI,iBAAiB,EAAE,CAAC;YAC1C,MAAM,OAAO,GAAG,cAAc,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;YAElD,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;gBACtB,8CAA8C;gBAC9C,KAAK,MAAM,CAAC,SAAS,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;oBAC1D,MAAM,CAAC,SAAS,CAAC,GAAG,KAAK,CAAC;oBAE1B,sDAAsD;oBACtD,iEAAiE;oBACjE,gBAAgB,GAAG,SAAS,CAAC;gBAC9B,CAAC;gBAED,OAAO,GAAG,IAAI,CAAC;gBACf,MAAM;YACP,CAAC;QACF,CAAC;QAED,IAAI,CAAC,OAAO,EAAE,CAAC;YACd,uCAAuC;YACvC,yCAAyC;YACzC,iDAAiD;YACjD,8CAA8C;YAC9C,4EAA4E;YAC5E,IAAI,MAAM,GAAG,UAAU,IAAI,gBAAgB,KAAK,IAAI,EAAE,CAAC;gBACtD,+BAA+B;gBAC/B,MAAM,aAAa,GAAG,MAAM,CAAC,gBAAgB,CAAC,CAAC;gBAC/C,MAAM,mBAAmB,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;gBAE/C,IAAI,OAAO,aAAa,KAAK,QAAQ,EAAE,CAAC;oBACvC,MAAM,CAAC,gBAAgB,CAAC,GAAG,aAAa,GAAG,IAAI,GAAG,mBAAmB,CAAC;gBACvE,CAAC;YACF,CAAC;YACD,yDAAyD;QAC1D,CAAC;QAED,SAAS,EAAE,CAAC;IACb,CAAC;IAED,OAAO;QACN,MAAM;QACN,aAAa,EAAE,SAAS;KACxB,CAAC;AACH,CAAC,CAAC;AAgBF;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,KAA4B,EAAuB,EAAE;IAClF,IAAI,cAAc,GAAkB,IAAI,CAAC;IAEzC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACvC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QAEtB,2CAA2C;QAC3C,IAAI,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;YAChC,IAAI,cAAc,KAAK,IAAI,EAAE,CAAC;gBAC7B,4BAA4B;gBAC5B,MAAM,IAAI,KAAK,CACd,mDAAmD,cAAc,GAAG,CAAC,oBAAoB,CAAC,GAAG,CAAC,2CAA2C,CACzI,CAAC;YACH,CAAC;YACD,cAAc,GAAG,CAAC,CAAC;QACpB,CAAC;IACF,CAAC;IAED,IAAI,cAAc,KAAK,IAAI,EAAE,CAAC;QAC7B,MAAM,IAAI,KAAK,CACd,gHAAgH,CAChH,CAAC;IACH,CAAC;IAED,OAAO;QACN,WAAW,EAAE,cAAc,GAAG,CAAC,CAAC,CAAC,CAAC,cAAc,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACzD,cAAc,EAAE,cAAc;KAC9B,CAAC;AACH,CAAC,CAAC;AAkBF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAClC,KAA4B,EAC5B,cAAsB,EACL,EAAE;IACnB,MAAM,aAAa,GAAG,KAAK,CAAC,cAAc,CAAC,CAAC;IAE5C,wDAAwD;IACxD,MAAM,gBAAgB,GAAG,aAAa,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IAE/D,mEAAmE;IACnE,MAAM,iBAAiB,GAAa,EAAE,CAAC;IACvC,IAAI,SAAS,GAAG,cAAc,GAAG,CAAC,CAAC;IAEnC,OAAO,SAAS,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;QACjC,MAAM,IAAI,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC;QAE9B,qDAAqD;QACrD,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC;YAC9D,0DAA0D;YAC1D,MAAM,eAAe,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;YACzC,iBAAiB,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;YACxC,SAAS,EAAE,CAAC;QACb,CAAC;aAAM,CAAC;YACP,sDAAsD;YACtD,MAAM;QACP,CAAC;IACF,CAAC;IAED,OAAO;QACN,gBAAgB;QAChB,iBAAiB;QACjB,SAAS,EAAE,SAAS;KACpB,CAAC;AACH,CAAC,CAAC;AAkCF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,CACxB,KAA4B,EAC5B,SAAiB,EACjB,gBAAkC,EAChB,EAAE;IACpB,MAAM,OAAO,GAAiB,EAAE,CAAC;IACjC,IAAI,SAAS,GAAG,SAAS,CAAC;IAC1B,IAAI,kBAAkB,GAAa,EAAE,CAAC;IAEtC,+DAA+D;IAC/D,MAAM,gBAAgB,GAAG,GAAS,EAAE;QACnC,IAAI,kBAAkB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACnC,OAAO,CAAC,IAAI,CAAC;gBACZ,IAAI,EAAE,aAAa;gBACnB,KAAK,EAAE,CAAC,GAAG,kBAAkB,CAAC;aAC9B,CAAC,CAAC;YACH,kBAAkB,GAAG,EAAE,CAAC;QACzB,CAAC;IACF,CAAC,CAAC;IAEF,OAAO,SAAS,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;QACjC,MAAM,IAAI,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC;QAE9B,0DAA0D;QAC1D,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC;YAC9D,4DAA4D;YAC5D,4EAA4E;YAC5E,qDAAqD;YACrD,MAAM,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YAC9C,IAAI,SAAS,IAAI,SAAS,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBAC9C,kEAAkE;gBACjE,SAAS,CAAC,aAA0B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAClD,CAAC;iBAAM,CAAC;gBACP,iDAAiD;gBACjD,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC/B,CAAC;YACD,SAAS,EAAE,CAAC;YACZ,SAAS;QACV,CAAC;QAED,4DAA4D;QAC5D,MAAM,OAAO,GAAG,cAAc,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAC;QAEvD,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;YACtB,qDAAqD;YACrD,4CAA4C;YAC5C,gBAAgB,EAAE,CAAC;YAEnB,4BAA4B;YAC5B,OAAO,CAAC,IAAI,CAAC;gBACZ,IAAI,EAAE,QAAQ;gBACd,MAAM,EAAE,OAAO;gBACf,QAAQ,EAAE,IAAI;gBACd,aAAa,EAAE,EAAE;aACjB,CAAC,CAAC;YACH,SAAS,EAAE,CAAC;QACb,CAAC;aAAM,CAAC;YACP,8CAA8C;YAC9C,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC9B,SAAS,EAAE,CAAC;QACb,CAAC;IACF,CAAC;IAED,yCAAyC;IACzC,gBAAgB,EAAE,CAAC;IAEnB,OAAO,EAAE,OAAO,EAAE,CAAC;AACpB,CAAC,CAAC;AAiBF;;;;;;GAMG;AACH,MAAM,wBAAwB,GAAG,CAAC,OAA0B,EAAsB,EAAE;IACnF,MAAM,gBAAgB,GAAG,eAAe,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC3D,MAAM,iBAAiB,GAAG,wBAAwB,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAErE,OAAO;QACN,gBAAgB;QAChB,iBAAiB;QACjB,mBAAmB,EAAE,OAAO,CAAC,QAAQ;QACrC,oBAAoB,EAAE,OAAO,CAAC,QAAQ,IAAI,EAAE;KAC5C,CAAC;AACH,CAAC,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,OAA0B,EAAe,EAAE;IACrE,yCAAyC;IACzC,MAAM,QAAQ,GAAG,wBAAwB,CAAC,OAAO,CAAC,CAAC;IAEnD,OAAO;QACN,IAAI,EAAE,OAAO;QACb,UAAU,EAAE,CAAC,OAAO,CAAC;QAErB,MAAM,EAAE,CAAC,IAAa,EAAE,cAA8B,EAAU,EAAE;YACjE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC1B,MAAM,IAAI,KAAK,CACd,mDAAmD,CACnD,CAAC;YACH,CAAC;YAED,MAAM,KAAK,GAAa,EAAE,CAAC;YAE3B,6BAA6B;YAC7B,KAAK,CAAC,IAAI,CAAC,UAAU,QAAQ,CAAC,mBAAmB,EAAE,CAAC,CAAC;YAErD,kDAAkD;YAClD,KAAK,MAAM,gBAAgB,IAAI,QAAQ,CAAC,oBAAoB,EAAE,CAAC;gBAC9D,KAAK,CAAC,IAAI,CAAC,KAAK,gBAAgB,EAAE,CAAC,CAAC;YACrC,CAAC;YAED,mDAAmD;YACnD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAEf,qBAAqB;YACrB,KAAK,MAAM,MAAM,IAAI,IAA8C,EAAE,CAAC;gBACrE,kBAAkB;gBAClB,MAAM,QAAQ,GAAG,cAAc,CAAC,MAAM,EAAE,QAAQ,CAAC,gBAAgB,CAAC,CAAC;gBACnE,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBAErB,wBAAwB;gBACxB,MAAM,aAAa,GAAG,mBAAmB,CAAC,MAAM,EAAE,QAAQ,CAAC,iBAAiB,CAAC,CAAC;gBAC9E,KAAK,CAAC,IAAI,CAAC,GAAG,aAAa,CAAC,CAAC;YAC9B,CAAC;YAED,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACzB,CAAC;QAED,MAAM,EAAE,CAAC,GAAW,EAAW,EAAE;YAChC,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAE9B,yBAAyB;YACzB,MAAM,UAAU,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC;YAExC,4BAA4B;YAC5B,MAAM,cAAc,GAAG,mBAAmB,CAAC,KAAK,EAAE,UAAU,CAAC,cAAc,CAAC,CAAC;YAE7E,mDAAmD;YACnD,qFAAqF;YACrF,MAAM,oBAAoB,GAAG,eAAe,CAAC,cAAc,CAAC,gBAAgB,CAAC,CAAC;YAC9E,MAAM,qBAAqB,GAAG,wBAAwB,CAAC,cAAc,CAAC,iBAAiB,CAAC,CAAC;YAEzF,iBAAiB;YACjB,MAAM,UAAU,GAAG,SAAS,CAAC,KAAK,EAAE,cAAc,CAAC,SAAS,EAAE,oBAAoB,CAAC,CAAC;YAEpF,yDAAyD;YACzD,MAAM,OAAO,GAAmC,EAAE,CAAC;YAEnD,KAAK,MAAM,KAAK,IAAI,UAAU,CAAC,OAAO,EAAE,CAAC;gBACxC,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;oBAC7B,6BAA6B;oBAC7B,MAAM,MAAM,GAA4B,EAAE,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;oBAE5D,iDAAiD;oBACjD,IAAI,KAAK,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBACpC,MAAM,cAAc,GAAG,mBAAmB,CACzC,KAAK,CAAC,aAAa,EACnB,qBAAqB,CACrB,CAAC;wBAEF,wCAAwC;wBACxC,KAAK,MAAM,CAAC,SAAS,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE,CAAC;4BACxE,MAAM,CAAC,SAAS,CAAC,GAAG,KAAK,CAAC;wBAC3B,CAAC;oBACF,CAAC;oBAED,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBACtB,CAAC;gBACD,yEAAyE;YAC1E,CAAC;YAED,OAAO,OAAO,CAAC;QAChB,CAAC;KACD,CAAC;AACH,CAAC,CAAC;AAEF,+EAA+E;AAC/E,wBAAwB;AACxB,+EAA+E;AAE/E;;;;;;GAMG;AACH,MAAM,kBAAkB,GAAG,CAAC,KAAa,EAAa,EAAE;IACvD,MAAM,QAAQ,GAAc,EAAE,CAAC;IAC/B,IAAI,GAAG,GAAG,CAAC,CAAC;IACZ,IAAI,YAAY,GAAG,CAAC,CAAC;IACrB,IAAI,QAAQ,GAAG,KAAK,CAAC;IAErB,OAAO,GAAG,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;QAC5B,IAAI,GAAG,KAAK,KAAK,CAAC,MAAM,IAAI,CAAC,CAAC,QAAQ,IAAI,KAAK,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC;YAC/D,+BAA+B;YAC/B,MAAM,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;YAEtD,IAAI,OAAO,KAAK,EAAE,EAAE,CAAC;gBACpB,yBAAyB;gBACzB,IAAI,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;oBACtD,6BAA6B;oBAC7B,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;oBAC3D,QAAQ,CAAC,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC,CAAC;gBAC3C,CAAC;qBAAM,CAAC;oBACP,QAAQ,CAAC,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC;gBAC1C,CAAC;YACF,CAAC;YAED,YAAY,GAAG,GAAG,GAAG,CAAC,CAAC;YACvB,GAAG,EAAE,CAAC;YACN,SAAS;QACV,CAAC;QAED,IAAI,KAAK,CAAC,GAAG,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,KAAK,CAAC,IAAI,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC;YAClE,0EAA0E;YAC1E,MAAM,YAAY,GAAG,KAAK,CAAC,KAAK,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;YAC3D,IAAI,YAAY,KAAK,EAAE,IAAI,QAAQ,EAAE,CAAC;gBACrC,QAAQ,GAAG,CAAC,QAAQ,CAAC;YACtB,CAAC;QACF,CAAC;QAED,GAAG,EAAE,CAAC;IACP,CAAC;IAED,OAAO,QAAQ,CAAC;AACjB,CAAC,CAAC"}
@@ -0,0 +1,23 @@
1
+ import type { FormatCodec } from "../format-codec.js";
2
+ /**
3
+ * Creates a TOML codec.
4
+ *
5
+ * TOML has no null type, so null values are recursively stripped on encode.
6
+ * Missing keys naturally become undefined on decode.
7
+ *
8
+ * @returns A FormatCodec for TOML serialization
9
+ *
10
+ * @example
11
+ * ```typescript
12
+ * const codec = tomlCodec()
13
+ * const layer = makeSerializerLayer([codec])
14
+ * ```
15
+ *
16
+ * @remarks
17
+ * - Null/undefined values are stripped on encode (TOML has no null)
18
+ * - TOML dates are returned as Date objects by smol-toml
19
+ * - TOML arrays must be homogeneous; mixed-type arrays will throw on encode
20
+ * - Schemas with required nullable fields (NullOr) won't round-trip through TOML
21
+ */
22
+ export declare const tomlCodec: () => FormatCodec;
23
+ //# sourceMappingURL=toml.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"toml.d.ts","sourceRoot":"","sources":["../../../src/serializers/codecs/toml.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAqCtD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,eAAO,MAAM,SAAS,QAAO,WAY5B,CAAC"}
@@ -0,0 +1,66 @@
1
+ import * as TOML from "smol-toml";
2
+ /**
3
+ * Recursively strips null and undefined values from an object for TOML compatibility.
4
+ *
5
+ * TOML has no null type, so null values must be removed before serialization.
6
+ * - null values → key omitted
7
+ * - undefined values → key omitted
8
+ * - Nested objects → recursed
9
+ * - Arrays → null/undefined elements removed
10
+ * - All other values → preserved
11
+ */
12
+ const stripNulls = (data) => {
13
+ if (data === null || data === undefined) {
14
+ return undefined;
15
+ }
16
+ if (Array.isArray(data)) {
17
+ return data
18
+ .filter((item) => item !== null && item !== undefined)
19
+ .map(stripNulls);
20
+ }
21
+ if (typeof data === "object" && data !== null) {
22
+ const result = {};
23
+ for (const [key, value] of Object.entries(data)) {
24
+ const stripped = stripNulls(value);
25
+ if (stripped !== undefined) {
26
+ result[key] = stripped;
27
+ }
28
+ }
29
+ return result;
30
+ }
31
+ return data;
32
+ };
33
+ /**
34
+ * Creates a TOML codec.
35
+ *
36
+ * TOML has no null type, so null values are recursively stripped on encode.
37
+ * Missing keys naturally become undefined on decode.
38
+ *
39
+ * @returns A FormatCodec for TOML serialization
40
+ *
41
+ * @example
42
+ * ```typescript
43
+ * const codec = tomlCodec()
44
+ * const layer = makeSerializerLayer([codec])
45
+ * ```
46
+ *
47
+ * @remarks
48
+ * - Null/undefined values are stripped on encode (TOML has no null)
49
+ * - TOML dates are returned as Date objects by smol-toml
50
+ * - TOML arrays must be homogeneous; mixed-type arrays will throw on encode
51
+ * - Schemas with required nullable fields (NullOr) won't round-trip through TOML
52
+ */
53
+ export const tomlCodec = () => {
54
+ return {
55
+ name: "toml",
56
+ extensions: ["toml"],
57
+ encode: (data) => {
58
+ const stripped = stripNulls(data);
59
+ return TOML.stringify(stripped);
60
+ },
61
+ decode: (raw) => {
62
+ return TOML.parse(raw);
63
+ },
64
+ };
65
+ };
66
+ //# sourceMappingURL=toml.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"toml.js","sourceRoot":"","sources":["../../../src/serializers/codecs/toml.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAGlC;;;;;;;;;GASG;AACH,MAAM,UAAU,GAAG,CAAC,IAAa,EAAW,EAAE;IAC7C,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;QACzC,OAAO,SAAS,CAAC;IAClB,CAAC;IAED,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QACzB,OAAO,IAAI;aACT,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,SAAS,CAAC;aACrD,GAAG,CAAC,UAAU,CAAC,CAAC;IACnB,CAAC;IAED,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;QAC/C,MAAM,MAAM,GAA4B,EAAE,CAAC;QAC3C,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YACjD,MAAM,QAAQ,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;YACnC,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;gBAC5B,MAAM,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC;YACxB,CAAC;QACF,CAAC;QACD,OAAO,MAAM,CAAC;IACf,CAAC;IAED,OAAO,IAAI,CAAC;AACb,CAAC,CAAC;AAEF;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,GAAgB,EAAE;IAC1C,OAAO;QACN,IAAI,EAAE,MAAM;QACZ,UAAU,EAAE,CAAC,MAAM,CAAC;QACpB,MAAM,EAAE,CAAC,IAAa,EAAU,EAAE;YACjC,MAAM,QAAQ,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;YAClC,OAAO,IAAI,CAAC,SAAS,CAAC,QAAmC,CAAC,CAAC;QAC5D,CAAC;QACD,MAAM,EAAE,CAAC,GAAW,EAAW,EAAE;YAChC,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACxB,CAAC;KACD,CAAC;AACH,CAAC,CAAC"}
@@ -0,0 +1,20 @@
1
+ import type { FormatCodec } from "../format-codec.js";
2
+ /**
3
+ * Creates a TOON (Token-Oriented Object Notation) codec.
4
+ *
5
+ * TOON is a compact, human-readable encoding of JSON designed for LLM prompts.
6
+ * It provides lossless round-trip conversion with significant token reduction
7
+ * for uniform arrays of objects.
8
+ *
9
+ * @returns A FormatCodec for TOON serialization
10
+ *
11
+ * @example
12
+ * ```typescript
13
+ * const codec = toonCodec()
14
+ * const layer = makeSerializerLayer([codec])
15
+ * ```
16
+ *
17
+ * @see https://toonformat.dev for format specification
18
+ */
19
+ export declare const toonCodec: () => FormatCodec;
20
+ //# sourceMappingURL=toon.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"toon.d.ts","sourceRoot":"","sources":["../../../src/serializers/codecs/toon.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAiB,MAAM,oBAAoB,CAAC;AAErE;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,SAAS,QAAO,WAa5B,CAAC"}
@@ -0,0 +1,33 @@
1
+ import { decode, encode } from "@toon-format/toon";
2
+ /**
3
+ * Creates a TOON (Token-Oriented Object Notation) codec.
4
+ *
5
+ * TOON is a compact, human-readable encoding of JSON designed for LLM prompts.
6
+ * It provides lossless round-trip conversion with significant token reduction
7
+ * for uniform arrays of objects.
8
+ *
9
+ * @returns A FormatCodec for TOON serialization
10
+ *
11
+ * @example
12
+ * ```typescript
13
+ * const codec = toonCodec()
14
+ * const layer = makeSerializerLayer([codec])
15
+ * ```
16
+ *
17
+ * @see https://toonformat.dev for format specification
18
+ */
19
+ export const toonCodec = () => {
20
+ return {
21
+ name: "toon",
22
+ extensions: ["toon"],
23
+ encode: (data, _formatOptions) => {
24
+ // TOON encode returns a string representation
25
+ // The FormatOptions (indent) is not applicable to TOON format
26
+ return encode(data);
27
+ },
28
+ decode: (raw) => {
29
+ return decode(raw);
30
+ },
31
+ };
32
+ };
33
+ //# sourceMappingURL=toon.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"toon.js","sourceRoot":"","sources":["../../../src/serializers/codecs/toon.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAGnD;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,GAAgB,EAAE;IAC1C,OAAO;QACN,IAAI,EAAE,MAAM;QACZ,UAAU,EAAE,CAAC,MAAM,CAAC;QACpB,MAAM,EAAE,CAAC,IAAa,EAAE,cAA8B,EAAU,EAAE;YACjE,8CAA8C;YAC9C,8DAA8D;YAC9D,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC;QACrB,CAAC;QACD,MAAM,EAAE,CAAC,GAAW,EAAW,EAAE;YAChC,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC;QACpB,CAAC;KACD,CAAC;AACH,CAAC,CAAC"}
@@ -0,0 +1,24 @@
1
+ import type { FormatCodec } from "../format-codec.js";
2
+ /**
3
+ * Options for the YAML codec.
4
+ */
5
+ export interface YamlCodecOptions {
6
+ readonly indent?: number;
7
+ readonly lineWidth?: number;
8
+ }
9
+ /**
10
+ * Creates a YAML codec with configurable indentation and line width.
11
+ *
12
+ * @param options - Optional configuration for YAML serialization
13
+ * @param options.indent - Number of spaces for indentation (default: 2)
14
+ * @param options.lineWidth - Maximum line width before wrapping (default: 80)
15
+ * @returns A FormatCodec for YAML serialization
16
+ *
17
+ * @example
18
+ * ```typescript
19
+ * const codec = yamlCodec({ indent: 4, lineWidth: 120 })
20
+ * const layer = makeSerializerLayer([codec])
21
+ * ```
22
+ */
23
+ export declare const yamlCodec: (options?: YamlCodecOptions) => FormatCodec;
24
+ //# sourceMappingURL=yaml.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"yaml.d.ts","sourceRoot":"","sources":["../../../src/serializers/codecs/yaml.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAiB,MAAM,oBAAoB,CAAC;AAErE;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAChC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,SAAS,GAAI,UAAU,gBAAgB,KAAG,WAetD,CAAC"}
@@ -0,0 +1,31 @@
1
+ import YAML from "yaml";
2
+ /**
3
+ * Creates a YAML codec with configurable indentation and line width.
4
+ *
5
+ * @param options - Optional configuration for YAML serialization
6
+ * @param options.indent - Number of spaces for indentation (default: 2)
7
+ * @param options.lineWidth - Maximum line width before wrapping (default: 80)
8
+ * @returns A FormatCodec for YAML serialization
9
+ *
10
+ * @example
11
+ * ```typescript
12
+ * const codec = yamlCodec({ indent: 4, lineWidth: 120 })
13
+ * const layer = makeSerializerLayer([codec])
14
+ * ```
15
+ */
16
+ export const yamlCodec = (options) => {
17
+ const indent = options?.indent ?? 2;
18
+ const lineWidth = options?.lineWidth ?? 80;
19
+ return {
20
+ name: "yaml",
21
+ extensions: ["yaml", "yml"],
22
+ encode: (data, formatOptions) => {
23
+ const actualIndent = formatOptions?.indent ?? indent;
24
+ return YAML.stringify(data, { indent: actualIndent, lineWidth });
25
+ },
26
+ decode: (raw) => {
27
+ return YAML.parse(raw);
28
+ },
29
+ };
30
+ };
31
+ //# sourceMappingURL=yaml.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"yaml.js","sourceRoot":"","sources":["../../../src/serializers/codecs/yaml.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AAWxB;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,OAA0B,EAAe,EAAE;IACpE,MAAM,MAAM,GAAG,OAAO,EAAE,MAAM,IAAI,CAAC,CAAC;IACpC,MAAM,SAAS,GAAG,OAAO,EAAE,SAAS,IAAI,EAAE,CAAC;IAE3C,OAAO;QACN,IAAI,EAAE,MAAM;QACZ,UAAU,EAAE,CAAC,MAAM,EAAE,KAAK,CAAC;QAC3B,MAAM,EAAE,CAAC,IAAa,EAAE,aAA6B,EAAU,EAAE;YAChE,MAAM,YAAY,GAAG,aAAa,EAAE,MAAM,IAAI,MAAM,CAAC;YACrD,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,YAAY,EAAE,SAAS,EAAE,CAAC,CAAC;QAClE,CAAC;QACD,MAAM,EAAE,CAAC,GAAW,EAAW,EAAE;YAChC,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACxB,CAAC;KACD,CAAC;AACH,CAAC,CAAC"}
@@ -0,0 +1,53 @@
1
+ import { Layer } from "effect";
2
+ import { SerializerRegistry, type SerializerRegistryShape } from "./serializer-service.js";
3
+ /**
4
+ * Options for encoding data.
5
+ */
6
+ export interface FormatOptions {
7
+ readonly indent?: number;
8
+ }
9
+ /**
10
+ * A FormatCodec defines a serialization format with:
11
+ * - A human-readable name (e.g., "json", "yaml", "toml")
12
+ * - Supported file extensions without dots (e.g., ["yaml", "yml"])
13
+ * - Synchronous encode/decode functions that throw on failure
14
+ *
15
+ * The compositor (makeSerializerLayer) wraps these in Effect.try
16
+ * with proper error tagging.
17
+ */
18
+ export interface FormatCodec {
19
+ readonly name: string;
20
+ readonly extensions: ReadonlyArray<string>;
21
+ readonly encode: (data: unknown, options?: FormatOptions) => string;
22
+ readonly decode: (raw: string) => unknown;
23
+ }
24
+ /**
25
+ * Creates a SerializerRegistry Layer from an array of FormatCodec instances.
26
+ *
27
+ * The compositor:
28
+ * 1. Builds an extension → codec lookup map (O(1) dispatch)
29
+ * 2. Wraps encode/decode in Effect.try with SerializationError
30
+ * 3. Produces UnsupportedFormatError for unknown extensions
31
+ * 4. Logs console.warn on duplicate extensions (last wins)
32
+ *
33
+ * @param codecs - Base codecs to register
34
+ * @param pluginCodecs - Optional plugin codecs to append after base codecs (can override base codecs for the same extension)
35
+ */
36
+ export declare const makeSerializerLayer: (codecs: ReadonlyArray<FormatCodec>, pluginCodecs?: ReadonlyArray<FormatCodec>) => Layer.Layer<SerializerRegistry>;
37
+ /**
38
+ * Wraps an existing SerializerRegistryShape with additional plugin codecs.
39
+ *
40
+ * Plugin codecs are checked first for matching extensions. If a plugin codec
41
+ * matches the extension, it handles serialization/deserialization. Otherwise,
42
+ * the request falls through to the base registry.
43
+ *
44
+ * This enables plugins to:
45
+ * 1. Add support for new file extensions
46
+ * 2. Override existing codecs (plugin codecs take precedence)
47
+ *
48
+ * @param baseRegistry - The original SerializerRegistryShape to wrap
49
+ * @param pluginCodecs - Array of plugin codecs to layer on top
50
+ * @returns A new SerializerRegistryShape with plugin codecs merged in
51
+ */
52
+ export declare const mergeSerializerWithPluginCodecs: (baseRegistry: SerializerRegistryShape, pluginCodecs: ReadonlyArray<FormatCodec>) => SerializerRegistryShape;
53
+ //# sourceMappingURL=format-codec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"format-codec.d.ts","sourceRoot":"","sources":["../../src/serializers/format-codec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAU,KAAK,EAAE,MAAM,QAAQ,CAAC;AAKvC,OAAO,EACN,kBAAkB,EAClB,KAAK,uBAAuB,EAC5B,MAAM,yBAAyB,CAAC;AAMjC;;GAEG;AACH,MAAM,WAAW,aAAa;IAC7B,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;CACzB;AAED;;;;;;;;GAQG;AACH,MAAM,WAAW,WAAW;IAC3B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,UAAU,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IAC3C,QAAQ,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,aAAa,KAAK,MAAM,CAAC;IACpE,QAAQ,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC;CAC1C;AAMD;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,mBAAmB,GAC/B,QAAQ,aAAa,CAAC,WAAW,CAAC,EAClC,eAAe,aAAa,CAAC,WAAW,CAAC,KACvC,KAAK,CAAC,KAAK,CAAC,kBAAkB,CA4EhC,CAAC;AAMF;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,+BAA+B,GAC3C,cAAc,uBAAuB,EACrC,cAAc,aAAa,CAAC,WAAW,CAAC,KACtC,uBA2DF,CAAC"}
@@ -0,0 +1,148 @@
1
+ import { Effect, Layer } from "effect";
2
+ import { SerializationError, UnsupportedFormatError, } from "../errors/storage-errors.js";
3
+ import { SerializerRegistry, } from "./serializer-service.js";
4
+ // ============================================================================
5
+ // makeSerializerLayer — Compositor for building SerializerRegistry from codecs
6
+ // ============================================================================
7
+ /**
8
+ * Creates a SerializerRegistry Layer from an array of FormatCodec instances.
9
+ *
10
+ * The compositor:
11
+ * 1. Builds an extension → codec lookup map (O(1) dispatch)
12
+ * 2. Wraps encode/decode in Effect.try with SerializationError
13
+ * 3. Produces UnsupportedFormatError for unknown extensions
14
+ * 4. Logs console.warn on duplicate extensions (last wins)
15
+ *
16
+ * @param codecs - Base codecs to register
17
+ * @param pluginCodecs - Optional plugin codecs to append after base codecs (can override base codecs for the same extension)
18
+ */
19
+ export const makeSerializerLayer = (codecs, pluginCodecs) => {
20
+ // Merge base codecs with plugin codecs (plugin codecs come last, can override)
21
+ const allCodecs = pluginCodecs ? [...codecs, ...pluginCodecs] : codecs;
22
+ // Build extension → codec lookup map
23
+ const extensionMap = new Map();
24
+ for (const codec of allCodecs) {
25
+ for (const ext of codec.extensions) {
26
+ if (extensionMap.has(ext)) {
27
+ const existing = extensionMap.get(ext);
28
+ console.warn(`Duplicate extension '.${ext}': '${existing?.name}' overwritten by '${codec.name}'`);
29
+ }
30
+ extensionMap.set(ext, codec);
31
+ }
32
+ }
33
+ // Collect all supported extensions for error messages
34
+ const supportedExtensions = Array.from(extensionMap.keys())
35
+ .map((ext) => `.${ext}`)
36
+ .join(", ");
37
+ const registry = {
38
+ serialize: (data, extension) => {
39
+ const codec = extensionMap.get(extension);
40
+ if (!codec) {
41
+ return Effect.fail(new UnsupportedFormatError({
42
+ format: extension,
43
+ message: supportedExtensions.length > 0
44
+ ? `Unsupported format '.${extension}'. Available formats: ${supportedExtensions}`
45
+ : `Unsupported format '.${extension}'. No formats registered.`,
46
+ }));
47
+ }
48
+ return Effect.try({
49
+ try: () => codec.encode(data),
50
+ catch: (error) => new SerializationError({
51
+ format: codec.name,
52
+ message: `Failed to serialize data to ${codec.name}: ${error instanceof Error ? error.message : "Unknown error"}`,
53
+ cause: error,
54
+ }),
55
+ });
56
+ },
57
+ deserialize: (content, extension) => {
58
+ const codec = extensionMap.get(extension);
59
+ if (!codec) {
60
+ return Effect.fail(new UnsupportedFormatError({
61
+ format: extension,
62
+ message: supportedExtensions.length > 0
63
+ ? `Unsupported format '.${extension}'. Available formats: ${supportedExtensions}`
64
+ : `Unsupported format '.${extension}'. No formats registered.`,
65
+ }));
66
+ }
67
+ return Effect.try({
68
+ try: () => codec.decode(content),
69
+ catch: (error) => new SerializationError({
70
+ format: codec.name,
71
+ message: `Failed to deserialize ${codec.name} data: ${error instanceof Error ? error.message : "Unknown error"}`,
72
+ cause: error,
73
+ }),
74
+ });
75
+ },
76
+ };
77
+ return Layer.succeed(SerializerRegistry, registry);
78
+ };
79
+ // ============================================================================
80
+ // mergeSerializerWithPluginCodecs — Wrap existing registry with plugin codecs
81
+ // ============================================================================
82
+ /**
83
+ * Wraps an existing SerializerRegistryShape with additional plugin codecs.
84
+ *
85
+ * Plugin codecs are checked first for matching extensions. If a plugin codec
86
+ * matches the extension, it handles serialization/deserialization. Otherwise,
87
+ * the request falls through to the base registry.
88
+ *
89
+ * This enables plugins to:
90
+ * 1. Add support for new file extensions
91
+ * 2. Override existing codecs (plugin codecs take precedence)
92
+ *
93
+ * @param baseRegistry - The original SerializerRegistryShape to wrap
94
+ * @param pluginCodecs - Array of plugin codecs to layer on top
95
+ * @returns A new SerializerRegistryShape with plugin codecs merged in
96
+ */
97
+ export const mergeSerializerWithPluginCodecs = (baseRegistry, pluginCodecs) => {
98
+ // If no plugin codecs, return the base registry unchanged
99
+ if (pluginCodecs.length === 0) {
100
+ return baseRegistry;
101
+ }
102
+ // Build extension → codec lookup map for plugin codecs
103
+ const pluginExtensionMap = new Map();
104
+ for (const codec of pluginCodecs) {
105
+ for (const ext of codec.extensions) {
106
+ if (pluginExtensionMap.has(ext)) {
107
+ const existing = pluginExtensionMap.get(ext);
108
+ console.warn(`Plugin codec duplicate extension '.${ext}': '${existing?.name}' overwritten by '${codec.name}'`);
109
+ }
110
+ pluginExtensionMap.set(ext, codec);
111
+ }
112
+ }
113
+ return {
114
+ serialize: (data, extension) => {
115
+ // Check plugin codecs first (plugins take precedence)
116
+ const pluginCodec = pluginExtensionMap.get(extension);
117
+ if (pluginCodec) {
118
+ return Effect.try({
119
+ try: () => pluginCodec.encode(data),
120
+ catch: (error) => new SerializationError({
121
+ format: pluginCodec.name,
122
+ message: `Failed to serialize data to ${pluginCodec.name}: ${error instanceof Error ? error.message : "Unknown error"}`,
123
+ cause: error,
124
+ }),
125
+ });
126
+ }
127
+ // Fall through to base registry
128
+ return baseRegistry.serialize(data, extension);
129
+ },
130
+ deserialize: (content, extension) => {
131
+ // Check plugin codecs first (plugins take precedence)
132
+ const pluginCodec = pluginExtensionMap.get(extension);
133
+ if (pluginCodec) {
134
+ return Effect.try({
135
+ try: () => pluginCodec.decode(content),
136
+ catch: (error) => new SerializationError({
137
+ format: pluginCodec.name,
138
+ message: `Failed to deserialize ${pluginCodec.name} data: ${error instanceof Error ? error.message : "Unknown error"}`,
139
+ cause: error,
140
+ }),
141
+ });
142
+ }
143
+ // Fall through to base registry
144
+ return baseRegistry.deserialize(content, extension);
145
+ },
146
+ };
147
+ };
148
+ //# sourceMappingURL=format-codec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"format-codec.js","sourceRoot":"","sources":["../../src/serializers/format-codec.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,48 @@
1
+ /**
2
+ * A SerializerRegistry Layer that supports all 8 text formats:
3
+ * - JSON (.json)
4
+ * - JSONL (.jsonl, .ndjson)
5
+ * - YAML (.yaml, .yml)
6
+ * - JSON5 (.json5)
7
+ * - JSONC (.jsonc)
8
+ * - TOML (.toml)
9
+ * - TOON (.toon)
10
+ * - Hjson (.hjson)
11
+ *
12
+ * Use this when you need maximum format flexibility.
13
+ *
14
+ * @example
15
+ * ```typescript
16
+ * import { AllTextFormatsLayer } from "./presets.js"
17
+ *
18
+ * const program = Effect.gen(function* () {
19
+ * const registry = yield* SerializerRegistry
20
+ * yield* registry.serialize(data, "yaml")
21
+ * })
22
+ *
23
+ * Effect.runPromise(program.pipe(Effect.provide(AllTextFormatsLayer)))
24
+ * ```
25
+ */
26
+ export declare const AllTextFormatsLayer: import("effect/Layer").Layer<import("./serializer-service.js").SerializerRegistry, never, never>;
27
+ /**
28
+ * A SerializerRegistry Layer that supports the default formats:
29
+ * - JSON (.json)
30
+ * - YAML (.yaml, .yml)
31
+ *
32
+ * Use this for standard configuration files and data storage.
33
+ * This is the recommended default for most use cases.
34
+ *
35
+ * @example
36
+ * ```typescript
37
+ * import { DefaultSerializerLayer } from "./presets.js"
38
+ *
39
+ * const program = Effect.gen(function* () {
40
+ * const registry = yield* SerializerRegistry
41
+ * yield* registry.serialize(data, "json")
42
+ * })
43
+ *
44
+ * Effect.runPromise(program.pipe(Effect.provide(DefaultSerializerLayer)))
45
+ * ```
46
+ */
47
+ export declare const DefaultSerializerLayer: import("effect/Layer").Layer<import("./serializer-service.js").SerializerRegistry, never, never>;
48
+ //# sourceMappingURL=presets.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"presets.d.ts","sourceRoot":"","sources":["../../src/serializers/presets.ts"],"names":[],"mappings":"AAcA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,eAAO,MAAM,mBAAmB,kGAS9B,CAAC;AAEH;;;;;;;;;;;;;;;;;;;GAmBG;AACH,eAAO,MAAM,sBAAsB,kGAGjC,CAAC"}
@@ -0,0 +1,72 @@
1
+ import { hjsonCodec } from "./codecs/hjson.js";
2
+ import { jsonCodec } from "./codecs/json.js";
3
+ import { json5Codec } from "./codecs/json5.js";
4
+ import { jsoncCodec } from "./codecs/jsonc.js";
5
+ import { jsonlCodec } from "./codecs/jsonl.js";
6
+ import { tomlCodec } from "./codecs/toml.js";
7
+ import { toonCodec } from "./codecs/toon.js";
8
+ import { yamlCodec } from "./codecs/yaml.js";
9
+ import { makeSerializerLayer } from "./format-codec.js";
10
+ // ============================================================================
11
+ // Preset Layers — Pre-configured SerializerRegistry Layers
12
+ // ============================================================================
13
+ /**
14
+ * A SerializerRegistry Layer that supports all 8 text formats:
15
+ * - JSON (.json)
16
+ * - JSONL (.jsonl, .ndjson)
17
+ * - YAML (.yaml, .yml)
18
+ * - JSON5 (.json5)
19
+ * - JSONC (.jsonc)
20
+ * - TOML (.toml)
21
+ * - TOON (.toon)
22
+ * - Hjson (.hjson)
23
+ *
24
+ * Use this when you need maximum format flexibility.
25
+ *
26
+ * @example
27
+ * ```typescript
28
+ * import { AllTextFormatsLayer } from "./presets.js"
29
+ *
30
+ * const program = Effect.gen(function* () {
31
+ * const registry = yield* SerializerRegistry
32
+ * yield* registry.serialize(data, "yaml")
33
+ * })
34
+ *
35
+ * Effect.runPromise(program.pipe(Effect.provide(AllTextFormatsLayer)))
36
+ * ```
37
+ */
38
+ export const AllTextFormatsLayer = makeSerializerLayer([
39
+ jsonCodec(),
40
+ jsonlCodec(),
41
+ yamlCodec(),
42
+ json5Codec(),
43
+ jsoncCodec(),
44
+ tomlCodec(),
45
+ toonCodec(),
46
+ hjsonCodec(),
47
+ ]);
48
+ /**
49
+ * A SerializerRegistry Layer that supports the default formats:
50
+ * - JSON (.json)
51
+ * - YAML (.yaml, .yml)
52
+ *
53
+ * Use this for standard configuration files and data storage.
54
+ * This is the recommended default for most use cases.
55
+ *
56
+ * @example
57
+ * ```typescript
58
+ * import { DefaultSerializerLayer } from "./presets.js"
59
+ *
60
+ * const program = Effect.gen(function* () {
61
+ * const registry = yield* SerializerRegistry
62
+ * yield* registry.serialize(data, "json")
63
+ * })
64
+ *
65
+ * Effect.runPromise(program.pipe(Effect.provide(DefaultSerializerLayer)))
66
+ * ```
67
+ */
68
+ export const DefaultSerializerLayer = makeSerializerLayer([
69
+ jsonCodec(),
70
+ yamlCodec(),
71
+ ]);
72
+ //# sourceMappingURL=presets.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"presets.js","sourceRoot":"","sources":["../../src/serializers/presets.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAExD,+EAA+E;AAC/E,2DAA2D;AAC3D,+EAA+E;AAE/E;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,mBAAmB,CAAC;IACtD,SAAS,EAAE;IACX,UAAU,EAAE;IACZ,SAAS,EAAE;IACX,UAAU,EAAE;IACZ,UAAU,EAAE;IACZ,SAAS,EAAE;IACX,SAAS,EAAE;IACX,UAAU,EAAE;CACZ,CAAC,CAAC;AAEH;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,mBAAmB,CAAC;IACzD,SAAS,EAAE;IACX,SAAS,EAAE;CACX,CAAC,CAAC"}
@@ -0,0 +1,11 @@
1
+ import { Context, type Effect } from "effect";
2
+ import type { SerializationError, UnsupportedFormatError } from "../errors/storage-errors.js";
3
+ export interface SerializerRegistryShape {
4
+ readonly serialize: (data: unknown, extension: string) => Effect.Effect<string, SerializationError | UnsupportedFormatError>;
5
+ readonly deserialize: (content: string, extension: string) => Effect.Effect<unknown, SerializationError | UnsupportedFormatError>;
6
+ }
7
+ declare const SerializerRegistry_base: Context.TagClass<SerializerRegistry, "SerializerRegistry", SerializerRegistryShape>;
8
+ export declare class SerializerRegistry extends SerializerRegistry_base {
9
+ }
10
+ export {};
11
+ //# sourceMappingURL=serializer-service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"serializer-service.d.ts","sourceRoot":"","sources":["../../src/serializers/serializer-service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,KAAK,EACX,kBAAkB,EAClB,sBAAsB,EACtB,MAAM,6BAA6B,CAAC;AAMrC,MAAM,WAAW,uBAAuB;IACvC,QAAQ,CAAC,SAAS,EAAE,CACnB,IAAI,EAAE,OAAO,EACb,SAAS,EAAE,MAAM,KACb,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,kBAAkB,GAAG,sBAAsB,CAAC,CAAC;IACxE,QAAQ,CAAC,WAAW,EAAE,CACrB,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,MAAM,KACb,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,kBAAkB,GAAG,sBAAsB,CAAC,CAAC;CACzE;;AAED,qBAAa,kBAAmB,SAAQ,uBAGrC;CAAG"}
@@ -0,0 +1,4 @@
1
+ import { Context } from "effect";
2
+ export class SerializerRegistry extends Context.Tag("SerializerRegistry")() {
3
+ }
4
+ //# sourceMappingURL=serializer-service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"serializer-service.js","sourceRoot":"","sources":["../../src/serializers/serializer-service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAe,MAAM,QAAQ,CAAC;AAqB9C,MAAM,OAAO,kBAAmB,SAAQ,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,EAGtE;CAAG"}