chore(web): unique ID generation (#9932)

* chore(web): automatically generate unique IDs

* fix: revert changes to Slider

* chore: add test for id store
This commit is contained in:
Ben 2024-06-01 22:58:35 +00:00 committed by GitHub
parent 4e16e2520d
commit 01f52c9021
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
52 changed files with 83 additions and 150 deletions

View file

@ -0,0 +1,14 @@
import { uniqueIdStore } from '$lib/stores/unique-id.store';
describe('uniqueIdStore', () => {
afterEach(() => {
uniqueIdStore.update(() => -1);
});
it('should generate unique ids', () => {
const { generateId } = uniqueIdStore;
const ids = [generateId(), generateId(), generateId()];
expect(ids).toEqual(['id-0', 'id-1', 'id-2']);
});
});

View file

@ -0,0 +1,16 @@
import { get, writable } from 'svelte/store';
function createIdStore() {
const { subscribe, update } = writable(-1);
return {
subscribe,
update,
generateId: () => {
update((value) => value + 1);
return `id-${get(uniqueIdStore)}`;
},
};
}
export const uniqueIdStore = createIdStore();