UNPKG

@microfocus/alm-octane-js-rest-sdk

Version:
83 lines (82 loc) 2.98 kB
"use strict"; /* * Copyright 2020-2023 Open Text. * * The only warranties for products and services of Open Text and * its affiliates and licensors (“Open Text”) are as may be set forth * in the express warranty statements accompanying such products and services. * Nothing herein should be construed as constituting an additional warranty. * Open Text shall not be liable for technical or editorial errors or * omissions contained herein. The information contained herein is subject * to change without notice. * * Except as specifically indicated otherwise, this document contains * confidential information and a valid license is required for possession, * use or copying. If this work is provided to the U.S. Government, * consistent with FAR 12.211 and 12.212, Commercial Computer Software, * Computer Software Documentation, and Technical Data for Commercial Items are * licensed to the U.S. Government under vendor's standard commercial license. * * 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. */ var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); /** @module octane/models/multiReference */ const assert_1 = __importDefault(require("assert")); const reference_1 = __importDefault(require("./reference")); /** * @class * * @param {Reference[]} refs - the references */ class MultiReference { constructor(refs) { refs.forEach((ref) => { (0, assert_1.default)(ref instanceof reference_1.default); }); this.refs = refs; } toJSON() { return { total_count: this.refs.length, data: this.refs, }; } /** * Adds a new {Reference} and returns this instance * @param ref * @returns {MultiReference} */ addReference(ref) { (0, assert_1.default)(ref instanceof reference_1.default); this.refs.push(ref); return this; } } MultiReference.parse = (vals) => { if (vals instanceof MultiReference) { return new MultiReference(vals.refs); } const refs = []; for (let i = 0, l = vals.length; i < l; i++) { const ref = reference_1.default.parse(vals[i]); if (ref) { refs.push(ref); } else { return null; } } return new MultiReference(refs); }; exports.default = MultiReference;