@genkit-ai/core
Version:
Genkit AI framework core libraries.
59 lines • 1.51 kB
JavaScript
function deleteUndefinedProps(obj) {
for (const prop in obj) {
if (obj[prop] === void 0) {
delete obj[prop];
} else {
if (typeof obj[prop] === "object") {
deleteUndefinedProps(obj[prop]);
}
}
}
}
function stripUndefinedProps(input) {
if (input === void 0 || input === null || Array.isArray(input) || typeof input !== "object") {
return input;
}
const out = {};
for (const key in input) {
if (input[key] !== void 0) {
out[key] = stripUndefinedProps(input[key]);
}
}
return out;
}
function getCurrentEnv() {
return process.env.GENKIT_ENV || "prod";
}
function isDevEnv() {
return getCurrentEnv() === "dev";
}
function featureMetadataPrefix(name) {
return `feature:${name}`;
}
function deepEqual(a, b) {
if (a === b) return true;
if (a == null || b == null) return a === b;
if (typeof a !== typeof b) return false;
if (typeof a !== "object") return false;
if (Array.isArray(a)) {
if (!Array.isArray(b) || a.length !== b.length) return false;
return a.every((v, i) => deepEqual(v, b[i]));
}
const aObj = a;
const bObj = b;
const aKeys = Object.keys(aObj).sort();
const bKeys = Object.keys(bObj).sort();
if (aKeys.length !== bKeys.length) return false;
return aKeys.every(
(key, i) => key === bKeys[i] && deepEqual(aObj[key], bObj[key])
);
}
export {
deepEqual,
deleteUndefinedProps,
featureMetadataPrefix,
getCurrentEnv,
isDevEnv,
stripUndefinedProps
};
//# sourceMappingURL=utils.mjs.map