@fougere/schema 0.20.1-alpha.0 → 0.21.0-alpha.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.
@@ -20,6 +20,8 @@ export declare class Format<T = unknown> {
20
20
  protected constructor(stated: Stated, id?: string | undefined);
21
21
  /** `Format.tokens(['now', 'optional'])` → `Instance does not match any of ["now","optional"].` */
22
22
  static tokens<const Words extends readonly string[]>(words: Words): Format<Words[number]>;
23
+ /** A map whose keys are the caller's to choose — `{ 'post.list': { path } }` — each value one format. */
24
+ static recordOf<Value>(format: Format<Value>): Format<Record<string, Value>>;
23
25
  /** `enum`, `required` — a list of one format, so `enum: 'draft'` is refused as the scalar it is. */
24
26
  static listOf<Value>(format: Format<Value>): Format<Value[]>;
25
27
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"Format.d.ts","sourceRoot":"","sources":["../../src/lib/Format.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Format.d.ts","sourceRoot":"","sources":["../../src/lib/Format.ts"],"names":[],"mappings":"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"}
@@ -23,6 +23,10 @@ export class Format {
23
23
  static tokens(words) {
24
24
  return new Format({ enum: [...words] });
25
25
  }
26
+ /** A map whose keys are the caller's to choose — `{ 'post.list': { path } }` — each value one format. */
27
+ static recordOf(format) {
28
+ return new Format({ type: 'object', additionalProperties: format.schema });
29
+ }
26
30
  /** `enum`, `required` — a list of one format, so `enum: 'draft'` is refused as the scalar it is. */
27
31
  static listOf(format) {
28
32
  return new Format({ type: 'array', items: format.schema });
@@ -1 +1 @@
1
- {"version":3,"file":"Format.js","sourceRoot":"","sources":["../../src/lib/Format.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Format.js","sourceRoot":"","sources":["../../src/lib/Format.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fougere/schema",
3
- "version": "0.20.1-alpha.0",
3
+ "version": "0.21.0-alpha.0",
4
4
  "description": "The entity and its 4 axes — shape, role, lifecycle, boundary. Subject-owned judgments, edge-safe.",
5
5
  "keywords": [
6
6
  "fougere",
package/src/lib/Format.ts CHANGED
@@ -36,6 +36,11 @@ export class Format<T = unknown> {
36
36
  return new Format({ enum: [...words] });
37
37
  }
38
38
 
39
+ /** A map whose keys are the caller's to choose — `{ 'post.list': { path } }` — each value one format. */
40
+ static recordOf<Value>(format: Format<Value>): Format<Record<string, Value>> {
41
+ return new Format({ type: 'object', additionalProperties: format.schema });
42
+ }
43
+
39
44
  /** `enum`, `required` — a list of one format, so `enum: 'draft'` is refused as the scalar it is. */
40
45
  static listOf<Value>(format: Format<Value>): Format<Value[]> {
41
46
  return new Format({ type: 'array', items: format.schema });