@ringcentral-integration/utils 0.15.0 → 0.16.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/index.js +5 -0
- package/index.js.map +1 -1
- package/package.json +7 -10
- package/src/decorators/index.js +5 -0
- package/src/decorators/index.js.map +1 -1
- package/src/decorators/time.js +35 -33
- package/src/decorators/time.js.map +1 -1
- package/src/index.js +5 -0
- package/src/index.js.map +1 -1
- package/src/typeFunctions/OmitFunctions.js +1 -0
- package/src/typeFunctions/PickFunctionKeys.js +1 -0
- package/src/typeFunctions/PickFunctions.js +1 -0
- package/src/utils/MultiPartUTF8FormData.js +122 -140
- package/src/utils/MultiPartUTF8FormData.js.map +1 -1
- package/src/utils/base64Handler.js +38 -37
- package/src/utils/base64Handler.js.map +1 -1
- package/src/utils/cleanNumber.js +6 -5
- package/src/utils/cleanNumber.js.map +1 -1
- package/src/utils/createRepeatTrackingManager.js +241 -0
- package/src/utils/createRepeatTrackingManager.js.map +1 -0
- package/src/utils/createWithMemorizeByKey.js +156 -0
- package/src/utils/createWithMemorizeByKey.js.map +1 -0
- package/src/utils/detectDevice.js +4 -3
- package/src/utils/detectDevice.js.map +1 -1
- package/src/utils/downloadFile.js +47 -16
- package/src/utils/downloadFile.js.map +1 -1
- package/src/utils/empty.js +5 -7
- package/src/utils/empty.js.map +1 -1
- package/src/utils/fileHandler/constant.js +16 -5
- package/src/utils/fileHandler/constant.js.map +1 -1
- package/src/utils/fileHandler/fileHandler.js +16 -13
- package/src/utils/fileHandler/fileHandler.js.map +1 -1
- package/src/utils/fileHandler/index.js +5 -0
- package/src/utils/fileHandler/index.js.map +1 -1
- package/src/utils/fileUrlToBase64.js +50 -53
- package/src/utils/fileUrlToBase64.js.map +1 -1
- package/src/utils/format.js +1 -0
- package/src/utils/format.js.map +1 -1
- package/src/utils/getBlobURL.js +30 -25
- package/src/utils/getBlobURL.js.map +1 -1
- package/src/utils/getHostPath.js +31 -0
- package/src/utils/getHostPath.js.map +1 -0
- package/src/utils/getImagePositionColor.js +61 -36
- package/src/utils/getImagePositionColor.js.map +1 -1
- package/src/utils/getOsInfo.js +6 -6
- package/src/utils/getOsInfo.js.map +1 -1
- package/src/utils/getTiffInfo.js +116 -0
- package/src/utils/getTiffInfo.js.map +1 -0
- package/src/utils/getTranslateFn.js +46 -23
- package/src/utils/getTranslateFn.js.map +1 -1
- package/src/utils/index.js +71 -0
- package/src/utils/index.js.map +1 -1
- package/src/utils/invertObj.js +2 -1
- package/src/utils/invertObj.js.map +1 -1
- package/src/utils/isElectron.js +3 -3
- package/src/utils/isElectron.js.map +1 -1
- package/src/utils/isSafari.js +2 -0
- package/src/utils/isSafari.js.map +1 -1
- package/src/utils/loadImage.js +3 -2
- package/src/utils/loadImage.js.map +1 -1
- package/src/utils/maskSensitiveData.js +113 -0
- package/src/utils/maskSensitiveData.js.map +1 -0
- package/src/utils/normalizeUniversalLink.js +2 -1
- package/src/utils/normalizeUniversalLink.js.map +1 -1
- package/src/utils/polling.js +51 -47
- package/src/utils/polling.js.map +1 -1
- package/src/utils/rgbToHex.js +5 -4
- package/src/utils/rgbToHex.js.map +1 -1
- package/src/utils/sleep.js +5 -5
- package/src/utils/sleep.js.map +1 -1
- package/src/utils/sliceExecute.js +82 -0
- package/src/utils/sliceExecute.js.map +1 -0
- package/src/utils/stopEvent.js +4 -6
- package/src/utils/stopEvent.js.map +1 -1
- package/src/utils/stringHandler/index.js +5 -0
- package/src/utils/stringHandler/index.js.map +1 -1
- package/src/utils/stringHandler/isASCII.js +2 -0
- package/src/utils/stringHandler/isASCII.js.map +1 -1
- package/src/utils/toBoolean.js +1 -0
- package/src/utils/toBoolean.js.map +1 -1
- package/src/utils/waitUntil.js +31 -27
- package/src/utils/waitUntil.js.map +1 -1
- package/src/utils/waitUntilTo.js +62 -63
- package/src/utils/waitUntilTo.js.map +1 -1
- package/src/webpackPlugins/NoChunkChecker/NoChunkChecker.js +17 -14
- package/src/webpackPlugins/NoChunkChecker/NoChunkChecker.js.map +1 -1
- package/src/webpackPlugins/NoChunkChecker/index.js +5 -0
- package/src/webpackPlugins/NoChunkChecker/index.js.map +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MultiPartUTF8FormData.js","names":["_base64Handler","require","_typeof","o","Symbol","iterator","constructor","prototype","_slicedToArray","r","e","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","TypeError","l","t","n","i","u","a","f","call","next","Object","done","push","value","length","Array","isArray","_toConsumableArray","_arrayWithoutHoles","_iterableToArray","_nonIterableSpread","_arrayLikeToArray","toString","slice","name","from","test","asyncGeneratorStep","c","Promise","resolve","then","_asyncToGenerator","arguments","apply","_next","_throw","_classCallCheck","_defineProperties","enumerable","configurable","writable","defineProperty","_toPropertyKey","key","_createClass","_toPrimitive","toPrimitive","String","Number","MultiPartUTF8FormData","dataList","_boundary","concat","Math","random","substring","_getData","regeneratorRuntime","mark","_callee","contentType","formDataStringList","wrappedBoundary","outputRowData","_args","wrap","_callee$","_context","prev","undefined","getFormStringList","sent","map","body","join","abrupt","formData","stop","getData","_getFormStringList","_callee4","_this","result","_callee4$","_context4","all","entries","fields","_ref2","_callee2","_ref","_ref3","_callee2$","_context2","getJsonFormString","source","JSON","stringify","_x","files","_ref5","_callee3","_ref4","_ref6","_callee3$","_context3","file","processFile","_x2","flat","_processFile","_callee5","base64","_callee5$","_context5","fileToBase64","getBase64FormString","filename","File","type","_x3","_x4","_ref7","_ref7$type","_ref8","_ref8$filename","_ref8$type","encodedFileName","encodeURI","dataUrl","split","exports"],"sources":["src/utils/MultiPartUTF8FormData.ts"],"sourcesContent":["import { fileToBase64 } from './base64Handler';\n\ntype MultiPartDataType = {\n key: string;\n source: string;\n filename?: string;\n type?: string;\n};\n\nexport type MultiPartUTF8FormDataOptions = {\n fields?: Record<string, any>;\n files?: Record<string, File | Blob | File[] | Blob[]>;\n};\n\n/**\n * make you can send custom form data with `filename*=`\n */\nexport class MultiPartUTF8FormData {\n private _boundary = `----Boundary${Math.random().toString(35).substring(2)}`;\n\n constructor(private dataList: MultiPartUTF8FormDataOptions) {}\n\n async getData(contentType = 'multipart/form-data') {\n const formDataStringList = await this.getFormStringList();\n const wrappedBoundary = `--${this._boundary}`;\n const outputRowData = `${formDataStringList\n .map((body) => `${wrappedBoundary}\\r\\n${body}`)\n .join('\\r\\n')}`;\n\n return {\n contentType: `${contentType}; boundary=${this._boundary}`,\n formData: `${outputRowData}\\r\\n${wrappedBoundary}--`,\n };\n }\n\n private async getFormStringList() {\n const result = await Promise.all([\n ...Object.entries(this.dataList.fields || {}).map(\n async ([key, value]) => {\n if (typeof value === 'object') {\n return this.getJsonFormString({\n key,\n source: JSON.stringify(value),\n });\n }\n\n return this.getJsonFormString({\n key,\n source: value,\n });\n },\n ),\n ...Object.entries(this.dataList.files || {}).map(async ([key, value]) => {\n if (Array.isArray(value)) {\n return Promise.all(value.map((file) => this.processFile(key, file)));\n }\n\n return this.processFile(key, value);\n }),\n ]);\n\n return result.flat();\n }\n\n private async processFile(key: string, file: File | Blob) {\n const base64 = await fileToBase64(file);\n\n return this.getBase64FormString({\n key,\n source: base64,\n filename: file instanceof File ? file.name : 'blob',\n type: file.type,\n });\n }\n\n private getJsonFormString({\n key,\n source,\n type = 'application/json',\n }: MultiPartDataType) {\n return [\n `Content-Disposition: form-data; name=\"${key}\"`,\n `Content-type: ${type}`,\n '',\n `${source}`,\n ].join('\\r\\n');\n }\n\n private getBase64FormString({\n key,\n source,\n filename = 'blob',\n type = 'application/octet-stream',\n }: MultiPartDataType) {\n const encodedFileName = encodeURI(filename);\n const contentType = type;\n const dataUrl = source.split('base64,')[1];\n\n return [\n `Content-Disposition: form-data; name=\"${key}\"; filename*=\"UTF-8''${encodedFileName}\"; filename=\"${encodedFileName}\"`,\n `Content-Type: ${contentType}`,\n 'Content-Transfer-Encoding: base64',\n '',\n dataUrl,\n ].join('\\r\\n');\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"MultiPartUTF8FormData.js","names":["_base64Handler","require","_typeof","o","Symbol","iterator","constructor","prototype","_slicedToArray","r","e","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","TypeError","l","t","n","i","u","a","f","call","next","Object","done","push","value","length","Array","isArray","_toConsumableArray","_arrayWithoutHoles","_iterableToArray","_nonIterableSpread","_arrayLikeToArray","toString","slice","name","from","test","_regenerator","toStringTag","c","Generator","create","_regeneratorDefine2","p","y","G","v","d","bind","GeneratorFunction","GeneratorFunctionPrototype","getPrototypeOf","setPrototypeOf","__proto__","displayName","w","m","defineProperty","_regeneratorDefine","_invoke","enumerable","configurable","writable","asyncGeneratorStep","Promise","resolve","then","_asyncToGenerator","arguments","apply","_next","_throw","_classCallCheck","_defineProperties","_toPropertyKey","key","_createClass","_toPrimitive","toPrimitive","String","Number","MultiPartUTF8FormData","exports","dataList","_boundary","concat","Math","random","substring","_getData","_callee","contentType","formDataStringList","wrappedBoundary","outputRowData","_args","_context","undefined","getFormStringList","map","body","join","formData","getData","_getFormStringList","_callee4","_this","result","_context4","all","entries","fields","_ref2","_callee2","_ref","_ref3","_context2","getJsonFormString","source","JSON","stringify","_x","files","_ref5","_callee3","_ref4","_ref6","_context3","file","processFile","_x2","flat","_processFile","_callee5","base64","_context5","fileToBase64","getBase64FormString","filename","File","type","_x3","_x4","_ref7","_ref7$type","_ref8","_ref8$filename","_ref8$type","encodedFileName","encodeURI","dataUrl","split"],"sources":["src/utils/MultiPartUTF8FormData.ts"],"sourcesContent":["import { fileToBase64 } from './base64Handler';\n\ntype MultiPartDataType = {\n key: string;\n source: string;\n filename?: string;\n type?: string;\n};\n\nexport type MultiPartUTF8FormDataOptions = {\n fields?: Record<string, any>;\n files?: Record<string, File | Blob | File[] | Blob[]>;\n};\n\n/**\n * make you can send custom form data with `filename*=`\n */\nexport class MultiPartUTF8FormData {\n private _boundary = `----Boundary${Math.random().toString(35).substring(2)}`;\n\n constructor(private dataList: MultiPartUTF8FormDataOptions) {}\n\n async getData(contentType = 'multipart/form-data') {\n const formDataStringList = await this.getFormStringList();\n const wrappedBoundary = `--${this._boundary}`;\n const outputRowData = `${formDataStringList\n .map((body) => `${wrappedBoundary}\\r\\n${body}`)\n .join('\\r\\n')}`;\n\n return {\n contentType: `${contentType}; boundary=${this._boundary}`,\n formData: `${outputRowData}\\r\\n${wrappedBoundary}--`,\n };\n }\n\n private async getFormStringList() {\n const result = await Promise.all([\n ...Object.entries(this.dataList.fields || {}).map(\n async ([key, value]) => {\n if (typeof value === 'object') {\n return this.getJsonFormString({\n key,\n source: JSON.stringify(value),\n });\n }\n\n return this.getJsonFormString({\n key,\n source: value,\n });\n },\n ),\n ...Object.entries(this.dataList.files || {}).map(async ([key, value]) => {\n if (Array.isArray(value)) {\n return Promise.all(value.map((file) => this.processFile(key, file)));\n }\n\n return this.processFile(key, value);\n }),\n ]);\n\n return result.flat();\n }\n\n private async processFile(key: string, file: File | Blob) {\n const base64 = await fileToBase64(file);\n\n return this.getBase64FormString({\n key,\n source: base64,\n filename: file instanceof File ? file.name : 'blob',\n type: file.type,\n });\n }\n\n private getJsonFormString({\n key,\n source,\n type = 'application/json',\n }: MultiPartDataType) {\n return [\n `Content-Disposition: form-data; name=\"${key}\"`,\n `Content-type: ${type}`,\n '',\n `${source}`,\n ].join('\\r\\n');\n }\n\n private getBase64FormString({\n key,\n source,\n filename = 'blob',\n type = 'application/octet-stream',\n }: MultiPartDataType) {\n const encodedFileName = encodeURI(filename);\n const contentType = type;\n const dataUrl = source.split('base64,')[1];\n\n return [\n `Content-Disposition: form-data; name=\"${key}\"; filename*=\"UTF-8''${encodedFileName}\"; filename=\"${encodedFileName}\"`,\n `Content-Type: ${contentType}`,\n 'Content-Transfer-Encoding: base64',\n '',\n dataUrl,\n ].join('\\r\\n');\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,37 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
require("core-js/modules/es.
|
|
4
|
-
require("core-js/modules/es.array-buffer.constructor");
|
|
5
|
-
require("core-js/modules/es.array-buffer.slice");
|
|
6
|
-
require("core-js/modules/es.object.to-string");
|
|
7
|
-
require("core-js/modules/es.promise");
|
|
8
|
-
require("core-js/modules/es.regexp.exec");
|
|
9
|
-
require("core-js/modules/es.string.replace");
|
|
10
|
-
require("core-js/modules/es.string.split");
|
|
11
|
-
require("core-js/modules/es.typed-array.uint8-array");
|
|
12
|
-
require("core-js/modules/es.typed-array.copy-within");
|
|
13
|
-
require("core-js/modules/es.typed-array.every");
|
|
14
|
-
require("core-js/modules/es.typed-array.fill");
|
|
15
|
-
require("core-js/modules/es.typed-array.filter");
|
|
16
|
-
require("core-js/modules/es.typed-array.find");
|
|
17
|
-
require("core-js/modules/es.typed-array.find-index");
|
|
18
|
-
require("core-js/modules/es.typed-array.for-each");
|
|
19
|
-
require("core-js/modules/es.typed-array.includes");
|
|
20
|
-
require("core-js/modules/es.typed-array.index-of");
|
|
21
|
-
require("core-js/modules/es.typed-array.iterator");
|
|
22
|
-
require("core-js/modules/es.typed-array.join");
|
|
23
|
-
require("core-js/modules/es.typed-array.last-index-of");
|
|
24
|
-
require("core-js/modules/es.typed-array.map");
|
|
25
|
-
require("core-js/modules/es.typed-array.reduce");
|
|
26
|
-
require("core-js/modules/es.typed-array.reduce-right");
|
|
27
|
-
require("core-js/modules/es.typed-array.reverse");
|
|
28
|
-
require("core-js/modules/es.typed-array.set");
|
|
29
|
-
require("core-js/modules/es.typed-array.slice");
|
|
30
|
-
require("core-js/modules/es.typed-array.some");
|
|
31
|
-
require("core-js/modules/es.typed-array.sort");
|
|
32
|
-
require("core-js/modules/es.typed-array.subarray");
|
|
33
|
-
require("core-js/modules/es.typed-array.to-locale-string");
|
|
34
|
-
require("core-js/modules/es.typed-array.to-string");
|
|
3
|
+
require("core-js/modules/es.object.define-property.js");
|
|
35
4
|
Object.defineProperty(exports, "__esModule", {
|
|
36
5
|
value: true
|
|
37
6
|
});
|
|
@@ -40,6 +9,38 @@ exports.base64ToFile = base64ToFile;
|
|
|
40
9
|
exports.decodeBase64DataUrl = decodeBase64DataUrl;
|
|
41
10
|
exports.fileToBinary = exports.fileToBase64 = void 0;
|
|
42
11
|
exports.isBase64DataUrl = isBase64DataUrl;
|
|
12
|
+
require("core-js/modules/es.array.iterator.js");
|
|
13
|
+
require("core-js/modules/es.array-buffer.constructor.js");
|
|
14
|
+
require("core-js/modules/es.array-buffer.slice.js");
|
|
15
|
+
require("core-js/modules/es.data-view.js");
|
|
16
|
+
require("core-js/modules/es.object.to-string.js");
|
|
17
|
+
require("core-js/modules/es.promise.js");
|
|
18
|
+
require("core-js/modules/es.regexp.exec.js");
|
|
19
|
+
require("core-js/modules/es.string.replace.js");
|
|
20
|
+
require("core-js/modules/es.typed-array.uint8-array.js");
|
|
21
|
+
require("core-js/modules/es.typed-array.copy-within.js");
|
|
22
|
+
require("core-js/modules/es.typed-array.every.js");
|
|
23
|
+
require("core-js/modules/es.typed-array.fill.js");
|
|
24
|
+
require("core-js/modules/es.typed-array.filter.js");
|
|
25
|
+
require("core-js/modules/es.typed-array.find.js");
|
|
26
|
+
require("core-js/modules/es.typed-array.find-index.js");
|
|
27
|
+
require("core-js/modules/es.typed-array.for-each.js");
|
|
28
|
+
require("core-js/modules/es.typed-array.includes.js");
|
|
29
|
+
require("core-js/modules/es.typed-array.index-of.js");
|
|
30
|
+
require("core-js/modules/es.typed-array.iterator.js");
|
|
31
|
+
require("core-js/modules/es.typed-array.join.js");
|
|
32
|
+
require("core-js/modules/es.typed-array.last-index-of.js");
|
|
33
|
+
require("core-js/modules/es.typed-array.map.js");
|
|
34
|
+
require("core-js/modules/es.typed-array.reduce.js");
|
|
35
|
+
require("core-js/modules/es.typed-array.reduce-right.js");
|
|
36
|
+
require("core-js/modules/es.typed-array.reverse.js");
|
|
37
|
+
require("core-js/modules/es.typed-array.set.js");
|
|
38
|
+
require("core-js/modules/es.typed-array.slice.js");
|
|
39
|
+
require("core-js/modules/es.typed-array.some.js");
|
|
40
|
+
require("core-js/modules/es.typed-array.sort.js");
|
|
41
|
+
require("core-js/modules/es.typed-array.subarray.js");
|
|
42
|
+
require("core-js/modules/es.typed-array.to-locale-string.js");
|
|
43
|
+
require("core-js/modules/es.typed-array.to-string.js");
|
|
43
44
|
var REGEXP_BASE64_DATA_URL = /^(data:\w+\/[a-zA-Z+\-.]+;base64,)?(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/i;
|
|
44
45
|
function isBase64DataUrl(value) {
|
|
45
46
|
return REGEXP_BASE64_DATA_URL.test(value);
|
|
@@ -50,7 +51,7 @@ function decodeBase64DataUrl(dataURL) {
|
|
|
50
51
|
}
|
|
51
52
|
return '';
|
|
52
53
|
}
|
|
53
|
-
var fileToBase64 = function fileToBase64(file) {
|
|
54
|
+
var fileToBase64 = exports.fileToBase64 = function fileToBase64(file) {
|
|
54
55
|
return new Promise(function (resolve, reject) {
|
|
55
56
|
var reader = new FileReader();
|
|
56
57
|
reader.onload = function (e) {
|
|
@@ -62,8 +63,7 @@ var fileToBase64 = function fileToBase64(file) {
|
|
|
62
63
|
reader.readAsDataURL(file);
|
|
63
64
|
});
|
|
64
65
|
};
|
|
65
|
-
exports.
|
|
66
|
-
var fileToBinary = function fileToBinary(file) {
|
|
66
|
+
var fileToBinary = exports.fileToBinary = function fileToBinary(file) {
|
|
67
67
|
return new Promise(function (resolve, reject) {
|
|
68
68
|
var reader = new FileReader();
|
|
69
69
|
reader.onload = function (e) {
|
|
@@ -75,7 +75,6 @@ var fileToBinary = function fileToBinary(file) {
|
|
|
75
75
|
reader.readAsBinaryString(file);
|
|
76
76
|
});
|
|
77
77
|
};
|
|
78
|
-
exports.fileToBinary = fileToBinary;
|
|
79
78
|
function base64ToBlob(base64Image) {
|
|
80
79
|
var split = base64Image.split(',');
|
|
81
80
|
var type = split[0].replace('data:', '').replace(';base64', '');
|
|
@@ -91,6 +90,8 @@ function base64ToBlob(base64Image) {
|
|
|
91
90
|
}
|
|
92
91
|
function base64ToFile(base64Image, filename) {
|
|
93
92
|
var blob = base64ToBlob(base64Image);
|
|
94
|
-
return new File([blob], filename
|
|
93
|
+
return new File([blob], filename, {
|
|
94
|
+
type: blob.type
|
|
95
|
+
});
|
|
95
96
|
}
|
|
96
97
|
//# sourceMappingURL=base64Handler.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base64Handler.js","names":["REGEXP_BASE64_DATA_URL","isBase64DataUrl","value","test","decodeBase64DataUrl","dataURL","atob","split","fileToBase64","file","Promise","resolve","reject","reader","FileReader","onload","e","target","result","onerror","err","readAsDataURL","
|
|
1
|
+
{"version":3,"file":"base64Handler.js","names":["REGEXP_BASE64_DATA_URL","isBase64DataUrl","value","test","decodeBase64DataUrl","dataURL","atob","split","fileToBase64","exports","file","Promise","resolve","reject","reader","FileReader","onload","e","target","result","onerror","err","readAsDataURL","fileToBinary","readAsBinaryString","base64ToBlob","base64Image","type","replace","byteString","ab","ArrayBuffer","length","ia","Uint8Array","i","charCodeAt","Blob","base64ToFile","filename","blob","File"],"sources":["src/utils/base64Handler.ts"],"sourcesContent":["const REGEXP_BASE64_DATA_URL =\n /^(data:\\w+\\/[a-zA-Z+\\-.]+;base64,)?(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/i;\n\nexport function isBase64DataUrl(value: string) {\n return REGEXP_BASE64_DATA_URL.test(value);\n}\n\nexport function decodeBase64DataUrl(dataURL: string) {\n if (isBase64DataUrl(dataURL)) {\n return atob(dataURL.split('base64,')[1]);\n }\n\n return '';\n}\n\nexport const fileToBase64 = (file: File | Blob) => {\n return new Promise<string>((resolve, reject) => {\n const reader = new FileReader();\n reader.onload = (e) => {\n resolve(e.target!.result as string);\n };\n\n reader.onerror = (err) => {\n reject(err);\n };\n\n reader.readAsDataURL(file);\n });\n};\n\nexport const fileToBinary = (file: File | Blob) => {\n return new Promise<string>((resolve, reject) => {\n const reader = new FileReader();\n reader.onload = (e) => {\n resolve(e.target!.result as string);\n };\n\n reader.onerror = (err) => {\n reject(err);\n };\n\n reader.readAsBinaryString(file);\n });\n};\n\nexport function base64ToBlob(base64Image: string) {\n const split = base64Image.split(',');\n const type = split[0].replace('data:', '').replace(';base64', '');\n const byteString = atob(split[1]);\n const ab = new ArrayBuffer(byteString.length);\n const ia = new Uint8Array(ab);\n for (let i = 0; i < byteString.length; i += 1) {\n ia[i] = byteString.charCodeAt(i);\n }\n return new Blob([ab], { type });\n}\n\nexport function base64ToFile(base64Image: string, filename: string) {\n const blob = base64ToBlob(base64Image);\n\n return new File([blob], filename, { type: blob.type });\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAMA,sBAAsB,GAC1B,qGAAqG;AAEhG,SAASC,eAAeA,CAACC,KAAa,EAAE;EAC7C,OAAOF,sBAAsB,CAACG,IAAI,CAACD,KAAK,CAAC;AAC3C;AAEO,SAASE,mBAAmBA,CAACC,OAAe,EAAE;EACnD,IAAIJ,eAAe,CAACI,OAAO,CAAC,EAAE;IAC5B,OAAOC,IAAI,CAACD,OAAO,CAACE,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;EAC1C;EAEA,OAAO,EAAE;AACX;AAEO,IAAMC,YAAY,GAAAC,OAAA,CAAAD,YAAA,GAAG,SAAfA,YAAYA,CAAIE,IAAiB,EAAK;EACjD,OAAO,IAAIC,OAAO,CAAS,UAACC,OAAO,EAAEC,MAAM,EAAK;IAC9C,IAAMC,MAAM,GAAG,IAAIC,UAAU,CAAC,CAAC;IAC/BD,MAAM,CAACE,MAAM,GAAG,UAACC,CAAC,EAAK;MACrBL,OAAO,CAACK,CAAC,CAACC,MAAM,CAAEC,MAAgB,CAAC;IACrC,CAAC;IAEDL,MAAM,CAACM,OAAO,GAAG,UAACC,GAAG,EAAK;MACxBR,MAAM,CAACQ,GAAG,CAAC;IACb,CAAC;IAEDP,MAAM,CAACQ,aAAa,CAACZ,IAAI,CAAC;EAC5B,CAAC,CAAC;AACJ,CAAC;AAEM,IAAMa,YAAY,GAAAd,OAAA,CAAAc,YAAA,GAAG,SAAfA,YAAYA,CAAIb,IAAiB,EAAK;EACjD,OAAO,IAAIC,OAAO,CAAS,UAACC,OAAO,EAAEC,MAAM,EAAK;IAC9C,IAAMC,MAAM,GAAG,IAAIC,UAAU,CAAC,CAAC;IAC/BD,MAAM,CAACE,MAAM,GAAG,UAACC,CAAC,EAAK;MACrBL,OAAO,CAACK,CAAC,CAACC,MAAM,CAAEC,MAAgB,CAAC;IACrC,CAAC;IAEDL,MAAM,CAACM,OAAO,GAAG,UAACC,GAAG,EAAK;MACxBR,MAAM,CAACQ,GAAG,CAAC;IACb,CAAC;IAEDP,MAAM,CAACU,kBAAkB,CAACd,IAAI,CAAC;EACjC,CAAC,CAAC;AACJ,CAAC;AAEM,SAASe,YAAYA,CAACC,WAAmB,EAAE;EAChD,IAAMnB,KAAK,GAAGmB,WAAW,CAACnB,KAAK,CAAC,GAAG,CAAC;EACpC,IAAMoB,IAAI,GAAGpB,KAAK,CAAC,CAAC,CAAC,CAACqB,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAACA,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC;EACjE,IAAMC,UAAU,GAAGvB,IAAI,CAACC,KAAK,CAAC,CAAC,CAAC,CAAC;EACjC,IAAMuB,EAAE,GAAG,IAAIC,WAAW,CAACF,UAAU,CAACG,MAAM,CAAC;EAC7C,IAAMC,EAAE,GAAG,IAAIC,UAAU,CAACJ,EAAE,CAAC;EAC7B,KAAK,IAAIK,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGN,UAAU,CAACG,MAAM,EAAEG,CAAC,IAAI,CAAC,EAAE;IAC7CF,EAAE,CAACE,CAAC,CAAC,GAAGN,UAAU,CAACO,UAAU,CAACD,CAAC,CAAC;EAClC;EACA,OAAO,IAAIE,IAAI,CAAC,CAACP,EAAE,CAAC,EAAE;IAAEH,IAAI,EAAJA;EAAK,CAAC,CAAC;AACjC;AAEO,SAASW,YAAYA,CAACZ,WAAmB,EAAEa,QAAgB,EAAE;EAClE,IAAMC,IAAI,GAAGf,YAAY,CAACC,WAAW,CAAC;EAEtC,OAAO,IAAIe,IAAI,CAAC,CAACD,IAAI,CAAC,EAAED,QAAQ,EAAE;IAAEZ,IAAI,EAAEa,IAAI,CAACb;EAAK,CAAC,CAAC;AACxD","ignoreList":[]}
|
package/src/utils/cleanNumber.js
CHANGED
|
@@ -1,14 +1,15 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
require("core-js/modules/es.
|
|
4
|
-
require("core-js/modules/es.array.slice");
|
|
5
|
-
require("core-js/modules/es.regexp.exec");
|
|
6
|
-
require("core-js/modules/es.string.replace");
|
|
7
|
-
require("core-js/modules/es.string.split");
|
|
3
|
+
require("core-js/modules/es.object.define-property.js");
|
|
8
4
|
Object.defineProperty(exports, "__esModule", {
|
|
9
5
|
value: true
|
|
10
6
|
});
|
|
11
7
|
exports.cleanNumber = cleanNumber;
|
|
8
|
+
require("core-js/modules/es.array.join.js");
|
|
9
|
+
require("core-js/modules/es.array.slice.js");
|
|
10
|
+
require("core-js/modules/es.regexp.exec.js");
|
|
11
|
+
require("core-js/modules/es.string.replace.js");
|
|
12
|
+
require("core-js/modules/es.string.split.js");
|
|
12
13
|
// copy from ringcentral-js-widgets/ringcentral-integration/lib/cleanNumber/index.ts
|
|
13
14
|
// for GA usage
|
|
14
15
|
var cleanRegex = /[^\d*+#]/g;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cleanNumber.js","names":["cleanRegex","plusRegex","extensionDelimiter","cleanNumber","phoneNumber","keepPlus","arguments","length","undefined","cleaned","replace","hasPlus","output","split","slice","join","concat"],"sources":["src/utils/cleanNumber.ts"],"sourcesContent":["// copy from ringcentral-js-widgets/ringcentral-integration/lib/cleanNumber/index.ts\n// for GA usage\nconst cleanRegex = /[^\\d*+#]/g;\nconst plusRegex = /\\+/g;\nconst extensionDelimiter = /[*#]/g;\n/**\n * Remove any characters except numeric, #, *, and leading +. We only consider\n * first occurrence of * or #. Things after subsequent * or # will be removed.\n */\n\nexport function cleanNumber(phoneNumber: string, keepPlus = true) {\n const cleaned = phoneNumber.replace(cleanRegex, '');\n const hasPlus = cleaned[0] === '+';\n const output = cleaned\n .replace(plusRegex, '')\n .split(extensionDelimiter)\n .slice(0, 2)\n .join('*');\n return hasPlus && keepPlus ? `+${output}` : output;\n}\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"cleanNumber.js","names":["cleanRegex","plusRegex","extensionDelimiter","cleanNumber","phoneNumber","keepPlus","arguments","length","undefined","cleaned","replace","hasPlus","output","split","slice","join","concat"],"sources":["src/utils/cleanNumber.ts"],"sourcesContent":["// copy from ringcentral-js-widgets/ringcentral-integration/lib/cleanNumber/index.ts\n// for GA usage\nconst cleanRegex = /[^\\d*+#]/g;\nconst plusRegex = /\\+/g;\nconst extensionDelimiter = /[*#]/g;\n/**\n * Remove any characters except numeric, #, *, and leading +. We only consider\n * first occurrence of * or #. Things after subsequent * or # will be removed.\n */\n\nexport function cleanNumber(phoneNumber: string, keepPlus = true) {\n const cleaned = phoneNumber.replace(cleanRegex, '');\n const hasPlus = cleaned[0] === '+';\n const output = cleaned\n .replace(plusRegex, '')\n .split(extensionDelimiter)\n .slice(0, 2)\n .join('*');\n return hasPlus && keepPlus ? `+${output}` : output;\n}\n"],"mappings":";;;;;;;;;;;;AAAA;AACA;AACA,IAAMA,UAAU,GAAG,WAAW;AAC9B,IAAMC,SAAS,GAAG,KAAK;AACvB,IAAMC,kBAAkB,GAAG,OAAO;AAClC;AACA;AACA;AACA;;AAEO,SAASC,WAAWA,CAACC,WAAmB,EAAmB;EAAA,IAAjBC,QAAQ,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,IAAI;EAC9D,IAAMG,OAAO,GAAGL,WAAW,CAACM,OAAO,CAACV,UAAU,EAAE,EAAE,CAAC;EACnD,IAAMW,OAAO,GAAGF,OAAO,CAAC,CAAC,CAAC,KAAK,GAAG;EAClC,IAAMG,MAAM,GAAGH,OAAO,CACnBC,OAAO,CAACT,SAAS,EAAE,EAAE,CAAC,CACtBY,KAAK,CAACX,kBAAkB,CAAC,CACzBY,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CACXC,IAAI,CAAC,GAAG,CAAC;EACZ,OAAOJ,OAAO,IAAIN,QAAQ,OAAAW,MAAA,CAAOJ,MAAM,IAAKA,MAAM;AACpD","ignoreList":[]}
|
|
@@ -0,0 +1,241 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
require("core-js/modules/es.symbol.js");
|
|
4
|
+
require("core-js/modules/es.symbol.description.js");
|
|
5
|
+
require("core-js/modules/es.symbol.iterator.js");
|
|
6
|
+
require("core-js/modules/es.array.is-array.js");
|
|
7
|
+
require("core-js/modules/es.array.slice.js");
|
|
8
|
+
require("core-js/modules/es.date.to-string.js");
|
|
9
|
+
require("core-js/modules/es.function.name.js");
|
|
10
|
+
require("core-js/modules/es.object.define-property.js");
|
|
11
|
+
require("core-js/modules/es.promise.js");
|
|
12
|
+
require("core-js/modules/es.regexp.exec.js");
|
|
13
|
+
require("core-js/modules/es.regexp.to-string.js");
|
|
14
|
+
require("core-js/modules/es.string.repeat.js");
|
|
15
|
+
Object.defineProperty(exports, "__esModule", {
|
|
16
|
+
value: true
|
|
17
|
+
});
|
|
18
|
+
exports.createRepeatTrackingManager = void 0;
|
|
19
|
+
require("core-js/modules/es.array.filter.js");
|
|
20
|
+
require("core-js/modules/es.array.for-each.js");
|
|
21
|
+
require("core-js/modules/es.array.from.js");
|
|
22
|
+
require("core-js/modules/es.array.iterator.js");
|
|
23
|
+
require("core-js/modules/es.array.map.js");
|
|
24
|
+
require("core-js/modules/es.array.reduce.js");
|
|
25
|
+
require("core-js/modules/es.date.now.js");
|
|
26
|
+
require("core-js/modules/es.date.to-json.js");
|
|
27
|
+
require("core-js/modules/es.map.js");
|
|
28
|
+
require("core-js/modules/es.number.max-safe-integer.js");
|
|
29
|
+
require("core-js/modules/es.object.to-string.js");
|
|
30
|
+
require("core-js/modules/es.set.js");
|
|
31
|
+
require("core-js/modules/es.string.iterator.js");
|
|
32
|
+
require("core-js/modules/web.dom-collections.for-each.js");
|
|
33
|
+
require("core-js/modules/web.dom-collections.iterator.js");
|
|
34
|
+
var _chunk = _interopRequireDefault(require("lodash/chunk"));
|
|
35
|
+
var _rxjs = require("rxjs");
|
|
36
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
|
|
37
|
+
function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
|
|
38
|
+
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
39
|
+
function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
|
|
40
|
+
function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
|
|
41
|
+
function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
|
|
42
|
+
function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
|
|
43
|
+
/**
|
|
44
|
+
* Creates a manager for repeat tracking of viewable items which linking.
|
|
45
|
+
*
|
|
46
|
+
* When the items be linked, will interval emit to the fromServerListener api that will provide you able to know what items still on the screen
|
|
47
|
+
*
|
|
48
|
+
* and the linked api trigger will have a throttle time to prevent the api be triggered too often
|
|
49
|
+
*
|
|
50
|
+
* @template T - Generic type extending Record<string, string> representing the data structure
|
|
51
|
+
*
|
|
52
|
+
* @param options - Configuration options object
|
|
53
|
+
* @param options.sendToServer - Function to send data to server
|
|
54
|
+
* @param options.ttl - Time-to-live duration in milliseconds for cache entries
|
|
55
|
+
* @param options.groupKey - Key used to group items
|
|
56
|
+
* @param options.itemKey - Key used to identify individual items
|
|
57
|
+
* @param options.maxBatchRequestCount - Maximum number of items per batch request (defaults to Number.MAX_SAFE_INTEGER)
|
|
58
|
+
* @param options.validate - Function to validate data items
|
|
59
|
+
*
|
|
60
|
+
* @returns An object containing methods to manage viewable items:
|
|
61
|
+
* - link: Adds a new item to be tracked
|
|
62
|
+
* - unlink: Removes an item from tracking
|
|
63
|
+
* - setListenerDataFromClient: Updates data for a specific client
|
|
64
|
+
* - fromClientListener: Creates an observable for client-side changes
|
|
65
|
+
* - fromServerListener: Creates an observable for server-side async event to fetch data and return the cache success list
|
|
66
|
+
* - clear: Resets all tracking data
|
|
67
|
+
*
|
|
68
|
+
* @example
|
|
69
|
+
* const manager = createRepeatTrackingManager({
|
|
70
|
+
* sendToServer: async (data) => { ... },
|
|
71
|
+
* ttl: 30000,
|
|
72
|
+
* groupKey: 'accountId',
|
|
73
|
+
* itemKey: 'extensionId',
|
|
74
|
+
* validate: (data) => true
|
|
75
|
+
* });
|
|
76
|
+
*/
|
|
77
|
+
var createRepeatTrackingManager = exports.createRepeatTrackingManager = function createRepeatTrackingManager(_ref) {
|
|
78
|
+
var sendToServer = _ref.sendToServer,
|
|
79
|
+
ttl = _ref.ttl,
|
|
80
|
+
groupKey = _ref.groupKey,
|
|
81
|
+
itemKey = _ref.itemKey,
|
|
82
|
+
_ref$maxBatchRequestC = _ref.maxBatchRequestCount,
|
|
83
|
+
maxBatchRequestCount = _ref$maxBatchRequestC === void 0 ? Number.MAX_SAFE_INTEGER : _ref$maxBatchRequestC,
|
|
84
|
+
validate = _ref.validate;
|
|
85
|
+
var link$ = new _rxjs.Subject();
|
|
86
|
+
var unlink$ = new _rxjs.Subject();
|
|
87
|
+
var clientsLinkedItemsMap$ = new _rxjs.BehaviorSubject(new Map());
|
|
88
|
+
var isNever = ttl === 'never';
|
|
89
|
+
var cacheMap = new Map();
|
|
90
|
+
var fromClientListener = function fromClientListener() {
|
|
91
|
+
var everLinkedMap$ = link$.pipe((0, _rxjs.buffer)(
|
|
92
|
+
// when got first value, buffer 1s data to fetch all presence in once
|
|
93
|
+
link$.pipe((0, _rxjs.throttleTime)(1000, undefined, {
|
|
94
|
+
leading: false,
|
|
95
|
+
trailing: true
|
|
96
|
+
}))),
|
|
97
|
+
// accumulate all linked presence
|
|
98
|
+
(0, _rxjs.scan)(function (distinctMap, list) {
|
|
99
|
+
// distinct the list by accountId and extensionId
|
|
100
|
+
list.forEach(function (item) {
|
|
101
|
+
var groupValue = item[groupKey];
|
|
102
|
+
var itemValue = item[itemKey];
|
|
103
|
+
if (validate ? validate(item) : true) {
|
|
104
|
+
var _distinctMap$get;
|
|
105
|
+
var set = (_distinctMap$get = distinctMap.get(groupValue)) !== null && _distinctMap$get !== void 0 ? _distinctMap$get : new Set();
|
|
106
|
+
set.add(itemValue);
|
|
107
|
+
distinctMap.set(groupValue, set);
|
|
108
|
+
}
|
|
109
|
+
});
|
|
110
|
+
return distinctMap;
|
|
111
|
+
}, new Map()));
|
|
112
|
+
var unlinkBuffer$ = unlink$.pipe((0, _rxjs.buffer)(unlink$.pipe(
|
|
113
|
+
// 5000ms throttle for more time is fine, can later remove subscribe
|
|
114
|
+
(0, _rxjs.throttleTime)(5000, undefined, {
|
|
115
|
+
leading: false,
|
|
116
|
+
trailing: true
|
|
117
|
+
}))), (0, _rxjs.startWith)(null));
|
|
118
|
+
return (0, _rxjs.combineLatest)([everLinkedMap$, unlinkBuffer$.pipe((0, _rxjs.take)(2),
|
|
119
|
+
// once emit, then restart the buffer, so will only use the buffer data once, then clear
|
|
120
|
+
(0, _rxjs.repeat)())]).pipe((0, _rxjs.map)(function (_ref2) {
|
|
121
|
+
var _ref3 = _slicedToArray(_ref2, 2),
|
|
122
|
+
everLinkedMap = _ref3[0],
|
|
123
|
+
unlinkList = _ref3[1];
|
|
124
|
+
if (unlinkList) {
|
|
125
|
+
unlinkList.forEach(function (item) {
|
|
126
|
+
var groupValue = item[groupKey];
|
|
127
|
+
var itemValue = item[itemKey];
|
|
128
|
+
var set = everLinkedMap.get(groupValue);
|
|
129
|
+
if (set) {
|
|
130
|
+
set["delete"](itemValue);
|
|
131
|
+
if (set.size === 0) {
|
|
132
|
+
everLinkedMap["delete"](groupValue);
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
});
|
|
136
|
+
}
|
|
137
|
+
return everLinkedMap;
|
|
138
|
+
}),
|
|
139
|
+
// convert to serializable list
|
|
140
|
+
(0, _rxjs.map)(function (distinctMap) {
|
|
141
|
+
var list = Array.from(distinctMap).map(function (_ref4) {
|
|
142
|
+
var _ref5 = _slicedToArray(_ref4, 2),
|
|
143
|
+
groupValue = _ref5[0],
|
|
144
|
+
items = _ref5[1];
|
|
145
|
+
var itemList = Array.from(items);
|
|
146
|
+
return [groupValue, itemList];
|
|
147
|
+
});
|
|
148
|
+
return list;
|
|
149
|
+
}),
|
|
150
|
+
// only emit when the list is changed
|
|
151
|
+
(0, _rxjs.distinctUntilChanged)(function (a, b) {
|
|
152
|
+
return JSON.stringify(a) === JSON.stringify(b);
|
|
153
|
+
}), (0, _rxjs.switchMap)(function (data) {
|
|
154
|
+
return sendToServer(data);
|
|
155
|
+
}));
|
|
156
|
+
};
|
|
157
|
+
var fromServerListener = function fromServerListener(sendRequest) {
|
|
158
|
+
// the list from clients
|
|
159
|
+
return clientsLinkedItemsMap$.pipe(
|
|
160
|
+
// distinct the list by first key
|
|
161
|
+
(0, _rxjs.map)(function (linkedItems) {
|
|
162
|
+
var distinctMap = new Map();
|
|
163
|
+
linkedItems.forEach(function (child) {
|
|
164
|
+
child.forEach(function (val) {
|
|
165
|
+
var _distinctMap$get2;
|
|
166
|
+
var _val = _slicedToArray(val, 2),
|
|
167
|
+
groupValue = _val[0],
|
|
168
|
+
items = _val[1];
|
|
169
|
+
var set = (_distinctMap$get2 = distinctMap.get(groupValue)) !== null && _distinctMap$get2 !== void 0 ? _distinctMap$get2 : new Set();
|
|
170
|
+
items.forEach(function (id) {
|
|
171
|
+
return set.add(id);
|
|
172
|
+
});
|
|
173
|
+
distinctMap.set(groupValue, set);
|
|
174
|
+
});
|
|
175
|
+
});
|
|
176
|
+
return Array.from(distinctMap.entries());
|
|
177
|
+
}),
|
|
178
|
+
// if the list is not empty, emit the expired presence list every ttl
|
|
179
|
+
(0, _rxjs.switchMap)(function (list) {
|
|
180
|
+
return list.length > 0 ? (0, _rxjs.of)(null).pipe((0, _rxjs.map)(function () {
|
|
181
|
+
return list.reduce(function (acc, _ref6) {
|
|
182
|
+
var _ref7 = _slicedToArray(_ref6, 2),
|
|
183
|
+
groupValue = _ref7[0],
|
|
184
|
+
itemSet = _ref7[1];
|
|
185
|
+
var validExtensionIds = Array.from(itemSet).filter(function (item) {
|
|
186
|
+
var prevTimestamp = cacheMap.get(item);
|
|
187
|
+
return isNever || !prevTimestamp || Date.now() - prevTimestamp >= ttl;
|
|
188
|
+
});
|
|
189
|
+
if (validExtensionIds.length > 0) {
|
|
190
|
+
if (validExtensionIds.length > maxBatchRequestCount) {
|
|
191
|
+
var splitItems = (0, _chunk["default"])(validExtensionIds, maxBatchRequestCount);
|
|
192
|
+
splitItems.forEach(function (splitItem) {
|
|
193
|
+
acc.push([groupValue, splitItem]);
|
|
194
|
+
});
|
|
195
|
+
} else {
|
|
196
|
+
acc.push([groupValue, validExtensionIds]);
|
|
197
|
+
}
|
|
198
|
+
}
|
|
199
|
+
return acc;
|
|
200
|
+
}, []);
|
|
201
|
+
}), (0, _rxjs.filter)(function (list) {
|
|
202
|
+
return list.length > 0;
|
|
203
|
+
}), (0, _rxjs.switchMap)(function (data) {
|
|
204
|
+
return sendRequest(data);
|
|
205
|
+
}), (0, _rxjs.tap)(function (cacheList) {
|
|
206
|
+
if (isNever) return;
|
|
207
|
+
// the minus 1ms to make sure the cache is expired in the next cycle
|
|
208
|
+
var successTime = Date.now() - 1;
|
|
209
|
+
cacheList.forEach(function (cacheItem) {
|
|
210
|
+
cacheMap.set(cacheItem, successTime);
|
|
211
|
+
});
|
|
212
|
+
}), isNever ? _rxjs.identity : (0, _rxjs.repeat)({
|
|
213
|
+
delay: ttl
|
|
214
|
+
})) : _rxjs.EMPTY;
|
|
215
|
+
}));
|
|
216
|
+
};
|
|
217
|
+
var clear = function clear() {
|
|
218
|
+
clientsLinkedItemsMap$.next(new Map());
|
|
219
|
+
cacheMap.clear();
|
|
220
|
+
};
|
|
221
|
+
return {
|
|
222
|
+
link: function link(data) {
|
|
223
|
+
link$.next(data);
|
|
224
|
+
},
|
|
225
|
+
unlink: function unlink(data) {
|
|
226
|
+
unlink$.next(data);
|
|
227
|
+
},
|
|
228
|
+
setListenerDataFromClient: function setListenerDataFromClient(clientId, data) {
|
|
229
|
+
var presenceMap = clientsLinkedItemsMap$.value;
|
|
230
|
+
presenceMap.set(clientId, data);
|
|
231
|
+
clientsLinkedItemsMap$.next(presenceMap);
|
|
232
|
+
},
|
|
233
|
+
fromClientListener: fromClientListener,
|
|
234
|
+
fromServerListener: fromServerListener,
|
|
235
|
+
clear: clear,
|
|
236
|
+
get clientsLinkedItemsMap() {
|
|
237
|
+
return clientsLinkedItemsMap$.value;
|
|
238
|
+
}
|
|
239
|
+
};
|
|
240
|
+
};
|
|
241
|
+
//# sourceMappingURL=createRepeatTrackingManager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createRepeatTrackingManager.js","names":["_chunk","_interopRequireDefault","require","_rxjs","e","__esModule","_slicedToArray","r","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","TypeError","a","_arrayLikeToArray","t","toString","call","slice","constructor","name","Array","from","test","length","n","l","Symbol","iterator","i","u","f","o","next","Object","done","push","value","isArray","createRepeatTrackingManager","exports","_ref","sendToServer","ttl","groupKey","itemKey","_ref$maxBatchRequestC","maxBatchRequestCount","Number","MAX_SAFE_INTEGER","validate","link$","Subject","unlink$","clientsLinkedItemsMap$","BehaviorSubject","Map","isNever","cacheMap","fromClientListener","everLinkedMap$","pipe","buffer","throttleTime","undefined","leading","trailing","scan","distinctMap","list","forEach","item","groupValue","itemValue","_distinctMap$get","set","get","Set","add","unlinkBuffer$","startWith","combineLatest","take","repeat","map","_ref2","_ref3","everLinkedMap","unlinkList","size","_ref4","_ref5","items","itemList","distinctUntilChanged","b","JSON","stringify","switchMap","data","fromServerListener","sendRequest","linkedItems","child","val","_distinctMap$get2","_val","id","entries","of","reduce","acc","_ref6","_ref7","itemSet","validExtensionIds","filter","prevTimestamp","Date","now","splitItems","chunk","splitItem","tap","cacheList","successTime","cacheItem","identity","delay","EMPTY","clear","link","unlink","setListenerDataFromClient","clientId","presenceMap","clientsLinkedItemsMap"],"sources":["src/utils/createRepeatTrackingManager.ts"],"sourcesContent":["import chunk from 'lodash/chunk';\nimport {\n BehaviorSubject,\n buffer,\n combineLatest,\n distinctUntilChanged,\n EMPTY,\n filter,\n identity,\n map,\n type Observable,\n of,\n repeat,\n scan,\n startWith,\n Subject,\n switchMap,\n take,\n tap,\n throttleTime,\n} from 'rxjs';\n\nexport type RepeatTrackingItems = readonly [string, string[]];\n\nexport type CreateRepeatTrackingManagerOptions<T extends Record<any, any>> = {\n ttl: number | 'never';\n groupKey: keyof T;\n itemKey: keyof T;\n sendToServer: (data: RepeatTrackingItems[]) => Promise<void>;\n validate?: (data: T) => boolean;\n maxBatchRequestCount?: number;\n};\n\n/**\n * Creates a manager for repeat tracking of viewable items which linking.\n *\n * When the items be linked, will interval emit to the fromServerListener api that will provide you able to know what items still on the screen\n *\n * and the linked api trigger will have a throttle time to prevent the api be triggered too often\n *\n * @template T - Generic type extending Record<string, string> representing the data structure\n *\n * @param options - Configuration options object\n * @param options.sendToServer - Function to send data to server\n * @param options.ttl - Time-to-live duration in milliseconds for cache entries\n * @param options.groupKey - Key used to group items\n * @param options.itemKey - Key used to identify individual items\n * @param options.maxBatchRequestCount - Maximum number of items per batch request (defaults to Number.MAX_SAFE_INTEGER)\n * @param options.validate - Function to validate data items\n *\n * @returns An object containing methods to manage viewable items:\n * - link: Adds a new item to be tracked\n * - unlink: Removes an item from tracking\n * - setListenerDataFromClient: Updates data for a specific client\n * - fromClientListener: Creates an observable for client-side changes\n * - fromServerListener: Creates an observable for server-side async event to fetch data and return the cache success list\n * - clear: Resets all tracking data\n *\n * @example\n * const manager = createRepeatTrackingManager({\n * sendToServer: async (data) => { ... },\n * ttl: 30000,\n * groupKey: 'accountId',\n * itemKey: 'extensionId',\n * validate: (data) => true\n * });\n */\nexport const createRepeatTrackingManager = <T extends Record<any, any>>({\n sendToServer,\n ttl,\n groupKey,\n itemKey,\n maxBatchRequestCount = Number.MAX_SAFE_INTEGER,\n validate,\n}: CreateRepeatTrackingManagerOptions<T>) => {\n const link$ = new Subject<T>();\n const unlink$ = new Subject<T>();\n const clientsLinkedItemsMap$ = new BehaviorSubject(\n new Map<string, RepeatTrackingItems[]>(),\n );\n const isNever = ttl === 'never';\n\n const cacheMap = new Map<string, number>();\n\n const fromClientListener = () => {\n const everLinkedMap$ = link$.pipe(\n buffer(\n // when got first value, buffer 1s data to fetch all presence in once\n link$.pipe(\n throttleTime(1000, undefined, {\n leading: false,\n trailing: true,\n }),\n ),\n ),\n // accumulate all linked presence\n scan((distinctMap, list) => {\n // distinct the list by accountId and extensionId\n list.forEach((item) => {\n const groupValue = item[groupKey];\n const itemValue = item[itemKey];\n\n if (validate ? validate(item) : true) {\n const set = distinctMap.get(groupValue) ?? new Set<string>();\n set.add(itemValue);\n distinctMap.set(groupValue, set);\n }\n });\n\n return distinctMap;\n }, new Map<string, Set<string>>()),\n );\n\n const unlinkBuffer$ = unlink$.pipe(\n buffer(\n unlink$.pipe(\n // 5000ms throttle for more time is fine, can later remove subscribe\n throttleTime(5000, undefined, {\n leading: false,\n trailing: true,\n }),\n ),\n ),\n startWith(null),\n );\n\n return combineLatest([\n everLinkedMap$,\n unlinkBuffer$.pipe(\n take(2),\n // once emit, then restart the buffer, so will only use the buffer data once, then clear\n repeat(),\n ),\n ]).pipe(\n map(([everLinkedMap, unlinkList]) => {\n if (unlinkList) {\n unlinkList.forEach((item) => {\n const groupValue = item[groupKey];\n const itemValue = item[itemKey];\n const set = everLinkedMap.get(groupValue);\n\n if (set) {\n set.delete(itemValue);\n\n if (set.size === 0) {\n everLinkedMap.delete(groupValue);\n }\n }\n });\n }\n\n return everLinkedMap;\n }),\n // convert to serializable list\n map((distinctMap) => {\n const list = Array.from(distinctMap).map(([groupValue, items]) => {\n const itemList = Array.from(items);\n\n return [groupValue, itemList] as const;\n });\n\n return list;\n }),\n // only emit when the list is changed\n distinctUntilChanged((a, b) => JSON.stringify(a) === JSON.stringify(b)),\n switchMap((data) => sendToServer(data)),\n );\n };\n\n const fromServerListener = (\n sendRequest: (\n data: [string, string[]][],\n ) => Promise<string[]> | Observable<string[]>,\n ) => {\n // the list from clients\n return clientsLinkedItemsMap$.pipe(\n // distinct the list by first key\n map((linkedItems) => {\n const distinctMap = new Map<string, Set<string>>();\n\n linkedItems.forEach((child) => {\n child.forEach((val) => {\n const [groupValue, items] = val;\n const set = distinctMap.get(groupValue) ?? new Set<string>();\n items.forEach((id) => set.add(id));\n distinctMap.set(groupValue, set);\n });\n });\n\n return Array.from(distinctMap.entries());\n }),\n // if the list is not empty, emit the expired presence list every ttl\n switchMap((list) => {\n return list.length > 0\n ? of(null).pipe(\n map(() =>\n list.reduce((acc, [groupValue, itemSet]) => {\n const validExtensionIds = Array.from(itemSet).filter(\n (item) => {\n const prevTimestamp = cacheMap.get(item);\n\n return (\n isNever ||\n !prevTimestamp ||\n Date.now() - prevTimestamp >= ttl\n );\n },\n );\n\n if (validExtensionIds.length > 0) {\n if (validExtensionIds.length > maxBatchRequestCount) {\n const splitItems = chunk(\n validExtensionIds,\n maxBatchRequestCount,\n );\n\n splitItems.forEach((splitItem) => {\n acc.push([groupValue, splitItem]);\n });\n } else {\n acc.push([groupValue, validExtensionIds]);\n }\n }\n return acc;\n }, [] as [string, string[]][]),\n ),\n filter((list) => list.length > 0),\n switchMap((data) => sendRequest(data)),\n tap((cacheList) => {\n if (isNever) return;\n // the minus 1ms to make sure the cache is expired in the next cycle\n const successTime = Date.now() - 1;\n\n cacheList.forEach((cacheItem) => {\n cacheMap.set(cacheItem, successTime);\n });\n }),\n isNever ? identity : repeat({ delay: ttl }),\n )\n : EMPTY;\n }),\n );\n };\n\n const clear = () => {\n clientsLinkedItemsMap$.next(new Map());\n cacheMap.clear();\n };\n\n return {\n link(data: T) {\n link$.next(data);\n },\n unlink(data: T) {\n unlink$.next(data);\n },\n setListenerDataFromClient: (\n clientId: string,\n data: RepeatTrackingItems[],\n ) => {\n const presenceMap = clientsLinkedItemsMap$.value;\n presenceMap.set(clientId, data);\n clientsLinkedItemsMap$.next(presenceMap);\n },\n fromClientListener,\n fromServerListener,\n clear,\n get clientsLinkedItemsMap() {\n return clientsLinkedItemsMap$.value;\n },\n };\n};\n"],"mappings":"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","ignoreList":[]}
|