libmodulor 0.1.0 → 0.3.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/.github/ISSUE_TEMPLATE/generic-issue.md +16 -0
- package/CHANGELOG.md +30 -2
- package/LICENSE +165 -0
- package/MAINTAINERS.md +1 -0
- package/README.md +71 -1339
- package/dist/esm/app/i18n.d.ts +2 -0
- package/dist/esm/app/i18n.js +1 -0
- package/dist/esm/app/index.d.ts +8 -0
- package/dist/esm/app/index.js +5 -0
- package/dist/esm/app/installer.d.ts +4 -0
- package/dist/esm/app/installer.js +1 -0
- package/dist/esm/app/manifest.d.ts +14 -0
- package/dist/esm/app/manifest.js +1 -0
- package/dist/esm/app/workers/AppManifestLoader.d.ts +15 -0
- package/dist/esm/app/workers/AppManifestLoader.js +56 -0
- package/dist/esm/app/workers/AppSrcBrowser.d.ts +19 -0
- package/dist/esm/app/workers/AppSrcBrowser.js +59 -0
- package/dist/esm/app/workers/AppSrcFilePathBuilder.d.ts +19 -0
- package/dist/esm/app/workers/AppSrcFilePathBuilder.js +48 -0
- package/dist/esm/app/workers/AppUCsLoader.d.ts +22 -0
- package/dist/esm/app/workers/AppUCsLoader.js +65 -0
- package/dist/esm/app/workers/UCDefLoader.d.ts +15 -0
- package/dist/esm/app/workers/UCDefLoader.js +57 -0
- package/dist/esm/apps/Helper/index.d.ts +2 -0
- package/dist/esm/apps/Helper/index.js +2 -0
- package/dist/esm/apps/Helper/src/i18n.d.ts +2 -0
- package/dist/esm/apps/Helper/src/i18n.js +18 -0
- package/dist/esm/apps/Helper/src/lib/app.d.ts +6 -0
- package/dist/esm/apps/Helper/src/lib/app.js +12 -0
- package/dist/esm/apps/Helper/src/manifest.d.ts +22 -0
- package/dist/esm/apps/Helper/src/manifest.js +22 -0
- package/dist/esm/apps/Helper/src/ucds/DeleteGeneratedAppsTestsUCD.d.ts +5 -0
- package/dist/esm/apps/Helper/src/ucds/DeleteGeneratedAppsTestsUCD.js +70 -0
- package/dist/esm/apps/Helper/src/ucds/GenerateAppsTestsUCD.d.ts +12 -0
- package/dist/esm/apps/Helper/src/ucds/GenerateAppsTestsUCD.js +106 -0
- package/dist/esm/apps/Helper/src/ucds/TestAppUCD.d.ts +9 -0
- package/dist/esm/apps/Helper/src/ucds/TestAppUCD.js +103 -0
- package/dist/esm/bundlers/vite/StripUCDLifecycleServerPlugin.d.ts +2 -0
- package/dist/esm/bundlers/vite/StripUCDLifecycleServerPlugin.js +15 -0
- package/dist/esm/convention.d.ts +42 -0
- package/dist/esm/convention.js +40 -0
- package/dist/esm/dt/DataType.d.ts +68 -0
- package/dist/esm/dt/DataType.js +1 -0
- package/dist/esm/dt/DataTypes.d.ts +2 -0
- package/dist/esm/dt/DataTypes.js +68 -0
- package/dist/esm/dt/Validation.d.ts +25 -0
- package/dist/esm/dt/Validation.js +42 -0
- package/dist/esm/dt/base/TBase.d.ts +66 -0
- package/dist/esm/dt/base/TBase.js +120 -0
- package/dist/esm/dt/base/TBoolean.d.ts +10 -0
- package/dist/esm/dt/base/TBoolean.js +38 -0
- package/dist/esm/dt/base/TInt.d.ts +20 -0
- package/dist/esm/dt/base/TInt.js +53 -0
- package/dist/esm/dt/base/TNumber.d.ts +31 -0
- package/dist/esm/dt/base/TNumber.js +83 -0
- package/dist/esm/dt/base/TObject.d.ts +18 -0
- package/dist/esm/dt/base/TObject.js +66 -0
- package/dist/esm/dt/base/TString.d.ts +22 -0
- package/dist/esm/dt/base/TString.js +62 -0
- package/dist/esm/dt/base/TUInt.d.ts +12 -0
- package/dist/esm/dt/base/TUInt.js +18 -0
- package/dist/esm/dt/final/TAddress.d.ts +7 -0
- package/dist/esm/dt/final/TAddress.js +9 -0
- package/dist/esm/dt/final/TAmount.d.ts +13 -0
- package/dist/esm/dt/final/TAmount.js +27 -0
- package/dist/esm/dt/final/TApiKey.d.ts +10 -0
- package/dist/esm/dt/final/TApiKey.js +15 -0
- package/dist/esm/dt/final/TBarCode.d.ts +7 -0
- package/dist/esm/dt/final/TBarCode.js +9 -0
- package/dist/esm/dt/final/TCSS.d.ts +8 -0
- package/dist/esm/dt/final/TCSS.js +12 -0
- package/dist/esm/dt/final/TColor.d.ts +9 -0
- package/dist/esm/dt/final/TColor.js +12 -0
- package/dist/esm/dt/final/TColorRGBA.d.ts +11 -0
- package/dist/esm/dt/final/TColorRGBA.js +19 -0
- package/dist/esm/dt/final/TCompanyName.d.ts +7 -0
- package/dist/esm/dt/final/TCompanyName.js +9 -0
- package/dist/esm/dt/final/TCountryISO3166Alpha2.d.ts +10 -0
- package/dist/esm/dt/final/TCountryISO3166Alpha2.js +270 -0
- package/dist/esm/dt/final/TCurrencyISO4217.d.ts +15 -0
- package/dist/esm/dt/final/TCurrencyISO4217.js +24 -0
- package/dist/esm/dt/final/TDateISO8601.d.ts +12 -0
- package/dist/esm/dt/final/TDateISO8601.js +29 -0
- package/dist/esm/dt/final/TDateTimeFormat.d.ts +7 -0
- package/dist/esm/dt/final/TDateTimeFormat.js +9 -0
- package/dist/esm/dt/final/TDirPath.d.ts +9 -0
- package/dist/esm/dt/final/TDirPath.js +16 -0
- package/dist/esm/dt/final/TDomainName.d.ts +13 -0
- package/dist/esm/dt/final/TDomainName.js +22 -0
- package/dist/esm/dt/final/TEmail.d.ts +13 -0
- package/dist/esm/dt/final/TEmail.js +22 -0
- package/dist/esm/dt/final/TEmbeddedObject.d.ts +6 -0
- package/dist/esm/dt/final/TEmbeddedObject.js +10 -0
- package/dist/esm/dt/final/TEmoji.d.ts +7 -0
- package/dist/esm/dt/final/TEmoji.js +9 -0
- package/dist/esm/dt/final/TEncryptionKey.d.ts +10 -0
- package/dist/esm/dt/final/TEncryptionKey.js +15 -0
- package/dist/esm/dt/final/TErrorMessage.d.ts +7 -0
- package/dist/esm/dt/final/TErrorMessage.js +9 -0
- package/dist/esm/dt/final/TExternalServiceId.d.ts +7 -0
- package/dist/esm/dt/final/TExternalServiceId.js +9 -0
- package/dist/esm/dt/final/TFile.d.ts +23 -0
- package/dist/esm/dt/final/TFile.js +41 -0
- package/dist/esm/dt/final/TFileExtension.d.ts +15 -0
- package/dist/esm/dt/final/TFileExtension.js +15 -0
- package/dist/esm/dt/final/TFileMimeType.d.ts +11 -0
- package/dist/esm/dt/final/TFileMimeType.js +15 -0
- package/dist/esm/dt/final/TFileName.d.ts +7 -0
- package/dist/esm/dt/final/TFileName.js +9 -0
- package/dist/esm/dt/final/TFilePath.d.ts +9 -0
- package/dist/esm/dt/final/TFilePath.js +16 -0
- package/dist/esm/dt/final/TFreeTextLong.d.ts +8 -0
- package/dist/esm/dt/final/TFreeTextLong.js +12 -0
- package/dist/esm/dt/final/TFreeTextShort.d.ts +7 -0
- package/dist/esm/dt/final/TFreeTextShort.js +9 -0
- package/dist/esm/dt/final/TGeolocation.d.ts +12 -0
- package/dist/esm/dt/final/TGeolocation.js +20 -0
- package/dist/esm/dt/final/TGitSSHURL.d.ts +11 -0
- package/dist/esm/dt/final/TGitSSHURL.js +17 -0
- package/dist/esm/dt/final/THTML.d.ts +8 -0
- package/dist/esm/dt/final/THTML.js +12 -0
- package/dist/esm/dt/final/THTTPContentType.d.ts +9 -0
- package/dist/esm/dt/final/THTTPContentType.js +20 -0
- package/dist/esm/dt/final/THTTPMethod.d.ts +9 -0
- package/dist/esm/dt/final/THTTPMethod.js +24 -0
- package/dist/esm/dt/final/THTTPStatusNumber.d.ts +10 -0
- package/dist/esm/dt/final/THTTPStatusNumber.js +27 -0
- package/dist/esm/dt/final/THostAddress.d.ts +7 -0
- package/dist/esm/dt/final/THostAddress.js +9 -0
- package/dist/esm/dt/final/THostPort.d.ts +8 -0
- package/dist/esm/dt/final/THostPort.js +15 -0
- package/dist/esm/dt/final/TIPv4.d.ts +9 -0
- package/dist/esm/dt/final/TIPv4.js +16 -0
- package/dist/esm/dt/final/TIPv6.d.ts +9 -0
- package/dist/esm/dt/final/TIPv6.js +16 -0
- package/dist/esm/dt/final/TJSONString.d.ts +10 -0
- package/dist/esm/dt/final/TJSONString.js +25 -0
- package/dist/esm/dt/final/TJWT.d.ts +12 -0
- package/dist/esm/dt/final/TJWT.js +41 -0
- package/dist/esm/dt/final/TJavaScript.d.ts +8 -0
- package/dist/esm/dt/final/TJavaScript.js +12 -0
- package/dist/esm/dt/final/TJobTitle.d.ts +7 -0
- package/dist/esm/dt/final/TJobTitle.js +9 -0
- package/dist/esm/dt/final/TMarkdown.d.ts +8 -0
- package/dist/esm/dt/final/TMarkdown.js +12 -0
- package/dist/esm/dt/final/TNumIndex.d.ts +7 -0
- package/dist/esm/dt/final/TNumIndex.js +9 -0
- package/dist/esm/dt/final/TPassword.d.ts +10 -0
- package/dist/esm/dt/final/TPassword.js +15 -0
- package/dist/esm/dt/final/TPercentage.d.ts +10 -0
- package/dist/esm/dt/final/TPercentage.js +21 -0
- package/dist/esm/dt/final/TPersonFirstname.d.ts +9 -0
- package/dist/esm/dt/final/TPersonFirstname.js +19 -0
- package/dist/esm/dt/final/TPersonFullname.d.ts +11 -0
- package/dist/esm/dt/final/TPersonFullname.js +19 -0
- package/dist/esm/dt/final/TPersonInitials.d.ts +9 -0
- package/dist/esm/dt/final/TPersonInitials.js +19 -0
- package/dist/esm/dt/final/TPersonLastname.d.ts +9 -0
- package/dist/esm/dt/final/TPersonLastname.js +19 -0
- package/dist/esm/dt/final/TQRCode.d.ts +9 -0
- package/dist/esm/dt/final/TQRCode.js +19 -0
- package/dist/esm/dt/final/TSQLQuery.d.ts +8 -0
- package/dist/esm/dt/final/TSQLQuery.js +12 -0
- package/dist/esm/dt/final/TSSHPrivateKey.d.ts +16 -0
- package/dist/esm/dt/final/TSSHPrivateKey.js +26 -0
- package/dist/esm/dt/final/TSSHPublicKey.d.ts +13 -0
- package/dist/esm/dt/final/TSSHPublicKey.js +27 -0
- package/dist/esm/dt/final/TSearchQuery.d.ts +19 -0
- package/dist/esm/dt/final/TSearchQuery.js +23 -0
- package/dist/esm/dt/final/TSemVerVersion.d.ts +9 -0
- package/dist/esm/dt/final/TSemVerVersion.js +19 -0
- package/dist/esm/dt/final/TShellCommand.d.ts +8 -0
- package/dist/esm/dt/final/TShellCommand.js +12 -0
- package/dist/esm/dt/final/TSlug.d.ts +9 -0
- package/dist/esm/dt/final/TSlug.js +16 -0
- package/dist/esm/dt/final/TTime.d.ts +13 -0
- package/dist/esm/dt/final/TTime.js +22 -0
- package/dist/esm/dt/final/TTimestamp.d.ts +7 -0
- package/dist/esm/dt/final/TTimestamp.js +9 -0
- package/dist/esm/dt/final/TUIntDuration.d.ts +7 -0
- package/dist/esm/dt/final/TUIntDuration.js +9 -0
- package/dist/esm/dt/final/TUIntQuantity.d.ts +7 -0
- package/dist/esm/dt/final/TUIntQuantity.js +9 -0
- package/dist/esm/dt/final/TURL.d.ts +16 -0
- package/dist/esm/dt/final/TURL.js +32 -0
- package/dist/esm/dt/final/TURLPath.d.ts +7 -0
- package/dist/esm/dt/final/TURLPath.js +9 -0
- package/dist/esm/dt/final/TUUID.d.ts +9 -0
- package/dist/esm/dt/final/TUUID.js +16 -0
- package/dist/esm/dt/final/TUsername.d.ts +7 -0
- package/dist/esm/dt/final/TUsername.js +9 -0
- package/dist/esm/dt/final/TYesNo.d.ts +9 -0
- package/dist/esm/dt/final/TYesNo.js +20 -0
- package/dist/esm/dt/index.d.ts +78 -0
- package/dist/esm/dt/index.js +75 -0
- package/dist/esm/dt/targets/rn.d.ts +1 -0
- package/dist/esm/dt/targets/rn.js +1 -0
- package/dist/esm/dt/targets/web.d.ts +1 -0
- package/dist/esm/dt/targets/web.js +1 -0
- package/dist/esm/error/CustomError.d.ts +10 -0
- package/dist/esm/error/CustomError.js +13 -0
- package/dist/esm/error/ForbiddenAsNotFoundError.d.ts +6 -0
- package/dist/esm/error/ForbiddenAsNotFoundError.js +9 -0
- package/dist/esm/error/ForbiddenError.d.ts +6 -0
- package/dist/esm/error/ForbiddenError.js +9 -0
- package/dist/esm/error/IllegalArgumentError.d.ts +6 -0
- package/dist/esm/error/IllegalArgumentError.js +9 -0
- package/dist/esm/error/InternalServerError.d.ts +6 -0
- package/dist/esm/error/InternalServerError.js +9 -0
- package/dist/esm/error/NotFoundError.d.ts +6 -0
- package/dist/esm/error/NotFoundError.js +9 -0
- package/dist/esm/error/UnauthorizedError.d.ts +6 -0
- package/dist/esm/error/UnauthorizedError.js +9 -0
- package/dist/esm/error/index.d.ts +7 -0
- package/dist/esm/error/index.js +7 -0
- package/dist/esm/i18n/WordingManager.d.ts +20 -0
- package/dist/esm/i18n/WordingManager.js +109 -0
- package/dist/esm/i18n/consts.d.ts +2 -0
- package/dist/esm/i18n/consts.js +1 -0
- package/dist/esm/i18n/index.d.ts +3 -0
- package/dist/esm/i18n/index.js +2 -0
- package/dist/esm/i18n/locales/en.d.ts +2 -0
- package/dist/esm/i18n/locales/en.js +54 -0
- package/dist/esm/i18n/locales/fr.d.ts +2 -0
- package/dist/esm/i18n/locales/fr.js +54 -0
- package/dist/esm/i18n/types.d.ts +14 -0
- package/dist/esm/i18n/types.js +1 -0
- package/dist/esm/icon/Icon.d.ts +1 -0
- package/dist/esm/icon/Icon.js +1 -0
- package/dist/esm/icon/index.d.ts +1 -0
- package/dist/esm/icon/index.js +1 -0
- package/dist/esm/index.d.ts +42 -0
- package/dist/esm/index.js +42 -1
- package/dist/esm/index.node-mcp.d.ts +2 -0
- package/dist/esm/index.node-mcp.js +2 -0
- package/dist/esm/index.node-test.d.ts +3 -0
- package/dist/esm/index.node-test.js +2 -0
- package/dist/esm/index.node.d.ts +13 -0
- package/dist/esm/index.node.js +13 -0
- package/dist/esm/index.react-web-pure.d.ts +10 -0
- package/dist/esm/index.react-web-pure.js +10 -0
- package/dist/esm/index.react.d.ts +9 -0
- package/dist/esm/index.react.js +6 -0
- package/dist/esm/index.rn.d.ts +2 -0
- package/dist/esm/index.rn.js +2 -0
- package/dist/esm/index.std-jwt-manager-jose.d.ts +1 -0
- package/dist/esm/index.std-jwt-manager-jose.js +1 -0
- package/dist/esm/index.uc-data-store-knex.d.ts +1 -0
- package/dist/esm/index.uc-data-store-knex.js +1 -0
- package/dist/esm/index.vite.d.ts +1 -0
- package/dist/esm/index.vite.js +1 -0
- package/dist/esm/index.web.d.ts +5 -0
- package/dist/esm/index.web.js +5 -0
- package/dist/esm/product/i18n.d.ts +2 -0
- package/dist/esm/product/i18n.js +1 -0
- package/dist/esm/product/index.d.ts +3 -0
- package/dist/esm/product/index.js +1 -0
- package/dist/esm/product/manifest.d.ts +17 -0
- package/dist/esm/product/manifest.js +1 -0
- package/dist/esm/product/workers/ProductUCsLoader.d.ts +12 -0
- package/dist/esm/product/workers/ProductUCsLoader.js +41 -0
- package/dist/esm/products/Helper/container.d.ts +3 -0
- package/dist/esm/products/Helper/container.js +22 -0
- package/dist/esm/products/Helper/i18n.d.ts +2 -0
- package/dist/esm/products/Helper/i18n.js +10 -0
- package/dist/esm/products/Helper/index.d.ts +1 -0
- package/dist/esm/products/Helper/index.js +11 -0
- package/dist/esm/products/Helper/manifest.d.ts +1 -0
- package/dist/esm/products/Helper/manifest.js +4 -0
- package/dist/esm/std/BufferManager.d.ts +9 -0
- package/dist/esm/std/BufferManager.js +1 -0
- package/dist/esm/std/ClockManager.d.ts +7 -0
- package/dist/esm/std/ClockManager.js +1 -0
- package/dist/esm/std/CryptoManager.d.ts +20 -0
- package/dist/esm/std/CryptoManager.js +1 -0
- package/dist/esm/std/EmailManager.d.ts +25 -0
- package/dist/esm/std/EmailManager.js +1 -0
- package/dist/esm/std/EnvironmentManager.d.ts +14 -0
- package/dist/esm/std/EnvironmentManager.js +1 -0
- package/dist/esm/std/ExternalResourceInstaller.d.ts +17 -0
- package/dist/esm/std/ExternalResourceInstaller.js +37 -0
- package/dist/esm/std/ExternalResourceManager.d.ts +6 -0
- package/dist/esm/std/ExternalResourceManager.js +1 -0
- package/dist/esm/std/FSManager.d.ts +55 -0
- package/dist/esm/std/FSManager.js +6 -0
- package/dist/esm/std/FormDataBuilder.d.ts +9 -0
- package/dist/esm/std/FormDataBuilder.js +1 -0
- package/dist/esm/std/HTTPAPICallExecutor.d.ts +40 -0
- package/dist/esm/std/HTTPAPICallExecutor.js +1 -0
- package/dist/esm/std/HTTPAPICaller.d.ts +39 -0
- package/dist/esm/std/HTTPAPICaller.js +1 -0
- package/dist/esm/std/I18nManager.d.ts +14 -0
- package/dist/esm/std/I18nManager.js +1 -0
- package/dist/esm/std/JWTManager.d.ts +34 -0
- package/dist/esm/std/JWTManager.js +1 -0
- package/dist/esm/std/JobManager.d.ts +17 -0
- package/dist/esm/std/JobManager.js +1 -0
- package/dist/esm/std/Logger.d.ts +13 -0
- package/dist/esm/std/Logger.js +1 -0
- package/dist/esm/std/PromptManager.d.ts +6 -0
- package/dist/esm/std/PromptManager.js +1 -0
- package/dist/esm/std/SettingsManager.d.ts +14 -0
- package/dist/esm/std/SettingsManager.js +7 -0
- package/dist/esm/std/Worker.d.ts +3 -0
- package/dist/esm/std/Worker.js +1 -0
- package/dist/esm/std/XMLManager.d.ts +9 -0
- package/dist/esm/std/XMLManager.js +1 -0
- package/dist/esm/std/consts.d.ts +8 -0
- package/dist/esm/std/consts.js +22 -0
- package/dist/esm/std/impl/BufferLibBufferManager.d.ts +10 -0
- package/dist/esm/std/impl/BufferLibBufferManager.js +32 -0
- package/dist/esm/std/impl/ConsoleLogger.d.ts +17 -0
- package/dist/esm/std/impl/ConsoleLogger.js +77 -0
- package/dist/esm/std/impl/EnvSettingsManager.d.ts +10 -0
- package/dist/esm/std/impl/EnvSettingsManager.js +108 -0
- package/dist/esm/std/impl/FakeEmailManager.d.ts +13 -0
- package/dist/esm/std/impl/FakeEmailManager.js +29 -0
- package/dist/esm/std/impl/FakeFSManager.d.ts +23 -0
- package/dist/esm/std/impl/FakeFSManager.js +104 -0
- package/dist/esm/std/impl/FakeHTTPAPICallExecutor.d.ts +9 -0
- package/dist/esm/std/impl/FakeHTTPAPICallExecutor.js +74 -0
- package/dist/esm/std/impl/FakeJobManager.d.ts +12 -0
- package/dist/esm/std/impl/FakeJobManager.js +29 -0
- package/dist/esm/std/impl/FetchHTTPAPICallExecutor.d.ts +4 -0
- package/dist/esm/std/impl/FetchHTTPAPICallExecutor.js +16 -0
- package/dist/esm/std/impl/JoseJWTManager.d.ts +14 -0
- package/dist/esm/std/impl/JoseJWTManager.js +110 -0
- package/dist/esm/std/impl/NodeBufferManager.d.ts +9 -0
- package/dist/esm/std/impl/NodeBufferManager.js +31 -0
- package/dist/esm/std/impl/NodeCryptoManager.d.ts +13 -0
- package/dist/esm/std/impl/NodeCryptoManager.js +60 -0
- package/dist/esm/std/impl/NodeDeterministicCryptoManager.d.ts +10 -0
- package/dist/esm/std/impl/NodeDeterministicCryptoManager.js +59 -0
- package/dist/esm/std/impl/NodeEnvironmentManager.d.ts +9 -0
- package/dist/esm/std/impl/NodeEnvironmentManager.js +29 -0
- package/dist/esm/std/impl/NodeFSManager.d.ts +19 -0
- package/dist/esm/std/impl/NodeFSManager.js +126 -0
- package/dist/esm/std/impl/NodeFormDataBuilder.d.ts +4 -0
- package/dist/esm/std/impl/NodeFormDataBuilder.js +37 -0
- package/dist/esm/std/impl/NodeHTTPAPICallExecutorAgentBuilder.d.ts +7 -0
- package/dist/esm/std/impl/NodeHTTPAPICallExecutorAgentBuilder.js +35 -0
- package/dist/esm/std/impl/NodePromptManager.d.ts +4 -0
- package/dist/esm/std/impl/NodePromptManager.js +34 -0
- package/dist/esm/std/impl/NoopHTTPAPICallExecutorAgentBuilder.d.ts +4 -0
- package/dist/esm/std/impl/NoopHTTPAPICallExecutorAgentBuilder.js +16 -0
- package/dist/esm/std/impl/NoopXMLManager.d.ts +4 -0
- package/dist/esm/std/impl/NoopXMLManager.js +16 -0
- package/dist/esm/std/impl/SettingsServerClientManager.d.ts +16 -0
- package/dist/esm/std/impl/SettingsServerClientManager.js +59 -0
- package/dist/esm/std/impl/SimpleFormDataBuilder.d.ts +4 -0
- package/dist/esm/std/impl/SimpleFormDataBuilder.js +16 -0
- package/dist/esm/std/impl/SimpleHTTPAPICaller.d.ts +19 -0
- package/dist/esm/std/impl/SimpleHTTPAPICaller.js +196 -0
- package/dist/esm/std/impl/SimpleMapI18nManager.d.ts +16 -0
- package/dist/esm/std/impl/SimpleMapI18nManager.js +74 -0
- package/dist/esm/std/impl/StaticSettingsManager.d.ts +6 -0
- package/dist/esm/std/impl/StaticSettingsManager.js +28 -0
- package/dist/esm/std/impl/StdDateClockManager.d.ts +7 -0
- package/dist/esm/std/impl/StdDateClockManager.js +25 -0
- package/dist/esm/std/impl/UCDataStoreExternalResourceManager.d.ts +10 -0
- package/dist/esm/std/impl/UCDataStoreExternalResourceManager.js +37 -0
- package/dist/esm/std/impl/WebCryptoManager.d.ts +13 -0
- package/dist/esm/std/impl/WebCryptoManager.js +60 -0
- package/dist/esm/std/impl/WebFSManager.d.ts +18 -0
- package/dist/esm/std/impl/WebFSManager.js +55 -0
- package/dist/esm/std/index.d.ts +20 -0
- package/dist/esm/std/index.js +20 -0
- package/dist/esm/target/lib/cli/CLIManager.d.ts +6 -0
- package/dist/esm/target/lib/cli/CLIManager.js +1 -0
- package/dist/esm/target/lib/cli/CommandExecutor.d.ts +24 -0
- package/dist/esm/target/lib/cli/CommandExecutor.js +118 -0
- package/dist/esm/target/lib/cli/renderer.d.ts +2 -0
- package/dist/esm/target/lib/cli/renderer.js +17 -0
- package/dist/esm/target/lib/client/ServerClientManager.d.ts +27 -0
- package/dist/esm/target/lib/client/ServerClientManager.js +1 -0
- package/dist/esm/target/lib/client/consts.d.ts +2 -0
- package/dist/esm/target/lib/client/consts.js +5 -0
- package/dist/esm/target/lib/mcp-server/MCPServerBooter.d.ts +15 -0
- package/dist/esm/target/lib/mcp-server/MCPServerBooter.js +55 -0
- package/dist/esm/target/lib/react/DIContextProvider.d.ts +16 -0
- package/dist/esm/target/lib/react/DIContextProvider.js +19 -0
- package/dist/esm/target/lib/react/UCContainer.d.ts +6 -0
- package/dist/esm/target/lib/react/UCContainer.js +24 -0
- package/dist/esm/target/lib/react/UCEntrypoint.d.ts +9 -0
- package/dist/esm/target/lib/react/UCEntrypoint.js +8 -0
- package/dist/esm/target/lib/react/UCPanel.d.ts +20 -0
- package/dist/esm/target/lib/react/UCPanel.js +86 -0
- package/dist/esm/target/lib/react/entrypoint.d.ts +6 -0
- package/dist/esm/target/lib/react/entrypoint.js +1 -0
- package/dist/esm/target/lib/react/form.d.ts +10 -0
- package/dist/esm/target/lib/react/form.js +1 -0
- package/dist/esm/target/lib/react/loader.d.ts +2 -0
- package/dist/esm/target/lib/react/loader.js +1 -0
- package/dist/esm/target/lib/react/panel.d.ts +14 -0
- package/dist/esm/target/lib/react/panel.js +1 -0
- package/dist/esm/target/lib/react/touchable.d.ts +12 -0
- package/dist/esm/target/lib/react/touchable.js +1 -0
- package/dist/esm/target/lib/react/useUC.d.ts +15 -0
- package/dist/esm/target/lib/react/useUC.js +22 -0
- package/dist/esm/target/lib/react/useUCOR.d.ts +17 -0
- package/dist/esm/target/lib/react/useUCOR.js +80 -0
- package/dist/esm/target/lib/server/AuthenticationChecker.d.ts +30 -0
- package/dist/esm/target/lib/server/AuthenticationChecker.js +108 -0
- package/dist/esm/target/lib/server/BasicAuthenticationChecker.d.ts +17 -0
- package/dist/esm/target/lib/server/BasicAuthenticationChecker.js +69 -0
- package/dist/esm/target/lib/server/CSPDirectivesBuilder.d.ts +22 -0
- package/dist/esm/target/lib/server/CSPDirectivesBuilder.js +63 -0
- package/dist/esm/target/lib/server/CustomerFacingErrorBuilder.d.ts +15 -0
- package/dist/esm/target/lib/server/CustomerFacingErrorBuilder.js +42 -0
- package/dist/esm/target/lib/server/EntrypointsBuilder.d.ts +15 -0
- package/dist/esm/target/lib/server/EntrypointsBuilder.js +46 -0
- package/dist/esm/target/lib/server/JWTAuthenticationChecker.d.ts +17 -0
- package/dist/esm/target/lib/server/JWTAuthenticationChecker.js +78 -0
- package/dist/esm/target/lib/server/PrivateApiKeyAuthenticationChecker.d.ts +15 -0
- package/dist/esm/target/lib/server/PrivateApiKeyAuthenticationChecker.js +52 -0
- package/dist/esm/target/lib/server/PublicApiKeyChecker.d.ts +16 -0
- package/dist/esm/target/lib/server/PublicApiKeyChecker.js +55 -0
- package/dist/esm/target/lib/server/RequestChecker.d.ts +18 -0
- package/dist/esm/target/lib/server/RequestChecker.js +53 -0
- package/dist/esm/target/lib/server/RequestHandler.d.ts +9 -0
- package/dist/esm/target/lib/server/RequestHandler.js +1 -0
- package/dist/esm/target/lib/server/RequestLogger.d.ts +14 -0
- package/dist/esm/target/lib/server/RequestLogger.js +36 -0
- package/dist/esm/target/lib/server/ServerBooter.d.ts +24 -0
- package/dist/esm/target/lib/server/ServerBooter.js +111 -0
- package/dist/esm/target/lib/server/ServerInstaller.d.ts +10 -0
- package/dist/esm/target/lib/server/ServerInstaller.js +44 -0
- package/dist/esm/target/lib/server/ServerManager.d.ts +39 -0
- package/dist/esm/target/lib/server/ServerManager.js +1 -0
- package/dist/esm/target/lib/server/consts.d.ts +2 -0
- package/dist/esm/target/lib/server/consts.js +20 -0
- package/dist/esm/target/lib/shared.d.ts +2 -0
- package/dist/esm/target/lib/shared.js +1 -0
- package/dist/esm/target/lib/web/input.d.ts +24 -0
- package/dist/esm/target/lib/web/input.js +41 -0
- package/dist/esm/target/node-core-cli/NodeCoreCLIManager.d.ts +12 -0
- package/dist/esm/target/node-core-cli/NodeCoreCLIManager.js +93 -0
- package/dist/esm/target/node-core-cli/commands.d.ts +3 -0
- package/dist/esm/target/node-core-cli/commands.js +55 -0
- package/dist/esm/target/node-express-server/NodeExpressServerManager.d.ts +44 -0
- package/dist/esm/target/node-express-server/NodeExpressServerManager.js +184 -0
- package/dist/esm/target/node-express-server/lib/AuthCookieCreator.d.ts +21 -0
- package/dist/esm/target/node-express-server/lib/AuthCookieCreator.js +50 -0
- package/dist/esm/target/node-express-server/middlewares/AuthenticationCheckerMiddlewareBuilder.d.ts +21 -0
- package/dist/esm/target/node-express-server/middlewares/AuthenticationCheckerMiddlewareBuilder.js +66 -0
- package/dist/esm/target/node-express-server/middlewares/ErrorMiddlewareBuilder.d.ts +12 -0
- package/dist/esm/target/node-express-server/middlewares/ErrorMiddlewareBuilder.js +35 -0
- package/dist/esm/target/node-express-server/middlewares/HelmetMiddlewareBuilder.d.ts +12 -0
- package/dist/esm/target/node-express-server/middlewares/HelmetMiddlewareBuilder.js +39 -0
- package/dist/esm/target/node-express-server/middlewares/PublicApiKeyCheckerMiddlewareBuilder.d.ts +18 -0
- package/dist/esm/target/node-express-server/middlewares/PublicApiKeyCheckerMiddlewareBuilder.js +49 -0
- package/dist/esm/target/node-express-server/middlewares/RequestCheckerMiddlewareBuilder.d.ts +12 -0
- package/dist/esm/target/node-express-server/middlewares/RequestCheckerMiddlewareBuilder.js +41 -0
- package/dist/esm/target/node-express-server/middlewares/RequestHandlerMiddlewareBuilder.d.ts +23 -0
- package/dist/esm/target/node-express-server/middlewares/RequestHandlerMiddlewareBuilder.js +151 -0
- package/dist/esm/target/node-express-server/middlewares/RequestLoggerMiddlewareBuilder.d.ts +13 -0
- package/dist/esm/target/node-express-server/middlewares/RequestLoggerMiddlewareBuilder.js +45 -0
- package/dist/esm/target/node-mcp-server/NodeLocalStdioMCPServerManager.d.ts +32 -0
- package/dist/esm/target/node-mcp-server/NodeLocalStdioMCPServerManager.js +155 -0
- package/dist/esm/target/node-mcp-server/funcs.d.ts +7 -0
- package/dist/esm/target/node-mcp-server/funcs.js +45 -0
- package/dist/esm/target/node-mcp-server/types.d.ts +19 -0
- package/dist/esm/target/node-mcp-server/types.js +1 -0
- package/dist/esm/target/react-web-pure/UCAutoExecLoader.d.ts +2 -0
- package/dist/esm/target/react-web-pure/UCAutoExecLoader.js +4 -0
- package/dist/esm/target/react-web-pure/UCEntrypointTouchable.d.ts +4 -0
- package/dist/esm/target/react-web-pure/UCEntrypointTouchable.js +4 -0
- package/dist/esm/target/react-web-pure/UCExecTouchable.d.ts +4 -0
- package/dist/esm/target/react-web-pure/UCExecTouchable.js +7 -0
- package/dist/esm/target/react-web-pure/UCForm.d.ts +4 -0
- package/dist/esm/target/react-web-pure/UCForm.js +17 -0
- package/dist/esm/target/react-web-pure/UCFormField.d.ts +11 -0
- package/dist/esm/target/react-web-pure/UCFormField.js +32 -0
- package/dist/esm/target/react-web-pure/UCFormFieldControl.d.ts +11 -0
- package/dist/esm/target/react-web-pure/UCFormFieldControl.js +34 -0
- package/dist/esm/target/react-web-pure/UCFormFieldDesc.d.ts +7 -0
- package/dist/esm/target/react-web-pure/UCFormFieldDesc.js +10 -0
- package/dist/esm/target/react-web-pure/UCFormFieldErr.d.ts +7 -0
- package/dist/esm/target/react-web-pure/UCFormFieldErr.js +4 -0
- package/dist/esm/target/react-web-pure/UCFormFieldLabel.d.ts +7 -0
- package/dist/esm/target/react-web-pure/UCFormFieldLabel.js +8 -0
- package/dist/esm/target/react-web-pure/UCFormSubmitControl.d.ts +6 -0
- package/dist/esm/target/react-web-pure/UCFormSubmitControl.js +6 -0
- package/dist/esm/testing/AppTester.d.ts +67 -0
- package/dist/esm/testing/AppTester.js +343 -0
- package/dist/esm/testing/AppTesterConfigurator.d.ts +26 -0
- package/dist/esm/testing/AppTesterConfigurator.js +1 -0
- package/dist/esm/testing/UCDataStoreTester.d.ts +25 -0
- package/dist/esm/testing/UCDataStoreTester.js +192 -0
- package/dist/esm/testing/UCDefASTParser.d.ts +43 -0
- package/dist/esm/testing/UCDefASTParser.js +44 -0
- package/dist/esm/testing/ctx.d.ts +18 -0
- package/dist/esm/testing/ctx.js +1 -0
- package/dist/esm/testing/flow.d.ts +13 -0
- package/dist/esm/testing/flow.js +1 -0
- package/dist/esm/testing/impl/SimpleAppDocsEmitter.d.ts +7 -0
- package/dist/esm/testing/impl/SimpleAppDocsEmitter.js +161 -0
- package/dist/esm/testing/impl/SimpleAppTesterConfigurator.d.ts +14 -0
- package/dist/esm/testing/impl/SimpleAppTesterConfigurator.js +34 -0
- package/dist/esm/testing/impl/SimpleHTMLAppTestReportEmitter.d.ts +10 -0
- package/dist/esm/testing/impl/SimpleHTMLAppTestReportEmitter.js +186 -0
- package/dist/esm/testing/impl/TypeScriptLibUCDefASTParser.d.ts +24 -0
- package/dist/esm/testing/impl/TypeScriptLibUCDefASTParser.js +246 -0
- package/dist/esm/testing/impl/VitestAppTestSuiteEmitter.d.ts +7 -0
- package/dist/esm/testing/impl/VitestAppTestSuiteEmitter.js +231 -0
- package/dist/esm/testing/impl/VitestAppTestSuiteRunner.d.ts +10 -0
- package/dist/esm/testing/impl/VitestAppTestSuiteRunner.js +51 -0
- package/dist/esm/testing/impl/newNodeAppTester.d.ts +3 -0
- package/dist/esm/testing/impl/newNodeAppTester.js +67 -0
- package/dist/esm/testing/index.d.ts +13 -0
- package/dist/esm/testing/index.js +5 -0
- package/dist/esm/testing/opts.d.ts +34 -0
- package/dist/esm/testing/opts.js +50 -0
- package/dist/esm/testing/uc-auth.d.ts +7 -0
- package/dist/esm/testing/uc-auth.js +13 -0
- package/dist/esm/testing/uc-input.d.ts +11 -0
- package/dist/esm/testing/uc-input.js +52 -0
- package/dist/esm/testing/utils.d.ts +6 -0
- package/dist/esm/testing/utils.js +8 -0
- package/dist/esm/testing/workers/AppDocsEmitter.d.ts +12 -0
- package/dist/esm/testing/workers/AppDocsEmitter.js +1 -0
- package/dist/esm/testing/workers/AppTestReportEmitter.d.ts +14 -0
- package/dist/esm/testing/workers/AppTestReportEmitter.js +1 -0
- package/dist/esm/testing/workers/AppTestSuiteEmitter.d.ts +32 -0
- package/dist/esm/testing/workers/AppTestSuiteEmitter.js +1 -0
- package/dist/esm/testing/workers/AppTestSuiteRunner.d.ts +10 -0
- package/dist/esm/testing/workers/AppTestSuiteRunner.js +1 -0
- package/dist/esm/testing/workers/AppTesterCtxInitializer.d.ts +17 -0
- package/dist/esm/testing/workers/AppTesterCtxInitializer.js +57 -0
- package/dist/esm/testing/workers/UCExecutor.d.ts +45 -0
- package/dist/esm/testing/workers/UCExecutor.js +94 -0
- package/dist/esm/testing/workers/checkers/AppI18nChecker.d.ts +19 -0
- package/dist/esm/testing/workers/checkers/AppI18nChecker.js +52 -0
- package/dist/esm/testing/workers/checkers/AppIndexChecker.d.ts +16 -0
- package/dist/esm/testing/workers/checkers/AppIndexChecker.js +41 -0
- package/dist/esm/testing/workers/checkers/AppManifestChecker.d.ts +17 -0
- package/dist/esm/testing/workers/checkers/AppManifestChecker.js +34 -0
- package/dist/esm/testing/workers/checkers/UCDefChecker.d.ts +14 -0
- package/dist/esm/testing/workers/checkers/UCDefChecker.js +45 -0
- package/dist/esm/testing/workers/checkers/UCDefSourcesChecker.d.ts +27 -0
- package/dist/esm/testing/workers/checkers/UCDefSourcesChecker.js +249 -0
- package/dist/esm/uc/UC.d.ts +39 -0
- package/dist/esm/uc/UC.js +157 -0
- package/dist/esm/uc/UCInputField.d.ts +23 -0
- package/dist/esm/uc/UCInputField.js +162 -0
- package/dist/esm/uc/UCOutputField.d.ts +9 -0
- package/dist/esm/uc/UCOutputField.js +8 -0
- package/dist/esm/uc/auth/consts.d.ts +3 -0
- package/dist/esm/uc/auth/consts.js +16 -0
- package/dist/esm/uc/auth.d.ts +13 -0
- package/dist/esm/uc/auth.js +1 -0
- package/dist/esm/uc/client.d.ts +19 -0
- package/dist/esm/uc/client.js +1 -0
- package/dist/esm/uc/data-store.d.ts +71 -0
- package/dist/esm/uc/data-store.js +1 -0
- package/dist/esm/uc/data.d.ts +2 -0
- package/dist/esm/uc/data.js +1 -0
- package/dist/esm/uc/def.d.ts +33 -0
- package/dist/esm/uc/def.js +1 -0
- package/dist/esm/uc/exec.d.ts +7 -0
- package/dist/esm/uc/exec.js +11 -0
- package/dist/esm/uc/ext.d.ts +16 -0
- package/dist/esm/uc/ext.js +1 -0
- package/dist/esm/uc/file.d.ts +3 -0
- package/dist/esm/uc/file.js +1 -0
- package/dist/esm/uc/helpers/UCOutputBuilder.d.ts +18 -0
- package/dist/esm/uc/helpers/UCOutputBuilder.js +71 -0
- package/dist/esm/uc/helpers/UCOutputReader.d.ts +43 -0
- package/dist/esm/uc/helpers/UCOutputReader.js +119 -0
- package/dist/esm/uc/impl/HTTPUCTransporter.d.ts +17 -0
- package/dist/esm/uc/impl/HTTPUCTransporter.js +118 -0
- package/dist/esm/uc/impl/InMemoryUCDataStore.d.ts +22 -0
- package/dist/esm/uc/impl/InMemoryUCDataStore.js +97 -0
- package/dist/esm/uc/impl/KnexUCDataStore.d.ts +43 -0
- package/dist/esm/uc/impl/KnexUCDataStore.js +237 -0
- package/dist/esm/uc/impl/PromptUCClientConfirmManager.d.ts +16 -0
- package/dist/esm/uc/impl/PromptUCClientConfirmManager.js +51 -0
- package/dist/esm/uc/impl/SimpleUCManager.d.ts +39 -0
- package/dist/esm/uc/impl/SimpleUCManager.js +163 -0
- package/dist/esm/uc/impl/StaticUCClientConfirmManager.d.ts +12 -0
- package/dist/esm/uc/impl/StaticUCClientConfirmManager.js +34 -0
- package/dist/esm/uc/impl/WebUCClientConfirmManager.d.ts +10 -0
- package/dist/esm/uc/impl/WebUCClientConfirmManager.js +34 -0
- package/dist/esm/uc/index.d.ts +62 -0
- package/dist/esm/uc/index.js +62 -0
- package/dist/esm/uc/init.d.ts +3 -0
- package/dist/esm/uc/init.js +1 -0
- package/dist/esm/uc/input-field.d.ts +35 -0
- package/dist/esm/uc/input-field.js +73 -0
- package/dist/esm/uc/input.d.ts +12 -0
- package/dist/esm/uc/input.js +1 -0
- package/dist/esm/uc/io/input/AggregateInput.d.ts +7 -0
- package/dist/esm/uc/io/input/AggregateInput.js +11 -0
- package/dist/esm/uc/io/input/ListInput.d.ts +10 -0
- package/dist/esm/uc/io/input/ListInput.js +29 -0
- package/dist/esm/uc/io/output/AggregateOutput.d.ts +5 -0
- package/dist/esm/uc/io/output/AggregateOutput.js +13 -0
- package/dist/esm/uc/lifecycle/client/IdleClientMain.d.ts +6 -0
- package/dist/esm/uc/lifecycle/client/IdleClientMain.js +15 -0
- package/dist/esm/uc/lifecycle/client/SendClientMain.d.ts +10 -0
- package/dist/esm/uc/lifecycle/client/SendClientMain.js +28 -0
- package/dist/esm/uc/lifecycle/server/IdleServerMain.d.ts +6 -0
- package/dist/esm/uc/lifecycle/server/IdleServerMain.js +15 -0
- package/dist/esm/uc/main.d.ts +10 -0
- package/dist/esm/uc/main.js +1 -0
- package/dist/esm/uc/manager.d.ts +25 -0
- package/dist/esm/uc/manager.js +1 -0
- package/dist/esm/uc/metadata.d.ts +17 -0
- package/dist/esm/uc/metadata.js +20 -0
- package/dist/esm/uc/opi-layout.d.ts +13 -0
- package/dist/esm/uc/opi-layout.js +1 -0
- package/dist/esm/uc/opi.d.ts +6 -0
- package/dist/esm/uc/opi.js +1 -0
- package/dist/esm/uc/output-field.d.ts +8 -0
- package/dist/esm/uc/output-field.js +1 -0
- package/dist/esm/uc/output-part.d.ts +26 -0
- package/dist/esm/uc/output-part.js +1 -0
- package/dist/esm/uc/output.d.ts +19 -0
- package/dist/esm/uc/output.js +1 -0
- package/dist/esm/uc/policies/AnonymousUCPolicy.d.ts +7 -0
- package/dist/esm/uc/policies/AnonymousUCPolicy.js +22 -0
- package/dist/esm/uc/policies/AuthenticatedUCPolicy.d.ts +7 -0
- package/dist/esm/uc/policies/AuthenticatedUCPolicy.js +22 -0
- package/dist/esm/uc/policies/EverybodyUCPolicy.d.ts +7 -0
- package/dist/esm/uc/policies/EverybodyUCPolicy.js +22 -0
- package/dist/esm/uc/policies/NobodyUCPolicy.d.ts +7 -0
- package/dist/esm/uc/policies/NobodyUCPolicy.js +22 -0
- package/dist/esm/uc/policies/RoleAdminUCPolicy.d.ts +7 -0
- package/dist/esm/uc/policies/RoleAdminUCPolicy.js +22 -0
- package/dist/esm/uc/policies/RoleRegularUCPolicy.d.ts +7 -0
- package/dist/esm/uc/policies/RoleRegularUCPolicy.js +22 -0
- package/dist/esm/uc/policies/funcs.d.ts +2 -0
- package/dist/esm/uc/policies/funcs.js +6 -0
- package/dist/esm/uc/policy.d.ts +13 -0
- package/dist/esm/uc/policy.js +1 -0
- package/dist/esm/uc/sec/consts.d.ts +3 -0
- package/dist/esm/uc/sec/consts.js +2 -0
- package/dist/esm/uc/sec.d.ts +6 -0
- package/dist/esm/uc/sec.js +1 -0
- package/dist/esm/uc/server.d.ts +13 -0
- package/dist/esm/uc/server.js +1 -0
- package/dist/esm/uc/settings/consts.d.ts +2 -0
- package/dist/esm/uc/settings/consts.js +6 -0
- package/dist/esm/uc/settings.d.ts +11 -0
- package/dist/esm/uc/settings.js +1 -0
- package/dist/esm/uc/side-effect.d.ts +12 -0
- package/dist/esm/uc/side-effect.js +6 -0
- package/dist/esm/uc/transporter.d.ts +7 -0
- package/dist/esm/uc/transporter.js +1 -0
- package/dist/esm/uc/utils/appendUCInputToURL.d.ts +4 -0
- package/dist/esm/uc/utils/appendUCInputToURL.js +12 -0
- package/dist/esm/uc/utils/fmtVal.d.ts +7 -0
- package/dist/esm/uc/utils/fmtVal.js +20 -0
- package/dist/esm/uc/utils/rInput.d.ts +11 -0
- package/dist/esm/uc/utils/rInput.js +39 -0
- package/dist/esm/uc/utils/rVal.d.ts +5 -0
- package/dist/esm/uc/utils/rVal.js +20 -0
- package/dist/esm/uc/utils/recIs.d.ts +5 -0
- package/dist/esm/uc/utils/recIs.js +1 -0
- package/dist/esm/uc/utils/stripUCDLifecycleServer.d.ts +2 -0
- package/dist/esm/uc/utils/stripUCDLifecycleServer.js +60 -0
- package/dist/esm/uc/utils/ucHTTPContract.d.ts +15 -0
- package/dist/esm/uc/utils/ucHTTPContract.js +39 -0
- package/dist/esm/uc/utils/ucMountingPoint.d.ts +7 -0
- package/dist/esm/uc/utils/ucMountingPoint.js +7 -0
- package/dist/esm/uc/utils/ucifcoIsForArray.d.ts +2 -0
- package/dist/esm/uc/utils/ucifcoIsForArray.js +7 -0
- package/dist/esm/uc/value.d.ts +2 -0
- package/dist/esm/uc/value.js +1 -0
- package/dist/esm/uc/workers/SimpleAggregateFinder.d.ts +20 -0
- package/dist/esm/uc/workers/SimpleAggregateFinder.js +45 -0
- package/dist/esm/uc/workers/SimpleAggregateOwnershipChecker.d.ts +17 -0
- package/dist/esm/uc/workers/SimpleAggregateOwnershipChecker.js +35 -0
- package/dist/esm/uc/workers/UCBuilder.d.ts +10 -0
- package/dist/esm/uc/workers/UCBuilder.js +17 -0
- package/dist/esm/uc/workers/UCExecChecker.d.ts +24 -0
- package/dist/esm/uc/workers/UCExecChecker.js +72 -0
- package/dist/esm/uc/workers/UCInputFilesProcessor.d.ts +20 -0
- package/dist/esm/uc/workers/UCInputFilesProcessor.js +75 -0
- package/dist/esm/uc/workers/UCInputValidator.d.ts +15 -0
- package/dist/esm/uc/workers/UCInputValidator.js +48 -0
- package/dist/esm/uc/workers/UCOutputFilesProcessor.d.ts +20 -0
- package/dist/esm/uc/workers/UCOutputFilesProcessor.js +60 -0
- package/dist/esm/utils/async/sleep.d.ts +2 -0
- package/dist/esm/utils/async/sleep.js +7 -0
- package/dist/esm/utils/concerns/Clearable.d.ts +3 -0
- package/dist/esm/utils/concerns/Clearable.js +1 -0
- package/dist/esm/utils/concerns/Initializable.d.ts +3 -0
- package/dist/esm/utils/concerns/Initializable.js +1 -0
- package/dist/esm/utils/esm/srcImporter.d.ts +2 -0
- package/dist/esm/utils/esm/srcImporter.js +1 -0
- package/dist/esm/utils/http/HTTPRequestBuilder.d.ts +17 -0
- package/dist/esm/utils/http/HTTPRequestBuilder.js +55 -0
- package/dist/esm/utils/http/appendData.d.ts +2 -0
- package/dist/esm/utils/http/appendData.js +14 -0
- package/dist/esm/utils/http/toFormData.d.ts +3 -0
- package/dist/esm/utils/http/toFormData.js +4 -0
- package/dist/esm/utils/http/toJSON.d.ts +3 -0
- package/dist/esm/utils/http/toJSON.js +3 -0
- package/dist/esm/utils/http/toQueryParams.d.ts +2 -0
- package/dist/esm/utils/http/toQueryParams.js +4 -0
- package/dist/esm/utils/http/types.d.ts +2 -0
- package/dist/esm/utils/http/types.js +1 -0
- package/dist/esm/utils/index.d.ts +18 -0
- package/dist/esm/utils/index.js +12 -0
- package/dist/esm/utils/ioc/ContainerPrinter.d.ts +12 -0
- package/dist/esm/utils/ioc/ContainerPrinter.js +53 -0
- package/dist/esm/utils/ioc/bindCommon.d.ts +6 -0
- package/dist/esm/utils/ioc/bindCommon.js +71 -0
- package/dist/esm/utils/ioc/bindNodeCLI.d.ts +2 -0
- package/dist/esm/utils/ioc/bindNodeCLI.js +8 -0
- package/dist/esm/utils/ioc/bindNodeCore.d.ts +2 -0
- package/dist/esm/utils/ioc/bindNodeCore.js +16 -0
- package/dist/esm/utils/ioc/bindProduct.d.ts +4 -0
- package/dist/esm/utils/ioc/bindProduct.js +6 -0
- package/dist/esm/utils/ioc/bindProvider.d.ts +2 -0
- package/dist/esm/utils/ioc/bindProvider.js +9 -0
- package/dist/esm/utils/ioc/bindRN.d.ts +2 -0
- package/dist/esm/utils/ioc/bindRN.js +4 -0
- package/dist/esm/utils/ioc/bindServer.d.ts +2 -0
- package/dist/esm/utils/ioc/bindServer.js +8 -0
- package/dist/esm/utils/ioc/bindWeb.d.ts +2 -0
- package/dist/esm/utils/ioc/bindWeb.js +12 -0
- package/dist/esm/utils/ioc/container.d.ts +2 -0
- package/dist/esm/utils/ioc/container.js +3 -0
- package/dist/esm/utils/ioc/types.d.ts +2 -0
- package/dist/esm/utils/ioc/types.js +1 -0
- package/dist/esm/utils/numbers/fmt.d.ts +3 -0
- package/dist/esm/utils/numbers/fmt.js +24 -0
- package/dist/esm/utils/numbers/units.d.ts +9 -0
- package/dist/esm/utils/numbers/units.js +53 -0
- package/dist/esm/utils/strings/capitalize.d.ts +2 -0
- package/dist/esm/utils/strings/capitalize.js +14 -0
- package/dist/esm/utils/strings/humanize.d.ts +1 -0
- package/dist/esm/utils/strings/humanize.js +5 -0
- package/dist/esm/utils/strings/truncate.d.ts +2 -0
- package/dist/esm/utils/strings/truncate.js +3 -0
- package/dist/esm/utils/terminal/fmt.d.ts +4 -0
- package/dist/esm/utils/terminal/fmt.js +13 -0
- package/dist/esm/utils/types/funcs.d.ts +6 -0
- package/dist/esm/utils/types/funcs.js +32 -0
- package/dist/esm/utils/types/utility-types.d.ts +5 -0
- package/dist/esm/utils/types/utility-types.js +1 -0
- package/docs/getting-started/001_Create_the_project.md +168 -0
- package/docs/getting-started/002_Create_the_App.md +49 -0
- package/docs/getting-started/003_Create_the_UseCase.md +205 -0
- package/docs/getting-started/004_Test_the_App.md +114 -0
- package/docs/getting-started/005_Create_the_Product.md +46 -0
- package/docs/getting-started/006_Create_the_server_Target.md +130 -0
- package/docs/getting-started/007_Create_the_web_Target.md +262 -0
- package/docs/getting-started/008_Switch_to_a_persistent_data_storage.md +55 -0
- package/docs/getting-started/009_Define_wording_for_humans.md +42 -0
- package/docs/getting-started/010_Create_the_cli_Target.md +102 -0
- package/docs/getting-started/011_Create_the_mcp_server_Target.md +157 -0
- package/docs/getting-started/012_Summary.md +29 -0
- package/package.json +7 -4
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
+
};
|
|
7
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
8
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
9
|
+
};
|
|
10
|
+
var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
11
|
+
return function (target, key) { decorator(target, key, paramIndex); }
|
|
12
|
+
};
|
|
13
|
+
var UCExecutor_1;
|
|
14
|
+
import { inject, injectable } from 'inversify';
|
|
15
|
+
import { UCBuilder, rInput, } from '../../uc/index.js';
|
|
16
|
+
const ERR_CLIENT_EXPECTED_OUTPUT = (name) => `${name} client is expected to return an output but returned nothing`;
|
|
17
|
+
const ERR_CLIENT_UNEXPECTED_OUTPUT = (name) => `${name} client is expected to return nothing but returned an output`;
|
|
18
|
+
let UCExecutor = class UCExecutor {
|
|
19
|
+
static { UCExecutor_1 = this; }
|
|
20
|
+
cryptoManager;
|
|
21
|
+
ucBuilder;
|
|
22
|
+
ucManager;
|
|
23
|
+
static HASH_ALG = 'sha256';
|
|
24
|
+
static HASH_BTT_ENCODING = 'hex';
|
|
25
|
+
static HASH_SEP = '-';
|
|
26
|
+
constructor(cryptoManager, ucBuilder, ucManager) {
|
|
27
|
+
this.cryptoManager = cryptoManager;
|
|
28
|
+
this.ucBuilder = ucBuilder;
|
|
29
|
+
this.ucManager = ucManager;
|
|
30
|
+
}
|
|
31
|
+
async exec({ appManifest, auth, authName, inputFiller, inputFillerName, ucd, }) {
|
|
32
|
+
const out = {
|
|
33
|
+
args: {
|
|
34
|
+
auth,
|
|
35
|
+
authName,
|
|
36
|
+
inputFiller,
|
|
37
|
+
inputFillerName,
|
|
38
|
+
},
|
|
39
|
+
err: null,
|
|
40
|
+
hash: null,
|
|
41
|
+
io: {
|
|
42
|
+
i: null,
|
|
43
|
+
o: null,
|
|
44
|
+
},
|
|
45
|
+
};
|
|
46
|
+
await this.execClient(appManifest, ucd, out);
|
|
47
|
+
return {
|
|
48
|
+
out,
|
|
49
|
+
};
|
|
50
|
+
}
|
|
51
|
+
overrideUCManager(ucManager) {
|
|
52
|
+
this.ucManager = ucManager;
|
|
53
|
+
}
|
|
54
|
+
async execClient(appManifest, ucd, out) {
|
|
55
|
+
const { lifecycle: { client }, } = ucd;
|
|
56
|
+
if (!client) {
|
|
57
|
+
return;
|
|
58
|
+
}
|
|
59
|
+
const { args } = out;
|
|
60
|
+
const { auth, inputFiller } = args;
|
|
61
|
+
const { metadata: { name }, } = ucd;
|
|
62
|
+
const uc = this.ucBuilder.exec({
|
|
63
|
+
appManifest,
|
|
64
|
+
auth,
|
|
65
|
+
def: ucd,
|
|
66
|
+
});
|
|
67
|
+
inputFiller(uc);
|
|
68
|
+
const input = rInput(uc);
|
|
69
|
+
out.io.i = input;
|
|
70
|
+
out.hash = this.cryptoManager.hash(UCExecutor_1.HASH_ALG, [name, JSON.stringify(args), JSON.stringify(input)].join(UCExecutor_1.HASH_SEP), UCExecutor_1.HASH_BTT_ENCODING);
|
|
71
|
+
try {
|
|
72
|
+
const ucor = await this.ucManager.execClient(uc);
|
|
73
|
+
const output = ucor.output();
|
|
74
|
+
if (uc.hasOutputParts() && !output) {
|
|
75
|
+
throw new Error(ERR_CLIENT_EXPECTED_OUTPUT(name));
|
|
76
|
+
}
|
|
77
|
+
if (!uc.hasOutputParts() && output) {
|
|
78
|
+
throw new Error(ERR_CLIENT_UNEXPECTED_OUTPUT(name));
|
|
79
|
+
}
|
|
80
|
+
out.io.o = output ?? null;
|
|
81
|
+
}
|
|
82
|
+
catch (err) {
|
|
83
|
+
out.err = err;
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
};
|
|
87
|
+
UCExecutor = UCExecutor_1 = __decorate([
|
|
88
|
+
injectable(),
|
|
89
|
+
__param(0, inject('CryptoManager')),
|
|
90
|
+
__param(1, inject(UCBuilder)),
|
|
91
|
+
__param(2, inject('UCManager')),
|
|
92
|
+
__metadata("design:paramtypes", [Object, UCBuilder, Object])
|
|
93
|
+
], UCExecutor);
|
|
94
|
+
export { UCExecutor };
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import type { AppManifest } from '../../../app/index.js';
|
|
2
|
+
import type { ErrorMessage } from '../../../dt/index.js';
|
|
3
|
+
import type { I18n } from '../../../i18n/index.js';
|
|
4
|
+
import type { Worker } from '../../../std/index.js';
|
|
5
|
+
export interface Input {
|
|
6
|
+
appI18n: I18n;
|
|
7
|
+
appManifest: Pick<AppManifest, 'languageCodes'>;
|
|
8
|
+
}
|
|
9
|
+
export interface Output {
|
|
10
|
+
errors: ErrorMessage[];
|
|
11
|
+
}
|
|
12
|
+
export declare class AppI18nChecker implements Worker<Input, Promise<Output>> {
|
|
13
|
+
private static I18N_KEY_PATTERN;
|
|
14
|
+
private output;
|
|
15
|
+
constructor();
|
|
16
|
+
exec({ appI18n, appManifest }: Input): Promise<Output>;
|
|
17
|
+
private makeSureLanguagesAreConsistent;
|
|
18
|
+
private makeSureKeysAndLabelsAreValid;
|
|
19
|
+
}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
+
};
|
|
7
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
8
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
9
|
+
};
|
|
10
|
+
var AppI18nChecker_1;
|
|
11
|
+
import { injectable } from 'inversify';
|
|
12
|
+
const ERR_I18N_MISMATCH = () => 'The languageCodes in app manifest must match with the keys in i18n';
|
|
13
|
+
const ERR_I18N_KEY_INVALID = (key) => `The i18n key '${key}' must respect the i18n key pattern`;
|
|
14
|
+
const ERR_I18N_LABEL_NO_DOT = (key) => `The i18n key '${key}' is a label, thus should not ends with a dot`;
|
|
15
|
+
let AppI18nChecker = class AppI18nChecker {
|
|
16
|
+
static { AppI18nChecker_1 = this; }
|
|
17
|
+
static I18N_KEY_PATTERN = /(dt_([A-Z][A-Za-z0-9]+)_([A-Za-z0-9]+)_(desc|label))|(err_([A-Za-z_]+))|(uc_([A-Z][A-Za-z0-9]+)_(client_confirm_(cancel|confirm|message|title)|desc|label|i_submit_(changing|idle|initializing|submitting)|op_(0|1)_(empty|label)))|(ucif_([a-z]([A-Za-z0-9]+)?)_(desc|label))|(ucof_([a-z]([A-Za-z0-9]+)?)_(desc|label))|(validation_([a-z]+)_([A-Z][A-Za-z0-9]+))/;
|
|
18
|
+
output;
|
|
19
|
+
constructor() {
|
|
20
|
+
this.output = { errors: [] };
|
|
21
|
+
}
|
|
22
|
+
async exec({ appI18n, appManifest }) {
|
|
23
|
+
this.makeSureLanguagesAreConsistent(appI18n, appManifest);
|
|
24
|
+
this.makeSureKeysAndLabelsAreValid(appI18n);
|
|
25
|
+
return this.output;
|
|
26
|
+
}
|
|
27
|
+
makeSureLanguagesAreConsistent(appI18n, appManifest) {
|
|
28
|
+
const inManifest = appManifest.languageCodes;
|
|
29
|
+
const inI18n = Object.keys(appI18n);
|
|
30
|
+
if (inManifest.join() !== inI18n.join()) {
|
|
31
|
+
this.output.errors.push(ERR_I18N_MISMATCH());
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
makeSureKeysAndLabelsAreValid(i18n) {
|
|
35
|
+
for (const [_, translations] of Object.entries(i18n)) {
|
|
36
|
+
for (const [key, translation] of Object.entries(translations)) {
|
|
37
|
+
const matches = key.match(AppI18nChecker_1.I18N_KEY_PATTERN);
|
|
38
|
+
if (!matches) {
|
|
39
|
+
this.output.errors.push(ERR_I18N_KEY_INVALID(key));
|
|
40
|
+
}
|
|
41
|
+
if (key.endsWith('_label') && translation.endsWith('.')) {
|
|
42
|
+
this.output.errors.push(ERR_I18N_LABEL_NO_DOT(key));
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
};
|
|
48
|
+
AppI18nChecker = AppI18nChecker_1 = __decorate([
|
|
49
|
+
injectable(),
|
|
50
|
+
__metadata("design:paramtypes", [])
|
|
51
|
+
], AppI18nChecker);
|
|
52
|
+
export { AppI18nChecker };
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { ErrorMessage } from '../../../dt/index.js';
|
|
2
|
+
import type { FSManager, Worker } from '../../../std/index.js';
|
|
3
|
+
import type { AppTesterCtx } from '../../ctx.js';
|
|
4
|
+
export interface Input {
|
|
5
|
+
appPath: AppTesterCtx['appPath'];
|
|
6
|
+
}
|
|
7
|
+
export interface Output {
|
|
8
|
+
errors: ErrorMessage[];
|
|
9
|
+
}
|
|
10
|
+
export declare class AppIndexChecker implements Worker<Input, Promise<Output>> {
|
|
11
|
+
private fsManager;
|
|
12
|
+
private output;
|
|
13
|
+
constructor(fsManager: FSManager);
|
|
14
|
+
exec({ appPath }: Input): Promise<Output>;
|
|
15
|
+
private makeSureExposesNecessary;
|
|
16
|
+
}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
+
};
|
|
7
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
8
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
9
|
+
};
|
|
10
|
+
var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
11
|
+
return function (target, key) { decorator(target, key, paramIndex); }
|
|
12
|
+
};
|
|
13
|
+
import { inject, injectable } from 'inversify';
|
|
14
|
+
import { APP_INDEX_FILE_NAME } from '../../../convention.js';
|
|
15
|
+
const ERR_INDEX_EXPOSE_NECESSARY = () => `The ${APP_INDEX_FILE_NAME} must expose the necessary : comment, I18n, Manifest`;
|
|
16
|
+
let AppIndexChecker = class AppIndexChecker {
|
|
17
|
+
fsManager;
|
|
18
|
+
output;
|
|
19
|
+
constructor(fsManager) {
|
|
20
|
+
this.fsManager = fsManager;
|
|
21
|
+
this.output = { errors: [] };
|
|
22
|
+
}
|
|
23
|
+
async exec({ appPath }) {
|
|
24
|
+
const contents = await this.fsManager.cat(this.fsManager.path(appPath, APP_INDEX_FILE_NAME));
|
|
25
|
+
this.makeSureExposesNecessary(contents);
|
|
26
|
+
return this.output;
|
|
27
|
+
}
|
|
28
|
+
makeSureExposesNecessary(contents) {
|
|
29
|
+
if (!contents.includes("// Expose only what's necessary") ||
|
|
30
|
+
!contents.includes("export { I18n } from './src/i18n.js'") ||
|
|
31
|
+
!contents.includes("export { Manifest } from './src/manifest.js'")) {
|
|
32
|
+
this.output.errors.push(ERR_INDEX_EXPOSE_NECESSARY());
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
};
|
|
36
|
+
AppIndexChecker = __decorate([
|
|
37
|
+
injectable(),
|
|
38
|
+
__param(0, inject('FSManager')),
|
|
39
|
+
__metadata("design:paramtypes", [Object])
|
|
40
|
+
], AppIndexChecker);
|
|
41
|
+
export { AppIndexChecker };
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { AppManifest } from '../../../app/index.js';
|
|
2
|
+
import type { ErrorMessage } from '../../../dt/index.js';
|
|
3
|
+
import type { Worker } from '../../../std/index.js';
|
|
4
|
+
import type { AppTesterCtx } from '../../ctx.js';
|
|
5
|
+
export interface Input {
|
|
6
|
+
appManifest: AppManifest;
|
|
7
|
+
ucdRefs: AppTesterCtx['ucdRefs'];
|
|
8
|
+
}
|
|
9
|
+
export interface Output {
|
|
10
|
+
errors: ErrorMessage[];
|
|
11
|
+
}
|
|
12
|
+
export declare class AppManifestChecker implements Worker<Input, Promise<Output>> {
|
|
13
|
+
private output;
|
|
14
|
+
constructor();
|
|
15
|
+
exec({ appManifest, ucdRefs }: Input): Promise<Output>;
|
|
16
|
+
private makeSureUCsAreConsistent;
|
|
17
|
+
}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
+
};
|
|
7
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
8
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
9
|
+
};
|
|
10
|
+
import { injectable } from 'inversify';
|
|
11
|
+
import { APP_SRC_DIR_NAME } from '../../../convention.js';
|
|
12
|
+
const ERR_MANIFEST_UCDS_MISMATCH = () => `The app manifest must list the use cases the same way as the file system in ${APP_SRC_DIR_NAME}`;
|
|
13
|
+
let AppManifestChecker = class AppManifestChecker {
|
|
14
|
+
output;
|
|
15
|
+
constructor() {
|
|
16
|
+
this.output = { errors: [] };
|
|
17
|
+
}
|
|
18
|
+
async exec({ appManifest, ucdRefs }) {
|
|
19
|
+
this.makeSureUCsAreConsistent(appManifest, ucdRefs);
|
|
20
|
+
return this.output;
|
|
21
|
+
}
|
|
22
|
+
makeSureUCsAreConsistent(appManifest, ucdRefs) {
|
|
23
|
+
const inManifest = Object.keys(appManifest.ucReg);
|
|
24
|
+
const inUCDefs = ucdRefs.map((ucdRef) => ucdRef.name);
|
|
25
|
+
if (inManifest.join() !== inUCDefs.join()) {
|
|
26
|
+
this.output.errors.push(ERR_MANIFEST_UCDS_MISMATCH());
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
};
|
|
30
|
+
AppManifestChecker = __decorate([
|
|
31
|
+
injectable(),
|
|
32
|
+
__metadata("design:paramtypes", [])
|
|
33
|
+
], AppManifestChecker);
|
|
34
|
+
export { AppManifestChecker };
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { ErrorMessage } from '../../../dt/index.js';
|
|
2
|
+
import type { Worker } from '../../../std/index.js';
|
|
3
|
+
import type { AppTesterUCDRef } from '../../ctx.js';
|
|
4
|
+
export interface Input {
|
|
5
|
+
ucdRef: AppTesterUCDRef;
|
|
6
|
+
}
|
|
7
|
+
export interface Output {
|
|
8
|
+
errors: ErrorMessage[];
|
|
9
|
+
}
|
|
10
|
+
export declare class UCDefChecker implements Worker<Input, Promise<Output>> {
|
|
11
|
+
private output;
|
|
12
|
+
constructor();
|
|
13
|
+
exec({ ucdRef }: Input): Promise<Output>;
|
|
14
|
+
}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
+
};
|
|
7
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
8
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
9
|
+
};
|
|
10
|
+
import { injectable } from 'inversify';
|
|
11
|
+
import { UC_DEF_FILE_NAME_SUFFIX, UC_DEF_SUFFIX } from '../../../convention.js';
|
|
12
|
+
const ERR_UCD_EXPORT_ONLY = (fileName) => `${fileName} must export only the I/OPI types and the UCD. Make sure the client/server classes are not exported`;
|
|
13
|
+
const ERR_UCD_SUFFIX = (fileName) => `${fileName} use case def must end with '${UC_DEF_SUFFIX}'`;
|
|
14
|
+
const ERR_UCD_NAMES = (fileName, name, ucdKey) => `The file name and the const name must be the same as the name, prefixed with '${UC_DEF_SUFFIX}' (Got ${fileName} vs ${name} vs ${ucdKey})`;
|
|
15
|
+
let UCDefChecker = class UCDefChecker {
|
|
16
|
+
output;
|
|
17
|
+
constructor() {
|
|
18
|
+
this.output = { errors: [] };
|
|
19
|
+
}
|
|
20
|
+
async exec({ ucdRef }) {
|
|
21
|
+
const { fileName, source } = ucdRef;
|
|
22
|
+
const keys = Object.keys(source);
|
|
23
|
+
if (keys.length !== 1) {
|
|
24
|
+
this.output.errors.push(ERR_UCD_EXPORT_ONLY(fileName));
|
|
25
|
+
return this.output;
|
|
26
|
+
}
|
|
27
|
+
const [ucdKey] = keys;
|
|
28
|
+
if (!ucdKey?.endsWith(UC_DEF_SUFFIX)) {
|
|
29
|
+
this.output.errors.push(ERR_UCD_SUFFIX(fileName));
|
|
30
|
+
return this.output;
|
|
31
|
+
}
|
|
32
|
+
const ucd = source[ucdKey];
|
|
33
|
+
const { metadata: { name }, } = ucd;
|
|
34
|
+
if (name !== fileName.replaceAll(UC_DEF_FILE_NAME_SUFFIX, '') ||
|
|
35
|
+
name !== ucdKey.replaceAll(UC_DEF_SUFFIX, '')) {
|
|
36
|
+
this.output.errors.push(ERR_UCD_NAMES(fileName, name, ucdKey));
|
|
37
|
+
}
|
|
38
|
+
return this.output;
|
|
39
|
+
}
|
|
40
|
+
};
|
|
41
|
+
UCDefChecker = __decorate([
|
|
42
|
+
injectable(),
|
|
43
|
+
__metadata("design:paramtypes", [])
|
|
44
|
+
], UCDefChecker);
|
|
45
|
+
export { UCDefChecker };
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import type { FSManager, Logger, Worker } from '../../../std/index.js';
|
|
2
|
+
import { type OutputItem, type UCDefASTParser } from '../../UCDefASTParser.js';
|
|
3
|
+
import type { AppTesterCtx } from '../../ctx.js';
|
|
4
|
+
export interface Input {
|
|
5
|
+
ctx: AppTesterCtx;
|
|
6
|
+
}
|
|
7
|
+
export interface Output {
|
|
8
|
+
items: OutputItem[];
|
|
9
|
+
}
|
|
10
|
+
export declare class UCDefSourcesChecker implements Worker<Input, Promise<Output>> {
|
|
11
|
+
private fsManager;
|
|
12
|
+
private logger;
|
|
13
|
+
private ucDefASTParser;
|
|
14
|
+
private opts;
|
|
15
|
+
private output;
|
|
16
|
+
constructor(fsManager: FSManager, logger: Logger, ucDefASTParser: UCDefASTParser);
|
|
17
|
+
exec({ ctx }: Input): Promise<Output>;
|
|
18
|
+
private checkConstName;
|
|
19
|
+
private checkImport;
|
|
20
|
+
private checkInputType;
|
|
21
|
+
private checkMainStep;
|
|
22
|
+
private checkMetadata;
|
|
23
|
+
private checkOPIType;
|
|
24
|
+
private checkPolicy;
|
|
25
|
+
private processFiles;
|
|
26
|
+
private ucdsAbsolutePaths;
|
|
27
|
+
}
|
|
@@ -0,0 +1,249 @@
|
|
|
1
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
+
};
|
|
7
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
8
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
9
|
+
};
|
|
10
|
+
var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
11
|
+
return function (target, key) { decorator(target, key, paramIndex); }
|
|
12
|
+
};
|
|
13
|
+
import { inject, injectable } from 'inversify';
|
|
14
|
+
import { APP_SRC_DIR_NAME, APP_SRC_UCDS_DIR_NAME, UC_DEF_FILE_NAME_SUFFIX, UC_DEF_SUFFIX, UC_INPUT_FIELD_PATTERN, UC_INPUT_SUFFIX, UC_OPI_SUFFIX, UC_POLICY_SUFFIX_FULL, } from '../../../convention.js';
|
|
15
|
+
import { initOutputItem, } from '../../UCDefASTParser.js';
|
|
16
|
+
import { optsAllSet } from '../../opts.js';
|
|
17
|
+
const ERR_UCD_CONST_NAME = (name) => `The UCD const name '${name}' must follow the convention`;
|
|
18
|
+
const ERR_UCD_FILE_SUFFIX = (fileName) => `The file '${fileName}' must end with ${UC_DEF_FILE_NAME_SUFFIX}`;
|
|
19
|
+
const ERR_UCD_IMPORTS_EXTERNAL_ALLOWED = (aliasPrefix, allowed, text) => `External imports must be an alias '${aliasPrefix}*' or be one of ${allowed} (Got ${text})`;
|
|
20
|
+
const ERR_UCD_IMPORTS_INTERNAL_MAX_DEPTH = (maxDepth) => `Internal imports must not be deeper than ${maxDepth}`;
|
|
21
|
+
const ERR_UCD_INPUT_FIELD_PATTERN = () => `The input field def must match ${UC_INPUT_FIELD_PATTERN}`;
|
|
22
|
+
const ERR_UCD_INPUT_TYPE_NAME = (ucName) => `The input type must be named ${ucName}${UC_INPUT_SUFFIX}`;
|
|
23
|
+
const ERR_UCD_OPI_TYPE_NAME = (ucName, idx) => `The OPI must be named ${ucName}${UC_OPI_SUFFIX}${idx}`;
|
|
24
|
+
let UCDefSourcesChecker = class UCDefSourcesChecker {
|
|
25
|
+
fsManager;
|
|
26
|
+
logger;
|
|
27
|
+
ucDefASTParser;
|
|
28
|
+
opts;
|
|
29
|
+
output;
|
|
30
|
+
constructor(fsManager, logger, ucDefASTParser) {
|
|
31
|
+
this.fsManager = fsManager;
|
|
32
|
+
this.logger = logger;
|
|
33
|
+
this.ucDefASTParser = ucDefASTParser;
|
|
34
|
+
this.output = {
|
|
35
|
+
items: [],
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
async exec({ ctx }) {
|
|
39
|
+
const { appPath, opts } = ctx;
|
|
40
|
+
const startTime = new Date().getTime();
|
|
41
|
+
this.logger.debug('UCDefSourceChecker starting', {
|
|
42
|
+
appPath,
|
|
43
|
+
startTime,
|
|
44
|
+
});
|
|
45
|
+
this.opts = optsAllSet(opts);
|
|
46
|
+
const ucdsPaths = this.ucdsAbsolutePaths(ctx);
|
|
47
|
+
this.logger.debug('UCDefSourceChecker initializing');
|
|
48
|
+
await this.ucDefASTParser.init(this.opts, ucdsPaths);
|
|
49
|
+
this.logger.debug('UCDefSourceChecker transpiling');
|
|
50
|
+
await this.ucDefASTParser.transpile();
|
|
51
|
+
this.logger.debug('UCDefSourceChecker processing files');
|
|
52
|
+
this.output.items = await this.processFiles(appPath, ucdsPaths);
|
|
53
|
+
const duration = new Date().getTime() - startTime;
|
|
54
|
+
this.logger.debug('UCDefSourceChecker done', {
|
|
55
|
+
appPath,
|
|
56
|
+
duration: `${duration} ms`,
|
|
57
|
+
});
|
|
58
|
+
return this.output;
|
|
59
|
+
}
|
|
60
|
+
checkConstName(name, item) {
|
|
61
|
+
item.constName = {
|
|
62
|
+
err: name.endsWith(UC_DEF_SUFFIX) ? null : ERR_UCD_CONST_NAME(name),
|
|
63
|
+
value: name,
|
|
64
|
+
};
|
|
65
|
+
}
|
|
66
|
+
checkImport(name, item) {
|
|
67
|
+
const { external, internal } = this.opts.source.imports;
|
|
68
|
+
const isInternal = name.startsWith(internal.startChar);
|
|
69
|
+
if (isInternal) {
|
|
70
|
+
const { maxDepth } = internal;
|
|
71
|
+
item.internalImports?.push({
|
|
72
|
+
err: !name.startsWith(maxDepth)
|
|
73
|
+
? null
|
|
74
|
+
: ERR_UCD_IMPORTS_INTERNAL_MAX_DEPTH(maxDepth),
|
|
75
|
+
value: name,
|
|
76
|
+
});
|
|
77
|
+
return;
|
|
78
|
+
}
|
|
79
|
+
const { aliasPrefix, allowed } = external;
|
|
80
|
+
item.externalImports?.push({
|
|
81
|
+
err: name.startsWith(aliasPrefix) || allowed.includes(name)
|
|
82
|
+
? null
|
|
83
|
+
: ERR_UCD_IMPORTS_EXTERNAL_ALLOWED(aliasPrefix, allowed, name),
|
|
84
|
+
value: name,
|
|
85
|
+
});
|
|
86
|
+
}
|
|
87
|
+
checkInputType(name, fields, item) {
|
|
88
|
+
item.ioI = {
|
|
89
|
+
err: null,
|
|
90
|
+
value: name,
|
|
91
|
+
};
|
|
92
|
+
item.ioIFields = fields;
|
|
93
|
+
for (const f of item.ioIFields) {
|
|
94
|
+
const parts = f.value.split(':');
|
|
95
|
+
if (parts.length !== 2) {
|
|
96
|
+
continue;
|
|
97
|
+
}
|
|
98
|
+
const [_name, type] = parts;
|
|
99
|
+
f.err =
|
|
100
|
+
type?.trim().match(new RegExp(UC_INPUT_FIELD_PATTERN)) !== null
|
|
101
|
+
? null
|
|
102
|
+
: ERR_UCD_INPUT_FIELD_PATTERN();
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
checkMainStep(lifecycle, step, item) {
|
|
106
|
+
switch (lifecycle) {
|
|
107
|
+
case 'client':
|
|
108
|
+
if (!item.lifecycleClientSteps) {
|
|
109
|
+
item.lifecycleClientSteps = [];
|
|
110
|
+
}
|
|
111
|
+
item.lifecycleClientSteps.push({ err: null, value: step });
|
|
112
|
+
break;
|
|
113
|
+
case 'server':
|
|
114
|
+
if (!item.lifecycleServerSteps) {
|
|
115
|
+
item.lifecycleServerSteps = [];
|
|
116
|
+
}
|
|
117
|
+
item.lifecycleServerSteps.push({ err: null, value: step });
|
|
118
|
+
break;
|
|
119
|
+
default:
|
|
120
|
+
((_) => { })(lifecycle);
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
checkMetadata(metadata, item) {
|
|
124
|
+
item.metadataAction = {
|
|
125
|
+
err: null,
|
|
126
|
+
value: metadata.action,
|
|
127
|
+
};
|
|
128
|
+
item.metadataBeta = {
|
|
129
|
+
err: null,
|
|
130
|
+
value: metadata.beta?.toString() ?? '',
|
|
131
|
+
};
|
|
132
|
+
item.metadataIcon = {
|
|
133
|
+
err: null,
|
|
134
|
+
value: metadata.icon,
|
|
135
|
+
};
|
|
136
|
+
item.metadataName = {
|
|
137
|
+
err: null,
|
|
138
|
+
value: metadata.name,
|
|
139
|
+
};
|
|
140
|
+
item.metadataNew = {
|
|
141
|
+
err: null,
|
|
142
|
+
value: metadata.new?.toString() ?? '',
|
|
143
|
+
};
|
|
144
|
+
item.metadataSensitive = {
|
|
145
|
+
err: null,
|
|
146
|
+
value: metadata.sensitive?.toString() ?? '',
|
|
147
|
+
};
|
|
148
|
+
}
|
|
149
|
+
checkOPIType(name, fields, idx, item) {
|
|
150
|
+
const key = `ioOPI${idx}`;
|
|
151
|
+
item[key] = {
|
|
152
|
+
err: null,
|
|
153
|
+
value: name,
|
|
154
|
+
};
|
|
155
|
+
const fieldsKey = `${key}Fields`;
|
|
156
|
+
item[fieldsKey] = fields;
|
|
157
|
+
for (const f of item[fieldsKey]) {
|
|
158
|
+
f.err = null;
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
checkPolicy(lifecycle, name, item) {
|
|
162
|
+
switch (lifecycle) {
|
|
163
|
+
case 'client':
|
|
164
|
+
item.lifecycleClientPolicy = {
|
|
165
|
+
err: null,
|
|
166
|
+
value: name.replaceAll(UC_POLICY_SUFFIX_FULL, ''),
|
|
167
|
+
};
|
|
168
|
+
break;
|
|
169
|
+
case 'server':
|
|
170
|
+
item.lifecycleServerPolicy = {
|
|
171
|
+
err: null,
|
|
172
|
+
value: name.replaceAll(UC_POLICY_SUFFIX_FULL, ''),
|
|
173
|
+
};
|
|
174
|
+
break;
|
|
175
|
+
default:
|
|
176
|
+
((_) => { })(lifecycle);
|
|
177
|
+
}
|
|
178
|
+
}
|
|
179
|
+
async processFiles(appPath, paths) {
|
|
180
|
+
const res = await Promise.all(paths.map(async (path) => {
|
|
181
|
+
const item = initOutputItem();
|
|
182
|
+
this.logger.trace('UCDefSourceChecker processing file', {
|
|
183
|
+
path,
|
|
184
|
+
});
|
|
185
|
+
await this.ucDefASTParser.processFile(path, (name) => this.checkImport(name, item), (name) => this.checkConstName(name, item), (name, fields) => this.checkInputType(name, fields, item), (name, fields, idx) => this.checkOPIType(name, fields, idx, item), (lifecycle, step) => this.checkMainStep(lifecycle, step, item), (lifecycle, name) => this.checkPolicy(lifecycle, name, item), (value) => this.checkMetadata(value, item));
|
|
186
|
+
const relativePath = path.replaceAll(appPath, '');
|
|
187
|
+
item.filePath = {
|
|
188
|
+
err: relativePath.endsWith(UC_DEF_FILE_NAME_SUFFIX)
|
|
189
|
+
? null
|
|
190
|
+
: ERR_UCD_FILE_SUFFIX(relativePath),
|
|
191
|
+
value: relativePath,
|
|
192
|
+
};
|
|
193
|
+
if (item.ioI) {
|
|
194
|
+
item.ioI.err =
|
|
195
|
+
item.ioI.value ===
|
|
196
|
+
`${item.metadataName?.value}${UC_INPUT_SUFFIX}`
|
|
197
|
+
? null
|
|
198
|
+
: ERR_UCD_INPUT_TYPE_NAME(item.metadataName?.value ?? '-');
|
|
199
|
+
}
|
|
200
|
+
if (item.ioOPI0) {
|
|
201
|
+
item.ioOPI0.err =
|
|
202
|
+
item.ioOPI0.value ===
|
|
203
|
+
`${item.metadataName?.value}${UC_OPI_SUFFIX}0`
|
|
204
|
+
? null
|
|
205
|
+
: ERR_UCD_OPI_TYPE_NAME(item.metadataName?.value ?? '-', 0);
|
|
206
|
+
}
|
|
207
|
+
if (item.ioOPI1) {
|
|
208
|
+
item.ioOPI1.err =
|
|
209
|
+
item.ioOPI1.value ===
|
|
210
|
+
`${item.metadataName?.value}${UC_OPI_SUFFIX}1`
|
|
211
|
+
? null
|
|
212
|
+
: ERR_UCD_OPI_TYPE_NAME(item.metadataName?.value ?? '-', 1);
|
|
213
|
+
}
|
|
214
|
+
return item;
|
|
215
|
+
}));
|
|
216
|
+
const errors = [];
|
|
217
|
+
for (const analysis of res) {
|
|
218
|
+
for (const [_k, analysisVal] of Object.entries(analysis)) {
|
|
219
|
+
if (!analysisVal) {
|
|
220
|
+
continue;
|
|
221
|
+
}
|
|
222
|
+
const asArr = Array.isArray(analysisVal)
|
|
223
|
+
? analysisVal
|
|
224
|
+
: [analysisVal];
|
|
225
|
+
for (const val of asArr) {
|
|
226
|
+
const { err } = val;
|
|
227
|
+
if (err) {
|
|
228
|
+
errors.push(err);
|
|
229
|
+
}
|
|
230
|
+
}
|
|
231
|
+
}
|
|
232
|
+
}
|
|
233
|
+
if (errors.length > 0) {
|
|
234
|
+
throw new Error(errors[0]);
|
|
235
|
+
}
|
|
236
|
+
return res;
|
|
237
|
+
}
|
|
238
|
+
ucdsAbsolutePaths(ctx) {
|
|
239
|
+
return ctx.ucdRefs.map(({ fileName }) => this.fsManager.path(ctx.appPath, APP_SRC_DIR_NAME, APP_SRC_UCDS_DIR_NAME, fileName));
|
|
240
|
+
}
|
|
241
|
+
};
|
|
242
|
+
UCDefSourcesChecker = __decorate([
|
|
243
|
+
injectable(),
|
|
244
|
+
__param(0, inject('FSManager')),
|
|
245
|
+
__param(1, inject('Logger')),
|
|
246
|
+
__param(2, inject('UCDefASTParser')),
|
|
247
|
+
__metadata("design:paramtypes", [Object, Object, Object])
|
|
248
|
+
], UCDefSourcesChecker);
|
|
249
|
+
export { UCDefSourcesChecker };
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import type { AppManifest } from '../app/index.js';
|
|
2
|
+
import { type DataType, Validation } from '../dt/index.js';
|
|
3
|
+
import { UCInputField } from './UCInputField.js';
|
|
4
|
+
import type { UCAuth } from './auth.js';
|
|
5
|
+
import type { UCDef, UCFieldKey } from './def.js';
|
|
6
|
+
import type { UCInput } from './input.js';
|
|
7
|
+
import type { UCOPIBase } from './opi.js';
|
|
8
|
+
import type { rVal0, rValArr, reqVal0 } from './utils/rVal.js';
|
|
9
|
+
export type ArgsTuple<I extends UCInput | undefined = undefined, OPI0 extends UCOPIBase | undefined = undefined, OPI1 extends UCOPIBase | undefined = undefined> = ConstructorParameters<typeof UC<I, OPI0, OPI1>>;
|
|
10
|
+
export type ArgsRecord<I extends UCInput | undefined = undefined, OPI0 extends UCOPIBase | undefined = undefined, OPI1 extends UCOPIBase | undefined = undefined> = {
|
|
11
|
+
appManifest: ArgsTuple<I, OPI0, OPI1>[0];
|
|
12
|
+
def: ArgsTuple<I, OPI0, OPI1>[1];
|
|
13
|
+
auth: ArgsTuple<I, OPI0, OPI1>[2];
|
|
14
|
+
};
|
|
15
|
+
export declare class UC<I extends UCInput | undefined = undefined, OPI0 extends UCOPIBase | undefined = undefined, OPI1 extends UCOPIBase | undefined = undefined> {
|
|
16
|
+
appManifest: AppManifest;
|
|
17
|
+
def: UCDef<I, OPI0, OPI1>;
|
|
18
|
+
auth: UCAuth | null;
|
|
19
|
+
inputFields: UCInputField<any>[];
|
|
20
|
+
constructor(appManifest: AppManifest, def: UCDef<I, OPI0, OPI1>, auth: UCAuth | null);
|
|
21
|
+
clear(): void;
|
|
22
|
+
clearSensitiveInputFields(): void;
|
|
23
|
+
fill(input: Partial<I>): this;
|
|
24
|
+
hasInputField(key: UCFieldKey): boolean;
|
|
25
|
+
hasMediaInInput(): boolean;
|
|
26
|
+
hasOutputParts(): boolean;
|
|
27
|
+
inputField<T extends DataType>(key: keyof NonNullable<I>): UCInputField<T>;
|
|
28
|
+
inputFieldsForForm(): UCInputField<any>[];
|
|
29
|
+
inputFieldsOrdered(): UCInputField<any>[];
|
|
30
|
+
inputFieldsInsensitive(): UCInputField<any>[];
|
|
31
|
+
inputFieldsSensitive(): UCInputField<any>[];
|
|
32
|
+
needsInputFilling(): boolean;
|
|
33
|
+
needsOutputDisplay(): boolean;
|
|
34
|
+
operatesOnAggregate(): boolean;
|
|
35
|
+
rVal0<T extends DataType>(key: keyof I): ReturnType<typeof rVal0<T>>;
|
|
36
|
+
reqVal0<T extends DataType>(key: keyof I): ReturnType<typeof reqVal0<T>>;
|
|
37
|
+
rValArr<T extends DataType>(key: keyof I): ReturnType<typeof rValArr<T>>;
|
|
38
|
+
validate(): [UCInputField<any> | null, Validation] | null;
|
|
39
|
+
}
|