@web-atoms/core
Version:
62 lines (61 loc) • 2.05 kB
JavaScript
System.register([], function (_export, _context) {
"use strict";
var StringHelper;
_export("StringHelper", void 0);
return {
setters: [],
execute: function () {
_export("StringHelper", StringHelper = class StringHelper {
static escapeRegExp(text) {
return text.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
}
static createContainsRegExp(text) {
return new RegExp(this.escapeRegExp(text), "i");
}
static createContainsAnyWordRegExp(text) {
return new RegExp(text.split(/\s+/g).map(x => `(${this.escapeRegExp(x)})`).join("|"), "i");
}
static containsIgnoreCase(source, test) {
if (!source) {
return false;
}
if (!test) {
return true;
}
return this.createContainsRegExp(test).test(source);
}
static containsAnyWordIgnoreCase(source, test) {
if (!source) {
return false;
}
if (!test) {
return true;
}
return this.createContainsAnyWordRegExp(test).test(source);
}
static fromCamelToHyphen(input) {
return input.replace(/([a-z])([A-Z])/g, "$1-$2").toLowerCase();
}
static fromCamelToUnderscore(input) {
return input.replace(/([a-z])([A-Z])/g, "$1_$2").toLowerCase();
}
static fromCamelToPascal(input) {
return input[0].toUpperCase() + input.substr(1);
}
static fromHyphenToCamel(input) {
return input.replace(/-([a-z])/g, g => g[1].toUpperCase());
}
static fromUnderscoreToCamel(input) {
return input.replace(/\_([a-z])/g, g => g[1].toUpperCase());
}
static fromPascalToCamel(input) {
return input[0].toLowerCase() + input.substr(1);
}
static fromPascalToTitleCase(s) {
return s.replace(/([A-Z])/gm, (x, g, i) => i ? " " + x : x);
}
});
}
};
});
//# sourceMappingURL=StringHelper.js.map