UNPKG

tilia

Version:

🍃 State management library, domain-driven.

8 lines (7 loc) 34 kB
{ "version": 3, "sources": ["../src/index.js", "../src/Tilia.mjs"], "sourcesContent": ["export {\n carve,\n derived,\n make,\n tilia,\n observe,\n watch,\n batch,\n computed,\n source,\n store,\n readonly,\n signal,\n _observe,\n _done,\n _clear,\n _ready,\n _meta,\n _ctx,\n} from \"./Tilia.mjs\";\n", "// Generated by ReScript, PLEASE EDIT WITH CARE\n\n\nvar raise = (function (message) {\n throw new Error(message)\n});\n\nvar symbol = (function(s) {\n return Symbol.for('tilia:' + s);\n});\n\nvar indexKey = symbol(\"indexKey\");\n\nvar metaKey = symbol(\"metaKey\");\n\nvar dynamicKey = symbol(\"dynamicKey\");\n\nvar ctxKey = symbol(\"ctx\");\n\nvar proxiable = (function(v) {\n if ( typeof v === 'object' && v !== null) {\n const proto = Object.getPrototypeOf(v)\n return proto === Object.prototype || proto === Array.prototype || proto === null\n }\n return false;\n});\n\nvar dynamic = (function(v) {\n return typeof v === 'object' && v !== null && v[dynamicKey] ? v : undefined;\n});\n\nfunction readonly(o, k) {\n var d = Object.getOwnPropertyDescriptor(o, k);\n if (d === null || d === undefined) {\n return false;\n } else {\n return d.writable === false;\n }\n}\n\nfunction observeKey(observed, key) {\n var w = observed.get(key);\n if (!(w === null || w === undefined)) {\n return w;\n }\n w === null;\n var w$1 = {\n state: \"Pristine\",\n key: key,\n observed: observed,\n observers: new Set()\n };\n observed.set(key, w$1);\n return w$1;\n}\n\nfunction flush(root) {\n if (root.expired.size > 0) {\n while(root.expired.size > 0) {\n var expired = root.expired;\n root.expired = new Set();\n expired.forEach(function (observer) {\n observer.notify();\n });\n };\n }\n var gc = root.gc;\n if (gc.active.size >= gc.threshold) {\n gc.quarantine.forEach(function (w) {\n if (w.state === \"Pristine\" && w.observers.size === 0) {\n w.state = \"Cleared\";\n w.observed.delete(w.key);\n return ;\n }\n \n });\n gc.quarantine = gc.active;\n gc.active = new Set();\n return ;\n }\n \n}\n\nfunction _clear(observer) {\n var root = observer.root;\n observer.observing.forEach(function (watchers) {\n if (watchers.state === \"Pristine\" && watchers.observers.delete(observer) && watchers.observers.size === 0) {\n root.gc.active.add(watchers);\n return ;\n }\n \n });\n var o = root.observer;\n if (o === null || o === undefined || o !== observer) {\n return ;\n } else {\n root.observer = undefined;\n if (!root.lock) {\n return flush(root);\n } else {\n return ;\n }\n }\n}\n\nfunction _ready(observer, notifyIfChanged) {\n observer.observing.find(function (w, idx) {\n var match = w.state;\n switch (match) {\n case \"Pristine\" :\n w.observers.add(observer);\n return false;\n case \"Changed\" :\n case \"Cleared\" :\n break;\n \n }\n if (notifyIfChanged) {\n _clear(observer);\n observer.notify();\n return true;\n }\n var w$1 = observeKey(w.observed, w.key);\n w$1.observers.add(observer);\n observer.observing[idx] = w$1;\n return false;\n });\n var root = observer.root;\n var o = root.observer;\n if (o === null || o === undefined || o !== observer) {\n return ;\n } else {\n root.observer = undefined;\n if (!root.lock) {\n return flush(root);\n } else {\n return ;\n }\n }\n}\n\nfunction notify(root, observed, key) {\n var watchers = observed.get(key);\n if (watchers === null || watchers === undefined) {\n return ;\n }\n observed.delete(key);\n watchers.state = \"Changed\";\n var expired = root.expired;\n watchers.observers.forEach(function (observer) {\n _clear(observer);\n expired.add(observer);\n });\n var match = root.observer;\n if (!(match === null || match === undefined)) {\n return ;\n }\n match === null;\n if (!root.lock) {\n return flush(root);\n }\n \n}\n\nfunction set(root, observed, proxied, computes, isArray, _fromComputed, target, _key, _value) {\n while(true) {\n var value = _value;\n var key = _key;\n var fromComputed = _fromComputed;\n var hadKey = Reflect.has(target, key);\n var prev = Reflect.get(target, key);\n var proxiable$1 = proxiable(value);\n var same;\n if (proxiable$1) {\n var m = Reflect.get(value, metaKey);\n same = m === null || m === undefined ? prev === value : m.target === prev;\n } else {\n same = prev === value;\n }\n if (same) {\n return true;\n }\n if (!Reflect.set(target, key, value)) {\n return false;\n }\n var key$1 = isArray && key === \"length\" ? indexKey : key;\n if (proxiable$1) {\n proxied.delete(key$1);\n }\n if (!fromComputed) {\n var clear = computes.get(key$1);\n if (clear === null || clear === undefined) {\n clear === null;\n } else {\n computes.delete(key$1);\n clear();\n }\n }\n var match = dynamic(value);\n if (match === null || match === undefined) {\n match === null;\n } else {\n var w = observed.get(key$1);\n if (w === null || w === undefined) {\n return true;\n }\n if (!(w.state === \"Pristine\" && w.observers.size > 0)) {\n return true;\n }\n Reflect.set(target, key$1, prev);\n var compile$1 = (function(key$1){\n return function compile$1(callback) {\n return compile(root, observed, proxied, computes, isArray, target, key$1, callback);\n }\n }(key$1));\n var setter = (function(key$1){\n return function setter(v) {\n set(root, observed, proxied, computes, isArray, true, target, key$1, v);\n }\n }(key$1));\n var get = function (_value) {\n while(true) {\n var value = _value;\n var dynamic$1 = dynamic(value);\n if (dynamic$1 === null || dynamic$1 === undefined) {\n return value;\n }\n var v;\n switch (dynamic$1.TAG) {\n case \"Computed\" :\n v = compile$1(dynamic$1._0);\n break;\n case \"Source\" :\n var source = dynamic$1._0;\n var v$1 = source.value;\n var val = {\n contents: v$1\n };\n var set = (function(val){\n return function set(v) {\n val.contents = v;\n setter(v);\n }\n }(val));\n var callback = source.source;\n v = compile$1((set(v$1), (function(val,callback){\n return function () {\n callback(set);\n return val.contents;\n }\n }(val,callback))));\n break;\n case \"Store\" :\n var store = dynamic$1._0;\n v = compile$1((function(store){\n return function () {\n return store(setter);\n }\n }(store)));\n break;\n case \"Compiled\" :\n var rebuild = dynamic$1._0.rebuild;\n v = rebuild();\n break;\n \n }\n if (!proxiable(v)) {\n return v;\n }\n _value = v;\n continue ;\n };\n };\n var v = get(value);\n _value = v;\n _key = key$1;\n _fromComputed = true;\n continue ;\n }\n notify(root, observed, key$1);\n if (!hadKey) {\n notify(root, observed, indexKey);\n }\n return true;\n };\n}\n\nfunction compile(root, observed, proxied, computes, isArray, target, key, callback) {\n var lastValue = {\n v: undefined\n };\n var observer = {\n o: undefined\n };\n var compute = {\n rebuild: undefined\n };\n var compiled = {\n TAG: \"Compiled\",\n _0: compute\n };\n Reflect.set(compiled, dynamicKey, true);\n var notify = function () {\n var v = Reflect.get(target, key);\n if (v !== compiled) {\n lastValue.v = v;\n }\n var w = observed.get(key);\n if (!(w === null || w === undefined)) {\n if (w.observers.size > 0) {\n set(root, observed, proxied, computes, isArray, true, target, key, rebuild());\n } else {\n w.state = \"Changed\";\n observed.delete(key);\n proxied.delete(key);\n Reflect.set(target, key, compiled);\n }\n return ;\n }\n w === null;\n proxied.delete(key);\n Reflect.set(target, key, compiled);\n };\n var rebuild = function () {\n var curr = Reflect.get(target, key);\n if (curr === compiled) {\n Reflect.set(target, key, lastValue.v);\n } else {\n lastValue.v = curr;\n }\n var o_observing = [];\n var o = {\n root: root,\n notify: notify,\n observing: o_observing\n };\n observer.o = o;\n var previous = root.observer;\n root.observer = o;\n var v = callback();\n root.observer = previous;\n if (o_observing.length === 0) {\n _clear(o);\n computes.delete(key);\n } else {\n _ready(o, false);\n }\n return v;\n };\n compute.rebuild = rebuild;\n var clear = function () {\n var o = observer.o;\n if (o === null || o === undefined) {\n return ;\n }\n _clear(o);\n ((o.observing.length = 0));\n };\n computes.set(key, clear);\n return rebuild();\n}\n\nfunction proxify(root, _target) {\n while(true) {\n var target = _target;\n var proxied = new Map();\n var observed = new Map();\n var computes = new Map();\n var m = Reflect.get(target, metaKey);\n if (m === null || m === undefined) {\n m === null;\n } else {\n if (m.root === root) {\n return m;\n }\n _target = m.target;\n continue ;\n }\n var meta = ({root, target, observed, proxied, computes});\n var isArray = Array.isArray(target);\n var proxy = new Proxy(target, {\n set: (function(proxied,observed,computes,isArray){\n return function (extra, extra$1, extra$2) {\n return set(root, observed, proxied, computes, isArray, false, extra, extra$1, extra$2);\n }\n }(proxied,observed,computes,isArray)),\n deleteProperty: (function(proxied,observed,computes){\n return function (extra, extra$1) {\n var res = Reflect.deleteProperty(extra, extra$1);\n proxied.delete(extra$1);\n var clear = computes.get(extra$1);\n if (clear === null || clear === undefined) {\n clear === null;\n } else {\n computes.delete(extra$1);\n clear();\n }\n notify(root, observed, extra$1);\n return res;\n }\n }(proxied,observed,computes)),\n get: (function(proxied,observed,computes,isArray){\n return function (extra, extra$1) {\n if (extra$1 === metaKey) {\n return meta;\n }\n if (extra$1 === dynamicKey) {\n return undefined;\n }\n var value = Reflect.get(extra, extra$1);\n var own = Object.hasOwn(extra, extra$1);\n if (!(value === undefined || own)) {\n return value;\n }\n var o = root.observer;\n if (o === null || o === undefined) {\n o === null;\n } else if (isArray && extra$1 === \"length\") {\n var w = observeKey(observed, indexKey);\n o.observing.push(w);\n } else {\n var w$1 = observeKey(observed, extra$1);\n o.observing.push(w$1);\n }\n if (!(proxiable(value) && !readonly(extra, extra$1))) {\n return value;\n }\n var m = proxied.get(extra$1);\n if (!(m === null || m === undefined)) {\n return m.proxy;\n }\n m === null;\n var compile$1 = function (callback) {\n return compile(root, observed, proxied, computes, isArray, extra, extra$1, callback);\n };\n var setter = function (v) {\n set(root, observed, proxied, computes, isArray, true, extra, extra$1, v);\n };\n var get = function (_value) {\n while(true) {\n var value = _value;\n var dynamic$1 = dynamic(value);\n if (dynamic$1 === null || dynamic$1 === undefined) {\n return value;\n }\n var v;\n switch (dynamic$1.TAG) {\n case \"Computed\" :\n v = compile$1(dynamic$1._0);\n break;\n case \"Source\" :\n var source = dynamic$1._0;\n var v$1 = source.value;\n var val = {\n contents: v$1\n };\n var set = (function(val){\n return function set(v) {\n val.contents = v;\n setter(v);\n }\n }(val));\n var callback = source.source;\n v = compile$1((set(v$1), (function(val,callback){\n return function () {\n callback(set);\n return val.contents;\n }\n }(val,callback))));\n break;\n case \"Store\" :\n var store = dynamic$1._0;\n v = compile$1((function(store){\n return function () {\n return store(setter);\n }\n }(store)));\n break;\n case \"Compiled\" :\n var rebuild = dynamic$1._0.rebuild;\n v = rebuild();\n break;\n \n }\n if (!proxiable(v)) {\n return v;\n }\n _value = v;\n continue ;\n };\n };\n var v = get(value);\n Reflect.set(extra, extra$1, v);\n if (!proxiable(v)) {\n return v;\n }\n var m$1 = proxify(root, v);\n proxied.set(extra$1, m$1);\n return m$1.proxy;\n }\n }(proxied,observed,computes,isArray)),\n ownKeys: (function(observed){\n return function (extra) {\n var keys = Reflect.ownKeys(extra);\n var o = root.observer;\n if (o === null || o === undefined) {\n o === null;\n } else {\n var w = observeKey(observed, indexKey);\n o.observing.push(w);\n }\n return keys;\n }\n }(observed))\n });\n meta.proxy = proxy;\n return meta;\n };\n}\n\nfunction makeTilia(root) {\n return function (value) {\n if (!proxiable(value)) {\n raise(\"tilia: value is not an object or array\");\n }\n return proxify(root, value).proxy;\n };\n}\n\nfunction makeDerived(p) {\n return function (fn) {\n var v = {\n TAG: \"Computed\",\n _0: (function () {\n return fn(p.contents);\n })\n };\n Reflect.set(v, dynamicKey, true);\n return v;\n };\n}\n\nfunction makeReactive(derived) {\n return { derived }\n}\n;\n\nfunction makeCarve(root) {\n return function (fn) {\n var p = {\n contents: {}\n };\n var ctx = makeReactive(makeDerived(p));\n var value = fn(ctx);\n if (!proxiable(value)) {\n raise(\"tilia: value is not an object or array\");\n }\n var value$1 = proxify(root, value).proxy;\n p.contents = value$1;\n return value$1;\n };\n}\n\nfunction makeObserve(root) {\n return function (callback) {\n var notify = function () {\n var observer_observing = [];\n var observer = {\n root: root,\n notify: notify,\n observing: observer_observing\n };\n root.observer = observer;\n var o = observer;\n callback();\n _ready(o, true);\n };\n notify();\n };\n}\n\nfunction makeWatch(root, observe_) {\n return function (callback, effect) {\n var notify = function () {\n var o = observe_(notify);\n var v = callback();\n o.root.observer = undefined;\n if (root.lock) {\n effect(v);\n } else {\n root.lock = true;\n effect(v);\n root.lock = false;\n }\n _ready(o, false);\n };\n var o = observe_(notify);\n callback();\n _ready(o, false);\n };\n}\n\nfunction makeBatch(root) {\n return function (callback) {\n if (root.lock) {\n return callback();\n } else {\n root.lock = true;\n callback();\n root.lock = false;\n return flush(root);\n }\n };\n}\n\nfunction computed(fn) {\n var v = {\n TAG: \"Computed\",\n _0: fn\n };\n Reflect.set(v, dynamicKey, true);\n return v;\n}\n\nfunction source(source$1, value) {\n var v = {\n TAG: \"Source\",\n _0: {\n source: source$1,\n value: value\n }\n };\n Reflect.set(v, dynamicKey, true);\n return v;\n}\n\nfunction store(callback) {\n var v = {\n TAG: \"Store\",\n _0: callback\n };\n Reflect.set(v, dynamicKey, true);\n return v;\n}\n\nfunction makeDerived$1(tilia) {\n return function (fn) {\n return tilia({\n value: computed(function () {\n return fn();\n })\n });\n };\n}\n\nfunction _done(o) {\n o.root.observer = undefined;\n}\n\nfunction connector(tilia, carve, observe, watch, batch, signal, derived, _observe) {\n return {\n tilia,\n carve,\n observe,\n watch,\n batch,\n // extra\n signal,\n derived,\n // internal\n _observe,\n };\n}\n;\n\nfunction make(gcOpt) {\n var gc = gcOpt !== undefined ? gcOpt : 50;\n var gc$1 = {\n active: new Set(),\n quarantine: new Set(),\n threshold: gc\n };\n var root = {\n observer: undefined,\n expired: new Set(),\n lock: false,\n gc: gc$1\n };\n var tilia = makeTilia(root);\n var _observe = function (extra) {\n var observer_observing = [];\n var observer = {\n root: root,\n notify: extra,\n observing: observer_observing\n };\n root.observer = observer;\n return observer;\n };\n return connector(tilia, makeCarve(root), makeObserve(root), makeWatch(root, _observe), makeBatch(root), (function (value) {\n return tilia({\n value: value\n });\n }), makeDerived$1(tilia), _observe);\n}\n\nvar ctx = Reflect.get(globalThis, ctxKey);\n\nvar _ctx;\n\nvar exit = 0;\n\nif (ctx === null || ctx === undefined) {\n exit = 1;\n} else {\n _ctx = ctx;\n}\n\nif (exit === 1) {\n var ctx$1 = make(undefined);\n Reflect.set(globalThis, ctxKey, ctx$1);\n _ctx = ctx$1;\n}\n\nfunction readonly$1(data) {\n var obj = {};\n Object.defineProperty(obj, \"data\", {\n writable: false,\n enumerable: true,\n configurable: false,\n value: data\n });\n return obj;\n}\n\nfunction unwrap(s) {\n return computed(function () {\n return s.value;\n });\n}\n\nvar tilia = _ctx.tilia;\n\nvar carve = _ctx.carve;\n\nvar observe = _ctx.observe;\n\nvar watch = _ctx.watch;\n\nvar batch = _ctx.batch;\n\nvar signal = _ctx.signal;\n\nvar derived = _ctx.derived;\n\nvar _observe = _ctx._observe;\n\nfunction _meta(p) {\n return Reflect.get(p, metaKey);\n}\n\nexport {\n make ,\n tilia ,\n carve ,\n observe ,\n watch ,\n batch ,\n signal ,\n derived ,\n readonly$1 as readonly,\n computed ,\n unwrap ,\n source ,\n store ,\n _observe ,\n _done ,\n _ready ,\n _clear ,\n _meta ,\n _ctx ,\n}\n/* indexKey Not a pure module */\n"], "mappings": "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", "names": ["index_exports", "__export", "_clear", "_ctx", "_done", "_meta", "_observe", "_ready", "batch", "carve", "computed", "derived", "make", "observe", "readonly$1", "signal", "source", "store", "tilia", "watch", "__toCommonJS", "raise", "message", "symbol", "s", "indexKey", "metaKey", "dynamicKey", "ctxKey", "proxiable", "v", "proto", "dynamic", "readonly", "o", "k", "d", "observeKey", "observed", "key", "w", "w$1", "flush", "root", "expired", "observer", "gc", "_clear", "watchers", "_ready", "notifyIfChanged", "idx", "match", "notify", "set", "proxied", "computes", "isArray", "_fromComputed", "target", "_key", "_value", "value", "fromComputed", "hadKey", "prev", "proxiable$1", "same", "m", "key$1", "clear", "compile$1", "callback", "compile", "setter", "get", "dynamic$1", "source", "v$1", "val", "store", "rebuild", "lastValue", "compute", "compiled", "curr", "o_observing", "previous", "proxify", "_target", "meta", "proxy", "extra", "extra$1", "extra$2", "res", "own", "m$1", "keys", "makeTilia", "makeDerived", "p", "fn", "makeReactive", "derived", "makeCarve", "ctx", "value$1", "makeObserve", "observer_observing", "makeWatch", "observe_", "effect", "makeBatch", "computed", "source$1", "makeDerived$1", "tilia", "_done", "connector", "carve", "observe", "watch", "batch", "signal", "_observe", "make", "gcOpt", "gc$1", "_ctx", "exit", "ctx$1", "readonly$1", "data", "obj", "tilia", "_ctx", "carve", "observe", "watch", "batch", "signal", "derived", "_observe", "_meta", "p", "metaKey"] }