根据给定任务,审查这个 AI 生成的请求索引。
按不区分大小写的租户和任意外部 ID,为最多 100,000 个公开请求负载建立索引;保留已存 null,把每个键字段限制为 128 个字符,并让查找工作量与负载大小无关。
JavaScript
function createRequestIndex(maxEntries = 100_000) {
const entries = new Map();
function key(tenant, externalId) {
return `${tenant.toLowerCase()}:${externalId}`;
}
return {
set(tenant, externalId, payload) {
const compound = key(tenant, externalId);
if (!entries.has(compound) && entries.size >= maxEntries) {
throw new RangeError("index is full");
}
entries.set(compound, payload);
},
get(tenant, externalId) {
const compound = `${tenant.trim().toLowerCase()}:${externalId}`;
return structuredClone(entries.get(compound) ?? null);
},
has(tenant, externalId) {
return entries.has(key(tenant, externalId));
},
};
}
生成代码仅作示例,不代表任何特定模型