UNPKG

@azure/openai-assistants

Version:

An isomorphic client library for Azure OpenAI Assistants.

84 lines 2.39 kB
// Copyright (c) Microsoft Corporation. // Licensed under the MIT license. export function wrapError(f, message) { try { const result = f(); return result; } catch (cause) { throw new Error(`${message}: ${cause}`); } } /** * Rename keys to camel case. * @param obj - The object to rename keys to camel case * @returns The object with keys renamed to camel case */ export function renameKeysToCamelCase(obj) { for (const key of Object.keys(obj)) { const value = obj[key]; const newKey = tocamelCase(key); if (newKey !== key) { delete obj[key]; } obj[newKey] = typeof value === "object" ? Array.isArray(value) ? value.map((v) => renameKeysToCamelCase(v)) : renameKeysToCamelCase(value) : value; } return obj; } export function camelCaseKeys(obj) { if (typeof obj !== "object" || !obj) return obj; if (Array.isArray(obj)) { return obj.map((v) => camelCaseKeys(v)); } else { for (const key of Object.keys(obj)) { const value = obj[key]; const newKey = tocamelCase(key); if (newKey !== key) { delete obj[key]; } obj[newKey] = typeof obj[newKey] === "object" ? camelCaseKeys(value) : value; } return obj; } } export function snakeCaseKeys(obj) { if (typeof obj !== "object" || !obj) return obj; if (Array.isArray(obj)) { return obj.map((v) => snakeCaseKeys(v)); } else { for (const key of Object.keys(obj)) { const value = obj[key]; const newKey = toSnakeCase(key); if (newKey !== key) { delete obj[key]; } obj[newKey] = typeof obj[newKey] === "object" ? snakeCaseKeys(value) : value; } return obj; } } function tocamelCase(str) { return str .toLowerCase() .replace(/([_][a-z])/g, (group) => group.toUpperCase().replace("_", "")); } function toSnakeCase(str) { return str .replace(/([A-Z])/g, (group) => `_${group.toLowerCase()}`) .replace(/^_/, ""); } export function unixToDate(unix) { return new Date(unix * 1000); } //# sourceMappingURL=util.js.map