@json-layout/core 0.5.0 → 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.
- package/package.json +2 -2
- package/src/compile/skeleton-node.js +2 -0
- package/src/state/index.js +58 -20
- package/src/state/state-node.js +1 -5
- package/src/state/state-tree.js +24 -0
- package/src/state/types.ts +7 -2
- package/src/state/utils/immutable.js +6 -6
- package/types/compile/skeleton-node.d.ts.map +1 -1
- package/types/state/index.d.ts +14 -0
- package/types/state/index.d.ts.map +1 -1
- package/types/state/state-node.d.ts.map +1 -1
- package/types/state/state-tree.d.ts.map +1 -1
- package/types/state/types.d.ts +6 -2
- package/types/state/types.d.ts.map +1 -1
- package/types/state/utils/immutable.d.ts +3 -3
- package/types/state/utils/immutable.d.ts.map +1 -1
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@json-layout/core",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.6.0",
|
|
4
4
|
"description": "Compilation and state management utilities for JSON Layout.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"exports": {
|
|
@@ -47,7 +47,7 @@
|
|
|
47
47
|
},
|
|
48
48
|
"homepage": "https://github.com/json-layout/json-layout#readme",
|
|
49
49
|
"dependencies": {
|
|
50
|
-
"@json-layout/vocabulary": "^0.
|
|
50
|
+
"@json-layout/vocabulary": "^0.6.0",
|
|
51
51
|
"@types/markdown-it": "^13.0.1",
|
|
52
52
|
"ajv": "^8.12.0",
|
|
53
53
|
"ajv-errors": "^3.0.0",
|
|
@@ -75,6 +75,8 @@ export function makeSkeletonNode (
|
|
|
75
75
|
if (defaultData && !compObject.defaultData) compObject.defaultData = { type: 'js-eval', expr: JSON.stringify(defaultData), pure: true }
|
|
76
76
|
if (compObject.defaultData) pushExpression(expressions, compObject.defaultData)
|
|
77
77
|
|
|
78
|
+
if (compObject.transformData) pushExpression(expressions, compObject.transformData)
|
|
79
|
+
|
|
78
80
|
if (isItemsLayout(compObject) && compObject.getItems) {
|
|
79
81
|
if (isGetItemsExpression(compObject.getItems)) pushExpression(expressions, compObject.getItems)
|
|
80
82
|
if (isGetItemsFetch(compObject.getItems)) pushExpression(expressions, compObject.getItems.url)
|
package/src/state/index.js
CHANGED
|
@@ -5,7 +5,8 @@ import { produce } from 'immer'
|
|
|
5
5
|
import { evalExpression, producePatchedData } from './state-node.js'
|
|
6
6
|
import { createStateTree } from './state-tree.js'
|
|
7
7
|
import { Display } from './utils/display.js'
|
|
8
|
-
import { isGetItemsExpression, isGetItemsFetch, isItemsLayout } from '@json-layout/vocabulary'
|
|
8
|
+
import { isFileLayout, isGetItemsExpression, isGetItemsFetch, isItemsLayout } from '@json-layout/vocabulary'
|
|
9
|
+
import { shallowProduceArray } from './utils/immutable.js'
|
|
9
10
|
|
|
10
11
|
export { Display } from './utils/display.js'
|
|
11
12
|
|
|
@@ -35,6 +36,7 @@ export { Display } from './utils/display.js'
|
|
|
35
36
|
* @typedef {import('./types.js').StepperNode} StepperNode
|
|
36
37
|
* @typedef {import('./types.js').OneOfSelectNode} OneOfSelectNode
|
|
37
38
|
* @typedef {import('./types.js').ListNode} ListNode
|
|
39
|
+
* @typedef {import('./types.js').FileRef} FileRef
|
|
38
40
|
*/
|
|
39
41
|
|
|
40
42
|
/** @type {(node: StateNode | undefined) => node is SectionNode} */
|
|
@@ -183,6 +185,11 @@ export class StatefulLayout {
|
|
|
183
185
|
*/
|
|
184
186
|
_previousAutofocusTarget
|
|
185
187
|
|
|
188
|
+
/**
|
|
189
|
+
* @type {FileRef[]}
|
|
190
|
+
*/
|
|
191
|
+
files = []
|
|
192
|
+
|
|
186
193
|
/**
|
|
187
194
|
* @param {import("../index.js").CompiledLayout} compiledLayout
|
|
188
195
|
* @param {import("../index.js").SkeletonTree} skeletonTree
|
|
@@ -247,12 +254,13 @@ export class StatefulLayout {
|
|
|
247
254
|
createStateTree () {
|
|
248
255
|
/** @type {CreateStateTreeContext} */
|
|
249
256
|
const createStateTreeContext = {
|
|
250
|
-
nodes: [],
|
|
251
257
|
activeItems: this.activeItems,
|
|
252
258
|
autofocusTarget: this._autofocusTarget,
|
|
253
259
|
initial: !this._lastCreateStateTreeContext,
|
|
254
260
|
cacheKeys: this._lastCreateStateTreeContext?.cacheKeys ?? {},
|
|
255
|
-
rootData: this._data
|
|
261
|
+
rootData: this._data,
|
|
262
|
+
files: [],
|
|
263
|
+
nodes: []
|
|
256
264
|
}
|
|
257
265
|
this._stateTree = createStateTree(
|
|
258
266
|
createStateTreeContext,
|
|
@@ -273,6 +281,7 @@ export class StatefulLayout {
|
|
|
273
281
|
}
|
|
274
282
|
}
|
|
275
283
|
this.activeItems = createStateTreeContext.activeItems
|
|
284
|
+
this.files = shallowProduceArray(this.files, createStateTreeContext.files)
|
|
276
285
|
}
|
|
277
286
|
|
|
278
287
|
validate () {
|
|
@@ -305,6 +314,20 @@ export class StatefulLayout {
|
|
|
305
314
|
return this._lastCreateStateTreeContext.nodes.findIndex(node => node.error && !node.validated) !== -1
|
|
306
315
|
}
|
|
307
316
|
|
|
317
|
+
/**
|
|
318
|
+
* @private
|
|
319
|
+
* @param {StateNode} node
|
|
320
|
+
* @param {import('@json-layout/vocabulary').Expression} expression
|
|
321
|
+
* @param {any} data
|
|
322
|
+
* @returns {any}
|
|
323
|
+
*/
|
|
324
|
+
evalNodeExpression = (node, expression, data) => {
|
|
325
|
+
// const parentNode = this._stateTree.traverseNode(this._stateTree.root).find(n => n.fullKey === node.parentFullKey)
|
|
326
|
+
const parentNode = this._lastCreateStateTreeContext.nodes.find(n => n.fullKey === node.parentFullKey)
|
|
327
|
+
const parentData = parentNode ? parentNode.data : null
|
|
328
|
+
return evalExpression(this.compiledLayout.expressions, expression, data, node.options, new Display(node.width), parentData, this._data)
|
|
329
|
+
}
|
|
330
|
+
|
|
308
331
|
/**
|
|
309
332
|
* @param {StateNode} node
|
|
310
333
|
* @param {unknown} data
|
|
@@ -312,6 +335,28 @@ export class StatefulLayout {
|
|
|
312
335
|
*/
|
|
313
336
|
input (node, data, activateKey) {
|
|
314
337
|
logDataBinding('received input event from node', node, data)
|
|
338
|
+
|
|
339
|
+
const transformedData = node.layout.transformData && this.evalNodeExpression(node, node.layout.transformData, data)
|
|
340
|
+
|
|
341
|
+
if (isFileLayout(node.layout)) {
|
|
342
|
+
if (transformedData) {
|
|
343
|
+
// @ts-ignore
|
|
344
|
+
data.toJSON = () => transformedData
|
|
345
|
+
} else if (data instanceof File) {
|
|
346
|
+
const fileJSON = { name: data.name, size: data.size, type: data.type }
|
|
347
|
+
// @ts-ignore
|
|
348
|
+
data.toJSON = () => fileJSON
|
|
349
|
+
} else if (Array.isArray(data)) {
|
|
350
|
+
for (const file of data) {
|
|
351
|
+
const fileJSON = { name: file.name, size: file.size, type: file.type }
|
|
352
|
+
// @ts-ignore
|
|
353
|
+
file.toJSON = () => fileJSON
|
|
354
|
+
}
|
|
355
|
+
}
|
|
356
|
+
} else if (transformedData) {
|
|
357
|
+
data = transformedData
|
|
358
|
+
}
|
|
359
|
+
|
|
315
360
|
if (node.options.validateOn === 'input' && !this.validationState.validatedChildren.includes(node.fullKey)) {
|
|
316
361
|
this.validationState = { validatedChildren: this.validationState.validatedChildren.concat([node.fullKey]) }
|
|
317
362
|
}
|
|
@@ -370,21 +415,14 @@ export class StatefulLayout {
|
|
|
370
415
|
|
|
371
416
|
if (node.layout.items) return [node.layout.items, false]
|
|
372
417
|
|
|
373
|
-
/** @type {(expression: import('@json-layout/vocabulary').Expression, data: any) => any} */
|
|
374
|
-
const evalSelectExpression = (expression, data) => {
|
|
375
|
-
const parentNode = this._lastCreateStateTreeContext.nodes.find(n => n.fullKey === node.parentFullKey)
|
|
376
|
-
const parentData = parentNode ? parentNode.data : null
|
|
377
|
-
return evalExpression(this.compiledLayout.expressions, expression, data, node.options, new Display(node.width), parentData, this._data)
|
|
378
|
-
}
|
|
379
|
-
|
|
380
418
|
let rawItems
|
|
381
419
|
let appliedQ = false
|
|
382
420
|
if (node.layout.getItems && isGetItemsExpression(node.layout.getItems)) {
|
|
383
|
-
rawItems =
|
|
421
|
+
rawItems = this.evalNodeExpression(node, node.layout.getItems, null)
|
|
384
422
|
if (!Array.isArray(rawItems)) throw new Error('getItems expression didn\'t return an array')
|
|
385
423
|
}
|
|
386
424
|
if (node.layout.getItems && isGetItemsFetch(node.layout.getItems)) {
|
|
387
|
-
const url = new URL(
|
|
425
|
+
const url = new URL(this.evalNodeExpression(node, node.layout.getItems.url, null))
|
|
388
426
|
let qSearchParam = node.layout.getItems.qSearchParam
|
|
389
427
|
if (!qSearchParam) {
|
|
390
428
|
for (const searchParam of url.searchParams.entries()) {
|
|
@@ -401,26 +439,26 @@ export class StatefulLayout {
|
|
|
401
439
|
|
|
402
440
|
if (rawItems) {
|
|
403
441
|
if (node.layout.getItems?.itemsResults) {
|
|
404
|
-
rawItems =
|
|
442
|
+
rawItems = this.evalNodeExpression(node, node.layout.getItems.itemsResults, rawItems)
|
|
405
443
|
}
|
|
406
444
|
/** @type {import('@json-layout/vocabulary').SelectItems} */
|
|
407
445
|
const items = rawItems.map((/** @type {any} */ rawItem) => {
|
|
408
446
|
/** @type {Partial<import('@json-layout/vocabulary').SelectItem>} */
|
|
409
447
|
const item = {}
|
|
410
448
|
if (typeof rawItem === 'object') {
|
|
411
|
-
item.value = node.layout.getItems?.itemValue ?
|
|
412
|
-
item.key = node.layout.getItems?.itemKey ?
|
|
413
|
-
item.title = node.layout.getItems?.itemTitle ?
|
|
449
|
+
item.value = node.layout.getItems?.itemValue ? this.evalNodeExpression(node, node.layout.getItems.itemValue, rawItem) : (node.layout.getItems?.returnObjects ? rawItem : rawItem.value)
|
|
450
|
+
item.key = node.layout.getItems?.itemKey ? this.evalNodeExpression(node, node.layout.getItems.itemKey, rawItem) : rawItem.key
|
|
451
|
+
item.title = node.layout.getItems?.itemTitle ? this.evalNodeExpression(node, node.layout.getItems.itemTitle, rawItem) : rawItem.title
|
|
414
452
|
item.value = item.value ?? item.key
|
|
415
453
|
item.key = item.key ?? item.value + ''
|
|
416
454
|
item.title = item.title ?? item.key
|
|
417
455
|
if (!item.icon && rawItem.icon) item.icon = rawItem.icon
|
|
418
456
|
} else {
|
|
419
|
-
item.value = node.layout.getItems?.itemValue ?
|
|
420
|
-
item.key = node.layout.getItems?.itemKey ?
|
|
421
|
-
item.title = node.layout.getItems?.itemTitle ?
|
|
457
|
+
item.value = node.layout.getItems?.itemValue ? this.evalNodeExpression(node, node.layout.getItems.itemValue, rawItem) : rawItem
|
|
458
|
+
item.key = node.layout.getItems?.itemKey ? this.evalNodeExpression(node, node.layout.getItems.itemKey, rawItem) : item.value
|
|
459
|
+
item.title = node.layout.getItems?.itemTitle ? this.evalNodeExpression(node, node.layout.getItems.itemTitle, rawItem) : item.value
|
|
422
460
|
}
|
|
423
|
-
if (node.layout.getItems?.itemIcon) item.icon =
|
|
461
|
+
if (node.layout.getItems?.itemIcon) item.icon = this.evalNodeExpression(node, node.layout.getItems?.itemIcon, rawItem)
|
|
424
462
|
return item
|
|
425
463
|
})
|
|
426
464
|
return [items, appliedQ]
|
package/src/state/state-node.js
CHANGED
|
@@ -215,10 +215,7 @@ export function createStateNode (
|
|
|
215
215
|
let cacheKey = null
|
|
216
216
|
if (skeleton.pure && reusedNode) {
|
|
217
217
|
cacheKey = [parentOptions, compiledLayout, fullKey, skeleton, childDefinition, parentDisplay.width, validationState, context.activeItems, context.initial, data]
|
|
218
|
-
if (context.cacheKeys[fullKey] && shallowEqualArray(context.cacheKeys[fullKey], cacheKey))
|
|
219
|
-
context.nodes.push(reusedNode)
|
|
220
|
-
return reusedNode
|
|
221
|
-
}
|
|
218
|
+
if (context.cacheKeys[fullKey] && shallowEqualArray(context.cacheKeys[fullKey], cacheKey)) return reusedNode
|
|
222
219
|
}
|
|
223
220
|
|
|
224
221
|
const normalizedLayout = childDefinition && childIsCompObject(childDefinition)
|
|
@@ -390,7 +387,6 @@ export function createStateNode (
|
|
|
390
387
|
children && shallowProduceArray(reusedNode?.children, children)
|
|
391
388
|
)
|
|
392
389
|
|
|
393
|
-
context.nodes.push(node)
|
|
394
390
|
if (cacheKey) context.cacheKeys[fullKey] = cacheKey
|
|
395
391
|
|
|
396
392
|
return node
|
package/src/state/state-tree.js
CHANGED
|
@@ -9,6 +9,21 @@ const produceStateTree = produce(
|
|
|
9
9
|
}
|
|
10
10
|
)
|
|
11
11
|
|
|
12
|
+
/**
|
|
13
|
+
* @generator
|
|
14
|
+
* @param {import('./types.js').StateNode} node
|
|
15
|
+
* @yields {import('./types.js').StateNode}
|
|
16
|
+
* @returns {Generator<import('./types.js').StateNode>}
|
|
17
|
+
*/
|
|
18
|
+
function * traverseNodes (node) {
|
|
19
|
+
yield node
|
|
20
|
+
if (node.children) {
|
|
21
|
+
for (const child of node.children) {
|
|
22
|
+
yield * traverseNodes(child)
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
|
|
12
27
|
/**
|
|
13
28
|
* @param {import('./types.js').CreateStateTreeContext} context
|
|
14
29
|
* @param {import('./types.js').StatefulLayoutOptions} options
|
|
@@ -56,5 +71,14 @@ export function createStateTree (
|
|
|
56
71
|
reusedStateTree?.root
|
|
57
72
|
)
|
|
58
73
|
|
|
74
|
+
context.nodes = []
|
|
75
|
+
context.files = []
|
|
76
|
+
for (const node of traverseNodes(root)) {
|
|
77
|
+
context.nodes.push(node)
|
|
78
|
+
if (node.data instanceof File) {
|
|
79
|
+
context.files.push({ dataPath: node.dataPath, file: node.data })
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
|
|
59
83
|
return produceStateTree(reusedStateTree ?? /** @type {import('./types.js').StateTree} */({}), root, valid)
|
|
60
84
|
}
|
package/src/state/types.ts
CHANGED
|
@@ -52,17 +52,22 @@ export interface StateNode {
|
|
|
52
52
|
export interface StateTree {
|
|
53
53
|
root: StateNode
|
|
54
54
|
valid: boolean
|
|
55
|
-
title: string
|
|
56
55
|
}
|
|
57
56
|
|
|
58
57
|
export interface CreateStateTreeContext {
|
|
59
58
|
errors?: ErrorObject[]
|
|
60
|
-
|
|
59
|
+
files: FileRef[]
|
|
61
60
|
activeItems: Record<string, number>
|
|
62
61
|
autofocusTarget: string | null
|
|
63
62
|
initial: boolean
|
|
64
63
|
cacheKeys: Record<string, StateNodeCacheKey>
|
|
65
64
|
rootData: unknown
|
|
65
|
+
nodes: StateNode[]
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
export interface FileRef {
|
|
69
|
+
file: File
|
|
70
|
+
dataPath: string
|
|
66
71
|
}
|
|
67
72
|
|
|
68
73
|
// [parentOptions, compiledLayout, fullKey, skeleton, childDefinition, parentWidth, validationState, activeItems, initial, data]
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @template ItemType
|
|
3
|
-
* @param {ItemType[]}
|
|
4
|
-
* @param {ItemType[]}
|
|
3
|
+
* @param {ItemType[]} previousArray
|
|
4
|
+
* @param {ItemType[]} newArray
|
|
5
5
|
* @returns {ItemType[]}
|
|
6
6
|
*/
|
|
7
|
-
export function shallowProduceArray (
|
|
8
|
-
if (!
|
|
9
|
-
for (let i = 0; i <
|
|
10
|
-
return
|
|
7
|
+
export function shallowProduceArray (previousArray = [], newArray = []) {
|
|
8
|
+
if (!previousArray || !newArray || previousArray.length !== newArray.length) return newArray
|
|
9
|
+
for (let i = 0; i < previousArray.length; i++) { if (previousArray[i] !== newArray[i]) return newArray }
|
|
10
|
+
return previousArray
|
|
11
11
|
}
|
|
12
12
|
|
|
13
13
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"skeleton-node.d.ts","sourceRoot":"","sources":["../../src/compile/skeleton-node.js"],"names":[],"mappings":"AAIA;;;;;;;;;;;;GAYG;AACH,yCAZW,GAAG,WACH,OAAO,YAAY,EAAE,cAAc,aACnC,MAAM,EAAE,oBACR,OAAO,MAAM,EAAE,MAAM,EAAE,CAAC,qBACxB,OAAO,MAAM,EAAE,OAAO,yBAAyB,EAAE,gBAAgB,CAAC,eAClE,OAAO,yBAAyB,EAAE,UAAU,EAAE,OAC9C,MAAM,GAAG,MAAM,WACf,MAAM,iBACN,MAAM,GAAG,IAAI,YACb,OAAO,GACL,OAAO,YAAY,EAAE,YAAY,
|
|
1
|
+
{"version":3,"file":"skeleton-node.d.ts","sourceRoot":"","sources":["../../src/compile/skeleton-node.js"],"names":[],"mappings":"AAIA;;;;;;;;;;;;GAYG;AACH,yCAZW,GAAG,WACH,OAAO,YAAY,EAAE,cAAc,aACnC,MAAM,EAAE,oBACR,OAAO,MAAM,EAAE,MAAM,EAAE,CAAC,qBACxB,OAAO,MAAM,EAAE,OAAO,yBAAyB,EAAE,gBAAgB,CAAC,eAClE,OAAO,yBAAyB,EAAE,UAAU,EAAE,OAC9C,MAAM,GAAG,MAAM,WACf,MAAM,iBACN,MAAM,GAAG,IAAI,YACb,OAAO,GACL,OAAO,YAAY,EAAE,YAAY,CAyL7C"}
|
package/types/state/index.d.ts
CHANGED
|
@@ -25,6 +25,7 @@ export { Display } from "./utils/display.js";
|
|
|
25
25
|
* @typedef {import('./types.js').StepperNode} StepperNode
|
|
26
26
|
* @typedef {import('./types.js').OneOfSelectNode} OneOfSelectNode
|
|
27
27
|
* @typedef {import('./types.js').ListNode} ListNode
|
|
28
|
+
* @typedef {import('./types.js').FileRef} FileRef
|
|
28
29
|
*/
|
|
29
30
|
/** @type {(node: StateNode | undefined) => node is SectionNode} */
|
|
30
31
|
export const isSection: (node: StateNode | undefined) => node is import("./types.js").SectionNode;
|
|
@@ -116,6 +117,10 @@ export class StatefulLayout {
|
|
|
116
117
|
* @type {string | null}
|
|
117
118
|
*/
|
|
118
119
|
private _previousAutofocusTarget;
|
|
120
|
+
/**
|
|
121
|
+
* @type {FileRef[]}
|
|
122
|
+
*/
|
|
123
|
+
files: FileRef[];
|
|
119
124
|
/**
|
|
120
125
|
* @type {Record<string, number>}
|
|
121
126
|
*/
|
|
@@ -151,6 +156,14 @@ export class StatefulLayout {
|
|
|
151
156
|
* @returns {boolean}
|
|
152
157
|
*/
|
|
153
158
|
get hasHiddenError(): boolean;
|
|
159
|
+
/**
|
|
160
|
+
* @private
|
|
161
|
+
* @param {StateNode} node
|
|
162
|
+
* @param {import('@json-layout/vocabulary').Expression} expression
|
|
163
|
+
* @param {any} data
|
|
164
|
+
* @returns {any}
|
|
165
|
+
*/
|
|
166
|
+
private evalNodeExpression;
|
|
154
167
|
/**
|
|
155
168
|
* @param {StateNode} node
|
|
156
169
|
* @param {unknown} data
|
|
@@ -214,5 +227,6 @@ export type VerticalTabsNode = import('./types.js').VerticalTabsNode;
|
|
|
214
227
|
export type StepperNode = import('./types.js').StepperNode;
|
|
215
228
|
export type OneOfSelectNode = import('./types.js').OneOfSelectNode;
|
|
216
229
|
export type ListNode = import('./types.js').ListNode;
|
|
230
|
+
export type FileRef = import('./types.js').FileRef;
|
|
217
231
|
import { Display } from './utils/display.js';
|
|
218
232
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/state/index.js"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/state/index.js"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"state-node.d.ts","sourceRoot":"","sources":["../../src/state/state-node.js"],"names":[],"mappings":"AAoIA;;;;;;;;;GASG;AACH,4CATW,OAAO,aAAa,EAAE,kBAAkB,EAAE,cAC1C,OAAO,yBAAyB,EAAE,UAAU,QAC5C,GAAG,WACH,OAAO,YAAY,EAAE,gBAAgB,WACrC,OAAO,oBAAoB,EAAE,OAAO,YACpC,OAAO,cACP,OAAO,GACL,GAAG,CAMf;AA+BD;;;;;;;;;;;;;;;;;;GAkBG;AACH,yCAjBW,OAAO,YAAY,EAAE,sBAAsB,iBAC3C,OAAO,YAAY,EAAE,gBAAgB,kBACrC,OAAO,aAAa,EAAE,cAAc,OACpC,MAAM,GAAG,MAAM,WACf,MAAM,iBACN,MAAM,GAAG,IAAI,YACb,MAAM,kBACN,MAAM,GAAG,IAAI,YACb,OAAO,aAAa,EAAE,YAAY,mBAClC,OAAO,yBAAyB,EAAE,KAAK,GAAG,IAAI,iBAC9C,OAAO,oBAAoB,EAAE,OAAO,QACpC,OAAO,cACP,OAAO,mBACP,OAAO,YAAY,EAAE,eAAe,4DAElC,OAAO,YAAY,EAAE,SAAS,
|
|
1
|
+
{"version":3,"file":"state-node.d.ts","sourceRoot":"","sources":["../../src/state/state-node.js"],"names":[],"mappings":"AAoIA;;;;;;;;;GASG;AACH,4CATW,OAAO,aAAa,EAAE,kBAAkB,EAAE,cAC1C,OAAO,yBAAyB,EAAE,UAAU,QAC5C,GAAG,WACH,OAAO,YAAY,EAAE,gBAAgB,WACrC,OAAO,oBAAoB,EAAE,OAAO,YACpC,OAAO,cACP,OAAO,GACL,GAAG,CAMf;AA+BD;;;;;;;;;;;;;;;;;;GAkBG;AACH,yCAjBW,OAAO,YAAY,EAAE,sBAAsB,iBAC3C,OAAO,YAAY,EAAE,gBAAgB,kBACrC,OAAO,aAAa,EAAE,cAAc,OACpC,MAAM,GAAG,MAAM,WACf,MAAM,iBACN,MAAM,GAAG,IAAI,YACb,MAAM,kBACN,MAAM,GAAG,IAAI,YACb,OAAO,aAAa,EAAE,YAAY,mBAClC,OAAO,yBAAyB,EAAE,KAAK,GAAG,IAAI,iBAC9C,OAAO,oBAAoB,EAAE,OAAO,QACpC,OAAO,cACP,OAAO,mBACP,OAAO,YAAY,EAAE,eAAe,4DAElC,OAAO,YAAY,EAAE,SAAS,CAsM1C;AAED,uFAAuF;AACvF,yCADmB,GAAG,QAAQ,OAAO,YAAY,EAAE,SAAS,QAAQ,OAAO,KAAK,GAAG,CAOjF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"state-tree.d.ts","sourceRoot":"","sources":["../../src/state/state-tree.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"state-tree.d.ts","sourceRoot":"","sources":["../../src/state/state-tree.js"],"names":[],"mappings":"AA0BA;;;;;;;;;;GAUG;AACH,yCAVW,OAAO,YAAY,EAAE,sBAAsB,WAC3C,OAAO,YAAY,EAAE,qBAAqB,kBAC1C,OAAO,aAAa,EAAE,cAAc,YACpC,OAAO,aAAa,EAAE,YAAY,WAClC,OAAO,oBAAoB,EAAE,OAAO,QACpC,OAAO,mBACP,OAAO,YAAY,EAAE,eAAe,iEAElC,OAAO,YAAY,EAAE,SAAS,CAgD1C"}
|
package/types/state/types.d.ts
CHANGED
|
@@ -25,16 +25,20 @@ export interface StateNode {
|
|
|
25
25
|
export interface StateTree {
|
|
26
26
|
root: StateNode;
|
|
27
27
|
valid: boolean;
|
|
28
|
-
title: string;
|
|
29
28
|
}
|
|
30
29
|
export interface CreateStateTreeContext {
|
|
31
30
|
errors?: ErrorObject[];
|
|
32
|
-
|
|
31
|
+
files: FileRef[];
|
|
33
32
|
activeItems: Record<string, number>;
|
|
34
33
|
autofocusTarget: string | null;
|
|
35
34
|
initial: boolean;
|
|
36
35
|
cacheKeys: Record<string, StateNodeCacheKey>;
|
|
37
36
|
rootData: unknown;
|
|
37
|
+
nodes: StateNode[];
|
|
38
|
+
}
|
|
39
|
+
export interface FileRef {
|
|
40
|
+
file: File;
|
|
41
|
+
dataPath: string;
|
|
38
42
|
}
|
|
39
43
|
export type StateNodeCacheKey = [
|
|
40
44
|
StateNodeOptions,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/state/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,KAAK,CAAA;AACtC,OAAO,EACL,KAAK,UAAU,EACf,KAAK,IAAI,EACT,KAAK,oBAAoB,EACzB,KAAK,SAAS,EACd,KAAK,QAAQ,EACb,KAAK,WAAW,EAChB,KAAK,MAAM,EACX,KAAK,QAAQ,EACb,KAAK,MAAM,EACX,KAAK,UAAU,EACf,KAAK,cAAc,EACnB,KAAK,UAAU,EACf,KAAK,WAAW,EAChB,KAAK,OAAO,EACZ,KAAK,WAAW,EAChB,KAAK,MAAM,EACX,KAAK,YAAY,EACjB,KAAK,IAAI,EACT,KAAK,YAAY,EACjB,KAAK,eAAe,EACpB,KAAK,OAAO,EACZ,KAAK,IAAI,EACT,KAAK,QAAQ,EACb,KAAK,KAAK,EACX,MAAM,yBAAyB,CAAA;AAChC,OAAO,EAAE,KAAK,YAAY,EAAE,KAAK,YAAY,EAAE,KAAK,cAAc,EAAE,KAAK,cAAc,EAAE,MAAM,aAAa,CAAA;AAC5G,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,kBAAkB,CAAA;AAEtD,MAAM,WAAW,SAAS;IACxB,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;IACpB,OAAO,EAAE,MAAM,CAAA;IACf,aAAa,EAAE,MAAM,GAAG,IAAI,CAAA;IAC5B,QAAQ,EAAE,MAAM,CAAA;IAChB,cAAc,EAAE,MAAM,GAAG,IAAI,CAAA;IAC7B,QAAQ,EAAE,YAAY,CAAA;IACtB,MAAM,EAAE,UAAU,CAAA;IAClB,IAAI,EAAE,IAAI,CAAA;IACV,IAAI,EAAE,OAAO,CAAA;IACb,KAAK,EAAE,MAAM,GAAG,SAAS,CAAA;IACzB,UAAU,EAAE,OAAO,GAAG,SAAS,CAAA;IAC/B,SAAS,EAAE,OAAO,CAAA;IAClB,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,EAAE,gBAAgB,CAAA;IACzB,QAAQ,EAAE,cAAc,CAAA;IACxB,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,cAAc,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IAChC,QAAQ,CAAC,EAAE,SAAS,EAAE,CAAA;CACvB;AAED,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,SAAS,CAAA;IACf,KAAK,EAAE,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/state/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @template ItemType
|
|
3
|
-
* @param {ItemType[]}
|
|
4
|
-
* @param {ItemType[]}
|
|
3
|
+
* @param {ItemType[]} previousArray
|
|
4
|
+
* @param {ItemType[]} newArray
|
|
5
5
|
* @returns {ItemType[]}
|
|
6
6
|
*/
|
|
7
|
-
export function shallowProduceArray<ItemType>(
|
|
7
|
+
export function shallowProduceArray<ItemType>(previousArray?: ItemType[], newArray?: ItemType[]): ItemType[];
|
|
8
8
|
/**
|
|
9
9
|
* @template ItemType
|
|
10
10
|
* @param {any[]} a1
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"immutable.d.ts","sourceRoot":"","sources":["../../../src/state/utils/immutable.js"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,
|
|
1
|
+
{"version":3,"file":"immutable.d.ts","sourceRoot":"","sources":["../../../src/state/utils/immutable.js"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,6GAIC;AAED;;;;;GAKG;AACH,iDAJW,GAAG,EAAE,OACL,GAAG,EAAE,GACH,OAAO,CAMnB"}
|