@expressive/mvc 1.0.0-beta.33 → 1.0.0-beta.36

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/types/types.d.ts CHANGED
@@ -1,18 +1,4 @@
1
- export type Key = string | symbol | number;
2
1
  export type Async<T = any> = (this: T, ...args: any[]) => Promise<any>;
3
2
  export type BunchOf<T> = { [key: string]: T };
4
-
5
- export type Class = new (...args: any[]) => any;
6
3
  export type InstanceOf<T> = T extends { prototype: infer U } ? U : never;
7
- export type IfApplicable<T extends {}, K> = K extends keyof T ? T[K] : undefined;
8
-
9
- export type Callback = () => void;
10
- export type RequestCallback = (keys: readonly string[]) => void;
11
- export type EffectCallback<T, A = T> = (this: T, argument: A) => Callback | Promise<any> | void;
12
- export type UpdateCallback<T, P> = (this: T, value: IfApplicable<T, P>, changed: P) => void;
13
- export type InterceptCallback<T, S = any> = (this: S, argument: T) => ((next: T) => void) | Promise<any> | void | boolean;
14
-
15
- export type RefFunction = (e: HTMLElement | null) => void;
16
-
17
- export type Recursive<T> = { [K in keyof T]: Recursive<Omit<T, K>> };
18
- export type Query = (select: Recursive<{}>) => void;
4
+ export type Class = new (...args: any[]) => any;
package/types/selector.ts DELETED
@@ -1,47 +0,0 @@
1
- export type KeysOfType<T, ST> = {
2
- [Key in keyof T]: T[Key] extends ST ? Key : never
3
- }[keyof T];
4
-
5
- export namespace Selector {
6
- /**
7
- * Shallow-recursive clone of source object.
8
- * Accumulates keys by property access.
9
- *
10
- * For every key:
11
- * - add key to register
12
- * - delete key from object
13
- * - return object
14
- */
15
- type Object<T extends {} = {}, KS extends keyof T = never> = {
16
- [K in Exclude<keyof T, KS>]: Object<T, KS | K>
17
- };
18
-
19
- type Keys<S extends Object> =
20
- S extends Object<any, infer I> ? I : never;
21
-
22
- type Values<S extends Object> =
23
- S extends Object<infer T, infer I> ? T[I] : never;
24
-
25
- export type Function<T> =
26
- (selector: Object<T>) => Object<T, keyof T>;
27
-
28
- export type From<F extends Function<any>> =
29
- F extends (spy: any) => infer R ? Keys<R> : never;
30
-
31
- export type Gets<F extends Function<any>> =
32
- F extends (spy: any) => infer R ? Values<R> : never;
33
-
34
- export type Callback<S extends Function<any>, T> =
35
- (this: T, value: Gets<S>, key: From<S>) => void;
36
- }
37
-
38
- export namespace Select {
39
- export type One<T> =
40
- (arg: { [K in keyof T]: K }) => string & keyof T;
41
-
42
- export type Key<T extends string | number | symbol> =
43
- (arg: { [K in T]: K }) => string & T;
44
-
45
- export type From<T extends One<any>> =
46
- T extends (from: any) => infer R ? R : never;
47
- }