{"_id":"xendit-fingerprint-sdk-web","_rev":"10-7c351f9ab8294bfa26bc3faacd8eda19","name":"xendit-fingerprint-sdk-web","dist-tags":{"beta":"1.1.1-beta.0","latest":"1.1.1"},"versions":{"1.0.0-beta.0":{"name":"xendit-fingerprint-sdk-web","version":"1.0.0-beta.0","description":"Web SDK for Xendit's device fingerprinting.","author":{"name":"xenShield","email":"xenshield@xendit.co","url":"https://xendit.co"},"license":"Copyright 2022 Xendit","homepage":"https://xendit.co","main":"dist/xendit-fingerprint-sdk-web.js","scripts":{"start":"npm run build:watch","serve":"http-server ./docs","clean":"rimraf coverage dist tmp","prebuild":"npm run lint","build":"NODE_ENV=production webpack","build:watch":"NODE_ENV=development webpack --watch","lint":"eslint . --ext .ts,.tsx && prettier --check ./src","format":"prettier --write ./src","test":"jest --coverage","test:watch":"jest --watch","release":"release-it"},"dependencies":{"@fingerprintjs/fingerprintjs":"^3.3.3","axios":"^0.26.1","tslib":"~2.3.1","uuid":"^8.3.2"},"devDependencies":{"@trivago/prettier-plugin-sort-imports":"^3.2.0","@types/jest":"~27.0.2","@types/node":"~16.11.6","@types/sinon":"^10.0.11","@types/uuid":"^8.3.4","@typescript-eslint/eslint-plugin":"~5.7.0","@typescript-eslint/parser":"~5.7.0","dotenv":"^16.0.0","eslint":"~8.4.1","eslint-config-prettier":"~8.3.0","eslint-plugin-jest":"~25.3.0","filemanager-webpack-plugin":"^7.0.0-alpha.2","http-server":"^14.1.0","jest":"~27.4.4","prettier":"~2.5.1","release-it":"^14.13.1","rimraf":"~3.0.2","sinon":"^13.0.1","ts-jest":"~27.1.1","ts-loader":"^9.2.8","tsutils":"~3.21.0","typescript":"~4.5.3","webpack":"^5.70.0","webpack-bundle-analyzer":"^4.5.0","webpack-cli":"^4.9.2","webpack-obfuscator":"^3.5.1"},"volta":{"node":"16.13.0"},"release-it":{"git":{"commitMessage":"chore: release ${version}","tagName":"v${version}"},"npm":{"publish":true},"github":{"release":true}},"gitHead":"6dba387e56b0d2930ecc3ac4aed9e06be685dee4","_id":"xendit-fingerprint-sdk-web@1.0.0-beta.0","_nodeVersion":"16.1.0","_npmVersion":"8.3.0","dist":{"integrity":"sha512-LK+wkzladZ1QsiUhVohWlrJ/9bCUusz9uVnq0xlfTBj6GCPP/LMsgupmzo4Ut1FVRaS9ETuqKlgceGvt3kvJCA==","shasum":"bf17c7ab1e418a6aaa30a3fdcd06b0c5cc66388b","tarball":"https://registry.npmjs.org/xendit-fingerprint-sdk-web/-/xendit-fingerprint-sdk-web-1.0.0-beta.0.tgz","fileCount":3,"unpackedSize":172241,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHTRaQ0giPenvo44dnuV26jSSHqB20FnaxXhiOJtLx/2AiAVpDuvV/tVQmgu6hS8skqrAJpZIogCqrpYsMb1cF+LiQ=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiRSNNACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpzDg/5AGLsF65bDzLBINvMA2Go66hMlAIPhdo/aRwnTo9vSG6NObi7\r\nE2YUGnXyqd8Atahe5j9bzThWJ1k3gvgzqAv9VkyQRdTS21/mVGQFnDQ3I7iv\r\n73CL2TMCSut1PAJ5v+dvC7E0/4ggJ6MOMC/4Dwjo9m2dBRVP2gvQ6R03dIgQ\r\nLTakd5B7p0e34BmSLji/zdqVRXzep9A4WTgQ0dZ0sNGrFc2l4345PcZ4ul1z\r\nX67hEyHskWP3r42yO27RreAg2X+15xSNcRGd++/z4gqwiL/2aeOPCa+P+mji\r\n7yeakDuDZOw2ZQUEi467p+0lQvuQkzEkuec5uD4TTpaqIk+l/Bs47tpSwcIg\r\nw96VHYYmPpteLpfx0Zaw091+xq7W4BASh18Wl3bjTATyJeLB+VEYA8w/FJcQ\r\nivlGjqrCK05miHftcxpqo/p/FAwye+VziHq0u5mFqPIgMXREsAeoHe2EEMFJ\r\nyE7pp1KEvKiVN186xnvqDvslreNhhLTmttFSSeM859s4if5ME5qtC1uwoJZs\r\nd3jV1LMy37d/yJch7dBwwj2FYffo/VEYVjspCokHcvIa/fnNttW/SChcUJfn\r\nKZHryu+qGxJ4NrH9nMbTTK53xnMTkfrsZ3k292GtJznwSqMhKzTv0lZQGFNd\r\nIT1fC90aSEYxgUx2ZAcQxwv/HrbOj8rCCr8=\r\n=abaM\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"xenshield","email":"xenshield@xendit.com"},"directories":{},"maintainers":[{"name":"xenshield","email":"xenshield@xendit.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/xendit-fingerprint-sdk-web_1.0.0-beta.0_1648698188904_0.3698270897643736"},"_hasShrinkwrap":false},"1.0.0-beta.1":{"name":"xendit-fingerprint-sdk-web","version":"1.0.0-beta.1","description":"Web SDK for Xendit's device fingerprinting.","author":{"name":"xenShield","email":"xenshield@xendit.co","url":"https://xendit.co"},"license":"Copyright 2022 Xendit","homepage":"https://xendit.co","main":"dist/xendit-fingerprint-sdk-web.js","scripts":{"start":"npm run build:watch","serve":"http-server ./docs","clean":"rimraf coverage dist tmp","prebuild":"npm run lint","build":"NODE_ENV=production webpack","build:watch":"NODE_ENV=development webpack --watch","lint":"eslint . --ext .ts,.tsx && prettier --check ./src","format":"prettier --write ./src","test":"jest --coverage","test:watch":"jest --watch","release":"release-it"},"dependencies":{"@fingerprintjs/fingerprintjs":"^3.3.3","axios":"^0.26.1","tslib":"~2.3.1","uuid":"^8.3.2"},"devDependencies":{"@trivago/prettier-plugin-sort-imports":"^3.2.0","@types/jest":"~27.0.2","@types/node":"~16.11.6","@types/sinon":"^10.0.11","@types/uuid":"^8.3.4","@typescript-eslint/eslint-plugin":"~5.7.0","@typescript-eslint/parser":"~5.7.0","dotenv":"^16.0.0","eslint":"~8.4.1","eslint-config-prettier":"~8.3.0","eslint-plugin-jest":"~25.3.0","filemanager-webpack-plugin":"^7.0.0-alpha.2","http-server":"^14.1.0","jest":"~27.4.4","prettier":"~2.5.1","release-it":"^14.13.1","rimraf":"~3.0.2","sinon":"^13.0.1","ts-jest":"~27.1.1","ts-loader":"^9.2.8","tsutils":"~3.21.0","typescript":"~4.5.3","webpack":"^5.70.0","webpack-bundle-analyzer":"^4.5.0","webpack-cli":"^4.9.2","webpack-obfuscator":"^3.5.1"},"volta":{"node":"16.13.0"},"release-it":{"git":{"commitMessage":"chore: release ${version}","tagName":"v${version}"},"npm":{"publish":true},"github":{"release":true}},"readme":"# Xendit Fingerprint SDK Web\n\nWeb SDK for device identification and fingerprinting with Xendit services.\n\n## Basic Usage\n\nInitialize the SDK with your public API key on application start up and\nperform a scan.\n\n> The SDK must be initialized before use.\n\n```js\n// Initialize the SDK on every page load\nXenditFingerprintSDK.init({\n  apiKey: 'MY_PUBLIC_API_KEY',\n})\n// Run a scan immediately after initialization\nXenditFingerprintSDK.scan()\n```\n\nThe session ID is retrievable from either `XenditFingerprintSDK.init()` on SDK\ninitialization or from the `XenditFingerprintSDK.getSessionID()` convenience method\nany time after initialization.\n\nBoth of these functions returns a Session ID of type `string`.\n\n```js\n// On SDK init\nvar sessionID = XenditFingerprintSDK.init('MY_PUBLIC_API_KEY')\n\n// After SDK init\nvar sessionID = XenditFingerprintSDK.getSessionID()\n```\n\nThis Session ID can then be passed on to other Xendit APIs that support device\nfingerprinting. Please refer to the respective API's documentation for further info.\n\n## Requirements\n\nSupported web browsers:\n\n- Chrome 49+\n- Firefox 52+\n- Edge 93+\n- Desktop Safari 12.1+\n- Mobile Safari 10.3+\n- Samsung Internet 14.0+\n- Android Browser 4.4+\n\n## Installation\n\nIn a browser:\n\n```html\n<script src=\"https://cdn.jsdelivr.net/npm/xendit-fingerprint-sdk-web/dist/xendit-fingerprint-sdk-web.js\">\n```\n\nUsing NPM:\n\n```sh\n$ npm install --save xendit-fingerprint-sdk-web\n```\n\n## Methods\n\nAsynchronous SDK methods have been labeled `async`, these return a `Promise` object. Refer to the\nreturns section of each method for the resolved type.\n\n### `init()`\n\nThe SDK must be initialized before it can be used.\n\n- Initialization must be ran on every web page load.\n- The SDK will associate a session ID for the webpage until it's closed.\n- A new session ID will be assigned on every page load.\n- Single page apps (SPAs) will have the same session ID if JS based routing is used.\n Because the web page is only loaded once.\n\n```javascript\nconst sessionId = XenditFingerprintSDK.init({apiKey: publicKey});\n```\n\n#### **Parameters**\n\n| Name        | Type               | Required | Description            |\n| ----------- | ------------------ | -------- | ---------------------- |\n| initOptions | InitOptions Object | Yes      | Initialization options |\n\n> Do not use your private API key!\n\n`InitOptions` Object\n\n| Name   | Type   | Required | Description                                                                         |\n| ------ | ------ | -------- | ----------------------------------------------------------------------------------- |\n| apiKey | string | Yes      | A valid public API key provided by [Xendit Dashboard](https://dashboard.xendit.co/) |\n\n#### **Returns**\n\n| Name      | Type   | Description          |\n| --------- | ------ | -------------------- |\n| sessionId | string | Generated session ID |\n\n### `async scan()`\n\nScans the web browser and sends the device fingerprint data to Xendit.\n\n- Scan should be called immediately after initializing the SDK.\n- Scan can be called multiple times within a session.\n- Do not `await` the scan, let it run in the background. This avoids blocking\n  any foreground application code execution.\n\n```javascript\nXenditFingerprintSDK.scan()\n// Or\nXenditFingerprintSDK.scan(customerEventName, customerEventID)\n```\n\n#### **Parameters**\n\n| Name              | Type   | Required | Description                                                                                                         |\n| ----------------- | ------ | -------- | ------------------------------------------------------------------------------------------------------------------- |\n| customerEventName | string | No       | Optional event name to associate with this scan. Recommended to use snake case formatting. e.g. `'some_event_name'` |\n| customerEventID   | string | No       | Optional identifier associated with the event. e.g. user account ID                                                 |\n\n### `getSessionID()`\n\nConvenience method to retrieve Session ID after SDK initialization.\n\n```javascript\nconst sessionId = XenditFingerprintSDK.getSessionID();\n```\n\n#### **Returns**\n\n| Name      | Type   | Description          |\n| --------- | ------ | -------------------- |\n| sessionID | string | Generated session ID |\n\n### `setEnabled()`\n\nEnables or disables the SDK.\n\n- When disabled, the scan method will do nothing. No data will be sent to Xendit.\n- When enabled, the SDK will resume operating as normal.\n- The SDK can be disabled before initializing.\n\n```javascript\n// Disables the SDK\nXenditFingerprintSDK.setEnabled(false);\n// Re-enables the SDK\nXenditFingerprintSDK.setEnabled(true);\n```\n\n#### **Parameters**\n\n| Name   | Type    | Required | Description                                          |\n| ------ | ------- | -------- | ---------------------------------------------------- |\n| enable | boolean | Yes      | `true` enables the SDK.<br>`false` disables the SDK. |\n","readmeFilename":"README.md","gitHead":"4bd523ef7e85ca3314d5d82bafe5935a794fe48f","_id":"xendit-fingerprint-sdk-web@1.0.0-beta.1","_nodeVersion":"16.1.0","_npmVersion":"8.3.0","dist":{"integrity":"sha512-YdO6tEVI1Yx5rh5/kBPPrmMOWvUaL/P5+9pzhFUF54cWq2feCSsdXNOJ4JiPlF7V1cdn7T+Y85pwrmchUmUW5w==","shasum":"c4bb84751659adac45f359b930129c3a7d0d503b","tarball":"https://registry.npmjs.org/xendit-fingerprint-sdk-web/-/xendit-fingerprint-sdk-web-1.0.0-beta.1.tgz","fileCount":3,"unpackedSize":172132,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFTa4ezYCs9xMBAsK/2iur+QEM7rSV28qH8DYLXIVOy2AiAUb8x/DspO13yPpDparbveL4NuYc6dTni0PUZdZ2lNZg=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiRjg9ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmrdgw/9EqdJoOmIlYOEviNyFEUJ6NlbZUZLNIeFHdtP1BTyEEfujq8g\r\nZxbTZnL41FTZ+ti7++iTEqUVvy9QXPgo+9OoaS47UzusObKCEUMcDAkt6S3J\r\ny4kZ86ORbPPrn9aWDVpW+/tWqx5W/fEN2ejK0pKxAKnPBovG8eATLBZVzE+U\r\nM/I8hH6BTZ7Zu7IHPxSJfqpwzJiSI3G/xL2I2XXjbuPevxj4RFzBYIVOl6xE\r\nXGJJHzfQiowezvuGJB37wukB6C4xoCZUztnuyELHwEGvlBfRMyZ2zuWp0FFK\r\nQzVQuNq8PeUwQwL0Naj2ntYOBsoxScK2P7RxpjnGLRA8Cmf8M1pSnEAIXWl8\r\n7ph2S9P4xlogvT1jNZS0ShXn2hI5RmJMeg3JzaHeCNPUVrzZ5cA5P3XfhUMw\r\n5SqO5+uije+eP6LjHrb+lGvz/5Ub58hcELtn7mI7nJqWat5kSBXhLivpJYWk\r\nP3yv1MvbXYbzTcOw25cib4BNTpw52E3npWFZVbWqV0gFGR6TofyUGUFcEjO3\r\nMFt7y2ZtWvjdBTy2cpatcbk21jAEciCAXjLZaBohdm3kp5dTpWm+CuiNpVOJ\r\nNqtsDAoOR0Ke6EoWWv5WlOsTNMkVbT2x6uB25pQhe1m2lbPwTgfWdxcLk1DX\r\nrCH2Il5+ND9yPebPPRwFtDQteMyxuR2bBK4=\r\n=LGPA\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"xenshield","email":"xenshield@xendit.com"},"directories":{},"maintainers":[{"name":"boxbag","email":"bochen303@gmail.com"},{"name":"jafnee","email":"jafneejesmee@gmail.com"},{"name":"xenshield","email":"xenshield@xendit.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/xendit-fingerprint-sdk-web_1.0.0-beta.1_1648769085174_0.6598736433793775"},"_hasShrinkwrap":false},"1.0.0-beta.2":{"name":"xendit-fingerprint-sdk-web","version":"1.0.0-beta.2","description":"Web SDK for Xendit's device fingerprinting.","author":{"name":"xenShield","email":"xenshield@xendit.co","url":"https://xendit.co"},"license":"Copyright 2022 Xendit","homepage":"https://xendit.co","main":"dist/xendit-fingerprint-sdk-web.js","scripts":{"start":"npm run build:watch","serve":"http-server ./docs","clean":"rimraf coverage dist tmp","prebuild":"npm run lint","build":"NODE_ENV=production webpack","build:watch":"NODE_ENV=development webpack --watch","lint":"eslint . --ext .ts,.tsx && prettier --check ./src","format":"prettier --write ./src","test":"jest --coverage","test:watch":"jest --watch","release":"release-it"},"dependencies":{"@fingerprintjs/fingerprintjs":"^3.3.3","axios":"^0.26.1","tslib":"~2.3.1","uuid":"^8.3.2"},"devDependencies":{"@trivago/prettier-plugin-sort-imports":"^3.2.0","@types/jest":"~27.0.2","@types/node":"~16.11.6","@types/sinon":"^10.0.11","@types/uuid":"^8.3.4","@typescript-eslint/eslint-plugin":"~5.7.0","@typescript-eslint/parser":"~5.7.0","dotenv":"^16.0.0","eslint":"~8.4.1","eslint-config-prettier":"~8.3.0","eslint-plugin-jest":"~25.3.0","filemanager-webpack-plugin":"^7.0.0-alpha.2","http-server":"^14.1.0","jest":"~27.4.4","prettier":"~2.5.1","release-it":"^14.13.1","rimraf":"~3.0.2","sinon":"^13.0.1","ts-jest":"~27.1.1","ts-loader":"^9.2.8","tsutils":"~3.21.0","typescript":"~4.5.3","webpack":"^5.70.0","webpack-bundle-analyzer":"^4.5.0","webpack-cli":"^4.9.2","webpack-obfuscator":"^3.5.1"},"volta":{"node":"16.13.0"},"release-it":{"git":{"commitMessage":"chore: release ${version}","tagName":"v${version}"},"npm":{"publish":true},"github":{"release":true}},"readme":"# Xendit Fingerprint SDK Web\n\nWeb SDK for device identification and fingerprinting with Xendit services.\n\n## Basic Usage\n\nInitialize the SDK with your public API key on application start up and\nperform a scan.\n\n> The SDK must be initialized before use.\n\n```js\n// Initialize the SDK on every page load\nXenditFingerprintSDK.init({\n  apiKey: 'MY_PUBLIC_API_KEY',\n})\n// Run a scan immediately after initialization\nXenditFingerprintSDK.scan()\n```\n\nThe session ID is retrievable from either `XenditFingerprintSDK.init()` on SDK\ninitialization or from the `XenditFingerprintSDK.getSessionID()` convenience method\nany time after initialization.\n\nBoth of these functions returns a Session ID of type `string`.\n\n```js\n// On SDK init\nvar sessionID = XenditFingerprintSDK.init('MY_PUBLIC_API_KEY')\n\n// After SDK init\nvar sessionID = XenditFingerprintSDK.getSessionID()\n```\n\nThis Session ID can then be passed on to other Xendit APIs that support device\nfingerprinting. Please refer to the respective API's documentation for further info.\n\n## Requirements\n\nSupported web browsers:\n\n- Chrome 49+\n- Firefox 52+\n- Edge 93+\n- Desktop Safari 12.1+\n- Mobile Safari 10.3+\n- Samsung Internet 14.0+\n- Android Browser 4.4+\n\n## Installation\n\nIn a browser:\n\n```html\n<script src=\"https://cdn.jsdelivr.net/npm/xendit-fingerprint-sdk-web/dist/xendit-fingerprint-sdk-web.js\">\n```\n\nUsing NPM:\n\n```sh\n$ npm install --save xendit-fingerprint-sdk-web\n```\n\n## Methods\n\nAsynchronous SDK methods have been labeled `async`, these return a `Promise` object. Refer to the\nreturns section of each method for the resolved type.\n\n### `init()`\n\nThe SDK must be initialized before it can be used.\n\n- Initialization must be ran on every web page load.\n- The SDK will associate a session ID for the webpage until it's closed.\n- A new session ID will be assigned on every page load.\n- Single page apps (SPAs) will have the same session ID if JS based routing is used.\n Because the web page is only loaded once.\n\n```javascript\nconst sessionId = XenditFingerprintSDK.init({apiKey: publicKey});\n```\n\n#### **Parameters**\n\n| Name        | Type               | Required | Description            |\n| ----------- | ------------------ | -------- | ---------------------- |\n| initOptions | InitOptions Object | Yes      | Initialization options |\n\n> Do not use your private API key!\n\n`InitOptions` Object\n\n| Name   | Type   | Required | Description                                                                         |\n| ------ | ------ | -------- | ----------------------------------------------------------------------------------- |\n| apiKey | string | Yes      | A valid public API key provided by [Xendit Dashboard](https://dashboard.xendit.co/) |\n\n#### **Returns**\n\n| Name      | Type   | Description          |\n| --------- | ------ | -------------------- |\n| sessionId | string | Generated session ID |\n\n### `async scan()`\n\nScans the web browser and sends the device fingerprint data to Xendit.\n\n- Scan should be called immediately after initializing the SDK.\n- Scan can be called multiple times within a session.\n- Do not `await` the scan, let it run in the background. This avoids blocking\n  any foreground application code execution.\n\n```javascript\nXenditFingerprintSDK.scan()\n// Or\nXenditFingerprintSDK.scan(customerEventName, customerEventID)\n```\n\n#### **Parameters**\n\n| Name              | Type   | Required | Description                                                                                                         |\n| ----------------- | ------ | -------- | ------------------------------------------------------------------------------------------------------------------- |\n| customerEventName | string | No       | Optional event name to associate with this scan. Recommended to use snake case formatting. e.g. `'some_event_name'` |\n| customerEventID   | string | No       | Optional identifier associated with the event. e.g. user account ID                                                 |\n\n### `getSessionID()`\n\nConvenience method to retrieve Session ID after SDK initialization.\n\n```javascript\nconst sessionId = XenditFingerprintSDK.getSessionID();\n```\n\n#### **Returns**\n\n| Name      | Type   | Description          |\n| --------- | ------ | -------------------- |\n| sessionID | string | Generated session ID |\n\n### `setEnabled()`\n\nEnables or disables the SDK.\n\n- When disabled, the scan method will do nothing. No data will be sent to Xendit.\n- When enabled, the SDK will resume operating as normal.\n- The SDK can be disabled before initializing.\n\n```javascript\n// Disables the SDK\nXenditFingerprintSDK.setEnabled(false);\n// Re-enables the SDK\nXenditFingerprintSDK.setEnabled(true);\n```\n\n#### **Parameters**\n\n| Name   | Type    | Required | Description                                          |\n| ------ | ------- | -------- | ---------------------------------------------------- |\n| enable | boolean | Yes      | `true` enables the SDK.<br>`false` disables the SDK. |\n","readmeFilename":"README.md","gitHead":"7f253d7207a92f04eab426f27fc930d0bf96e152","_id":"xendit-fingerprint-sdk-web@1.0.0-beta.2","_nodeVersion":"16.1.0","_npmVersion":"8.3.0","dist":{"integrity":"sha512-McXtwTrXgTXJwAI0JFtu/4msjEYu8SWV0TiLEZP2haNv4G7sey3LavhFAJapL9WS4fRlSlosoTZppyMgFcQ6ww==","shasum":"528ddfcdfcf34a1c1b1f35e18acd2d335f14f7bf","tarball":"https://registry.npmjs.org/xendit-fingerprint-sdk-web/-/xendit-fingerprint-sdk-web-1.0.0-beta.2.tgz","fileCount":3,"unpackedSize":171809,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD4DkIMHmqOf+ajaTXdInvpegyUiO1Qn2FpI38IFzxGdAIgYQBoCu1JmSDRCisR9ADIz5gVrFoDTvF+pLadXlkxEKA="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiTl3DACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpOYQ/6A/xj5Zq9hHXbkwNtuiJONEd/2c5K4kR2HgiXT1ED7PDyYurT\r\nt65AxZqTZbImNKCo3e9jlKeWKAWzARLe/GCZz5uHbK3hM2Aduzp8GkwccjLF\r\nZt3H9FSMEZVhttHrRRqIiwU4RQQaQIpc/Q6JlHKfaVJkCm3hJJv6ghcuoqSA\r\nJVh/4Ihr3/wMEK8f7QTkBY7imk5eFR1GFbthHg82RejGR+FD50TJoLSqs0/h\r\n3vYPqhq8WZodKAmsoGVL6GlKrTNapyKdu096O+GupMRmmw+x1Rxmr8/dwCLD\r\n6ZHsfsRblX2wZY+T5rk5wYmFb0lMLf+7jggvFyuGOuLWzQkHBRThMHPKX4mD\r\n55SkpkykQk7ClQpuH5t8X9lDolxSSed1rowgQIwUw4s/F1LRaL/4MX9sweXu\r\nsGuWquEb0OHvirRhVvH34inj17Po+yMYMHYKAxo717CwlAcJPaZ4eKdtCC0e\r\ncAzUfwFwtSH8QAuxR5zJ/NrjSWHmUZvJA7dlScXddvcVL2YVSXK0qWEADAWz\r\nkFeBoIPyb0bv+n3Wf1jdatAzFl+LhsbvX4RjxkrPxPiBTOY0VvwG9t73WfGp\r\nB3NONkio255d2NAr0mS+LtW0Tm0s5M0mmjl3iL0H/TlHMIvUN7PffP21VAQR\r\neXmI4G0y4eZzSaccLpAD1vH2Xhc3EXl5rwM=\r\n=cNZ+\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"xenshield","email":"xenshield@xendit.com"},"directories":{},"maintainers":[{"name":"boxbag","email":"bochen303@gmail.com"},{"name":"jafnee","email":"jafneejesmee@gmail.com"},{"name":"xenshield","email":"xenshield@xendit.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/xendit-fingerprint-sdk-web_1.0.0-beta.2_1649302979405_0.8408844260726973"},"_hasShrinkwrap":false},"1.0.0-beta.3":{"name":"xendit-fingerprint-sdk-web","version":"1.0.0-beta.3","description":"Web SDK for Xendit's device fingerprinting.","author":{"name":"xenShield","email":"xenshield@xendit.co","url":"https://xendit.co"},"license":"Copyright 2022 Xendit","homepage":"https://xendit.co","main":"dist/xendit-fingerprint-sdk-web.js","scripts":{"start":"npm run build:watch","serve":"http-server ./docs","clean":"rimraf coverage dist tmp","prebuild":"npm run clean && npm run lint","build":"NODE_ENV=production webpack","build:watch":"NODE_ENV=development webpack --watch","lint":"eslint . --ext .ts,.tsx && prettier --check ./src","format":"prettier --write ./src","test":"jest --coverage","test:watch":"jest --watch","release":"release-it"},"dependencies":{"@fingerprintjs/fingerprintjs":"^3.3.3","axios":"^0.26.1","tslib":"~2.3.1","uuid":"^8.3.2"},"devDependencies":{"@trivago/prettier-plugin-sort-imports":"^3.2.0","@types/jest":"~27.0.2","@types/node":"~16.11.6","@types/sinon":"^10.0.11","@types/uuid":"^8.3.4","@typescript-eslint/eslint-plugin":"~5.7.0","@typescript-eslint/parser":"~5.7.0","dotenv":"^16.0.0","eslint":"~8.4.1","eslint-config-prettier":"~8.3.0","eslint-plugin-jest":"~25.3.0","filemanager-webpack-plugin":"^7.0.0-alpha.2","http-server":"^14.1.0","jest":"~27.4.4","prettier":"~2.5.1","release-it":"^14.13.1","rimraf":"~3.0.2","sinon":"^13.0.1","ts-jest":"~27.1.1","ts-loader":"^9.2.8","tsutils":"~3.21.0","typescript":"~4.5.3","webpack":"^5.70.0","webpack-bundle-analyzer":"^4.5.0","webpack-cli":"^4.9.2","webpack-obfuscator":"^3.5.1"},"volta":{"node":"16.13.0"},"release-it":{"git":{"commitMessage":"chore: release ${version}","tagName":"v${version}"},"npm":{"publish":true},"github":{"release":true}},"readme":"# Xendit Fingerprint SDK Web\n\nWeb SDK for device identification and fingerprinting with Xendit services.\n\n## Basic Usage\n\nInitialize the SDK with your public API key on application start up and\nperform a scan.\n\n> The SDK must be initialized before use.\n\n```js\n// Initialize the SDK on every page load\nXenditFingerprintSDK.init({\n  apiKey: 'MY_PUBLIC_API_KEY',\n})\n// Run a scan immediately after initialization\nXenditFingerprintSDK.scan()\n```\n\nThe session ID is retrievable from either `XenditFingerprintSDK.init()` on SDK\ninitialization or from the `XenditFingerprintSDK.getSessionID()` convenience method\nany time after initialization.\n\nBoth of these functions returns a Session ID of type `string`.\n\n```js\n// On SDK init\nvar sessionID = XenditFingerprintSDK.init('MY_PUBLIC_API_KEY')\n\n// After SDK init\nvar sessionID = XenditFingerprintSDK.getSessionID()\n```\n\nThis Session ID can then be passed on to other Xendit APIs that support device\nfingerprinting. Please refer to the respective API's documentation for further info.\n\n## Requirements\n\nSupported web browsers:\n\n- Chrome 49+\n- Firefox 52+\n- Edge 93+\n- Desktop Safari 12.1+\n- Mobile Safari 10.3+\n- Samsung Internet 14.0+\n- Android Browser 4.4+\n\n## Installation\n\nIn a browser:\n\n```html\n<script src=\"https://cdn.jsdelivr.net/npm/xendit-fingerprint-sdk-web/dist/xendit-fingerprint-sdk-web.js\">\n```\n\nUsing NPM:\n\n```sh\n$ npm install --save xendit-fingerprint-sdk-web\n```\n\n## Methods\n\nAsynchronous SDK methods have been labeled `async`, these return a `Promise` object. Refer to the\nreturns section of each method for the resolved type.\n\n### `init()`\n\nThe SDK must be initialized before it can be used.\n\n- Initialization must be ran on every web page load.\n- The SDK will associate a session ID for the webpage until it's closed.\n- A new session ID will be assigned on every page load.\n- Single page apps (SPAs) will have the same session ID if JS based routing is used.\n Because the web page is only loaded once.\n\n```javascript\nconst sessionId = XenditFingerprintSDK.init({apiKey: publicKey});\n```\n\n#### **Parameters**\n\n| Name        | Type               | Required | Description            |\n| ----------- | ------------------ | -------- | ---------------------- |\n| initOptions | InitOptions Object | Yes      | Initialization options |\n\n> Do not use your private API key!\n\n`InitOptions` Object\n\n| Name   | Type   | Required | Description                                                                         |\n| ------ | ------ | -------- | ----------------------------------------------------------------------------------- |\n| apiKey | string | Yes      | A valid public API key provided by [Xendit Dashboard](https://dashboard.xendit.co/) |\n\n#### **Returns**\n\n| Name      | Type   | Description          |\n| --------- | ------ | -------------------- |\n| sessionId | string | Generated session ID |\n\n### `async scan()`\n\nScans the web browser and sends the device fingerprint data to Xendit.\n\n- Scan should be called immediately after initializing the SDK.\n- Scan can be called multiple times within a session.\n- Do not `await` the scan, let it run in the background. This avoids blocking\n  any foreground application code execution.\n\n```javascript\nXenditFingerprintSDK.scan()\n// Or\nXenditFingerprintSDK.scan(customerEventName, customerEventID)\n```\n\n#### **Parameters**\n\n| Name              | Type   | Required | Description                                                                                                         |\n| ----------------- | ------ | -------- | ------------------------------------------------------------------------------------------------------------------- |\n| customerEventName | string | No       | Optional event name to associate with this scan. Recommended to use snake case formatting. e.g. `'some_event_name'` |\n| customerEventID   | string | No       | Optional identifier associated with the event. e.g. user account ID                                                 |\n\n### `getSessionID()`\n\nConvenience method to retrieve Session ID after SDK initialization.\n\n```javascript\nconst sessionId = XenditFingerprintSDK.getSessionID();\n```\n\n#### **Returns**\n\n| Name      | Type   | Description          |\n| --------- | ------ | -------------------- |\n| sessionID | string | Generated session ID |\n\n### `setEnabled()`\n\nEnables or disables the SDK.\n\n- When disabled, the scan method will do nothing. No data will be sent to Xendit.\n- When enabled, the SDK will resume operating as normal.\n- The SDK can be disabled before initializing.\n\n```javascript\n// Disables the SDK\nXenditFingerprintSDK.setEnabled(false);\n// Re-enables the SDK\nXenditFingerprintSDK.setEnabled(true);\n```\n\n#### **Parameters**\n\n| Name   | Type    | Required | Description                                          |\n| ------ | ------- | -------- | ---------------------------------------------------- |\n| enable | boolean | Yes      | `true` enables the SDK.<br>`false` disables the SDK. |\n","readmeFilename":"README.md","gitHead":"c80db0afc1251ec30ed2c036c875275a52fbd380","_id":"xendit-fingerprint-sdk-web@1.0.0-beta.3","_nodeVersion":"16.1.0","_npmVersion":"8.3.0","dist":{"integrity":"sha512-CmGZK31JCSE/5IholmXJhnd7O7kYTu8GD42LV78c1PZtis6/zquO0vCAO0Boyim5De+znlp7kC5IXST76x4AbA==","shasum":"9369e053a9266c56bfe0edf88a1b16ea8f81150b","tarball":"https://registry.npmjs.org/xendit-fingerprint-sdk-web/-/xendit-fingerprint-sdk-web-1.0.0-beta.3.tgz","fileCount":3,"unpackedSize":173444,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICHsI7c0X8oE854xfWbCLJmZNo0K4KnNFOkDaRBpbSLCAiEA3JvFuDNHkm9GG9oU0xVwCUywEV1+8X2y8O5tzichpQQ="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiT6weACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoSNg//V/N99Q9gVfJB6nZmUnzCOlIeF0ckGka9eQWbN/gcGzJCx7PY\r\nfxY3C6Ysz5IfYNfkyicxTsMgg5XwINk8jo77kSCCLjiozC+mXCr65QCQp88L\r\nQpQDinm0lN+0EFgN4S0gcEowI89O1p5viKxZUgaS4Sw1TGLWQUpjvyEJAMlG\r\nUDafoHMiWp9E+tEdXb901vdoNrK7+BPowXd934ZtEqb8kY1fgSrY4FS5YizS\r\n1Jibdfs+37n4QZDs6+bZ+bBP+YRN+CcbTvx70oOa0UHtOZQRaWu0CtbtHlAA\r\nKVrqQBEoDJQqxJu1Eeu7m3VPajBXXf9uQ76lm7j80qzYKbgiOGnDUiO0lu8k\r\nkYx7zoOKAsTfoM0HmOb9fHOBJi4i+yvDb35hMmBglvKLWTncZWUQ+CgrABQh\r\nj8Bo1wU40DwhYEYCFpErlreEv3m0KwSqt8B7PLFX72sKGsW80g5aF0iwuBQg\r\np3HmpTq+cnms69MgoQbqQkkGA8vFsM25kzDf77OD9mG4fx7fP1JW7raavrOf\r\n2zR6gJuleGrST8YEuiwxpHQVetEWZf0SHEQD71gNiAhoPr0iCiwtuoIfvjAS\r\ntRoB2MS6FW0efl+Teph5837w148Rhm4pBVzSI+j1/mRlI9M0STC8XefkFp/Z\r\ncRpDbrVoX6AoZ53MA545UPcy5mxj8xn3VZo=\r\n=u7Eo\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"xenshield","email":"xenshield@xendit.com"},"directories":{},"maintainers":[{"name":"boxbag","email":"bochen303@gmail.com"},{"name":"jafnee","email":"jafneejesmee@gmail.com"},{"name":"xenshield","email":"xenshield@xendit.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/xendit-fingerprint-sdk-web_1.0.0-beta.3_1649388574055_0.5465706315626901"},"_hasShrinkwrap":false},"1.0.0-beta.4":{"name":"xendit-fingerprint-sdk-web","version":"1.0.0-beta.4","description":"Web SDK for Xendit's device fingerprinting.","author":{"name":"xenShield","email":"xenshield@xendit.co","url":"https://xendit.co"},"license":"Copyright 2022 Xendit","homepage":"https://xendit.co","main":"dist/xendit-fingerprint-sdk-web.js","scripts":{"start":"npm run build:watch","serve":"http-server ./docs","clean":"rimraf coverage dist tmp","prebuild":"npm run clean && npm run lint","build":"NODE_ENV=production webpack","build:watch":"NODE_ENV=development webpack --watch","lint":"eslint ./src --ext .ts,.tsx && prettier --check ./src","format":"prettier --write ./src","test":"jest --coverage","test:watch":"jest --watch","release":"release-it"},"dependencies":{"@fingerprintjs/fingerprintjs":"^3.3.3","axios":"^0.26.1","tslib":"~2.3.1","uuid":"^8.3.2"},"devDependencies":{"@trivago/prettier-plugin-sort-imports":"^3.2.0","@types/jest":"^27.4.1","@types/node":"~17.0.23","@types/uuid":"^8.3.4","@typescript-eslint/eslint-plugin":"^5.18.0","@typescript-eslint/parser":"^5.18.0","dotenv":"^16.0.0","eslint":"^8.12.0","eslint-config-prettier":"^8.5.0","eslint-plugin-jest":"^26.1.4","filemanager-webpack-plugin":"^7.0.0-alpha.2","http-server":"^14.1.0","jest":"^27.5.1","prettier":"^2.6.2","release-it":"^14.14.0","rimraf":"^3.0.2","ts-jest":"^27.1.4","ts-loader":"^9.2.8","tsutils":"^3.21.0","typescript":"^4.6.3","webpack":"^5.72.0","webpack-bundle-analyzer":"^4.5.0","webpack-cli":"^4.9.2","webpack-obfuscator":"^3.5.1"},"volta":{"node":"16.13.0"},"release-it":{"git":{"commitMessage":"chore: release ${version}","tagName":"v${version}"},"npm":{"publish":true},"github":{"release":true}},"readme":"# Xendit Fingerprint SDK Web\n\nWeb SDK for device identification and fingerprinting with Xendit services.\n\n## Basic Usage\n\nInitialize the SDK with your public API key on application start up and\nperform a scan.\n\n> The SDK must be initialized before use.\n\n```js\n// Initialize the SDK on every page load\nXenditFingerprintSDK.init({\n  apiKey: 'MY_PUBLIC_API_KEY',\n})\n// Run a scan immediately after initialization\nXenditFingerprintSDK.scan()\n```\n\nThe session ID is retrievable from either `XenditFingerprintSDK.init()` on SDK\ninitialization or from the `XenditFingerprintSDK.getSessionID()` convenience method\nany time after initialization.\n\nBoth of these functions returns a Session ID of type `string`.\n\n```js\n// On SDK init\nvar sessionID = XenditFingerprintSDK.init('MY_PUBLIC_API_KEY')\n\n// After SDK init\nvar sessionID = XenditFingerprintSDK.getSessionID()\n```\n\nThis Session ID can then be passed on to other Xendit APIs that support device\nfingerprinting. Please refer to the respective API's documentation for further info.\n\n## Requirements\n\nSupported web browsers:\n\n- Chrome 49+\n- Firefox 52+\n- Edge 93+\n- Desktop Safari 12.1+\n- Mobile Safari 10.3+\n- Samsung Internet 14.0+\n- Android Browser 4.4+\n\n## Installation\n\nIn a browser:\n\n```html\n<script src=\"https://cdn.jsdelivr.net/npm/xendit-fingerprint-sdk-web/dist/xendit-fingerprint-sdk-web.js\">\n```\n\nUsing NPM:\n\n```sh\n$ npm install --save xendit-fingerprint-sdk-web\n```\n\n## Methods\n\nAsynchronous SDK methods have been labeled `async`, these return a `Promise` object. Refer to the\nreturns section of each method for the resolved type.\n\n### `init()`\n\nThe SDK must be initialized before it can be used.\n\n- Initialization must be ran on every web page load.\n- The SDK will associate a session ID for the webpage until it's closed.\n- A new session ID will be assigned on every page load.\n- Single page apps (SPAs) will have the same session ID if JS based routing is used.\n Because the web page is only loaded once.\n\n```javascript\nconst sessionId = XenditFingerprintSDK.init({apiKey: publicKey});\n```\n\n#### **Parameters**\n\n| Name        | Type               | Required | Description            |\n| ----------- | ------------------ | -------- | ---------------------- |\n| initOptions | InitOptions Object | Yes      | Initialization options |\n\n> Do not use your private API key!\n\n`InitOptions` Object\n\n| Name   | Type   | Required | Description                                                                         |\n| ------ | ------ | -------- | ----------------------------------------------------------------------------------- |\n| apiKey | string | Yes      | A valid public API key provided by [Xendit Dashboard](https://dashboard.xendit.co/) |\n\n#### **Returns**\n\n| Name      | Type   | Description          |\n| --------- | ------ | -------------------- |\n| sessionId | string | Generated session ID |\n\n### `async scan()`\n\nScans the web browser and sends the device fingerprint data to Xendit.\n\n- Scan should be called immediately after initializing the SDK.\n- Scan can be called multiple times within a session.\n- Do not `await` the scan, let it run in the background. This avoids blocking\n  any foreground application code execution.\n\n```javascript\nXenditFingerprintSDK.scan()\n// Or\nXenditFingerprintSDK.scan(customerEventName, customerEventID)\n```\n\n#### **Parameters**\n\n| Name              | Type   | Required | Description                                                                                                         |\n| ----------------- | ------ | -------- | ------------------------------------------------------------------------------------------------------------------- |\n| customerEventName | string | No       | Optional event name to associate with this scan. Recommended to use snake case formatting. e.g. `'some_event_name'` |\n| customerEventID   | string | No       | Optional identifier associated with the event. e.g. user account ID                                                 |\n\n### `getSessionID()`\n\nConvenience method to retrieve Session ID after SDK initialization.\n\n```javascript\nconst sessionId = XenditFingerprintSDK.getSessionID();\n```\n\n#### **Returns**\n\n| Name      | Type   | Description          |\n| --------- | ------ | -------------------- |\n| sessionID | string | Generated session ID |\n\n### `setEnabled()`\n\nEnables or disables the SDK.\n\n- When disabled, the scan method will do nothing. No data will be sent to Xendit.\n- When enabled, the SDK will resume operating as normal.\n- The SDK can be disabled before initializing.\n\n```javascript\n// Disables the SDK\nXenditFingerprintSDK.setEnabled(false);\n// Re-enables the SDK\nXenditFingerprintSDK.setEnabled(true);\n```\n\n#### **Parameters**\n\n| Name   | Type    | Required | Description                                          |\n| ------ | ------- | -------- | ---------------------------------------------------- |\n| enable | boolean | Yes      | `true` enables the SDK.<br>`false` disables the SDK. |\n","readmeFilename":"README.md","gitHead":"2384d7d7465a6628c2836b2a7e40af203f3cbab3","_id":"xendit-fingerprint-sdk-web@1.0.0-beta.4","_nodeVersion":"16.1.0","_npmVersion":"8.3.0","dist":{"integrity":"sha512-qFTdTMDSyuKlq7gSD/MiNgmmnjI/Ny6W4WxNYv1l8Duh85yVajYMmylXUQWrVEna0sJYEyoT58Fsl7do1XNyWg==","shasum":"475c5006fc335db1dc097b2322979b76d2946127","tarball":"https://registry.npmjs.org/xendit-fingerprint-sdk-web/-/xendit-fingerprint-sdk-web-1.0.0-beta.4.tgz","fileCount":3,"unpackedSize":173629,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGlCtK1TXpe5e9czcAcudmDS1TrWxTDJs+d7xue0oLKTAiBpcI1UUDSdr8YA2Q135RFmi/17sX3SZYVQAQXhT1m3nQ=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiX4KPACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrNcQ/6AuTvkDTpzekXkspkyGhhfB0ocl90toCYRXkLzDB5QOp/ND4S\r\n2xqUmoMC9g+ekoJt/n9lVdPc63C1WU+23hp+FvS+luzrYPQKrrMh8Uf9ZRr0\r\n14Hi18DqmmNhEXQPtvnNKOhnrQZnye3hy9GgD2n/sAaLX0mtEygjm1ZtBtZK\r\n3Xw6vORhVx3dgaac6zS/+F7D87QUW+jLIsw+7Vl50lXfeNgbfDgU6m1w94QU\r\nz6VTZsdVoY1c0BwzXeoiI3Z2zpMjneciKx6rK/6HETsW9oGIhH0ny2h6CGOL\r\nEbXLl/MezvPzbyi2jEirlFW+m4IrYtA72TK0Zn8F+0H11LXYH9RT60rNTrWm\r\nE0GjFFKI6ySZAN7LG/kyUfzQlsLzsnNtFD4O1iK1kfCRSp7N3H5xZyg6yose\r\nvokFccw+qbkHHmGPsb1siVvwyJQkO3CfzZKhtcrAzgGwKTKKZ1L8sHv4IRIO\r\n/nVMSxgIBgxqIutYJ2fTrL/yncx8q5+hWrrXz1Gu2xoCUAhI2tSUJZgbyyhI\r\nqMPpgxfZWHVQ7f6KgMRn4GtVgPEp2fp1NOfErwMgOFMsa6z+TE7WjI4XjsU5\r\n/MhLXOqkb4soCYIw4FvIyaJdBUOaTee5krPPbmgIWTVpBC0LjQcsQSmA8ei7\r\nv5X++7/T5GwGKN821NafN1C8ni97mv1PHxU=\r\n=wtJZ\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"xenshield","email":"xenshield@xendit.com"},"directories":{},"maintainers":[{"name":"boxbag","email":"bochen303@gmail.com"},{"name":"jafnee","email":"jafneejesmee@gmail.com"},{"name":"xenshield","email":"xenshield@xendit.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/xendit-fingerprint-sdk-web_1.0.0-beta.4_1650426510645_0.21190967869892452"},"_hasShrinkwrap":false},"1.0.0":{"name":"xendit-fingerprint-sdk-web","version":"1.0.0","description":"Web SDK for Xendit's device fingerprinting.","author":{"name":"xenShield","email":"xenshield@xendit.co","url":"https://xendit.co"},"license":"Copyright 2022 Xendit","homepage":"https://xendit.co","main":"dist/xendit-fingerprint-sdk-web.js","scripts":{"start":"npm run build:watch","serve":"http-server ./docs","clean":"rimraf coverage dist tmp","prebuild":"npm run clean && npm run lint","build":"NODE_ENV=production webpack","build:watch":"NODE_ENV=development webpack --watch","lint":"eslint ./src --ext .ts,.tsx && prettier --check ./src","format":"prettier --write ./src","test":"jest --coverage","test:watch":"jest --watch","release":"release-it"},"dependencies":{"@fingerprintjs/fingerprintjs":"^3.3.3","axios":"^0.26.1","tslib":"~2.3.1","uuid":"^8.3.2"},"devDependencies":{"@trivago/prettier-plugin-sort-imports":"^3.2.0","@types/jest":"^27.4.1","@types/node":"~17.0.23","@types/uuid":"^8.3.4","@typescript-eslint/eslint-plugin":"^5.18.0","@typescript-eslint/parser":"^5.18.0","dotenv":"^16.0.0","eslint":"^8.12.0","eslint-config-prettier":"^8.5.0","eslint-plugin-jest":"^26.1.4","filemanager-webpack-plugin":"^7.0.0-alpha.2","http-server":"^14.1.0","jest":"^27.5.1","prettier":"^2.6.2","release-it":"^14.14.0","rimraf":"^3.0.2","ts-jest":"^27.1.4","ts-loader":"^9.2.8","tsutils":"^3.21.0","typescript":"^4.6.3","webpack":"^5.72.0","webpack-bundle-analyzer":"^4.5.0","webpack-cli":"^4.9.2","webpack-obfuscator":"^3.5.1"},"volta":{"node":"16.13.0"},"release-it":{"git":{"commitMessage":"chore: release ${version}","tagName":"v${version}"},"npm":{"publish":true},"github":{"release":true}},"gitHead":"7179d39a1bab7c7b75b0f59c44cef9aad8242f8e","_id":"xendit-fingerprint-sdk-web@1.0.0","_nodeVersion":"17.9.0","_npmVersion":"8.5.5","dist":{"integrity":"sha512-i5UKfsUYCEkchbeQ6fk2u0b+EtZzluE17jVdZdksMzmBPnoa+E/rrW/x9eFPPUwEwu1d5QsLSypvUCMwBWMl2A==","shasum":"1fc5b811d74c47d55e86bb94e58a102a863f71fa","tarball":"https://registry.npmjs.org/xendit-fingerprint-sdk-web/-/xendit-fingerprint-sdk-web-1.0.0.tgz","fileCount":3,"unpackedSize":82916,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICb5ZuFE9v0HC4Ph5nJmZWDkUq6KdKbjYe/5qZtDcx1hAiEAwUzM2J6qqe5l/1IogoN6Hba08oUVen10KVX9Mar9ULU="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiYhspACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmq/MhAAncd2m2FmJROVeJidrh19EI5t7JjFCSjQbjhzhrk3XV4aI6bN\r\nauw72idZL/o1UxcvtyOqDoprsyxj9Fg/77xkSoyTjjV6qCNfVLDuDxatFH0A\r\nAdJBWVwjc31LcyYpo6V/dJxGih6EB65pfx6D+82ShI0w4AAcmdnEbtpxzXz2\r\nz96U5Z9fIk6uOMPHKqwC2543adnA3AD1ADowthtKuyHCmTpOM6QU33o1+s9x\r\nRLMxp3f9w2R4Nq2N56jVlbUG47OvzQTeJESxiByvCj1NJw/K1amBhVIYjz/O\r\nzp3ZeeDYcK5jDwfI91nN+tuNpa7BUnVnIvP5yMj/bNPi7jHpNYBmzAg1+J57\r\n2JjBmQrYDWCEb0IndwnuCUQifKMp9YV/lD337/2w24Kb1w2HmXoEBIJ3PZOY\r\noOmigbNh26fqDzkcMvQMUzy4o/0U+7968KTKbzm5btIgYBAHuHHLtrEtRPYr\r\ni+gv54dbxgJ2SlprPPSlqOLTAU7lZvAxeLxegu6eLLxedLae9xuisAsSRgwJ\r\nxLGNNy7PkwjfDh7l8w9GJB7niAy/sVu1Uy9Q1MZDdZjr0l31r2FIEuD1b/rd\r\nrsTmzk8m3RgI7Ankv5Y2lllYOOJN9Ep8THvxVEhh0nfjgSAxMesU7y1iQeoF\r\nNyOqovpZ1X0OUHTqy2eFjXttDU1YYdK0c3o=\r\n=Jkfe\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"xenshield","email":"xenshield@xendit.com"},"directories":{},"maintainers":[{"name":"boxbag","email":"bochen303@gmail.com"},{"name":"jafnee","email":"jafneejesmee@gmail.com"},{"name":"xenshield","email":"xenshield@xendit.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/xendit-fingerprint-sdk-web_1.0.0_1650596649412_0.9204924629661198"},"_hasShrinkwrap":false},"1.1.0":{"name":"xendit-fingerprint-sdk-web","version":"1.1.0","description":"Web SDK for Xendit's device fingerprinting.","author":{"name":"xenShield","email":"xenshield@xendit.co","url":"https://xendit.co"},"license":"Copyright 2022 Xendit","homepage":"https://xendit.co","main":"dist/xendit-fingerprint-sdk-web.js","scripts":{"start":"npm run build:watch","serve":"http-server ./docs","clean":"rimraf coverage dist tmp","prebuild":"npm run clean && npm run lint","build":"NODE_ENV=production webpack","build:watch":"NODE_ENV=development webpack --watch","lint":"eslint ./src --ext .ts,.tsx && prettier --check ./src","format":"prettier --write ./src","test":"jest --coverage","test:watch":"jest --watch","release":"release-it"},"dependencies":{"@fingerprintjs/fingerprintjs":"^3.3.3","axios":"^0.26.1","tslib":"~2.3.1","uuid":"^8.3.2"},"devDependencies":{"@trivago/prettier-plugin-sort-imports":"^3.2.0","@types/jest":"^27.4.1","@types/node":"~17.0.23","@types/uuid":"^8.3.4","@typescript-eslint/eslint-plugin":"^5.18.0","@typescript-eslint/parser":"^5.18.0","dotenv":"^16.0.0","eslint":"^8.12.0","eslint-config-prettier":"^8.5.0","eslint-plugin-jest":"^26.1.4","filemanager-webpack-plugin":"^7.0.0-alpha.2","http-server":"^14.1.0","jest":"^27.5.1","prettier":"^2.6.2","release-it":"^14.14.0","rimraf":"^3.0.2","ts-jest":"^27.1.4","ts-loader":"^9.2.8","tsutils":"^3.21.0","typescript":"^4.6.3","webpack":"^5.72.0","webpack-bundle-analyzer":"^4.5.0","webpack-cli":"^4.9.2","webpack-obfuscator":"^3.5.1"},"volta":{"node":"16.13.0"},"release-it":{"git":{"commitMessage":"chore: release ${version}","tagName":"v${version}"},"npm":{"publish":true},"github":{"release":true}},"gitHead":"1c2359a3e57b3b4faa443ae50953c96003afd796","_id":"xendit-fingerprint-sdk-web@1.1.0","_nodeVersion":"16.1.0","_npmVersion":"8.3.0","dist":{"integrity":"sha512-bCrLilAP9e2ORCI8rQogNeVnHQtw4KnYrtfBDVsFKCtbnPZ1WakSeA56o8Ma2gK5tidHWLoKC7jvobUkeUB8GA==","shasum":"ec87dac76d22f5e29f4aaa6d0c6e80ccf0d4392d","tarball":"https://registry.npmjs.org/xendit-fingerprint-sdk-web/-/xendit-fingerprint-sdk-web-1.1.0.tgz","fileCount":3,"unpackedSize":175184,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHLHk/pV+RQTGlHSi9rdbaanSdgnuo5QwZyHGS28RB7YAiEApGKNJjBQIgaYsrAxD+gS+R0zLsqP17dHQllxmWaH63c="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJieL7GACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmq/gBAAneO0GmVqSjvXE4n6GH7IE/bDS/C2sBExFU15TYBg2oUX2i/c\r\nifT6y9JNH2KrdOIpEpvglHPA903JDlfJJk9BVB3+ZCrowQ26yW/mAxpB0O4c\r\nN43Brn4eQwTtdOy2dnCqyj8WTDEUjtx+qFHAyV24KaOKspm1lCDRZxA2ybHF\r\nmAWMCEQUA8rccgunGxeBIGjp7qmyvdT6HP9XlMcggTfxuRRkuaEXdcjSCdIm\r\nhFhjbJUAgbqQq1iW88qq6zqZ/Hai5g2fStQi2fc4M2SxH/ekpRvWOn7r8FT+\r\n+AALlmm5gDVw6TVrr0HarnGhgYMGAv/6PWQ1f1q03WcVJTdylnsPQGbpZSyl\r\nbnBeucrvG+oZZm7Rttkextl6o9Nn/8ZvIq6LS8WFABCVBP3sE7kNmFjtCOPU\r\nPb1canhgqSKbMq+qzty4u7bxEweR65cCVvwXKF/bvs0gqovgDvrAyEXsOlEJ\r\nizFg6M6gAtqr1uc2GLADzji0pUEkj5kbrXvFx4Ptj8OQ0/e3h6qrVI0bEqa1\r\nQSaA2QTTiL5oUdj6YRQafmeV9ZWNlSm3JRaNCIkONX7cB1QG/w8sOoQANeXe\r\nN+4Rl48WpneDfC6/jQ+2BQtuamIfn0LXrLo2PIekLSyVNmX69TZ3e4SBCuDI\r\nIhW3lEglrdgSUckmIQjanFANVfZxRIDrSvw=\r\n=TC0V\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"xenshield","email":"xenshield@xendit.com"},"directories":{},"maintainers":[{"name":"boxbag","email":"bochen303@gmail.com"},{"name":"jafnee","email":"jafneejesmee@gmail.com"},{"name":"xenshield","email":"xenshield@xendit.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/xendit-fingerprint-sdk-web_1.1.0_1652080326029_0.11131090743097238"},"_hasShrinkwrap":false},"1.1.1-beta.0":{"name":"xendit-fingerprint-sdk-web","version":"1.1.1-beta.0","description":"Web SDK for Xendit's device fingerprinting.","author":{"name":"xenShield","email":"xenshield@xendit.co","url":"https://xendit.co"},"license":"Copyright 2022 Xendit","homepage":"https://xendit.co","main":"dist/xendit-fingerprint-sdk-web.js","scripts":{"start":"npm run build:watch","serve":"http-server ./docs","clean":"rimraf coverage dist tmp","prebuild":"npm run clean && npm run lint","build":"NODE_ENV=production webpack","build:watch":"NODE_ENV=development webpack --watch","lint":"eslint ./src --ext .ts,.tsx && prettier --check ./src","format":"prettier --write ./src","test":"jest --coverage","test:watch":"jest --watch","release":"release-it","release:beta":"release-it --preRelease=beta"},"dependencies":{"@fingerprintjs/fingerprintjs":"^3.3.3","axios":"^0.26.1","tslib":"~2.3.1","uuid":"^8.3.2"},"devDependencies":{"@trivago/prettier-plugin-sort-imports":"^3.2.0","@types/jest":"^27.4.1","@types/node":"~17.0.23","@types/uuid":"^8.3.4","@typescript-eslint/eslint-plugin":"^5.18.0","@typescript-eslint/parser":"^5.18.0","dotenv":"^16.0.0","eslint":"^8.12.0","eslint-config-prettier":"^8.5.0","eslint-plugin-jest":"^26.1.4","filemanager-webpack-plugin":"^7.0.0-alpha.2","http-server":"^14.1.0","jest":"^27.5.1","prettier":"^2.6.2","release-it":"^14.14.0","rimraf":"^3.0.2","ts-jest":"^27.1.4","ts-loader":"^9.2.8","tsutils":"^3.21.0","typescript":"^4.6.3","webpack":"^5.72.0","webpack-bundle-analyzer":"^4.5.0","webpack-cli":"^4.9.2","webpack-obfuscator":"^3.5.1"},"volta":{"node":"16.13.0"},"release-it":{"git":{"commitMessage":"chore: release ${version}","tagName":"v${version}"},"npm":{"publish":true},"github":{"release":true},"hooks":{"before:init":["npm run lint","npm run test"],"after:bump":"npm run build"}},"readme":"# Xendit Fingerprint SDK Web\n\nWeb SDK for device identification and fingerprinting with Xendit services.\n\n## Basic Usage\n\nInitialize the SDK with your public API key on application start up and\nperform a scan.\n\n> The SDK must be initialized before use.\n\n```js\n// Initialize the SDK on every page load\nXenditFingerprintSDK.init({\n  apiKey: 'MY_PUBLIC_API_KEY',\n})\n// Run a scan immediately after initialization\nXenditFingerprintSDK.scan()\n```\n\nThe session ID is retrievable from either `XenditFingerprintSDK.init()` on SDK\ninitialization or from the `XenditFingerprintSDK.getSessionID()` convenience method\nany time after initialization.\n\nBoth of these functions returns a Session ID of type `string`.\n\n```js\n// On SDK init\nvar sessionID = XenditFingerprintSDK.init('MY_PUBLIC_API_KEY')\n\n// After SDK init\nvar sessionID = XenditFingerprintSDK.getSessionID()\n```\n\nThis Session ID can then be passed on to other Xendit APIs that support device\nfingerprinting. Please refer to the respective API's documentation for further info.\n\n## Requirements\n\nSupported web browsers:\n\n- Chrome 49+\n- Firefox 52+\n- Edge 93+\n- Desktop Safari 12.1+\n- Mobile Safari 10.3+\n- Samsung Internet 14.0+\n- Android Browser 4.4+\n\n## Installation\n\nIn a browser:\n\n```html\n<script src=\"https://cdn.jsdelivr.net/npm/xendit-fingerprint-sdk-web/dist/xendit-fingerprint-sdk-web.js\">\n```\n\nUsing NPM:\n\n```sh\n$ npm install --save xendit-fingerprint-sdk-web\n```\n\n## Methods\n\nAsynchronous SDK methods have been labeled `async`, these return a `Promise` object. Refer to the\nreturns section of each method for the resolved type.\n\n### `init()`\n\nThe SDK must be initialized before it can be used.\n\n- Initialization must be ran on every web page load.\n- The SDK will associate a session ID for the webpage until it's closed.\n- A new session ID will be assigned on every page load.\n- Single page apps (SPAs) will have the same session ID if JS based routing is used.\n Because the web page is only loaded once.\n\n```javascript\nconst sessionId = XenditFingerprintSDK.init({apiKey: publicKey});\n```\n\n#### **Parameters**\n\n| Name        | Type               | Required | Description            |\n| ----------- | ------------------ | -------- | ---------------------- |\n| initOptions | InitOptions Object | Yes      | Initialization options |\n\n> Do not use your private API key!\n\n`InitOptions` Object\n\n| Name   | Type   | Required | Description                                                                         |\n| ------ | ------ | -------- | ----------------------------------------------------------------------------------- |\n| apiKey | string | Yes      | A valid public API key provided by [Xendit Dashboard](https://dashboard.xendit.co/) |\n\n#### **Returns**\n\n| Name      | Type   | Description          |\n| --------- | ------ | -------------------- |\n| sessionId | string | Generated session ID |\n\n### `async scan()`\n\nScans the web browser and sends the device fingerprint data to Xendit.\n\n- Scan should be called immediately after initializing the SDK.\n- Scan can be called multiple times within a session.\n- Do not `await` the scan, let it run in the background. This avoids blocking\n  any foreground application code execution.\n\n```javascript\nXenditFingerprintSDK.scan()\n// Or\nXenditFingerprintSDK.scan(customerEventName, customerEventID)\n```\n\n#### **Parameters**\n\n| Name              | Type   | Required | Description                                                                                                         |\n| ----------------- | ------ | -------- | ------------------------------------------------------------------------------------------------------------------- |\n| customerEventName | string | No       | Optional event name to associate with this scan. Recommended to use snake case formatting. e.g. `'some_event_name'` |\n| customerEventID   | string | No       | Optional identifier associated with the event. e.g. user account ID                                                 |\n\n### `getSessionID()`\n\nConvenience method to retrieve Session ID after SDK initialization.\n\n```javascript\nconst sessionId = XenditFingerprintSDK.getSessionID();\n```\n\n#### **Returns**\n\n| Name      | Type   | Description          |\n| --------- | ------ | -------------------- |\n| sessionID | string | Generated session ID |\n\n### `setEnabled()`\n\nEnables or disables the SDK.\n\n- When disabled, the scan method will do nothing. No data will be sent to Xendit.\n- When enabled, the SDK will resume operating as normal.\n- The SDK can be disabled before initializing.\n\n```javascript\n// Disables the SDK\nXenditFingerprintSDK.setEnabled(false);\n// Re-enables the SDK\nXenditFingerprintSDK.setEnabled(true);\n```\n\n#### **Parameters**\n\n| Name   | Type    | Required | Description                                          |\n| ------ | ------- | -------- | ---------------------------------------------------- |\n| enable | boolean | Yes      | `true` enables the SDK.<br>`false` disables the SDK. |\n","readmeFilename":"README.md","gitHead":"1f605ad856be8a1b8edd2e40e5a11c6549b112c1","_id":"xendit-fingerprint-sdk-web@1.1.1-beta.0","_nodeVersion":"16.1.0","_npmVersion":"8.3.0","dist":{"integrity":"sha512-DbEUQSjmrQYWE9W7uMBRCWB9ujHYAZFky38zr5hGRXXOBsdlfi1XhTzr0Hm2y5NOZdEBm1XGFLOucIC6tbwXAw==","shasum":"783760db13a66704364ff1bcf404c35d70db78d8","tarball":"https://registry.npmjs.org/xendit-fingerprint-sdk-web/-/xendit-fingerprint-sdk-web-1.1.1-beta.0.tgz","fileCount":3,"unpackedSize":175099,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGENJKIo6DUqKWkiYZlSx1r1cWHBRpe8lmCp4/kuty6eAiAo7nPdvliMPYle0sfJ98gRXxKv7b4K4AKgaXBhWCVdVQ=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJigxnfACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqCwxAAi7iGcexNHFalga99CEvgSNd/yuXT6UDBQAX0LiPQNzB2uNge\r\njm2iH+XplW+qHeBkNExnfOMl8+s8Eti/s+M16CmarNE3lLQ0TTvvBb5Ztssk\r\n3AUqa7UbawTWKNprUs3fs3qmtdD3OcKcS+V+G+cmAIJ3VM5UizzeBFZSppCx\r\n839OjzQhmsmIs6i93sH8lCf9NhvbohUubq7y7toW1Cif0jSpTZ91DEQoweu1\r\nzQM8j1BnIG+qsM1vfAgO6GUOe8Ic8UE3wckEm0JTLrym0ji/yi5BXLAxwTND\r\nv+fLA/wnX4URaR3YsL/tSIBlga8FdQI2YOTliwyxHBjaCQfZwg3OUFZ1zlQK\r\ns4HnNw7lGJ0GD0qy4rUP85qWSVMZGkFwq5NIXx5HglHF2DM97jB5e7ATJeX8\r\nYXsTjgoxugmXWhjacOY08mAicdrRkt9H9IdcH06BqZF+KrZtazBU5MAa0RH+\r\nqpraF0ViPeseg3lXO8qyJ9UVs5JPlSxu+AKrYboiQEIB/MhinIwzFS/VtwQ5\r\nq1WdSfv2BFmDGdeSiuVuhBqBdBva0SITKpNYtQxJeebzRnOkH+xkcq2EoHCc\r\nqVb80aYThH4ePZWlngizd931Gva15NkL5SzrKM3/1P3B+tXGX19WmyI4lyCY\r\nRH2aaOuZB9KgFYpaYKI3gar51/gRA0in5Nw=\r\n=T5ce\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"xenshield","email":"xenshield@xendit.com"},"directories":{},"maintainers":[{"name":"boxbag","email":"bochen303@gmail.com"},{"name":"jafnee","email":"jafneejesmee@gmail.com"},{"name":"xenshield","email":"xenshield@xendit.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/xendit-fingerprint-sdk-web_1.1.1-beta.0_1652759007017_0.4901034552876131"},"_hasShrinkwrap":false},"1.1.1":{"name":"xendit-fingerprint-sdk-web","version":"1.1.1","description":"Web SDK for Xendit's device fingerprinting.","author":{"name":"xenShield","email":"xenshield@xendit.co","url":"https://xendit.co"},"license":"Copyright 2022 Xendit","homepage":"https://xendit.co","main":"dist/xendit-fingerprint-sdk-web.js","scripts":{"start":"npm run build:watch","serve":"http-server ./docs","clean":"rimraf coverage dist tmp","prebuild":"npm run clean && npm run lint","build":"NODE_ENV=production webpack","build:watch":"NODE_ENV=development webpack --watch","lint":"eslint ./src --ext .ts,.tsx && prettier --check ./src","format":"prettier --write ./src","test":"jest --coverage","test:watch":"jest --watch","release":"release-it","release:beta":"release-it --preRelease=beta"},"dependencies":{"@fingerprintjs/fingerprintjs":"^3.3.3","axios":"^0.26.1","tslib":"~2.3.1","uuid":"^8.3.2"},"devDependencies":{"@trivago/prettier-plugin-sort-imports":"^3.2.0","@types/jest":"^27.4.1","@types/node":"~17.0.23","@types/uuid":"^8.3.4","@typescript-eslint/eslint-plugin":"^5.18.0","@typescript-eslint/parser":"^5.18.0","dotenv":"^16.0.0","eslint":"^8.12.0","eslint-config-prettier":"^8.5.0","eslint-plugin-jest":"^26.1.4","filemanager-webpack-plugin":"^7.0.0-alpha.2","http-server":"^14.1.0","jest":"^27.5.1","prettier":"^2.6.2","release-it":"^14.14.0","rimraf":"^3.0.2","ts-jest":"^27.1.4","ts-loader":"^9.2.8","tsutils":"^3.21.0","typescript":"^4.6.3","webpack":"^5.72.0","webpack-bundle-analyzer":"^4.5.0","webpack-cli":"^4.9.2","webpack-obfuscator":"^3.5.1"},"volta":{"node":"16.13.0"},"release-it":{"git":{"commitMessage":"chore: release ${version}","tagName":"v${version}"},"npm":{"publish":true},"github":{"release":true},"hooks":{"before:init":["npm run lint","npm run test"],"after:bump":"npm run build"}},"gitHead":"9b0c633db2aa11610bfc30a1120bbf058b728b89","_id":"xendit-fingerprint-sdk-web@1.1.1","_nodeVersion":"16.1.0","_npmVersion":"8.3.0","dist":{"integrity":"sha512-M/ZAhSnffR/d8WGbyhROVIebvkB0udaEeACid3Q4FLhSq+zcUIq7iODVkqwMOYMtDZxlX7/BaeuICQuLere10Q==","shasum":"2d4b9f79607ecbd513378d9b68fae382409897c6","tarball":"https://registry.npmjs.org/xendit-fingerprint-sdk-web/-/xendit-fingerprint-sdk-web-1.1.1.tgz","fileCount":3,"unpackedSize":175463,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIESGekfWHIhoRqR8To7o+FvgBWb2f6HWUwRVcN6xIc6SAiEA0lOK6Jf2tz77pAKy0T+lZYBz8OP7Dy+LgeTBBSheWHc="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJigy2MACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmphIg/9FNuLrAhg80tvDYl64TROjtvrPzdKuTMlUTZFUAblxtq54nsM\r\nDc0Q4di/lgcrDEnIkBOoFUkTtKkVTHi0MZcQcIY+gT2XhZtb2kMIOFVpBRsv\r\nwwqBUcn7fa0cDuzEgAfZS47X5iUI3SbnK6lVBwJYiCUArYIDD/S6S0R5e52G\r\nIUr4kYcnnIBB1C+Gc1JTTK4lfIDMIfHfwM9XbHpZgb3CPI2qQqNs3KVBc4ls\r\ngmvsiM4/nrWb4oy5iEiZseqZCk4+64TRzVefYF9pPQj50kIlhew7ojKmjx2r\r\nXP/jWdmeoHyVdGG46lG+9imWTp4FoOxmtXbi6+uSGJTNy16u0AKSNw888I8a\r\nUKswWfzKcGsqFDuW/W/oLpgHY77TYvbTMBbGaw6JKBrfQL8nBc3yTCnf9d8V\r\n3Q7hf39fOIbJiXoC54rrMHFLsWkbnR6fYcP50vvSzjZoLLjgYRGNM30TE/g0\r\nHNiYvD8x3xUe7JOoC6XByjKijTWT0bZ7p76w4sBetJob5NPh40gsPmEoivOS\r\nQvJVkVkmHHe4rOAY26KSuaYYLx4HIrDAM00JIxF5KHkn12y8jufpR75XvfZk\r\nGh1jd5VGLjDoqSH+TGEv+G9tuOjv3+3w29ws9hyKEtiUx0kqCl+e77yT6WO5\r\nVXOAy3RF3XxVbSLEfPi8HUmX8HAB7ASm+HM=\r\n=fqrG\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"xenshield","email":"xenshield@xendit.com"},"directories":{},"maintainers":[{"name":"boxbag","email":"bochen303@gmail.com"},{"name":"jafnee","email":"jafneejesmee@gmail.com"},{"name":"xenshield","email":"xenshield@xendit.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/xendit-fingerprint-sdk-web_1.1.1_1652764043988_0.33828532619083385"},"_hasShrinkwrap":false}},"time":{"created":"2022-03-31T03:43:08.903Z","1.0.0-beta.0":"2022-03-31T03:43:09.077Z","modified":"2022-05-17T05:07:24.293Z","1.0.0-beta.1":"2022-03-31T23:24:45.320Z","1.0.0-beta.2":"2022-04-07T03:42:59.583Z","1.0.0-beta.3":"2022-04-08T03:29:34.243Z","1.0.0-beta.4":"2022-04-20T03:48:31.012Z","1.0.0":"2022-04-22T03:04:09.602Z","1.1.0":"2022-05-09T07:12:06.233Z","1.1.1-beta.0":"2022-05-17T03:43:27.217Z","1.1.1":"2022-05-17T05:07:24.228Z"},"maintainers":[{"name":"boxbag","email":"bochen303@gmail.com"},{"name":"jafnee","email":"jafneejesmee@gmail.com"},{"name":"xenshield","email":"xenshield@xendit.com"}],"description":"Web SDK for Xendit's device fingerprinting.","homepage":"https://xendit.co","author":{"name":"xenShield","email":"xenshield@xendit.co","url":"https://xendit.co"},"license":"Copyright 2022 Xendit","readme":"# Xendit Fingerprint SDK Web\n\nWeb SDK for device identification and fingerprinting with Xendit services.\n\n## Basic Usage\n\nInitialize the SDK with your public API key on application start up and\nperform a scan.\n\n> The SDK must be initialized before use.\n\n```js\n// Initialize the SDK on every page load\nXenditFingerprintSDK.init({\n  apiKey: 'MY_PUBLIC_API_KEY',\n})\n// Run a scan immediately after initialization\nXenditFingerprintSDK.scan()\n```\n\nThe session ID is retrievable from either `XenditFingerprintSDK.init()` on SDK\ninitialization or from the `XenditFingerprintSDK.getSessionID()` convenience method\nany time after initialization.\n\nBoth of these functions returns a Session ID of type `string`.\n\n```js\n// On SDK init\nvar sessionID = XenditFingerprintSDK.init('MY_PUBLIC_API_KEY')\n\n// After SDK init\nvar sessionID = XenditFingerprintSDK.getSessionID()\n```\n\nThis Session ID can then be passed on to other Xendit APIs that support device\nfingerprinting. Please refer to the respective API's documentation for further info.\n\n## Requirements\n\nSupported web browsers:\n\n- Chrome 49+\n- Firefox 52+\n- Edge 93+\n- Desktop Safari 12.1+\n- Mobile Safari 10.3+\n- Samsung Internet 14.0+\n- Android Browser 4.4+\n\n## Installation\n\nIn a browser:\n\n```html\n<script src=\"https://cdn.jsdelivr.net/npm/xendit-fingerprint-sdk-web/dist/xendit-fingerprint-sdk-web.js\">\n```\n\nUsing NPM:\n\n```sh\n$ npm install --save xendit-fingerprint-sdk-web\n```\n\n## Methods\n\nAsynchronous SDK methods have been labeled `async`, these return a `Promise` object. Refer to the\nreturns section of each method for the resolved type.\n\n### `init()`\n\nThe SDK must be initialized before it can be used.\n\n- Initialization must be ran on every web page load.\n- The SDK will associate a session ID for the webpage until it's closed.\n- A new session ID will be assigned on every page load.\n- Single page apps (SPAs) will have the same session ID if JS based routing is used.\n Because the web page is only loaded once.\n\n```javascript\nconst sessionId = XenditFingerprintSDK.init({apiKey: publicKey});\n```\n\n#### **Parameters**\n\n| Name        | Type               | Required | Description            |\n| ----------- | ------------------ | -------- | ---------------------- |\n| initOptions | InitOptions Object | Yes      | Initialization options |\n\n> Do not use your private API key!\n\n`InitOptions` Object\n\n| Name   | Type   | Required | Description                                                                         |\n| ------ | ------ | -------- | ----------------------------------------------------------------------------------- |\n| apiKey | string | Yes      | A valid public API key provided by [Xendit Dashboard](https://dashboard.xendit.co/) |\n\n#### **Returns**\n\n| Name      | Type   | Description          |\n| --------- | ------ | -------------------- |\n| sessionId | string | Generated session ID |\n\n### `async scan()`\n\nScans the web browser and sends the device fingerprint data to Xendit.\n\n- Scan should be called immediately after initializing the SDK.\n- Scan can be called multiple times within a session.\n- Do not `await` the scan, let it run in the background. This avoids blocking\n  any foreground application code execution.\n\n```javascript\nXenditFingerprintSDK.scan()\n// Or\nXenditFingerprintSDK.scan(customerEventName, customerEventID)\n```\n\n#### **Parameters**\n\n| Name              | Type   | Required | Description                                                                                                         |\n| ----------------- | ------ | -------- | ------------------------------------------------------------------------------------------------------------------- |\n| customerEventName | string | No       | Optional event name to associate with this scan. Recommended to use snake case formatting. e.g. `'some_event_name'` |\n| customerEventID   | string | No       | Optional identifier associated with the event. e.g. user account ID                                                 |\n\n### `getSessionID()`\n\nConvenience method to retrieve Session ID after SDK initialization.\n\n```javascript\nconst sessionId = XenditFingerprintSDK.getSessionID();\n```\n\n#### **Returns**\n\n| Name      | Type   | Description          |\n| --------- | ------ | -------------------- |\n| sessionID | string | Generated session ID |\n\n### `setEnabled()`\n\nEnables or disables the SDK.\n\n- When disabled, the scan method will do nothing. No data will be sent to Xendit.\n- When enabled, the SDK will resume operating as normal.\n- The SDK can be disabled before initializing.\n\n```javascript\n// Disables the SDK\nXenditFingerprintSDK.setEnabled(false);\n// Re-enables the SDK\nXenditFingerprintSDK.setEnabled(true);\n```\n\n#### **Parameters**\n\n| Name   | Type    | Required | Description                                          |\n| ------ | ------- | -------- | ---------------------------------------------------- |\n| enable | boolean | Yes      | `true` enables the SDK.<br>`false` disables the SDK. |\n","readmeFilename":"README.md"}