UNPKG

@muban/muban

Version:

Writing components for server-rendered HTML

16 lines (15 loc) 560 B
/* eslint-disable @typescript-eslint/no-explicit-any,@typescript-eslint/naming-convention */ import { unref } from '@vue/reactivity'; export function mapValues(object, fn) { return Object.fromEntries(Object.entries(object).map(([key, value]) => [key, fn(value, key, object)])); } export function recursiveUnref(source) { const value = unref(source); if (Array.isArray(value)) { return value.map(recursiveUnref); } if (String(value) === '[object Object]') { return mapValues(value, recursiveUnref); } return value; }