valyrian.js 7.2.12 → 8.0.1

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.
Files changed (168) hide show
  1. package/README.md +6 -6
  2. package/dist/flux-store/index.d.ts +32 -0
  3. package/dist/flux-store/index.d.ts.map +1 -0
  4. package/dist/flux-store/index.js +267 -0
  5. package/dist/flux-store/index.js.map +7 -0
  6. package/dist/flux-store/index.min.js +1 -0
  7. package/dist/flux-store/index.min.js.map +1 -0
  8. package/dist/flux-store/index.mjs +246 -0
  9. package/dist/flux-store/index.mjs.map +7 -0
  10. package/dist/hooks/index.d.ts.map +1 -1
  11. package/dist/hooks/index.js +35 -51
  12. package/dist/hooks/index.js.map +3 -3
  13. package/dist/hooks/index.min.js +1 -0
  14. package/dist/hooks/index.min.js.map +1 -0
  15. package/dist/hooks/index.mjs +36 -52
  16. package/dist/hooks/index.mjs.map +3 -3
  17. package/dist/index.d.ts +18 -14
  18. package/dist/index.d.ts.map +1 -1
  19. package/dist/index.js +107 -88
  20. package/dist/index.js.map +3 -3
  21. package/dist/index.min.js +1 -1
  22. package/dist/index.min.js.map +1 -1
  23. package/dist/index.mjs +107 -88
  24. package/dist/index.mjs.map +3 -3
  25. package/dist/native-store/index.d.ts +14 -0
  26. package/dist/native-store/index.d.ts.map +1 -0
  27. package/dist/native-store/index.js +103 -0
  28. package/dist/native-store/index.js.map +7 -0
  29. package/dist/native-store/index.min.js +1 -0
  30. package/dist/native-store/index.min.js.map +1 -0
  31. package/dist/native-store/index.mjs +82 -0
  32. package/dist/native-store/index.mjs.map +7 -0
  33. package/dist/node/index.d.ts +1 -1
  34. package/dist/node/index.d.ts.map +1 -1
  35. package/dist/node/index.js +125 -10
  36. package/dist/node/index.js.map +4 -4
  37. package/dist/node/index.mjs +125 -10
  38. package/dist/node/index.mjs.map +4 -4
  39. package/dist/node/node.sw.js +152 -0
  40. package/dist/node/utils/icons.d.ts +4 -5
  41. package/dist/node/utils/icons.d.ts.map +1 -1
  42. package/dist/node/utils/inline.d.ts +1 -1
  43. package/dist/node/utils/inline.d.ts.map +1 -1
  44. package/dist/node/utils/node.sw.js +152 -0
  45. package/dist/node/utils/session-storage.d.ts +22 -0
  46. package/dist/node/utils/session-storage.d.ts.map +1 -0
  47. package/dist/node/utils/sw.d.ts.map +1 -1
  48. package/dist/node/utils/tree-adapter.d.ts +5 -1
  49. package/dist/node/utils/tree-adapter.d.ts.map +1 -1
  50. package/dist/pulse-store/index.d.ts +16 -0
  51. package/dist/pulse-store/index.d.ts.map +1 -0
  52. package/dist/pulse-store/index.js +143 -0
  53. package/dist/pulse-store/index.js.map +7 -0
  54. package/dist/pulse-store/index.min.js +1 -0
  55. package/dist/pulse-store/index.min.js.map +1 -0
  56. package/dist/pulse-store/index.mjs +122 -0
  57. package/dist/pulse-store/index.mjs.map +7 -0
  58. package/dist/request/index.d.ts +11 -11
  59. package/dist/request/index.d.ts.map +1 -1
  60. package/dist/request/index.js +63 -84
  61. package/dist/request/index.js.map +2 -2
  62. package/dist/request/index.min.js +1 -0
  63. package/dist/request/index.min.js.map +1 -0
  64. package/dist/request/index.mjs +63 -84
  65. package/dist/request/index.mjs.map +2 -2
  66. package/dist/router/index.d.ts +36 -33
  67. package/dist/router/index.d.ts.map +1 -1
  68. package/dist/router/index.js +247 -96
  69. package/dist/router/index.js.map +3 -3
  70. package/dist/router/index.min.js +1 -0
  71. package/dist/router/index.min.js.map +1 -0
  72. package/dist/router/index.mjs +247 -96
  73. package/dist/router/index.mjs.map +3 -3
  74. package/dist/signals/index.d.ts +6 -0
  75. package/dist/signals/index.d.ts.map +1 -0
  76. package/dist/signals/index.js +92 -0
  77. package/dist/signals/index.js.map +7 -0
  78. package/dist/signals/index.min.js +1 -0
  79. package/dist/signals/index.min.js.map +1 -0
  80. package/dist/signals/index.mjs +71 -0
  81. package/dist/signals/index.mjs.map +7 -0
  82. package/dist/suspense/index.d.ts +6 -0
  83. package/dist/suspense/index.d.ts.map +1 -0
  84. package/dist/suspense/index.js +67 -0
  85. package/dist/suspense/index.js.map +7 -0
  86. package/dist/suspense/index.min.js +1 -0
  87. package/dist/suspense/index.min.js.map +1 -0
  88. package/dist/suspense/index.mjs +46 -0
  89. package/dist/suspense/index.mjs.map +7 -0
  90. package/dist/sw/index.min.js +1 -0
  91. package/dist/sw/index.min.js.map +1 -0
  92. package/dist/translate/index.d.ts +19 -0
  93. package/dist/translate/index.d.ts.map +1 -0
  94. package/dist/translate/index.js +150 -0
  95. package/dist/translate/index.js.map +7 -0
  96. package/dist/translate/index.min.js +1 -0
  97. package/dist/translate/index.min.js.map +1 -0
  98. package/dist/translate/index.mjs +129 -0
  99. package/dist/translate/index.mjs.map +7 -0
  100. package/dist/tsconfig.tsbuildinfo +1 -1
  101. package/dist/utils/deep-freeze.d.ts +3 -0
  102. package/dist/utils/deep-freeze.d.ts.map +1 -0
  103. package/dist/utils/getter-setter.d.ts +3 -0
  104. package/dist/utils/getter-setter.d.ts.map +1 -0
  105. package/dist/utils/has-changed.d.ts +2 -0
  106. package/dist/utils/has-changed.d.ts.map +1 -0
  107. package/dist/utils/index.d.ts +4 -0
  108. package/dist/utils/index.d.ts.map +1 -0
  109. package/dist/utils/index.js +138 -0
  110. package/dist/utils/index.js.map +7 -0
  111. package/dist/utils/index.min.js +1 -0
  112. package/dist/utils/index.min.js.map +1 -0
  113. package/dist/utils/index.mjs +115 -0
  114. package/dist/utils/index.mjs.map +7 -0
  115. package/lib/flux-store/index.ts +312 -0
  116. package/lib/hooks/index.ts +39 -57
  117. package/lib/index.ts +135 -118
  118. package/lib/native-store/index.ts +106 -0
  119. package/lib/node/index.ts +3 -1
  120. package/lib/node/utils/icons.ts +4 -4
  121. package/lib/node/utils/inline.ts +2 -0
  122. package/lib/node/utils/node.sw.js +152 -0
  123. package/lib/node/utils/session-storage.ts +117 -0
  124. package/lib/node/utils/sw.ts +34 -10
  125. package/lib/node/utils/tree-adapter.ts +19 -1
  126. package/lib/pulse-store/index.ts +188 -0
  127. package/lib/request/index.ts +92 -122
  128. package/lib/router/index.ts +353 -164
  129. package/lib/signals/index.ts +98 -0
  130. package/lib/suspense/index.ts +57 -0
  131. package/lib/translate/index.ts +156 -0
  132. package/lib/utils/deep-freeze.ts +54 -0
  133. package/lib/utils/getter-setter.ts +40 -0
  134. package/lib/utils/has-changed.ts +43 -0
  135. package/lib/utils/index.ts +3 -0
  136. package/package.json +40 -57
  137. package/tsconfig.json +5 -4
  138. package/dist/dataset/index.d.ts +0 -24
  139. package/dist/dataset/index.d.ts.map +0 -1
  140. package/dist/dataset/index.js +0 -178
  141. package/dist/dataset/index.js.map +0 -7
  142. package/dist/dataset/index.mjs +0 -157
  143. package/dist/dataset/index.mjs.map +0 -7
  144. package/dist/node/node.sw.tpl +0 -133
  145. package/dist/node/utils/node.sw.tpl +0 -133
  146. package/dist/proxy-signal/index.d.ts +0 -23
  147. package/dist/proxy-signal/index.d.ts.map +0 -1
  148. package/dist/proxy-signal/index.js +0 -138
  149. package/dist/proxy-signal/index.js.map +0 -7
  150. package/dist/proxy-signal/index.mjs +0 -117
  151. package/dist/proxy-signal/index.mjs.map +0 -7
  152. package/dist/signal/index.d.ts +0 -9
  153. package/dist/signal/index.d.ts.map +0 -1
  154. package/dist/signal/index.js +0 -76
  155. package/dist/signal/index.js.map +0 -7
  156. package/dist/signal/index.mjs +0 -55
  157. package/dist/signal/index.mjs.map +0 -7
  158. package/dist/store/index.d.ts +0 -16
  159. package/dist/store/index.d.ts.map +0 -1
  160. package/dist/store/index.js +0 -93
  161. package/dist/store/index.js.map +0 -7
  162. package/dist/store/index.mjs +0 -72
  163. package/dist/store/index.mjs.map +0 -7
  164. package/lib/dataset/index.ts +0 -193
  165. package/lib/node/utils/node.sw.tpl +0 -133
  166. package/lib/proxy-signal/index.ts +0 -187
  167. package/lib/signal/index.ts +0 -86
  168. package/lib/store/index.ts +0 -101
@@ -1,5 +1,6 @@
1
1
  // lib/hooks/index.ts
2
- import { current, directive, onCleanup, onUnmount, update } from "valyrian.js";
2
+ import { current, directive, onCleanup, onUnmount, debouncedUpdate } from "valyrian.js";
3
+ import { hasChanged } from "valyrian.js/utils";
3
4
  var componentToHooksWeakMap = /* @__PURE__ */ new WeakMap();
4
5
  var createHook = function createHook2({
5
6
  onCreate,
@@ -10,19 +11,19 @@ var createHook = function createHook2({
10
11
  }) {
11
12
  return (...args) => {
12
13
  const component = current.component;
13
- let hook = null;
14
- if (componentToHooksWeakMap.has(component) === false) {
15
- const HookCalls2 = { hooks: [], hook_calls: -1 };
16
- componentToHooksWeakMap.set(component, HookCalls2);
17
- onUnmount(() => componentToHooksWeakMap.delete(component));
14
+ let HookCalls = componentToHooksWeakMap.get(component);
15
+ if (!HookCalls) {
16
+ HookCalls = { hooks: [], hook_calls: -1 };
17
+ componentToHooksWeakMap.set(component, HookCalls);
18
+ onUnmount(() => {
19
+ componentToHooksWeakMap.delete(component);
20
+ });
18
21
  }
19
- const HookCalls = componentToHooksWeakMap.get(component);
20
22
  onCleanup(() => HookCalls.hook_calls = -1);
21
- hook = HookCalls.hooks[++HookCalls.hook_calls];
23
+ let hook = HookCalls.hooks[++HookCalls.hook_calls];
22
24
  if (hook) {
23
- onUpdateHook && onUpdateHook(hook, ...args);
24
- }
25
- if (!hook) {
25
+ onUpdateHook?.(hook, ...args);
26
+ } else {
26
27
  hook = onCreate(...args);
27
28
  HookCalls.hooks.push(hook);
28
29
  onRemove && onUnmount(() => onRemove(hook));
@@ -31,27 +32,20 @@ var createHook = function createHook2({
31
32
  return returnValue ? returnValue(hook) : hook;
32
33
  };
33
34
  };
34
- var updateTimeout;
35
- function delayedUpdate() {
36
- clearTimeout(updateTimeout);
37
- updateTimeout = setTimeout(update);
38
- }
39
35
  var useState = createHook({
40
36
  onCreate: (value) => {
37
+ let state = value;
41
38
  function get() {
42
- return value;
39
+ return state;
43
40
  }
44
- get.value = value;
45
- get.toJSON = get.valueOf = get;
46
- get.toString = () => `${value}`;
47
41
  function set(newValue) {
48
- if (current.event) {
42
+ if (current.event && !current.event.defaultPrevented) {
49
43
  current.event.preventDefault();
50
44
  }
51
- if (value !== newValue) {
52
- value = newValue;
53
- get.value = newValue;
54
- delayedUpdate();
45
+ const resolvedValue = typeof newValue === "function" ? newValue(state) : newValue;
46
+ if (hasChanged(state, resolvedValue)) {
47
+ state = resolvedValue;
48
+ debouncedUpdate();
55
49
  }
56
50
  }
57
51
  return [get, set];
@@ -77,17 +71,15 @@ var useEffect = createHook({
77
71
  hook.onCleanup = hook.effect();
78
72
  return;
79
73
  }
80
- if (Array.isArray(changes)) {
81
- for (let i = 0, l = changes.length; i < l; i++) {
82
- if (changes[i] !== hook.prev[i]) {
83
- hook.prev = changes;
84
- if (typeof hook.onCleanup === "function") {
85
- hook.onCleanup();
86
- }
87
- hook.onCleanup = hook.effect();
88
- return;
89
- }
74
+ if (Array.isArray(changes) && changes.length === 0) {
75
+ return;
76
+ }
77
+ if (Array.isArray(changes) && hasChanged(hook.prev, changes)) {
78
+ hook.prev = changes;
79
+ if (typeof hook.onCleanup === "function") {
80
+ hook.onCleanup();
90
81
  }
82
+ hook.onCleanup = hook.effect();
91
83
  }
92
84
  },
93
85
  onRemove: (hook) => {
@@ -109,35 +101,27 @@ var useRef = createHook({
109
101
  });
110
102
  var useCallback = createHook({
111
103
  onCreate: (callback, changes) => {
112
- callback();
113
104
  return { callback, changes };
114
105
  },
115
106
  onUpdate: (hook, callback, changes) => {
116
- for (let i = 0, l = changes.length; i < l; i++) {
117
- if (changes[i] !== hook.changes[i]) {
118
- hook.changes = changes;
119
- hook.callback();
120
- return;
121
- }
107
+ if (hasChanged(hook.changes, changes)) {
108
+ hook.changes = changes;
109
+ hook.callback = callback;
122
110
  }
123
- }
111
+ },
112
+ returnValue: (hook) => hook.callback
124
113
  });
125
114
  var useMemo = createHook({
126
115
  onCreate: (callback, changes) => {
127
116
  return { callback, changes, value: callback() };
128
117
  },
129
118
  onUpdate: (hook, callback, changes) => {
130
- for (let i = 0, l = changes.length; i < l; i++) {
131
- if (changes[i] !== hook.changes[i]) {
132
- hook.changes = changes;
133
- hook.value = callback();
134
- return;
135
- }
119
+ if (hasChanged(hook.changes, changes)) {
120
+ hook.changes = changes;
121
+ hook.value = callback();
136
122
  }
137
123
  },
138
- returnValue: (hook) => {
139
- return hook.value;
140
- }
124
+ returnValue: (hook) => hook.value
141
125
  });
142
126
  export {
143
127
  createHook,
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../lib/hooks/index.ts"],
4
- "sourcesContent": ["import { Component, POJOComponent, current, directive, onCleanup, onUnmount, update } from \"valyrian.js\";\n\nexport type Hook = any;\n\nexport interface HookDefinition {\n // eslint-disable-next-line no-unused-vars\n onCreate: (...args: any[]) => any;\n // eslint-disable-next-line no-unused-vars\n onUpdate?: (hook: Hook, ...args: any[]) => any;\n // eslint-disable-next-line no-unused-vars\n onCleanup?: (hook: Hook) => any;\n // eslint-disable-next-line no-unused-vars\n onRemove?: (hook: Hook) => any;\n // eslint-disable-next-line no-unused-vars\n returnValue?: (hook: Hook) => any;\n}\n\nexport interface CreateHook {\n // eslint-disable-next-line no-unused-vars\n (HookDefinition: HookDefinition): (...args: any[]) => any;\n}\n\ntype HookCalls = {\n hooks: Hook[];\n hook_calls: number;\n};\n\nconst componentToHooksWeakMap = new WeakMap<Component | POJOComponent, HookCalls>();\n\nexport const createHook = function createHook({\n onCreate,\n onUpdate: onUpdateHook,\n onCleanup: onCleanupHook,\n onRemove,\n returnValue\n}: HookDefinition): Hook {\n return (...args: any[]) => {\n const component = current.component as Component | POJOComponent;\n let hook: any = null;\n\n if (componentToHooksWeakMap.has(component) === false) {\n const HookCalls = { hooks: [], hook_calls: -1 };\n componentToHooksWeakMap.set(component, HookCalls);\n onUnmount(() => componentToHooksWeakMap.delete(component));\n }\n\n const HookCalls = componentToHooksWeakMap.get(component) as HookCalls;\n onCleanup(() => (HookCalls.hook_calls = -1));\n\n hook = HookCalls.hooks[++HookCalls.hook_calls];\n\n if (hook) {\n onUpdateHook && onUpdateHook(hook, ...args);\n }\n\n // If the hook doesn't exist, create it\n if (!hook) {\n hook = onCreate(...args);\n HookCalls.hooks.push(hook);\n onRemove && onUnmount(() => onRemove(hook));\n }\n\n onCleanupHook && onCleanup(() => onCleanupHook(hook));\n return returnValue ? returnValue(hook) : hook;\n };\n} as unknown as CreateHook;\n\nlet updateTimeout: any;\nfunction delayedUpdate() {\n clearTimeout(updateTimeout);\n updateTimeout = setTimeout(update);\n}\n\n// Use state hook\nexport const useState = createHook({\n onCreate: (value) => {\n function get() {\n return value;\n }\n get.value = value;\n get.toJSON = get.valueOf = get;\n get.toString = () => `${value}`;\n\n function set(newValue: any) {\n if (current.event) {\n current.event.preventDefault();\n }\n\n if (value !== newValue) {\n value = newValue;\n get.value = newValue;\n delayedUpdate();\n }\n }\n\n return [get, set];\n }\n});\n\n// Effect hook\nexport const useEffect = createHook({\n onCreate: (effect: Function, changes: any[]) => {\n const hook: {\n effect: Function;\n prev: any[];\n onRemove?: Function;\n onCleanup?: Function;\n } = { effect, prev: [] };\n // on unmount\n if (changes === null) {\n hook.onRemove = effect;\n return hook;\n }\n\n // on create\n hook.prev = changes;\n hook.onCleanup = hook.effect();\n return hook;\n },\n onUpdate: (hook, effect, changes) => {\n // on update\n if (typeof changes === \"undefined\") {\n hook.prev = changes;\n if (typeof hook.onCleanup === \"function\") {\n hook.onCleanup();\n }\n hook.onCleanup = hook.effect();\n return;\n }\n\n // on update if there are changes\n if (Array.isArray(changes)) {\n for (let i = 0, l = changes.length; i < l; i++) {\n if (changes[i] !== hook.prev[i]) {\n hook.prev = changes;\n if (typeof hook.onCleanup === \"function\") {\n hook.onCleanup();\n }\n hook.onCleanup = hook.effect();\n return;\n }\n }\n }\n },\n onRemove: (hook) => {\n if (typeof hook.onCleanup === \"function\") {\n hook.onCleanup();\n }\n if (typeof hook.onRemove === \"function\") {\n hook.onRemove();\n }\n }\n});\n\nexport const useRef = createHook({\n onCreate: (initialValue) => {\n directive(\"ref\", (ref, vnode) => {\n ref.current = vnode.dom;\n });\n return { current: initialValue };\n }\n});\n\nexport const useCallback = createHook({\n onCreate: (callback, changes) => {\n callback();\n return { callback, changes };\n },\n onUpdate: (hook, callback, changes) => {\n for (let i = 0, l = changes.length; i < l; i++) {\n if (changes[i] !== hook.changes[i]) {\n hook.changes = changes;\n hook.callback();\n return;\n }\n }\n }\n});\n\nexport const useMemo = createHook({\n onCreate: (callback, changes) => {\n return { callback, changes, value: callback() };\n },\n onUpdate: (hook, callback, changes) => {\n for (let i = 0, l = changes.length; i < l; i++) {\n if (changes[i] !== hook.changes[i]) {\n hook.changes = changes;\n hook.value = callback();\n return;\n }\n }\n },\n returnValue: (hook) => {\n return hook.value;\n }\n});\n"],
5
- "mappings": "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",
6
- "names": ["createHook", "HookCalls"]
4
+ "sourcesContent": ["import { Component, POJOComponent, current, directive, onCleanup, onUnmount, debouncedUpdate } from \"valyrian.js\";\nimport { hasChanged } from \"valyrian.js/utils\";\n\nexport type Hook = any;\n\nexport interface HookDefinition {\n // eslint-disable-next-line no-unused-vars\n onCreate: (...args: any[]) => any;\n // eslint-disable-next-line no-unused-vars\n onUpdate?: (hook: Hook, ...args: any[]) => any;\n // eslint-disable-next-line no-unused-vars\n onCleanup?: (hook: Hook) => any;\n // eslint-disable-next-line no-unused-vars\n onRemove?: (hook: Hook) => any;\n // eslint-disable-next-line no-unused-vars\n returnValue?: (hook: Hook) => any;\n}\n\nexport interface CreateHook {\n // eslint-disable-next-line no-unused-vars\n (HookDefinition: HookDefinition): (...args: any[]) => any;\n}\n\ntype HookCalls = {\n hooks: Hook[];\n hook_calls: number;\n};\n\nconst componentToHooksWeakMap = new WeakMap<Component | POJOComponent, HookCalls>();\n\nexport const createHook = function createHook({\n onCreate,\n onUpdate: onUpdateHook,\n onCleanup: onCleanupHook,\n onRemove,\n returnValue\n}: HookDefinition): Hook {\n return (...args: any[]) => {\n const component = current.component as Component | POJOComponent;\n let HookCalls = componentToHooksWeakMap.get(component);\n\n if (!HookCalls) {\n HookCalls = { hooks: [], hook_calls: -1 } as HookCalls;\n componentToHooksWeakMap.set(component, HookCalls);\n onUnmount(() => {\n componentToHooksWeakMap.delete(component);\n });\n }\n\n onCleanup(() => ((HookCalls as HookCalls).hook_calls = -1));\n\n let hook = HookCalls.hooks[++HookCalls.hook_calls];\n if (hook) {\n onUpdateHook?.(hook, ...args);\n } else {\n hook = onCreate(...args);\n HookCalls.hooks.push(hook);\n onRemove && onUnmount(() => onRemove(hook));\n }\n\n onCleanupHook && onCleanup(() => onCleanupHook(hook));\n return returnValue ? returnValue(hook) : hook;\n };\n} as unknown as CreateHook;\n\n// Use state hook\nexport const useState = createHook({\n onCreate: (value) => {\n let state = value;\n function get() {\n return state;\n }\n\n function set(newValue: any) {\n if (current.event && !current.event.defaultPrevented) {\n current.event.preventDefault();\n }\n\n const resolvedValue = typeof newValue === \"function\" ? newValue(state) : newValue;\n\n if (hasChanged(state, resolvedValue)) {\n state = resolvedValue;\n debouncedUpdate();\n }\n }\n\n return [get, set];\n }\n});\n\nexport const useEffect = createHook({\n onCreate: (effect: Function, changes: any[]) => {\n const hook: {\n effect: Function;\n prev: any[];\n onRemove?: Function;\n onCleanup?: Function;\n } = { effect, prev: [] };\n // on unmount\n if (changes === null) {\n hook.onRemove = effect;\n return hook;\n }\n\n // on create\n hook.prev = changes;\n hook.onCleanup = hook.effect();\n return hook;\n },\n onUpdate: (hook, effect, changes) => {\n // on update\n if (typeof changes === \"undefined\") {\n hook.prev = changes;\n if (typeof hook.onCleanup === \"function\") {\n hook.onCleanup();\n }\n hook.onCleanup = hook.effect();\n return;\n }\n\n if (Array.isArray(changes) && changes.length === 0) {\n // Si las dependencias son un array vac\u00EDo, no se debe volver a ejecutar.\n return;\n }\n\n // on update if there are changes\n if (Array.isArray(changes) && hasChanged(hook.prev, changes)) {\n hook.prev = changes;\n if (typeof hook.onCleanup === \"function\") {\n hook.onCleanup();\n }\n hook.onCleanup = hook.effect();\n }\n },\n onRemove: (hook) => {\n if (typeof hook.onCleanup === \"function\") {\n hook.onCleanup();\n }\n if (typeof hook.onRemove === \"function\") {\n hook.onRemove();\n }\n }\n});\n\nexport const useRef = createHook({\n onCreate: (initialValue) => {\n directive(\"ref\", (ref, vnode) => {\n ref.current = vnode.dom;\n });\n return { current: initialValue };\n }\n});\n\nexport const useCallback = createHook({\n onCreate: (callback, changes) => {\n return { callback, changes };\n },\n onUpdate: (hook, callback, changes) => {\n if (hasChanged(hook.changes, changes)) {\n hook.changes = changes;\n hook.callback = callback;\n }\n },\n returnValue: (hook) => hook.callback\n});\n\nexport const useMemo = createHook({\n onCreate: (callback, changes) => {\n return { callback, changes, value: callback() };\n },\n onUpdate: (hook, callback, changes) => {\n if (hasChanged(hook.changes, changes)) {\n hook.changes = changes;\n hook.value = callback();\n }\n },\n returnValue: (hook) => hook.value\n});\n"],
5
+ "mappings": "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",
6
+ "names": ["createHook"]
7
7
  }
package/dist/index.d.ts CHANGED
@@ -3,17 +3,19 @@ declare global {
3
3
  namespace JSX {
4
4
  interface IntrinsicElements extends DefaultRecord {
5
5
  }
6
+ type Element = ReturnType<typeof v | ((...args: any) => string | number | null | undefined | boolean | Promise<any>)>;
7
+ type ComponentReturnType = string | number | null | undefined | boolean | Element | Element[];
6
8
  }
7
9
  }
8
10
  interface DefaultRecord extends Record<string | number | symbol, any> {
9
11
  }
10
- export interface VnodeProperties extends DefaultRecord {
12
+ export interface Properties extends DefaultRecord {
11
13
  key?: string | number;
12
14
  }
13
15
  export interface DomElement extends Element, DefaultRecord {
14
16
  }
15
17
  export interface Component extends DefaultRecord {
16
- (props: VnodeProperties, children: any[]): Vnode | any;
18
+ (props: Properties, children: any[]): Vnode | any;
17
19
  }
18
20
  export interface POJOComponent extends DefaultRecord {
19
21
  view: Component;
@@ -25,30 +27,31 @@ export interface VnodeComponentInterface extends Vnode {
25
27
  export interface Children extends Array<Vnode | VnodeComponentInterface | ValyrianComponent | any> {
26
28
  }
27
29
  export interface Directive {
28
- (value: any, vnode: VnodeWithDom, oldProps: VnodeProperties | null): void | boolean;
30
+ (value: any, vnode: VnodeWithDom, oldProps: Properties | null): false | void | any;
29
31
  }
30
32
  export declare const isNodeJs: boolean;
31
33
  export declare class Vnode {
32
34
  tag: string | Component | POJOComponent;
33
- props: null | VnodeProperties;
35
+ props: null | Properties;
34
36
  children: Children;
35
37
  dom?: DomElement | undefined;
36
38
  isSVG?: boolean | undefined;
37
- constructor(tag: string | Component | POJOComponent, props: null | VnodeProperties, children: Children, dom?: DomElement | undefined, isSVG?: boolean | undefined);
39
+ constructor(tag: string | Component | POJOComponent, props: null | Properties, children: Children, dom?: DomElement | undefined, isSVG?: boolean | undefined);
38
40
  }
39
41
  export interface VnodeWithDom extends Vnode {
40
42
  tag: string;
41
43
  dom: DomElement;
42
- props: VnodeProperties;
44
+ props: Properties;
43
45
  }
46
+ export declare const isPOJOComponent: (component: unknown) => component is POJOComponent;
44
47
  export declare const isComponent: (component: unknown) => component is Component;
45
48
  export declare const isVnode: (object?: unknown) => object is Vnode;
46
49
  export declare const isVnodeComponent: (object?: unknown) => object is VnodeComponentInterface;
47
- export declare function v(tagOrComponent: string | Component, props: VnodeProperties, ...children: Children): Vnode;
50
+ export declare function v(tagOrComponent: string | ValyrianComponent, props: Properties | null, ...children: Children): Vnode;
48
51
  export declare namespace v {
49
- var fragment: (_: VnodeProperties, ...children: Children) => Children;
52
+ var fragment: (_: Properties, ...children: Children) => Children;
50
53
  }
51
- export declare function domToVnode(dom: any): VnodeWithDom | void;
54
+ export declare function hidrateDomToVnode(dom: any): VnodeWithDom | void;
52
55
  export declare function trust(htmlString: string): (void | VnodeWithDom)[];
53
56
  export declare const current: {
54
57
  vnode: Vnode | null;
@@ -62,13 +65,14 @@ export declare const onCleanup: (callback: Function) => Set<Function>;
62
65
  export declare const onUnmount: (callback: Function) => false | Set<Function>;
63
66
  export declare const directives: Record<string, Directive>;
64
67
  export declare function directive(name: string, directive: Directive): void;
68
+ export declare function setPropNameReserved(name: string): void;
65
69
  export declare function setAttribute(name: string, value: any, newVnode: VnodeWithDom): void;
66
- export declare function updateAttributes(newVnode: VnodeWithDom, oldProps: VnodeProperties | null): void;
70
+ export declare function updateAttributes(newVnode: VnodeWithDom, oldProps: Properties | null): void;
67
71
  export declare function createElement(tag: string, isSVG: boolean): DomElement;
68
- export declare function patch(newVnode: VnodeWithDom): void;
69
72
  export declare function updateVnode(vnode: VnodeWithDom): string | void;
70
- export declare function update(): void | string;
71
- export declare function unmount(): string | void;
72
- export declare function mount(dom: string | DomElement, component: any): string | void;
73
+ export declare function update(): string;
74
+ export declare function debouncedUpdate(): void;
75
+ export declare function unmount(): string;
76
+ export declare function mount(dom: string | DomElement, component: ValyrianComponent | VnodeComponentInterface | any): string;
73
77
  export {};
74
78
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../lib/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../lib/index.ts"],"names":[],"mappings":"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"}