diff --git a/services/gunDB/contact-api/schema.js b/services/gunDB/contact-api/schema.js index d4281ee6..435c0ec4 100644 --- a/services/gunDB/contact-api/schema.js +++ b/services/gunDB/contact-api/schema.js @@ -382,3 +382,31 @@ exports.isOrder = item => { return typeof obj.timestamp === 'number' } + +/** + * @typedef {object} OrderResponse + * @prop {'err'|'invoice'} type + * @prop {string} response + */ + +/** + * @param {*} o + * @returns {o is OrderResponse} + */ +exports.isOrderResponse = o => { + if (typeof o !== 'object') { + return false + } + + if (o === null) { + return false + } + + const obj = /** @type {OrderResponse} */ (o) + + if (typeof obj.response !== 'string') { + return false + } + + return obj.type === 'err' || obj.type === 'invoice' +}