UNPKG

ngx-bootstrap

Version:
125 lines 11.2 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ import { latinMap } from './latin-map'; /** * @param {?} str * @return {?} */ export function latinize(str) { if (!str) { return ''; } return str.replace(/[^A-Za-z0-9\[\] ]/g, (/** * @param {?} a * @return {?} */ function (a) { return latinMap[a] || a; })); } /** * @param {?} queryToEscape * @return {?} */ export function escapeRegexp(queryToEscape) { // Regex: capture the whole query string and replace it with the string // that will be used to match the results, for example if the capture is // 'a' the result will be \a return queryToEscape.replace(/([.?*+^$[\]\\(){}|-])/g, '\\$1'); } /* tslint:disable */ /** * @param {?} str * @param {?=} wordRegexDelimiters * @param {?=} phraseRegexDelimiters * @param {?=} delimitersForMultipleSearch * @return {?} */ export function tokenize(str, wordRegexDelimiters = ' ', phraseRegexDelimiters = '', delimitersForMultipleSearch) { /** @type {?} */ let result = []; if (!delimitersForMultipleSearch) { result = tokenizeWordsAndPhrases(str, wordRegexDelimiters, phraseRegexDelimiters); } else { /** @type {?} */ const multipleSearchRegexStr = `([${delimitersForMultipleSearch}]+)`; /** @type {?} */ const delimitedTokens = str.split(new RegExp(multipleSearchRegexStr, 'g')); /** @type {?} */ const lastToken = delimitedTokens[delimitedTokens.length - 1]; if (lastToken > '') { if (wordRegexDelimiters && phraseRegexDelimiters) { result = tokenizeWordsAndPhrases(lastToken, wordRegexDelimiters, phraseRegexDelimiters); } else { result.push(lastToken); } } } return result; } /** * @param {?} str * @param {?} wordRegexDelimiters * @param {?} phraseRegexDelimiters * @return {?} */ function tokenizeWordsAndPhrases(str, wordRegexDelimiters, phraseRegexDelimiters) { /** @type {?} */ const result = []; /* tslint:enable */ /** @type {?} */ const regexStr = `(?:[${phraseRegexDelimiters}])([^${phraseRegexDelimiters}]+)` + `(?:[${phraseRegexDelimiters}])|([^${wordRegexDelimiters}]+)`; /** @type {?} */ const preTokenized = str.split(new RegExp(regexStr, 'g')); /** @type {?} */ const preTokenizedLength = preTokenized.length; /** @type {?} */ let token; /** @type {?} */ const replacePhraseDelimiters = new RegExp(`[${phraseRegexDelimiters}]+`, 'g'); for (let i = 0; i < preTokenizedLength; i += 1) { token = preTokenized[i]; if (token && token.length && token !== wordRegexDelimiters) { result.push(token.replace(replacePhraseDelimiters, '')); } } return result; } // tslint:disable-next-line:no-any /** * @param {?} object * @param {?} option * @return {?} */ export function getValueFromObject(object, option) { if (!option || typeof object !== 'object') { return object.toString(); } if (option.endsWith('()')) { /** @type {?} */ const functionName = option.slice(0, option.length - 2); return object[functionName]().toString(); } /** @type {?} */ const properties = option .replace(/\[(\w+)\]/g, '.$1') .replace(/^\./, ''); /** @type {?} */ const propertiesArray = properties.split('.'); for (const property of propertiesArray) { if (property in object) { // tslint:disable-next-line object = object[property]; } } if (!object) { return ''; } return object.toString(); } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZWFoZWFkLXV0aWxzLmpzIiwic291cmNlUm9vdCI6Im5nOi8vbmd4LWJvb3RzdHJhcC90eXBlYWhlYWQvIiwic291cmNlcyI6WyJ0eXBlYWhlYWQtdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxhQUFhLENBQUM7Ozs7O0FBRXZDLE1BQU0sVUFBVSxRQUFRLENBQUMsR0FBVztJQUNsQyxJQUFJLENBQUMsR0FBRyxFQUFFO1FBQ1IsT0FBTyxFQUFFLENBQUM7S0FDWDtJQUVELE9BQU8sR0FBRyxDQUFDLE9BQU8sQ0FBQyxvQkFBb0I7Ozs7SUFBRSxVQUFVLENBQVM7UUFDMUQsT0FBTyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzFCLENBQUMsRUFBQyxDQUFDO0FBQ0wsQ0FBQzs7Ozs7QUFFRCxNQUFNLFVBQVUsWUFBWSxDQUFDLGFBQXFCO0lBQ2hELHVFQUF1RTtJQUN2RSx3RUFBd0U7SUFDeEUsNEJBQTRCO0lBQzVCLE9BQU8sYUFBYSxDQUFDLE9BQU8sQ0FBQyx3QkFBd0IsRUFBRSxNQUFNLENBQUMsQ0FBQztBQUNqRSxDQUFDOzs7Ozs7Ozs7QUFHRCxNQUFNLFVBQVUsUUFBUSxDQUFDLEdBQVcsRUFDbEMsbUJBQW1CLEdBQUcsR0FBRyxFQUN6QixxQkFBcUIsR0FBRyxFQUFFLEVBQUUsMkJBQW9DOztRQUU1RCxNQUFNLEdBQWEsRUFBRTtJQUN6QixJQUFJLENBQUMsMkJBQTJCLEVBQUU7UUFDaEMsTUFBTSxHQUFHLHVCQUF1QixDQUFDLEdBQUcsRUFBRSxtQkFBbUIsRUFBRSxxQkFBcUIsQ0FBQyxDQUFDO0tBQ25GO1NBQU07O2NBQ0Msc0JBQXNCLEdBQUcsS0FBSywyQkFBMkIsS0FBSzs7Y0FDOUQsZUFBZSxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUMsSUFBSSxNQUFNLENBQUMsc0JBQXNCLEVBQUUsR0FBRyxDQUFDLENBQUM7O2NBQ3BFLFNBQVMsR0FBRyxlQUFlLENBQUMsZUFBZSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7UUFDN0QsSUFBSSxTQUFTLEdBQUcsRUFBRSxFQUFFO1lBQ2xCLElBQUksbUJBQW1CLElBQUkscUJBQXFCLEVBQUU7Z0JBQ2hELE1BQU0sR0FBRyx1QkFBdUIsQ0FBQyxTQUFTLEVBQUUsbUJBQW1CLEVBQUUscUJBQXFCLENBQUMsQ0FBQzthQUN6RjtpQkFBTTtnQkFDTCxNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO2FBQ3hCO1NBQ0Y7S0FDRjtJQUVELE9BQU8sTUFBTSxDQUFDO0FBQ2hCLENBQUM7Ozs7Ozs7QUFFRCxTQUFTLHVCQUF1QixDQUFDLEdBQVcsRUFBRSxtQkFBMkIsRUFBRSxxQkFBNkI7O1VBQ2hHLE1BQU0sR0FBYSxFQUFFOzs7VUFFckIsUUFBUSxHQUFHLE9BQU8scUJBQXFCLFFBQVEscUJBQXFCLEtBQUs7UUFDL0UsT0FBTyxxQkFBcUIsU0FBUyxtQkFBbUIsS0FBSzs7VUFDdkQsWUFBWSxHQUFhLEdBQUcsQ0FBQyxLQUFLLENBQUMsSUFBSSxNQUFNLENBQUMsUUFBUSxFQUFFLEdBQUcsQ0FBQyxDQUFDOztVQUM3RCxrQkFBa0IsR0FBVyxZQUFZLENBQUMsTUFBTTs7UUFDbEQsS0FBYTs7VUFDWCx1QkFBdUIsR0FBRyxJQUFJLE1BQU0sQ0FBQyxJQUFJLHFCQUFxQixJQUFJLEVBQUUsR0FBRyxDQUFDO0lBRTlFLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxrQkFBa0IsRUFBRSxDQUFDLElBQUksQ0FBQyxFQUFFO1FBQzlDLEtBQUssR0FBRyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDeEIsSUFBSSxLQUFLLElBQUksS0FBSyxDQUFDLE1BQU0sSUFBSSxLQUFLLEtBQUssbUJBQW1CLEVBQUU7WUFDMUQsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLHVCQUF1QixFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUM7U0FDekQ7S0FDRjtJQUVELE9BQU8sTUFBTSxDQUFDO0FBQ2hCLENBQUM7Ozs7Ozs7QUFHRCxNQUFNLFVBQVUsa0JBQWtCLENBQUMsTUFBVyxFQUFFLE1BQWM7SUFDNUQsSUFBSSxDQUFDLE1BQU0sSUFBSSxPQUFPLE1BQU0sS0FBSyxRQUFRLEVBQUU7UUFDekMsT0FBTyxNQUFNLENBQUMsUUFBUSxFQUFFLENBQUM7S0FDMUI7SUFFRCxJQUFJLE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEVBQUU7O2NBQ25CLFlBQVksR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxNQUFNLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztRQUV2RCxPQUFPLE1BQU0sQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDLFFBQVEsRUFBRSxDQUFDO0tBQzFDOztVQUVLLFVBQVUsR0FBVyxNQUFNO1NBQzlCLE9BQU8sQ0FBQyxZQUFZLEVBQUUsS0FBSyxDQUFDO1NBQzVCLE9BQU8sQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDOztVQUNmLGVBQWUsR0FBYSxVQUFVLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQztJQUV2RCxLQUFLLE1BQU0sUUFBUSxJQUFJLGVBQWUsRUFBRTtRQUN0QyxJQUFJLFFBQVEsSUFBSSxNQUFNLEVBQUU7WUFDdEIsMkJBQTJCO1lBQzNCLE1BQU0sR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7U0FDM0I7S0FDRjtJQUNELElBQUksQ0FBQyxNQUFNLEVBQUU7UUFBQyxPQUFPLEVBQUUsQ0FBQztLQUFFO0lBRTFCLE9BQU8sTUFBTSxDQUFDLFFBQVEsRUFBRSxDQUFDO0FBQzNCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBsYXRpbk1hcCB9IGZyb20gJy4vbGF0aW4tbWFwJztcblxuZXhwb3J0IGZ1bmN0aW9uIGxhdGluaXplKHN0cjogc3RyaW5nKTogc3RyaW5nIHtcbiAgaWYgKCFzdHIpIHtcbiAgICByZXR1cm4gJyc7XG4gIH1cblxuICByZXR1cm4gc3RyLnJlcGxhY2UoL1teQS1aYS16MC05XFxbXFxdIF0vZywgZnVuY3Rpb24gKGE6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGxhdGluTWFwW2FdIHx8IGE7XG4gIH0pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZXNjYXBlUmVnZXhwKHF1ZXJ5VG9Fc2NhcGU6IHN0cmluZyk6IHN0cmluZyB7XG4gIC8vIFJlZ2V4OiBjYXB0dXJlIHRoZSB3aG9sZSBxdWVyeSBzdHJpbmcgYW5kIHJlcGxhY2UgaXQgd2l0aCB0aGUgc3RyaW5nXG4gIC8vIHRoYXQgd2lsbCBiZSB1c2VkIHRvIG1hdGNoIHRoZSByZXN1bHRzLCBmb3IgZXhhbXBsZSBpZiB0aGUgY2FwdHVyZSBpc1xuICAvLyAnYScgdGhlIHJlc3VsdCB3aWxsIGJlIFxcYVxuICByZXR1cm4gcXVlcnlUb0VzY2FwZS5yZXBsYWNlKC8oWy4/KiteJFtcXF1cXFxcKCl7fXwtXSkvZywgJ1xcXFwkMScpO1xufVxuXG4vKiB0c2xpbnQ6ZGlzYWJsZSAqL1xuZXhwb3J0IGZ1bmN0aW9uIHRva2VuaXplKHN0cjogc3RyaW5nLFxuICB3b3JkUmVnZXhEZWxpbWl0ZXJzID0gJyAnLFxuICBwaHJhc2VSZWdleERlbGltaXRlcnMgPSAnJywgZGVsaW1pdGVyc0Zvck11bHRpcGxlU2VhcmNoPzogc3RyaW5nKTogQXJyYXk8c3RyaW5nPiB7XG5cbiAgbGV0IHJlc3VsdDogc3RyaW5nW10gPSBbXTtcbiAgaWYgKCFkZWxpbWl0ZXJzRm9yTXVsdGlwbGVTZWFyY2gpIHtcbiAgICByZXN1bHQgPSB0b2tlbml6ZVdvcmRzQW5kUGhyYXNlcyhzdHIsIHdvcmRSZWdleERlbGltaXRlcnMsIHBocmFzZVJlZ2V4RGVsaW1pdGVycyk7XG4gIH0gZWxzZSB7XG4gICAgY29uc3QgbXVsdGlwbGVTZWFyY2hSZWdleFN0ciA9IGAoWyR7ZGVsaW1pdGVyc0Zvck11bHRpcGxlU2VhcmNofV0rKWA7XG4gICAgY29uc3QgZGVsaW1pdGVkVG9rZW5zID0gc3RyLnNwbGl0KG5ldyBSZWdFeHAobXVsdGlwbGVTZWFyY2hSZWdleFN0ciwgJ2cnKSk7XG4gICAgY29uc3QgbGFzdFRva2VuID0gZGVsaW1pdGVkVG9rZW5zW2RlbGltaXRlZFRva2Vucy5sZW5ndGggLSAxXTtcbiAgICBpZiAobGFzdFRva2VuID4gJycpIHtcbiAgICAgIGlmICh3b3JkUmVnZXhEZWxpbWl0ZXJzICYmIHBocmFzZVJlZ2V4RGVsaW1pdGVycykge1xuICAgICAgICByZXN1bHQgPSB0b2tlbml6ZVdvcmRzQW5kUGhyYXNlcyhsYXN0VG9rZW4sIHdvcmRSZWdleERlbGltaXRlcnMsIHBocmFzZVJlZ2V4RGVsaW1pdGVycyk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXN1bHQucHVzaChsYXN0VG9rZW4pO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHJldHVybiByZXN1bHQ7XG59XG5cbmZ1bmN0aW9uIHRva2VuaXplV29yZHNBbmRQaHJhc2VzKHN0cjogc3RyaW5nLCB3b3JkUmVnZXhEZWxpbWl0ZXJzOiBzdHJpbmcsIHBocmFzZVJlZ2V4RGVsaW1pdGVyczogc3RyaW5nKTogQXJyYXk8c3RyaW5nPiB7XG4gIGNvbnN0IHJlc3VsdDogc3RyaW5nW10gPSBbXTtcbiAgLyogdHNsaW50OmVuYWJsZSAqL1xuICBjb25zdCByZWdleFN0ciA9IGAoPzpbJHtwaHJhc2VSZWdleERlbGltaXRlcnN9XSkoW14ke3BocmFzZVJlZ2V4RGVsaW1pdGVyc31dKylgICtcbiAgYCg/Olske3BocmFzZVJlZ2V4RGVsaW1pdGVyc31dKXwoW14ke3dvcmRSZWdleERlbGltaXRlcnN9XSspYDtcbiAgY29uc3QgcHJlVG9rZW5pemVkOiBzdHJpbmdbXSA9IHN0ci5zcGxpdChuZXcgUmVnRXhwKHJlZ2V4U3RyLCAnZycpKTtcbiAgY29uc3QgcHJlVG9rZW5pemVkTGVuZ3RoOiBudW1iZXIgPSBwcmVUb2tlbml6ZWQubGVuZ3RoO1xuICBsZXQgdG9rZW46IHN0cmluZztcbiAgY29uc3QgcmVwbGFjZVBocmFzZURlbGltaXRlcnMgPSBuZXcgUmVnRXhwKGBbJHtwaHJhc2VSZWdleERlbGltaXRlcnN9XStgLCAnZycpO1xuXG4gIGZvciAobGV0IGkgPSAwOyBpIDwgcHJlVG9rZW5pemVkTGVuZ3RoOyBpICs9IDEpIHtcbiAgICB0b2tlbiA9IHByZVRva2VuaXplZFtpXTtcbiAgICBpZiAodG9rZW4gJiYgdG9rZW4ubGVuZ3RoICYmIHRva2VuICE9PSB3b3JkUmVnZXhEZWxpbWl0ZXJzKSB7XG4gICAgICByZXN1bHQucHVzaCh0b2tlbi5yZXBsYWNlKHJlcGxhY2VQaHJhc2VEZWxpbWl0ZXJzLCAnJykpO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiByZXN1bHQ7XG59XG5cbi8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpuby1hbnlcbmV4cG9ydCBmdW5jdGlvbiBnZXRWYWx1ZUZyb21PYmplY3Qob2JqZWN0OiBhbnksIG9wdGlvbjogc3RyaW5nKTogc3RyaW5nIHtcbiAgaWYgKCFvcHRpb24gfHwgdHlwZW9mIG9iamVjdCAhPT0gJ29iamVjdCcpIHtcbiAgICByZXR1cm4gb2JqZWN0LnRvU3RyaW5nKCk7XG4gIH1cblxuICBpZiAob3B0aW9uLmVuZHNXaXRoKCcoKScpKSB7XG4gICAgY29uc3QgZnVuY3Rpb25OYW1lID0gb3B0aW9uLnNsaWNlKDAsIG9wdGlvbi5sZW5ndGggLSAyKTtcblxuICAgIHJldHVybiBvYmplY3RbZnVuY3Rpb25OYW1lXSgpLnRvU3RyaW5nKCk7XG4gIH1cblxuICBjb25zdCBwcm9wZXJ0aWVzOiBzdHJpbmcgPSBvcHRpb25cbiAgICAucmVwbGFjZSgvXFxbKFxcdyspXFxdL2csICcuJDEnKVxuICAgIC5yZXBsYWNlKC9eXFwuLywgJycpO1xuICBjb25zdCBwcm9wZXJ0aWVzQXJyYXk6IHN0cmluZ1tdID0gcHJvcGVydGllcy5zcGxpdCgnLicpO1xuXG4gIGZvciAoY29uc3QgcHJvcGVydHkgb2YgcHJvcGVydGllc0FycmF5KSB7XG4gICAgaWYgKHByb3BlcnR5IGluIG9iamVjdCkge1xuICAgICAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lXG4gICAgICBvYmplY3QgPSBvYmplY3RbcHJvcGVydHldO1xuICAgIH1cbiAgfVxuICBpZiAoIW9iamVjdCkge3JldHVybiAnJzsgfVxuXG4gIHJldHVybiBvYmplY3QudG9TdHJpbmcoKTtcbn1cbiJdfQ==