@bilig/workbook 0.67.11 → 0.67.13

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/model.js CHANGED
@@ -1,12 +1,33 @@
1
+ import { isLiteralInput } from '@bilig/protocol';
1
2
  import { formula } from './formula.js';
2
- import { collectWorkbookRefs, createWorkbookFindApi } from './find.js';
3
+ import { collectWorkbookRefs, createWorkbookFindApi, isWorkbookRef } from './find.js';
3
4
  import { createWorkbookCheckApi } from './check.js';
4
5
  import { checkInput, WorkbookActionInputError, normalizeOptionalWorkbookActionInput, normalizeWorkbookActionInput, normalizeWorkbookActionInputDescription, } from './input.js';
5
6
  import { isWorkbookOp } from './guards.js';
6
7
  export function defineModel(config) {
7
- const name = normalizeRequiredName(config.name, 'Workbook model name');
8
- const description = normalizeOptionalDescription(config.description, `Workbook model ${name} description`);
9
- const actionNames = Object.keys(config.actions);
8
+ if (!isObject(config)) {
9
+ throw new Error('Workbook model config must be an object');
10
+ }
11
+ const name = normalizeRequiredName(requiredModelConfigValue(config, 'name'), 'Workbook model name');
12
+ const descriptionValue = optionalModelConfigValue(config, 'description');
13
+ const description = normalizeOptionalDescription(descriptionValue.status === 'present' ? descriptionValue.value : undefined, `Workbook model ${name} description`);
14
+ const find = requiredModelConfigValue(config, 'find');
15
+ if (!isFindFunction(find)) {
16
+ throw new Error(`Workbook model ${name} find must be a function`);
17
+ }
18
+ const checksValue = optionalModelConfigValue(config, 'checks');
19
+ let checks;
20
+ if (checksValue.status === 'present') {
21
+ if (!isChecksFunction(checksValue.value)) {
22
+ throw new Error(`Workbook model ${name} checks must be a function`);
23
+ }
24
+ checks = checksValue.value;
25
+ }
26
+ const actionMap = requiredModelConfigValue(config, 'actions');
27
+ if (!isObject(actionMap) || Array.isArray(actionMap)) {
28
+ throw new Error(`Workbook model ${name} actions must be an object`);
29
+ }
30
+ const actionNames = Object.keys(actionMap);
10
31
  if (actionNames.length === 0) {
11
32
  throw new Error(`Workbook model ${name} must define at least one action`);
12
33
  }
@@ -16,14 +37,18 @@ export function defineModel(config) {
16
37
  const actions = {};
17
38
  Object.setPrototypeOf(actions, null);
18
39
  actionNames.forEach((actionName) => {
19
- actions[actionName] = normalizeActionDefinition(name, actionName, config.actions[actionName]);
40
+ actions[actionName] = normalizeActionDefinition(name, actionName, requiredDataProperty(actionMap, actionName, `Workbook model ${name} action ${actionName}`));
20
41
  });
21
42
  Object.freeze(actions);
22
43
  return Object.freeze({
23
44
  name,
24
45
  ...(description !== undefined ? { description } : {}),
25
- find: config.find,
26
- ...(config.checks !== undefined ? { checks: config.checks } : {}),
46
+ find: (workbook) => Reflect.apply(find, undefined, [workbook]),
47
+ ...(checks !== undefined
48
+ ? {
49
+ checks: (context) => Reflect.apply(checks, undefined, [context]),
50
+ }
51
+ : {}),
27
52
  actions,
28
53
  });
29
54
  }
@@ -39,6 +64,9 @@ export function inspectModel(model) {
39
64
  };
40
65
  }
41
66
  function normalizeRequiredName(value, label) {
67
+ if (typeof value !== 'string') {
68
+ throw new Error(`${label} must be a string`);
69
+ }
42
70
  const name = value.trim();
43
71
  if (name === '') {
44
72
  throw new Error(`${label} cannot be empty`);
@@ -64,11 +92,164 @@ function normalizeOptionalDescription(value, label) {
64
92
  function isActionConfig(definition) {
65
93
  return typeof definition === 'object' && definition !== null;
66
94
  }
67
- function ownPropertyValue(value, key) {
68
- return Object.getOwnPropertyDescriptor(value, key)?.value;
95
+ function isFindFunction(value) {
96
+ return typeof value === 'function';
97
+ }
98
+ function isChecksFunction(value) {
99
+ return typeof value === 'function';
100
+ }
101
+ function isWorkbookActionFunction(value) {
102
+ return typeof value === 'function';
103
+ }
104
+ function isObject(value) {
105
+ return typeof value === 'object' && value !== null;
106
+ }
107
+ function optionalDataProperty(value, key, label) {
108
+ const descriptor = Object.getOwnPropertyDescriptor(value, key);
109
+ if (descriptor === undefined) {
110
+ return { status: 'missing' };
111
+ }
112
+ if (!('value' in descriptor)) {
113
+ throw new Error(`${label} must be a data property`);
114
+ }
115
+ return {
116
+ status: 'present',
117
+ value: descriptor.value,
118
+ };
119
+ }
120
+ function requiredDataProperty(value, key, label) {
121
+ const property = optionalDataProperty(value, key, label);
122
+ if (property.status === 'missing') {
123
+ throw new Error(`${label} must be a data property`);
124
+ }
125
+ return property.value;
126
+ }
127
+ function optionalDataValue(value, key, path) {
128
+ return optionalDataProperty(value, key, `Workbook check at ${path}`);
129
+ }
130
+ function requiredDataValue(value, key, path) {
131
+ const property = optionalDataValue(value, key, path);
132
+ if (property.status === 'missing') {
133
+ throw new Error(`Workbook check at ${path} is missing`);
134
+ }
135
+ return property.value;
136
+ }
137
+ function dataArrayEntries(value, path) {
138
+ if (!Array.isArray(value)) {
139
+ throw new Error(`Workbook check at ${path} must be an array`);
140
+ }
141
+ const entries = [];
142
+ for (let index = 0; index < value.length; index += 1) {
143
+ const entryPath = `${path}[${index}]`;
144
+ const descriptor = Object.getOwnPropertyDescriptor(value, String(index));
145
+ if (descriptor === undefined || !descriptor.enumerable || !('value' in descriptor)) {
146
+ throw new Error(`Workbook check at ${entryPath} must be a data property`);
147
+ }
148
+ entries.push([descriptor.value, entryPath]);
149
+ }
150
+ return entries;
69
151
  }
70
- function ownActionRun(definition) {
71
- const run = ownPropertyValue(definition, 'run');
152
+ function checkRef(value, path) {
153
+ if (!isWorkbookRef(value)) {
154
+ throw new Error(`Workbook check at ${path} must be a workbook ref`);
155
+ }
156
+ return value;
157
+ }
158
+ function checkRefArray(value, path) {
159
+ return Object.freeze(dataArrayEntries(value, path).map(([entry, entryPath]) => checkRef(entry, entryPath)));
160
+ }
161
+ function checkFormulaLabel(value, path) {
162
+ if (!isObject(value)) {
163
+ throw new Error(`Workbook check at ${path} must be a formula label`);
164
+ }
165
+ const name = requiredDataValue(value, 'name', `${path}.name`);
166
+ if (typeof name !== 'string') {
167
+ throw new Error(`Workbook check at ${path}.name must be a string`);
168
+ }
169
+ const ref = checkRef(requiredDataValue(value, 'ref', `${path}.ref`), `${path}.ref`);
170
+ return Object.freeze({
171
+ name,
172
+ ref,
173
+ });
174
+ }
175
+ function checkFormulaLabels(value, path) {
176
+ return Object.freeze(dataArrayEntries(value, path).map(([entry, entryPath]) => checkFormulaLabel(entry, entryPath)));
177
+ }
178
+ function cloneCheckExpectation(value, path) {
179
+ if (!isObject(value)) {
180
+ throw new Error(`Workbook check at ${path} must be an expectation`);
181
+ }
182
+ const kind = requiredDataValue(value, 'kind', `${path}.kind`);
183
+ if (kind === 'valueEquals') {
184
+ const expected = requiredDataValue(value, 'value', `${path}.value`);
185
+ if (!isLiteralInput(expected)) {
186
+ throw new Error(`Workbook check at ${path}.value must be a finite JSON literal`);
187
+ }
188
+ return Object.freeze({
189
+ kind: 'valueEquals',
190
+ value: expected,
191
+ });
192
+ }
193
+ if (kind === 'formulaEquals') {
194
+ const expectedFormula = requiredDataValue(value, 'formula', `${path}.formula`);
195
+ if (typeof expectedFormula !== 'string') {
196
+ throw new Error(`Workbook check at ${path}.formula must be a string`);
197
+ }
198
+ return Object.freeze({
199
+ kind: 'formulaEquals',
200
+ formula: expectedFormula,
201
+ inputs: checkRefArray(requiredDataValue(value, 'inputs', `${path}.inputs`), `${path}.inputs`),
202
+ labels: checkFormulaLabels(requiredDataValue(value, 'labels', `${path}.labels`), `${path}.labels`),
203
+ });
204
+ }
205
+ throw new Error(`Workbook check at ${path}.kind is invalid`);
206
+ }
207
+ function cloneCheckResult(check, path) {
208
+ if (!isObject(check)) {
209
+ throw new Error(`Workbook check at ${path} must be an object`);
210
+ }
211
+ const status = requiredDataValue(check, 'status', `${path}.status`);
212
+ if (status !== 'planned' && status !== 'passed' && status !== 'failed') {
213
+ throw new Error(`Workbook check at ${path}.status is invalid`);
214
+ }
215
+ const kind = requiredDataValue(check, 'kind', `${path}.kind`);
216
+ if (typeof kind !== 'string') {
217
+ throw new Error(`Workbook check at ${path}.kind must be a string`);
218
+ }
219
+ const message = requiredDataValue(check, 'message', `${path}.message`);
220
+ if (typeof message !== 'string') {
221
+ throw new Error(`Workbook check at ${path}.message must be a string`);
222
+ }
223
+ const target = optionalDataValue(check, 'target', `${path}.target`);
224
+ const refs = optionalDataValue(check, 'refs', `${path}.refs`);
225
+ const expectation = optionalDataValue(check, 'expectation', `${path}.expectation`);
226
+ const proof = optionalDataValue(check, 'proof', `${path}.proof`);
227
+ const proofValue = proof.status === 'present' ? normalizeWorkbookActionInput(proof.value) : undefined;
228
+ return Object.freeze({
229
+ status,
230
+ kind,
231
+ ...(target.status === 'present' ? { target: checkRef(target.value, `${path}.target`) } : {}),
232
+ ...(refs.status === 'present' ? { refs: checkRefArray(refs.value, `${path}.refs`) } : {}),
233
+ message,
234
+ ...(expectation.status === 'present' ? { expectation: cloneCheckExpectation(expectation.value, `${path}.expectation`) } : {}),
235
+ ...(proofValue !== undefined ? { proof: proofValue } : {}),
236
+ });
237
+ }
238
+ function optionalModelConfigValue(value, key) {
239
+ return optionalDataProperty(value, key, `Workbook model config ${key}`);
240
+ }
241
+ function requiredModelConfigValue(value, key) {
242
+ return requiredDataProperty(value, key, `Workbook model config ${key}`);
243
+ }
244
+ function actionConfigValue(modelName, actionName, definition, key) {
245
+ return optionalDataProperty(definition, key, `Workbook model ${modelName} action ${actionName} ${key}`);
246
+ }
247
+ function ownActionRun(modelName, actionName, definition) {
248
+ const runProperty = actionConfigValue(modelName, actionName, definition, 'run');
249
+ if (runProperty.status === 'missing') {
250
+ return undefined;
251
+ }
252
+ const run = runProperty.value;
72
253
  if (typeof run !== 'function') {
73
254
  return undefined;
74
255
  }
@@ -77,19 +258,20 @@ function ownActionRun(definition) {
77
258
  };
78
259
  }
79
260
  function normalizeActionDefinition(modelName, actionName, definition) {
80
- if (typeof definition === 'function') {
261
+ if (isWorkbookActionFunction(definition)) {
81
262
  return definition;
82
263
  }
83
264
  if (!isActionConfig(definition)) {
84
265
  throw new Error(`Workbook model ${modelName} action ${actionName} must be a function or action object with run`);
85
266
  }
86
- const run = ownActionRun(definition);
267
+ const run = ownActionRun(modelName, actionName, definition);
87
268
  if (run === undefined) {
88
269
  throw new Error(`Workbook model ${modelName} action ${actionName} must be a function or action object with run`);
89
270
  }
90
- const description = normalizeOptionalDescription(ownPropertyValue(definition, 'description'), `Workbook model ${modelName} action ${actionName} description`);
91
- const inputValue = ownPropertyValue(definition, 'input');
92
- const input = inputValue === undefined ? undefined : normalizeWorkbookActionInputDescription(inputValue);
271
+ const descriptionValue = actionConfigValue(modelName, actionName, definition, 'description');
272
+ const description = normalizeOptionalDescription(descriptionValue.status === 'present' ? descriptionValue.value : undefined, `Workbook model ${modelName} action ${actionName} description`);
273
+ const inputValue = actionConfigValue(modelName, actionName, definition, 'input');
274
+ const input = inputValue.status === 'present' ? normalizeWorkbookActionInputDescription(inputValue.value) : undefined;
93
275
  return Object.freeze({
94
276
  ...(description !== undefined ? { description } : {}),
95
277
  ...(input !== undefined ? { input } : {}),
@@ -106,9 +288,10 @@ function inspectAction(name, definition) {
106
288
  if (definition === undefined || typeof definition === 'function') {
107
289
  return { name };
108
290
  }
109
- const description = normalizeOptionalDescription(ownPropertyValue(definition, 'description'), `Workbook action ${name} description`);
110
- const inputValue = ownPropertyValue(definition, 'input');
111
- const input = inputValue === undefined ? undefined : normalizeWorkbookActionInputDescription(inputValue);
291
+ const descriptionValue = optionalDataProperty(definition, 'description', `Workbook action ${name} description`);
292
+ const description = normalizeOptionalDescription(descriptionValue.status === 'present' ? descriptionValue.value : undefined, `Workbook action ${name} description`);
293
+ const inputValue = optionalDataProperty(definition, 'input', `Workbook action ${name} input`);
294
+ const input = inputValue.status === 'present' ? normalizeWorkbookActionInputDescription(inputValue.value) : undefined;
112
295
  return {
113
296
  name,
114
297
  ...(description !== undefined ? { description } : {}),
@@ -185,31 +368,8 @@ function freezeActionCommand(command) {
185
368
  });
186
369
  }
187
370
  }
188
- function freezeCheckExpectation(check) {
189
- if (check.expectation === undefined) {
190
- return undefined;
191
- }
192
- if (check.expectation.kind === 'formulaEquals') {
193
- return Object.freeze({
194
- ...check.expectation,
195
- inputs: Object.freeze([...check.expectation.inputs]),
196
- labels: Object.freeze(check.expectation.labels.map((label) => Object.freeze({ ...label }))),
197
- });
198
- }
199
- return Object.freeze({ ...check.expectation });
200
- }
201
371
  function freezeCheckResult(check) {
202
- const expectation = freezeCheckExpectation(check);
203
- const proof = check.proof === undefined ? undefined : normalizeWorkbookActionInput(check.proof);
204
- return Object.freeze({
205
- status: check.status,
206
- kind: check.kind,
207
- ...(check.target !== undefined ? { target: check.target } : {}),
208
- ...(check.refs !== undefined ? { refs: Object.freeze([...check.refs]) } : {}),
209
- message: check.message,
210
- ...(expectation !== undefined ? { expectation } : {}),
211
- ...(proof !== undefined ? { proof } : {}),
212
- });
372
+ return cloneCheckResult(check, 'check');
213
373
  }
214
374
  function freezeChangeSummary(change) {
215
375
  return Object.freeze({
@@ -346,9 +506,12 @@ function createActionWorkbook(input) {
346
506
  return Object.freeze(workbook);
347
507
  }
348
508
  function pushReturnedChecks(target, returned) {
349
- returned?.forEach((entry) => {
350
- if (!target.includes(entry)) {
351
- target.push(entry);
509
+ if (returned === undefined) {
510
+ return;
511
+ }
512
+ dataArrayEntries(returned, 'checks').forEach(([entry, path]) => {
513
+ if (!target.some((existing) => existing === entry)) {
514
+ target.push(cloneCheckResult(entry, path));
352
515
  }
353
516
  });
354
517
  }
package/dist/model.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"model.js","sourceRoot":"","sources":["../src/model.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"model.js","sourceRoot":"","sources":["../src/model.ts"],"names":[],"mappings":"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"}
@@ -1,12 +1,12 @@
1
- import type { LiteralInput } from '@bilig/protocol';
2
- import type { WorkbookRef } from './find.js';
1
+ import { type LiteralInput } from '@bilig/protocol';
2
+ import { type WorkbookRef } from './find.js';
3
3
  import type { WorkbookCheckResult } from './result.js';
4
4
  export interface WorkbookRunReadback {
5
5
  readonly target: WorkbookRef;
6
6
  readonly value?: LiteralInput;
7
7
  readonly formula?: string | null;
8
8
  }
9
- export type WorkbookReadbackIssueCode = 'readback_missing' | 'readback_unexpected' | 'value_mismatch' | 'formula_mismatch';
9
+ export type WorkbookReadbackIssueCode = 'readback_invalid' | 'readback_missing' | 'readback_unexpected' | 'value_mismatch' | 'formula_mismatch';
10
10
  export interface WorkbookReadbackIssue {
11
11
  readonly code: WorkbookReadbackIssueCode;
12
12
  readonly message: string;