UNPKG

5.52 kBSource Map (JSON)View Raw
1{"version":3,"sources":["../../../../Scripts/Commons/scriptingUtils.ts"],"names":["executeCommand","command","workingDirectory","undefined","shell","pushd","console","log","exec","popd","executeCommandAndGetStdout","result","silent","stdout","isDirectoryExists","dirPath","fs","statSync","path","resolve","isDirectory","e","levenshtein","left","right","a","b","length","tmp","row","i","prev","j","val","charAt","Math","min","findMostNearestWord","list","word","minValue","resultWord","item","distance"],"mappings":"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","sourcesContent":["import * as fs from \"fs\";\nimport * as path from \"path\";\nimport * as shell from \"shelljs\";\n\nexport function executeCommand(command: string, workingDirectory?: string): void {\n if (workingDirectory != undefined) {\n shell.pushd(workingDirectory);\n }\n try {\n console.log(command);\n shell.exec(command);\n } finally {\n if (workingDirectory != undefined) {\n shell.popd();\n }\n }\n}\n\nexport function executeCommandAndGetStdout(command: string): string {\n console.log(command);\n const result = shell.exec(command, { silent: true });\n if (typeof result.stdout === \"string\") {\n return result.stdout;\n }\n return \"\";\n}\n\nexport function isDirectoryExists(dirPath: string): boolean {\n try {\n return fs.statSync(path.resolve(dirPath)).isDirectory();\n } catch (e) {\n return false;\n }\n}\n\nfunction levenshtein(left: string, right: string): number {\n let a = left;\n let b = right;\n if (a.length === 0) {\n return b.length;\n }\n if (b.length === 0) {\n return a.length;\n }\n\n // swap to save some memory O(min(a,b)) instead of O(a)\n if (a.length > b.length) {\n const tmp = a;\n a = b;\n b = tmp;\n }\n\n const row = [];\n // init the row\n for (let i = 0; i <= a.length; i++) {\n row[i] = i;\n }\n\n // fill in the rest\n for (let i = 1; i <= b.length; i++) {\n let prev = i;\n for (let j = 1; j <= a.length; j++) {\n let val;\n if (b.charAt(i - 1) === a.charAt(j - 1)) {\n val = row[j - 1]; // match\n } else {\n val = Math.min(\n row[j - 1] + 1, // substitution\n prev + 1, // insertion\n row[j] + 1\n ); // deletion\n }\n row[j - 1] = prev;\n prev = val;\n }\n row[a.length] = prev;\n }\n\n return row[a.length];\n}\n\nexport function findMostNearestWord(list: string[], word: string): undefined | string {\n let minValue = 4;\n let resultWord;\n for (const item of list) {\n const distance = levenshtein(item, word);\n if (distance <= minValue) {\n minValue = distance;\n resultWord = item;\n }\n }\n return resultWord;\n}\n"],"file":"scriptingUtils.js"}
\No newline at end of file