diff --git a/src/model/Path.ts b/src/model/Path.ts index 247e75f6..35dbaa23 100644 --- a/src/model/Path.ts +++ b/src/model/Path.ts @@ -7,7 +7,7 @@ export class Path implements Iterable { model?: DataModel constructor(arr?: PathElement[], model?: DataModel) { - this.arr = arr || [] + this.arr = arr ?? [] this.model = model } diff --git a/src/nodes/AbstractNode.ts b/src/nodes/AbstractNode.ts index b83eb342..9d535144 100644 --- a/src/nodes/AbstractNode.ts +++ b/src/nodes/AbstractNode.ts @@ -44,10 +44,10 @@ export abstract class AbstractNode implements INode { forceMod: IForce constructor(mods?: NodeMods) { - this.defaultMod = mods?.default ? mods.default : (v) => v - this.transformMod = mods?.transform ? mods.transform : (v) => v - this.enableMod = mods?.enable ? mods.enable : () => true - this.forceMod = mods?.force ? mods.force : () => false + this.defaultMod = mods?.default ?? ((v) => v) + this.transformMod = mods?.transform ?? ((v) => v) + this.enableMod = mods?.enable ?? (() => true) + this.forceMod = mods?.force ?? (() => false) } setParent(parent: INode) { diff --git a/src/nodes/MapNode.ts b/src/nodes/MapNode.ts index 8b0b20d4..1bf1ac99 100644 --- a/src/nodes/MapNode.ts +++ b/src/nodes/MapNode.ts @@ -20,7 +20,7 @@ export class MapNode extends AbstractNode { } renderRaw(path: Path, value: IMap, view: TreeView) { - value = value || [] + value = value ?? [] const button = view.registerClick(el => { const key = this.keys.getState(el.parentElement!) view.model.set(path.push(key), this.values.default()) diff --git a/src/nodes/NumberNode.ts b/src/nodes/NumberNode.ts index fd2d2dd0..deb11b3d 100644 --- a/src/nodes/NumberNode.ts +++ b/src/nodes/NumberNode.ts @@ -18,9 +18,9 @@ export class NumberNode extends AbstractNode implements StateNode 0, ...mods}) - this.integer = mods?.integer ? mods.integer : false - this.min = mods?.min !== undefined ? mods.min : -Infinity - this.max = mods?.max !== undefined ? mods.max : Infinity + this.integer = mods?.integer ?? false + this.min = mods?.min ?? -Infinity + this.max = mods?.max ?? Infinity } getState(el: Element) { @@ -37,6 +37,6 @@ export class NumberNode extends AbstractNode implements StateNode${path.last()}`} - ` + ` } } diff --git a/src/nodes/ObjectNode.ts b/src/nodes/ObjectNode.ts index 7ea20c62..dd031b08 100644 --- a/src/nodes/ObjectNode.ts +++ b/src/nodes/ObjectNode.ts @@ -21,7 +21,7 @@ export class ObjectNode extends AbstractNode { transform(path: Path, value: IObject) { if (value === undefined) return undefined - value = value || {} + value = value ?? {} let res: any = {} Object.keys(this.fields).forEach(f => res[f] = this.fields[f].transform(path.push(f), value[f]) diff --git a/src/nodes/RootNode.ts b/src/nodes/RootNode.ts index d4f33158..d586f59f 100644 --- a/src/nodes/RootNode.ts +++ b/src/nodes/RootNode.ts @@ -12,7 +12,7 @@ export class RootNode extends ObjectNode { } render(path: Path, value: IObject, view: TreeView) { - value = value || {} + value = value ?? {} return `
${Object.keys(this.fields).map(f => { return this.fields[f].render(path.push(f), value[f], view) diff --git a/src/nodes/StringNode.ts b/src/nodes/StringNode.ts index 614605a1..42005d22 100644 --- a/src/nodes/StringNode.ts +++ b/src/nodes/StringNode.ts @@ -12,7 +12,7 @@ export class StringNode extends AbstractNode implements StateNode implements StateNode${path.last()}`} - ` + ` } }