@tinqerjs/tinqer 0.0.21
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/expressions/expression.d.ts +313 -0
- package/dist/expressions/expression.d.ts.map +1 -0
- package/dist/expressions/expression.js +56 -0
- package/dist/expressions/expression.js.map +1 -0
- package/dist/index.d.ts +34 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +34 -0
- package/dist/index.js.map +1 -0
- package/dist/linq/database-context.d.ts +18 -0
- package/dist/linq/database-context.d.ts.map +1 -0
- package/dist/linq/database-context.js +23 -0
- package/dist/linq/database-context.js.map +1 -0
- package/dist/linq/database-schema.d.ts +18 -0
- package/dist/linq/database-schema.d.ts.map +1 -0
- package/dist/linq/database-schema.js +23 -0
- package/dist/linq/database-schema.js.map +1 -0
- package/dist/linq/deletable.d.ts +30 -0
- package/dist/linq/deletable.d.ts.map +1 -0
- package/dist/linq/deletable.js +46 -0
- package/dist/linq/deletable.js.map +1 -0
- package/dist/linq/delete-from.d.ts +19 -0
- package/dist/linq/delete-from.d.ts.map +1 -0
- package/dist/linq/delete-from.js +11 -0
- package/dist/linq/delete-from.js.map +1 -0
- package/dist/linq/from.d.ts +19 -0
- package/dist/linq/from.d.ts.map +1 -0
- package/dist/linq/from.js +11 -0
- package/dist/linq/from.js.map +1 -0
- package/dist/linq/functions.d.ts +96 -0
- package/dist/linq/functions.d.ts.map +1 -0
- package/dist/linq/functions.js +136 -0
- package/dist/linq/functions.js.map +1 -0
- package/dist/linq/grouping.d.ts +26 -0
- package/dist/linq/grouping.d.ts.map +1 -0
- package/dist/linq/grouping.js +47 -0
- package/dist/linq/grouping.js.map +1 -0
- package/dist/linq/insert-into.d.ts +19 -0
- package/dist/linq/insert-into.d.ts.map +1 -0
- package/dist/linq/insert-into.js +11 -0
- package/dist/linq/insert-into.js.map +1 -0
- package/dist/linq/insertable.d.ts +30 -0
- package/dist/linq/insertable.d.ts.map +1 -0
- package/dist/linq/insertable.js +37 -0
- package/dist/linq/insertable.js.map +1 -0
- package/dist/linq/query-builder.d.ts +24 -0
- package/dist/linq/query-builder.d.ts.map +1 -0
- package/dist/linq/query-builder.js +21 -0
- package/dist/linq/query-builder.js.map +1 -0
- package/dist/linq/queryable.d.ts +61 -0
- package/dist/linq/queryable.d.ts.map +1 -0
- package/dist/linq/queryable.js +148 -0
- package/dist/linq/queryable.js.map +1 -0
- package/dist/linq/terminal-query.d.ts +10 -0
- package/dist/linq/terminal-query.d.ts.map +1 -0
- package/dist/linq/terminal-query.js +12 -0
- package/dist/linq/terminal-query.js.map +1 -0
- package/dist/linq/updatable.d.ts +57 -0
- package/dist/linq/updatable.d.ts.map +1 -0
- package/dist/linq/updatable.js +84 -0
- package/dist/linq/updatable.js.map +1 -0
- package/dist/linq/update.d.ts +19 -0
- package/dist/linq/update.d.ts.map +1 -0
- package/dist/linq/update.js +11 -0
- package/dist/linq/update.js.map +1 -0
- package/dist/parser/ast-types.d.ts +114 -0
- package/dist/parser/ast-types.d.ts.map +1 -0
- package/dist/parser/ast-types.js +6 -0
- package/dist/parser/ast-types.js.map +1 -0
- package/dist/parser/ast-visitor.d.ts +32 -0
- package/dist/parser/ast-visitor.d.ts.map +1 -0
- package/dist/parser/ast-visitor.js +666 -0
- package/dist/parser/ast-visitor.js.map +1 -0
- package/dist/parser/normalize-joins.d.ts +3 -0
- package/dist/parser/normalize-joins.d.ts.map +1 -0
- package/dist/parser/normalize-joins.js +109 -0
- package/dist/parser/normalize-joins.js.map +1 -0
- package/dist/parser/normalize-window-filters.d.ts +13 -0
- package/dist/parser/normalize-window-filters.d.ts.map +1 -0
- package/dist/parser/normalize-window-filters.js +212 -0
- package/dist/parser/normalize-window-filters.js.map +1 -0
- package/dist/parser/oxc-parser.d.ts +11 -0
- package/dist/parser/oxc-parser.d.ts.map +1 -0
- package/dist/parser/oxc-parser.js +27 -0
- package/dist/parser/oxc-parser.js.map +1 -0
- package/dist/parser/parse-cache-config.d.ts +31 -0
- package/dist/parser/parse-cache-config.d.ts.map +1 -0
- package/dist/parser/parse-cache-config.js +33 -0
- package/dist/parser/parse-cache-config.js.map +1 -0
- package/dist/parser/parse-cache.d.ts +65 -0
- package/dist/parser/parse-cache.d.ts.map +1 -0
- package/dist/parser/parse-cache.js +146 -0
- package/dist/parser/parse-cache.js.map +1 -0
- package/dist/parser/parse-query.d.ts +24 -0
- package/dist/parser/parse-query.d.ts.map +1 -0
- package/dist/parser/parse-query.js +118 -0
- package/dist/parser/parse-query.js.map +1 -0
- package/dist/parser/types.d.ts +11 -0
- package/dist/parser/types.d.ts.map +1 -0
- package/dist/parser/types.js +2 -0
- package/dist/parser/types.js.map +1 -0
- package/dist/plans/delete-plan.d.ts +44 -0
- package/dist/plans/delete-plan.d.ts.map +1 -0
- package/dist/plans/delete-plan.js +209 -0
- package/dist/plans/delete-plan.js.map +1 -0
- package/dist/plans/insert-plan.d.ts +50 -0
- package/dist/plans/insert-plan.d.ts.map +1 -0
- package/dist/plans/insert-plan.js +240 -0
- package/dist/plans/insert-plan.js.map +1 -0
- package/dist/plans/plan-execution.d.ts +39 -0
- package/dist/plans/plan-execution.d.ts.map +1 -0
- package/dist/plans/plan-execution.js +32 -0
- package/dist/plans/plan-execution.js.map +1 -0
- package/dist/plans/select-plan.d.ts +74 -0
- package/dist/plans/select-plan.d.ts.map +1 -0
- package/dist/plans/select-plan.js +551 -0
- package/dist/plans/select-plan.js.map +1 -0
- package/dist/plans/update-plan.d.ts +61 -0
- package/dist/plans/update-plan.d.ts.map +1 -0
- package/dist/plans/update-plan.js +297 -0
- package/dist/plans/update-plan.js.map +1 -0
- package/dist/query-tree/operations.d.ts +430 -0
- package/dist/query-tree/operations.d.ts.map +1 -0
- package/dist/query-tree/operations.js +8 -0
- package/dist/query-tree/operations.js.map +1 -0
- package/dist/visitors/aggregates/average.d.ts +11 -0
- package/dist/visitors/aggregates/average.d.ts.map +1 -0
- package/dist/visitors/aggregates/average.js +56 -0
- package/dist/visitors/aggregates/average.js.map +1 -0
- package/dist/visitors/aggregates/max.d.ts +11 -0
- package/dist/visitors/aggregates/max.d.ts.map +1 -0
- package/dist/visitors/aggregates/max.js +56 -0
- package/dist/visitors/aggregates/max.js.map +1 -0
- package/dist/visitors/aggregates/min.d.ts +11 -0
- package/dist/visitors/aggregates/min.d.ts.map +1 -0
- package/dist/visitors/aggregates/min.js +56 -0
- package/dist/visitors/aggregates/min.js.map +1 -0
- package/dist/visitors/aggregates/sum.d.ts +11 -0
- package/dist/visitors/aggregates/sum.d.ts.map +1 -0
- package/dist/visitors/aggregates/sum.js +56 -0
- package/dist/visitors/aggregates/sum.js.map +1 -0
- package/dist/visitors/ast-visitor.d.ts +15 -0
- package/dist/visitors/ast-visitor.d.ts.map +1 -0
- package/dist/visitors/ast-visitor.js +20 -0
- package/dist/visitors/ast-visitor.js.map +1 -0
- package/dist/visitors/boolean/comparison.d.ts +12 -0
- package/dist/visitors/boolean/comparison.d.ts.map +1 -0
- package/dist/visitors/boolean/comparison.js +128 -0
- package/dist/visitors/boolean/comparison.js.map +1 -0
- package/dist/visitors/boolean/logical.d.ts +12 -0
- package/dist/visitors/boolean/logical.d.ts.map +1 -0
- package/dist/visitors/boolean/logical.js +68 -0
- package/dist/visitors/boolean/logical.js.map +1 -0
- package/dist/visitors/boolean-predicates/all.d.ts +11 -0
- package/dist/visitors/boolean-predicates/all.d.ts.map +1 -0
- package/dist/visitors/boolean-predicates/all.js +49 -0
- package/dist/visitors/boolean-predicates/all.js.map +1 -0
- package/dist/visitors/boolean-predicates/any.d.ts +11 -0
- package/dist/visitors/boolean-predicates/any.d.ts.map +1 -0
- package/dist/visitors/boolean-predicates/any.js +48 -0
- package/dist/visitors/boolean-predicates/any.js.map +1 -0
- package/dist/visitors/common/identifier.d.ts +13 -0
- package/dist/visitors/common/identifier.d.ts.map +1 -0
- package/dist/visitors/common/identifier.js +46 -0
- package/dist/visitors/common/identifier.js.map +1 -0
- package/dist/visitors/common/literal.d.ts +13 -0
- package/dist/visitors/common/literal.d.ts.map +1 -0
- package/dist/visitors/common/literal.js +45 -0
- package/dist/visitors/common/literal.js.map +1 -0
- package/dist/visitors/common/member-access.d.ts +15 -0
- package/dist/visitors/common/member-access.d.ts.map +1 -0
- package/dist/visitors/common/member-access.js +192 -0
- package/dist/visitors/common/member-access.js.map +1 -0
- package/dist/visitors/contains/index.d.ts +11 -0
- package/dist/visitors/contains/index.d.ts.map +1 -0
- package/dist/visitors/contains/index.js +26 -0
- package/dist/visitors/contains/index.js.map +1 -0
- package/dist/visitors/count/index.d.ts +11 -0
- package/dist/visitors/count/index.d.ts.map +1 -0
- package/dist/visitors/count/index.js +47 -0
- package/dist/visitors/count/index.js.map +1 -0
- package/dist/visitors/delete/allow-full-delete.d.ts +14 -0
- package/dist/visitors/delete/allow-full-delete.d.ts.map +1 -0
- package/dist/visitors/delete/allow-full-delete.js +26 -0
- package/dist/visitors/delete/allow-full-delete.js.map +1 -0
- package/dist/visitors/delete/index.d.ts +10 -0
- package/dist/visitors/delete/index.d.ts.map +1 -0
- package/dist/visitors/delete/index.js +53 -0
- package/dist/visitors/delete/index.js.map +1 -0
- package/dist/visitors/delete/where-delete.d.ts +15 -0
- package/dist/visitors/delete/where-delete.d.ts.map +1 -0
- package/dist/visitors/delete/where-delete.js +59 -0
- package/dist/visitors/delete/where-delete.js.map +1 -0
- package/dist/visitors/distinct/index.d.ts +16 -0
- package/dist/visitors/distinct/index.d.ts.map +1 -0
- package/dist/visitors/distinct/index.js +20 -0
- package/dist/visitors/distinct/index.js.map +1 -0
- package/dist/visitors/from/index.d.ts +12 -0
- package/dist/visitors/from/index.d.ts.map +1 -0
- package/dist/visitors/from/index.js +58 -0
- package/dist/visitors/from/index.js.map +1 -0
- package/dist/visitors/groupby/index.d.ts +11 -0
- package/dist/visitors/groupby/index.d.ts.map +1 -0
- package/dist/visitors/groupby/index.js +51 -0
- package/dist/visitors/groupby/index.js.map +1 -0
- package/dist/visitors/groupjoin/index.d.ts +8 -0
- package/dist/visitors/groupjoin/index.d.ts.map +1 -0
- package/dist/visitors/groupjoin/index.js +184 -0
- package/dist/visitors/groupjoin/index.js.map +1 -0
- package/dist/visitors/index.d.ts +13 -0
- package/dist/visitors/index.d.ts.map +1 -0
- package/dist/visitors/index.js +266 -0
- package/dist/visitors/index.js.map +1 -0
- package/dist/visitors/insert/index.d.ts +10 -0
- package/dist/visitors/insert/index.d.ts.map +1 -0
- package/dist/visitors/insert/index.js +54 -0
- package/dist/visitors/insert/index.js.map +1 -0
- package/dist/visitors/insert/returning.d.ts +15 -0
- package/dist/visitors/insert/returning.d.ts.map +1 -0
- package/dist/visitors/insert/returning.js +60 -0
- package/dist/visitors/insert/returning.js.map +1 -0
- package/dist/visitors/insert/values.d.ts +15 -0
- package/dist/visitors/insert/values.d.ts.map +1 -0
- package/dist/visitors/insert/values.js +37 -0
- package/dist/visitors/insert/values.js.map +1 -0
- package/dist/visitors/join/context.d.ts +16 -0
- package/dist/visitors/join/context.d.ts.map +1 -0
- package/dist/visitors/join/context.js +6 -0
- package/dist/visitors/join/context.js.map +1 -0
- package/dist/visitors/join/expression.d.ts +16 -0
- package/dist/visitors/join/expression.d.ts.map +1 -0
- package/dist/visitors/join/expression.js +162 -0
- package/dist/visitors/join/expression.js.map +1 -0
- package/dist/visitors/join/index.d.ts +10 -0
- package/dist/visitors/join/index.d.ts.map +1 -0
- package/dist/visitors/join/index.js +9 -0
- package/dist/visitors/join/index.js.map +1 -0
- package/dist/visitors/join/join.d.ts +12 -0
- package/dist/visitors/join/join.d.ts.map +1 -0
- package/dist/visitors/join/join.js +348 -0
- package/dist/visitors/join/join.js.map +1 -0
- package/dist/visitors/join/result-selector.d.ts +16 -0
- package/dist/visitors/join/result-selector.d.ts.map +1 -0
- package/dist/visitors/join/result-selector.js +121 -0
- package/dist/visitors/join/result-selector.js.map +1 -0
- package/dist/visitors/join/shape.d.ts +16 -0
- package/dist/visitors/join/shape.d.ts.map +1 -0
- package/dist/visitors/join/shape.js +157 -0
- package/dist/visitors/join/shape.js.map +1 -0
- package/dist/visitors/orderby/context.d.ts +20 -0
- package/dist/visitors/orderby/context.d.ts.map +1 -0
- package/dist/visitors/orderby/context.js +25 -0
- package/dist/visitors/orderby/context.js.map +1 -0
- package/dist/visitors/orderby/index.d.ts +7 -0
- package/dist/visitors/orderby/index.d.ts.map +1 -0
- package/dist/visitors/orderby/index.js +7 -0
- package/dist/visitors/orderby/index.js.map +1 -0
- package/dist/visitors/orderby/key-selector.d.ts +13 -0
- package/dist/visitors/orderby/key-selector.d.ts.map +1 -0
- package/dist/visitors/orderby/key-selector.js +236 -0
- package/dist/visitors/orderby/key-selector.js.map +1 -0
- package/dist/visitors/orderby/orderby.d.ts +20 -0
- package/dist/visitors/orderby/orderby.d.ts.map +1 -0
- package/dist/visitors/orderby/orderby.js +83 -0
- package/dist/visitors/orderby/orderby.js.map +1 -0
- package/dist/visitors/orderby/thenby.d.ts +20 -0
- package/dist/visitors/orderby/thenby.d.ts.map +1 -0
- package/dist/visitors/orderby/thenby.js +76 -0
- package/dist/visitors/orderby/thenby.js.map +1 -0
- package/dist/visitors/predicates/first.d.ts +11 -0
- package/dist/visitors/predicates/first.d.ts.map +1 -0
- package/dist/visitors/predicates/first.js +47 -0
- package/dist/visitors/predicates/first.js.map +1 -0
- package/dist/visitors/predicates/last.d.ts +11 -0
- package/dist/visitors/predicates/last.d.ts.map +1 -0
- package/dist/visitors/predicates/last.js +48 -0
- package/dist/visitors/predicates/last.js.map +1 -0
- package/dist/visitors/predicates/single.d.ts +11 -0
- package/dist/visitors/predicates/single.d.ts.map +1 -0
- package/dist/visitors/predicates/single.js +48 -0
- package/dist/visitors/predicates/single.js.map +1 -0
- package/dist/visitors/reverse/index.d.ts +11 -0
- package/dist/visitors/reverse/index.d.ts.map +1 -0
- package/dist/visitors/reverse/index.js +14 -0
- package/dist/visitors/reverse/index.js.map +1 -0
- package/dist/visitors/select/context.d.ts +30 -0
- package/dist/visitors/select/context.d.ts.map +1 -0
- package/dist/visitors/select/context.js +30 -0
- package/dist/visitors/select/context.js.map +1 -0
- package/dist/visitors/select/index.d.ts +16 -0
- package/dist/visitors/select/index.d.ts.map +1 -0
- package/dist/visitors/select/index.js +180 -0
- package/dist/visitors/select/index.js.map +1 -0
- package/dist/visitors/select/projection.d.ts +13 -0
- package/dist/visitors/select/projection.d.ts.map +1 -0
- package/dist/visitors/select/projection.js +642 -0
- package/dist/visitors/select/projection.js.map +1 -0
- package/dist/visitors/select-many/index.d.ts +8 -0
- package/dist/visitors/select-many/index.d.ts.map +1 -0
- package/dist/visitors/select-many/index.js +244 -0
- package/dist/visitors/select-many/index.js.map +1 -0
- package/dist/visitors/shared/generic-visitor.d.ts +21 -0
- package/dist/visitors/shared/generic-visitor.d.ts.map +1 -0
- package/dist/visitors/shared/generic-visitor.js +32 -0
- package/dist/visitors/shared/generic-visitor.js.map +1 -0
- package/dist/visitors/shared/predicate-visitor.d.ts +21 -0
- package/dist/visitors/shared/predicate-visitor.d.ts.map +1 -0
- package/dist/visitors/shared/predicate-visitor.js +49 -0
- package/dist/visitors/shared/predicate-visitor.js.map +1 -0
- package/dist/visitors/shared/value-visitor.d.ts +21 -0
- package/dist/visitors/shared/value-visitor.d.ts.map +1 -0
- package/dist/visitors/shared/value-visitor.js +38 -0
- package/dist/visitors/shared/value-visitor.js.map +1 -0
- package/dist/visitors/take-skip/skip.d.ts +15 -0
- package/dist/visitors/take-skip/skip.d.ts.map +1 -0
- package/dist/visitors/take-skip/skip.js +209 -0
- package/dist/visitors/take-skip/skip.js.map +1 -0
- package/dist/visitors/take-skip/take.d.ts +15 -0
- package/dist/visitors/take-skip/take.d.ts.map +1 -0
- package/dist/visitors/take-skip/take.js +76 -0
- package/dist/visitors/take-skip/take.js.map +1 -0
- package/dist/visitors/types.d.ts +170 -0
- package/dist/visitors/types.d.ts.map +1 -0
- package/dist/visitors/types.js +184 -0
- package/dist/visitors/types.js.map +1 -0
- package/dist/visitors/update/allow-full-update.d.ts +14 -0
- package/dist/visitors/update/allow-full-update.d.ts.map +1 -0
- package/dist/visitors/update/allow-full-update.js +26 -0
- package/dist/visitors/update/allow-full-update.js.map +1 -0
- package/dist/visitors/update/index.d.ts +10 -0
- package/dist/visitors/update/index.d.ts.map +1 -0
- package/dist/visitors/update/index.js +54 -0
- package/dist/visitors/update/index.js.map +1 -0
- package/dist/visitors/update/returning-update.d.ts +15 -0
- package/dist/visitors/update/returning-update.d.ts.map +1 -0
- package/dist/visitors/update/returning-update.js +60 -0
- package/dist/visitors/update/returning-update.js.map +1 -0
- package/dist/visitors/update/set.d.ts +15 -0
- package/dist/visitors/update/set.d.ts.map +1 -0
- package/dist/visitors/update/set.js +46 -0
- package/dist/visitors/update/set.js.map +1 -0
- package/dist/visitors/update/where-update.d.ts +15 -0
- package/dist/visitors/update/where-update.d.ts.map +1 -0
- package/dist/visitors/update/where-update.js +59 -0
- package/dist/visitors/update/where-update.js.map +1 -0
- package/dist/visitors/utils.d.ts +36 -0
- package/dist/visitors/utils.d.ts.map +1 -0
- package/dist/visitors/utils.js +104 -0
- package/dist/visitors/utils.js.map +1 -0
- package/dist/visitors/value/array-literal.d.ts +12 -0
- package/dist/visitors/value/array-literal.d.ts.map +1 -0
- package/dist/visitors/value/array-literal.js +23 -0
- package/dist/visitors/value/array-literal.js.map +1 -0
- package/dist/visitors/value/call-expression.d.ts +12 -0
- package/dist/visitors/value/call-expression.d.ts.map +1 -0
- package/dist/visitors/value/call-expression.js +165 -0
- package/dist/visitors/value/call-expression.js.map +1 -0
- package/dist/visitors/value/object-literal.d.ts +12 -0
- package/dist/visitors/value/object-literal.d.ts.map +1 -0
- package/dist/visitors/value/object-literal.js +98 -0
- package/dist/visitors/value/object-literal.js.map +1 -0
- package/dist/visitors/visitor-utils.d.ts +22 -0
- package/dist/visitors/visitor-utils.d.ts.map +1 -0
- package/dist/visitors/visitor-utils.js +64 -0
- package/dist/visitors/visitor-utils.js.map +1 -0
- package/dist/visitors/where/boolean-method.d.ts +12 -0
- package/dist/visitors/where/boolean-method.d.ts.map +1 -0
- package/dist/visitors/where/boolean-method.js +150 -0
- package/dist/visitors/where/boolean-method.js.map +1 -0
- package/dist/visitors/where/case-insensitive-functions.d.ts +13 -0
- package/dist/visitors/where/case-insensitive-functions.d.ts.map +1 -0
- package/dist/visitors/where/case-insensitive-functions.js +72 -0
- package/dist/visitors/where/case-insensitive-functions.js.map +1 -0
- package/dist/visitors/where/column.d.ts +14 -0
- package/dist/visitors/where/column.d.ts.map +1 -0
- package/dist/visitors/where/column.js +57 -0
- package/dist/visitors/where/column.js.map +1 -0
- package/dist/visitors/where/comparison.d.ts +12 -0
- package/dist/visitors/where/comparison.d.ts.map +1 -0
- package/dist/visitors/where/comparison.js +141 -0
- package/dist/visitors/where/comparison.js.map +1 -0
- package/dist/visitors/where/context.d.ts +32 -0
- package/dist/visitors/where/context.d.ts.map +1 -0
- package/dist/visitors/where/context.js +18 -0
- package/dist/visitors/where/context.js.map +1 -0
- package/dist/visitors/where/index.d.ts +16 -0
- package/dist/visitors/where/index.d.ts.map +1 -0
- package/dist/visitors/where/index.js +82 -0
- package/dist/visitors/where/index.js.map +1 -0
- package/dist/visitors/where/logical.d.ts +12 -0
- package/dist/visitors/where/logical.d.ts.map +1 -0
- package/dist/visitors/where/logical.js +43 -0
- package/dist/visitors/where/logical.js.map +1 -0
- package/dist/visitors/where/predicate.d.ts +13 -0
- package/dist/visitors/where/predicate.d.ts.map +1 -0
- package/dist/visitors/where/predicate.js +131 -0
- package/dist/visitors/where/predicate.js.map +1 -0
- package/dist/visitors/where/value.d.ts +13 -0
- package/dist/visitors/where/value.d.ts.map +1 -0
- package/dist/visitors/where/value.js +356 -0
- package/dist/visitors/where/value.js.map +1 -0
- package/dist/visitors/window/index.d.ts +18 -0
- package/dist/visitors/window/index.d.ts.map +1 -0
- package/dist/visitors/window/index.js +156 -0
- package/dist/visitors/window/index.js.map +1 -0
- package/package.json +50 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"queryable.d.ts","sourceRoot":"","sources":["../../src/linq/queryable.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,148 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Queryable and OrderedQueryable classes for compile-time type safety
|
|
3
|
+
* ONLY BASIC SQL OPERATIONS + single, last, contains, union, reverse
|
|
4
|
+
*/
|
|
5
|
+
import { TerminalQuery } from "./terminal-query.js";
|
|
6
|
+
/**
|
|
7
|
+
* Queryable provides a fluent API for building queries with type safety.
|
|
8
|
+
* This class is never actually executed - it's parsed from its string representation.
|
|
9
|
+
*/
|
|
10
|
+
export class Queryable {
|
|
11
|
+
constructor() {
|
|
12
|
+
// Never actually instantiated in practice
|
|
13
|
+
}
|
|
14
|
+
// ==================== Filtering ====================
|
|
15
|
+
where(_predicate) {
|
|
16
|
+
return this;
|
|
17
|
+
}
|
|
18
|
+
// ==================== Projection ====================
|
|
19
|
+
select(_selector) {
|
|
20
|
+
return new Queryable();
|
|
21
|
+
}
|
|
22
|
+
// ==================== Joining ====================
|
|
23
|
+
join(_inner, _outerKeySelector, _innerKeySelector, _resultSelector) {
|
|
24
|
+
return new Queryable();
|
|
25
|
+
}
|
|
26
|
+
groupJoin(_inner, _outerKeySelector, _innerKeySelector, _resultSelector) {
|
|
27
|
+
return new Queryable();
|
|
28
|
+
}
|
|
29
|
+
selectMany(_collectionSelector, _resultSelector) {
|
|
30
|
+
return new Queryable();
|
|
31
|
+
}
|
|
32
|
+
// ==================== Grouping ====================
|
|
33
|
+
groupBy(_keySelector) {
|
|
34
|
+
return new Queryable();
|
|
35
|
+
}
|
|
36
|
+
// ==================== Ordering ====================
|
|
37
|
+
orderBy(_keySelector) {
|
|
38
|
+
return new OrderedQueryable();
|
|
39
|
+
}
|
|
40
|
+
orderByDescending(_keySelector) {
|
|
41
|
+
return new OrderedQueryable();
|
|
42
|
+
}
|
|
43
|
+
// ==================== Partitioning ====================
|
|
44
|
+
take(_count) {
|
|
45
|
+
return this;
|
|
46
|
+
}
|
|
47
|
+
skip(_count) {
|
|
48
|
+
return this;
|
|
49
|
+
}
|
|
50
|
+
// ==================== Set Operations ====================
|
|
51
|
+
distinct() {
|
|
52
|
+
return this;
|
|
53
|
+
}
|
|
54
|
+
union(_second) {
|
|
55
|
+
return this;
|
|
56
|
+
}
|
|
57
|
+
concat(_second) {
|
|
58
|
+
return this;
|
|
59
|
+
}
|
|
60
|
+
intersect(_second) {
|
|
61
|
+
return this;
|
|
62
|
+
}
|
|
63
|
+
except(_second) {
|
|
64
|
+
return this;
|
|
65
|
+
}
|
|
66
|
+
reverse() {
|
|
67
|
+
return this;
|
|
68
|
+
}
|
|
69
|
+
defaultIfEmpty(_defaultValue) {
|
|
70
|
+
return new Queryable();
|
|
71
|
+
}
|
|
72
|
+
// ==================== Terminal Operations ====================
|
|
73
|
+
first(_predicate) {
|
|
74
|
+
return new TerminalQuery();
|
|
75
|
+
}
|
|
76
|
+
firstOrDefault(_predicate) {
|
|
77
|
+
return new TerminalQuery();
|
|
78
|
+
}
|
|
79
|
+
single(_predicate) {
|
|
80
|
+
return new TerminalQuery();
|
|
81
|
+
}
|
|
82
|
+
singleOrDefault(_predicate) {
|
|
83
|
+
return new TerminalQuery();
|
|
84
|
+
}
|
|
85
|
+
last(_predicate) {
|
|
86
|
+
return new TerminalQuery();
|
|
87
|
+
}
|
|
88
|
+
lastOrDefault(_predicate) {
|
|
89
|
+
return new TerminalQuery();
|
|
90
|
+
}
|
|
91
|
+
contains(_value) {
|
|
92
|
+
return new TerminalQuery();
|
|
93
|
+
}
|
|
94
|
+
// ==================== Aggregates ====================
|
|
95
|
+
sum(_selector) {
|
|
96
|
+
return new TerminalQuery();
|
|
97
|
+
}
|
|
98
|
+
average(_selector) {
|
|
99
|
+
return new TerminalQuery();
|
|
100
|
+
}
|
|
101
|
+
min(_selector) {
|
|
102
|
+
return new TerminalQuery();
|
|
103
|
+
}
|
|
104
|
+
max(_selector) {
|
|
105
|
+
return new TerminalQuery();
|
|
106
|
+
}
|
|
107
|
+
// ==================== Boolean Tests ====================
|
|
108
|
+
any(_predicate) {
|
|
109
|
+
return new TerminalQuery();
|
|
110
|
+
}
|
|
111
|
+
all(_predicate) {
|
|
112
|
+
return new TerminalQuery();
|
|
113
|
+
}
|
|
114
|
+
// ==================== Counting ====================
|
|
115
|
+
count(_predicate) {
|
|
116
|
+
return new TerminalQuery();
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
/**
|
|
120
|
+
* OrderedQueryable extends Queryable with thenBy operations
|
|
121
|
+
* Matches .NET's IOrderedQueryable<T> : IQueryable<T> inheritance
|
|
122
|
+
*/
|
|
123
|
+
export class OrderedQueryable extends Queryable {
|
|
124
|
+
constructor() {
|
|
125
|
+
super();
|
|
126
|
+
}
|
|
127
|
+
// Override methods that need to return OrderedQueryable instead of Queryable
|
|
128
|
+
where(_predicate) {
|
|
129
|
+
return this;
|
|
130
|
+
}
|
|
131
|
+
distinct() {
|
|
132
|
+
return this;
|
|
133
|
+
}
|
|
134
|
+
take(_count) {
|
|
135
|
+
return this;
|
|
136
|
+
}
|
|
137
|
+
skip(_count) {
|
|
138
|
+
return this;
|
|
139
|
+
}
|
|
140
|
+
// Secondary ordering methods (unique to OrderedQueryable)
|
|
141
|
+
thenBy(_keySelector) {
|
|
142
|
+
return this;
|
|
143
|
+
}
|
|
144
|
+
thenByDescending(_keySelector) {
|
|
145
|
+
return this;
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
//# sourceMappingURL=queryable.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"queryable.js","sourceRoot":"","sources":["../../src/linq/queryable.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* TerminalQuery represents a terminated query that returns a specific type.
|
|
3
|
+
* This is a marker class - no actual implementation needed.
|
|
4
|
+
* The generic T is used solely for compile-time type safety.
|
|
5
|
+
*/
|
|
6
|
+
export declare class TerminalQuery<T = unknown> {
|
|
7
|
+
readonly __phantom: T;
|
|
8
|
+
constructor();
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=terminal-query.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"terminal-query.d.ts","sourceRoot":"","sources":["../../src/linq/terminal-query.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,qBAAa,aAAa,CAAC,CAAC,GAAG,OAAO;IAEpC,QAAQ,CAAC,SAAS,EAAG,CAAC,CAAC;;CAMxB"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* TerminalQuery represents a terminated query that returns a specific type.
|
|
3
|
+
* This is a marker class - no actual implementation needed.
|
|
4
|
+
* The generic T is used solely for compile-time type safety.
|
|
5
|
+
*/
|
|
6
|
+
export class TerminalQuery {
|
|
7
|
+
constructor() {
|
|
8
|
+
// Marker class - never actually instantiated
|
|
9
|
+
// T parameter used for compile-time type checking only
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=terminal-query.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"terminal-query.js","sourceRoot":"","sources":["../../src/linq/terminal-query.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,OAAO,aAAa;IAIxB;QACE,6CAA6C;QAC7C,uDAAuD;IACzD,CAAC;CACF"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Updatable class for UPDATE operations with type safety
|
|
3
|
+
*/
|
|
4
|
+
/**
|
|
5
|
+
* Updatable provides type-safe UPDATE query building
|
|
6
|
+
*/
|
|
7
|
+
export declare class Updatable<T> {
|
|
8
|
+
private __hasSet;
|
|
9
|
+
constructor();
|
|
10
|
+
/**
|
|
11
|
+
* Specifies the columns to update and their new values
|
|
12
|
+
* Can only be called once per query
|
|
13
|
+
* @param setSelector Object mapping columns to new values
|
|
14
|
+
* @returns UpdatableWithSet for further chaining
|
|
15
|
+
*/
|
|
16
|
+
set(_setSelector: Partial<T>): UpdatableWithSet<T>;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* UpdatableWithSet represents an UPDATE with SET clause
|
|
20
|
+
*/
|
|
21
|
+
export declare class UpdatableWithSet<T> {
|
|
22
|
+
private __hasWhereOrAllow;
|
|
23
|
+
constructor();
|
|
24
|
+
/**
|
|
25
|
+
* Specifies the WHERE condition for the update
|
|
26
|
+
* @param predicate Function that returns a boolean condition
|
|
27
|
+
* @returns UpdatableComplete for optional chaining
|
|
28
|
+
*/
|
|
29
|
+
where(_predicate: (_item: T) => boolean): UpdatableComplete<T>;
|
|
30
|
+
/**
|
|
31
|
+
* Explicitly allows a full table update without WHERE clause
|
|
32
|
+
* DANGEROUS: This will update ALL rows in the table
|
|
33
|
+
* @returns UpdatableComplete for optional chaining
|
|
34
|
+
*/
|
|
35
|
+
allowFullTableUpdate(): UpdatableComplete<T>;
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* UpdatableComplete represents a complete UPDATE query
|
|
39
|
+
*/
|
|
40
|
+
export declare class UpdatableComplete<T> {
|
|
41
|
+
constructor();
|
|
42
|
+
/**
|
|
43
|
+
* Specifies columns to return after update (PostgreSQL only)
|
|
44
|
+
* @param selector Function that returns the columns to return
|
|
45
|
+
* @returns UpdatableWithReturning for type inference
|
|
46
|
+
*/
|
|
47
|
+
returning<TResult>(_selector: (_item: T) => TResult): UpdatableWithReturning<T, TResult>;
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* UpdatableWithReturning represents an UPDATE with RETURNING clause
|
|
51
|
+
*/
|
|
52
|
+
export declare class UpdatableWithReturning<TTable, TResult> {
|
|
53
|
+
constructor();
|
|
54
|
+
_table?: (_: TTable) => void;
|
|
55
|
+
_result?: (_: TResult) => void;
|
|
56
|
+
}
|
|
57
|
+
//# sourceMappingURL=updatable.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"updatable.d.ts","sourceRoot":"","sources":["../../src/linq/updatable.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;GAEG;AACH,qBAAa,SAAS,CAAC,CAAC;IACtB,OAAO,CAAC,QAAQ,CAAS;;IAMzB;;;;;OAKG;IACH,GAAG,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC,CAAC,CAAC;CAOnD;AAED;;GAEG;AACH,qBAAa,gBAAgB,CAAC,CAAC;IAC7B,OAAO,CAAC,iBAAiB,CAAS;;IAMlC;;;;OAIG;IACH,KAAK,CAAC,UAAU,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,OAAO,GAAG,iBAAiB,CAAC,CAAC,CAAC;IAQ9D;;;;OAIG;IACH,oBAAoB,IAAI,iBAAiB,CAAC,CAAC,CAAC;CAO7C;AAED;;GAEG;AACH,qBAAa,iBAAiB,CAAC,CAAC;;IAK9B;;;;OAIG;IACH,SAAS,CAAC,OAAO,EAAE,SAAS,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,OAAO,GAAG,sBAAsB,CAAC,CAAC,EAAE,OAAO,CAAC;CAGzF;AAED;;GAEG;AACH,qBAAa,sBAAsB,CAAC,MAAM,EAAE,OAAO;;IAOjD,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7B,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;CAChC"}
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Updatable class for UPDATE operations with type safety
|
|
3
|
+
*/
|
|
4
|
+
/**
|
|
5
|
+
* Updatable provides type-safe UPDATE query building
|
|
6
|
+
*/
|
|
7
|
+
export class Updatable {
|
|
8
|
+
constructor() {
|
|
9
|
+
this.__hasSet = false;
|
|
10
|
+
// Never actually instantiated - used only for type inference
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Specifies the columns to update and their new values
|
|
14
|
+
* Can only be called once per query
|
|
15
|
+
* @param setSelector Object mapping columns to new values
|
|
16
|
+
* @returns UpdatableWithSet for further chaining
|
|
17
|
+
*/
|
|
18
|
+
set(_setSelector) {
|
|
19
|
+
if (this.__hasSet) {
|
|
20
|
+
throw new Error("set() can only be called once per UPDATE query");
|
|
21
|
+
}
|
|
22
|
+
this.__hasSet = true;
|
|
23
|
+
return new UpdatableWithSet();
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* UpdatableWithSet represents an UPDATE with SET clause
|
|
28
|
+
*/
|
|
29
|
+
export class UpdatableWithSet {
|
|
30
|
+
constructor() {
|
|
31
|
+
this.__hasWhereOrAllow = false;
|
|
32
|
+
// Never actually instantiated - used only for type inference
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Specifies the WHERE condition for the update
|
|
36
|
+
* @param predicate Function that returns a boolean condition
|
|
37
|
+
* @returns UpdatableComplete for optional chaining
|
|
38
|
+
*/
|
|
39
|
+
where(_predicate) {
|
|
40
|
+
if (this.__hasWhereOrAllow) {
|
|
41
|
+
throw new Error("Cannot call where() after allowFullTableUpdate()");
|
|
42
|
+
}
|
|
43
|
+
this.__hasWhereOrAllow = true;
|
|
44
|
+
return new UpdatableComplete();
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Explicitly allows a full table update without WHERE clause
|
|
48
|
+
* DANGEROUS: This will update ALL rows in the table
|
|
49
|
+
* @returns UpdatableComplete for optional chaining
|
|
50
|
+
*/
|
|
51
|
+
allowFullTableUpdate() {
|
|
52
|
+
if (this.__hasWhereOrAllow) {
|
|
53
|
+
throw new Error("Cannot call allowFullTableUpdate() after where()");
|
|
54
|
+
}
|
|
55
|
+
this.__hasWhereOrAllow = true;
|
|
56
|
+
return new UpdatableComplete();
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* UpdatableComplete represents a complete UPDATE query
|
|
61
|
+
*/
|
|
62
|
+
export class UpdatableComplete {
|
|
63
|
+
constructor() {
|
|
64
|
+
// Never actually instantiated - used only for type inference
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* Specifies columns to return after update (PostgreSQL only)
|
|
68
|
+
* @param selector Function that returns the columns to return
|
|
69
|
+
* @returns UpdatableWithReturning for type inference
|
|
70
|
+
*/
|
|
71
|
+
returning(_selector) {
|
|
72
|
+
return new UpdatableWithReturning();
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* UpdatableWithReturning represents an UPDATE with RETURNING clause
|
|
77
|
+
*/
|
|
78
|
+
export class UpdatableWithReturning {
|
|
79
|
+
constructor() {
|
|
80
|
+
// Never actually instantiated - used only for type inference
|
|
81
|
+
// Type parameters TTable and TResult are preserved for external type inference
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
//# sourceMappingURL=updatable.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"updatable.js","sourceRoot":"","sources":["../../src/linq/updatable.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;GAEG;AACH,MAAM,OAAO,SAAS;IAGpB;QAFQ,aAAQ,GAAG,KAAK,CAAC;QAGvB,6DAA6D;IAC/D,CAAC;IAED;;;;;OAKG;IACH,GAAG,CAAC,YAAwB;QAC1B,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;QACpE,CAAC;QACD,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACrB,OAAO,IAAI,gBAAgB,EAAK,CAAC;IACnC,CAAC;CACF;AAED;;GAEG;AACH,MAAM,OAAO,gBAAgB;IAG3B;QAFQ,sBAAiB,GAAG,KAAK,CAAC;QAGhC,6DAA6D;IAC/D,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,UAAiC;QACrC,IAAI,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAC3B,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;QACtE,CAAC;QACD,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;QAC9B,OAAO,IAAI,iBAAiB,EAAK,CAAC;IACpC,CAAC;IAED;;;;OAIG;IACH,oBAAoB;QAClB,IAAI,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAC3B,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;QACtE,CAAC;QACD,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;QAC9B,OAAO,IAAI,iBAAiB,EAAK,CAAC;IACpC,CAAC;CACF;AAED;;GAEG;AACH,MAAM,OAAO,iBAAiB;IAC5B;QACE,6DAA6D;IAC/D,CAAC;IAED;;;;OAIG;IACH,SAAS,CAAU,SAAgC;QACjD,OAAO,IAAI,sBAAsB,EAAc,CAAC;IAClD,CAAC;CACF;AAED;;GAEG;AACH,MAAM,OAAO,sBAAsB;IACjC;QACE,6DAA6D;QAC7D,+EAA+E;IACjF,CAAC;CAKF"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Entry point for creating UPDATE queries
|
|
3
|
+
*/
|
|
4
|
+
import { Updatable } from "./updatable.js";
|
|
5
|
+
import type { DatabaseSchema } from "./database-context.js";
|
|
6
|
+
/**
|
|
7
|
+
* Creates a new Updatable from a table name with explicit type
|
|
8
|
+
* @param tableName The name of the table to update
|
|
9
|
+
* @returns A new Updatable instance
|
|
10
|
+
*/
|
|
11
|
+
export declare function update<T>(tableName: string): Updatable<T>;
|
|
12
|
+
/**
|
|
13
|
+
* Creates a new Updatable from a typed database context
|
|
14
|
+
* @param context The database context with schema information
|
|
15
|
+
* @param tableName The name of the table to update (type-safe)
|
|
16
|
+
* @returns A new Updatable instance with inferred types
|
|
17
|
+
*/
|
|
18
|
+
export declare function update<TSchema, K extends keyof TSchema & string>(context: DatabaseSchema<TSchema>, tableName: K): Updatable<TSchema[K]>;
|
|
19
|
+
//# sourceMappingURL=update.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../src/linq/update.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAE5D;;;;GAIG;AACH,wBAAgB,MAAM,CAAC,CAAC,EAAE,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;AAE3D;;;;;GAKG;AACH,wBAAgB,MAAM,CAAC,OAAO,EAAE,CAAC,SAAS,MAAM,OAAO,GAAG,MAAM,EAC9D,OAAO,EAAE,cAAc,CAAC,OAAO,CAAC,EAChC,SAAS,EAAE,CAAC,GACX,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Entry point for creating UPDATE queries
|
|
3
|
+
*/
|
|
4
|
+
import { Updatable } from "./updatable.js";
|
|
5
|
+
// Implementation
|
|
6
|
+
export function update(_contextOrTable, _tableName) {
|
|
7
|
+
// Runtime doesn't need to differentiate - just return an Updatable
|
|
8
|
+
// Types are enforced at compile time through the overloads
|
|
9
|
+
return new Updatable();
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=update.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"update.js","sourceRoot":"","sources":["../../src/linq/update.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAqB3C,iBAAiB;AACjB,MAAM,UAAU,MAAM,CAAC,eAAwB,EAAE,UAAoB;IACnE,mEAAmE;IACnE,2DAA2D;IAC3D,OAAO,IAAI,SAAS,EAAE,CAAC;AACzB,CAAC"}
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* AST type definitions for OXC parser output
|
|
3
|
+
* These types represent the JavaScript AST nodes returned by the OXC parser
|
|
4
|
+
*/
|
|
5
|
+
export interface ASTNode {
|
|
6
|
+
type: string;
|
|
7
|
+
}
|
|
8
|
+
export interface Program extends ASTNode {
|
|
9
|
+
type: "Program";
|
|
10
|
+
body: Statement[];
|
|
11
|
+
sourceType: "module" | "script";
|
|
12
|
+
}
|
|
13
|
+
export interface ExpressionStatement extends ASTNode {
|
|
14
|
+
type: "ExpressionStatement";
|
|
15
|
+
expression: Expression;
|
|
16
|
+
}
|
|
17
|
+
export interface Identifier extends ASTNode {
|
|
18
|
+
type: "Identifier";
|
|
19
|
+
name: string;
|
|
20
|
+
}
|
|
21
|
+
export interface MemberExpression extends ASTNode {
|
|
22
|
+
type: "MemberExpression";
|
|
23
|
+
object: Expression;
|
|
24
|
+
property: Expression | Identifier;
|
|
25
|
+
computed: boolean;
|
|
26
|
+
}
|
|
27
|
+
export interface CallExpression extends ASTNode {
|
|
28
|
+
type: "CallExpression";
|
|
29
|
+
callee: Expression | MemberExpression | Identifier;
|
|
30
|
+
arguments: Expression[];
|
|
31
|
+
}
|
|
32
|
+
export interface ArrowFunctionExpression extends ASTNode {
|
|
33
|
+
type: "ArrowFunctionExpression";
|
|
34
|
+
params: Identifier[];
|
|
35
|
+
body: Expression | BlockStatement;
|
|
36
|
+
}
|
|
37
|
+
export interface BinaryExpression extends ASTNode {
|
|
38
|
+
type: "BinaryExpression";
|
|
39
|
+
operator: string;
|
|
40
|
+
left: Expression;
|
|
41
|
+
right: Expression;
|
|
42
|
+
}
|
|
43
|
+
export interface LogicalExpression extends ASTNode {
|
|
44
|
+
type: "LogicalExpression";
|
|
45
|
+
operator: "&&" | "||" | "??";
|
|
46
|
+
left: Expression;
|
|
47
|
+
right: Expression;
|
|
48
|
+
}
|
|
49
|
+
export interface UnaryExpression extends ASTNode {
|
|
50
|
+
type: "UnaryExpression";
|
|
51
|
+
operator: string;
|
|
52
|
+
argument: Expression;
|
|
53
|
+
}
|
|
54
|
+
export interface ConditionalExpression extends ASTNode {
|
|
55
|
+
type: "ConditionalExpression";
|
|
56
|
+
test: Expression;
|
|
57
|
+
consequent: Expression;
|
|
58
|
+
alternate: Expression;
|
|
59
|
+
}
|
|
60
|
+
export interface ObjectExpression extends ASTNode {
|
|
61
|
+
type: "ObjectExpression";
|
|
62
|
+
properties: Property[];
|
|
63
|
+
}
|
|
64
|
+
export interface Property extends ASTNode {
|
|
65
|
+
type: "Property";
|
|
66
|
+
key: Identifier | Literal;
|
|
67
|
+
value: Expression;
|
|
68
|
+
kind: "init" | "get" | "set";
|
|
69
|
+
}
|
|
70
|
+
export interface ArrayExpression extends ASTNode {
|
|
71
|
+
type: "ArrayExpression";
|
|
72
|
+
elements: (Expression | null)[];
|
|
73
|
+
}
|
|
74
|
+
export interface ParenthesizedExpression extends ASTNode {
|
|
75
|
+
type: "ParenthesizedExpression";
|
|
76
|
+
expression: Expression;
|
|
77
|
+
}
|
|
78
|
+
export interface ChainExpression extends ASTNode {
|
|
79
|
+
type: "ChainExpression";
|
|
80
|
+
expression: Expression;
|
|
81
|
+
}
|
|
82
|
+
export interface Literal extends ASTNode {
|
|
83
|
+
type: "Literal" | "NumericLiteral" | "StringLiteral" | "BooleanLiteral" | "NullLiteral";
|
|
84
|
+
value: string | number | boolean | null;
|
|
85
|
+
raw?: string;
|
|
86
|
+
}
|
|
87
|
+
export interface NumericLiteral extends ASTNode {
|
|
88
|
+
type: "NumericLiteral";
|
|
89
|
+
value: number;
|
|
90
|
+
}
|
|
91
|
+
export interface StringLiteral extends ASTNode {
|
|
92
|
+
type: "StringLiteral";
|
|
93
|
+
value: string;
|
|
94
|
+
}
|
|
95
|
+
export interface BooleanLiteral extends ASTNode {
|
|
96
|
+
type: "BooleanLiteral";
|
|
97
|
+
value: boolean;
|
|
98
|
+
}
|
|
99
|
+
export interface NullLiteral extends ASTNode {
|
|
100
|
+
type: "NullLiteral";
|
|
101
|
+
value: null;
|
|
102
|
+
}
|
|
103
|
+
export interface BlockStatement extends ASTNode {
|
|
104
|
+
type: "BlockStatement";
|
|
105
|
+
body: Statement[];
|
|
106
|
+
}
|
|
107
|
+
export interface ReturnStatement extends ASTNode {
|
|
108
|
+
type: "ReturnStatement";
|
|
109
|
+
argument: Expression | null;
|
|
110
|
+
}
|
|
111
|
+
export type Expression = Identifier | MemberExpression | CallExpression | ArrowFunctionExpression | BinaryExpression | LogicalExpression | UnaryExpression | ConditionalExpression | ObjectExpression | ArrayExpression | ParenthesizedExpression | ChainExpression | Literal | NumericLiteral | StringLiteral | BooleanLiteral | NullLiteral;
|
|
112
|
+
export type Statement = BlockStatement | ReturnStatement | ExpressionStatement;
|
|
113
|
+
export type ASTNodeType = Expression | Statement;
|
|
114
|
+
//# sourceMappingURL=ast-types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ast-types.d.ts","sourceRoot":"","sources":["../../src/parser/ast-types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ast-types.js","sourceRoot":"","sources":["../../src/parser/ast-types.ts"],"names":[],"mappings":"AAAA;;;GAGG"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* AST to QueryOperation visitor
|
|
3
|
+
* Main entry point for the visitor-based parsing system
|
|
4
|
+
*/
|
|
5
|
+
import type { QueryOperation } from "../query-tree/operations.js";
|
|
6
|
+
import type { Expression as ASTExpression } from "./ast-types.js";
|
|
7
|
+
import type { VisitorContext } from "../visitors/types.js";
|
|
8
|
+
/**
|
|
9
|
+
* Parse result with operation and auto-params
|
|
10
|
+
*/
|
|
11
|
+
export interface VisitorParseResult {
|
|
12
|
+
operation: QueryOperation | null;
|
|
13
|
+
autoParams: Record<string, unknown>;
|
|
14
|
+
tableParams: Set<string>;
|
|
15
|
+
queryParams: Set<string>;
|
|
16
|
+
ast: ASTExpression;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Convert AST to QueryOperation using visitor pattern
|
|
20
|
+
*/
|
|
21
|
+
export declare function convertAstToQueryOperationWithParams(ast: ASTExpression, startCounter?: number, existingAutoParams?: Map<string, unknown>, maybeQueryBuilderParam?: string): {
|
|
22
|
+
operation: QueryOperation | null;
|
|
23
|
+
autoParams: Record<string, unknown>;
|
|
24
|
+
autoParamInfos?: Record<string, {
|
|
25
|
+
value: unknown;
|
|
26
|
+
fieldName?: string;
|
|
27
|
+
tableName?: string;
|
|
28
|
+
sourceTable?: number;
|
|
29
|
+
}>;
|
|
30
|
+
visitorContext: VisitorContext;
|
|
31
|
+
};
|
|
32
|
+
//# sourceMappingURL=ast-visitor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ast-visitor.d.ts","sourceRoot":"","sources":["../../src/parser/ast-visitor.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EACV,cAAc,EAMf,MAAM,6BAA6B,CAAC;AACrC,OAAO,KAAK,EACV,UAAU,IAAI,aAAa,EAK5B,MAAM,gBAAgB,CAAC;AACxB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAwC3D;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,SAAS,EAAE,cAAc,GAAG,IAAI,CAAC;IACjC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACpC,WAAW,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACzB,WAAW,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACzB,GAAG,EAAE,aAAa,CAAC;CACpB;AAED;;GAEG;AACH,wBAAgB,oCAAoC,CAClD,GAAG,EAAE,aAAa,EAClB,YAAY,CAAC,EAAE,MAAM,EACrB,kBAAkB,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,EACzC,sBAAsB,CAAC,EAAE,MAAM,GAC9B;IACD,SAAS,EAAE,cAAc,GAAG,IAAI,CAAC;IACjC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACpC,cAAc,CAAC,EAAE,MAAM,CACrB,MAAM,EACN;QAAE,KAAK,EAAE,OAAO,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE,CACjF,CAAC;IACF,cAAc,EAAE,cAAc,CAAC;CAChC,CAqCA"}
|