{ "version": 3, "sources": ["../../../node_modules/@servicestack/client/dist/index.js"], "sourcesContent": ["\"use strict\";\r\nvar __awaiter = (this && this.__awaiter) || function (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\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.chop = exports.lastRightPart = exports.lastLeftPart = exports.rightPart = exports.leftPart = exports.splitOnLast = exports.splitOnFirst = exports.css = exports.nameOf = exports.sanitize = exports.map = exports.toKebabCase = exports.toPascalCase = exports.toCamelCase = exports.createError = exports.isFormData = exports.createFieldError = exports.createErrorStatus = exports.ApiResult = exports.getResponseStatus = exports.getMethod = exports.JsonServiceClient = exports.GetAccessTokenResponse = exports.HttpMethods = exports.ServerEventUser = exports.GetEventSubscribers = exports.UpdateEventSubscriberResponse = exports.UpdateEventSubscriber = exports.ServerEventReceiver = exports.ServerEventsClient = exports.ReadyState = exports.SingletonInstanceResolver = exports.NewInstanceResolver = exports.MetadataType = exports.MetadataPropertyType = exports.MetadataAttribute = exports.MetadataDataMember = exports.MetadataDataContract = exports.MetadataTypeName = exports.MetadataTypes = exports.MetadataOperationType = exports.MetadataRoute = exports.MetadataTypesConfig = exports.GetNavItemsResponse = exports.GetNavItems = exports.NavItem = exports.EmptyResponse = exports.ErrorResponse = exports.ResponseError = exports.ResponseStatus = void 0;\r\nexports.sanitizeFormData = exports.serializeToFormData = exports.serializeToUrlEncoded = exports.serializeToObject = exports.serializeForm = exports.ajaxSubmit = exports.formSubmit = exports.toVarNames = exports.bootstrapForm = exports.bindHandlers = exports.bootstrap = exports.delaySet = exports.on = exports.$$ = exports.$1 = exports.createElement = exports.toLocalISOString = exports.timeFmt12 = exports.dateFmtHM = exports.dateFmt = exports.padInt = exports.toDateFmt = exports.toDate = exports.isDate = exports.errorResponse = exports.errorResponseExcept = exports.errorResponseSummary = exports.toObject = exports.toFormData = exports.parseResponseStatus = exports.getField = exports.normalize = exports.normalizeKey = exports.parseCookie = exports.tryDecode = exports.stripQuotes = exports.bytesToBase64 = exports.appendQueryString = exports.createUrl = exports.createPath = exports.combinePaths = exports.queryString = exports.humanify = exports.splitTitleCase = exports.isDigit = exports.isLower = exports.isUpper = exports.ucFirst = exports.humanize = exports.onlyProps = void 0;\r\nexports.alignCenter = exports.alignLeft = exports.uniqueKeys = exports.JSV = exports.StringBuffer = exports.toBase64String = exports.toByteArray = exports.fromByteArray = exports.toGuid = exports.fromGuid = exports.toTimeSpan = exports.fromTimeSpan = exports.toDateTime = exports.fromDateTime = exports.isNullOrEmpty = exports.indexOfAny = exports.htmlAttrs = exports.enc = exports.uniq = exports.flatMap = exports.toTimeSpanFmt = exports.toXsdDuration = exports.fromXsdDuration = exports.classNames = exports.NavOptions = exports.UserAttributes = exports.LinkButtonDefaults = exports.NavButtonGroupDefaults = exports.NavbarDefaults = exports.NavLinkDefaults = exports.NavDefaults = exports.btnClasses = exports.btnSizeClass = exports.BootstrapSizes = exports.btnColorClass = exports.BootstrapColors = exports.activeClass = exports.activeClassNav = exports.apiValueFmt = exports.apiValue = exports.mapGet = exports.resolve = exports.each = exports.apply = exports.omit = exports.pick = exports.safeVarName = exports.trimEnd = exports.populateForm = exports.triggerEvent = void 0;\r\nexports.Inspect = exports.createBus = exports.EventBus = exports.alignAuto = exports.alignRight = void 0;\r\nfunction nodeRequire() {\r\n //node require(), using dynamic access to fix web ng aot build\r\n try {\r\n let isNode = typeof process === 'object' &&\r\n typeof process.versions === 'object' &&\r\n typeof process.versions.node !== 'undefined';\r\n if (isNode)\r\n return eval('require');\r\n return null;\r\n }\r\n catch (e) {\r\n return null;\r\n }\r\n}\r\nlet R = nodeRequire();\r\nif (R)\r\n R('cross-fetch/polyfill'); //fetch polyfill only required for node.js\r\nclass ResponseStatus {\r\n constructor(init) { Object.assign(this, init); }\r\n}\r\nexports.ResponseStatus = ResponseStatus;\r\nclass ResponseError {\r\n constructor(init) { Object.assign(this, init); }\r\n}\r\nexports.ResponseError = ResponseError;\r\nclass ErrorResponse {\r\n constructor(init) { Object.assign(this, init); }\r\n}\r\nexports.ErrorResponse = ErrorResponse;\r\nclass EmptyResponse {\r\n constructor(init) { Object.assign(this, init); }\r\n}\r\nexports.EmptyResponse = EmptyResponse;\r\nclass NavItem {\r\n constructor(init) { Object.assign(this, init); }\r\n}\r\nexports.NavItem = NavItem;\r\nclass GetNavItems {\r\n constructor(init) { Object.assign(this, init); }\r\n createResponse() { return new GetNavItemsResponse(); }\r\n getTypeName() { return 'GetNavItems'; }\r\n getMethod() { return 'GET'; }\r\n}\r\nexports.GetNavItems = GetNavItems;\r\nclass GetNavItemsResponse {\r\n constructor(init) { Object.assign(this, init); }\r\n}\r\nexports.GetNavItemsResponse = GetNavItemsResponse;\r\nclass MetadataTypesConfig {\r\n constructor(init) { Object.assign(this, init); }\r\n}\r\nexports.MetadataTypesConfig = MetadataTypesConfig;\r\nclass MetadataRoute {\r\n constructor(init) { Object.assign(this, init); }\r\n}\r\nexports.MetadataRoute = MetadataRoute;\r\nclass MetadataOperationType {\r\n constructor(init) { Object.assign(this, init); }\r\n}\r\nexports.MetadataOperationType = MetadataOperationType;\r\nclass MetadataTypes {\r\n constructor(init) { Object.assign(this, init); }\r\n}\r\nexports.MetadataTypes = MetadataTypes;\r\nclass MetadataTypeName {\r\n constructor(init) { Object.assign(this, init); }\r\n}\r\nexports.MetadataTypeName = MetadataTypeName;\r\nclass MetadataDataContract {\r\n constructor(init) { Object.assign(this, init); }\r\n}\r\nexports.MetadataDataContract = MetadataDataContract;\r\nclass MetadataDataMember {\r\n constructor(init) { Object.assign(this, init); }\r\n}\r\nexports.MetadataDataMember = MetadataDataMember;\r\nclass MetadataAttribute {\r\n constructor(init) { Object.assign(this, init); }\r\n}\r\nexports.MetadataAttribute = MetadataAttribute;\r\nclass MetadataPropertyType {\r\n constructor(init) { Object.assign(this, init); }\r\n}\r\nexports.MetadataPropertyType = MetadataPropertyType;\r\nclass MetadataType {\r\n constructor(init) { Object.assign(this, init); }\r\n}\r\nexports.MetadataType = MetadataType;\r\nclass NewInstanceResolver {\r\n tryResolve(ctor) {\r\n return new ctor();\r\n }\r\n}\r\nexports.NewInstanceResolver = NewInstanceResolver;\r\nclass SingletonInstanceResolver {\r\n tryResolve(ctor) {\r\n return ctor.instance\r\n || (ctor.instance = new ctor());\r\n }\r\n}\r\nexports.SingletonInstanceResolver = SingletonInstanceResolver;\r\nfunction eventMessageType(evt) {\r\n switch (evt) {\r\n case 'onConnect':\r\n return 'ServerEventConnect';\r\n case 'onHeartbeat':\r\n return 'ServerEventHeartbeat';\r\n case 'onJoin':\r\n return 'ServerEventJoin';\r\n case 'onLeave':\r\n return 'ServerEventLeave';\r\n case 'onUpdate':\r\n return 'ServerEventUpdate';\r\n }\r\n return null;\r\n}\r\n/**\r\n * EventSource\r\n */\r\nvar ReadyState;\r\n(function (ReadyState) {\r\n ReadyState[ReadyState[\"CONNECTING\"] = 0] = \"CONNECTING\";\r\n ReadyState[ReadyState[\"OPEN\"] = 1] = \"OPEN\";\r\n ReadyState[ReadyState[\"CLOSED\"] = 2] = \"CLOSED\";\r\n})(ReadyState = exports.ReadyState || (exports.ReadyState = {}));\r\nclass ServerEventsClient {\r\n constructor(baseUrl, channels, options = {}, eventSource = null) {\r\n this.channels = channels;\r\n this.options = options;\r\n this.eventSource = eventSource;\r\n this.onMessage = (e) => {\r\n if (typeof document == \"undefined\") { //node\r\n //latest node-fetch + eventsource doesn't split SSE messages properly\r\n let requireSplitPos = e.data ? e.data.indexOf('\\n') : -1;\r\n if (requireSplitPos >= 0) {\r\n let data = e.data;\r\n let lastEventId = e.lastEventId;\r\n let e1 = Object.assign({}, { lastEventId, data: data.substring(0, requireSplitPos) }), e2 = Object.assign({}, { lastEventId, data: data.substring(requireSplitPos + 1) });\r\n this._onMessage(e1);\r\n this._onMessage(e2);\r\n return;\r\n }\r\n }\r\n this._onMessage(e);\r\n };\r\n this._onMessage = (e) => {\r\n if (this.stopped)\r\n return;\r\n let opt = this.options;\r\n if (typeof document == \"undefined\") {\r\n var document = {\r\n querySelectorAll: sel => []\r\n };\r\n }\r\n let $ = document.querySelectorAll.bind(document);\r\n let parts = splitOnFirst(e.data, \" \");\r\n let channel = null;\r\n let selector = parts[0];\r\n let selParts = splitOnFirst(selector, \"@\");\r\n if (selParts.length > 1) {\r\n channel = selParts[0];\r\n selector = selParts[1];\r\n }\r\n const json = parts[1];\r\n let body = null;\r\n try {\r\n body = json ? JSON.parse(json) : null;\r\n }\r\n catch (ignore) { }\r\n parts = splitOnFirst(selector, \".\");\r\n if (parts.length <= 1)\r\n throw \"invalid selector format: \" + selector;\r\n let op = parts[0], target = parts[1].replace(new RegExp(\"%20\", \"g\"), \" \");\r\n const tokens = splitOnFirst(target, \"$\");\r\n const [cmd, cssSelector] = tokens;\r\n const els = cssSelector && $(cssSelector);\r\n const el = els && els[0];\r\n const eventId = parseInt(e.lastEventId);\r\n const data = e.data;\r\n const type = eventMessageType(cmd) || \"ServerEventMessage\";\r\n const request = { eventId, data, type,\r\n channel, selector, json, body, op, target: tokens[0], cssSelector, meta: {} };\r\n const mergedBody = typeof body == \"object\"\r\n ? Object.assign({}, request, body)\r\n : request;\r\n if (opt.validate && opt.validate(request) === false)\r\n return;\r\n let headers = new Headers();\r\n headers.set(\"Content-Type\", \"text/plain\");\r\n if (op === \"cmd\") {\r\n if (cmd === \"onConnect\") {\r\n this.connectionInfo = mergedBody;\r\n if (typeof body.heartbeatIntervalMs == \"string\")\r\n this.connectionInfo.heartbeatIntervalMs = parseInt(body.heartbeatIntervalMs);\r\n if (typeof body.idleTimeoutMs == \"string\")\r\n this.connectionInfo.idleTimeoutMs = parseInt(body.idleTimeoutMs);\r\n Object.assign(opt, body);\r\n let fn = opt.handlers[\"onConnect\"];\r\n if (fn) {\r\n fn.call(el || document.body, this.connectionInfo, request);\r\n if (this.stopped)\r\n return;\r\n }\r\n if (opt.heartbeatUrl) {\r\n if (opt.heartbeat) {\r\n clearInterval(opt.heartbeat);\r\n }\r\n opt.heartbeat = setInterval(() => {\r\n if (this.eventSource.readyState === EventSource.CLOSED) {\r\n clearInterval(opt.heartbeat);\r\n const stopFn = opt.handlers[\"onStop\"];\r\n if (stopFn != null)\r\n stopFn.apply(this.eventSource);\r\n this.reconnectServerEvents({ error: new Error(\"EventSource is CLOSED\") });\r\n return;\r\n }\r\n fetch(new Request(opt.heartbeatUrl, { method: \"POST\", mode: \"cors\", headers: headers, credentials: this.serviceClient.credentials }))\r\n .then(res => { if (!res.ok)\r\n throw new Error(`${res.status} - ${res.statusText}`); })\r\n .catch(error => this.reconnectServerEvents({ error }));\r\n }, (this.connectionInfo && this.connectionInfo.heartbeatIntervalMs) || opt.heartbeatIntervalMs || 10000);\r\n }\r\n if (opt.unRegisterUrl) {\r\n if (typeof window != \"undefined\") {\r\n window.onunload = () => {\r\n if (navigator.sendBeacon) { // Chrome https://developers.google.com/web/updates/2019/12/chrome-80-deps-rems\r\n this.stopped = true;\r\n if (this.eventSource)\r\n this.eventSource.close();\r\n navigator.sendBeacon(opt.unRegisterUrl);\r\n }\r\n else {\r\n this.stop();\r\n }\r\n };\r\n }\r\n }\r\n this.updateSubscriberUrl = opt.updateSubscriberUrl;\r\n this.updateChannels((opt.channels || \"\").split(\",\"));\r\n }\r\n else {\r\n let isCmdMsg = cmd == \"onJoin\" || cmd == \"onLeave\" || cmd == \"onUpdate\";\r\n let fn = opt.handlers[cmd];\r\n if (fn) {\r\n if (isCmdMsg) {\r\n fn.call(el || document.body, mergedBody);\r\n }\r\n else {\r\n fn.call(el || document.body, body, request);\r\n }\r\n }\r\n else {\r\n if (!isCmdMsg) { //global receiver\r\n let r = opt.receivers && opt.receivers[\"cmd\"];\r\n this.invokeReceiver(r, cmd, el, request, \"cmd\");\r\n }\r\n }\r\n if (isCmdMsg) {\r\n fn = opt.handlers[\"onCommand\"];\r\n if (fn) {\r\n fn.call(el || document.body, mergedBody);\r\n }\r\n }\r\n }\r\n }\r\n else if (op === \"trigger\") {\r\n this.raiseEvent(target, request);\r\n }\r\n else if (op === \"css\") {\r\n css(els || $(\"body\"), cmd, body);\r\n }\r\n //Named Receiver\r\n let r = opt.receivers && opt.receivers[op];\r\n this.invokeReceiver(r, cmd, el, request, op);\r\n if (!eventMessageType(cmd)) {\r\n let fn = opt.handlers[\"onMessage\"];\r\n if (fn) {\r\n fn.call(el || document.body, mergedBody);\r\n }\r\n }\r\n if (opt.onTick)\r\n opt.onTick();\r\n };\r\n this.onError = (error) => {\r\n if (this.stopped)\r\n return;\r\n if (!error)\r\n error = event;\r\n let fn = this.options.onException;\r\n if (fn != null)\r\n fn.call(this.eventSource, error);\r\n if (this.options.onTick)\r\n this.options.onTick();\r\n };\r\n if (this.channels.length === 0)\r\n throw \"at least 1 channel is required\";\r\n this.resolver = this.options.resolver || new NewInstanceResolver();\r\n this.eventStreamUri = combinePaths(baseUrl, \"event-stream\") + \"?\";\r\n this.updateChannels(channels);\r\n this.serviceClient = new JsonServiceClient(baseUrl);\r\n this.listeners = {};\r\n this.withCredentials = true;\r\n if (!this.options.handlers)\r\n this.options.handlers = {};\r\n }\r\n getEventSourceOptions() {\r\n return { withCredentials: this.withCredentials };\r\n }\r\n reconnectServerEvents(opt = {}) {\r\n if (this.stopped)\r\n return;\r\n if (opt.error)\r\n this.onError(opt.error);\r\n const hold = this.eventSource;\r\n let url = opt.url || this.eventStreamUri || hold.url;\r\n if (this.options.resolveStreamUrl != null) {\r\n url = this.options.resolveStreamUrl(url);\r\n }\r\n const es = this.EventSource\r\n ? new this.EventSource(url, this.getEventSourceOptions())\r\n : new EventSource(url, this.getEventSourceOptions());\r\n es.addEventListener('error', e => (opt.onerror || hold.onerror || this.onError)(e));\r\n es.addEventListener('message', opt.onmessage || hold.onmessage || this.onMessage);\r\n let fn = this.options.onReconnect;\r\n if (fn != null)\r\n fn.call(es, opt.error);\r\n if (hold.removeEventListener) {\r\n hold.removeEventListener('error', this.onError);\r\n hold.removeEventListener('message', this.onMessage);\r\n }\r\n hold.close();\r\n return this.eventSource = es;\r\n }\r\n start() {\r\n this.stopped = false;\r\n if (this.eventSource == null || this.eventSource.readyState === EventSource.CLOSED) {\r\n let url = this.eventStreamUri;\r\n if (this.options.resolveStreamUrl != null) {\r\n url = this.options.resolveStreamUrl(url);\r\n }\r\n this.eventSource = this.EventSource\r\n ? new this.EventSource(url, this.getEventSourceOptions())\r\n : new EventSource(url, this.getEventSourceOptions());\r\n this.eventSource.addEventListener('error', this.onError);\r\n this.eventSource.addEventListener('message', e => this.onMessage(e));\r\n }\r\n return this;\r\n }\r\n stop() {\r\n this.stopped = true;\r\n if (this.eventSource) {\r\n this.eventSource.close();\r\n }\r\n let opt = this.options;\r\n if (opt && opt.heartbeat) {\r\n clearInterval(opt.heartbeat);\r\n }\r\n let hold = this.connectionInfo;\r\n if (hold == null || hold.unRegisterUrl == null)\r\n return new Promise((resolve, reject) => resolve());\r\n this.connectionInfo = null;\r\n return fetch(new Request(hold.unRegisterUrl, { method: \"POST\", mode: \"cors\", credentials: this.serviceClient.credentials }))\r\n .then(res => { if (!res.ok)\r\n throw new Error(`${res.status} - ${res.statusText}`); })\r\n .catch(this.onError);\r\n }\r\n invokeReceiver(r, cmd, el, request, name) {\r\n if (r) {\r\n if (typeof r == \"function\") {\r\n r = this.resolver.tryResolve(r);\r\n }\r\n cmd = cmd.replace(\"-\", \"\");\r\n r.client = this;\r\n r.request = request;\r\n if (typeof (r[cmd]) == \"function\") {\r\n r[cmd].call(el || r, request.body, request);\r\n }\r\n else if (cmd in r) {\r\n r[cmd] = request.body;\r\n }\r\n else {\r\n let metaProp = Object.getOwnPropertyDescriptor(r, cmd);\r\n if (metaProp != null) {\r\n if (metaProp.set) {\r\n metaProp.set(request.body);\r\n }\r\n else if (metaProp.writable) {\r\n r[cmd] = request.body;\r\n }\r\n return;\r\n }\r\n let cmdLower = cmd.toLowerCase();\r\n for (let k in r) {\r\n if (k.toLowerCase() == cmdLower) {\r\n if (typeof r[k] == \"function\") {\r\n r[k].call(el || r, request.body, request);\r\n }\r\n else {\r\n r[k] = request.body;\r\n }\r\n return;\r\n }\r\n }\r\n let noSuchMethod = r[\"noSuchMethod\"];\r\n if (typeof noSuchMethod == \"function\") {\r\n noSuchMethod.call(el || r, request.target, request);\r\n }\r\n }\r\n }\r\n }\r\n hasConnected() {\r\n return this.connectionInfo != null;\r\n }\r\n registerHandler(name, fn) {\r\n if (!this.options.handlers)\r\n this.options.handlers = {};\r\n this.options.handlers[name] = fn;\r\n return this;\r\n }\r\n setResolver(resolver) {\r\n this.options.resolver = resolver;\r\n return this;\r\n }\r\n registerReceiver(receiver) {\r\n return this.registerNamedReceiver(\"cmd\", receiver);\r\n }\r\n registerNamedReceiver(name, receiver) {\r\n if (!this.options.receivers)\r\n this.options.receivers = {};\r\n this.options.receivers[name] = receiver;\r\n return this;\r\n }\r\n unregisterReceiver(name = \"cmd\") {\r\n if (this.options.receivers) {\r\n delete this.options.receivers[name];\r\n }\r\n return this;\r\n }\r\n updateChannels(channels) {\r\n this.channels = channels;\r\n const url = this.eventSource != null\r\n ? this.eventSource.url\r\n : this.eventStreamUri;\r\n this.eventStreamUri = url.substring(0, Math.min(url.indexOf(\"?\"), url.length)) + \"?channels=\" + channels.join(\",\") + \"&t=\" + new Date().getTime();\r\n }\r\n update(subscribe, unsubscribe) {\r\n let sub = typeof subscribe == \"string\" ? subscribe.split(',') : subscribe;\r\n let unsub = typeof unsubscribe == \"string\" ? unsubscribe.split(',') : unsubscribe;\r\n let channels = [];\r\n for (let i in this.channels) {\r\n let c = this.channels[i];\r\n if (unsub == null || unsub.indexOf(c) === -1) {\r\n channels.push(c);\r\n }\r\n }\r\n if (sub) {\r\n for (let i in sub) {\r\n let c = sub[i];\r\n if (channels.indexOf(c) === -1) {\r\n channels.push(c);\r\n }\r\n }\r\n }\r\n this.updateChannels(channels);\r\n }\r\n addListener(eventName, handler) {\r\n let handlers = this.listeners[eventName] || (this.listeners[eventName] = []);\r\n handlers.push(handler);\r\n return this;\r\n }\r\n removeListener(eventName, handler) {\r\n let handlers = this.listeners[eventName];\r\n if (handlers) {\r\n let pos = handlers.indexOf(handler);\r\n if (pos >= 0) {\r\n handlers.splice(pos, 1);\r\n }\r\n }\r\n return this;\r\n }\r\n raiseEvent(eventName, msg) {\r\n let handlers = this.listeners[eventName];\r\n if (handlers) {\r\n handlers.forEach(x => {\r\n try {\r\n x(msg);\r\n }\r\n catch (e) {\r\n this.onError(e);\r\n }\r\n });\r\n }\r\n }\r\n getConnectionInfo() {\r\n if (this.connectionInfo == null)\r\n throw \"Not Connected\";\r\n return this.connectionInfo;\r\n }\r\n getSubscriptionId() {\r\n return this.getConnectionInfo().id;\r\n }\r\n updateSubscriber(request) {\r\n if (request.id == null)\r\n request.id = this.getSubscriptionId();\r\n return this.serviceClient.post(request)\r\n .then(x => {\r\n this.update(request.subscribeChannels, request.unsubscribeChannels);\r\n }).catch(this.onError);\r\n }\r\n subscribeToChannels(...channels) {\r\n let request = new UpdateEventSubscriber();\r\n request.id = this.getSubscriptionId();\r\n request.subscribeChannels = channels;\r\n return this.serviceClient.post(request)\r\n .then(x => {\r\n this.update(channels, null);\r\n }).catch(this.onError);\r\n }\r\n unsubscribeFromChannels(...channels) {\r\n let request = new UpdateEventSubscriber();\r\n request.id = this.getSubscriptionId();\r\n request.unsubscribeChannels = channels;\r\n return this.serviceClient.post(request)\r\n .then(x => {\r\n this.update(null, channels);\r\n }).catch(this.onError);\r\n }\r\n getChannelSubscribers() {\r\n let request = new GetEventSubscribers();\r\n request.channels = this.channels;\r\n return this.serviceClient.get(request)\r\n .then(r => r.map(x => this.toServerEventUser(x)))\r\n .catch(e => {\r\n this.onError(e);\r\n return [];\r\n });\r\n }\r\n toServerEventUser(map) {\r\n let channels = map[\"channels\"];\r\n let to = new ServerEventUser();\r\n to.userId = map[\"userId\"];\r\n to.displayName = map[\"displayName\"];\r\n to.profileUrl = map[\"profileUrl\"];\r\n to.channels = channels ? channels.split(',') : null;\r\n for (let k in map) {\r\n if (k == \"userId\" || k == \"displayName\" ||\r\n k == \"profileUrl\" || k == \"channels\")\r\n continue;\r\n if (to.meta == null)\r\n to.meta = {};\r\n to.meta[k] = map[k];\r\n }\r\n return to;\r\n }\r\n}\r\nexports.ServerEventsClient = ServerEventsClient;\r\nServerEventsClient.UnknownChannel = \"*\";\r\nclass ServerEventReceiver {\r\n noSuchMethod(selector, message) { }\r\n}\r\nexports.ServerEventReceiver = ServerEventReceiver;\r\nclass UpdateEventSubscriber {\r\n createResponse() { return new UpdateEventSubscriberResponse(); }\r\n getTypeName() { return \"UpdateEventSubscriber\"; }\r\n}\r\nexports.UpdateEventSubscriber = UpdateEventSubscriber;\r\nclass UpdateEventSubscriberResponse {\r\n}\r\nexports.UpdateEventSubscriberResponse = UpdateEventSubscriberResponse;\r\nclass GetEventSubscribers {\r\n createResponse() { return []; }\r\n getTypeName() { return \"GetEventSubscribers\"; }\r\n}\r\nexports.GetEventSubscribers = GetEventSubscribers;\r\nclass ServerEventUser {\r\n}\r\nexports.ServerEventUser = ServerEventUser;\r\nclass HttpMethods {\r\n}\r\nexports.HttpMethods = HttpMethods;\r\nHttpMethods.Get = \"GET\";\r\nHttpMethods.Post = \"POST\";\r\nHttpMethods.Put = \"PUT\";\r\nHttpMethods.Delete = \"DELETE\";\r\nHttpMethods.Patch = \"PATCH\";\r\nHttpMethods.Head = \"HEAD\";\r\nHttpMethods.Options = \"OPTIONS\";\r\nHttpMethods.hasRequestBody = (method) => !(method === \"GET\" || method === \"DELETE\" || method === \"HEAD\" || method === \"OPTIONS\");\r\nclass GetAccessToken {\r\n constructor(init) { Object.assign(this, init); }\r\n createResponse() { return new GetAccessTokenResponse(); }\r\n getTypeName() { return 'GetAccessToken'; }\r\n getMethod() { return 'POST'; }\r\n}\r\nclass GetAccessTokenResponse {\r\n}\r\nexports.GetAccessTokenResponse = GetAccessTokenResponse;\r\nclass JsonServiceClient {\r\n constructor(baseUrl = \"/\") {\r\n this.baseUrl = baseUrl;\r\n this.replyBaseUrl = combinePaths(baseUrl, \"json\", \"reply\") + \"/\";\r\n this.oneWayBaseUrl = combinePaths(baseUrl, \"json\", \"oneway\") + \"/\";\r\n this.mode = \"cors\";\r\n this.credentials = \"include\";\r\n this.headers = new Headers();\r\n this.headers.set(\"Content-Type\", \"application/json\");\r\n this.manageCookies = typeof document == \"undefined\"; //because node-fetch doesn't\r\n this.cookies = {};\r\n this.enableAutoRefreshToken = true;\r\n }\r\n setCredentials(userName, password) {\r\n this.userName = userName;\r\n this.password = password;\r\n }\r\n useBasePath(path) {\r\n this.basePath = path;\r\n return this;\r\n }\r\n set basePath(path) {\r\n if (!path) {\r\n this.replyBaseUrl = combinePaths(this.baseUrl, \"json\", \"reply\") + \"/\";\r\n this.oneWayBaseUrl = combinePaths(this.baseUrl, \"json\", \"oneway\") + \"/\";\r\n }\r\n else {\r\n if (path[0] != '/') {\r\n path = '/' + path;\r\n }\r\n this.replyBaseUrl = combinePaths(this.baseUrl, path) + \"/\";\r\n this.oneWayBaseUrl = combinePaths(this.baseUrl, path) + \"/\";\r\n }\r\n }\r\n apply(f) {\r\n f(this);\r\n return this;\r\n }\r\n get(request, args) {\r\n return typeof request != \"string\"\r\n ? this.fetch(HttpMethods.Get, request, args)\r\n : this.fetch(HttpMethods.Get, null, args, this.toAbsoluteUrl(request));\r\n }\r\n delete(request, args) {\r\n return typeof request != \"string\"\r\n ? this.fetch(HttpMethods.Delete, request, args)\r\n : this.fetch(HttpMethods.Delete, null, args, this.toAbsoluteUrl(request));\r\n }\r\n post(request, args) {\r\n return this.fetch(HttpMethods.Post, request, args);\r\n }\r\n postToUrl(url, request, args) {\r\n return this.fetch(HttpMethods.Post, request, args, this.toAbsoluteUrl(url));\r\n }\r\n postBody(request, body, args) {\r\n return this.fetchBody(HttpMethods.Post, request, body, args);\r\n }\r\n put(request, args) {\r\n return this.fetch(HttpMethods.Put, request, args);\r\n }\r\n putToUrl(url, request, args) {\r\n return this.fetch(HttpMethods.Put, request, args, this.toAbsoluteUrl(url));\r\n }\r\n putBody(request, body, args) {\r\n return this.fetchBody(HttpMethods.Put, request, body, args);\r\n }\r\n patch(request, args) {\r\n return this.fetch(HttpMethods.Patch, request, args);\r\n }\r\n patchToUrl(url, request, args) {\r\n return this.fetch(HttpMethods.Patch, request, args, this.toAbsoluteUrl(url));\r\n }\r\n patchBody(request, body, args) {\r\n return this.fetchBody(HttpMethods.Patch, request, body, args);\r\n }\r\n publish(request, args) {\r\n return this.sendOneWay(request, args);\r\n }\r\n sendOneWay(request, args) {\r\n const url = combinePaths(this.oneWayBaseUrl, nameOf(request));\r\n return this.fetch(HttpMethods.Post, request, null, url);\r\n }\r\n sendAll(requests) {\r\n if (requests.length == 0)\r\n return Promise.resolve([]);\r\n const url = combinePaths(this.replyBaseUrl, nameOf(requests[0]) + \"[]\");\r\n return this.fetch(HttpMethods.Post, requests, null, url);\r\n }\r\n sendAllOneWay(requests) {\r\n if (requests.length == 0)\r\n return Promise.resolve(void 0);\r\n const url = combinePaths(this.oneWayBaseUrl, nameOf(requests[0]) + \"[]\");\r\n return this.fetch(HttpMethods.Post, requests, null, url)\r\n .then(r => void 0);\r\n }\r\n createUrlFromDto(method, request) {\r\n let url = combinePaths(this.replyBaseUrl, nameOf(request));\r\n const hasRequestBody = HttpMethods.hasRequestBody(method);\r\n if (!hasRequestBody)\r\n url = appendQueryString(url, request);\r\n return url;\r\n }\r\n toAbsoluteUrl(relativeOrAbsoluteUrl) {\r\n return relativeOrAbsoluteUrl.startsWith(\"http://\") ||\r\n relativeOrAbsoluteUrl.startsWith(\"https://\")\r\n ? relativeOrAbsoluteUrl\r\n : combinePaths(this.baseUrl, relativeOrAbsoluteUrl);\r\n }\r\n deleteCookie(name) {\r\n if (this.manageCookies) {\r\n delete this.cookies[name];\r\n }\r\n else {\r\n if (document) {\r\n document.cookie = name + '=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/';\r\n }\r\n }\r\n }\r\n createRequest({ method, request, url, args, body }) {\r\n if (!url)\r\n url = this.createUrlFromDto(method, request);\r\n if (args)\r\n url = appendQueryString(url, args);\r\n if (this.bearerToken != null) {\r\n this.headers.set(\"Authorization\", \"Bearer \" + this.bearerToken);\r\n }\r\n else if (this.userName != null) {\r\n this.headers.set('Authorization', 'Basic ' + JsonServiceClient.toBase64(`${this.userName}:${this.password}`));\r\n }\r\n if (this.manageCookies) {\r\n let cookies = Object.keys(this.cookies)\r\n .map(x => {\r\n let c = this.cookies[x];\r\n return c.expires && c.expires < new Date()\r\n ? null\r\n : `${c.name}=${encodeURIComponent(c.value)}`;\r\n })\r\n .filter(x => !!x);\r\n if (cookies.length > 0)\r\n this.headers.set(\"Cookie\", cookies.join(\"; \"));\r\n else\r\n this.headers.delete(\"Cookie\");\r\n }\r\n let headers = new Headers(this.headers);\r\n let hasRequestBody = HttpMethods.hasRequestBody(method);\r\n let reqInit = {\r\n url,\r\n method: method,\r\n mode: this.mode,\r\n credentials: this.credentials,\r\n headers,\r\n compress: false, // https://github.com/bitinn/node-fetch/issues/93#issuecomment-200791658\r\n };\r\n if (hasRequestBody) {\r\n reqInit.body = body || JSON.stringify(request);\r\n if (isFormData(body)) {\r\n reqInit.body = sanitizeFormData(body);\r\n headers.delete('Content-Type'); //set by FormData\r\n }\r\n }\r\n if (this.requestFilter != null)\r\n this.requestFilter(reqInit);\r\n if (JsonServiceClient.globalRequestFilter != null)\r\n JsonServiceClient.globalRequestFilter(reqInit);\r\n return reqInit;\r\n }\r\n json(res) {\r\n if (this.parseJson)\r\n return this.parseJson(res);\r\n return res.json();\r\n }\r\n applyResponseFilters(res) {\r\n if (this.responseFilter != null)\r\n this.responseFilter(res);\r\n if (JsonServiceClient.globalResponseFilter != null)\r\n JsonServiceClient.globalResponseFilter(res);\r\n }\r\n createResponse(res, request) {\r\n if (!res.ok) {\r\n this.applyResponseFilters(res);\r\n throw res;\r\n }\r\n if (this.manageCookies) {\r\n let setCookies = [];\r\n res.headers.forEach((v, k) => {\r\n switch (k.toLowerCase()) {\r\n case \"set-cookie\":\r\n let cookies = v.split(',');\r\n cookies.forEach(c => setCookies.push(c));\r\n break;\r\n }\r\n });\r\n setCookies.forEach(x => {\r\n let cookie = parseCookie(x);\r\n if (cookie)\r\n this.cookies[cookie.name] = cookie;\r\n });\r\n }\r\n res.headers.forEach((v, k) => {\r\n switch (k.toLowerCase()) {\r\n case \"x-cookies\":\r\n if (v.split(',').indexOf('ss-reftok') >= 0)\r\n this.useTokenCookie = true;\r\n break;\r\n }\r\n });\r\n this.applyResponseFilters(res);\r\n let x = request && typeof request != \"string\" && typeof request.createResponse == 'function'\r\n ? request.createResponse()\r\n : null;\r\n if (typeof x === 'string')\r\n return res.text().then(o => o);\r\n let contentType = res.headers.get(\"content-type\");\r\n let isJson = contentType && contentType.indexOf(\"application/json\") !== -1;\r\n if (isJson) {\r\n return this.json(res).then(o => o);\r\n }\r\n if (typeof Uint8Array != \"undefined\" && x instanceof Uint8Array) {\r\n if (typeof res.arrayBuffer != 'function')\r\n throw new Error(\"This fetch polyfill does not implement 'arrayBuffer'\");\r\n return res.arrayBuffer().then(o => new Uint8Array(o));\r\n }\r\n else if (typeof Blob == \"function\" && x instanceof Blob) {\r\n if (typeof res.blob != 'function')\r\n throw new Error(\"This fetch polyfill does not implement 'blob'\");\r\n return res.blob().then(o => o);\r\n }\r\n let contentLength = res.headers.get(\"content-length\");\r\n if (contentLength === \"0\" || (contentLength == null && !isJson)) {\r\n return x;\r\n }\r\n return this.json(res).then(o => o); //fallback\r\n }\r\n handleError(holdRes, res, type = null) {\r\n if (res instanceof Error)\r\n throw this.raiseError(holdRes, res);\r\n // res.json can only be called once.\r\n if (res.bodyUsed)\r\n throw this.raiseError(res, createErrorResponse(res.status, res.statusText, type));\r\n let isErrorResponse = typeof res.json == \"undefined\" && res.responseStatus;\r\n if (isErrorResponse) {\r\n return new Promise((resolve, reject) => reject(this.raiseError(null, res)));\r\n }\r\n return this.json(res).then(o => {\r\n let errorDto = sanitize(o);\r\n if (!errorDto.responseStatus)\r\n throw createErrorResponse(res.status, res.statusText, type);\r\n if (type != null)\r\n errorDto.type = type;\r\n throw errorDto;\r\n }).catch(error => {\r\n // No responseStatus body, set from `res` Body object\r\n if (error instanceof Error\r\n || (typeof window != \"undefined\" && error instanceof window.DOMException /*MS Edge*/)) {\r\n throw this.raiseError(res, createErrorResponse(res.status, res.statusText, type));\r\n }\r\n throw this.raiseError(res, error);\r\n });\r\n }\r\n fetch(method, request, args, url) {\r\n return this.sendRequest({ method, request, args, url });\r\n }\r\n fetchBody(method, request, body, args) {\r\n let url = combinePaths(this.replyBaseUrl, nameOf(request));\r\n return this.sendRequest({\r\n method,\r\n request: body,\r\n body: typeof body == \"string\"\r\n ? body\r\n : isFormData(body)\r\n ? body\r\n : JSON.stringify(body),\r\n url: appendQueryString(url, request),\r\n args,\r\n returns: request\r\n });\r\n }\r\n sendRequest(info) {\r\n const req = this.createRequest(info);\r\n const returns = info.returns || info.request;\r\n let holdRes = null;\r\n const resendRequest = () => {\r\n const req = this.createRequest(info);\r\n if (this.urlFilter)\r\n this.urlFilter(req.url);\r\n return fetch(req.url, req)\r\n .then(res => this.createResponse(res, returns))\r\n .catch(res => this.handleError(holdRes, res));\r\n };\r\n if (this.urlFilter)\r\n this.urlFilter(req.url);\r\n return fetch(req.url, req)\r\n .then(res => {\r\n holdRes = res;\r\n const response = this.createResponse(res, returns);\r\n return response;\r\n })\r\n .catch(res => {\r\n if (res.status === 401) {\r\n if (this.enableAutoRefreshToken && (this.refreshToken || this.useTokenCookie || this.cookies['ss-reftok'] != null)) {\r\n const jwtReq = new GetAccessToken({ refreshToken: this.refreshToken, useTokenCookie: !!this.useTokenCookie });\r\n let url = this.refreshTokenUri || this.createUrlFromDto(HttpMethods.Post, jwtReq);\r\n if (this.useTokenCookie) {\r\n this.bearerToken = null;\r\n this.headers.delete(\"Authorization\");\r\n }\r\n let jwtRequest = this.createRequest({ method: HttpMethods.Post, request: jwtReq, args: null, url });\r\n return fetch(url, jwtRequest)\r\n .then(r => this.createResponse(r, jwtReq).then(jwtResponse => {\r\n this.bearerToken = jwtResponse.accessToken || null;\r\n return resendRequest();\r\n }))\r\n .catch(res => {\r\n if (this.onAuthenticationRequired) {\r\n return this.onAuthenticationRequired()\r\n .then(resendRequest)\r\n .catch(resHandler => {\r\n return this.handleError(holdRes, resHandler, \"RefreshTokenException\");\r\n });\r\n }\r\n else {\r\n return this.handleError(holdRes, res, \"RefreshTokenException\");\r\n }\r\n });\r\n }\r\n else {\r\n if (this.onAuthenticationRequired) {\r\n return this.onAuthenticationRequired().then(resendRequest);\r\n }\r\n }\r\n }\r\n return this.handleError(holdRes, res);\r\n });\r\n }\r\n raiseError(res, error) {\r\n if (this.exceptionFilter != null) {\r\n this.exceptionFilter(res, error);\r\n }\r\n return error;\r\n }\r\n // Generic send that uses APIs preferred HTTP Method (requires v5.13+ DTOs)\r\n send(request, args, url) {\r\n return this.sendRequest({ method: getMethod(request), request, args, url });\r\n }\r\n // Generic send IReturnVoid that uses APIs preferred HTTP Method (requires v5.13+ DTOs)\r\n sendVoid(request, args, url) {\r\n return this.sendRequest({ method: getMethod(request), request, args, url });\r\n }\r\n api(request, args, method) {\r\n return __awaiter(this, void 0, void 0, function* () {\r\n try {\r\n const result = yield this.fetch(getMethod(request, method), request, args);\r\n return new ApiResult({ response: result });\r\n }\r\n catch (e) {\r\n return new ApiResult({ error: getResponseStatus(e) });\r\n }\r\n });\r\n }\r\n apiVoid(request, args, method) {\r\n return __awaiter(this, void 0, void 0, function* () {\r\n try {\r\n const result = yield this.fetch(getMethod(request, method), request, args);\r\n return new ApiResult({ response: result !== null && result !== void 0 ? result : new EmptyResponse() });\r\n }\r\n catch (e) {\r\n return new ApiResult({ error: getResponseStatus(e) });\r\n }\r\n });\r\n }\r\n apiForm(request, body, args, method) {\r\n return __awaiter(this, void 0, void 0, function* () {\r\n try {\r\n const result = yield this.fetchBody(getMethod(request, method), request, body, args);\r\n return new ApiResult({ response: result });\r\n }\r\n catch (e) {\r\n return new ApiResult({ error: getResponseStatus(e) });\r\n }\r\n });\r\n }\r\n apiFormVoid(request, body, args, method) {\r\n return __awaiter(this, void 0, void 0, function* () {\r\n try {\r\n const result = yield this.fetchBody(getMethod(request, method), request, body, args);\r\n return new ApiResult({ response: result !== null && result !== void 0 ? result : new EmptyResponse() });\r\n }\r\n catch (e) {\r\n return new ApiResult({ error: getResponseStatus(e) });\r\n }\r\n });\r\n }\r\n}\r\nexports.JsonServiceClient = JsonServiceClient;\r\nfunction getMethod(request, method) {\r\n return (method !== null && method !== void 0 ? method : typeof request.getMethod == \"function\")\r\n ? request.getMethod()\r\n : HttpMethods.Post;\r\n}\r\nexports.getMethod = getMethod;\r\nfunction getResponseStatus(e) {\r\n var _a, _b;\r\n return (_b = (_a = e.responseStatus) !== null && _a !== void 0 ? _a : e.ResponseStatus) !== null && _b !== void 0 ? _b : (e.errorCode\r\n ? e\r\n : (e.message ? createErrorStatus(e.message, e.errorCode) : null));\r\n}\r\nexports.getResponseStatus = getResponseStatus;\r\nclass ApiResult {\r\n constructor(init) { Object.assign(this, init); }\r\n get completed() { return this.response != null || this.error != null; }\r\n get failed() { var _a, _b; return ((_a = this.error) === null || _a === void 0 ? void 0 : _a.errorCode) != null || ((_b = this.error) === null || _b === void 0 ? void 0 : _b.message) != null; }\r\n get succeeded() { return !this.failed && this.response != null; }\r\n get errorMessage() { var _a; return (_a = this.error) === null || _a === void 0 ? void 0 : _a.message; }\r\n get errorCode() { var _a; return (_a = this.error) === null || _a === void 0 ? void 0 : _a.errorCode; }\r\n get errors() { var _a, _b; return (_b = (_a = this.error) === null || _a === void 0 ? void 0 : _a.errors) !== null && _b !== void 0 ? _b : []; }\r\n get errorSummary() { return this.error != null && this.errors.length == 0 ? this.errorMessage : null; }\r\n fieldError(fieldName) {\r\n var _a;\r\n let matchField = fieldName.toLowerCase();\r\n return (_a = this.errors) === null || _a === void 0 ? void 0 : _a.find(x => x.fieldName.toLowerCase() == matchField);\r\n }\r\n fieldErrorMessage(fieldName) { var _a; return (_a = this.fieldError(fieldName)) === null || _a === void 0 ? void 0 : _a.message; }\r\n hasFieldError(fieldName) { return this.fieldError(fieldName) != null; }\r\n showSummary(exceptFields = []) {\r\n if (!this.failed)\r\n return false;\r\n return exceptFields.every(x => !this.hasFieldError(x));\r\n }\r\n summaryMessage(exceptFields = []) {\r\n if (this.showSummary(exceptFields)) {\r\n // Return first field error that's not visible\r\n let fieldSet = exceptFields.map(x => x.toLowerCase());\r\n let fieldError = fieldSet.find(x => fieldSet.indexOf(x.toLowerCase()) == -1);\r\n return fieldError !== null && fieldError !== void 0 ? fieldError : this.errorMessage;\r\n }\r\n }\r\n addFieldError(fieldName, message, errorCode = 'Exception') {\r\n if (!this.error)\r\n this.error = new ResponseStatus();\r\n const fieldError = this.fieldError(fieldName);\r\n if (fieldError != null) {\r\n fieldError.errorCode = errorCode;\r\n fieldError.message = message;\r\n }\r\n else {\r\n this.error.errors.push(new ResponseError({ fieldName, errorCode, message }));\r\n }\r\n }\r\n}\r\nexports.ApiResult = ApiResult;\r\nfunction createErrorStatus(message, errorCode = 'Exception') {\r\n return new ResponseStatus({ errorCode, message });\r\n}\r\nexports.createErrorStatus = createErrorStatus;\r\nfunction createFieldError(fieldName, message, errorCode = 'Exception') {\r\n return new ResponseStatus({ errors: [new ResponseError({ fieldName, errorCode, message })] });\r\n}\r\nexports.createFieldError = createFieldError;\r\nfunction isFormData(body) { return typeof window != \"undefined\" && body instanceof FormData; }\r\nexports.isFormData = isFormData;\r\nfunction createErrorResponse(errorCode, message, type = null) {\r\n const error = apply(new ErrorResponse(), e => {\r\n if (type != null)\r\n e.type = type;\r\n e.responseStatus = apply(new ResponseStatus(), status => {\r\n status.errorCode = errorCode && errorCode.toString();\r\n status.message = message;\r\n });\r\n });\r\n return error;\r\n}\r\nfunction createError(errorCode, message, fieldName) {\r\n return new ErrorResponse({\r\n responseStatus: new ResponseStatus({\r\n errorCode,\r\n message,\r\n errors: fieldName ? [new ResponseError({ errorCode, message, fieldName })] : undefined\r\n })\r\n });\r\n}\r\nexports.createError = createError;\r\nfunction toCamelCase(s) { return !s ? s : s.charAt(0).toLowerCase() + s.substring(1); }\r\nexports.toCamelCase = toCamelCase;\r\nfunction toPascalCase(s) { return !s ? s : s.charAt(0).toUpperCase() + s.substring(1); }\r\nexports.toPascalCase = toPascalCase;\r\nfunction toKebabCase(s) { return (s || '').replace(/([a-z])([A-Z])/g, '$1-$2').toLowerCase(); }\r\nexports.toKebabCase = toKebabCase;\r\nfunction map(o, f) { return o == null ? null : f(o); }\r\nexports.map = map;\r\nfunction sanitize(status) {\r\n if (status.responseStatus)\r\n return status;\r\n if (status.errors)\r\n return status;\r\n let to = {};\r\n for (let k in status) {\r\n if (status.hasOwnProperty(k)) {\r\n if (status[k] instanceof Object)\r\n to[toCamelCase(k)] = sanitize(status[k]);\r\n else\r\n to[toCamelCase(k)] = status[k];\r\n }\r\n }\r\n to.errors = [];\r\n if (status.Errors != null) {\r\n for (let i = 0, len = status.Errors.length; i < len; i++) {\r\n let o = status.Errors[i];\r\n let err = {};\r\n for (let k in o)\r\n err[toCamelCase(k)] = o[k];\r\n to.errors.push(err);\r\n }\r\n }\r\n return to;\r\n}\r\nexports.sanitize = sanitize;\r\nfunction nameOf(o) {\r\n if (!o)\r\n return \"null\";\r\n if (typeof o.getTypeName == \"function\")\r\n return o.getTypeName();\r\n let ctor = o && o.constructor;\r\n if (ctor == null)\r\n throw `${o} doesn't have constructor`;\r\n if (ctor.name)\r\n return ctor.name;\r\n let str = ctor.toString();\r\n return str.substring(9, str.indexOf(\"(\")); //\"function \".length == 9\r\n}\r\nexports.nameOf = nameOf;\r\n/* utils */\r\nfunction log(o, prefix = \"LOG\") {\r\n console.log(prefix, o);\r\n return o;\r\n}\r\nfunction css(selector, name, value) {\r\n const els = typeof selector == \"string\"\r\n ? document.querySelectorAll(selector)\r\n : selector;\r\n for (let i = 0; i < els.length; i++) {\r\n const el = els[i];\r\n if (el != null && el.style != null) {\r\n el.style[name] = value;\r\n }\r\n }\r\n}\r\nexports.css = css;\r\nfunction splitOnFirst(s, c) {\r\n if (!s)\r\n return [s];\r\n let pos = s.indexOf(c);\r\n return pos >= 0 ? [s.substring(0, pos), s.substring(pos + 1)] : [s];\r\n}\r\nexports.splitOnFirst = splitOnFirst;\r\nfunction splitOnLast(s, c) {\r\n if (!s)\r\n return [s];\r\n let pos = s.lastIndexOf(c);\r\n return pos >= 0\r\n ? [s.substring(0, pos), s.substring(pos + 1)]\r\n : [s];\r\n}\r\nexports.splitOnLast = splitOnLast;\r\nfunction leftPart(s, needle) {\r\n if (s == null)\r\n return null;\r\n let pos = s.indexOf(needle);\r\n return pos == -1\r\n ? s\r\n : s.substring(0, pos);\r\n}\r\nexports.leftPart = leftPart;\r\nfunction rightPart(s, needle) {\r\n if (s == null)\r\n return null;\r\n let pos = s.indexOf(needle);\r\n return pos == -1\r\n ? s\r\n : s.substring(pos + needle.length);\r\n}\r\nexports.rightPart = rightPart;\r\nfunction lastLeftPart(s, needle) {\r\n if (s == null)\r\n return null;\r\n let pos = s.lastIndexOf(needle);\r\n return pos == -1\r\n ? s\r\n : s.substring(0, pos);\r\n}\r\nexports.lastLeftPart = lastLeftPart;\r\nfunction lastRightPart(s, needle) {\r\n if (s == null)\r\n return null;\r\n let pos = s.lastIndexOf(needle);\r\n return pos == -1\r\n ? s\r\n : s.substring(pos + needle.length);\r\n}\r\nexports.lastRightPart = lastRightPart;\r\nfunction chop(str, len = 1) {\r\n len = Math.abs(len);\r\n return str ? len < str.length ? str.substring(0, str.length - len) : '' : str;\r\n}\r\nexports.chop = chop;\r\nfunction onlyProps(obj, keys) {\r\n let to = {};\r\n keys.forEach(key => to[key] = obj[key]);\r\n return to;\r\n}\r\nexports.onlyProps = onlyProps;\r\nfunction splitCase(t) {\r\n return typeof t != 'string' ? t : t.replace(/([A-Z]|[0-9]+)/g, ' $1').replace(/_/g, ' ').trim();\r\n}\r\nfunction humanize(s) { return (!s || s.indexOf(' ') >= 0 ? s : splitCase(toPascalCase(s))); }\r\nexports.humanize = humanize;\r\nconst ucFirst = (s) => s.charAt(0).toUpperCase() + s.substring(1);\r\nexports.ucFirst = ucFirst;\r\nconst isUpper = (c) => c >= 'A' && c <= 'Z';\r\nexports.isUpper = isUpper;\r\nconst isLower = (c) => c >= 'a' && c <= 'z';\r\nexports.isLower = isLower;\r\nconst isDigit = (c) => c >= '0' && c <= '9';\r\nexports.isDigit = isDigit;\r\nconst upperOrDigit = (c) => (0, exports.isUpper)(c) || (0, exports.isDigit)(c);\r\nfunction splitTitleCase(s) {\r\n let to = [];\r\n if (typeof s != 'string')\r\n return to;\r\n let lastSplit = 0;\r\n for (let i = 0; i < s.length; i++) {\r\n let c = s[i];\r\n let prev = i > 0 ? s[i - 1] : null;\r\n let next = i + 1 < s.length ? s[i + 1] : null;\r\n if (upperOrDigit(c) && (!upperOrDigit(prev) || !upperOrDigit(next))) {\r\n to.push(s.substring(lastSplit, i));\r\n lastSplit = i;\r\n }\r\n }\r\n to.push(s.substring(lastSplit, s.length));\r\n return to.filter(x => !!x);\r\n}\r\nexports.splitTitleCase = splitTitleCase;\r\nconst humanify = s => !s || s.indexOf(' ') >= 0 ? s : (0, exports.ucFirst)(splitTitleCase(s).join(' '));\r\nexports.humanify = humanify;\r\nfunction queryString(url) {\r\n if (!url || url.indexOf('?') === -1)\r\n return {};\r\n let pairs = splitOnFirst(url, '?')[1].split('&');\r\n let map = {};\r\n for (let i = 0; i < pairs.length; ++i) {\r\n let p = pairs[i].split('=');\r\n map[p[0]] = p.length > 1\r\n ? decodeURIComponent(p[1].replace(/\\+/g, ' '))\r\n : null;\r\n }\r\n return map;\r\n}\r\nexports.queryString = queryString;\r\nfunction combinePaths(...paths) {\r\n let parts = [], i, l;\r\n for (i = 0, l = paths.length; i < l; i++) {\r\n let arg = paths[i];\r\n parts = arg.indexOf(\"://\") === -1\r\n ? parts.concat(arg.split(\"/\"))\r\n : parts.concat(arg.lastIndexOf(\"/\") === arg.length - 1 ? arg.substring(0, arg.length - 1) : arg);\r\n }\r\n let combinedPaths = [];\r\n for (i = 0, l = parts.length; i < l; i++) {\r\n let part = parts[i];\r\n if (!part || part === \".\")\r\n continue;\r\n if (part === \"..\")\r\n combinedPaths.pop();\r\n else\r\n combinedPaths.push(part);\r\n }\r\n if (parts[0] === \"\")\r\n combinedPaths.unshift(\"\");\r\n return combinedPaths.join(\"/\") || (combinedPaths.length ? \"/\" : \".\");\r\n}\r\nexports.combinePaths = combinePaths;\r\nfunction createPath(route, args) {\r\n let argKeys = {};\r\n for (let k in args) {\r\n argKeys[k.toLowerCase()] = k;\r\n }\r\n let parts = route.split(\"/\");\r\n let url = \"\";\r\n for (let i = 0; i < parts.length; i++) {\r\n let p = parts[i];\r\n if (p == null)\r\n p = \"\";\r\n if (p[0] === \"{\" && p[p.length - 1] === \"}\") {\r\n const key = argKeys[p.substring(1, p.length - 1).toLowerCase()];\r\n if (key) {\r\n p = args[key];\r\n delete args[key];\r\n }\r\n }\r\n if (url.length > 0)\r\n url += \"/\";\r\n url += p;\r\n }\r\n return url;\r\n}\r\nexports.createPath = createPath;\r\nfunction createUrl(route, args) {\r\n let url = createPath(route, args);\r\n return appendQueryString(url, args);\r\n}\r\nexports.createUrl = createUrl;\r\nfunction appendQueryString(url, args) {\r\n for (let k in args) {\r\n if (args.hasOwnProperty(k)) {\r\n let val = args[k];\r\n if (typeof val == 'undefined')\r\n continue;\r\n url += url.indexOf(\"?\") >= 0 ? \"&\" : \"?\";\r\n url += k + \"=\" + qsValue(val);\r\n }\r\n }\r\n return url;\r\n}\r\nexports.appendQueryString = appendQueryString;\r\nfunction qsValue(arg) {\r\n if (arg == null)\r\n return \"\";\r\n if (typeof Uint8Array != \"undefined\" && arg instanceof Uint8Array)\r\n return bytesToBase64(arg);\r\n return encodeURIComponent(arg) || \"\";\r\n}\r\n//from: https://github.com/madmurphy/stringview.js/blob/master/stringview.js\r\nfunction bytesToBase64(aBytes) {\r\n let eqLen = (3 - (aBytes.length % 3)) % 3, sB64Enc = \"\";\r\n for (let nMod3, nLen = aBytes.length, nUint24 = 0, nIdx = 0; nIdx < nLen; nIdx++) {\r\n nMod3 = nIdx % 3;\r\n nUint24 |= aBytes[nIdx] << (16 >>> nMod3 & 24);\r\n if (nMod3 === 2 || aBytes.length - nIdx === 1) {\r\n sB64Enc += String.fromCharCode(uint6ToB64(nUint24 >>> 18 & 63), uint6ToB64(nUint24 >>> 12 & 63), uint6ToB64(nUint24 >>> 6 & 63), uint6ToB64(nUint24 & 63));\r\n nUint24 = 0;\r\n }\r\n }\r\n return eqLen === 0\r\n ? sB64Enc\r\n : sB64Enc.substring(0, sB64Enc.length - eqLen) + (eqLen === 1 ? \"=\" : \"==\");\r\n}\r\nexports.bytesToBase64 = bytesToBase64;\r\nfunction uint6ToB64(nUint6) {\r\n return nUint6 < 26 ?\r\n nUint6 + 65\r\n : nUint6 < 52 ?\r\n nUint6 + 71\r\n : nUint6 < 62 ?\r\n nUint6 - 4\r\n : nUint6 === 62 ? 43\r\n : nUint6 === 63 ? 47 : 65;\r\n}\r\nfunction _btoa(base64) {\r\n return typeof btoa == 'function'\r\n ? btoa(base64)\r\n : Buffer.from(base64).toString('base64');\r\n}\r\nfunction _atob(base64) {\r\n return typeof atob == 'function'\r\n ? atob(base64)\r\n : Buffer.from(base64, 'base64').toString();\r\n}\r\n//from: http://stackoverflow.com/a/30106551/85785\r\nJsonServiceClient.toBase64 = (str) => _btoa(encodeURIComponent(str).replace(/%([0-9A-F]{2})/g, (match, p1) => String.fromCharCode(new Number('0x' + p1).valueOf())));\r\nfunction stripQuotes(s) { return s && s[0] == '\"' && s[s.length] == '\"' ? s.slice(1, -1) : s; }\r\nexports.stripQuotes = stripQuotes;\r\nfunction tryDecode(s) {\r\n try {\r\n return decodeURIComponent(s);\r\n }\r\n catch (e) {\r\n return s;\r\n }\r\n}\r\nexports.tryDecode = tryDecode;\r\nfunction parseCookie(setCookie) {\r\n if (!setCookie)\r\n return null;\r\n let to = null;\r\n let pairs = setCookie.split(/; */);\r\n for (let i = 0; i < pairs.length; i++) {\r\n let pair = pairs[i];\r\n let parts = splitOnFirst(pair, '=');\r\n let name = parts[0].trim();\r\n let value = parts.length > 1 ? tryDecode(stripQuotes(parts[1].trim())) : null;\r\n if (i == 0) {\r\n to = { name, value, path: \"/\" };\r\n }\r\n else {\r\n let lower = name.toLowerCase();\r\n if (lower == \"httponly\") {\r\n to.httpOnly = true;\r\n }\r\n else if (lower == \"secure\") {\r\n to.secure = true;\r\n }\r\n else if (lower == \"expires\") {\r\n to.expires = new Date(value);\r\n // MS Edge returns Invalid Date when using '-' in \"12-Mar-2037\"\r\n if (to.expires.toString() === \"Invalid Date\") {\r\n to.expires = new Date(value.replace(/-/g, \" \"));\r\n }\r\n }\r\n else {\r\n to[name] = value;\r\n }\r\n }\r\n }\r\n return to;\r\n}\r\nexports.parseCookie = parseCookie;\r\nfunction normalizeKey(key) { return key.toLowerCase().replace(/_/g, ''); }\r\nexports.normalizeKey = normalizeKey;\r\nfunction isArray(o) { return Object.prototype.toString.call(o) === '[object Array]'; }\r\nfunction normalize(dto, deep) {\r\n if (isArray(dto)) {\r\n if (!deep)\r\n return dto;\r\n const to = [];\r\n for (let i = 0; i < dto.length; i++) {\r\n to[i] = normalize(dto[i], deep);\r\n }\r\n return to;\r\n }\r\n if (typeof dto != \"object\")\r\n return dto;\r\n let o = {};\r\n for (let k in dto) {\r\n o[normalizeKey(k)] = deep ? normalize(dto[k], deep) : dto[k];\r\n }\r\n return o;\r\n}\r\nexports.normalize = normalize;\r\nfunction getField(o, name) {\r\n return o == null || name == null ? null :\r\n o[name] ||\r\n o[Object.keys(o).filter(k => normalizeKey(k) === normalizeKey(name))[0] || ''];\r\n}\r\nexports.getField = getField;\r\nfunction parseResponseStatus(json, defaultMsg = null) {\r\n try {\r\n let err = JSON.parse(json);\r\n return sanitize(err.ResponseStatus || err.responseStatus);\r\n }\r\n catch (e) {\r\n return {\r\n message: defaultMsg || e.message || e,\r\n __error: { error: e, json: json }\r\n };\r\n }\r\n}\r\nexports.parseResponseStatus = parseResponseStatus;\r\nfunction toFormData(o) {\r\n if (typeof window == \"undefined\")\r\n return;\r\n let formData = new FormData();\r\n for (let name in o) {\r\n formData.append(name, o[name]);\r\n }\r\n return formData;\r\n}\r\nexports.toFormData = toFormData;\r\nfunction toObject(keys) {\r\n const to = {};\r\n if (!keys)\r\n return to;\r\n if (typeof keys != \"object\")\r\n throw new Error(\"keys must be an Array of object keys\");\r\n const arr = Array.prototype.slice.call(keys);\r\n arr.forEach(key => {\r\n if (this[key]) {\r\n to[key] = this[key];\r\n }\r\n });\r\n return to;\r\n}\r\nexports.toObject = toObject;\r\nfunction errorResponseSummary() {\r\n const responseStatus = this.responseStatus || this.ResponseStatus;\r\n if (responseStatus == null)\r\n return undefined;\r\n const status = responseStatus.ErrorCode ? sanitize(responseStatus) : responseStatus;\r\n return !status.errors || status.errors.length == 0\r\n ? status.message || status.errorCode\r\n : undefined;\r\n}\r\nexports.errorResponseSummary = errorResponseSummary;\r\nfunction errorResponseExcept(fieldNames) {\r\n const responseStatus = this.responseStatus || this.ResponseStatus;\r\n if (responseStatus == null)\r\n return undefined;\r\n const status = responseStatus.ErrorCode ? sanitize(responseStatus) : responseStatus;\r\n const names = toVarNames(fieldNames);\r\n if (names && !(status.errors == null || status.errors.length == 0)) {\r\n const lowerFieldsNames = names.map(x => (x || '').toLowerCase());\r\n for (let field of status.errors) {\r\n if (lowerFieldsNames.indexOf((field.fieldName || '').toLowerCase()) !== -1) {\r\n return undefined;\r\n }\r\n }\r\n for (let field of status.errors) {\r\n if (lowerFieldsNames.indexOf((field.fieldName || '').toLowerCase()) === -1) {\r\n return field.message || field.errorCode;\r\n }\r\n }\r\n }\r\n return status.message || status.errorCode || undefined;\r\n}\r\nexports.errorResponseExcept = errorResponseExcept;\r\nfunction errorResponse(fieldName) {\r\n if (fieldName == null)\r\n return errorResponseSummary.call(this);\r\n const responseStatus = this.responseStatus || this.ResponseStatus;\r\n if (responseStatus == null)\r\n return undefined;\r\n const status = responseStatus.ErrorCode ? sanitize(responseStatus) : responseStatus;\r\n if (status.errors == null || status.errors.length == 0)\r\n return undefined;\r\n const field = status.errors.find(x => (x.fieldName || '').toLowerCase() == fieldName.toLowerCase());\r\n return field\r\n ? field.message || field.errorCode\r\n : undefined;\r\n}\r\nexports.errorResponse = errorResponse;\r\nfunction isDate(d) { return d && Object.prototype.toString.call(d) === \"[object Date]\" && !isNaN(d); }\r\nexports.isDate = isDate;\r\nfunction toDate(s) {\r\n return !s ? null\r\n : isDate(s)\r\n ? s\r\n : s[0] == '/'\r\n ? new Date(parseFloat(/Date\\(([^)]+)\\)/.exec(s)[1]))\r\n : new Date(s);\r\n}\r\nexports.toDate = toDate;\r\nfunction toDateFmt(s) { return dateFmt(toDate(s)); }\r\nexports.toDateFmt = toDateFmt;\r\nfunction padInt(n) { return n < 10 ? '0' + n : n; }\r\nexports.padInt = padInt;\r\nfunction dateFmt(d = new Date()) { return d.getFullYear() + '/' + padInt(d.getMonth() + 1) + '/' + padInt(d.getDate()); }\r\nexports.dateFmt = dateFmt;\r\nfunction dateFmtHM(d = new Date()) { return d.getFullYear() + '/' + padInt(d.getMonth() + 1) + '/' + padInt(d.getDate()) + ' ' + padInt(d.getHours()) + \":\" + padInt(d.getMinutes()); }\r\nexports.dateFmtHM = dateFmtHM;\r\nfunction timeFmt12(d = new Date()) { return padInt((d.getHours() + 24) % 12 || 12) + \":\" + padInt(d.getMinutes()) + \":\" + padInt(d.getSeconds()) + \" \" + (d.getHours() > 12 ? \"PM\" : \"AM\"); }\r\nexports.timeFmt12 = timeFmt12;\r\nfunction toLocalISOString(d = new Date()) {\r\n return `${d.getFullYear()}-${padInt(d.getMonth() + 1)}-${padInt(d.getDate())}T${padInt(d.getHours())}:${padInt(d.getMinutes())}:${padInt(d.getSeconds())}`;\r\n}\r\nexports.toLocalISOString = toLocalISOString;\r\nfunction bsAlert(msg) { return '
' + msg + '
'; }\r\nfunction attr(e, name) { return e.getAttribute(name); }\r\nfunction sattr(e, name, value) { return e.setAttribute(name, value); }\r\nfunction rattr(e, name) { return e.removeAttribute(name); }\r\nfunction createElement(tagName, options, attrs) {\r\n const keyAliases = { className: 'class', htmlFor: 'for' };\r\n const el = document.createElement(tagName);\r\n if (attrs) {\r\n for (const key in attrs) {\r\n sattr(el, keyAliases[key] || key, attrs[key]);\r\n }\r\n }\r\n if (options && options.insertAfter) {\r\n options.insertAfter.parentNode.insertBefore(el, options.insertAfter.nextSibling);\r\n }\r\n return el;\r\n}\r\nexports.createElement = createElement;\r\nfunction showInvalidInputs() {\r\n let errorMsg = attr(this, 'data-invalid');\r\n if (errorMsg) {\r\n //[data-invalid] can either be on input control or .form-check container containing group of radio/checkbox\r\n const isCheck = this.type === \"checkbox\" || this.type === \"radio\" || hasClass(this, 'form-check');\r\n const elFormCheck = isCheck ? parent(this, 'form-check') : null;\r\n if (!isCheck)\r\n addClass(this, 'is-invalid');\r\n else\r\n addClass(elFormCheck || this.parentElement, 'is-invalid form-control');\r\n const elNext = this.nextElementSibling;\r\n const elLast = elNext && (attr(elNext, 'for') === this.id || elNext.tagName === \"SMALL\")\r\n ? (isCheck ? elFormCheck || elNext.parentElement : elNext)\r\n : this;\r\n const elError = elLast != null && elLast.nextElementSibling && hasClass(elLast.nextElementSibling, 'invalid-feedback')\r\n ? elLast.nextElementSibling\r\n : createElement(\"div\", { insertAfter: elLast }, { className: 'invalid-feedback' });\r\n elError.innerHTML = errorMsg;\r\n }\r\n}\r\nfunction parent(el, cls) {\r\n while (el != null && !hasClass(el, cls))\r\n el = el.parentElement;\r\n return el;\r\n}\r\nfunction hasClass(el, cls) {\r\n return !el ? false\r\n : el.classList\r\n ? el.classList.contains(cls)\r\n : (\" \" + el.className + \" \").replace(/[\\n\\t\\r]/g, \" \").indexOf(\" \" + cls + \" \") > -1;\r\n}\r\nfunction addClass(el, cls) {\r\n return !el ? null\r\n : el.classList\r\n ? el.classList.add(...cls.split(' '))\r\n : !hasClass(el, cls)\r\n ? el.className = (el.className + \" \" + cls).trim() : null;\r\n}\r\nfunction remClass(el, cls) {\r\n return !el ? null\r\n : el.classList\r\n ? el.classList.remove(cls)\r\n : hasClass(el, cls)\r\n ? el.className = el.className.replace(/(\\s|^)someclass(\\s|$)/, ' ')\r\n : null;\r\n}\r\nfunction $1(sel, el) {\r\n return typeof sel === \"string\" ? (el || document).querySelector(sel) : sel || null;\r\n}\r\nexports.$1 = $1;\r\nfunction $$(sel, el) {\r\n return typeof sel === \"string\"\r\n ? Array.prototype.slice.call((el || document).querySelectorAll(sel))\r\n : Array.isArray(sel) ? sel : [sel];\r\n}\r\nexports.$$ = $$;\r\nfunction on(sel, handlers) {\r\n $$(sel).forEach(e => {\r\n Object.keys(handlers).forEach(function (evt) {\r\n let fn = handlers[evt];\r\n if (typeof evt === 'string' && typeof fn === 'function') {\r\n e.addEventListener(evt, fn.bind(e));\r\n }\r\n });\r\n });\r\n}\r\nexports.on = on;\r\nfunction delaySet(f, opt) {\r\n let duration = opt && opt.duration || 300;\r\n let timeout = setTimeout(() => f(true), duration);\r\n return () => { clearTimeout(timeout); f(false); };\r\n}\r\nexports.delaySet = delaySet;\r\n// init generic behavior to bootstrap elements\r\nfunction bootstrap(el) {\r\n const els = (el || document).querySelectorAll('[data-invalid]');\r\n for (let i = 0; i < els.length; i++) {\r\n showInvalidInputs.call(els[i]);\r\n }\r\n}\r\nexports.bootstrap = bootstrap;\r\nif (typeof window != \"undefined\" && window.Element !== undefined) { // polyfill IE9+\r\n if (!Element.prototype.matches) {\r\n Element.prototype.matches = Element.prototype.msMatchesSelector ||\r\n Element.prototype.webkitMatchesSelector;\r\n }\r\n if (!Element.prototype.closest) {\r\n Element.prototype.closest = function (s) {\r\n let el = this;\r\n do {\r\n if (el.matches(s))\r\n return el;\r\n el = el.parentElement || el.parentNode;\r\n } while (el !== null && el.nodeType === 1);\r\n return null;\r\n };\r\n }\r\n}\r\nfunction handleEvent(handlers, el = document, type) {\r\n el.addEventListener(type, function (evt) {\r\n const evtData = `data-${type}`;\r\n let el = evt.target;\r\n let x = attr(el, evtData);\r\n if (!x) {\r\n let elParent = el.closest(`[${evtData}]`);\r\n if (elParent) {\r\n x = attr(elParent, evtData);\r\n el = elParent;\r\n }\r\n }\r\n if (!x)\r\n return;\r\n let pos = x.indexOf(':');\r\n if (pos >= 0) {\r\n const cmd = x.substring(0, pos);\r\n const data = x.substring(pos + 1);\r\n const fn = handlers[cmd];\r\n if (fn) {\r\n fn.apply(el, data.split(','));\r\n }\r\n }\r\n else {\r\n const fn = handlers[x];\r\n if (fn) {\r\n fn.apply(el, [].slice.call(arguments));\r\n }\r\n }\r\n });\r\n}\r\nfunction bindHandlers(handlers, el = document, opt = null) {\r\n if (opt && opt.events) {\r\n opt.events.forEach(evt => handleEvent(handlers, el, evt));\r\n }\r\n else {\r\n ['click', 'dblclick', 'change', 'focus', 'blur', 'focusin', 'focusout', 'select', 'keydown', 'keypress', 'keyup', 'hover', 'toggle', 'input']\r\n .forEach(evt => {\r\n if (el.querySelector(`[data-${evt}]`)) {\r\n handleEvent(handlers, el, evt);\r\n }\r\n });\r\n }\r\n}\r\nexports.bindHandlers = bindHandlers;\r\nfunction bootstrapForm(form, options) {\r\n if (!form)\r\n return;\r\n if (options.model)\r\n populateForm(form, options.model);\r\n form.onsubmit = function (evt) {\r\n evt.preventDefault();\r\n options.type = \"bootstrap-v4\";\r\n return ajaxSubmit(form, options);\r\n };\r\n}\r\nexports.bootstrapForm = bootstrapForm;\r\nfunction applyErrors(f, status, opt) {\r\n const validation = {\r\n overrideMessages: false,\r\n messages: {\r\n NotEmpty: \"Required\",\r\n NotNull: \"Required\",\r\n Email: \"Invalid email\",\r\n AlreadyExists: \"Already exists\"\r\n },\r\n errorFilter: function (errorMsg, errorCode, type) {\r\n return this.overrideMessages\r\n ? this.messages[errorCode] || errorMsg || splitCase(errorCode)\r\n : errorMsg || splitCase(errorCode);\r\n }\r\n };\r\n clearErrors(f);\r\n if (!status)\r\n return;\r\n status = sanitize(status);\r\n addClass(f, \"has-errors\");\r\n const bs4 = opt && opt.type === \"bootstrap-v4\";\r\n const v = Object.assign(Object.assign({}, validation), opt);\r\n if (opt.messages) {\r\n v.overrideMessages = true;\r\n }\r\n const filter = v.errorFilter.bind(v);\r\n const errors = status.errors;\r\n let $ = f.querySelectorAll.bind(f);\r\n if (errors && errors.length) {\r\n let fieldMap = {}, fieldLabelMap = {};\r\n $(\"input,textarea,select,button\").forEach(x => {\r\n const el = x;\r\n const prev = el.previousElementSibling;\r\n const next = el.nextElementSibling;\r\n const isCheck = el.type === \"radio\" || el.type === \"checkbox\";\r\n const fieldId = (!isCheck ? el.id : null) || attr(el, \"name\");\r\n if (!fieldId)\r\n return;\r\n const key = fieldId.toLowerCase();\r\n fieldMap[key] = el;\r\n if (!bs4) {\r\n if (hasClass(prev, \"help-inline\") || hasClass(prev, \"help-block\")) {\r\n fieldLabelMap[key] = prev;\r\n }\r\n else if (hasClass(next, \"help-inline\") || hasClass(next, \"help-block\")) {\r\n fieldLabelMap[key] = next;\r\n }\r\n }\r\n });\r\n $(\".help-inline[data-for],.help-block[data-for]\").forEach(el => {\r\n const key = attr(el, \"data-for\").toLowerCase();\r\n fieldLabelMap[key] = el;\r\n });\r\n for (let error of errors) {\r\n const key = (error.fieldName || \"\").toLowerCase();\r\n const field = fieldMap[key];\r\n if (field) {\r\n if (!bs4) {\r\n addClass(field, \"error\");\r\n addClass(field.parentElement, \"has-error\");\r\n }\r\n else {\r\n const type = attr(field, 'type'), isCheck = type === \"radio\" || type === \"checkbox\";\r\n if (!isCheck)\r\n addClass(field, \"is-invalid\");\r\n sattr(field, \"data-invalid\", filter(error.message, error.errorCode, \"field\"));\r\n }\r\n }\r\n const lblErr = fieldLabelMap[key];\r\n if (!lblErr)\r\n continue;\r\n addClass(lblErr, \"error\");\r\n lblErr.innerHTML = filter(error.message, error.errorCode, \"field\");\r\n lblErr.style.display = 'block';\r\n }\r\n $(\"[data-validation-summary]\").forEach(el => {\r\n const fields = attr(el, 'data-validation-summary').split(',');\r\n const summaryMsg = errorResponseExcept.call(status, fields);\r\n if (summaryMsg)\r\n el.innerHTML = bsAlert(summaryMsg);\r\n });\r\n }\r\n else {\r\n const htmlSummary = filter(status.message || splitCase(status.errorCode), status.errorCode, \"summary\");\r\n if (!bs4) {\r\n $(\".error-summary\").forEach(el => {\r\n el.innerHTML = htmlSummary(el).style.display = 'block';\r\n });\r\n }\r\n else {\r\n $('[data-validation-summary]').forEach(el => el.innerHTML = htmlSummary[0] === \"<\" ? htmlSummary : bsAlert(htmlSummary));\r\n }\r\n }\r\n return f;\r\n}\r\nfunction clearErrors(f) {\r\n remClass(f, 'has-errors');\r\n let $ = f.querySelectorAll.bind(f);\r\n $('.error-summary').forEach(el => {\r\n el.innerHTML = \"\";\r\n el.style.display = \"none\";\r\n });\r\n $('[data-validation-summary]').forEach(el => {\r\n el.innerHTML = \"\";\r\n });\r\n $('.error').forEach(el => remClass(el, 'error'));\r\n $('.form-check.is-invalid [data-invalid]').forEach(el => {\r\n rattr(el, 'data-invalid');\r\n });\r\n $('.form-check.is-invalid').forEach(el => remClass(el, 'form-control'));\r\n $('.is-invalid').forEach(el => {\r\n remClass(el, 'is-invalid');\r\n rattr(el, 'data-invalid');\r\n });\r\n $('.is-valid').forEach(el => remClass(el, 'is-valid'));\r\n}\r\nvar Types;\r\n(function (Types) {\r\n Types[\"MultiPart\"] = \"multipart/form-data\";\r\n Types[\"UrlEncoded\"] = \"application/x-www-form-urlencoded\";\r\n Types[\"Json\"] = \"application/json\";\r\n})(Types || (Types = {}));\r\nfunction toVarNames(names) {\r\n return !names ? [] :\r\n isArray(names)\r\n ? names\r\n : names.split(',').map(s => s.trim());\r\n}\r\nexports.toVarNames = toVarNames;\r\nfunction formSubmit(options = {}) {\r\n const f = this;\r\n const contentType = attr(f, 'enctype') || Types.UrlEncoded;\r\n if (contentType == Types.MultiPart && window.FormData === undefined)\r\n throw new Error(`FormData Type is needed to send '${Types.MultiPart}' Content Types`);\r\n let body;\r\n try {\r\n body = serializeForm(f, contentType);\r\n }\r\n catch (e) {\r\n throw new Error(`${e.message || e}`);\r\n }\r\n const headers = new Headers();\r\n headers.set(\"Accept\", Types.Json);\r\n headers.set(\"Content-Type\", contentType);\r\n const req = {\r\n method: attr(f, 'method') || 'POST',\r\n credentials: 'include',\r\n mode: 'cors',\r\n headers,\r\n body,\r\n };\r\n if (options.requestFilter)\r\n options.requestFilter(req);\r\n return fetch(new Request(options.url || attr(f, 'action'), req))\r\n .catch(e => { throw new Error(`Network is unreachable (${e.message || e})`); })\r\n .then(r => {\r\n if (options.responseFilter)\r\n options.responseFilter(r);\r\n if (!r.ok) {\r\n return r.json()\r\n .catch(e => { throw new Error(\"The request failed with \" + (r.statusText || r.status)); })\r\n .then(o => { throw Object.assign(new ErrorResponse(), sanitize(o)); });\r\n }\r\n handleHeaderBehaviors(f, r);\r\n return fromResponse(r);\r\n });\r\n}\r\nexports.formSubmit = formSubmit;\r\nfunction handleHeaderBehaviors(f, r) {\r\n const loc = r.headers.get('X-Location');\r\n if (loc) {\r\n location.href = loc;\r\n }\r\n const evt = r.headers.get('X-Trigger');\r\n if (evt) {\r\n const pos = evt.indexOf(':');\r\n const cmd = pos >= 0 ? evt.substring(0, pos) : evt;\r\n const data = pos >= 0 ? evt.substring(pos + 1) : null;\r\n triggerEvent(f, cmd, data ? [data] : []);\r\n }\r\n}\r\nfunction ajaxSubmit(f, options = {}) {\r\n const type = options.type;\r\n const bs4 = type === \"bootstrap-v4\";\r\n clearErrors(f);\r\n try {\r\n if (options.validate && options.validate.call(f) === false)\r\n return false;\r\n }\r\n catch (e) {\r\n return false;\r\n }\r\n let $ = f.querySelectorAll.bind(f);\r\n addClass(f, 'loading');\r\n const disableSel = options.onSubmitDisable == null\r\n ? \"[type=submit]\"\r\n : options.onSubmitDisable;\r\n const disable = disableSel != null && disableSel != \"\";\r\n if (disable) {\r\n $(disableSel).forEach(el => {\r\n sattr(el, 'disabled', 'disabled');\r\n });\r\n }\r\n function handleError(errMsg, err = null) {\r\n if (err) {\r\n applyErrors(f, err.ResponseStatus || err.responseStatus, Object.assign({}, options));\r\n }\r\n else if (errMsg) {\r\n addClass(f, \"has-errors\");\r\n const errorSummary = $(\".error-summary\")[0];\r\n if (errorSummary) {\r\n errorSummary.innerHTML = errMsg;\r\n }\r\n if (bs4) {\r\n const elSummary = $('[data-validation-summary]')[0];\r\n if (elSummary) {\r\n elSummary.innerHTML = bsAlert(errMsg);\r\n }\r\n }\r\n }\r\n if (options.error) {\r\n options.error.call(f, err);\r\n }\r\n if (bs4) {\r\n $('[data-invalid]').forEach(el => showInvalidInputs.call(el));\r\n }\r\n }\r\n const submitFn = options.submit || formSubmit;\r\n return submitFn.call(f, options)\r\n .then(obj => {\r\n if (options.success)\r\n options.success.call(f, obj);\r\n return false;\r\n })\r\n .catch(e => {\r\n if (e.responseStatus)\r\n handleError(null, e);\r\n else\r\n handleError(`${e.message || e}`, null);\r\n })\r\n .finally(() => {\r\n remClass(f, 'loading');\r\n if (disable) {\r\n $(disableSel).forEach(el => {\r\n rattr(el, 'disabled');\r\n });\r\n }\r\n if (options.complete) {\r\n options.complete.call(f);\r\n }\r\n });\r\n}\r\nexports.ajaxSubmit = ajaxSubmit;\r\nfunction fromResponse(r) {\r\n const contentType = r.headers.get(\"content-type\");\r\n const isJson = contentType && contentType.indexOf(Types.Json) !== -1;\r\n if (isJson)\r\n return r.json();\r\n let len = r.headers.get(\"content-length\");\r\n if (len === \"0\" || (len == null && !isJson))\r\n return null;\r\n return r.json();\r\n}\r\nfunction serializeForm(form, contentType = null) {\r\n return contentType === Types.MultiPart\r\n ? new FormData(form)\r\n : contentType == Types.Json\r\n ? JSON.stringify(serializeToObject(form))\r\n : serializeToUrlEncoded(form);\r\n}\r\nexports.serializeForm = serializeForm;\r\nfunction formEntries(form, state, fn) {\r\n let field, f = form;\r\n let len = f.elements.length;\r\n for (let i = 0; i < len; i++) {\r\n field = f.elements[i];\r\n if (field.name && !field.disabled && field.type != 'file' && field.type != 'reset' && field.type != 'submit' && field.type != 'button') {\r\n if (field.type == 'select-multiple') {\r\n for (let j = f.elements[i].options.length - 1; j >= 0; j--) {\r\n if (field.options[j].selected)\r\n fn(state, field.name, field.options[j].value);\r\n }\r\n }\r\n else if ((field.type != 'checkbox' && field.type != 'radio') || field.checked) {\r\n fn(state, field.name, field.value);\r\n }\r\n }\r\n }\r\n return state;\r\n}\r\nfunction serializeToObject(form) {\r\n return formEntries(form, {}, (to, name, value) => to[name] = value);\r\n}\r\nexports.serializeToObject = serializeToObject;\r\nfunction serializeToUrlEncoded(form) {\r\n const to = formEntries(form, [], (s, name, value) => typeof value == 'string'\r\n ? s.push(encodeURIComponent(name) + \"=\" + encodeURIComponent(value))\r\n : null);\r\n return to.join('&').replace(/%20/g, '+');\r\n}\r\nexports.serializeToUrlEncoded = serializeToUrlEncoded;\r\nfunction serializeToFormData(form) {\r\n return formEntries(form, new FormData(), (to, name, value) => to.append(name, value));\r\n}\r\nexports.serializeToFormData = serializeToFormData;\r\nfunction sanitizeFormData(formData) {\r\n // @ts-ignore\r\n for (let [key, value] of formData) {\r\n // Remove 0 length files\r\n if (typeof value == 'object' && value.size === 0) {\r\n formData.delete(key);\r\n }\r\n }\r\n return formData;\r\n}\r\nexports.sanitizeFormData = sanitizeFormData;\r\nfunction triggerEvent(el, name, data = null) {\r\n if (document.createEvent) {\r\n let evt = document.createEvent(name == 'click' || name.startsWith('mouse') ? 'MouseEvents' : 'HTMLEvents');\r\n evt.initEvent(name, true, true);\r\n evt.data = data;\r\n el.dispatchEvent(evt);\r\n }\r\n else {\r\n let evt = document.createEventObject();\r\n el.fireEvent(\"on\" + name, evt);\r\n }\r\n}\r\nexports.triggerEvent = triggerEvent;\r\nfunction populateForm(form, model) {\r\n if (!model)\r\n return;\r\n const toggleCase = (s) => !s ? s :\r\n s[0] === s[0].toUpperCase() ? toCamelCase(s) : s[0] === s[0].toLowerCase() ? toPascalCase(s) : s;\r\n for (let key in model) {\r\n let val = model[key];\r\n if (typeof val == 'undefined' || val === null)\r\n val = '';\r\n const el = form.elements.namedItem(key) || form.elements.namedItem(toggleCase(key));\r\n const input = el;\r\n if (!el)\r\n continue;\r\n const type = input.type || el[0].type;\r\n switch (type) {\r\n case 'radio':\r\n case 'checkbox':\r\n const len = el.length;\r\n for (let i = 0; i < len; i++) {\r\n el[i].checked = (val.indexOf(el[i].value) > -1);\r\n }\r\n break;\r\n case 'select-multiple':\r\n const values = isArray(val) ? val : [val];\r\n const select = el;\r\n for (let i = 0; i < select.options.length; i++) {\r\n select.options[i].selected = (values.indexOf(select.options[i].value) > -1);\r\n }\r\n break;\r\n case 'select':\r\n case 'select-one':\r\n input.value = val.toString() || val;\r\n break;\r\n case 'date':\r\n const d = toDate(val);\r\n if (d)\r\n input.value = d.toISOString().split('T')[0];\r\n break;\r\n default:\r\n input.value = val;\r\n break;\r\n }\r\n }\r\n}\r\nexports.populateForm = populateForm;\r\nfunction trimEnd(s, c) {\r\n let end = s.length;\r\n while (end > 0 && s[end - 1] === c) {\r\n --end;\r\n }\r\n return (end < s.length) ? s.substring(0, end) : s;\r\n}\r\nexports.trimEnd = trimEnd;\r\nfunction safeVarName(s) {\r\n return s.replace(/[\\W]+/g, '');\r\n}\r\nexports.safeVarName = safeVarName;\r\nfunction pick(o, keys) {\r\n const to = {};\r\n for (const k in o) {\r\n if (o.hasOwnProperty(k) && keys.indexOf(k) >= 0) {\r\n to[k] = o[k];\r\n }\r\n }\r\n return to;\r\n}\r\nexports.pick = pick;\r\nfunction omit(o, keys) {\r\n const to = {};\r\n for (const k in o) {\r\n if (o.hasOwnProperty(k) && keys.indexOf(k) < 0) {\r\n to[k] = o[k];\r\n }\r\n }\r\n return to;\r\n}\r\nexports.omit = omit;\r\nfunction apply(x, fn) {\r\n fn(x);\r\n return x;\r\n}\r\nexports.apply = apply;\r\nfunction each(xs, f, o) {\r\n return xs.reduce((acc, x) => { f(acc, x); return acc; }, o || {});\r\n}\r\nexports.each = each;\r\nfunction resolve(o, f) {\r\n let ret = typeof o == 'function' ? o() : o;\r\n return typeof f == 'function' ? f(ret) : ret;\r\n}\r\nexports.resolve = resolve;\r\nfunction mapGet(o, name) {\r\n if (!o || !name)\r\n return null;\r\n let ret = o[name];\r\n if (ret)\r\n return ret;\r\n if (typeof o == 'object') {\r\n let nameLower = name.toLowerCase();\r\n let match = Object.keys(o).find(k => k.toLowerCase() === nameLower);\r\n return match ? o[match] : null;\r\n }\r\n return null;\r\n}\r\nexports.mapGet = mapGet;\r\nfunction apiValue(o) {\r\n if (o == null)\r\n return '';\r\n if (typeof o == 'string')\r\n return o.substring(0, 6) === '/Date('\r\n ? toDate(o)\r\n : o.trim();\r\n return o;\r\n}\r\nexports.apiValue = apiValue;\r\nfunction apiValueFmt(o) {\r\n let ret = apiValue(o);\r\n return (ret != null\r\n ? isDate(ret)\r\n ? dateFmt(ret)\r\n : ret\r\n : null) || '';\r\n}\r\nexports.apiValueFmt = apiValueFmt;\r\n/* NAV */\r\nfunction activeClassNav(x, activePath) {\r\n return x.href != null && (x.exact || activePath.length <= 1\r\n ? trimEnd(activePath, '/').toLowerCase() === trimEnd((x.href), '/').toLowerCase()\r\n : trimEnd(activePath, '/').toLowerCase().startsWith(trimEnd((x.href), '/').toLowerCase()))\r\n ? 'active'\r\n : null;\r\n}\r\nexports.activeClassNav = activeClassNav;\r\nfunction activeClass(href, activePath, exact) {\r\n return href != null && (exact || activePath.length <= 1\r\n ? trimEnd(activePath, '/').toLowerCase() === trimEnd(href, '/').toLowerCase()\r\n : trimEnd(activePath, '/').toLowerCase().startsWith(trimEnd(href, '/').toLowerCase()))\r\n ? 'active'\r\n : null;\r\n}\r\nexports.activeClass = activeClass;\r\nfunction bootstrapColors() { return ['primary', 'secondary', 'success', 'info', 'warning', 'danger', 'light', 'dark']; }\r\nexports.BootstrapColors = bootstrapColors();\r\nfunction btnColorClass(props) {\r\n for (const color of bootstrapColors()) {\r\n if (props[color]) {\r\n return 'btn-' + color;\r\n }\r\n if (props['outline-' + color]) {\r\n return 'btn-outline-' + color;\r\n }\r\n }\r\n return null;\r\n}\r\nexports.btnColorClass = btnColorClass;\r\nfunction bootstrapSizes() { return ['xs', 'sm', 'md', 'lg']; }\r\nexports.BootstrapSizes = bootstrapSizes();\r\nfunction btnSizeClass(props) {\r\n for (const size of bootstrapSizes()) {\r\n if (props[size]) {\r\n return 'btn-' + size;\r\n }\r\n }\r\n return null;\r\n}\r\nexports.btnSizeClass = btnSizeClass;\r\nfunction btnClasses(props) {\r\n const to = [];\r\n const color = btnColorClass(props);\r\n if (color) {\r\n to.push(color);\r\n }\r\n const size = btnSizeClass(props);\r\n if (size) {\r\n to.push(size);\r\n }\r\n if (props.block) {\r\n to.push('btn-block');\r\n }\r\n return to;\r\n}\r\nexports.btnClasses = btnClasses;\r\nclass NavDefaults {\r\n static create() { return new NavOptions(); }\r\n static forNav(options) { return options || NavDefaults.create(); }\r\n static overrideDefaults(targets, source) {\r\n if (targets == null) {\r\n return source;\r\n }\r\n targets = Object.assign({}, targets); // clone\r\n if (targets.navClass === NavDefaults.navClass && source.navClass != null) {\r\n targets.navClass = source.navClass;\r\n }\r\n if (targets.navItemClass === NavDefaults.navItemClass && source.navItemClass != null) {\r\n targets.navItemClass = source.navItemClass;\r\n }\r\n if (targets.navLinkClass === NavDefaults.navLinkClass && source.navLinkClass != null) {\r\n targets.navLinkClass = source.navLinkClass;\r\n }\r\n if (targets.childNavItemClass === NavDefaults.childNavItemClass && source.childNavItemClass != null) {\r\n targets.childNavItemClass = source.childNavItemClass;\r\n }\r\n if (targets.childNavLinkClass === NavDefaults.childNavLinkClass && source.childNavLinkClass != null) {\r\n targets.childNavLinkClass = source.childNavLinkClass;\r\n }\r\n if (targets.childNavMenuClass === NavDefaults.childNavMenuClass && source.childNavMenuClass != null) {\r\n targets.childNavMenuClass = source.childNavMenuClass;\r\n }\r\n if (targets.childNavMenuItemClass === NavDefaults.childNavMenuItemClass && source.childNavMenuItemClass != null) {\r\n targets.childNavMenuItemClass = source.childNavMenuItemClass;\r\n }\r\n return targets;\r\n }\r\n static showNav(navItem, attributes) {\r\n if (attributes == null || attributes.length === 0) {\r\n return navItem.show == null;\r\n }\r\n if (navItem.show != null && attributes.indexOf(navItem.show) < 0) {\r\n return false;\r\n }\r\n if (navItem.hide != null && attributes.indexOf(navItem.hide) >= 0) {\r\n return false;\r\n }\r\n return true;\r\n }\r\n}\r\nexports.NavDefaults = NavDefaults;\r\nNavDefaults.navClass = 'nav';\r\nNavDefaults.navItemClass = 'nav-item';\r\nNavDefaults.navLinkClass = 'nav-link';\r\nNavDefaults.childNavItemClass = 'nav-item dropdown';\r\nNavDefaults.childNavLinkClass = 'nav-link dropdown-toggle';\r\nNavDefaults.childNavMenuClass = 'dropdown-menu';\r\nNavDefaults.childNavMenuItemClass = 'dropdown-item';\r\nclass NavLinkDefaults {\r\n static forNavLink(options) { return options || NavDefaults.create(); }\r\n}\r\nexports.NavLinkDefaults = NavLinkDefaults;\r\nclass NavbarDefaults {\r\n static create() { return new NavOptions({ navClass: NavbarDefaults.navClass }); }\r\n static forNavbar(options) { return NavDefaults.overrideDefaults(options, NavbarDefaults.create()); }\r\n}\r\nexports.NavbarDefaults = NavbarDefaults;\r\nNavbarDefaults.navClass = 'navbar-nav';\r\nclass NavButtonGroupDefaults {\r\n static create() { return new NavOptions({ navClass: NavButtonGroupDefaults.navClass, navItemClass: NavButtonGroupDefaults.navItemClass }); }\r\n static forNavButtonGroup(options) { return NavDefaults.overrideDefaults(options, NavButtonGroupDefaults.create()); }\r\n}\r\nexports.NavButtonGroupDefaults = NavButtonGroupDefaults;\r\nNavButtonGroupDefaults.navClass = 'btn-group';\r\nNavButtonGroupDefaults.navItemClass = 'btn btn-primary';\r\nclass LinkButtonDefaults {\r\n static create() { return new NavOptions({ navItemClass: LinkButtonDefaults.navItemClass }); }\r\n static forLinkButton(options) { return NavDefaults.overrideDefaults(options || null, LinkButtonDefaults.create()); }\r\n}\r\nexports.LinkButtonDefaults = LinkButtonDefaults;\r\nLinkButtonDefaults.navItemClass = 'btn';\r\nclass UserAttributes {\r\n static fromSession(session) {\r\n const to = [];\r\n if (session != null) {\r\n to.push('auth');\r\n if (session.roles) {\r\n to.push(...session.roles.map(x => 'role:' + x));\r\n }\r\n if (session.permissions) {\r\n to.push(...session.permissions.map(x => 'perm:' + x));\r\n }\r\n }\r\n return to;\r\n }\r\n}\r\nexports.UserAttributes = UserAttributes;\r\nclass NavOptions {\r\n static fromSession(session, to) {\r\n to = to || new NavOptions();\r\n to.attributes = UserAttributes.fromSession(session);\r\n return to;\r\n }\r\n constructor(init) {\r\n this.attributes = [];\r\n this.navClass = NavDefaults.navClass;\r\n this.navItemClass = NavDefaults.navItemClass;\r\n this.navLinkClass = NavDefaults.navLinkClass;\r\n this.childNavItemClass = NavDefaults.childNavItemClass;\r\n this.childNavLinkClass = NavDefaults.childNavLinkClass;\r\n this.childNavMenuClass = NavDefaults.childNavMenuClass;\r\n this.childNavMenuItemClass = NavDefaults.childNavMenuItemClass;\r\n Object.assign(this, init);\r\n }\r\n}\r\nexports.NavOptions = NavOptions;\r\nfunction classNames(...args) {\r\n const classes = [];\r\n for (let i = 0; i < args.length; i++) {\r\n const arg = args[i];\r\n if (!arg)\r\n continue;\r\n const argType = typeof arg;\r\n if (argType === 'string' || argType === 'number') {\r\n classes.push(arg);\r\n }\r\n else if (Array.isArray(arg) && arg.length) {\r\n const inner = classNames.apply(null, arg);\r\n if (inner) {\r\n classes.push(inner);\r\n }\r\n }\r\n else if (argType === 'object') {\r\n for (let key of Object.keys(arg)) {\r\n if (arg[key]) {\r\n classes.push(key);\r\n }\r\n }\r\n }\r\n }\r\n return classes.join(' ');\r\n}\r\nexports.classNames = classNames;\r\nfunction fromXsdDuration(xsd) {\r\n let days = 0;\r\n let hours = 0;\r\n let minutes = 0;\r\n let seconds = 0;\r\n let ms = 0.0;\r\n let t = splitOnFirst(xsd.substring(1), 'T');\r\n let hasTime = t.length == 2;\r\n let d = splitOnFirst(t[0], 'D');\r\n if (d.length == 2) {\r\n days = parseInt(d[0], 10) || 0;\r\n }\r\n if (hasTime) {\r\n let h = splitOnFirst(t[1], 'H');\r\n if (h.length == 2) {\r\n hours = parseInt(h[0], 10) || 0;\r\n }\r\n let m = splitOnFirst(h[h.length - 1], 'M');\r\n if (m.length == 2) {\r\n minutes = parseInt(m[0], 10) || 0;\r\n }\r\n let s = splitOnFirst(m[m.length - 1], 'S');\r\n if (s.length == 2) {\r\n ms = parseFloat(s[0]);\r\n }\r\n seconds = ms | 0;\r\n ms -= seconds;\r\n }\r\n let totalSecs = (days * 24 * 60 * 60) + (hours * 60 * 60) + (minutes * 60) + seconds;\r\n return totalSecs + ms;\r\n}\r\nexports.fromXsdDuration = fromXsdDuration;\r\nfunction timeFmt(time, asXsd) {\r\n let totalSeconds = time;\r\n let wholeSeconds = time | 0;\r\n let seconds = wholeSeconds;\r\n let sec = (seconds >= 60 ? seconds % 60 : seconds);\r\n seconds = (seconds / 60);\r\n let min = seconds >= 60 ? seconds % 60 : seconds;\r\n seconds = (seconds / 60);\r\n let hours = seconds >= 24 ? seconds % 24 : seconds;\r\n let days = seconds / 24;\r\n let remainingSecs = sec + (totalSeconds - wholeSeconds);\r\n let sb = asXsd ? 'P' : '';\r\n if (asXsd) {\r\n if ((days | 0) > 0) {\r\n sb += `${days | 0}D`;\r\n }\r\n if (days == 0 || (hours + min + sec) + remainingSecs > 0) {\r\n sb += \"T\";\r\n if ((hours | 0) > 0) {\r\n sb += `${hours | 0}H`;\r\n }\r\n if ((min | 0) > 0) {\r\n sb += `${min | 0}M`;\r\n }\r\n if (remainingSecs > 0) {\r\n let secFmt = remainingSecs.toFixed(7);\r\n secFmt = trimEnd(trimEnd(secFmt, '0'), '.');\r\n sb += `${secFmt}S`;\r\n }\r\n else if (sb.length == 2) {\r\n sb += '0S';\r\n }\r\n }\r\n }\r\n else {\r\n if ((days | 0) > 0) {\r\n sb += `${days | 0}:`;\r\n }\r\n sb += `${padInt(hours | 0)}:${padInt(min | 0)}:`;\r\n if (remainingSecs > 0) {\r\n let secFmt = remainingSecs.toFixed(7);\r\n secFmt = trimEnd(trimEnd(secFmt, '0'), '.');\r\n sb += remainingSecs >= 10 ? `${secFmt}` : `0${secFmt}`;\r\n }\r\n else {\r\n sb += '00';\r\n }\r\n }\r\n return sb;\r\n}\r\nfunction toXsdDuration(time) { return timeFmt(time, true); }\r\nexports.toXsdDuration = toXsdDuration;\r\nfunction toTimeSpanFmt(time) { return timeFmt(time, false); }\r\nexports.toTimeSpanFmt = toTimeSpanFmt;\r\nfunction flatMap(f, xs) { return xs.reduce((r, x) => r.concat(f(x)), []); }\r\nexports.flatMap = flatMap;\r\nfunction uniq(xs) { return Array.from(new Set(xs)).sort((x, y) => x > y ? 1 : -1); }\r\nexports.uniq = uniq;\r\nfunction enc(o) {\r\n return o == null ? null : typeof o == 'string'\r\n ? o.replace(/&/g, '&').replace(//g, '>').replace(/'/g, ''').replace(/\"/g, '"')\r\n : `${o}`;\r\n}\r\nexports.enc = enc;\r\nfunction htmlAttrs(o) {\r\n let sb = [];\r\n Object.keys(o).forEach(k => {\r\n if (sb.length > 0)\r\n sb.push(' ');\r\n sb.push(k);\r\n sb.push('=\"');\r\n sb.push(enc(o[k]));\r\n sb.push('\"');\r\n });\r\n return sb.join('');\r\n}\r\nexports.htmlAttrs = htmlAttrs;\r\nfunction indexOfAny(str, needles) {\r\n for (let i = 0, len = needles.length; i < len; i++) {\r\n let pos = str.indexOf(needles[i]);\r\n if (pos >= 0)\r\n return pos;\r\n }\r\n return -1;\r\n}\r\nexports.indexOfAny = indexOfAny;\r\nfunction isNullOrEmpty(o) {\r\n return (o === null || o === undefined || o === \"\");\r\n}\r\nexports.isNullOrEmpty = isNullOrEmpty;\r\n// From .NET DateTime (WCF JSON or ISO Date) to JS Date\r\nfunction fromDateTime(dateTime) {\r\n return toDate(dateTime);\r\n}\r\nexports.fromDateTime = fromDateTime;\r\n// From JS Date to .NET DateTime (WCF JSON Date)\r\nfunction toDateTime(date) {\r\n return `\\/Date(${date.getTime()})\\/`;\r\n}\r\nexports.toDateTime = toDateTime;\r\n// From .NET TimeSpan (XSD Duration) to JS String\r\nfunction fromTimeSpan(xsdDuration) {\r\n return xsdDuration;\r\n}\r\nexports.fromTimeSpan = fromTimeSpan;\r\n// From JS String to .NET TimeSpan (XSD Duration)\r\nfunction toTimeSpan(xsdDuration) {\r\n return xsdDuration;\r\n}\r\nexports.toTimeSpan = toTimeSpan;\r\n// From .NET Guid to JS String\r\nfunction fromGuid(xsdDuration) {\r\n return xsdDuration;\r\n}\r\nexports.fromGuid = fromGuid;\r\n// From JS String to .NET Guid\r\nfunction toGuid(xsdDuration) {\r\n return xsdDuration;\r\n}\r\nexports.toGuid = toGuid;\r\n// From .NET byte[] (Base64 String) to JVM signed byte[]\r\nfunction fromByteArray(base64) {\r\n let binaryStr = _atob(base64);\r\n let len = binaryStr.length;\r\n let bytes = new Uint8Array(len);\r\n for (let i = 0; i < len; i++) {\r\n bytes[i] = binaryStr.charCodeAt(i);\r\n }\r\n return bytes;\r\n}\r\nexports.fromByteArray = fromByteArray;\r\n// From JS Uint8Array to .NET byte[] (Base64 String)\r\nfunction toByteArray(bytes) {\r\n let str = String.fromCharCode.apply(null, bytes);\r\n return _btoa(str);\r\n}\r\nexports.toByteArray = toByteArray;\r\n// From JS String to Base64 String\r\nfunction toBase64String(source) {\r\n return JsonServiceClient.toBase64(source);\r\n}\r\nexports.toBase64String = toBase64String;\r\nclass StringBuffer {\r\n constructor(opt_a1, ...var_args) {\r\n this.buffer_ = '';\r\n if (opt_a1 != null)\r\n this.append.apply(this, arguments);\r\n }\r\n set(s) {\r\n this.buffer_ = '' + s;\r\n }\r\n append(a1, opt_a2, ...var_args) {\r\n this.buffer_ += String(a1);\r\n if (opt_a2 != null) {\r\n for (let i = 1; i < arguments.length; i++) {\r\n this.buffer_ += arguments[i];\r\n }\r\n }\r\n return this;\r\n }\r\n clear() { this.buffer_ = ''; }\r\n getLength() { return this.buffer_.length; }\r\n toString() { return this.buffer_; }\r\n}\r\nexports.StringBuffer = StringBuffer;\r\nclass JSV {\r\n static encodeString(str) {\r\n if (str == null)\r\n return null;\r\n if (str === '')\r\n return '\"\"';\r\n if (str.indexOf('\"'))\r\n str = str.replace(/\"/g, '\"\"');\r\n return indexOfAny(str, JSV.ESCAPE_CHARS) >= 0\r\n ? '\"' + str + '\"'\r\n : str;\r\n }\r\n static encodeArray(array) {\r\n let value, sb = new StringBuffer();\r\n for (let i = 0, len = array.length; i < len; i++) {\r\n value = array[i];\r\n if (isNullOrEmpty(value) || typeof value === 'function')\r\n continue;\r\n if (sb.getLength() > 0)\r\n sb.append(',');\r\n sb.append(JSV.stringify(value));\r\n }\r\n return `[${sb.toString()}]`;\r\n }\r\n static encodeObject(obj) {\r\n let value, sb = new StringBuffer();\r\n for (let key in obj) {\r\n value = obj[key];\r\n if (!obj.hasOwnProperty(key) || isNullOrEmpty(value) || typeof value === 'function')\r\n continue;\r\n if (sb.getLength() > 0)\r\n sb.append(',');\r\n sb.append(JSV.encodeString(key));\r\n sb.append(':');\r\n sb.append(JSV.stringify(value));\r\n }\r\n return `{${sb.toString()}}`;\r\n }\r\n static stringify(obj) {\r\n if (obj === null || obj === undefined)\r\n return null;\r\n let typeOf = typeof (obj);\r\n if (typeOf === 'function' || typeOf === 'symbol')\r\n return null;\r\n if (typeOf === 'object') {\r\n let ctorStr = obj.constructor.toString().toLowerCase();\r\n if (ctorStr.indexOf('string') >= 0)\r\n return JSV.encodeString(obj);\r\n if (ctorStr.indexOf('boolean') >= 0)\r\n return obj ? 'true' : 'false';\r\n if (ctorStr.indexOf('number') >= 0)\r\n return obj;\r\n if (ctorStr.indexOf('date') >= 0)\r\n return JSV.encodeString(toLocalISOString(obj));\r\n if (ctorStr.indexOf('array') >= 0)\r\n return JSV.encodeArray(obj);\r\n return JSV.encodeObject(obj);\r\n }\r\n switch (typeOf) {\r\n case 'string':\r\n return JSV.encodeString(obj);\r\n case 'boolean':\r\n return obj ? 'true' : 'false';\r\n case 'number':\r\n default:\r\n return obj;\r\n }\r\n }\r\n}\r\nexports.JSV = JSV;\r\nJSV.ESCAPE_CHARS = ['\"', ':', ',', '{', '}', '[', ']', '\\r', '\\n'];\r\nfunction uniqueKeys(rows) {\r\n let to = [];\r\n rows.forEach(o => Object.keys(o).forEach(k => {\r\n if (to.indexOf(k) === -1) {\r\n to.push(k);\r\n }\r\n }));\r\n return to;\r\n}\r\nexports.uniqueKeys = uniqueKeys;\r\nfunction alignLeft(str, len, pad = ' ') {\r\n if (len < 0)\r\n return '';\r\n let aLen = len + 1 - str.length;\r\n if (aLen <= 0)\r\n return str;\r\n return pad + str + pad.repeat(len + 1 - str.length);\r\n}\r\nexports.alignLeft = alignLeft;\r\nfunction alignCenter(str, len, pad = ' ') {\r\n if (len < 0)\r\n return '';\r\n if (!str)\r\n str = '';\r\n let nLen = str.length;\r\n let half = Math.floor(len / 2 - nLen / 2);\r\n let odds = Math.abs((nLen % 2) - (len % 2));\r\n return pad.repeat(half + 1) + str + pad.repeat(half + 1 + odds);\r\n}\r\nexports.alignCenter = alignCenter;\r\nfunction alignRight(str, len, pad = ' ') {\r\n if (len < 0)\r\n return '';\r\n let aLen = len + 1 - str.length;\r\n if (aLen <= 0)\r\n return str;\r\n return pad.repeat(len + 1 - str.length) + str + pad;\r\n}\r\nexports.alignRight = alignRight;\r\nfunction alignAuto(obj, len, pad = ' ') {\r\n let str = `${obj}`;\r\n if (str.length <= len) {\r\n return typeof obj === \"number\"\r\n ? alignRight(str, len, pad)\r\n : alignLeft(str, len, pad);\r\n }\r\n return str;\r\n}\r\nexports.alignAuto = alignAuto;\r\nfunction EventBus() {\r\n let { subscribe, publish } = createBus();\r\n this.subscribe = subscribe;\r\n this.publish = publish;\r\n}\r\nexports.EventBus = EventBus;\r\nfunction createBus() {\r\n let subscriptions = {};\r\n function subscribe(type, callback) {\r\n let id = Symbol('id');\r\n if (!subscriptions[type])\r\n subscriptions[type] = {};\r\n subscriptions[type][id] = callback;\r\n return {\r\n unsubscribe: function () {\r\n delete subscriptions[type][id];\r\n if (Object.getOwnPropertySymbols(subscriptions[type]).length === 0) {\r\n delete subscriptions[type];\r\n }\r\n }\r\n };\r\n }\r\n function publish(eventType, arg) {\r\n if (!subscriptions[eventType])\r\n return;\r\n Object.getOwnPropertySymbols(subscriptions[eventType])\r\n .forEach(key => subscriptions[eventType][key](arg));\r\n }\r\n return { subscribe, publish };\r\n}\r\nexports.createBus = createBus;\r\nclass Inspect {\r\n static vars(obj) {\r\n let R = nodeRequire();\r\n if (typeof R !== 'function')\r\n return;\r\n let inspectVarsPath = process.env.INSPECT_VARS;\r\n if (!inspectVarsPath || !obj)\r\n return;\r\n let fs = R('fs');\r\n let varsPath = inspectVarsPath.replace(/\\\\/g, '/');\r\n if (varsPath.indexOf('/') >= 0) {\r\n let dir = R('path').dirname(varsPath);\r\n if (!fs.existsSync(dir)) {\r\n fs.mkdirSync(dir);\r\n }\r\n }\r\n fs.writeFileSync(varsPath, JSON.stringify(obj));\r\n }\r\n static dump(obj) {\r\n let to = JSON.stringify(obj, null, 4);\r\n return to.replace(/\"/g, '');\r\n }\r\n static printDump(obj) { console.log(Inspect.dump(obj)); }\r\n static dumpTable(rows) {\r\n let mapRows = rows;\r\n let keys = uniqueKeys(mapRows);\r\n let colSizes = {};\r\n keys.forEach(k => {\r\n let max = k.length;\r\n mapRows.forEach(row => {\r\n let col = row[k];\r\n if (col != null) {\r\n let valSize = `${col}`.length;\r\n if (valSize > max) {\r\n max = valSize;\r\n }\r\n }\r\n });\r\n colSizes[k] = max;\r\n });\r\n // sum + ' padding ' + |\r\n let colSizesLength = Object.keys(colSizes).length;\r\n let rowWidth = Object.keys(colSizes).map(k => colSizes[k]).reduce((p, c) => p + c, 0) +\r\n (colSizesLength * 2) +\r\n (colSizesLength + 1);\r\n let sb = [];\r\n sb.push(`+${'-'.repeat(rowWidth - 2)}+`);\r\n let head = '|';\r\n keys.forEach(k => head += alignCenter(k, colSizes[k]) + '|');\r\n sb.push(head);\r\n sb.push(`|${'-'.repeat(rowWidth - 2)}|`);\r\n mapRows.forEach(row => {\r\n let to = '|';\r\n keys.forEach(k => to += '' + alignAuto(row[k], colSizes[k]) + '|');\r\n sb.push(to);\r\n });\r\n sb.push(`+${'-'.repeat(rowWidth - 2)}+`);\r\n return sb.join('\\n');\r\n }\r\n static printDumpTable(rows) { console.log(Inspect.dumpTable(rows)); }\r\n}\r\nexports.Inspect = Inspect;\r\n"], "mappings": "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", "names": ["require_dist", "__commonJSMin", "init_virtual_process_polyfill", "init_buffer", "thisArg", "_arguments", "P", "generator", "adopt", "value", "resolve", "__name", "reject", "fulfilled", "step", "e", "rejected", "result", "init", "ctor", "evt", "ReadyState", "baseUrl", "channels", "options", "eventSource", "requireSplitPos", "data", "lastEventId", "e1", "e2", "opt", "document", "sel", "$", "parts", "channel", "selector", "selParts", "json", "body", "op", "target", "tokens", "cmd", "cssSelector", "els", "el", "eventId", "type", "request", "mergedBody", "headers", "fn", "stopFn", "res", "error", "isCmdMsg", "r", "hold", "url", "es", "name", "metaProp", "cmdLower", "k", "noSuchMethod", "resolver", "receiver", "subscribe", "unsubscribe", "sub", "unsub", "i", "c", "eventName", "handler", "handlers", "pos", "msg", "x", "map", "to", "message", "method", "userName", "password", "path", "f", "args", "requests", "relativeOrAbsoluteUrl", "cookies", "hasRequestBody", "reqInit", "setCookies", "v", "cookie", "o", "contentType", "isJson", "contentLength", "holdRes", "errorDto", "info", "req", "returns", "resendRequest", "jwtReq", "jwtRequest", "jwtResponse", "resHandler", "_a", "_b", "fieldName", "matchField", "exceptFields", "fieldSet", "fieldError", "errorCode", "status", "s", "len", "err", "str", "prefix", "needle", "obj", "keys", "key", "lastSplit", "prev", "next", "pairs", "p", "paths", "l", "arg", "combinedPaths", "part", "route", "argKeys", "val", "aBytes", "eqLen", "sB64Enc", "nMod3", "nLen", "nUint24", "nIdx", "nUint6", "base64", "match", "p1", "setCookie", "pair", "lower", "dto", "deep", "defaultMsg", "formData", "responseStatus", "fieldNames", "names", "lowerFieldsNames", "field", "d", "n", "tagName", "attrs", "keyAliases", "errorMsg", "isCheck", "elFormCheck", "elNext", "elLast", "elError", "cls", "duration", "timeout", "evtData", "elParent", "form", "validation", "bs4", "filter", "errors", "fieldMap", "fieldLabelMap", "fieldId", "lblErr", "fields", "summaryMsg", "htmlSummary", "Types", "loc", "disableSel", "disable", "handleError", "errMsg", "errorSummary", "elSummary", "state", "j", "model", "toggleCase", "input", "values", "select", "end", "xs", "acc", "ret", "nameLower", "activePath", "href", "exact", "props", "color", "size", "targets", "source", "navItem", "attributes", "session", "classes", "argType", "inner", "xsd", "days", "hours", "minutes", "seconds", "ms", "t", "hasTime", "h", "m", "time", "asXsd", "totalSeconds", "wholeSeconds", "sec", "min", "remainingSecs", "sb", "secFmt", "y", "needles", "dateTime", "date", "xsdDuration", "binaryStr", "bytes", "opt_a1", "var_args", "a1", "opt_a2", "array", "typeOf", "ctorStr", "rows", "pad", "half", "odds", "publish", "subscriptions", "callback", "id", "eventType", "R", "inspectVarsPath", "fs", "varsPath", "dir", "mapRows", "colSizes", "max", "row", "col", "valSize", "colSizesLength", "rowWidth", "head"] }