@uncefact/untp-utils 0.2.0 → 0.4.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/README.md +40 -12
- package/artefacts/context/untp/0.6.0/dcc.json +1241 -0
- package/artefacts/context/untp/0.6.0/dfr.json +619 -0
- package/artefacts/context/untp/0.6.0/dia.json +162 -0
- package/artefacts/context/untp/0.6.0/dpp.json +1078 -0
- package/artefacts/context/untp/0.6.0/dte.json +1285 -0
- package/artefacts/context/untp/0.6.1/dcc.json +1388 -0
- package/artefacts/context/untp/0.6.1/dfr.json +690 -0
- package/artefacts/context/untp/0.6.1/dia.json +196 -0
- package/artefacts/context/untp/0.6.1/dpp.json +1164 -0
- package/artefacts/context/untp/0.6.1/dte.json +1340 -0
- package/artefacts/context/untp/0.7.0/untp.json +3493 -0
- package/artefacts/context/vcdm/2/credentials.json +301 -0
- package/artefacts/manifest.json +214 -0
- package/artefacts/schema/untp/0.6.0/dcc.json +1131 -0
- package/artefacts/schema/untp/0.6.0/dfr.json +1028 -0
- package/artefacts/schema/untp/0.6.0/dia.json +236 -0
- package/artefacts/schema/untp/0.6.0/dpp.json +1219 -0
- package/artefacts/schema/untp/0.6.0/dte.json +845 -0
- package/artefacts/schema/untp/0.6.1/dcc.json +1196 -0
- package/artefacts/schema/untp/0.6.1/dfr.json +1037 -0
- package/artefacts/schema/untp/0.6.1/dia.json +236 -0
- package/artefacts/schema/untp/0.6.1/dpp.json +1229 -0
- package/artefacts/schema/untp/0.6.1/dte.json +845 -0
- package/artefacts/schema/untp/0.7.0/cvc.json +701 -0
- package/artefacts/schema/untp/0.7.0/dcc.json +1133 -0
- package/artefacts/schema/untp/0.7.0/dfr.json +1245 -0
- package/artefacts/schema/untp/0.7.0/dia.json +443 -0
- package/artefacts/schema/untp/0.7.0/dpp.json +1300 -0
- package/artefacts/schema/untp/0.7.0/dte.json +1226 -0
- package/artefacts/schema/untp/0.7.0/linkset.json +119 -0
- package/artefacts/schema/vcdm/2/verifiable-credential.json +318 -0
- package/build/artefacts/detect-version-from-context.d.ts +7 -2
- package/build/artefacts/detect-version-from-context.js +17 -6
- package/build/artefacts/detect-version-from-context.js.map +1 -1
- package/build/artefacts/detect-version-from-context.test.js +59 -0
- package/build/artefacts/detect-version-from-context.test.js.map +1 -1
- package/build/artefacts/urls.d.ts +8 -1
- package/build/artefacts/urls.js +17 -5
- package/build/artefacts/urls.js.map +1 -1
- package/build/artefacts/urls.test.js +63 -1
- package/build/artefacts/urls.test.js.map +1 -1
- package/build/bundle/artefacts/context/untp/0.6.0/dcc.d.ts +2 -0
- package/build/bundle/artefacts/context/untp/0.6.0/dcc.js +1244 -0
- package/build/bundle/artefacts/context/untp/0.6.0/dcc.js.map +1 -0
- package/build/bundle/artefacts/context/untp/0.6.0/dfr.d.ts +2 -0
- package/build/bundle/artefacts/context/untp/0.6.0/dfr.js +622 -0
- package/build/bundle/artefacts/context/untp/0.6.0/dfr.js.map +1 -0
- package/build/bundle/artefacts/context/untp/0.6.0/dia.d.ts +2 -0
- package/build/bundle/artefacts/context/untp/0.6.0/dia.js +165 -0
- package/build/bundle/artefacts/context/untp/0.6.0/dia.js.map +1 -0
- package/build/bundle/artefacts/context/untp/0.6.0/dpp.d.ts +2 -0
- package/build/bundle/artefacts/context/untp/0.6.0/dpp.js +1081 -0
- package/build/bundle/artefacts/context/untp/0.6.0/dpp.js.map +1 -0
- package/build/bundle/artefacts/context/untp/0.6.0/dte.d.ts +2 -0
- package/build/bundle/artefacts/context/untp/0.6.0/dte.js +1288 -0
- package/build/bundle/artefacts/context/untp/0.6.0/dte.js.map +1 -0
- package/build/bundle/artefacts/context/untp/0.6.1/dcc.d.ts +2 -0
- package/build/bundle/artefacts/context/untp/0.6.1/dcc.js +1391 -0
- package/build/bundle/artefacts/context/untp/0.6.1/dcc.js.map +1 -0
- package/build/bundle/artefacts/context/untp/0.6.1/dfr.d.ts +2 -0
- package/build/bundle/artefacts/context/untp/0.6.1/dfr.js +693 -0
- package/build/bundle/artefacts/context/untp/0.6.1/dfr.js.map +1 -0
- package/build/bundle/artefacts/context/untp/0.6.1/dia.d.ts +2 -0
- package/build/bundle/artefacts/context/untp/0.6.1/dia.js +199 -0
- package/build/bundle/artefacts/context/untp/0.6.1/dia.js.map +1 -0
- package/build/bundle/artefacts/context/untp/0.6.1/dpp.d.ts +2 -0
- package/build/bundle/artefacts/context/untp/0.6.1/dpp.js +1167 -0
- package/build/bundle/artefacts/context/untp/0.6.1/dpp.js.map +1 -0
- package/build/bundle/artefacts/context/untp/0.6.1/dte.d.ts +2 -0
- package/build/bundle/artefacts/context/untp/0.6.1/dte.js +1343 -0
- package/build/bundle/artefacts/context/untp/0.6.1/dte.js.map +1 -0
- package/build/bundle/artefacts/context/untp/0.7.0/untp.d.ts +2 -0
- package/build/bundle/artefacts/context/untp/0.7.0/untp.js +3496 -0
- package/build/bundle/artefacts/context/untp/0.7.0/untp.js.map +1 -0
- package/build/bundle/artefacts/context/vcdm/2/credentials.d.ts +2 -0
- package/build/bundle/artefacts/context/vcdm/2/credentials.js +304 -0
- package/build/bundle/artefacts/context/vcdm/2/credentials.js.map +1 -0
- package/build/bundle/artefacts/schema/untp/0.6.0/dcc.d.ts +2 -0
- package/build/bundle/artefacts/schema/untp/0.6.0/dcc.js +1134 -0
- package/build/bundle/artefacts/schema/untp/0.6.0/dcc.js.map +1 -0
- package/build/bundle/artefacts/schema/untp/0.6.0/dfr.d.ts +2 -0
- package/build/bundle/artefacts/schema/untp/0.6.0/dfr.js +1031 -0
- package/build/bundle/artefacts/schema/untp/0.6.0/dfr.js.map +1 -0
- package/build/bundle/artefacts/schema/untp/0.6.0/dia.d.ts +2 -0
- package/build/bundle/artefacts/schema/untp/0.6.0/dia.js +239 -0
- package/build/bundle/artefacts/schema/untp/0.6.0/dia.js.map +1 -0
- package/build/bundle/artefacts/schema/untp/0.6.0/dpp.d.ts +2 -0
- package/build/bundle/artefacts/schema/untp/0.6.0/dpp.js +1222 -0
- package/build/bundle/artefacts/schema/untp/0.6.0/dpp.js.map +1 -0
- package/build/bundle/artefacts/schema/untp/0.6.0/dte.d.ts +2 -0
- package/build/bundle/artefacts/schema/untp/0.6.0/dte.js +848 -0
- package/build/bundle/artefacts/schema/untp/0.6.0/dte.js.map +1 -0
- package/build/bundle/artefacts/schema/untp/0.6.1/dcc.d.ts +2 -0
- package/build/bundle/artefacts/schema/untp/0.6.1/dcc.js +1199 -0
- package/build/bundle/artefacts/schema/untp/0.6.1/dcc.js.map +1 -0
- package/build/bundle/artefacts/schema/untp/0.6.1/dfr.d.ts +2 -0
- package/build/bundle/artefacts/schema/untp/0.6.1/dfr.js +1040 -0
- package/build/bundle/artefacts/schema/untp/0.6.1/dfr.js.map +1 -0
- package/build/bundle/artefacts/schema/untp/0.6.1/dia.d.ts +2 -0
- package/build/bundle/artefacts/schema/untp/0.6.1/dia.js +239 -0
- package/build/bundle/artefacts/schema/untp/0.6.1/dia.js.map +1 -0
- package/build/bundle/artefacts/schema/untp/0.6.1/dpp.d.ts +2 -0
- package/build/bundle/artefacts/schema/untp/0.6.1/dpp.js +1232 -0
- package/build/bundle/artefacts/schema/untp/0.6.1/dpp.js.map +1 -0
- package/build/bundle/artefacts/schema/untp/0.6.1/dte.d.ts +2 -0
- package/build/bundle/artefacts/schema/untp/0.6.1/dte.js +848 -0
- package/build/bundle/artefacts/schema/untp/0.6.1/dte.js.map +1 -0
- package/build/bundle/artefacts/schema/untp/0.7.0/cvc.d.ts +2 -0
- package/build/bundle/artefacts/schema/untp/0.7.0/cvc.js +704 -0
- package/build/bundle/artefacts/schema/untp/0.7.0/cvc.js.map +1 -0
- package/build/bundle/artefacts/schema/untp/0.7.0/dcc.d.ts +2 -0
- package/build/bundle/artefacts/schema/untp/0.7.0/dcc.js +1136 -0
- package/build/bundle/artefacts/schema/untp/0.7.0/dcc.js.map +1 -0
- package/build/bundle/artefacts/schema/untp/0.7.0/dfr.d.ts +2 -0
- package/build/bundle/artefacts/schema/untp/0.7.0/dfr.js +1248 -0
- package/build/bundle/artefacts/schema/untp/0.7.0/dfr.js.map +1 -0
- package/build/bundle/artefacts/schema/untp/0.7.0/dia.d.ts +2 -0
- package/build/bundle/artefacts/schema/untp/0.7.0/dia.js +446 -0
- package/build/bundle/artefacts/schema/untp/0.7.0/dia.js.map +1 -0
- package/build/bundle/artefacts/schema/untp/0.7.0/dpp.d.ts +2 -0
- package/build/bundle/artefacts/schema/untp/0.7.0/dpp.js +1303 -0
- package/build/bundle/artefacts/schema/untp/0.7.0/dpp.js.map +1 -0
- package/build/bundle/artefacts/schema/untp/0.7.0/dte.d.ts +2 -0
- package/build/bundle/artefacts/schema/untp/0.7.0/dte.js +1229 -0
- package/build/bundle/artefacts/schema/untp/0.7.0/dte.js.map +1 -0
- package/build/bundle/artefacts/schema/untp/0.7.0/linkset.d.ts +2 -0
- package/build/bundle/artefacts/schema/untp/0.7.0/linkset.js +122 -0
- package/build/bundle/artefacts/schema/untp/0.7.0/linkset.js.map +1 -0
- package/build/bundle/artefacts/schema/vcdm/2/verifiable-credential.d.ts +2 -0
- package/build/bundle/artefacts/schema/vcdm/2/verifiable-credential.js +321 -0
- package/build/bundle/artefacts/schema/vcdm/2/verifiable-credential.js.map +1 -0
- package/build/bundle/fallback.d.ts +41 -0
- package/build/bundle/fallback.js +62 -0
- package/build/bundle/fallback.js.map +1 -0
- package/build/bundle/fallback.test.d.ts +1 -0
- package/build/bundle/fallback.test.js +124 -0
- package/build/bundle/fallback.test.js.map +1 -0
- package/build/bundle/index.d.ts +4 -0
- package/build/bundle/index.js +77 -0
- package/build/bundle/index.js.map +1 -0
- package/build/bundle/lookup.d.ts +14 -0
- package/build/bundle/lookup.js +40 -0
- package/build/bundle/lookup.js.map +1 -0
- package/build/bundle/lookup.test.d.ts +1 -0
- package/build/bundle/lookup.test.js +70 -0
- package/build/bundle/lookup.test.js.map +1 -0
- package/build/bundle/public.d.ts +29 -0
- package/build/bundle/public.js +60 -0
- package/build/bundle/public.js.map +1 -0
- package/build/bundle/public.test.d.ts +1 -0
- package/build/bundle/public.test.js +41 -0
- package/build/bundle/public.test.js.map +1 -0
- package/build/bundle/refresh-classify.test.d.ts +1 -0
- package/build/bundle/refresh-classify.test.js +20 -0
- package/build/bundle/refresh-classify.test.js.map +1 -0
- package/build/bundle/refresh-main.test.d.ts +1 -0
- package/build/bundle/refresh-main.test.js +98 -0
- package/build/bundle/refresh-main.test.js.map +1 -0
- package/build/common/as-date-time.d.ts +13 -0
- package/build/common/as-date-time.js +44 -0
- package/build/common/as-date-time.js.map +1 -0
- package/build/common/as-date-time.test.d.ts +1 -0
- package/build/common/as-date-time.test.js +42 -0
- package/build/common/as-date-time.test.js.map +1 -0
- package/build/common/as-non-empty-string.d.ts +11 -4
- package/build/common/as-non-empty-string.js +15 -5
- package/build/common/as-non-empty-string.js.map +1 -1
- package/build/common/as-non-empty-string.test.js +7 -2
- package/build/common/as-non-empty-string.test.js.map +1 -1
- package/build/common/canonical-json.d.ts +10 -0
- package/build/common/canonical-json.js +29 -0
- package/build/common/canonical-json.js.map +1 -0
- package/build/common/canonical-json.test.d.ts +1 -0
- package/build/common/canonical-json.test.js +20 -0
- package/build/common/canonical-json.test.js.map +1 -0
- package/build/common/index.d.ts +5 -0
- package/build/common/index.js +6 -0
- package/build/common/index.js.map +1 -0
- package/build/common/validity-window.d.ts +45 -0
- package/build/common/validity-window.js +68 -0
- package/build/common/validity-window.js.map +1 -0
- package/build/common/validity-window.test.d.ts +1 -0
- package/build/common/validity-window.test.js +67 -0
- package/build/common/validity-window.test.js.map +1 -0
- package/build/conformity-vocabulary/codes.d.ts +4 -0
- package/build/conformity-vocabulary/codes.js +4 -0
- package/build/conformity-vocabulary/codes.js.map +1 -1
- package/build/conformity-vocabulary/parse-conformity-scheme.test.js +150 -0
- package/build/conformity-vocabulary/parse-conformity-scheme.test.js.map +1 -1
- package/build/conformity-vocabulary/parsers/v0-7-0.parser.js +225 -0
- package/build/conformity-vocabulary/parsers/v0-7-0.parser.js.map +1 -1
- package/build/conformity-vocabulary/types.d.ts +69 -15
- package/build/conformity-vocabulary/validate-conformity-claim.d.ts +17 -11
- package/build/conformity-vocabulary/validate-conformity-claim.js +118 -13
- package/build/conformity-vocabulary/validate-conformity-claim.js.map +1 -1
- package/build/conformity-vocabulary/validate-conformity-claim.test.js +265 -0
- package/build/conformity-vocabulary/validate-conformity-claim.test.js.map +1 -1
- package/build/loaders/index.d.ts +2 -0
- package/build/loaders/index.js +1 -0
- package/build/loaders/index.js.map +1 -1
- package/build/loaders/jsonld-document-loader.d.ts +7 -5
- package/build/loaders/jsonld-document-loader.js +11 -2
- package/build/loaders/jsonld-document-loader.js.map +1 -1
- package/build/loaders/jsonld-document-loader.test.js +41 -1
- package/build/loaders/jsonld-document-loader.test.js.map +1 -1
- package/build/loaders/schema-loader.d.ts +13 -3
- package/build/loaders/schema-loader.js +24 -8
- package/build/loaders/schema-loader.js.map +1 -1
- package/build/loaders/schema-loader.test.js +56 -1
- package/build/loaders/schema-loader.test.js.map +1 -1
- package/build/node/errors.d.ts +9 -3
- package/build/node/errors.js +9 -3
- package/build/node/errors.js.map +1 -1
- package/build/node/index.d.ts +1 -1
- package/build/node/index.js +1 -1
- package/build/node/index.js.map +1 -1
- package/build/node/is-private-ip.d.ts +8 -4
- package/build/node/is-private-ip.fail-closed.test.d.ts +1 -0
- package/build/node/is-private-ip.fail-closed.test.js +36 -0
- package/build/node/is-private-ip.fail-closed.test.js.map +1 -0
- package/build/node/is-private-ip.js +77 -12
- package/build/node/is-private-ip.js.map +1 -1
- package/build/node/is-private-ip.test.js +28 -0
- package/build/node/is-private-ip.test.js.map +1 -1
- package/build/node/validate-public-url.d.ts +43 -11
- package/build/node/validate-public-url.js +68 -34
- package/build/node/validate-public-url.js.map +1 -1
- package/build/node/validate-public-url.test.js +161 -14
- package/build/node/validate-public-url.test.js.map +1 -1
- package/build/resolvers/errors.d.ts +36 -6
- package/build/resolvers/errors.js +41 -7
- package/build/resolvers/errors.js.map +1 -1
- package/build/resolvers/resolve-document-if-changed.test.js +7 -0
- package/build/resolvers/resolve-document-if-changed.test.js.map +1 -1
- package/build/resolvers/resolve-document.d.ts +29 -9
- package/build/resolvers/resolve-document.integration.test.d.ts +1 -0
- package/build/resolvers/resolve-document.integration.test.js +108 -0
- package/build/resolvers/resolve-document.integration.test.js.map +1 -0
- package/build/resolvers/resolve-document.js +129 -49
- package/build/resolvers/resolve-document.js.map +1 -1
- package/build/resolvers/resolve-document.test.js +462 -12
- package/build/resolvers/resolve-document.test.js.map +1 -1
- package/build/resolvers/resolve-json-document.d.ts +11 -8
- package/build/resolvers/resolve-json-document.js +7 -6
- package/build/resolvers/resolve-json-document.js.map +1 -1
- package/build/resolvers/resolve-json-document.test.js +21 -4
- package/build/resolvers/resolve-json-document.test.js.map +1 -1
- package/build/validation/describe-jsonld-failure.d.ts +48 -8
- package/build/validation/describe-jsonld-failure.js +94 -27
- package/build/validation/describe-jsonld-failure.js.map +1 -1
- package/build/validation/describe-jsonld-failure.test.js +98 -13
- package/build/validation/describe-jsonld-failure.test.js.map +1 -1
- package/build/validation/index.d.ts +3 -2
- package/build/validation/index.js +2 -2
- package/build/validation/index.js.map +1 -1
- package/build/validation/validate-jsonld.d.ts +29 -3
- package/build/validation/validate-jsonld.js +49 -22
- package/build/validation/validate-jsonld.js.map +1 -1
- package/build/validation/validate-jsonld.test.js +62 -5
- package/build/validation/validate-jsonld.test.js.map +1 -1
- package/package.json +23 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolve-document.test.js","sourceRoot":"","sources":["../../src/resolvers/resolve-document.test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"resolve-document.test.js","sourceRoot":"","sources":["../../src/resolvers/resolve-document.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
import { type ResolveDocumentOptions } from './resolve-document.js';
|
|
2
2
|
/**
|
|
3
3
|
* Options for {@link resolveJsonDocument}. Extends {@link ResolveDocumentOptions}
|
|
4
|
-
* with content negotiation
|
|
5
|
-
*
|
|
4
|
+
* with content negotiation. This wrapper alters none of the underlying
|
|
5
|
+
* {@link resolveDocument} guards: every SSRF / size / timeout / redirect guard
|
|
6
|
+
* applies, and an explicit resolver option may permit private destinations
|
|
7
|
+
* while the remaining guards stay active.
|
|
6
8
|
*/
|
|
7
9
|
export interface ResolveJsonDocumentOptions extends ResolveDocumentOptions {
|
|
8
10
|
/**
|
|
@@ -20,20 +22,21 @@ export interface ResolvedJsonDocument {
|
|
|
20
22
|
finalUrl: string;
|
|
21
23
|
}
|
|
22
24
|
/**
|
|
23
|
-
* Fetches a remote JSON document with the
|
|
25
|
+
* Fetches a remote JSON document with the SSRF / size / timeout / redirect
|
|
24
26
|
* hardening of {@link resolveDocument}, then parses the body as JSON.
|
|
25
27
|
*
|
|
26
28
|
* This is the shared primitive behind guarded JSON-shaped fetches (JSON-LD
|
|
27
|
-
* `@context` documents, JSON Schemas, catalogue documents):
|
|
28
|
-
* redirect hop passes `validatePublicUrl` and the
|
|
29
|
-
*
|
|
29
|
+
* `@context` documents, JSON Schemas, catalogue documents): by default each
|
|
30
|
+
* URL and every redirect hop passes strict `validatePublicUrl` checks and the
|
|
31
|
+
* connection is pinned to the validated IP. An explicit resolver option may
|
|
32
|
+
* permit private destinations without removing the remaining checks.
|
|
30
33
|
*
|
|
31
34
|
* @throws {UrlValidationError} for URL / scheme / private-address rejections.
|
|
32
|
-
* @throws {ResolverNetworkError}
|
|
35
|
+
* @throws {ResolverNetworkError} per {@link resolveDocument}'s classification: the fetch rejected before a response, or the body read rejected after the headers arrived, and the rejection was not classified as the request's timeout.
|
|
33
36
|
* @throws {ResolverHttpError} on a non-2xx status (with `.status`).
|
|
34
37
|
* @throws {ResolverTooLargeError} when the body exceeds the size cap.
|
|
35
38
|
* @throws {ResolverTooManyRedirectsError} when the redirect chain exceeds the hop cap.
|
|
36
|
-
* @throws {ResolverTimedOutError}
|
|
39
|
+
* @throws {ResolverTimedOutError} per {@link resolveDocument}'s classification of the total timeout expiring. This wrapper adds no timer and no classifier of its own; it owns JSON parsing only.
|
|
37
40
|
* @throws {ResolverRedirectMissingLocationError} for a 3xx with no / unparseable Location header.
|
|
38
41
|
* @throws {ResolverInvalidJsonError} when the fetched body is not valid JSON.
|
|
39
42
|
*/
|
|
@@ -3,20 +3,21 @@ import { ResolverInvalidJsonError } from './errors.js';
|
|
|
3
3
|
/** Default `Accept` header when the caller does not specify one. */
|
|
4
4
|
const DEFAULT_ACCEPT = 'application/json';
|
|
5
5
|
/**
|
|
6
|
-
* Fetches a remote JSON document with the
|
|
6
|
+
* Fetches a remote JSON document with the SSRF / size / timeout / redirect
|
|
7
7
|
* hardening of {@link resolveDocument}, then parses the body as JSON.
|
|
8
8
|
*
|
|
9
9
|
* This is the shared primitive behind guarded JSON-shaped fetches (JSON-LD
|
|
10
|
-
* `@context` documents, JSON Schemas, catalogue documents):
|
|
11
|
-
* redirect hop passes `validatePublicUrl` and the
|
|
12
|
-
*
|
|
10
|
+
* `@context` documents, JSON Schemas, catalogue documents): by default each
|
|
11
|
+
* URL and every redirect hop passes strict `validatePublicUrl` checks and the
|
|
12
|
+
* connection is pinned to the validated IP. An explicit resolver option may
|
|
13
|
+
* permit private destinations without removing the remaining checks.
|
|
13
14
|
*
|
|
14
15
|
* @throws {UrlValidationError} for URL / scheme / private-address rejections.
|
|
15
|
-
* @throws {ResolverNetworkError}
|
|
16
|
+
* @throws {ResolverNetworkError} per {@link resolveDocument}'s classification: the fetch rejected before a response, or the body read rejected after the headers arrived, and the rejection was not classified as the request's timeout.
|
|
16
17
|
* @throws {ResolverHttpError} on a non-2xx status (with `.status`).
|
|
17
18
|
* @throws {ResolverTooLargeError} when the body exceeds the size cap.
|
|
18
19
|
* @throws {ResolverTooManyRedirectsError} when the redirect chain exceeds the hop cap.
|
|
19
|
-
* @throws {ResolverTimedOutError}
|
|
20
|
+
* @throws {ResolverTimedOutError} per {@link resolveDocument}'s classification of the total timeout expiring. This wrapper adds no timer and no classifier of its own; it owns JSON parsing only.
|
|
20
21
|
* @throws {ResolverRedirectMissingLocationError} for a 3xx with no / unparseable Location header.
|
|
21
22
|
* @throws {ResolverInvalidJsonError} when the fetched body is not valid JSON.
|
|
22
23
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolve-json-document.js","sourceRoot":"","sources":["../../src/resolvers/resolve-json-document.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAA+B,MAAM,uBAAuB,CAAC;AACrF,OAAO,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAC;AAEvD,oEAAoE;AACpE,MAAM,cAAc,GAAG,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"resolve-json-document.js","sourceRoot":"","sources":["../../src/resolvers/resolve-json-document.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAA+B,MAAM,uBAAuB,CAAC;AACrF,OAAO,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAC;AAEvD,oEAAoE;AACpE,MAAM,cAAc,GAAG,kBAAkB,CAAC;AA0B1C;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,GAAW,EACX,OAAoC;IAEpC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,eAAe,EAAE,GAAG,OAAO,IAAI,EAAE,CAAC;IAE9D,0EAA0E;IAC1E,2EAA2E;IAC3E,MAAM,iBAAiB,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,WAAW,EAAE,KAAK,QAAQ,CAAC,CAAC;IACnG,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,GAAG,EAAE;QACxC,GAAG,eAAe;QAClB,OAAO,EAAE,iBAAiB,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,IAAI,cAAc,EAAE,GAAG,OAAO,EAAE;KACxF,CAAC,CAAC;IAEH,MAAM,IAAI,GAAG,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACnD,IAAI,IAAa,CAAC;IAClB,IAAI,CAAC;QACH,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,wBAAwB,CAAC,MAAM,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IAC7D,CAAC;IAED,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC;AAC7C,CAAC"}
|
|
@@ -43,14 +43,31 @@ describe('resolveJsonDocument', () => {
|
|
|
43
43
|
});
|
|
44
44
|
expect(resolveDocument).toHaveBeenCalledWith('https://ex.test/doc', expect.objectContaining({ headers: { accept: 'application/schema+json' } }));
|
|
45
45
|
});
|
|
46
|
-
it('forwards resolver options
|
|
46
|
+
it('forwards resolver options including private permission unchanged', async () => {
|
|
47
47
|
resolveDocument.mockResolvedValue({ body: encode('{}'), finalUrl: 'https://ex.test/doc' });
|
|
48
|
-
await resolveJsonDocument('https://ex.test/doc', {
|
|
49
|
-
|
|
48
|
+
await resolveJsonDocument('https://ex.test/doc', {
|
|
49
|
+
allowedSchemes: ['https'],
|
|
50
|
+
maxResponseBytes: 2048,
|
|
51
|
+
allowPrivateAddresses: true,
|
|
52
|
+
});
|
|
53
|
+
expect(resolveDocument).toHaveBeenCalledWith('https://ex.test/doc', expect.objectContaining({ allowedSchemes: ['https'], maxResponseBytes: 2048, allowPrivateAddresses: true }));
|
|
54
|
+
});
|
|
55
|
+
it('leaves the default resolver lookup path unchanged when no lookup is supplied', async () => {
|
|
56
|
+
resolveDocument.mockResolvedValue({ body: encode('{}'), finalUrl: 'https://ex.test/doc' });
|
|
57
|
+
await resolveJsonDocument('https://ex.test/doc');
|
|
58
|
+
expect(resolveDocument.mock.calls[0][1]).not.toHaveProperty('lookup');
|
|
59
|
+
});
|
|
60
|
+
it('forwards the optional lookup callback to the guarded resolver', async () => {
|
|
61
|
+
const lookup = jest.fn();
|
|
62
|
+
resolveDocument.mockResolvedValue({ body: encode('{}'), finalUrl: 'https://ex.test/doc' });
|
|
63
|
+
await resolveJsonDocument('https://ex.test/doc', { lookup });
|
|
64
|
+
expect(resolveDocument).toHaveBeenCalledWith('https://ex.test/doc', expect.objectContaining({ lookup }));
|
|
50
65
|
});
|
|
51
66
|
it('throws ResolverInvalidJsonError when the body is not valid JSON', async () => {
|
|
52
67
|
resolveDocument.mockResolvedValue({ body: encode('not json'), finalUrl: 'https://ex.test/doc' });
|
|
53
|
-
await
|
|
68
|
+
const error = (await resolveJsonDocument('https://ex.test/doc').catch((e) => e));
|
|
69
|
+
expect(error).toBeInstanceOf(ResolverInvalidJsonError);
|
|
70
|
+
expect(error.url).toBe('https://ex.test/doc');
|
|
54
71
|
});
|
|
55
72
|
it('propagates resolveDocument errors (SSRF guard, HTTP, timeout) unchanged', async () => {
|
|
56
73
|
const httpError = new ResolverHttpError('https://ex.test/doc', 404);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolve-json-document.test.js","sourceRoot":"","sources":["../../src/resolvers/resolve-json-document.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AACrC,OAAO,EAAE,iBAAiB,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"resolve-json-document.test.js","sourceRoot":"","sources":["../../src/resolvers/resolve-json-document.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,8 +6,9 @@ import { JsonLdValidationError } from './errors.js';
|
|
|
6
6
|
* fetched or used (an environment or upstream condition; the payload may be
|
|
7
7
|
* fine).
|
|
8
8
|
*/
|
|
9
|
-
|
|
10
|
-
|
|
9
|
+
/** The event and syntax-error identifiers the classifier is allowed to echo, see {@link SAFE_EVENT_FIELDS}. */
|
|
10
|
+
export type SafeJsonLdFields = Partial<Record<(typeof SAFE_EVENT_FIELDS)[number], string>>;
|
|
11
|
+
interface JsonLdFailureDescriptionBase {
|
|
11
12
|
/**
|
|
12
13
|
* Human-facing reason, safe to return to the caller. Every branch below
|
|
13
14
|
* must preserve that property: detail comes only from explicitly
|
|
@@ -19,19 +20,57 @@ export interface JsonLdFailureDescription {
|
|
|
19
20
|
*/
|
|
20
21
|
detail: string;
|
|
21
22
|
}
|
|
23
|
+
/**
|
|
24
|
+
* A remote `@context` could not be used. `context-fetch`: it could not be
|
|
25
|
+
* fetched (host down, URL refused, bounds exceeded). `context-invalid`: it
|
|
26
|
+
* was fetched but is not usable as a context.
|
|
27
|
+
*/
|
|
28
|
+
export interface JsonLdContextFailure extends JsonLdFailureDescriptionBase {
|
|
29
|
+
kind: 'context-fetch' | 'context-invalid';
|
|
30
|
+
/**
|
|
31
|
+
* The resolver's structured code or the recognised jsonld.js code. Absent
|
|
32
|
+
* for a URL-policy rejection on purpose: its subclasses must stay
|
|
33
|
+
* indistinguishable to the caller (see {@link describeJsonLdFailure}), so
|
|
34
|
+
* do not tighten this.
|
|
35
|
+
*/
|
|
36
|
+
code?: string;
|
|
37
|
+
/** The `@context` URL that failed, when jsonld.js names one; it comes from the caller's own document. */
|
|
38
|
+
url?: string;
|
|
39
|
+
}
|
|
40
|
+
/** The contexts are fine and the document itself fails against them. */
|
|
41
|
+
export interface JsonLdDocumentFailure extends JsonLdFailureDescriptionBase {
|
|
42
|
+
kind: 'document';
|
|
43
|
+
/** The jsonld.js syntax-error or safe-mode event code, or this module's own `invalid document shape` code. */
|
|
44
|
+
code?: string;
|
|
45
|
+
/**
|
|
46
|
+
* Whether jsonld.js rejected the context definitions themselves
|
|
47
|
+
* (`syntax-error`) or the document's content under them
|
|
48
|
+
* (`safe-mode-event`). A verifier tells its user to fix the @context in
|
|
49
|
+
* the first case and the credential in the second. Absent when neither
|
|
50
|
+
* shape was recognised.
|
|
51
|
+
*/
|
|
52
|
+
source?: 'syntax-error' | 'safe-mode-event';
|
|
53
|
+
/** Allowlisted identifiers from the event or syntax error, see {@link SAFE_EVENT_FIELDS}. */
|
|
54
|
+
fields?: SafeJsonLdFields;
|
|
55
|
+
}
|
|
56
|
+
export type JsonLdFailureDescription = JsonLdContextFailure | JsonLdDocumentFailure;
|
|
57
|
+
/** Event `details` fields safe to echo: identifiers from the caller's own document or a public context, never free-form values that can carry credential content. */
|
|
58
|
+
/** The only jsonld.js event and syntax-error detail fields ever echoed to a caller; everything else may carry document content. */
|
|
59
|
+
export declare const SAFE_EVENT_FIELDS: readonly ["property", "expandedProperty", "id", "type", "term", "language", "vocab"];
|
|
22
60
|
/**
|
|
23
61
|
* Classifies a {@link JsonLdValidationError} by walking its cause chain
|
|
24
62
|
* (native `.cause` hops; the chain is rehydrated by `validateJsonLd`, see
|
|
25
63
|
* issue #773).
|
|
26
64
|
*
|
|
27
|
-
* The
|
|
28
|
-
*
|
|
65
|
+
* The passes run in a load-bearing order. The rehydrated chain nests the
|
|
66
|
+
* guarded loader's error BENEATH jsonld.js's own wrapper
|
|
29
67
|
* (`JsonLdExpansionFailedError` -> `jsonld.InvalidUrl` -> the loader's
|
|
30
|
-
* `UrlValidationError`), and the wrapper's message contains the URL, so
|
|
31
|
-
*
|
|
32
|
-
*
|
|
68
|
+
* `UrlValidationError`), and the wrapper's message contains the URL, so no
|
|
69
|
+
* jsonld.js message may become `detail` until the typed-loader pass has
|
|
70
|
+
* exhausted the whole chain; matching the wrapper's message first would
|
|
33
71
|
* reopen the per-hostname reconnaissance oracle the flat message exists to
|
|
34
|
-
* close.
|
|
72
|
+
* close. The URL scan that runs before the typed-loader pass reads only the
|
|
73
|
+
* wrapper's `details.url`, which is the caller's own document's URL.
|
|
35
74
|
*
|
|
36
75
|
* `UrlValidationError` deliberately collapses to one flat message: its
|
|
37
76
|
* subclasses distinguish "does not resolve" from "resolves to a private
|
|
@@ -48,3 +87,4 @@ export interface JsonLdFailureDescription {
|
|
|
48
87
|
* classified as a document failure.
|
|
49
88
|
*/
|
|
50
89
|
export declare function describeJsonLdFailure(error: JsonLdValidationError): JsonLdFailureDescription;
|
|
90
|
+
export {};
|
|
@@ -1,29 +1,40 @@
|
|
|
1
1
|
import { JsonLdInvalidShapeError } from './errors.js';
|
|
2
|
-
import { ResolverError } from '../resolvers/errors.js';
|
|
2
|
+
import { ResolverError, ResolverInvalidJsonError } from '../resolvers/errors.js';
|
|
3
3
|
import { UrlValidationError } from '../node/errors.js';
|
|
4
4
|
const GENERIC_DOCUMENT_DETAIL = 'the document could not be expanded as valid JSON-LD';
|
|
5
|
-
const GENERIC_REMOTE_CONTEXT_DETAIL = 'a remote @context
|
|
5
|
+
const GENERIC_REMOTE_CONTEXT_DETAIL = 'a remote @context response could not be used as a JSON-LD context';
|
|
6
|
+
const REMOTE_CONTEXT_CHAIN_DETAIL = 'the remote @context chain could not be resolved: too many remote contexts, or a remote context refers back to itself';
|
|
7
|
+
const GENERIC_REMOTE_CONTEXT_LOAD_DETAIL = 'a remote @context document could not be loaded';
|
|
6
8
|
const FLAT_URL_POLICY_DETAIL = "a remote @context URL was rejected by this service's URL policy or could not be resolved";
|
|
7
9
|
/** Event `details` fields safe to echo: identifiers from the caller's own document or a public context, never free-form values that can carry credential content. */
|
|
8
|
-
|
|
10
|
+
/** The only jsonld.js event and syntax-error detail fields ever echoed to a caller; everything else may carry document content. */
|
|
11
|
+
export const SAFE_EVENT_FIELDS = ['property', 'expandedProperty', 'id', 'type', 'term', 'language', 'vocab'];
|
|
9
12
|
const MAX_FIELD_LENGTH = 200;
|
|
10
13
|
function isJsonLdProcessorError(value) {
|
|
11
14
|
return value instanceof Error && value.name.startsWith('jsonld.');
|
|
12
15
|
}
|
|
16
|
+
/** The allowlisted string fields present on a details object, truncated. */
|
|
17
|
+
function safeFields(details) {
|
|
18
|
+
const fields = {};
|
|
19
|
+
for (const field of SAFE_EVENT_FIELDS) {
|
|
20
|
+
const value = details?.[field];
|
|
21
|
+
if (typeof value === 'string' && value !== '')
|
|
22
|
+
fields[field] = value.slice(0, MAX_FIELD_LENGTH);
|
|
23
|
+
}
|
|
24
|
+
return Object.keys(fields).length > 0 ? fields : undefined;
|
|
25
|
+
}
|
|
13
26
|
/** Formats a safe-mode event: its fixed library message plus allowlisted string fields. */
|
|
14
27
|
function describeSafeModeEvent(event) {
|
|
15
28
|
const parts = [];
|
|
16
29
|
if (typeof event.message === 'string' && event.message !== '') {
|
|
17
30
|
parts.push(event.message);
|
|
18
31
|
}
|
|
19
|
-
for (const field of
|
|
20
|
-
|
|
21
|
-
if (typeof value === 'string' && value !== '') {
|
|
22
|
-
parts.push(`(${field}: "${value.slice(0, MAX_FIELD_LENGTH)}")`);
|
|
23
|
-
}
|
|
32
|
+
for (const [field, value] of Object.entries(safeFields(event.details) ?? {})) {
|
|
33
|
+
parts.push(`(${field}: "${value}")`);
|
|
24
34
|
}
|
|
25
35
|
return parts.length > 0 ? parts.join(' ') : GENERIC_DOCUMENT_DETAIL;
|
|
26
36
|
}
|
|
37
|
+
const stringOr = (value) => typeof value === 'string' && value !== '' ? value : undefined;
|
|
27
38
|
function* causeChain(error) {
|
|
28
39
|
const seen = new Set();
|
|
29
40
|
let current = error;
|
|
@@ -38,14 +49,15 @@ function* causeChain(error) {
|
|
|
38
49
|
* (native `.cause` hops; the chain is rehydrated by `validateJsonLd`, see
|
|
39
50
|
* issue #773).
|
|
40
51
|
*
|
|
41
|
-
* The
|
|
42
|
-
*
|
|
52
|
+
* The passes run in a load-bearing order. The rehydrated chain nests the
|
|
53
|
+
* guarded loader's error BENEATH jsonld.js's own wrapper
|
|
43
54
|
* (`JsonLdExpansionFailedError` -> `jsonld.InvalidUrl` -> the loader's
|
|
44
|
-
* `UrlValidationError`), and the wrapper's message contains the URL, so
|
|
45
|
-
*
|
|
46
|
-
*
|
|
55
|
+
* `UrlValidationError`), and the wrapper's message contains the URL, so no
|
|
56
|
+
* jsonld.js message may become `detail` until the typed-loader pass has
|
|
57
|
+
* exhausted the whole chain; matching the wrapper's message first would
|
|
47
58
|
* reopen the per-hostname reconnaissance oracle the flat message exists to
|
|
48
|
-
* close.
|
|
59
|
+
* close. The URL scan that runs before the typed-loader pass reads only the
|
|
60
|
+
* wrapper's `details.url`, which is the caller's own document's URL.
|
|
49
61
|
*
|
|
50
62
|
* `UrlValidationError` deliberately collapses to one flat message: its
|
|
51
63
|
* subclasses distinguish "does not resolve" from "resolves to a private
|
|
@@ -65,15 +77,36 @@ export function describeJsonLdFailure(error) {
|
|
|
65
77
|
// Our own pre-expansion diagnostic: safe, typed, and more precise than
|
|
66
78
|
// the generic fallback (expansion never ran).
|
|
67
79
|
if (error instanceof JsonLdInvalidShapeError) {
|
|
68
|
-
return { kind: 'document', detail: error.message };
|
|
80
|
+
return { kind: 'document', detail: error.message, code: 'invalid document shape' };
|
|
81
|
+
}
|
|
82
|
+
// The failing @context URL, when jsonld.js recorded one on its wrapper: a
|
|
83
|
+
// URL from the caller's document, or one a remote context it named refers
|
|
84
|
+
// to. Either way it is a public URL the caller caused to be requested,
|
|
85
|
+
// never the address it resolved to.
|
|
86
|
+
let url;
|
|
87
|
+
for (const node of causeChain(error)) {
|
|
88
|
+
if (isJsonLdProcessorError(node) && node.name === 'jsonld.InvalidUrl') {
|
|
89
|
+
url = stringOr(node.details?.url);
|
|
90
|
+
break;
|
|
91
|
+
}
|
|
69
92
|
}
|
|
70
93
|
// Pass 1: the guarded loader's typed failures, anywhere on the chain.
|
|
71
94
|
for (const node of causeChain(error)) {
|
|
72
95
|
if (node instanceof UrlValidationError) {
|
|
73
|
-
return { kind: 'context-fetch', detail: FLAT_URL_POLICY_DETAIL };
|
|
96
|
+
return { kind: 'context-fetch', detail: FLAT_URL_POLICY_DETAIL, ...(url && { url }) };
|
|
97
|
+
}
|
|
98
|
+
if (node instanceof ResolverInvalidJsonError) {
|
|
99
|
+
// Thrown only after a response body was read and failed to parse: the
|
|
100
|
+
// artefact, not the delivery, is at fault.
|
|
101
|
+
return { kind: 'context-invalid', detail: GENERIC_REMOTE_CONTEXT_DETAIL, code: node.code, ...(url && { url }) };
|
|
74
102
|
}
|
|
75
103
|
if (node instanceof ResolverError) {
|
|
76
|
-
return {
|
|
104
|
+
return {
|
|
105
|
+
kind: 'context-fetch',
|
|
106
|
+
detail: `could not fetch a remote @context: ${node.message}`,
|
|
107
|
+
code: node.code,
|
|
108
|
+
...(url && { url }),
|
|
109
|
+
};
|
|
77
110
|
}
|
|
78
111
|
}
|
|
79
112
|
// Pass 2: recognised jsonld.js processor shapes (name plus details.code
|
|
@@ -82,20 +115,54 @@ export function describeJsonLdFailure(error) {
|
|
|
82
115
|
for (const node of causeChain(error)) {
|
|
83
116
|
if (!isJsonLdProcessorError(node))
|
|
84
117
|
continue;
|
|
85
|
-
const code = node.details?.code;
|
|
86
|
-
if (node.name === 'jsonld.InvalidUrl' &&
|
|
87
|
-
|
|
88
|
-
//
|
|
89
|
-
|
|
90
|
-
|
|
118
|
+
const code = stringOr(node.details?.code);
|
|
119
|
+
if (node.name === 'jsonld.InvalidUrl' && code === 'invalid remote context') {
|
|
120
|
+
// Fetched successfully but not usable as a context: the artefact, not
|
|
121
|
+
// the document, is at fault.
|
|
122
|
+
return { kind: 'context-invalid', detail: GENERIC_REMOTE_CONTEXT_DETAIL, code, ...(url && { url }) };
|
|
123
|
+
}
|
|
124
|
+
if (node.name === 'jsonld.InvalidUrl' && code === 'loading remote context failed') {
|
|
125
|
+
// Rejected by an untyped loader path, so the typed pass found nothing:
|
|
126
|
+
// the context could not be loaded, and the wrapper's message (which
|
|
127
|
+
// names the URL) is not echoed.
|
|
128
|
+
return { kind: 'context-fetch', detail: GENERIC_REMOTE_CONTEXT_LOAD_DETAIL, code, ...(url && { url }) };
|
|
129
|
+
}
|
|
130
|
+
if (node.name === 'jsonld.ContextUrlError') {
|
|
131
|
+
// jsonld.js throws this only while resolving a chain of remote contexts
|
|
132
|
+
// (too many, or one that refers back to itself); a cycle between local
|
|
133
|
+
// term definitions is jsonld.CyclicalContext and stays a document fault.
|
|
134
|
+
return { kind: 'context-fetch', detail: REMOTE_CONTEXT_CHAIN_DETAIL, ...(code && { code }), ...(url && { url }) };
|
|
135
|
+
}
|
|
136
|
+
if (node.name === 'jsonld.SyntaxError' && code === 'invalid scoped context') {
|
|
137
|
+
// A term-scoped remote context whose body was unusable: jsonld.js
|
|
138
|
+
// discards the original error, so only the term survives.
|
|
139
|
+
const fields = safeFields(node.details);
|
|
140
|
+
return { kind: 'context-invalid', detail: GENERIC_REMOTE_CONTEXT_DETAIL, code, ...(fields && { fields }) };
|
|
91
141
|
}
|
|
92
142
|
if (node.name === 'jsonld.ValidationError' && node.details?.event !== undefined) {
|
|
93
|
-
|
|
143
|
+
const event = node.details.event;
|
|
144
|
+
const fields = safeFields(event.details);
|
|
145
|
+
return {
|
|
146
|
+
kind: 'document',
|
|
147
|
+
detail: describeSafeModeEvent(event),
|
|
148
|
+
source: 'safe-mode-event',
|
|
149
|
+
...(stringOr(event.code) && { code: stringOr(event.code) }),
|
|
150
|
+
...(fields && { fields }),
|
|
151
|
+
};
|
|
94
152
|
}
|
|
95
153
|
if (node.name === 'jsonld.SyntaxError') {
|
|
96
|
-
// jsonld.js
|
|
97
|
-
// (
|
|
98
|
-
|
|
154
|
+
// jsonld.js interpolates caller values into some syntax messages
|
|
155
|
+
// (jsonld@8.3.3 lib/context.js: an @index value, a term, a type), so
|
|
156
|
+
// the message is never echoed; the recognised code and the allowlisted
|
|
157
|
+
// identifiers are the whole diagnostic.
|
|
158
|
+
const fields = safeFields(node.details);
|
|
159
|
+
return {
|
|
160
|
+
kind: 'document',
|
|
161
|
+
detail: code ? `Invalid JSON-LD syntax; ${code}.` : GENERIC_DOCUMENT_DETAIL,
|
|
162
|
+
source: 'syntax-error',
|
|
163
|
+
...(code && { code }),
|
|
164
|
+
...(fields && { fields }),
|
|
165
|
+
};
|
|
99
166
|
}
|
|
100
167
|
return { kind: 'document', detail: GENERIC_DOCUMENT_DETAIL };
|
|
101
168
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"describe-jsonld-failure.js","sourceRoot":"","sources":["../../src/validation/describe-jsonld-failure.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAyB,MAAM,aAAa,CAAC;AAC7E,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"describe-jsonld-failure.js","sourceRoot":"","sources":["../../src/validation/describe-jsonld-failure.ts"],"names":[],"mappings":"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"}
|