UNPKG

2.63 kBJavaScriptView Raw
1"use strict";
2Object.defineProperty(exports, "__esModule", { value: true });
3var ts = require("typescript");
4var 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//# sourceMappingURL=ChaiUtils.js.map
\No newline at end of file