1
0
mirror of https://github.com/laurent22/joplin.git synced 2024-12-24 10:27:10 +02:00
joplin/packages/utils/object.ts

18 lines
656 B
TypeScript
Raw Normal View History

// eslint-disable-next-line @typescript-eslint/no-explicit-any -- Old code before rule was applied
export const objectValueFromPath = (o: any, path: string) => {
const elements = path.split('.');
let result = { ...o };
while (elements.length && result) {
const e = elements.splice(0, 1)[0];
result = result[e];
}
return result;
};
// eslint-disable-next-line @typescript-eslint/no-explicit-any -- Old code before rule was applied
export function checkObjectHasProperties(object: any, properties: string[]) {
for (const prop of properties) {
if (!(prop in object)) throw new Error(`Missing property "${prop}": ${JSON.stringify(object)}`);
}
}