{"version":3,"sources":["node_modules/@angular-devkit/core/src/utils/strings.js"],"sourcesContent":["\"use strict\";\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.levenshtein = exports.capitalize = exports.underscore = exports.classify = exports.camelize = exports.dasherize = exports.decamelize = void 0;\nconst STRING_DASHERIZE_REGEXP = /[ _]/g;\nconst STRING_DECAMELIZE_REGEXP = /([a-z\\d])([A-Z])/g;\nconst STRING_CAMELIZE_REGEXP = /(-|_|\\.|\\s)+(.)?/g;\nconst STRING_UNDERSCORE_REGEXP_1 = /([a-z\\d])([A-Z]+)/g;\nconst STRING_UNDERSCORE_REGEXP_2 = /-|\\s+/g;\n/**\n * Converts a camelized string into all lower case separated by underscores.\n *\n ```javascript\n decamelize('innerHTML'); // 'inner_html'\n decamelize('action_name'); // 'action_name'\n decamelize('css-class-name'); // 'css-class-name'\n decamelize('my favorite items'); // 'my favorite items'\n ```\n\n @method decamelize\n @param {String} str The string to decamelize.\n @return {String} the decamelized string.\n */\nfunction decamelize(str) {\n return str.replace(STRING_DECAMELIZE_REGEXP, '$1_$2').toLowerCase();\n}\nexports.decamelize = decamelize;\n/**\n Replaces underscores, spaces, or camelCase with dashes.\n\n ```javascript\n dasherize('innerHTML'); // 'inner-html'\n dasherize('action_name'); // 'action-name'\n dasherize('css-class-name'); // 'css-class-name'\n dasherize('my favorite items'); // 'my-favorite-items'\n ```\n\n @method dasherize\n @param {String} str The string to dasherize.\n @return {String} the dasherized string.\n */\nfunction dasherize(str) {\n return decamelize(str).replace(STRING_DASHERIZE_REGEXP, '-');\n}\nexports.dasherize = dasherize;\n/**\n Returns the lowerCamelCase form of a string.\n\n ```javascript\n camelize('innerHTML'); // 'innerHTML'\n camelize('action_name'); // 'actionName'\n camelize('css-class-name'); // 'cssClassName'\n camelize('my favorite items'); // 'myFavoriteItems'\n camelize('My Favorite Items'); // 'myFavoriteItems'\n ```\n\n @method camelize\n @param {String} str The string to camelize.\n @return {String} the camelized string.\n */\nfunction camelize(str) {\n return str.replace(STRING_CAMELIZE_REGEXP, (_match, _separator, chr) => {\n return chr ? chr.toUpperCase() : '';\n }).replace(/^([A-Z])/, match => match.toLowerCase());\n}\nexports.camelize = camelize;\n/**\n Returns the UpperCamelCase form of a string.\n\n @example\n ```javascript\n 'innerHTML'.classify(); // 'InnerHTML'\n 'action_name'.classify(); // 'ActionName'\n 'css-class-name'.classify(); // 'CssClassName'\n 'my favorite items'.classify(); // 'MyFavoriteItems'\n 'app.component'.classify(); // 'AppComponent'\n ```\n @method classify\n @param {String} str the string to classify\n @return {String} the classified string\n */\nfunction classify(str) {\n return str.split('.').map(part => capitalize(camelize(part))).join('');\n}\nexports.classify = classify;\n/**\n More general than decamelize. Returns the lower_case_and_underscored\n form of a string.\n\n ```javascript\n 'innerHTML'.underscore(); // 'inner_html'\n 'action_name'.underscore(); // 'action_name'\n 'css-class-name'.underscore(); // 'css_class_name'\n 'my favorite items'.underscore(); // 'my_favorite_items'\n ```\n\n @method underscore\n @param {String} str The string to underscore.\n @return {String} the underscored string.\n */\nfunction underscore(str) {\n return str.replace(STRING_UNDERSCORE_REGEXP_1, '$1_$2').replace(STRING_UNDERSCORE_REGEXP_2, '_').toLowerCase();\n}\nexports.underscore = underscore;\n/**\n Returns the Capitalized form of a string\n\n ```javascript\n 'innerHTML'.capitalize() // 'InnerHTML'\n 'action_name'.capitalize() // 'Action_name'\n 'css-class-name'.capitalize() // 'Css-class-name'\n 'my favorite items'.capitalize() // 'My favorite items'\n ```\n\n @method capitalize\n @param {String} str The string to capitalize.\n @return {String} The capitalized string.\n */\nfunction capitalize(str) {\n return str.charAt(0).toUpperCase() + str.slice(1);\n}\nexports.capitalize = capitalize;\n/**\n * Calculate the levenshtein distance of two strings.\n * See https://en.wikipedia.org/wiki/Levenshtein_distance.\n * Based off https://gist.github.com/andrei-m/982927 (for using the faster dynamic programming\n * version).\n *\n * @param a String a.\n * @param b String b.\n * @returns A number that represents the distance between the two strings. The greater the number\n * the more distant the strings are from each others.\n */\nfunction levenshtein(a, b) {\n if (a.length == 0) {\n return b.length;\n }\n if (b.length == 0) {\n return a.length;\n }\n const matrix = [];\n // increment along the first column of each row\n for (let i = 0; i <= b.length; i++) {\n matrix[i] = [i];\n }\n // increment each column in the first row\n for (let j = 0; j <= a.length; j++) {\n matrix[0][j] = j;\n }\n // Fill in the rest of the matrix\n for (let i = 1; i <= b.length; i++) {\n for (let j = 1; j <= a.length; j++) {\n if (b.charAt(i - 1) == a.charAt(j - 1)) {\n matrix[i][j] = matrix[i - 1][j - 1];\n } else {\n matrix[i][j] = Math.min(matrix[i - 1][j - 1] + 1,\n // substitution\n matrix[i][j - 1] + 1,\n // insertion\n matrix[i - 1][j] + 1);\n }\n }\n }\n return matrix[b.length][a.length];\n}\nexports.levenshtein = levenshtein;"],"mappings":"wCAAA,IAAAA,EAAAC,EAAAC,GAAA,cASA,OAAO,eAAeA,EAAS,aAAc,CAC3C,MAAO,EACT,CAAC,EACDA,EAAQ,YAAcA,EAAQ,WAAaA,EAAQ,WAAaA,EAAQ,SAAWA,EAAQ,SAAWA,EAAQ,UAAYA,EAAQ,WAAa,OAC/I,IAAMC,EAA0B,QAC1BC,EAA2B,oBAC3BC,EAAyB,oBACzBC,EAA6B,qBAC7BC,EAA6B,SAenC,SAASC,EAAWC,EAAK,CACvB,OAAOA,EAAI,QAAQL,EAA0B,OAAO,EAAE,YAAY,CACpE,CACAF,EAAQ,WAAaM,EAerB,SAASE,EAAUD,EAAK,CACtB,OAAOD,EAAWC,CAAG,EAAE,QAAQN,EAAyB,GAAG,CAC7D,CACAD,EAAQ,UAAYQ,EAgBpB,SAASC,EAASF,EAAK,CACrB,OAAOA,EAAI,QAAQJ,EAAwB,CAACO,EAAQC,EAAYC,IACvDA,EAAMA,EAAI,YAAY,EAAI,EAClC,EAAE,QAAQ,WAAYC,GAASA,EAAM,YAAY,CAAC,CACrD,CACAb,EAAQ,SAAWS,EAgBnB,SAASK,EAASP,EAAK,CACrB,OAAOA,EAAI,MAAM,GAAG,EAAE,IAAIQ,GAAQC,EAAWP,EAASM,CAAI,CAAC,CAAC,EAAE,KAAK,EAAE,CACvE,CACAf,EAAQ,SAAWc,EAgBnB,SAASG,EAAWV,EAAK,CACvB,OAAOA,EAAI,QAAQH,EAA4B,OAAO,EAAE,QAAQC,EAA4B,GAAG,EAAE,YAAY,CAC/G,CACAL,EAAQ,WAAaiB,EAerB,SAASD,EAAWT,EAAK,CACvB,OAAOA,EAAI,OAAO,CAAC,EAAE,YAAY,EAAIA,EAAI,MAAM,CAAC,CAClD,CACAP,EAAQ,WAAagB,EAYrB,SAASE,EAAYC,EAAGC,EAAG,CACzB,GAAID,EAAE,QAAU,EACd,OAAOC,EAAE,OAEX,GAAIA,EAAE,QAAU,EACd,OAAOD,EAAE,OAEX,IAAME,EAAS,CAAC,EAEhB,QAASC,EAAI,EAAGA,GAAKF,EAAE,OAAQE,IAC7BD,EAAOC,CAAC,EAAI,CAACA,CAAC,EAGhB,QAASC,EAAI,EAAGA,GAAKJ,EAAE,OAAQI,IAC7BF,EAAO,CAAC,EAAEE,CAAC,EAAIA,EAGjB,QAASD,EAAI,EAAGA,GAAKF,EAAE,OAAQE,IAC7B,QAASC,EAAI,EAAGA,GAAKJ,EAAE,OAAQI,IACzBH,EAAE,OAAOE,EAAI,CAAC,GAAKH,EAAE,OAAOI,EAAI,CAAC,EACnCF,EAAOC,CAAC,EAAEC,CAAC,EAAIF,EAAOC,EAAI,CAAC,EAAEC,EAAI,CAAC,EAElCF,EAAOC,CAAC,EAAEC,CAAC,EAAI,KAAK,IAAIF,EAAOC,EAAI,CAAC,EAAEC,EAAI,CAAC,EAAI,EAE/CF,EAAOC,CAAC,EAAEC,EAAI,CAAC,EAAI,EAEnBF,EAAOC,EAAI,CAAC,EAAEC,CAAC,EAAI,CAAC,EAI1B,OAAOF,EAAOD,EAAE,MAAM,EAAED,EAAE,MAAM,CAClC,CACAnB,EAAQ,YAAckB","names":["require_strings","__commonJSMin","exports","STRING_DASHERIZE_REGEXP","STRING_DECAMELIZE_REGEXP","STRING_CAMELIZE_REGEXP","STRING_UNDERSCORE_REGEXP_1","STRING_UNDERSCORE_REGEXP_2","decamelize","str","dasherize","camelize","_match","_separator","chr","match","classify","part","capitalize","underscore","levenshtein","a","b","matrix","i","j"],"x_google_ignoreList":[0]}