UNPKG

@intuitionrobotics/ts-common

Version:
35 lines 1.48 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.PermissionCategory = void 0; /* * ts-common is the basic building blocks of our typescript projects * * Copyright (C) 2020 Intuition Robotics * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ const index_1 = require("../index"); class PermissionCategory { constructor(key, permissionsEnum, defaultValue) { this.key = key; this.permissionsEnum = permissionsEnum; this.defaultValue = defaultValue; const _levels = Object.keys(permissionsEnum).filter(value => isNaN(parseInt(value))); this.levels = (0, index_1.sortArray)(_levels, (_key) => permissionsEnum[_key]).reverse(); } getClosestMatch(permission) { return (0, index_1.deepClone)(this.levels).reverse().find(((level) => this.permissionsEnum[level] <= permission)); } } exports.PermissionCategory = PermissionCategory; //# sourceMappingURL=permission-group.js.map