@hey-api/codegen-core 0.4.0 → 0.5.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/README.md +3 -123
- package/dist/index.cjs +2 -1
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +205 -55
- package/dist/index.d.cts.map +1 -1
- package/dist/index.d.mts +205 -55
- package/dist/index.d.mts.map +1 -1
- package/dist/index.mjs +2 -1
- package/dist/index.mjs.map +1 -1
- package/package.json +3 -3
package/dist/index.d.mts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
|
|
1
2
|
import colors from "ansi-colors";
|
|
2
3
|
|
|
3
4
|
//#region src/refs/types.d.ts
|
|
@@ -12,7 +13,9 @@ import colors from "ansi-colors";
|
|
|
12
13
|
* console.log(num['~ref']); // 42
|
|
13
14
|
* ```
|
|
14
15
|
*/
|
|
15
|
-
type Ref<T> = {
|
|
16
|
+
type Ref<T> = T extends {
|
|
17
|
+
['~ref']: unknown;
|
|
18
|
+
} ? T : {
|
|
16
19
|
'~ref': T;
|
|
17
20
|
};
|
|
18
21
|
/**
|
|
@@ -35,7 +38,9 @@ type Refs<T> = { [K in keyof T]: Ref<T[K]> };
|
|
|
35
38
|
* type N = FromRef<{ '~ref': number }>; // number
|
|
36
39
|
* ```
|
|
37
40
|
*/
|
|
38
|
-
type FromRef<T> = T extends
|
|
41
|
+
type FromRef<T> = T extends {
|
|
42
|
+
'~ref': infer U;
|
|
43
|
+
} ? U : T;
|
|
39
44
|
/**
|
|
40
45
|
* Maps every property of a Ref-wrapped object back to its plain value.
|
|
41
46
|
*
|
|
@@ -46,7 +51,7 @@ type FromRef<T> = T extends Ref<infer V> ? V : T;
|
|
|
46
51
|
* type Foo2 = FromRefs<Refs>; // { a: number; b: string }
|
|
47
52
|
* ```
|
|
48
53
|
*/
|
|
49
|
-
type FromRefs<T> = { [K in keyof T]: T[K] extends Ref<infer
|
|
54
|
+
type FromRefs<T> = { [K in keyof T]: T[K] extends Ref<infer U> ? U : T[K] };
|
|
50
55
|
//#endregion
|
|
51
56
|
//#region src/extensions.d.ts
|
|
52
57
|
/**
|
|
@@ -67,19 +72,37 @@ interface ISymbolMeta {
|
|
|
67
72
|
}
|
|
68
73
|
//#endregion
|
|
69
74
|
//#region src/nodes/node.d.ts
|
|
75
|
+
type MaybeRef<T> = T | Ref<T>;
|
|
76
|
+
type NodeName = MaybeRef<Symbol | string | number>;
|
|
77
|
+
type NodeNameSanitizer = (name: string) => string;
|
|
78
|
+
type NodeRelationship = 'container' | 'reference';
|
|
79
|
+
type NodeScope = 'type' | 'value';
|
|
70
80
|
interface INode<T = unknown> {
|
|
71
81
|
/** Perform semantic analysis. */
|
|
72
82
|
analyze(ctx: IAnalysisContext): void;
|
|
83
|
+
/** Create a shallow copy of this node. */
|
|
84
|
+
clone(): this;
|
|
73
85
|
/** Whether this node is exported from its file. */
|
|
74
86
|
exported?: boolean;
|
|
75
87
|
/** The file this node belongs to. */
|
|
76
88
|
file?: File;
|
|
77
89
|
/** The programming language associated with this node */
|
|
78
90
|
language: Language;
|
|
79
|
-
/**
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
91
|
+
/** The display name of this node. */
|
|
92
|
+
readonly name: Ref<NodeName> & {
|
|
93
|
+
set(value: NodeName): void;
|
|
94
|
+
toString(): string;
|
|
95
|
+
};
|
|
96
|
+
/** Optional function to sanitize the node name. */
|
|
97
|
+
readonly nameSanitizer?: NodeNameSanitizer;
|
|
98
|
+
/** Whether this node is a root node in the file. */
|
|
99
|
+
root?: boolean;
|
|
100
|
+
/** The scope of this node. */
|
|
101
|
+
scope?: NodeScope;
|
|
102
|
+
/** Semantic children in the structure hierarchy. */
|
|
103
|
+
structuralChildren?: Map<INode, NodeRelationship>;
|
|
104
|
+
/** Semantic parents in the structure hierarchy. */
|
|
105
|
+
structuralParents?: Map<INode, NodeRelationship>;
|
|
83
106
|
/** The symbol associated with this node. */
|
|
84
107
|
symbol?: Symbol;
|
|
85
108
|
/** Convert this node into AST representation. */
|
|
@@ -92,7 +115,6 @@ interface INode<T = unknown> {
|
|
|
92
115
|
type BindingKind = 'default' | 'named' | 'namespace';
|
|
93
116
|
type ISymbolIdentifier = number | ISymbolMeta;
|
|
94
117
|
type SymbolKind = 'class' | 'enum' | 'function' | 'interface' | 'namespace' | 'type' | 'var';
|
|
95
|
-
type SymbolNameSanitizer = (name: string) => string;
|
|
96
118
|
type ISymbolIn = {
|
|
97
119
|
/**
|
|
98
120
|
* Array of file names (without extensions) from which this symbol is re-exported.
|
|
@@ -121,10 +143,14 @@ type ISymbolIn = {
|
|
|
121
143
|
getFilePath?: Symbol['getFilePath'];
|
|
122
144
|
/**
|
|
123
145
|
* Kind of import if this symbol represents an import.
|
|
146
|
+
*
|
|
147
|
+
* @default 'named'
|
|
124
148
|
*/
|
|
125
149
|
importKind?: BindingKind;
|
|
126
150
|
/**
|
|
127
151
|
* Kind of symbol.
|
|
152
|
+
*
|
|
153
|
+
* @default 'var'
|
|
128
154
|
*/
|
|
129
155
|
kind?: SymbolKind;
|
|
130
156
|
/**
|
|
@@ -195,7 +221,7 @@ interface ISymbolRegistry {
|
|
|
195
221
|
}
|
|
196
222
|
//#endregion
|
|
197
223
|
//#region src/symbols/symbol.d.ts
|
|
198
|
-
declare class Symbol {
|
|
224
|
+
declare class Symbol<Node extends INode = INode> {
|
|
199
225
|
/**
|
|
200
226
|
* Canonical symbol this stub resolves to, if any.
|
|
201
227
|
*
|
|
@@ -263,12 +289,6 @@ declare class Symbol {
|
|
|
263
289
|
* @example "UserModel"
|
|
264
290
|
*/
|
|
265
291
|
private _name;
|
|
266
|
-
/**
|
|
267
|
-
* Optional function to sanitize the symbol name.
|
|
268
|
-
*
|
|
269
|
-
* @default undefined
|
|
270
|
-
*/
|
|
271
|
-
private _nameSanitizer?;
|
|
272
292
|
/**
|
|
273
293
|
* Node that defines this symbol.
|
|
274
294
|
*/
|
|
@@ -332,14 +352,10 @@ declare class Symbol {
|
|
|
332
352
|
* User-intended name before aliasing or conflict resolution.
|
|
333
353
|
*/
|
|
334
354
|
get name(): string;
|
|
335
|
-
/**
|
|
336
|
-
* Optional function to sanitize the symbol name.
|
|
337
|
-
*/
|
|
338
|
-
get nameSanitizer(): SymbolNameSanitizer | undefined;
|
|
339
355
|
/**
|
|
340
356
|
* Read‑only accessor for the defining node.
|
|
341
357
|
*/
|
|
342
|
-
get node():
|
|
358
|
+
get node(): Node | undefined;
|
|
343
359
|
/**
|
|
344
360
|
* Marks this symbol as a stub and assigns its canonical symbol.
|
|
345
361
|
*
|
|
@@ -391,18 +407,12 @@ declare class Symbol {
|
|
|
391
407
|
* @param name — The new name.
|
|
392
408
|
*/
|
|
393
409
|
setName(name: string): void;
|
|
394
|
-
/**
|
|
395
|
-
* Sets a custom function to sanitize the symbol's name.
|
|
396
|
-
*
|
|
397
|
-
* @param fn — The name sanitizer function to apply.
|
|
398
|
-
*/
|
|
399
|
-
setNameSanitizer(fn: SymbolNameSanitizer): void;
|
|
400
410
|
/**
|
|
401
411
|
* Binds the node that defines this symbol.
|
|
402
412
|
*
|
|
403
413
|
* This may only be set once.
|
|
404
414
|
*/
|
|
405
|
-
setNode(node:
|
|
415
|
+
setNode(node: Node): void;
|
|
406
416
|
/**
|
|
407
417
|
* Returns a debug‑friendly string representation identifying the symbol.
|
|
408
418
|
*/
|
|
@@ -420,13 +430,8 @@ declare class Symbol {
|
|
|
420
430
|
private assertCanonical;
|
|
421
431
|
}
|
|
422
432
|
//#endregion
|
|
423
|
-
//#region src/planner/
|
|
424
|
-
type Input = Ref<object> | object | string | number | undefined;
|
|
433
|
+
//#region src/planner/scope.d.ts
|
|
425
434
|
type NameScopes = Map<string, Set<SymbolKind>>;
|
|
426
|
-
type NameConflictResolver = (args: {
|
|
427
|
-
attempt: number;
|
|
428
|
-
baseName: string;
|
|
429
|
-
}) => string | null;
|
|
430
435
|
type Scope = {
|
|
431
436
|
/** Child scopes. */
|
|
432
437
|
children: Array<Scope>;
|
|
@@ -437,6 +442,13 @@ type Scope = {
|
|
|
437
442
|
/** Symbols registered in this scope. */
|
|
438
443
|
symbols: Array<Ref<Symbol>>;
|
|
439
444
|
};
|
|
445
|
+
//#endregion
|
|
446
|
+
//#region src/planner/types.d.ts
|
|
447
|
+
type Input = Ref<object> | object | string | number | undefined;
|
|
448
|
+
type NameConflictResolver = (args: {
|
|
449
|
+
attempt: number;
|
|
450
|
+
baseName: string;
|
|
451
|
+
}) => string | null;
|
|
440
452
|
interface IAnalysisContext {
|
|
441
453
|
/** Register a dependency on another symbol. */
|
|
442
454
|
addDependency(symbol: Ref<Symbol>): void;
|
|
@@ -576,11 +588,11 @@ interface IOutput {
|
|
|
576
588
|
}
|
|
577
589
|
//#endregion
|
|
578
590
|
//#region src/renderer.d.ts
|
|
579
|
-
interface RenderContext {
|
|
591
|
+
interface RenderContext<Node extends INode = INode> {
|
|
580
592
|
/**
|
|
581
593
|
* The current file.
|
|
582
594
|
*/
|
|
583
|
-
file: File
|
|
595
|
+
file: File<Node>;
|
|
584
596
|
/**
|
|
585
597
|
* Arbitrary metadata.
|
|
586
598
|
*/
|
|
@@ -650,7 +662,7 @@ interface IProject {
|
|
|
650
662
|
}
|
|
651
663
|
//#endregion
|
|
652
664
|
//#region src/files/file.d.ts
|
|
653
|
-
declare class File {
|
|
665
|
+
declare class File<Node extends INode = INode> {
|
|
654
666
|
/**
|
|
655
667
|
* Exports from this file.
|
|
656
668
|
*/
|
|
@@ -736,7 +748,7 @@ declare class File {
|
|
|
736
748
|
/**
|
|
737
749
|
* Syntax nodes contained in this file.
|
|
738
750
|
*/
|
|
739
|
-
get nodes(): ReadonlyArray<
|
|
751
|
+
get nodes(): ReadonlyArray<Node>;
|
|
740
752
|
/**
|
|
741
753
|
* Renderer assigned to this file.
|
|
742
754
|
*/
|
|
@@ -752,7 +764,7 @@ declare class File {
|
|
|
752
764
|
/**
|
|
753
765
|
* Add a syntax node to the file.
|
|
754
766
|
*/
|
|
755
|
-
addNode(node:
|
|
767
|
+
addNode(node: Node): void;
|
|
756
768
|
/**
|
|
757
769
|
* Sets the file extension.
|
|
758
770
|
*/
|
|
@@ -809,8 +821,6 @@ type ExportModule = Pick<ExportMember, 'isTypeOnly'> & {
|
|
|
809
821
|
interface ImportMember {
|
|
810
822
|
/** Whether this import is type-only. */
|
|
811
823
|
isTypeOnly: boolean;
|
|
812
|
-
/** Import flavor. */
|
|
813
|
-
kind: BindingKind;
|
|
814
824
|
/**
|
|
815
825
|
* The name this symbol will have locally in this file.
|
|
816
826
|
* This is where aliasing is applied:
|
|
@@ -823,29 +833,19 @@ interface ImportMember {
|
|
|
823
833
|
/** The exported name of the symbol in its source file. */
|
|
824
834
|
sourceName: string;
|
|
825
835
|
}
|
|
826
|
-
type ImportModule = Pick<ImportMember, 'isTypeOnly'> & {
|
|
836
|
+
type ImportModule = Pick<ImportMember, 'isTypeOnly'> & Pick<Partial<ImportMember>, 'localName'> & {
|
|
827
837
|
/** Source file. */
|
|
828
838
|
from: File;
|
|
829
839
|
/** List of symbols imported from this module. */
|
|
830
840
|
imports: Array<ImportMember>;
|
|
831
|
-
/**
|
|
832
|
-
|
|
841
|
+
/** Import flavor. */
|
|
842
|
+
kind: BindingKind;
|
|
833
843
|
};
|
|
834
844
|
//#endregion
|
|
835
845
|
//#region src/brands.d.ts
|
|
836
846
|
declare const nodeBrand = "heyapi.node";
|
|
837
847
|
declare const symbolBrand = "heyapi.symbol";
|
|
838
848
|
//#endregion
|
|
839
|
-
//#region src/debug.d.ts
|
|
840
|
-
declare const DEBUG_GROUPS: {
|
|
841
|
-
readonly analyzer: colors.StyleFunction;
|
|
842
|
-
readonly dsl: colors.StyleFunction;
|
|
843
|
-
readonly file: colors.StyleFunction;
|
|
844
|
-
readonly registry: colors.StyleFunction;
|
|
845
|
-
readonly symbol: colors.StyleFunction;
|
|
846
|
-
};
|
|
847
|
-
declare function debug(message: string, group: keyof typeof DEBUG_GROUPS): void;
|
|
848
|
-
//#endregion
|
|
849
849
|
//#region src/guards.d.ts
|
|
850
850
|
declare function isNode(value: unknown): value is INode;
|
|
851
851
|
declare function isNodeRef(value: Ref<unknown>): value is Ref<INode>;
|
|
@@ -858,6 +858,42 @@ declare const defaultExtensions: Extensions;
|
|
|
858
858
|
//#region src/languages/resolvers.d.ts
|
|
859
859
|
declare const defaultNameConflictResolvers: NameConflictResolvers;
|
|
860
860
|
//#endregion
|
|
861
|
+
//#region src/log.d.ts
|
|
862
|
+
/**
|
|
863
|
+
* Accepts a value or a readonly array of values of type T.
|
|
864
|
+
*/
|
|
865
|
+
type MaybeArray<T> = T | ReadonlyArray<T>;
|
|
866
|
+
/**
|
|
867
|
+
* Accepts a value or a function returning a value.
|
|
868
|
+
*/
|
|
869
|
+
type MaybeFunc<T extends (...args: Array<any>) => any> = T | ReturnType<T>;
|
|
870
|
+
declare const DebugGroups: {
|
|
871
|
+
readonly analyzer: colors.StyleFunction;
|
|
872
|
+
readonly dsl: colors.StyleFunction;
|
|
873
|
+
readonly file: colors.StyleFunction;
|
|
874
|
+
readonly registry: colors.StyleFunction;
|
|
875
|
+
readonly symbol: colors.StyleFunction;
|
|
876
|
+
};
|
|
877
|
+
declare const WarnGroups: {
|
|
878
|
+
readonly deprecated: colors.StyleFunction;
|
|
879
|
+
};
|
|
880
|
+
declare function debug(message: string, group: keyof typeof DebugGroups): void;
|
|
881
|
+
declare function warn(message: string, group: keyof typeof WarnGroups): void;
|
|
882
|
+
declare function warnDeprecated({
|
|
883
|
+
context,
|
|
884
|
+
field,
|
|
885
|
+
replacement
|
|
886
|
+
}: {
|
|
887
|
+
context?: string;
|
|
888
|
+
field: string;
|
|
889
|
+
replacement?: MaybeFunc<(field: string) => MaybeArray<string>>;
|
|
890
|
+
}): void;
|
|
891
|
+
declare const log: {
|
|
892
|
+
debug: typeof debug;
|
|
893
|
+
warn: typeof warn;
|
|
894
|
+
warnDeprecated: typeof warnDeprecated;
|
|
895
|
+
};
|
|
896
|
+
//#endregion
|
|
861
897
|
//#region src/planner/resolvers.d.ts
|
|
862
898
|
declare const simpleNameConflictResolver: NameConflictResolver;
|
|
863
899
|
declare const underscoreNameConflictResolver: NameConflictResolver;
|
|
@@ -933,10 +969,14 @@ declare class Project implements IProject {
|
|
|
933
969
|
/**
|
|
934
970
|
* Wraps a single value in a Ref object.
|
|
935
971
|
*
|
|
972
|
+
* If the value is already a Ref, returns it as-is (idempotent).
|
|
973
|
+
*
|
|
936
974
|
* @example
|
|
937
975
|
* ```ts
|
|
938
976
|
* const r = ref(123); // { '~ref': 123 }
|
|
939
977
|
* console.log(r['~ref']); // 123
|
|
978
|
+
*
|
|
979
|
+
* const r2 = ref(r); // { '~ref': 123 } (not double-wrapped)
|
|
940
980
|
* ```
|
|
941
981
|
*/
|
|
942
982
|
declare const ref: <T>(value: T) => Ref<T>;
|
|
@@ -960,7 +1000,7 @@ declare const refs: <T extends Record<string, unknown>>(obj: T) => Refs<T>;
|
|
|
960
1000
|
* console.log(n); // 42
|
|
961
1001
|
* ```
|
|
962
1002
|
*/
|
|
963
|
-
declare const fromRef: <T extends Ref<unknown> | undefined>(ref: T) => T
|
|
1003
|
+
declare const fromRef: <T extends Ref<unknown> | undefined>(ref: T) => FromRef<T>;
|
|
964
1004
|
/**
|
|
965
1005
|
* Converts an object of Refs back to a plain object (unwraps all refs).
|
|
966
1006
|
*
|
|
@@ -979,5 +1019,115 @@ declare const fromRefs: <T extends Refs<Record<string, unknown>>>(obj: T) => Fro
|
|
|
979
1019
|
*/
|
|
980
1020
|
declare const isRef: <T>(value: unknown) => value is Ref<T>;
|
|
981
1021
|
//#endregion
|
|
982
|
-
|
|
1022
|
+
//#region src/structure/types.d.ts
|
|
1023
|
+
interface StructureInsert {
|
|
1024
|
+
/** Inserted data. */
|
|
1025
|
+
data: unknown;
|
|
1026
|
+
/** Locations where the data should be inserted. */
|
|
1027
|
+
locations: ReadonlyArray<StructureLocation>;
|
|
1028
|
+
/** Source of the inserted data. */
|
|
1029
|
+
source: symbol;
|
|
1030
|
+
}
|
|
1031
|
+
interface StructureItem extends Pick<StructureInsert, 'data' | 'source'> {
|
|
1032
|
+
/** Location of this item within the structure. */
|
|
1033
|
+
location: ReadonlyArray<string>;
|
|
1034
|
+
}
|
|
1035
|
+
interface StructureLocation {
|
|
1036
|
+
/** Path within the structure where the data should be inserted. */
|
|
1037
|
+
path: ReadonlyArray<string>;
|
|
1038
|
+
/** Shell to apply at this location. */
|
|
1039
|
+
shell?: StructureShell;
|
|
1040
|
+
}
|
|
1041
|
+
interface StructureShell {
|
|
1042
|
+
define: (node: StructureNode) => StructureShellResult;
|
|
1043
|
+
}
|
|
1044
|
+
interface StructureShellResult {
|
|
1045
|
+
dependencies?: Array<INode>;
|
|
1046
|
+
node: INode;
|
|
1047
|
+
}
|
|
1048
|
+
//#endregion
|
|
1049
|
+
//#region src/structure/node.d.ts
|
|
1050
|
+
declare class StructureNode {
|
|
1051
|
+
/** Nested nodes within this node. */
|
|
1052
|
+
children: Map<string, StructureNode>;
|
|
1053
|
+
/** Items contained in this node. */
|
|
1054
|
+
items: Array<StructureItem>;
|
|
1055
|
+
/** The name of this node (e.g., "Users", "Accounts"). */
|
|
1056
|
+
name: string;
|
|
1057
|
+
/** Parent node in the hierarchy. Undefined if this is the root node. */
|
|
1058
|
+
parent?: StructureNode;
|
|
1059
|
+
/** Shell claimed for this node. */
|
|
1060
|
+
shell?: StructureShell;
|
|
1061
|
+
/** Source of the claimed shell. */
|
|
1062
|
+
shellSource?: symbol;
|
|
1063
|
+
/** True if this is a virtual root. */
|
|
1064
|
+
virtual: boolean;
|
|
1065
|
+
constructor(name: string, parent?: StructureNode, options?: {
|
|
1066
|
+
virtual?: boolean;
|
|
1067
|
+
});
|
|
1068
|
+
get isRoot(): boolean;
|
|
1069
|
+
/**
|
|
1070
|
+
* Gets or creates a child node.
|
|
1071
|
+
*
|
|
1072
|
+
* If the child doesn't exist, it's created automatically.
|
|
1073
|
+
*
|
|
1074
|
+
* @param name - The name of the child node
|
|
1075
|
+
* @returns The child node instance
|
|
1076
|
+
*/
|
|
1077
|
+
child(name: string): StructureNode;
|
|
1078
|
+
/**
|
|
1079
|
+
* Gets the full path of this node in the hierarchy.
|
|
1080
|
+
*
|
|
1081
|
+
* @returns An array of node names from the root to this node
|
|
1082
|
+
*/
|
|
1083
|
+
getPath(): ReadonlyArray<string>;
|
|
1084
|
+
/**
|
|
1085
|
+
* Yields items from a specific source with typed data.
|
|
1086
|
+
*
|
|
1087
|
+
* @param source - The source symbol to filter by
|
|
1088
|
+
* @returns Generator of items from that source
|
|
1089
|
+
*/
|
|
1090
|
+
itemsFrom<T = unknown>(source: symbol): Generator<StructureItem & {
|
|
1091
|
+
data: T;
|
|
1092
|
+
}>;
|
|
1093
|
+
/**
|
|
1094
|
+
* Walk all nodes in the structure (depth-first, post-order).
|
|
1095
|
+
*
|
|
1096
|
+
* @returns Generator of all structure nodes
|
|
1097
|
+
*/
|
|
1098
|
+
walk(): Generator<StructureNode>;
|
|
1099
|
+
}
|
|
1100
|
+
//#endregion
|
|
1101
|
+
//#region src/structure/model.d.ts
|
|
1102
|
+
declare class StructureModel {
|
|
1103
|
+
/** Root nodes mapped by their names. */
|
|
1104
|
+
private _roots;
|
|
1105
|
+
/** Node for data without a specific root. */
|
|
1106
|
+
private _virtualRoot?;
|
|
1107
|
+
/**
|
|
1108
|
+
* Get all root nodes.
|
|
1109
|
+
*/
|
|
1110
|
+
get roots(): ReadonlyArray<StructureNode>;
|
|
1111
|
+
/**
|
|
1112
|
+
* Insert data into the structure.
|
|
1113
|
+
*/
|
|
1114
|
+
insert(args: StructureInsert): void;
|
|
1115
|
+
/**
|
|
1116
|
+
* Gets or creates a root by name.
|
|
1117
|
+
*
|
|
1118
|
+
* If the root doesn't exist, it's created automatically.
|
|
1119
|
+
*
|
|
1120
|
+
* @param name - The name of the root
|
|
1121
|
+
* @returns The root instance
|
|
1122
|
+
*/
|
|
1123
|
+
root(name: string | null): StructureNode;
|
|
1124
|
+
/**
|
|
1125
|
+
* Walk all nodes in the structure (depth-first, post-order).
|
|
1126
|
+
*
|
|
1127
|
+
* @returns Generator of all structure nodes
|
|
1128
|
+
*/
|
|
1129
|
+
walk(): Generator<StructureNode>;
|
|
1130
|
+
}
|
|
1131
|
+
//#endregion
|
|
1132
|
+
export { type IAnalysisContext as AnalysisContext, type BindingKind, type ExportMember, type ExportModule, type Extensions, File, type IFileIn as FileIn, type FromRef, type FromRefs, type IProject, type ImportMember, type ImportModule, type Language, type NameConflictResolver, type NameConflictResolvers, type INode as Node, type NodeName, type NodeNameSanitizer, type NodeRelationship, type NodeScope, type IOutput as Output, Project, type IProjectRenderMeta as ProjectRenderMeta, type Ref, type Refs, type RenderContext, type Renderer, type StructureInsert, type StructureItem, type StructureLocation, StructureModel, StructureNode, type StructureShell, type StructureShellResult, Symbol, type ISymbolIdentifier as SymbolIdentifier, type ISymbolIn as SymbolIn, type ISymbolMeta as SymbolMeta, defaultExtensions, defaultNameConflictResolvers, fromRef, fromRefs, isNode, isNodeRef, isRef, isSymbol, isSymbolRef, log, nodeBrand, ref, refs, simpleNameConflictResolver, symbolBrand, underscoreNameConflictResolver };
|
|
983
1133
|
//# sourceMappingURL=index.d.mts.map
|
package/dist/index.d.mts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.mts","names":["Ref","T","Refs","K","FromRef","V","FromRefs","IProjectRenderMeta","ISymbolMeta","File","Language","IAnalysisContext","Symbol","INode","T","ISymbolMeta","Symbol","BindingKind","ISymbolIdentifier","SymbolKind","SymbolNameSanitizer","ISymbolIn","ReadonlyArray","ISymbolRegistry","IterableIterator","Ref","Symbol","SymbolKind","AssignOptions","NameScopes","ReadonlyArray","Input","Set","Map","NameConflictResolver","Scope","Array","IAnalysisContext","NameConflictResolver","Extensions","Language","ReadonlyArray","Record","Partial","NameConflictResolvers","Language","File","FileKeyArgs","Required","Pick","Partial","IFileIn","IFileRegistry","IterableIterator","INode","INodeRegistry","Iterable","IOutput","IProjectRenderMeta","File","IProject","RenderContext","Renderer","IProjectRenderMeta","IFileRegistry","Extensions","NameConflictResolvers","INodeRegistry","IOutput","NameConflictResolver","Renderer","ISymbolRegistry","IProject","ReadonlyArray","File","BindingKind","ExportMember","ExportModule","Pick","Array","ImportMember","ImportModule"],"sources":["../src/refs/types.d.ts","../src/extensions.d.ts","../src/nodes/node.d.ts","../src/symbols/types.d.ts","../src/symbols/symbol.ts","../src/planner/types.d.ts","../src/languages/types.d.ts","../src/files/types.d.ts","../src/nodes/types.d.ts","../src/output.d.ts","../src/renderer.d.ts","../src/project/types.d.ts","../src/files/file.ts","../src/bindings.d.ts","../src/brands.ts","../src/debug.ts","../src/guards.ts","../src/languages/extensions.ts","../src/languages/resolvers.ts","../src/planner/resolvers.ts","../src/files/registry.ts","../src/nodes/registry.ts","../src/symbols/registry.ts","../src/project/project.ts","../src/refs/refs.ts"],"sourcesContent":["/**\n * Ref wrapper which ensures a stable reference for a value.\n *\n * @example\n * ```ts\n * type NumRef = Ref<number>; // { '~ref': number }\n * const num: NumRef = { '~ref': 42 };\n * console.log(num['~ref']); // 42\n * ```\n */\nexport type Ref<T> = { '~ref': T };\n\n/**\n * Maps every property of `T` to a `Ref` of that property.\n *\n * @example\n * ```ts\n * type Foo = { a: number; b: string };\n * type Refs = Refs<Foo>; // { a: Ref<number>; b: Ref<string> }\n * const refs: Refs = { a: { '~ref': 1 }, b: { '~ref': 'x' } };\n * console.log(refs.a['~ref'], refs.b['~ref']); // 1 'x'\n * ```\n */\nexport type Refs<T> = {\n [K in keyof T]: Ref<T[K]>;\n};\n\n/**\n * Unwraps a Ref to its value type.\n *\n * @example\n * ```ts\n * type N = FromRef<{ '~ref': number }>; // number\n * ```\n */\nexport type FromRef<T> = T extends Ref<infer V> ? V : T;\n\n/**\n * Maps every property of a Ref-wrapped object back to its plain value.\n *\n * @example\n * ```ts\n * type Foo = { a: number; b: string };\n * type Refs = Refs<Foo>; // { a: Ref<number>; b: Ref<string> }\n * type Foo2 = FromRefs<Refs>; // { a: number; b: string }\n * ```\n */\nexport type FromRefs<T> = {\n [K in keyof T]: T[K] extends Ref<infer V> ? V : T[K];\n};\n","/**\n * Arbitrary metadata passed to the project's render function.\n *\n * Implementers should extend this interface for their own needs.\n */\nexport interface IProjectRenderMeta {\n [key: string]: unknown;\n}\n\n/**\n * Additional metadata about the symbol.\n *\n * Implementers should extend this interface for their own needs.\n */\nexport interface ISymbolMeta {\n [key: string]: unknown;\n}\n","import type { File } from '../files/file';\nimport type { Language } from '../languages/types';\nimport type { IAnalysisContext } from '../planner/types';\nimport type { Symbol } from '../symbols/symbol';\n\nexport interface INode<T = unknown> {\n /** Perform semantic analysis. */\n analyze(ctx: IAnalysisContext): void;\n /** Whether this node is exported from its file. */\n exported?: boolean;\n /** The file this node belongs to. */\n file?: File;\n /** The programming language associated with this node */\n language: Language;\n /** Parent node in the syntax tree. */\n parent?: INode;\n /** Root node of the syntax tree. */\n root?: INode;\n /** The symbol associated with this node. */\n symbol?: Symbol;\n /** Convert this node into AST representation. */\n toAst(): T;\n /** Brand used for renderer dispatch. */\n readonly '~brand': string;\n}\n","import type { ISymbolMeta } from '../extensions';\nimport type { Symbol } from './symbol';\n\nexport type BindingKind = 'default' | 'named' | 'namespace';\n\nexport type ISymbolIdentifier = number | ISymbolMeta;\n\nexport type SymbolKind =\n | 'class'\n | 'enum'\n | 'function'\n | 'interface'\n | 'namespace'\n | 'type'\n | 'var';\n\nexport type SymbolNameSanitizer = (name: string) => string;\n\nexport type ISymbolIn = {\n /**\n * Array of file names (without extensions) from which this symbol is re-exported.\n *\n * @default undefined\n */\n exportFrom?: ReadonlyArray<string>;\n /**\n * Whether this symbol is exported from its own file.\n *\n * @default false\n */\n exported?: boolean;\n /**\n * External module name if this symbol is imported from a module not managed\n * by the project (e.g. \"zod\", \"lodash\").\n *\n * @default undefined\n */\n external?: string;\n /**\n * Optional output strategy to override default behavior.\n *\n * @returns The file path to output the symbol to, or undefined to fallback to default behavior.\n */\n getFilePath?: Symbol['getFilePath'];\n /**\n * Kind of import if this symbol represents an import.\n */\n importKind?: BindingKind;\n /**\n * Kind of symbol.\n */\n kind?: SymbolKind;\n /**\n * Arbitrary metadata about the symbol.\n *\n * @default undefined\n */\n meta?: ISymbolMeta;\n /**\n * The intended, user-facing name of the symbol before any conflict resolution.\n * It is **not** guaranteed to be the final emitted name — aliasing may occur if the\n * file contains conflicting local identifiers or other symbols with the same intended name.\n *\n * @example \"UserModel\"\n */\n name: string;\n};\n\nexport interface ISymbolRegistry {\n /**\n * Get a symbol.\n *\n * @param identifier Symbol identifier to reference.\n * @returns The symbol, or undefined if not found.\n */\n get(identifier: ISymbolIdentifier): Symbol | undefined;\n /**\n * Returns whether a symbol is registered in the registry.\n *\n * @param identifier Symbol identifier to check.\n * @returns True if the symbol is registered, false otherwise.\n */\n isRegistered(identifier: ISymbolIdentifier): boolean;\n /**\n * Returns the current symbol ID and increments it.\n *\n * @returns Symbol ID before being incremented.\n */\n readonly nextId: number;\n /**\n * Queries symbols by metadata filter.\n *\n * @param filter Metadata filter to query symbols by.\n * @returns Array of symbols matching the filter.\n */\n query(filter: ISymbolMeta): ReadonlyArray<Symbol>;\n /**\n * References a symbol.\n *\n * @param meta Metadata filter to reference symbol by.\n * @returns The referenced symbol.\n */\n reference(meta: ISymbolMeta): Symbol;\n /**\n * Register a symbol globally.\n *\n * Deduplicates identical symbols by ID.\n *\n * @param symbol Symbol to register.\n * @returns The registered symbol.\n */\n register(symbol: ISymbolIn): Symbol;\n /**\n * Get all symbols in the order they were registered.\n *\n * @returns Array of all registered symbols, in insert order.\n */\n registered(): IterableIterator<Symbol>;\n}\n","import type { Ref } from '../refs/types';\nimport type { Symbol } from '../symbols/symbol';\nimport type { SymbolKind } from '../symbols/types';\n\nexport type AssignOptions = {\n /** The primary scope in which to assign a symbol's final name. */\n scope: NameScopes;\n /** Additional scopes to update as side effects when assigning a symbol's final name. */\n scopesToUpdate: ReadonlyArray<NameScopes>;\n};\n\nexport type Input = Ref<object> | object | string | number | undefined;\n\nexport type NameScopes = Map<string, Set<SymbolKind>>;\n\nexport type NameConflictResolver = (args: {\n attempt: number;\n baseName: string;\n}) => string | null;\n\nexport type Scope = {\n /** Child scopes. */\n children: Array<Scope>;\n /** Resolved names in this scope. */\n localNames: NameScopes;\n /** Parent scope, if any. */\n parent?: Scope;\n /** Symbols registered in this scope. */\n symbols: Array<Ref<Symbol>>;\n};\n\nexport interface IAnalysisContext {\n /** Register a dependency on another symbol. */\n addDependency(symbol: Ref<Symbol>): void;\n /** Register a dependency on another symbol or analyze further. */\n analyze(input: Input): void;\n /** Get local names in the current scope. */\n localNames(scope: Scope): NameScopes;\n /** Pop the current local scope. */\n popScope(): void;\n /** Push a new local scope. */\n pushScope(): void;\n /** Current local scope. */\n scope: Scope;\n /** Stack of local name scopes. */\n scopes: Scope;\n /** Top-level symbol for the current analysis pass. */\n symbol?: Symbol;\n /** Walks all symbols in the scope tree in depth-first order. */\n walkScopes(\n callback: (symbol: Ref<Symbol>, scope: Scope) => void,\n scope?: Scope,\n ): void;\n}\n","import type { NameConflictResolver } from '../planner/types';\n\nexport type Extensions = Partial<Record<Language, ReadonlyArray<string>>>;\n\nexport type Language =\n | 'c'\n | 'c#'\n | 'c++'\n | 'css'\n | 'dart'\n | 'go'\n | 'haskell'\n | 'html'\n | 'java'\n | 'javascript'\n | 'json'\n | 'kotlin'\n | 'lua'\n | 'markdown'\n | 'matlab'\n | 'perl'\n | 'php'\n | 'python'\n | 'r'\n | 'ruby'\n | 'rust'\n | 'scala'\n | 'shell'\n | 'sql'\n | 'swift'\n | 'typescript'\n | 'yaml'\n | (string & {}); // other/custom language\n\nexport type NameConflictResolvers = Partial<\n Record<Language, NameConflictResolver>\n>;\n","import type { Language } from '../languages/types';\nimport type { File } from './file';\n\nexport type FileKeyArgs = Pick<Required<File>, 'logicalFilePath'> &\n Pick<Partial<File>, 'external' | 'language'>;\n\nexport type IFileIn = {\n /**\n * Indicates whether the file is external, meaning it is not generated\n * as part of the project but is referenced (e.g., a module from\n * node_modules).\n *\n * @example true\n */\n external?: boolean;\n /**\n * Language of the file.\n *\n * @example \"typescript\"\n */\n language?: Language;\n /**\n * Logical, extension-free path used for planning and routing.\n *\n * @example \"src/models/user\"\n */\n logicalFilePath: string;\n /**\n * The desired name for the file within the project. If there are multiple files\n * with the same desired name, this might not end up being the actual name.\n *\n * @example \"UserModel\"\n */\n name?: string;\n};\n\nexport interface IFileRegistry {\n /**\n * Get a file.\n *\n * @returns The file, or undefined if not found.\n */\n get(args: FileKeyArgs): File | undefined;\n /**\n * Returns whether a file is registered in the registry.\n *\n * @returns True if the file is registered, false otherwise.\n */\n isRegistered(args: FileKeyArgs): boolean;\n /**\n * Returns the current file ID and increments it.\n *\n * @returns File ID before being incremented\n */\n readonly nextId: number;\n /**\n * Register a file globally.\n *\n * @param file File to register.\n * @returns Newly registered file if created, merged file otherwise.\n */\n register(file: IFileIn): File;\n /**\n * Get all files in the order they were registered.\n *\n * @returns Array of all registered files, in insert order.\n */\n registered(): IterableIterator<File>;\n}\n","import type { INode } from './node';\n\nexport interface INodeRegistry {\n /**\n * Register a syntax node.\n *\n * @returns The index of the registered node.\n */\n add(node: INode | null): number;\n /**\n * All nodes in insertion order.\n */\n all(): Iterable<INode>;\n /**\n * Remove a node by its index.\n *\n * @param index Index of the node to remove.\n */\n remove(index: number): void;\n /**\n * Update a node at the given index.\n *\n * @param index Index of the node to update.\n * @param node New node to set.\n */\n update(index: number, node: INode | null): void;\n}\n","export interface IOutput {\n /**\n * The main content of the file to output.\n *\n * A raw string representing source code.\n *\n * @example \"function foo(): void {\\n // implementation\\n}\\n\"\n */\n content: string;\n /**\n * Logical output path (used for writing the file).\n *\n * @example \"models/user.ts\"\n */\n path: string;\n}\n","import type { IProjectRenderMeta } from './extensions';\nimport type { File } from './files/file';\nimport type { IProject } from './project/types';\n\nexport interface RenderContext {\n /**\n * The current file.\n */\n file: File;\n /**\n * Arbitrary metadata.\n */\n meta?: IProjectRenderMeta;\n /**\n * The project the file belongs to.\n */\n project: IProject;\n}\n\nexport interface Renderer {\n /** Renders the given file. */\n render(ctx: RenderContext): string;\n /** Returns whether this renderer can render the given file. */\n supports(ctx: RenderContext): boolean;\n}\n","import type { IProjectRenderMeta } from '../extensions';\nimport type { IFileRegistry } from '../files/types';\nimport type { Extensions, NameConflictResolvers } from '../languages/types';\nimport type { INodeRegistry } from '../nodes/types';\nimport type { IOutput } from '../output';\nimport type { NameConflictResolver } from '../planner/types';\nimport type { Renderer } from '../renderer';\nimport type { ISymbolRegistry } from '../symbols/types';\n\n/**\n * Represents a code generation project consisting of codegen files.\n *\n * Manages imports, symbols, and output generation across the project.\n */\nexport interface IProject {\n /**\n * The default file to assign symbols without a specific file selector.\n *\n * @default 'main'\n */\n readonly defaultFileName: string;\n /** Default name conflict resolver used when a file has no specific resolver. */\n readonly defaultNameConflictResolver: NameConflictResolver;\n /** Maps language to array of extensions. First element is used by default. */\n readonly extensions: Extensions;\n /**\n * Function to transform file names before they are used.\n *\n * @param name The original file name.\n * @returns The transformed file name.\n */\n readonly fileName?: (name: string) => string;\n /** Centralized file registry for the project. */\n readonly files: IFileRegistry;\n /** Map of language-specific name conflict resolvers for files in the project. */\n readonly nameConflictResolvers: NameConflictResolvers;\n /** Centralized node registry for the project. */\n readonly nodes: INodeRegistry;\n /**\n * Produces output representations for all files in the project.\n *\n * @param meta Arbitrary metadata.\n * @returns Array of outputs ready for writing or further processing.\n * @example\n * project.render().forEach(output => writeFile(output));\n */\n render(meta?: IProjectRenderMeta): ReadonlyArray<IOutput>;\n /**\n * List of available renderers.\n *\n * @example\n * [new TypeScriptRenderer()]\n */\n readonly renderers: ReadonlyArray<Renderer>;\n /** The absolute path to the root folder of the project. */\n readonly root: string;\n /** Centralized symbol registry for the project. */\n readonly symbols: ISymbolRegistry;\n}\n","import type { File } from './files/file';\nimport type { BindingKind } from './symbols/types';\n\nexport interface ExportMember {\n /**\n * Name under which the symbol is exported in this file.\n *\n * export { Foo as Bar } from \"./models\"\n *\n * exportedName === \"Bar\"\n */\n exportedName: string;\n /** Whether this export is type-only. */\n isTypeOnly: boolean;\n /** Export flavor. */\n kind: BindingKind;\n /** The exported name of the symbol in its source file. */\n sourceName: string;\n}\n\nexport type ExportModule = Pick<ExportMember, 'isTypeOnly'> & {\n /** Whether this module can export all symbols: `export * from 'module'`. */\n canExportAll: boolean;\n /** Members exported from this module. */\n exports: Array<ExportMember>;\n /** Source file. */\n from: File;\n /** Namespace export: `export * as ns from 'module'`. Mutually exclusive with `exports`. */\n namespaceExport?: string;\n};\n\nexport interface ImportMember {\n /** Whether this import is type-only. */\n isTypeOnly: boolean;\n /** Import flavor. */\n kind: BindingKind;\n /**\n * The name this symbol will have locally in this file.\n * This is where aliasing is applied:\n *\n * import { Foo as Foo$2 } from \"./x\"\n *\n * localName === \"Foo$2\"\n */\n localName: string;\n /** The exported name of the symbol in its source file. */\n sourceName: string;\n}\n\nexport type ImportModule = Pick<ImportMember, 'isTypeOnly'> & {\n /** Source file. */\n from: File;\n /** List of symbols imported from this module. */\n imports: Array<ImportMember>;\n /** Namespace import: `import * as name from 'module'`. Mutually exclusive with `imports`. */\n namespaceImport?: string;\n};\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.d.mts","names":["Ref","T","Refs","K","FromRef","FromRefs","IProjectRenderMeta","ISymbolMeta","File","Language","IAnalysisContext","Ref","Symbol","MaybeRef","T","NodeName","NodeNameSanitizer","NodeRelationship","NodeScope","INode","Map","ISymbolMeta","Symbol","BindingKind","ISymbolIdentifier","SymbolKind","ISymbolIn","ReadonlyArray","ISymbolRegistry","IterableIterator","Ref","Symbol","NameScopes","Scope","Input","NameConflictResolver","IAnalysisContext","NameConflictResolver","Extensions","Language","ReadonlyArray","Record","Partial","NameConflictResolvers","Language","File","FileKeyArgs","Required","Pick","Partial","IFileIn","IFileRegistry","IterableIterator","INode","INodeRegistry","Iterable","IOutput","IProjectRenderMeta","File","INode","IProject","RenderContext","Node","Renderer","IProjectRenderMeta","IFileRegistry","Extensions","NameConflictResolvers","INodeRegistry","IOutput","NameConflictResolver","Renderer","ISymbolRegistry","IProject","ReadonlyArray","File","BindingKind","ExportMember","ExportModule","Pick","Array","ImportMember","ImportModule","Partial","INode","StructureNode","StructureInsert","StructureLocation","ReadonlyArray","StructureItem","Pick","StructureShell","StructureShellResult","Array"],"sources":["../src/refs/types.d.ts","../src/extensions.d.ts","../src/nodes/node.d.ts","../src/symbols/types.d.ts","../src/symbols/symbol.ts","../src/planner/scope.ts","../src/planner/types.d.ts","../src/languages/types.d.ts","../src/files/types.d.ts","../src/nodes/types.d.ts","../src/output.d.ts","../src/renderer.d.ts","../src/project/types.d.ts","../src/files/file.ts","../src/bindings.d.ts","../src/brands.ts","../src/guards.ts","../src/languages/extensions.ts","../src/languages/resolvers.ts","../src/log.ts","../src/planner/resolvers.ts","../src/files/registry.ts","../src/nodes/registry.ts","../src/symbols/registry.ts","../src/project/project.ts","../src/refs/refs.ts","../src/structure/types.d.ts","../src/structure/node.ts","../src/structure/model.ts"],"sourcesContent":["/**\n * Ref wrapper which ensures a stable reference for a value.\n *\n * @example\n * ```ts\n * type NumRef = Ref<number>; // { '~ref': number }\n * const num: NumRef = { '~ref': 42 };\n * console.log(num['~ref']); // 42\n * ```\n */\nexport type Ref<T> = T extends { ['~ref']: unknown } ? T : { '~ref': T };\n\n/**\n * Maps every property of `T` to a `Ref` of that property.\n *\n * @example\n * ```ts\n * type Foo = { a: number; b: string };\n * type Refs = Refs<Foo>; // { a: Ref<number>; b: Ref<string> }\n * const refs: Refs = { a: { '~ref': 1 }, b: { '~ref': 'x' } };\n * console.log(refs.a['~ref'], refs.b['~ref']); // 1 'x'\n * ```\n */\nexport type Refs<T> = {\n [K in keyof T]: Ref<T[K]>;\n};\n\n/**\n * Unwraps a Ref to its value type.\n *\n * @example\n * ```ts\n * type N = FromRef<{ '~ref': number }>; // number\n * ```\n */\nexport type FromRef<T> = T extends { '~ref': infer U } ? U : T;\n\n/**\n * Maps every property of a Ref-wrapped object back to its plain value.\n *\n * @example\n * ```ts\n * type Foo = { a: number; b: string };\n * type Refs = Refs<Foo>; // { a: Ref<number>; b: Ref<string> }\n * type Foo2 = FromRefs<Refs>; // { a: number; b: string }\n * ```\n */\nexport type FromRefs<T> = {\n [K in keyof T]: T[K] extends Ref<infer U> ? U : T[K];\n};\n","/**\n * Arbitrary metadata passed to the project's render function.\n *\n * Implementers should extend this interface for their own needs.\n */\nexport interface IProjectRenderMeta {\n [key: string]: unknown;\n}\n\n/**\n * Additional metadata about the symbol.\n *\n * Implementers should extend this interface for their own needs.\n */\nexport interface ISymbolMeta {\n [key: string]: unknown;\n}\n","import type { File } from '../files/file';\nimport type { Language } from '../languages/types';\nimport type { IAnalysisContext } from '../planner/types';\nimport type { Ref } from '../refs/types';\nimport type { Symbol } from '../symbols/symbol';\n\nexport type MaybeRef<T> = T | Ref<T>;\n\nexport type NodeName = MaybeRef<Symbol | string | number>;\n\nexport type NodeNameSanitizer = (name: string) => string;\n\nexport type NodeRelationship = 'container' | 'reference';\n\nexport type NodeScope = 'type' | 'value';\n\nexport interface INode<T = unknown> {\n /** Perform semantic analysis. */\n analyze(ctx: IAnalysisContext): void;\n /** Create a shallow copy of this node. */\n clone(): this;\n /** Whether this node is exported from its file. */\n exported?: boolean;\n /** The file this node belongs to. */\n file?: File;\n /** The programming language associated with this node */\n language: Language;\n /** The display name of this node. */\n readonly name: Ref<NodeName> & {\n set(value: NodeName): void;\n toString(): string;\n };\n /** Optional function to sanitize the node name. */\n readonly nameSanitizer?: NodeNameSanitizer;\n /** Whether this node is a root node in the file. */\n root?: boolean;\n /** The scope of this node. */\n scope?: NodeScope;\n /** Semantic children in the structure hierarchy. */\n structuralChildren?: Map<INode, NodeRelationship>;\n /** Semantic parents in the structure hierarchy. */\n structuralParents?: Map<INode, NodeRelationship>;\n /** The symbol associated with this node. */\n symbol?: Symbol;\n /** Convert this node into AST representation. */\n toAst(): T;\n /** Brand used for renderer dispatch. */\n readonly '~brand': string;\n}\n","import type { ISymbolMeta } from '../extensions';\nimport type { Symbol } from './symbol';\n\nexport type BindingKind = 'default' | 'named' | 'namespace';\n\nexport type ISymbolIdentifier = number | ISymbolMeta;\n\nexport type SymbolKind =\n | 'class'\n | 'enum'\n | 'function'\n | 'interface'\n | 'namespace'\n | 'type'\n | 'var';\n\nexport type ISymbolIn = {\n /**\n * Array of file names (without extensions) from which this symbol is re-exported.\n *\n * @default undefined\n */\n exportFrom?: ReadonlyArray<string>;\n /**\n * Whether this symbol is exported from its own file.\n *\n * @default false\n */\n exported?: boolean;\n /**\n * External module name if this symbol is imported from a module not managed\n * by the project (e.g. \"zod\", \"lodash\").\n *\n * @default undefined\n */\n external?: string;\n /**\n * Optional output strategy to override default behavior.\n *\n * @returns The file path to output the symbol to, or undefined to fallback to default behavior.\n */\n getFilePath?: Symbol['getFilePath'];\n /**\n * Kind of import if this symbol represents an import.\n *\n * @default 'named'\n */\n importKind?: BindingKind;\n /**\n * Kind of symbol.\n *\n * @default 'var'\n */\n kind?: SymbolKind;\n /**\n * Arbitrary metadata about the symbol.\n *\n * @default undefined\n */\n meta?: ISymbolMeta;\n /**\n * The intended, user-facing name of the symbol before any conflict resolution.\n * It is **not** guaranteed to be the final emitted name — aliasing may occur if the\n * file contains conflicting local identifiers or other symbols with the same intended name.\n *\n * @example \"UserModel\"\n */\n name: string;\n};\n\nexport interface ISymbolRegistry {\n /**\n * Get a symbol.\n *\n * @param identifier Symbol identifier to reference.\n * @returns The symbol, or undefined if not found.\n */\n get(identifier: ISymbolIdentifier): Symbol | undefined;\n /**\n * Returns whether a symbol is registered in the registry.\n *\n * @param identifier Symbol identifier to check.\n * @returns True if the symbol is registered, false otherwise.\n */\n isRegistered(identifier: ISymbolIdentifier): boolean;\n /**\n * Returns the current symbol ID and increments it.\n *\n * @returns Symbol ID before being incremented.\n */\n readonly nextId: number;\n /**\n * Queries symbols by metadata filter.\n *\n * @param filter Metadata filter to query symbols by.\n * @returns Array of symbols matching the filter.\n */\n query(filter: ISymbolMeta): ReadonlyArray<Symbol>;\n /**\n * References a symbol.\n *\n * @param meta Metadata filter to reference symbol by.\n * @returns The referenced symbol.\n */\n reference(meta: ISymbolMeta): Symbol;\n /**\n * Register a symbol globally.\n *\n * Deduplicates identical symbols by ID.\n *\n * @param symbol Symbol to register.\n * @returns The registered symbol.\n */\n register(symbol: ISymbolIn): Symbol;\n /**\n * Get all symbols in the order they were registered.\n *\n * @returns Array of all registered symbols, in insert order.\n */\n registered(): IterableIterator<Symbol>;\n}\n","import type { Ref } from '../refs/types';\nimport type { Symbol } from '../symbols/symbol';\nimport type { NameScopes, Scope } from './scope';\n\nexport type Input = Ref<object> | object | string | number | undefined;\n\nexport type NameConflictResolver = (args: {\n attempt: number;\n baseName: string;\n}) => string | null;\n\nexport interface IAnalysisContext {\n /** Register a dependency on another symbol. */\n addDependency(symbol: Ref<Symbol>): void;\n /** Register a dependency on another symbol or analyze further. */\n analyze(input: Input): void;\n /** Get local names in the current scope. */\n localNames(scope: Scope): NameScopes;\n /** Pop the current local scope. */\n popScope(): void;\n /** Push a new local scope. */\n pushScope(): void;\n /** Current local scope. */\n scope: Scope;\n /** Stack of local name scopes. */\n scopes: Scope;\n /** Top-level symbol for the current analysis pass. */\n symbol?: Symbol;\n /** Walks all symbols in the scope tree in depth-first order. */\n walkScopes(\n callback: (symbol: Ref<Symbol>, scope: Scope) => void,\n scope?: Scope,\n ): void;\n}\n","import type { NameConflictResolver } from '../planner/types';\n\nexport type Extensions = Partial<Record<Language, ReadonlyArray<string>>>;\n\nexport type Language =\n | 'c'\n | 'c#'\n | 'c++'\n | 'css'\n | 'dart'\n | 'go'\n | 'haskell'\n | 'html'\n | 'java'\n | 'javascript'\n | 'json'\n | 'kotlin'\n | 'lua'\n | 'markdown'\n | 'matlab'\n | 'perl'\n | 'php'\n | 'python'\n | 'r'\n | 'ruby'\n | 'rust'\n | 'scala'\n | 'shell'\n | 'sql'\n | 'swift'\n | 'typescript'\n | 'yaml'\n | (string & {}); // other/custom language\n\nexport type NameConflictResolvers = Partial<\n Record<Language, NameConflictResolver>\n>;\n","import type { Language } from '../languages/types';\nimport type { File } from './file';\n\nexport type FileKeyArgs = Pick<Required<File>, 'logicalFilePath'> &\n Pick<Partial<File>, 'external' | 'language'>;\n\nexport type IFileIn = {\n /**\n * Indicates whether the file is external, meaning it is not generated\n * as part of the project but is referenced (e.g., a module from\n * node_modules).\n *\n * @example true\n */\n external?: boolean;\n /**\n * Language of the file.\n *\n * @example \"typescript\"\n */\n language?: Language;\n /**\n * Logical, extension-free path used for planning and routing.\n *\n * @example \"src/models/user\"\n */\n logicalFilePath: string;\n /**\n * The desired name for the file within the project. If there are multiple files\n * with the same desired name, this might not end up being the actual name.\n *\n * @example \"UserModel\"\n */\n name?: string;\n};\n\nexport interface IFileRegistry {\n /**\n * Get a file.\n *\n * @returns The file, or undefined if not found.\n */\n get(args: FileKeyArgs): File | undefined;\n /**\n * Returns whether a file is registered in the registry.\n *\n * @returns True if the file is registered, false otherwise.\n */\n isRegistered(args: FileKeyArgs): boolean;\n /**\n * Returns the current file ID and increments it.\n *\n * @returns File ID before being incremented\n */\n readonly nextId: number;\n /**\n * Register a file globally.\n *\n * @param file File to register.\n * @returns Newly registered file if created, merged file otherwise.\n */\n register(file: IFileIn): File;\n /**\n * Get all files in the order they were registered.\n *\n * @returns Array of all registered files, in insert order.\n */\n registered(): IterableIterator<File>;\n}\n","import type { INode } from './node';\n\nexport interface INodeRegistry {\n /**\n * Register a syntax node.\n *\n * @returns The index of the registered node.\n */\n add(node: INode | null): number;\n /**\n * All nodes in insertion order.\n */\n all(): Iterable<INode>;\n /**\n * Remove a node by its index.\n *\n * @param index Index of the node to remove.\n */\n remove(index: number): void;\n /**\n * Update a node at the given index.\n *\n * @param index Index of the node to update.\n * @param node New node to set.\n */\n update(index: number, node: INode | null): void;\n}\n","export interface IOutput {\n /**\n * The main content of the file to output.\n *\n * A raw string representing source code.\n *\n * @example \"function foo(): void {\\n // implementation\\n}\\n\"\n */\n content: string;\n /**\n * Logical output path (used for writing the file).\n *\n * @example \"models/user.ts\"\n */\n path: string;\n}\n","import type { IProjectRenderMeta } from './extensions';\nimport type { File } from './files/file';\nimport type { INode } from './nodes/node';\nimport type { IProject } from './project/types';\n\nexport interface RenderContext<Node extends INode = INode> {\n /**\n * The current file.\n */\n file: File<Node>;\n /**\n * Arbitrary metadata.\n */\n meta?: IProjectRenderMeta;\n /**\n * The project the file belongs to.\n */\n project: IProject;\n}\n\nexport interface Renderer {\n /** Renders the given file. */\n render(ctx: RenderContext): string;\n /** Returns whether this renderer can render the given file. */\n supports(ctx: RenderContext): boolean;\n}\n","import type { IProjectRenderMeta } from '../extensions';\nimport type { IFileRegistry } from '../files/types';\nimport type { Extensions, NameConflictResolvers } from '../languages/types';\nimport type { INodeRegistry } from '../nodes/types';\nimport type { IOutput } from '../output';\nimport type { NameConflictResolver } from '../planner/types';\nimport type { Renderer } from '../renderer';\nimport type { ISymbolRegistry } from '../symbols/types';\n\n/**\n * Represents a code generation project consisting of codegen files.\n *\n * Manages imports, symbols, and output generation across the project.\n */\nexport interface IProject {\n /**\n * The default file to assign symbols without a specific file selector.\n *\n * @default 'main'\n */\n readonly defaultFileName: string;\n /** Default name conflict resolver used when a file has no specific resolver. */\n readonly defaultNameConflictResolver: NameConflictResolver;\n /** Maps language to array of extensions. First element is used by default. */\n readonly extensions: Extensions;\n /**\n * Function to transform file names before they are used.\n *\n * @param name The original file name.\n * @returns The transformed file name.\n */\n readonly fileName?: (name: string) => string;\n /** Centralized file registry for the project. */\n readonly files: IFileRegistry;\n /** Map of language-specific name conflict resolvers for files in the project. */\n readonly nameConflictResolvers: NameConflictResolvers;\n /** Centralized node registry for the project. */\n readonly nodes: INodeRegistry;\n /**\n * Produces output representations for all files in the project.\n *\n * @param meta Arbitrary metadata.\n * @returns Array of outputs ready for writing or further processing.\n * @example\n * project.render().forEach(output => writeFile(output));\n */\n render(meta?: IProjectRenderMeta): ReadonlyArray<IOutput>;\n /**\n * List of available renderers.\n *\n * @example\n * [new TypeScriptRenderer()]\n */\n readonly renderers: ReadonlyArray<Renderer>;\n /** The absolute path to the root folder of the project. */\n readonly root: string;\n /** Centralized symbol registry for the project. */\n readonly symbols: ISymbolRegistry;\n}\n","import type { File } from './files/file';\nimport type { BindingKind } from './symbols/types';\n\nexport interface ExportMember {\n /**\n * Name under which the symbol is exported in this file.\n *\n * export { Foo as Bar } from \"./models\"\n *\n * exportedName === \"Bar\"\n */\n exportedName: string;\n /** Whether this export is type-only. */\n isTypeOnly: boolean;\n /** Export flavor. */\n kind: BindingKind;\n /** The exported name of the symbol in its source file. */\n sourceName: string;\n}\n\nexport type ExportModule = Pick<ExportMember, 'isTypeOnly'> & {\n /** Whether this module can export all symbols: `export * from 'module'`. */\n canExportAll: boolean;\n /** Members exported from this module. */\n exports: Array<ExportMember>;\n /** Source file. */\n from: File;\n /** Namespace export: `export * as ns from 'module'`. Mutually exclusive with `exports`. */\n namespaceExport?: string;\n};\n\nexport interface ImportMember {\n /** Whether this import is type-only. */\n isTypeOnly: boolean;\n /**\n * The name this symbol will have locally in this file.\n * This is where aliasing is applied:\n *\n * import { Foo as Foo$2 } from \"./x\"\n *\n * localName === \"Foo$2\"\n */\n localName: string;\n /** The exported name of the symbol in its source file. */\n sourceName: string;\n}\n\nexport type ImportModule = Pick<ImportMember, 'isTypeOnly'> &\n Pick<Partial<ImportMember>, 'localName'> & {\n /** Source file. */\n from: File;\n /** List of symbols imported from this module. */\n imports: Array<ImportMember>;\n /** Import flavor. */\n kind: BindingKind;\n };\n","import type { INode } from '../nodes/node';\nimport type { StructureNode } from './node';\n\nexport interface StructureInsert {\n /** Inserted data. */\n data: unknown;\n /** Locations where the data should be inserted. */\n locations: ReadonlyArray<StructureLocation>;\n /** Source of the inserted data. */\n source: symbol;\n}\n\nexport interface StructureItem\n extends Pick<StructureInsert, 'data' | 'source'> {\n /** Location of this item within the structure. */\n location: ReadonlyArray<string>;\n}\n\nexport interface StructureLocation {\n /** Path within the structure where the data should be inserted. */\n path: ReadonlyArray<string>;\n /** Shell to apply at this location. */\n shell?: StructureShell;\n}\n\nexport interface StructureShell {\n define: (node: StructureNode) => StructureShellResult;\n}\n\nexport interface StructureShellResult {\n dependencies?: Array<INode>;\n node: INode;\n}\n"],"mappings":"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"}
|