UNPKG

@mojaloop/ml-schema-transformer-lib

Version:
121 lines (117 loc) 4.1 kB
var __require = /* @__PURE__ */ ((x) => typeof require !== "undefined" ? require : typeof Proxy !== "undefined" ? new Proxy(x, { get: (a, b) => (typeof require !== "undefined" ? require : a)[b] }) : x)(function(x) { if (typeof require !== "undefined") return require.apply(this, arguments); throw Error('Dynamic require of "' + x + '" is not supported'); }); // src/lib/utils/index.ts import * as ilpPacket from "ilp-packet"; // src/types/index.ts var logLevelsMap = { error: "error", warn: "warn", info: "info", verbose: "verbose", debug: "debug", silly: "silly", audit: "audit", trace: "trace", perf: "perf" }; var logLevelValues = Object.values(logLevelsMap); // src/lib/utils/index.ts var idGenerator = __require("@mojaloop/central-services-shared").Util.id; var { CreateFSPIOPErrorFromErrorCode } = __require("@mojaloop/central-services-error-handling"); var fspiopToIsoTransferStateMap = { COMMITTED: "COMM", RESERVED: "RESV", RECEIVED: "RECV", ABORTED: "ABOR" }; var generateID = (idGenType = "ulid" /* ulid */, config = {}) => { switch (idGenType) { case "ulid" /* ulid */: case "uuid" /* uuid */: return idGenerator({ ...config, type: idGenType })(); default: return idGenerator({ ...config, type: "ulid" /* ulid */ })(); } }; var isPersonPartyIdType = (partyIdType) => partyIdType && !["BUSINESS", "ALIAS", "DEVICE"].includes(partyIdType); var isEmptyObject = (data) => { return typeof data === "object" && data !== null && Object.keys(data).length === 0; }; var getDescrForErrCode = (code) => { try { const errorCode = Number.parseInt(code); const errorCreated = CreateFSPIOPErrorFromErrorCode(errorCode); return errorCreated?.apiErrorCode?.type?.description; } catch (error) { return "Unknown error"; } }; var getIlpPacketCondition = (inputIlpPacket) => { const binaryPacket = Buffer.from(inputIlpPacket, "base64"); const decoded = ilpPacket.deserializeIlpPrepare(binaryPacket); return decoded?.executionCondition?.toString("base64url"); }; var toIsoTransferState = (fspiopState) => { if (!fspiopState) return void 0; const isoState = fspiopToIsoTransferStateMap[fspiopState]; if (!isoState) throw new Error(`toIsoTransferState: Unknown FSPIOP transfer state: ${fspiopState}`); return isoState; }; var toFspiopTransferState = (isoState) => { if (!isoState) return void 0; for (const [key, value] of Object.entries(fspiopToIsoTransferStateMap)) { if (value === isoState) return key; } throw new Error(`toFspiopTransferState: Unknown ISO20022 transfer state: ${isoState}`); }; // src/lib/transforms/index.ts var CustomTransforms = { generateID: (options) => () => (data, state) => { return generateID(); }, datetimeNow: (options) => () => (data, state) => { return (/* @__PURE__ */ new Date()).toISOString(); }, isPersonParty: (options) => () => (data, state) => { return isPersonPartyIdType(data); }, isNotPersonParty: (options) => () => (data, state) => { return !isPersonPartyIdType(data); }, isNotEmpty: (options) => () => (data, state) => { return data && !isEmptyObject(data); }, fspiopErrorDescrForCode: (options) => () => (data, state) => { return getDescrForErrCode(data); }, ilpPacketToCondition: (options) => () => (data, state) => { return getIlpPacketCondition(data); }, toFspiopTransferState: (options) => () => (data, state) => { return toFspiopTransferState(data); }, toIsoTransferState: (options) => () => (data, state) => { return toIsoTransferState(data); }, toIsoErrorDescription: (options) => () => (data, state) => { const dataStr = data; return dataStr.length > 105 ? dataStr.substring(0, 105) : dataStr; }, supportedCurrenciesToString: (options) => () => (data, state) => { return data && Array.isArray(data) && data.length > 0 ? data[0] : data; }, toArray: (options) => () => (data, state) => { if (data) { return Array.isArray(data) ? data : [data]; } return void 0; } }; export { CustomTransforms }; //# sourceMappingURL=index.mjs.map