@travetto/runtime 8.0.0-alpha.9 → 8.0.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.
@@ -1,6 +1,6 @@
1
1
  import ts from 'typescript';
2
2
 
3
- import { type TransformerState, TransformerHandler } from '@travetto/transformer';
3
+ import { TransformerHandler, type TransformerState } from '@travetto/transformer';
4
4
 
5
5
  import { MetadataRegistrationUtil } from './transformer/metadata.ts';
6
6
 
@@ -10,7 +10,6 @@ const SRC = '@travetto/runtime/src/types.ts';
10
10
  * Providing support for concrete types
11
11
  */
12
12
  export class ConcreteTransformer {
13
-
14
13
  static {
15
14
  TransformerHandler(this, this.onInterface, 'before', 'interface');
16
15
  TransformerHandler(this, this.onTypeAlias, 'before', 'type');
@@ -25,24 +24,23 @@ export class ConcreteTransformer {
25
24
  const final = typeof name === 'string' ? name : name.getText();
26
25
 
27
26
  const declaration = state.factory.createFunctionDeclaration(
28
- // eslint-disable-next-line no-bitwise
29
27
  state.factory.createModifiersFromModifierFlags(ts.ModifierFlags.Export | ts.ModifierFlags.Const),
30
- undefined, `${final}$Concrete`, [], [], undefined,
28
+ undefined,
29
+ `${final}$Concrete`,
30
+ [],
31
+ [],
32
+ undefined,
31
33
  state.factory.createBlock([])
32
34
  );
33
35
 
34
36
  state.addStatements([
35
37
  declaration,
36
38
  state.factory.createExpressionStatement(
37
- state.factory.createCallExpression(
38
- state.createAccess('Object', 'defineProperty'),
39
- undefined,
40
- [
41
- declaration.name!,
42
- state.fromLiteral('name'),
43
- state.fromLiteral({ value: final })
44
- ]
45
- )
39
+ state.factory.createCallExpression(state.createAccess('Object', 'defineProperty'), undefined, [
40
+ declaration.name!,
41
+ state.fromLiteral('name'),
42
+ state.fromLiteral({ value: final })
43
+ ])
46
44
  )
47
45
  ]);
48
46
 
@@ -72,19 +70,19 @@ export class ConcreteTransformer {
72
70
  }
73
71
 
74
72
  static onToConcreteCall(state: TransformerState, node: ts.CallExpression): typeof node {
75
- if (ts.isIdentifier(node.expression) && node.expression.text === 'toConcrete' && node.typeArguments?.length && node.arguments.length === 0) {
73
+ if (
74
+ ts.isIdentifier(node.expression) &&
75
+ node.expression.text === 'toConcrete' &&
76
+ node.typeArguments?.length &&
77
+ node.arguments.length === 0
78
+ ) {
76
79
  const type = state.resolveType(node.expression);
77
80
  if ('importName' in type && type.importName === SRC) {
78
81
  const [target] = node.typeArguments;
79
- return state.factory.updateCallExpression(
80
- node,
81
- node.expression,
82
- node.typeArguments,
83
- [state.getConcreteType(target)]
84
- );
82
+ return state.factory.updateCallExpression(node, node.expression, node.typeArguments, [state.getConcreteType(target)]);
85
83
  }
86
84
  }
87
85
 
88
86
  return node;
89
87
  }
90
- }
88
+ }
@@ -1,11 +1,11 @@
1
1
  import ts from 'typescript';
2
2
 
3
- import { type TransformerState, LiteralUtil, TransformerHandler } from '@travetto/transformer';
3
+ import { LiteralUtil, TransformerHandler, type TransformerState } from '@travetto/transformer';
4
4
 
5
5
  const CONSOLE_IMPORT = '@travetto/runtime/src/console.ts';
6
6
 
7
7
  type CustomState = TransformerState & {
8
- scope: { type: 'method' | 'class' | 'function', name: string }[];
8
+ scope: { type: 'method' | 'class' | 'function'; name: string }[];
9
9
  imported?: ts.Identifier;
10
10
  };
11
11
 
@@ -21,7 +21,6 @@ const VALID_LEVELS: Record<string, string> = {
21
21
  * Logging support with code-location aware messages.
22
22
  */
23
23
  export class ConsoleLogTransformer {
24
-
25
24
  static {
26
25
  TransformerHandler(this, this.startClassForLog, 'before', 'class');
27
26
  TransformerHandler(this, this.leaveClassForLog, 'after', 'class');
@@ -91,23 +90,18 @@ export class ConsoleLogTransformer {
91
90
  const level = name.escapedText!;
92
91
 
93
92
  if (VALID_LEVELS[level]) {
94
- const identifier = state.imported ??= state.importFile(CONSOLE_IMPORT).identifier;
95
- return state.factory.updateCallExpression(
96
- node,
97
- state.createAccess(identifier, 'log'),
98
- node.typeArguments,
99
- [
100
- LiteralUtil.fromLiteral(state.factory, {
101
- level: state.factory.createStringLiteral(VALID_LEVELS[level]),
102
- import: state.getModuleIdentifier(),
103
- line: state.source.getLineAndCharacterOfPosition(node.getStart(state.source)).line + 1,
104
- scope: state.scope?.map(part => part.name).join(':'),
105
- args: node.arguments.slice(0)
106
- }),
107
- ]
108
- );
93
+ const identifier = (state.imported ??= state.importFile(CONSOLE_IMPORT).identifier);
94
+ return state.factory.updateCallExpression(node, state.createAccess(identifier, 'log'), node.typeArguments, [
95
+ LiteralUtil.fromLiteral(state.factory, {
96
+ level: state.factory.createStringLiteral(VALID_LEVELS[level]),
97
+ import: state.getModuleIdentifier(),
98
+ line: state.source.getLineAndCharacterOfPosition(node.getStart(state.source)).line + 1,
99
+ scope: state.scope?.map(part => part.name).join(':'),
100
+ args: node.arguments.slice(0)
101
+ })
102
+ ]);
109
103
  } else {
110
104
  return node;
111
105
  }
112
106
  }
113
- }
107
+ }
@@ -1,6 +1,6 @@
1
1
  import type ts from 'typescript';
2
2
 
3
- import { type TransformerState, CoreUtil, TransformerHandler } from '@travetto/transformer';
3
+ import { CoreUtil, TransformerHandler, type TransformerState } from '@travetto/transformer';
4
4
 
5
5
  const DebugSymbol = Symbol();
6
6
 
@@ -15,7 +15,6 @@ interface DebugState {
15
15
  * Add debugger-optional statement to methods that should be debuggable
16
16
  */
17
17
  export class DebugEntryTransformer {
18
-
19
18
  static {
20
19
  TransformerHandler(this, this.debugOnEntry, 'before', 'method', ['DebugBreak']);
21
20
  }
@@ -26,7 +25,8 @@ export class DebugEntryTransformer {
26
25
  state[DebugSymbol] = CoreUtil.createAccess(state.factory, imp, 'tryDebugger');
27
26
  }
28
27
 
29
- return state.factory.updateMethodDeclaration(node,
28
+ return state.factory.updateMethodDeclaration(
29
+ node,
30
30
  node.modifiers,
31
31
  node.asteriskToken,
32
32
  node.name,
@@ -34,11 +34,15 @@ export class DebugEntryTransformer {
34
34
  node.typeParameters,
35
35
  node.parameters,
36
36
  node.type,
37
- node.body ? state.factory.updateBlock(node.body, [
38
- state.factory.createIfStatement(state[DebugSymbol]!,
39
- state.factory.createExpressionStatement(state.factory.createIdentifier('debugger'))),
40
- ...node.body.statements
41
- ]) : node.body
37
+ node.body
38
+ ? state.factory.updateBlock(node.body, [
39
+ state.factory.createIfStatement(
40
+ state[DebugSymbol]!,
41
+ state.factory.createExpressionStatement(state.factory.createIdentifier('debugger'))
42
+ ),
43
+ ...node.body.statements
44
+ ])
45
+ : node.body
42
46
  );
43
47
  }
44
- }
48
+ }
@@ -6,7 +6,6 @@ import { TransformerHandler, type TransformerState } from '@travetto/transformer
6
6
  * Dynamic Import Transformer
7
7
  */
8
8
  export class DynamicImportTransformer {
9
-
10
9
  static {
11
10
  TransformerHandler(this, this.onCall, 'before', 'call');
12
11
  }
@@ -25,4 +24,4 @@ export class DynamicImportTransformer {
25
24
  }
26
25
  return node;
27
26
  }
28
- }
27
+ }
@@ -1,6 +1,6 @@
1
1
  import ts from 'typescript';
2
2
 
3
- import { type TransformerState, CoreUtil, TransformerHandler } from '@travetto/transformer';
3
+ import { CoreUtil, TransformerHandler, type TransformerState } from '@travetto/transformer';
4
4
 
5
5
  import type { FunctionMetadataTag } from '../src/function.ts';
6
6
  import { MetadataRegistrationUtil } from './transformer/metadata.ts';
@@ -17,7 +17,6 @@ interface MetadataInfo {
17
17
  * Providing metadata for classes
18
18
  */
19
19
  export class RegisterTransformer {
20
-
21
20
  static {
22
21
  TransformerHandler(this, this.collectClassMetadata, 'before', 'class');
23
22
  TransformerHandler(this, this.collectMethodMetadata, 'before', 'method');
@@ -64,7 +63,10 @@ export class RegisterTransformer {
64
63
  /**
65
64
  * Register proper functions
66
65
  */
67
- static registerFunctionMetadata(state: TransformerState & MetadataInfo, node: ts.FunctionDeclaration | ts.FunctionExpression): typeof node {
66
+ static registerFunctionMetadata(
67
+ state: TransformerState & MetadataInfo,
68
+ node: ts.FunctionDeclaration | ts.FunctionExpression
69
+ ): typeof node {
68
70
  if (!MetadataRegistrationUtil.isValid(state) || !ts.isFunctionDeclaration(node)) {
69
71
  return node;
70
72
  }
@@ -74,4 +76,4 @@ export class RegisterTransformer {
74
76
  }
75
77
  return node;
76
78
  }
77
- }
79
+ }
@@ -1,22 +1,18 @@
1
1
  import ts from 'typescript';
2
2
 
3
- import { type TransformerState, TransformerHandler } from '@travetto/transformer';
3
+ import { TransformerHandler, type TransformerState } from '@travetto/transformer';
4
4
 
5
5
  const PATH_IMPORT = '@travetto/manifest/src/path.ts';
6
6
 
7
7
  const isImport = (node: ts.Node): node is ts.ImportDeclaration =>
8
- ts.isImportDeclaration(node)
9
- && ts.isStringLiteral(node.moduleSpecifier)
10
- && (
11
- node.moduleSpecifier.text === 'node:path'
12
- || node.moduleSpecifier.text === 'path'
13
- );
8
+ ts.isImportDeclaration(node) &&
9
+ ts.isStringLiteral(node.moduleSpecifier) &&
10
+ (node.moduleSpecifier.text === 'node:path' || node.moduleSpecifier.text === 'path');
14
11
 
15
12
  /**
16
13
  * Rewriting path imports to use manifest's path
17
14
  */
18
15
  export class PathImportTransformer {
19
-
20
16
  static {
21
17
  TransformerHandler(this, this.rewritePathImport, 'before', 'file');
22
18
  }
@@ -31,10 +27,11 @@ export class PathImportTransformer {
31
27
  state.factory.createStringLiteral(PATH_IMPORT),
32
28
  statement.attributes
33
29
  );
34
- return state.factory.updateSourceFile(node, node.statements.map(item =>
35
- item === statement ? updated : item
36
- ));
30
+ return state.factory.updateSourceFile(
31
+ node,
32
+ node.statements.map(item => (item === statement ? updated : item))
33
+ );
37
34
  }
38
35
  return node;
39
36
  }
40
- }
37
+ }