AK-21/Graphite-Industrial-Intelligence
0
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 