diff options
author | Sebastian <sebasjm@gmail.com> | 2024-03-11 14:56:25 -0300 |
---|---|---|
committer | Sebastian <sebasjm@gmail.com> | 2024-03-11 14:57:48 -0300 |
commit | 37f46f4d6b821d163c3e4db5c374b1120212ac74 (patch) | |
tree | 641c5bccd6d1b77fa440e67b80543eec9378ef4a /packages/bank-ui/src/utils.ts | |
parent | 4cbe754aca72b6edee922e3a84f251030293f088 (diff) | |
download | wallet-core-37f46f4d6b821d163c3e4db5c374b1120212ac74.tar.xz |
obs and cancel request, plus lint
Diffstat (limited to 'packages/bank-ui/src/utils.ts')
-rw-r--r-- | packages/bank-ui/src/utils.ts | 82 |
1 files changed, 35 insertions, 47 deletions
diff --git a/packages/bank-ui/src/utils.ts b/packages/bank-ui/src/utils.ts index 8b0febe42..305f13803 100644 --- a/packages/bank-ui/src/utils.ts +++ b/packages/bank-ui/src/utils.ts @@ -15,6 +15,7 @@ */ import { + AbsoluteTime, AmountString, PaytoString, TalerError, @@ -73,36 +74,36 @@ export type PartialButDefined<T> = { */ export type WithIntermediate<Type> = { [prop in keyof Type]: Type[prop] extends PaytoString - ? Type[prop] | undefined - : Type[prop] extends AmountString - ? Type[prop] | undefined - : Type[prop] extends TranslatedString - ? Type[prop] | undefined - : Type[prop] extends object - ? WithIntermediate<Type[prop]> - : Type[prop] | undefined; + ? Type[prop] | undefined + : Type[prop] extends AmountString + ? Type[prop] | undefined + : Type[prop] extends TranslatedString + ? Type[prop] | undefined + : Type[prop] extends object + ? WithIntermediate<Type[prop]> + : Type[prop] | undefined; }; export type RecursivePartial<Type> = { [P in keyof Type]?: Type[P] extends (infer U)[] - ? RecursivePartial<U>[] - : Type[P] extends object - ? RecursivePartial<Type[P]> - : Type[P]; + ? RecursivePartial<U>[] + : Type[P] extends object + ? RecursivePartial<Type[P]> + : Type[P]; }; export type ErrorMessageMappingFor<Type> = { [prop in keyof Type]+?: Exclude<Type[prop], undefined> extends PaytoString // enumerate known object - ? TranslatedString - : Exclude<Type[prop], undefined> extends AmountString - ? TranslatedString - : Exclude<Type[prop], undefined> extends TranslatedString - ? TranslatedString - : // arrays: every element - Exclude<Type[prop], undefined> extends (infer U)[] - ? ErrorMessageMappingFor<U>[] - : // map: every field - Exclude<Type[prop], undefined> extends object - ? ErrorMessageMappingFor<Type[prop]> - : TranslatedString; + ? TranslatedString + : Exclude<Type[prop], undefined> extends AmountString + ? TranslatedString + : Exclude<Type[prop], undefined> extends TranslatedString + ? TranslatedString + : // arrays: every element + Exclude<Type[prop], undefined> extends (infer U)[] + ? ErrorMessageMappingFor<U>[] + : // map: every field + Exclude<Type[prop], undefined> extends object + ? ErrorMessageMappingFor<Type[prop]> + : TranslatedString; }; export enum TanChannel { @@ -155,6 +156,7 @@ export function buildRequestErrorMessage( title: i18n.str`Request timeout`, description: cause.message as TranslatedString, debug: JSON.stringify(cause.errorDetail, undefined, 2), + when: AbsoluteTime.now(), }; break; } @@ -164,6 +166,7 @@ export function buildRequestErrorMessage( title: i18n.str`Request throttled`, description: cause.message as TranslatedString, debug: JSON.stringify(cause.errorDetail, undefined, 2), + when: AbsoluteTime.now(), }; break; } @@ -173,6 +176,7 @@ export function buildRequestErrorMessage( title: i18n.str`Malformed response`, description: cause.message as TranslatedString, debug: JSON.stringify(cause.errorDetail, undefined, 2), + when: AbsoluteTime.now(), }; break; } @@ -182,6 +186,7 @@ export function buildRequestErrorMessage( title: i18n.str`Network error`, description: cause.message as TranslatedString, debug: JSON.stringify(cause.errorDetail, undefined, 2), + when: AbsoluteTime.now(), }; break; } @@ -191,6 +196,7 @@ export function buildRequestErrorMessage( title: i18n.str`Unexpected request error`, description: cause.message as TranslatedString, debug: JSON.stringify(cause.errorDetail, undefined, 2), + when: AbsoluteTime.now(), }; break; } @@ -200,6 +206,7 @@ export function buildRequestErrorMessage( title: i18n.str`Unexpected error`, description: cause.message as TranslatedString, debug: JSON.stringify(cause.errorDetail, undefined, 2), + when: AbsoluteTime.now(), }; break; } @@ -373,11 +380,10 @@ export function validateIBAN( i18n: InternationalizationAPI, ): TranslatedString | undefined { if (!IBAN_REGEX.test(account)) { - return i18n.str`IBAN only have uppercased letters and numbers` + return i18n.str`IBAN only have uppercased letters and numbers`; } // Check total length - if (account.length < 4) - return i18n.str`IBAN numbers have more that 4 digits`; + if (account.length < 4) return i18n.str`IBAN numbers have more that 4 digits`; if (account.length > 34) return i18n.str`IBAN numbers have less that 34 digits`; @@ -423,25 +429,7 @@ export function validateTalerBank( i18n: InternationalizationAPI, ): TranslatedString | undefined { if (!USERNAME_REGEX.test(account)) { - return i18n.str`Account only have letters and numbers` + return i18n.str`Account only have letters and numbers`; } - return undefined -} - -export function validateRawIBAN( - payto: string, - i18n: InternationalizationAPI, -): TranslatedString | undefined { - return undefined -} - - - -export function validateRawTalerBank( - payto: string, - currentHost: string, - i18n: InternationalizationAPI, -): TranslatedString | undefined { - return undefined + return undefined; } - |