@kontur.candy/tools 2.210.1-cgroupv2.0 → 2.210.1-cgroupv2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/distr/Common/AsyncUtils.js +18 -0
- package/distr/Common/AsyncUtils.js.map +1 -0
- package/distr/Common/AutoValidationUtils.js +8 -0
- package/distr/Common/AutoValidationUtils.js.map +1 -0
- package/distr/Common/CandyApiClient/CandyApiClient.js +578 -0
- package/distr/Common/CandyApiClient/CandyApiClient.js.map +1 -0
- package/distr/Common/CandyApiClient/CandyApiClientContext.js +18 -0
- package/distr/Common/CandyApiClient/CandyApiClientContext.js.map +1 -0
- package/distr/Common/CandyApiClient/ClientDraftInfo/ClientDraftInfoResponse.js +6 -0
- package/distr/Common/CandyApiClient/ClientDraftInfo/ClientDraftInfoResponse.js.map +1 -0
- package/distr/Common/CandyApiClient/ClientDraftInfo/FnsFormInfo.js +6 -0
- package/distr/Common/CandyApiClient/ClientDraftInfo/FnsFormInfo.js.map +1 -0
- package/distr/Common/CandyApiClient/ClientDraftInfo/GetClientDraftInfoUrl.js +12 -0
- package/distr/Common/CandyApiClient/ClientDraftInfo/GetClientDraftInfoUrl.js.map +1 -0
- package/distr/Common/CandyApiClient/ClientDraftInfo/PrintInfo.js +6 -0
- package/distr/Common/CandyApiClient/ClientDraftInfo/PrintInfo.js.map +1 -0
- package/distr/Common/CandyApiClient/DigestApiClient/Decorators/DigestApiClientWithCache.js +33 -0
- package/distr/Common/CandyApiClient/DigestApiClient/Decorators/DigestApiClientWithCache.js.map +1 -0
- package/distr/Common/CandyApiClient/DigestApiClient/Decorators/DigestApiClientWithDebouncedBatching.js +35 -0
- package/distr/Common/CandyApiClient/DigestApiClient/Decorators/DigestApiClientWithDebouncedBatching.js.map +1 -0
- package/distr/Common/CandyApiClient/DigestApiClient/DigestApiClient.js +20 -0
- package/distr/Common/CandyApiClient/DigestApiClient/DigestApiClient.js.map +1 -0
- package/distr/Common/CandyApiClient/DigestApiClient/Fakes/Data/TaxRebate1152026.js +89 -0
- package/distr/Common/CandyApiClient/DigestApiClient/Fakes/Data/TaxRebate1152026.js.map +1 -0
- package/distr/Common/CandyApiClient/DigestApiClient/Fakes/FakeDigestApiClient.js +42 -0
- package/distr/Common/CandyApiClient/DigestApiClient/Fakes/FakeDigestApiClient.js.map +1 -0
- package/distr/Common/CandyApiClient/DigestApiClient/Fakes/FakePicklists.js +9 -0
- package/distr/Common/CandyApiClient/DigestApiClient/Fakes/FakePicklists.js.map +1 -0
- package/distr/Common/CandyApiClient/DigestApiClient/IDigestApiClient.js +6 -0
- package/distr/Common/CandyApiClient/DigestApiClient/IDigestApiClient.js.map +1 -0
- package/distr/Common/CandyApiClient/DigestApiClient/React/DigestApiClientContext.js +18 -0
- package/distr/Common/CandyApiClient/DigestApiClient/React/DigestApiClientContext.js.map +1 -0
- package/distr/Common/CandyApiClient/DigestApiClient/TestDigestApiClient.js +15 -0
- package/distr/Common/CandyApiClient/DigestApiClient/TestDigestApiClient.js.map +1 -0
- package/distr/Common/CandyApiClient/DigestApiClient/Types/DigestQueryFilter.js +19 -0
- package/distr/Common/CandyApiClient/DigestApiClient/Types/DigestQueryFilter.js.map +1 -0
- package/distr/Common/CandyApiClient/DigestApiClient/Types/DigestRequest.js +6 -0
- package/distr/Common/CandyApiClient/DigestApiClient/Types/DigestRequest.js.map +1 -0
- package/distr/Common/CandyApiClient/FakeCandyApiClient.js +248 -0
- package/distr/Common/CandyApiClient/FakeCandyApiClient.js.map +1 -0
- package/distr/Common/CandyApiClient/ICandyApiClient.js +6 -0
- package/distr/Common/CandyApiClient/ICandyApiClient.js.map +1 -0
- package/distr/Common/CandyApiClient/IsBuffer.js +15 -0
- package/distr/Common/CandyApiClient/IsBuffer.js.map +1 -0
- package/distr/Common/CandyApiClient/Types/Attachments/Attacments.js +6 -0
- package/distr/Common/CandyApiClient/Types/Attachments/Attacments.js.map +1 -0
- package/distr/Common/CandyApiClient/Types/Attachments/GetAttachmentsResponse.js +6 -0
- package/distr/Common/CandyApiClient/Types/Attachments/GetAttachmentsResponse.js.map +1 -0
- package/distr/Common/CandyApiClient/Types/ChangeSet/ServerChangeSet.js +6 -0
- package/distr/Common/CandyApiClient/Types/ChangeSet/ServerChangeSet.js.map +1 -0
- package/distr/Common/CandyApiClient/Types/CreateDraft/CreateDraftResponse.js +6 -0
- package/distr/Common/CandyApiClient/Types/CreateDraft/CreateDraftResponse.js.map +1 -0
- package/distr/Common/CandyApiClient/Types/DiagResourcesResponse.js +6 -0
- package/distr/Common/CandyApiClient/Types/DiagResourcesResponse.js.map +1 -0
- package/distr/Common/CandyApiClient/Types/DraftActions/CombineFufResult.js +24 -0
- package/distr/Common/CandyApiClient/Types/DraftActions/CombineFufResult.js.map +1 -0
- package/distr/Common/CandyApiClient/Types/DraftActions/ConvertDraftRequest.js +6 -0
- package/distr/Common/CandyApiClient/Types/DraftActions/ConvertDraftRequest.js.map +1 -0
- package/distr/Common/CandyApiClient/Types/DraftActions/FileProperties.js +6 -0
- package/distr/Common/CandyApiClient/Types/DraftActions/FileProperties.js.map +1 -0
- package/distr/Common/CandyApiClient/Types/DraftActions/FufSizeTooLargeError.js +9 -0
- package/distr/Common/CandyApiClient/Types/DraftActions/FufSizeTooLargeError.js.map +1 -0
- package/distr/Common/CandyApiClient/Types/DraftFullId.js +6 -0
- package/distr/Common/CandyApiClient/Types/DraftFullId.js.map +1 -0
- package/distr/Common/CandyApiClient/Types/ErrorLog/CandyPopdProtocol.js +12 -0
- package/distr/Common/CandyApiClient/Types/ErrorLog/CandyPopdProtocol.js.map +1 -0
- package/distr/Common/CandyApiClient/Types/ErrorLog/ResolveInnerPathRequest.js +6 -0
- package/distr/Common/CandyApiClient/Types/ErrorLog/ResolveInnerPathRequest.js.map +1 -0
- package/distr/Common/CandyApiClient/Types/ErrorLog/ResolvePathResponse.js +6 -0
- package/distr/Common/CandyApiClient/Types/ErrorLog/ResolvePathResponse.js.map +1 -0
- package/distr/Common/CandyApiClient/Types/ErrorLog/ServerErrorLog.js +17 -0
- package/distr/Common/CandyApiClient/Types/ErrorLog/ServerErrorLog.js.map +1 -0
- package/distr/Common/CandyApiClient/Types/ExplanatoryNote/CreateExplanatoryNoteResponse.js +13 -0
- package/distr/Common/CandyApiClient/Types/ExplanatoryNote/CreateExplanatoryNoteResponse.js.map +1 -0
- package/distr/Common/CandyApiClient/Types/FeatureFlags/FeatureFlagsResponse.js +6 -0
- package/distr/Common/CandyApiClient/Types/FeatureFlags/FeatureFlagsResponse.js.map +1 -0
- package/distr/Common/CandyApiClient/Types/Focus/FocusServerResponse.js +6 -0
- package/distr/Common/CandyApiClient/Types/Focus/FocusServerResponse.js.map +1 -0
- package/distr/Common/CandyApiClient/Types/Focus/FocusTypes.js +15 -0
- package/distr/Common/CandyApiClient/Types/Focus/FocusTypes.js.map +1 -0
- package/distr/Common/CandyApiClient/Types/GetInner/ServerInnerResponse.js +6 -0
- package/distr/Common/CandyApiClient/Types/GetInner/ServerInnerResponse.js.map +1 -0
- package/distr/Common/CandyApiClient/Types/GetInner/ServerRawResponse.js +9 -0
- package/distr/Common/CandyApiClient/Types/GetInner/ServerRawResponse.js.map +1 -0
- package/distr/Common/CandyApiClient/Types/GetInner/ServerRequisitesResponse.js +6 -0
- package/distr/Common/CandyApiClient/Types/GetInner/ServerRequisitesResponse.js.map +1 -0
- package/distr/Common/CandyApiClient/Types/Guid.js +6 -0
- package/distr/Common/CandyApiClient/Types/Guid.js.map +1 -0
- package/distr/Common/CandyApiClient/Types/InstancesDeleting/InstancesDeletingRule.js +6 -0
- package/distr/Common/CandyApiClient/Types/InstancesDeleting/InstancesDeletingRule.js.map +1 -0
- package/distr/Common/CandyApiClient/Types/MassActions/MassActionParameters.js +6 -0
- package/distr/Common/CandyApiClient/Types/MassActions/MassActionParameters.js.map +1 -0
- package/distr/Common/CandyApiClient/Types/MassActions/ValueForInstancesSettingRule.js +6 -0
- package/distr/Common/CandyApiClient/Types/MassActions/ValueForInstancesSettingRule.js.map +1 -0
- package/distr/Common/CandyApiClient/Types/Presentations/DraftPresentationType.js +24 -0
- package/distr/Common/CandyApiClient/Types/Presentations/DraftPresentationType.js.map +1 -0
- package/distr/Common/CandyApiClient/Types/Presentations/PresentationContent.js +6 -0
- package/distr/Common/CandyApiClient/Types/Presentations/PresentationContent.js.map +1 -0
- package/distr/Common/CandyApiClient/Types/Print/PrintResponse.js +6 -0
- package/distr/Common/CandyApiClient/Types/Print/PrintResponse.js.map +1 -0
- package/distr/Common/CandyApiClient/Types/Print/PrintType.js +12 -0
- package/distr/Common/CandyApiClient/Types/Print/PrintType.js.map +1 -0
- package/distr/Common/CandyApiClient/Types/QueryCollecton/Expressions/AndExpression.js +15 -0
- package/distr/Common/CandyApiClient/Types/QueryCollecton/Expressions/AndExpression.js.map +1 -0
- package/distr/Common/CandyApiClient/Types/QueryCollecton/Expressions/CompareExpression.js +19 -0
- package/distr/Common/CandyApiClient/Types/QueryCollecton/Expressions/CompareExpression.js.map +1 -0
- package/distr/Common/CandyApiClient/Types/QueryCollecton/Expressions/CountCallExpression.js +15 -0
- package/distr/Common/CandyApiClient/Types/QueryCollecton/Expressions/CountCallExpression.js.map +1 -0
- package/distr/Common/CandyApiClient/Types/QueryCollecton/Expressions/DecimalConstantExpression.js +15 -0
- package/distr/Common/CandyApiClient/Types/QueryCollecton/Expressions/DecimalConstantExpression.js.map +1 -0
- package/distr/Common/CandyApiClient/Types/QueryCollecton/Expressions/InstanceIdCallExpression.js +13 -0
- package/distr/Common/CandyApiClient/Types/QueryCollecton/Expressions/InstanceIdCallExpression.js.map +1 -0
- package/distr/Common/CandyApiClient/Types/QueryCollecton/Expressions/NotExpression.js +15 -0
- package/distr/Common/CandyApiClient/Types/QueryCollecton/Expressions/NotExpression.js.map +1 -0
- package/distr/Common/CandyApiClient/Types/QueryCollecton/Expressions/OrExpression.js +15 -0
- package/distr/Common/CandyApiClient/Types/QueryCollecton/Expressions/OrExpression.js.map +1 -0
- package/distr/Common/CandyApiClient/Types/QueryCollecton/Expressions/StringConstantExpression.js +15 -0
- package/distr/Common/CandyApiClient/Types/QueryCollecton/Expressions/StringConstantExpression.js.map +1 -0
- package/distr/Common/CandyApiClient/Types/QueryCollecton/Expressions/StringMatchExpression.js +21 -0
- package/distr/Common/CandyApiClient/Types/QueryCollecton/Expressions/StringMatchExpression.js.map +1 -0
- package/distr/Common/CandyApiClient/Types/QueryCollecton/Expressions/SumCallExpression.js +15 -0
- package/distr/Common/CandyApiClient/Types/QueryCollecton/Expressions/SumCallExpression.js.map +1 -0
- package/distr/Common/CandyApiClient/Types/QueryCollecton/Expressions/TernaryExpression.js +19 -0
- package/distr/Common/CandyApiClient/Types/QueryCollecton/Expressions/TernaryExpression.js.map +1 -0
- package/distr/Common/CandyApiClient/Types/QueryCollecton/Expressions/ValueReferenceExpression.js +15 -0
- package/distr/Common/CandyApiClient/Types/QueryCollecton/Expressions/ValueReferenceExpression.js.map +1 -0
- package/distr/Common/CandyApiClient/Types/QueryCollecton/InnerQueryExpression.js +6 -0
- package/distr/Common/CandyApiClient/Types/QueryCollecton/InnerQueryExpression.js.map +1 -0
- package/distr/Common/CandyApiClient/Types/QueryCollecton/InnerQueryRequest.js +26 -0
- package/distr/Common/CandyApiClient/Types/QueryCollecton/InnerQueryRequest.js.map +1 -0
- package/distr/Common/CandyApiClient/Types/QueryCollecton/InnerQueryResponse.js +6 -0
- package/distr/Common/CandyApiClient/Types/QueryCollecton/InnerQueryResponse.js.map +1 -0
- package/distr/Common/CandyApiClient/Types/QueryCollecton/SelectClause.js +16 -0
- package/distr/Common/CandyApiClient/Types/QueryCollecton/SelectClause.js.map +1 -0
- package/distr/Common/CandyApiClient/Types/QueryCollecton/SortingRule.js +16 -0
- package/distr/Common/CandyApiClient/Types/QueryCollecton/SortingRule.js.map +1 -0
- package/distr/Common/CandyApiClient/Types/Staff/EmployeeInfo.js +6 -0
- package/distr/Common/CandyApiClient/Types/Staff/EmployeeInfo.js.map +1 -0
- package/distr/Common/CandyApiClient/Types/Staff/ImportEmployeesOptions.js +6 -0
- package/distr/Common/CandyApiClient/Types/Staff/ImportEmployeesOptions.js.map +1 -0
- package/distr/Common/CandyApiClient/Types/Staff/ImportEmployeesRequest.js +6 -0
- package/distr/Common/CandyApiClient/Types/Staff/ImportEmployeesRequest.js.map +1 -0
- package/distr/Common/CandyApiClient/Types/Staff/StaffInfo.js +6 -0
- package/distr/Common/CandyApiClient/Types/Staff/StaffInfo.js.map +1 -0
- package/distr/Common/CandyApiClient/Types/Tasks/GetTasksServerResponse.js +6 -0
- package/distr/Common/CandyApiClient/Types/Tasks/GetTasksServerResponse.js.map +1 -0
- package/distr/Common/CandyApiClient/Types/Tasks/Tasks.js +14 -0
- package/distr/Common/CandyApiClient/Types/Tasks/Tasks.js.map +1 -0
- package/distr/Common/CollectionUtils.js +15 -0
- package/distr/Common/CollectionUtils.js.map +1 -0
- package/distr/Common/CommonConstants/SectionNames.js +11 -0
- package/distr/Common/CommonConstants/SectionNames.js.map +1 -0
- package/distr/Common/Comparers.js +63 -0
- package/distr/Common/Comparers.js.map +1 -0
- package/distr/Common/EmotionStorybookWorkaroundViaAliases.js +22 -0
- package/distr/Common/EmotionStorybookWorkaroundViaAliases.js.map +1 -0
- package/distr/Common/EndPoints.js +16 -0
- package/distr/Common/EndPoints.js.map +1 -0
- package/distr/Common/Enums/ButtonSettingsTypeEnum.js +12 -0
- package/distr/Common/Enums/ButtonSettingsTypeEnum.js.map +1 -0
- package/distr/Common/Errors.js +44 -0
- package/distr/Common/Errors.js.map +1 -0
- package/distr/Common/ExtractGFVPath/ExtractGFVPath.js +31 -0
- package/distr/Common/ExtractGFVPath/ExtractGFVPath.js.map +1 -0
- package/distr/Common/FSPrinterClient/FSPrinterClient.js +153 -0
- package/distr/Common/FSPrinterClient/FSPrinterClient.js.map +1 -0
- package/distr/Common/FSPrinterClient/FakeFSPrinterClient.js +19 -0
- package/distr/Common/FSPrinterClient/FakeFSPrinterClient.js.map +1 -0
- package/distr/Common/FSPrinterClient/IFSPrinterClient.js +39 -0
- package/distr/Common/FSPrinterClient/IFSPrinterClient.js.map +1 -0
- package/distr/Common/FormActionHandlers/ContextualActionNames.js +14 -0
- package/distr/Common/FormActionHandlers/ContextualActionNames.js.map +1 -0
- package/distr/Common/FormActionHandlers/ControlNamedContextualAction.js +6 -0
- package/distr/Common/FormActionHandlers/ControlNamedContextualAction.js.map +1 -0
- package/distr/Common/FormPathUtils.js +21 -0
- package/distr/Common/FormPathUtils.js.map +1 -0
- package/distr/Common/Funcs.js +11 -0
- package/distr/Common/Funcs.js.map +1 -0
- package/distr/Common/GFV.js +6 -0
- package/distr/Common/GFV.js.map +1 -0
- package/distr/Common/GetRngSchemaFileExtension.js +26 -0
- package/distr/Common/GetRngSchemaFileExtension.js.map +1 -0
- package/distr/Common/Hooks/UseLocalStorage.js +35 -0
- package/distr/Common/Hooks/UseLocalStorage.js.map +1 -0
- package/distr/Common/HttpClient/AuthenticationMode.js +31 -0
- package/distr/Common/HttpClient/AuthenticationMode.js.map +1 -0
- package/distr/Common/HttpClient/FetchImplementation/BrowserFetchWithOptionalPolyfill.js +9 -0
- package/distr/Common/HttpClient/FetchImplementation/BrowserFetchWithOptionalPolyfill.js.map +1 -0
- package/distr/Common/HttpClient/FetchImplementation/BrowserFetchWithPolyfill.js +9 -0
- package/distr/Common/HttpClient/FetchImplementation/BrowserFetchWithPolyfill.js.map +1 -0
- package/distr/Common/HttpClient/FetchImplementation/Fetch.js +6 -0
- package/distr/Common/HttpClient/FetchImplementation/Fetch.js.map +1 -0
- package/distr/Common/HttpClient/FetchImplementation/NativeBrowserFetch.js +8 -0
- package/distr/Common/HttpClient/FetchImplementation/NativeBrowserFetch.js.map +1 -0
- package/distr/Common/HttpClient/FetchImplementation/NodeFetch.js +36 -0
- package/distr/Common/HttpClient/FetchImplementation/NodeFetch.js.map +1 -0
- package/distr/Common/HttpClient/HttpClient.js +313 -0
- package/distr/Common/HttpClient/HttpClient.js.map +1 -0
- package/distr/Common/HttpClient/HttpClientAuthenticationProvider.js +6 -0
- package/distr/Common/HttpClient/HttpClientAuthenticationProvider.js.map +1 -0
- package/distr/Common/HttpClient/IHttpClient.js +6 -0
- package/distr/Common/HttpClient/IHttpClient.js.map +1 -0
- package/distr/Common/IndentString.js +16 -0
- package/distr/Common/IndentString.js.map +1 -0
- package/distr/Common/IntRangeUtils.js +32 -0
- package/distr/Common/IntRangeUtils.js.map +1 -0
- package/distr/Common/IterableUtils.js +288 -0
- package/distr/Common/IterableUtils.js.map +1 -0
- package/distr/Common/KCLangRuntimeUtils.js +266 -0
- package/distr/Common/KCLangRuntimeUtils.js.map +1 -0
- package/distr/Common/ModelPath/AbsoluteModelFieldPath.js +55 -0
- package/distr/Common/ModelPath/AbsoluteModelFieldPath.js.map +1 -0
- package/distr/Common/ModelPath/BuildIterationSequence.js +41 -0
- package/distr/Common/ModelPath/BuildIterationSequence.js.map +1 -0
- package/distr/Common/ModelPath/EachCurrentCollision.js +12 -0
- package/distr/Common/ModelPath/EachCurrentCollision.js.map +1 -0
- package/distr/Common/ModelPath/IEquatable.js +6 -0
- package/distr/Common/ModelPath/IEquatable.js.map +1 -0
- package/distr/Common/ModelPath/Map/AbsoluteModelPathMap.js +23 -0
- package/distr/Common/ModelPath/Map/AbsoluteModelPathMap.js.map +1 -0
- package/distr/Common/ModelPath/Map/Map2.js +99 -0
- package/distr/Common/ModelPath/Map/Map2.js.map +1 -0
- package/distr/Common/ModelPath/Map/ModelPathMap.js +23 -0
- package/distr/Common/ModelPath/Map/ModelPathMap.js.map +1 -0
- package/distr/Common/ModelPath/ModelPath.js +476 -0
- package/distr/Common/ModelPath/ModelPath.js.map +1 -0
- package/distr/Common/ModelPath/ModelPathBuilder.js +42 -0
- package/distr/Common/ModelPath/ModelPathBuilder.js.map +1 -0
- package/distr/Common/ModelPath/ModelPathHelper.js +34 -0
- package/distr/Common/ModelPath/ModelPathHelper.js.map +1 -0
- package/distr/Common/ModelPath/PathMatcher.js +95 -0
- package/distr/Common/ModelPath/PathMatcher.js.map +1 -0
- package/distr/Common/ModelPath/PathSplitHelper.js +21 -0
- package/distr/Common/ModelPath/PathSplitHelper.js.map +1 -0
- package/distr/Common/ModelPath/Set/AbsoluteModelPathSet.js +31 -0
- package/distr/Common/ModelPath/Set/AbsoluteModelPathSet.js.map +1 -0
- package/distr/Common/ModelPath/Set/AbsoluteResolvedModelPathSet.js +31 -0
- package/distr/Common/ModelPath/Set/AbsoluteResolvedModelPathSet.js.map +1 -0
- package/distr/Common/ModelPath/Set/ModelPathSet.js +31 -0
- package/distr/Common/ModelPath/Set/ModelPathSet.js.map +1 -0
- package/distr/Common/ModelPath/Set/Set2.js +59 -0
- package/distr/Common/ModelPath/Set/Set2.js.map +1 -0
- package/distr/Common/NidusClient/ContextualNidusClient/ContextualNidusClient.js +33 -0
- package/distr/Common/NidusClient/ContextualNidusClient/ContextualNidusClient.js.map +1 -0
- package/distr/Common/NidusClient/ContextualNidusClient/IContextualNidusClient.js +6 -0
- package/distr/Common/NidusClient/ContextualNidusClient/IContextualNidusClient.js.map +1 -0
- package/distr/Common/NidusClient/Fakes/CreateUniqueNidusEntryId.js +11 -0
- package/distr/Common/NidusClient/Fakes/CreateUniqueNidusEntryId.js.map +1 -0
- package/distr/Common/NidusClient/Fakes/FakeNidusClient.js +66 -0
- package/distr/Common/NidusClient/Fakes/FakeNidusClient.js.map +1 -0
- package/distr/Common/NidusClient/Fakes/LocalStorageBasedNidusClient.js +108 -0
- package/distr/Common/NidusClient/Fakes/LocalStorageBasedNidusClient.js.map +1 -0
- package/distr/Common/NidusClient/INidusClient.js +14 -0
- package/distr/Common/NidusClient/INidusClient.js.map +1 -0
- package/distr/Common/NidusClient/NidusClientContext.js +34 -0
- package/distr/Common/NidusClient/NidusClientContext.js.map +1 -0
- package/distr/Common/NidusClient/NidusClientImpl.js +55 -0
- package/distr/Common/NidusClient/NidusClientImpl.js.map +1 -0
- package/distr/Common/PathConstants.js +11 -0
- package/distr/Common/PathConstants.js.map +1 -0
- package/distr/Common/PicklistApiClient/IPicklistApiClient.js +6 -0
- package/distr/Common/PicklistApiClient/IPicklistApiClient.js.map +1 -0
- package/distr/Common/PicklistApiClient/PicklistApiClient.js +31 -0
- package/distr/Common/PicklistApiClient/PicklistApiClient.js.map +1 -0
- package/distr/Common/PicklistApiClient/PicklistRequestV2Builder.js +36 -0
- package/distr/Common/PicklistApiClient/PicklistRequestV2Builder.js.map +1 -0
- package/distr/Common/PicklistApiClient/Serializers/DigestFilterColumnSerializer.js +53 -0
- package/distr/Common/PicklistApiClient/Serializers/DigestFilterColumnSerializer.js.map +1 -0
- package/distr/Common/PicklistApiClient/Serializers/DigestLogicalFilterSerializer.js +37 -0
- package/distr/Common/PicklistApiClient/Serializers/DigestLogicalFilterSerializer.js.map +1 -0
- package/distr/Common/PicklistApiClient/Types/PicklistRequestV2.js +6 -0
- package/distr/Common/PicklistApiClient/Types/PicklistRequestV2.js.map +1 -0
- package/distr/Common/PicklistApiClient/Types/PicklistResultV2.js +6 -0
- package/distr/Common/PicklistApiClient/Types/PicklistResultV2.js.map +1 -0
- package/distr/Common/RngSchemeTypes/types.js +6 -0
- package/distr/Common/RngSchemeTypes/types.js.map +1 -0
- package/distr/Common/StringArrayKey.js +26 -0
- package/distr/Common/StringArrayKey.js.map +1 -0
- package/distr/Common/TextExtractor/TextExtractorTypes.js +6 -0
- package/distr/Common/TextExtractor/TextExtractorTypes.js.map +1 -0
- package/distr/Common/TypingUtils.js +118 -0
- package/distr/Common/TypingUtils.js.map +1 -0
- package/distr/Common/UUID.js +14 -0
- package/distr/Common/UUID.js.map +1 -0
- package/distr/Common/UseAsyncEffect.js +20 -0
- package/distr/Common/UseAsyncEffect.js.map +1 -0
- package/distr/Common/UseShowOnce.js +60 -0
- package/distr/Common/UseShowOnce.js.map +1 -0
- package/distr/Common/UseTypedSelector.js +10 -0
- package/distr/Common/UseTypedSelector.js.map +1 -0
- package/distr/Common/WellKnownDirectories.js +14 -0
- package/distr/Common/WellKnownDirectories.js.map +1 -0
- package/distr/Common/hashUtils.js +14 -0
- package/distr/Common/hashUtils.js.map +1 -0
- package/distr/Tools/src/BuildTasks/ClientJS/BuildClientJsTask.js +77 -0
- package/distr/Tools/src/BuildTasks/ClientJS/BuildClientJsTask.js.map +1 -0
- package/distr/Tools/src/BuildTasks/ClientJS/IsWebpack5.js +14 -0
- package/distr/Tools/src/BuildTasks/ClientJS/IsWebpack5.js.map +1 -0
- package/distr/Tools/src/BuildTasks/Engine/AcquireFormEngine.js +22 -0
- package/distr/Tools/src/BuildTasks/Engine/AcquireFormEngine.js.map +1 -0
- package/distr/Tools/src/BuildTasks/Engine/AcquirePublishedEngineTask.js +88 -0
- package/distr/Tools/src/BuildTasks/Engine/AcquirePublishedEngineTask.js.map +1 -0
- package/distr/Tools/src/BuildTasks/Engine/BuildLocalEngineTask.js +82 -0
- package/distr/Tools/src/BuildTasks/Engine/BuildLocalEngineTask.js.map +1 -0
- package/distr/Tools/src/BuildTasks/Engine/EngineSource.js +10 -0
- package/distr/Tools/src/BuildTasks/Engine/EngineSource.js.map +1 -0
- package/distr/Tools/src/BuildTasks/EngineStructureUtils.js +42 -0
- package/distr/Tools/src/BuildTasks/EngineStructureUtils.js.map +1 -0
- package/distr/Tools/src/BuildTasks/EngineVersionUtils.js +30 -0
- package/distr/Tools/src/BuildTasks/EngineVersionUtils.js.map +1 -0
- package/distr/Tools/src/BuildTasks/FSTask.js +67 -0
- package/distr/Tools/src/BuildTasks/FSTask.js.map +1 -0
- package/distr/Tools/src/BuildTasks/Form/CompileForm.js +52 -0
- package/distr/Tools/src/BuildTasks/Form/CompileForm.js.map +1 -0
- package/distr/Tools/src/BuildTasks/Form/GenerateForm.js +44 -0
- package/distr/Tools/src/BuildTasks/Form/GenerateForm.js.map +1 -0
- package/distr/Tools/src/BuildTasks/Form/NullFormGenerator.js +37 -0
- package/distr/Tools/src/BuildTasks/Form/NullFormGenerator.js.map +1 -0
- package/distr/Tools/src/BuildTasks/Form/WriteAttachmentPathFiles.js +25 -0
- package/distr/Tools/src/BuildTasks/Form/WriteAttachmentPathFiles.js.map +1 -0
- package/distr/Tools/src/BuildTasks/Form/WriteFLangNormalizationFiles.js +31 -0
- package/distr/Tools/src/BuildTasks/Form/WriteFLangNormalizationFiles.js.map +1 -0
- package/distr/Tools/src/BuildTasks/Generator/AcquireFormGenerator.js +27 -0
- package/distr/Tools/src/BuildTasks/Generator/AcquireFormGenerator.js.map +1 -0
- package/distr/Tools/src/BuildTasks/Generator/AcquirePublishedGeneratorTask.js +95 -0
- package/distr/Tools/src/BuildTasks/Generator/AcquirePublishedGeneratorTask.js.map +1 -0
- package/distr/Tools/src/BuildTasks/Generator/BuildGeneratorFromSourcesTask.js +126 -0
- package/distr/Tools/src/BuildTasks/Generator/BuildGeneratorFromSourcesTask.js.map +1 -0
- package/distr/Tools/src/BuildTasks/Generator/GeneratorWorker/CreateAsyncGenerator.js +174 -0
- package/distr/Tools/src/BuildTasks/Generator/GeneratorWorker/CreateAsyncGenerator.js.map +1 -0
- package/distr/Tools/src/BuildTasks/Generator/GeneratorWorker/GeneratorRequireUtils.js +121 -0
- package/distr/Tools/src/BuildTasks/Generator/GeneratorWorker/GeneratorRequireUtils.js.map +1 -0
- package/distr/Tools/src/BuildTasks/Generator/GeneratorWorker/ProcessSugarWorker.js +45 -0
- package/distr/Tools/src/BuildTasks/Generator/GeneratorWorker/ProcessSugarWorker.js.map +1 -0
- package/distr/Tools/src/BuildTasks/Generator/GeneratorWorker/ReadSourcesAndProcessSugarWorker.js +52 -0
- package/distr/Tools/src/BuildTasks/Generator/GeneratorWorker/ReadSourcesAndProcessSugarWorker.js.map +1 -0
- package/distr/Tools/src/BuildTasks/Generator/GeneratorWorker/RequireUncached.js +49 -0
- package/distr/Tools/src/BuildTasks/Generator/GeneratorWorker/RequireUncached.js.map +1 -0
- package/distr/Tools/src/BuildTasks/Generator/GeneratorWorker/TypedProcessWorker.js +19 -0
- package/distr/Tools/src/BuildTasks/Generator/GeneratorWorker/TypedProcessWorker.js.map +1 -0
- package/distr/Tools/src/BuildTasks/ProcessUtils/ProcessUtils.js +64 -0
- package/distr/Tools/src/BuildTasks/ProcessUtils/ProcessUtils.js.map +1 -0
- package/distr/Tools/src/BuildTasks/ProcessUtils/ShellProcessHandle.js +84 -0
- package/distr/Tools/src/BuildTasks/ProcessUtils/ShellProcessHandle.js.map +1 -0
- package/distr/Tools/src/BuildTasks/PublishedVersionUtils.js +174 -0
- package/distr/Tools/src/BuildTasks/PublishedVersionUtils.js.map +1 -0
- package/distr/Tools/src/BuildTasks/ReadFormSource.js +112 -0
- package/distr/Tools/src/BuildTasks/ReadFormSource.js.map +1 -0
- package/distr/Tools/src/BuildTasks/ResolveFormInfo.js +107 -0
- package/distr/Tools/src/BuildTasks/ResolveFormInfo.js.map +1 -0
- package/distr/Tools/src/BuildTasks/Version.js +41 -0
- package/distr/Tools/src/BuildTasks/Version.js.map +1 -0
- package/distr/Tools/src/BuildTasks/WriteFormMeta.js +27 -0
- package/distr/Tools/src/BuildTasks/WriteFormMeta.js.map +1 -0
- package/distr/Tools/src/CLICommands/BuildForms/BuildCacheMode.js +28 -0
- package/distr/Tools/src/CLICommands/BuildForms/BuildCacheMode.js.map +1 -0
- package/distr/Tools/src/CLICommands/BuildForms/BuildFormsOptions.js +169 -0
- package/distr/Tools/src/CLICommands/BuildForms/BuildFormsOptions.js.map +1 -0
- package/distr/Tools/src/CLICommands/BuildForms/ClearSourceMapForProduction.js +24 -0
- package/distr/Tools/src/CLICommands/BuildForms/ClearSourceMapForProduction.js.map +1 -0
- package/distr/Tools/src/CLICommands/BuildForms/RunBuildForms.js +234 -0
- package/distr/Tools/src/CLICommands/BuildForms/RunBuildForms.js.map +1 -0
- package/distr/Tools/src/CLICommands/BuildServer/BuildLogsWebsocketController.js +36 -0
- package/distr/Tools/src/CLICommands/BuildServer/BuildLogsWebsocketController.js.map +1 -0
- package/distr/Tools/src/CLICommands/BuildServer/BuildServerServerOptions.js +112 -0
- package/distr/Tools/src/CLICommands/BuildServer/BuildServerServerOptions.js.map +1 -0
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/BuildServerBackendResourcesController.js +158 -0
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/BuildServerBackendResourcesController.js.map +1 -0
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/BuildServerBackendResourcesUpdatesController.js +94 -0
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/BuildServerBackendResourcesUpdatesController.js.map +1 -0
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/BuildServerBuildFormsController.js +129 -0
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/BuildServerBuildFormsController.js.map +1 -0
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/BuildServerCandyWidgetController.js +45 -0
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/BuildServerCandyWidgetController.js.map +1 -0
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/BuildServerClientJsController.js +76 -0
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/BuildServerClientJsController.js.map +1 -0
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/BuildServerClientJsFromResourcesController.js +67 -0
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/BuildServerClientJsFromResourcesController.js.map +1 -0
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/BuildServerFormInfoController.js +65 -0
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/BuildServerFormInfoController.js.map +1 -0
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/BuildServerLocalSourcesEngineController.js +117 -0
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/BuildServerLocalSourcesEngineController.js.map +1 -0
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/BuildServerPrebuiltResourcesController.js +22 -0
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/BuildServerPrebuiltResourcesController.js.map +1 -0
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/BuildServerPublishedEngineController.js +96 -0
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/BuildServerPublishedEngineController.js.map +1 -0
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/DevServers/BuildFormDevServer.js +231 -0
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/DevServers/BuildFormDevServer.js.map +1 -0
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/DevServers/CandyWidgetDevServer.js +70 -0
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/DevServers/CandyWidgetDevServer.js.map +1 -0
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/DevServers/ClientJsDevServer.js +57 -0
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/DevServers/ClientJsDevServer.js.map +1 -0
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/DevServers/EngineDevServer.js +67 -0
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/DevServers/EngineDevServer.js.map +1 -0
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/DevServers/ReportGeneratorErrorToPageBody.js +21 -0
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/DevServers/ReportGeneratorErrorToPageBody.js.map +1 -0
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/DevServers/RunFormCompilationViaWebpackDevServer.js +52 -0
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/DevServers/RunFormCompilationViaWebpackDevServer.js.map +1 -0
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/DevServers/WebpackDevServerWorker/WebpackDevServerWorker.js +80 -0
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/DevServers/WebpackDevServerWorker/WebpackDevServerWorker.js.map +1 -0
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/DevServers/WebpackDevServerWorker/WebpackDevServerWorkerFactory.js +31 -0
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/DevServers/WebpackDevServerWorker/WebpackDevServerWorkerFactory.js.map +1 -0
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/DevServers/WebpackInMemoryUtils/IInputFileSystem.js +6 -0
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/DevServers/WebpackInMemoryUtils/IInputFileSystem.js.map +1 -0
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/DevServers/WebpackInMemoryUtils/IWatchFileSystem.js +6 -0
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/DevServers/WebpackInMemoryUtils/IWatchFileSystem.js.map +1 -0
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/DevServers/WebpackInMemoryUtils/WebpackHybridFileSystem.js +184 -0
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/DevServers/WebpackInMemoryUtils/WebpackHybridFileSystem.js.map +1 -0
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/Directories/FarmDirectory.js +213 -0
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/Directories/FarmDirectory.js.map +1 -0
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/GlobToRegexp.js +28 -0
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/GlobToRegexp.js.map +1 -0
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/IGeneratedServerSideSourcesProvider.js +6 -0
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/IGeneratedServerSideSourcesProvider.js.map +1 -0
- package/distr/Tools/src/CLICommands/BuildServer/RunBuildServer.js +110 -0
- package/distr/Tools/src/CLICommands/BuildServer/RunBuildServer.js.map +1 -0
- package/distr/Tools/src/CLICommands/BuildServer/StdStreamsIntercepter.js +50 -0
- package/distr/Tools/src/CLICommands/BuildServer/StdStreamsIntercepter.js.map +1 -0
- package/distr/Tools/src/CLICommands/CommonOptions/BuildDebugOnlyOption.js +19 -0
- package/distr/Tools/src/CLICommands/CommonOptions/BuildDebugOnlyOption.js.map +1 -0
- package/distr/Tools/src/CLICommands/CommonOptions/CommonOptionDefintions.js +30 -0
- package/distr/Tools/src/CLICommands/CommonOptions/CommonOptionDefintions.js.map +1 -0
- package/distr/Tools/src/CLICommands/CommonOptions/CommonOptions.js +6 -0
- package/distr/Tools/src/CLICommands/CommonOptions/CommonOptions.js.map +1 -0
- package/distr/Tools/src/CLICommands/DevBuild/DevBuildOptions.js +163 -0
- package/distr/Tools/src/CLICommands/DevBuild/DevBuildOptions.js.map +1 -0
- package/distr/Tools/src/CLICommands/DevBuild/RunDevBuild.js +112 -0
- package/distr/Tools/src/CLICommands/DevBuild/RunDevBuild.js.map +1 -0
- package/distr/Tools/src/CLICommands/FormStats/FormStatsOptions.js +34 -0
- package/distr/Tools/src/CLICommands/FormStats/FormStatsOptions.js.map +1 -0
- package/distr/Tools/src/CLICommands/FormStats/RunFormStats.js +50 -0
- package/distr/Tools/src/CLICommands/FormStats/RunFormStats.js.map +1 -0
- package/distr/Tools/src/CLICommands/FormsHelper/FormsHelperController.js +54 -0
- package/distr/Tools/src/CLICommands/FormsHelper/FormsHelperController.js.map +1 -0
- package/distr/Tools/src/CLICommands/InitForm/EmptyFormTemplate/autocalc/{gfv}./320/232/320/241.candy.js.kclang +0 -0
- package/distr/Tools/src/CLICommands/InitForm/EmptyFormTemplate/converters/{gfv}.AfterMerge.xslt +11 -0
- package/distr/Tools/src/CLICommands/InitForm/EmptyFormTemplate/converters/{gfv}.BeforePreload.xslt +11 -0
- package/distr/Tools/src/CLICommands/InitForm/EmptyFormTemplate/converters/{gfv}.fufPatcher.xslt +11 -0
- package/distr/Tools/src/CLICommands/InitForm/EmptyFormTemplate/converters/{gfv}.outer.inner.json +1 -0
- package/distr/Tools/src/CLICommands/InitForm/EmptyFormTemplate/fetchfunctions/{gfv}.fetchfunctions.js +2 -0
- package/distr/Tools/src/CLICommands/InitForm/EmptyFormTemplate/fetchfunctions/{gfv}.fetchfunctions.js.map +1 -0
- package/distr/Tools/src/CLICommands/InitForm/EmptyFormTemplate/form.json +12 -0
- package/distr/Tools/src/CLICommands/InitForm/EmptyFormTemplate/helpers/addPril1.txt +6 -0
- package/distr/Tools/src/CLICommands/InitForm/EmptyFormTemplate/presentations.json +8 -0
- package/distr/Tools/src/CLICommands/InitForm/EmptyFormTemplate/schemas/{gfv}.0.rng.xml +20 -0
- package/distr/Tools/src/CLICommands/InitForm/EmptyFormTemplate/sugar/index.sugar.xml +10 -0
- package/distr/Tools/src/CLICommands/InitForm/EmptyFormTemplate/test/browser/Smoke.test.js +16 -0
- package/distr/Tools/src/CLICommands/InitForm/EmptyFormTemplate/test/browser/Smoke.test.js.map +1 -0
- package/distr/Tools/src/CLICommands/InitForm/EmptyFormTemplate/test/ui/DemoTest.test.js +23 -0
- package/distr/Tools/src/CLICommands/InitForm/EmptyFormTemplate/test/ui/DemoTest.test.js.map +1 -0
- package/distr/Tools/src/CLICommands/InitForm/EmptyFormTemplate/validations/validations.KC.kclang +0 -0
- package/distr/Tools/src/CLICommands/InitForm/InitFormOptions.js +34 -0
- package/distr/Tools/src/CLICommands/InitForm/InitFormOptions.js.map +1 -0
- package/distr/Tools/src/CLICommands/InitForm/RunInitForm.js +117 -0
- package/distr/Tools/src/CLICommands/InitForm/RunInitForm.js.map +1 -0
- package/distr/Tools/src/CLICommands/Localization/LocalizationOptions.js +44 -0
- package/distr/Tools/src/CLICommands/Localization/LocalizationOptions.js.map +1 -0
- package/distr/Tools/src/CLICommands/Localization/RunLocalization.js +73 -0
- package/distr/Tools/src/CLICommands/Localization/RunLocalization.js.map +1 -0
- package/distr/Tools/src/CLICommands/RenameFiles/RenameFilesOptions.js +25 -0
- package/distr/Tools/src/CLICommands/RenameFiles/RenameFilesOptions.js.map +1 -0
- package/distr/Tools/src/CLICommands/RenameFiles/RunRenameFiles.js +38 -0
- package/distr/Tools/src/CLICommands/RenameFiles/RunRenameFiles.js.map +1 -0
- package/distr/Tools/src/CLICommands/SugarExtractor/ExtractTextsFromSugarController.js +36 -0
- package/distr/Tools/src/CLICommands/SugarExtractor/ExtractTextsFromSugarController.js.map +1 -0
- package/distr/Tools/src/CLICommands/SugarExtractor/Utils.js +50 -0
- package/distr/Tools/src/CLICommands/SugarExtractor/Utils.js.map +1 -0
- package/distr/Tools/src/CLICommands/UpgradeForm/RunUpgradeForm.js +144 -0
- package/distr/Tools/src/CLICommands/UpgradeForm/RunUpgradeForm.js.map +1 -0
- package/distr/Tools/src/CLICommands/UpgradeForm/UpgradeFormOptions.js +78 -0
- package/distr/Tools/src/CLICommands/UpgradeForm/UpgradeFormOptions.js.map +1 -0
- package/distr/Tools/src/CandyCLI.js +144 -0
- package/distr/Tools/src/CandyCLI.js.map +1 -0
- package/distr/Tools/src/CheckNodeJsVersion.js +32 -0
- package/distr/Tools/src/CheckNodeJsVersion.js.map +1 -0
- package/distr/Tools/src/Commons/ApiClient/ToolsApiClient.js +28 -0
- package/distr/Tools/src/Commons/ApiClient/ToolsApiClient.js.map +1 -0
- package/distr/Tools/src/Commons/ConsoleApplication/ConsoleApplication.js +93 -0
- package/distr/Tools/src/Commons/ConsoleApplication/ConsoleApplication.js.map +1 -0
- package/distr/Tools/src/Commons/ConsoleApplication/ConsoleApplicationContext.js +24 -0
- package/distr/Tools/src/Commons/ConsoleApplication/ConsoleApplicationContext.js.map +1 -0
- package/distr/Tools/src/Commons/ErrorUntyped.js +6 -0
- package/distr/Tools/src/Commons/ErrorUntyped.js.map +1 -0
- package/distr/Tools/src/Commons/EventObject.js +74 -0
- package/distr/Tools/src/Commons/EventObject.js.map +1 -0
- package/distr/Tools/src/Commons/ExecUtils.js +38 -0
- package/distr/Tools/src/Commons/ExecUtils.js.map +1 -0
- package/distr/Tools/src/Commons/ExtractGfvsFromFileName.js +21 -0
- package/distr/Tools/src/Commons/ExtractGfvsFromFileName.js.map +1 -0
- package/distr/Tools/src/Commons/FormGlobsUtils.js +137 -0
- package/distr/Tools/src/Commons/FormGlobsUtils.js.map +1 -0
- package/distr/Tools/src/Commons/FormLocationInfo.js +6 -0
- package/distr/Tools/src/Commons/FormLocationInfo.js.map +1 -0
- package/distr/Tools/src/Commons/FsUtils.js +35 -0
- package/distr/Tools/src/Commons/FsUtils.js.map +1 -0
- package/distr/Tools/src/Commons/GetCpuLimits.js +64 -0
- package/distr/Tools/src/Commons/GetCpuLimits.js.map +1 -0
- package/distr/Tools/src/Commons/HttpServer/AttributeRouting/Actions.js +38 -0
- package/distr/Tools/src/Commons/HttpServer/AttributeRouting/Actions.js.map +1 -0
- package/distr/Tools/src/Commons/HttpServer/AttributeRouting/Methods.js +57 -0
- package/distr/Tools/src/Commons/HttpServer/AttributeRouting/Methods.js.map +1 -0
- package/distr/Tools/src/Commons/HttpServer/AttributeRouting/NotFoundWebError.js +15 -0
- package/distr/Tools/src/Commons/HttpServer/AttributeRouting/NotFoundWebError.js.map +1 -0
- package/distr/Tools/src/Commons/HttpServer/AttributeRouting/ParamBinders/CookieParamParamBinder.js +18 -0
- package/distr/Tools/src/Commons/HttpServer/AttributeRouting/ParamBinders/CookieParamParamBinder.js.map +1 -0
- package/distr/Tools/src/Commons/HttpServer/AttributeRouting/ParamBinders/IParamBinder.js +6 -0
- package/distr/Tools/src/Commons/HttpServer/AttributeRouting/ParamBinders/IParamBinder.js.map +1 -0
- package/distr/Tools/src/Commons/HttpServer/AttributeRouting/ParamBinders/JsonBodyParamBinder.js +14 -0
- package/distr/Tools/src/Commons/HttpServer/AttributeRouting/ParamBinders/JsonBodyParamBinder.js.map +1 -0
- package/distr/Tools/src/Commons/HttpServer/AttributeRouting/ParamBinders/StringBodyParamBinder.js +17 -0
- package/distr/Tools/src/Commons/HttpServer/AttributeRouting/ParamBinders/StringBodyParamBinder.js.map +1 -0
- package/distr/Tools/src/Commons/HttpServer/AttributeRouting/ParamBinders/UrlParamBinder.js +22 -0
- package/distr/Tools/src/Commons/HttpServer/AttributeRouting/ParamBinders/UrlParamBinder.js.map +1 -0
- package/distr/Tools/src/Commons/HttpServer/AttributeRouting/ParamBinders/UrlQueryParamBinder.js +20 -0
- package/distr/Tools/src/Commons/HttpServer/AttributeRouting/ParamBinders/UrlQueryParamBinder.js.map +1 -0
- package/distr/Tools/src/Commons/HttpServer/AttributeRouting/Params.js +46 -0
- package/distr/Tools/src/Commons/HttpServer/AttributeRouting/Params.js.map +1 -0
- package/distr/Tools/src/Commons/HttpServer/AttributeRouting/Results/CustomActionResultHandler.js +13 -0
- package/distr/Tools/src/Commons/HttpServer/AttributeRouting/Results/CustomActionResultHandler.js.map +1 -0
- package/distr/Tools/src/Commons/HttpServer/AttributeRouting/Results/CustomContentResultHandler.js +18 -0
- package/distr/Tools/src/Commons/HttpServer/AttributeRouting/Results/CustomContentResultHandler.js.map +1 -0
- package/distr/Tools/src/Commons/HttpServer/AttributeRouting/Results/EmptyResultHandler.js +13 -0
- package/distr/Tools/src/Commons/HttpServer/AttributeRouting/Results/EmptyResultHandler.js.map +1 -0
- package/distr/Tools/src/Commons/HttpServer/AttributeRouting/Results/HtmlResultHandler.js +13 -0
- package/distr/Tools/src/Commons/HttpServer/AttributeRouting/Results/HtmlResultHandler.js.map +1 -0
- package/distr/Tools/src/Commons/HttpServer/AttributeRouting/Results/IResultHandler.js +6 -0
- package/distr/Tools/src/Commons/HttpServer/AttributeRouting/Results/IResultHandler.js.map +1 -0
- package/distr/Tools/src/Commons/HttpServer/AttributeRouting/Results/JsonResultHandler.js +13 -0
- package/distr/Tools/src/Commons/HttpServer/AttributeRouting/Results/JsonResultHandler.js.map +1 -0
- package/distr/Tools/src/Commons/HttpServer/AttributeRouting/Results/PlainTextResultHandler.js +13 -0
- package/distr/Tools/src/Commons/HttpServer/AttributeRouting/Results/PlainTextResultHandler.js.map +1 -0
- package/distr/Tools/src/Commons/HttpServer/AttributeRouting/Results/StreamResultHandler.js +113 -0
- package/distr/Tools/src/Commons/HttpServer/AttributeRouting/Results/StreamResultHandler.js.map +1 -0
- package/distr/Tools/src/Commons/HttpServer/AttributeRouting/Results.js +24 -0
- package/distr/Tools/src/Commons/HttpServer/AttributeRouting/Results.js.map +1 -0
- package/distr/Tools/src/Commons/HttpServer/ExpressWrapper/ExpressServerWrapper.js +106 -0
- package/distr/Tools/src/Commons/HttpServer/ExpressWrapper/ExpressServerWrapper.js.map +1 -0
- package/distr/Tools/src/Commons/HttpServer/ExpressWrapper/SingletonController.js +22 -0
- package/distr/Tools/src/Commons/HttpServer/ExpressWrapper/SingletonController.js.map +1 -0
- package/distr/Tools/src/Commons/Locks/Lock.js +24 -0
- package/distr/Tools/src/Commons/Locks/Lock.js.map +1 -0
- package/distr/Tools/src/Commons/Locks/LockHandle.js +17 -0
- package/distr/Tools/src/Commons/Locks/LockHandle.js.map +1 -0
- package/distr/Tools/src/Commons/Locks/ReadWriteLockCollection.js +31 -0
- package/distr/Tools/src/Commons/Locks/ReadWriteLockCollection.js.map +1 -0
- package/distr/Tools/src/Commons/Logging/ELKLogger.js +56 -0
- package/distr/Tools/src/Commons/Logging/ELKLogger.js.map +1 -0
- package/distr/Tools/src/Commons/Logging/ILogger.js +25 -0
- package/distr/Tools/src/Commons/Logging/ILogger.js.map +1 -0
- package/distr/Tools/src/Commons/Logging/InMemoryLogger.js +61 -0
- package/distr/Tools/src/Commons/Logging/InMemoryLogger.js.map +1 -0
- package/distr/Tools/src/Commons/Logging/Logger.js +78 -0
- package/distr/Tools/src/Commons/Logging/Logger.js.map +1 -0
- package/distr/Tools/src/Commons/Logging/StaticLogger.js +37 -0
- package/distr/Tools/src/Commons/Logging/StaticLogger.js.map +1 -0
- package/distr/Tools/src/Commons/Options/CommandBasedOptionsParser.d.js +2 -0
- package/distr/Tools/src/Commons/Options/CommandBasedOptionsParser.d.js.map +1 -0
- package/distr/Tools/src/Commons/Options/CommandBasedOptionsParser.js +152 -0
- package/distr/Tools/src/Commons/Options/CommandBasedOptionsParser.js.map +1 -0
- package/distr/Tools/src/Commons/PathPattern.js +42 -0
- package/distr/Tools/src/Commons/PathPattern.js.map +1 -0
- package/distr/Tools/src/Commons/TasksCore/AggregatedError.js +16 -0
- package/distr/Tools/src/Commons/TasksCore/AggregatedError.js.map +1 -0
- package/distr/Tools/src/Commons/TasksCore/BuildTask.js +6 -0
- package/distr/Tools/src/Commons/TasksCore/BuildTask.js.map +1 -0
- package/distr/Tools/src/Commons/TasksCore/ChainableValueProducer.js +668 -0
- package/distr/Tools/src/Commons/TasksCore/ChainableValueProducer.js.map +1 -0
- package/distr/Tools/src/Commons/TasksCore/DirectoryEntriesProducer.js +77 -0
- package/distr/Tools/src/Commons/TasksCore/DirectoryEntriesProducer.js.map +1 -0
- package/distr/Tools/src/Commons/TasksCore/EmptyProducer.js +20 -0
- package/distr/Tools/src/Commons/TasksCore/EmptyProducer.js.map +1 -0
- package/distr/Tools/src/Commons/TasksCore/FileSystemEntriesProducer.js +48 -0
- package/distr/Tools/src/Commons/TasksCore/FileSystemEntriesProducer.js.map +1 -0
- package/distr/Tools/src/Commons/TasksCore/FileValueProducer.js +45 -0
- package/distr/Tools/src/Commons/TasksCore/FileValueProducer.js.map +1 -0
- package/distr/Tools/src/Commons/TasksCore/FixedDirectoryEntriesProducer.js +25 -0
- package/distr/Tools/src/Commons/TasksCore/FixedDirectoryEntriesProducer.js.map +1 -0
- package/distr/Tools/src/Commons/TasksCore/Observe.js +35 -0
- package/distr/Tools/src/Commons/TasksCore/Observe.js.map +1 -0
- package/distr/Tools/src/Commons/TasksCore/SingleValueProducer.js +29 -0
- package/distr/Tools/src/Commons/TasksCore/SingleValueProducer.js.map +1 -0
- package/distr/Tools/src/Commons/TimingUtils.js +13 -0
- package/distr/Tools/src/Commons/TimingUtils.js.map +1 -0
- package/distr/Tools/src/FormWebpackConfiguration/CacheAssetsPlugin.js +180 -0
- package/distr/Tools/src/FormWebpackConfiguration/CacheAssetsPlugin.js.map +1 -0
- package/distr/Tools/src/FormWebpackConfiguration/createFormWebpackConfiguration.js +145 -0
- package/distr/Tools/src/FormWebpackConfiguration/createFormWebpackConfiguration.js.map +1 -0
- package/distr/Tools/src/FormWebpackConfiguration/variables.less +132 -0
- package/distr/Tools/src/GenerateReadMe.js +54 -0
- package/distr/Tools/src/GenerateReadMe.js.map +1 -0
- package/distr/Tools/src/Keys/localhost-key.pem +116 -0
- package/distr/Tools/src/Keys/localhost.pem +35 -0
- package/distr/Tools/src/LocalServerFrontEndDist/enhancedClient.js +2 -0
- package/distr/Tools/src/LocalServerFrontEndDist/enhancedClient.js.LICENSE.txt +49 -0
- package/distr/Tools/src/LocalServerFrontEndDist/favicon-16x16.png +0 -0
- package/distr/Tools/src/LocalServerFrontEndDist/favicon-32x32.png +0 -0
- package/distr/Tools/src/LocalServerFrontEndDist/favicon.ico +0 -0
- package/distr/Tools/src/LocalServerFrontEndDist/index.html +1 -0
- package/distr/Tools/src/LocalServerFrontEndDist/index.js +3 -0
- package/distr/Tools/src/LocalServerFrontEndDist/index.js.LICENSE.txt +60 -0
- package/distr/Tools/src/LocalServerFrontEndDist/index.js.map +1 -0
- package/distr/Tools/src/Options/CandyToolOptions.js +20 -0
- package/distr/Tools/src/Options/CandyToolOptions.js.map +1 -0
- package/distr/Tools/src/ReadFarmConfig.js +18 -0
- package/distr/Tools/src/ReadFarmConfig.js.map +1 -0
- package/distr/Tools/src/SelfUpdate.js +121 -0
- package/distr/Tools/src/SelfUpdate.js.map +1 -0
- package/distr/Tools/src/StaticFilesForProductionResourcesDir/client.js +1722 -0
- package/distr/Tools/src/StaticFilesForProductionResourcesDir/client.js.LICENSE.txt +1 -0
- package/distr/Tools/src/StaticFilesForProductionResourcesDir/client.js.map +1 -0
- package/distr/Tools/src/StaticFilesForProductionResourcesDir/client.min.js +1076 -0
- package/distr/Tools/src/StaticFilesForProductionResourcesDir/client.min.js.map +1 -0
- package/distr/Tools/src/StaticFilesForProductionResourcesDir/jquery-1.11.3.min.js +3328 -0
- package/distr/Tools/src/StaticFilesForProductionResourcesDir/jquery-1.11.3.min.js.map +1 -0
- package/distr/Tools/src/StaticFilesForProductionResourcesDir/polyfill.min.js +6517 -0
- package/distr/Tools/src/StaticFilesForProductionResourcesDir/polyfill.min.js.map +1 -0
- package/distr/Tools/src/StaticFilesForProductionResourcesDir/testing.min.js +222 -0
- package/distr/Tools/src/StaticFilesForProductionResourcesDir/testing.min.js.map +1 -0
- package/distr/Tools/src/StaticFilesForResourcesDir/jquery-1.11.3.min.js +3328 -0
- package/distr/Tools/src/StaticFilesForResourcesDir/jquery-1.11.3.min.js.map +1 -0
- package/distr/Tools/src/StaticFilesForResourcesDir/polyfill.min.js +6517 -0
- package/distr/Tools/src/StaticFilesForResourcesDir/polyfill.min.js.map +1 -0
- package/distr/Tools/src/StaticFilesForResourcesDir/testing.min.js +222 -0
- package/distr/Tools/src/StaticFilesForResourcesDir/testing.min.js.map +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.execCommandAsync = execCommandAsync;
|
|
7
|
+
var _child_process = require("child_process");
|
|
8
|
+
function execCommandAsync(logger, command, options = {}) {
|
|
9
|
+
return new Promise((resolve, reject) => {
|
|
10
|
+
const {
|
|
11
|
+
caption,
|
|
12
|
+
...execOptions
|
|
13
|
+
} = options;
|
|
14
|
+
if (caption != undefined) {
|
|
15
|
+
logger.log(caption);
|
|
16
|
+
}
|
|
17
|
+
logger.verbose(`Run: ${command}`);
|
|
18
|
+
(0, _child_process.exec)(command, {
|
|
19
|
+
...execOptions
|
|
20
|
+
}, (error, stdout, stderr) => {
|
|
21
|
+
for (const line of stdout.split("\n")) {
|
|
22
|
+
logger.verbose(line);
|
|
23
|
+
}
|
|
24
|
+
for (const line of stderr.split("\n")) {
|
|
25
|
+
logger.verbose(line);
|
|
26
|
+
}
|
|
27
|
+
if (error !== null) {
|
|
28
|
+
reject(new Error(`Executed with exit code ${error}`));
|
|
29
|
+
}
|
|
30
|
+
resolve({
|
|
31
|
+
code: 0,
|
|
32
|
+
stdout: stdout,
|
|
33
|
+
stderr: stderr
|
|
34
|
+
});
|
|
35
|
+
});
|
|
36
|
+
});
|
|
37
|
+
}
|
|
38
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfY2hpbGRfcHJvY2VzcyIsInJlcXVpcmUiLCJleGVjQ29tbWFuZEFzeW5jIiwibG9nZ2VyIiwiY29tbWFuZCIsIm9wdGlvbnMiLCJQcm9taXNlIiwicmVzb2x2ZSIsInJlamVjdCIsImNhcHRpb24iLCJleGVjT3B0aW9ucyIsInVuZGVmaW5lZCIsImxvZyIsInZlcmJvc2UiLCJleGVjIiwiZXJyb3IiLCJzdGRvdXQiLCJzdGRlcnIiLCJsaW5lIiwic3BsaXQiLCJFcnJvciIsImNvZGUiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvQ29tbW9ucy9FeGVjVXRpbHMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZXhlYyB9IGZyb20gXCJjaGlsZF9wcm9jZXNzXCI7XG5cbmltcG9ydCB7IEV4ZWNPcHRpb25zLCBFeGVjT3V0cHV0UmV0dXJuVmFsdWUgfSBmcm9tIFwic2hlbGxqc1wiO1xuXG5pbXBvcnQgeyBJTG9nZ2VyIH0gZnJvbSBcIi4vTG9nZ2luZy9JTG9nZ2VyXCI7XG5cbnR5cGUgT21pdDxULCBLIGV4dGVuZHMga2V5b2YgVD4gPSBQaWNrPFxuICAgIFQsXG4gICAgKHsgW1AgaW4ga2V5b2YgVF06IFAgfSAmIHsgW1AgaW4gS106IG5ldmVyIH0gJiB7IFt4OiBzdHJpbmddOiBuZXZlciB9KVtrZXlvZiBUXVxuPjtcblxuaW50ZXJmYWNlIEV4ZWNDb21tYW5kQXN5bmNPcHRpb25zIGV4dGVuZHMgT21pdDxFeGVjT3B0aW9ucywgXCJhc3luY1wiIHwgXCJzaWxlbnRcIj4ge1xuICAgIGNhcHRpb24/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBleGVjQ29tbWFuZEFzeW5jKFxuICAgIGxvZ2dlcjogSUxvZ2dlcixcbiAgICBjb21tYW5kOiBzdHJpbmcsXG4gICAgb3B0aW9uczogRXhlY0NvbW1hbmRBc3luY09wdGlvbnMgPSB7fVxuKTogUHJvbWlzZTxFeGVjT3V0cHV0UmV0dXJuVmFsdWU+IHtcbiAgICByZXR1cm4gbmV3IFByb21pc2U8RXhlY091dHB1dFJldHVyblZhbHVlPigocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICAgIGNvbnN0IHsgY2FwdGlvbiwgLi4uZXhlY09wdGlvbnMgfSA9IG9wdGlvbnM7XG4gICAgICAgIGlmIChjYXB0aW9uICE9IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgbG9nZ2VyLmxvZyhjYXB0aW9uKTtcbiAgICAgICAgfVxuICAgICAgICBsb2dnZXIudmVyYm9zZShgUnVuOiAke2NvbW1hbmR9YCk7XG4gICAgICAgIGV4ZWMoY29tbWFuZCwgeyAuLi5leGVjT3B0aW9ucyB9LCAoZXJyb3IsIHN0ZG91dCwgc3RkZXJyKSA9PiB7XG4gICAgICAgICAgICBmb3IgKGNvbnN0IGxpbmUgb2Ygc3Rkb3V0LnNwbGl0KFwiXFxuXCIpKSB7XG4gICAgICAgICAgICAgICAgbG9nZ2VyLnZlcmJvc2UobGluZSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGZvciAoY29uc3QgbGluZSBvZiBzdGRlcnIuc3BsaXQoXCJcXG5cIikpIHtcbiAgICAgICAgICAgICAgICBsb2dnZXIudmVyYm9zZShsaW5lKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKGVycm9yICE9PSBudWxsKSB7XG4gICAgICAgICAgICAgICAgcmVqZWN0KG5ldyBFcnJvcihgRXhlY3V0ZWQgd2l0aCBleGl0IGNvZGUgJHtlcnJvcn1gKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXNvbHZlKHtcbiAgICAgICAgICAgICAgICBjb2RlOiAwLFxuICAgICAgICAgICAgICAgIHN0ZG91dDogc3Rkb3V0LFxuICAgICAgICAgICAgICAgIHN0ZGVycjogc3RkZXJyLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgIH0pO1xufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxJQUFBQSxjQUFBLEdBQUFDLE9BQUE7QUFlTyxTQUFTQyxnQkFBZ0JBLENBQzVCQyxNQUFlLEVBQ2ZDLE9BQWUsRUFDZkMsT0FBZ0MsR0FBRyxDQUFDLENBQUMsRUFDUDtFQUM5QixPQUFPLElBQUlDLE9BQU8sQ0FBd0IsQ0FBQ0MsT0FBTyxFQUFFQyxNQUFNLEtBQUs7SUFDM0QsTUFBTTtNQUFFQyxPQUFPO01BQUUsR0FBR0M7SUFBWSxDQUFDLEdBQUdMLE9BQU87SUFDM0MsSUFBSUksT0FBTyxJQUFJRSxTQUFTLEVBQUU7TUFDdEJSLE1BQU0sQ0FBQ1MsR0FBRyxDQUFDSCxPQUFPLENBQUM7SUFDdkI7SUFDQU4sTUFBTSxDQUFDVSxPQUFPLENBQUMsUUFBUVQsT0FBTyxFQUFFLENBQUM7SUFDakMsSUFBQVUsbUJBQUksRUFBQ1YsT0FBTyxFQUFFO01BQUUsR0FBR007SUFBWSxDQUFDLEVBQUUsQ0FBQ0ssS0FBSyxFQUFFQyxNQUFNLEVBQUVDLE1BQU0sS0FBSztNQUN6RCxLQUFLLE1BQU1DLElBQUksSUFBSUYsTUFBTSxDQUFDRyxLQUFLLENBQUMsSUFBSSxDQUFDLEVBQUU7UUFDbkNoQixNQUFNLENBQUNVLE9BQU8sQ0FBQ0ssSUFBSSxDQUFDO01BQ3hCO01BRUEsS0FBSyxNQUFNQSxJQUFJLElBQUlELE1BQU0sQ0FBQ0UsS0FBSyxDQUFDLElBQUksQ0FBQyxFQUFFO1FBQ25DaEIsTUFBTSxDQUFDVSxPQUFPLENBQUNLLElBQUksQ0FBQztNQUN4QjtNQUVBLElBQUlILEtBQUssS0FBSyxJQUFJLEVBQUU7UUFDaEJQLE1BQU0sQ0FBQyxJQUFJWSxLQUFLLENBQUMsMkJBQTJCTCxLQUFLLEVBQUUsQ0FBQyxDQUFDO01BQ3pEO01BQ0FSLE9BQU8sQ0FBQztRQUNKYyxJQUFJLEVBQUUsQ0FBQztRQUNQTCxNQUFNLEVBQUVBLE1BQU07UUFDZEMsTUFBTSxFQUFFQTtNQUNaLENBQUMsQ0FBQztJQUNOLENBQUMsQ0FBQztFQUNOLENBQUMsQ0FBQztBQUNOIiwiaWdub3JlTGlzdCI6W119
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ExecUtils.js","names":["_child_process","require","execCommandAsync","logger","command","options","Promise","resolve","reject","caption","execOptions","undefined","log","verbose","exec","error","stdout","stderr","line","split","Error","code"],"sources":["../../../../src/Commons/ExecUtils.ts"],"sourcesContent":["import { exec } from \"child_process\";\n\nimport { ExecOptions, ExecOutputReturnValue } from \"shelljs\";\n\nimport { ILogger } from \"./Logging/ILogger\";\n\ntype Omit<T, K extends keyof T> = Pick<\n T,\n ({ [P in keyof T]: P } & { [P in K]: never } & { [x: string]: never })[keyof T]\n>;\n\ninterface ExecCommandAsyncOptions extends Omit<ExecOptions, \"async\" | \"silent\"> {\n caption?: string;\n}\n\nexport function execCommandAsync(\n logger: ILogger,\n command: string,\n options: ExecCommandAsyncOptions = {}\n): Promise<ExecOutputReturnValue> {\n return new Promise<ExecOutputReturnValue>((resolve, reject) => {\n const { caption, ...execOptions } = options;\n if (caption != undefined) {\n logger.log(caption);\n }\n logger.verbose(`Run: ${command}`);\n exec(command, { ...execOptions }, (error, stdout, stderr) => {\n for (const line of stdout.split(\"\\n\")) {\n logger.verbose(line);\n }\n\n for (const line of stderr.split(\"\\n\")) {\n logger.verbose(line);\n }\n\n if (error !== null) {\n reject(new Error(`Executed with exit code ${error}`));\n }\n resolve({\n code: 0,\n stdout: stdout,\n stderr: stderr,\n });\n });\n });\n}\n"],"mappings":";;;;;;AAAA,IAAAA,cAAA,GAAAC,OAAA;AAeO,SAASC,gBAAgBA,CAC5BC,MAAe,EACfC,OAAe,EACfC,OAAgC,GAAG,CAAC,CAAC,EACP;EAC9B,OAAO,IAAIC,OAAO,CAAwB,CAACC,OAAO,EAAEC,MAAM,KAAK;IAC3D,MAAM;MAAEC,OAAO;MAAE,GAAGC;IAAY,CAAC,GAAGL,OAAO;IAC3C,IAAII,OAAO,IAAIE,SAAS,EAAE;MACtBR,MAAM,CAACS,GAAG,CAACH,OAAO,CAAC;IACvB;IACAN,MAAM,CAACU,OAAO,CAAC,QAAQT,OAAO,EAAE,CAAC;IACjC,IAAAU,mBAAI,EAACV,OAAO,EAAE;MAAE,GAAGM;IAAY,CAAC,EAAE,CAACK,KAAK,EAAEC,MAAM,EAAEC,MAAM,KAAK;MACzD,KAAK,MAAMC,IAAI,IAAIF,MAAM,CAACG,KAAK,CAAC,IAAI,CAAC,EAAE;QACnChB,MAAM,CAACU,OAAO,CAACK,IAAI,CAAC;MACxB;MAEA,KAAK,MAAMA,IAAI,IAAID,MAAM,CAACE,KAAK,CAAC,IAAI,CAAC,EAAE;QACnChB,MAAM,CAACU,OAAO,CAACK,IAAI,CAAC;MACxB;MAEA,IAAIH,KAAK,KAAK,IAAI,EAAE;QAChBP,MAAM,CAAC,IAAIY,KAAK,CAAC,2BAA2BL,KAAK,EAAE,CAAC,CAAC;MACzD;MACAR,OAAO,CAAC;QACJc,IAAI,EAAE,CAAC;QACPL,MAAM,EAAEA,MAAM;QACdC,MAAM,EAAEA;MACZ,CAAC,CAAC;IACN,CAAC,CAAC;EACN,CAAC,CAAC;AACN","ignoreList":[]}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.extractGfvsFromFileName = extractGfvsFromFileName;
|
|
7
|
+
var _TypingUtils = require("../../../Common/TypingUtils");
|
|
8
|
+
function extractGfvsFromFileName(target) {
|
|
9
|
+
const gfvRegexp = /\d{6,}/g;
|
|
10
|
+
const result = [];
|
|
11
|
+
let match;
|
|
12
|
+
do {
|
|
13
|
+
match = gfvRegexp.exec(target);
|
|
14
|
+
if (match) {
|
|
15
|
+
var _match$;
|
|
16
|
+
result.push((_match$ = match[0]) !== null && _match$ !== void 0 ? _match$ : (0, _TypingUtils.reject)());
|
|
17
|
+
}
|
|
18
|
+
} while (match);
|
|
19
|
+
return result;
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfVHlwaW5nVXRpbHMiLCJyZXF1aXJlIiwiZXh0cmFjdEdmdnNGcm9tRmlsZU5hbWUiLCJ0YXJnZXQiLCJnZnZSZWdleHAiLCJyZXN1bHQiLCJtYXRjaCIsImV4ZWMiLCJfbWF0Y2gkIiwicHVzaCIsInJlamVjdCJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9Db21tb25zL0V4dHJhY3RHZnZzRnJvbUZpbGVOYW1lLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHJlamVjdCB9IGZyb20gXCIuLi8uLi8uLi9Db21tb24vVHlwaW5nVXRpbHNcIjtcblxuZXhwb3J0IGZ1bmN0aW9uIGV4dHJhY3RHZnZzRnJvbUZpbGVOYW1lKHRhcmdldDogc3RyaW5nKTogc3RyaW5nW10ge1xuICAgIGNvbnN0IGdmdlJlZ2V4cCA9IC9cXGR7Nix9L2c7XG4gICAgY29uc3QgcmVzdWx0OiBzdHJpbmdbXSA9IFtdO1xuICAgIGxldCBtYXRjaDogUmVnRXhwTWF0Y2hBcnJheSB8IG51bGw7XG4gICAgZG8ge1xuICAgICAgICBtYXRjaCA9IGdmdlJlZ2V4cC5leGVjKHRhcmdldCk7XG4gICAgICAgIGlmIChtYXRjaCkge1xuICAgICAgICAgICAgcmVzdWx0LnB1c2gobWF0Y2hbMF0gPz8gcmVqZWN0KCkpO1xuICAgICAgICB9XG4gICAgfSB3aGlsZSAobWF0Y2gpO1xuICAgIHJldHVybiByZXN1bHQ7XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLElBQUFBLFlBQUEsR0FBQUMsT0FBQTtBQUVPLFNBQVNDLHVCQUF1QkEsQ0FBQ0MsTUFBYyxFQUFZO0VBQzlELE1BQU1DLFNBQVMsR0FBRyxTQUFTO0VBQzNCLE1BQU1DLE1BQWdCLEdBQUcsRUFBRTtFQUMzQixJQUFJQyxLQUE4QjtFQUNsQyxHQUFHO0lBQ0NBLEtBQUssR0FBR0YsU0FBUyxDQUFDRyxJQUFJLENBQUNKLE1BQU0sQ0FBQztJQUM5QixJQUFJRyxLQUFLLEVBQUU7TUFBQSxJQUFBRSxPQUFBO01BQ1BILE1BQU0sQ0FBQ0ksSUFBSSxFQUFBRCxPQUFBLEdBQUNGLEtBQUssQ0FBQyxDQUFDLENBQUMsY0FBQUUsT0FBQSxjQUFBQSxPQUFBLEdBQUksSUFBQUUsbUJBQU0sRUFBQyxDQUFDLENBQUM7SUFDckM7RUFDSixDQUFDLFFBQVFKLEtBQUs7RUFDZCxPQUFPRCxNQUFNO0FBQ2pCIiwiaWdub3JlTGlzdCI6W119
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ExtractGfvsFromFileName.js","names":["_TypingUtils","require","extractGfvsFromFileName","target","gfvRegexp","result","match","exec","_match$","push","reject"],"sources":["../../../../src/Commons/ExtractGfvsFromFileName.ts"],"sourcesContent":["import { reject } from \"../../../Common/TypingUtils\";\n\nexport function extractGfvsFromFileName(target: string): string[] {\n const gfvRegexp = /\\d{6,}/g;\n const result: string[] = [];\n let match: RegExpMatchArray | null;\n do {\n match = gfvRegexp.exec(target);\n if (match) {\n result.push(match[0] ?? reject());\n }\n } while (match);\n return result;\n}\n"],"mappings":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AAEO,SAASC,uBAAuBA,CAACC,MAAc,EAAY;EAC9D,MAAMC,SAAS,GAAG,SAAS;EAC3B,MAAMC,MAAgB,GAAG,EAAE;EAC3B,IAAIC,KAA8B;EAClC,GAAG;IACCA,KAAK,GAAGF,SAAS,CAACG,IAAI,CAACJ,MAAM,CAAC;IAC9B,IAAIG,KAAK,EAAE;MAAA,IAAAE,OAAA;MACPH,MAAM,CAACI,IAAI,EAAAD,OAAA,GAACF,KAAK,CAAC,CAAC,CAAC,cAAAE,OAAA,cAAAA,OAAA,GAAI,IAAAE,mBAAM,EAAC,CAAC,CAAC;IACrC;EACJ,CAAC,QAAQJ,KAAK;EACd,OAAOD,MAAM;AACjB","ignoreList":[]}
|
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.FormGlobs = void 0;
|
|
8
|
+
var _path = _interopRequireDefault(require("path"));
|
|
9
|
+
var _fsExtra = require("fs-extra");
|
|
10
|
+
var _ResolveFormInfo = require("../BuildTasks/ResolveFormInfo");
|
|
11
|
+
var _FormPathUtils = require("../../../Common/FormPathUtils");
|
|
12
|
+
var _WellKnownDirectories = require("../../../Common/WellKnownDirectories");
|
|
13
|
+
var _FsUtils = require("./FsUtils");
|
|
14
|
+
var _StaticLogger = require("./Logging/StaticLogger");
|
|
15
|
+
class FormGlobs {
|
|
16
|
+
static async enumerateFormsInRepository(...repositoryRoots) {
|
|
17
|
+
const result = [];
|
|
18
|
+
for (const repositoryRoot of repositoryRoots) {
|
|
19
|
+
for (const formJsonPath of await (0, _FsUtils.globAsync)(`candy.farm/forms/*/${_WellKnownDirectories.WellKnownDirectories.FormJsonFileName}`, {
|
|
20
|
+
cwd: repositoryRoot
|
|
21
|
+
})) {
|
|
22
|
+
const formPath = _path.default.dirname(formJsonPath);
|
|
23
|
+
const gfv = (0, _FormPathUtils.extractGfvFromFormPath)(formPath);
|
|
24
|
+
result.push({
|
|
25
|
+
gfv: gfv,
|
|
26
|
+
formPath: _path.default.join(repositoryRoot, formPath),
|
|
27
|
+
formRelativePath: formPath
|
|
28
|
+
});
|
|
29
|
+
}
|
|
30
|
+
for (const formJsonPath of await (0, _FsUtils.globAsync)(`${_WellKnownDirectories.WellKnownDirectories.TestFarmDir}/forms/*/${_WellKnownDirectories.WellKnownDirectories.FormJsonFileName}`, {
|
|
31
|
+
cwd: repositoryRoot
|
|
32
|
+
})) {
|
|
33
|
+
const formPath = _path.default.dirname(formJsonPath);
|
|
34
|
+
const gfv = (0, _FormPathUtils.extractGfvFromFormPath)(formPath);
|
|
35
|
+
result.push({
|
|
36
|
+
gfv: gfv,
|
|
37
|
+
formPath: _path.default.join(repositoryRoot, formPath),
|
|
38
|
+
formRelativePath: formPath
|
|
39
|
+
});
|
|
40
|
+
}
|
|
41
|
+
for (const formJsonPath of await (0, _FsUtils.globAsync)(`candy.rpn.farm/forms/*/${_WellKnownDirectories.WellKnownDirectories.FormJsonFileName}`, {
|
|
42
|
+
cwd: repositoryRoot
|
|
43
|
+
})) {
|
|
44
|
+
const formPath = _path.default.dirname(formJsonPath);
|
|
45
|
+
const gfv = (0, _FormPathUtils.extractGfvFromFormPath)(formPath);
|
|
46
|
+
result.push({
|
|
47
|
+
gfv: gfv,
|
|
48
|
+
formPath: _path.default.join(repositoryRoot, formPath),
|
|
49
|
+
formRelativePath: formPath
|
|
50
|
+
});
|
|
51
|
+
}
|
|
52
|
+
for (const formJsonPath of await (0, _FsUtils.globAsync)(`candy.diadoc.farm/forms/*/${_WellKnownDirectories.WellKnownDirectories.FormJsonFileName}`, {
|
|
53
|
+
cwd: repositoryRoot
|
|
54
|
+
})) {
|
|
55
|
+
const formPath = _path.default.dirname(formJsonPath);
|
|
56
|
+
const gfv = (0, _FormPathUtils.extractGfvFromFormPath)(formPath);
|
|
57
|
+
result.push({
|
|
58
|
+
gfv: gfv,
|
|
59
|
+
formPath: _path.default.join(repositoryRoot, formPath),
|
|
60
|
+
formRelativePath: formPath
|
|
61
|
+
});
|
|
62
|
+
}
|
|
63
|
+
for (const formJsonPath of await (0, _FsUtils.globAsync)(`**/${_WellKnownDirectories.WellKnownDirectories.CandySubdirectoryName}/${_WellKnownDirectories.WellKnownDirectories.FormJsonFileName}`, {
|
|
64
|
+
cwd: _path.default.join(repositoryRoot, "forms")
|
|
65
|
+
})) {
|
|
66
|
+
const formPath = _path.default.dirname(formJsonPath);
|
|
67
|
+
const gfv = (0, _FormPathUtils.extractGfvFromFormPath)(formPath);
|
|
68
|
+
result.push({
|
|
69
|
+
gfv: gfv,
|
|
70
|
+
formPath: _path.default.join(repositoryRoot, "forms", formPath),
|
|
71
|
+
formRelativePath: formPath
|
|
72
|
+
});
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
return result;
|
|
76
|
+
}
|
|
77
|
+
static async ensureEachGlobResolvesIntoExistingForm(formGlobs, farmDirectory) {
|
|
78
|
+
for (const formGlob of formGlobs) {
|
|
79
|
+
const resolvedGfvs = await this.resolveGfvGlobs([formGlob], farmDirectory);
|
|
80
|
+
if (resolvedGfvs.length === 0) {
|
|
81
|
+
throw new Error(`Форм соответствующих ${formGlob} не найдено.`);
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
return formGlobs;
|
|
85
|
+
}
|
|
86
|
+
static async resolveGfvGlobs(formGlobs, farmDirectory) {
|
|
87
|
+
const result = new Map();
|
|
88
|
+
for (const {
|
|
89
|
+
gfv,
|
|
90
|
+
formPath
|
|
91
|
+
} of await FormGlobs.enumerateFormsInRepository(_path.default.normalize(_path.default.join(farmDirectory, "..")))) {
|
|
92
|
+
for (const formGlob of formGlobs) {
|
|
93
|
+
if (await FormGlobs.isFormMatchToGlob(formGlob, gfv, formPath)) {
|
|
94
|
+
result.set(gfv, formPath);
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
return [...result.entries()].map(([gfv, formPath]) => ({
|
|
99
|
+
gfv: gfv,
|
|
100
|
+
formPath: formPath
|
|
101
|
+
}));
|
|
102
|
+
}
|
|
103
|
+
static async resolveSpecifiers(formGlobsWithSpecifiers, farmDirectory) {
|
|
104
|
+
const results = await Promise.all(formGlobsWithSpecifiers.map(x => this.resolveOnlyFormGlobSpecifiers(x, farmDirectory)));
|
|
105
|
+
return results.flat();
|
|
106
|
+
}
|
|
107
|
+
static async isFormMatchToGlob(formGlob, gfv, formPath) {
|
|
108
|
+
const gfvRegexp = new RegExp("^" + formGlob.replace(":with-ui-tests", "").replace(":with-ci-build", "").replace(/\*/gi, "\\d*").replace(/\?/gi, "\\d") + "$");
|
|
109
|
+
if (gfvRegexp.test(gfv)) {
|
|
110
|
+
if (formGlob.includes(":with-ui-tests")) {
|
|
111
|
+
if (!(await (0, _fsExtra.pathExists)(_path.default.join(formPath, "test")))) {
|
|
112
|
+
return false;
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
if (formGlob.includes(":with-ci-build")) {
|
|
116
|
+
const formJsonPath = _path.default.join(formPath, _WellKnownDirectories.WellKnownDirectories.FormJsonFileName);
|
|
117
|
+
const formConfig = await (0, _ResolveFormInfo.readFormConfig)(formJsonPath, new _StaticLogger.NullLogger());
|
|
118
|
+
if (formConfig.build !== "ci") {
|
|
119
|
+
return false;
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
return true;
|
|
123
|
+
}
|
|
124
|
+
return false;
|
|
125
|
+
}
|
|
126
|
+
static async resolveOnlyFormGlobSpecifiers(formGlob, farmDirectory) {
|
|
127
|
+
if (formGlob.endsWith(":with-ui-tests")) {
|
|
128
|
+
return (await this.resolveGfvGlobs([formGlob], farmDirectory)).map(x => x.gfv);
|
|
129
|
+
}
|
|
130
|
+
if (formGlob.endsWith(":with-ci-build")) {
|
|
131
|
+
return (await this.resolveGfvGlobs([formGlob], farmDirectory)).map(x => x.gfv);
|
|
132
|
+
}
|
|
133
|
+
return [formGlob];
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
exports.FormGlobs = FormGlobs;
|
|
137
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcGF0aCIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJyZXF1aXJlIiwiX2ZzRXh0cmEiLCJfUmVzb2x2ZUZvcm1JbmZvIiwiX0Zvcm1QYXRoVXRpbHMiLCJfV2VsbEtub3duRGlyZWN0b3JpZXMiLCJfRnNVdGlscyIsIl9TdGF0aWNMb2dnZXIiLCJGb3JtR2xvYnMiLCJlbnVtZXJhdGVGb3Jtc0luUmVwb3NpdG9yeSIsInJlcG9zaXRvcnlSb290cyIsInJlc3VsdCIsInJlcG9zaXRvcnlSb290IiwiZm9ybUpzb25QYXRoIiwiZ2xvYkFzeW5jIiwiV2VsbEtub3duRGlyZWN0b3JpZXMiLCJGb3JtSnNvbkZpbGVOYW1lIiwiY3dkIiwiZm9ybVBhdGgiLCJwYXRoIiwiZGlybmFtZSIsImdmdiIsImV4dHJhY3RHZnZGcm9tRm9ybVBhdGgiLCJwdXNoIiwiam9pbiIsImZvcm1SZWxhdGl2ZVBhdGgiLCJUZXN0RmFybURpciIsIkNhbmR5U3ViZGlyZWN0b3J5TmFtZSIsImVuc3VyZUVhY2hHbG9iUmVzb2x2ZXNJbnRvRXhpc3RpbmdGb3JtIiwiZm9ybUdsb2JzIiwiZmFybURpcmVjdG9yeSIsImZvcm1HbG9iIiwicmVzb2x2ZWRHZnZzIiwicmVzb2x2ZUdmdkdsb2JzIiwibGVuZ3RoIiwiRXJyb3IiLCJNYXAiLCJub3JtYWxpemUiLCJpc0Zvcm1NYXRjaFRvR2xvYiIsInNldCIsImVudHJpZXMiLCJtYXAiLCJyZXNvbHZlU3BlY2lmaWVycyIsImZvcm1HbG9ic1dpdGhTcGVjaWZpZXJzIiwicmVzdWx0cyIsIlByb21pc2UiLCJhbGwiLCJ4IiwicmVzb2x2ZU9ubHlGb3JtR2xvYlNwZWNpZmllcnMiLCJmbGF0IiwiZ2Z2UmVnZXhwIiwiUmVnRXhwIiwicmVwbGFjZSIsInRlc3QiLCJpbmNsdWRlcyIsInBhdGhFeGlzdHMiLCJmb3JtQ29uZmlnIiwicmVhZEZvcm1Db25maWciLCJOdWxsTG9nZ2VyIiwiYnVpbGQiLCJlbmRzV2l0aCIsImV4cG9ydHMiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvQ29tbW9ucy9Gb3JtR2xvYnNVdGlscy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgcGF0aCBmcm9tIFwicGF0aFwiO1xuXG5pbXBvcnQgeyBwYXRoRXhpc3RzIH0gZnJvbSBcImZzLWV4dHJhXCI7XG5pbXBvcnQgXyBmcm9tIFwibG9kYXNoXCI7XG5cbmltcG9ydCB7IHJlYWRGb3JtQ29uZmlnIH0gZnJvbSBcIi4uL0J1aWxkVGFza3MvUmVzb2x2ZUZvcm1JbmZvXCI7XG5pbXBvcnQgeyBleHRyYWN0R2Z2RnJvbUZvcm1QYXRoIH0gZnJvbSBcIi4uLy4uLy4uL0NvbW1vbi9Gb3JtUGF0aFV0aWxzXCI7XG5pbXBvcnQgeyBXZWxsS25vd25EaXJlY3RvcmllcyB9IGZyb20gXCIuLi8uLi8uLi9Db21tb24vV2VsbEtub3duRGlyZWN0b3JpZXNcIjtcblxuaW1wb3J0IHsgZ2xvYkFzeW5jIH0gZnJvbSBcIi4vRnNVdGlsc1wiO1xuaW1wb3J0IHsgTnVsbExvZ2dlciB9IGZyb20gXCIuL0xvZ2dpbmcvU3RhdGljTG9nZ2VyXCI7XG5pbXBvcnQgeyBGb3JtTG9jYXRpb25JbmZvIH0gZnJvbSBcIi4vRm9ybUxvY2F0aW9uSW5mb1wiO1xuXG5leHBvcnQgY2xhc3MgRm9ybUdsb2JzIHtcbiAgICBwdWJsaWMgc3RhdGljIGFzeW5jIGVudW1lcmF0ZUZvcm1zSW5SZXBvc2l0b3J5KFxuICAgICAgICAuLi5yZXBvc2l0b3J5Um9vdHM6IHN0cmluZ1tdXG4gICAgKTogUHJvbWlzZTxBcnJheTx7IGdmdjogc3RyaW5nOyBmb3JtUGF0aDogc3RyaW5nOyBmb3JtUmVsYXRpdmVQYXRoOiBzdHJpbmcgfT4+IHtcbiAgICAgICAgY29uc3QgcmVzdWx0OiBBcnJheTx7IGdmdjogc3RyaW5nOyBmb3JtUGF0aDogc3RyaW5nOyBmb3JtUmVsYXRpdmVQYXRoOiBzdHJpbmcgfT4gPSBbXTtcblxuICAgICAgICBmb3IgKGNvbnN0IHJlcG9zaXRvcnlSb290IG9mIHJlcG9zaXRvcnlSb290cykge1xuICAgICAgICAgICAgZm9yIChjb25zdCBmb3JtSnNvblBhdGggb2YgYXdhaXQgZ2xvYkFzeW5jKGBjYW5keS5mYXJtL2Zvcm1zLyovJHtXZWxsS25vd25EaXJlY3Rvcmllcy5Gb3JtSnNvbkZpbGVOYW1lfWAsIHtcbiAgICAgICAgICAgICAgICBjd2Q6IHJlcG9zaXRvcnlSb290LFxuICAgICAgICAgICAgfSkpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBmb3JtUGF0aCA9IHBhdGguZGlybmFtZShmb3JtSnNvblBhdGgpO1xuICAgICAgICAgICAgICAgIGNvbnN0IGdmdiA9IGV4dHJhY3RHZnZGcm9tRm9ybVBhdGgoZm9ybVBhdGgpO1xuICAgICAgICAgICAgICAgIHJlc3VsdC5wdXNoKHtcbiAgICAgICAgICAgICAgICAgICAgZ2Z2OiBnZnYsXG4gICAgICAgICAgICAgICAgICAgIGZvcm1QYXRoOiBwYXRoLmpvaW4ocmVwb3NpdG9yeVJvb3QsIGZvcm1QYXRoKSxcbiAgICAgICAgICAgICAgICAgICAgZm9ybVJlbGF0aXZlUGF0aDogZm9ybVBhdGgsXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBmb3IgKGNvbnN0IGZvcm1Kc29uUGF0aCBvZiBhd2FpdCBnbG9iQXN5bmMoXG4gICAgICAgICAgICAgICAgYCR7V2VsbEtub3duRGlyZWN0b3JpZXMuVGVzdEZhcm1EaXJ9L2Zvcm1zLyovJHtXZWxsS25vd25EaXJlY3Rvcmllcy5Gb3JtSnNvbkZpbGVOYW1lfWAsXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBjd2Q6IHJlcG9zaXRvcnlSb290LFxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICkpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBmb3JtUGF0aCA9IHBhdGguZGlybmFtZShmb3JtSnNvblBhdGgpO1xuICAgICAgICAgICAgICAgIGNvbnN0IGdmdiA9IGV4dHJhY3RHZnZGcm9tRm9ybVBhdGgoZm9ybVBhdGgpO1xuICAgICAgICAgICAgICAgIHJlc3VsdC5wdXNoKHtcbiAgICAgICAgICAgICAgICAgICAgZ2Z2OiBnZnYsXG4gICAgICAgICAgICAgICAgICAgIGZvcm1QYXRoOiBwYXRoLmpvaW4ocmVwb3NpdG9yeVJvb3QsIGZvcm1QYXRoKSxcbiAgICAgICAgICAgICAgICAgICAgZm9ybVJlbGF0aXZlUGF0aDogZm9ybVBhdGgsXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBmb3IgKGNvbnN0IGZvcm1Kc29uUGF0aCBvZiBhd2FpdCBnbG9iQXN5bmMoXG4gICAgICAgICAgICAgICAgYGNhbmR5LnJwbi5mYXJtL2Zvcm1zLyovJHtXZWxsS25vd25EaXJlY3Rvcmllcy5Gb3JtSnNvbkZpbGVOYW1lfWAsXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBjd2Q6IHJlcG9zaXRvcnlSb290LFxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICkpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBmb3JtUGF0aCA9IHBhdGguZGlybmFtZShmb3JtSnNvblBhdGgpO1xuICAgICAgICAgICAgICAgIGNvbnN0IGdmdiA9IGV4dHJhY3RHZnZGcm9tRm9ybVBhdGgoZm9ybVBhdGgpO1xuICAgICAgICAgICAgICAgIHJlc3VsdC5wdXNoKHtcbiAgICAgICAgICAgICAgICAgICAgZ2Z2OiBnZnYsXG4gICAgICAgICAgICAgICAgICAgIGZvcm1QYXRoOiBwYXRoLmpvaW4ocmVwb3NpdG9yeVJvb3QsIGZvcm1QYXRoKSxcbiAgICAgICAgICAgICAgICAgICAgZm9ybVJlbGF0aXZlUGF0aDogZm9ybVBhdGgsXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBmb3IgKGNvbnN0IGZvcm1Kc29uUGF0aCBvZiBhd2FpdCBnbG9iQXN5bmMoXG4gICAgICAgICAgICAgICAgYGNhbmR5LmRpYWRvYy5mYXJtL2Zvcm1zLyovJHtXZWxsS25vd25EaXJlY3Rvcmllcy5Gb3JtSnNvbkZpbGVOYW1lfWAsXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBjd2Q6IHJlcG9zaXRvcnlSb290LFxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICkpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBmb3JtUGF0aCA9IHBhdGguZGlybmFtZShmb3JtSnNvblBhdGgpO1xuICAgICAgICAgICAgICAgIGNvbnN0IGdmdiA9IGV4dHJhY3RHZnZGcm9tRm9ybVBhdGgoZm9ybVBhdGgpO1xuICAgICAgICAgICAgICAgIHJlc3VsdC5wdXNoKHtcbiAgICAgICAgICAgICAgICAgICAgZ2Z2OiBnZnYsXG4gICAgICAgICAgICAgICAgICAgIGZvcm1QYXRoOiBwYXRoLmpvaW4ocmVwb3NpdG9yeVJvb3QsIGZvcm1QYXRoKSxcbiAgICAgICAgICAgICAgICAgICAgZm9ybVJlbGF0aXZlUGF0aDogZm9ybVBhdGgsXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBmb3IgKGNvbnN0IGZvcm1Kc29uUGF0aCBvZiBhd2FpdCBnbG9iQXN5bmMoXG4gICAgICAgICAgICAgICAgYCoqLyR7V2VsbEtub3duRGlyZWN0b3JpZXMuQ2FuZHlTdWJkaXJlY3RvcnlOYW1lfS8ke1dlbGxLbm93bkRpcmVjdG9yaWVzLkZvcm1Kc29uRmlsZU5hbWV9YCxcbiAgICAgICAgICAgICAgICB7IGN3ZDogcGF0aC5qb2luKHJlcG9zaXRvcnlSb290LCBcImZvcm1zXCIpIH1cbiAgICAgICAgICAgICkpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBmb3JtUGF0aCA9IHBhdGguZGlybmFtZShmb3JtSnNvblBhdGgpO1xuICAgICAgICAgICAgICAgIGNvbnN0IGdmdiA9IGV4dHJhY3RHZnZGcm9tRm9ybVBhdGgoZm9ybVBhdGgpO1xuICAgICAgICAgICAgICAgIHJlc3VsdC5wdXNoKHtcbiAgICAgICAgICAgICAgICAgICAgZ2Z2OiBnZnYsXG4gICAgICAgICAgICAgICAgICAgIGZvcm1QYXRoOiBwYXRoLmpvaW4ocmVwb3NpdG9yeVJvb3QsIFwiZm9ybXNcIiwgZm9ybVBhdGgpLFxuICAgICAgICAgICAgICAgICAgICBmb3JtUmVsYXRpdmVQYXRoOiBmb3JtUGF0aCxcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH1cblxuICAgIHB1YmxpYyBzdGF0aWMgYXN5bmMgZW5zdXJlRWFjaEdsb2JSZXNvbHZlc0ludG9FeGlzdGluZ0Zvcm0oXG4gICAgICAgIGZvcm1HbG9iczogc3RyaW5nW10sXG4gICAgICAgIGZhcm1EaXJlY3Rvcnk6IHN0cmluZ1xuICAgICk6IFByb21pc2U8c3RyaW5nW10+IHtcbiAgICAgICAgZm9yIChjb25zdCBmb3JtR2xvYiBvZiBmb3JtR2xvYnMpIHtcbiAgICAgICAgICAgIGNvbnN0IHJlc29sdmVkR2Z2cyA9IGF3YWl0IHRoaXMucmVzb2x2ZUdmdkdsb2JzKFtmb3JtR2xvYl0sIGZhcm1EaXJlY3RvcnkpO1xuICAgICAgICAgICAgaWYgKHJlc29sdmVkR2Z2cy5sZW5ndGggPT09IDApIHtcbiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYNCk0L7RgNC8INGB0L7QvtGC0LLQtdGC0YHRgtCy0YPRjtGJ0LjRhSAke2Zvcm1HbG9ifSDQvdC1INC90LDQudC00LXQvdC+LmApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiBmb3JtR2xvYnM7XG4gICAgfVxuXG4gICAgcHVibGljIHN0YXRpYyBhc3luYyByZXNvbHZlR2Z2R2xvYnMoZm9ybUdsb2JzOiBzdHJpbmdbXSwgZmFybURpcmVjdG9yeTogc3RyaW5nKTogUHJvbWlzZTxGb3JtTG9jYXRpb25JbmZvW10+IHtcbiAgICAgICAgY29uc3QgcmVzdWx0OiBNYXA8c3RyaW5nLCBzdHJpbmc+ID0gbmV3IE1hcCgpO1xuXG4gICAgICAgIGZvciAoY29uc3QgeyBnZnYsIGZvcm1QYXRoIH0gb2YgYXdhaXQgRm9ybUdsb2JzLmVudW1lcmF0ZUZvcm1zSW5SZXBvc2l0b3J5KFxuICAgICAgICAgICAgcGF0aC5ub3JtYWxpemUocGF0aC5qb2luKGZhcm1EaXJlY3RvcnksIFwiLi5cIikpXG4gICAgICAgICkpIHtcbiAgICAgICAgICAgIGZvciAoY29uc3QgZm9ybUdsb2Igb2YgZm9ybUdsb2JzKSB7XG4gICAgICAgICAgICAgICAgaWYgKGF3YWl0IEZvcm1HbG9icy5pc0Zvcm1NYXRjaFRvR2xvYihmb3JtR2xvYiwgZ2Z2LCBmb3JtUGF0aCkpIHtcbiAgICAgICAgICAgICAgICAgICAgcmVzdWx0LnNldChnZnYsIGZvcm1QYXRoKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gWy4uLnJlc3VsdC5lbnRyaWVzKCldLm1hcCgoW2dmdiwgZm9ybVBhdGhdKSA9PiAoeyBnZnY6IGdmdiwgZm9ybVBhdGg6IGZvcm1QYXRoIH0pKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc3RhdGljIGFzeW5jIHJlc29sdmVTcGVjaWZpZXJzKGZvcm1HbG9ic1dpdGhTcGVjaWZpZXJzOiBzdHJpbmdbXSwgZmFybURpcmVjdG9yeTogc3RyaW5nKTogUHJvbWlzZTxzdHJpbmdbXT4ge1xuICAgICAgICBjb25zdCByZXN1bHRzID0gYXdhaXQgUHJvbWlzZS5hbGwoXG4gICAgICAgICAgICBmb3JtR2xvYnNXaXRoU3BlY2lmaWVycy5tYXAoeCA9PiB0aGlzLnJlc29sdmVPbmx5Rm9ybUdsb2JTcGVjaWZpZXJzKHgsIGZhcm1EaXJlY3RvcnkpKVxuICAgICAgICApO1xuICAgICAgICByZXR1cm4gcmVzdWx0cy5mbGF0KCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzdGF0aWMgYXN5bmMgaXNGb3JtTWF0Y2hUb0dsb2IoZm9ybUdsb2I6IHN0cmluZywgZ2Z2OiBzdHJpbmcsIGZvcm1QYXRoOiBzdHJpbmcpIHtcbiAgICAgICAgY29uc3QgZ2Z2UmVnZXhwID0gbmV3IFJlZ0V4cChcbiAgICAgICAgICAgIFwiXlwiICtcbiAgICAgICAgICAgICAgICBmb3JtR2xvYlxuICAgICAgICAgICAgICAgICAgICAucmVwbGFjZShcIjp3aXRoLXVpLXRlc3RzXCIsIFwiXCIpXG4gICAgICAgICAgICAgICAgICAgIC5yZXBsYWNlKFwiOndpdGgtY2ktYnVpbGRcIiwgXCJcIilcbiAgICAgICAgICAgICAgICAgICAgLnJlcGxhY2UoL1xcKi9naSwgXCJcXFxcZCpcIilcbiAgICAgICAgICAgICAgICAgICAgLnJlcGxhY2UoL1xcPy9naSwgXCJcXFxcZFwiKSArXG4gICAgICAgICAgICAgICAgXCIkXCJcbiAgICAgICAgKTtcbiAgICAgICAgaWYgKGdmdlJlZ2V4cC50ZXN0KGdmdikpIHtcbiAgICAgICAgICAgIGlmIChmb3JtR2xvYi5pbmNsdWRlcyhcIjp3aXRoLXVpLXRlc3RzXCIpKSB7XG4gICAgICAgICAgICAgICAgaWYgKCEoYXdhaXQgcGF0aEV4aXN0cyhwYXRoLmpvaW4oZm9ybVBhdGgsIFwidGVzdFwiKSkpKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoZm9ybUdsb2IuaW5jbHVkZXMoXCI6d2l0aC1jaS1idWlsZFwiKSkge1xuICAgICAgICAgICAgICAgIGNvbnN0IGZvcm1Kc29uUGF0aCA9IHBhdGguam9pbihmb3JtUGF0aCwgV2VsbEtub3duRGlyZWN0b3JpZXMuRm9ybUpzb25GaWxlTmFtZSk7XG4gICAgICAgICAgICAgICAgY29uc3QgZm9ybUNvbmZpZyA9IGF3YWl0IHJlYWRGb3JtQ29uZmlnKGZvcm1Kc29uUGF0aCwgbmV3IE51bGxMb2dnZXIoKSk7XG4gICAgICAgICAgICAgICAgaWYgKGZvcm1Db25maWcuYnVpbGQgIT09IFwiY2lcIikge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIHByaXZhdGUgc3RhdGljIGFzeW5jIHJlc29sdmVPbmx5Rm9ybUdsb2JTcGVjaWZpZXJzKGZvcm1HbG9iOiBzdHJpbmcsIGZhcm1EaXJlY3Rvcnk6IHN0cmluZyk6IFByb21pc2U8c3RyaW5nW10+IHtcbiAgICAgICAgaWYgKGZvcm1HbG9iLmVuZHNXaXRoKFwiOndpdGgtdWktdGVzdHNcIikpIHtcbiAgICAgICAgICAgIHJldHVybiAoYXdhaXQgdGhpcy5yZXNvbHZlR2Z2R2xvYnMoW2Zvcm1HbG9iXSwgZmFybURpcmVjdG9yeSkpLm1hcCh4ID0+IHguZ2Z2KTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoZm9ybUdsb2IuZW5kc1dpdGgoXCI6d2l0aC1jaS1idWlsZFwiKSkge1xuICAgICAgICAgICAgcmV0dXJuIChhd2FpdCB0aGlzLnJlc29sdmVHZnZHbG9icyhbZm9ybUdsb2JdLCBmYXJtRGlyZWN0b3J5KSkubWFwKHggPT4geC5nZnYpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBbZm9ybUdsb2JdO1xuICAgIH1cbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUFBLElBQUFBLEtBQUEsR0FBQUMsc0JBQUEsQ0FBQUMsT0FBQTtBQUVBLElBQUFDLFFBQUEsR0FBQUQsT0FBQTtBQUdBLElBQUFFLGdCQUFBLEdBQUFGLE9BQUE7QUFDQSxJQUFBRyxjQUFBLEdBQUFILE9BQUE7QUFDQSxJQUFBSSxxQkFBQSxHQUFBSixPQUFBO0FBRUEsSUFBQUssUUFBQSxHQUFBTCxPQUFBO0FBQ0EsSUFBQU0sYUFBQSxHQUFBTixPQUFBO0FBR08sTUFBTU8sU0FBUyxDQUFDO0VBQ25CLGFBQW9CQywwQkFBMEJBLENBQzFDLEdBQUdDLGVBQXlCLEVBQytDO0lBQzNF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
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FormGlobsUtils.js","names":["_path","_interopRequireDefault","require","_fsExtra","_ResolveFormInfo","_FormPathUtils","_WellKnownDirectories","_FsUtils","_StaticLogger","FormGlobs","enumerateFormsInRepository","repositoryRoots","result","repositoryRoot","formJsonPath","globAsync","WellKnownDirectories","FormJsonFileName","cwd","formPath","path","dirname","gfv","extractGfvFromFormPath","push","join","formRelativePath","TestFarmDir","CandySubdirectoryName","ensureEachGlobResolvesIntoExistingForm","formGlobs","farmDirectory","formGlob","resolvedGfvs","resolveGfvGlobs","length","Error","Map","normalize","isFormMatchToGlob","set","entries","map","resolveSpecifiers","formGlobsWithSpecifiers","results","Promise","all","x","resolveOnlyFormGlobSpecifiers","flat","gfvRegexp","RegExp","replace","test","includes","pathExists","formConfig","readFormConfig","NullLogger","build","endsWith","exports"],"sources":["../../../../src/Commons/FormGlobsUtils.ts"],"sourcesContent":["import path from \"path\";\n\nimport { pathExists } from \"fs-extra\";\nimport _ from \"lodash\";\n\nimport { readFormConfig } from \"../BuildTasks/ResolveFormInfo\";\nimport { extractGfvFromFormPath } from \"../../../Common/FormPathUtils\";\nimport { WellKnownDirectories } from \"../../../Common/WellKnownDirectories\";\n\nimport { globAsync } from \"./FsUtils\";\nimport { NullLogger } from \"./Logging/StaticLogger\";\nimport { FormLocationInfo } from \"./FormLocationInfo\";\n\nexport class FormGlobs {\n public static async enumerateFormsInRepository(\n ...repositoryRoots: string[]\n ): Promise<Array<{ gfv: string; formPath: string; formRelativePath: string }>> {\n const result: Array<{ gfv: string; formPath: string; formRelativePath: string }> = [];\n\n for (const repositoryRoot of repositoryRoots) {\n for (const formJsonPath of await globAsync(`candy.farm/forms/*/${WellKnownDirectories.FormJsonFileName}`, {\n cwd: repositoryRoot,\n })) {\n const formPath = path.dirname(formJsonPath);\n const gfv = extractGfvFromFormPath(formPath);\n result.push({\n gfv: gfv,\n formPath: path.join(repositoryRoot, formPath),\n formRelativePath: formPath,\n });\n }\n for (const formJsonPath of await globAsync(\n `${WellKnownDirectories.TestFarmDir}/forms/*/${WellKnownDirectories.FormJsonFileName}`,\n {\n cwd: repositoryRoot,\n }\n )) {\n const formPath = path.dirname(formJsonPath);\n const gfv = extractGfvFromFormPath(formPath);\n result.push({\n gfv: gfv,\n formPath: path.join(repositoryRoot, formPath),\n formRelativePath: formPath,\n });\n }\n for (const formJsonPath of await globAsync(\n `candy.rpn.farm/forms/*/${WellKnownDirectories.FormJsonFileName}`,\n {\n cwd: repositoryRoot,\n }\n )) {\n const formPath = path.dirname(formJsonPath);\n const gfv = extractGfvFromFormPath(formPath);\n result.push({\n gfv: gfv,\n formPath: path.join(repositoryRoot, formPath),\n formRelativePath: formPath,\n });\n }\n for (const formJsonPath of await globAsync(\n `candy.diadoc.farm/forms/*/${WellKnownDirectories.FormJsonFileName}`,\n {\n cwd: repositoryRoot,\n }\n )) {\n const formPath = path.dirname(formJsonPath);\n const gfv = extractGfvFromFormPath(formPath);\n result.push({\n gfv: gfv,\n formPath: path.join(repositoryRoot, formPath),\n formRelativePath: formPath,\n });\n }\n for (const formJsonPath of await globAsync(\n `**/${WellKnownDirectories.CandySubdirectoryName}/${WellKnownDirectories.FormJsonFileName}`,\n { cwd: path.join(repositoryRoot, \"forms\") }\n )) {\n const formPath = path.dirname(formJsonPath);\n const gfv = extractGfvFromFormPath(formPath);\n result.push({\n gfv: gfv,\n formPath: path.join(repositoryRoot, \"forms\", formPath),\n formRelativePath: formPath,\n });\n }\n }\n return result;\n }\n\n public static async ensureEachGlobResolvesIntoExistingForm(\n formGlobs: string[],\n farmDirectory: string\n ): Promise<string[]> {\n for (const formGlob of formGlobs) {\n const resolvedGfvs = await this.resolveGfvGlobs([formGlob], farmDirectory);\n if (resolvedGfvs.length === 0) {\n throw new Error(`Форм соответствующих ${formGlob} не найдено.`);\n }\n }\n return formGlobs;\n }\n\n public static async resolveGfvGlobs(formGlobs: string[], farmDirectory: string): Promise<FormLocationInfo[]> {\n const result: Map<string, string> = new Map();\n\n for (const { gfv, formPath } of await FormGlobs.enumerateFormsInRepository(\n path.normalize(path.join(farmDirectory, \"..\"))\n )) {\n for (const formGlob of formGlobs) {\n if (await FormGlobs.isFormMatchToGlob(formGlob, gfv, formPath)) {\n result.set(gfv, formPath);\n }\n }\n }\n\n return [...result.entries()].map(([gfv, formPath]) => ({ gfv: gfv, formPath: formPath }));\n }\n\n public static async resolveSpecifiers(formGlobsWithSpecifiers: string[], farmDirectory: string): Promise<string[]> {\n const results = await Promise.all(\n formGlobsWithSpecifiers.map(x => this.resolveOnlyFormGlobSpecifiers(x, farmDirectory))\n );\n return results.flat();\n }\n\n private static async isFormMatchToGlob(formGlob: string, gfv: string, formPath: string) {\n const gfvRegexp = new RegExp(\n \"^\" +\n formGlob\n .replace(\":with-ui-tests\", \"\")\n .replace(\":with-ci-build\", \"\")\n .replace(/\\*/gi, \"\\\\d*\")\n .replace(/\\?/gi, \"\\\\d\") +\n \"$\"\n );\n if (gfvRegexp.test(gfv)) {\n if (formGlob.includes(\":with-ui-tests\")) {\n if (!(await pathExists(path.join(formPath, \"test\")))) {\n return false;\n }\n }\n if (formGlob.includes(\":with-ci-build\")) {\n const formJsonPath = path.join(formPath, WellKnownDirectories.FormJsonFileName);\n const formConfig = await readFormConfig(formJsonPath, new NullLogger());\n if (formConfig.build !== \"ci\") {\n return false;\n }\n }\n return true;\n }\n return false;\n }\n\n private static async resolveOnlyFormGlobSpecifiers(formGlob: string, farmDirectory: string): Promise<string[]> {\n if (formGlob.endsWith(\":with-ui-tests\")) {\n return (await this.resolveGfvGlobs([formGlob], farmDirectory)).map(x => x.gfv);\n }\n if (formGlob.endsWith(\":with-ci-build\")) {\n return (await this.resolveGfvGlobs([formGlob], farmDirectory)).map(x => x.gfv);\n }\n return [formGlob];\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL0NvbW1vbnMvRm9ybUxvY2F0aW9uSW5mby50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIEZvcm1Mb2NhdGlvbkluZm8ge1xuICAgIGdmdjogc3RyaW5nO1xuICAgIGZvcm1QYXRoOiBzdHJpbmc7XG59XG4iXSwibWFwcGluZ3MiOiIiLCJpZ25vcmVMaXN0IjpbXX0=
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FormLocationInfo.js","names":[],"sources":["../../../../src/Commons/FormLocationInfo.ts"],"sourcesContent":["export interface FormLocationInfo {\n gfv: string;\n formPath: string;\n}\n"],"mappings":"","ignoreList":[]}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.globAsync = void 0;
|
|
8
|
+
exports.isDirectoryExists = isDirectoryExists;
|
|
9
|
+
exports.isFileExists = isFileExists;
|
|
10
|
+
exports.writeFileAsync = void 0;
|
|
11
|
+
var fs = _interopRequireWildcard(require("fs"));
|
|
12
|
+
var _util = _interopRequireWildcard(require("util"));
|
|
13
|
+
var _glob = _interopRequireDefault(require("glob"));
|
|
14
|
+
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
15
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
16
|
+
const statAsync = (0, _util.promisify)(fs.stat);
|
|
17
|
+
async function isDirectoryExists(directoryPath) {
|
|
18
|
+
try {
|
|
19
|
+
const dirStat = await statAsync(directoryPath);
|
|
20
|
+
return dirStat.isDirectory();
|
|
21
|
+
} catch (ignoreError) {
|
|
22
|
+
return false;
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
async function isFileExists(directoryPath) {
|
|
26
|
+
try {
|
|
27
|
+
const dirStat = await statAsync(directoryPath);
|
|
28
|
+
return dirStat.isFile();
|
|
29
|
+
} catch (ignoreError) {
|
|
30
|
+
return false;
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
const writeFileAsync = exports.writeFileAsync = _util.default.promisify(fs.writeFile);
|
|
34
|
+
const globAsync = exports.globAsync = (0, _util.promisify)(_glob.default);
|
|
35
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJmcyIsIl9pbnRlcm9wUmVxdWlyZVdpbGRjYXJkIiwicmVxdWlyZSIsIl91dGlsIiwiX2dsb2IiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiX2dldFJlcXVpcmVXaWxkY2FyZENhY2hlIiwiZSIsIldlYWtNYXAiLCJyIiwidCIsIl9fZXNNb2R1bGUiLCJkZWZhdWx0IiwiaGFzIiwiZ2V0IiwibiIsIl9fcHJvdG9fXyIsImEiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsInUiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJpIiwic2V0Iiwic3RhdEFzeW5jIiwicHJvbWlzaWZ5Iiwic3RhdCIsImlzRGlyZWN0b3J5RXhpc3RzIiwiZGlyZWN0b3J5UGF0aCIsImRpclN0YXQiLCJpc0RpcmVjdG9yeSIsImlnbm9yZUVycm9yIiwiaXNGaWxlRXhpc3RzIiwiaXNGaWxlIiwid3JpdGVGaWxlQXN5bmMiLCJleHBvcnRzIiwidXRpbCIsIndyaXRlRmlsZSIsImdsb2JBc3luYyIsImdsb2IiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvQ29tbW9ucy9Gc1V0aWxzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIGZzIGZyb20gXCJmc1wiO1xuaW1wb3J0IHV0aWwsIHsgcHJvbWlzaWZ5IH0gZnJvbSBcInV0aWxcIjtcblxuaW1wb3J0IGdsb2IgZnJvbSBcImdsb2JcIjtcblxuY29uc3Qgc3RhdEFzeW5jID0gcHJvbWlzaWZ5KGZzLnN0YXQpO1xuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gaXNEaXJlY3RvcnlFeGlzdHMoZGlyZWN0b3J5UGF0aDogc3RyaW5nKTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgdHJ5IHtcbiAgICAgICAgY29uc3QgZGlyU3RhdCA9IGF3YWl0IHN0YXRBc3luYyhkaXJlY3RvcnlQYXRoKTtcbiAgICAgICAgcmV0dXJuIGRpclN0YXQuaXNEaXJlY3RvcnkoKTtcbiAgICB9IGNhdGNoIChpZ25vcmVFcnJvcikge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gaXNGaWxlRXhpc3RzKGRpcmVjdG9yeVBhdGg6IHN0cmluZyk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IGRpclN0YXQgPSBhd2FpdCBzdGF0QXN5bmMoZGlyZWN0b3J5UGF0aCk7XG4gICAgICAgIHJldHVybiBkaXJTdGF0LmlzRmlsZSgpO1xuICAgIH0gY2F0Y2ggKGlnbm9yZUVycm9yKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG59XG5cbmV4cG9ydCBjb25zdCB3cml0ZUZpbGVBc3luYyA9IHV0aWwucHJvbWlzaWZ5KGZzLndyaXRlRmlsZSk7XG5cbmV4cG9ydCBjb25zdCBnbG9iQXN5bmMgPSBwcm9taXNpZnkoZ2xvYik7XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7QUFBQSxJQUFBQSxFQUFBLEdBQUFDLHVCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBQyxLQUFBLEdBQUFGLHVCQUFBLENBQUFDLE9BQUE7QUFFQSxJQUFBRSxLQUFBLEdBQUFDLHNCQUFBLENBQUFILE9BQUE7QUFBd0IsU0FBQUkseUJBQUFDLENBQUEsNkJBQUFDLE9BQUEsbUJBQUFDLENBQUEsT0FBQUQsT0FBQSxJQUFBRSxDQUFBLE9BQUFGLE9BQUEsWUFBQUYsd0JBQUEsWUFBQUEsQ0FBQUMsQ0FBQSxXQUFBQSxDQUFBLEdBQUFHLENBQUEsR0FBQUQsQ0FBQSxLQUFBRixDQUFBO0FBQUEsU0FBQU4sd0JBQUFNLENBQUEsRUFBQUUsQ0FBQSxTQUFBQSxDQUFBLElBQUFGLENBQUEsSUFBQUEsQ0FBQSxDQUFBSSxVQUFBLFNBQUFKLENBQUEsZUFBQUEsQ0FBQSx1QkFBQUEsQ0FBQSx5QkFBQUEsQ0FBQSxXQUFBSyxPQUFBLEVBQUFMLENBQUEsUUFBQUcsQ0FBQSxHQUFBSix3QkFBQSxDQUFBRyxDQUFBLE9BQUFDLENBQUEsSUFBQUEsQ0FBQSxDQUFBRyxHQUFBLENBQUFOLENBQUEsVUFBQUcsQ0FBQSxDQUFBSSxHQUFBLENBQUFQLENBQUEsT0FBQVEsQ0FBQSxLQUFBQyxTQUFBLFVBQUFDLENBQUEsR0FBQUMsTUFBQSxDQUFBQyxjQUFBLElBQUFELE1BQUEsQ0FBQUUsd0JBQUEsV0FBQUMsQ0FBQSxJQUFBZCxDQUFBLG9CQUFBYyxDQUFBLE9BQUFDLGNBQUEsQ0FBQUMsSUFBQSxDQUFBaEIsQ0FBQSxFQUFBYyxDQUFBLFNBQUFHLENBQUEsR0FBQVAsQ0FBQSxHQUFBQyxNQUFBLENBQUFFLHdCQUFBLENBQUFiLENBQUEsRUFBQWMsQ0FBQSxVQUFBRyxDQUFBLEtBQUFBLENBQUEsQ0FBQVYsR0FBQSxJQUFBVSxDQUFBLENBQUFDLEdBQUEsSUFBQVAsTUFBQSxDQUFBQyxjQUFBLENBQUFKLENBQUEsRUFBQU0sQ0FBQSxFQUFBRyxDQUFBLElBQUFULENBQUEsQ0FBQU0sQ0FBQSxJQUFBZCxDQUFBLENBQUFjLENBQUEsWUFBQU4sQ0FBQSxDQUFBSCxPQUFBLEdBQUFMLENBQUEsRUFBQUcsQ0FBQSxJQUFBQSxDQUFBLENBQUFlLEdBQUEsQ0FBQWxCLENBQUEsRUFBQVEsQ0FBQSxHQUFBQSxDQUFBO0FBRXhCLE1BQU1XLFNBQVMsR0FBRyxJQUFBQyxlQUFTLEVBQUMzQixFQUFFLENBQUM0QixJQUFJLENBQUM7QUFFN0IsZUFBZUMsaUJBQWlCQSxDQUFDQyxhQUFxQixFQUFvQjtFQUM3RSxJQUFJO0lBQ0EsTUFBTUMsT0FBTyxHQUFHLE1BQU1MLFNBQVMsQ0FBQ0ksYUFBYSxDQUFDO0lBQzlDLE9BQU9DLE9BQU8sQ0FBQ0MsV0FBVyxDQUFDLENBQUM7RUFDaEMsQ0FBQyxDQUFDLE9BQU9DLFdBQVcsRUFBRTtJQUNsQixPQUFPLEtBQUs7RUFDaEI7QUFDSjtBQUVPLGVBQWVDLFlBQVlBLENBQUNKLGFBQXFCLEVBQW9CO0VBQ3hFLElBQUk7SUFDQSxNQUFNQyxPQUFPLEdBQUcsTUFBTUwsU0FBUyxDQUFDSSxhQUFhLENBQUM7SUFDOUMsT0FBT0MsT0FBTyxDQUFDSSxNQUFNLENBQUMsQ0FBQztFQUMzQixDQUFDLENBQUMsT0FBT0YsV0FBVyxFQUFFO0lBQ2xCLE9BQU8sS0FBSztFQUNoQjtBQUNKO0FBRU8sTUFBTUcsY0FBYyxHQUFBQyxPQUFBLENBQUFELGNBQUEsR0FBR0UsYUFBSSxDQUFDWCxTQUFTLENBQUMzQixFQUFFLENBQUN1QyxTQUFTLENBQUM7QUFFbkQsTUFBTUMsU0FBUyxHQUFBSCxPQUFBLENBQUFHLFNBQUEsR0FBRyxJQUFBYixlQUFTLEVBQUNjLGFBQUksQ0FBQyIsImlnbm9yZUxpc3QiOltdfQ==
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FsUtils.js","names":["fs","_interopRequireWildcard","require","_util","_glob","_interopRequireDefault","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","statAsync","promisify","stat","isDirectoryExists","directoryPath","dirStat","isDirectory","ignoreError","isFileExists","isFile","writeFileAsync","exports","util","writeFile","globAsync","glob"],"sources":["../../../../src/Commons/FsUtils.ts"],"sourcesContent":["import * as fs from \"fs\";\nimport util, { promisify } from \"util\";\n\nimport glob from \"glob\";\n\nconst statAsync = promisify(fs.stat);\n\nexport async function isDirectoryExists(directoryPath: string): Promise<boolean> {\n try {\n const dirStat = await statAsync(directoryPath);\n return dirStat.isDirectory();\n } catch (ignoreError) {\n return false;\n }\n}\n\nexport async function isFileExists(directoryPath: string): Promise<boolean> {\n try {\n const dirStat = await statAsync(directoryPath);\n return dirStat.isFile();\n } catch (ignoreError) {\n return false;\n }\n}\n\nexport const writeFileAsync = util.promisify(fs.writeFile);\n\nexport const globAsync = promisify(glob);\n"],"mappings":";;;;;;;;;;AAAA,IAAAA,EAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,KAAA,GAAAF,uBAAA,CAAAC,OAAA;AAEA,IAAAE,KAAA,GAAAC,sBAAA,CAAAH,OAAA;AAAwB,SAAAI,yBAAAC,CAAA,6BAAAC,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,CAAA,WAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA,KAAAF,CAAA;AAAA,SAAAN,wBAAAM,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAI,UAAA,SAAAJ,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAK,OAAA,EAAAL,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAG,GAAA,CAAAN,CAAA,UAAAG,CAAA,CAAAI,GAAA,CAAAP,CAAA,OAAAQ,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAd,CAAA,oBAAAc,CAAA,OAAAC,cAAA,CAAAC,IAAA,CAAAhB,CAAA,EAAAc,CAAA,SAAAG,CAAA,GAAAP,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAc,CAAA,UAAAG,CAAA,KAAAA,CAAA,CAAAV,GAAA,IAAAU,CAAA,CAAAC,GAAA,IAAAP,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAG,CAAA,IAAAT,CAAA,CAAAM,CAAA,IAAAd,CAAA,CAAAc,CAAA,YAAAN,CAAA,CAAAH,OAAA,GAAAL,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAe,GAAA,CAAAlB,CAAA,EAAAQ,CAAA,GAAAA,CAAA;AAExB,MAAMW,SAAS,GAAG,IAAAC,eAAS,EAAC3B,EAAE,CAAC4B,IAAI,CAAC;AAE7B,eAAeC,iBAAiBA,CAACC,aAAqB,EAAoB;EAC7E,IAAI;IACA,MAAMC,OAAO,GAAG,MAAML,SAAS,CAACI,aAAa,CAAC;IAC9C,OAAOC,OAAO,CAACC,WAAW,CAAC,CAAC;EAChC,CAAC,CAAC,OAAOC,WAAW,EAAE;IAClB,OAAO,KAAK;EAChB;AACJ;AAEO,eAAeC,YAAYA,CAACJ,aAAqB,EAAoB;EACxE,IAAI;IACA,MAAMC,OAAO,GAAG,MAAML,SAAS,CAACI,aAAa,CAAC;IAC9C,OAAOC,OAAO,CAACI,MAAM,CAAC,CAAC;EAC3B,CAAC,CAAC,OAAOF,WAAW,EAAE;IAClB,OAAO,KAAK;EAChB;AACJ;AAEO,MAAMG,cAAc,GAAAC,OAAA,CAAAD,cAAA,GAAGE,aAAI,CAACX,SAAS,CAAC3B,EAAE,CAACuC,SAAS,CAAC;AAEnD,MAAMC,SAAS,GAAAH,OAAA,CAAAG,SAAA,GAAG,IAAAb,eAAS,EAACc,aAAI,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.getCpuLimits = getCpuLimits;
|
|
7
|
+
var fs = _interopRequireWildcard(require("fs"));
|
|
8
|
+
var os = _interopRequireWildcard(require("os"));
|
|
9
|
+
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
10
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
11
|
+
function readNumberFromFile(file) {
|
|
12
|
+
return Number(fs.readFileSync(file, "utf-8"));
|
|
13
|
+
}
|
|
14
|
+
function readAllNumberFromFile(file) {
|
|
15
|
+
return fs.readFileSync(file, "utf-8").split(" ").map(i => Number(i));
|
|
16
|
+
}
|
|
17
|
+
function getCpuLimits() {
|
|
18
|
+
var _ref, _getConcurrencyLimitF;
|
|
19
|
+
if (process.platform !== "linux") {
|
|
20
|
+
return os.cpus().length;
|
|
21
|
+
}
|
|
22
|
+
return (_ref = (_getConcurrencyLimitF = getConcurrencyLimitFromEnv()) !== null && _getConcurrencyLimitF !== void 0 ? _getConcurrencyLimitF : getCpuLimitsFromCgroup()) !== null && _ref !== void 0 ? _ref : os.cpus().length;
|
|
23
|
+
}
|
|
24
|
+
function getConcurrencyLimitFromEnv() {
|
|
25
|
+
try {
|
|
26
|
+
const concurrencyLimit = Number(process.env.BUILD_CANDY_FORM_CONCURRENCY_LIMIT);
|
|
27
|
+
if (!isNaN(concurrencyLimit) && concurrencyLimit > 0) {
|
|
28
|
+
// eslint-disable-next-line no-console
|
|
29
|
+
console.log(`Use cpu limit from environment BUILD_CANDY_FORM_CONCURRENCY_LIMIT`);
|
|
30
|
+
return concurrencyLimit;
|
|
31
|
+
}
|
|
32
|
+
return null;
|
|
33
|
+
} catch {
|
|
34
|
+
return null;
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
function getCpuLimitsFromCgroup() {
|
|
38
|
+
try {
|
|
39
|
+
const cpuLimits = readAllNumberFromFile("/sys/fs/cgroup/cpu/cpu.max");
|
|
40
|
+
const cpuCfsQuotaUs = cpuLimits[0];
|
|
41
|
+
const cpuCfsPeriodUs = cpuLimits[1];
|
|
42
|
+
return calculateCpuLimit(cpuCfsQuotaUs, cpuCfsPeriodUs, "cgroup v2");
|
|
43
|
+
} catch {
|
|
44
|
+
try {
|
|
45
|
+
const cpuCfsQuotaUs = readNumberFromFile("/sys/fs/cgroup/cpu/cpu.cfs_quota_us");
|
|
46
|
+
const cpuCfsPeriodUs = readNumberFromFile("/sys/fs/cgroup/cpu/cpu.cfs_period_us");
|
|
47
|
+
return calculateCpuLimit(cpuCfsQuotaUs, cpuCfsPeriodUs, "cgroup");
|
|
48
|
+
} catch {
|
|
49
|
+
return null;
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
function calculateCpuLimit(cpuCfsQuotaUs, cpuCfsPeriodUs, type) {
|
|
54
|
+
if (cpuCfsQuotaUs && cpuCfsPeriodUs) {
|
|
55
|
+
const cpuLimit = cpuCfsQuotaUs / cpuCfsPeriodUs;
|
|
56
|
+
if (cpuLimit > 0) {
|
|
57
|
+
// eslint-disable-next-line no-console
|
|
58
|
+
console.log(`Use cpu limit from ${type}`);
|
|
59
|
+
return cpuLimit;
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
throw new Error(`${type} is not use`);
|
|
63
|
+
}
|
|
64
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJmcyIsIl9pbnRlcm9wUmVxdWlyZVdpbGRjYXJkIiwicmVxdWlyZSIsIm9zIiwiX2dldFJlcXVpcmVXaWxkY2FyZENhY2hlIiwiZSIsIldlYWtNYXAiLCJyIiwidCIsIl9fZXNNb2R1bGUiLCJkZWZhdWx0IiwiaGFzIiwiZ2V0IiwibiIsIl9fcHJvdG9fXyIsImEiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsInUiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJpIiwic2V0IiwicmVhZE51bWJlckZyb21GaWxlIiwiZmlsZSIsIk51bWJlciIsInJlYWRGaWxlU3luYyIsInJlYWRBbGxOdW1iZXJGcm9tRmlsZSIsInNwbGl0IiwibWFwIiwiZ2V0Q3B1TGltaXRzIiwiX3JlZiIsIl9nZXRDb25jdXJyZW5jeUxpbWl0RiIsInByb2Nlc3MiLCJwbGF0Zm9ybSIsImNwdXMiLCJsZW5ndGgiLCJnZXRDb25jdXJyZW5jeUxpbWl0RnJvbUVudiIsImdldENwdUxpbWl0c0Zyb21DZ3JvdXAiLCJjb25jdXJyZW5jeUxpbWl0IiwiZW52IiwiQlVJTERfQ0FORFlfRk9STV9DT05DVVJSRU5DWV9MSU1JVCIsImlzTmFOIiwiY29uc29sZSIsImxvZyIsImNwdUxpbWl0cyIsImNwdUNmc1F1b3RhVXMiLCJjcHVDZnNQZXJpb2RVcyIsImNhbGN1bGF0ZUNwdUxpbWl0IiwidHlwZSIsImNwdUxpbWl0IiwiRXJyb3IiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvQ29tbW9ucy9HZXRDcHVMaW1pdHMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgZnMgZnJvbSBcImZzXCI7XG5pbXBvcnQgKiBhcyBvcyBmcm9tIFwib3NcIjtcblxuZnVuY3Rpb24gcmVhZE51bWJlckZyb21GaWxlKGZpbGU6IHN0cmluZyk6IG51bWJlciB7XG4gICAgcmV0dXJuIE51bWJlcihmcy5yZWFkRmlsZVN5bmMoZmlsZSwgXCJ1dGYtOFwiKSk7XG59XG5cbmZ1bmN0aW9uIHJlYWRBbGxOdW1iZXJGcm9tRmlsZShmaWxlOiBzdHJpbmcpOiBudW1iZXJbXSB7XG4gICAgcmV0dXJuIGZzXG4gICAgICAgIC5yZWFkRmlsZVN5bmMoZmlsZSwgXCJ1dGYtOFwiKVxuICAgICAgICAuc3BsaXQoXCIgXCIpXG4gICAgICAgIC5tYXAoaSA9PiBOdW1iZXIoaSkpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0Q3B1TGltaXRzKCk6IG51bWJlciB7XG4gICAgaWYgKHByb2Nlc3MucGxhdGZvcm0gIT09IFwibGludXhcIikge1xuICAgICAgICByZXR1cm4gb3MuY3B1cygpLmxlbmd0aDtcbiAgICB9XG4gICAgcmV0dXJuIGdldENvbmN1cnJlbmN5TGltaXRGcm9tRW52KCkgPz8gZ2V0Q3B1TGltaXRzRnJvbUNncm91cCgpID8/IG9zLmNwdXMoKS5sZW5ndGg7XG59XG5cbmZ1bmN0aW9uIGdldENvbmN1cnJlbmN5TGltaXRGcm9tRW52KCk6IG51bWJlciB8IG51bGwge1xuICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IGNvbmN1cnJlbmN5TGltaXQgPSBOdW1iZXIocHJvY2Vzcy5lbnYuQlVJTERfQ0FORFlfRk9STV9DT05DVVJSRU5DWV9MSU1JVCk7XG5cbiAgICAgICAgaWYgKCFpc05hTihjb25jdXJyZW5jeUxpbWl0KSAmJiBjb25jdXJyZW5jeUxpbWl0ID4gMCkge1xuICAgICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWNvbnNvbGVcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKGBVc2UgY3B1IGxpbWl0IGZyb20gZW52aXJvbm1lbnQgQlVJTERfQ0FORFlfRk9STV9DT05DVVJSRU5DWV9MSU1JVGApO1xuICAgICAgICAgICAgcmV0dXJuIGNvbmN1cnJlbmN5TGltaXQ7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICB9IGNhdGNoIHtcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxufVxuXG5mdW5jdGlvbiBnZXRDcHVMaW1pdHNGcm9tQ2dyb3VwKCk6IG51bWJlciB8IG51bGwge1xuICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IGNwdUxpbWl0cyA9IHJlYWRBbGxOdW1iZXJGcm9tRmlsZShcIi9zeXMvZnMvY2dyb3VwL2NwdS9jcHUubWF4XCIpO1xuICAgICAgICBjb25zdCBjcHVDZnNRdW90YVVzID0gY3B1TGltaXRzWzBdO1xuICAgICAgICBjb25zdCBjcHVDZnNQZXJpb2RVcyA9IGNwdUxpbWl0c1sxXTtcbiAgICAgICAgcmV0dXJuIGNhbGN1bGF0ZUNwdUxpbWl0KGNwdUNmc1F1b3RhVXMsIGNwdUNmc1BlcmlvZFVzLCBcImNncm91cCB2MlwiKTtcbiAgICB9IGNhdGNoIHtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIGNvbnN0IGNwdUNmc1F1b3RhVXMgPSByZWFkTnVtYmVyRnJvbUZpbGUoXCIvc3lzL2ZzL2Nncm91cC9jcHUvY3B1LmNmc19xdW90YV91c1wiKTtcbiAgICAgICAgICAgIGNvbnN0IGNwdUNmc1BlcmlvZFVzID0gcmVhZE51bWJlckZyb21GaWxlKFwiL3N5cy9mcy9jZ3JvdXAvY3B1L2NwdS5jZnNfcGVyaW9kX3VzXCIpO1xuICAgICAgICAgICAgcmV0dXJuIGNhbGN1bGF0ZUNwdUxpbWl0KGNwdUNmc1F1b3RhVXMsIGNwdUNmc1BlcmlvZFVzLCBcImNncm91cFwiKTtcbiAgICAgICAgfSBjYXRjaCB7XG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuZnVuY3Rpb24gY2FsY3VsYXRlQ3B1TGltaXQoXG4gICAgY3B1Q2ZzUXVvdGFVczogbnVtYmVyIHwgdW5kZWZpbmVkLFxuICAgIGNwdUNmc1BlcmlvZFVzOiBudW1iZXIgfCB1bmRlZmluZWQsXG4gICAgdHlwZTogc3RyaW5nXG4pOiBudW1iZXIge1xuICAgIGlmIChjcHVDZnNRdW90YVVzICYmIGNwdUNmc1BlcmlvZFVzKSB7XG4gICAgICAgIGNvbnN0IGNwdUxpbWl0ID0gY3B1Q2ZzUXVvdGFVcyAvIGNwdUNmc1BlcmlvZFVzO1xuICAgICAgICBpZiAoY3B1TGltaXQgPiAwKSB7XG4gICAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tY29uc29sZVxuICAgICAgICAgICAgY29uc29sZS5sb2coYFVzZSBjcHUgbGltaXQgZnJvbSAke3R5cGV9YCk7XG4gICAgICAgICAgICByZXR1cm4gY3B1TGltaXQ7XG4gICAgICAgIH1cbiAgICB9XG4gICAgdGhyb3cgbmV3IEVycm9yKGAke3R5cGV9IGlzIG5vdCB1c2VgKTtcbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsSUFBQUEsRUFBQSxHQUFBQyx1QkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUMsRUFBQSxHQUFBRix1QkFBQSxDQUFBQyxPQUFBO0FBQXlCLFNBQUFFLHlCQUFBQyxDQUFBLDZCQUFBQyxPQUFBLG1CQUFBQyxDQUFBLE9BQUFELE9BQUEsSUFBQUUsQ0FBQSxPQUFBRixPQUFBLFlBQUFGLHdCQUFBLFlBQUFBLENBQUFDLENBQUEsV0FBQUEsQ0FBQSxHQUFBRyxDQUFBLEdBQUFELENBQUEsS0FBQUYsQ0FBQTtBQUFBLFNBQUFKLHdCQUFBSSxDQUFBLEVBQUFFLENBQUEsU0FBQUEsQ0FBQSxJQUFBRixDQUFBLElBQUFBLENBQUEsQ0FBQUksVUFBQSxTQUFBSixDQUFBLGVBQUFBLENBQUEsdUJBQUFBLENBQUEseUJBQUFBLENBQUEsV0FBQUssT0FBQSxFQUFBTCxDQUFBLFFBQUFHLENBQUEsR0FBQUosd0JBQUEsQ0FBQUcsQ0FBQSxPQUFBQyxDQUFBLElBQUFBLENBQUEsQ0FBQUcsR0FBQSxDQUFBTixDQUFBLFVBQUFHLENBQUEsQ0FBQUksR0FBQSxDQUFBUCxDQUFBLE9BQUFRLENBQUEsS0FBQUMsU0FBQSxVQUFBQyxDQUFBLEdBQUFDLE1BQUEsQ0FBQUMsY0FBQSxJQUFBRCxNQUFBLENBQUFFLHdCQUFBLFdBQUFDLENBQUEsSUFBQWQsQ0FBQSxvQkFBQWMsQ0FBQSxPQUFBQyxjQUFBLENB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
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GetCpuLimits.js","names":["fs","_interopRequireWildcard","require","os","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","readNumberFromFile","file","Number","readFileSync","readAllNumberFromFile","split","map","getCpuLimits","_ref","_getConcurrencyLimitF","process","platform","cpus","length","getConcurrencyLimitFromEnv","getCpuLimitsFromCgroup","concurrencyLimit","env","BUILD_CANDY_FORM_CONCURRENCY_LIMIT","isNaN","console","log","cpuLimits","cpuCfsQuotaUs","cpuCfsPeriodUs","calculateCpuLimit","type","cpuLimit","Error"],"sources":["../../../../src/Commons/GetCpuLimits.ts"],"sourcesContent":["import * as fs from \"fs\";\nimport * as os from \"os\";\n\nfunction readNumberFromFile(file: string): number {\n return Number(fs.readFileSync(file, \"utf-8\"));\n}\n\nfunction readAllNumberFromFile(file: string): number[] {\n return fs\n .readFileSync(file, \"utf-8\")\n .split(\" \")\n .map(i => Number(i));\n}\n\nexport function getCpuLimits(): number {\n if (process.platform !== \"linux\") {\n return os.cpus().length;\n }\n return getConcurrencyLimitFromEnv() ?? getCpuLimitsFromCgroup() ?? os.cpus().length;\n}\n\nfunction getConcurrencyLimitFromEnv(): number | null {\n try {\n const concurrencyLimit = Number(process.env.BUILD_CANDY_FORM_CONCURRENCY_LIMIT);\n\n if (!isNaN(concurrencyLimit) && concurrencyLimit > 0) {\n // eslint-disable-next-line no-console\n console.log(`Use cpu limit from environment BUILD_CANDY_FORM_CONCURRENCY_LIMIT`);\n return concurrencyLimit;\n }\n\n return null;\n } catch {\n return null;\n }\n}\n\nfunction getCpuLimitsFromCgroup(): number | null {\n try {\n const cpuLimits = readAllNumberFromFile(\"/sys/fs/cgroup/cpu/cpu.max\");\n const cpuCfsQuotaUs = cpuLimits[0];\n const cpuCfsPeriodUs = cpuLimits[1];\n return calculateCpuLimit(cpuCfsQuotaUs, cpuCfsPeriodUs, \"cgroup v2\");\n } catch {\n try {\n const cpuCfsQuotaUs = readNumberFromFile(\"/sys/fs/cgroup/cpu/cpu.cfs_quota_us\");\n const cpuCfsPeriodUs = readNumberFromFile(\"/sys/fs/cgroup/cpu/cpu.cfs_period_us\");\n return calculateCpuLimit(cpuCfsQuotaUs, cpuCfsPeriodUs, \"cgroup\");\n } catch {\n return null;\n }\n }\n}\n\nfunction calculateCpuLimit(\n cpuCfsQuotaUs: number | undefined,\n cpuCfsPeriodUs: number | undefined,\n type: string\n): number {\n if (cpuCfsQuotaUs && cpuCfsPeriodUs) {\n const cpuLimit = cpuCfsQuotaUs / cpuCfsPeriodUs;\n if (cpuLimit > 0) {\n // eslint-disable-next-line no-console\n console.log(`Use cpu limit from ${type}`);\n return cpuLimit;\n }\n }\n throw new Error(`${type} is not use`);\n}\n"],"mappings":";;;;;;AAAA,IAAAA,EAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,EAAA,GAAAF,uBAAA,CAAAC,OAAA;AAAyB,SAAAE,yBAAAC,CAAA,6BAAAC,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,CAAA,WAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA,KAAAF,CAAA;AAAA,SAAAJ,wBAAAI,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAI,UAAA,SAAAJ,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAK,OAAA,EAAAL,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAG,GAAA,CAAAN,CAAA,UAAAG,CAAA,CAAAI,GAAA,CAAAP,CAAA,OAAAQ,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAd,CAAA,oBAAAc,CAAA,OAAAC,cAAA,CAAAC,IAAA,CAAAhB,CAAA,EAAAc,CAAA,SAAAG,CAAA,GAAAP,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAc,CAAA,UAAAG,CAAA,KAAAA,CAAA,CAAAV,GAAA,IAAAU,CAAA,CAAAC,GAAA,IAAAP,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAG,CAAA,IAAAT,CAAA,CAAAM,CAAA,IAAAd,CAAA,CAAAc,CAAA,YAAAN,CAAA,CAAAH,OAAA,GAAAL,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAe,GAAA,CAAAlB,CAAA,EAAAQ,CAAA,GAAAA,CAAA;AAEzB,SAASW,kBAAkBA,CAACC,IAAY,EAAU;EAC9C,OAAOC,MAAM,CAAC1B,EAAE,CAAC2B,YAAY,CAACF,IAAI,EAAE,OAAO,CAAC,CAAC;AACjD;AAEA,SAASG,qBAAqBA,CAACH,IAAY,EAAY;EACnD,OAAOzB,EAAE,CACJ2B,YAAY,CAACF,IAAI,EAAE,OAAO,CAAC,CAC3BI,KAAK,CAAC,GAAG,CAAC,CACVC,GAAG,CAACR,CAAC,IAAII,MAAM,CAACJ,CAAC,CAAC,CAAC;AAC5B;AAEO,SAASS,YAAYA,CAAA,EAAW;EAAA,IAAAC,IAAA,EAAAC,qBAAA;EACnC,IAAIC,OAAO,CAACC,QAAQ,KAAK,OAAO,EAAE;IAC9B,OAAOhC,EAAE,CAACiC,IAAI,CAAC,CAAC,CAACC,MAAM;EAC3B;EACA,QAAAL,IAAA,IAAAC,qBAAA,GAAOK,0BAA0B,CAAC,CAAC,cAAAL,qBAAA,cAAAA,qBAAA,GAAIM,sBAAsB,CAAC,CAAC,cAAAP,IAAA,cAAAA,IAAA,GAAI7B,EAAE,CAACiC,IAAI,CAAC,CAAC,CAACC,MAAM;AACvF;AAEA,SAASC,0BAA0BA,CAAA,EAAkB;EACjD,IAAI;IACA,MAAME,gBAAgB,GAAGd,MAAM,CAACQ,OAAO,CAACO,GAAG,CAACC,kCAAkC,CAAC;IAE/E,IAAI,CAACC,KAAK,CAACH,gBAAgB,CAAC,IAAIA,gBAAgB,GAAG,CAAC,EAAE;MAClD;MACAI,OAAO,CAACC,GAAG,CAAC,mEAAmE,CAAC;MAChF,OAAOL,gBAAgB;IAC3B;IAEA,OAAO,IAAI;EACf,CAAC,CAAC,MAAM;IACJ,OAAO,IAAI;EACf;AACJ;AAEA,SAASD,sBAAsBA,CAAA,EAAkB;EAC7C,IAAI;IACA,MAAMO,SAAS,GAAGlB,qBAAqB,CAAC,4BAA4B,CAAC;IACrE,MAAMmB,aAAa,GAAGD,SAAS,CAAC,CAAC,CAAC;IAClC,MAAME,cAAc,GAAGF,SAAS,CAAC,CAAC,CAAC;IACnC,OAAOG,iBAAiB,CAACF,aAAa,EAAEC,cAAc,EAAE,WAAW,CAAC;EACxE,CAAC,CAAC,MAAM;IACJ,IAAI;MACA,MAAMD,aAAa,GAAGvB,kBAAkB,CAAC,qCAAqC,CAAC;MAC/E,MAAMwB,cAAc,GAAGxB,kBAAkB,CAAC,sCAAsC,CAAC;MACjF,OAAOyB,iBAAiB,CAACF,aAAa,EAAEC,cAAc,EAAE,QAAQ,CAAC;IACrE,CAAC,CAAC,MAAM;MACJ,OAAO,IAAI;IACf;EACJ;AACJ;AAEA,SAASC,iBAAiBA,CACtBF,aAAiC,EACjCC,cAAkC,EAClCE,IAAY,EACN;EACN,IAAIH,aAAa,IAAIC,cAAc,EAAE;IACjC,MAAMG,QAAQ,GAAGJ,aAAa,GAAGC,cAAc;IAC/C,IAAIG,QAAQ,GAAG,CAAC,EAAE;MACd;MACAP,OAAO,CAACC,GAAG,CAAC,sBAAsBK,IAAI,EAAE,CAAC;MACzC,OAAOC,QAAQ;IACnB;EACJ;EACA,MAAM,IAAIC,KAAK,CAAC,GAAGF,IAAI,aAAa,CAAC;AACzC","ignoreList":[]}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.httpContentResult = httpContentResult;
|
|
7
|
+
exports.httpHtmlResult = httpHtmlResult;
|
|
8
|
+
exports.httpRedirect = httpRedirect;
|
|
9
|
+
exports.httpStreamResult = httpStreamResult;
|
|
10
|
+
var _HtmlResultHandler = require("./Results/HtmlResultHandler");
|
|
11
|
+
function httpRedirect(target) {
|
|
12
|
+
return async (req, res) => {
|
|
13
|
+
res.redirect(target);
|
|
14
|
+
};
|
|
15
|
+
}
|
|
16
|
+
function httpHtmlResult(content) {
|
|
17
|
+
const resultHandler = new _HtmlResultHandler.HtmlResultHandler();
|
|
18
|
+
return async (req, res) => {
|
|
19
|
+
await resultHandler.processResult(content, req, res);
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
function httpContentResult(content, contentType) {
|
|
23
|
+
return async (req, res) => {
|
|
24
|
+
if (contentType) {
|
|
25
|
+
res.contentType(contentType);
|
|
26
|
+
}
|
|
27
|
+
res.send(content);
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
function httpStreamResult(result, contentType) {
|
|
31
|
+
return async (req, res) => {
|
|
32
|
+
if (contentType) {
|
|
33
|
+
res.header("Content-Type", contentType);
|
|
34
|
+
}
|
|
35
|
+
result.pipe(res);
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfSHRtbFJlc3VsdEhhbmRsZXIiLCJyZXF1aXJlIiwiaHR0cFJlZGlyZWN0IiwidGFyZ2V0IiwicmVxIiwicmVzIiwicmVkaXJlY3QiLCJodHRwSHRtbFJlc3VsdCIsImNvbnRlbnQiLCJyZXN1bHRIYW5kbGVyIiwiSHRtbFJlc3VsdEhhbmRsZXIiLCJwcm9jZXNzUmVzdWx0IiwiaHR0cENvbnRlbnRSZXN1bHQiLCJjb250ZW50VHlwZSIsInNlbmQiLCJodHRwU3RyZWFtUmVzdWx0IiwicmVzdWx0IiwiaGVhZGVyIiwicGlwZSJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9Db21tb25zL0h0dHBTZXJ2ZXIvQXR0cmlidXRlUm91dGluZy9BY3Rpb25zLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFJlYWRTdHJlYW0gfSBmcm9tIFwiZnNcIjtcblxuaW1wb3J0IHsgSUFjdGlvblJlc3VsdCB9IGZyb20gXCIuL1Jlc3VsdHMvQ3VzdG9tQWN0aW9uUmVzdWx0SGFuZGxlclwiO1xuaW1wb3J0IHsgSHRtbFJlc3VsdEhhbmRsZXIgfSBmcm9tIFwiLi9SZXN1bHRzL0h0bWxSZXN1bHRIYW5kbGVyXCI7XG5cbmV4cG9ydCBmdW5jdGlvbiBodHRwUmVkaXJlY3QodGFyZ2V0OiBzdHJpbmcpOiBJQWN0aW9uUmVzdWx0IHtcbiAgICByZXR1cm4gYXN5bmMgKHJlcSwgcmVzKSA9PiB7XG4gICAgICAgIHJlcy5yZWRpcmVjdCh0YXJnZXQpO1xuICAgIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBodHRwSHRtbFJlc3VsdChjb250ZW50OiBzdHJpbmcpOiBJQWN0aW9uUmVzdWx0IHtcbiAgICBjb25zdCByZXN1bHRIYW5kbGVyID0gbmV3IEh0bWxSZXN1bHRIYW5kbGVyKCk7XG4gICAgcmV0dXJuIGFzeW5jIChyZXEsIHJlcykgPT4ge1xuICAgICAgICBhd2FpdCByZXN1bHRIYW5kbGVyLnByb2Nlc3NSZXN1bHQoY29udGVudCwgcmVxLCByZXMpO1xuICAgIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBodHRwQ29udGVudFJlc3VsdChjb250ZW50OiBCdWZmZXIgfCBzdHJpbmcsIGNvbnRlbnRUeXBlOiBzdHJpbmcgfCBmYWxzZSk6IElBY3Rpb25SZXN1bHQge1xuICAgIHJldHVybiBhc3luYyAocmVxLCByZXMpID0+IHtcbiAgICAgICAgaWYgKGNvbnRlbnRUeXBlKSB7XG4gICAgICAgICAgICByZXMuY29udGVudFR5cGUoY29udGVudFR5cGUpO1xuICAgICAgICB9XG4gICAgICAgIHJlcy5zZW5kKGNvbnRlbnQpO1xuICAgIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBodHRwU3RyZWFtUmVzdWx0KHJlc3VsdDogUmVhZFN0cmVhbSwgY29udGVudFR5cGU6IHN0cmluZyB8IGZhbHNlKTogSUFjdGlvblJlc3VsdCB7XG4gICAgcmV0dXJuIGFzeW5jIChyZXEsIHJlcyk6IFByb21pc2U8dm9pZD4gPT4ge1xuICAgICAgICBpZiAoY29udGVudFR5cGUpIHtcbiAgICAgICAgICAgIHJlcy5oZWFkZXIoXCJDb250ZW50LVR5cGVcIiwgY29udGVudFR5cGUpO1xuICAgICAgICB9XG4gICAgICAgIHJlc3VsdC5waXBlKHJlcyk7XG4gICAgfTtcbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBR0EsSUFBQUEsa0JBQUEsR0FBQUMsT0FBQTtBQUVPLFNBQVNDLFlBQVlBLENBQUNDLE1BQWMsRUFBaUI7RUFDeEQsT0FBTyxPQUFPQyxHQUFHLEVBQUVDLEdBQUcsS0FBSztJQUN2QkEsR0FBRyxDQUFDQyxRQUFRLENBQUNILE1BQU0sQ0FBQztFQUN4QixDQUFDO0FBQ0w7QUFFTyxTQUFTSSxjQUFjQSxDQUFDQyxPQUFlLEVBQWlCO0VBQzNELE1BQU1DLGFBQWEsR0FBRyxJQUFJQyxvQ0FBaUIsQ0FBQyxDQUFDO0VBQzdDLE9BQU8sT0FBT04sR0FBRyxFQUFFQyxHQUFHLEtBQUs7SUFDdkIsTUFBTUksYUFBYSxDQUFDRSxhQUFhLENBQUNILE9BQU8sRUFBRUosR0FBRyxFQUFFQyxHQUFHLENBQUM7RUFDeEQsQ0FBQztBQUNMO0FBRU8sU0FBU08saUJBQWlCQSxDQUFDSixPQUF3QixFQUFFSyxXQUEyQixFQUFpQjtFQUNwRyxPQUFPLE9BQU9ULEdBQUcsRUFBRUMsR0FBRyxLQUFLO0lBQ3ZCLElBQUlRLFdBQVcsRUFBRTtNQUNiUixHQUFHLENBQUNRLFdBQVcsQ0FBQ0EsV0FBVyxDQUFDO0lBQ2hDO0lBQ0FSLEdBQUcsQ0FBQ1MsSUFBSSxDQUFDTixPQUFPLENBQUM7RUFDckIsQ0FBQztBQUNMO0FBRU8sU0FBU08sZ0JBQWdCQSxDQUFDQyxNQUFrQixFQUFFSCxXQUEyQixFQUFpQjtFQUM3RixPQUFPLE9BQU9ULEdBQUcsRUFBRUMsR0FBRyxLQUFvQjtJQUN0QyxJQUFJUSxXQUFXLEVBQUU7TUFDYlIsR0FBRyxDQUFDWSxNQUFNLENBQUMsY0FBYyxFQUFFSixXQUFXLENBQUM7SUFDM0M7SUFDQUcsTUFBTSxDQUFDRSxJQUFJLENBQUNiLEdBQUcsQ0FBQztFQUNwQixDQUFDO0FBQ0wiLCJpZ25vcmVMaXN0IjpbXX0=
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Actions.js","names":["_HtmlResultHandler","require","httpRedirect","target","req","res","redirect","httpHtmlResult","content","resultHandler","HtmlResultHandler","processResult","httpContentResult","contentType","send","httpStreamResult","result","header","pipe"],"sources":["../../../../../../src/Commons/HttpServer/AttributeRouting/Actions.ts"],"sourcesContent":["import { ReadStream } from \"fs\";\n\nimport { IActionResult } from \"./Results/CustomActionResultHandler\";\nimport { HtmlResultHandler } from \"./Results/HtmlResultHandler\";\n\nexport function httpRedirect(target: string): IActionResult {\n return async (req, res) => {\n res.redirect(target);\n };\n}\n\nexport function httpHtmlResult(content: string): IActionResult {\n const resultHandler = new HtmlResultHandler();\n return async (req, res) => {\n await resultHandler.processResult(content, req, res);\n };\n}\n\nexport function httpContentResult(content: Buffer | string, contentType: string | false): IActionResult {\n return async (req, res) => {\n if (contentType) {\n res.contentType(contentType);\n }\n res.send(content);\n };\n}\n\nexport function httpStreamResult(result: ReadStream, contentType: string | false): IActionResult {\n return async (req, res): Promise<void> => {\n if (contentType) {\n res.header(\"Content-Type\", contentType);\n }\n result.pipe(res);\n };\n}\n"],"mappings":";;;;;;;;;AAGA,IAAAA,kBAAA,GAAAC,OAAA;AAEO,SAASC,YAAYA,CAACC,MAAc,EAAiB;EACxD,OAAO,OAAOC,GAAG,EAAEC,GAAG,KAAK;IACvBA,GAAG,CAACC,QAAQ,CAACH,MAAM,CAAC;EACxB,CAAC;AACL;AAEO,SAASI,cAAcA,CAACC,OAAe,EAAiB;EAC3D,MAAMC,aAAa,GAAG,IAAIC,oCAAiB,CAAC,CAAC;EAC7C,OAAO,OAAON,GAAG,EAAEC,GAAG,KAAK;IACvB,MAAMI,aAAa,CAACE,aAAa,CAACH,OAAO,EAAEJ,GAAG,EAAEC,GAAG,CAAC;EACxD,CAAC;AACL;AAEO,SAASO,iBAAiBA,CAACJ,OAAwB,EAAEK,WAA2B,EAAiB;EACpG,OAAO,OAAOT,GAAG,EAAEC,GAAG,KAAK;IACvB,IAAIQ,WAAW,EAAE;MACbR,GAAG,CAACQ,WAAW,CAACA,WAAW,CAAC;IAChC;IACAR,GAAG,CAACS,IAAI,CAACN,OAAO,CAAC;EACrB,CAAC;AACL;AAEO,SAASO,gBAAgBA,CAACC,MAAkB,EAAEH,WAA2B,EAAiB;EAC7F,OAAO,OAAOT,GAAG,EAAEC,GAAG,KAAoB;IACtC,IAAIQ,WAAW,EAAE;MACbR,GAAG,CAACY,MAAM,CAAC,cAAc,EAAEJ,WAAW,CAAC;IAC3C;IACAG,MAAM,CAACE,IAAI,CAACb,GAAG,CAAC;EACpB,CAAC;AACL","ignoreList":[]}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.httpGet = httpGet;
|
|
7
|
+
exports.httpPost = httpPost;
|
|
8
|
+
exports.httpSetupAttributeRouting = httpSetupAttributeRouting;
|
|
9
|
+
var _NotFoundWebError = require("./NotFoundWebError");
|
|
10
|
+
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
11
|
+
|
|
12
|
+
const routesProperty = "__http_routes__";
|
|
13
|
+
function httpGet(urlPattern, resultHandler, ...paramConfigs) {
|
|
14
|
+
return (instanceClass, propertyKey, descriptor) => {
|
|
15
|
+
instanceClass[routesProperty] = instanceClass[routesProperty] || [];
|
|
16
|
+
function setupBinding(instance, expressApp) {
|
|
17
|
+
expressApp.get(urlPattern, buildHandler(instance, propertyKey, paramConfigs, resultHandler));
|
|
18
|
+
}
|
|
19
|
+
instanceClass[routesProperty].push(setupBinding);
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
function httpPost(urlPattern, resultHandler, ...paramConfigs) {
|
|
23
|
+
return (instanceClass, propertyKey, descriptor) => {
|
|
24
|
+
instanceClass[routesProperty] = instanceClass[routesProperty] || [];
|
|
25
|
+
function setupBinding(instance, expressApp) {
|
|
26
|
+
expressApp.post(urlPattern, buildHandler(instance, propertyKey, paramConfigs, resultHandler));
|
|
27
|
+
}
|
|
28
|
+
instanceClass[routesProperty].push(setupBinding);
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
function httpSetupAttributeRouting(instance, expressApp) {
|
|
32
|
+
for (const route of instance[routesProperty] || []) {
|
|
33
|
+
route(instance, expressApp);
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
function buildHandler(instance, methodName, paramConfigs, resultHandler) {
|
|
37
|
+
return async (req, res, next) => {
|
|
38
|
+
try {
|
|
39
|
+
const params = paramConfigs.map(x => x.extractValue(req));
|
|
40
|
+
// eslint-disable-next-line prefer-spread
|
|
41
|
+
let result = instance[methodName].apply(instance, params);
|
|
42
|
+
if (typeof result.then === "function") {
|
|
43
|
+
result = await result;
|
|
44
|
+
}
|
|
45
|
+
await resultHandler.processResult(result, req, res);
|
|
46
|
+
} catch (e) {
|
|
47
|
+
if (e instanceof _NotFoundWebError.NotFoundWebError) {
|
|
48
|
+
next();
|
|
49
|
+
} else if (e instanceof Error) {
|
|
50
|
+
res.status(500).send(`${e.message}\n${e.stack}`);
|
|
51
|
+
} else {
|
|
52
|
+
res.status(500).send(`${e}`);
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
};
|
|
56
|
+
}
|
|
57
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfTm90Rm91bmRXZWJFcnJvciIsInJlcXVpcmUiLCJyb3V0ZXNQcm9wZXJ0eSIsImh0dHBHZXQiLCJ1cmxQYXR0ZXJuIiwicmVzdWx0SGFuZGxlciIsInBhcmFtQ29uZmlncyIsImluc3RhbmNlQ2xhc3MiLCJwcm9wZXJ0eUtleSIsImRlc2NyaXB0b3IiLCJzZXR1cEJpbmRpbmciLCJpbnN0YW5jZSIsImV4cHJlc3NBcHAiLCJnZXQiLCJidWlsZEhhbmRsZXIiLCJwdXNoIiwiaHR0cFBvc3QiLCJwb3N0IiwiaHR0cFNldHVwQXR0cmlidXRlUm91dGluZyIsInJvdXRlIiwibWV0aG9kTmFtZSIsInJlcSIsInJlcyIsIm5leHQiLCJwYXJhbXMiLCJtYXAiLCJ4IiwiZXh0cmFjdFZhbHVlIiwicmVzdWx0IiwiYXBwbHkiLCJ0aGVuIiwicHJvY2Vzc1Jlc3VsdCIsImUiLCJOb3RGb3VuZFdlYkVycm9yIiwiRXJyb3IiLCJzdGF0dXMiLCJzZW5kIiwibWVzc2FnZSIsInN0YWNrIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL0NvbW1vbnMvSHR0cFNlcnZlci9BdHRyaWJ1dGVSb3V0aW5nL01ldGhvZHMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueSAqL1xuaW1wb3J0IHsgRXhwcmVzcyB9IGZyb20gXCJleHByZXNzXCI7XG5pbXBvcnQgeyBSZXF1ZXN0SGFuZGxlciB9IGZyb20gXCJleHByZXNzLXNlcnZlLXN0YXRpYy1jb3JlXCI7XG5cbmltcG9ydCB7IE5vdEZvdW5kV2ViRXJyb3IgfSBmcm9tIFwiLi9Ob3RGb3VuZFdlYkVycm9yXCI7XG5pbXBvcnQgeyBJUGFyYW1CaW5kZXIgfSBmcm9tIFwiLi9QYXJhbUJpbmRlcnMvSVBhcmFtQmluZGVyXCI7XG5pbXBvcnQgeyBJUmVzdWx0SGFuZGxlciB9IGZyb20gXCIuL1Jlc3VsdHMvSVJlc3VsdEhhbmRsZXJcIjtcblxuY29uc3Qgcm91dGVzUHJvcGVydHkgPSBcIl9faHR0cF9yb3V0ZXNfX1wiO1xuXG5leHBvcnQgZnVuY3Rpb24gaHR0cEdldChcbiAgICB1cmxQYXR0ZXJuOiBzdHJpbmcgfCBSZWdFeHAsXG4gICAgcmVzdWx0SGFuZGxlcjogSVJlc3VsdEhhbmRsZXIsXG4gICAgLi4ucGFyYW1Db25maWdzOiBJUGFyYW1CaW5kZXJbXVxuKTogTWV0aG9kRGVjb3JhdG9yIHtcbiAgICByZXR1cm4gKGluc3RhbmNlQ2xhc3MsIHByb3BlcnR5S2V5LCBkZXNjcmlwdG9yKSA9PiB7XG4gICAgICAgIGluc3RhbmNlQ2xhc3Nbcm91dGVzUHJvcGVydHldID0gaW5zdGFuY2VDbGFzc1tyb3V0ZXNQcm9wZXJ0eV0gfHwgW107XG5cbiAgICAgICAgZnVuY3Rpb24gc2V0dXBCaW5kaW5nKGluc3RhbmNlOiBhbnksIGV4cHJlc3NBcHA6IEV4cHJlc3MpOiB2b2lkIHtcbiAgICAgICAgICAgIGV4cHJlc3NBcHAuZ2V0KHVybFBhdHRlcm4sIGJ1aWxkSGFuZGxlcihpbnN0YW5jZSwgcHJvcGVydHlLZXksIHBhcmFtQ29uZmlncywgcmVzdWx0SGFuZGxlcikpO1xuICAgICAgICB9XG5cbiAgICAgICAgaW5zdGFuY2VDbGFzc1tyb3V0ZXNQcm9wZXJ0eV0ucHVzaChzZXR1cEJpbmRpbmcpO1xuICAgIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBodHRwUG9zdChcbiAgICB1cmxQYXR0ZXJuOiBzdHJpbmcsXG4gICAgcmVzdWx0SGFuZGxlcjogSVJlc3VsdEhhbmRsZXIsXG4gICAgLi4ucGFyYW1Db25maWdzOiBJUGFyYW1CaW5kZXJbXVxuKTogTWV0aG9kRGVjb3JhdG9yIHtcbiAgICByZXR1cm4gKGluc3RhbmNlQ2xhc3MsIHByb3BlcnR5S2V5LCBkZXNjcmlwdG9yKSA9PiB7XG4gICAgICAgIGluc3RhbmNlQ2xhc3Nbcm91dGVzUHJvcGVydHldID0gaW5zdGFuY2VDbGFzc1tyb3V0ZXNQcm9wZXJ0eV0gfHwgW107XG5cbiAgICAgICAgZnVuY3Rpb24gc2V0dXBCaW5kaW5nKGluc3RhbmNlOiBhbnksIGV4cHJlc3NBcHA6IEV4cHJlc3MpOiB2b2lkIHtcbiAgICAgICAgICAgIGV4cHJlc3NBcHAucG9zdCh1cmxQYXR0ZXJuLCBidWlsZEhhbmRsZXIoaW5zdGFuY2UsIHByb3BlcnR5S2V5LCBwYXJhbUNvbmZpZ3MsIHJlc3VsdEhhbmRsZXIpKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGluc3RhbmNlQ2xhc3Nbcm91dGVzUHJvcGVydHldLnB1c2goc2V0dXBCaW5kaW5nKTtcbiAgICB9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaHR0cFNldHVwQXR0cmlidXRlUm91dGluZzxUPihpbnN0YW5jZTogVCwgZXhwcmVzc0FwcDogRXhwcmVzcyk6IHZvaWQge1xuICAgIGZvciAoY29uc3Qgcm91dGUgb2YgaW5zdGFuY2Vbcm91dGVzUHJvcGVydHldIHx8IFtdKSB7XG4gICAgICAgIHJvdXRlKGluc3RhbmNlLCBleHByZXNzQXBwKTtcbiAgICB9XG59XG5cbmZ1bmN0aW9uIGJ1aWxkSGFuZGxlcihcbiAgICBpbnN0YW5jZTogYW55LFxuICAgIG1ldGhvZE5hbWU6IHN0cmluZyB8IHN5bWJvbCxcbiAgICBwYXJhbUNvbmZpZ3M6IElQYXJhbUJpbmRlcltdLFxuICAgIHJlc3VsdEhhbmRsZXI6IElSZXN1bHRIYW5kbGVyXG4pOiBSZXF1ZXN0SGFuZGxlciB7XG4gICAgcmV0dXJuIGFzeW5jIChyZXEsIHJlcywgbmV4dCkgPT4ge1xuICAgICAgICB0cnkge1xuICAgICAgICAgICAgY29uc3QgcGFyYW1zID0gcGFyYW1Db25maWdzLm1hcCh4ID0+IHguZXh0cmFjdFZhbHVlKHJlcSkpO1xuICAgICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHByZWZlci1zcHJlYWRcbiAgICAgICAgICAgIGxldCByZXN1bHQgPSBpbnN0YW5jZVttZXRob2ROYW1lXS5hcHBseShpbnN0YW5jZSwgcGFyYW1zKTtcbiAgICAgICAgICAgIGlmICh0eXBlb2YgcmVzdWx0LnRoZW4gPT09IFwiZnVuY3Rpb25cIikge1xuICAgICAgICAgICAgICAgIHJlc3VsdCA9IGF3YWl0IHJlc3VsdDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGF3YWl0IHJlc3VsdEhhbmRsZXIucHJvY2Vzc1Jlc3VsdChyZXN1bHQsIHJlcSwgcmVzKTtcbiAgICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICAgICAgaWYgKGUgaW5zdGFuY2VvZiBOb3RGb3VuZFdlYkVycm9yKSB7XG4gICAgICAgICAgICAgICAgbmV4dCgpO1xuICAgICAgICAgICAgfSBlbHNlIGlmIChlIGluc3RhbmNlb2YgRXJyb3IpIHtcbiAgICAgICAgICAgICAgICByZXMuc3RhdHVzKDUwMCkuc2VuZChgJHtlLm1lc3NhZ2V9XFxuJHtlLnN0YWNrfWApO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICByZXMuc3RhdHVzKDUwMCkuc2VuZChgJHtlfWApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfTtcbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFJQSxJQUFBQSxpQkFBQSxHQUFBQyxPQUFBO0FBSkE7O0FBUUEsTUFBTUMsY0FBYyxHQUFHLGlCQUFpQjtBQUVqQyxTQUFTQyxPQUFPQSxDQUNuQkMsVUFBMkIsRUFDM0JDLGFBQTZCLEVBQzdCLEdBQUdDLFlBQTRCLEVBQ2hCO0VBQ2YsT0FBTyxDQUFDQyxhQUFhLEVBQUVDLFdBQVcsRUFBRUMsVUFBVSxLQUFLO0lBQy9DRixhQUFhLENBQUNMLGNBQWMsQ0FBQyxHQUFHSyxhQUFhLENBQUNMLGNBQWMsQ0FBQyxJQUFJLEVBQUU7SUFFbkUsU0FBU1EsWUFBWUEsQ0FBQ0MsUUFBYSxFQUFFQyxVQUFtQixFQUFRO01BQzVEQSxVQUFVLENBQUNDLEdBQUcsQ0FBQ1QsVUFBVSxFQUFFVSxZQUFZLENBQUNILFFBQVEsRUFBRUgsV0FBVyxFQUFFRixZQUFZLEVBQUVELGFBQWEsQ0FBQyxDQUFDO0lBQ2hHO0lBRUFFLGFBQWEsQ0FBQ0wsY0FBYyxDQUFDLENBQUNhLElBQUksQ0FBQ0wsWUFBWSxDQUFDO0VBQ3BELENBQUM7QUFDTDtBQUVPLFNBQVNNLFFBQVFBLENBQ3BCWixVQUFrQixFQUNsQkMsYUFBNkIsRUFDN0IsR0FBR0MsWUFBNEIsRUFDaEI7RUFDZixPQUFPLENBQUNDLGFBQWEsRUFBRUMsV0FBVyxFQUFFQyxVQUFVLEtBQUs7SUFDL0NGLGFBQWEsQ0FBQ0wsY0FBYyxDQUFDLEdBQUdLLGFBQWEsQ0FBQ0wsY0FBYyxDQUFDLElBQUksRUFBRTtJQUVuRSxTQUFTUSxZQUFZQSxDQUFDQyxRQUFhLEVBQUVDLFVBQW1CLEVBQVE7TUFDNURBLFVBQVUsQ0FBQ0ssSUFBSSxDQUFDYixVQUFVLEVBQUVVLFlBQVksQ0FBQ0gsUUFBUSxFQUFFSCxXQUFXLEVBQUVGLFlBQVksRUFBRUQsYUFBYSxDQUFDLENBQUM7SUFDakc7SUFFQUUsYUFBYSxDQUFDTCxjQUFjLENBQUMsQ0FBQ2EsSUFBSSxDQUFDTCxZQUFZLENBQUM7RUFDcEQsQ0FBQztBQUNMO0FBRU8sU0FBU1EseUJBQXlCQSxDQUFJUCxRQUFXLEVBQUVDLFVBQW1CLEVBQVE7RUFDakYsS0FBSyxNQUFNTyxLQUFLLElBQUlSLFFBQVEsQ0FBQ1QsY0FBYyxDQUFDLElBQUksRUFBRSxFQUFFO0lBQ2hEaUIsS0FBSyxDQUFDUixRQUFRLEVBQUVDLFVBQVUsQ0FBQztFQUMvQjtBQUNKO0FBRUEsU0FBU0UsWUFBWUEsQ0FDakJILFFBQWEsRUFDYlMsVUFBMkIsRUFDM0JkLFlBQTRCLEVBQzVCRCxhQUE2QixFQUNmO0VBQ2QsT0FBTyxPQUFPZ0IsR0FBRyxFQUFFQyxHQUFHLEVBQUVDLElBQUksS0FBSztJQUM3QixJQUFJO01BQ0EsTUFBTUMsTUFBTSxHQUFHbEIsWUFBWSxDQUFDbUIsR0FBRyxDQUFDQyxDQUFDLElBQUlBLENBQUMsQ0FBQ0MsWUFBWSxDQUFDTixHQUFHLENBQUMsQ0FBQztNQUN6RDtNQUNBLElBQUlPLE1BQU0sR0FBR2pCLFFBQVEsQ0FBQ1MsVUFBVSxDQUFDLENBQUNTLEtBQUssQ0FBQ2xCLFFBQVEsRUFBRWEsTUFBTSxDQUFDO01BQ3pELElBQUksT0FBT0ksTUFBTSxDQUFDRSxJQUFJLEtBQUssVUFBVSxFQUFFO1FBQ25DRixNQUFNLEdBQUcsTUFBTUEsTUFBTTtNQUN6QjtNQUNBLE1BQU12QixhQUFhLENBQUMwQixhQUFhLENBQUNILE1BQU0sRUFBRVAsR0FBRyxFQUFFQyxHQUFHLENBQUM7SUFDdkQsQ0FBQyxDQUFDLE9BQU9VLENBQUMsRUFBRTtNQUNSLElBQUlBLENBQUMsWUFBWUMsa0NBQWdCLEVBQUU7UUFDL0JWLElBQUksQ0FBQyxDQUFDO01BQ1YsQ0FBQyxNQUFNLElBQUlTLENBQUMsWUFBWUUsS0FBSyxFQUFFO1FBQzNCWixHQUFHLENBQUNhLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQ0MsSUFBSSxDQUFDLEdBQUdKLENBQUMsQ0FBQ0ssT0FBTyxLQUFLTCxDQUFDLENBQUNNLEtBQUssRUFBRSxDQUFDO01BQ3BELENBQUMsTUFBTTtRQUNIaEIsR0FBRyxDQUFDYSxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUNDLElBQUksQ0FBQyxHQUFHSixDQUFDLEVBQUUsQ0FBQztNQUNoQztJQUNKO0VBQ0osQ0FBQztBQUNMIiwiaWdub3JlTGlzdCI6W119
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Methods.js","names":["_NotFoundWebError","require","routesProperty","httpGet","urlPattern","resultHandler","paramConfigs","instanceClass","propertyKey","descriptor","setupBinding","instance","expressApp","get","buildHandler","push","httpPost","post","httpSetupAttributeRouting","route","methodName","req","res","next","params","map","x","extractValue","result","apply","then","processResult","e","NotFoundWebError","Error","status","send","message","stack"],"sources":["../../../../../../src/Commons/HttpServer/AttributeRouting/Methods.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { Express } from \"express\";\nimport { RequestHandler } from \"express-serve-static-core\";\n\nimport { NotFoundWebError } from \"./NotFoundWebError\";\nimport { IParamBinder } from \"./ParamBinders/IParamBinder\";\nimport { IResultHandler } from \"./Results/IResultHandler\";\n\nconst routesProperty = \"__http_routes__\";\n\nexport function httpGet(\n urlPattern: string | RegExp,\n resultHandler: IResultHandler,\n ...paramConfigs: IParamBinder[]\n): MethodDecorator {\n return (instanceClass, propertyKey, descriptor) => {\n instanceClass[routesProperty] = instanceClass[routesProperty] || [];\n\n function setupBinding(instance: any, expressApp: Express): void {\n expressApp.get(urlPattern, buildHandler(instance, propertyKey, paramConfigs, resultHandler));\n }\n\n instanceClass[routesProperty].push(setupBinding);\n };\n}\n\nexport function httpPost(\n urlPattern: string,\n resultHandler: IResultHandler,\n ...paramConfigs: IParamBinder[]\n): MethodDecorator {\n return (instanceClass, propertyKey, descriptor) => {\n instanceClass[routesProperty] = instanceClass[routesProperty] || [];\n\n function setupBinding(instance: any, expressApp: Express): void {\n expressApp.post(urlPattern, buildHandler(instance, propertyKey, paramConfigs, resultHandler));\n }\n\n instanceClass[routesProperty].push(setupBinding);\n };\n}\n\nexport function httpSetupAttributeRouting<T>(instance: T, expressApp: Express): void {\n for (const route of instance[routesProperty] || []) {\n route(instance, expressApp);\n }\n}\n\nfunction buildHandler(\n instance: any,\n methodName: string | symbol,\n paramConfigs: IParamBinder[],\n resultHandler: IResultHandler\n): RequestHandler {\n return async (req, res, next) => {\n try {\n const params = paramConfigs.map(x => x.extractValue(req));\n // eslint-disable-next-line prefer-spread\n let result = instance[methodName].apply(instance, params);\n if (typeof result.then === \"function\") {\n result = await result;\n }\n await resultHandler.processResult(result, req, res);\n } catch (e) {\n if (e instanceof NotFoundWebError) {\n next();\n } else if (e instanceof Error) {\n res.status(500).send(`${e.message}\\n${e.stack}`);\n } else {\n res.status(500).send(`${e}`);\n }\n }\n };\n}\n"],"mappings":";;;;;;;;AAIA,IAAAA,iBAAA,GAAAC,OAAA;AAJA;;AAQA,MAAMC,cAAc,GAAG,iBAAiB;AAEjC,SAASC,OAAOA,CACnBC,UAA2B,EAC3BC,aAA6B,EAC7B,GAAGC,YAA4B,EAChB;EACf,OAAO,CAACC,aAAa,EAAEC,WAAW,EAAEC,UAAU,KAAK;IAC/CF,aAAa,CAACL,cAAc,CAAC,GAAGK,aAAa,CAACL,cAAc,CAAC,IAAI,EAAE;IAEnE,SAASQ,YAAYA,CAACC,QAAa,EAAEC,UAAmB,EAAQ;MAC5DA,UAAU,CAACC,GAAG,CAACT,UAAU,EAAEU,YAAY,CAACH,QAAQ,EAAEH,WAAW,EAAEF,YAAY,EAAED,aAAa,CAAC,CAAC;IAChG;IAEAE,aAAa,CAACL,cAAc,CAAC,CAACa,IAAI,CAACL,YAAY,CAAC;EACpD,CAAC;AACL;AAEO,SAASM,QAAQA,CACpBZ,UAAkB,EAClBC,aAA6B,EAC7B,GAAGC,YAA4B,EAChB;EACf,OAAO,CAACC,aAAa,EAAEC,WAAW,EAAEC,UAAU,KAAK;IAC/CF,aAAa,CAACL,cAAc,CAAC,GAAGK,aAAa,CAACL,cAAc,CAAC,IAAI,EAAE;IAEnE,SAASQ,YAAYA,CAACC,QAAa,EAAEC,UAAmB,EAAQ;MAC5DA,UAAU,CAACK,IAAI,CAACb,UAAU,EAAEU,YAAY,CAACH,QAAQ,EAAEH,WAAW,EAAEF,YAAY,EAAED,aAAa,CAAC,CAAC;IACjG;IAEAE,aAAa,CAACL,cAAc,CAAC,CAACa,IAAI,CAACL,YAAY,CAAC;EACpD,CAAC;AACL;AAEO,SAASQ,yBAAyBA,CAAIP,QAAW,EAAEC,UAAmB,EAAQ;EACjF,KAAK,MAAMO,KAAK,IAAIR,QAAQ,CAACT,cAAc,CAAC,IAAI,EAAE,EAAE;IAChDiB,KAAK,CAACR,QAAQ,EAAEC,UAAU,CAAC;EAC/B;AACJ;AAEA,SAASE,YAAYA,CACjBH,QAAa,EACbS,UAA2B,EAC3Bd,YAA4B,EAC5BD,aAA6B,EACf;EACd,OAAO,OAAOgB,GAAG,EAAEC,GAAG,EAAEC,IAAI,KAAK;IAC7B,IAAI;MACA,MAAMC,MAAM,GAAGlB,YAAY,CAACmB,GAAG,CAACC,CAAC,IAAIA,CAAC,CAACC,YAAY,CAACN,GAAG,CAAC,CAAC;MACzD;MACA,IAAIO,MAAM,GAAGjB,QAAQ,CAACS,UAAU,CAAC,CAACS,KAAK,CAAClB,QAAQ,EAAEa,MAAM,CAAC;MACzD,IAAI,OAAOI,MAAM,CAACE,IAAI,KAAK,UAAU,EAAE;QACnCF,MAAM,GAAG,MAAMA,MAAM;MACzB;MACA,MAAMvB,aAAa,CAAC0B,aAAa,CAACH,MAAM,EAAEP,GAAG,EAAEC,GAAG,CAAC;IACvD,CAAC,CAAC,OAAOU,CAAC,EAAE;MACR,IAAIA,CAAC,YAAYC,kCAAgB,EAAE;QAC/BV,IAAI,CAAC,CAAC;MACV,CAAC,MAAM,IAAIS,CAAC,YAAYE,KAAK,EAAE;QAC3BZ,GAAG,CAACa,MAAM,CAAC,GAAG,CAAC,CAACC,IAAI,CAAC,GAAGJ,CAAC,CAACK,OAAO,KAAKL,CAAC,CAACM,KAAK,EAAE,CAAC;MACpD,CAAC,MAAM;QACHhB,GAAG,CAACa,MAAM,CAAC,GAAG,CAAC,CAACC,IAAI,CAAC,GAAGJ,CAAC,EAAE,CAAC;MAChC;IACJ;EACJ,CAAC;AACL","ignoreList":[]}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.NotFoundWebError = void 0;
|
|
7
|
+
class NotFoundWebError extends Error {
|
|
8
|
+
constructor(message, propagateToNextHandler = true) {
|
|
9
|
+
super(message);
|
|
10
|
+
this.propagateToNextHandler = void 0;
|
|
11
|
+
this.propagateToNextHandler = propagateToNextHandler;
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
exports.NotFoundWebError = NotFoundWebError;
|
|
15
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJOb3RGb3VuZFdlYkVycm9yIiwiRXJyb3IiLCJjb25zdHJ1Y3RvciIsIm1lc3NhZ2UiLCJwcm9wYWdhdGVUb05leHRIYW5kbGVyIiwiZXhwb3J0cyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9Db21tb25zL0h0dHBTZXJ2ZXIvQXR0cmlidXRlUm91dGluZy9Ob3RGb3VuZFdlYkVycm9yLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjbGFzcyBOb3RGb3VuZFdlYkVycm9yIGV4dGVuZHMgRXJyb3Ige1xuICAgIHB1YmxpYyByZWFkb25seSBwcm9wYWdhdGVUb05leHRIYW5kbGVyOiBib29sZWFuO1xuXG4gICAgcHVibGljIGNvbnN0cnVjdG9yKG1lc3NhZ2U6IHN0cmluZywgcHJvcGFnYXRlVG9OZXh0SGFuZGxlcjogYm9vbGVhbiA9IHRydWUpIHtcbiAgICAgICAgc3VwZXIobWVzc2FnZSk7XG4gICAgICAgIHRoaXMucHJvcGFnYXRlVG9OZXh0SGFuZGxlciA9IHByb3BhZ2F0ZVRvTmV4dEhhbmRsZXI7XG4gICAgfVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBTyxNQUFNQSxnQkFBZ0IsU0FBU0MsS0FBSyxDQUFDO0VBR2pDQyxXQUFXQSxDQUFDQyxPQUFlLEVBQUVDLHNCQUErQixHQUFHLElBQUksRUFBRTtJQUN4RSxLQUFLLENBQUNELE9BQU8sQ0FBQztJQUFDLEtBSEhDLHNCQUFzQjtJQUlsQyxJQUFJLENBQUNBLHNCQUFzQixHQUFHQSxzQkFBc0I7RUFDeEQ7QUFDSjtBQUFDQyxPQUFBLENBQUFMLGdCQUFBLEdBQUFBLGdCQUFBIiwiaWdub3JlTGlzdCI6W119
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NotFoundWebError.js","names":["NotFoundWebError","Error","constructor","message","propagateToNextHandler","exports"],"sources":["../../../../../../src/Commons/HttpServer/AttributeRouting/NotFoundWebError.ts"],"sourcesContent":["export class NotFoundWebError extends Error {\n public readonly propagateToNextHandler: boolean;\n\n public constructor(message: string, propagateToNextHandler: boolean = true) {\n super(message);\n this.propagateToNextHandler = propagateToNextHandler;\n }\n}\n"],"mappings":";;;;;;AAAO,MAAMA,gBAAgB,SAASC,KAAK,CAAC;EAGjCC,WAAWA,CAACC,OAAe,EAAEC,sBAA+B,GAAG,IAAI,EAAE;IACxE,KAAK,CAACD,OAAO,CAAC;IAAC,KAHHC,sBAAsB;IAIlC,IAAI,CAACA,sBAAsB,GAAGA,sBAAsB;EACxD;AACJ;AAACC,OAAA,CAAAL,gBAAA,GAAAA,gBAAA","ignoreList":[]}
|