@kontur.candy/tools 2.237.0 → 2.239.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/distr/Common/CandyApiClient/CandyApiClient.js +15 -3
- package/distr/Common/CandyApiClient/CandyApiClient.js.map +1 -1
- package/distr/Common/CandyApiClient/FakeCandyApiClient.js +20 -0
- package/distr/Common/CandyApiClient/FakeCandyApiClient.js.map +1 -1
- package/distr/Common/CandyApiClient/ICandyApiClient.js.map +1 -1
- package/distr/Common/CommonConstants/DefaultServicesUrls.js +3 -1
- package/distr/Common/CommonConstants/DefaultServicesUrls.js.map +1 -1
- package/distr/Common/FSPrinterClient/FSPrinterClient.js +4 -3
- package/distr/Common/FSPrinterClient/FSPrinterClient.js.map +1 -1
- package/distr/Common/HttpClient/HttpClient.js +4 -0
- package/distr/Common/HttpClient/HttpClient.js.map +1 -1
- package/distr/Common/HttpClient/IHttpClient.js.map +1 -1
- package/distr/Common/TypingUtils.js +5 -0
- package/distr/Common/TypingUtils.js.map +1 -1
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/DevServers/BuildFormDevServer.js +2 -1
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/DevServers/BuildFormDevServer.js.map +1 -1
- package/distr/Tools/src/FormWebpackConfiguration/createFormWebpackConfiguration.js +4 -2
- package/distr/Tools/src/FormWebpackConfiguration/createFormWebpackConfiguration.js.map +1 -1
- package/distr/Tools/src/LocalServerFrontEndDist/enhancedClient.js +1 -1
- package/distr/Tools/src/LocalServerFrontEndDist/index.js +1 -1
- package/distr/Tools/src/LocalServerFrontEndDist/index.js.map +1 -1
- package/distr/Tools/src/StaticFilesForProductionResourcesDir/client.js +47 -37
- package/distr/Tools/src/StaticFilesForProductionResourcesDir/client.js.map +1 -1
- package/distr/Tools/src/StaticFilesForProductionResourcesDir/client.min.js +18 -12
- package/distr/Tools/src/StaticFilesForProductionResourcesDir/client.min.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ICandyApiClient.js","names":[],"sources":["../../../../Common/CandyApiClient/ICandyApiClient.ts"],"sourcesContent":["import { HttpStatusCode } from \"../HttpClient/IHttpClient\";\nimport { ICombineByTransfers } from \"../../Engine/src/Engine/Core/ModalManager/Modals/UploadSection/Types\";\nimport { AbsoluteModelPath } from \"../ModelPath/ModelPath\";\nimport { AbsoluteModelFieldPath } from \"../ModelPath/AbsoluteModelFieldPath\";\nimport { FormSettings } from \"../../Engine/src/Forms/Types/FormSettings\";\nimport { AUOOptions } from \"../../Engine/src/Forms/Types/AUOOptions\";\n\nimport { ServerErrorLog } from \"./Types/ErrorLog/ServerErrorLog\";\nimport { ServerInnerResponse, ServerJsonResponse } from \"./Types/GetInner/ServerInnerResponse\";\nimport {\n ExcelsToPartialFufsResponse,\n FileProperties,\n ServerErrorResponse,\n UploadFilePropertiesResponse,\n} from \"./Types/DraftActions/FileProperties\";\nimport { CreateDraftResponse } from \"./Types/CreateDraft/CreateDraftResponse\";\nimport { CreateExplanatoryNoteResponse } from \"./Types/ExplanatoryNote/CreateExplanatoryNoteResponse\";\nimport { DraftFullId } from \"./Types/DraftFullId\";\nimport { ServerChangeSet } from \"./Types/ChangeSet/ServerChangeSet\";\nimport { ServerTask, VerifyAndFixFnsRequirementsTaskInfo } from \"./Types/Tasks/Tasks\";\nimport { GetByInnResponse } from \"./Types/Focus/FocusTypes\";\nimport { AttachInfo } from \"./Types/Attachments/Attacments\";\nimport { DraftPresentationType } from \"./Types/Presentations/DraftPresentationType\";\nimport { PresentationContent } from \"./Types/Presentations/PresentationContent\";\nimport { ConvertDraftRequest } from \"./Types/DraftActions/ConvertDraftRequest\";\nimport { ServerRequisitesResponse } from \"./Types/GetInner/ServerRequisitesResponse\";\nimport { CombinatorType, CombineFufResult, FufCombineMethod } from \"./Types/DraftActions/CombineFufResult\";\nimport { FeatureFlagsResponse } from \"./Types/FeatureFlags/FeatureFlagsResponse\";\nimport { ImportEmployeesRequest } from \"./Types/Staff/ImportEmployeesRequest\";\nimport { MassActionParameters } from \"./Types/MassActions/MassActionParameters\";\nimport { PrintType } from \"./Types/Print/PrintType\";\nimport { PrintResponse } from \"./Types/Print/PrintResponse\";\nimport { ServerRawResponse } from \"./Types/GetInner/ServerRawResponse\";\nimport { CandyPopdProtocol } from \"./Types/ErrorLog/CandyPopdProtocol\";\nimport { InstancesDeletingRule } from \"./Types/InstancesDeleting/InstancesDeletingRule\";\nimport { ValueForInstancesSettingRule } from \"./Types/MassActions/ValueForInstancesSettingRule\";\nimport { GetAttachmentsResponse } from \"./Types/Attachments/GetAttachmentsResponse\";\nimport { InnerQueryRequest } from \"./Types/QueryCollecton/InnerQueryRequest\";\nimport { InnerQueryResponse } from \"./Types/QueryCollecton/InnerQueryResponse\";\nimport { ResolveInnerPathRequest } from \"./Types/ErrorLog/ResolveInnerPathRequest\";\nimport { ResolvePathResponse } from \"./Types/ErrorLog/ResolvePathResponse\";\nimport { InnerHistoryResponse } from \"./Types/HistoryEditing/InnerHistoryResponse\";\nimport { PollingTaskWithResult } from \"./Types/PollingTasks/PollingTasks\";\n\nexport interface ICandyApiClient {\n forDraft(draftFullId: DraftFullId): ICandyApiDraftClient;\n\n // region Create draft\n createDraft(ns: string, gfv: string): Promise<CreateDraftResponse>;\n createDraft(ns: string, gfv: undefined, body: Buffer): Promise<CreateDraftResponse>;\n createDraftFromDrive(ns: string, fufDriveUri: string, abortSignal?: AbortSignal): Promise<CreateDraftResponse>;\n createEmptyDraft(ns: string, gfv: string, abortSignal?: AbortSignal): Promise<CreateDraftResponse>;\n // endregion\n\n //region Focus\n getInfoByInns(draftFullId: DraftFullId, inns: readonly string[]): Promise<GetByInnResponse>;\n //endregion\n\n // region Diagnostics\n getAllGfvs(abortSignal?: AbortSignal): Promise<string[]>;\n forceGetAllGfvs(): Promise<string[]>;\n // endregion\n\n checkAlive(): Promise<void>;\n\n getFeatureFlags(abonId?: string, orgId?: string, userId?: string): Promise<FeatureFlagsResponse>;\n}\n\nexport interface ICandyApiDraftTasksClient {\n getAllTasks(): Promise<ServerTask[]>;\n getTaskById(taskId: string): Promise<ServerTask | undefined>;\n enqueueTask(taskId: string, taskInfo: VerifyAndFixFnsRequirementsTaskInfo): Promise<void>;\n cancelTask(taskId: string): Promise<void>;\n}\n\nexport interface ICandyApiDraftAttachmentsClient {\n getAttachmentById(attachmentId: string): Promise<AttachInfo>;\n getAllAttachments(): Promise<AttachInfo[]>;\n createOrUpdateAttachments(attachments: readonly AttachInfo[]): Promise<void>;\n createDraftAttachment(gfv: string, path: string): Promise<AttachInfo>;\n openLoadedAttachmentAsDraft(id: string): Promise<AttachInfo>;\n removeAttachments(attachmentIds: readonly string[]): Promise<void>;\n}\n\nexport interface PathLoadSpecification {\n pathOrPathPrefix: AbsoluteModelPath | AbsoluteModelFieldPath | \"*\";\n skip: boolean;\n}\n\nexport type CheckScenarioType = \"readonly\";\nexport interface IInnerChangeSuccessResult {\n dataVersion: number;\n changedPaths?: string[];\n}\nexport type IInnerChangeResult = IInnerChangeSuccessResult | HttpStatusCode;\n\nexport interface DraftSettings {\n isReadOnly?: FormSettings[\"isReadOnly\"];\n isIndividual?: FormSettings[\"isIndividual\"];\n isForeign?: FormSettings[\"isForeign\"];\n employerId?: FormSettings[\"employerId\"];\n}\n\nexport type NormalizerNames = \"formulas\" | \"formulasWithInitializers\";\n\nexport interface NormalizationProgressTask {\n id: string;\n status: \"InProgress\" | \"Success\" | \"Error\";\n progress: number;\n}\n\nexport interface RequestNdsFileOptions {\n driveUri: string;\n ignoreSizeCheck?: boolean;\n declarationGfv: string;\n requestedGfv?: string;\n}\n\nexport interface ICandyApiDraftClient extends ICandyApiDraftTasksClient, ICandyApiDraftAttachmentsClient {\n // region Explanatory note\n getExplanatoryNote(): Promise<CreateExplanatoryNoteResponse>;\n // endregion\n\n // region Error log\n getErrorLog(): Promise<ServerErrorLog>;\n checkByPopd(): Promise<CandyPopdProtocol>;\n getErrorLogWithCheckScenarios(checkScenarios: CheckScenarioType[]): Promise<ServerErrorLog>;\n getExpertErrorLog(auo: Partial<AUOOptions>): Promise<ServerErrorLog>;\n getHrefToErrorLogPdf(errorLogName: string, propsName: string): string;\n // endregion\n\n // region Get draft requisites\n getRequisites(requisiteList: readonly string[]): Promise<ServerRequisitesResponse>;\n // endregion\n\n //region Get draft inner\n getInner(paths: undefined | readonly string[]): Promise<ServerInnerResponse>;\n getPartialInner(rules: readonly PathLoadSpecification[], maxInstanceCount?: number): Promise<ServerInnerResponse>;\n getPartialInnerAsJsonTree(\n rules: readonly PathLoadSpecification[],\n maxInstanceCount?: number,\n skipNormalization?: boolean\n ): Promise<ServerJsonResponse>;\n getRawPartialInnerAsJsonTree(\n rules: readonly PathLoadSpecification[],\n maxInstanceCount?: number,\n skipNormalization?: boolean\n ): Promise<ServerRawResponse>;\n getDataVersion(): Promise<number>;\n startNormalizationTask(): Promise<NormalizationProgressTask>;\n getNormalizationTask(): Promise<NormalizationProgressTask>;\n //endregion\n\n // region Update draft inner\n sendChangeSet(\n data: ServerChangeSet,\n currentDataVersion: number,\n operationName?: string\n ): Promise<IInnerChangeResult>;\n sendChangeSetSync(data: ServerChangeSet, currentDataVersion: number): IInnerChangeResult;\n sendChangeWithNormalizationSet(\n data: ServerChangeSet,\n currentDataVersion: number,\n normalizerId?: NormalizerNames,\n operationName?: string\n ): Promise<IInnerChangeResult>;\n startPatchWithNormalizationTask(\n data: ServerChangeSet,\n currentDataVersion: number,\n normalizerId?: string,\n operationName?: string,\n instantResultDelay?: number\n ): Promise<PollingTaskWithResult<IInnerChangeSuccessResult> | number>;\n getPatchWithNormalizationTask(): Promise<PollingTaskWithResult<IInnerChangeSuccessResult>>;\n // endregion\n\n // region Draft presentations\n setPresentation(type: DraftPresentationType, content: string | unknown): Promise<void>;\n patchPresentation(type: DraftPresentationType, content: PresentationContent): Promise<void>;\n // endregion\n\n // region Draft inner print\n print(type: PrintType, body?: string[]): Promise<PrintResponse>;\n // endregion\n\n // region Draft actions\n clearDraft(): Promise<void>;\n convertDraftFromPrevGfv(request: ConvertDraftRequest): Promise<void>;\n getFileProperties(driveUri: string, ignoreSizeCheck?: boolean): Promise<FileProperties | undefined>;\n getFileNdsProperties(params: RequestNdsFileOptions): Promise<FileProperties[] | undefined>;\n prepareAndGetFileProperties(\n driveUri: string,\n gfv: string,\n ignoreSizeCheck?: boolean\n ): Promise<FileProperties | undefined>;\n uploadAndGetFileProperties(\n driveUri: string[],\n gfv: string,\n abortSignal?: AbortSignal\n ): Promise<UploadFilePropertiesResponse>;\n setFufByDriveUri(driveUri: string): Promise<void>;\n acceptMultipleTransferType(\n files: ICombineByTransfers[],\n abortSignal?: AbortSignal\n ): Promise<ServerErrorResponse | undefined>;\n excelsToPartialFufs(\n gfv: string,\n pathToTable: string,\n driveUris: string[]\n ): Promise<ExcelsToPartialFufsResponse | undefined>;\n importXmls(\n driveUris: string[],\n combineMethod: FufCombineMethod,\n combinatorType: CombinatorType,\n isImportByFuf: boolean,\n args?: string[]\n ): Promise<CombineFufResult | undefined>;\n setDraftSettings(settings: DraftSettings): Promise<void>;\n getDraftSettings(): Promise<DraftSettings>;\n // endregion\n\n normalizeByRules(rules: string): Promise<void>;\n\n getHrefToConvertationLog(): string;\n getHrefToDownloadInnerFuf(): string;\n getHrefToDownloadClientInfo(): string;\n getHrefToDownloadFormsClientInfo(): string;\n getHrefToInnerEditor(): string;\n\n getFufWithAttachments(): Promise<FufWithAttachmentsResponse | undefined>;\n startGetFufWithAttachmentsTask(): Promise<PollingTaskWithResult<FufWithAttachmentsTaskResult>>;\n getFufWithAttachmentsTask(\n format: \"Json\" | \"DriveUri\"\n ): Promise<PollingTaskWithResult<FufWithAttachmentsTaskResult>>;\n getPartialFuf(rules: string[]): Promise<BaseGetFufResponse | undefined>;\n getInnerFuf(): Promise<string | undefined>;\n\n downloadFuf(): Promise<void>;\n downloadInner(): Promise<void>;\n makeDownloadDriveLink(uri: string, fileName?: string): void;\n\n setMultipleWithNormalization(rules: ValueForInstancesSettingRule[]): Promise<IInnerChangeResult>;\n\n normalizeDirtyMasks(): Promise<IInnerChangeResult>;\n\n searchInstancesByText(\n text: string,\n pathPrefix: string,\n pathsToSearch: string[],\n maxInstanceCount?: number\n ): Promise<string[]>;\n\n queryCollection(request: InnerQueryRequest, abortSignal?: AbortSignal): Promise<InnerQueryResponse>;\n\n customNormalize(\n normalizerId: string | null,\n pathPrefixes: AbsoluteModelPath[],\n abortSignal?: AbortSignal\n ): Promise<IInnerChangeResult>;\n startCustomNormalizationTask(\n pathPrefixes: AbsoluteModelPath[],\n normalizerId?: string,\n operationName?: string\n ): Promise<PollingTaskWithResult<IInnerChangeResult>>;\n getCustomNormalizationTask(): Promise<PollingTaskWithResult<IInnerChangeResult>>;\n importEmployees(request: ImportEmployeesRequest): Promise<void>;\n runMassAction(actionId: string, parameters?: MassActionParameters): Promise<void>;\n deleteInstances(deletingRules: InstancesDeletingRule[]): Promise<void>;\n printExcel(pathToTable: string): Promise<PrintResponse | undefined>;\n\n resolveInnerPath(request: ResolveInnerPathRequest, abortSignal?: AbortSignal): Promise<ResolvePathResponse>;\n getHistory(): Promise<InnerHistoryResponse | number>;\n undoToChange(changeGUID: string): Promise<number>;\n getGFV(): Promise<string>;\n getUser(): Promise<GetUserResponse>;\n}\n\nexport interface GetUserResponse {\n Id: string | null;\n Ip: string | null;\n FirstName: string | null;\n MiddleName: string | null;\n LastName: string | null;\n}\n\nexport interface BaseGetFufResponse {\n ContentUri: string;\n Name: string;\n}\n\nexport interface FufWithAttachmentsResponse {\n Fuf: BaseGetFufResponse;\n attachments: GetAttachmentsResponse[];\n}\n\nexport type FufWithAttachmentsTaskResult = FufWithAttachmentsResponse | { resultUri: string };\n\nexport interface CandyApiErrorResponse {\n message: string;\n errorCode: \"InvalidEditSession\" | string;\n}\n"],"mappings":"","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"ICandyApiClient.js","names":[],"sources":["../../../../Common/CandyApiClient/ICandyApiClient.ts"],"sourcesContent":["import { HttpStatusCode } from \"../HttpClient/IHttpClient\";\nimport { ICombineByTransfers } from \"../../Engine/src/Engine/Core/ModalManager/Modals/UploadSection/Types\";\nimport { AbsoluteModelPath } from \"../ModelPath/ModelPath\";\nimport { AbsoluteModelFieldPath } from \"../ModelPath/AbsoluteModelFieldPath\";\nimport { FormSettings } from \"../../Engine/src/Forms/Types/FormSettings\";\nimport { AUOOptions } from \"../../Engine/src/Forms/Types/AUOOptions\";\nimport { WorkspaceResourceType } from \"../../Engine/src/ContractorsServiceIntegration/Types/WorkspaceTypes\";\n\nimport { ServerErrorLog } from \"./Types/ErrorLog/ServerErrorLog\";\nimport { ServerInnerResponse, ServerJsonResponse } from \"./Types/GetInner/ServerInnerResponse\";\nimport {\n ExcelsToPartialFufsResponse,\n FileProperties,\n ServerErrorResponse,\n UploadFilePropertiesResponse,\n} from \"./Types/DraftActions/FileProperties\";\nimport { CreateDraftResponse } from \"./Types/CreateDraft/CreateDraftResponse\";\nimport { CreateExplanatoryNoteResponse } from \"./Types/ExplanatoryNote/CreateExplanatoryNoteResponse\";\nimport { DraftFullId } from \"./Types/DraftFullId\";\nimport { ServerChangeSet } from \"./Types/ChangeSet/ServerChangeSet\";\nimport { ServerTask, VerifyAndFixFnsRequirementsTaskInfo } from \"./Types/Tasks/Tasks\";\nimport { GetByInnResponse } from \"./Types/Focus/FocusTypes\";\nimport { AttachInfo } from \"./Types/Attachments/Attacments\";\nimport { DraftPresentationType } from \"./Types/Presentations/DraftPresentationType\";\nimport { PresentationContent } from \"./Types/Presentations/PresentationContent\";\nimport { ConvertDraftRequest } from \"./Types/DraftActions/ConvertDraftRequest\";\nimport { ServerRequisitesResponse } from \"./Types/GetInner/ServerRequisitesResponse\";\nimport { CombinatorType, CombineFufResult, FufCombineMethod } from \"./Types/DraftActions/CombineFufResult\";\nimport { FeatureFlagsResponse } from \"./Types/FeatureFlags/FeatureFlagsResponse\";\nimport { ImportEmployeesRequest } from \"./Types/Staff/ImportEmployeesRequest\";\nimport { MassActionParameters } from \"./Types/MassActions/MassActionParameters\";\nimport { PrintType } from \"./Types/Print/PrintType\";\nimport { PrintResponse } from \"./Types/Print/PrintResponse\";\nimport { ServerRawResponse } from \"./Types/GetInner/ServerRawResponse\";\nimport { CandyPopdProtocol } from \"./Types/ErrorLog/CandyPopdProtocol\";\nimport { InstancesDeletingRule } from \"./Types/InstancesDeleting/InstancesDeletingRule\";\nimport { ValueForInstancesSettingRule } from \"./Types/MassActions/ValueForInstancesSettingRule\";\nimport { GetAttachmentsResponse } from \"./Types/Attachments/GetAttachmentsResponse\";\nimport { InnerQueryRequest } from \"./Types/QueryCollecton/InnerQueryRequest\";\nimport { InnerQueryResponse } from \"./Types/QueryCollecton/InnerQueryResponse\";\nimport { ResolveInnerPathRequest } from \"./Types/ErrorLog/ResolveInnerPathRequest\";\nimport { ResolvePathResponse } from \"./Types/ErrorLog/ResolvePathResponse\";\nimport { InnerHistoryResponse } from \"./Types/HistoryEditing/InnerHistoryResponse\";\nimport { PollingTaskWithResult } from \"./Types/PollingTasks/PollingTasks\";\n\nexport interface ICandyApiClient {\n forDraft(draftFullId: DraftFullId): ICandyApiDraftClient;\n\n // region Create draft\n createDraft(ns: string, gfv: string): Promise<CreateDraftResponse>;\n createDraft(ns: string, gfv: undefined, body: Buffer): Promise<CreateDraftResponse>;\n createDraftFromDrive(ns: string, fufDriveUri: string, abortSignal?: AbortSignal): Promise<CreateDraftResponse>;\n createEmptyDraft(ns: string, gfv: string, abortSignal?: AbortSignal): Promise<CreateDraftResponse>;\n // endregion\n\n //region Focus\n getInfoByInns(draftFullId: DraftFullId, inns: readonly string[]): Promise<GetByInnResponse>;\n //endregion\n\n // region Diagnostics\n getAllGfvs(abortSignal?: AbortSignal): Promise<string[]>;\n forceGetAllGfvs(): Promise<string[]>;\n // endregion\n\n checkAlive(): Promise<void>;\n\n getFeatureFlags(abonId?: string, orgId?: string, userId?: string): Promise<FeatureFlagsResponse>;\n\n getWorkspaceDirectoryId(orgId: string, inn: string, resourceType: WorkspaceResourceType): Promise<string>;\n}\n\nexport interface ICandyApiDraftTasksClient {\n getAllTasks(): Promise<ServerTask[]>;\n getTaskById(taskId: string): Promise<ServerTask | undefined>;\n enqueueTask(taskId: string, taskInfo: VerifyAndFixFnsRequirementsTaskInfo): Promise<void>;\n cancelTask(taskId: string): Promise<void>;\n}\n\nexport interface ICandyApiDraftAttachmentsClient {\n getAttachmentById(attachmentId: string): Promise<AttachInfo>;\n getAllAttachments(): Promise<AttachInfo[]>;\n createOrUpdateAttachments(attachments: readonly AttachInfo[]): Promise<void>;\n createDraftAttachment(gfv: string, path: string): Promise<AttachInfo>;\n openLoadedAttachmentAsDraft(id: string): Promise<AttachInfo>;\n removeAttachments(attachmentIds: readonly string[]): Promise<void>;\n}\n\nexport interface PathLoadSpecification {\n pathOrPathPrefix: AbsoluteModelPath | AbsoluteModelFieldPath | \"*\";\n skip: boolean;\n}\n\nexport type CheckScenarioType = \"readonly\";\nexport interface IInnerChangeSuccessResult {\n dataVersion: number;\n changedPaths?: string[];\n}\nexport type IInnerChangeResult = IInnerChangeSuccessResult | HttpStatusCode;\n\nexport interface DraftSettings {\n isReadOnly?: FormSettings[\"isReadOnly\"];\n isIndividual?: FormSettings[\"isIndividual\"];\n isForeign?: FormSettings[\"isForeign\"];\n employerId?: FormSettings[\"employerId\"];\n}\n\nexport type NormalizerNames = \"formulas\" | \"formulasWithInitializers\";\n\nexport interface NormalizationProgressTask {\n id: string;\n status: \"InProgress\" | \"Success\" | \"Error\";\n progress: number;\n}\n\nexport interface RequestNdsFileOptions {\n driveUri: string;\n ignoreSizeCheck?: boolean;\n declarationGfv: string;\n requestedGfv?: string;\n}\n\nexport interface ICandyApiDraftClient extends ICandyApiDraftTasksClient, ICandyApiDraftAttachmentsClient {\n // region Explanatory note\n getExplanatoryNote(): Promise<CreateExplanatoryNoteResponse>;\n // endregion\n\n // region Error log\n getErrorLog(): Promise<ServerErrorLog>;\n checkByPopd(): Promise<CandyPopdProtocol>;\n getErrorLogWithCheckScenarios(checkScenarios: CheckScenarioType[]): Promise<ServerErrorLog>;\n getExpertErrorLog(auo: Partial<AUOOptions>): Promise<ServerErrorLog>;\n getHrefToErrorLogPdf(errorLogName: string, propsName: string): string;\n // endregion\n\n // region Get draft requisites\n getRequisites(requisiteList: readonly string[]): Promise<ServerRequisitesResponse>;\n // endregion\n\n //region Get draft inner\n getInner(paths: undefined | readonly string[]): Promise<ServerInnerResponse>;\n getPartialInner(rules: readonly PathLoadSpecification[], maxInstanceCount?: number): Promise<ServerInnerResponse>;\n getPartialInnerAsJsonTree(\n rules: readonly PathLoadSpecification[],\n maxInstanceCount?: number,\n skipNormalization?: boolean\n ): Promise<ServerJsonResponse>;\n getRawPartialInnerAsJsonTree(\n rules: readonly PathLoadSpecification[],\n maxInstanceCount?: number,\n skipNormalization?: boolean\n ): Promise<ServerRawResponse>;\n getDataVersion(): Promise<number>;\n startNormalizationTask(): Promise<NormalizationProgressTask>;\n getNormalizationTask(): Promise<NormalizationProgressTask>;\n //endregion\n\n // region Update draft inner\n sendChangeSet(\n data: ServerChangeSet,\n currentDataVersion: number,\n operationName?: string\n ): Promise<IInnerChangeResult>;\n sendChangeSetSync(data: ServerChangeSet, currentDataVersion: number): IInnerChangeResult;\n sendChangeWithNormalizationSet(\n data: ServerChangeSet,\n currentDataVersion: number,\n normalizerId?: NormalizerNames,\n operationName?: string\n ): Promise<IInnerChangeResult>;\n startPatchWithNormalizationTask(\n data: ServerChangeSet,\n currentDataVersion: number,\n normalizerId?: string,\n operationName?: string\n ): Promise<PollingTaskWithResult<IInnerChangeSuccessResult> | number>;\n getPatchWithNormalizationTask(): Promise<PollingTaskWithResult<IInnerChangeSuccessResult>>;\n // endregion\n\n // region Draft presentations\n setPresentation(type: DraftPresentationType, content: string | unknown): Promise<void>;\n patchPresentation(type: DraftPresentationType, content: PresentationContent): Promise<void>;\n // endregion\n\n // region Draft inner print\n print(type: PrintType, body?: string[]): Promise<PrintResponse>;\n // endregion\n\n // region Draft actions\n clearDraft(): Promise<void>;\n convertDraftFromPrevGfv(request: ConvertDraftRequest): Promise<void>;\n getFileProperties(driveUri: string, ignoreSizeCheck?: boolean): Promise<FileProperties | undefined>;\n getFileNdsProperties(params: RequestNdsFileOptions): Promise<FileProperties[] | undefined>;\n prepareAndGetFileProperties(\n driveUri: string,\n gfv: string,\n ignoreSizeCheck?: boolean\n ): Promise<FileProperties | undefined>;\n uploadAndGetFileProperties(\n driveUri: string[],\n gfv: string,\n abortSignal?: AbortSignal\n ): Promise<UploadFilePropertiesResponse>;\n setFufByDriveUri(driveUri: string): Promise<void>;\n acceptMultipleTransferType(\n files: ICombineByTransfers[],\n abortSignal?: AbortSignal\n ): Promise<ServerErrorResponse | undefined>;\n excelsToPartialFufs(\n gfv: string,\n pathToTable: string,\n driveUris: string[]\n ): Promise<ExcelsToPartialFufsResponse | undefined>;\n importXmls(\n driveUris: string[],\n combineMethod: FufCombineMethod,\n combinatorType: CombinatorType,\n isImportByFuf: boolean,\n args?: string[]\n ): Promise<CombineFufResult | undefined>;\n setDraftSettings(settings: DraftSettings): Promise<void>;\n getDraftSettings(): Promise<DraftSettings>;\n // endregion\n\n normalizeByRules(rules: string): Promise<void>;\n\n getHrefToConvertationLog(): string;\n getHrefToDownloadInnerFuf(): string;\n getHrefToDownloadClientInfo(): string;\n getHrefToDownloadFormsClientInfo(): string;\n getHrefToInnerEditor(): string;\n\n getFufWithAttachments(): Promise<FufWithAttachmentsResponse | undefined>;\n startGetFufWithAttachmentsTask(): Promise<PollingTaskWithResult<FufWithAttachmentsTaskResult>>;\n getFufWithAttachmentsTask(\n format: \"Json\" | \"DriveUri\"\n ): Promise<PollingTaskWithResult<FufWithAttachmentsTaskResult>>;\n getPartialFuf(rules: string[]): Promise<GetPartialFufResponse | undefined>;\n getInnerFuf(): Promise<string | undefined>;\n startGetInnerFufTask(): Promise<PollingTaskWithResult<string>>;\n getInnerFufTask(): Promise<PollingTaskWithResult<string>>;\n\n downloadFuf(): Promise<void>;\n downloadInner(): Promise<void>;\n makeDownloadDriveLink(uri: string, fileName?: string): void;\n\n setMultipleWithNormalization(rules: ValueForInstancesSettingRule[]): Promise<IInnerChangeResult>;\n\n normalizeDirtyMasks(): Promise<IInnerChangeResult>;\n\n searchInstancesByText(\n text: string,\n pathPrefix: string,\n pathsToSearch: string[],\n maxInstanceCount?: number\n ): Promise<string[]>;\n\n queryCollection(request: InnerQueryRequest, abortSignal?: AbortSignal): Promise<InnerQueryResponse>;\n\n customNormalize(\n normalizerId: string | null,\n pathPrefixes: AbsoluteModelPath[],\n abortSignal?: AbortSignal\n ): Promise<IInnerChangeResult>;\n startCustomNormalizationTask(\n pathPrefixes: AbsoluteModelPath[],\n normalizerId?: string,\n operationName?: string\n ): Promise<PollingTaskWithResult<IInnerChangeResult>>;\n getCustomNormalizationTask(): Promise<PollingTaskWithResult<IInnerChangeResult>>;\n importEmployees(request: ImportEmployeesRequest): Promise<void>;\n runMassAction(actionId: string, parameters?: MassActionParameters): Promise<void>;\n deleteInstances(deletingRules: InstancesDeletingRule[]): Promise<void>;\n printExcel(pathToTable: string): Promise<PrintResponse | undefined>;\n\n resolveInnerPath(request: ResolveInnerPathRequest, abortSignal?: AbortSignal): Promise<ResolvePathResponse>;\n getHistory(): Promise<InnerHistoryResponse | number>;\n undoToChange(changeGUID: string): Promise<number>;\n getGFV(): Promise<string>;\n getUser(): Promise<GetUserResponse>;\n}\n\nexport interface GetUserResponse {\n Id: string | null;\n Ip: string | null;\n FirstName: string | null;\n MiddleName: string | null;\n LastName: string | null;\n}\n\nexport interface GetPartialFufResponse {\n ContentUri: string;\n Name: string;\n}\n\nexport interface BaseGetFufResponse {\n contentUri: string;\n name: string;\n}\n\nexport interface FufWithAttachmentsResponse {\n fuf: BaseGetFufResponse;\n attachments: GetAttachmentsResponse[];\n}\n\nexport type FufWithAttachmentsTaskResult = FufWithAttachmentsResponse | { resultUri: string };\n\nexport interface CandyApiErrorResponse {\n message: string;\n errorCode: \"InvalidEditSession\" | string;\n}\n"],"mappings":"","ignoreList":[]}
|
|
@@ -9,11 +9,13 @@ const DEFAULT_STAFF_SERVICE_URL = exports.DEFAULT_STAFF_SERVICE_URL = "https://a
|
|
|
9
9
|
const DEFAULT_PICKLIST_URL = "";
|
|
10
10
|
const DEFAULT_NIDUS_URL = "";
|
|
11
11
|
const DEFAULT_FSPRINTER_URL = "";
|
|
12
|
+
const DEFAULT_CONTRACTORS_URL = "";
|
|
12
13
|
const defaultServicesUrls = exports.defaultServicesUrls = {
|
|
13
14
|
keformsUrl: DEFAULT_KEFORMS_URL,
|
|
14
15
|
staffServiceUrl: DEFAULT_STAFF_SERVICE_URL,
|
|
15
16
|
picklistUrl: DEFAULT_PICKLIST_URL,
|
|
16
17
|
nidusUrl: DEFAULT_NIDUS_URL,
|
|
17
|
-
fsPrinterUrl: DEFAULT_FSPRINTER_URL
|
|
18
|
+
fsPrinterUrl: DEFAULT_FSPRINTER_URL,
|
|
19
|
+
contractorsApiUrl: DEFAULT_CONTRACTORS_URL
|
|
18
20
|
};
|
|
19
21
|
//# sourceMappingURL=DefaultServicesUrls.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DefaultServicesUrls.js","names":["DEFAULT_KEFORMS_URL","DEFAULT_STAFF_SERVICE_URL","exports","DEFAULT_PICKLIST_URL","DEFAULT_NIDUS_URL","DEFAULT_FSPRINTER_URL","defaultServicesUrls","keformsUrl","staffServiceUrl","picklistUrl","nidusUrl","fsPrinterUrl"],"sources":["../../../../Common/CommonConstants/DefaultServicesUrls.ts"],"sourcesContent":["const DEFAULT_KEFORMS_URL = \"\";\nexport const DEFAULT_STAFF_SERVICE_URL = \"https://api.kontur.ru/staff\";\nconst DEFAULT_PICKLIST_URL = \"\";\nconst DEFAULT_NIDUS_URL = \"\";\nconst DEFAULT_FSPRINTER_URL = \"\";\n\nexport const defaultServicesUrls = {\n keformsUrl: DEFAULT_KEFORMS_URL,\n staffServiceUrl: DEFAULT_STAFF_SERVICE_URL,\n picklistUrl: DEFAULT_PICKLIST_URL,\n nidusUrl: DEFAULT_NIDUS_URL,\n fsPrinterUrl: DEFAULT_FSPRINTER_URL,\n};\n"],"mappings":";;;;;;AAAA,MAAMA,mBAAmB,GAAG,EAAE;AACvB,MAAMC,yBAAyB,GAAAC,OAAA,CAAAD,yBAAA,GAAG,6BAA6B;AACtE,MAAME,oBAAoB,GAAG,EAAE;AAC/B,MAAMC,iBAAiB,GAAG,EAAE;AAC5B,MAAMC,qBAAqB,GAAG,EAAE;
|
|
1
|
+
{"version":3,"file":"DefaultServicesUrls.js","names":["DEFAULT_KEFORMS_URL","DEFAULT_STAFF_SERVICE_URL","exports","DEFAULT_PICKLIST_URL","DEFAULT_NIDUS_URL","DEFAULT_FSPRINTER_URL","DEFAULT_CONTRACTORS_URL","defaultServicesUrls","keformsUrl","staffServiceUrl","picklistUrl","nidusUrl","fsPrinterUrl","contractorsApiUrl"],"sources":["../../../../Common/CommonConstants/DefaultServicesUrls.ts"],"sourcesContent":["const DEFAULT_KEFORMS_URL = \"\";\nexport const DEFAULT_STAFF_SERVICE_URL = \"https://api.kontur.ru/staff\";\nconst DEFAULT_PICKLIST_URL = \"\";\nconst DEFAULT_NIDUS_URL = \"\";\nconst DEFAULT_FSPRINTER_URL = \"\";\nconst DEFAULT_CONTRACTORS_URL = \"\";\n\nexport const defaultServicesUrls = {\n keformsUrl: DEFAULT_KEFORMS_URL,\n staffServiceUrl: DEFAULT_STAFF_SERVICE_URL,\n picklistUrl: DEFAULT_PICKLIST_URL,\n nidusUrl: DEFAULT_NIDUS_URL,\n fsPrinterUrl: DEFAULT_FSPRINTER_URL,\n contractorsApiUrl: DEFAULT_CONTRACTORS_URL,\n};\n"],"mappings":";;;;;;AAAA,MAAMA,mBAAmB,GAAG,EAAE;AACvB,MAAMC,yBAAyB,GAAAC,OAAA,CAAAD,yBAAA,GAAG,6BAA6B;AACtE,MAAME,oBAAoB,GAAG,EAAE;AAC/B,MAAMC,iBAAiB,GAAG,EAAE;AAC5B,MAAMC,qBAAqB,GAAG,EAAE;AAChC,MAAMC,uBAAuB,GAAG,EAAE;AAE3B,MAAMC,mBAAmB,GAAAL,OAAA,CAAAK,mBAAA,GAAG;EAC/BC,UAAU,EAAER,mBAAmB;EAC/BS,eAAe,EAAER,yBAAyB;EAC1CS,WAAW,EAAEP,oBAAoB;EACjCQ,QAAQ,EAAEP,iBAAiB;EAC3BQ,YAAY,EAAEP,qBAAqB;EACnCQ,iBAAiB,EAAEP;AACvB,CAAC","ignoreList":[]}
|
|
@@ -74,7 +74,8 @@ class FSPrinterClient {
|
|
|
74
74
|
throw new Error("downloadFufHref is not defined");
|
|
75
75
|
}
|
|
76
76
|
async getInnerFufDriveUrl() {
|
|
77
|
-
|
|
77
|
+
await this.candyApiDraftClient.startGetInnerFufTask();
|
|
78
|
+
const downloadHref = await (0, _PollingTaskWaiter.waitPollingTask)(() => this.candyApiDraftClient.getInnerFufTask());
|
|
78
79
|
if (downloadHref) {
|
|
79
80
|
return downloadHref;
|
|
80
81
|
}
|
|
@@ -83,8 +84,8 @@ class FSPrinterClient {
|
|
|
83
84
|
async getFufDriveUrl() {
|
|
84
85
|
await this.candyApiDraftClient.startGetFufWithAttachmentsTask();
|
|
85
86
|
const downloadFufHref = await (0, _PollingTaskWaiter.waitPollingTask)(() => this.candyApiDraftClient.getFufWithAttachmentsTask("Json"));
|
|
86
|
-
if (downloadFufHref && "
|
|
87
|
-
return downloadFufHref === null || downloadFufHref === void 0 ? void 0 : downloadFufHref.
|
|
87
|
+
if (downloadFufHref && "fuf" in downloadFufHref && downloadFufHref !== null && downloadFufHref !== void 0 && downloadFufHref.fuf.contentUri) {
|
|
88
|
+
return downloadFufHref === null || downloadFufHref === void 0 ? void 0 : downloadFufHref.fuf.contentUri;
|
|
88
89
|
}
|
|
89
90
|
throw new Error("downloadFufHref is not defined");
|
|
90
91
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FSPrinterClient.js","names":["_HttpClient","require","_AuthenticationMode","_utils","_TypingUtils","_DraftPresentationType","_PollingTaskWaiter","_IFSPrinterClient","FSPrinterClient","constructor","fetchImpl","baseUrl","resourceZone","authentication","candyApiDraftClient","exceptionLogger","httpClient","pullingDelay","factor","timeout","defaultPullingDelay","defaultFactor","defaultTimeout","taskResult","HttpClient","createAuthenticationProvider","printRSV","type","resultType","PrinterResultTypes","Excel","presentation","DraftPresentationType","fuf","innerFuf","requestOptions","options","rsvInfo","driveUri","print","printByRules","partialFufUri","getPartialFufDriveUrl","rules","Pdf","_this$taskResult","applyRequestOptions","task","createTask","runMonitoringTask","taskId","resultUrl","resultUri","resetPrintResult","downloadDocument","downloadFufHref","getPartialFuf","ContentUri","Error","getInnerFufDriveUrl","downloadHref","getInnerFuf","getFufDriveUrl","startGetFufWithAttachmentsTask","waitPollingTask","getFufWithAttachmentsTask","Fuf","_this$taskResult2","_this$taskResult3","checkTask","delay","taskStatus","get","json","errorInfo","userMessage","presentationUri","getPresentationUri","optionsWithFuf","appendFufUrlToOptions","optionsWithSender","appendSenderAppToOptions","taskInfo","post","withJsonBody","_options$fuf$driveUri","_options$fuf2","_options$fuf","driveUrl","isNullOrEmpty","_this$taskResult4","reject","window","location","href","fufUrl","senderApp","_requestOptions$pulli","_requestOptions$facto","_requestOptions$timeo","undefined","exports"],"sources":["../../../../Common/FSPrinterClient/FSPrinterClient.ts"],"sourcesContent":["import { Fetch } from \"../HttpClient/FetchImplementation/Fetch\";\nimport { ExceptionLogger, HttpClient } from \"../HttpClient/HttpClient\";\nimport { IHttpClient } from \"../HttpClient/IHttpClient\";\nimport { AuthenticationMode, createAuthenticationProvider } from \"../HttpClient/AuthenticationMode\";\nimport { ICandyApiDraftClient } from \"../CandyApiClient/ICandyApiClient\";\nimport { delay } from \"../../Engine/src/Engine/utils\";\nimport { isNullOrEmpty, reject } from \"../TypingUtils\";\nimport { DraftPresentationType } from \"../CandyApiClient/Types/Presentations/DraftPresentationType\";\nimport { waitPollingTask } from \"../CandyApiClient/Types/PollingTasks/PollingTaskWaiter\";\n\nimport {\n FSPrinterTaskResult,\n FSPrinterTaskStatus,\n IFSPrinterClient,\n PrintByRulesOptions,\n PrinterOptions,\n PrinterRequestOptions,\n PrinterResultTypes,\n RSVPrinterOptions,\n} from \"./IFSPrinterClient\";\n\nexport class FSPrinterClient implements IFSPrinterClient {\n private readonly httpClient: IHttpClient;\n private readonly candyApiDraftClient: ICandyApiDraftClient;\n\n private pullingDelay: number = 0;\n private factor: number = 0;\n private timeout: number = 0;\n\n private readonly defaultPullingDelay: number = 1200;\n private readonly defaultFactor: number = 2;\n private readonly defaultTimeout: number = 1000 * 60 * 10;\n\n private taskResult: FSPrinterTaskResult | undefined;\n\n public constructor(\n fetchImpl: Fetch,\n baseUrl: string,\n resourceZone: undefined | string,\n authentication: undefined | AuthenticationMode,\n candyApiDraftClient: ICandyApiDraftClient,\n exceptionLogger?: ExceptionLogger\n ) {\n this.httpClient = new HttpClient(\n fetchImpl,\n baseUrl,\n createAuthenticationProvider(authentication),\n {\n resourceZone: resourceZone,\n },\n exceptionLogger\n );\n this.candyApiDraftClient = candyApiDraftClient;\n }\n\n public async printRSV(\n {\n type,\n resultType = PrinterResultTypes.Excel,\n presentation = DraftPresentationType.fuf,\n innerFuf,\n }: RSVPrinterOptions,\n requestOptions?: PrinterRequestOptions\n ): Promise<void> {\n const options: PrinterOptions = {\n resultType: resultType,\n rsvInfo: { type: type },\n presentation: presentation,\n };\n if (innerFuf?.driveUri) {\n options.fuf = { driveUri: innerFuf?.driveUri };\n }\n await this.print(options, requestOptions);\n }\n\n public async printByRules(options: PrintByRulesOptions): Promise<void> {\n const partialFufUri = await this.getPartialFufDriveUrl(options.rules);\n await this.print({\n fuf: {\n driveUri: partialFufUri,\n },\n resultType: PrinterResultTypes.Pdf,\n ...options.options,\n });\n }\n\n public async print(options: PrinterOptions, requestOptions?: PrinterRequestOptions): Promise<void> {\n this.applyRequestOptions(requestOptions);\n const task = await this.createTask(options);\n await this.runMonitoringTask(task.taskId);\n const resultUrl = this.taskResult?.resultUri;\n this.resetPrintResult();\n this.downloadDocument(resultUrl);\n }\n\n private async getPartialFufDriveUrl(rules: string[]): Promise<string> {\n const downloadFufHref = await this.candyApiDraftClient.getPartialFuf(rules);\n if (downloadFufHref && downloadFufHref?.ContentUri) {\n return downloadFufHref?.ContentUri;\n }\n throw new Error(\"downloadFufHref is not defined\");\n }\n\n private async getInnerFufDriveUrl(): Promise<string> {\n const downloadHref = await this.candyApiDraftClient.getInnerFuf();\n if (downloadHref) {\n return downloadHref;\n }\n throw new Error(\"downloadFufHref is not defined\");\n }\n\n private async getFufDriveUrl(): Promise<string> {\n await this.candyApiDraftClient.startGetFufWithAttachmentsTask();\n const downloadFufHref = await waitPollingTask(() => this.candyApiDraftClient.getFufWithAttachmentsTask(\"Json\"));\n if (downloadFufHref && \"Fuf\" in downloadFufHref && downloadFufHref?.Fuf.ContentUri) {\n return downloadFufHref?.Fuf.ContentUri;\n }\n throw new Error(\"downloadFufHref is not defined\");\n }\n\n private async runMonitoringTask(taskId: string): Promise<void> {\n while (!this.taskResult?.resultUri) {\n await this.checkTask(taskId);\n if (!this.taskResult?.resultUri) {\n await delay(this.pullingDelay);\n this.pullingDelay *= this.factor;\n }\n }\n }\n\n private async checkTask(taskId: string): Promise<void> {\n const taskStatus = await this.httpClient.get(`v3/tasks/${taskId}`).json<FSPrinterTaskResult>();\n if (taskStatus.errorInfo) {\n throw new Error(taskStatus.errorInfo.userMessage);\n }\n if (taskStatus.resultUri) {\n this.taskResult = taskStatus;\n return;\n }\n if (this.timeout <= this.pullingDelay) {\n throw new Error(`Timeout ${this.timeout / 60 / 1000} min for print file has expired`);\n }\n }\n\n private async createTask(options: PrinterOptions): Promise<FSPrinterTaskStatus> {\n const presentationUri = await this.getPresentationUri(options);\n\n const optionsWithFuf = this.appendFufUrlToOptions(options, presentationUri);\n const optionsWithSender = this.appendSenderAppToOptions(optionsWithFuf);\n const taskInfo = await this.httpClient\n .post(\"v3/tasks\")\n .withJsonBody(optionsWithSender)\n .json<FSPrinterTaskStatus>();\n return taskInfo;\n }\n\n private async getPresentationUri(options: PrinterOptions) {\n if (options.presentation === DraftPresentationType.innerFuf) {\n if (options.fuf?.driveUri) {\n return options.fuf.driveUri;\n }\n return await this.getInnerFufDriveUrl();\n }\n return options.fuf?.driveUri ?? (await this.getFufDriveUrl());\n }\n\n private downloadDocument(driveUrl: string | undefined) {\n if (isNullOrEmpty(driveUrl)) {\n reject(`Ссылка на печать документа пустая или undefined. Трейс печати: ${this.taskResult?.taskId}`);\n }\n window.location.href = driveUrl;\n }\n\n private appendFufUrlToOptions(options: PrinterOptions, fufUrl: string): PrinterOptions {\n return { ...options, fuf: { driveUri: fufUrl } };\n }\n\n private appendSenderAppToOptions(options: PrinterOptions): PrinterOptions {\n return { ...options, senderApp: \"candy-front\" };\n }\n\n private applyRequestOptions(requestOptions?: PrinterRequestOptions) {\n this.pullingDelay = requestOptions?.pullingDelay ?? this.defaultPullingDelay;\n this.factor = requestOptions?.factor ?? this.defaultFactor;\n this.timeout = requestOptions?.timeout ?? this.defaultTimeout;\n }\n\n private resetPrintResult() {\n this.taskResult = undefined;\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"FSPrinterClient.js","names":["_HttpClient","require","_AuthenticationMode","_utils","_TypingUtils","_DraftPresentationType","_PollingTaskWaiter","_IFSPrinterClient","FSPrinterClient","constructor","fetchImpl","baseUrl","resourceZone","authentication","candyApiDraftClient","exceptionLogger","httpClient","pullingDelay","factor","timeout","defaultPullingDelay","defaultFactor","defaultTimeout","taskResult","HttpClient","createAuthenticationProvider","printRSV","type","resultType","PrinterResultTypes","Excel","presentation","DraftPresentationType","fuf","innerFuf","requestOptions","options","rsvInfo","driveUri","print","printByRules","partialFufUri","getPartialFufDriveUrl","rules","Pdf","_this$taskResult","applyRequestOptions","task","createTask","runMonitoringTask","taskId","resultUrl","resultUri","resetPrintResult","downloadDocument","downloadFufHref","getPartialFuf","ContentUri","Error","getInnerFufDriveUrl","startGetInnerFufTask","downloadHref","waitPollingTask","getInnerFufTask","getFufDriveUrl","startGetFufWithAttachmentsTask","getFufWithAttachmentsTask","contentUri","_this$taskResult2","_this$taskResult3","checkTask","delay","taskStatus","get","json","errorInfo","userMessage","presentationUri","getPresentationUri","optionsWithFuf","appendFufUrlToOptions","optionsWithSender","appendSenderAppToOptions","taskInfo","post","withJsonBody","_options$fuf$driveUri","_options$fuf2","_options$fuf","driveUrl","isNullOrEmpty","_this$taskResult4","reject","window","location","href","fufUrl","senderApp","_requestOptions$pulli","_requestOptions$facto","_requestOptions$timeo","undefined","exports"],"sources":["../../../../Common/FSPrinterClient/FSPrinterClient.ts"],"sourcesContent":["import { Fetch } from \"../HttpClient/FetchImplementation/Fetch\";\nimport { ExceptionLogger, HttpClient } from \"../HttpClient/HttpClient\";\nimport { IHttpClient } from \"../HttpClient/IHttpClient\";\nimport { AuthenticationMode, createAuthenticationProvider } from \"../HttpClient/AuthenticationMode\";\nimport { ICandyApiDraftClient } from \"../CandyApiClient/ICandyApiClient\";\nimport { delay } from \"../../Engine/src/Engine/utils\";\nimport { isNullOrEmpty, reject } from \"../TypingUtils\";\nimport { DraftPresentationType } from \"../CandyApiClient/Types/Presentations/DraftPresentationType\";\nimport { waitPollingTask } from \"../CandyApiClient/Types/PollingTasks/PollingTaskWaiter\";\n\nimport {\n FSPrinterTaskResult,\n FSPrinterTaskStatus,\n IFSPrinterClient,\n PrintByRulesOptions,\n PrinterOptions,\n PrinterRequestOptions,\n PrinterResultTypes,\n RSVPrinterOptions,\n} from \"./IFSPrinterClient\";\n\nexport class FSPrinterClient implements IFSPrinterClient {\n private readonly httpClient: IHttpClient;\n private readonly candyApiDraftClient: ICandyApiDraftClient;\n\n private pullingDelay: number = 0;\n private factor: number = 0;\n private timeout: number = 0;\n\n private readonly defaultPullingDelay: number = 1200;\n private readonly defaultFactor: number = 2;\n private readonly defaultTimeout: number = 1000 * 60 * 10;\n\n private taskResult: FSPrinterTaskResult | undefined;\n\n public constructor(\n fetchImpl: Fetch,\n baseUrl: string,\n resourceZone: undefined | string,\n authentication: undefined | AuthenticationMode,\n candyApiDraftClient: ICandyApiDraftClient,\n exceptionLogger?: ExceptionLogger\n ) {\n this.httpClient = new HttpClient(\n fetchImpl,\n baseUrl,\n createAuthenticationProvider(authentication),\n {\n resourceZone: resourceZone,\n },\n exceptionLogger\n );\n this.candyApiDraftClient = candyApiDraftClient;\n }\n\n public async printRSV(\n {\n type,\n resultType = PrinterResultTypes.Excel,\n presentation = DraftPresentationType.fuf,\n innerFuf,\n }: RSVPrinterOptions,\n requestOptions?: PrinterRequestOptions\n ): Promise<void> {\n const options: PrinterOptions = {\n resultType: resultType,\n rsvInfo: { type: type },\n presentation: presentation,\n };\n if (innerFuf?.driveUri) {\n options.fuf = { driveUri: innerFuf?.driveUri };\n }\n await this.print(options, requestOptions);\n }\n\n public async printByRules(options: PrintByRulesOptions): Promise<void> {\n const partialFufUri = await this.getPartialFufDriveUrl(options.rules);\n await this.print({\n fuf: {\n driveUri: partialFufUri,\n },\n resultType: PrinterResultTypes.Pdf,\n ...options.options,\n });\n }\n\n public async print(options: PrinterOptions, requestOptions?: PrinterRequestOptions): Promise<void> {\n this.applyRequestOptions(requestOptions);\n const task = await this.createTask(options);\n await this.runMonitoringTask(task.taskId);\n const resultUrl = this.taskResult?.resultUri;\n this.resetPrintResult();\n this.downloadDocument(resultUrl);\n }\n\n private async getPartialFufDriveUrl(rules: string[]): Promise<string> {\n const downloadFufHref = await this.candyApiDraftClient.getPartialFuf(rules);\n if (downloadFufHref && downloadFufHref?.ContentUri) {\n return downloadFufHref?.ContentUri;\n }\n throw new Error(\"downloadFufHref is not defined\");\n }\n\n private async getInnerFufDriveUrl(): Promise<string> {\n await this.candyApiDraftClient.startGetInnerFufTask();\n const downloadHref = await waitPollingTask(() => this.candyApiDraftClient.getInnerFufTask());\n if (downloadHref) {\n return downloadHref;\n }\n throw new Error(\"downloadFufHref is not defined\");\n }\n\n private async getFufDriveUrl(): Promise<string> {\n await this.candyApiDraftClient.startGetFufWithAttachmentsTask();\n const downloadFufHref = await waitPollingTask(() => this.candyApiDraftClient.getFufWithAttachmentsTask(\"Json\"));\n if (downloadFufHref && \"fuf\" in downloadFufHref && downloadFufHref?.fuf.contentUri) {\n return downloadFufHref?.fuf.contentUri;\n }\n throw new Error(\"downloadFufHref is not defined\");\n }\n\n private async runMonitoringTask(taskId: string): Promise<void> {\n while (!this.taskResult?.resultUri) {\n await this.checkTask(taskId);\n if (!this.taskResult?.resultUri) {\n await delay(this.pullingDelay);\n this.pullingDelay *= this.factor;\n }\n }\n }\n\n private async checkTask(taskId: string): Promise<void> {\n const taskStatus = await this.httpClient.get(`v3/tasks/${taskId}`).json<FSPrinterTaskResult>();\n if (taskStatus.errorInfo) {\n throw new Error(taskStatus.errorInfo.userMessage);\n }\n if (taskStatus.resultUri) {\n this.taskResult = taskStatus;\n return;\n }\n if (this.timeout <= this.pullingDelay) {\n throw new Error(`Timeout ${this.timeout / 60 / 1000} min for print file has expired`);\n }\n }\n\n private async createTask(options: PrinterOptions): Promise<FSPrinterTaskStatus> {\n const presentationUri = await this.getPresentationUri(options);\n\n const optionsWithFuf = this.appendFufUrlToOptions(options, presentationUri);\n const optionsWithSender = this.appendSenderAppToOptions(optionsWithFuf);\n const taskInfo = await this.httpClient\n .post(\"v3/tasks\")\n .withJsonBody(optionsWithSender)\n .json<FSPrinterTaskStatus>();\n return taskInfo;\n }\n\n private async getPresentationUri(options: PrinterOptions) {\n if (options.presentation === DraftPresentationType.innerFuf) {\n if (options.fuf?.driveUri) {\n return options.fuf.driveUri;\n }\n return await this.getInnerFufDriveUrl();\n }\n return options.fuf?.driveUri ?? (await this.getFufDriveUrl());\n }\n\n private downloadDocument(driveUrl: string | undefined) {\n if (isNullOrEmpty(driveUrl)) {\n reject(`Ссылка на печать документа пустая или undefined. Трейс печати: ${this.taskResult?.taskId}`);\n }\n window.location.href = driveUrl;\n }\n\n private appendFufUrlToOptions(options: PrinterOptions, fufUrl: string): PrinterOptions {\n return { ...options, fuf: { driveUri: fufUrl } };\n }\n\n private appendSenderAppToOptions(options: PrinterOptions): PrinterOptions {\n return { ...options, senderApp: \"candy-front\" };\n }\n\n private applyRequestOptions(requestOptions?: PrinterRequestOptions) {\n this.pullingDelay = requestOptions?.pullingDelay ?? this.defaultPullingDelay;\n this.factor = requestOptions?.factor ?? this.defaultFactor;\n this.timeout = requestOptions?.timeout ?? this.defaultTimeout;\n }\n\n private resetPrintResult() {\n this.taskResult = undefined;\n }\n}\n"],"mappings":";;;;;;AACA,IAAAA,WAAA,GAAAC,OAAA;AAEA,IAAAC,mBAAA,GAAAD,OAAA;AAEA,IAAAE,MAAA,GAAAF,OAAA;AACA,IAAAG,YAAA,GAAAH,OAAA;AACA,IAAAI,sBAAA,GAAAJ,OAAA;AACA,IAAAK,kBAAA,GAAAL,OAAA;AAEA,IAAAM,iBAAA,GAAAN,OAAA;AAWO,MAAMO,eAAe,CAA6B;EAc9CC,WAAWA,CACdC,SAAgB,EAChBC,OAAe,EACfC,YAAgC,EAChCC,cAA8C,EAC9CC,mBAAyC,EACzCC,eAAiC,EACnC;IAAA,KApBeC,UAAU;IAAA,KACVF,mBAAmB;IAAA,KAE5BG,YAAY,GAAW,CAAC;IAAA,KACxBC,MAAM,GAAW,CAAC;IAAA,KAClBC,OAAO,GAAW,CAAC;IAAA,KAEVC,mBAAmB,GAAW,IAAI;IAAA,KAClCC,aAAa,GAAW,CAAC;IAAA,KACzBC,cAAc,GAAW,IAAI,GAAG,EAAE,GAAG,EAAE;IAAA,KAEhDC,UAAU;IAUd,IAAI,CAACP,UAAU,GAAG,IAAIQ,sBAAU,CAC5Bd,SAAS,EACTC,OAAO,EACP,IAAAc,gDAA4B,EAACZ,cAAc,CAAC,EAC5C;MACID,YAAY,EAAEA;IAClB,CAAC,EACDG,eACJ,CAAC;IACD,IAAI,CAACD,mBAAmB,GAAGA,mBAAmB;EAClD;EAEA,MAAaY,QAAQA,CACjB;IACIC,IAAI;IACJC,UAAU,GAAGC,oCAAkB,CAACC,KAAK;IACrCC,YAAY,GAAGC,4CAAqB,CAACC,GAAG;IACxCC;EACe,CAAC,EACpBC,cAAsC,EACzB;IACb,MAAMC,OAAuB,GAAG;MAC5BR,UAAU,EAAEA,UAAU;MACtBS,OAAO,EAAE;QAAEV,IAAI,EAAEA;MAAK,CAAC;MACvBI,YAAY,EAAEA;IAClB,CAAC;IACD,IAAIG,QAAQ,aAARA,QAAQ,eAARA,QAAQ,CAAEI,QAAQ,EAAE;MACpBF,OAAO,CAACH,GAAG,GAAG;QAAEK,QAAQ,EAAEJ,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAEI;MAAS,CAAC;IAClD;IACA,MAAM,IAAI,CAACC,KAAK,CAACH,OAAO,EAAED,cAAc,CAAC;EAC7C;EAEA,MAAaK,YAAYA,CAACJ,OAA4B,EAAiB;IACnE,MAAMK,aAAa,GAAG,MAAM,IAAI,CAACC,qBAAqB,CAACN,OAAO,CAACO,KAAK,CAAC;IACrE,MAAM,IAAI,CAACJ,KAAK,CAAC;MACbN,GAAG,EAAE;QACDK,QAAQ,EAAEG;MACd,CAAC;MACDb,UAAU,EAAEC,oCAAkB,CAACe,GAAG;MAClC,GAAGR,OAAO,CAACA;IACf,CAAC,CAAC;EACN;EAEA,MAAaG,KAAKA,CAACH,OAAuB,EAAED,cAAsC,EAAiB;IAAA,IAAAU,gBAAA;IAC/F,IAAI,CAACC,mBAAmB,CAACX,cAAc,CAAC;IACxC,MAAMY,IAAI,GAAG,MAAM,IAAI,CAACC,UAAU,CAACZ,OAAO,CAAC;IAC3C,MAAM,IAAI,CAACa,iBAAiB,CAACF,IAAI,CAACG,MAAM,CAAC;IACzC,MAAMC,SAAS,IAAAN,gBAAA,GAAG,IAAI,CAACtB,UAAU,cAAAsB,gBAAA,uBAAfA,gBAAA,CAAiBO,SAAS;IAC5C,IAAI,CAACC,gBAAgB,CAAC,CAAC;IACvB,IAAI,CAACC,gBAAgB,CAACH,SAAS,CAAC;EACpC;EAEA,MAAcT,qBAAqBA,CAACC,KAAe,EAAmB;IAClE,MAAMY,eAAe,GAAG,MAAM,IAAI,CAACzC,mBAAmB,CAAC0C,aAAa,CAACb,KAAK,CAAC;IAC3E,IAAIY,eAAe,IAAIA,eAAe,aAAfA,eAAe,eAAfA,eAAe,CAAEE,UAAU,EAAE;MAChD,OAAOF,eAAe,aAAfA,eAAe,uBAAfA,eAAe,CAAEE,UAAU;IACtC;IACA,MAAM,IAAIC,KAAK,CAAC,gCAAgC,CAAC;EACrD;EAEA,MAAcC,mBAAmBA,CAAA,EAAoB;IACjD,MAAM,IAAI,CAAC7C,mBAAmB,CAAC8C,oBAAoB,CAAC,CAAC;IACrD,MAAMC,YAAY,GAAG,MAAM,IAAAC,kCAAe,EAAC,MAAM,IAAI,CAAChD,mBAAmB,CAACiD,eAAe,CAAC,CAAC,CAAC;IAC5F,IAAIF,YAAY,EAAE;MACd,OAAOA,YAAY;IACvB;IACA,MAAM,IAAIH,KAAK,CAAC,gCAAgC,CAAC;EACrD;EAEA,MAAcM,cAAcA,CAAA,EAAoB;IAC5C,MAAM,IAAI,CAAClD,mBAAmB,CAACmD,8BAA8B,CAAC,CAAC;IAC/D,MAAMV,eAAe,GAAG,MAAM,IAAAO,kCAAe,EAAC,MAAM,IAAI,CAAChD,mBAAmB,CAACoD,yBAAyB,CAAC,MAAM,CAAC,CAAC;IAC/G,IAAIX,eAAe,IAAI,KAAK,IAAIA,eAAe,IAAIA,eAAe,aAAfA,eAAe,eAAfA,eAAe,CAAEtB,GAAG,CAACkC,UAAU,EAAE;MAChF,OAAOZ,eAAe,aAAfA,eAAe,uBAAfA,eAAe,CAAEtB,GAAG,CAACkC,UAAU;IAC1C;IACA,MAAM,IAAIT,KAAK,CAAC,gCAAgC,CAAC;EACrD;EAEA,MAAcT,iBAAiBA,CAACC,MAAc,EAAiB;IAC3D,OAAO,GAAAkB,iBAAA,GAAC,IAAI,CAAC7C,UAAU,cAAA6C,iBAAA,eAAfA,iBAAA,CAAiBhB,SAAS,GAAE;MAAA,IAAAgB,iBAAA,EAAAC,iBAAA;MAChC,MAAM,IAAI,CAACC,SAAS,CAACpB,MAAM,CAAC;MAC5B,IAAI,GAAAmB,iBAAA,GAAC,IAAI,CAAC9C,UAAU,cAAA8C,iBAAA,eAAfA,iBAAA,CAAiBjB,SAAS,GAAE;QAC7B,MAAM,IAAAmB,YAAK,EAAC,IAAI,CAACtD,YAAY,CAAC;QAC9B,IAAI,CAACA,YAAY,IAAI,IAAI,CAACC,MAAM;MACpC;IACJ;EACJ;EAEA,MAAcoD,SAASA,CAACpB,MAAc,EAAiB;IACnD,MAAMsB,UAAU,GAAG,MAAM,IAAI,CAACxD,UAAU,CAACyD,GAAG,CAAC,YAAYvB,MAAM,EAAE,CAAC,CAACwB,IAAI,CAAsB,CAAC;IAC9F,IAAIF,UAAU,CAACG,SAAS,EAAE;MACtB,MAAM,IAAIjB,KAAK,CAACc,UAAU,CAACG,SAAS,CAACC,WAAW,CAAC;IACrD;IACA,IAAIJ,UAAU,CAACpB,SAAS,EAAE;MACtB,IAAI,CAAC7B,UAAU,GAAGiD,UAAU;MAC5B;IACJ;IACA,IAAI,IAAI,CAACrD,OAAO,IAAI,IAAI,CAACF,YAAY,EAAE;MACnC,MAAM,IAAIyC,KAAK,CAAC,WAAW,IAAI,CAACvC,OAAO,GAAG,EAAE,GAAG,IAAI,iCAAiC,CAAC;IACzF;EACJ;EAEA,MAAc6B,UAAUA,CAACZ,OAAuB,EAAgC;IAC5E,MAAMyC,eAAe,GAAG,MAAM,IAAI,CAACC,kBAAkB,CAAC1C,OAAO,CAAC;IAE9D,MAAM2C,cAAc,GAAG,IAAI,CAACC,qBAAqB,CAAC5C,OAAO,EAAEyC,eAAe,CAAC;IAC3E,MAAMI,iBAAiB,GAAG,IAAI,CAACC,wBAAwB,CAACH,cAAc,CAAC;IACvE,MAAMI,QAAQ,GAAG,MAAM,IAAI,CAACnE,UAAU,CACjCoE,IAAI,CAAC,UAAU,CAAC,CAChBC,YAAY,CAACJ,iBAAiB,CAAC,CAC/BP,IAAI,CAAsB,CAAC;IAChC,OAAOS,QAAQ;EACnB;EAEA,MAAcL,kBAAkBA,CAAC1C,OAAuB,EAAE;IAAA,IAAAkD,qBAAA,EAAAC,aAAA;IACtD,IAAInD,OAAO,CAACL,YAAY,KAAKC,4CAAqB,CAACE,QAAQ,EAAE;MAAA,IAAAsD,YAAA;MACzD,KAAAA,YAAA,GAAIpD,OAAO,CAACH,GAAG,cAAAuD,YAAA,eAAXA,YAAA,CAAalD,QAAQ,EAAE;QACvB,OAAOF,OAAO,CAACH,GAAG,CAACK,QAAQ;MAC/B;MACA,OAAO,MAAM,IAAI,CAACqB,mBAAmB,CAAC,CAAC;IAC3C;IACA,QAAA2B,qBAAA,IAAAC,aAAA,GAAOnD,OAAO,CAACH,GAAG,cAAAsD,aAAA,uBAAXA,aAAA,CAAajD,QAAQ,cAAAgD,qBAAA,cAAAA,qBAAA,GAAK,MAAM,IAAI,CAACtB,cAAc,CAAC,CAAC;EAChE;EAEQV,gBAAgBA,CAACmC,QAA4B,EAAE;IACnD,IAAI,IAAAC,0BAAa,EAACD,QAAQ,CAAC,EAAE;MAAA,IAAAE,iBAAA;MACzB,IAAAC,mBAAM,EAAC,mEAAAD,iBAAA,GAAkE,IAAI,CAACpE,UAAU,cAAAoE,iBAAA,uBAAfA,iBAAA,CAAiBzC,MAAM,EAAE,CAAC;IACvG;IACA2C,MAAM,CAACC,QAAQ,CAACC,IAAI,GAAGN,QAAQ;EACnC;EAEQT,qBAAqBA,CAAC5C,OAAuB,EAAE4D,MAAc,EAAkB;IACnF,OAAO;MAAE,GAAG5D,OAAO;MAAEH,GAAG,EAAE;QAAEK,QAAQ,EAAE0D;MAAO;IAAE,CAAC;EACpD;EAEQd,wBAAwBA,CAAC9C,OAAuB,EAAkB;IACtE,OAAO;MAAE,GAAGA,OAAO;MAAE6D,SAAS,EAAE;IAAc,CAAC;EACnD;EAEQnD,mBAAmBA,CAACX,cAAsC,EAAE;IAAA,IAAA+D,qBAAA,EAAAC,qBAAA,EAAAC,qBAAA;IAChE,IAAI,CAACnF,YAAY,IAAAiF,qBAAA,GAAG/D,cAAc,aAAdA,cAAc,uBAAdA,cAAc,CAAElB,YAAY,cAAAiF,qBAAA,cAAAA,qBAAA,GAAI,IAAI,CAAC9E,mBAAmB;IAC5E,IAAI,CAACF,MAAM,IAAAiF,qBAAA,GAAGhE,cAAc,aAAdA,cAAc,uBAAdA,cAAc,CAAEjB,MAAM,cAAAiF,qBAAA,cAAAA,qBAAA,GAAI,IAAI,CAAC9E,aAAa;IAC1D,IAAI,CAACF,OAAO,IAAAiF,qBAAA,GAAGjE,cAAc,aAAdA,cAAc,uBAAdA,cAAc,CAAEhB,OAAO,cAAAiF,qBAAA,cAAAA,qBAAA,GAAI,IAAI,CAAC9E,cAAc;EACjE;EAEQ+B,gBAAgBA,CAAA,EAAG;IACvB,IAAI,CAAC9B,UAAU,GAAG8E,SAAS;EAC/B;AACJ;AAACC,OAAA,CAAA9F,eAAA,GAAAA,eAAA","ignoreList":[]}
|
|
@@ -117,6 +117,10 @@ class HttpClientRequestWrapper {
|
|
|
117
117
|
const result = await this;
|
|
118
118
|
return result.blob();
|
|
119
119
|
}
|
|
120
|
+
async text() {
|
|
121
|
+
const result = await this;
|
|
122
|
+
return result.text();
|
|
123
|
+
}
|
|
120
124
|
acceptCode(code) {
|
|
121
125
|
this.acceptCodes.push(code);
|
|
122
126
|
return this;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HttpClient.js","names":["_Errors","require","_TypingUtils","trimTrailingSlash","url","slice","trimLeadingSlash","HttpClientResponse","constructor","fetchResponse","status","headers","json","responseData","blob","text","exports","HttpClientRequestWrapper","execute","executeRequest","acceptCodes","httpStatusHandlers","queryParams","signal","bodyFactory","contentType","then","args","resultPromise","result","createConfig","withAbortSignal","withContentType","withBodyFromBuffer","body","undefined","withJsonBody","serializableBody","JSON","stringify","withQueryParams","withRawBody","withHttpStatusHandler","statusCode","handler","withHttpStatusHandlers","acceptCode","code","push","create","fn","HttpClient","fetchImpl","baseUrl","authenticationProvider","defaultQueryParams","exceptionLogger","defaultParams","get","method","post","put","patch","delete","config","fetchUrl","request","appendDefaultRequestHeaders","InvalidArgumentError","response","checkStatus","e","_this$exceptionLogger","call","reject","options","_options$headers","path","params","resultParams","includes","Object","keys","length","NotSupportedError","createQueryString","_config$acceptCodes","isSuccessResponseStatus","isAcceptCodesIncludesResponseStatus","_config$httpStatusHan","_config$httpStatusHan2","_this$httpStatusHandl","_this$httpStatusHandl2","errorText","serverResponse","parse","_ref","_serverResponse$Messa","error","HttpError","Message","message","Error","postSync","data","XMLHttpRequest","open","withCredentials","setRequestHeader","send","responseText","makeParamValueString","param","value","encodeURIComponent","params2","map","key","toString","Array","isArray","item","filter","x","join","createFetchImpl","fetchWithOptions","input","init","URL","_init","_init$headers","requestInit","cache","credentials","integrity","keepalive","mode","redirect","referrer","referrerPolicy","name","getContentType","getFileName","_response$headers$get","split","replace"],"sources":["../../../../Common/HttpClient/HttpClient.ts"],"sourcesContent":["import { InvalidArgumentError, NotSupportedError } from \"../Errors\";\nimport { reject } from \"../TypingUtils\";\n\nimport { Fetch } from \"./FetchImplementation/Fetch\";\nimport {\n HttpStatusCode,\n HttpStatusHandler,\n HttpStatusHandlers,\n IHttpClient,\n IHttpClientRequestWrapper,\n IHttpClientResponse,\n IHttpClientResponseSync,\n QueryParamsObject,\n} from \"./IHttpClient\";\nimport { HttpClientAuthenticationProvider } from \"./HttpClientAuthenticationProvider\";\n\nfunction trimTrailingSlash(url: string): string {\n return url.slice(-1) === \"/\" ? url.slice(0, -1) : url;\n}\n\nfunction trimLeadingSlash(url: string): string {\n return url[0] === \"/\" ? url.slice(1) : url;\n}\n\ntype BodyFactory = () => BodyInit | null;\n\ninterface IHttpClientRequestConfig {\n signal?: AbortSignal;\n bodyFactory?: BodyFactory;\n acceptCodes: HttpStatusCode[];\n httpStatusHandlers: HttpStatusHandlers;\n queryParams: QueryParamsObject;\n contentType?: string;\n}\n\nexport interface IExceptionLoggerParams {\n fetchUrl?: string;\n}\nexport type ExceptionLogger = (error: unknown, params?: IExceptionLoggerParams) => void;\n\nexport class HttpClientResponse implements IHttpClientResponse {\n private readonly fetchResponse: Response;\n\n public constructor(fetchResponse: Response) {\n this.fetchResponse = fetchResponse;\n }\n\n public get status(): HttpStatusCode {\n return this.fetchResponse.status;\n }\n\n public get headers(): Headers {\n return this.fetchResponse.headers;\n }\n\n public async json<T>(): Promise<T> {\n const responseData = await this.fetchResponse.json();\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n return responseData;\n }\n\n public async blob(): Promise<Blob> {\n const responseData = await this.fetchResponse.blob();\n return responseData;\n }\n\n public async text(): Promise<string> {\n const responseData = await this.fetchResponse.text();\n return responseData;\n }\n}\n\ntype RequestExecutionFunction = (config: IHttpClientRequestConfig) => Promise<HttpClientResponse | Response>;\n\nexport class HttpClientRequestWrapper implements IHttpClientRequestWrapper {\n private readonly executeRequest: RequestExecutionFunction;\n private readonly acceptCodes: HttpStatusCode[] = [];\n private httpStatusHandlers: HttpStatusHandlers = {};\n private queryParams: QueryParamsObject = {};\n private signal: undefined | AbortSignal;\n private bodyFactory?: BodyFactory;\n private contentType?: string;\n\n public constructor(execute: RequestExecutionFunction) {\n this.executeRequest = execute;\n }\n\n public withAbortSignal(signal: undefined | AbortSignal): this {\n this.signal = signal;\n return this;\n }\n\n public withContentType(contentType: string): this {\n this.contentType = contentType;\n return this;\n }\n\n public withBodyFromBuffer(body: false | Buffer | undefined): this {\n if (body === false || body == undefined) {\n return this;\n }\n this.bodyFactory = () => body;\n return this;\n }\n\n public withJsonBody(serializableBody: unknown | {} | unknown[] | undefined): this {\n if (serializableBody !== false && serializableBody != undefined) {\n this.bodyFactory = () => JSON.stringify(serializableBody);\n }\n return this;\n }\n\n public withQueryParams(queryParams: QueryParamsObject | false | undefined): this {\n if (queryParams) {\n this.queryParams = {\n ...this.queryParams,\n ...queryParams,\n };\n }\n return this;\n }\n\n public withRawBody(body: Buffer | string | false | undefined): this {\n if (body !== false && body != undefined) {\n this.bodyFactory = () => body;\n }\n return this;\n }\n\n public withHttpStatusHandler(statusCode: HttpStatusCode, handler: HttpStatusHandler): this {\n this.httpStatusHandlers = {\n ...this.httpStatusHandlers,\n [statusCode]: handler,\n };\n return this;\n }\n\n public withHttpStatusHandlers(httpStatusHandlers: HttpStatusHandlers): this {\n this.httpStatusHandlers = { ...httpStatusHandlers };\n return this;\n }\n\n public async json<T>(): Promise<T> {\n const result = await this;\n return result.json<T>();\n }\n\n public async blob(): Promise<Blob> {\n const result = await this;\n return result.blob();\n }\n\n public acceptCode(code: HttpStatusCode): this {\n this.acceptCodes.push(code);\n return this;\n }\n\n public readonly then: Promise<HttpClientResponse>[\"then\"] = (...args) => {\n const resultPromise = (async () => {\n const result = await this.executeRequest(this.createConfig());\n if (result instanceof HttpClientResponse) {\n return result;\n } else {\n return new HttpClientResponse(result);\n }\n })();\n return resultPromise.then(...args);\n };\n\n private createConfig(): IHttpClientRequestConfig {\n return {\n signal: this.signal,\n bodyFactory: this.bodyFactory,\n acceptCodes: this.acceptCodes,\n httpStatusHandlers: this.httpStatusHandlers,\n queryParams: this.queryParams,\n contentType: this.contentType,\n };\n }\n\n public static create(fn: RequestExecutionFunction): HttpClientRequestWrapper {\n return new HttpClientRequestWrapper(fn);\n }\n}\n\nexport class HttpClient implements IHttpClient {\n private readonly fetchImpl: Fetch;\n private readonly baseUrl: undefined | string;\n private readonly authenticationProvider: HttpClientAuthenticationProvider;\n private readonly defaultParams?: QueryParamsObject = {};\n private readonly exceptionLogger?: ExceptionLogger;\n private readonly httpStatusHandlers: HttpStatusHandlers;\n\n public constructor(\n fetchImpl: Fetch,\n baseUrl: undefined | string,\n authenticationProvider: HttpClientAuthenticationProvider,\n defaultQueryParams?: QueryParamsObject,\n exceptionLogger?: ExceptionLogger,\n httpStatusHandlers?: HttpStatusHandlers\n ) {\n this.fetchImpl = fetchImpl;\n this.baseUrl = baseUrl == undefined ? baseUrl : trimTrailingSlash(baseUrl);\n this.defaultParams = defaultQueryParams;\n this.authenticationProvider = authenticationProvider;\n this.exceptionLogger = exceptionLogger;\n this.httpStatusHandlers = { ...httpStatusHandlers };\n }\n\n public get(url: string): IHttpClientRequestWrapper {\n return this.method(\"GET\")(url);\n }\n\n public post(url: string): IHttpClientRequestWrapper {\n return this.method(\"POST\")(url);\n }\n\n public put(url: string): IHttpClientRequestWrapper {\n return this.method(\"PUT\")(url);\n }\n\n public patch(url: string): IHttpClientRequestWrapper {\n return this.method(\"PATCH\")(url);\n }\n\n public delete(url: string): IHttpClientRequestWrapper {\n return this.method(\"DELETE\")(url);\n }\n\n private method(method: \"GET\" | \"POST\" | \"PUT\" | \"PATCH\" | \"DELETE\"): (url: string) => IHttpClientRequestWrapper {\n return (url: string) =>\n HttpClientRequestWrapper.create(async config => {\n const fetchUrl = this.url(url, config.queryParams);\n let request = this.appendDefaultRequestHeaders({ method: method }, config.contentType);\n request = this.authenticationProvider(request);\n if (config.signal) {\n request.signal = config.signal;\n }\n if (config.bodyFactory) {\n if (method === \"GET\") {\n throw new InvalidArgumentError(\"method\", \"Body is not allowed for GET requests\");\n }\n request.body = config.bodyFactory();\n }\n\n try {\n const response = await this.fetchImpl(fetchUrl, request);\n await this.checkStatus(response, config);\n return response;\n } catch (e) {\n this.exceptionLogger?.(e, { fetchUrl: fetchUrl });\n return reject(e as Error);\n }\n });\n }\n\n private appendDefaultRequestHeaders(options: RequestInit, contentType?: string): RequestInit {\n options.headers = options.headers ?? {};\n // @ts-ignore\n options.headers[\"Content-Type\"] = contentType ?? \"application/json\";\n // @ts-ignore\n options.headers[\"Cache-Control\"] = \"no-cache, no-store\";\n // @ts-ignore\n options.headers[\"Pragma\"] = \"no-cache\";\n // @ts-ignore\n options.headers[\"Expires\"] = \"0\";\n return options;\n }\n\n public url(path: string, params: undefined | QueryParamsObject): string {\n let result = path;\n if (this.baseUrl != undefined) {\n result = this.baseUrl + \"/\" + trimLeadingSlash(result);\n }\n const resultParams = { ...this.defaultParams, ...params };\n if (path.includes(\"?\") && params != undefined && Object.keys(resultParams).length > 0) {\n throw new NotSupportedError(`Passing search params in url and via params object is not supported`);\n }\n result = result + this.createQueryString(resultParams);\n return result;\n }\n\n private async checkStatus(response: Response, config: IHttpClientRequestConfig): Promise<void> {\n const isSuccessResponseStatus = response.status >= 200 && response.status < 300;\n const isAcceptCodesIncludesResponseStatus = (config.acceptCodes ?? []).includes(response.status);\n\n if (!!config.httpStatusHandlers[response.status]) {\n await config.httpStatusHandlers[response.status]?.(response);\n } else if (!!this.httpStatusHandlers[response.status]) {\n await this.httpStatusHandlers[response.status]?.(response);\n }\n\n if (!isSuccessResponseStatus && !isAcceptCodesIncludesResponseStatus) {\n const errorText = await response.text();\n let serverResponse;\n try {\n serverResponse = JSON.parse(errorText);\n } catch {\n serverResponse = undefined;\n }\n if (serverResponse != undefined) {\n if (\"error\" in serverResponse && typeof serverResponse.error === \"object\") {\n throw new HttpError(JSON.stringify(serverResponse.error), response.status);\n }\n throw new HttpError(\n // eslint-disable-next-line @typescript-eslint/no-unsafe-argument\n serverResponse.Message ?? serverResponse.message ?? serverResponse.Error,\n response.status\n );\n }\n throw new HttpError(errorText, response.status);\n }\n }\n\n public postSync(url: string, params: undefined | QueryParamsObject, data: {}): IHttpClientResponseSync {\n const request = new XMLHttpRequest();\n request.open(\"POST\", this.url(url, params), false);\n request.withCredentials = true;\n request.setRequestHeader(\"Content-Type\", \"application/json; charset=UTF-8\");\n request.send(JSON.stringify(data));\n return {\n status: request.status,\n json: <T>() => JSON.parse(request.responseText) as T,\n };\n }\n\n private makeParamValueString(param: string, value: string): string {\n return `${encodeURIComponent(param)}=${encodeURIComponent(value)}`;\n }\n\n private createQueryString(params?: QueryParamsObject): string {\n if (params == undefined) {\n return \"\";\n }\n const params2 = params;\n let result = Object.keys(params)\n .map(key => {\n const value = params2[key];\n if (typeof value === \"string\") {\n return this.makeParamValueString(key, value);\n }\n if (typeof value === \"number\" || typeof value === \"boolean\") {\n return this.makeParamValueString(key, value.toString());\n }\n if (Array.isArray(value)) {\n return value\n .map(item => {\n if (typeof item === \"string\") {\n return this.makeParamValueString(key, item);\n }\n if (typeof item === \"number\") {\n return this.makeParamValueString(key, item.toString());\n }\n return undefined;\n })\n .filter(x => x != undefined)\n .join(\"&\");\n }\n return undefined;\n })\n .filter(x => x != undefined)\n .join(\"&\");\n result = result ? \"?\" + result : \"\";\n return result;\n }\n\n public createFetchImpl(): Fetch {\n const fetchWithOptions = (input: RequestInfo | URL, init?: RequestInit): Promise<Response> => {\n if (typeof input === \"string\" || input instanceof URL) {\n const fetchUrl = this.url(input.toString(), undefined);\n init = init ?? {};\n init.headers = init.headers ?? {};\n // @ts-ignore\n init.headers[\"Cache-Control\"] = \"no-cache, no-store\";\n // @ts-ignore\n init.headers[\"Pragma\"] = \"no-cache\";\n // @ts-ignore\n init.headers[\"Expires\"] = \"0\";\n init = this.authenticationProvider(init);\n return this.fetchImpl(fetchUrl, init);\n } else {\n const fetchUrl = this.url(input.url, undefined);\n let requestInit: RequestInit = {\n headers: {\n [\"Cache-Control\"]: \"no-cache, no-store\",\n [\"Pragma\"]: \"no-cache\",\n [\"Expires\"]: \"0\",\n ...input.headers,\n },\n signal: input.signal,\n cache: input.cache,\n credentials: input.credentials,\n integrity: input.integrity,\n keepalive: input.keepalive,\n method: input.method,\n mode: input.mode,\n redirect: input.redirect,\n referrer: input.referrer,\n referrerPolicy: input.referrerPolicy,\n };\n requestInit = this.authenticationProvider(requestInit);\n return this.fetchImpl(fetchUrl, requestInit);\n }\n };\n return fetchWithOptions;\n }\n}\n\nexport class HttpError extends Error {\n public readonly statusCode: number;\n\n public constructor(message: string, statusCode: number) {\n super(message);\n this.name = \"HttpError\";\n this.statusCode = statusCode;\n }\n\n public override get message(): string {\n return super.message + `. StatusCode: ${this.statusCode}`;\n }\n}\n\nexport const getContentType = (response: IHttpClientResponse): string | null => response.headers.get(\"Content-Type\");\n\nexport const getFileName = (response: IHttpClientResponse): string | undefined =>\n response.headers.get(\"Content-Disposition\")?.split(\";\")[1]?.split(\"=\")[1]?.replace(/['\"]/g, \"\");\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"HttpClient.js","names":["_Errors","require","_TypingUtils","trimTrailingSlash","url","slice","trimLeadingSlash","HttpClientResponse","constructor","fetchResponse","status","headers","json","responseData","blob","text","exports","HttpClientRequestWrapper","execute","executeRequest","acceptCodes","httpStatusHandlers","queryParams","signal","bodyFactory","contentType","then","args","resultPromise","result","createConfig","withAbortSignal","withContentType","withBodyFromBuffer","body","undefined","withJsonBody","serializableBody","JSON","stringify","withQueryParams","withRawBody","withHttpStatusHandler","statusCode","handler","withHttpStatusHandlers","acceptCode","code","push","create","fn","HttpClient","fetchImpl","baseUrl","authenticationProvider","defaultQueryParams","exceptionLogger","defaultParams","get","method","post","put","patch","delete","config","fetchUrl","request","appendDefaultRequestHeaders","InvalidArgumentError","response","checkStatus","e","_this$exceptionLogger","call","reject","options","_options$headers","path","params","resultParams","includes","Object","keys","length","NotSupportedError","createQueryString","_config$acceptCodes","isSuccessResponseStatus","isAcceptCodesIncludesResponseStatus","_config$httpStatusHan","_config$httpStatusHan2","_this$httpStatusHandl","_this$httpStatusHandl2","errorText","serverResponse","parse","_ref","_serverResponse$Messa","error","HttpError","Message","message","Error","postSync","data","XMLHttpRequest","open","withCredentials","setRequestHeader","send","responseText","makeParamValueString","param","value","encodeURIComponent","params2","map","key","toString","Array","isArray","item","filter","x","join","createFetchImpl","fetchWithOptions","input","init","URL","_init","_init$headers","requestInit","cache","credentials","integrity","keepalive","mode","redirect","referrer","referrerPolicy","name","getContentType","getFileName","_response$headers$get","split","replace"],"sources":["../../../../Common/HttpClient/HttpClient.ts"],"sourcesContent":["import { InvalidArgumentError, NotSupportedError } from \"../Errors\";\nimport { reject } from \"../TypingUtils\";\n\nimport { Fetch } from \"./FetchImplementation/Fetch\";\nimport {\n HttpStatusCode,\n HttpStatusHandler,\n HttpStatusHandlers,\n IHttpClient,\n IHttpClientRequestWrapper,\n IHttpClientResponse,\n IHttpClientResponseSync,\n QueryParamsObject,\n} from \"./IHttpClient\";\nimport { HttpClientAuthenticationProvider } from \"./HttpClientAuthenticationProvider\";\n\nfunction trimTrailingSlash(url: string): string {\n return url.slice(-1) === \"/\" ? url.slice(0, -1) : url;\n}\n\nfunction trimLeadingSlash(url: string): string {\n return url[0] === \"/\" ? url.slice(1) : url;\n}\n\ntype BodyFactory = () => BodyInit | null;\n\ninterface IHttpClientRequestConfig {\n signal?: AbortSignal;\n bodyFactory?: BodyFactory;\n acceptCodes: HttpStatusCode[];\n httpStatusHandlers: HttpStatusHandlers;\n queryParams: QueryParamsObject;\n contentType?: string;\n}\n\nexport interface IExceptionLoggerParams {\n fetchUrl?: string;\n}\nexport type ExceptionLogger = (error: unknown, params?: IExceptionLoggerParams) => void;\n\nexport class HttpClientResponse implements IHttpClientResponse {\n private readonly fetchResponse: Response;\n\n public constructor(fetchResponse: Response) {\n this.fetchResponse = fetchResponse;\n }\n\n public get status(): HttpStatusCode {\n return this.fetchResponse.status;\n }\n\n public get headers(): Headers {\n return this.fetchResponse.headers;\n }\n\n public async json<T>(): Promise<T> {\n const responseData = await this.fetchResponse.json();\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n return responseData;\n }\n\n public async blob(): Promise<Blob> {\n const responseData = await this.fetchResponse.blob();\n return responseData;\n }\n\n public async text(): Promise<string> {\n const responseData = await this.fetchResponse.text();\n return responseData;\n }\n}\n\ntype RequestExecutionFunction = (config: IHttpClientRequestConfig) => Promise<HttpClientResponse | Response>;\n\nexport class HttpClientRequestWrapper implements IHttpClientRequestWrapper {\n private readonly executeRequest: RequestExecutionFunction;\n private readonly acceptCodes: HttpStatusCode[] = [];\n private httpStatusHandlers: HttpStatusHandlers = {};\n private queryParams: QueryParamsObject = {};\n private signal: undefined | AbortSignal;\n private bodyFactory?: BodyFactory;\n private contentType?: string;\n\n public constructor(execute: RequestExecutionFunction) {\n this.executeRequest = execute;\n }\n\n public withAbortSignal(signal: undefined | AbortSignal): this {\n this.signal = signal;\n return this;\n }\n\n public withContentType(contentType: string): this {\n this.contentType = contentType;\n return this;\n }\n\n public withBodyFromBuffer(body: false | Buffer | undefined): this {\n if (body === false || body == undefined) {\n return this;\n }\n this.bodyFactory = () => body;\n return this;\n }\n\n public withJsonBody(serializableBody: unknown | {} | unknown[] | undefined): this {\n if (serializableBody !== false && serializableBody != undefined) {\n this.bodyFactory = () => JSON.stringify(serializableBody);\n }\n return this;\n }\n\n public withQueryParams(queryParams: QueryParamsObject | false | undefined): this {\n if (queryParams) {\n this.queryParams = {\n ...this.queryParams,\n ...queryParams,\n };\n }\n return this;\n }\n\n public withRawBody(body: Buffer | string | false | undefined): this {\n if (body !== false && body != undefined) {\n this.bodyFactory = () => body;\n }\n return this;\n }\n\n public withHttpStatusHandler(statusCode: HttpStatusCode, handler: HttpStatusHandler): this {\n this.httpStatusHandlers = {\n ...this.httpStatusHandlers,\n [statusCode]: handler,\n };\n return this;\n }\n\n public withHttpStatusHandlers(httpStatusHandlers: HttpStatusHandlers): this {\n this.httpStatusHandlers = { ...httpStatusHandlers };\n return this;\n }\n\n public async json<T>(): Promise<T> {\n const result = await this;\n return result.json<T>();\n }\n\n public async blob(): Promise<Blob> {\n const result = await this;\n return result.blob();\n }\n\n public async text(): Promise<string> {\n const result = await this;\n return result.text();\n }\n\n public acceptCode(code: HttpStatusCode): this {\n this.acceptCodes.push(code);\n return this;\n }\n\n public readonly then: Promise<HttpClientResponse>[\"then\"] = (...args) => {\n const resultPromise = (async () => {\n const result = await this.executeRequest(this.createConfig());\n if (result instanceof HttpClientResponse) {\n return result;\n } else {\n return new HttpClientResponse(result);\n }\n })();\n return resultPromise.then(...args);\n };\n\n private createConfig(): IHttpClientRequestConfig {\n return {\n signal: this.signal,\n bodyFactory: this.bodyFactory,\n acceptCodes: this.acceptCodes,\n httpStatusHandlers: this.httpStatusHandlers,\n queryParams: this.queryParams,\n contentType: this.contentType,\n };\n }\n\n public static create(fn: RequestExecutionFunction): HttpClientRequestWrapper {\n return new HttpClientRequestWrapper(fn);\n }\n}\n\nexport class HttpClient implements IHttpClient {\n private readonly fetchImpl: Fetch;\n private readonly baseUrl: undefined | string;\n private readonly authenticationProvider: HttpClientAuthenticationProvider;\n private readonly defaultParams?: QueryParamsObject = {};\n private readonly exceptionLogger?: ExceptionLogger;\n private readonly httpStatusHandlers: HttpStatusHandlers;\n\n public constructor(\n fetchImpl: Fetch,\n baseUrl: undefined | string,\n authenticationProvider: HttpClientAuthenticationProvider,\n defaultQueryParams?: QueryParamsObject,\n exceptionLogger?: ExceptionLogger,\n httpStatusHandlers?: HttpStatusHandlers\n ) {\n this.fetchImpl = fetchImpl;\n this.baseUrl = baseUrl == undefined ? baseUrl : trimTrailingSlash(baseUrl);\n this.defaultParams = defaultQueryParams;\n this.authenticationProvider = authenticationProvider;\n this.exceptionLogger = exceptionLogger;\n this.httpStatusHandlers = { ...httpStatusHandlers };\n }\n\n public get(url: string): IHttpClientRequestWrapper {\n return this.method(\"GET\")(url);\n }\n\n public post(url: string): IHttpClientRequestWrapper {\n return this.method(\"POST\")(url);\n }\n\n public put(url: string): IHttpClientRequestWrapper {\n return this.method(\"PUT\")(url);\n }\n\n public patch(url: string): IHttpClientRequestWrapper {\n return this.method(\"PATCH\")(url);\n }\n\n public delete(url: string): IHttpClientRequestWrapper {\n return this.method(\"DELETE\")(url);\n }\n\n private method(method: \"GET\" | \"POST\" | \"PUT\" | \"PATCH\" | \"DELETE\"): (url: string) => IHttpClientRequestWrapper {\n return (url: string) =>\n HttpClientRequestWrapper.create(async config => {\n const fetchUrl = this.url(url, config.queryParams);\n let request = this.appendDefaultRequestHeaders({ method: method }, config.contentType);\n request = this.authenticationProvider(request);\n if (config.signal) {\n request.signal = config.signal;\n }\n if (config.bodyFactory) {\n if (method === \"GET\") {\n throw new InvalidArgumentError(\"method\", \"Body is not allowed for GET requests\");\n }\n request.body = config.bodyFactory();\n }\n\n try {\n const response = await this.fetchImpl(fetchUrl, request);\n await this.checkStatus(response, config);\n return response;\n } catch (e) {\n this.exceptionLogger?.(e, { fetchUrl: fetchUrl });\n return reject(e as Error);\n }\n });\n }\n\n private appendDefaultRequestHeaders(options: RequestInit, contentType?: string): RequestInit {\n options.headers = options.headers ?? {};\n // @ts-ignore\n options.headers[\"Content-Type\"] = contentType ?? \"application/json\";\n // @ts-ignore\n options.headers[\"Cache-Control\"] = \"no-cache, no-store\";\n // @ts-ignore\n options.headers[\"Pragma\"] = \"no-cache\";\n // @ts-ignore\n options.headers[\"Expires\"] = \"0\";\n return options;\n }\n\n public url(path: string, params: undefined | QueryParamsObject): string {\n let result = path;\n if (this.baseUrl != undefined) {\n result = this.baseUrl + \"/\" + trimLeadingSlash(result);\n }\n const resultParams = { ...this.defaultParams, ...params };\n if (path.includes(\"?\") && params != undefined && Object.keys(resultParams).length > 0) {\n throw new NotSupportedError(`Passing search params in url and via params object is not supported`);\n }\n result = result + this.createQueryString(resultParams);\n return result;\n }\n\n private async checkStatus(response: Response, config: IHttpClientRequestConfig): Promise<void> {\n const isSuccessResponseStatus = response.status >= 200 && response.status < 300;\n const isAcceptCodesIncludesResponseStatus = (config.acceptCodes ?? []).includes(response.status);\n\n if (!!config.httpStatusHandlers[response.status]) {\n await config.httpStatusHandlers[response.status]?.(response);\n } else if (!!this.httpStatusHandlers[response.status]) {\n await this.httpStatusHandlers[response.status]?.(response);\n }\n\n if (!isSuccessResponseStatus && !isAcceptCodesIncludesResponseStatus) {\n const errorText = await response.text();\n let serverResponse;\n try {\n serverResponse = JSON.parse(errorText);\n } catch {\n serverResponse = undefined;\n }\n if (serverResponse != undefined) {\n if (\"error\" in serverResponse && typeof serverResponse.error === \"object\") {\n throw new HttpError(JSON.stringify(serverResponse.error), response.status);\n }\n throw new HttpError(\n // eslint-disable-next-line @typescript-eslint/no-unsafe-argument\n serverResponse.Message ?? serverResponse.message ?? serverResponse.Error,\n response.status\n );\n }\n throw new HttpError(errorText, response.status);\n }\n }\n\n public postSync(url: string, params: undefined | QueryParamsObject, data: {}): IHttpClientResponseSync {\n const request = new XMLHttpRequest();\n request.open(\"POST\", this.url(url, params), false);\n request.withCredentials = true;\n request.setRequestHeader(\"Content-Type\", \"application/json; charset=UTF-8\");\n request.send(JSON.stringify(data));\n return {\n status: request.status,\n json: <T>() => JSON.parse(request.responseText) as T,\n };\n }\n\n private makeParamValueString(param: string, value: string): string {\n return `${encodeURIComponent(param)}=${encodeURIComponent(value)}`;\n }\n\n private createQueryString(params?: QueryParamsObject): string {\n if (params == undefined) {\n return \"\";\n }\n const params2 = params;\n let result = Object.keys(params)\n .map(key => {\n const value = params2[key];\n if (typeof value === \"string\") {\n return this.makeParamValueString(key, value);\n }\n if (typeof value === \"number\" || typeof value === \"boolean\") {\n return this.makeParamValueString(key, value.toString());\n }\n if (Array.isArray(value)) {\n return value\n .map(item => {\n if (typeof item === \"string\") {\n return this.makeParamValueString(key, item);\n }\n if (typeof item === \"number\") {\n return this.makeParamValueString(key, item.toString());\n }\n return undefined;\n })\n .filter(x => x != undefined)\n .join(\"&\");\n }\n return undefined;\n })\n .filter(x => x != undefined)\n .join(\"&\");\n result = result ? \"?\" + result : \"\";\n return result;\n }\n\n public createFetchImpl(): Fetch {\n const fetchWithOptions = (input: RequestInfo | URL, init?: RequestInit): Promise<Response> => {\n if (typeof input === \"string\" || input instanceof URL) {\n const fetchUrl = this.url(input.toString(), undefined);\n init = init ?? {};\n init.headers = init.headers ?? {};\n // @ts-ignore\n init.headers[\"Cache-Control\"] = \"no-cache, no-store\";\n // @ts-ignore\n init.headers[\"Pragma\"] = \"no-cache\";\n // @ts-ignore\n init.headers[\"Expires\"] = \"0\";\n init = this.authenticationProvider(init);\n return this.fetchImpl(fetchUrl, init);\n } else {\n const fetchUrl = this.url(input.url, undefined);\n let requestInit: RequestInit = {\n headers: {\n [\"Cache-Control\"]: \"no-cache, no-store\",\n [\"Pragma\"]: \"no-cache\",\n [\"Expires\"]: \"0\",\n ...input.headers,\n },\n signal: input.signal,\n cache: input.cache,\n credentials: input.credentials,\n integrity: input.integrity,\n keepalive: input.keepalive,\n method: input.method,\n mode: input.mode,\n redirect: input.redirect,\n referrer: input.referrer,\n referrerPolicy: input.referrerPolicy,\n };\n requestInit = this.authenticationProvider(requestInit);\n return this.fetchImpl(fetchUrl, requestInit);\n }\n };\n return fetchWithOptions;\n }\n}\n\nexport class HttpError extends Error {\n public readonly statusCode: number;\n\n public constructor(message: string, statusCode: number) {\n super(message);\n this.name = \"HttpError\";\n this.statusCode = statusCode;\n }\n\n public override get message(): string {\n return super.message + `. StatusCode: ${this.statusCode}`;\n }\n}\n\nexport const getContentType = (response: IHttpClientResponse): string | null => response.headers.get(\"Content-Type\");\n\nexport const getFileName = (response: IHttpClientResponse): string | undefined =>\n response.headers.get(\"Content-Disposition\")?.split(\";\")[1]?.split(\"=\")[1]?.replace(/['\"]/g, \"\");\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IHttpClient.js","names":[],"sources":["../../../../Common/HttpClient/IHttpClient.ts"],"sourcesContent":["import { Fetch } from \"./FetchImplementation/Fetch\";\n\nexport type HttpStatusCode = number;\n\nexport interface IHttpClientResponse {\n json<T>(): Promise<T>;\n blob(): Promise<Blob>;\n text(): Promise<string>;\n status: HttpStatusCode;\n headers: Headers;\n}\n\nexport interface IHttpClientResponseSync {\n json<T>(): T;\n status: HttpStatusCode;\n}\n\nexport type HttpStatusHandler = (response: Response) => Promise<void>;\nexport type HttpStatusHandlers = Record<HttpStatusCode, HttpStatusHandler>;\n\nexport interface IHttpClientRequestWrapper extends PromiseLike<IHttpClientResponse> {\n json<T>(): Promise<T>;\n blob(): Promise<Blob>;\n withQueryParams(queryParams: QueryParamsObject | false | undefined): this;\n withJsonBody(serializableBody: unknown | undefined | {} | unknown[]): this;\n withRawBody(body: Buffer | string | false | undefined): this;\n withContentType(contentType: string): this;\n withBodyFromBuffer(body: undefined | false | Buffer): this;\n withAbortSignal(signal?: AbortSignal): this;\n withHttpStatusHandler(statusCode: HttpStatusCode, handler: HttpStatusHandler): this;\n withHttpStatusHandlers(httpStatusHandlers: HttpStatusHandlers): this;\n acceptCode(code: HttpStatusCode): this;\n}\n\nexport interface IHttpClient {\n get(url: string): IHttpClientRequestWrapper;\n post(url: string): IHttpClientRequestWrapper;\n put(url: string): IHttpClientRequestWrapper;\n patch(url: string): IHttpClientRequestWrapper;\n delete(url: string): IHttpClientRequestWrapper;\n url(path: string, params?: QueryParamsObject): string;\n postSync(url: string, params: undefined | QueryParamsObject, data: {}): IHttpClientResponseSync;\n createFetchImpl(): Fetch;\n}\n\nexport interface QueryParamsObject {\n [key: string]: null | undefined | number | string | boolean | Array<string | number>;\n}\n"],"mappings":"","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"IHttpClient.js","names":[],"sources":["../../../../Common/HttpClient/IHttpClient.ts"],"sourcesContent":["import { Fetch } from \"./FetchImplementation/Fetch\";\n\nexport type HttpStatusCode = number;\n\nexport interface IHttpClientResponse {\n json<T>(): Promise<T>;\n blob(): Promise<Blob>;\n text(): Promise<string>;\n status: HttpStatusCode;\n headers: Headers;\n}\n\nexport interface IHttpClientResponseSync {\n json<T>(): T;\n status: HttpStatusCode;\n}\n\nexport type HttpStatusHandler = (response: Response) => Promise<void>;\nexport type HttpStatusHandlers = Record<HttpStatusCode, HttpStatusHandler>;\n\nexport interface IHttpClientRequestWrapper extends PromiseLike<IHttpClientResponse> {\n json<T>(): Promise<T>;\n blob(): Promise<Blob>;\n text(): Promise<string>;\n withQueryParams(queryParams: QueryParamsObject | false | undefined): this;\n withJsonBody(serializableBody: unknown | undefined | {} | unknown[]): this;\n withRawBody(body: Buffer | string | false | undefined): this;\n withContentType(contentType: string): this;\n withBodyFromBuffer(body: undefined | false | Buffer): this;\n withAbortSignal(signal?: AbortSignal): this;\n withHttpStatusHandler(statusCode: HttpStatusCode, handler: HttpStatusHandler): this;\n withHttpStatusHandlers(httpStatusHandlers: HttpStatusHandlers): this;\n acceptCode(code: HttpStatusCode): this;\n}\n\nexport interface IHttpClient {\n get(url: string): IHttpClientRequestWrapper;\n post(url: string): IHttpClientRequestWrapper;\n put(url: string): IHttpClientRequestWrapper;\n patch(url: string): IHttpClientRequestWrapper;\n delete(url: string): IHttpClientRequestWrapper;\n url(path: string, params?: QueryParamsObject): string;\n postSync(url: string, params: undefined | QueryParamsObject, data: {}): IHttpClientResponseSync;\n createFetchImpl(): Fetch;\n}\n\nexport interface QueryParamsObject {\n [key: string]: null | undefined | number | string | boolean | Array<string | number>;\n}\n"],"mappings":"","ignoreList":[]}
|
|
@@ -20,6 +20,7 @@ exports.isNotNullOrEmpty = isNotNullOrEmpty;
|
|
|
20
20
|
exports.isNotNullOrUndefined = isNotNullOrUndefined;
|
|
21
21
|
exports.isNullOrEmpty = isNullOrEmpty;
|
|
22
22
|
exports.isNullOrWhiteSpace = isNullOrWhiteSpace;
|
|
23
|
+
exports.isOneOf = void 0;
|
|
23
24
|
exports.minLengthOrUndefined = minLengthOrUndefined;
|
|
24
25
|
exports.noop = noop;
|
|
25
26
|
exports.reject = reject;
|
|
@@ -97,6 +98,10 @@ function ensureArrayLengthGreaterThenOrEqual(items, length) {
|
|
|
97
98
|
throw new Error(`Array must have minimal length ${length}`);
|
|
98
99
|
}
|
|
99
100
|
}
|
|
101
|
+
|
|
102
|
+
// проверяет, что родительский тип находится в массиве дочерних
|
|
103
|
+
const isOneOf = (value, array) => array.includes(value);
|
|
104
|
+
exports.isOneOf = isOneOf;
|
|
100
105
|
function ensureNever(_neverArgument) {
|
|
101
106
|
// noop
|
|
102
107
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TypingUtils.js","names":["isNotNullOrUndefined","input","undefined","stringifyUnknownError","error","ensureNotNullOrUndefined","message","Error","ensureHasFunctionType","noop","reject","isLengthGreaterThenOrEqual","items","minLength","length","minLengthOrUndefined","ensureIsArray","Array","isArray","arrayHasLength","arrayIsNotEmpty","arrayHasAtLeastOneItem","ensureArrayIsNotEmpty","ensureArrayHasLength","ensureArrayLengthGreaterThenOrEqual","ensureNever","_neverArgument","ensureAndGetString","neverArgument","runAsyncAction","action","isNullOrEmpty","isNotNullOrEmpty","isNullOrWhiteSpace","trim","trimLastSlash","url","slice","assertIs","_"],"sources":["../../../Common/TypingUtils.ts"],"sourcesContent":["/***\n * Строготипизированная замена для Boolean(...)\n * Обычно используется для [...].filter(isNotNullOrUndefined)\n */\nexport function isNotNullOrUndefined<T>(input: T): input is NonNullable<T> {\n return input != undefined;\n}\n\nexport function stringifyUnknownError(error: unknown): undefined | string {\n // @ts-ignore\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n return typeof error === \"object\" && error?.[\"message\"];\n}\n\nexport function ensureNotNullOrUndefined<T>(input: T, message?: string): asserts input is NonNullable<T> {\n if (!isNotNullOrUndefined(input)) {\n throw new Error(message ?? `Value must be defined`);\n }\n}\n\nexport function ensureHasFunctionType(input: unknown, message?: string): asserts input is Function {\n if (typeof input !== \"function\") {\n throw new Error(message ?? `Value must be defined`);\n }\n}\n\nexport function noop(): void {\n // noop\n}\n\nexport type ErrorFirstCallback<T> = (...args: [Error, null | undefined] | [null | undefined, T] | [Error]) => void;\n\nexport function reject(message?: string | Error): never {\n if (typeof message === \"string\" || message == undefined) {\n throw new Error(message ?? \"Undefined is not allowed\");\n } else {\n throw message;\n }\n}\n\ntype ArrayOfLength<TItem, TLength extends number, TRest extends TItem[] = []> = TRest extends { length: TLength }\n ? TRest\n : ArrayOfLength<TItem, TLength, [TItem, ...TRest]>;\n\nexport type MinLengthArray<TItem, TLength extends number, TRest extends TItem[] = []> = TRest extends {\n length: TLength;\n}\n ? [...TRest, ...TItem[]]\n : MinLengthArray<TItem, TLength, [...TRest, TItem]>;\n\nexport function isLengthGreaterThenOrEqual<T, TNum extends number>(\n items: readonly T[],\n minLength: TNum\n): items is MinLengthArray<T, TNum> {\n return items.length >= minLength;\n}\n\nexport function minLengthOrUndefined<T, TNum extends number>(\n items: T[],\n minLength: TNum\n): undefined | MinLengthArray<T, TNum> {\n if (isLengthGreaterThenOrEqual(items, minLength)) {\n return items;\n }\n return undefined;\n}\n\nexport function ensureIsArray<T>(items: unknown): T[] {\n if (!Array.isArray(items)) {\n throw new Error(`Must be an array!`);\n }\n return items as T[];\n}\n\nexport function arrayHasLength<T, TNum extends number>(\n items: readonly T[],\n length: TNum\n): items is ArrayOfLength<T, TNum> {\n return items.length === length;\n}\n\nexport function arrayIsNotEmpty<T>(items: readonly T[]): items is MinLengthArray<T, 1> {\n return items.length > 0;\n}\n\nexport function arrayHasAtLeastOneItem<T>(items: readonly T[]): items is MinLengthArray<T, 1> {\n return items.length > 0;\n}\n\nexport function ensureArrayIsNotEmpty<T>(items: readonly T[], message?: string): asserts items is MinLengthArray<T, 1> {\n if (!arrayIsNotEmpty(items)) {\n throw new Error(message ?? `Array must be not empty`);\n }\n}\n\nexport function ensureArrayHasLength<T, TNum extends number>(\n items: readonly T[],\n length: TNum\n): asserts items is ArrayOfLength<T, TNum> {\n if (!arrayHasLength(items, length)) {\n throw new Error(`Array should has length ${length}`);\n }\n}\n\nexport function ensureArrayLengthGreaterThenOrEqual<T, TNum extends number>(\n items: readonly T[],\n length: TNum\n): asserts items is ArrayOfLength<T, TNum> {\n if (!isLengthGreaterThenOrEqual(items, length)) {\n throw new Error(`Array must have minimal length ${length}`);\n }\n}\n\nexport function ensureNever(_neverArgument: never): void {\n // noop\n}\n\nexport function ensureAndGetString(neverArgument: never): string {\n return `${neverArgument}`;\n}\n\nexport function runAsyncAction(action: () => Promise<void>): void {\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\n action();\n}\n\nexport function isNullOrEmpty(input: string | undefined): input is undefined {\n return input == undefined || input === \"\";\n}\n\nexport function isNotNullOrEmpty(input: string | undefined): input is string {\n return !isNullOrEmpty(input);\n}\n\nexport function isNullOrWhiteSpace(input: string | undefined | null): input is undefined | null {\n return input == undefined || input.trim() === \"\";\n}\n\nexport function trimLastSlash(url: string): string {\n return url.slice(-1) === \"/\" ? url.slice(0, -1) : url;\n}\n\nexport function assertIs<T>(_: T): void {\n // noop\n}\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"TypingUtils.js","names":["isNotNullOrUndefined","input","undefined","stringifyUnknownError","error","ensureNotNullOrUndefined","message","Error","ensureHasFunctionType","noop","reject","isLengthGreaterThenOrEqual","items","minLength","length","minLengthOrUndefined","ensureIsArray","Array","isArray","arrayHasLength","arrayIsNotEmpty","arrayHasAtLeastOneItem","ensureArrayIsNotEmpty","ensureArrayHasLength","ensureArrayLengthGreaterThenOrEqual","isOneOf","value","array","includes","exports","ensureNever","_neverArgument","ensureAndGetString","neverArgument","runAsyncAction","action","isNullOrEmpty","isNotNullOrEmpty","isNullOrWhiteSpace","trim","trimLastSlash","url","slice","assertIs","_"],"sources":["../../../Common/TypingUtils.ts"],"sourcesContent":["/***\n * Строготипизированная замена для Boolean(...)\n * Обычно используется для [...].filter(isNotNullOrUndefined)\n */\nexport function isNotNullOrUndefined<T>(input: T): input is NonNullable<T> {\n return input != undefined;\n}\n\nexport function stringifyUnknownError(error: unknown): undefined | string {\n // @ts-ignore\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n return typeof error === \"object\" && error?.[\"message\"];\n}\n\nexport function ensureNotNullOrUndefined<T>(input: T, message?: string): asserts input is NonNullable<T> {\n if (!isNotNullOrUndefined(input)) {\n throw new Error(message ?? `Value must be defined`);\n }\n}\n\nexport function ensureHasFunctionType(input: unknown, message?: string): asserts input is Function {\n if (typeof input !== \"function\") {\n throw new Error(message ?? `Value must be defined`);\n }\n}\n\nexport function noop(): void {\n // noop\n}\n\nexport type ErrorFirstCallback<T> = (...args: [Error, null | undefined] | [null | undefined, T] | [Error]) => void;\n\nexport function reject(message?: string | Error): never {\n if (typeof message === \"string\" || message == undefined) {\n throw new Error(message ?? \"Undefined is not allowed\");\n } else {\n throw message;\n }\n}\n\ntype ArrayOfLength<TItem, TLength extends number, TRest extends TItem[] = []> = TRest extends { length: TLength }\n ? TRest\n : ArrayOfLength<TItem, TLength, [TItem, ...TRest]>;\n\nexport type MinLengthArray<TItem, TLength extends number, TRest extends TItem[] = []> = TRest extends {\n length: TLength;\n}\n ? [...TRest, ...TItem[]]\n : MinLengthArray<TItem, TLength, [...TRest, TItem]>;\n\nexport function isLengthGreaterThenOrEqual<T, TNum extends number>(\n items: readonly T[],\n minLength: TNum\n): items is MinLengthArray<T, TNum> {\n return items.length >= minLength;\n}\n\nexport function minLengthOrUndefined<T, TNum extends number>(\n items: T[],\n minLength: TNum\n): undefined | MinLengthArray<T, TNum> {\n if (isLengthGreaterThenOrEqual(items, minLength)) {\n return items;\n }\n return undefined;\n}\n\nexport function ensureIsArray<T>(items: unknown): T[] {\n if (!Array.isArray(items)) {\n throw new Error(`Must be an array!`);\n }\n return items as T[];\n}\n\nexport function arrayHasLength<T, TNum extends number>(\n items: readonly T[],\n length: TNum\n): items is ArrayOfLength<T, TNum> {\n return items.length === length;\n}\n\nexport function arrayIsNotEmpty<T>(items: readonly T[]): items is MinLengthArray<T, 1> {\n return items.length > 0;\n}\n\nexport function arrayHasAtLeastOneItem<T>(items: readonly T[]): items is MinLengthArray<T, 1> {\n return items.length > 0;\n}\n\nexport function ensureArrayIsNotEmpty<T>(items: readonly T[], message?: string): asserts items is MinLengthArray<T, 1> {\n if (!arrayIsNotEmpty(items)) {\n throw new Error(message ?? `Array must be not empty`);\n }\n}\n\nexport function ensureArrayHasLength<T, TNum extends number>(\n items: readonly T[],\n length: TNum\n): asserts items is ArrayOfLength<T, TNum> {\n if (!arrayHasLength(items, length)) {\n throw new Error(`Array should has length ${length}`);\n }\n}\n\nexport function ensureArrayLengthGreaterThenOrEqual<T, TNum extends number>(\n items: readonly T[],\n length: TNum\n): asserts items is ArrayOfLength<T, TNum> {\n if (!isLengthGreaterThenOrEqual(items, length)) {\n throw new Error(`Array must have minimal length ${length}`);\n }\n}\n\n// проверяет, что родительский тип находится в массиве дочерних\nexport const isOneOf = <Value, Item extends Value>(value: Value, array: Item[]): value is Item =>\n array.includes(value as Item);\n\nexport function ensureNever(_neverArgument: never): void {\n // noop\n}\n\nexport function ensureAndGetString(neverArgument: never): string {\n return `${neverArgument}`;\n}\n\nexport function runAsyncAction(action: () => Promise<void>): void {\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\n action();\n}\n\nexport function isNullOrEmpty(input: string | undefined): input is undefined {\n return input == undefined || input === \"\";\n}\n\nexport function isNotNullOrEmpty(input: string | undefined): input is string {\n return !isNullOrEmpty(input);\n}\n\nexport function isNullOrWhiteSpace(input: string | undefined | null): input is undefined | null {\n return input == undefined || input.trim() === \"\";\n}\n\nexport function trimLastSlash(url: string): string {\n return url.slice(-1) === \"/\" ? url.slice(0, -1) : url;\n}\n\nexport function assertIs<T>(_: T): void {\n // noop\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -21,6 +21,7 @@ var _FsUtils = require("../../../../Commons/FsUtils");
|
|
|
21
21
|
var _FormPathUtils = require("../../../../../../Common/FormPathUtils");
|
|
22
22
|
var _TypingUtils = require("../../../../../../Common/TypingUtils");
|
|
23
23
|
var _WellKnownDirectories = require("../../../../../../Common/WellKnownDirectories");
|
|
24
|
+
var _NotFoundWebError = require("../../../../Commons/HttpServer/AttributeRouting/NotFoundWebError");
|
|
24
25
|
var _ReportGeneratorErrorToPageBody = require("./ReportGeneratorErrorToPageBody");
|
|
25
26
|
var _RunFormCompilationViaWebpackDevServer = require("./RunFormCompilationViaWebpackDevServer");
|
|
26
27
|
var _WebpackHybridFileSystem = require("./WebpackInMemoryUtils/WebpackHybridFileSystem");
|
|
@@ -189,7 +190,7 @@ class BuildFormDevServer {
|
|
|
189
190
|
}
|
|
190
191
|
}
|
|
191
192
|
if (resultFileName === "") {
|
|
192
|
-
throw
|
|
193
|
+
throw new _NotFoundWebError.NotFoundWebError(`getGeneratedFileAsStream ${filename} not found`);
|
|
193
194
|
}
|
|
194
195
|
return new Promise((resolve, r) => {
|
|
195
196
|
var _this$webpackHybridFi3;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BuildFormDevServer.js","names":["path","_interopRequireWildcard","require","_stream","_https","_nodeFetch","_interopRequireDefault","_pLimit","_fsExtra","_GenerateForm","_AcquireFormGenerator","_PublishedVersionUtils","_ResolveFormInfo","_AsyncUtils","_Observe","_FsUtils","_FormPathUtils","_TypingUtils","_WellKnownDirectories","_ReportGeneratorErrorToPageBody","_RunFormCompilationViaWebpackDevServer","_WebpackHybridFileSystem","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","buildGfvToPathMap","repositoryRoots","result","Map","repositoryRoot","formPaths","globAsync","WellKnownDirectories","CandySubdirectoryName","cwd","formPath","gfv","extractGfvFromFormPath","join","BuildFormDevServer","constructor","port","allFarmConfig","candyModulesDirectory","farmConfigArray","useGeneratorFromLocalSources","engineDirectory","buildDebugOnly","skipCodeReformatting","nightly","farmDirectory","startParallelLimit","generateChain","webpackDevServerStarted","webpackHybridFileSystem","gfvPaths","undefined","pLimit","findFormPath","_this$gfvPaths","map","x","_this$gfvPaths$get","reject","normalize","formDirPath","allPossibleFilePath","pth","pathExists","Error","writeErrorInEntryAndShowInBrowser","_this$webpackHybridFi","formEntryPointPath","writeBatch","getReportGeneratorErrorToPageBodyScript","formatError","start","WebpackHybridFileSystem","Observe","file","FormJsonFileName","transform","formJsonFile","resolveFormInfo","generatorSource","resolveLocalGeneratorSource","engineSource","resolveLocalEngineSource","generatorVersion","engineVersion","resolveGeneratorVersion","resolveEngineVersion","attach","fi","generatorFactory","y","generator","getGeneratorSourceKey","files","formSourcesPath","do","FormsDirWithHlPath","find","generateForm","hlFarmDirectoryPath","resourcesHash","observe","runFormCompilationViaWebpackDevServer","getGeneratedFileAsStream","filename","delay","resultFileName","GeneratedFormSubdirectory","_this$webpackHybridFi2","statSync","Promise","resolve","_this$webpackHybridFi3","readFile","error","data","Readable","from","getFileAsStream","response","fetch","method","agent","Agent","rejectUnauthorized","compress","status","textResponse","text","buffer","stack","exports"],"sources":["../../../../../../../src/CLICommands/BuildServer/ResourcesControllers/DevServers/BuildFormDevServer.ts"],"sourcesContent":["import * as path from \"path\";\nimport { Readable } from \"stream\";\nimport { Agent } from \"https\";\n\nimport fetch from \"node-fetch\";\nimport pLimit, { Limit } from \"p-limit\";\nimport { FarmConfig } from \"Tools/src/CandyCLI\";\nimport { pathExists } from \"fs-extra\";\n\nimport { generateForm } from \"../../../../BuildTasks/Form/GenerateForm\";\nimport { generatorFactory, getGeneratorSourceKey } from \"../../../../BuildTasks/Generator/AcquireFormGenerator\";\nimport {\n resolveEngineVersion,\n resolveGeneratorVersion,\n resolveLocalEngineSource,\n resolveLocalGeneratorSource,\n} from \"../../../../BuildTasks/PublishedVersionUtils\";\nimport { resolveFormInfo } from \"../../../../BuildTasks/ResolveFormInfo\";\nimport { delay } from \"../../../../../../Common/AsyncUtils\";\nimport { ReasonOrError } from \"../../../../Commons/ErrorUntyped\";\nimport { ChainableValueProducer } from \"../../../../Commons/TasksCore/ChainableValueProducer\";\nimport { Observe } from \"../../../../Commons/TasksCore/Observe\";\nimport { globAsync } from \"../../../../Commons/FsUtils\";\nimport { extractGfvFromFormPath } from \"../../../../../../Common/FormPathUtils\";\nimport { reject } from \"../../../../../../Common/TypingUtils\";\nimport { WellKnownDirectories } from \"../../../../../../Common/WellKnownDirectories\";\n\nimport { getReportGeneratorErrorToPageBodyScript } from \"./ReportGeneratorErrorToPageBody\";\nimport { runFormCompilationViaWebpackDevServer } from \"./RunFormCompilationViaWebpackDevServer\";\nimport { WebpackHybridFileSystem } from \"./WebpackInMemoryUtils/WebpackHybridFileSystem\";\n\nasync function buildGfvToPathMap(repositoryRoots: string[]): Promise<Map<string, string>> {\n const result = new Map<string, string>();\n\n for (const repositoryRoot of repositoryRoots) {\n const formPaths = await globAsync(`forms/**/*/${WellKnownDirectories.CandySubdirectoryName}`, {\n cwd: repositoryRoot,\n });\n for (const formPath of formPaths) {\n const gfv = extractGfvFromFormPath(formPath);\n result.set(gfv, path.join(repositoryRoot, formPath));\n }\n }\n\n return result;\n}\n\nexport class BuildFormDevServer {\n private readonly port: number;\n private readonly allFarmConfig: string[];\n private readonly gfv: string;\n private readonly candyModulesDirectory: string;\n private farmDirectory: string;\n private formPath: string;\n private readonly farmConfigArray: FarmConfig[];\n private readonly startParallelLimit: Limit;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n private generateChain?: ChainableValueProducer<any>;\n private webpackDevServerStarted = false;\n private readonly useGeneratorFromLocalSources: boolean;\n private readonly engineDirectory: string;\n private readonly nightly: boolean;\n private readonly buildDebugOnly: boolean;\n private readonly skipCodeReformatting: boolean;\n private webpackHybridFileSystem?: WebpackHybridFileSystem;\n private gfvPaths: undefined | Map<string, string> = undefined;\n\n public constructor(\n port: number,\n allFarmConfig: string[],\n gfv: string,\n candyModulesDirectory: string,\n farmConfigArray: FarmConfig[],\n useGeneratorFromLocalSources: boolean,\n engineDirectory: string,\n buildDebugOnly: boolean,\n skipCodeReformatting: boolean,\n nightly: boolean\n ) {\n this.port = port;\n this.allFarmConfig = allFarmConfig;\n this.gfv = gfv;\n this.candyModulesDirectory = candyModulesDirectory;\n this.farmConfigArray = farmConfigArray;\n this.startParallelLimit = pLimit(1);\n this.useGeneratorFromLocalSources = useGeneratorFromLocalSources;\n this.engineDirectory = engineDirectory;\n this.buildDebugOnly = buildDebugOnly;\n this.skipCodeReformatting = skipCodeReformatting;\n this.nightly = nightly;\n this.farmDirectory = \"\";\n this.formPath = \"\";\n }\n\n private async findFormPath(gfv: string): Promise<{ formPath: string; farmDirectory: string }> {\n this.gfvPaths = this.gfvPaths ?? (await buildGfvToPathMap(this.allFarmConfig.map(x => path.join(x, \"..\"))));\n\n if (this.gfvPaths.has(gfv)) {\n const formPath = this.gfvPaths.get(gfv) ?? reject();\n return {\n formPath: formPath ?? reject(),\n farmDirectory: path.normalize(path.join(formPath, \"..\", \"..\", \"..\", \"..\", \"..\", \"candy.farm\")),\n };\n }\n\n let farmDirectory: string | undefined;\n let formDirPath = \"\";\n\n const allPossibleFilePath = this.allFarmConfig.map(i => path.join(i, \"forms\", this.gfv));\n for (const pth of allPossibleFilePath) {\n if (await pathExists(pth)) {\n formDirPath = pth;\n farmDirectory = path.join(pth, \"..\", \"..\");\n break;\n }\n }\n\n if (formDirPath === \"\") {\n throw Error(\"formDirPath not found\");\n }\n if (farmDirectory == undefined || !(await pathExists(farmDirectory))) {\n throw Error(`FarmDirectory = ${this.farmDirectory} not exist`);\n }\n return {\n formPath: formDirPath,\n farmDirectory: farmDirectory,\n };\n }\n\n private async writeErrorInEntryAndShowInBrowser(e: unknown) {\n const formEntryPointPath = path.join(this.formPath, \"form\", \"web.js\");\n await this.webpackHybridFileSystem?.writeBatch({\n [formEntryPointPath]: getReportGeneratorErrorToPageBodyScript(this.formatError(e)),\n });\n }\n\n public start(): Promise<void> {\n return this.startParallelLimit(async () => {\n if (this.generateChain != undefined) {\n return;\n }\n\n const { formPath, farmDirectory } = await this.findFormPath(this.gfv);\n this.farmDirectory = farmDirectory;\n this.formPath = formPath;\n this.webpackHybridFileSystem = new WebpackHybridFileSystem(path.join(this.formPath, \"form\"));\n\n this.generateChain = Observe.file(path.join(this.formPath, WellKnownDirectories.FormJsonFileName))\n .transform(formJsonFile =>\n resolveFormInfo(\n formJsonFile,\n this.formPath,\n undefined,\n undefined,\n undefined,\n undefined,\n undefined,\n this.nightly\n )\n )\n .transform(async x => {\n if (this.useGeneratorFromLocalSources) {\n return {\n ...x,\n generatorSource: resolveLocalGeneratorSource(this.engineDirectory),\n engineSource: resolveLocalEngineSource(this.engineDirectory),\n };\n } else {\n if (x.generatorVersion == undefined) {\n throw new Error(\"generatorVersion is no defined\");\n }\n if (x.engineVersion == undefined) {\n throw new Error(\"engineVersion is no defined\");\n }\n return {\n ...x,\n generatorSource: await resolveGeneratorVersion(x.generatorVersion),\n engineSource: await resolveEngineVersion(x.engineVersion),\n };\n }\n })\n .attach(\n async fi => generatorFactory(fi.generatorSource, this.candyModulesDirectory, false, undefined),\n async (fi, y) => ({ ...fi, generator: y }),\n async fi => getGeneratorSourceKey(fi.generatorSource)\n )\n .attach(async fi =>\n Observe.files(\n fi.formSourcesPath,\n \"../../controls/**/generator/*\",\n `./${WellKnownDirectories.FormJsonFileName}`,\n \"schemas/**/*\",\n \"sugar/**/*\",\n \"controls/**/*\",\n \"autocalc/**/*\",\n \"helpers/**/*\",\n \"normalizers/**/*\",\n \"validations/**/*\",\n \"localization/**/*\"\n )\n )\n .do(async fi => {\n try {\n const FormsDirWithHlPath = this.farmConfigArray.find(i => i.farmDirectory == farmDirectory);\n if (FormsDirWithHlPath == undefined) {\n throw Error(\"FormsDirWithHlPath === undefined\");\n }\n await generateForm(\n fi.formSourcesPath,\n this.farmDirectory,\n FormsDirWithHlPath.hlFarmDirectoryPath,\n fi.generator,\n undefined,\n {\n skipCodeReformatting: this.skipCodeReformatting,\n resourcesHash: \"local-hash\",\n },\n this.webpackHybridFileSystem\n );\n } catch (e) {\n await this.writeErrorInEntryAndShowInBrowser(e);\n }\n });\n try {\n await this.generateChain.observe();\n } catch (e) {\n await this.writeErrorInEntryAndShowInBrowser(e);\n }\n\n await runFormCompilationViaWebpackDevServer(\n this.gfv,\n this.formPath,\n path.join(this.farmDirectory, \"res\"),\n \"local-hash\",\n this.buildDebugOnly,\n this.webpackHybridFileSystem,\n this.port\n );\n this.webpackDevServerStarted = true;\n });\n }\n\n public async getGeneratedFileAsStream(filename: string): Promise<NodeJS.ReadableStream> {\n while (!this.webpackDevServerStarted) {\n await delay(500);\n }\n let resultFileName = \"\";\n const formPath = await this.findFormPath(this.gfv);\n const allPossibleFilePath = [\n path.join(formPath.formPath, WellKnownDirectories.GeneratedFormSubdirectory, filename),\n ];\n for (const pth of allPossibleFilePath) {\n try {\n if (this.webpackHybridFileSystem?.statSync(pth)) {\n resultFileName = pth;\n break;\n }\n } catch {\n continue;\n }\n }\n if (resultFileName === \"\") {\n throw Error(`getGeneratedFileAsStream ${filename} not found`);\n }\n\n return new Promise((resolve, r) => {\n this.webpackHybridFileSystem?.readFile(resultFileName, \"utf-8\", (error, data) => {\n if (error) {\n r(error);\n } else {\n resolve(Readable.from([data]));\n }\n });\n });\n }\n\n public async getFileAsStream(filename: string): Promise<NodeJS.ReadableStream> {\n while (!this.webpackDevServerStarted) {\n await delay(500);\n }\n const response = await fetch(`https://localhost:${this.port}/${filename}`, {\n method: \"GET\",\n agent: new Agent({ rejectUnauthorized: false }),\n compress: true,\n });\n if (response.status != 200) {\n const textResponse = await response.text();\n throw new Error(textResponse);\n }\n const buffer = await response.buffer();\n return Readable.from(buffer);\n }\n\n private formatError(e: ReasonOrError): string {\n if (e instanceof Error) {\n return `${e}\\n${e.stack}`;\n }\n return `${e}`;\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"BuildFormDevServer.js","names":["path","_interopRequireWildcard","require","_stream","_https","_nodeFetch","_interopRequireDefault","_pLimit","_fsExtra","_GenerateForm","_AcquireFormGenerator","_PublishedVersionUtils","_ResolveFormInfo","_AsyncUtils","_Observe","_FsUtils","_FormPathUtils","_TypingUtils","_WellKnownDirectories","_NotFoundWebError","_ReportGeneratorErrorToPageBody","_RunFormCompilationViaWebpackDevServer","_WebpackHybridFileSystem","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","buildGfvToPathMap","repositoryRoots","result","Map","repositoryRoot","formPaths","globAsync","WellKnownDirectories","CandySubdirectoryName","cwd","formPath","gfv","extractGfvFromFormPath","join","BuildFormDevServer","constructor","port","allFarmConfig","candyModulesDirectory","farmConfigArray","useGeneratorFromLocalSources","engineDirectory","buildDebugOnly","skipCodeReformatting","nightly","farmDirectory","startParallelLimit","generateChain","webpackDevServerStarted","webpackHybridFileSystem","gfvPaths","undefined","pLimit","findFormPath","_this$gfvPaths","map","x","_this$gfvPaths$get","reject","normalize","formDirPath","allPossibleFilePath","pth","pathExists","Error","writeErrorInEntryAndShowInBrowser","_this$webpackHybridFi","formEntryPointPath","writeBatch","getReportGeneratorErrorToPageBodyScript","formatError","start","WebpackHybridFileSystem","Observe","file","FormJsonFileName","transform","formJsonFile","resolveFormInfo","generatorSource","resolveLocalGeneratorSource","engineSource","resolveLocalEngineSource","generatorVersion","engineVersion","resolveGeneratorVersion","resolveEngineVersion","attach","fi","generatorFactory","y","generator","getGeneratorSourceKey","files","formSourcesPath","do","FormsDirWithHlPath","find","generateForm","hlFarmDirectoryPath","resourcesHash","observe","runFormCompilationViaWebpackDevServer","getGeneratedFileAsStream","filename","delay","resultFileName","GeneratedFormSubdirectory","_this$webpackHybridFi2","statSync","NotFoundWebError","Promise","resolve","_this$webpackHybridFi3","readFile","error","data","Readable","from","getFileAsStream","response","fetch","method","agent","Agent","rejectUnauthorized","compress","status","textResponse","text","buffer","stack","exports"],"sources":["../../../../../../../src/CLICommands/BuildServer/ResourcesControllers/DevServers/BuildFormDevServer.ts"],"sourcesContent":["import * as path from \"path\";\nimport { Readable } from \"stream\";\nimport { Agent } from \"https\";\n\nimport fetch from \"node-fetch\";\nimport pLimit, { Limit } from \"p-limit\";\nimport { FarmConfig } from \"Tools/src/CandyCLI\";\nimport { pathExists } from \"fs-extra\";\n\nimport { generateForm } from \"../../../../BuildTasks/Form/GenerateForm\";\nimport { generatorFactory, getGeneratorSourceKey } from \"../../../../BuildTasks/Generator/AcquireFormGenerator\";\nimport {\n resolveEngineVersion,\n resolveGeneratorVersion,\n resolveLocalEngineSource,\n resolveLocalGeneratorSource,\n} from \"../../../../BuildTasks/PublishedVersionUtils\";\nimport { resolveFormInfo } from \"../../../../BuildTasks/ResolveFormInfo\";\nimport { delay } from \"../../../../../../Common/AsyncUtils\";\nimport { ReasonOrError } from \"../../../../Commons/ErrorUntyped\";\nimport { ChainableValueProducer } from \"../../../../Commons/TasksCore/ChainableValueProducer\";\nimport { Observe } from \"../../../../Commons/TasksCore/Observe\";\nimport { globAsync } from \"../../../../Commons/FsUtils\";\nimport { extractGfvFromFormPath } from \"../../../../../../Common/FormPathUtils\";\nimport { reject } from \"../../../../../../Common/TypingUtils\";\nimport { WellKnownDirectories } from \"../../../../../../Common/WellKnownDirectories\";\nimport { NotFoundWebError } from \"../../../../Commons/HttpServer/AttributeRouting/NotFoundWebError\";\n\nimport { getReportGeneratorErrorToPageBodyScript } from \"./ReportGeneratorErrorToPageBody\";\nimport { runFormCompilationViaWebpackDevServer } from \"./RunFormCompilationViaWebpackDevServer\";\nimport { WebpackHybridFileSystem } from \"./WebpackInMemoryUtils/WebpackHybridFileSystem\";\n\nasync function buildGfvToPathMap(repositoryRoots: string[]): Promise<Map<string, string>> {\n const result = new Map<string, string>();\n\n for (const repositoryRoot of repositoryRoots) {\n const formPaths = await globAsync(`forms/**/*/${WellKnownDirectories.CandySubdirectoryName}`, {\n cwd: repositoryRoot,\n });\n for (const formPath of formPaths) {\n const gfv = extractGfvFromFormPath(formPath);\n result.set(gfv, path.join(repositoryRoot, formPath));\n }\n }\n\n return result;\n}\n\nexport class BuildFormDevServer {\n private readonly port: number;\n private readonly allFarmConfig: string[];\n private readonly gfv: string;\n private readonly candyModulesDirectory: string;\n private farmDirectory: string;\n private formPath: string;\n private readonly farmConfigArray: FarmConfig[];\n private readonly startParallelLimit: Limit;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n private generateChain?: ChainableValueProducer<any>;\n private webpackDevServerStarted = false;\n private readonly useGeneratorFromLocalSources: boolean;\n private readonly engineDirectory: string;\n private readonly nightly: boolean;\n private readonly buildDebugOnly: boolean;\n private readonly skipCodeReformatting: boolean;\n private webpackHybridFileSystem?: WebpackHybridFileSystem;\n private gfvPaths: undefined | Map<string, string> = undefined;\n\n public constructor(\n port: number,\n allFarmConfig: string[],\n gfv: string,\n candyModulesDirectory: string,\n farmConfigArray: FarmConfig[],\n useGeneratorFromLocalSources: boolean,\n engineDirectory: string,\n buildDebugOnly: boolean,\n skipCodeReformatting: boolean,\n nightly: boolean\n ) {\n this.port = port;\n this.allFarmConfig = allFarmConfig;\n this.gfv = gfv;\n this.candyModulesDirectory = candyModulesDirectory;\n this.farmConfigArray = farmConfigArray;\n this.startParallelLimit = pLimit(1);\n this.useGeneratorFromLocalSources = useGeneratorFromLocalSources;\n this.engineDirectory = engineDirectory;\n this.buildDebugOnly = buildDebugOnly;\n this.skipCodeReformatting = skipCodeReformatting;\n this.nightly = nightly;\n this.farmDirectory = \"\";\n this.formPath = \"\";\n }\n\n private async findFormPath(gfv: string): Promise<{ formPath: string; farmDirectory: string }> {\n this.gfvPaths = this.gfvPaths ?? (await buildGfvToPathMap(this.allFarmConfig.map(x => path.join(x, \"..\"))));\n\n if (this.gfvPaths.has(gfv)) {\n const formPath = this.gfvPaths.get(gfv) ?? reject();\n return {\n formPath: formPath ?? reject(),\n farmDirectory: path.normalize(path.join(formPath, \"..\", \"..\", \"..\", \"..\", \"..\", \"candy.farm\")),\n };\n }\n\n let farmDirectory: string | undefined;\n let formDirPath = \"\";\n\n const allPossibleFilePath = this.allFarmConfig.map(i => path.join(i, \"forms\", this.gfv));\n for (const pth of allPossibleFilePath) {\n if (await pathExists(pth)) {\n formDirPath = pth;\n farmDirectory = path.join(pth, \"..\", \"..\");\n break;\n }\n }\n\n if (formDirPath === \"\") {\n throw Error(\"formDirPath not found\");\n }\n if (farmDirectory == undefined || !(await pathExists(farmDirectory))) {\n throw Error(`FarmDirectory = ${this.farmDirectory} not exist`);\n }\n return {\n formPath: formDirPath,\n farmDirectory: farmDirectory,\n };\n }\n\n private async writeErrorInEntryAndShowInBrowser(e: unknown) {\n const formEntryPointPath = path.join(this.formPath, \"form\", \"web.js\");\n await this.webpackHybridFileSystem?.writeBatch({\n [formEntryPointPath]: getReportGeneratorErrorToPageBodyScript(this.formatError(e)),\n });\n }\n\n public start(): Promise<void> {\n return this.startParallelLimit(async () => {\n if (this.generateChain != undefined) {\n return;\n }\n\n const { formPath, farmDirectory } = await this.findFormPath(this.gfv);\n this.farmDirectory = farmDirectory;\n this.formPath = formPath;\n this.webpackHybridFileSystem = new WebpackHybridFileSystem(path.join(this.formPath, \"form\"));\n\n this.generateChain = Observe.file(path.join(this.formPath, WellKnownDirectories.FormJsonFileName))\n .transform(formJsonFile =>\n resolveFormInfo(\n formJsonFile,\n this.formPath,\n undefined,\n undefined,\n undefined,\n undefined,\n undefined,\n this.nightly\n )\n )\n .transform(async x => {\n if (this.useGeneratorFromLocalSources) {\n return {\n ...x,\n generatorSource: resolveLocalGeneratorSource(this.engineDirectory),\n engineSource: resolveLocalEngineSource(this.engineDirectory),\n };\n } else {\n if (x.generatorVersion == undefined) {\n throw new Error(\"generatorVersion is no defined\");\n }\n if (x.engineVersion == undefined) {\n throw new Error(\"engineVersion is no defined\");\n }\n return {\n ...x,\n generatorSource: await resolveGeneratorVersion(x.generatorVersion),\n engineSource: await resolveEngineVersion(x.engineVersion),\n };\n }\n })\n .attach(\n async fi => generatorFactory(fi.generatorSource, this.candyModulesDirectory, false, undefined),\n async (fi, y) => ({ ...fi, generator: y }),\n async fi => getGeneratorSourceKey(fi.generatorSource)\n )\n .attach(async fi =>\n Observe.files(\n fi.formSourcesPath,\n \"../../controls/**/generator/*\",\n `./${WellKnownDirectories.FormJsonFileName}`,\n \"schemas/**/*\",\n \"sugar/**/*\",\n \"controls/**/*\",\n \"autocalc/**/*\",\n \"helpers/**/*\",\n \"normalizers/**/*\",\n \"validations/**/*\",\n \"localization/**/*\"\n )\n )\n .do(async fi => {\n try {\n const FormsDirWithHlPath = this.farmConfigArray.find(i => i.farmDirectory == farmDirectory);\n if (FormsDirWithHlPath == undefined) {\n throw Error(\"FormsDirWithHlPath === undefined\");\n }\n await generateForm(\n fi.formSourcesPath,\n this.farmDirectory,\n FormsDirWithHlPath.hlFarmDirectoryPath,\n fi.generator,\n undefined,\n {\n skipCodeReformatting: this.skipCodeReformatting,\n resourcesHash: \"local-hash\",\n },\n this.webpackHybridFileSystem\n );\n } catch (e) {\n await this.writeErrorInEntryAndShowInBrowser(e);\n }\n });\n try {\n await this.generateChain.observe();\n } catch (e) {\n await this.writeErrorInEntryAndShowInBrowser(e);\n }\n\n await runFormCompilationViaWebpackDevServer(\n this.gfv,\n this.formPath,\n path.join(this.farmDirectory, \"res\"),\n \"local-hash\",\n this.buildDebugOnly,\n this.webpackHybridFileSystem,\n this.port\n );\n this.webpackDevServerStarted = true;\n });\n }\n\n public async getGeneratedFileAsStream(filename: string): Promise<NodeJS.ReadableStream> {\n while (!this.webpackDevServerStarted) {\n await delay(500);\n }\n let resultFileName = \"\";\n const formPath = await this.findFormPath(this.gfv);\n const allPossibleFilePath = [\n path.join(formPath.formPath, WellKnownDirectories.GeneratedFormSubdirectory, filename),\n ];\n for (const pth of allPossibleFilePath) {\n try {\n if (this.webpackHybridFileSystem?.statSync(pth)) {\n resultFileName = pth;\n break;\n }\n } catch {\n continue;\n }\n }\n if (resultFileName === \"\") {\n throw new NotFoundWebError(`getGeneratedFileAsStream ${filename} not found`);\n }\n\n return new Promise((resolve, r) => {\n this.webpackHybridFileSystem?.readFile(resultFileName, \"utf-8\", (error, data) => {\n if (error) {\n r(error);\n } else {\n resolve(Readable.from([data]));\n }\n });\n });\n }\n\n public async getFileAsStream(filename: string): Promise<NodeJS.ReadableStream> {\n while (!this.webpackDevServerStarted) {\n await delay(500);\n }\n const response = await fetch(`https://localhost:${this.port}/${filename}`, {\n method: \"GET\",\n agent: new Agent({ rejectUnauthorized: false }),\n compress: true,\n });\n if (response.status != 200) {\n const textResponse = await response.text();\n throw new Error(textResponse);\n }\n const buffer = await response.buffer();\n return Readable.from(buffer);\n }\n\n private formatError(e: ReasonOrError): string {\n if (e instanceof Error) {\n return `${e}\\n${e.stack}`;\n }\n return `${e}`;\n }\n}\n"],"mappings":"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","ignoreList":[]}
|