UNPKG

@broadcom/endevor-bridge-for-git-for-zowe-cli

Version:

Endevor Bridge for Git plug-in for Zowe CLI

82 lines (76 loc) 2.95 kB
'use strict'; var fs = require('node:fs'); var csvParse = require('csv-parse'); var fs$1 = require('fs'); var imperative = require('@zowe/imperative'); function _interopNamespaceDefault(e) { var n = Object.create(null); if (e) { Object.keys(e).forEach(function (k) { if (k !== 'default') { var d = Object.getOwnPropertyDescriptor(e, k); Object.defineProperty(n, k, d.get ? d : { enumerable: true, get: function () { return e[k]; } }); } }); } n.default = e; return Object.freeze(n); } var fs__namespace = /*#__PURE__*/_interopNamespaceDefault(fs); /* * Copyright (c) 2026 Broadcom. All Rights Reserved. The term * "Broadcom" refers to Broadcom Inc. and/or its subsidiaries. * * This software and all information contained therein is * confidential and proprietary and shall not be duplicated, * used, disclosed, or disseminated in any way except as * authorized by the applicable license agreement, without the * express written permission of Broadcom. All authorized * reproductions must be marked with this language. * * EXCEPT AS SET FORTH IN THE APPLICABLE LICENSE AGREEMENT, TO * THE EXTENT PERMITTED BY APPLICABLE LAW, BROADCOM PROVIDES THIS * SOFTWARE WITHOUT WARRANTY OF ANY KIND, INCLUDING WITHOUT * LIMITATION, ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR * FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT WILL BROADCOM * BE LIABLE TO THE END USER OR ANY THIRD PARTY FOR ANY LOSS OR * DAMAGE, DIRECT OR INDIRECT, FROM THE USE OF THIS SOFTWARE, * INCLUDING WITHOUT LIMITATION, LOST PROFITS, BUSINESS * INTERRUPTION, GOODWILL, OR LOST DATA, EVEN IF BROADCOM IS * EXPRESSLY ADVISED OF SUCH LOSS OR DAMAGE. * */ const FILE_MODE_OWNER_READ_WRITE = 0o600; const FILE_MODE_OWNER_EXECUTE = 0o755; const writeFileToDisk = (path, data, mode) => { const options = mode !== undefined ? { encoding: "utf8", mode } : "utf8"; fs$1.writeFile(path, data, options, (err) => { if (err) { throw new imperative.ImperativeError({ msg: `${err}`, }); } }); }; const writeToDisk = (path, data) => writeFileToDisk(path, data); const writeSecretToDisk = (path, data) => writeFileToDisk(path, data, FILE_MODE_OWNER_READ_WRITE); const writeExecutableToDisk = (path, data) => writeFileToDisk(path, data, FILE_MODE_OWNER_EXECUTE); async function openCSV(filePath) { const rawRecords = []; const parser = fs__namespace.createReadStream(filePath).pipe(csvParse.parse({ columns: true, skip_empty_lines: true, trim: true, })); for await (const record of parser) { rawRecords.push(record); } return rawRecords; } exports.openCSV = openCSV; exports.writeExecutableToDisk = writeExecutableToDisk; exports.writeSecretToDisk = writeSecretToDisk; exports.writeToDisk = writeToDisk;