@loancrate/json-selector 5.0.0 → 5.1.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.
package/README.md CHANGED
@@ -7,7 +7,7 @@ Key capabilities:
7
7
  - **Parse** expression strings into a typed AST
8
8
  - **Evaluate** selectors against JSON data
9
9
  - **Format** ASTs back into expression strings (round-trip safe)
10
- - **Read/write/delete** values via selector-based accessors
10
+ - **Read/write/delete** values via selector-based accessors, including strict `*OrThrow` variants
11
11
  - **Extend** with custom functions via a pluggable registry
12
12
 
13
13
  ## Installation
@@ -44,6 +44,8 @@ accessor.delete();
44
44
  console.log(obj.foo.bar[0].value); // undefined
45
45
  ```
46
46
 
47
+ Use `getOrThrow()`, `setOrThrow()`, and `deleteOrThrow()` when you want accessor failures surfaced as `AccessorError` (instead of `null` reads or no-op writes/deletes).
48
+
47
49
  ## Documentation
48
50
 
49
51
  - [**Language Reference**](docs/language.md) — Expression syntax, operators, precedence, projections, and extensions
@@ -0,0 +1,16 @@
1
+ import { JsonSelector } from "./ast";
2
+ import { AccessorError } from "./errors";
3
+ type ReadOnlySelectorType = "not" | "compare" | "arithmetic" | "unaryArithmetic" | "and" | "or" | "ternary" | "functionCall" | "expressionRef" | "variableRef" | "let" | "multiSelectList" | "multiSelectHash" | "literal" | "current" | "root";
4
+ export type ReadOnlySelector = Extract<JsonSelector, {
5
+ type: ReadOnlySelectorType;
6
+ }>;
7
+ type AccessOperation = "get" | "set" | "delete";
8
+ export declare function readOnlyError(selector: ReadOnlySelector, operation: "set" | "delete", construct?: string): AccessorError;
9
+ export declare function requireObjectContext(value: unknown, selector: JsonSelector, operation: AccessOperation): Record<string, unknown>;
10
+ export declare function requireObjectParent(value: unknown, selector: JsonSelector, operation: AccessOperation): Record<string, unknown>;
11
+ export declare function requireArrayParent(value: unknown, selector: JsonSelector, operation: AccessOperation): unknown[];
12
+ export declare function requireArrayOrStringParent(value: unknown, selector: JsonSelector, operation: AccessOperation): unknown[] | string;
13
+ export declare function resolveInBoundsIndex(arr: unknown[], index: number, selector: JsonSelector, operation: AccessOperation): number;
14
+ export declare function requireIdIndex(arr: unknown[], id: string | number, selector: JsonSelector, operation: AccessOperation): number;
15
+ export {};
16
+ //# sourceMappingURL=access-guards.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"access-guards.d.ts","sourceRoot":"","sources":["../src/access-guards.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AACrC,OAAO,EAA0B,aAAa,EAAE,MAAM,UAAU,CAAC;AAIjE,KAAK,oBAAoB,GACrB,KAAK,GACL,SAAS,GACT,YAAY,GACZ,iBAAiB,GACjB,KAAK,GACL,IAAI,GACJ,SAAS,GACT,cAAc,GACd,eAAe,GACf,aAAa,GACb,KAAK,GACL,iBAAiB,GACjB,iBAAiB,GACjB,SAAS,GACT,SAAS,GACT,MAAM,CAAC;AAEX,MAAM,MAAM,gBAAgB,GAAG,OAAO,CACpC,YAAY,EACZ;IAAE,IAAI,EAAE,oBAAoB,CAAA;CAAE,CAC/B,CAAC;AAqBF,KAAK,eAAe,GAAG,KAAK,GAAG,KAAK,GAAG,QAAQ,CAAC;AAmBhD,wBAAgB,aAAa,CAC3B,QAAQ,EAAE,gBAAgB,EAC1B,SAAS,EAAE,KAAK,GAAG,QAAQ,EAC3B,SAAS,SAAsC,GAC9C,aAAa,CAOf;AAED,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,OAAO,EACd,QAAQ,EAAE,YAAY,EACtB,SAAS,EAAE,eAAe,GACzB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAUzB;AAED,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,OAAO,EACd,QAAQ,EAAE,YAAY,EACtB,SAAS,EAAE,eAAe,GACzB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAUzB;AAED,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,OAAO,EACd,QAAQ,EAAE,YAAY,EACtB,SAAS,EAAE,eAAe,GACzB,OAAO,EAAE,CAkBX;AAED,wBAAgB,0BAA0B,CACxC,KAAK,EAAE,OAAO,EACd,QAAQ,EAAE,YAAY,EACtB,SAAS,EAAE,eAAe,GACzB,OAAO,EAAE,GAAG,MAAM,CAkBpB;AAED,wBAAgB,oBAAoB,CAClC,GAAG,EAAE,OAAO,EAAE,EACd,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,YAAY,EACtB,SAAS,EAAE,eAAe,GACzB,MAAM,CAWR;AAED,wBAAgB,cAAc,CAC5B,GAAG,EAAE,OAAO,EAAE,EACd,EAAE,EAAE,MAAM,GAAG,MAAM,EACnB,QAAQ,EAAE,YAAY,EACtB,SAAS,EAAE,eAAe,GACzB,MAAM,CAWR"}
@@ -4,4 +4,4 @@ export declare function replaceArray(target: unknown[], source: readonly unknown
4
4
  export declare function invertedFilter(value: unknown[], condition: JsonSelector, evalCtx: EvaluationContext): unknown[];
5
5
  /** Returns the complement of a slice: the elements that would NOT be selected by the given slice parameters. */
6
6
  export declare function invertedSlice(value: unknown[], start: number | undefined, end?: number, step?: number): unknown[];
7
- //# sourceMappingURL=access-internal.d.ts.map
7
+ //# sourceMappingURL=access-util.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"access-util.d.ts","sourceRoot":"","sources":["../src/access-util.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAErC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAG9D,wBAAgB,YAAY,CAC1B,MAAM,EAAE,OAAO,EAAE,EACjB,MAAM,EAAE,SAAS,OAAO,EAAE,GACzB,OAAO,EAAE,CAIX;AAED,wBAAgB,cAAc,CAC5B,KAAK,EAAE,OAAO,EAAE,EAChB,SAAS,EAAE,YAAY,EACvB,OAAO,EAAE,iBAAiB,GACzB,OAAO,EAAE,CAIX;AAED,gHAAgH;AAChH,wBAAgB,aAAa,CAC3B,KAAK,EAAE,OAAO,EAAE,EAChB,KAAK,EAAE,MAAM,GAAG,SAAS,EACzB,GAAG,CAAC,EAAE,MAAM,EACZ,IAAI,CAAC,EAAE,MAAM,GACZ,OAAO,EAAE,CA6BX"}
package/dist/access.d.ts CHANGED
@@ -5,24 +5,14 @@ export interface UnboundAccessor {
5
5
  readonly selector: JsonSelector;
6
6
  isValidContext(context: unknown, rootContext?: unknown): boolean;
7
7
  get(context: unknown, rootContext?: unknown): unknown;
8
+ getOrThrow(context: unknown, rootContext?: unknown): unknown;
8
9
  set(value: unknown, context: unknown, rootContext?: unknown): void;
10
+ setOrThrow(value: unknown, context: unknown, rootContext?: unknown): void;
9
11
  delete(context: unknown, rootContext?: unknown): void;
12
+ deleteOrThrow(context: unknown, rootContext?: unknown): void;
10
13
  }
11
14
  /** Configuration for accessor creation, providing the function provider used during evaluation. */
12
15
  export type AccessorOptions = Omit<EvaluationContext, "rootContext">;
13
16
  /** Compiles a selector AST into an {@link UnboundAccessor} that can be repeatedly bound to different contexts. */
14
17
  export declare function makeJsonSelectorAccessor(selector: JsonSelector, options?: Partial<AccessorOptions>): UnboundAccessor;
15
- /** A selector accessor bound to a specific context, providing typed get/set/delete and validity checking. */
16
- export interface Accessor<T> {
17
- readonly selector: JsonSelector;
18
- readonly valid: boolean;
19
- readonly path: string;
20
- get(): T;
21
- set(value: T): void;
22
- delete(): void;
23
- }
24
- /** Binds an {@link UnboundAccessor} to a specific context and root, producing a ready-to-use {@link Accessor}. */
25
- export declare function bindJsonSelectorAccessor(unbound: UnboundAccessor, context: unknown, rootContext?: unknown): Accessor<unknown>;
26
- /** One-step convenience: parses a selector into an accessor already bound to the given context. */
27
- export declare function accessWithJsonSelector(selector: JsonSelector, context: unknown, rootContext?: unknown, options?: Partial<AccessorOptions>): Accessor<unknown>;
28
18
  //# sourceMappingURL=access.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"access.d.ts","sourceRoot":"","sources":["../src/access.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAarC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAe9D,kHAAkH;AAClH,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,QAAQ,EAAE,YAAY,CAAC;IAChC,cAAc,CAAC,OAAO,EAAE,OAAO,EAAE,WAAW,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC;IACjE,GAAG,CAAC,OAAO,EAAE,OAAO,EAAE,WAAW,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC;IACtD,GAAG,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;IACnE,MAAM,CAAC,OAAO,EAAE,OAAO,EAAE,WAAW,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;CACvD;AA4ED,mGAAmG;AACnG,MAAM,MAAM,eAAe,GAAG,IAAI,CAAC,iBAAiB,EAAE,aAAa,CAAC,CAAC;AAErE,kHAAkH;AAClH,wBAAgB,wBAAwB,CACtC,QAAQ,EAAE,YAAY,EACtB,OAAO,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC,GACjC,eAAe,CAIjB;AAshBD,6GAA6G;AAC7G,MAAM,WAAW,QAAQ,CAAC,CAAC;IACzB,QAAQ,CAAC,QAAQ,EAAE,YAAY,CAAC;IAChC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,GAAG,IAAI,CAAC,CAAC;IACT,GAAG,CAAC,KAAK,EAAE,CAAC,GAAG,IAAI,CAAC;IACpB,MAAM,IAAI,IAAI,CAAC;CAChB;AAED,kHAAkH;AAClH,wBAAgB,wBAAwB,CACtC,OAAO,EAAE,eAAe,EACxB,OAAO,EAAE,OAAO,EAChB,WAAW,UAAU,GACpB,QAAQ,CAAC,OAAO,CAAC,CAiBnB;AAED,mGAAmG;AACnG,wBAAgB,sBAAsB,CACpC,QAAQ,EAAE,YAAY,EACtB,OAAO,EAAE,OAAO,EAChB,WAAW,UAAU,EACrB,OAAO,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC,GACjC,QAAQ,CAAC,OAAO,CAAC,CAMnB"}
1
+ {"version":3,"file":"access.d.ts","sourceRoot":"","sources":["../src/access.ts"],"names":[],"mappings":"AAWA,OAAO,EACL,YAAY,EAQb,MAAM,OAAO,CAAC;AAaf,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAe9D,kHAAkH;AAClH,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,QAAQ,EAAE,YAAY,CAAC;IAChC,cAAc,CAAC,OAAO,EAAE,OAAO,EAAE,WAAW,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC;IACjE,GAAG,CAAC,OAAO,EAAE,OAAO,EAAE,WAAW,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC;IACtD,UAAU,CAAC,OAAO,EAAE,OAAO,EAAE,WAAW,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC;IAC7D,GAAG,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;IACnE,UAAU,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;IAC1E,MAAM,CAAC,OAAO,EAAE,OAAO,EAAE,WAAW,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;IACtD,aAAa,CAAC,OAAO,EAAE,OAAO,EAAE,WAAW,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;CAC9D;AA2GD,mGAAmG;AACnG,MAAM,MAAM,eAAe,GAAG,IAAI,CAAC,iBAAiB,EAAE,aAAa,CAAC,CAAC;AAErE,kHAAkH;AAClH,wBAAgB,wBAAwB,CACtC,QAAQ,EAAE,YAAY,EACtB,OAAO,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC,GACjC,eAAe,CAIjB"}
package/dist/bind.d.ts ADDED
@@ -0,0 +1,19 @@
1
+ import { AccessorOptions, UnboundAccessor } from "./access";
2
+ import { JsonSelector } from "./ast";
3
+ /** A selector accessor bound to a specific context, providing typed get/set/delete and validity checking. */
4
+ export interface Accessor<T> {
5
+ readonly selector: JsonSelector;
6
+ readonly valid: boolean;
7
+ readonly path: string;
8
+ get(): T;
9
+ getOrThrow(): T;
10
+ set(value: T): void;
11
+ setOrThrow(value: T): void;
12
+ delete(): void;
13
+ deleteOrThrow(): void;
14
+ }
15
+ /** Binds an {@link UnboundAccessor} to a specific context and root, producing a ready-to-use {@link Accessor}. */
16
+ export declare function bindJsonSelectorAccessor(unbound: UnboundAccessor, context: unknown, rootContext?: unknown): Accessor<unknown>;
17
+ /** One-step convenience: parses a selector into an accessor already bound to the given context. */
18
+ export declare function accessWithJsonSelector(selector: JsonSelector, context: unknown, rootContext?: unknown, options?: Partial<AccessorOptions>): Accessor<unknown>;
19
+ //# sourceMappingURL=bind.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bind.d.ts","sourceRoot":"","sources":["../src/bind.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EAEf,eAAe,EAChB,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAGrC,6GAA6G;AAC7G,MAAM,WAAW,QAAQ,CAAC,CAAC;IACzB,QAAQ,CAAC,QAAQ,EAAE,YAAY,CAAC;IAChC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,GAAG,IAAI,CAAC,CAAC;IACT,UAAU,IAAI,CAAC,CAAC;IAChB,GAAG,CAAC,KAAK,EAAE,CAAC,GAAG,IAAI,CAAC;IACpB,UAAU,CAAC,KAAK,EAAE,CAAC,GAAG,IAAI,CAAC;IAC3B,MAAM,IAAI,IAAI,CAAC;IACf,aAAa,IAAI,IAAI,CAAC;CACvB;AAED,kHAAkH;AAClH,wBAAgB,wBAAwB,CACtC,OAAO,EAAE,eAAe,EACxB,OAAO,EAAE,OAAO,EAChB,WAAW,UAAU,GACpB,QAAQ,CAAC,OAAO,CAAC,CA0BnB;AAED,mGAAmG;AACnG,wBAAgB,sBAAsB,CACpC,QAAQ,EAAE,YAAY,EACtB,OAAO,EAAE,OAAO,EAChB,WAAW,UAAU,EACrB,OAAO,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC,GACjC,QAAQ,CAAC,OAAO,CAAC,CAMnB"}
package/dist/errors.d.ts CHANGED
@@ -61,6 +61,16 @@ export declare class JsonSelectorRuntimeError extends JsonSelectorError {
61
61
  */
62
62
  export declare class JsonSelectorTypeError extends JsonSelectorRuntimeError {
63
63
  }
64
+ export type AccessorErrorCode = "NOT_WRITABLE" | "MISSING_PARENT" | "TYPE_MISMATCH" | "INDEX_OUT_OF_BOUNDS" | "MISSING_ID";
65
+ /**
66
+ * Error thrown when an accessor operation cannot be applied to the given context.
67
+ */
68
+ export declare class AccessorError extends JsonSelectorRuntimeError {
69
+ readonly code: AccessorErrorCode;
70
+ readonly path: string;
71
+ readonly operation: "get" | "set" | "delete";
72
+ constructor(code: AccessorErrorCode, path: string, operation: "get" | "set" | "delete", message: string);
73
+ }
64
74
  /**
65
75
  * Error thrown when reading an unbound lexical-scope variable.
66
76
  */
@@ -1 +1 @@
1
- {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,qBAAa,iBAAkB,SAAQ,KAAK;gBAC9B,OAAO,EAAE,MAAM;CAI5B;AAED;;GAEG;AACH,qBAAa,uBAAwB,SAAQ,iBAAiB;aAG1C,UAAU,EAAE,MAAM;aAClB,MAAM,EAAE,MAAM;gBAF9B,OAAO,EAAE,MAAM,EACC,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,MAAM;CAIjC;AAED;;GAEG;AACH,qBAAa,wBAAyB,SAAQ,uBAAuB;aAIjD,SAAS,EAAE,MAAM;gBAFjC,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,MAAM,EACE,SAAS,EAAE,MAAM;CAQpC;AAED;;GAEG;AACH,qBAAa,sBAAuB,SAAQ,uBAAuB;aAI/C,SAAS,EAAE,MAAM;aACjB,iBAAiB,EAAE,MAAM;gBAHzC,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,MAAM,EACE,SAAS,EAAE,MAAM,EACjB,iBAAiB,EAAE,MAAM;CAQ5C;AAED;;GAEG;AACH,qBAAa,iBAAkB,SAAQ,uBAAuB;aAI1C,SAAS,EAAE,MAAM;aACjB,MAAM,EAAE,MAAM;gBAH9B,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,MAAM,EACE,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM;CAQjC;AAED;;GAEG;AACH,qBAAa,oBAAqB,SAAQ,uBAAuB;aAI7C,KAAK,EAAE,MAAM;aACb,QAAQ,CAAC,EAAE,MAAM;aACjB,OAAO,CAAC,EAAE,MAAM;gBAJhC,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,MAAM,EACE,KAAK,EAAE,MAAM,EACb,QAAQ,CAAC,EAAE,MAAM,YAAA,EACjB,OAAO,CAAC,EAAE,MAAM,YAAA;CAUnC;AAED;;GAEG;AACH,qBAAa,yBAA0B,SAAQ,uBAAuB;aAGlD,QAAQ,CAAC,EAAE,MAAM;gBADjC,UAAU,EAAE,MAAM,EACF,QAAQ,CAAC,EAAE,MAAM,YAAA;CAIpC;AAED;;GAEG;AACH,qBAAa,wBAAyB,SAAQ,iBAAiB;CAAG;AAElE;;GAEG;AACH,qBAAa,qBAAsB,SAAQ,wBAAwB;CAAG;AAEtE;;GAEG;AACH,qBAAa,sBAAuB,SAAQ,wBAAwB;aACtC,YAAY,EAAE,MAAM;gBAApB,YAAY,EAAE,MAAM;CAGjD;AAED;;GAEG;AACH,qBAAa,eAAgB,SAAQ,qBAAqB;aAEtC,QAAQ,EAAE,MAAM;aAChB,WAAW,EAAE,MAAM;aACnB,UAAU,EAAE,MAAM;gBAFlB,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,MAAM,EAClC,OAAO,CAAC,EAAE,MAAM;CAOnB;AAED;;GAEG;AACH,qBAAa,iBAAkB,SAAQ,eAAe;aAGlC,OAAO,EAAE,MAAM;gBAD/B,QAAQ,EAAE,GAAG,GAAG,IAAI,EACJ,OAAO,EAAE,MAAM;CASlC;AAED;;GAEG;AACH,qBAAa,aAAc,SAAQ,wBAAwB;aAEvC,YAAY,EAAE,MAAM;gBAApB,YAAY,EAAE,MAAM,EACpC,OAAO,EAAE,MAAM;CAIlB;AAED;;GAEG;AACH,qBAAa,oBAAqB,SAAQ,aAAa;gBACzC,YAAY,EAAE,MAAM;CAGjC;AAED;;GAEG;AACH,qBAAa,iBAAkB,SAAQ,aAAa;gBACtC,YAAY,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;CAGlD;AAED,wGAAwG;AACxG,qBAAa,oBAAqB,SAAQ,aAAa;aAGnC,YAAY,EAAE,MAAM;gBADpC,YAAY,EAAE,MAAM,EACJ,YAAY,EAAE,MAAM,EACpC,OAAO,EAAE,MAAM;CAIlB;AAED;;GAEG;AACH,qBAAa,wBAAyB,SAAQ,oBAAoB;gBACpD,YAAY,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;CAGxE;AAED;;;GAGG;AACH,qBAAa,yBAA0B,SAAQ,oBAAoB;gBACrD,YAAY,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;CAGxE"}
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"evaluate.d.ts","sourceRoot":"","sources":["../src/evaluate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"evaluate.d.ts","sourceRoot":"","sources":["../src/evaluate.ts"],"names":[],"mappings":"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"}
package/dist/get.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"get.d.ts","sourceRoot":"","sources":["../src/get.ts"],"names":[],"mappings":"AAAA,OAAO,EAA0B,KAAK,eAAe,EAAE,MAAM,UAAU,CAAC;AACxE,OAAO,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAErC,6GAA6G;AAC7G,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,YAAY,EACtB,OAAO,EAAE,OAAO,EAChB,OAAO,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC,GACjC,OAAO,CAET"}
1
+ {"version":3,"file":"get.d.ts","sourceRoot":"","sources":["../src/get.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,UAAU,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAGrC,6GAA6G;AAC7G,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,YAAY,EACtB,OAAO,EAAE,OAAO,EAChB,OAAO,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC,GACjC,OAAO,CAET"}
package/dist/index.d.ts CHANGED
@@ -1,5 +1,6 @@
1
1
  export * from "./access";
2
2
  export * from "./ast";
3
+ export * from "./bind";
3
4
  export * from "./errors";
4
5
  export * from "./evaluation-context";
5
6
  export { evaluateJsonSelector } from "./evaluate";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,OAAO,CAAC;AACtB,cAAc,UAAU,CAAC;AACzB,cAAc,sBAAsB,CAAC;AAErC,OAAO,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAClD,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC;AAC5B,cAAc,OAAO,CAAC;AACtB,cAAc,SAAS,CAAC;AACxB,YAAY,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAC9C,cAAc,OAAO,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,OAAO,CAAC;AACtB,cAAc,QAAQ,CAAC;AACvB,cAAc,UAAU,CAAC;AACzB,cAAc,sBAAsB,CAAC;AAErC,OAAO,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAClD,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC;AAC5B,cAAc,OAAO,CAAC;AACtB,cAAc,SAAS,CAAC;AACxB,YAAY,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAC9C,cAAc,OAAO,CAAC"}