Skip to content

Commit 6e30987

Browse files
committed
Made the MutationFormatter use the IValuableFormatter. Fixes #11
1 parent dbcc74b commit 6e30987

File tree

1 file changed

+3
-32
lines changed

1 file changed

+3
-32
lines changed

src/formatter/MutationFormatter.ts

Lines changed: 3 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
import {BinaryExpression, ExpressionStatement, SyntaxKind} from "typescript";
22
import {IMutationFormatter} from "./interface/IMutationFormatter";
33
import {isBinaryExpression, isElementAccessExpression, isExpressionStatement, isIdentifierObject, isPropertyAccessExpression} from "../predicate/PredicateFunctions";
4-
import {identifierUtil, mapper, nameGetter, sourceFilePropertiesGetter, valueableFormatter, valueExpressionGetter, valueResolvedGetter} from "../services";
5-
import {ArbitraryValue, IdentifierMapKind, IMutationDeclaration, INonNullableValueable} from "../identifier/interface/IIdentifier";
4+
import {identifierUtil, mapper, nameGetter, sourceFilePropertiesGetter, valueableFormatter} from "../services";
5+
import {ArbitraryValue, IdentifierMapKind, IMutationDeclaration} from "../identifier/interface/IIdentifier";
66

77
/**
88
* Formats the any kind of relevant statement into an IMutationDeclaration.
@@ -52,7 +52,6 @@ export class MutationFormatter implements IMutationFormatter {
5252
const startsAt = statement.pos;
5353
const endsAt = statement.end;
5454
const filePath = sourceFilePropertiesGetter.getSourceFileProperties(statement).filePath;
55-
const valueExpression = valueExpressionGetter.getValueExpression(statement.right);
5655

5756
const map: IMutationDeclaration = identifierUtil.setKind({
5857
___kind: IdentifierMapKind.MUTATION,
@@ -61,35 +60,7 @@ export class MutationFormatter implements IMutationFormatter {
6160
startsAt,
6261
endsAt,
6362
filePath,
64-
value: {
65-
expression: valueExpression,
66-
resolving: false,
67-
resolved: undefined,
68-
resolvedPrecompute: undefined,
69-
70-
/**
71-
* Returns true if a value has been resolved previously.
72-
* @returns {boolean}
73-
*/
74-
hasDoneFirstResolve () {
75-
return map.value.resolved !== undefined;
76-
},
77-
78-
/**
79-
* Resolves/computes a value for the associated value expression.
80-
* @returns {ArbitraryValue}
81-
*/
82-
resolve () {
83-
if (map.value.expression == null) {
84-
map.value.resolved = map.value.resolvedPrecompute = null;
85-
} else {
86-
const [computed, flattened] = valueResolvedGetter.getValueResolved(<INonNullableValueable>map.value, statement);
87-
map.value.resolved = computed;
88-
map.value.resolvedPrecompute = flattened;
89-
}
90-
return map.value.resolved;
91-
}
92-
}
63+
value: valueableFormatter.format(statement, undefined, statement.right)
9364
}, IdentifierMapKind.MUTATION);
9465

9566
mapper.set(map, statement);

0 commit comments

Comments
 (0)