{"version":3,"file":"index.mjs","sources":["../node_modules/.pnpm/effector@23.0.0/node_modules/effector/inspect.mjs","../src/lib.ts","../src/logger.ts","../src/index.ts"],"sourcesContent":["function e(e){return c.add(e),n((()=>{c.delete(e)}))}function t(e){return s.add(e),n((()=>{s.delete(e)}))}function n(e){const t=()=>e();return t.unsubscribe=t,t}function i(e){return d(e.node)}function d(e){const{meta:t,id:n}=e,i=(e=>e.config?e.config.loc:e.loc)(t),{sid:d,name:o,op:r}=t;return{meta:t,id:n,sid:d,name:o,kind:r,loc:i,derived:t.derived}}function o(e){if(!e)return;const{parent:t,meta:n,id:i}=e,d=o(t)||void 0;if('factory'===n.type){const{sid:e,name:t,loc:o,method:r}=n;return{type:'factory',id:i,region:d,meta:n,sid:e,name:t,loc:o,method:r}}return{type:'region',id:i,region:d,meta:n}}import{setInspector as r,setGraphInspector as a}from'effector/effector.mjs';const c=new Set;r(((e,t)=>{const{scope:n}=e,d=i(e);let o;c.forEach((r=>{r.scope!==n&&(r.scope||n)||(r.trace&&!o&&(o=(e=>{const t=[];let n=e.parent;for(;n;){const e=i(n);t.push({type:'update',value:n.value,stack:n.meta||{},meta:e.meta,id:e.id,sid:e.sid,name:e.name,kind:e.kind,loc:e.loc,derived:e.derived}),n=n.parent}return t})(e)),r.fn({type:t.fail?'error':'update',value:e.value,error:t.fail?t.failReason:void 0,stack:e.meta||{},trace:r.trace?o:[],meta:d.meta,id:d.id,sid:d.sid,name:d.name,kind:d.kind,loc:d.loc,derived:d.derived}))}))}));const s=new Set;a(((e,t)=>{let n;n='region'===e?o(t):((e,t)=>{const n=d(e);return{type:'unit',region:o(t),meta:n.meta,id:n.id,sid:n.sid,name:n.name,kind:n.kind,loc:n.loc,derived:n.derived}})(e,t),n&&s.forEach((e=>{e.fn(n)}))}));export{e as inspect,t as inspectGraph};\n//# sourceMappingURL=inspect.mjs.map\n","/* eslint-disable @typescript-eslint/camelcase */\n/* eslint-disable @typescript-eslint/explicit-function-return-type */\n/* eslint-disable @typescript-eslint/no-explicit-any */\n/* eslint-disable @typescript-eslint/no-use-before-define */\nimport type { Message, Declaration } from 'effector/inspect';\nimport type { Unit, Node, Scope } from 'effector';\n\nexport function getName(m: Message | Declaration, loggerName: string) {\n  const finalName = m.name || locToString(m.loc) || `unknown_${m.id}`;\n\n  if (!loggerName) return finalName;\n\n  return `(${loggerName}) ${finalName}`;\n}\nexport function locToString(loc: any) {\n  if (!loc) return null;\n  return `${loc.file}:${loc.line}:${loc.column}`;\n}\nexport function getNode(unit: Unit<any>) {\n  return (unit as any).graphite as Node;\n}\n\nexport function getStateFromDeclaration(d: Declaration, scope?: Scope) {\n  if (scope) {\n    return HACK_readStateFromScope(d, scope);\n  }\n\n  return d.meta.defaultState;\n}\n\nfunction HACK_readStateFromScope(d: Declaration, scope: Scope) {\n  const stateRefId = d.meta.rootStateRefId as any;\n\n  const scopeRef = (scope as any).reg[stateRefId];\n\n  if (scopeRef) {\n    return scopeRef.current;\n  }\n\n  if (stateRefId in (scope as any).values.idMap) {\n    return { value: (scope as any).values.idMap[stateRefId] };\n  }\n\n  const sid = d.meta.sid as any;\n\n  if (sid && sid in (scope as any).values.sidMap) {\n    return (scope as any).values.sidMap[sid];\n  }\n\n  return d.meta.defaultState;\n}\n","/* eslint-disable @typescript-eslint/no-explicit-any */\nimport debounce from 'just-debounce-it';\nimport isNode from 'detect-node';\nimport { inspectGraph, Declaration } from 'effector/inspect';\nimport { Scope } from 'effector';\n\nimport { getName, locToString, getStateFromDeclaration } from './lib';\n\nconst SEPARATOR = isNode ? '  ' : '';\n\nconst storeListToInit: Array<Declaration> = [];\nconst eventListToInit: Array<Declaration> = [];\nconst effectListToInit: Array<Declaration> = [];\n\ninspectGraph({\n  fn: (d) => {\n    if (!d.derived) {\n      if (d.kind === 'store' && !d.meta.named) {\n        storeListToInit.push(d);\n      }\n      if (d.kind === 'event' && !d.meta.named) {\n        eventListToInit.push(d);\n      }\n      if (d.kind === 'effect' && !d.meta.named) {\n        effectListToInit.push(d);\n      }\n    }\n  },\n});\n\nconst styles = {\n  block: 'padding-left: 4px; padding-right: 4px; font-weight: normal;',\n  chunk: 'padding-left: 4px; padding-right: 4px; font-weight: normal;',\n  effector:\n    'line-height:1.5; color: #000; font-family: \"Apple Emoji Font\"; font-weight: normal !important;',\n  new: 'background-color: #29b6f6; color: #000',\n  store: 'background-color: #7e57c2; color: #fff',\n  event: 'background-color: #9ccc65; color: #000',\n  effect: 'background-color: #26a69a; color: #000',\n  emoji: '',\n  file: 'color: #9e9e9e; padding-left: 20px;',\n  reset: 'color: currentColor; background-color: transparent;',\n};\n\nconst effectorLabel: Block[] = [\n  ['☄️', '%s', styles.effector],\n  ['effector', '%s', 'font-family: Menlo, monospace;'],\n];\n\nconst reset = (index: number, count: number, style: string): string =>\n  index === count - 1 ? styles.reset : style;\n\ntype Block = [string, string, string];\ntype Chunk = [any, string, string];\n\nfunction log(\n  blocks: Block[],\n  chunks: Chunk[],\n  group: 'collapsed' | 'open' | void = undefined,\n): void {\n  const str: string[] = [];\n  const params: any[] = [];\n\n  blocks.unshift(...effectorLabel);\n\n  blocks.forEach(([value, view, style], index) => {\n    str.push(`%c${view}%c`);\n    params.push(\n      `${styles.block} ${style}`,\n      value,\n      reset(index, blocks.length, `${styles.block} ${style}`),\n    );\n  });\n\n  chunks.forEach(([value, view, style]) => {\n    str.push(`%c${view}`);\n    params.push(`${styles.chunk} ${style}`, value);\n  });\n\n  const args = [str.join(SEPARATOR), ...params];\n\n  if (group === 'open') {\n    console.group(...args);\n  } else if (group === 'collapsed') {\n    console.groupCollapsed(...args);\n  } else {\n    console.log(...args);\n  }\n}\n\nconst blockNew: Block = ['new', '%s', styles.new];\n\nconst stripDomain = (name: string) => name.split('/').pop() || name;\n\nconst createBlockStore: (name: string) => Block = (name) => [stripDomain(name), '%s', styles.store];\nconst createBlockEvent: (name: string) => Block = (name) => [stripDomain(name), '%s', styles.event];\nconst createBlockEffect: (name: string) => Block = (name) => [\n  stripDomain(name),\n  '%s',\n  styles.effect,\n];\n\nexport const createDeclarationsLogger = (config: { name: string; scope?: Scope }) =>\n  debounce(() => {\n    const stores = storeListToInit.splice(0, storeListToInit.length);\n    const events = eventListToInit.splice(0, eventListToInit.length);\n    const effects = effectListToInit.splice(0, effectListToInit.length);\n\n    if (stores.length + events.length + effects.length > 0) {\n      log(\n        [blockNew],\n        [\n          ['Initialized', '%s', ''],\n          [`events(${events.length})`, '%s', ''],\n          [`effects(${effects.length})`, '%s', ''],\n          [`stores(${stores.length})`, '%s', ''],\n        ],\n        'collapsed',\n      );\n\n      if (stores.length) {\n        stores.forEach((store) => {\n          const name = getName(store, config.name);\n          const fileName = locToString(store.loc);\n\n          log(\n            [blockNew, createBlockStore(name)],\n            [\n              ['-> ', '%s', ''],\n              [getStateFromDeclaration(store, config.scope), '%o', ''],\n              [fileName, '%s', styles.file],\n              [name, '%s', ''],\n            ],\n          );\n        });\n      }\n      if (events.length > 0) {\n        events.forEach((event) => {\n          const name = getName(event, config.name);\n          const fileName = locToString(event.loc);\n\n          log(\n            [blockNew, createBlockEvent(name)],\n            [\n              [fileName, '%s', styles.file],\n              [name, '%s', ''],\n            ],\n          );\n        });\n      }\n      if (effects.length > 0) {\n        effects.forEach((effect) => {\n          const name = getName(effect, config.name);\n          const fileName = locToString(effect.loc);\n\n          log(\n            [blockNew, createBlockEffect(name)],\n            [\n              [fileName, '%s', styles.file],\n              [name, '%s', ''],\n            ],\n          );\n        });\n      }\n      console.groupEnd();\n    }\n  }, 5);\n\nexport function storeUpdated(name: string, fileName: string, value: any): void {\n  log(\n    [createBlockStore(name)],\n    [\n      ['-> ', '%s', ''],\n      [value, '%o', ''],\n      [fileName, '%s', styles.file],\n      [name, '%s', styles.file],\n    ],\n  );\n}\n\nexport function eventCalled(name: string, fileName: string, payload: any): void {\n  log(\n    [createBlockEvent(name)],\n    [\n      [payload, '%o', 'padding-left: 4px;'],\n      [fileName, '%s', styles.file],\n      [name, '%s', styles.file],\n    ],\n  );\n}\n\nexport function effectCalled(name: string, fileName: string, parameters: any): void {\n  log(\n    [createBlockEffect(name)],\n    [\n      [parameters, '%o', 'padding-left: 4px;'],\n      [fileName, '%s', styles.file],\n      [name, '%s', styles.file],\n    ],\n  );\n}\n\nexport function effectDone(name: string, fileName: string, parameters: any, result: any): void {\n  log(\n    [createBlockEffect(name)],\n    [\n      ['done ✅', '%s', styles.emoji],\n      [parameters, '(%o)', 'padding-left: 4px;'],\n      ['-> ', '%s', ''],\n      [result, '%o', 'padding: 0;'],\n      [fileName, '%s', styles.file],\n      [name, '%s', styles.file],\n    ],\n  );\n}\n\nexport function effectFail(name: string, fileName: string, parameters: any, error: any): void {\n  const instanceofError = error instanceof Error;\n\n  log(\n    [createBlockEffect(name)],\n    [\n      ['fail ❌', '%s', styles.emoji],\n      [parameters, '(%o)', 'padding-left: 4px;'],\n      ['-> ', '%s', ''],\n      instanceofError ? [String(error), '%s', ''] : [error, '%o', 'padding: 0;'],\n      [fileName, '%s', styles.file],\n      [name, '%s', styles.file],\n    ],\n    instanceofError ? 'collapsed' : undefined,\n  );\n\n  if (instanceofError) {\n    log(\n      [],\n      [\n        [' ', '%s', ''],\n        [error, '%o', 'padding-left: 20px;'],\n      ],\n    );\n  }\n\n  console.groupEnd();\n}\n","/* eslint-disable @typescript-eslint/explicit-function-return-type */\n/* eslint-disable @typescript-eslint/no-explicit-any */\n/* eslint-disable @typescript-eslint/no-use-before-define */\nimport { inspect, Message, inspectGraph } from 'effector/inspect';\nimport type { Scope, Unit } from 'effector';\nimport { is } from 'effector';\n\nimport {\n  storeUpdated,\n  eventCalled,\n  effectCalled,\n  effectDone,\n  effectFail,\n  createDeclarationsLogger,\n} from './logger';\nimport { getNode, getName, locToString } from './lib';\n\nconst ignored = new Set<string>();\nconst forceLog = new Set<string>();\nconst fxRunning = new Map<string, string>();\n\nexport function attachLogger(config: { scope?: Scope; name?: string } = {}): () => void {\n  const name = config.name || (config.scope ? `scope: ${getNode(config.scope).id}` : '');\n\n  const logDeclarations = createDeclarationsLogger({\n    name,\n    scope: config.scope,\n  });\n\n  const uninspect = inspect({\n    scope: config.scope || undefined,\n    fn: (m) => {\n      if (\n        /**\n         * Log only non-derived units by default\n         */\n        (isLoggable(m) && !ignored.has(m.id)) ||\n        /**\n         * Log any units if they are forced to be logged\n         */\n        forceLog.has(m.id)\n      ) {\n        log(m, name);\n      }\n    },\n  });\n\n  logDeclarations();\n\n  const uninspectGraph = inspectGraph({\n    fn: () => {\n      logDeclarations();\n    },\n  });\n\n  return () => {\n    uninspect();\n    uninspectGraph();\n  };\n}\n\nexport function configure(\n  unitOrUnits: Unit<any> | Unit<any>[],\n  config: { log: 'disabled' | 'enabled' },\n): void {\n  const units = Array.isArray(unitOrUnits) ? unitOrUnits : [unitOrUnits];\n\n  if (config.log === 'disabled') {\n    units.forEach((unit) => {\n      ignored.add(getNode(unit).id);\n\n      if (is.effect(unit)) {\n        ignored.add(getNode(unit.finally).id);\n      }\n    });\n  }\n  if (config.log === 'enabled') {\n    units.forEach((unit) => {\n      forceLog.add(getNode(unit).id);\n\n      if (is.effect(unit)) {\n        forceLog.add(getNode(unit.finally).id);\n      }\n    });\n  }\n}\n\n// utils\nfunction isLoggable(m: Message) {\n  return isEffectFinally(m) || (!m.meta.derived && m.type === 'update');\n}\nfunction isEffectFinally(m: Message) {\n  return m.kind === 'event' && m.meta.named === 'finally';\n}\nfunction log(m: Message, name: string) {\n  if (m.kind === 'effect') {\n    const fxName = getName(m, name);\n\n    effectCalled(fxName, locToString(m.loc) || '', m.value);\n    fxRunning.set((m.stack as any).fxID, fxName);\n\n    return;\n  }\n  if (isEffectFinally(m)) {\n    const fxName = fxRunning.get((m.stack as any).fxID);\n    if (fxName) {\n      fxRunning.delete((m.stack as any).fxID);\n\n      const finallyValue = m.value as {\n        status: 'fail' | 'done';\n        params: any;\n        result: any;\n        error: any;\n      };\n\n      if (finallyValue.status === 'fail') {\n        effectFail(fxName, locToString(m.loc) || '', finallyValue.params, finallyValue.error);\n      }\n      if (finallyValue.status === 'done') {\n        effectDone(fxName, locToString(m.loc) || '', finallyValue.params, finallyValue.result);\n      }\n    }\n\n    return;\n  }\n  if (m.kind === 'store') {\n    storeUpdated(getName(m, name), locToString(m.loc) || '', m.value);\n\n    return;\n  }\n  if (m.kind === 'event') {\n    eventCalled(getName(m, name), locToString(m.loc) || '', m.value);\n\n    return;\n  }\n}\n"],"names":["r","a","getName","m","loggerName","finalName","name","locToString","loc","id","file","line","column","getNode","unit","graphite","getStateFromDeclaration","d","scope","HACK_readStateFromScope","meta","defaultState","stateRefId","rootStateRefId","scopeRef","reg","current","values","idMap","value","sid","sidMap","SEPARATOR","isNode","storeListToInit","eventListToInit","effectListToInit","inspectGraph","fn","derived","kind","named","push","styles","block","chunk","effector","new","store","event","effect","emoji","reset","effectorLabel","index","count","style","log","blocks","chunks","group","undefined","str","params","unshift","forEach","view","length","args","join","console","groupCollapsed","blockNew","stripDomain","split","pop","createBlockStore","createBlockEvent","createBlockEffect","createDeclarationsLogger","config","debounce","stores","splice","events","effects","fileName","groupEnd","storeUpdated","eventCalled","payload","effectCalled","parameters","effectDone","result","effectFail","error","instanceofError","Error","String","ignored","Set","forceLog","fxRunning","Map","attachLogger","logDeclarations","uninspect","inspect","isLoggable","has","uninspectGraph","configure","unitOrUnits","units","Array","isArray","add","is","finally","isEffectFinally","type","fxName","set","stack","fxID","get","delete","finallyValue","status"],"mappings":"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"}