@engie-group/fluid-design-system-angular
Version:
Fluid Design System Angular
28 lines • 4.09 kB
JavaScript
// Ignore https://angular.io/guide/angular-compiler-options#strictmetadataemit
// @dynamic
export class Utils {
static { this.MAX_UID = 1000000; }
static isUndefinedOrNull(value) {
return typeof value === 'undefined' || value === null;
}
static normalizeString(text) {
return text.normalize('NFD').replace(/[\u0300-\u036f]/g, '');
}
static normalizeAndSearchInText(text, search) {
if (Utils.isUndefinedOrNull(text) || Utils.isUndefinedOrNull(search)) {
return false;
}
const normalizedText = Utils.normalizeString(text);
let normalizedSearch = Utils.normalizeString(search)?.replace(/\(|\)|\\/gi, '');
const regExp = new RegExp(normalizedSearch, 'gi');
return normalizedText.search(regExp) !== -1;
}
static getUID(prefix) {
do {
// eslint-disable-next-line no-bitwise
prefix += ~~(Math.random() * Utils.MAX_UID); // "~~" acts like a faster Math.floor() here
} while (document.getElementById(prefix));
return prefix;
}
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMudXRpbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy91dGlscy91dGlscy51dGlsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLDhFQUE4RTtBQUM5RSxXQUFXO0FBQ1gsTUFBTSxPQUFPLEtBQUs7YUFDVCxZQUFPLEdBQUcsT0FBTyxDQUFDO0lBRWxCLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxLQUFVO1FBQ3hDLE9BQU8sT0FBTyxLQUFLLEtBQUssV0FBVyxJQUFJLEtBQUssS0FBSyxJQUFJLENBQUM7SUFDeEQsQ0FBQztJQUVNLE1BQU0sQ0FBQyxlQUFlLENBQUMsSUFBWTtRQUN4QyxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUMsT0FBTyxDQUFDLGtCQUFrQixFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQy9ELENBQUM7SUFFTSxNQUFNLENBQUMsd0JBQXdCLENBQUMsSUFBWSxFQUFFLE1BQWM7UUFDakUsSUFBRyxLQUFLLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLElBQUksS0FBSyxDQUFDLGlCQUFpQixDQUFDLE1BQU0sQ0FBQyxFQUFFO1lBQ25FLE9BQU8sS0FBSyxDQUFDO1NBQ2Q7UUFDRCxNQUFNLGNBQWMsR0FBRyxLQUFLLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ25ELElBQUksZ0JBQWdCLEdBQUcsS0FBSyxDQUFDLGVBQWUsQ0FBQyxNQUFNLENBQUMsRUFBRSxPQUFPLENBQUMsWUFBWSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ2hGLE1BQU0sTUFBTSxHQUFHLElBQUksTUFBTSxDQUFDLGdCQUFnQixFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ2xELE9BQU8sY0FBYyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUM5QyxDQUFDO0lBRU0sTUFBTSxDQUFDLE1BQU0sQ0FBQyxNQUFjO1FBQ2pDLEdBQUc7WUFDRCxzQ0FBc0M7WUFDdEMsTUFBTSxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyw0Q0FBNEM7U0FDMUYsUUFBUSxRQUFRLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxFQUFFO1FBQzFDLE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBJZ25vcmUgaHR0cHM6Ly9hbmd1bGFyLmlvL2d1aWRlL2FuZ3VsYXItY29tcGlsZXItb3B0aW9ucyNzdHJpY3RtZXRhZGF0YWVtaXRcbi8vIEBkeW5hbWljXG5leHBvcnQgY2xhc3MgVXRpbHMge1xuICBzdGF0aWMgTUFYX1VJRCA9IDEwMDAwMDA7XG5cbiAgcHVibGljIHN0YXRpYyBpc1VuZGVmaW5lZE9yTnVsbCh2YWx1ZTogYW55KTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHR5cGVvZiB2YWx1ZSA9PT0gJ3VuZGVmaW5lZCcgfHwgdmFsdWUgPT09IG51bGw7XG4gIH1cblxuICBwdWJsaWMgc3RhdGljIG5vcm1hbGl6ZVN0cmluZyh0ZXh0OiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGV4dC5ub3JtYWxpemUoJ05GRCcpLnJlcGxhY2UoL1tcXHUwMzAwLVxcdTAzNmZdL2csICcnKTtcbiAgfVxuXG4gIHB1YmxpYyBzdGF0aWMgbm9ybWFsaXplQW5kU2VhcmNoSW5UZXh0KHRleHQ6IHN0cmluZywgc2VhcmNoOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICBpZihVdGlscy5pc1VuZGVmaW5lZE9yTnVsbCh0ZXh0KSB8fCBVdGlscy5pc1VuZGVmaW5lZE9yTnVsbChzZWFyY2gpKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIGNvbnN0IG5vcm1hbGl6ZWRUZXh0ID0gVXRpbHMubm9ybWFsaXplU3RyaW5nKHRleHQpO1xuICAgIGxldCBub3JtYWxpemVkU2VhcmNoID0gVXRpbHMubm9ybWFsaXplU3RyaW5nKHNlYXJjaCk/LnJlcGxhY2UoL1xcKHxcXCl8XFxcXC9naSwgJycpO1xuICAgIGNvbnN0IHJlZ0V4cCA9IG5ldyBSZWdFeHAobm9ybWFsaXplZFNlYXJjaCwgJ2dpJyk7XG4gICAgcmV0dXJuIG5vcm1hbGl6ZWRUZXh0LnNlYXJjaChyZWdFeHApICE9PSAtMTtcbiAgfVxuXG4gIHB1YmxpYyBzdGF0aWMgZ2V0VUlEKHByZWZpeDogc3RyaW5nKTogc3RyaW5nIHtcbiAgICBkbyB7XG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tYml0d2lzZVxuICAgICAgcHJlZml4ICs9IH5+KE1hdGgucmFuZG9tKCkgKiBVdGlscy5NQVhfVUlEKTsgLy8gXCJ+flwiIGFjdHMgbGlrZSBhIGZhc3RlciBNYXRoLmZsb29yKCkgaGVyZVxuICAgIH0gd2hpbGUgKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKHByZWZpeCkpO1xuICAgIHJldHVybiBwcmVmaXg7XG4gIH1cbn1cbiJdfQ==