bonsai-js 0.2.0 → 0.3.0

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.
@@ -1,4 +1,4 @@
1
- import { i as BonsaiPlugin } from "../types-ClpZDF5z.mjs";
1
+ import { i as BonsaiPlugin } from "../types-BhsZZsLY.mjs";
2
2
 
3
3
  //#region src/stdlib/strings.d.ts
4
4
  declare const strings: BonsaiPlugin;
@@ -1,4 +1,19 @@
1
1
  //#region src/types.d.ts
2
+ /** Closed set of type names produced by runtime type inference. */
3
+ type InferredTypeName = 'string' | 'number' | 'boolean' | 'array' | 'object' | 'null' | 'undefined';
4
+ /** Read-only snapshot of the security policy, returned by {@link BonsaiInstance.getPolicy}. */
5
+ interface PolicySnapshot {
6
+ readonly allowedProperties?: readonly string[];
7
+ readonly deniedProperties?: readonly string[];
8
+ }
9
+ /** Discriminated result from {@link resolvePropertyChain}. */
10
+ type ResolveResult = {
11
+ found: true;
12
+ value: unknown;
13
+ } | {
14
+ found: false;
15
+ reason: 'blocked' | 'not-object' | 'not-found';
16
+ };
2
17
  type BinaryOperator = '||' | '&&' | '==' | '!=' | '<' | '>' | '<=' | '>=' | '+' | '-' | '*' | '/' | '%' | '**' | 'in' | 'not';
3
18
  type UnaryOperator = '!' | '-' | '+';
4
19
  type BinaryExpressionOperator = Exclude<BinaryOperator, 'not'> | 'not in' | '??';
@@ -194,6 +209,8 @@ interface BonsaiInstance {
194
209
  listTransforms(): string[];
195
210
  /** List all registered function names. */
196
211
  listFunctions(): string[];
212
+ /** Returns a read-only snapshot of the security policy for autocomplete filtering. */
213
+ getPolicy(): PolicySnapshot;
197
214
  /** Clear the compiled expression and AST caches. */
198
215
  clearCache(): void;
199
216
  /** Pre-compile an expression for repeated evaluation. */
@@ -243,5 +260,5 @@ interface ValidationError {
243
260
  formatted?: string;
244
261
  }
245
262
  //#endregion
246
- export { CompiledExpression as a, Token as c, ValidationResult as d, BonsaiPlugin as i, TokenType as l, BonsaiInstance as n, ExpressionReferences as o, BonsaiOptions as r, FunctionFn as s, ASTNode as t, TransformFn as u };
247
- //# sourceMappingURL=types-ClpZDF5z.d.mts.map
263
+ export { CompiledExpression as a, InferredTypeName as c, Token as d, TokenType as f, BonsaiPlugin as i, PolicySnapshot as l, ValidationResult as m, BonsaiInstance as n, ExpressionReferences as o, TransformFn as p, BonsaiOptions as r, FunctionFn as s, ASTNode as t, ResolveResult as u };
264
+ //# sourceMappingURL=types-BhsZZsLY.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types-BhsZZsLY.d.mts","names":[],"sources":["../src/types.ts"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "bonsai-js",
3
- "version": "0.2.0",
3
+ "version": "0.3.0",
4
4
  "description": "A safe, zero-dependency expression language for rules, filters, and templates",
5
5
  "type": "module",
6
6
  "sideEffects": false,
@@ -14,6 +14,10 @@
14
14
  "./stdlib": {
15
15
  "types": "./dist/stdlib/index.d.mts",
16
16
  "import": "./dist/stdlib/index.mjs"
17
+ },
18
+ "./autocomplete": {
19
+ "types": "./dist/autocomplete/index.d.mts",
20
+ "import": "./dist/autocomplete/index.mjs"
17
21
  }
18
22
  },
19
23
  "files": [
@@ -1 +0,0 @@
1
- {"version":3,"file":"types-ClpZDF5z.d.mts","names":[],"sources":["../src/types.ts"],"mappings":"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"}