1 | "use strict";
|
2 | Object.defineProperty(exports, "__esModule", { value: true });
|
3 | var ts = require("typescript");
|
4 | var ChaiUtils;
|
5 | (function (ChaiUtils) {
|
6 | function isExpectInvocation(node) {
|
7 | var callExpression = getLeftMostCallExpression(node);
|
8 | if (callExpression === undefined) {
|
9 | return false;
|
10 | }
|
11 | return /.*\.?expect/.test(callExpression.expression.getText());
|
12 | }
|
13 | ChaiUtils.isExpectInvocation = isExpectInvocation;
|
14 | function getExpectInvocation(node) {
|
15 | var callExpression = getLeftMostCallExpression(node, false);
|
16 | if (callExpression === undefined) {
|
17 | return undefined;
|
18 | }
|
19 | if (/.*\.?expect/.test(callExpression.expression.getText())) {
|
20 | return callExpression;
|
21 | }
|
22 | else {
|
23 | return undefined;
|
24 | }
|
25 | }
|
26 | ChaiUtils.getExpectInvocation = getExpectInvocation;
|
27 | function getLeftMostCallExpression(node, checkParent) {
|
28 | if (checkParent === void 0) { checkParent = false; }
|
29 | var leftSide = node.expression;
|
30 | while (leftSide !== undefined) {
|
31 | if (leftSide.kind === ts.SyntaxKind.CallExpression) {
|
32 | return leftSide;
|
33 | }
|
34 | else if (leftSide.kind === ts.SyntaxKind.PropertyAccessExpression) {
|
35 | leftSide = leftSide.expression;
|
36 | }
|
37 | else if (checkParent && leftSide.parent.kind === ts.SyntaxKind.CallExpression) {
|
38 | return leftSide.parent;
|
39 | }
|
40 | else {
|
41 | return undefined;
|
42 | }
|
43 | }
|
44 | return undefined;
|
45 | }
|
46 | ChaiUtils.getLeftMostCallExpression = getLeftMostCallExpression;
|
47 | function getFirstExpectCallParameter(node) {
|
48 | var expectCall = ChaiUtils.getLeftMostCallExpression(node);
|
49 | if (expectCall !== undefined && expectCall.arguments.length > 0) {
|
50 | return expectCall.arguments[0];
|
51 | }
|
52 | return undefined;
|
53 | }
|
54 | ChaiUtils.getFirstExpectCallParameter = getFirstExpectCallParameter;
|
55 | function getFirstExpectationParameter(node) {
|
56 | if (node.arguments.length > 0) {
|
57 | return node.arguments[0];
|
58 | }
|
59 | return undefined;
|
60 | }
|
61 | ChaiUtils.getFirstExpectationParameter = getFirstExpectationParameter;
|
62 | function isEqualsInvocation(propExpression) {
|
63 | return /equal|equals|eq|eql|eqs/.test(propExpression.name.getText());
|
64 | }
|
65 | ChaiUtils.isEqualsInvocation = isEqualsInvocation;
|
66 | })(ChaiUtils = exports.ChaiUtils || (exports.ChaiUtils = {}));
|
67 |
|
\ | No newline at end of file |