UNPKG

@metamask/snaps-utils

Version:
70 lines 2.68 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.isCronjobSpecificationArray = exports.CronjobSpecificationArrayStruct = exports.isCronjobSpecification = exports.CronjobSpecificationStruct = exports.parseCronExpression = exports.CronExpressionStruct = exports.CronjobRpcRequestStruct = void 0; const superstruct_1 = require("@metamask/superstruct"); const utils_1 = require("@metamask/utils"); const cron_parser_1 = require("cron-parser"); exports.CronjobRpcRequestStruct = (0, superstruct_1.object)({ jsonrpc: (0, superstruct_1.optional)(utils_1.JsonRpcVersionStruct), id: (0, superstruct_1.optional)(utils_1.JsonRpcIdStruct), method: (0, superstruct_1.string)(), params: (0, superstruct_1.optional)(utils_1.JsonRpcParamsStruct), }); exports.CronExpressionStruct = (0, superstruct_1.refine)((0, superstruct_1.string)(), 'CronExpression', (value) => { try { (0, cron_parser_1.parseExpression)(value); return true; } catch { return false; } }); /** * Parses a cron expression. * * @param expression - Expression to parse. * @returns A CronExpression class instance. */ function parseCronExpression(expression) { const ensureStringExpression = (0, superstruct_1.create)(expression, exports.CronExpressionStruct); return (0, cron_parser_1.parseExpression)(ensureStringExpression); } exports.parseCronExpression = parseCronExpression; exports.CronjobSpecificationStruct = (0, superstruct_1.object)({ expression: exports.CronExpressionStruct, request: exports.CronjobRpcRequestStruct, }); /** * Check if the given value is a {@link CronjobSpecification} object. * * @param value - The value to check. * @returns Whether the value is a valid {@link CronjobSpecification} object. */ function isCronjobSpecification(value) { try { (0, superstruct_1.create)(value, exports.CronjobSpecificationStruct); return true; } catch { return false; } } exports.isCronjobSpecification = isCronjobSpecification; exports.CronjobSpecificationArrayStruct = (0, superstruct_1.array)(exports.CronjobSpecificationStruct); /** * Check if the given value is an array of {@link CronjobSpecification} objects. * * @param value - The value to check. * @returns Whether the value is a valid array of {@link CronjobSpecification} objects. */ function isCronjobSpecificationArray(value) { try { (0, superstruct_1.create)(value, exports.CronjobSpecificationArrayStruct); return true; } catch { return false; } } exports.isCronjobSpecificationArray = isCronjobSpecificationArray; //# sourceMappingURL=cronjob.cjs.map