@fukict/basic 0.1.1 → 0.1.3

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 (58) hide show
  1. package/README.md +27 -6
  2. package/dist/component-class/fukict.d.ts +7 -4
  3. package/dist/component-class/fukict.d.ts.map +1 -1
  4. package/dist/component-class/fukict.js +22 -15
  5. package/dist/component-class/fukict.js.map +1 -1
  6. package/dist/index.d.ts +2 -2
  7. package/dist/index.d.ts.map +1 -1
  8. package/dist/index.js.map +1 -1
  9. package/dist/metadata.d.ts +1 -1
  10. package/dist/metadata.js +1 -1
  11. package/dist/renderer/attributes.d.ts +2 -2
  12. package/dist/renderer/attributes.d.ts.map +1 -1
  13. package/dist/renderer/attributes.js +9 -14
  14. package/dist/renderer/attributes.js.map +1 -1
  15. package/dist/renderer/class-helpers.d.ts.map +1 -1
  16. package/dist/renderer/class-helpers.js +2 -8
  17. package/dist/renderer/class-helpers.js.map +1 -1
  18. package/dist/renderer/create.d.ts.map +1 -1
  19. package/dist/renderer/create.js +29 -1
  20. package/dist/renderer/create.js.map +1 -1
  21. package/dist/renderer/diff/helpers.d.ts.map +1 -1
  22. package/dist/renderer/diff/helpers.js +13 -0
  23. package/dist/renderer/diff/helpers.js.map +1 -1
  24. package/dist/renderer/diff/index.d.ts.map +1 -1
  25. package/dist/renderer/diff/index.js +4 -0
  26. package/dist/renderer/diff/index.js.map +1 -1
  27. package/dist/renderer/diff/primitive.d.ts +12 -0
  28. package/dist/renderer/diff/primitive.d.ts.map +1 -0
  29. package/dist/renderer/diff/primitive.js +50 -0
  30. package/dist/renderer/diff/primitive.js.map +1 -0
  31. package/dist/renderer/diff/props.d.ts.map +1 -1
  32. package/dist/renderer/diff/props.js +10 -0
  33. package/dist/renderer/diff/props.js.map +1 -1
  34. package/dist/renderer/mount.d.ts.map +1 -1
  35. package/dist/renderer/mount.js +30 -0
  36. package/dist/renderer/mount.js.map +1 -1
  37. package/dist/renderer/vnode-helpers.d.ts +10 -1
  38. package/dist/renderer/vnode-helpers.d.ts.map +1 -1
  39. package/dist/renderer/vnode-helpers.js +11 -0
  40. package/dist/renderer/vnode-helpers.js.map +1 -1
  41. package/dist/types/class.d.ts +25 -2
  42. package/dist/types/class.d.ts.map +1 -1
  43. package/dist/types/core.d.ts +27 -3
  44. package/dist/types/core.d.ts.map +1 -1
  45. package/dist/types/core.js +1 -0
  46. package/dist/types/core.js.map +1 -1
  47. package/dist/types/dom-attributes.d.ts +8 -1
  48. package/dist/types/dom-attributes.d.ts.map +1 -1
  49. package/dist/types/events.d.ts +2 -1
  50. package/dist/types/events.d.ts.map +1 -1
  51. package/dist/types/index.d.ts +2 -2
  52. package/dist/types/index.d.ts.map +1 -1
  53. package/dist/types/index.js.map +1 -1
  54. package/dist/vnode.d.ts +9 -3
  55. package/dist/vnode.d.ts.map +1 -1
  56. package/dist/vnode.js +71 -2
  57. package/dist/vnode.js.map +1 -1
  58. package/package.json +4 -1
@@ -0,0 +1,50 @@
1
+ import { VNodeType } from '../../types/index.js';
2
+ import { setupPrimitiveVNode } from '../vnode-helpers.js';
3
+ import { replaceNode } from './helpers.js';
4
+ /**
5
+ * Diff Primitive VNode
6
+ * Updates text content or replaces node if type changes
7
+ */
8
+ export function diffPrimitive(oldVNode, newVNode, container) {
9
+ if (oldVNode.__type__ !== VNodeType.Primitive ||
10
+ newVNode.__type__ !== VNodeType.Primitive) {
11
+ throw new Error('Expected PrimitiveVNode');
12
+ }
13
+ const oldPrimitive = oldVNode;
14
+ const newPrimitive = newVNode;
15
+ // Value unchanged - reuse DOM
16
+ if (oldPrimitive.value === newPrimitive.value) {
17
+ newPrimitive.__dom__ = oldPrimitive.__dom__;
18
+ return;
19
+ }
20
+ const oldValue = oldPrimitive.value;
21
+ const newValue = newPrimitive.value;
22
+ const oldDom = oldPrimitive.__dom__;
23
+ // Both are renderable strings/numbers - update text content
24
+ if ((typeof oldValue === 'string' || typeof oldValue === 'number') &&
25
+ (typeof newValue === 'string' || typeof newValue === 'number')) {
26
+ if (oldDom && oldDom.nodeType === Node.TEXT_NODE) {
27
+ oldDom.textContent = String(newValue);
28
+ setupPrimitiveVNode(newPrimitive, oldDom);
29
+ return;
30
+ }
31
+ }
32
+ // Both are non-renderable - update comment content
33
+ if ((typeof oldValue === 'boolean' ||
34
+ oldValue === null ||
35
+ oldValue === undefined) &&
36
+ (typeof newValue === 'boolean' ||
37
+ newValue === null ||
38
+ newValue === undefined)) {
39
+ if (oldDom && oldDom.nodeType === Node.COMMENT_NODE) {
40
+ // Update comment content
41
+ const comment = oldDom;
42
+ comment.textContent = `fukict:primitive:${newValue === null ? 'null' : newValue === undefined ? 'undefined' : newValue}`;
43
+ setupPrimitiveVNode(newPrimitive, comment);
44
+ return;
45
+ }
46
+ }
47
+ // Type changed (renderable ↔ non-renderable) - replace node
48
+ replaceNode(oldPrimitive, newPrimitive, container);
49
+ }
50
+ //# sourceMappingURL=primitive.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"primitive.js","sourceRoot":"","sources":["../../../src/renderer/diff/primitive.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAE3C;;;GAGG;AACH,MAAM,UAAU,aAAa,CAC3B,QAAe,EACf,QAAe,EACf,SAAkB;IAElB,IACE,QAAQ,CAAC,QAAQ,KAAK,SAAS,CAAC,SAAS;QACzC,QAAQ,CAAC,QAAQ,KAAK,SAAS,CAAC,SAAS,EACzC,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC7C,CAAC;IAED,MAAM,YAAY,GAAG,QAA0B,CAAC;IAChD,MAAM,YAAY,GAAG,QAA0B,CAAC;IAEhD,8BAA8B;IAC9B,IAAI,YAAY,CAAC,KAAK,KAAK,YAAY,CAAC,KAAK,EAAE,CAAC;QAC9C,YAAY,CAAC,OAAO,GAAG,YAAY,CAAC,OAAO,CAAC;QAC5C,OAAO;IACT,CAAC;IAED,MAAM,QAAQ,GAAG,YAAY,CAAC,KAAK,CAAC;IACpC,MAAM,QAAQ,GAAG,YAAY,CAAC,KAAK,CAAC;IACpC,MAAM,MAAM,GAAG,YAAY,CAAC,OAAO,CAAC;IAEpC,4DAA4D;IAC5D,IACE,CAAC,OAAO,QAAQ,KAAK,QAAQ,IAAI,OAAO,QAAQ,KAAK,QAAQ,CAAC;QAC9D,CAAC,OAAO,QAAQ,KAAK,QAAQ,IAAI,OAAO,QAAQ,KAAK,QAAQ,CAAC,EAC9D,CAAC;QACD,IAAI,MAAM,IAAI,MAAM,CAAC,QAAQ,KAAK,IAAI,CAAC,SAAS,EAAE,CAAC;YACjD,MAAM,CAAC,WAAW,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;YACtC,mBAAmB,CAAC,YAAY,EAAE,MAAc,CAAC,CAAC;YAClD,OAAO;QACT,CAAC;IACH,CAAC;IAED,mDAAmD;IACnD,IACE,CAAC,OAAO,QAAQ,KAAK,SAAS;QAC5B,QAAQ,KAAK,IAAI;QACjB,QAAQ,KAAK,SAAS,CAAC;QACzB,CAAC,OAAO,QAAQ,KAAK,SAAS;YAC5B,QAAQ,KAAK,IAAI;YACjB,QAAQ,KAAK,SAAS,CAAC,EACzB,CAAC;QACD,IAAI,MAAM,IAAI,MAAM,CAAC,QAAQ,KAAK,IAAI,CAAC,YAAY,EAAE,CAAC;YACpD,yBAAyB;YACzB,MAAM,OAAO,GAAG,MAAiB,CAAC;YAClC,OAAO,CAAC,WAAW,GAAG,oBAAoB,QAAQ,KAAK,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;YACzH,mBAAmB,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;YAC3C,OAAO;QACT,CAAC;IACH,CAAC;IAED,4DAA4D;IAC5D,WAAW,CAAC,YAAY,EAAE,YAAY,EAAE,SAAS,CAAC,CAAC;AACrD,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"props.d.ts","sourceRoot":"","sources":["../../../src/renderer/diff/props.ts"],"names":[],"mappings":"AAQA;;GAEG;AACH,KAAK,SAAS,GAAG,OAAO,CAAC;AAEzB;;GAEG;AACH,wBAAgB,UAAU,CACxB,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,IAAI,EAC1C,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,IAAI,GACzC,IAAI,CAoBN;AAED;;GAEG;AACH,wBAAgB,OAAO,CACrB,OAAO,EAAE,OAAO,EAChB,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,SAAS,EAChB,QAAQ,CAAC,EAAE,SAAS,GACnB,IAAI,CAwDN;AAED;;GAEG;AACH,wBAAgB,UAAU,CACxB,OAAO,EAAE,OAAO,EAChB,GAAG,EAAE,MAAM,EACX,QAAQ,EAAE,SAAS,GAClB,IAAI,CAkBN"}
1
+ {"version":3,"file":"props.d.ts","sourceRoot":"","sources":["../../../src/renderer/diff/props.ts"],"names":[],"mappings":"AAQA;;GAEG;AACH,KAAK,SAAS,GAAG,OAAO,CAAC;AAEzB;;GAEG;AACH,wBAAgB,UAAU,CACxB,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,IAAI,EAC1C,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,IAAI,GACzC,IAAI,CAoBN;AAED;;GAEG;AACH,wBAAgB,OAAO,CACrB,OAAO,EAAE,OAAO,EAChB,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,SAAS,EAChB,QAAQ,CAAC,EAAE,SAAS,GACnB,IAAI,CA8DN;AAED;;GAEG;AACH,wBAAgB,UAAU,CACxB,OAAO,EAAE,OAAO,EAChB,GAAG,EAAE,MAAM,EACX,QAAQ,EAAE,SAAS,GAClB,IAAI,CAwBN"}
@@ -34,6 +34,11 @@ export function setProp(element, key, value, oldValue) {
34
34
  value(element);
35
35
  return;
36
36
  }
37
+ // Handle fukict:html (innerHTML setter)
38
+ if (key === 'fukict:html') {
39
+ dom.setProperty(element, 'innerHTML', value ?? '');
40
+ return;
41
+ }
37
42
  // Handle events (on: prefix)
38
43
  if (key.startsWith('on:')) {
39
44
  const eventName = key.slice(3);
@@ -80,6 +85,11 @@ export function setProp(element, key, value, oldValue) {
80
85
  * Remove single prop
81
86
  */
82
87
  export function removeProp(element, key, oldValue) {
88
+ // Handle fukict:html (innerHTML cleanup)
89
+ if (key === 'fukict:html') {
90
+ dom.setProperty(element, 'innerHTML', '');
91
+ return;
92
+ }
83
93
  // Handle events (on: prefix)
84
94
  if (key.startsWith('on:')) {
85
95
  const eventName = key.slice(3);
@@ -1 +1 @@
1
- {"version":3,"file":"props.js","sourceRoot":"","sources":["../../../src/renderer/diff/props.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"props.js","sourceRoot":"","sources":["../../../src/renderer/diff/props.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAAK,GAAG,MAAM,oBAAoB,CAAC;AAQ1C;;GAEG;AACH,MAAM,UAAU,UAAU,CACxB,OAAgB,EAChB,QAA0C,EAC1C,QAA0C;IAE1C,MAAM,GAAG,GAAG,QAAQ,IAAI,EAAE,CAAC;IAC3B,MAAM,IAAI,GAAG,QAAQ,IAAI,EAAE,CAAC;IAE5B,8BAA8B;IAC9B,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QACnC,IAAI,CAAC,CAAC,GAAG,IAAI,IAAI,CAAC,EAAE,CAAC;YACnB,UAAU,CAAC,OAAO,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;QACrC,CAAC;IACH,CAAC;IAED,gBAAgB;IAChB,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QACpC,MAAM,QAAQ,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;QAC1B,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC;QAE3B,IAAI,QAAQ,KAAK,QAAQ,EAAE,CAAC;YAC1B,OAAO,CAAC,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;QAC5C,CAAC;IACH,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,OAAO,CACrB,OAAgB,EAChB,GAAW,EACX,KAAgB,EAChB,QAAoB;IAEpB,sBAAsB;IACtB,IAAI,GAAG,KAAK,KAAK,IAAI,OAAO,KAAK,KAAK,UAAU,EAAE,CAAC;QAChD,KAA+B,CAAC,OAAO,CAAC,CAAC;QAC1C,OAAO;IACT,CAAC;IAED,wCAAwC;IACxC,IAAI,GAAG,KAAK,aAAa,EAAE,CAAC;QAC1B,GAAG,CAAC,WAAW,CAAC,OAAO,EAAE,WAAW,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC;QACnD,OAAO;IACT,CAAC;IAED,6BAA6B;IAC7B,IAAI,GAAG,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;QAC1B,MAAM,SAAS,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC/B,gCAAgC;QAChC,IAAI,QAAQ,IAAI,OAAO,QAAQ,KAAK,UAAU,EAAE,CAAC;YAC/C,GAAG,CAAC,mBAAmB,CAAC,OAAO,EAAE,SAAS,EAAE,QAAyB,CAAC,CAAC;QACzE,CAAC;QACD,mBAAmB;QACnB,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,UAAU,EAAE,CAAC;YACzC,GAAG,CAAC,gBAAgB,CAAC,OAAO,EAAE,SAAS,EAAE,KAAsB,CAAC,CAAC;QACnE,CAAC;QACD,OAAO;IACT,CAAC;IAED,sBAAsB;IACtB,IAAI,GAAG,KAAK,OAAO,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QACnE,MAAM,QAAQ,GAAG,CACf,OAAO,QAAQ,KAAK,QAAQ,IAAI,QAAQ,KAAK,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CACxC,CAAC;QAC5B,MAAM,QAAQ,GAAG,KAA+B,CAAC;QAEjD,+BAA+B;QAC/B,KAAK,MAAM,QAAQ,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC7C,IAAI,CAAC,CAAC,QAAQ,IAAI,QAAQ,CAAC,EAAE,CAAC;gBAC5B,GAAG,CAAC,QAAQ,CAAC,OAAsB,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAC;YACrD,CAAC;QACH,CAAC;QAED,iBAAiB;QACjB,KAAK,MAAM,CAAC,QAAQ,EAAE,UAAU,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC9D,GAAG,CAAC,QAAQ,CAAC,OAAsB,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;QAC7D,CAAC;QACD,OAAO;IACT,CAAC;IAED,4BAA4B;IAC5B,IAAI,GAAG,KAAK,OAAO,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,UAAU,EAAE,CAAC;QAC/D,GAAG,CAAC,WAAW,CAAC,OAAO,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;QACrC,OAAO;IACT,CAAC;IAED,qCAAqC;IACrC,IAAI,GAAG,KAAK,OAAO,EAAE,CAAC;QACpB,GAAG,CAAC,QAAQ,CAAC,OAAO,EAAE,KAAmB,CAAC,CAAC;QAC3C,OAAO;IACT,CAAC;IAED,4BAA4B;IAC5B,GAAG,CAAC,YAAY,CAAC,OAAO,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;AACxC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,UAAU,CACxB,OAAgB,EAChB,GAAW,EACX,QAAmB;IAEnB,yCAAyC;IACzC,IAAI,GAAG,KAAK,aAAa,EAAE,CAAC;QAC1B,GAAG,CAAC,WAAW,CAAC,OAAO,EAAE,WAAW,EAAE,EAAE,CAAC,CAAC;QAC1C,OAAO;IACT,CAAC;IAED,6BAA6B;IAC7B,IAAI,GAAG,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;QAC1B,MAAM,SAAS,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC/B,IAAI,OAAO,QAAQ,KAAK,UAAU,EAAE,CAAC;YACnC,GAAG,CAAC,mBAAmB,CAAC,OAAO,EAAE,SAAS,EAAE,QAAyB,CAAC,CAAC;QACzE,CAAC;QACD,OAAO;IACT,CAAC;IAED,4BAA4B;IAC5B,IAAI,GAAG,KAAK,OAAO,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,UAAU,EAAE,CAAC;QAC/D,GAAG,CAAC,WAAW,CAAC,OAAO,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC;QAClC,OAAO;IACT,CAAC;IAED,4BAA4B;IAC5B,GAAG,CAAC,eAAe,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;AACpC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"mount.d.ts","sourceRoot":"","sources":["../../src/renderer/mount.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAAK,EAOV,UAAU,EACX,MAAM,mBAAmB,CAAC;AAG3B,KAAK,eAAe,GAChB;IACE,KAAK,EAAE,UAAU,CAAC;IAClB,SAAS,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;CACxB,GACD;IACE,KAAK,EAAE,UAAU,CAAC;IAClB,WAAW,EAAE,OAAO,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;CACxB,CAAC;AA0MN;;GAEG;AAQH;;;;;;;;GAQG;AACH,wBAAgB,QAAQ,CAAC,OAAO,EAAE,eAAe,GAAG,IAAI,CAuCvD"}
1
+ {"version":3,"file":"mount.d.ts","sourceRoot":"","sources":["../../src/renderer/mount.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAAK,EAQV,UAAU,EACX,MAAM,mBAAmB,CAAC;AAG3B,KAAK,eAAe,GAChB;IACE,KAAK,EAAE,UAAU,CAAC;IAClB,SAAS,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;CACxB,GACD;IACE,KAAK,EAAE,UAAU,CAAC;IAClB,WAAW,EAAE,OAAO,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;CACxB,CAAC;AA6ON;;GAEG;AAQH;;;;;;;;GAQG;AACH,wBAAgB,QAAQ,CAAC,OAAO,EAAE,eAAe,GAAG,IAAI,CA0CvD"}
@@ -152,6 +152,33 @@ function activateFunctionComponent(ctx) {
152
152
  autoActivateClassComponentsInTree(rendered, actualContainer);
153
153
  }
154
154
  }
155
+ /**
156
+ * Strategy: Activate Primitive
157
+ */
158
+ function activatePrimitive(ctx) {
159
+ const { vnode, container, placeholder, onMounted } = ctx;
160
+ const dom = vnode.__dom__;
161
+ const actualContainer = container || placeholder?.parentNode;
162
+ if (!actualContainer)
163
+ return;
164
+ // Mount or replace DOM (Text or Comment node)
165
+ if (dom) {
166
+ if (placeholder && placeholder.parentNode) {
167
+ // Replace mode: replace placeholder with primitive node
168
+ placeholder.parentNode.replaceChild(dom, placeholder);
169
+ }
170
+ else {
171
+ // Mount mode: append to container
172
+ actualContainer.appendChild(dom);
173
+ }
174
+ }
175
+ else if (placeholder && placeholder.parentNode) {
176
+ // No DOM but has placeholder - remove placeholder
177
+ // This handles cases where primitive value doesn't create a DOM node
178
+ placeholder.parentNode.removeChild(placeholder);
179
+ }
180
+ onMounted?.();
181
+ }
155
182
  /**
156
183
  * Strategy registry
157
184
  */
@@ -202,6 +229,9 @@ export function activate(options) {
202
229
  onMounted,
203
230
  });
204
231
  break;
232
+ case VNodeType.Primitive:
233
+ activatePrimitive({ vnode: vnodeObj, container, placeholder, onMounted });
234
+ break;
205
235
  default:
206
236
  break;
207
237
  }
@@ -1 +1 @@
1
- {"version":3,"file":"mount.js","sourceRoot":"","sources":["../../src/renderer/mount.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mount.js","sourceRoot":"","sources":["../../src/renderer/mount.ts"],"names":[],"mappings":"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"}
@@ -3,7 +3,7 @@
3
3
  *
4
4
  * Shared logic for setting up VNode references across create and diff operations
5
5
  */
6
- import type { ElementVNode, FragmentVNode, FunctionComponentVNode, VNode } from '../types/index.js';
6
+ import type { ElementVNode, FragmentVNode, FunctionComponentVNode, PrimitiveVNode, VNode } from '../types/index.js';
7
7
  /**
8
8
  * Setup ElementVNode with DOM reference
9
9
  *
@@ -32,4 +32,13 @@ export declare function setupFragmentVNode(vnode: FragmentVNode, nodes: Node[]):
32
32
  * @param domNode - The DOM node or nodes (can be null or Node or Node[])
33
33
  */
34
34
  export declare function setupFunctionComponentVNode(vnode: FunctionComponentVNode, rendered: VNode | undefined, domNode: Node | Node[] | null): void;
35
+ /**
36
+ * Setup PrimitiveVNode with DOM reference
37
+ *
38
+ * Used by both renderPrimitive (create) and diffPrimitive (update).
39
+ *
40
+ * @param vnode - The PrimitiveVNode to setup
41
+ * @param node - The Text or Comment node
42
+ */
43
+ export declare function setupPrimitiveVNode(vnode: PrimitiveVNode, node: Text | Comment): void;
35
44
  //# sourceMappingURL=vnode-helpers.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"vnode-helpers.d.ts","sourceRoot":"","sources":["../../src/renderer/vnode-helpers.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAAK,EACV,YAAY,EACZ,aAAa,EACb,sBAAsB,EACtB,KAAK,EACN,MAAM,mBAAmB,CAAC;AAE3B;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,OAAO,GAAG,IAAI,CAE7E;AAED;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,IAAI,CAE5E;AAED;;;;;;;;GAQG;AACH,wBAAgB,2BAA2B,CACzC,KAAK,EAAE,sBAAsB,EAC7B,QAAQ,EAAE,KAAK,GAAG,SAAS,EAC3B,OAAO,EAAE,IAAI,GAAG,IAAI,EAAE,GAAG,IAAI,GAC5B,IAAI,CAGN"}
1
+ {"version":3,"file":"vnode-helpers.d.ts","sourceRoot":"","sources":["../../src/renderer/vnode-helpers.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAAK,EACV,YAAY,EACZ,aAAa,EACb,sBAAsB,EACtB,cAAc,EACd,KAAK,EACN,MAAM,mBAAmB,CAAC;AAE3B;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,OAAO,GAAG,IAAI,CAE7E;AAED;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,IAAI,CAE5E;AAED;;;;;;;;GAQG;AACH,wBAAgB,2BAA2B,CACzC,KAAK,EAAE,sBAAsB,EAC7B,QAAQ,EAAE,KAAK,GAAG,SAAS,EAC3B,OAAO,EAAE,IAAI,GAAG,IAAI,EAAE,GAAG,IAAI,GAC5B,IAAI,CAGN;AAED;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,cAAc,EACrB,IAAI,EAAE,IAAI,GAAG,OAAO,GACnB,IAAI,CAEN"}
@@ -33,4 +33,15 @@ export function setupFunctionComponentVNode(vnode, rendered, domNode) {
33
33
  vnode.__rendered__ = rendered;
34
34
  vnode.__dom__ = domNode;
35
35
  }
36
+ /**
37
+ * Setup PrimitiveVNode with DOM reference
38
+ *
39
+ * Used by both renderPrimitive (create) and diffPrimitive (update).
40
+ *
41
+ * @param vnode - The PrimitiveVNode to setup
42
+ * @param node - The Text or Comment node
43
+ */
44
+ export function setupPrimitiveVNode(vnode, node) {
45
+ vnode.__dom__ = node;
46
+ }
36
47
  //# sourceMappingURL=vnode-helpers.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"vnode-helpers.js","sourceRoot":"","sources":["../../src/renderer/vnode-helpers.ts"],"names":[],"mappings":"AAYA;;;;;;;GAOG;AACH,MAAM,UAAU,iBAAiB,CAAC,KAAmB,EAAE,OAAgB;IACrE,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC;AAC1B,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,kBAAkB,CAAC,KAAoB,EAAE,KAAa;IACpE,KAAK,CAAC,OAAO,GAAG,KAAK,CAAC;AACxB,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,2BAA2B,CACzC,KAA6B,EAC7B,QAA2B,EAC3B,OAA6B;IAE7B,KAAK,CAAC,YAAY,GAAG,QAAQ,CAAC;IAC9B,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC;AAC1B,CAAC"}
1
+ {"version":3,"file":"vnode-helpers.js","sourceRoot":"","sources":["../../src/renderer/vnode-helpers.ts"],"names":[],"mappings":"AAaA;;;;;;;GAOG;AACH,MAAM,UAAU,iBAAiB,CAAC,KAAmB,EAAE,OAAgB;IACrE,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC;AAC1B,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,kBAAkB,CAAC,KAAoB,EAAE,KAAa;IACpE,KAAK,CAAC,OAAO,GAAG,KAAK,CAAC;AACxB,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,2BAA2B,CACzC,KAA6B,EAC7B,QAA2B,EAC3B,OAA6B;IAE7B,KAAK,CAAC,YAAY,GAAG,QAAQ,CAAC;IAC9B,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC;AAC1B,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,mBAAmB,CACjC,KAAqB,EACrB,IAAoB;IAEpB,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC;AACvB,CAAC"}
@@ -13,10 +13,33 @@ export type Slots = Record<string, VNodeChild | VNodeChild[]>;
13
13
  /**
14
14
  * Ref object type
15
15
  * Holds a reference to a DOM element or component instance
16
+ *
17
+ * @deprecated Direct instance assignment is preferred. Use `refs: { myRef: MyComponent }` instead.
16
18
  */
17
19
  export interface Ref<T = any> {
18
20
  current: T | null;
19
21
  }
22
+ /**
23
+ * Refs object type (for class components)
24
+ * Maps ref names to component instances or DOM elements directly (no wrapper)
25
+ *
26
+ * @example
27
+ * ```ts
28
+ * class Parent extends Fukict {
29
+ * // Type-safe refs
30
+ * declare readonly refs: {
31
+ * counter: Counter;
32
+ * input: HTMLInputElement;
33
+ * };
34
+ *
35
+ * handleClick() {
36
+ * this.refs.counter.increment();
37
+ * this.refs.input.focus();
38
+ * }
39
+ * }
40
+ * ```
41
+ */
42
+ export type Refs = Record<string, any>;
20
43
  /**
21
44
  * Lifecycle hooks interface for Fukict class components
22
45
  */
@@ -49,8 +72,8 @@ export interface FukictComponent<P extends Record<string, any> = {}, S extends S
49
72
  readonly props: P;
50
73
  /** Extracted slots from children */
51
74
  readonly slots: S;
52
- /** Refs map (shared with framework and user) */
53
- readonly refs: Map<string | symbol, Ref>;
75
+ /** Refs object (can be extended by subclasses) */
76
+ readonly refs: Refs;
54
77
  /** Current rendered VNode (internal, framework use) */
55
78
  __vnode__: VNode | null;
56
79
  /** Parent DOM container (internal, framework use) */
@@ -1 +1 @@
1
- {"version":3,"file":"class.d.ts","sourceRoot":"","sources":["../../src/types/class.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAEnD;;;GAGG;AACH,MAAM,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,EAAE,UAAU,GAAG,UAAU,EAAE,CAAC,CAAC;AAE9D;;;GAGG;AACH,MAAM,WAAW,GAAG,CAAC,CAAC,GAAG,GAAG;IAC1B,OAAO,EAAE,CAAC,GAAG,IAAI,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,eAAe,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,GAAG;IAClE;;;OAGG;IACH,OAAO,CAAC,IAAI,IAAI,CAAC;IAEjB;;;OAGG;IACH,aAAa,CAAC,IAAI,IAAI,CAAC;IAEvB;;;OAGG;IACH,OAAO,CAAC,CAAC,SAAS,EAAE,CAAC,GAAG,IAAI,CAAC;CAC9B;AAED;;;;;;GAMG;AACH,MAAM,WAAW,eAAe,CAC9B,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,EAAE,EAClC,CAAC,SAAS,KAAK,GAAG,KAAK,CACvB,SAAQ,eAAe,CAAC,CAAC,CAAC;IAC1B,iCAAiC;IACjC,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC;IAElB,oCAAoC;IACpC,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC;IAElB,gDAAgD;IAChD,QAAQ,CAAC,IAAI,EAAE,GAAG,CAAC,MAAM,GAAG,MAAM,EAAE,GAAG,CAAC,CAAC;IAEzC,uDAAuD;IACvD,SAAS,EAAE,KAAK,GAAG,IAAI,CAAC;IAExB,qDAAqD;IACrD,aAAa,EAAE,OAAO,GAAG,IAAI,CAAC;IAE9B,0CAA0C;IAC1C,MAAM,IAAI,KAAK,CAAC;IAEhB;;;;;;OAMG;IACH,MAAM,CAAC,QAAQ,EAAE,CAAC,GAAG,IAAI,CAAC;IAE1B;;;OAGG;IACH,KAAK,CAAC,SAAS,EAAE,OAAO,EAAE,WAAW,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;IAEvD,+CAA+C;IAC/C,OAAO,IAAI,IAAI,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,MAAM,WAAW,CAAC,CAAC,IACvB,CAAC,SAAS,eAAe,CAAC,MAAM,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;AAEtD;;GAEG;AACH,MAAM,MAAM,WAAW,CAAC,CAAC,IACvB,CAAC,SAAS,eAAe,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;AAEtD;;GAEG;AACH,MAAM,MAAM,iBAAiB,CAC3B,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,GAAG,EACnC,CAAC,SAAS,KAAK,GAAG,KAAK,IACrB,KAAK,KAAK,EAAE,CAAC,EAAE,QAAQ,CAAC,EAAE,UAAU,EAAE,KAAK,eAAe,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"class.d.ts","sourceRoot":"","sources":["../../src/types/class.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAEnD;;;GAGG;AACH,MAAM,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,EAAE,UAAU,GAAG,UAAU,EAAE,CAAC,CAAC;AAE9D;;;;;GAKG;AACH,MAAM,WAAW,GAAG,CAAC,CAAC,GAAG,GAAG;IAC1B,OAAO,EAAE,CAAC,GAAG,IAAI,CAAC;CACnB;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;AAEvC;;GAEG;AACH,MAAM,WAAW,eAAe,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,GAAG;IAClE;;;OAGG;IACH,OAAO,CAAC,IAAI,IAAI,CAAC;IAEjB;;;OAGG;IACH,aAAa,CAAC,IAAI,IAAI,CAAC;IAEvB;;;OAGG;IACH,OAAO,CAAC,CAAC,SAAS,EAAE,CAAC,GAAG,IAAI,CAAC;CAC9B;AAED;;;;;;GAMG;AACH,MAAM,WAAW,eAAe,CAC9B,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,EAAE,EAClC,CAAC,SAAS,KAAK,GAAG,KAAK,CACvB,SAAQ,eAAe,CAAC,CAAC,CAAC;IAC1B,iCAAiC;IACjC,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC;IAElB,oCAAoC;IACpC,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC;IAElB,kDAAkD;IAClD,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC;IAEpB,uDAAuD;IACvD,SAAS,EAAE,KAAK,GAAG,IAAI,CAAC;IAExB,qDAAqD;IACrD,aAAa,EAAE,OAAO,GAAG,IAAI,CAAC;IAE9B,0CAA0C;IAC1C,MAAM,IAAI,KAAK,CAAC;IAEhB;;;;;;OAMG;IACH,MAAM,CAAC,QAAQ,EAAE,CAAC,GAAG,IAAI,CAAC;IAE1B;;;OAGG;IACH,KAAK,CAAC,SAAS,EAAE,OAAO,EAAE,WAAW,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;IAEvD,+CAA+C;IAC/C,OAAO,IAAI,IAAI,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,MAAM,WAAW,CAAC,CAAC,IACvB,CAAC,SAAS,eAAe,CAAC,MAAM,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;AAEtD;;GAEG;AACH,MAAM,MAAM,WAAW,CAAC,CAAC,IACvB,CAAC,SAAS,eAAe,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;AAEtD;;GAEG;AACH,MAAM,MAAM,iBAAiB,CAC3B,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,GAAG,EACnC,CAAC,SAAS,KAAK,GAAG,KAAK,IACrB,KAAK,KAAK,EAAE,CAAC,EAAE,QAAQ,CAAC,EAAE,UAAU,EAAE,KAAK,eAAe,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC"}
@@ -5,7 +5,12 @@
5
5
  */
6
6
  import type { ContextData } from './context.js';
7
7
  /**
8
- * VNode child types - supports primitives, VNodes, and nested arrays
8
+ * Primitive value types that can be rendered
9
+ */
10
+ export type PrimitiveValue = string | number | boolean | null | undefined;
11
+ /**
12
+ * VNode child types - now primarily VNodes (primitives are wrapped in PrimitiveVNode)
13
+ * Keep primitive types for backward compatibility during transition
9
14
  */
10
15
  export type VNodeChild = VNode | string | number | boolean | null | undefined | VNodeChild[];
11
16
  /**
@@ -15,7 +20,8 @@ export declare enum VNodeType {
15
20
  Element = "element",
16
21
  Fragment = "fragment",
17
22
  FunctionComponent = "function",
18
- ClassComponent = "class"
23
+ ClassComponent = "class",
24
+ Primitive = "primitive"
19
25
  }
20
26
  /**
21
27
  * Base VNode properties (shared by all VNode types)
@@ -86,6 +92,21 @@ export interface ClassComponentVNode extends VNodeBase {
86
92
  __instance__?: any;
87
93
  __placeholder__?: Comment;
88
94
  }
95
+ /**
96
+ * Primitive VNode
97
+ * - type: 'primitive'
98
+ * - value: string | number | boolean | null | undefined
99
+ * - __dom__: Text | Comment | null
100
+ * - Wraps primitive values to maintain stable VNode tree structure
101
+ */
102
+ export interface PrimitiveVNode extends VNodeBase {
103
+ __type__: VNodeType.Primitive;
104
+ type: 'primitive';
105
+ value: PrimitiveValue;
106
+ __dom__?: Text | Comment | null;
107
+ props: null;
108
+ children: [];
109
+ }
89
110
  /**
90
111
  * VNode - Discriminated Union
91
112
  *
@@ -104,10 +125,13 @@ export interface ClassComponentVNode extends VNodeBase {
104
125
  * } else if (vnode.__type__ === VNodeType.ClassComponent) {
105
126
  * // vnode is ClassComponentVNode
106
127
  * const instance = vnode.__instance__;
128
+ * } else if (vnode.__type__ === VNodeType.Primitive) {
129
+ * // vnode is PrimitiveVNode
130
+ * const value = vnode.value;
107
131
  * }
108
132
  * ```
109
133
  */
110
- export type VNode = ElementVNode | FragmentVNode | FunctionComponentVNode | ClassComponentVNode;
134
+ export type VNode = ElementVNode | FragmentVNode | FunctionComponentVNode | ClassComponentVNode | PrimitiveVNode;
111
135
  /**
112
136
  * Fragment symbol for multiple root elements
113
137
  */
@@ -1 +1 @@
1
- {"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../../src/types/core.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAEhD;;GAEG;AACH,MAAM,MAAM,UAAU,GAClB,KAAK,GACL,MAAM,GACN,MAAM,GACN,OAAO,GACP,IAAI,GACJ,SAAS,GACT,UAAU,EAAE,CAAC;AAEjB;;GAEG;AACH,oBAAY,SAAS;IACnB,OAAO,YAAY;IACnB,QAAQ,aAAa;IACrB,iBAAiB,aAAa;IAC9B,cAAc,UAAU;CACzB;AAED;;GAEG;AACH,UAAU,SAAS;IACjB,4CAA4C;IAC5C,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC;IAElC,mBAAmB;IACnB,QAAQ,EAAE,UAAU,EAAE,CAAC;IAEvB;;;OAGG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;IAEvB;;OAEG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB;;;;OAIG;IACH,WAAW,CAAC,EAAE,WAAW,CAAC;CAC3B;AAED;;;;GAIG;AACH,MAAM,WAAW,YAAa,SAAQ,SAAS;IAC7C,QAAQ,EAAE,SAAS,CAAC,OAAO,CAAC;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;CACvB;AAED;;;;GAIG;AACH,MAAM,WAAW,aAAc,SAAQ,SAAS;IAC9C,QAAQ,EAAE,SAAS,CAAC,QAAQ,CAAC;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC;CACzB;AAED;;;;;GAKG;AACH,MAAM,WAAW,sBAAuB,SAAQ,SAAS;IACvD,QAAQ,EAAE,SAAS,CAAC,iBAAiB,CAAC;IACtC,IAAI,EAAE,QAAQ,CAAC;IACf,YAAY,CAAC,EAAE,KAAK,CAAC;IACrB,OAAO,CAAC,EAAE,IAAI,GAAG,IAAI,EAAE,GAAG,IAAI,CAAC;CAChC;AAED;;;;;;GAMG;AACH,MAAM,WAAW,mBAAoB,SAAQ,SAAS;IACpD,QAAQ,EAAE,SAAS,CAAC,cAAc,CAAC;IACnC,IAAI,EAAE,QAAQ,CAAC;IACf,YAAY,CAAC,EAAE,GAAG,CAAC;IACnB,eAAe,CAAC,EAAE,OAAO,CAAC;CAE3B;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,MAAM,KAAK,GACb,YAAY,GACZ,aAAa,GACb,sBAAsB,GACtB,mBAAmB,CAAC;AAExB;;GAEG;AACH,eAAO,MAAM,QAAQ,eAAqB,CAAC;AAE3C;;GAEG;AACH,MAAM,MAAM,WAAW,CAAC,CAAC,SAAS,OAAO,GAAG,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC,KAAK,IAAI,CAAC;AAE5E;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC"}
1
+ {"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../../src/types/core.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAEhD;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,GAAG,SAAS,CAAC;AAE1E;;;GAGG;AACH,MAAM,MAAM,UAAU,GAClB,KAAK,GACL,MAAM,GACN,MAAM,GACN,OAAO,GACP,IAAI,GACJ,SAAS,GACT,UAAU,EAAE,CAAC;AAEjB;;GAEG;AACH,oBAAY,SAAS;IACnB,OAAO,YAAY;IACnB,QAAQ,aAAa;IACrB,iBAAiB,aAAa;IAC9B,cAAc,UAAU;IACxB,SAAS,cAAc;CACxB;AAED;;GAEG;AACH,UAAU,SAAS;IACjB,4CAA4C;IAC5C,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC;IAElC,mBAAmB;IACnB,QAAQ,EAAE,UAAU,EAAE,CAAC;IAEvB;;;OAGG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;IAEvB;;OAEG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB;;;;OAIG;IACH,WAAW,CAAC,EAAE,WAAW,CAAC;CAC3B;AAED;;;;GAIG;AACH,MAAM,WAAW,YAAa,SAAQ,SAAS;IAC7C,QAAQ,EAAE,SAAS,CAAC,OAAO,CAAC;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;CACvB;AAED;;;;GAIG;AACH,MAAM,WAAW,aAAc,SAAQ,SAAS;IAC9C,QAAQ,EAAE,SAAS,CAAC,QAAQ,CAAC;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC;CACzB;AAED;;;;;GAKG;AACH,MAAM,WAAW,sBAAuB,SAAQ,SAAS;IACvD,QAAQ,EAAE,SAAS,CAAC,iBAAiB,CAAC;IACtC,IAAI,EAAE,QAAQ,CAAC;IACf,YAAY,CAAC,EAAE,KAAK,CAAC;IACrB,OAAO,CAAC,EAAE,IAAI,GAAG,IAAI,EAAE,GAAG,IAAI,CAAC;CAChC;AAED;;;;;;GAMG;AACH,MAAM,WAAW,mBAAoB,SAAQ,SAAS;IACpD,QAAQ,EAAE,SAAS,CAAC,cAAc,CAAC;IACnC,IAAI,EAAE,QAAQ,CAAC;IACf,YAAY,CAAC,EAAE,GAAG,CAAC;IACnB,eAAe,CAAC,EAAE,OAAO,CAAC;CAE3B;AAED;;;;;;GAMG;AACH,MAAM,WAAW,cAAe,SAAQ,SAAS;IAC/C,QAAQ,EAAE,SAAS,CAAC,SAAS,CAAC;IAC9B,IAAI,EAAE,WAAW,CAAC;IAClB,KAAK,EAAE,cAAc,CAAC;IACtB,OAAO,CAAC,EAAE,IAAI,GAAG,OAAO,GAAG,IAAI,CAAC;IAGhC,KAAK,EAAE,IAAI,CAAC;IACZ,QAAQ,EAAE,EAAE,CAAC;CACd;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,MAAM,KAAK,GACb,YAAY,GACZ,aAAa,GACb,sBAAsB,GACtB,mBAAmB,GACnB,cAAc,CAAC;AAEnB;;GAEG;AACH,eAAO,MAAM,QAAQ,eAAqB,CAAC;AAE3C;;GAEG;AACH,MAAM,MAAM,WAAW,CAAC,CAAC,SAAS,OAAO,GAAG,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC,KAAK,IAAI,CAAC;AAE5E;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC"}
@@ -7,6 +7,7 @@ export var VNodeType;
7
7
  VNodeType["Fragment"] = "fragment";
8
8
  VNodeType["FunctionComponent"] = "function";
9
9
  VNodeType["ClassComponent"] = "class";
10
+ VNodeType["Primitive"] = "primitive";
10
11
  })(VNodeType || (VNodeType = {}));
11
12
  /**
12
13
  * Fragment symbol for multiple root elements
@@ -1 +1 @@
1
- {"version":3,"file":"core.js","sourceRoot":"","sources":["../../src/types/core.ts"],"names":[],"mappings":"AAmBA;;GAEG;AACH,MAAM,CAAN,IAAY,SAKX;AALD,WAAY,SAAS;IACnB,gCAAmB,CAAA;IACnB,kCAAqB,CAAA;IACrB,2CAA8B,CAAA;IAC9B,qCAAwB,CAAA;AAC1B,CAAC,EALW,SAAS,KAAT,SAAS,QAKpB;AA4GD;;GAEG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC"}
1
+ {"version":3,"file":"core.js","sourceRoot":"","sources":["../../src/types/core.ts"],"names":[],"mappings":"AAyBA;;GAEG;AACH,MAAM,CAAN,IAAY,SAMX;AAND,WAAY,SAAS;IACnB,gCAAmB,CAAA;IACnB,kCAAqB,CAAA;IACrB,2CAA8B,CAAA;IAC9B,qCAAwB,CAAA;IACxB,oCAAuB,CAAA;AACzB,CAAC,EANW,SAAS,KAAT,SAAS,QAMpB;AAkID;;GAEG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC"}
@@ -28,6 +28,13 @@ export type ClassValue = string | string[] | Record<string, boolean | undefined>
28
28
  export interface FukictSlotAttribute {
29
29
  'fukict:slot'?: string;
30
30
  }
31
+ /**
32
+ * Fukict html attribute (for setting innerHTML)
33
+ * Used in DOM elements as alternative to children
34
+ */
35
+ export interface FukictHtmlAttribute {
36
+ 'fukict:html'?: string;
37
+ }
31
38
  /**
32
39
  * Fukict ref attribute (for component instance reference)
33
40
  * Used in class components and DOM elements
@@ -46,7 +53,7 @@ export interface FukictDetachAttribute {
46
53
  * Runtime-specific attribute extensions
47
54
  * This type is merged with native HTML element attributes
48
55
  */
49
- export interface RuntimeAttributes<T extends Element = Element> extends EventHandlers, FukictSlotAttribute {
56
+ export interface RuntimeAttributes<T extends Element = Element> extends EventHandlers, FukictSlotAttribute, FukictHtmlAttribute {
50
57
  ref?: RefCallback<T>;
51
58
  style?: CSSProperties | string;
52
59
  class?: ClassValue;
@@ -1 +1 @@
1
- {"version":3,"file":"dom-attributes.d.ts","sourceRoot":"","sources":["../../src/types/dom-attributes.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dom-attributes.d.ts","sourceRoot":"","sources":["../../src/types/dom-attributes.ts"],"names":[],"mappings":"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"}
@@ -6,8 +6,9 @@
6
6
  /**
7
7
  * Event handler type with on: prefix
8
8
  * Maps all HTMLElementEventMap events to on: prefixed handlers
9
+ * Supports both synchronous and asynchronous handlers
9
10
  */
10
11
  export type EventHandlers = {
11
- [K in keyof HTMLElementEventMap as `on:${K}`]?: (event: HTMLElementEventMap[K]) => void;
12
+ [K in keyof HTMLElementEventMap as `on:${K}`]?: (event: HTMLElementEventMap[K]) => void | Promise<void>;
12
13
  };
13
14
  //# sourceMappingURL=events.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../src/types/events.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;;GAGG;AACH,MAAM,MAAM,aAAa,GAAG;KACzB,CAAC,IAAI,MAAM,mBAAmB,IAAI,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE,CAC9C,KAAK,EAAE,mBAAmB,CAAC,CAAC,CAAC,KAC1B,IAAI;CACV,CAAC"}
1
+ {"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../src/types/events.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;;;GAIG;AACH,MAAM,MAAM,aAAa,GAAG;KACzB,CAAC,IAAI,MAAM,mBAAmB,IAAI,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE,CAC9C,KAAK,EAAE,mBAAmB,CAAC,CAAC,CAAC,KAC1B,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;CAC1B,CAAC"}
@@ -3,9 +3,9 @@
3
3
  *
4
4
  * Centralized export for all runtime types
5
5
  */
6
- export type { VNode, VNodeChild, RefCallback, UnregisterFn, ElementVNode, FragmentVNode, FunctionComponentVNode, ClassComponentVNode, } from './core.js';
6
+ export type { VNode, VNodeChild, RefCallback, UnregisterFn, ElementVNode, FragmentVNode, FunctionComponentVNode, ClassComponentVNode, PrimitiveVNode, PrimitiveValue, } from './core.js';
7
7
  export { Fragment, VNodeType } from './core.js';
8
- export type { Slots, Ref, FukictLifecycle, FukictComponent, FukictProps, FukictSlots, FukictConstructor, } from './class.js';
8
+ export type { Slots, Ref, Refs, FukictLifecycle, FukictComponent, FukictProps, FukictSlots, FukictConstructor, } from './class.js';
9
9
  export type { EventHandlers } from './events';
10
10
  export type { CSSProperties, ClassValue, RuntimeAttributes, HTMLAttributes, SVGAttributes, FukictSlotAttribute, FukictRefAttribute, FukictDetachAttribute, } from './dom-attributes';
11
11
  export type { JSX } from './jsx';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,YAAY,EACV,KAAK,EACL,UAAU,EACV,WAAW,EACX,YAAY,EACZ,YAAY,EACZ,aAAa,EACb,sBAAsB,EACtB,mBAAmB,GACpB,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAGhD,YAAY,EACV,KAAK,EACL,GAAG,EACH,eAAe,EACf,eAAe,EACf,WAAW,EACX,WAAW,EACX,iBAAiB,GAClB,MAAM,YAAY,CAAC;AAGpB,YAAY,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAG9C,YAAY,EACV,aAAa,EACb,UAAU,EACV,iBAAiB,EACjB,cAAc,EACd,aAAa,EACb,mBAAmB,EACnB,kBAAkB,EAClB,qBAAqB,GACtB,MAAM,kBAAkB,CAAC;AAG1B,YAAY,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,YAAY,EACV,KAAK,EACL,UAAU,EACV,WAAW,EACX,YAAY,EACZ,YAAY,EACZ,aAAa,EACb,sBAAsB,EACtB,mBAAmB,EACnB,cAAc,EACd,cAAc,GACf,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAGhD,YAAY,EACV,KAAK,EACL,GAAG,EACH,IAAI,EACJ,eAAe,EACf,eAAe,EACf,WAAW,EACX,WAAW,EACX,iBAAiB,GAClB,MAAM,YAAY,CAAC;AAGpB,YAAY,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAG9C,YAAY,EACV,aAAa,EACb,UAAU,EACV,iBAAiB,EACjB,cAAc,EACd,aAAa,EACb,mBAAmB,EACnB,kBAAkB,EAClB,qBAAqB,GACtB,MAAM,kBAAkB,CAAC;AAG1B,YAAY,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAaH,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAeH,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC"}
package/dist/vnode.d.ts CHANGED
@@ -1,5 +1,9 @@
1
- import type { VNode, VNodeChild } from './types/index.js';
1
+ import type { PrimitiveVNode, PrimitiveValue, VNode } from './types/index.js';
2
2
  import { Fragment } from './types/index.js';
3
+ /**
4
+ * Create a PrimitiveVNode from a primitive value
5
+ */
6
+ export declare function createPrimitiveVNode(value: PrimitiveValue): PrimitiveVNode;
3
7
  /**
4
8
  * Create a VNode
5
9
  *
@@ -7,12 +11,14 @@ import { Fragment } from './types/index.js';
7
11
  * The __type__ field should be added by babel-plugin at compile time.
8
12
  * If not present, we detect it at runtime (slower but works).
9
13
  *
14
+ * Children are normalized: all primitive values are wrapped in PrimitiveVNode.
15
+ *
10
16
  * @param type - Element tag name or component function
11
17
  * @param props - Properties (including on: prefixed events)
12
- * @param children - Child nodes
18
+ * @param children - Child nodes (accepts any type, will be normalized)
13
19
  * @returns VNode (plain structure, __type__ expected from babel-plugin)
14
20
  */
15
- export declare function hyperscript(type: string | Function | typeof Fragment, props: Record<string, any> | null, children: VNodeChild[]): VNode;
21
+ export declare function hyperscript(type: string | Function | typeof Fragment, props: Record<string, any> | null, children: any[]): VNode;
16
22
  /**
17
23
  * Alias for hyperscript (shorter name)
18
24
  */
@@ -1 +1 @@
1
- {"version":3,"file":"vnode.d.ts","sourceRoot":"","sources":["../src/vnode.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,EAAE,QAAQ,EAAa,MAAM,kBAAkB,CAAC;AA+BvD;;;;;;;;;;;GAWG;AACH,wBAAgB,WAAW,CACzB,IAAI,EAAE,MAAM,GAAG,QAAQ,GAAG,OAAO,QAAQ,EACzC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,EACjC,QAAQ,EAAE,UAAU,EAAE,GACrB,KAAK,CAaP;AAED;;GAEG;AACH,eAAO,MAAM,CAAC,oBAAc,CAAC;AAE7B;;;;GAIG;AACH,eAAO,MAAM,GAAG,oBAAc,CAAC;AAC/B,eAAO,MAAM,IAAI,oBAAc,CAAC;AAChC,eAAO,MAAM,MAAM,oBAAc,CAAC"}
1
+ {"version":3,"file":"vnode.d.ts","sourceRoot":"","sources":["../src/vnode.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAC9E,OAAO,EAAE,QAAQ,EAAa,MAAM,kBAAkB,CAAC;AAEvD;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,cAAc,GAAG,cAAc,CAS1E;AA4FD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,WAAW,CACzB,IAAI,EAAE,MAAM,GAAG,QAAQ,GAAG,OAAO,QAAQ,EACzC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,EACjC,QAAQ,EAAE,GAAG,EAAE,GACd,KAAK,CAgBP;AAED;;GAEG;AACH,eAAO,MAAM,CAAC,oBAAc,CAAC;AAE7B;;;;GAIG;AACH,eAAO,MAAM,GAAG,oBAAc,CAAC;AAC/B,eAAO,MAAM,IAAI,oBAAc,CAAC;AAChC,eAAO,MAAM,MAAM,oBAAc,CAAC"}
package/dist/vnode.js CHANGED
@@ -5,6 +5,71 @@
5
5
  */
6
6
  import { Fukict } from './component-class/fukict.js';
7
7
  import { Fragment, VNodeType } from './types/index.js';
8
+ /**
9
+ * Create a PrimitiveVNode from a primitive value
10
+ */
11
+ export function createPrimitiveVNode(value) {
12
+ return {
13
+ __type__: VNodeType.Primitive,
14
+ type: 'primitive',
15
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
16
+ value,
17
+ props: null,
18
+ children: [],
19
+ };
20
+ }
21
+ /**
22
+ * Type guard for primitive values
23
+ */
24
+ function isPrimitiveValue(value) {
25
+ return (typeof value === 'string' ||
26
+ typeof value === 'number' ||
27
+ typeof value === 'boolean' ||
28
+ value === null ||
29
+ value === undefined);
30
+ }
31
+ /**
32
+ * Normalize a single child to VNode
33
+ * Converts primitive values to PrimitiveVNode
34
+ */
35
+ function normalizeChild(child) {
36
+ // Already a VNode
37
+ if (child && typeof child === 'object' && '__type__' in child) {
38
+ return child;
39
+ }
40
+ // Primitive values -> PrimitiveVNode
41
+ if (isPrimitiveValue(child)) {
42
+ // Type guard ensures child is PrimitiveValue
43
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-return
44
+ return createPrimitiveVNode(child);
45
+ }
46
+ // Arrays should be flattened before this point
47
+ if (Array.isArray(child)) {
48
+ console.warn('Nested array in normalizeChild, should be flattened first');
49
+ return null;
50
+ }
51
+ return null;
52
+ }
53
+ /**
54
+ * Flatten and normalize children array
55
+ * Converts all children to VNode instances
56
+ */
57
+ function normalizeChildren(children) {
58
+ const result = [];
59
+ for (const child of children) {
60
+ // Flatten nested arrays (from slots, map, etc.)
61
+ if (Array.isArray(child)) {
62
+ result.push(...normalizeChildren(child));
63
+ }
64
+ else {
65
+ const normalized = normalizeChild(child);
66
+ if (normalized !== null) {
67
+ result.push(normalized);
68
+ }
69
+ }
70
+ }
71
+ return result;
72
+ }
8
73
  /**
9
74
  * Detect VNode type at runtime (fallback if babel-plugin is not used)
10
75
  */
@@ -36,16 +101,20 @@ function detectVNodeType(type) {
36
101
  * The __type__ field should be added by babel-plugin at compile time.
37
102
  * If not present, we detect it at runtime (slower but works).
38
103
  *
104
+ * Children are normalized: all primitive values are wrapped in PrimitiveVNode.
105
+ *
39
106
  * @param type - Element tag name or component function
40
107
  * @param props - Properties (including on: prefixed events)
41
- * @param children - Child nodes
108
+ * @param children - Child nodes (accepts any type, will be normalized)
42
109
  * @returns VNode (plain structure, __type__ expected from babel-plugin)
43
110
  */
44
111
  export function hyperscript(type, props, children) {
112
+ // Normalize children to VNode[]
113
+ const normalizedChildren = normalizeChildren(children);
45
114
  const vnode = {
46
115
  type,
47
116
  props: props || {},
48
- children,
117
+ children: normalizedChildren,
49
118
  };
50
119
  // If __type__ not set by babel-plugin, detect it at runtime
51
120
  if (!('__type__' in vnode)) {
package/dist/vnode.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"vnode.js","sourceRoot":"","sources":["../src/vnode.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAE,MAAM,EAAE,MAAM,6BAA6B,CAAC;AAErD,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAEvD;;GAEG;AACH,SAAS,eAAe,CAAC,IAAyC;IAChE,WAAW;IACX,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;QACtB,OAAO,SAAS,CAAC,QAAQ,CAAC;IAC5B,CAAC;IAED,4BAA4B;IAC5B,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC7B,OAAO,SAAS,CAAC,OAAO,CAAC;IAC3B,CAAC;IAED,WAAW;IACX,IAAI,OAAO,IAAI,KAAK,UAAU,EAAE,CAAC;QAC/B,mCAAmC;QACnC,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,SAAS,YAAY,MAAM,EAAE,CAAC;YACvD,OAAO,SAAS,CAAC,cAAc,CAAC;QAClC,CAAC;QAED,qBAAqB;QACrB,OAAO,SAAS,CAAC,iBAAiB,CAAC;IACrC,CAAC;IAED,sBAAsB;IACtB,OAAO,SAAS,CAAC,OAAO,CAAC;AAC3B,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,WAAW,CACzB,IAAyC,EACzC,KAAiC,EACjC,QAAsB;IAEtB,MAAM,KAAK,GAAG;QACZ,IAAI;QACJ,KAAK,EAAE,KAAK,IAAI,EAAE;QAClB,QAAQ;KACA,CAAC;IAEX,4DAA4D;IAC5D,IAAI,CAAC,CAAC,UAAU,IAAI,KAAK,CAAC,EAAE,CAAC;QAC1B,KAAe,CAAC,QAAQ,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC;IACpD,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,CAAC,GAAG,WAAW,CAAC;AAE7B;;;;GAIG;AACH,MAAM,CAAC,MAAM,GAAG,GAAG,WAAW,CAAC;AAC/B,MAAM,CAAC,MAAM,IAAI,GAAG,WAAW,CAAC;AAChC,MAAM,CAAC,MAAM,MAAM,GAAG,WAAW,CAAC"}
1
+ {"version":3,"file":"vnode.js","sourceRoot":"","sources":["../src/vnode.ts"],"names":[],"mappings":"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"}