UNPKG

alinea

Version:

[![npm](https://img.shields.io/npm/v/alinea.svg)](https://npmjs.org/package/alinea) [![install size](https://packagephobia.com/badge?p=alinea)](https://packagephobia.com/result?p=alinea)

56 lines (54 loc) 1.09 kB
import "../../chunks/chunk-U5RRZUYZ.js"; // src/core/shape/ScalarShape.ts var ScalarShape = class { constructor(label, initialValue) { this.label = label; this.initialValue = initialValue; } innerTypes() { return []; } create() { return this.initialValue; } typeOfChild(yValue, child) { throw new Error(`No children in scalar values`); } toY(value) { return value; } fromY(yValue) { return yValue; } applyY(value, parent, key) { const current = parent.get(key); if (current !== value) parent.set(key, value); } init(parent, key) { if (!parent.has(key)) parent.set(key, this.toY(this.create())); } watch(parent, key) { return (fun) => { function w(event) { if (event.keysChanged.has(key)) fun(); } parent.observe(w); return () => parent.unobserve(w); }; } mutator(parent, key, readOnly) { return (value) => { if (readOnly) return; parent.set(key, value); }; } async applyLinks() { } }; export { ScalarShape };