@igo2/utils 1.7.2 → 1.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"igo2-utils.umd.js","sources":["../../../packages/utils/src/lib/base64.ts","../../../packages/utils/src/lib/user-agent.ts","../../../packages/utils/src/lib/clipboard.ts","../../../node_modules/tslib/tslib.es6.js","../../../packages/utils/src/lib/string-utils.ts","../../../packages/utils/src/lib/change.interface.ts","../../../packages/utils/src/lib/change.ts","../../../packages/utils/src/lib/file.ts","../../../packages/utils/src/lib/object-utils.ts","../../../packages/utils/src/lib/strenum.ts","../../../packages/utils/src/lib/uuid.ts","../../../packages/utils/src/lib/watcher.ts","../../../packages/utils/src/public_api.ts","../../../packages/utils/src/igo2-utils.ts"],"sourcesContent":["/* tslint:disable */\n\nconst ALPHA =\n 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';\n\nexport class Base64 {\n private static PADCHAR: string = '=';\n private static ALPHA: string = ALPHA;\n\n private static getByte(s: string, i: number): number {\n const x = s.charCodeAt(i);\n return x;\n }\n\n private static getByte64(s: string, i: number): number {\n const idx = this.ALPHA.indexOf(s.charAt(i));\n return idx;\n }\n\n public static decode(s: string): string {\n let pads = 0,\n i,\n b10,\n imax = s.length,\n x = [];\n\n s = String(s);\n\n if (imax === 0) {\n return s;\n }\n\n if (s.charAt(imax - 1) === this.PADCHAR) {\n pads = 1;\n if (s.charAt(imax - 2) === this.PADCHAR) {\n pads = 2;\n }\n imax -= 4;\n }\n\n for (i = 0; i < imax; i += 4) {\n b10 =\n (this.getByte64(s, i) << 18) |\n (this.getByte64(s, i + 1) << 12) |\n (this.getByte64(s, i + 2) << 6) |\n this.getByte64(s, i + 3);\n x.push(String.fromCharCode(b10 >> 16, (b10 >> 8) & 255, b10 & 255));\n }\n\n switch (pads) {\n case 1:\n b10 =\n (this.getByte64(s, i) << 18) |\n (this.getByte64(s, i + 1) << 12) |\n (this.getByte64(s, i + 2) << 6);\n x.push(String.fromCharCode(b10 >> 16, (b10 >> 8) & 255));\n break;\n case 2:\n b10 = (this.getByte64(s, i) << 18) | (this.getByte64(s, i + 1) << 12);\n x.push(String.fromCharCode(b10 >> 16));\n break;\n }\n\n return x.join('');\n }\n\n public static encode(s: string): string {\n s = String(s);\n\n let i,\n b10,\n x = [],\n imax = s.length - s.length % 3;\n\n if (s.length === 0) {\n return s;\n }\n\n for (i = 0; i < imax; i += 3) {\n b10 =\n (this.getByte(s, i) << 16) |\n (this.getByte(s, i + 1) << 8) |\n this.getByte(s, i + 2);\n x.push(this.ALPHA.charAt(b10 >> 18));\n x.push(this.ALPHA.charAt((b10 >> 12) & 63));\n x.push(this.ALPHA.charAt((b10 >> 6) & 63));\n x.push(this.ALPHA.charAt(b10 & 63));\n }\n\n switch (s.length - imax) {\n case 1:\n b10 = this.getByte(s, i) << 16;\n x.push(\n this.ALPHA.charAt(b10 >> 18) +\n this.ALPHA.charAt((b10 >> 12) & 63) +\n this.PADCHAR +\n this.PADCHAR\n );\n break;\n case 2:\n b10 = (this.getByte(s, i) << 16) | (this.getByte(s, i + 1) << 8);\n x.push(\n this.ALPHA.charAt(b10 >> 18) +\n this.ALPHA.charAt((b10 >> 12) & 63) +\n this.ALPHA.charAt((b10 >> 6) & 63) +\n this.PADCHAR\n );\n break;\n }\n\n return x.join('');\n }\n}\n","import * as Bowser from 'bowser';\n\nexport interface UserAgent extends Bowser.Parser.Parser {\n compareVersion: (version: string) => boolean;\n}\n\nexport const userAgent = Bowser.getParser(\n window.navigator.userAgent\n) as UserAgent;\n","import { userAgent } from './user-agent';\n\nexport class Clipboard {\n static copy(element: HTMLTextAreaElement | string): boolean {\n let successful = false;\n if (typeof element === 'string') {\n const textArea = Clipboard.createTextArea(element);\n Clipboard.selectText(textArea);\n successful = Clipboard.copyTextToClipboard();\n Clipboard.destroyTextArea(textArea);\n } else {\n Clipboard.selectText(element);\n successful = Clipboard.copyTextToClipboard();\n }\n return successful;\n }\n\n private static createTextArea(text: string): HTMLTextAreaElement {\n const textArea = document.createElement('textArea') as HTMLTextAreaElement;\n textArea.value = text;\n document.body.appendChild(textArea);\n return textArea;\n }\n\n private static destroyTextArea(textArea) {\n document.body.removeChild(textArea);\n }\n\n private static selectText(textArea) {\n if (userAgent.getOSName() === 'iOS') {\n const oldContentEditable = textArea.contentEditable;\n const oldReadOnly = textArea.readOnly;\n const range = document.createRange();\n const selection = window.getSelection();\n\n textArea.contenteditable = true;\n textArea.readonly = false;\n range.selectNodeContents(textArea);\n selection.removeAllRanges();\n selection.addRange(range);\n textArea.setSelectionRange(0, 999999);\n textArea.contentEditable = oldContentEditable;\n textArea.readOnly = oldReadOnly;\n } else {\n textArea.select();\n }\n }\n\n private static copyTextToClipboard(): boolean {\n if (!(userAgent.getOSName() === 'iOS' && userAgent.compareVersion('<10'))) {\n return document.execCommand('copy');\n }\n return false;\n }\n}\n","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from) {\r\n for (var i = 0, il = from.length, j = to.length; i < il; i++, j++)\r\n to[j] = from[i];\r\n return to;\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","export class StringUtils {\n static diff(s1: string, s2: string, p = 4): string {\n if (!s1 && !s2) {\n return '';\n }\n if (!s1) {\n return '<span class=\"inserted\">' + s2 + '</span>';\n }\n if (!s2) {\n return '<span class=\"deleted\">' + s1 + '</span>';\n }\n s1 = s1.toString();\n s2 = s2.toString();\n const changeData = StringUtils.getChanges(s1, s2, '', p);\n const nextS = s2.slice(\n changeData.mtc.length + changeData.ins.length + changeData.sbs.length\n ); // remaining part of \"s\"\n const nextThis = s1.slice(\n changeData.mtc.length + changeData.del.length + changeData.sbs.length\n ); // remaining part of \"this\"\n let result = ''; // the glorious result\n if (changeData.del.length > 0) {\n changeData.del = '<span class=\"deleted\">' + changeData.del + '</span>';\n }\n if (changeData.ins.length > 0) {\n changeData.ins = '<span class=\"inserted\">' + changeData.ins + '</span>';\n }\n result = changeData.mtc + changeData.del + changeData.ins + changeData.sbs;\n result +=\n nextThis !== '' || nextS !== ''\n ? StringUtils.diff(nextThis, nextS, p)\n : '';\n return result;\n }\n\n private static getMatchingSubstring(s, l, m) {\n // returns the first matching substring in-between the two strings\n let i = 0;\n let match = false;\n const slen = s.length;\n const o = { fis: slen, mtc: m, sbs: '' }; // temporary object used to construct the cd (change data) object\n\n while (i < slen) {\n l[i] === s[i]\n ? match\n ? (o.sbs += s[i]) // o.sbs holds the matching substring itsef\n : ((match = true), (o.fis = i), (o.sbs = s[i]))\n : match\n ? (i = slen) // stop after the first found substring\n : (i = i);\n ++i;\n }\n return o;\n }\n\n private static getChanges(s1, s2, m, p) {\n const isThisLonger = s1.length >= s1.length ? true : false;\n let [longer, shorter] = isThisLonger ? [s1, s2] : [s2, s1]; // assignment of longer and shorter by es6 destructuring\n let bi = 0; // base index designating the index of first mismacthing character in both strings\n\n while (shorter[bi] === longer[bi] && bi < shorter.length) {\n ++bi;\n } // make bi the index of first mismatching character\n longer = longer.split('').slice(bi); // as the longer string will be rotated it is converted into array\n shorter = shorter.slice(bi); // shorter and longer now starts from the first mismatching character\n\n const len = longer.length; // length of the longer string\n let cd: any = {\n fis: shorter.length, // the index of matching string in the shorter string\n fil: len, // the index of matching string in the longer string\n sbs: '', // the matching substring itself\n mtc: m + s2.slice(0, bi)\n }; // if exists mtc holds the matching string at the front\n let sub: any = { sbs: '' }; // returned substring per 1 character rotation of the longer string\n\n if (shorter !== '') {\n for (let rc = 0; rc < len && sub.sbs.length < p; rc++) {\n // rc -> rotate count, p -> precision factor\n sub = StringUtils.getMatchingSubstring(\n shorter,\n StringUtils.rotateArray(longer, rc),\n cd.mtc\n ); // rotate longer string 1 char and get substring\n sub.fil =\n rc < len - sub.fis\n ? sub.fis + rc // mismatch is longer than the mismatch in short\n : sub.fis - len + rc; // mismatch is shorter than the mismatch in short\n if (sub.sbs.length > cd.sbs.length) {\n cd = sub; // only keep the one with the longest substring.\n }\n }\n }\n // insert the mismatching delete subsrt and insert substr to the cd object and attach the previous substring\n [cd.del, cd.ins] = isThisLonger\n ? [longer.slice(0, cd.fil).join(''), shorter.slice(0, cd.fis)]\n : [shorter.slice(0, cd.fis), longer.slice(0, cd.fil).join('')];\n return cd.del.indexOf(' ') === -1 ||\n cd.ins.indexOf(' ') === -1 ||\n cd.del === '' ||\n cd.ins === '' ||\n cd.sbs === ''\n ? cd\n : StringUtils.getChanges(cd.del, cd.ins, cd.mtc, p);\n }\n\n private static rotateArray(array, n) {\n const len = array.length;\n const res = new Array(array.length);\n if (n % len === 0) {\n return array.slice();\n } else {\n for (let i = 0; i < len; i++) {\n res[i] = array[(i + (len + (n % len))) % len];\n }\n }\n return res;\n }\n}\n","export enum ChangeType {\n ADDED = 'added',\n DELETED = 'deleted',\n MODIFIED = 'modified'\n}\n\nexport interface Change {\n type: ChangeType;\n keysChanged?: {\n key: string;\n newValue: any;\n oldValue: any;\n }[];\n}\n\nexport interface GroupingChanges {\n added: ChangeItem[];\n deleted: ChangeItem[];\n modified: ChangeItem[];\n}\n\nexport interface ChangeItem {\n change: Change;\n value: any;\n oldValue?: any;\n newValue?: any;\n}\n","import { StringUtils } from './string-utils';\nimport { GroupingChanges, ChangeType } from './change.interface';\n\nexport class ChangeUtils {\n static findChanges(\n obj1: any[],\n obj2: any[],\n ignoreKeys: string[] = []\n ): GroupingChanges {\n const items: GroupingChanges = {\n added: [],\n deleted: [],\n modified: []\n };\n\n if (!obj1 || !obj2) {\n return items;\n }\n\n const obj1Clone: any = [...obj1];\n const obj2Clone: any = [...obj2];\n\n for (const fromItem of obj1Clone) {\n const index = obj2Clone.findIndex(s => s.id === fromItem.id);\n\n if (index === -1) {\n items.deleted.push({\n change: { type: ChangeType.DELETED },\n value: fromItem\n });\n continue;\n }\n\n const toItem = obj2Clone.splice(index, 1)[0];\n const fromItemClone = JSON.parse(JSON.stringify(fromItem));\n const toItemClone = JSON.parse(JSON.stringify(toItem));\n\n const keysChanged = ChangeUtils.compareObject(\n fromItemClone,\n toItemClone,\n undefined,\n ignoreKeys\n );\n\n if (keysChanged.length) {\n items.modified.push({\n change: {\n type: ChangeType.MODIFIED,\n keysChanged\n },\n value: fromItemClone,\n oldValue: fromItem,\n newValue: toItem\n });\n }\n }\n\n items.added = obj2Clone.map(itemAdded => {\n return {\n change: { type: ChangeType.ADDED },\n value: itemAdded\n };\n });\n\n return items;\n }\n\n private static compareObject(fromItem, toItem, baseKey?, ignoreKeys = []) {\n const fromItemClone = JSON.parse(JSON.stringify(fromItem));\n const toItemClone = JSON.parse(JSON.stringify(toItem));\n\n const keys: any = new Set([\n ...Object.keys(fromItem),\n ...Object.keys(toItem)\n ]);\n let keysChanged = [];\n keys.forEach(key => {\n const keyString = baseKey ? `${baseKey}.${key}` : key;\n if (ignoreKeys.indexOf(keyString) !== -1) {\n return;\n }\n\n if (Array.isArray(fromItem[key])) {\n fromItem[key] = fromItem[key].join(',<br>');\n }\n if (Array.isArray(toItem[key])) {\n toItem[key] = toItem[key].join(',<br>');\n }\n\n if (\n typeof fromItem[key] === 'object' &&\n typeof toItem[key] === 'object' &&\n fromItem[key] !== null &&\n toItem[key] !== null\n ) {\n keysChanged = keysChanged.concat(\n this.compareObject(fromItem[key], toItem[key], keyString)\n );\n } else {\n if (fromItem[key] !== toItem[key]) {\n keysChanged.push({\n key: keyString,\n oldValue: fromItemClone[key],\n newValue: toItemClone[key]\n });\n fromItem[key] = StringUtils.diff(fromItem[key], toItem[key]);\n }\n }\n });\n\n return keysChanged;\n }\n}\n","/**\n * Trigger download of a file\n *\n * @param content File content\n * @param mimeType File mime type\n * @param fileName File name\n */\nexport function downloadContent(content: string, mimeType: string, fileName: string) {\n const uri = `data:${mimeType},${encodeURIComponent(content)}`;\n downloadFromUri(uri, fileName);\n}\n\n/**\n * Trigger download of a file\n *\n * @param content File content\n * @param mimeType File mime type\n * @param fileName File name\n */\nexport function downloadFromUri(uri: string, fileName: string) {\n const element = document.createElement('a');\n element.setAttribute('href', uri);\n element.setAttribute('download', fileName);\n element.style.display = 'none';\n document.body.appendChild(element);\n\n element.click();\n\n document.body.removeChild(element);\n}\n","export class ObjectUtils {\n static resolve(obj: object, key: string): any {\n const keysArray = key\n .replace(/\\[/g, '.')\n .replace(/\\]/g, '')\n .split('.');\n let current = obj;\n while (keysArray.length) {\n if (typeof current !== 'object') {\n return undefined;\n }\n current = current[keysArray.shift()];\n }\n\n return current;\n }\n\n static isObject(item: object) {\n return (\n item &&\n typeof item === 'object' &&\n !Array.isArray(item) &&\n item !== null &&\n !(item instanceof Date)\n );\n }\n\n static mergeDeep(\n target: object,\n source: object,\n ignoreUndefined = false\n ): any {\n const output = Object.assign({}, target);\n if (ObjectUtils.isObject(target) && ObjectUtils.isObject(source)) {\n Object.keys(source)\n .filter(key => !ignoreUndefined || source[key] !== undefined)\n .forEach(key => {\n if (ObjectUtils.isObject(source[key])) {\n if (!(key in target)) {\n Object.assign(output, { [key]: source[key] });\n } else {\n output[key] = ObjectUtils.mergeDeep(\n target[key],\n source[key],\n ignoreUndefined\n );\n }\n } else {\n Object.assign(output, { [key]: source[key] });\n }\n });\n }\n return output;\n }\n\n static copyDeep(src): any {\n const target = Array.isArray(src) ? [] : {};\n for (const prop in src) {\n if (src.hasOwnProperty(prop)) {\n const value = src[prop];\n if (value && typeof value === 'object') {\n target[prop] = this.copyDeep(value);\n } else {\n target[prop] = value;\n }\n }\n }\n return target;\n }\n\n static removeDuplicateCaseInsensitive(obj: object) {\n const summaryCapitalizeObject = {};\n const capitalizeObject = {};\n const upperCaseCount = [];\n\n for (const property in obj) {\n if (obj.hasOwnProperty(property)) {\n const upperCaseProperty = property.toUpperCase();\n if (!summaryCapitalizeObject.hasOwnProperty(upperCaseProperty)) {\n summaryCapitalizeObject[upperCaseProperty] = [\n { [property]: obj[property] }\n ];\n } else {\n summaryCapitalizeObject[upperCaseProperty].push({\n [property]: obj[property]\n });\n }\n // counting the number of uppercase lettersMna\n upperCaseCount.push({\n key: property,\n count: property.replace(/[^A-Z]/g, '').length\n });\n }\n }\n for (const capitalizedProperty in summaryCapitalizeObject) {\n if (summaryCapitalizeObject.hasOwnProperty(capitalizedProperty)) {\n if (summaryCapitalizeObject.hasOwnProperty(capitalizedProperty)) {\n const capitalizedPropertyObject =\n summaryCapitalizeObject[capitalizedProperty];\n if (capitalizedPropertyObject.length === 1) {\n // for single params (no duplicates)\n const singlePossibility = capitalizedPropertyObject[0];\n capitalizeObject[capitalizedProperty] =\n singlePossibility[Object.keys(singlePossibility)[0]];\n } else if (capitalizedPropertyObject.length > 1) {\n // defining the closest to lowercase property\n const paramClosestToLowercase = upperCaseCount\n .filter(\n f => f.key.toLowerCase() === capitalizedProperty.toLowerCase()\n )\n .reduce((prev, current) => {\n return prev.y < current.y ? prev : current;\n });\n capitalizeObject[paramClosestToLowercase.key.toUpperCase()] =\n obj[paramClosestToLowercase.key];\n }\n }\n }\n }\n for (const property in obj) {\n if (obj.hasOwnProperty(property)) {\n delete obj[property];\n }\n }\n\n for (const property in capitalizeObject) {\n if (capitalizeObject.hasOwnProperty(property)) {\n obj[property] = capitalizeObject[property];\n }\n }\n }\n\n static removeUndefined(obj: object): any {\n const output = {};\n if (ObjectUtils.isObject(obj)) {\n Object.keys(obj)\n .filter(key => obj[key] !== undefined)\n .forEach(key => {\n if (ObjectUtils.isObject(obj[key]) || Array.isArray(obj[key])) {\n output[key] = ObjectUtils.removeUndefined(obj[key]);\n } else {\n output[key] = obj[key];\n }\n });\n\n return output;\n }\n\n if (Array.isArray(obj)) {\n return obj.map(o => ObjectUtils.removeUndefined(o));\n }\n\n return obj;\n }\n\n static removeNull(obj: object): any {\n const output = {};\n if (ObjectUtils.isObject(obj)) {\n Object.keys(obj)\n .filter(key => obj[key] !== null)\n .forEach(key => {\n if (ObjectUtils.isObject(obj[key]) || Array.isArray(obj[key])) {\n output[key] = ObjectUtils.removeNull(obj[key]);\n } else {\n output[key] = obj[key];\n }\n });\n\n return output;\n }\n\n if (Array.isArray(obj)) {\n return obj.map(o => ObjectUtils.removeNull(o));\n }\n\n return obj;\n }\n\n static naturalCompare(a, b, direction = 'asc', nullsFirst?: boolean) {\n if (direction === 'desc') {\n b = [a, (a = b)][0];\n }\n\n // nullsFirst = undefined : end if direction = 'asc', first if direction = 'desc'\n // nullsFirst = true : always first\n // nullsFirst = false : always end\n if (\n a === null ||\n a === '' ||\n a === undefined ||\n b === null ||\n b === '' ||\n b === undefined\n ) {\n const nullScore =\n a === b\n ? 0\n : a === undefined\n ? 3\n : b === undefined\n ? -3\n : a === null\n ? 2\n : b === null\n ? -2\n : a === ''\n ? 1\n : -1;\n if (direction === 'desc') {\n return nullsFirst !== false ? nullScore : nullScore * -1;\n }\n return nullsFirst === true ? nullScore * -1 : nullScore;\n }\n\n const ax = [];\n const bx = [];\n a = '' + a;\n b = '' + b;\n\n a.replace(/(\\d+)|(\\D+)/g, (_, $1, $2) => {\n ax.push([$1 || Infinity, $2 || '']);\n });\n\n b.replace(/(\\d+)|(\\D+)/g, (_, $1, $2) => {\n bx.push([$1 || Infinity, $2 || '']);\n });\n\n while (ax.length && bx.length) {\n const an = ax.shift();\n const bn = bx.shift();\n const nn = an[0] - bn[0] || an[1].localeCompare(bn[1]);\n if (nn) {\n return nn;\n }\n }\n\n return ax.length - bx.length;\n }\n\n /**\n * Return true if two object are equivalent.\n * Objects are considered equivalent if they have the same properties and\n * if all of their properties (first-level only) share the same value.\n * @param obj1 First object\n * @param obj2 Second object\n * @returns Whether two objects arer equivalent\n */\n static objectsAreEquivalent(obj1: object, obj2: object): boolean {\n if (obj1 === obj2) {\n return true;\n }\n\n const obj1Props = Object.getOwnPropertyNames(obj1);\n const obj2Props = Object.getOwnPropertyNames(obj2);\n if (obj1Props.length !== obj2Props.length) {\n return false;\n }\n\n for (const prop of obj1Props) {\n if (obj1[prop] !== obj2[prop]) {\n return false;\n }\n }\n\n return true;\n }\n\n /**\n * Return a new object with an array of keys removed\n * @param obj Source object\n * @param keys Keys to remove\n * @returns A new object\n */\n static removeKeys(obj: object, keys: string[]): object {\n const newObj = Object.keys(obj)\n .filter(key => keys.indexOf(key) < 0)\n .reduce((_obj, key) => {\n _obj[key] = obj[key];\n return _obj;\n }, {});\n\n return newObj;\n }\n}\n","/** Utility function to create a K:V from a list of strings */\nexport function strEnum<T extends string>(o: Array<T>): { [K in T]: K } {\n return o.reduce((res, key) => {\n res[key] = key;\n return res;\n }, Object.create(null));\n}\n","export function S4() {\n // tslint:disable-next-line: no-bitwise\n return (((1 + Math.random()) * 0x10000) | 0).toString(16).substring(1);\n}\n\nexport function uuid() {\n const id = `${S4()}${S4()}-${S4()}-${S4()}-${S4()}-${S4()}${S4()}${S4()}`;\n return id.toLowerCase();\n}\n","import { Subject, Subscription } from 'rxjs';\nimport { distinctUntilChanged } from 'rxjs/operators';\n\nexport enum SubjectStatus {\n Error = 0,\n Done = 1,\n Working = 2,\n Waiting = 3\n}\n\nexport abstract class Watcher {\n public status$ = new Subject<SubjectStatus>();\n protected status$$: Subscription;\n\n get status(): SubjectStatus {\n return this._status;\n }\n set status(value: SubjectStatus) {\n this._status = value;\n this.status$.next(value);\n }\n private _status: SubjectStatus;\n\n protected abstract watch();\n\n protected abstract unwatch();\n\n // tslint:disable-next-line:ban-types\n subscribe(callback: Function, scope?: any) {\n this.watch();\n\n this.status$$ = this.status$\n .pipe(distinctUntilChanged())\n .subscribe((status: SubjectStatus) => {\n this.handleStatusChange(status);\n callback.call(scope, this);\n });\n }\n\n unsubscribe() {\n this.unwatch();\n if (this.status$$ !== undefined) {\n this.status$$.unsubscribe();\n this.status$$ = undefined;\n }\n this.status = SubjectStatus.Waiting;\n }\n\n protected handleStatusChange(status: SubjectStatus) {}\n}\n","/*\n * Public API Surface of utils\n */\n\nexport * from './lib';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["Bowser.getParser","ChangeType","SubjectStatus","Subject","distinctUntilChanged"],"mappings":"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"}
1
+ {"version":3,"file":"igo2-utils.umd.js","sources":["../../../packages/utils/src/lib/base64.ts","../../../packages/utils/src/lib/user-agent.ts","../../../packages/utils/src/lib/clipboard.ts","../../../node_modules/tslib/tslib.es6.js","../../../packages/utils/src/lib/string-utils.ts","../../../packages/utils/src/lib/change.interface.ts","../../../packages/utils/src/lib/change.ts","../../../packages/utils/src/lib/file.ts","../../../packages/utils/src/lib/object-utils.ts","../../../packages/utils/src/lib/strenum.ts","../../../packages/utils/src/lib/uuid.ts","../../../packages/utils/src/lib/watcher.ts","../../../packages/utils/src/public_api.ts","../../../packages/utils/src/igo2-utils.ts"],"sourcesContent":["/* tslint:disable */\r\n\r\nconst ALPHA =\r\n 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';\r\n\r\nexport class Base64 {\r\n private static PADCHAR: string = '=';\r\n private static ALPHA: string = ALPHA;\r\n\r\n private static getByte(s: string, i: number): number {\r\n const x = s.charCodeAt(i);\r\n return x;\r\n }\r\n\r\n private static getByte64(s: string, i: number): number {\r\n const idx = this.ALPHA.indexOf(s.charAt(i));\r\n return idx;\r\n }\r\n\r\n public static decode(s: string): string {\r\n let pads = 0,\r\n i,\r\n b10,\r\n imax = s.length,\r\n x = [];\r\n\r\n s = String(s);\r\n\r\n if (imax === 0) {\r\n return s;\r\n }\r\n\r\n if (s.charAt(imax - 1) === this.PADCHAR) {\r\n pads = 1;\r\n if (s.charAt(imax - 2) === this.PADCHAR) {\r\n pads = 2;\r\n }\r\n imax -= 4;\r\n }\r\n\r\n for (i = 0; i < imax; i += 4) {\r\n b10 =\r\n (this.getByte64(s, i) << 18) |\r\n (this.getByte64(s, i + 1) << 12) |\r\n (this.getByte64(s, i + 2) << 6) |\r\n this.getByte64(s, i + 3);\r\n x.push(String.fromCharCode(b10 >> 16, (b10 >> 8) & 255, b10 & 255));\r\n }\r\n\r\n switch (pads) {\r\n case 1:\r\n b10 =\r\n (this.getByte64(s, i) << 18) |\r\n (this.getByte64(s, i + 1) << 12) |\r\n (this.getByte64(s, i + 2) << 6);\r\n x.push(String.fromCharCode(b10 >> 16, (b10 >> 8) & 255));\r\n break;\r\n case 2:\r\n b10 = (this.getByte64(s, i) << 18) | (this.getByte64(s, i + 1) << 12);\r\n x.push(String.fromCharCode(b10 >> 16));\r\n break;\r\n }\r\n\r\n return x.join('');\r\n }\r\n\r\n public static encode(s: string): string {\r\n s = String(s);\r\n\r\n let i,\r\n b10,\r\n x = [],\r\n imax = s.length - s.length % 3;\r\n\r\n if (s.length === 0) {\r\n return s;\r\n }\r\n\r\n for (i = 0; i < imax; i += 3) {\r\n b10 =\r\n (this.getByte(s, i) << 16) |\r\n (this.getByte(s, i + 1) << 8) |\r\n this.getByte(s, i + 2);\r\n x.push(this.ALPHA.charAt(b10 >> 18));\r\n x.push(this.ALPHA.charAt((b10 >> 12) & 63));\r\n x.push(this.ALPHA.charAt((b10 >> 6) & 63));\r\n x.push(this.ALPHA.charAt(b10 & 63));\r\n }\r\n\r\n switch (s.length - imax) {\r\n case 1:\r\n b10 = this.getByte(s, i) << 16;\r\n x.push(\r\n this.ALPHA.charAt(b10 >> 18) +\r\n this.ALPHA.charAt((b10 >> 12) & 63) +\r\n this.PADCHAR +\r\n this.PADCHAR\r\n );\r\n break;\r\n case 2:\r\n b10 = (this.getByte(s, i) << 16) | (this.getByte(s, i + 1) << 8);\r\n x.push(\r\n this.ALPHA.charAt(b10 >> 18) +\r\n this.ALPHA.charAt((b10 >> 12) & 63) +\r\n this.ALPHA.charAt((b10 >> 6) & 63) +\r\n this.PADCHAR\r\n );\r\n break;\r\n }\r\n\r\n return x.join('');\r\n }\r\n}\r\n","import * as Bowser from 'bowser';\n\nexport interface UserAgent extends Bowser.Parser.Parser {\n compareVersion: (version: string) => boolean;\n}\n\nexport const userAgent = Bowser.getParser(\n window.navigator.userAgent\n) as UserAgent;\n","import { userAgent } from './user-agent';\r\n\r\nexport class Clipboard {\r\n static copy(element: HTMLTextAreaElement | string): boolean {\r\n let successful = false;\r\n if (typeof element === 'string') {\r\n const textArea = Clipboard.createTextArea(element);\r\n Clipboard.selectText(textArea);\r\n successful = Clipboard.copyTextToClipboard();\r\n Clipboard.destroyTextArea(textArea);\r\n } else {\r\n Clipboard.selectText(element);\r\n successful = Clipboard.copyTextToClipboard();\r\n }\r\n return successful;\r\n }\r\n\r\n private static createTextArea(text: string): HTMLTextAreaElement {\r\n const textArea = document.createElement('textArea') as HTMLTextAreaElement;\r\n textArea.value = text;\r\n document.body.appendChild(textArea);\r\n return textArea;\r\n }\r\n\r\n private static destroyTextArea(textArea) {\r\n document.body.removeChild(textArea);\r\n }\r\n\r\n private static selectText(textArea) {\r\n if (userAgent.getOSName() === 'iOS') {\r\n const oldContentEditable = textArea.contentEditable;\r\n const oldReadOnly = textArea.readOnly;\r\n const range = document.createRange();\r\n const selection = window.getSelection();\r\n\r\n textArea.contenteditable = true;\r\n textArea.readonly = false;\r\n range.selectNodeContents(textArea);\r\n selection.removeAllRanges();\r\n selection.addRange(range);\r\n textArea.setSelectionRange(0, 999999);\r\n textArea.contentEditable = oldContentEditable;\r\n textArea.readOnly = oldReadOnly;\r\n } else {\r\n textArea.select();\r\n }\r\n }\r\n\r\n private static copyTextToClipboard(): boolean {\r\n if (!(userAgent.getOSName() === 'iOS' && userAgent.compareVersion('<10'))) {\r\n return document.execCommand('copy');\r\n }\r\n return false;\r\n }\r\n}\r\n","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n","export class StringUtils {\r\n static diff(s1: string, s2: string, p = 4): string {\r\n if (!s1 && !s2) {\r\n return '';\r\n }\r\n if (!s1) {\r\n return '<span class=\"inserted\">' + s2 + '</span>';\r\n }\r\n if (!s2) {\r\n return '<span class=\"deleted\">' + s1 + '</span>';\r\n }\r\n s1 = s1.toString();\r\n s2 = s2.toString();\r\n const changeData = StringUtils.getChanges(s1, s2, '', p);\r\n const nextS = s2.slice(\r\n changeData.mtc.length + changeData.ins.length + changeData.sbs.length\r\n ); // remaining part of \"s\"\r\n const nextThis = s1.slice(\r\n changeData.mtc.length + changeData.del.length + changeData.sbs.length\r\n ); // remaining part of \"this\"\r\n let result = ''; // the glorious result\r\n if (changeData.del.length > 0) {\r\n changeData.del = '<span class=\"deleted\">' + changeData.del + '</span>';\r\n }\r\n if (changeData.ins.length > 0) {\r\n changeData.ins = '<span class=\"inserted\">' + changeData.ins + '</span>';\r\n }\r\n result = changeData.mtc + changeData.del + changeData.ins + changeData.sbs;\r\n result +=\r\n nextThis !== '' || nextS !== ''\r\n ? StringUtils.diff(nextThis, nextS, p)\r\n : '';\r\n return result;\r\n }\r\n\r\n private static getMatchingSubstring(s, l, m) {\r\n // returns the first matching substring in-between the two strings\r\n let i = 0;\r\n let match = false;\r\n const slen = s.length;\r\n const o = { fis: slen, mtc: m, sbs: '' }; // temporary object used to construct the cd (change data) object\r\n\r\n while (i < slen) {\r\n l[i] === s[i]\r\n ? match\r\n ? (o.sbs += s[i]) // o.sbs holds the matching substring itsef\r\n : ((match = true), (o.fis = i), (o.sbs = s[i]))\r\n : match\r\n ? (i = slen) // stop after the first found substring\r\n : (i = i);\r\n ++i;\r\n }\r\n return o;\r\n }\r\n\r\n private static getChanges(s1, s2, m, p) {\r\n const isThisLonger = s1.length >= s1.length ? true : false;\r\n let [longer, shorter] = isThisLonger ? [s1, s2] : [s2, s1]; // assignment of longer and shorter by es6 destructuring\r\n let bi = 0; // base index designating the index of first mismacthing character in both strings\r\n\r\n while (shorter[bi] === longer[bi] && bi < shorter.length) {\r\n ++bi;\r\n } // make bi the index of first mismatching character\r\n longer = longer.split('').slice(bi); // as the longer string will be rotated it is converted into array\r\n shorter = shorter.slice(bi); // shorter and longer now starts from the first mismatching character\r\n\r\n const len = longer.length; // length of the longer string\r\n let cd: any = {\r\n fis: shorter.length, // the index of matching string in the shorter string\r\n fil: len, // the index of matching string in the longer string\r\n sbs: '', // the matching substring itself\r\n mtc: m + s2.slice(0, bi)\r\n }; // if exists mtc holds the matching string at the front\r\n let sub: any = { sbs: '' }; // returned substring per 1 character rotation of the longer string\r\n\r\n if (shorter !== '') {\r\n for (let rc = 0; rc < len && sub.sbs.length < p; rc++) {\r\n // rc -> rotate count, p -> precision factor\r\n sub = StringUtils.getMatchingSubstring(\r\n shorter,\r\n StringUtils.rotateArray(longer, rc),\r\n cd.mtc\r\n ); // rotate longer string 1 char and get substring\r\n sub.fil =\r\n rc < len - sub.fis\r\n ? sub.fis + rc // mismatch is longer than the mismatch in short\r\n : sub.fis - len + rc; // mismatch is shorter than the mismatch in short\r\n if (sub.sbs.length > cd.sbs.length) {\r\n cd = sub; // only keep the one with the longest substring.\r\n }\r\n }\r\n }\r\n // insert the mismatching delete subsrt and insert substr to the cd object and attach the previous substring\r\n [cd.del, cd.ins] = isThisLonger\r\n ? [longer.slice(0, cd.fil).join(''), shorter.slice(0, cd.fis)]\r\n : [shorter.slice(0, cd.fis), longer.slice(0, cd.fil).join('')];\r\n return cd.del.indexOf(' ') === -1 ||\r\n cd.ins.indexOf(' ') === -1 ||\r\n cd.del === '' ||\r\n cd.ins === '' ||\r\n cd.sbs === ''\r\n ? cd\r\n : StringUtils.getChanges(cd.del, cd.ins, cd.mtc, p);\r\n }\r\n\r\n private static rotateArray(array, n) {\r\n const len = array.length;\r\n const res = new Array(array.length);\r\n if (n % len === 0) {\r\n return array.slice();\r\n } else {\r\n for (let i = 0; i < len; i++) {\r\n res[i] = array[(i + (len + (n % len))) % len];\r\n }\r\n }\r\n return res;\r\n }\r\n}\r\n","export enum ChangeType {\r\n ADDED = 'added',\r\n DELETED = 'deleted',\r\n MODIFIED = 'modified'\r\n}\r\n\r\nexport interface Change {\r\n type: ChangeType;\r\n keysChanged?: {\r\n key: string;\r\n newValue: any;\r\n oldValue: any;\r\n }[];\r\n}\r\n\r\nexport interface GroupingChanges {\r\n added: ChangeItem[];\r\n deleted: ChangeItem[];\r\n modified: ChangeItem[];\r\n}\r\n\r\nexport interface ChangeItem {\r\n change: Change;\r\n value: any;\r\n oldValue?: any;\r\n newValue?: any;\r\n}\r\n","import { StringUtils } from './string-utils';\r\nimport { GroupingChanges, ChangeType } from './change.interface';\r\n\r\nexport class ChangeUtils {\r\n static findChanges(\r\n obj1: any[],\r\n obj2: any[],\r\n ignoreKeys: string[] = []\r\n ): GroupingChanges {\r\n const items: GroupingChanges = {\r\n added: [],\r\n deleted: [],\r\n modified: []\r\n };\r\n\r\n if (!obj1 || !obj2) {\r\n return items;\r\n }\r\n\r\n const obj1Clone: any = [...obj1];\r\n const obj2Clone: any = [...obj2];\r\n\r\n for (const fromItem of obj1Clone) {\r\n const index = obj2Clone.findIndex(s => s.id === fromItem.id);\r\n\r\n if (index === -1) {\r\n items.deleted.push({\r\n change: { type: ChangeType.DELETED },\r\n value: fromItem\r\n });\r\n continue;\r\n }\r\n\r\n const toItem = obj2Clone.splice(index, 1)[0];\r\n const fromItemClone = JSON.parse(JSON.stringify(fromItem));\r\n const toItemClone = JSON.parse(JSON.stringify(toItem));\r\n\r\n const keysChanged = ChangeUtils.compareObject(\r\n fromItemClone,\r\n toItemClone,\r\n undefined,\r\n ignoreKeys\r\n );\r\n\r\n if (keysChanged.length) {\r\n items.modified.push({\r\n change: {\r\n type: ChangeType.MODIFIED,\r\n keysChanged\r\n },\r\n value: fromItemClone,\r\n oldValue: fromItem,\r\n newValue: toItem\r\n });\r\n }\r\n }\r\n\r\n items.added = obj2Clone.map(itemAdded => {\r\n return {\r\n change: { type: ChangeType.ADDED },\r\n value: itemAdded\r\n };\r\n });\r\n\r\n return items;\r\n }\r\n\r\n private static compareObject(fromItem, toItem, baseKey?, ignoreKeys = []) {\r\n const fromItemClone = JSON.parse(JSON.stringify(fromItem));\r\n const toItemClone = JSON.parse(JSON.stringify(toItem));\r\n\r\n const keys: any = new Set([\r\n ...Object.keys(fromItem),\r\n ...Object.keys(toItem)\r\n ]);\r\n let keysChanged = [];\r\n keys.forEach(key => {\r\n const keyString = baseKey ? `${baseKey}.${key}` : key;\r\n if (ignoreKeys.indexOf(keyString) !== -1) {\r\n return;\r\n }\r\n\r\n if (Array.isArray(fromItem[key])) {\r\n fromItem[key] = fromItem[key].join(',<br>');\r\n }\r\n if (Array.isArray(toItem[key])) {\r\n toItem[key] = toItem[key].join(',<br>');\r\n }\r\n\r\n if (\r\n typeof fromItem[key] === 'object' &&\r\n typeof toItem[key] === 'object' &&\r\n fromItem[key] !== null &&\r\n toItem[key] !== null\r\n ) {\r\n keysChanged = keysChanged.concat(\r\n this.compareObject(fromItem[key], toItem[key], keyString)\r\n );\r\n } else {\r\n if (fromItem[key] !== toItem[key]) {\r\n keysChanged.push({\r\n key: keyString,\r\n oldValue: fromItemClone[key],\r\n newValue: toItemClone[key]\r\n });\r\n fromItem[key] = StringUtils.diff(fromItem[key], toItem[key]);\r\n }\r\n }\r\n });\r\n\r\n return keysChanged;\r\n }\r\n}\r\n","/**\r\n * Trigger download of a file\r\n *\r\n * @param content File content\r\n * @param mimeType File mime type\r\n * @param fileName File name\r\n */\r\nexport function downloadContent(content: string, mimeType: string, fileName: string) {\r\n const uri = `data:${mimeType},${encodeURIComponent(content)}`;\r\n downloadFromUri(uri, fileName);\r\n}\r\n\r\n/**\r\n * Trigger download of a file\r\n *\r\n * @param content File content\r\n * @param mimeType File mime type\r\n * @param fileName File name\r\n */\r\nexport function downloadFromUri(uri: string, fileName: string) {\r\n const element = document.createElement('a');\r\n element.setAttribute('href', uri);\r\n element.setAttribute('download', fileName);\r\n element.style.display = 'none';\r\n document.body.appendChild(element);\r\n\r\n element.click();\r\n\r\n document.body.removeChild(element);\r\n}\r\n","export class ObjectUtils {\r\n static resolve(obj: object, key: string): any {\r\n const keysArray = key\r\n .replace(/\\[/g, '.')\r\n .replace(/\\]/g, '')\r\n .split('.');\r\n let current = obj;\r\n while (keysArray.length) {\r\n if (typeof current !== 'object') {\r\n return undefined;\r\n }\r\n current = current[keysArray.shift()];\r\n }\r\n\r\n return current;\r\n }\r\n\r\n static isObject(item: object) {\r\n return (\r\n item &&\r\n typeof item === 'object' &&\r\n !Array.isArray(item) &&\r\n item !== null &&\r\n !(item instanceof Date)\r\n );\r\n }\r\n\r\n static mergeDeep(\r\n target: object,\r\n source: object,\r\n ignoreUndefined = false\r\n ): any {\r\n const output = Object.assign({}, target);\r\n if (ObjectUtils.isObject(target) && ObjectUtils.isObject(source)) {\r\n Object.keys(source)\r\n .filter(key => !ignoreUndefined || source[key] !== undefined)\r\n .forEach(key => {\r\n if (ObjectUtils.isObject(source[key])) {\r\n if (!(key in target)) {\r\n Object.assign(output, { [key]: source[key] });\r\n } else {\r\n output[key] = ObjectUtils.mergeDeep(\r\n target[key],\r\n source[key],\r\n ignoreUndefined\r\n );\r\n }\r\n } else {\r\n Object.assign(output, { [key]: source[key] });\r\n }\r\n });\r\n }\r\n return output;\r\n }\r\n\r\n static copyDeep(src): any {\r\n const target = Array.isArray(src) ? [] : {};\r\n for (const prop in src) {\r\n if (src.hasOwnProperty(prop)) {\r\n const value = src[prop];\r\n if (value && typeof value === 'object') {\r\n target[prop] = this.copyDeep(value);\r\n } else {\r\n target[prop] = value;\r\n }\r\n }\r\n }\r\n return target;\r\n }\r\n\r\n static removeDuplicateCaseInsensitive(obj: object) {\r\n const summaryCapitalizeObject = {};\r\n const capitalizeObject = {};\r\n const upperCaseCount = [];\r\n\r\n for (const property in obj) {\r\n if (obj.hasOwnProperty(property)) {\r\n const upperCaseProperty = property.toUpperCase();\r\n if (!summaryCapitalizeObject.hasOwnProperty(upperCaseProperty)) {\r\n summaryCapitalizeObject[upperCaseProperty] = [\r\n { [property]: obj[property] }\r\n ];\r\n } else {\r\n summaryCapitalizeObject[upperCaseProperty].push({\r\n [property]: obj[property]\r\n });\r\n }\r\n // counting the number of uppercase lettersMna\r\n upperCaseCount.push({\r\n key: property,\r\n count: property.replace(/[^A-Z]/g, '').length\r\n });\r\n }\r\n }\r\n for (const capitalizedProperty in summaryCapitalizeObject) {\r\n if (summaryCapitalizeObject.hasOwnProperty(capitalizedProperty)) {\r\n if (summaryCapitalizeObject.hasOwnProperty(capitalizedProperty)) {\r\n const capitalizedPropertyObject =\r\n summaryCapitalizeObject[capitalizedProperty];\r\n if (capitalizedPropertyObject.length === 1) {\r\n // for single params (no duplicates)\r\n const singlePossibility = capitalizedPropertyObject[0];\r\n capitalizeObject[capitalizedProperty] =\r\n singlePossibility[Object.keys(singlePossibility)[0]];\r\n } else if (capitalizedPropertyObject.length > 1) {\r\n // defining the closest to lowercase property\r\n const paramClosestToLowercase = upperCaseCount\r\n .filter(\r\n f => f.key.toLowerCase() === capitalizedProperty.toLowerCase()\r\n )\r\n .reduce((prev, current) => {\r\n return prev.y < current.y ? prev : current;\r\n });\r\n capitalizeObject[paramClosestToLowercase.key.toUpperCase()] =\r\n obj[paramClosestToLowercase.key];\r\n }\r\n }\r\n }\r\n }\r\n for (const property in obj) {\r\n if (obj.hasOwnProperty(property)) {\r\n delete obj[property];\r\n }\r\n }\r\n\r\n for (const property in capitalizeObject) {\r\n if (capitalizeObject.hasOwnProperty(property)) {\r\n obj[property] = capitalizeObject[property];\r\n }\r\n }\r\n }\r\n\r\n static removeUndefined(obj: object): any {\r\n const output = {};\r\n if (ObjectUtils.isObject(obj)) {\r\n Object.keys(obj)\r\n .filter(key => obj[key] !== undefined)\r\n .forEach(key => {\r\n if (ObjectUtils.isObject(obj[key]) || Array.isArray(obj[key])) {\r\n output[key] = ObjectUtils.removeUndefined(obj[key]);\r\n } else {\r\n output[key] = obj[key];\r\n }\r\n });\r\n\r\n return output;\r\n }\r\n\r\n if (Array.isArray(obj)) {\r\n return obj.map(o => ObjectUtils.removeUndefined(o));\r\n }\r\n\r\n return obj;\r\n }\r\n\r\n static removeNull(obj: object): any {\r\n const output = {};\r\n if (ObjectUtils.isObject(obj)) {\r\n Object.keys(obj)\r\n .filter(key => obj[key] !== null)\r\n .forEach(key => {\r\n if (ObjectUtils.isObject(obj[key]) || Array.isArray(obj[key])) {\r\n output[key] = ObjectUtils.removeNull(obj[key]);\r\n } else {\r\n output[key] = obj[key];\r\n }\r\n });\r\n\r\n return output;\r\n }\r\n\r\n if (Array.isArray(obj)) {\r\n return obj.map(o => ObjectUtils.removeNull(o));\r\n }\r\n\r\n return obj;\r\n }\r\n\r\n static naturalCompare(a, b, direction = 'asc', nullsFirst?: boolean) {\r\n if (direction === 'desc') {\r\n b = [a, (a = b)][0];\r\n }\r\n\r\n // nullsFirst = undefined : end if direction = 'asc', first if direction = 'desc'\r\n // nullsFirst = true : always first\r\n // nullsFirst = false : always end\r\n if (\r\n a === null ||\r\n a === '' ||\r\n a === undefined ||\r\n b === null ||\r\n b === '' ||\r\n b === undefined\r\n ) {\r\n const nullScore =\r\n a === b\r\n ? 0\r\n : a === undefined\r\n ? 3\r\n : b === undefined\r\n ? -3\r\n : a === null\r\n ? 2\r\n : b === null\r\n ? -2\r\n : a === ''\r\n ? 1\r\n : -1;\r\n if (direction === 'desc') {\r\n return nullsFirst !== false ? nullScore : nullScore * -1;\r\n }\r\n return nullsFirst === true ? nullScore * -1 : nullScore;\r\n }\r\n\r\n const ax = [];\r\n const bx = [];\r\n a = '' + a;\r\n b = '' + b;\r\n\r\n a.replace(/(\\d+)|(\\D+)/g, (_, $1, $2) => {\r\n ax.push([$1 || Infinity, $2 || '']);\r\n });\r\n\r\n b.replace(/(\\d+)|(\\D+)/g, (_, $1, $2) => {\r\n bx.push([$1 || Infinity, $2 || '']);\r\n });\r\n\r\n while (ax.length && bx.length) {\r\n const an = ax.shift();\r\n const bn = bx.shift();\r\n const nn = an[0] - bn[0] || an[1].localeCompare(bn[1]);\r\n if (nn) {\r\n return nn;\r\n }\r\n }\r\n\r\n return ax.length - bx.length;\r\n }\r\n\r\n /**\r\n * Return true if two object are equivalent.\r\n * Objects are considered equivalent if they have the same properties and\r\n * if all of their properties (first-level only) share the same value.\r\n * @param obj1 First object\r\n * @param obj2 Second object\r\n * @returns Whether two objects arer equivalent\r\n */\r\n static objectsAreEquivalent(obj1: object, obj2: object): boolean {\r\n if (obj1 === obj2) {\r\n return true;\r\n }\r\n\r\n const obj1Props = Object.getOwnPropertyNames(obj1);\r\n const obj2Props = Object.getOwnPropertyNames(obj2);\r\n if (obj1Props.length !== obj2Props.length) {\r\n return false;\r\n }\r\n\r\n for (const prop of obj1Props) {\r\n if (obj1[prop] !== obj2[prop]) {\r\n return false;\r\n }\r\n }\r\n\r\n return true;\r\n }\r\n\r\n /**\r\n * Return a new object with an array of keys removed\r\n * @param obj Source object\r\n * @param keys Keys to remove\r\n * @returns A new object\r\n */\r\n static removeKeys(obj: object, keys: string[]): object {\r\n const newObj = Object.keys(obj)\r\n .filter(key => keys.indexOf(key) < 0)\r\n .reduce((_obj, key) => {\r\n _obj[key] = obj[key];\r\n return _obj;\r\n }, {});\r\n\r\n return newObj;\r\n }\r\n}\r\n","/** Utility function to create a K:V from a list of strings */\r\nexport function strEnum<T extends string>(o: Array<T>): { [K in T]: K } {\r\n return o.reduce((res, key) => {\r\n res[key] = key;\r\n return res;\r\n }, Object.create(null));\r\n}\r\n","export function S4() {\r\n // tslint:disable-next-line: no-bitwise\r\n return (((1 + Math.random()) * 0x10000) | 0).toString(16).substring(1);\r\n}\r\n\r\nexport function uuid() {\r\n const id = `${S4()}${S4()}-${S4()}-${S4()}-${S4()}-${S4()}${S4()}${S4()}`;\r\n return id.toLowerCase();\r\n}\r\n","import { Subject, Subscription } from 'rxjs';\r\nimport { distinctUntilChanged } from 'rxjs/operators';\r\n\r\nexport enum SubjectStatus {\r\n Error = 0,\r\n Done = 1,\r\n Working = 2,\r\n Waiting = 3\r\n}\r\n\r\nexport abstract class Watcher {\r\n public status$ = new Subject<SubjectStatus>();\r\n protected status$$: Subscription;\r\n\r\n get status(): SubjectStatus {\r\n return this._status;\r\n }\r\n set status(value: SubjectStatus) {\r\n this._status = value;\r\n this.status$.next(value);\r\n }\r\n private _status: SubjectStatus;\r\n\r\n protected abstract watch();\r\n\r\n protected abstract unwatch();\r\n\r\n // tslint:disable-next-line:ban-types\r\n subscribe(callback: Function, scope?: any) {\r\n this.watch();\r\n\r\n this.status$$ = this.status$\r\n .pipe(distinctUntilChanged())\r\n .subscribe((status: SubjectStatus) => {\r\n this.handleStatusChange(status);\r\n callback.call(scope, this);\r\n });\r\n }\r\n\r\n unsubscribe() {\r\n this.unwatch();\r\n if (this.status$$ !== undefined) {\r\n this.status$$.unsubscribe();\r\n this.status$$ = undefined;\r\n }\r\n this.status = SubjectStatus.Waiting;\r\n }\r\n\r\n protected handleStatusChange(status: SubjectStatus) {}\r\n}\r\n","/*\r\n * Public API Surface of utils\r\n */\r\n\r\nexport * from './lib';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["Bowser","ChangeType","SubjectStatus","Subject","distinctUntilChanged"],"mappings":"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"}
@@ -1,5 +1,5 @@
1
- /**
2
- * Generated bundle index. Do not edit.
3
- */
4
- export * from './public_api';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWdvMi11dGlscy5qcyIsInNvdXJjZVJvb3QiOiIvc3J2L2FwcHMvaWdvMi1saWIvcGFja2FnZXMvdXRpbHMvc3JjLyIsInNvdXJjZXMiOlsiaWdvMi11dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsY0FBYyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL3B1YmxpY19hcGknO1xuIl19
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ export * from './public_api';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWdvMi11dGlscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3BhY2thZ2VzL3V0aWxzL3NyYy9pZ28yLXV0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxjQUFjLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vcHVibGljX2FwaSc7XG4iXX0=
@@ -1,85 +1,85 @@
1
- /* tslint:disable */
2
- const ALPHA = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';
3
- export class Base64 {
4
- static getByte(s, i) {
5
- const x = s.charCodeAt(i);
6
- return x;
7
- }
8
- static getByte64(s, i) {
9
- const idx = this.ALPHA.indexOf(s.charAt(i));
10
- return idx;
11
- }
12
- static decode(s) {
13
- let pads = 0, i, b10, imax = s.length, x = [];
14
- s = String(s);
15
- if (imax === 0) {
16
- return s;
17
- }
18
- if (s.charAt(imax - 1) === this.PADCHAR) {
19
- pads = 1;
20
- if (s.charAt(imax - 2) === this.PADCHAR) {
21
- pads = 2;
22
- }
23
- imax -= 4;
24
- }
25
- for (i = 0; i < imax; i += 4) {
26
- b10 =
27
- (this.getByte64(s, i) << 18) |
28
- (this.getByte64(s, i + 1) << 12) |
29
- (this.getByte64(s, i + 2) << 6) |
30
- this.getByte64(s, i + 3);
31
- x.push(String.fromCharCode(b10 >> 16, (b10 >> 8) & 255, b10 & 255));
32
- }
33
- switch (pads) {
34
- case 1:
35
- b10 =
36
- (this.getByte64(s, i) << 18) |
37
- (this.getByte64(s, i + 1) << 12) |
38
- (this.getByte64(s, i + 2) << 6);
39
- x.push(String.fromCharCode(b10 >> 16, (b10 >> 8) & 255));
40
- break;
41
- case 2:
42
- b10 = (this.getByte64(s, i) << 18) | (this.getByte64(s, i + 1) << 12);
43
- x.push(String.fromCharCode(b10 >> 16));
44
- break;
45
- }
46
- return x.join('');
47
- }
48
- static encode(s) {
49
- s = String(s);
50
- let i, b10, x = [], imax = s.length - s.length % 3;
51
- if (s.length === 0) {
52
- return s;
53
- }
54
- for (i = 0; i < imax; i += 3) {
55
- b10 =
56
- (this.getByte(s, i) << 16) |
57
- (this.getByte(s, i + 1) << 8) |
58
- this.getByte(s, i + 2);
59
- x.push(this.ALPHA.charAt(b10 >> 18));
60
- x.push(this.ALPHA.charAt((b10 >> 12) & 63));
61
- x.push(this.ALPHA.charAt((b10 >> 6) & 63));
62
- x.push(this.ALPHA.charAt(b10 & 63));
63
- }
64
- switch (s.length - imax) {
65
- case 1:
66
- b10 = this.getByte(s, i) << 16;
67
- x.push(this.ALPHA.charAt(b10 >> 18) +
68
- this.ALPHA.charAt((b10 >> 12) & 63) +
69
- this.PADCHAR +
70
- this.PADCHAR);
71
- break;
72
- case 2:
73
- b10 = (this.getByte(s, i) << 16) | (this.getByte(s, i + 1) << 8);
74
- x.push(this.ALPHA.charAt(b10 >> 18) +
75
- this.ALPHA.charAt((b10 >> 12) & 63) +
76
- this.ALPHA.charAt((b10 >> 6) & 63) +
77
- this.PADCHAR);
78
- break;
79
- }
80
- return x.join('');
81
- }
82
- }
83
- Base64.PADCHAR = '=';
84
- Base64.ALPHA = ALPHA;
85
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZTY0LmpzIiwic291cmNlUm9vdCI6Ii9zcnYvYXBwcy9pZ28yLWxpYi9wYWNrYWdlcy91dGlscy9zcmMvIiwic291cmNlcyI6WyJsaWIvYmFzZTY0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLG9CQUFvQjtBQUVwQixNQUFNLEtBQUssR0FDVCxrRUFBa0UsQ0FBQztBQUVyRSxNQUFNLE9BQU8sTUFBTTtJQUlULE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBUyxFQUFFLENBQVM7UUFDekMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUMxQixPQUFPLENBQUMsQ0FBQztJQUNYLENBQUM7SUFFTyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQVMsRUFBRSxDQUFTO1FBQzNDLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUM1QyxPQUFPLEdBQUcsQ0FBQztJQUNiLENBQUM7SUFFTSxNQUFNLENBQUMsTUFBTSxDQUFDLENBQVM7UUFDNUIsSUFBSSxJQUFJLEdBQUcsQ0FBQyxFQUNWLENBQUMsRUFDRCxHQUFHLEVBQ0gsSUFBSSxHQUFHLENBQUMsQ0FBQyxNQUFNLEVBQ2YsQ0FBQyxHQUFHLEVBQUUsQ0FBQztRQUVULENBQUMsR0FBRyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFFZCxJQUFJLElBQUksS0FBSyxDQUFDLEVBQUU7WUFDZCxPQUFPLENBQUMsQ0FBQztTQUNWO1FBRUQsSUFBSSxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksR0FBRyxDQUFDLENBQUMsS0FBSyxJQUFJLENBQUMsT0FBTyxFQUFFO1lBQ3ZDLElBQUksR0FBRyxDQUFDLENBQUM7WUFDVCxJQUFJLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQyxLQUFLLElBQUksQ0FBQyxPQUFPLEVBQUU7Z0JBQ3ZD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QyxJQUFJLENBQUMsQ0FBQyxDQUFDO2dCQUNqRSxDQUFDLENBQUMsSUFBSSxDQUNKLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLEdBQUcsSUFBSSxFQUFFLENBQUM7b0JBQzFCLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxJQUFJLEVBQUUsQ0FBQyxHQUFHLEVBQUUsQ0FBQztvQkFDbkMsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDO29CQUNsQyxJQUFJLENBQUMsT0FBTyxDQUNmLENBQUM7Z0JBQ0YsTUFBTTtTQUNUO1FBRUQsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ3BCLENBQUM7O0FBekdjLGNBQU8sR0FBVyxHQUFHLENBQUM7QUFDdEIsWUFBSyxHQUFXLEtBQUssQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qIHRzbGludDpkaXNhYmxlICovXG5cbmNvbnN0IEFMUEhBID1cbiAgJ0FCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXowMTIzNDU2Nzg5Ky8nO1xuXG5leHBvcnQgY2xhc3MgQmFzZTY0IHtcbiAgcHJpdmF0ZSBzdGF0aWMgUEFEQ0hBUjogc3RyaW5nID0gJz0nO1xuICBwcml2YXRlIHN0YXRpYyBBTFBIQTogc3RyaW5nID0gQUxQSEE7XG5cbiAgcHJpdmF0ZSBzdGF0aWMgZ2V0Qnl0ZShzOiBzdHJpbmcsIGk6IG51bWJlcik6IG51bWJlciB7XG4gICAgY29uc3QgeCA9IHMuY2hhckNvZGVBdChpKTtcbiAgICByZXR1cm4geDtcbiAgfVxuXG4gIHByaXZhdGUgc3RhdGljIGdldEJ5dGU2NChzOiBzdHJpbmcsIGk6IG51bWJlcik6IG51bWJlciB7XG4gICAgY29uc3QgaWR4ID0gdGhpcy5BTFBIQS5pbmRleE9mKHMuY2hhckF0KGkpKTtcbiAgICByZXR1cm4gaWR4O1xuICB9XG5cbiAgcHVibGljIHN0YXRpYyBkZWNvZGUoczogc3RyaW5nKTogc3RyaW5nIHtcbiAgICBsZXQgcGFkcyA9IDAsXG4gICAgICBpLFxuICAgICAgYjEwLFxuICAgICAgaW1heCA9IHMubGVuZ3RoLFxuICAgICAgeCA9IFtdO1xuXG4gICAgcyA9IFN0cmluZyhzKTtcblxuICAgIGlmIChpbWF4ID09PSAwKSB7XG4gICAgICByZXR1cm4gcztcbiAgICB9XG5cbiAgICBpZiAocy5jaGFyQXQoaW1heCAtIDEpID09PSB0aGlzLlBBRENIQVIpIHtcbiAgICAgIHBhZHMgPSAxO1xuICAgICAgaWYgKHMuY2hhckF0KGltYXggLSAyKSA9PT0gdGhpcy5QQURDSEFSKSB7XG4gICAgICAgIHBhZHMgPSAyO1xuICAgICAgfVxuICAgICAgaW1heCAtPSA0O1xuICAgIH1cblxuICAgIGZvciAoaSA9IDA7IGkgPCBpbWF4OyBpICs9IDQpIHtcbiAgICAgIGIxMCA9XG4gICAgICAgICh0aGlzLmdldEJ5dGU2NChzLCBpKSA8PCAxOCkgfFxuICAgICAgICAodGhpcy5nZXRCeXRlNjQocywgaSArIDEpIDw8IDEyKSB8XG4gICAgICAgICh0aGlzLmdldEJ5dGU2NChzLCBpICsgMikgPDwgNikgfFxuICAgICAgICB0aGlzLmdldEJ5dGU2NChzLCBpICsgMyk7XG4gICAgICB4LnB1c2goU3RyaW5nLmZyb21DaGFyQ29kZShiMTAgPj4gMTYsIChiMTAgPj4gOCkgJiAyNTUsIGIxMCAmIDI1NSkpO1xuICAgIH1cblxuICAgIHN3aXRjaCAocGFkcykge1xuICAgICAgY2FzZSAxOlxuICAgICAgICBiMTAgPVxuICAgICAgICAgICh0aGlzLmdldEJ5dGU2NChzLCBpKSA8PCAxOCkgfFxuICAgICAgICAgICh0aGlzLmdldEJ5dGU2NChzLCBpICsgMSkgPDwgMTIpIHxcbiAgICAgICAgICAodGhpcy5nZXRCeXRlNjQocywgaSArIDIpIDw8IDYpO1xuICAgICAgICB4LnB1c2goU3RyaW5nLmZyb21DaGFyQ29kZShiMTAgPj4gMTYsIChiMTAgPj4gOCkgJiAyNTUpKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIDI6XG4gICAgICAgIGIxMCA9ICh0aGlzLmdldEJ5dGU2NChzLCBpKSA8PCAxOCkgfCAodGhpcy5nZXRCeXRlNjQocywgaSArIDEpIDw8IDEyKTtcbiAgICAgICAgeC5wdXNoKFN0cmluZy5mcm9tQ2hhckNvZGUoYjEwID4+IDE2KSk7XG4gICAgICAgIGJyZWFrO1xuICAgIH1cblxuICAgIHJldHVybiB4LmpvaW4oJycpO1xuICB9XG5cbiAgcHVibGljIHN0YXRpYyBlbmNvZGUoczogc3RyaW5nKTogc3RyaW5nIHtcbiAgICBzID0gU3RyaW5nKHMpO1xuXG4gICAgbGV0IGksXG4gICAgICBiMTAsXG4gICAgICB4ID0gW10sXG4gICAgICBpbWF4ID0gcy5sZW5ndGggLSBzLmxlbmd0aCAlIDM7XG5cbiAgICBpZiAocy5sZW5ndGggPT09IDApIHtcbiAgICAgIHJldHVybiBzO1xuICAgIH1cblxuICAgIGZvciAoaSA9IDA7IGkgPCBpbWF4OyBpICs9IDMpIHtcbiAgICAgIGIxMCA9XG4gICAgICAgICh0aGlzLmdldEJ5dGUocywgaSkgPDwgMTYpIHxcbiAgICAgICAgKHRoaXMuZ2V0Qnl0ZShzLCBpICsgMSkgPDwgOCkgfFxuICAgICAgICB0aGlzLmdldEJ5dGUocywgaSArIDIpO1xuICAgICAgeC5wdXNoKHRoaXMuQUxQSEEuY2hhckF0KGIxMCA+PiAxOCkpO1xuICAgICAgeC5wdXNoKHRoaXMuQUxQSEEuY2hhckF0KChiMTAgPj4gMTIpICYgNjMpKTtcbiAgICAgIHgucHVzaCh0aGlzLkFMUEhBLmNoYXJBdCgoYjEwID4+IDYpICYgNjMpKTtcbiAgICAgIHgucHVzaCh0aGlzLkFMUEhBLmNoYXJBdChiMTAgJiA2MykpO1xuICAgIH1cblxuICAgIHN3aXRjaCAocy5sZW5ndGggLSBpbWF4KSB7XG4gICAgICBjYXNlIDE6XG4gICAgICAgIGIxMCA9IHRoaXMuZ2V0Qnl0ZShzLCBpKSA8PCAxNjtcbiAgICAgICAgeC5wdXNoKFxuICAgICAgICAgIHRoaXMuQUxQSEEuY2hhckF0KGIxMCA+PiAxOCkgK1xuICAgICAgICAgICAgdGhpcy5BTFBIQS5jaGFyQXQoKGIxMCA+PiAxMikgJiA2MykgK1xuICAgICAgICAgICAgdGhpcy5QQURDSEFSICtcbiAgICAgICAgICAgIHRoaXMuUEFEQ0hBUlxuICAgICAgICApO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgMjpcbiAgICAgICAgYjEwID0gKHRoaXMuZ2V0Qnl0ZShzLCBpKSA8PCAxNikgfCAodGhpcy5nZXRCeXRlKHMsIGkgKyAxKSA8PCA4KTtcbiAgICAgICAgeC5wdXNoKFxuICAgICAgICAgIHRoaXMuQUxQSEEuY2hhckF0KGIxMCA+PiAxOCkgK1xuICAgICAgICAgICAgdGhpcy5BTFBIQS5jaGFyQXQoKGIxMCA+PiAxMikgJiA2MykgK1xuICAgICAgICAgICAgdGhpcy5BTFBIQS5jaGFyQXQoKGIxMCA+PiA2KSAmIDYzKSArXG4gICAgICAgICAgICB0aGlzLlBBRENIQVJcbiAgICAgICAgKTtcbiAgICAgICAgYnJlYWs7XG4gICAgfVxuXG4gICAgcmV0dXJuIHguam9pbignJyk7XG4gIH1cbn1cbiJdfQ==
1
+ /* tslint:disable */
2
+ const ALPHA = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';
3
+ export class Base64 {
4
+ static getByte(s, i) {
5
+ const x = s.charCodeAt(i);
6
+ return x;
7
+ }
8
+ static getByte64(s, i) {
9
+ const idx = this.ALPHA.indexOf(s.charAt(i));
10
+ return idx;
11
+ }
12
+ static decode(s) {
13
+ let pads = 0, i, b10, imax = s.length, x = [];
14
+ s = String(s);
15
+ if (imax === 0) {
16
+ return s;
17
+ }
18
+ if (s.charAt(imax - 1) === this.PADCHAR) {
19
+ pads = 1;
20
+ if (s.charAt(imax - 2) === this.PADCHAR) {
21
+ pads = 2;
22
+ }
23
+ imax -= 4;
24
+ }
25
+ for (i = 0; i < imax; i += 4) {
26
+ b10 =
27
+ (this.getByte64(s, i) << 18) |
28
+ (this.getByte64(s, i + 1) << 12) |
29
+ (this.getByte64(s, i + 2) << 6) |
30
+ this.getByte64(s, i + 3);
31
+ x.push(String.fromCharCode(b10 >> 16, (b10 >> 8) & 255, b10 & 255));
32
+ }
33
+ switch (pads) {
34
+ case 1:
35
+ b10 =
36
+ (this.getByte64(s, i) << 18) |
37
+ (this.getByte64(s, i + 1) << 12) |
38
+ (this.getByte64(s, i + 2) << 6);
39
+ x.push(String.fromCharCode(b10 >> 16, (b10 >> 8) & 255));
40
+ break;
41
+ case 2:
42
+ b10 = (this.getByte64(s, i) << 18) | (this.getByte64(s, i + 1) << 12);
43
+ x.push(String.fromCharCode(b10 >> 16));
44
+ break;
45
+ }
46
+ return x.join('');
47
+ }
48
+ static encode(s) {
49
+ s = String(s);
50
+ let i, b10, x = [], imax = s.length - s.length % 3;
51
+ if (s.length === 0) {
52
+ return s;
53
+ }
54
+ for (i = 0; i < imax; i += 3) {
55
+ b10 =
56
+ (this.getByte(s, i) << 16) |
57
+ (this.getByte(s, i + 1) << 8) |
58
+ this.getByte(s, i + 2);
59
+ x.push(this.ALPHA.charAt(b10 >> 18));
60
+ x.push(this.ALPHA.charAt((b10 >> 12) & 63));
61
+ x.push(this.ALPHA.charAt((b10 >> 6) & 63));
62
+ x.push(this.ALPHA.charAt(b10 & 63));
63
+ }
64
+ switch (s.length - imax) {
65
+ case 1:
66
+ b10 = this.getByte(s, i) << 16;
67
+ x.push(this.ALPHA.charAt(b10 >> 18) +
68
+ this.ALPHA.charAt((b10 >> 12) & 63) +
69
+ this.PADCHAR +
70
+ this.PADCHAR);
71
+ break;
72
+ case 2:
73
+ b10 = (this.getByte(s, i) << 16) | (this.getByte(s, i + 1) << 8);
74
+ x.push(this.ALPHA.charAt(b10 >> 18) +
75
+ this.ALPHA.charAt((b10 >> 12) & 63) +
76
+ this.ALPHA.charAt((b10 >> 6) & 63) +
77
+ this.PADCHAR);
78
+ break;
79
+ }
80
+ return x.join('');
81
+ }
82
+ }
83
+ Base64.PADCHAR = '=';
84
+ Base64.ALPHA = ALPHA;
85
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZTY0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvdXRpbHMvc3JjL2xpYi9iYXNlNjQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsb0JBQW9CO0FBRXBCLE1BQU0sS0FBSyxHQUNULGtFQUFrRSxDQUFDO0FBRXJFLE1BQU0sT0FBTyxNQUFNO0lBSVQsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFTLEVBQUUsQ0FBUztRQUN6QyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzFCLE9BQU8sQ0FBQyxDQUFDO0lBQ1gsQ0FBQztJQUVPLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBUyxFQUFFLENBQVM7UUFDM0MsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzVDLE9BQU8sR0FBRyxDQUFDO0lBQ2IsQ0FBQztJQUVNLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBUztRQUM1QixJQUFJLElBQUksR0FBRyxDQUFDLEVBQ1YsQ0FBQyxFQUNELEdBQUcsRUFDSCxJQUFJLEdBQUcsQ0FBQyxDQUFDLE1BQU0sRUFDZixDQUFDLEdBQUcsRUFBRSxDQUFDO1FBRVQsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUVkLElBQUksSUFBSSxLQUFLLENBQUMsRUFBRTtZQUNkLE9BQU8sQ0FBQyxDQUFDO1NBQ1Y7UUFFRCxJQUFJLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQyxLQUFLLElBQUksQ0FBQyxPQUFPLEVBQUU7WUFDdkMsSUFBSSxHQUFHLENBQUMsQ0FBQztZQUNULElBQUksQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLEdBQUcsQ0FBQyxDQUFDLEtBQUssSUFBSSxDQUFDLE9BQU8sRUFBRTtnQkFDdkMsSUFBSSxH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Q0FBQyxDQUFDLENBQUM7Z0JBQ2pFLENBQUMsQ0FBQyxJQUFJLENBQ0osSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsR0FBRyxJQUFJLEVBQUUsQ0FBQztvQkFDMUIsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLElBQUksRUFBRSxDQUFDLEdBQUcsRUFBRSxDQUFDO29CQUNuQyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUM7b0JBQ2xDLElBQUksQ0FBQyxPQUFPLENBQ2YsQ0FBQztnQkFDRixNQUFNO1NBQ1Q7UUFFRCxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDcEIsQ0FBQzs7QUF6R2MsY0FBTyxHQUFXLEdBQUcsQ0FBQztBQUN0QixZQUFLLEdBQVcsS0FBSyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyogdHNsaW50OmRpc2FibGUgKi9cclxuXHJcbmNvbnN0IEFMUEhBID1cclxuICAnQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVphYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ejAxMjM0NTY3ODkrLyc7XHJcblxyXG5leHBvcnQgY2xhc3MgQmFzZTY0IHtcclxuICBwcml2YXRlIHN0YXRpYyBQQURDSEFSOiBzdHJpbmcgPSAnPSc7XHJcbiAgcHJpdmF0ZSBzdGF0aWMgQUxQSEE6IHN0cmluZyA9IEFMUEhBO1xyXG5cclxuICBwcml2YXRlIHN0YXRpYyBnZXRCeXRlKHM6IHN0cmluZywgaTogbnVtYmVyKTogbnVtYmVyIHtcclxuICAgIGNvbnN0IHggPSBzLmNoYXJDb2RlQXQoaSk7XHJcbiAgICByZXR1cm4geDtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgc3RhdGljIGdldEJ5dGU2NChzOiBzdHJpbmcsIGk6IG51bWJlcik6IG51bWJlciB7XHJcbiAgICBjb25zdCBpZHggPSB0aGlzLkFMUEhBLmluZGV4T2Yocy5jaGFyQXQoaSkpO1xyXG4gICAgcmV0dXJuIGlkeDtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzdGF0aWMgZGVjb2RlKHM6IHN0cmluZyk6IHN0cmluZyB7XHJcbiAgICBsZXQgcGFkcyA9IDAsXHJcbiAgICAgIGksXHJcbiAgICAgIGIxMCxcclxuICAgICAgaW1heCA9IHMubGVuZ3RoLFxyXG4gICAgICB4ID0gW107XHJcblxyXG4gICAgcyA9IFN0cmluZyhzKTtcclxuXHJcbiAgICBpZiAoaW1heCA9PT0gMCkge1xyXG4gICAgICByZXR1cm4gcztcclxuICAgIH1cclxuXHJcbiAgICBpZiAocy5jaGFyQXQoaW1heCAtIDEpID09PSB0aGlzLlBBRENIQVIpIHtcclxuICAgICAgcGFkcyA9IDE7XHJcbiAgICAgIGlmIChzLmNoYXJBdChpbWF4IC0gMikgPT09IHRoaXMuUEFEQ0hBUikge1xyXG4gICAgICAgIHBhZHMgPSAyO1xyXG4gICAgICB9XHJcbiAgICAgIGltYXggLT0gNDtcclxuICAgIH1cclxuXHJcbiAgICBmb3IgKGkgPSAwOyBpIDwgaW1heDsgaSArPSA0KSB7XHJcbiAgICAgIGIxMCA9XHJcbiAgICAgICAgKHRoaXMuZ2V0Qnl0ZTY0KHMsIGkpIDw8IDE4KSB8XHJcbiAgICAgICAgKHRoaXMuZ2V0Qnl0ZTY0KHMsIGkgKyAxKSA8PCAxMikgfFxyXG4gICAgICAgICh0aGlzLmdldEJ5dGU2NChzLCBpICsgMikgPDwgNikgfFxyXG4gICAgICAgIHRoaXMuZ2V0Qnl0ZTY0KHMsIGkgKyAzKTtcclxuICAgICAgeC5wdXNoKFN0cmluZy5mcm9tQ2hhckNvZGUoYjEwID4+IDE2LCAoYjEwID4+IDgpICYgMjU1LCBiMTAgJiAyNTUpKTtcclxuICAgIH1cclxuXHJcbiAgICBzd2l0Y2ggKHBhZHMpIHtcclxuICAgICAgY2FzZSAxOlxyXG4gICAgICAgIGIxMCA9XHJcbiAgICAgICAgICAodGhpcy5nZXRCeXRlNjQocywgaSkgPDwgMTgpIHxcclxuICAgICAgICAgICh0aGlzLmdldEJ5dGU2NChzLCBpICsgMSkgPDwgMTIpIHxcclxuICAgICAgICAgICh0aGlzLmdldEJ5dGU2NChzLCBpICsgMikgPDwgNik7XHJcbiAgICAgICAgeC5wdXNoKFN0cmluZy5mcm9tQ2hhckNvZGUoYjEwID4+IDE2LCAoYjEwID4+IDgpICYgMjU1KSk7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgMjpcclxuICAgICAgICBiMTAgPSAodGhpcy5nZXRCeXRlNjQocywgaSkgPDwgMTgpIHwgKHRoaXMuZ2V0Qnl0ZTY0KHMsIGkgKyAxKSA8PCAxMik7XHJcbiAgICAgICAgeC5wdXNoKFN0cmluZy5mcm9tQ2hhckNvZGUoYjEwID4+IDE2KSk7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIHguam9pbignJyk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc3RhdGljIGVuY29kZShzOiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgcyA9IFN0cmluZyhzKTtcclxuXHJcbiAgICBsZXQgaSxcclxuICAgICAgYjEwLFxyXG4gICAgICB4ID0gW10sXHJcbiAgICAgIGltYXggPSBzLmxlbmd0aCAtIHMubGVuZ3RoICUgMztcclxuXHJcbiAgICBpZiAocy5sZW5ndGggPT09IDApIHtcclxuICAgICAgcmV0dXJuIHM7XHJcbiAgICB9XHJcblxyXG4gICAgZm9yIChpID0gMDsgaSA8IGltYXg7IGkgKz0gMykge1xyXG4gICAgICBiMTAgPVxyXG4gICAgICAgICh0aGlzLmdldEJ5dGUocywgaSkgPDwgMTYpIHxcclxuICAgICAgICAodGhpcy5nZXRCeXRlKHMsIGkgKyAxKSA8PCA4KSB8XHJcbiAgICAgICAgdGhpcy5nZXRCeXRlKHMsIGkgKyAyKTtcclxuICAgICAgeC5wdXNoKHRoaXMuQUxQSEEuY2hhckF0KGIxMCA+PiAxOCkpO1xyXG4gICAgICB4LnB1c2godGhpcy5BTFBIQS5jaGFyQXQoKGIxMCA+PiAxMikgJiA2MykpO1xyXG4gICAgICB4LnB1c2godGhpcy5BTFBIQS5jaGFyQXQoKGIxMCA+PiA2KSAmIDYzKSk7XHJcbiAgICAgIHgucHVzaCh0aGlzLkFMUEhBLmNoYXJBdChiMTAgJiA2MykpO1xyXG4gICAgfVxyXG5cclxuICAgIHN3aXRjaCAocy5sZW5ndGggLSBpbWF4KSB7XHJcbiAgICAgIGNhc2UgMTpcclxuICAgICAgICBiMTAgPSB0aGlzLmdldEJ5dGUocywgaSkgPDwgMTY7XHJcbiAgICAgICAgeC5wdXNoKFxyXG4gICAgICAgICAgdGhpcy5BTFBIQS5jaGFyQXQoYjEwID4+IDE4KSArXHJcbiAgICAgICAgICAgIHRoaXMuQUxQSEEuY2hhckF0KChiMTAgPj4gMTIpICYgNjMpICtcclxuICAgICAgICAgICAgdGhpcy5QQURDSEFSICtcclxuICAgICAgICAgICAgdGhpcy5QQURDSEFSXHJcbiAgICAgICAgKTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSAyOlxyXG4gICAgICAgIGIxMCA9ICh0aGlzLmdldEJ5dGUocywgaSkgPDwgMTYpIHwgKHRoaXMuZ2V0Qnl0ZShzLCBpICsgMSkgPDwgOCk7XHJcbiAgICAgICAgeC5wdXNoKFxyXG4gICAgICAgICAgdGhpcy5BTFBIQS5jaGFyQXQoYjEwID4+IDE4KSArXHJcbiAgICAgICAgICAgIHRoaXMuQUxQSEEuY2hhckF0KChiMTAgPj4gMTIpICYgNjMpICtcclxuICAgICAgICAgICAgdGhpcy5BTFBIQS5jaGFyQXQoKGIxMCA+PiA2KSAmIDYzKSArXHJcbiAgICAgICAgICAgIHRoaXMuUEFEQ0hBUlxyXG4gICAgICAgICk7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIHguam9pbignJyk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -1,7 +1,7 @@
1
- export var ChangeType;
2
- (function (ChangeType) {
3
- ChangeType["ADDED"] = "added";
4
- ChangeType["DELETED"] = "deleted";
5
- ChangeType["MODIFIED"] = "modified";
6
- })(ChangeType || (ChangeType = {}));
7
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhbmdlLmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIvc3J2L2FwcHMvaWdvMi1saWIvcGFja2FnZXMvdXRpbHMvc3JjLyIsInNvdXJjZXMiOlsibGliL2NoYW5nZS5pbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFOLElBQVksVUFJWDtBQUpELFdBQVksVUFBVTtJQUNwQiw2QkFBZSxDQUFBO0lBQ2YsaUNBQW1CLENBQUE7SUFDbkIsbUNBQXFCLENBQUE7QUFDdkIsQ0FBQyxFQUpXLFVBQVUsS0FBVixVQUFVLFFBSXJCIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGVudW0gQ2hhbmdlVHlwZSB7XG4gIEFEREVEID0gJ2FkZGVkJyxcbiAgREVMRVRFRCA9ICdkZWxldGVkJyxcbiAgTU9ESUZJRUQgPSAnbW9kaWZpZWQnXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2hhbmdlIHtcbiAgdHlwZTogQ2hhbmdlVHlwZTtcbiAga2V5c0NoYW5nZWQ/OiB7XG4gICAga2V5OiBzdHJpbmc7XG4gICAgbmV3VmFsdWU6IGFueTtcbiAgICBvbGRWYWx1ZTogYW55O1xuICB9W107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgR3JvdXBpbmdDaGFuZ2VzIHtcbiAgYWRkZWQ6IENoYW5nZUl0ZW1bXTtcbiAgZGVsZXRlZDogQ2hhbmdlSXRlbVtdO1xuICBtb2RpZmllZDogQ2hhbmdlSXRlbVtdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENoYW5nZUl0ZW0ge1xuICBjaGFuZ2U6IENoYW5nZTtcbiAgdmFsdWU6IGFueTtcbiAgb2xkVmFsdWU/OiBhbnk7XG4gIG5ld1ZhbHVlPzogYW55O1xufVxuIl19
1
+ export var ChangeType;
2
+ (function (ChangeType) {
3
+ ChangeType["ADDED"] = "added";
4
+ ChangeType["DELETED"] = "deleted";
5
+ ChangeType["MODIFIED"] = "modified";
6
+ })(ChangeType || (ChangeType = {}));
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhbmdlLmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL3V0aWxzL3NyYy9saWIvY2hhbmdlLmludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQU4sSUFBWSxVQUlYO0FBSkQsV0FBWSxVQUFVO0lBQ3BCLDZCQUFlLENBQUE7SUFDZixpQ0FBbUIsQ0FBQTtJQUNuQixtQ0FBcUIsQ0FBQTtBQUN2QixDQUFDLEVBSlcsVUFBVSxLQUFWLFVBQVUsUUFJckIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZW51bSBDaGFuZ2VUeXBlIHtcclxuICBBRERFRCA9ICdhZGRlZCcsXHJcbiAgREVMRVRFRCA9ICdkZWxldGVkJyxcclxuICBNT0RJRklFRCA9ICdtb2RpZmllZCdcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBDaGFuZ2Uge1xyXG4gIHR5cGU6IENoYW5nZVR5cGU7XHJcbiAga2V5c0NoYW5nZWQ/OiB7XHJcbiAgICBrZXk6IHN0cmluZztcclxuICAgIG5ld1ZhbHVlOiBhbnk7XHJcbiAgICBvbGRWYWx1ZTogYW55O1xyXG4gIH1bXTtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBHcm91cGluZ0NoYW5nZXMge1xyXG4gIGFkZGVkOiBDaGFuZ2VJdGVtW107XHJcbiAgZGVsZXRlZDogQ2hhbmdlSXRlbVtdO1xyXG4gIG1vZGlmaWVkOiBDaGFuZ2VJdGVtW107XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgQ2hhbmdlSXRlbSB7XHJcbiAgY2hhbmdlOiBDaGFuZ2U7XHJcbiAgdmFsdWU6IGFueTtcclxuICBvbGRWYWx1ZT86IGFueTtcclxuICBuZXdWYWx1ZT86IGFueTtcclxufVxyXG4iXX0=