PHP WebShell
Текущая директория: /opt/BitGoJS/modules/sdk-core/dist/src/bitgo/utils
Просмотр файла: decode.js
"use strict";
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
var desc = Object.getOwnPropertyDescriptor(m, k);
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
desc = { enumerable: true, get: function() { return m[k]; } };
}
Object.defineProperty(o, k2, desc);
}) : (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
o[k2] = m[k];
}));
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
Object.defineProperty(o, "default", { enumerable: true, value: v });
}) : function(o, v) {
o["default"] = v;
});
var __importStar = (this && this.__importStar) || (function () {
var ownKeys = function(o) {
ownKeys = Object.getOwnPropertyNames || function (o) {
var ar = [];
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
return ar;
};
return ownKeys(o);
};
return function (mod) {
if (mod && mod.__esModule) return mod;
var result = {};
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
__setModuleDefault(result, mod);
return result;
};
})();
Object.defineProperty(exports, "__esModule", { value: true });
exports.validationErrors = void 0;
exports.decode = decode;
exports.decodeOrElse = decodeOrElse;
const function_1 = require("fp-ts/function");
const E = __importStar(require("fp-ts/Either"));
const Json = __importStar(require("fp-ts/Json"));
const O = __importStar(require("fp-ts/Option"));
const NEA = __importStar(require("fp-ts/ReadonlyNonEmptyArray"));
/**
* Format an `Errors` object as a human-readable `string`. See `decode` in `decode.ts` for an example.
* Inspired by
* https://github.com/mmkal/ts/blob/94a9ba8f2931c9c91122d00b0bf1bd21b2be05cd/packages/io-ts-extra/src/reporters.ts#L11.
*/
const validationErrors = (typeAlias) => (errors) => {
return errors
.map((error) => (0, function_1.pipe)(NEA.fromReadonlyArray(error.context), O.map((context) => {
const name = typeAlias || NEA.head(context).type.name;
const lastType = NEA.last(context).type.name;
const path = name + error.context.map((c) => c.key).join('.');
return (0, function_1.pipe)(Json.stringify(error.value), E.getOrElse(() => error.value), (value) => `Invalid value '${value}' supplied to ${path}, expected ${lastType}.`);
}), O.getOrElse(() => `Unable to decode ${typeAlias}, but no error reported`)))
.join('\n');
};
exports.validationErrors = validationErrors;
function decode(codecName, codec, u) {
return (0, function_1.pipe)(codec.decode(u), E.mapLeft((errors) => (0, exports.validationErrors)(codecName)(errors)));
}
/**
* Decodes input `value` with `codec`. When decoding fails, calls the `orElse` function with the error message from
* `validationErrors`.
*/
function decodeOrElse(codecName, codec, value, orElse) {
return (0, function_1.pipe)(decode(codecName, codec, value), E.getOrElseW(orElse));
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVjb2RlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2JpdGdvL3V0aWxzL2RlY29kZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFtQ0Esd0JBS0M7QUFNRCxvQ0FPQztBQXJERCw2Q0FBc0M7QUFDdEMsZ0RBQWtDO0FBQ2xDLGlEQUFtQztBQUNuQyxnREFBa0M7QUFDbEMsaUVBQW1EO0FBR25EOzs7O0dBSUc7QUFDSSxNQUFNLGdCQUFnQixHQUMzQixDQUFDLFNBQWlCLEVBQUUsRUFBRSxDQUN0QixDQUFDLE1BQWdCLEVBQVUsRUFBRTtJQUMzQixPQUFPLE1BQU07U0FDVixHQUFHLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUNiLElBQUEsZUFBSSxFQUNGLEdBQUcsQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLEVBQ3BDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRTtRQUNoQixNQUFNLElBQUksR0FBRyxTQUFTLElBQUksR0FBRyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDO1FBQ3RELE1BQU0sUUFBUSxHQUFHLEdBQUcsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQztRQUM3QyxNQUFNLElBQUksR0FBRyxJQUFJLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDOUQsT0FBTyxJQUFBLGVBQUksRUFDVCxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsRUFDM0IsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLEVBQzlCLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxrQkFBa0IsS0FBSyxpQkFBaUIsSUFBSSxjQUFjLFFBQVEsR0FBRyxDQUNqRixDQUFDO0lBQ0osQ0FBQyxDQUFDLEVBQ0YsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxvQkFBb0IsU0FBUyx5QkFBeUIsQ0FBQyxDQUMxRSxDQUNGO1NBQ0EsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0FBQ2hCLENBQUMsQ0FBQztBQXJCUyxRQUFBLGdCQUFnQixvQkFxQnpCO0FBRUosU0FBZ0IsTUFBTSxDQUFVLFNBQWlCLEVBQUUsS0FBc0IsRUFBRSxDQUFJO0lBQzdFLE9BQU8sSUFBQSxlQUFJLEVBQ1QsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFDZixDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxJQUFBLHdCQUFnQixFQUFDLFNBQVMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQzNELENBQUM7QUFDSixDQUFDO0FBRUQ7OztHQUdHO0FBQ0gsU0FBZ0IsWUFBWSxDQUMxQixTQUFpQixFQUNqQixLQUFzQixFQUN0QixLQUFRLEVBQ1IsTUFBNkI7SUFFN0IsT0FBTyxJQUFBLGVBQUksRUFBQyxNQUFNLENBQUMsU0FBUyxFQUFFLEtBQUssRUFBRSxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7QUFDckUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHBpcGUgfSBmcm9tICdmcC10cy9mdW5jdGlvbic7XG5pbXBvcnQgKiBhcyBFIGZyb20gJ2ZwLXRzL0VpdGhlcic7XG5pbXBvcnQgKiBhcyBKc29uIGZyb20gJ2ZwLXRzL0pzb24nO1xuaW1wb3J0ICogYXMgTyBmcm9tICdmcC10cy9PcHRpb24nO1xuaW1wb3J0ICogYXMgTkVBIGZyb20gJ2ZwLXRzL1JlYWRvbmx5Tm9uRW1wdHlBcnJheSc7XG5pbXBvcnQgKiBhcyB0IGZyb20gJ2lvLXRzJztcblxuLyoqXG4gKiBGb3JtYXQgYW4gYEVycm9yc2Agb2JqZWN0IGFzIGEgaHVtYW4tcmVhZGFibGUgYHN0cmluZ2AuIFNlZSBgZGVjb2RlYCBpbiBgZGVjb2RlLnRzYCBmb3IgYW4gZXhhbXBsZS5cbiAqIEluc3BpcmVkIGJ5XG4gKiBodHRwczovL2dpdGh1Yi5jb20vbW1rYWwvdHMvYmxvYi85NGE5YmE4ZjI5MzFjOWM5MTEyMmQwMGIwYmYxYmQyMWIyYmUwNWNkL3BhY2thZ2VzL2lvLXRzLWV4dHJhL3NyYy9yZXBvcnRlcnMudHMjTDExLlxuICovXG5leHBvcnQgY29uc3QgdmFsaWRhdGlvbkVycm9ycyA9XG4gICh0eXBlQWxpYXM6IHN0cmluZykgPT5cbiAgKGVycm9yczogdC5FcnJvcnMpOiBzdHJpbmcgPT4ge1xuICAgIHJldHVybiBlcnJvcnNcbiAgICAgIC5tYXAoKGVycm9yKSA9PlxuICAgICAgICBwaXBlKFxuICAgICAgICAgIE5FQS5mcm9tUmVhZG9ubHlBcnJheShlcnJvci5jb250ZXh0KSxcbiAgICAgICAgICBPLm1hcCgoY29udGV4dCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgbmFtZSA9IHR5cGVBbGlhcyB8fCBORUEuaGVhZChjb250ZXh0KS50eXBlLm5hbWU7XG4gICAgICAgICAgICBjb25zdCBsYXN0VHlwZSA9IE5FQS5sYXN0KGNvbnRleHQpLnR5cGUubmFtZTtcbiAgICAgICAgICAgIGNvbnN0IHBhdGggPSBuYW1lICsgZXJyb3IuY29udGV4dC5tYXAoKGMpID0+IGMua2V5KS5qb2luKCcuJyk7XG4gICAgICAgICAgICByZXR1cm4gcGlwZShcbiAgICAgICAgICAgICAgSnNvbi5zdHJpbmdpZnkoZXJyb3IudmFsdWUpLFxuICAgICAgICAgICAgICBFLmdldE9yRWxzZSgoKSA9PiBlcnJvci52YWx1ZSksXG4gICAgICAgICAgICAgICh2YWx1ZSkgPT4gYEludmFsaWQgdmFsdWUgJyR7dmFsdWV9JyBzdXBwbGllZCB0byAke3BhdGh9LCBleHBlY3RlZCAke2xhc3RUeXBlfS5gXG4gICAgICAgICAgICApO1xuICAgICAgICAgIH0pLFxuICAgICAgICAgIE8uZ2V0T3JFbHNlKCgpID0+IGBVbmFibGUgdG8gZGVjb2RlICR7dHlwZUFsaWFzfSwgYnV0IG5vIGVycm9yIHJlcG9ydGVkYClcbiAgICAgICAgKVxuICAgICAgKVxuICAgICAgLmpvaW4oJ1xcbicpO1xuICB9O1xuXG5leHBvcnQgZnVuY3Rpb24gZGVjb2RlPEEsIE8sIEk+KGNvZGVjTmFtZTogc3RyaW5nLCBjb2RlYzogdC5UeXBlPEEsIE8sIEk+LCB1OiBJKTogRS5FaXRoZXI8c3RyaW5nLCBBPiB7XG4gIHJldHVybiBwaXBlKFxuICAgIGNvZGVjLmRlY29kZSh1KSxcbiAgICBFLm1hcExlZnQoKGVycm9ycykgPT4gdmFsaWRhdGlvbkVycm9ycyhjb2RlY05hbWUpKGVycm9ycykpXG4gICk7XG59XG5cbi8qKlxuICogRGVjb2RlcyBpbnB1dCBgdmFsdWVgIHdpdGggYGNvZGVjYC4gV2hlbiBkZWNvZGluZyBmYWlscywgY2FsbHMgdGhlIGBvckVsc2VgIGZ1bmN0aW9uIHdpdGggdGhlIGVycm9yIG1lc3NhZ2UgZnJvbVxuICogYHZhbGlkYXRpb25FcnJvcnNgLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZGVjb2RlT3JFbHNlPEEsIE8sIEksIEU+KFxuICBjb2RlY05hbWU6IHN0cmluZyxcbiAgY29kZWM6IHQuVHlwZTxBLCBPLCBJPixcbiAgdmFsdWU6IEksXG4gIG9yRWxzZTogKGVycm9yczogc3RyaW5nKSA9PiBFXG4pOiBFIHwgQSB7XG4gIHJldHVybiBwaXBlKGRlY29kZShjb2RlY05hbWUsIGNvZGVjLCB2YWx1ZSksIEUuZ2V0T3JFbHNlVyhvckVsc2UpKTtcbn1cbiJdfQ==Выполнить команду
Для локальной разработки. Не используйте в интернете!