@deterministic-code/datasources 0.0.0-stage → 0.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/ArrayReader.d.ts +12 -0
- package/dist/BatchCommandIBulkWriteStrategy.d.ts +33 -0
- package/dist/BuiltRepository.d.ts +16 -0
- package/dist/BulkCRUDRepository.d.ts +17 -0
- package/dist/BulkCommand.d.ts +5 -0
- package/dist/BulkWriteEnrichment.d.ts +4 -0
- package/dist/CRUDRepository.d.ts +40 -0
- package/dist/CRUDRepositoryBuilder.d.ts +19 -0
- package/dist/CRUDRepositoryOptions.d.ts +7 -0
- package/dist/CRUDRepositoryStatements.d.ts +17 -0
- package/dist/CascadeDeleteEnrichmentStrategy.d.ts +7 -0
- package/dist/CascadeDeleteUpdateEnrichmentStrategy.d.ts +8 -0
- package/dist/CommandMiddlewareHost.d.ts +22 -0
- package/dist/ConsoleCommandMiddleware.d.ts +14 -0
- package/dist/CreateEnrichmentStrategy.d.ts +14 -0
- package/dist/Datasource.d.ts +30 -0
- package/dist/DatasourceError.d.ts +3 -0
- package/dist/DatasourceFactory.d.ts +12 -0
- package/dist/DatasourceOptions.d.ts +1 -0
- package/dist/DatasourceUrl.d.ts +12 -0
- package/dist/DatasourceUrlParser.d.ts +4 -0
- package/dist/DefaultCreateEnrichmentStrategy.d.ts +7 -0
- package/dist/DefaultReadonlyEnrichmentStrategy.d.ts +19 -0
- package/dist/DefaultUpdateEnrichmentStrategy.d.ts +7 -0
- package/dist/DefaultWriteEnrichmentStrategy.d.ts +21 -0
- package/dist/DeleteEnrichmentStrategy.d.ts +11 -0
- package/dist/DriverLoader.d.ts +5 -0
- package/dist/Enrichment.d.ts +13 -0
- package/dist/EnrichmentPropertyType.d.ts +7 -0
- package/dist/ExpectConsoleMiddleware.d.ts +15 -0
- package/dist/FirstResultReader.d.ts +19 -0
- package/dist/HashsetOptimizedReadonlyEnrichmentStrategy.d.ts +9 -0
- package/dist/IBulkWriteStrategy.d.ts +12 -0
- package/dist/ICRUDRepository.d.ts +12 -0
- package/dist/ICRUDRepositoryFactory.d.ts +7 -0
- package/dist/ICommand.d.ts +20 -0
- package/dist/ICommandMiddleware.d.ts +12 -0
- package/dist/IConnection.d.ts +12 -0
- package/dist/IDatasource.d.ts +18 -0
- package/dist/IDatasourceFactory.d.ts +5 -0
- package/dist/IDriver.d.ts +19 -0
- package/dist/IEnriched.d.ts +6 -0
- package/dist/IReader.d.ts +8 -0
- package/dist/IReadonlyEnrichmentStrategy.d.ts +7 -0
- package/dist/IReadonlyRepository.d.ts +11 -0
- package/dist/IRepository.d.ts +4 -0
- package/dist/IRepositoryFactory.d.ts +7 -0
- package/dist/IRepositoryTree.d.ts +4 -0
- package/dist/IRepositoryTreeNode.d.ts +7 -0
- package/dist/ITransaction.d.ts +8 -0
- package/dist/IUnitOfWork.d.ts +5 -0
- package/dist/IWriteEnrichmentStrategy.d.ts +7 -0
- package/dist/Information.d.ts +5 -0
- package/dist/IsolationLevel.d.ts +7 -0
- package/dist/LazyWriteEnrichmentStrategy.d.ts +4 -0
- package/dist/NestedToObjectEnrichmentStrategy.d.ts +10 -0
- package/dist/Parameter.d.ts +7 -0
- package/dist/ParameterDirection.d.ts +7 -0
- package/dist/ProviderCatalog.d.ts +7 -0
- package/dist/ProviderNotImplementedError.d.ts +4 -0
- package/dist/ProviderNotInstalledError.d.ts +4 -0
- package/dist/ReadonlyRepository.d.ts +59 -0
- package/dist/ReadonlyRepositoryBuilder.d.ts +12 -0
- package/dist/ReadonlyRepositoryMappingOptions.d.ts +14 -0
- package/dist/ReadonlyRepositoryStatements.d.ts +8 -0
- package/dist/RepositoryAccess.d.ts +11 -0
- package/dist/RepositoryFactory.d.ts +23 -0
- package/dist/RepositoryNotRegisteredError.d.ts +4 -0
- package/dist/RepositoryTree.d.ts +6 -0
- package/dist/RepositoryTreeNode.d.ts +9 -0
- package/dist/Response.d.ts +7 -0
- package/dist/Row.d.ts +2 -0
- package/dist/SingleCommandIBulkWriteStrategy.d.ts +11 -0
- package/dist/StatementMappers.d.ts +16 -0
- package/dist/StoredEnrichment.d.ts +11 -0
- package/dist/StoredProcedureBulkWriteStrategy.d.ts +27 -0
- package/dist/StreamingReader.d.ts +16 -0
- package/dist/UnitOfWorkTransaction.d.ts +12 -0
- package/dist/UpdateEnrichmentStrategy.d.ts +18 -0
- package/dist/WriteMode.d.ts +1 -0
- package/dist/builders/Field.d.ts +5 -0
- package/dist/builders/Scalar.d.ts +1 -0
- package/dist/builders/index.d.ts +2 -0
- package/dist/collectAsync.d.ts +1 -0
- package/dist/converters/Cell.d.ts +2 -0
- package/dist/converters/ChangeCasingConverter.d.ts +7 -0
- package/dist/converters/Constructable.d.ts +1 -0
- package/dist/converters/MetaDataRowTypeConverter.d.ts +14 -0
- package/dist/converters/PluralizerConverter.d.ts +4 -0
- package/dist/converters/RegexConverter.d.ts +7 -0
- package/dist/converters/ReplaceConverter.d.ts +7 -0
- package/dist/converters/RowTypeConverter.d.ts +10 -0
- package/dist/converters/ToLowerCaseConverter.d.ts +4 -0
- package/dist/converters/ToUpperCaseConverter.d.ts +4 -0
- package/dist/converters/TypeConverter.d.ts +5 -0
- package/dist/createCRUDRepositoryOptions.d.ts +7 -0
- package/dist/createReadonlyRepositoryMappingOptions.d.ts +6 -0
- package/dist/dotEnv.d.ts +5 -0
- package/dist/index.d.ts +119 -0
- package/dist/mappers/ChangeCasingMapper.d.ts +9 -0
- package/dist/mappers/DictionaryMapper.d.ts +8 -0
- package/dist/mappers/FlatToNestedMapper.d.ts +20 -0
- package/dist/mappers/IFlatToNestedMapper.d.ts +6 -0
- package/dist/mappers/IMapper.d.ts +4 -0
- package/dist/mappers/IdentityMapper.d.ts +5 -0
- package/dist/mappers/PluralizerMapper.d.ts +6 -0
- package/dist/mappers/RowTypeMapper.d.ts +6 -0
- package/dist/mappers/TransformConverterMapper.d.ts +5 -0
- package/dist/mappers/TransformMapper.d.ts +6 -0
- package/dist/mappers/TypeMap.d.ts +8 -0
- package/dist/mappers/TypeMapGroup.d.ts +5 -0
- package/dist/mocks/index.d.ts +9 -0
- package/dist/mocks/mock-command.d.ts +28 -0
- package/dist/mocks/mock-connection.d.ts +22 -0
- package/dist/mocks/mock-datasource.d.ts +24 -0
- package/dist/mocks/mock-driver.d.ts +15 -0
- package/dist/mocks/mock-reader.d.ts +14 -0
- package/dist/mocks/mock-repository.d.ts +42 -0
- package/dist/mocks/mock-select-statement.d.ts +10 -0
- package/dist/mocks/mock-transaction.d.ts +16 -0
- package/dist/mocks/mock-where.d.ts +8 -0
- package/dist/parametersToRecord.d.ts +2 -0
- package/dist/readerToAsyncIterable.d.ts +2 -0
- package/dist/splitStatements.d.ts +1 -0
- package/dist/statementParameters.d.ts +1 -0
- package/dist/statementUsesParameter.d.ts +1 -0
- package/dist/statements/Aggregate.d.ts +6 -0
- package/dist/statements/ArrayExpression.d.ts +5 -0
- package/dist/statements/BulkDeleteStatement.d.ts +11 -0
- package/dist/statements/BulkDeleteStatementTextRenderer.d.ts +4 -0
- package/dist/statements/BulkInsertStatement.d.ts +12 -0
- package/dist/statements/BulkInsertStatementTextRenderer.d.ts +4 -0
- package/dist/statements/BulkUpdateStatement.d.ts +16 -0
- package/dist/statements/BulkUpdateStatementTextRenderer.d.ts +8 -0
- package/dist/statements/CheckConstraint.d.ts +7 -0
- package/dist/statements/Cmp.d.ts +9 -0
- package/dist/statements/Column.d.ts +9 -0
- package/dist/statements/ColumnDefault.d.ts +5 -0
- package/dist/statements/Condition.d.ts +3 -0
- package/dist/statements/ConditionRenderer.d.ts +12 -0
- package/dist/statements/CreateIndexStatement.d.ts +10 -0
- package/dist/statements/CreateIndexStatementTextRenderer.d.ts +5 -0
- package/dist/statements/CreateTableStatement.d.ts +11 -0
- package/dist/statements/CreateTableStatementTextRenderer.d.ts +18 -0
- package/dist/statements/DefaultStatementTextRenderer.d.ts +5 -0
- package/dist/statements/DeleteStatement.d.ts +9 -0
- package/dist/statements/DeleteStatementTextRenderer.d.ts +7 -0
- package/dist/statements/ExecuteStoredProcedureStatement.d.ts +9 -0
- package/dist/statements/ExecuteStoredProcedureStatementTextRenderer.d.ts +4 -0
- package/dist/statements/ExpressionEvaluator.d.ts +5 -0
- package/dist/statements/ExpressionRenderer.d.ts +8 -0
- package/dist/statements/ForeignKey.d.ts +19 -0
- package/dist/statements/IBulkDeleteStatement.d.ts +3 -0
- package/dist/statements/IBulkInsertStatement.d.ts +3 -0
- package/dist/statements/IBulkUpdateStatement.d.ts +3 -0
- package/dist/statements/ICondition.d.ts +4 -0
- package/dist/statements/IConditionVisitor.d.ts +6 -0
- package/dist/statements/ICreateIndexStatement.d.ts +3 -0
- package/dist/statements/ICreateTableStatement.d.ts +3 -0
- package/dist/statements/IDeleteStatement.d.ts +5 -0
- package/dist/statements/IExecuteStoredProcedureStatement.d.ts +3 -0
- package/dist/statements/IExpression.d.ts +2 -0
- package/dist/statements/IInsertStatement.d.ts +3 -0
- package/dist/statements/IReturnStatement.d.ts +3 -0
- package/dist/statements/ISelectStatement.d.ts +5 -0
- package/dist/statements/IStatement.d.ts +4 -0
- package/dist/statements/IStatementVisitor.d.ts +26 -0
- package/dist/statements/ITableConstraint.d.ts +5 -0
- package/dist/statements/IUpdateStatement.d.ts +5 -0
- package/dist/statements/IWhere.d.ts +6 -0
- package/dist/statements/Identifier.d.ts +5 -0
- package/dist/statements/InsertStatement.d.ts +9 -0
- package/dist/statements/InsertStatementTextRenderer.d.ts +4 -0
- package/dist/statements/Join.d.ts +14 -0
- package/dist/statements/Literal.d.ts +6 -0
- package/dist/statements/Native.d.ts +5 -0
- package/dist/statements/NotNull.d.ts +4 -0
- package/dist/statements/Operator.d.ts +107 -0
- package/dist/statements/OrderBy.d.ts +10 -0
- package/dist/statements/PrimaryKey.d.ts +7 -0
- package/dist/statements/ReturnStatement.d.ts +9 -0
- package/dist/statements/ReturnStatementTextRenderer.d.ts +4 -0
- package/dist/statements/SelectInsertedIdStatement.d.ts +8 -0
- package/dist/statements/SelectInsertedIdStatementTextRenderer.d.ts +4 -0
- package/dist/statements/SelectStatement.d.ts +20 -0
- package/dist/statements/SelectStatementOptions.d.ts +15 -0
- package/dist/statements/SelectStatementTextRenderer.d.ts +19 -0
- package/dist/statements/StatementEvaluator.d.ts +4 -0
- package/dist/statements/StatementParser.d.ts +4 -0
- package/dist/statements/StatementRenderer.d.ts +42 -0
- package/dist/statements/StatementTextRenderer.d.ts +14 -0
- package/dist/statements/Subquery.d.ts +6 -0
- package/dist/statements/UniqueConstraint.d.ts +7 -0
- package/dist/statements/UpdateStatement.d.ts +14 -0
- package/dist/statements/UpdateStatementTextRenderer.d.ts +14 -0
- package/dist/statements/Where.d.ts +16 -0
- package/dist/statements/WhereText.d.ts +8 -0
- package/dist/statements/index.d.ts +75 -0
- package/dist/stubs/StubCommand.d.ts +15 -0
- package/dist/stubs/StubConnection.d.ts +13 -0
- package/dist/stubs/StubDatasource.d.ts +20 -0
- package/dist/stubs/StubReader.d.ts +11 -0
- package/dist/stubs/StubRepository.d.ts +22 -0
- package/dist/stubs/StubTransaction.d.ts +10 -0
- package/dist/stubs/createStubDatasource.d.ts +2 -0
- package/dist/stubs/index.d.ts +7 -0
- package/dist/stubs/notImplemented.d.ts +1 -0
- package/package.json +24 -4
- package/src/ArrayReader.test.ts +23 -0
- package/src/ArrayReader.ts +32 -0
- package/src/BatchCommandIBulkWriteStrategy.ts +228 -0
- package/src/BuiltRepository.ts +17 -0
- package/src/BulkCRUDRepository.test.ts +183 -0
- package/src/BulkCRUDRepository.ts +84 -0
- package/src/BulkCommand.ts +6 -0
- package/src/BulkWriteEnrichment.ts +19 -0
- package/src/BulkWriteStrategy.test.ts +293 -0
- package/src/CRUDRepository.test.ts +420 -0
- package/src/CRUDRepository.ts +264 -0
- package/src/CRUDRepositoryBuilder.ts +53 -0
- package/src/CRUDRepositoryOptions.test.ts +76 -0
- package/src/CRUDRepositoryOptions.ts +8 -0
- package/src/CRUDRepositoryStatements.ts +43 -0
- package/src/CascadeDeleteEnrichmentStrategy.ts +51 -0
- package/src/CascadeDeleteUpdateEnrichmentStrategy.ts +28 -0
- package/src/Command.test.ts +105 -0
- package/src/CommandMiddlewareHost.test.ts +98 -0
- package/src/CommandMiddlewareHost.ts +113 -0
- package/src/Connection.test.ts +34 -0
- package/src/ConsoleCommandMiddleware.test.ts +149 -0
- package/src/ConsoleCommandMiddleware.ts +64 -0
- package/src/CreateEnrichmentStrategy.ts +82 -0
- package/src/Datasource.test.ts +63 -0
- package/src/Datasource.ts +152 -0
- package/src/DatasourceError.test.ts +10 -0
- package/src/DatasourceError.ts +6 -0
- package/src/DatasourceFactory.test.ts +159 -0
- package/src/DatasourceFactory.ts +86 -0
- package/src/DatasourceOptions.ts +1 -0
- package/src/DatasourceUrl.ts +37 -0
- package/src/DatasourceUrlParser.test.ts +173 -0
- package/src/DatasourceUrlParser.ts +188 -0
- package/src/DefaultCreateEnrichmentStrategy.ts +21 -0
- package/src/DefaultReadonlyEnrichmentStrategy.ts +164 -0
- package/src/DefaultUpdateEnrichmentStrategy.ts +40 -0
- package/src/DefaultWriteEnrichmentStrategy.ts +151 -0
- package/src/DeleteEnrichmentStrategy.ts +56 -0
- package/src/DriverLoader.ts +97 -0
- package/src/Enrichment.ts +15 -0
- package/src/EnrichmentPropertyType.ts +9 -0
- package/src/ExpectConsoleMiddleware.test.ts +79 -0
- package/src/ExpectConsoleMiddleware.ts +47 -0
- package/src/FirstResultReader.test.ts +43 -0
- package/src/FirstResultReader.ts +49 -0
- package/src/HashsetOptimizedReadonlyEnrichmentStrategy.ts +80 -0
- package/src/IBulkWriteStrategy.ts +13 -0
- package/src/ICRUDRepository.ts +13 -0
- package/src/ICRUDRepositoryFactory.ts +8 -0
- package/src/ICommand.ts +45 -0
- package/src/ICommandMiddleware.ts +20 -0
- package/src/IConnection.ts +13 -0
- package/src/IDatasource.ts +27 -0
- package/src/IDatasourceFactory.ts +6 -0
- package/src/IDriver.ts +24 -0
- package/src/IEnriched.ts +11 -0
- package/src/IReader.ts +8 -0
- package/src/IReadonlyEnrichmentStrategy.ts +19 -0
- package/src/IReadonlyRepository.ts +21 -0
- package/src/IRepository.ts +5 -0
- package/src/IRepositoryFactory.ts +8 -0
- package/src/IRepositoryTree.ts +5 -0
- package/src/IRepositoryTreeNode.ts +8 -0
- package/src/ITransaction.ts +9 -0
- package/src/IUnitOfWork.ts +5 -0
- package/src/IWriteEnrichmentStrategy.ts +8 -0
- package/src/Information.ts +5 -0
- package/src/IsolationLevel.test.ts +13 -0
- package/src/IsolationLevel.ts +8 -0
- package/src/LazyWriteEnrichmentStrategy.ts +5 -0
- package/src/NestedToObjectEnrichmentStrategy.ts +33 -0
- package/src/Parameter.ts +8 -0
- package/src/ParameterDirection.ts +9 -0
- package/src/ProviderCatalog.test.ts +110 -0
- package/src/ProviderCatalog.ts +21 -0
- package/src/ProviderNotImplementedError.test.ts +11 -0
- package/src/ProviderNotImplementedError.ts +9 -0
- package/src/ProviderNotInstalledError.test.ts +11 -0
- package/src/ProviderNotInstalledError.ts +9 -0
- package/src/ReadonlyRepository.test.ts +406 -0
- package/src/ReadonlyRepository.ts +276 -0
- package/src/ReadonlyRepositoryBuilder.ts +53 -0
- package/src/ReadonlyRepositoryMappingOptions.ts +15 -0
- package/src/ReadonlyRepositoryStatements.ts +13 -0
- package/src/RepositoryAccess.ts +14 -0
- package/src/RepositoryFactory.test.ts +94 -0
- package/src/RepositoryFactory.ts +115 -0
- package/src/RepositoryNotRegisteredError.ts +9 -0
- package/src/RepositoryTree.ts +6 -0
- package/src/RepositoryTreeNode.ts +11 -0
- package/src/Response.ts +15 -0
- package/src/Row.ts +3 -0
- package/src/SingleCommandIBulkWriteStrategy.ts +35 -0
- package/src/StatementMappers.test.ts +221 -0
- package/src/StatementMappers.ts +110 -0
- package/src/StoredEnrichment.ts +25 -0
- package/src/StoredProcedureBulkWriteStrategy.ts +164 -0
- package/src/StreamingReader.test.ts +126 -0
- package/src/StreamingReader.ts +64 -0
- package/src/Transaction.test.ts +37 -0
- package/src/UnitOfWorkTransaction.test.ts +43 -0
- package/src/UnitOfWorkTransaction.ts +50 -0
- package/src/UpdateEnrichmentStrategy.ts +97 -0
- package/src/UserViewCRUDRepository.test.ts +323 -0
- package/src/WriteMode.ts +1 -0
- package/src/builders/Field.ts +6 -0
- package/src/builders/Scalar.ts +1 -0
- package/src/builders/builders.test.ts +404 -0
- package/src/builders/index.ts +2 -0
- package/src/collectAsync.ts +7 -0
- package/src/converters/Cell.ts +10 -0
- package/src/converters/ChangeCasingConverter.test.ts +34 -0
- package/src/converters/ChangeCasingConverter.ts +59 -0
- package/src/converters/Constructable.ts +1 -0
- package/src/converters/MetaDataRowTypeConverter.ts +80 -0
- package/src/converters/PluralizerConverter.test.ts +43 -0
- package/src/converters/PluralizerConverter.ts +67 -0
- package/src/converters/RegexConverter.test.ts +11 -0
- package/src/converters/RegexConverter.ts +14 -0
- package/src/converters/ReplaceConverter.test.ts +9 -0
- package/src/converters/ReplaceConverter.ts +6 -0
- package/src/converters/RowTypeConverter.test.ts +79 -0
- package/src/converters/RowTypeConverter.ts +33 -0
- package/src/converters/ToLowerCaseConverter.test.ts +9 -0
- package/src/converters/ToLowerCaseConverter.ts +4 -0
- package/src/converters/ToUpperCaseConverter.test.ts +9 -0
- package/src/converters/ToUpperCaseConverter.ts +4 -0
- package/src/converters/TypeConverter.ts +6 -0
- package/src/createCRUDRepositoryOptions.ts +21 -0
- package/src/createReadonlyRepositoryMappingOptions.ts +26 -0
- package/src/dotEnv.test.ts +21 -0
- package/src/dotEnv.ts +16 -0
- package/src/edgeCases.test.ts +485 -0
- package/src/index.ts +222 -0
- package/src/mappers/ChangeCasingMapper.test.ts +32 -0
- package/src/mappers/ChangeCasingMapper.ts +15 -0
- package/src/mappers/DictionaryMapper.test.ts +69 -0
- package/src/mappers/DictionaryMapper.ts +16 -0
- package/src/mappers/FlatToNestedMapper.test.ts +269 -0
- package/src/mappers/FlatToNestedMapper.ts +127 -0
- package/src/mappers/IFlatToNestedMapper.ts +7 -0
- package/src/mappers/IMapper.ts +4 -0
- package/src/mappers/IdentityMapper.test.ts +12 -0
- package/src/mappers/IdentityMapper.ts +6 -0
- package/src/mappers/PluralizerMapper.test.ts +40 -0
- package/src/mappers/PluralizerMapper.ts +9 -0
- package/src/mappers/RowTypeMapper.test.ts +12 -0
- package/src/mappers/RowTypeMapper.ts +13 -0
- package/src/mappers/TransformConverterMapper.test.ts +181 -0
- package/src/mappers/TransformConverterMapper.ts +11 -0
- package/src/mappers/TransformMapper.ts +8 -0
- package/src/mappers/TypeMap.ts +10 -0
- package/src/mappers/TypeMapGroup.ts +6 -0
- package/src/mappers/transformMapper.test.ts +66 -0
- package/src/mocks/MockCommand.test.ts +75 -0
- package/src/mocks/MockConnection.test.ts +34 -0
- package/src/mocks/MockDatasource.test.ts +40 -0
- package/src/mocks/MockReader.test.ts +17 -0
- package/src/mocks/MockRepository.test.ts +32 -0
- package/src/mocks/MockSelectStatement.test.ts +11 -0
- package/src/mocks/MockTransaction.test.ts +17 -0
- package/src/mocks/MockWhere.test.ts +11 -0
- package/src/mocks/index.ts +9 -0
- package/src/mocks/mock-command.ts +66 -0
- package/src/mocks/mock-connection.ts +57 -0
- package/src/mocks/mock-datasource.ts +65 -0
- package/src/mocks/mock-driver.ts +27 -0
- package/src/mocks/mock-reader.ts +38 -0
- package/src/mocks/mock-repository.ts +91 -0
- package/src/mocks/mock-select-statement.ts +17 -0
- package/src/mocks/mock-transaction.ts +31 -0
- package/src/mocks/mock-where.ts +13 -0
- package/src/parametersToRecord.test.ts +19 -0
- package/src/parametersToRecord.ts +11 -0
- package/src/public-surface.test.ts +23 -0
- package/src/readWithWhereClauseAndCustomFlatToNestedObjectMappingOptions.test.ts +126 -0
- package/src/readerToAsyncIterable.test.ts +39 -0
- package/src/readerToAsyncIterable.ts +11 -0
- package/src/repository.test.ts +410 -0
- package/src/repository.type.test.ts +29 -0
- package/src/splitStatements.ts +99 -0
- package/src/statementParameters.ts +22 -0
- package/src/statementUsesParameter.ts +4 -0
- package/src/statements/Aggregate.ts +9 -0
- package/src/statements/ArrayExpression.ts +5 -0
- package/src/statements/BulkDeleteStatement.ts +18 -0
- package/src/statements/BulkDeleteStatementTextRenderer.ts +16 -0
- package/src/statements/BulkInsertStatement.ts +37 -0
- package/src/statements/BulkInsertStatementTextRenderer.ts +10 -0
- package/src/statements/BulkUpdateStatement.ts +24 -0
- package/src/statements/BulkUpdateStatementTextRenderer.ts +29 -0
- package/src/statements/CheckConstraint.ts +9 -0
- package/src/statements/Cmp.ts +12 -0
- package/src/statements/Column.ts +10 -0
- package/src/statements/ColumnDefault.ts +6 -0
- package/src/statements/Condition.ts +3 -0
- package/src/statements/ConditionRenderer.ts +17 -0
- package/src/statements/CreateIndexStatement.ts +18 -0
- package/src/statements/CreateIndexStatementTextRenderer.ts +11 -0
- package/src/statements/CreateTableStatement.ts +18 -0
- package/src/statements/CreateTableStatementTextRenderer.ts +92 -0
- package/src/statements/DefaultStatementTextRenderer.ts +9 -0
- package/src/statements/DeleteStatement.ts +15 -0
- package/src/statements/DeleteStatementTextRenderer.ts +12 -0
- package/src/statements/ExecuteStoredProcedureStatement.ts +15 -0
- package/src/statements/ExecuteStoredProcedureStatementTextRenderer.ts +15 -0
- package/src/statements/ExpressionEvaluator.ts +166 -0
- package/src/statements/ExpressionRenderer.ts +161 -0
- package/src/statements/ForeignKey.ts +23 -0
- package/src/statements/IBulkDeleteStatement.ts +3 -0
- package/src/statements/IBulkInsertStatement.ts +3 -0
- package/src/statements/IBulkUpdateStatement.ts +3 -0
- package/src/statements/ICondition.ts +5 -0
- package/src/statements/IConditionVisitor.ts +7 -0
- package/src/statements/ICreateIndexStatement.ts +3 -0
- package/src/statements/ICreateTableStatement.ts +3 -0
- package/src/statements/IDeleteStatement.ts +6 -0
- package/src/statements/IExecuteStoredProcedureStatement.ts +3 -0
- package/src/statements/IExpression.ts +1 -0
- package/src/statements/IInsertStatement.ts +3 -0
- package/src/statements/IReturnStatement.ts +3 -0
- package/src/statements/ISelectStatement.ts +6 -0
- package/src/statements/IStatement.ts +5 -0
- package/src/statements/IStatementVisitor.ts +27 -0
- package/src/statements/ITableConstraint.ts +6 -0
- package/src/statements/IUpdateStatement.ts +6 -0
- package/src/statements/IWhere.ts +7 -0
- package/src/statements/Identifier.ts +5 -0
- package/src/statements/InsertStatement.ts +15 -0
- package/src/statements/InsertStatementTextRenderer.ts +7 -0
- package/src/statements/Join.ts +26 -0
- package/src/statements/Literal.ts +6 -0
- package/src/statements/Native.ts +5 -0
- package/src/statements/NotNull.ts +3 -0
- package/src/statements/Operator.ts +234 -0
- package/src/statements/OrderBy.ts +19 -0
- package/src/statements/PrimaryKey.ts +9 -0
- package/src/statements/ReturnStatement.ts +15 -0
- package/src/statements/ReturnStatementTextRenderer.ts +15 -0
- package/src/statements/SelectInsertedIdStatement.test.ts +11 -0
- package/src/statements/SelectInsertedIdStatement.ts +11 -0
- package/src/statements/SelectInsertedIdStatementTextRenderer.ts +7 -0
- package/src/statements/SelectStatement.ts +34 -0
- package/src/statements/SelectStatementOptions.ts +16 -0
- package/src/statements/SelectStatementTextRenderer.ts +71 -0
- package/src/statements/StatementCompile.test.ts +231 -0
- package/src/statements/StatementEvaluator.ts +5 -0
- package/src/statements/StatementParser.test.ts +304 -0
- package/src/statements/StatementParser.ts +461 -0
- package/src/statements/StatementRenderer.ts +120 -0
- package/src/statements/StatementTextRenderer.ts +60 -0
- package/src/statements/Subquery.ts +6 -0
- package/src/statements/UniqueConstraint.ts +9 -0
- package/src/statements/UpdateStatement.ts +34 -0
- package/src/statements/UpdateStatementTextRenderer.ts +63 -0
- package/src/statements/Where.ts +250 -0
- package/src/statements/WhereText.ts +10 -0
- package/src/statements/index.ts +75 -0
- package/src/stubs/StubCommand.ts +30 -0
- package/src/stubs/StubConnection.ts +21 -0
- package/src/stubs/StubDatasource.test.ts +99 -0
- package/src/stubs/StubDatasource.ts +60 -0
- package/src/stubs/StubReader.ts +25 -0
- package/src/stubs/StubRepository.ts +42 -0
- package/src/stubs/StubTransaction.ts +17 -0
- package/src/stubs/createStubDatasource.ts +4 -0
- package/src/stubs/index.ts +7 -0
- package/src/stubs/notImplemented.ts +5 -0
- package/src/tests/contact/Address.ts +14 -0
- package/src/tests/contact/AddressType.ts +6 -0
- package/src/tests/contact/Base.ts +7 -0
- package/src/tests/contact/Contact.ts +12 -0
- package/src/tests/contact/ContactBase.ts +8 -0
- package/src/tests/contact/ContactChangeLog.ts +8 -0
- package/src/tests/contact/ContactGroup.ts +6 -0
- package/src/tests/contact/ContactGroupBase.ts +6 -0
- package/src/tests/contact/ContactGroupMember.ts +6 -0
- package/src/tests/contact/ContactSource.ts +6 -0
- package/src/tests/contact/ContactType.ts +6 -0
- package/src/tests/contact/ContactsService.test.ts +118 -0
- package/src/tests/contact/ContactsService.ts +32 -0
- package/src/tests/contact/ImportContactRequest.ts +4 -0
- package/src/tests/contact/ImportContactResult.ts +5 -0
- package/src/tests/contact/LegacyContact.ts +7 -0
- package/src/tests/contact/LegacyMigrationResult.ts +5 -0
- package/src/tests/contact/Phone.ts +9 -0
- package/src/tests/contact/PhoneType.ts +6 -0
- package/src/tests/contact/asContactsView.ts +63 -0
- package/src/tests/contact/contactColumns.ts +40 -0
- package/src/tests/contact/contactLookupIds.ts +32 -0
- package/src/tests/contact/contactLookups.ts +6 -0
- package/src/tests/contact/contactsParity.ts +63 -0
- package/src/tests/contact/contactsServiceOf.ts +38 -0
- package/src/tests/contact/contactsView.ts +31 -0
- package/src/tests/contact/expectContactsView.ts +23 -0
- package/src/tests/contact/extraContact.ts +61 -0
- package/src/tests/contact/logMapped.ts +5 -0
- package/src/tests/contact/seedContacts.ts +31 -0
- package/README.md +0 -3
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { Column } from "./Column.js";
|
|
2
|
+
import type { CreateTableStatement } from "./CreateTableStatement.js";
|
|
3
|
+
import type { ITableConstraint } from "./ITableConstraint.js";
|
|
4
|
+
export declare class CreateTableStatementTextRenderer {
|
|
5
|
+
render(statement: CreateTableStatement): string;
|
|
6
|
+
protected quote(name: string): string;
|
|
7
|
+
protected suffix(): string;
|
|
8
|
+
protected typeName(column: Column): string;
|
|
9
|
+
protected columnDefault(column: Column): string;
|
|
10
|
+
protected identity(_column: Column): string;
|
|
11
|
+
protected column(column: Column): string;
|
|
12
|
+
protected constraint(constraint: ITableConstraint): string;
|
|
13
|
+
private parts;
|
|
14
|
+
private notNullSql;
|
|
15
|
+
private foreignKey;
|
|
16
|
+
private quoted;
|
|
17
|
+
private actionSql;
|
|
18
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { IDeleteStatement } from "./IDeleteStatement.js";
|
|
2
|
+
import type { IStatementVisitor } from "./IStatementVisitor.js";
|
|
3
|
+
import type { IWhere } from "./IWhere.js";
|
|
4
|
+
export declare class DeleteStatement implements IDeleteStatement {
|
|
5
|
+
readonly table: string;
|
|
6
|
+
readonly where?: IWhere;
|
|
7
|
+
constructor(table: string, where?: IWhere);
|
|
8
|
+
accept: (visitor: IStatementVisitor) => string;
|
|
9
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { DeleteStatement } from "./DeleteStatement.js";
|
|
2
|
+
import type { StatementTextRenderer } from "./StatementTextRenderer.js";
|
|
3
|
+
export declare class DeleteStatementTextRenderer {
|
|
4
|
+
private readonly text;
|
|
5
|
+
constructor(text: StatementTextRenderer);
|
|
6
|
+
render(statement: DeleteStatement): string;
|
|
7
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { Parameter } from "../Parameter.js";
|
|
2
|
+
import type { IExecuteStoredProcedureStatement } from "./IExecuteStoredProcedureStatement.js";
|
|
3
|
+
import type { IStatementVisitor } from "./IStatementVisitor.js";
|
|
4
|
+
export declare class ExecuteStoredProcedureStatement implements IExecuteStoredProcedureStatement {
|
|
5
|
+
readonly name: string;
|
|
6
|
+
readonly parameters: Parameter[];
|
|
7
|
+
constructor(name: string, parameters: Parameter[]);
|
|
8
|
+
accept: (visitor: IStatementVisitor) => string;
|
|
9
|
+
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { IExpression } from "./IExpression.js";
|
|
2
|
+
import type { StatementTextRenderer } from "./StatementTextRenderer.js";
|
|
3
|
+
export declare class ExpressionRenderer {
|
|
4
|
+
private readonly text;
|
|
5
|
+
constructor(text: StatementTextRenderer);
|
|
6
|
+
render: (expression: IExpression) => string;
|
|
7
|
+
private wrap;
|
|
8
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import type { ITableConstraint } from "./ITableConstraint.js";
|
|
2
|
+
export declare const ReferentialAction: {
|
|
3
|
+
readonly Cascade: "cascade";
|
|
4
|
+
readonly SetNull: "setNull";
|
|
5
|
+
readonly SetDefault: "setDefault";
|
|
6
|
+
readonly Restrict: "restrict";
|
|
7
|
+
readonly NoAction: "noAction";
|
|
8
|
+
};
|
|
9
|
+
export type ReferentialAction = (typeof ReferentialAction)[keyof typeof ReferentialAction];
|
|
10
|
+
export declare class ForeignKey implements ITableConstraint {
|
|
11
|
+
readonly name: string;
|
|
12
|
+
readonly columns: string[];
|
|
13
|
+
readonly referencesTable: string;
|
|
14
|
+
readonly referencesColumns: string[];
|
|
15
|
+
readonly onDelete?: ReferentialAction | undefined;
|
|
16
|
+
readonly onUpdate?: ReferentialAction | undefined;
|
|
17
|
+
readonly kind: "foreignKey";
|
|
18
|
+
constructor(name: string, columns: string[], referencesTable: string, referencesColumns: string[], onDelete?: ReferentialAction | undefined, onUpdate?: ReferentialAction | undefined);
|
|
19
|
+
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import type { BulkDeleteStatement } from "./BulkDeleteStatement.js";
|
|
2
|
+
import type { BulkInsertStatement } from "./BulkInsertStatement.js";
|
|
3
|
+
import type { BulkUpdateStatement } from "./BulkUpdateStatement.js";
|
|
4
|
+
import type { CreateIndexStatement } from "./CreateIndexStatement.js";
|
|
5
|
+
import type { CreateTableStatement } from "./CreateTableStatement.js";
|
|
6
|
+
import type { DeleteStatement } from "./DeleteStatement.js";
|
|
7
|
+
import type { ExecuteStoredProcedureStatement } from "./ExecuteStoredProcedureStatement.js";
|
|
8
|
+
import type { InsertStatement } from "./InsertStatement.js";
|
|
9
|
+
import type { ReturnStatement } from "./ReturnStatement.js";
|
|
10
|
+
import type { SelectInsertedIdStatement } from "./SelectInsertedIdStatement.js";
|
|
11
|
+
import type { SelectStatement } from "./SelectStatement.js";
|
|
12
|
+
import type { UpdateStatement } from "./UpdateStatement.js";
|
|
13
|
+
export interface IStatementVisitor {
|
|
14
|
+
visit(statement: SelectStatement): string;
|
|
15
|
+
visit(statement: InsertStatement): string;
|
|
16
|
+
visit(statement: UpdateStatement): string;
|
|
17
|
+
visit(statement: DeleteStatement): string;
|
|
18
|
+
visit(statement: CreateTableStatement): string;
|
|
19
|
+
visit(statement: CreateIndexStatement): string;
|
|
20
|
+
visit(statement: ExecuteStoredProcedureStatement): string;
|
|
21
|
+
visit(statement: ReturnStatement): string;
|
|
22
|
+
visit(statement: SelectInsertedIdStatement): string;
|
|
23
|
+
visit(statement: BulkInsertStatement): string;
|
|
24
|
+
visit(statement: BulkUpdateStatement): string;
|
|
25
|
+
visit(statement: BulkDeleteStatement): string;
|
|
26
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { Field } from "../builders/Field.js";
|
|
2
|
+
import type { IInsertStatement } from "./IInsertStatement.js";
|
|
3
|
+
import type { IStatementVisitor } from "./IStatementVisitor.js";
|
|
4
|
+
export declare class InsertStatement implements IInsertStatement {
|
|
5
|
+
readonly table: string;
|
|
6
|
+
readonly fields: Field[];
|
|
7
|
+
constructor(table: string, fields: Field[]);
|
|
8
|
+
accept: (visitor: IStatementVisitor) => string;
|
|
9
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { IExpression } from "./IExpression.js";
|
|
2
|
+
export type JoinKind = "inner" | "left" | "right" | "full" | "cross";
|
|
3
|
+
export type Join = {
|
|
4
|
+
kind: JoinKind;
|
|
5
|
+
table: string;
|
|
6
|
+
on?: IExpression;
|
|
7
|
+
};
|
|
8
|
+
export declare const Join: {
|
|
9
|
+
inner: (table: string, left: string, right: string) => Join;
|
|
10
|
+
left: (table: string, left: string, right: string) => Join;
|
|
11
|
+
right: (table: string, left: string, right: string) => Join;
|
|
12
|
+
full: (table: string, left: string, right: string) => Join;
|
|
13
|
+
cross: (table: string) => Join;
|
|
14
|
+
};
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
import type { Cell } from "../converters/Cell.js";
|
|
2
|
+
import { Condition } from "./Condition.js";
|
|
3
|
+
import type { IExpression } from "./IExpression.js";
|
|
4
|
+
export declare abstract class Operator extends Condition {
|
|
5
|
+
}
|
|
6
|
+
export declare namespace Operator {
|
|
7
|
+
class Equals extends Operator {
|
|
8
|
+
readonly left: IExpression;
|
|
9
|
+
readonly right: IExpression;
|
|
10
|
+
constructor(field: string, value: Cell);
|
|
11
|
+
constructor(left: IExpression, right: IExpression);
|
|
12
|
+
}
|
|
13
|
+
class NotEquals extends Operator {
|
|
14
|
+
readonly left: IExpression;
|
|
15
|
+
readonly right: IExpression;
|
|
16
|
+
constructor(field: string, value: Cell);
|
|
17
|
+
constructor(left: IExpression, right: IExpression);
|
|
18
|
+
}
|
|
19
|
+
class GreaterThan extends Operator {
|
|
20
|
+
readonly left: IExpression;
|
|
21
|
+
readonly right: IExpression;
|
|
22
|
+
constructor(field: string, value: Cell);
|
|
23
|
+
constructor(left: IExpression, right: IExpression);
|
|
24
|
+
}
|
|
25
|
+
class LessThan extends Operator {
|
|
26
|
+
readonly left: IExpression;
|
|
27
|
+
readonly right: IExpression;
|
|
28
|
+
constructor(field: string, value: Cell);
|
|
29
|
+
constructor(left: IExpression, right: IExpression);
|
|
30
|
+
}
|
|
31
|
+
class GreaterThanOrEqual extends Operator {
|
|
32
|
+
readonly left: IExpression;
|
|
33
|
+
readonly right: IExpression;
|
|
34
|
+
constructor(field: string, value: Cell);
|
|
35
|
+
constructor(left: IExpression, right: IExpression);
|
|
36
|
+
}
|
|
37
|
+
class LessThanOrEqual extends Operator {
|
|
38
|
+
readonly left: IExpression;
|
|
39
|
+
readonly right: IExpression;
|
|
40
|
+
constructor(field: string, value: Cell);
|
|
41
|
+
constructor(left: IExpression, right: IExpression);
|
|
42
|
+
}
|
|
43
|
+
class And extends Operator {
|
|
44
|
+
readonly left: IExpression;
|
|
45
|
+
readonly right: IExpression;
|
|
46
|
+
constructor(left: IExpression, right: IExpression);
|
|
47
|
+
}
|
|
48
|
+
class Or extends Operator {
|
|
49
|
+
readonly left: IExpression;
|
|
50
|
+
readonly right: IExpression;
|
|
51
|
+
constructor(left: IExpression, right: IExpression);
|
|
52
|
+
}
|
|
53
|
+
class In extends Operator {
|
|
54
|
+
readonly left: IExpression;
|
|
55
|
+
readonly right: IExpression;
|
|
56
|
+
constructor(field: string, values: Cell[]);
|
|
57
|
+
constructor(left: IExpression, right: IExpression);
|
|
58
|
+
}
|
|
59
|
+
class Not extends Operator {
|
|
60
|
+
readonly argument: IExpression;
|
|
61
|
+
constructor(argument: IExpression);
|
|
62
|
+
}
|
|
63
|
+
class IsNull extends Operator {
|
|
64
|
+
readonly argument: IExpression;
|
|
65
|
+
constructor(argument: IExpression);
|
|
66
|
+
}
|
|
67
|
+
class IsNotNull extends Operator {
|
|
68
|
+
readonly argument: IExpression;
|
|
69
|
+
constructor(argument: IExpression);
|
|
70
|
+
}
|
|
71
|
+
class Like extends Operator {
|
|
72
|
+
readonly left: IExpression;
|
|
73
|
+
readonly right: IExpression;
|
|
74
|
+
constructor(field: string, value: Cell);
|
|
75
|
+
constructor(left: IExpression, right: IExpression);
|
|
76
|
+
}
|
|
77
|
+
class NotLike extends Operator {
|
|
78
|
+
readonly left: IExpression;
|
|
79
|
+
readonly right: IExpression;
|
|
80
|
+
constructor(field: string, value: Cell);
|
|
81
|
+
constructor(left: IExpression, right: IExpression);
|
|
82
|
+
}
|
|
83
|
+
class Between extends Operator {
|
|
84
|
+
readonly value: IExpression;
|
|
85
|
+
readonly low: IExpression;
|
|
86
|
+
readonly high: IExpression;
|
|
87
|
+
constructor(field: string, low: Cell, high: Cell);
|
|
88
|
+
constructor(value: IExpression, low: IExpression, high: IExpression);
|
|
89
|
+
}
|
|
90
|
+
class NotBetween extends Operator {
|
|
91
|
+
readonly value: IExpression;
|
|
92
|
+
readonly low: IExpression;
|
|
93
|
+
readonly high: IExpression;
|
|
94
|
+
constructor(field: string, low: Cell, high: Cell);
|
|
95
|
+
constructor(value: IExpression, low: IExpression, high: IExpression);
|
|
96
|
+
}
|
|
97
|
+
class NotIn extends Operator {
|
|
98
|
+
readonly left: IExpression;
|
|
99
|
+
readonly right: IExpression;
|
|
100
|
+
constructor(field: string, values: Cell[]);
|
|
101
|
+
constructor(left: IExpression, right: IExpression);
|
|
102
|
+
}
|
|
103
|
+
class Exists extends Operator {
|
|
104
|
+
readonly argument: IExpression;
|
|
105
|
+
constructor(argument: IExpression);
|
|
106
|
+
}
|
|
107
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export type SortDirection = "asc" | "desc";
|
|
2
|
+
export type OrderBy = {
|
|
3
|
+
column: string;
|
|
4
|
+
direction: SortDirection;
|
|
5
|
+
};
|
|
6
|
+
export declare const OrderBy: {
|
|
7
|
+
asc: (column: string) => OrderBy;
|
|
8
|
+
desc: (column: string) => OrderBy;
|
|
9
|
+
};
|
|
10
|
+
export declare const orderText: (order: OrderBy) => string;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { Parameter } from "../Parameter.js";
|
|
2
|
+
import type { IReturnStatement } from "./IReturnStatement.js";
|
|
3
|
+
import type { IStatementVisitor } from "./IStatementVisitor.js";
|
|
4
|
+
export declare class ReturnStatement implements IReturnStatement {
|
|
5
|
+
readonly name: string;
|
|
6
|
+
readonly parameters: Parameter[];
|
|
7
|
+
constructor(name: string, parameters: Parameter[]);
|
|
8
|
+
accept: (visitor: IStatementVisitor) => string;
|
|
9
|
+
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { IStatement } from "./IStatement.js";
|
|
2
|
+
import type { IStatementVisitor } from "./IStatementVisitor.js";
|
|
3
|
+
export declare class SelectInsertedIdStatement implements IStatement {
|
|
4
|
+
readonly table: string;
|
|
5
|
+
readonly column: string;
|
|
6
|
+
constructor(table: string, column: string);
|
|
7
|
+
accept: (visitor: IStatementVisitor) => string;
|
|
8
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import type { ISelectStatement } from "./ISelectStatement.js";
|
|
2
|
+
import type { IStatementVisitor } from "./IStatementVisitor.js";
|
|
3
|
+
import type { IWhere } from "./IWhere.js";
|
|
4
|
+
import type { Join } from "./Join.js";
|
|
5
|
+
import type { OrderBy } from "./OrderBy.js";
|
|
6
|
+
import type { SelectStatementOptions } from "./SelectStatementOptions.js";
|
|
7
|
+
export declare class SelectStatement implements ISelectStatement {
|
|
8
|
+
readonly where?: IWhere;
|
|
9
|
+
readonly distinct: boolean;
|
|
10
|
+
readonly table?: string;
|
|
11
|
+
readonly fields: string[];
|
|
12
|
+
readonly joins: Join[];
|
|
13
|
+
readonly groupBy: string[];
|
|
14
|
+
readonly having?: IWhere;
|
|
15
|
+
readonly orderBy: OrderBy[];
|
|
16
|
+
readonly limit?: number;
|
|
17
|
+
readonly offset?: number;
|
|
18
|
+
constructor(options: SelectStatementOptions);
|
|
19
|
+
accept: (visitor: IStatementVisitor) => string;
|
|
20
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { Join } from "./Join.js";
|
|
2
|
+
import type { IWhere } from "./IWhere.js";
|
|
3
|
+
import type { OrderBy } from "./OrderBy.js";
|
|
4
|
+
export type SelectStatementOptions = {
|
|
5
|
+
table?: string;
|
|
6
|
+
fields?: string[];
|
|
7
|
+
distinct?: boolean;
|
|
8
|
+
where?: IWhere;
|
|
9
|
+
joins?: Join[];
|
|
10
|
+
groupBy?: string[];
|
|
11
|
+
having?: IWhere;
|
|
12
|
+
orderBy?: OrderBy[];
|
|
13
|
+
limit?: number;
|
|
14
|
+
offset?: number;
|
|
15
|
+
};
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import type { IWhere } from "./IWhere.js";
|
|
2
|
+
import type { Join, JoinKind } from "./Join.js";
|
|
3
|
+
import { type OrderBy } from "./OrderBy.js";
|
|
4
|
+
import type { SelectStatement } from "./SelectStatement.js";
|
|
5
|
+
import type { StatementTextRenderer } from "./StatementTextRenderer.js";
|
|
6
|
+
export declare class SelectStatementTextRenderer {
|
|
7
|
+
private readonly text;
|
|
8
|
+
constructor(text: StatementTextRenderer);
|
|
9
|
+
render(statement: SelectStatement): string;
|
|
10
|
+
protected whereSql(where?: IWhere): string;
|
|
11
|
+
protected havingSql(having?: IWhere): string;
|
|
12
|
+
protected groupSql(columns?: string[]): string;
|
|
13
|
+
protected orderSql(order?: OrderBy[]): string;
|
|
14
|
+
protected limit(limit?: number): string;
|
|
15
|
+
protected offset(offset?: number): string;
|
|
16
|
+
protected bound(keyword: string, value?: number): string;
|
|
17
|
+
protected joinSql(joins?: Join[]): string;
|
|
18
|
+
protected keyword(kind: JoinKind): string;
|
|
19
|
+
}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import type { IStatementVisitor } from "./IStatementVisitor.js";
|
|
2
|
+
import { BulkDeleteStatement } from "./BulkDeleteStatement.js";
|
|
3
|
+
import { BulkInsertStatement } from "./BulkInsertStatement.js";
|
|
4
|
+
import { BulkUpdateStatement } from "./BulkUpdateStatement.js";
|
|
5
|
+
import { CreateIndexStatement } from "./CreateIndexStatement.js";
|
|
6
|
+
import { CreateTableStatement } from "./CreateTableStatement.js";
|
|
7
|
+
import { DeleteStatement } from "./DeleteStatement.js";
|
|
8
|
+
import { ExecuteStoredProcedureStatement } from "./ExecuteStoredProcedureStatement.js";
|
|
9
|
+
import { InsertStatement } from "./InsertStatement.js";
|
|
10
|
+
import { ReturnStatement } from "./ReturnStatement.js";
|
|
11
|
+
import { SelectInsertedIdStatement } from "./SelectInsertedIdStatement.js";
|
|
12
|
+
import { SelectStatement } from "./SelectStatement.js";
|
|
13
|
+
import type { StatementTextRenderer } from "./StatementTextRenderer.js";
|
|
14
|
+
import { UpdateStatement } from "./UpdateStatement.js";
|
|
15
|
+
export declare class StatementRenderer implements IStatementVisitor {
|
|
16
|
+
protected readonly text: StatementTextRenderer;
|
|
17
|
+
constructor(text: StatementTextRenderer);
|
|
18
|
+
visit(statement: SelectStatement): string;
|
|
19
|
+
visit(statement: InsertStatement): string;
|
|
20
|
+
visit(statement: UpdateStatement): string;
|
|
21
|
+
visit(statement: DeleteStatement): string;
|
|
22
|
+
visit(statement: CreateTableStatement): string;
|
|
23
|
+
visit(statement: CreateIndexStatement): string;
|
|
24
|
+
visit(statement: ExecuteStoredProcedureStatement): string;
|
|
25
|
+
visit(statement: ReturnStatement): string;
|
|
26
|
+
visit(statement: SelectInsertedIdStatement): string;
|
|
27
|
+
visit(statement: BulkInsertStatement): string;
|
|
28
|
+
visit(statement: BulkUpdateStatement): string;
|
|
29
|
+
visit(statement: BulkDeleteStatement): string;
|
|
30
|
+
protected visitSelect(statement: SelectStatement): string;
|
|
31
|
+
protected visitInsert(statement: InsertStatement): string;
|
|
32
|
+
protected visitUpdate(statement: UpdateStatement): string;
|
|
33
|
+
protected visitDelete(statement: DeleteStatement): string;
|
|
34
|
+
protected visitCreateTable(statement: CreateTableStatement): string;
|
|
35
|
+
protected visitCreateIndex(statement: CreateIndexStatement): string;
|
|
36
|
+
protected visitExecuteStoredProcedure(statement: ExecuteStoredProcedureStatement): string;
|
|
37
|
+
protected visitReturn(statement: ReturnStatement): string;
|
|
38
|
+
protected visitSelectInsertedId(statement: SelectInsertedIdStatement): string;
|
|
39
|
+
protected visitBulkInsert(statement: BulkInsertStatement): string;
|
|
40
|
+
protected visitBulkUpdate(statement: BulkUpdateStatement): string;
|
|
41
|
+
protected visitBulkDelete(statement: BulkDeleteStatement): string;
|
|
42
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { ICondition } from "./ICondition.js";
|
|
2
|
+
import type { IConditionVisitor } from "./IConditionVisitor.js";
|
|
3
|
+
import type { IStatement } from "./IStatement.js";
|
|
4
|
+
import type { IStatementVisitor } from "./IStatementVisitor.js";
|
|
5
|
+
import { ConditionRenderer } from "./ConditionRenderer.js";
|
|
6
|
+
import { ExpressionRenderer } from "./ExpressionRenderer.js";
|
|
7
|
+
import { StatementRenderer } from "./StatementRenderer.js";
|
|
8
|
+
export declare class StatementTextRenderer {
|
|
9
|
+
protected readonly statements: IStatementVisitor;
|
|
10
|
+
protected readonly conditions: IConditionVisitor;
|
|
11
|
+
constructor(statements?: (text: StatementTextRenderer) => StatementRenderer, conditions?: (expressions: ExpressionRenderer) => ConditionRenderer, expressions?: (text: StatementTextRenderer) => ExpressionRenderer);
|
|
12
|
+
render(statement: IStatement): string;
|
|
13
|
+
render(condition: ICondition): string;
|
|
14
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { Field } from "../builders/Field.js";
|
|
2
|
+
import type { Parameter } from "../Parameter.js";
|
|
3
|
+
import type { IStatementVisitor } from "./IStatementVisitor.js";
|
|
4
|
+
import type { IUpdateStatement } from "./IUpdateStatement.js";
|
|
5
|
+
import type { IWhere } from "./IWhere.js";
|
|
6
|
+
export declare class UpdateStatement implements IUpdateStatement {
|
|
7
|
+
readonly table: string;
|
|
8
|
+
readonly fields: Field[];
|
|
9
|
+
readonly where?: IWhere;
|
|
10
|
+
constructor(table: string, fields: Field[], where?: IWhere);
|
|
11
|
+
accept: (visitor: IStatementVisitor) => string;
|
|
12
|
+
get parameters(): Parameter[];
|
|
13
|
+
static parameterList: (fields: Field[], where?: IWhere) => Parameter[];
|
|
14
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { Field } from "../builders/Field.js";
|
|
2
|
+
import type { Parameter } from "../Parameter.js";
|
|
3
|
+
import type { IWhere } from "./IWhere.js";
|
|
4
|
+
import type { StatementTextRenderer } from "./StatementTextRenderer.js";
|
|
5
|
+
import type { UpdateStatement } from "./UpdateStatement.js";
|
|
6
|
+
export declare class UpdateStatementTextRenderer {
|
|
7
|
+
private readonly text;
|
|
8
|
+
constructor(text: StatementTextRenderer);
|
|
9
|
+
render(statement: UpdateStatement): string;
|
|
10
|
+
compose(sql: string, where: IWhere | undefined, fields: Field[]): {
|
|
11
|
+
text: string;
|
|
12
|
+
parameters: Parameter[];
|
|
13
|
+
};
|
|
14
|
+
}
|