asma-core-helpers 0.4.0 → 0.4.2

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.
Files changed (183) hide show
  1. package/lib/clients/srvAuth.d.ts +2 -0
  2. package/lib/clients/srvAuth.d.ts.map +1 -0
  3. package/lib/clients/srvAuth.js +7 -0
  4. package/lib/clients/srvAuth.js.map +1 -0
  5. package/lib/g-definitions.d.ts +131 -0
  6. package/lib/g-definitions.d.ts.map +1 -0
  7. package/lib/g-definitions.js +19 -0
  8. package/lib/g-definitions.js.map +1 -0
  9. package/lib/helpers/CapitalizeFistLetter.d.ts +3 -0
  10. package/lib/helpers/CapitalizeFistLetter.d.ts.map +1 -0
  11. package/lib/helpers/CapitalizeFistLetter.js +7 -0
  12. package/lib/helpers/CapitalizeFistLetter.js.map +1 -0
  13. package/lib/helpers/Config.d.ts +6 -0
  14. package/lib/helpers/Config.d.ts.map +1 -0
  15. package/lib/helpers/Config.js +43 -0
  16. package/lib/helpers/Config.js.map +1 -0
  17. package/lib/helpers/EnvironmentToOperateTypes.d.ts +8 -0
  18. package/lib/helpers/EnvironmentToOperateTypes.d.ts.map +1 -0
  19. package/lib/helpers/EnvironmentToOperateTypes.js +9 -0
  20. package/lib/helpers/EnvironmentToOperateTypes.js.map +1 -0
  21. package/lib/helpers/EnvironmentsUrls.d.ts +49 -0
  22. package/lib/helpers/EnvironmentsUrls.d.ts.map +1 -0
  23. package/lib/helpers/EnvironmentsUrls.js +68 -0
  24. package/lib/helpers/EnvironmentsUrls.js.map +1 -0
  25. package/lib/helpers/FormatNumberConstants.d.ts +33 -0
  26. package/lib/helpers/FormatNumberConstants.d.ts.map +1 -0
  27. package/lib/helpers/FormatNumberConstants.js +47 -0
  28. package/lib/helpers/FormatNumberConstants.js.map +1 -0
  29. package/lib/helpers/InitializeIDBListenersOnMstSnapshots.d.ts +5 -0
  30. package/lib/helpers/InitializeIDBListenersOnMstSnapshots.d.ts.map +1 -0
  31. package/lib/helpers/InitializeIDBListenersOnMstSnapshots.js +46 -0
  32. package/lib/helpers/InitializeIDBListenersOnMstSnapshots.js.map +1 -0
  33. package/lib/helpers/IsAdcuris.d.ts +2 -0
  34. package/lib/helpers/IsAdcuris.d.ts.map +1 -0
  35. package/lib/helpers/IsAdcuris.js +10 -0
  36. package/lib/helpers/IsAdcuris.js.map +1 -0
  37. package/lib/helpers/IsAdopus.d.ts +2 -0
  38. package/lib/helpers/IsAdopus.d.ts.map +1 -0
  39. package/lib/helpers/IsAdopus.js +10 -0
  40. package/lib/helpers/IsAdopus.js.map +1 -0
  41. package/lib/helpers/IsNotEmpty.d.ts +3 -0
  42. package/lib/helpers/IsNotEmpty.d.ts.map +1 -0
  43. package/lib/helpers/IsNotEmpty.js +15 -0
  44. package/lib/helpers/IsNotEmpty.js.map +1 -0
  45. package/lib/helpers/JSONToBase64EncodeDecode.d.ts +3 -0
  46. package/lib/helpers/JSONToBase64EncodeDecode.d.ts.map +1 -0
  47. package/lib/helpers/JSONToBase64EncodeDecode.js +10 -0
  48. package/lib/helpers/JSONToBase64EncodeDecode.js.map +1 -0
  49. package/lib/helpers/NorwegianPostalCodes.d.ts +9 -0
  50. package/lib/helpers/NorwegianPostalCodes.d.ts.map +1 -0
  51. package/lib/helpers/NorwegianPostalCodes.js +5107 -0
  52. package/lib/helpers/NorwegianPostalCodes.js.map +1 -0
  53. package/lib/helpers/_processServerError.d.ts +3 -0
  54. package/lib/helpers/_processServerError.d.ts.map +1 -0
  55. package/lib/helpers/_processServerError.js +100 -0
  56. package/lib/helpers/_processServerError.js.map +1 -0
  57. package/lib/helpers/attachUserJournalCredentials.d.ts +2 -0
  58. package/lib/helpers/attachUserJournalCredentials.d.ts.map +1 -0
  59. package/lib/helpers/attachUserJournalCredentials.js +17 -0
  60. package/lib/helpers/attachUserJournalCredentials.js.map +1 -0
  61. package/lib/helpers/base64ToFile.d.ts +2 -0
  62. package/lib/helpers/base64ToFile.d.ts.map +1 -0
  63. package/lib/helpers/base64ToFile.js +10 -0
  64. package/lib/helpers/base64ToFile.js.map +1 -0
  65. package/lib/helpers/checkForRegisteredSubdomains.d.ts +22 -0
  66. package/lib/helpers/checkForRegisteredSubdomains.d.ts.map +1 -0
  67. package/lib/helpers/checkForRegisteredSubdomains.js +47 -0
  68. package/lib/helpers/checkForRegisteredSubdomains.js.map +1 -0
  69. package/lib/helpers/clearCacheData.d.ts +6 -0
  70. package/lib/helpers/clearCacheData.d.ts.map +1 -0
  71. package/lib/helpers/clearCacheData.js +26 -0
  72. package/lib/helpers/clearCacheData.js.map +1 -0
  73. package/lib/helpers/generateEnvConfigsBindings.d.ts +77 -0
  74. package/lib/helpers/generateEnvConfigsBindings.d.ts.map +1 -0
  75. package/lib/helpers/generateEnvConfigsBindings.js +67 -0
  76. package/lib/helpers/generateEnvConfigsBindings.js.map +1 -0
  77. package/lib/helpers/generateGenqlClient.d.ts +21 -0
  78. package/lib/helpers/generateGenqlClient.d.ts.map +1 -0
  79. package/lib/helpers/generateGenqlClient.js +98 -0
  80. package/lib/helpers/generateGenqlClient.js.map +1 -0
  81. package/lib/helpers/generateRandomString.d.ts +2 -0
  82. package/lib/helpers/generateRandomString.d.ts.map +1 -0
  83. package/lib/helpers/generateRandomString.js +10 -0
  84. package/lib/helpers/generateRandomString.js.map +1 -0
  85. package/lib/helpers/generateSrvAuthBindings.d.ts +227 -0
  86. package/lib/helpers/generateSrvAuthBindings.d.ts.map +1 -0
  87. package/lib/helpers/generateSrvAuthBindings.js +567 -0
  88. package/lib/helpers/generateSrvAuthBindings.js.map +1 -0
  89. package/lib/helpers/generateSrvAuthBindings.types.d.ts +84 -0
  90. package/lib/helpers/generateSrvAuthBindings.types.d.ts.map +1 -0
  91. package/lib/helpers/generateSrvAuthBindings.types.js +2 -0
  92. package/lib/helpers/generateSrvAuthBindings.types.js.map +1 -0
  93. package/lib/helpers/generateSyntheticNorwegianNumber.d.ts +14 -0
  94. package/lib/helpers/generateSyntheticNorwegianNumber.d.ts.map +1 -0
  95. package/lib/helpers/generateSyntheticNorwegianNumber.js +70 -0
  96. package/lib/helpers/generateSyntheticNorwegianNumber.js.map +1 -0
  97. package/lib/helpers/generateUUID4.d.ts +2 -0
  98. package/lib/helpers/generateUUID4.d.ts.map +1 -0
  99. package/lib/helpers/generateUUID4.js +16 -0
  100. package/lib/helpers/generateUUID4.js.map +1 -0
  101. package/lib/helpers/getActivityStatus.d.ts +8 -0
  102. package/lib/helpers/getActivityStatus.d.ts.map +1 -0
  103. package/lib/helpers/getActivityStatus.js +18 -0
  104. package/lib/helpers/getActivityStatus.js.map +1 -0
  105. package/lib/helpers/getGqlOperationName.d.ts +2 -0
  106. package/lib/helpers/getGqlOperationName.d.ts.map +1 -0
  107. package/lib/helpers/getGqlOperationName.js +15 -0
  108. package/lib/helpers/getGqlOperationName.js.map +1 -0
  109. package/lib/helpers/getSubdomain.d.ts +6 -0
  110. package/lib/helpers/getSubdomain.d.ts.map +1 -0
  111. package/lib/helpers/getSubdomain.js +47 -0
  112. package/lib/helpers/getSubdomain.js.map +1 -0
  113. package/lib/helpers/initASMAAppVitals.d.ts +42 -0
  114. package/lib/helpers/initASMAAppVitals.d.ts.map +1 -0
  115. package/lib/helpers/initASMAAppVitals.js +96 -0
  116. package/lib/helpers/initASMAAppVitals.js.map +1 -0
  117. package/lib/helpers/initEnvConfigsVars.d.ts +12 -0
  118. package/lib/helpers/initEnvConfigsVars.d.ts.map +1 -0
  119. package/lib/helpers/initEnvConfigsVars.js +178 -0
  120. package/lib/helpers/initEnvConfigsVars.js.map +1 -0
  121. package/lib/helpers/isUUID.d.ts +14 -0
  122. package/lib/helpers/isUUID.d.ts.map +1 -0
  123. package/lib/helpers/isUUID.js +14 -0
  124. package/lib/helpers/isUUID.js.map +1 -0
  125. package/lib/helpers/isValidUrl.d.ts +2 -0
  126. package/lib/helpers/isValidUrl.d.ts.map +1 -0
  127. package/lib/helpers/isValidUrl.js +10 -0
  128. package/lib/helpers/isValidUrl.js.map +1 -0
  129. package/lib/helpers/openReplayConfigs.d.ts +1 -0
  130. package/lib/helpers/openReplayConfigs.d.ts.map +1 -0
  131. package/lib/helpers/openReplayConfigs.js +25 -0
  132. package/lib/helpers/openReplayConfigs.js.map +1 -0
  133. package/lib/helpers/openReplayObject.d.ts +31 -0
  134. package/lib/helpers/openReplayObject.d.ts.map +1 -0
  135. package/lib/helpers/openReplayObject.js +58 -0
  136. package/lib/helpers/openReplayObject.js.map +1 -0
  137. package/lib/helpers/parseJwt.d.ts +9 -0
  138. package/lib/helpers/parseJwt.d.ts.map +1 -0
  139. package/lib/helpers/parseJwt.js +69 -0
  140. package/lib/helpers/parseJwt.js.map +1 -0
  141. package/lib/helpers/registerOpenReplay.d.ts +2 -0
  142. package/lib/helpers/registerOpenReplay.d.ts.map +1 -0
  143. package/lib/helpers/registerOpenReplay.js +2 -0
  144. package/lib/helpers/registerOpenReplay.js.map +1 -0
  145. package/lib/helpers/requestIdleCallback.d.ts +2 -0
  146. package/lib/helpers/requestIdleCallback.d.ts.map +1 -0
  147. package/lib/helpers/requestIdleCallback.js +9 -0
  148. package/lib/helpers/requestIdleCallback.js.map +1 -0
  149. package/lib/helpers/sha256.d.ts +2 -0
  150. package/lib/helpers/sha256.d.ts.map +1 -0
  151. package/lib/helpers/sha256.js +89 -0
  152. package/lib/helpers/sha256.js.map +1 -0
  153. package/lib/helpers/stringToKeyValueMap.d.ts +25 -0
  154. package/lib/helpers/stringToKeyValueMap.d.ts.map +1 -0
  155. package/lib/helpers/stringToKeyValueMap.js +39 -0
  156. package/lib/helpers/stringToKeyValueMap.js.map +1 -0
  157. package/lib/helpers/urlParams.helpers.d.ts +42 -0
  158. package/lib/helpers/urlParams.helpers.d.ts.map +1 -0
  159. package/lib/helpers/urlParams.helpers.js +51 -0
  160. package/lib/helpers/urlParams.helpers.js.map +1 -0
  161. package/lib/helpers/userTypingSignal.d.ts +5 -0
  162. package/lib/helpers/userTypingSignal.d.ts.map +1 -0
  163. package/lib/helpers/userTypingSignal.js +34 -0
  164. package/lib/helpers/userTypingSignal.js.map +1 -0
  165. package/lib/helpers/validateNorwegianPersonalNumber.d.ts +40 -0
  166. package/lib/helpers/validateNorwegianPersonalNumber.d.ts.map +1 -0
  167. package/lib/helpers/validateNorwegianPersonalNumber.js +178 -0
  168. package/lib/helpers/validateNorwegianPersonalNumber.js.map +1 -0
  169. package/lib/index.d.ts +43 -0
  170. package/lib/index.d.ts.map +1 -0
  171. package/lib/index.js.map +1 -0
  172. package/lib/interfaces/enums.d.ts +52 -0
  173. package/lib/interfaces/enums.d.ts.map +1 -0
  174. package/lib/interfaces/enums.js +59 -0
  175. package/lib/interfaces/enums.js.map +1 -0
  176. package/lib/utility/fetch.d.ts +2 -0
  177. package/lib/utility/fetch.d.ts.map +1 -0
  178. package/lib/utility/fetch.js +6 -0
  179. package/lib/utility/fetch.js.map +1 -0
  180. package/package.json +3 -3
  181. package/src/helpers/JSONToBase64EncodeDecode.ts +1 -1
  182. package/src/helpers/_processServerError.ts +2 -2
  183. package/src/utility/fetch.ts +1 -1
@@ -0,0 +1,34 @@
1
+ import { realWindow } from './getSubdomain.js';
2
+ export function userTypingSignal(insertUserLastTyped) {
3
+ let timmer = undefined;
4
+ let last_typed = undefined;
5
+ function setLastTyped() {
6
+ last_typed = Date.now();
7
+ }
8
+ function initiateUserTyping() {
9
+ if (timmer) {
10
+ return;
11
+ }
12
+ if (userIsTyping()) {
13
+ timmer = realWindow.setInterval(() => {
14
+ if (!userIsTyping()) {
15
+ realWindow.clearInterval(timmer);
16
+ timmer = undefined;
17
+ return;
18
+ }
19
+ insertUserLastTyped();
20
+ }, 1600);
21
+ }
22
+ }
23
+ function userIsTyping() {
24
+ if (!last_typed) {
25
+ return false;
26
+ }
27
+ return last_typed > Date.now() - 2 * 1000;
28
+ }
29
+ return {
30
+ initiateUserTyping,
31
+ setLastTyped,
32
+ };
33
+ }
34
+ //# sourceMappingURL=userTypingSignal.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"userTypingSignal.js","sourceRoot":"","sources":["../../src/helpers/userTypingSignal.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAE9C,MAAM,UAAU,gBAAgB,CAAC,mBAA2C;IACxE,IAAI,MAAM,GAAuB,SAAS,CAAA;IAE1C,IAAI,UAAU,GAAuB,SAAS,CAAA;IAE9C,SAAS,YAAY;QACjB,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;IAC3B,CAAC;IAED,SAAS,kBAAkB;QACvB,IAAI,MAAM,EAAE,CAAC;YACT,OAAM;QACV,CAAC;QAED,IAAI,YAAY,EAAE,EAAE,CAAC;YACjB,MAAM,GAAG,UAAU,CAAC,WAAW,CAAC,GAAG,EAAE;gBACjC,IAAI,CAAC,YAAY,EAAE,EAAE,CAAC;oBAClB,UAAU,CAAC,aAAa,CAAC,MAAM,CAAC,CAAA;oBAEhC,MAAM,GAAG,SAAS,CAAA;oBAClB,OAAM;gBACV,CAAC;gBAED,mBAAmB,EAAE,CAAA;YACzB,CAAC,EAAE,IAAI,CAAC,CAAA;QACZ,CAAC;IACL,CAAC;IACD,SAAS,YAAY;QACjB,IAAI,CAAC,UAAU,EAAE,CAAC;YACd,OAAO,KAAK,CAAA;QAChB,CAAC;QAED,OAAO,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,IAAI,CAAA;IAC7C,CAAC;IAED,OAAO;QACH,kBAAkB;QAElB,YAAY;KACf,CAAA;AACL,CAAC"}
@@ -0,0 +1,40 @@
1
+ export declare const NORWEGIAN_PERSONAL_NUMBER: readonly ["REAL", "DNUMBER", "SYNTHETIC", "TEMPORARY"];
2
+ export type NORWEGIAN_PERSONAL_NUMBER_TYPES = (typeof NORWEGIAN_PERSONAL_NUMBER)[number] | 'INVALID';
3
+ export declare function isNorwegianTemporaryNumber(number: string): boolean;
4
+ export declare function isNorwegianDnumber(number: string): boolean;
5
+ export declare function isNorwegianSyntheticNumber(number: string): boolean;
6
+ export declare function isNorwegianRealNumber(number: string): boolean;
7
+ export declare function validateNorwegianPersonalNumberAndGetBirthDate(number: string): {
8
+ class: NORWEGIAN_PERSONAL_NUMBER_TYPES;
9
+ birthDate?: string;
10
+ };
11
+ export declare const validateNorwegianPersonalNumber: (number: string) => NORWEGIAN_PERSONAL_NUMBER_TYPES;
12
+ /**
13
+ * Extracts the birth date from a Norwegian national ID.
14
+ * @param personalNumber - The Norwegian national ID [Expecting type: `string`].
15
+ * @returns Formatted date string (DD.MM.YYYY) if the ID is valid, or null if the ID is invalid.
16
+ */
17
+ export declare const getBirthDateFromNorwegianPersonalNumber: (number: string) => string | null;
18
+ export declare const getAgeFromNorwegianPersonalNumber: (pnr: string) => number | null;
19
+ /**
20
+ *
21
+ * @param pnr string
22
+ * @returns pnr if validation passed, or null if validation failed
23
+ */
24
+ export declare function getValidNorwegianPersonalNumber(pnr: string): string | null;
25
+ export type GENDER = 'MALE' | 'FEMALE';
26
+ /**
27
+ *
28
+ * @param pnr string - Norwegian personal number
29
+ * @returns `GENDER` if successfully determined, otherwise `null`
30
+ */
31
+ export declare const getGenderFromNorwegianPersonalNumber: (pnr: string) => GENDER | null;
32
+ export declare const isMale: (pnr: string) => boolean;
33
+ export declare const isFemale: (pnr: string) => boolean;
34
+ export declare function generateUniqueToken(user: {
35
+ fnr: string;
36
+ salt: string;
37
+ customer_id?: string;
38
+ actno?: string;
39
+ }): string;
40
+ //# sourceMappingURL=validateNorwegianPersonalNumber.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validateNorwegianPersonalNumber.d.ts","sourceRoot":"","sources":["../../src/helpers/validateNorwegianPersonalNumber.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,yBAAyB,wDAAyD,CAAA;AAE/F,MAAM,MAAM,+BAA+B,GAAG,CAAC,OAAO,yBAAyB,CAAC,CAAC,MAAM,CAAC,GAAG,SAAS,CAAA;AACpG,wBAAgB,0BAA0B,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAElE;AACD,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAE1D;AACD,wBAAgB,0BAA0B,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAElE;AACD,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAE7D;AACD,wBAAgB,8CAA8C,CAAC,MAAM,EAAE,MAAM,GAAG;IAC5E,KAAK,EAAE,+BAA+B,CAAA;IACtC,SAAS,CAAC,EAAE,MAAM,CAAA;CACrB,CA4FA;AAED,eAAO,MAAM,+BAA+B,WAAY,MAAM,oCACE,CAAA;AAEhE;;;;GAIG;AACH,eAAO,MAAM,uCAAuC,WAAY,MAAM,kBACM,CAAA;AAE5E,eAAO,MAAM,iCAAiC,QAAS,MAAM,kBA6B5D,CAAA;AAED;;;;GAIG;AACH,wBAAgB,+BAA+B,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAQ1E;AAED,MAAM,MAAM,MAAM,GAAG,MAAM,GAAG,QAAQ,CAAA;AACtC;;;;GAIG;AACH,eAAO,MAAM,oCAAoC,QAAS,MAAM,KAAG,MAAM,GAAG,IAS3E,CAAA;AAED,eAAO,MAAM,MAAM,QAAS,MAAM,KAAG,OAA+D,CAAA;AAEpG,eAAO,MAAM,QAAQ,QAAS,MAAM,KAAG,OAAiE,CAAA;AA2CxG,wBAAgB,mBAAmB,CAAC,IAAI,EAAE;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,MAAM,CAQrH"}
@@ -0,0 +1,178 @@
1
+ import { sha256 } from './sha256.js';
2
+ export const NORWEGIAN_PERSONAL_NUMBER = ['REAL', 'DNUMBER', 'SYNTHETIC', 'TEMPORARY'];
3
+ export function isNorwegianTemporaryNumber(number) {
4
+ return validateNorwegianPersonalNumber(number) === 'TEMPORARY';
5
+ }
6
+ export function isNorwegianDnumber(number) {
7
+ return validateNorwegianPersonalNumber(number) === 'DNUMBER';
8
+ }
9
+ export function isNorwegianSyntheticNumber(number) {
10
+ return validateNorwegianPersonalNumber(number) === 'SYNTHETIC';
11
+ }
12
+ export function isNorwegianRealNumber(number) {
13
+ return validateNorwegianPersonalNumber(number) === 'REAL';
14
+ }
15
+ export function validateNorwegianPersonalNumberAndGetBirthDate(number) {
16
+ // Check if the number has the correct format (11 digits)
17
+ if (!/^\d{11}$/.test(number))
18
+ return { class: 'INVALID' };
19
+ /**
20
+ * Convert the string to an array of digits
21
+ * Since the input is guaranteed to be 11 digits, digits will always be a number
22
+ */
23
+ const digits = number.split('').map(Number);
24
+ // D-number: First digit between 4 and 7
25
+ const isDNumber = digits[0] >= 4 && digits[0] <= 7;
26
+ // Synthetic number: First digit of the birth date +40
27
+ const isSynthetic = digits[2] >= 4;
28
+ // Temporary number: Last five digits are `11111` or `22222`
29
+ const isTemporary = ['11111', '22222'].includes(number.slice(6));
30
+ let day = digits[0] * 10 + digits[1];
31
+ let month = digits[2] * 10 + digits[3];
32
+ const year = digits[4] * 10 + digits[5];
33
+ const currentYear = new Date().getFullYear();
34
+ const fullYear = year + (year <= currentYear % 100 ? 2000 : 1900); // Adjust year based on the current century
35
+ // Format day and month with leading zero
36
+ const formatWithLeadingZero = (value) => value.toString().padStart(2, '0');
37
+ const formattedDay = formatWithLeadingZero(day);
38
+ const formattedMonth = formatWithLeadingZero(month);
39
+ const birthDate = `${formattedDay}.${formattedMonth}.${fullYear}`;
40
+ if (isSynthetic) {
41
+ const syntheticMonth = digits[2] * 10 + digits[3];
42
+ const addedNumber = getAddedNumberForSyntheticMonth(syntheticMonth);
43
+ // Invalid synthetic number if no valid month
44
+ if (addedNumber === 'INVALID') {
45
+ return { class: 'INVALID' };
46
+ }
47
+ // Subtract the added number to get the original month and update the birth date to reflect adjusted moth
48
+ month -= addedNumber;
49
+ return { class: 'SYNTHETIC', birthDate: `${formattedDay}.${formatWithLeadingZero(month)}.${fullYear}` };
50
+ }
51
+ else {
52
+ month = digits[2] * 10 + digits[3];
53
+ }
54
+ if (isTemporary && isValidDate(year, month, day)) {
55
+ return { class: 'TEMPORARY', birthDate };
56
+ }
57
+ // Validate control digits (modulus 11)
58
+ const k1Weights = [3, 7, 6, 1, 8, 9, 4, 5, 2];
59
+ const k2Weights = [5, 4, 3, 2, 7, 6, 5, 4, 3, 2];
60
+ const calculateControlDigit = (weights, sliceEnd) => {
61
+ const sum = digits.slice(0, sliceEnd).reduce((acc, digit, idx) => acc + digit * weights[idx], 0);
62
+ const remainder = sum % 11;
63
+ return remainder === 0 ? 0 : 11 - remainder;
64
+ };
65
+ const k1 = calculateControlDigit(k1Weights, 9);
66
+ const k2 = calculateControlDigit(k2Weights, 10);
67
+ if (k1 !== digits[9] || k2 !== digits[10])
68
+ return { class: 'INVALID' };
69
+ // Identify type based on pattern
70
+ if (isDNumber) {
71
+ day = digits[0] - 4 + digits[1] * 10;
72
+ // Update birth date to reflect adjusted day
73
+ return { class: 'DNUMBER', birthDate: `${formatWithLeadingZero(day)}.${formattedMonth}.${fullYear}` };
74
+ }
75
+ if (!isValidDate(year, month, day)) {
76
+ return { class: 'INVALID' };
77
+ }
78
+ return { class: 'REAL', birthDate };
79
+ }
80
+ export const validateNorwegianPersonalNumber = (number) => validateNorwegianPersonalNumberAndGetBirthDate(number).class;
81
+ /**
82
+ * Extracts the birth date from a Norwegian national ID.
83
+ * @param personalNumber - The Norwegian national ID [Expecting type: `string`].
84
+ * @returns Formatted date string (DD.MM.YYYY) if the ID is valid, or null if the ID is invalid.
85
+ */
86
+ export const getBirthDateFromNorwegianPersonalNumber = (number) => validateNorwegianPersonalNumberAndGetBirthDate(number).birthDate ?? null;
87
+ export const getAgeFromNorwegianPersonalNumber = (pnr) => {
88
+ const birthday = getBirthDateFromNorwegianPersonalNumber(pnr);
89
+ if (!birthday) {
90
+ return null;
91
+ }
92
+ const [day, month, year] = birthday.split('.').map(Number);
93
+ if (!(day && month && year)) {
94
+ return null;
95
+ }
96
+ /** Subtract 1 from the month because JavaScript months are zero-based (0-11) */
97
+ const birthDate = new Date(year, month - 1, day);
98
+ const currentDate = new Date();
99
+ let age = currentDate.getFullYear() - birthDate.getFullYear();
100
+ /** Checks if the birthday has already passed this year */
101
+ const isBirthdayThisYearPassed = currentDate.getMonth() > birthDate.getMonth() ||
102
+ (currentDate.getMonth() === birthDate.getMonth() && currentDate.getDate() >= birthDate.getDate());
103
+ if (!isBirthdayThisYearPassed) {
104
+ age -= 1;
105
+ }
106
+ return age;
107
+ };
108
+ /**
109
+ *
110
+ * @param pnr string
111
+ * @returns pnr if validation passed, or null if validation failed
112
+ */
113
+ export function getValidNorwegianPersonalNumber(pnr) {
114
+ const validationResult = validateNorwegianPersonalNumber(pnr);
115
+ if (validationResult === 'INVALID') {
116
+ return null;
117
+ }
118
+ return pnr;
119
+ }
120
+ /**
121
+ *
122
+ * @param pnr string - Norwegian personal number
123
+ * @returns `GENDER` if successfully determined, otherwise `null`
124
+ */
125
+ export const getGenderFromNorwegianPersonalNumber = (pnr) => {
126
+ const norwegianId = getValidNorwegianPersonalNumber(pnr);
127
+ if (!norwegianId)
128
+ return null;
129
+ const individualNumber = parseInt(norwegianId.slice(6, 9), 10);
130
+ /* Digits 7-9 determine gender: even = `FEMALE`, odd = `MALE` */
131
+ return individualNumber % 2 === 0 ? 'FEMALE' : 'MALE';
132
+ };
133
+ export const isMale = (pnr) => getGenderFromNorwegianPersonalNumber(pnr) === 'MALE';
134
+ export const isFemale = (pnr) => getGenderFromNorwegianPersonalNumber(pnr) === 'FEMALE';
135
+ // Function to check for valid date
136
+ function isValidDate(year, month, day) {
137
+ if (month < 1 || month > 12 || day < 1)
138
+ return false;
139
+ const daysInMonth = [31, isLeapYear(year) ? 29 : 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];
140
+ return day <= daysInMonth[month - 1];
141
+ }
142
+ // Function to check if a year is a leap year
143
+ function isLeapYear(year) {
144
+ return (year % 4 === 0 && year % 100 !== 0) || year % 400 === 0;
145
+ }
146
+ /**
147
+ * Is considered valid synthetic month if `syntheticMonth` is one of these:
148
+ *
149
+ * - **41-52**: `addedValue = 40`
150
+ * - **53-64**: `addedValue = 52`
151
+ * - **65**: `addedValue = 60` (Special case)
152
+ * - **66-77**: `addedValue = 65`
153
+ * - **78-80**: `addedValue = 75` (Special case)
154
+ * - **81-92**: `addedValue = 80`
155
+ */
156
+ function getAddedNumberForSyntheticMonth(syntheticMonth) {
157
+ if (syntheticMonth === 65)
158
+ return 60; // Special case for 65
159
+ //special case for synthetic month 78,79,80 to be 75
160
+ if ([78, 79, 80].includes(syntheticMonth))
161
+ return 75;
162
+ const possibleAdds = [40, 52, 65, 80];
163
+ for (let add of possibleAdds) {
164
+ const calculatedMonth = syntheticMonth - add;
165
+ if (calculatedMonth >= 1 && calculatedMonth <= 12) {
166
+ return add; // Return the valid added number
167
+ }
168
+ }
169
+ return 'INVALID'; // Return INVALID if no valid result found
170
+ }
171
+ export function generateUniqueToken(user) {
172
+ const { fnr, salt, actno, customer_id } = user;
173
+ if (customer_id && actno && validateNorwegianPersonalNumber(fnr) === 'TEMPORARY') {
174
+ return sha256(`${customer_id}-${fnr}-${actno}`);
175
+ }
176
+ return sha256(`${fnr}${salt}`);
177
+ }
178
+ //# sourceMappingURL=validateNorwegianPersonalNumber.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validateNorwegianPersonalNumber.js","sourceRoot":"","sources":["../../src/helpers/validateNorwegianPersonalNumber.ts"],"names":[],"mappings":"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"}
package/lib/index.d.ts ADDED
@@ -0,0 +1,43 @@
1
+ export * from './helpers/_processServerError.js';
2
+ export * from './helpers/FormatNumberConstants.js';
3
+ export * from './helpers/NorwegianPostalCodes.js';
4
+ export * from './helpers/CapitalizeFistLetter.js';
5
+ export * from './helpers/IsAdcuris.js';
6
+ export * from './helpers/IsAdopus.js';
7
+ export * from './helpers/IsNotEmpty.js';
8
+ export * from './helpers/Config.js';
9
+ export * from './helpers/InitializeIDBListenersOnMstSnapshots.js';
10
+ export * from './helpers/initEnvConfigsVars.js';
11
+ export * from './helpers/getGqlOperationName.js';
12
+ export * from './helpers/parseJwt.js';
13
+ export * from './helpers/EnvironmentsUrls.js';
14
+ export * from './helpers/EnvironmentToOperateTypes.js';
15
+ export * from './helpers/generateSrvAuthBindings.js';
16
+ export * from './helpers/generateSrvAuthBindings.types.js';
17
+ export * from './helpers/getSubdomain.js';
18
+ export * from './helpers/checkForRegisteredSubdomains.js';
19
+ export * from './helpers/clearCacheData.js';
20
+ export * from './helpers/generateGenqlClient.js';
21
+ export * from './helpers/generateEnvConfigsBindings.js';
22
+ export * from './helpers/userTypingSignal.js';
23
+ export * from './helpers/base64ToFile.js';
24
+ export * from './helpers/isValidUrl.js';
25
+ export * from './helpers/attachUserJournalCredentials.js';
26
+ export * from './helpers/initASMAAppVitals.js';
27
+ export * from './helpers/registerOpenReplay.js';
28
+ export * from './helpers/urlParams.helpers.js';
29
+ export * from './helpers/openReplayObject.js';
30
+ export * from './helpers/sha256.js';
31
+ export * from './helpers/requestIdleCallback.js';
32
+ export * from './utility/fetch.js';
33
+ export * from './clients/srvAuth.js';
34
+ export * from './interfaces/enums.js';
35
+ export * from './g-definitions.js';
36
+ export * from './helpers/validateNorwegianPersonalNumber.js';
37
+ export * from './helpers/generateSyntheticNorwegianNumber.js';
38
+ export * from './helpers/generateRandomString.js';
39
+ export * from './helpers/isUUID.js';
40
+ export * from './helpers/JSONToBase64EncodeDecode.js';
41
+ export * from './helpers/getActivityStatus.js';
42
+ export * from './helpers/stringToKeyValueMap.js';
43
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,kCAAkC,CAAA;AAChD,cAAc,oCAAoC,CAAA;AAClD,cAAc,mCAAmC,CAAA;AACjD,cAAc,mCAAmC,CAAA;AACjD,cAAc,wBAAwB,CAAA;AACtC,cAAc,uBAAuB,CAAA;AACrC,cAAc,yBAAyB,CAAA;AACvC,cAAc,qBAAqB,CAAA;AACnC,cAAc,mDAAmD,CAAA;AACjE,cAAc,iCAAiC,CAAA;AAE/C,cAAc,kCAAkC,CAAA;AAChD,cAAc,uBAAuB,CAAA;AACrC,cAAc,+BAA+B,CAAA;AAC7C,cAAc,wCAAwC,CAAA;AACtD,cAAc,sCAAsC,CAAA;AACpD,cAAc,4CAA4C,CAAA;AAC1D,cAAc,2BAA2B,CAAA;AACzC,cAAc,2CAA2C,CAAA;AACzD,cAAc,6BAA6B,CAAA;AAC3C,cAAc,kCAAkC,CAAA;AAChD,cAAc,yCAAyC,CAAA;AACvD,cAAc,+BAA+B,CAAA;AAC7C,cAAc,2BAA2B,CAAA;AACzC,cAAc,yBAAyB,CAAA;AACvC,cAAc,2CAA2C,CAAA;AACzD,cAAc,gCAAgC,CAAA;AAC9C,cAAc,iCAAiC,CAAA;AAC/C,cAAc,gCAAgC,CAAA;AAC9C,cAAc,+BAA+B,CAAA;AAE7C,cAAc,qBAAqB,CAAA;AACnC,cAAc,kCAAkC,CAAA;AAEhD,cAAc,oBAAoB,CAAA;AAElC,cAAc,sBAAsB,CAAA;AAEpC,cAAc,uBAAuB,CAAA;AAErC,cAAc,oBAAoB,CAAA;AAElC,cAAc,8CAA8C,CAAA;AAC5D,cAAc,+CAA+C,CAAA;AAC7D,cAAc,mCAAmC,CAAA;AACjD,cAAc,qBAAqB,CAAA;AACnC,cAAc,uCAAuC,CAAA;AACrD,cAAc,gCAAgC,CAAA;AAC9C,cAAc,kCAAkC,CAAA"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,kCAAkC,CAAA;AAChD,cAAc,oCAAoC,CAAA;AAClD,cAAc,mCAAmC,CAAA;AACjD,cAAc,mCAAmC,CAAA;AACjD,cAAc,wBAAwB,CAAA;AACtC,cAAc,uBAAuB,CAAA;AACrC,cAAc,yBAAyB,CAAA;AACvC,cAAc,qBAAqB,CAAA;AACnC,cAAc,mDAAmD,CAAA;AACjE,cAAc,iCAAiC,CAAA;AAE/C,cAAc,kCAAkC,CAAA;AAChD,cAAc,uBAAuB,CAAA;AACrC,cAAc,+BAA+B,CAAA;AAC7C,cAAc,wCAAwC,CAAA;AACtD,cAAc,sCAAsC,CAAA;AACpD,cAAc,4CAA4C,CAAA;AAC1D,cAAc,2BAA2B,CAAA;AACzC,cAAc,2CAA2C,CAAA;AACzD,cAAc,6BAA6B,CAAA;AAC3C,cAAc,kCAAkC,CAAA;AAChD,cAAc,yCAAyC,CAAA;AACvD,cAAc,+BAA+B,CAAA;AAC7C,cAAc,2BAA2B,CAAA;AACzC,cAAc,yBAAyB,CAAA;AACvC,cAAc,2CAA2C,CAAA;AACzD,cAAc,gCAAgC,CAAA;AAC9C,cAAc,iCAAiC,CAAA;AAC/C,cAAc,gCAAgC,CAAA;AAC9C,cAAc,+BAA+B,CAAA;AAC7C,gDAAgD;AAChD,cAAc,qBAAqB,CAAA;AACnC,cAAc,kCAAkC,CAAA;AAEhD,cAAc,oBAAoB,CAAA;AAElC,cAAc,sBAAsB,CAAA;AAEpC,cAAc,uBAAuB,CAAA;AAErC,cAAc,oBAAoB,CAAA;AAElC,cAAc,8CAA8C,CAAA;AAC5D,cAAc,+CAA+C,CAAA;AAC7D,cAAc,mCAAmC,CAAA;AACjD,cAAc,qBAAqB,CAAA;AACnC,cAAc,uCAAuC,CAAA;AACrD,cAAc,gCAAgC,CAAA;AAC9C,cAAc,kCAAkC,CAAA"}
@@ -0,0 +1,52 @@
1
+ export declare enum InitiatorTypes {
2
+ Customer = "customer",
3
+ Patient = "patient",
4
+ SelfCompletable = "self-completable"
5
+ }
6
+ export declare enum QnrContextTypes {
7
+ Advoca = "advoca",
8
+ Portal = "portal",
9
+ Outlook = "outlook"
10
+ }
11
+ export declare enum DocSignicatSignStatusTypes {
12
+ Complteted = "completed",
13
+ Rejected = "rejected",
14
+ Waiting = "waiting"
15
+ }
16
+ export declare enum DocProxyStatusTypes {
17
+ Signed = "signed",
18
+ WaitingForSigning = "waiting_for_signing",
19
+ OnlyForView = "only_for_view"
20
+ }
21
+ export declare enum QuestionTypes {
22
+ BooleanQuestion = "BooleanQuestion",
23
+ CheckBoxes = "CheckBoxes",
24
+ CompositeQuestion = "CompositeQuestion",
25
+ DateField = "DateField",
26
+ Dropdown = "Dropdown",
27
+ FormatNumber = "FormatNumber",
28
+ LinearScale = "LinearScale",
29
+ Link = "Link",
30
+ RadioButtons = "RadioButtons",
31
+ TextLong = "TextLong",
32
+ TextShort = "TextShort",
33
+ Emoticons = "Emoticons",
34
+ DocumentUpload = "DocumentUpload",
35
+ Readonly = "Readonly",
36
+ ExpressionQuestion = "ExpressionQuestion",
37
+ Chart = "Chart"
38
+ }
39
+ export declare enum ActorTypes {
40
+ Mappable = "mappable",
41
+ Custom = "custom",
42
+ Complex = "complex"
43
+ }
44
+ export declare const EnvironmentEnums: {
45
+ local: string;
46
+ dev: string;
47
+ test: string;
48
+ stage: string;
49
+ prod: string;
50
+ };
51
+ export type IEnvironmentEnums = keyof typeof EnvironmentEnums;
52
+ //# sourceMappingURL=enums.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"enums.d.ts","sourceRoot":"","sources":["../../src/interfaces/enums.ts"],"names":[],"mappings":"AAAA,oBAAY,cAAc;IACtB,QAAQ,aAAa;IACrB,OAAO,YAAY;IACnB,eAAe,qBAAqB;CACvC;AAED,oBAAY,eAAe;IACvB,MAAM,WAAW;IACjB,MAAM,WAAW;IACjB,OAAO,YAAY;CACtB;AACD,oBAAY,0BAA0B;IAClC,UAAU,cAAc;IACxB,QAAQ,aAAa;IACrB,OAAO,YAAY;CACtB;AAED,oBAAY,mBAAmB;IAC3B,MAAM,WAAW;IACjB,iBAAiB,wBAAwB;IACzC,WAAW,kBAAkB;CAGhC;AACD,oBAAY,aAAa;IACrB,eAAe,oBAAoB;IACnC,UAAU,eAAe;IACzB,iBAAiB,sBAAsB;IACvC,SAAS,cAAc;IACvB,QAAQ,aAAa;IACrB,YAAY,iBAAiB;IAC7B,WAAW,gBAAgB;IAC3B,IAAI,SAAS;IACb,YAAY,iBAAiB;IAC7B,QAAQ,aAAa;IACrB,SAAS,cAAc;IACvB,SAAS,cAAc;IACvB,cAAc,mBAAmB;IACjC,QAAQ,aAAa;IACrB,kBAAkB,uBAAuB;IACzC,KAAK,UAAU;CAClB;AAED,oBAAY,UAAU;IAClB,QAAQ,aAAa;IACrB,MAAM,WAAW;IACjB,OAAO,YAAY;CACtB;AAED,eAAO,MAAM,gBAAgB;;;;;;CAM5B,CAAA;AACD,MAAM,MAAM,iBAAiB,GAAG,MAAM,OAAO,gBAAgB,CAAA"}
@@ -0,0 +1,59 @@
1
+ export var InitiatorTypes;
2
+ (function (InitiatorTypes) {
3
+ InitiatorTypes["Customer"] = "customer";
4
+ InitiatorTypes["Patient"] = "patient";
5
+ InitiatorTypes["SelfCompletable"] = "self-completable";
6
+ })(InitiatorTypes || (InitiatorTypes = {}));
7
+ export var QnrContextTypes;
8
+ (function (QnrContextTypes) {
9
+ QnrContextTypes["Advoca"] = "advoca";
10
+ QnrContextTypes["Portal"] = "portal";
11
+ QnrContextTypes["Outlook"] = "outlook";
12
+ })(QnrContextTypes || (QnrContextTypes = {}));
13
+ export var DocSignicatSignStatusTypes;
14
+ (function (DocSignicatSignStatusTypes) {
15
+ DocSignicatSignStatusTypes["Complteted"] = "completed";
16
+ DocSignicatSignStatusTypes["Rejected"] = "rejected";
17
+ DocSignicatSignStatusTypes["Waiting"] = "waiting";
18
+ })(DocSignicatSignStatusTypes || (DocSignicatSignStatusTypes = {}));
19
+ export var DocProxyStatusTypes;
20
+ (function (DocProxyStatusTypes) {
21
+ DocProxyStatusTypes["Signed"] = "signed";
22
+ DocProxyStatusTypes["WaitingForSigning"] = "waiting_for_signing";
23
+ DocProxyStatusTypes["OnlyForView"] = "only_for_view";
24
+ /* download = 'download',
25
+ uploaded = 'uploaded' */
26
+ })(DocProxyStatusTypes || (DocProxyStatusTypes = {}));
27
+ export var QuestionTypes;
28
+ (function (QuestionTypes) {
29
+ QuestionTypes["BooleanQuestion"] = "BooleanQuestion";
30
+ QuestionTypes["CheckBoxes"] = "CheckBoxes";
31
+ QuestionTypes["CompositeQuestion"] = "CompositeQuestion";
32
+ QuestionTypes["DateField"] = "DateField";
33
+ QuestionTypes["Dropdown"] = "Dropdown";
34
+ QuestionTypes["FormatNumber"] = "FormatNumber";
35
+ QuestionTypes["LinearScale"] = "LinearScale";
36
+ QuestionTypes["Link"] = "Link";
37
+ QuestionTypes["RadioButtons"] = "RadioButtons";
38
+ QuestionTypes["TextLong"] = "TextLong";
39
+ QuestionTypes["TextShort"] = "TextShort";
40
+ QuestionTypes["Emoticons"] = "Emoticons";
41
+ QuestionTypes["DocumentUpload"] = "DocumentUpload";
42
+ QuestionTypes["Readonly"] = "Readonly";
43
+ QuestionTypes["ExpressionQuestion"] = "ExpressionQuestion";
44
+ QuestionTypes["Chart"] = "Chart";
45
+ })(QuestionTypes || (QuestionTypes = {}));
46
+ export var ActorTypes;
47
+ (function (ActorTypes) {
48
+ ActorTypes["Mappable"] = "mappable";
49
+ ActorTypes["Custom"] = "custom";
50
+ ActorTypes["Complex"] = "complex";
51
+ })(ActorTypes || (ActorTypes = {}));
52
+ export const EnvironmentEnums = {
53
+ local: 'local',
54
+ dev: 'dev',
55
+ test: 'test',
56
+ stage: 'stage',
57
+ prod: 'prod',
58
+ };
59
+ //# sourceMappingURL=enums.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"enums.js","sourceRoot":"","sources":["../../src/interfaces/enums.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,cAIX;AAJD,WAAY,cAAc;IACtB,uCAAqB,CAAA;IACrB,qCAAmB,CAAA;IACnB,sDAAoC,CAAA;AACxC,CAAC,EAJW,cAAc,KAAd,cAAc,QAIzB;AAED,MAAM,CAAN,IAAY,eAIX;AAJD,WAAY,eAAe;IACvB,oCAAiB,CAAA;IACjB,oCAAiB,CAAA;IACjB,sCAAmB,CAAA;AACvB,CAAC,EAJW,eAAe,KAAf,eAAe,QAI1B;AACD,MAAM,CAAN,IAAY,0BAIX;AAJD,WAAY,0BAA0B;IAClC,sDAAwB,CAAA;IACxB,mDAAqB,CAAA;IACrB,iDAAmB,CAAA;AACvB,CAAC,EAJW,0BAA0B,KAA1B,0BAA0B,QAIrC;AAED,MAAM,CAAN,IAAY,mBAMX;AAND,WAAY,mBAAmB;IAC3B,wCAAiB,CAAA;IACjB,gEAAyC,CAAA;IACzC,oDAA6B,CAAA;IAC7B;4BACwB;AAC5B,CAAC,EANW,mBAAmB,KAAnB,mBAAmB,QAM9B;AACD,MAAM,CAAN,IAAY,aAiBX;AAjBD,WAAY,aAAa;IACrB,oDAAmC,CAAA;IACnC,0CAAyB,CAAA;IACzB,wDAAuC,CAAA;IACvC,wCAAuB,CAAA;IACvB,sCAAqB,CAAA;IACrB,8CAA6B,CAAA;IAC7B,4CAA2B,CAAA;IAC3B,8BAAa,CAAA;IACb,8CAA6B,CAAA;IAC7B,sCAAqB,CAAA;IACrB,wCAAuB,CAAA;IACvB,wCAAuB,CAAA;IACvB,kDAAiC,CAAA;IACjC,sCAAqB,CAAA;IACrB,0DAAyC,CAAA;IACzC,gCAAe,CAAA;AACnB,CAAC,EAjBW,aAAa,KAAb,aAAa,QAiBxB;AAED,MAAM,CAAN,IAAY,UAIX;AAJD,WAAY,UAAU;IAClB,mCAAqB,CAAA;IACrB,+BAAiB,CAAA;IACjB,iCAAmB,CAAA;AACvB,CAAC,EAJW,UAAU,KAAV,UAAU,QAIrB;AAED,MAAM,CAAC,MAAM,gBAAgB,GAAI;IAC7B,KAAK,EAAE,OAAO;IACd,GAAG,EAAE,KAAK;IACV,IAAI,EAAE,MAAM;IACZ,KAAK,EAAE,OAAO;IACd,IAAI,EAAE,MAAM;CACf,CAAA"}
@@ -0,0 +1,2 @@
1
+ export declare function http<R>(request: RequestInfo, init?: RequestInit): Promise<R>;
2
+ //# sourceMappingURL=fetch.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fetch.d.ts","sourceRoot":"","sources":["../../src/utility/fetch.ts"],"names":[],"mappings":"AAAA,wBAAsB,IAAI,CAAC,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,IAAI,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,CAAC,CAAC,CAMlF"}
@@ -0,0 +1,6 @@
1
+ export async function http(request, init) {
2
+ const response = await fetch(request, init);
3
+ const body = await response.json();
4
+ return body;
5
+ }
6
+ //# sourceMappingURL=fetch.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fetch.js","sourceRoot":"","sources":["../../src/utility/fetch.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,KAAK,UAAU,IAAI,CAAI,OAAoB,EAAE,IAAkB;IAClE,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,CAAA;IAE3C,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAA;IAElC,OAAO,IAAS,CAAA;AACpB,CAAC"}
package/package.json CHANGED
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "asma-core-helpers",
3
- "version": "0.4.0",
3
+ "version": "0.4.2",
4
4
  "description": "Core helper utilities for ASMA applications",
5
- "main": "lib/index.js",
6
5
  "files": [
6
+ "lib/**/*",
7
7
  "src/**/*"
8
8
  ],
9
- "types": "src",
9
+ "types": "lib/index.d.ts",
10
10
  "type": "module",
11
11
  "scripts": {
12
12
  "build": "npx tsc && npx tsc -p ."
@@ -1,7 +1,7 @@
1
1
  import { Buffer } from 'buffer'
2
2
  export function fromBase64ToJSON<T>(base64: string): T {
3
3
  const json_str = Buffer.from(base64, 'base64').toString('utf-8')
4
- return JSON.parse(json_str)
4
+ return JSON.parse(json_str) as T
5
5
  }
6
6
 
7
7
  export function fromJSONToBase64<T>(json: T): string {
@@ -18,10 +18,10 @@ export function _getServerErrorMessage(error: Record<string, any> | string): str
18
18
  return error['data']['Message']
19
19
  }
20
20
  if (Array.isArray(error)) {
21
- return _getArrayErrorsMessage(error)
21
+ return _getArrayErrorsMessage(error as Record<string, unknown>[])
22
22
  }
23
23
  if (Array.isArray(error?.['errors'])) {
24
- return _getArrayErrorsMessage(error['errors'])
24
+ return _getArrayErrorsMessage(error['errors'] as Record<string, unknown>[])
25
25
  }
26
26
  //graphql
27
27
  else if (error['bodyText']) {
@@ -3,5 +3,5 @@ export async function http<R>(request: RequestInfo, init?: RequestInit): Promise
3
3
 
4
4
  const body = await response.json()
5
5
 
6
- return body
6
+ return body as R
7
7
  }