asma-helpers 0.36.9 → 0.37.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/.dccache +1 -0
- package/cspell.json +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.types.d.ts +1 -1
- package/lib/helpers/generateSrvAuthBindings.types.d.ts.map +1 -1
- package/lib/helpers/realWindow.d.ts +1 -0
- package/lib/helpers/realWindow.d.ts.map +1 -0
- package/lib/helpers/realWindow.js +2 -0
- package/lib/helpers/realWindow.js.map +1 -0
- package/lib/helpers/validateNorwegianPersonalNumber.d.ts +3 -0
- package/lib/helpers/validateNorwegianPersonalNumber.d.ts.map +1 -0
- package/lib/helpers/validateNorwegianPersonalNumber.js +54 -0
- package/lib/helpers/validateNorwegianPersonalNumber.js.map +1 -0
- package/lib/index.d.ts +2 -0
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +2 -0
- package/lib/index.js.map +1 -1
- package/package.json +1 -1
- package/src/helpers/generateRandomString.ts +9 -0
- package/src/helpers/generateSrvAuthBindings.types.ts +1 -1
- package/src/helpers/validateNorwegianPersonalNumber.ts +78 -0
- package/src/index.ts +3 -0
- package/lib/global.d.ts +0 -55
- package/lib/global.d.ts.map +0 -1
- package/lib/global.js +0 -7
- package/lib/global.js.map +0 -1
package/.dccache
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"/Users/igor/carasent/asma-helpers/lib/global.d.ts":[1887,1680789920128.4922,"0b1bdbd0c8e05f95f2b2884556093deea4032df5429f1eaaedf6821824b41324"],"/Users/igor/carasent/asma-helpers/lib/global.js":[253,1680789920122.9485,"657afa11c0fb8afa70f8c51983893c8ad7d9135541f610d79974dc0be264a2bc"],"/Users/igor/carasent/asma-helpers/lib/index.d.ts":[1543,1680789920283.2236,"ea5f7b772a46ad72e1d4ca2b83ba6f02cb3081a161be3fd8c4def8755ef4e9d8"],"/Users/igor/carasent/asma-helpers/lib/index.js":[1423,1680789920282.693,"bf96877f729c8c60d2d27a6523763ecdf15221306c08f3f4573cef828c30b18a"],"/Users/igor/carasent/asma-helpers/src/global.ts":[2163,1680771368819.6946,"3333a6494b9e284ef87ca773a602fae1aa25cd453299a1d81c105d08e9b79527"],"/Users/igor/carasent/asma-helpers/src/index.ts":[1543,1678994149124.0095,"9efc73c2a7301c06247d41589585ecf9b5641671619dc85b3e75c9e18e7a26c0"],"/Users/igor/carasent/asma-helpers/lib/clients/srvAuth.d.ts":[120,1680789920279.8582,"5f95610a1eb7e268349be5c7f85a0e1eb024670f66a6888a0ce9f46bc58d5569"],"/Users/igor/carasent/asma-helpers/lib/clients/srvAuth.js":[174,1680789920279.4983,"7670665d81946c62861480753e0fedc46a7da1266fae77c4996f9f0b3a0dbcf1"],"/Users/igor/carasent/asma-helpers/lib/interfaces/enums.d.ts":[1415,1680789920241.7844,"19600da772cae62b3eb0ef1b48ed2b23b7aec7777874a2efcaf894967212b8bf"],"/Users/igor/carasent/asma-helpers/lib/interfaces/enums.js":[2404,1680789920240.995,"75d710e8b0c1fc9aec2e40a5a657b22cda3c70130c19eafbf2fa720f642206ea"],"/Users/igor/carasent/asma-helpers/lib/utility/fetch.d.ts":[122,1680789920279.1958,"b0bf861680763a35078913d1ed3c1fdd50d91559a00d56d6f20f7819135ca016"],"/Users/igor/carasent/asma-helpers/lib/utility/fetch.js":[201,1680789920278.7693,"c506ec7764d67e5d12d16dd0a566aa813761d8691d8b906359692d7e959d20c4"],"/Users/igor/carasent/asma-helpers/src/clients/srvAuth.ts":[162,1663491945988.2986,"2677ebd4cb230f39eed3462a17e3e5122576f9be69446a87c37a85d8899550dd"],"/Users/igor/carasent/asma-helpers/lib/helpers/CapitalizeFistLetter.d.ts":[200,1680789920224.8225,"5310c59079566964bba496f1b8602b7cc6a8fe8e06b01decccf1d7e7ad00c1ff"],"/Users/igor/carasent/asma-helpers/lib/helpers/CapitalizeFistLetter.js":[312,1680789920223.771,"2a386663a3bff3ed8f4412c3f0a13f718e32b34308c6e4133f3d25c664a0b80f"],"/Users/igor/carasent/asma-helpers/lib/helpers/Config.d.ts":[361,1680789920228.9417,"bd531d51fc167688bc1ec35971ba3bf7d7ef547baf500a28fe5e1f64488c52c7"],"/Users/igor/carasent/asma-helpers/lib/helpers/Config.js":[1669,1680789920228.3403,"2f441d26146980e943a487ae4ce52458b05fbb297dad659ddcea5f253a0ec514"],"/Users/igor/carasent/asma-helpers/lib/helpers/EnvironmentToOperateTypes.d.ts":[201,1680789920239.5002,"7e1cb916065d4e0a4ce7f615f8b0db20427855e6e5f61338db0685f1452e8335"],"/Users/igor/carasent/asma-helpers/lib/helpers/EnvironmentToOperateTypes.js":[440,1680789920239.0342,"a0a9134b98df9f69d699d4ac0e445fb8fe8f901f930ea3f7a262ce42f1f48dd7"],"/Users/igor/carasent/asma-helpers/lib/helpers/EnvironmentsUrls.d.ts":[2863,1680789920237.8604,"43fd47af039ad9b9afd03be956a1b2bc64b62e356998dcf00ebe556b399b9ecc"],"/Users/igor/carasent/asma-helpers/lib/helpers/EnvironmentsUrls.js":[4754,1680789920236.6206,"dcd5111ee3970f56c0393d9756523b67fa66882f21a0bf65c3b6ed1c9df00b53"],"/Users/igor/carasent/asma-helpers/lib/helpers/FormatNumberConstants.d.ts":[626,1680789920136.2493,"caf96bfe78d889b115df618442850c10615ed282af771ef4be1f5060cb63ac77"],"/Users/igor/carasent/asma-helpers/lib/helpers/FormatNumberConstants.js":[933,1680789920134.8054,"099d79d9e02a0c34d05a96bfa512d7ffa1825c2b49ed1b79bec9f464c38b6467"],"/Users/igor/carasent/asma-helpers/lib/helpers/InitializeIDBListenersOnMstSnapshots.d.ts":[259,1680789920232.674,"e624788c8f850581d262fba5d6104ed2341ec0d5f2f2d348ce8603bda140c574"],"/Users/igor/carasent/asma-helpers/lib/helpers/InitializeIDBListenersOnMstSnapshots.js":[1758,1680789920231.403,"2741b112a61c9d5028199901cb299856ce4dfc479dc9ca600703337f24cbc5b1"],"/Users/igor/carasent/asma-helpers/lib/helpers/InitializeIDBListenersOnMstSnapshotsThenCatch.d.ts":[567,1678994052213.6846,"936f8cf95d25e26447a90b5cf5bd281f50486327c2ac19fc46839d655836e35a"],"/Users/igor/carasent/asma-helpers/lib/helpers/InitializeIDBListenersOnMstSnapshotsThenCatch.js":[1822,1678994052213.0518,"ccfe5eb9ca8439267d0288350291be5c58239ec42e247d5fe337f0d562685ad7"],"/Users/igor/carasent/asma-helpers/lib/helpers/IsAdcuris.d.ts":[127,1680789920225.7007,"5b2c43febdf35b1d8b360cb5508f8c31b7301da0924f057bffdd1597debc4999"],"/Users/igor/carasent/asma-helpers/lib/helpers/IsAdcuris.js":[177,1680789920225.2815,"11f0510ebf2493cf12b57589a9139b2d3e57c8c12fb942036349377536ff1e85"],"/Users/igor/carasent/asma-helpers/lib/helpers/IsNotEmpty.d.ts":[135,1680789920226.5183,"ee4aa0021db188c2ddcca9652b56db6264887f259e4ed5bb02f66692ec9283d1"],"/Users/igor/carasent/asma-helpers/lib/helpers/IsNotEmpty.js":[142,1680789920226.0063,"38e8b83edab357090a86d04d888fd4a89b94c55ec79f15709b18b656a253e3c6"],"/Users/igor/carasent/asma-helpers/lib/helpers/NorwegianPostalCodes.d.ts":[206,1680789920222.736,"c8d49f23a251d46ba1ef3f7df0abae2d8b3235e13630a3c0f593c3bd5d5dec65"],"/Users/igor/carasent/asma-helpers/lib/helpers/NorwegianPostalCodes.js":[365358,1680789920221.466,"6d8043dd81708deb0437d979930f4adbb731fd5d284d3dd207c088a4447f8d87"],"/Users/igor/carasent/asma-helpers/lib/helpers/ProcessServerError.d.ts":[229,1680789920133.8257,"5964e4b4afb00974beee6577db3d1bf641bb4e5bf1c3413b8d369176b5741760"],"/Users/igor/carasent/asma-helpers/lib/helpers/ProcessServerError.js":[3730,1680789920133.109,"cbad8a24cbdbab346c9693ce7668655d0a4fd92e647b0d726729146a26681855"],"/Users/igor/carasent/asma-helpers/lib/helpers/attachUserJournalCredentials.d.ts":[122,1680789920276.9036,"297f2c41c605e24476589605bd6528d2a83af334535af4e830927e6074b7870d"],"/Users/igor/carasent/asma-helpers/lib/helpers/attachUserJournalCredentials.js":[781,1680789920276.6584,"caa9033bb15e77833701932d365bee624de150701fa4d462a67dabcf27d0c282"],"/Users/igor/carasent/asma-helpers/lib/helpers/base64ToFile.d.ts":[132,1680789920275.4817,"848b2fd8635da55b85481b71894cd8174d2402a46a6edfff948d6753db8e4d13"],"/Users/igor/carasent/asma-helpers/lib/helpers/base64ToFile.js":[382,1680789920275.0906,"cbd59e69f2cf38c02476569974ef90a864d5ee1d4a5aea19941e95ffc244e80c"],"/Users/igor/carasent/asma-helpers/lib/helpers/checkForRegisteredSubdomains.d.ts":[1014,1680789920247.3396,"75feb743a9139668fbbf338c45a4921ce296a107662bc3de0657f879be965a95"],"/Users/igor/carasent/asma-helpers/lib/helpers/checkForRegisteredSubdomains.js":[3419,1680789920245.7456,"62776f7793a769899cb5032196c7c88d3e76135181b32344cb8901c6d05839ac"],"/Users/igor/carasent/asma-helpers/lib/helpers/clearCacheData.d.ts":[425,1680789920268.8076,"dcc388776d39bfdb5c79a4b39956913dcd3a1d533d7eafa26ae29d9d5886dc93"],"/Users/igor/carasent/asma-helpers/lib/helpers/clearCacheData.js":[1306,1680789920268.26,"dc8a1258e7fd26b59daa8769555533976b3fcc4e8b05d2bfe45e52331ff2d8e4"],"/Users/igor/carasent/asma-helpers/lib/helpers/generateEnvConfigsBindings.d.ts":[2470,1680789920253.389,"dfa6577d9333d1b681ab27984effe419ae0237a48da535127560a02dcae916b6"],"/Users/igor/carasent/asma-helpers/lib/helpers/generateEnvConfigsBindings.js":[3601,1680789920250.6255,"ae3a82ab79f6cd95295295f5a38f1dc0e941bafa5429170d97fdc4e90741b483"],"/Users/igor/carasent/asma-helpers/lib/helpers/generateGenqlClient.d.ts":[857,1680789920273.196,"44f1c311f3ad166c5637d9d6d036888e0916245ca1b3d3fe90c4f268108acbe9"],"/Users/igor/carasent/asma-helpers/lib/helpers/generateGenqlClient.js":[3990,1680789920271.076,"d6ba44418873cc325621e4c5bf9669c0e48ee37e27a726d6be88ea826c11dcc0"],"/Users/igor/carasent/asma-helpers/lib/helpers/generateSrvAuthBindings.d.ts":[4138,1680789920267.5083,"d76cc62d8997dd25195d9f402775597387a07e9e94785d6f5749fb6383fe17f6"],"/Users/igor/carasent/asma-helpers/lib/helpers/generateSrvAuthBindings.js":[11217,1680789920258.715,"16ca2fed1461a46cec2a9443591bc6627ed1dbbab4d7d1501e7a6486c84e1ed9"],"/Users/igor/carasent/asma-helpers/lib/helpers/generateUUID4.d.ts":[84,1680789920248.529,"537b18151b034ae8db7df3d3b6e08e3538b0b343f88474f517dbe98670a388b6"],"/Users/igor/carasent/asma-helpers/lib/helpers/generateUUID4.js":[625,1680789920248.1912,"9d819cf62d6904c4f1224703071465cce166f1d10d7330bdcd6cd8c2d6292b9d"],"/Users/igor/carasent/asma-helpers/lib/helpers/getGqlOperationName.d.ts":[129,1680789920234.1626,"6ed72a950f56ad3cc46f75ea083a15b1b404af99983db0bd23f8973f27276627"],"/Users/igor/carasent/asma-helpers/lib/helpers/getGqlOperationName.js":[1057,1680789920233.8296,"51e54f03941951b9fbe9e6b33e9a39e2df2c78e9458ddb6e3f3a931ecb46ad62"],"/Users/igor/carasent/asma-helpers/lib/helpers/getSubdomain.d.ts":[209,1680789920243.3386,"57f7254a26e81874bbba8972e11b81a9dbb23b0faf3fe35333dae386f520df2e"],"/Users/igor/carasent/asma-helpers/lib/helpers/getSubdomain.js":[1753,1680789920242.7678,"14d93f2e01130144c993d97e865ab767e06d9e1fe9f40213ba6a60c9fca8f98b"],"/Users/igor/carasent/asma-helpers/lib/helpers/initASMAAppVitals.d.ts":[1565,1680789920278.4392,"b1504f1ecca22052eaa5f5920d1d3ca041e1f462a169a2ea5ebd0d61eb2eb900"],"/Users/igor/carasent/asma-helpers/lib/helpers/initASMAAppVitals.js":[1860,1680789920277.6843,"713045b759be1f93a5c272df1cc6849f9b54f1a2bee897e87dfeb9985c358422"],"/Users/igor/carasent/asma-helpers/lib/helpers/isValidUrl.d.ts":[104,1680789920276.1558,"ee5c406384ce6c1e49a81102b412b580cfcaf8d1c765061eed781f6f692dad4c"],"/Users/igor/carasent/asma-helpers/lib/helpers/isValidUrl.js":[538,1680789920275.902,"ce0c2e4e76dd0894886766a772a383f18289d12fe5bb9d714ebdff9eeced30bc"],"/Users/igor/carasent/asma-helpers/lib/helpers/parseJwt.d.ts":[108,1680789920235.2185,"1d8a314450e8e1e738a5eed67613ae454780193bb242a9232fb284c11d8a9dc6"],"/Users/igor/carasent/asma-helpers/lib/helpers/parseJwt.js":[308,1680789920234.5825,"8c5fcab41e64e12c8700d24d22efade634e6ea4b084e65adb21f2cfa1c237070"],"/Users/igor/carasent/asma-helpers/lib/helpers/userTypingSignal.d.ts":[204,1680789920274.538,"4867828d9adf801e8c3926e237f55e9b203f353ff4a7a737511d4b05297e1f69"],"/Users/igor/carasent/asma-helpers/lib/helpers/userTypingSignal.js":[885,1680789920274.075,"234c53879b47caf6325c882461bf001eea2943668613e6a06cbf91dfe7e7c9b7"],"/Users/igor/carasent/asma-helpers/src/interfaces/enums.ts":[1394,1678608529202.3152,"e775c76c8dfb08b04e743d2fe148ccbeff98a348f6fc3e7d330ef8294b1c13b7"],"/Users/igor/carasent/asma-helpers/src/helpers/CapitalizeFistLetter.ts":[278,1679050072060.0674,"0f89cf458877a869e1e908541b242605c4f05ed013e00b4f64e3278f832209f5"],"/Users/igor/carasent/asma-helpers/src/helpers/Config.ts":[1539,1679050112059.0718,"aa79e46b97f16a1a66b11ac8e0d5d79ab99fb8a36a5ed92915a53cd4de218440"],"/Users/igor/carasent/asma-helpers/src/helpers/EnvironmentToOperateTypes.ts":[137,1663491945989.5781,"87b0ef9abcd5575ae41283b6b58fe5f11e25a4ab5365ce7dbcf657e02d7fd568"],"/Users/igor/carasent/asma-helpers/src/helpers/EnvironmentsUrls.ts":[4806,1680687655472.91,"6da6156c3ab74a464aafdd5288a14f5614e52963adb477fdff56163098c6a739"],"/Users/igor/carasent/asma-helpers/src/helpers/FormatNumberConstants.ts":[881,1677750124386.736,"727ffb028d559439d7890563f47de35441d35caa4801641e3cc764bca16771df"],"/Users/igor/carasent/asma-helpers/src/helpers/InitializeIDBListenersOnMstSnapshots.ts":[2055,1680789893373.606,"23aaf9cab861f6c20619299aa48d35fb9ead3b3442446509f6143f744ea692ae"],"/Users/igor/carasent/asma-helpers/src/helpers/IsAdcuris.ts":[146,1679050304159.8677,"d9463d98f42b2c9deb793a245626f944213dff62ba0800d5fdbd8d45b8b7a8fd"],"/Users/igor/carasent/asma-helpers/src/helpers/IsNotEmpty.ts":[155,1679050408685.8684,"7ecf691cc7b4406d77081e6c39dc45d6eaf60d67a944db2f2782661d2d18bfd1"],"/Users/igor/carasent/asma-helpers/src/helpers/NorwegianPostalCodes.ts":[365310,1679050331244.7888,"96c21ef000dffa9d82e8e85004ed7477cf9f801aec0a0d1a15c3d0de69fc1497"],"/Users/igor/carasent/asma-helpers/src/helpers/ProcessServerError.ts":[3271,1679050359386.3777,"b465763ddd0f3b82c176a48e3be7cb0ea58ac3d9bf74f1c8acb2f07aa6fbcd24"],"/Users/igor/carasent/asma-helpers/src/helpers/attachUserJournalCredentials.ts":[721,1679050052671.1992,"7b618f23e5879d52b5972382f0f7586c83c7dbb36a5c1fd6016204104537fcc9"],"/Users/igor/carasent/asma-helpers/src/helpers/base64ToFile.ts":[355,1679050059795.1975,"cc12bf4cb70b90c49760eab801c8c63b616c0c0ec11a8aab38971ac0a7ff7414"],"/Users/igor/carasent/asma-helpers/src/helpers/checkForRegisteredSubdomains.ts":[3973,1680767363161.5422,"2ca89ac23627b1687139edfe0a7f8940aef35addec84ef6c16a10814e4b781b3"],"/Users/igor/carasent/asma-helpers/src/helpers/clearCacheData.ts":[1358,1680769742466.8174,"4033479d8f466dd418b139dc485461098f04d04bbecc053b6700db7de44cfd82"],"/Users/igor/carasent/asma-helpers/src/helpers/generateEnvConfigsBindings.ts":[4722,1679342767251.1372,"594594bff05403ec6b49a5d4a2139bee4e8da81dddddb8b87b66763723a28226"],"/Users/igor/carasent/asma-helpers/src/helpers/generateGenqlClient.ts":[4452,1679342705902.6787,"08dc2b8de80afeb16c74c16be69ecb3ebf405afcf06bbf38fea3b9350cf1fdb5"],"/Users/igor/carasent/asma-helpers/src/helpers/generateSrvAuthBindings.ts":[11779,1680788462160.3604,"8de0d660ed867474e2d2ba6c92189a031ab61152fd7e263797ea462cf10b701a"],"/Users/igor/carasent/asma-helpers/src/helpers/generateUUID4.ts":[636,1679050238024.4312,"6c687bf9185f380911c34458aa9e08ddd9f3bb22fc7bb4ef879654b9b16b8996"],"/Users/igor/carasent/asma-helpers/src/helpers/getGqlOperationName.ts":[674,1679050248947.6213,"7897663dad4404cfbdfa0e7ed947d76c4697b4f15a5e1c41fbec1a61c80c1c8e"],"/Users/igor/carasent/asma-helpers/src/helpers/getSubdomain.ts":[1698,1679050276203.1628,"8e28c07ee785875aab03875b44602cde68592603e468e2251a2cb5aa27d2ce8f"],"/Users/igor/carasent/asma-helpers/src/helpers/initASMAAppVitals.ts":[3058,1680771703434.3967,"599889d6464bcea2edae6bfd09738cc60528e35d1aaa248763313e814e152bae"],"/Users/igor/carasent/asma-helpers/src/helpers/isValidUrl.ts":[549,1679050315557.588,"67713d009890f3003596cacb85bc3e00afe8dde68acf9837644d84f6ee0d051a"],"/Users/igor/carasent/asma-helpers/src/helpers/parseJwt.ts":[236,1679050351574.7058,"3ee0193fd322a2863cdd9881bb71927948962cade908c2fdc9fd93e338557637"],"/Users/igor/carasent/asma-helpers/src/helpers/userTypingSignal.ts":[944,1679050372539.6829,"fd6175b868dce4a64270e9175746aa408bcff246edb8e66c55e1c2cd6a4e013c"],"/Users/igor/carasent/asma-helpers/src/utility/fetch.ts":[227,1679050420883.7073,"2ffbb863362be19e738f20935368ecca9c0643daf3ece41a155b7c3f25583e5d"],"/Users/igor/carasent/asma-helpers/lib/interfaces/api/advoca/ISaveToDataBase.d.ts":[351,1680789920282.239,"a507082c48808c10553f7b8b311271df7b5c16dcd24b961bde7468033f405c83"],"/Users/igor/carasent/asma-helpers/lib/interfaces/api/advoca/ISaveToDataBase.js":[54,1680789920281.818,"89ea8633b87c603a0d23a540a6d0191726c8d1fad09890683f9b99bcf8afb13e"],"/Users/igor/carasent/asma-helpers/lib/interfaces/api/advoca/IUploadedDocument.d.ts":[622,1680789920281.603,"d1982713e374eb08a5ed6c36ebda7d6ac5ea77f96b7b769c7e6dd2b0d38bc84d"],"/Users/igor/carasent/asma-helpers/lib/interfaces/api/advoca/IUploadedDocument.js":[56,1680789920281.1597,"fb46898cebc4fd2bacf98673280740292cdbc0a75b2c4443e49caca91b172b74"],"/Users/igor/carasent/asma-helpers/src/interfaces/api/advoca/ISaveToDataBase.ts":[319,1663491945991.2112,"86fb892a1a4d85b26f86547fbccae709c386ac90eeea798f82ce17e89abf1b90"],"/Users/igor/carasent/asma-helpers/src/interfaces/api/advoca/IUploadedDocument.ts":[534,1663491945991.1213,"5e9681490a1d9d1d2911e9a8ed94672ffb12108df4cceb5abc826b566fc7b333"]}
|
package/cspell.json
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generateRandomString.d.ts","sourceRoot":"","sources":["../../src/helpers/generateRandomString.ts"],"names":[],"mappings":"AAAA,wBAAgB,oBAAoB,CAAC,MAAM,GAAE,MAAU,GAAG,MAAM,CAQ/D"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export function generateRandomString(length = 6) {
|
|
2
|
+
const characters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';
|
|
3
|
+
let result = '';
|
|
4
|
+
const charactersLength = characters.length;
|
|
5
|
+
for (let i = 0; i < length; i++) {
|
|
6
|
+
result += characters.charAt(Math.floor(Math.random() * charactersLength));
|
|
7
|
+
}
|
|
8
|
+
return result;
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=generateRandomString.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generateRandomString.js","sourceRoot":"","sources":["../../src/helpers/generateRandomString.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,oBAAoB,CAAC,SAAiB,CAAC;IACnD,MAAM,UAAU,GAAG,gEAAgE,CAAA;IACnF,IAAI,MAAM,GAAG,EAAE,CAAA;IACf,MAAM,gBAAgB,GAAG,UAAU,CAAC,MAAM,CAAA;IAC1C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAC9B,MAAM,IAAI,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,gBAAgB,CAAC,CAAC,CAAA;IAC7E,CAAC;IACD,OAAO,MAAM,CAAA;AACjB,CAAC"}
|
|
@@ -53,7 +53,7 @@ export type ICheckSigninOptions<IFeaturesArr extends string> = Pick<ITherapistOr
|
|
|
53
53
|
vt?: number;
|
|
54
54
|
region?: string;
|
|
55
55
|
identity?: string;
|
|
56
|
-
access_level?:
|
|
56
|
+
access_level?: 1 | 2 | 3 | 4;
|
|
57
57
|
advoca_info_link?: string;
|
|
58
58
|
/** @info only for anonymous */
|
|
59
59
|
privacy_policy?: IPrivacyPolicy;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generateSrvAuthBindings.types.d.ts","sourceRoot":"","sources":["../../src/helpers/generateSrvAuthBindings.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,gBAAgB,CAAA;AACpE,KAAK,WAAW,GAAG;IACf,MAAM,EAAE,OAAO,CAAA;IACf,KAAK,EAAE,OAAO,CAAA;IACd,WAAW,EAAE,OAAO,CAAA;IACpB,OAAO,EAAE,OAAO,CAAA;IAChB,IAAI,EAAE,OAAO,CAAA;IACb,QAAQ,EAAE,OAAO,CAAA;CACpB,CAAA;AAED,MAAM,MAAM,QAAQ,GAAG,MAAM,CAAC,YAAY,GAAG,WAAW,EAAE,MAAM,CAAC,CAAA;AAEjE,KAAK,UAAU,GAAG;IACd,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE,QAAQ,GAAG,YAAY,GAAG,mBAAmB,CAAA;IAC1D,gBAAgB,EAAE;QACd,MAAM,EAAE,MAAM,CAAA;QACd,SAAS,EAAE,MAAM,CAAA;QACjB,KAAK,EAAE,MAAM,CAAA;QACb,QAAQ,EAAE;YACN,cAAc,EAAE,MAAM,CAAA;YACtB,MAAM,EAAE,MAAM,CAAA;SACjB,CAAA;QACD,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;QACnB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAA;KAC7B,EAAE,CAAA;CACN,EAAE,CAAA;AAEH,KAAK,cAAc,GAAG;IAClB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAA;IACzB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAA;CAC5B,CAAA;AAED,MAAM,MAAM,8BAA8B,CAAC,YAAY,SAAS,MAAM,IAAI,IAAI,CAC1E,mBAAmB,CAAC,YAAY,CAAC,EACjC,UAAU,CACb,GAAG;IACA,QAAQ,EAAE,GAAG,CAAC,YAAY,CAAC,CAAA;CAC9B,CAAA;AAED,MAAM,MAAM,mBAAmB,CAAC,YAAY,SAAS,MAAM,IAAI,IAAI,CAC/D,8BAA8B,CAAC,OAAO,GAAG,YAAY,GAAG,WAAW,GAAG,WAAW,CAAC,EAGhF,iBAAiB,GAEjB,aAAa,GACb,SAAS,GACT,UAAU,GAEV,KAAK,CACV,GAAG;IACA,QAAQ,EAAE,QAAQ,CAAA;IAClB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,UAAU,CAAC,EAAE,WAAW,CAAA;IACxB,oBAAoB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC7C,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,SAAS,CAAC,EAAE,UAAU,CAAA;IACtB,iBAAiB,CAAC,EAAE,OAAO,CAAA;IAC3B,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,QAAQ,CAAC,EAAE,YAAY,EAAE,CAAA;IACzB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,SAAS,CAAC,EAAE,YAAY,GAAG,WAAW,GAAG,WAAW,CAAA;IACpD,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,qDAAqD;IACrD,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,qDAAqD;IACrD,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,wDAAwD;IACxD,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,YAAY,CAAC,EAAE,
|
|
1
|
+
{"version":3,"file":"generateSrvAuthBindings.types.d.ts","sourceRoot":"","sources":["../../src/helpers/generateSrvAuthBindings.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,gBAAgB,CAAA;AACpE,KAAK,WAAW,GAAG;IACf,MAAM,EAAE,OAAO,CAAA;IACf,KAAK,EAAE,OAAO,CAAA;IACd,WAAW,EAAE,OAAO,CAAA;IACpB,OAAO,EAAE,OAAO,CAAA;IAChB,IAAI,EAAE,OAAO,CAAA;IACb,QAAQ,EAAE,OAAO,CAAA;CACpB,CAAA;AAED,MAAM,MAAM,QAAQ,GAAG,MAAM,CAAC,YAAY,GAAG,WAAW,EAAE,MAAM,CAAC,CAAA;AAEjE,KAAK,UAAU,GAAG;IACd,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE,QAAQ,GAAG,YAAY,GAAG,mBAAmB,CAAA;IAC1D,gBAAgB,EAAE;QACd,MAAM,EAAE,MAAM,CAAA;QACd,SAAS,EAAE,MAAM,CAAA;QACjB,KAAK,EAAE,MAAM,CAAA;QACb,QAAQ,EAAE;YACN,cAAc,EAAE,MAAM,CAAA;YACtB,MAAM,EAAE,MAAM,CAAA;SACjB,CAAA;QACD,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;QACnB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAA;KAC7B,EAAE,CAAA;CACN,EAAE,CAAA;AAEH,KAAK,cAAc,GAAG;IAClB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAA;IACzB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAA;CAC5B,CAAA;AAED,MAAM,MAAM,8BAA8B,CAAC,YAAY,SAAS,MAAM,IAAI,IAAI,CAC1E,mBAAmB,CAAC,YAAY,CAAC,EACjC,UAAU,CACb,GAAG;IACA,QAAQ,EAAE,GAAG,CAAC,YAAY,CAAC,CAAA;CAC9B,CAAA;AAED,MAAM,MAAM,mBAAmB,CAAC,YAAY,SAAS,MAAM,IAAI,IAAI,CAC/D,8BAA8B,CAAC,OAAO,GAAG,YAAY,GAAG,WAAW,GAAG,WAAW,CAAC,EAGhF,iBAAiB,GAEjB,aAAa,GACb,SAAS,GACT,UAAU,GAEV,KAAK,CACV,GAAG;IACA,QAAQ,EAAE,QAAQ,CAAA;IAClB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,UAAU,CAAC,EAAE,WAAW,CAAA;IACxB,oBAAoB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC7C,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,SAAS,CAAC,EAAE,UAAU,CAAA;IACtB,iBAAiB,CAAC,EAAE,OAAO,CAAA;IAC3B,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,QAAQ,CAAC,EAAE,YAAY,EAAE,CAAA;IACzB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,SAAS,CAAC,EAAE,YAAY,GAAG,WAAW,GAAG,WAAW,CAAA;IACpD,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,qDAAqD;IACrD,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,qDAAqD;IACrD,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,wDAAwD;IACxD,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,YAAY,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;IAC5B,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,+BAA+B;IAC/B,cAAc,CAAC,EAAE,cAAc,CAAA;CAClC,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
//# sourceMappingURL=realWindow.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"realWindow.d.ts","sourceRoot":"","sources":["../../src/helpers/realWindow.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"realWindow.js","sourceRoot":"","sources":["../../src/helpers/realWindow.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export declare const NORWEGIAN_PERSONAL_NUMBER_TYPES: readonly ["REAL", "DNUMBER", "SYNTHETIC", "TEMPORARY"];
|
|
2
|
+
export declare function validateNorwegianPersonalNumber(number: string): (typeof NORWEGIAN_PERSONAL_NUMBER_TYPES)[number] | 'INVALID';
|
|
3
|
+
//# sourceMappingURL=validateNorwegianPersonalNumber.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validateNorwegianPersonalNumber.d.ts","sourceRoot":"","sources":["../../src/helpers/validateNorwegianPersonalNumber.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,+BAA+B,wDAAyD,CAAA;AAErG,wBAAgB,+BAA+B,CAC3C,MAAM,EAAE,MAAM,GACf,CAAC,OAAO,+BAA+B,CAAC,CAAC,MAAM,CAAC,GAAG,SAAS,CA4D9D"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
export const NORWEGIAN_PERSONAL_NUMBER_TYPES = ['REAL', 'DNUMBER', 'SYNTHETIC', 'TEMPORARY'];
|
|
2
|
+
export function validateNorwegianPersonalNumber(number) {
|
|
3
|
+
// Check if the number has the correct format (11 digits)
|
|
4
|
+
if (!/^\d{11}$/.test(number))
|
|
5
|
+
return 'INVALID';
|
|
6
|
+
// Convert the string to an array of digits
|
|
7
|
+
const digits = number.split('').map(Number);
|
|
8
|
+
// Since the input is guaranteed to be 11 digits, digits[0] will always be a number
|
|
9
|
+
// No need to check the type of digits[0] again
|
|
10
|
+
// D-number: First digit between 4 and 7
|
|
11
|
+
const isDNumber = digits[0] >= 4 && digits[0] <= 7;
|
|
12
|
+
// Synthetic number: First digit of the birth date +40
|
|
13
|
+
const isSynthetic = digits[2] >= 4;
|
|
14
|
+
// Check for temporary number: Last 5 digits are 11111 or 22222
|
|
15
|
+
// Validate birth date or D-number date or temporary number
|
|
16
|
+
const day = isDNumber ? digits[0] - 4 + digits[1] * 10 : digits[0] * 10 + digits[1];
|
|
17
|
+
const month = isSynthetic ? digits[2] - 4 + digits[3] * 10 : digits[2] * 10 + digits[3];
|
|
18
|
+
const year = parseInt(digits[4] <= 4 ? `19${digits[4]}${digits[5]}` : `20${digits[4]}${digits[5]}`, 10);
|
|
19
|
+
if (!isValidDate(year, month, day))
|
|
20
|
+
return 'INVALID';
|
|
21
|
+
const lastFiveDigits = number.slice(6);
|
|
22
|
+
if (lastFiveDigits === '11111' || lastFiveDigits === '22222')
|
|
23
|
+
return 'TEMPORARY';
|
|
24
|
+
// Validate control digits (modulus 11)
|
|
25
|
+
const k1Weights = [3, 7, 6, 1, 8, 9, 4, 5, 2];
|
|
26
|
+
const k2Weights = [5, 4, 3, 2, 7, 6, 5, 4, 3, 2];
|
|
27
|
+
const calculateControlDigit = (weights, sliceEnd) => {
|
|
28
|
+
const sum = digits.slice(0, sliceEnd).reduce((acc, digit, idx) => acc + digit * weights[idx], 0);
|
|
29
|
+
const remainder = sum % 11;
|
|
30
|
+
return remainder === 0 ? 0 : 11 - remainder;
|
|
31
|
+
};
|
|
32
|
+
const k1 = calculateControlDigit(k1Weights, 9);
|
|
33
|
+
const k2 = calculateControlDigit(k2Weights, 10);
|
|
34
|
+
if (k1 !== digits[9] || k2 !== digits[10])
|
|
35
|
+
return 'INVALID';
|
|
36
|
+
// Identify type based on pattern
|
|
37
|
+
if (isDNumber)
|
|
38
|
+
return 'DNUMBER';
|
|
39
|
+
if (isSynthetic)
|
|
40
|
+
return 'SYNTHETIC';
|
|
41
|
+
return 'REAL';
|
|
42
|
+
}
|
|
43
|
+
// Function to check for valid date
|
|
44
|
+
function isValidDate(year, month, day) {
|
|
45
|
+
if (month < 1 || month > 12 || day < 1)
|
|
46
|
+
return false;
|
|
47
|
+
const daysInMonth = [31, isLeapYear(year) ? 29 : 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];
|
|
48
|
+
return day <= daysInMonth[month - 1];
|
|
49
|
+
}
|
|
50
|
+
// Function to check if a year is a leap year
|
|
51
|
+
function isLeapYear(year) {
|
|
52
|
+
return (year % 4 === 0 && year % 100 !== 0) || year % 400 === 0;
|
|
53
|
+
}
|
|
54
|
+
//# 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
CHANGED
|
@@ -33,4 +33,6 @@ export type { IUploadedDocument } from './interfaces/api/advoca/IUploadedDocumen
|
|
|
33
33
|
export type { IFeedBack, ISaveToDataBase } from './interfaces/api/advoca/ISaveToDataBase';
|
|
34
34
|
export * from './interfaces/enums';
|
|
35
35
|
export * from './g-definitions';
|
|
36
|
+
export * from './helpers/validateNorwegianPersonalNumber';
|
|
37
|
+
export * from './helpers/generateRandomString';
|
|
36
38
|
//# sourceMappingURL=index.d.ts.map
|
package/lib/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,+BAA+B,CAAA;AAC7C,cAAc,iCAAiC,CAAA;AAC/C,cAAc,gCAAgC,CAAA;AAC9C,cAAc,gCAAgC,CAAA;AAC9C,cAAc,qBAAqB,CAAA;AACnC,cAAc,oBAAoB,CAAA;AAClC,cAAc,sBAAsB,CAAA;AACpC,cAAc,kBAAkB,CAAA;AAChC,cAAc,gDAAgD,CAAA;AAC9D,cAAc,8BAA8B,CAAA;AAE5C,cAAc,+BAA+B,CAAA;AAC7C,cAAc,oBAAoB,CAAA;AAClC,cAAc,4BAA4B,CAAA;AAC1C,cAAc,qCAAqC,CAAA;AACnD,cAAc,mCAAmC,CAAA;AACjD,cAAc,wBAAwB,CAAA;AAEtC,cAAc,0BAA0B,CAAA;AACxC,cAAc,+BAA+B,CAAA;AAC7C,cAAc,sCAAsC,CAAA;AACpD,cAAc,4BAA4B,CAAA;AAC1C,cAAc,wBAAwB,CAAA;AACtC,cAAc,sBAAsB,CAAA;AACpC,cAAc,wCAAwC,CAAA;AACtD,cAAc,6BAA6B,CAAA;AAC3C,cAAc,8BAA8B,CAAA;AAC5C,cAAc,6BAA6B,CAAA;AAE3C,cAAc,kBAAkB,CAAA;AAChC,cAAc,sCAAsC,CAAA;AACpD,cAAc,sCAAsC,CAAA;AAEpD,cAAc,iBAAiB,CAAA;AAE/B,cAAc,mBAAmB,CAAA;AAEjC,YAAY,EAAE,iBAAiB,EAAE,MAAM,2CAA2C,CAAA;AAClF,YAAY,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,yCAAyC,CAAA;AAEzF,cAAc,oBAAoB,CAAA;AAElC,cAAc,iBAAiB,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,+BAA+B,CAAA;AAC7C,cAAc,iCAAiC,CAAA;AAC/C,cAAc,gCAAgC,CAAA;AAC9C,cAAc,gCAAgC,CAAA;AAC9C,cAAc,qBAAqB,CAAA;AACnC,cAAc,oBAAoB,CAAA;AAClC,cAAc,sBAAsB,CAAA;AACpC,cAAc,kBAAkB,CAAA;AAChC,cAAc,gDAAgD,CAAA;AAC9D,cAAc,8BAA8B,CAAA;AAE5C,cAAc,+BAA+B,CAAA;AAC7C,cAAc,oBAAoB,CAAA;AAClC,cAAc,4BAA4B,CAAA;AAC1C,cAAc,qCAAqC,CAAA;AACnD,cAAc,mCAAmC,CAAA;AACjD,cAAc,wBAAwB,CAAA;AAEtC,cAAc,0BAA0B,CAAA;AACxC,cAAc,+BAA+B,CAAA;AAC7C,cAAc,sCAAsC,CAAA;AACpD,cAAc,4BAA4B,CAAA;AAC1C,cAAc,wBAAwB,CAAA;AACtC,cAAc,sBAAsB,CAAA;AACpC,cAAc,wCAAwC,CAAA;AACtD,cAAc,6BAA6B,CAAA;AAC3C,cAAc,8BAA8B,CAAA;AAC5C,cAAc,6BAA6B,CAAA;AAE3C,cAAc,kBAAkB,CAAA;AAChC,cAAc,sCAAsC,CAAA;AACpD,cAAc,sCAAsC,CAAA;AAEpD,cAAc,iBAAiB,CAAA;AAE/B,cAAc,mBAAmB,CAAA;AAEjC,YAAY,EAAE,iBAAiB,EAAE,MAAM,2CAA2C,CAAA;AAClF,YAAY,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,yCAAyC,CAAA;AAEzF,cAAc,oBAAoB,CAAA;AAElC,cAAc,iBAAiB,CAAA;AAE/B,cAAc,2CAA2C,CAAA;AACzD,cAAc,gCAAgC,CAAA"}
|
package/lib/index.js
CHANGED
|
@@ -33,4 +33,6 @@ export * from './utility/fetch';
|
|
|
33
33
|
export * from './clients/srvAuth';
|
|
34
34
|
export * from './interfaces/enums';
|
|
35
35
|
export * from './g-definitions';
|
|
36
|
+
export * from './helpers/validateNorwegianPersonalNumber';
|
|
37
|
+
export * from './helpers/generateRandomString';
|
|
36
38
|
//# sourceMappingURL=index.js.map
|
package/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,+BAA+B,CAAA;AAC7C,cAAc,iCAAiC,CAAA;AAC/C,cAAc,gCAAgC,CAAA;AAC9C,cAAc,gCAAgC,CAAA;AAC9C,cAAc,qBAAqB,CAAA;AACnC,cAAc,oBAAoB,CAAA;AAClC,cAAc,sBAAsB,CAAA;AACpC,cAAc,kBAAkB,CAAA;AAChC,cAAc,gDAAgD,CAAA;AAC9D,cAAc,8BAA8B,CAAA;AAE5C,cAAc,+BAA+B,CAAA;AAC7C,cAAc,oBAAoB,CAAA;AAClC,cAAc,4BAA4B,CAAA;AAC1C,cAAc,qCAAqC,CAAA;AACnD,cAAc,mCAAmC,CAAA;AACjD,cAAc,wBAAwB,CAAA;AACtC,wDAAwD;AACxD,cAAc,0BAA0B,CAAA;AACxC,cAAc,+BAA+B,CAAA;AAC7C,cAAc,sCAAsC,CAAA;AACpD,cAAc,4BAA4B,CAAA;AAC1C,cAAc,wBAAwB,CAAA;AACtC,cAAc,sBAAsB,CAAA;AACpC,cAAc,wCAAwC,CAAA;AACtD,cAAc,6BAA6B,CAAA;AAC3C,cAAc,8BAA8B,CAAA;AAC5C,cAAc,6BAA6B,CAAA;AAC3C,6CAA6C;AAC7C,cAAc,kBAAkB,CAAA;AAChC,cAAc,sCAAsC,CAAA;AACpD,cAAc,sCAAsC,CAAA;AAEpD,cAAc,iBAAiB,CAAA;AAE/B,cAAc,mBAAmB,CAAA;AAKjC,cAAc,oBAAoB,CAAA;AAElC,cAAc,iBAAiB,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,+BAA+B,CAAA;AAC7C,cAAc,iCAAiC,CAAA;AAC/C,cAAc,gCAAgC,CAAA;AAC9C,cAAc,gCAAgC,CAAA;AAC9C,cAAc,qBAAqB,CAAA;AACnC,cAAc,oBAAoB,CAAA;AAClC,cAAc,sBAAsB,CAAA;AACpC,cAAc,kBAAkB,CAAA;AAChC,cAAc,gDAAgD,CAAA;AAC9D,cAAc,8BAA8B,CAAA;AAE5C,cAAc,+BAA+B,CAAA;AAC7C,cAAc,oBAAoB,CAAA;AAClC,cAAc,4BAA4B,CAAA;AAC1C,cAAc,qCAAqC,CAAA;AACnD,cAAc,mCAAmC,CAAA;AACjD,cAAc,wBAAwB,CAAA;AACtC,wDAAwD;AACxD,cAAc,0BAA0B,CAAA;AACxC,cAAc,+BAA+B,CAAA;AAC7C,cAAc,sCAAsC,CAAA;AACpD,cAAc,4BAA4B,CAAA;AAC1C,cAAc,wBAAwB,CAAA;AACtC,cAAc,sBAAsB,CAAA;AACpC,cAAc,wCAAwC,CAAA;AACtD,cAAc,6BAA6B,CAAA;AAC3C,cAAc,8BAA8B,CAAA;AAC5C,cAAc,6BAA6B,CAAA;AAC3C,6CAA6C;AAC7C,cAAc,kBAAkB,CAAA;AAChC,cAAc,sCAAsC,CAAA;AACpD,cAAc,sCAAsC,CAAA;AAEpD,cAAc,iBAAiB,CAAA;AAE/B,cAAc,mBAAmB,CAAA;AAKjC,cAAc,oBAAoB,CAAA;AAElC,cAAc,iBAAiB,CAAA;AAE/B,cAAc,2CAA2C,CAAA;AACzD,cAAc,gCAAgC,CAAA"}
|
package/package.json
CHANGED
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export function generateRandomString(length: number = 6): string {
|
|
2
|
+
const characters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789'
|
|
3
|
+
let result = ''
|
|
4
|
+
const charactersLength = characters.length
|
|
5
|
+
for (let i = 0; i < length; i++) {
|
|
6
|
+
result += characters.charAt(Math.floor(Math.random() * charactersLength))
|
|
7
|
+
}
|
|
8
|
+
return result
|
|
9
|
+
}
|
|
@@ -72,7 +72,7 @@ export type ICheckSigninOptions<IFeaturesArr extends string> = Pick<
|
|
|
72
72
|
vt?: number
|
|
73
73
|
region?: string
|
|
74
74
|
identity?: string
|
|
75
|
-
access_level?:
|
|
75
|
+
access_level?: 1 | 2 | 3 | 4
|
|
76
76
|
advoca_info_link?: string
|
|
77
77
|
/** @info only for anonymous */
|
|
78
78
|
privacy_policy?: IPrivacyPolicy
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
export const NORWEGIAN_PERSONAL_NUMBER_TYPES = ['REAL', 'DNUMBER', 'SYNTHETIC', 'TEMPORARY'] as const
|
|
2
|
+
|
|
3
|
+
export function validateNorwegianPersonalNumber(
|
|
4
|
+
number: string,
|
|
5
|
+
): (typeof NORWEGIAN_PERSONAL_NUMBER_TYPES)[number] | 'INVALID' {
|
|
6
|
+
// Check if the number has the correct format (11 digits)
|
|
7
|
+
if (!/^\d{11}$/.test(number)) return 'INVALID'
|
|
8
|
+
|
|
9
|
+
// Convert the string to an array of digits
|
|
10
|
+
const digits = number.split('').map(Number) as [
|
|
11
|
+
number,
|
|
12
|
+
number,
|
|
13
|
+
number,
|
|
14
|
+
number,
|
|
15
|
+
number,
|
|
16
|
+
number,
|
|
17
|
+
number,
|
|
18
|
+
number,
|
|
19
|
+
number,
|
|
20
|
+
number,
|
|
21
|
+
number,
|
|
22
|
+
]
|
|
23
|
+
|
|
24
|
+
// Since the input is guaranteed to be 11 digits, digits[0] will always be a number
|
|
25
|
+
// No need to check the type of digits[0] again
|
|
26
|
+
|
|
27
|
+
// D-number: First digit between 4 and 7
|
|
28
|
+
const isDNumber = digits[0] >= 4 && digits[0] <= 7
|
|
29
|
+
|
|
30
|
+
// Synthetic number: First digit of the birth date +40
|
|
31
|
+
const isSynthetic = digits[2] >= 4
|
|
32
|
+
|
|
33
|
+
// Check for temporary number: Last 5 digits are 11111 or 22222
|
|
34
|
+
|
|
35
|
+
// Validate birth date or D-number date or temporary number
|
|
36
|
+
const day = isDNumber ? digits[0] - 4 + digits[1] * 10 : digits[0] * 10 + digits[1]
|
|
37
|
+
const month = isSynthetic ? digits[2] - 4 + digits[3] * 10 : digits[2] * 10 + digits[3]
|
|
38
|
+
const year = parseInt(digits[4] <= 4 ? `19${digits[4]}${digits[5]}` : `20${digits[4]}${digits[5]}`, 10)
|
|
39
|
+
|
|
40
|
+
if (!isValidDate(year, month, day)) return 'INVALID'
|
|
41
|
+
|
|
42
|
+
const lastFiveDigits = number.slice(6)
|
|
43
|
+
|
|
44
|
+
if (lastFiveDigits === '11111' || lastFiveDigits === '22222') return 'TEMPORARY'
|
|
45
|
+
|
|
46
|
+
// Validate control digits (modulus 11)
|
|
47
|
+
const k1Weights = [3, 7, 6, 1, 8, 9, 4, 5, 2]
|
|
48
|
+
const k2Weights = [5, 4, 3, 2, 7, 6, 5, 4, 3, 2]
|
|
49
|
+
|
|
50
|
+
const calculateControlDigit = (weights: number[], sliceEnd: number): number => {
|
|
51
|
+
const sum = digits.slice(0, sliceEnd).reduce((acc, digit, idx) => acc + digit * weights[idx]!, 0)
|
|
52
|
+
const remainder = sum % 11
|
|
53
|
+
return remainder === 0 ? 0 : 11 - remainder
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
const k1 = calculateControlDigit(k1Weights, 9)
|
|
57
|
+
const k2 = calculateControlDigit(k2Weights, 10)
|
|
58
|
+
|
|
59
|
+
if (k1 !== digits[9] || k2 !== digits[10]) return 'INVALID'
|
|
60
|
+
|
|
61
|
+
// Identify type based on pattern
|
|
62
|
+
if (isDNumber) return 'DNUMBER'
|
|
63
|
+
if (isSynthetic) return 'SYNTHETIC'
|
|
64
|
+
return 'REAL'
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
// Function to check for valid date
|
|
68
|
+
function isValidDate(year: number, month: number, day: number): boolean {
|
|
69
|
+
if (month < 1 || month > 12 || day < 1) return false
|
|
70
|
+
|
|
71
|
+
const daysInMonth = [31, isLeapYear(year) ? 29 : 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]
|
|
72
|
+
return day <= daysInMonth[month - 1]!
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
// Function to check if a year is a leap year
|
|
76
|
+
function isLeapYear(year: number): boolean {
|
|
77
|
+
return (year % 4 === 0 && year % 100 !== 0) || year % 400 === 0
|
|
78
|
+
}
|
package/src/index.ts
CHANGED
|
@@ -41,3 +41,6 @@ export type { IFeedBack, ISaveToDataBase } from './interfaces/api/advoca/ISaveTo
|
|
|
41
41
|
export * from './interfaces/enums'
|
|
42
42
|
|
|
43
43
|
export * from './g-definitions'
|
|
44
|
+
|
|
45
|
+
export * from './helpers/validateNorwegianPersonalNumber'
|
|
46
|
+
export * from './helpers/generateRandomString'
|
package/lib/global.d.ts
DELETED
|
@@ -1,55 +0,0 @@
|
|
|
1
|
-
import { type History, createBrowserHistory } from 'history';
|
|
2
|
-
import type { IOpenReplay } from './helpers/generateSrvAuthBindings';
|
|
3
|
-
import type { IGlobalOpenReplay } from './helpers/openReplayObject';
|
|
4
|
-
export {};
|
|
5
|
-
declare global {
|
|
6
|
-
interface Window {
|
|
7
|
-
__ENV?: Record<string, string>;
|
|
8
|
-
__ENV_MICRO: {
|
|
9
|
-
[key: string]: Record<string, string>;
|
|
10
|
-
};
|
|
11
|
-
__MICROAPP_REGISTRY?: {
|
|
12
|
-
name: string;
|
|
13
|
-
entry: string;
|
|
14
|
-
container: string;
|
|
15
|
-
loader: (loading: boolean) => void;
|
|
16
|
-
activeRule: string;
|
|
17
|
-
}[];
|
|
18
|
-
__ASMA__SHELL__?: {
|
|
19
|
-
openreplay_configs?: IOpenReplay;
|
|
20
|
-
openreplay_object?: IGlobalOpenReplay;
|
|
21
|
-
history?: History;
|
|
22
|
-
auth_bindings?: {
|
|
23
|
-
isJwtValid: () => boolean;
|
|
24
|
-
getConnector: () => string | undefined;
|
|
25
|
-
getCachedJwt: () => Promise<string | undefined>;
|
|
26
|
-
srvAuthGet: <R>(url: string, headers?: Record<string, string>) => Promise<R>;
|
|
27
|
-
setReqConfig: <T = unknown>(data?: T | undefined, responseType?: 'arraybuffer' | 'blob' | 'document' | 'json' | 'text' | 'stream') => Promise<{
|
|
28
|
-
data: T | undefined;
|
|
29
|
-
responseType: 'arraybuffer' | 'blob' | 'document' | 'json' | 'text' | 'stream' | undefined;
|
|
30
|
-
headers: Record<string, string>;
|
|
31
|
-
}>;
|
|
32
|
-
getSrvUrls: () => Record<'ao_wrapper' | 'connector', string> | undefined;
|
|
33
|
-
};
|
|
34
|
-
isLogged?: () => boolean;
|
|
35
|
-
logoutUser?: () => void;
|
|
36
|
-
};
|
|
37
|
-
_env_cloud?: Record<'adopus' | 'adcuris', Record<string, string>>;
|
|
38
|
-
_srvUrls?: Record<string, string>;
|
|
39
|
-
/**
|
|
40
|
-
* @deprecated
|
|
41
|
-
* DONT'T USE THIS FIELD ANYMORE
|
|
42
|
-
* WILL BE REMOVED AT NEXT MAJOR RELEASE
|
|
43
|
-
*/
|
|
44
|
-
isLogged: boolean;
|
|
45
|
-
/**
|
|
46
|
-
* @warning
|
|
47
|
-
* In MicroApps use window.__ASMA__SHELL__.logoutUser
|
|
48
|
-
*/
|
|
49
|
-
logoutUser: () => void;
|
|
50
|
-
wsConnection: any;
|
|
51
|
-
}
|
|
52
|
-
}
|
|
53
|
-
export declare const history: History;
|
|
54
|
-
export { type History, createBrowserHistory };
|
|
55
|
-
//# sourceMappingURL=global.d.ts.map
|
package/lib/global.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"global.d.ts","sourceRoot":"","sources":["../src/global.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,OAAO,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAA;AAC5D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mCAAmC,CAAA;AACpE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAA;AAGnE,OAAO,EAAE,CAAA;AAET,OAAO,CAAC,MAAM,CAAC;IACX,UAAU,MAAM;QACZ,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;QAC9B,WAAW,EAAE;YACT,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;SACxC,CAAA;QACD,mBAAmB,CAAC,EAAE;YAClB,IAAI,EAAE,MAAM,CAAA;YACZ,KAAK,EAAE,MAAM,CAAA;YACb,SAAS,EAAE,MAAM,CAAA;YACjB,MAAM,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAA;YAClC,UAAU,EAAE,MAAM,CAAA;SACrB,EAAE,CAAA;QACH,eAAe,CAAC,EAAE;YACd,kBAAkB,CAAC,EAAE,WAAW,CAAA;YAChC,iBAAiB,CAAC,EAAE,iBAAiB,CAAA;YACrC,OAAO,CAAC,EAAE,OAAO,CAAA;YACjB,aAAa,CAAC,EAAE;gBACZ,UAAU,EAAE,MAAM,OAAO,CAAA;gBACzB,YAAY,EAAE,MAAM,MAAM,GAAG,SAAS,CAAA;gBACtC,YAAY,EAAE,MAAM,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAA;gBAC/C,UAAU,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,CAAA;gBAC5E,YAAY,EAAE,CAAC,CAAC,GAAG,OAAO,EACtB,IAAI,CAAC,EAAE,CAAC,GAAG,SAAS,EACpB,YAAY,CAAC,EAAE,aAAa,GAAG,MAAM,GAAG,UAAU,GAAG,MAAM,GAAG,MAAM,GAAG,QAAQ,KAC9E,OAAO,CAAC;oBACT,IAAI,EAAE,CAAC,GAAG,SAAS,CAAA;oBACnB,YAAY,EAAE,aAAa,GAAG,MAAM,GAAG,UAAU,GAAG,MAAM,GAAG,MAAM,GAAG,QAAQ,GAAG,SAAS,CAAA;oBAC1F,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;iBAClC,CAAC,CAAA;gBACF,UAAU,EAAE,MAAM,MAAM,CAAC,YAAY,GAAG,WAAW,EAAE,MAAM,CAAC,GAAG,SAAS,CAAA;aAC3E,CAAA;YACD,QAAQ,CAAC,EAAE,MAAM,OAAO,CAAA;YACxB,UAAU,CAAC,EAAE,MAAM,IAAI,CAAA;SAE1B,CAAA;QAED,UAAU,CAAC,EAAE,MAAM,CAAC,QAAQ,GAAG,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAA;QACjE,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;QACjC;;;;WAIG;QACH,QAAQ,EAAE,OAAO,CAAA;QACjB;;;WAGG;QACH,UAAU,EAAE,MAAM,IAAI,CAAA;QACtB,YAAY,EAAE,GAAG,CAAA;KACpB;CACJ;AAED,eAAO,MAAM,OAAO,SAA4D,CAAA;AAEhF,OAAO,EAAE,KAAK,OAAO,EAAE,oBAAoB,EAAE,CAAA"}
|
package/lib/global.js
DELETED
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import { createBrowserHistory } from 'history';
|
|
2
|
-
//import type { IGenerateSRVAuthBindings } from './helpers/generateSrvAuthBindings'
|
|
3
|
-
//import type { IGenerateSRVAuthBindings } from './helpers/generateSrvAuthBindings'
|
|
4
|
-
export {};
|
|
5
|
-
export const history = window.__ASMA__SHELL__?.history || createBrowserHistory();
|
|
6
|
-
export { createBrowserHistory };
|
|
7
|
-
//# sourceMappingURL=global.js.map
|
package/lib/global.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"global.js","sourceRoot":"","sources":["../src/global.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,oBAAoB,EAAE,MAAM,SAAS,CAAA;AAG5D,mFAAmF;AACnF,mFAAmF;AACnF,OAAO,EAAE,CAAA;AAwDT,MAAM,CAAC,MAAM,OAAO,GAAG,MAAM,CAAC,eAAe,EAAE,OAAO,IAAI,oBAAoB,EAAE,CAAA;AAEhF,OAAO,EAAgB,oBAAoB,EAAE,CAAA"}
|