From 7ae1d01d779d38e02bf4c8061a5696c4c191a4ae Mon Sep 17 00:00:00 2001 From: Ash Date: Thu, 9 May 2024 17:28:36 +0100 Subject: [PATCH] wip: memoize initial value resolver --- .../_legacy/grants/templatePermissions.ts | 3 + packages/sanity/src/core/templates/resolve.ts | 70 +++++++++++++++---- 2 files changed, 60 insertions(+), 13 deletions(-) diff --git a/packages/sanity/src/core/store/_legacy/grants/templatePermissions.ts b/packages/sanity/src/core/store/_legacy/grants/templatePermissions.ts index 87a8dbd6d402..032fd099b359 100644 --- a/packages/sanity/src/core/store/_legacy/grants/templatePermissions.ts +++ b/packages/sanity/src/core/store/_legacy/grants/templatePermissions.ts @@ -76,6 +76,9 @@ export function getTemplatePermissions({ template, item.parameters, context, + { + useCache: true, + }, ) return {template, item, resolvedInitialValue} diff --git a/packages/sanity/src/core/templates/resolve.ts b/packages/sanity/src/core/templates/resolve.ts index ccd8f6396152..fd39a0d9b936 100644 --- a/packages/sanity/src/core/templates/resolve.ts +++ b/packages/sanity/src/core/templates/resolve.ts @@ -21,11 +21,20 @@ export type Serializeable = { serialize(): T } +interface Options { + useCache?: boolean +} + /** @internal */ export function isBuilder(template: unknown): template is Serializeable