Repository.
/**
* @template {unknown} T
*
* @typedef {import('reposy').IRepository<T>} IRepository
*/
import {
RepositoryFactory,
ArrayedRepository,
ModeledRepository,
KeyedRepository,
ObjectedRepository
} from 'reposy';
const repositoryFactory = new RepositoryFactory({
Arrayed: ArrayedRepository,
Modeled: ModeledRepository,
Keyed: KeyedRepository,
Objected: ObjectedRepository
});
/** @type {Record<PropertyKey, unknown>} */
const object = {};
const repository = repositoryFactory.createObjected(object);
const data = await repository.set('key');
await repository.set('key', 'data');
const has = await repository.has('key');
await repository.remove('key');
await repository.clear();