@mojaloop/ml-schema-transformer-lib
Version:
Shared component for ML schemas translation
121 lines (117 loc) • 4.1 kB
JavaScript
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