@webority/mobile-core 0.1.0 → 0.2.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/README.md +32 -0
- package/lib/commonjs/api/clientHeaders.js +1 -0
- package/lib/commonjs/api/minAppVersion.js +1 -0
- package/lib/commonjs/api/publicClient.js +1 -1
- package/lib/commonjs/api/requestDefaults.js +1 -0
- package/lib/commonjs/api/retry.js +1 -1
- package/lib/commonjs/api/tokenRefresh.js +1 -1
- package/lib/commonjs/api/userClient.js +1 -1
- package/lib/commonjs/auth/authStore.js +1 -1
- package/lib/commonjs/auth/index.js +1 -1
- package/lib/commonjs/config/index.js +1 -1
- package/lib/commonjs/errors/extractApiError.js +1 -0
- package/lib/commonjs/errors/index.js +1 -0
- package/lib/commonjs/formatters/currency.js +1 -1
- package/lib/commonjs/formatters/date.js +1 -1
- package/lib/commonjs/formatters/dateMath.js +1 -1
- package/lib/commonjs/formatters/formatConfig.js +1 -0
- package/lib/commonjs/formatters/house.js +1 -0
- package/lib/commonjs/formatters/index.js +1 -1
- package/lib/commonjs/formatters/number.js +1 -1
- package/lib/commonjs/index.js +1 -1
- package/lib/commonjs/initSDK.js +1 -1
- package/lib/commonjs/initUserAuth.js +1 -1
- package/lib/commonjs/logger/index.js +1 -1
- package/lib/commonjs/query/apiBaseQuery.js +1 -0
- package/lib/commonjs/query/createAppApi.js +1 -0
- package/lib/commonjs/query/index.js +1 -0
- package/lib/commonjs/query/listeners.js +1 -0
- package/lib/commonjs/query/paging.js +1 -0
- package/lib/commonjs/query/tags.js +1 -0
- package/lib/commonjs/redux/errorToastMiddleware.js +1 -0
- package/lib/commonjs/redux/index.js +1 -0
- package/lib/commonjs/redux/rootReducer.js +1 -0
- package/lib/commonjs/redux/serializableCheck.js +1 -0
- package/lib/commonjs/versionCheck/buildNumber.js +1 -0
- package/lib/commonjs/versionCheck/index.js +1 -1
- package/lib/module/api/baseUrl.js +1 -1
- package/lib/module/api/clientHeaders.js +1 -0
- package/lib/module/api/curl.js +1 -1
- package/lib/module/api/minAppVersion.js +1 -0
- package/lib/module/api/multipart.js +1 -1
- package/lib/module/api/publicClient.js +1 -1
- package/lib/module/api/requestDefaults.js +1 -0
- package/lib/module/api/responseBodyText.js +1 -1
- package/lib/module/api/retry.js +1 -1
- package/lib/module/api/tokenRefresh.js +1 -1
- package/lib/module/api/userClient.js +1 -1
- package/lib/module/auth/authStore.js +1 -1
- package/lib/module/auth/index.js +1 -1
- package/lib/module/auth/jwt.js +1 -1
- package/lib/module/config/index.js +1 -1
- package/lib/module/deepLink/index.js +1 -1
- package/lib/module/download/adapters/expoFs.js +1 -1
- package/lib/module/download/adapters/shared.js +1 -1
- package/lib/module/download/index.js +1 -1
- package/lib/module/errors/extractApiError.js +1 -0
- package/lib/module/errors/index.js +1 -0
- package/lib/module/formatters/currency.js +1 -1
- package/lib/module/formatters/date.js +1 -1
- package/lib/module/formatters/dateMath.js +1 -1
- package/lib/module/formatters/formatConfig.js +1 -0
- package/lib/module/formatters/house.js +1 -0
- package/lib/module/formatters/index.js +1 -1
- package/lib/module/formatters/initials.js +1 -1
- package/lib/module/formatters/intlCache.js +1 -1
- package/lib/module/formatters/number.js +1 -1
- package/lib/module/formatters/phone.js +1 -1
- package/lib/module/formatters/windowsToIanaTable.js +1 -1
- package/lib/module/geolocation/adapters/expoLocation.js +1 -1
- package/lib/module/geolocation/index.js +1 -1
- package/lib/module/index.js +1 -1
- package/lib/module/initSDK.js +1 -1
- package/lib/module/initUserAuth.js +1 -1
- package/lib/module/logger/crashlytics.js +1 -1
- package/lib/module/logger/index.js +1 -1
- package/lib/module/logger/redact.js +1 -1
- package/lib/module/network/index.js +1 -1
- package/lib/module/network/networkStatus.js +1 -1
- package/lib/module/permissions/calendar.js +1 -1
- package/lib/module/permissions/camera.js +1 -1
- package/lib/module/permissions/contacts.js +1 -1
- package/lib/module/permissions/index.js +1 -1
- package/lib/module/permissions/location.js +1 -1
- package/lib/module/permissions/mediaLibrary.js +1 -1
- package/lib/module/permissions/notifications.js +1 -1
- package/lib/module/permissions/photos.js +1 -1
- package/lib/module/phone/countries.js +1 -1
- package/lib/module/push/index.js +1 -1
- package/lib/module/push/push.js +1 -1
- package/lib/module/push/status.js +1 -1
- package/lib/module/push/task.js +1 -1
- package/lib/module/query/apiBaseQuery.js +1 -0
- package/lib/module/query/createAppApi.js +1 -0
- package/lib/module/query/index.js +1 -0
- package/lib/module/query/listeners.js +1 -0
- package/lib/module/query/paging.js +1 -0
- package/lib/module/query/tags.js +1 -0
- package/lib/module/redux/errorToastMiddleware.js +1 -0
- package/lib/module/redux/index.js +1 -0
- package/lib/module/redux/rootReducer.js +1 -0
- package/lib/module/redux/serializableCheck.js +1 -0
- package/lib/module/secureScreen/index.js +1 -1
- package/lib/module/share/index.js +1 -1
- package/lib/module/smsRetriever/index.js +1 -1
- package/lib/module/specs/NativeSmsRetriever.js +1 -1
- package/lib/module/sqlite/adapters/expo.js +1 -1
- package/lib/module/sqlite/index.js +1 -1
- package/lib/module/storage/index.js +1 -1
- package/lib/module/types/axios.js +1 -1
- package/lib/module/types/globals.d.js +1 -1
- package/lib/module/utils/base64.js +1 -1
- package/lib/module/utils/imageCompression.js +1 -1
- package/lib/module/utils/index.js +1 -1
- package/lib/module/validators/index.js +1 -1
- package/lib/module/versionCheck/buildNumber.js +1 -0
- package/lib/module/versionCheck/index.js +1 -1
- package/lib/typescript/commonjs/api/clientHeaders.d.ts +25 -0
- package/lib/typescript/commonjs/api/minAppVersion.d.ts +24 -0
- package/lib/typescript/commonjs/api/requestDefaults.d.ts +21 -0
- package/lib/typescript/commonjs/api/retry.d.ts +23 -9
- package/lib/typescript/commonjs/api/tokenRefresh.d.ts +14 -2
- package/lib/typescript/commonjs/api/userClient.d.ts +1 -1
- package/lib/typescript/commonjs/auth/authStore.d.ts +76 -0
- package/lib/typescript/commonjs/auth/index.d.ts +2 -2
- package/lib/typescript/commonjs/config/index.d.ts +31 -2
- package/lib/typescript/commonjs/errors/extractApiError.d.ts +69 -0
- package/lib/typescript/commonjs/errors/index.d.ts +3 -0
- package/lib/typescript/commonjs/formatters/currency.d.ts +22 -7
- package/lib/typescript/commonjs/formatters/date.d.ts +13 -13
- package/lib/typescript/commonjs/formatters/dateMath.d.ts +4 -2
- package/lib/typescript/commonjs/formatters/formatConfig.d.ts +48 -0
- package/lib/typescript/commonjs/formatters/house.d.ts +143 -0
- package/lib/typescript/commonjs/formatters/index.d.ts +4 -0
- package/lib/typescript/commonjs/formatters/number.d.ts +15 -5
- package/lib/typescript/commonjs/index.d.ts +21 -8
- package/lib/typescript/commonjs/initSDK.d.ts +18 -6
- package/lib/typescript/commonjs/initUserAuth.d.ts +29 -0
- package/lib/typescript/commonjs/logger/index.d.ts +17 -0
- package/lib/typescript/commonjs/query/apiBaseQuery.d.ts +55 -0
- package/lib/typescript/commonjs/query/createAppApi.d.ts +21 -0
- package/lib/typescript/commonjs/query/index.d.ts +9 -0
- package/lib/typescript/commonjs/query/listeners.d.ts +11 -0
- package/lib/typescript/commonjs/query/paging.d.ts +42 -0
- package/lib/typescript/commonjs/query/tags.d.ts +31 -0
- package/lib/typescript/commonjs/redux/errorToastMiddleware.d.ts +51 -0
- package/lib/typescript/commonjs/redux/index.d.ts +6 -0
- package/lib/typescript/commonjs/redux/rootReducer.d.ts +19 -0
- package/lib/typescript/commonjs/redux/serializableCheck.d.ts +14 -0
- package/lib/typescript/commonjs/versionCheck/buildNumber.d.ts +14 -0
- package/lib/typescript/commonjs/versionCheck/index.d.ts +28 -17
- package/lib/typescript/module/api/clientHeaders.d.ts +25 -0
- package/lib/typescript/module/api/minAppVersion.d.ts +24 -0
- package/lib/typescript/module/api/requestDefaults.d.ts +21 -0
- package/lib/typescript/module/api/retry.d.ts +23 -9
- package/lib/typescript/module/api/tokenRefresh.d.ts +14 -2
- package/lib/typescript/module/api/userClient.d.ts +1 -1
- package/lib/typescript/module/auth/authStore.d.ts +76 -0
- package/lib/typescript/module/auth/index.d.ts +2 -2
- package/lib/typescript/module/config/index.d.ts +31 -2
- package/lib/typescript/module/errors/extractApiError.d.ts +69 -0
- package/lib/typescript/module/errors/index.d.ts +3 -0
- package/lib/typescript/module/formatters/currency.d.ts +22 -7
- package/lib/typescript/module/formatters/date.d.ts +13 -13
- package/lib/typescript/module/formatters/dateMath.d.ts +4 -2
- package/lib/typescript/module/formatters/formatConfig.d.ts +48 -0
- package/lib/typescript/module/formatters/house.d.ts +143 -0
- package/lib/typescript/module/formatters/index.d.ts +4 -0
- package/lib/typescript/module/formatters/number.d.ts +15 -5
- package/lib/typescript/module/index.d.ts +21 -8
- package/lib/typescript/module/initSDK.d.ts +18 -6
- package/lib/typescript/module/initUserAuth.d.ts +29 -0
- package/lib/typescript/module/logger/index.d.ts +17 -0
- package/lib/typescript/module/query/apiBaseQuery.d.ts +55 -0
- package/lib/typescript/module/query/createAppApi.d.ts +21 -0
- package/lib/typescript/module/query/index.d.ts +9 -0
- package/lib/typescript/module/query/listeners.d.ts +11 -0
- package/lib/typescript/module/query/paging.d.ts +42 -0
- package/lib/typescript/module/query/tags.d.ts +31 -0
- package/lib/typescript/module/redux/errorToastMiddleware.d.ts +51 -0
- package/lib/typescript/module/redux/index.d.ts +6 -0
- package/lib/typescript/module/redux/rootReducer.d.ts +19 -0
- package/lib/typescript/module/redux/serializableCheck.d.ts +14 -0
- package/lib/typescript/module/versionCheck/buildNumber.d.ts +14 -0
- package/lib/typescript/module/versionCheck/index.d.ts +28 -17
- package/package.json +30 -2
package/README.md
CHANGED
|
@@ -32,11 +32,43 @@ import { shareFile } from '@webority/mobile-core/share';
|
|
|
32
32
|
import { initPush, enablePush, usePush } from '@webority/mobile-core/push';
|
|
33
33
|
import { definePushActionTask } from '@webority/mobile-core/push/task';
|
|
34
34
|
import { compressImage } from '@webority/mobile-core/compressor';
|
|
35
|
+
import { createApiBaseQuery, createAppApi, setupApiListeners } from '@webority/mobile-core/query';
|
|
35
36
|
```
|
|
36
37
|
|
|
37
38
|
Metro resolves requires statically, so anything reachable from the main barrel is bundled for
|
|
38
39
|
every consumer. Keeping these off it is what makes their peers genuinely optional.
|
|
39
40
|
|
|
41
|
+
`/query` is the RTK Query layer; it needs `@reduxjs/toolkit` (2.6 or later) and `react-redux`,
|
|
42
|
+
both optional peers. One `createApi` per app, built with `createAppApi` and the base query over
|
|
43
|
+
the library's clients, so refresh, retry, the offline check and the `extractApiError` failure
|
|
44
|
+
shape stay in one place. Never a `fetchBaseQuery`.
|
|
45
|
+
|
|
46
|
+
```ts
|
|
47
|
+
// services/api/apiSlice.ts
|
|
48
|
+
import { publicClient, userClient } from '@webority/mobile-core';
|
|
49
|
+
import { createApiBaseQuery, createAppApi, buildListQuery, providesPagedList,
|
|
50
|
+
type PagedDataObject } from '@webority/mobile-core/query';
|
|
51
|
+
|
|
52
|
+
export const apiSlice = createAppApi({
|
|
53
|
+
reducerPath: 'api',
|
|
54
|
+
baseQuery: createApiBaseQuery({ client: userClient, publicClient }),
|
|
55
|
+
tagTypes: ['Project'],
|
|
56
|
+
endpoints: (build) => ({
|
|
57
|
+
getProjects: build.query<PagedDataObject<Project>, { page: number }>({
|
|
58
|
+
query: ({ page }) => ({ url: '/api/projects', params: buildListQuery({ page, pageSize: 20 }) }),
|
|
59
|
+
providesTags: providesPagedList('Project')
|
|
60
|
+
})
|
|
61
|
+
})
|
|
62
|
+
});
|
|
63
|
+
// store.ts: add apiSlice.reducer and apiSlice.middleware, then setupApiListeners(store.dispatch)
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
`setupApiListeners` maps the app returning to the foreground (`AppState`) to RTK Query's focus,
|
|
67
|
+
and this library's network status to online and offline; RTK's own defaults listen to `window`
|
|
68
|
+
events that never fire on a device. A call marked `silent: true`, or an endpoint with
|
|
69
|
+
`extraOptions: { silent: true }`, carries `silent` on `action.meta.baseQueryMeta`, which the
|
|
70
|
+
error toast middleware skips.
|
|
71
|
+
|
|
40
72
|
`/push` registers the phone for push notifications. It needs `expo-notifications`, an optional
|
|
41
73
|
peer, and reports `unavailable` without it or in Expo Go. Call `initPush` once at startup with
|
|
42
74
|
`getInstallationId`, `register`, `unregister` and `onOpen`; `enablePush` asks permission, sends
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.getClientBuild=exports.applyClientHeaders=exports.applyAccountIdHeader=exports.CLIENT_KIND_HEADER=exports.CLIENT_KIND=exports.CLIENT_BUILD_HEADER=exports.ACCOUNT_ID_HEADER=void 0;var _index=require("../config/index.js");const CLIENT_BUILD_HEADER=exports.CLIENT_BUILD_HEADER="X-Client-Build",CLIENT_KIND_HEADER=exports.CLIENT_KIND_HEADER="X-Client-Kind",ACCOUNT_ID_HEADER=exports.ACCOUNT_ID_HEADER="X-Account-Id",CLIENT_KIND=exports.CLIENT_KIND="MobileApp",getClientBuild=()=>{const e=(0,_index.getConfigValue)("appVersion");if(!e)return null;const t=(0,_index.getConfigValue)("commit");return t?`${e}+${t}`:e};exports.getClientBuild=getClientBuild;const setIfAbsent=(e,t,s)=>{s&&!e.has(t)&&e.set(t,s)},applyClientHeaders=e=>{e.interceptors.request.use(e=>(setIfAbsent(e.headers,CLIENT_KIND_HEADER,CLIENT_KIND),setIfAbsent(e.headers,CLIENT_BUILD_HEADER,getClientBuild()),e))};exports.applyClientHeaders=applyClientHeaders;const applyAccountIdHeader=async(e,t)=>{const s=t?await t():null;s&&e.set(ACCOUNT_ID_HEADER,s)};exports.applyAccountIdHeader=applyAccountIdHeader;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.readMinAppVersion=exports.getMinAppVersion=exports.addMinAppVersionListener=exports.MIN_APP_VERSION_HEADER=void 0;var _index=require("../logger/index.js");const MIN_APP_VERSION_HEADER=exports.MIN_APP_VERSION_HEADER="X-Min-App-Version";let current=null;const listeners=new Set,getMinAppVersion=()=>current;exports.getMinAppVersion=getMinAppVersion;const addMinAppVersionListener=e=>(listeners.add(e),null!==current&&e(current),()=>{listeners.delete(e)});exports.addMinAppVersionListener=addMinAppVersionListener;const readHeader=e=>{if(!e||"object"!=typeof e)return;const r=e.get;return"function"==typeof r?r.call(e,MIN_APP_VERSION_HEADER):e[MIN_APP_VERSION_HEADER.toLowerCase()]},record=e=>{const r=readHeader(e?.headers);if(null==r||""===r)return;const n=String(r).trim();if(!/^\d+$/.test(n))return void _index.Logger.warn(`[minAppVersion] ignored a non-integer ${MIN_APP_VERSION_HEADER}: ${n}`);const t=Number.parseInt(n,10);if(t!==current){current=t;for(const e of[...listeners])try{e(t)}catch(e){_index.Logger.error("[minAppVersion] a listener threw",e)}}},readMinAppVersion=e=>{e.interceptors.response.use(e=>(record(e),e),e=>(record(e?.response),Promise.reject(e)))};exports.readMinAppVersion=readMinAppVersion;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _axios=_interopRequireDefault(require("axios")),_index=require("../config/index.js"),_index2=require("../logger/index.js");require("../types/axios.js");var _baseUrl=require("./baseUrl.js"),_curl=require("./curl.js"),_multipart=require("./multipart.js"),_responseBodyText=require("./responseBodyText.js"),_retry=require("./retry.js");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _axios=_interopRequireDefault(require("axios")),_index=require("../config/index.js"),_index2=require("../logger/index.js");require("../types/axios.js");var _baseUrl=require("./baseUrl.js"),_clientHeaders=require("./clientHeaders.js"),_curl=require("./curl.js"),_minAppVersion=require("./minAppVersion.js"),_multipart=require("./multipart.js"),_requestDefaults=require("./requestDefaults.js"),_responseBodyText=require("./responseBodyText.js"),_retry=require("./retry.js");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const publicClient=_axios.default.create({headers:{"Content-Type":"application/json",Accept:"application/json"}});(0,_baseUrl.applyConfiguredBaseUrl)(publicClient),(0,_requestDefaults.applyRequestDefaults)(publicClient),(0,_multipart.sendFormDataAsMultipart)(publicClient),(0,_minAppVersion.readMinAppVersion)(publicClient),(0,_retry.attachRetry)(publicClient),publicClient.interceptors.request.use(e=>(_index2.Logger.info(`Request: ${e.method?.toUpperCase()} ${e.url}`),(0,_index.getConfigValue)("logCurl")&&(0,_curl.logCurl)(e),e),e=>{const r=e instanceof Error?e.message:String(e);return _index2.Logger.error("Request error:",r),Promise.reject(e)}),(0,_clientHeaders.applyClientHeaders)(publicClient),publicClient.interceptors.response.use(e=>(_index2.Logger.info(`Response: ${e.status} from ${e.config.url}`),e),e=>{if(_axios.default.isAxiosError(e)){const r=e.config;if(r?.skipErrorLog)return Promise.reject(e);e.response?_index2.Logger.error(`Response error: ${(0,_responseBodyText.responseBodyText)(e.response.data,e.message)}, URL: ${r?.url}, Status: ${e.response.status}`):_index2.Logger.error(`Network error or no response from server: ${e.message}, URL: ${r?.url}`)}else{const r=e instanceof Error?e.message:String(e);_index2.Logger.error(`Unknown response error: ${r}`)}return Promise.reject(e)});var _default=exports.default=publicClient;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.newCorrelationId=exports.applyRequestDefaults=void 0;var _index=require("../config/index.js");const newCorrelationId=()=>{const e=globalThis.crypto;if("function"==typeof e?.randomUUID)return e.randomUUID();const t=new Uint8Array(16);if("function"==typeof e?.getRandomValues)e.getRandomValues(t);else for(let e=0;e<t.length;e+=1)t[e]=Math.floor(256*Math.random());t[6]=15&(t[6]??0)|64,t[8]=63&(t[8]??0)|128;const o=Array.from(t,e=>e.toString(16).padStart(2,"0")).join("");return`${o.slice(0,8)}-${o.slice(8,12)}-${o.slice(12,16)}-${o.slice(16,20)}-${o.slice(20)}`};exports.newCorrelationId=newCorrelationId;const applyRequestDefaults=e=>{e.defaults.timeout=void 0,e.interceptors.request.use(e=>{void 0===e.timeout&&(e.timeout=(0,_index.getConfigValue)("timeoutMs"));const t=(0,_index.getConfigValue)("correlationIdHeader");return t&&!e.headers.has(t)&&e.headers.set(t,newCorrelationId()),e})};exports.applyRequestDefaults=applyRequestDefaults;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.isRetryableStatus=exports.attachRetry=void 0;const isRetryableStatus=e=>"number"==typeof e&&(429===e||e>=500&&e<=599);exports.isRetryableStatus=isRetryableStatus;const IDEMPOTENT_METHODS=new Set(["get","head","options","put","delete"]),
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.retryAfterMs=exports.isRetryableStatus=exports.isRetryableFailure=exports.isNeverSentError=exports.attachRetry=exports.IDEMPOTENCY_KEY_HEADER=void 0;var _axios=_interopRequireDefault(require("axios")),_index=require("../config/index.js");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const IDEMPOTENCY_KEY_HEADER=exports.IDEMPOTENCY_KEY_HEADER="Idempotency-Key",isRetryableStatus=e=>"number"==typeof e&&(429===e||e>=500&&e<=599);exports.isRetryableStatus=isRetryableStatus;const IDEMPOTENT_METHODS=new Set(["get","head","options","put","delete"]),NEVER_SENT_CODES=new Set(["ECONNREFUSED","ENOTFOUND","EAI_AGAIN","ENETUNREACH","EHOSTUNREACH"]),isNeverSentError=e=>!e.response&&"string"==typeof e.code&&NEVER_SENT_CODES.has(e.code);exports.isNeverSentError=isNeverSentError;const MAX_RETRY_AFTER_MS=3e4,retryAfterMs=e=>{const t=e.response;if(!t)return null;const r=t.data,s=t.headers,o="function"==typeof s?.get?s.get("retry-after"):s?.["retry-after"];for(const e of[r?.retryAfterSeconds,o]){const t=Number(e);if(null!=e&&Number.isFinite(t)&&t>0)return 1e3*t}return null};exports.retryAfterMs=retryAfterMs;const hasIdempotencyKey=e=>{const t=e?.headers,r="function"==typeof t?.get?t.get(IDEMPOTENCY_KEY_HEADER):t?.[IDEMPOTENCY_KEY_HEADER];return"string"==typeof r&&""!==r},isRetryableFailure=e=>{if(_axios.default.isCancel(e)||"ERR_CANCELED"===e.code)return!1;if(isNeverSentError(e))return!0;const t=(e.config?.method??"get").toLowerCase(),r=IDEMPOTENT_METHODS.has(t),s=e.response?.status;if(void 0===s)return r;if(!isRetryableStatus(s))return!1;const o=retryAfterMs(e);return!(null!==o&&o>3e4)&&(r||(429===s||503===s)&&hasIdempotencyKey(e.config))};exports.isRetryableFailure=isRetryableFailure;const DEFAULT_POLICY={retryDelayMs:e=>e<=1?0:2**e*1e3,shouldRetry:isRetryableFailure,onRetry:()=>{}},waitOrAbort=(e,t)=>new Promise(r=>{const onAbort=()=>{clearTimeout(s),r(!1)},s=setTimeout(()=>{t?.removeEventListener?.("abort",onAbort),r(!0)},e);t?.addEventListener?.("abort",onAbort,{once:!0})}),attachRetry=(e,t={})=>{e.interceptors.response.use(void 0,async r=>{const s=r,o=s?.config;if(!o||!1===o.retry)return Promise.reject(r);const n="object"==typeof o.retry?o.retry:{},i={...DEFAULT_POLICY,retries:(0,_index.getConfigValue)("retries"),...t,...n},a=(o.__retryAttempt??0)+1;if(a>i.retries||!i.shouldRetry(s))return Promise.reject(r);if(o.signal?.aborted)return Promise.reject(r);o.__retryAttempt=a,o.transformRequest=[e=>e],i.onRetry(a,s);const E=retryAfterMs(s)??i.retryDelayMs(a);return await waitOrAbort(E,o.signal)?e.request(o):Promise.reject(r)})};exports.attachRetry=attachRetry;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.resetRefreshState=exports.refreshAccessToken=exports.queueBehindRefresh=exports.isRefreshInFlight=exports.injectUserAuth=exports.injectStore=exports.getRefreshPath=exports.getErrorMessage=exports.dispatchLogout=void 0;var _axios=_interopRequireDefault(require("axios")),_authStore=require("../auth/authStore.js"),_index=require("../logger/index.js"),_publicClient=_interopRequireDefault(require("./publicClient.js"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let store,auth;const injectStore=e=>{store=e};exports.injectStore=injectStore;const injectUserAuth=e=>{auth=e};exports.injectUserAuth=injectUserAuth;let refreshTokenPromise=null,failedQueue=[];const processQueue=(e,r=null)=>{failedQueue.forEach(({resolve:s,reject:t})=>{e?t(e):null!==r&&s(r)}),failedQueue=[]},resetRefreshState=()=>{refreshTokenPromise=null,processQueue(new Error("[@webority/mobile-core] Session ended"))};exports.resetRefreshState=resetRefreshState;const getErrorMessage=e=>e instanceof Error?e.message:"string"==typeof e?e:"Unknown error";exports.getErrorMessage=getErrorMessage;const requireAuth=()=>{if(!store||!auth)throw new Error("User package store is not initialized. Call initUserAuth first.");return{store:store,auth:auth}},getRefreshPath=()=>auth?.refresh.path;exports.getRefreshPath=getRefreshPath;const dispatchLogout=async()=>{const e=requireAuth();await e.store.dispatch(e.auth.logout())};exports.dispatchLogout=dispatchLogout;const isRefreshInFlight=()=>null!==refreshTokenPromise;exports.isRefreshInFlight=isRefreshInFlight;const queueBehindRefresh=()=>new Promise((e,r)=>{failedQueue.push({resolve:e,reject:r})});exports.queueBehindRefresh=queueBehindRefresh;class SessionEndedError extends Error{constructor(e){super(e),this.name="SessionEndedError",Object.setPrototypeOf(this,SessionEndedError.prototype)}}const endsSession=e=>e instanceof SessionEndedError||_axios.default.isAxiosError(e)&&(400===e.response?.status||401===e.response?.status),asString=(e,r)=>{if("string"!=typeof e||""===e)throw new Error(`The refresh response has no "${r}".`);return e},readWeborityTokens=e=>{const r=e??{};return{accessToken:asString(r.accessToken,"accessToken"),accessTokenExpiry:asString(r.accessTokenExpiration,"accessTokenExpiration"),refreshToken:asString(r.refreshToken,"refreshToken"),refreshTokenExpiry:asString(r.refreshTokenExpiration,"refreshTokenExpiration")}},callRefreshEndpoint=async e=>{const r=await(0,_authStore.getToken)(_authStore.REFRESH_TOKEN_KEY);if(!r?.token)throw new SessionEndedError("No refresh token available");if(Date.parse(r.expiry)<=Date.now())throw new SessionEndedError("Refresh token expired");const s=await(0,_authStore.getToken)(_authStore.ACCESS_TOKEN_KEY),t={accessToken:s?.token??null,refreshToken:r.token},o=e.body?await e.body(t):t;_index.Logger.info("Refreshing the access token");const{data:
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.resetRefreshState=exports.refreshAccessToken=exports.readSignOutReason=exports.queueBehindRefresh=exports.isRefreshInFlight=exports.injectUserAuth=exports.injectStore=exports.getRefreshPath=exports.getErrorMessage=exports.getAccountIdProvider=exports.endSessionAndLogout=exports.dispatchLogout=exports.SIGN_OUT_REASON_HEADER=void 0;var _axios=_interopRequireDefault(require("axios")),_authStore=require("../auth/authStore.js"),_index=require("../logger/index.js"),_publicClient=_interopRequireDefault(require("./publicClient.js"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let store,auth;const injectStore=e=>{store=e};exports.injectStore=injectStore;const injectUserAuth=e=>{auth=e};exports.injectUserAuth=injectUserAuth;let refreshTokenPromise=null,failedQueue=[];const processQueue=(e,r=null)=>{failedQueue.forEach(({resolve:s,reject:t})=>{e?t(e):null!==r&&s(r)}),failedQueue=[]},resetRefreshState=()=>{refreshTokenPromise=null,processQueue(new Error("[@webority/mobile-core] Session ended"))};exports.resetRefreshState=resetRefreshState;const getErrorMessage=e=>e instanceof Error?e.message:"string"==typeof e?e:"Unknown error";exports.getErrorMessage=getErrorMessage;const requireAuth=()=>{if(!store||!auth)throw new Error("User package store is not initialized. Call initUserAuth first.");return{store:store,auth:auth}},getAccountIdProvider=()=>auth?.accountId;exports.getAccountIdProvider=getAccountIdProvider;const getRefreshPath=()=>auth?.refresh.path;exports.getRefreshPath=getRefreshPath;const dispatchLogout=async()=>{const e=requireAuth();await e.store.dispatch(e.auth.logout())};exports.dispatchLogout=dispatchLogout;const SIGN_OUT_REASON_HEADER=exports.SIGN_OUT_REASON_HEADER="X-Sign-Out-Reason",readSignOutReason=e=>{const r=void 0===auth?.signOutReasonHeader?SIGN_OUT_REASON_HEADER:auth.signOutReasonHeader;if(!r||!e||"object"!=typeof e)return null;const s=e.get,t="function"==typeof s?s.call(e,r):e[r.toLowerCase()];return"string"==typeof t&&""!==t.trim()?t.trim():null};exports.readSignOutReason=readSignOutReason;const endSessionAndLogout=async(e,r)=>{await(0,_authStore.clearSession)(e,{signOutReason:r}),await dispatchLogout()};exports.endSessionAndLogout=endSessionAndLogout;const isRefreshInFlight=()=>null!==refreshTokenPromise;exports.isRefreshInFlight=isRefreshInFlight;const queueBehindRefresh=()=>new Promise((e,r)=>{failedQueue.push({resolve:e,reject:r})});exports.queueBehindRefresh=queueBehindRefresh;class SessionEndedError extends Error{constructor(e){super(e),this.name="SessionEndedError",Object.setPrototypeOf(this,SessionEndedError.prototype)}}const endsSession=e=>e instanceof SessionEndedError||_axios.default.isAxiosError(e)&&(400===e.response?.status||401===e.response?.status),asString=(e,r)=>{if("string"!=typeof e||""===e)throw new Error(`The refresh response has no "${r}".`);return e},readWeborityTokens=e=>{const r=e??{};return{accessToken:asString(r.accessToken,"accessToken"),accessTokenExpiry:asString(r.accessTokenExpiration,"accessTokenExpiration"),refreshToken:asString(r.refreshToken,"refreshToken"),refreshTokenExpiry:asString(r.refreshTokenExpiration,"refreshTokenExpiration")}},callRefreshEndpoint=async e=>{const r=await(0,_authStore.getToken)(_authStore.REFRESH_TOKEN_KEY);if(!r?.token)throw new SessionEndedError("No refresh token available");if(Date.parse(r.expiry)<=Date.now())throw new SessionEndedError("Refresh token expired");const s=await(0,_authStore.getToken)(_authStore.ACCESS_TOKEN_KEY),t={accessToken:s?.token??null,refreshToken:r.token},o=e.body?await e.body(t):t,n=e.headers?await e.headers():void 0;_index.Logger.info("Refreshing the access token");const{data:i}=await _publicClient.default.post(e.path,o,n?{headers:n}:void 0),a=(e.readTokens??readWeborityTokens)(i);return await(0,_authStore.storeToken)(_authStore.ACCESS_TOKEN_KEY,a.accessToken,a.accessTokenExpiry),await(0,_authStore.storeToken)(_authStore.REFRESH_TOKEN_KEY,a.refreshToken,a.refreshTokenExpiry),_index.Logger.info("Access token refreshed"),a.accessToken},refreshAccessToken=()=>{if(refreshTokenPromise)return refreshTokenPromise;const e=(async()=>{try{const e=await callRefreshEndpoint(requireAuth().auth.refresh);return processQueue(null,e),e}catch(e){const r=_axios.default.isAxiosError(e)?e.response?.data:void 0;throw _index.Logger.error("Token refresh failed:",r??getErrorMessage(e)),processQueue(e,null),endsSession(e)&&await endSessionAndLogout("rejected",_axios.default.isAxiosError(e)?readSignOutReason(e.response?.headers):null),e}})().finally(()=>{refreshTokenPromise===e&&(refreshTokenPromise=null)});return refreshTokenPromise=e,e};exports.refreshAccessToken=refreshAccessToken;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.SESSION_TERMINATION_CODES=exports.SESSION_INVALID_HEADER=exports.RequestOfflineError=void 0,Object.defineProperty(exports,"SIGN_OUT_REASON_HEADER",{enumerable:!0,get:function(){return _tokenRefresh.SIGN_OUT_REASON_HEADER}}),exports.default=void 0,Object.defineProperty(exports,"injectStore",{enumerable:!0,get:function(){return _tokenRefresh.injectStore}}),Object.defineProperty(exports,"injectUserAuth",{enumerable:!0,get:function(){return _tokenRefresh.injectUserAuth}}),Object.defineProperty(exports,"resetRefreshState",{enumerable:!0,get:function(){return _tokenRefresh.resetRefreshState}});var _axios=_interopRequireWildcard(require("axios")),_authStore=require("../auth/authStore.js"),_index=require("../config/index.js"),_index2=require("../logger/index.js"),_networkStatus=require("../network/networkStatus.js");require("../types/axios.js");var _baseUrl=require("./baseUrl.js"),_clientHeaders=require("./clientHeaders.js"),_curl=require("./curl.js"),_minAppVersion=require("./minAppVersion.js"),_multipart=require("./multipart.js"),_requestDefaults=require("./requestDefaults.js"),_responseBodyText=require("./responseBodyText.js"),_retry=require("./retry.js"),_tokenRefresh=require("./tokenRefresh.js");function _interopRequireWildcard(e,r){if("function"==typeof WeakMap)var t=new WeakMap,s=new WeakMap;return(_interopRequireWildcard=function(e,r){if(!r&&e&&e.__esModule)return e;var o,n,i={__proto__:null,default:e};if(null===e||"object"!=typeof e&&"function"!=typeof e)return i;if(o=r?s:t){if(o.has(e))return o.get(e);o.set(e,i)}for(const r in e)"default"!==r&&{}.hasOwnProperty.call(e,r)&&((n=(o=Object.defineProperty)&&Object.getOwnPropertyDescriptor(e,r))&&(n.get||n.set)?o(i,r,n):i[r]=e[r]);return i})(e,r)}class RequestOfflineError extends Error{constructor(e="Request blocked: device is offline"){super(e),this.name="RequestOfflineError",Object.setPrototypeOf(this,RequestOfflineError.prototype)}}exports.RequestOfflineError=RequestOfflineError;const SESSION_TERMINATION_CODES=exports.SESSION_TERMINATION_CODES={TERMINATED:"SESSION_TERMINATED",EXPIRED:"SESSION_EXPIRED"},TERMINATION_CODES=new Set(Object.values(SESSION_TERMINATION_CODES)),SESSION_INVALID_HEADER=exports.SESSION_INVALID_HEADER="x-security-stamp-invalid",hasSessionInvalidHeader=e=>{if(!e||"object"!=typeof e)return!1;const r=e.get,t="function"==typeof r?r.call(e,SESSION_INVALID_HEADER):e[SESSION_INVALID_HEADER];return"true"===String(t).toLowerCase()},getSessionTerminationCode=e=>{if(!e||"object"!=typeof e)return;const r=e,t=r.error,s=[r.code,r.errorCode,t&&"object"==typeof t?t.code:void 0];for(const e of s)if("string"==typeof e&&TERMINATION_CODES.has(e))return e},userClient=_axios.default.create({headers:{"Content-Type":"application/json"}});(0,_minAppVersion.readMinAppVersion)(userClient),(0,_retry.attachRetry)(userClient);const setAuthHeader=(e,r)=>{e.headers instanceof _axios.AxiosHeaders?e.headers.set("Authorization",`Bearer ${r}`):e.headers=_axios.AxiosHeaders.from({...e.headers,Authorization:`Bearer ${r}`})},isRefreshTokenRequest=e=>{const r=(0,_tokenRefresh.getRefreshPath)();return!!r&&!!e?.includes(r)};(0,_baseUrl.applyConfiguredBaseUrl)(userClient),(0,_requestDefaults.applyRequestDefaults)(userClient),(0,_multipart.sendFormDataAsMultipart)(userClient),userClient.interceptors.request.use(e=>((0,_index.getConfigValue)("logCurl")&&(0,_curl.logCurl)(e),e)),(0,_clientHeaders.applyClientHeaders)(userClient),userClient.interceptors.request.use(async e=>{if(!1===(await(0,_networkStatus.getLastKnownNetworkStatus)()).isConnected)return _index2.Logger.warn(`Request blocked: device is offline. URL: ${e.url}`),Promise.reject(new RequestOfflineError);try{if(isRefreshTokenRequest(e.url))return e;const r=await(0,_authStore.getToken)(_authStore.ACCESS_TOKEN_KEY);if(!r?.token)throw new Error("No access token available");const t=Date.now(),s=Date.parse(r.expiry);if(s<=t+3e4){_index2.Logger.info("Access token expired or about to expire, refreshing before request");const r=await(0,_tokenRefresh.refreshAccessToken)();return setAuthHeader(e,r),await(0,_clientHeaders.applyAccountIdHeader)(e.headers,(0,_tokenRefresh.getAccountIdProvider)()),e}return setAuthHeader(e,r.token),await(0,_clientHeaders.applyAccountIdHeader)(e.headers,(0,_tokenRefresh.getAccountIdProvider)()),e}catch(e){return _index2.Logger.error("Failed to attach token:",(0,_tokenRefresh.getErrorMessage)(e)),Promise.reject(e)}},e=>(_index2.Logger.error("Request error:",(0,_tokenRefresh.getErrorMessage)(e)),Promise.reject(e))),userClient.interceptors.response.use(e=>e,async e=>{if(!_axios.default.isAxiosError(e))return _index2.Logger.error(`Non-axios error in response interceptor: ${(0,_tokenRefresh.getErrorMessage)(e)}`),Promise.reject(e);const r=e,t=r.config;if(!r.response)return t?.skipErrorLog||_index2.Logger.error(`Network error or no response from server: ${r.message}, URL: ${t?.url}`),Promise.reject(e);if(401===r.response.status&&t&&!t._retry){if(isRefreshTokenRequest(t.url))return Promise.reject(e);const s=(0,_tokenRefresh.readSignOutReason)(r.response.headers),o=getSessionTerminationCode(r.response.data)??(hasSessionInvalidHeader(r.response.headers)||null!==s?SESSION_TERMINATION_CODES.TERMINATED:void 0);if(o)return _index2.Logger.warn(`Session ${o}, logging out without refresh. URL: ${t.url}`),(0,_tokenRefresh.resetRefreshState)(),await(0,_tokenRefresh.endSessionAndLogout)("terminated",s),Promise.reject(e);if(_index2.Logger.warn(`Unauthorized URL: ${t.url}`),t._retry=!0,(0,_tokenRefresh.isRefreshInFlight)())return(0,_tokenRefresh.queueBehindRefresh)().then(e=>(_index2.Logger.info("Retrying request after token refresh:",t.url),setAuthHeader(t,e),userClient(t))).catch(e=>(_index2.Logger.error("Failed to retry request after token refresh:",(0,_tokenRefresh.getErrorMessage)(e)),Promise.reject(e)));try{const e=await(0,_tokenRefresh.refreshAccessToken)();return setAuthHeader(t,e),userClient(t)}catch(e){return Promise.reject(e)}}return t?.skipErrorLog||_index2.Logger.error(`Response error: ${(0,_responseBodyText.responseBodyText)(r.response?.data,r.message)}, URL: ${t?.url}, Status: ${r.response.status}`),Promise.reject(e)});var _default=exports.default=userClient;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.storeToken=exports.setKeychainImplementation=exports.removeToken=exports.getToken=exports.REFRESH_TOKEN_KEY=exports.ACCESS_TOKEN_KEY=void 0;var SecureStore=_interopRequireWildcard(require("expo-secure-store")),_index=require("../logger/index.js");function _interopRequireWildcard(e,r){if("function"==typeof WeakMap)var
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.storeToken=exports.storeSessionUser=exports.setLegacyTokenKeys=exports.setKeychainImplementation=exports.removeToken=exports.removeSessionUser=exports.getToken=exports.getSessionUser=exports.clearSession=exports.addSessionEndedListener=exports.SESSION_USER_KEY=exports.REFRESH_TOKEN_KEY=exports.LEGACY_REFRESH_TOKEN_LIFETIME_MS=exports.ACCESS_TOKEN_KEY=void 0;var SecureStore=_interopRequireWildcard(require("expo-secure-store")),_index=require("../logger/index.js"),_index2=require("../storage/index.js"),_jwt=require("./jwt.js");function _interopRequireWildcard(e,r){if("function"==typeof WeakMap)var n=new WeakMap,t=new WeakMap;return(_interopRequireWildcard=function(e,r){if(!r&&e&&e.__esModule)return e;var o,s,i={__proto__:null,default:e};if(null===e||"object"!=typeof e&&"function"!=typeof e)return i;if(o=r?t:n){if(o.has(e))return o.get(e);o.set(e,i)}for(const r in e)"default"!==r&&{}.hasOwnProperty.call(e,r)&&((s=(o=Object.defineProperty)&&Object.getOwnPropertyDescriptor(e,r))&&(s.get||s.set)?o(i,r,s):i[r]=e[r]);return i})(e,r)}const ACCESS_TOKEN_KEY=exports.ACCESS_TOKEN_KEY="accessToken",REFRESH_TOKEN_KEY=exports.REFRESH_TOKEN_KEY="refreshToken",SESSION_USER_KEY=exports.SESSION_USER_KEY="sessionUser",LEGACY_REFRESH_TOKEN_LIFETIME_MS=exports.LEGACY_REFRESH_TOKEN_LIFETIME_MS=2592e6;let backend=null;const keyFor=e=>(e??"default").replace(/[^A-Za-z0-9._-]/g,"_"),expoSecureStoreBackend={setGenericPassword:async(e,r,n)=>(await SecureStore.setItemAsync(keyFor(n?.service),JSON.stringify({username:e,password:r})),!0),getGenericPassword:async e=>{const r=e?.service,n=await SecureStore.getItemAsync(keyFor(r));if(null===n)return!1;const t=JSON.parse(n);return{username:t.username,password:t.password,service:r??"default"}},resetGenericPassword:async e=>(await SecureStore.deleteItemAsync(keyFor(e?.service)),!0)},resolveBackend=()=>backend??expoSecureStoreBackend,memo=new Map;let generation=0;const forget=e=>{generation+=1,void 0===e?memo.clear():memo.delete(e)},requireBackend=e=>{const r=resolveBackend();if(!r){const r=new Error(`[authStore] no secure-store backend available; cannot ${e}.`);throw _index.Logger.error(r.message),r}return r},setKeychainImplementation=e=>{backend=e,forget()};exports.setKeychainImplementation=setKeychainImplementation;const storeToken=async(e,r,n)=>{_index.Logger.info(`Storing token for key: ${e}`),forget(e);try{const t=JSON.stringify({token:r,expiry:n});await requireBackend("store a token").setGenericPassword("token",t,{service:e}),forget(e),memo.set(e,{token:r,expiry:n}),_index.Logger.info(`Token stored successfully for key: ${e}`)}catch(r){throw forget(e),_index.Logger.error(`Error storing token for key: ${e}`,r),r}};exports.storeToken=storeToken;const parseTokenData=e=>{if(!e)return null;const{password:r}=e;try{const e=JSON.parse(r);return e&&"object"==typeof e&&"token"in e&&"expiry"in e&&"string"==typeof e.token&&"string"==typeof e.expiry?e:null}catch{return null}},getToken=async e=>{if(isSessionKey(e)&&legacyKeys&&await migrateLegacySession(),memo.has(e))return memo.get(e)??null;const r=generation;try{const n=await requireBackend("read a token").getGenericPassword({service:e});let t=null;if(n){const r=parseTokenData(n);if(r)t={token:r.token,expiry:r.expiry};else if(_index.Logger.warn(`Stored credentials for key "${e}" are not a valid token; ignoring them.`),isSessionKey(e))return await endSession("corrupt",!0),null}return r===generation&&memo.set(e,t),t}catch(r){const n=r instanceof Error?r.message:String(r);return n.includes("Key permanently invalidated")||n.includes("Secret invalidated")?(_index.Logger.error(`Stored token for key "${e}" can no longer be decrypted; clearing it.`),isSessionKey(e)?await endSession("corrupt",!0):await removeToken(e),null):(_index.Logger.error(`Error retrieving token for key: ${e}`,r),null)}};exports.getToken=getToken;const removeToken=async e=>{forget(e);try{await requireBackend("remove a token").resetGenericPassword({service:e}),_index.Logger.info(`Token removed successfully for key: ${e}`)}catch(r){if(r instanceof Error&&r.message.includes("Item not found"))return void _index.Logger.info(`No token found to remove for key: ${e}`);_index.Logger.error(`Failed to remove token for key: ${e}`,r)}finally{forget(e)}};exports.removeToken=removeToken;const isSessionKey=e=>e===ACCESS_TOKEN_KEY||e===REFRESH_TOKEN_KEY,storeSessionUser=async e=>{if(!await _index2.Storage.setItem(SESSION_USER_KEY,JSON.stringify(e)))throw new Error("[authStore] could not store the session user.")};exports.storeSessionUser=storeSessionUser;const getSessionUser=async()=>{const e=await _index2.Storage.getItem(SESSION_USER_KEY);if(null===e)return null;try{return JSON.parse(e)}catch{return _index.Logger.warn("The stored session user is not valid JSON; clearing it."),await removeSessionUser(),null}};exports.getSessionUser=getSessionUser;const removeSessionUser=async()=>{await _index2.Storage.removeItem(SESSION_USER_KEY)};exports.removeSessionUser=removeSessionUser;let legacyKeys=null,legacyCheck=null;const setLegacyTokenKeys=e=>{legacyKeys=e,legacyCheck=null};exports.setLegacyTokenKeys=setLegacyTokenKeys;const readLegacyToken=e=>{try{const r=JSON.parse(e);if("string"==typeof r)return""===r.trim()?null:{token:r,expiry:null};if(r&&"object"==typeof r&&"string"==typeof r.token&&"string"==typeof r.expiry)return r}catch{}return""===e.trim()?null:{token:e,expiry:null}},expiryOf=e=>3===e.split(".").length?(0,_jwt.getJWTExpiry)(e)?.toISOString()??null:null,readLegacyRaw=async e=>{const r=await resolveBackend().getGenericPassword({service:e});return r?r.password:null},migrateLegacySession=()=>{if(!legacyKeys)return Promise.resolve();if(legacyCheck)return legacyCheck;const e=legacyKeys;return legacyCheck=(async()=>{try{const r=resolveBackend(),n=!await r.getGenericPassword({service:ACCESS_TOKEN_KEY})&&!await r.getGenericPassword({service:REFRESH_TOKEN_KEY}),t=await readLegacyRaw(e.accessToken),o=await readLegacyRaw(e.refreshToken);if(n&&(null!==t||null!==o)){const n=null===t?null:readLegacyToken(t),s=null===o?null:readLegacyToken(o);if(n){const e=n.expiry??expiryOf(n.token)??(new Date).toISOString();await r.setGenericPassword("token",JSON.stringify({token:n.token,expiry:e}),{service:ACCESS_TOKEN_KEY})}if(s){const e=s.expiry??expiryOf(s.token)??new Date(Date.now()+LEGACY_REFRESH_TOKEN_LIFETIME_MS).toISOString();await r.setGenericPassword("token",JSON.stringify({token:s.token,expiry:e}),{service:REFRESH_TOKEN_KEY})}if(e.sessionUser){const r=await _index2.Storage.getItem(e.sessionUser);null!==r&&await _index2.Storage.setItem(SESSION_USER_KEY,r)}null===n&&null===s||(forget(),_index.Logger.breadcrumb("[authStore] moved a session from the legacy token keys"))}for(const n of[e.accessToken,e.refreshToken])await r.resetGenericPassword({service:n}).catch(()=>{});e.sessionUser&&await _index2.Storage.removeItem(e.sessionUser)}catch(e){_index.Logger.error("[authStore] could not move the session from the legacy token keys",e)}})(),legacyCheck},listeners=new Set,emitSessionEnded=(e,r)=>{for(const n of[...listeners])try{n(e,r)}catch(e){_index.Logger.error("[authStore] a session-ended listener threw",e)}},addSessionEndedListener=e=>(listeners.add(e),()=>{listeners.delete(e)});exports.addSessionEndedListener=addSessionEndedListener;const endSession=async(e,r,n=null)=>{const t=r||null!==await getToken(ACCESS_TOKEN_KEY)||null!==await getToken(REFRESH_TOKEN_KEY);await removeToken(ACCESS_TOKEN_KEY),await removeToken(REFRESH_TOKEN_KEY),await removeSessionUser(),t&&emitSessionEnded(e,{signOutReason:n})},clearSession=async(e="signedOut",r={})=>endSession(e,!1,r.signOutReason??null);exports.clearSession=clearSession;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),Object.defineProperty(exports,"decodeJWT",{enumerable:!0,get:function(){return _jwt.decodeJWT}}),Object.defineProperty(exports,"getJWTExpiry",{enumerable:!0,get:function(){return _jwt.getJWTExpiry}}),Object.defineProperty(exports,"getToken",{enumerable:!0,get:function(){return _authStore.getToken}}),Object.defineProperty(exports,"isJWTExpired",{enumerable:!0,get:function(){return _jwt.isJWTExpired}}),Object.defineProperty(exports,"removeToken",{enumerable:!0,get:function(){return _authStore.removeToken}}),Object.defineProperty(exports,"storeToken",{enumerable:!0,get:function(){return _authStore.storeToken}});var _authStore=require("./authStore.js"),_jwt=require("./jwt.js");
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),Object.defineProperty(exports,"ACCESS_TOKEN_KEY",{enumerable:!0,get:function(){return _authStore.ACCESS_TOKEN_KEY}}),Object.defineProperty(exports,"LEGACY_REFRESH_TOKEN_LIFETIME_MS",{enumerable:!0,get:function(){return _authStore.LEGACY_REFRESH_TOKEN_LIFETIME_MS}}),Object.defineProperty(exports,"REFRESH_TOKEN_KEY",{enumerable:!0,get:function(){return _authStore.REFRESH_TOKEN_KEY}}),Object.defineProperty(exports,"SESSION_USER_KEY",{enumerable:!0,get:function(){return _authStore.SESSION_USER_KEY}}),Object.defineProperty(exports,"addSessionEndedListener",{enumerable:!0,get:function(){return _authStore.addSessionEndedListener}}),Object.defineProperty(exports,"clearSession",{enumerable:!0,get:function(){return _authStore.clearSession}}),Object.defineProperty(exports,"decodeJWT",{enumerable:!0,get:function(){return _jwt.decodeJWT}}),Object.defineProperty(exports,"getJWTExpiry",{enumerable:!0,get:function(){return _jwt.getJWTExpiry}}),Object.defineProperty(exports,"getSessionUser",{enumerable:!0,get:function(){return _authStore.getSessionUser}}),Object.defineProperty(exports,"getToken",{enumerable:!0,get:function(){return _authStore.getToken}}),Object.defineProperty(exports,"isJWTExpired",{enumerable:!0,get:function(){return _jwt.isJWTExpired}}),Object.defineProperty(exports,"removeSessionUser",{enumerable:!0,get:function(){return _authStore.removeSessionUser}}),Object.defineProperty(exports,"removeToken",{enumerable:!0,get:function(){return _authStore.removeToken}}),Object.defineProperty(exports,"setLegacyTokenKeys",{enumerable:!0,get:function(){return _authStore.setLegacyTokenKeys}}),Object.defineProperty(exports,"storeSessionUser",{enumerable:!0,get:function(){return _authStore.storeSessionUser}}),Object.defineProperty(exports,"storeToken",{enumerable:!0,get:function(){return _authStore.storeToken}});var _authStore=require("./authStore.js"),_jwt=require("./jwt.js");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.getConfig=exports.DEFAULT_LOG_LEVEL=void 0,exports.getConfigValue=getConfigValue,exports.setConfig=exports.resetConfig=void 0;const DEFAULT_LOG_LEVEL=exports.DEFAULT_LOG_LEVEL=__DEV__?"info":"warn",DEFAULT_CONFIG={baseUrl:null,loggingEnabled:!0,logLevel:DEFAULT_LOG_LEVEL,environment:"Development",country:"in",appId:null,appVersion:null,logCurl:!1};let globalConfig={...DEFAULT_CONFIG};const setConfig=o=>{globalConfig={...globalConfig,...o}};exports.setConfig=setConfig;const getConfig=()=>globalConfig;function getConfigValue(o,e){const
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.getConfig=exports.DEFAULT_TIMEOUT_MS=exports.DEFAULT_RETRIES=exports.DEFAULT_LOG_LEVEL=exports.DEFAULT_CORRELATION_ID_HEADER=void 0,exports.getConfigValue=getConfigValue,exports.setConfig=exports.resetConfig=void 0;const DEFAULT_LOG_LEVEL=exports.DEFAULT_LOG_LEVEL=__DEV__?"info":"warn",DEFAULT_TIMEOUT_MS=exports.DEFAULT_TIMEOUT_MS=3e4,DEFAULT_RETRIES=exports.DEFAULT_RETRIES=3,DEFAULT_CORRELATION_ID_HEADER=exports.DEFAULT_CORRELATION_ID_HEADER="X-Correlation-Id",DEFAULT_CONFIG={baseUrl:null,loggingEnabled:!0,logLevel:DEFAULT_LOG_LEVEL,environment:"Development",country:"in",appId:null,appVersion:null,commit:null,appBuild:null,appStoreId:null,logCurl:!1,timeoutMs:DEFAULT_TIMEOUT_MS,retries:DEFAULT_RETRIES,correlationIdHeader:DEFAULT_CORRELATION_ID_HEADER};let globalConfig={...DEFAULT_CONFIG};const setConfig=o=>{globalConfig={...globalConfig,...o}};exports.setConfig=setConfig;const getConfig=()=>globalConfig;function getConfigValue(o,e){const t=globalConfig[o];return null!==t?t:e}exports.getConfig=getConfig;const resetConfig=()=>{globalConfig={...DEFAULT_CONFIG}};exports.resetConfig=resetConfig;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.UNEXPECTED_MESSAGE=exports.TIMEOUT_MESSAGE=exports.TIMEOUT_CODE=exports.SERVER_FAILURE_MESSAGE=exports.REQUEST_CANCELED_CODE=exports.OFFLINE_MESSAGE=exports.NETWORK_CODE=exports.CONTRACT_ERROR_CODE=void 0,exports.apiErrorMessage=apiErrorMessage,exports.extractApiError=extractApiError,exports.toFieldPath=exports.isNoResponse=exports.isApiError=void 0;const SERVER_FAILURE_MESSAGE=exports.SERVER_FAILURE_MESSAGE="Something went wrong on our side. Please try again in a moment.",OFFLINE_MESSAGE=exports.OFFLINE_MESSAGE="You appear to be offline. Check your connection and try again.",TIMEOUT_MESSAGE=exports.TIMEOUT_MESSAGE="That took too long to respond. Check your connection and try again.",UNEXPECTED_MESSAGE=exports.UNEXPECTED_MESSAGE="Something went wrong. Please try again.",REQUEST_CANCELED_CODE=exports.REQUEST_CANCELED_CODE="request_canceled",CONTRACT_ERROR_CODE=exports.CONTRACT_ERROR_CODE="contract_error",TIMEOUT_CODE=exports.TIMEOUT_CODE="timeout",NETWORK_CODE=exports.NETWORK_CODE="network",MAX_MESSAGE_LENGTH=300,requestFailedMessage=e=>`Request failed (${e})`,isDict=e=>"object"==typeof e&&null!==e&&!Array.isArray(e),nonEmptyString=e=>"string"==typeof e&&e.trim().length>0?e:null,looksLikeDiagnostics=e=>e.length>300||/^\s*</.test(e)||e.includes("\n at ")||/\b(Exception|StackTrace):/.test(e)||/\b(System|Microsoft)\.[A-Za-z]+\.[A-Za-z]/.test(e),userSafe=e=>{const r=nonEmptyString(e);return null===r||looksLikeDiagnostics(r)?null:r},toFieldPath=e=>e.replace(/^\$\.?/,"").split(".").map(e=>e.charAt(0).toLowerCase()+e.slice(1)).join(".");exports.toFieldPath=toFieldPath;const firstMessage=e=>{if(Array.isArray(e)){for(const r of e){const e=nonEmptyString(r);if(null!==e)return e}return null}return nonEmptyString(e)},addError=(e,r,t)=>{const s=toFieldPath(r);""===s?e.form??=t:s in e.fields||(e.fields[s]=t)},readErrors=e=>{const r={fields:{},form:null};if(Array.isArray(e)){for(const t of e){if(!isDict(t))continue;const e=nonEmptyString(t.message);null!==e&&addError(r,"string"==typeof t.field?t.field:"",e)}return r}if(!isDict(e))return r;for(const[t,s]of Object.entries(e)){const e=firstMessage(s);null!==e&&addError(r,t,e)}return r},readLegacyError=e=>{const r=e.error;return isDict(r)?nonEmptyString(r.message):nonEmptyString(r)},isApiError=e=>isDict(e)&&"string"==typeof e.message&&"number"==typeof e.status&&"boolean"==typeof e.offline&&isDict(e.fieldErrors);exports.isApiError=isApiError;const build=e=>({code:null,fieldErrors:{},status:0,offline:!1,traceId:null,detail:null,...e}),fromNoResponse=e=>{const r=nonEmptyString(e.code),t=nonEmptyString(e.name),s=nonEmptyString(e.message);return build("CanceledError"===t||"ERR_CANCELED"===r?{code:REQUEST_CANCELED_CODE,message:UNEXPECTED_MESSAGE,detail:s}:"ECONNABORTED"===r||"ETIMEDOUT"===r?{code:TIMEOUT_CODE,message:TIMEOUT_MESSAGE,offline:!0,detail:s}:"RequestOfflineError"===t||"ERR_NETWORK"===r||"Network Error"===s?{code:NETWORK_CODE,message:OFFLINE_MESSAGE,offline:!0,detail:s}:{message:UNEXPECTED_MESSAGE,detail:s})};function extractApiError(e){if(isApiError(e))return e;if("string"==typeof e)return build({message:userSafe(e)??UNEXPECTED_MESSAGE,detail:e||null});if(!isDict(e))return build({message:UNEXPECTED_MESSAGE,detail:null==e?null:String(e)});if(!0===e.isContractError)return build({code:CONTRACT_ERROR_CODE,message:userSafe(e.message)??UNEXPECTED_MESSAGE,detail:nonEmptyString(e.message)});const r=isDict(e.response)?e.response:null,t="number"==typeof r?.status?r.status:"number"==typeof e.status?e.status:0,s=r?r.data:e.body;if(0===t&&null==s)return fromNoResponse(e);const E=isDict(s)?s:null,{fields:o,form:n}=readErrors(E?.errors),i=nonEmptyString(E?.code),a=nonEmptyString(E?.traceId),l=nonEmptyString(E?.message)??nonEmptyString(E?.detail)??(E?readLegacyError(E):null)??nonEmptyString(E?.title)??nonEmptyString(s)??nonEmptyString(e.message);let S;return S=t>=500?SERVER_FAILURE_MESSAGE:userSafe(Object.values(o)[0])??userSafe(n)??userSafe(E?.message)??userSafe(E?.detail)??(E?userSafe(readLegacyError(E)):null)??userSafe(E?.title)??userSafe(s)??(t?requestFailedMessage(t):UNEXPECTED_MESSAGE),build({code:i,message:S,fieldErrors:o,status:t,traceId:a,detail:l})}const isNoResponse=e=>extractApiError(e).offline;function apiErrorMessage(e,r){const t=extractApiError(e);if(t.offline||null!==r&&!r)return t.message;return t.status>=500||t.code===REQUEST_CANCELED_CODE||t.message===UNEXPECTED_MESSAGE||t.message===requestFailedMessage(t.status)?r??null:t.message}exports.isNoResponse=isNoResponse;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),Object.defineProperty(exports,"CONTRACT_ERROR_CODE",{enumerable:!0,get:function(){return _extractApiError.CONTRACT_ERROR_CODE}}),Object.defineProperty(exports,"NETWORK_CODE",{enumerable:!0,get:function(){return _extractApiError.NETWORK_CODE}}),Object.defineProperty(exports,"OFFLINE_MESSAGE",{enumerable:!0,get:function(){return _extractApiError.OFFLINE_MESSAGE}}),Object.defineProperty(exports,"REQUEST_CANCELED_CODE",{enumerable:!0,get:function(){return _extractApiError.REQUEST_CANCELED_CODE}}),Object.defineProperty(exports,"SERVER_FAILURE_MESSAGE",{enumerable:!0,get:function(){return _extractApiError.SERVER_FAILURE_MESSAGE}}),Object.defineProperty(exports,"TIMEOUT_CODE",{enumerable:!0,get:function(){return _extractApiError.TIMEOUT_CODE}}),Object.defineProperty(exports,"TIMEOUT_MESSAGE",{enumerable:!0,get:function(){return _extractApiError.TIMEOUT_MESSAGE}}),Object.defineProperty(exports,"UNEXPECTED_MESSAGE",{enumerable:!0,get:function(){return _extractApiError.UNEXPECTED_MESSAGE}}),Object.defineProperty(exports,"apiErrorMessage",{enumerable:!0,get:function(){return _extractApiError.apiErrorMessage}}),Object.defineProperty(exports,"extractApiError",{enumerable:!0,get:function(){return _extractApiError.extractApiError}}),Object.defineProperty(exports,"isApiError",{enumerable:!0,get:function(){return _extractApiError.isApiError}}),Object.defineProperty(exports,"isNoResponse",{enumerable:!0,get:function(){return _extractApiError.isNoResponse}}),Object.defineProperty(exports,"toFieldPath",{enumerable:!0,get:function(){return _extractApiError.toFieldPath}});var _extractApiError=require("./extractApiError.js");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.formatCurrency=void 0;var _intlCache=require("./intlCache.js");const hasIntlNumber=()=>"undefined"!=typeof Intl&&"function"==typeof Intl.NumberFormat,indianGroupingFallback=(r,t)=>{const e=r<0?"-":"",n=Math.abs(r).toFixed(t),[i,
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.formatCurrency=void 0;var _formatConfig=require("./formatConfig.js"),_intlCache=require("./intlCache.js");const hasIntlNumber=()=>"undefined"!=typeof Intl&&"function"==typeof Intl.NumberFormat,indianGroupingFallback=(r,t)=>{const e=r<0?"-":"",n=Math.abs(r).toFixed(t),[i,o]=n.split("."),m=i.length>3?i.slice(-3):i,u=i.length>3?i.slice(0,-3):"";return e+(u?u.replace(/\B(?=(\d{2})+(?!\d))/g,",")+","+m:m)+(o?`.${o}`:"")},toAmount=r=>{if(null==r||"string"==typeof r&&""===r.trim())return null;const t="number"==typeof r?r:Number(r);return Number.isFinite(t)?t:null},currencyDigits=(r,t)=>(0,_intlCache.numberFormat)(r,{style:"currency",currency:t}).resolvedOptions().maximumFractionDigits??2,formatCurrency=(r,t={})=>{const{currency:e="INR",locale:n=(0,_formatConfig.configuredLocale)()??"en-IN",minimumFractionDigits:i,maximumFractionDigits:o,stripSymbol:m=!1,empty:u=((0,_formatConfig.isFormatterConfigured)("locale")||(0,_formatConfig.isFormatterConfigured)("empty")?(0,_formatConfig.getFormatterConfig)().empty:""),...a}=t,c=toAmount(r);if(null===c)return u;if(hasIntlNumber())try{const r=o??currencyDigits(n,e),t=i??(Number.isInteger(c)?0:r),u=(0,_intlCache.numberFormat)(n,{...a,style:"currency",currency:e,minimumFractionDigits:t,maximumFractionDigits:Math.max(t,r)}).format(c);return m?u.replace(/[^\d,.\s\-+]/g,"").trim():u}catch{}const s=indianGroupingFallback(c,i??(Number.isInteger(c)?0:2));return m?s:"INR"===e?`₹${s}`:`${e} ${s}`};exports.formatCurrency=formatCurrency;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.formatDate=formatDate,exports.formatDateTime=formatDateTime,exports.formatRelativeTime=void 0,exports.formatTime=formatTime;var _house=require("./house.js"),_intlCache=require("./intlCache.js");const toDate=t=>{if(t instanceof Date)return Number.isNaN(t.getTime())?null:t;const e=new Date(t);return Number.isNaN(e.getTime())?null:e},hasIntl=()=>"undefined"!=typeof Intl&&"function"==typeof Intl.DateTimeFormat,PAD=t=>t<10?`0${t}`:`${t}`,fallbackDate=(t,e)=>{const a=PAD(t.getDate()),r=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"][t.getMonth()],n=["January","February","March","April","May","June","July","August","September","October","November","December"][t.getMonth()],o=t.getFullYear(),i=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"][t.getDay()];switch(e){case"short":return`${a}/${PAD(t.getMonth()+1)}/${o}`;case"long":return`${a} ${n} ${o}`;case"full":return`${i}, ${a} ${n} ${o}`;default:return`${a} ${r} ${o}`}},fallbackTime=(t,e)=>{const a=PAD(t.getHours()),r=PAD(t.getMinutes());if("short"===e)return`${a}:${r}`;return`${a}:${r}:${PAD(t.getSeconds())}`},isStyle=t=>"string"==typeof t;function formatDate(t,e,a="en-IN"){if(!isStyle(e))return(0,_house.formatDate)(t,e);const r=e,n=toDate(t);if(!n)return"";if(hasIntl())try{return(0,_intlCache.dateTimeFormat)(a,{dateStyle:r}).format(n)}catch{}return fallbackDate(n,r)}function formatTime(t,e,a="en-IN"){if(!isStyle(e))return(0,_house.formatTime)(t,e);const r=e,n=toDate(t);if(!n)return"";if(hasIntl())try{return(0,_intlCache.dateTimeFormat)(a,{timeStyle:r}).format(n)}catch{}return fallbackTime(n,r)}function formatDateTime(t,e,a="short",r="en-IN"){if(!isStyle(e))return(0,_house.formatDateTime)(t,e);const n=e,o=toDate(t);if(!o)return"";if(hasIntl())try{return(0,_intlCache.dateTimeFormat)(r,{dateStyle:n,timeStyle:a}).format(o)}catch{}return`${fallbackDate(o,n)}, ${fallbackTime(o,a)}`}const SECOND=1e3,MINUTE=6e4,HOUR=36e5,DAY=24*HOUR,WEEK=7*DAY,MONTH=30*DAY,YEAR=365*DAY,formatRelativeTime=(t,e=new Date,a="en-IN")=>{const r=toDate(t),n=toDate(e);if(!r||!n)return"";const o=r.getTime()-n.getTime(),i=Math.abs(o);let u,m;i<6e4?(u="second",m=Math.round(o/1e3)):i<HOUR?(u="minute",m=Math.round(o/6e4)):i<DAY?(u="hour",m=Math.round(o/HOUR)):i<WEEK?(u="day",m=Math.round(o/DAY)):i<MONTH?(u="week",m=Math.round(o/WEEK)):i<YEAR?(u="month",m=Math.round(o/MONTH)):(u="year",m=Math.round(o/YEAR));const s=hasIntl()?Intl.RelativeTimeFormat:void 0;if("function"==typeof s)try{return(0,_intlCache.relativeTimeFormat)(s,a).format(m,u)}catch{}const l=m<0,f=Math.abs(m),c=1===f?u:`${u}s`;return l?`${f} ${c} ago`:`in ${f} ${c}`};exports.formatRelativeTime=formatRelativeTime;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.startOfDay=exports.isSameDay=exports.isDateBefore=exports.isDateAfter=exports.formatTimeInZone=exports.formatTimeInWindowsZone=exports.formatTime12h=exports.formatDatePattern=exports.formatDateISO=exports.formatDateDDMMMYYYY=exports.diffMs=exports.addDays=void 0;var _intlCache=require("./intlCache.js"),_windowsToIanaTable=require("./windowsToIanaTable.js");const toDate=t=>{if(t instanceof Date)return Number.isNaN(t.getTime())?null:t;const e=new Date(t);return Number.isNaN(e.getTime())?null:e},PAD=t=>t<10?`0${t}`:`${t}`,isSameDay=(t,e)=>{const r=toDate(t),a=toDate(e);return!(!r||!a)&&(r.getFullYear()===a.getFullYear()&&r.getMonth()===a.getMonth()&&r.getDate()===a.getDate())};exports.isSameDay=isSameDay;const isDateBefore=(t,e)=>{const r=toDate(t),a=toDate(e);return null!==r&&null!==a&&r.getTime()<a.getTime()};exports.isDateBefore=isDateBefore;const isDateAfter=(t,e)=>{const r=toDate(t),a=toDate(e);return null!==r&&null!==a&&r.getTime()>a.getTime()};exports.isDateAfter=isDateAfter;const diffMs=(t,e)=>{const r=toDate(t),a=toDate(e);return r&&a?r.getTime()-a.getTime():Number.NaN};exports.diffMs=diffMs;const startOfDay=t=>{const e=toDate(t);if(!e)return null;const r=new Date(e);return r.setHours(0,0,0,0),r};exports.startOfDay=startOfDay;const addDays=(t,e)=>{const r=toDate(t);if(!r)return null;const a=new Date(r);return a.setDate(a.getDate()+e),a};exports.addDays=addDays;const WEEKDAY_SHORT=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],WEEKDAY_LONG=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],MONTH_LONG=["January","February","March","April","May","June","July","August","September","October","November","December"],TOKENS=["YYYY","YY","MMMM","MMM","MM","M","DD","D","dddd","ddd","HH","H","hh","h","mm","m","ss","s","A","a"],tokenizePattern=t=>{const e=[];let r=0;t:for(;r<t.length;){for(const a of TOKENS)if(t.startsWith(a,r)){e.push(a),r+=a.length;continue t}e.push(t[r]),r+=1}return e},formatDatePattern=(t,e,r)=>{const a=toDate(t);if(!a)return"";const
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.startOfDay=exports.isSameDay=exports.isDateBefore=exports.isDateAfter=exports.formatTimeInZone=exports.formatTimeInWindowsZone=exports.formatTime12h=exports.formatDatePattern=exports.formatDateISO=exports.formatDateDDMMMYYYY=exports.diffMs=exports.addDays=void 0;var _intlCache=require("./intlCache.js"),_windowsToIanaTable=require("./windowsToIanaTable.js");const toDate=t=>{if(t instanceof Date)return Number.isNaN(t.getTime())?null:t;const e=new Date(t);return Number.isNaN(e.getTime())?null:e},PAD=t=>t<10?`0${t}`:`${t}`,isSameDay=(t,e)=>{const r=toDate(t),a=toDate(e);return!(!r||!a)&&(r.getFullYear()===a.getFullYear()&&r.getMonth()===a.getMonth()&&r.getDate()===a.getDate())};exports.isSameDay=isSameDay;const isDateBefore=(t,e)=>{const r=toDate(t),a=toDate(e);return null!==r&&null!==a&&r.getTime()<a.getTime()};exports.isDateBefore=isDateBefore;const isDateAfter=(t,e)=>{const r=toDate(t),a=toDate(e);return null!==r&&null!==a&&r.getTime()>a.getTime()};exports.isDateAfter=isDateAfter;const diffMs=(t,e)=>{const r=toDate(t),a=toDate(e);return r&&a?r.getTime()-a.getTime():Number.NaN};exports.diffMs=diffMs;const startOfDay=t=>{const e=toDate(t);if(!e)return null;const r=new Date(e);return r.setHours(0,0,0,0),r};exports.startOfDay=startOfDay;const addDays=(t,e)=>{if(null==t||""===t||!Number.isFinite(e))return null;const r=toDate(t);if(!r)return null;const a=new Date(r);return a.setDate(a.getDate()+e),a};exports.addDays=addDays;const WEEKDAY_SHORT=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],WEEKDAY_LONG=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],MONTH_LONG=["January","February","March","April","May","June","July","August","September","October","November","December"],TOKENS=["YYYY","YY","MMMM","MMM","MM","M","DD","D","dddd","ddd","HH","H","hh","h","mm","m","ss","s","A","a"],tokenizePattern=t=>{const e=[];let r=0;t:for(;r<t.length;){for(const a of TOKENS)if(t.startsWith(a,r)){e.push(a),r+=a.length;continue t}e.push(t[r]),r+=1}return e},formatDatePattern=(t,e,r)=>{const a=toDate(t);if(!a)return"";const n=r?.utc??!1,o=n?a.getUTCFullYear():a.getFullYear(),s=n?a.getUTCMonth():a.getMonth(),u=n?a.getUTCDate():a.getDate(),i=n?a.getUTCDay():a.getDay(),D=n?a.getUTCHours():a.getHours(),m=n?a.getUTCMinutes():a.getMinutes(),c=n?a.getUTCSeconds():a.getSeconds(),{hour12:f,period:M}=to12Hour(D);return tokenizePattern(e).map(t=>{switch(t){case"YYYY":return String(o);case"YY":return String(o).slice(-2);case"MMMM":return MONTH_LONG[s];case"MMM":return MONTH_SHORT[s];case"MM":return PAD(s+1);case"M":return String(s+1);case"DD":return PAD(u);case"D":return String(u);case"dddd":return WEEKDAY_LONG[i];case"ddd":return WEEKDAY_SHORT[i];case"HH":return PAD(D);case"H":return String(D);case"hh":return PAD(f);case"h":return String(f);case"mm":return PAD(m);case"m":return String(m);case"ss":return PAD(c);case"s":return String(c);case"A":return M;case"a":return M.toLowerCase();default:return t}}).join("")};exports.formatDatePattern=formatDatePattern;const MONTH_SHORT=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],formatDateDDMMMYYYY=(t,e)=>{const r=toDate(t);return r?e?.utc?`${PAD(r.getUTCDate())} ${MONTH_SHORT[r.getUTCMonth()]}, ${r.getUTCFullYear()}`:`${PAD(r.getDate())} ${MONTH_SHORT[r.getMonth()]}, ${r.getFullYear()}`:""};exports.formatDateDDMMMYYYY=formatDateDDMMMYYYY;const formatDateISO=t=>{const e=toDate(t);return e?`${e.getFullYear()}-${PAD(e.getMonth()+1)}-${PAD(e.getDate())}`:""};exports.formatDateISO=formatDateISO;const to12Hour=t=>({hour12:t%12||12,period:t>=12?"PM":"AM"}),formatTime12h=t=>{const e=toDate(t);if(!e)return"";const{hour12:r,period:a}=to12Hour(e.getHours());return`${PAD(r)}:${PAD(e.getMinutes())} ${a}`};exports.formatTime12h=formatTime12h;const hasIntl=()=>"undefined"!=typeof Intl&&"function"==typeof Intl.DateTimeFormat,formatTimeInZone=(t,e)=>{const r=toDate(t);if(!r)return"";if(!hasIntl())return formatTime12h(r);const a=(0,_intlCache.dateTimeFormat)("en-US",{timeZone:e,hour:"numeric",minute:"2-digit",hour12:!0}).formatToParts(r),get=t=>a.find(e=>e.type===t)?.value??"",n=Number.parseInt(get("hour"),10),o=get("minute"),s=get("dayPeriod").toLowerCase();return`${PAD(n)}:${o} ${s}`};exports.formatTimeInZone=formatTimeInZone;const formatTimeInWindowsZone=(t,e)=>{const r=_windowsToIanaTable.WINDOWS_TO_IANA[e];if(!r)throw new Error(`Mapping for Windows time zone '${e}' not found.`);return formatTimeInZone(t,r)};exports.formatTimeInWindowsZone=formatTimeInWindowsZone;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.isFormatterConfigured=exports.groupingForLocale=exports.getFormatterConfig=exports.configuredLocale=exports.configureFormatters=void 0;const DEFAULTS={zone:"IST",locale:"en-IN",empty:"-"};let current={...DEFAULTS},configured=new Set;const configureFormatters=e=>{if(void 0===e)return current={...DEFAULTS},void(configured=new Set);for(const o of Object.keys(e)){const r=e[o];void 0!==r&&(current={...current,[o]:r},configured.add(o))}};exports.configureFormatters=configureFormatters;const getFormatterConfig=()=>({...current});exports.getFormatterConfig=getFormatterConfig;const isFormatterConfigured=e=>configured.has(e);exports.isFormatterConfigured=isFormatterConfigured;const configuredLocale=()=>configured.has("locale")?current.locale:null;exports.configuredLocale=configuredLocale;const groupingForLocale=e=>/-IN(?:-|$)/i.test(e)?"indian":"international";exports.groupingForLocale=groupingForLocale;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.formatTime=exports.formatRelative=exports.formatPercent=exports.formatNumber=exports.formatMinor=exports.formatDateTime=exports.formatDate=void 0;var _formatConfig=require("./formatConfig.js"),_intlCache=require("./intlCache.js");const MONTHS=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],IST_OFFSET_MINUTES=330,IST_NAMES=["IST","Asia/Kolkata","Asia/Calcutta"],DATE_ONLY=/^\d{4}-\d{2}-\d{2}$/,pad2=t=>t<10?`0${t}`:`${t}`,emptyOf=t=>t??(0,_formatConfig.getFormatterConfig)().empty,toInstant=t=>{if(null==t||""===t)return null;const e=t instanceof Date?t:new Date("string"==typeof t?t.trim():t);return Number.isNaN(e.getTime())?null:e},isDateOnly=t=>"string"==typeof t&&DATE_ONLY.test(t.trim()),gmtLabel=t=>{if(0===t)return"GMT";const e=t>0?"+":"-",n=Math.abs(t),o=n%60;return`GMT${e}${Math.floor(n/60)}${0===o?"":`:${pad2(o)}`}`},shifted=(t,e,n)=>{const o=new Date(t.getTime()+6e4*e);return{year:o.getUTCFullYear(),month:o.getUTCMonth(),day:o.getUTCDate(),hour:o.getUTCHours(),minute:o.getUTCMinutes(),label:n}},inIanaZone=(t,e)=>{const n=(0,_intlCache.dateTimeFormat)("en-US",{timeZone:e,year:"numeric",month:"numeric",day:"numeric",hour:"numeric",minute:"numeric",hour12:!1}).formatToParts(t),read=t=>Number.parseInt(n.find(e=>e.type===t)?.value??"",10),o=read("year"),r=read("month")-1,i=read("day"),a=read("hour")%24,m=read("minute"),l=Date.UTC(o,r,i,a,m),u=Math.round((l-6e4*Math.floor(t.getTime()/6e4))/6e4);return{year:o,month:r,day:i,hour:a,minute:m,label:gmtLabel(u)}},wallClock=(t,e)=>IST_NAMES.includes(e)?shifted(t,330,"IST"):"UTC"===e?shifted(t,0,"UTC"):"viewer"===e?{year:t.getFullYear(),month:t.getMonth(),day:t.getDate(),hour:t.getHours(),minute:t.getMinutes(),label:gmtLabel(-t.getTimezoneOffset())}:inIanaZone(t,e),hourCycleOf=t=>t.hourCycle??12,dayMonthYear=t=>`${pad2(t.day)}-${MONTHS[t.month]}-${t.year}`,clockTime=(t,e)=>24===e?`${pad2(t.hour)}:${pad2(t.minute)}`:`${t.hour%12||12}:${pad2(t.minute)} ${t.hour<12?"AM":"PM"}`,labelled=(t,e)=>e??!IST_NAMES.includes(t),withLabel=(t,e,n,o)=>labelled(n,o)?`${t} ${e.label}`:t,intlZone=t=>{if("viewer"!==t)return IST_NAMES.includes(t)?"Asia/Kolkata":t},localeDayMonthYear=(t,e,n)=>{const o=(0,_intlCache.dateTimeFormat)(e,{day:"2-digit",month:"short",year:"numeric",timeZone:n}).formatToParts(t),part=t=>o.find(e=>e.type===t)?.value??"";return`${part("day")}-${part("month").replace(".","")}-${part("year")}`},localeClock=(t,e,n,o)=>(0,_intlCache.dateTimeFormat)(e,{hour:"2-digit",minute:"2-digit",timeZone:intlZone(n),timeZoneName:labelled(n,o.zoneLabel)?"short":void 0,hourCycle:void 0===o.hourCycle?void 0:24===o.hourCycle?"h23":"h12"}).format(t),formatDate=(t,e={})=>{const n=toInstant(t);if(!n)return emptyOf(e.empty);const o=isDateOnly(t)?"UTC":e.zone??(0,_formatConfig.getFormatterConfig)().zone,r=(0,_formatConfig.configuredLocale)();return r?localeDayMonthYear(n,r,intlZone(o)):dayMonthYear(wallClock(n,o))};exports.formatDate=formatDate;const formatTime=(t,e={})=>{const n=toInstant(t);if(!n)return emptyOf(e.empty);const o=e.zone??(0,_formatConfig.getFormatterConfig)().zone,r=(0,_formatConfig.configuredLocale)();if(r)return localeClock(n,r,o,e);const i=wallClock(n,o);return withLabel(clockTime(i,hourCycleOf(e)),i,o,e.zoneLabel)};exports.formatTime=formatTime;const formatDateTime=(t,e={})=>{const n=toInstant(t);if(!n)return emptyOf(e.empty);const o=e.zone??(0,_formatConfig.getFormatterConfig)().zone,r=(0,_formatConfig.configuredLocale)();if(r)return`${localeDayMonthYear(n,r,intlZone(o))}, ${localeClock(n,r,o,e)}`;const i=wallClock(n,o);return withLabel(`${dayMonthYear(i)}, ${clockTime(i,hourCycleOf(e))}`,i,o,e.zoneLabel)};exports.formatDateTime=formatDateTime;const SECOND=1e3,MINUTE=6e4,HOUR=36e5,DAY=24*HOUR,WEEK=7*DAY,MONTH=30*DAY,YEAR=365*DAY,INTL_UNITS=[["year",YEAR],["month",MONTH],["day",DAY],["hour",HOUR],["minute",6e4]],formatRelative=(t,e={})=>{const n=toInstant(t),o=toInstant(e.now??Date.now());if(!n||!o)return emptyOf(e.empty);const r=n.getTime()-o.getTime(),i=Math.abs(r),a=Intl.RelativeTimeFormat,m=(0,_formatConfig.configuredLocale)();if((null!==m||!0===e.intl)&&"function"==typeof a){const t=(0,_intlCache.relativeTimeFormat)(a,m??(0,_formatConfig.getFormatterConfig)().locale),[e,n]=INTL_UNITS.find(([,t])=>i>=t)??["second",1e3];return t.format(Math.round(r/n),e)}if(i<6e4)return"just now";const[l,u]=i<HOUR?["minute",6e4]:i<DAY?["hour",HOUR]:i<WEEK?["day",DAY]:i<MONTH?["week",WEEK]:i<YEAR?["month",MONTH]:["year",YEAR],c=Math.floor(i/u),s=`${c} ${l}${1===c?"":"s"}`;return r<0?`${s} ago`:`in ${s}`};exports.formatRelative=formatRelative;const toNumber=t=>{if(null==t)return null;if("string"==typeof t&&""===t.trim())return null;const e="number"==typeof t?t:Number(t);return Number.isFinite(e)?e:null},clampDigits=t=>Math.min(20,Math.max(0,Math.trunc(t))),shiftDecimal=(t,e)=>/e/i.test(String(t))?t*10**e:Number(`${t}e${e}`),groupInteger=(t,e)=>{if("none"===e||t.length<=3)return t;if("international"===e)return t.replace(/\B(?=(\d{3})+(?!\d))/g,",");return`${t.slice(0,-3).replace(/\B(?=(\d{2})+(?!\d))/g,",")},${t.slice(-3)}`},hasIntlNumber=()=>"undefined"!=typeof Intl&&"function"==typeof Intl.NumberFormat,plainDigits=(t,e)=>{if(hasIntlNumber())return(0,_intlCache.numberFormat)("en-US",{useGrouping:!1,minimumFractionDigits:0,maximumFractionDigits:e}).format(t);const n=Math.min(e,15);return shiftDecimal(Math.round(shiftDecimal(t,n)),-n).toFixed(n)},decimalText=(t,e,n,o)=>{const r=Math.max(clampDigits(n),clampDigits(e)),i=clampDigits(e),a=plainDigits(Math.abs(t),r),[m="0",l=""]=a.split(".");let u=l.padEnd(i,"0");for(;u.length>i&&u.endsWith("0");)u=u.slice(0,-1);const c=groupInteger(m,o)+(u?`.${u}`:"");return t<0&&/[1-9]/.test(a)?`-${c}`:c},HOUSE_NUMBER_KEYS=new Set(["grouping","minimumFractionDigits","maximumFractionDigits","locale","empty","scale"]),intlNumberOptions=t=>{if(!Object.entries(t).some(([t,e])=>void 0!==e&&!HOUSE_NUMBER_KEYS.has(t)))return null;const{grouping:e,locale:n,empty:o,scale:r,...i}=t;return"none"===e&&void 0===i.useGrouping?{...i,useGrouping:!1}:i},localeOf=t=>t.locale??(0,_formatConfig.getFormatterConfig)().locale,intlTextLocale=t=>{const e=(0,_formatConfig.configuredLocale)();return null===e||"indian"===t.grouping||"international"===t.grouping?null:t.locale??e},fractionDigits=(t,e)=>{const n=clampDigits(t);return{minimumFractionDigits:n,maximumFractionDigits:Math.max(n,clampDigits(e))}},groupingOption=t=>"none"===t?{useGrouping:!1}:{},formatNumber=(t,e={})=>{const n=toNumber(t);if(null===n)return emptyOf(e.empty);const o=intlNumberOptions(e);if(o)return(0,_intlCache.numberFormat)(localeOf(e),o).format(n);const r=intlTextLocale(e);return r?(0,_intlCache.numberFormat)(r,{...fractionDigits(e.minimumFractionDigits??0,e.maximumFractionDigits??3),...groupingOption(e.grouping)}).format(n):decimalText(n,e.minimumFractionDigits??0,e.maximumFractionDigits??3,e.grouping??(0,_formatConfig.groupingForLocale)(localeOf(e)))};exports.formatNumber=formatNumber;const formatPercent=(t,e={})=>{const n=toNumber(t);if(null===n)return emptyOf(e.empty);const o=intlNumberOptions(e);if(o){const t="percent"===e.scale?shiftDecimal(n,-2):n;return(0,_intlCache.numberFormat)(localeOf(e),{style:"percent",...o}).format(t)}const r=intlTextLocale(e);if(r){const t="percent"===e.scale?shiftDecimal(n,-2):n;return(0,_intlCache.numberFormat)(r,{style:"percent",...fractionDigits(e.minimumFractionDigits??0,e.maximumFractionDigits??e.minimumFractionDigits??0),...groupingOption(e.grouping)}).format(t)}const i="percent"===e.scale?n:shiftDecimal(n,2);return`${decimalText(i,e.minimumFractionDigits??0,e.maximumFractionDigits??e.minimumFractionDigits??0,e.grouping??(0,_formatConfig.groupingForLocale)(localeOf(e)))}%`};exports.formatPercent=formatPercent;const SYMBOLS={INR:"₹",USD:"$",EUR:"€",GBP:"£"},MINOR_DIGITS={JPY:0,KRW:0,VND:0,BHD:3,JOD:3,KWD:3,OMR:3,TND:3},formatMinor=(t,e={})=>{const n=toNumber(t);if(null===n)return emptyOf(e.empty);const o=(e.currency??"INR").toUpperCase(),r=MINOR_DIGITS[o]??2,i=Math.round(Math.abs(n)),a=String(i).padStart(r+1,"0"),m=a.slice(0,a.length-r);let l=a.slice(a.length-r);e.dropZeroDecimals&&/^0*$/.test(l)&&(l="");const u=intlTextLocale({grouping:e.grouping});if(u)try{const t=Number(`${n<0&&0!==i?"-":""}${m}.${a.slice(a.length-r)||"0"}`);return(0,_intlCache.numberFormat)(u,{...!1===e.symbol?{}:{style:"currency",currency:o},...fractionDigits(l?r:0,r),...groupingOption(e.grouping)}).format(t)}catch{}const c=e.grouping??("INR"===o?"indian":"international"),s=groupInteger(m,c)+(l?`.${l}`:""),f=n<0&&0!==i?"-":"";if(!1===e.symbol)return`${f}${s}`;const g=SYMBOLS[o];return g?`${f}${g}${s}`:`${f}${o} ${s}`};exports.formatMinor=formatMinor;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),Object.defineProperty(exports,"AsYouType",{enumerable:!0,get:function(){return _phone.AsYouType}}),Object.defineProperty(exports,"addDays",{enumerable:!0,get:function(){return _dateMath.addDays}}),Object.defineProperty(exports,"clampNationalNumber",{enumerable:!0,get:function(){return _phone.clampNationalNumber}}),Object.defineProperty(exports,"countryFlagEmoji",{enumerable:!0,get:function(){return _phone.countryFlagEmoji}}),Object.defineProperty(exports,"detectPhoneCountry",{enumerable:!0,get:function(){return _phone.detectPhoneCountry}}),Object.defineProperty(exports,"diffMs",{enumerable:!0,get:function(){return _dateMath.diffMs}}),Object.defineProperty(exports,"formatCompactNumber",{enumerable:!0,get:function(){return _number.formatCompactNumber}}),Object.defineProperty(exports,"formatCurrency",{enumerable:!0,get:function(){return _currency.formatCurrency}}),Object.defineProperty(exports,"formatDate",{enumerable:!0,get:function(){return _date.formatDate}}),Object.defineProperty(exports,"formatDateDDMMMYYYY",{enumerable:!0,get:function(){return _dateMath.formatDateDDMMMYYYY}}),Object.defineProperty(exports,"formatDateISO",{enumerable:!0,get:function(){return _dateMath.formatDateISO}}),Object.defineProperty(exports,"formatDatePattern",{enumerable:!0,get:function(){return _dateMath.formatDatePattern}}),Object.defineProperty(exports,"formatDateTime",{enumerable:!0,get:function(){return _date.formatDateTime}}),Object.defineProperty(exports,"formatNumber",{enumerable:!0,get:function(){return _number.formatNumber}}),Object.defineProperty(exports,"formatPercent",{enumerable:!0,get:function(){return _number.formatPercent}}),Object.defineProperty(exports,"formatPhone",{enumerable:!0,get:function(){return _phone.formatPhone}}),Object.defineProperty(exports,"formatPhoneAsTyped",{enumerable:!0,get:function(){return _phone.formatPhoneAsTyped}}),Object.defineProperty(exports,"formatRelativeTime",{enumerable:!0,get:function(){return _date.formatRelativeTime}}),Object.defineProperty(exports,"formatTime",{enumerable:!0,get:function(){return _date.formatTime}}),Object.defineProperty(exports,"formatTime12h",{enumerable:!0,get:function(){return _dateMath.formatTime12h}}),Object.defineProperty(exports,"formatTimeInWindowsZone",{enumerable:!0,get:function(){return _dateMath.formatTimeInWindowsZone}}),Object.defineProperty(exports,"formatTimeInZone",{enumerable:!0,get:function(){return _dateMath.formatTimeInZone}}),Object.defineProperty(exports,"getCountries",{enumerable:!0,get:function(){return _phone.getCountries}}),Object.defineProperty(exports,"getCountryCallingCode",{enumerable:!0,get:function(){return _phone.getCountryCallingCode}}),Object.defineProperty(exports,"getInitials",{enumerable:!0,get:function(){return _initials.getInitials}}),Object.defineProperty(exports,"getPhoneCountries",{enumerable:!0,get:function(){return _phone.getPhoneCountries}}),Object.defineProperty(exports,"isDateAfter",{enumerable:!0,get:function(){return _dateMath.isDateAfter}}),Object.defineProperty(exports,"isDateBefore",{enumerable:!0,get:function(){return _dateMath.isDateBefore}}),Object.defineProperty(exports,"isSameDay",{enumerable:!0,get:function(){return _dateMath.isSameDay}}),Object.defineProperty(exports,"isSupportedCountry",{enumerable:!0,get:function(){return _phone.isSupportedCountry}}),Object.defineProperty(exports,"isValidNationalNumber",{enumerable:!0,get:function(){return _phone.isValidNationalNumber}}),Object.defineProperty(exports,"isValidPhoneNumber",{enumerable:!0,get:function(){return _phone.isValidPhoneNumber}}),Object.defineProperty(exports,"maxNationalNumberLength",{enumerable:!0,get:function(){return _phone.maxNationalNumberLength}}),Object.defineProperty(exports,"normalizePhone",{enumerable:!0,get:function(){return _phone.normalizePhone}}),Object.defineProperty(exports,"parsePhoneNumber",{enumerable:!0,get:function(){return _phone.parsePhoneNumber}}),Object.defineProperty(exports,"parsePhoneNumberFromString",{enumerable:!0,get:function(){return _phone.parsePhoneNumberFromString}}),Object.defineProperty(exports,"splitPhoneNumber",{enumerable:!0,get:function(){return _phone.splitPhoneNumber}}),Object.defineProperty(exports,"startOfDay",{enumerable:!0,get:function(){return _dateMath.startOfDay}}),Object.defineProperty(exports,"validatePhoneNumberLength",{enumerable:!0,get:function(){return _phone.validatePhoneNumberLength}});var _currency=require("./currency.js"),_date=require("./date.js"),_dateMath=require("./dateMath.js"),_initials=require("./initials.js"),_number=require("./number.js"),_phone=require("./phone.js");
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),Object.defineProperty(exports,"AsYouType",{enumerable:!0,get:function(){return _phone.AsYouType}}),Object.defineProperty(exports,"addDays",{enumerable:!0,get:function(){return _dateMath.addDays}}),Object.defineProperty(exports,"clampNationalNumber",{enumerable:!0,get:function(){return _phone.clampNationalNumber}}),Object.defineProperty(exports,"configureFormatters",{enumerable:!0,get:function(){return _formatConfig.configureFormatters}}),Object.defineProperty(exports,"countryFlagEmoji",{enumerable:!0,get:function(){return _phone.countryFlagEmoji}}),Object.defineProperty(exports,"detectPhoneCountry",{enumerable:!0,get:function(){return _phone.detectPhoneCountry}}),Object.defineProperty(exports,"diffMs",{enumerable:!0,get:function(){return _dateMath.diffMs}}),Object.defineProperty(exports,"formatCompactNumber",{enumerable:!0,get:function(){return _number.formatCompactNumber}}),Object.defineProperty(exports,"formatCurrency",{enumerable:!0,get:function(){return _currency.formatCurrency}}),Object.defineProperty(exports,"formatDate",{enumerable:!0,get:function(){return _date.formatDate}}),Object.defineProperty(exports,"formatDateDDMMMYYYY",{enumerable:!0,get:function(){return _dateMath.formatDateDDMMMYYYY}}),Object.defineProperty(exports,"formatDateISO",{enumerable:!0,get:function(){return _dateMath.formatDateISO}}),Object.defineProperty(exports,"formatDatePattern",{enumerable:!0,get:function(){return _dateMath.formatDatePattern}}),Object.defineProperty(exports,"formatDateTime",{enumerable:!0,get:function(){return _date.formatDateTime}}),Object.defineProperty(exports,"formatMinor",{enumerable:!0,get:function(){return _house.formatMinor}}),Object.defineProperty(exports,"formatNumber",{enumerable:!0,get:function(){return _number.formatNumber}}),Object.defineProperty(exports,"formatPercent",{enumerable:!0,get:function(){return _number.formatPercent}}),Object.defineProperty(exports,"formatPhone",{enumerable:!0,get:function(){return _phone.formatPhone}}),Object.defineProperty(exports,"formatPhoneAsTyped",{enumerable:!0,get:function(){return _phone.formatPhoneAsTyped}}),Object.defineProperty(exports,"formatRelative",{enumerable:!0,get:function(){return _house.formatRelative}}),Object.defineProperty(exports,"formatRelativeTime",{enumerable:!0,get:function(){return _date.formatRelativeTime}}),Object.defineProperty(exports,"formatTime",{enumerable:!0,get:function(){return _date.formatTime}}),Object.defineProperty(exports,"formatTime12h",{enumerable:!0,get:function(){return _dateMath.formatTime12h}}),Object.defineProperty(exports,"formatTimeInWindowsZone",{enumerable:!0,get:function(){return _dateMath.formatTimeInWindowsZone}}),Object.defineProperty(exports,"formatTimeInZone",{enumerable:!0,get:function(){return _dateMath.formatTimeInZone}}),Object.defineProperty(exports,"getCountries",{enumerable:!0,get:function(){return _phone.getCountries}}),Object.defineProperty(exports,"getCountryCallingCode",{enumerable:!0,get:function(){return _phone.getCountryCallingCode}}),Object.defineProperty(exports,"getFormatterConfig",{enumerable:!0,get:function(){return _formatConfig.getFormatterConfig}}),Object.defineProperty(exports,"getInitials",{enumerable:!0,get:function(){return _initials.getInitials}}),Object.defineProperty(exports,"getPhoneCountries",{enumerable:!0,get:function(){return _phone.getPhoneCountries}}),Object.defineProperty(exports,"isDateAfter",{enumerable:!0,get:function(){return _dateMath.isDateAfter}}),Object.defineProperty(exports,"isDateBefore",{enumerable:!0,get:function(){return _dateMath.isDateBefore}}),Object.defineProperty(exports,"isSameDay",{enumerable:!0,get:function(){return _dateMath.isSameDay}}),Object.defineProperty(exports,"isSupportedCountry",{enumerable:!0,get:function(){return _phone.isSupportedCountry}}),Object.defineProperty(exports,"isValidNationalNumber",{enumerable:!0,get:function(){return _phone.isValidNationalNumber}}),Object.defineProperty(exports,"isValidPhoneNumber",{enumerable:!0,get:function(){return _phone.isValidPhoneNumber}}),Object.defineProperty(exports,"maxNationalNumberLength",{enumerable:!0,get:function(){return _phone.maxNationalNumberLength}}),Object.defineProperty(exports,"normalizePhone",{enumerable:!0,get:function(){return _phone.normalizePhone}}),Object.defineProperty(exports,"parsePhoneNumber",{enumerable:!0,get:function(){return _phone.parsePhoneNumber}}),Object.defineProperty(exports,"parsePhoneNumberFromString",{enumerable:!0,get:function(){return _phone.parsePhoneNumberFromString}}),Object.defineProperty(exports,"splitPhoneNumber",{enumerable:!0,get:function(){return _phone.splitPhoneNumber}}),Object.defineProperty(exports,"startOfDay",{enumerable:!0,get:function(){return _dateMath.startOfDay}}),Object.defineProperty(exports,"validatePhoneNumberLength",{enumerable:!0,get:function(){return _phone.validatePhoneNumberLength}});var _currency=require("./currency.js"),_date=require("./date.js"),_dateMath=require("./dateMath.js"),_formatConfig=require("./formatConfig.js"),_house=require("./house.js"),_initials=require("./initials.js"),_number=require("./number.js"),_phone=require("./phone.js");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.formatCompactNumber=void 0,exports.formatNumber=formatNumber,exports.formatPercent=formatPercent;var _house=require("./house.js"),_intlCache=require("./intlCache.js");const hasIntlNumber=()=>"undefined"!=typeof Intl&&"function"==typeof Intl.NumberFormat;function formatNumber(t,e,r){if("number"!=typeof e&&void 0===r)return(0,_house.formatNumber)(t,e);const n="number"==typeof e?e:void 0,o=t;if(null==o||Number.isNaN(o))return"";if(hasIntlNumber())try{const t={};return null!=n&&(t.minimumFractionDigits=n,t.maximumFractionDigits=n),(0,_intlCache.numberFormat)(r??"en-IN",t).format(o)}catch{}return null!=n?o.toFixed(n):String(o)}function formatPercent(t,e,r,n){if("number"!=typeof e&&void 0===r&&void 0===n)return(0,_house.formatPercent)(t,e);const o="number"==typeof e?e:0,m=t;if(null==m||Number.isNaN(m))return"";const i=r??1?m:m/100;if(hasIntlNumber())try{return(0,_intlCache.numberFormat)(n??"en-IN",{style:"percent",minimumFractionDigits:o,maximumFractionDigits:o}).format(i)}catch{}return`${(100*i).toFixed(o)}%`}const formatCompactNumber=(t,e="en-IN")=>{if(null==t||Number.isNaN(t))return"";if(hasIntlNumber())try{return(0,_intlCache.numberFormat)(e,{notation:"compact",maximumFractionDigits:1}).format(t)}catch{}const r=Math.abs(t),n=t<0?"-":"";return r>=1e7?`${n}${(r/1e7).toFixed(1)}Cr`:r>=1e5?`${n}${(r/1e5).toFixed(1)}L`:r>=1e3?`${n}${(r/1e3).toFixed(1)}K`:`${t}`};exports.formatCompactNumber=formatCompactNumber;
|
package/lib/commonjs/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),Object.defineProperty(exports,"ACCESS_TOKEN_KEY",{enumerable:!0,get:function(){return _authStore.ACCESS_TOKEN_KEY}}),Object.defineProperty(exports,"AsYouType",{enumerable:!0,get:function(){return _index3.AsYouType}}),Object.defineProperty(exports,"DeepLink",{enumerable:!0,get:function(){return _index2.DeepLink}}),Object.defineProperty(exports,"Logger",{enumerable:!0,get:function(){return _index4.Logger}}),Object.defineProperty(exports,"PUSH_STATUS",{enumerable:!0,get:function(){return _status.PUSH_STATUS}}),Object.defineProperty(exports,"REFRESH_TOKEN_KEY",{enumerable:!0,get:function(){return _authStore.REFRESH_TOKEN_KEY}}),Object.defineProperty(exports,"RequestOfflineError",{enumerable:!0,get:function(){return _userClient.RequestOfflineError}}),Object.defineProperty(exports,"SESSION_TERMINATION_CODES",{enumerable:!0,get:function(){return _userClient.SESSION_TERMINATION_CODES}}),Object.defineProperty(exports,"Storage",{enumerable:!0,get:function(){return _index6.Storage}}),Object.defineProperty(exports,"VersionCheck",{enumerable:!0,get:function(){return _index8.VersionCheck}}),Object.defineProperty(exports,"addDays",{enumerable:!0,get:function(){return _index3.addDays}}),Object.defineProperty(exports,"addNetworkStatusListener",{enumerable:!0,get:function(){return _index5.addNetworkStatusListener}}),Object.defineProperty(exports,"attachRetry",{enumerable:!0,get:function(){return _retry.attachRetry}}),Object.defineProperty(exports,"buildCurl",{enumerable:!0,get:function(){return _curl.buildCurl}}),Object.defineProperty(exports,"clampNationalNumber",{enumerable:!0,get:function(){return _index3.clampNationalNumber}}),Object.defineProperty(exports,"configureLogger",{enumerable:!0,get:function(){return _index4.configureLogger}}),Object.defineProperty(exports,"countryFlagEmoji",{enumerable:!0,get:function(){return _index3.countryFlagEmoji}}),Object.defineProperty(exports,"crashlyticsRemoteLogger",{enumerable:!0,get:function(){return _crashlytics.crashlyticsRemoteLogger}}),Object.defineProperty(exports,"decodeJWT",{enumerable:!0,get:function(){return _jwt.decodeJWT}}),Object.defineProperty(exports,"detectPhoneCountry",{enumerable:!0,get:function(){return _index3.detectPhoneCountry}}),Object.defineProperty(exports,"diffMs",{enumerable:!0,get:function(){return _index3.diffMs}}),Object.defineProperty(exports,"encodeBase64",{enumerable:!0,get:function(){return _base.encodeBase64}}),Object.defineProperty(exports,"formatCompactNumber",{enumerable:!0,get:function(){return _index3.formatCompactNumber}}),Object.defineProperty(exports,"formatCurrency",{enumerable:!0,get:function(){return _index3.formatCurrency}}),Object.defineProperty(exports,"formatDate",{enumerable:!0,get:function(){return _index3.formatDate}}),Object.defineProperty(exports,"formatDateDDMMMYYYY",{enumerable:!0,get:function(){return _index3.formatDateDDMMMYYYY}}),Object.defineProperty(exports,"formatDateISO",{enumerable:!0,get:function(){return _index3.formatDateISO}}),Object.defineProperty(exports,"formatDatePattern",{enumerable:!0,get:function(){return _index3.formatDatePattern}}),Object.defineProperty(exports,"formatDateTime",{enumerable:!0,get:function(){return _index3.formatDateTime}}),Object.defineProperty(exports,"formatNumber",{enumerable:!0,get:function(){return _index3.formatNumber}}),Object.defineProperty(exports,"formatPercent",{enumerable:!0,get:function(){return _index3.formatPercent}}),Object.defineProperty(exports,"formatPhone",{enumerable:!0,get:function(){return _index3.formatPhone}}),Object.defineProperty(exports,"formatPhoneAsTyped",{enumerable:!0,get:function(){return _index3.formatPhoneAsTyped}}),Object.defineProperty(exports,"formatRelativeTime",{enumerable:!0,get:function(){return _index3.formatRelativeTime}}),Object.defineProperty(exports,"formatTime",{enumerable:!0,get:function(){return _index3.formatTime}}),Object.defineProperty(exports,"formatTime12h",{enumerable:!0,get:function(){return _index3.formatTime12h}}),Object.defineProperty(exports,"formatTimeInWindowsZone",{enumerable:!0,get:function(){return _index3.formatTimeInWindowsZone}}),Object.defineProperty(exports,"formatTimeInZone",{enumerable:!0,get:function(){return _index3.formatTimeInZone}}),Object.defineProperty(exports,"getConfig",{enumerable:!0,get:function(){return _index.getConfig}}),Object.defineProperty(exports,"getConfigValue",{enumerable:!0,get:function(){return _index.getConfigValue}}),Object.defineProperty(exports,"getCountries",{enumerable:!0,get:function(){return _index3.getCountries}}),Object.defineProperty(exports,"getCountryCallingCode",{enumerable:!0,get:function(){return _index3.getCountryCallingCode}}),Object.defineProperty(exports,"getDeviceContext",{enumerable:!0,get:function(){return _index4.getDeviceContext}}),Object.defineProperty(exports,"getInitials",{enumerable:!0,get:function(){return _index3.getInitials}}),Object.defineProperty(exports,"getJWTExpiry",{enumerable:!0,get:function(){return _jwt.getJWTExpiry}}),Object.defineProperty(exports,"getNetworkStatus",{enumerable:!0,get:function(){return _index5.getNetworkStatus}}),Object.defineProperty(exports,"getPhoneCountries",{enumerable:!0,get:function(){return _index3.getPhoneCountries}}),Object.defineProperty(exports,"getToken",{enumerable:!0,get:function(){return _authStore.getToken}}),Object.defineProperty(exports,"initUserAuth",{enumerable:!0,get:function(){return _initUserAuth.initUserAuth}}),Object.defineProperty(exports,"initWebority",{enumerable:!0,get:function(){return _initSDK.initWebority}}),Object.defineProperty(exports,"injectStore",{enumerable:!0,get:function(){return _userClient.injectStore}}),Object.defineProperty(exports,"injectUserAuth",{enumerable:!0,get:function(){return _userClient.injectUserAuth}}),Object.defineProperty(exports,"isAadhaar",{enumerable:!0,get:function(){return _index7.isAadhaar}}),Object.defineProperty(exports,"isAlphanumeric",{enumerable:!0,get:function(){return _index7.isAlphanumeric}}),Object.defineProperty(exports,"isBetween",{enumerable:!0,get:function(){return _index7.isBetween}}),Object.defineProperty(exports,"isDateAfter",{enumerable:!0,get:function(){return _index3.isDateAfter}}),Object.defineProperty(exports,"isDateBefore",{enumerable:!0,get:function(){return _index3.isDateBefore}}),Object.defineProperty(exports,"isEmail",{enumerable:!0,get:function(){return _index7.isEmail}}),Object.defineProperty(exports,"isGstin",{enumerable:!0,get:function(){return _index7.isGstin}}),Object.defineProperty(exports,"isHexColor",{enumerable:!0,get:function(){return _index7.isHexColor}}),Object.defineProperty(exports,"isIfsc",{enumerable:!0,get:function(){return _index7.isIfsc}}),Object.defineProperty(exports,"isIndianMobile",{enumerable:!0,get:function(){return _index7.isIndianMobile}}),Object.defineProperty(exports,"isIndianPincode",{enumerable:!0,get:function(){return _index7.isIndianPincode}}),Object.defineProperty(exports,"isInteger",{enumerable:!0,get:function(){return _index7.isInteger}}),Object.defineProperty(exports,"isJWTExpired",{enumerable:!0,get:function(){return _jwt.isJWTExpired}}),Object.defineProperty(exports,"isNonEmpty",{enumerable:!0,get:function(){return _index7.isNonEmpty}}),Object.defineProperty(exports,"isNumeric",{enumerable:!0,get:function(){return _index7.isNumeric}}),Object.defineProperty(exports,"isPan",{enumerable:!0,get:function(){return _index7.isPan}}),Object.defineProperty(exports,"isPhone",{enumerable:!0,get:function(){return _index7.isPhone}}),Object.defineProperty(exports,"isRetryableStatus",{enumerable:!0,get:function(){return _retry.isRetryableStatus}}),Object.defineProperty(exports,"isSameDay",{enumerable:!0,get:function(){return _index3.isSameDay}}),Object.defineProperty(exports,"isStorageAvailable",{enumerable:!0,get:function(){return _index6.isStorageAvailable}}),Object.defineProperty(exports,"isStrongPassword",{enumerable:!0,get:function(){return _index7.isStrongPassword}}),Object.defineProperty(exports,"isSupportedCountry",{enumerable:!0,get:function(){return _index3.isSupportedCountry}}),Object.defineProperty(exports,"isUrl",{enumerable:!0,get:function(){return _index7.isUrl}}),Object.defineProperty(exports,"isValidNationalNumber",{enumerable:!0,get:function(){return _index3.isValidNationalNumber}}),Object.defineProperty(exports,"isValidPhoneNumber",{enumerable:!0,get:function(){return _index3.isValidPhoneNumber}}),Object.defineProperty(exports,"logCurl",{enumerable:!0,get:function(){return _curl.logCurl}}),Object.defineProperty(exports,"maxLength",{enumerable:!0,get:function(){return _index7.maxLength}}),Object.defineProperty(exports,"maxNationalNumberLength",{enumerable:!0,get:function(){return _index3.maxNationalNumberLength}}),Object.defineProperty(exports,"minLength",{enumerable:!0,get:function(){return _index7.minLength}}),Object.defineProperty(exports,"normalizePhone",{enumerable:!0,get:function(){return _index3.normalizePhone}}),Object.defineProperty(exports,"parseDeepLink",{enumerable:!0,get:function(){return _index2.parseDeepLink}}),Object.defineProperty(exports,"parsePhoneNumber",{enumerable:!0,get:function(){return _index3.parsePhoneNumber}}),Object.defineProperty(exports,"parsePhoneNumberFromString",{enumerable:!0,get:function(){return _index3.parsePhoneNumberFromString}}),Object.defineProperty(exports,"publicClient",{enumerable:!0,get:function(){return _publicClient.default}}),Object.defineProperty(exports,"refreshAccessToken",{enumerable:!0,get:function(){return _tokenRefresh.refreshAccessToken}}),Object.defineProperty(exports,"removeToken",{enumerable:!0,get:function(){return _authStore.removeToken}}),Object.defineProperty(exports,"resetConfig",{enumerable:!0,get:function(){return _index.resetConfig}}),Object.defineProperty(exports,"resetRefreshState",{enumerable:!0,get:function(){return _userClient.resetRefreshState}}),Object.defineProperty(exports,"setConfig",{enumerable:!0,get:function(){return _index.setConfig}}),Object.defineProperty(exports,"setDeviceContext",{enumerable:!0,get:function(){return _index4.setDeviceContext}}),Object.defineProperty(exports,"setDeviceInfoImplementation",{enumerable:!0,get:function(){return _index8.setDeviceInfoImplementation}}),Object.defineProperty(exports,"setKeychainImplementation",{enumerable:!0,get:function(){return _authStore.setKeychainImplementation}}),Object.defineProperty(exports,"setNetworkStatusImplementation",{enumerable:!0,get:function(){return _index5.setNetworkStatusImplementation}}),Object.defineProperty(exports,"setRemoteLogger",{enumerable:!0,get:function(){return _index4.setRemoteLogger}}),Object.defineProperty(exports,"setStorageImplementation",{enumerable:!0,get:function(){return _index6.setStorageImplementation}}),Object.defineProperty(exports,"splitPhoneNumber",{enumerable:!0,get:function(){return _index3.splitPhoneNumber}}),Object.defineProperty(exports,"startOfDay",{enumerable:!0,get:function(){return _index3.startOfDay}}),Object.defineProperty(exports,"storeToken",{enumerable:!0,get:function(){return _authStore.storeToken}}),Object.defineProperty(exports,"useDeepLink",{enumerable:!0,get:function(){return _index2.useDeepLink}}),Object.defineProperty(exports,"useNetworkStatus",{enumerable:!0,get:function(){return _index5.useNetworkStatus}}),Object.defineProperty(exports,"useVersionCheck",{enumerable:!0,get:function(){return _index8.useVersionCheck}}),Object.defineProperty(exports,"userClient",{enumerable:!0,get:function(){return _userClient.default}}),Object.defineProperty(exports,"validatePhoneNumberLength",{enumerable:!0,get:function(){return _index3.validatePhoneNumberLength}});var _curl=require("./api/curl.js"),_publicClient=_interopRequireDefault(require("./api/publicClient.js")),_retry=require("./api/retry.js"),_tokenRefresh=require("./api/tokenRefresh.js"),_userClient=_interopRequireWildcard(require("./api/userClient.js")),_authStore=require("./auth/authStore.js"),_jwt=require("./auth/jwt.js"),_index=require("./config/index.js"),_index2=require("./deepLink/index.js"),_index3=require("./formatters/index.js"),_initSDK=require("./initSDK.js"),_initUserAuth=require("./initUserAuth.js"),_index4=require("./logger/index.js"),_crashlytics=require("./logger/crashlytics.js"),_index5=require("./network/index.js"),_status=require("./push/status.js"),_index6=require("./storage/index.js"),_base=require("./utils/base64.js"),_index7=require("./validators/index.js"),_index8=require("./versionCheck/index.js");function _interopRequireWildcard(e,t){if("function"==typeof WeakMap)var r=new WeakMap,n=new WeakMap;return(_interopRequireWildcard=function(e,t){if(!t&&e&&e.__esModule)return e;var i,o,u={__proto__:null,default:e};if(null===e||"object"!=typeof e&&"function"!=typeof e)return u;if(i=t?n:r){if(i.has(e))return i.get(e);i.set(e,u)}for(const t in e)"default"!==t&&{}.hasOwnProperty.call(e,t)&&((o=(i=Object.defineProperty)&&Object.getOwnPropertyDescriptor(e,t))&&(o.get||o.set)?i(u,t,o):u[t]=e[t]);return u})(e,t)}function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),Object.defineProperty(exports,"ACCESS_TOKEN_KEY",{enumerable:!0,get:function(){return _authStore.ACCESS_TOKEN_KEY}}),Object.defineProperty(exports,"ACCOUNT_ID_HEADER",{enumerable:!0,get:function(){return _clientHeaders.ACCOUNT_ID_HEADER}}),Object.defineProperty(exports,"AsYouType",{enumerable:!0,get:function(){return _index4.AsYouType}}),Object.defineProperty(exports,"CLIENT_BUILD_HEADER",{enumerable:!0,get:function(){return _clientHeaders.CLIENT_BUILD_HEADER}}),Object.defineProperty(exports,"CLIENT_KIND",{enumerable:!0,get:function(){return _clientHeaders.CLIENT_KIND}}),Object.defineProperty(exports,"CLIENT_KIND_HEADER",{enumerable:!0,get:function(){return _clientHeaders.CLIENT_KIND_HEADER}}),Object.defineProperty(exports,"CONTRACT_ERROR_CODE",{enumerable:!0,get:function(){return _index3.CONTRACT_ERROR_CODE}}),Object.defineProperty(exports,"DeepLink",{enumerable:!0,get:function(){return _index2.DeepLink}}),Object.defineProperty(exports,"IDEMPOTENCY_KEY_HEADER",{enumerable:!0,get:function(){return _retry.IDEMPOTENCY_KEY_HEADER}}),Object.defineProperty(exports,"LEGACY_REFRESH_TOKEN_LIFETIME_MS",{enumerable:!0,get:function(){return _authStore.LEGACY_REFRESH_TOKEN_LIFETIME_MS}}),Object.defineProperty(exports,"Logger",{enumerable:!0,get:function(){return _index5.Logger}}),Object.defineProperty(exports,"MIN_APP_VERSION_HEADER",{enumerable:!0,get:function(){return _minAppVersion.MIN_APP_VERSION_HEADER}}),Object.defineProperty(exports,"NETWORK_CODE",{enumerable:!0,get:function(){return _index3.NETWORK_CODE}}),Object.defineProperty(exports,"OFFLINE_MESSAGE",{enumerable:!0,get:function(){return _index3.OFFLINE_MESSAGE}}),Object.defineProperty(exports,"PUSH_STATUS",{enumerable:!0,get:function(){return _status.PUSH_STATUS}}),Object.defineProperty(exports,"REFRESH_TOKEN_KEY",{enumerable:!0,get:function(){return _authStore.REFRESH_TOKEN_KEY}}),Object.defineProperty(exports,"REQUEST_CANCELED_CODE",{enumerable:!0,get:function(){return _index3.REQUEST_CANCELED_CODE}}),Object.defineProperty(exports,"RequestOfflineError",{enumerable:!0,get:function(){return _userClient.RequestOfflineError}}),Object.defineProperty(exports,"SERVER_FAILURE_MESSAGE",{enumerable:!0,get:function(){return _index3.SERVER_FAILURE_MESSAGE}}),Object.defineProperty(exports,"SESSION_TERMINATION_CODES",{enumerable:!0,get:function(){return _userClient.SESSION_TERMINATION_CODES}}),Object.defineProperty(exports,"SESSION_USER_KEY",{enumerable:!0,get:function(){return _authStore.SESSION_USER_KEY}}),Object.defineProperty(exports,"SIGN_OUT_REASON_HEADER",{enumerable:!0,get:function(){return _userClient.SIGN_OUT_REASON_HEADER}}),Object.defineProperty(exports,"Storage",{enumerable:!0,get:function(){return _index7.Storage}}),Object.defineProperty(exports,"TIMEOUT_CODE",{enumerable:!0,get:function(){return _index3.TIMEOUT_CODE}}),Object.defineProperty(exports,"TIMEOUT_MESSAGE",{enumerable:!0,get:function(){return _index3.TIMEOUT_MESSAGE}}),Object.defineProperty(exports,"UNEXPECTED_MESSAGE",{enumerable:!0,get:function(){return _index3.UNEXPECTED_MESSAGE}}),Object.defineProperty(exports,"VersionCheck",{enumerable:!0,get:function(){return _index9.VersionCheck}}),Object.defineProperty(exports,"addDays",{enumerable:!0,get:function(){return _index4.addDays}}),Object.defineProperty(exports,"addMinAppVersionListener",{enumerable:!0,get:function(){return _minAppVersion.addMinAppVersionListener}}),Object.defineProperty(exports,"addNetworkStatusListener",{enumerable:!0,get:function(){return _index6.addNetworkStatusListener}}),Object.defineProperty(exports,"addSessionEndedListener",{enumerable:!0,get:function(){return _authStore.addSessionEndedListener}}),Object.defineProperty(exports,"apiErrorMessage",{enumerable:!0,get:function(){return _index3.apiErrorMessage}}),Object.defineProperty(exports,"applyRequestDefaults",{enumerable:!0,get:function(){return _requestDefaults.applyRequestDefaults}}),Object.defineProperty(exports,"attachRetry",{enumerable:!0,get:function(){return _retry.attachRetry}}),Object.defineProperty(exports,"buildCurl",{enumerable:!0,get:function(){return _curl.buildCurl}}),Object.defineProperty(exports,"clampNationalNumber",{enumerable:!0,get:function(){return _index4.clampNationalNumber}}),Object.defineProperty(exports,"clearSession",{enumerable:!0,get:function(){return _authStore.clearSession}}),Object.defineProperty(exports,"configureFormatters",{enumerable:!0,get:function(){return _index4.configureFormatters}}),Object.defineProperty(exports,"configureLogger",{enumerable:!0,get:function(){return _index5.configureLogger}}),Object.defineProperty(exports,"countryFlagEmoji",{enumerable:!0,get:function(){return _index4.countryFlagEmoji}}),Object.defineProperty(exports,"crashlyticsRemoteLogger",{enumerable:!0,get:function(){return _crashlytics.crashlyticsRemoteLogger}}),Object.defineProperty(exports,"decodeJWT",{enumerable:!0,get:function(){return _jwt.decodeJWT}}),Object.defineProperty(exports,"detectPhoneCountry",{enumerable:!0,get:function(){return _index4.detectPhoneCountry}}),Object.defineProperty(exports,"diffMs",{enumerable:!0,get:function(){return _index4.diffMs}}),Object.defineProperty(exports,"encodeBase64",{enumerable:!0,get:function(){return _base.encodeBase64}}),Object.defineProperty(exports,"extractApiError",{enumerable:!0,get:function(){return _index3.extractApiError}}),Object.defineProperty(exports,"formatCompactNumber",{enumerable:!0,get:function(){return _index4.formatCompactNumber}}),Object.defineProperty(exports,"formatCurrency",{enumerable:!0,get:function(){return _index4.formatCurrency}}),Object.defineProperty(exports,"formatDate",{enumerable:!0,get:function(){return _index4.formatDate}}),Object.defineProperty(exports,"formatDateDDMMMYYYY",{enumerable:!0,get:function(){return _index4.formatDateDDMMMYYYY}}),Object.defineProperty(exports,"formatDateISO",{enumerable:!0,get:function(){return _index4.formatDateISO}}),Object.defineProperty(exports,"formatDatePattern",{enumerable:!0,get:function(){return _index4.formatDatePattern}}),Object.defineProperty(exports,"formatDateTime",{enumerable:!0,get:function(){return _index4.formatDateTime}}),Object.defineProperty(exports,"formatMinor",{enumerable:!0,get:function(){return _index4.formatMinor}}),Object.defineProperty(exports,"formatNumber",{enumerable:!0,get:function(){return _index4.formatNumber}}),Object.defineProperty(exports,"formatPercent",{enumerable:!0,get:function(){return _index4.formatPercent}}),Object.defineProperty(exports,"formatPhone",{enumerable:!0,get:function(){return _index4.formatPhone}}),Object.defineProperty(exports,"formatPhoneAsTyped",{enumerable:!0,get:function(){return _index4.formatPhoneAsTyped}}),Object.defineProperty(exports,"formatRelative",{enumerable:!0,get:function(){return _index4.formatRelative}}),Object.defineProperty(exports,"formatRelativeTime",{enumerable:!0,get:function(){return _index4.formatRelativeTime}}),Object.defineProperty(exports,"formatTime",{enumerable:!0,get:function(){return _index4.formatTime}}),Object.defineProperty(exports,"formatTime12h",{enumerable:!0,get:function(){return _index4.formatTime12h}}),Object.defineProperty(exports,"formatTimeInWindowsZone",{enumerable:!0,get:function(){return _index4.formatTimeInWindowsZone}}),Object.defineProperty(exports,"formatTimeInZone",{enumerable:!0,get:function(){return _index4.formatTimeInZone}}),Object.defineProperty(exports,"getClientBuild",{enumerable:!0,get:function(){return _clientHeaders.getClientBuild}}),Object.defineProperty(exports,"getConfig",{enumerable:!0,get:function(){return _index.getConfig}}),Object.defineProperty(exports,"getConfigValue",{enumerable:!0,get:function(){return _index.getConfigValue}}),Object.defineProperty(exports,"getCountries",{enumerable:!0,get:function(){return _index4.getCountries}}),Object.defineProperty(exports,"getCountryCallingCode",{enumerable:!0,get:function(){return _index4.getCountryCallingCode}}),Object.defineProperty(exports,"getDeviceContext",{enumerable:!0,get:function(){return _index5.getDeviceContext}}),Object.defineProperty(exports,"getFormatterConfig",{enumerable:!0,get:function(){return _index4.getFormatterConfig}}),Object.defineProperty(exports,"getInitials",{enumerable:!0,get:function(){return _index4.getInitials}}),Object.defineProperty(exports,"getJWTExpiry",{enumerable:!0,get:function(){return _jwt.getJWTExpiry}}),Object.defineProperty(exports,"getMinAppVersion",{enumerable:!0,get:function(){return _minAppVersion.getMinAppVersion}}),Object.defineProperty(exports,"getNetworkStatus",{enumerable:!0,get:function(){return _index6.getNetworkStatus}}),Object.defineProperty(exports,"getPhoneCountries",{enumerable:!0,get:function(){return _index4.getPhoneCountries}}),Object.defineProperty(exports,"getSessionUser",{enumerable:!0,get:function(){return _authStore.getSessionUser}}),Object.defineProperty(exports,"getToken",{enumerable:!0,get:function(){return _authStore.getToken}}),Object.defineProperty(exports,"initUserAuth",{enumerable:!0,get:function(){return _initUserAuth.initUserAuth}}),Object.defineProperty(exports,"initWebority",{enumerable:!0,get:function(){return _initSDK.initWebority}}),Object.defineProperty(exports,"injectStore",{enumerable:!0,get:function(){return _userClient.injectStore}}),Object.defineProperty(exports,"injectUserAuth",{enumerable:!0,get:function(){return _userClient.injectUserAuth}}),Object.defineProperty(exports,"isAadhaar",{enumerable:!0,get:function(){return _index8.isAadhaar}}),Object.defineProperty(exports,"isAlphanumeric",{enumerable:!0,get:function(){return _index8.isAlphanumeric}}),Object.defineProperty(exports,"isApiError",{enumerable:!0,get:function(){return _index3.isApiError}}),Object.defineProperty(exports,"isBetween",{enumerable:!0,get:function(){return _index8.isBetween}}),Object.defineProperty(exports,"isBuildBelowMinimum",{enumerable:!0,get:function(){return _index9.isBuildBelowMinimum}}),Object.defineProperty(exports,"isDateAfter",{enumerable:!0,get:function(){return _index4.isDateAfter}}),Object.defineProperty(exports,"isDateBefore",{enumerable:!0,get:function(){return _index4.isDateBefore}}),Object.defineProperty(exports,"isEmail",{enumerable:!0,get:function(){return _index8.isEmail}}),Object.defineProperty(exports,"isGstin",{enumerable:!0,get:function(){return _index8.isGstin}}),Object.defineProperty(exports,"isHexColor",{enumerable:!0,get:function(){return _index8.isHexColor}}),Object.defineProperty(exports,"isIfsc",{enumerable:!0,get:function(){return _index8.isIfsc}}),Object.defineProperty(exports,"isIndianMobile",{enumerable:!0,get:function(){return _index8.isIndianMobile}}),Object.defineProperty(exports,"isIndianPincode",{enumerable:!0,get:function(){return _index8.isIndianPincode}}),Object.defineProperty(exports,"isInteger",{enumerable:!0,get:function(){return _index8.isInteger}}),Object.defineProperty(exports,"isJWTExpired",{enumerable:!0,get:function(){return _jwt.isJWTExpired}}),Object.defineProperty(exports,"isNeverSentError",{enumerable:!0,get:function(){return _retry.isNeverSentError}}),Object.defineProperty(exports,"isNoResponse",{enumerable:!0,get:function(){return _index3.isNoResponse}}),Object.defineProperty(exports,"isNonEmpty",{enumerable:!0,get:function(){return _index8.isNonEmpty}}),Object.defineProperty(exports,"isNumeric",{enumerable:!0,get:function(){return _index8.isNumeric}}),Object.defineProperty(exports,"isPan",{enumerable:!0,get:function(){return _index8.isPan}}),Object.defineProperty(exports,"isPhone",{enumerable:!0,get:function(){return _index8.isPhone}}),Object.defineProperty(exports,"isRetryableFailure",{enumerable:!0,get:function(){return _retry.isRetryableFailure}}),Object.defineProperty(exports,"isRetryableStatus",{enumerable:!0,get:function(){return _retry.isRetryableStatus}}),Object.defineProperty(exports,"isSameDay",{enumerable:!0,get:function(){return _index4.isSameDay}}),Object.defineProperty(exports,"isStorageAvailable",{enumerable:!0,get:function(){return _index7.isStorageAvailable}}),Object.defineProperty(exports,"isStrongPassword",{enumerable:!0,get:function(){return _index8.isStrongPassword}}),Object.defineProperty(exports,"isSupportedCountry",{enumerable:!0,get:function(){return _index4.isSupportedCountry}}),Object.defineProperty(exports,"isUrl",{enumerable:!0,get:function(){return _index8.isUrl}}),Object.defineProperty(exports,"isValidNationalNumber",{enumerable:!0,get:function(){return _index4.isValidNationalNumber}}),Object.defineProperty(exports,"isValidPhoneNumber",{enumerable:!0,get:function(){return _index4.isValidPhoneNumber}}),Object.defineProperty(exports,"logCurl",{enumerable:!0,get:function(){return _curl.logCurl}}),Object.defineProperty(exports,"maxLength",{enumerable:!0,get:function(){return _index8.maxLength}}),Object.defineProperty(exports,"maxNationalNumberLength",{enumerable:!0,get:function(){return _index4.maxNationalNumberLength}}),Object.defineProperty(exports,"minLength",{enumerable:!0,get:function(){return _index8.minLength}}),Object.defineProperty(exports,"newCorrelationId",{enumerable:!0,get:function(){return _requestDefaults.newCorrelationId}}),Object.defineProperty(exports,"normalizePhone",{enumerable:!0,get:function(){return _index4.normalizePhone}}),Object.defineProperty(exports,"parseBuildNumber",{enumerable:!0,get:function(){return _index9.parseBuildNumber}}),Object.defineProperty(exports,"parseDeepLink",{enumerable:!0,get:function(){return _index2.parseDeepLink}}),Object.defineProperty(exports,"parsePhoneNumber",{enumerable:!0,get:function(){return _index4.parsePhoneNumber}}),Object.defineProperty(exports,"parsePhoneNumberFromString",{enumerable:!0,get:function(){return _index4.parsePhoneNumberFromString}}),Object.defineProperty(exports,"publicClient",{enumerable:!0,get:function(){return _publicClient.default}}),Object.defineProperty(exports,"refreshAccessToken",{enumerable:!0,get:function(){return _tokenRefresh.refreshAccessToken}}),Object.defineProperty(exports,"removeSessionUser",{enumerable:!0,get:function(){return _authStore.removeSessionUser}}),Object.defineProperty(exports,"removeToken",{enumerable:!0,get:function(){return _authStore.removeToken}}),Object.defineProperty(exports,"resetConfig",{enumerable:!0,get:function(){return _index.resetConfig}}),Object.defineProperty(exports,"resetRefreshState",{enumerable:!0,get:function(){return _userClient.resetRefreshState}}),Object.defineProperty(exports,"retryAfterMs",{enumerable:!0,get:function(){return _retry.retryAfterMs}}),Object.defineProperty(exports,"setConfig",{enumerable:!0,get:function(){return _index.setConfig}}),Object.defineProperty(exports,"setDeviceContext",{enumerable:!0,get:function(){return _index5.setDeviceContext}}),Object.defineProperty(exports,"setDeviceInfoImplementation",{enumerable:!0,get:function(){return _index9.setDeviceInfoImplementation}}),Object.defineProperty(exports,"setKeychainImplementation",{enumerable:!0,get:function(){return _authStore.setKeychainImplementation}}),Object.defineProperty(exports,"setLegacyTokenKeys",{enumerable:!0,get:function(){return _authStore.setLegacyTokenKeys}}),Object.defineProperty(exports,"setNetworkStatusImplementation",{enumerable:!0,get:function(){return _index6.setNetworkStatusImplementation}}),Object.defineProperty(exports,"setRemoteLogger",{enumerable:!0,get:function(){return _index5.setRemoteLogger}}),Object.defineProperty(exports,"setStorageImplementation",{enumerable:!0,get:function(){return _index7.setStorageImplementation}}),Object.defineProperty(exports,"splitPhoneNumber",{enumerable:!0,get:function(){return _index4.splitPhoneNumber}}),Object.defineProperty(exports,"startOfDay",{enumerable:!0,get:function(){return _index4.startOfDay}}),Object.defineProperty(exports,"storeSessionUser",{enumerable:!0,get:function(){return _authStore.storeSessionUser}}),Object.defineProperty(exports,"storeToken",{enumerable:!0,get:function(){return _authStore.storeToken}}),Object.defineProperty(exports,"toFieldPath",{enumerable:!0,get:function(){return _index3.toFieldPath}}),Object.defineProperty(exports,"useDeepLink",{enumerable:!0,get:function(){return _index2.useDeepLink}}),Object.defineProperty(exports,"useNetworkStatus",{enumerable:!0,get:function(){return _index6.useNetworkStatus}}),Object.defineProperty(exports,"useVersionCheck",{enumerable:!0,get:function(){return _index9.useVersionCheck}}),Object.defineProperty(exports,"userClient",{enumerable:!0,get:function(){return _userClient.default}}),Object.defineProperty(exports,"validatePhoneNumberLength",{enumerable:!0,get:function(){return _index4.validatePhoneNumberLength}});var _clientHeaders=require("./api/clientHeaders.js"),_curl=require("./api/curl.js"),_minAppVersion=require("./api/minAppVersion.js"),_publicClient=_interopRequireDefault(require("./api/publicClient.js")),_requestDefaults=require("./api/requestDefaults.js"),_retry=require("./api/retry.js"),_tokenRefresh=require("./api/tokenRefresh.js"),_userClient=_interopRequireWildcard(require("./api/userClient.js")),_authStore=require("./auth/authStore.js"),_jwt=require("./auth/jwt.js"),_index=require("./config/index.js"),_index2=require("./deepLink/index.js"),_index3=require("./errors/index.js"),_index4=require("./formatters/index.js"),_initSDK=require("./initSDK.js"),_initUserAuth=require("./initUserAuth.js"),_index5=require("./logger/index.js"),_crashlytics=require("./logger/crashlytics.js"),_index6=require("./network/index.js"),_status=require("./push/status.js"),_index7=require("./storage/index.js"),_base=require("./utils/base64.js"),_index8=require("./validators/index.js"),_index9=require("./versionCheck/index.js");function _interopRequireWildcard(e,t){if("function"==typeof WeakMap)var r=new WeakMap,n=new WeakMap;return(_interopRequireWildcard=function(e,t){if(!t&&e&&e.__esModule)return e;var i,o,u={__proto__:null,default:e};if(null===e||"object"!=typeof e&&"function"!=typeof e)return u;if(i=t?n:r){if(i.has(e))return i.get(e);i.set(e,u)}for(const t in e)"default"!==t&&{}.hasOwnProperty.call(e,t)&&((o=(i=Object.defineProperty)&&Object.getOwnPropertyDescriptor(e,t))&&(o.get||o.set)?i(u,t,o):u[t]=e[t]);return u})(e,t)}function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}
|
package/lib/commonjs/initSDK.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.initWebority=void 0;var _authStore=require("./auth/authStore.js"),_index=require("./config/index.js"),_index2=require("./logger/index.js"),_networkStatus=require("./network/networkStatus.js"),_index3=require("./storage/index.js");const initWebority=e=>{if(!e.baseUrl)throw new Error("baseUrl is required for Webority packages initialization");(0,_index.setConfig)({baseUrl:e.baseUrl,loggingEnabled:e.loggingEnabled??!0,logLevel:e.logLevel||_index.DEFAULT_LOG_LEVEL,environment:e.environment||"Development",country:(e.country||"in").toLowerCase(),appId:e.appId??null,appVersion:e.appVersion??null,logCurl:e.logCurl??!1});const t=e.backends;t?.storage&&(0,_index3.setStorageImplementation)(t.storage),t?.keychain&&(0,_authStore.setKeychainImplementation)(t.keychain),t?.network&&(0,_networkStatus.setNetworkStatusImplementation)(t.network),_index2.Logger.info("[@webority/mobile-core] initialized")};exports.initWebority=initWebority;
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.initWebority=void 0;var _authStore=require("./auth/authStore.js"),_index=require("./config/index.js"),_index2=require("./logger/index.js"),_networkStatus=require("./network/networkStatus.js"),_index3=require("./storage/index.js");const initWebority=e=>{if(!e.baseUrl)throw new Error("baseUrl is required for Webority packages initialization");(0,_index.setConfig)({baseUrl:e.baseUrl,loggingEnabled:e.loggingEnabled??!0,logLevel:e.logLevel||_index.DEFAULT_LOG_LEVEL,environment:e.environment||"Development",country:(e.country||"in").toLowerCase(),appId:e.appId??null,appVersion:e.appVersion??null,commit:e.commit??null,appBuild:e.appBuild??null,appStoreId:e.appStoreId??null,logCurl:e.logCurl??!1,timeoutMs:e.timeoutMs??_index.DEFAULT_TIMEOUT_MS,retries:e.retries??_index.DEFAULT_RETRIES,correlationIdHeader:void 0===e.correlationIdHeader?_index.DEFAULT_CORRELATION_ID_HEADER:e.correlationIdHeader});const t=e.backends;t?.storage&&(0,_index3.setStorageImplementation)(t.storage),t?.keychain&&(0,_authStore.setKeychainImplementation)(t.keychain),t?.network&&(0,_networkStatus.setNetworkStatusImplementation)(t.network),_index2.Logger.info("[@webority/mobile-core] initialized")};exports.initWebority=initWebority;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.initUserAuth=void 0;var _userClient=require("./api/userClient.js"),_index=require("./logger/index.js");const initUserAuth=(e,r)=>{if(!e)throw new Error("Redux store is required for user package initialization");if(!r.logout||!r.refresh?.path)throw new Error("initUserAuth needs a logout action and refresh.path");(0,_userClient.injectStore)(e),(0,_userClient.injectUserAuth)(r),_index.Logger.info("[@webority/mobile-core] user auth wired to the store")};exports.initUserAuth=initUserAuth;
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.initUserAuth=void 0;var _userClient=require("./api/userClient.js"),_authStore=require("./auth/authStore.js"),_index=require("./logger/index.js");const initUserAuth=(e,r)=>{if(!e)throw new Error("Redux store is required for user package initialization");if(!r.logout||!r.refresh?.path)throw new Error("initUserAuth needs a logout action and refresh.path");(0,_userClient.injectStore)(e),(0,_userClient.injectUserAuth)(r),(0,_authStore.setLegacyTokenKeys)(r.legacyKeys??null),_index.Logger.info("[@webority/mobile-core] user auth wired to the store")};exports.initUserAuth=initUserAuth;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.setRemoteLogger=exports.setDeviceContext=exports.getDeviceContext=exports.configureLogger=exports.Logger=void 0;var _index=require("../config/index.js"),_redact=require("./redact.js");const Colors={RESET:"[0m",BLUE:"[34m",YELLOW:"[33m",RED_BOLD:"[31;1m"},LogLevels={INFO:{level:"info",color:Colors.BLUE},WARN:{level:"warn",color:Colors.YELLOW},ERROR:{level:"error",color:Colors.RED_BOLD}},isLogLevelAllowed=e=>{const r=["info","warn","error"],o=(0,_index.getConfigValue)("logLevel","info");return r.indexOf(e)>=r.indexOf(o)},isEnabled=()=>(0,_index.getConfigValue)("loggingEnabled",!0);let remote=null;const setRemoteLogger=e=>{remote=e};exports.setRemoteLogger=setRemoteLogger;const safe=e=>{if(e)try{e()}catch{}},toErrorObject=e=>{if(e instanceof Error)return e;if("string"==typeof e)return new Error(e);try{return new Error(JSON.stringify(e))}catch{return new Error(String(e))}};let deviceContext=null;const normalizeAttributeValue=e=>null==e?null:"string"==typeof e||"number"==typeof e||"boolean"==typeof e?e:String(e),setDeviceContext=e=>{if(deviceContext=e,e)for(const[r,o]of Object.entries(e))safe(()=>remote?.setAttribute?.(r,normalizeAttributeValue(o)))};exports.setDeviceContext=setDeviceContext;const getDeviceContext=()=>deviceContext;exports.getDeviceContext=getDeviceContext;const DEFAULT_LOGGER_OPTIONS={dedupeWindowMs:5e3,dedupeMaxPerWindow:1,screenHistoryLimit:20};let loggerOptions={...DEFAULT_LOGGER_OPTIONS};const configureLogger=e=>{loggerOptions={...loggerOptions,...e},screenHistory.length>loggerOptions.screenHistoryLimit&&(screenHistory=screenHistory.slice(screenHistory.length-loggerOptions.screenHistoryLimit))};exports.configureLogger=configureLogger;let currentScreen=null,screenHistory=[];const dedupeMap=new Map,MAX_DEDUPE_ENTRIES=200,dedupeKeyFor=e=>{const r=e.stack?.split("\n")[1]?.trim();return r?`${e.message}::${r}`:e.message},capDedupeMap=()=>{for(;dedupeMap.size>200;){const e=dedupeMap.keys().next().value;if(void 0===e)return;dedupeMap.delete(e)}},shouldForward=e=>{if(loggerOptions.dedupeWindowMs<=0)return{forward:!0};const r=Date.now(),o=dedupeMap.get(e);if(!o||r-o.windowStart>=loggerOptions.dedupeWindowMs){const t=o?.suppressedCount??0;return dedupeMap.set(e,{windowStart:r,count:1,suppressedCount:0}),capDedupeMap(),t>0?{forward:!0,suppressedCount:t}:{forward:!0}}return o.count+=1,o.count>loggerOptions.dedupeMaxPerWindow?(o.suppressedCount+=1,{forward:!1}):{forward:!0}},buildErrorContext=(e,r)=>{const o={...deviceContext};return null!==currentScreen&&(o.screen=currentScreen),r&&(o.suppressedCount=r),{...o,...e}},forwardErrorToRemote=(e,r)=>{const o=dedupeKeyFor(e),{forward:t,suppressedCount:
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.setRemoteLogger=exports.setDeviceContext=exports.getDeviceContext=exports.configureLogger=exports.Logger=void 0;var _index=require("../config/index.js"),_redact=require("./redact.js");const Colors={RESET:"[0m",GRAY:"[90m",BLUE:"[34m",YELLOW:"[33m",RED_BOLD:"[31;1m"},LogLevels={DEBUG:{level:"debug",color:Colors.GRAY},INFO:{level:"info",color:Colors.BLUE},WARN:{level:"warn",color:Colors.YELLOW},ERROR:{level:"error",color:Colors.RED_BOLD}},isLogLevelAllowed=e=>{const r=["debug","info","warn","error"],o=(0,_index.getConfigValue)("logLevel","info");return r.indexOf(e)>=r.indexOf(o)},isEnabled=()=>(0,_index.getConfigValue)("loggingEnabled",!0);let remote=null;const setRemoteLogger=e=>{remote=e};exports.setRemoteLogger=setRemoteLogger;const safe=e=>{if(e)try{e()}catch{}},toErrorObject=e=>{if(e instanceof Error)return e;if("string"==typeof e)return new Error(e);try{return new Error(JSON.stringify(e))}catch{return new Error(String(e))}};let deviceContext=null;const normalizeAttributeValue=e=>null==e?null:"string"==typeof e||"number"==typeof e||"boolean"==typeof e?e:String(e),setDeviceContext=e=>{if(deviceContext=e,e)for(const[r,o]of Object.entries(e))safe(()=>remote?.setAttribute?.(r,normalizeAttributeValue(o)))};exports.setDeviceContext=setDeviceContext;const getDeviceContext=()=>deviceContext;exports.getDeviceContext=getDeviceContext;const DEFAULT_LOGGER_OPTIONS={dedupeWindowMs:5e3,dedupeMaxPerWindow:1,screenHistoryLimit:20};let loggerOptions={...DEFAULT_LOGGER_OPTIONS};const configureLogger=e=>{loggerOptions={...loggerOptions,...e},screenHistory.length>loggerOptions.screenHistoryLimit&&(screenHistory=screenHistory.slice(screenHistory.length-loggerOptions.screenHistoryLimit))};exports.configureLogger=configureLogger;let currentScreen=null,screenHistory=[];const dedupeMap=new Map,MAX_DEDUPE_ENTRIES=200,dedupeKeyFor=e=>{const r=e.stack?.split("\n")[1]?.trim();return r?`${e.message}::${r}`:e.message},capDedupeMap=()=>{for(;dedupeMap.size>200;){const e=dedupeMap.keys().next().value;if(void 0===e)return;dedupeMap.delete(e)}},shouldForward=e=>{if(loggerOptions.dedupeWindowMs<=0)return{forward:!0};const r=Date.now(),o=dedupeMap.get(e);if(!o||r-o.windowStart>=loggerOptions.dedupeWindowMs){const t=o?.suppressedCount??0;return dedupeMap.set(e,{windowStart:r,count:1,suppressedCount:0}),capDedupeMap(),t>0?{forward:!0,suppressedCount:t}:{forward:!0}}return o.count+=1,o.count>loggerOptions.dedupeMaxPerWindow?(o.suppressedCount+=1,{forward:!1}):{forward:!0}},buildErrorContext=(e,r)=>{const o={...deviceContext};return null!==currentScreen&&(o.screen=currentScreen),r&&(o.suppressedCount=r),{...o,...e}},forwardErrorToRemote=(e,r)=>{const o=dedupeKeyFor(e),{forward:t,suppressedCount:s}=shouldForward(o);t&&safe(()=>remote?.recordError?.(e,buildErrorContext(r,s)))},logDebug=(e,...r)=>{isEnabled()&&isLogLevelAllowed(LogLevels.DEBUG.level)&&console.debug(`${LogLevels.DEBUG.color}[DEBUG]: ${(0,_redact.redactString)(e)}${Colors.RESET}`,...(0,_redact.redact)(r))},logInfo=(e,...r)=>{const o=(0,_redact.redactString)(e),t=(0,_redact.redact)(r);isEnabled()&&isLogLevelAllowed(LogLevels.INFO.level)&&(console.info(`${LogLevels.INFO.color}[INFO]: ${o}${Colors.RESET}`,...t),safe(()=>remote?.log?.("info",o,t)))},logWarning=(e,...r)=>{const o=(0,_redact.redactString)(e),t=(0,_redact.redact)(r);isEnabled()&&isLogLevelAllowed(LogLevels.WARN.level)&&(console.warn(`${LogLevels.WARN.color}[WARNING]: ${o}${Colors.RESET}`,...t),safe(()=>remote?.log?.("warn",o,t)))},logError=(e,...r)=>{const o=(0,_redact.redactString)(e),t=(0,_redact.redact)(r);isEnabled()&&isLogLevelAllowed(LogLevels.ERROR.level)&&console.error(`${LogLevels.ERROR.color}[ERROR]: ${o}${Colors.RESET}`,...t),safe(()=>remote?.log?.("error",o,t));const s=t[0];void 0!==s&&forwardErrorToRemote(toErrorObject(s),{source:"Logger.error",message:o})},breadcrumb=(e,r)=>{const o=(0,_redact.redactString)(e),t=(0,_redact.redact)(r);isEnabled()&&isLogLevelAllowed("info")&&console.info(`${Colors.BLUE}[BREADCRUMB]: ${o}${Colors.RESET}`,t??""),safe(()=>remote?.breadcrumb?.(o,t))},recordError=(e,r)=>{const o=(0,_redact.redact)(toErrorObject(e)),t=(0,_redact.redact)(r);isEnabled()&&isLogLevelAllowed("error")&&console.error(`${Colors.RED_BOLD}[RECORDED]: ${o.message}${Colors.RESET}`,t??""),forwardErrorToRemote(o,t)},asDict=e=>"object"==typeof e&&null!==e?e:null,headerValue=(e,r)=>{const o=asDict(e);if(!o)return null;const t="function"==typeof o.get?o.get.call(e,r):o[r]??o[r.toLowerCase()];return"string"==typeof t&&""!==t?t:null},requestFailed=(e,r={})=>{const{label:o,expectedStatuses:t=[],...s}=r,n=asDict(e),l=asDict(n?.config),c=asDict(n?.response),i=asDict(c?.data),d="number"==typeof c?.status?c.status:null,a="string"==typeof l?.method?l.method.toUpperCase():null,g="string"==typeof l?.url?l.url.split("?")[0]??null:null,u=o??([a,g].filter(Boolean).join(" ")||"Request");if("CanceledError"===n?.name||"ERR_CANCELED"===n?.code||!0===n?.__CANCEL__)return void logInfo(`${u} canceled`);if(null!==d&&t.includes(d))return void logWarning(`${u} refused (${d})`);const p="string"==typeof n?.message?n.message:e instanceof Error?e.message:null,E=(0,_redact.redactString)(null===d?`${u} failed`:`${u} failed (${d})`);isEnabled()&&isLogLevelAllowed(LogLevels.ERROR.level)&&console.error(`${LogLevels.ERROR.color}[ERROR]: ${E}${Colors.RESET}`,(0,_redact.redactString)(p??"")),safe(()=>remote?.log?.("error",E,[]));const f=(0,_index.getConfigValue)("correlationIdHeader",null),L=(0,_redact.redact)({source:"Logger.requestFailed",label:u,status:d,method:a,path:g,code:"string"==typeof i?.code?i.code:null,traceId:"string"==typeof i?.traceId?i.traceId:null,correlationId:f?headerValue(l?.headers,f):null,detail:p,...s});forwardErrorToRemote((0,_redact.redact)(new Error(E)),L)},setUser=(e,r)=>{safe(()=>remote?.setUser?.(e,r))},setAttribute=(e,r)=>{safe(()=>remote?.setAttribute?.(e,r))},trackScreen=(e,r)=>{e!==currentScreen&&(currentScreen=e,screenHistory.push(e),screenHistory.length>loggerOptions.screenHistoryLimit&&(screenHistory=screenHistory.slice(screenHistory.length-loggerOptions.screenHistoryLimit)),breadcrumb(`Screen: ${e}`,r))},getCurrentScreen=()=>currentScreen,getScreenHistory=()=>[...screenHistory],Logger=exports.Logger={debug:logDebug,info:logInfo,warn:logWarning,error:logError,breadcrumb:breadcrumb,recordError:recordError,requestFailed:requestFailed,setUser:setUser,setAttribute:setAttribute,trackScreen:trackScreen,getCurrentScreen:getCurrentScreen,getScreenHistory:getScreenHistory};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.createApiBaseQuery=void 0;var _axios=_interopRequireDefault(require("axios")),_index=require("../errors/index.js");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const createApiBaseQuery=({client:e,publicClient:t})=>async(r,{signal:s},a)=>{const i="string"==typeof r?{url:r}:r,u=i.silent??a?.silent??!1;if(i.public&&!t)throw new Error(`createApiBaseQuery: "${i.url}" is marked public but no publicClient was passed.`);const n=i.public?t:e,o={url:i.url,method:i.method??"GET",data:i.data,params:i.params,headers:i.headers,responseType:i.responseType,timeout:i.timeout,signal:s};try{const e=await n.request(o);return{data:e.data,meta:{silent:u,status:e.status}}}catch(e){const t=(0,_index.extractApiError)(e),r=_axios.default.isCancel(e);return{error:t,meta:{silent:u||r,status:t.status}}}};exports.createApiBaseQuery=createApiBaseQuery;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.createAppApi=exports.APP_API_DEFAULTS=void 0;var _react=require("@reduxjs/toolkit/query/react");const APP_API_DEFAULTS=exports.APP_API_DEFAULTS={keepUnusedDataFor:60,refetchOnReconnect:!0,refetchOnFocus:!0},createAppApi=e=>(0,_react.createApi)({...APP_API_DEFAULTS,...e});exports.createAppApi=createAppApi;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),Object.defineProperty(exports,"APP_API_DEFAULTS",{enumerable:!0,get:function(){return _createAppApi.APP_API_DEFAULTS}}),Object.defineProperty(exports,"LIST_TAG_ID",{enumerable:!0,get:function(){return _tags.LIST_TAG_ID}}),Object.defineProperty(exports,"buildListQuery",{enumerable:!0,get:function(){return _paging.buildListQuery}}),Object.defineProperty(exports,"createApiBaseQuery",{enumerable:!0,get:function(){return _apiBaseQuery.createApiBaseQuery}}),Object.defineProperty(exports,"createAppApi",{enumerable:!0,get:function(){return _createAppApi.createAppApi}}),Object.defineProperty(exports,"getNextPageParam",{enumerable:!0,get:function(){return _paging.getNextPageParam}}),Object.defineProperty(exports,"getPreviousPageParam",{enumerable:!0,get:function(){return _paging.getPreviousPageParam}}),Object.defineProperty(exports,"hasNextPage",{enumerable:!0,get:function(){return _paging.hasNextPage}}),Object.defineProperty(exports,"hasPreviousPage",{enumerable:!0,get:function(){return _paging.hasPreviousPage}}),Object.defineProperty(exports,"itemTag",{enumerable:!0,get:function(){return _tags.itemTag}}),Object.defineProperty(exports,"listTag",{enumerable:!0,get:function(){return _tags.listTag}}),Object.defineProperty(exports,"providesList",{enumerable:!0,get:function(){return _tags.providesList}}),Object.defineProperty(exports,"providesPagedList",{enumerable:!0,get:function(){return _tags.providesPagedList}}),Object.defineProperty(exports,"setupApiListeners",{enumerable:!0,get:function(){return _listeners.setupApiListeners}});var _apiBaseQuery=require("./apiBaseQuery.js"),_createAppApi=require("./createAppApi.js"),_listeners=require("./listeners.js"),_paging=require("./paging.js"),_tags=require("./tags.js");
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.setupApiListeners=void 0;var _query=require("@reduxjs/toolkit/query"),_reactNative=require("react-native"),_index=require("../network/index.js");const setupApiListeners=e=>(0,_query.setupListeners)(e,(e,{onFocus:t,onFocusLost:r,onOnline:s,onOffline:i})=>{let n="active"===_reactNative.AppState.currentState;const o=_reactNative.AppState.addEventListener("change",s=>{const i="active"===s;i!==n&&(n=i,e(i?t():r()))});let u=!0;const a=(0,_index.addNetworkStatusListener)(({isConnected:t})=>{t!==u&&(u=t,e(t?s():i()))});return()=>{o.remove(),a()}});exports.setupApiListeners=setupApiListeners;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.hasPreviousPage=exports.hasNextPage=exports.getPreviousPageParam=exports.getNextPageParam=exports.buildListQuery=void 0;const buildListQuery=({page:e,pageSize:a,sortBy:r,sortOrder:t,filters:s})=>{const o={},put=(e,a)=>{null!=a&&""!==a&&(o[e]=a)};put("page",e),put("pageSize",a),put("sortBy",r),put("sortOrder",t);for(const[e,a]of Object.entries(s??{})){if("page"===e||"pageSize"===e||"sortBy"===e||"sortOrder"===e)throw new Error(`buildListQuery: filter "${e}" collides with a paging parameter.`);put(e,a)}return o};exports.buildListQuery=buildListQuery;const hasNextPage=e=>e.page<e.totalPages;exports.hasNextPage=hasNextPage;const hasPreviousPage=e=>e.page>1;exports.hasPreviousPage=hasPreviousPage;const getNextPageParam=e=>hasNextPage(e)?e.page+1:void 0;exports.getNextPageParam=getNextPageParam;const getPreviousPageParam=e=>hasPreviousPage(e)?e.page-1:void 0;exports.getPreviousPageParam=getPreviousPageParam;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.listTag=exports.itemTag=exports.LIST_TAG_ID=void 0,exports.providesList=providesList,exports.providesPagedList=providesPagedList;const LIST_TAG_ID=exports.LIST_TAG_ID="LIST",byPublicId=t=>t.publicId,listTag=t=>({type:t,id:LIST_TAG_ID});exports.listTag=listTag;const itemTag=(t,e)=>({type:t,id:e});function providesList(t,e,i){const s=i??byPublicId;return[listTag(t),...(e??[]).map(e=>itemTag(t,s(e)))]}function providesPagedList(t,e){const i=e??byPublicId;return e=>providesList(t,e?.items,i)}exports.itemTag=itemTag;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.errorToastMiddleware=errorToastMiddleware,exports.isSilentRejection=void 0;var _extractApiError=require("../errors/extractApiError.js");const isDict=e=>"object"==typeof e&&null!==e&&!Array.isArray(e),hasSilent=e=>isDict(e)&&!0===e.silent,isSilentRejection=e=>hasSilent(e)||hasSilent(e.arg)||isDict(e.arg)&&hasSilent(e.arg.originalArgs)||hasSilent(e.baseQueryMeta);function errorToastMiddleware(e){const{showToast:t,ignoreCodes:r=[],ignoreStatuses:i=[401],dedupeMs:s=4e3,onRejected:o}=e,n=new Map;return e=>a=>c=>{const l=a(c);if(!isDict(c)||!isDict(c.meta))return l;const u=c.meta;if("rejected"!==u.requestStatus||!0===u.aborted||!0===u.condition)return l;const d=(0,_extractApiError.extractApiError)(!0===u.rejectedWithValue?c.payload:c.error);if(d.code===_extractApiError.REQUEST_CANCELED_CODE)return l;const p=o?.(c,d,e);if("silent"===p||isSilentRejection(u))return l;if("toast"!==p){if(null!==d.code&&r.includes(d.code))return l;if(i.includes(d.status))return l}return(e=>{if(s<=0)return!0;const t=Date.now();for(const[e,r]of n)t-r>=s&&n.delete(e);return!n.has(e)&&(n.set(e,t),!0)})(d.message)&&t(d.message,d),l}}exports.isSilentRejection=isSilentRejection;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),Object.defineProperty(exports,"SERIALIZABLE_IGNORED_ACTION_PATHS",{enumerable:!0,get:function(){return _serializableCheck.SERIALIZABLE_IGNORED_ACTION_PATHS}}),Object.defineProperty(exports,"createRootReducer",{enumerable:!0,get:function(){return _rootReducer.createRootReducer}}),Object.defineProperty(exports,"errorToastMiddleware",{enumerable:!0,get:function(){return _errorToastMiddleware.errorToastMiddleware}}),Object.defineProperty(exports,"isSilentRejection",{enumerable:!0,get:function(){return _errorToastMiddleware.isSilentRejection}}),Object.defineProperty(exports,"resetState",{enumerable:!0,get:function(){return _rootReducer.resetState}});var _errorToastMiddleware=require("./errorToastMiddleware.js"),_rootReducer=require("./rootReducer.js"),_serializableCheck=require("./serializableCheck.js");
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.createRootReducer=createRootReducer,exports.resetState=void 0;var _toolkit=require("@reduxjs/toolkit");const resetState=exports.resetState=(0,_toolkit.createAction)("app/resetState");function createRootReducer(e,t={}){const r=(0,_toolkit.combineReducers)(e),o=t.preserve??[];return(e,t)=>{if(void 0!==e&&resetState.match(t)){const s={};for(const t of o)s[t]=e[t];return r(s,t)}return r(e,t)}}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.SERIALIZABLE_IGNORED_ACTION_PATHS=void 0;const SERIALIZABLE_IGNORED_ACTION_PATHS=exports.SERIALIZABLE_IGNORED_ACTION_PATHS=["meta.arg","meta.baseQueryMeta"];
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.parseBuildNumber=exports.isBuildBelowMinimum=void 0;const parseBuildNumber=e=>{if("number"==typeof e)return Number.isSafeInteger(e)&&e>=0?e:null;if("string"!=typeof e)return null;const r=e.trim();if(!/^\d+$/.test(r))return null;const u=Number(r);return Number.isSafeInteger(u)?u:null};exports.parseBuildNumber=parseBuildNumber;const isBuildBelowMinimum=(e,r)=>null!==r&&e<r;exports.isBuildBelowMinimum=isBuildBelowMinimum;
|