zarr-metadata 0.4.1 → 0.6.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.
@@ -6,13 +6,13 @@
6
6
  * extension points to enforce the cross-field rules the specs state in
7
7
  * prose:
8
8
  *
9
- * - the `regular` chunk grid's `chunk_shape` has one length per dimension
10
- * of `shape`;
11
- * - the `rectilinear` chunk grid's `chunk_shapes` has one entry per
12
- * dimension, and each explicit chunk list (integers and `[size, count]`
13
- * run-length pairs) sums exactly to that dimension's length (the
14
- * bare-integer uniform shorthand carries no sum constraint, like the
15
- * regular grid);
9
+ * - the `regular` chunk grid REQUIRES a configuration with `chunk_shape`,
10
+ * which has one length per dimension of `shape`;
11
+ * - the `rectilinear` chunk grid requires a configuration with `kind` and
12
+ * `chunk_shapes`; `chunk_shapes` has one entry per dimension, and each
13
+ * explicit chunk list (integers and `[size, count]` run-length pairs)
14
+ * sums exactly to that dimension's length (the bare-integer uniform
15
+ * shorthand carries no sum constraint, like the regular grid);
16
16
  * - a `transpose` codec's `order` is a permutation of `0..n-1`, with one
17
17
  * entry per array dimension;
18
18
  * - a `sharding_indexed` codec's inner `chunk_shape` matches the array's
@@ -44,7 +44,17 @@ import { type ErrorTree } from "./errors.js";
44
44
  * Every semantic (cross-field) problem in a v3 array metadata document, as
45
45
  * an error tree; an empty tree means no rule found a violation. Values that
46
46
  * are not v3 array documents yield an empty tree; run the structural
47
- * validators for structure.
47
+ * validators for structure. See `validateSemanticsV3` for the form that
48
+ * also descends into a group's inline consolidated metadata.
48
49
  */
49
50
  export declare function validateArraySemanticsV3(value: unknown): ErrorTree;
51
+ /**
52
+ * Every semantic problem in a v3 metadata document of either node type: an
53
+ * array document gets the array rules, and a group document's inline
54
+ * consolidated entries are checked recursively (each entry is a complete
55
+ * array or group document, and nested groups may carry consolidated
56
+ * metadata of their own). Issues inside entries are pathed through
57
+ * `consolidated_metadata.metadata.<key>`.
58
+ */
59
+ export declare function validateSemanticsV3(value: unknown): ErrorTree;
50
60
  //# sourceMappingURL=semantics.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"semantics.d.ts","sourceRoot":"","sources":["../src/semantics.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AAEH,OAAO,EAAU,KAAK,SAAS,EAAoB,MAAM,aAAa,CAAC;AA6OvE;;;;;GAKG;AACH,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,OAAO,GAAG,SAAS,CAqFlE"}
1
+ {"version":3,"file":"semantics.d.ts","sourceRoot":"","sources":["../src/semantics.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AAEH,OAAO,EAAU,KAAK,SAAS,EAAoB,MAAM,aAAa,CAAC;AAwWvE;;;;;;GAMG;AACH,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,OAAO,GAAG,SAAS,CAElE;AA0BD;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,OAAO,GAAG,SAAS,CAE7D"}
package/dist/semantics.js CHANGED
@@ -6,13 +6,13 @@
6
6
  * extension points to enforce the cross-field rules the specs state in
7
7
  * prose:
8
8
  *
9
- * - the `regular` chunk grid's `chunk_shape` has one length per dimension
10
- * of `shape`;
11
- * - the `rectilinear` chunk grid's `chunk_shapes` has one entry per
12
- * dimension, and each explicit chunk list (integers and `[size, count]`
13
- * run-length pairs) sums exactly to that dimension's length (the
14
- * bare-integer uniform shorthand carries no sum constraint, like the
15
- * regular grid);
9
+ * - the `regular` chunk grid REQUIRES a configuration with `chunk_shape`,
10
+ * which has one length per dimension of `shape`;
11
+ * - the `rectilinear` chunk grid requires a configuration with `kind` and
12
+ * `chunk_shapes`; `chunk_shapes` has one entry per dimension, and each
13
+ * explicit chunk list (integers and `[size, count]` run-length pairs)
14
+ * sums exactly to that dimension's length (the bare-integer uniform
15
+ * shorthand carries no sum constraint, like the regular grid);
16
16
  * - a `transpose` codec's `order` is a permutation of `0..n-1`, with one
17
17
  * entry per array dimension;
18
18
  * - a `sharding_indexed` codec's inner `chunk_shape` matches the array's
@@ -250,21 +250,34 @@ function pipelineIssues(pipeline, path, initialDims, initialChunkSizes) {
250
250
  });
251
251
  return issues;
252
252
  }
253
- /**
254
- * Every semantic (cross-field) problem in a v3 array metadata document, as
255
- * an error tree; an empty tree means no rule found a violation. Values that
256
- * are not v3 array documents yield an empty tree; run the structural
257
- * validators for structure.
258
- */
259
- export function validateArraySemanticsV3(value) {
253
+ function arraySemanticsIssues(value) {
260
254
  if (!isPlainObject(value) || value["node_type"] !== "array")
261
- return treeOf([]);
255
+ return [];
262
256
  const issues = [];
263
257
  const shape = isIntArray(value["shape"]) ? value["shape"] : undefined;
264
258
  const dims = shape?.length;
265
- const grid = fieldParts(value["chunk_grid"]);
259
+ const rawGrid = value["chunk_grid"];
260
+ const grid = fieldParts(rawGrid);
261
+ // Whether the field genuinely lacks a configuration member (a malformed
262
+ // one — configuration: 5 — is the structural layer's complaint, not ours).
263
+ const configMissing = typeof rawGrid === "string" ||
264
+ (isPlainObject(rawGrid) && !Object.hasOwn(rawGrid, "configuration"));
266
265
  let chunkSizes;
267
266
  if (grid?.name === "regular") {
267
+ if (configMissing) {
268
+ issues.push({
269
+ path: ["chunk_grid"],
270
+ message: '"regular" requires a configuration with "chunk_shape"',
271
+ kind: "missing_key",
272
+ });
273
+ }
274
+ else if (grid.configuration !== undefined && !Object.hasOwn(grid.configuration, "chunk_shape")) {
275
+ issues.push({
276
+ path: ["chunk_grid", "configuration", "chunk_shape"],
277
+ message: "missing required key",
278
+ kind: "missing_key",
279
+ });
280
+ }
268
281
  const configured = grid.configuration?.["chunk_shape"];
269
282
  if (isIntArray(configured)) {
270
283
  if (dims !== undefined && configured.length !== dims) {
@@ -281,6 +294,24 @@ export function validateArraySemanticsV3(value) {
281
294
  }
282
295
  }
283
296
  else if (grid?.name === "rectilinear") {
297
+ if (configMissing) {
298
+ issues.push({
299
+ path: ["chunk_grid"],
300
+ message: '"rectilinear" requires a configuration with "kind" and "chunk_shapes"',
301
+ kind: "missing_key",
302
+ });
303
+ }
304
+ else if (grid.configuration !== undefined) {
305
+ for (const key of ["kind", "chunk_shapes"]) {
306
+ if (!Object.hasOwn(grid.configuration, key)) {
307
+ issues.push({
308
+ path: ["chunk_grid", "configuration", key],
309
+ message: "missing required key",
310
+ kind: "missing_key",
311
+ });
312
+ }
313
+ }
314
+ }
284
315
  const specs = grid.configuration?.["chunk_shapes"];
285
316
  if (Array.isArray(specs)) {
286
317
  if (dims !== undefined && specs.length !== dims) {
@@ -343,6 +374,52 @@ export function validateArraySemanticsV3(value) {
343
374
  if (Array.isArray(codecs)) {
344
375
  issues.push(...pipelineIssues(codecs, ["codecs"], dims, chunkSizes));
345
376
  }
346
- return treeOf(issues);
377
+ return issues;
378
+ }
379
+ /**
380
+ * Every semantic (cross-field) problem in a v3 array metadata document, as
381
+ * an error tree; an empty tree means no rule found a violation. Values that
382
+ * are not v3 array documents yield an empty tree; run the structural
383
+ * validators for structure. See `validateSemanticsV3` for the form that
384
+ * also descends into a group's inline consolidated metadata.
385
+ */
386
+ export function validateArraySemanticsV3(value) {
387
+ return treeOf(arraySemanticsIssues(value));
388
+ }
389
+ // Matches the structural validators' MAX_JSON_DEPTH; the structural layer
390
+ // reports the depth violation, this layer just stops descending.
391
+ const MAX_CONSOLIDATED_DEPTH = 64;
392
+ function semanticsIssuesAtDepth(value, depth) {
393
+ if (depth >= MAX_CONSOLIDATED_DEPTH || !isPlainObject(value))
394
+ return [];
395
+ if (value["node_type"] === "array")
396
+ return arraySemanticsIssues(value);
397
+ if (value["node_type"] !== "group")
398
+ return [];
399
+ const consolidated = value["consolidated_metadata"];
400
+ if (!isPlainObject(consolidated))
401
+ return [];
402
+ const entries = consolidated["metadata"];
403
+ if (!isPlainObject(entries))
404
+ return [];
405
+ const issues = [];
406
+ for (const [key, entry] of Object.entries(entries)) {
407
+ issues.push(...semanticsIssuesAtDepth(entry, depth + 1).map((issue) => ({
408
+ ...issue,
409
+ path: ["consolidated_metadata", "metadata", key, ...issue.path],
410
+ })));
411
+ }
412
+ return issues;
413
+ }
414
+ /**
415
+ * Every semantic problem in a v3 metadata document of either node type: an
416
+ * array document gets the array rules, and a group document's inline
417
+ * consolidated entries are checked recursively (each entry is a complete
418
+ * array or group document, and nested groups may carry consolidated
419
+ * metadata of their own). Issues inside entries are pathed through
420
+ * `consolidated_metadata.metadata.<key>`.
421
+ */
422
+ export function validateSemanticsV3(value) {
423
+ return treeOf(semanticsIssuesAtDepth(value, 0));
347
424
  }
348
425
  //# sourceMappingURL=semantics.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"semantics.js","sourceRoot":"","sources":["../src/semantics.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"semantics.js","sourceRoot":"","sources":["../src/semantics.ts"],"names":[],"mappings":"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"}
@@ -149,4 +149,18 @@ export declare function safeParseConsolidatedMetadataV2(value: unknown): ParseRe
149
149
  * treated as recognized.
150
150
  */
151
151
  export declare function mustUnderstandExtensionFieldsV3(value: unknown): string[];
152
+ /**
153
+ * Per-entry document validation for `.zmetadata` (v2 consolidated) — the
154
+ * consumer-side interpretation the reference implementation's model
155
+ * deliberately leaves out (its `metadata` map is kept verbatim). Each entry
156
+ * is validated by what its key names: `<path>/.zarray` as an on-disk v2
157
+ * array document, `<path>/.zgroup` as an on-disk v2 group document (both
158
+ * additionally rejecting an `attributes` member, which on disk lives only
159
+ * in the sibling `.zattrs` file), and `<path>/.zattrs` as a JSON object.
160
+ * Keys naming none of the three are left alone.
161
+ *
162
+ * This is a TS-only layer over `validateConsolidatedMetadataV2` (which
163
+ * stays envelope-only for conformance-corpus parity with Python); run both.
164
+ */
165
+ export declare function validateConsolidatedDocumentsV2(value: unknown): ErrorTree;
152
166
  //# sourceMappingURL=validation.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../src/validation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../src/validation.ts"],"names":[],"mappings":"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"}
@@ -817,4 +817,53 @@ export function mustUnderstandExtensionFieldsV3(value) {
817
817
  return !(isPlainObject(field) && field["must_understand"] === false);
818
818
  });
819
819
  }
820
+ /**
821
+ * Per-entry document validation for `.zmetadata` (v2 consolidated) — the
822
+ * consumer-side interpretation the reference implementation's model
823
+ * deliberately leaves out (its `metadata` map is kept verbatim). Each entry
824
+ * is validated by what its key names: `<path>/.zarray` as an on-disk v2
825
+ * array document, `<path>/.zgroup` as an on-disk v2 group document (both
826
+ * additionally rejecting an `attributes` member, which on disk lives only
827
+ * in the sibling `.zattrs` file), and `<path>/.zattrs` as a JSON object.
828
+ * Keys naming none of the three are left alone.
829
+ *
830
+ * This is a TS-only layer over `validateConsolidatedMetadataV2` (which
831
+ * stays envelope-only for conformance-corpus parity with Python); run both.
832
+ */
833
+ export function validateConsolidatedDocumentsV2(value) {
834
+ if (!isPlainObject(value))
835
+ return treeOf([]);
836
+ const entries = value["metadata"];
837
+ if (!isPlainObject(entries))
838
+ return treeOf([]);
839
+ const problems = [];
840
+ const onDisk = (base, entry) => {
841
+ if (isPlainObject(entry) && has(entry, "attributes")) {
842
+ return [
843
+ ...base.filter((issue) => issue.path[0] !== "attributes"),
844
+ problem(["attributes"], "unexpected document member (on disk, attributes live in the sibling .zattrs file)", "invalid_value"),
845
+ ];
846
+ }
847
+ return base;
848
+ };
849
+ for (const [key, entry] of Object.entries(entries)) {
850
+ const basename = key.slice(key.lastIndexOf("/") + 1);
851
+ let entryProblems;
852
+ if (basename === ".zarray") {
853
+ entryProblems = onDisk(arrayMetadataV2Problems(entry), entry);
854
+ }
855
+ else if (basename === ".zgroup") {
856
+ entryProblems = onDisk(groupMetadataV2Problems(entry), entry);
857
+ }
858
+ else if (basename === ".zattrs") {
859
+ entryProblems = isPlainObject(entry)
860
+ ? jsonProblems(entry)
861
+ : [problem([], "expected a mapping with string keys", "invalid_type")];
862
+ }
863
+ if (entryProblems !== undefined && entryProblems.length > 0) {
864
+ problems.push(...prefix("metadata", prefix(key, entryProblems)));
865
+ }
866
+ }
867
+ return treeOf(problems);
868
+ }
820
869
  //# sourceMappingURL=validation.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"validation.js","sourceRoot":"","sources":["../src/validation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"validation.js","sourceRoot":"","sources":["../src/validation.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "zarr-metadata",
3
- "version": "0.4.1",
3
+ "version": "0.6.0",
4
4
  "description": "Spec-defined metadata types and validators for Zarr v2 and v3.",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -23,11 +23,11 @@
23
23
  },
24
24
  "repository": {
25
25
  "type": "git",
26
- "url": "git+https://github.com/d-v-b/zarr-metadata-ts.git"
26
+ "url": "git+https://github.com/d-v-b/zarr-metadata.js.git"
27
27
  },
28
- "homepage": "https://github.com/d-v-b/zarr-metadata-ts#readme",
28
+ "homepage": "https://github.com/d-v-b/zarr-metadata.js#readme",
29
29
  "bugs": {
30
- "url": "https://github.com/d-v-b/zarr-metadata-ts/issues"
30
+ "url": "https://github.com/d-v-b/zarr-metadata.js/issues"
31
31
  },
32
32
  "scripts": {
33
33
  "build": "tsc -p tsconfig.json",
package/src/semantics.ts CHANGED
@@ -6,13 +6,13 @@
6
6
  * extension points to enforce the cross-field rules the specs state in
7
7
  * prose:
8
8
  *
9
- * - the `regular` chunk grid's `chunk_shape` has one length per dimension
10
- * of `shape`;
11
- * - the `rectilinear` chunk grid's `chunk_shapes` has one entry per
12
- * dimension, and each explicit chunk list (integers and `[size, count]`
13
- * run-length pairs) sums exactly to that dimension's length (the
14
- * bare-integer uniform shorthand carries no sum constraint, like the
15
- * regular grid);
9
+ * - the `regular` chunk grid REQUIRES a configuration with `chunk_shape`,
10
+ * which has one length per dimension of `shape`;
11
+ * - the `rectilinear` chunk grid requires a configuration with `kind` and
12
+ * `chunk_shapes`; `chunk_shapes` has one entry per dimension, and each
13
+ * explicit chunk list (integers and `[size, count]` run-length pairs)
14
+ * sums exactly to that dimension's length (the bare-integer uniform
15
+ * shorthand carries no sum constraint, like the regular grid);
16
16
  * - a `transpose` codec's `order` is a permutation of `0..n-1`, with one
17
17
  * entry per array dimension;
18
18
  * - a `sharding_indexed` codec's inner `chunk_shape` matches the array's
@@ -277,21 +277,34 @@ function pipelineIssues(
277
277
  return issues;
278
278
  }
279
279
 
280
- /**
281
- * Every semantic (cross-field) problem in a v3 array metadata document, as
282
- * an error tree; an empty tree means no rule found a violation. Values that
283
- * are not v3 array documents yield an empty tree; run the structural
284
- * validators for structure.
285
- */
286
- export function validateArraySemanticsV3(value: unknown): ErrorTree {
287
- if (!isPlainObject(value) || value["node_type"] !== "array") return treeOf([]);
280
+ function arraySemanticsIssues(value: unknown): PathedIssue[] {
281
+ if (!isPlainObject(value) || value["node_type"] !== "array") return [];
288
282
  const issues: PathedIssue[] = [];
289
283
  const shape = isIntArray(value["shape"]) ? value["shape"] : undefined;
290
284
  const dims = shape?.length;
291
285
 
292
- const grid = fieldParts(value["chunk_grid"]);
286
+ const rawGrid = value["chunk_grid"];
287
+ const grid = fieldParts(rawGrid);
288
+ // Whether the field genuinely lacks a configuration member (a malformed
289
+ // one — configuration: 5 — is the structural layer's complaint, not ours).
290
+ const configMissing =
291
+ typeof rawGrid === "string" ||
292
+ (isPlainObject(rawGrid) && !Object.hasOwn(rawGrid, "configuration"));
293
293
  let chunkSizes: number[][] | undefined;
294
294
  if (grid?.name === "regular") {
295
+ if (configMissing) {
296
+ issues.push({
297
+ path: ["chunk_grid"],
298
+ message: '"regular" requires a configuration with "chunk_shape"',
299
+ kind: "missing_key",
300
+ });
301
+ } else if (grid.configuration !== undefined && !Object.hasOwn(grid.configuration, "chunk_shape")) {
302
+ issues.push({
303
+ path: ["chunk_grid", "configuration", "chunk_shape"],
304
+ message: "missing required key",
305
+ kind: "missing_key",
306
+ });
307
+ }
295
308
  const configured = grid.configuration?.["chunk_shape"];
296
309
  if (isIntArray(configured)) {
297
310
  if (dims !== undefined && configured.length !== dims) {
@@ -306,6 +319,23 @@ export function validateArraySemanticsV3(value: unknown): ErrorTree {
306
319
  }
307
320
  }
308
321
  } else if (grid?.name === "rectilinear") {
322
+ if (configMissing) {
323
+ issues.push({
324
+ path: ["chunk_grid"],
325
+ message: '"rectilinear" requires a configuration with "kind" and "chunk_shapes"',
326
+ kind: "missing_key",
327
+ });
328
+ } else if (grid.configuration !== undefined) {
329
+ for (const key of ["kind", "chunk_shapes"]) {
330
+ if (!Object.hasOwn(grid.configuration, key)) {
331
+ issues.push({
332
+ path: ["chunk_grid", "configuration", key],
333
+ message: "missing required key",
334
+ kind: "missing_key",
335
+ });
336
+ }
337
+ }
338
+ }
309
339
  const specs = grid.configuration?.["chunk_shapes"];
310
340
  if (Array.isArray(specs)) {
311
341
  if (dims !== undefined && specs.length !== dims) {
@@ -367,5 +397,52 @@ export function validateArraySemanticsV3(value: unknown): ErrorTree {
367
397
  if (Array.isArray(codecs)) {
368
398
  issues.push(...pipelineIssues(codecs, ["codecs"], dims, chunkSizes));
369
399
  }
370
- return treeOf(issues);
400
+ return issues;
401
+ }
402
+
403
+ /**
404
+ * Every semantic (cross-field) problem in a v3 array metadata document, as
405
+ * an error tree; an empty tree means no rule found a violation. Values that
406
+ * are not v3 array documents yield an empty tree; run the structural
407
+ * validators for structure. See `validateSemanticsV3` for the form that
408
+ * also descends into a group's inline consolidated metadata.
409
+ */
410
+ export function validateArraySemanticsV3(value: unknown): ErrorTree {
411
+ return treeOf(arraySemanticsIssues(value));
412
+ }
413
+
414
+ // Matches the structural validators' MAX_JSON_DEPTH; the structural layer
415
+ // reports the depth violation, this layer just stops descending.
416
+ const MAX_CONSOLIDATED_DEPTH = 64;
417
+
418
+ function semanticsIssuesAtDepth(value: unknown, depth: number): PathedIssue[] {
419
+ if (depth >= MAX_CONSOLIDATED_DEPTH || !isPlainObject(value)) return [];
420
+ if (value["node_type"] === "array") return arraySemanticsIssues(value);
421
+ if (value["node_type"] !== "group") return [];
422
+ const consolidated = value["consolidated_metadata"];
423
+ if (!isPlainObject(consolidated)) return [];
424
+ const entries = consolidated["metadata"];
425
+ if (!isPlainObject(entries)) return [];
426
+ const issues: PathedIssue[] = [];
427
+ for (const [key, entry] of Object.entries(entries)) {
428
+ issues.push(
429
+ ...semanticsIssuesAtDepth(entry, depth + 1).map((issue) => ({
430
+ ...issue,
431
+ path: ["consolidated_metadata", "metadata", key, ...issue.path],
432
+ })),
433
+ );
434
+ }
435
+ return issues;
436
+ }
437
+
438
+ /**
439
+ * Every semantic problem in a v3 metadata document of either node type: an
440
+ * array document gets the array rules, and a group document's inline
441
+ * consolidated entries are checked recursively (each entry is a complete
442
+ * array or group document, and nested groups may carry consolidated
443
+ * metadata of their own). Issues inside entries are pathed through
444
+ * `consolidated_metadata.metadata.<key>`.
445
+ */
446
+ export function validateSemanticsV3(value: unknown): ErrorTree {
447
+ return treeOf(semanticsIssuesAtDepth(value, 0));
371
448
  }
package/src/validation.ts CHANGED
@@ -968,3 +968,53 @@ export function mustUnderstandExtensionFieldsV3(value: unknown): string[] {
968
968
  return !(isPlainObject(field) && field["must_understand"] === false);
969
969
  });
970
970
  }
971
+
972
+ /**
973
+ * Per-entry document validation for `.zmetadata` (v2 consolidated) — the
974
+ * consumer-side interpretation the reference implementation's model
975
+ * deliberately leaves out (its `metadata` map is kept verbatim). Each entry
976
+ * is validated by what its key names: `<path>/.zarray` as an on-disk v2
977
+ * array document, `<path>/.zgroup` as an on-disk v2 group document (both
978
+ * additionally rejecting an `attributes` member, which on disk lives only
979
+ * in the sibling `.zattrs` file), and `<path>/.zattrs` as a JSON object.
980
+ * Keys naming none of the three are left alone.
981
+ *
982
+ * This is a TS-only layer over `validateConsolidatedMetadataV2` (which
983
+ * stays envelope-only for conformance-corpus parity with Python); run both.
984
+ */
985
+ export function validateConsolidatedDocumentsV2(value: unknown): ErrorTree {
986
+ if (!isPlainObject(value)) return treeOf([]);
987
+ const entries = value["metadata"];
988
+ if (!isPlainObject(entries)) return treeOf([]);
989
+ const problems: PathedIssue[] = [];
990
+ const onDisk = (base: PathedIssue[], entry: unknown): PathedIssue[] => {
991
+ if (isPlainObject(entry) && has(entry, "attributes")) {
992
+ return [
993
+ ...base.filter((issue) => issue.path[0] !== "attributes"),
994
+ problem(
995
+ ["attributes"],
996
+ "unexpected document member (on disk, attributes live in the sibling .zattrs file)",
997
+ "invalid_value",
998
+ ),
999
+ ];
1000
+ }
1001
+ return base;
1002
+ };
1003
+ for (const [key, entry] of Object.entries(entries)) {
1004
+ const basename = key.slice(key.lastIndexOf("/") + 1);
1005
+ let entryProblems: PathedIssue[] | undefined;
1006
+ if (basename === ".zarray") {
1007
+ entryProblems = onDisk(arrayMetadataV2Problems(entry), entry);
1008
+ } else if (basename === ".zgroup") {
1009
+ entryProblems = onDisk(groupMetadataV2Problems(entry), entry);
1010
+ } else if (basename === ".zattrs") {
1011
+ entryProblems = isPlainObject(entry)
1012
+ ? jsonProblems(entry)
1013
+ : [problem([], "expected a mapping with string keys", "invalid_type")];
1014
+ }
1015
+ if (entryProblems !== undefined && entryProblems.length > 0) {
1016
+ problems.push(...prefix("metadata", prefix(key, entryProblems)));
1017
+ }
1018
+ }
1019
+ return treeOf(problems);
1020
+ }