JezK
Edit File: misc.js.map
{"version":3,"file":"misc.js","names":["_camelCase","require","sortAlpha","a","b","shortLen","Math","min","length","i","aChar","charCodeAt","bChar","sortOptionsByFlags","aOpt","flags","replace","bOpt","entries","obj","key","push","removePrefix","pattern","prefix","startsWith","slice","removeSuffix","suffix","endsWith","addSuffix","hyphenate","str","match","charAt","toLowerCase","camelCase","test","compareSortedArrays","array1","array2","len","sleep","ms","Promise","resolve","setTimeout"],"sourceRoot":"../../src","sources":["util/misc.js"],"sourcesContent":["/* @flow */\n\nconst _camelCase = require('camelcase');\n\nexport function sortAlpha(a: string, b: string): number {\n // sort alphabetically in a deterministic way\n const shortLen = Math.min(a.length, b.length);\n for (let i = 0; i < shortLen; i++) {\n const aChar = a.charCodeAt(i);\n const bChar = b.charCodeAt(i);\n if (aChar !== bChar) {\n return aChar - bChar;\n }\n }\n return a.length - b.length;\n}\n\nexport function sortOptionsByFlags(a: Object, b: Object): number {\n const aOpt = a.flags.replace(/-/g, '');\n const bOpt = b.flags.replace(/-/g, '');\n return sortAlpha(aOpt, bOpt);\n}\n\nexport function entries<T>(obj: ?{[key: string]: T}): Array<[string, T]> {\n const entries = [];\n if (obj) {\n for (const key in obj) {\n entries.push([key, obj[key]]);\n }\n }\n return entries;\n}\n\nexport function removePrefix(pattern: string, prefix: string): string {\n if (pattern.startsWith(prefix)) {\n pattern = pattern.slice(prefix.length);\n }\n\n return pattern;\n}\n\nexport function removeSuffix(pattern: string, suffix: string): string {\n if (pattern.endsWith(suffix)) {\n return pattern.slice(0, -suffix.length);\n }\n\n return pattern;\n}\n\nexport function addSuffix(pattern: string, suffix: string): string {\n if (!pattern.endsWith(suffix)) {\n return pattern + suffix;\n }\n\n return pattern;\n}\n\nexport function hyphenate(str: string): string {\n return str.replace(/[A-Z]/g, match => {\n return '-' + match.charAt(0).toLowerCase();\n });\n}\n\nexport function camelCase(str: string): ?string {\n if (/[A-Z]/.test(str)) {\n return null;\n } else {\n return _camelCase(str);\n }\n}\n\nexport function compareSortedArrays<T>(array1: Array<T>, array2: Array<T>): boolean {\n if (array1.length !== array2.length) {\n return false;\n }\n for (let i = 0, len = array1.length; i < len; i++) {\n if (array1[i] !== array2[i]) {\n return false;\n }\n }\n return true;\n}\n\nexport function sleep(ms: number): Promise<void> {\n return new Promise(resolve => {\n setTimeout(resolve, ms);\n });\n}\n"],"mappings":"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"}