PHP WebShell

Текущая директория: /opt/BitGoJS/modules/bitgo/dist/test/v2/unit/coins/utxo/util

Просмотр файла: fixtures.js

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.getFixture = getFixture;
exports.shouldEqualJSON = shouldEqualJSON;
/**
 * @prettier
 */
require("should");
const fs = require("fs-extra");
const mpath = require("path");
function serializeBigInt(k, v) {
    if (typeof v === 'bigint') {
        return v.toString();
    }
    else {
        return v;
    }
}
async function getFixtureWithName(name, defaultValue, rawCoinName) {
    const path = `${__dirname}/../fixtures/${name}.json`;
    const dirname = mpath.dirname(path);
    try {
        await fs.access(dirname);
    }
    catch (e) {
        if (e.code !== 'ENOENT') {
            throw e;
        }
        await fs.mkdirp(dirname);
    }
    try {
        let textContent = await fs.readFile(path, 'utf8');
        if (rawCoinName === 'tbtcbgsig') {
            textContent = textContent.replace(/tbtcsig/g, 'tbtcbgsig');
        }
        return JSON.parse(textContent);
    }
    catch (e) {
        if (e.code === 'ENOENT') {
            await fs.writeFile(path, JSON.stringify(defaultValue, serializeBigInt, 2));
            throw new Error(`Wrote defaultValue to ${path}. Inspect output and rerun tests.`);
        }
        throw e;
    }
}
async function getFixture(coin, name, defaultValue) {
    const coinChain = coin.getChain() === 'tbtcbgsig' ? 'tbtcsig' : coin.getChain();
    return await getFixtureWithName(`${coinChain}/${name}`, defaultValue, coin.getChain());
}
/**
 * Compares obj to fixtureJSON after round-tripping obj through JSON
 * @param obj
 * @param fixtureJSON
 * @throws Error if obj and fixtureJSON are different after normalizing obj under JSON:w
 */
function shouldEqualJSON(obj, fixtureJSON) {
    JSON.parse(JSON.stringify(obj, serializeBigInt)).should.eql(fixtureJSON);
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZml4dHVyZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi90ZXN0L3YyL3VuaXQvY29pbnMvdXR4by91dGlsL2ZpeHR1cmVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBMkNBLGdDQUdDO0FBUUQsMENBRUM7QUF4REQ7O0dBRUc7QUFDSCxrQkFBZ0I7QUFDaEIsK0JBQStCO0FBQy9CLDhCQUE4QjtBQUk5QixTQUFTLGVBQWUsQ0FBQyxDQUFTLEVBQUUsQ0FBTTtJQUN4QyxJQUFJLE9BQU8sQ0FBQyxLQUFLLFFBQVEsRUFBRSxDQUFDO1FBQzFCLE9BQU8sQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ3RCLENBQUM7U0FBTSxDQUFDO1FBQ04sT0FBTyxDQUFDLENBQUM7SUFDWCxDQUFDO0FBQ0gsQ0FBQztBQUVELEtBQUssVUFBVSxrQkFBa0IsQ0FBSSxJQUFZLEVBQUUsWUFBZSxFQUFFLFdBQW1CO0lBQ3JGLE1BQU0sSUFBSSxHQUFHLEdBQUcsU0FBUyxnQkFBZ0IsSUFBSSxPQUFPLENBQUM7SUFDckQsTUFBTSxPQUFPLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNwQyxJQUFJLENBQUM7UUFDSCxNQUFNLEVBQUUsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDM0IsQ0FBQztJQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7UUFDWCxJQUFJLENBQUMsQ0FBQyxJQUFJLEtBQUssUUFBUSxFQUFFLENBQUM7WUFDeEIsTUFBTSxDQUFDLENBQUM7UUFDVixDQUFDO1FBQ0QsTUFBTSxFQUFFLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQzNCLENBQUM7SUFDRCxJQUFJLENBQUM7UUFDSCxJQUFJLFdBQVcsR0FBRyxNQUFNLEVBQUUsQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQ2xELElBQUksV0FBVyxLQUFLLFdBQVcsRUFBRSxDQUFDO1lBQ2hDLFdBQVcsR0FBRyxXQUFXLENBQUMsT0FBTyxDQUFDLFVBQVUsRUFBRSxXQUFXLENBQUMsQ0FBQztRQUM3RCxDQUFDO1FBQ0QsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ2pDLENBQUM7SUFBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1FBQ1gsSUFBSSxDQUFDLENBQUMsSUFBSSxLQUFLLFFBQVEsRUFBRSxDQUFDO1lBQ3hCLE1BQU0sRUFBRSxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxZQUFZLEVBQUUsZUFBZSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDM0UsTUFBTSxJQUFJLEtBQUssQ0FBQyx5QkFBeUIsSUFBSSxtQ0FBbUMsQ0FBQyxDQUFDO1FBQ3BGLENBQUM7UUFDRCxNQUFNLENBQUMsQ0FBQztJQUNWLENBQUM7QUFDSCxDQUFDO0FBRU0sS0FBSyxVQUFVLFVBQVUsQ0FBSSxJQUFzQixFQUFFLElBQVksRUFBRSxZQUFlO0lBQ3ZGLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxRQUFRLEVBQUUsS0FBSyxXQUFXLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ2hGLE9BQU8sTUFBTSxrQkFBa0IsQ0FBQyxHQUFHLFNBQVMsSUFBSSxJQUFJLEVBQUUsRUFBRSxZQUFZLEVBQUUsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7QUFDekYsQ0FBQztBQUVEOzs7OztHQUtHO0FBQ0gsU0FBZ0IsZUFBZSxDQUFJLEdBQU0sRUFBRSxXQUFjO0lBQ3ZELElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUUsZUFBZSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxDQUFDO0FBQzNFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBwcmV0dGllclxuICovXG5pbXBvcnQgJ3Nob3VsZCc7XG5pbXBvcnQgKiBhcyBmcyBmcm9tICdmcy1leHRyYSc7XG5pbXBvcnQgKiBhcyBtcGF0aCBmcm9tICdwYXRoJztcblxuaW1wb3J0IHsgQWJzdHJhY3RVdHhvQ29pbiB9IGZyb20gJ0BiaXRnby9hYnN0cmFjdC11dHhvJztcblxuZnVuY3Rpb24gc2VyaWFsaXplQmlnSW50KGs6IHN0cmluZywgdjogYW55KTogc3RyaW5nIHwgbnVtYmVyIHtcbiAgaWYgKHR5cGVvZiB2ID09PSAnYmlnaW50Jykge1xuICAgIHJldHVybiB2LnRvU3RyaW5nKCk7XG4gIH0gZWxzZSB7XG4gICAgcmV0dXJuIHY7XG4gIH1cbn1cblxuYXN5bmMgZnVuY3Rpb24gZ2V0Rml4dHVyZVdpdGhOYW1lPFQ+KG5hbWU6IHN0cmluZywgZGVmYXVsdFZhbHVlOiBULCByYXdDb2luTmFtZTogc3RyaW5nKTogUHJvbWlzZTxUPiB7XG4gIGNvbnN0IHBhdGggPSBgJHtfX2Rpcm5hbWV9Ly4uL2ZpeHR1cmVzLyR7bmFtZX0uanNvbmA7XG4gIGNvbnN0IGRpcm5hbWUgPSBtcGF0aC5kaXJuYW1lKHBhdGgpO1xuICB0cnkge1xuICAgIGF3YWl0IGZzLmFjY2VzcyhkaXJuYW1lKTtcbiAgfSBjYXRjaCAoZSkge1xuICAgIGlmIChlLmNvZGUgIT09ICdFTk9FTlQnKSB7XG4gICAgICB0aHJvdyBlO1xuICAgIH1cbiAgICBhd2FpdCBmcy5ta2RpcnAoZGlybmFtZSk7XG4gIH1cbiAgdHJ5IHtcbiAgICBsZXQgdGV4dENvbnRlbnQgPSBhd2FpdCBmcy5yZWFkRmlsZShwYXRoLCAndXRmOCcpO1xuICAgIGlmIChyYXdDb2luTmFtZSA9PT0gJ3RidGNiZ3NpZycpIHtcbiAgICAgIHRleHRDb250ZW50ID0gdGV4dENvbnRlbnQucmVwbGFjZSgvdGJ0Y3NpZy9nLCAndGJ0Y2Jnc2lnJyk7XG4gICAgfVxuICAgIHJldHVybiBKU09OLnBhcnNlKHRleHRDb250ZW50KTtcbiAgfSBjYXRjaCAoZSkge1xuICAgIGlmIChlLmNvZGUgPT09ICdFTk9FTlQnKSB7XG4gICAgICBhd2FpdCBmcy53cml0ZUZpbGUocGF0aCwgSlNPTi5zdHJpbmdpZnkoZGVmYXVsdFZhbHVlLCBzZXJpYWxpemVCaWdJbnQsIDIpKTtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgV3JvdGUgZGVmYXVsdFZhbHVlIHRvICR7cGF0aH0uIEluc3BlY3Qgb3V0cHV0IGFuZCByZXJ1biB0ZXN0cy5gKTtcbiAgICB9XG4gICAgdGhyb3cgZTtcbiAgfVxufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZ2V0Rml4dHVyZTxUPihjb2luOiBBYnN0cmFjdFV0eG9Db2luLCBuYW1lOiBzdHJpbmcsIGRlZmF1bHRWYWx1ZTogVCk6IFByb21pc2U8VD4ge1xuICBjb25zdCBjb2luQ2hhaW4gPSBjb2luLmdldENoYWluKCkgPT09ICd0YnRjYmdzaWcnID8gJ3RidGNzaWcnIDogY29pbi5nZXRDaGFpbigpO1xuICByZXR1cm4gYXdhaXQgZ2V0Rml4dHVyZVdpdGhOYW1lKGAke2NvaW5DaGFpbn0vJHtuYW1lfWAsIGRlZmF1bHRWYWx1ZSwgY29pbi5nZXRDaGFpbigpKTtcbn1cblxuLyoqXG4gKiBDb21wYXJlcyBvYmogdG8gZml4dHVyZUpTT04gYWZ0ZXIgcm91bmQtdHJpcHBpbmcgb2JqIHRocm91Z2ggSlNPTlxuICogQHBhcmFtIG9ialxuICogQHBhcmFtIGZpeHR1cmVKU09OXG4gKiBAdGhyb3dzIEVycm9yIGlmIG9iaiBhbmQgZml4dHVyZUpTT04gYXJlIGRpZmZlcmVudCBhZnRlciBub3JtYWxpemluZyBvYmogdW5kZXIgSlNPTjp3XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBzaG91bGRFcXVhbEpTT048VD4ob2JqOiBULCBmaXh0dXJlSlNPTjogVCk6IHZvaWQge1xuICBKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KG9iaiwgc2VyaWFsaXplQmlnSW50KSkuc2hvdWxkLmVxbChmaXh0dXJlSlNPTik7XG59XG4iXX0=

Выполнить команду


Для локальной разработки. Не используйте в интернете!