@kernlang/core 2.0.0 → 3.1.0
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/dist/codegen-core.d.ts +59 -2
- package/dist/codegen-core.js +1251 -25
- package/dist/codegen-core.js.map +1 -1
- package/dist/concepts.d.ts +100 -0
- package/dist/concepts.js +17 -0
- package/dist/concepts.js.map +1 -0
- package/dist/config.d.ts +37 -1
- package/dist/config.js +29 -1
- package/dist/config.js.map +1 -1
- package/dist/coverage-gap.d.ts +27 -0
- package/dist/coverage-gap.js +73 -0
- package/dist/coverage-gap.js.map +1 -0
- package/dist/errors.d.ts +16 -0
- package/dist/errors.js +9 -0
- package/dist/errors.js.map +1 -1
- package/dist/index.d.ts +9 -3
- package/dist/index.js +19 -3
- package/dist/index.js.map +1 -1
- package/dist/parser.d.ts +20 -0
- package/dist/parser.js +434 -138
- package/dist/parser.js.map +1 -1
- package/dist/scanner.js +48 -3
- package/dist/scanner.js.map +1 -1
- package/dist/spec.d.ts +13 -1
- package/dist/spec.js +54 -3
- package/dist/spec.js.map +1 -1
- package/dist/types.d.ts +1 -1
- package/package.json +10 -2
package/dist/codegen-core.d.ts
CHANGED
|
@@ -7,24 +7,81 @@
|
|
|
7
7
|
* Machine nodes are KERN's killer feature: 12 lines of KERN → 140+ lines of TS.
|
|
8
8
|
*/
|
|
9
9
|
import type { IRNode } from './types.js';
|
|
10
|
+
/** Register an evolved generator (called at startup). */
|
|
11
|
+
export declare function registerEvolvedGenerator(keyword: string, fn: (node: IRNode) => string[]): void;
|
|
12
|
+
/** Register a target-specific evolved generator (called at startup). */
|
|
13
|
+
export declare function registerEvolvedTargetGenerator(keyword: string, target: string, fn: (node: IRNode) => string[]): void;
|
|
14
|
+
/** Unregister an evolved generator (for rollback/testing). */
|
|
15
|
+
export declare function unregisterEvolvedGenerator(keyword: string): void;
|
|
16
|
+
/** Clear all evolved generators (for test isolation). */
|
|
17
|
+
export declare function clearEvolvedGenerators(): void;
|
|
18
|
+
/** Check if an evolved generator exists for a type. */
|
|
19
|
+
export declare function hasEvolvedGenerator(type: string): boolean;
|
|
20
|
+
/** Extract props from an IR node. */
|
|
21
|
+
export declare function getProps(node: IRNode): Record<string, unknown>;
|
|
22
|
+
/** Get children, optionally filtered by type. */
|
|
23
|
+
export declare function getChildren(node: IRNode, type?: string): IRNode[];
|
|
24
|
+
/** Get first child of a given type. */
|
|
25
|
+
export declare function getFirstChild(node: IRNode, type: string): IRNode | undefined;
|
|
26
|
+
/** Extract styles from node props. */
|
|
27
|
+
export declare function getStyles(node: IRNode): Record<string, string>;
|
|
28
|
+
/** Extract pseudo-styles from node props. */
|
|
29
|
+
export declare function getPseudoStyles(node: IRNode): Record<string, Record<string, string>>;
|
|
30
|
+
/** Extract theme refs from node props. */
|
|
31
|
+
export declare function getThemeRefs(node: IRNode): string[];
|
|
32
|
+
/** Strip common leading whitespace from multiline handler code. */
|
|
33
|
+
export declare function dedent(code: string): string;
|
|
34
|
+
/** Convert camelCase to kebab-case for CSS property names. */
|
|
35
|
+
export declare function cssPropertyName(camel: string): string;
|
|
36
|
+
/** Extract handler code from a node (finds handler child, dedents). */
|
|
37
|
+
export declare function handlerCode(node: IRNode): string;
|
|
10
38
|
export declare function generateType(node: IRNode): string[];
|
|
11
39
|
export declare function generateInterface(node: IRNode): string[];
|
|
40
|
+
export declare function generateUnion(node: IRNode): string[];
|
|
41
|
+
export declare function generateService(node: IRNode): string[];
|
|
12
42
|
export declare function generateFunction(node: IRNode): string[];
|
|
13
43
|
export declare function generateError(node: IRNode): string[];
|
|
14
44
|
export declare function generateMachine(node: IRNode): string[];
|
|
45
|
+
export declare function generateMachineReducer(node: IRNode): string[];
|
|
15
46
|
export declare function generateConfig(node: IRNode): string[];
|
|
16
47
|
export declare function generateStore(node: IRNode): string[];
|
|
17
48
|
export declare function generateTest(node: IRNode): string[];
|
|
18
49
|
export declare function generateEvent(node: IRNode): string[];
|
|
50
|
+
export declare function generateOn(node: IRNode): string[];
|
|
51
|
+
export declare function generateWebSocket(node: IRNode): string[];
|
|
19
52
|
export declare function generateModule(node: IRNode): string[];
|
|
20
53
|
export declare function generateImport(node: IRNode): string[];
|
|
21
54
|
export declare function generateConst(node: IRNode): string[];
|
|
22
|
-
/** Parse "name:Type,name2:Type2" → "name: Type, name2: Type2"
|
|
55
|
+
/** Parse "name:Type,name2:Type2,spread:number=8" → "name: Type, name2: Type2, spread: number = 8"
|
|
56
|
+
* Supports default values via = after the type. */
|
|
23
57
|
export declare function parseParamList(params: string): string;
|
|
24
58
|
export declare function capitalize(s: string): string;
|
|
25
59
|
export declare function generateHook(node: IRNode): string[];
|
|
60
|
+
export declare function emitReasonAnnotations(node: IRNode): string[];
|
|
61
|
+
/** Emit a TODO comment for nodes with low literal confidence (< 0.5). */
|
|
62
|
+
export declare function emitLowConfidenceTodo(node: IRNode, confidence: string | undefined): string[];
|
|
63
|
+
export declare function generateDerive(node: IRNode): string[];
|
|
64
|
+
export declare function generateTransform(node: IRNode): string[];
|
|
65
|
+
export declare function generateAction(node: IRNode): string[];
|
|
66
|
+
export declare function generateGuard(node: IRNode): string[];
|
|
67
|
+
export declare function generateAssume(node: IRNode): string[];
|
|
68
|
+
export declare function generateInvariant(node: IRNode): string[];
|
|
69
|
+
export declare function generateEach(node: IRNode): string[];
|
|
70
|
+
export declare function generateCollect(node: IRNode): string[];
|
|
71
|
+
export declare function generateBranch(node: IRNode): string[];
|
|
72
|
+
export declare function generateResolve(node: IRNode): string[];
|
|
73
|
+
export declare function generateExpect(node: IRNode): string[];
|
|
74
|
+
export declare function generateRecover(node: IRNode): string[];
|
|
75
|
+
export declare function generatePattern(node: IRNode): string[];
|
|
76
|
+
export declare function generateApply(node: IRNode): string[];
|
|
77
|
+
export declare function generateConditional(node: IRNode): string[];
|
|
78
|
+
export declare function generateSelect(node: IRNode): string[];
|
|
79
|
+
export declare function generateModel(node: IRNode): string[];
|
|
80
|
+
export declare function generateRepository(node: IRNode): string[];
|
|
81
|
+
export declare function generateDependency(node: IRNode): string[];
|
|
82
|
+
export declare function generateCache(node: IRNode): string[];
|
|
26
83
|
export declare const CORE_NODE_TYPES: Set<string>;
|
|
27
84
|
/** Check if a node type is a core language construct. */
|
|
28
85
|
export declare function isCoreNode(type: string): boolean;
|
|
29
86
|
/** Generate TypeScript for any core language node. */
|
|
30
|
-
export declare function generateCoreNode(node: IRNode): string[];
|
|
87
|
+
export declare function generateCoreNode(node: IRNode, target?: string): string[];
|