@yoroi/common
Version:
The Common package of Yoroi SDK
26 lines (25 loc) • 1.01 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.parseCacheRecord = exports.isCacheRecord = exports.cacheRecordSchemaMaker = void 0;
var _zod = _interopRequireDefault(require("zod"));
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
const cacheRecordSchemaMaker = recordSchema => {
return _zod.default.object({
record: recordSchema,
expires: _zod.default.number().nonnegative(),
hash: _zod.default.string()
// Zod is not infering the type correctly when using interface
});
};
exports.cacheRecordSchemaMaker = cacheRecordSchemaMaker;
const isCacheRecord = (recordSchema, data) => {
return cacheRecordSchemaMaker(recordSchema).safeParse(data).success;
};
exports.isCacheRecord = isCacheRecord;
const parseCacheRecord = (recordSchema, data) => {
return isCacheRecord(recordSchema, data) ? data : undefined;
};
exports.parseCacheRecord = parseCacheRecord;
//# sourceMappingURL=cache-record-schema-maker.js.map