@pravosleva/reactive-engine 1.7.0-beta → 1.8.0-beta
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/angular/ReactiveEngine4Angular.cjs +1 -1
- package/dist/angular/ReactiveEngine4Angular.cjs.map +1 -1
- package/dist/angular/ReactiveEngine4Angular.d.ts +16 -7
- package/dist/angular/ReactiveEngine4Angular.d.ts.map +1 -1
- package/dist/angular/ReactiveEngine4Angular.mjs +4 -4
- package/dist/angular/ReactiveEngine4Angular.mjs.map +1 -1
- package/dist/angular/core.angular.auto.test.d.ts +2 -0
- package/dist/angular/core.angular.auto.test.d.ts.map +1 -0
- package/dist/angular/core.angular.test.d.ts +2 -0
- package/dist/angular/core.angular.test.d.ts.map +1 -0
- package/dist/angular/index.cjs +1 -1
- package/dist/angular/index.d.ts +2 -2
- package/dist/angular/index.d.ts.map +1 -1
- package/dist/angular/index.mjs +1 -1
- package/dist/angular/rxjs-interop.d.ts +1 -1
- package/dist/angular/rxjs-interop.d.ts.map +1 -1
- package/dist/core/AbstractService.d.ts +3 -3
- package/dist/core/core.auto.test.d.ts +2 -0
- package/dist/core/core.auto.test.d.ts.map +1 -0
- package/dist/core/core.d.ts +105 -366
- package/dist/core/core.d.ts.map +1 -1
- package/dist/core/types.d.ts +102 -72
- package/dist/core/types.d.ts.map +1 -1
- package/dist/core.cjs +1 -1
- package/dist/core.cjs.map +1 -1
- package/dist/core.mjs +497 -414
- package/dist/core.mjs.map +1 -1
- package/dist/index.cjs +1 -1
- package/dist/index.mjs +11 -11
- package/dist/react/ReactiveEngine4React.cjs +1 -1
- package/dist/react/ReactiveEngine4React.cjs.map +1 -1
- package/dist/react/ReactiveEngine4React.d.ts +16 -8
- package/dist/react/ReactiveEngine4React.d.ts.map +1 -1
- package/dist/react/ReactiveEngine4React.mjs +5 -5
- package/dist/react/ReactiveEngine4React.mjs.map +1 -1
- package/dist/react/core.react.auto.test.d.ts +2 -0
- package/dist/react/core.react.auto.test.d.ts.map +1 -0
- package/dist/react/hooks/FilteredCatalog.auto.test.d.ts +2 -0
- package/dist/react/hooks/FilteredCatalog.auto.test.d.ts.map +1 -0
- package/dist/react/hooks/useReactiveSubscription/useReactiveSubscription.auto.test.d.ts +2 -0
- package/dist/react/hooks/useReactiveSubscription/useReactiveSubscription.auto.test.d.ts.map +1 -0
- package/dist/react/hooks/useReactiveValue/useReactiveValue.auto.test.d.ts +2 -0
- package/dist/react/hooks/useReactiveValue/useReactiveValue.auto.test.d.ts.map +1 -0
- package/dist/react/index.cjs +1 -1
- package/dist/react/index.d.ts +2 -2
- package/dist/react/index.d.ts.map +1 -1
- package/dist/react/index.mjs +1 -1
- package/dist/reactive-engine.umd.js +2 -2
- package/dist/reactive-engine.umd.js.map +1 -1
- package/dist/vue/ReactiveEngine4Vue.cjs +1 -1
- package/dist/vue/ReactiveEngine4Vue.cjs.map +1 -1
- package/dist/vue/ReactiveEngine4Vue.d.ts +21 -13
- package/dist/vue/ReactiveEngine4Vue.d.ts.map +1 -1
- package/dist/vue/ReactiveEngine4Vue.mjs +27 -17
- package/dist/vue/ReactiveEngine4Vue.mjs.map +1 -1
- package/dist/vue/composables/useReactiveValue.auto.test.d.ts +2 -0
- package/dist/vue/composables/useReactiveValue.auto.test.d.ts.map +1 -0
- package/dist/vue/core.vue.auto.test.d.ts +2 -0
- package/dist/vue/core.vue.auto.test.d.ts.map +1 -0
- package/dist/vue/core.vue.test.d.ts +2 -0
- package/dist/vue/core.vue.test.d.ts.map +1 -0
- package/dist/vue/index.cjs +1 -1
- package/dist/vue/index.d.ts +1 -1
- package/dist/vue/index.d.ts.map +1 -1
- package/dist/vue/index.mjs +1 -1
- package/package.json +1 -1
- package/dist/angular/ReactiveEngine4Angular.test.d.ts +0 -2
- package/dist/angular/ReactiveEngine4Angular.test.d.ts.map +0 -1
- package/dist/decorators/withThrottleComputed/_withThrottleComputed.d.ts +0 -22
- package/dist/decorators/withThrottleComputed/_withThrottleComputed.d.ts.map +0 -1
- package/dist/utils/getExtractedValues.cjs +0 -2
- package/dist/utils/getExtractedValues.cjs.map +0 -1
- package/dist/utils/getExtractedValues.mjs +0 -24
- package/dist/utils/getExtractedValues.mjs.map +0 -1
- package/dist/vue/ReactiveEngine4Vue.test.d.ts +0 -2
- package/dist/vue/ReactiveEngine4Vue.test.d.ts.map +0 -1
|
@@ -1,23 +1,33 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { ReactiveEngineAutomatic as e } from "../core.mjs";
|
|
2
2
|
import { getCurrentInstance as t, getCurrentScope as n, onScopeDispose as r, onUnmounted as i, shallowRef as a, triggerRef as o } from "vue";
|
|
3
3
|
//#region src/vue/ReactiveEngine4Vue.ts
|
|
4
4
|
var s = class extends e {
|
|
5
|
-
frameworkPrefix = "vue";
|
|
5
|
+
frameworkPrefix = "vue-auto";
|
|
6
6
|
reactive(e, t) {
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
7
|
+
let n = (e) => {
|
|
8
|
+
if (!(!e || typeof e != "object" || Symbol.iterator in e)) {
|
|
9
|
+
Reflect.has(e, "__subscribe") || Object.defineProperty(e, "__subscribe", {
|
|
10
|
+
get: () => (e) => this.effect(() => {
|
|
11
|
+
try {
|
|
12
|
+
JSON.stringify(r);
|
|
13
|
+
} catch {
|
|
14
|
+
Object.values(r);
|
|
15
|
+
}
|
|
16
|
+
e();
|
|
17
|
+
}, "vue-proxy-internal-subscription"),
|
|
18
|
+
configurable: !0,
|
|
19
|
+
enumerable: !1
|
|
20
|
+
}), Reflect.has(e, "__v_skip") || Object.defineProperty(e, "__v_skip", {
|
|
21
|
+
get: () => !0,
|
|
22
|
+
configurable: !0,
|
|
23
|
+
enumerable: !1
|
|
24
|
+
});
|
|
25
|
+
for (let t in e) Object.prototype.hasOwnProperty.call(e, t) && typeof e[t] == "object" && n(e[t]);
|
|
26
|
+
}
|
|
27
|
+
};
|
|
28
|
+
n(e);
|
|
29
|
+
let r = super.reactive(e, t);
|
|
30
|
+
return r;
|
|
21
31
|
}
|
|
22
32
|
use(e) {
|
|
23
33
|
if (typeof e != "object" || !e) return a(e);
|
|
@@ -38,6 +48,6 @@ var s = class extends e {
|
|
|
38
48
|
}
|
|
39
49
|
};
|
|
40
50
|
//#endregion
|
|
41
|
-
export { s as
|
|
51
|
+
export { s as ReactiveEngine4VueAutomatic };
|
|
42
52
|
|
|
43
53
|
//# sourceMappingURL=ReactiveEngine4Vue.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ReactiveEngine4Vue.mjs","names":[],"sources":["../../src/vue/ReactiveEngine4Vue.ts"],"sourcesContent":["import { shallowRef, onUnmounted, getCurrentInstance, getCurrentScope, onScopeDispose, triggerRef, type ShallowRef } from 'vue'\nimport { ReactiveEngine
|
|
1
|
+
{"version":3,"file":"ReactiveEngine4Vue.mjs","names":[],"sources":["../../src/vue/ReactiveEngine4Vue.ts"],"sourcesContent":["import { shallowRef, onUnmounted, getCurrentInstance, getCurrentScope, onScopeDispose, triggerRef, type ShallowRef } from 'vue'\nimport { ReactiveEngine, ReactiveEngineAutomatic } from '../core/core'\nimport { CleanupFn } from '../core/types'\n\nexport interface ISignalLike<V> {\n value: V;\n subscribe: (cb: (v: V) => void) => CleanupFn;\n}\n\n/**\n * 💚 1. СИНХРОННЫЙ РЕАКТИВНЫЙ АДАПТЕР ДЛЯ VUE 3\n * Базируется на плоском синхронном Push/Pull графе ядра.\n */\nexport class ReactiveEngine4Vue extends ReactiveEngine {\n protected override frameworkPrefix = 'vue'\n\n /**\n * Переопределяем метод создания реактивных объектов для Vue-версии движка.\n * Рекурсивно внедряет свойства __subscribe и __v_skip в target, защищая глубокие структуры от Vue 3.\n */\n public override reactive<T extends object>(target: T, name?: string): T {\n // Вспомогательная функция для глубокого рекурсивного внедрения маркеров фреймворка\n const injectVueMarkers = (obj: any) => {\n if (!obj || typeof obj !== 'object' || Symbol.iterator in obj) return\n\n // 1. Внедряем мост подписки __subscribe\n if (!Reflect.has(obj, '__subscribe')) {\n Object.defineProperty(obj, '__subscribe', {\n get: () => {\n return (cb: () => void) => {\n return this.effect(() => {\n try {\n JSON.stringify(originalProxy)\n } catch (e) {\n Object.values(originalProxy as Record<string, unknown>)\n }\n cb()\n }, 'vue-proxy-internal-subscription')\n }\n },\n configurable: true,\n enumerable: false\n })\n }\n\n // 2. Внедряем маркер __v_skip непосредственно в target\n // Благодаря Reflect.get в ядре, этот маркер будет возвращаться для ВСЕХ уровней вложенности графа!\n if (!Reflect.has(obj, '__v_skip')) {\n Object.defineProperty(obj, '__v_skip', {\n get: () => true,\n configurable: true,\n enumerable: false\n })\n }\n\n // Рекурсивно обходим все дочерние свойства, чтобы застраховать вложенные массивы и объекты\n for (const key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key) && typeof obj[key] === 'object') {\n injectVueMarkers(obj[key])\n }\n }\n }\n\n // Запускаем глубокую инжекцию маркеров во все узлы дерева target\n injectVueMarkers(target)\n\n const originalProxy = super.reactive(target, name)\n return originalProxy\n }\n\n /**\n * Использование реактивного значения во Vue-компоненте или EffectScope.\n */\n public use<T>(item: T): T extends ISignalLike<infer V> ? ShallowRef<V> : ShallowRef<T> {\n if (item === null || item === undefined || typeof item !== 'object') {\n const state = shallowRef(item)\n return state as (T extends ISignalLike<infer V> ? ShallowRef<V> : ShallowRef<T>)\n }\n\n const isSignal = 'subscribe' in item && typeof (item as Record<string, unknown>).subscribe === 'function'\n\n if (isSignal) {\n const signalItem = (item as unknown) as ISignalLike<unknown>\n const state = shallowRef(signalItem.value)\n\n const unsubscribe = signalItem.subscribe((newValue) => {\n state.value = newValue\n triggerRef(state)\n })\n\n if (getCurrentInstance()) {\n onUnmounted(() => unsubscribe())\n } else if (getCurrentScope()) {\n onScopeDispose(() => unsubscribe())\n }\n\n return state as (T extends ISignalLike<infer V> ? ShallowRef<V> : ShallowRef<T>)\n }\n\n const state = shallowRef(item)\n\n if ('__subscribe' in item && typeof (item as Record<string, unknown>).__subscribe === 'function') {\n const unsubscribe = ((item as Record<string, unknown>).__subscribe as (cb: () => void) => CleanupFn)(() => {\n triggerRef(state)\n })\n\n if (getCurrentInstance()) {\n onUnmounted(() => unsubscribe())\n } else if (getCurrentScope()) {\n onScopeDispose(() => unsubscribe())\n }\n }\n\n return state as (T extends ISignalLike<infer V> ? ShallowRef<V> : ShallowRef<T>)\n }\n}\n\n/**\n * 🤖 2. АВТОМАТИЧЕСКИЙ РЕАКТИВНЫЙ АДАПТЕР ДЛЯ VUE 3 (АСИНХРОННЫЙ ШЕДУЛЕР)\n * Наследует ReactiveEngineAutomatic и аппаратно склеивает цепочки мутаций в микрозадачи.\n */\nexport class ReactiveEngine4VueAutomatic extends ReactiveEngineAutomatic {\n protected override frameworkPrefix = 'vue-auto'\n\n /**\n * Переопределяем метод создания реактивных объектов для Vue-версии движка.\n * Рекурсивно внедряет свойства __subscribe и __v_skip в target, защищая глубокие структуры от Vue 3.\n */\n public override reactive<T extends object>(target: T, name?: string): T {\n // Вспомогательная функция для глубокого рекурсивного внедрения маркеров фреймворка\n const injectVueMarkers = (obj: any) => {\n if (!obj || typeof obj !== 'object' || Symbol.iterator in obj) return\n\n // 1. Внедряем мост подписки __subscribe\n if (!Reflect.has(obj, '__subscribe')) {\n Object.defineProperty(obj, '__subscribe', {\n get: () => {\n return (cb: () => void) => {\n return this.effect(() => {\n try {\n JSON.stringify(originalProxy)\n } catch (e) {\n Object.values(originalProxy as Record<string, unknown>)\n }\n cb()\n }, 'vue-proxy-internal-subscription')\n }\n },\n configurable: true,\n enumerable: false\n })\n }\n\n // 2. Внедряем маркер __v_skip непосредственно в target\n // Благодаря Reflect.get в ядре, этот маркер будет возвращаться для ВСЕХ уровней вложенности графа!\n if (!Reflect.has(obj, '__v_skip')) {\n Object.defineProperty(obj, '__v_skip', {\n get: () => true,\n configurable: true,\n enumerable: false\n })\n }\n\n // Рекурсивно обходим все дочерние свойства, чтобы застраховать вложенные массивы и объекты\n for (const key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key) && typeof obj[key] === 'object') {\n injectVueMarkers(obj[key])\n }\n }\n }\n\n // Запускаем глубокую инжекцию маркеров во все узлы дерева target\n injectVueMarkers(target)\n\n const originalProxy = super.reactive(target, name)\n return originalProxy\n }\n\n public use<T>(item: T): T extends ISignalLike<infer V> ? ShallowRef<V> : ShallowRef<T> {\n if (item === null || item === undefined || typeof item !== 'object') {\n const state = shallowRef(item)\n return state as (T extends ISignalLike<infer V> ? ShallowRef<V> : ShallowRef<T>)\n }\n\n const isSignal = 'subscribe' in item && typeof (item as Record<string, unknown>).subscribe === 'function'\n\n if (isSignal) {\n const signalItem = (item as unknown) as ISignalLike<unknown>\n const state = shallowRef(signalItem.value)\n\n const unsubscribe = signalItem.subscribe((newValue) => {\n state.value = newValue\n triggerRef(state)\n })\n\n if (getCurrentInstance()) {\n onUnmounted(() => unsubscribe())\n } else if (getCurrentScope()) {\n onScopeDispose(() => unsubscribe())\n }\n\n return state as (T extends ISignalLike<infer V> ? ShallowRef<V> : ShallowRef<T>)\n }\n\n const state = shallowRef(item)\n\n if ('__subscribe' in item && typeof (item as Record<string, unknown>).__subscribe === 'function') {\n const unsubscribe = ((item as Record<string, unknown>).__subscribe as (cb: () => void) => CleanupFn)(() => {\n triggerRef(state) // triggerRef теперь будет вызван строго 1 раз на выходе в Event Loop\n })\n\n if (getCurrentInstance()) {\n onUnmounted(() => unsubscribe())\n } else if (getCurrentScope()) {\n onScopeDispose(() => unsubscribe())\n }\n }\n\n return state as (T extends ISignalLike<infer V> ? ShallowRef<V> : ShallowRef<T>)\n }\n}\n"],"mappings":";;;AAyHA,IAAa,IAAb,cAAiD,EAAwB;CACvE,kBAAqC;CAMrC,SAA2C,GAAW,GAAkB;EAEtE,IAAM,KAAoB,MAAa;GACjC,OAAC,KAAO,OAAO,KAAQ,YAAY,OAAO,YAAY,IAwB1D;IArBK,QAAQ,IAAI,GAAK,aAAa,KACjC,OAAO,eAAe,GAAK,eAAe;KACxC,YACU,MACC,KAAK,aAAa;MACvB,IAAI;OACF,KAAK,UAAU,CAAa;MAC9B,QAAY;OACV,OAAO,OAAO,CAAwC;MACxD;MACA,EAAG;KACL,GAAG,iCAAiC;KAGxC,cAAc;KACd,YAAY;IACd,CAAC,GAKE,QAAQ,IAAI,GAAK,UAAU,KAC9B,OAAO,eAAe,GAAK,YAAY;KACrC,WAAW;KACX,cAAc;KACd,YAAY;IACd,CAAC;IAIH,KAAK,IAAM,KAAO,GAChB,AAAI,OAAO,UAAU,eAAe,KAAK,GAAK,CAAG,KAAK,OAAO,EAAI,MAAS,YACxE,EAAiB,EAAI,EAAI;GAN1B;EASL;EAGA,EAAiB,CAAM;EAEvB,IAAM,IAAgB,MAAM,SAAS,GAAQ,CAAI;EACjD,OAAO;CACT;CAEA,IAAc,GAAyE;EACrF,IAA2C,OAAO,KAAS,aAAvD,GAEF,OADc,EAAW,CAClB;EAKT,IAFiB,eAAe,KAAQ,OAAQ,EAAiC,aAAc,YAEjF;GACZ,IAAM,IAAc,GACd,IAAQ,EAAW,EAAW,KAAK,GAEnC,IAAc,EAAW,WAAW,MAAa;IAErD,AADA,EAAM,QAAQ,GACd,EAAW,CAAK;GAClB,CAAC;GAQD,OANI,EAAmB,IACrB,QAAkB,EAAY,CAAC,IACtB,EAAgB,KACzB,QAAqB,EAAY,CAAC,GAG7B;EACT;EAEA,IAAM,IAAQ,EAAW,CAAI;EAE7B,IAAI,iBAAiB,KAAQ,OAAQ,EAAiC,eAAgB,YAAY;GAChG,IAAM,IAAgB,EAAiC,kBAAoD;IACzG,EAAW,CAAK;GAClB,CAAC;GAED,AAAI,EAAmB,IACrB,QAAkB,EAAY,CAAC,IACtB,EAAgB,KACzB,QAAqB,EAAY,CAAC;EAEtC;EAEA,OAAO;CACT;AACF"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useReactiveValue.auto.test.d.ts","sourceRoot":"","sources":["../../../src/vue/composables/useReactiveValue.auto.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"core.vue.auto.test.d.ts","sourceRoot":"","sources":["../../src/vue/core.vue.auto.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"core.vue.test.d.ts","sourceRoot":"","sources":["../../src/vue/core.vue.test.ts"],"names":[],"mappings":""}
|
package/dist/vue/index.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./ReactiveEngine4Vue.cjs"),t=require("./composables/useReactiveValue.cjs");exports.ReactiveEngine=e.
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./ReactiveEngine4Vue.cjs"),t=require("./composables/useReactiveValue.cjs");exports.ReactiveEngine=e.ReactiveEngine4VueAutomatic,exports.useReactiveValue=t.useReactiveValue;
|
package/dist/vue/index.d.ts
CHANGED
package/dist/vue/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/vue/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/vue/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,2BAA2B,IAAI,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAEpF,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAA"}
|
package/dist/vue/index.mjs
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { ReactiveEngine4VueAutomatic as e } from "./ReactiveEngine4Vue.mjs";
|
|
2
2
|
import { useReactiveValue as t } from "./composables/useReactiveValue.mjs";
|
|
3
3
|
export { e as ReactiveEngine, t as useReactiveValue };
|
package/package.json
CHANGED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ReactiveEngine4Angular.test.d.ts","sourceRoot":"","sources":["../../src/angular/ReactiveEngine4Angular.test.ts"],"names":[],"mappings":""}
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
import { ReactiveEngine } from '../../core';
|
|
2
|
-
interface ThrottleComputedOptions {
|
|
3
|
-
/** Лимит троттлинга в миллисекундах */
|
|
4
|
-
limit: number;
|
|
5
|
-
}
|
|
6
|
-
/**
|
|
7
|
-
* Специализированный декоратор для создания затроттленных вычисляемых свойств (computed).
|
|
8
|
-
* Ограничивает частоту обновления значения сигнала, предотвращая "дребезг" и высокую частоту тиков
|
|
9
|
-
* при спаме входных данных (например, при движении мыши, скролле или вводе текста).
|
|
10
|
-
*
|
|
11
|
-
* @param engine Экземпляр реактивного движка для создания сигналов
|
|
12
|
-
* @param getter Чистая функция вычисления значения
|
|
13
|
-
* @param options Настройки троттлинга (limit в мс)
|
|
14
|
-
* @param signalName Необязательное имя для логгера
|
|
15
|
-
*/
|
|
16
|
-
export declare const withThrottleComputed: <T>(engine: ReactiveEngine, getter: () => T, options: ThrottleComputedOptions, signalName?: string) => {
|
|
17
|
-
readonly value: T;
|
|
18
|
-
subscribe: (cb: (val: T) => void) => import('../..').CleanupFn;
|
|
19
|
-
destroy: () => void;
|
|
20
|
-
};
|
|
21
|
-
export {};
|
|
22
|
-
//# sourceMappingURL=_withThrottleComputed.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"_withThrottleComputed.d.ts","sourceRoot":"","sources":["../../../src/decorators/withThrottleComputed/_withThrottleComputed.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAE3C,UAAU,uBAAuB;IAC/B,uCAAuC;IACvC,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;;;;;;;;GASG;AACH,eAAO,MAAM,oBAAoB,GAAI,CAAC,EACpC,QAAQ,cAAc,EACtB,QAAQ,MAAM,CAAC,EACf,SAAS,uBAAuB,EAChC,aAAa,MAAM;oBA8DJ,CAAC;oBAGE,CAAC,GAAG,EAAE,CAAC,KAAK,IAAI;;CAGnC,CAAC"}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
var e=({tested:e,expectedKey:t,valueType:n})=>{let r=[];if(!e||!Array.isArray(e))return r;for(let i=0,a=e.length;i<a;i++){let a=e[i];if(typeof a!=`string`)continue;let o;switch(n){case`number`:o=RegExp(`\\[${t}=(?<value>\\d+)\\]`,`g`);break;default:o=RegExp(`\\[${t}=(?<value>.*?)\\]`,`g`);break}for(let e of a.matchAll(o))e?.groups&&r.push(e.groups.value)}return r};exports.getExtractedValues=e;
|
|
2
|
-
//# sourceMappingURL=getExtractedValues.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"getExtractedValues.cjs","names":[],"sources":["../../src/utils/getExtractedValues.ts"],"sourcesContent":["export const getExtractedValues = ({\n tested, expectedKey, valueType\n}: {\n tested: string[];\n expectedKey: string;\n valueType: 'number' | 'string';\n}): string[] => {\n const results: string[] = []\n if (!tested || !Array.isArray(tested)) return results // Предохранитель от пустых массивов\n\n for (let i = 0, max = tested.length; i < max; i++) {\n const t = tested[i]\n if (typeof t !== 'string') continue // ЗАЩИТА: Пропускаем всё, что не является валидной строкой\n\n let regex\n switch (valueType) {\n case 'number':\n regex = new RegExp(`\\\\[${expectedKey}=(?<value>\\\\d+)\\\\]`, 'g')\n break\n case 'string':\n default:\n regex = new RegExp(`\\\\[${expectedKey}=(?<value>.*?)\\\\]`, 'g')\n break\n }\n\n for (const n of t.matchAll(regex)) {\n if (n?.groups) { results.push(n.groups.value) }\n }\n }\n return results\n}\n"],"mappings":"AAAA,IAAa,GAAsB,CACjC,SAAQ,cAAa,eAKP,CACd,IAAM,EAAoB,CAAC,EAC3B,GAAI,CAAC,GAAU,CAAC,MAAM,QAAQ,CAAM,EAAG,OAAO,EAE9C,IAAK,IAAI,EAAI,EAAG,EAAM,EAAO,OAAQ,EAAI,EAAK,IAAK,CACjD,IAAM,EAAI,EAAO,GACjB,GAAI,OAAO,GAAM,SAAU,SAE3B,IAAI,EACJ,OAAQ,EAAR,CACA,IAAK,SACH,EAAY,OAAO,MAAM,EAAY,oBAAqB,GAAG,EAC7D,MAEF,QACE,EAAY,OAAO,MAAM,EAAY,mBAAoB,GAAG,EAC5D,KACF,CAEA,IAAK,IAAM,KAAK,EAAE,SAAS,CAAK,EAC1B,GAAG,QAAU,EAAQ,KAAK,EAAE,OAAO,KAAK,CAEhD,CACA,OAAO,CACT"}
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
//#region src/utils/getExtractedValues.ts
|
|
2
|
-
var e = ({ tested: e, expectedKey: t, valueType: n }) => {
|
|
3
|
-
let r = [];
|
|
4
|
-
if (!e || !Array.isArray(e)) return r;
|
|
5
|
-
for (let i = 0, a = e.length; i < a; i++) {
|
|
6
|
-
let a = e[i];
|
|
7
|
-
if (typeof a != "string") continue;
|
|
8
|
-
let o;
|
|
9
|
-
switch (n) {
|
|
10
|
-
case "number":
|
|
11
|
-
o = RegExp(`\\[${t}=(?<value>\\d+)\\]`, "g");
|
|
12
|
-
break;
|
|
13
|
-
default:
|
|
14
|
-
o = RegExp(`\\[${t}=(?<value>.*?)\\]`, "g");
|
|
15
|
-
break;
|
|
16
|
-
}
|
|
17
|
-
for (let e of a.matchAll(o)) e?.groups && r.push(e.groups.value);
|
|
18
|
-
}
|
|
19
|
-
return r;
|
|
20
|
-
};
|
|
21
|
-
//#endregion
|
|
22
|
-
export { e as getExtractedValues };
|
|
23
|
-
|
|
24
|
-
//# sourceMappingURL=getExtractedValues.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"getExtractedValues.mjs","names":[],"sources":["../../src/utils/getExtractedValues.ts"],"sourcesContent":["export const getExtractedValues = ({\n tested, expectedKey, valueType\n}: {\n tested: string[];\n expectedKey: string;\n valueType: 'number' | 'string';\n}): string[] => {\n const results: string[] = []\n if (!tested || !Array.isArray(tested)) return results // Предохранитель от пустых массивов\n\n for (let i = 0, max = tested.length; i < max; i++) {\n const t = tested[i]\n if (typeof t !== 'string') continue // ЗАЩИТА: Пропускаем всё, что не является валидной строкой\n\n let regex\n switch (valueType) {\n case 'number':\n regex = new RegExp(`\\\\[${expectedKey}=(?<value>\\\\d+)\\\\]`, 'g')\n break\n case 'string':\n default:\n regex = new RegExp(`\\\\[${expectedKey}=(?<value>.*?)\\\\]`, 'g')\n break\n }\n\n for (const n of t.matchAll(regex)) {\n if (n?.groups) { results.push(n.groups.value) }\n }\n }\n return results\n}\n"],"mappings":";AAAA,IAAa,KAAsB,EACjC,WAAQ,gBAAa,mBAKP;CACd,IAAM,IAAoB,CAAC;CAC3B,IAAI,CAAC,KAAU,CAAC,MAAM,QAAQ,CAAM,GAAG,OAAO;CAE9C,KAAK,IAAI,IAAI,GAAG,IAAM,EAAO,QAAQ,IAAI,GAAK,KAAK;EACjD,IAAM,IAAI,EAAO;EACjB,IAAI,OAAO,KAAM,UAAU;EAE3B,IAAI;EACJ,QAAQ,GAAR;GACA,KAAK;IACH,IAAY,OAAO,MAAM,EAAY,qBAAqB,GAAG;IAC7D;GAEF;IACE,IAAY,OAAO,MAAM,EAAY,oBAAoB,GAAG;IAC5D;EACF;EAEA,KAAK,IAAM,KAAK,EAAE,SAAS,CAAK,GAC9B,AAAI,GAAG,UAAU,EAAQ,KAAK,EAAE,OAAO,KAAK;CAEhD;CACA,OAAO;AACT"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ReactiveEngine4Vue.test.d.ts","sourceRoot":"","sources":["../../src/vue/ReactiveEngine4Vue.test.ts"],"names":[],"mappings":""}
|