@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,313 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Expression Types for Tinqer Query System
|
|
3
|
+
*
|
|
4
|
+
* Precise type hierarchy for expressions that evaluate to different types.
|
|
5
|
+
* These are used by the parser to represent parsed lambda expressions.
|
|
6
|
+
*/
|
|
7
|
+
/**
|
|
8
|
+
* Column source - where a column comes from
|
|
9
|
+
*/
|
|
10
|
+
export type ColumnSource = {
|
|
11
|
+
type: "direct";
|
|
12
|
+
} | {
|
|
13
|
+
type: "table";
|
|
14
|
+
alias: string;
|
|
15
|
+
} | {
|
|
16
|
+
type: "joinParam";
|
|
17
|
+
paramIndex: number;
|
|
18
|
+
} | {
|
|
19
|
+
type: "joinResult";
|
|
20
|
+
tableIndex: number;
|
|
21
|
+
} | {
|
|
22
|
+
type: "spread";
|
|
23
|
+
sourceIndex: number;
|
|
24
|
+
};
|
|
25
|
+
/**
|
|
26
|
+
* Column reference - references a table column
|
|
27
|
+
*/
|
|
28
|
+
export interface ColumnExpression {
|
|
29
|
+
type: "column";
|
|
30
|
+
name: string;
|
|
31
|
+
source?: ColumnSource;
|
|
32
|
+
table?: string;
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Constant value - literal values
|
|
36
|
+
*/
|
|
37
|
+
export interface ConstantExpression {
|
|
38
|
+
type: "constant";
|
|
39
|
+
value: unknown;
|
|
40
|
+
valueType?: "string" | "number" | "boolean" | "null" | "undefined";
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Parameter reference - references external query parameters
|
|
44
|
+
*/
|
|
45
|
+
export interface ParameterExpression {
|
|
46
|
+
type: "param";
|
|
47
|
+
param: string;
|
|
48
|
+
property?: string;
|
|
49
|
+
index?: number;
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Arithmetic expression - mathematical operations
|
|
53
|
+
*/
|
|
54
|
+
export interface ArithmeticExpression {
|
|
55
|
+
type: "arithmetic";
|
|
56
|
+
operator: "+" | "-" | "*" | "/" | "%";
|
|
57
|
+
left: ValueExpression;
|
|
58
|
+
right: ValueExpression;
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* String concatenation
|
|
62
|
+
*/
|
|
63
|
+
export interface ConcatExpression {
|
|
64
|
+
type: "concat";
|
|
65
|
+
left: ValueExpression;
|
|
66
|
+
right: ValueExpression;
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* String method calls
|
|
70
|
+
*/
|
|
71
|
+
export interface StringMethodExpression {
|
|
72
|
+
type: "stringMethod";
|
|
73
|
+
object: ValueExpression;
|
|
74
|
+
method: "toLowerCase" | "toUpperCase";
|
|
75
|
+
arguments?: ValueExpression[];
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* CASE expression (SQL CASE WHEN)
|
|
79
|
+
*/
|
|
80
|
+
export interface CaseExpression {
|
|
81
|
+
type: "case";
|
|
82
|
+
conditions: Array<{
|
|
83
|
+
when: BooleanExpression;
|
|
84
|
+
then: ValueExpression;
|
|
85
|
+
}>;
|
|
86
|
+
else?: ValueExpression;
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* Coalesce expression (COALESCE / ??)
|
|
90
|
+
*/
|
|
91
|
+
export interface CoalesceExpression {
|
|
92
|
+
type: "coalesce";
|
|
93
|
+
expressions: ValueExpression[];
|
|
94
|
+
}
|
|
95
|
+
/**
|
|
96
|
+
* Aggregate expression - for GROUP BY aggregations
|
|
97
|
+
* Follows C# LINQ Grouping pattern
|
|
98
|
+
*/
|
|
99
|
+
export interface AggregateExpression {
|
|
100
|
+
type: "aggregate";
|
|
101
|
+
function: "count" | "sum" | "avg" | "min" | "max";
|
|
102
|
+
expression?: ValueExpression;
|
|
103
|
+
}
|
|
104
|
+
/**
|
|
105
|
+
* Window function expression - for ROW_NUMBER, RANK, DENSE_RANK
|
|
106
|
+
* Supports PARTITION BY and ORDER BY clauses
|
|
107
|
+
*/
|
|
108
|
+
export interface WindowFunctionExpression {
|
|
109
|
+
type: "windowFunction";
|
|
110
|
+
function: "rowNumber" | "rank" | "denseRank";
|
|
111
|
+
partitionBy: ValueExpression[];
|
|
112
|
+
orderBy: Array<{
|
|
113
|
+
expression: ValueExpression;
|
|
114
|
+
direction: "asc" | "desc";
|
|
115
|
+
}>;
|
|
116
|
+
}
|
|
117
|
+
/**
|
|
118
|
+
* Reference to an entire table/object (for JOIN result selectors)
|
|
119
|
+
*/
|
|
120
|
+
export interface ReferenceExpression {
|
|
121
|
+
type: "reference";
|
|
122
|
+
source?: ColumnSource;
|
|
123
|
+
table?: string;
|
|
124
|
+
}
|
|
125
|
+
/**
|
|
126
|
+
* All columns expression - represents * in SELECT or RETURNING
|
|
127
|
+
* Used when an identity function like (u) => u is encountered
|
|
128
|
+
*/
|
|
129
|
+
export interface AllColumnsExpression {
|
|
130
|
+
type: "allColumns";
|
|
131
|
+
}
|
|
132
|
+
/**
|
|
133
|
+
* Union type for all value-producing expressions
|
|
134
|
+
*/
|
|
135
|
+
export type ValueExpression = ColumnExpression | ConstantExpression | ParameterExpression | ArithmeticExpression | ConcatExpression | StringMethodExpression | CaseExpression | CoalesceExpression | AggregateExpression | WindowFunctionExpression | ReferenceExpression | AllColumnsExpression;
|
|
136
|
+
/**
|
|
137
|
+
* Comparison expression - binary comparisons
|
|
138
|
+
*/
|
|
139
|
+
export interface ComparisonExpression {
|
|
140
|
+
type: "comparison";
|
|
141
|
+
operator: "==" | "!=" | ">" | ">=" | "<" | "<=";
|
|
142
|
+
left: ValueExpression;
|
|
143
|
+
right: ValueExpression;
|
|
144
|
+
}
|
|
145
|
+
/**
|
|
146
|
+
* Logical expression - combines boolean expressions
|
|
147
|
+
*/
|
|
148
|
+
export interface LogicalExpression {
|
|
149
|
+
type: "logical";
|
|
150
|
+
operator: "and" | "or";
|
|
151
|
+
left: BooleanExpression;
|
|
152
|
+
right: BooleanExpression;
|
|
153
|
+
}
|
|
154
|
+
/**
|
|
155
|
+
* NOT expression - negation
|
|
156
|
+
*/
|
|
157
|
+
export interface NotExpression {
|
|
158
|
+
type: "not";
|
|
159
|
+
expression: BooleanExpression;
|
|
160
|
+
}
|
|
161
|
+
/**
|
|
162
|
+
* Boolean constant
|
|
163
|
+
*/
|
|
164
|
+
export interface BooleanConstantExpression {
|
|
165
|
+
type: "booleanConstant";
|
|
166
|
+
value: boolean;
|
|
167
|
+
}
|
|
168
|
+
/**
|
|
169
|
+
* Boolean column reference (for columns that are boolean)
|
|
170
|
+
*/
|
|
171
|
+
export interface BooleanColumnExpression {
|
|
172
|
+
type: "booleanColumn";
|
|
173
|
+
name: string;
|
|
174
|
+
table?: string;
|
|
175
|
+
}
|
|
176
|
+
/**
|
|
177
|
+
* Boolean parameter reference
|
|
178
|
+
*/
|
|
179
|
+
export interface BooleanParameterExpression {
|
|
180
|
+
type: "booleanParam";
|
|
181
|
+
param: string;
|
|
182
|
+
property?: string;
|
|
183
|
+
}
|
|
184
|
+
/**
|
|
185
|
+
* String comparison methods that return boolean
|
|
186
|
+
*/
|
|
187
|
+
export interface BooleanMethodExpression {
|
|
188
|
+
type: "booleanMethod";
|
|
189
|
+
object: ValueExpression;
|
|
190
|
+
method: "startsWith" | "endsWith" | "includes" | "contains";
|
|
191
|
+
arguments: ValueExpression[];
|
|
192
|
+
}
|
|
193
|
+
/**
|
|
194
|
+
* Case-insensitive function calls from helpers.functions
|
|
195
|
+
*/
|
|
196
|
+
export interface CaseInsensitiveFunctionExpression {
|
|
197
|
+
type: "caseInsensitiveFunction";
|
|
198
|
+
function: "iequals" | "istartsWith" | "iendsWith" | "icontains";
|
|
199
|
+
arguments: [ValueExpression, ValueExpression];
|
|
200
|
+
}
|
|
201
|
+
/**
|
|
202
|
+
* IN expression - value in list
|
|
203
|
+
*/
|
|
204
|
+
export interface InExpression {
|
|
205
|
+
type: "in";
|
|
206
|
+
value: ValueExpression;
|
|
207
|
+
list: ValueExpression[] | ArrayExpression | ParameterExpression;
|
|
208
|
+
}
|
|
209
|
+
/**
|
|
210
|
+
* IS NULL / IS NOT NULL
|
|
211
|
+
*/
|
|
212
|
+
export interface IsNullExpression {
|
|
213
|
+
type: "isNull";
|
|
214
|
+
expression: ValueExpression;
|
|
215
|
+
negated?: boolean;
|
|
216
|
+
}
|
|
217
|
+
/**
|
|
218
|
+
* Union type for all boolean-producing expressions
|
|
219
|
+
*/
|
|
220
|
+
export type BooleanExpression = ComparisonExpression | LogicalExpression | NotExpression | BooleanConstantExpression | BooleanColumnExpression | BooleanParameterExpression | BooleanMethodExpression | CaseInsensitiveFunctionExpression | InExpression | IsNullExpression;
|
|
221
|
+
/**
|
|
222
|
+
* Object literal expression (for SELECT projections)
|
|
223
|
+
*/
|
|
224
|
+
export interface ObjectExpression {
|
|
225
|
+
type: "object";
|
|
226
|
+
properties: Record<string, Expression>;
|
|
227
|
+
}
|
|
228
|
+
/**
|
|
229
|
+
* Array expression
|
|
230
|
+
*/
|
|
231
|
+
export interface ArrayExpression {
|
|
232
|
+
type: "array";
|
|
233
|
+
elements: Expression[];
|
|
234
|
+
}
|
|
235
|
+
/**
|
|
236
|
+
* Member access expression (before simplification)
|
|
237
|
+
* Used during parsing before we determine if it's a column
|
|
238
|
+
*/
|
|
239
|
+
export interface MemberAccessExpression {
|
|
240
|
+
type: "memberAccess";
|
|
241
|
+
object: Expression;
|
|
242
|
+
member: string;
|
|
243
|
+
}
|
|
244
|
+
/**
|
|
245
|
+
* Method call expression (general, before categorization)
|
|
246
|
+
*/
|
|
247
|
+
export interface MethodCallExpression {
|
|
248
|
+
type: "methodCall";
|
|
249
|
+
object: Expression;
|
|
250
|
+
method: string;
|
|
251
|
+
arguments: Expression[];
|
|
252
|
+
}
|
|
253
|
+
/**
|
|
254
|
+
* Conditional expression (ternary)
|
|
255
|
+
*/
|
|
256
|
+
export interface ConditionalExpression {
|
|
257
|
+
type: "conditional";
|
|
258
|
+
condition: BooleanExpression;
|
|
259
|
+
then: Expression;
|
|
260
|
+
else: Expression;
|
|
261
|
+
}
|
|
262
|
+
/**
|
|
263
|
+
* Function call expression
|
|
264
|
+
*/
|
|
265
|
+
export interface FunctionCallExpression {
|
|
266
|
+
type: "functionCall";
|
|
267
|
+
name: string;
|
|
268
|
+
arguments: Expression[];
|
|
269
|
+
}
|
|
270
|
+
/**
|
|
271
|
+
* New expression (constructor call)
|
|
272
|
+
*/
|
|
273
|
+
export interface NewExpression {
|
|
274
|
+
type: "new";
|
|
275
|
+
constructor: string;
|
|
276
|
+
arguments: Expression[];
|
|
277
|
+
}
|
|
278
|
+
/**
|
|
279
|
+
* Lambda parameter
|
|
280
|
+
*/
|
|
281
|
+
export interface LambdaParameter {
|
|
282
|
+
name: string;
|
|
283
|
+
type?: string;
|
|
284
|
+
}
|
|
285
|
+
/**
|
|
286
|
+
* Lambda expression (arrow function)
|
|
287
|
+
*/
|
|
288
|
+
export interface LambdaExpression {
|
|
289
|
+
type: "lambda";
|
|
290
|
+
parameters: LambdaParameter[];
|
|
291
|
+
body: Expression;
|
|
292
|
+
}
|
|
293
|
+
/**
|
|
294
|
+
* Union type for all expressions
|
|
295
|
+
*/
|
|
296
|
+
export type Expression = ValueExpression | BooleanExpression | ObjectExpression | ArrayExpression | MemberAccessExpression | MethodCallExpression | ConditionalExpression | FunctionCallExpression | NewExpression | LambdaExpression;
|
|
297
|
+
/**
|
|
298
|
+
* Type guard for value expressions
|
|
299
|
+
*/
|
|
300
|
+
export declare function isValueExpression(expr: Expression): expr is ValueExpression;
|
|
301
|
+
/**
|
|
302
|
+
* Type guard for boolean expressions
|
|
303
|
+
*/
|
|
304
|
+
export declare function isBooleanExpression(expr: Expression): expr is BooleanExpression;
|
|
305
|
+
/**
|
|
306
|
+
* Type guard for object expressions
|
|
307
|
+
*/
|
|
308
|
+
export declare function isObjectExpression(expr: Expression): expr is ObjectExpression;
|
|
309
|
+
/**
|
|
310
|
+
* Type guard for array expressions
|
|
311
|
+
*/
|
|
312
|
+
export declare function isArrayExpression(expr: Expression): expr is ArrayExpression;
|
|
313
|
+
//# sourceMappingURL=expression.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"expression.d.ts","sourceRoot":"","sources":["../../src/expressions/expression.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Expression Types for Tinqer Query System
|
|
3
|
+
*
|
|
4
|
+
* Precise type hierarchy for expressions that evaluate to different types.
|
|
5
|
+
* These are used by the parser to represent parsed lambda expressions.
|
|
6
|
+
*/
|
|
7
|
+
// ==================== Type Guards ====================
|
|
8
|
+
/**
|
|
9
|
+
* Type guard for value expressions
|
|
10
|
+
*/
|
|
11
|
+
export function isValueExpression(expr) {
|
|
12
|
+
return [
|
|
13
|
+
"column",
|
|
14
|
+
"constant",
|
|
15
|
+
"param",
|
|
16
|
+
"arithmetic",
|
|
17
|
+
"concat",
|
|
18
|
+
"stringMethod",
|
|
19
|
+
"case",
|
|
20
|
+
"coalesce",
|
|
21
|
+
"aggregate",
|
|
22
|
+
"windowFunction",
|
|
23
|
+
"reference",
|
|
24
|
+
"allColumns",
|
|
25
|
+
].includes(expr.type);
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Type guard for boolean expressions
|
|
29
|
+
*/
|
|
30
|
+
export function isBooleanExpression(expr) {
|
|
31
|
+
return [
|
|
32
|
+
"comparison",
|
|
33
|
+
"logical",
|
|
34
|
+
"not",
|
|
35
|
+
"booleanConstant",
|
|
36
|
+
"booleanColumn",
|
|
37
|
+
"booleanParam",
|
|
38
|
+
"booleanMethod",
|
|
39
|
+
"caseInsensitiveFunction",
|
|
40
|
+
"in",
|
|
41
|
+
"isNull",
|
|
42
|
+
].includes(expr.type);
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Type guard for object expressions
|
|
46
|
+
*/
|
|
47
|
+
export function isObjectExpression(expr) {
|
|
48
|
+
return expr.type === "object";
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Type guard for array expressions
|
|
52
|
+
*/
|
|
53
|
+
export function isArrayExpression(expr) {
|
|
54
|
+
return expr.type === "array";
|
|
55
|
+
}
|
|
56
|
+
//# sourceMappingURL=expression.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"expression.js","sourceRoot":"","sources":["../../src/expressions/expression.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAqWH,wDAAwD;AAExD;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAAC,IAAgB;IAChD,OAAO;QACL,QAAQ;QACR,UAAU;QACV,OAAO;QACP,YAAY;QACZ,QAAQ;QACR,cAAc;QACd,MAAM;QACN,UAAU;QACV,WAAW;QACX,gBAAgB;QAChB,WAAW;QACX,YAAY;KACb,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACxB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,mBAAmB,CAAC,IAAgB;IAClD,OAAO;QACL,YAAY;QACZ,SAAS;QACT,KAAK;QACL,iBAAiB;QACjB,eAAe;QACf,cAAc;QACd,eAAe;QACf,yBAAyB;QACzB,IAAI;QACJ,QAAQ;KACT,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACxB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,kBAAkB,CAAC,IAAgB;IACjD,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC;AAChC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAAC,IAAgB;IAChD,OAAO,IAAI,CAAC,IAAI,KAAK,OAAO,CAAC;AAC/B,CAAC"}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Tinqer - LINQ to SQL for TypeScript
|
|
3
|
+
* Public API exports
|
|
4
|
+
*/
|
|
5
|
+
export { Queryable, OrderedQueryable } from "./linq/queryable.js";
|
|
6
|
+
export { TerminalQuery } from "./linq/terminal-query.js";
|
|
7
|
+
export { from } from "./linq/from.js";
|
|
8
|
+
export { Grouping } from "./linq/grouping.js";
|
|
9
|
+
export { DatabaseSchema, createSchema } from "./linq/database-context.js";
|
|
10
|
+
export { functions, createQueryHelpers, WindowBuilder, WindowBuilderWithPartition, WindowBuilderWithOrder, WINDOW_MARKER, } from "./linq/functions.js";
|
|
11
|
+
export type { QueryHelpers, WindowFunctionType, WindowOrderSpec } from "./linq/functions.js";
|
|
12
|
+
export { createQueryBuilder } from "./linq/query-builder.js";
|
|
13
|
+
export type { QueryBuilder } from "./linq/query-builder.js";
|
|
14
|
+
export { insertInto } from "./linq/insert-into.js";
|
|
15
|
+
export { Insertable, InsertableWithReturning } from "./linq/insertable.js";
|
|
16
|
+
export { update } from "./linq/update.js";
|
|
17
|
+
export { Updatable, UpdatableWithSet, UpdatableComplete, UpdatableWithReturning, } from "./linq/updatable.js";
|
|
18
|
+
export { deleteFrom } from "./linq/delete-from.js";
|
|
19
|
+
export { Deletable, DeletableComplete } from "./linq/deletable.js";
|
|
20
|
+
export type { Expression, ValueExpression, BooleanExpression, ObjectExpression, ArrayExpression, ColumnExpression, ConstantExpression, ParameterExpression, ArithmeticExpression, ConcatExpression, StringMethodExpression, CaseExpression, CoalesceExpression, AggregateExpression, WindowFunctionExpression, ReferenceExpression, AllColumnsExpression, ComparisonExpression, LogicalExpression, NotExpression, BooleanConstantExpression, BooleanColumnExpression, BooleanParameterExpression, BooleanMethodExpression, CaseInsensitiveFunctionExpression, InExpression, IsNullExpression, MemberAccessExpression, MethodCallExpression, ConditionalExpression, FunctionCallExpression, NewExpression, LambdaExpression, LambdaParameter, } from "./expressions/expression.js";
|
|
21
|
+
export { isValueExpression, isBooleanExpression, isObjectExpression, isArrayExpression, } from "./expressions/expression.js";
|
|
22
|
+
export type { QueryOperation, ParamRef, FromOperation, WhereOperation, SelectOperation, JoinOperation, GroupJoinOperation, SelectManyOperation, DefaultIfEmptyOperation, ResultShape, ShapeNode, ColumnShapeNode, ObjectShapeNode, ReferenceShapeNode, ArrayShapeNode, GroupByOperation, OrderByOperation, ThenByOperation, DistinctOperation, TakeOperation, SkipOperation, ReverseOperation, FirstOperation, FirstOrDefaultOperation, SingleOperation, SingleOrDefaultOperation, LastOperation, LastOrDefaultOperation, ContainsOperation, AnyOperation, AllOperation, CountOperation, SumOperation, AverageOperation, MinOperation, MaxOperation, InsertOperation, UpdateOperation, DeleteOperation, ChainableOperation, TerminalOperation, AnyQueryOperation, } from "./query-tree/operations.js";
|
|
23
|
+
export { parseQuery } from "./parser/parse-query.js";
|
|
24
|
+
export type { ParseResult } from "./parser/parse-query.js";
|
|
25
|
+
export { parseJavaScript } from "./parser/oxc-parser.js";
|
|
26
|
+
export type { ParseQueryOptions } from "./parser/types.js";
|
|
27
|
+
export { setParseCacheConfig, getParseCacheConfig, clearParseCache, } from "./parser/parse-cache-config.js";
|
|
28
|
+
export type { ParseCacheConfig } from "./parser/parse-cache-config.js";
|
|
29
|
+
export { defineSelect, defineSelectPlan, SelectPlanHandle, SelectTerminalHandle, type SelectPlan, type SelectPlanSql, } from "./plans/select-plan.js";
|
|
30
|
+
export { defineUpdate, UpdatePlanHandleInitial, UpdatePlanHandleWithSet, UpdatePlanHandleComplete, UpdatePlanHandleWithReturning, type UpdatePlan, type UpdatePlanSql, } from "./plans/update-plan.js";
|
|
31
|
+
export { defineInsert, InsertPlanHandleInitial, InsertPlanHandleWithValues, InsertPlanHandleWithReturning, type InsertPlan, type InsertPlanSql, } from "./plans/insert-plan.js";
|
|
32
|
+
export { defineDelete, DeletePlanHandleInitial, DeletePlanHandleComplete, type DeletePlan, type DeletePlanSql, } from "./plans/delete-plan.js";
|
|
33
|
+
export { createSelectPlan, planToSqlString, isTerminalHandle } from "./plans/plan-execution.js";
|
|
34
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Tinqer - LINQ to SQL for TypeScript
|
|
3
|
+
* Public API exports
|
|
4
|
+
*/
|
|
5
|
+
// ==================== LINQ API ====================
|
|
6
|
+
// User-facing classes and functions
|
|
7
|
+
export { Queryable, OrderedQueryable } from "./linq/queryable.js";
|
|
8
|
+
export { TerminalQuery } from "./linq/terminal-query.js";
|
|
9
|
+
export { from } from "./linq/from.js";
|
|
10
|
+
export { Grouping } from "./linq/grouping.js";
|
|
11
|
+
export { DatabaseSchema, createSchema } from "./linq/database-context.js";
|
|
12
|
+
export { functions, createQueryHelpers, WindowBuilder, WindowBuilderWithPartition, WindowBuilderWithOrder, WINDOW_MARKER, } from "./linq/functions.js";
|
|
13
|
+
export { createQueryBuilder } from "./linq/query-builder.js";
|
|
14
|
+
// Data modification builders
|
|
15
|
+
export { insertInto } from "./linq/insert-into.js";
|
|
16
|
+
export { Insertable, InsertableWithReturning } from "./linq/insertable.js";
|
|
17
|
+
export { update } from "./linq/update.js";
|
|
18
|
+
export { Updatable, UpdatableWithSet, UpdatableComplete, UpdatableWithReturning, } from "./linq/updatable.js";
|
|
19
|
+
export { deleteFrom } from "./linq/delete-from.js";
|
|
20
|
+
export { Deletable, DeletableComplete } from "./linq/deletable.js";
|
|
21
|
+
// Type guards
|
|
22
|
+
export { isValueExpression, isBooleanExpression, isObjectExpression, isArrayExpression, } from "./expressions/expression.js";
|
|
23
|
+
// ==================== Parser API ====================
|
|
24
|
+
export { parseQuery } from "./parser/parse-query.js";
|
|
25
|
+
export { parseJavaScript } from "./parser/oxc-parser.js";
|
|
26
|
+
// Parse cache configuration
|
|
27
|
+
export { setParseCacheConfig, getParseCacheConfig, clearParseCache, } from "./parser/parse-cache-config.js";
|
|
28
|
+
// ==================== Plan API ====================
|
|
29
|
+
export { defineSelect, defineSelectPlan, SelectPlanHandle, SelectTerminalHandle, } from "./plans/select-plan.js";
|
|
30
|
+
export { defineUpdate, UpdatePlanHandleInitial, UpdatePlanHandleWithSet, UpdatePlanHandleComplete, UpdatePlanHandleWithReturning, } from "./plans/update-plan.js";
|
|
31
|
+
export { defineInsert, InsertPlanHandleInitial, InsertPlanHandleWithValues, InsertPlanHandleWithReturning, } from "./plans/insert-plan.js";
|
|
32
|
+
export { defineDelete, DeletePlanHandleInitial, DeletePlanHandleComplete, } from "./plans/delete-plan.js";
|
|
33
|
+
export { createSelectPlan, planToSqlString, isTerminalHandle } from "./plans/plan-execution.js";
|
|
34
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,qDAAqD;AACrD,oCAAoC;AAEpC,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAClE,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AACtC,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1E,OAAO,EACL,SAAS,EACT,kBAAkB,EAClB,aAAa,EACb,0BAA0B,EAC1B,sBAAsB,EACtB,aAAa,GACd,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAG7D,6BAA6B;AAC7B,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAE,UAAU,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAC3E,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC1C,OAAO,EACL,SAAS,EACT,gBAAgB,EAChB,iBAAiB,EACjB,sBAAsB,GACvB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAgDnE,cAAc;AACd,OAAO,EACL,iBAAiB,EACjB,mBAAmB,EACnB,kBAAkB,EAClB,iBAAiB,GAClB,MAAM,6BAA6B,CAAC;AA0DrC,uDAAuD;AAEvD,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAErD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAGzD,4BAA4B;AAC5B,OAAO,EACL,mBAAmB,EACnB,mBAAmB,EACnB,eAAe,GAChB,MAAM,gCAAgC,CAAC;AAGxC,qDAAqD;AAErD,OAAO,EACL,YAAY,EACZ,gBAAgB,EAChB,gBAAgB,EAChB,oBAAoB,GAGrB,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EACL,YAAY,EACZ,uBAAuB,EACvB,uBAAuB,EACvB,wBAAwB,EACxB,6BAA6B,GAG9B,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EACL,YAAY,EACZ,uBAAuB,EACvB,0BAA0B,EAC1B,6BAA6B,GAG9B,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EACL,YAAY,EACZ,uBAAuB,EACvB,wBAAwB,GAGzB,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Type-safe database context for table schemas
|
|
3
|
+
*/
|
|
4
|
+
/**
|
|
5
|
+
* Database context that provides type information for tables
|
|
6
|
+
* @template TSchema The schema type defining all tables and their row types
|
|
7
|
+
*/
|
|
8
|
+
export declare class DatabaseSchema<TSchema> {
|
|
9
|
+
private readonly _phantom?;
|
|
10
|
+
constructor();
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Creates a typed database context
|
|
14
|
+
* @template TSchema The schema type defining all tables and their row types
|
|
15
|
+
* @returns A new DatabaseSchema instance
|
|
16
|
+
*/
|
|
17
|
+
export declare function createSchema<TSchema>(): DatabaseSchema<TSchema>;
|
|
18
|
+
//# sourceMappingURL=database-context.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"database-context.d.ts","sourceRoot":"","sources":["../../src/linq/database-context.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;;GAGG;AACH,qBAAa,cAAc,CAAC,OAAO;IAEjC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAU;;CAOrC;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,OAAO,KAAK,cAAc,CAAC,OAAO,CAAC,CAE/D"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Type-safe database context for table schemas
|
|
3
|
+
*/
|
|
4
|
+
/**
|
|
5
|
+
* Database context that provides type information for tables
|
|
6
|
+
* @template TSchema The schema type defining all tables and their row types
|
|
7
|
+
*/
|
|
8
|
+
export class DatabaseSchema {
|
|
9
|
+
constructor() {
|
|
10
|
+
// Context doesn't need runtime data, just provides type information
|
|
11
|
+
// The _phantom field is never assigned, it's only for TypeScript type checking
|
|
12
|
+
void this._phantom; // Mark as intentionally unused
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Creates a typed database context
|
|
17
|
+
* @template TSchema The schema type defining all tables and their row types
|
|
18
|
+
* @returns A new DatabaseSchema instance
|
|
19
|
+
*/
|
|
20
|
+
export function createSchema() {
|
|
21
|
+
return new DatabaseSchema();
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=database-context.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"database-context.js","sourceRoot":"","sources":["../../src/linq/database-context.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;;GAGG;AACH,MAAM,OAAO,cAAc;IAIzB;QACE,oEAAoE;QACpE,+EAA+E;QAC/E,KAAK,IAAI,CAAC,QAAQ,CAAC,CAAC,+BAA+B;IACrD,CAAC;CACF;AAED;;;;GAIG;AACH,MAAM,UAAU,YAAY;IAC1B,OAAO,IAAI,cAAc,EAAW,CAAC;AACvC,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Type-safe database context for table schemas
|
|
3
|
+
*/
|
|
4
|
+
/**
|
|
5
|
+
* Database context that provides type information for tables
|
|
6
|
+
* @template TSchema The schema type defining all tables and their row types
|
|
7
|
+
*/
|
|
8
|
+
export declare class DatabaseSchema<TSchema> {
|
|
9
|
+
private readonly _phantom?;
|
|
10
|
+
constructor();
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Creates a typed database context
|
|
14
|
+
* @template TSchema The schema type defining all tables and their row types
|
|
15
|
+
* @returns A new DatabaseSchema instance
|
|
16
|
+
*/
|
|
17
|
+
export declare function createSchema<TSchema>(): DatabaseSchema<TSchema>;
|
|
18
|
+
//# sourceMappingURL=database-schema.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"database-schema.d.ts","sourceRoot":"","sources":["../../src/linq/database-schema.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;;GAGG;AACH,qBAAa,cAAc,CAAC,OAAO;IAEjC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAU;;CAOrC;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,OAAO,KAAK,cAAc,CAAC,OAAO,CAAC,CAE/D"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Type-safe database context for table schemas
|
|
3
|
+
*/
|
|
4
|
+
/**
|
|
5
|
+
* Database context that provides type information for tables
|
|
6
|
+
* @template TSchema The schema type defining all tables and their row types
|
|
7
|
+
*/
|
|
8
|
+
export class DatabaseSchema {
|
|
9
|
+
constructor() {
|
|
10
|
+
// Context doesn't need runtime data, just provides type information
|
|
11
|
+
// The _phantom field is never assigned, it's only for TypeScript type checking
|
|
12
|
+
void this._phantom; // Mark as intentionally unused
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Creates a typed database context
|
|
17
|
+
* @template TSchema The schema type defining all tables and their row types
|
|
18
|
+
* @returns A new DatabaseSchema instance
|
|
19
|
+
*/
|
|
20
|
+
export function createSchema() {
|
|
21
|
+
return new DatabaseSchema();
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=database-schema.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"database-schema.js","sourceRoot":"","sources":["../../src/linq/database-schema.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;;GAGG;AACH,MAAM,OAAO,cAAc;IAIzB;QACE,oEAAoE;QACpE,+EAA+E;QAC/E,KAAK,IAAI,CAAC,QAAQ,CAAC,CAAC,+BAA+B;IACrD,CAAC;CACF;AAED;;;;GAIG;AACH,MAAM,UAAU,YAAY;IAC1B,OAAO,IAAI,cAAc,EAAW,CAAC;AACvC,CAAC"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Deletable class for DELETE operations with type safety
|
|
3
|
+
*/
|
|
4
|
+
/**
|
|
5
|
+
* Deletable provides type-safe DELETE query building
|
|
6
|
+
*/
|
|
7
|
+
export declare class Deletable<T> {
|
|
8
|
+
private _hasWhereOrAllow;
|
|
9
|
+
constructor();
|
|
10
|
+
/**
|
|
11
|
+
* Specifies the WHERE condition for the delete
|
|
12
|
+
* @param predicate Function that returns a boolean condition
|
|
13
|
+
* @returns DeletableComplete
|
|
14
|
+
*/
|
|
15
|
+
where(_predicate: (_item: T) => boolean): DeletableComplete<T>;
|
|
16
|
+
/**
|
|
17
|
+
* Explicitly allows a full table delete without WHERE clause
|
|
18
|
+
* DANGEROUS: This will delete ALL rows in the table
|
|
19
|
+
* @returns DeletableComplete
|
|
20
|
+
*/
|
|
21
|
+
allowFullTableDelete(): DeletableComplete<T>;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* DeletableComplete represents a complete DELETE query
|
|
25
|
+
*/
|
|
26
|
+
export declare class DeletableComplete<T> {
|
|
27
|
+
constructor();
|
|
28
|
+
_?: (_: T) => void;
|
|
29
|
+
}
|
|
30
|
+
//# sourceMappingURL=deletable.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"deletable.d.ts","sourceRoot":"","sources":["../../src/linq/deletable.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;GAEG;AACH,qBAAa,SAAS,CAAC,CAAC;IACtB,OAAO,CAAC,gBAAgB,CAAS;;IAMjC;;;;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;;IAO9B,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,IAAI,CAAC;CACpB"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Deletable class for DELETE operations with type safety
|
|
3
|
+
*/
|
|
4
|
+
/**
|
|
5
|
+
* Deletable provides type-safe DELETE query building
|
|
6
|
+
*/
|
|
7
|
+
export class Deletable {
|
|
8
|
+
constructor() {
|
|
9
|
+
this._hasWhereOrAllow = false;
|
|
10
|
+
// Never actually instantiated - used only for type inference
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Specifies the WHERE condition for the delete
|
|
14
|
+
* @param predicate Function that returns a boolean condition
|
|
15
|
+
* @returns DeletableComplete
|
|
16
|
+
*/
|
|
17
|
+
where(_predicate) {
|
|
18
|
+
if (this._hasWhereOrAllow) {
|
|
19
|
+
throw new Error("Cannot call where() after allowFullTableDelete()");
|
|
20
|
+
}
|
|
21
|
+
this._hasWhereOrAllow = true;
|
|
22
|
+
return new DeletableComplete();
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Explicitly allows a full table delete without WHERE clause
|
|
26
|
+
* DANGEROUS: This will delete ALL rows in the table
|
|
27
|
+
* @returns DeletableComplete
|
|
28
|
+
*/
|
|
29
|
+
allowFullTableDelete() {
|
|
30
|
+
if (this._hasWhereOrAllow) {
|
|
31
|
+
throw new Error("Cannot call allowFullTableDelete() after where()");
|
|
32
|
+
}
|
|
33
|
+
this._hasWhereOrAllow = true;
|
|
34
|
+
return new DeletableComplete();
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* DeletableComplete represents a complete DELETE query
|
|
39
|
+
*/
|
|
40
|
+
export class DeletableComplete {
|
|
41
|
+
constructor() {
|
|
42
|
+
// Never actually instantiated - used only for type inference
|
|
43
|
+
// Type parameter T is preserved for external type inference
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
//# sourceMappingURL=deletable.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"deletable.js","sourceRoot":"","sources":["../../src/linq/deletable.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;GAEG;AACH,MAAM,OAAO,SAAS;IAGpB;QAFQ,qBAAgB,GAAG,KAAK,CAAC;QAG/B,6DAA6D;IAC/D,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,UAAiC;QACrC,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAC1B,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;QACtE,CAAC;QACD,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;QAC7B,OAAO,IAAI,iBAAiB,EAAK,CAAC;IACpC,CAAC;IAED;;;;OAIG;IACH,oBAAoB;QAClB,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAC1B,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;QACtE,CAAC;QACD,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;QAC7B,OAAO,IAAI,iBAAiB,EAAK,CAAC;IACpC,CAAC;CACF;AAED;;GAEG;AACH,MAAM,OAAO,iBAAiB;IAC5B;QACE,6DAA6D;QAC7D,4DAA4D;IAC9D,CAAC;CAIF"}
|