UNPKG

32.6 kBSource Map (JSON)View Raw
1{
2 "version": 3,
3 "file": "common.js",
4 "sourceRoot": "",
5 "sources": [
6 "@uirouter/core/common/common.ts"
7 ],
8 "names": [],
9 "mappings": "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",
10 "sourcesContent": [
11 "/**\n * Random utility functions used in the UI-Router code\n *\n * These functions are exported, but are subject to change without notice.\n *\n * @packageDocumentation\n * @preferred\n */\nimport { isFunction, isString, isArray, isRegExp, isDate } from './predicates';\nimport { all, any, prop, curry, not } from './hof';\nimport { services } from './coreservices';\nimport { StateObject } from '../state/stateObject';\n\ndeclare const global;\nexport const root: any =\n (typeof self === 'object' && self.self === self && self) ||\n (typeof global === 'object' && global.global === global && global) ||\n this;\nconst angular = root.angular || {};\n\nexport const fromJson = angular.fromJson || JSON.parse.bind(JSON);\nexport const toJson = angular.toJson || JSON.stringify.bind(JSON);\nexport const forEach = angular.forEach || _forEach;\nexport const extend = Object.assign || _extend;\nexport const equals = angular.equals || _equals;\nexport function identity(x: any) {\n return x;\n}\nexport function noop(): any {}\n\nexport type Mapper<X, T> = (x: X, key?: string | number) => T;\nexport interface TypedMap<T> {\n [key: string]: T;\n}\nexport type Predicate<X> = (x?: X) => boolean;\nexport type PredicateBinary<X, Y> = (x?: X, y?: Y) => boolean;\n/**\n * An ng1-style injectable\n *\n * This could be a (non-minified) function such as:\n * ```js\n * function injectableFunction(SomeDependency) {\n *\n * }\n * ```\n *\n * or an explicitly annotated function (minify safe)\n * ```js\n * injectableFunction.$inject = [ 'SomeDependency' ];\n * function injectableFunction(SomeDependency) {\n *\n * }\n * ```\n *\n * or an array style annotated function (minify safe)\n * ```js\n * ['SomeDependency', function injectableFunction(SomeDependency) {\n *\n * }];\n * ```\n */\nexport type IInjectable = Function | any[];\n\nexport interface Obj extends Object {\n [key: string]: any;\n}\n\n/**\n * Builds proxy functions on the `to` object which pass through to the `from` object.\n *\n * For each key in `fnNames`, creates a proxy function on the `to` object.\n * The proxy function calls the real function on the `from` object.\n *\n *\n * #### Example:\n * This example creates an new class instance whose functions are prebound to the new'd object.\n * ```js\n * class Foo {\n * constructor(data) {\n * // Binds all functions from Foo.prototype to 'this',\n * // then copies them to 'this'\n * bindFunctions(Foo.prototype, this, this);\n * this.data = data;\n * }\n *\n * log() {\n * console.log(this.data);\n * }\n * }\n *\n * let myFoo = new Foo([1,2,3]);\n * var logit = myFoo.log;\n * logit(); // logs [1, 2, 3] from the myFoo 'this' instance\n * ```\n *\n * #### Example:\n * This example creates a bound version of a service function, and copies it to another object\n * ```\n *\n * var SomeService = {\n * this.data = [3, 4, 5];\n * this.log = function() {\n * console.log(this.data);\n * }\n * }\n *\n * // Constructor fn\n * function OtherThing() {\n * // Binds all functions from SomeService to SomeService,\n * // then copies them to 'this'\n * bindFunctions(SomeService, this, SomeService);\n * }\n *\n * let myOtherThing = new OtherThing();\n * myOtherThing.log(); // logs [3, 4, 5] from SomeService's 'this'\n * ```\n *\n * @param source A function that returns the source object which contains the original functions to be bound\n * @param target A function that returns the target object which will receive the bound functions\n * @param bind A function that returns the object which the functions will be bound to\n * @param fnNames The function names which will be bound (Defaults to all the functions found on the 'from' object)\n * @param latebind If true, the binding of the function is delayed until the first time it's invoked\n */\nexport function createProxyFunctions(\n source: Function,\n target: Obj,\n bind: Function,\n fnNames?: string[],\n latebind = false\n): Obj {\n const bindFunction = (fnName) => source()[fnName].bind(bind());\n\n const makeLateRebindFn = (fnName) =>\n function lateRebindFunction() {\n target[fnName] = bindFunction(fnName);\n return target[fnName].apply(null, arguments);\n };\n\n fnNames = fnNames || Object.keys(source());\n\n return fnNames.reduce((acc, name) => {\n acc[name] = latebind ? makeLateRebindFn(name) : bindFunction(name);\n return acc;\n }, target);\n}\n\n/**\n * prototypal inheritance helper.\n * Creates a new object which has `parent` object as its prototype, and then copies the properties from `extra` onto it\n */\nexport const inherit = (parent: Obj, extra?: Obj) => extend(Object.create(parent), extra);\n\n/** Given an array, returns true if the object is found in the array, (using indexOf) */\nexport const inArray: typeof _inArray = curry(_inArray) as any;\nexport function _inArray(array: any[], obj: any): boolean;\nexport function _inArray(array: any[]): (obj: any) => boolean;\nexport function _inArray(array, obj?): any {\n return array.indexOf(obj) !== -1;\n}\n\n/**\n * Given an array, and an item, if the item is found in the array, it removes it (in-place).\n * The same array is returned\n */\nexport const removeFrom: typeof _removeFrom = curry(_removeFrom) as any;\nexport function _removeFrom<T>(array: T[], obj: T): T[];\nexport function _removeFrom<T>(array: T[]): (obj: T) => T[];\nexport function _removeFrom(array, obj?) {\n const idx = array.indexOf(obj);\n if (idx >= 0) array.splice(idx, 1);\n return array;\n}\n\n/** pushes a values to an array and returns the value */\nexport const pushTo: typeof _pushTo = curry(_pushTo) as any;\nexport function _pushTo<T>(arr: T[], val: T): T;\nexport function _pushTo<T>(arr: T[]): (val: T) => T;\nexport function _pushTo(arr, val?): any {\n return arr.push(val), val;\n}\n\n/** Given an array of (deregistration) functions, calls all functions and removes each one from the source array */\nexport const deregAll = (functions: Function[]) =>\n functions.slice().forEach((fn) => {\n typeof fn === 'function' && fn();\n removeFrom(functions, fn);\n });\n/**\n * Applies a set of defaults to an options object. The options object is filtered\n * to only those properties of the objects in the defaultsList.\n * Earlier objects in the defaultsList take precedence when applying defaults.\n */\nexport function defaults(opts, ...defaultsList: Obj[]) {\n const defaultVals = extend({}, ...defaultsList.reverse());\n return extend(defaultVals, pick(opts || {}, Object.keys(defaultVals)));\n}\n\n/** Reduce function that merges each element of the list into a single object, using extend */\nexport const mergeR = (memo: Obj, item: Obj) => extend(memo, item);\n\n/**\n * Finds the common ancestor path between two states.\n *\n * @param {Object} first The first state.\n * @param {Object} second The second state.\n * @return {Array} Returns an array of state names in descending order, not including the root.\n */\nexport function ancestors(first: StateObject, second: StateObject) {\n const path: StateObject[] = [];\n\n // tslint:disable-next-line:forin\n for (const n in first.path) {\n if (first.path[n] !== second.path[n]) break;\n path.push(first.path[n]);\n }\n return path;\n}\n\n/**\n * Return a copy of the object only containing the whitelisted properties.\n *\n * #### Example:\n * ```\n * var foo = { a: 1, b: 2, c: 3 };\n * var ab = pick(foo, ['a', 'b']); // { a: 1, b: 2 }\n * ```\n * @param obj the source object\n * @param propNames an Array of strings, which are the whitelisted property names\n */\nexport function pick(obj: Obj, propNames: string[]): Obj {\n const objCopy = {};\n for (const _prop in obj) {\n if (propNames.indexOf(_prop) !== -1) {\n objCopy[_prop] = obj[_prop];\n }\n }\n return objCopy;\n}\n\n/**\n * Return a copy of the object omitting the blacklisted properties.\n *\n * @example\n * ```\n *\n * var foo = { a: 1, b: 2, c: 3 };\n * var ab = omit(foo, ['a', 'b']); // { c: 3 }\n * ```\n * @param obj the source object\n * @param propNames an Array of strings, which are the blacklisted property names\n */\nexport function omit(obj: Obj, propNames: string[]): Obj {\n return Object.keys(obj)\n .filter(not(inArray(propNames)))\n .reduce((acc, key) => ((acc[key] = obj[key]), acc), {});\n}\n\n/** Given an array of objects, maps each element to a named property of the element. */\nexport function pluck<T>(collection: Obj[], propName: string): T[];\n/** Given an object, maps each property of the object to a named property of the property. */\nexport function pluck(collection: { [key: string]: any }, propName: string): { [key: string]: any };\n/**\n * Maps an array, or object to a property (by name)\n */\nexport function pluck(collection: any, propName: string): any {\n return map(collection, <Mapper<any, string>>prop(propName));\n}\n\n/** Given an array of objects, returns a new array containing only the elements which passed the callback predicate */\nexport function filter<T>(collection: T[], callback: (t: T, key?: number) => boolean): T[];\n/** Given an object, returns a new object with only those properties that passed the callback predicate */\nexport function filter<T>(collection: TypedMap<T>, callback: (t: T, key?: string) => boolean): TypedMap<T>;\n/** Filters an Array or an Object's properties based on a predicate */\nexport function filter<T>(collection: any, callback: Function): T {\n const arr = isArray(collection),\n result: any = arr ? [] : {};\n const accept = arr ? (x) => result.push(x) : (x, key) => (result[key] = x);\n forEach(collection, function (item, i) {\n if (callback(item, i)) accept(item, i);\n });\n return <T>result;\n}\n\n/** Given an object, return the first property of that object which passed the callback predicate */\nexport function find<T>(collection: TypedMap<T>, callback: Predicate<T>): T;\n/** Given an array of objects, returns the first object which passed the callback predicate */\nexport function find<T>(collection: T[], callback: Predicate<T>): T;\n/** Finds an object from an array, or a property of an object, that matches a predicate */\nexport function find(collection: any, callback: any) {\n let result;\n\n forEach(collection, function (item, i) {\n if (result) return;\n if (callback(item, i)) result = item;\n });\n\n return result;\n}\n\n/** Given an object, returns a new object, where each property is transformed by the callback function */\nexport let mapObj: <T, U>(\n collection: { [key: string]: T },\n callback: Mapper<T, U>,\n target?: typeof collection\n) => { [key: string]: U } = map;\n/** Given an array, returns a new array, where each element is transformed by the callback function */\nexport function map<T, U>(collection: T[], callback: Mapper<T, U>, target?: typeof collection): U[];\nexport function map<T, U>(\n collection: { [key: string]: T },\n callback: Mapper<T, U>,\n target?: typeof collection\n): { [key: string]: U };\n/** Maps an array or object properties using a callback function */\nexport function map(collection: any, callback: any, target: typeof collection): any {\n target = target || (isArray(collection) ? [] : {});\n forEach(collection, (item, i) => (target[i] = callback(item, i)));\n return target;\n}\n\n/**\n * Given an object, return its enumerable property values\n *\n * @example\n * ```\n *\n * let foo = { a: 1, b: 2, c: 3 }\n * let vals = values(foo); // [ 1, 2, 3 ]\n * ```\n */\nexport const values: <T>(obj: TypedMap<T>) => T[] = (obj: Obj) => Object.keys(obj).map((key) => obj[key]);\n\n/**\n * Reduce function that returns true if all of the values are truthy.\n *\n * @example\n * ```\n *\n * let vals = [ 1, true, {}, \"hello world\"];\n * vals.reduce(allTrueR, true); // true\n *\n * vals.push(0);\n * vals.reduce(allTrueR, true); // false\n * ```\n */\nexport const allTrueR = (memo: boolean, elem: any) => memo && elem;\n\n/**\n * Reduce function that returns true if any of the values are truthy.\n *\n * * @example\n * ```\n *\n * let vals = [ 0, null, undefined ];\n * vals.reduce(anyTrueR, true); // false\n *\n * vals.push(\"hello world\");\n * vals.reduce(anyTrueR, true); // true\n * ```\n */\nexport const anyTrueR = (memo: boolean, elem: any) => memo || elem;\n\n/**\n * Reduce function which un-nests a single level of arrays\n * @example\n * ```\n *\n * let input = [ [ \"a\", \"b\" ], [ \"c\", \"d\" ], [ [ \"double\", \"nested\" ] ] ];\n * input.reduce(unnestR, []) // [ \"a\", \"b\", \"c\", \"d\", [ \"double, \"nested\" ] ]\n * ```\n */\nexport const unnestR = (memo: any[], elem: any[]) => memo.concat(elem);\n\n/**\n * Reduce function which recursively un-nests all arrays\n *\n * @example\n * ```\n *\n * let input = [ [ \"a\", \"b\" ], [ \"c\", \"d\" ], [ [ \"double\", \"nested\" ] ] ];\n * input.reduce(unnestR, []) // [ \"a\", \"b\", \"c\", \"d\", \"double, \"nested\" ]\n * ```\n */\nexport const flattenR = (memo: any[], elem: any) =>\n isArray(elem) ? memo.concat(elem.reduce(flattenR, [])) : pushR(memo, elem);\n\n/**\n * Reduce function that pushes an object to an array, then returns the array.\n * Mostly just for [[flattenR]] and [[uniqR]]\n */\nexport function pushR(arr: any[], obj: any) {\n arr.push(obj);\n return arr;\n}\n\n/** Reduce function that filters out duplicates */\nexport const uniqR = <T>(acc: T[], token: T): T[] => (inArray(acc, token) ? acc : pushR(acc, token));\n\n/**\n * Return a new array with a single level of arrays unnested.\n *\n * @example\n * ```\n *\n * let input = [ [ \"a\", \"b\" ], [ \"c\", \"d\" ], [ [ \"double\", \"nested\" ] ] ];\n * unnest(input) // [ \"a\", \"b\", \"c\", \"d\", [ \"double, \"nested\" ] ]\n * ```\n */\nexport const unnest = (arr: any[]) => arr.reduce(unnestR, []);\n/**\n * Return a completely flattened version of an array.\n *\n * @example\n * ```\n *\n * let input = [ [ \"a\", \"b\" ], [ \"c\", \"d\" ], [ [ \"double\", \"nested\" ] ] ];\n * flatten(input) // [ \"a\", \"b\", \"c\", \"d\", \"double, \"nested\" ]\n * ```\n */\nexport const flatten = (arr: any[]) => arr.reduce(flattenR, []);\n\n/**\n * Given a .filter Predicate, builds a .filter Predicate which throws an error if any elements do not pass.\n * @example\n * ```\n *\n * let isNumber = (obj) => typeof(obj) === 'number';\n * let allNumbers = [ 1, 2, 3, 4, 5 ];\n * allNumbers.filter(assertPredicate(isNumber)); //OK\n *\n * let oneString = [ 1, 2, 3, 4, \"5\" ];\n * oneString.filter(assertPredicate(isNumber, \"Not all numbers\")); // throws Error(\"\"Not all numbers\"\");\n * ```\n */\nexport const assertPredicate: <T>(predicate: Predicate<T>, errMsg: string | Function) => Predicate<T> = assertFn;\n/**\n * Given a .map function, builds a .map function which throws an error if any mapped elements do not pass a truthyness test.\n * @example\n * ```\n *\n * var data = { foo: 1, bar: 2 };\n *\n * let keys = [ 'foo', 'bar' ]\n * let values = keys.map(assertMap(key => data[key], \"Key not found\"));\n * // values is [1, 2]\n *\n * let keys = [ 'foo', 'bar', 'baz' ]\n * let values = keys.map(assertMap(key => data[key], \"Key not found\"));\n * // throws Error(\"Key not found\")\n * ```\n */\nexport const assertMap: <T, U>(mapFn: (t: T) => U, errMsg: string | Function) => (t: T) => U = assertFn;\nexport function assertFn(predicateOrMap: Function, errMsg: string | Function = 'assert failure'): any {\n return (obj) => {\n const result = predicateOrMap(obj);\n if (!result) {\n throw new Error(isFunction(errMsg) ? (<Function>errMsg)(obj) : errMsg);\n }\n return result;\n };\n}\n\n/**\n * Like _.pairs: Given an object, returns an array of key/value pairs\n *\n * @example\n * ```\n *\n * pairs({ foo: \"FOO\", bar: \"BAR }) // [ [ \"foo\", \"FOO\" ], [ \"bar\": \"BAR\" ] ]\n * ```\n */\nexport const pairs = (obj: Obj) => Object.keys(obj).map((key) => [key, obj[key]]);\n\n/**\n * Given two or more parallel arrays, returns an array of tuples where\n * each tuple is composed of [ a[i], b[i], ... z[i] ]\n *\n * @example\n * ```\n *\n * let foo = [ 0, 2, 4, 6 ];\n * let bar = [ 1, 3, 5, 7 ];\n * let baz = [ 10, 30, 50, 70 ];\n * arrayTuples(foo, bar); // [ [0, 1], [2, 3], [4, 5], [6, 7] ]\n * arrayTuples(foo, bar, baz); // [ [0, 1, 10], [2, 3, 30], [4, 5, 50], [6, 7, 70] ]\n * ```\n */\nexport function arrayTuples(...args: any[]): any[] {\n if (args.length === 0) return [];\n const maxArrayLen = args.reduce((min, arr) => Math.min(arr.length, min), 9007199254740991); // aka 2^53 − 1 aka Number.MAX_SAFE_INTEGER\n const result = [];\n\n for (let i = 0; i < maxArrayLen; i++) {\n // This is a hot function\n // Unroll when there are 1-4 arguments\n switch (args.length) {\n case 1:\n result.push([args[0][i]]);\n break;\n case 2:\n result.push([args[0][i], args[1][i]]);\n break;\n case 3:\n result.push([args[0][i], args[1][i], args[2][i]]);\n break;\n case 4:\n result.push([args[0][i], args[1][i], args[2][i], args[3][i]]);\n break;\n default:\n result.push(args.map((array) => array[i]));\n break;\n }\n }\n\n return result;\n}\n\n/**\n * Reduce function which builds an object from an array of [key, value] pairs.\n *\n * Each iteration sets the key/val pair on the memo object, then returns the memo for the next iteration.\n *\n * Each keyValueTuple should be an array with values [ key: string, value: any ]\n *\n * @example\n * ```\n *\n * var pairs = [ [\"fookey\", \"fooval\"], [\"barkey\", \"barval\"] ]\n *\n * var pairsToObj = pairs.reduce((memo, pair) => applyPairs(memo, pair), {})\n * // pairsToObj == { fookey: \"fooval\", barkey: \"barval\" }\n *\n * // Or, more simply:\n * var pairsToObj = pairs.reduce(applyPairs, {})\n * // pairsToObj == { fookey: \"fooval\", barkey: \"barval\" }\n * ```\n */\nexport function applyPairs(memo: TypedMap<any>, keyValTuple: any[]) {\n let key: string, value: any;\n if (isArray(keyValTuple)) [key, value] = keyValTuple;\n if (!isString(key)) throw new Error('invalid parameters to applyPairs');\n memo[key] = value;\n return memo;\n}\n\n/** Get the last element of an array */\nexport function tail<T>(arr: T[]): T {\n return (arr.length && arr[arr.length - 1]) || undefined;\n}\n\n/**\n * shallow copy from src to dest\n */\nexport function copy(src: Obj, dest?: Obj) {\n if (dest) Object.keys(dest).forEach((key) => delete dest[key]);\n if (!dest) dest = {};\n return extend(dest, src);\n}\n\n/** Naive forEach implementation works with Objects or Arrays */\nfunction _forEach(obj: any[] | any, cb: (el, idx?) => void, _this: Obj) {\n if (isArray(obj)) return obj.forEach(cb, _this);\n Object.keys(obj).forEach((key) => cb(obj[key], key));\n}\n\n/** Like Object.assign() */\nexport function _extend(toObj: Obj, ...fromObjs: Obj[]): any;\nexport function _extend(toObj: Obj): any {\n for (let i = 1; i < arguments.length; i++) {\n const obj = arguments[i];\n if (!obj) continue;\n const keys = Object.keys(obj);\n\n for (let j = 0; j < keys.length; j++) {\n toObj[keys[j]] = obj[keys[j]];\n }\n }\n\n return toObj;\n}\n\nfunction _equals(o1: any, o2: any): boolean {\n if (o1 === o2) return true;\n if (o1 === null || o2 === null) return false;\n if (o1 !== o1 && o2 !== o2) return true; // NaN === NaN\n const t1 = typeof o1,\n t2 = typeof o2;\n if (t1 !== t2 || t1 !== 'object') return false;\n\n const tup = [o1, o2];\n if (all(isArray)(tup)) return _arraysEq(o1, o2);\n if (all(isDate)(tup)) return o1.getTime() === o2.getTime();\n if (all(isRegExp)(tup)) return o1.toString() === o2.toString();\n if (all(isFunction)(tup)) return true; // meh\n\n const predicates = [isFunction, isArray, isDate, isRegExp];\n if (predicates.map(any).reduce((b, fn) => b || !!fn(tup), false)) return false;\n\n const keys: { [i: string]: boolean } = {};\n // tslint:disable-next-line:forin\n for (const key in o1) {\n if (!_equals(o1[key], o2[key])) return false;\n keys[key] = true;\n }\n for (const key in o2) {\n if (!keys[key]) return false;\n }\n\n return true;\n}\n\nfunction _arraysEq(a1: any[], a2: any[]) {\n if (a1.length !== a2.length) return false;\n return arrayTuples(a1, a2).reduce((b, t) => b && _equals(t[0], t[1]), true);\n}\n\n// issue #2676\nexport const silenceUncaughtInPromise = (promise: Promise<any>) => promise.catch((e) => 0) && promise;\nexport const silentRejection = (error: any) => silenceUncaughtInPromise(services.$q.reject(error));\n"
12 ]
13}
\No newline at end of file