valyrian.js 6.0.7 → 6.0.10

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.
@@ -1,5 +1,6 @@
1
- /*** Vnode ***/
2
- import { Valyrian } from "./interfaces";
3
- /*** Hyperscript ***/
1
+ import { Valyrian, VnodeComponentInterface, VnodeInterface, VnodeTextInterface } from "./interfaces";
2
+ export declare const Vnode: VnodeInterface;
3
+ export declare const VnodeText: VnodeTextInterface;
4
+ export declare const VnodeComponent: VnodeComponentInterface;
4
5
  declare const v: Valyrian;
5
6
  export default v;
@@ -1,61 +1,61 @@
1
- /*** Interfaces ***/
2
- export interface DomElement extends Element {
3
- [key: string]: any;
4
- }
5
1
  export interface Props {
6
2
  key?: string | number;
7
3
  state?: any;
8
4
  oncreate?: {
9
- (vnode: IVnode): never;
5
+ (vnode: VnodeInterface): never;
10
6
  };
11
7
  onupdate?: {
12
- (vnode: IVnode, oldVnode: IVnode): never;
8
+ (vnode: VnodeInterface, oldVnode: VnodeInterface): never;
13
9
  };
14
10
  onremove?: {
15
- (oldVnode: IVnode): never;
11
+ (oldVnode: VnodeInterface): never;
16
12
  };
17
13
  shouldupdate?: {
18
- (vnode: IVnode, oldVnode: IVnode): undefined | boolean;
14
+ (vnode: VnodeInterface, oldVnode: VnodeInterface): undefined | boolean;
19
15
  };
20
16
  [key: string | number | symbol]: any;
21
17
  }
22
- export interface Children extends Array<IVnode | any> {
18
+ export interface DomElement extends Element {
19
+ [key: string]: any;
23
20
  }
24
- export interface IVnode {
25
- new (tag: string, props: Props, children: Children): IVnode;
21
+ export interface VnodeInterface {
22
+ new (tag: string, props: Props, children: Children): VnodeInterface;
26
23
  tag: string;
27
24
  props: Props;
28
25
  children: Children;
29
- dom?: DomElement;
30
26
  isSVG?: boolean;
27
+ dom?: DomElement;
31
28
  processed?: boolean;
32
- component?: ValyrianComponent;
33
- nodeValue?: string;
34
29
  [key: string | number | symbol]: any;
35
30
  }
31
+ export interface VnodeTextInterface {
32
+ new (nodeValue: string): VnodeTextInterface;
33
+ dom?: DomElement;
34
+ nodeValue: string;
35
+ }
36
+ export interface VnodeWithDom extends VnodeInterface {
37
+ dom: DomElement;
38
+ }
36
39
  export interface Component {
37
- (props?: Record<string, any> | null, children?: Children): any | IVnode | Children;
38
- [key: string | number | symbol]: any;
40
+ (props?: Props | null, ...children: any[]): VnodeInterface | Children | any;
41
+ [key: string]: any;
39
42
  }
40
- export interface POJOComponent {
43
+ export interface ValyrianComponent {
41
44
  view: Component;
42
- [key: string | number | symbol]: any;
45
+ props?: Props | null;
46
+ children?: any[];
47
+ [key: string]: any;
43
48
  }
44
- export declare type ValyrianComponent = Component | POJOComponent;
45
- export interface VnodeComponent extends IVnode {
46
- tag: "__component__";
47
- component: ValyrianComponent;
49
+ export interface VnodeComponentInterface {
50
+ new (component: Component | ValyrianComponent, props: Props, children: Children): VnodeComponentInterface;
51
+ component: Component | ValyrianComponent;
52
+ props: Props;
53
+ children: Children;
48
54
  }
49
- export interface VnodeWithDom extends IVnode {
50
- dom: DomElement;
55
+ export interface Children extends Array<VnodeInterface | VnodeTextInterface | VnodeComponentInterface | any> {
51
56
  }
52
57
  export interface Directive {
53
- (value: any, vnode: VnodeWithDom, oldVnode?: VnodeWithDom): void;
54
- }
55
- export interface Current {
56
- component?: ValyrianComponent;
57
- vnode?: VnodeWithDom;
58
- oldVnode?: VnodeWithDom;
58
+ (value: any, vnode: VnodeWithDom, oldVnode?: VnodeWithDom): void | boolean;
59
59
  }
60
60
  export interface Directives {
61
61
  [key: string]: Directive;
@@ -63,29 +63,35 @@ export interface Directives {
63
63
  export interface ReservedProps {
64
64
  [key: string]: true;
65
65
  }
66
+ export interface Current {
67
+ component?: Component | ValyrianComponent | null;
68
+ vnode?: VnodeWithDom | null;
69
+ oldVnode?: VnodeWithDom | null;
70
+ }
66
71
  export interface Plugin {
67
72
  (valyrian: Valyrian, options?: Record<string | string | symbol, any>): void | any;
68
73
  }
69
74
  export interface Valyrian {
70
- (tagOrComponent: string | ValyrianComponent, props: Props, ...children: Children): IVnode | VnodeComponent;
71
- fragment: (props: Props, ...children: Children) => Children;
75
+ (tagOrComponent: string | Component | ValyrianComponent, props: Props | null, ...children: Children): VnodeInterface | VnodeComponentInterface;
76
+ fragment: (_: any, ...children: Children) => Children;
72
77
  isNodeJs: boolean;
73
78
  isMounted: boolean;
74
- current: Current;
75
- container?: DomElement;
76
- mainVnode?: VnodeWithDom;
77
- component?: null | VnodeComponent;
79
+ component: Component | ValyrianComponent | null;
80
+ mainVnode: VnodeWithDom | null;
78
81
  directives: Directives;
79
82
  reservedProps: ReservedProps;
80
- isVnode: (object?: unknown | IVnode) => object is IVnode;
81
- isComponent: (component?: unknown | ValyrianComponent) => component is ValyrianComponent;
82
- isVnodeComponent: (vnode?: unknown | VnodeComponent) => vnode is VnodeComponent;
83
+ current: Current;
83
84
  trust: (htmlString: string) => Children;
85
+ isVnode: (object?: unknown | VnodeInterface) => object is VnodeInterface;
86
+ isVnodeComponent: (object?: unknown) => object is VnodeComponentInterface;
87
+ isComponent: (component?: unknown | Component | ValyrianComponent) => component is ValyrianComponent;
88
+ isValyrianComponent: (component?: unknown) => component is ValyrianComponent;
84
89
  onCleanup: (fn: Function) => void;
85
90
  onUnmount: (fn: Function) => void;
86
91
  onMount: (fn: Function) => void;
87
92
  onUpdate: (fn: Function) => void;
88
- mount: (container: DomElement | string, component: ValyrianComponent | IVnode) => void | string;
93
+ patch: (newParentVnode: VnodeWithDom, oldParentVnode?: VnodeWithDom | undefined) => void;
94
+ mount: (container: string | Element, normalComponent: Component | ValyrianComponent) => void | string;
89
95
  update: () => void | string;
90
96
  unmount: () => void | string;
91
97
  setAttribute: (name: string, value: any, vnode: VnodeWithDom, oldVnode?: VnodeWithDom) => void;
@@ -93,11 +99,3 @@ export interface Valyrian {
93
99
  use: (plugin: Plugin, options?: Record<string | number | symbol, any>) => void | any;
94
100
  [key: string | number | symbol]: any;
95
101
  }
96
- declare global {
97
- namespace JSX {
98
- type Element = IVnode;
99
- interface IntrinsicElements {
100
- [elemName: string]: any;
101
- }
102
- }
103
- }