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,321 @@
|
|
|
1
|
+
import { Database, } from '../dbcore/index.js';
|
|
2
|
+
import { Pool } from 'pg';
|
|
3
|
+
import { pg as named } from 'yesql';
|
|
4
|
+
import { PostgreSQLDeleteStatement } from './delete-statement.js';
|
|
5
|
+
import { PostgreSQLInsertStatement } from './insert-statement.js';
|
|
6
|
+
import { PostgreSQLUpdateStatement } from './update-statement.js';
|
|
7
|
+
/**
|
|
8
|
+
* Provides PostgreSQL database connectivity and query execution capabilities.
|
|
9
|
+
* Manages connection pooling, transactions, and statement creation for PostgreSQL databases.
|
|
10
|
+
* Extends the base Database class with PostgreSQL-specific implementations.
|
|
11
|
+
*
|
|
12
|
+
* @export
|
|
13
|
+
* @class PostgreSQLDatabase
|
|
14
|
+
* @extends {Database}
|
|
15
|
+
*/
|
|
16
|
+
export class PostgreSQLDatabase extends Database {
|
|
17
|
+
/**
|
|
18
|
+
* The PostgreSQL connection pool for managing database connections
|
|
19
|
+
* @protected
|
|
20
|
+
* @type {Pool}
|
|
21
|
+
* @memberof PostgreSQLDatabase
|
|
22
|
+
*/
|
|
23
|
+
pool;
|
|
24
|
+
/**
|
|
25
|
+
* The current transaction client, null when no transaction is active
|
|
26
|
+
* @protected
|
|
27
|
+
* @type {(PoolClient | null)}
|
|
28
|
+
* @memberof PostgreSQLDatabase
|
|
29
|
+
*/
|
|
30
|
+
transactionClient = null;
|
|
31
|
+
/**
|
|
32
|
+
* Flag to prevent new connections during shutdown
|
|
33
|
+
* @protected
|
|
34
|
+
* @type {boolean}
|
|
35
|
+
* @memberof PostgreSQLDatabase
|
|
36
|
+
*/
|
|
37
|
+
isShuttingDown = false;
|
|
38
|
+
/**
|
|
39
|
+
* Creates an instance of PostgreSQLDatabase.
|
|
40
|
+
* Initializes the connection pool with the provided configuration settings.
|
|
41
|
+
*
|
|
42
|
+
* @param {PostgreSQLConfig} config - The database configuration including host, port, credentials, and database name
|
|
43
|
+
* @memberof PostgreSQLDatabase
|
|
44
|
+
*/
|
|
45
|
+
constructor(config) {
|
|
46
|
+
super(config);
|
|
47
|
+
const { database, host, pass, port, user, poolConfig } = this.config;
|
|
48
|
+
// Initialize the PostgreSQL connection pool with configuration parameters
|
|
49
|
+
this.pool = new Pool({
|
|
50
|
+
database,
|
|
51
|
+
host,
|
|
52
|
+
password: pass,
|
|
53
|
+
port: port ? Number(port) : undefined,
|
|
54
|
+
user,
|
|
55
|
+
// Apply optional pool configuration with sensible defaults
|
|
56
|
+
max: poolConfig?.max,
|
|
57
|
+
idleTimeoutMillis: poolConfig?.idleTimeoutMillis,
|
|
58
|
+
connectionTimeoutMillis: poolConfig?.connectionTimeoutMillis,
|
|
59
|
+
});
|
|
60
|
+
// Register graceful shutdown handlers if enabled
|
|
61
|
+
if (config.enableGracefulShutdown) {
|
|
62
|
+
this.registerShutdownHandlers();
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* Executes a function within a database transaction context.
|
|
67
|
+
* Automatically handles BEGIN, COMMIT, and ROLLBACK operations.
|
|
68
|
+
* Ensures proper cleanup of transaction resources in all scenarios.
|
|
69
|
+
*
|
|
70
|
+
* @template T - The return type of the transaction function
|
|
71
|
+
* @param {(db: this) => Promise<T>} fn - The function to execute within the transaction context
|
|
72
|
+
* @return {Promise<T>} Promise resolving to the result of the transaction function
|
|
73
|
+
* @throws {Error} When the transaction function fails, triggers automatic ROLLBACK
|
|
74
|
+
* @memberof PostgreSQLDatabase
|
|
75
|
+
*/
|
|
76
|
+
async withTransaction(fn) {
|
|
77
|
+
// Prevent new transactions during shutdown
|
|
78
|
+
if (this.isShuttingDown) {
|
|
79
|
+
throw new Error('Cannot start transaction: database is shutting down');
|
|
80
|
+
}
|
|
81
|
+
// Acquire a client connection if not already in a transaction
|
|
82
|
+
if (!this.transactionClient) {
|
|
83
|
+
this.transactionClient = await this.connect();
|
|
84
|
+
}
|
|
85
|
+
let committed = false;
|
|
86
|
+
try {
|
|
87
|
+
// Begin the transaction
|
|
88
|
+
await this.transactionClient?.query('BEGIN');
|
|
89
|
+
// Execute the provided function within the transaction context
|
|
90
|
+
const result = await fn(this);
|
|
91
|
+
// Commit the transaction if successful
|
|
92
|
+
await this.transactionClient?.query('COMMIT');
|
|
93
|
+
committed = true;
|
|
94
|
+
return result;
|
|
95
|
+
}
|
|
96
|
+
catch (error) {
|
|
97
|
+
// Rollback the transaction on any error (only if not yet committed)
|
|
98
|
+
if (this.transactionClient && !committed) {
|
|
99
|
+
try {
|
|
100
|
+
await this.transactionClient.query('ROLLBACK');
|
|
101
|
+
}
|
|
102
|
+
catch (rollbackError) {
|
|
103
|
+
console.error('Error during transaction rollback:', rollbackError);
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
throw error;
|
|
107
|
+
}
|
|
108
|
+
finally {
|
|
109
|
+
// Always release the client connection and reset transaction state
|
|
110
|
+
if (this.transactionClient) {
|
|
111
|
+
try {
|
|
112
|
+
this.transactionClient.release();
|
|
113
|
+
}
|
|
114
|
+
catch (releaseError) {
|
|
115
|
+
console.error('Error releasing transaction client:', releaseError);
|
|
116
|
+
}
|
|
117
|
+
this.transactionClient = null;
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
/**
|
|
122
|
+
* Acquires a client connection from the connection pool.
|
|
123
|
+
* Used internally for transaction management and query execution.
|
|
124
|
+
*
|
|
125
|
+
* @return {Promise<PoolClient>} Promise resolving to a PostgreSQL client connection
|
|
126
|
+
* @memberof PostgreSQLDatabase
|
|
127
|
+
*/
|
|
128
|
+
connect() {
|
|
129
|
+
return this.pool.connect();
|
|
130
|
+
}
|
|
131
|
+
/**
|
|
132
|
+
* Closes all connections in the pool and terminates the database connection.
|
|
133
|
+
* Implements timeout protection to prevent hanging on unreleased connections.
|
|
134
|
+
* Should be called when the application is shutting down to ensure clean resource cleanup.
|
|
135
|
+
*
|
|
136
|
+
* @param {number} [timeoutMs=10000] - Maximum time to wait for graceful shutdown in milliseconds
|
|
137
|
+
* @return {Promise<void>} Promise that resolves when all connections are closed
|
|
138
|
+
* @throws {Error} When disconnect times out, after forcing connection closure
|
|
139
|
+
* @memberof PostgreSQLDatabase
|
|
140
|
+
*/
|
|
141
|
+
async disconnect(timeoutMs = 10000) {
|
|
142
|
+
this.isShuttingDown = true;
|
|
143
|
+
let timeoutHandle;
|
|
144
|
+
const timeoutPromise = new Promise((resolve) => {
|
|
145
|
+
timeoutHandle = setTimeout(async () => {
|
|
146
|
+
try {
|
|
147
|
+
await this.forceDisconnect();
|
|
148
|
+
resolve();
|
|
149
|
+
}
|
|
150
|
+
catch (err) {
|
|
151
|
+
resolve(); // Still resolve to prevent hanging
|
|
152
|
+
}
|
|
153
|
+
}, timeoutMs);
|
|
154
|
+
});
|
|
155
|
+
try {
|
|
156
|
+
await Promise.race([
|
|
157
|
+
this.pool.end().then(() => clearTimeout(timeoutHandle)),
|
|
158
|
+
timeoutPromise,
|
|
159
|
+
]);
|
|
160
|
+
}
|
|
161
|
+
catch (error) {
|
|
162
|
+
throw error;
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
/**
|
|
166
|
+
* Forcefully closes all connections in the pool without waiting for graceful shutdown.
|
|
167
|
+
* This is a last resort method used when normal disconnect times out.
|
|
168
|
+
* Warning: This may interrupt active queries and transactions.
|
|
169
|
+
*
|
|
170
|
+
* @protected
|
|
171
|
+
* @return {Promise<void>} Promise that resolves when all connections are forcefully closed
|
|
172
|
+
* @memberof PostgreSQLDatabase
|
|
173
|
+
*/
|
|
174
|
+
async forceDisconnect() {
|
|
175
|
+
try {
|
|
176
|
+
// Read existing clients (not assign empty array)
|
|
177
|
+
const clients = this.pool._clients || [];
|
|
178
|
+
for (const client of clients) {
|
|
179
|
+
try {
|
|
180
|
+
client.release(true); // Force release even if in transaction
|
|
181
|
+
}
|
|
182
|
+
catch {
|
|
183
|
+
// Silently ignore release errors
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
// Clear the clients array after releasing
|
|
187
|
+
this.pool._clients = [];
|
|
188
|
+
}
|
|
189
|
+
catch {
|
|
190
|
+
// Silently ignore any errors
|
|
191
|
+
}
|
|
192
|
+
}
|
|
193
|
+
/**
|
|
194
|
+
* Registers signal handlers for graceful shutdown on SIGINT and SIGTERM.
|
|
195
|
+
* Automatically calls disconnect() when these signals are received.
|
|
196
|
+
* Only registered if enableGracefulShutdown is true in config.
|
|
197
|
+
*
|
|
198
|
+
* @protected
|
|
199
|
+
* @memberof PostgreSQLDatabase
|
|
200
|
+
*/
|
|
201
|
+
registerShutdownHandlers() {
|
|
202
|
+
const shutdownHandler = async (signal) => {
|
|
203
|
+
console.log(`Received ${signal}. Closing database connections...`);
|
|
204
|
+
try {
|
|
205
|
+
await this.disconnect();
|
|
206
|
+
console.log('Database connections closed successfully.');
|
|
207
|
+
process.exit(0);
|
|
208
|
+
}
|
|
209
|
+
catch (error) {
|
|
210
|
+
console.error('Error during graceful shutdown:', error);
|
|
211
|
+
process.exit(1);
|
|
212
|
+
}
|
|
213
|
+
};
|
|
214
|
+
process.on('SIGINT', () => shutdownHandler('SIGINT'));
|
|
215
|
+
process.on('SIGTERM', () => shutdownHandler('SIGTERM'));
|
|
216
|
+
}
|
|
217
|
+
/**
|
|
218
|
+
* Executes a parameterized SQL query against the PostgreSQL database.
|
|
219
|
+
* Handles named parameter substitution, transaction management, and query hooks.
|
|
220
|
+
* Automatically manages connection acquisition and release for non-transactional queries.
|
|
221
|
+
*
|
|
222
|
+
* @template R - The type of records returned by the query
|
|
223
|
+
* @param {string} query - The SQL query string with named parameters (e.g., :paramName)
|
|
224
|
+
* @param {Record<string, any>} [params] - Object containing named parameter values
|
|
225
|
+
* @param {ExecuteQueryOptions} [options] - Optional query execution options including beforeQuery and afterQuery hooks
|
|
226
|
+
* @return {Promise<PostgreSQLQueryResult<R>>} Promise resolving to query results including records, row count, and field definitions
|
|
227
|
+
* @throws {Error} When no database connection is available
|
|
228
|
+
* @memberof PostgreSQLDatabase
|
|
229
|
+
*/
|
|
230
|
+
async executeQuery(query, params, options) {
|
|
231
|
+
let atomic = false;
|
|
232
|
+
options = options || {};
|
|
233
|
+
params = params || {};
|
|
234
|
+
// Prevent new queries during shutdown
|
|
235
|
+
if (this.isShuttingDown) {
|
|
236
|
+
throw new Error('Cannot execute query: database is shutting down');
|
|
237
|
+
}
|
|
238
|
+
try {
|
|
239
|
+
// Acquire a connection if not in a transaction (atomic operation)
|
|
240
|
+
if (!this.transactionClient) {
|
|
241
|
+
this.transactionClient = await this.connect();
|
|
242
|
+
atomic = true;
|
|
243
|
+
}
|
|
244
|
+
const client = this.transactionClient;
|
|
245
|
+
if (!client) {
|
|
246
|
+
throw new Error('No database connection available.');
|
|
247
|
+
}
|
|
248
|
+
// Apply beforeQuery hook if provided to transform parameters
|
|
249
|
+
if (options.beforeQuery) {
|
|
250
|
+
params = options.beforeQuery(params);
|
|
251
|
+
}
|
|
252
|
+
// Convert named parameters to positional parameters for PostgreSQL
|
|
253
|
+
const { text, values } = named(query)(params);
|
|
254
|
+
// Execute the query with positional parameters
|
|
255
|
+
const res = await client.query(text, values);
|
|
256
|
+
// Return empty result set if no rows were affected
|
|
257
|
+
if (res.rowCount === 0) {
|
|
258
|
+
return { records: [], rowCount: 0, fields: [] };
|
|
259
|
+
}
|
|
260
|
+
// Apply afterQuery hook if provided to transform result rows
|
|
261
|
+
if (options.afterQuery) {
|
|
262
|
+
res.rows = options.afterQuery(res.rows);
|
|
263
|
+
}
|
|
264
|
+
return {
|
|
265
|
+
records: res.rows || [],
|
|
266
|
+
rowCount: res.rowCount || 0,
|
|
267
|
+
fields: res?.fields || [],
|
|
268
|
+
};
|
|
269
|
+
}
|
|
270
|
+
finally {
|
|
271
|
+
// Release connection if this was an atomic operation
|
|
272
|
+
if (atomic && this.transactionClient) {
|
|
273
|
+
try {
|
|
274
|
+
this.transactionClient.release();
|
|
275
|
+
}
|
|
276
|
+
catch (releaseError) {
|
|
277
|
+
console.error('Error releasing query client:', releaseError);
|
|
278
|
+
}
|
|
279
|
+
this.transactionClient = null;
|
|
280
|
+
}
|
|
281
|
+
}
|
|
282
|
+
}
|
|
283
|
+
/**
|
|
284
|
+
* Creates a new INSERT statement builder for the specified table.
|
|
285
|
+
* Provides a fluent interface for constructing INSERT queries.
|
|
286
|
+
*
|
|
287
|
+
* @template T - The type representing the table structure
|
|
288
|
+
* @param {string} tableName - The name of the table to insert into
|
|
289
|
+
* @return {InsertStatement<T>} A new INSERT statement builder instance
|
|
290
|
+
* @memberof PostgreSQLDatabase
|
|
291
|
+
*/
|
|
292
|
+
insert(tableName) {
|
|
293
|
+
return new PostgreSQLInsertStatement(tableName, this);
|
|
294
|
+
}
|
|
295
|
+
/**
|
|
296
|
+
* Creates a new UPDATE statement builder for the specified table.
|
|
297
|
+
* Provides a fluent interface for constructing UPDATE queries with filtering.
|
|
298
|
+
*
|
|
299
|
+
* @template T - The type representing the table structure
|
|
300
|
+
* @template F - The type representing the filter criteria
|
|
301
|
+
* @param {string} tableName - The name of the table to update
|
|
302
|
+
* @return {UpdateStatement<T, F>} A new UPDATE statement builder instance
|
|
303
|
+
* @memberof PostgreSQLDatabase
|
|
304
|
+
*/
|
|
305
|
+
update(tableName) {
|
|
306
|
+
return new PostgreSQLUpdateStatement(tableName, this);
|
|
307
|
+
}
|
|
308
|
+
/**
|
|
309
|
+
* Creates a new DELETE statement builder for the specified table.
|
|
310
|
+
* Provides a fluent interface for constructing DELETE queries with filtering.
|
|
311
|
+
*
|
|
312
|
+
* @template F - The type representing the filter criteria
|
|
313
|
+
* @param {string} tableName - The name of the table to delete from
|
|
314
|
+
* @return {DeleteStatement<F>} A new DELETE statement builder instance
|
|
315
|
+
* @memberof PostgreSQLDatabase
|
|
316
|
+
*/
|
|
317
|
+
delete(tableName) {
|
|
318
|
+
return new PostgreSQLDeleteStatement(tableName, this);
|
|
319
|
+
}
|
|
320
|
+
}
|
|
321
|
+
//# sourceMappingURL=database.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"database.js","sourceRoot":"","sources":["../src/database.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { DeleteStatement } from '../dbcore/index.js';
|
|
2
|
+
/**
|
|
3
|
+
* Provides PostgreSQL-specific implementation for DELETE statement construction.
|
|
4
|
+
* Builds parameterized DELETE queries with WHERE clauses and RETURNING support.
|
|
5
|
+
* Extends the base DeleteStatement class with PostgreSQL syntax.
|
|
6
|
+
*
|
|
7
|
+
* @export
|
|
8
|
+
* @class PostgreSQLDeleteStatement
|
|
9
|
+
* @template FilterType - The type representing the filter criteria for the WHERE clause
|
|
10
|
+
* @extends {DeleteStatement<FilterType>}
|
|
11
|
+
*/
|
|
12
|
+
export declare class PostgreSQLDeleteStatement<FilterType> extends DeleteStatement<FilterType> {
|
|
13
|
+
/**
|
|
14
|
+
* Constructs the PostgreSQL DELETE query string with WHERE and RETURNING clauses.
|
|
15
|
+
* Uses cached compiled expression for complex WHERE conditions with parameterized queries.
|
|
16
|
+
* Supports optional RETURNING clause to retrieve deleted row data.
|
|
17
|
+
*
|
|
18
|
+
* @protected
|
|
19
|
+
* @return {string} The complete DELETE query string
|
|
20
|
+
* @memberof PostgreSQLDeleteStatement
|
|
21
|
+
*/
|
|
22
|
+
protected buildQuery(): string;
|
|
23
|
+
/**
|
|
24
|
+
* Builds the parameter object for the DELETE query.
|
|
25
|
+
* Uses cached compiled expression to generate parameters with proper naming.
|
|
26
|
+
* Returns an object mapping parameter names to their values for query execution.
|
|
27
|
+
*
|
|
28
|
+
* @protected
|
|
29
|
+
* @return {Object} Object containing named parameters for the WHERE clause
|
|
30
|
+
* @memberof PostgreSQLDeleteStatement
|
|
31
|
+
*/
|
|
32
|
+
protected buildParameters(): {
|
|
33
|
+
[key: string]: any;
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
//# sourceMappingURL=delete-statement.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"delete-statement.d.ts","sourceRoot":"","sources":["../src/delete-statement.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAEnD;;;;;;;;;GASG;AACH,qBAAa,yBAAyB,CAAC,UAAU,CAAE,SAAQ,eAAe,CAAC,UAAU,CAAC;IACpF;;;;;;;;OAQG;IACH,SAAS,CAAC,UAAU,IAAI,MAAM;IAiB9B;;;;;;;;OAQG;IACH,SAAS,CAAC,eAAe;;;CAW1B"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { DeleteStatement } from '../dbcore/index.js';
|
|
2
|
+
/**
|
|
3
|
+
* Provides PostgreSQL-specific implementation for DELETE statement construction.
|
|
4
|
+
* Builds parameterized DELETE queries with WHERE clauses and RETURNING support.
|
|
5
|
+
* Extends the base DeleteStatement class with PostgreSQL syntax.
|
|
6
|
+
*
|
|
7
|
+
* @export
|
|
8
|
+
* @class PostgreSQLDeleteStatement
|
|
9
|
+
* @template FilterType - The type representing the filter criteria for the WHERE clause
|
|
10
|
+
* @extends {DeleteStatement<FilterType>}
|
|
11
|
+
*/
|
|
12
|
+
export class PostgreSQLDeleteStatement extends DeleteStatement {
|
|
13
|
+
/**
|
|
14
|
+
* Constructs the PostgreSQL DELETE query string with WHERE and RETURNING clauses.
|
|
15
|
+
* Uses cached compiled expression for complex WHERE conditions with parameterized queries.
|
|
16
|
+
* Supports optional RETURNING clause to retrieve deleted row data.
|
|
17
|
+
*
|
|
18
|
+
* @protected
|
|
19
|
+
* @return {string} The complete DELETE query string
|
|
20
|
+
* @memberof PostgreSQLDeleteStatement
|
|
21
|
+
*/
|
|
22
|
+
buildQuery() {
|
|
23
|
+
let queryStr = `DELETE FROM ${this.tableName}`;
|
|
24
|
+
// Build WHERE clause from cached compiled expression
|
|
25
|
+
const compiled = this.getCompiledExpression();
|
|
26
|
+
if (compiled?.sql) {
|
|
27
|
+
queryStr += ` WHERE ${compiled.sql}`;
|
|
28
|
+
}
|
|
29
|
+
// Add RETURNING clause if specified to retrieve deleted row data
|
|
30
|
+
if (this._returning.length > 0) {
|
|
31
|
+
queryStr += ` RETURNING ${this._returning.join(', ')}`;
|
|
32
|
+
}
|
|
33
|
+
return queryStr.trim();
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Builds the parameter object for the DELETE query.
|
|
37
|
+
* Uses cached compiled expression to generate parameters with proper naming.
|
|
38
|
+
* Returns an object mapping parameter names to their values for query execution.
|
|
39
|
+
*
|
|
40
|
+
* @protected
|
|
41
|
+
* @return {Object} Object containing named parameters for the WHERE clause
|
|
42
|
+
* @memberof PostgreSQLDeleteStatement
|
|
43
|
+
*/
|
|
44
|
+
buildParameters() {
|
|
45
|
+
const params = {};
|
|
46
|
+
// Get parameters from cached compiled expression
|
|
47
|
+
const compiled = this.getCompiledExpression();
|
|
48
|
+
if (compiled) {
|
|
49
|
+
Object.assign(params, compiled.params);
|
|
50
|
+
}
|
|
51
|
+
return params;
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
//# sourceMappingURL=delete-statement.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"delete-statement.js","sourceRoot":"","sources":["../src/delete-statement.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAEnD;;;;;;;;;GASG;AACH,MAAM,OAAO,yBAAsC,SAAQ,eAA2B;IACpF;;;;;;;;OAQG;IACO,UAAU;QAClB,IAAI,QAAQ,GAAG,eAAe,IAAI,CAAC,SAAS,EAAE,CAAC;QAE/C,qDAAqD;QACrD,MAAM,QAAQ,GAAG,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAC9C,IAAI,QAAQ,EAAE,GAAG,EAAE,CAAC;YAClB,QAAQ,IAAI,UAAU,QAAQ,CAAC,GAAG,EAAE,CAAC;QACvC,CAAC;QAED,iEAAiE;QACjE,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC/B,QAAQ,IAAI,cAAc,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QACzD,CAAC;QAED,OAAO,QAAQ,CAAC,IAAI,EAAE,CAAC;IACzB,CAAC;IAED;;;;;;;;OAQG;IACO,eAAe;QACvB,MAAM,MAAM,GAA2B,EAAE,CAAC;QAE1C,iDAAiD;QACjD,MAAM,QAAQ,GAAG,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAC9C,IAAI,QAAQ,EAAE,CAAC;YACb,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;QACzC,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;CACF"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* PostgreSQL database adapter for BlendSDK.
|
|
3
|
+
* Provides PostgreSQL-specific implementations for database operations including
|
|
4
|
+
* connection management, query execution, and statement builders.
|
|
5
|
+
*
|
|
6
|
+
* @packageDocumentation
|
|
7
|
+
*/
|
|
8
|
+
export * from './database.js';
|
|
9
|
+
export * from './insert-statement.js';
|
|
10
|
+
export * from './update-statement.js';
|
|
11
|
+
export * from './delete-statement.js';
|
|
12
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,cAAc,eAAe,CAAC;AAC9B,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* PostgreSQL database adapter for BlendSDK.
|
|
3
|
+
* Provides PostgreSQL-specific implementations for database operations including
|
|
4
|
+
* connection management, query execution, and statement builders.
|
|
5
|
+
*
|
|
6
|
+
* @packageDocumentation
|
|
7
|
+
*/
|
|
8
|
+
export * from './database.js';
|
|
9
|
+
export * from './insert-statement.js';
|
|
10
|
+
export * from './update-statement.js';
|
|
11
|
+
export * from './delete-statement.js';
|
|
12
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,cAAc,eAAe,CAAC;AAC9B,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { InsertStatement } from '../dbcore/index.js';
|
|
2
|
+
/**
|
|
3
|
+
* Provides PostgreSQL-specific implementation for INSERT statement construction.
|
|
4
|
+
* Builds parameterized INSERT queries with VALUES and optional RETURNING clauses.
|
|
5
|
+
* Extends the base InsertStatement class with PostgreSQL syntax.
|
|
6
|
+
*
|
|
7
|
+
* @export
|
|
8
|
+
* @class PostgreSQLInsertStatement
|
|
9
|
+
* @template TableType - The type representing the table structure for type-safe insertions
|
|
10
|
+
* @extends {InsertStatement<TableType>}
|
|
11
|
+
*/
|
|
12
|
+
export declare class PostgreSQLInsertStatement<TableType> extends InsertStatement<TableType> {
|
|
13
|
+
/**
|
|
14
|
+
* Constructs the PostgreSQL INSERT query string with VALUES and RETURNING clauses.
|
|
15
|
+
* Generates parameterized query with named parameters matching column names.
|
|
16
|
+
* Supports optional RETURNING clause to retrieve inserted row data.
|
|
17
|
+
*
|
|
18
|
+
* @protected
|
|
19
|
+
* @return {string} The complete INSERT query string
|
|
20
|
+
* @memberof PostgreSQLInsertStatement
|
|
21
|
+
*/
|
|
22
|
+
protected buildQuery(): string;
|
|
23
|
+
/**
|
|
24
|
+
* Builds the parameter object for the INSERT query.
|
|
25
|
+
* Returns the values object directly as parameters are already properly named.
|
|
26
|
+
* Each key in the values object corresponds to a column name and parameter.
|
|
27
|
+
*
|
|
28
|
+
* @protected
|
|
29
|
+
* @return {Object} Object containing named parameters matching the values to insert
|
|
30
|
+
* @memberof PostgreSQLInsertStatement
|
|
31
|
+
*/
|
|
32
|
+
protected buildParameters(): Partial<TableType>;
|
|
33
|
+
}
|
|
34
|
+
//# sourceMappingURL=insert-statement.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"insert-statement.d.ts","sourceRoot":"","sources":["../src/insert-statement.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAEnD;;;;;;;;;GASG;AACH,qBAAa,yBAAyB,CAAC,SAAS,CAAE,SAAQ,eAAe,CAAC,SAAS,CAAC;IAClF;;;;;;;;OAQG;IACH,SAAS,CAAC,UAAU,IAAI,MAAM;IAkB9B;;;;;;;;OAQG;IACH,SAAS,CAAC,eAAe;CAG1B"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { InsertStatement } from '../dbcore/index.js';
|
|
2
|
+
/**
|
|
3
|
+
* Provides PostgreSQL-specific implementation for INSERT statement construction.
|
|
4
|
+
* Builds parameterized INSERT queries with VALUES and optional RETURNING clauses.
|
|
5
|
+
* Extends the base InsertStatement class with PostgreSQL syntax.
|
|
6
|
+
*
|
|
7
|
+
* @export
|
|
8
|
+
* @class PostgreSQLInsertStatement
|
|
9
|
+
* @template TableType - The type representing the table structure for type-safe insertions
|
|
10
|
+
* @extends {InsertStatement<TableType>}
|
|
11
|
+
*/
|
|
12
|
+
export class PostgreSQLInsertStatement extends InsertStatement {
|
|
13
|
+
/**
|
|
14
|
+
* Constructs the PostgreSQL INSERT query string with VALUES and RETURNING clauses.
|
|
15
|
+
* Generates parameterized query with named parameters matching column names.
|
|
16
|
+
* Supports optional RETURNING clause to retrieve inserted row data.
|
|
17
|
+
*
|
|
18
|
+
* @protected
|
|
19
|
+
* @return {string} The complete INSERT query string
|
|
20
|
+
* @memberof PostgreSQLInsertStatement
|
|
21
|
+
*/
|
|
22
|
+
buildQuery() {
|
|
23
|
+
const keys = Object.keys(this._values);
|
|
24
|
+
// Validate that values are provided — empty INSERT is invalid SQL
|
|
25
|
+
if (keys.length === 0) {
|
|
26
|
+
throw new Error(`Cannot build INSERT statement for table "${this.tableName}": no values provided. ` +
|
|
27
|
+
'Call .values() with at least one column before executing.');
|
|
28
|
+
}
|
|
29
|
+
// Build the INSERT query with column names and parameterized values
|
|
30
|
+
// Format: INSERT INTO table (col1, col2) VALUES (:col1, :col2) RETURNING col1, col2
|
|
31
|
+
return `INSERT INTO ${this.tableName} (${keys.join(', ')}) VALUES (${keys
|
|
32
|
+
.map(key => `:${key}`)
|
|
33
|
+
.join(', ')}) ${this._returning.length ? `RETURNING ${this._returning.join(', ')}` : ''}`.trim();
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Builds the parameter object for the INSERT query.
|
|
37
|
+
* Returns the values object directly as parameters are already properly named.
|
|
38
|
+
* Each key in the values object corresponds to a column name and parameter.
|
|
39
|
+
*
|
|
40
|
+
* @protected
|
|
41
|
+
* @return {Object} Object containing named parameters matching the values to insert
|
|
42
|
+
* @memberof PostgreSQLInsertStatement
|
|
43
|
+
*/
|
|
44
|
+
buildParameters() {
|
|
45
|
+
return this._values;
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
//# sourceMappingURL=insert-statement.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"insert-statement.js","sourceRoot":"","sources":["../src/insert-statement.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAEnD;;;;;;;;;GASG;AACH,MAAM,OAAO,yBAAqC,SAAQ,eAA0B;IAClF;;;;;;;;OAQG;IACO,UAAU;QAClB,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAEvC,kEAAkE;QAClE,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACtB,MAAM,IAAI,KAAK,CACb,4CAA4C,IAAI,CAAC,SAAS,yBAAyB;gBACjF,2DAA2D,CAC9D,CAAC;QACJ,CAAC;QAED,oEAAoE;QACpE,oFAAoF;QACpF,OAAO,eAAe,IAAI,CAAC,SAAS,KAAK,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,IAAI;aACtE,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,GAAG,EAAE,CAAC;aACrB,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,aAAa,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC;IACrG,CAAC;IAED;;;;;;;;OAQG;IACO,eAAe;QACvB,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;CACF"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { UpdateStatement } from '../dbcore/index.js';
|
|
2
|
+
/**
|
|
3
|
+
* Provides PostgreSQL-specific implementation for UPDATE statement construction.
|
|
4
|
+
* Builds parameterized UPDATE queries with SET, WHERE, and RETURNING clauses.
|
|
5
|
+
* Extends the base UpdateStatement class with PostgreSQL syntax.
|
|
6
|
+
*
|
|
7
|
+
* @export
|
|
8
|
+
* @class PostgreSQLUpdateStatement
|
|
9
|
+
* @template TableType - The type representing the table structure for type-safe updates
|
|
10
|
+
* @template FilterType - The type representing the filter criteria for the WHERE clause
|
|
11
|
+
* @extends {UpdateStatement<TableType, FilterType>}
|
|
12
|
+
*/
|
|
13
|
+
export declare class PostgreSQLUpdateStatement<TableType, FilterType> extends UpdateStatement<TableType, FilterType> {
|
|
14
|
+
/**
|
|
15
|
+
* Constructs the PostgreSQL UPDATE query string with SET, WHERE, and RETURNING clauses.
|
|
16
|
+
* Generates parameterized query with named parameters for values (prefixed with 'v_')
|
|
17
|
+
* and uses expression builder for complex WHERE conditions.
|
|
18
|
+
* Supports optional RETURNING clause to retrieve updated row data.
|
|
19
|
+
*
|
|
20
|
+
* @protected
|
|
21
|
+
* @return {string} The complete UPDATE query string
|
|
22
|
+
* @memberof PostgreSQLUpdateStatement
|
|
23
|
+
*/
|
|
24
|
+
protected buildQuery(): string;
|
|
25
|
+
/**
|
|
26
|
+
* Builds the parameter object for the UPDATE query.
|
|
27
|
+
* Combines value parameters (prefixed with 'v_') and expression parameters.
|
|
28
|
+
* Returns an object mapping parameter names to their values for query execution.
|
|
29
|
+
*
|
|
30
|
+
* @protected
|
|
31
|
+
* @return {Object} Object containing named parameters for both values and WHERE clause
|
|
32
|
+
* @memberof PostgreSQLUpdateStatement
|
|
33
|
+
*/
|
|
34
|
+
protected buildParameters(): {
|
|
35
|
+
[key: string]: any;
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
//# sourceMappingURL=update-statement.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"update-statement.d.ts","sourceRoot":"","sources":["../src/update-statement.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAEnD;;;;;;;;;;GAUG;AACH,qBAAa,yBAAyB,CAAC,SAAS,EAAE,UAAU,CAAE,SAAQ,eAAe,CACnF,SAAS,EACT,UAAU,CACX;IACC;;;;;;;;;OASG;IACH,SAAS,CAAC,UAAU,IAAI,MAAM;IAqC9B;;;;;;;;OAQG;IACH,SAAS,CAAC,eAAe;;;CAiB1B"}
|