From 5aedde4d29ffd735a0da025328486e4b00b06960 Mon Sep 17 00:00:00 2001 From: Ash Date: Thu, 9 May 2024 17:28:36 +0100 Subject: [PATCH 1/3] feat(sanity): 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 87a8dbd6d40..032fd099b35 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 ccd8f639615..fd39a0d9b93 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