@firestitch/common 18.0.5 → 18.0.6
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.
|
@@ -92,12 +92,12 @@ export const fsSourceLoader = (function () {
|
|
|
92
92
|
}
|
|
93
93
|
function _loadJs(scriptPath) {
|
|
94
94
|
if (_loadedResources.has(scriptPath)) {
|
|
95
|
-
return _loadedResources.get(scriptPath)
|
|
96
|
-
.pipe(shareReplay({ bufferSize: 1, refCount: true }));
|
|
95
|
+
return _loadedResources.get(scriptPath);
|
|
97
96
|
}
|
|
98
97
|
const obs$ = new Observable((obs) => {
|
|
99
98
|
const script = document.createElement('script');
|
|
100
99
|
script.src = scriptPath;
|
|
100
|
+
script.type = 'text/javascript';
|
|
101
101
|
script.async = true;
|
|
102
102
|
script.onload = () => {
|
|
103
103
|
obs.next(null);
|
|
@@ -107,7 +107,8 @@ export const fsSourceLoader = (function () {
|
|
|
107
107
|
obs.error(err);
|
|
108
108
|
};
|
|
109
109
|
_headElement.appendChild(script);
|
|
110
|
-
})
|
|
110
|
+
})
|
|
111
|
+
.pipe(shareReplay({ bufferSize: 1, refCount: true }));
|
|
111
112
|
_loadedResources.set(scriptPath, obs$);
|
|
112
113
|
return obs$;
|
|
113
114
|
}
|
|
@@ -152,4 +153,4 @@ export function loadStyles(path) {
|
|
|
152
153
|
export function loadJs(path) {
|
|
153
154
|
return fsSourceLoader.loadJs(path);
|
|
154
155
|
}
|
|
155
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic291cmNlLWxvYWRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWJzL3V0aWwvc291cmNlLWxvYWRlci9zb3VyY2UtbG9hZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxhQUFhLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUU5RCxNQUFNLENBQUMsTUFBTSxjQUFjLEdBQUcsQ0FBQztJQUU3QixJQUFJLFNBQW1CLENBQUM7SUFDeEIsSUFBSSxZQUE2QixDQUFDO0lBRWxDLE1BQU0sUUFBUSxHQUFHLElBQUksR0FBRyxFQUF1QixDQUFDO0lBQ2hELE1BQU0sZ0JBQWdCLEdBQUcsSUFBSSxHQUFHLEVBQStCLENBQUM7SUFFaEUsNkNBQTZDO0lBQzdDLFdBQVcsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUV0Qiw2Q0FBNkM7SUFDN0MsU0FBUyxXQUFXLENBQUMsUUFBa0I7UUFDckMsU0FBUyxHQUFHLFFBQVEsQ0FBQztRQUNyQixZQUFZLEdBQUcsU0FBUyxFQUFFLElBQUksQ0FBQztJQUNqQyxDQUFDO0lBRUQ7Ozs7Ozs7Ozs7Ozs7O09BY0c7SUFDSCxTQUFTLGlCQUFpQixDQUFDLFNBQTRDO1FBQ3JFLE1BQU0sQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDO2FBQ3RCLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxFQUFFLEVBQUU7WUFDeEIsSUFBSSxPQUFPLElBQUksS0FBSyxRQUFRLEVBQUUsQ0FBQztnQkFDN0IsSUFBSSxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDaEIsQ0FBQztZQUVELElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7Z0JBQ3hCLFFBQVEsQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFFLElBQUksR0FBRyxFQUFFLENBQUMsQ0FBQztZQUNoQyxDQUFDO1lBRUQs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QUM7WUFDSixDQUFDLENBQUMsQ0FBQztZQUVILGdCQUFnQixDQUFDLEdBQUcsQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDeEMsQ0FBQztRQUVELE9BQU8sZ0JBQWdCLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ3pDLENBQUM7SUFFRCxTQUFTLGdCQUFnQixDQUFDLEdBQVc7UUFDbkMsT0FBTyxHQUFHLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzdCLENBQUM7SUFFRCxTQUFTLFlBQVksQ0FBQyxHQUFXO1FBQy9CLE9BQU8sR0FBRyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUM5QixDQUFDO0lBRUQsT0FBTztRQUNMLFdBQVc7UUFDWCxpQkFBaUI7UUFDakIsWUFBWTtRQUNaLGFBQWE7UUFDYixNQUFNLEVBQUUsT0FBTztRQUNmLFVBQVUsRUFBRSxXQUFXO0tBQ3hCLENBQUM7QUFDSixDQUFDLENBQUMsRUFBRSxDQUFDO0FBRUwsTUFBTSxVQUFVLFVBQVUsQ0FBQyxJQUFJO0lBQzdCLE9BQU8sY0FBYyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQztBQUN6QyxDQUFDO0FBRUQsTUFBTSxVQUFVLE1BQU0sQ0FBQyxJQUFJO0lBQ3pCLE9BQU8sY0FBYyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztBQUNyQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY29tYmluZUxhdGVzdCwgT2JzZXJ2YWJsZSwgc2hhcmVSZXBsYXkgfSBmcm9tICdyeGpzJztcblxuZXhwb3J0IGNvbnN0IGZzU291cmNlTG9hZGVyID0gKGZ1bmN0aW9uKCkge1xuXG4gIGxldCBfZG9jdW1lbnQ6IERvY3VtZW50O1xuICBsZXQgX2hlYWRFbGVtZW50OiBIVE1MSGVhZEVsZW1lbnQ7XG5cbiAgY29uc3QgX3NvdXJjZXMgPSBuZXcgTWFwPHN0cmluZywgU2V0PHN0cmluZz4+KCk7XG4gIGNvbnN0IF9sb2FkZWRSZXNvdXJjZXMgPSBuZXcgTWFwPHN0cmluZywgT2JzZXJ2YWJsZTx1bmtub3duPj4oKTtcblxuICAvLyBiYWQgd2F5IGJ1dCBkb24ndCB3YW50IHRvIGJvdGhlciBkZXZlbG9wZXJcbiAgc2V0RG9jdW1lbnQoZG9jdW1lbnQpO1xuXG4gIC8vIGJ1dCBkZXZlbG9wZXIgY2FuIHNldCBkb2N1bWVudCBhdCBhbnkgdGltZVxuICBmdW5jdGlvbiBzZXREb2N1bWVudChkb2N1bWVudDogRG9jdW1lbnQpOiB2b2lkIHtcbiAgICBfZG9jdW1lbnQgPSBkb2N1bWVudDtcbiAgICBfaGVhZEVsZW1lbnQgPSBfZG9jdW1lbnQ/LmhlYWQ7XG4gIH1cblxuICAvKipcbiAgICogcmVnaXN0ZXIgYSBsaXN0IG9mIHRoZSByZXNvdXJjZXMgZm9yIGZ1dHVyZSBsb2FkaW5nXG4gICAqXG4gICAqIGV4YW1wbGU6XG4gICAqICAgc291cmNlTG9hZGVyLnJlZ2lzdGVyUmVzb3VyY2VzKHtcbiAgICogICAgIGZyb2FsYTogW1xuICAgKiAgICAgICAnL2Fzc2V0cy9qcy9mcm9hbGEvZnJvYWxhX2VkaXRvci5taW4uanMnLFxuICAgKiAgICAgICAnL2Fzc2V0cy9jc3MvZnJvYWxhX2VkaXRvci5wa2dkLm1pbi5jc3MnLFxuICAgKiAgICAgXSxcbiAgICogICAgIGZyb2FsYV9hbGlnbjogJy9hc3NldHMvanMvZnJvYWxhL3BsdWdpbnMvYWxpZ24ubWluLmpzJyxcbiAgICogICAgIGZyb2FsYV9jb2xvcnM6ICcvYXNzZXRzL2pzL2Zyb2FsYS9wbHVnaW5zL2NvbG9ycy5taW4uanMnLFxuICAgKiAgICAgZnJvYWxhX2ltYWdlOiAnL2Fzc2V0cy9qcy9mcm9hbGEvcGx1Z2lucy9pbWFnZS5taW4uanMnLFxuICAgKiAgIH0pO1xuICAgKlxuICAgKi9cbiAgZnVuY3Rpb24gcmVnaXN0ZXJSZXNvdXJjZXMocmVzb3VyY2VzOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmcgfCBzdHJpbmdbXT4pIHtcbiAgICBPYmplY3QuZW50cmllcyhyZXNvdXJjZXMpXG4gICAgICAuZm9yRWFjaCgoW25hbWUsIHBhdGhdKSA9PiB7XG4gICAgICAgIGlmICh0eXBlb2YgcGF0aCA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgICBwYXRoID0gW3BhdGhdO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCFfc291cmNlcy5oYXMobmFtZSkpIHtcbiAgICAgICAgICBfc291cmNlcy5zZXQobmFtZSwgbmV3IFNldCgpKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHJlc291cmNlc0xpc3QgPSBfc291cmNlcy5nZXQobmFtZSk7XG5cbiAgICAgICAgcGF0aC5mb3JFYWNoKChwKSA9PiB7XG4gICAgICAgICAgcmVzb3VyY2VzTGlzdC5hZGQocCk7XG4gICAgICAgIH0pO1xuICAgICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogbG9hZCBhbnkgcmVzb3VyY2UgcHJldmlvdXNseSByZWdpc3RlcmVkXG4gICAqXG4gICAqIHNvdXJjZUxvYWRlci5sb2FkUmVzb3VyY2UoJ2Zyb2FsYScpXG4gICAqXG4gICAqIG9yIGxvYWQgYW55IGpzL2NzcyBmaWxlXG4gICAqXG4gICAqIHNvdXJjZUxvYWRlci5sb2FkUmVzb3VyY2UoJy9hc3NldHMvbXktc291cmNlLmpzJylcbiAgICpcbiAgICovXG4gIGZ1bmN0aW9uIGxvYWRSZXNvdXJjZShuYW1lOiBzdHJpbmcpOiBPYnNlcnZhYmxlPHVua25vd24+IHwgbnVsbCB7XG4gICAgaWYgKF9sb2FkZWRSZXNvdXJjZXMuaGFzKG5hbWUpKSB7XG4gICAgICByZXR1cm4gX2xvYWRlZFJlc291cmNlcy5nZXQobmFtZSk7XG4gICAgfVxuXG4gICAgaWYgKF9zb3VyY2VzLmhhcyhuYW1lKSkge1xuICAgICAgY29uc3Qgc291cmNlc0ZvckxvYWRpbmcgPSBbLi4uX3NvdXJjZXMuZ2V0KG5hbWUpXVxuICAgICAgICAubWFwKChwYXRoKSA9PiB7XG4gICAgICAgICAgcmV0dXJuIF9sb2FkUmVzb3VyY2UocGF0aCk7XG4gICAgICAgIH0pXG4gICAgICAgIC5maWx0ZXIoKHYpID0+ICEhdik7XG5cbiAgICAgIHJldHVybiBjb21iaW5lTGF0ZXN0KHNvdXJjZXNGb3JMb2FkaW5nKTtcbiAgICB9XG5cbiAgICByZXR1cm4gX2xvYWRSZXNvdXJjZShuYW1lKTtcbiAgfVxuXG4gIC8qKlxuICAgKiB0aGUgc2FtZSBhcyBgbG9hZFJlc291cmNlYCBidXQgeW91IGNhbiBwYXNzIGxpc3Qgb2YgdGhlIHJlc291cmNlcyBmb3IgbG9hZGluZ1xuICAgKi9cbiAgZnVuY3Rpb24gbG9hZFJlc291cmNlcyhsaXN0T2ZSZXNvdXJjZXM6IHN0cmluZ1tdKTogT2JzZXJ2YWJsZTx1bmtub3duPiB7XG4gICAgY29uc3QgcmVzb3VyY2VzVG9Mb2FkID0gbGlzdE9mUmVzb3VyY2VzXG4gICAgICAucmVkdWNlKChhY2MsIG5hbWUpID0+IHtcblxuICAgICAgICBjb25zdCBsb2FkaW5nJCA9IGxvYWRSZXNvdXJjZShuYW1lKTtcblxuICAgICAgICBpZiAobG9hZGluZyQpIHtcbiAgICAgICAgICBhY2MucHVzaChsb2FkaW5nJCk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gYWNjO1xuICAgICAgfSwgW10pO1xuXG4gICAgcmV0dXJuIGNvbWJpbmVMYXRlc3QocmVzb3VyY2VzVG9Mb2FkKTtcbiAgfVxuXG4gIC8vL1xuXG4gIGZ1bmN0aW9uIF9sb2FkUmVzb3VyY2UocGF0aCk6IE9ic2VydmFibGU8dW5rbm93bj4gfCBudWxsIHtcbiAgICBpZiAoX2lzU3R5bGVzVXJsKHBhdGgpKSB7XG4gICAgICByZXR1cm4gX2xvYWRTdHlsZXMocGF0aCk7XG4gICAgfVxuXG4gICAgaWYgKF9pc0phdmFzY3JpcHRVcmwocGF0aCkpIHtcbiAgICAgIHJldHVybiBfbG9hZEpzKHBhdGgpO1xuICAgIH1cblxuICAgIGNvbnNvbGUud2FybihgUmVzb3VyY2UgJHtwYXRofSBjYW4gbm90IGJlIGlkZW50aWZpZWQgYW5kIGxvYWRlZGApO1xuXG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICBmdW5jdGlvbiBfbG9hZEpzKHNjcmlwdFBhdGg6IHN0cmluZyk6IE9ic2VydmFibGU8dW5rbm93bj4ge1xuICAgIGlmIChfbG9hZGVkUmVzb3VyY2VzLmhhcyhzY3JpcHRQYXRoKSkge1xuICAgICAgcmV0dXJuIF9sb2FkZWRSZXNvdXJjZXMuZ2V0KHNjcmlwdFBhdGgpXG4gICAgICAgIC5waXBlKFxuICAgICAgICAgIHNoYXJlUmVwbGF5KHsgYnVmZmVyU2l6ZTogMSwgcmVmQ291bnQ6IHRydWUgfSksXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgY29uc3Qgb2JzJCA9IG5ldyBPYnNlcnZhYmxlKChvYnMpID0+IHtcbiAgICAgIGNvbnN0IHNjcmlwdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NjcmlwdCcpO1xuICAgICAgc2NyaXB0LnNyYyA9IHNjcmlwdFBhdGg7XG4gICAgICBzY3JpcHQuYXN5bmMgPSB0cnVlO1xuXG4gICAgICBzY3JpcHQub25sb2FkID0gKCkgPT4ge1xuICAgICAgICBvYnMubmV4dChudWxsKTtcbiAgICAgICAgb2JzLmNvbXBsZXRlKCk7XG4gICAgICB9O1xuXG4gICAgICBzY3JpcHQub25lcnJvciA9IChlcnIpID0+IHtcbiAgICAgICAgb2JzLmVycm9yKGVycik7XG4gICAgICB9O1xuICAgICAgICBcbiAgICAgIF9oZWFkRWxlbWVudC5hcHBlbmRDaGlsZChzY3JpcHQpO1xuICAgIH0pO1xuXG4gICAgX2xvYWRlZFJlc291cmNlcy5zZXQoc2NyaXB0UGF0aCwgb2JzJCk7XG5cbiAgICByZXR1cm4gb2JzJDtcbiAgfVxuXG4gIGZ1bmN0aW9uIF9sb2FkU3R5bGVzKHN0eWxlUGF0aDogc3RyaW5nKTogT2JzZXJ2YWJsZTx1bmtub3duPiB7XG4gICAgaWYgKCFfbG9hZGVkUmVzb3VyY2VzLmhhcyhzdHlsZVBhdGgpKSB7XG4gICAgICBjb25zdCBvYnMkID0gbmV3IE9ic2VydmFibGUoKG9icykgPT4ge1xuICAgICAgICBjb25zdCBzdHlsZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2xpbmsnKTtcbiAgICAgICAgc3R5bGUuaWQgPSBzdHlsZVBhdGg7XG4gICAgICAgIHN0eWxlLnJlbCA9ICdzdHlsZXNoZWV0JztcbiAgICAgICAgc3R5bGUuaHJlZiA9IGAke3N0eWxlUGF0aH1gO1xuXG4gICAgICAgIF9oZWFkRWxlbWVudC5hcHBlbmRDaGlsZChzdHlsZSk7XG5cbiAgICAgICAgc3R5bGUub25sb2FkID0gKCkgPT4ge1xuICAgICAgICAgIG9icy5uZXh0KG51bGwpO1xuICAgICAgICAgIG9icy5jb21wbGV0ZSgpO1xuICAgICAgICB9O1xuXG4gICAgICAgIHN0eWxlLm9uZXJyb3IgPSAoZXJyKSA9PiB7XG4gICAgICAgICAgb2JzLmVycm9yKGVycik7XG4gICAgICAgIH07XG4gICAgICB9KTtcblxuICAgICAgX2xvYWRlZFJlc291cmNlcy5zZXQoc3R5bGVQYXRoLCBvYnMkKTtcbiAgICB9XG5cbiAgICByZXR1cm4gX2xvYWRlZFJlc291cmNlcy5nZXQoc3R5bGVQYXRoKTtcbiAgfVxuXG4gIGZ1bmN0aW9uIF9pc0phdmFzY3JpcHRVcmwodXJsOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdXJsLmVuZHNXaXRoKCcuanMnKTtcbiAgfVxuXG4gIGZ1bmN0aW9uIF9pc1N0eWxlc1VybCh1cmw6IHN0cmluZykge1xuICAgIHJldHVybiB1cmwuZW5kc1dpdGgoJy5jc3MnKTtcbiAgfVxuXG4gIHJldHVybiB7XG4gICAgc2V0RG9jdW1lbnQsXG4gICAgcmVnaXN0ZXJSZXNvdXJjZXMsXG4gICAgbG9hZFJlc291cmNlLFxuICAgIGxvYWRSZXNvdXJjZXMsXG4gICAgbG9hZEpzOiBfbG9hZEpzLFxuICAgIGxvYWRTdHlsZXM6IF9sb2FkU3R5bGVzLFxuICB9O1xufSkoKTtcblxuZXhwb3J0IGZ1bmN0aW9uIGxvYWRTdHlsZXMocGF0aCk6IE9ic2VydmFibGU8YW55PiB7XG4gIHJldHVybiBmc1NvdXJjZUxvYWRlci5sb2FkU3R5bGVzKHBhdGgpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gbG9hZEpzKHBhdGgpOiBPYnNlcnZhYmxlPGFueT4ge1xuICByZXR1cm4gZnNTb3VyY2VMb2FkZXIubG9hZEpzKHBhdGgpO1xufVxuIl19
|
|
156
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic291cmNlLWxvYWRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWJzL3V0aWwvc291cmNlLWxvYWRlci9zb3VyY2UtbG9hZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxhQUFhLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUU5RCxNQUFNLENBQUMsTUFBTSxjQUFjLEdBQUcsQ0FBQztJQUU3QixJQUFJLFNBQW1CLENBQUM7SUFDeEIsSUFBSSxZQUE2QixDQUFDO0lBRWxDLE1BQU0sUUFBUSxHQUFHLElBQUksR0FBRyxFQUF1QixDQUFDO0lBQ2hELE1BQU0sZ0JBQWdCLEdBQUcsSUFBSSxHQUFHLEVBQStCLENBQUM7SUFFaEUsNkNBQTZDO0lBQzdDLFdBQVcsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUV0Qiw2Q0FBNkM7SUFDN0MsU0FBUyxXQUFXLENBQUMsUUFBa0I7UUFDckMsU0FBUyxHQUFHLFFBQVEsQ0FBQztRQUNyQixZQUFZLEdBQUcsU0FBUyxFQUFFLElBQUksQ0FBQztJQUNqQyxDQUFDO0lBRUQ7Ozs7Ozs7Ozs7Ozs7O09BY0c7SUFDSCxTQUFTLGlCQUFpQixDQUFDLFNBQTRDO1FBQ3JFLE1BQU0sQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDO2FBQ3RCLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxFQUFFLEVBQUU7WUFDeEIsSUFBSSxPQUFPLElBQUksS0FBSyxRQUFRLEVBQUUsQ0FBQztnQkFDN0IsSUFBSSxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDaEIsQ0FBQztZQUVELElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7Z0JBQ3hCLFFBQVEsQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFFLElBQUksR0FBRyxFQUFFLENBQUMsQ0FBQztZQUNoQyxDQUFDO1lBRUQs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QUssQ0FBQyxHQUFHLENBQUMsQ0FBQztnQkFDakIsQ0FBQyxDQUFDO1lBQ0osQ0FBQyxDQUFDLENBQUM7WUFFSCxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ3hDLENBQUM7UUFFRCxPQUFPLGdCQUFnQixDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUN6QyxDQUFDO0lBRUQsU0FBUyxnQkFBZ0IsQ0FBQyxHQUFXO1FBQ25DLE9BQU8sR0FBRyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM3QixDQUFDO0lBRUQsU0FBUyxZQUFZLENBQUMsR0FBVztRQUMvQixPQUFPLEdBQUcsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDOUIsQ0FBQztJQUVELE9BQU87UUFDTCxXQUFXO1FBQ1gsaUJBQWlCO1FBQ2pCLFlBQVk7UUFDWixhQUFhO1FBQ2IsTUFBTSxFQUFFLE9BQU87UUFDZixVQUFVLEVBQUUsV0FBVztLQUN4QixDQUFDO0FBQ0osQ0FBQyxDQUFDLEVBQUUsQ0FBQztBQUVMLE1BQU0sVUFBVSxVQUFVLENBQUMsSUFBSTtJQUM3QixPQUFPLGNBQWMsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUM7QUFDekMsQ0FBQztBQUVELE1BQU0sVUFBVSxNQUFNLENBQUMsSUFBSTtJQUN6QixPQUFPLGNBQWMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7QUFDckMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNvbWJpbmVMYXRlc3QsIE9ic2VydmFibGUsIHNoYXJlUmVwbGF5IH0gZnJvbSAncnhqcyc7XG5cbmV4cG9ydCBjb25zdCBmc1NvdXJjZUxvYWRlciA9IChmdW5jdGlvbigpIHtcblxuICBsZXQgX2RvY3VtZW50OiBEb2N1bWVudDtcbiAgbGV0IF9oZWFkRWxlbWVudDogSFRNTEhlYWRFbGVtZW50O1xuXG4gIGNvbnN0IF9zb3VyY2VzID0gbmV3IE1hcDxzdHJpbmcsIFNldDxzdHJpbmc+PigpO1xuICBjb25zdCBfbG9hZGVkUmVzb3VyY2VzID0gbmV3IE1hcDxzdHJpbmcsIE9ic2VydmFibGU8dW5rbm93bj4+KCk7XG5cbiAgLy8gYmFkIHdheSBidXQgZG9uJ3Qgd2FudCB0byBib3RoZXIgZGV2ZWxvcGVyXG4gIHNldERvY3VtZW50KGRvY3VtZW50KTtcblxuICAvLyBidXQgZGV2ZWxvcGVyIGNhbiBzZXQgZG9jdW1lbnQgYXQgYW55IHRpbWVcbiAgZnVuY3Rpb24gc2V0RG9jdW1lbnQoZG9jdW1lbnQ6IERvY3VtZW50KTogdm9pZCB7XG4gICAgX2RvY3VtZW50ID0gZG9jdW1lbnQ7XG4gICAgX2hlYWRFbGVtZW50ID0gX2RvY3VtZW50Py5oZWFkO1xuICB9XG5cbiAgLyoqXG4gICAqIHJlZ2lzdGVyIGEgbGlzdCBvZiB0aGUgcmVzb3VyY2VzIGZvciBmdXR1cmUgbG9hZGluZ1xuICAgKlxuICAgKiBleGFtcGxlOlxuICAgKiAgIHNvdXJjZUxvYWRlci5yZWdpc3RlclJlc291cmNlcyh7XG4gICAqICAgICBmcm9hbGE6IFtcbiAgICogICAgICAgJy9hc3NldHMvanMvZnJvYWxhL2Zyb2FsYV9lZGl0b3IubWluLmpzJyxcbiAgICogICAgICAgJy9hc3NldHMvY3NzL2Zyb2FsYV9lZGl0b3IucGtnZC5taW4uY3NzJyxcbiAgICogICAgIF0sXG4gICAqICAgICBmcm9hbGFfYWxpZ246ICcvYXNzZXRzL2pzL2Zyb2FsYS9wbHVnaW5zL2FsaWduLm1pbi5qcycsXG4gICAqICAgICBmcm9hbGFfY29sb3JzOiAnL2Fzc2V0cy9qcy9mcm9hbGEvcGx1Z2lucy9jb2xvcnMubWluLmpzJyxcbiAgICogICAgIGZyb2FsYV9pbWFnZTogJy9hc3NldHMvanMvZnJvYWxhL3BsdWdpbnMvaW1hZ2UubWluLmpzJyxcbiAgICogICB9KTtcbiAgICpcbiAgICovXG4gIGZ1bmN0aW9uIHJlZ2lzdGVyUmVzb3VyY2VzKHJlc291cmNlczogUmVjb3JkPHN0cmluZywgc3RyaW5nIHwgc3RyaW5nW10+KSB7XG4gICAgT2JqZWN0LmVudHJpZXMocmVzb3VyY2VzKVxuICAgICAgLmZvckVhY2goKFtuYW1lLCBwYXRoXSkgPT4ge1xuICAgICAgICBpZiAodHlwZW9mIHBhdGggPT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgcGF0aCA9IFtwYXRoXTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICghX3NvdXJjZXMuaGFzKG5hbWUpKSB7XG4gICAgICAgICAgX3NvdXJjZXMuc2V0KG5hbWUsIG5ldyBTZXQoKSk7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCByZXNvdXJjZXNMaXN0ID0gX3NvdXJjZXMuZ2V0KG5hbWUpO1xuXG4gICAgICAgIHBhdGguZm9yRWFjaCgocCkgPT4ge1xuICAgICAgICAgIHJlc291cmNlc0xpc3QuYWRkKHApO1xuICAgICAgICB9KTtcbiAgICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIGxvYWQgYW55IHJlc291cmNlIHByZXZpb3VzbHkgcmVnaXN0ZXJlZFxuICAgKlxuICAgKiBzb3VyY2VMb2FkZXIubG9hZFJlc291cmNlKCdmcm9hbGEnKVxuICAgKlxuICAgKiBvciBsb2FkIGFueSBqcy9jc3MgZmlsZVxuICAgKlxuICAgKiBzb3VyY2VMb2FkZXIubG9hZFJlc291cmNlKCcvYXNzZXRzL215LXNvdXJjZS5qcycpXG4gICAqXG4gICAqL1xuICBmdW5jdGlvbiBsb2FkUmVzb3VyY2UobmFtZTogc3RyaW5nKTogT2JzZXJ2YWJsZTx1bmtub3duPiB8IG51bGwge1xuICAgIGlmIChfbG9hZGVkUmVzb3VyY2VzLmhhcyhuYW1lKSkge1xuICAgICAgcmV0dXJuIF9sb2FkZWRSZXNvdXJjZXMuZ2V0KG5hbWUpO1xuICAgIH1cblxuICAgIGlmIChfc291cmNlcy5oYXMobmFtZSkpIHtcbiAgICAgIGNvbnN0IHNvdXJjZXNGb3JMb2FkaW5nID0gWy4uLl9zb3VyY2VzLmdldChuYW1lKV1cbiAgICAgICAgLm1hcCgocGF0aCkgPT4ge1xuICAgICAgICAgIHJldHVybiBfbG9hZFJlc291cmNlKHBhdGgpO1xuICAgICAgICB9KVxuICAgICAgICAuZmlsdGVyKCh2KSA9PiAhIXYpO1xuXG4gICAgICByZXR1cm4gY29tYmluZUxhdGVzdChzb3VyY2VzRm9yTG9hZGluZyk7XG4gICAgfVxuXG4gICAgcmV0dXJuIF9sb2FkUmVzb3VyY2UobmFtZSk7XG4gIH1cblxuICAvKipcbiAgICogdGhlIHNhbWUgYXMgYGxvYWRSZXNvdXJjZWAgYnV0IHlvdSBjYW4gcGFzcyBsaXN0IG9mIHRoZSByZXNvdXJjZXMgZm9yIGxvYWRpbmdcbiAgICovXG4gIGZ1bmN0aW9uIGxvYWRSZXNvdXJjZXMobGlzdE9mUmVzb3VyY2VzOiBzdHJpbmdbXSk6IE9ic2VydmFibGU8dW5rbm93bj4ge1xuICAgIGNvbnN0IHJlc291cmNlc1RvTG9hZCA9IGxpc3RPZlJlc291cmNlc1xuICAgICAgLnJlZHVjZSgoYWNjLCBuYW1lKSA9PiB7XG5cbiAgICAgICAgY29uc3QgbG9hZGluZyQgPSBsb2FkUmVzb3VyY2UobmFtZSk7XG5cbiAgICAgICAgaWYgKGxvYWRpbmckKSB7XG4gICAgICAgICAgYWNjLnB1c2gobG9hZGluZyQpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGFjYztcbiAgICAgIH0sIFtdKTtcblxuICAgIHJldHVybiBjb21iaW5lTGF0ZXN0KHJlc291cmNlc1RvTG9hZCk7XG4gIH1cblxuICAvLy9cblxuICBmdW5jdGlvbiBfbG9hZFJlc291cmNlKHBhdGgpOiBPYnNlcnZhYmxlPHVua25vd24+IHwgbnVsbCB7XG4gICAgaWYgKF9pc1N0eWxlc1VybChwYXRoKSkge1xuICAgICAgcmV0dXJuIF9sb2FkU3R5bGVzKHBhdGgpO1xuICAgIH1cblxuICAgIGlmIChfaXNKYXZhc2NyaXB0VXJsKHBhdGgpKSB7XG4gICAgICByZXR1cm4gX2xvYWRKcyhwYXRoKTtcbiAgICB9XG5cbiAgICBjb25zb2xlLndhcm4oYFJlc291cmNlICR7cGF0aH0gY2FuIG5vdCBiZSBpZGVudGlmaWVkIGFuZCBsb2FkZWRgKTtcblxuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgZnVuY3Rpb24gX2xvYWRKcyhzY3JpcHRQYXRoOiBzdHJpbmcpOiBPYnNlcnZhYmxlPHVua25vd24+IHtcbiAgICBpZiAoX2xvYWRlZFJlc291cmNlcy5oYXMoc2NyaXB0UGF0aCkpIHtcbiAgICAgIHJldHVybiBfbG9hZGVkUmVzb3VyY2VzLmdldChzY3JpcHRQYXRoKTtcbiAgICB9XG5cbiAgICBjb25zdCBvYnMkID0gbmV3IE9ic2VydmFibGUoKG9icykgPT4ge1xuICAgICAgY29uc3Qgc2NyaXB0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc2NyaXB0Jyk7XG4gICAgICBzY3JpcHQuc3JjID0gc2NyaXB0UGF0aDtcbiAgICAgIHNjcmlwdC50eXBlID0gJ3RleHQvamF2YXNjcmlwdCc7IFxuICAgICAgc2NyaXB0LmFzeW5jID0gdHJ1ZTtcblxuICAgICAgc2NyaXB0Lm9ubG9hZCA9ICgpID0+IHtcbiAgICAgICAgb2JzLm5leHQobnVsbCk7XG4gICAgICAgIG9icy5jb21wbGV0ZSgpO1xuICAgICAgfTtcblxuICAgICAgc2NyaXB0Lm9uZXJyb3IgPSAoZXJyKSA9PiB7XG4gICAgICAgIG9icy5lcnJvcihlcnIpO1xuICAgICAgfTtcbiAgICAgICAgXG4gICAgICBfaGVhZEVsZW1lbnQuYXBwZW5kQ2hpbGQoc2NyaXB0KTtcbiAgICB9KVxuICAgICAgLnBpcGUoXG4gICAgICAgIHNoYXJlUmVwbGF5KHsgYnVmZmVyU2l6ZTogMSwgcmVmQ291bnQ6IHRydWUgfSksXG4gICAgICApO1xuXG4gICAgX2xvYWRlZFJlc291cmNlcy5zZXQoc2NyaXB0UGF0aCwgb2JzJCk7XG5cbiAgICByZXR1cm4gb2JzJDtcbiAgfVxuXG4gIGZ1bmN0aW9uIF9sb2FkU3R5bGVzKHN0eWxlUGF0aDogc3RyaW5nKTogT2JzZXJ2YWJsZTx1bmtub3duPiB7XG4gICAgaWYgKCFfbG9hZGVkUmVzb3VyY2VzLmhhcyhzdHlsZVBhdGgpKSB7XG4gICAgICBjb25zdCBvYnMkID0gbmV3IE9ic2VydmFibGUoKG9icykgPT4ge1xuICAgICAgICBjb25zdCBzdHlsZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2xpbmsnKTtcbiAgICAgICAgc3R5bGUuaWQgPSBzdHlsZVBhdGg7XG4gICAgICAgIHN0eWxlLnJlbCA9ICdzdHlsZXNoZWV0JztcbiAgICAgICAgc3R5bGUuaHJlZiA9IGAke3N0eWxlUGF0aH1gO1xuXG4gICAgICAgIF9oZWFkRWxlbWVudC5hcHBlbmRDaGlsZChzdHlsZSk7XG5cbiAgICAgICAgc3R5bGUub25sb2FkID0gKCkgPT4ge1xuICAgICAgICAgIG9icy5uZXh0KG51bGwpO1xuICAgICAgICAgIG9icy5jb21wbGV0ZSgpO1xuICAgICAgICB9O1xuXG4gICAgICAgIHN0eWxlLm9uZXJyb3IgPSAoZXJyKSA9PiB7XG4gICAgICAgICAgb2JzLmVycm9yKGVycik7XG4gICAgICAgIH07XG4gICAgICB9KTtcblxuICAgICAgX2xvYWRlZFJlc291cmNlcy5zZXQoc3R5bGVQYXRoLCBvYnMkKTtcbiAgICB9XG5cbiAgICByZXR1cm4gX2xvYWRlZFJlc291cmNlcy5nZXQoc3R5bGVQYXRoKTtcbiAgfVxuXG4gIGZ1bmN0aW9uIF9pc0phdmFzY3JpcHRVcmwodXJsOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdXJsLmVuZHNXaXRoKCcuanMnKTtcbiAgfVxuXG4gIGZ1bmN0aW9uIF9pc1N0eWxlc1VybCh1cmw6IHN0cmluZykge1xuICAgIHJldHVybiB1cmwuZW5kc1dpdGgoJy5jc3MnKTtcbiAgfVxuXG4gIHJldHVybiB7XG4gICAgc2V0RG9jdW1lbnQsXG4gICAgcmVnaXN0ZXJSZXNvdXJjZXMsXG4gICAgbG9hZFJlc291cmNlLFxuICAgIGxvYWRSZXNvdXJjZXMsXG4gICAgbG9hZEpzOiBfbG9hZEpzLFxuICAgIGxvYWRTdHlsZXM6IF9sb2FkU3R5bGVzLFxuICB9O1xufSkoKTtcblxuZXhwb3J0IGZ1bmN0aW9uIGxvYWRTdHlsZXMocGF0aCk6IE9ic2VydmFibGU8YW55PiB7XG4gIHJldHVybiBmc1NvdXJjZUxvYWRlci5sb2FkU3R5bGVzKHBhdGgpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gbG9hZEpzKHBhdGgpOiBPYnNlcnZhYmxlPGFueT4ge1xuICByZXR1cm4gZnNTb3VyY2VMb2FkZXIubG9hZEpzKHBhdGgpO1xufVxuIl19
|
|
@@ -857,12 +857,12 @@ const fsSourceLoader = (function () {
|
|
|
857
857
|
}
|
|
858
858
|
function _loadJs(scriptPath) {
|
|
859
859
|
if (_loadedResources.has(scriptPath)) {
|
|
860
|
-
return _loadedResources.get(scriptPath)
|
|
861
|
-
.pipe(shareReplay({ bufferSize: 1, refCount: true }));
|
|
860
|
+
return _loadedResources.get(scriptPath);
|
|
862
861
|
}
|
|
863
862
|
const obs$ = new Observable((obs) => {
|
|
864
863
|
const script = document.createElement('script');
|
|
865
864
|
script.src = scriptPath;
|
|
865
|
+
script.type = 'text/javascript';
|
|
866
866
|
script.async = true;
|
|
867
867
|
script.onload = () => {
|
|
868
868
|
obs.next(null);
|
|
@@ -872,7 +872,8 @@ const fsSourceLoader = (function () {
|
|
|
872
872
|
obs.error(err);
|
|
873
873
|
};
|
|
874
874
|
_headElement.appendChild(script);
|
|
875
|
-
})
|
|
875
|
+
})
|
|
876
|
+
.pipe(shareReplay({ bufferSize: 1, refCount: true }));
|
|
876
877
|
_loadedResources.set(scriptPath, obs$);
|
|
877
878
|
return obs$;
|
|
878
879
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"firestitch-common.mjs","sources":["../../src/app/directives/auto-focus.directive.ts","../../src/app/directives/auto-select.directive.ts","../../src/app/directives/model-change.directive.ts","../../src/app/directives/prevent-default.directive.ts","../../src/app/directives/stop-propagation.directive.ts","../../src/libs/util/guid/guid.ts","../../src/libs/util/is-empty/is-empty.ts","../../src/libs/util/stringify/stringify.ts","../../src/app/pipes/util.pipe.ts","../../src/libs/array/compare/compare.ts","../../src/libs/array/filter/filter.ts","../../src/libs/array/inArray/inArray.ts","../../src/libs/array/index/index.ts","../../src/libs/array/indexOf/indexOf.ts","../../src/libs/array/keyExists/keyExists.ts","../../src/libs/array/ksort/ksort.ts","../../src/libs/array/list/list.ts","../../src/libs/array/nameValue/nameValue.ts","../../src/libs/array/remove/remove.ts","../../src/libs/array/sort/sort.ts","../../src/libs/array/rsort/rsort.ts","../../src/libs/array/find/find.ts","../../src/libs/util/boolean/boolean.ts","../../src/libs/util/clone/clone.ts","../../src/libs/util/debounce/debounce.ts","../../src/libs/util/remove-query-params/remove-query-params.ts","../../src/libs/util/get-normalized-path/get-normalized-path.ts","../../src/libs/util/is-array-equal/is-array-equal.ts","../../src/libs/util/is-class/is-class.ts","../../src/libs/util/is-numeric/is-numeric.ts","../../src/libs/util/is-object/is-object.ts","../../src/libs/util/keys/keys.ts","../../src/libs/util/length/length.ts","../../src/libs/util/ordinal-number/ordinal-number.ts","../../src/libs/util/queue/operation.ts","../../src/libs/util/queue/queue.enum.ts","../../src/libs/util/queue/queue.ts","../../src/libs/util/resolve/resolve.ts","../../src/libs/util/round/round.ts","../../src/libs/util/source-loader/source-loader.ts","../../src/libs/util/throttle/throttle.ts","../../src/libs/util/to-string/to-string.ts","../../src/libs/util/uuid/uuid.ts","../../src/libs/util/value/value.ts","../../src/libs/format/number/number.ts","../../src/libs/format/acronym/acronym.ts","../../src/libs/format/currency/currency.ts","../../src/libs/format/truncate/truncate.ts","../../src/libs/validate/email/email.ts","../../src/libs/validate/phone/phone.ts","../../src/libs/validate/url/url.ts","../../src/libs/rxjs/delayedRetry.ts","../../src/libs/format/bytes/bytes.ts","../../src/app/pipes/bytes.pipe.ts","../../src/app/pipes/currency.pipe.ts","../../src/app/pipes/number.pipe.ts","../../src/app/pipes/ordinal-number.pipe.ts","../../src/app/pipes/truncate.pipe.ts","../../src/app/services/array.service.ts","../../src/app/services/math.service.ts","../../src/app/services/util.service.ts","../../src/app/services/vaildate.service.ts","../../src/app/fs-common.module.ts","../../src/libs/rxjs/keyboard-shortcut.ts","../../src/public_api.ts","../../src/firestitch-common.ts"],"sourcesContent":["import { AfterViewInit, Directive, ElementRef, Host, Input, Optional } from '@angular/core';\n\nimport { MatInput } from '@angular/material/input';\n\n\n@Directive({\n selector: '[fsAutofocus],[fsAutoFocus],[autofocus]',\n})\nexport class FsAutoFocusDirective implements AfterViewInit {\n\n @Input() public fsAutofocus = true;\n @Input() public fsAutoFocus = true;\n @Input() public autofocus = true;\n\n constructor(\n @Optional() @Host() private _matInput: MatInput,\n private _el: ElementRef,\n ) { }\n\n public ngAfterViewInit(): void {\n if (\n (this.fsAutofocus ?? true) === true && \n (this.fsAutofocus ?? true) === true && \n (this.autofocus ?? true) === true\n ) {\n this.focus();\n }\n }\n\n public focus(): void {\n setTimeout(() => {\n const tmpEl = document.createElement('input');\n tmpEl.style.width = '0';\n tmpEl.style.height = '0';\n tmpEl.style.margin = '0';\n tmpEl.style.padding = '0';\n tmpEl.style.border = '0';\n tmpEl.style.opacity = '0';\n document.body.appendChild(tmpEl);\n tmpEl.focus();\n\n if (this._matInput) {\n this._matInput.focus();\n } else if (this._el.nativeElement.focus) {\n this._el.nativeElement.focus();\n }\n\n document.body.removeChild(tmpEl);\n }, 50);\n }\n}\n","import { AfterViewInit, Directive, ElementRef, Input } from '@angular/core';\n\n\n@Directive({\n selector: '[fsAutoSelect]',\n})\nexport class FsAutoSelectDirective implements AfterViewInit {\n\n @Input() public fsAutoSelect = true;\n\n constructor(\n private _el: ElementRef,\n ) { }\n\n public ngAfterViewInit(): void {\n if ((this.fsAutoSelect ?? true) === true) {\n this.select();\n }\n }\n\n public select(): void {\n setTimeout(() => {\n if (this._el.nativeElement.focus) {\n this._el.nativeElement.select();\n }\n }, 50);\n }\n}\n","import { Directive, EventEmitter, Input, OnDestroy, OnInit, Output } from '@angular/core';\nimport { NgModel } from '@angular/forms';\n\nimport { Subject } from 'rxjs';\nimport { debounceTime, takeUntil } from 'rxjs/operators';\n\n\n@Directive({\n selector: '[fsModelChange]',\n})\nexport class FsModelChangeDirective implements OnInit, OnDestroy {\n\n @Input() public fsModelChangeOptions: { debounce?: number };\n\n @Output() public fsModelChange = new EventEmitter();\n\n private _destroy$ = new Subject();\n\n constructor(\n private _ngModel: NgModel,\n ) { }\n\n public ngOnInit(): void {\n this._ngModel.update\n .pipe(\n debounceTime(this.fsModelChangeOptions?.debounce || 500),\n takeUntil(this._destroy$),\n )\n .subscribe((value) => {\n this.fsModelChange.emit(value);\n });\n }\n\n public ngOnDestroy(): void {\n this._destroy$.next(null);\n this._destroy$.complete();\n }\n\n}\n","import { Directive, HostListener } from '@angular/core';\n\n@Directive({\n selector: '[fsPreventDefault]',\n})\nexport class FsPreventDefaultDirective {\n @HostListener('click', ['$event'])\n public preventClick(event) {\n event.preventDefault();\n }\n}\n","import { Directive, HostListener } from '@angular/core';\n\n@Directive({\n selector: '[fsStopPropagation]',\n})\nexport class FsStopPropagationDirective {\n @HostListener('click', ['$event'])\n public preventClick(event) {\n event.stopPropagation();\n }\n}\n","export function guid(pattern?: string, options: any = { case: 'lower', numbers: true }): string {\n pattern = pattern || 'xxxxxx';\n let s = '';\n\n if (options.numbers !== false) {\n s = '0123456789';\n }\n\n if (!options.case || options.case === 'lower' || options.case === 'mixed') {\n s = s.concat('abcdefghijklmnopqrstuvwxyz');\n }\n\n if (options.case === 'upper' || options.case === 'mixed') {\n s = s.concat('ABCDEFGHIJKLMNOPQRSTUVWXYZ');\n }\n\n const chars = s.match(/(.{1,1})/g);\n\n return pattern.replace(/[x]/g, function (c) {\n const i = (Math.random() * chars.length) | 0;\n\n return chars[i];\n });\n}\n","export function isEmpty(value, options?) {\n options = options || {};\n\n return value === undefined ||\n value === null ||\n value === false ||\n value === '' ||\n String(value).length === 0 ||\n (Array.isArray(value) && value.length === 0) ||\n (value instanceof Object && (value.constructor.name === 'Object' && !Object.keys(value).length)) ||\n (!options.zero && (value === 0 || value === '0')\n );\n}\n","export function stringify(value) {\n return JSON.stringify(value);\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\nimport { guid } from '../../libs/util/guid/guid';\nimport { isEmpty } from '../../libs/util/is-empty/is-empty';\nimport { stringify } from '../../libs/util/stringify/stringify';\n\n\n@Pipe({\n name: 'fsUtilStringify',\n})\nexport class FsUtilStringifyPipe implements PipeTransform {\n\n constructor() {}\n\n transform(value: any): string {\n return stringify(value);\n }\n}\n\n\n@Pipe({\n name: 'fsUtilGuid',\n})\nexport class FsUtilGuidPipe implements PipeTransform {\n constructor() {}\n\n transform(): string {\n return guid();\n }\n}\n\n@Pipe({\n name: 'fsUtilIsEmpty',\n})\nexport class FsUtilIsEmptyPipe implements PipeTransform {\n\n transform(value): any {\n return isEmpty(value);\n }\n}\n\n\n@Pipe({\n name: 'fsUtilIsNotEmpty',\n})\nexport class FsUtilIsNotEmptyPipe implements PipeTransform {\n\n transform(value): any {\n return !isEmpty(value);\n }\n}\n","export function compare(query, item) {\n\n let value = true;\n for (const key in query) {\n value = value && item[key] == query[key];\n }\n\n return value;\n}\n","import { compare } from '../compare';\n\nexport function filter(array, query) {\n\n if (typeof query !== 'function') {\n const queryObj = query;\n query = (item) => {\n return compare(queryObj, item);\n }\n }\n\n const isarray = Array.isArray(array);\n const list: any = isarray ? [] : {};\n if (isarray) {\n array.forEach(function (item, idx) {\n if (query(item)) {\n list.push(item);\n }\n });\n } else {\n Object.keys(array).forEach(key => {\n if (query(array[key])) {\n list[key] = array[key];\n }\n })\n }\n return list;\n}\n","export function inArray(values, array) {\n\n if (!Array.isArray(values)) {\n values = [values];\n }\n\n for (let i = 0, len = values.length; i < len; i++) {\n if (array.indexOf(values[i]) >= 0) {\n return true;\n }\n }\n\n return false;\n}\n","export function index(array, indexKey, valueKey = null) {\n const list = {};\n \n array.forEach(function (item) {\n list[item[indexKey]] = valueKey ? item[valueKey] : item;\n });\n \n return list;\n}\n","import { compare } from '../compare';\nexport function indexOf(array, query) {\n\n if (typeof query !== 'function') {\n const queryObj = query;\n query = (item) => {\n\n return compare(queryObj, item);\n }\n }\n\n for (let i = 0, len = array.length; i < len; i++) {\n if (query(array[i])) {\n return i;\n }\n }\n\n return -1;\n}\n","export function keyExists(array, key) {\n return array.hasOwnProperty(key);\n}\n","export function ksort(unordered) {\n Object.keys(unordered).sort().forEach(function (key) {\n const value = unordered[key];\n delete unordered[key];\n unordered[key] = value;\n });\n}\n","export function list(array, property, index = null) {\n const resultList: any = index ? {} : [];\n array.forEach(function (item, idx) {\n if (index) {\n resultList[item[index]] = item[property];\n } else {\n resultList.push(item[property]);\n }\n });\n return resultList;\n}\n","export function nameValue(array, name, value) {\n\n const list = [];\n if (name || value) {\n\n const nameFn = typeof name === 'function' ? name : function (item) {\n return item[name];\n };\n const valueFn = typeof value === 'function' ? value : function (item) {\n return item[value];\n };\n\n array.forEach(function (item) {\n list.push({name: nameFn(item), value: valueFn(item)});\n });\n\n } else {\n array.forEach(function (n, v) {\n list.push({name: n, value: v});\n });\n }\n\n return list;\n}\n","import { indexOf } from '../indexOf';\nexport function remove(array, query) {\n\n const idx = indexOf(array, query);\n\n if (idx >= 0) {\n return array.splice(idx, 1);\n }\n\n return idx;\n}\n","export function sort(array, query, reverse = false) {\n if (typeof query !== 'function') {\n const queryStr = query;\n query = function (a, b) {\n if (reverse) {\n if (a[queryStr] < b[queryStr]) {\n return 1;\n } else if (a[queryStr] > b[queryStr]) {\n return -1;\n }\n } else {\n if (a[queryStr] > b[queryStr]) {\n return 1;\n } else if (a[queryStr] < b[queryStr]) {\n return -1;\n }\n }\n return 0;\n };\n }\n\n array.sort(query);\n return array;\n}\n","import {sort} from '../sort'\n\nexport function rsort(array, query) {\n return sort(array, query, true);\n}\n","import { filter } from '../filter';\n\nexport function find(array, query) {\n const data = filter(array, query);\n return data.length ? data[0] : null;\n}\n","export function boolean(value) {\n return String(value).toLowerCase() !== 'false' && !!value;\n}\n","export function clone(obj) {\n if(obj instanceof Date) {\n return new Date(obj);\n } else if(Array.isArray(obj)) {\n\t\tconst arr = [];\n\t\tfor (let i = 0; i < obj.length; i++) {\n\t\t\tarr[i] = clone(obj[i]);\n\t\t}\n\n\t\treturn arr;\n\t} else if(typeof(obj) === 'object') {\n\t\tconst cloned = {};\n\t\tfor(let key in obj) {\n\t\t\tcloned[key] = clone(obj[key]);\n\t\t}\n\n\t\treturn cloned;\t\n\t}\n\n\treturn obj;\n}\n","export function debounce(func, wait, immediate) {\n let timeout;\n return function () {\n const context = this, args = arguments;\n const later = function () {\n timeout = null;\n if (!immediate) func.apply(context, args);\n };\n const callNow = immediate && !timeout;\n clearTimeout(timeout);\n timeout = setTimeout(later, wait);\n if (callNow) func.apply(context, args);\n };\n}\n","export function removeQueryParams(path: string) {\n return path.split('?')[0];\n}\n","import { Location } from '@angular/common';\nimport { removeQueryParams } from '../remove-query-params';\n\n\nexport function getNormalizedPath(locationSrv: Location) {\n const path = locationSrv.prepareExternalUrl(locationSrv.path());\n\n return removeQueryParams(path);\n}\n","export function isArrayEqual(arr1, arr2) {\n if (!Array.isArray(arr1) || !Array.isArray(arr2) || arr1.length !== arr2.length) {\n return false;\n }\n\n const sortFn = (a, b) => {\n if (a < b) {\n return -1;\n } else if (a > b) {\n return 1;\n } else {\n return 0;\n }\n }\n\n arr1 = [...arr1].sort(sortFn);\n arr2 = [...arr2].sort(sortFn);\n\n return arr1.every((value, index) => {\n return value === arr2[index];\n });\n}\n","export function isClass(value, cls) {\n\n if (typeof value === 'object') {\n\n if (typeof cls === 'string') {\n\n if (value.constructor) {\n if (value.constructor.name === cls) {\n return true;\n }\n }\n\n } else {\n\n if (value instanceof cls) {\n return true;\n }\n }\n }\n\n return false;\n}\n","export function isNumeric(value) {\n const str = String(value);\n\n return str.length && !!str.match(/^-?\\d*\\.?\\d*$/);\n}\n","export function isObject(value): boolean {\n return !!value && typeof value === 'object' && !Array.isArray(value);\n}\n","export const KEY_CANCEL = 3;\nexport const KEY_HELP = 6;\nexport const KEY_BACKSPACE = 8;\nexport const KEY_TAB = 9;\nexport const KEY_CLEAR = 12;\nexport const KEY_RETURN = 13;\nexport const KEY_ENTER = 14;\nexport const KEY_SHIFT = 16;\nexport const KEY_CONTROL = 17;\nexport const KEY_ALT = 18;\nexport const KEY_PAUSE = 19;\nexport const KEY_CAPS_LOCK = 20;\nexport const KEY_ESCAPE = 27;\nexport const KEY_SPACE = 32;\nexport const KEY_PAGE_UP = 33;\nexport const KEY_PAGE_DOWN = 34;\nexport const KEY_END = 35;\nexport const KEY_HOME = 36;\nexport const KEY_LEFT = 37;\nexport const KEY_UP = 38;\nexport const KEY_RIGHT = 39;\nexport const KEY_DOWN = 40;\nexport const KEY_PRINTSCREEN = 44;\nexport const KEY_INSERT = 45;\nexport const KEY_DELETE = 46;\nexport const KEY_0 = 48;\nexport const KEY_1 = 49;\nexport const KEY_2 = 50;\nexport const KEY_3 = 51;\nexport const KEY_4 = 52;\nexport const KEY_5 = 53;\nexport const KEY_6 = 54;\nexport const KEY_7 = 55;\nexport const KEY_8 = 56;\nexport const KEY_9 = 57;\nexport const KEY_SEMICOLON = 59;\nexport const KEY_EQUALS = 61;\n","export function length(object) {\n if (Array.isArray(object)) {\n return object.length;\n }\n\n if (object instanceof Object) {\n return Object.keys(object).length;\n }\n\n return 0;\n}\n","export function ordinalNumber(value: any): string {\n value = String(value);\n\n const index = value.match`1?.$`;\n const endings = [, 'st', 'nd', 'rd'];\n const ending = endings[index] || 'th';\n\n return value + ending;\n}\n","import { Observable, Subject, of } from 'rxjs';\nimport { guid } from '../guid';\n\n\nexport class Operation {\n\n public name: string;\n public target: Observable<any>;\n public ready$ = new Subject();\n\n constructor(target: Observable<any>, name?: string) {\n this.name = name ? name : guid();\n\n if (target instanceof Observable) {\n this.target = target;\n } else {\n this.target = of(target);\n }\n }\n}\n","export enum QueueState {\n Idle = 'idle',\n Processing = 'processing'\n}\n","import { Observable, of, Subject } from 'rxjs';\nimport { delay, finalize, map, take, takeUntil } from 'rxjs/operators';\n\nimport { Operation } from './operation';\nimport { QueueStats } from './queue-stats';\nimport { QueueState } from './queue.enum';\n\n\nexport class Queue {\n\n private _queueStats: QueueStats = {\n completed: 0,\n total: 0,\n errors: [],\n };\n\n private _doneQueueStats: QueueStats = {\n completed: 0,\n total: 0,\n errors: [],\n };\n\n private _completeQueueStats: QueueStats = {\n completed: 0,\n total: 0,\n errors: [],\n };\n\n private _done = new Subject<QueueStats>();\n private _queue: Operation[] = [];\n private _inProgress: Operation[] = [];\n private _state: QueueState = QueueState.Idle;\n private _destroy$ = new Subject<void>();\n \n constructor(\n private _limit = Infinity,\n //private _targets?: Observable<any>[],\n ) {\n // if(_targets) {\n // _targets.forEach((target) => {\n // this.push(target);\n // }); \n // }\n }\n\n public get total() {\n return this._queueStats.total;\n }\n\n public get completed() {\n return this._queueStats.completed;\n }\n\n public get pending() {\n return this._queue.length;\n }\n\n public get inProgress() {\n return this._inProgress.length;\n }\n\n public get errors() {\n return this._queueStats.errors;\n }\n\n public get state() {\n return this._state;\n }\n\n public get empty() {\n return !this._queue.length && !this._inProgress.length\n }\n\n public get pendingOperations(): string[] {\n return this._queue\n .map((operation) => operation.name);\n }\n\n public get inProgressOperations(): string[] {\n return this._inProgress\n .map((operation) => operation.name);\n }\n\n public isProcessing(): boolean {\n return this._state === QueueState.Processing;\n }\n\n public isIdle(): boolean {\n return this._state === QueueState.Idle;\n }\n\n public setLimit(value: number) {\n this._limit = value;\n }\n\n /**\n * @depreated\n */\n public subscribe(fun, err?, complete?): void {\n this.observe$\n .subscribe(fun, err, complete);\n }\n\n public get observe$(): Observable<QueueStats> {\n return this._done\n .pipe(\n takeUntil(this._destroy$),\n );\n }\n\n public get complete$(): Observable<QueueStats> {\n if (!this.isProcessing()) {\n return of({ total: 0, completed: 0, errors: [] });\n }\n\n return this.observe$\n .pipe(\n take(1),\n map(() => (this._completeQueueStats)),\n );\n }\n\n public complete(fun, err?, complete?): void {\n this.complete$.subscribe(fun, err, complete);\n }\n\n public push(target: Observable<any>, name?: string) {\n const operation = new Operation(target, name);\n\n this._queueStats.total++;\n this._doneQueueStats.total++;\n this._completeQueueStats.total++;\n this._state = QueueState.Processing;\n\n if (this._inProgress.length < this._limit) {\n this._processOperation(operation);\n } else {\n this._queue.push(operation);\n }\n\n return operation.ready$;\n }\n\n public clear(): void {\n this._queue = [];\n this._state = QueueState.Idle; \n this._queueStats = {\n total: 0,\n errors: [],\n completed: 0,\n };\n this._clearDoneQueueStats();\n }\n\n public destroy(): void { \n this._done.complete();\n this.clear();\n }\n\n private _processOperation(operation: Operation): void {\n this._inProgress.push(operation);\n\n operation.target\n .pipe(\n delay(200), // Hack to prevent extra quick proccess execution\n finalize(() => {\n const opIndex = this._inProgress.indexOf(operation);\n this._inProgress.splice(opIndex, 1);\n \n if (this.empty) {\n this._state = QueueState.Idle;\n this._done.next(this._doneQueueStats);\n this._clearDoneQueueStats();\n } else {\n if (this._queue.length) {\n const queueItem = this._queue.shift();\n this._processOperation(queueItem);\n }\n }\n }),\n takeUntil(this._destroy$),\n ).subscribe({\n next: (data) => {\n operation.ready$.next(data);\n },\n error: (error) => {\n this._queueStats.errors.push(error);\n this._doneQueueStats.errors.push(error);\n this._completeQueueStats.errors.push(error);\n\n operation.ready$.error(error);\n },\n complete: () => {\n this._queueStats.completed++;\n this._doneQueueStats.completed++;\n this._completeQueueStats.completed++;\n\n operation.ready$.complete();\n }\n });\n }\n\n private _clearDoneQueueStats(): void {\n this._doneQueueStats = {\n total: 0,\n errors: [],\n completed: 0,\n };\n }\n}\n","export function resolve(promise: Promise<object>, defaults = []) {\n const result = defaults;\n return new Promise(resolve => {\n promise.then(function (data) {\n Object.keys(data).forEach(key => result[key] = data[key]);\n resolve(result)\n });\n })\n}\n","export function round(num, decimalPlaces = 0) {\n num = parseFloat(parseFloat(num).toPrecision(Number.MAX_SAFE_INTEGER.toString().length - 1));\n const p = Math.pow(10, decimalPlaces);\n\n return Math.round(num * p) / p;\n}\n","import { combineLatest, Observable, shareReplay } from 'rxjs';\n\nexport const fsSourceLoader = (function() {\n\n let _document: Document;\n let _headElement: HTMLHeadElement;\n\n const _sources = new Map<string, Set<string>>();\n const _loadedResources = new Map<string, Observable<unknown>>();\n\n // bad way but don't want to bother developer\n setDocument(document);\n\n // but developer can set document at any time\n function setDocument(document: Document): void {\n _document = document;\n _headElement = _document?.head;\n }\n\n /**\n * register a list of the resources for future loading\n *\n * example:\n * sourceLoader.registerResources({\n * froala: [\n * '/assets/js/froala/froala_editor.min.js',\n * '/assets/css/froala_editor.pkgd.min.css',\n * ],\n * froala_align: '/assets/js/froala/plugins/align.min.js',\n * froala_colors: '/assets/js/froala/plugins/colors.min.js',\n * froala_image: '/assets/js/froala/plugins/image.min.js',\n * });\n *\n */\n function registerResources(resources: Record<string, string | string[]>) {\n Object.entries(resources)\n .forEach(([name, path]) => {\n if (typeof path === 'string') {\n path = [path];\n }\n\n if (!_sources.has(name)) {\n _sources.set(name, new Set());\n }\n\n const resourcesList = _sources.get(name);\n\n path.forEach((p) => {\n resourcesList.add(p);\n });\n });\n }\n\n /**\n * load any resource previously registered\n *\n * sourceLoader.loadResource('froala')\n *\n * or load any js/css file\n *\n * sourceLoader.loadResource('/assets/my-source.js')\n *\n */\n function loadResource(name: string): Observable<unknown> | null {\n if (_loadedResources.has(name)) {\n return _loadedResources.get(name);\n }\n\n if (_sources.has(name)) {\n const sourcesForLoading = [..._sources.get(name)]\n .map((path) => {\n return _loadResource(path);\n })\n .filter((v) => !!v);\n\n return combineLatest(sourcesForLoading);\n }\n\n return _loadResource(name);\n }\n\n /**\n * the same as `loadResource` but you can pass list of the resources for loading\n */\n function loadResources(listOfResources: string[]): Observable<unknown> {\n const resourcesToLoad = listOfResources\n .reduce((acc, name) => {\n\n const loading$ = loadResource(name);\n\n if (loading$) {\n acc.push(loading$);\n }\n\n return acc;\n }, []);\n\n return combineLatest(resourcesToLoad);\n }\n\n ///\n\n function _loadResource(path): Observable<unknown> | null {\n if (_isStylesUrl(path)) {\n return _loadStyles(path);\n }\n\n if (_isJavascriptUrl(path)) {\n return _loadJs(path);\n }\n\n console.warn(`Resource ${path} can not be identified and loaded`);\n\n return null;\n }\n\n function _loadJs(scriptPath: string): Observable<unknown> {\n if (_loadedResources.has(scriptPath)) {\n return _loadedResources.get(scriptPath)\n .pipe(\n shareReplay({ bufferSize: 1, refCount: true }),\n );\n }\n\n const obs$ = new Observable((obs) => {\n const script = document.createElement('script');\n script.src = scriptPath;\n script.async = true;\n\n script.onload = () => {\n obs.next(null);\n obs.complete();\n };\n\n script.onerror = (err) => {\n obs.error(err);\n };\n \n _headElement.appendChild(script);\n });\n\n _loadedResources.set(scriptPath, obs$);\n\n return obs$;\n }\n\n function _loadStyles(stylePath: string): Observable<unknown> {\n if (!_loadedResources.has(stylePath)) {\n const obs$ = new Observable((obs) => {\n const style = document.createElement('link');\n style.id = stylePath;\n style.rel = 'stylesheet';\n style.href = `${stylePath}`;\n\n _headElement.appendChild(style);\n\n style.onload = () => {\n obs.next(null);\n obs.complete();\n };\n\n style.onerror = (err) => {\n obs.error(err);\n };\n });\n\n _loadedResources.set(stylePath, obs$);\n }\n\n return _loadedResources.get(stylePath);\n }\n\n function _isJavascriptUrl(url: string) {\n return url.endsWith('.js');\n }\n\n function _isStylesUrl(url: string) {\n return url.endsWith('.css');\n }\n\n return {\n setDocument,\n registerResources,\n loadResource,\n loadResources,\n loadJs: _loadJs,\n loadStyles: _loadStyles,\n };\n})();\n\nexport function loadStyles(path): Observable<any> {\n return fsSourceLoader.loadStyles(path);\n}\n\nexport function loadJs(path): Observable<any> {\n return fsSourceLoader.loadJs(path);\n}\n","export function throttle(func, wait) {\n let waiting = false; \t// Initially, we're not waiting\n return function () { \t\t// We return a throttled function\n if (!waiting) { \t// If we're not waiting\n func.apply(null, arguments); // Execute users function\n waiting = true; \t// Prevent future invocations\n setTimeout(function () { \t\t// After a period of time\n waiting = false; \t// And allow future invocations\n }, wait);\n }\n }\n}\n","export function toString(value): string {\n if(value === null || value === undefined) {\n return '';\n }\n\n return `${value}`;\n}\n","import { guid } from '../guid';\n\nexport function uuid(): string {\n return guid('xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx');\n}\n\n","export function value(object, key, def) {\n\n if (typeof object === 'object' || Array.isArray(object)) {\n\n if (object.hasOwnProperty(key)) {\n return object[key];\n }\n }\n\n return def;\n}\n","import { isNumeric, round } from '../../util';\n\nexport function number(value, decimals?) {\n if(isNumeric(decimals)) {\n value = round(value, decimals);\n }\n\n return Number(value || 0).toLocaleString(undefined, { maximumFractionDigits: decimals });\n}\n","export function acronym(str: string, length = 2): string {\n const splittedString = str\n .replace(/[^a-zA-Z0-9]+/g, ' ')\n .split(' ');\n\n let result = '';\n\n for (let i = 0; i < length; i++) {\n if (!splittedString[i]) {\n if (splittedString.length === 1) {\n\n for (let j = 1; j < length; j++) {\n if (!splittedString[i-1][j]) {\n break;\n }\n result += splittedString[i-1][j].toUpperCase();\n }\n }\n break;\n }\n result += splittedString[i][0].toUpperCase();\n }\n\n return result;\n}\n","import { CurrencyPipe } from '@angular/common';\n\nimport { round } from '../../util/round';\n\n\nexport function currency(\n amount,\n precision: [number, number] | number = [2,10],\n currencyCode: string = 'USD',\n locale: string = 'en-US',\n) {\n const digitsInfo = Array.isArray(precision) ? precision : [precision, precision];\n amount = round(amount, digitsInfo[1]);\n\n return new CurrencyPipe(locale)\n .transform(amount, currencyCode, 'symbol', `1.${digitsInfo[0]}-${digitsInfo[1]}`);\n}\n","export function truncate(value: string, limit = 100, completeWords = false, ellipsis = '...') {\n\n value = value || '';\n\n if (completeWords) {\n limit = value.substr(0, limit).lastIndexOf(' ');\n }\n\n let result = `${value.substr(0, limit)}`;\n\n if (result !== value) {\n result += ellipsis;\n }\n\n return result;\n\n}\n","export function email(value) {\n return !!String(value).match(/^(([^<>()\\[\\]\\\\.,;:\\s@\"]+(\\.[^<>()\\[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/);\n}\n","export function phone(value) {\n const valid = /^[\\+]?[(]?[0-9]{3}[)]?[-\\s\\.]?[0-9]{3}[-\\s\\.]?[0-9]{4}/.test(value);\n return valid || !String(value).length;\n}\n","/**\n * Check validity of the url.\n * Protocol (http/https) isn't required.\n * @param value\n * @returns {boolean}\n */\n\nexport function url(value) {\n const expression = /^(?:http(s)?:\\/\\/)?[\\w.-]+(?:\\.[\\w\\.-]+)+[\\w\\-\\._~:/?#%[\\]@!\\$&'\\(\\)\\*\\+,;=.]+$/gm;\n const regexp = new RegExp(expression);\n\n return !!String(value).match(regexp);\n}\n","import { iif, Observable, throwError, timer } from 'rxjs';\nimport { concatMap, retryWhen, tap } from 'rxjs/operators';\n\n\nexport function delayedRetry(delayMs: number, maxRetry = 5, message?: string) {\n let retries = 0;\n\n return (src: Observable<unknown>) =>\n src.pipe(\n retryWhen((errors: Observable<unknown>) =>\n errors.pipe(\n tap(() => {\n retries++;\n\n if (retries <= maxRetry) {\n console.info(`Failed to load Resource. Retry in ${delayMs / 1000} sec. ${retries}/${maxRetry} times...`)\n }\n }),\n concatMap((error) =>\n iif(\n () => retries > maxRetry,\n throwError(getErrorMessage(maxRetry, message)),\n timer(delayMs),\n ),\n ),\n )\n )\n )\n}\n\n\n\nconst getErrorMessage = (maxRetry: number, defaultMessage: string) => {\n if (!defaultMessage) {\n return `Failed to load Resource for ${maxRetry} times. Giving up.`;\n } else {\n return defaultMessage\n }\n}\n","import { isNumeric } from '../../../libs';\n\nexport function bytes(bytes: number, decimals?: number, unit?: 'KB' | 'MB' | 'GB' | 'TB' | 'PB') {\n if (!bytes) { \n return '0 MB'; \n }\n const e = typeof unit === 'string' ?\n 'KMGTP'.indexOf(unit.replace('B', '')) + 1 :\n Math.floor(Math.log(bytes) / Math.log(1024));\n\n if(!isNumeric(decimals)) {\n decimals = (bytes / 1024) > 1000 ? 2 : 0;\n }\n\n return `${(bytes / Math.pow(1024, e))\n .toFixed(decimals)}`\n .replace(/\\.00/, '')\n + ' '\n + (e ? ' KMGTP'.charAt(e) : '') + 'B';\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { bytes } from '../../libs/format/bytes/bytes';\n\n@Pipe({\n name: 'fsFormatBytes',\n})\nexport class FsFormatBytesPipe implements PipeTransform {\n\n transform(value: number, decimals?, unit?: 'KB' | 'MB' | 'GB' | 'TB' | 'PB'): string {\n return bytes(value, decimals, unit);\n }\n}\n","import { Inject, LOCALE_ID, Pipe, PipeTransform } from '@angular/core';\n\nimport { currency } from '../../libs/format/currency/currency';\n\n\n@Pipe({\n name: 'fsFormatCurrency',\n})\nexport class FsFormatCurrencyPipe implements PipeTransform {\n\n constructor(@Inject(LOCALE_ID) public locale: string) { }\n\n public transform(\n amount,\n precision: [number, number] | number = 2,\n currencyCode?: string,\n ): string {\n return currency(amount, precision, currencyCode);\n }\n\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { number } from '../../libs/format/number/number';\n\n@Pipe({\n name: 'fsFormatNumber'\n})\nexport class FsFormatNumberPipe implements PipeTransform {\n\n transform(value, decimals?): string {\n return number(value, decimals);\n }\n}\n","import { PipeTransform, Pipe } from '@angular/core';\nimport { ordinalNumber } from '../../libs/util/ordinal-number/ordinal-number';\n\n@Pipe({\n name: 'fsFormatOrdinalNumber',\n})\nexport class FsFormatOrdinalNumberPipe implements PipeTransform {\n\n public transform(value: any): string {\n return ordinalNumber(value);\n }\n\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { truncate } from '../../libs/format/truncate/truncate';\n\n\n@Pipe({\n name: 'fsFormatTruncate'\n})\nexport class FsFormatTruncatePipe implements PipeTransform {\n\n constructor() { }\n\n transform(value, limit?, completeWords?, ellipsis?): string {\n return truncate(value, limit, completeWords, ellipsis);\n }\n\n}\n","import { Injectable } from '@angular/core';\n\n@Injectable()\nexport class FsArray {\n /**\n * @deprecated use import { nameValue } from @firestitch/common/array; instead\n */\n public nameValue(array, name, value): Array<any> {\n console.warn('@deprecated use import { nameValue } from @firestitch/common/array; instead');\n let list = [];\n if (name || value) {\n\n let nameFn = typeof name === 'function' ? name : function (item) { return item[name] };\n let valueFn = typeof value === 'function' ? value : function (item) { return item[value] };\n\n array.forEach(function (item) {\n list.push({ name: nameFn(item), value: valueFn(item) });\n });\n\n } else {\n array.forEach(function (name, value) {\n list.push({ name: name, value: value });\n });\n }\n\n return list;\n }\n\n /**\n * @deprecated use import { remove } from @firestitch/common/array; instead\n */\n public remove(array, query): any {\n console.warn('@deprecated use import { remove } from @firestitch/common/array; instead');\n let idx = this.indexOf(array, query);\n\n if (idx >= 0) {\n return array.splice(idx, 1);\n }\n\n return idx;\n }\n\n /**\n * @deprecated use import { indexOf } from @firestitch/common/array; instead\n */\n public indexOf(array, query): number {\n console.warn('@deprecated use import { indexOf } from @firestitch/common/array; instead');\n if (typeof query !== 'function') {\n let queryObj = query;\n query = (item) => {\n\n return this.compare(queryObj, item);\n }\n }\n\n for (let i = 0, len = array.length; i < len; i++) {\n if (query(array[i])) {\n return i;\n }\n }\n\n return -1;\n }\n\n /**\n * @deprecated use import { compare } from @firestitch/common/array; instead\n */\n public compare(query, item): boolean {\n console.warn('@deprecated use import { compare } from @firestitch/common/array; instead');\n let value = true;\n for (let key in query) {\n value = value && item[key] == query[key];\n }\n\n return value;\n }\n\n /**\n * @deprecated use import { filter } from @firestitch/common/array; instead\n */\n public filter(array, query): Array<any> {\n console.warn('@deprecated use import { filter } from @firestitch/common/array; instead');\n if (typeof query !== 'function') {\n let queryObj = query;\n query = (item) => {\n\n return this.compare(queryObj, item);\n }\n }\n\n let isarray = Array.isArray(array);\n let list: any = isarray ? [] : {};\n if (isarray)\n array.forEach(function (item, idx) {\n if (query(item)) {\n list.push(item);\n }\n });\n else Object.keys(array).forEach(key => {\n if (query(array[key])) {\n list[key] = array[key];\n }\n })\n return list;\n }\n\n /**\n * @deprecated use import { index } from @firestitch/common/array; instead\n */\n public index(array, property): Object {\n console.warn('@deprecated use import { index } from @firestitch/common/array; instead');\n let list = {};\n array.forEach(function (item, idx) {\n list[item[property]] = item;\n });\n return list;\n }\n\n\n /**\n * @deprecated use import { sort } from @firestitch/common/array; instead\n */\n public sort(array, query, reverse = false): Array<any> {\n console.warn('@deprecated use import { sort } from @firestitch/common/array; instead');\n if (typeof query !== 'function') {\n let queryStr = query;\n query = function (a, b) {\n if (reverse) {\n if (a[queryStr] < b[queryStr]) {\n return 1;\n } else if (a[queryStr] > b[queryStr]) {\n return -1;\n }\n } else {\n if (a[queryStr] > b[queryStr]) {\n return 1;\n } else if (a[queryStr] < b[queryStr]) {\n return -1;\n }\n }\n return 0;\n };\n }\n\n array.sort(query);\n return array;\n }\n\n /**\n * @deprecated use import { rsort } from @firestitch/common/array; instead\n */\n public rsort(array, query): Array<any> {\n console.warn('@deprecated use import { rsort } from @firestitch/common/array; instead');\n return this.sort(array, query, true);\n }\n\n\n /**\n * @deprecated use import { list } from @firestitch/common/array; instead\n */\n public list(array, property, index = null): Object {\n console.warn('@deprecated use import { list } from @firestitch/common/array; instead');\n let list: any = index ? {} : [];\n array.forEach(function (item, idx) {\n if (index) {\n list[item[index]] = item[property];\n } else {\n list.push(item[property]);\n }\n });\n return list;\n }\n\n /**\n * @deprecated use import { applyDepth } from @firestitch/common/array; instead\n */\n public applyDepth(objects, parent_property, id_property = 'id', depth_property = 'depth') {\n console.warn('@deprecated use import { applyDepth } from @firestitch/common/array; instead');\n let keyed = {};\n objects.forEach(function (object) {\n if (!object[parent_property]) {\n object[depth_property] = 0;\n }\n keyed[object[id_property]] = object;\n });\n Object.keys(keyed).forEach(key => {\n Object.keys(keyed).forEach(key => {\n let object = keyed[key];\n if (!keyed[key][depth_property]) {\n if (keyed[key][parent_property]) {\n keyed[key][depth_property] = keyed[keyed[key][parent_property]][depth_property] + 1;\n }\n }\n })\n })\n\n return keyed;\n }\n\n /**\n * @deprecated use import { inArray } from @firestitch/common/array; instead\n */\n inArray(values, array) {\n console.warn('@deprecated use import { inArray } from @firestitch/common/array; instead');\n if (!Array.isArray(values)) {\n values = [values];\n }\n\n for (let i = 0, len = values.length; i < len; i++) {\n if (array.indexOf(values[i]) >= 0) {\n return true;\n }\n }\n\n return false;\n }\n\n /**\n * @deprecated use import { keyExists } from @firestitch/common/array; instead\n */\n keyExists(array, key) {\n console.warn('@deprecated use import { keyExists } from @firestitch/common/array; instead');\n return array.hasOwnProperty(key);\n }\n\n /**\n * @deprecated use import { length } from @firestitch/common/array; instead\n */\n length(array) {\n console.warn('@deprecated use import { length } from @firestitch/common/array; instead');\n return array.length;\n }\n\n /**\n * @deprecated use import { ksort } from @firestitch/common/array; instead\n */\n ksort(unordered) {\n console.warn('@deprecated use import { ksort } from @firestitch/common/array; instead');\n Object.keys(unordered).sort().forEach(function (key) {\n let value = unordered[key];\n delete unordered[key];\n unordered[key] = value;\n });\n }\n\n\n}\n","import { Injectable } from '@angular/core';\n\n@Injectable()\nexport class FsMath {\n\n /**\n * @deprecated use _.round() instead {@link https://lodash.com/docs/4.17.5#round}\n */\n public round(number, precision): number {\n console.warn('@deprecated use _.round() instead {@link https://lodash.com/docs/4.17.5#round}');\n precision = precision || 0;\n let factor = Math.pow(10, precision);\n let tempNumber = number * factor;\n let roundedTempNumber = Math.round(tempNumber);\n return roundedTempNumber / factor;\n }\n}\n","import { Injectable } from '@angular/core';\n\nexport const KEY_CANCEL = 3,\n KEY_HELP = 6,\n KEY_BACKSPACE = 8,\n KEY_TAB = 9,\n KEY_CLEAR = 12,\n KEY_RETURN = 13,\n KEY_ENTER = 14,\n KEY_SHIFT = 16,\n KEY_CONTROL = 17,\n KEY_ALT = 18,\n KEY_PAUSE = 19,\n KEY_CAPS_LOCK = 20,\n KEY_ESCAPE = 27,\n KEY_SPACE = 32,\n KEY_PAGE_UP = 33,\n KEY_PAGE_DOWN = 34,\n KEY_END = 35,\n KEY_HOME = 36,\n KEY_LEFT = 37,\n KEY_UP = 38,\n KEY_RIGHT = 39,\n KEY_DOWN = 40,\n KEY_PRINTSCREEN = 44,\n KEY_INSERT = 45,\n KEY_DELETE = 46,\n KEY_0 = 48,\n KEY_1 = 49,\n KEY_2 = 50,\n KEY_3 = 51,\n KEY_4 = 52,\n KEY_5 = 53,\n KEY_6 = 54,\n KEY_7 = 55,\n KEY_8 = 56,\n KEY_9 = 57,\n KEY_SEMICOLON = 59,\n KEY_EQUALS = 61;\n\n/*\n Basically, just copy-pasted functionality from fs-boilerplate v1.x, with some small changes (like we dont have angular.bind anymore, had to go with a workaround)\n There might be a better way to organise constatns but I need to know use-cases\n*/\n\n\n@Injectable()\nexport class FsUtil {\n\n private intervals = {};\n\n /**\n * @deprecated use @firestitch/common/util/guid instead\n */\n public guid(pattern?: string): string {\n console.warn('@deprecated use @firestitch/common/util/guid instead');\n pattern = pattern || 'xxxxxx';\n return pattern.replace(/[xy]/g, function(c) {\n var r = Math.random() * 16 | 0, v = c == 'x' ? r : (r & 0x3 | 0x8);\n return v.toString(16);\n });\n }\n\n /**\n * @deprecated use import { uuid } from @firestitch/common/util; instead\n */\n public uuid(): string {\n console.warn('@deprecated use @firestitch/common/util/uuid instead');\n return this.guid('xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx');\n }\n\n /**\n * @deprecated use import { resolve } from @firestitch/common/util; instead\n */\n public resolve(promise: Promise<object>, defaults = []): Promise<object> {\n console.warn('@deprecated use @firestitch/common/util/resolve instead');\n const result = defaults;\n return new Promise(resolve => {\n promise.then(function (data) {\n Object.keys(data).forEach(key => result[key] = data[key])\n resolve(result)\n });\n })\n }\n\n /**\n * @deprecated use _.toInteger() instead\n */\n public int(value: any): number {\n console.warn('@deprecated use _.toInteger() instead');\n value = parseInt(value);\n if (isNaN(value)) {\n value = 0;\n }\n return value;\n }\n\n /**\n * @deprecated use _.toFinite() instead\n */\n public float(value): number {\n console.warn('@deprecated use _.toFinite() instead');\n value = parseFloat(value);\n if (isNaN(value)) {\n value = 0;\n }\n return value;\n }\n\n /**\n * @deprecated use _.toString() instead\n */\n public string(string): string {\n console.warn('@deprecated use _.toString() instead');\n if (string === null || string === undefined) {\n string = '';\n }\n\n return (string).toString();\n }\n\n /**\n * @deprecated use import { isEmpty } from @firestitch/common/util; instead\n */\n public isEmpty(value, options?): boolean {\n console.warn('@deprecated use import { isEmpty } from @firestitch/common/util; instead');\n options = options || {};\n return value === undefined ||\n value === null ||\n value === false ||\n value === '' ||\n !this.string(value).length ||\n (\n this.isObject(value) &&\n (value.constructor.name === 'Object' && !Object.keys(value).length)) ||\n (!options.zero && (value === 0 || value === '0')\n );\n }\n\n /**\n * @deprecated use _.isInteger() instead\n */\n public isInt(value, type?) {\n console.warn('@deprecated use _.isInteger() instead');\n const int = !!this.string(value).match(/^\\d+$/);\n\n if (!int) {\n return false;\n }\n\n if (type) {\n return Number.isInteger(value);\n }\n\n return true;\n }\n\n /**\n * @deprecated use _.each() instead {@link https://lodash.com/docs/4.17.5#forEach}\n */\n public each(object, func) {\n console.warn('@deprecated use _.each() instead {@link https://lodash.com/docs/4.17.5#forEach}');\n if (!this.isArray(object) && !this.isObject(object)) {\n return;\n }\n\n Object.keys(object).forEach(function(key) {\n func(object[key],key);\n });\n }\n\n /**\n * @deprecated use _.isArrayLikeObject() {@link https://lodash.com/docs/4.17.5#isArrayLikeObject}\n * or _.isObject() {@link https://lodash.com/docs/4.17.5#isObject} instead\n */\n public isObject(value): boolean {\n console.warn('@deprecated use _.isArrayLikeObject() {@link https://lodash.com/docs/4.17.5#isArrayLikeObject} or _.isObject() {@link https://lodash.com/docs/4.17.5#isObject} instead');\n return value !== null && typeof value === 'object' && !this.isArray(value);\n }\n\n /**\n * @deprecated use _.isString() instead {@link https://lodash.com/docs/4.17.5#isString}\n */\n public isString(value): boolean {\n console.warn('@deprecated use _.isString() instead {@link https://lodash.com/docs/4.17.5#isString}');\n return typeof value === 'string' || value instanceof String;\n }\n\n /**\n * @deprecated use _.isArray() instead {@link https://lodash.com/docs/4.17.5#isArray}\n */\n public isArray(value): boolean {\n console.warn('@deprecated use _.isArray() instead {@link https://lodash.com/docs/4.17.5#isArray}');\n return value instanceof Array;\n }\n\n /**\n * @deprecated use import { isNumeric } from @firestitch/common/util; instead\n */\n public isNumeric(value): boolean {\n console.warn('@deprecated use import { isNumeric } from @firestitch/common/util; instead');\n return this.string(value).length && !!this.string(value).match(/^-?\\d*\\.?\\d*$/);\n }\n\n /**\n * @deprecated use import { isClass } from @firestitch/common/util; instead\n */\n public isClass(value, cls) {\n console.warn('@deprecated use import { isClass } from @firestitch/common/util; instead');\n if (this.isObject(value)) {\n\n if (this.isString(cls)) {\n\n if (value.constructor) {\n if (value.constructor.name === cls) {\n return true;\n }\n }\n\n } else {\n\n if (value instanceof cls) {\n return true;\n }\n }\n }\n\n return false;\n }\n\n /**\n * @deprecated use _.isBoolean() instead {@link https://lodash.com/docs/4.17.5#isBoolean}\n */\n public isBoolean(value): boolean {\n console.warn('@deprecated use _.isBoolean() instead {@link https://lodash.com/docs/4.17.5#isBoolean}');\n return value === true || value === false;\n }\n\n /**\n * @deprecated use import { value } from @firestitch/common/util; instead\n */\n public value(object, key, def): any {\n console.warn('@deprecated use import { value } from @firestitch/common/util; instead');\n if (this.isObject(object) || this.isArray(object)) {\n\n if (object.hasOwnProperty(key)) {\n return object[key];\n }\n }\n\n return def;\n }\n\n public throttle(func, wait) {\n console.warn('@deprecated use import { throttle } from @firestitch/common/util; instead');\n let waiting = false; \t// Initially, we're not waiting\n return function () { \t\t// We return a throttled function\n if (!waiting) { \t// If we're not waiting\n func.apply(null, arguments); // Execute users function\n waiting = true; \t// Prevent future invocations\n setTimeout(function () { \t\t// After a period of time\n waiting = false; \t// And allow future invocations\n }, wait);\n }\n }\n }\n\n /**\n * @deprecated use import { debounce } from @firestitch/common/util; instead\n */\n public debounce(func, wait, immediate) {\n console.warn('@deprecated use import { debounce } from @firestitch/common/util; instead');\n var timeout;\n return function () {\n var context = this, args = arguments;\n var later = function () {\n timeout = null;\n if (!immediate) func.apply(context, args);\n };\n var callNow = immediate && !timeout;\n clearTimeout(timeout);\n timeout = setTimeout(later, wait);\n if (callNow) func.apply(context, args);\n };\n }\n\n /**\n * @deprecated use import { length } from @firestitch/common/util; instead\n */\n public length(object): number {\n console.warn('@deprecated use import { length } from @firestitch/common/util; instead');\n if (this.isObject(object)) {\n return Object.keys(object).length;\n }\n\n if (this.isArray(object)) {\n return object.length;\n }\n\n return 0;\n }\n\n /**\n * @deprecated use import { boolean } from @firestitch/common/util; instead\n */\n public boolean(value) {\n console.warn('@deprecated use import { boolean } from @firestitch/common/util; instead');\n return this.string(value).toLowerCase() !== 'false' && !!value;\n }\n\n /**\n * @deprecated use import { stringify } from @firestitch/common/util; instead\n */\n public stringify(value) {\n console.warn('@deprecated use import { stringify } from @firestitch/common/util; instead');\n return JSON.stringify(value);\n }\n}\n","import { Injectable } from '@angular/core';\nimport { FsUtil } from './util.service';\n\n@Injectable()\nexport class FsValidate {\n\n constructor(private fsUtil: FsUtil) { }\n\n /**\n * @deprecated use import { email } from @firestitch/common/validate; instead\n */\n phone(value) {\n const valid = /^[\\+]?[(]?[0-9]{3}[)]?[-\\s\\.]?[0-9]{3}[-\\s\\.]?[0-9]{4,6}$/.test(value);\n return valid || !String(value).length;\n }\n\n /**\n * @deprecated use import { email } from @firestitch/common/validate; instead\n */\n email(value) {\n return !!this.fsUtil.string(value).match(/^(([^<>()\\[\\]\\\\.,;:\\s@\"]+(\\.[^<>()\\[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/);\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { ModuleWithProviders, NgModule } from '@angular/core';\n\nimport { FsAutoFocusDirective, FsAutoSelectDirective, FsModelChangeDirective } from './directives';\nimport { FsPreventDefaultDirective } from './directives/prevent-default.directive';\nimport { FsStopPropagationDirective } from './directives/stop-propagation.directive';\nimport { FsFormatBytesPipe } from './pipes';\nimport { FsFormatCurrencyPipe } from './pipes/currency.pipe';\nimport { FsFormatNumberPipe } from './pipes/number.pipe';\nimport { FsFormatOrdinalNumberPipe } from './pipes/ordinal-number.pipe';\nimport { FsFormatTruncatePipe } from './pipes/truncate.pipe';\nimport {\n FsUtilGuidPipe,\n FsUtilIsEmptyPipe,\n FsUtilIsNotEmptyPipe,\n FsUtilStringifyPipe,\n} from './pipes/util.pipe';\nimport { FsArray } from './services/array.service';\nimport { FsMath } from './services/math.service';\nimport { FsUtil } from './services/util.service';\nimport { FsValidate } from './services/vaildate.service';\n\n\n@NgModule({\n imports: [\n CommonModule,\n ],\n declarations: [\n FsStopPropagationDirective,\n FsPreventDefaultDirective,\n FsAutoFocusDirective,\n FsAutoSelectDirective,\n FsUtilGuidPipe,\n FsUtilIsEmptyPipe,\n FsUtilIsNotEmptyPipe,\n FsUtilStringifyPipe,\n FsFormatNumberPipe,\n FsFormatCurrencyPipe,\n FsFormatTruncatePipe,\n FsFormatBytesPipe,\n FsFormatOrdinalNumberPipe,\n FsModelChangeDirective,\n ],\n exports: [\n FsStopPropagationDirective,\n FsPreventDefaultDirective,\n FsAutoFocusDirective,\n FsAutoSelectDirective,\n FsUtilGuidPipe,\n FsUtilStringifyPipe,\n FsFormatNumberPipe,\n FsFormatCurrencyPipe,\n FsFormatTruncatePipe,\n FsUtilIsEmptyPipe,\n FsUtilIsNotEmptyPipe,\n FsFormatBytesPipe,\n FsModelChangeDirective,\n FsFormatOrdinalNumberPipe,\n ],\n})\nexport class FsCommonModule {\n public static forRoot(): ModuleWithProviders<FsCommonModule> {\n return {\n ngModule: FsCommonModule,\n providers: [\n FsArray,\n FsMath,\n FsUtil,\n FsValidate,\n ],\n };\n }\n}\n","import { combineLatest, fromEvent, merge, Observable } from 'rxjs';\nimport { distinctUntilChanged, filter, share } from 'rxjs/operators';\n\n\nexport const keyboardShortcut = (shortcut: unknown[]): Observable<KeyboardEvent[]> => {\n // Observables for all keydown and keyup events\n const keyDown$ = fromEvent<KeyboardEvent>(document, 'keydown');\n const keyUp$ = fromEvent<KeyboardEvent>(document, 'keyup');\n\n // All KeyboardEvents - emitted only when KeyboardEvent changes (key or type)\n const keyEvents$ = merge(keyDown$, keyUp$).pipe(\n distinctUntilChanged((a, b) => a.code === b.code && a.type === b.type),\n share(),\n );\n\n // Create KeyboardEvent Observable for specified KeyCode\n const createKeyPressStream = (charCode: unknown) =>\n keyEvents$.pipe(filter((event) => event.keyCode === charCode));\n\n // Create Event Stream for every KeyCode in shortcut\n const keyCodeEvents$ = shortcut.map((s) => createKeyPressStream(s));\n\n // Emit when specified keys are pressed (keydown).\n // Emit only when all specified keys are pressed at the same time.\n // More on combineLatest below\n return combineLatest(keyCodeEvents$).pipe(\n filter<KeyboardEvent[]>((arr) => arr.every((a) => a.type === 'keydown'))\n );\n};\n","// Modules\nexport { FsCommonModule } from './app/fs-common.module';\n\n// Services\nexport { FsArray } from './app/services/array.service';\nexport { FsMath } from './app/services/math.service';\nexport { FsUtil } from './app/services/util.service';\nexport { FsValidate } from './app/services/vaildate.service';\n\nexport * from './app/directives';\nexport * from './libs';\n\n\nexport {\n FsUtilGuidPipe, FsUtilIsEmptyPipe,\n FsUtilIsNotEmptyPipe, FsUtilStringifyPipe\n} from './app/pipes/util.pipe';\n\nexport * from './app/directives';\nexport { FsFormatBytesPipe } from './app/pipes/bytes.pipe';\nexport { FsFormatCurrencyPipe } from './app/pipes/currency.pipe';\nexport { FsFormatNumberPipe } from './app/pipes/number.pipe';\nexport { FsFormatOrdinalNumberPipe } from './app/pipes/ordinal-number.pipe';\nexport { FsFormatTruncatePipe } from './app/pipes/truncate.pipe';\nexport { keyboardShortcut } from './libs/rxjs/keyboard-shortcut';\n\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["i1","KEY_CANCEL","KEY_HELP","KEY_BACKSPACE","KEY_TAB","KEY_CLEAR","KEY_RETURN","KEY_ENTER","KEY_SHIFT","KEY_CONTROL","KEY_ALT","KEY_PAUSE","KEY_CAPS_LOCK","KEY_ESCAPE","KEY_SPACE","KEY_PAGE_UP","KEY_PAGE_DOWN","KEY_END","KEY_HOME","KEY_LEFT","KEY_UP","KEY_RIGHT","KEY_DOWN","KEY_PRINTSCREEN","KEY_INSERT","KEY_DELETE","KEY_0","KEY_1","KEY_2","KEY_3","KEY_4","KEY_5","KEY_6","KEY_7","KEY_8","KEY_9","KEY_SEMICOLON","KEY_EQUALS","i1.FsUtil","filter"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"firestitch-common.mjs","sources":["../../src/app/directives/auto-focus.directive.ts","../../src/app/directives/auto-select.directive.ts","../../src/app/directives/model-change.directive.ts","../../src/app/directives/prevent-default.directive.ts","../../src/app/directives/stop-propagation.directive.ts","../../src/libs/util/guid/guid.ts","../../src/libs/util/is-empty/is-empty.ts","../../src/libs/util/stringify/stringify.ts","../../src/app/pipes/util.pipe.ts","../../src/libs/array/compare/compare.ts","../../src/libs/array/filter/filter.ts","../../src/libs/array/inArray/inArray.ts","../../src/libs/array/index/index.ts","../../src/libs/array/indexOf/indexOf.ts","../../src/libs/array/keyExists/keyExists.ts","../../src/libs/array/ksort/ksort.ts","../../src/libs/array/list/list.ts","../../src/libs/array/nameValue/nameValue.ts","../../src/libs/array/remove/remove.ts","../../src/libs/array/sort/sort.ts","../../src/libs/array/rsort/rsort.ts","../../src/libs/array/find/find.ts","../../src/libs/util/boolean/boolean.ts","../../src/libs/util/clone/clone.ts","../../src/libs/util/debounce/debounce.ts","../../src/libs/util/remove-query-params/remove-query-params.ts","../../src/libs/util/get-normalized-path/get-normalized-path.ts","../../src/libs/util/is-array-equal/is-array-equal.ts","../../src/libs/util/is-class/is-class.ts","../../src/libs/util/is-numeric/is-numeric.ts","../../src/libs/util/is-object/is-object.ts","../../src/libs/util/keys/keys.ts","../../src/libs/util/length/length.ts","../../src/libs/util/ordinal-number/ordinal-number.ts","../../src/libs/util/queue/operation.ts","../../src/libs/util/queue/queue.enum.ts","../../src/libs/util/queue/queue.ts","../../src/libs/util/resolve/resolve.ts","../../src/libs/util/round/round.ts","../../src/libs/util/source-loader/source-loader.ts","../../src/libs/util/throttle/throttle.ts","../../src/libs/util/to-string/to-string.ts","../../src/libs/util/uuid/uuid.ts","../../src/libs/util/value/value.ts","../../src/libs/format/number/number.ts","../../src/libs/format/acronym/acronym.ts","../../src/libs/format/currency/currency.ts","../../src/libs/format/truncate/truncate.ts","../../src/libs/validate/email/email.ts","../../src/libs/validate/phone/phone.ts","../../src/libs/validate/url/url.ts","../../src/libs/rxjs/delayedRetry.ts","../../src/libs/format/bytes/bytes.ts","../../src/app/pipes/bytes.pipe.ts","../../src/app/pipes/currency.pipe.ts","../../src/app/pipes/number.pipe.ts","../../src/app/pipes/ordinal-number.pipe.ts","../../src/app/pipes/truncate.pipe.ts","../../src/app/services/array.service.ts","../../src/app/services/math.service.ts","../../src/app/services/util.service.ts","../../src/app/services/vaildate.service.ts","../../src/app/fs-common.module.ts","../../src/libs/rxjs/keyboard-shortcut.ts","../../src/public_api.ts","../../src/firestitch-common.ts"],"sourcesContent":["import { AfterViewInit, Directive, ElementRef, Host, Input, Optional } from '@angular/core';\n\nimport { MatInput } from '@angular/material/input';\n\n\n@Directive({\n selector: '[fsAutofocus],[fsAutoFocus],[autofocus]',\n})\nexport class FsAutoFocusDirective implements AfterViewInit {\n\n @Input() public fsAutofocus = true;\n @Input() public fsAutoFocus = true;\n @Input() public autofocus = true;\n\n constructor(\n @Optional() @Host() private _matInput: MatInput,\n private _el: ElementRef,\n ) { }\n\n public ngAfterViewInit(): void {\n if (\n (this.fsAutofocus ?? true) === true && \n (this.fsAutofocus ?? true) === true && \n (this.autofocus ?? true) === true\n ) {\n this.focus();\n }\n }\n\n public focus(): void {\n setTimeout(() => {\n const tmpEl = document.createElement('input');\n tmpEl.style.width = '0';\n tmpEl.style.height = '0';\n tmpEl.style.margin = '0';\n tmpEl.style.padding = '0';\n tmpEl.style.border = '0';\n tmpEl.style.opacity = '0';\n document.body.appendChild(tmpEl);\n tmpEl.focus();\n\n if (this._matInput) {\n this._matInput.focus();\n } else if (this._el.nativeElement.focus) {\n this._el.nativeElement.focus();\n }\n\n document.body.removeChild(tmpEl);\n }, 50);\n }\n}\n","import { AfterViewInit, Directive, ElementRef, Input } from '@angular/core';\n\n\n@Directive({\n selector: '[fsAutoSelect]',\n})\nexport class FsAutoSelectDirective implements AfterViewInit {\n\n @Input() public fsAutoSelect = true;\n\n constructor(\n private _el: ElementRef,\n ) { }\n\n public ngAfterViewInit(): void {\n if ((this.fsAutoSelect ?? true) === true) {\n this.select();\n }\n }\n\n public select(): void {\n setTimeout(() => {\n if (this._el.nativeElement.focus) {\n this._el.nativeElement.select();\n }\n }, 50);\n }\n}\n","import { Directive, EventEmitter, Input, OnDestroy, OnInit, Output } from '@angular/core';\nimport { NgModel } from '@angular/forms';\n\nimport { Subject } from 'rxjs';\nimport { debounceTime, takeUntil } from 'rxjs/operators';\n\n\n@Directive({\n selector: '[fsModelChange]',\n})\nexport class FsModelChangeDirective implements OnInit, OnDestroy {\n\n @Input() public fsModelChangeOptions: { debounce?: number };\n\n @Output() public fsModelChange = new EventEmitter();\n\n private _destroy$ = new Subject();\n\n constructor(\n private _ngModel: NgModel,\n ) { }\n\n public ngOnInit(): void {\n this._ngModel.update\n .pipe(\n debounceTime(this.fsModelChangeOptions?.debounce || 500),\n takeUntil(this._destroy$),\n )\n .subscribe((value) => {\n this.fsModelChange.emit(value);\n });\n }\n\n public ngOnDestroy(): void {\n this._destroy$.next(null);\n this._destroy$.complete();\n }\n\n}\n","import { Directive, HostListener } from '@angular/core';\n\n@Directive({\n selector: '[fsPreventDefault]',\n})\nexport class FsPreventDefaultDirective {\n @HostListener('click', ['$event'])\n public preventClick(event) {\n event.preventDefault();\n }\n}\n","import { Directive, HostListener } from '@angular/core';\n\n@Directive({\n selector: '[fsStopPropagation]',\n})\nexport class FsStopPropagationDirective {\n @HostListener('click', ['$event'])\n public preventClick(event) {\n event.stopPropagation();\n }\n}\n","export function guid(pattern?: string, options: any = { case: 'lower', numbers: true }): string {\n pattern = pattern || 'xxxxxx';\n let s = '';\n\n if (options.numbers !== false) {\n s = '0123456789';\n }\n\n if (!options.case || options.case === 'lower' || options.case === 'mixed') {\n s = s.concat('abcdefghijklmnopqrstuvwxyz');\n }\n\n if (options.case === 'upper' || options.case === 'mixed') {\n s = s.concat('ABCDEFGHIJKLMNOPQRSTUVWXYZ');\n }\n\n const chars = s.match(/(.{1,1})/g);\n\n return pattern.replace(/[x]/g, function (c) {\n const i = (Math.random() * chars.length) | 0;\n\n return chars[i];\n });\n}\n","export function isEmpty(value, options?) {\n options = options || {};\n\n return value === undefined ||\n value === null ||\n value === false ||\n value === '' ||\n String(value).length === 0 ||\n (Array.isArray(value) && value.length === 0) ||\n (value instanceof Object && (value.constructor.name === 'Object' && !Object.keys(value).length)) ||\n (!options.zero && (value === 0 || value === '0')\n );\n}\n","export function stringify(value) {\n return JSON.stringify(value);\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\nimport { guid } from '../../libs/util/guid/guid';\nimport { isEmpty } from '../../libs/util/is-empty/is-empty';\nimport { stringify } from '../../libs/util/stringify/stringify';\n\n\n@Pipe({\n name: 'fsUtilStringify',\n})\nexport class FsUtilStringifyPipe implements PipeTransform {\n\n constructor() {}\n\n transform(value: any): string {\n return stringify(value);\n }\n}\n\n\n@Pipe({\n name: 'fsUtilGuid',\n})\nexport class FsUtilGuidPipe implements PipeTransform {\n constructor() {}\n\n transform(): string {\n return guid();\n }\n}\n\n@Pipe({\n name: 'fsUtilIsEmpty',\n})\nexport class FsUtilIsEmptyPipe implements PipeTransform {\n\n transform(value): any {\n return isEmpty(value);\n }\n}\n\n\n@Pipe({\n name: 'fsUtilIsNotEmpty',\n})\nexport class FsUtilIsNotEmptyPipe implements PipeTransform {\n\n transform(value): any {\n return !isEmpty(value);\n }\n}\n","export function compare(query, item) {\n\n let value = true;\n for (const key in query) {\n value = value && item[key] == query[key];\n }\n\n return value;\n}\n","import { compare } from '../compare';\n\nexport function filter(array, query) {\n\n if (typeof query !== 'function') {\n const queryObj = query;\n query = (item) => {\n return compare(queryObj, item);\n }\n }\n\n const isarray = Array.isArray(array);\n const list: any = isarray ? [] : {};\n if (isarray) {\n array.forEach(function (item, idx) {\n if (query(item)) {\n list.push(item);\n }\n });\n } else {\n Object.keys(array).forEach(key => {\n if (query(array[key])) {\n list[key] = array[key];\n }\n })\n }\n return list;\n}\n","export function inArray(values, array) {\n\n if (!Array.isArray(values)) {\n values = [values];\n }\n\n for (let i = 0, len = values.length; i < len; i++) {\n if (array.indexOf(values[i]) >= 0) {\n return true;\n }\n }\n\n return false;\n}\n","export function index(array, indexKey, valueKey = null) {\n const list = {};\n \n array.forEach(function (item) {\n list[item[indexKey]] = valueKey ? item[valueKey] : item;\n });\n \n return list;\n}\n","import { compare } from '../compare';\nexport function indexOf(array, query) {\n\n if (typeof query !== 'function') {\n const queryObj = query;\n query = (item) => {\n\n return compare(queryObj, item);\n }\n }\n\n for (let i = 0, len = array.length; i < len; i++) {\n if (query(array[i])) {\n return i;\n }\n }\n\n return -1;\n}\n","export function keyExists(array, key) {\n return array.hasOwnProperty(key);\n}\n","export function ksort(unordered) {\n Object.keys(unordered).sort().forEach(function (key) {\n const value = unordered[key];\n delete unordered[key];\n unordered[key] = value;\n });\n}\n","export function list(array, property, index = null) {\n const resultList: any = index ? {} : [];\n array.forEach(function (item, idx) {\n if (index) {\n resultList[item[index]] = item[property];\n } else {\n resultList.push(item[property]);\n }\n });\n return resultList;\n}\n","export function nameValue(array, name, value) {\n\n const list = [];\n if (name || value) {\n\n const nameFn = typeof name === 'function' ? name : function (item) {\n return item[name];\n };\n const valueFn = typeof value === 'function' ? value : function (item) {\n return item[value];\n };\n\n array.forEach(function (item) {\n list.push({name: nameFn(item), value: valueFn(item)});\n });\n\n } else {\n array.forEach(function (n, v) {\n list.push({name: n, value: v});\n });\n }\n\n return list;\n}\n","import { indexOf } from '../indexOf';\nexport function remove(array, query) {\n\n const idx = indexOf(array, query);\n\n if (idx >= 0) {\n return array.splice(idx, 1);\n }\n\n return idx;\n}\n","export function sort(array, query, reverse = false) {\n if (typeof query !== 'function') {\n const queryStr = query;\n query = function (a, b) {\n if (reverse) {\n if (a[queryStr] < b[queryStr]) {\n return 1;\n } else if (a[queryStr] > b[queryStr]) {\n return -1;\n }\n } else {\n if (a[queryStr] > b[queryStr]) {\n return 1;\n } else if (a[queryStr] < b[queryStr]) {\n return -1;\n }\n }\n return 0;\n };\n }\n\n array.sort(query);\n return array;\n}\n","import {sort} from '../sort'\n\nexport function rsort(array, query) {\n return sort(array, query, true);\n}\n","import { filter } from '../filter';\n\nexport function find(array, query) {\n const data = filter(array, query);\n return data.length ? data[0] : null;\n}\n","export function boolean(value) {\n return String(value).toLowerCase() !== 'false' && !!value;\n}\n","export function clone(obj) {\n if(obj instanceof Date) {\n return new Date(obj);\n } else if(Array.isArray(obj)) {\n\t\tconst arr = [];\n\t\tfor (let i = 0; i < obj.length; i++) {\n\t\t\tarr[i] = clone(obj[i]);\n\t\t}\n\n\t\treturn arr;\n\t} else if(typeof(obj) === 'object') {\n\t\tconst cloned = {};\n\t\tfor(let key in obj) {\n\t\t\tcloned[key] = clone(obj[key]);\n\t\t}\n\n\t\treturn cloned;\t\n\t}\n\n\treturn obj;\n}\n","export function debounce(func, wait, immediate) {\n let timeout;\n return function () {\n const context = this, args = arguments;\n const later = function () {\n timeout = null;\n if (!immediate) func.apply(context, args);\n };\n const callNow = immediate && !timeout;\n clearTimeout(timeout);\n timeout = setTimeout(later, wait);\n if (callNow) func.apply(context, args);\n };\n}\n","export function removeQueryParams(path: string) {\n return path.split('?')[0];\n}\n","import { Location } from '@angular/common';\nimport { removeQueryParams } from '../remove-query-params';\n\n\nexport function getNormalizedPath(locationSrv: Location) {\n const path = locationSrv.prepareExternalUrl(locationSrv.path());\n\n return removeQueryParams(path);\n}\n","export function isArrayEqual(arr1, arr2) {\n if (!Array.isArray(arr1) || !Array.isArray(arr2) || arr1.length !== arr2.length) {\n return false;\n }\n\n const sortFn = (a, b) => {\n if (a < b) {\n return -1;\n } else if (a > b) {\n return 1;\n } else {\n return 0;\n }\n }\n\n arr1 = [...arr1].sort(sortFn);\n arr2 = [...arr2].sort(sortFn);\n\n return arr1.every((value, index) => {\n return value === arr2[index];\n });\n}\n","export function isClass(value, cls) {\n\n if (typeof value === 'object') {\n\n if (typeof cls === 'string') {\n\n if (value.constructor) {\n if (value.constructor.name === cls) {\n return true;\n }\n }\n\n } else {\n\n if (value instanceof cls) {\n return true;\n }\n }\n }\n\n return false;\n}\n","export function isNumeric(value) {\n const str = String(value);\n\n return str.length && !!str.match(/^-?\\d*\\.?\\d*$/);\n}\n","export function isObject(value): boolean {\n return !!value && typeof value === 'object' && !Array.isArray(value);\n}\n","export const KEY_CANCEL = 3;\nexport const KEY_HELP = 6;\nexport const KEY_BACKSPACE = 8;\nexport const KEY_TAB = 9;\nexport const KEY_CLEAR = 12;\nexport const KEY_RETURN = 13;\nexport const KEY_ENTER = 14;\nexport const KEY_SHIFT = 16;\nexport const KEY_CONTROL = 17;\nexport const KEY_ALT = 18;\nexport const KEY_PAUSE = 19;\nexport const KEY_CAPS_LOCK = 20;\nexport const KEY_ESCAPE = 27;\nexport const KEY_SPACE = 32;\nexport const KEY_PAGE_UP = 33;\nexport const KEY_PAGE_DOWN = 34;\nexport const KEY_END = 35;\nexport const KEY_HOME = 36;\nexport const KEY_LEFT = 37;\nexport const KEY_UP = 38;\nexport const KEY_RIGHT = 39;\nexport const KEY_DOWN = 40;\nexport const KEY_PRINTSCREEN = 44;\nexport const KEY_INSERT = 45;\nexport const KEY_DELETE = 46;\nexport const KEY_0 = 48;\nexport const KEY_1 = 49;\nexport const KEY_2 = 50;\nexport const KEY_3 = 51;\nexport const KEY_4 = 52;\nexport const KEY_5 = 53;\nexport const KEY_6 = 54;\nexport const KEY_7 = 55;\nexport const KEY_8 = 56;\nexport const KEY_9 = 57;\nexport const KEY_SEMICOLON = 59;\nexport const KEY_EQUALS = 61;\n","export function length(object) {\n if (Array.isArray(object)) {\n return object.length;\n }\n\n if (object instanceof Object) {\n return Object.keys(object).length;\n }\n\n return 0;\n}\n","export function ordinalNumber(value: any): string {\n value = String(value);\n\n const index = value.match`1?.$`;\n const endings = [, 'st', 'nd', 'rd'];\n const ending = endings[index] || 'th';\n\n return value + ending;\n}\n","import { Observable, Subject, of } from 'rxjs';\nimport { guid } from '../guid';\n\n\nexport class Operation {\n\n public name: string;\n public target: Observable<any>;\n public ready$ = new Subject();\n\n constructor(target: Observable<any>, name?: string) {\n this.name = name ? name : guid();\n\n if (target instanceof Observable) {\n this.target = target;\n } else {\n this.target = of(target);\n }\n }\n}\n","export enum QueueState {\n Idle = 'idle',\n Processing = 'processing'\n}\n","import { Observable, of, Subject } from 'rxjs';\nimport { delay, finalize, map, take, takeUntil } from 'rxjs/operators';\n\nimport { Operation } from './operation';\nimport { QueueStats } from './queue-stats';\nimport { QueueState } from './queue.enum';\n\n\nexport class Queue {\n\n private _queueStats: QueueStats = {\n completed: 0,\n total: 0,\n errors: [],\n };\n\n private _doneQueueStats: QueueStats = {\n completed: 0,\n total: 0,\n errors: [],\n };\n\n private _completeQueueStats: QueueStats = {\n completed: 0,\n total: 0,\n errors: [],\n };\n\n private _done = new Subject<QueueStats>();\n private _queue: Operation[] = [];\n private _inProgress: Operation[] = [];\n private _state: QueueState = QueueState.Idle;\n private _destroy$ = new Subject<void>();\n \n constructor(\n private _limit = Infinity,\n //private _targets?: Observable<any>[],\n ) {\n // if(_targets) {\n // _targets.forEach((target) => {\n // this.push(target);\n // }); \n // }\n }\n\n public get total() {\n return this._queueStats.total;\n }\n\n public get completed() {\n return this._queueStats.completed;\n }\n\n public get pending() {\n return this._queue.length;\n }\n\n public get inProgress() {\n return this._inProgress.length;\n }\n\n public get errors() {\n return this._queueStats.errors;\n }\n\n public get state() {\n return this._state;\n }\n\n public get empty() {\n return !this._queue.length && !this._inProgress.length\n }\n\n public get pendingOperations(): string[] {\n return this._queue\n .map((operation) => operation.name);\n }\n\n public get inProgressOperations(): string[] {\n return this._inProgress\n .map((operation) => operation.name);\n }\n\n public isProcessing(): boolean {\n return this._state === QueueState.Processing;\n }\n\n public isIdle(): boolean {\n return this._state === QueueState.Idle;\n }\n\n public setLimit(value: number) {\n this._limit = value;\n }\n\n /**\n * @depreated\n */\n public subscribe(fun, err?, complete?): void {\n this.observe$\n .subscribe(fun, err, complete);\n }\n\n public get observe$(): Observable<QueueStats> {\n return this._done\n .pipe(\n takeUntil(this._destroy$),\n );\n }\n\n public get complete$(): Observable<QueueStats> {\n if (!this.isProcessing()) {\n return of({ total: 0, completed: 0, errors: [] });\n }\n\n return this.observe$\n .pipe(\n take(1),\n map(() => (this._completeQueueStats)),\n );\n }\n\n public complete(fun, err?, complete?): void {\n this.complete$.subscribe(fun, err, complete);\n }\n\n public push(target: Observable<any>, name?: string) {\n const operation = new Operation(target, name);\n\n this._queueStats.total++;\n this._doneQueueStats.total++;\n this._completeQueueStats.total++;\n this._state = QueueState.Processing;\n\n if (this._inProgress.length < this._limit) {\n this._processOperation(operation);\n } else {\n this._queue.push(operation);\n }\n\n return operation.ready$;\n }\n\n public clear(): void {\n this._queue = [];\n this._state = QueueState.Idle; \n this._queueStats = {\n total: 0,\n errors: [],\n completed: 0,\n };\n this._clearDoneQueueStats();\n }\n\n public destroy(): void { \n this._done.complete();\n this.clear();\n }\n\n private _processOperation(operation: Operation): void {\n this._inProgress.push(operation);\n\n operation.target\n .pipe(\n delay(200), // Hack to prevent extra quick proccess execution\n finalize(() => {\n const opIndex = this._inProgress.indexOf(operation);\n this._inProgress.splice(opIndex, 1);\n \n if (this.empty) {\n this._state = QueueState.Idle;\n this._done.next(this._doneQueueStats);\n this._clearDoneQueueStats();\n } else {\n if (this._queue.length) {\n const queueItem = this._queue.shift();\n this._processOperation(queueItem);\n }\n }\n }),\n takeUntil(this._destroy$),\n ).subscribe({\n next: (data) => {\n operation.ready$.next(data);\n },\n error: (error) => {\n this._queueStats.errors.push(error);\n this._doneQueueStats.errors.push(error);\n this._completeQueueStats.errors.push(error);\n\n operation.ready$.error(error);\n },\n complete: () => {\n this._queueStats.completed++;\n this._doneQueueStats.completed++;\n this._completeQueueStats.completed++;\n\n operation.ready$.complete();\n }\n });\n }\n\n private _clearDoneQueueStats(): void {\n this._doneQueueStats = {\n total: 0,\n errors: [],\n completed: 0,\n };\n }\n}\n","export function resolve(promise: Promise<object>, defaults = []) {\n const result = defaults;\n return new Promise(resolve => {\n promise.then(function (data) {\n Object.keys(data).forEach(key => result[key] = data[key]);\n resolve(result)\n });\n })\n}\n","export function round(num, decimalPlaces = 0) {\n num = parseFloat(parseFloat(num).toPrecision(Number.MAX_SAFE_INTEGER.toString().length - 1));\n const p = Math.pow(10, decimalPlaces);\n\n return Math.round(num * p) / p;\n}\n","import { combineLatest, Observable, shareReplay } from 'rxjs';\n\nexport const fsSourceLoader = (function() {\n\n let _document: Document;\n let _headElement: HTMLHeadElement;\n\n const _sources = new Map<string, Set<string>>();\n const _loadedResources = new Map<string, Observable<unknown>>();\n\n // bad way but don't want to bother developer\n setDocument(document);\n\n // but developer can set document at any time\n function setDocument(document: Document): void {\n _document = document;\n _headElement = _document?.head;\n }\n\n /**\n * register a list of the resources for future loading\n *\n * example:\n * sourceLoader.registerResources({\n * froala: [\n * '/assets/js/froala/froala_editor.min.js',\n * '/assets/css/froala_editor.pkgd.min.css',\n * ],\n * froala_align: '/assets/js/froala/plugins/align.min.js',\n * froala_colors: '/assets/js/froala/plugins/colors.min.js',\n * froala_image: '/assets/js/froala/plugins/image.min.js',\n * });\n *\n */\n function registerResources(resources: Record<string, string | string[]>) {\n Object.entries(resources)\n .forEach(([name, path]) => {\n if (typeof path === 'string') {\n path = [path];\n }\n\n if (!_sources.has(name)) {\n _sources.set(name, new Set());\n }\n\n const resourcesList = _sources.get(name);\n\n path.forEach((p) => {\n resourcesList.add(p);\n });\n });\n }\n\n /**\n * load any resource previously registered\n *\n * sourceLoader.loadResource('froala')\n *\n * or load any js/css file\n *\n * sourceLoader.loadResource('/assets/my-source.js')\n *\n */\n function loadResource(name: string): Observable<unknown> | null {\n if (_loadedResources.has(name)) {\n return _loadedResources.get(name);\n }\n\n if (_sources.has(name)) {\n const sourcesForLoading = [..._sources.get(name)]\n .map((path) => {\n return _loadResource(path);\n })\n .filter((v) => !!v);\n\n return combineLatest(sourcesForLoading);\n }\n\n return _loadResource(name);\n }\n\n /**\n * the same as `loadResource` but you can pass list of the resources for loading\n */\n function loadResources(listOfResources: string[]): Observable<unknown> {\n const resourcesToLoad = listOfResources\n .reduce((acc, name) => {\n\n const loading$ = loadResource(name);\n\n if (loading$) {\n acc.push(loading$);\n }\n\n return acc;\n }, []);\n\n return combineLatest(resourcesToLoad);\n }\n\n ///\n\n function _loadResource(path): Observable<unknown> | null {\n if (_isStylesUrl(path)) {\n return _loadStyles(path);\n }\n\n if (_isJavascriptUrl(path)) {\n return _loadJs(path);\n }\n\n console.warn(`Resource ${path} can not be identified and loaded`);\n\n return null;\n }\n\n function _loadJs(scriptPath: string): Observable<unknown> {\n if (_loadedResources.has(scriptPath)) {\n return _loadedResources.get(scriptPath);\n }\n\n const obs$ = new Observable((obs) => {\n const script = document.createElement('script');\n script.src = scriptPath;\n script.type = 'text/javascript'; \n script.async = true;\n\n script.onload = () => {\n obs.next(null);\n obs.complete();\n };\n\n script.onerror = (err) => {\n obs.error(err);\n };\n \n _headElement.appendChild(script);\n })\n .pipe(\n shareReplay({ bufferSize: 1, refCount: true }),\n );\n\n _loadedResources.set(scriptPath, obs$);\n\n return obs$;\n }\n\n function _loadStyles(stylePath: string): Observable<unknown> {\n if (!_loadedResources.has(stylePath)) {\n const obs$ = new Observable((obs) => {\n const style = document.createElement('link');\n style.id = stylePath;\n style.rel = 'stylesheet';\n style.href = `${stylePath}`;\n\n _headElement.appendChild(style);\n\n style.onload = () => {\n obs.next(null);\n obs.complete();\n };\n\n style.onerror = (err) => {\n obs.error(err);\n };\n });\n\n _loadedResources.set(stylePath, obs$);\n }\n\n return _loadedResources.get(stylePath);\n }\n\n function _isJavascriptUrl(url: string) {\n return url.endsWith('.js');\n }\n\n function _isStylesUrl(url: string) {\n return url.endsWith('.css');\n }\n\n return {\n setDocument,\n registerResources,\n loadResource,\n loadResources,\n loadJs: _loadJs,\n loadStyles: _loadStyles,\n };\n})();\n\nexport function loadStyles(path): Observable<any> {\n return fsSourceLoader.loadStyles(path);\n}\n\nexport function loadJs(path): Observable<any> {\n return fsSourceLoader.loadJs(path);\n}\n","export function throttle(func, wait) {\n let waiting = false; \t// Initially, we're not waiting\n return function () { \t\t// We return a throttled function\n if (!waiting) { \t// If we're not waiting\n func.apply(null, arguments); // Execute users function\n waiting = true; \t// Prevent future invocations\n setTimeout(function () { \t\t// After a period of time\n waiting = false; \t// And allow future invocations\n }, wait);\n }\n }\n}\n","export function toString(value): string {\n if(value === null || value === undefined) {\n return '';\n }\n\n return `${value}`;\n}\n","import { guid } from '../guid';\n\nexport function uuid(): string {\n return guid('xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx');\n}\n\n","export function value(object, key, def) {\n\n if (typeof object === 'object' || Array.isArray(object)) {\n\n if (object.hasOwnProperty(key)) {\n return object[key];\n }\n }\n\n return def;\n}\n","import { isNumeric, round } from '../../util';\n\nexport function number(value, decimals?) {\n if(isNumeric(decimals)) {\n value = round(value, decimals);\n }\n\n return Number(value || 0).toLocaleString(undefined, { maximumFractionDigits: decimals });\n}\n","export function acronym(str: string, length = 2): string {\n const splittedString = str\n .replace(/[^a-zA-Z0-9]+/g, ' ')\n .split(' ');\n\n let result = '';\n\n for (let i = 0; i < length; i++) {\n if (!splittedString[i]) {\n if (splittedString.length === 1) {\n\n for (let j = 1; j < length; j++) {\n if (!splittedString[i-1][j]) {\n break;\n }\n result += splittedString[i-1][j].toUpperCase();\n }\n }\n break;\n }\n result += splittedString[i][0].toUpperCase();\n }\n\n return result;\n}\n","import { CurrencyPipe } from '@angular/common';\n\nimport { round } from '../../util/round';\n\n\nexport function currency(\n amount,\n precision: [number, number] | number = [2,10],\n currencyCode: string = 'USD',\n locale: string = 'en-US',\n) {\n const digitsInfo = Array.isArray(precision) ? precision : [precision, precision];\n amount = round(amount, digitsInfo[1]);\n\n return new CurrencyPipe(locale)\n .transform(amount, currencyCode, 'symbol', `1.${digitsInfo[0]}-${digitsInfo[1]}`);\n}\n","export function truncate(value: string, limit = 100, completeWords = false, ellipsis = '...') {\n\n value = value || '';\n\n if (completeWords) {\n limit = value.substr(0, limit).lastIndexOf(' ');\n }\n\n let result = `${value.substr(0, limit)}`;\n\n if (result !== value) {\n result += ellipsis;\n }\n\n return result;\n\n}\n","export function email(value) {\n return !!String(value).match(/^(([^<>()\\[\\]\\\\.,;:\\s@\"]+(\\.[^<>()\\[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/);\n}\n","export function phone(value) {\n const valid = /^[\\+]?[(]?[0-9]{3}[)]?[-\\s\\.]?[0-9]{3}[-\\s\\.]?[0-9]{4}/.test(value);\n return valid || !String(value).length;\n}\n","/**\n * Check validity of the url.\n * Protocol (http/https) isn't required.\n * @param value\n * @returns {boolean}\n */\n\nexport function url(value) {\n const expression = /^(?:http(s)?:\\/\\/)?[\\w.-]+(?:\\.[\\w\\.-]+)+[\\w\\-\\._~:/?#%[\\]@!\\$&'\\(\\)\\*\\+,;=.]+$/gm;\n const regexp = new RegExp(expression);\n\n return !!String(value).match(regexp);\n}\n","import { iif, Observable, throwError, timer } from 'rxjs';\nimport { concatMap, retryWhen, tap } from 'rxjs/operators';\n\n\nexport function delayedRetry(delayMs: number, maxRetry = 5, message?: string) {\n let retries = 0;\n\n return (src: Observable<unknown>) =>\n src.pipe(\n retryWhen((errors: Observable<unknown>) =>\n errors.pipe(\n tap(() => {\n retries++;\n\n if (retries <= maxRetry) {\n console.info(`Failed to load Resource. Retry in ${delayMs / 1000} sec. ${retries}/${maxRetry} times...`)\n }\n }),\n concatMap((error) =>\n iif(\n () => retries > maxRetry,\n throwError(getErrorMessage(maxRetry, message)),\n timer(delayMs),\n ),\n ),\n )\n )\n )\n}\n\n\n\nconst getErrorMessage = (maxRetry: number, defaultMessage: string) => {\n if (!defaultMessage) {\n return `Failed to load Resource for ${maxRetry} times. Giving up.`;\n } else {\n return defaultMessage\n }\n}\n","import { isNumeric } from '../../../libs';\n\nexport function bytes(bytes: number, decimals?: number, unit?: 'KB' | 'MB' | 'GB' | 'TB' | 'PB') {\n if (!bytes) { \n return '0 MB'; \n }\n const e = typeof unit === 'string' ?\n 'KMGTP'.indexOf(unit.replace('B', '')) + 1 :\n Math.floor(Math.log(bytes) / Math.log(1024));\n\n if(!isNumeric(decimals)) {\n decimals = (bytes / 1024) > 1000 ? 2 : 0;\n }\n\n return `${(bytes / Math.pow(1024, e))\n .toFixed(decimals)}`\n .replace(/\\.00/, '')\n + ' '\n + (e ? ' KMGTP'.charAt(e) : '') + 'B';\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { bytes } from '../../libs/format/bytes/bytes';\n\n@Pipe({\n name: 'fsFormatBytes',\n})\nexport class FsFormatBytesPipe implements PipeTransform {\n\n transform(value: number, decimals?, unit?: 'KB' | 'MB' | 'GB' | 'TB' | 'PB'): string {\n return bytes(value, decimals, unit);\n }\n}\n","import { Inject, LOCALE_ID, Pipe, PipeTransform } from '@angular/core';\n\nimport { currency } from '../../libs/format/currency/currency';\n\n\n@Pipe({\n name: 'fsFormatCurrency',\n})\nexport class FsFormatCurrencyPipe implements PipeTransform {\n\n constructor(@Inject(LOCALE_ID) public locale: string) { }\n\n public transform(\n amount,\n precision: [number, number] | number = 2,\n currencyCode?: string,\n ): string {\n return currency(amount, precision, currencyCode);\n }\n\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { number } from '../../libs/format/number/number';\n\n@Pipe({\n name: 'fsFormatNumber'\n})\nexport class FsFormatNumberPipe implements PipeTransform {\n\n transform(value, decimals?): string {\n return number(value, decimals);\n }\n}\n","import { PipeTransform, Pipe } from '@angular/core';\nimport { ordinalNumber } from '../../libs/util/ordinal-number/ordinal-number';\n\n@Pipe({\n name: 'fsFormatOrdinalNumber',\n})\nexport class FsFormatOrdinalNumberPipe implements PipeTransform {\n\n public transform(value: any): string {\n return ordinalNumber(value);\n }\n\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { truncate } from '../../libs/format/truncate/truncate';\n\n\n@Pipe({\n name: 'fsFormatTruncate'\n})\nexport class FsFormatTruncatePipe implements PipeTransform {\n\n constructor() { }\n\n transform(value, limit?, completeWords?, ellipsis?): string {\n return truncate(value, limit, completeWords, ellipsis);\n }\n\n}\n","import { Injectable } from '@angular/core';\n\n@Injectable()\nexport class FsArray {\n /**\n * @deprecated use import { nameValue } from @firestitch/common/array; instead\n */\n public nameValue(array, name, value): Array<any> {\n console.warn('@deprecated use import { nameValue } from @firestitch/common/array; instead');\n let list = [];\n if (name || value) {\n\n let nameFn = typeof name === 'function' ? name : function (item) { return item[name] };\n let valueFn = typeof value === 'function' ? value : function (item) { return item[value] };\n\n array.forEach(function (item) {\n list.push({ name: nameFn(item), value: valueFn(item) });\n });\n\n } else {\n array.forEach(function (name, value) {\n list.push({ name: name, value: value });\n });\n }\n\n return list;\n }\n\n /**\n * @deprecated use import { remove } from @firestitch/common/array; instead\n */\n public remove(array, query): any {\n console.warn('@deprecated use import { remove } from @firestitch/common/array; instead');\n let idx = this.indexOf(array, query);\n\n if (idx >= 0) {\n return array.splice(idx, 1);\n }\n\n return idx;\n }\n\n /**\n * @deprecated use import { indexOf } from @firestitch/common/array; instead\n */\n public indexOf(array, query): number {\n console.warn('@deprecated use import { indexOf } from @firestitch/common/array; instead');\n if (typeof query !== 'function') {\n let queryObj = query;\n query = (item) => {\n\n return this.compare(queryObj, item);\n }\n }\n\n for (let i = 0, len = array.length; i < len; i++) {\n if (query(array[i])) {\n return i;\n }\n }\n\n return -1;\n }\n\n /**\n * @deprecated use import { compare } from @firestitch/common/array; instead\n */\n public compare(query, item): boolean {\n console.warn('@deprecated use import { compare } from @firestitch/common/array; instead');\n let value = true;\n for (let key in query) {\n value = value && item[key] == query[key];\n }\n\n return value;\n }\n\n /**\n * @deprecated use import { filter } from @firestitch/common/array; instead\n */\n public filter(array, query): Array<any> {\n console.warn('@deprecated use import { filter } from @firestitch/common/array; instead');\n if (typeof query !== 'function') {\n let queryObj = query;\n query = (item) => {\n\n return this.compare(queryObj, item);\n }\n }\n\n let isarray = Array.isArray(array);\n let list: any = isarray ? [] : {};\n if (isarray)\n array.forEach(function (item, idx) {\n if (query(item)) {\n list.push(item);\n }\n });\n else Object.keys(array).forEach(key => {\n if (query(array[key])) {\n list[key] = array[key];\n }\n })\n return list;\n }\n\n /**\n * @deprecated use import { index } from @firestitch/common/array; instead\n */\n public index(array, property): Object {\n console.warn('@deprecated use import { index } from @firestitch/common/array; instead');\n let list = {};\n array.forEach(function (item, idx) {\n list[item[property]] = item;\n });\n return list;\n }\n\n\n /**\n * @deprecated use import { sort } from @firestitch/common/array; instead\n */\n public sort(array, query, reverse = false): Array<any> {\n console.warn('@deprecated use import { sort } from @firestitch/common/array; instead');\n if (typeof query !== 'function') {\n let queryStr = query;\n query = function (a, b) {\n if (reverse) {\n if (a[queryStr] < b[queryStr]) {\n return 1;\n } else if (a[queryStr] > b[queryStr]) {\n return -1;\n }\n } else {\n if (a[queryStr] > b[queryStr]) {\n return 1;\n } else if (a[queryStr] < b[queryStr]) {\n return -1;\n }\n }\n return 0;\n };\n }\n\n array.sort(query);\n return array;\n }\n\n /**\n * @deprecated use import { rsort } from @firestitch/common/array; instead\n */\n public rsort(array, query): Array<any> {\n console.warn('@deprecated use import { rsort } from @firestitch/common/array; instead');\n return this.sort(array, query, true);\n }\n\n\n /**\n * @deprecated use import { list } from @firestitch/common/array; instead\n */\n public list(array, property, index = null): Object {\n console.warn('@deprecated use import { list } from @firestitch/common/array; instead');\n let list: any = index ? {} : [];\n array.forEach(function (item, idx) {\n if (index) {\n list[item[index]] = item[property];\n } else {\n list.push(item[property]);\n }\n });\n return list;\n }\n\n /**\n * @deprecated use import { applyDepth } from @firestitch/common/array; instead\n */\n public applyDepth(objects, parent_property, id_property = 'id', depth_property = 'depth') {\n console.warn('@deprecated use import { applyDepth } from @firestitch/common/array; instead');\n let keyed = {};\n objects.forEach(function (object) {\n if (!object[parent_property]) {\n object[depth_property] = 0;\n }\n keyed[object[id_property]] = object;\n });\n Object.keys(keyed).forEach(key => {\n Object.keys(keyed).forEach(key => {\n let object = keyed[key];\n if (!keyed[key][depth_property]) {\n if (keyed[key][parent_property]) {\n keyed[key][depth_property] = keyed[keyed[key][parent_property]][depth_property] + 1;\n }\n }\n })\n })\n\n return keyed;\n }\n\n /**\n * @deprecated use import { inArray } from @firestitch/common/array; instead\n */\n inArray(values, array) {\n console.warn('@deprecated use import { inArray } from @firestitch/common/array; instead');\n if (!Array.isArray(values)) {\n values = [values];\n }\n\n for (let i = 0, len = values.length; i < len; i++) {\n if (array.indexOf(values[i]) >= 0) {\n return true;\n }\n }\n\n return false;\n }\n\n /**\n * @deprecated use import { keyExists } from @firestitch/common/array; instead\n */\n keyExists(array, key) {\n console.warn('@deprecated use import { keyExists } from @firestitch/common/array; instead');\n return array.hasOwnProperty(key);\n }\n\n /**\n * @deprecated use import { length } from @firestitch/common/array; instead\n */\n length(array) {\n console.warn('@deprecated use import { length } from @firestitch/common/array; instead');\n return array.length;\n }\n\n /**\n * @deprecated use import { ksort } from @firestitch/common/array; instead\n */\n ksort(unordered) {\n console.warn('@deprecated use import { ksort } from @firestitch/common/array; instead');\n Object.keys(unordered).sort().forEach(function (key) {\n let value = unordered[key];\n delete unordered[key];\n unordered[key] = value;\n });\n }\n\n\n}\n","import { Injectable } from '@angular/core';\n\n@Injectable()\nexport class FsMath {\n\n /**\n * @deprecated use _.round() instead {@link https://lodash.com/docs/4.17.5#round}\n */\n public round(number, precision): number {\n console.warn('@deprecated use _.round() instead {@link https://lodash.com/docs/4.17.5#round}');\n precision = precision || 0;\n let factor = Math.pow(10, precision);\n let tempNumber = number * factor;\n let roundedTempNumber = Math.round(tempNumber);\n return roundedTempNumber / factor;\n }\n}\n","import { Injectable } from '@angular/core';\n\nexport const KEY_CANCEL = 3,\n KEY_HELP = 6,\n KEY_BACKSPACE = 8,\n KEY_TAB = 9,\n KEY_CLEAR = 12,\n KEY_RETURN = 13,\n KEY_ENTER = 14,\n KEY_SHIFT = 16,\n KEY_CONTROL = 17,\n KEY_ALT = 18,\n KEY_PAUSE = 19,\n KEY_CAPS_LOCK = 20,\n KEY_ESCAPE = 27,\n KEY_SPACE = 32,\n KEY_PAGE_UP = 33,\n KEY_PAGE_DOWN = 34,\n KEY_END = 35,\n KEY_HOME = 36,\n KEY_LEFT = 37,\n KEY_UP = 38,\n KEY_RIGHT = 39,\n KEY_DOWN = 40,\n KEY_PRINTSCREEN = 44,\n KEY_INSERT = 45,\n KEY_DELETE = 46,\n KEY_0 = 48,\n KEY_1 = 49,\n KEY_2 = 50,\n KEY_3 = 51,\n KEY_4 = 52,\n KEY_5 = 53,\n KEY_6 = 54,\n KEY_7 = 55,\n KEY_8 = 56,\n KEY_9 = 57,\n KEY_SEMICOLON = 59,\n KEY_EQUALS = 61;\n\n/*\n Basically, just copy-pasted functionality from fs-boilerplate v1.x, with some small changes (like we dont have angular.bind anymore, had to go with a workaround)\n There might be a better way to organise constatns but I need to know use-cases\n*/\n\n\n@Injectable()\nexport class FsUtil {\n\n private intervals = {};\n\n /**\n * @deprecated use @firestitch/common/util/guid instead\n */\n public guid(pattern?: string): string {\n console.warn('@deprecated use @firestitch/common/util/guid instead');\n pattern = pattern || 'xxxxxx';\n return pattern.replace(/[xy]/g, function(c) {\n var r = Math.random() * 16 | 0, v = c == 'x' ? r : (r & 0x3 | 0x8);\n return v.toString(16);\n });\n }\n\n /**\n * @deprecated use import { uuid } from @firestitch/common/util; instead\n */\n public uuid(): string {\n console.warn('@deprecated use @firestitch/common/util/uuid instead');\n return this.guid('xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx');\n }\n\n /**\n * @deprecated use import { resolve } from @firestitch/common/util; instead\n */\n public resolve(promise: Promise<object>, defaults = []): Promise<object> {\n console.warn('@deprecated use @firestitch/common/util/resolve instead');\n const result = defaults;\n return new Promise(resolve => {\n promise.then(function (data) {\n Object.keys(data).forEach(key => result[key] = data[key])\n resolve(result)\n });\n })\n }\n\n /**\n * @deprecated use _.toInteger() instead\n */\n public int(value: any): number {\n console.warn('@deprecated use _.toInteger() instead');\n value = parseInt(value);\n if (isNaN(value)) {\n value = 0;\n }\n return value;\n }\n\n /**\n * @deprecated use _.toFinite() instead\n */\n public float(value): number {\n console.warn('@deprecated use _.toFinite() instead');\n value = parseFloat(value);\n if (isNaN(value)) {\n value = 0;\n }\n return value;\n }\n\n /**\n * @deprecated use _.toString() instead\n */\n public string(string): string {\n console.warn('@deprecated use _.toString() instead');\n if (string === null || string === undefined) {\n string = '';\n }\n\n return (string).toString();\n }\n\n /**\n * @deprecated use import { isEmpty } from @firestitch/common/util; instead\n */\n public isEmpty(value, options?): boolean {\n console.warn('@deprecated use import { isEmpty } from @firestitch/common/util; instead');\n options = options || {};\n return value === undefined ||\n value === null ||\n value === false ||\n value === '' ||\n !this.string(value).length ||\n (\n this.isObject(value) &&\n (value.constructor.name === 'Object' && !Object.keys(value).length)) ||\n (!options.zero && (value === 0 || value === '0')\n );\n }\n\n /**\n * @deprecated use _.isInteger() instead\n */\n public isInt(value, type?) {\n console.warn('@deprecated use _.isInteger() instead');\n const int = !!this.string(value).match(/^\\d+$/);\n\n if (!int) {\n return false;\n }\n\n if (type) {\n return Number.isInteger(value);\n }\n\n return true;\n }\n\n /**\n * @deprecated use _.each() instead {@link https://lodash.com/docs/4.17.5#forEach}\n */\n public each(object, func) {\n console.warn('@deprecated use _.each() instead {@link https://lodash.com/docs/4.17.5#forEach}');\n if (!this.isArray(object) && !this.isObject(object)) {\n return;\n }\n\n Object.keys(object).forEach(function(key) {\n func(object[key],key);\n });\n }\n\n /**\n * @deprecated use _.isArrayLikeObject() {@link https://lodash.com/docs/4.17.5#isArrayLikeObject}\n * or _.isObject() {@link https://lodash.com/docs/4.17.5#isObject} instead\n */\n public isObject(value): boolean {\n console.warn('@deprecated use _.isArrayLikeObject() {@link https://lodash.com/docs/4.17.5#isArrayLikeObject} or _.isObject() {@link https://lodash.com/docs/4.17.5#isObject} instead');\n return value !== null && typeof value === 'object' && !this.isArray(value);\n }\n\n /**\n * @deprecated use _.isString() instead {@link https://lodash.com/docs/4.17.5#isString}\n */\n public isString(value): boolean {\n console.warn('@deprecated use _.isString() instead {@link https://lodash.com/docs/4.17.5#isString}');\n return typeof value === 'string' || value instanceof String;\n }\n\n /**\n * @deprecated use _.isArray() instead {@link https://lodash.com/docs/4.17.5#isArray}\n */\n public isArray(value): boolean {\n console.warn('@deprecated use _.isArray() instead {@link https://lodash.com/docs/4.17.5#isArray}');\n return value instanceof Array;\n }\n\n /**\n * @deprecated use import { isNumeric } from @firestitch/common/util; instead\n */\n public isNumeric(value): boolean {\n console.warn('@deprecated use import { isNumeric } from @firestitch/common/util; instead');\n return this.string(value).length && !!this.string(value).match(/^-?\\d*\\.?\\d*$/);\n }\n\n /**\n * @deprecated use import { isClass } from @firestitch/common/util; instead\n */\n public isClass(value, cls) {\n console.warn('@deprecated use import { isClass } from @firestitch/common/util; instead');\n if (this.isObject(value)) {\n\n if (this.isString(cls)) {\n\n if (value.constructor) {\n if (value.constructor.name === cls) {\n return true;\n }\n }\n\n } else {\n\n if (value instanceof cls) {\n return true;\n }\n }\n }\n\n return false;\n }\n\n /**\n * @deprecated use _.isBoolean() instead {@link https://lodash.com/docs/4.17.5#isBoolean}\n */\n public isBoolean(value): boolean {\n console.warn('@deprecated use _.isBoolean() instead {@link https://lodash.com/docs/4.17.5#isBoolean}');\n return value === true || value === false;\n }\n\n /**\n * @deprecated use import { value } from @firestitch/common/util; instead\n */\n public value(object, key, def): any {\n console.warn('@deprecated use import { value } from @firestitch/common/util; instead');\n if (this.isObject(object) || this.isArray(object)) {\n\n if (object.hasOwnProperty(key)) {\n return object[key];\n }\n }\n\n return def;\n }\n\n public throttle(func, wait) {\n console.warn('@deprecated use import { throttle } from @firestitch/common/util; instead');\n let waiting = false; \t// Initially, we're not waiting\n return function () { \t\t// We return a throttled function\n if (!waiting) { \t// If we're not waiting\n func.apply(null, arguments); // Execute users function\n waiting = true; \t// Prevent future invocations\n setTimeout(function () { \t\t// After a period of time\n waiting = false; \t// And allow future invocations\n }, wait);\n }\n }\n }\n\n /**\n * @deprecated use import { debounce } from @firestitch/common/util; instead\n */\n public debounce(func, wait, immediate) {\n console.warn('@deprecated use import { debounce } from @firestitch/common/util; instead');\n var timeout;\n return function () {\n var context = this, args = arguments;\n var later = function () {\n timeout = null;\n if (!immediate) func.apply(context, args);\n };\n var callNow = immediate && !timeout;\n clearTimeout(timeout);\n timeout = setTimeout(later, wait);\n if (callNow) func.apply(context, args);\n };\n }\n\n /**\n * @deprecated use import { length } from @firestitch/common/util; instead\n */\n public length(object): number {\n console.warn('@deprecated use import { length } from @firestitch/common/util; instead');\n if (this.isObject(object)) {\n return Object.keys(object).length;\n }\n\n if (this.isArray(object)) {\n return object.length;\n }\n\n return 0;\n }\n\n /**\n * @deprecated use import { boolean } from @firestitch/common/util; instead\n */\n public boolean(value) {\n console.warn('@deprecated use import { boolean } from @firestitch/common/util; instead');\n return this.string(value).toLowerCase() !== 'false' && !!value;\n }\n\n /**\n * @deprecated use import { stringify } from @firestitch/common/util; instead\n */\n public stringify(value) {\n console.warn('@deprecated use import { stringify } from @firestitch/common/util; instead');\n return JSON.stringify(value);\n }\n}\n","import { Injectable } from '@angular/core';\nimport { FsUtil } from './util.service';\n\n@Injectable()\nexport class FsValidate {\n\n constructor(private fsUtil: FsUtil) { }\n\n /**\n * @deprecated use import { email } from @firestitch/common/validate; instead\n */\n phone(value) {\n const valid = /^[\\+]?[(]?[0-9]{3}[)]?[-\\s\\.]?[0-9]{3}[-\\s\\.]?[0-9]{4,6}$/.test(value);\n return valid || !String(value).length;\n }\n\n /**\n * @deprecated use import { email } from @firestitch/common/validate; instead\n */\n email(value) {\n return !!this.fsUtil.string(value).match(/^(([^<>()\\[\\]\\\\.,;:\\s@\"]+(\\.[^<>()\\[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/);\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { ModuleWithProviders, NgModule } from '@angular/core';\n\nimport { FsAutoFocusDirective, FsAutoSelectDirective, FsModelChangeDirective } from './directives';\nimport { FsPreventDefaultDirective } from './directives/prevent-default.directive';\nimport { FsStopPropagationDirective } from './directives/stop-propagation.directive';\nimport { FsFormatBytesPipe } from './pipes';\nimport { FsFormatCurrencyPipe } from './pipes/currency.pipe';\nimport { FsFormatNumberPipe } from './pipes/number.pipe';\nimport { FsFormatOrdinalNumberPipe } from './pipes/ordinal-number.pipe';\nimport { FsFormatTruncatePipe } from './pipes/truncate.pipe';\nimport {\n FsUtilGuidPipe,\n FsUtilIsEmptyPipe,\n FsUtilIsNotEmptyPipe,\n FsUtilStringifyPipe,\n} from './pipes/util.pipe';\nimport { FsArray } from './services/array.service';\nimport { FsMath } from './services/math.service';\nimport { FsUtil } from './services/util.service';\nimport { FsValidate } from './services/vaildate.service';\n\n\n@NgModule({\n imports: [\n CommonModule,\n ],\n declarations: [\n FsStopPropagationDirective,\n FsPreventDefaultDirective,\n FsAutoFocusDirective,\n FsAutoSelectDirective,\n FsUtilGuidPipe,\n FsUtilIsEmptyPipe,\n FsUtilIsNotEmptyPipe,\n FsUtilStringifyPipe,\n FsFormatNumberPipe,\n FsFormatCurrencyPipe,\n FsFormatTruncatePipe,\n FsFormatBytesPipe,\n FsFormatOrdinalNumberPipe,\n FsModelChangeDirective,\n ],\n exports: [\n FsStopPropagationDirective,\n FsPreventDefaultDirective,\n FsAutoFocusDirective,\n FsAutoSelectDirective,\n FsUtilGuidPipe,\n FsUtilStringifyPipe,\n FsFormatNumberPipe,\n FsFormatCurrencyPipe,\n FsFormatTruncatePipe,\n FsUtilIsEmptyPipe,\n FsUtilIsNotEmptyPipe,\n FsFormatBytesPipe,\n FsModelChangeDirective,\n FsFormatOrdinalNumberPipe,\n ],\n})\nexport class FsCommonModule {\n public static forRoot(): ModuleWithProviders<FsCommonModule> {\n return {\n ngModule: FsCommonModule,\n providers: [\n FsArray,\n FsMath,\n FsUtil,\n FsValidate,\n ],\n };\n }\n}\n","import { combineLatest, fromEvent, merge, Observable } from 'rxjs';\nimport { distinctUntilChanged, filter, share } from 'rxjs/operators';\n\n\nexport const keyboardShortcut = (shortcut: unknown[]): Observable<KeyboardEvent[]> => {\n // Observables for all keydown and keyup events\n const keyDown$ = fromEvent<KeyboardEvent>(document, 'keydown');\n const keyUp$ = fromEvent<KeyboardEvent>(document, 'keyup');\n\n // All KeyboardEvents - emitted only when KeyboardEvent changes (key or type)\n const keyEvents$ = merge(keyDown$, keyUp$).pipe(\n distinctUntilChanged((a, b) => a.code === b.code && a.type === b.type),\n share(),\n );\n\n // Create KeyboardEvent Observable for specified KeyCode\n const createKeyPressStream = (charCode: unknown) =>\n keyEvents$.pipe(filter((event) => event.keyCode === charCode));\n\n // Create Event Stream for every KeyCode in shortcut\n const keyCodeEvents$ = shortcut.map((s) => createKeyPressStream(s));\n\n // Emit when specified keys are pressed (keydown).\n // Emit only when all specified keys are pressed at the same time.\n // More on combineLatest below\n return combineLatest(keyCodeEvents$).pipe(\n filter<KeyboardEvent[]>((arr) => arr.every((a) => a.type === 'keydown'))\n );\n};\n","// Modules\nexport { FsCommonModule } from './app/fs-common.module';\n\n// Services\nexport { FsArray } from './app/services/array.service';\nexport { FsMath } from './app/services/math.service';\nexport { FsUtil } from './app/services/util.service';\nexport { FsValidate } from './app/services/vaildate.service';\n\nexport * from './app/directives';\nexport * from './libs';\n\n\nexport {\n FsUtilGuidPipe, FsUtilIsEmptyPipe,\n FsUtilIsNotEmptyPipe, FsUtilStringifyPipe\n} from './app/pipes/util.pipe';\n\nexport * from './app/directives';\nexport { FsFormatBytesPipe } from './app/pipes/bytes.pipe';\nexport { FsFormatCurrencyPipe } from './app/pipes/currency.pipe';\nexport { FsFormatNumberPipe } from './app/pipes/number.pipe';\nexport { FsFormatOrdinalNumberPipe } from './app/pipes/ordinal-number.pipe';\nexport { FsFormatTruncatePipe } from './app/pipes/truncate.pipe';\nexport { keyboardShortcut } from './libs/rxjs/keyboard-shortcut';\n\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["i1","KEY_CANCEL","KEY_HELP","KEY_BACKSPACE","KEY_TAB","KEY_CLEAR","KEY_RETURN","KEY_ENTER","KEY_SHIFT","KEY_CONTROL","KEY_ALT","KEY_PAUSE","KEY_CAPS_LOCK","KEY_ESCAPE","KEY_SPACE","KEY_PAGE_UP","KEY_PAGE_DOWN","KEY_END","KEY_HOME","KEY_LEFT","KEY_UP","KEY_RIGHT","KEY_DOWN","KEY_PRINTSCREEN","KEY_INSERT","KEY_DELETE","KEY_0","KEY_1","KEY_2","KEY_3","KEY_4","KEY_5","KEY_6","KEY_7","KEY_8","KEY_9","KEY_SEMICOLON","KEY_EQUALS","i1.FsUtil","filter"],"mappings":"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"}
|