{
  "version": 3,
  "sources": ["../src/index.js", "../src/Tilia.mjs"],
  "sourcesContent": ["export {\n  _clear,\n  _ctx,\n  _done,\n  _meta,\n  _observe,\n  _ready,\n  batch,\n  carve,\n  computed,\n  derived,\n  lift,\n  make,\n  observe,\n  readonly,\n  signal,\n  source,\n  store,\n  tilia,\n  watch,\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 reraise = (function (e) {\n  console.error(\"Reraising exception after flush\");\n  throw e\n});\n\nfunction cleanTrace(stack) {\n  if (typeof stack !== \"string\") return stack;\n  \n  const cleaned = [\"Exception thrown in computed or observe\"];\n  let collapsing = false;\n\n  for (const line of stack.split(\"\\n\")) {\n    if (/src\\/Tilia\\.mjs:\\d+:\\d+/.test(line)) {\n      if (!collapsing) {\n        cleaned.push(\"    [... tilia internals]\");\n        collapsing = true;\n      }\n    } else {\n      cleaned.push(line);\n      collapsing = false;\n    }\n  }\n\n  return cleaned.join(\"\\n\");\n}\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\nvar setError = (function (root, e) {\n  if (typeof e === \"object\" && e !== null) {\n    if (e.stack) {\n      console.error(cleanTrace(e.stack));\n    } else {\n      console.error(e);\n    }\n    root.error = e;\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  }\n  if (root.error === undefined) {\n    return ;\n  }\n  var e = root.error;\n  root.error = undefined;\n  reraise(e);\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                v = compile$1((set(v$1), (function(source,val){\n                      return function () {\n                        var callback = source.source;\n                        callback(val.contents, set);\n                        return val.contents;\n                      }\n                      }(source,val))));\n                break;\n            case \"Store\" :\n                var store = dynamic$1._0;\n                v = compile$1((function(store){\n                    return function () {\n                      return store.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;\n    try {\n      v = callback();\n    }\n    catch (_e){\n      setError(root, _e);\n      _clear(o);\n      if (previous === null || previous === undefined) {\n        previous === null;\n      } else {\n        _clear(previous);\n      }\n      v = lastValue.v;\n    }\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                      v = compile$1((set(v$1), (function(source,val){\n                            return function () {\n                              var callback = source.source;\n                              callback(val.contents, set);\n                              return val.contents;\n                            }\n                            }(source,val))));\n                      break;\n                  case \"Store\" :\n                      var store = dynamic$1._0;\n                      v = compile$1((function(store){\n                          return function () {\n                            return store.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      try {\n        callback();\n        return _ready(o, true);\n      }\n      catch (_e){\n        setError(root, _e);\n        return _clear(o);\n      }\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\nvar orphanError = \"Cannot modify or access the value of an orphan computation. See https://tiliajs.com/errors#orphan\";\n\nfunction warningHandler() {\n  return {\n          set: (function (param, _key, _value) {\n              return raise(orphanError);\n            }),\n          deleteProperty: (function (param, _key) {\n              return raise(orphanError);\n            }),\n          get: (function (target, key) {\n              if (key === dynamicKey || key === metaKey || key === \"TAG\" || key === \"_0\") {\n                return Reflect.get(target, key);\n              } else {\n                return raise(orphanError);\n              }\n            }),\n          ownKeys: (function (target) {\n              return Reflect.ownKeys(target);\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 new Proxy(v, warningHandler());\n}\n\nfunction makeSource(tilia) {\n  return function (value, source) {\n    var d = dynamic(source);\n    var s;\n    s = d === null || d === undefined ? ({\n          source: source,\n          value: value\n        }) : (tilia({value, source: d}));\n    var v = {\n      TAG: \"Source\",\n      _0: s\n    };\n    Reflect.set(v, dynamicKey, true);\n    return v;\n  };\n}\n\nfunction makeStore(tilia) {\n  return function (callback) {\n    var d = dynamic(callback);\n    var s;\n    s = d === null || d === undefined ? ({\n          store: callback\n        }) : (tilia({store: d}));\n    var v = {\n      TAG: \"Store\",\n      _0: s\n    };\n    Reflect.set(v, dynamicKey, true);\n    return v;\n  };\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, source, store, _observe) {\n  return {\n    tilia,\n    carve,\n    observe,\n    watch,\n    batch,\n    // extra\n    signal,\n    derived,\n    source,\n    store,\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    error: undefined,\n    id: Math.random(),\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                var s = tilia({\n                      value: value\n                    });\n                var set = function (v) {\n                  s.value = v;\n                };\n                return [\n                        s,\n                        set\n                      ];\n              }), makeDerived$1(tilia), makeSource(tilia), makeStore(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 lift(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 source = _ctx.source;\n\nvar store = _ctx.store;\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  lift ,\n  source ,\n  store ,\n  _observe ,\n  _done ,\n  _ready ,\n  _clear ,\n  _meta ,\n  _ctx ,\n}\n/*  Not a pure module */\n"],
  "mappings": "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",
  "names": ["key$1", "compile$1", "setter", "v", "_value", "value", "source", "set", "val", "store", "notify", "proxied", "observed", "computes", "isArray", "m", "derived", "ctx", "notify", "o", "tilia", "source", "carve", "observe", "watch", "batch", "signal", "derived", "store", "_observe", "tilia", "_observe", "set"]
}
