@typed/common
Advanced tools
Comparing version 0.0.1-alpha.195 to 0.0.1-alpha.199
{ | ||
"name": "@typed/common", | ||
"version": "0.0.1-alpha.195+51e7a0a", | ||
"version": "0.0.1-alpha.199+1c2481f", | ||
"description": "Assortment of shared functions & types for Typed libraries", | ||
@@ -31,4 +31,4 @@ "main": "./cjs/index.js", | ||
"sideEffects": false, | ||
"gitHead": "51e7a0a55582998aecc5c0fbf45cdfb96b547823", | ||
"gitHead": "1c2481f49b55560bfc2331a10e8daccb7590359e", | ||
"unpkg": "./umd/index.js" | ||
} |
@@ -16,5 +16,6 @@ { | ||
"./source/**/*.browser-test.ts", | ||
"./source/**/*.test.ts" | ||
"./source/**/*.test.ts", | ||
"./umd/**" | ||
], | ||
"extends": "../tsconfig.base.json" | ||
} |
@@ -13,3 +13,4 @@ { | ||
"./source/**/*.browser-test.ts", | ||
"./source/**/*.test.ts" | ||
"./source/**/*.test.ts", | ||
"./umd/**" | ||
], | ||
@@ -16,0 +17,0 @@ "include": [ |
404
umd/index.js
@@ -1,2 +0,402 @@ | ||
!function(){if(!window.$fsx){var e=window.$fsx={};e.f={},e.m={},e.r=function(t){var r=e.m[t];if(r)return r.m.exports;var n=e.f[t];return n?((r=e.m[t]={}).exports={},r.m={exports:r.exports},n.call(r.exports,r.m,r.exports),r.m.exports):void 0}}}(),function(e){e.f[0]=function(t,r){Object.defineProperty(r,"__esModule",{value:!0});const n=e.r(15);n.__exportStar(e.r(1),r),n.__exportStar(e.r(2),r),n.__exportStar(e.r(4),r),n.__exportStar(e.r(7),r),n.__exportStar(e.r(5),r),n.__exportStar(e.r(6),r),n.__exportStar(e.r(8),r),n.__exportStar(e.r(9),r),n.__exportStar(e.r(10),r),n.__exportStar(e.r(11),r),n.__exportStar(e.r(12),r),n.__exportStar(e.r(13),r),n.__exportStar(e.r(3),r),n.__exportStar(e.r(14),r)},e.f[1]=function(e,t){function r(e,t){const r=Object.keys(t).sort().map(function(e){return t=>{const r=e[t];return r?`${t}=${r}`:t}}(t)).join("&");return encodeURI(`${e}${r?`?${r}`:""}`)}Object.defineProperty(t,"__esModule",{value:!0}),t.addQueryParameters=function(e,t){return void 0===t?t=>r(e,t):r(e,t)}},e.f[2]=function(t,r){Object.defineProperty(r,"__esModule",{value:!0});const n=e.r(3);r.clone=function e(t,r,o,c){function u(n){const u=r.length;let a=0;for(;a<u;++a)if(t===r[a])return o[a];r[a+1]=t,o[a+1]=n;for(const u in t)t.hasOwnProperty(u)&&(n[u]=c?e(t[u],r,o,!0):t[u]);return n}switch(n.typeOf(t)){case"Object":return u({});case"Array":return u([]);case"Date":return new Date(t.valueOf());case"RegExp":return a=t,new RegExp(a.source,(a.global?"g":"")+(a.ignoreCase?"i":"")+(a.multiline?"m":"")+(a.sticky?"y":"")+(a.unicode?"u":""));default:return t}var a}},e.f[3]=function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.typeOf=function(e){return null===e?"Null":void 0===e?"Undefined":Object.prototype.toString.call(e).slice(8,-1)}},e.f[4]=function(t,r){Object.defineProperty(r,"__esModule",{value:!0});const n=e.r(5),o=e.r(6),c=e.r(3);function u(e,t,r=[],o=[]){if(Object.is(e,t))return!0;const i=c.typeOf(e);if(i!==c.typeOf(t))return!1;if(null==e||null==t)return!1;switch(i){case"Arguments":case"Array":case"Object":if("function"==typeof e.constructor&&"Promise"===n.functionName(e.constructor))return e===t;break;case"Boolean":case"Number":case"String":if(typeof e!=typeof t||!Object.is(e.valueOf(),t.valueOf()))return!1;break;case"Date":if(!Object.is(e.valueOf(),t.valueOf()))return!1;break;case"Error":return e.name===t.name&&e.message===t.message;case"RegExp":if(e.source!==t.source||e.global!==t.global||e.ignoreCase!==t.ignoreCase||e.multiline!==t.multiline||e.sticky!==t.sticky||e.unicode!==t.unicode)return!1}let f=r.length-1;for(;f>=0;){if(r[f]===e)return o[f]===t;f-=1}switch(i){case"Map":return e.size===t.size&&a(e.entries(),t.entries(),r.concat([e]),o.concat([t]));case"Set":return e.size===t.size&&a(e.values(),t.values(),r.concat([e]),o.concat([t]));case"Arguments":case"Array":case"Object":case"Boolean":case"Number":case"String":case"Date":case"Error":case"RegExp":case"Int8Array":case"Uint8Array":case"Uint8ClampedArray":case"Int16Array":case"Uint16Array":case"Int32Array":case"Uint32Array":case"Float32Array":case"Float64Array":case"ArrayBuffer":break;default:return!1}const s=Object.keys(e);if(s.length!==Object.keys(t).length)return!1;const l=r.concat([e]),p=o.concat([t]);for(f=s.length-1;f>=0;){const r=s[f];if(!Object.prototype.hasOwnProperty.call(t,r)||!u(t[r],e[r],l,p))return!1;f-=1}return!0}function a(e,t,r,n){const c=Array.from(e),a=Array.from(t);function i(e,t){return u(e,t,r.slice(),n.slice())}return!o.includesWith((e,t)=>!o.includesWith(i,t,e),a,c)}r.equals=u},e.f[5]=function(e,t){Object.defineProperty(t,"__esModule",{value:!0});const r=/^function\s*([\w$]+)/,n=["",""];t.functionName=function(e){if(e.name)return e.name;const[,t]=String(e).match(r)||n;return t}},e.f[6]=function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.includesWith=function(e,t,r){let n=0;const o=r.length;for(;n<o;){if(e(t,r[n],n))return!0;n+=1}return!1}},e.f[7]=function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.isBrowser="undefined"!=typeof document},e.f[8]=function(t,r){Object.defineProperty(r,"__esModule",{value:!0});const n=e.r(4);r.indexOf=function(e,t,r=0){if("function"==typeof e.indexOf)switch(typeof t){case"number":let n,o;if(0===t){for(n=1/t;r<e.length;){if(0===(o=e[r])&&1/o===n)return r;r+=1}return-1}if(t!=t){for(;r<e.length;){if("number"==typeof(o=e[r])&&o!=o)return r;r+=1}return-1}return e.indexOf(t,r);case"string":case"boolean":case"function":case"undefined":return e.indexOf(t,r);case"object":if(null===t)return e.indexOf(t,r)}for(;r<e.length;){if(n.equals(e[r],t))return r;r+=1}return-1}},e.f[9]=function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.mapArrayLike=function(e,t){let r=0;const n=t.length,o=Array(n);for(;r<n;)o[r]=e(t[r]),r+=1;return o}},e.f[10]=function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.mapObj=function(e,t){const r={};for(const n in t)r[n]=e(n,t[n]);return r}},e.f[11]=function(e,t){Object.defineProperty(t,"__esModule",{value:!0});const r=/\/{2,}/g,n="/",o=e=>"string"==typeof e;t.pathJoin=function(e,t=!1){const c=`/${e.filter(o).join(n)}`.replace(r,n);return t&&"/"!==c[c.length-1]?c+"/":c}},e.f[12]=function(e,t){Object.defineProperty(t,"__esModule",{value:!0});const r=[[/\\/g,"\\\\"],[/[\b]/g,"\\b"],[/\f/g,"\\f"],[/\n/g,"\\n"],[/\r/g,"\\r"],[/\t/g,"\\t"],[/\v/g,"\\v"],[/\0/g,"\\0"]],n=[/"/g,'\\"'];function o(e,t){return e.replace(t[0],t[1])}t.quote=function(e){return'"'+o(r.reduce(o,e),n)+'"'}},e.f[13]=function(t,r){Object.defineProperty(r,"__esModule",{value:!0});const n=e.r(8),o=e.r(9),c=e.r(12);r.toString=e=>(function e(t,r){const u=o=>{const c=r.concat([t]);return n.indexOf(c,o)>-1?"<Circular>":e(o,c)};const a=(e,t)=>o.mapArrayLike(t=>c.quote(t)+": "+u(e[t]),t.slice().sort());switch(Object.prototype.toString.call(t)){case"[object Arguments]":return"(function() { return arguments; }("+o.mapArrayLike(u,t).join(", ")+"))";case"[object Array]":return"["+o.mapArrayLike(u,t).concat(a(t,Object.keys(t).filter(e=>!/^\d+$/.test(e)))).join(", ")+"]";case"[object Boolean]":return"object"==typeof t?"new Boolean("+u(t.valueOf())+")":t.toString();case"[object Date]":return"new Date("+(isNaN(t.valueOf())?u(NaN):c.quote(t.toISOString()))+")";case"[object Null]":return"null";case"[object Number]":return"object"==typeof t?"new Number("+u(t.valueOf())+")":1/t==-1/0?"-0":t.toString(10);case"[object String]":return"object"==typeof t?"new String("+u(t.valueOf())+")":c.quote(t);case"[object Undefined]":return"undefined";default:if("function"==typeof t.toString){const e=t.toString();if("[object Object]"!==e)return e}return"{"+a(t,Object.keys(t)).join(", ")+"}"}})(e,[])},e.f[14]=function(e,t){Object.defineProperty(t,"__esModule",{value:!0})},e.f[15]=function(e,t){Object.defineProperty(t,"__esModule",{value:!0});var r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])})(e,t)};function n(e){var t="function"==typeof Symbol&&e[Symbol.iterator],r=0;return t?t.call(e):{next:function(){return e&&r>=e.length&&(e=void 0),{value:e&&e[r++],done:!e}}}}function o(e,t){var r="function"==typeof Symbol&&e[Symbol.iterator];if(!r)return e;var n,o,c=r.call(e),u=[];try{for(;(void 0===t||t-- >0)&&!(n=c.next()).done;)u.push(n.value)}catch(e){o={error:e}}finally{try{n&&!n.done&&(r=c.return)&&r.call(c)}finally{if(o)throw o.error}}return u}function c(e){return this instanceof c?(this.v=e,this):new c(e)}t.__extends=function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)},t.__assign=function(){return t.__assign=Object.assign||function(e){for(var t,r=1,n=arguments.length;r<n;r++)for(var o in t=arguments[r])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e},t.__assign.apply(this,arguments)},t.__rest=function(e,t){var r={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.indexOf(n)<0&&(r[n]=e[n]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var o=0;for(n=Object.getOwnPropertySymbols(e);o<n.length;o++)t.indexOf(n[o])<0&&Object.prototype.propertyIsEnumerable.call(e,n[o])&&(r[n[o]]=e[n[o]])}return r},t.__decorate=function(e,t,r,n){var o,c=arguments.length,u=c<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,r):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)u=Reflect.decorate(e,t,r,n);else for(var a=e.length-1;a>=0;a--)(o=e[a])&&(u=(c<3?o(u):c>3?o(t,r,u):o(t,r))||u);return c>3&&u&&Object.defineProperty(t,r,u),u},t.__param=function(e,t){return function(r,n){t(r,n,e)}},t.__metadata=function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},t.__awaiter=function(e,t,r,n){return new(r||(r=Promise))(function(o,c){function u(e){try{i(n.next(e))}catch(e){c(e)}}function a(e){try{i(n.throw(e))}catch(e){c(e)}}function i(e){e.done?o(e.value):new r(function(t){t(e.value)}).then(u,a)}i((n=n.apply(e,t||[])).next())})},t.__generator=function(e,t){var r,n,o,c,u={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return c={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(c[Symbol.iterator]=function(){return this}),c;function a(c){return function(a){return function(c){if(r)throw new TypeError("Generator is already executing.");for(;u;)try{if(r=1,n&&(o=2&c[0]?n.return:c[0]?n.throw||((o=n.return)&&o.call(n),0):n.next)&&!(o=o.call(n,c[1])).done)return o;switch(n=0,o&&(c=[2&c[0],o.value]),c[0]){case 0:case 1:o=c;break;case 4:return u.label++,{value:c[1],done:!1};case 5:u.label++,n=c[1],c=[0];continue;case 7:c=u.ops.pop(),u.trys.pop();continue;default:if(!(o=(o=u.trys).length>0&&o[o.length-1])&&(6===c[0]||2===c[0])){u=0;continue}if(3===c[0]&&(!o||c[1]>o[0]&&c[1]<o[3])){u.label=c[1];break}if(6===c[0]&&u.label<o[1]){u.label=o[1],o=c;break}if(o&&u.label<o[2]){u.label=o[2],u.ops.push(c);break}o[2]&&u.ops.pop(),u.trys.pop();continue}c=t.call(e,u)}catch(e){c=[6,e],n=0}finally{r=o=0}if(5&c[0])throw c[1];return{value:c[0]?c[1]:void 0,done:!0}}([c,a])}}},t.__exportStar=function(e,t){for(var r in e)t.hasOwnProperty(r)||(t[r]=e[r])},t.__values=n,t.__read=o,t.__spread=function(){for(var e=[],t=0;t<arguments.length;t++)e=e.concat(o(arguments[t]));return e},t.__spreadArrays=function(){for(var e=0,t=0,r=arguments.length;t<r;t++)e+=arguments[t].length;var n=Array(e),o=0;for(t=0;t<r;t++)for(var c=arguments[t],u=0,a=c.length;u<a;u++,o++)n[o]=c[u];return n},t.__await=c,t.__asyncGenerator=function(e,t,r){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var n,o=r.apply(e,t||[]),u=[];return n={},a("next"),a("throw"),a("return"),n[Symbol.asyncIterator]=function(){return this},n;function a(e){o[e]&&(n[e]=function(t){return new Promise(function(r,n){u.push([e,t,r,n])>1||i(e,t)})})}function i(e,t){try{(r=o[e](t)).value instanceof c?Promise.resolve(r.value.v).then(f,s):l(u[0][2],r)}catch(e){l(u[0][3],e)}var r}function f(e){i("next",e)}function s(e){i("throw",e)}function l(e,t){e(t),u.shift(),u.length&&i(u[0][0],u[0][1])}},t.__asyncDelegator=function(e){var t,r;return t={},n("next"),n("throw",function(e){throw e}),n("return"),t[Symbol.iterator]=function(){return this},t;function n(n,o){t[n]=e[n]?function(t){return(r=!r)?{value:c(e[n](t)),done:"return"===n}:o?o(t):t}:o}},t.__asyncValues=function(e){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var t,r=e[Symbol.asyncIterator];return r?r.call(e):(e=n(e),t={},o("next"),o("throw"),o("return"),t[Symbol.asyncIterator]=function(){return this},t);function o(r){t[r]=e[r]&&function(t){return new Promise(function(n,o){!function(e,t,r,n){Promise.resolve(n).then(function(t){e({value:t,done:r})},t)}(n,o,(t=e[r](t)).done,t.value)})}}},t.__makeTemplateObject=function(e,t){return Object.defineProperty?Object.defineProperty(e,"raw",{value:t}):e.raw=t,e},t.__importStar=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t},t.__importDefault=function(e){return e&&e.__esModule?e:{default:e}}};e.r(0)}($fsx); | ||
//# sourceMappingURL=index_quantum.js.map | ||
(function (global, factory) { | ||
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) : | ||
typeof define === 'function' && define.amd ? define(['exports'], factory) : | ||
(global = global || self, factory((global.Typed = global.Typed || {}, global.Typed.Common = {}))); | ||
}(this, function (exports) { 'use strict'; | ||
/** | ||
* Append Query Parameters to a Url | ||
* @param url :: String | ||
* @param queryParams :: Record<string, string | undefined> | ||
* @returns string | ||
*/ | ||
function addQueryParameters(url, queryParams) { | ||
if (queryParams === undefined) { | ||
return (queryParams) => __addQueryParameters(url, queryParams); | ||
} | ||
return __addQueryParameters(url, queryParams); | ||
} | ||
function __addQueryParameters(url, queryParams) { | ||
const params = Object.keys(queryParams) | ||
.sort() | ||
.map(queryParam(queryParams)) | ||
.join('&'); | ||
return encodeURI(`${url}${params ? `?${params}` : ''}`); | ||
} | ||
function queryParam(queryParams) { | ||
return (key) => { | ||
const value = queryParams[key]; | ||
return value ? `${key}=${value}` : key; | ||
}; | ||
} | ||
function typeOf(value) { | ||
if (value === null) { | ||
return 'Null'; | ||
} | ||
if (value === void 0) { | ||
return `Undefined`; | ||
} | ||
return Object.prototype.toString.call(value).slice(8, -1); | ||
} | ||
function clone(value, refFrom, refTo, deep) { | ||
function copy(copiedValue) { | ||
const length = refFrom.length; | ||
let i = 0; | ||
for (; i < length; ++i) { | ||
if (value === refFrom[i]) { | ||
return refTo[i]; | ||
} | ||
} | ||
refFrom[i + 1] = value; | ||
refTo[i + 1] = copiedValue; | ||
for (const key in value) { | ||
if (!value.hasOwnProperty(key)) { | ||
continue; | ||
} | ||
copiedValue[key] = deep ? clone(value[key], refFrom, refTo, true) : value[key]; | ||
} | ||
return copiedValue; | ||
} | ||
switch (typeOf(value)) { | ||
case 'Object': | ||
return copy({}); | ||
case 'Array': | ||
return copy([]); | ||
case 'Date': | ||
return new Date(value.valueOf()); | ||
case 'RegExp': | ||
return cloneRegexp(value); | ||
default: | ||
return value; | ||
} | ||
} | ||
function cloneRegexp(pattern) { | ||
return new RegExp(pattern.source, (pattern.global ? 'g' : '') + | ||
(pattern.ignoreCase ? 'i' : '') + | ||
(pattern.multiline ? 'm' : '') + | ||
(pattern.sticky ? 'y' : '') + | ||
(pattern.unicode ? 'u' : '')); | ||
} | ||
const FUNCTION_NAME_REGEX = /^function\s*([\w$]+)/; | ||
const DEFAULT_MATCH = ['', '']; | ||
/** | ||
* Returns the name of a function. | ||
* @name functionName(fn: Function): string | ||
*/ | ||
function functionName(fn) { | ||
if (fn.name) { | ||
return fn.name; | ||
} | ||
const [, name] = String(fn).match(FUNCTION_NAME_REGEX) || DEFAULT_MATCH; | ||
return name; | ||
} | ||
function includesWith(pred, x, list) { | ||
let idx = 0; | ||
const len = list.length; | ||
while (idx < len) { | ||
if (pred(x, list[idx], idx)) { | ||
return true; | ||
} | ||
idx += 1; | ||
} | ||
return false; | ||
} | ||
function equals(a, b, stackA = [], stackB = []) { | ||
if (Object.is(a, b)) { | ||
return true; | ||
} | ||
const typeA = typeOf(a); | ||
if (typeA !== typeOf(b)) { | ||
return false; | ||
} | ||
if (a == null || b == null) { | ||
return false; | ||
} | ||
switch (typeA) { | ||
case 'Arguments': | ||
case 'Array': | ||
case 'Object': | ||
if (typeof a.constructor === 'function' && functionName(a.constructor) === 'Promise') { | ||
return a === b; | ||
} | ||
break; | ||
case 'Boolean': | ||
case 'Number': | ||
case 'String': | ||
if (!(typeof a === typeof b && Object.is(a.valueOf(), b.valueOf()))) { | ||
return false; | ||
} | ||
break; | ||
case 'Date': | ||
if (!Object.is(a.valueOf(), b.valueOf())) { | ||
return false; | ||
} | ||
break; | ||
case 'Error': | ||
return a.name === b.name && a.message === b.message; | ||
case 'RegExp': | ||
if (!(a.source === b.source && | ||
a.global === b.global && | ||
a.ignoreCase === b.ignoreCase && | ||
a.multiline === b.multiline && | ||
a.sticky === b.sticky && | ||
a.unicode === b.unicode)) { | ||
return false; | ||
} | ||
break; | ||
} | ||
let idx = stackA.length - 1; | ||
while (idx >= 0) { | ||
if (stackA[idx] === a) { | ||
return stackB[idx] === b; | ||
} | ||
idx -= 1; | ||
} | ||
switch (typeA) { | ||
case 'Map': | ||
if (a.size !== b.size) { | ||
return false; | ||
} | ||
return _uniqContentEquals(a.entries(), b.entries(), stackA.concat([a]), stackB.concat([b])); | ||
case 'Set': | ||
if (a.size !== b.size) { | ||
return false; | ||
} | ||
return _uniqContentEquals(a.values(), b.values(), stackA.concat([a]), stackB.concat([b])); | ||
case 'Arguments': | ||
case 'Array': | ||
case 'Object': | ||
case 'Boolean': | ||
case 'Number': | ||
case 'String': | ||
case 'Date': | ||
case 'Error': | ||
case 'RegExp': | ||
case 'Int8Array': | ||
case 'Uint8Array': | ||
case 'Uint8ClampedArray': | ||
case 'Int16Array': | ||
case 'Uint16Array': | ||
case 'Int32Array': | ||
case 'Uint32Array': | ||
case 'Float32Array': | ||
case 'Float64Array': | ||
case 'ArrayBuffer': | ||
break; | ||
default: | ||
// Values of other types are only equal if identical. | ||
return false; | ||
} | ||
const keysA = Object.keys(a); | ||
if (keysA.length !== Object.keys(b).length) { | ||
return false; | ||
} | ||
const extendedStackA = stackA.concat([a]); | ||
const extendedStackB = stackB.concat([b]); | ||
idx = keysA.length - 1; | ||
while (idx >= 0) { | ||
const key = keysA[idx]; | ||
if (!(Object.prototype.hasOwnProperty.call(b, key) && | ||
equals(b[key], a[key], extendedStackA, extendedStackB))) { | ||
return false; | ||
} | ||
idx -= 1; | ||
} | ||
return true; | ||
} | ||
function _uniqContentEquals(aIterable, bIterable, stackA, stackB) { | ||
const a = Array.from(aIterable); | ||
const b = Array.from(bIterable); | ||
// tslint:disable-next-line:variable-name | ||
function eq(_a, _b) { | ||
return equals(_a, _b, stackA.slice(), stackB.slice()); | ||
} | ||
// if *a* array contains any element that is not included in *b* | ||
// tslint:disable-next-line:no-shadowed-variable | ||
return !includesWith((b, aItem) => !includesWith(eq, aItem, b), b, a); | ||
} | ||
// Very loose definition of a browser environment | ||
const isBrowser = typeof window !== 'undefined' && typeof document !== 'undefined'; | ||
function indexOf(list, a, idx = 0) { | ||
// Array.prototype.indexOf doesn't exist below IE9 | ||
if (typeof list.indexOf === 'function') { | ||
switch (typeof a) { | ||
case 'number': | ||
let inf; | ||
let item; | ||
if (a === 0) { | ||
// manually crawl the list to distinguish between +0 and -0 | ||
inf = 1 / a; | ||
while (idx < list.length) { | ||
item = list[idx]; | ||
if (item === 0 && 1 / item === inf) { | ||
return idx; | ||
} | ||
idx += 1; | ||
} | ||
return -1; | ||
} | ||
else if (a !== a) { | ||
// NaN | ||
while (idx < list.length) { | ||
item = list[idx]; | ||
if (typeof item === 'number' && item !== item) { | ||
return idx; | ||
} | ||
idx += 1; | ||
} | ||
return -1; | ||
} | ||
// non-zero numbers can utilise Set | ||
return list.indexOf(a, idx); | ||
// all these types can utilise Set | ||
case 'string': | ||
case 'boolean': | ||
case 'function': | ||
case 'undefined': | ||
return list.indexOf(a, idx); | ||
case 'object': | ||
if (a === null) { | ||
// null can utilise Set | ||
return list.indexOf(a, idx); | ||
} | ||
} | ||
} | ||
while (idx < list.length) { | ||
if (equals(list[idx], a)) { | ||
return idx; | ||
} | ||
idx += 1; | ||
} | ||
return -1; | ||
} | ||
function mapArrayLike(fn, functor) { | ||
let idx = 0; | ||
const len = functor.length; | ||
const result = Array(len); | ||
while (idx < len) { | ||
result[idx] = fn(functor[idx]); | ||
idx += 1; | ||
} | ||
return result; | ||
} | ||
function mapObj(fn, obj) { | ||
const newObj = {}; | ||
// tslint:disable-next-line:forin | ||
for (const key in obj) { | ||
newObj[key] = fn(key, obj[key]); | ||
} | ||
return newObj; | ||
} | ||
const DUPLICATE_PATH_SEPARATOR_REGEX = /\/{2,}/g; | ||
const PATH_SEPARATOR = `/`; | ||
const isString = (x) => typeof x === 'string'; | ||
/** | ||
* | ||
* @param paths :: string[] A list of paths to join together | ||
* @param trailingSlash :: boolean whether or not to append a trailing slash | ||
*/ | ||
function pathJoin(paths, trailingSlash = false) { | ||
const path = `/${paths.filter(isString).join(PATH_SEPARATOR)}`.replace(DUPLICATE_PATH_SEPARATOR_REGEX, PATH_SEPARATOR); | ||
return !trailingSlash || path[path.length - 1] === '/' ? path : path + '/'; | ||
} | ||
const STEPS = [ | ||
[/\\/g, '\\\\'], | ||
[/[\b]/g, '\\b'], | ||
[/\f/g, '\\f'], | ||
[/\n/g, '\\n'], | ||
[/\r/g, '\\r'], | ||
[/\t/g, '\\t'], | ||
[/\v/g, '\\v'], | ||
[/\0/g, '\\0'], | ||
]; | ||
const LAST_STEP = [/"/g, '\\"']; | ||
function quote(s) { | ||
const escaped = STEPS.reduce(applyStep, s); | ||
return '"' + applyStep(escaped, LAST_STEP) + '"'; | ||
} | ||
function applyStep(str, step) { | ||
return str.replace(step[0], step[1]); | ||
} | ||
/** | ||
* Convert anything into a string | ||
* @param x :: any | ||
* @returns a string representation of a value | ||
*/ | ||
const toString = (x) => _toString(x, []); | ||
function _toString(x, seen) { | ||
const recur = (y) => { | ||
const xs = seen.concat([x]); | ||
return indexOf(xs, y) > -1 ? '<Circular>' : _toString(y, xs); | ||
}; | ||
const mapPairs = (obj, keys) => { | ||
return mapArrayLike((k) => { | ||
return quote(k) + ': ' + recur(obj[k]); | ||
}, keys.slice().sort()); | ||
}; | ||
switch (Object.prototype.toString.call(x)) { | ||
case '[object Arguments]': | ||
return '(function() { return arguments; }(' + mapArrayLike(recur, x).join(', ') + '))'; | ||
case '[object Array]': | ||
return ('[' + | ||
mapArrayLike(recur, x) | ||
.concat(mapPairs(x, Object.keys(x).filter(k => !/^\d+$/.test(k)))) | ||
.join(', ') + | ||
']'); | ||
case '[object Boolean]': | ||
return typeof x === 'object' ? 'new Boolean(' + recur(x.valueOf()) + ')' : x.toString(); | ||
case '[object Date]': | ||
return ('new Date(' + (isNaN(x.valueOf()) ? recur(NaN) : quote(x.toISOString())) + ')'); | ||
case '[object Null]': | ||
return 'null'; | ||
case '[object Number]': | ||
return typeof x === 'object' | ||
? 'new Number(' + recur(x.valueOf()) + ')' | ||
: 1 / x === -Infinity | ||
? '-0' | ||
: x.toString(10); | ||
case '[object String]': | ||
return typeof x === 'object' ? 'new String(' + recur(x.valueOf()) + ')' : quote(x); | ||
case '[object Undefined]': | ||
return 'undefined'; | ||
default: | ||
if (typeof x.toString === 'function') { | ||
const repr = x.toString(); | ||
if (repr !== '[object Object]') { | ||
return repr; | ||
} | ||
} | ||
return '{' + mapPairs(x, Object.keys(x)).join(', ') + '}'; | ||
} | ||
} | ||
exports.addQueryParameters = addQueryParameters; | ||
exports.clone = clone; | ||
exports.equals = equals; | ||
exports.functionName = functionName; | ||
exports.includesWith = includesWith; | ||
exports.indexOf = indexOf; | ||
exports.isBrowser = isBrowser; | ||
exports.mapArrayLike = mapArrayLike; | ||
exports.mapObj = mapObj; | ||
exports.pathJoin = pathJoin; | ||
exports.quote = quote; | ||
exports.toString = toString; | ||
exports.typeOf = typeOf; | ||
Object.defineProperty(exports, '__esModule', { value: true }); | ||
})); | ||
//# sourceMappingURL=index.js.map |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
Manifest confusion
Supply chain riskThis package has inconsistent metadata. This could be malicious or caused by an error when publishing the package.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
Manifest confusion
Supply chain riskThis package has inconsistent metadata. This could be malicious or caused by an error when publishing the package.
Found 1 instance in 1 package
451864
235
1994