@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.
- package/LICENSE +21 -0
- package/dist/errors/crud-errors.d.ts +98 -0
- package/dist/errors/crud-errors.d.ts.map +1 -0
- package/dist/errors/crud-errors.js +23 -0
- package/dist/errors/crud-errors.js.map +1 -0
- package/dist/errors/index.d.ts +16 -0
- package/dist/errors/index.d.ts.map +1 -0
- package/dist/errors/index.js +12 -0
- package/dist/errors/index.js.map +1 -0
- package/dist/errors/migration-errors.d.ts +22 -0
- package/dist/errors/migration-errors.d.ts.map +1 -0
- package/dist/errors/migration-errors.js +14 -0
- package/dist/errors/migration-errors.js.map +1 -0
- package/dist/errors/plugin-errors.d.ts +15 -0
- package/dist/errors/plugin-errors.d.ts.map +1 -0
- package/dist/errors/plugin-errors.js +11 -0
- package/dist/errors/plugin-errors.js.map +1 -0
- package/dist/errors/query-errors.d.ts +31 -0
- package/dist/errors/query-errors.d.ts.map +1 -0
- package/dist/errors/query-errors.js +11 -0
- package/dist/errors/query-errors.js.map +1 -0
- package/dist/errors/storage-errors.d.ts +30 -0
- package/dist/errors/storage-errors.d.ts.map +1 -0
- package/dist/errors/storage-errors.js +11 -0
- package/dist/errors/storage-errors.js.map +1 -0
- package/dist/factories/crud-factory-with-relationships.d.ts +28 -0
- package/dist/factories/crud-factory-with-relationships.d.ts.map +1 -0
- package/dist/factories/crud-factory-with-relationships.js +8 -0
- package/dist/factories/crud-factory-with-relationships.js.map +1 -0
- package/dist/factories/crud-factory.d.ts +25 -0
- package/dist/factories/crud-factory.d.ts.map +1 -0
- package/dist/factories/crud-factory.js +8 -0
- package/dist/factories/crud-factory.js.map +1 -0
- package/dist/factories/database-effect.d.ts +241 -0
- package/dist/factories/database-effect.d.ts.map +1 -0
- package/dist/factories/database-effect.js +859 -0
- package/dist/factories/database-effect.js.map +1 -0
- package/dist/hooks/hook-runner.d.ts +60 -0
- package/dist/hooks/hook-runner.d.ts.map +1 -0
- package/dist/hooks/hook-runner.js +107 -0
- package/dist/hooks/hook-runner.js.map +1 -0
- package/dist/index.d.ts +84 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +110 -0
- package/dist/index.js.map +1 -0
- package/dist/indexes/index-lookup.d.ts +33 -0
- package/dist/indexes/index-lookup.d.ts.map +1 -0
- package/dist/indexes/index-lookup.js +180 -0
- package/dist/indexes/index-lookup.js.map +1 -0
- package/dist/indexes/index-manager.d.ts +118 -0
- package/dist/indexes/index-manager.d.ts.map +1 -0
- package/dist/indexes/index-manager.js +345 -0
- package/dist/indexes/index-manager.js.map +1 -0
- package/dist/indexes/search-index.d.ts +179 -0
- package/dist/indexes/search-index.d.ts.map +1 -0
- package/dist/indexes/search-index.js +405 -0
- package/dist/indexes/search-index.js.map +1 -0
- package/dist/migrations/migration-runner.d.ts +70 -0
- package/dist/migrations/migration-runner.d.ts.map +1 -0
- package/dist/migrations/migration-runner.js +271 -0
- package/dist/migrations/migration-runner.js.map +1 -0
- package/dist/migrations/migration-types.d.ts +63 -0
- package/dist/migrations/migration-types.d.ts.map +1 -0
- package/dist/migrations/migration-types.js +5 -0
- package/dist/migrations/migration-types.js.map +1 -0
- package/dist/operations/crud/create-with-relationships.d.ts +44 -0
- package/dist/operations/crud/create-with-relationships.d.ts.map +1 -0
- package/dist/operations/crud/create-with-relationships.js +483 -0
- package/dist/operations/crud/create-with-relationships.js.map +1 -0
- package/dist/operations/crud/create.d.ts +48 -0
- package/dist/operations/crud/create.d.ts.map +1 -0
- package/dist/operations/crud/create.js +333 -0
- package/dist/operations/crud/create.js.map +1 -0
- package/dist/operations/crud/delete-with-relationships.d.ts +63 -0
- package/dist/operations/crud/delete-with-relationships.d.ts.map +1 -0
- package/dist/operations/crud/delete-with-relationships.js +395 -0
- package/dist/operations/crud/delete-with-relationships.js.map +1 -0
- package/dist/operations/crud/delete.d.ts +58 -0
- package/dist/operations/crud/delete.d.ts.map +1 -0
- package/dist/operations/crud/delete.js +267 -0
- package/dist/operations/crud/delete.js.map +1 -0
- package/dist/operations/crud/unique-check.d.ts +114 -0
- package/dist/operations/crud/unique-check.d.ts.map +1 -0
- package/dist/operations/crud/unique-check.js +383 -0
- package/dist/operations/crud/unique-check.js.map +1 -0
- package/dist/operations/crud/update-with-relationships.d.ts +45 -0
- package/dist/operations/crud/update-with-relationships.d.ts.map +1 -0
- package/dist/operations/crud/update-with-relationships.js +516 -0
- package/dist/operations/crud/update-with-relationships.js.map +1 -0
- package/dist/operations/crud/update.d.ts +91 -0
- package/dist/operations/crud/update.d.ts.map +1 -0
- package/dist/operations/crud/update.js +505 -0
- package/dist/operations/crud/update.js.map +1 -0
- package/dist/operations/crud/upsert.d.ts +52 -0
- package/dist/operations/crud/upsert.d.ts.map +1 -0
- package/dist/operations/crud/upsert.js +386 -0
- package/dist/operations/crud/upsert.js.map +1 -0
- package/dist/operations/query/aggregate.d.ts +30 -0
- package/dist/operations/query/aggregate.d.ts.map +1 -0
- package/dist/operations/query/aggregate.js +227 -0
- package/dist/operations/query/aggregate.js.map +1 -0
- package/dist/operations/query/cursor-stream.d.ts +18 -0
- package/dist/operations/query/cursor-stream.d.ts.map +1 -0
- package/dist/operations/query/cursor-stream.js +199 -0
- package/dist/operations/query/cursor-stream.js.map +1 -0
- package/dist/operations/query/filter-stream.d.ts +12 -0
- package/dist/operations/query/filter-stream.d.ts.map +1 -0
- package/dist/operations/query/filter-stream.js +167 -0
- package/dist/operations/query/filter-stream.js.map +1 -0
- package/dist/operations/query/filter.d.ts +13 -0
- package/dist/operations/query/filter.d.ts.map +1 -0
- package/dist/operations/query/filter.js +267 -0
- package/dist/operations/query/filter.js.map +1 -0
- package/dist/operations/query/paginate-stream.d.ts +11 -0
- package/dist/operations/query/paginate-stream.d.ts.map +1 -0
- package/dist/operations/query/paginate-stream.js +22 -0
- package/dist/operations/query/paginate-stream.js.map +1 -0
- package/dist/operations/query/query-helpers.d.ts +14 -0
- package/dist/operations/query/query-helpers.d.ts.map +1 -0
- package/dist/operations/query/query-helpers.js +22 -0
- package/dist/operations/query/query-helpers.js.map +1 -0
- package/dist/operations/query/resolve-computed.d.ts +142 -0
- package/dist/operations/query/resolve-computed.d.ts.map +1 -0
- package/dist/operations/query/resolve-computed.js +197 -0
- package/dist/operations/query/resolve-computed.js.map +1 -0
- package/dist/operations/query/search.d.ts +110 -0
- package/dist/operations/query/search.d.ts.map +1 -0
- package/dist/operations/query/search.js +188 -0
- package/dist/operations/query/search.js.map +1 -0
- package/dist/operations/query/select-stream.d.ts +27 -0
- package/dist/operations/query/select-stream.d.ts.map +1 -0
- package/dist/operations/query/select-stream.js +88 -0
- package/dist/operations/query/select-stream.js.map +1 -0
- package/dist/operations/query/select.d.ts +54 -0
- package/dist/operations/query/select.d.ts.map +1 -0
- package/dist/operations/query/select.js +159 -0
- package/dist/operations/query/select.js.map +1 -0
- package/dist/operations/query/sort-stream.d.ts +46 -0
- package/dist/operations/query/sort-stream.d.ts.map +1 -0
- package/dist/operations/query/sort-stream.js +158 -0
- package/dist/operations/query/sort-stream.js.map +1 -0
- package/dist/operations/query/sort.d.ts +9 -0
- package/dist/operations/query/sort.d.ts.map +1 -0
- package/dist/operations/query/sort.js +58 -0
- package/dist/operations/query/sort.js.map +1 -0
- package/dist/operations/relationships/populate-stream.d.ts +29 -0
- package/dist/operations/relationships/populate-stream.d.ts.map +1 -0
- package/dist/operations/relationships/populate-stream.js +159 -0
- package/dist/operations/relationships/populate-stream.js.map +1 -0
- package/dist/operations/relationships/populate.d.ts +15 -0
- package/dist/operations/relationships/populate.d.ts.map +1 -0
- package/dist/operations/relationships/populate.js +228 -0
- package/dist/operations/relationships/populate.js.map +1 -0
- package/dist/plugins/plugin-hooks.d.ts +25 -0
- package/dist/plugins/plugin-hooks.d.ts.map +1 -0
- package/dist/plugins/plugin-hooks.js +64 -0
- package/dist/plugins/plugin-hooks.js.map +1 -0
- package/dist/plugins/plugin-registry.d.ts +26 -0
- package/dist/plugins/plugin-registry.d.ts.map +1 -0
- package/dist/plugins/plugin-registry.js +150 -0
- package/dist/plugins/plugin-registry.js.map +1 -0
- package/dist/plugins/plugin-types.d.ts +95 -0
- package/dist/plugins/plugin-types.d.ts.map +1 -0
- package/dist/plugins/plugin-types.js +6 -0
- package/dist/plugins/plugin-types.js.map +1 -0
- package/dist/plugins/plugin-validation.d.ts +49 -0
- package/dist/plugins/plugin-validation.d.ts.map +1 -0
- package/dist/plugins/plugin-validation.js +295 -0
- package/dist/plugins/plugin-validation.js.map +1 -0
- package/dist/reactive/change-event.d.ts +44 -0
- package/dist/reactive/change-event.d.ts.map +1 -0
- package/dist/reactive/change-event.js +49 -0
- package/dist/reactive/change-event.js.map +1 -0
- package/dist/reactive/change-pubsub.d.ts +32 -0
- package/dist/reactive/change-pubsub.d.ts.map +1 -0
- package/dist/reactive/change-pubsub.js +31 -0
- package/dist/reactive/change-pubsub.js.map +1 -0
- package/dist/reactive/evaluate-query.d.ts +62 -0
- package/dist/reactive/evaluate-query.d.ts.map +1 -0
- package/dist/reactive/evaluate-query.js +57 -0
- package/dist/reactive/evaluate-query.js.map +1 -0
- package/dist/reactive/watch-by-id.d.ts +53 -0
- package/dist/reactive/watch-by-id.d.ts.map +1 -0
- package/dist/reactive/watch-by-id.js +55 -0
- package/dist/reactive/watch-by-id.js.map +1 -0
- package/dist/reactive/watch.d.ts +78 -0
- package/dist/reactive/watch.d.ts.map +1 -0
- package/dist/reactive/watch.js +133 -0
- package/dist/reactive/watch.js.map +1 -0
- package/dist/serializers/codecs/hjson.d.ts +33 -0
- package/dist/serializers/codecs/hjson.d.ts.map +1 -0
- package/dist/serializers/codecs/hjson.js +40 -0
- package/dist/serializers/codecs/hjson.js.map +1 -0
- package/dist/serializers/codecs/json.d.ts +22 -0
- package/dist/serializers/codecs/json.d.ts.map +1 -0
- package/dist/serializers/codecs/json.js +28 -0
- package/dist/serializers/codecs/json.js.map +1 -0
- package/dist/serializers/codecs/json5.d.ts +26 -0
- package/dist/serializers/codecs/json5.d.ts.map +1 -0
- package/dist/serializers/codecs/json5.js +33 -0
- package/dist/serializers/codecs/json5.js.map +1 -0
- package/dist/serializers/codecs/jsonc.d.ts +29 -0
- package/dist/serializers/codecs/jsonc.d.ts.map +1 -0
- package/dist/serializers/codecs/jsonc.js +38 -0
- package/dist/serializers/codecs/jsonc.js.map +1 -0
- package/dist/serializers/codecs/jsonl.d.ts +17 -0
- package/dist/serializers/codecs/jsonl.d.ts.map +1 -0
- package/dist/serializers/codecs/jsonl.js +31 -0
- package/dist/serializers/codecs/jsonl.js.map +1 -0
- package/dist/serializers/codecs/prose.d.ts +419 -0
- package/dist/serializers/codecs/prose.d.ts.map +1 -0
- package/dist/serializers/codecs/prose.js +1060 -0
- package/dist/serializers/codecs/prose.js.map +1 -0
- package/dist/serializers/codecs/toml.d.ts +23 -0
- package/dist/serializers/codecs/toml.d.ts.map +1 -0
- package/dist/serializers/codecs/toml.js +66 -0
- package/dist/serializers/codecs/toml.js.map +1 -0
- package/dist/serializers/codecs/toon.d.ts +20 -0
- package/dist/serializers/codecs/toon.d.ts.map +1 -0
- package/dist/serializers/codecs/toon.js +33 -0
- package/dist/serializers/codecs/toon.js.map +1 -0
- package/dist/serializers/codecs/yaml.d.ts +24 -0
- package/dist/serializers/codecs/yaml.d.ts.map +1 -0
- package/dist/serializers/codecs/yaml.js +31 -0
- package/dist/serializers/codecs/yaml.js.map +1 -0
- package/dist/serializers/format-codec.d.ts +53 -0
- package/dist/serializers/format-codec.d.ts.map +1 -0
- package/dist/serializers/format-codec.js +148 -0
- package/dist/serializers/format-codec.js.map +1 -0
- package/dist/serializers/presets.d.ts +48 -0
- package/dist/serializers/presets.d.ts.map +1 -0
- package/dist/serializers/presets.js +72 -0
- package/dist/serializers/presets.js.map +1 -0
- package/dist/serializers/serializer-service.d.ts +11 -0
- package/dist/serializers/serializer-service.d.ts.map +1 -0
- package/dist/serializers/serializer-service.js +4 -0
- package/dist/serializers/serializer-service.js.map +1 -0
- package/dist/state/collection-state.d.ts +19 -0
- package/dist/state/collection-state.d.ts.map +1 -0
- package/dist/state/collection-state.js +15 -0
- package/dist/state/collection-state.js.map +1 -0
- package/dist/state/state-operations.d.ts +38 -0
- package/dist/state/state-operations.d.ts.map +1 -0
- package/dist/state/state-operations.js +65 -0
- package/dist/state/state-operations.js.map +1 -0
- package/dist/storage/in-memory-adapter-layer.d.ts +16 -0
- package/dist/storage/in-memory-adapter-layer.d.ts.map +1 -0
- package/dist/storage/in-memory-adapter-layer.js +81 -0
- package/dist/storage/in-memory-adapter-layer.js.map +1 -0
- package/dist/storage/persistence-effect.d.ts +244 -0
- package/dist/storage/persistence-effect.d.ts.map +1 -0
- package/dist/storage/persistence-effect.js +551 -0
- package/dist/storage/persistence-effect.js.map +1 -0
- package/dist/storage/storage-service.d.ts +22 -0
- package/dist/storage/storage-service.d.ts.map +1 -0
- package/dist/storage/storage-service.js +4 -0
- package/dist/storage/storage-service.js.map +1 -0
- package/dist/storage/transforms.d.ts +183 -0
- package/dist/storage/transforms.d.ts.map +1 -0
- package/dist/storage/transforms.js +263 -0
- package/dist/storage/transforms.js.map +1 -0
- package/dist/transactions/transaction.d.ts +87 -0
- package/dist/transactions/transaction.d.ts.map +1 -0
- package/dist/transactions/transaction.js +240 -0
- package/dist/transactions/transaction.js.map +1 -0
- package/dist/types/aggregate-types.d.ts +73 -0
- package/dist/types/aggregate-types.d.ts.map +1 -0
- package/dist/types/aggregate-types.js +14 -0
- package/dist/types/aggregate-types.js.map +1 -0
- package/dist/types/computed-types.d.ts +71 -0
- package/dist/types/computed-types.d.ts.map +1 -0
- package/dist/types/computed-types.js +8 -0
- package/dist/types/computed-types.js.map +1 -0
- package/dist/types/crud-relationship-types.d.ts +180 -0
- package/dist/types/crud-relationship-types.d.ts.map +1 -0
- package/dist/types/crud-relationship-types.js +17 -0
- package/dist/types/crud-relationship-types.js.map +1 -0
- package/dist/types/crud-types.d.ts +343 -0
- package/dist/types/crud-types.d.ts.map +1 -0
- package/dist/types/crud-types.js +43 -0
- package/dist/types/crud-types.js.map +1 -0
- package/dist/types/cursor-types.d.ts +52 -0
- package/dist/types/cursor-types.d.ts.map +1 -0
- package/dist/types/cursor-types.js +2 -0
- package/dist/types/cursor-types.js.map +1 -0
- package/dist/types/database-config-types.d.ts +196 -0
- package/dist/types/database-config-types.d.ts.map +1 -0
- package/dist/types/database-config-types.js +11 -0
- package/dist/types/database-config-types.js.map +1 -0
- package/dist/types/hook-types.d.ts +158 -0
- package/dist/types/hook-types.d.ts.map +1 -0
- package/dist/types/hook-types.js +6 -0
- package/dist/types/hook-types.js.map +1 -0
- package/dist/types/index-types.d.ts +42 -0
- package/dist/types/index-types.d.ts.map +1 -0
- package/dist/types/index-types.js +8 -0
- package/dist/types/index-types.js.map +1 -0
- package/dist/types/operators.d.ts +5 -0
- package/dist/types/operators.d.ts.map +1 -0
- package/dist/types/operators.js +297 -0
- package/dist/types/operators.js.map +1 -0
- package/dist/types/query-overloads.d.ts +54 -0
- package/dist/types/query-overloads.d.ts.map +1 -0
- package/dist/types/query-overloads.js +3 -0
- package/dist/types/query-overloads.js.map +1 -0
- package/dist/types/reactive-types.d.ts +75 -0
- package/dist/types/reactive-types.d.ts.map +1 -0
- package/dist/types/reactive-types.js +7 -0
- package/dist/types/reactive-types.js.map +1 -0
- package/dist/types/schema-types.d.ts +56 -0
- package/dist/types/schema-types.d.ts.map +1 -0
- package/dist/types/schema-types.js +8 -0
- package/dist/types/schema-types.js.map +1 -0
- package/dist/types/search-types.d.ts +82 -0
- package/dist/types/search-types.d.ts.map +1 -0
- package/dist/types/search-types.js +110 -0
- package/dist/types/search-types.js.map +1 -0
- package/dist/types/types.d.ts +286 -0
- package/dist/types/types.d.ts.map +1 -0
- package/dist/types/types.js +2 -0
- package/dist/types/types.js.map +1 -0
- package/dist/utils/id-generator.d.ts +97 -0
- package/dist/utils/id-generator.d.ts.map +1 -0
- package/dist/utils/id-generator.js +247 -0
- package/dist/utils/id-generator.js.map +1 -0
- package/dist/utils/nested-path.d.ts +56 -0
- package/dist/utils/nested-path.d.ts.map +1 -0
- package/dist/utils/nested-path.js +119 -0
- package/dist/utils/nested-path.js.map +1 -0
- package/dist/utils/path.d.ts +16 -0
- package/dist/utils/path.d.ts.map +1 -0
- package/dist/utils/path.js +24 -0
- package/dist/utils/path.js.map +1 -0
- package/dist/validators/foreign-key.d.ts +49 -0
- package/dist/validators/foreign-key.d.ts.map +1 -0
- package/dist/validators/foreign-key.js +153 -0
- package/dist/validators/foreign-key.js.map +1 -0
- package/dist/validators/schema-validator.d.ts +19 -0
- package/dist/validators/schema-validator.d.ts.map +1 -0
- package/dist/validators/schema-validator.js +34 -0
- package/dist/validators/schema-validator.js.map +1 -0
- package/package.json +57 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prose.js","sourceRoot":"","sources":["../../../src/serializers/codecs/prose.ts"],"names":[],"mappings":"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"}
|
|
@@ -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 @@
|
|
|
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"}
|