The default configuration for Firefly Semantics Slice entities expects entities to have a id and gid property.
We are creating a EStore<Todo> for Todo entities and we want the global id property to be guid instead of gid.
Approach
The StoreConfig interface looks like this:
interface StoreConfig {
idKey: string;
guidKey: string;
};
Create a new configuration object:
const config: StoreConfig = { guidKey: 'guid' }
Pass it to the constructor when initializing the store:
let store: EStore<Todo> = new EStore<Todo>(todos, config);
To see what the current global id property name is check store.GUID_KEY.
To see what the current global id property name is check store.ID_KEY.
The below demo logs the result of this operation:
console.log(`The Global ID Key is: ${store.GUID_KEY}`);
console.log(`The ID Key is: ${store.ID_KEY}`);
Demo
We can see by logging store contents that each entity now has a guid property initialized with a global ID:
[{"id":"1","complete":false,"title":"You complete me!","guid":"J2yGsD9Z5tdXsux1kLaet"},{"id":"2","complete":true,"title":"You completed me!","guid":"wIBAvxyquUo9Tqj-Kzilz"}]