{"version":3,"file":"ngxtension-create-signal.mjs","sources":["../../../../libs/ngxtension/create-signal/src/create-signal.ts","../../../../libs/ngxtension/create-signal/src/ngxtension-create-signal.ts"],"sourcesContent":["import {\n\tcomputed,\n\tsignal,\n\ttype Signal,\n\ttype WritableSignal,\n} from '@angular/core';\n\n/**\n * Creates a writable signal with a `value` property.\n *\n * @example\n * const state = createSignal({ count: 0 });\n *\n * effect(() => {\n *  // Works as expected\n *  console.log(state.value.count);\n * })\n *\n * // Effect will log: 1\n *\n * state.value = { count: 1 }; // Sets the value\n * // Effect will log: 1\n *\n * double = createComputed(() => state.value.count * 2);\n *\n * console.log(double.value); // Logs 2\n *\n * @param args - Arguments to pass to `signal()`.\n * @returns A writable signal with a `value` property.\n */\nexport function createSignal<T>(\n\t...args: Parameters<typeof signal<T>>\n): WritableSignal<T> & { value: T } {\n\tconst sig = signal<T>(...args);\n\treturn Object.defineProperty(sig, 'value', {\n\t\tget: sig.asReadonly(),\n\t\tset: sig.set.bind(sig),\n\t}) as WritableSignal<T> & { value: T };\n}\n\n/**\n * Creates a computed signal with a `value` property.\n * @param args - Arguments to pass to `computed()`.\n * @returns A computed signal with a `value` property.\n * @see createSignal\n */\nexport function createComputed<T>(\n\t...args: Parameters<typeof computed<T>>\n): Signal<T> & { value: T } {\n\tconst sig = computed<T>(...args);\n\treturn Object.defineProperty(sig, 'value', { get: sig }) as Signal<T> & {\n\t\tvalue: T;\n\t};\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;AAOA;;;;;;;;;;;;;;;;;;;;;;AAsBG;AACa,SAAA,YAAY,CAC3B,GAAG,IAAkC,EAAA;AAErC,IAAA,MAAM,GAAG,GAAG,MAAM,CAAI,GAAG,IAAI,CAAC,CAAC;AAC/B,IAAA,OAAO,MAAM,CAAC,cAAc,CAAC,GAAG,EAAE,OAAO,EAAE;AAC1C,QAAA,GAAG,EAAE,GAAG,CAAC,UAAU,EAAE;QACrB,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC;AACtB,KAAA,CAAqC,CAAC;AACxC,CAAC;AAED;;;;;AAKG;AACa,SAAA,cAAc,CAC7B,GAAG,IAAoC,EAAA;AAEvC,IAAA,MAAM,GAAG,GAAG,QAAQ,CAAI,GAAG,IAAI,CAAC,CAAC;AACjC,IAAA,OAAO,MAAM,CAAC,cAAc,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,CAEtD,CAAC;AACH;;ACrDA;;AAEG;;;;"}