slice.d.ts 920 B

1234567891011121314151617181920212223
  1. import type { SliceMap } from './container';
  2. export declare class Slice<T = any, N extends string = string> {
  3. #private;
  4. readonly type: SliceType<T, N>;
  5. constructor(container: SliceMap, value: T, type: SliceType<T, N>);
  6. on(watcher: (value: T) => unknown): () => void;
  7. once(watcher: (value: T) => unknown): () => void;
  8. off(watcher: (value: T) => unknown): void;
  9. offAll(): void;
  10. set: (value: T) => void;
  11. get: () => T;
  12. update: (updater: (prev: T) => T) => void;
  13. }
  14. export declare class SliceType<T = any, N extends string = string> {
  15. readonly id: symbol;
  16. readonly name: N;
  17. readonly _typeInfo: () => T;
  18. readonly _defaultValue: T;
  19. constructor(value: T, name: N);
  20. create(container: SliceMap, value?: T): Slice<T, N>;
  21. }
  22. export declare const createSlice: <T = any, N extends string = string>(value: T, name: N) => SliceType<T, N>;
  23. //# sourceMappingURL=slice.d.ts.map