UNPKG

mysterium-vpn-js

Version:
36 lines (35 loc) 1.58 kB
"use strict"; /** * Copyright (c) 2020 BlockDev AG * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */ Object.defineProperty(exports, "__esModule", { value: true }); exports.parseAccessPolicyList = exports.parseAccessPolicy = void 0; const validation_1 = require("../fmt/validation"); // eslint-disable-next-line @typescript-eslint/no-explicit-any function parseAccessRule(responseData) { (0, validation_1.validateMultiple)('AccessRule', responseData, [{ name: 'type', type: 'string' }]); if (responseData.value) { (0, validation_1.validate)('AccessRule.value', responseData, { name: 'value', type: 'string' }); } return responseData; } // eslint-disable-next-line @typescript-eslint/no-explicit-any function parseAccessPolicy(responseData) { (0, validation_1.validateMultiple)('AccessPolicy', responseData, [ { name: 'id', type: 'string' }, { name: 'title', type: 'string' }, { name: 'description', type: 'string' }, { name: 'allow', type: 'array' }, ]); return Object.assign(Object.assign({}, responseData), { allow: responseData.allow.map(parseAccessRule) }); } exports.parseAccessPolicy = parseAccessPolicy; // eslint-disable-next-line @typescript-eslint/no-explicit-any function parseAccessPolicyList(responseData) { (0, validation_1.validate)('AccessPolicy[]', responseData, { name: 'entries', type: 'array' }); return responseData.entries.map(parseAccessPolicy); } exports.parseAccessPolicyList = parseAccessPolicyList;