@blac/react 2.0.0-rc.0 → 2.0.0-rc.10
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/index.cjs +123 -13
- package/dist/index.d.cts +12 -0
- package/dist/index.d.ts +11 -3
- package/dist/index.js +122 -0
- package/dist/types.d.ts +25 -0
- package/dist/useBloc.d.ts +3 -19
- package/dist/useBlocActions.d.ts +9 -0
- package/dist/utils/instance-keys.d.ts +19 -0
- package/package.json +35 -17
- package/dist/.tsbuildinfo +0 -1
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/useBloc.d.ts.map +0 -1
- package/dist/useBloc.js +0 -175
- package/dist/useBloc.js.map +0 -1
- package/dist/useExternalBlocStore.d.ts +0 -31
- package/dist/useExternalBlocStore.d.ts.map +0 -1
- package/dist/useExternalBlocStore.js +0 -93
- package/dist/useExternalBlocStore.js.map +0 -1
package/dist/index.cjs
CHANGED
|
@@ -1,13 +1,123 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
1
|
+
let react = require("react");
|
|
2
|
+
let __blac_core = require("@blac/core");
|
|
3
|
+
|
|
4
|
+
//#region src/utils/instance-keys.ts
|
|
5
|
+
/**
|
|
6
|
+
* Instance key generation utilities for React integration
|
|
7
|
+
*/
|
|
8
|
+
/**
|
|
9
|
+
* Generate an instance key for a bloc
|
|
10
|
+
*
|
|
11
|
+
* Logic:
|
|
12
|
+
* - If user provides instanceId, use it (convert number to string)
|
|
13
|
+
* - If isolated, generate or reuse a unique key for this component
|
|
14
|
+
* - Otherwise, return undefined (use default key)
|
|
15
|
+
*
|
|
16
|
+
* @param componentRef - React component reference (persists across remounts)
|
|
17
|
+
* @param isIsolated - Whether the bloc is isolated
|
|
18
|
+
* @param providedId - User-provided instance ID (from options)
|
|
19
|
+
* @returns Instance key string or undefined for default
|
|
20
|
+
*/
|
|
21
|
+
function generateInstanceKey(componentRef, isIsolated, providedId) {
|
|
22
|
+
if (providedId !== void 0) return typeof providedId === "number" ? String(providedId) : providedId;
|
|
23
|
+
if (isIsolated) {
|
|
24
|
+
if (!componentRef.__blocInstanceId) componentRef.__blocInstanceId = (0, __blac_core.generateIsolatedKey)();
|
|
25
|
+
return componentRef.__blocInstanceId;
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
//#endregion
|
|
30
|
+
//#region src/useBloc.ts
|
|
31
|
+
function determineTrackingMode(options) {
|
|
32
|
+
return {
|
|
33
|
+
useManualDeps: options?.dependencies !== void 0,
|
|
34
|
+
autoTrackEnabled: options?.autoTrack !== false
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
function useBloc(BlocClass, options) {
|
|
38
|
+
const componentRef = (0, react.useRef)({});
|
|
39
|
+
const Constructor = BlocClass;
|
|
40
|
+
const isIsolated = (0, __blac_core.isIsolatedClass)(BlocClass);
|
|
41
|
+
const initialPropsRef = (0, react.useRef)(options?.props);
|
|
42
|
+
const [bloc, subscribe, getSnapshot, instanceKey, adapterState, rawInstance] = (0, react.useMemo)(() => {
|
|
43
|
+
const instanceKey$1 = generateInstanceKey(componentRef.current, isIsolated, options?.instanceId);
|
|
44
|
+
const instance = BlocClass.resolve(instanceKey$1, initialPropsRef.current);
|
|
45
|
+
if (initialPropsRef.current !== void 0) instance.updateProps(initialPropsRef.current);
|
|
46
|
+
const { useManualDeps, autoTrackEnabled } = determineTrackingMode(options);
|
|
47
|
+
let subscribeFn;
|
|
48
|
+
let getSnapshotFn;
|
|
49
|
+
let adapterState$1;
|
|
50
|
+
if (useManualDeps && options?.dependencies) {
|
|
51
|
+
adapterState$1 = (0, __blac_core.initManualDepsState)(instance);
|
|
52
|
+
subscribeFn = (0, __blac_core.createManualDepsSubscribe)(instance, adapterState$1, { dependencies: options.dependencies });
|
|
53
|
+
getSnapshotFn = (0, __blac_core.createManualDepsSnapshot)(instance, adapterState$1, { dependencies: options.dependencies });
|
|
54
|
+
} else if (!autoTrackEnabled) {
|
|
55
|
+
adapterState$1 = (0, __blac_core.initNoTrackState)(instance);
|
|
56
|
+
subscribeFn = (0, __blac_core.createNoTrackSubscribe)(instance);
|
|
57
|
+
getSnapshotFn = (0, __blac_core.createNoTrackSnapshot)(instance);
|
|
58
|
+
} else {
|
|
59
|
+
adapterState$1 = (0, __blac_core.initAutoTrackState)(instance);
|
|
60
|
+
subscribeFn = (0, __blac_core.createAutoTrackSubscribe)(instance, adapterState$1);
|
|
61
|
+
getSnapshotFn = (0, __blac_core.createAutoTrackSnapshot)(instance, adapterState$1);
|
|
62
|
+
}
|
|
63
|
+
return [
|
|
64
|
+
adapterState$1.proxiedBloc,
|
|
65
|
+
subscribeFn,
|
|
66
|
+
getSnapshotFn,
|
|
67
|
+
instanceKey$1,
|
|
68
|
+
adapterState$1,
|
|
69
|
+
instance
|
|
70
|
+
];
|
|
71
|
+
}, [BlocClass, options?.instanceId]);
|
|
72
|
+
const state = (0, react.useSyncExternalStore)(subscribe, getSnapshot);
|
|
73
|
+
const [, forceUpdate] = (0, react.useReducer)((x) => x + 1, 0);
|
|
74
|
+
const externalDepsManager = (0, react.useRef)(new __blac_core.ExternalDependencyManager());
|
|
75
|
+
(0, react.useEffect)(() => {
|
|
76
|
+
if (options?.props !== initialPropsRef.current) rawInstance.updateProps(options?.props);
|
|
77
|
+
}, [options?.props, rawInstance]);
|
|
78
|
+
(0, react.useEffect)(() => {
|
|
79
|
+
(0, __blac_core.disableGetterTracking)(adapterState, rawInstance);
|
|
80
|
+
externalDepsManager.current.updateSubscriptions(adapterState.getterTracker, rawInstance, forceUpdate);
|
|
81
|
+
});
|
|
82
|
+
(0, react.useEffect)(() => {
|
|
83
|
+
if (options?.onMount) options.onMount(bloc);
|
|
84
|
+
return () => {
|
|
85
|
+
externalDepsManager.current.cleanup();
|
|
86
|
+
if (options?.onUnmount) options.onUnmount(bloc);
|
|
87
|
+
Constructor.release(instanceKey);
|
|
88
|
+
if (isIsolated && !rawInstance.isDisposed) rawInstance.dispose();
|
|
89
|
+
};
|
|
90
|
+
}, []);
|
|
91
|
+
return [
|
|
92
|
+
state,
|
|
93
|
+
bloc,
|
|
94
|
+
componentRef
|
|
95
|
+
];
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
//#endregion
|
|
99
|
+
//#region src/useBlocActions.ts
|
|
100
|
+
function useBlocActions(BlocClass, options) {
|
|
101
|
+
const componentRef = (0, react.useRef)({});
|
|
102
|
+
const initialPropsRef = (0, react.useRef)(options?.props);
|
|
103
|
+
const [bloc, instanceKey] = (0, react.useMemo)(() => {
|
|
104
|
+
const isIsolated = (0, __blac_core.isIsolatedClass)(BlocClass);
|
|
105
|
+
const Constructor = BlocClass;
|
|
106
|
+
const instanceKey$1 = generateInstanceKey(componentRef.current, isIsolated, options?.instanceId);
|
|
107
|
+
return [Constructor.resolve(instanceKey$1, initialPropsRef.current), instanceKey$1];
|
|
108
|
+
}, [BlocClass]);
|
|
109
|
+
(0, react.useEffect)(() => {
|
|
110
|
+
if (options?.onMount) options.onMount(bloc);
|
|
111
|
+
return () => {
|
|
112
|
+
if (options?.onUnmount) options.onUnmount(bloc);
|
|
113
|
+
BlocClass.release(instanceKey);
|
|
114
|
+
if ((0, __blac_core.isIsolatedClass)(BlocClass) && !bloc.isDisposed) bloc.dispose();
|
|
115
|
+
};
|
|
116
|
+
}, []);
|
|
117
|
+
return bloc;
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
//#endregion
|
|
121
|
+
exports.useBloc = useBloc;
|
|
122
|
+
exports.useBlocActions = useBlocActions;
|
|
123
|
+
//# sourceMappingURL=index.cjs.map
|
package/dist/index.d.cts
ADDED
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* React Integration
|
|
3
|
+
*
|
|
4
|
+
* Clean integration between React and StateContainer architecture.
|
|
5
|
+
* Constructor-based API with automatic type inference.
|
|
6
|
+
* Supports concurrent (useSyncExternalStore) mode for optimal performance.
|
|
7
|
+
*/
|
|
8
|
+
export { useBloc } from './useBloc';
|
|
9
|
+
export { useBlocActions } from './useBlocActions';
|
|
10
|
+
export type { UseBlocOptions, UseBlocReturn } from './types';
|
|
11
|
+
export type { UseBlocActionsOptions } from './useBlocActions';
|
|
12
|
+
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts
CHANGED
|
@@ -1,4 +1,12 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
/**
|
|
2
|
+
* React Integration
|
|
3
|
+
*
|
|
4
|
+
* Clean integration between React and StateContainer architecture.
|
|
5
|
+
* Constructor-based API with automatic type inference.
|
|
6
|
+
* Supports concurrent (useSyncExternalStore) mode for optimal performance.
|
|
7
|
+
*/
|
|
8
|
+
export { useBloc } from './useBloc';
|
|
9
|
+
export { useBlocActions } from './useBlocActions';
|
|
10
|
+
export type { UseBlocOptions, UseBlocReturn } from './types';
|
|
11
|
+
export type { UseBlocActionsOptions } from './useBlocActions';
|
|
4
12
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
import { useEffect, useMemo, useReducer, useRef, useSyncExternalStore } from "react";
|
|
2
|
+
import { ExternalDependencyManager, createAutoTrackSnapshot, createAutoTrackSubscribe, createManualDepsSnapshot, createManualDepsSubscribe, createNoTrackSnapshot, createNoTrackSubscribe, disableGetterTracking, generateIsolatedKey, initAutoTrackState, initManualDepsState, initNoTrackState, isIsolatedClass } from "@blac/core";
|
|
3
|
+
|
|
4
|
+
//#region src/utils/instance-keys.ts
|
|
5
|
+
/**
|
|
6
|
+
* Instance key generation utilities for React integration
|
|
7
|
+
*/
|
|
8
|
+
/**
|
|
9
|
+
* Generate an instance key for a bloc
|
|
10
|
+
*
|
|
11
|
+
* Logic:
|
|
12
|
+
* - If user provides instanceId, use it (convert number to string)
|
|
13
|
+
* - If isolated, generate or reuse a unique key for this component
|
|
14
|
+
* - Otherwise, return undefined (use default key)
|
|
15
|
+
*
|
|
16
|
+
* @param componentRef - React component reference (persists across remounts)
|
|
17
|
+
* @param isIsolated - Whether the bloc is isolated
|
|
18
|
+
* @param providedId - User-provided instance ID (from options)
|
|
19
|
+
* @returns Instance key string or undefined for default
|
|
20
|
+
*/
|
|
21
|
+
function generateInstanceKey(componentRef, isIsolated, providedId) {
|
|
22
|
+
if (providedId !== void 0) return typeof providedId === "number" ? String(providedId) : providedId;
|
|
23
|
+
if (isIsolated) {
|
|
24
|
+
if (!componentRef.__blocInstanceId) componentRef.__blocInstanceId = generateIsolatedKey();
|
|
25
|
+
return componentRef.__blocInstanceId;
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
//#endregion
|
|
30
|
+
//#region src/useBloc.ts
|
|
31
|
+
function determineTrackingMode(options) {
|
|
32
|
+
return {
|
|
33
|
+
useManualDeps: options?.dependencies !== void 0,
|
|
34
|
+
autoTrackEnabled: options?.autoTrack !== false
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
function useBloc(BlocClass, options) {
|
|
38
|
+
const componentRef = useRef({});
|
|
39
|
+
const Constructor = BlocClass;
|
|
40
|
+
const isIsolated = isIsolatedClass(BlocClass);
|
|
41
|
+
const initialPropsRef = useRef(options?.props);
|
|
42
|
+
const [bloc, subscribe, getSnapshot, instanceKey, adapterState, rawInstance] = useMemo(() => {
|
|
43
|
+
const instanceKey$1 = generateInstanceKey(componentRef.current, isIsolated, options?.instanceId);
|
|
44
|
+
const instance = BlocClass.resolve(instanceKey$1, initialPropsRef.current);
|
|
45
|
+
if (initialPropsRef.current !== void 0) instance.updateProps(initialPropsRef.current);
|
|
46
|
+
const { useManualDeps, autoTrackEnabled } = determineTrackingMode(options);
|
|
47
|
+
let subscribeFn;
|
|
48
|
+
let getSnapshotFn;
|
|
49
|
+
let adapterState$1;
|
|
50
|
+
if (useManualDeps && options?.dependencies) {
|
|
51
|
+
adapterState$1 = initManualDepsState(instance);
|
|
52
|
+
subscribeFn = createManualDepsSubscribe(instance, adapterState$1, { dependencies: options.dependencies });
|
|
53
|
+
getSnapshotFn = createManualDepsSnapshot(instance, adapterState$1, { dependencies: options.dependencies });
|
|
54
|
+
} else if (!autoTrackEnabled) {
|
|
55
|
+
adapterState$1 = initNoTrackState(instance);
|
|
56
|
+
subscribeFn = createNoTrackSubscribe(instance);
|
|
57
|
+
getSnapshotFn = createNoTrackSnapshot(instance);
|
|
58
|
+
} else {
|
|
59
|
+
adapterState$1 = initAutoTrackState(instance);
|
|
60
|
+
subscribeFn = createAutoTrackSubscribe(instance, adapterState$1);
|
|
61
|
+
getSnapshotFn = createAutoTrackSnapshot(instance, adapterState$1);
|
|
62
|
+
}
|
|
63
|
+
return [
|
|
64
|
+
adapterState$1.proxiedBloc,
|
|
65
|
+
subscribeFn,
|
|
66
|
+
getSnapshotFn,
|
|
67
|
+
instanceKey$1,
|
|
68
|
+
adapterState$1,
|
|
69
|
+
instance
|
|
70
|
+
];
|
|
71
|
+
}, [BlocClass, options?.instanceId]);
|
|
72
|
+
const state = useSyncExternalStore(subscribe, getSnapshot);
|
|
73
|
+
const [, forceUpdate] = useReducer((x) => x + 1, 0);
|
|
74
|
+
const externalDepsManager = useRef(new ExternalDependencyManager());
|
|
75
|
+
useEffect(() => {
|
|
76
|
+
if (options?.props !== initialPropsRef.current) rawInstance.updateProps(options?.props);
|
|
77
|
+
}, [options?.props, rawInstance]);
|
|
78
|
+
useEffect(() => {
|
|
79
|
+
disableGetterTracking(adapterState, rawInstance);
|
|
80
|
+
externalDepsManager.current.updateSubscriptions(adapterState.getterTracker, rawInstance, forceUpdate);
|
|
81
|
+
});
|
|
82
|
+
useEffect(() => {
|
|
83
|
+
if (options?.onMount) options.onMount(bloc);
|
|
84
|
+
return () => {
|
|
85
|
+
externalDepsManager.current.cleanup();
|
|
86
|
+
if (options?.onUnmount) options.onUnmount(bloc);
|
|
87
|
+
Constructor.release(instanceKey);
|
|
88
|
+
if (isIsolated && !rawInstance.isDisposed) rawInstance.dispose();
|
|
89
|
+
};
|
|
90
|
+
}, []);
|
|
91
|
+
return [
|
|
92
|
+
state,
|
|
93
|
+
bloc,
|
|
94
|
+
componentRef
|
|
95
|
+
];
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
//#endregion
|
|
99
|
+
//#region src/useBlocActions.ts
|
|
100
|
+
function useBlocActions(BlocClass, options) {
|
|
101
|
+
const componentRef = useRef({});
|
|
102
|
+
const initialPropsRef = useRef(options?.props);
|
|
103
|
+
const [bloc, instanceKey] = useMemo(() => {
|
|
104
|
+
const isIsolated = isIsolatedClass(BlocClass);
|
|
105
|
+
const Constructor = BlocClass;
|
|
106
|
+
const instanceKey$1 = generateInstanceKey(componentRef.current, isIsolated, options?.instanceId);
|
|
107
|
+
return [Constructor.resolve(instanceKey$1, initialPropsRef.current), instanceKey$1];
|
|
108
|
+
}, [BlocClass]);
|
|
109
|
+
useEffect(() => {
|
|
110
|
+
if (options?.onMount) options.onMount(bloc);
|
|
111
|
+
return () => {
|
|
112
|
+
if (options?.onUnmount) options.onUnmount(bloc);
|
|
113
|
+
BlocClass.release(instanceKey);
|
|
114
|
+
if (isIsolatedClass(BlocClass) && !bloc.isDisposed) bloc.dispose();
|
|
115
|
+
};
|
|
116
|
+
}, []);
|
|
117
|
+
return bloc;
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
//#endregion
|
|
121
|
+
export { useBloc, useBlocActions };
|
|
122
|
+
//# sourceMappingURL=index.js.map
|
package/dist/types.d.ts
ADDED
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import type { ExtractState } from '@blac/core';
|
|
2
|
+
import type { RefObject } from 'react';
|
|
3
|
+
export interface UseBlocOptions<TBloc, TProps = any> {
|
|
4
|
+
props?: TProps;
|
|
5
|
+
instanceId?: string | number;
|
|
6
|
+
dependencies?: (state: ExtractState<TBloc>, bloc: TBloc) => unknown[];
|
|
7
|
+
autoTrack?: boolean;
|
|
8
|
+
disableGetterCache?: boolean;
|
|
9
|
+
onMount?: (bloc: TBloc) => void;
|
|
10
|
+
onUnmount?: (bloc: TBloc) => void;
|
|
11
|
+
}
|
|
12
|
+
export interface UseBlocOptionsWithDependencies<TBloc, TProps = any> extends UseBlocOptions<TBloc, TProps> {
|
|
13
|
+
dependencies: (state: ExtractState<TBloc>, bloc: TBloc) => unknown[];
|
|
14
|
+
autoTrack?: never;
|
|
15
|
+
}
|
|
16
|
+
export type UseBlocReturn<TBloc> = [
|
|
17
|
+
ExtractState<TBloc>,
|
|
18
|
+
TBloc,
|
|
19
|
+
RefObject<ComponentRef>
|
|
20
|
+
];
|
|
21
|
+
export type ComponentRef = {
|
|
22
|
+
__blocInstanceId?: string;
|
|
23
|
+
__bridge?: any;
|
|
24
|
+
};
|
|
25
|
+
//# sourceMappingURL=types.d.ts.map
|
package/dist/useBloc.d.ts
CHANGED
|
@@ -1,20 +1,4 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
*/
|
|
5
|
-
type HookTypes<B extends BlocConstructor<BlocBase<any>>> = [
|
|
6
|
-
BlocState<InstanceType<B>>,
|
|
7
|
-
InstanceType<B>
|
|
8
|
-
];
|
|
9
|
-
/**
|
|
10
|
-
* React hook for integrating with Blac state management
|
|
11
|
-
*/
|
|
12
|
-
declare function useBloc<B extends BlocConstructor<BlocBase<any>>>(blocConstructor: B, options?: {
|
|
13
|
-
staticProps?: ConstructorParameters<B>[0];
|
|
14
|
-
instanceId?: string;
|
|
15
|
-
dependencies?: (bloc: InstanceType<B>) => unknown[];
|
|
16
|
-
onMount?: (bloc: InstanceType<B>) => void;
|
|
17
|
-
onUnmount?: (bloc: InstanceType<B>) => void;
|
|
18
|
-
}): HookTypes<B>;
|
|
19
|
-
export default useBloc;
|
|
1
|
+
import { type BlocConstructor, StateContainer } from '@blac/core';
|
|
2
|
+
import type { UseBlocOptions, UseBlocReturn } from './types';
|
|
3
|
+
export declare function useBloc<T extends new (...args: any[]) => StateContainer<any, any>>(BlocClass: T & BlocConstructor<InstanceType<T>>, options?: UseBlocOptions<InstanceType<T>>): UseBlocReturn<InstanceType<T>>;
|
|
20
4
|
//# sourceMappingURL=useBloc.d.ts.map
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { type BlocConstructor, StateContainer } from '@blac/core';
|
|
2
|
+
export interface UseBlocActionsOptions<TBloc, TProps = any> {
|
|
3
|
+
props?: TProps;
|
|
4
|
+
instanceId?: string | number;
|
|
5
|
+
onMount?: (bloc: TBloc) => void;
|
|
6
|
+
onUnmount?: (bloc: TBloc) => void;
|
|
7
|
+
}
|
|
8
|
+
export declare function useBlocActions<T extends new (...args: any[]) => StateContainer<any, any>>(BlocClass: T & BlocConstructor<InstanceType<T>>, options?: UseBlocActionsOptions<InstanceType<T>>): InstanceType<T>;
|
|
9
|
+
//# sourceMappingURL=useBlocActions.d.ts.map
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Instance key generation utilities for React integration
|
|
3
|
+
*/
|
|
4
|
+
import type { ComponentRef } from '../types';
|
|
5
|
+
/**
|
|
6
|
+
* Generate an instance key for a bloc
|
|
7
|
+
*
|
|
8
|
+
* Logic:
|
|
9
|
+
* - If user provides instanceId, use it (convert number to string)
|
|
10
|
+
* - If isolated, generate or reuse a unique key for this component
|
|
11
|
+
* - Otherwise, return undefined (use default key)
|
|
12
|
+
*
|
|
13
|
+
* @param componentRef - React component reference (persists across remounts)
|
|
14
|
+
* @param isIsolated - Whether the bloc is isolated
|
|
15
|
+
* @param providedId - User-provided instance ID (from options)
|
|
16
|
+
* @returns Instance key string or undefined for default
|
|
17
|
+
*/
|
|
18
|
+
export declare function generateInstanceKey(componentRef: ComponentRef, isIsolated: boolean, providedId?: string | number): string | undefined;
|
|
19
|
+
//# sourceMappingURL=instance-keys.d.ts.map
|
package/package.json
CHANGED
|
@@ -1,24 +1,37 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@blac/react",
|
|
3
|
-
"version": "2.0.0-rc.
|
|
3
|
+
"version": "2.0.0-rc.10",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"author": "Brendan Mullins <jsnanigans@gmail.com>",
|
|
6
|
-
"
|
|
6
|
+
"repository": {
|
|
7
|
+
"type": "git",
|
|
8
|
+
"url": "git+https://github.com/jsnanigans/blac.git",
|
|
9
|
+
"directory": "packages/blac-react"
|
|
10
|
+
},
|
|
11
|
+
"homepage": "https://github.com/jsnanigans/blac#readme",
|
|
12
|
+
"bugs": {
|
|
13
|
+
"url": "https://github.com/jsnanigans/blac/issues"
|
|
14
|
+
},
|
|
15
|
+
"main": "./dist/index.cjs",
|
|
7
16
|
"module": "./dist/index.js",
|
|
8
17
|
"types": "./dist/index.d.ts",
|
|
9
18
|
"exports": {
|
|
10
19
|
".": {
|
|
11
|
-
"types": "./dist/index.d.ts",
|
|
12
20
|
"import": {
|
|
13
|
-
"
|
|
21
|
+
"types": "./dist/index.d.ts",
|
|
14
22
|
"default": "./dist/index.js"
|
|
15
23
|
},
|
|
16
|
-
"require":
|
|
17
|
-
|
|
24
|
+
"require": {
|
|
25
|
+
"types": "./dist/index.d.cts",
|
|
26
|
+
"default": "./dist/index.cjs"
|
|
27
|
+
}
|
|
18
28
|
}
|
|
19
29
|
},
|
|
20
30
|
"files": [
|
|
21
|
-
"dist",
|
|
31
|
+
"dist/**/*.js",
|
|
32
|
+
"dist/**/*.cjs",
|
|
33
|
+
"dist/**/*.d.ts",
|
|
34
|
+
"dist/**/*.d.cts",
|
|
22
35
|
"README.md",
|
|
23
36
|
"LICENSE"
|
|
24
37
|
],
|
|
@@ -26,18 +39,16 @@
|
|
|
26
39
|
"keywords": [
|
|
27
40
|
"react",
|
|
28
41
|
"typescript",
|
|
29
|
-
"rxjs",
|
|
30
42
|
"state-management",
|
|
31
43
|
"reactjs",
|
|
32
44
|
"observer-pattern",
|
|
33
45
|
"bloc",
|
|
34
46
|
"bloc-pattern"
|
|
35
47
|
],
|
|
36
|
-
"dependencies": {},
|
|
37
48
|
"peerDependencies": {
|
|
38
49
|
"@types/react": "^18.0.0 || ^19.0.0",
|
|
39
50
|
"react": "^18.0.0 || ^19.0.0",
|
|
40
|
-
"@blac/core": "2.0.0-rc.
|
|
51
|
+
"@blac/core": "2.0.0-rc.10"
|
|
41
52
|
},
|
|
42
53
|
"peerDependenciesMeta": {
|
|
43
54
|
"@types/react": {
|
|
@@ -56,25 +67,32 @@
|
|
|
56
67
|
"@vitejs/plugin-react": "^4.7.0",
|
|
57
68
|
"@vitest/browser": "^3.2.4",
|
|
58
69
|
"@vitest/coverage-v8": "^3.2.4",
|
|
70
|
+
"babel-plugin-react-compiler": "^1.0.0",
|
|
71
|
+
"eslint-plugin-react-compiler": "19.1.0-rc.2",
|
|
59
72
|
"happy-dom": "^18.0.1",
|
|
60
73
|
"jsdom": "^26.1.0",
|
|
61
74
|
"prettier": "^3.6.2",
|
|
62
75
|
"react": "^19.1.1",
|
|
63
76
|
"react-dom": "^19.1.1",
|
|
77
|
+
"tsdown": "^0.15.7",
|
|
64
78
|
"typescript": "^5.9.2",
|
|
65
|
-
"vitest": "
|
|
66
|
-
"@blac/core": "2.0.0-rc.
|
|
67
|
-
"@blac/plugin-render-logging": "2.0.0-rc.0"
|
|
79
|
+
"vitest": "3.2.4",
|
|
80
|
+
"@blac/core": "2.0.0-rc.10"
|
|
68
81
|
},
|
|
69
82
|
"scripts": {
|
|
70
|
-
"dev": "
|
|
71
|
-
"build": "
|
|
72
|
-
"build:esm": "tsc --project tsconfig.build.json",
|
|
73
|
-
"build:cjs": "tsc --project tsconfig.build.json --module commonjs --outDir dist --declaration false --declarationMap false && mv dist/index.js dist/index.cjs",
|
|
83
|
+
"dev": "tsdown --watch",
|
|
84
|
+
"build": "tsdown && tsc -p tsconfig.build.json && cp dist/index.d.ts dist/index.d.cts",
|
|
74
85
|
"clean": "rm -rf dist",
|
|
75
86
|
"format": "prettier --write \".\"",
|
|
87
|
+
"lint": "eslint src --ext .ts,.tsx",
|
|
88
|
+
"lint:fix": "eslint src --ext .ts,.tsx --fix",
|
|
76
89
|
"test": "vitest run --config vitest.config.ts",
|
|
77
90
|
"test:watch": "vitest --watch --config vitest.config.ts",
|
|
91
|
+
"test:memory": "NODE_OPTIONS='--expose-gc' vitest run --config vitest.config.performance.ts",
|
|
92
|
+
"test:performance": "vitest run --config vitest.config.performance.ts",
|
|
93
|
+
"test:compiler": "vitest run --config vitest.config.compiler.ts",
|
|
94
|
+
"test:watch:compiler": "vitest --watch --config vitest.config.compiler.ts",
|
|
95
|
+
"test:both": "pnpm test && echo '\n\n=== Running tests WITH React Compiler ===\n' && pnpm test:compiler",
|
|
78
96
|
"typecheck": "tsc --noEmit",
|
|
79
97
|
"deploy": "pnpm publish --access public"
|
|
80
98
|
}
|
package/dist/.tsbuildinfo
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"fileNames":["../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es5.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2015.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2016.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2017.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2018.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2019.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2020.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2021.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2022.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2023.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2024.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.esnext.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.dom.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2015.core.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2015.collection.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2015.generator.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2015.promise.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2016.intl.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2017.arraybuffer.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2017.date.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2017.object.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2017.string.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2017.intl.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2018.intl.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2018.promise.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2019.array.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2019.object.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2019.string.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2019.intl.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2020.date.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2020.promise.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2020.string.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2020.intl.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2020.number.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2021.promise.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2021.string.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2021.weakref.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2021.intl.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2022.array.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2022.error.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2022.intl.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2022.object.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2022.string.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2022.regexp.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2023.array.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2023.collection.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2023.intl.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2024.arraybuffer.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2024.collection.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2024.object.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2024.promise.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2024.regexp.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2024.sharedmemory.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2024.string.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.esnext.array.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.esnext.collection.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.esnext.intl.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.esnext.disposable.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.esnext.promise.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.esnext.decorators.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.esnext.iterator.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.esnext.float16.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.esnext.error.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.esnext.sharedmemory.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.decorators.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.decorators.legacy.d.ts","../../../node_modules/.pnpm/@types+react@19.1.9/node_modules/@types/react/global.d.ts","../../../node_modules/.pnpm/csstype@3.1.3/node_modules/csstype/index.d.ts","../../../node_modules/.pnpm/@types+react@19.1.9/node_modules/@types/react/index.d.ts","../../../node_modules/.pnpm/@types+react@19.1.9/node_modules/@types/react/jsx-runtime.d.ts","../../blac/dist/cubit.d.ts","../../blac/dist/types.d.ts","../../blac/dist/bloc.d.ts","../../blac/dist/plugins/types.d.ts","../../blac/dist/plugins/blocpluginregistry.d.ts","../../blac/dist/subscription/types.d.ts","../../blac/dist/subscription/subscriptionmanager.d.ts","../../blac/dist/lifecycle/bloclifecycle.d.ts","../../blac/dist/blocbase.d.ts","../../blac/dist/plugins/systempluginregistry.d.ts","../../blac/dist/blac.d.ts","../../blac/dist/events.d.ts","../../blac/dist/subscription/index.d.ts","../../blac/dist/lifecycle/index.d.ts","../../blac/dist/utils/uuid.d.ts","../../blac/dist/utils/shallowequal.d.ts","../../blac/dist/utils/generateinstanceid.d.ts","../../blac/dist/utils/rerenderlogger.d.ts","../../blac/dist/testing.d.ts","../../blac/dist/adapter/blacadapter.d.ts","../../blac/dist/adapter/proxyfactory.d.ts","../../blac/dist/adapter/index.d.ts","../../blac/dist/plugins/index.d.ts","../../blac/dist/errors/blacerror.d.ts","../../blac/dist/errors/errormanager.d.ts","../../blac/dist/errors/handleerror.d.ts","../../blac/dist/errors/index.d.ts","../../blac/dist/index.d.ts","../src/usebloc.ts","../src/useexternalblocstore.ts","../src/index.ts","../../../node_modules/.pnpm/undici-types@7.8.0/node_modules/undici-types/utility.d.ts","../../../node_modules/.pnpm/undici-types@7.8.0/node_modules/undici-types/header.d.ts","../../../node_modules/.pnpm/undici-types@7.8.0/node_modules/undici-types/readable.d.ts","../../../node_modules/.pnpm/@types+node@24.1.0/node_modules/@types/node/compatibility/iterators.d.ts","../../../node_modules/.pnpm/@types+node@24.1.0/node_modules/@types/node/globals.typedarray.d.ts","../../../node_modules/.pnpm/@types+node@24.1.0/node_modules/@types/node/buffer.buffer.d.ts","../../../node_modules/.pnpm/@types+node@24.1.0/node_modules/@types/node/globals.d.ts","../../../node_modules/.pnpm/@types+node@24.1.0/node_modules/@types/node/assert.d.ts","../../../node_modules/.pnpm/@types+node@24.1.0/node_modules/@types/node/assert/strict.d.ts","../../../node_modules/.pnpm/@types+node@24.1.0/node_modules/@types/node/async_hooks.d.ts","../../../node_modules/.pnpm/@types+node@24.1.0/node_modules/@types/node/buffer.d.ts","../../../node_modules/.pnpm/@types+node@24.1.0/node_modules/@types/node/child_process.d.ts","../../../node_modules/.pnpm/@types+node@24.1.0/node_modules/@types/node/cluster.d.ts","../../../node_modules/.pnpm/@types+node@24.1.0/node_modules/@types/node/console.d.ts","../../../node_modules/.pnpm/@types+node@24.1.0/node_modules/@types/node/constants.d.ts","../../../node_modules/.pnpm/@types+node@24.1.0/node_modules/@types/node/crypto.d.ts","../../../node_modules/.pnpm/@types+node@24.1.0/node_modules/@types/node/dgram.d.ts","../../../node_modules/.pnpm/@types+node@24.1.0/node_modules/@types/node/diagnostics_channel.d.ts","../../../node_modules/.pnpm/@types+node@24.1.0/node_modules/@types/node/dns.d.ts","../../../node_modules/.pnpm/@types+node@24.1.0/node_modules/@types/node/dns/promises.d.ts","../../../node_modules/.pnpm/@types+node@24.1.0/node_modules/@types/node/domain.d.ts","../../../node_modules/.pnpm/@types+node@24.1.0/node_modules/@types/node/dom-events.d.ts","../../../node_modules/.pnpm/@types+node@24.1.0/node_modules/@types/node/events.d.ts","../../../node_modules/.pnpm/@types+node@24.1.0/node_modules/@types/node/fs.d.ts","../../../node_modules/.pnpm/@types+node@24.1.0/node_modules/@types/node/fs/promises.d.ts","../../../node_modules/.pnpm/@types+node@24.1.0/node_modules/@types/node/http.d.ts","../../../node_modules/.pnpm/@types+node@24.1.0/node_modules/@types/node/http2.d.ts","../../../node_modules/.pnpm/@types+node@24.1.0/node_modules/@types/node/https.d.ts","../../../node_modules/.pnpm/@types+node@24.1.0/node_modules/@types/node/inspector.d.ts","../../../node_modules/.pnpm/@types+node@24.1.0/node_modules/@types/node/module.d.ts","../../../node_modules/.pnpm/@types+node@24.1.0/node_modules/@types/node/net.d.ts","../../../node_modules/.pnpm/@types+node@24.1.0/node_modules/@types/node/os.d.ts","../../../node_modules/.pnpm/@types+node@24.1.0/node_modules/@types/node/path.d.ts","../../../node_modules/.pnpm/@types+node@24.1.0/node_modules/@types/node/perf_hooks.d.ts","../../../node_modules/.pnpm/@types+node@24.1.0/node_modules/@types/node/process.d.ts","../../../node_modules/.pnpm/@types+node@24.1.0/node_modules/@types/node/punycode.d.ts","../../../node_modules/.pnpm/@types+node@24.1.0/node_modules/@types/node/querystring.d.ts","../../../node_modules/.pnpm/@types+node@24.1.0/node_modules/@types/node/readline.d.ts","../../../node_modules/.pnpm/@types+node@24.1.0/node_modules/@types/node/readline/promises.d.ts","../../../node_modules/.pnpm/@types+node@24.1.0/node_modules/@types/node/repl.d.ts","../../../node_modules/.pnpm/@types+node@24.1.0/node_modules/@types/node/sea.d.ts","../../../node_modules/.pnpm/@types+node@24.1.0/node_modules/@types/node/sqlite.d.ts","../../../node_modules/.pnpm/@types+node@24.1.0/node_modules/@types/node/stream.d.ts","../../../node_modules/.pnpm/@types+node@24.1.0/node_modules/@types/node/stream/promises.d.ts","../../../node_modules/.pnpm/@types+node@24.1.0/node_modules/@types/node/stream/consumers.d.ts","../../../node_modules/.pnpm/@types+node@24.1.0/node_modules/@types/node/stream/web.d.ts","../../../node_modules/.pnpm/@types+node@24.1.0/node_modules/@types/node/string_decoder.d.ts","../../../node_modules/.pnpm/@types+node@24.1.0/node_modules/@types/node/test.d.ts","../../../node_modules/.pnpm/@types+node@24.1.0/node_modules/@types/node/timers.d.ts","../../../node_modules/.pnpm/@types+node@24.1.0/node_modules/@types/node/timers/promises.d.ts","../../../node_modules/.pnpm/@types+node@24.1.0/node_modules/@types/node/tls.d.ts","../../../node_modules/.pnpm/@types+node@24.1.0/node_modules/@types/node/trace_events.d.ts","../../../node_modules/.pnpm/@types+node@24.1.0/node_modules/@types/node/tty.d.ts","../../../node_modules/.pnpm/@types+node@24.1.0/node_modules/@types/node/url.d.ts","../../../node_modules/.pnpm/@types+node@24.1.0/node_modules/@types/node/util.d.ts","../../../node_modules/.pnpm/@types+node@24.1.0/node_modules/@types/node/v8.d.ts","../../../node_modules/.pnpm/@types+node@24.1.0/node_modules/@types/node/vm.d.ts","../../../node_modules/.pnpm/@types+node@24.1.0/node_modules/@types/node/wasi.d.ts","../../../node_modules/.pnpm/@types+node@24.1.0/node_modules/@types/node/worker_threads.d.ts","../../../node_modules/.pnpm/@types+node@24.1.0/node_modules/@types/node/zlib.d.ts","../../../node_modules/.pnpm/@types+node@24.1.0/node_modules/@types/node/index.d.ts","../../../node_modules/.pnpm/undici-types@7.8.0/node_modules/undici-types/fetch.d.ts","../../../node_modules/.pnpm/undici-types@7.8.0/node_modules/undici-types/formdata.d.ts","../../../node_modules/.pnpm/undici-types@7.8.0/node_modules/undici-types/connector.d.ts","../../../node_modules/.pnpm/undici-types@7.8.0/node_modules/undici-types/client.d.ts","../../../node_modules/.pnpm/undici-types@7.8.0/node_modules/undici-types/errors.d.ts","../../../node_modules/.pnpm/undici-types@7.8.0/node_modules/undici-types/dispatcher.d.ts","../../../node_modules/.pnpm/undici-types@7.8.0/node_modules/undici-types/global-dispatcher.d.ts","../../../node_modules/.pnpm/undici-types@7.8.0/node_modules/undici-types/global-origin.d.ts","../../../node_modules/.pnpm/undici-types@7.8.0/node_modules/undici-types/pool-stats.d.ts","../../../node_modules/.pnpm/undici-types@7.8.0/node_modules/undici-types/pool.d.ts","../../../node_modules/.pnpm/undici-types@7.8.0/node_modules/undici-types/handlers.d.ts","../../../node_modules/.pnpm/undici-types@7.8.0/node_modules/undici-types/balanced-pool.d.ts","../../../node_modules/.pnpm/undici-types@7.8.0/node_modules/undici-types/h2c-client.d.ts","../../../node_modules/.pnpm/undici-types@7.8.0/node_modules/undici-types/agent.d.ts","../../../node_modules/.pnpm/undici-types@7.8.0/node_modules/undici-types/mock-interceptor.d.ts","../../../node_modules/.pnpm/undici-types@7.8.0/node_modules/undici-types/mock-call-history.d.ts","../../../node_modules/.pnpm/undici-types@7.8.0/node_modules/undici-types/mock-agent.d.ts","../../../node_modules/.pnpm/undici-types@7.8.0/node_modules/undici-types/mock-client.d.ts","../../../node_modules/.pnpm/undici-types@7.8.0/node_modules/undici-types/mock-pool.d.ts","../../../node_modules/.pnpm/undici-types@7.8.0/node_modules/undici-types/mock-errors.d.ts","../../../node_modules/.pnpm/undici-types@7.8.0/node_modules/undici-types/proxy-agent.d.ts","../../../node_modules/.pnpm/undici-types@7.8.0/node_modules/undici-types/env-http-proxy-agent.d.ts","../../../node_modules/.pnpm/undici-types@7.8.0/node_modules/undici-types/retry-handler.d.ts","../../../node_modules/.pnpm/undici-types@7.8.0/node_modules/undici-types/retry-agent.d.ts","../../../node_modules/.pnpm/undici-types@7.8.0/node_modules/undici-types/api.d.ts","../../../node_modules/.pnpm/undici-types@7.8.0/node_modules/undici-types/cache-interceptor.d.ts","../../../node_modules/.pnpm/undici-types@7.8.0/node_modules/undici-types/interceptors.d.ts","../../../node_modules/.pnpm/undici-types@7.8.0/node_modules/undici-types/util.d.ts","../../../node_modules/.pnpm/undici-types@7.8.0/node_modules/undici-types/cookies.d.ts","../../../node_modules/.pnpm/undici-types@7.8.0/node_modules/undici-types/patch.d.ts","../../../node_modules/.pnpm/undici-types@7.8.0/node_modules/undici-types/websocket.d.ts","../../../node_modules/.pnpm/undici-types@7.8.0/node_modules/undici-types/eventsource.d.ts","../../../node_modules/.pnpm/undici-types@7.8.0/node_modules/undici-types/diagnostics-channel.d.ts","../../../node_modules/.pnpm/undici-types@7.8.0/node_modules/undici-types/content-type.d.ts","../../../node_modules/.pnpm/undici-types@7.8.0/node_modules/undici-types/cache.d.ts","../../../node_modules/.pnpm/undici-types@7.8.0/node_modules/undici-types/index.d.ts","../../../node_modules/.pnpm/bun-types@1.2.19_@types+react@19.1.9/node_modules/bun-types/globals.d.ts","../../../node_modules/.pnpm/bun-types@1.2.19_@types+react@19.1.9/node_modules/bun-types/s3.d.ts","../../../node_modules/.pnpm/bun-types@1.2.19_@types+react@19.1.9/node_modules/bun-types/fetch.d.ts","../../../node_modules/.pnpm/bun-types@1.2.19_@types+react@19.1.9/node_modules/bun-types/bun.d.ts","../../../node_modules/.pnpm/bun-types@1.2.19_@types+react@19.1.9/node_modules/bun-types/extensions.d.ts","../../../node_modules/.pnpm/bun-types@1.2.19_@types+react@19.1.9/node_modules/bun-types/devserver.d.ts","../../../node_modules/.pnpm/bun-types@1.2.19_@types+react@19.1.9/node_modules/bun-types/ffi.d.ts","../../../node_modules/.pnpm/bun-types@1.2.19_@types+react@19.1.9/node_modules/bun-types/html-rewriter.d.ts","../../../node_modules/.pnpm/bun-types@1.2.19_@types+react@19.1.9/node_modules/bun-types/jsc.d.ts","../../../node_modules/.pnpm/bun-types@1.2.19_@types+react@19.1.9/node_modules/bun-types/sqlite.d.ts","../../../node_modules/.pnpm/bun-types@1.2.19_@types+react@19.1.9/node_modules/bun-types/test.d.ts","../../../node_modules/.pnpm/bun-types@1.2.19_@types+react@19.1.9/node_modules/bun-types/wasm.d.ts","../../../node_modules/.pnpm/bun-types@1.2.19_@types+react@19.1.9/node_modules/bun-types/overrides.d.ts","../../../node_modules/.pnpm/bun-types@1.2.19_@types+react@19.1.9/node_modules/bun-types/deprecated.d.ts","../../../node_modules/.pnpm/bun-types@1.2.19_@types+react@19.1.9/node_modules/bun-types/redis.d.ts","../../../node_modules/.pnpm/bun-types@1.2.19_@types+react@19.1.9/node_modules/bun-types/shell.d.ts","../../../node_modules/.pnpm/bun-types@1.2.19_@types+react@19.1.9/node_modules/bun-types/experimental.d.ts","../../../node_modules/.pnpm/bun-types@1.2.19_@types+react@19.1.9/node_modules/bun-types/bun.ns.d.ts","../../../node_modules/.pnpm/bun-types@1.2.19_@types+react@19.1.9/node_modules/bun-types/index.d.ts","../../../node_modules/.pnpm/@types+bun@1.2.19_@types+react@19.1.9/node_modules/@types/bun/index.d.ts"],"fileIdsList":[[122,127,214,215,216,217,219,225,227,228,229,230,232],[122,124,127,214,215,216,217,219,225,227,228,229,230],[122,126,127,214,215,216,217,219,225,227,228,229,230],[127,214,215,216,217,219,225,227,228,229,230],[122,127,132,162,214,215,216,217,219,225,227,228,229,230],[122,127,128,133,139,140,147,159,170,214,215,216,217,219,225,227,228,229,230],[122,127,128,129,139,147,214,215,216,217,219,225,227,228,229,230],[122,127,214,215,216,217,219,225,227,228,229,230],[122,127,130,171,214,215,216,217,219,225,227,228,229,230],[122,127,131,132,140,148,214,215,216,217,219,225,227,228,229,230],[122,127,132,159,167,214,215,216,217,219,225,227,228,229,230],[122,127,133,135,139,147,214,215,216,217,219,225,227,228,229,230],[122,126,127,134,214,215,216,217,219,225,227,228,229,230],[122,127,135,136,214,215,216,217,219,225,227,228,229,230],[122,127,137,139,214,215,216,217,219,225,227,228,229,230],[122,126,127,139,214,215,216,217,219,225,227,228,229,230],[122,127,139,140,141,159,170,214,215,216,217,219,225,227,228,229,230],[122,127,139,140,141,154,159,162,214,215,216,217,219,225,226,227,228,229,230],[122,127,213,214,215,216,217,219,225,227,228,229,230],[122,127,135,139,142,147,159,170,213,214,215,216,217,219,225,227,228,229,230],[122,127,139,140,142,143,147,159,167,170,214,215,216,217,219,225,227,228,229,230],[122,127,142,144,159,167,170,214,215,216,217,219,225,227,228,229,230],[120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,214,215,216,217,219,225,227,228,229,230],[122,127,139,145,214,215,216,217,219,225,227,228,229,230],[122,127,146,170,214,215,216,217,219,225,227,228,229,230],[122,127,135,139,147,159,214,215,216,217,219,225,227,228,229,230],[122,127,148,214,215,216,217,219,225,227,228,229,230],[122,127,149,214,215,216,217,219,225,227,228,229,230],[122,126,127,150,214,215,216,217,219,225,227,228,229,230],[122,124,125,126,127,128,129,130,131,132,133,134,135,136,137,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,214,215,216,217,219,225,226,227,228,229,230],[122,127,152,214,215,216,217,219,225,227,228,229,230],[122,127,153,214,215,216,217,219,225,227,228,229,230],[122,127,139,154,155,214,215,216,217,219,225,227,228,229,230],[122,127,154,156,171,173,214,215,216,217,219,225,227,228,229,230],[122,127,139,159,160,162,214,215,216,217,219,225,227,228,229,230],[122,127,161,162,214,215,216,217,219,225,227,228,229,230],[122,127,159,160,214,215,216,217,219,225,227,228,229,230],[122,127,162,214,215,216,217,219,225,226,227,228,229,230],[122,127,163,214,215,216,217,219,225,227,228,229,230],[122,124,127,159,164,214,215,216,217,219,225,227,228,229,230],[122,127,139,165,166,214,215,216,217,219,225,227,228,229,230],[122,127,165,166,214,215,216,217,219,225,227,228,229,230],[122,127,132,147,159,167,214,215,216,217,219,225,226,227,228,229,230],[122,127,168,214,215,216,217,219,225,227,228,229,230],[122,127,147,169,214,215,216,217,219,225,227,228,229,230],[122,127,142,153,170,214,215,216,217,219,225,227,228,229,230],[122,127,132,171,214,215,216,217,219,225,227,228,229,230],[122,127,159,172,214,215,216,217,219,225,227,228,229,230],[122,127,146,173,214,215,216,217,219,225,227,228,229,230],[122,127,174,214,215,216,217,219,225,227,228,229,230],[122,127,139,141,150,159,162,170,172,173,175,214,215,216,217,219,225,227,228,229,230],[122,127,159,176,214,215,216,217,219,225,227,228,229,230],[82,83,122,127,214,215,216,217,219,225,227,228,229,230],[84,122,127,214,215,216,217,219,225,227,228,229,230],[122,127,132,140,142,167,171,175,213,214,215,216,219,220,225,226,227,228,229,230],[122,127,214,215,216,217,219,225,228,229,230],[122,127,214,215,216,217,225,227,228,229,230],[122,127,214,215,216,217,219,225,227,228,229],[122,127,213,214,215,217,219,225,227,228,229,230],[122,127,132,150,159,162,167,171,175,213,215,216,217,219,225,227,228,229,230],[122,127,177,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231],[122,127,132,140,141,148,162,167,176,214,215,216,217,219,225,227,228,229,230],[122,127,214,215,216,217,219,225,227,229,230],[122,127,140,214,216,217,219,225,227,228,229,230],[122,127,214,215,216,217,219,225,227,228,230],[122,127,214,215,216,217,219,227,228,229,230],[122,127,170,183,187,214,215,216,217,219,225,227,228,229,230],[122,127,159,170,183,214,215,216,217,219,225,227,228,229,230],[122,127,159,214,215,216,217,219,225,227,228,229,230],[122,127,178,214,215,216,217,219,225,227,228,229,230],[122,127,170,180,183,214,215,216,217,219,225,227,228,229,230],[122,127,147,167,214,215,216,217,219,225,226,227,228,229,230],[122,127,177,214,215,216,217,219,225,227,228,229,230],[122,127,177,178,214,215,216,217,219,225,227,228,229,230],[122,127,147,170,180,183,214,215,216,217,219,225,227,228,229,230],[117,118,119,122,127,139,159,170,179,182,214,215,216,217,219,225,227,228,229,230],[122,127,183,191,214,215,216,217,219,225,227,228,229,230],[118,122,127,181,214,215,216,217,219,225,227,228,229,230],[122,127,183,207,208,214,215,216,217,219,225,227,228,229,230],[118,122,127,162,170,177,179,183,214,215,216,217,219,225,226,227,228,229,230],[122,127,183,214,215,216,217,219,225,227,228,229,230],[117,122,127,214,215,216,217,219,225,227,228,229,230],[122,127,178,179,180,181,182,183,184,185,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,208,209,210,211,212,214,215,216,217,219,225,227,228,229,230],[122,127,135,183,200,203,214,215,216,217,219,225,227,228,229,230],[122,127,183,191,192,193,214,215,216,217,219,225,227,228,229,230],[122,127,181,183,192,194,214,215,216,217,219,225,227,228,229,230],[122,127,182,214,215,216,217,219,225,227,228,229,230],[118,122,127,178,183,214,215,216,217,219,225,227,228,229,230],[122,127,183,187,192,194,214,215,216,217,219,225,227,228,229,230],[122,127,187,214,215,216,217,219,225,227,228,229,230],[122,127,170,181,183,186,214,215,216,217,219,225,227,228,229,230],[118,122,127,180,183,191,214,215,216,217,219,225,227,228,229,230],[122,127,183,200,214,215,216,217,219,225,227,228,229,230],[122,127,162,175,177,178,183,207,214,215,216,217,219,225,226,227,228,229,230],[85,114,115,122,127,214,215,216,217,219,225,227,228,229,230],[84,85,113,122,127,214,215,216,217,219,225,227,228,229,230],[87,94,122,127,214,215,216,217,219,225,227,228,229,230],[105,106,122,127,214,215,216,217,219,225,227,228,229,230],[94,122,127,214,215,216,217,219,225,227,228,229,230],[87,94,95,122,127,214,215,216,217,219,225,227,228,229,230],[89,90,92,93,96,122,127,214,215,216,217,219,225,227,228,229,230],[109,122,127,214,215,216,217,219,225,227,228,229,230],[109,110,111,122,127,214,215,216,217,219,225,227,228,229,230],[86,87,88,94,96,97,98,99,100,101,102,103,104,107,108,112,122,127,214,215,216,217,219,225,227,228,229,230],[93,122,127,214,215,216,217,219,225,227,228,229,230],[89,122,127,214,215,216,217,219,225,227,228,229,230],[89,90,95,122,127,214,215,216,217,219,225,227,228,229,230],[88,89,94,122,127,214,215,216,217,219,225,227,228,229,230],[88,94,122,127,214,215,216,217,219,225,227,228,229,230],[91,92,122,127,214,215,216,217,219,225,227,228,229,230],[91,94,122,127,214,215,216,217,219,225,227,228,229,230],[86,87,88,94,96,122,127,214,215,216,217,219,225,227,228,229,230],[86,88,94,122,127,214,215,216,217,219,225,227,228,229,230]],"fileInfos":[{"version":"c430d44666289dae81f30fa7b2edebf186ecc91a2d4c71266ea6ae76388792e1","affectsGlobalScope":true,"impliedFormat":1},{"version":"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","impliedFormat":1},{"version":"3facaf05f0c5fc569c5649dd359892c98a85557e3e0c847964caeb67076f4d75","impliedFormat":1},{"version":"e44bb8bbac7f10ecc786703fe0a6a4b952189f908707980ba8f3c8975a760962","impliedFormat":1},{"version":"5e1c4c362065a6b95ff952c0eab010f04dcd2c3494e813b493ecfd4fcb9fc0d8","impliedFormat":1},{"version":"68d73b4a11549f9c0b7d352d10e91e5dca8faa3322bfb77b661839c42b1ddec7","impliedFormat":1},{"version":"5efce4fc3c29ea84e8928f97adec086e3dc876365e0982cc8479a07954a3efd4","impliedFormat":1},{"version":"feecb1be483ed332fad555aff858affd90a48ab19ba7272ee084704eb7167569","impliedFormat":1},{"version":"ee7bad0c15b58988daa84371e0b89d313b762ab83cb5b31b8a2d1162e8eb41c2","impliedFormat":1},{"version":"27bdc30a0e32783366a5abeda841bc22757c1797de8681bbe81fbc735eeb1c10","impliedFormat":1},{"version":"8fd575e12870e9944c7e1d62e1f5a73fcf23dd8d3a321f2a2c74c20d022283fe","impliedFormat":1},{"version":"2ab096661c711e4a81cc464fa1e6feb929a54f5340b46b0a07ac6bbf857471f0","impliedFormat":1},{"version":"080941d9f9ff9307f7e27a83bcd888b7c8270716c39af943532438932ec1d0b9","affectsGlobalScope":true,"impliedFormat":1},{"version":"c57796738e7f83dbc4b8e65132f11a377649c00dd3eee333f672b8f0a6bea671","affectsGlobalScope":true,"impliedFormat":1},{"version":"dc2df20b1bcdc8c2d34af4926e2c3ab15ffe1160a63e58b7e09833f616efff44","affectsGlobalScope":true,"impliedFormat":1},{"version":"515d0b7b9bea2e31ea4ec968e9edd2c39d3eebf4a2d5cbd04e88639819ae3b71","affectsGlobalScope":true,"impliedFormat":1},{"version":"0559b1f683ac7505ae451f9a96ce4c3c92bdc71411651ca6ddb0e88baaaad6a3","affectsGlobalScope":true,"impliedFormat":1},{"version":"0dc1e7ceda9b8b9b455c3a2d67b0412feab00bd2f66656cd8850e8831b08b537","affectsGlobalScope":true,"impliedFormat":1},{"version":"ce691fb9e5c64efb9547083e4a34091bcbe5bdb41027e310ebba8f7d96a98671","affectsGlobalScope":true,"impliedFormat":1},{"version":"8d697a2a929a5fcb38b7a65594020fcef05ec1630804a33748829c5ff53640d0","affectsGlobalScope":true,"impliedFormat":1},{"version":"4ff2a353abf8a80ee399af572debb8faab2d33ad38c4b4474cff7f26e7653b8d","affectsGlobalScope":true,"impliedFormat":1},{"version":"fb0f136d372979348d59b3f5020b4cdb81b5504192b1cacff5d1fbba29378aa1","affectsGlobalScope":true,"impliedFormat":1},{"version":"d15bea3d62cbbdb9797079416b8ac375ae99162a7fba5de2c6c505446486ac0a","affectsGlobalScope":true,"impliedFormat":1},{"version":"68d18b664c9d32a7336a70235958b8997ebc1c3b8505f4f1ae2b7e7753b87618","affectsGlobalScope":true,"impliedFormat":1},{"version":"eb3d66c8327153d8fa7dd03f9c58d351107fe824c79e9b56b462935176cdf12a","affectsGlobalScope":true,"impliedFormat":1},{"version":"38f0219c9e23c915ef9790ab1d680440d95419ad264816fa15009a8851e79119","affectsGlobalScope":true,"impliedFormat":1},{"version":"69ab18c3b76cd9b1be3d188eaf8bba06112ebbe2f47f6c322b5105a6fbc45a2e","affectsGlobalScope":true,"impliedFormat":1},{"version":"a680117f487a4d2f30ea46f1b4b7f58bef1480456e18ba53ee85c2746eeca012","affectsGlobalScope":true,"impliedFormat":1},{"version":"2f11ff796926e0832f9ae148008138ad583bd181899ab7dd768a2666700b1893","affectsGlobalScope":true,"impliedFormat":1},{"version":"4de680d5bb41c17f7f68e0419412ca23c98d5749dcaaea1896172f06435891fc","affectsGlobalScope":true,"impliedFormat":1},{"version":"954296b30da6d508a104a3a0b5d96b76495c709785c1d11610908e63481ee667","affectsGlobalScope":true,"impliedFormat":1},{"version":"ac9538681b19688c8eae65811b329d3744af679e0bdfa5d842d0e32524c73e1c","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a969edff4bd52585473d24995c5ef223f6652d6ef46193309b3921d65dd4376","affectsGlobalScope":true,"impliedFormat":1},{"version":"9e9fbd7030c440b33d021da145d3232984c8bb7916f277e8ffd3dc2e3eae2bdb","affectsGlobalScope":true,"impliedFormat":1},{"version":"811ec78f7fefcabbda4bfa93b3eb67d9ae166ef95f9bff989d964061cbf81a0c","affectsGlobalScope":true,"impliedFormat":1},{"version":"717937616a17072082152a2ef351cb51f98802fb4b2fdabd32399843875974ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"d7e7d9b7b50e5f22c915b525acc5a49a7a6584cf8f62d0569e557c5cfc4b2ac2","affectsGlobalScope":true,"impliedFormat":1},{"version":"71c37f4c9543f31dfced6c7840e068c5a5aacb7b89111a4364b1d5276b852557","affectsGlobalScope":true,"impliedFormat":1},{"version":"576711e016cf4f1804676043e6a0a5414252560eb57de9faceee34d79798c850","affectsGlobalScope":true,"impliedFormat":1},{"version":"89c1b1281ba7b8a96efc676b11b264de7a8374c5ea1e6617f11880a13fc56dc6","affectsGlobalScope":true,"impliedFormat":1},{"version":"74f7fa2d027d5b33eb0471c8e82a6c87216223181ec31247c357a3e8e2fddc5b","affectsGlobalScope":true,"impliedFormat":1},{"version":"d6d7ae4d1f1f3772e2a3cde568ed08991a8ae34a080ff1151af28b7f798e22ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"063600664504610fe3e99b717a1223f8b1900087fab0b4cad1496a114744f8df","affectsGlobalScope":true,"impliedFormat":1},{"version":"934019d7e3c81950f9a8426d093458b65d5aff2c7c1511233c0fd5b941e608ab","affectsGlobalScope":true,"impliedFormat":1},{"version":"52ada8e0b6e0482b728070b7639ee42e83a9b1c22d205992756fe020fd9f4a47","affectsGlobalScope":true,"impliedFormat":1},{"version":"3bdefe1bfd4d6dee0e26f928f93ccc128f1b64d5d501ff4a8cf3c6371200e5e6","affectsGlobalScope":true,"impliedFormat":1},{"version":"59fb2c069260b4ba00b5643b907ef5d5341b167e7d1dbf58dfd895658bda2867","affectsGlobalScope":true,"impliedFormat":1},{"version":"639e512c0dfc3fad96a84caad71b8834d66329a1f28dc95e3946c9b58176c73a","affectsGlobalScope":true,"impliedFormat":1},{"version":"368af93f74c9c932edd84c58883e736c9e3d53cec1fe24c0b0ff451f529ceab1","affectsGlobalScope":true,"impliedFormat":1},{"version":"af3dd424cf267428f30ccfc376f47a2c0114546b55c44d8c0f1d57d841e28d74","affectsGlobalScope":true,"impliedFormat":1},{"version":"995c005ab91a498455ea8dfb63aa9f83fa2ea793c3d8aa344be4a1678d06d399","affectsGlobalScope":true,"impliedFormat":1},{"version":"959d36cddf5e7d572a65045b876f2956c973a586da58e5d26cde519184fd9b8a","affectsGlobalScope":true,"impliedFormat":1},{"version":"965f36eae237dd74e6cca203a43e9ca801ce38824ead814728a2807b1910117d","affectsGlobalScope":true,"impliedFormat":1},{"version":"3925a6c820dcb1a06506c90b1577db1fdbf7705d65b62b99dce4be75c637e26b","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a3d63ef2b853447ec4f749d3f368ce642264246e02911fcb1590d8c161b8005","affectsGlobalScope":true,"impliedFormat":1},{"version":"8cdf8847677ac7d20486e54dd3fcf09eda95812ac8ace44b4418da1bbbab6eb8","affectsGlobalScope":true,"impliedFormat":1},{"version":"8444af78980e3b20b49324f4a16ba35024fef3ee069a0eb67616ea6ca821c47a","affectsGlobalScope":true,"impliedFormat":1},{"version":"3287d9d085fbd618c3971944b65b4be57859f5415f495b33a6adc994edd2f004","affectsGlobalScope":true,"impliedFormat":1},{"version":"b4b67b1a91182421f5df999988c690f14d813b9850b40acd06ed44691f6727ad","affectsGlobalScope":true,"impliedFormat":1},{"version":"df83c2a6c73228b625b0beb6669c7ee2a09c914637e2d35170723ad49c0f5cd4","affectsGlobalScope":true,"impliedFormat":1},{"version":"436aaf437562f276ec2ddbee2f2cdedac7664c1e4c1d2c36839ddd582eeb3d0a","affectsGlobalScope":true,"impliedFormat":1},{"version":"8e3c06ea092138bf9fa5e874a1fdbc9d54805d074bee1de31b99a11e2fec239d","affectsGlobalScope":true,"impliedFormat":1},{"version":"87dc0f382502f5bbce5129bdc0aea21e19a3abbc19259e0b43ae038a9fc4e326","affectsGlobalScope":true,"impliedFormat":1},{"version":"b1cb28af0c891c8c96b2d6b7be76bd394fddcfdb4709a20ba05a7c1605eea0f9","affectsGlobalScope":true,"impliedFormat":1},{"version":"2fef54945a13095fdb9b84f705f2b5994597640c46afeb2ce78352fab4cb3279","affectsGlobalScope":true,"impliedFormat":1},{"version":"ac77cb3e8c6d3565793eb90a8373ee8033146315a3dbead3bde8db5eaf5e5ec6","affectsGlobalScope":true,"impliedFormat":1},{"version":"56e4ed5aab5f5920980066a9409bfaf53e6d21d3f8d020c17e4de584d29600ad","affectsGlobalScope":true,"impliedFormat":1},{"version":"4ece9f17b3866cc077099c73f4983bddbcb1dc7ddb943227f1ec070f529dedd1","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a6282c8827e4b9a95f4bf4f5c205673ada31b982f50572d27103df8ceb8013c","affectsGlobalScope":true,"impliedFormat":1},{"version":"1c9319a09485199c1f7b0498f2988d6d2249793ef67edda49d1e584746be9032","affectsGlobalScope":true,"impliedFormat":1},{"version":"e3a2a0cee0f03ffdde24d89660eba2685bfbdeae955a6c67e8c4c9fd28928eeb","affectsGlobalScope":true,"impliedFormat":1},{"version":"811c71eee4aa0ac5f7adf713323a5c41b0cf6c4e17367a34fbce379e12bbf0a4","affectsGlobalScope":true,"impliedFormat":1},{"version":"51ad4c928303041605b4d7ae32e0c1ee387d43a24cd6f1ebf4a2699e1076d4fa","affectsGlobalScope":true,"impliedFormat":1},{"version":"60037901da1a425516449b9a20073aa03386cce92f7a1fd902d7602be3a7c2e9","affectsGlobalScope":true,"impliedFormat":1},{"version":"d4b1d2c51d058fc21ec2629fff7a76249dec2e36e12960ea056e3ef89174080f","affectsGlobalScope":true,"impliedFormat":1},{"version":"22adec94ef7047a6c9d1af3cb96be87a335908bf9ef386ae9fd50eeb37f44c47","affectsGlobalScope":true,"impliedFormat":1},{"version":"4245fee526a7d1754529d19227ecbf3be066ff79ebb6a380d78e41648f2f224d","affectsGlobalScope":true,"impliedFormat":1},{"version":"73f78680d4c08509933daf80947902f6ff41b6230f94dd002ae372620adb0f60","affectsGlobalScope":true,"impliedFormat":1},{"version":"c5239f5c01bcfa9cd32f37c496cf19c61d69d37e48be9de612b541aac915805b","affectsGlobalScope":true,"impliedFormat":1},{"version":"8e7f8264d0fb4c5339605a15daadb037bf238c10b654bb3eee14208f860a32ea","affectsGlobalScope":true,"impliedFormat":1},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true,"impliedFormat":1},{"version":"170d4db14678c68178ee8a3d5a990d5afb759ecb6ec44dbd885c50f6da6204f6","affectsGlobalScope":true,"impliedFormat":1},{"version":"8a8eb4ebffd85e589a1cc7c178e291626c359543403d58c9cd22b81fab5b1fb9","impliedFormat":1},{"version":"d4d7d3f832882a4b2d611a7eaaa80c780c3342b5732090130fa9af4a40bd051e","impliedFormat":1},{"version":"42c169fb8c2d42f4f668c624a9a11e719d5d07dacbebb63cbcf7ef365b0a75b3","impliedFormat":1},"8c1fd581517e7eee9730c8c7c49cc65a2dbcebea759d4ce0fefc8a6b45b8c42d","4f85a5905b7dc25dc7c43e30400c4774a30550dafa247a1d337ba4db1fae774a","543d8d7e11117a896a5e158a1fdde25ef4d628cac88ff9c2d9259f3c601626ce","ee9ce5850e79836afb7ad629cd84a9d624618453d51077166a28a79a67585e28","c2708a9d249afd55931a45f280b96206cd8741dd9147f450e9963a15d7db5379","bac1421cdf6ccf8e5e369d46c0adc6e98dcee86af0aab8946f66f4e0b7d35fde","e63285b712e075eb402faa51f393d96cf7366d68685c69d7bf15b5cd2a2ee873","727d80c10428ea2ebaba62d295807ade6d0b408e050bf21f7a449ca7b4dc7e07","2467948c6cf232adfe9fdb84bcbb75107e6e5cd8f9be8ef82228290b82287497","7c0dec2dceec15cf8a40ff27869fd9ced0484b051ccae63de0a34ff799c04136","d4ca1ad046eee3364d50977591cf14653521e59334c6993400a3a2e3c144509d","39d775ad4da8e5e2e2b9105cc86efb04c26d087c6425572d83f1e2288561b9ad","9e17040e7b358006515b48e37ae17bb4af35e1032ea34bbd438d6e08eaac3f7e","d31084dd2de1d8e5705f8d48a0a578bec6d3a77a60bc38475d5896d143ff5afc","07933b94fa2f7784aea7a94fa4baaef7ce387cb291abf7c708852a1122171ed9","02fdaeb24ff7bffa9fa4bc791894a4e8bb8744b98d1a8cf9019412e880057483","4b9d99adc8a8f8867d07a6880244529d44240707eb599c4678e9f77c1f2a346b","7c7dc2baa6a66c662f7f214234f39496e49ccc325b45df13943d1c4f3f89632a","d7200594418b1dc5a8e429b7402ed257171510546ced43d6a67c64397e2c1b3c","fbaa311e2f7381109986fed980337a27cf99624e310bdeecfa0fd6a63a52cdbf","bb6c4c54bb29834f9c9a367ac6b47d5e6f00f3e5200735f035e1b62691884cb2","c0cde1f5985aa9b33c59d10e92ab0b05586c8653b481192aa5d9ef3ca5e05259","11bef6691b73f612dc6697b25b60cac5f547077a28d259ca0f4f91cf9121283b","dc4778dfc69f95008cf610f654aa8040ad8ab62323083ba177f2601e40824e20","7f9a5e6f5af5dc2fc5ce6499d19cebe0b7df33b0bbd312dedafe48e6e28adc7b","552740206b0b6bf1102f775532905f28dc0fdbfb6bff76894f0f9f8c1688f238","17a0107b41196a4b2da890d8f483e7098c1cd51aa1428af5e5938db482c9dc4e","4aec85aeec4b7014a08d3da0adf4f8448ef8296178ab624d563c9fbca50cf7bc",{"version":"fc030bff8c4eefdf13af0b0377be5dea6a66d0c0891f8db9f072ce6e0bc9c293","signature":"0ffe9efed1610f79949e106eba399218855c3236bde6a6b137a0561c9da23007"},{"version":"edf0a7ce39c3a353ed52556161d5210006afe81fbb48a5026aa2350200079949","signature":"1d06ddc25946ffb930931c5690f24e1738c2ad016c6eb18f8f7dbf19a7b40f99"},"186545ea8618fc52f251d434aba608d5f36a5b030ddcdc38e8012c61c13f8aa7",{"version":"cdcf9ea426ad970f96ac930cd176d5c69c6c24eebd9fc580e1572d6c6a88f62c","impliedFormat":1},{"version":"23cd712e2ce083d68afe69224587438e5914b457b8acf87073c22494d706a3d0","impliedFormat":1},{"version":"487b694c3de27ddf4ad107d4007ad304d29effccf9800c8ae23c2093638d906a","impliedFormat":1},{"version":"d153a11543fd884b596587ccd97aebbeed950b26933ee000f94009f1ab142848","affectsGlobalScope":true,"impliedFormat":1},{"version":"c0671b50bb99cc7ad46e9c68fa0e7f15ba4bc898b59c31a17ea4611fab5095da","affectsGlobalScope":true,"impliedFormat":1},{"version":"d802f0e6b5188646d307f070d83512e8eb94651858de8a82d1e47f60fb6da4e2","affectsGlobalScope":true,"impliedFormat":1},{"version":"f4b4faedc57701ae727d78ba4a83e466a6e3bdcbe40efbf913b17e860642897c","affectsGlobalScope":true,"impliedFormat":1},{"version":"bbcfd9cd76d92c3ee70475270156755346c9086391e1b9cb643d072e0cf576b8","impliedFormat":1},{"version":"7394959e5a741b185456e1ef5d64599c36c60a323207450991e7a42e08911419","impliedFormat":1},{"version":"72c1f5e0a28e473026074817561d1bc9647909cf253c8d56c41d1df8d95b85f7","impliedFormat":1},{"version":"003ec918ec442c3a4db2c36dc0c9c766977ea1c8bcc1ca7c2085868727c3d3f6","affectsGlobalScope":true,"impliedFormat":1},{"version":"938f94db8400d0b479626b9006245a833d50ce8337f391085fad4af540279567","impliedFormat":1},{"version":"c4e8e8031808b158cfb5ac5c4b38d4a26659aec4b57b6a7e2ba0a141439c208c","impliedFormat":1},{"version":"2c91d8366ff2506296191c26fd97cc1990bab3ee22576275d28b654a21261a44","affectsGlobalScope":true,"impliedFormat":1},{"version":"5524481e56c48ff486f42926778c0a3cce1cc85dc46683b92b1271865bcf015a","impliedFormat":1},{"version":"12fb9c13f24845000d7bd9660d11587e27ef967cbd64bd9df19ae3e6aa9b52d4","affectsGlobalScope":true,"impliedFormat":1},{"version":"289e9894a4668c61b5ffed09e196c1f0c2f87ca81efcaebdf6357cfb198dac14","impliedFormat":1},{"version":"25a1105595236f09f5bce42398be9f9ededc8d538c258579ab662d509aa3b98e","impliedFormat":1},{"version":"5078cd62dbdf91ae8b1dc90b1384dec71a9c0932d62bdafb1a811d2a8e26bef2","impliedFormat":1},{"version":"a2e2bbde231b65c53c764c12313897ffdfb6c49183dd31823ee2405f2f7b5378","impliedFormat":1},{"version":"ad1cc0ed328f3f708771272021be61ab146b32ecf2b78f3224959ff1e2cd2a5c","impliedFormat":1},{"version":"71450bbc2d82821d24ca05699a533e72758964e9852062c53b30f31c36978ab8","affectsGlobalScope":true,"impliedFormat":1},{"version":"62f572306e0b173cc5dfc4c583471151f16ef3779cf27ab96922c92ec82a3bc8","affectsGlobalScope":true,"impliedFormat":1},{"version":"dd2fcf3359dc2dacc5198ae764d5179e3dc096295c37e8241fdce324a99ff1ee","impliedFormat":1},{"version":"0ab3c844f1eb5a1d94c90edc346a25eb9d3943af7a7812f061bf2d627d8afac0","impliedFormat":1},{"version":"bd8b644c5861b94926687618ec2c9e60ad054d334d6b7eb4517f23f53cb11f91","impliedFormat":1},{"version":"161f09445a8b4ba07f62ae54b27054e4234e7957062e34c6362300726dabd315","impliedFormat":1},{"version":"77fced47f495f4ff29bb49c52c605c5e73cd9b47d50080133783032769a9d8a6","impliedFormat":1},{"version":"a828998f5c017ec1356a7d07e66c7fc8a6b009d451c2bdc3be8ccb4f424316d2","impliedFormat":1},{"version":"34ecb9596317c44dab586118fb62c1565d3dad98d201cd77f3e6b0dde453339c","affectsGlobalScope":true,"impliedFormat":1},{"version":"0f5cda0282e1d18198e2887387eb2f026372ebc4e11c4e4516fef8a19ee4d514","impliedFormat":1},{"version":"e99b0e71f07128fc32583e88ccd509a1aaa9524c290efb2f48c22f9bf8ba83b1","impliedFormat":1},{"version":"76957a6d92b94b9e2852cf527fea32ad2dc0ef50f67fe2b14bd027c9ceef2d86","impliedFormat":1},{"version":"237581f5ec4620a17e791d3bb79bad3af01e27a274dbee875ac9b0721a4fe97d","affectsGlobalScope":true,"impliedFormat":1},{"version":"a8a99a5e6ed33c4a951b67cc1fd5b64fd6ad719f5747845c165ca12f6c21ba16","affectsGlobalScope":true,"impliedFormat":1},{"version":"a58a15da4c5ba3df60c910a043281256fa52d36a0fcdef9b9100c646282e88dd","impliedFormat":1},{"version":"b36beffbf8acdc3ebc58c8bb4b75574b31a2169869c70fc03f82895b93950a12","impliedFormat":1},{"version":"de263f0089aefbfd73c89562fb7254a7468b1f33b61839aafc3f035d60766cb4","impliedFormat":1},{"version":"70b57b5529051497e9f6482b76d91c0dcbb103d9ead8a0549f5bab8f65e5d031","impliedFormat":1},{"version":"e6d81b1f7ab11dc1b1ad7ad29fcfad6904419b36baf55ed5e80df48d56ac3aff","impliedFormat":1},{"version":"1013eb2e2547ad8c100aca52ef9df8c3f209edee32bb387121bb3227f7c00088","impliedFormat":1},{"version":"b6b8e3736383a1d27e2592c484a940eeb37ec4808ba9e74dd57679b2453b5865","impliedFormat":1},{"version":"d6f36b683c59ac0d68a1d5ee906e578e2f5e9a285bca80ff95ce61cdc9ddcdeb","impliedFormat":1},{"version":"37ba7b45141a45ce6e80e66f2a96c8a5ab1bcef0fc2d0f56bb58df96ec67e972","impliedFormat":1},{"version":"125d792ec6c0c0f657d758055c494301cc5fdb327d9d9d5960b3f129aff76093","impliedFormat":1},{"version":"12aad38de6f0594dc21efa78a2c1f67bf6a7ef5a389e05417fe9945284450908","affectsGlobalScope":true,"impliedFormat":1},{"version":"ea713aa14a670b1ea0fbaaca4fd204e645f71ca7653a834a8ec07ee889c45de6","impliedFormat":1},{"version":"b338a6e6c1d456e65a6ea78da283e3077fe8edf7202ae10490abbba5b952b05e","impliedFormat":1},{"version":"2918b7c516051c30186a1055ebcdb3580522be7190f8a2fff4100ea714c7c366","affectsGlobalScope":true,"impliedFormat":1},{"version":"ae86f30d5d10e4f75ce8dcb6e1bd3a12ecec3d071a21e8f462c5c85c678efb41","impliedFormat":1},{"version":"982efeb2573605d4e6d5df4dc7e40846bda8b9e678e058fc99522ab6165c479e","impliedFormat":1},{"version":"e03460fe72b259f6d25ad029f085e4bedc3f90477da4401d8fbc1efa9793230e","impliedFormat":1},{"version":"4286a3a6619514fca656089aee160bb6f2e77f4dd53dc5a96b26a0b4fc778055","impliedFormat":1},{"version":"d67fc92a91171632fc74f413ce42ff1aa7fbcc5a85b127101f7ec446d2039a1f","affectsGlobalScope":true,"impliedFormat":1},{"version":"d40e4631100dbc067268bce96b07d7aff7f28a541b1bfb7ef791c64a696b3d33","affectsGlobalScope":true,"impliedFormat":1},{"version":"784490137935e1e38c49b9289110e74a1622baf8a8907888dcbe9e476d7c5e44","impliedFormat":1},{"version":"42180b657831d1b8fead051698618b31da623fb71ff37f002cb9d932cfa775f1","impliedFormat":1},{"version":"4f98d6fb4fe7cbeaa04635c6eaa119d966285d4d39f0eb55b2654187b0b27446","impliedFormat":1},{"version":"e4c653466d0497d87fa9ffd00e59a95f33bc1c1722c3f5c84dab2e950c18da70","affectsGlobalScope":true,"impliedFormat":1},{"version":"e6dcc3b933e864e91d4bea94274ad69854d5d2a1311a4b0e20408a57af19e95d","impliedFormat":1},{"version":"a51f786b9f3c297668f8f322a6c58f85d84948ef69ade32069d5d63ec917221c","impliedFormat":1},{"version":"e525f9e67f5ddba7b5548430211cae2479070b70ef1fd93550c96c10529457bd","impliedFormat":1},{"version":"ccf4552357ce3c159ef75f0f0114e80401702228f1898bdc9402214c9499e8c0","impliedFormat":1},{"version":"c6fd2c5a395f2432786c9cb8deb870b9b0e8ff7e22c029954fabdd692bff6195","impliedFormat":1},{"version":"17fe9131bec653b07b0a1a8b99a830216e3e43fe0ea2605be318dc31777c8bbf","impliedFormat":1},{"version":"3c8e93af4d6ce21eb4c8d005ad6dc02e7b5e6781f429d52a35290210f495a674","impliedFormat":1},{"version":"2c9875466123715464539bfd69bcaccb8ff6f3e217809428e0d7bd6323416d01","impliedFormat":1},{"version":"ea6bc8de8b59f90a7a3960005fd01988f98fd0784e14bc6922dde2e93305ec7d","impliedFormat":1},{"version":"36107995674b29284a115e21a0618c4c2751b32a8766dd4cb3ba740308b16d59","impliedFormat":1},{"version":"914a0ae30d96d71915fc519ccb4efbf2b62c0ddfb3a3fc6129151076bc01dc60","impliedFormat":1},{"version":"2472ef4c28971272a897fdb85d4155df022e1f5d9a474a526b8fc2ef598af94e","impliedFormat":1},{"version":"6c8e442ba33b07892169a14f7757321e49ab0f1032d676d321a1fdab8a67d40c","impliedFormat":1},{"version":"b41767d372275c154c7ea6c9d5449d9a741b8ce080f640155cc88ba1763e35b3","impliedFormat":1},{"version":"1cd673d367293fc5cb31cd7bf03d598eb368e4f31f39cf2b908abbaf120ab85a","impliedFormat":1},{"version":"19851a6596401ca52d42117108d35e87230fc21593df5c4d3da7108526b6111c","impliedFormat":1},{"version":"3825bf209f1662dfd039010a27747b73d0ef379f79970b1d05601ec8e8a4249f","impliedFormat":1},{"version":"0b6e25234b4eec6ed96ab138d96eb70b135690d7dd01f3dd8a8ab291c35a683a","impliedFormat":1},{"version":"40bfc70953be2617dc71979c14e9e99c5e65c940a4f1c9759ddb90b0f8ff6b1a","impliedFormat":1},{"version":"da52342062e70c77213e45107921100ba9f9b3a30dd019444cf349e5fb3470c4","impliedFormat":1},{"version":"e9ace91946385d29192766bf783b8460c7dbcbfc63284aa3c9cae6de5155c8bc","impliedFormat":1},{"version":"40b463c6766ca1b689bfcc46d26b5e295954f32ad43e37ee6953c0a677e4ae2b","impliedFormat":1},{"version":"561c60d8bfe0fec2c08827d09ff039eca0c1f9b50ef231025e5a549655ed0298","impliedFormat":1},{"version":"1e30c045732e7db8f7a82cf90b516ebe693d2f499ce2250a977ec0d12e44a529","impliedFormat":1},{"version":"84b736594d8760f43400202859cda55607663090a43445a078963031d47e25e7","impliedFormat":1},{"version":"499e5b055a5aba1e1998f7311a6c441a369831c70905cc565ceac93c28083d53","impliedFormat":1},{"version":"54c3e2371e3d016469ad959697fd257e5621e16296fa67082c2575d0bf8eced0","impliedFormat":1},{"version":"beb8233b2c220cfa0feea31fbe9218d89fa02faa81ef744be8dce5acb89bb1fd","impliedFormat":1},{"version":"78b29846349d4dfdd88bd6650cc5d2baaa67f2e89dc8a80c8e26ef7995386583","impliedFormat":1},{"version":"5d0375ca7310efb77e3ef18d068d53784faf62705e0ad04569597ae0e755c401","impliedFormat":1},{"version":"59af37caec41ecf7b2e76059c9672a49e682c1a2aa6f9d7dc78878f53aa284d6","impliedFormat":1},{"version":"addf417b9eb3f938fddf8d81e96393a165e4be0d4a8b6402292f9c634b1cb00d","impliedFormat":1},{"version":"e38d4fdf79e1eadd92ed7844c331dbaa40f29f21541cfee4e1acff4db09cda33","impliedFormat":1},{"version":"8bd86b8e8f6a6aa6c49b71e14c4ffe1211a0e97c80f08d2c8cc98838006e4b88","impliedFormat":1},{"version":"7c10a32ae6f3962672e6869ee2c794e8055d8225ef35c91c0228e354b4e5d2d3","impliedFormat":1},{"version":"2e85db9e6fd73cfa3d7f28e0ab6b55417ea18931423bd47b409a96e4a169e8e6","impliedFormat":1},{"version":"c46e079fe54c76f95c67fb89081b3e399da2c7d109e7dca8e4b58d83e332e605","impliedFormat":1},{"version":"99f569b42ea7e7c5fe404b2848c0893f3e1a56e0547c1cd0f74d5dbb9a9de27e","impliedFormat":1},{"version":"e8a763a4ebce303ca18717d2166d67950b0362ff3319def0c28ecb794b9f04d3","affectsGlobalScope":true,"impliedFormat":1},{"version":"ee31fab138939ef1903831933d524de9944511759778eedaaed56d6eb7f8697d","impliedFormat":1},{"version":"e45cc72cc9e7ad726ec83141fa4cd221d432062de34586ff107a0442ae28bf19","impliedFormat":1},{"version":"d9455aaf258770f187384ebe910495634a7fb904ee7a1c11755427a1e611eea8","impliedFormat":1},{"version":"6d7ec38e96b4ad4d977e7376d9a92253927c1342ed6c102bd4dc4950deed1dd1","impliedFormat":1},{"version":"fc9e630f9302d0414ccd6c8ed2706659cff5ae454a56560c6122fa4a3fac5bbd","affectsGlobalScope":true,"impliedFormat":1},{"version":"7115f1157a00937d712e042a011eb85e9d80b13eff78bac5f210ee852f96879d","impliedFormat":1},{"version":"0ac74c7586880e26b6a599c710b59284a284e084a2bbc82cd40fb3fbfdea71ae","affectsGlobalScope":true,"impliedFormat":1},{"version":"2ce12357dadbb8efc4e4ec4dab709c8071bf992722fc9adfea2fe0bd5b50923f","impliedFormat":1},{"version":"56c685ea062afe11fd775c31dc33acc449f780b17ba392ac154799323ebc9647","impliedFormat":1},{"version":"085b6073465a6358e693823dcc03128f359e28780e8a497bf5fcf1b577b5c960","impliedFormat":1},{"version":"b05b9ef20d18697e468c3ae9cecfff3f47e8976f9522d067047e3f236db06a41","affectsGlobalScope":true,"impliedFormat":1},{"version":"b12b645134e106bea2c135a8a64c933329e195d3b8ca2fc6eeeec73dd8836924","affectsGlobalScope":true,"impliedFormat":1},{"version":"fbe8d85bf780a22fb2838e9807c53b3ea2610f46ae925a771eba421c44c5a4c6","affectsGlobalScope":true,"impliedFormat":1},{"version":"f7f5d83fe8eff2f1910e8b0437527041e5cc45aa15cda443f27dbadc3d5805e7","impliedFormat":1},{"version":"f5e8617ad68d001f3e26035ee699dad75df20ada6adc88524cb631d9f9b871fa","impliedFormat":1},{"version":"c61c37176b7a6c043df76f437e402ea9abc9f19e9652a0d37629dfc8b7e83497","impliedFormat":1},{"version":"067f76ab5254b1bdfc94154730b7a30c12e3aad8b9d04ec62c0d6b7a1f40ea0e","affectsGlobalScope":true,"impliedFormat":1},{"version":"8f95bf00d9d01de72cddbeabe5bdcb019248c209df4976a814756504afdb9291","affectsGlobalScope":true,"impliedFormat":1},{"version":"37be812b06e518320ba82e2aff3ac2ca37370a9df917db708f081b9043fa3315","impliedFormat":1}],"root":[[114,116]],"options":{"allowSyntheticDefaultImports":true,"composite":false,"declaration":false,"declarationMap":false,"esModuleInterop":true,"experimentalDecorators":true,"jsx":4,"module":1,"outDir":"./","removeComments":false,"rootDir":"../src","skipLibCheck":true,"sourceMap":true,"strict":true,"target":99,"tsBuildInfoFile":"./.tsbuildinfo"},"referencedMap":[[233,1],[124,2],[125,2],[126,3],[122,4],[127,5],[128,6],[129,7],[120,8],[130,9],[131,10],[132,11],[133,12],[134,13],[135,14],[136,14],[138,8],[137,15],[139,16],[140,17],[141,18],[123,19],[121,8],[142,20],[143,21],[144,22],[177,23],[145,24],[146,25],[147,26],[148,27],[149,28],[150,29],[151,30],[152,31],[153,32],[154,33],[155,33],[156,34],[157,8],[158,8],[159,35],[161,36],[160,37],[162,38],[163,39],[164,40],[165,41],[166,42],[167,43],[168,44],[169,45],[170,46],[171,47],[172,48],[173,49],[174,50],[175,51],[176,52],[82,8],[84,53],[85,54],[217,55],[231,8],[227,56],[219,57],[230,58],[218,8],[216,59],[220,8],[214,60],[221,8],[232,61],[222,8],[226,62],[228,63],[215,64],[229,65],[223,8],[224,8],[225,66],[83,8],[80,8],[81,8],[13,8],[15,8],[14,8],[2,8],[16,8],[17,8],[18,8],[19,8],[20,8],[21,8],[22,8],[23,8],[3,8],[24,8],[25,8],[4,8],[26,8],[30,8],[27,8],[28,8],[29,8],[31,8],[32,8],[33,8],[5,8],[34,8],[35,8],[36,8],[37,8],[6,8],[41,8],[38,8],[39,8],[40,8],[42,8],[7,8],[43,8],[48,8],[49,8],[44,8],[45,8],[46,8],[47,8],[8,8],[53,8],[50,8],[51,8],[52,8],[54,8],[9,8],[55,8],[56,8],[57,8],[59,8],[58,8],[60,8],[61,8],[10,8],[62,8],[63,8],[64,8],[11,8],[65,8],[66,8],[67,8],[68,8],[69,8],[1,8],[70,8],[71,8],[12,8],[75,8],[73,8],[78,8],[77,8],[72,8],[76,8],[74,8],[79,8],[191,67],[202,68],[189,67],[203,69],[212,70],[181,71],[180,72],[211,73],[206,74],[210,75],[183,76],[199,77],[182,78],[209,79],[178,80],[179,74],[184,81],[185,8],[190,71],[188,81],[118,82],[213,83],[204,84],[194,85],[193,81],[195,86],[197,87],[192,88],[196,89],[207,73],[186,90],[187,91],[198,92],[119,69],[201,93],[200,81],[205,8],[117,8],[208,94],[116,95],[114,96],[115,96],[105,97],[107,98],[106,99],[96,100],[88,97],[94,101],[86,99],[109,8],[110,102],[111,102],[112,103],[97,8],[113,104],[93,8],[99,105],[90,106],[108,107],[95,108],[89,109],[98,110],[92,111],[91,99],[104,112],[87,113],[102,8],[103,8],[101,8],[100,8]],"version":"5.9.2"}
|
package/dist/index.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,WAAW,CAAC;AAC/C,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,WAAW,CAAC;AACnD,OAAO,EAAE,OAAO,IAAI,oBAAoB,EAAE,MAAM,wBAAwB,CAAC"}
|
package/dist/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;AAAA,qCAA+C;AAAtC,mHAAA,OAAO,OAAW;AAC3B,qCAAmD;AAA1C,uHAAA,OAAO,OAAe;AAC/B,+DAAyE;AAAhE,6IAAA,OAAO,OAAwB"}
|
package/dist/useBloc.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useBloc.d.ts","sourceRoot":"","sources":["../src/useBloc.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,QAAQ,EACR,eAAe,EACf,SAAS,EAGV,MAAM,YAAY,CAAC;AAGpB;;GAEG;AACH,KAAK,SAAS,CAAC,CAAC,SAAS,eAAe,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI;IACzD,SAAS,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IAC1B,YAAY,CAAC,CAAC,CAAC;CAChB,CAAC;AAEF;;GAEG;AACH,iBAAS,OAAO,CAAC,CAAC,SAAS,eAAe,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,EACvD,eAAe,EAAE,CAAC,EAClB,OAAO,CAAC,EAAE;IACR,WAAW,CAAC,EAAE,qBAAqB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1C,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC,KAAK,OAAO,EAAE,CAAC;IACpD,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC;IAC1C,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC;CAC7C,GACA,SAAS,CAAC,CAAC,CAAC,CAkMd;AAED,eAAe,OAAO,CAAC"}
|
package/dist/useBloc.js
DELETED
|
@@ -1,175 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const core_1 = require("@blac/core");
|
|
4
|
-
const react_1 = require("react");
|
|
5
|
-
/**
|
|
6
|
-
* React hook for integrating with Blac state management
|
|
7
|
-
*/
|
|
8
|
-
function useBloc(blocConstructor, options) {
|
|
9
|
-
// Create a unique identifier for this hook instance
|
|
10
|
-
const renderCount = (0, react_1.useRef)(0);
|
|
11
|
-
renderCount.current++;
|
|
12
|
-
const componentRef = (0, react_1.useRef)({});
|
|
13
|
-
// Get component name for debugging
|
|
14
|
-
const componentName = (0, react_1.useRef)('');
|
|
15
|
-
if (!componentName.current) {
|
|
16
|
-
// Try to get component name from stack trace
|
|
17
|
-
try {
|
|
18
|
-
const error = new Error();
|
|
19
|
-
const stack = error.stack || '';
|
|
20
|
-
const lines = stack.split('\n');
|
|
21
|
-
// Look for React component in stack - try multiple patterns
|
|
22
|
-
for (let i = 2; i < lines.length && i < 15; i++) {
|
|
23
|
-
const line = lines[i];
|
|
24
|
-
// Pattern 1: "at ComponentName" or "at Object.ComponentName"
|
|
25
|
-
let match = line.match(/at\s+(?:Object\.)?([A-Z][a-zA-Z0-9_$]*)/);
|
|
26
|
-
// Pattern 2: Look for component files like "ComponentName.tsx"
|
|
27
|
-
if (!match) {
|
|
28
|
-
match = line.match(/([A-Z][a-zA-Z0-9_$]*)\.tsx/);
|
|
29
|
-
}
|
|
30
|
-
// Pattern 3: Look for render functions
|
|
31
|
-
if (!match) {
|
|
32
|
-
match = line.match(/render([A-Z][a-zA-Z0-9_$]*)/);
|
|
33
|
-
if (match && match[1]) {
|
|
34
|
-
match[1] = match[1]; // Use the part after "render"
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
if (match &&
|
|
38
|
-
match[1] !== 'Object' &&
|
|
39
|
-
!match[1].startsWith('use') &&
|
|
40
|
-
!match[1].startsWith('Use')) {
|
|
41
|
-
componentName.current = match[1];
|
|
42
|
-
break;
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
// If still no name, try to get it from the bloc constructor name
|
|
46
|
-
if (!componentName.current) {
|
|
47
|
-
const blocName = blocConstructor.name;
|
|
48
|
-
if (blocName && blocName !== 'Object') {
|
|
49
|
-
// Remove 'Cubit' or 'Bloc' suffix to guess component name
|
|
50
|
-
componentName.current =
|
|
51
|
-
blocName.replace(/(Cubit|Bloc)$/, '') || 'Component';
|
|
52
|
-
}
|
|
53
|
-
else {
|
|
54
|
-
componentName.current = 'Component';
|
|
55
|
-
}
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
|
-
catch (e) {
|
|
59
|
-
componentName.current = 'Component';
|
|
60
|
-
}
|
|
61
|
-
}
|
|
62
|
-
// Pass through options
|
|
63
|
-
const normalizedOptions = options;
|
|
64
|
-
// Generate instance id from static props if needed
|
|
65
|
-
const instanceKey = (0, react_1.useMemo)(() => {
|
|
66
|
-
if (normalizedOptions?.instanceId) {
|
|
67
|
-
return normalizedOptions.instanceId;
|
|
68
|
-
}
|
|
69
|
-
if (normalizedOptions?.staticProps) {
|
|
70
|
-
return (0, core_1.generateInstanceIdFromProps)(normalizedOptions.staticProps) || null;
|
|
71
|
-
}
|
|
72
|
-
return null;
|
|
73
|
-
}, [normalizedOptions?.instanceId, normalizedOptions?.staticProps]);
|
|
74
|
-
// Track adapter creation - recreate when instanceId/staticProps change
|
|
75
|
-
const adapter = (0, react_1.useMemo)(() => {
|
|
76
|
-
const newAdapter = new core_1.BlacAdapter({
|
|
77
|
-
componentRef: componentRef,
|
|
78
|
-
blocConstructor,
|
|
79
|
-
}, {
|
|
80
|
-
instanceId: normalizedOptions?.instanceId,
|
|
81
|
-
dependencies: normalizedOptions?.dependencies,
|
|
82
|
-
staticProps: normalizedOptions?.staticProps,
|
|
83
|
-
onMount: normalizedOptions?.onMount,
|
|
84
|
-
onUnmount: normalizedOptions?.onUnmount,
|
|
85
|
-
});
|
|
86
|
-
// Set component name for rerender logging
|
|
87
|
-
if (componentName.current) {
|
|
88
|
-
newAdapter.setComponentName(componentName.current);
|
|
89
|
-
}
|
|
90
|
-
return newAdapter;
|
|
91
|
-
}, [blocConstructor, instanceKey]); // Recreate adapter when instance key changes
|
|
92
|
-
// Reset tracking at the start of each render to ensure we only track
|
|
93
|
-
// properties accessed during the current render
|
|
94
|
-
adapter.resetTracking();
|
|
95
|
-
// Notify plugins about render
|
|
96
|
-
adapter.notifyRender();
|
|
97
|
-
// Update adapter options when they change (except instanceId/staticProps which recreate the adapter)
|
|
98
|
-
const optionsChangeCount = (0, react_1.useRef)(0);
|
|
99
|
-
(0, react_1.useEffect)(() => {
|
|
100
|
-
optionsChangeCount.current++;
|
|
101
|
-
adapter.options = {
|
|
102
|
-
instanceId: normalizedOptions?.instanceId,
|
|
103
|
-
dependencies: normalizedOptions?.dependencies,
|
|
104
|
-
staticProps: normalizedOptions?.staticProps,
|
|
105
|
-
onMount: normalizedOptions?.onMount,
|
|
106
|
-
onUnmount: normalizedOptions?.onUnmount,
|
|
107
|
-
};
|
|
108
|
-
}, [
|
|
109
|
-
adapter,
|
|
110
|
-
normalizedOptions?.dependencies,
|
|
111
|
-
normalizedOptions?.onMount,
|
|
112
|
-
normalizedOptions?.onUnmount,
|
|
113
|
-
]);
|
|
114
|
-
// Register as consumer and handle lifecycle
|
|
115
|
-
const mountEffectCount = (0, react_1.useRef)(0);
|
|
116
|
-
(0, react_1.useEffect)(() => {
|
|
117
|
-
mountEffectCount.current++;
|
|
118
|
-
adapter.mount();
|
|
119
|
-
return () => {
|
|
120
|
-
adapter.unmount();
|
|
121
|
-
};
|
|
122
|
-
}, [adapter]);
|
|
123
|
-
// Subscribe to state changes using useSyncExternalStore
|
|
124
|
-
const subscribeMemoCount = (0, react_1.useRef)(0);
|
|
125
|
-
const subscribe = (0, react_1.useMemo)(() => {
|
|
126
|
-
subscribeMemoCount.current++;
|
|
127
|
-
let subscriptionCount = 0;
|
|
128
|
-
return (onStoreChange) => {
|
|
129
|
-
subscriptionCount++;
|
|
130
|
-
const unsubscribe = adapter.createSubscription({
|
|
131
|
-
onChange: () => {
|
|
132
|
-
onStoreChange();
|
|
133
|
-
},
|
|
134
|
-
});
|
|
135
|
-
return () => {
|
|
136
|
-
unsubscribe();
|
|
137
|
-
};
|
|
138
|
-
};
|
|
139
|
-
}, [adapter]);
|
|
140
|
-
const snapshotCount = (0, react_1.useRef)(0);
|
|
141
|
-
const serverSnapshotCount = (0, react_1.useRef)(0);
|
|
142
|
-
const rawState = (0, react_1.useSyncExternalStore)(subscribe,
|
|
143
|
-
// Get snapshot
|
|
144
|
-
() => {
|
|
145
|
-
snapshotCount.current++;
|
|
146
|
-
const bloc = adapter.blocInstance;
|
|
147
|
-
const state = bloc.state;
|
|
148
|
-
return state;
|
|
149
|
-
},
|
|
150
|
-
// Get server snapshot (same as client for now)
|
|
151
|
-
() => {
|
|
152
|
-
const bloc = adapter.blocInstance;
|
|
153
|
-
serverSnapshotCount.current++;
|
|
154
|
-
const state = bloc.state;
|
|
155
|
-
return state;
|
|
156
|
-
});
|
|
157
|
-
// Create proxies for fine-grained tracking (if enabled)
|
|
158
|
-
const stateMemoCount = (0, react_1.useRef)(0);
|
|
159
|
-
const finalState = (0, react_1.useMemo)(() => {
|
|
160
|
-
stateMemoCount.current++;
|
|
161
|
-
// Always return the proxy - it will handle whether to actually proxy or not
|
|
162
|
-
const proxyState = adapter.getStateProxy();
|
|
163
|
-
return proxyState;
|
|
164
|
-
}, [rawState, adapter]);
|
|
165
|
-
const blocMemoCount = (0, react_1.useRef)(0);
|
|
166
|
-
const finalBloc = (0, react_1.useMemo)(() => {
|
|
167
|
-
blocMemoCount.current++;
|
|
168
|
-
const proxyBloc = adapter.getBlocProxy();
|
|
169
|
-
return proxyBloc;
|
|
170
|
-
}, [adapter]);
|
|
171
|
-
// Log final hook return
|
|
172
|
-
return [finalState, finalBloc];
|
|
173
|
-
}
|
|
174
|
-
exports.default = useBloc;
|
|
175
|
-
//# sourceMappingURL=useBloc.js.map
|
package/dist/useBloc.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useBloc.js","sourceRoot":"","sources":["../src/useBloc.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
import { BlocBase, BlocConstructor, BlocState } from '@blac/core';
|
|
2
|
-
interface ExternalStoreOptions<B extends BlocBase<any>> {
|
|
3
|
-
id?: string;
|
|
4
|
-
staticProps?: ConstructorParameters<BlocConstructor<B>>[0];
|
|
5
|
-
selector?: (currentState: BlocState<B>, previousState: BlocState<B>, instance: B) => any[];
|
|
6
|
-
}
|
|
7
|
-
interface ExternalStore<T> {
|
|
8
|
-
getSnapshot: () => T | undefined;
|
|
9
|
-
subscribe: (listener: () => void) => () => void;
|
|
10
|
-
getServerSnapshot?: () => T | undefined;
|
|
11
|
-
}
|
|
12
|
-
interface ExternalBlocStoreResult<B extends BlocBase<any>> {
|
|
13
|
-
externalStore: ExternalStore<BlocState<B>>;
|
|
14
|
-
instance: {
|
|
15
|
-
current: B | null;
|
|
16
|
-
};
|
|
17
|
-
usedKeys: {
|
|
18
|
-
current: Set<string>;
|
|
19
|
-
};
|
|
20
|
-
usedClassPropKeys: {
|
|
21
|
-
current: Set<string>;
|
|
22
|
-
};
|
|
23
|
-
rid: string;
|
|
24
|
-
}
|
|
25
|
-
/**
|
|
26
|
-
* Hook for using an external bloc store
|
|
27
|
-
* Provides low-level access to bloc instances for use with React's useSyncExternalStore
|
|
28
|
-
*/
|
|
29
|
-
export default function useExternalBlocStore<B extends BlocConstructor<BlocBase<any>>>(blocConstructor: B, options?: ExternalStoreOptions<InstanceType<B>>): ExternalBlocStoreResult<InstanceType<B>>;
|
|
30
|
-
export {};
|
|
31
|
-
//# sourceMappingURL=useExternalBlocStore.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useExternalBlocStore.d.ts","sourceRoot":"","sources":["../src/useExternalBlocStore.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,QAAQ,EACR,eAAe,EACf,SAAS,EAEV,MAAM,YAAY,CAAC;AAGpB,UAAU,oBAAoB,CAAC,CAAC,SAAS,QAAQ,CAAC,GAAG,CAAC;IACpD,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,WAAW,CAAC,EAAE,qBAAqB,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3D,QAAQ,CAAC,EAAE,CACT,YAAY,EAAE,SAAS,CAAC,CAAC,CAAC,EAC1B,aAAa,EAAE,SAAS,CAAC,CAAC,CAAC,EAC3B,QAAQ,EAAE,CAAC,KACR,GAAG,EAAE,CAAC;CACZ;AAED,UAAU,aAAa,CAAC,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC,GAAG,SAAS,CAAC;IACjC,SAAS,EAAE,CAAC,QAAQ,EAAE,MAAM,IAAI,KAAK,MAAM,IAAI,CAAC;IAChD,iBAAiB,CAAC,EAAE,MAAM,CAAC,GAAG,SAAS,CAAC;CACzC;AAED,UAAU,uBAAuB,CAAC,CAAC,SAAS,QAAQ,CAAC,GAAG,CAAC;IACvD,aAAa,EAAE,aAAa,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3C,QAAQ,EAAE;QAAE,OAAO,EAAE,CAAC,GAAG,IAAI,CAAA;KAAE,CAAC;IAChC,QAAQ,EAAE;QAAE,OAAO,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;KAAE,CAAC;IACnC,iBAAiB,EAAE;QAAE,OAAO,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;KAAE,CAAC;IAC5C,GAAG,EAAE,MAAM,CAAC;CACb;AAED;;;GAGG;AACH,MAAM,CAAC,OAAO,UAAU,oBAAoB,CAC1C,CAAC,SAAS,eAAe,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,EAExC,eAAe,EAAE,CAAC,EAClB,OAAO,GAAE,oBAAoB,CAAC,YAAY,CAAC,CAAC,CAAC,CAAM,GAClD,uBAAuB,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAsG1C"}
|
|
@@ -1,93 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.default = useExternalBlocStore;
|
|
4
|
-
const core_1 = require("@blac/core");
|
|
5
|
-
const react_1 = require("react");
|
|
6
|
-
/**
|
|
7
|
-
* Hook for using an external bloc store
|
|
8
|
-
* Provides low-level access to bloc instances for use with React's useSyncExternalStore
|
|
9
|
-
*/
|
|
10
|
-
function useExternalBlocStore(blocConstructor, options = {}) {
|
|
11
|
-
const ridRef = (0, react_1.useRef)(`external-${(0, core_1.generateUUID)()}`);
|
|
12
|
-
const usedKeysRef = (0, react_1.useRef)(new Set());
|
|
13
|
-
const usedClassPropKeysRef = (0, react_1.useRef)(new Set());
|
|
14
|
-
const instanceRef = (0, react_1.useRef)(null);
|
|
15
|
-
// Get or create bloc instance
|
|
16
|
-
const bloc = (0, react_1.useMemo)(() => {
|
|
17
|
-
const blac = core_1.Blac.getInstance();
|
|
18
|
-
const base = blocConstructor;
|
|
19
|
-
// For isolated blocs, always create a new instance
|
|
20
|
-
if (base.constructor.isolated ||
|
|
21
|
-
blocConstructor.isolated) {
|
|
22
|
-
const newBloc = new blocConstructor(options?.staticProps);
|
|
23
|
-
const uniqueId = options?.id || `${blocConstructor.name}_${(0, core_1.generateUUID)()}`;
|
|
24
|
-
newBloc._id = uniqueId;
|
|
25
|
-
blac.activateBloc(newBloc);
|
|
26
|
-
return newBloc;
|
|
27
|
-
}
|
|
28
|
-
// For shared blocs, use the existing getBloc logic
|
|
29
|
-
return blac.getBloc(blocConstructor, {
|
|
30
|
-
id: options?.id,
|
|
31
|
-
constructorParams: options?.staticProps,
|
|
32
|
-
});
|
|
33
|
-
}, [blocConstructor, options?.id]);
|
|
34
|
-
// Create external store interface
|
|
35
|
-
const externalStore = (0, react_1.useMemo)(() => ({
|
|
36
|
-
getSnapshot: () => {
|
|
37
|
-
const currentInstance = instanceRef.current;
|
|
38
|
-
return currentInstance ? currentInstance.state : undefined;
|
|
39
|
-
},
|
|
40
|
-
subscribe: (listener) => {
|
|
41
|
-
const currentInstance = instanceRef.current;
|
|
42
|
-
if (!currentInstance) {
|
|
43
|
-
// Return no-op unsubscribe if no instance
|
|
44
|
-
return () => { };
|
|
45
|
-
}
|
|
46
|
-
// Wrap listener to handle errors gracefully
|
|
47
|
-
const safeListener = (newState, oldState) => {
|
|
48
|
-
try {
|
|
49
|
-
// Reset tracking keys on each listener call
|
|
50
|
-
usedKeysRef.current.clear();
|
|
51
|
-
usedClassPropKeysRef.current.clear();
|
|
52
|
-
// Call selector if provided
|
|
53
|
-
if (options.selector && currentInstance) {
|
|
54
|
-
options.selector(newState, oldState, currentInstance);
|
|
55
|
-
}
|
|
56
|
-
// Call listener with state if it expects it
|
|
57
|
-
if (listener.length > 0) {
|
|
58
|
-
listener(newState);
|
|
59
|
-
}
|
|
60
|
-
else {
|
|
61
|
-
listener();
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
catch (error) {
|
|
65
|
-
console.error('Listener error in useExternalBlocStore:', error);
|
|
66
|
-
// Don't rethrow to prevent breaking other listeners
|
|
67
|
-
}
|
|
68
|
-
};
|
|
69
|
-
// Store the previous state for the listener
|
|
70
|
-
let previousState = currentInstance.state;
|
|
71
|
-
const unsubscribe = currentInstance.subscribe((state) => {
|
|
72
|
-
const oldState = previousState;
|
|
73
|
-
previousState = state;
|
|
74
|
-
safeListener(state, oldState);
|
|
75
|
-
});
|
|
76
|
-
return unsubscribe;
|
|
77
|
-
},
|
|
78
|
-
getServerSnapshot: () => {
|
|
79
|
-
const currentInstance = instanceRef.current;
|
|
80
|
-
return currentInstance ? currentInstance.state : undefined;
|
|
81
|
-
},
|
|
82
|
-
}), []);
|
|
83
|
-
// Update instance ref
|
|
84
|
-
instanceRef.current = bloc;
|
|
85
|
-
return {
|
|
86
|
-
externalStore,
|
|
87
|
-
instance: instanceRef,
|
|
88
|
-
usedKeys: usedKeysRef,
|
|
89
|
-
usedClassPropKeys: usedClassPropKeysRef,
|
|
90
|
-
rid: ridRef.current,
|
|
91
|
-
};
|
|
92
|
-
}
|
|
93
|
-
//# sourceMappingURL=useExternalBlocStore.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useExternalBlocStore.js","sourceRoot":"","sources":["../src/useExternalBlocStore.ts"],"names":[],"mappings":"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"}
|