UNPKG

woby

Version:

A high-performance framework with fine-grained observable/signal-based reactivity for building rich applications.

1 lines 1.65 kB
{"version":3,"file":"wrap_clone_element-C4XivH3I.cjs","sources":["../src/methods/wrap_element.ts","../src/methods/wrap_clone_element.ts"],"sourcesContent":["\r\n/* IMPORT */\r\n\r\nimport { SYMBOL_UNTRACKED_UNWRAPPED } from '../constants'\r\nimport { DEBUGGER, Stack } from 'soby'\r\nexport const SYMBOL_STACK = Symbol('STACK')\r\n\r\n/* MAIN */\r\nexport interface StackTaggedFunction extends Function {\r\n [SYMBOL_STACK]?: Stack\r\n}\r\n\r\n\r\nconst wrapElement = <T extends Function>(element: T): T & StackTaggedFunction => {\r\n\r\n element[SYMBOL_UNTRACKED_UNWRAPPED] = true\r\n if (DEBUGGER.test)\r\n element[SYMBOL_STACK] = new Stack(\"createElement\")\r\n\r\n return element\r\n\r\n}\r\n\r\n/* EXPORT */\r\n\r\nexport default wrapElement","import { SYMBOL_CLONE } from '../constants'\r\nimport type { Component, Child, Refs } from '../types'\r\n\r\nexport interface CloneableType<P extends { children?: Child, ref?: Refs } = { children?: Child, ref?: Refs } /* extends Props */> {\r\n Component: Component<P>\r\n props?: P | null\r\n};\r\n\r\nexport const wrapCloneElement = <T, P /* extends Props */>(target: T, component: Component<P>, props?: P | null) => {\r\n target[SYMBOL_CLONE] = { Component: component, props } as CloneableType\r\n return target\r\n}\r\n"],"names":["SYMBOL_UNTRACKED_UNWRAPPED","DEBUGGER","Stack","SYMBOL_CLONE"],"mappings":";;AAKO,MAAM,eAAe,OAAO,OAAO;AAQ1C,MAAM,cAAc,CAAqB,YAAwC;AAE/E,UAAQA,QAAAA,0BAA0B,IAAI;AACtC,MAAIC,QAAAA,SAAS;AACX,YAAQ,YAAY,IAAI,IAAIC,QAAAA,MAAM,eAAe;AAEnD,SAAO;AAET;ACbO,MAAM,mBAAmB,CAA2B,QAAW,WAAyB,UAAqB;AAClH,SAAOC,QAAAA,YAAY,IAAI,EAAE,WAAW,WAAW,MAAA;AAC/C,SAAO;AACT;;;;"}