UNPKG

kitten-cloud-function

Version:

用于编程猫源码云功能(云变量、云列表等)的客户端工具

70 lines (69 loc) 2.28 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.LETTER = exports.UPPER_CASE_LETTER = exports.LOWER_CASE_LETTER = exports.NUMBER_CHAR = exports.None = void 0; exports.equal = equal; exports.merge = merge; exports.enumerable = enumerable; exports.randomString = randomString; exports.None = null; function equal(a, b) { if (a === b) { return true; } if (a && b && typeof a == "object" && typeof b == "object") { if (a.constructor != b.constructor) { return false; } if (Array.isArray(a)) { if (a.length != b.length) { return false; } for (let i = 0; i < a.length; i++) { if (!equal(a[i], b[i])) { return false; } } return true; } let keys = Object.keys(a); if (keys.length != Object.keys(b).length) { return false; } for (const key of keys) { if (!(key in b) || !equal(a[key], b[key])) { return false; } } return true; } return false; } function merge(target, source) { for (const key in source) { if (typeof source[key] == "object" && source[key] != exports.None) { if (!(key in target)) { target[key] = {}; } if (typeof target[key] == "object" && target[key] != exports.None) { merge(target[key], source[key]); } } else if (!(key in target)) { target[key] = source[key]; } } return target; } function enumerable(value) { return function (__target, __propertyKey, descriptor) { descriptor.enumerable = value; }; } exports.NUMBER_CHAR = "0123456789", exports.LOWER_CASE_LETTER = "abcdefghijklmnopqrstuvwxyz", exports.UPPER_CASE_LETTER = "ABCDEFGHIJKLMNOPQRSTUVWXYZ", exports.LETTER = exports.LOWER_CASE_LETTER.concat(exports.UPPER_CASE_LETTER); function randomString(length = 32, charset = exports.NUMBER_CHAR.concat(exports.LETTER)) { let result = ""; for (let i = 0; i < length; i++) { result += charset[Math.floor(Math.random() * charset.length)]; } return result; }