@variojs/core 0.0.2 → 0.1.1
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.d.ts +830 -17
- package/dist/index.js +9 -1
- package/dist/index.js.map +1 -1
- package/package.json +6 -5
- package/dist/errors.d.ts +0 -100
- package/dist/errors.d.ts.map +0 -1
- package/dist/errors.js +0 -4
- package/dist/errors.js.map +0 -1
- package/dist/expression/cache.d.ts +0 -53
- package/dist/expression/cache.d.ts.map +0 -1
- package/dist/expression/cache.js +0 -1
- package/dist/expression/cache.js.map +0 -1
- package/dist/expression/compiler.d.ts +0 -34
- package/dist/expression/compiler.d.ts.map +0 -1
- package/dist/expression/compiler.js +0 -1
- package/dist/expression/compiler.js.map +0 -1
- package/dist/expression/dependencies.d.ts +0 -17
- package/dist/expression/dependencies.d.ts.map +0 -1
- package/dist/expression/dependencies.js +0 -1
- package/dist/expression/dependencies.js.map +0 -1
- package/dist/expression/evaluate.d.ts +0 -22
- package/dist/expression/evaluate.d.ts.map +0 -1
- package/dist/expression/evaluate.js +0 -2
- package/dist/expression/evaluate.js.map +0 -1
- package/dist/expression/evaluator.d.ts +0 -22
- package/dist/expression/evaluator.d.ts.map +0 -1
- package/dist/expression/evaluator.js +0 -1
- package/dist/expression/evaluator.js.map +0 -1
- package/dist/expression/index.d.ts +0 -12
- package/dist/expression/index.d.ts.map +0 -1
- package/dist/expression/index.js +0 -1
- package/dist/expression/index.js.map +0 -1
- package/dist/expression/parser.d.ts +0 -15
- package/dist/expression/parser.d.ts.map +0 -1
- package/dist/expression/parser.js +0 -1
- package/dist/expression/parser.js.map +0 -1
- package/dist/expression/utils.d.ts +0 -46
- package/dist/expression/utils.d.ts.map +0 -1
- package/dist/expression/utils.js +0 -1
- package/dist/expression/utils.js.map +0 -1
- package/dist/expression/whitelist.d.ts +0 -24
- package/dist/expression/whitelist.d.ts.map +0 -1
- package/dist/expression/whitelist.js +0 -3
- package/dist/expression/whitelist.js.map +0 -1
- package/dist/index.d.ts.map +0 -1
- package/dist/runtime/context.d.ts +0 -8
- package/dist/runtime/context.d.ts.map +0 -1
- package/dist/runtime/context.js +0 -1
- package/dist/runtime/context.js.map +0 -1
- package/dist/runtime/create-context.d.ts +0 -20
- package/dist/runtime/create-context.d.ts.map +0 -1
- package/dist/runtime/create-context.js +0 -1
- package/dist/runtime/create-context.js.map +0 -1
- package/dist/runtime/index.d.ts +0 -10
- package/dist/runtime/index.d.ts.map +0 -1
- package/dist/runtime/index.js +0 -1
- package/dist/runtime/index.js.map +0 -1
- package/dist/runtime/loop-context-pool.d.ts +0 -58
- package/dist/runtime/loop-context-pool.d.ts.map +0 -1
- package/dist/runtime/loop-context-pool.js +0 -1
- package/dist/runtime/loop-context-pool.js.map +0 -1
- package/dist/runtime/path.d.ts +0 -114
- package/dist/runtime/path.d.ts.map +0 -1
- package/dist/runtime/path.js +0 -1
- package/dist/runtime/path.js.map +0 -1
- package/dist/runtime/proxy.d.ts +0 -18
- package/dist/runtime/proxy.d.ts.map +0 -1
- package/dist/runtime/proxy.js +0 -1
- package/dist/runtime/proxy.js.map +0 -1
- package/dist/runtime/sandbox.d.ts +0 -20
- package/dist/runtime/sandbox.d.ts.map +0 -1
- package/dist/runtime/sandbox.js +0 -1
- package/dist/runtime/sandbox.js.map +0 -1
- package/dist/types.d.ts +0 -191
- package/dist/types.d.ts.map +0 -1
- package/dist/types.js +0 -1
- package/dist/types.js.map +0 -1
- package/dist/vm/errors.d.ts +0 -5
- package/dist/vm/errors.d.ts.map +0 -1
- package/dist/vm/errors.js +0 -1
- package/dist/vm/errors.js.map +0 -1
- package/dist/vm/executor.d.ts +0 -35
- package/dist/vm/executor.d.ts.map +0 -1
- package/dist/vm/executor.js +0 -2
- package/dist/vm/executor.js.map +0 -1
- package/dist/vm/handlers/array/pop.d.ts +0 -12
- package/dist/vm/handlers/array/pop.d.ts.map +0 -1
- package/dist/vm/handlers/array/pop.js +0 -1
- package/dist/vm/handlers/array/pop.js.map +0 -1
- package/dist/vm/handlers/array/push.d.ts +0 -13
- package/dist/vm/handlers/array/push.d.ts.map +0 -1
- package/dist/vm/handlers/array/push.js +0 -1
- package/dist/vm/handlers/array/push.js.map +0 -1
- package/dist/vm/handlers/array/shift.d.ts +0 -12
- package/dist/vm/handlers/array/shift.d.ts.map +0 -1
- package/dist/vm/handlers/array/shift.js +0 -1
- package/dist/vm/handlers/array/shift.js.map +0 -1
- package/dist/vm/handlers/array/splice.d.ts +0 -12
- package/dist/vm/handlers/array/splice.d.ts.map +0 -1
- package/dist/vm/handlers/array/splice.js +0 -1
- package/dist/vm/handlers/array/splice.js.map +0 -1
- package/dist/vm/handlers/array/unshift.d.ts +0 -13
- package/dist/vm/handlers/array/unshift.d.ts.map +0 -1
- package/dist/vm/handlers/array/unshift.js +0 -1
- package/dist/vm/handlers/array/unshift.js.map +0 -1
- package/dist/vm/handlers/array/utils.d.ts +0 -10
- package/dist/vm/handlers/array/utils.d.ts.map +0 -1
- package/dist/vm/handlers/array/utils.js +0 -1
- package/dist/vm/handlers/array/utils.js.map +0 -1
- package/dist/vm/handlers/batch.d.ts +0 -12
- package/dist/vm/handlers/batch.d.ts.map +0 -1
- package/dist/vm/handlers/batch.js +0 -1
- package/dist/vm/handlers/batch.js.map +0 -1
- package/dist/vm/handlers/call.d.ts +0 -14
- package/dist/vm/handlers/call.d.ts.map +0 -1
- package/dist/vm/handlers/call.js +0 -1
- package/dist/vm/handlers/call.js.map +0 -1
- package/dist/vm/handlers/emit.d.ts +0 -12
- package/dist/vm/handlers/emit.d.ts.map +0 -1
- package/dist/vm/handlers/emit.js +0 -1
- package/dist/vm/handlers/emit.js.map +0 -1
- package/dist/vm/handlers/if.d.ts +0 -13
- package/dist/vm/handlers/if.d.ts.map +0 -1
- package/dist/vm/handlers/if.js +0 -1
- package/dist/vm/handlers/if.js.map +0 -1
- package/dist/vm/handlers/index.d.ts +0 -14
- package/dist/vm/handlers/index.d.ts.map +0 -1
- package/dist/vm/handlers/index.js +0 -1
- package/dist/vm/handlers/index.js.map +0 -1
- package/dist/vm/handlers/log.d.ts +0 -12
- package/dist/vm/handlers/log.d.ts.map +0 -1
- package/dist/vm/handlers/log.js +0 -1
- package/dist/vm/handlers/log.js.map +0 -1
- package/dist/vm/handlers/loop.d.ts +0 -12
- package/dist/vm/handlers/loop.d.ts.map +0 -1
- package/dist/vm/handlers/loop.js +0 -1
- package/dist/vm/handlers/loop.js.map +0 -1
- package/dist/vm/handlers/navigate.d.ts +0 -12
- package/dist/vm/handlers/navigate.d.ts.map +0 -1
- package/dist/vm/handlers/navigate.js +0 -1
- package/dist/vm/handlers/navigate.js.map +0 -1
- package/dist/vm/handlers/set.d.ts +0 -15
- package/dist/vm/handlers/set.d.ts.map +0 -1
- package/dist/vm/handlers/set.js +0 -1
- package/dist/vm/handlers/set.js.map +0 -1
- package/dist/vm/index.d.ts +0 -8
- package/dist/vm/index.d.ts.map +0 -1
- package/dist/vm/index.js +0 -1
- package/dist/vm/index.js.map +0 -1
package/dist/runtime/context.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{createRuntimeContext as o}from"./create-context.js";export{o as createRuntimeContext};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"context.js","sourceRoot":"","sources":["../../src/runtime/context.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAA"}
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* RuntimeContext 创建工厂
|
|
3
|
-
*
|
|
4
|
-
* 实现要点:扁平化状态存储、系统 API 保护、命名冲突检测、Proxy 保护。
|
|
5
|
-
* 复杂类型见 ../types.ts(CreateContextOptions、OnStateChangeCallback 等)。
|
|
6
|
-
*/
|
|
7
|
-
import type { RuntimeContext, CreateContextOptions } from '../types.js';
|
|
8
|
-
/**
|
|
9
|
-
* 创建运行时上下文(传入具体 initialState 时,TState 从实参自动推导)
|
|
10
|
-
*/
|
|
11
|
-
export declare function createRuntimeContext<TState extends Record<string, unknown>>(initialState: TState, options?: CreateContextOptions<TState>): RuntimeContext<TState>;
|
|
12
|
-
/**
|
|
13
|
-
* 创建运行时上下文(显式指定 TState 时可传空或部分初始状态,如 createRuntimeContext<MyState>({}, options))
|
|
14
|
-
*/
|
|
15
|
-
export declare function createRuntimeContext<TState extends Record<string, unknown>>(initialState: Partial<TState> & Record<string, unknown>, options?: CreateContextOptions<TState>): RuntimeContext<TState>;
|
|
16
|
-
/**
|
|
17
|
-
* 创建运行时上下文(不传或传空且未指定 TState 时,退回 Record<string, unknown>)
|
|
18
|
-
*/
|
|
19
|
-
export declare function createRuntimeContext(initialState?: Record<string, unknown>, options?: CreateContextOptions<Record<string, unknown>>): RuntimeContext<Record<string, unknown>>;
|
|
20
|
-
//# sourceMappingURL=create-context.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"create-context.d.ts","sourceRoot":"","sources":["../../src/runtime/create-context.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EACV,cAAc,EACd,oBAAoB,EAKrB,MAAM,aAAa,CAAA;AAMpB;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACzE,YAAY,EAAE,MAAM,EACpB,OAAO,CAAC,EAAE,oBAAoB,CAAC,MAAM,CAAC,GACrC,cAAc,CAAC,MAAM,CAAC,CAAA;AACzB;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACzE,YAAY,EAAE,OAAO,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACvD,OAAO,CAAC,EAAE,oBAAoB,CAAC,MAAM,CAAC,GACrC,cAAc,CAAC,MAAM,CAAC,CAAA;AACzB;;GAEG;AACH,wBAAgB,oBAAoB,CAClC,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACtC,OAAO,CAAC,EAAE,oBAAoB,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GACtD,cAAc,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{createProxy as l}from"./proxy.js";import{registerBuiltinMethods as u}from"../vm/handlers/index.js";import{getPathValue as x,setPathValue as P}from"./path.js";import{invalidateCache as g}from"../expression/cache.js";function k(o={},r={}){y(o);const{onEmit:n,methods:m={},onStateChange:a,createObject:f=()=>({}),createArray:h=()=>[],exprOptions:p}=r;let s=null;const e={...o,$emit:(t,i)=>{n&&n(t,i)},$methods:m,$exprOptions:p,_get:t=>x(e,t),_set:(t,i,d)=>{P(e,t,i,{createObject:f,createArray:h}),g(t,s||e),a&&!d?.skipCallback&&a(t,i,s||e)}};u(e);const c=l(e);return s=c,c}function y(o){for(const r in o)if(r.startsWith("$")||r.startsWith("_"))throw new Error(`Property name "${r}" conflicts with system API. Properties starting with "$" or "_" are reserved. Use a different name.`)}export{k as createRuntimeContext};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"create-context.js","sourceRoot":"","sources":["../../src/runtime/create-context.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAUH,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AACxC,OAAO,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAA;AAChE,OAAO,EAAE,YAAY,IAAI,OAAO,EAAE,YAAY,IAAI,OAAO,EAAE,MAAM,WAAW,CAAA;AAC5E,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AAuBxD,MAAM,UAAU,oBAAoB,CAClC,eAA0D,EAA+C,EACzG,UAAwF,EAAE;IAE1F,YAAY;IACZ,iBAAiB,CAAC,YAAY,CAAC,CAAA;IAE/B,MAAM,EACJ,MAAM,EACN,OAAO,GAAG,EAAE,EACZ,aAAa,EACb,YAAY,GAAG,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,EACzB,WAAW,GAAG,GAAG,EAAE,CAAC,EAAE,EACtB,WAAW,EACZ,GAAG,OAAO,CAAA;IAEX,oDAAoD;IACpD,IAAI,UAAU,GAAkC,IAAI,CAAA;IAEpD,eAAe;IACf,MAAM,GAAG,GAAG;QACV,GAAG,YAAY;QACf,KAAK,EAAE,CAAC,KAAa,EAAE,IAAc,EAAE,EAAE;YACvC,IAAI,MAAM,EAAE,CAAC;gBACX,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,CAAA;YACrB,CAAC;QACH,CAAC;QACD,QAAQ,EAAE,OAA0B;QACpC,YAAY,EAAE,WAAW;QACzB,IAAI,EAAE,CAAuB,IAAW,EAA+B,EAAE;YACvE,OAAO,OAAO,CAAC,GAA8B,EAAE,IAAI,CAAgC,CAAA;QACrF,CAAC;QACD,IAAI,EAAE,CAAuB,IAAW,EAAE,KAAkC,EAAE,OAAoC,EAAQ,EAAE;YAC1H,OAAO,CAAC,GAA8B,EAAE,IAAI,EAAE,KAAK,EAAE;gBACnD,YAAY;gBACZ,WAAW;aACZ,CAAC,CAAA;YACF,+BAA+B;YAC/B,eAAe,CAAC,IAAI,EAAE,CAAC,UAAU,IAAI,GAAG,CAAmB,CAAC,CAAA;YAC5D,IAAI,aAAa,IAAI,CAAC,OAAO,EAAE,YAAY,EAAE,CAAC;gBAC5C,CAAC;gBAAC,aAA+C,CAAC,IAAI,EAAE,KAAK,EAAE,UAAU,IAAI,GAAG,CAAC,CAAA;YACnF,CAAC;QACH,CAAC;KACwB,CAAA;IAE3B,6FAA6F;IAC7F,sBAAsB,CAAC,GAAgC,CAAC,CAAA;IAExD,uBAAuB;IACvB,MAAM,OAAO,GAAG,WAAW,CAAC,GAAgC,CAA2B,CAAA;IAEvF,4BAA4B;IAC5B,UAAU,GAAG,OAAO,CAAA;IAEpB,OAAO,OAAO,CAAA;AAChB,CAAC;AAED;;GAEG;AACH,SAAS,iBAAiB,CAAC,KAA8B;IACvD,KAAK,MAAM,GAAG,IAAI,KAAK,EAAE,CAAC;QACxB,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YAC/C,MAAM,IAAI,KAAK,CACb,kBAAkB,GAAG,+BAA+B;gBACpD,yEAAyE,CAC1E,CAAA;QACH,CAAC;IACH,CAAC;AACH,CAAC"}
|
package/dist/runtime/index.d.ts
DELETED
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Runtime 模块导出
|
|
3
|
-
*/
|
|
4
|
-
export { createRuntimeContext } from './create-context.js';
|
|
5
|
-
export { createProxy } from './proxy.js';
|
|
6
|
-
export { createExpressionSandbox, isSafePropertyAccess } from './sandbox.js';
|
|
7
|
-
export { createLoopContext, releaseLoopContext, getLoopContextPool, clearLoopContextPool } from './loop-context-pool.js';
|
|
8
|
-
export type { RuntimeContext } from '../types.js';
|
|
9
|
-
export { parsePath, parsePathCached, clearPathCache, stringifyPath, getPathValue, setPathValue, matchPath, getParentPath, getLastSegment, type PathSegment } from './path.js';
|
|
10
|
-
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/runtime/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAA;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AACxC,OAAO,EAAE,uBAAuB,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAA;AAC5E,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EAClB,kBAAkB,EAClB,oBAAoB,EACrB,MAAM,wBAAwB,CAAA;AAC/B,YAAY,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAGjD,OAAO,EACL,SAAS,EACT,eAAe,EACf,cAAc,EACd,aAAa,EACb,YAAY,EACZ,YAAY,EACZ,SAAS,EACT,aAAa,EACb,cAAc,EACd,KAAK,WAAW,EACjB,MAAM,WAAW,CAAA"}
|
package/dist/runtime/index.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{createRuntimeContext as o}from"./create-context.js";import{createProxy as r}from"./proxy.js";import{createExpressionSandbox as x,isSafePropertyAccess as P}from"./sandbox.js";import{createLoopContext as h,releaseLoopContext as n,getLoopContextPool as s,clearLoopContextPool as m}from"./loop-context-pool.js";import{parsePath as l,parsePathCached as C,clearPathCache as g,stringifyPath as i,getPathValue as L,setPathValue as u,matchPath as y,getParentPath as S,getLastSegment as d}from"./path.js";export{m as clearLoopContextPool,g as clearPathCache,x as createExpressionSandbox,h as createLoopContext,r as createProxy,o as createRuntimeContext,d as getLastSegment,s as getLoopContextPool,S as getParentPath,L as getPathValue,P as isSafePropertyAccess,y as matchPath,l as parsePath,C as parsePathCached,n as releaseLoopContext,u as setPathValue,i as stringifyPath};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/runtime/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAA;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AACxC,OAAO,EAAE,uBAAuB,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAA;AAC5E,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EAClB,kBAAkB,EAClB,oBAAoB,EACrB,MAAM,wBAAwB,CAAA;AAG/B,iBAAiB;AACjB,OAAO,EACL,SAAS,EACT,eAAe,EACf,cAAc,EACd,aAAa,EACb,YAAY,EACZ,YAAY,EACZ,SAAS,EACT,aAAa,EACb,cAAc,EAEf,MAAM,WAAW,CAAA"}
|
|
@@ -1,58 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* 循环上下文对象池
|
|
3
|
-
*
|
|
4
|
-
* 功能:
|
|
5
|
-
* - 复用循环上下文对象,减少内存分配
|
|
6
|
-
* - 提升循环性能
|
|
7
|
-
* - 自动清理和重置
|
|
8
|
-
*/
|
|
9
|
-
import type { RuntimeContext } from '../types.js';
|
|
10
|
-
/**
|
|
11
|
-
* 循环上下文对象池
|
|
12
|
-
*/
|
|
13
|
-
declare class LoopContextPool {
|
|
14
|
-
private pool;
|
|
15
|
-
private maxSize;
|
|
16
|
-
constructor(maxSize?: number);
|
|
17
|
-
/**
|
|
18
|
-
* 获取一个循环上下文对象
|
|
19
|
-
*/
|
|
20
|
-
acquire(): Partial<RuntimeContext>;
|
|
21
|
-
/**
|
|
22
|
-
* 释放循环上下文对象回池中
|
|
23
|
-
*/
|
|
24
|
-
release(ctx: Partial<RuntimeContext>): void;
|
|
25
|
-
/**
|
|
26
|
-
* 清空对象池
|
|
27
|
-
*/
|
|
28
|
-
clear(): void;
|
|
29
|
-
/**
|
|
30
|
-
* 获取池大小
|
|
31
|
-
*/
|
|
32
|
-
get size(): number;
|
|
33
|
-
}
|
|
34
|
-
/**
|
|
35
|
-
* 获取全局循环上下文对象池
|
|
36
|
-
*/
|
|
37
|
-
export declare function getLoopContextPool(): LoopContextPool;
|
|
38
|
-
/**
|
|
39
|
-
* 创建循环上下文(使用对象池)
|
|
40
|
-
*
|
|
41
|
-
* @param parentCtx 父上下文
|
|
42
|
-
* @param item 循环项
|
|
43
|
-
* @param index 循环索引
|
|
44
|
-
* @returns 循环上下文
|
|
45
|
-
*/
|
|
46
|
-
export declare function createLoopContext(parentCtx: RuntimeContext, item: unknown, index: number): RuntimeContext;
|
|
47
|
-
/**
|
|
48
|
-
* 释放循环上下文(回收到对象池)
|
|
49
|
-
*
|
|
50
|
-
* @param loopCtx 循环上下文
|
|
51
|
-
*/
|
|
52
|
-
export declare function releaseLoopContext(loopCtx: Partial<RuntimeContext>): void;
|
|
53
|
-
/**
|
|
54
|
-
* 清空对象池(用于测试或重置)
|
|
55
|
-
*/
|
|
56
|
-
export declare function clearLoopContextPool(): void;
|
|
57
|
-
export {};
|
|
58
|
-
//# sourceMappingURL=loop-context-pool.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"loop-context-pool.d.ts","sourceRoot":"","sources":["../../src/runtime/loop-context-pool.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAEjD;;GAEG;AACH,cAAM,eAAe;IACnB,OAAO,CAAC,IAAI,CAAqC;IACjD,OAAO,CAAC,OAAO,CAAQ;gBAEX,OAAO,GAAE,MAAW;IAIhC;;OAEG;IACH,OAAO,IAAI,OAAO,CAAC,cAAc,CAAC;IAOlC;;OAEG;IACH,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,cAAc,CAAC,GAAG,IAAI;IAsB3C;;OAEG;IACH,KAAK,IAAI,IAAI;IAIb;;OAEG;IACH,IAAI,IAAI,IAAI,MAAM,CAEjB;CACF;AAOD;;GAEG;AACH,wBAAgB,kBAAkB,IAAI,eAAe,CAKpD;AAED;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAC/B,SAAS,EAAE,cAAc,EACzB,IAAI,EAAE,OAAO,EACb,KAAK,EAAE,MAAM,GACZ,cAAc,CAehB;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,OAAO,CAAC,cAAc,CAAC,GAAG,IAAI,CAGzE;AAED;;GAEG;AACH,wBAAgB,oBAAoB,IAAI,IAAI,CAI3C"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
class p{pool=[];maxSize;constructor(o=10){this.maxSize=o}acquire(){return this.pool.length>0?this.pool.pop():{}}release(o){"$item"in o&&delete o.$item,"$index"in o&&delete o.$index;const i=[];for(const e in o)!e.startsWith("$")&&!e.startsWith("_")&&i.push(e);for(const e of i)delete o[e];this.pool.length<this.maxSize&&this.pool.push(o)}clear(){this.pool.length=0}get size(){return this.pool.length}}let t=null;function s(){return t||(t=new p),t}function a(n,o,i){const r=s().acquire(),l=Object.create(n);return Object.assign(l,r),l.$item=o,l.$index=i,l}function c(n){s().release(n)}function h(){t&&t.clear()}export{h as clearLoopContextPool,a as createLoopContext,s as getLoopContextPool,c as releaseLoopContext};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"loop-context-pool.js","sourceRoot":"","sources":["../../src/runtime/loop-context-pool.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH;;GAEG;AACH,MAAM,eAAe;IACX,IAAI,GAAmC,EAAE,CAAA;IACzC,OAAO,CAAQ;IAEvB,YAAY,UAAkB,EAAE;QAC9B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;IACxB,CAAC;IAED;;OAEG;IACH,OAAO;QACL,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACzB,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,EAAG,CAAA;QACzB,CAAC;QACD,OAAO,EAAE,CAAA;IACX,CAAC;IAED;;OAEG;IACH,OAAO,CAAC,GAA4B;QAClC,WAAW;QACX,IAAI,OAAO,IAAI,GAAG;YAAE,OAAO,GAAG,CAAC,KAAK,CAAA;QACpC,IAAI,QAAQ,IAAI,GAAG;YAAE,OAAO,GAAG,CAAC,MAAM,CAAA;QAEtC,wBAAwB;QACxB,MAAM,YAAY,GAAa,EAAE,CAAA;QACjC,KAAK,MAAM,GAAG,IAAI,GAAG,EAAE,CAAC;YACtB,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;gBACjD,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;YACxB,CAAC;QACH,CAAC;QACD,KAAK,MAAM,GAAG,IAAI,YAAY,EAAE,CAAC;YAC/B,OAAO,GAAG,CAAC,GAAG,CAAC,CAAA;QACjB,CAAC;QAED,aAAa;QACb,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;YACpC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QACrB,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK;QACH,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAA;IACtB,CAAC;IAED;;OAEG;IACH,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAA;IACzB,CAAC;CACF;AAED;;GAEG;AACH,IAAI,UAAU,GAA2B,IAAI,CAAA;AAE7C;;GAEG;AACH,MAAM,UAAU,kBAAkB;IAChC,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,UAAU,GAAG,IAAI,eAAe,EAAE,CAAA;IACpC,CAAC;IACD,OAAO,UAAU,CAAA;AACnB,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,iBAAiB,CAC/B,SAAyB,EACzB,IAAa,EACb,KAAa;IAEb,MAAM,IAAI,GAAG,kBAAkB,EAAE,CAAA;IACjC,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,EAAE,CAAA;IAE9B,0BAA0B;IAC1B,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,SAAS,CAAmB,CAAA;IAE1D,mBAAmB;IACnB,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;IAE/B,WAAW;IACX,OAAO,CAAC,KAAK,GAAG,IAAI,CAAA;IACpB,OAAO,CAAC,MAAM,GAAG,KAAK,CAAA;IAEtB,OAAO,OAAO,CAAA;AAChB,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,kBAAkB,CAAC,OAAgC;IACjE,MAAM,IAAI,GAAG,kBAAkB,EAAE,CAAA;IACjC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;AACvB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,oBAAoB;IAClC,IAAI,UAAU,EAAE,CAAC;QACf,UAAU,CAAC,KAAK,EAAE,CAAA;IACpB,CAAC;AACH,CAAC"}
|
package/dist/runtime/path.d.ts
DELETED
|
@@ -1,114 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* 路径解析工具模块
|
|
3
|
-
*
|
|
4
|
-
* 统一的路径解析逻辑,供 vario-core 和框架集成层使用
|
|
5
|
-
*
|
|
6
|
-
* 设计原则:
|
|
7
|
-
* - 单一职责:只处理路径解析,不涉及响应式
|
|
8
|
-
* - 可组合:提供原子操作,框架集成层可自由组合
|
|
9
|
-
* - 类型安全:尽可能提供类型推导
|
|
10
|
-
*/
|
|
11
|
-
/**
|
|
12
|
-
* 路径段类型
|
|
13
|
-
*/
|
|
14
|
-
export type PathSegment = string | number;
|
|
15
|
-
/**
|
|
16
|
-
* 解析路径字符串为段数组
|
|
17
|
-
*
|
|
18
|
-
* 支持两种语法:
|
|
19
|
-
* - 点语法:`user.name` → ['user', 'name']
|
|
20
|
-
* - 括号语法:`users[0].name` → ['users', 0, 'name']
|
|
21
|
-
* - 混合语法:`data.users[0].profile.tags[1]` → ['data', 'users', 0, 'profile', 'tags', 1]
|
|
22
|
-
* - 空括号:`users[].name` → ['users', -1, 'name'](-1 表示动态索引,由循环上下文填充)
|
|
23
|
-
*
|
|
24
|
-
* @param path 路径字符串
|
|
25
|
-
* @returns 路径段数组
|
|
26
|
-
*
|
|
27
|
-
* @example
|
|
28
|
-
* parsePath('user.name') // ['user', 'name']
|
|
29
|
-
* parsePath('items.0.text') // ['items', 0, 'text']
|
|
30
|
-
* parsePath('users[0].name') // ['users', 0, 'name']
|
|
31
|
-
* parsePath('users[].name') // ['users', -1, 'name']
|
|
32
|
-
*/
|
|
33
|
-
export declare function parsePath(path: string): PathSegment[];
|
|
34
|
-
/**
|
|
35
|
-
* 解析路径(带缓存)
|
|
36
|
-
*
|
|
37
|
-
* @param path 点分隔的路径字符串
|
|
38
|
-
* @returns 路径段数组
|
|
39
|
-
*/
|
|
40
|
-
export declare function parsePathCached(path: string): PathSegment[];
|
|
41
|
-
/**
|
|
42
|
-
* 清理路径缓存
|
|
43
|
-
*/
|
|
44
|
-
export declare function clearPathCache(): void;
|
|
45
|
-
/**
|
|
46
|
-
* 将路径段数组转换为路径字符串
|
|
47
|
-
*
|
|
48
|
-
* @param segments 路径段数组
|
|
49
|
-
* @returns 点分隔的路径字符串
|
|
50
|
-
*/
|
|
51
|
-
export declare function stringifyPath(segments: PathSegment[]): string;
|
|
52
|
-
/**
|
|
53
|
-
* 获取嵌套路径的值
|
|
54
|
-
*
|
|
55
|
-
* @param obj 目标对象
|
|
56
|
-
* @param path 路径字符串或路径段数组
|
|
57
|
-
* @returns 路径对应的值,不存在返回 undefined
|
|
58
|
-
*/
|
|
59
|
-
export declare function getPathValue(obj: Record<string, unknown>, path: string | PathSegment[]): unknown;
|
|
60
|
-
/**
|
|
61
|
-
* 设置嵌套路径的值
|
|
62
|
-
*
|
|
63
|
-
* @param obj 目标对象
|
|
64
|
-
* @param path 路径字符串或路径段数组
|
|
65
|
-
* @param value 要设置的值
|
|
66
|
-
* @param options 配置选项
|
|
67
|
-
* @returns 是否设置成功
|
|
68
|
-
*/
|
|
69
|
-
export declare function setPathValue(obj: Record<string, unknown>, path: string | PathSegment[], value: unknown, options?: {
|
|
70
|
-
/**
|
|
71
|
-
* 自动创建中间路径
|
|
72
|
-
* @default true
|
|
73
|
-
*/
|
|
74
|
-
createIntermediate?: boolean;
|
|
75
|
-
/**
|
|
76
|
-
* 创建对象的工厂函数
|
|
77
|
-
* 用于框架集成层创建响应式对象
|
|
78
|
-
*/
|
|
79
|
-
createObject?: () => Record<string, unknown>;
|
|
80
|
-
/**
|
|
81
|
-
* 创建数组的工厂函数
|
|
82
|
-
* 用于框架集成层创建响应式数组
|
|
83
|
-
*/
|
|
84
|
-
createArray?: () => unknown[];
|
|
85
|
-
}): boolean;
|
|
86
|
-
/**
|
|
87
|
-
* 检查路径是否匹配(支持通配符)
|
|
88
|
-
*
|
|
89
|
-
* @param pattern 模式路径(支持 * 通配符)
|
|
90
|
-
* @param path 目标路径
|
|
91
|
-
* @returns 是否匹配
|
|
92
|
-
*
|
|
93
|
-
* @example
|
|
94
|
-
* matchPath('items.*', 'items.0') // true
|
|
95
|
-
* matchPath('items.*.name', 'items.0.name') // true
|
|
96
|
-
* matchPath('user.name', 'user.name') // true
|
|
97
|
-
* matchPath('user.name', 'user.age') // false
|
|
98
|
-
*/
|
|
99
|
-
export declare function matchPath(pattern: string, path: string): boolean;
|
|
100
|
-
/**
|
|
101
|
-
* 提取路径的父路径
|
|
102
|
-
*
|
|
103
|
-
* @param path 路径字符串
|
|
104
|
-
* @returns 父路径,顶层路径返回空字符串
|
|
105
|
-
*/
|
|
106
|
-
export declare function getParentPath(path: string): string;
|
|
107
|
-
/**
|
|
108
|
-
* 获取路径的最后一段
|
|
109
|
-
*
|
|
110
|
-
* @param path 路径字符串
|
|
111
|
-
* @returns 最后一段
|
|
112
|
-
*/
|
|
113
|
-
export declare function getLastSegment(path: string): PathSegment | undefined;
|
|
114
|
-
//# sourceMappingURL=path.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"path.d.ts","sourceRoot":"","sources":["../../src/runtime/path.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH;;GAEG;AACH,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,MAAM,CAAA;AAUzC;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,EAAE,CA+DrD;AAaD;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,EAAE,CAa3D;AAED;;GAEG;AACH,wBAAgB,cAAc,IAAI,IAAI,CAErC;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,WAAW,EAAE,GAAG,MAAM,CAE7D;AAED;;;;;;GAMG;AACH,wBAAgB,YAAY,CAC1B,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC5B,IAAI,EAAE,MAAM,GAAG,WAAW,EAAE,GAC3B,OAAO,CA8BT;AAED;;;;;;;;GAQG;AACH,wBAAgB,YAAY,CAC1B,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC5B,IAAI,EAAE,MAAM,GAAG,WAAW,EAAE,EAC5B,KAAK,EAAE,OAAO,EACd,OAAO,GAAE;IACP;;;OAGG;IACH,kBAAkB,CAAC,EAAE,OAAO,CAAA;IAE5B;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAE5C;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,OAAO,EAAE,CAAA;CACzB,GACL,OAAO,CA8ET;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAuBhE;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAMlD;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS,CAGpE"}
|
package/dist/runtime/path.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
const p={parsed:new Map};function x(e){if(!e||e.length===0)return[];const t=[];let n="",r=0;for(;r<e.length;){const f=e[r];if(f===".")n&&(t.push(y(n)),n=""),r++;else if(f==="["){n&&(t.push(y(n)),n="");const o=e.indexOf("]",r);if(o===-1)n+=f,r++;else{const u=e.slice(r+1,o);u===""?t.push(-1):/^\d+$/.test(u)?t.push(parseInt(u,10)):t.push(u),r=o+1,e[r]==="."&&r++}}else n+=f,r++}return n&&t.push(y(n)),t}function y(e){return/^\d+$/.test(e)?parseInt(e,10):e}function d(e){if(!e||e.length===0)return[];const t=p.parsed.get(e);if(t)return t;const n=x(e);return p.parsed.set(e,n),n}function A(){p.parsed.clear()}function b(e){return e.map(String).join(".")}function S(e,t){const n=typeof t=="string"?d(t):t;if(n.length===0)return e;let r=e;for(const f of n){if(r==null)return;if(typeof f=="number"){if(!Array.isArray(r))return;r=r[f]}else{if(typeof r!="object")return;r=r[f]}}return r}function j(e,t,n,r={}){const{createIntermediate:f=!0,createObject:o=()=>({}),createArray:u=()=>[]}=r,c=typeof t=="string"?d(t):t;if(c.length===0)return!1;const l=c[c.length-1],h=c.slice(0,-1);let s=e;for(let a=0;a<h.length;a++){const i=h[a],m=typeof(h[a+1]??l)=="number";if(typeof i=="number"){if(!Array.isArray(s))return!1;for(;s.length<=i;)s.push(void 0);if(s[i]==null||typeof s[i]!="object"){if(!f)return!1;s[i]=m?u():o()}s=s[i]}else{if(typeof s!="object"||s===null)return!1;const g=s;if(g[i]==null||typeof g[i]!="object"){if(!f)return!1;g[i]=m?u():o()}s=g[i]}}if(typeof l=="number"){if(!Array.isArray(s))return!1;for(;s.length<=l;)s.push(void 0);s[l]=n}else{if(typeof s!="object"||s===null)return!1;s[l]=n}return!0}function I(e,t){if(e===t||t.startsWith(e+"."))return!0;if(e.includes("*")){const n=e.split(".*")[0];return t.startsWith(n+".")||t===n}return!!e.startsWith(t+".")}function w(e){const t=d(e);return t.length<=1?"":b(t.slice(0,-1))}function C(e){const t=d(e);return t[t.length-1]}export{A as clearPathCache,C as getLastSegment,w as getParentPath,S as getPathValue,I as matchPath,x as parsePath,d as parsePathCached,j as setPathValue,b as stringifyPath};
|
package/dist/runtime/path.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"path.js","sourceRoot":"","sources":["../../src/runtime/path.ts"],"names":[],"mappings":"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"}
|
package/dist/runtime/proxy.d.ts
DELETED
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Proxy 沙箱实现
|
|
3
|
-
*
|
|
4
|
-
* 功能:
|
|
5
|
-
* - 防止覆盖系统 API($ 和 _ 前缀保护)
|
|
6
|
-
* - 拦截属性设置操作
|
|
7
|
-
*/
|
|
8
|
-
import type { RuntimeContext } from '../types.js';
|
|
9
|
-
/**
|
|
10
|
-
* 创建受保护的 Proxy 上下文
|
|
11
|
-
* 禁止设置以 $ 或 _ 开头的属性
|
|
12
|
-
*
|
|
13
|
-
* @template T 上下文类型,必须是 RuntimeContext 的子类型
|
|
14
|
-
* @param ctx 运行时上下文对象
|
|
15
|
-
* @returns 受保护的 Proxy 包装的上下文
|
|
16
|
-
*/
|
|
17
|
-
export declare function createProxy<T extends RuntimeContext>(ctx: T): T;
|
|
18
|
-
//# sourceMappingURL=proxy.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"proxy.d.ts","sourceRoot":"","sources":["../../src/runtime/proxy.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAEjD;;;;;;;GAOG;AACH,wBAAgB,WAAW,CAAC,CAAC,SAAS,cAAc,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,CAgD/D"}
|
package/dist/runtime/proxy.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
function o(i){const s=["$event","$item","$index"];return new Proxy(i,{set(t,e,r){const n=String(e);if(n.startsWith("$")||n.startsWith("_")){if(s.includes(n))return Reflect.set(t,e,r);throw new Error(`Cannot override system API: ${n}. Properties starting with "$" or "_" are protected.`)}return Reflect.set(t,e,r)},get(t,e){return Reflect.get(t,e)},has(t,e){return Reflect.has(t,e)},deleteProperty(t,e){const r=String(e);if(r.startsWith("$")||r.startsWith("_")){if(s.includes(r))return Reflect.deleteProperty(t,e);throw new Error(`Cannot delete system API: ${r}`)}return Reflect.deleteProperty(t,e)}})}export{o as createProxy};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"proxy.js","sourceRoot":"","sources":["../../src/runtime/proxy.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH;;;;;;;GAOG;AACH,MAAM,UAAU,WAAW,CAA2B,GAAM;IAC1D,2BAA2B;IAC3B,8BAA8B;IAC9B,MAAM,kBAAkB,GAAG,CAAC,QAAQ,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAA;IAExD,OAAO,IAAI,KAAK,CAAC,GAAG,EAAE;QACpB,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK;YACrB,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,CAAA;YAE7B,aAAa;YACb,IAAI,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;gBACzD,WAAW;gBACX,IAAI,kBAAkB,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;oBAC1C,OAAO,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,CAAA;gBACzC,CAAC;gBAED,MAAM,IAAI,KAAK,CACb,+BAA+B,QAAQ,IAAI;oBAC3C,oDAAoD,CACrD,CAAA;YACH,CAAC;YAED,OAAO,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,CAAA;QACzC,CAAC;QAED,GAAG,CAAC,MAAM,EAAE,IAAI;YACd,OAAO,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;QAClC,CAAC;QAED,GAAG,CAAC,MAAM,EAAE,IAAI;YACd,OAAO,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;QAClC,CAAC;QAED,cAAc,CAAC,MAAM,EAAE,IAAI;YACzB,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,CAAA;YAE7B,aAAa;YACb,IAAI,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;gBACzD,WAAW;gBACX,IAAI,kBAAkB,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;oBAC1C,OAAO,OAAO,CAAC,cAAc,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;gBAC7C,CAAC;gBACD,MAAM,IAAI,KAAK,CAAC,6BAA6B,QAAQ,EAAE,CAAC,CAAA;YAC1D,CAAC;YAED,OAAO,OAAO,CAAC,cAAc,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;QAC7C,CAAC;KACF,CAAC,CAAA;AACJ,CAAC"}
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* 沙箱边界控制
|
|
3
|
-
*
|
|
4
|
-
* 功能:
|
|
5
|
-
* - 表达式层:严格沙箱,无法访问全局对象
|
|
6
|
-
* - 方法层:白名单控制,可访问全局对象
|
|
7
|
-
*/
|
|
8
|
-
import type { RuntimeContext } from '../types.js';
|
|
9
|
-
/**
|
|
10
|
-
* 创建表达式沙箱上下文
|
|
11
|
-
* 移除全局对象访问能力
|
|
12
|
-
*/
|
|
13
|
-
export declare function createExpressionSandbox(ctx: RuntimeContext): RuntimeContext;
|
|
14
|
-
/**
|
|
15
|
-
* 检查属性访问是否安全(用于表达式求值)
|
|
16
|
-
*/
|
|
17
|
-
export declare function isSafePropertyAccess(prop: string, ctx: RuntimeContext, options?: {
|
|
18
|
-
allowGlobals?: boolean;
|
|
19
|
-
}): boolean;
|
|
20
|
-
//# sourceMappingURL=sandbox.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"sandbox.d.ts","sourceRoot":"","sources":["../../src/runtime/sandbox.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAEjD;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,cAAc,GAAG,cAAc,CAQ3E;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAClC,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,cAAc,EACnB,OAAO,GAAE;IAAE,YAAY,CAAC,EAAE,OAAO,CAAA;CAAO,GACvC,OAAO,CAWT"}
|
package/dist/runtime/sandbox.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
function n(o){return{...o}}function r(o,l,s={}){return!(!(s.allowGlobals??l.$exprOptions?.allowGlobals??!1)&&["window","document","global","globalThis","self"].includes(o))}export{n as createExpressionSandbox,r as isSafePropertyAccess};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"sandbox.js","sourceRoot":"","sources":["../../src/runtime/sandbox.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH;;;GAGG;AACH,MAAM,UAAU,uBAAuB,CAAC,GAAmB;IACzD,oBAAoB;IACpB,MAAM,OAAO,GAAG,EAAE,GAAG,GAAG,EAAE,CAAA;IAE1B,cAAc;IACd,wBAAwB;IAExB,OAAO,OAAO,CAAA;AAChB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,oBAAoB,CAClC,IAAY,EACZ,GAAmB,EACnB,UAAsC,EAAE;IAExC,MAAM,YAAY,GAAG,OAAO,CAAC,YAAY,IAAI,GAAG,CAAC,YAAY,EAAE,YAAY,IAAI,KAAK,CAAA;IAEpF,kCAAkC;IAClC,MAAM,WAAW,GAAG,CAAC,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,CAAC,CAAA;IAC1E,IAAI,CAAC,YAAY,IAAI,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QAChD,OAAO,KAAK,CAAA;IACd,CAAC;IAED,kBAAkB;IAClB,OAAO,IAAI,CAAA;AACb,CAAC"}
|
package/dist/types.d.ts
DELETED
|
@@ -1,191 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Vario Core Types
|
|
3
|
-
*
|
|
4
|
-
* 复杂类型集中在此定义,便于推演类型关系、保持业务/运行时逻辑代码简洁。
|
|
5
|
-
* 核心:RuntimeContext、路径值推导(GetPathValue/SetPathValue)、上下文创建选项(CreateContextOptions)等。
|
|
6
|
-
*/
|
|
7
|
-
/**
|
|
8
|
-
* 方法处理器类型
|
|
9
|
-
* 所有注册到 $methods 的方法必须符合此签名
|
|
10
|
-
*
|
|
11
|
-
* 注意:动作处理器也通过 $methods 注册,但它们的参数是 Action
|
|
12
|
-
*/
|
|
13
|
-
export type MethodHandler<TParams = unknown, TResult = unknown> = (ctx: RuntimeContext, params: TParams) => Promise<TResult> | TResult;
|
|
14
|
-
/**
|
|
15
|
-
* 动作处理器类型(特殊的方法处理器)
|
|
16
|
-
*/
|
|
17
|
-
export type ActionHandler = MethodHandler<Action, void>;
|
|
18
|
-
/**
|
|
19
|
-
* 方法注册表类型
|
|
20
|
-
* 支持普通方法和指令处理器
|
|
21
|
-
*/
|
|
22
|
-
export type MethodsRegistry = Record<string, MethodHandler>;
|
|
23
|
-
/**
|
|
24
|
-
* 表达式求值选项
|
|
25
|
-
*/
|
|
26
|
-
export interface ExpressionOptions {
|
|
27
|
-
/**
|
|
28
|
-
* 是否允许访问全局对象(默认 false)
|
|
29
|
-
*/
|
|
30
|
-
allowGlobals?: boolean;
|
|
31
|
-
/**
|
|
32
|
-
* 最大求值步数
|
|
33
|
-
*/
|
|
34
|
-
maxSteps?: number;
|
|
35
|
-
/**
|
|
36
|
-
* 求值超时(毫秒)
|
|
37
|
-
*/
|
|
38
|
-
timeout?: number;
|
|
39
|
-
/**
|
|
40
|
-
* 最大嵌套深度(防止 DoS 攻击,默认 50)
|
|
41
|
-
*/
|
|
42
|
-
maxNestingDepth?: number;
|
|
43
|
-
}
|
|
44
|
-
/**
|
|
45
|
-
* 运行时上下文接口
|
|
46
|
-
* 扁平化状态设计:直接属性访问,无 models. 前缀
|
|
47
|
-
*
|
|
48
|
-
* @template TState 状态类型,用于类型推导和约束
|
|
49
|
-
*
|
|
50
|
-
* 设计说明:
|
|
51
|
-
* - 使用接口 + 索引签名,既支持类型推导又支持动态属性
|
|
52
|
-
* - 状态属性通过 TState 泛型约束
|
|
53
|
-
* - 系统 API 使用具体类型定义,确保类型安全
|
|
54
|
-
*/
|
|
55
|
-
/**
|
|
56
|
-
* 运行时上下文类型
|
|
57
|
-
* 使用交叉类型结合接口,既支持状态类型推导又支持动态属性
|
|
58
|
-
*/
|
|
59
|
-
export type RuntimeContext<TState extends Record<string, unknown> = Record<string, unknown>> = TState & {
|
|
60
|
-
$emit: (event: string, data?: unknown) => void;
|
|
61
|
-
$methods: MethodsRegistry;
|
|
62
|
-
$exprOptions?: ExpressionOptions;
|
|
63
|
-
$event?: Event;
|
|
64
|
-
$item?: TState[keyof TState];
|
|
65
|
-
$index?: number;
|
|
66
|
-
_get: <TPath extends string>(path: TPath) => GetPathValue<TState, TPath>;
|
|
67
|
-
_set: <TPath extends string>(path: TPath, value: SetPathValue<TState, TPath>, options?: {
|
|
68
|
-
skipCallback?: boolean;
|
|
69
|
-
}) => void;
|
|
70
|
-
} & Record<string, unknown>;
|
|
71
|
-
/**
|
|
72
|
-
* 路径值类型推导工具
|
|
73
|
-
* 根据路径字符串推导对应的值类型,支持对象嵌套与数组索引
|
|
74
|
-
*
|
|
75
|
-
* @example
|
|
76
|
-
* GetPathValue<{ user: { name: string } }, 'user.name'> // string
|
|
77
|
-
* GetPathValue<{ items: number[] }, 'items.0'> // number
|
|
78
|
-
* GetPathValue<{ list: { id: number }[] }, 'list.0.id'> // number
|
|
79
|
-
*/
|
|
80
|
-
export type GetPathValue<T, TPath extends string> = TPath extends `${infer Key}.${infer Rest}` ? Key extends keyof T ? T[Key] extends Record<string, unknown> ? GetPathValue<T[Key], Rest> : T[Key] extends readonly (infer E)[] ? Rest extends `${number}` ? E : Rest extends `${number}.${infer R}` ? GetPathValue<E, R> : unknown : unknown : unknown : TPath extends keyof T ? T[TPath] : unknown;
|
|
81
|
-
/**
|
|
82
|
-
* 路径设置值类型推导工具
|
|
83
|
-
* 根据路径字符串推导可以设置的值类型
|
|
84
|
-
*/
|
|
85
|
-
export type SetPathValue<T, TPath extends string> = GetPathValue<T, TPath>;
|
|
86
|
-
/**
|
|
87
|
-
* 状态变更回调:path 与 value 类型联动,TPath 由 path 推导,value 为 GetPathValue<TState, TPath>
|
|
88
|
-
*/
|
|
89
|
-
export type OnStateChangeCallback<TState extends Record<string, unknown>> = <TPath extends string>(path: TPath, value: GetPathValue<TState, TPath>, ctx: RuntimeContext<TState>) => void;
|
|
90
|
-
/**
|
|
91
|
-
* RuntimeContext 创建选项
|
|
92
|
-
* @template TState 与 context 一致的状态类型,供 onStateChange 等回调获得完整类型推导
|
|
93
|
-
*/
|
|
94
|
-
export interface CreateContextOptions<TState extends Record<string, unknown> = Record<string, unknown>> {
|
|
95
|
-
onEmit?: (event: string, data?: unknown) => void;
|
|
96
|
-
methods?: MethodsRegistry;
|
|
97
|
-
/** 在 _set 调用后触发,value 类型随 path 推导 */
|
|
98
|
-
onStateChange?: OnStateChangeCallback<TState>;
|
|
99
|
-
createObject?: () => Record<string, unknown>;
|
|
100
|
-
createArray?: () => unknown[];
|
|
101
|
-
exprOptions?: ExpressionOptions;
|
|
102
|
-
}
|
|
103
|
-
/**
|
|
104
|
-
* 动作接口
|
|
105
|
-
* 使用泛型约束,根据 type 类型推导参数结构
|
|
106
|
-
*/
|
|
107
|
-
export interface Action {
|
|
108
|
-
type: string;
|
|
109
|
-
[key: string]: unknown;
|
|
110
|
-
}
|
|
111
|
-
/**
|
|
112
|
-
* 动作类型映射
|
|
113
|
-
* 根据 type 值推导对应的动作参数类型
|
|
114
|
-
*/
|
|
115
|
-
export type ActionMap = {
|
|
116
|
-
set: {
|
|
117
|
-
path: string;
|
|
118
|
-
value: string | unknown;
|
|
119
|
-
};
|
|
120
|
-
emit: {
|
|
121
|
-
event: string;
|
|
122
|
-
data?: string | unknown;
|
|
123
|
-
};
|
|
124
|
-
navigate: {
|
|
125
|
-
to: string;
|
|
126
|
-
};
|
|
127
|
-
log: {
|
|
128
|
-
level?: 'info' | 'warn' | 'error';
|
|
129
|
-
message: string;
|
|
130
|
-
};
|
|
131
|
-
if: {
|
|
132
|
-
cond: string;
|
|
133
|
-
then?: Action[];
|
|
134
|
-
else?: Action[];
|
|
135
|
-
};
|
|
136
|
-
loop: {
|
|
137
|
-
var: string;
|
|
138
|
-
in: string;
|
|
139
|
-
body: Action[];
|
|
140
|
-
};
|
|
141
|
-
call: {
|
|
142
|
-
method: string;
|
|
143
|
-
params?: Record<string, unknown>;
|
|
144
|
-
resultTo?: string;
|
|
145
|
-
};
|
|
146
|
-
batch: {
|
|
147
|
-
actions: Action[];
|
|
148
|
-
};
|
|
149
|
-
push: {
|
|
150
|
-
path: string;
|
|
151
|
-
value: string | unknown;
|
|
152
|
-
};
|
|
153
|
-
pop: {
|
|
154
|
-
path: string;
|
|
155
|
-
};
|
|
156
|
-
shift: {
|
|
157
|
-
path: string;
|
|
158
|
-
};
|
|
159
|
-
unshift: {
|
|
160
|
-
path: string;
|
|
161
|
-
value: string | unknown;
|
|
162
|
-
};
|
|
163
|
-
splice: {
|
|
164
|
-
path: string;
|
|
165
|
-
start: number | string;
|
|
166
|
-
deleteCount?: number | string;
|
|
167
|
-
items?: string | unknown[];
|
|
168
|
-
};
|
|
169
|
-
};
|
|
170
|
-
/**
|
|
171
|
-
* 类型守卫:检查动作是否符合特定类型
|
|
172
|
-
*/
|
|
173
|
-
export declare function isActionOfType<T extends keyof ActionMap>(action: Action, actionType: T): action is Action & ActionMap[T];
|
|
174
|
-
/**
|
|
175
|
-
* 表达式缓存接口
|
|
176
|
-
* 结果类型使用 unknown,因为表达式求值结果类型无法静态推导
|
|
177
|
-
*/
|
|
178
|
-
export interface ExpressionCache {
|
|
179
|
-
expr: string;
|
|
180
|
-
result: unknown;
|
|
181
|
-
dependencies: string[];
|
|
182
|
-
timestamp: number;
|
|
183
|
-
}
|
|
184
|
-
/**
|
|
185
|
-
* 错误类型定义
|
|
186
|
-
*
|
|
187
|
-
* @deprecated 使用 @variojs/core/errors 中的错误类
|
|
188
|
-
* 保留这些导出以保持向后兼容,但建议使用新的错误体系
|
|
189
|
-
*/
|
|
190
|
-
export { ActionError, ExpressionError, ServiceError, BatchError, VarioError, ErrorCodes, type ErrorContext, type ErrorCode } from './errors.js';
|
|
191
|
-
//# sourceMappingURL=types.d.ts.map
|
package/dist/types.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/dist/types.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
function e(r,o){return r.type===o}import{ActionError as E,ExpressionError as n,ServiceError as c,BatchError as p,VarioError as s,ErrorCodes as f}from"./errors.js";export{E as ActionError,p as BatchError,f as ErrorCodes,n as ExpressionError,c as ServiceError,s as VarioError,e as isActionOfType};
|
package/dist/types.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAyKH;;GAEG;AACH,MAAM,UAAU,cAAc,CAC5B,MAAc,EACd,UAAa;IAEb,OAAO,MAAM,CAAC,IAAI,KAAK,UAAU,CAAA;AACnC,CAAC;AAaD;;;;;GAKG;AACH,OAAO,EACL,WAAW,EACX,eAAe,EACf,YAAY,EACZ,UAAU,EACV,UAAU,EACV,UAAU,EAGX,MAAM,aAAa,CAAA"}
|
package/dist/vm/errors.d.ts
DELETED
package/dist/vm/errors.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/vm/errors.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EACL,WAAW,EACX,eAAe,EACf,YAAY,EACZ,UAAU,EACX,MAAM,aAAa,CAAA"}
|
package/dist/vm/errors.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{ActionError as E,ExpressionError as e,ServiceError as c,BatchError as i}from"../types.js";export{E as ActionError,i as BatchError,e as ExpressionError,c as ServiceError};
|
package/dist/vm/errors.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/vm/errors.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EACL,WAAW,EACX,eAAe,EACf,YAAY,EACZ,UAAU,EACX,MAAM,aAAa,CAAA"}
|
package/dist/vm/executor.d.ts
DELETED
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Action VM 执行器
|
|
3
|
-
*
|
|
4
|
-
* 功能:
|
|
5
|
-
* - 执行动作序列
|
|
6
|
-
* - 通过 $methods 查找动作处理器
|
|
7
|
-
* - 错误处理和堆栈跟踪
|
|
8
|
-
* - 超时保护(防止无限循环)
|
|
9
|
-
*
|
|
10
|
-
* 参考架构图:vario-core/vm - Action VM
|
|
11
|
-
*/
|
|
12
|
-
import type { RuntimeContext, Action } from '../types.js';
|
|
13
|
-
/**
|
|
14
|
-
* 执行动作序列的选项
|
|
15
|
-
*/
|
|
16
|
-
export interface ExecuteOptions {
|
|
17
|
-
/**
|
|
18
|
-
* 超时时间(毫秒),默认 5000ms
|
|
19
|
-
*/
|
|
20
|
-
timeout?: number;
|
|
21
|
-
/**
|
|
22
|
-
* 最大执行步数,默认 10000
|
|
23
|
-
* 每执行一个动作计为一步
|
|
24
|
-
*/
|
|
25
|
-
maxSteps?: number;
|
|
26
|
-
}
|
|
27
|
-
/**
|
|
28
|
-
* 执行动作序列
|
|
29
|
-
*
|
|
30
|
-
* @param actions 动作数组
|
|
31
|
-
* @param ctx 运行时上下文
|
|
32
|
-
* @param options 执行选项
|
|
33
|
-
*/
|
|
34
|
-
export declare function execute(actions: Action[], ctx: RuntimeContext, options?: ExecuteOptions): Promise<void>;
|
|
35
|
-
//# sourceMappingURL=executor.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"executor.d.ts","sourceRoot":"","sources":["../../src/vm/executor.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAGzD;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB;AAED;;;;;;GAMG;AACH,wBAAsB,OAAO,CAC3B,OAAO,EAAE,MAAM,EAAE,EACjB,GAAG,EAAE,cAAc,EACnB,OAAO,GAAE,cAAmB,GAC3B,OAAO,CAAC,IAAI,CAAC,CAwGf"}
|
package/dist/vm/executor.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{ActionError as i,ServiceError as E,ErrorCodes as c}from"../errors.js";async function f(e,s,w={}){const o=w.timeout??5e3,r=w.maxSteps??1e4,n=Date.now();let a=0,t=null;if(typeof AbortController<"u"){t=new AbortController;const u=setTimeout(()=>{t?.abort()},o),d=()=>clearTimeout(u);try{await m(e,s,t.signal,r,()=>{if(a++,a>r)throw new i(e[e.length-1]||{type:"unknown"},`Action execution exceeded max steps (${r})`,c.ACTION_MAX_STEPS_EXCEEDED,{metadata:{maxSteps:r,currentSteps:a}});if(Date.now()-n>o)throw new i(e[e.length-1]||{type:"unknown"},`Action execution exceeded timeout (${o}ms)`,c.ACTION_TIMEOUT,{metadata:{timeout:o,elapsedTime:Date.now()-n}})}),d()}catch(l){throw d(),l}}else await m(e,s,null,r,()=>{if(a++,a>r)throw new i(e[e.length-1]||{type:"unknown"},`Action execution exceeded max steps (${r})`,c.ACTION_MAX_STEPS_EXCEEDED,{metadata:{maxSteps:r,currentSteps:a}});if(Date.now()-n>o)throw new i(e[e.length-1]||{type:"unknown"},`Action execution exceeded timeout (${o}ms)`,c.ACTION_TIMEOUT,{metadata:{timeout:o,elapsedTime:Date.now()-n}})});if(Date.now()-n>o)throw new i(e[e.length-1]||{type:"unknown"},`Action execution exceeded timeout (${o}ms)`,c.ACTION_TIMEOUT,{metadata:{timeout:o,elapsedTime:Date.now()-n,actionCount:e.length}})}async function m(e,s,w,o,r){for(const n of e){if(w?.aborted)throw new i(n,"Action execution was aborted",c.ACTION_ABORTED);r();const a=s.$methods[n.type];if(!a)throw new i(n,`Unknown action type: ${n.type}. Make sure the action is registered in $methods`,c.ACTION_UNKNOWN_TYPE);try{await a(s,n)}catch(t){if(t instanceof i||t instanceof E)throw t;const u=t instanceof Error?t.message:String(t);throw new i(n,`Action execution failed: ${u}`,c.ACTION_EXECUTION_ERROR,{metadata:{originalError:t instanceof Error?t.name:"Unknown",stack:t instanceof Error?t.stack?.split(`
|
|
2
|
-
`).slice(0,5):void 0}})}}}export{f as execute};
|
package/dist/vm/executor.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"executor.js","sourceRoot":"","sources":["../../src/vm/executor.ts"],"names":[],"mappings":"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"}
|