UNPKG

scrivito

Version:

Scrivito is a professional, yet easy to use SaaS Enterprise Content Management Service, built for digital agencies and medium to large businesses. It is completely maintenance-free, cost-effective, and has unprecedented performance and security.

25 lines (19 loc) 568 B
import { isObject } from 'scrivito_sdk/common'; export function computeCacheKey(data: unknown): string { const normalizedData = normalizeData(data); return JSON.stringify(normalizedData); } function normalizeData(data: unknown): unknown { if (Array.isArray(data)) { return data.map(normalizeData); } if (isUnknownObject(data)) { return Object.keys(data) .sort() .map((key) => [key, normalizeData(data[key])]); } return data; } function isUnknownObject(data: unknown): data is Record<string, unknown> { return isObject(data); }