{"version":3,"file":"815e560c.mjs","sources":["../../src/common.ts","../../src/globals.ts","../../src/symbols.ts"],"sourcesContent":["export interface Disposable {\n  /** Release any memory that would otherwise leak */\n  dispose: () => void\n}\n\nexport type Falsy = false | null | undefined\n\nexport const emptyArray: readonly any[] = Object.freeze([])\n\nexport const setHidden = (obj: any, key: any, value: any) =>\n  Object.defineProperty(obj, key, { value, configurable: true })\n\nexport function rethrowError(error: Error) {\n  throw error\n}\n\nexport const noop = () => {}\n\nexport const nope = () => false\n\nexport const flop: any = () => {\n  throw Error('Not yet implemented')\n}\n\nexport const hasOwn = Function.call.bind({}.hasOwnProperty) as (\n  obj: object,\n  key: keyof any\n) => boolean\n\nexport const getOwnDescriptor = Object.getOwnPropertyDescriptor\n\nexport function getDescriptor(self: object, key: any) {\n  let desc: PropertyDescriptor | undefined\n  let proto = self\n  do {\n    if ((desc = getOwnDescriptor(proto, key))) {\n      return desc\n    }\n  } while ((proto = Object.getPrototypeOf(proto)))\n}\n","import { Auto } from './auto'\nimport { Change, ObserverTarget } from './observable'\n\ntype OnRender = (\n  auto: Auto,\n  depth: number,\n  component: React.FunctionComponent<any>\n) => void\n\ntype Globals = {\n  /** Notify the current observer. */\n  observe: ((target: ObserverTarget, key: any) => void) | null\n  /** The `Auto` object for the current `withAuto` component being rendered. */\n  auto: Auto | null\n  /** For debugging re-renders. Only called in development. */\n  onRender: OnRender | null\n  /** For spying on every change event. */\n  onChange: ((change: Change) => void) | null\n}\n\nexport const globals: Globals = {\n  observe: null,\n  auto: null,\n  onRender: null,\n  onChange: null,\n}\n\n/** Tell the current observer to track the given object/key pair  */\nexport const observe = (target: ObserverTarget, key: any) =>\n  !!globals.observe && (globals.observe(target, key), true)\n","/** For accessing the proxied state */\nexport const $$ = Symbol.for('wana:state')\n\n/** For storing observers and the observable proxy */\nexport const $O = Symbol.for('wana:observable')\n\n/** For observing \"size\" changes */\nexport const SIZE = Symbol.for('wana:size')\n\n/** For injecting custom proxy traps */\nexport const $T = Symbol.for('wana:traps')\n"],"names":[],"mappings":"MAOa,aAA6B,OAAO,OAAO;MAE3C,YAAY,CAAC,KAAU,KAAU,UAC5C,OAAO,eAAe,KAAK,KAAK,CAAE,OAAO,cAAc;sBAE5B,OAAc;AACzC,QAAM;AAAA;MAGK,OAAO,MAAM;AAAA;MAEb,OAAO,MAAM;MAEb,OAAY,MAAM;AAC7B,QAAM,MAAM;AAAA;MAGD,SAAS,SAAS,KAAK,KAAK,GAAG;MAK/B,mBAAmB,OAAO;uBAET,MAAc,KAAU;AACpD,MAAI;AACJ,MAAI,QAAQ;AACZ,KAAG;AACD,QAAK,OAAO,iBAAiB,OAAO,MAAO;AACzC,aAAO;AAAA;AAAA,WAED,QAAQ,OAAO,eAAe;AAAA;;MClB7B,UAAmB;AAAA,EAC9B,SAAS;AAAA,EACT,MAAM;AAAA,EACN,UAAU;AAAA,EACV,UAAU;AAAA;MAIC,UAAU,CAAC,QAAwB,QAC9C,CAAC,CAAC,QAAQ,oBAAoB,QAAQ,QAAQ,MAAM;;MC5BzC,KAAK,OAAO,IAAI;MAGhB,KAAK,OAAO,IAAI;MAGhB,OAAO,OAAO,IAAI;MAGlB,KAAK,OAAO,IAAI;;;;"}