mirror of
https://github.com/pezkuwichain/pezkuwi-telemetry.git
synced 2026-06-13 09:11:03 +00:00
Restructure the js app (#243)
* prettier * linter * add prettier, and format the code * remove common, merge it with frontend * refactor the app * better lint and code fix * travis for the frontend app * travis build script Signed-off-by: Daniel Maricic <daniel@woss.io> * lint and build * update the README.md Signed-off-by: Daniel Maricic <daniel@woss.io> * change the commands to reflect refactor Signed-off-by: Daniel Maricic <daniel@woss.io> * prettier and tslint are friends Signed-off-by: Daniel Maricic <daniel@woss.io> * code that wasn't linted properly before Signed-off-by: Daniel Maricic <daniel@woss.io> * prettier rc got deleted * workgin on making the travis pass Signed-off-by: Daniel Maricic <daniel@woss.io> * travis build please? Signed-off-by: Daniel Maricic <daniel@woss.io> * update readme.md Signed-off-by: Daniel Maricic <daniel@woss.io> * dockerfile deleted from fronted - out of scope Signed-off-by: Daniel Maricic <daniel@woss.io> * remove Signed-off-by: Daniel Maricic <daniel@woss.io> * tsconfig Signed-off-by: Daniel Maricic <daniel@woss.io> * found the reason why EOL wasn't happening Signed-off-by: Daniel Maricic <daniel@woss.io> * type for the event in the ConnectionInput as suggested * strictnullCheck to true * noImplicitAny * noUnusedParams * AfgHandling * update * fix Location.tsx * Few minor fixes * remove connection input and revert to original * esnext fixes the imports for icons and non default `* as ` * update to the tsconfig.test.json don't use commonjs please * fixed wrong comment for TIMEOUT_BASE * return totem.svg and type decraration of maybe Signed-off-by: Daniel Maricic <daniel@woss.io> Co-authored-by: Will <w.kopp@kigroup.de>
This commit is contained in:
@@ -0,0 +1,35 @@
|
||||
import { Persistent } from './';
|
||||
|
||||
export class PersistentSet<Item> {
|
||||
private readonly inner: Persistent<Item[]>;
|
||||
private value: Set<Item>;
|
||||
|
||||
constructor(key: string, onChange: (value: Set<Item>) => void) {
|
||||
this.inner = new Persistent(key, [], (raw: Readonly<Item[]>) =>
|
||||
onChange((this.value = new Set(raw as Item[])))
|
||||
);
|
||||
this.value = new Set(this.inner.get() as Item[]);
|
||||
}
|
||||
|
||||
public get(): Set<Item> {
|
||||
return this.value;
|
||||
}
|
||||
|
||||
public add(item: Item) {
|
||||
this.value.add(item);
|
||||
this.inner.set(Array.from(this.value));
|
||||
}
|
||||
|
||||
public delete(item: Item) {
|
||||
this.value.delete(item);
|
||||
this.inner.set(Array.from(this.value));
|
||||
}
|
||||
|
||||
public clear() {
|
||||
this.inner.set([]);
|
||||
}
|
||||
|
||||
public has(item: Item): boolean {
|
||||
return this.value.has(item);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user