| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253 |
- // Licensed to the Software Freedom Conservancy (SFC) under one
- // or more contributor license agreements. See the NOTICE file
- // distributed with this work for additional information
- // regarding copyright ownership. The SFC licenses this file
- // to you 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.
- class ExtensionData {
- #type
- #path
- constructor(type, path) {
- this.#type = type
- this.#path = path
- }
- static setPath(path) {
- return new ExtensionData('path', path)
- }
- static setArchivePath(path) {
- return new ExtensionData('archivePath', path)
- }
- static setBase64Encoded(value) {
- return new ExtensionData('base64', value)
- }
- asMap() {
- let toReturn = {}
- toReturn['type'] = this.#type
- if (this.#type === 'base64') {
- toReturn['value'] = this.#path
- } else {
- toReturn['path'] = this.#path
- }
- return toReturn
- }
- }
- module.exports = ExtensionData
|