Skip to content
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.

Commit e49012d

Browse files
committedAug 8, 2024·
refact: remove namespaces in favor of modules
1 parent e421fa8 commit e49012d

File tree

3 files changed

+186
-199
lines changed

3 files changed

+186
-199
lines changed
 

‎src/harmony/versions/four-seven.ts

+80-84
Original file line numberDiff line numberDiff line change
@@ -21,104 +21,100 @@ import { DownSampleTsTypes } from "../utils";
2121
// region: Mapping
2222
/* ****************************************************************************************************************** */
2323

24-
export namespace TsFourSeven {
25-
export type TypeMap = [
26-
[TsCurrentModule.ImportDeclaration, TsFourSevenModule.ImportDeclaration],
27-
[TsCurrentModule.Modifier, TsFourSevenModule.Modifier],
28-
[TsCurrentModule.ImportClause, TsFourSevenModule.ImportClause],
29-
[TsCurrentModule.Expression, TsFourSevenModule.Expression],
30-
[TsCurrentModule.AssertClause, TsFourSevenModule.AssertClause],
31-
[TsCurrentModule.ExportDeclaration, TsFourSevenModule.ExportDeclaration],
32-
[TsCurrentModule.NamedExportBindings, TsFourSevenModule.NamedExportBindings],
33-
[TsCurrentModule.ModuleDeclaration, TsFourSevenModule.ModuleDeclaration],
34-
[TsCurrentModule.ModuleName, TsFourSevenModule.ModuleName],
35-
[TsCurrentModule.ModuleBody, TsFourSevenModule.ModuleBody],
36-
];
37-
}
24+
export type TypeMap = [
25+
[TsCurrentModule.ImportDeclaration, TsFourSevenModule.ImportDeclaration],
26+
[TsCurrentModule.Modifier, TsFourSevenModule.Modifier],
27+
[TsCurrentModule.ImportClause, TsFourSevenModule.ImportClause],
28+
[TsCurrentModule.Expression, TsFourSevenModule.Expression],
29+
[TsCurrentModule.AssertClause, TsFourSevenModule.AssertClause],
30+
[TsCurrentModule.ExportDeclaration, TsFourSevenModule.ExportDeclaration],
31+
[TsCurrentModule.NamedExportBindings, TsFourSevenModule.NamedExportBindings],
32+
[TsCurrentModule.ModuleDeclaration, TsFourSevenModule.ModuleDeclaration],
33+
[TsCurrentModule.ModuleName, TsFourSevenModule.ModuleName],
34+
[TsCurrentModule.ModuleBody, TsFourSevenModule.ModuleBody],
35+
];
3836

3937
// endregion
4038

4139
/* ****************************************************************************************************************** */
4240
// region: Utils
4341
/* ****************************************************************************************************************** */
4442

45-
export namespace TsFourSeven {
46-
export const predicate = ({ tsVersionMajor, tsVersionMinor }: TsTransformPathsContext) =>
47-
tsVersionMajor == 4 && tsVersionMinor < 8;
43+
export const predicate = ({ tsVersionMajor, tsVersionMinor }: TsTransformPathsContext) =>
44+
tsVersionMajor == 4 && tsVersionMinor < 8;
4845

49-
export function handler(context: TsTransformPathsContext, prop: string | symbol) {
50-
const factory = context.tsFactory as unknown as TsFourSevenModule.NodeFactory;
46+
export function handler(context: TsTransformPathsContext, prop: string | symbol) {
47+
const factory = context.tsFactory as unknown as TsFourSevenModule.NodeFactory;
5148

52-
switch (prop) {
53-
case "updateImportDeclaration":
54-
return function (
55-
node: ImportDeclaration,
56-
modifiers: readonly Modifier[] | undefined,
57-
importClause: ImportClause | undefined,
58-
moduleSpecifier: Expression,
59-
assertClause: AssertClause | undefined,
60-
) {
61-
const [dsNode, dsImportClause, dsModuleSpecifier, dsAssertClause] = downSample(
62-
node,
63-
importClause,
64-
moduleSpecifier,
65-
assertClause,
66-
);
49+
switch (prop) {
50+
case "updateImportDeclaration":
51+
return function (
52+
node: ImportDeclaration,
53+
modifiers: readonly Modifier[] | undefined,
54+
importClause: ImportClause | undefined,
55+
moduleSpecifier: Expression,
56+
assertClause: AssertClause | undefined,
57+
) {
58+
const [dsNode, dsImportClause, dsModuleSpecifier, dsAssertClause] = downSample(
59+
node,
60+
importClause,
61+
moduleSpecifier,
62+
assertClause,
63+
);
6764

68-
return factory.updateImportDeclaration(
69-
dsNode,
70-
dsNode.decorators,
71-
dsNode.modifiers,
72-
dsImportClause,
73-
dsModuleSpecifier,
74-
dsAssertClause,
75-
);
76-
};
77-
case "updateExportDeclaration":
78-
return function (
79-
node: ExportDeclaration,
80-
modifiers: readonly Modifier[] | undefined,
81-
isTypeOnly: boolean,
82-
exportClause: NamedExportBindings | undefined,
83-
moduleSpecifier: Expression | undefined,
84-
assertClause: AssertClause | undefined,
85-
) {
86-
const [dsNode, dsExportClause, dsModuleSpecifier, dsAssertClause] = downSample(
87-
node,
88-
exportClause,
89-
moduleSpecifier,
90-
assertClause,
91-
);
65+
return factory.updateImportDeclaration(
66+
dsNode,
67+
dsNode.decorators,
68+
dsNode.modifiers,
69+
dsImportClause,
70+
dsModuleSpecifier,
71+
dsAssertClause,
72+
);
73+
};
74+
case "updateExportDeclaration":
75+
return function (
76+
node: ExportDeclaration,
77+
modifiers: readonly Modifier[] | undefined,
78+
isTypeOnly: boolean,
79+
exportClause: NamedExportBindings | undefined,
80+
moduleSpecifier: Expression | undefined,
81+
assertClause: AssertClause | undefined,
82+
) {
83+
const [dsNode, dsExportClause, dsModuleSpecifier, dsAssertClause] = downSample(
84+
node,
85+
exportClause,
86+
moduleSpecifier,
87+
assertClause,
88+
);
9289

93-
return factory.updateExportDeclaration(
94-
dsNode,
95-
dsNode.decorators,
96-
dsNode.modifiers,
97-
isTypeOnly,
98-
dsExportClause,
99-
dsModuleSpecifier,
100-
dsAssertClause,
101-
);
102-
};
103-
case "updateModuleDeclaration":
104-
return function (
105-
node: ModuleDeclaration,
106-
modifiers: readonly Modifier[] | undefined,
107-
name: ModuleName,
108-
body: ModuleBody | undefined,
109-
) {
110-
const [dsNode, dsName, dsBody] = downSample(node, name, body);
90+
return factory.updateExportDeclaration(
91+
dsNode,
92+
dsNode.decorators,
93+
dsNode.modifiers,
94+
isTypeOnly,
95+
dsExportClause,
96+
dsModuleSpecifier,
97+
dsAssertClause,
98+
);
99+
};
100+
case "updateModuleDeclaration":
101+
return function (
102+
node: ModuleDeclaration,
103+
modifiers: readonly Modifier[] | undefined,
104+
name: ModuleName,
105+
body: ModuleBody | undefined,
106+
) {
107+
const [dsNode, dsName, dsBody] = downSample(node, name, body);
111108

112-
return factory.updateModuleDeclaration(dsNode, dsNode.decorators, dsNode.modifiers, dsName, dsBody);
113-
};
114-
default:
115-
return (...args: any) => (<any>factory)[prop](...args);
116-
}
109+
return factory.updateModuleDeclaration(dsNode, dsNode.decorators, dsNode.modifiers, dsName, dsBody);
110+
};
111+
default:
112+
return (...args: any) => (<any>factory)[prop](...args);
117113
}
114+
}
118115

119-
export function downSample<T extends [...unknown[]]>(...args: T): DownSampleTsTypes<TypeMap, T> {
120-
return <any>args;
121-
}
116+
export function downSample<T extends [...unknown[]]>(...args: T): DownSampleTsTypes<TypeMap, T> {
117+
return <any>args;
122118
}
123119

124120
// endregion

‎src/harmony/versions/index.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
1-
export * from "./three-eight";
2-
export * from "./four-seven";
1+
export * as TsThreeEight from "./three-eight";
2+
export * as TsFourSeven from "./four-seven";

0 commit comments

Comments
 (0)
Please sign in to comment.