@fukict/basic 0.1.9 → 0.1.11
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/README.md +1 -1
- package/dist/component-class/fukict.d.ts +17 -18
- package/dist/component-class/fukict.d.ts.map +1 -1
- package/dist/component-class/fukict.js +56 -65
- package/dist/component-class/fukict.js.map +1 -1
- package/dist/dev.d.ts +26 -0
- package/dist/dev.d.ts.map +1 -0
- package/dist/dev.js +46 -0
- package/dist/dev.js.map +1 -0
- package/dist/index.d.ts +2 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/metadata.d.ts +1 -1
- package/dist/metadata.js +1 -1
- package/dist/metadata.js.map +1 -1
- package/dist/renderer/class-helpers.d.ts +1 -2
- package/dist/renderer/class-helpers.d.ts.map +1 -1
- package/dist/renderer/class-helpers.js +6 -7
- package/dist/renderer/class-helpers.js.map +1 -1
- package/dist/renderer/create.d.ts +1 -1
- package/dist/renderer/create.d.ts.map +1 -1
- package/dist/renderer/create.js +3 -3
- package/dist/renderer/create.js.map +1 -1
- package/dist/renderer/diff/class.d.ts.map +1 -1
- package/dist/renderer/diff/class.js +3 -9
- package/dist/renderer/diff/class.js.map +1 -1
- package/dist/renderer/diff/dom-ops.d.ts +16 -0
- package/dist/renderer/diff/dom-ops.d.ts.map +1 -0
- package/dist/renderer/diff/{helpers.js → dom-ops.js} +42 -81
- package/dist/renderer/diff/dom-ops.js.map +1 -0
- package/dist/renderer/diff/index.d.ts +5 -13
- package/dist/renderer/diff/index.d.ts.map +1 -1
- package/dist/renderer/diff/index.js +10 -103
- package/dist/renderer/diff/index.js.map +1 -1
- package/dist/renderer/diff/primitive.d.ts.map +1 -1
- package/dist/renderer/diff/primitive.js +3 -8
- package/dist/renderer/diff/primitive.js.map +1 -1
- package/dist/renderer/diff/props.js +5 -5
- package/dist/renderer/diff/props.js.map +1 -1
- package/dist/renderer/diff/reconciler.d.ts +17 -0
- package/dist/renderer/diff/reconciler.d.ts.map +1 -0
- package/dist/renderer/diff/reconciler.js +232 -0
- package/dist/renderer/diff/reconciler.js.map +1 -0
- package/dist/renderer/diff/utils.d.ts +10 -0
- package/dist/renderer/diff/utils.d.ts.map +1 -0
- package/dist/renderer/diff/utils.js +25 -0
- package/dist/renderer/diff/utils.js.map +1 -0
- package/dist/renderer/index.d.ts.map +1 -1
- package/dist/renderer/index.js +17 -0
- package/dist/renderer/index.js.map +1 -1
- package/dist/renderer/mount.js +9 -9
- package/dist/renderer/mount.js.map +1 -1
- package/dist/renderer/vnode-helpers.js +5 -5
- package/dist/renderer/vnode-helpers.js.map +1 -1
- package/dist/types/class.d.ts +2 -2
- package/dist/types/class.d.ts.map +1 -1
- package/dist/types/core.d.ts +15 -16
- package/dist/types/core.d.ts.map +1 -1
- package/dist/types/core.js.map +1 -1
- package/dist/types/dev.d.ts +21 -0
- package/dist/types/dev.d.ts.map +1 -0
- package/dist/types/dev.js +8 -0
- package/dist/types/dev.js.map +1 -0
- package/dist/types/dom-attributes.d.ts.map +1 -1
- package/dist/types/index.d.ts +1 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/jsx.d.ts.map +1 -1
- package/dist/utils/context.d.ts +2 -3
- package/dist/utils/context.d.ts.map +1 -1
- package/dist/utils/context.js +6 -22
- package/dist/utils/context.js.map +1 -1
- package/dist/utils/dom-helpers.d.ts +3 -3
- package/dist/utils/dom-helpers.js +7 -7
- package/dist/utils/dom-helpers.js.map +1 -1
- package/dist/vnode.d.ts +5 -0
- package/dist/vnode.d.ts.map +1 -1
- package/dist/vnode.js +9 -7
- package/dist/vnode.js.map +1 -1
- package/package.json +18 -18
- package/dist/renderer/diff/children.d.ts +0 -12
- package/dist/renderer/diff/children.d.ts.map +0 -1
- package/dist/renderer/diff/children.js +0 -55
- package/dist/renderer/diff/children.js.map +0 -1
- package/dist/renderer/diff/element.d.ts +0 -14
- package/dist/renderer/diff/element.d.ts.map +0 -1
- package/dist/renderer/diff/element.js +0 -38
- package/dist/renderer/diff/element.js.map +0 -1
- package/dist/renderer/diff/fragment.d.ts +0 -13
- package/dist/renderer/diff/fragment.d.ts.map +0 -1
- package/dist/renderer/diff/fragment.js +0 -35
- package/dist/renderer/diff/fragment.js.map +0 -1
- package/dist/renderer/diff/function.d.ts +0 -9
- package/dist/renderer/diff/function.d.ts.map +0 -1
- package/dist/renderer/diff/function.js +0 -59
- package/dist/renderer/diff/function.js.map +0 -1
- package/dist/renderer/diff/helpers.d.ts +0 -19
- package/dist/renderer/diff/helpers.d.ts.map +0 -1
- package/dist/renderer/diff/helpers.js.map +0 -1
|
@@ -1,59 +0,0 @@
|
|
|
1
|
-
import { VNodeType } from '../../types/index.js';
|
|
2
|
-
import { setupFunctionComponentVNode } from '../vnode-helpers.js';
|
|
3
|
-
import { replaceNode, shallowEqual } from './helpers.js';
|
|
4
|
-
import { diff } from './index.js';
|
|
5
|
-
/**
|
|
6
|
-
* Diff Function Component VNode
|
|
7
|
-
* - Shallow compare props
|
|
8
|
-
* - Re-call function if props changed
|
|
9
|
-
* - Recursively diff __rendered__
|
|
10
|
-
*/
|
|
11
|
-
export function diffFunctionComponent(oldVNode, newVNode, container) {
|
|
12
|
-
if (oldVNode.__type__ !== VNodeType.FunctionComponent ||
|
|
13
|
-
newVNode.__type__ !== VNodeType.FunctionComponent) {
|
|
14
|
-
throw new Error('Expected FunctionComponentVNode');
|
|
15
|
-
}
|
|
16
|
-
// Type assertion after runtime check
|
|
17
|
-
const oldFuncVNode = oldVNode;
|
|
18
|
-
const newFuncVNode = newVNode;
|
|
19
|
-
// Function changed - replace
|
|
20
|
-
if (oldFuncVNode.type !== newFuncVNode.type) {
|
|
21
|
-
replaceNode(oldFuncVNode, newFuncVNode, container);
|
|
22
|
-
return;
|
|
23
|
-
}
|
|
24
|
-
// Shallow compare props
|
|
25
|
-
if (shallowEqual(oldFuncVNode.props, newFuncVNode.props)) {
|
|
26
|
-
// Props unchanged - reuse rendered result
|
|
27
|
-
// Setup FunctionComponentVNode with reused data
|
|
28
|
-
setupFunctionComponentVNode(newFuncVNode, oldFuncVNode.__rendered__, oldFuncVNode.__dom__ ?? null);
|
|
29
|
-
return;
|
|
30
|
-
}
|
|
31
|
-
// Props changed - re-call function
|
|
32
|
-
// Merge children into props (like React)
|
|
33
|
-
const propsWithChildren = {
|
|
34
|
-
...(newFuncVNode.props ?? {}),
|
|
35
|
-
children: newFuncVNode.children.length === 1
|
|
36
|
-
? newFuncVNode.children[0]
|
|
37
|
-
: newFuncVNode.children,
|
|
38
|
-
};
|
|
39
|
-
// Call function component with typed signature
|
|
40
|
-
const funcComponent = newFuncVNode.type;
|
|
41
|
-
const rendered = funcComponent(propsWithChildren);
|
|
42
|
-
// Store rendered VNode (only if it's a VNode object)
|
|
43
|
-
const renderedVNode = rendered && typeof rendered === 'object' && '__type__' in rendered
|
|
44
|
-
? rendered
|
|
45
|
-
: undefined;
|
|
46
|
-
// Diff old and new rendered result
|
|
47
|
-
const oldRendered = oldFuncVNode.__rendered__;
|
|
48
|
-
diff(oldRendered, rendered, container);
|
|
49
|
-
// Update __dom__ reference (only for non-ClassComponent VNodes)
|
|
50
|
-
let domNode = null;
|
|
51
|
-
if (renderedVNode &&
|
|
52
|
-
renderedVNode.__type__ !== VNodeType.ClassComponent &&
|
|
53
|
-
'__dom__' in renderedVNode) {
|
|
54
|
-
domNode = renderedVNode.__dom__ ?? null;
|
|
55
|
-
}
|
|
56
|
-
// Setup FunctionComponentVNode: save rendered VNode and DOM reference
|
|
57
|
-
setupFunctionComponentVNode(newFuncVNode, renderedVNode, domNode);
|
|
58
|
-
}
|
|
59
|
-
//# sourceMappingURL=function.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"function.js","sourceRoot":"","sources":["../../../src/renderer/diff/function.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,2BAA2B,EAAE,MAAM,qBAAqB,CAAC;AAClE,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AACzD,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAElC;;;;;GAKG;AACH,MAAM,UAAU,qBAAqB,CACnC,QAAe,EACf,QAAe,EACf,SAAkB;IAElB,IACE,QAAQ,CAAC,QAAQ,KAAK,SAAS,CAAC,iBAAiB;QACjD,QAAQ,CAAC,QAAQ,KAAK,SAAS,CAAC,iBAAiB,EACjD,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;IACrD,CAAC;IAED,qCAAqC;IACrC,MAAM,YAAY,GAAG,QAAkC,CAAC;IACxD,MAAM,YAAY,GAAG,QAAkC,CAAC;IAExD,6BAA6B;IAC7B,IAAI,YAAY,CAAC,IAAI,KAAK,YAAY,CAAC,IAAI,EAAE,CAAC;QAC5C,WAAW,CAAC,YAAY,EAAE,YAAY,EAAE,SAAS,CAAC,CAAC;QACnD,OAAO;IACT,CAAC;IAED,wBAAwB;IACxB,IAAI,YAAY,CAAC,YAAY,CAAC,KAAK,EAAE,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC;QACzD,0CAA0C;QAC1C,gDAAgD;QAChD,2BAA2B,CACzB,YAAY,EACZ,YAAY,CAAC,YAAY,EACzB,YAAY,CAAC,OAAO,IAAI,IAAI,CAC7B,CAAC;QACF,OAAO;IACT,CAAC;IAED,mCAAmC;IACnC,yCAAyC;IACzC,MAAM,iBAAiB,GAA4B;QACjD,GAAG,CAAC,YAAY,CAAC,KAAK,IAAI,EAAE,CAAC;QAC7B,QAAQ,EACN,YAAY,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC;YAChC,CAAC,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC1B,CAAC,CAAC,YAAY,CAAC,QAAQ;KAC5B,CAAC;IAEF,+CAA+C;IAC/C,MAAM,aAAa,GAAG,YAAY,CAAC,IAAoC,CAAC;IACxE,MAAM,QAAQ,GAAe,aAAa,CAAC,iBAAiB,CAAC,CAAC;IAE9D,qDAAqD;IACrD,MAAM,aAAa,GACjB,QAAQ,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,UAAU,IAAI,QAAQ;QAChE,CAAC,CAAE,QAAkB;QACrB,CAAC,CAAC,SAAS,CAAC;IAEhB,mCAAmC;IACnC,MAAM,WAAW,GAAG,YAAY,CAAC,YAAY,CAAC;IAC9C,IAAI,CAAC,WAAW,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;IAEvC,gEAAgE;IAChE,IAAI,OAAO,GAAyB,IAAI,CAAC;IACzC,IACE,aAAa;QACb,aAAa,CAAC,QAAQ,KAAK,SAAS,CAAC,cAAc;QACnD,SAAS,IAAI,aAAa,EAC1B,CAAC;QACD,OAAO,GAAG,aAAa,CAAC,OAAO,IAAI,IAAI,CAAC;IAC1C,CAAC;IAED,sEAAsE;IACtE,2BAA2B,CAAC,YAAY,EAAE,aAAa,EAAE,OAAO,CAAC,CAAC;AACpE,CAAC"}
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @fukict/basic - Diff: Helpers
|
|
3
|
-
*
|
|
4
|
-
* Helper functions for diff operations
|
|
5
|
-
*/
|
|
6
|
-
import type { VNodeChild } from '../../types/index.js';
|
|
7
|
-
/**
|
|
8
|
-
* Replace old node with new node
|
|
9
|
-
*/
|
|
10
|
-
export declare function replaceNode(oldVNode: VNodeChild, newVNode: VNodeChild, container: Element): void;
|
|
11
|
-
/**
|
|
12
|
-
* Remove node from DOM
|
|
13
|
-
*/
|
|
14
|
-
export declare function removeNode(vnode: VNodeChild, container: Element): void;
|
|
15
|
-
/**
|
|
16
|
-
* Shallow compare two objects
|
|
17
|
-
*/
|
|
18
|
-
export declare function shallowEqual(a: Record<string, unknown> | null, b: Record<string, unknown> | null): boolean;
|
|
19
|
-
//# sourceMappingURL=helpers.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../src/renderer/diff/helpers.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAAK,EAQV,UAAU,EACX,MAAM,sBAAsB,CAAC;AAyD9B;;GAEG;AACH,wBAAgB,WAAW,CACzB,QAAQ,EAAE,UAAU,EACpB,QAAQ,EAAE,UAAU,EACpB,SAAS,EAAE,OAAO,GACjB,IAAI,CA8BN;AAwED;;GAEG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,OAAO,GAAG,IAAI,CA2DtE;AAED;;GAEG;AACH,wBAAgB,YAAY,CAC1B,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,EACjC,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,GAChC,OAAO,CAcT"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../src/renderer/diff/helpers.ts"],"names":[],"mappings":"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"}
|