UNPKG

@hxui/angular

Version:

* * *

83 lines 8.07 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingReturn,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, 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 * @return {?} */ export function tokenize(str, wordRegexDelimiters = ' ', phraseRegexDelimiters = '') { /* tslint:enable */ /** @type {?} */ const regexStr = '(?:[' + phraseRegexDelimiters + '])([^' + phraseRegexDelimiters + ']+)(?:[' + phraseRegexDelimiters + '])|([^' + wordRegexDelimiters + ']+)'; /** @type {?} */ const preTokenized = str.split(new RegExp(regexStr, 'g')); /** @type {?} */ const result = []; /** @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; } /** * @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) { object = object[property]; } } return object.toString(); } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZWFoZWFkLXV0aWxzLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGh4dWkvYW5ndWxhci8iLCJzb3VyY2VzIjpbImxpYi90eXBlYWhlYWQvdHlwZWFoZWFkLXV0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sYUFBYSxDQUFDOzs7OztBQUV2QyxNQUFNLFVBQVUsUUFBUSxDQUFDLEdBQVc7SUFDbEMsSUFBSSxDQUFDLEdBQUcsRUFBRTtRQUNSLE9BQU8sRUFBRSxDQUFDO0tBQ1g7SUFDRCxPQUFPLEdBQUcsQ0FBQyxPQUFPLENBQUMsb0JBQW9CLEVBQUUsVUFBVSxDQUFTO1FBQzFELE9BQU8sUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUMxQixDQUFDLENBQUMsQ0FBQztBQUNMLENBQUM7Ozs7O0FBRUQsTUFBTSxVQUFVLFlBQVksQ0FBQyxhQUFxQjtJQUNoRCx1RUFBdUU7SUFDdkUsd0VBQXdFO0lBQ3hFLDRCQUE0QjtJQUM1QixPQUFPLGFBQWEsQ0FBQyxPQUFPLENBQUMsd0JBQXdCLEVBQUUsTUFBTSxDQUFDLENBQUM7QUFDakUsQ0FBQzs7Ozs7Ozs7QUFHRCxNQUFNLFVBQVUsUUFBUSxDQUFDLEdBQVcsRUFBRSxtQkFBbUIsR0FBRyxHQUFHLEVBQUUscUJBQXFCLEdBQUcsRUFBRTs7O1VBRW5GLFFBQVEsR0FBVyxNQUFNLEdBQUcscUJBQXFCLEdBQUcsT0FBTyxHQUFHLHFCQUFxQixHQUFHLFNBQVMsR0FBRyxxQkFBcUIsR0FBRyxRQUFRLEdBQUcsbUJBQW1CLEdBQUcsS0FBSzs7VUFDaEssWUFBWSxHQUFhLEdBQUcsQ0FBQyxLQUFLLENBQUMsSUFBSSxNQUFNLENBQUMsUUFBUSxFQUFFLEdBQUcsQ0FBQyxDQUFDOztVQUM3RCxNQUFNLEdBQWEsRUFBRTs7VUFDckIsa0JBQWtCLEdBQVcsWUFBWSxDQUFDLE1BQU07O1FBQ2xELEtBQWE7O1VBQ1gsdUJBQXVCLEdBQUcsSUFBSSxNQUFNLENBQUMsR0FBRyxHQUFHLHFCQUFxQixHQUFHLElBQUksRUFBRSxHQUFHLENBQUM7SUFFbkYsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLGtCQUFrQixFQUFFLENBQUMsSUFBSSxDQUFDLEVBQUU7UUFDOUMsS0FBSyxHQUFHLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN4QixJQUFJLEtBQUssSUFBSSxLQUFLLENBQUMsTUFBTSxJQUFJLEtBQUssS0FBSyxtQkFBbUIsRUFBRTtZQUMxRCxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsdUJBQXVCLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQztTQUN6RDtLQUNGO0lBRUQsT0FBTyxNQUFNLENBQUM7QUFDaEIsQ0FBQzs7Ozs7O0FBRUQsTUFBTSxVQUFVLGtCQUFrQixDQUFDLE1BQVcsRUFBRSxNQUFjO0lBQzVELElBQUksQ0FBQyxNQUFNLElBQUksT0FBTyxNQUFNLEtBQUssUUFBUSxFQUFFO1FBQ3pDLE9BQU8sTUFBTSxDQUFDLFFBQVEsRUFBRSxDQUFDO0tBQzFCO0lBRUQsSUFBSSxNQUFNLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxFQUFFOztjQUNuQixZQUFZLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsTUFBTSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7UUFDdkQsT0FBTyxNQUFNLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQyxRQUFRLEVBQUUsQ0FBQztLQUMxQzs7VUFFSyxVQUFVLEdBQVcsTUFBTSxDQUFDLE9BQU8sQ0FBQyxZQUFZLEVBQUUsS0FBSyxDQUFDO1NBQzNELE9BQU8sQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDOztVQUNmLGVBQWUsR0FBYSxVQUFVLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQztJQUV2RCxLQUFLLE1BQU0sUUFBUSxJQUFJLGVBQWUsRUFBRTtRQUN0QyxJQUFJLFFBQVEsSUFBSSxNQUFNLEVBQUU7WUFDdEIsTUFBTSxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztTQUMzQjtLQUNGO0lBQ0QsT0FBTyxNQUFNLENBQUMsUUFBUSxFQUFFLENBQUM7QUFDM0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGxhdGluTWFwIH0gZnJvbSAnLi9sYXRpbi1tYXAnO1xyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGxhdGluaXplKHN0cjogc3RyaW5nKTogc3RyaW5nIHtcclxuICBpZiAoIXN0cikge1xyXG4gICAgcmV0dXJuICcnO1xyXG4gIH1cclxuICByZXR1cm4gc3RyLnJlcGxhY2UoL1teQS1aYS16MC05XFxbXFxdIF0vZywgZnVuY3Rpb24gKGE6IHN0cmluZyk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gbGF0aW5NYXBbYV0gfHwgYTtcclxuICB9KTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGVzY2FwZVJlZ2V4cChxdWVyeVRvRXNjYXBlOiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gIC8vIFJlZ2V4OiBjYXB0dXJlIHRoZSB3aG9sZSBxdWVyeSBzdHJpbmcgYW5kIHJlcGxhY2UgaXQgd2l0aCB0aGUgc3RyaW5nXHJcbiAgLy8gdGhhdCB3aWxsIGJlIHVzZWQgdG8gbWF0Y2ggdGhlIHJlc3VsdHMsIGZvciBleGFtcGxlIGlmIHRoZSBjYXB0dXJlIGlzXHJcbiAgLy8gJ2EnIHRoZSByZXN1bHQgd2lsbCBiZSBcXGFcclxuICByZXR1cm4gcXVlcnlUb0VzY2FwZS5yZXBsYWNlKC8oWy4/KiteJFtcXF1cXFxcKCl7fXwtXSkvZywgJ1xcXFwkMScpO1xyXG59XHJcblxyXG4vKiB0c2xpbnQ6ZGlzYWJsZSAqL1xyXG5leHBvcnQgZnVuY3Rpb24gdG9rZW5pemUoc3RyOiBzdHJpbmcsIHdvcmRSZWdleERlbGltaXRlcnMgPSAnICcsIHBocmFzZVJlZ2V4RGVsaW1pdGVycyA9ICcnKTogQXJyYXk8c3RyaW5nPiB7XHJcbiAgLyogdHNsaW50OmVuYWJsZSAqL1xyXG4gIGNvbnN0IHJlZ2V4U3RyOiBzdHJpbmcgPSAnKD86WycgKyBwaHJhc2VSZWdleERlbGltaXRlcnMgKyAnXSkoW14nICsgcGhyYXNlUmVnZXhEZWxpbWl0ZXJzICsgJ10rKSg/OlsnICsgcGhyYXNlUmVnZXhEZWxpbWl0ZXJzICsgJ10pfChbXicgKyB3b3JkUmVnZXhEZWxpbWl0ZXJzICsgJ10rKSc7XHJcbiAgY29uc3QgcHJlVG9rZW5pemVkOiBzdHJpbmdbXSA9IHN0ci5zcGxpdChuZXcgUmVnRXhwKHJlZ2V4U3RyLCAnZycpKTtcclxuICBjb25zdCByZXN1bHQ6IHN0cmluZ1tdID0gW107XHJcbiAgY29uc3QgcHJlVG9rZW5pemVkTGVuZ3RoOiBudW1iZXIgPSBwcmVUb2tlbml6ZWQubGVuZ3RoO1xyXG4gIGxldCB0b2tlbjogc3RyaW5nO1xyXG4gIGNvbnN0IHJlcGxhY2VQaHJhc2VEZWxpbWl0ZXJzID0gbmV3IFJlZ0V4cCgnWycgKyBwaHJhc2VSZWdleERlbGltaXRlcnMgKyAnXSsnLCAnZycpO1xyXG5cclxuICBmb3IgKGxldCBpID0gMDsgaSA8IHByZVRva2VuaXplZExlbmd0aDsgaSArPSAxKSB7XHJcbiAgICB0b2tlbiA9IHByZVRva2VuaXplZFtpXTtcclxuICAgIGlmICh0b2tlbiAmJiB0b2tlbi5sZW5ndGggJiYgdG9rZW4gIT09IHdvcmRSZWdleERlbGltaXRlcnMpIHtcclxuICAgICAgcmVzdWx0LnB1c2godG9rZW4ucmVwbGFjZShyZXBsYWNlUGhyYXNlRGVsaW1pdGVycywgJycpKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHJldHVybiByZXN1bHQ7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBnZXRWYWx1ZUZyb21PYmplY3Qob2JqZWN0OiBhbnksIG9wdGlvbjogc3RyaW5nKTogc3RyaW5nIHtcclxuICBpZiAoIW9wdGlvbiB8fCB0eXBlb2Ygb2JqZWN0ICE9PSAnb2JqZWN0Jykge1xyXG4gICAgcmV0dXJuIG9iamVjdC50b1N0cmluZygpO1xyXG4gIH1cclxuXHJcbiAgaWYgKG9wdGlvbi5lbmRzV2l0aCgnKCknKSkge1xyXG4gICAgY29uc3QgZnVuY3Rpb25OYW1lID0gb3B0aW9uLnNsaWNlKDAsIG9wdGlvbi5sZW5ndGggLSAyKTtcclxuICAgIHJldHVybiBvYmplY3RbZnVuY3Rpb25OYW1lXSgpLnRvU3RyaW5nKCk7XHJcbiAgfVxyXG5cclxuICBjb25zdCBwcm9wZXJ0aWVzOiBzdHJpbmcgPSBvcHRpb24ucmVwbGFjZSgvXFxbKFxcdyspXFxdL2csICcuJDEnKVxyXG4gICAgLnJlcGxhY2UoL15cXC4vLCAnJyk7XHJcbiAgY29uc3QgcHJvcGVydGllc0FycmF5OiBzdHJpbmdbXSA9IHByb3BlcnRpZXMuc3BsaXQoJy4nKTtcclxuXHJcbiAgZm9yIChjb25zdCBwcm9wZXJ0eSBvZiBwcm9wZXJ0aWVzQXJyYXkpIHtcclxuICAgIGlmIChwcm9wZXJ0eSBpbiBvYmplY3QpIHtcclxuICAgICAgb2JqZWN0ID0gb2JqZWN0W3Byb3BlcnR5XTtcclxuICAgIH1cclxuICB9XHJcbiAgcmV0dXJuIG9iamVjdC50b1N0cmluZygpO1xyXG59XHJcbiJdfQ==