// SPDX-FileCopyrightText: 2023 XWiki CryptPad Team and contributors // // SPDX-License-Identifier: AGPL-3.0-or-later var Decrees = module.exports; var Util = require("./common-util"); var Fs = require("fs"); var Path = require("path"); var readFileBin = require("./stream-file").readFileBin; var Schedule = require("./schedule"); var Fse = require("fs-extra"); var nThen = require("nthen"); const Utils = Decrees.Utils = {}; var isString = (str) => { return typeof(str) === "string"; }; var isInteger = function (n) { return !(typeof(n) !== 'number' || isNaN(n) || (n % 1) !== 0); }; Utils.args_isBoolean = function (args) { return !(!Array.isArray(args) || typeof(args[0]) !== 'boolean'); }; Utils.args_isString = function (args) { return !(!Array.isArray(args) || !isString(args[0])); }; Utils.args_isInteger = function (args) { return !(!Array.isArray(args) || !isInteger(args[0])); }; Utils.args_isPositiveInteger = function (args) { return Array.isArray(args) && isInteger(args[0]) && args[0] > 0; }; Decrees.create = (name, commands) => { // [, , ,