CoolFace
Apppublic

AK-21/Graphite-Industrial-Intelligence

sourceHugging Faceupdated 3mo agoView on Hugging Face
0likes
util.js134 linesDownload Raw Back to helpers
1export var util;2(function (util) {3    util.assertEqual = (_) => { };4    function assertIs(_arg) { }5    util.assertIs = assertIs;6    function assertNever(_x) {7        throw new Error();8    }9    util.assertNever = assertNever;10    util.arrayToEnum = (items) => {11        const obj = {};12        for (const item of items) {13            obj[item] = item;14        }15        return obj;16    };17    util.getValidEnumValues = (obj) => {18        const validKeys = util.objectKeys(obj).filter((k) => typeof obj[obj[k]] !== "number");19        const filtered = {};20        for (const k of validKeys) {21            filtered[k] = obj[k];22        }23        return util.objectValues(filtered);24    };25    util.objectValues = (obj) => {26        return util.objectKeys(obj).map(function (e) {27            return obj[e];28        });29    };30    util.objectKeys = typeof Object.keys === "function" // eslint-disable-line ban/ban31        ? (obj) => Object.keys(obj) // eslint-disable-line ban/ban32        : (object) => {33            const keys = [];34            for (const key in object) {35                if (Object.prototype.hasOwnProperty.call(object, key)) {36                    keys.push(key);37                }38            }39            return keys;40        };41    util.find = (arr, checker) => {42        for (const item of arr) {43            if (checker(item))44                return item;45        }46        return undefined;47    };48    util.isInteger = typeof Number.isInteger === "function"49        ? (val) => Number.isInteger(val) // eslint-disable-line ban/ban50        : (val) => typeof val === "number" && Number.isFinite(val) && Math.floor(val) === val;51    function joinValues(array, separator = " | ") {52        return array.map((val) => (typeof val === "string" ? `'${val}'` : val)).join(separator);53    }54    util.joinValues = joinValues;55    util.jsonStringifyReplacer = (_, value) => {56        if (typeof value === "bigint") {57            return value.toString();58        }59        return value;60    };61})(util || (util = {}));62export var objectUtil;63(function (objectUtil) {64    objectUtil.mergeShapes = (first, second) => {65        return {66            ...first,67            ...second, // second overwrites first68        };69    };70})(objectUtil || (objectUtil = {}));71export const ZodParsedType = util.arrayToEnum([72    "string",73    "nan",74    "number",75    "integer",76    "float",77    "boolean",78    "date",79    "bigint",80    "symbol",81    "function",82    "undefined",83    "null",84    "array",85    "object",86    "unknown",87    "promise",88    "void",89    "never",90    "map",91    "set",92]);93export const getParsedType = (data) => {94    const t = typeof data;95    switch (t) {96        case "undefined":97            return ZodParsedType.undefined;98        case "string":99            return ZodParsedType.string;100        case "number":101            return Number.isNaN(data) ? ZodParsedType.nan : ZodParsedType.number;102        case "boolean":103            return ZodParsedType.boolean;104        case "function":105            return ZodParsedType.function;106        case "bigint":107            return ZodParsedType.bigint;108        case "symbol":109            return ZodParsedType.symbol;110        case "object":111            if (Array.isArray(data)) {112                return ZodParsedType.array;113            }114            if (data === null) {115                return ZodParsedType.null;116            }117            if (data.then && typeof data.then === "function" && data.catch && typeof data.catch === "function") {118                return ZodParsedType.promise;119            }120            if (typeof Map !== "undefined" && data instanceof Map) {121                return ZodParsedType.map;122            }123            if (typeof Set !== "undefined" && data instanceof Set) {124                return ZodParsedType.set;125            }126            if (typeof Date !== "undefined" && data instanceof Date) {127                return ZodParsedType.date;128            }129            return ZodParsedType.object;130        default:131            return ZodParsedType.unknown;132    }133};134