@pravosleva/reactive-engine 2.1.1-beta → 2.1.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/react/hooks/useReactiveValue.cjs +1 -1
- package/dist/react/hooks/useReactiveValue.cjs.map +1 -1
- package/dist/react/hooks/useReactiveValue.d.ts.map +1 -1
- package/dist/react/hooks/useReactiveValue.mjs +16 -13
- package/dist/react/hooks/useReactiveValue.mjs.map +1 -1
- package/dist/react/index.cjs +1 -1
- package/dist/react/index.cjs.map +1 -1
- package/dist/react/index.d.ts +16 -2
- package/dist/react/index.d.ts.map +1 -1
- package/dist/react/index.mjs +2 -2
- package/dist/react/index.mjs.map +1 -1
- package/dist/reactive-engine.umd.js +1 -1
- package/package.json +1 -1
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
let e=require("react");function t(t){let n=t&&typeof t==`object`&&`__subscribe`in t;if(!(t&&typeof t==`object`&&`subscribe`in t)&&!n)return t;let r=
|
|
1
|
+
let e=require("react");function t(t){let n=t&&typeof t==`object`&&`__subscribe`in t;if(!(t&&typeof t==`object`&&`subscribe`in t)&&!n)return t;let r=t._node||t,i=r.engine||t.engine,[a,o]=(0,e.useState)(0);return(0,e.useSyncExternalStore)((0,e.useMemo)(()=>e=>{let n=()=>{o(e=>e+1),e()};return r.type!==`computed`&&`__subscribe`in t&&typeof t.__subscribe==`function`?t.__subscribe(n):t.subscribe(n)},[t,r,i]),()=>a,()=>0),(0,e.useDebugValue)(a),i&&`untrack`in i?i.untrack(()=>t.value===void 0?t:t.value):t.value===void 0?t:t.value}exports.useReactiveValue=t;
|
|
2
2
|
//# sourceMappingURL=useReactiveValue.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useReactiveValue.cjs","names":[],"sources":["../../../src/react/hooks/useReactiveValue.ts"],"sourcesContent":["import {
|
|
1
|
+
{"version":3,"file":"useReactiveValue.cjs","names":[],"sources":["../../../src/react/hooks/useReactiveValue.ts"],"sourcesContent":["import { useSyncExternalStore, useDebugValue, useState, useMemo } from 'react'\nimport { ISignalLike } from '../../core/types'\n\nexport function useReactiveValue<V>(signal: ISignalLike<V> | any): V {\n const isProxy = signal && typeof signal === 'object' && '__subscribe' in signal\n const isSignal = signal && typeof signal === 'object' && 'subscribe' in signal\n\n if (!isSignal && !isProxy) {\n return signal\n }\n\n const rawNode = (signal as any)._node || signal\n const engine = rawNode.engine || (signal as any).engine\n\n // Использование локального стейта-счетчика версий гарантирует,\n // что Object.is() внутри React 18 Concurrent Mode взведется в false \n // для любых ссылочных типов, массивов и примитивов вычислений!\n const [localVersion, setLocalVersion] = useState(0)\n\n // 🟢 КАНОНИЧЕСКИЙ АКТИВНЫЙ ВЕРСИОННЫЙ МОСТ (Идемпотентный Snap)\n useSyncExternalStore(\n // Фаза подписки: Изумительно будит ленивые computed-ноды за счет \n // вызова оригинального метода .subscribe(), который вешает активный эффект ядра!\n useMemo(() => (onStoreChange: () => void) => {\n const triggerStoreRerender = () => {\n // Синхронно инкрементируем локальную версию хука\n setLocalVersion((v) => v + 1)\n onStoreChange()\n }\n\n // Для Proxy-объектов используем пассивный хук транзакций,\n // но для Сигналов и Computed — строго честный, активный .subscribe()!\n if (rawNode.type !== 'computed' && '__subscribe' in signal && typeof (signal as any).__subscribe === 'function') {\n return (signal as any).__subscribe(triggerStoreRerender)\n }\n \n return signal.subscribe(triggerStoreRerender)\n }, [signal, rawNode, engine]),\n \n // getSnapshot: Кристально чистая, детерминированная O(1) операция!\n // Возвращает примитивное число локальной версии. Никаких деструктивных вызовов \n // .run() или геттеров внутри снапшота — абсолютная защита от Render Loop!\n () => localVersion,\n \n // Снапшот для сервера (SSR)\n () => 0\n )\n\n useDebugValue(localVersion)\n\n // ⚛️ ТОПОЛОГИЧЕСКАЯ АКТУАЛИЗАЦИЯ И ИЗОЛЯЦИЯ ФАЗЫ РЕНДЕРА (Topological Pull):\n // В теле рендера компонента React мы вызываем оригинальный публичный геттер .value.\n // Но делаем это строго внутри engine.untrack(), полностью исключая появление \n // избыточных транзакций ядра, зацикливаний и холостых логов во время рендера React!\n if (engine && 'untrack' in engine) {\n return engine.untrack(() => (signal.value !== undefined ? signal.value : signal))\n }\n\n return signal.value !== undefined ? signal.value : signal\n}\n"],"mappings":"uBAGA,SAAgB,EAAoB,EAAiC,CACnE,IAAM,EAAU,GAAU,OAAO,GAAW,UAAY,gBAAiB,EAGzE,GAAI,EAFa,GAAU,OAAO,GAAW,UAAY,cAAe,IAEvD,CAAC,EAChB,OAAO,EAGT,IAAM,EAAW,EAAe,OAAS,EACnC,EAAS,EAAQ,QAAW,EAAe,OAK3C,CAAC,EAAc,IAAA,EAAA,EAAA,SAAA,CAA4B,CAAC,EAyClD,OAtCA,EAAA,EAAA,qBAAA,EAAA,EAAA,EAAA,QAAA,KAGiB,GAA8B,CAC3C,IAAM,MAA6B,CAEjC,EAAiB,GAAM,EAAI,CAAC,EAC5B,EAAc,CAChB,EAQA,OAJI,EAAQ,OAAS,YAAc,gBAAiB,GAAU,OAAQ,EAAe,aAAgB,WAC3F,EAAe,YAAY,CAAoB,EAGlD,EAAO,UAAU,CAAoB,CAC9C,EAAG,CAAC,EAAQ,EAAS,CAAM,CAAC,MAKtB,MAGA,CACR,GAEA,EAAA,EAAA,cAAA,CAAc,CAAY,EAMtB,GAAU,YAAa,EAClB,EAAO,YAAe,EAAO,QAAU,IAAA,GAA2B,EAAf,EAAO,KAAe,EAG3E,EAAO,QAAU,IAAA,GAA2B,EAAf,EAAO,KAC7C"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useReactiveValue.d.ts","sourceRoot":"","sources":["../../../src/react/hooks/useReactiveValue.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAE9C,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC,
|
|
1
|
+
{"version":3,"file":"useReactiveValue.d.ts","sourceRoot":"","sources":["../../../src/react/hooks/useReactiveValue.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAE9C,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC,CAwDnE"}
|
|
@@ -1,18 +1,21 @@
|
|
|
1
|
-
import { useDebugValue as e,
|
|
1
|
+
import { useDebugValue as e, useMemo as t, useState as n, useSyncExternalStore as r } from "react";
|
|
2
2
|
//#region src/react/hooks/useReactiveValue.ts
|
|
3
|
-
function
|
|
4
|
-
let
|
|
5
|
-
if (!(
|
|
6
|
-
let
|
|
7
|
-
return t(() => {
|
|
8
|
-
let
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
3
|
+
function i(i) {
|
|
4
|
+
let a = i && typeof i == "object" && "__subscribe" in i;
|
|
5
|
+
if (!(i && typeof i == "object" && "subscribe" in i) && !a) return i;
|
|
6
|
+
let o = i._node || i, s = o.engine || i.engine, [c, l] = n(0);
|
|
7
|
+
return r(t(() => (e) => {
|
|
8
|
+
let t = () => {
|
|
9
|
+
l((e) => e + 1), e();
|
|
10
|
+
};
|
|
11
|
+
return o.type !== "computed" && "__subscribe" in i && typeof i.__subscribe == "function" ? i.__subscribe(t) : i.subscribe(t);
|
|
12
|
+
}, [
|
|
13
|
+
i,
|
|
14
|
+
o,
|
|
15
|
+
s
|
|
16
|
+
]), () => c, () => 0), e(c), s && "untrack" in s ? s.untrack(() => i.value === void 0 ? i : i.value) : i.value === void 0 ? i : i.value;
|
|
14
17
|
}
|
|
15
18
|
//#endregion
|
|
16
|
-
export {
|
|
19
|
+
export { i as useReactiveValue };
|
|
17
20
|
|
|
18
21
|
//# sourceMappingURL=useReactiveValue.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useReactiveValue.mjs","names":[],"sources":["../../../src/react/hooks/useReactiveValue.ts"],"sourcesContent":["import {
|
|
1
|
+
{"version":3,"file":"useReactiveValue.mjs","names":[],"sources":["../../../src/react/hooks/useReactiveValue.ts"],"sourcesContent":["import { useSyncExternalStore, useDebugValue, useState, useMemo } from 'react'\nimport { ISignalLike } from '../../core/types'\n\nexport function useReactiveValue<V>(signal: ISignalLike<V> | any): V {\n const isProxy = signal && typeof signal === 'object' && '__subscribe' in signal\n const isSignal = signal && typeof signal === 'object' && 'subscribe' in signal\n\n if (!isSignal && !isProxy) {\n return signal\n }\n\n const rawNode = (signal as any)._node || signal\n const engine = rawNode.engine || (signal as any).engine\n\n // Использование локального стейта-счетчика версий гарантирует,\n // что Object.is() внутри React 18 Concurrent Mode взведется в false \n // для любых ссылочных типов, массивов и примитивов вычислений!\n const [localVersion, setLocalVersion] = useState(0)\n\n // 🟢 КАНОНИЧЕСКИЙ АКТИВНЫЙ ВЕРСИОННЫЙ МОСТ (Идемпотентный Snap)\n useSyncExternalStore(\n // Фаза подписки: Изумительно будит ленивые computed-ноды за счет \n // вызова оригинального метода .subscribe(), который вешает активный эффект ядра!\n useMemo(() => (onStoreChange: () => void) => {\n const triggerStoreRerender = () => {\n // Синхронно инкрементируем локальную версию хука\n setLocalVersion((v) => v + 1)\n onStoreChange()\n }\n\n // Для Proxy-объектов используем пассивный хук транзакций,\n // но для Сигналов и Computed — строго честный, активный .subscribe()!\n if (rawNode.type !== 'computed' && '__subscribe' in signal && typeof (signal as any).__subscribe === 'function') {\n return (signal as any).__subscribe(triggerStoreRerender)\n }\n \n return signal.subscribe(triggerStoreRerender)\n }, [signal, rawNode, engine]),\n \n // getSnapshot: Кристально чистая, детерминированная O(1) операция!\n // Возвращает примитивное число локальной версии. Никаких деструктивных вызовов \n // .run() или геттеров внутри снапшота — абсолютная защита от Render Loop!\n () => localVersion,\n \n // Снапшот для сервера (SSR)\n () => 0\n )\n\n useDebugValue(localVersion)\n\n // ⚛️ ТОПОЛОГИЧЕСКАЯ АКТУАЛИЗАЦИЯ И ИЗОЛЯЦИЯ ФАЗЫ РЕНДЕРА (Topological Pull):\n // В теле рендера компонента React мы вызываем оригинальный публичный геттер .value.\n // Но делаем это строго внутри engine.untrack(), полностью исключая появление \n // избыточных транзакций ядра, зацикливаний и холостых логов во время рендера React!\n if (engine && 'untrack' in engine) {\n return engine.untrack(() => (signal.value !== undefined ? signal.value : signal))\n }\n\n return signal.value !== undefined ? signal.value : signal\n}\n"],"mappings":";;AAGA,SAAgB,EAAoB,GAAiC;CACnE,IAAM,IAAU,KAAU,OAAO,KAAW,YAAY,iBAAiB;CAGzE,IAAI,EAFa,KAAU,OAAO,KAAW,YAAY,eAAe,MAEvD,CAAC,GAChB,OAAO;CAGT,IAAM,IAAW,EAAe,SAAS,GACnC,IAAS,EAAQ,UAAW,EAAe,QAK3C,CAAC,GAAc,KAAmB,EAAS,CAAC;CAyClD,OAtCA,EAGE,SAAe,MAA8B;EAC3C,IAAM,UAA6B;GAGjC,AADA,GAAiB,MAAM,IAAI,CAAC,GAC5B,EAAc;EAChB;EAQA,OAJI,EAAQ,SAAS,cAAc,iBAAiB,KAAU,OAAQ,EAAe,eAAgB,aAC3F,EAAe,YAAY,CAAoB,IAGlD,EAAO,UAAU,CAAoB;CAC9C,GAAG;EAAC;EAAQ;EAAS;CAAM,CAAC,SAKtB,SAGA,CACR,GAEA,EAAc,CAAY,GAMtB,KAAU,aAAa,IAClB,EAAO,cAAe,EAAO,UAAU,KAAA,IAA2B,IAAf,EAAO,KAAe,IAG3E,EAAO,UAAU,KAAA,IAA2B,IAAf,EAAO;AAC7C"}
|
package/dist/react/index.cjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../core.cjs"),t=require("./hooks/useReactiveValue.cjs"),n=require("./hooks/useReactiveSubscription.cjs");var r=class extends e.ReactiveEngine{use(e){return t.useReactiveValue(e)}};exports.ReactiveEngine=
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../core.cjs"),t=require("./hooks/useReactiveValue.cjs"),n=require("./hooks/useReactiveSubscription.cjs");var r=t.useReactiveValue,i=class extends e.ReactiveEngine{use(e){return t.useReactiveValue(e)}};exports.ReactiveEngine=i,exports.use=r,exports.useReactiveSubscription=n.useReactiveSubscription,exports.useReactiveValue=t.useReactiveValue;
|
|
2
2
|
//# sourceMappingURL=index.cjs.map
|
package/dist/react/index.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs","names":[],"sources":["../../src/react/index.ts"],"sourcesContent":["// Точка входа субпакета \"@pravosleva/reactive-engine/react\"\nimport { ReactiveEngineCore } from '../core/core'\nimport { useReactiveValue } from './hooks/useReactiveValue'\nimport { ISignalLike } from '../core/types'\n\
|
|
1
|
+
{"version":3,"file":"index.cjs","names":[],"sources":["../../src/react/index.ts"],"sourcesContent":["// Точка входа субпакета \"@pravosleva/reactive-engine/react\"\nimport { ReactiveEngineCore } from '../core/core'\nimport { useReactiveValue } from './hooks/useReactiveValue'\nimport { ISignalLike } from '../core/types'\n\n/**\n * 🟢 КАНОНИЧЕСКИЙ ИНТЕРФЕЙС ПЕРЕГРУЗОК ТИПОВ ДЛЯ СВОБОДНОЙ ФУНКЦИИ-ХУКА\n * Гарантирует автовыведение типов (V или T) в тестах и компонентах без кастов к any!\n */\nexport interface IUseReactiveHook {\n <V>(item: ISignalLike<V>): V;\n <T>(item: T): T;\n}\n\n/**\n * Экспортируем хук под именем use с жестким сохранением перегрузок типов дженерика\n */\nexport const use: IUseReactiveHook = useReactiveValue as any;\n\n/**\n * Расширенная версия движка ядра для ООП/DI паттернов в React-среде\n */\nexport class ReactiveEngine extends ReactiveEngineCore {\n /**\n * Сценарий 1: На вход подан легитимный реактивный примитив (Signal или Computed)\n */\n public use<V>(item: ISignalLike<V>): V;\n\n /**\n * Сценарий 2: На вход подан Proxy-объект, массив или обычный примитив\n */\n public use<T>(item: T): T;\n\n /**\n * Исполняемая сигнатура метода экземпляра класса движка\n */\n public use(item: any): any {\n return useReactiveValue(item)\n }\n}\n\n// Сохраняем остальные экспорты пакета\nexport { useReactiveValue }\nexport { useReactiveSubscription } from './hooks/useReactiveSubscription'\n"],"mappings":"6LAiBA,IAAa,EAAwB,EAAA,iBAKxB,EAAb,cAAoC,EAAA,cAAmB,CAcrD,IAAW,EAAgB,CACzB,OAAO,EAAA,iBAAiB,CAAI,CAC9B,CACF"}
|
package/dist/react/index.d.ts
CHANGED
|
@@ -1,7 +1,22 @@
|
|
|
1
1
|
import { ReactiveEngineCore } from '../core/core';
|
|
2
2
|
import { useReactiveValue } from './hooks/useReactiveValue';
|
|
3
3
|
import { ISignalLike } from '../core/types';
|
|
4
|
-
|
|
4
|
+
/**
|
|
5
|
+
* 🟢 КАНОНИЧЕСКИЙ ИНТЕРФЕЙС ПЕРЕГРУЗОК ТИПОВ ДЛЯ СВОБОДНОЙ ФУНКЦИИ-ХУКА
|
|
6
|
+
* Гарантирует автовыведение типов (V или T) в тестах и компонентах без кастов к any!
|
|
7
|
+
*/
|
|
8
|
+
export interface IUseReactiveHook {
|
|
9
|
+
<V>(item: ISignalLike<V>): V;
|
|
10
|
+
<T>(item: T): T;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Экспортируем хук под именем use с жестким сохранением перегрузок типов дженерика
|
|
14
|
+
*/
|
|
15
|
+
export declare const use: IUseReactiveHook;
|
|
16
|
+
/**
|
|
17
|
+
* Расширенная версия движка ядра для ООП/DI паттернов в React-среде
|
|
18
|
+
*/
|
|
19
|
+
export declare class ReactiveEngine extends ReactiveEngineCore {
|
|
5
20
|
/**
|
|
6
21
|
* Сценарий 1: На вход подан легитимный реактивный примитив (Signal или Computed)
|
|
7
22
|
*/
|
|
@@ -11,7 +26,6 @@ declare class ExtendedReactiveEngine extends ReactiveEngineCore {
|
|
|
11
26
|
*/
|
|
12
27
|
use<T>(item: T): T;
|
|
13
28
|
}
|
|
14
|
-
export { ExtendedReactiveEngine as ReactiveEngine, useReactiveValue as use };
|
|
15
29
|
export { useReactiveValue };
|
|
16
30
|
export { useReactiveSubscription } from './hooks/useReactiveSubscription';
|
|
17
31
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/react/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAA;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAA;AAC3D,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAE3C,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/react/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAA;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAA;AAC3D,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAE3C;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAC/B,CAAC,CAAC,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IAC7B,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC;CACjB;AAED;;GAEG;AACH,eAAO,MAAM,GAAG,EAAE,gBAA0C,CAAC;AAE7D;;GAEG;AACH,qBAAa,cAAe,SAAQ,kBAAkB;IACpD;;OAEG;IACI,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC;IAEtC;;OAEG;IACI,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,GAAG,CAAC;CAQ1B;AAGD,OAAO,EAAE,gBAAgB,EAAE,CAAA;AAC3B,OAAO,EAAE,uBAAuB,EAAE,MAAM,iCAAiC,CAAA"}
|
package/dist/react/index.mjs
CHANGED
|
@@ -2,12 +2,12 @@ import { ReactiveEngine as e } from "../core.mjs";
|
|
|
2
2
|
import { useReactiveValue as t } from "./hooks/useReactiveValue.mjs";
|
|
3
3
|
import { useReactiveSubscription as n } from "./hooks/useReactiveSubscription.mjs";
|
|
4
4
|
//#region src/react/index.ts
|
|
5
|
-
var r = class extends e {
|
|
5
|
+
var r = t, i = class extends e {
|
|
6
6
|
use(e) {
|
|
7
7
|
return t(e);
|
|
8
8
|
}
|
|
9
9
|
};
|
|
10
10
|
//#endregion
|
|
11
|
-
export {
|
|
11
|
+
export { i as ReactiveEngine, r as use, n as useReactiveSubscription, t as useReactiveValue };
|
|
12
12
|
|
|
13
13
|
//# sourceMappingURL=index.mjs.map
|
package/dist/react/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","names":[],"sources":["../../src/react/index.ts"],"sourcesContent":["// Точка входа субпакета \"@pravosleva/reactive-engine/react\"\nimport { ReactiveEngineCore } from '../core/core'\nimport { useReactiveValue } from './hooks/useReactiveValue'\nimport { ISignalLike } from '../core/types'\n\
|
|
1
|
+
{"version":3,"file":"index.mjs","names":[],"sources":["../../src/react/index.ts"],"sourcesContent":["// Точка входа субпакета \"@pravosleva/reactive-engine/react\"\nimport { ReactiveEngineCore } from '../core/core'\nimport { useReactiveValue } from './hooks/useReactiveValue'\nimport { ISignalLike } from '../core/types'\n\n/**\n * 🟢 КАНОНИЧЕСКИЙ ИНТЕРФЕЙС ПЕРЕГРУЗОК ТИПОВ ДЛЯ СВОБОДНОЙ ФУНКЦИИ-ХУКА\n * Гарантирует автовыведение типов (V или T) в тестах и компонентах без кастов к any!\n */\nexport interface IUseReactiveHook {\n <V>(item: ISignalLike<V>): V;\n <T>(item: T): T;\n}\n\n/**\n * Экспортируем хук под именем use с жестким сохранением перегрузок типов дженерика\n */\nexport const use: IUseReactiveHook = useReactiveValue as any;\n\n/**\n * Расширенная версия движка ядра для ООП/DI паттернов в React-среде\n */\nexport class ReactiveEngine extends ReactiveEngineCore {\n /**\n * Сценарий 1: На вход подан легитимный реактивный примитив (Signal или Computed)\n */\n public use<V>(item: ISignalLike<V>): V;\n\n /**\n * Сценарий 2: На вход подан Proxy-объект, массив или обычный примитив\n */\n public use<T>(item: T): T;\n\n /**\n * Исполняемая сигнатура метода экземпляра класса движка\n */\n public use(item: any): any {\n return useReactiveValue(item)\n }\n}\n\n// Сохраняем остальные экспорты пакета\nexport { useReactiveValue }\nexport { useReactiveSubscription } from './hooks/useReactiveSubscription'\n"],"mappings":";;;;AAiBA,IAAa,IAAwB,GAKxB,IAAb,cAAoC,EAAmB;CAcrD,IAAW,GAAgB;EACzB,OAAO,EAAiB,CAAI;CAC9B;AACF"}
|