kea-typegen 1.3.0 → 1.4.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.
Files changed (154) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/dist/package.json +14 -14
  3. package/dist/src/__tests__/e2e/actions.js +4 -4
  4. package/dist/src/__tests__/e2e/actions.js.map +1 -1
  5. package/dist/src/__tests__/e2e/connect.js +6 -6
  6. package/dist/src/__tests__/e2e/connect.js.map +1 -1
  7. package/dist/src/__tests__/e2e/loaders.js +3 -3
  8. package/dist/src/__tests__/e2e/loaders.js.map +1 -1
  9. package/dist/src/__tests__/e2e/reducers.js +4 -4
  10. package/dist/src/__tests__/e2e/reducers.js.map +1 -1
  11. package/dist/src/__tests__/e2e/selectors.js +3 -3
  12. package/dist/src/__tests__/e2e/selectors.js.map +1 -1
  13. package/dist/src/__tests__/utils.js +7 -7
  14. package/dist/src/__tests__/utils.js.map +1 -1
  15. package/dist/src/cli/typegen.js +3 -3
  16. package/dist/src/cli/typegen.js.map +1 -1
  17. package/dist/src/print/print.d.ts +4 -4
  18. package/dist/src/print/print.js +35 -35
  19. package/dist/src/print/print.js.map +1 -1
  20. package/dist/src/print/printActionCreators.d.ts +1 -2
  21. package/dist/src/print/printActionCreators.js +7 -7
  22. package/dist/src/print/printActionCreators.js.map +1 -1
  23. package/dist/src/print/printActionKeys.d.ts +1 -2
  24. package/dist/src/print/printActionKeys.js +4 -4
  25. package/dist/src/print/printActionKeys.js.map +1 -1
  26. package/dist/src/print/printActionTypes.d.ts +1 -2
  27. package/dist/src/print/printActionTypes.js +4 -4
  28. package/dist/src/print/printActionTypes.js.map +1 -1
  29. package/dist/src/print/printActions.d.ts +1 -2
  30. package/dist/src/print/printActions.js +4 -4
  31. package/dist/src/print/printActions.js.map +1 -1
  32. package/dist/src/print/printConstants.d.ts +1 -2
  33. package/dist/src/print/printConstants.js +2 -2
  34. package/dist/src/print/printConstants.js.map +1 -1
  35. package/dist/src/print/printDefaults.d.ts +1 -2
  36. package/dist/src/print/printDefaults.js +3 -3
  37. package/dist/src/print/printDefaults.js.map +1 -1
  38. package/dist/src/print/printEvents.d.ts +1 -2
  39. package/dist/src/print/printEvents.js +3 -3
  40. package/dist/src/print/printEvents.js.map +1 -1
  41. package/dist/src/print/printInternalExtraInput.d.ts +1 -2
  42. package/dist/src/print/printInternalExtraInput.js +8 -8
  43. package/dist/src/print/printInternalExtraInput.js.map +1 -1
  44. package/dist/src/print/printInternalReducerActions.d.ts +1 -2
  45. package/dist/src/print/printInternalReducerActions.js +3 -4
  46. package/dist/src/print/printInternalReducerActions.js.map +1 -1
  47. package/dist/src/print/printInternalSelectorTypes.d.ts +1 -2
  48. package/dist/src/print/printInternalSelectorTypes.js +3 -3
  49. package/dist/src/print/printInternalSelectorTypes.js.map +1 -1
  50. package/dist/src/print/printKey.d.ts +1 -2
  51. package/dist/src/print/printKey.js +2 -2
  52. package/dist/src/print/printKey.js.map +1 -1
  53. package/dist/src/print/printListeners.d.ts +1 -2
  54. package/dist/src/print/printListeners.js +9 -9
  55. package/dist/src/print/printListeners.js.map +1 -1
  56. package/dist/src/print/printProps.d.ts +1 -2
  57. package/dist/src/print/printProps.js +6 -5
  58. package/dist/src/print/printProps.js.map +1 -1
  59. package/dist/src/print/printReducer.d.ts +1 -2
  60. package/dist/src/print/printReducer.js +6 -6
  61. package/dist/src/print/printReducer.js.map +1 -1
  62. package/dist/src/print/printReducerOptions.d.ts +1 -2
  63. package/dist/src/print/printReducerOptions.js +3 -3
  64. package/dist/src/print/printReducerOptions.js.map +1 -1
  65. package/dist/src/print/printReducers.d.ts +1 -2
  66. package/dist/src/print/printReducers.js +7 -7
  67. package/dist/src/print/printReducers.js.map +1 -1
  68. package/dist/src/print/printSelector.d.ts +1 -2
  69. package/dist/src/print/printSelector.js +4 -4
  70. package/dist/src/print/printSelector.js.map +1 -1
  71. package/dist/src/print/printSelectors.d.ts +1 -2
  72. package/dist/src/print/printSelectors.js +6 -6
  73. package/dist/src/print/printSelectors.js.map +1 -1
  74. package/dist/src/print/printSharedListeners.d.ts +1 -2
  75. package/dist/src/print/printSharedListeners.js +11 -11
  76. package/dist/src/print/printSharedListeners.js.map +1 -1
  77. package/dist/src/print/printValues.d.ts +1 -2
  78. package/dist/src/print/printValues.js +3 -3
  79. package/dist/src/print/printValues.js.map +1 -1
  80. package/dist/src/typegen.js +2 -2
  81. package/dist/src/typegen.js.map +1 -1
  82. package/dist/src/utils.js +15 -15
  83. package/dist/src/utils.js.map +1 -1
  84. package/dist/src/visit/__tests__/visit.js +2 -2
  85. package/dist/src/visit/__tests__/visit.js.map +1 -1
  86. package/dist/src/visit/visit.js +13 -13
  87. package/dist/src/visit/visit.js.map +1 -1
  88. package/dist/src/visit/visitActions.d.ts +2 -2
  89. package/dist/src/visit/visitActions.js +13 -11
  90. package/dist/src/visit/visitActions.js.map +1 -1
  91. package/dist/src/visit/visitConnect.js +4 -4
  92. package/dist/src/visit/visitConnect.js.map +1 -1
  93. package/dist/src/visit/visitDefaults.js +1 -1
  94. package/dist/src/visit/visitDefaults.js.map +1 -1
  95. package/dist/src/visit/visitKey.js +2 -2
  96. package/dist/src/visit/visitKey.js.map +1 -1
  97. package/dist/src/visit/visitListeners.js +5 -5
  98. package/dist/src/visit/visitListeners.js.map +1 -1
  99. package/dist/src/visit/visitLoaders.d.ts +2 -2
  100. package/dist/src/visit/visitLoaders.js +27 -27
  101. package/dist/src/visit/visitLoaders.js.map +1 -1
  102. package/dist/src/visit/visitProps.js +1 -1
  103. package/dist/src/visit/visitProps.js.map +1 -1
  104. package/dist/src/visit/visitReducers.js +4 -4
  105. package/dist/src/visit/visitReducers.js.map +1 -1
  106. package/dist/src/visit/visitSelectors.js +8 -8
  107. package/dist/src/visit/visitSelectors.js.map +1 -1
  108. package/dist/src/visit/visitSharedListeners.js +5 -5
  109. package/dist/src/visit/visitSharedListeners.js.map +1 -1
  110. package/dist/src/visit/visitWindowValues.js +1 -1
  111. package/dist/src/visit/visitWindowValues.js.map +1 -1
  112. package/dist/src/write/write.js +16 -15
  113. package/dist/src/write/write.js.map +1 -1
  114. package/dist/tsconfig.tsbuildinfo +1 -1
  115. package/form-plugin/lib/form-plugin/src/typegen.js +16 -15
  116. package/form-plugin/lib/src/types.d.ts +4 -1
  117. package/form-plugin/package.json +1 -1
  118. package/form-plugin/src/typegen.ts +25 -25
  119. package/form-plugin/tsconfig.json +0 -1
  120. package/form-plugin/yarn.lock +10 -10
  121. package/package.json +14 -14
  122. package/samples/autoImportLogic.ts +9 -3
  123. package/samples/autoImportLogicType.ts +1 -1
  124. package/src/__tests__/utils.ts +5 -5
  125. package/src/print/print.ts +33 -19
  126. package/src/print/printActionCreators.ts +12 -15
  127. package/src/print/printActionKeys.ts +5 -6
  128. package/src/print/printActionTypes.ts +6 -7
  129. package/src/print/printActions.ts +6 -13
  130. package/src/print/printConstants.ts +5 -6
  131. package/src/print/printDefaults.ts +5 -6
  132. package/src/print/printEvents.ts +8 -6
  133. package/src/print/printInternalExtraInput.ts +12 -13
  134. package/src/print/printInternalReducerActions.ts +5 -12
  135. package/src/print/printInternalSelectorTypes.ts +7 -8
  136. package/src/print/printKey.ts +2 -2
  137. package/src/print/printListeners.ts +16 -17
  138. package/src/print/printProps.ts +7 -7
  139. package/src/print/printReducer.ts +14 -15
  140. package/src/print/printReducerOptions.ts +4 -5
  141. package/src/print/printReducers.ts +13 -14
  142. package/src/print/printSelector.ts +8 -9
  143. package/src/print/printSelectors.ts +12 -13
  144. package/src/print/printSharedListeners.ts +20 -21
  145. package/src/print/printValues.ts +5 -6
  146. package/src/utils.ts +14 -14
  147. package/src/visit/visit.ts +2 -2
  148. package/src/visit/visitActions.ts +12 -10
  149. package/src/visit/visitListeners.ts +8 -8
  150. package/src/visit/visitLoaders.ts +49 -43
  151. package/src/visit/visitReducers.ts +1 -1
  152. package/src/visit/visitSelectors.ts +3 -3
  153. package/src/visit/visitSharedListeners.ts +8 -10
  154. package/src/write/write.ts +29 -24
@@ -1,39 +1,36 @@
1
- import * as ts from 'typescript'
1
+ import { factory } from 'typescript'
2
2
  import { AppOptions, ParsedLogic } from '../types'
3
3
  import { getActionTypeCreator } from '../utils'
4
4
 
5
5
  export function printActionCreators(parsedLogic: ParsedLogic, appOptions?: AppOptions) {
6
6
  const getActionType = getActionTypeCreator(parsedLogic)
7
7
 
8
- return ts.createTypeLiteralNode(
8
+ return factory.createTypeLiteralNode(
9
9
  parsedLogic.actions.map(({ name, parameters, returnTypeNode }) => {
10
- return ts.createPropertySignature(
10
+ return factory.createPropertySignature(
11
11
  undefined,
12
- ts.createIdentifier(name),
12
+ factory.createIdentifier(name),
13
13
  undefined,
14
- ts.createFunctionTypeNode(
14
+ factory.createFunctionTypeNode(
15
15
  undefined,
16
16
  parameters,
17
- ts.createParenthesizedType(
18
- ts.createTypeLiteralNode([
19
- ts.createPropertySignature(
17
+ factory.createParenthesizedType(
18
+ factory.createTypeLiteralNode([
19
+ factory.createPropertySignature(
20
20
  undefined,
21
- ts.createIdentifier('type'),
22
- undefined,
23
- ts.createLiteralTypeNode(ts.createStringLiteral(getActionType(name))),
21
+ factory.createIdentifier('type'),
24
22
  undefined,
23
+ factory.createLiteralTypeNode(factory.createStringLiteral(getActionType(name))),
25
24
  ),
26
- ts.createPropertySignature(
25
+ factory.createPropertySignature(
27
26
  undefined,
28
- ts.createIdentifier('payload'),
27
+ factory.createIdentifier('payload'),
29
28
  undefined,
30
29
  returnTypeNode,
31
- undefined,
32
30
  ),
33
31
  ]),
34
32
  ),
35
33
  ),
36
- undefined,
37
34
  )
38
35
  }),
39
36
  )
@@ -1,18 +1,17 @@
1
- import * as ts from 'typescript'
1
+ import { factory } from 'typescript'
2
2
  import { AppOptions, ParsedLogic } from '../types'
3
3
  import { getActionTypeCreator } from '../utils'
4
4
 
5
5
  export function printActionKeys(parsedLogic: ParsedLogic, appOptions?: AppOptions) {
6
6
  const getActionType = getActionTypeCreator(parsedLogic)
7
7
 
8
- return ts.createTypeLiteralNode(
8
+ return factory.createTypeLiteralNode(
9
9
  parsedLogic.actions.map(({ name, parameters, returnTypeNode }) => {
10
- return ts.createPropertySignature(
10
+ return factory.createPropertySignature(
11
11
  undefined,
12
- ts.createStringLiteral(getActionType(name)),
13
- undefined,
14
- ts.createLiteralTypeNode(ts.createStringLiteral(name)),
12
+ factory.createStringLiteral(getActionType(name)),
15
13
  undefined,
14
+ factory.createLiteralTypeNode(factory.createStringLiteral(name)),
16
15
  )
17
16
  }),
18
17
  )
@@ -1,18 +1,17 @@
1
- import * as ts from 'typescript'
1
+ import { factory } from 'typescript'
2
2
  import { AppOptions, ParsedLogic } from '../types'
3
3
  import { getActionTypeCreator } from '../utils'
4
4
 
5
5
  export function printActionTypes(parsedLogic: ParsedLogic, appOptions?: AppOptions) {
6
6
  const getActionType = getActionTypeCreator(parsedLogic)
7
7
 
8
- return ts.createTypeLiteralNode(
9
- parsedLogic.actions.map(({ name, parameters, returnTypeNode }) => {
10
- return ts.createPropertySignature(
8
+ return factory.createTypeLiteralNode(
9
+ parsedLogic.actions.map(({ name }) => {
10
+ return factory.createPropertySignature(
11
11
  undefined,
12
- ts.createIdentifier(name),
13
- undefined,
14
- ts.createLiteralTypeNode(ts.createStringLiteral(getActionType(name))),
12
+ factory.createIdentifier(name),
15
13
  undefined,
14
+ factory.createLiteralTypeNode(factory.createStringLiteral(getActionType(name))),
16
15
  )
17
16
  }),
18
17
  )
@@ -1,24 +1,17 @@
1
- import * as ts from 'typescript'
1
+ import { factory, SyntaxKind } from 'typescript'
2
2
  import { AppOptions, ParsedLogic } from '../types'
3
3
  import { getActionTypeCreator } from '../utils'
4
4
 
5
5
  export function printActions(parsedLogic: ParsedLogic, appOptions?: AppOptions) {
6
6
  const getActionType = getActionTypeCreator(parsedLogic)
7
7
 
8
- return ts.createTypeLiteralNode(
9
- parsedLogic.actions.map(({ name, parameters, returnTypeNode }) => {
10
- return ts.createPropertySignature(
8
+ return factory.createTypeLiteralNode(
9
+ parsedLogic.actions.map(({ name, parameters }) => {
10
+ return factory.createPropertySignature(
11
11
  undefined,
12
- ts.createIdentifier(name),
13
- undefined,
14
- ts.createFunctionTypeNode(
15
- undefined,
16
- parameters,
17
- // Please someone tell me what must I do here?
18
- // Just ts.createToken(void), as suggested by ts-ast-viewer.com doesn't work
19
- { ...ts.createToken(ts.SyntaxKind.VoidKeyword), _typeNodeBrand: true }
20
- ),
12
+ factory.createIdentifier(name),
21
13
  undefined,
14
+ factory.createFunctionTypeNode(undefined, parameters, factory.createToken(SyntaxKind.VoidKeyword)),
22
15
  )
23
16
  }),
24
17
  )
@@ -1,15 +1,14 @@
1
- import * as ts from 'typescript'
1
+ import { factory } from 'typescript'
2
2
  import { ParsedLogic } from '../types'
3
3
 
4
4
  export function printConstants(parsedLogic: ParsedLogic) {
5
- return ts.createTypeLiteralNode(
5
+ return factory.createTypeLiteralNode(
6
6
  parsedLogic.constants.map((constant) =>
7
- ts.createPropertySignature(
7
+ factory.createPropertySignature(
8
8
  undefined,
9
- ts.createStringLiteral(constant),
10
- undefined,
11
- ts.createLiteralTypeNode(ts.createStringLiteral(constant)),
9
+ factory.createStringLiteral(constant),
12
10
  undefined,
11
+ factory.createLiteralTypeNode(factory.createStringLiteral(constant)),
13
12
  ),
14
13
  ),
15
14
  )
@@ -1,16 +1,15 @@
1
- import * as ts from 'typescript'
1
+ import { factory } from 'typescript'
2
2
  import { ParsedLogic } from '../types'
3
- import {cleanDuplicateAnyNodes} from "../utils";
3
+ import { cleanDuplicateAnyNodes } from '../utils'
4
4
 
5
5
  export function printDefaults(parsedLogic: ParsedLogic) {
6
- return ts.createTypeLiteralNode(
6
+ return factory.createTypeLiteralNode(
7
7
  cleanDuplicateAnyNodes(parsedLogic.reducers).map((reducer) => {
8
- return ts.createPropertySignature(
8
+ return factory.createPropertySignature(
9
9
  undefined,
10
- ts.createIdentifier(reducer.name),
10
+ factory.createIdentifier(reducer.name),
11
11
  undefined,
12
12
  reducer.typeNode,
13
- undefined,
14
13
  )
15
14
  }),
16
15
  )
@@ -1,15 +1,17 @@
1
- import * as ts from 'typescript'
1
+ import { factory, SyntaxKind } from 'typescript'
2
2
  import { ParsedLogic } from '../types'
3
3
 
4
4
  export function printEvents(parsedLogic: ParsedLogic) {
5
- return ts.createTypeLiteralNode(
5
+ return factory.createTypeLiteralNode(
6
6
  Object.keys(parsedLogic.events).map((name) => {
7
- return ts.createPropertySignature(
7
+ return factory.createPropertySignature(
8
8
  undefined,
9
- ts.createIdentifier(name),
10
- undefined,
11
- ts.createFunctionTypeNode(undefined, [], { ...ts.createToken(ts.SyntaxKind.VoidKeyword), _typeNodeBrand: true }),
9
+ factory.createIdentifier(name),
12
10
  undefined,
11
+ factory.createFunctionTypeNode(undefined, [], {
12
+ ...factory.createToken(SyntaxKind.VoidKeyword),
13
+ _typeNodeBrand: true,
14
+ }),
13
15
  )
14
16
  }),
15
17
  )
@@ -1,32 +1,32 @@
1
1
  import { ParsedLogic } from '../types'
2
- import * as ts from 'typescript'
2
+ import { factory } from 'typescript'
3
3
 
4
4
  export function printInternalExtraInput(parsedLogic: ParsedLogic) {
5
- return ts.createTypeLiteralNode(
5
+ return factory.createTypeLiteralNode(
6
6
  Object.entries(parsedLogic.extraInput).map(([type, { typeNode, withLogicFunction }]) => {
7
7
  if (withLogicFunction) {
8
8
  const logicTypeArguments = [...parsedLogic.typeReferencesInLogicInput]
9
9
  .sort()
10
- .map((text) => ts.createTypeReferenceNode(ts.createIdentifier(text), undefined))
10
+ .map((text) => factory.createTypeReferenceNode(factory.createIdentifier(text), undefined))
11
11
 
12
- return ts.createPropertySignature(
12
+ return factory.createPropertySignature(
13
13
  undefined,
14
- ts.createStringLiteral(type),
14
+ factory.createStringLiteral(type),
15
15
  undefined,
16
16
 
17
- ts.createUnionTypeNode([
17
+ factory.createUnionTypeNode([
18
18
  typeNode,
19
- ts.createFunctionTypeNode(
19
+ factory.createFunctionTypeNode(
20
20
  undefined,
21
21
  [
22
- ts.createParameter(
22
+ factory.createParameterDeclaration(
23
23
  undefined,
24
24
  undefined,
25
25
  undefined,
26
- ts.createIdentifier('logic'),
26
+ factory.createIdentifier('logic'),
27
27
  undefined,
28
- ts.createTypeReferenceNode(
29
- ts.createIdentifier(parsedLogic.logicTypeName),
28
+ factory.createTypeReferenceNode(
29
+ factory.createIdentifier(parsedLogic.logicTypeName),
30
30
  logicTypeArguments.length > 0 ? logicTypeArguments : undefined,
31
31
  ),
32
32
  undefined,
@@ -35,11 +35,10 @@ export function printInternalExtraInput(parsedLogic: ParsedLogic) {
35
35
  typeNode,
36
36
  ),
37
37
  ]),
38
- undefined,
39
38
  )
40
39
  }
41
40
 
42
- return ts.createPropertySignature(undefined, ts.createStringLiteral(type), undefined, typeNode, undefined)
41
+ return factory.createPropertySignature(undefined, factory.createStringLiteral(type), undefined, typeNode)
43
42
  }),
44
43
  )
45
44
  }
@@ -1,17 +1,10 @@
1
1
  import { ParsedLogic } from '../types'
2
- import * as ts from 'typescript'
2
+ import { factory } from 'typescript'
3
3
 
4
4
  export function printInternalReducerActions(parsedLogic: ParsedLogic) {
5
- return ts.createTypeLiteralNode(
6
- Object.entries(parsedLogic.extraActions)
7
- .map(([type, typeNode]) => {
8
- return ts.createPropertySignature(
9
- undefined,
10
- ts.createStringLiteral(type),
11
- undefined,
12
- typeNode,
13
- undefined,
14
- )
15
- }),
5
+ return factory.createTypeLiteralNode(
6
+ Object.entries(parsedLogic.extraActions).map(([type, typeNode]) => {
7
+ return factory.createPropertySignature(undefined, factory.createStringLiteral(type), undefined, typeNode)
8
+ }),
16
9
  )
17
10
  }
@@ -1,24 +1,24 @@
1
1
  import { ParsedLogic } from '../types'
2
- import * as ts from 'typescript'
2
+ import { factory } from 'typescript'
3
3
 
4
4
  export function printInternalSelectorTypes(parsedLogic: ParsedLogic) {
5
- return ts.createTypeLiteralNode(
5
+ return factory.createTypeLiteralNode(
6
6
  parsedLogic.selectors
7
7
  .filter((s) => s.functionTypes.length > 0)
8
8
  .map((selector) => {
9
- return ts.createPropertySignature(
9
+ return factory.createPropertySignature(
10
10
  undefined,
11
- ts.createIdentifier(selector.name),
11
+ factory.createIdentifier(selector.name),
12
12
  undefined,
13
13
 
14
- ts.createFunctionTypeNode(
14
+ factory.createFunctionTypeNode(
15
15
  undefined,
16
16
  selector.functionTypes.map((functionType, index) =>
17
- ts.createParameter(
17
+ factory.createParameterDeclaration(
18
18
  undefined,
19
19
  undefined,
20
20
  undefined,
21
- ts.createIdentifier(functionType.name),
21
+ factory.createIdentifier(functionType.name),
22
22
  undefined,
23
23
  functionType.type,
24
24
  undefined,
@@ -26,7 +26,6 @@ export function printInternalSelectorTypes(parsedLogic: ParsedLogic) {
26
26
  ),
27
27
  selector.typeNode,
28
28
  ),
29
- undefined,
30
29
  )
31
30
  }),
32
31
  )
@@ -1,6 +1,6 @@
1
- import * as ts from 'typescript'
1
+ import { factory, SyntaxKind } from 'typescript'
2
2
  import { ParsedLogic } from '../types'
3
3
 
4
4
  export function printKey(parsedLogic: ParsedLogic) {
5
- return parsedLogic.keyType || ts.createKeywordTypeNode(ts.SyntaxKind.UndefinedKeyword)
5
+ return parsedLogic.keyType || factory.createKeywordTypeNode(SyntaxKind.UndefinedKeyword)
6
6
  }
@@ -1,47 +1,46 @@
1
- import * as ts from 'typescript'
1
+ import { factory, SyntaxKind } from 'typescript'
2
2
  import { ParsedLogic } from '../types'
3
3
 
4
4
  export function printListeners(parsedLogic: ParsedLogic) {
5
- return ts.createTypeLiteralNode(
5
+ return factory.createTypeLiteralNode(
6
6
  parsedLogic.listeners.map(({ name, payload, action }) =>
7
- ts.createPropertySignature(
7
+ factory.createPropertySignature(
8
8
  undefined,
9
- ts.createStringLiteral(name),
9
+ factory.createStringLiteral(name),
10
10
  undefined,
11
- ts.createArrayTypeNode(
12
- ts.createParenthesizedType(
13
- ts.createFunctionTypeNode(
11
+ factory.createArrayTypeNode(
12
+ factory.createParenthesizedType(
13
+ factory.createFunctionTypeNode(
14
14
  undefined,
15
15
  [
16
- ts.createParameter(
16
+ factory.createParameterDeclaration(
17
17
  undefined,
18
18
  undefined,
19
19
  undefined,
20
- ts.createIdentifier('action'),
20
+ factory.createIdentifier('action'),
21
21
  undefined,
22
22
  action,
23
23
  undefined,
24
24
  ),
25
- ts.createParameter(
25
+ factory.createParameterDeclaration(
26
26
  undefined,
27
27
  undefined,
28
28
  undefined,
29
- ts.createIdentifier('previousState'),
29
+ factory.createIdentifier('previousState'),
30
30
  undefined,
31
- ts.createKeywordTypeNode(ts.SyntaxKind.AnyKeyword),
31
+ factory.createKeywordTypeNode(SyntaxKind.AnyKeyword),
32
32
  undefined,
33
33
  ),
34
34
  ],
35
- ts.createUnionTypeNode([
36
- { ...ts.createToken(ts.SyntaxKind.VoidKeyword), _typeNodeBrand: true },
37
- ts.createTypeReferenceNode(ts.createIdentifier('Promise'), [
38
- { ...ts.createToken(ts.SyntaxKind.VoidKeyword), _typeNodeBrand: true },
35
+ factory.createUnionTypeNode([
36
+ { ...factory.createToken(SyntaxKind.VoidKeyword), _typeNodeBrand: true },
37
+ factory.createTypeReferenceNode(factory.createIdentifier('Promise'), [
38
+ { ...factory.createToken(SyntaxKind.VoidKeyword), _typeNodeBrand: true },
39
39
  ]),
40
40
  ]),
41
41
  ),
42
42
  ),
43
43
  ),
44
- undefined,
45
44
  ),
46
45
  ),
47
46
  )
@@ -1,12 +1,12 @@
1
- import * as ts from 'typescript'
1
+ import { factory, SyntaxKind } from 'typescript'
2
2
  import { ParsedLogic } from '../types'
3
3
 
4
4
  export function printProps(parsedLogic: ParsedLogic) {
5
- return parsedLogic.propsType || ts.createTypeReferenceNode(
6
- ts.createIdentifier("Record"),
7
- [
8
- ts.createKeywordTypeNode(ts.SyntaxKind.StringKeyword),
9
- ts.createKeywordTypeNode(ts.SyntaxKind.UnknownKeyword)
10
- ]
5
+ return (
6
+ parsedLogic.propsType ||
7
+ factory.createTypeReferenceNode(factory.createIdentifier('Record'), [
8
+ factory.createKeywordTypeNode(SyntaxKind.StringKeyword),
9
+ factory.createKeywordTypeNode(SyntaxKind.UnknownKeyword),
10
+ ])
11
11
  )
12
12
  }
@@ -1,47 +1,46 @@
1
- import * as ts from 'typescript'
1
+ import { factory, SyntaxKind } from 'typescript'
2
2
  import { ParsedLogic } from '../types'
3
3
  import { cleanDuplicateAnyNodes } from '../utils'
4
4
 
5
5
  export function printReducer(parsedLogic: ParsedLogic) {
6
- return ts.createFunctionTypeNode(
6
+ return factory.createFunctionTypeNode(
7
7
  undefined,
8
8
  [
9
- ts.createParameter(
9
+ factory.createParameterDeclaration(
10
10
  undefined,
11
11
  undefined,
12
12
  undefined,
13
- ts.createIdentifier('state'),
13
+ factory.createIdentifier('state'),
14
14
  undefined,
15
- ts.createKeywordTypeNode(ts.SyntaxKind.AnyKeyword),
15
+ factory.createKeywordTypeNode(SyntaxKind.AnyKeyword),
16
16
  undefined,
17
17
  ),
18
- ts.createParameter(
18
+ factory.createParameterDeclaration(
19
19
  undefined,
20
20
  undefined,
21
21
  undefined,
22
- ts.createIdentifier('action'),
22
+ factory.createIdentifier('action'),
23
23
  undefined,
24
- ts.createFunctionTypeNode(undefined, [], ts.createKeywordTypeNode(ts.SyntaxKind.AnyKeyword)),
24
+ factory.createFunctionTypeNode(undefined, [], factory.createKeywordTypeNode(SyntaxKind.AnyKeyword)),
25
25
  undefined,
26
26
  ),
27
- ts.createParameter(
27
+ factory.createParameterDeclaration(
28
28
  undefined,
29
29
  undefined,
30
30
  undefined,
31
- ts.createIdentifier('fullState'),
31
+ factory.createIdentifier('fullState'),
32
32
  undefined,
33
- ts.createKeywordTypeNode(ts.SyntaxKind.AnyKeyword),
33
+ factory.createKeywordTypeNode(SyntaxKind.AnyKeyword),
34
34
  undefined,
35
35
  ),
36
36
  ],
37
- ts.createTypeLiteralNode(
37
+ factory.createTypeLiteralNode(
38
38
  cleanDuplicateAnyNodes(parsedLogic.reducers).map((reducer) =>
39
- ts.createPropertySignature(
39
+ factory.createPropertySignature(
40
40
  undefined,
41
- ts.createIdentifier(reducer.name),
41
+ factory.createIdentifier(reducer.name),
42
42
  undefined,
43
43
  reducer.typeNode,
44
- undefined,
45
44
  ),
46
45
  ),
47
46
  ),
@@ -1,19 +1,18 @@
1
- import * as ts from 'typescript'
1
+ import { factory } from 'typescript'
2
2
  import { ParsedLogic, ReducerTransform } from '../types'
3
3
  import { cleanDuplicateAnyNodes } from '../utils'
4
4
 
5
5
  export function printReducerOptions(parsedLogic: ParsedLogic) {
6
- return ts.createTypeLiteralNode(
6
+ return factory.createTypeLiteralNode(
7
7
  cleanDuplicateAnyNodes(parsedLogic.reducers)
8
8
  .filter((r: ReducerTransform) => r.reducerOptions)
9
9
  .map((reducer: ReducerTransform) => {
10
10
  if (reducer.reducerOptions) {
11
- return ts.createPropertySignature(
11
+ return factory.createPropertySignature(
12
12
  undefined,
13
- ts.createIdentifier(reducer.name),
13
+ factory.createIdentifier(reducer.name),
14
14
  undefined,
15
15
  reducer.reducerOptions,
16
- undefined,
17
16
  )
18
17
  }
19
18
  })
@@ -1,48 +1,47 @@
1
- import * as ts from 'typescript'
1
+ import { factory, SyntaxKind } from 'typescript'
2
2
  import { ParsedLogic } from '../types'
3
3
  import { cleanDuplicateAnyNodes } from '../utils'
4
4
 
5
5
  export function printReducers(parsedLogic: ParsedLogic) {
6
- return ts.createTypeLiteralNode(
6
+ return factory.createTypeLiteralNode(
7
7
  cleanDuplicateAnyNodes(parsedLogic.reducers).map((reducer) => {
8
- return ts.createPropertySignature(
8
+ return factory.createPropertySignature(
9
9
  undefined,
10
- ts.createIdentifier(reducer.name),
10
+ factory.createIdentifier(reducer.name),
11
11
  undefined,
12
- ts.createFunctionTypeNode(
12
+ factory.createFunctionTypeNode(
13
13
  undefined,
14
14
  [
15
- ts.createParameter(
15
+ factory.createParameterDeclaration(
16
16
  undefined,
17
17
  undefined,
18
18
  undefined,
19
- ts.createIdentifier('state'),
19
+ factory.createIdentifier('state'),
20
20
  undefined,
21
21
  reducer.typeNode,
22
22
  undefined,
23
23
  ),
24
- ts.createParameter(
24
+ factory.createParameterDeclaration(
25
25
  undefined,
26
26
  undefined,
27
27
  undefined,
28
- ts.createIdentifier('action'),
28
+ factory.createIdentifier('action'),
29
29
  undefined,
30
- ts.createKeywordTypeNode(ts.SyntaxKind.AnyKeyword),
30
+ factory.createKeywordTypeNode(SyntaxKind.AnyKeyword),
31
31
  undefined,
32
32
  ),
33
- ts.createParameter(
33
+ factory.createParameterDeclaration(
34
34
  undefined,
35
35
  undefined,
36
36
  undefined,
37
- ts.createIdentifier('fullState'),
37
+ factory.createIdentifier('fullState'),
38
38
  undefined,
39
- ts.createKeywordTypeNode(ts.SyntaxKind.AnyKeyword),
39
+ factory.createKeywordTypeNode(SyntaxKind.AnyKeyword),
40
40
  undefined,
41
41
  ),
42
42
  ],
43
43
  reducer.typeNode,
44
44
  ),
45
- undefined,
46
45
  )
47
46
  }),
48
47
  )
@@ -1,29 +1,28 @@
1
- import * as ts from 'typescript'
1
+ import { factory, SyntaxKind } from 'typescript'
2
2
  import { ParsedLogic } from '../types'
3
3
  import { cleanDuplicateAnyNodes } from '../utils'
4
4
 
5
5
  export function printSelector(parsedLogic: ParsedLogic) {
6
- return ts.createFunctionTypeNode(
6
+ return factory.createFunctionTypeNode(
7
7
  undefined,
8
8
  [
9
- ts.createParameter(
9
+ factory.createParameterDeclaration(
10
10
  undefined,
11
11
  undefined,
12
12
  undefined,
13
- ts.createIdentifier('state'),
13
+ factory.createIdentifier('state'),
14
14
  undefined,
15
- ts.createKeywordTypeNode(ts.SyntaxKind.AnyKeyword),
15
+ factory.createKeywordTypeNode(SyntaxKind.AnyKeyword),
16
16
  undefined,
17
17
  ),
18
18
  ],
19
- ts.createTypeLiteralNode(
19
+ factory.createTypeLiteralNode(
20
20
  cleanDuplicateAnyNodes(parsedLogic.reducers).map((reducer) =>
21
- ts.createPropertySignature(
21
+ factory.createPropertySignature(
22
22
  undefined,
23
- ts.createIdentifier(reducer.name),
23
+ factory.createIdentifier(reducer.name),
24
24
  undefined,
25
25
  reducer.typeNode,
26
- undefined,
27
26
  ),
28
27
  ),
29
28
  ),