@mojaloop/ml-schema-transformer-lib
Version:
Shared component for ML schemas translation
88 lines • 2.25 kB
JavaScript
// src/types/type-guards.ts
var isContextLogger = (logger) => {
return "info" in logger && "error" in logger && "warn" in logger && "verbose" in logger && "debug" in logger && "silly" in logger && "audit" in logger && "trace" in logger;
};
var baseFspiopGuards = {
isSource: (source) => {
return !!source.body;
}
};
var baseIsoGuards = {
isSource: (source) => {
return !!source.body;
}
};
var FSPIOP = {
parties: {
put: {
isSource: (source) => {
return !!(source.body && (source.headers?.["fspiop-source"] && source.headers["fspiop-destination"]) && (source.params.IdPath || source.params?.Type && source.params.ID));
}
},
putError: {
isSource: (source) => {
return !!(source.body && (source.headers?.["fspiop-source"] && source.headers["fspiop-destination"]) && (source.params.IdPath || source.params?.Type && source.params.ID));
}
}
},
quotes: {
post: baseFspiopGuards,
put: {
isSource: (source) => {
return !!(source.body && source.params?.ID && (source.$context?.isoPostQuote || source.headers?.["fspiop-source"] && source.headers["fspiop-destination"]));
}
},
putError: baseFspiopGuards
},
transfers: {
post: baseFspiopGuards,
patch: baseFspiopGuards,
put: baseFspiopGuards,
putError: baseFspiopGuards
},
fxQuotes: {
post: baseFspiopGuards,
put: baseFspiopGuards,
putError: baseFspiopGuards
},
fxTransfers: {
post: baseFspiopGuards,
patch: baseFspiopGuards,
put: baseFspiopGuards,
putError: baseFspiopGuards
}
};
var FSPIOPISO20022 = {
parties: {
put: baseIsoGuards,
putError: baseIsoGuards
},
quotes: {
post: baseIsoGuards,
put: baseIsoGuards,
putError: baseIsoGuards
},
transfers: {
post: baseIsoGuards,
patch: baseIsoGuards,
put: baseIsoGuards,
putError: baseIsoGuards
},
fxQuotes: {
post: baseIsoGuards,
put: baseIsoGuards,
putError: baseIsoGuards
},
fxTransfers: {
post: baseIsoGuards,
patch: baseIsoGuards,
put: baseIsoGuards,
putError: baseIsoGuards
}
};
var TypeGuards = { FSPIOP, FSPIOPISO20022 };
export {
TypeGuards,
isContextLogger
};
//# sourceMappingURL=type-guards.mjs.map