UNPKG

@adyen/adyen-platform-experience-web

Version:

![Platform Experience header](https://github.com/Adyen/adyen-platform-experience-web/assets/7926613/18094965-9e01-450e-8dc9-ea84e6b22c2b)

1 lines 1.43 MB
{"version":3,"file":"index-DbNUA_xB.cjs","sources":["../src/core/utils.ts","../src/utils/common.ts","../src/utils/value/is.ts","../src/utils/value/number.ts","../src/utils/abort/constants.ts","../src/utils/value/bool.ts","../src/utils/struct/property.ts","../src/utils/value/compare.ts","../src/utils/abort/internals.ts","../src/utils/abort/main.ts","../src/utils/value/constants.ts","../src/utils/async/constants.ts","../src/utils/async/main.ts","../src/utils/collection/main.ts","../src/utils/datetime/main.ts","../src/utils/random/uniqueId.ts","../src/utils/random/uuid.ts","../src/utils/struct/main.ts","../src/utils/value/string.ts","../src/core/ConfigContext/session/constants.ts","../src/core/Errors/AdyenPlatformExperienceError.ts","../src/core/Http/utils.ts","../src/primitives/async/abortable/main.ts","../src/primitives/async/deferred/main.ts","../src/primitives/async/promisor/main.ts","../src/core/ConfigContext/session/SetupContext.ts","../src/primitives/context/session/constants.ts","../src/primitives/context/session/internal/constants.ts","../src/primitives/context/session/internal/autofresher.ts","../src/primitives/time/interval/constants.ts","../src/primitives/time/interval/main.ts","../src/primitives/reactive/watchlist/helpers.ts","../src/primitives/reactive/watchlist/constants.ts","../src/primitives/reactive/watchlist/main.ts","../src/primitives/time/clock/main.ts","../src/primitives/reactive/eventEmitter/main.ts","../src/primitives/context/session/internal/deadline.ts","../src/primitives/context/session/internal/refresher.ts","../src/primitives/context/session/SessionContext.ts","../src/core/Http/constants.ts","../src/core/Http/http.ts","../src/core/ConfigContext/session/AuthSessionSpecification.ts","../src/primitives/auxiliary/errorContainer/main.ts","../src/core/ConfigContext/session/AuthSession.ts","../src/translations/index.ts","../src/core/Localization/constants/localization.ts","../src/core/Localization/constants/currency-codes.ts","../src/core/Localization/constants/currency-decimals.ts","../src/core/Localization/amount/amount-util.ts","../src/core/Localization/datetime/restamper/constants.ts","../src/core/Localization/datetime/restamper/utils.ts","../src/core/Localization/datetime/restamper/restamper.ts","../src/core/Localization/utils.ts","../src/core/Localization/localization-utils.ts","../src/core/Localization/Localization.ts","../src/core/core.ts","../node_modules/preact/dist/preact.module.js","../node_modules/preact/jsx-runtime/dist/jsxRuntime.module.js","../node_modules/preact/hooks/dist/hooks.module.js","../src/components/internal/Typography/constants.ts","../src/components/internal/Typography/types.ts","../node_modules/preact/compat/dist/compat.module.js","../src/components/internal/Typography/Typography.tsx","../src/core/Context/CoreContext.ts","../src/core/Context/useCoreContext.ts","../src/images/no-results.svg","../src/utils/preact/fixedForwardRef.ts","../src/utils/preact/memoComparator/main.ts","../src/utils/preact/className.ts","../src/utils/preact/props.ts","../src/components/internal/Button/constants.ts","../src/components/internal/Spinner/Spinner.tsx","../src/components/internal/Button/hooks/useButton.tsx","../src/components/internal/Button/types.ts","../src/components/internal/Button/Button.tsx","../src/components/internal/ErrorMessageDisplay/ErrorMessageDisplay.tsx","../src/core/ConfigContext/session/utils/sessionAwareComponentAvailability/helpers/componentAvailabilityRegistry.ts","../src/core/ConfigContext/session/utils/sessionReady.ts","../src/core/ConfigContext/session/utils/sessionAwareComponentAvailability/sessionAwareComponentAvailability.ts","../src/core/ConfigContext/session/utils/sessionAwareComponentAvailability/helpers/componentAvailabilityErrors.ts","../src/core/ConfigContext/context.tsx","../src/hooks/useBooleanState.ts","../src/core/Context/CoreProvider.tsx","../src/components/external/BaseElement.ts","../src/components/external/UIElement/UIElement.tsx","../src/hooks/useFetch.ts","../src/components/internal/SVGIcons/ChevronDown.tsx","../src/components/internal/SVGIcons/ChevronUp.tsx","../src/components/internal/Accordion/constants.ts","../src/components/internal/Accordion/Accordion.tsx","../src/components/internal/Card/constants.ts","../src/components/internal/Card/Card.tsx","../src/constants/dateFormats.ts","../src/constants/index.ts","../src/components/internal/StructuredList/constants.ts","../src/components/internal/StructuredList/useStructuredListItem.ts","../src/components/internal/StructuredList/StructuredList.tsx","../src/components/internal/DataOverviewDetails/constants.ts","../src/components/internal/DataOverviewDetails/DataOverviewDetailsSkeleton.tsx","../src/hooks/useTimezoneAwareDateFormatting.ts","../src/components/external/PayoutDetails/components/constants.ts","../src/components/internal/Tag/types.ts","../src/components/internal/Tag/Tag.tsx","../src/components/internal/Icon/Icon.tsx","../src/components/internal/Link/Link.tsx","../src/components/internal/DataGrid/components/Icon.tsx","../src/components/internal/DataGrid/hooks/useDataGridContext.ts","../src/components/internal/DataGrid/DataGridCell.tsx","../src/components/internal/DataGrid/components/TableCells.tsx","../src/components/internal/Button/ButtonActions/types.ts","../src/components/internal/Button/ButtonActions/ButtonActions.tsx","../src/components/external/PayoutDetails/components/PayoutData.tsx","../src/components/internal/Alert/types.ts","../src/components/internal/Alert/AlertIcon.tsx","../src/components/internal/Alert/Alert.tsx","../src/components/external/TransactionDetails/context/types.ts","../src/components/external/TransactionDetails/context/details/context.tsx","../src/components/external/TransactionDetails/context/constants.ts","../src/components/external/TransactionDetails/context/refund/hooks/useRefundAction.tsx","../src/components/external/TransactionDetails/context/refund/hooks/useRefundContextActions.ts","../src/components/external/TransactionDetails/context/refund/hooks/useRefundContextAmount.ts","../src/components/external/TransactionDetails/context/refund/helpers.ts","../src/components/external/TransactionDetails/context/refund/hooks/useRefundContextLineItems.ts","../src/components/external/TransactionDetails/context/refund/hooks/useRefundContextReason.ts","../src/hooks/useMutation/useMutation.ts","../src/components/external/TransactionDetails/context/refund/context.tsx","../src/components/external/TransactionDetails/hooks/useTransaction/transactionNavigator/createDuplexTransactionNavigator.ts","../src/components/external/TransactionDetails/hooks/useTransaction/useTransaction.ts","../src/components/external/TransactionDetails/hooks/useTransactionRefundMetadata/helpers.ts","../src/components/external/TransactionDetails/hooks/useTransactionRefundMetadata/useTransactionRefundMetadata.ts","../src/components/internal/Popover/constants.ts","../src/components/internal/Popover/PopoverDismissButton/PopoverDismissButton.tsx","../src/components/internal/Popover/PopoverTitle/PopoverTitle.tsx","../src/components/internal/Popover/types.ts","../src/components/types.ts","../src/components/internal/Popover/utils/popoverUtil.ts","../src/primitives/reactive/reflex/constants.ts","../src/primitives/reactive/reflex/errors.ts","../src/primitives/reactive/reflex/helpers.ts","../src/primitives/reactive/reflex/register.ts","../src/primitives/reactive/reflex/main.ts","../src/hooks/useReflex.ts","../src/hooks/element/useClickOutside.ts","../src/primitives/dom/tabbableRoot/tabbable.ts","../src/hooks/element/useFocusTrap.ts","../src/components/internal/Popover/utils/utils.ts","../src/hooks/element/usePopoverPositioner.ts","../src/hooks/element/useUniqueIdentifier.ts","../src/components/internal/Popover/Popover.tsx","../src/components/internal/Tooltip/useTooltipListeners.ts","../src/components/internal/Tooltip/Tooltip.tsx","../src/components/external/TransactionsOverview/components/Category/Category.tsx","../src/components/utils/getCommonErrorCode.ts","../src/components/internal/CopyText/CopyText.tsx","../src/components/utils/getErrorMessage.tsx","../src/components/internal/DataOverviewError/DataOverviewError.tsx","../src/components/internal/DataGrid/components/TableBody.tsx","../src/components/internal/DataGrid/hooks/useInteractiveDataGrid.ts","../src/components/internal/DataGrid/components/InteractiveBody.tsx","../src/components/internal/DataGrid/components/SkeletonBody.tsx","../src/images/no-data-female.svg","../src/components/internal/DataGrid/utils/DataGridProvider.tsx","../src/components/internal/DataGrid/components/TableHeaderCell.tsx","../src/components/internal/DataGrid/DataGrid.tsx","../src/core/Errors/constants.ts","../src/hooks/useCommitAction/types.ts","../src/hooks/useCommitAction/useCommitAction.ts","../src/components/internal/Img/Img.tsx","../src/components/internal/FormFields/Select/constants.ts","../src/components/internal/FormFields/Select/components/SelectButton.tsx","../src/hooks/useContainerQuery.ts","../src/hooks/useResponsiveContainer.ts","../src/components/internal/SVGIcons/CheckedBox.tsx","../src/components/internal/SVGIcons/UncheckedBox.tsx","../src/components/internal/SVGIcons/Checkmark.tsx","../src/components/internal/FormFields/Select/components/SelectListItem.tsx","../src/components/internal/FormFields/Select/components/SelectList.tsx","../src/components/internal/FormFields/Select/hooks/useSelect.ts","../src/components/internal/FormFields/Select/Select.tsx","../src/components/internal/SVGIcons/ChevronLeft.tsx","../src/components/internal/SVGIcons/ChevronRight.tsx","../src/components/internal/Pagination/Pagination.tsx","../src/components/external/TransactionsOverview/components/TransactionsTable/constants.ts","../src/hooks/useImageUrl.ts","../src/components/internal/Image/Image.tsx","../src/components/external/TransactionsOverview/components/utils.ts","../src/components/external/TransactionsOverview/components/TransactionsTable/PaymentMethodCell.tsx","../src/components/utils/getLabel.ts","../src/hooks/useTableColumns.ts","../src/components/external/TransactionsOverview/components/TransactionsTable/TransactionsTable.tsx","../src/components/external/TransactionDetails/components/constants.ts","../src/components/external/TransactionDetails/components/details/TransactionDataProperties.tsx","../src/components/external/TransactionDetails/components/details/TransactionDetailsDataContainer.tsx","../src/components/external/TransactionDetails/components/utils.ts","../src/components/external/TransactionDetails/components/details/TransactionStatusBox.tsx","../src/components/internal/SVGIcons/CloseCircle.tsx","../src/components/internal/FormFields/InputBase.tsx","../src/components/external/TransactionDetails/components/refund/TransactionRefundAmount.tsx","../src/components/external/TransactionDetails/components/refund/TransactionRefundNotice.tsx","../src/components/external/TransactionDetails/components/refund/TransactionRefundReason.tsx","../src/components/external/TransactionDetails/components/TransactionData/TransactionDataContent.tsx","../src/components/external/TransactionDetails/components/TransactionData/TransactionData.tsx","../src/hooks/useBalanceAccounts.ts","../src/components/internal/Modal/Modal.tsx","../src/components/internal/DataOverviewDetails/useDataOverviewDetailsTitle.ts","../src/components/external/PayoutsOverview/components/PayoutsTable/constants.ts","../src/components/external/PayoutsOverview/components/PayoutsTable/PayoutsTable.tsx","../src/components/internal/DataOverviewDetails/DataOverviewDetails.tsx","../src/components/external/PayoutDetails/PayoutDetails.tsx","../src/components/internal/DataOverviewContainer/constants.ts","../src/components/internal/DataOverviewContainer/DataOverviewContainer.tsx","../src/components/external/PayoutsOverview/components/PayoutsOverview/constants.ts","../src/components/internal/FilterBar/FilterBar.tsx","../src/components/internal/FormFields/Select/BalanceAccountSelector/BalanceAccountSelector.tsx","../src/components/internal/Pagination/constants.ts","../src/components/internal/Pagination/utils.ts","../src/components/internal/Pagination/hooks/usePageLimit.ts","../src/hooks/useMounted.ts","../src/components/internal/Pagination/hooks/usePagination.ts","../src/components/internal/Pagination/hooks/useCursorPagination.ts","../src/components/internal/Pagination/hooks/useOffsetPagination.ts","../src/hooks/useReactiveState/useReactiveState.ts","../src/components/internal/Pagination/hooks/usePaginatedRecordsFilters.ts","../src/components/internal/Pagination/types.ts","../src/components/internal/Pagination/hooks/usePaginatedRecords.ts","../src/components/internal/Pagination/hooks/useCursorPaginatedRecords.ts","../src/hooks/useBalanceAccountSelection.ts","../src/components/internal/Calendar/hooks/useTimezone.ts","../src/components/internal/Calendar/calendar/timerange/utils.ts","../src/components/internal/Calendar/calendar/timerange/factory.ts","../src/components/internal/Calendar/calendar/utils.ts","../src/components/internal/Calendar/calendar/timerange/presets/shared/offsetWeek.ts","../src/components/internal/Calendar/calendar/timerange/presets/shared/offsetMonth.ts","../src/components/internal/Calendar/calendar/timerange/presets/lastMonth.ts","../src/components/internal/Calendar/calendar/timerange/presets/lastNDays.ts","../src/components/internal/Calendar/calendar/timerange/presets/lastWeek.ts","../src/components/internal/Calendar/calendar/timerange/presets/thisMonth.ts","../src/components/internal/Calendar/calendar/timerange/presets/thisWeek.ts","../src/components/internal/Calendar/calendar/timerange/presets/yearToDate.ts","../src/components/internal/DatePicker/components/TimeRangeSelector/useTimeRangeSelection.ts","../src/components/internal/DatePicker/components/TimeRangeSelector/TimeRangeSelector.tsx","../src/components/internal/Calendar/components/CalendarGrid/utils.ts","../src/components/internal/Calendar/types.ts","../src/components/internal/Calendar/components/CalendarGrid/CalendarGridDate.tsx","../src/components/internal/Calendar/components/CalendarGrid/CalendarGridDayOfWeek.tsx","../src/components/internal/Calendar/components/CalendarGrid/CalendarGrid.tsx","../src/components/internal/Calendar/calendar/constants.ts","../src/components/internal/Calendar/calendar/timeframe/common/utils.ts","../src/components/internal/Calendar/calendar/timeslice/TimeSlice.ts","../src/components/internal/Calendar/calendar/timeslice/index.ts","../src/components/internal/Calendar/calendar/types.ts","../src/components/internal/Calendar/calendar/timeframe/common/flags.ts","../src/primitives/auxiliary/indexed/helpers.ts","../src/primitives/auxiliary/indexed/main.ts","../src/primitives/time/today/main.ts","../src/components/internal/Calendar/calendar/timeframe/frames/TimeFrame.ts","../src/components/internal/Calendar/calendar/timeframe/frames/MonthFrame.ts","../src/primitives/reactive/effectStack/main.ts","../src/components/internal/Calendar/calendar/facade/Calendar.ts","../src/components/internal/Calendar/calendar/facade/index.ts","../src/components/internal/Calendar/components/CalendarControls/CalendarControls.tsx","../src/hooks/element/useFocusCursor.ts","../src/components/internal/Calendar/hooks/useCalendar.ts","../src/components/internal/Calendar/Calendar.tsx","../src/hooks/element/useDetachedRender.ts","../src/components/internal/Calendar/hooks/useCalendarControlsRendering.tsx","../src/components/internal/DatePicker/DatePicker.tsx","../src/components/internal/FilterBar/components/FilterButton/FilterButton.tsx","../src/components/internal/FormFields/InputText.tsx","../src/components/internal/FilterBar/filters/BaseFilter/BaseFilter.tsx","../src/components/internal/FilterBar/filters/DateFilter/types.ts","../src/components/internal/FilterBar/filters/DateFilter/DateFilterCore.tsx","../src/components/internal/FilterBar/filters/DateFilter/DateFilter.tsx","../src/hooks/useModalDetails/types.ts","../src/hooks/useModalDetails/useModalDetails.ts","../src/components/external/TransactionsOverview/components/MultiSelectionFilter/MultiSelectionFilter.tsx","../src/components/external/TransactionsOverview/components/MultiSelectionFilter/useMultiSelectionFilter/utils.ts","../src/components/external/TransactionsOverview/components/MultiSelectionFilter/useMultiSelectionFilter/useMultiSelectionFilter.ts","../src/components/external/TransactionsOverview/components/MultiSelectionFilter/useMultiSelectionFilter/constants.ts","../src/hooks/useDefaultOverviewFilterParams.ts","../src/components/internal/DataOverviewDisplay/DataOverviewHeader/DataOverviewHeader.tsx","../src/components/internal/Modal/ModalContent/ModalContent.tsx","../src/components/internal/DataOverviewDisplay/DataDetailsModal.tsx","../src/hooks/useCustomColumnsData.ts","../src/components/utils/customData/hasCustomField.ts","../src/components/utils/customData/mergeRecords.ts","../src/components/external/PayoutsOverview/components/PayoutsOverview/PayoutsOverview.tsx","../src/components/external/PayoutsOverview/components/PayoutsOverviewContainer/constants.ts","../src/components/external/PayoutsOverview/components/PayoutsOverviewContainer/PayoutsOverviewContainer.tsx","../src/components/external/PayoutsOverview/PayoutsOverviewElement.tsx","../src/components/external/TransactionDetails/TransactionDetails.tsx","../src/components/internal/Divider/constants.ts","../src/components/internal/Divider/Divider.tsx","../src/components/internal/Header/Header.tsx","../src/components/external/TransactionsOverview/components/TransactionTotals/constants.ts","../src/components/internal/BaseButton/constants.ts","../src/components/internal/BaseButton/BaseButton.tsx","../src/components/internal/ExpandableCard/constants.ts","../src/components/internal/ExpandableCard/ExpandableCard.tsx","../src/components/external/TransactionsOverview/components/AmountSkeleton/constants.ts","../src/components/external/TransactionsOverview/components/AmountSkeleton/AmountSkeleton.tsx","../src/components/external/TransactionsOverview/components/SummaryItem/constants.ts","../src/components/external/TransactionsOverview/components/SummaryItem/SummaryItemLabel.tsx","../src/components/external/TransactionsOverview/components/SummaryItem/SummaryItem.tsx","../src/components/external/TransactionsOverview/components/TransactionTotalItem/TransactionTotalItem.tsx","../src/components/internal/BaseList/constants.ts","../src/components/internal/BaseList/BaseList.tsx","../src/components/external/TransactionsOverview/hooks/useMaxWidths.ts","../src/components/external/TransactionsOverview/components/TransactionTotals/TotalsCard.tsx","../src/components/external/TransactionsOverview/components/TransactionTotals/TransactionTotals.tsx","../src/components/external/TransactionsOverview/components/Balances/constants.ts","../src/components/external/TransactionsOverview/components/BalanceItem/BalanceItem.tsx","../src/components/external/TransactionsOverview/components/Balances/Balances.tsx","../src/components/external/TransactionsOverview/hooks/useTransactionsOverviewMultiSelectionFilters.ts","../src/components/internal/FilterBar/filters/AmountFilter/constants.ts","../src/components/internal/FilterBar/filters/AmountFilter/RangeSelection.tsx","../src/components/internal/FilterBar/filters/AmountFilter/AmountFilter.tsx","../src/components/external/TransactionsOverview/components/TransactionsOverview/constants.ts","../src/components/external/TransactionsOverview/components/TransactionsOverview/TransactionsOverview.tsx","../src/components/external/TransactionsOverview/components/TransactionsOverviewContainer/constants.ts","../src/components/external/TransactionsOverview/components/TransactionsOverviewContainer/TransactionsOverviewContainer.tsx","../src/components/external/TransactionsOverview/TransactionsOverviewElement.tsx","../src/components/internal/CapitalHeader/constants.ts","../src/components/internal/CapitalHeader/helpers.ts","../src/components/utils/capital/getCapitalErrorMessage.tsx","../src/components/external/CapitalOffer/components/utils/CapitalErrorMessageDisplay.tsx","../src/components/external/CapitalOffer/components/CapitalOffer/constants.ts","../src/components/internal/CapitalHeader/CapitalHeader.tsx","../src/components/internal/InfoBox/InfoBox.tsx","../src/components/external/CapitalOffer/components/utils/utils.ts","../src/components/internal/Slider/calculateProgress.ts","../src/components/internal/Slider/Slider.tsx","../src/components/internal/CapitalSlider/CapitalSlider.tsx","../src/components/constants.ts","../src/components/external/CapitalOffer/components/CapitalOfferSelection/CapitalOfferSelection.tsx","../src/components/internal/AnchorButton/AnchorButton.tsx","../src/components/internal/Translation/Translation.tsx","../src/components/external/CapitalOffer/components/CapitalOfferSummary/constants.ts","../src/components/external/CapitalOffer/components/CapitalOfferLegalNotice/CapitalOfferLegalNotice.tsx","../src/components/external/CapitalOffer/components/CapitalOfferSummary/CapitalOfferSummary.tsx","../src/components/external/CapitalOffer/components/CapitalOffer/CapitalOffer.tsx","../src/components/external/CapitalOffer/CapitalOfferElement.tsx","../src/hooks/useFreezePeriod.ts","../src/components/internal/SVGIcons/Download.tsx","../src/components/internal/Button/DownloadButton/useDownload.ts","../src/components/internal/Button/DownloadButton/DownloadButton.tsx","../src/components/internal/SVGIcons/Warning.tsx","../src/components/external/ReportsOverview/components/ReportsTable/constants.ts","../src/components/external/ReportsOverview/components/ReportsTable/ReportsTable.tsx","../src/components/external/ReportsOverview/components/ReportsOverview/constants.ts","../src/components/external/ReportsOverview/components/ReportsOverview/ReportsOverview.tsx","../src/components/external/ReportsOverview/components/ReportsOverviewContainer/constants.ts","../src/components/external/ReportsOverview/components/ReportsOverviewContainer/ReportsOverviewContainer.tsx","../src/components/external/ReportsOverview/ReportsOverviewElement.tsx","../src/components/external/CapitalOverview/constants.ts","../src/images/generic-use-first-touch.svg","../src/components/external/CapitalOverview/components/Unqualified.tsx","../src/components/external/CapitalOverview/components/PreQualifiedIntro.tsx","../src/components/external/CapitalOverview/components/PreQualified/PreQualified.tsx","../src/components/internal/ProgressBar/ProgressBar.tsx","../src/components/external/CapitalOverview/components/GrantItem/constants.ts","../src/components/external/CapitalOverview/components/GrantItem/utils.ts","../src/components/external/CapitalOverview/components/GrantDetails/constants.ts","../src/components/external/CapitalOverview/components/GrantDetails/GrantDetails.tsx","../src/components/external/CapitalOverview/components/GrantAction/constants.ts","../src/components/external/CapitalOverview/components/GrantAction/utils.ts","../src/components/external/CapitalOverview/components/GrantAction/GrantAction.tsx","../src/components/external/CapitalOverview/components/GrantItem/GrantItem.tsx","../src/components/external/CapitalOverview/components/GrantAdjustmentDetails/constants.ts","../src/components/external/CapitalOverview/components/AccountDetails/AccountDetail.tsx","../src/components/external/CapitalOverview/components/AccountDetails/utils.ts","../src/components/external/CapitalOverview/components/AccountDetails/AccountDetails.tsx","../src/components/external/CapitalOverview/components/GrantAdjustmentDetails/GrantAdjustmentDetails.tsx","../src/components/external/CapitalOverview/components/GrantRepaymentDetails/GrantRepaymentDetails.tsx","../src/hooks/useTabbedControl.ts","../src/components/internal/SegmentedControl/SegmentedControl.tsx","../src/components/external/CapitalOverview/components/GrantList/GrantsDisplay.tsx","../src/components/external/CapitalOverview/components/GrantList/GrantList.tsx","../src/components/external/CapitalOverview/components/CapitalOverview/CapitalOverview.tsx","../src/components/external/CapitalOverview/CapitalOverviewElement.tsx","../src/index.ts"],"sourcesContent":["import { DevEnvironment } from './types';\n\nexport const FALLBACK_ENV = 'test' satisfies DevEnvironment;\nexport const normalizeLoadingContext = (loadingContext: string) => loadingContext?.replace?.(/([^\\/])$/, '$1/')!;\nexport const normalizeUrl = (url: string) => url?.replace(/^([^\\/])/, '/$1')!;\n\nexport const resolveEnvironment = (() => {\n const envs: Partial<Record<DevEnvironment, string>> = {\n test: 'https://platform-components-external-test.adyen.com/platform-components-external/api/',\n live: 'https://platform-components-external-live.adyen.com/platform-components-external/api/',\n };\n\n return (env?: DevEnvironment) => envs[env ?? FALLBACK_ENV] || envs[FALLBACK_ENV]!;\n})();\n","import type { DeepReadonly, ListWithoutFirst } from './types';\n\ntype _BoundFn<T, Args extends any[]> = Args extends []\n ? T extends (this: infer ThisType, ...args: [...infer RestArgs]) => infer ReturnType\n ? (thisValue: ThisType, ...args: RestArgs) => ReturnType\n : never\n : T extends (this: Args[0], ...args: [...ListWithoutFirst<Args>, ...infer RestArgs]) => infer ReturnType\n ? (...args: RestArgs) => ReturnType\n : never;\n\nexport const fn: <T, Args extends any[]>(func: T, ...args: Args) => _BoundFn<T, Args> = Function.prototype.bind.bind(Function.prototype.call);\n\n// prettier-ignore\nexport const constant = <T>(value?: T) => () => value;\n\nexport const asyncNoop = async () => {};\nexport const identity = <T>(value?: T) => value;\nexport const noop = () => {};\n\nexport const panic = (reason?: any) => {\n throw reason;\n};\n\nconst _toString = fn(Object.prototype.toString);\nexport const toStringTag = (value?: any) => _toString(value).slice(8, -1);\n\nexport const deepFreeze = <T extends object>(obj: T): DeepReadonly<T> => {\n Object.keys(obj).forEach(prop => {\n const value = obj[prop as keyof T];\n if (value && typeof value === 'object' && !Object.isFrozen(value)) {\n deepFreeze(value);\n }\n });\n return Object.freeze(obj) as DeepReadonly<T>;\n};\n","import { toStringTag } from '../common';\nimport type { GetPredicateType } from '../types';\n\nexport const isBoolean = (value?: any): value is boolean => value === !!value;\nexport const isFunction = <T>(value?: T): value is GetPredicateType<(...args: any[]) => any, T> => typeof value === 'function';\nexport const isNull = (value?: any): value is null => value === null;\nexport const isNullish = (value?: any): value is undefined | null => value == undefined;\nexport const isNumber = (value?: any): value is number => typeof value === 'number';\nexport const isPlainObject = <T>(value?: T): value is GetPredicateType<Record<any, any>, T> => toStringTag(value) === 'Object';\nexport const isString = (value?: any): value is string => typeof value === 'string';\nexport const isSymbol = (value?: any): value is symbol => typeof value === 'symbol';\nexport const isUndefined = (value?: any): value is undefined => value === undefined;\n","import { isNumber, isSymbol } from './is';\n\nexport const clamp = <T extends number = number>(min: T, value: T, max: T) => {\n if (Math.min(min, max) !== min) [min, max] = [max, min];\n return Math.max(min, Math.min(value, max));\n};\n\nexport const isBitSafeInteger = (value?: any): value is number => !isSymbol(value) && value === ~~value;\nexport const isInfinity = (value?: any): value is number => isNumber(value) && 1 / value === 0;\n\nexport const mid = (low: number, high: number) => {\n if (Number.isInteger(low) && Number.isInteger(high)) {\n return low + Math.floor((high - low) / 2);\n }\n throw TypeError(`Expects 2 integer values: [${low}, ${high}]`);\n};\n\nexport const mod = (value: number, modulo: number) => ((value % modulo) + modulo) % modulo;\n","export const ABORT_EVENT = 'abort';\nexport const DEFAULT_ABORT_ERROR_MESSAGE = 'signal is aborted without reason';\nexport const DEFAULT_TIMEOUT_ERROR_MESSAGE = 'signal timed out';\nexport const MAX_ABORT_TIMEOUT = 0x7fffffff;\n","import { isBoolean } from './is';\n\nexport const boolify = (value?: any, fallbackBoolean = value) => (isBoolean(value) ? value : !!fallbackBoolean);\n\nexport const boolOrFalse = (value?: any) => value === true;\nexport const boolOrTrue = (value?: any) => value !== false;\n\nexport const falsify = (_?: any): false => false;\nexport const truthify = (_?: any): true => true;\n","import { fn } from '../common';\nimport { boolOrFalse, boolOrTrue } from '../value/bool';\nimport type { GetterPropertyDescriptor, ValuePropertyDescriptor } from './types';\n\nexport const enumerable = <T>(value: T, writable = false): ValuePropertyDescriptor<T> => ({\n writable: boolOrFalse(writable),\n enumerable: true,\n value,\n});\n\nexport const getter = <T>(get: () => T, enumerable = true): GetterPropertyDescriptor<T> => ({\n enumerable: boolOrTrue(enumerable),\n get,\n});\n\nexport const hasOwnProperty = fn(Object.prototype.hasOwnProperty);\n","/**\n * Compares two values using [`SameValueZero`](https://tc39.es/ecma262/multipage/abstract-operations.html#sec-samevaluezero) comparison and returns `true` if they are the same, or `false` otherwise.\n * The comparison is very similar to strict equality comparison but also returns `true` if both values are `NaN`.\n */\nexport const sameValue = (a: any, b: any) => a === b || !(a === a || b === b);\n","import { enumerable, getter, hasOwnProperty } from '../struct/property';\nimport { DEFAULT_ABORT_ERROR_MESSAGE, DEFAULT_TIMEOUT_ERROR_MESSAGE } from './constants';\nimport { sameValue } from '../value/compare';\n\nif (!hasOwnProperty(AbortSignal.prototype, 'reason')) {\n try {\n // Polyfill `AbortSignal.prototype.reason`\n Object.defineProperty(AbortSignal.prototype, 'reason', {\n ...getter(function _getReason(this: AbortSignal) {\n return this.aborted ? abortError() : void 0;\n }, true),\n configurable: true,\n });\n } catch {\n // `AbortSignal.prototype` is non-extensible or `reason` property already exists\n // do nothing (fail silently)\n }\n}\n\nif (!hasOwnProperty(AbortSignal.prototype, 'throwIfAborted')) {\n // Polyfill `AbortSignal.prototype.throwIfAborted`\n AbortSignal.prototype.throwIfAborted = function _throwIfAborted(this: AbortSignal) {\n if (this.aborted) throw this.reason ?? abortError();\n };\n}\n\nexport const abortError = (message = DEFAULT_ABORT_ERROR_MESSAGE) => new DOMException(message, 'AbortError');\nexport const timeoutError = (message = DEFAULT_TIMEOUT_ERROR_MESSAGE) => new DOMException(message, 'TimeoutError');\n\nexport const augmentSignalReason = (signal: AbortSignal, reason: any) => {\n if (!sameValue(signal.reason, reason)) {\n try {\n Object.defineProperty(signal, 'reason', enumerable(reason));\n } catch {\n // `signal` is non-extensible or `reason` property already exists\n // do nothing (fail silently)\n }\n }\n return signal;\n};\n","import { clamp } from '../value/number';\nimport { isUndefined } from '../value/is';\nimport { ABORT_EVENT, MAX_ABORT_TIMEOUT } from './constants';\nimport { abortError, augmentSignalReason, timeoutError } from './internals';\n\ndeclare var AbortSignal: {\n any: (signals: AbortSignal[]) => AbortSignal;\n} & typeof window.AbortSignal;\n\nexport const abortedSignal = (reason: unknown = abortError()) => {\n if ('abort' in AbortSignal) {\n return AbortSignal.abort(reason);\n }\n\n const _controller = new AbortController();\n const _reason = isUndefined(reason) ? abortError() : reason;\n const { signal } = _controller;\n\n _controller.abort(_reason);\n augmentSignalReason(signal, _reason);\n return signal;\n};\n\nexport const abortSignalForAny = (signals: AbortSignal[]) => {\n if ('any' in AbortSignal) {\n return AbortSignal.any(signals);\n }\n\n let _sourceSignals = new Set<AbortSignal>();\n let _controller = new AbortController();\n const { signal } = _controller;\n\n let abort = function (this: AbortSignal) {\n _sourceSignals.forEach(signal => signal.removeEventListener(ABORT_EVENT, abort));\n _sourceSignals.clear();\n\n const reason = this?.reason ?? abortError();\n\n _controller.abort(reason);\n augmentSignalReason(signal, reason);\n _controller = _sourceSignals = abort = undefined!;\n };\n\n setup: {\n const NIL_EXCEPTION = Symbol('<NIL_EXCEPTION>');\n let _exception: any = NIL_EXCEPTION;\n\n filter: {\n try {\n for (const maybeSignal of signals) {\n if (!isAbortSignal(maybeSignal)) throw new TypeError(`Failed to convert value to 'AbortSignal'`);\n if (maybeSignal.aborted) break filter;\n _sourceSignals.add(maybeSignal);\n }\n } catch (ex) {\n _exception = ex;\n break filter;\n }\n\n _sourceSignals.forEach(signal => signal.addEventListener(ABORT_EVENT, abort));\n\n // Mark setup as complete\n break setup;\n }\n\n // If control flow reaches here, it means either of the following:\n // (1) at least one of the source signals is already aborted\n // (2) at least one invalid value was passed as source signal\n\n // Hence, the need to abort the `signal` and destroy everything\n abort.call(signal);\n\n // And also throw the appropriate exception (if applicable)\n if (_exception !== NIL_EXCEPTION) throw _exception;\n }\n\n return signal;\n};\n\nexport const abortSignalWithTimeout = (ms: number) => {\n const _timeout = clamp(0, ms, MAX_ABORT_TIMEOUT);\n\n if ('timeout' in AbortSignal) {\n return AbortSignal.timeout(_timeout);\n }\n\n let _controller = new AbortController();\n const { signal } = _controller;\n\n setTimeout(\n () =>\n requestAnimationFrame(() => {\n const reason = timeoutError();\n _controller.abort(reason);\n _controller = undefined!;\n augmentSignalReason(signal, reason);\n }),\n _timeout\n );\n\n return signal;\n};\n\nexport const isAbortSignal = (value?: any): value is AbortSignal => value instanceof AbortSignal;\n","export const EMPTY_ARRAY = Object.freeze([]);\nexport const EMPTY_OBJECT = Object.freeze(Object.create(null)) as Readonly<{}>;\n","import { EMPTY_ARRAY } from '../value/constants';\n\nexport const ALREADY_RESOLVED_PROMISE = Promise.resolve();\nexport const FOREVER_PENDING_PROMISE = Promise.race(EMPTY_ARRAY);\n","import { ALREADY_RESOLVED_PROMISE } from './constants';\nimport { Promised, PromiseState } from '../types';\n\nconst _pending = () => _PENDING;\nconst _PENDING: unique symbol = Symbol('<<PENDING>>');\n\nexport const getPromiseState = async (promise: Promise<any>): Promise<PromiseState> => {\n try {\n const value = await Promise.race([promise, ALREADY_RESOLVED_PROMISE.then(_pending)]);\n return value === _PENDING ? PromiseState.PENDING : PromiseState.FULFILLED;\n } catch {\n return PromiseState.REJECTED;\n }\n};\n\nexport const tryResolve = function <T extends any, Params extends any[] = []>(\n this: any,\n fn: (this: any, ...args: Params) => Promised<T>,\n ...args: Params\n) {\n return new Promise<T>(resolve => resolve(fn.call(this, ...args)));\n};\n","import { fn, identity } from '../common';\nimport { EMPTY_ARRAY } from '../value/constants';\nimport { isFunction, isNullish, isUndefined } from '../value/is';\nimport type { MapGetter } from './types';\nimport type { List } from '../types';\n\nexport const getMappedValue: MapGetter = (key, map, factory) => {\n let value = map.get(key);\n\n if (isUndefined(value) && isFunction(factory)) {\n if (!isUndefined((value = factory(key, map)))) {\n map.set(key, value);\n }\n }\n\n return value;\n};\n\nexport const listFrom = <T extends string = string>(value?: string | any[], fallbackList = EMPTY_ARRAY as unknown as T[]) => {\n const stringedValue = `${value || ''}`.trim();\n const stringedList = (stringedValue ? stringedValue.split(/(?:\\s*,\\s*)+/).filter(identity) : EMPTY_ARRAY) as T[];\n return stringedList.length ? stringedList : fallbackList;\n};\n\nexport const pickFrom = <C extends readonly any[] | any[]>(list: C, option?: C[number], defaultOption?: C[number]) => {\n if (list.includes(option)) return option;\n if (isNullish(option)) return list[0];\n return list.includes(defaultOption) ? defaultOption : list[0];\n};\n\nexport const some = fn(Array.prototype.some);\n\nconst _uniqueFlatten = function _uniqueFlatten<T>(reversed: boolean, items: List<T>, uniqueItems: Set<T> = new Set<T>()) {\n for (const item of items) {\n if (!Array.isArray(item)) {\n reversed && uniqueItems.delete(item);\n uniqueItems.add(item);\n } else _uniqueFlatten(reversed, item, uniqueItems);\n }\n return uniqueItems;\n};\n\ntype _UniqueFlatten = <T>(items: List<T>, uniqueItems?: Set<T>) => Set<T>;\n\nexport const uniqueFlatten = fn(_uniqueFlatten, void 0, false) as _UniqueFlatten;\nexport const uniqueFlattenReversed = fn(_uniqueFlatten, void 0, true) as _UniqueFlatten;\n","import { isString } from '../value/is';\nimport type { DateFunction, DateTimeComponents } from './types';\n\nexport const parseDate = ((...args) => {\n const [value] = args;\n\n const date =\n args.length >= 2\n ? new Date(...(args as DateTimeComponents))\n : value instanceof Date\n ? value\n : new Date((isString(value) || Number.isFinite(value) ? value : undefined)!);\n\n const timestamp = date.getTime();\n return Number.isFinite(timestamp) ? timestamp : undefined;\n}) as DateFunction<number | undefined>;\n","export const uniqueId = (() => {\n let counter = Date.now();\n return (prefix = 'adyen-pe') => `${prefix}-${++counter}`;\n})();\n\nexport default uniqueId;\n","export const UUID_V4_REGEXP = /^[a-f\\d]{8}-[a-f\\d]{4}-4[a-f\\d]{3}-[89ab][a-f\\d]{3}-[a-f\\d]{12}$/i;\n\nexport const uuid = (() => {\n const _UUID_V4_FILLER_STRING = 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx';\n\n return () =>\n _UUID_V4_FILLER_STRING.replace(/[xy]/g, xy => {\n const randomNibble = (Math.random() * 16) | 0;\n const nibble = xy == 'x' ? randomNibble : (randomNibble & 0x3) | 0x8;\n return nibble.toString(16);\n });\n})();\n\nexport default uuid;\n","import { fn } from '../common';\nimport { EMPTY_OBJECT } from '../value/constants';\nimport { truthify } from '../value/bool';\nimport { isPlainObject } from '../value/is';\nimport type { PredicateType } from '../types';\n\ntype _PlainObject<T> = PredicateType<typeof isPlainObject<T>>;\n\nexport const asPlainObject = <T>(value?: T, fallback = EMPTY_OBJECT as _PlainObject<T>): _PlainObject<T> =>\n isPlainObject(value) ? value : asPlainObject(fallback, EMPTY_OBJECT as _PlainObject<T>);\n\ninterface _StructFrom {\n <T extends Record<any, any>, P extends object | null>(o: P, properties: { [K in keyof T]: TypedPropertyDescriptor<T[K]> }): P extends object\n ? Omit<P, keyof T> & T\n : T;\n <P extends object | null>(o: P): P extends object ? { [K in keyof P]: P[K] } : Record<any, any>;\n}\n\ninterface _Struct {\n <T extends Record<any, any>>(properties: { [K in keyof T]: TypedPropertyDescriptor<T[K]> }): T;\n (): Record<any, any>;\n}\n\nexport const structFrom = fn(Object.create, void 0) as _StructFrom;\nexport const struct: _Struct = fn(structFrom, void 0, null);\n\nexport const withFreezeProxyHandlers = <T extends object>(handler: ProxyHandler<T> = EMPTY_OBJECT): Readonly<ProxyHandler<T>> => {\n return Object.freeze({ ...handler, defineProperty: truthify, set: truthify } as const);\n};\n","import { isNullish, isString } from './is';\n\nexport const capitalize = (str?: string) => (str && str?.length > 0 ? `${str[0]!.toUpperCase()}${str.slice(1)}` : str);\nexport const isEmptyString = (str?: string) => isNullish(str) || (isString(str) && /^\\s*$/.test(str));\n","import { boolOrFalse } from '../../../utils';\n\nexport const SETUP_ENDPOINT_PATH = '/setup';\nexport const AUTO_REFRESH = boolOrFalse(process.env.SESSION_AUTO_REFRESH);\n\nexport const MAX_AGE_MS = (() => {\n // Value provisioned in `SESSION_MAX_AGE_MS` env variable\n let maxAgeMs = ~~process.env.SESSION_MAX_AGE_MS!;\n\n if (Number.isFinite(maxAgeMs) && (maxAgeMs = Math.max(0, ~~maxAgeMs))) {\n return maxAgeMs;\n }\n})();\n","import { ErrorTypes } from '../Http/utils';\n\nclass AdyenPlatformExperienceError extends Error {\n public type: string;\n public errorCode?: string;\n public requestId?: string;\n constructor(type: ErrorTypes, requestId?: string, message?: string, errorCode?: string) {\n super(message);\n this.type = type;\n this.name = type;\n this.errorCode = errorCode;\n this.requestId = requestId;\n }\n}\n\nexport default AdyenPlatformExperienceError;\n","import { isNullish } from '../../utils';\nimport { AdyenErrorResponse, ErrorLevel, HttpOptions } from './types';\nimport AdyenPlatformExperienceError from '../Errors/AdyenPlatformExperienceError';\n\nconst FILENAME_EXTRACTION_REGEX = /^[^]*?filename[^;\\n]*=\\s*(?:UTF-\\d['\"]*)?(?:(['\"])([^]*?)\\1|([^;\\n]*))?[^]*?$/;\n\nexport const enum ErrorTypes {\n /** Network error. */\n NETWORK_ERROR = 'NETWORK_ERROR',\n\n /** Shopper canceled the current transaction. */\n CANCEL = 'CANCEL',\n\n /** Implementation error. The method or parameter are incorrect or are not supported. */\n IMPLEMENTATION_ERROR = 'IMPLEMENTATION_ERROR',\n\n /** Generic error. */\n ERROR = 'ERROR',\n\n /** Token expired */\n EXPIRED_TOKEN = 'EXPIRED_TOKEN',\n}\n\nexport const getErrorType = (errorCode: number): ErrorTypes => {\n switch (errorCode) {\n case 401:\n return ErrorTypes.EXPIRED_TOKEN;\n default:\n return ErrorTypes.NETWORK_ERROR;\n }\n};\n\nexport const getResponseContentType = (response: Response): string | undefined => response.headers.get('Content-Type')?.split(';', 1)[0];\n\nexport const getResponseDownloadFilename = (response: Response): string | undefined => {\n const disposition = response.headers.get('Content-Disposition') ?? '';\n const filename = disposition.replace(FILENAME_EXTRACTION_REGEX, '$2$3');\n return decodeURIComponent(filename);\n};\n\nexport const getRequestObject = (options: HttpOptions): RequestInit => {\n const { headers = [], method = 'GET' } = options;\n const SDKVersion = process.env.VITE_VERSION;\n\n return {\n method,\n mode: 'cors',\n cache: 'default',\n credentials: 'same-origin',\n headers: {\n Accept: 'application/json, text/plain, */*',\n 'Content-Type': options.contentType ?? 'application/json',\n ...headers,\n ...(SDKVersion && { 'SDK-Version': SDKVersion }),\n },\n redirect: 'follow',\n signal: options.signal,\n referrerPolicy: 'no-referrer-when-downgrade',\n ...(method === 'POST' && options.body && { body: JSON.stringify(options.body) }),\n };\n};\n\nexport function handleFetchError({\n message,\n level,\n errorCode,\n type = ErrorTypes.NETWORK_ERROR,\n requestId,\n}: {\n message: string;\n level: ErrorLevel | undefined;\n errorCode?: string;\n type?: ErrorTypes;\n requestId?: string;\n status?: number;\n}) {\n switch (level) {\n case 'silent': {\n break;\n }\n case 'info':\n case 'warn':\n console[level](message);\n break;\n case 'error':\n default:\n throw new AdyenPlatformExperienceError(type, requestId, message, errorCode);\n }\n}\n\nexport function isAdyenErrorResponse(data: any): data is AdyenErrorResponse {\n return data && data.errorCode && data.type && (data.detail || data.invalidFields) && data.status;\n}\n\nexport function parseSearchParams<T extends Record<string, any>>(parameters: T) {\n const params = new URLSearchParams();\n\n for (const param of Object.keys(parameters)) {\n const value = parameters[param];\n if (!isNullish(value)) {\n if (Array.isArray(value)) {\n value.forEach(item => params.append(param, item));\n } else {\n // For non-array values, just set the key and value normally\n params.set(param, String(value));\n }\n }\n }\n\n return params;\n}\n","import { enumerable, getter, isUndefined, noop, struct } from '../../../utils';\nimport type { Abortable } from './types';\n\nexport const createAbortable = <T>(abortReason?: T) => {\n let _abortController: AbortController | undefined;\n let _abortSignal: AbortSignal;\n let _abortPromise: Promise<never>;\n\n const _abort = () => {\n if (isUndefined(_abortController)) return;\n\n // Capture a reference of the signal abort procedure to be triggered\n const _abort: typeof noop = _abortController.abort.bind(_abortController);\n\n // Since abortable can only be refreshed if `_abortController` is `undefined`, trigger the\n // signal abort procedure after setting `_abortController` to `undefined`. This ensures that\n // `_abortController` is already `undefined` before any signal abort listener gets a chance\n // to run. Think about a signal abort listener that triggers an abortable refresh when it\n // runs — that refresh can only happen if `_abortController` is already set to `undefined`.\n _abortController = undefined;\n _abort();\n };\n\n const _getAbortPromise = () => {\n _abortPromise = new Promise<never>((_, reject) => {\n _abortSignal.addEventListener('abort', function _abort() {\n _abortSignal.removeEventListener('abort', _abort);\n reject(abortReason);\n });\n\n if (_abortSignal.aborted) throw abortReason;\n });\n\n // no-op catch callback to silence unnecessary \"unhandled rejection\" warnings\n _abortPromise.catch(noop);\n\n return _abortPromise;\n };\n\n const _refreshIfNecessary = () => {\n if (isUndefined(_abortController)) {\n _abortController = new AbortController();\n _abortSignal = _abortController.signal;\n _abortPromise = _getAbortPromise();\n }\n return abortable;\n };\n\n const abortable = struct<Abortable<T>>({\n abort: enumerable(_abort),\n promise: getter(() => _abortPromise),\n reason: enumerable(abortReason),\n refresh: enumerable(_refreshIfNecessary),\n signal: getter(() => _abortSignal),\n });\n\n return _refreshIfNecessary();\n};\n\nexport default createAbortable;\n","import { enumerable, getter, noop, struct } from '../../../utils';\nimport type { Promised } from '../../../utils/types';\nimport type { Deferred } from './types';\n\nexport const createDeferred = <T extends Promised<any> = any>() => {\n let _promise: Deferred<T>['promise'];\n let _reject: Deferred<T>['reject'];\n let _resolve: Deferred<T>['resolve'];\n\n const _refresh = () => {\n const previousResolve = _resolve ?? noop;\n\n const currentPromise = new Promise<T>((resolve, reject) => {\n _resolve = resolve;\n _reject = reject;\n });\n\n previousResolve((_promise = currentPromise));\n return deferred;\n };\n\n const deferred = struct<Deferred<T>>({\n promise: getter(() => _promise),\n refresh: enumerable(_refresh),\n reject: enumerable(reason => _reject(reason)),\n resolve: enumerable(value => _resolve(value)),\n });\n\n return _refresh();\n};\n\nexport default createDeferred;\n","import { createAbortable } from '../abortable';\nimport { createDeferred } from '../deferred';\nimport { enumerable, getter, isUndefined, tryResolve } from '../../../utils';\nimport type { Promised } from '../../../utils/types';\nimport type { Promisor } from './types';\n\nexport const createPromisor = <T extends any, Params extends any[] = []>(\n factory: (this: any, signal: AbortSignal, ...args: Params) => Promised<T>\n) => {\n const _abortable = createAbortable();\n const _deferred = createDeferred<T>();\n let _promise: Promisor<T, Params>['promise'] | undefined;\n\n const promisor = function (this: any, ...args) {\n isUndefined(_promise) ? _deferred.refresh() : _abortable.abort();\n\n const currentPromise = tryResolve.call(this, factory, _abortable.refresh().signal, ...args) as Promise<T>;\n\n (async () => {\n let isLatestPromise = _promise === (_promise = currentPromise);\n try {\n const value = await currentPromise.finally(() => {\n isLatestPromise = _promise === currentPromise;\n isLatestPromise && (_promise = undefined);\n });\n isLatestPromise && _deferred.resolve(value);\n } catch (ex) {\n isLatestPromise && _deferred.reject(ex);\n }\n })();\n\n return currentPromise;\n } as Promisor<T, Params>;\n\n return Object.defineProperties(promisor, {\n abort: enumerable(_abortable.abort),\n promise: getter(() => _deferred.promise),\n refresh: enumerable(() => void _deferred.refresh()),\n });