asma-core-helpers 0.4.1 → 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.
- package/lib/clients/srvAuth.d.ts +2 -0
- package/lib/clients/srvAuth.d.ts.map +1 -0
- package/lib/clients/srvAuth.js +7 -0
- package/lib/clients/srvAuth.js.map +1 -0
- package/lib/g-definitions.d.ts +131 -0
- package/lib/g-definitions.d.ts.map +1 -0
- package/lib/g-definitions.js +19 -0
- package/lib/g-definitions.js.map +1 -0
- package/lib/helpers/CapitalizeFistLetter.d.ts +3 -0
- package/lib/helpers/CapitalizeFistLetter.d.ts.map +1 -0
- package/lib/helpers/CapitalizeFistLetter.js +7 -0
- package/lib/helpers/CapitalizeFistLetter.js.map +1 -0
- package/lib/helpers/Config.d.ts +6 -0
- package/lib/helpers/Config.d.ts.map +1 -0
- package/lib/helpers/Config.js +43 -0
- package/lib/helpers/Config.js.map +1 -0
- package/lib/helpers/EnvironmentToOperateTypes.d.ts +8 -0
- package/lib/helpers/EnvironmentToOperateTypes.d.ts.map +1 -0
- package/lib/helpers/EnvironmentToOperateTypes.js +9 -0
- package/lib/helpers/EnvironmentToOperateTypes.js.map +1 -0
- package/lib/helpers/EnvironmentsUrls.d.ts +49 -0
- package/lib/helpers/EnvironmentsUrls.d.ts.map +1 -0
- package/lib/helpers/EnvironmentsUrls.js +68 -0
- package/lib/helpers/EnvironmentsUrls.js.map +1 -0
- package/lib/helpers/FormatNumberConstants.d.ts +33 -0
- package/lib/helpers/FormatNumberConstants.d.ts.map +1 -0
- package/lib/helpers/FormatNumberConstants.js +47 -0
- package/lib/helpers/FormatNumberConstants.js.map +1 -0
- package/lib/helpers/InitializeIDBListenersOnMstSnapshots.d.ts +5 -0
- package/lib/helpers/InitializeIDBListenersOnMstSnapshots.d.ts.map +1 -0
- package/lib/helpers/InitializeIDBListenersOnMstSnapshots.js +46 -0
- package/lib/helpers/InitializeIDBListenersOnMstSnapshots.js.map +1 -0
- package/lib/helpers/IsAdcuris.d.ts +2 -0
- package/lib/helpers/IsAdcuris.d.ts.map +1 -0
- package/lib/helpers/IsAdcuris.js +10 -0
- package/lib/helpers/IsAdcuris.js.map +1 -0
- package/lib/helpers/IsAdopus.d.ts +2 -0
- package/lib/helpers/IsAdopus.d.ts.map +1 -0
- package/lib/helpers/IsAdopus.js +10 -0
- package/lib/helpers/IsAdopus.js.map +1 -0
- package/lib/helpers/IsNotEmpty.d.ts +3 -0
- package/lib/helpers/IsNotEmpty.d.ts.map +1 -0
- package/lib/helpers/IsNotEmpty.js +15 -0
- package/lib/helpers/IsNotEmpty.js.map +1 -0
- package/lib/helpers/JSONToBase64EncodeDecode.d.ts +3 -0
- package/lib/helpers/JSONToBase64EncodeDecode.d.ts.map +1 -0
- package/lib/helpers/JSONToBase64EncodeDecode.js +10 -0
- package/lib/helpers/JSONToBase64EncodeDecode.js.map +1 -0
- package/lib/helpers/NorwegianPostalCodes.d.ts +9 -0
- package/lib/helpers/NorwegianPostalCodes.d.ts.map +1 -0
- package/lib/helpers/NorwegianPostalCodes.js +5107 -0
- package/lib/helpers/NorwegianPostalCodes.js.map +1 -0
- package/lib/helpers/_processServerError.d.ts +3 -0
- package/lib/helpers/_processServerError.d.ts.map +1 -0
- package/lib/helpers/_processServerError.js +100 -0
- package/lib/helpers/_processServerError.js.map +1 -0
- package/lib/helpers/attachUserJournalCredentials.d.ts +2 -0
- package/lib/helpers/attachUserJournalCredentials.d.ts.map +1 -0
- package/lib/helpers/attachUserJournalCredentials.js +17 -0
- package/lib/helpers/attachUserJournalCredentials.js.map +1 -0
- package/lib/helpers/base64ToFile.d.ts +2 -0
- package/lib/helpers/base64ToFile.d.ts.map +1 -0
- package/lib/helpers/base64ToFile.js +10 -0
- package/lib/helpers/base64ToFile.js.map +1 -0
- package/lib/helpers/checkForRegisteredSubdomains.d.ts +22 -0
- package/lib/helpers/checkForRegisteredSubdomains.d.ts.map +1 -0
- package/lib/helpers/checkForRegisteredSubdomains.js +47 -0
- package/lib/helpers/checkForRegisteredSubdomains.js.map +1 -0
- package/lib/helpers/clearCacheData.d.ts +6 -0
- package/lib/helpers/clearCacheData.d.ts.map +1 -0
- package/lib/helpers/clearCacheData.js +26 -0
- package/lib/helpers/clearCacheData.js.map +1 -0
- package/lib/helpers/generateEnvConfigsBindings.d.ts +77 -0
- package/lib/helpers/generateEnvConfigsBindings.d.ts.map +1 -0
- package/lib/helpers/generateEnvConfigsBindings.js +67 -0
- package/lib/helpers/generateEnvConfigsBindings.js.map +1 -0
- package/lib/helpers/generateGenqlClient.d.ts +21 -0
- package/lib/helpers/generateGenqlClient.d.ts.map +1 -0
- package/lib/helpers/generateGenqlClient.js +98 -0
- package/lib/helpers/generateGenqlClient.js.map +1 -0
- package/lib/helpers/generateRandomString.d.ts +2 -0
- package/lib/helpers/generateRandomString.d.ts.map +1 -0
- package/lib/helpers/generateRandomString.js +10 -0
- package/lib/helpers/generateRandomString.js.map +1 -0
- package/lib/helpers/generateSrvAuthBindings.d.ts +227 -0
- package/lib/helpers/generateSrvAuthBindings.d.ts.map +1 -0
- package/lib/helpers/generateSrvAuthBindings.js +567 -0
- package/lib/helpers/generateSrvAuthBindings.js.map +1 -0
- package/lib/helpers/generateSrvAuthBindings.types.d.ts +84 -0
- package/lib/helpers/generateSrvAuthBindings.types.d.ts.map +1 -0
- package/lib/helpers/generateSrvAuthBindings.types.js +2 -0
- package/lib/helpers/generateSrvAuthBindings.types.js.map +1 -0
- package/lib/helpers/generateSyntheticNorwegianNumber.d.ts +14 -0
- package/lib/helpers/generateSyntheticNorwegianNumber.d.ts.map +1 -0
- package/lib/helpers/generateSyntheticNorwegianNumber.js +70 -0
- package/lib/helpers/generateSyntheticNorwegianNumber.js.map +1 -0
- package/lib/helpers/generateUUID4.d.ts +2 -0
- package/lib/helpers/generateUUID4.d.ts.map +1 -0
- package/lib/helpers/generateUUID4.js +16 -0
- package/lib/helpers/generateUUID4.js.map +1 -0
- package/lib/helpers/getActivityStatus.d.ts +8 -0
- package/lib/helpers/getActivityStatus.d.ts.map +1 -0
- package/lib/helpers/getActivityStatus.js +18 -0
- package/lib/helpers/getActivityStatus.js.map +1 -0
- package/lib/helpers/getGqlOperationName.d.ts +2 -0
- package/lib/helpers/getGqlOperationName.d.ts.map +1 -0
- package/lib/helpers/getGqlOperationName.js +15 -0
- package/lib/helpers/getGqlOperationName.js.map +1 -0
- package/lib/helpers/getSubdomain.d.ts +6 -0
- package/lib/helpers/getSubdomain.d.ts.map +1 -0
- package/lib/helpers/getSubdomain.js +47 -0
- package/lib/helpers/getSubdomain.js.map +1 -0
- package/lib/helpers/initASMAAppVitals.d.ts +42 -0
- package/lib/helpers/initASMAAppVitals.d.ts.map +1 -0
- package/lib/helpers/initASMAAppVitals.js +96 -0
- package/lib/helpers/initASMAAppVitals.js.map +1 -0
- package/lib/helpers/initEnvConfigsVars.d.ts +12 -0
- package/lib/helpers/initEnvConfigsVars.d.ts.map +1 -0
- package/lib/helpers/initEnvConfigsVars.js +178 -0
- package/lib/helpers/initEnvConfigsVars.js.map +1 -0
- package/lib/helpers/isUUID.d.ts +14 -0
- package/lib/helpers/isUUID.d.ts.map +1 -0
- package/lib/helpers/isUUID.js +14 -0
- package/lib/helpers/isUUID.js.map +1 -0
- package/lib/helpers/isValidUrl.d.ts +2 -0
- package/lib/helpers/isValidUrl.d.ts.map +1 -0
- package/lib/helpers/isValidUrl.js +10 -0
- package/lib/helpers/isValidUrl.js.map +1 -0
- package/lib/helpers/openReplayConfigs.d.ts +1 -0
- package/lib/helpers/openReplayConfigs.d.ts.map +1 -0
- package/lib/helpers/openReplayConfigs.js +25 -0
- package/lib/helpers/openReplayConfigs.js.map +1 -0
- package/lib/helpers/openReplayObject.d.ts +31 -0
- package/lib/helpers/openReplayObject.d.ts.map +1 -0
- package/lib/helpers/openReplayObject.js +58 -0
- package/lib/helpers/openReplayObject.js.map +1 -0
- package/lib/helpers/parseJwt.d.ts +9 -0
- package/lib/helpers/parseJwt.d.ts.map +1 -0
- package/lib/helpers/parseJwt.js +69 -0
- package/lib/helpers/parseJwt.js.map +1 -0
- package/lib/helpers/registerOpenReplay.d.ts +2 -0
- package/lib/helpers/registerOpenReplay.d.ts.map +1 -0
- package/lib/helpers/registerOpenReplay.js +2 -0
- package/lib/helpers/registerOpenReplay.js.map +1 -0
- package/lib/helpers/requestIdleCallback.d.ts +2 -0
- package/lib/helpers/requestIdleCallback.d.ts.map +1 -0
- package/lib/helpers/requestIdleCallback.js +9 -0
- package/lib/helpers/requestIdleCallback.js.map +1 -0
- package/lib/helpers/sha256.d.ts +2 -0
- package/lib/helpers/sha256.d.ts.map +1 -0
- package/lib/helpers/sha256.js +89 -0
- package/lib/helpers/sha256.js.map +1 -0
- package/lib/helpers/stringToKeyValueMap.d.ts +25 -0
- package/lib/helpers/stringToKeyValueMap.d.ts.map +1 -0
- package/lib/helpers/stringToKeyValueMap.js +39 -0
- package/lib/helpers/stringToKeyValueMap.js.map +1 -0
- package/lib/helpers/urlParams.helpers.d.ts +42 -0
- package/lib/helpers/urlParams.helpers.d.ts.map +1 -0
- package/lib/helpers/urlParams.helpers.js +51 -0
- package/lib/helpers/urlParams.helpers.js.map +1 -0
- package/lib/helpers/userTypingSignal.d.ts +5 -0
- package/lib/helpers/userTypingSignal.d.ts.map +1 -0
- package/lib/helpers/userTypingSignal.js +34 -0
- package/lib/helpers/userTypingSignal.js.map +1 -0
- package/lib/helpers/validateNorwegianPersonalNumber.d.ts +40 -0
- package/lib/helpers/validateNorwegianPersonalNumber.d.ts.map +1 -0
- package/lib/helpers/validateNorwegianPersonalNumber.js +178 -0
- package/lib/helpers/validateNorwegianPersonalNumber.js.map +1 -0
- package/lib/index.d.ts +43 -0
- package/lib/index.d.ts.map +1 -0
- package/lib/index.js.map +1 -0
- package/lib/interfaces/enums.d.ts +52 -0
- package/lib/interfaces/enums.d.ts.map +1 -0
- package/lib/interfaces/enums.js +59 -0
- package/lib/interfaces/enums.js.map +1 -0
- package/lib/utility/fetch.d.ts +2 -0
- package/lib/utility/fetch.d.ts.map +1 -0
- package/lib/utility/fetch.js +6 -0
- package/lib/utility/fetch.js.map +1 -0
- package/package.json +3 -3
|
@@ -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"}
|
package/lib/index.js.map
ADDED
|
@@ -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 @@
|
|
|
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 @@
|
|
|
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.
|
|
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": "
|
|
9
|
+
"types": "lib/index.d.ts",
|
|
10
10
|
"type": "module",
|
|
11
11
|
"scripts": {
|
|
12
12
|
"build": "npx tsc && npx tsc -p ."
|