@gabrielbryk/jq-ts 1.3.5 → 1.4.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 +1 -0
- package/dist/index.cjs +1475 -677
- package/dist/index.d.cts +85 -5
- package/dist/index.d.cts.map +1 -1
- package/dist/index.d.mts +85 -5
- package/dist/index.d.mts.map +1 -1
- package/dist/index.mjs +1479 -683
- package/dist/index.mjs.map +1 -1
- package/package.json +2 -2
package/dist/index.d.cts
CHANGED
|
@@ -179,14 +179,36 @@ interface IfNode {
|
|
|
179
179
|
else: FilterNode;
|
|
180
180
|
span: Span;
|
|
181
181
|
}
|
|
182
|
+
/**
|
|
183
|
+
* Represents a variable binding pattern used by `as`.
|
|
184
|
+
* Supports jq-style scalar, array, object, and `{$name}` shorthand patterns.
|
|
185
|
+
*/
|
|
186
|
+
type BindingPattern = {
|
|
187
|
+
kind: 'VariablePattern';
|
|
188
|
+
name: string;
|
|
189
|
+
span: Span;
|
|
190
|
+
} | {
|
|
191
|
+
kind: 'ArrayPattern';
|
|
192
|
+
items: BindingPattern[];
|
|
193
|
+
span: Span;
|
|
194
|
+
} | {
|
|
195
|
+
kind: 'ObjectPattern';
|
|
196
|
+
entries: ObjectPatternEntry[];
|
|
197
|
+
span: Span;
|
|
198
|
+
};
|
|
199
|
+
interface ObjectPatternEntry {
|
|
200
|
+
key: string;
|
|
201
|
+
pattern: BindingPattern;
|
|
202
|
+
span: Span;
|
|
203
|
+
}
|
|
182
204
|
/**
|
|
183
205
|
* Represents a variable binding expression.
|
|
184
|
-
* `expression as $var | body`
|
|
206
|
+
* `expression as $var | body` or `expression as [$a, {b: $b}] | body`
|
|
185
207
|
*/
|
|
186
208
|
interface AsNode {
|
|
187
209
|
kind: 'As';
|
|
188
210
|
bind: FilterNode;
|
|
189
|
-
|
|
211
|
+
pattern: BindingPattern;
|
|
190
212
|
body: FilterNode;
|
|
191
213
|
span: Span;
|
|
192
214
|
}
|
|
@@ -207,7 +229,7 @@ interface CallNode {
|
|
|
207
229
|
interface ReduceNode {
|
|
208
230
|
kind: 'Reduce';
|
|
209
231
|
source: FilterNode;
|
|
210
|
-
|
|
232
|
+
pattern: BindingPattern;
|
|
211
233
|
init: FilterNode;
|
|
212
234
|
update: FilterNode;
|
|
213
235
|
span: Span;
|
|
@@ -219,7 +241,7 @@ interface ReduceNode {
|
|
|
219
241
|
interface ForeachNode {
|
|
220
242
|
kind: 'Foreach';
|
|
221
243
|
source: FilterNode;
|
|
222
|
-
|
|
244
|
+
pattern: BindingPattern;
|
|
223
245
|
init: FilterNode;
|
|
224
246
|
update: FilterNode;
|
|
225
247
|
extract?: FilterNode;
|
|
@@ -483,6 +505,64 @@ declare class RuntimeError extends BaseError {
|
|
|
483
505
|
constructor(message: string, span: Span);
|
|
484
506
|
}
|
|
485
507
|
//#endregion
|
|
508
|
+
//#region src/compat.d.ts
|
|
509
|
+
type CompatibilityStage = 'lex' | 'parse' | 'validate' | 'runtime' | 'compare';
|
|
510
|
+
type CompatibilityFindingSeverity = 'error' | 'warning';
|
|
511
|
+
type CompatibilityFindingCategory = 'unsupported-syntax' | 'unsupported-builtin' | 'arity-mismatch' | 'intentional-exclusion' | 'semantic-deviation' | 'input-dependent' | 'runtime-error' | 'jq-error' | 'output-mismatch';
|
|
512
|
+
interface CompatibilityFinding {
|
|
513
|
+
severity: CompatibilityFindingSeverity;
|
|
514
|
+
stage?: CompatibilityStage;
|
|
515
|
+
category: CompatibilityFindingCategory;
|
|
516
|
+
message: string;
|
|
517
|
+
span?: {
|
|
518
|
+
start: number;
|
|
519
|
+
end: number;
|
|
520
|
+
};
|
|
521
|
+
}
|
|
522
|
+
interface CompatibilityCheckResult {
|
|
523
|
+
compatible: boolean;
|
|
524
|
+
findings: CompatibilityFinding[];
|
|
525
|
+
}
|
|
526
|
+
interface CompatibilityAnalysisResult extends CompatibilityCheckResult {
|
|
527
|
+
warnings: CompatibilityFinding[];
|
|
528
|
+
}
|
|
529
|
+
type ExecutionResult = {
|
|
530
|
+
ok: true;
|
|
531
|
+
outputs: Value[];
|
|
532
|
+
} | {
|
|
533
|
+
ok: false;
|
|
534
|
+
error: string;
|
|
535
|
+
stage?: CompatibilityStage;
|
|
536
|
+
};
|
|
537
|
+
interface CompareWithJqResult {
|
|
538
|
+
compatible: boolean;
|
|
539
|
+
equivalent: boolean | null;
|
|
540
|
+
analysis: CompatibilityAnalysisResult;
|
|
541
|
+
jqTs: ExecutionResult;
|
|
542
|
+
jq: ExecutionResult;
|
|
543
|
+
findings: CompatibilityFinding[];
|
|
544
|
+
}
|
|
545
|
+
type JqRunner = (source: string, input: Value) => Value[] | ExecutionResult;
|
|
546
|
+
/**
|
|
547
|
+
* Checks whether a jq expression can be parsed and statically validated by jq-ts.
|
|
548
|
+
*
|
|
549
|
+
* This is a syntax/subset check only. It does not prove that runtime behavior
|
|
550
|
+
* matches the jq binary for every possible input.
|
|
551
|
+
*/
|
|
552
|
+
declare const checkCompatibility: (source: string) => CompatibilityCheckResult;
|
|
553
|
+
/**
|
|
554
|
+
* Checks jq-ts compatibility and reports known semantic differences from jq.
|
|
555
|
+
*/
|
|
556
|
+
declare const analyzeCompatibility: (source: string) => CompatibilityAnalysisResult;
|
|
557
|
+
/**
|
|
558
|
+
* Compares jq-ts execution against a caller-provided jq runner or jq result.
|
|
559
|
+
*
|
|
560
|
+
* The function is safe to export from the isolate-safe library because it does
|
|
561
|
+
* not spawn the jq binary itself. Tests and development tools can pass a runner
|
|
562
|
+
* that shells out to jq.
|
|
563
|
+
*/
|
|
564
|
+
declare const compareWithJq: (source: string, input: Value, jq: JqRunner | ExecutionResult, options?: EvalOptions) => CompareWithJqResult;
|
|
565
|
+
//#endregion
|
|
486
566
|
//#region src/index.d.ts
|
|
487
567
|
/**
|
|
488
568
|
* Runs a jq query against a JSON input.
|
|
@@ -498,5 +578,5 @@ declare class RuntimeError extends BaseError {
|
|
|
498
578
|
*/
|
|
499
579
|
declare const run: (source: string, input: Value, options?: EvalOptions) => Value[];
|
|
500
580
|
//#endregion
|
|
501
|
-
export { type EvalOptions, LexError, LimitTracker, type LimitsConfig, ParseError, type ResolvedLimits, RuntimeError, ValidationError, type Value, parse, resolveLimits, run, runAst, validate };
|
|
581
|
+
export { type CompareWithJqResult, type CompatibilityAnalysisResult, type CompatibilityCheckResult, type CompatibilityFinding, type CompatibilityFindingCategory, type CompatibilityFindingSeverity, type CompatibilityStage, type EvalOptions, type ExecutionResult, type JqRunner, LexError, LimitTracker, type LimitsConfig, ParseError, type ResolvedLimits, RuntimeError, ValidationError, type Value, analyzeCompatibility, checkCompatibility, compareWithJq, parse, resolveLimits, run, runAst, validate };
|
|
502
582
|
//# sourceMappingURL=index.d.cts.map
|
package/dist/index.d.cts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.cts","names":[],"sources":["../src/span.ts","../src/ast.ts","../src/parser.ts","../src/validate.ts","../src/limits.ts","../src/value.ts","../src/eval/types.ts","../src/eval/dispatch.ts","../src/errors.ts","../src/
|
|
1
|
+
{"version":3,"file":"index.d.cts","names":[],"sources":["../src/span.ts","../src/ast.ts","../src/parser.ts","../src/validate.ts","../src/limits.ts","../src/value.ts","../src/eval/types.ts","../src/eval/dispatch.ts","../src/errors.ts","../src/compat.ts","../src/index.ts"],"mappings":"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"}
|
package/dist/index.d.mts
CHANGED
|
@@ -179,14 +179,36 @@ interface IfNode {
|
|
|
179
179
|
else: FilterNode;
|
|
180
180
|
span: Span;
|
|
181
181
|
}
|
|
182
|
+
/**
|
|
183
|
+
* Represents a variable binding pattern used by `as`.
|
|
184
|
+
* Supports jq-style scalar, array, object, and `{$name}` shorthand patterns.
|
|
185
|
+
*/
|
|
186
|
+
type BindingPattern = {
|
|
187
|
+
kind: 'VariablePattern';
|
|
188
|
+
name: string;
|
|
189
|
+
span: Span;
|
|
190
|
+
} | {
|
|
191
|
+
kind: 'ArrayPattern';
|
|
192
|
+
items: BindingPattern[];
|
|
193
|
+
span: Span;
|
|
194
|
+
} | {
|
|
195
|
+
kind: 'ObjectPattern';
|
|
196
|
+
entries: ObjectPatternEntry[];
|
|
197
|
+
span: Span;
|
|
198
|
+
};
|
|
199
|
+
interface ObjectPatternEntry {
|
|
200
|
+
key: string;
|
|
201
|
+
pattern: BindingPattern;
|
|
202
|
+
span: Span;
|
|
203
|
+
}
|
|
182
204
|
/**
|
|
183
205
|
* Represents a variable binding expression.
|
|
184
|
-
* `expression as $var | body`
|
|
206
|
+
* `expression as $var | body` or `expression as [$a, {b: $b}] | body`
|
|
185
207
|
*/
|
|
186
208
|
interface AsNode {
|
|
187
209
|
kind: 'As';
|
|
188
210
|
bind: FilterNode;
|
|
189
|
-
|
|
211
|
+
pattern: BindingPattern;
|
|
190
212
|
body: FilterNode;
|
|
191
213
|
span: Span;
|
|
192
214
|
}
|
|
@@ -207,7 +229,7 @@ interface CallNode {
|
|
|
207
229
|
interface ReduceNode {
|
|
208
230
|
kind: 'Reduce';
|
|
209
231
|
source: FilterNode;
|
|
210
|
-
|
|
232
|
+
pattern: BindingPattern;
|
|
211
233
|
init: FilterNode;
|
|
212
234
|
update: FilterNode;
|
|
213
235
|
span: Span;
|
|
@@ -219,7 +241,7 @@ interface ReduceNode {
|
|
|
219
241
|
interface ForeachNode {
|
|
220
242
|
kind: 'Foreach';
|
|
221
243
|
source: FilterNode;
|
|
222
|
-
|
|
244
|
+
pattern: BindingPattern;
|
|
223
245
|
init: FilterNode;
|
|
224
246
|
update: FilterNode;
|
|
225
247
|
extract?: FilterNode;
|
|
@@ -483,6 +505,64 @@ declare class RuntimeError extends BaseError {
|
|
|
483
505
|
constructor(message: string, span: Span);
|
|
484
506
|
}
|
|
485
507
|
//#endregion
|
|
508
|
+
//#region src/compat.d.ts
|
|
509
|
+
type CompatibilityStage = 'lex' | 'parse' | 'validate' | 'runtime' | 'compare';
|
|
510
|
+
type CompatibilityFindingSeverity = 'error' | 'warning';
|
|
511
|
+
type CompatibilityFindingCategory = 'unsupported-syntax' | 'unsupported-builtin' | 'arity-mismatch' | 'intentional-exclusion' | 'semantic-deviation' | 'input-dependent' | 'runtime-error' | 'jq-error' | 'output-mismatch';
|
|
512
|
+
interface CompatibilityFinding {
|
|
513
|
+
severity: CompatibilityFindingSeverity;
|
|
514
|
+
stage?: CompatibilityStage;
|
|
515
|
+
category: CompatibilityFindingCategory;
|
|
516
|
+
message: string;
|
|
517
|
+
span?: {
|
|
518
|
+
start: number;
|
|
519
|
+
end: number;
|
|
520
|
+
};
|
|
521
|
+
}
|
|
522
|
+
interface CompatibilityCheckResult {
|
|
523
|
+
compatible: boolean;
|
|
524
|
+
findings: CompatibilityFinding[];
|
|
525
|
+
}
|
|
526
|
+
interface CompatibilityAnalysisResult extends CompatibilityCheckResult {
|
|
527
|
+
warnings: CompatibilityFinding[];
|
|
528
|
+
}
|
|
529
|
+
type ExecutionResult = {
|
|
530
|
+
ok: true;
|
|
531
|
+
outputs: Value[];
|
|
532
|
+
} | {
|
|
533
|
+
ok: false;
|
|
534
|
+
error: string;
|
|
535
|
+
stage?: CompatibilityStage;
|
|
536
|
+
};
|
|
537
|
+
interface CompareWithJqResult {
|
|
538
|
+
compatible: boolean;
|
|
539
|
+
equivalent: boolean | null;
|
|
540
|
+
analysis: CompatibilityAnalysisResult;
|
|
541
|
+
jqTs: ExecutionResult;
|
|
542
|
+
jq: ExecutionResult;
|
|
543
|
+
findings: CompatibilityFinding[];
|
|
544
|
+
}
|
|
545
|
+
type JqRunner = (source: string, input: Value) => Value[] | ExecutionResult;
|
|
546
|
+
/**
|
|
547
|
+
* Checks whether a jq expression can be parsed and statically validated by jq-ts.
|
|
548
|
+
*
|
|
549
|
+
* This is a syntax/subset check only. It does not prove that runtime behavior
|
|
550
|
+
* matches the jq binary for every possible input.
|
|
551
|
+
*/
|
|
552
|
+
declare const checkCompatibility: (source: string) => CompatibilityCheckResult;
|
|
553
|
+
/**
|
|
554
|
+
* Checks jq-ts compatibility and reports known semantic differences from jq.
|
|
555
|
+
*/
|
|
556
|
+
declare const analyzeCompatibility: (source: string) => CompatibilityAnalysisResult;
|
|
557
|
+
/**
|
|
558
|
+
* Compares jq-ts execution against a caller-provided jq runner or jq result.
|
|
559
|
+
*
|
|
560
|
+
* The function is safe to export from the isolate-safe library because it does
|
|
561
|
+
* not spawn the jq binary itself. Tests and development tools can pass a runner
|
|
562
|
+
* that shells out to jq.
|
|
563
|
+
*/
|
|
564
|
+
declare const compareWithJq: (source: string, input: Value, jq: JqRunner | ExecutionResult, options?: EvalOptions) => CompareWithJqResult;
|
|
565
|
+
//#endregion
|
|
486
566
|
//#region src/index.d.ts
|
|
487
567
|
/**
|
|
488
568
|
* Runs a jq query against a JSON input.
|
|
@@ -498,5 +578,5 @@ declare class RuntimeError extends BaseError {
|
|
|
498
578
|
*/
|
|
499
579
|
declare const run: (source: string, input: Value, options?: EvalOptions) => Value[];
|
|
500
580
|
//#endregion
|
|
501
|
-
export { type EvalOptions, LexError, LimitTracker, type LimitsConfig, ParseError, type ResolvedLimits, RuntimeError, ValidationError, type Value, parse, resolveLimits, run, runAst, validate };
|
|
581
|
+
export { type CompareWithJqResult, type CompatibilityAnalysisResult, type CompatibilityCheckResult, type CompatibilityFinding, type CompatibilityFindingCategory, type CompatibilityFindingSeverity, type CompatibilityStage, type EvalOptions, type ExecutionResult, type JqRunner, LexError, LimitTracker, type LimitsConfig, ParseError, type ResolvedLimits, RuntimeError, ValidationError, type Value, analyzeCompatibility, checkCompatibility, compareWithJq, parse, resolveLimits, run, runAst, validate };
|
|
502
582
|
//# sourceMappingURL=index.d.mts.map
|
package/dist/index.d.mts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.mts","names":[],"sources":["../src/span.ts","../src/ast.ts","../src/parser.ts","../src/validate.ts","../src/limits.ts","../src/value.ts","../src/eval/types.ts","../src/eval/dispatch.ts","../src/errors.ts","../src/
|
|
1
|
+
{"version":3,"file":"index.d.mts","names":[],"sources":["../src/span.ts","../src/ast.ts","../src/parser.ts","../src/validate.ts","../src/limits.ts","../src/value.ts","../src/eval/types.ts","../src/eval/dispatch.ts","../src/errors.ts","../src/compat.ts","../src/index.ts"],"mappings":"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"}
|