@hozu/cli 0.4.2 → 0.5.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.
Files changed (47) hide show
  1. package/dist/commands/add-widget.d.ts +4 -0
  2. package/dist/commands/add-widget.d.ts.map +1 -0
  3. package/dist/commands/add-widget.js +89 -0
  4. package/dist/commands/add-widget.js.map +1 -0
  5. package/dist/commands/add.d.ts +1 -0
  6. package/dist/commands/add.d.ts.map +1 -1
  7. package/dist/commands/add.js +1 -1
  8. package/dist/commands/add.js.map +1 -1
  9. package/dist/commands/check.d.ts +2 -0
  10. package/dist/commands/check.d.ts.map +1 -1
  11. package/dist/commands/check.js +38 -2
  12. package/dist/commands/check.js.map +1 -1
  13. package/dist/commands/docs.d.ts +3 -0
  14. package/dist/commands/docs.d.ts.map +1 -0
  15. package/dist/commands/docs.js +36 -0
  16. package/dist/commands/docs.js.map +1 -0
  17. package/dist/commands/map.d.ts.map +1 -1
  18. package/dist/commands/map.js +8 -0
  19. package/dist/commands/map.js.map +1 -1
  20. package/dist/commands/request.d.ts.map +1 -1
  21. package/dist/commands/request.js +19 -1
  22. package/dist/commands/request.js.map +1 -1
  23. package/dist/commands/scaffold.d.ts.map +1 -1
  24. package/dist/commands/scaffold.js +26 -150
  25. package/dist/commands/scaffold.js.map +1 -1
  26. package/dist/commands/validate.d.ts.map +1 -1
  27. package/dist/commands/validate.js +15 -12
  28. package/dist/commands/validate.js.map +1 -1
  29. package/dist/contract.d.ts +16 -0
  30. package/dist/contract.d.ts.map +1 -1
  31. package/dist/load.d.ts +1 -0
  32. package/dist/load.d.ts.map +1 -1
  33. package/dist/load.js +9 -0
  34. package/dist/load.js.map +1 -1
  35. package/dist/main.d.ts.map +1 -1
  36. package/dist/main.js +21 -3
  37. package/dist/main.js.map +1 -1
  38. package/dist/output.d.ts.map +1 -1
  39. package/dist/output.js +40 -0
  40. package/dist/output.js.map +1 -1
  41. package/package.json +7 -6
  42. package/schema/check.schema.json +9 -2
  43. package/schema/docs.schema.json +45 -0
  44. package/schema/inspect.schema.json +38 -0
  45. package/schema/map.schema.json +31 -0
  46. package/schema/request.schema.json +7 -0
  47. package/schema/validate.schema.json +9 -2
@@ -31,26 +31,14 @@ const events = (w) => ['Draft', 'Add', w.toggle && 'Toggle', w.remove && 'Remove
31
31
  export function model(n, w) {
32
32
  const keyed = w.detail || w.toggle || w.remove;
33
33
  const busy = w.toggle || w.remove;
34
- const ignore = `ignore: [${events(w).join(', ')}],`;
35
- const core = [
36
- 'event',
37
- ...(w.filter ? ['fn'] : []),
38
- 'invoke',
39
- 'machine',
40
- 'mutation',
41
- 'on',
42
- 'op',
43
- 'query',
44
- 'tag',
45
- ];
34
+ const core = ['event', ...(w.filter ? ['fn'] : []), 'invoke', 'machine', 'mutation', 'on', 'query', 'tag'];
46
35
  const actionState = (state, effect) => ` ${state}: {
47
- ${ignore}
48
36
  invoke: invoke(${effect}, {
49
37
  input: { id: ctx.target },
50
- done: [{ target: 'idle' }],
38
+ done: 'idle',
51
39
  failed: {
52
- NotFound: [{ target: 'idle', assign: () => [op.set(ctx.error, NOT_FOUND)] }],
53
- Unexpected: [{ target: 'idle', assign: (e) => [op.set(ctx.error, e.message)] }],
40
+ NotFound: { target: 'idle', assign: () => { ctx.error = NOT_FOUND } },
41
+ Unexpected: { target: 'idle', assign: (e) => { ctx.error = e.message } },
54
42
  },
55
43
  }),
56
44
  },`;
@@ -91,9 +79,9 @@ export const isEmpty = fn({
91
79
  input: Visible,
92
80
  output: z.boolean(),
93
81
  impl: ({ items, show }) => !items.some((item) => show === 'all' || (show === 'done') === item.done),
94
- })`, '', `export const DUPLICATE = 'This ${n.one} already exists'`, busy && `export const NOT_FOUND = 'This ${n.one} no longer exists'`, '', `export const ${n.machine} = machine({`, ' context: z.object({', ' draft: z.string(),', ' error: z.string().nullable(),', ' fields: z.object({ title: z.string().nullable() }),', busy && ' target: z.string(),', w.filter && ' show: Show,', ' }),', ` initialContext: { draft: '', error: null, fields: { title: null }${busy ? ", target: ''" : ''}${w.filter ? ", show: 'all'" : ''} },`, ` initial: 'idle',`, ' states: ({ ctx }) => ({', ' idle: {', ' on: [', ` on(Draft, { target: 'idle', assign: (e) => [op.set(ctx.draft, e.text)] }),`, ' on(Add, {', ` target: 'adding',`, ' assign: (e) => [', ' op.set(ctx.draft, e.title),', ' op.set(ctx.error, null),', ' op.set(ctx.fields, { title: null }),', ' ],', ' }),', w.toggle &&
95
- ` on(Toggle, { target: 'toggling', assign: (e) => [op.set(ctx.target, e.id), op.set(ctx.error, null)] }),`, w.remove &&
96
- ` on(Remove, { target: 'removing', assign: (e) => [op.set(ctx.target, e.id), op.set(ctx.error, null)] }),`, w.filter && ` on(SetShow, { target: 'idle', assign: (e) => [op.set(ctx.show, e.show)] }),`, ' ],', ' },', ' adding: {', ` ${ignore}`, ` invoke: invoke(${n.add}, {`, ' input: { title: ctx.draft },', ` done: [{ target: 'idle', assign: () => [op.set(ctx.draft, '')] }],`, ' failed: {', ` Duplicate: [{ target: 'idle', assign: () => [op.set(ctx.error, DUPLICATE)] }],`, ` Invalid: [{ target: 'idle', assign: (e) => [op.set(ctx.fields, e.fields)] }],`, ` Unexpected: [{ target: 'idle', assign: (e) => [op.set(ctx.error, e.message)] }],`, ' },', ' }),', ' },', w.toggle && actionState('toggling', n.toggle), w.remove && actionState('removing', n.remove), ' }),', '})')}\n`;
82
+ })`, '', `export const DUPLICATE = 'This ${n.one} already exists'`, busy && `export const NOT_FOUND = 'This ${n.one} no longer exists'`, '', `export const ${n.machine} = machine({`, ' context: z.object({', ' draft: z.string(),', ' error: z.string().nullable(),', ' fields: z.object({ title: z.string().nullable() }),', busy && ' target: z.string(),', w.filter && ' show: Show,', ' }),', ` initialContext: { draft: '', error: null, fields: { title: null }${busy ? ", target: ''" : ''}${w.filter ? ", show: 'all'" : ''} },`, ` initial: 'idle',`, ' states: ({ ctx }) => ({', ' idle: {', ' on: [', ` on(Draft, { target: 'idle', assign: (e) => { ctx.draft = e.text } }),`, ' on(Add, {', ` target: 'adding',`, ' assign: (e) => {', ' ctx.draft = e.title', ' ctx.error = null', ' ctx.fields = { title: null }', ' },', ' }),', w.toggle &&
83
+ ` on(Toggle, { target: 'toggling', assign: (e) => { ctx.target = e.id; ctx.error = null } }),`, w.remove &&
84
+ ` on(Remove, { target: 'removing', assign: (e) => { ctx.target = e.id; ctx.error = null } }),`, w.filter && ` on(SetShow, { target: 'idle', assign: (e) => { ctx.show = e.show } }),`, ' ],', ' },', ' adding: {', ` invoke: invoke(${n.add}, {`, ' input: { title: ctx.draft },', ` done: { target: 'idle', assign: () => { ctx.draft = '' } },`, ' failed: {', ` Duplicate: { target: 'idle', assign: () => { ctx.error = DUPLICATE } },`, ` Invalid: { target: 'idle', assign: (e) => { ctx.fields = e.fields } },`, ` Unexpected: { target: 'idle', assign: (e) => { ctx.error = e.message } },`, ' },', ' }),', ' },', w.toggle && actionState('toggling', n.toggle), w.remove && actionState('removing', n.remove), ' }),', '})')}\n`;
97
85
  }
98
86
  export function views(n, w, listRoute) {
99
87
  const modelNames = [
@@ -120,8 +108,8 @@ export function views(n, w, listRoute) {
120
108
  : `ui.span({ class: 'flex-1' }, [item.title])`,
121
109
  ...(w.toggle
122
110
  ? [
123
- `ui.span({ class: 'text-xs text-slate-500' }, [ui.if(op.eq(item.done, true), ['done'], ['open'])])`,
124
- itemForm('Toggle', `ui.if(op.eq(item.done, true), ['Mark open'], ['Mark done'])`),
111
+ `ui.span({ class: 'text-xs text-slate-500' }, [item.done ? 'done' : 'open'])`,
112
+ itemForm('Toggle', `item.done ? 'Mark open' : 'Mark done'`),
125
113
  ]
126
114
  : []),
127
115
  ...(w.remove ? [itemForm('Remove', `'Delete'`)] : []),
@@ -134,60 +122,24 @@ export function views(n, w, listRoute) {
134
122
  ),
135
123
  ])`;
136
124
  const ready = w.filter
137
- ? `ui.if(
138
- isEmpty({ items, show: ctx.show }),
139
- [ui.p({ class: 'text-slate-500' }, ['No items'])],
140
- [
141
- ${list},
142
- ],
143
- )`
125
+ ? `isEmpty({ items, show: ctx.show })
126
+ ? ui.p({ class: 'text-slate-500' }, ['No items'])
127
+ : ${list}`
144
128
  : list;
145
- const actionContracts = (event, state, effect, name, result) => `
146
- export const ${name}s = contract(${n.machine}, {
147
- given: { state: 'idle' },
148
- when: [
149
- { send: ${event}, payload: { id: 'x1' } },
150
- { done: ${effect}, result: ${result} },
151
- ],
152
- expect: { state: 'idle', changes: { target: 'x1' }, effects: [{ effect: ${effect}, input: { id: 'x1' } }] },
153
- })
154
-
155
- export const ${name}Missing = contract(${n.machine}, {
156
- given: { state: '${state}' },
157
- when: [{ failed: ${effect}, error: 'NotFound', data: { id: 'x1' } }],
158
- expect: { state: 'idle', changes: { error: NOT_FOUND } },
159
- })
160
-
161
- export const ${name}Fails = contract(${n.machine}, {
162
- given: { state: '${state}' },
163
- when: [{ failed: ${effect}, error: 'Unexpected', data: { message: 'offline' } }],
164
- expect: { state: 'idle', changes: { error: 'offline' } },
165
- })`;
166
- const itemResult = `{ id: 'x1', title: 'Ship'${w.toggle ? ', done: true' : ''} }`;
167
- const contracts = [
168
- 'typesDraft',
169
- 'adds',
170
- 'rejectsDuplicate',
171
- 'rejectsInvalid',
172
- 'addFails',
173
- ...(w.toggle ? ['toggles', 'toggleMissing', 'toggleFails'] : []),
174
- ...(w.remove ? ['removes', 'removeMissing', 'removeFails'] : []),
175
- ...(w.filter ? ['filters'] : []),
176
- ];
177
- return `${lines(`import { contract, feature, op, ui } from '@hozu/core'`, w.detail && `import { ${[listRoute ?? 'home', n.detailRoute].sort().join(', ')} } from '../../routes.ts'`, `import {\n ${modelNames.join(',\n ')},\n} from './model.ts'`, '', w.filter &&
129
+ return `${lines(`import { feature, ui } from '@hozu/core'`, w.detail && `import { ${[listRoute ?? 'home', n.detailRoute].sort().join(', ')} } from '../../routes.ts'`, `import {\n ${modelNames.join(',\n ')},\n} from './model.ts'`, '', w.filter &&
178
130
  `const shows = [
179
131
  { value: 'all', label: 'All' },
180
132
  { value: 'open', label: 'Open' },
181
133
  { value: 'done', label: 'Done' },
182
134
  ] as const
183
- `, `export const ${n.View} = ui.view({`, ` machine: ${n.machine},`, ' render: ({ ctx, when }) =>', ` ui.main({ class: 'mx-auto max-w-xl space-y-6 px-4 py-12' }, [`, ` ui.h1({ class: 'text-3xl font-bold' }, ['${n.title}']),`, ` ui.form({ class: 'flex gap-2', on: { submit: ui.send(Add, { title: ui.dom.form('title') }) } }, [`, ` ui.label({ for: '${n.id}-title', class: 'sr-only' }, ['Title']),`, ' ui.input({', ` id: '${n.id}-title',`, ` name: 'title',`, ' required: true,', ' minlength: 2,', ' maxlength: 80,', ' value: ctx.draft,', ` 'aria-invalid': op.neq(ctx.fields.title, null),`, ` 'aria-describedby': '${n.id}-title-error',`, ` class: 'flex-1 rounded border px-3 py-2',`, ' on: { input: ui.send(Draft, { text: ui.dom.value }) },', ' }),', ` ui.button({ type: 'submit', class: 'rounded bg-indigo-600 px-4 py-2 text-white' }, ['Add']),`, ' ]),', ` ui.p({ id: '${n.id}-title-error', class: 'text-sm text-rose-600' }, [ctx.fields.title]),`, ` ui.if(op.neq(ctx.error, null), [ui.p({ role: 'alert', class: 'text-rose-600' }, [ctx.error])], []),`, ` when(['adding'], [ui.p({ class: 'opacity-50', 'aria-busy': 'true' }, ['Adding ', ctx.draft, '…'])]),`, w.filter &&
135
+ `, `export const ${n.View} = ui.view({`, ` machine: ${n.machine},`, ' render: ({ ctx, when }) =>', ` ui.main({ class: 'mx-auto max-w-xl space-y-6 px-4 py-12' }, [`, ` ui.h1({ class: 'text-3xl font-bold' }, ['${n.title}']),`, ` ui.form({ class: 'flex gap-2', on: { submit: ui.send(Add, { title: ui.dom.form('title') }) } }, [`, ` ui.label({ for: '${n.id}-title', class: 'sr-only' }, ['Title']),`, ' ui.input({', ` id: '${n.id}-title',`, ` name: 'title',`, ' required: true,', ' minlength: 2,', ' maxlength: 80,', ' value: ctx.draft,', ` 'aria-invalid': ctx.fields.title !== null,`, ` 'aria-describedby': '${n.id}-title-error',`, ` class: 'flex-1 rounded border px-3 py-2',`, ' on: { input: ui.send(Draft, { text: ui.dom.value }) },', ' }),', ` ui.button({ type: 'submit', class: 'rounded bg-indigo-600 px-4 py-2 text-white' }, ['Add']),`, ' ]),', ` ui.p({ id: '${n.id}-title-error', class: 'text-sm text-rose-600' }, [ctx.fields.title]),`, ` ctx.error !== null && ui.p({ role: 'alert', class: 'text-rose-600' }, [ctx.error]),`, ` when(['adding'], [ui.p({ class: 'opacity-50', 'aria-busy': 'true' }, ['Adding ', ctx.draft, '…'])]),`, w.filter &&
184
136
  ` ui.nav(
185
137
  { class: 'flex gap-2', 'aria-label': 'Show' },
186
138
  shows.map((s) =>
187
139
  ui.button(
188
140
  {
189
141
  type: 'button',
190
- 'aria-pressed': op.eq(ctx.show, s.value),
142
+ 'aria-pressed': ctx.show === s.value,
191
143
  class: 'rounded-full border px-3 py-1 aria-pressed:bg-indigo-600 aria-pressed:text-white',
192
144
  on: { click: ui.send(SetShow, { show: s.value }) },
193
145
  },
@@ -208,10 +160,9 @@ export const ${n.Detail} = ui.view({
208
160
  ui.article({}, [
209
161
  ui.h1({ class: 'text-3xl font-bold' }, [item.title]),${w.toggle
210
162
  ? `
211
- ui.p({}, ['Status: ', ui.if(op.eq(item.done, true), ['done'], ['open'])]),`
163
+ ui.p({}, ['Status: ', item.done ? 'done' : 'open']),`
212
164
  : ''}
213
165
  ]),
214
- pending: null,
215
166
  failed: {
216
167
  NotFound: () => ui.p({ role: 'alert' }, ['Not found']),
217
168
  Unexpected: () => ui.p({ role: 'alert' }, ['Unavailable']),
@@ -221,50 +172,6 @@ export const ${n.Detail} = ui.view({
221
172
  ui.a({ href: ui.link(${listRoute ?? 'home'}, null), class: 'underline' }, ['Back']),
222
173
  ]),
223
174
  })`, `
224
- export const typesDraft = contract(${n.machine}, {
225
- given: { state: 'idle' },
226
- when: [{ send: Draft, payload: { text: 'Ship' } }],
227
- expect: { state: 'idle', changes: { draft: 'Ship' } },
228
- })
229
-
230
- export const adds = contract(${n.machine}, {
231
- given: { state: 'idle' },
232
- when: [
233
- { send: Add, payload: { title: 'Ship' } },
234
- { done: ${n.add}, result: { id: 'x1', title: 'Ship'${w.toggle ? ', done: false' : ''} } },
235
- ],
236
- expect: { state: 'idle', effects: [{ effect: ${n.add}, input: { title: 'Ship' } }] },
237
- })
238
-
239
- export const rejectsDuplicate = contract(${n.machine}, {
240
- given: { state: 'adding' },
241
- when: [{ failed: ${n.add}, error: 'Duplicate', data: { title: 'Ship' } }],
242
- expect: { state: 'idle', changes: { error: DUPLICATE } },
243
- })
244
-
245
- export const rejectsInvalid = contract(${n.machine}, {
246
- given: { state: 'adding' },
247
- when: [
248
- {
249
- failed: ${n.add},
250
- error: 'Invalid',
251
- data: { message: 'title: Use at least 2 characters', fields: { title: 'Use at least 2 characters' } },
252
- },
253
- ],
254
- expect: { state: 'idle', changes: { fields: { title: 'Use at least 2 characters' } } },
255
- })
256
-
257
- export const addFails = contract(${n.machine}, {
258
- given: { state: 'adding' },
259
- when: [{ failed: ${n.add}, error: 'Unexpected', data: { message: 'offline' } }],
260
- expect: { state: 'idle', changes: { error: 'offline' } },
261
- })`, w.toggle && actionContracts('Toggle', 'toggling', n.toggle, 'toggle', itemResult), w.remove && actionContracts('Remove', 'removing', n.remove, 'remove', `{ id: 'x1' }`), w.filter &&
262
- `
263
- export const filters = contract(${n.machine}, {
264
- given: { state: 'idle' },
265
- when: [{ send: SetShow, payload: { show: 'done' } }],
266
- expect: { state: 'idle', changes: { show: 'done' } },
267
- })`, `
268
175
  export const ${n.feature} = feature({
269
176
  id: '${n.id}',
270
177
  intent: { summary: '${n.title}: add one with a title; titles are unique, case-insensitive.' },
@@ -281,7 +188,6 @@ export const ${n.feature} = feature({
281
188
  n.machine,
282
189
  n.View,
283
190
  ...(w.detail ? [n.Detail] : []),
284
- ...contracts,
285
191
  ].join(',\n ')},
286
192
  },
287
193
  })`)}\n`;
@@ -333,7 +239,7 @@ export function server(n, w) {
333
239
  return { id }`)}),`, ' ]', '}')}\n`;
334
240
  }
335
241
  export function accountModel(homeRoute) {
336
- return `import { event, invoke, machine, mutation, on, op, query, ui } from '@hozu/core'
242
+ return `import { event, invoke, machine, mutation, on, query, ui } from '@hozu/core'
337
243
  import { z } from 'zod'
338
244
  import { ${[homeRoute, 'login'].sort().join(', ')} } from '../../routes.ts'
339
245
 
@@ -367,28 +273,26 @@ export const accountMachine = machine({
367
273
  on: [
368
274
  on(SignIn, {
369
275
  target: 'signingIn',
370
- assign: (e) => [op.set(ctx.draft, e.name), op.set(ctx.error, null), op.set(ctx.fields, { name: null })],
276
+ assign: (e) => { ctx.draft = e.name; ctx.error = null; ctx.fields = { name: null } },
371
277
  }),
372
278
  on(SignOut, { target: 'signingOut' }),
373
279
  ],
374
280
  },
375
281
  signingIn: {
376
- ignore: [SignIn, SignOut],
377
282
  invoke: invoke(signIn, {
378
283
  input: { name: ctx.draft },
379
- done: [{ target: 'idle', navigate: () => ui.link(${homeRoute}, null) }],
284
+ done: { target: 'idle', navigate: () => ui.link(${homeRoute}, null) },
380
285
  failed: {
381
- Invalid: [{ target: 'idle', assign: (e) => [op.set(ctx.fields, e.fields)] }],
382
- Unexpected: [{ target: 'idle', assign: (e) => [op.set(ctx.error, e.message)] }],
286
+ Invalid: { target: 'idle', assign: (e) => { ctx.fields = e.fields } },
287
+ Unexpected: { target: 'idle', assign: (e) => { ctx.error = e.message } },
383
288
  },
384
289
  }),
385
290
  },
386
291
  signingOut: {
387
- ignore: [SignIn, SignOut],
388
292
  invoke: invoke(signOut, {
389
293
  input: {},
390
- done: [{ target: 'idle', navigate: () => ui.link(login, null) }],
391
- failed: { Unexpected: [{ target: 'idle', assign: (e) => [op.set(ctx.error, e.message)] }] },
294
+ done: { target: 'idle', navigate: () => ui.link(login, null) },
295
+ failed: { Unexpected: { target: 'idle', assign: (e) => { ctx.error = e.message } } },
392
296
  }),
393
297
  },
394
298
  }),
@@ -396,7 +300,7 @@ export const accountMachine = machine({
396
300
  `;
397
301
  }
398
302
  export function accountViews(homePath) {
399
- return `import { contract, feature, op, ui } from '@hozu/core'
303
+ return `import { contract, feature, ui } from '@hozu/core'
400
304
  import { login } from '../../routes.ts'
401
305
  import { accountMachine, me, SignIn, SignOut, signIn, signOut } from './model.ts'
402
306
 
@@ -415,14 +319,14 @@ export const Login = ui.view({
415
319
  minlength: 2,
416
320
  maxlength: 20,
417
321
  autocomplete: 'username',
418
- 'aria-invalid': op.neq(ctx.fields.name, null),
322
+ 'aria-invalid': ctx.fields.name !== null,
419
323
  'aria-describedby': 'name-error',
420
324
  class: 'w-full rounded border px-3 py-2',
421
325
  }),
422
326
  ui.p({ id: 'name-error', class: 'text-sm text-rose-600' }, [ctx.fields.name]),
423
327
  ui.button({ type: 'submit', class: 'w-full rounded bg-indigo-600 px-4 py-2 text-white' }, ['Sign in']),
424
328
  ]),
425
- ui.if(op.neq(ctx.error, null), [ui.p({ role: 'alert', class: 'text-rose-600' }, [ctx.error])], []),
329
+ ctx.error !== null && ui.p({ role: 'alert', class: 'text-rose-600' }, [ctx.error]),
426
330
  ]),
427
331
  })
428
332
 
@@ -435,7 +339,6 @@ export const AccountBar = ui.view({
435
339
  {},
436
340
  {
437
341
  ready: (user) => ui.p({}, ['Signed in as ', user.name]),
438
- pending: null,
439
342
  failed: { Unauthorized: () => ui.p({}, ['Signed out']), Unexpected: () => ui.p({}, ['']) },
440
343
  },
441
344
  ),
@@ -458,24 +361,6 @@ export const signsIn = contract(accountMachine, {
458
361
  },
459
362
  })
460
363
 
461
- export const rejectsName = contract(accountMachine, {
462
- given: { state: 'signingIn' },
463
- when: [
464
- {
465
- failed: signIn,
466
- error: 'Invalid',
467
- data: { message: 'name: Use 2–20 letters', fields: { name: 'Use 2–20 letters' } },
468
- },
469
- ],
470
- expect: { state: 'idle', changes: { fields: { name: 'Use 2–20 letters' } } },
471
- })
472
-
473
- export const signInFails = contract(accountMachine, {
474
- given: { state: 'signingIn' },
475
- when: [{ failed: signIn, error: 'Unexpected', data: { message: 'offline' } }],
476
- expect: { state: 'idle', changes: { error: 'offline' } },
477
- })
478
-
479
364
  export const signsOut = contract(accountMachine, {
480
365
  given: { state: 'idle' },
481
366
  when: [
@@ -485,12 +370,6 @@ export const signsOut = contract(accountMachine, {
485
370
  expect: { state: 'idle', effects: [{ effect: signOut, input: {} }, { navigate: '/login' }] },
486
371
  })
487
372
 
488
- export const signOutFails = contract(accountMachine, {
489
- given: { state: 'signingOut' },
490
- when: [{ failed: signOut, error: 'Unexpected', data: { message: 'offline' } }],
491
- expect: { state: 'idle', changes: { error: 'offline' } },
492
- })
493
-
494
373
  export const account = feature({
495
374
  id: 'account',
496
375
  intent: { summary: 'Sign in with a name, sign out; the session identifies the user' },
@@ -505,10 +384,7 @@ export const account = feature({
505
384
  Login,
506
385
  AccountBar,
507
386
  signsIn,
508
- rejectsName,
509
- signInFails,
510
387
  signsOut,
511
- signOutFails,
512
388
  },
513
389
  })
514
390
  `;
@@ -1 +1 @@
1
- {"version":3,"file":"scaffold.js","sourceRoot":"","sources":["../../src/commands/scaffold.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"scaffold.js","sourceRoot":"","sources":["../../src/commands/scaffold.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"validate.d.ts","sourceRoot":"","sources":["../../src/commands/validate.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAY,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAE9D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,YAAY,CAAA;AAmCxC,wBAAsB,WAAW,CAC/B,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,GAAG,SAAS,EAC3B,GAAG,EAAE,MAAM,EACX,UAAU,UAAQ,GACjB,OAAO,CAAC,cAAc,CAAC,CA2DzB"}
1
+ {"version":3,"file":"validate.d.ts","sourceRoot":"","sources":["../../src/commands/validate.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAY,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAE9D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,YAAY,CAAA;AAmCxC,wBAAsB,WAAW,CAC/B,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,GAAG,SAAS,EAC3B,GAAG,EAAE,MAAM,EACX,UAAU,UAAQ,GACjB,OAAO,CAAC,cAAc,CAAC,CAgEzB"}
@@ -1,7 +1,7 @@
1
1
  import { existsSync, readFileSync, writeFileSync } from 'node:fs';
2
2
  import { dirname, join as joinPath } from 'node:path';
3
3
  import { codes, hashJson, join, resolveSource } from '@hozu/core/ir';
4
- import { verify } from '@hozu/validator';
4
+ import { isMechanical, verify } from '@hozu/validator';
5
5
  import { HozuCliError } from '../errors.js';
6
6
  import { json, relativize } from '../output.js';
7
7
  import { unknownClasses } from '../styles.js';
@@ -39,7 +39,13 @@ export async function runValidate(loaded, feature, cwd, updateLock = false) {
39
39
  const lockPath = joinPath(dirname(loaded.path), 'hozu.lock.json');
40
40
  const previous = readLock(lockPath);
41
41
  const unknown = await unknownClasses(loaded.path, first);
42
- const verified = verify(first.ir, { bindings: first.bindings, lock: previous, unknownClasses: unknown });
42
+ const verified = verify(first.ir, {
43
+ bindings: first.bindings,
44
+ lock: previous,
45
+ accept: updateLock,
46
+ unknownClasses: unknown,
47
+ });
48
+ const traced = loaded.build(true);
43
49
  let diagnostics = [...first.diagnostics, ...verified.diagnostics];
44
50
  if (hash !== hashJson(second.ir)) {
45
51
  const pointer = firstDifference(first.ir, second.ir) ?? '';
@@ -57,13 +63,9 @@ export async function runValidate(loaded, feature, cwd, updateLock = false) {
57
63
  },
58
64
  });
59
65
  }
60
- if (diagnostics.length) {
61
- const traced = loaded.build(true);
62
- diagnostics = diagnostics.map((d) => ({
63
- ...d,
64
- location: { ...d.location, source: resolveSource(traced.sources, d.location.pointer) },
65
- }));
66
- }
66
+ diagnostics = diagnostics.map((d) => d.location.source
67
+ ? d
68
+ : { ...d, location: { ...d.location, source: resolveSource(traced.sources, d.location.pointer) } });
67
69
  const clean = !diagnostics.some((d) => d.severity === 'error');
68
70
  let lock = previous ? 'checked' : 'missing';
69
71
  if (updateLock) {
@@ -75,10 +77,11 @@ export async function runValidate(loaded, feature, cwd, updateLock = false) {
75
77
  for (const [fid, entries] of Object.entries(verified.lock?.features ?? {})) {
76
78
  if (feature && fid !== feature)
77
79
  continue;
78
- const list = Object.values(entries);
80
+ const decisions = Object.entries(entries).filter(([id]) => !isMechanical(first.ir.features[fid], id));
79
81
  coverage[fid] = {
80
- covered: list.filter((e) => Object.keys(e.contracts).length > 0).length,
81
- total: list.length,
82
+ covered: decisions.filter(([, e]) => Object.keys(e.contracts).length > 0).length,
83
+ total: decisions.length,
84
+ transitions: Object.keys(entries).length,
82
85
  };
83
86
  }
84
87
  const selected = feature ? diagnostics.filter((d) => d.location.feature === feature) : diagnostics;
@@ -1 +1 @@
1
- {"version":3,"file":"validate.js","sourceRoot":"","sources":["../../src/commands/validate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"validate.js","sourceRoot":"","sources":["../../src/commands/validate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AACjE,OAAO,EAAE,OAAO,EAAE,IAAI,IAAI,QAAQ,EAAE,MAAM,WAAW,CAAA;AACrD,OAAO,EAAE,KAAK,EAAmB,QAAQ,EAAa,IAAI,EAAE,aAAa,EAAE,MAAM,eAAe,CAAA;AAChG,OAAO,EAAE,YAAY,EAAiB,MAAM,EAAE,MAAM,iBAAiB,CAAA;AAErE,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAE3C,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAC/C,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AAE7C,SAAS,eAAe,CAAC,CAAO,EAAE,CAAO,EAAE,OAAO,GAAG,EAAE;IACrD,IAAI,CAAC,KAAK,CAAC;QAAE,OAAO,IAAI,CAAA;IACxB,IACE,OAAO,CAAC,KAAK,QAAQ;QACrB,OAAO,CAAC,KAAK,QAAQ;QACrB,CAAC,KAAK,IAAI;QACV,CAAC,KAAK,IAAI;QACV,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;QAErC,OAAO,OAAO,CAAA;IAChB,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;IAC5D,KAAK,MAAM,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;QACnC,MAAM,IAAI,GAAG,eAAe,CACzB,CAA0B,CAAC,GAAG,CAAC,IAAI,IAAI,EACvC,CAA0B,CAAC,GAAG,CAAC,IAAI,IAAI,EACxC,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,CACnB,CAAA;QACD,IAAI,IAAI,KAAK,IAAI;YAAE,OAAO,IAAI,CAAA;IAChC,CAAC;IACD,OAAO,IAAI,CAAA;AACb,CAAC;AAED,SAAS,QAAQ,CAAC,IAAY;IAC5B,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAA;IAClC,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAa,CAAA;IAC3D,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,YAAY,CAAC,QAAQ,EAAE,eAAe,IAAI,KAAM,KAAe,CAAC,OAAO,EAAE,CAAC,CAAA;IACtF,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,MAAc,EACd,OAA2B,EAC3B,GAAW,EACX,UAAU,GAAG,KAAK;IAElB,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;IACjC,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;IAClC,MAAM,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;IAC/B,MAAM,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,gBAAgB,CAAC,CAAA;IACjE,MAAM,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAA;IACnC,MAAM,OAAO,GAAG,MAAM,cAAc,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA;IACxD,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,EAAE,EAAE;QAChC,QAAQ,EAAE,KAAK,CAAC,QAAQ;QACxB,IAAI,EAAE,QAAQ;QACd,MAAM,EAAE,UAAU;QAClB,cAAc,EAAE,OAAO;KACxB,CAAC,CAAA;IACF,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;IACjC,IAAI,WAAW,GAAiB,CAAC,GAAG,KAAK,CAAC,WAAW,EAAE,GAAG,QAAQ,CAAC,WAAW,CAAC,CAAA;IAC/E,IAAI,IAAI,KAAK,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC;QACjC,MAAM,OAAO,GAAG,eAAe,CAAC,KAAK,CAAC,EAAqB,EAAE,MAAM,CAAC,EAAqB,CAAC,IAAI,EAAE,CAAA;QAChG,MAAM,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;QAC3F,WAAW,CAAC,IAAI,CAAC;YACf,IAAI,EAAE,OAAO;YACb,QAAQ,EAAE,KAAK,CAAC,KAAK,CAAC,QAAQ;YAC9B,OAAO,EAAE,kDAAkD;YAC3D,QAAQ,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE;YACvD,KAAK,EACH,sGAAsG;YACxG,GAAG,EAAE;gBACH,OAAO,EAAE,8DAA8D;gBACvE,OAAO,EAAE,IAAI;gBACb,KAAK,EAAE,IAAI;aACZ;SACF,CAAC,CAAA;IACJ,CAAC;IACD,WAAW,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAClC,CAAC,CAAC,QAAQ,CAAC,MAAM;QACf,CAAC,CAAC,CAAC;QACH,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,QAAQ,EAAE,EAAE,GAAG,CAAC,CAAC,QAAQ,EAAE,MAAM,EAAE,aAAa,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,EAAE,CACrG,CAAA;IACD,MAAM,KAAK,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAA;IAC9D,IAAI,IAAI,GAA2B,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAA;IACnE,IAAI,UAAU,EAAE,CAAC;QACf,IAAI,GAAG,KAAK,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAA;QACrD,IAAI,IAAI,KAAK,SAAS;YAAE,aAAa,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAA;IACtE,CAAC;IACD,MAAM,QAAQ,GAA6B,EAAE,CAAA;IAC7C,KAAK,MAAM,CAAC,GAAG,EAAE,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,IAAI,EAAE,CAAC,EAAE,CAAC;QAC3E,IAAI,OAAO,IAAI,GAAG,KAAK,OAAO;YAAE,SAAQ;QACxC,MAAM,SAAS,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAE,EAAE,EAAE,CAAC,CAAC,CAAA;QACtG,QAAQ,CAAC,GAAG,CAAC,GAAG;YACd,OAAO,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,MAAM;YAChF,KAAK,EAAE,SAAS,CAAC,MAAM;YACvB,WAAW,EAAE,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM;SACzC,CAAA;IACH,CAAC;IACD,MAAM,QAAQ,GAAG,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,CAAA;IAClG,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,MAAM,CAAA;IACpE,OAAO;QACL,EAAE,EAAE,MAAM,KAAK,CAAC;QAChB,IAAI;QACJ,OAAO,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,CAAC,MAAM,GAAG,MAAM,EAAE;QACvD,QAAQ;QACR,IAAI;QACJ,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,aAAa;QAC3C,WAAW,EAAE,UAAU,CAAC,QAAQ,EAAE,GAAG,CAAC;KACvC,CAAA;AACH,CAAC"}
@@ -11,6 +11,7 @@ export interface CliError {
11
11
  export interface Coverage {
12
12
  covered: number;
13
13
  total: number;
14
+ transitions: number;
14
15
  }
15
16
  export interface ValidateOutput {
16
17
  ok: boolean;
@@ -125,6 +126,7 @@ export interface RequestStep {
125
126
  path: string;
126
127
  status: number;
127
128
  location: string | null;
129
+ cookies: string[];
128
130
  title: string | null;
129
131
  alerts: string[];
130
132
  text: string | null;
@@ -190,6 +192,12 @@ export interface MapFeature {
190
192
  invalidates: string[];
191
193
  at: string | null;
192
194
  }[];
195
+ endpoints: {
196
+ name: string;
197
+ method: string;
198
+ path: string;
199
+ at: string | null;
200
+ }[];
193
201
  events: {
194
202
  name: string;
195
203
  fields: string[];
@@ -223,4 +231,12 @@ export interface AddOutput {
223
231
  text: string;
224
232
  }[];
225
233
  }
234
+ export interface DocsOutput {
235
+ topic: string | null;
236
+ text: string;
237
+ topics: {
238
+ name: string;
239
+ title: string;
240
+ }[];
241
+ }
226
242
  //# sourceMappingURL=contract.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"contract.d.ts","sourceRoot":"","sources":["../src/contract.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"contract.d.ts","sourceRoot":"","sources":["../src/contract.ts"],"names":[],"mappings":"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"}
package/dist/load.d.ts CHANGED
@@ -6,4 +6,5 @@ export interface Loaded {
6
6
  }
7
7
  export declare function load(config: string | undefined, cwd: string): Promise<Loaded>;
8
8
  export declare function requireFeature(ir: ProjectIR, id: string | undefined): import("@hozu/core/ir").FeatureIR;
9
+ export declare function registerTransform(): void;
9
10
  //# sourceMappingURL=load.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"load.d.ts","sourceRoot":"","sources":["../src/load.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,WAAW,EAAgB,KAAK,SAAS,EAAE,MAAM,eAAe,CAAA;AAI9E,MAAM,WAAW,MAAM;IACrB,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,OAAO,CAAA;IAChB,KAAK,EAAE,CAAC,OAAO,CAAC,EAAE,OAAO,KAAK,WAAW,CAAA;CAC1C;AAED,wBAAsB,IAAI,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CA2BnF;AAED,wBAAgB,cAAc,CAAC,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,MAAM,GAAG,SAAS,qCAOnE"}
1
+ {"version":3,"file":"load.d.ts","sourceRoot":"","sources":["../src/load.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,WAAW,EAAgB,KAAK,SAAS,EAAE,MAAM,eAAe,CAAA;AAI9E,MAAM,WAAW,MAAM;IACrB,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,OAAO,CAAA;IAChB,KAAK,EAAE,CAAC,OAAO,CAAC,EAAE,OAAO,KAAK,WAAW,CAAA;CAC1C;AAED,wBAAsB,IAAI,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CA4BnF;AAED,wBAAgB,cAAc,CAAC,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,MAAM,GAAG,SAAS,qCAOnE;AAGD,wBAAgB,iBAAiB,SAIhC"}
package/dist/load.js CHANGED
@@ -7,6 +7,7 @@ var __rewriteRelativeImportExtension = (this && this.__rewriteRelativeImportExte
7
7
  return path;
8
8
  };
9
9
  import { existsSync } from 'node:fs';
10
+ import { register } from 'node:module';
10
11
  import { resolve } from 'node:path';
11
12
  import { pathToFileURL } from 'node:url';
12
13
  import { buildProject } from '@hozu/core/ir';
@@ -19,6 +20,7 @@ export async function load(config, cwd) {
19
20
  'Create hozu.config.ts exporting project({ ... }) as default, or pass --config <path>',
20
21
  ]);
21
22
  let mod;
23
+ registerTransform();
22
24
  try {
23
25
  mod = await import(__rewriteRelativeImportExtension(pathToFileURL(path).href));
24
26
  }
@@ -49,4 +51,11 @@ export function requireFeature(ir, id) {
49
51
  const guess = closest(id, ids);
50
52
  throw new HozuCliError('unknown-feature', `Unknown feature "${id}"`, guess ? [guess] : ids);
51
53
  }
54
+ let registered = false;
55
+ export function registerTransform() {
56
+ if (registered)
57
+ return;
58
+ registered = true;
59
+ register('@hozu/transform/hook', import.meta.url);
60
+ }
52
61
  //# sourceMappingURL=load.js.map
package/dist/load.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"load.js","sourceRoot":"","sources":["../src/load.ts"],"names":[],"mappings":";;;;;;;;AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AACpC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACnC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AACxC,OAAO,EAAoB,YAAY,EAAkB,MAAM,eAAe,CAAA;AAC9E,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAA;AACzC,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAQ1C,MAAM,CAAC,KAAK,UAAU,IAAI,CAAC,MAA0B,EAAE,GAAW;IAChE,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,EAAE,MAAM,IAAI,gBAAgB,CAAC,CAAA;IACrD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;QACnB,MAAM,IAAI,YAAY,CAAC,QAAQ,EAAE,sBAAsB,IAAI,EAAE,EAAE;YAC7D,sFAAsF;SACvF,CAAC,CAAA;IACJ,IAAI,GAA0B,CAAA;IAC9B,IAAI,CAAC;QACH,GAAG,GAAG,MAAM,MAAM,kCAAC,aAAa,CAAC,IAAI,CAAC,CAAC,IAAI,EAAC,CAAA;IAC9C,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,YAAY,CACpB,QAAQ,EACR,kBAAkB,IAAI,KAAK,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CACpF,CAAA;IACH,CAAC;IACD,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,CAAA;IAC3B,OAAO;QACL,IAAI;QACJ,OAAO;QACP,KAAK,EAAE,CAAC,OAAO,GAAG,KAAK,EAAE,EAAE;YACzB,IAAI,CAAC;gBACH,OAAO,YAAY,CAAC,OAAO,EAAE,EAAE,OAAO,EAAE,CAAC,CAAA;YAC3C,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,IAAI,YAAY,CAAC,QAAQ,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAA;YAC1F,CAAC;QACH,CAAC;KACF,CAAA;AACH,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,EAAa,EAAE,EAAsB;IAClE,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAA;IACpC,IAAI,CAAC,EAAE;QAAE,MAAM,IAAI,YAAY,CAAC,OAAO,EAAE,4BAA4B,EAAE,GAAG,CAAC,CAAA;IAC3E,MAAM,OAAO,GAAG,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAA;IAC/B,IAAI,OAAO;QAAE,OAAO,OAAO,CAAA;IAC3B,MAAM,KAAK,GAAG,OAAO,CAAC,EAAE,EAAE,GAAG,CAAC,CAAA;IAC9B,MAAM,IAAI,YAAY,CAAC,iBAAiB,EAAE,oBAAoB,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;AAC7F,CAAC"}
1
+ {"version":3,"file":"load.js","sourceRoot":"","sources":["../src/load.ts"],"names":[],"mappings":";;;;;;;;AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AACpC,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AACtC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACnC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AACxC,OAAO,EAAoB,YAAY,EAAkB,MAAM,eAAe,CAAA;AAC9E,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAA;AACzC,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAQ1C,MAAM,CAAC,KAAK,UAAU,IAAI,CAAC,MAA0B,EAAE,GAAW;IAChE,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,EAAE,MAAM,IAAI,gBAAgB,CAAC,CAAA;IACrD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;QACnB,MAAM,IAAI,YAAY,CAAC,QAAQ,EAAE,sBAAsB,IAAI,EAAE,EAAE;YAC7D,sFAAsF;SACvF,CAAC,CAAA;IACJ,IAAI,GAA0B,CAAA;IAC9B,iBAAiB,EAAE,CAAA;IACnB,IAAI,CAAC;QACH,GAAG,GAAG,MAAM,MAAM,kCAAC,aAAa,CAAC,IAAI,CAAC,CAAC,IAAI,EAAC,CAAA;IAC9C,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,YAAY,CACpB,QAAQ,EACR,kBAAkB,IAAI,KAAK,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CACpF,CAAA;IACH,CAAC;IACD,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,CAAA;IAC3B,OAAO;QACL,IAAI;QACJ,OAAO;QACP,KAAK,EAAE,CAAC,OAAO,GAAG,KAAK,EAAE,EAAE;YACzB,IAAI,CAAC;gBACH,OAAO,YAAY,CAAC,OAAO,EAAE,EAAE,OAAO,EAAE,CAAC,CAAA;YAC3C,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,IAAI,YAAY,CAAC,QAAQ,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAA;YAC1F,CAAC;QACH,CAAC;KACF,CAAA;AACH,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,EAAa,EAAE,EAAsB;IAClE,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAA;IACpC,IAAI,CAAC,EAAE;QAAE,MAAM,IAAI,YAAY,CAAC,OAAO,EAAE,4BAA4B,EAAE,GAAG,CAAC,CAAA;IAC3E,MAAM,OAAO,GAAG,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAA;IAC/B,IAAI,OAAO;QAAE,OAAO,OAAO,CAAA;IAC3B,MAAM,KAAK,GAAG,OAAO,CAAC,EAAE,EAAE,GAAG,CAAC,CAAA;IAC9B,MAAM,IAAI,YAAY,CAAC,iBAAiB,EAAE,oBAAoB,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;AAC7F,CAAC;AAED,IAAI,UAAU,GAAG,KAAK,CAAA;AACtB,MAAM,UAAU,iBAAiB;IAC/B,IAAI,UAAU;QAAE,OAAM;IACtB,UAAU,GAAG,IAAI,CAAA;IACjB,QAAQ,CAAC,sBAAsB,EAAE,OAAO,IAAI,CAAC,GAAG,CAAC,CAAA;AACnD,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"AAoDA,wBAAsB,IAAI,CACxB,IAAI,EAAE,MAAM,EAAE,EACd,GAAG,SAAgB,EACnB,GAAG,GAAE,CAAC,CAAC,EAAE,MAAM,KAAK,IAAqC,GACxD,OAAO,CAAC,MAAM,CAAC,CA2JjB"}
1
+ {"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"AAwDA,wBAAsB,IAAI,CACxB,IAAI,EAAE,MAAM,EAAE,EACd,GAAG,SAAgB,EACnB,GAAG,GAAE,CAAC,CAAC,EAAE,MAAM,KAAK,IAAqC,GACxD,OAAO,CAAC,MAAM,CAAC,CAyKjB"}