@flaks/onerecord 0.2.0 → 0.3.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/CHANGELOG.md +109 -0
- package/MIGRATING.md +114 -0
- package/README.md +42 -34
- package/dist/classes/account-number/schema.d.ts +2 -7
- package/dist/classes/account-number/schema.d.ts.map +1 -1
- package/dist/classes/account-number/schema.js +7 -4
- package/dist/classes/account-number/schema.js.map +1 -1
- package/dist/classes/co2-emissions/codec.d.ts +4 -0
- package/dist/classes/co2-emissions/codec.d.ts.map +1 -0
- package/dist/classes/co2-emissions/codec.js +11 -0
- package/dist/classes/co2-emissions/codec.js.map +1 -0
- package/dist/classes/co2-emissions/deserialize.d.ts +5 -0
- package/dist/classes/co2-emissions/deserialize.d.ts.map +1 -0
- package/dist/classes/co2-emissions/deserialize.js +64 -0
- package/dist/classes/co2-emissions/deserialize.js.map +1 -0
- package/dist/classes/co2-emissions/index.d.ts +6 -0
- package/dist/classes/co2-emissions/index.d.ts.map +1 -0
- package/dist/classes/co2-emissions/index.js +5 -0
- package/dist/classes/co2-emissions/index.js.map +1 -0
- package/dist/classes/co2-emissions/schema.d.ts +18 -0
- package/dist/classes/co2-emissions/schema.d.ts.map +1 -0
- package/dist/classes/co2-emissions/schema.js +12 -0
- package/dist/classes/co2-emissions/schema.js.map +1 -0
- package/dist/classes/co2-emissions/serialize.d.ts +6 -0
- package/dist/classes/co2-emissions/serialize.d.ts.map +1 -0
- package/dist/classes/co2-emissions/serialize.js +28 -0
- package/dist/classes/co2-emissions/serialize.js.map +1 -0
- package/dist/classes/company/codec.d.ts +4 -0
- package/dist/classes/company/codec.d.ts.map +1 -0
- package/dist/classes/company/codec.js +11 -0
- package/dist/classes/company/codec.js.map +1 -0
- package/dist/classes/company/deserialize.d.ts +5 -0
- package/dist/classes/company/deserialize.d.ts.map +1 -0
- package/dist/classes/company/deserialize.js +64 -0
- package/dist/classes/company/deserialize.js.map +1 -0
- package/dist/classes/company/index.d.ts +6 -0
- package/dist/classes/company/index.d.ts.map +1 -0
- package/dist/classes/company/index.js +5 -0
- package/dist/classes/company/index.js.map +1 -0
- package/dist/classes/company/schema.d.ts +23 -0
- package/dist/classes/company/schema.d.ts.map +1 -0
- package/dist/classes/company/schema.js +23 -0
- package/dist/classes/company/schema.js.map +1 -0
- package/dist/classes/company/serialize.d.ts +6 -0
- package/dist/classes/company/serialize.d.ts.map +1 -0
- package/dist/classes/company/serialize.js +28 -0
- package/dist/classes/company/serialize.js.map +1 -0
- package/dist/classes/customs-information/codec.d.ts +4 -0
- package/dist/classes/customs-information/codec.d.ts.map +1 -0
- package/dist/classes/customs-information/codec.js +11 -0
- package/dist/classes/customs-information/codec.js.map +1 -0
- package/dist/classes/customs-information/deserialize.d.ts +5 -0
- package/dist/classes/customs-information/deserialize.d.ts.map +1 -0
- package/dist/classes/customs-information/deserialize.js +64 -0
- package/dist/classes/customs-information/deserialize.js.map +1 -0
- package/dist/classes/customs-information/index.d.ts +6 -0
- package/dist/classes/customs-information/index.d.ts.map +1 -0
- package/dist/classes/customs-information/index.js +5 -0
- package/dist/classes/customs-information/index.js.map +1 -0
- package/dist/classes/customs-information/schema.d.ts +18 -0
- package/dist/classes/customs-information/schema.d.ts.map +1 -0
- package/dist/classes/customs-information/schema.js +17 -0
- package/dist/classes/customs-information/schema.js.map +1 -0
- package/dist/classes/customs-information/serialize.d.ts +6 -0
- package/dist/classes/customs-information/serialize.d.ts.map +1 -0
- package/dist/classes/customs-information/serialize.js +28 -0
- package/dist/classes/customs-information/serialize.js.map +1 -0
- package/dist/classes/insurance/codec.d.ts +4 -0
- package/dist/classes/insurance/codec.d.ts.map +1 -0
- package/dist/classes/insurance/codec.js +11 -0
- package/dist/classes/insurance/codec.js.map +1 -0
- package/dist/classes/insurance/deserialize.d.ts +5 -0
- package/dist/classes/insurance/deserialize.d.ts.map +1 -0
- package/dist/classes/insurance/deserialize.js +64 -0
- package/dist/classes/insurance/deserialize.js.map +1 -0
- package/dist/classes/insurance/index.d.ts +6 -0
- package/dist/classes/insurance/index.d.ts.map +1 -0
- package/dist/classes/insurance/index.js +5 -0
- package/dist/classes/insurance/index.js.map +1 -0
- package/dist/classes/insurance/schema.d.ts +17 -0
- package/dist/classes/insurance/schema.d.ts.map +1 -0
- package/dist/classes/insurance/schema.js +11 -0
- package/dist/classes/insurance/schema.js.map +1 -0
- package/dist/classes/insurance/serialize.d.ts +6 -0
- package/dist/classes/insurance/serialize.d.ts.map +1 -0
- package/dist/classes/insurance/serialize.js +28 -0
- package/dist/classes/insurance/serialize.js.map +1 -0
- package/dist/classes/line-item-package/codec.d.ts +4 -0
- package/dist/classes/line-item-package/codec.d.ts.map +1 -0
- package/dist/classes/line-item-package/codec.js +11 -0
- package/dist/classes/line-item-package/codec.js.map +1 -0
- package/dist/classes/line-item-package/deserialize.d.ts +5 -0
- package/dist/classes/line-item-package/deserialize.d.ts.map +1 -0
- package/dist/classes/line-item-package/deserialize.js +64 -0
- package/dist/classes/line-item-package/deserialize.js.map +1 -0
- package/dist/classes/line-item-package/index.d.ts +6 -0
- package/dist/classes/line-item-package/index.d.ts.map +1 -0
- package/dist/classes/line-item-package/index.js +5 -0
- package/dist/classes/line-item-package/index.js.map +1 -0
- package/dist/classes/line-item-package/schema.d.ts +22 -0
- package/dist/classes/line-item-package/schema.d.ts.map +1 -0
- package/dist/classes/line-item-package/schema.js +12 -0
- package/dist/classes/line-item-package/schema.js.map +1 -0
- package/dist/classes/line-item-package/serialize.d.ts +6 -0
- package/dist/classes/line-item-package/serialize.d.ts.map +1 -0
- package/dist/classes/line-item-package/serialize.js +28 -0
- package/dist/classes/line-item-package/serialize.js.map +1 -0
- package/dist/classes/other-charge/codec.d.ts +4 -0
- package/dist/classes/other-charge/codec.d.ts.map +1 -0
- package/dist/classes/other-charge/codec.js +11 -0
- package/dist/classes/other-charge/codec.js.map +1 -0
- package/dist/classes/other-charge/deserialize.d.ts +5 -0
- package/dist/classes/other-charge/deserialize.d.ts.map +1 -0
- package/dist/classes/other-charge/deserialize.js +64 -0
- package/dist/classes/other-charge/deserialize.js.map +1 -0
- package/dist/classes/other-charge/index.d.ts +6 -0
- package/dist/classes/other-charge/index.d.ts.map +1 -0
- package/dist/classes/other-charge/index.js +5 -0
- package/dist/classes/other-charge/index.js.map +1 -0
- package/dist/classes/other-charge/schema.d.ts +27 -0
- package/dist/classes/other-charge/schema.d.ts.map +1 -0
- package/dist/classes/other-charge/schema.js +14 -0
- package/dist/classes/other-charge/schema.js.map +1 -0
- package/dist/classes/other-charge/serialize.d.ts +6 -0
- package/dist/classes/other-charge/serialize.d.ts.map +1 -0
- package/dist/classes/other-charge/serialize.js +28 -0
- package/dist/classes/other-charge/serialize.js.map +1 -0
- package/dist/classes/party/schema.d.ts +9 -1
- package/dist/classes/party/schema.d.ts.map +1 -1
- package/dist/classes/party/schema.js +5 -2
- package/dist/classes/party/schema.js.map +1 -1
- package/dist/classes/piece/schema.d.ts +11 -0
- package/dist/classes/piece/schema.d.ts.map +1 -1
- package/dist/classes/piece/schema.js +10 -0
- package/dist/classes/piece/schema.js.map +1 -1
- package/dist/classes/regulated-entity/codec.d.ts +4 -0
- package/dist/classes/regulated-entity/codec.d.ts.map +1 -0
- package/dist/classes/regulated-entity/codec.js +11 -0
- package/dist/classes/regulated-entity/codec.js.map +1 -0
- package/dist/classes/regulated-entity/deserialize.d.ts +5 -0
- package/dist/classes/regulated-entity/deserialize.d.ts.map +1 -0
- package/dist/classes/regulated-entity/deserialize.js +64 -0
- package/dist/classes/regulated-entity/deserialize.js.map +1 -0
- package/dist/classes/regulated-entity/index.d.ts +6 -0
- package/dist/classes/regulated-entity/index.d.ts.map +1 -0
- package/dist/classes/regulated-entity/index.js +5 -0
- package/dist/classes/regulated-entity/index.js.map +1 -0
- package/dist/classes/regulated-entity/schema.d.ts +19 -0
- package/dist/classes/regulated-entity/schema.d.ts.map +1 -0
- package/dist/classes/regulated-entity/schema.js +12 -0
- package/dist/classes/regulated-entity/schema.js.map +1 -0
- package/dist/classes/regulated-entity/serialize.d.ts +6 -0
- package/dist/classes/regulated-entity/serialize.d.ts.map +1 -0
- package/dist/classes/regulated-entity/serialize.js +28 -0
- package/dist/classes/regulated-entity/serialize.js.map +1 -0
- package/dist/classes/security-declaration/codec.d.ts +4 -0
- package/dist/classes/security-declaration/codec.d.ts.map +1 -0
- package/dist/classes/security-declaration/codec.js +11 -0
- package/dist/classes/security-declaration/codec.js.map +1 -0
- package/dist/classes/security-declaration/deserialize.d.ts +5 -0
- package/dist/classes/security-declaration/deserialize.d.ts.map +1 -0
- package/dist/classes/security-declaration/deserialize.js +64 -0
- package/dist/classes/security-declaration/deserialize.js.map +1 -0
- package/dist/classes/security-declaration/index.d.ts +6 -0
- package/dist/classes/security-declaration/index.d.ts.map +1 -0
- package/dist/classes/security-declaration/index.js +5 -0
- package/dist/classes/security-declaration/index.js.map +1 -0
- package/dist/classes/security-declaration/schema.d.ts +44 -0
- package/dist/classes/security-declaration/schema.d.ts.map +1 -0
- package/dist/classes/security-declaration/schema.js +21 -0
- package/dist/classes/security-declaration/schema.js.map +1 -0
- package/dist/classes/security-declaration/serialize.d.ts +6 -0
- package/dist/classes/security-declaration/serialize.d.ts.map +1 -0
- package/dist/classes/security-declaration/serialize.js +28 -0
- package/dist/classes/security-declaration/serialize.js.map +1 -0
- package/dist/classes/shared/value.d.ts +44 -0
- package/dist/classes/shared/value.d.ts.map +1 -0
- package/dist/classes/shared/value.js +39 -0
- package/dist/classes/shared/value.js.map +1 -0
- package/dist/classes/shipment/schema.d.ts +31 -8
- package/dist/classes/shipment/schema.d.ts.map +1 -1
- package/dist/classes/shipment/schema.js +15 -5
- package/dist/classes/shipment/schema.js.map +1 -1
- package/dist/classes/transport-movement/schema.d.ts +22 -0
- package/dist/classes/transport-movement/schema.d.ts.map +1 -1
- package/dist/classes/transport-movement/schema.js +7 -0
- package/dist/classes/transport-movement/schema.js.map +1 -1
- package/dist/classes/uld/codec.d.ts +4 -0
- package/dist/classes/uld/codec.d.ts.map +1 -0
- package/dist/classes/uld/codec.js +11 -0
- package/dist/classes/uld/codec.js.map +1 -0
- package/dist/classes/uld/deserialize.d.ts +5 -0
- package/dist/classes/uld/deserialize.d.ts.map +1 -0
- package/dist/classes/uld/deserialize.js +64 -0
- package/dist/classes/uld/deserialize.js.map +1 -0
- package/dist/classes/uld/index.d.ts +6 -0
- package/dist/classes/uld/index.d.ts.map +1 -0
- package/dist/classes/uld/index.js +5 -0
- package/dist/classes/uld/index.js.map +1 -0
- package/dist/classes/uld/schema.d.ts +31 -0
- package/dist/classes/uld/schema.d.ts.map +1 -0
- package/dist/classes/uld/schema.js +29 -0
- package/dist/classes/uld/schema.js.map +1 -0
- package/dist/classes/uld/serialize.d.ts +6 -0
- package/dist/classes/uld/serialize.d.ts.map +1 -0
- package/dist/classes/uld/serialize.js +28 -0
- package/dist/classes/uld/serialize.js.map +1 -0
- package/dist/classes/waybill/schema.d.ts +45 -5
- package/dist/classes/waybill/schema.d.ts.map +1 -1
- package/dist/classes/waybill/schema.js +28 -7
- package/dist/classes/waybill/schema.js.map +1 -1
- package/dist/classes/waybill-line-item/codec.d.ts +4 -0
- package/dist/classes/waybill-line-item/codec.d.ts.map +1 -0
- package/dist/classes/waybill-line-item/codec.js +11 -0
- package/dist/classes/waybill-line-item/codec.js.map +1 -0
- package/dist/classes/waybill-line-item/deserialize.d.ts +5 -0
- package/dist/classes/waybill-line-item/deserialize.d.ts.map +1 -0
- package/dist/classes/waybill-line-item/deserialize.js +64 -0
- package/dist/classes/waybill-line-item/deserialize.js.map +1 -0
- package/dist/classes/waybill-line-item/index.d.ts +6 -0
- package/dist/classes/waybill-line-item/index.d.ts.map +1 -0
- package/dist/classes/waybill-line-item/index.js +5 -0
- package/dist/classes/waybill-line-item/index.js.map +1 -0
- package/dist/classes/waybill-line-item/schema.d.ts +44 -0
- package/dist/classes/waybill-line-item/schema.d.ts.map +1 -0
- package/dist/classes/waybill-line-item/schema.js +22 -0
- package/dist/classes/waybill-line-item/schema.js.map +1 -0
- package/dist/classes/waybill-line-item/serialize.d.ts +6 -0
- package/dist/classes/waybill-line-item/serialize.d.ts.map +1 -0
- package/dist/classes/waybill-line-item/serialize.js +28 -0
- package/dist/classes/waybill-line-item/serialize.js.map +1 -0
- package/dist/codecs.d.ts +10 -1
- package/dist/codecs.d.ts.map +1 -1
- package/dist/codecs.js +10 -1
- package/dist/codecs.js.map +1 -1
- package/dist/codes/enums.d.ts +35 -0
- package/dist/codes/enums.d.ts.map +1 -1
- package/dist/codes/enums.js +4 -0
- package/dist/codes/enums.js.map +1 -1
- package/dist/codes/index.d.ts +1 -1
- package/dist/codes/index.d.ts.map +1 -1
- package/dist/codes/index.js +1 -1
- package/dist/codes/index.js.map +1 -1
- package/dist/dispatch/domain-constraints.d.ts +13 -8
- package/dist/dispatch/domain-constraints.d.ts.map +1 -1
- package/dist/dispatch/domain-constraints.js +14 -24
- package/dist/dispatch/domain-constraints.js.map +1 -1
- package/dist/dispatch/field-types.d.ts +2 -3
- package/dist/dispatch/field-types.d.ts.map +1 -1
- package/dist/dispatch/field-types.js +60 -13
- package/dist/dispatch/field-types.js.map +1 -1
- package/dist/dispatch/graph-walk.d.ts.map +1 -1
- package/dist/dispatch/graph-walk.js +9 -8
- package/dist/dispatch/graph-walk.js.map +1 -1
- package/dist/facade.d.ts +12 -3
- package/dist/facade.d.ts.map +1 -1
- package/dist/factory-classes.d.ts +27 -6
- package/dist/factory-classes.d.ts.map +1 -1
- package/dist/factory-classes.js +27 -6
- package/dist/factory-classes.js.map +1 -1
- package/dist/index.d.ts +20 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +20 -2
- package/dist/index.js.map +1 -1
- package/dist/iri/zod-safe-iri.d.ts +18 -2
- package/dist/iri/zod-safe-iri.d.ts.map +1 -1
- package/dist/iri/zod-safe-iri.js +14 -2
- package/dist/iri/zod-safe-iri.js.map +1 -1
- package/dist/types/index.d.ts +10 -1
- package/dist/types/index.d.ts.map +1 -1
- package/dist/version.d.ts +9 -4
- package/dist/version.d.ts.map +1 -1
- package/dist/version.js +18 -6
- package/dist/version.js.map +1 -1
- package/package.json +7 -6
|
@@ -4,8 +4,8 @@ import type { SafeIri } from './strategy.js';
|
|
|
4
4
|
import { type ValidateIriOpts } from './validate.js';
|
|
5
5
|
/**
|
|
6
6
|
* Zod helper for IRI-shaped fields. Use in every per-class schema for IRI fields:
|
|
7
|
-
*
|
|
8
|
-
*
|
|
7
|
+
* shipment: safeIri().optional()
|
|
8
|
+
* pieces: z.array(safeIri()).min(1).optional()
|
|
9
9
|
*
|
|
10
10
|
* On failure, emits a `custom` Zod issue with a structured `params` payload
|
|
11
11
|
* tagged with `__safe_iri__: true`. Per-class deserializers walk the Zod
|
|
@@ -36,12 +36,28 @@ export declare function extractInvalidIriIssue(issue: {
|
|
|
36
36
|
* lifted to ParseError (or null if none). Per-class deserializers prefer this
|
|
37
37
|
* to the per-issue helper because the negative-test catalogue asserts
|
|
38
38
|
* `r.error.kind === 'invalid_iri'` on the FIRST IRI failure.
|
|
39
|
+
*
|
|
40
|
+
* Recurses into `invalid_union` nested error sets so that safeIri failures
|
|
41
|
+
* inside a z.union() arm are still surfaced correctly (e.g. partyDetails IdRef
|
|
42
|
+
* union — see 3.2-rc2 :partyDetails TTL:1881, :Party restriction TTL:8080).
|
|
39
43
|
*/
|
|
40
44
|
export declare function findInvalidIriInIssues(issues: ReadonlyArray<{
|
|
41
45
|
code?: string;
|
|
42
46
|
message?: string;
|
|
43
47
|
path: ReadonlyArray<PropertyKey>;
|
|
44
48
|
params?: unknown;
|
|
49
|
+
errors?: ReadonlyArray<ReadonlyArray<{
|
|
50
|
+
code?: string;
|
|
51
|
+
message?: string;
|
|
52
|
+
path: ReadonlyArray<PropertyKey>;
|
|
53
|
+
params?: unknown;
|
|
54
|
+
errors?: ReadonlyArray<ReadonlyArray<{
|
|
55
|
+
code?: string;
|
|
56
|
+
message?: string;
|
|
57
|
+
path: ReadonlyArray<PropertyKey>;
|
|
58
|
+
params?: unknown;
|
|
59
|
+
}>>;
|
|
60
|
+
}>>;
|
|
45
61
|
}>, envelopePathPrefix?: string): Extract<ParseError, {
|
|
46
62
|
kind: 'invalid_iri';
|
|
47
63
|
}> | null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"zod-safe-iri.d.ts","sourceRoot":"","sources":["../../src/iri/zod-safe-iri.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AACvB,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAC9C,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AAC5C,OAAO,EAAE,KAAK,eAAe,EAAe,MAAM,eAAe,CAAA;AAejE;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,OAAO,CAAC,IAAI,GAAE,eAAoB,2DAiBjD;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CACpC,KAAK,EAAE;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,aAAa,CAAC,WAAW,CAAC,CAAC;IAAC,MAAM,CAAC,EAAE,OAAO,CAAA;CAAE,EAC9F,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,UAAU,EAAE;IAAE,IAAI,EAAE,aAAa,CAAA;CAAE,CAAC,GAAG,IAAI,CAWrD;AAED
|
|
1
|
+
{"version":3,"file":"zod-safe-iri.d.ts","sourceRoot":"","sources":["../../src/iri/zod-safe-iri.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AACvB,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAC9C,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AAC5C,OAAO,EAAE,KAAK,eAAe,EAAe,MAAM,eAAe,CAAA;AAejE;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,OAAO,CAAC,IAAI,GAAE,eAAoB,2DAiBjD;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CACpC,KAAK,EAAE;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,aAAa,CAAC,WAAW,CAAC,CAAC;IAAC,MAAM,CAAC,EAAE,OAAO,CAAA;CAAE,EAC9F,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,UAAU,EAAE;IAAE,IAAI,EAAE,aAAa,CAAA;CAAE,CAAC,GAAG,IAAI,CAWrD;AAED;;;;;;;;;GASG;AACH,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,aAAa,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,IAAI,EAAE,aAAa,CAAC,WAAW,CAAC,CAAA;IAChC,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,MAAM,CAAC,EAAE,aAAa,CACpB,aAAa,CAAC;QACZ,IAAI,CAAC,EAAE,MAAM,CAAA;QACb,OAAO,CAAC,EAAE,MAAM,CAAA;QAChB,IAAI,EAAE,aAAa,CAAC,WAAW,CAAC,CAAA;QAChC,MAAM,CAAC,EAAE,OAAO,CAAA;QAChB,MAAM,CAAC,EAAE,aAAa,CACpB,aAAa,CAAC;YACZ,IAAI,CAAC,EAAE,MAAM,CAAA;YACb,OAAO,CAAC,EAAE,MAAM,CAAA;YAChB,IAAI,EAAE,aAAa,CAAC,WAAW,CAAC,CAAA;YAChC,MAAM,CAAC,EAAE,OAAO,CAAA;SACjB,CAAC,CACH,CAAA;KACF,CAAC,CACH,CAAA;CACF,CAAC,EACF,kBAAkB,SAAM,GACvB,OAAO,CAAC,UAAU,EAAE;IAAE,IAAI,EAAE,aAAa,CAAA;CAAE,CAAC,GAAG,IAAI,CAiBrD"}
|
package/dist/iri/zod-safe-iri.js
CHANGED
|
@@ -8,8 +8,8 @@ import { validateIri } from './validate.js';
|
|
|
8
8
|
const SAFE_IRI_PARAMS_MARKER = '__safe_iri__';
|
|
9
9
|
/**
|
|
10
10
|
* Zod helper for IRI-shaped fields. Use in every per-class schema for IRI fields:
|
|
11
|
-
*
|
|
12
|
-
*
|
|
11
|
+
* shipment: safeIri().optional()
|
|
12
|
+
* pieces: z.array(safeIri()).min(1).optional()
|
|
13
13
|
*
|
|
14
14
|
* On failure, emits a `custom` Zod issue with a structured `params` payload
|
|
15
15
|
* tagged with `__safe_iri__: true`. Per-class deserializers walk the Zod
|
|
@@ -64,6 +64,10 @@ export function extractInvalidIriIssue(issue, path) {
|
|
|
64
64
|
* lifted to ParseError (or null if none). Per-class deserializers prefer this
|
|
65
65
|
* to the per-issue helper because the negative-test catalogue asserts
|
|
66
66
|
* `r.error.kind === 'invalid_iri'` on the FIRST IRI failure.
|
|
67
|
+
*
|
|
68
|
+
* Recurses into `invalid_union` nested error sets so that safeIri failures
|
|
69
|
+
* inside a z.union() arm are still surfaced correctly (e.g. partyDetails IdRef
|
|
70
|
+
* union — see 3.2-rc2 :partyDetails TTL:1881, :Party restriction TTL:8080).
|
|
67
71
|
*/
|
|
68
72
|
export function findInvalidIriInIssues(issues, envelopePathPrefix = '$') {
|
|
69
73
|
for (const issue of issues) {
|
|
@@ -73,6 +77,14 @@ export function findInvalidIriInIssues(issues, envelopePathPrefix = '$') {
|
|
|
73
77
|
const extracted = extractInvalidIriIssue(issue, dotted);
|
|
74
78
|
if (extracted)
|
|
75
79
|
return extracted;
|
|
80
|
+
// Recurse into invalid_union nested error sets
|
|
81
|
+
if (issue.code === 'invalid_union' && Array.isArray(issue.errors)) {
|
|
82
|
+
for (const nestedIssues of issue.errors) {
|
|
83
|
+
const nested = findInvalidIriInIssues(nestedIssues, dotted);
|
|
84
|
+
if (nested)
|
|
85
|
+
return nested;
|
|
86
|
+
}
|
|
87
|
+
}
|
|
76
88
|
}
|
|
77
89
|
return null;
|
|
78
90
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"zod-safe-iri.js","sourceRoot":"","sources":["../../src/iri/zod-safe-iri.ts"],"names":[],"mappings":"AAAA,0BAA0B;AAC1B,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAGvB,OAAO,EAAwB,WAAW,EAAE,MAAM,eAAe,CAAA;AAEjE;;;GAGG;AACH,MAAM,sBAAsB,GAAG,cAAuB,CAAA;AAStD;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,OAAO,CAAC,OAAwB,EAAE;IAChD,OAAO,CAAC,CAAC,MAAM,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,GAAG,EAAW,EAAE;QAC9C,MAAM,CAAC,GAAG,WAAW,CAAC,CAAC,EAAE,IAAI,CAAC,CAAA;QAC9B,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;YACV,4EAA4E;YAC5E,MAAM,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,IAAI,KAAK,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,CAAA;YAC5E,MAAM,MAAM,GAAuB;gBACjC,CAAC,sBAAsB,CAAC,EAAE,IAAI;gBAC9B,IAAI,EAAE,aAAa;gBACnB,GAAG,EAAE,CAAC;gBACN,MAAM;aACP,CAAA;YACD,GAAG,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,EAAE,CAAC,CAAA;YAChE,OAAO,CAAC,CAAC,KAAc,CAAA;QACzB,CAAC;QACD,OAAO,CAAC,CAAC,KAAK,CAAA;IAChB,CAAC,CAAC,CAAA;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,sBAAsB,CACpC,KAA8F,EAC9F,IAAY;IAEZ,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,KAAK,aAAa;QAAE,OAAO,IAAI,CAAA;IAC3E,MAAM,CAAC,GAAG,KAAK,CAAC,MAAiD,CAAA;IACjE,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,sBAAsB,CAAC,KAAK,IAAI;QAAE,OAAO,IAAI,CAAA;IACzD,IAAI,CAAC,CAAC,IAAI,KAAK,aAAa;QAAE,OAAO,IAAI,CAAA;IACzC,OAAO;QACL,IAAI,EAAE,aAAa;QACnB,GAAG,EAAE,CAAC,CAAC,GAAG,IAAI,EAAE;QAChB,MAAM,EAAE,CAAC,CAAC,MAAM,IAAI,WAAW;QAC/B,IAAI;KACL,CAAA;AACH,CAAC;AAED
|
|
1
|
+
{"version":3,"file":"zod-safe-iri.js","sourceRoot":"","sources":["../../src/iri/zod-safe-iri.ts"],"names":[],"mappings":"AAAA,0BAA0B;AAC1B,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAGvB,OAAO,EAAwB,WAAW,EAAE,MAAM,eAAe,CAAA;AAEjE;;;GAGG;AACH,MAAM,sBAAsB,GAAG,cAAuB,CAAA;AAStD;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,OAAO,CAAC,OAAwB,EAAE;IAChD,OAAO,CAAC,CAAC,MAAM,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,GAAG,EAAW,EAAE;QAC9C,MAAM,CAAC,GAAG,WAAW,CAAC,CAAC,EAAE,IAAI,CAAC,CAAA;QAC9B,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;YACV,4EAA4E;YAC5E,MAAM,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,IAAI,KAAK,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,CAAA;YAC5E,MAAM,MAAM,GAAuB;gBACjC,CAAC,sBAAsB,CAAC,EAAE,IAAI;gBAC9B,IAAI,EAAE,aAAa;gBACnB,GAAG,EAAE,CAAC;gBACN,MAAM;aACP,CAAA;YACD,GAAG,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,EAAE,CAAC,CAAA;YAChE,OAAO,CAAC,CAAC,KAAc,CAAA;QACzB,CAAC;QACD,OAAO,CAAC,CAAC,KAAK,CAAA;IAChB,CAAC,CAAC,CAAA;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,sBAAsB,CACpC,KAA8F,EAC9F,IAAY;IAEZ,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,KAAK,aAAa;QAAE,OAAO,IAAI,CAAA;IAC3E,MAAM,CAAC,GAAG,KAAK,CAAC,MAAiD,CAAA;IACjE,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,sBAAsB,CAAC,KAAK,IAAI;QAAE,OAAO,IAAI,CAAA;IACzD,IAAI,CAAC,CAAC,IAAI,KAAK,aAAa;QAAE,OAAO,IAAI,CAAA;IACzC,OAAO;QACL,IAAI,EAAE,aAAa;QACnB,GAAG,EAAE,CAAC,CAAC,GAAG,IAAI,EAAE;QAChB,MAAM,EAAE,CAAC,CAAC,MAAM,IAAI,WAAW;QAC/B,IAAI;KACL,CAAA;AACH,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,sBAAsB,CACpC,MAqBE,EACF,kBAAkB,GAAG,GAAG;IAExB,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,MAAM,MAAM,GACV,KAAK,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC;YACrB,CAAC,CAAC,kBAAkB;YACpB,CAAC,CAAC,GAAG,kBAAkB,IAAI,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAA;QACjE,MAAM,SAAS,GAAG,sBAAsB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAA;QACvD,IAAI,SAAS;YAAE,OAAO,SAAS,CAAA;QAC/B,+CAA+C;QAC/C,IAAI,KAAK,CAAC,IAAI,KAAK,eAAe,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;YAClE,KAAK,MAAM,YAAY,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;gBACxC,MAAM,MAAM,GAAG,sBAAsB,CAAC,YAAY,EAAE,MAAM,CAAC,CAAA;gBAC3D,IAAI,MAAM;oBAAE,OAAO,MAAM,CAAA;YAC3B,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAA;AACb,CAAC"}
|
package/dist/types/index.d.ts
CHANGED
|
@@ -9,6 +9,7 @@ export type { AccessDelegationRequest, JsonLdAccessDelegationRequest, } from '..
|
|
|
9
9
|
export type { AccountNumber, JsonLdAccountNumber } from '../classes/account-number/index.js';
|
|
10
10
|
export type { Address, JsonLdAddress } from '../classes/address/index.js';
|
|
11
11
|
export type { Booking, JsonLdBooking } from '../classes/booking/index.js';
|
|
12
|
+
export type { CO2Emissions, JsonLdCO2Emissions } from '../classes/co2-emissions/index.js';
|
|
12
13
|
export type { BookingOption, JsonLdBookingOption } from '../classes/booking-option/index.js';
|
|
13
14
|
export type { BookingOptionRequest, JsonLdBookingOptionRequest, } from '../classes/booking-option-request/index.js';
|
|
14
15
|
export type { BookingPreferences, JsonLdBookingPreferences, } from '../classes/booking-preferences/index.js';
|
|
@@ -18,13 +19,17 @@ export type { BookingShipment, JsonLdBookingShipment } from '../classes/booking-
|
|
|
18
19
|
export type { BookingTimes, JsonLdBookingTimes } from '../classes/booking-times/index.js';
|
|
19
20
|
export type { Change, JsonLdChange } from '../classes/change/index.js';
|
|
20
21
|
export type { ChangeRequest, JsonLdChangeRequest } from '../classes/change-request/index.js';
|
|
22
|
+
export type { Company, JsonLdCompany } from '../classes/company/index.js';
|
|
23
|
+
export type { CustomsInformation, JsonLdCustomsInformation, } from '../classes/customs-information/index.js';
|
|
21
24
|
export type { HandlingService, JsonLdHandlingService } from '../classes/handling-service/index.js';
|
|
25
|
+
export type { Insurance, JsonLdInsurance } from '../classes/insurance/index.js';
|
|
26
|
+
export type { JsonLdLineItemPackage, LineItemPackage } from '../classes/line-item-package/index.js';
|
|
22
27
|
export type { JsonLdLocation, Location } from '../classes/location/index.js';
|
|
23
28
|
export type { JsonLdLogisticsEvent, LogisticsEvent } from '../classes/logistics-event/index.js';
|
|
24
29
|
export type { JsonLdMovementTime, MovementTime } from '../classes/movement-time/index.js';
|
|
25
30
|
export type { JsonLdNotification, Notification } from '../classes/notification/index.js';
|
|
26
31
|
export type { JsonLdOperation, Operation } from '../classes/operation/index.js';
|
|
27
|
-
export type {
|
|
32
|
+
export type { JsonLdOtherCharge, OtherCharge } from '../classes/other-charge/index.js';
|
|
28
33
|
export type { JsonLdParty, Party } from '../classes/party/index.js';
|
|
29
34
|
export type { JsonLdPerson, Person } from '../classes/person/index.js';
|
|
30
35
|
export type { JsonLdPiece, Piece } from '../classes/piece/index.js';
|
|
@@ -33,7 +38,11 @@ export type { JsonLdShipment, Shipment } from '../classes/shipment/index.js';
|
|
|
33
38
|
export type { JsonLdSubscription, Subscription } from '../classes/subscription/index.js';
|
|
34
39
|
export type { JsonLdSubscriptionRequest, SubscriptionRequest, } from '../classes/subscription-request/index.js';
|
|
35
40
|
export type { JsonLdTransportMovement, TransportMovement, } from '../classes/transport-movement/index.js';
|
|
41
|
+
export type { JsonLdRegulatedEntity, RegulatedEntity, } from '../classes/regulated-entity/index.js';
|
|
42
|
+
export type { JsonLdSecurityDeclaration, SecurityDeclaration, } from '../classes/security-declaration/index.js';
|
|
43
|
+
export type { JsonLdULD, ULD } from '../classes/uld/index.js';
|
|
36
44
|
export type { JsonLdVerification, UnverifiedVerification, Verification, } from '../classes/verification/index.js';
|
|
37
45
|
export type { JsonLdVerificationRequest, VerificationRequest, } from '../classes/verification-request/index.js';
|
|
38
46
|
export type { JsonLdWaybill, Waybill } from '../classes/waybill/index.js';
|
|
47
|
+
export type { JsonLdWaybillLineItem, WaybillLineItem, } from '../classes/waybill-line-item/index.js';
|
|
39
48
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAIA,YAAY,EAAE,UAAU,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAA;AAC7E,YAAY,EAAE,KAAK,EAAE,MAAM,4BAA4B,CAAA;AACvD,YAAY,EAAE,MAAM,EAAE,MAAM,mCAAmC,CAAA;AAC/D,YAAY,EAAE,eAAe,EAAE,MAAM,uCAAuC,CAAA;AAC5E,YAAY,EAAE,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAA;AACnF,YAAY,EAAE,YAAY,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AAGvF,YAAY,EACV,gBAAgB,EAChB,sBAAsB,GACvB,MAAM,uCAAuC,CAAA;AAC9C,YAAY,EACV,uBAAuB,EACvB,6BAA6B,GAC9B,MAAM,+CAA+C,CAAA;AACtD,YAAY,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,oCAAoC,CAAA;AAC5F,YAAY,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAA;AACzE,YAAY,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAA;AACzE,YAAY,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,oCAAoC,CAAA;AAC5F,YAAY,EACV,oBAAoB,EACpB,0BAA0B,GAC3B,MAAM,4CAA4C,CAAA;AACnD,YAAY,EACV,kBAAkB,EAClB,wBAAwB,GACzB,MAAM,yCAAyC,CAAA;AAChD,YAAY,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAA;AAC/F,YAAY,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAA;AAC/F,YAAY,EAAE,eAAe,EAAE,qBAAqB,EAAE,MAAM,sCAAsC,CAAA;AAClG,YAAY,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAA;AACzF,YAAY,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAA;AACtE,YAAY,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,oCAAoC,CAAA;AAC5F,YAAY,EAAE,eAAe,EAAE,qBAAqB,EAAE,MAAM,sCAAsC,CAAA;AAClG,YAAY,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAA;AAC5E,YAAY,EAAE,oBAAoB,EAAE,cAAc,EAAE,MAAM,qCAAqC,CAAA;AAC/F,YAAY,EAAE,kBAAkB,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAA;AACzF,YAAY,EAAE,kBAAkB,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAA;AACxF,YAAY,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAA;AAC/E,YAAY,EAAE,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"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"}
|
package/dist/version.d.ts
CHANGED
|
@@ -1,11 +1,13 @@
|
|
|
1
1
|
export { CARGO_CONTEXT_IRI, API_CONTEXT_IRI, ALLOWED_CONTEXTS, assertContextAllowed, } from './context.js';
|
|
2
|
-
export declare const __VERSION__: "0.
|
|
3
|
-
export declare const CARGO_ONTOLOGY_VERSION: "3.2";
|
|
2
|
+
export declare const __VERSION__: "0.3.0";
|
|
3
|
+
export declare const CARGO_ONTOLOGY_VERSION: "3.2.0";
|
|
4
4
|
export declare const API_SPEC_VERSION: "2.2.0";
|
|
5
5
|
import type { ServerInformation } from './classes/server-information/index.js';
|
|
6
6
|
/**
|
|
7
|
-
* Hard-fail if the consumer's expected ontology version
|
|
8
|
-
*
|
|
7
|
+
* Hard-fail if the consumer's expected ontology version is not in the
|
|
8
|
+
* accepted set. Use at consumer startup to surface mismatch loudly.
|
|
9
|
+
* Accepts '3.2.0' (canonical) and '3.2' (legacy alias). Rejects all others
|
|
10
|
+
* including '3.2.1' (master-only, not endorsed).
|
|
9
11
|
*/
|
|
10
12
|
export declare function assertOntologyVersion(expected: string): void;
|
|
11
13
|
export interface ServerCompatibility {
|
|
@@ -18,6 +20,9 @@ export interface ServerCompatibility {
|
|
|
18
20
|
* Inspect a deserialized `ServerInformation` and report compatibility with
|
|
19
21
|
* this mapper's ontology pin. Returns structured result rather than throwing
|
|
20
22
|
* so consumers can warn-and-continue or hard-fail per their policy.
|
|
23
|
+
*
|
|
24
|
+
* Compatible iff `cargoOntologyVersion` is in the accepted set
|
|
25
|
+
* ('3.2.0' or '3.2'). null or any other value (including '3.2.1') → false.
|
|
21
26
|
*/
|
|
22
27
|
export declare function checkServerInformation(si: ServerInformation): ServerCompatibility;
|
|
23
28
|
//# sourceMappingURL=version.d.ts.map
|
package/dist/version.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"AACA,OAAO,EACL,iBAAiB,EACjB,eAAe,EACf,gBAAgB,EAChB,oBAAoB,GACrB,MAAM,cAAc,CAAA;AAErB,eAAO,MAAM,WAAW,EAAG,
|
|
1
|
+
{"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"AACA,OAAO,EACL,iBAAiB,EACjB,eAAe,EACf,gBAAgB,EAChB,oBAAoB,GACrB,MAAM,cAAc,CAAA;AAErB,eAAO,MAAM,WAAW,EAAG,OAAgB,CAAA;AAC3C,eAAO,MAAM,sBAAsB,EAAG,OAAgB,CAAA;AACtD,eAAO,MAAM,gBAAgB,EAAG,OAAgB,CAAA;AAUhD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAA;AAG9E;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAY5D;AAED,MAAM,WAAW,mBAAmB;IAClC,UAAU,EAAE,OAAO,CAAA;IACnB,qBAAqB,EAAE,MAAM,CAAA;IAC7B,qBAAqB,EAAE,MAAM,GAAG,IAAI,CAAA;IACpC,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAED;;;;;;;GAOG;AACH,wBAAgB,sBAAsB,CAAC,EAAE,EAAE,iBAAiB,GAAG,mBAAmB,CAuBjF"}
|
package/dist/version.js
CHANGED
|
@@ -1,14 +1,23 @@
|
|
|
1
1
|
// src/version.ts
|
|
2
2
|
export { CARGO_CONTEXT_IRI, API_CONTEXT_IRI, ALLOWED_CONTEXTS, assertContextAllowed, } from './context.js';
|
|
3
|
-
export const __VERSION__ = '0.
|
|
4
|
-
export const CARGO_ONTOLOGY_VERSION = '3.2';
|
|
3
|
+
export const __VERSION__ = '0.3.0';
|
|
4
|
+
export const CARGO_ONTOLOGY_VERSION = '3.2.0';
|
|
5
5
|
export const API_SPEC_VERSION = '2.2.0';
|
|
6
6
|
/**
|
|
7
|
-
*
|
|
8
|
-
*
|
|
7
|
+
* Exact-alias accepted set for ontology version checks.
|
|
8
|
+
* '3.2' is the legacy short-form alias for '3.2.0' (same endorsed standard).
|
|
9
|
+
* '3.2.1' is master-only (not endorsed) and is intentionally rejected.
|
|
10
|
+
* NOT a prefix/startsWith check — only the listed exact strings pass.
|
|
11
|
+
*/
|
|
12
|
+
const ACCEPTED_ONTOLOGY_VERSIONS = new Set(['3.2.0', '3.2']);
|
|
13
|
+
/**
|
|
14
|
+
* Hard-fail if the consumer's expected ontology version is not in the
|
|
15
|
+
* accepted set. Use at consumer startup to surface mismatch loudly.
|
|
16
|
+
* Accepts '3.2.0' (canonical) and '3.2' (legacy alias). Rejects all others
|
|
17
|
+
* including '3.2.1' (master-only, not endorsed).
|
|
9
18
|
*/
|
|
10
19
|
export function assertOntologyVersion(expected) {
|
|
11
|
-
if (expected
|
|
20
|
+
if (!ACCEPTED_ONTOLOGY_VERSIONS.has(expected)) {
|
|
12
21
|
const error = {
|
|
13
22
|
kind: 'incompatible_ontology_version',
|
|
14
23
|
serverVersion: expected,
|
|
@@ -21,6 +30,9 @@ export function assertOntologyVersion(expected) {
|
|
|
21
30
|
* Inspect a deserialized `ServerInformation` and report compatibility with
|
|
22
31
|
* this mapper's ontology pin. Returns structured result rather than throwing
|
|
23
32
|
* so consumers can warn-and-continue or hard-fail per their policy.
|
|
33
|
+
*
|
|
34
|
+
* Compatible iff `cargoOntologyVersion` is in the accepted set
|
|
35
|
+
* ('3.2.0' or '3.2'). null or any other value (including '3.2.1') → false.
|
|
24
36
|
*/
|
|
25
37
|
export function checkServerInformation(si) {
|
|
26
38
|
const serverOntologyVersion = si.cargoOntologyVersion ?? null;
|
|
@@ -32,7 +44,7 @@ export function checkServerInformation(si) {
|
|
|
32
44
|
reason: 'ServerInformation did not advertise cargoOntologyVersion',
|
|
33
45
|
};
|
|
34
46
|
}
|
|
35
|
-
if (serverOntologyVersion
|
|
47
|
+
if (!ACCEPTED_ONTOLOGY_VERSIONS.has(serverOntologyVersion)) {
|
|
36
48
|
return {
|
|
37
49
|
compatible: false,
|
|
38
50
|
mapperOntologyVersion: CARGO_ONTOLOGY_VERSION,
|
package/dist/version.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"version.js","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"AAAA,iBAAiB;AACjB,OAAO,EACL,iBAAiB,EACjB,eAAe,EACf,gBAAgB,EAChB,oBAAoB,GACrB,MAAM,cAAc,CAAA;AAErB,MAAM,CAAC,MAAM,WAAW,GAAG,
|
|
1
|
+
{"version":3,"file":"version.js","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"AAAA,iBAAiB;AACjB,OAAO,EACL,iBAAiB,EACjB,eAAe,EACf,gBAAgB,EAChB,oBAAoB,GACrB,MAAM,cAAc,CAAA;AAErB,MAAM,CAAC,MAAM,WAAW,GAAG,OAAgB,CAAA;AAC3C,MAAM,CAAC,MAAM,sBAAsB,GAAG,OAAgB,CAAA;AACtD,MAAM,CAAC,MAAM,gBAAgB,GAAG,OAAgB,CAAA;AAEhD;;;;;GAKG;AACH,MAAM,0BAA0B,GAAG,IAAI,GAAG,CAAC,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAA;AAK5D;;;;;GAKG;AACH,MAAM,UAAU,qBAAqB,CAAC,QAAgB;IACpD,IAAI,CAAC,0BAA0B,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC9C,MAAM,KAAK,GAAe;YACxB,IAAI,EAAE,+BAA+B;YACrC,aAAa,EAAE,QAAQ;YACvB,aAAa,EAAE,sBAAsB;SACtC,CAAA;QACD,MAAM,IAAI,KAAK,CACb,2CAA2C,QAAQ,WAAW,sBAAsB,EAAE,EACtF,EAAE,KAAK,EAAE,KAAK,EAAE,CACjB,CAAA;IACH,CAAC;AACH,CAAC;AASD;;;;;;;GAOG;AACH,MAAM,UAAU,sBAAsB,CAAC,EAAqB;IAC1D,MAAM,qBAAqB,GAAG,EAAE,CAAC,oBAAoB,IAAI,IAAI,CAAA;IAC7D,IAAI,qBAAqB,KAAK,IAAI,EAAE,CAAC;QACnC,OAAO;YACL,UAAU,EAAE,KAAK;YACjB,qBAAqB,EAAE,sBAAsB;YAC7C,qBAAqB,EAAE,IAAI;YAC3B,MAAM,EAAE,0DAA0D;SACnE,CAAA;IACH,CAAC;IACD,IAAI,CAAC,0BAA0B,CAAC,GAAG,CAAC,qBAAqB,CAAC,EAAE,CAAC;QAC3D,OAAO;YACL,UAAU,EAAE,KAAK;YACjB,qBAAqB,EAAE,sBAAsB;YAC7C,qBAAqB;YACrB,MAAM,EAAE,uCAAuC,qBAAqB,sBAAsB,sBAAsB,EAAE;SACnH,CAAA;IACH,CAAC;IACD,OAAO;QACL,UAAU,EAAE,IAAI;QAChB,qBAAqB,EAAE,sBAAsB;QAC7C,qBAAqB;KACtB,CAAA;AACH,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@flaks/onerecord",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.3.0",
|
|
4
4
|
"description": "Zero-dependency Zod-first JSON-LD mapper for IATA OneRecord cargo data model 3.2 + API spec 2.2.0",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "Apache-2.0",
|
|
@@ -63,11 +63,8 @@
|
|
|
63
63
|
"test:bench": "vitest bench",
|
|
64
64
|
"test:contract": "vitest run --config vitest.contract.config.ts",
|
|
65
65
|
"test:property": "vitest run test/property",
|
|
66
|
-
"audit
|
|
67
|
-
"
|
|
68
|
-
"audit": "bun run audit:bun; bun run audit:osv",
|
|
69
|
-
"secrets:scan": "npx --yes gitleaks@latest detect --source . --no-banner",
|
|
70
|
-
"api:check": "npx --yes @arethetypeswrong/cli@latest --pack ."
|
|
66
|
+
"audit": "bun audit",
|
|
67
|
+
"api:check": "attw --pack . --ignore-rules no-resolution cjs-resolves-to-esm"
|
|
71
68
|
},
|
|
72
69
|
"dependencies": {
|
|
73
70
|
"zod": "^4.0.0"
|
|
@@ -83,5 +80,9 @@
|
|
|
83
80
|
},
|
|
84
81
|
"publishConfig": {
|
|
85
82
|
"access": "public"
|
|
83
|
+
},
|
|
84
|
+
"overrides": {
|
|
85
|
+
"vite": "^6.4.2",
|
|
86
|
+
"esbuild": "^0.25.0"
|
|
86
87
|
}
|
|
87
88
|
}
|