@simplysm/sd-cli 7.3.4 → 10.0.21
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.eslintrc.cjs +18 -0
- package/dist/SdLinter.d.ts +5 -0
- package/dist/SdLinter.js.map +1 -0
- package/dist/SdLinter.mjs +37 -0
- package/dist/SdTsIncrementalBuilder.d.ts +16 -0
- package/dist/SdTsIncrementalBuilder.js.map +1 -0
- package/dist/SdTsIncrementalBuilder.mjs +54 -0
- package/dist/build-cluster.js.map +1 -0
- package/dist/build-cluster.mjs +124 -0
- package/dist/builders/SdCliClientBuilder.d.ts +13 -0
- package/dist/builders/SdCliClientBuilder.js.map +1 -0
- package/dist/builders/SdCliClientBuilder.mjs +167 -0
- package/dist/builders/SdCliJsLibLinter.d.ts +14 -0
- package/dist/builders/SdCliJsLibLinter.js.map +1 -0
- package/dist/builders/SdCliJsLibLinter.mjs +60 -0
- package/dist/builders/SdCliServerBuilder.d.ts +14 -0
- package/dist/builders/SdCliServerBuilder.js.map +1 -0
- package/dist/builders/SdCliServerBuilder.mjs +171 -0
- package/dist/builders/SdCliTsLibBuilder.d.ts +13 -0
- package/dist/builders/SdCliTsLibBuilder.js.map +1 -0
- package/dist/builders/SdCliTsLibBuilder.mjs +75 -0
- package/dist/commons.d.ts +20 -110
- package/dist/commons.js.map +1 -0
- package/dist/commons.mjs +1 -1
- package/dist/entry/SdCliProject.d.ts +29 -0
- package/dist/entry/SdCliProject.js.map +1 -0
- package/dist/entry/SdCliProject.mjs +353 -0
- package/dist/sd-cli.js.map +1 -0
- package/dist/sd-cli.mjs +119 -0
- package/dist/sd-core-common/src/decorators/NotifyPropertyChange.d.ts +20 -0
- package/dist/sd-core-common/src/decorators/NotifyPropertyChange.js.map +1 -0
- package/dist/sd-core-common/src/decorators/NotifyPropertyChange.mjs +12 -0
- package/dist/sd-core-common/src/decorators/PropertyGetSetDecoratorBase.d.ts +43 -0
- package/dist/sd-core-common/src/decorators/PropertyGetSetDecoratorBase.js.map +1 -0
- package/dist/sd-core-common/src/decorators/PropertyGetSetDecoratorBase.mjs +54 -0
- package/dist/sd-core-common/src/decorators/PropertyValidate.d.ts +16 -0
- package/dist/sd-core-common/src/decorators/PropertyValidate.js.map +1 -0
- package/dist/sd-core-common/src/decorators/PropertyValidate.mjs +26 -0
- package/dist/sd-core-common/src/decorators/decorator-return-types.d.ts +14 -0
- package/dist/sd-core-common/src/decorators/decorator-return-types.js.map +1 -0
- package/dist/sd-core-common/src/decorators/decorator-return-types.mjs +2 -0
- package/dist/sd-core-common/src/errors/ArgumentError.d.ts +10 -0
- package/dist/sd-core-common/src/errors/ArgumentError.js.map +1 -0
- package/dist/sd-core-common/src/errors/ArgumentError.mjs +13 -0
- package/dist/sd-core-common/src/errors/NeverEntryError.d.ts +10 -0
- package/dist/sd-core-common/src/errors/NeverEntryError.js.map +1 -0
- package/dist/sd-core-common/src/errors/NeverEntryError.mjs +13 -0
- package/dist/sd-core-common/src/errors/NotImplementError.d.ts +10 -0
- package/dist/sd-core-common/src/errors/NotImplementError.js.map +1 -0
- package/dist/sd-core-common/src/errors/NotImplementError.mjs +13 -0
- package/dist/sd-core-common/src/errors/SdError.d.ts +23 -0
- package/dist/sd-core-common/src/errors/SdError.js.map +1 -0
- package/dist/sd-core-common/src/errors/SdError.mjs +40 -0
- package/dist/sd-core-common/src/errors/TimeoutError.d.ts +11 -0
- package/dist/sd-core-common/src/errors/TimeoutError.js.map +1 -0
- package/dist/sd-core-common/src/errors/TimeoutError.mjs +16 -0
- package/dist/sd-core-common/src/extensions/ArrayExtension.d.ts +147 -0
- package/dist/sd-core-common/src/extensions/ArrayExtension.js.map +1 -0
- package/dist/sd-core-common/src/extensions/ArrayExtension.mjs +448 -0
- package/dist/sd-core-common/src/extensions/MapExtension.d.ts +4 -0
- package/dist/sd-core-common/src/extensions/MapExtension.js.map +1 -0
- package/dist/sd-core-common/src/extensions/MapExtension.mjs +15 -0
- package/dist/sd-core-common/src/extensions/SetExtension.d.ts +3 -0
- package/dist/sd-core-common/src/extensions/SetExtension.js.map +1 -0
- package/dist/sd-core-common/src/extensions/SetExtension.mjs +10 -0
- package/dist/sd-core-common/src/index.d.ts +32 -0
- package/dist/sd-core-common/src/index.js.map +1 -0
- package/dist/sd-core-common/src/index.mjs +33 -0
- package/dist/sd-core-common/src/types/DateOnly.d.ts +135 -0
- package/dist/sd-core-common/src/types/DateOnly.js.map +1 -0
- package/dist/sd-core-common/src/types/DateOnly.mjs +220 -0
- package/dist/sd-core-common/src/types/DateTime.d.ts +42 -0
- package/dist/sd-core-common/src/types/DateTime.js.map +1 -0
- package/dist/sd-core-common/src/types/DateTime.mjs +156 -0
- package/dist/sd-core-common/src/types/DeepPartial.d.ts +3 -0
- package/dist/sd-core-common/src/types/DeepPartial.js.map +1 -0
- package/dist/sd-core-common/src/types/DeepPartial.mjs +2 -0
- package/dist/sd-core-common/src/types/ObjectSet.d.ts +4 -0
- package/dist/sd-core-common/src/types/ObjectSet.js.map +1 -0
- package/dist/sd-core-common/src/types/ObjectSet.mjs +18 -0
- package/dist/sd-core-common/src/types/Time.d.ts +27 -0
- package/dist/sd-core-common/src/types/Time.js.map +1 -0
- package/dist/sd-core-common/src/types/Time.mjs +108 -0
- package/dist/sd-core-common/src/types/Type.d.ts +7 -0
- package/dist/sd-core-common/src/types/Type.js.map +1 -0
- package/dist/sd-core-common/src/types/Type.mjs +2 -0
- package/dist/sd-core-common/src/types/UnwrappedType.d.ts +1 -0
- package/dist/sd-core-common/src/types/UnwrappedType.js.map +1 -0
- package/dist/sd-core-common/src/types/UnwrappedType.mjs +2 -0
- package/dist/sd-core-common/src/types/Uuid.d.ts +8 -0
- package/dist/sd-core-common/src/types/Uuid.js.map +1 -0
- package/dist/sd-core-common/src/types/Uuid.mjs +26 -0
- package/dist/sd-core-common/src/types/WrappedType.d.ts +1 -0
- package/dist/sd-core-common/src/types/WrappedType.js.map +1 -0
- package/dist/sd-core-common/src/types/WrappedType.mjs +2 -0
- package/dist/sd-core-common/src/utils/DateTimeFormatUtil.d.ts +12 -0
- package/dist/sd-core-common/src/utils/DateTimeFormatUtil.js.map +1 -0
- package/dist/sd-core-common/src/utils/DateTimeFormatUtil.mjs +67 -0
- package/dist/sd-core-common/src/utils/FunctionQueue.d.ts +8 -0
- package/dist/sd-core-common/src/utils/FunctionQueue.js.map +1 -0
- package/dist/sd-core-common/src/utils/FunctionQueue.mjs +46 -0
- package/dist/sd-core-common/src/utils/FunctionUtil.d.ts +6 -0
- package/dist/sd-core-common/src/utils/FunctionUtil.js.map +1 -0
- package/dist/sd-core-common/src/utils/FunctionUtil.mjs +31 -0
- package/dist/sd-core-common/src/utils/JsonConvert.d.ts +8 -0
- package/dist/sd-core-common/src/utils/JsonConvert.js.map +1 -0
- package/dist/sd-core-common/src/utils/JsonConvert.mjs +78 -0
- package/dist/sd-core-common/src/utils/MathUtil.d.ts +3 -0
- package/dist/sd-core-common/src/utils/MathUtil.js.map +1 -0
- package/dist/sd-core-common/src/utils/MathUtil.mjs +6 -0
- package/dist/sd-core-common/src/utils/NumberUtil.d.ts +6 -0
- package/dist/sd-core-common/src/utils/NumberUtil.js.map +1 -0
- package/dist/sd-core-common/src/utils/NumberUtil.mjs +32 -0
- package/dist/sd-core-common/src/utils/ObjectUtil.d.ts +80 -0
- package/dist/sd-core-common/src/utils/ObjectUtil.js.map +1 -0
- package/dist/sd-core-common/src/utils/ObjectUtil.mjs +452 -0
- package/dist/sd-core-common/src/utils/SdSyncEventEmitter.d.ts +6 -0
- package/dist/sd-core-common/src/utils/SdSyncEventEmitter.js.map +1 -0
- package/dist/sd-core-common/src/utils/SdSyncEventEmitter.mjs +27 -0
- package/dist/sd-core-common/src/utils/StringUtil.d.ts +8 -0
- package/dist/sd-core-common/src/utils/StringUtil.js.map +1 -0
- package/dist/sd-core-common/src/utils/StringUtil.mjs +77 -0
- package/dist/sd-core-common/src/utils/Wait.d.ts +4 -0
- package/dist/sd-core-common/src/utils/Wait.js.map +1 -0
- package/dist/sd-core-common/src/utils/Wait.mjs +23 -0
- package/dist/sd-core-node/src/index.d.ts +6 -0
- package/dist/sd-core-node/src/index.js.map +1 -0
- package/dist/sd-core-node/src/index.mjs +7 -0
- package/dist/sd-core-node/src/utils/FsUtil.d.ts +44 -0
- package/dist/sd-core-node/src/utils/FsUtil.js.map +1 -0
- package/dist/sd-core-node/src/utils/FsUtil.mjs +493 -0
- package/dist/sd-core-node/src/utils/Logger.d.ts +91 -0
- package/dist/sd-core-node/src/utils/Logger.js.map +1 -0
- package/dist/sd-core-node/src/utils/Logger.mjs +185 -0
- package/dist/sd-core-node/src/utils/PathUtil.d.ts +6 -0
- package/dist/sd-core-node/src/utils/PathUtil.js.map +1 -0
- package/dist/sd-core-node/src/utils/PathUtil.mjs +24 -0
- package/dist/sd-core-node/src/utils/SdFsWatcher.d.ts +15 -0
- package/dist/sd-core-node/src/utils/SdFsWatcher.js.map +1 -0
- package/dist/sd-core-node/src/utils/SdFsWatcher.mjs +43 -0
- package/dist/sd-core-node/src/utils/SdProcess.d.ts +5 -0
- package/dist/sd-core-node/src/utils/SdProcess.js.map +1 -0
- package/dist/sd-core-node/src/utils/SdProcess.mjs +36 -0
- package/dist/sd-orm-common/src/CaseQueryHelper.d.ts +12 -0
- package/dist/sd-orm-common/src/CaseQueryHelper.js.map +1 -0
- package/dist/sd-orm-common/src/CaseQueryHelper.mjs +19 -0
- package/dist/sd-orm-common/src/CaseWhenQueryHelper.d.ts +12 -0
- package/dist/sd-orm-common/src/CaseWhenQueryHelper.js.map +1 -0
- package/dist/sd-orm-common/src/CaseWhenQueryHelper.mjs +20 -0
- package/dist/sd-orm-common/src/DbContext.d.ts +81 -0
- package/dist/sd-orm-common/src/DbContext.js.map +1 -0
- package/dist/sd-orm-common/src/DbContext.mjs +635 -0
- package/dist/sd-orm-common/src/IDbConnection.d.ts +15 -0
- package/dist/sd-orm-common/src/IDbConnection.js.map +1 -0
- package/dist/sd-orm-common/src/IDbConnection.mjs +2 -0
- package/dist/sd-orm-common/src/IDbContextExecutor.d.ts +17 -0
- package/dist/sd-orm-common/src/IDbContextExecutor.js.map +1 -0
- package/dist/sd-orm-common/src/IDbContextExecutor.mjs +2 -0
- package/dist/sd-orm-common/src/IDbMigration.d.ts +4 -0
- package/dist/sd-orm-common/src/IDbMigration.js.map +1 -0
- package/dist/sd-orm-common/src/IDbMigration.mjs +2 -0
- package/dist/sd-orm-common/src/QueryBuilder.d.ts +48 -0
- package/dist/sd-orm-common/src/QueryBuilder.js.map +1 -0
- package/dist/sd-orm-common/src/QueryBuilder.mjs +1022 -0
- package/dist/sd-orm-common/src/QueryHelper.d.ts +75 -0
- package/dist/sd-orm-common/src/QueryHelper.js.map +1 -0
- package/dist/sd-orm-common/src/QueryHelper.mjs +627 -0
- package/dist/sd-orm-common/src/QueryUnit.d.ts +10 -0
- package/dist/sd-orm-common/src/QueryUnit.js.map +1 -0
- package/dist/sd-orm-common/src/QueryUnit.mjs +16 -0
- package/dist/sd-orm-common/src/Queryable.d.ts +105 -0
- package/dist/sd-orm-common/src/Queryable.js.map +1 -0
- package/dist/sd-orm-common/src/Queryable.mjs +1375 -0
- package/dist/sd-orm-common/src/SdOrmDataType.d.ts +21 -0
- package/dist/sd-orm-common/src/SdOrmDataType.js.map +1 -0
- package/dist/sd-orm-common/src/SdOrmDataType.mjs +2 -0
- package/dist/sd-orm-common/src/commons.d.ts +400 -0
- package/dist/sd-orm-common/src/commons.js.map +1 -0
- package/dist/sd-orm-common/src/commons.mjs +8 -0
- package/dist/sd-orm-common/src/decorators.d.ts +29 -0
- package/dist/sd-orm-common/src/decorators.js.map +1 -0
- package/dist/sd-orm-common/src/decorators.mjs +89 -0
- package/dist/sd-orm-common/src/index.d.ts +17 -0
- package/dist/sd-orm-common/src/index.js.map +1 -0
- package/dist/sd-orm-common/src/index.mjs +18 -0
- package/dist/sd-orm-common/src/models/SystemMigration.d.ts +3 -0
- package/dist/sd-orm-common/src/models/SystemMigration.js.map +1 -0
- package/dist/sd-orm-common/src/models/SystemMigration.mjs +13 -0
- package/dist/sd-orm-common/src/utils/DbDefinitionUtil.d.ts +14 -0
- package/dist/sd-orm-common/src/utils/DbDefinitionUtil.js.map +1 -0
- package/dist/sd-orm-common/src/utils/DbDefinitionUtil.mjs +66 -0
- package/dist/sd-orm-common/src/utils/SdOrmUtil.d.ts +8 -0
- package/dist/sd-orm-common/src/utils/SdOrmUtil.js.map +1 -0
- package/dist/sd-orm-common/src/utils/SdOrmUtil.mjs +248 -0
- package/dist/sd-orm-node/src/DbConnectionFactory.d.ts +4 -0
- package/dist/sd-orm-node/src/DbConnectionFactory.js.map +1 -0
- package/dist/sd-orm-node/src/DbConnectionFactory.mjs +17 -0
- package/dist/sd-orm-node/src/NodeDbContextExecutor.d.ts +19 -0
- package/dist/sd-orm-node/src/NodeDbContextExecutor.js.map +1 -0
- package/dist/sd-orm-node/src/NodeDbContextExecutor.mjs +71 -0
- package/dist/sd-orm-node/src/SdOrm.d.ts +10 -0
- package/dist/sd-orm-node/src/SdOrm.js.map +1 -0
- package/dist/sd-orm-node/src/SdOrm.mjs +25 -0
- package/dist/sd-orm-node/src/index.d.ts +4 -0
- package/dist/sd-orm-node/src/index.js.map +1 -0
- package/dist/sd-orm-node/src/index.mjs +5 -0
- package/dist/sd-orm-node-mssql/src/MssqlDbConnection.d.ts +25 -0
- package/dist/sd-orm-node-mssql/src/MssqlDbConnection.js.map +1 -0
- package/dist/sd-orm-node-mssql/src/MssqlDbConnection.mjs +321 -0
- package/dist/sd-orm-node-mssql/src/index.d.ts +2 -0
- package/dist/sd-orm-node-mssql/src/index.js.map +1 -0
- package/dist/sd-orm-node-mssql/src/index.mjs +3 -0
- package/dist/sd-orm-node-mysql/src/MysqlDbConnection.d.ts +22 -0
- package/dist/sd-orm-node-mysql/src/MysqlDbConnection.js.map +1 -0
- package/dist/sd-orm-node-mysql/src/MysqlDbConnection.mjs +200 -0
- package/dist/sd-orm-node-mysql/src/index.d.ts +2 -0
- package/dist/sd-orm-node-mysql/src/index.js.map +1 -0
- package/dist/sd-orm-node-mysql/src/index.mjs +3 -0
- package/dist/sd-orm-node-sqlite/src/SqliteDbConnection.d.ts +22 -0
- package/dist/sd-orm-node-sqlite/src/SqliteDbConnection.js.map +1 -0
- package/dist/sd-orm-node-sqlite/src/SqliteDbConnection.mjs +172 -0
- package/dist/sd-orm-node-sqlite/src/index.d.ts +2 -0
- package/dist/sd-orm-node-sqlite/src/index.js.map +1 -0
- package/dist/sd-orm-node-sqlite/src/index.mjs +3 -0
- package/dist/sd-service-common/src/commons-orm.d.ts +4 -0
- package/dist/sd-service-common/src/commons-orm.js.map +1 -0
- package/dist/sd-service-common/src/commons-orm.mjs +2 -0
- package/dist/sd-service-common/src/commons-smtp.d.ts +29 -0
- package/dist/sd-service-common/src/commons-smtp.js.map +1 -0
- package/dist/sd-service-common/src/commons-smtp.mjs +2 -0
- package/dist/sd-service-common/src/commons.d.ts +57 -0
- package/dist/sd-service-common/src/commons.js.map +1 -0
- package/dist/sd-service-common/src/commons.mjs +3 -0
- package/dist/sd-service-common/src/index.d.ts +3 -0
- package/dist/sd-service-common/src/index.js.map +1 -0
- package/dist/sd-service-common/src/index.mjs +4 -0
- package/dist/sd-service-server/src/ApiServiceError.d.ts +12 -0
- package/dist/sd-service-server/src/ApiServiceError.js.map +1 -0
- package/dist/sd-service-server/src/ApiServiceError.mjs +15 -0
- package/dist/sd-service-server/src/SdServiceServer.d.ts +39 -0
- package/dist/sd-service-server/src/SdServiceServer.js.map +1 -0
- package/dist/sd-service-server/src/SdServiceServer.mjs +513 -0
- package/dist/sd-service-server/src/commons.d.ts +23 -0
- package/dist/sd-service-server/src/commons.js.map +1 -0
- package/dist/sd-service-server/src/commons.mjs +3 -0
- package/dist/sd-service-server/src/index.d.ts +8 -0
- package/dist/sd-service-server/src/index.js.map +1 -0
- package/dist/sd-service-server/src/index.mjs +9 -0
- package/dist/sd-service-server/src/services/SdAutoUpdateService.d.ts +4 -0
- package/dist/sd-service-server/src/services/SdAutoUpdateService.js.map +1 -0
- package/dist/sd-service-server/src/services/SdAutoUpdateService.mjs +20 -0
- package/dist/sd-service-server/src/services/SdCryptoService.d.ts +7 -0
- package/dist/sd-service-server/src/services/SdCryptoService.js.map +1 -0
- package/dist/sd-service-server/src/services/SdCryptoService.mjs +39 -0
- package/dist/sd-service-server/src/services/SdOrmService.d.ts +22 -0
- package/dist/sd-service-server/src/services/SdOrmService.js.map +1 -0
- package/dist/sd-service-server/src/services/SdOrmService.mjs +115 -0
- package/dist/sd-service-server/src/services/SdSmtpClientService.d.ts +6 -0
- package/dist/sd-service-server/src/services/SdSmtpClientService.js.map +1 -0
- package/dist/sd-service-server/src/services/SdSmtpClientService.mjs +44 -0
- package/dist/sd-service-server/src/utils/SdServiceServerConfigUtil.d.ts +4 -0
- package/dist/sd-service-server/src/utils/SdServiceServerConfigUtil.js.map +1 -0
- package/dist/sd-service-server/src/utils/SdServiceServerConfigUtil.mjs +36 -0
- package/dist/server-worker.d.ts +1 -0
- package/dist/server-worker.js.map +1 -0
- package/dist/server-worker.mjs +36 -0
- package/dist/utils/SdCliBuildResultUtil.d.ts +1 -4
- package/dist/utils/SdCliBuildResultUtil.js.map +1 -0
- package/dist/utils/SdCliBuildResultUtil.mjs +3 -29
- package/dist/utils/SdCliConfigUtil.js.map +1 -0
- package/dist/utils/SdCliConfigUtil.mjs +1 -1
- package/package.json +14 -56
- package/src/SdLinter.ts +41 -0
- package/src/SdTsIncrementalBuilder.ts +75 -0
- package/src/build-cluster.ts +133 -0
- package/src/builders/SdCliClientBuilder.ts +189 -0
- package/src/builders/SdCliJsLibLinter.ts +72 -0
- package/src/builders/SdCliServerBuilder.ts +191 -0
- package/src/builders/SdCliTsLibBuilder.ts +96 -0
- package/src/commons.ts +21 -112
- package/src/entry/SdCliProject.ts +467 -0
- package/src/sd-cli.ts +136 -0
- package/src/server-worker.ts +45 -0
- package/src/utils/SdCliBuildResultUtil.ts +5 -38
- package/tsconfig.json +9 -0
- package/README.md +0 -105
- package/assets/client-files/assets/icons/icon-128x128.png +0 -0
- package/assets/client-files/assets/icons/icon-144x144.png +0 -0
- package/assets/client-files/assets/icons/icon-152x152.png +0 -0
- package/assets/client-files/assets/icons/icon-192x192.png +0 -0
- package/assets/client-files/assets/icons/icon-384x384.png +0 -0
- package/assets/client-files/assets/icons/icon-512x512.png +0 -0
- package/assets/client-files/assets/icons/icon-72x72.png +0 -0
- package/assets/client-files/assets/icons/icon-96x96.png +0 -0
- package/assets/client-files/favicon.ico +0 -0
- package/dist/SdCliBuildResultError.d.ts +0 -5
- package/dist/SdCliBuildResultError.mjs +0 -8
- package/dist/bin/sd-cli.d.ts +0 -2
- package/dist/bin/sd-cli.mjs +0 -410
- package/dist/build-tool/SdCliCacheCompilerHost.d.ts +0 -10
- package/dist/build-tool/SdCliCacheCompilerHost.mjs +0 -51
- package/dist/build-tool/SdCliCordova.d.ts +0 -16
- package/dist/build-tool/SdCliCordova.mjs +0 -212
- package/dist/build-tool/SdCliElectron.d.ts +0 -9
- package/dist/build-tool/SdCliElectron.mjs +0 -72
- package/dist/build-tool/SdCliGithubApi.d.ts +0 -13
- package/dist/build-tool/SdCliGithubApi.mjs +0 -92
- package/dist/build-tool/SdCliIndexFileGenerator.d.ts +0 -13
- package/dist/build-tool/SdCliIndexFileGenerator.mjs +0 -62
- package/dist/build-tool/SdCliNgCacheCompilerHost.d.ts +0 -12
- package/dist/build-tool/SdCliNgCacheCompilerHost.mjs +0 -43
- package/dist/build-tool/SdCliPackageLinter.d.ts +0 -8
- package/dist/build-tool/SdCliPackageLinter.mjs +0 -62
- package/dist/builder/SdCliClientBuilder.d.ts +0 -26
- package/dist/builder/SdCliClientBuilder.mjs +0 -769
- package/dist/builder/SdCliJsLibBuilder.d.ts +0 -14
- package/dist/builder/SdCliJsLibBuilder.mjs +0 -54
- package/dist/builder/SdCliServerBuilder.d.ts +0 -28
- package/dist/builder/SdCliServerBuilder.mjs +0 -482
- package/dist/builder/SdCliTsLibBuilder.d.ts +0 -35
- package/dist/builder/SdCliTsLibBuilder.mjs +0 -317
- package/dist/entry-points/SdCliFileCrypto.d.ts +0 -7
- package/dist/entry-points/SdCliFileCrypto.mjs +0 -72
- package/dist/entry-points/SdCliLocalUpdate.d.ts +0 -13
- package/dist/entry-points/SdCliLocalUpdate.mjs +0 -100
- package/dist/entry-points/SdCliPrepare.d.ts +0 -5
- package/dist/entry-points/SdCliPrepare.mjs +0 -86
- package/dist/entry-points/SdCliProject.d.ts +0 -34
- package/dist/entry-points/SdCliProject.mjs +0 -416
- package/dist/entry-points/SdCliProjectGenerator.d.ts +0 -44
- package/dist/entry-points/SdCliProjectGenerator.mjs +0 -326
- package/dist/entry-points/file/base/fc_package_eslintrc.d.ts +0 -3
- package/dist/entry-points/file/base/fc_package_eslintrc.mjs +0 -31
- package/dist/entry-points/file/base/fc_package_npmconfig.d.ts +0 -9
- package/dist/entry-points/file/base/fc_package_npmconfig.mjs +0 -32
- package/dist/entry-points/file/base/fc_package_tsconfig.d.ts +0 -5
- package/dist/entry-points/file/base/fc_package_tsconfig.mjs +0 -13
- package/dist/entry-points/file/client/fc_package_AppModule.d.ts +0 -1
- package/dist/entry-points/file/client/fc_package_AppModule.mjs +0 -37
- package/dist/entry-points/file/client/fc_package_AppPage.d.ts +0 -1
- package/dist/entry-points/file/client/fc_package_AppPage.mjs +0 -14
- package/dist/entry-points/file/client/fc_package_Page.d.ts +0 -4
- package/dist/entry-points/file/client/fc_package_Page.mjs +0 -19
- package/dist/entry-points/file/client/fc_package_client_main.d.ts +0 -1
- package/dist/entry-points/file/client/fc_package_client_main.mjs +0 -19
- package/dist/entry-points/file/client/fc_package_index.d.ts +0 -3
- package/dist/entry-points/file/client/fc_package_index.mjs +0 -88
- package/dist/entry-points/file/client/fc_package_manifest.d.ts +0 -5
- package/dist/entry-points/file/client/fc_package_manifest.mjs +0 -54
- package/dist/entry-points/file/client/fc_package_polyfills.d.ts +0 -1
- package/dist/entry-points/file/client/fc_package_polyfills.mjs +0 -11
- package/dist/entry-points/file/client/fc_package_styles.d.ts +0 -1
- package/dist/entry-points/file/client/fc_package_styles.mjs +0 -7
- package/dist/entry-points/file/db/fc_package_DbContext.d.ts +0 -3
- package/dist/entry-points/file/db/fc_package_DbContext.mjs +0 -14
- package/dist/entry-points/file/db/fc_package_DbModel.d.ts +0 -4
- package/dist/entry-points/file/db/fc_package_DbModel.mjs +0 -12
- package/dist/entry-points/file/project/fc_project_editor_config.d.ts +0 -1
- package/dist/entry-points/file/project/fc_project_editor_config.mjs +0 -22
- package/dist/entry-points/file/project/fc_project_eslintrc.d.ts +0 -1
- package/dist/entry-points/file/project/fc_project_eslintrc.mjs +0 -30
- package/dist/entry-points/file/project/fc_project_gitattributes.d.ts +0 -1
- package/dist/entry-points/file/project/fc_project_gitattributes.mjs +0 -6
- package/dist/entry-points/file/project/fc_project_gitignore.d.ts +0 -1
- package/dist/entry-points/file/project/fc_project_gitignore.mjs +0 -27
- package/dist/entry-points/file/project/fc_project_npmconfig.d.ts +0 -7
- package/dist/entry-points/file/project/fc_project_npmconfig.mjs +0 -37
- package/dist/entry-points/file/project/fc_project_readme.d.ts +0 -3
- package/dist/entry-points/file/project/fc_project_readme.mjs +0 -13
- package/dist/entry-points/file/project/fc_project_simplysm.d.ts +0 -1
- package/dist/entry-points/file/project/fc_project_simplysm.mjs +0 -2
- package/dist/entry-points/file/project/fc_project_tsconfig.d.ts +0 -1
- package/dist/entry-points/file/project/fc_project_tsconfig.mjs +0 -25
- package/dist/entry-points/file/server/fc_package_server_main.d.ts +0 -5
- package/dist/entry-points/file/server/fc_package_server_main.mjs +0 -60
- package/dist/index.d.ts +0 -54
- package/dist/index.mjs +0 -55
- package/dist/ng-tools/SdCliNgModuleGenerator.d.ts +0 -29
- package/dist/ng-tools/SdCliNgModuleGenerator.mjs +0 -502
- package/dist/ng-tools/babel/SdCliBbFileMetadata.d.ts +0 -25
- package/dist/ng-tools/babel/SdCliBbFileMetadata.mjs +0 -539
- package/dist/ng-tools/babel/SdCliBbRootMetadata.d.ts +0 -23
- package/dist/ng-tools/babel/SdCliBbRootMetadata.mjs +0 -247
- package/dist/ng-tools/babel/SdCliBbUtil.d.ts +0 -5
- package/dist/ng-tools/babel/SdCliBbUtil.mjs +0 -14
- package/dist/ng-tools/babel/TSdCliBbNgMetadata.d.ts +0 -42
- package/dist/ng-tools/babel/TSdCliBbNgMetadata.mjs +0 -216
- package/dist/ng-tools/babel/TSdCliBbTypeMetadata.d.ts +0 -55
- package/dist/ng-tools/babel/TSdCliBbTypeMetadata.mjs +0 -151
- package/dist/ng-tools/commons.d.ts +0 -9
- package/dist/ng-tools/commons.mjs +0 -2
- package/dist/ng-tools/typescript/SdCliTsFileMetadata.d.ts +0 -61
- package/dist/ng-tools/typescript/SdCliTsFileMetadata.mjs +0 -325
- package/dist/ng-tools/typescript/SdCliTsRootMetadata.d.ts +0 -8
- package/dist/ng-tools/typescript/SdCliTsRootMetadata.mjs +0 -28
- package/dist/ng-tools/typescript/SdCliTsUtil.d.ts +0 -5
- package/dist/ng-tools/typescript/SdCliTsUtil.mjs +0 -28
- package/dist/packages/SdCliPackage.d.ts +0 -22
- package/dist/packages/SdCliPackage.mjs +0 -206
- package/dist/utils/SdCliNpmConfigUtil.d.ts +0 -7
- package/dist/utils/SdCliNpmConfigUtil.mjs +0 -15
- package/dist/worker/build-worker.mjs +0 -67
- package/dist/worker/server-worker.mjs +0 -67
- package/docs/client-add-page.md +0 -8
- package/docs/client-router.md +0 -85
- package/docs/client-sw.md +0 -101
- package/docs/conf-orm.md +0 -81
- package/docs/conf-usage.md +0 -5
- package/docs/lib-local-update.md +0 -50
- package/docs/lib-ts-paths.md +0 -25
- package/lib/cordova-entry.js +0 -22
- package/src/SdCliBuildResultError.ts +0 -9
- package/src/bin/sd-cli.ts +0 -493
- package/src/build-tool/SdCliCacheCompilerHost.ts +0 -79
- package/src/build-tool/SdCliCordova.ts +0 -263
- package/src/build-tool/SdCliElectron.ts +0 -85
- package/src/build-tool/SdCliGithubApi.ts +0 -111
- package/src/build-tool/SdCliIndexFileGenerator.ts +0 -79
- package/src/build-tool/SdCliNgCacheCompilerHost.ts +0 -58
- package/src/build-tool/SdCliPackageLinter.ts +0 -74
- package/src/builder/SdCliClientBuilder.ts +0 -879
- package/src/builder/SdCliJsLibBuilder.ts +0 -70
- package/src/builder/SdCliServerBuilder.ts +0 -552
- package/src/builder/SdCliTsLibBuilder.ts +0 -450
- package/src/entry-points/SdCliFileCrypto.ts +0 -87
- package/src/entry-points/SdCliLocalUpdate.ts +0 -121
- package/src/entry-points/SdCliPrepare.ts +0 -86
- package/src/entry-points/SdCliProject.ts +0 -491
- package/src/entry-points/SdCliProjectGenerator.ts +0 -402
- package/src/entry-points/file/base/fc_package_eslintrc.ts +0 -30
- package/src/entry-points/file/base/fc_package_npmconfig.ts +0 -43
- package/src/entry-points/file/base/fc_package_tsconfig.ts +0 -12
- package/src/entry-points/file/client/fc_package_AppModule.ts +0 -36
- package/src/entry-points/file/client/fc_package_AppPage.ts +0 -13
- package/src/entry-points/file/client/fc_package_Page.ts +0 -19
- package/src/entry-points/file/client/fc_package_client_main.ts +0 -18
- package/src/entry-points/file/client/fc_package_index.ts +0 -87
- package/src/entry-points/file/client/fc_package_manifest.ts +0 -53
- package/src/entry-points/file/client/fc_package_polyfills.ts +0 -10
- package/src/entry-points/file/client/fc_package_styles.ts +0 -6
- package/src/entry-points/file/db/fc_package_DbContext.ts +0 -14
- package/src/entry-points/file/db/fc_package_DbModel.ts +0 -11
- package/src/entry-points/file/project/fc_project_editor_config.ts +0 -21
- package/src/entry-points/file/project/fc_project_eslintrc.ts +0 -29
- package/src/entry-points/file/project/fc_project_gitattributes.ts +0 -5
- package/src/entry-points/file/project/fc_project_gitignore.ts +0 -26
- package/src/entry-points/file/project/fc_project_npmconfig.ts +0 -36
- package/src/entry-points/file/project/fc_project_readme.ts +0 -12
- package/src/entry-points/file/project/fc_project_simplysm.ts +0 -1
- package/src/entry-points/file/project/fc_project_tsconfig.ts +0 -24
- package/src/entry-points/file/server/fc_package_server_main.ts +0 -62
- package/src/index.ts +0 -54
- package/src/ng-tools/SdCliNgModuleGenerator.ts +0 -672
- package/src/ng-tools/babel/SdCliBbFileMetadata.ts +0 -629
- package/src/ng-tools/babel/SdCliBbRootMetadata.ts +0 -292
- package/src/ng-tools/babel/SdCliBbUtil.ts +0 -15
- package/src/ng-tools/babel/TSdCliBbNgMetadata.ts +0 -251
- package/src/ng-tools/babel/TSdCliBbTypeMetadata.ts +0 -212
- package/src/ng-tools/commons.ts +0 -3
- package/src/ng-tools/typescript/SdCliTsFileMetadata.ts +0 -384
- package/src/ng-tools/typescript/SdCliTsRootMetadata.ts +0 -32
- package/src/ng-tools/typescript/SdCliTsUtil.ts +0 -29
- package/src/packages/SdCliPackage.ts +0 -259
- package/src/utils/SdCliNpmConfigUtil.ts +0 -16
- package/src/worker/build-worker.ts +0 -73
- package/src/worker/server-worker.ts +0 -72
- /package/dist/{worker/build-worker.d.ts → build-cluster.d.ts} +0 -0
- /package/dist/{worker/server-worker.d.ts → sd-cli.d.ts} +0 -0
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
import { DbContext } from "./DbContext";
|
|
2
|
+
import { Type, UnwrappedType } from "@simplysm/sd-core-common";
|
|
3
|
+
import { IDeleteQueryDef, IInsertIfNotExistsQueryDef, IInsertQueryDef, IQueryableDef, IQueryTableNameDef, ISelectQueryDef, ITableDef, IUpdateQueryDef, IUpsertQueryDef, TEntity, TEntityUnwrap, TEntityValue, TEntityValueOrQueryableOrArray, TIncludeEntity, TInsertObject, TQueryBuilderValue, TQueryValue, TSelectEntity, TUpdateObject } from "./commons";
|
|
4
|
+
export declare class Queryable<D extends DbContext, T> {
|
|
5
|
+
readonly db: D;
|
|
6
|
+
T?: T;
|
|
7
|
+
readonly tableType?: Type<T>;
|
|
8
|
+
private readonly _as?;
|
|
9
|
+
readonly tableDef?: ITableDef;
|
|
10
|
+
private readonly _entity;
|
|
11
|
+
private readonly _isCustomEntity;
|
|
12
|
+
private readonly _def;
|
|
13
|
+
get tableName(): string;
|
|
14
|
+
hasMultiJoin: boolean;
|
|
15
|
+
get tableDescription(): string;
|
|
16
|
+
get tableNameDef(): IQueryTableNameDef;
|
|
17
|
+
constructor(db: D, cloneQueryable: Queryable<D, T>);
|
|
18
|
+
constructor(db: D, cloneQueryable: Queryable<D, any>, entity: TEntity<T>);
|
|
19
|
+
constructor(db: D, tableType: Type<T>, as?: string);
|
|
20
|
+
constructor(db: D, tableType: Type<T> | undefined, as: string | undefined, entity: TEntity<T>, defs: IQueryableDef);
|
|
21
|
+
static union<ND extends DbContext, NT>(qrs: Queryable<ND, NT>[], as?: string): Queryable<ND, NT>;
|
|
22
|
+
lock(): Queryable<D, T>;
|
|
23
|
+
select<A, B extends TEntityUnwrap<A>>(fwd: (entity: TEntity<T>) => A): Queryable<D, B>;
|
|
24
|
+
select<R>(fwd: (entity: TEntity<T>) => TSelectEntity<R>): Queryable<D, R>;
|
|
25
|
+
selectByType<A>(tableType: Type<A>): Queryable<D, A>;
|
|
26
|
+
ofType<A>(): Queryable<D, A>;
|
|
27
|
+
where(predicate: (entity: TEntity<T>) => TEntityValueOrQueryableOrArray<D, any>[]): Queryable<D, T>;
|
|
28
|
+
distinct(): Queryable<D, T>;
|
|
29
|
+
top(count: number): Queryable<D, T>;
|
|
30
|
+
orderBy(arg1: ((entity: TEntity<T>) => TEntityValue<TQueryValue>) | string, desc?: boolean): Queryable<D, T>;
|
|
31
|
+
clearOrderBy(): Queryable<D, T>;
|
|
32
|
+
limit(skip: number, take: number): Queryable<D, T>;
|
|
33
|
+
sample(rowCount: number): Queryable<D, T>;
|
|
34
|
+
pivot<V extends TQueryValue, P extends string>(valueFwd: ((entity: TEntity<T>) => TEntityValue<V>), valueDupFwd: ((value: TEntityValue<V>) => TEntityValue<V>), emptyValue: V, pivotFwd: ((entity: TEntity<T>) => TEntityValue<any>), pivotKeys: P[]): Queryable<D, T & Record<P, V>>;
|
|
35
|
+
unpivot<VC extends string, PC extends string, RT extends TQueryValue>(valueColumn: VC, pivotColumn: PC, pivotKeys: string[], resultType: Type<RT>): Queryable<D, T & Record<PC, string> & Record<VC, UnwrappedType<RT> | undefined>>;
|
|
36
|
+
groupBy(fwd: (entity: TEntity<T>) => TEntityValue<TQueryValue>[]): Queryable<D, T>;
|
|
37
|
+
having(predicate: (entity: TEntity<T>) => TEntityValueOrQueryableOrArray<D, any>[]): Queryable<D, T>;
|
|
38
|
+
join<A extends string, J, R>(joinTypeOrQrs: Type<J> | Queryable<D, J>[], as: A, fwd: (qr: Queryable<D, J>, en: TEntity<T>) => Queryable<D, R>): Queryable<D, T & {
|
|
39
|
+
[K in A]: R[];
|
|
40
|
+
}>;
|
|
41
|
+
joinSingle<A extends string, J, R>(joinTypeOrQrs: Type<J> | Queryable<D, J>[], as: A, fwd: (qr: Queryable<D, J>, en: TEntity<T>) => Queryable<D, R>): Queryable<D, T & {
|
|
42
|
+
[K in A]: Partial<R>;
|
|
43
|
+
}>;
|
|
44
|
+
includeByTableChainedName(tableChainedName: string): Queryable<D, T>;
|
|
45
|
+
include(arg: (entity: TIncludeEntity<T>) => (TIncludeEntity<any> | TIncludeEntity<any>[])): Queryable<D, T>;
|
|
46
|
+
private _include;
|
|
47
|
+
search(fwd: (entity: TEntity<T>) => TEntityValue<String | string | undefined>[], searchText: string): Queryable<D, T>;
|
|
48
|
+
searchEveryStringFields(searchText: string): Queryable<D, T>;
|
|
49
|
+
wrap(): Queryable<D, T>;
|
|
50
|
+
wrap<R extends Partial<T>>(tableType: Type<R>): Queryable<D, R>;
|
|
51
|
+
getSelectQueryDef(): ISelectQueryDef & {
|
|
52
|
+
select: Record<string, TQueryBuilderValue>;
|
|
53
|
+
};
|
|
54
|
+
private _getParentEntity;
|
|
55
|
+
getInsertQueryDef(obj: TInsertObject<T>, outputColumns: (keyof T)[] | undefined): IInsertQueryDef;
|
|
56
|
+
getUpdateQueryDef(obj: TUpdateObject<T>, outputColumns: (keyof T)[] | undefined): IUpdateQueryDef;
|
|
57
|
+
getInsertIfNotExistsQueryDef(insertObj: TInsertObject<T>, outputColumns: (keyof T)[] | undefined): IInsertIfNotExistsQueryDef;
|
|
58
|
+
getUpsertQueryDef<U extends TUpdateObject<T>>(updateObj: U, insertObj: TInsertObject<T> | undefined, outputColumns: (keyof T)[] | undefined): IUpsertQueryDef;
|
|
59
|
+
getDeleteQueryDef(outputColumns: (keyof T)[] | undefined): IDeleteQueryDef;
|
|
60
|
+
insertIntoAsync(tableType: Type<T>): Promise<void>;
|
|
61
|
+
resultAsync(): Promise<T[]>;
|
|
62
|
+
singleAsync(): Promise<T | undefined>;
|
|
63
|
+
countAsync(): Promise<number>;
|
|
64
|
+
existsAsync(): Promise<boolean>;
|
|
65
|
+
bulkInsertAsync(arg: TInsertObject<T> | (TInsertObject<T>[])): Promise<void>;
|
|
66
|
+
insertAsync(records: TInsertObject<T>[]): Promise<void>;
|
|
67
|
+
insertAsync<OK extends keyof T>(records: TInsertObject<T>[], outputColumns: OK[]): Promise<{
|
|
68
|
+
[K in OK]: T[K];
|
|
69
|
+
}[]>;
|
|
70
|
+
insertWithoutFkCheckAsync(records: TInsertObject<T>[]): Promise<void>;
|
|
71
|
+
insertWithoutFkCheckAsync<OK extends keyof T>(records: TInsertObject<T>[], outputColumns: OK[]): Promise<{
|
|
72
|
+
[K in OK]: T[K];
|
|
73
|
+
}[]>;
|
|
74
|
+
private _insertAsync;
|
|
75
|
+
insertPrepare(records: TInsertObject<T>[]): void;
|
|
76
|
+
insertWithoutFkCheckPrepare(records: TInsertObject<T>[]): void;
|
|
77
|
+
private _insertPrepare;
|
|
78
|
+
private _getInsertDefs;
|
|
79
|
+
updateAsync(recordFwd: (entity: TEntity<T>) => (TUpdateObject<T> | Promise<TUpdateObject<T>>)): Promise<void>;
|
|
80
|
+
updateAsync<OK extends keyof T>(recordFwd: (entity: TEntity<T>) => (TUpdateObject<T> | Promise<TUpdateObject<T>>), outputColumns: OK[]): Promise<{
|
|
81
|
+
[K in OK]: T[K];
|
|
82
|
+
}[]>;
|
|
83
|
+
updatePrepare(recordFwd: (entity: TEntity<T>) => TUpdateObject<T>): void;
|
|
84
|
+
private _getUpdateDefs;
|
|
85
|
+
deleteAsync(): Promise<void>;
|
|
86
|
+
deleteAsync<OK extends keyof T>(outputColumns: OK[]): Promise<{
|
|
87
|
+
[K in OK]: T[K];
|
|
88
|
+
}[]>;
|
|
89
|
+
deletePrepare(): void;
|
|
90
|
+
private _getDeleteDefs;
|
|
91
|
+
upsertAsync(insertFwd: (entity: TEntity<T>) => (TInsertObject<T> | Promise<TInsertObject<T>>)): Promise<void>;
|
|
92
|
+
upsertAsync<OK extends keyof T>(insertFwd: (entity: TEntity<T>) => (TInsertObject<T> | Promise<TInsertObject<T>>), outputColumns: OK[]): Promise<{
|
|
93
|
+
[K in OK]: T[K];
|
|
94
|
+
}[]>;
|
|
95
|
+
upsertAsync<U extends TUpdateObject<T>>(updateFwd: (entity: TEntity<T>) => (U | Promise<U>), insertFwd: (updateRecord: U) => (TInsertObject<T> | Promise<TInsertObject<T>>)): Promise<void>;
|
|
96
|
+
upsertAsync<U extends TUpdateObject<T>, OK extends keyof T>(updateFwd: (entity: TEntity<T>) => (U | Promise<U>), insertFwd: (updateRecord: U) => (TInsertObject<T> | Promise<TInsertObject<T>>), outputColumns: OK[]): Promise<{
|
|
97
|
+
[K in OK]: T[K];
|
|
98
|
+
}[]>;
|
|
99
|
+
upsertPrepare<U extends TUpdateObject<T>>(updateObjOrFwd: U | ((entity: TEntity<T>) => U), insertObjOrFwd?: TInsertObject<T> | ((updateRecord: U) => TInsertObject<T>)): void;
|
|
100
|
+
private _getUpsertDefs;
|
|
101
|
+
configIdentityInsert(state: "on" | "off"): void;
|
|
102
|
+
private _getParseOption;
|
|
103
|
+
private _setEntityChainValue;
|
|
104
|
+
private _getEntityChainValue;
|
|
105
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Queryable.js","sourceRoot":"","sources":["../../../../sd-orm-common/src/Queryable.ts"],"names":[],"mappings":"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"}
|