@json-layout/core
Advanced tools
Comparing version 0.6.0 to 0.7.0
{ | ||
"name": "@json-layout/core", | ||
"version": "0.6.0", | ||
"version": "0.7.0", | ||
"description": "Compilation and state management utilities for JSON Layout.", | ||
@@ -50,3 +50,3 @@ "type": "module", | ||
"dependencies": { | ||
"@json-layout/vocabulary": "^0.6.0", | ||
"@json-layout/vocabulary": "^0.7.0", | ||
"@types/markdown-it": "^13.0.1", | ||
@@ -53,0 +53,0 @@ "ajv": "^8.12.0", |
@@ -39,2 +39,4 @@ // eslint-disable-next-line import/no-named-default | ||
* @typedef {import('./types.js').ListNode} ListNode | ||
* @typedef {import('./types.js').FileInputNode} FileInputNode | ||
* @typedef {import('./types.js').MarkdownNode} MarkdownNode | ||
* @typedef {import('./types.js').FileRef} FileRef | ||
@@ -375,3 +377,3 @@ */ | ||
if (!parentNode) throw new Error(`parent with key "${node.parentFullKey}" not found`) | ||
const newParentValue = producePatchedData(parentNode.data ?? {}, node, data) | ||
const newParentValue = producePatchedData(parentNode.data ?? (typeof node.key === 'number' ? [] : {}), node, data) | ||
this.input(parentNode, newParentValue) | ||
@@ -378,0 +380,0 @@ |
@@ -76,2 +76,9 @@ import { isSwitchStruct, childIsCompObject, isCompositeLayout, isFocusableLayout } from '@json-layout/vocabulary' | ||
else draft[child.key] = child.data | ||
if (Array.isArray(draft)) { | ||
// remove trailing undefined values from tuples | ||
while (draft.length && draft[draft.length - 1] === undefined) { | ||
draft.pop() | ||
} | ||
} | ||
} | ||
@@ -78,0 +85,0 @@ } |
@@ -26,2 +26,4 @@ import { type ErrorObject } from 'ajv' | ||
type Combobox, | ||
type Markdown, | ||
type FileInput, | ||
type Child | ||
@@ -154,1 +156,5 @@ } from '@json-layout/vocabulary' | ||
export type ComboboxNode = Omit<StateNode, 'children'> & { layout: Combobox, data: any[] } | ||
export type FileInputNode = Omit<StateNode, 'children'> & { layout: FileInput, data: object | undefined | null } | ||
export type MarkdownNode = Omit<StateNode, 'children'> & { layout: Markdown, data: string | undefined | null } |
@@ -28,2 +28,4 @@ export { Display } from "./utils/display.js"; | ||
* @typedef {import('./types.js').ListNode} ListNode | ||
* @typedef {import('./types.js').FileInputNode} FileInputNode | ||
* @typedef {import('./types.js').MarkdownNode} MarkdownNode | ||
* @typedef {import('./types.js').FileRef} FileRef | ||
@@ -231,4 +233,6 @@ */ | ||
export type ListNode = import('./types.js').ListNode; | ||
export type FileInputNode = import('./types.js').FileInputNode; | ||
export type MarkdownNode = import('./types.js').MarkdownNode; | ||
export type FileRef = import('./types.js').FileRef; | ||
import { Display } from './utils/display.js'; | ||
//# sourceMappingURL=index.d.ts.map |
import { type ErrorObject } from 'ajv'; | ||
import { type CompObject, type Cols, type StateNodeOptionsBase, type TextField, type Textarea, type NumberField, type Slider, type Checkbox, type Switch, type DatePicker, type DateTimePicker, type TimePicker, type ColorPicker, type Section, type OneOfSelect, type Select, type Autocomplete, type Tabs, type VerticalTabs, type ExpansionPanels, type Stepper, type List, type Combobox, type Child } from '@json-layout/vocabulary'; | ||
import { type CompObject, type Cols, type StateNodeOptionsBase, type TextField, type Textarea, type NumberField, type Slider, type Checkbox, type Switch, type DatePicker, type DateTimePicker, type TimePicker, type ColorPicker, type Section, type OneOfSelect, type Select, type Autocomplete, type Tabs, type VerticalTabs, type ExpansionPanels, type Stepper, type List, type Combobox, type Markdown, type FileInput, type Child } from '@json-layout/vocabulary'; | ||
import { type SkeletonTree, type SkeletonNode, type StatefulLayout, type CompiledLayout } from '../index.js'; | ||
@@ -159,2 +159,10 @@ import { type LocaleMessages } from '../i18n/types.js'; | ||
}; | ||
export type FileInputNode = Omit<StateNode, 'children'> & { | ||
layout: FileInput; | ||
data: object | undefined | null; | ||
}; | ||
export type MarkdownNode = Omit<StateNode, 'children'> & { | ||
layout: Markdown; | ||
data: string | undefined | null; | ||
}; | ||
//# sourceMappingURL=types.d.ts.map |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
113183
2538
+ Added@json-layout/vocabulary@0.7.0(transitive)
- Removed@json-layout/vocabulary@0.6.0(transitive)