Some checks failed
Build & Deploy / 🔍 Prepare (push) Successful in 20s
Build & Deploy / 🧪 QA (push) Failing after 34s
Build & Deploy / 🏗️ Build (push) Has started running
Build & Deploy / 🚀 Deploy (push) Has been cancelled
Build & Deploy / 🧪 Smoke Test (push) Has been cancelled
Build & Deploy / ⚡ Lighthouse (push) Has been cancelled
Build & Deploy / 🔔 Notify (push) Has been cancelled
39 lines
1.2 KiB
Plaintext
39 lines
1.2 KiB
Plaintext
import { cache } from 'react';
|
|
import { buildClientFieldSchemaMap } from './buildClientFieldSchemaMap/index.js';
|
|
let cachedClientSchemaMap = global._payload_clientSchemaMap;
|
|
if (!cachedClientSchemaMap) {
|
|
cachedClientSchemaMap = global._payload_clientSchemaMap = null;
|
|
}
|
|
export const getClientSchemaMap = cache(args => {
|
|
const {
|
|
collectionSlug,
|
|
config,
|
|
globalSlug,
|
|
i18n,
|
|
payload,
|
|
schemaMap
|
|
} = args;
|
|
if (!cachedClientSchemaMap || global._payload_doNotCacheClientSchemaMap) {
|
|
cachedClientSchemaMap = new Map();
|
|
}
|
|
let cachedEntityClientFieldMap = cachedClientSchemaMap.get(collectionSlug || globalSlug);
|
|
if (cachedEntityClientFieldMap) {
|
|
return cachedEntityClientFieldMap;
|
|
}
|
|
cachedEntityClientFieldMap = new Map();
|
|
const {
|
|
clientFieldSchemaMap: entityClientFieldMap
|
|
} = buildClientFieldSchemaMap({
|
|
collectionSlug,
|
|
config,
|
|
globalSlug,
|
|
i18n: i18n,
|
|
payload,
|
|
schemaMap
|
|
});
|
|
cachedClientSchemaMap.set(collectionSlug || globalSlug, entityClientFieldMap);
|
|
global._payload_clientSchemaMap = cachedClientSchemaMap;
|
|
global._payload_doNotCacheClientSchemaMap = false;
|
|
return entityClientFieldMap;
|
|
});
|
|
//# sourceMappingURL=getClientSchemaMap.js.map |