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,211 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Validation utilities for command line option types
|
|
3
|
+
*/
|
|
4
|
+
/**
|
|
5
|
+
* Validates if a string is a valid email address
|
|
6
|
+
* @param value The value to validate
|
|
7
|
+
* @returns true if valid email, false otherwise
|
|
8
|
+
*/
|
|
9
|
+
export function isValidEmail(value) {
|
|
10
|
+
if (typeof value !== "string") {
|
|
11
|
+
return false;
|
|
12
|
+
}
|
|
13
|
+
// Basic email regex that covers most common cases
|
|
14
|
+
// This follows RFC 5322 specification loosely but is practical for command line usage
|
|
15
|
+
// Allow underscores in domain names for practical usage
|
|
16
|
+
const emailRegex = /^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9_-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9_-]{0,61}[a-zA-Z0-9])?)*$/;
|
|
17
|
+
// Check basic format
|
|
18
|
+
if (!emailRegex.test(value)) {
|
|
19
|
+
return false;
|
|
20
|
+
}
|
|
21
|
+
// Additional checks
|
|
22
|
+
const parts = value.split("@");
|
|
23
|
+
if (parts.length !== 2) {
|
|
24
|
+
return false;
|
|
25
|
+
}
|
|
26
|
+
const [localPart, domainPart] = parts;
|
|
27
|
+
// Check local part length (before @)
|
|
28
|
+
if (!localPart || localPart.length > 64) {
|
|
29
|
+
return false;
|
|
30
|
+
}
|
|
31
|
+
// Check domain part length (after @)
|
|
32
|
+
if (!domainPart || domainPart.length > 253) {
|
|
33
|
+
return false;
|
|
34
|
+
}
|
|
35
|
+
// Check for consecutive dots
|
|
36
|
+
if (value.includes("..")) {
|
|
37
|
+
return false;
|
|
38
|
+
}
|
|
39
|
+
// Check that it doesn't start or end with a dot
|
|
40
|
+
if (localPart.startsWith(".") || localPart.endsWith(".")) {
|
|
41
|
+
return false;
|
|
42
|
+
}
|
|
43
|
+
// Validate the domain part using our domain validator
|
|
44
|
+
if (!isValidDomain(domainPart)) {
|
|
45
|
+
return false;
|
|
46
|
+
}
|
|
47
|
+
// For emails, require at least one dot in the domain (no single-label domains)
|
|
48
|
+
if (!domainPart.includes(".")) {
|
|
49
|
+
return false;
|
|
50
|
+
}
|
|
51
|
+
// For emails, require TLD to be at least 2 characters
|
|
52
|
+
const domainLabels = domainPart.split(".");
|
|
53
|
+
const tld = domainLabels[domainLabels.length - 1];
|
|
54
|
+
if (tld && tld.length < 2) {
|
|
55
|
+
return false;
|
|
56
|
+
}
|
|
57
|
+
return true;
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Validates if a string is a valid domain name (including subdomains)
|
|
61
|
+
* @param value The value to validate
|
|
62
|
+
* @returns true if valid domain, false otherwise
|
|
63
|
+
*/
|
|
64
|
+
export function isValidDomain(value) {
|
|
65
|
+
if (typeof value !== "string") {
|
|
66
|
+
return false;
|
|
67
|
+
}
|
|
68
|
+
// Remove leading/trailing whitespace
|
|
69
|
+
const domain = value.trim();
|
|
70
|
+
// Check length constraints
|
|
71
|
+
if (domain.length === 0 || domain.length > 253) {
|
|
72
|
+
return false;
|
|
73
|
+
}
|
|
74
|
+
// Domain cannot start or end with a dot or hyphen
|
|
75
|
+
if (domain.startsWith(".") || domain.endsWith(".") || domain.startsWith("-") || domain.endsWith("-")) {
|
|
76
|
+
return false;
|
|
77
|
+
}
|
|
78
|
+
// Split into labels (parts separated by dots)
|
|
79
|
+
const labels = domain.split(".");
|
|
80
|
+
// Must have at least one label
|
|
81
|
+
if (labels.length === 0) {
|
|
82
|
+
return false;
|
|
83
|
+
}
|
|
84
|
+
// Validate each label
|
|
85
|
+
for (let i = 0; i < labels.length; i++) {
|
|
86
|
+
const label = labels[i];
|
|
87
|
+
// Label cannot be empty or undefined
|
|
88
|
+
if (!label || label.length === 0) {
|
|
89
|
+
return false;
|
|
90
|
+
}
|
|
91
|
+
// Label cannot be longer than 63 characters
|
|
92
|
+
if (label.length > 63) {
|
|
93
|
+
return false;
|
|
94
|
+
}
|
|
95
|
+
// Label cannot start or end with hyphen
|
|
96
|
+
if (label.startsWith("-") || label.endsWith("-")) {
|
|
97
|
+
return false;
|
|
98
|
+
}
|
|
99
|
+
// For non-TLD labels, allow alphanumeric characters, hyphens, and underscores
|
|
100
|
+
// For TLD (last label), be more restrictive
|
|
101
|
+
if (i === labels.length - 1) {
|
|
102
|
+
// TLD validation: only letters and numbers, no hyphens or underscores
|
|
103
|
+
// Must contain at least one letter and be at least 2 characters
|
|
104
|
+
// Exception: single-label domains like "localhost" are allowed
|
|
105
|
+
if (labels.length === 1) {
|
|
106
|
+
// Single label domain (like localhost) - allow alphanumeric, hyphens, underscores
|
|
107
|
+
if (!/^[a-zA-Z0-9_-]+$/.test(label)) {
|
|
108
|
+
return false;
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
else {
|
|
112
|
+
// Multi-label domain TLD - must contain at least one letter
|
|
113
|
+
if (!/^[a-zA-Z0-9]+$/.test(label) || !/[a-zA-Z]/.test(label)) {
|
|
114
|
+
return false;
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
else {
|
|
119
|
+
// Non-TLD labels can contain alphanumeric characters, hyphens, and underscores
|
|
120
|
+
if (!/^[a-zA-Z0-9_-]+$/.test(label)) {
|
|
121
|
+
return false;
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
return true;
|
|
126
|
+
}
|
|
127
|
+
/**
|
|
128
|
+
* Get a human-readable error message for invalid email
|
|
129
|
+
* @param value The invalid email value
|
|
130
|
+
* @returns Error message string
|
|
131
|
+
*/
|
|
132
|
+
export function getEmailValidationError(value) {
|
|
133
|
+
if (typeof value !== "string") {
|
|
134
|
+
return "Email must be a string";
|
|
135
|
+
}
|
|
136
|
+
if (value.length === 0) {
|
|
137
|
+
return "Email cannot be empty";
|
|
138
|
+
}
|
|
139
|
+
if (!value.includes("@")) {
|
|
140
|
+
return "Email must contain @ symbol";
|
|
141
|
+
}
|
|
142
|
+
const parts = value.split("@");
|
|
143
|
+
if (parts.length !== 2) {
|
|
144
|
+
return "Email must contain exactly one @ symbol";
|
|
145
|
+
}
|
|
146
|
+
const [localPart, domainPart] = parts;
|
|
147
|
+
if (!localPart) {
|
|
148
|
+
return "Email must have a local part before @";
|
|
149
|
+
}
|
|
150
|
+
if (localPart.length > 64) {
|
|
151
|
+
return "Email local part cannot exceed 64 characters";
|
|
152
|
+
}
|
|
153
|
+
if (!domainPart) {
|
|
154
|
+
return "Email must have a domain part after @";
|
|
155
|
+
}
|
|
156
|
+
if (domainPart.length > 253) {
|
|
157
|
+
return "Email domain part cannot exceed 253 characters";
|
|
158
|
+
}
|
|
159
|
+
if (value.includes("..")) {
|
|
160
|
+
return "Email cannot contain consecutive dots";
|
|
161
|
+
}
|
|
162
|
+
if (localPart.startsWith(".") || localPart.endsWith(".")) {
|
|
163
|
+
return "Email local part cannot start or end with a dot";
|
|
164
|
+
}
|
|
165
|
+
return "Invalid email format";
|
|
166
|
+
}
|
|
167
|
+
/**
|
|
168
|
+
* Get a human-readable error message for invalid domain
|
|
169
|
+
* @param value The invalid domain value
|
|
170
|
+
* @returns Error message string
|
|
171
|
+
*/
|
|
172
|
+
export function getDomainValidationError(value) {
|
|
173
|
+
if (typeof value !== "string") {
|
|
174
|
+
return "Domain must be a string";
|
|
175
|
+
}
|
|
176
|
+
const domain = value.trim();
|
|
177
|
+
if (domain.length === 0) {
|
|
178
|
+
return "Domain cannot be empty";
|
|
179
|
+
}
|
|
180
|
+
if (domain.length > 253) {
|
|
181
|
+
return "Domain cannot exceed 253 characters";
|
|
182
|
+
}
|
|
183
|
+
if (domain.startsWith(".") || domain.endsWith(".")) {
|
|
184
|
+
return "Domain cannot start or end with a dot";
|
|
185
|
+
}
|
|
186
|
+
if (domain.startsWith("-") || domain.endsWith("-")) {
|
|
187
|
+
return "Domain cannot start or end with a hyphen";
|
|
188
|
+
}
|
|
189
|
+
const labels = domain.split(".");
|
|
190
|
+
for (let i = 0; i < labels.length; i++) {
|
|
191
|
+
const label = labels[i];
|
|
192
|
+
if (!label || label.length === 0) {
|
|
193
|
+
return "Domain labels cannot be empty";
|
|
194
|
+
}
|
|
195
|
+
if (label.length > 63) {
|
|
196
|
+
return `Domain label "${label}" cannot exceed 63 characters`;
|
|
197
|
+
}
|
|
198
|
+
if (label.startsWith("-") || label.endsWith("-")) {
|
|
199
|
+
return `Domain label "${label}" cannot start or end with a hyphen`;
|
|
200
|
+
}
|
|
201
|
+
if (!/^[a-zA-Z0-9-]+$/.test(label)) {
|
|
202
|
+
return `Domain label "${label}" contains invalid characters (only letters, numbers, and hyphens allowed)`;
|
|
203
|
+
}
|
|
204
|
+
}
|
|
205
|
+
const tld = labels[labels.length - 1];
|
|
206
|
+
if (tld && !/[a-zA-Z]/.test(tld)) {
|
|
207
|
+
return "Top-level domain must contain at least one letter";
|
|
208
|
+
}
|
|
209
|
+
return "Invalid domain format";
|
|
210
|
+
}
|
|
211
|
+
//# sourceMappingURL=validators.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validators.js","sourceRoot":"","sources":["../src/validators.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/database/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAC;AACtC,cAAc,mBAAmB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/database/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAC;AACtC,cAAc,mBAAmB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/database/introspect/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAC;AACtC,cAAc,iBAAiB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/database/introspect/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAC;AACtC,cAAc,iBAAiB,CAAC"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export declare const INTROSPECTION_SQL = "\n-- ===========================================================\n-- Enhanced introspect.sql\n-- Includes user-defined types (UDTs) and\n-- FILTERS composite types to ONLY those created by hand\n-- (standalone composites: pg_class.relkind = 'c').\n-- ===========================================================\n\nWITH base AS (\nSELECT\n current_database() AS database_name,\n n.nspname AS schema_name,\n c.relname AS relation_name,\n CASE c.relkind\n WHEN 'r' THEN 'table'\n WHEN 'p' THEN 'partitioned table'\n WHEN 'v' THEN 'view'\n WHEN 'm' THEN 'materialized view'\n WHEN 'f' THEN 'foreign table'\n ELSE c.relkind::text\n END AS relation_kind,\n\n obj_description(c.oid, 'pg_class') AS table_comment,\n\n a.attname AS column_name,\n col_description(a.attrelid, a.attnum) AS column_comment,\n\n (NOT a.attnotnull) AS is_nullable,\n\n (ad.adbin IS NOT NULL) AS has_default,\n CASE\n WHEN ad.adbin IS NOT NULL THEN pg_get_expr(ad.adbin, ad.adrelid)\n ELSE NULL\n END AS column_default,\n\n COALESCE(bt.typname, t.typname) AS pg_type,\n\n format_type(a.atttypid, a.atttypmod) AS formatted_type,\n\n (et.typcategory = 'A') AS is_array,\n\n CASE WHEN et.typcategory = 'A'\n THEN COALESCE(elem_bt.typname, elem.typname)\n END AS array_element_pg_type,\n CASE WHEN et.typcategory = 'A'\n THEN format_type(COALESCE(elem_bt.oid, elem.oid), a.atttypmod)\n END AS array_element_formatted_type,\n\n CASE\n WHEN (\n (et.typcategory = 'A' AND COALESCE(elem_bt.typname, elem.typname) IN ('varchar','bpchar'))\n OR (et.typcategory <> 'A' AND COALESCE(bt.typname, t.typname) IN ('varchar','bpchar'))\n ) THEN NULLIF(a.atttypmod - 4, -1)\n ELSE NULL\n END AS length,\n\n CASE\n WHEN (\n (et.typcategory = 'A' AND COALESCE(elem_bt.typname, elem.typname) = 'numeric')\n OR (et.typcategory <> 'A' AND COALESCE(bt.typname, t.typname) = 'numeric')\n ) THEN information_schema._pg_numeric_precision(COALESCE(elem_bt.oid, elem.oid, a.atttypid), a.atttypmod)\n ELSE NULL\n END AS precision,\n\n CASE\n WHEN (\n (et.typcategory = 'A' AND COALESCE(elem_bt.typname, elem.typname) = 'numeric')\n OR (et.typcategory <> 'A' AND COALESCE(bt.typname, t.typname) = 'numeric')\n ) THEN information_schema._pg_numeric_scale(COALESCE(elem_bt.oid, elem.oid, a.atttypid), a.atttypmod)\n ELSE NULL\n END AS scale,\n\n EXISTS (\n SELECT 1\n FROM pg_index i\n WHERE i.indrelid = c.oid\n AND i.indisprimary\n AND a.attnum = ANY(i.indkey)\n ) AS is_primary_key,\n\n EXISTS (\n SELECT 1\n FROM pg_index i\n WHERE i.indrelid = c.oid\n AND i.indisunique\n AND a.attnum = ANY(i.indkey)\n ) AS is_unique,\n\n EXISTS (\n SELECT 1\n FROM pg_constraint con\n WHERE con.conrelid = c.oid\n AND con.contype = 'f'\n AND a.attnum = ANY(con.conkey)\n ) AS is_foreign_key,\n\n (\n SELECT jsonb_agg(jsonb_build_object(\n 'constraint_name', con.conname,\n 'schema', n2.nspname,\n 'table', c2.relname,\n 'columns',\n (\n SELECT jsonb_agg(a2.attname ORDER BY k2.ord)\n FROM unnest(con.confkey) WITH ORDINALITY AS k2(attnum, ord)\n JOIN pg_attribute a2 ON a2.attrelid = con.confrelid AND a2.attnum = k2.attnum\n ),\n 'referenced_columns',\n (\n SELECT jsonb_agg(a1.attname ORDER BY k1.ord)\n FROM unnest(con.conkey) WITH ORDINALITY AS k1(attnum, ord)\n JOIN pg_attribute a1 ON a1.attrelid = con.conrelid AND a1.attnum = k1.attnum\n )\n ) ORDER BY con.conname)\n FROM pg_constraint con\n JOIN pg_class c2 ON c2.oid = con.confrelid\n JOIN pg_namespace n2 ON n2.oid = c2.relnamespace\n WHERE con.conrelid = c.oid\n AND con.contype = 'f'\n AND a.attnum = ANY(con.conkey)\n ) AS fk_info,\n\n EXISTS (\n SELECT 1\n FROM pg_constraint con\n WHERE con.conrelid = c.oid\n AND con.contype = 'c'\n AND a.attnum = ANY(con.conkey)\n ) AS is_check_constrained,\n\n (\n SELECT string_agg(pg_get_constraintdef(con.oid), ' AND ')\n FROM pg_constraint con\n WHERE con.conrelid = c.oid\n AND con.contype = 'c'\n AND a.attnum = ANY(con.conkey)\n ) AS check_constraints,\n\n CASE\n WHEN et.typcategory = 'A' THEN EXISTS (\n SELECT 1 FROM pg_type tt\n WHERE tt.oid = COALESCE(elem_bt.oid, elem.oid)\n AND tt.typtype = 'e'\n )\n ELSE EXISTS (\n SELECT 1 FROM pg_type tt\n WHERE tt.oid = COALESCE(bt.oid, t.oid)\n AND tt.typtype = 'e'\n )\n END AS is_enum,\n\n CASE\n WHEN et.typcategory = 'A' THEN (\n SELECT ns.nspname || '.' || tt.typname\n FROM pg_type tt\n JOIN pg_namespace ns ON ns.oid = tt.typnamespace\n WHERE tt.oid = COALESCE(elem_bt.oid, elem.oid)\n AND tt.typtype = 'e'\n )\n ELSE (\n SELECT ns.nspname || '.' || tt.typname\n FROM pg_type tt\n JOIN pg_namespace ns ON ns.oid = tt.typnamespace\n WHERE tt.oid = COALESCE(bt.oid, t.oid)\n AND tt.typtype = 'e'\n )\n END AS enum_type_name,\n\n CASE\n WHEN et.typcategory = 'A' THEN (\n SELECT array_agg(e.enumlabel ORDER BY e.enumsortorder)\n FROM pg_enum e\n WHERE e.enumtypid = COALESCE(elem_bt.oid, elem.oid)\n )\n ELSE (\n SELECT array_agg(e.enumlabel ORDER BY e.enumsortorder)\n FROM pg_enum e\n WHERE e.enumtypid = COALESCE(bt.oid, t.oid)\n )\n END AS enum_labels,\n\n t.oid AS type_oid\n\nFROM pg_attribute a\nJOIN pg_class c ON c.oid = a.attrelid\nJOIN pg_namespace n ON n.oid = c.relnamespace\nJOIN pg_type t ON t.oid = a.atttypid\nLEFT JOIN pg_type bt ON t.typtype = 'd' AND bt.oid = t.typbasetype\nLEFT JOIN pg_type et ON et.oid = COALESCE(bt.oid, t.oid)\nLEFT JOIN pg_type elem ON elem.oid = CASE WHEN et.typcategory = 'A' THEN et.typelem END\nLEFT JOIN pg_type elem_bt ON elem.typtype = 'd' AND elem_bt.oid = elem.typbasetype\nLEFT JOIN pg_attrdef ad ON ad.adrelid = a.attrelid AND ad.adnum = a.attnum\nWHERE\n a.attnum > 0\n AND NOT a.attisdropped\n AND c.relkind IN ('r','p','v','m','f')\n AND n.nspname NOT IN ('pg_catalog','information_schema')\n)\n\n-- 1) Standalone composite types only (created by hand)\n, composite AS (\n SELECT\n current_database() AS database_name,\n n.nspname AS schema_name,\n t.typname AS relation_name,\n 'composite type' AS relation_kind,\n obj_description(t.oid, 'pg_type') AS table_comment,\n\n a.attname AS column_name,\n col_description(c.oid, a.attnum) AS column_comment,\n\n NOT a.attnotnull AS is_nullable,\n FALSE AS has_default,\n NULL::text AS column_default,\n\n COALESCE(bt.typname, ty.typname) AS pg_type,\n format_type(a.atttypid, a.atttypmod) AS formatted_type,\n\n (et.typcategory = 'A') AS is_array,\n CASE WHEN et.typcategory = 'A' THEN COALESCE(elem_bt.typname, elem.typname) END AS array_element_pg_type,\n CASE WHEN et.typcategory = 'A' THEN format_type(COALESCE(elem_bt.oid, elem.oid), a.atttypmod) END AS array_element_formatted_type,\n\n CASE\n WHEN et.typcategory IN ('S','E','P','R') THEN NULL\n WHEN et.typcategory = 'A' THEN NULL\n ELSE information_schema._pg_char_max_length(a.atttypid, a.atttypmod)\n END AS length,\n\n information_schema._pg_numeric_precision(COALESCE(elem_bt.oid, elem.oid, a.atttypid), a.atttypmod) AS precision,\n information_schema._pg_numeric_scale(COALESCE(elem_bt.oid, elem.oid, a.atttypid), a.atttypmod) AS scale,\n\n FALSE AS is_primary_key,\n FALSE AS is_unique,\n FALSE AS is_foreign_key,\n NULL::jsonb AS fk_info,\n\n FALSE AS is_check_constrained,\n NULL::text AS check_constraints,\n\n EXISTS (\n SELECT 1 FROM pg_type tt\n WHERE tt.oid = COALESCE(elem_bt.oid, elem.oid, bt.oid, ty.oid) AND tt.typtype = 'e'\n ) AS is_enum,\n\n CASE\n WHEN EXISTS (\n SELECT 1 FROM pg_type tt\n WHERE tt.oid = COALESCE(elem_bt.oid, elem.oid) AND tt.typtype = 'e'\n ) THEN (\n SELECT ns.nspname || '.' || tt.typname\n FROM pg_type tt JOIN pg_namespace ns ON ns.oid = tt.typnamespace\n WHERE tt.oid = COALESCE(elem_bt.oid, elem.oid)\n )\n WHEN EXISTS (\n SELECT 1 FROM pg_type tt\n WHERE tt.oid = COALESCE(bt.oid, ty.oid) AND tt.typtype = 'e'\n ) THEN (\n SELECT ns.nspname || '.' || tt.typname\n FROM pg_type tt JOIN pg_namespace ns ON ns.oid = tt.typnamespace\n WHERE tt.oid = COALESCE(bt.oid, ty.oid)\n )\n ELSE NULL\n END AS enum_type_name,\n\n CASE\n WHEN EXISTS (\n SELECT 1 FROM pg_type tt\n WHERE tt.oid = COALESCE(elem_bt.oid, elem.oid) AND tt.typtype = 'e'\n ) THEN (\n SELECT array_agg(e.enumlabel ORDER BY e.enumsortorder)\n FROM pg_enum e WHERE e.enumtypid = COALESCE(elem_bt.oid, elem.oid)\n )\n WHEN EXISTS (\n SELECT 1 FROM pg_type tt\n WHERE tt.oid = COALESCE(bt.oid, ty.oid) AND tt.typtype = 'e'\n ) THEN (\n SELECT array_agg(e.enumlabel ORDER BY e.enumsortorder)\n FROM pg_enum e WHERE e.enumtypid = COALESCE(bt.oid, ty.oid)\n )\n ELSE NULL\n END AS enum_labels,\n\n a.atttypid AS type_oid\n\n FROM pg_type t\n JOIN pg_namespace n ON n.oid = t.typnamespace\n JOIN pg_class c ON c.oid = t.typrelid\n JOIN pg_attribute a ON a.attrelid = c.oid\n JOIN pg_type ty ON ty.oid = a.atttypid\n LEFT JOIN pg_type bt ON ty.typtype = 'd' AND bt.oid = ty.typbasetype\n LEFT JOIN pg_type et ON et.oid = COALESCE(bt.oid, ty.oid)\n LEFT JOIN pg_type elem ON elem.oid = CASE WHEN et.typcategory = 'A' THEN et.typelem END\n LEFT JOIN pg_type elem_bt ON elem.typtype = 'd' AND elem_bt.oid = elem.typbasetype\n WHERE t.typtype = 'c'\n AND c.relkind = 'c' -- <<< filter to standalone composites created by hand\n AND a.attnum > 0 AND NOT a.attisdropped\n AND n.nspname NOT IN ('pg_catalog','information_schema')\n)\n\n-- 2) Enum types: one row per label\n, enum_rows AS (\n SELECT\n current_database() AS database_name,\n n.nspname AS schema_name,\n t.typname AS relation_name,\n 'enum type' AS relation_kind,\n obj_description(t.oid, 'pg_type') AS table_comment,\n\n e.enumlabel AS column_name,\n NULL::text AS column_comment,\n\n NULL::boolean AS is_nullable,\n FALSE AS has_default,\n NULL::text AS column_default,\n\n 'text' AS pg_type,\n 'text' AS formatted_type,\n\n FALSE AS is_array,\n NULL::text AS array_element_pg_type,\n NULL::text AS array_element_formatted_type,\n\n NULL::integer AS length,\n NULL::integer AS precision,\n NULL::integer AS scale,\n\n FALSE AS is_primary_key,\n FALSE AS is_unique,\n FALSE AS is_foreign_key,\n NULL::jsonb AS fk_info,\n\n TRUE AS is_check_constrained,\n NULL::text AS check_constraints,\n\n TRUE AS is_enum,\n n.nspname || '.' || t.typname AS enum_type_name,\n NULL::text[] AS enum_labels,\n\n t.oid AS type_oid\n FROM pg_type t\n JOIN pg_namespace n ON n.oid = t.typnamespace\n JOIN pg_enum e ON e.enumtypid = t.oid\n WHERE t.typtype = 'e'\n AND n.nspname NOT IN ('pg_catalog','information_schema')\n)\n\n-- 3) Domain types: one synthetic \"(base)\" row with CHECKs\n, domain_rows AS (\n SELECT\n current_database() AS database_name,\n n.nspname AS schema_name,\n t.typname AS relation_name,\n 'domain type' AS relation_kind,\n obj_description(t.oid, 'pg_type') AS table_comment,\n\n '(base)' AS column_name,\n NULL::text AS column_comment,\n\n NULL::boolean AS is_nullable,\n FALSE AS has_default,\n NULL::text AS column_default,\n\n COALESCE(bt.typname, baset.typname) AS pg_type,\n format_type(t.typbasetype, t.typtypmod) AS formatted_type,\n\n FALSE AS is_array,\n NULL::text AS array_element_pg_type,\n NULL::text AS array_element_formatted_type,\n\n information_schema._pg_char_max_length(t.typbasetype, t.typtypmod) AS length,\n information_schema._pg_numeric_precision(t.typbasetype, t.typtypmod) AS precision,\n information_schema._pg_numeric_scale(t.typbasetype, t.typtypmod) AS scale,\n\n FALSE AS is_primary_key,\n FALSE AS is_unique,\n FALSE AS is_foreign_key,\n NULL::jsonb AS fk_info,\n\n (EXISTS (SELECT 1 FROM pg_constraint con WHERE con.contypid = t.oid AND con.contype = 'c')) AS is_check_constrained,\n (\n SELECT string_agg(pg_get_constraintdef(con.oid), ' AND ')\n FROM pg_constraint con\n WHERE con.contypid = t.oid AND con.contype = 'c'\n ) AS check_constraints,\n\n EXISTS (SELECT 1 FROM pg_type tt WHERE tt.oid = t.typbasetype AND tt.typtype = 'e') AS is_enum,\n CASE\n WHEN EXISTS (SELECT 1 FROM pg_type tt WHERE tt.oid = t.typbasetype AND tt.typtype = 'e')\n THEN (\n SELECT ns.nspname || '.' || tt.typname\n FROM pg_type tt JOIN pg_namespace ns ON ns.oid = tt.typnamespace\n WHERE tt.oid = t.typbasetype\n )\n ELSE NULL\n END AS enum_type_name,\n NULL::text[] AS enum_labels,\n\n t.oid AS type_oid\n FROM pg_type t\n JOIN pg_namespace n ON n.oid = t.typnamespace\n LEFT JOIN pg_type baset ON baset.oid = t.typbasetype\n LEFT JOIN pg_type bt ON baset.typtype = 'd' AND bt.oid = baset.typbasetype\n WHERE t.typtype = 'd'\n AND n.nspname NOT IN ('pg_catalog','information_schema')\n)\n\nSELECT * FROM base\nUNION ALL\nSELECT * FROM composite\nUNION ALL\nSELECT * FROM enum_rows\nUNION ALL\nSELECT * FROM domain_rows\nORDER BY schema_name, relation_name, column_name;\n";
|
|
2
|
+
//# sourceMappingURL=introspect-query.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"introspect-query.d.ts","sourceRoot":"","sources":["../../../src/database/introspect/introspect-query.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,iBAAiB,4niBA8Z7B,CAAC"}
|