nyaaorick's picture
feat: publish everything-webgpu package, engine source and documentation
1944112 verified
Raw
History Blame Contribute Delete
817 Bytes
/**
* In-memory StorageAdapter.
*
* For tests, and for a host that genuinely wants the registry to die with the
* page. Note that the *weights* still live in Cache Storage and survive — only
* the registry entry pointing at them is lost, which `ModelStore.verify()` will
* then never be asked about. Do not use this in production for that reason.
*/
/** @returns {import("../engine/model-store.js").StorageAdapter} */
export function memoryStorage(initial = {}) {
const store = new Map(Object.entries(initial));
return {
async get(key) {
const keys = Array.isArray(key) ? key : [key];
return Object.fromEntries(keys.filter((k) => store.has(k)).map((k) => [k, store.get(k)]));
},
async set(items) {
for (const [k, v] of Object.entries(items)) store.set(k, v);
},
};
}