UNPKG

@jbouduin/holidays-lib

Version:
39 lines (38 loc) 1.6 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.HierarchyFilter = void 0; var HierarchyFilter = /** @class */ (function () { // <editor-fold desc='Constructor & Co°'> function HierarchyFilter() { } // </editor-fold> // <editor-fold desc='IHierarchyFilter interface methods'> HierarchyFilter.prototype.filterConfigurationByHierarchy = function (configuration, hierarchy, deep) { var _this = this; var result; var pathElements = hierarchy.split('/'); var currentRoot = pathElements.shift(); if (currentRoot === configuration.hierarchy) { result = configuration.holidays; if (pathElements.length === 0) { if (deep) { configuration.subConfigurations.forEach(function (sub) { return result = result.concat(_this.filterConfigurationByHierarchy(sub, sub.hierarchy, true)); }); } } else { var subConfiguration = configuration.subConfigurations.filter(function (sub) { return sub.hierarchy === pathElements[0]; }); if (subConfiguration.length > 0) { result = result.concat(this.filterConfigurationByHierarchy(subConfiguration[0], pathElements.join('/'), deep)); } } } else { result = new Array(); } return result; }; return HierarchyFilter; }()); exports.HierarchyFilter = HierarchyFilter;