@hxui/angular
Version:
* * *
97 lines • 8.86 kB
JavaScript
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,missingReturn,uselessCode} checked by tsc
*/
import * as tslib_1 from "tslib";
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) {
if (wordRegexDelimiters === void 0) { wordRegexDelimiters = ' '; }
if (phraseRegexDelimiters === void 0) { phraseRegexDelimiters = ''; }
/* tslint:enable */
/** @type {?} */
var regexStr = '(?:[' + phraseRegexDelimiters + '])([^' + phraseRegexDelimiters + ']+)(?:[' + phraseRegexDelimiters + '])|([^' + wordRegexDelimiters + ']+)';
/** @type {?} */
var preTokenized = str.split(new RegExp(regexStr, 'g'));
/** @type {?} */
var result = [];
/** @type {?} */
var preTokenizedLength = preTokenized.length;
/** @type {?} */
var token;
/** @type {?} */
var replacePhraseDelimiters = new RegExp('[' + phraseRegexDelimiters + ']+', 'g');
for (var 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) {
var e_1, _a;
if (!option || typeof object !== 'object') {
return object.toString();
}
if (option.endsWith('()')) {
/** @type {?} */
var functionName = option.slice(0, option.length - 2);
return object[functionName]().toString();
}
/** @type {?} */
var properties = option.replace(/\[(\w+)\]/g, '.$1')
.replace(/^\./, '');
/** @type {?} */
var propertiesArray = properties.split('.');
try {
for (var propertiesArray_1 = tslib_1.__values(propertiesArray), propertiesArray_1_1 = propertiesArray_1.next(); !propertiesArray_1_1.done; propertiesArray_1_1 = propertiesArray_1.next()) {
var property = propertiesArray_1_1.value;
if (property in object) {
object = object[property];
}
}
}
catch (e_1_1) { e_1 = { error: e_1_1 }; }
finally {
try {
if (propertiesArray_1_1 && !propertiesArray_1_1.done && (_a = propertiesArray_1.return)) _a.call(propertiesArray_1);
}
finally { if (e_1) throw e_1.error; }
}
return object.toString();
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZWFoZWFkLXV0aWxzLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGh4dWkvYW5ndWxhci8iLCJzb3VyY2VzIjpbImxpYi90eXBlYWhlYWQvdHlwZWFoZWFkLXV0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGFBQWEsQ0FBQzs7Ozs7QUFFdkMsTUFBTSxVQUFVLFFBQVEsQ0FBQyxHQUFXO0lBQ2xDLElBQUksQ0FBQyxHQUFHLEVBQUU7UUFDUixPQUFPLEVBQUUsQ0FBQztLQUNYO0lBQ0QsT0FBTyxHQUFHLENBQUMsT0FBTyxDQUFDLG9CQUFvQixFQUFFLFVBQVUsQ0FBUztRQUMxRCxPQUFPLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDMUIsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDOzs7OztBQUVELE1BQU0sVUFBVSxZQUFZLENBQUMsYUFBcUI7SUFDaEQsdUVBQXVFO0lBQ3ZFLHdFQUF3RTtJQUN4RSw0QkFBNEI7SUFDNUIsT0FBTyxhQUFhLENBQUMsT0FBTyxDQUFDLHdCQUF3QixFQUFFLE1BQU0sQ0FBQyxDQUFDO0FBQ2pFLENBQUM7Ozs7Ozs7O0FBR0QsTUFBTSxVQUFVLFFBQVEsQ0FBQyxHQUFXLEVBQUUsbUJBQXlCLEVBQUUscUJBQTBCO0lBQXJELG9DQUFBLEVBQUEseUJBQXlCO0lBQUUsc0NBQUEsRUFBQSwwQkFBMEI7OztRQUVuRixRQUFRLEdBQVcsTUFBTSxHQUFHLHFCQUFxQixHQUFHLE9BQU8sR0FBRyxxQkFBcUIsR0FBRyxTQUFTLEdBQUcscUJBQXFCLEdBQUcsUUFBUSxHQUFHLG1CQUFtQixHQUFHLEtBQUs7O1FBQ2hLLFlBQVksR0FBYSxHQUFHLENBQUMsS0FBSyxDQUFDLElBQUksTUFBTSxDQUFDLFFBQVEsRUFBRSxHQUFHLENBQUMsQ0FBQzs7UUFDN0QsTUFBTSxHQUFhLEVBQUU7O1FBQ3JCLGtCQUFrQixHQUFXLFlBQVksQ0FBQyxNQUFNOztRQUNsRCxLQUFhOztRQUNYLHVCQUF1QixHQUFHLElBQUksTUFBTSxDQUFDLEdBQUcsR0FBRyxxQkFBcUIsR0FBRyxJQUFJLEVBQUUsR0FBRyxDQUFDO0lBRW5GLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxrQkFBa0IsRUFBRSxDQUFDLElBQUksQ0FBQyxFQUFFO1FBQzlDLEtBQUssR0FBRyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDeEIsSUFBSSxLQUFLLElBQUksS0FBSyxDQUFDLE1BQU0sSUFBSSxLQUFLLEtBQUssbUJBQW1CLEVBQUU7WUFDMUQsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLHVCQUF1QixFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUM7U0FDekQ7S0FDRjtJQUVELE9BQU8sTUFBTSxDQUFDO0FBQ2hCLENBQUM7Ozs7OztBQUVELE1BQU0sVUFBVSxrQkFBa0IsQ0FBQyxNQUFXLEVBQUUsTUFBYzs7SUFDNUQsSUFBSSxDQUFDLE1BQU0sSUFBSSxPQUFPLE1BQU0sS0FBSyxRQUFRLEVBQUU7UUFDekMsT0FBTyxNQUFNLENBQUMsUUFBUSxFQUFFLENBQUM7S0FDMUI7SUFFRCxJQUFJLE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEVBQUU7O1lBQ25CLFlBQVksR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxNQUFNLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztRQUN2RCxPQUFPLE1BQU0sQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDLFFBQVEsRUFBRSxDQUFDO0tBQzFDOztRQUVLLFVBQVUsR0FBVyxNQUFNLENBQUMsT0FBTyxDQUFDLFlBQVksRUFBRSxLQUFLLENBQUM7U0FDM0QsT0FBTyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUM7O1FBQ2YsZUFBZSxHQUFhLFVBQVUsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDOztRQUV2RCxLQUF1QixJQUFBLG9CQUFBLGlCQUFBLGVBQWUsQ0FBQSxnREFBQSw2RUFBRTtZQUFuQyxJQUFNLFFBQVEsNEJBQUE7WUFDakIsSUFBSSxRQUFRLElBQUksTUFBTSxFQUFFO2dCQUN0QixNQUFNLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO2FBQzNCO1NBQ0Y7Ozs7Ozs7OztJQUNELE9BQU8sTUFBTSxDQUFDLFFBQVEsRUFBRSxDQUFDO0FBQzNCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBsYXRpbk1hcCB9IGZyb20gJy4vbGF0aW4tbWFwJztcclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBsYXRpbml6ZShzdHI6IHN0cmluZyk6IHN0cmluZyB7XHJcbiAgaWYgKCFzdHIpIHtcclxuICAgIHJldHVybiAnJztcclxuICB9XHJcbiAgcmV0dXJuIHN0ci5yZXBsYWNlKC9bXkEtWmEtejAtOVxcW1xcXSBdL2csIGZ1bmN0aW9uIChhOiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIGxhdGluTWFwW2FdIHx8IGE7XHJcbiAgfSk7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBlc2NhcGVSZWdleHAocXVlcnlUb0VzY2FwZTogc3RyaW5nKTogc3RyaW5nIHtcclxuICAvLyBSZWdleDogY2FwdHVyZSB0aGUgd2hvbGUgcXVlcnkgc3RyaW5nIGFuZCByZXBsYWNlIGl0IHdpdGggdGhlIHN0cmluZ1xyXG4gIC8vIHRoYXQgd2lsbCBiZSB1c2VkIHRvIG1hdGNoIHRoZSByZXN1bHRzLCBmb3IgZXhhbXBsZSBpZiB0aGUgY2FwdHVyZSBpc1xyXG4gIC8vICdhJyB0aGUgcmVzdWx0IHdpbGwgYmUgXFxhXHJcbiAgcmV0dXJuIHF1ZXJ5VG9Fc2NhcGUucmVwbGFjZSgvKFsuPyorXiRbXFxdXFxcXCgpe318LV0pL2csICdcXFxcJDEnKTtcclxufVxyXG5cclxuLyogdHNsaW50OmRpc2FibGUgKi9cclxuZXhwb3J0IGZ1bmN0aW9uIHRva2VuaXplKHN0cjogc3RyaW5nLCB3b3JkUmVnZXhEZWxpbWl0ZXJzID0gJyAnLCBwaHJhc2VSZWdleERlbGltaXRlcnMgPSAnJyk6IEFycmF5PHN0cmluZz4ge1xyXG4gIC8qIHRzbGludDplbmFibGUgKi9cclxuICBjb25zdCByZWdleFN0cjogc3RyaW5nID0gJyg/OlsnICsgcGhyYXNlUmVnZXhEZWxpbWl0ZXJzICsgJ10pKFteJyArIHBocmFzZVJlZ2V4RGVsaW1pdGVycyArICddKykoPzpbJyArIHBocmFzZVJlZ2V4RGVsaW1pdGVycyArICddKXwoW14nICsgd29yZFJlZ2V4RGVsaW1pdGVycyArICddKyknO1xyXG4gIGNvbnN0IHByZVRva2VuaXplZDogc3RyaW5nW10gPSBzdHIuc3BsaXQobmV3IFJlZ0V4cChyZWdleFN0ciwgJ2cnKSk7XHJcbiAgY29uc3QgcmVzdWx0OiBzdHJpbmdbXSA9IFtdO1xyXG4gIGNvbnN0IHByZVRva2VuaXplZExlbmd0aDogbnVtYmVyID0gcHJlVG9rZW5pemVkLmxlbmd0aDtcclxuICBsZXQgdG9rZW46IHN0cmluZztcclxuICBjb25zdCByZXBsYWNlUGhyYXNlRGVsaW1pdGVycyA9IG5ldyBSZWdFeHAoJ1snICsgcGhyYXNlUmVnZXhEZWxpbWl0ZXJzICsgJ10rJywgJ2cnKTtcclxuXHJcbiAgZm9yIChsZXQgaSA9IDA7IGkgPCBwcmVUb2tlbml6ZWRMZW5ndGg7IGkgKz0gMSkge1xyXG4gICAgdG9rZW4gPSBwcmVUb2tlbml6ZWRbaV07XHJcbiAgICBpZiAodG9rZW4gJiYgdG9rZW4ubGVuZ3RoICYmIHRva2VuICE9PSB3b3JkUmVnZXhEZWxpbWl0ZXJzKSB7XHJcbiAgICAgIHJlc3VsdC5wdXNoKHRva2VuLnJlcGxhY2UocmVwbGFjZVBocmFzZURlbGltaXRlcnMsICcnKSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICByZXR1cm4gcmVzdWx0O1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gZ2V0VmFsdWVGcm9tT2JqZWN0KG9iamVjdDogYW55LCBvcHRpb246IHN0cmluZyk6IHN0cmluZyB7XHJcbiAgaWYgKCFvcHRpb24gfHwgdHlwZW9mIG9iamVjdCAhPT0gJ29iamVjdCcpIHtcclxuICAgIHJldHVybiBvYmplY3QudG9TdHJpbmcoKTtcclxuICB9XHJcblxyXG4gIGlmIChvcHRpb24uZW5kc1dpdGgoJygpJykpIHtcclxuICAgIGNvbnN0IGZ1bmN0aW9uTmFtZSA9IG9wdGlvbi5zbGljZSgwLCBvcHRpb24ubGVuZ3RoIC0gMik7XHJcbiAgICByZXR1cm4gb2JqZWN0W2Z1bmN0aW9uTmFtZV0oKS50b1N0cmluZygpO1xyXG4gIH1cclxuXHJcbiAgY29uc3QgcHJvcGVydGllczogc3RyaW5nID0gb3B0aW9uLnJlcGxhY2UoL1xcWyhcXHcrKVxcXS9nLCAnLiQxJylcclxuICAgIC5yZXBsYWNlKC9eXFwuLywgJycpO1xyXG4gIGNvbnN0IHByb3BlcnRpZXNBcnJheTogc3RyaW5nW10gPSBwcm9wZXJ0aWVzLnNwbGl0KCcuJyk7XHJcblxyXG4gIGZvciAoY29uc3QgcHJvcGVydHkgb2YgcHJvcGVydGllc0FycmF5KSB7XHJcbiAgICBpZiAocHJvcGVydHkgaW4gb2JqZWN0KSB7XHJcbiAgICAgIG9iamVjdCA9IG9iamVjdFtwcm9wZXJ0eV07XHJcbiAgICB9XHJcbiAgfVxyXG4gIHJldHVybiBvYmplY3QudG9TdHJpbmcoKTtcclxufVxyXG4iXX0=