@idfkit/schemas 0.2.0-rc.2 → 0.2.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/dist/index.d.ts CHANGED
@@ -1,7 +1,8 @@
1
1
  import { Schema } from './schema.js';
2
+ import type { ProsePool } from './types.js';
2
3
  export { BlobStore, Schema } from './schema.js';
3
4
  export type { SchemaDelta } from './schema.js';
4
- export type { BundleIndex, FieldKind, Manifest, SlimExtensible, SlimField, SlimType, } from './types.js';
5
+ export type { BundleIndex, FieldKind, Manifest, ProsePool, SlimExtensible, SlimField, SlimType, } from './types.js';
5
6
  /**
6
7
  * Where bundle files come from.
7
8
  *
@@ -49,5 +50,34 @@ export declare class SchemaBundle {
49
50
  load(version: string): Promise<Schema>;
50
51
  /** A version already loaded, or undefined. Synchronous by design. */
51
52
  loaded(version: string): Schema | undefined;
53
+ /**
54
+ * Load the explanatory prose this bundle's manifests index into.
55
+ *
56
+ * One pool serves every version: `build.mjs` deduplicates the memos and notes
57
+ * of all seventeen schemas into a single array and the manifests carry indices
58
+ * into it, so there is no version to pass here.
59
+ *
60
+ * It is a separate call rather than part of `load` because the two are wanted
61
+ * at different moments by different callers. Parsing a model needs the records
62
+ * and never needs a sentence of English; describing a type for a reader needs
63
+ * both. Keeping the fetch separate is what lets the parse path stay unaware the
64
+ * pool exists, which `check-bundle-purity.mjs` asserts by building a minimal
65
+ * read-and-write graph and failing on any input under `data/`.
66
+ *
67
+ * Repeat calls return the same array; concurrent calls share one read.
68
+ */
69
+ loadProse(): Promise<ProsePool>;
70
+ /**
71
+ * The prose pool if it has been loaded, or undefined. Synchronous by design.
72
+ *
73
+ * The counterpart of `loaded`, and it exists for the same reason. Everything
74
+ * that reads prose is synchronous: `describeObjectType` takes a pool rather
75
+ * than fetching one, and every answer in `@idfkit/language` is a pure function
76
+ * so an editor server can answer a cursor without holding a thread. A consumer
77
+ * calls `loadProse` once when a document arrives and reads this on the request
78
+ * path. Without the pair, a caller would either await inside a path it keeps
79
+ * synchronous or build a second cache beside the one this class already has.
80
+ */
81
+ prose(): ProsePool | undefined;
52
82
  }
53
83
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,MAAM,EAAE,MAAM,aAAa,CAAC;AAGhD,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAChD,YAAY,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC/C,YAAY,EACV,WAAW,EACX,SAAS,EACT,QAAQ,EACR,cAAc,EACd,SAAS,EACT,QAAQ,GACT,MAAM,YAAY,CAAC;AAEpB;;;;;;GAMG;AACH,MAAM,WAAW,YAAY;IAC3B,IAAI,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CAC1C;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,YAAY,CA6BxD;AAED;;;;;;GAMG;AACH,qBAAa,YAAY;;gBAQX,MAAM,EAAE,YAAY;IAIhC,oDAAoD;IAC9C,QAAQ,IAAI,OAAO,CAAC,SAAS,MAAM,EAAE,CAAC;IAI5C,wCAAwC;IAClC,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC;IAO/B;;;;OAIG;IACG,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAY5C,qEAAqE;IACrE,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;CA4B5C"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,MAAM,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,KAAK,EAAyB,SAAS,EAAY,MAAM,YAAY,CAAC;AAE7E,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAChD,YAAY,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC/C,YAAY,EACV,WAAW,EACX,SAAS,EACT,QAAQ,EACR,SAAS,EACT,cAAc,EACd,SAAS,EACT,QAAQ,GACT,MAAM,YAAY,CAAC;AAEpB;;;;;;GAMG;AACH,MAAM,WAAW,YAAY;IAC3B,IAAI,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CAC1C;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,YAAY,CA6BxD;AAED;;;;;;GAMG;AACH,qBAAa,YAAY;;gBAWX,MAAM,EAAE,YAAY;IAIhC,oDAAoD;IAC9C,QAAQ,IAAI,OAAO,CAAC,SAAS,MAAM,EAAE,CAAC;IAI5C,wCAAwC;IAClC,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC;IAO/B;;;;OAIG;IACG,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAY5C,qEAAqE;IACrE,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAI3C;;;;;;;;;;;;;;;OAeG;IACG,SAAS,IAAI,OAAO,CAAC,SAAS,CAAC;IAarC;;;;;;;;;;OAUG;IACH,KAAK,IAAI,SAAS,GAAG,SAAS;CAkC/B"}
package/dist/index.js CHANGED
@@ -58,6 +58,9 @@ export class SchemaBundle {
58
58
  #schemas = new Map();
59
59
  /** In-flight loads, so concurrent callers share one request. */
60
60
  #pending = new Map();
61
+ #prose;
62
+ /** In-flight prose read, on the same terms as `#pending`. */
63
+ #proseInFlight;
61
64
  constructor(source) {
62
65
  this.#source = source;
63
66
  }
@@ -93,6 +96,53 @@ export class SchemaBundle {
93
96
  loaded(version) {
94
97
  return this.#schemas.get(version);
95
98
  }
99
+ /**
100
+ * Load the explanatory prose this bundle's manifests index into.
101
+ *
102
+ * One pool serves every version: `build.mjs` deduplicates the memos and notes
103
+ * of all seventeen schemas into a single array and the manifests carry indices
104
+ * into it, so there is no version to pass here.
105
+ *
106
+ * It is a separate call rather than part of `load` because the two are wanted
107
+ * at different moments by different callers. Parsing a model needs the records
108
+ * and never needs a sentence of English; describing a type for a reader needs
109
+ * both. Keeping the fetch separate is what lets the parse path stay unaware the
110
+ * pool exists, which `check-bundle-purity.mjs` asserts by building a minimal
111
+ * read-and-write graph and failing on any input under `data/`.
112
+ *
113
+ * Repeat calls return the same array; concurrent calls share one read.
114
+ */
115
+ async loadProse() {
116
+ if (this.#prose !== undefined)
117
+ return this.#prose;
118
+ const inFlight = this.#proseInFlight;
119
+ if (inFlight !== undefined)
120
+ return inFlight;
121
+ const promise = this.#loadProse().finally(() => {
122
+ this.#proseInFlight = undefined;
123
+ });
124
+ this.#proseInFlight = promise;
125
+ return promise;
126
+ }
127
+ /**
128
+ * The prose pool if it has been loaded, or undefined. Synchronous by design.
129
+ *
130
+ * The counterpart of `loaded`, and it exists for the same reason. Everything
131
+ * that reads prose is synchronous: `describeObjectType` takes a pool rather
132
+ * than fetching one, and every answer in `@idfkit/language` is a pure function
133
+ * so an editor server can answer a cursor without holding a thread. A consumer
134
+ * calls `loadProse` once when a document arrives and reads this on the request
135
+ * path. Without the pair, a caller would either await inside a path it keeps
136
+ * synchronous or build a second cache beside the one this class already has.
137
+ */
138
+ prose() {
139
+ return this.#prose;
140
+ }
141
+ async #loadProse() {
142
+ const pool = (await this.#source.read('docs.json'));
143
+ this.#prose = pool;
144
+ return pool;
145
+ }
96
146
  async #load(version) {
97
147
  const index = await this.#loadIndex();
98
148
  const fileName = index.manifests[version];
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -154,4 +154,16 @@ export interface BundleIndex {
154
154
  /** Per-version manifest file names, keyed by version string. */
155
155
  manifests: Record<string, string>;
156
156
  }
157
+ /**
158
+ * The schema's explanatory prose, deduplicated across every bundled version.
159
+ *
160
+ * A plain array of strings, indexed by `SlimType.m` and `SlimField.n`. It lives
161
+ * here rather than beside the code that reads it because THE INDICES ARE ONLY
162
+ * MEANINGFUL AGAINST THE MANIFESTS BUILT IN THE SAME RUN: `build.mjs` writes
163
+ * `docs.json` and the manifests together, and a pool paired with manifests from
164
+ * a different build resolves every sentence to the wrong one, silently. Keeping
165
+ * the type and the loader on `SchemaBundle` is what makes that pairing hard to
166
+ * get wrong.
167
+ */
168
+ export type ProsePool = readonly string[];
157
169
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,+EAA+E;AAC/E,MAAM,MAAM,SAAS;AACnB,+BAA+B;AAC7B,GAAG;AACL,oDAAoD;GAClD,GAAG;AACL,gDAAgD;GAC9C,GAAG;AACL,gCAAgC;GAC9B,KAAK,CAAC;AAEV,MAAM,WAAW,SAAS;IACxB,qBAAqB;IACrB,CAAC,EAAE,SAAS,CAAC;IACb;;;;;;OAMG;IACH,IAAI,CAAC,EAAE,CAAC,CAAC;IACT;;;;;;;;;;;;;;OAcG;IACH,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC;IACd,oFAAoF;IACpF,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC;IACd,+EAA+E;IAC/E,GAAG,CAAC,EAAE,MAAM,EAAE,CAAC;IACf;;;;;;OAMG;IACH,CAAC,CAAC,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAC;IACxB,iEAAiE;IACjE,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACpB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IACb;;;;;;;;;OASG;IACH,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IACxB,+DAA+D;IAC/D,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IACxB,qDAAqD;IACrD,CAAC,CAAC,EAAE,MAAM,CAAC;IACX,0DAA0D;IAC1D,EAAE,CAAC,EAAE,CAAC,CAAC;IACP;;;;;;;;;;;;OAYG;IACH,EAAE,CAAC,EAAE,CAAC,CAAC;IACP;;;;;;OAMG;IACH,CAAC,CAAC,EAAE,MAAM,CAAC;CACZ;AAED,MAAM,WAAW,cAAc;IAC7B,qDAAqD;IACrD,GAAG,EAAE,MAAM,CAAC;IACZ,0DAA0D;IAC1D,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,kEAAkE;IAClE,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;CAC9B;AAED,MAAM,WAAW,QAAQ;IACvB,yEAAyE;IACzE,CAAC,EAAE,MAAM,EAAE,CAAC;IACZ,qDAAqD;IACrD,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IAC7B,4BAA4B;IAC5B,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC;IACb,0DAA0D;IAC1D,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,iCAAiC;IACjC,IAAI,CAAC,EAAE,CAAC,CAAC;IACT,8EAA8E;IAC9E,CAAC,CAAC,EAAE,CAAC,CAAC;IACN,8EAA8E;IAC9E,IAAI,CAAC,EAAE,CAAC,CAAC;IACT,0DAA0D;IAC1D,CAAC,CAAC,EAAE,cAAc,CAAC;IACnB,oDAAoD;IACpD,CAAC,CAAC,EAAE,MAAM,CAAC;IACX;;;;;;OAMG;IACH,CAAC,CAAC,EAAE,MAAM,CAAC;IACX;;;;;;;OAOG;IACH,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC;CACf;AAED,2EAA2E;AAC3E,MAAM,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAE9C,MAAM,WAAW,WAAW;IAC1B,oEAAoE;IACpE,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,gEAAgE;IAChE,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACnC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,+EAA+E;AAC/E,MAAM,MAAM,SAAS;AACnB,+BAA+B;AAC7B,GAAG;AACL,oDAAoD;GAClD,GAAG;AACL,gDAAgD;GAC9C,GAAG;AACL,gCAAgC;GAC9B,KAAK,CAAC;AAEV,MAAM,WAAW,SAAS;IACxB,qBAAqB;IACrB,CAAC,EAAE,SAAS,CAAC;IACb;;;;;;OAMG;IACH,IAAI,CAAC,EAAE,CAAC,CAAC;IACT;;;;;;;;;;;;;;OAcG;IACH,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC;IACd,oFAAoF;IACpF,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC;IACd,+EAA+E;IAC/E,GAAG,CAAC,EAAE,MAAM,EAAE,CAAC;IACf;;;;;;OAMG;IACH,CAAC,CAAC,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAC;IACxB,iEAAiE;IACjE,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACpB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IACb;;;;;;;;;OASG;IACH,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IACxB,+DAA+D;IAC/D,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IACxB,qDAAqD;IACrD,CAAC,CAAC,EAAE,MAAM,CAAC;IACX,0DAA0D;IAC1D,EAAE,CAAC,EAAE,CAAC,CAAC;IACP;;;;;;;;;;;;OAYG;IACH,EAAE,CAAC,EAAE,CAAC,CAAC;IACP;;;;;;OAMG;IACH,CAAC,CAAC,EAAE,MAAM,CAAC;CACZ;AAED,MAAM,WAAW,cAAc;IAC7B,qDAAqD;IACrD,GAAG,EAAE,MAAM,CAAC;IACZ,0DAA0D;IAC1D,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,kEAAkE;IAClE,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;CAC9B;AAED,MAAM,WAAW,QAAQ;IACvB,yEAAyE;IACzE,CAAC,EAAE,MAAM,EAAE,CAAC;IACZ,qDAAqD;IACrD,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IAC7B,4BAA4B;IAC5B,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC;IACb,0DAA0D;IAC1D,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,iCAAiC;IACjC,IAAI,CAAC,EAAE,CAAC,CAAC;IACT,8EAA8E;IAC9E,CAAC,CAAC,EAAE,CAAC,CAAC;IACN,8EAA8E;IAC9E,IAAI,CAAC,EAAE,CAAC,CAAC;IACT,0DAA0D;IAC1D,CAAC,CAAC,EAAE,cAAc,CAAC;IACnB,oDAAoD;IACpD,CAAC,CAAC,EAAE,MAAM,CAAC;IACX;;;;;;OAMG;IACH,CAAC,CAAC,EAAE,MAAM,CAAC;IACX;;;;;;;OAOG;IACH,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC;CACf;AAED,2EAA2E;AAC3E,MAAM,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAE9C,MAAM,WAAW,WAAW;IAC1B,oEAAoE;IACpE,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,gEAAgE;IAChE,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACnC;AAED;;;;;;;;;;GAUG;AACH,MAAM,MAAM,SAAS,GAAG,SAAS,MAAM,EAAE,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@idfkit/schemas",
3
- "version": "0.2.0-rc.2",
3
+ "version": "0.2.0",
4
4
  "description": "Content-addressed EnergyPlus epJSON schemas for all supported versions",
5
5
  "type": "module",
6
6
  "license": "MIT",