blendsdk 5.33.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +125 -0
- package/dist/cmdline/cmdline.d.ts +144 -0
- package/dist/cmdline/cmdline.d.ts.map +1 -0
- package/dist/cmdline/cmdline.js +683 -0
- package/dist/cmdline/cmdline.js.map +1 -0
- package/dist/cmdline/errors.d.ts +105 -0
- package/dist/cmdline/errors.d.ts.map +1 -0
- package/dist/cmdline/errors.js +153 -0
- package/dist/cmdline/errors.js.map +1 -0
- package/dist/cmdline/index.d.ts +5 -0
- package/dist/cmdline/index.d.ts.map +1 -0
- package/dist/cmdline/index.js +5 -0
- package/dist/cmdline/index.js.map +1 -0
- package/dist/cmdline/types.d.ts +260 -0
- package/dist/cmdline/types.d.ts.map +1 -0
- package/dist/cmdline/types.js +9 -0
- package/dist/cmdline/types.js.map +1 -0
- package/dist/cmdline/validators.d.ts +28 -0
- package/dist/cmdline/validators.d.ts.map +1 -0
- package/dist/cmdline/validators.js +211 -0
- package/dist/cmdline/validators.js.map +1 -0
- package/dist/codegen/database/index.d.ts +3 -0
- package/dist/codegen/database/index.d.ts.map +1 -0
- package/dist/codegen/database/index.js +3 -0
- package/dist/codegen/database/index.js.map +1 -0
- package/dist/codegen/database/introspect/index.d.ts +3 -0
- package/dist/codegen/database/introspect/index.d.ts.map +1 -0
- package/dist/codegen/database/introspect/index.js +3 -0
- package/dist/codegen/database/introspect/index.js.map +1 -0
- package/dist/codegen/database/introspect/introspect-query.d.ts +2 -0
- package/dist/codegen/database/introspect/introspect-query.d.ts.map +1 -0
- package/dist/codegen/database/introspect/introspect-query.js +416 -0
- package/dist/codegen/database/introspect/introspect-query.js.map +1 -0
- package/dist/codegen/database/introspect/introspect-types.d.ts +45 -0
- package/dist/codegen/database/introspect/introspect-types.d.ts.map +1 -0
- package/dist/codegen/database/introspect/introspect-types.js +2 -0
- package/dist/codegen/database/introspect/introspect-types.js.map +1 -0
- package/dist/codegen/database/introspect/introspect.d.ts +21 -0
- package/dist/codegen/database/introspect/introspect.d.ts.map +1 -0
- package/dist/codegen/database/introspect/introspect.js +223 -0
- package/dist/codegen/database/introspect/introspect.js.map +1 -0
- package/dist/codegen/database/schema/check-constraint.d.ts +8 -0
- package/dist/codegen/database/schema/check-constraint.d.ts.map +1 -0
- package/dist/codegen/database/schema/check-constraint.js +12 -0
- package/dist/codegen/database/schema/check-constraint.js.map +1 -0
- package/dist/codegen/database/schema/column-schema.d.ts +7 -0
- package/dist/codegen/database/schema/column-schema.d.ts.map +1 -0
- package/dist/codegen/database/schema/column-schema.js +9 -0
- package/dist/codegen/database/schema/column-schema.js.map +1 -0
- package/dist/codegen/database/schema/constraint-base.d.ts +13 -0
- package/dist/codegen/database/schema/constraint-base.d.ts.map +1 -0
- package/dist/codegen/database/schema/constraint-base.js +32 -0
- package/dist/codegen/database/schema/constraint-base.js.map +1 -0
- package/dist/codegen/database/schema/database-schema.d.ts +19 -0
- package/dist/codegen/database/schema/database-schema.d.ts.map +1 -0
- package/dist/codegen/database/schema/database-schema.js +48 -0
- package/dist/codegen/database/schema/database-schema.js.map +1 -0
- package/dist/codegen/database/schema/dataobject-schema.d.ts +9 -0
- package/dist/codegen/database/schema/dataobject-schema.d.ts.map +1 -0
- package/dist/codegen/database/schema/dataobject-schema.js +18 -0
- package/dist/codegen/database/schema/dataobject-schema.js.map +1 -0
- package/dist/codegen/database/schema/fkey-constraints.d.ts +21 -0
- package/dist/codegen/database/schema/fkey-constraints.d.ts.map +1 -0
- package/dist/codegen/database/schema/fkey-constraints.js +58 -0
- package/dist/codegen/database/schema/fkey-constraints.js.map +1 -0
- package/dist/codegen/database/schema/index-constraint.d.ts +34 -0
- package/dist/codegen/database/schema/index-constraint.d.ts.map +1 -0
- package/dist/codegen/database/schema/index-constraint.js +79 -0
- package/dist/codegen/database/schema/index-constraint.js.map +1 -0
- package/dist/codegen/database/schema/index.d.ts +5 -0
- package/dist/codegen/database/schema/index.d.ts.map +1 -0
- package/dist/codegen/database/schema/index.js +5 -0
- package/dist/codegen/database/schema/index.js.map +1 -0
- package/dist/codegen/database/schema/primarykey-constraint.d.ts +4 -0
- package/dist/codegen/database/schema/primarykey-constraint.d.ts.map +1 -0
- package/dist/codegen/database/schema/primarykey-constraint.js +4 -0
- package/dist/codegen/database/schema/primarykey-constraint.js.map +1 -0
- package/dist/codegen/database/schema/relation-schema.d.ts +16 -0
- package/dist/codegen/database/schema/relation-schema.d.ts.map +1 -0
- package/dist/codegen/database/schema/relation-schema.js +32 -0
- package/dist/codegen/database/schema/relation-schema.js.map +1 -0
- package/dist/codegen/database/schema/table-column-schema.d.ts +59 -0
- package/dist/codegen/database/schema/table-column-schema.d.ts.map +1 -0
- package/dist/codegen/database/schema/table-column-schema.js +137 -0
- package/dist/codegen/database/schema/table-column-schema.js.map +1 -0
- package/dist/codegen/database/schema/table-schema.d.ts +48 -0
- package/dist/codegen/database/schema/table-schema.d.ts.map +1 -0
- package/dist/codegen/database/schema/table-schema.js +219 -0
- package/dist/codegen/database/schema/table-schema.js.map +1 -0
- package/dist/codegen/database/schema/types.d.ts +13 -0
- package/dist/codegen/database/schema/types.d.ts.map +1 -0
- package/dist/codegen/database/schema/types.js +175 -0
- package/dist/codegen/database/schema/types.js.map +1 -0
- package/dist/codegen/database/schema/unique-constraint.d.ts +4 -0
- package/dist/codegen/database/schema/unique-constraint.d.ts.map +1 -0
- package/dist/codegen/database/schema/unique-constraint.js +4 -0
- package/dist/codegen/database/schema/unique-constraint.js.map +1 -0
- package/dist/codegen/database/schema/view-schema.d.ts +14 -0
- package/dist/codegen/database/schema/view-schema.d.ts.map +1 -0
- package/dist/codegen/database/schema/view-schema.js +32 -0
- package/dist/codegen/database/schema/view-schema.js.map +1 -0
- package/dist/codegen/generator/ctype-generator.d.ts +5 -0
- package/dist/codegen/generator/ctype-generator.d.ts.map +1 -0
- package/dist/codegen/generator/ctype-generator.js +26 -0
- package/dist/codegen/generator/ctype-generator.js.map +1 -0
- package/dist/codegen/generator/generator.d.ts +17 -0
- package/dist/codegen/generator/generator.d.ts.map +1 -0
- package/dist/codegen/generator/generator.js +57 -0
- package/dist/codegen/generator/generator.js.map +1 -0
- package/dist/codegen/generator/index.d.ts +8 -0
- package/dist/codegen/generator/index.d.ts.map +1 -0
- package/dist/codegen/generator/index.js +8 -0
- package/dist/codegen/generator/index.js.map +1 -0
- package/dist/codegen/generator/openapi-generator.d.ts +239 -0
- package/dist/codegen/generator/openapi-generator.d.ts.map +1 -0
- package/dist/codegen/generator/openapi-generator.js +434 -0
- package/dist/codegen/generator/openapi-generator.js.map +1 -0
- package/dist/codegen/generator/openapi-types.d.ts +263 -0
- package/dist/codegen/generator/openapi-types.d.ts.map +1 -0
- package/dist/codegen/generator/openapi-types.js +11 -0
- package/dist/codegen/generator/openapi-types.js.map +1 -0
- package/dist/codegen/generator/postgres-schema-generator.d.ts +48 -0
- package/dist/codegen/generator/postgres-schema-generator.d.ts.map +1 -0
- package/dist/codegen/generator/postgres-schema-generator.js +339 -0
- package/dist/codegen/generator/postgres-schema-generator.js.map +1 -0
- package/dist/codegen/generator/type-generator.d.ts +113 -0
- package/dist/codegen/generator/type-generator.d.ts.map +1 -0
- package/dist/codegen/generator/type-generator.js +249 -0
- package/dist/codegen/generator/type-generator.js.map +1 -0
- package/dist/codegen/generator/zod-generator.d.ts +15 -0
- package/dist/codegen/generator/zod-generator.d.ts.map +1 -0
- package/dist/codegen/generator/zod-generator.js +86 -0
- package/dist/codegen/generator/zod-generator.js.map +1 -0
- package/dist/codegen/generator/zod-to-openapi.d.ts +69 -0
- package/dist/codegen/generator/zod-to-openapi.d.ts.map +1 -0
- package/dist/codegen/generator/zod-to-openapi.js +480 -0
- package/dist/codegen/generator/zod-to-openapi.js.map +1 -0
- package/dist/codegen/index.d.ts +4 -0
- package/dist/codegen/index.d.ts.map +1 -0
- package/dist/codegen/index.js +4 -0
- package/dist/codegen/index.js.map +1 -0
- package/dist/codegen/schema/any-schema.d.ts +6 -0
- package/dist/codegen/schema/any-schema.d.ts.map +1 -0
- package/dist/codegen/schema/any-schema.js +12 -0
- package/dist/codegen/schema/any-schema.js.map +1 -0
- package/dist/codegen/schema/boolean-schema.d.ts +6 -0
- package/dist/codegen/schema/boolean-schema.d.ts.map +1 -0
- package/dist/codegen/schema/boolean-schema.js +12 -0
- package/dist/codegen/schema/boolean-schema.js.map +1 -0
- package/dist/codegen/schema/date-schema.d.ts +6 -0
- package/dist/codegen/schema/date-schema.d.ts.map +1 -0
- package/dist/codegen/schema/date-schema.js +12 -0
- package/dist/codegen/schema/date-schema.js.map +1 -0
- package/dist/codegen/schema/index.d.ts +10 -0
- package/dist/codegen/schema/index.d.ts.map +1 -0
- package/dist/codegen/schema/index.js +10 -0
- package/dist/codegen/schema/index.js.map +1 -0
- package/dist/codegen/schema/object-schema.d.ts +10 -0
- package/dist/codegen/schema/object-schema.d.ts.map +1 -0
- package/dist/codegen/schema/object-schema.js +21 -0
- package/dist/codegen/schema/object-schema.js.map +1 -0
- package/dist/codegen/schema/primitive-schema.d.ts +20 -0
- package/dist/codegen/schema/primitive-schema.d.ts.map +1 -0
- package/dist/codegen/schema/primitive-schema.js +48 -0
- package/dist/codegen/schema/primitive-schema.js.map +1 -0
- package/dist/codegen/schema/ref-schema.d.ts +6 -0
- package/dist/codegen/schema/ref-schema.d.ts.map +1 -0
- package/dist/codegen/schema/ref-schema.js +11 -0
- package/dist/codegen/schema/ref-schema.js.map +1 -0
- package/dist/codegen/schema/schema-container.d.ts +14 -0
- package/dist/codegen/schema/schema-container.d.ts.map +1 -0
- package/dist/codegen/schema/schema-container.js +38 -0
- package/dist/codegen/schema/schema-container.js.map +1 -0
- package/dist/codegen/schema/schema-object.d.ts +42 -0
- package/dist/codegen/schema/schema-object.d.ts.map +1 -0
- package/dist/codegen/schema/schema-object.js +90 -0
- package/dist/codegen/schema/schema-object.js.map +1 -0
- package/dist/codegen/schema/schema-scope.d.ts +23 -0
- package/dist/codegen/schema/schema-scope.d.ts.map +1 -0
- package/dist/codegen/schema/schema-scope.js +67 -0
- package/dist/codegen/schema/schema-scope.js.map +1 -0
- package/dist/codegen/schema/utils.d.ts +17 -0
- package/dist/codegen/schema/utils.d.ts.map +1 -0
- package/dist/codegen/schema/utils.js +47 -0
- package/dist/codegen/schema/utils.js.map +1 -0
- package/dist/dbcore/crud-statement.d.ts +67 -0
- package/dist/dbcore/crud-statement.d.ts.map +1 -0
- package/dist/dbcore/crud-statement.js +75 -0
- package/dist/dbcore/crud-statement.js.map +1 -0
- package/dist/dbcore/database.d.ts +272 -0
- package/dist/dbcore/database.d.ts.map +1 -0
- package/dist/dbcore/database.js +53 -0
- package/dist/dbcore/database.js.map +1 -0
- package/dist/dbcore/dataservice-base.d.ts +18 -0
- package/dist/dbcore/dataservice-base.d.ts.map +1 -0
- package/dist/dbcore/dataservice-base.js +19 -0
- package/dist/dbcore/dataservice-base.js.map +1 -0
- package/dist/dbcore/delete-statement.d.ts +29 -0
- package/dist/dbcore/delete-statement.d.ts.map +1 -0
- package/dist/dbcore/delete-statement.js +30 -0
- package/dist/dbcore/delete-statement.js.map +1 -0
- package/dist/dbcore/filterable-statement.d.ts +126 -0
- package/dist/dbcore/filterable-statement.d.ts.map +1 -0
- package/dist/dbcore/filterable-statement.js +178 -0
- package/dist/dbcore/filterable-statement.js.map +1 -0
- package/dist/dbcore/from-statement.d.ts +120 -0
- package/dist/dbcore/from-statement.d.ts.map +1 -0
- package/dist/dbcore/from-statement.js +150 -0
- package/dist/dbcore/from-statement.js.map +1 -0
- package/dist/dbcore/index.d.ts +21 -0
- package/dist/dbcore/index.d.ts.map +1 -0
- package/dist/dbcore/index.js +21 -0
- package/dist/dbcore/index.js.map +1 -0
- package/dist/dbcore/insert-statement.d.ts +48 -0
- package/dist/dbcore/insert-statement.d.ts.map +1 -0
- package/dist/dbcore/insert-statement.js +52 -0
- package/dist/dbcore/insert-statement.js.map +1 -0
- package/dist/dbcore/query-dataservice.d.ts +144 -0
- package/dist/dbcore/query-dataservice.d.ts.map +1 -0
- package/dist/dbcore/query-dataservice.js +144 -0
- package/dist/dbcore/query-dataservice.js.map +1 -0
- package/dist/dbcore/statement.d.ts +133 -0
- package/dist/dbcore/statement.d.ts.map +1 -0
- package/dist/dbcore/statement.js +138 -0
- package/dist/dbcore/statement.js.map +1 -0
- package/dist/dbcore/update-statement.d.ts +48 -0
- package/dist/dbcore/update-statement.d.ts.map +1 -0
- package/dist/dbcore/update-statement.js +52 -0
- package/dist/dbcore/update-statement.js.map +1 -0
- package/dist/expression/builders/comparison-builder.d.ts +47 -0
- package/dist/expression/builders/comparison-builder.d.ts.map +1 -0
- package/dist/expression/builders/comparison-builder.js +197 -0
- package/dist/expression/builders/comparison-builder.js.map +1 -0
- package/dist/expression/builders/query-builder.d.ts +80 -0
- package/dist/expression/builders/query-builder.d.ts.map +1 -0
- package/dist/expression/builders/query-builder.js +229 -0
- package/dist/expression/builders/query-builder.js.map +1 -0
- package/dist/expression/compiler/postgresql-compiler.d.ts +56 -0
- package/dist/expression/compiler/postgresql-compiler.d.ts.map +1 -0
- package/dist/expression/compiler/postgresql-compiler.js +217 -0
- package/dist/expression/compiler/postgresql-compiler.js.map +1 -0
- package/dist/expression/core/ast-node.d.ts +47 -0
- package/dist/expression/core/ast-node.d.ts.map +1 -0
- package/dist/expression/core/ast-node.js +154 -0
- package/dist/expression/core/ast-node.js.map +1 -0
- package/dist/expression/core/parameter-manager.d.ts +84 -0
- package/dist/expression/core/parameter-manager.d.ts.map +1 -0
- package/dist/expression/core/parameter-manager.js +164 -0
- package/dist/expression/core/parameter-manager.js.map +1 -0
- package/dist/expression/core/query-builder-interfaces.d.ts +188 -0
- package/dist/expression/core/query-builder-interfaces.d.ts.map +1 -0
- package/dist/expression/core/query-builder-interfaces.js +6 -0
- package/dist/expression/core/query-builder-interfaces.js.map +1 -0
- package/dist/expression/core/types.d.ts +239 -0
- package/dist/expression/core/types.d.ts.map +1 -0
- package/dist/expression/core/types.js +121 -0
- package/dist/expression/core/types.js.map +1 -0
- package/dist/expression/index.d.ts +11 -0
- package/dist/expression/index.d.ts.map +1 -0
- package/dist/expression/index.js +11 -0
- package/dist/expression/index.js.map +1 -0
- package/dist/i18n/content-file-source.d.ts +109 -0
- package/dist/i18n/content-file-source.d.ts.map +1 -0
- package/dist/i18n/content-file-source.js +218 -0
- package/dist/i18n/content-file-source.js.map +1 -0
- package/dist/i18n/index.d.ts +19 -0
- package/dist/i18n/index.d.ts.map +1 -0
- package/dist/i18n/index.js +21 -0
- package/dist/i18n/index.js.map +1 -0
- package/dist/i18n/json-file-source.d.ts +96 -0
- package/dist/i18n/json-file-source.d.ts.map +1 -0
- package/dist/i18n/json-file-source.js +258 -0
- package/dist/i18n/json-file-source.js.map +1 -0
- package/dist/i18n/merge-catalogs.d.ts +20 -0
- package/dist/i18n/merge-catalogs.d.ts.map +1 -0
- package/dist/i18n/merge-catalogs.js +34 -0
- package/dist/i18n/merge-catalogs.js.map +1 -0
- package/dist/i18n/node.d.ts +20 -0
- package/dist/i18n/node.d.ts.map +1 -0
- package/dist/i18n/node.js +19 -0
- package/dist/i18n/node.js.map +1 -0
- package/dist/i18n/translation-source.d.ts +35 -0
- package/dist/i18n/translation-source.d.ts.map +1 -0
- package/dist/i18n/translation-source.js +2 -0
- package/dist/i18n/translation-source.js.map +1 -0
- package/dist/i18n/translator.d.ts +162 -0
- package/dist/i18n/translator.d.ts.map +1 -0
- package/dist/i18n/translator.js +259 -0
- package/dist/i18n/translator.js.map +1 -0
- package/dist/i18n/types.d.ts +80 -0
- package/dist/i18n/types.d.ts.map +1 -0
- package/dist/i18n/types.js +2 -0
- package/dist/i18n/types.js.map +1 -0
- package/dist/postgresql/database.d.ts +204 -0
- package/dist/postgresql/database.d.ts.map +1 -0
- package/dist/postgresql/database.js +321 -0
- package/dist/postgresql/database.js.map +1 -0
- package/dist/postgresql/delete-statement.d.ts +36 -0
- package/dist/postgresql/delete-statement.d.ts.map +1 -0
- package/dist/postgresql/delete-statement.js +54 -0
- package/dist/postgresql/delete-statement.js.map +1 -0
- package/dist/postgresql/index.d.ts +12 -0
- package/dist/postgresql/index.d.ts.map +1 -0
- package/dist/postgresql/index.js +12 -0
- package/dist/postgresql/index.js.map +1 -0
- package/dist/postgresql/insert-statement.d.ts +34 -0
- package/dist/postgresql/insert-statement.d.ts.map +1 -0
- package/dist/postgresql/insert-statement.js +48 -0
- package/dist/postgresql/insert-statement.js.map +1 -0
- package/dist/postgresql/update-statement.d.ts +38 -0
- package/dist/postgresql/update-statement.d.ts.map +1 -0
- package/dist/postgresql/update-statement.js +75 -0
- package/dist/postgresql/update-statement.js.map +1 -0
- package/dist/stdlib/formatString.d.ts +52 -0
- package/dist/stdlib/formatString.d.ts.map +1 -0
- package/dist/stdlib/formatString.js +118 -0
- package/dist/stdlib/formatString.js.map +1 -0
- package/dist/stdlib/index.d.ts +8 -0
- package/dist/stdlib/index.d.ts.map +1 -0
- package/dist/stdlib/index.js +8 -0
- package/dist/stdlib/index.js.map +1 -0
- package/dist/stdlib/isBoolean.d.ts +15 -0
- package/dist/stdlib/isBoolean.d.ts.map +1 -0
- package/dist/stdlib/isBoolean.js +17 -0
- package/dist/stdlib/isBoolean.js.map +1 -0
- package/dist/stdlib/isNullOrUndef.d.ts +24 -0
- package/dist/stdlib/isNullOrUndef.d.ts.map +1 -0
- package/dist/stdlib/isNullOrUndef.js +28 -0
- package/dist/stdlib/isNullOrUndef.js.map +1 -0
- package/dist/stdlib/isNumeric.d.ts +20 -0
- package/dist/stdlib/isNumeric.d.ts.map +1 -0
- package/dist/stdlib/isNumeric.js +39 -0
- package/dist/stdlib/isNumeric.js.map +1 -0
- package/dist/stdlib/isString.d.ts +15 -0
- package/dist/stdlib/isString.d.ts.map +1 -0
- package/dist/stdlib/isString.js +17 -0
- package/dist/stdlib/isString.js.map +1 -0
- package/dist/stdlib/isTemplateString.d.ts +18 -0
- package/dist/stdlib/isTemplateString.d.ts.map +1 -0
- package/dist/stdlib/isTemplateString.js +38 -0
- package/dist/stdlib/isTemplateString.js.map +1 -0
- package/dist/stdlib/wrapInArray.d.ts +14 -0
- package/dist/stdlib/wrapInArray.d.ts.map +1 -0
- package/dist/stdlib/wrapInArray.js +17 -0
- package/dist/stdlib/wrapInArray.js.map +1 -0
- package/dist/webafx/application/application-settings.d.ts +129 -0
- package/dist/webafx/application/application-settings.d.ts.map +1 -0
- package/dist/webafx/application/application-settings.js +162 -0
- package/dist/webafx/application/application-settings.js.map +1 -0
- package/dist/webafx/application/base-controller.d.ts +128 -0
- package/dist/webafx/application/base-controller.d.ts.map +1 -0
- package/dist/webafx/application/base-controller.js +122 -0
- package/dist/webafx/application/base-controller.js.map +1 -0
- package/dist/webafx/application/console-logger.d.ts +81 -0
- package/dist/webafx/application/console-logger.d.ts.map +1 -0
- package/dist/webafx/application/console-logger.js +111 -0
- package/dist/webafx/application/console-logger.js.map +1 -0
- package/dist/webafx/application/controller-registry.d.ts +34 -0
- package/dist/webafx/application/controller-registry.d.ts.map +1 -0
- package/dist/webafx/application/controller-registry.js +32 -0
- package/dist/webafx/application/controller-registry.js.map +1 -0
- package/dist/webafx/application/error-handler-middleware.d.ts +22 -0
- package/dist/webafx/application/error-handler-middleware.d.ts.map +1 -0
- package/dist/webafx/application/error-handler-middleware.js +70 -0
- package/dist/webafx/application/error-handler-middleware.js.map +1 -0
- package/dist/webafx/application/index.d.ts +13 -0
- package/dist/webafx/application/index.d.ts.map +1 -0
- package/dist/webafx/application/index.js +13 -0
- package/dist/webafx/application/index.js.map +1 -0
- package/dist/webafx/application/logger.d.ts +2 -0
- package/dist/webafx/application/logger.d.ts.map +1 -0
- package/dist/webafx/application/logger.js +2 -0
- package/dist/webafx/application/logger.js.map +1 -0
- package/dist/webafx/application/plugin.d.ts +73 -0
- package/dist/webafx/application/plugin.d.ts.map +1 -0
- package/dist/webafx/application/plugin.js +90 -0
- package/dist/webafx/application/plugin.js.map +1 -0
- package/dist/webafx/application/rate-limiter.d.ts +35 -0
- package/dist/webafx/application/rate-limiter.d.ts.map +1 -0
- package/dist/webafx/application/rate-limiter.js +74 -0
- package/dist/webafx/application/rate-limiter.js.map +1 -0
- package/dist/webafx/application/request-context.d.ts +62 -0
- package/dist/webafx/application/request-context.d.ts.map +1 -0
- package/dist/webafx/application/request-context.js +54 -0
- package/dist/webafx/application/request-context.js.map +1 -0
- package/dist/webafx/application/request-id-middleware.d.ts +30 -0
- package/dist/webafx/application/request-id-middleware.d.ts.map +1 -0
- package/dist/webafx/application/request-id-middleware.js +57 -0
- package/dist/webafx/application/request-id-middleware.js.map +1 -0
- package/dist/webafx/application/route-builder.d.ts +231 -0
- package/dist/webafx/application/route-builder.d.ts.map +1 -0
- package/dist/webafx/application/route-builder.js +182 -0
- package/dist/webafx/application/route-builder.js.map +1 -0
- package/dist/webafx/application/service-container.d.ts +144 -0
- package/dist/webafx/application/service-container.d.ts.map +1 -0
- package/dist/webafx/application/service-container.js +192 -0
- package/dist/webafx/application/service-container.js.map +1 -0
- package/dist/webafx/application/services.d.ts +27 -0
- package/dist/webafx/application/services.d.ts.map +1 -0
- package/dist/webafx/application/services.js +33 -0
- package/dist/webafx/application/services.js.map +1 -0
- package/dist/webafx/application/structured-logger.d.ts +99 -0
- package/dist/webafx/application/structured-logger.d.ts.map +1 -0
- package/dist/webafx/application/structured-logger.js +132 -0
- package/dist/webafx/application/structured-logger.js.map +1 -0
- package/dist/webafx/application/type.d.ts +29 -0
- package/dist/webafx/application/type.d.ts.map +1 -0
- package/dist/webafx/application/type.js +2 -0
- package/dist/webafx/application/type.js.map +1 -0
- package/dist/webafx/application/web-application.d.ts +257 -0
- package/dist/webafx/application/web-application.d.ts.map +1 -0
- package/dist/webafx/application/web-application.js +611 -0
- package/dist/webafx/application/web-application.js.map +1 -0
- package/dist/webafx/errors/api-error.d.ts +21 -0
- package/dist/webafx/errors/api-error.d.ts.map +1 -0
- package/dist/webafx/errors/api-error.js +38 -0
- package/dist/webafx/errors/api-error.js.map +1 -0
- package/dist/webafx/errors/http-errors.d.ts +56 -0
- package/dist/webafx/errors/http-errors.d.ts.map +1 -0
- package/dist/webafx/errors/http-errors.js +74 -0
- package/dist/webafx/errors/http-errors.js.map +1 -0
- package/dist/webafx/errors/index.d.ts +4 -0
- package/dist/webafx/errors/index.d.ts.map +1 -0
- package/dist/webafx/errors/index.js +4 -0
- package/dist/webafx/errors/index.js.map +1 -0
- package/dist/webafx/errors/types.d.ts +42 -0
- package/dist/webafx/errors/types.d.ts.map +1 -0
- package/dist/webafx/errors/types.js +2 -0
- package/dist/webafx/errors/types.js.map +1 -0
- package/dist/webafx/index.d.ts +3 -0
- package/dist/webafx/index.d.ts.map +1 -0
- package/dist/webafx/index.js +3 -0
- package/dist/webafx/index.js.map +1 -0
- package/dist/webafx-auth/abstract-auth-provider.d.ts +178 -0
- package/dist/webafx-auth/abstract-auth-provider.d.ts.map +1 -0
- package/dist/webafx-auth/abstract-auth-provider.js +240 -0
- package/dist/webafx-auth/abstract-auth-provider.js.map +1 -0
- package/dist/webafx-auth/index.d.ts +27 -0
- package/dist/webafx-auth/index.d.ts.map +1 -0
- package/dist/webafx-auth/index.js +32 -0
- package/dist/webafx-auth/index.js.map +1 -0
- package/dist/webafx-auth/jwt-auth-provider.d.ts +100 -0
- package/dist/webafx-auth/jwt-auth-provider.d.ts.map +1 -0
- package/dist/webafx-auth/jwt-auth-provider.js +154 -0
- package/dist/webafx-auth/jwt-auth-provider.js.map +1 -0
- package/dist/webafx-auth/memory-auth-provider.d.ts +100 -0
- package/dist/webafx-auth/memory-auth-provider.d.ts.map +1 -0
- package/dist/webafx-auth/memory-auth-provider.js +122 -0
- package/dist/webafx-auth/memory-auth-provider.js.map +1 -0
- package/dist/webafx-auth/types.d.ts +333 -0
- package/dist/webafx-auth/types.d.ts.map +1 -0
- package/dist/webafx-auth/types.js +24 -0
- package/dist/webafx-auth/types.js.map +1 -0
- package/dist/webafx-cache/abstract-cache-provider.d.ts +185 -0
- package/dist/webafx-cache/abstract-cache-provider.d.ts.map +1 -0
- package/dist/webafx-cache/abstract-cache-provider.js +133 -0
- package/dist/webafx-cache/abstract-cache-provider.js.map +1 -0
- package/dist/webafx-cache/abstract-pubsub-provider.d.ts +170 -0
- package/dist/webafx-cache/abstract-pubsub-provider.d.ts.map +1 -0
- package/dist/webafx-cache/abstract-pubsub-provider.js +132 -0
- package/dist/webafx-cache/abstract-pubsub-provider.js.map +1 -0
- package/dist/webafx-cache/cache-plugin.d.ts +114 -0
- package/dist/webafx-cache/cache-plugin.d.ts.map +1 -0
- package/dist/webafx-cache/cache-plugin.js +176 -0
- package/dist/webafx-cache/cache-plugin.js.map +1 -0
- package/dist/webafx-cache/index.d.ts +33 -0
- package/dist/webafx-cache/index.d.ts.map +1 -0
- package/dist/webafx-cache/index.js +44 -0
- package/dist/webafx-cache/index.js.map +1 -0
- package/dist/webafx-cache/memory-cache-provider.d.ts +99 -0
- package/dist/webafx-cache/memory-cache-provider.d.ts.map +1 -0
- package/dist/webafx-cache/memory-cache-provider.js +251 -0
- package/dist/webafx-cache/memory-cache-provider.js.map +1 -0
- package/dist/webafx-cache/memory-pubsub-provider.d.ts +124 -0
- package/dist/webafx-cache/memory-pubsub-provider.d.ts.map +1 -0
- package/dist/webafx-cache/memory-pubsub-provider.js +195 -0
- package/dist/webafx-cache/memory-pubsub-provider.js.map +1 -0
- package/dist/webafx-cache/pubsub-plugin.d.ts +128 -0
- package/dist/webafx-cache/pubsub-plugin.d.ts.map +1 -0
- package/dist/webafx-cache/pubsub-plugin.js +182 -0
- package/dist/webafx-cache/pubsub-plugin.js.map +1 -0
- package/dist/webafx-cache/redis-cache-provider.d.ts +81 -0
- package/dist/webafx-cache/redis-cache-provider.d.ts.map +1 -0
- package/dist/webafx-cache/redis-cache-provider.js +209 -0
- package/dist/webafx-cache/redis-cache-provider.js.map +1 -0
- package/dist/webafx-cache/redis-pubsub-provider.d.ts +164 -0
- package/dist/webafx-cache/redis-pubsub-provider.d.ts.map +1 -0
- package/dist/webafx-cache/redis-pubsub-provider.js +329 -0
- package/dist/webafx-cache/redis-pubsub-provider.js.map +1 -0
- package/dist/webafx-cache/types.d.ts +206 -0
- package/dist/webafx-cache/types.d.ts.map +1 -0
- package/dist/webafx-cache/types.js +27 -0
- package/dist/webafx-cache/types.js.map +1 -0
- package/dist/webafx-i18n/i18n-plugin.d.ts +29 -0
- package/dist/webafx-i18n/i18n-plugin.d.ts.map +1 -0
- package/dist/webafx-i18n/i18n-plugin.js +145 -0
- package/dist/webafx-i18n/i18n-plugin.js.map +1 -0
- package/dist/webafx-i18n/index.d.ts +12 -0
- package/dist/webafx-i18n/index.d.ts.map +1 -0
- package/dist/webafx-i18n/index.js +12 -0
- package/dist/webafx-i18n/index.js.map +1 -0
- package/dist/webafx-i18n/locale-resolver.d.ts +33 -0
- package/dist/webafx-i18n/locale-resolver.d.ts.map +1 -0
- package/dist/webafx-i18n/locale-resolver.js +67 -0
- package/dist/webafx-i18n/locale-resolver.js.map +1 -0
- package/dist/webafx-i18n/postgresql-source.d.ts +101 -0
- package/dist/webafx-i18n/postgresql-source.d.ts.map +1 -0
- package/dist/webafx-i18n/postgresql-source.js +101 -0
- package/dist/webafx-i18n/postgresql-source.js.map +1 -0
- package/dist/webafx-i18n/types.d.ts +70 -0
- package/dist/webafx-i18n/types.d.ts.map +1 -0
- package/dist/webafx-i18n/types.js +2 -0
- package/dist/webafx-i18n/types.js.map +1 -0
- package/dist/webafx-mailer/abstract-mail-provider.d.ts +55 -0
- package/dist/webafx-mailer/abstract-mail-provider.d.ts.map +1 -0
- package/dist/webafx-mailer/abstract-mail-provider.js +37 -0
- package/dist/webafx-mailer/abstract-mail-provider.js.map +1 -0
- package/dist/webafx-mailer/index.d.ts +24 -0
- package/dist/webafx-mailer/index.d.ts.map +1 -0
- package/dist/webafx-mailer/index.js +34 -0
- package/dist/webafx-mailer/index.js.map +1 -0
- package/dist/webafx-mailer/mail-plugin.d.ts +98 -0
- package/dist/webafx-mailer/mail-plugin.d.ts.map +1 -0
- package/dist/webafx-mailer/mail-plugin.js +155 -0
- package/dist/webafx-mailer/mail-plugin.js.map +1 -0
- package/dist/webafx-mailer/memory-mail-provider.d.ts +85 -0
- package/dist/webafx-mailer/memory-mail-provider.d.ts.map +1 -0
- package/dist/webafx-mailer/memory-mail-provider.js +111 -0
- package/dist/webafx-mailer/memory-mail-provider.js.map +1 -0
- package/dist/webafx-mailer/smtp-mail-provider.d.ts +65 -0
- package/dist/webafx-mailer/smtp-mail-provider.d.ts.map +1 -0
- package/dist/webafx-mailer/smtp-mail-provider.js +113 -0
- package/dist/webafx-mailer/smtp-mail-provider.js.map +1 -0
- package/dist/webafx-mailer/types.d.ts +136 -0
- package/dist/webafx-mailer/types.d.ts.map +1 -0
- package/dist/webafx-mailer/types.js +13 -0
- package/dist/webafx-mailer/types.js.map +1 -0
- package/package.json +159 -0
|
@@ -0,0 +1,164 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Parameter manager for handling SQL parameters
|
|
3
|
+
* Manages parameter generation, validation, and serialization
|
|
4
|
+
*/
|
|
5
|
+
import { SqlDialect } from './types.js';
|
|
6
|
+
/**
|
|
7
|
+
* Parameter manager class
|
|
8
|
+
*/
|
|
9
|
+
export class ParameterManager {
|
|
10
|
+
parameterCount = 0;
|
|
11
|
+
parameters = new Map();
|
|
12
|
+
dialect;
|
|
13
|
+
constructor(dialect = SqlDialect.PostgreSQL) {
|
|
14
|
+
this.dialect = dialect;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Generate a new unique parameter name
|
|
18
|
+
*/
|
|
19
|
+
generateParameterName() {
|
|
20
|
+
this.parameterCount++;
|
|
21
|
+
return this.formatParameterName(this.parameterCount);
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Add a parameter with a specific name
|
|
25
|
+
*/
|
|
26
|
+
addParameter(name, value) {
|
|
27
|
+
// Serialize the value before storing (normalizes undefined to null)
|
|
28
|
+
const serialized = this.serializeParameter(value);
|
|
29
|
+
this.parameters.set(name, serialized);
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Add a parameter and return its name
|
|
33
|
+
*/
|
|
34
|
+
addParameterWithValue(value) {
|
|
35
|
+
const name = this.generateParameterName();
|
|
36
|
+
this.addParameter(name, value);
|
|
37
|
+
return name;
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Get parameter value by name
|
|
41
|
+
*/
|
|
42
|
+
getParameter(name) {
|
|
43
|
+
return this.parameters.get(name);
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Check if parameter exists
|
|
47
|
+
*/
|
|
48
|
+
hasParameter(name) {
|
|
49
|
+
return this.parameters.has(name);
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Get all parameters as a record
|
|
53
|
+
*/
|
|
54
|
+
getParameters() {
|
|
55
|
+
const result = {};
|
|
56
|
+
this.parameters.forEach((value, key) => {
|
|
57
|
+
result[key] = value;
|
|
58
|
+
});
|
|
59
|
+
return result;
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Get parameter count
|
|
63
|
+
*/
|
|
64
|
+
getParameterCount() {
|
|
65
|
+
return this.parameterCount;
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* Reset parameter manager
|
|
69
|
+
*/
|
|
70
|
+
reset() {
|
|
71
|
+
this.parameterCount = 0;
|
|
72
|
+
this.parameters.clear();
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* Format parameter name with a sequential index.
|
|
76
|
+
* Currently all dialects use the same naming convention (p1, p2, p3, etc.).
|
|
77
|
+
*
|
|
78
|
+
* @param index - The sequential parameter index
|
|
79
|
+
* @returns The formatted parameter name (e.g., "p1", "p2")
|
|
80
|
+
*/
|
|
81
|
+
formatParameterName(index) {
|
|
82
|
+
return `p${index}`;
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* Format parameter placeholder for SQL
|
|
86
|
+
*/
|
|
87
|
+
formatParameterPlaceholder(name) {
|
|
88
|
+
switch (this.dialect) {
|
|
89
|
+
case SqlDialect.PostgreSQL:
|
|
90
|
+
return `:${name}`;
|
|
91
|
+
case SqlDialect.MySQL:
|
|
92
|
+
case SqlDialect.SQLite:
|
|
93
|
+
return `?`;
|
|
94
|
+
case SqlDialect.MSSQL:
|
|
95
|
+
return `@${name}`;
|
|
96
|
+
default:
|
|
97
|
+
return `:${name}`;
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
/**
|
|
101
|
+
* Serialize parameter value for SQL.
|
|
102
|
+
* Normalizes undefined to null and handles Date, array, and object types.
|
|
103
|
+
*
|
|
104
|
+
* @param value - The value to serialize
|
|
105
|
+
* @returns The serialized value suitable for SQL parameterization
|
|
106
|
+
*/
|
|
107
|
+
serializeParameter(value) {
|
|
108
|
+
// Normalize undefined to null
|
|
109
|
+
if (value === undefined) {
|
|
110
|
+
return null;
|
|
111
|
+
}
|
|
112
|
+
if (value === null) {
|
|
113
|
+
return null;
|
|
114
|
+
}
|
|
115
|
+
// Handle dates (must come before object check)
|
|
116
|
+
if (value instanceof Date) {
|
|
117
|
+
return value.toISOString();
|
|
118
|
+
}
|
|
119
|
+
// Handle arrays - keep as-is for PostgreSQL array/jsonb support
|
|
120
|
+
if (Array.isArray(value)) {
|
|
121
|
+
return value;
|
|
122
|
+
}
|
|
123
|
+
// Handle objects - keep as-is for PostgreSQL jsonb support
|
|
124
|
+
// The database driver will handle JSON serialization
|
|
125
|
+
if (typeof value === 'object') {
|
|
126
|
+
return value;
|
|
127
|
+
}
|
|
128
|
+
return value;
|
|
129
|
+
}
|
|
130
|
+
/**
|
|
131
|
+
* Deduplicate parameters with same value.
|
|
132
|
+
* Uses JSON.stringify for deep comparison so objects and arrays
|
|
133
|
+
* are correctly deduplicated (not just compared by reference).
|
|
134
|
+
*
|
|
135
|
+
* @param value - The parameter value to look for
|
|
136
|
+
* @returns The existing parameter name if a duplicate is found, null otherwise
|
|
137
|
+
*/
|
|
138
|
+
deduplicateParameter(value) {
|
|
139
|
+
const serialized = JSON.stringify(this.serializeParameter(value));
|
|
140
|
+
// Find existing parameter with same value using deep comparison
|
|
141
|
+
for (const [name, paramValue] of this.parameters.entries()) {
|
|
142
|
+
if (JSON.stringify(this.serializeParameter(paramValue)) === serialized) {
|
|
143
|
+
return name;
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
return null;
|
|
147
|
+
}
|
|
148
|
+
/**
|
|
149
|
+
* Clone parameter manager
|
|
150
|
+
*/
|
|
151
|
+
clone() {
|
|
152
|
+
const cloned = new ParameterManager(this.dialect);
|
|
153
|
+
cloned.parameterCount = this.parameterCount;
|
|
154
|
+
cloned.parameters = new Map(this.parameters);
|
|
155
|
+
return cloned;
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
/**
|
|
159
|
+
* Create a new parameter manager
|
|
160
|
+
*/
|
|
161
|
+
export function createParameterManager(dialect = SqlDialect.PostgreSQL) {
|
|
162
|
+
return new ParameterManager(dialect);
|
|
163
|
+
}
|
|
164
|
+
//# sourceMappingURL=parameter-manager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parameter-manager.js","sourceRoot":"","sources":["../../src/core/parameter-manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,188 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Query builder interfaces
|
|
3
|
+
* Defines the fluent API for building SQL WHERE clauses
|
|
4
|
+
*/
|
|
5
|
+
import { ASTNode, CompileResult, SearchOptions } from './types.js';
|
|
6
|
+
/**
|
|
7
|
+
* Comparison builder interface
|
|
8
|
+
* Provides methods for building comparison expressions
|
|
9
|
+
*/
|
|
10
|
+
export interface ComparisonBuilder<TSchema, K extends keyof TSchema> {
|
|
11
|
+
/**
|
|
12
|
+
* Equal comparison (=)
|
|
13
|
+
*/
|
|
14
|
+
equals(value: TSchema[K]): QueryBuilder<TSchema>;
|
|
15
|
+
/**
|
|
16
|
+
* Not equal comparison (<>)
|
|
17
|
+
*/
|
|
18
|
+
notEquals(value: TSchema[K]): QueryBuilder<TSchema>;
|
|
19
|
+
/**
|
|
20
|
+
* Greater than comparison (>)
|
|
21
|
+
*/
|
|
22
|
+
greaterThan(value: TSchema[K]): QueryBuilder<TSchema>;
|
|
23
|
+
/**
|
|
24
|
+
* Greater than or equal comparison (>=)
|
|
25
|
+
*/
|
|
26
|
+
greaterThanOrEqual(value: TSchema[K]): QueryBuilder<TSchema>;
|
|
27
|
+
/**
|
|
28
|
+
* Less than comparison (<)
|
|
29
|
+
*/
|
|
30
|
+
lessThan(value: TSchema[K]): QueryBuilder<TSchema>;
|
|
31
|
+
/**
|
|
32
|
+
* Less than or equal comparison (<=)
|
|
33
|
+
*/
|
|
34
|
+
lessThanOrEqual(value: TSchema[K]): QueryBuilder<TSchema>;
|
|
35
|
+
/**
|
|
36
|
+
* Between comparison (BETWEEN min AND max)
|
|
37
|
+
*/
|
|
38
|
+
between(min: TSchema[K], max: TSchema[K]): QueryBuilder<TSchema>;
|
|
39
|
+
/**
|
|
40
|
+
* Not between comparison (NOT BETWEEN min AND max)
|
|
41
|
+
*/
|
|
42
|
+
notBetween(min: TSchema[K], max: TSchema[K]): QueryBuilder<TSchema>;
|
|
43
|
+
/**
|
|
44
|
+
* IN comparison (IN (value1, value2, ...))
|
|
45
|
+
*/
|
|
46
|
+
in(values: TSchema[K][]): QueryBuilder<TSchema>;
|
|
47
|
+
/**
|
|
48
|
+
* NOT IN comparison (NOT IN (value1, value2, ...))
|
|
49
|
+
*/
|
|
50
|
+
notIn(values: TSchema[K][]): QueryBuilder<TSchema>;
|
|
51
|
+
/**
|
|
52
|
+
* LIKE comparison (LIKE pattern)
|
|
53
|
+
*/
|
|
54
|
+
like(pattern: string): QueryBuilder<TSchema>;
|
|
55
|
+
/**
|
|
56
|
+
* ILIKE comparison (ILIKE pattern) - PostgreSQL only
|
|
57
|
+
*/
|
|
58
|
+
ilike(pattern: string): QueryBuilder<TSchema>;
|
|
59
|
+
/**
|
|
60
|
+
* IS NULL check
|
|
61
|
+
*/
|
|
62
|
+
isNull(): QueryBuilder<TSchema>;
|
|
63
|
+
/**
|
|
64
|
+
* IS NOT NULL check
|
|
65
|
+
*/
|
|
66
|
+
isNotNull(): QueryBuilder<TSchema>;
|
|
67
|
+
/**
|
|
68
|
+
* Starts with (sugar for LIKE 'value%')
|
|
69
|
+
*/
|
|
70
|
+
startsWith(value: string): QueryBuilder<TSchema>;
|
|
71
|
+
/**
|
|
72
|
+
* Ends with (sugar for LIKE '%value')
|
|
73
|
+
*/
|
|
74
|
+
endsWith(value: string): QueryBuilder<TSchema>;
|
|
75
|
+
/**
|
|
76
|
+
* Contains (sugar for LIKE '%value%')
|
|
77
|
+
*/
|
|
78
|
+
contains(value: string): QueryBuilder<TSchema>;
|
|
79
|
+
/**
|
|
80
|
+
* JSON contains (PostgreSQL @> operator)
|
|
81
|
+
*/
|
|
82
|
+
jsonContains(value: any): QueryBuilder<TSchema>;
|
|
83
|
+
/**
|
|
84
|
+
* JSON contained by (PostgreSQL <@ operator)
|
|
85
|
+
*/
|
|
86
|
+
jsonContainedBy(value: any): QueryBuilder<TSchema>;
|
|
87
|
+
/**
|
|
88
|
+
* JSON has key (PostgreSQL ? operator)
|
|
89
|
+
*/
|
|
90
|
+
jsonHasKey(key: string): QueryBuilder<TSchema>;
|
|
91
|
+
/**
|
|
92
|
+
* JSON has any key (PostgreSQL ?| operator)
|
|
93
|
+
*/
|
|
94
|
+
jsonHasAnyKey(keys: string[]): QueryBuilder<TSchema>;
|
|
95
|
+
/**
|
|
96
|
+
* JSON has all keys (PostgreSQL ?& operator)
|
|
97
|
+
*/
|
|
98
|
+
jsonHasAllKeys(keys: string[]): QueryBuilder<TSchema>;
|
|
99
|
+
/**
|
|
100
|
+
* JSON path exists (PostgreSQL @? operator)
|
|
101
|
+
*/
|
|
102
|
+
jsonPathExists(path: string): QueryBuilder<TSchema>;
|
|
103
|
+
/**
|
|
104
|
+
* Full-text search
|
|
105
|
+
*/
|
|
106
|
+
search(query: string, options?: SearchOptions): QueryBuilder<TSchema>;
|
|
107
|
+
/**
|
|
108
|
+
* EXISTS with subquery
|
|
109
|
+
*/
|
|
110
|
+
exists(subquery: QueryBuilder<any>): QueryBuilder<TSchema>;
|
|
111
|
+
/**
|
|
112
|
+
* NOT EXISTS with subquery
|
|
113
|
+
*/
|
|
114
|
+
notExists(subquery: QueryBuilder<any>): QueryBuilder<TSchema>;
|
|
115
|
+
/**
|
|
116
|
+
* IN with subquery
|
|
117
|
+
*/
|
|
118
|
+
inSubquery(subquery: QueryBuilder<any>): QueryBuilder<TSchema>;
|
|
119
|
+
/**
|
|
120
|
+
* NOT IN with subquery
|
|
121
|
+
*/
|
|
122
|
+
notInSubquery(subquery: QueryBuilder<any>): QueryBuilder<TSchema>;
|
|
123
|
+
/**
|
|
124
|
+
* Compare with column (for correlated subqueries)
|
|
125
|
+
*/
|
|
126
|
+
equalsColumn(column: string): QueryBuilder<TSchema>;
|
|
127
|
+
}
|
|
128
|
+
/**
|
|
129
|
+
* Main query builder interface
|
|
130
|
+
* Provides the fluent API for building queries
|
|
131
|
+
*/
|
|
132
|
+
export interface QueryBuilder<TSchema = Record<string, any>> {
|
|
133
|
+
/**
|
|
134
|
+
* Start a WHERE clause with a column
|
|
135
|
+
*/
|
|
136
|
+
where<K extends keyof TSchema>(column: K): ComparisonBuilder<TSchema, K>;
|
|
137
|
+
/**
|
|
138
|
+
* Start a WHERE clause with a callback for grouping
|
|
139
|
+
*/
|
|
140
|
+
where(callback: (q: QueryBuilder<TSchema>) => QueryBuilder<TSchema>): QueryBuilder<TSchema>;
|
|
141
|
+
/**
|
|
142
|
+
* Add an AND condition with a column
|
|
143
|
+
*/
|
|
144
|
+
and<K extends keyof TSchema>(column: K): ComparisonBuilder<TSchema, K>;
|
|
145
|
+
/**
|
|
146
|
+
* Add an AND condition with a callback for grouping
|
|
147
|
+
*/
|
|
148
|
+
and(callback: (q: QueryBuilder<TSchema>) => QueryBuilder<TSchema>): QueryBuilder<TSchema>;
|
|
149
|
+
/**
|
|
150
|
+
* Add an OR condition with a column
|
|
151
|
+
*/
|
|
152
|
+
or<K extends keyof TSchema>(column: K): ComparisonBuilder<TSchema, K>;
|
|
153
|
+
/**
|
|
154
|
+
* Add an OR condition with a callback for grouping
|
|
155
|
+
*/
|
|
156
|
+
or(callback: (q: QueryBuilder<TSchema>) => QueryBuilder<TSchema>): QueryBuilder<TSchema>;
|
|
157
|
+
/**
|
|
158
|
+
* Full-text search across multiple columns
|
|
159
|
+
*/
|
|
160
|
+
search(columns: string | string[], query: string, options?: SearchOptions): QueryBuilder<TSchema>;
|
|
161
|
+
/**
|
|
162
|
+
* Enable debug mode
|
|
163
|
+
*/
|
|
164
|
+
debug(): QueryBuilder<TSchema>;
|
|
165
|
+
/**
|
|
166
|
+
* Compile the query to SQL
|
|
167
|
+
*/
|
|
168
|
+
compile(): CompileResult;
|
|
169
|
+
/**
|
|
170
|
+
* Get the internal AST (for advanced use cases)
|
|
171
|
+
*/
|
|
172
|
+
getAST(): ASTNode | null;
|
|
173
|
+
}
|
|
174
|
+
/**
|
|
175
|
+
* Subquery builder interface
|
|
176
|
+
* Used for building subqueries
|
|
177
|
+
*/
|
|
178
|
+
export interface SubqueryBuilder<TSchema = Record<string, any>> extends QueryBuilder<TSchema> {
|
|
179
|
+
/**
|
|
180
|
+
* Select columns for subquery
|
|
181
|
+
*/
|
|
182
|
+
select(...columns: (keyof TSchema)[]): SubqueryBuilder<TSchema>;
|
|
183
|
+
/**
|
|
184
|
+
* Aggregate function for subquery
|
|
185
|
+
*/
|
|
186
|
+
aggregate(func: 'avg' | 'sum' | 'count' | 'min' | 'max'): SubqueryBuilder<TSchema>;
|
|
187
|
+
}
|
|
188
|
+
//# sourceMappingURL=query-builder-interfaces.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"query-builder-interfaces.d.ts","sourceRoot":"","sources":["../../src/core/query-builder-interfaces.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"query-builder-interfaces.js","sourceRoot":"","sources":["../../src/core/query-builder-interfaces.ts"],"names":[],"mappings":"AAAA;;;GAGG"}
|
|
@@ -0,0 +1,239 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Core type definitions for expression2
|
|
3
|
+
*/
|
|
4
|
+
/**
|
|
5
|
+
* SQL dialect enumeration
|
|
6
|
+
*/
|
|
7
|
+
export declare enum SqlDialect {
|
|
8
|
+
PostgreSQL = "postgresql",
|
|
9
|
+
MySQL = "mysql",
|
|
10
|
+
MSSQL = "mssql",
|
|
11
|
+
SQLite = "sqlite"
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Query builder options
|
|
15
|
+
*/
|
|
16
|
+
export interface QueryOptions {
|
|
17
|
+
/**
|
|
18
|
+
* SQL dialect to use (default: PostgreSQL)
|
|
19
|
+
*/
|
|
20
|
+
dialect?: SqlDialect;
|
|
21
|
+
/**
|
|
22
|
+
* Enable debug mode
|
|
23
|
+
*/
|
|
24
|
+
debug?: boolean;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Result of compiling a query
|
|
28
|
+
*/
|
|
29
|
+
export interface CompileResult {
|
|
30
|
+
/**
|
|
31
|
+
* Generated SQL WHERE clause (without the WHERE keyword)
|
|
32
|
+
*/
|
|
33
|
+
sql: string;
|
|
34
|
+
/**
|
|
35
|
+
* Parameter values keyed by parameter name
|
|
36
|
+
*/
|
|
37
|
+
params: Record<string, any>;
|
|
38
|
+
/**
|
|
39
|
+
* Debug information (only present if debug mode is enabled)
|
|
40
|
+
*/
|
|
41
|
+
debug?: DebugInfo;
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Debug information about query compilation
|
|
45
|
+
*/
|
|
46
|
+
export interface DebugInfo {
|
|
47
|
+
/**
|
|
48
|
+
* Abstract syntax tree representation
|
|
49
|
+
*/
|
|
50
|
+
ast: ASTNode;
|
|
51
|
+
/**
|
|
52
|
+
* List of optimizations applied
|
|
53
|
+
*/
|
|
54
|
+
optimizations: string[];
|
|
55
|
+
/**
|
|
56
|
+
* Number of parameters in the query
|
|
57
|
+
*/
|
|
58
|
+
parameterCount: number;
|
|
59
|
+
/**
|
|
60
|
+
* Time taken to compile the query (in milliseconds)
|
|
61
|
+
*/
|
|
62
|
+
compilationTime: number;
|
|
63
|
+
/**
|
|
64
|
+
* Warnings or suggestions
|
|
65
|
+
*/
|
|
66
|
+
warnings: string[];
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* Base AST node type
|
|
70
|
+
*/
|
|
71
|
+
export declare enum ASTNodeType {
|
|
72
|
+
Comparison = "comparison",
|
|
73
|
+
Logical = "logical",
|
|
74
|
+
Group = "group",
|
|
75
|
+
Json = "json",
|
|
76
|
+
FullText = "fulltext",
|
|
77
|
+
Subquery = "subquery"
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* Base interface for all AST nodes
|
|
81
|
+
*/
|
|
82
|
+
export interface ASTNode {
|
|
83
|
+
readonly type: ASTNodeType;
|
|
84
|
+
readonly id: string;
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* Comparison operators
|
|
88
|
+
*/
|
|
89
|
+
export declare enum ComparisonOperator {
|
|
90
|
+
Equal = "=",
|
|
91
|
+
NotEqual = "<>",
|
|
92
|
+
GreaterThan = ">",
|
|
93
|
+
GreaterThanOrEqual = ">=",
|
|
94
|
+
LessThan = "<",
|
|
95
|
+
LessThanOrEqual = "<=",
|
|
96
|
+
Like = "LIKE",
|
|
97
|
+
ILike = "ILIKE",
|
|
98
|
+
In = "IN",
|
|
99
|
+
NotIn = "NOT IN",
|
|
100
|
+
Between = "BETWEEN",
|
|
101
|
+
NotBetween = "NOT BETWEEN",
|
|
102
|
+
IsNull = "IS NULL",
|
|
103
|
+
IsNotNull = "IS NOT NULL"
|
|
104
|
+
}
|
|
105
|
+
/**
|
|
106
|
+
* Comparison AST node
|
|
107
|
+
*/
|
|
108
|
+
export interface ComparisonNode extends ASTNode {
|
|
109
|
+
readonly type: ASTNodeType.Comparison;
|
|
110
|
+
readonly column: string;
|
|
111
|
+
readonly operator: ComparisonOperator;
|
|
112
|
+
readonly value?: any;
|
|
113
|
+
readonly values?: any[];
|
|
114
|
+
readonly parameterNames?: string[];
|
|
115
|
+
}
|
|
116
|
+
/**
|
|
117
|
+
* Logical operators
|
|
118
|
+
*/
|
|
119
|
+
export declare enum LogicalOperator {
|
|
120
|
+
And = "AND",
|
|
121
|
+
Or = "OR"
|
|
122
|
+
}
|
|
123
|
+
/**
|
|
124
|
+
* Logical AST node (AND/OR)
|
|
125
|
+
*/
|
|
126
|
+
export interface LogicalNode extends ASTNode {
|
|
127
|
+
readonly type: ASTNodeType.Logical;
|
|
128
|
+
readonly operator: LogicalOperator;
|
|
129
|
+
readonly left: ASTNode;
|
|
130
|
+
readonly right: ASTNode;
|
|
131
|
+
}
|
|
132
|
+
/**
|
|
133
|
+
* Group AST node (for parentheses)
|
|
134
|
+
*/
|
|
135
|
+
export interface GroupNode extends ASTNode {
|
|
136
|
+
readonly type: ASTNodeType.Group;
|
|
137
|
+
readonly child: ASTNode;
|
|
138
|
+
}
|
|
139
|
+
/**
|
|
140
|
+
* JSON operators (PostgreSQL)
|
|
141
|
+
*/
|
|
142
|
+
export declare enum JsonOperator {
|
|
143
|
+
Contains = "@>",
|
|
144
|
+
ContainedBy = "<@",
|
|
145
|
+
HasKey = "?",
|
|
146
|
+
HasAnyKey = "?|",
|
|
147
|
+
HasAllKeys = "?&",
|
|
148
|
+
PathExists = "@?"
|
|
149
|
+
}
|
|
150
|
+
/**
|
|
151
|
+
* JSON AST node
|
|
152
|
+
*/
|
|
153
|
+
export interface JsonNode extends ASTNode {
|
|
154
|
+
readonly type: ASTNodeType.Json;
|
|
155
|
+
readonly column: string;
|
|
156
|
+
readonly operator: JsonOperator;
|
|
157
|
+
readonly value?: any;
|
|
158
|
+
readonly path?: string;
|
|
159
|
+
readonly keys?: string[];
|
|
160
|
+
readonly parameterName?: string;
|
|
161
|
+
}
|
|
162
|
+
/**
|
|
163
|
+
* Full-text search modes
|
|
164
|
+
*/
|
|
165
|
+
export declare enum FullTextMode {
|
|
166
|
+
Plain = "plain",
|
|
167
|
+
Phrase = "phrase",
|
|
168
|
+
WebSearch = "websearch"
|
|
169
|
+
}
|
|
170
|
+
/**
|
|
171
|
+
* Full-text search AST node
|
|
172
|
+
*/
|
|
173
|
+
export interface FullTextNode extends ASTNode {
|
|
174
|
+
readonly type: ASTNodeType.FullText;
|
|
175
|
+
readonly columns: string[];
|
|
176
|
+
readonly query: string;
|
|
177
|
+
readonly mode: FullTextMode;
|
|
178
|
+
readonly language: string;
|
|
179
|
+
readonly parameterName: string;
|
|
180
|
+
}
|
|
181
|
+
/**
|
|
182
|
+
* Subquery AST node
|
|
183
|
+
*/
|
|
184
|
+
export interface SubqueryNode extends ASTNode {
|
|
185
|
+
readonly type: ASTNodeType.Subquery;
|
|
186
|
+
readonly column?: string;
|
|
187
|
+
readonly operator: 'EXISTS' | 'NOT EXISTS' | 'IN' | 'NOT IN' | ComparisonOperator;
|
|
188
|
+
readonly subquery: ASTNode;
|
|
189
|
+
}
|
|
190
|
+
/**
|
|
191
|
+
* Search options for full-text search
|
|
192
|
+
*/
|
|
193
|
+
export interface SearchOptions {
|
|
194
|
+
/**
|
|
195
|
+
* Search mode (default: plain)
|
|
196
|
+
*/
|
|
197
|
+
mode?: 'plain' | 'phrase' | 'websearch';
|
|
198
|
+
/**
|
|
199
|
+
* Language for text search (default: english)
|
|
200
|
+
*/
|
|
201
|
+
language?: string;
|
|
202
|
+
}
|
|
203
|
+
/**
|
|
204
|
+
* Extract column names from a schema type
|
|
205
|
+
*/
|
|
206
|
+
export type ColumnName<TSchema> = keyof TSchema & string;
|
|
207
|
+
/**
|
|
208
|
+
* Extract column type from a schema
|
|
209
|
+
*/
|
|
210
|
+
export type ColumnType<TSchema, K extends keyof TSchema> = TSchema[K];
|
|
211
|
+
/**
|
|
212
|
+
* Type guard to check if a value is an ASTNode
|
|
213
|
+
*/
|
|
214
|
+
export declare function isASTNode(value: any): value is ASTNode;
|
|
215
|
+
/**
|
|
216
|
+
* Type guard for ComparisonNode
|
|
217
|
+
*/
|
|
218
|
+
export declare function isComparisonNode(node: ASTNode): node is ComparisonNode;
|
|
219
|
+
/**
|
|
220
|
+
* Type guard for LogicalNode
|
|
221
|
+
*/
|
|
222
|
+
export declare function isLogicalNode(node: ASTNode): node is LogicalNode;
|
|
223
|
+
/**
|
|
224
|
+
* Type guard for GroupNode
|
|
225
|
+
*/
|
|
226
|
+
export declare function isGroupNode(node: ASTNode): node is GroupNode;
|
|
227
|
+
/**
|
|
228
|
+
* Type guard for JsonNode
|
|
229
|
+
*/
|
|
230
|
+
export declare function isJsonNode(node: ASTNode): node is JsonNode;
|
|
231
|
+
/**
|
|
232
|
+
* Type guard for FullTextNode
|
|
233
|
+
*/
|
|
234
|
+
export declare function isFullTextNode(node: ASTNode): node is FullTextNode;
|
|
235
|
+
/**
|
|
236
|
+
* Type guard for SubqueryNode
|
|
237
|
+
*/
|
|
238
|
+
export declare function isSubqueryNode(node: ASTNode): node is SubqueryNode;
|
|
239
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/core/types.ts"],"names":[],"mappings":"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"}
|