brighterscript 0.59.0 → 0.60.1
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.
- package/CHANGELOG.md +19 -0
- package/README.md +8 -4
- package/dist/CommentFlagProcessor.d.ts +1 -1
- package/dist/CommentFlagProcessor.js +1 -1
- package/dist/DependencyGraph.d.ts +3 -2
- package/dist/DependencyGraph.js +3 -2
- package/dist/DependencyGraph.js.map +1 -1
- package/dist/DiagnosticFilterer.js +1 -2
- package/dist/DiagnosticFilterer.js.map +1 -1
- package/dist/DiagnosticMessages.d.ts +6 -1
- package/dist/DiagnosticMessages.js +6 -1
- package/dist/DiagnosticMessages.js.map +1 -1
- package/dist/FunctionScope.d.ts +1 -1
- package/dist/FunctionScope.js +1 -1
- package/dist/KeyedThrottler.d.ts +3 -3
- package/dist/KeyedThrottler.js +3 -3
- package/dist/KeyedThrottler.js.map +1 -1
- package/dist/LanguageServer.d.ts +0 -7
- package/dist/LanguageServer.js +0 -7
- package/dist/LanguageServer.js.map +1 -1
- package/dist/Program.d.ts +5 -7
- package/dist/Program.js +11 -213
- package/dist/Program.js.map +1 -1
- package/dist/ProgramBuilder.d.ts +0 -1
- package/dist/ProgramBuilder.js +0 -1
- package/dist/ProgramBuilder.js.map +1 -1
- package/dist/Scope.d.ts +31 -33
- package/dist/Scope.js +47 -33
- package/dist/Scope.js.map +1 -1
- package/dist/SymbolTable.d.ts +0 -3
- package/dist/SymbolTable.js +0 -3
- package/dist/SymbolTable.js.map +1 -1
- package/dist/Watcher.d.ts +0 -3
- package/dist/Watcher.js +0 -3
- package/dist/Watcher.js.map +1 -1
- package/dist/astUtils/AstEditor.d.ts +1 -1
- package/dist/astUtils/AstEditor.js +1 -1
- package/dist/astUtils/AstEditor.spec.js +58 -58
- package/dist/astUtils/AstEditor.spec.js.map +1 -1
- package/dist/astUtils/creators.spec.js +5 -5
- package/dist/astUtils/creators.spec.js.map +1 -1
- package/dist/astUtils/reflection.spec.js +112 -112
- package/dist/astUtils/reflection.spec.js.map +1 -1
- package/dist/astUtils/stackedVisitor.spec.js +12 -12
- package/dist/astUtils/stackedVisitor.spec.js.map +1 -1
- package/dist/astUtils/visitors.d.ts +4 -0
- package/dist/astUtils/visitors.js +4 -0
- package/dist/astUtils/visitors.js.map +1 -1
- package/dist/astUtils/visitors.spec.js +21 -21
- package/dist/astUtils/visitors.spec.js.map +1 -1
- package/dist/bscPlugin/CallExpressionInfo.d.ts +35 -0
- package/dist/bscPlugin/CallExpressionInfo.js +131 -0
- package/dist/bscPlugin/CallExpressionInfo.js.map +1 -0
- package/dist/bscPlugin/SignatureHelpUtil.d.ts +10 -0
- package/dist/bscPlugin/SignatureHelpUtil.js +135 -0
- package/dist/bscPlugin/SignatureHelpUtil.js.map +1 -0
- package/dist/bscPlugin/codeActions/CodeActionsProcessor.spec.js +7 -7
- package/dist/bscPlugin/codeActions/CodeActionsProcessor.spec.js.map +1 -1
- package/dist/bscPlugin/hover/HoverProcessor.spec.js +27 -27
- package/dist/bscPlugin/hover/HoverProcessor.spec.js.map +1 -1
- package/dist/bscPlugin/semanticTokens/BrsFileSemanticTokensProcessor.spec.js +2 -2
- package/dist/bscPlugin/semanticTokens/BrsFileSemanticTokensProcessor.spec.js.map +1 -1
- package/dist/bscPlugin/transpile/BrsFilePreTranspileProcessor.js +1 -2
- package/dist/bscPlugin/transpile/BrsFilePreTranspileProcessor.js.map +1 -1
- package/dist/bscPlugin/validation/BrsFileValidator.d.ts +1 -0
- package/dist/bscPlugin/validation/BrsFileValidator.js +11 -0
- package/dist/bscPlugin/validation/BrsFileValidator.js.map +1 -1
- package/dist/bscPlugin/validation/BrsFileValidator.spec.js +39 -9
- package/dist/bscPlugin/validation/BrsFileValidator.spec.js.map +1 -1
- package/dist/files/BrsFile.Class.spec.js +11 -11
- package/dist/files/BrsFile.Class.spec.js.map +1 -1
- package/dist/files/BrsFile.d.ts +8 -20
- package/dist/files/BrsFile.js +16 -97
- package/dist/files/BrsFile.js.map +1 -1
- package/dist/files/BrsFile.spec.js +245 -187
- package/dist/files/BrsFile.spec.js.map +1 -1
- package/dist/files/XmlFile.d.ts +1 -4
- package/dist/files/XmlFile.js +1 -4
- package/dist/files/XmlFile.js.map +1 -1
- package/dist/files/XmlFile.spec.js +82 -82
- package/dist/files/XmlFile.spec.js.map +1 -1
- package/dist/files/tests/imports.spec.js +7 -7
- package/dist/files/tests/imports.spec.js.map +1 -1
- package/dist/lexer/Character.spec.js +5 -5
- package/dist/lexer/Character.spec.js.map +1 -1
- package/dist/lexer/Lexer.d.ts +0 -5
- package/dist/lexer/Lexer.js +0 -5
- package/dist/lexer/Lexer.js.map +1 -1
- package/dist/lexer/Lexer.spec.js +136 -136
- package/dist/lexer/Lexer.spec.js.map +1 -1
- package/dist/parser/AstNode.d.ts +1 -1
- package/dist/parser/AstNode.spec.js +3 -3
- package/dist/parser/AstNode.spec.js.map +1 -1
- package/dist/parser/Expression.js.map +1 -1
- package/dist/parser/Parser.Class.spec.js +60 -60
- package/dist/parser/Parser.Class.spec.js.map +1 -1
- package/dist/parser/Parser.d.ts +4 -4
- package/dist/parser/Parser.js +5 -8
- package/dist/parser/Parser.js.map +1 -1
- package/dist/parser/Parser.spec.js +229 -221
- package/dist/parser/Parser.spec.js.map +1 -1
- package/dist/parser/SGParser.spec.js +14 -14
- package/dist/parser/SGParser.spec.js.map +1 -1
- package/dist/parser/Statement.d.ts +3 -2
- package/dist/parser/Statement.js +12 -5
- package/dist/parser/Statement.js.map +1 -1
- package/dist/parser/Statement.spec.js +29 -11
- package/dist/parser/Statement.spec.js.map +1 -1
- package/dist/parser/tests/controlFlow/For.spec.js +15 -15
- package/dist/parser/tests/controlFlow/For.spec.js.map +1 -1
- package/dist/parser/tests/controlFlow/ForEach.spec.js +13 -13
- package/dist/parser/tests/controlFlow/ForEach.spec.js.map +1 -1
- package/dist/parser/tests/controlFlow/If.spec.js +93 -93
- package/dist/parser/tests/controlFlow/If.spec.js.map +1 -1
- package/dist/parser/tests/controlFlow/While.spec.js +12 -12
- package/dist/parser/tests/controlFlow/While.spec.js.map +1 -1
- package/dist/parser/tests/expression/Additive.spec.js +8 -8
- package/dist/parser/tests/expression/Additive.spec.js.map +1 -1
- package/dist/parser/tests/expression/ArrayLiterals.spec.js +26 -26
- package/dist/parser/tests/expression/ArrayLiterals.spec.js.map +1 -1
- package/dist/parser/tests/expression/AssociativeArrayLiterals.spec.js +27 -27
- package/dist/parser/tests/expression/AssociativeArrayLiterals.spec.js.map +1 -1
- package/dist/parser/tests/expression/Boolean.spec.js +8 -8
- package/dist/parser/tests/expression/Boolean.spec.js.map +1 -1
- package/dist/parser/tests/expression/Call.spec.js +45 -45
- package/dist/parser/tests/expression/Call.spec.js.map +1 -1
- package/dist/parser/tests/expression/Exponential.spec.js +5 -5
- package/dist/parser/tests/expression/Exponential.spec.js.map +1 -1
- package/dist/parser/tests/expression/Function.spec.js +36 -36
- package/dist/parser/tests/expression/Function.spec.js.map +1 -1
- package/dist/parser/tests/expression/Indexing.spec.js +29 -29
- package/dist/parser/tests/expression/Indexing.spec.js.map +1 -1
- package/dist/parser/tests/expression/Multiplicative.spec.js +9 -9
- package/dist/parser/tests/expression/Multiplicative.spec.js.map +1 -1
- package/dist/parser/tests/expression/NullCoalescenceExpression.spec.js +34 -34
- package/dist/parser/tests/expression/NullCoalescenceExpression.spec.js.map +1 -1
- package/dist/parser/tests/expression/PrefixUnary.spec.js +12 -12
- package/dist/parser/tests/expression/PrefixUnary.spec.js.map +1 -1
- package/dist/parser/tests/expression/Primary.spec.js +12 -12
- package/dist/parser/tests/expression/Primary.spec.js.map +1 -1
- package/dist/parser/tests/expression/Relational.spec.js +13 -13
- package/dist/parser/tests/expression/Relational.spec.js.map +1 -1
- package/dist/parser/tests/expression/TemplateStringExpression.spec.js +10 -10
- package/dist/parser/tests/expression/TemplateStringExpression.spec.js.map +1 -1
- package/dist/parser/tests/expression/TernaryExpression.spec.js +53 -53
- package/dist/parser/tests/expression/TernaryExpression.spec.js.map +1 -1
- package/dist/parser/tests/statement/AssignmentOperators.spec.js +15 -15
- package/dist/parser/tests/statement/AssignmentOperators.spec.js.map +1 -1
- package/dist/parser/tests/statement/ConstStatement.spec.js +6 -6
- package/dist/parser/tests/statement/ConstStatement.spec.js.map +1 -1
- package/dist/parser/tests/statement/Continue.spec.js +4 -4
- package/dist/parser/tests/statement/Continue.spec.js.map +1 -1
- package/dist/parser/tests/statement/Declaration.spec.js +19 -19
- package/dist/parser/tests/statement/Declaration.spec.js.map +1 -1
- package/dist/parser/tests/statement/Dim.spec.js +22 -22
- package/dist/parser/tests/statement/Dim.spec.js.map +1 -1
- package/dist/parser/tests/statement/Enum.spec.js +14 -14
- package/dist/parser/tests/statement/Enum.spec.js.map +1 -1
- package/dist/parser/tests/statement/Function.spec.js +35 -35
- package/dist/parser/tests/statement/Function.spec.js.map +1 -1
- package/dist/parser/tests/statement/Goto.spec.js +5 -5
- package/dist/parser/tests/statement/Goto.spec.js.map +1 -1
- package/dist/parser/tests/statement/Increment.spec.js +20 -20
- package/dist/parser/tests/statement/Increment.spec.js.map +1 -1
- package/dist/parser/tests/statement/LibraryStatement.spec.js +11 -11
- package/dist/parser/tests/statement/LibraryStatement.spec.js.map +1 -1
- package/dist/parser/tests/statement/Misc.spec.js +20 -20
- package/dist/parser/tests/statement/Misc.spec.js.map +1 -1
- package/dist/parser/tests/statement/PrintStatement.spec.js +16 -16
- package/dist/parser/tests/statement/PrintStatement.spec.js.map +1 -1
- package/dist/parser/tests/statement/ReturnStatement.spec.js +9 -9
- package/dist/parser/tests/statement/ReturnStatement.spec.js.map +1 -1
- package/dist/parser/tests/statement/Set.spec.js +22 -22
- package/dist/parser/tests/statement/Set.spec.js.map +1 -1
- package/dist/parser/tests/statement/Stop.spec.js +6 -6
- package/dist/parser/tests/statement/Stop.spec.js.map +1 -1
- package/dist/parser/tests/statement/Throw.spec.js +6 -6
- package/dist/parser/tests/statement/Throw.spec.js.map +1 -1
- package/dist/parser/tests/statement/TryCatch.spec.js +15 -15
- package/dist/parser/tests/statement/TryCatch.spec.js.map +1 -1
- package/dist/preprocessor/Manifest.spec.js +8 -8
- package/dist/preprocessor/Manifest.spec.js.map +1 -1
- package/dist/preprocessor/Preprocessor.d.ts +2 -2
- package/dist/preprocessor/Preprocessor.js +2 -2
- package/dist/preprocessor/Preprocessor.spec.js +25 -25
- package/dist/preprocessor/Preprocessor.spec.js.map +1 -1
- package/dist/preprocessor/PreprocessorParser.d.ts +1 -1
- package/dist/preprocessor/PreprocessorParser.js +1 -1
- package/dist/preprocessor/PreprocessorParser.spec.js +13 -13
- package/dist/preprocessor/PreprocessorParser.spec.js.map +1 -1
- package/dist/types/ArrayType.spec.js +9 -9
- package/dist/types/ArrayType.spec.js.map +1 -1
- package/dist/types/BooleanType.spec.js +3 -3
- package/dist/types/BooleanType.spec.js.map +1 -1
- package/dist/types/DoubleType.spec.js +3 -3
- package/dist/types/DoubleType.spec.js.map +1 -1
- package/dist/types/DynamicType.d.ts +0 -1
- package/dist/types/DynamicType.js +0 -1
- package/dist/types/DynamicType.js.map +1 -1
- package/dist/types/DynamicType.spec.js +3 -3
- package/dist/types/DynamicType.spec.js.map +1 -1
- package/dist/types/FloatType.spec.js +3 -3
- package/dist/types/FloatType.spec.js.map +1 -1
- package/dist/types/FunctionType.spec.js +6 -6
- package/dist/types/FunctionType.spec.js.map +1 -1
- package/dist/types/IntegerType.spec.js +3 -3
- package/dist/types/IntegerType.spec.js.map +1 -1
- package/dist/types/InterfaceType.spec.js +8 -8
- package/dist/types/InterfaceType.spec.js.map +1 -1
- package/dist/types/InvalidType.spec.js +3 -3
- package/dist/types/InvalidType.spec.js.map +1 -1
- package/dist/types/LongIntegerType.spec.js +3 -3
- package/dist/types/LongIntegerType.spec.js.map +1 -1
- package/dist/types/ObjectType.spec.js +3 -3
- package/dist/types/ObjectType.spec.js.map +1 -1
- package/dist/types/StringType.spec.js +3 -3
- package/dist/types/StringType.spec.js.map +1 -1
- package/dist/types/VoidType.spec.js +3 -3
- package/dist/types/VoidType.spec.js.map +1 -1
- package/dist/util.d.ts +21 -43
- package/dist/util.js +26 -54
- package/dist/util.js.map +1 -1
- package/package.json +3 -3
|
@@ -13,8 +13,8 @@ export declare class Preprocessor implements CC.Visitor {
|
|
|
13
13
|
processedTokens: Token[];
|
|
14
14
|
/**
|
|
15
15
|
* Filters the tokens contained within a set of chunks based on a set of constants.
|
|
16
|
-
* @param
|
|
17
|
-
* @param
|
|
16
|
+
* @param tokens the tokens
|
|
17
|
+
* @param manifest a manifest used to extract bs_const properties from
|
|
18
18
|
* @returns an object containing an array of `errors` and an array of `processedTokens` filtered by conditional
|
|
19
19
|
* compilation directives included within
|
|
20
20
|
*/
|
|
@@ -17,8 +17,8 @@ class Preprocessor {
|
|
|
17
17
|
}
|
|
18
18
|
/**
|
|
19
19
|
* Filters the tokens contained within a set of chunks based on a set of constants.
|
|
20
|
-
* @param
|
|
21
|
-
* @param
|
|
20
|
+
* @param tokens the tokens
|
|
21
|
+
* @param manifest a manifest used to extract bs_const properties from
|
|
22
22
|
* @returns an object containing an array of `errors` and an array of `processedTokens` filtered by conditional
|
|
23
23
|
* compilation directives included within
|
|
24
24
|
*/
|
|
@@ -4,7 +4,7 @@ const Parser_spec_1 = require("../parser/tests/Parser.spec");
|
|
|
4
4
|
const TokenKind_1 = require("../lexer/TokenKind");
|
|
5
5
|
const Preprocessor_1 = require("./Preprocessor");
|
|
6
6
|
const Chunk_1 = require("./Chunk");
|
|
7
|
-
const
|
|
7
|
+
const chai_config_spec_1 = require("../chai-config.spec");
|
|
8
8
|
const sinon_1 = require("sinon");
|
|
9
9
|
let sinon = (0, sinon_1.createSandbox)();
|
|
10
10
|
describe('preprocessor', () => {
|
|
@@ -20,40 +20,40 @@ describe('preprocessor', () => {
|
|
|
20
20
|
Parser_spec_1.EOF
|
|
21
21
|
];
|
|
22
22
|
let { processedTokens } = new Preprocessor_1.Preprocessor().filter([new Chunk_1.BrightScriptChunk(unprocessed)]);
|
|
23
|
-
(0,
|
|
23
|
+
(0, chai_config_spec_1.expect)(processedTokens).to.eql(unprocessed);
|
|
24
24
|
});
|
|
25
25
|
describe('#const', () => {
|
|
26
26
|
it('removes #const declarations from output', () => {
|
|
27
27
|
let { processedTokens } = new Preprocessor_1.Preprocessor().filter([
|
|
28
28
|
new Chunk_1.DeclarationChunk((0, Parser_spec_1.identifier)('lorem'), (0, Parser_spec_1.token)(TokenKind_1.TokenKind.False, 'false'))
|
|
29
29
|
]);
|
|
30
|
-
(0,
|
|
30
|
+
(0, chai_config_spec_1.expect)(processedTokens).to.eql([]);
|
|
31
31
|
});
|
|
32
32
|
describe('values', () => {
|
|
33
33
|
it('allows `true`', () => {
|
|
34
|
-
(0,
|
|
34
|
+
(0, chai_config_spec_1.expect)(() => new Preprocessor_1.Preprocessor().filter([
|
|
35
35
|
new Chunk_1.DeclarationChunk((0, Parser_spec_1.identifier)('lorem'), (0, Parser_spec_1.token)(TokenKind_1.TokenKind.True, 'true'))
|
|
36
36
|
])).not.to.throw;
|
|
37
37
|
});
|
|
38
38
|
it('allows `false`', () => {
|
|
39
|
-
(0,
|
|
39
|
+
(0, chai_config_spec_1.expect)(() => new Preprocessor_1.Preprocessor().filter([
|
|
40
40
|
new Chunk_1.DeclarationChunk((0, Parser_spec_1.identifier)('ipsum'), (0, Parser_spec_1.token)(TokenKind_1.TokenKind.False, 'false'))
|
|
41
41
|
])).not.to.throw;
|
|
42
42
|
});
|
|
43
43
|
it('allows identifiers', () => {
|
|
44
|
-
(0,
|
|
44
|
+
(0, chai_config_spec_1.expect)(() => new Preprocessor_1.Preprocessor().filter([
|
|
45
45
|
// 'ipsum' must be defined before it's referenced
|
|
46
46
|
new Chunk_1.DeclarationChunk((0, Parser_spec_1.identifier)('ipsum'), (0, Parser_spec_1.token)(TokenKind_1.TokenKind.False, 'false')),
|
|
47
47
|
new Chunk_1.DeclarationChunk((0, Parser_spec_1.identifier)('dolor'), (0, Parser_spec_1.token)(TokenKind_1.TokenKind.True, 'true'))
|
|
48
48
|
])).not.to.throw;
|
|
49
49
|
});
|
|
50
50
|
it('disallows strings', () => {
|
|
51
|
-
(0,
|
|
51
|
+
(0, chai_config_spec_1.expect)(() => new Preprocessor_1.Preprocessor().filter([
|
|
52
52
|
new Chunk_1.DeclarationChunk((0, Parser_spec_1.identifier)('sit'), (0, Parser_spec_1.token)(TokenKind_1.TokenKind.String, 'good boy!'))
|
|
53
53
|
])).to.throw; //('#const declarations can only have');
|
|
54
54
|
});
|
|
55
55
|
it('disallows re-declaration of values', () => {
|
|
56
|
-
(0,
|
|
56
|
+
(0, chai_config_spec_1.expect)(() => new Preprocessor_1.Preprocessor().filter([
|
|
57
57
|
new Chunk_1.DeclarationChunk((0, Parser_spec_1.identifier)('lorem'), (0, Parser_spec_1.token)(TokenKind_1.TokenKind.False, 'false')),
|
|
58
58
|
new Chunk_1.DeclarationChunk((0, Parser_spec_1.identifier)('lorem'), (0, Parser_spec_1.token)(TokenKind_1.TokenKind.True, 'true'))
|
|
59
59
|
])).to.throw;
|
|
@@ -62,12 +62,12 @@ describe('preprocessor', () => {
|
|
|
62
62
|
});
|
|
63
63
|
describe('#error', () => {
|
|
64
64
|
it('throws error when #error directives encountered', () => {
|
|
65
|
-
(0,
|
|
65
|
+
(0, chai_config_spec_1.expect)(() => new Preprocessor_1.Preprocessor().filter([
|
|
66
66
|
new Chunk_1.ErrorChunk((0, Parser_spec_1.token)(TokenKind_1.TokenKind.HashError, '#error'), (0, Parser_spec_1.token)(TokenKind_1.TokenKind.HashError, 'I\'m an error message!'))
|
|
67
67
|
])).to.throw;
|
|
68
68
|
});
|
|
69
69
|
it('doesn\'t throw when branched around', () => {
|
|
70
|
-
(0,
|
|
70
|
+
(0, chai_config_spec_1.expect)(() => new Preprocessor_1.Preprocessor().filter([
|
|
71
71
|
new Chunk_1.HashIfStatement((0, Parser_spec_1.token)(TokenKind_1.TokenKind.False, 'false'), [
|
|
72
72
|
new Chunk_1.ErrorChunk((0, Parser_spec_1.token)(TokenKind_1.TokenKind.HashError, '#error'), (0, Parser_spec_1.token)(TokenKind_1.TokenKind.HashError, 'I\'m an error message!'))
|
|
73
73
|
], [] // no else-ifs necessary
|
|
@@ -96,9 +96,9 @@ describe('preprocessor', () => {
|
|
|
96
96
|
}
|
|
97
97
|
], [elseChunk])
|
|
98
98
|
]);
|
|
99
|
-
(0,
|
|
100
|
-
(0,
|
|
101
|
-
(0,
|
|
99
|
+
(0, chai_config_spec_1.expect)(ifChunk.accept.callCount).to.equal(1);
|
|
100
|
+
(0, chai_config_spec_1.expect)(elseIfChunk.accept.callCount).to.equal(0);
|
|
101
|
+
(0, chai_config_spec_1.expect)(elseChunk.accept.callCount).to.equal(0);
|
|
102
102
|
});
|
|
103
103
|
it('enters #else if branch', () => {
|
|
104
104
|
new Preprocessor_1.Preprocessor().filter([
|
|
@@ -109,9 +109,9 @@ describe('preprocessor', () => {
|
|
|
109
109
|
}
|
|
110
110
|
], [elseChunk])
|
|
111
111
|
]);
|
|
112
|
-
(0,
|
|
113
|
-
(0,
|
|
114
|
-
(0,
|
|
112
|
+
(0, chai_config_spec_1.expect)(ifChunk.accept.callCount).to.equal(0);
|
|
113
|
+
(0, chai_config_spec_1.expect)(elseIfChunk.accept.callCount).to.equal(1);
|
|
114
|
+
(0, chai_config_spec_1.expect)(elseChunk.accept.callCount).to.equal(0);
|
|
115
115
|
});
|
|
116
116
|
it('enters #else branch', () => {
|
|
117
117
|
new Preprocessor_1.Preprocessor().filter([
|
|
@@ -122,9 +122,9 @@ describe('preprocessor', () => {
|
|
|
122
122
|
}
|
|
123
123
|
], [elseChunk])
|
|
124
124
|
]);
|
|
125
|
-
(0,
|
|
126
|
-
(0,
|
|
127
|
-
(0,
|
|
125
|
+
(0, chai_config_spec_1.expect)(ifChunk.accept.callCount).to.equal(0);
|
|
126
|
+
(0, chai_config_spec_1.expect)(elseIfChunk.accept.callCount).to.equal(0);
|
|
127
|
+
(0, chai_config_spec_1.expect)(elseChunk.accept.callCount).to.equal(1);
|
|
128
128
|
});
|
|
129
129
|
it('enters no branches if none pass', () => {
|
|
130
130
|
new Preprocessor_1.Preprocessor().filter([
|
|
@@ -132,9 +132,9 @@ describe('preprocessor', () => {
|
|
|
132
132
|
// NOTE: no 'else" chunk!
|
|
133
133
|
)
|
|
134
134
|
]);
|
|
135
|
-
(0,
|
|
136
|
-
(0,
|
|
137
|
-
(0,
|
|
135
|
+
(0, chai_config_spec_1.expect)(ifChunk.accept.callCount).to.equal(0);
|
|
136
|
+
(0, chai_config_spec_1.expect)(elseIfChunk.accept.callCount).to.equal(0);
|
|
137
|
+
(0, chai_config_spec_1.expect)(elseChunk.accept.callCount).to.equal(0);
|
|
138
138
|
});
|
|
139
139
|
it('uses #const values to determine truth', () => {
|
|
140
140
|
new Preprocessor_1.Preprocessor().filter([
|
|
@@ -143,9 +143,9 @@ describe('preprocessor', () => {
|
|
|
143
143
|
// NOTE: no 'else" chunk!
|
|
144
144
|
)
|
|
145
145
|
]);
|
|
146
|
-
(0,
|
|
147
|
-
(0,
|
|
148
|
-
(0,
|
|
146
|
+
(0, chai_config_spec_1.expect)(ifChunk.accept.callCount).to.equal(1);
|
|
147
|
+
(0, chai_config_spec_1.expect)(elseIfChunk.accept.callCount).to.equal(0);
|
|
148
|
+
(0, chai_config_spec_1.expect)(elseChunk.accept.callCount).to.equal(0);
|
|
149
149
|
});
|
|
150
150
|
});
|
|
151
151
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Preprocessor.spec.js","sourceRoot":"","sources":["../../src/preprocessor/Preprocessor.spec.ts"],"names":[],"mappings":";;AAAA,6DAAqE;AACrE,kDAA+C;AAC/C,iDAA8C;AAC9C,mCAA2F;AAC3F
|
|
1
|
+
{"version":3,"file":"Preprocessor.spec.js","sourceRoot":"","sources":["../../src/preprocessor/Preprocessor.spec.ts"],"names":[],"mappings":"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"}
|
|
@@ -14,7 +14,7 @@ export declare class PreprocessorParser {
|
|
|
14
14
|
* Parses an array of tokens into an array of "chunks" - conditional compilation directives and their
|
|
15
15
|
* associated BrightScript.
|
|
16
16
|
*
|
|
17
|
-
* @param
|
|
17
|
+
* @param tokens the array of tokens to parse
|
|
18
18
|
*/
|
|
19
19
|
parse(tokens: Token[]): this;
|
|
20
20
|
static parse(tokens: Token[]): PreprocessorParser;
|
|
@@ -13,7 +13,7 @@ class PreprocessorParser {
|
|
|
13
13
|
* Parses an array of tokens into an array of "chunks" - conditional compilation directives and their
|
|
14
14
|
* associated BrightScript.
|
|
15
15
|
*
|
|
16
|
-
* @param
|
|
16
|
+
* @param tokens the array of tokens to parse
|
|
17
17
|
*/
|
|
18
18
|
parse(tokens) {
|
|
19
19
|
this.tokens = tokens;
|
|
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
const PreprocessorParser_1 = require("./PreprocessorParser");
|
|
4
4
|
const Parser_spec_1 = require("../parser/tests/Parser.spec");
|
|
5
5
|
const TokenKind_1 = require("../lexer/TokenKind");
|
|
6
|
-
const
|
|
6
|
+
const chai_config_spec_1 = require("../chai-config.spec");
|
|
7
7
|
describe('preprocessor parser', () => {
|
|
8
8
|
let parser;
|
|
9
9
|
beforeEach(() => {
|
|
@@ -17,8 +17,8 @@ describe('preprocessor parser', () => {
|
|
|
17
17
|
(0, Parser_spec_1.token)(TokenKind_1.TokenKind.Newline, '\n'),
|
|
18
18
|
(0, Parser_spec_1.token)(TokenKind_1.TokenKind.Eof, '\0')
|
|
19
19
|
]);
|
|
20
|
-
(0,
|
|
21
|
-
(0,
|
|
20
|
+
(0, chai_config_spec_1.expect)(diagnostics).to.eql([]);
|
|
21
|
+
(0, chai_config_spec_1.expect)(chunks[0].tokens.map(x => x.kind)).to.eql([
|
|
22
22
|
TokenKind_1.TokenKind.Identifier,
|
|
23
23
|
TokenKind_1.TokenKind.LeftParen,
|
|
24
24
|
TokenKind_1.TokenKind.RightParen,
|
|
@@ -34,8 +34,8 @@ describe('preprocessor parser', () => {
|
|
|
34
34
|
(0, Parser_spec_1.token)(TokenKind_1.TokenKind.Newline, '\n'),
|
|
35
35
|
(0, Parser_spec_1.token)(TokenKind_1.TokenKind.Eof, '\0')
|
|
36
36
|
]);
|
|
37
|
-
(0,
|
|
38
|
-
(0,
|
|
37
|
+
(0, chai_config_spec_1.expect)(diagnostics).to.be.empty;
|
|
38
|
+
(0, chai_config_spec_1.expect)(chunks).to.exist;
|
|
39
39
|
});
|
|
40
40
|
it('parses #error', () => {
|
|
41
41
|
let { chunks, diagnostics } = parser.parse([
|
|
@@ -43,8 +43,8 @@ describe('preprocessor parser', () => {
|
|
|
43
43
|
(0, Parser_spec_1.token)(TokenKind_1.TokenKind.HashErrorMessage, 'I\'m an error message!'),
|
|
44
44
|
(0, Parser_spec_1.token)(TokenKind_1.TokenKind.Eof, '\0')
|
|
45
45
|
]);
|
|
46
|
-
(0,
|
|
47
|
-
(0,
|
|
46
|
+
(0, chai_config_spec_1.expect)(diagnostics).to.eql([]);
|
|
47
|
+
(0, chai_config_spec_1.expect)(chunks).to.exist;
|
|
48
48
|
});
|
|
49
49
|
describe('conditionals', () => {
|
|
50
50
|
it('#if only', () => {
|
|
@@ -59,8 +59,8 @@ describe('preprocessor parser', () => {
|
|
|
59
59
|
(0, Parser_spec_1.token)(TokenKind_1.TokenKind.HashEndIf, '#endif'),
|
|
60
60
|
(0, Parser_spec_1.token)(TokenKind_1.TokenKind.Eof, '\0')
|
|
61
61
|
]);
|
|
62
|
-
(0,
|
|
63
|
-
(0,
|
|
62
|
+
(0, chai_config_spec_1.expect)(diagnostics).to.eql([]);
|
|
63
|
+
(0, chai_config_spec_1.expect)(chunks).to.exist;
|
|
64
64
|
});
|
|
65
65
|
it('#if and #else', () => {
|
|
66
66
|
let { chunks, diagnostics } = parser.parse([
|
|
@@ -80,8 +80,8 @@ describe('preprocessor parser', () => {
|
|
|
80
80
|
(0, Parser_spec_1.token)(TokenKind_1.TokenKind.HashEndIf, '#endif'),
|
|
81
81
|
(0, Parser_spec_1.token)(TokenKind_1.TokenKind.Eof, '\0')
|
|
82
82
|
]);
|
|
83
|
-
(0,
|
|
84
|
-
(0,
|
|
83
|
+
(0, chai_config_spec_1.expect)(diagnostics).to.eql([]);
|
|
84
|
+
(0, chai_config_spec_1.expect)(chunks).to.exist;
|
|
85
85
|
});
|
|
86
86
|
it('#if #else if and #else', () => {
|
|
87
87
|
let { chunks, diagnostics } = parser.parse([
|
|
@@ -108,8 +108,8 @@ describe('preprocessor parser', () => {
|
|
|
108
108
|
(0, Parser_spec_1.token)(TokenKind_1.TokenKind.HashEndIf, '#endif'),
|
|
109
109
|
(0, Parser_spec_1.token)(TokenKind_1.TokenKind.Eof, '\0')
|
|
110
110
|
]);
|
|
111
|
-
(0,
|
|
112
|
-
(0,
|
|
111
|
+
(0, chai_config_spec_1.expect)(diagnostics).to.eql([]);
|
|
112
|
+
(0, chai_config_spec_1.expect)(chunks).to.exist;
|
|
113
113
|
});
|
|
114
114
|
});
|
|
115
115
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PreprocessorParser.spec.js","sourceRoot":"","sources":["../../src/preprocessor/PreprocessorParser.spec.ts"],"names":[],"mappings":";;AAAA,6DAA0D;AAC1D,6DAAgE;AAChE,kDAA+C;AAC/C
|
|
1
|
+
{"version":3,"file":"PreprocessorParser.spec.js","sourceRoot":"","sources":["../../src/preprocessor/PreprocessorParser.spec.ts"],"names":[],"mappings":";;AAAA,6DAA0D;AAC1D,6DAAgE;AAChE,kDAA+C;AAC/C,0DAA6C;AAG7C,QAAQ,CAAC,qBAAqB,EAAE,GAAG,EAAE;IACjC,IAAI,MAA0B,CAAC;IAE/B,UAAU,CAAC,GAAG,EAAE;QACZ,MAAM,GAAG,IAAI,uCAAkB,EAAE,CAAC;IACtC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+BAA+B,EAAE,GAAG,EAAE;QACrC,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC;YACvC,IAAA,wBAAU,EAAC,cAAc,CAAC;YAC1B,IAAA,mBAAK,EAAC,qBAAS,CAAC,SAAS,EAAE,GAAG,CAAC;YAC/B,IAAA,mBAAK,EAAC,qBAAS,CAAC,UAAU,EAAE,GAAG,CAAC;YAChC,IAAA,mBAAK,EAAC,qBAAS,CAAC,OAAO,EAAE,IAAI,CAAC;YAC9B,IAAA,mBAAK,EAAC,qBAAS,CAAC,GAAG,EAAE,IAAI,CAAC;SAC7B,CAAC,CAAC;QAEH,IAAA,yBAAM,EAAC,WAAW,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC/B,IAAA,yBAAM,EAAE,MAAM,CAAC,CAAC,CAAuB,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC;YACpE,qBAAS,CAAC,UAAU;YACpB,qBAAS,CAAC,SAAS;YACnB,qBAAS,CAAC,UAAU;YACpB,qBAAS,CAAC,OAAO;SACpB,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,eAAe,EAAE,GAAG,EAAE;QACrB,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC;YACvC,IAAA,mBAAK,EAAC,qBAAS,CAAC,SAAS,EAAE,QAAQ,CAAC;YACpC,IAAA,wBAAU,EAAC,KAAK,CAAC;YACjB,IAAA,mBAAK,EAAC,qBAAS,CAAC,KAAK,EAAE,GAAG,CAAC;YAC3B,IAAA,mBAAK,EAAC,qBAAS,CAAC,IAAI,EAAE,MAAM,CAAC;YAC7B,IAAA,mBAAK,EAAC,qBAAS,CAAC,OAAO,EAAE,IAAI,CAAC;YAC9B,IAAA,mBAAK,EAAC,qBAAS,CAAC,GAAG,EAAE,IAAI,CAAC;SAC7B,CAAC,CAAC;QAEH,IAAA,yBAAM,EAAC,WAAW,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC;QAChC,IAAA,yBAAM,EAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC;IAC5B,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,eAAe,EAAE,GAAG,EAAE;QACrB,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC;YACvC,IAAA,mBAAK,EAAC,qBAAS,CAAC,SAAS,EAAE,QAAQ,CAAC;YACpC,IAAA,mBAAK,EAAC,qBAAS,CAAC,gBAAgB,EAAE,wBAAwB,CAAC;YAC3D,IAAA,mBAAK,EAAC,qBAAS,CAAC,GAAG,EAAE,IAAI,CAAC;SAC7B,CAAC,CAAC;QAEH,IAAA,yBAAM,EAAC,WAAW,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC/B,IAAA,yBAAM,EAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC;IAC5B,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,cAAc,EAAE,GAAG,EAAE;QAC1B,EAAE,CAAC,UAAU,EAAE,GAAG,EAAE;YAChB,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC;gBACvC,IAAA,mBAAK,EAAC,qBAAS,CAAC,MAAM,EAAE,KAAK,CAAC;gBAC9B,IAAA,wBAAU,EAAC,KAAK,CAAC;gBACjB,IAAA,mBAAK,EAAC,qBAAS,CAAC,OAAO,EAAE,IAAI,CAAC;gBAC9B,IAAA,wBAAU,EAAC,WAAW,CAAC;gBACvB,IAAA,mBAAK,EAAC,qBAAS,CAAC,SAAS,EAAE,GAAG,CAAC;gBAC/B,IAAA,mBAAK,EAAC,qBAAS,CAAC,UAAU,EAAE,GAAG,CAAC;gBAChC,IAAA,mBAAK,EAAC,qBAAS,CAAC,OAAO,EAAE,IAAI,CAAC;gBAC9B,IAAA,mBAAK,EAAC,qBAAS,CAAC,SAAS,EAAE,QAAQ,CAAC;gBACpC,IAAA,mBAAK,EAAC,qBAAS,CAAC,GAAG,EAAE,IAAI,CAAC;aAC7B,CAAC,CAAC;YAEH,IAAA,yBAAM,EAAC,WAAW,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAC/B,IAAA,yBAAM,EAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC;QAC5B,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,eAAe,EAAE,GAAG,EAAE;YACrB,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC;gBACvC,IAAA,mBAAK,EAAC,qBAAS,CAAC,MAAM,EAAE,KAAK,CAAC;gBAC9B,IAAA,wBAAU,EAAC,KAAK,CAAC;gBACjB,IAAA,mBAAK,EAAC,qBAAS,CAAC,OAAO,EAAE,IAAI,CAAC;gBAE9B,IAAA,wBAAU,EAAC,WAAW,CAAC;gBACvB,IAAA,mBAAK,EAAC,qBAAS,CAAC,SAAS,EAAE,GAAG,CAAC;gBAC/B,IAAA,mBAAK,EAAC,qBAAS,CAAC,UAAU,EAAE,GAAG,CAAC;gBAChC,IAAA,mBAAK,EAAC,qBAAS,CAAC,OAAO,EAAE,IAAI,CAAC;gBAE9B,IAAA,mBAAK,EAAC,qBAAS,CAAC,QAAQ,EAAE,OAAO,CAAC;gBAClC,IAAA,mBAAK,EAAC,qBAAS,CAAC,OAAO,EAAE,IAAI,CAAC;gBAE9B,IAAA,wBAAU,EAAC,YAAY,CAAC;gBACxB,IAAA,mBAAK,EAAC,qBAAS,CAAC,SAAS,EAAE,GAAG,CAAC;gBAC/B,IAAA,mBAAK,EAAC,qBAAS,CAAC,UAAU,EAAE,GAAG,CAAC;gBAChC,IAAA,mBAAK,EAAC,qBAAS,CAAC,OAAO,EAAE,IAAI,CAAC;gBAE9B,IAAA,mBAAK,EAAC,qBAAS,CAAC,SAAS,EAAE,QAAQ,CAAC;gBACpC,IAAA,mBAAK,EAAC,qBAAS,CAAC,GAAG,EAAE,IAAI,CAAC;aAC7B,CAAC,CAAC;YAEH,IAAA,yBAAM,EAAC,WAAW,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAC/B,IAAA,yBAAM,EAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC;QAC5B,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,wBAAwB,EAAE,GAAG,EAAE;YAC9B,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC;gBACvC,IAAA,mBAAK,EAAC,qBAAS,CAAC,MAAM,EAAE,KAAK,CAAC;gBAC9B,IAAA,wBAAU,EAAC,KAAK,CAAC;gBACjB,IAAA,mBAAK,EAAC,qBAAS,CAAC,OAAO,EAAE,IAAI,CAAC;gBAE9B,IAAA,wBAAU,EAAC,WAAW,CAAC;gBACvB,IAAA,mBAAK,EAAC,qBAAS,CAAC,SAAS,EAAE,GAAG,CAAC;gBAC/B,IAAA,mBAAK,EAAC,qBAAS,CAAC,UAAU,EAAE,GAAG,CAAC;gBAChC,IAAA,mBAAK,EAAC,qBAAS,CAAC,OAAO,EAAE,IAAI,CAAC;gBAE9B,IAAA,mBAAK,EAAC,qBAAS,CAAC,UAAU,EAAE,SAAS,CAAC;gBACtC,IAAA,wBAAU,EAAC,KAAK,CAAC;gBACjB,IAAA,mBAAK,EAAC,qBAAS,CAAC,OAAO,EAAE,IAAI,CAAC;gBAE9B,IAAA,wBAAU,EAAC,KAAK,CAAC;gBACjB,IAAA,mBAAK,EAAC,qBAAS,CAAC,SAAS,EAAE,GAAG,CAAC;gBAC/B,IAAA,mBAAK,EAAC,qBAAS,CAAC,UAAU,EAAE,GAAG,CAAC;gBAChC,IAAA,mBAAK,EAAC,qBAAS,CAAC,OAAO,EAAE,IAAI,CAAC;gBAE9B,IAAA,mBAAK,EAAC,qBAAS,CAAC,QAAQ,EAAE,OAAO,CAAC;gBAClC,IAAA,mBAAK,EAAC,qBAAS,CAAC,OAAO,EAAE,IAAI,CAAC;gBAE9B,IAAA,wBAAU,EAAC,SAAS,CAAC;gBACrB,IAAA,mBAAK,EAAC,qBAAS,CAAC,SAAS,EAAE,GAAG,CAAC;gBAC/B,IAAA,mBAAK,EAAC,qBAAS,CAAC,UAAU,EAAE,GAAG,CAAC;gBAChC,IAAA,mBAAK,EAAC,qBAAS,CAAC,OAAO,EAAE,IAAI,CAAC;gBAE9B,IAAA,mBAAK,EAAC,qBAAS,CAAC,SAAS,EAAE,QAAQ,CAAC;gBACpC,IAAA,mBAAK,EAAC,qBAAS,CAAC,GAAG,EAAE,IAAI,CAAC;aAC7B,CAAC,CAAC;YAEH,IAAA,yBAAM,EAAC,WAAW,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAC/B,IAAA,yBAAM,EAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC;QAC5B,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}
|
|
@@ -1,29 +1,29 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const
|
|
3
|
+
const chai_config_spec_1 = require("../chai-config.spec");
|
|
4
4
|
const ArrayType_1 = require("./ArrayType");
|
|
5
5
|
const DynamicType_1 = require("./DynamicType");
|
|
6
6
|
const BooleanType_1 = require("./BooleanType");
|
|
7
7
|
const StringType_1 = require("./StringType");
|
|
8
8
|
describe('ArrayType', () => {
|
|
9
9
|
it('is equivalent to array types', () => {
|
|
10
|
-
(0,
|
|
11
|
-
(0,
|
|
10
|
+
(0, chai_config_spec_1.expect)(new ArrayType_1.ArrayType().isAssignableTo(new ArrayType_1.ArrayType())).to.be.true;
|
|
11
|
+
(0, chai_config_spec_1.expect)(new ArrayType_1.ArrayType().isAssignableTo(new DynamicType_1.DynamicType())).to.be.true;
|
|
12
12
|
});
|
|
13
13
|
it('catches arrays containing different inner types', () => {
|
|
14
|
-
(0,
|
|
15
|
-
(0,
|
|
14
|
+
(0, chai_config_spec_1.expect)(new ArrayType_1.ArrayType(new BooleanType_1.BooleanType()).isAssignableTo(new ArrayType_1.ArrayType(new BooleanType_1.BooleanType()))).to.be.true;
|
|
15
|
+
(0, chai_config_spec_1.expect)(new ArrayType_1.ArrayType(new BooleanType_1.BooleanType()).isAssignableTo(new ArrayType_1.ArrayType(new StringType_1.StringType()))).to.be.false;
|
|
16
16
|
});
|
|
17
17
|
it('is not equivalent to other types', () => {
|
|
18
|
-
(0,
|
|
18
|
+
(0, chai_config_spec_1.expect)(new ArrayType_1.ArrayType().isAssignableTo(new BooleanType_1.BooleanType())).to.be.false;
|
|
19
19
|
});
|
|
20
20
|
describe('isConveribleTo', () => {
|
|
21
|
-
(0,
|
|
22
|
-
(0,
|
|
21
|
+
(0, chai_config_spec_1.expect)(new ArrayType_1.ArrayType().isConvertibleTo(new BooleanType_1.BooleanType())).to.be.false;
|
|
22
|
+
(0, chai_config_spec_1.expect)(new ArrayType_1.ArrayType().isConvertibleTo(new ArrayType_1.ArrayType())).to.be.true;
|
|
23
23
|
});
|
|
24
24
|
describe('toString', () => {
|
|
25
25
|
it('prints inner types', () => {
|
|
26
|
-
(0,
|
|
26
|
+
(0, chai_config_spec_1.expect)(new ArrayType_1.ArrayType(new BooleanType_1.BooleanType(), new StringType_1.StringType()).toString()).to.eql('Array<boolean | string>');
|
|
27
27
|
});
|
|
28
28
|
});
|
|
29
29
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ArrayType.spec.js","sourceRoot":"","sources":["../../src/types/ArrayType.spec.ts"],"names":[],"mappings":";;AAAA
|
|
1
|
+
{"version":3,"file":"ArrayType.spec.js","sourceRoot":"","sources":["../../src/types/ArrayType.spec.ts"],"names":[],"mappings":";;AAAA,0DAA6C;AAE7C,2CAAwC;AACxC,+CAA4C;AAC5C,+CAA4C;AAC5C,6CAA0C;AAE1C,QAAQ,CAAC,WAAW,EAAE,GAAG,EAAE;IACvB,EAAE,CAAC,8BAA8B,EAAE,GAAG,EAAE;QACpC,IAAA,yBAAM,EAAC,IAAI,qBAAS,EAAE,CAAC,cAAc,CAAC,IAAI,qBAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;QACnE,IAAA,yBAAM,EAAC,IAAI,qBAAS,EAAE,CAAC,cAAc,CAAC,IAAI,yBAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;IACzE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iDAAiD,EAAE,GAAG,EAAE;QACvD,IAAA,yBAAM,EAAC,IAAI,qBAAS,CAAC,IAAI,yBAAW,EAAE,CAAC,CAAC,cAAc,CAAC,IAAI,qBAAS,CAAC,IAAI,yBAAW,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;QACrG,IAAA,yBAAM,EAAC,IAAI,qBAAS,CAAC,IAAI,yBAAW,EAAE,CAAC,CAAC,cAAc,CAAC,IAAI,qBAAS,CAAC,IAAI,uBAAU,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC;IACzG,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kCAAkC,EAAE,GAAG,EAAE;QACxC,IAAA,yBAAM,EAAC,IAAI,qBAAS,EAAE,CAAC,cAAc,CAAC,IAAI,yBAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC;IAC1E,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,gBAAgB,EAAE,GAAG,EAAE;QAC5B,IAAA,yBAAM,EAAC,IAAI,qBAAS,EAAE,CAAC,eAAe,CAAC,IAAI,yBAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC;QACvE,IAAA,yBAAM,EAAC,IAAI,qBAAS,EAAE,CAAC,eAAe,CAAC,IAAI,qBAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;IACxE,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,UAAU,EAAE,GAAG,EAAE;QACtB,EAAE,CAAC,oBAAoB,EAAE,GAAG,EAAE;YAC1B,IAAA,yBAAM,EAAC,IAAI,qBAAS,CAAC,IAAI,yBAAW,EAAE,EAAE,IAAI,uBAAU,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC;QAC5G,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const
|
|
3
|
+
const chai_config_spec_1 = require("../chai-config.spec");
|
|
4
4
|
const BooleanType_1 = require("./BooleanType");
|
|
5
5
|
const DynamicType_1 = require("./DynamicType");
|
|
6
6
|
describe('BooleanType', () => {
|
|
7
7
|
it('is equivalent to boolean types', () => {
|
|
8
|
-
(0,
|
|
9
|
-
(0,
|
|
8
|
+
(0, chai_config_spec_1.expect)(new BooleanType_1.BooleanType().isAssignableTo(new BooleanType_1.BooleanType())).to.be.true;
|
|
9
|
+
(0, chai_config_spec_1.expect)(new BooleanType_1.BooleanType().isAssignableTo(new DynamicType_1.DynamicType())).to.be.true;
|
|
10
10
|
});
|
|
11
11
|
});
|
|
12
12
|
//# sourceMappingURL=BooleanType.spec.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BooleanType.spec.js","sourceRoot":"","sources":["../../src/types/BooleanType.spec.ts"],"names":[],"mappings":";;AAAA
|
|
1
|
+
{"version":3,"file":"BooleanType.spec.js","sourceRoot":"","sources":["../../src/types/BooleanType.spec.ts"],"names":[],"mappings":";;AAAA,0DAA6C;AAE7C,+CAA4C;AAC5C,+CAA4C;AAE5C,QAAQ,CAAC,aAAa,EAAE,GAAG,EAAE;IACzB,EAAE,CAAC,gCAAgC,EAAE,GAAG,EAAE;QACtC,IAAA,yBAAM,EAAC,IAAI,yBAAW,EAAE,CAAC,cAAc,CAAC,IAAI,yBAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;QACvE,IAAA,yBAAM,EAAC,IAAI,yBAAW,EAAE,CAAC,cAAc,CAAC,IAAI,yBAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;IAC3E,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const
|
|
3
|
+
const chai_config_spec_1 = require("../chai-config.spec");
|
|
4
4
|
const DoubleType_1 = require("./DoubleType");
|
|
5
5
|
const DynamicType_1 = require("./DynamicType");
|
|
6
6
|
describe('DoubleType', () => {
|
|
7
7
|
it('is equivalent to double types', () => {
|
|
8
|
-
(0,
|
|
9
|
-
(0,
|
|
8
|
+
(0, chai_config_spec_1.expect)(new DoubleType_1.DoubleType().isAssignableTo(new DoubleType_1.DoubleType())).to.be.true;
|
|
9
|
+
(0, chai_config_spec_1.expect)(new DoubleType_1.DoubleType().isAssignableTo(new DynamicType_1.DynamicType())).to.be.true;
|
|
10
10
|
});
|
|
11
11
|
});
|
|
12
12
|
//# sourceMappingURL=DoubleType.spec.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DoubleType.spec.js","sourceRoot":"","sources":["../../src/types/DoubleType.spec.ts"],"names":[],"mappings":";;AAAA
|
|
1
|
+
{"version":3,"file":"DoubleType.spec.js","sourceRoot":"","sources":["../../src/types/DoubleType.spec.ts"],"names":[],"mappings":";;AAAA,0DAA6C;AAE7C,6CAA0C;AAC1C,+CAA4C;AAE5C,QAAQ,CAAC,YAAY,EAAE,GAAG,EAAE;IACxB,EAAE,CAAC,+BAA+B,EAAE,GAAG,EAAE;QACrC,IAAA,yBAAM,EAAC,IAAI,uBAAU,EAAE,CAAC,cAAc,CAAC,IAAI,uBAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;QACrE,IAAA,yBAAM,EAAC,IAAI,uBAAU,EAAE,CAAC,cAAc,CAAC,IAAI,yBAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;IAC1E,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DynamicType.js","sourceRoot":"","sources":["../../src/types/DynamicType.ts"],"names":[],"mappings":";;;AAEA,MAAa,WAAW;IACpB,YACW,QAAiB;QAAjB,aAAQ,GAAR,QAAQ,CAAS;IACxB,CAAC;IAIE,cAAc,CAAC,UAAmB;QACrC,2EAA2E;QAC3E,OAAO,CAAC,CAAC,UAAU,CAAC;IACxB,CAAC;IAED
|
|
1
|
+
{"version":3,"file":"DynamicType.js","sourceRoot":"","sources":["../../src/types/DynamicType.ts"],"names":[],"mappings":";;;AAEA,MAAa,WAAW;IACpB,YACW,QAAiB;QAAjB,aAAQ,GAAR,QAAQ,CAAS;IACxB,CAAC;IAIE,cAAc,CAAC,UAAmB;QACrC,2EAA2E;QAC3E,OAAO,CAAC,CAAC,UAAU,CAAC;IACxB,CAAC;IAED;;OAEG;IACI,eAAe,CAAC,UAAmB;QACtC,2EAA2E;QAC3E,OAAO,CAAC,CAAC,UAAU,CAAC;IACxB,CAAC;IAEM,QAAQ;;QACX,OAAO,MAAA,IAAI,CAAC,QAAQ,mCAAI,SAAS,CAAC;IACtC,CAAC;IAEM,YAAY;QACf,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC;IAC3B,CAAC;;AA1BL,kCA2BC;AAtB0B,oBAAQ,GAAG,IAAI,WAAW,EAAE,CAAC"}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const
|
|
3
|
+
const chai_config_spec_1 = require("../chai-config.spec");
|
|
4
4
|
const DynamicType_1 = require("./DynamicType");
|
|
5
5
|
const StringType_1 = require("./StringType");
|
|
6
6
|
describe('DynamicType', () => {
|
|
7
7
|
it('is equivalent to dynamic types', () => {
|
|
8
|
-
(0,
|
|
9
|
-
(0,
|
|
8
|
+
(0, chai_config_spec_1.expect)(new DynamicType_1.DynamicType().isAssignableTo(new StringType_1.StringType())).to.be.true;
|
|
9
|
+
(0, chai_config_spec_1.expect)(new DynamicType_1.DynamicType().isAssignableTo(new DynamicType_1.DynamicType())).to.be.true;
|
|
10
10
|
});
|
|
11
11
|
});
|
|
12
12
|
//# sourceMappingURL=DynamicType.spec.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DynamicType.spec.js","sourceRoot":"","sources":["../../src/types/DynamicType.spec.ts"],"names":[],"mappings":";;AAAA
|
|
1
|
+
{"version":3,"file":"DynamicType.spec.js","sourceRoot":"","sources":["../../src/types/DynamicType.spec.ts"],"names":[],"mappings":";;AAAA,0DAA6C;AAE7C,+CAA4C;AAC5C,6CAA0C;AAE1C,QAAQ,CAAC,aAAa,EAAE,GAAG,EAAE;IACzB,EAAE,CAAC,gCAAgC,EAAE,GAAG,EAAE;QACtC,IAAA,yBAAM,EAAC,IAAI,yBAAW,EAAE,CAAC,cAAc,CAAC,IAAI,uBAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;QACtE,IAAA,yBAAM,EAAC,IAAI,yBAAW,EAAE,CAAC,cAAc,CAAC,IAAI,yBAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;IAC3E,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const
|
|
3
|
+
const chai_config_spec_1 = require("../chai-config.spec");
|
|
4
4
|
const DynamicType_1 = require("./DynamicType");
|
|
5
5
|
const FloatType_1 = require("./FloatType");
|
|
6
6
|
describe('FloatType', () => {
|
|
7
7
|
it('is equivalent to double types', () => {
|
|
8
|
-
(0,
|
|
9
|
-
(0,
|
|
8
|
+
(0, chai_config_spec_1.expect)(new FloatType_1.FloatType().isAssignableTo(new FloatType_1.FloatType())).to.be.true;
|
|
9
|
+
(0, chai_config_spec_1.expect)(new FloatType_1.FloatType().isAssignableTo(new DynamicType_1.DynamicType())).to.be.true;
|
|
10
10
|
});
|
|
11
11
|
});
|
|
12
12
|
//# sourceMappingURL=FloatType.spec.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FloatType.spec.js","sourceRoot":"","sources":["../../src/types/FloatType.spec.ts"],"names":[],"mappings":";;AAAA
|
|
1
|
+
{"version":3,"file":"FloatType.spec.js","sourceRoot":"","sources":["../../src/types/FloatType.spec.ts"],"names":[],"mappings":";;AAAA,0DAA6C;AAE7C,+CAA4C;AAC5C,2CAAwC;AAExC,QAAQ,CAAC,WAAW,EAAE,GAAG,EAAE;IACvB,EAAE,CAAC,+BAA+B,EAAE,GAAG,EAAE;QACrC,IAAA,yBAAM,EAAC,IAAI,qBAAS,EAAE,CAAC,cAAc,CAAC,IAAI,qBAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;QACnE,IAAA,yBAAM,EAAC,IAAI,qBAAS,EAAE,CAAC,cAAc,CAAC,IAAI,yBAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;IACzE,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const
|
|
3
|
+
const chai_config_spec_1 = require("../chai-config.spec");
|
|
4
4
|
const DynamicType_1 = require("./DynamicType");
|
|
5
5
|
const FunctionType_1 = require("./FunctionType");
|
|
6
6
|
const IntegerType_1 = require("./IntegerType");
|
|
@@ -8,16 +8,16 @@ const StringType_1 = require("./StringType");
|
|
|
8
8
|
const VoidType_1 = require("./VoidType");
|
|
9
9
|
describe('FunctionType', () => {
|
|
10
10
|
it('is equivalent to dynamic type', () => {
|
|
11
|
-
(0,
|
|
11
|
+
(0, chai_config_spec_1.expect)(new FunctionType_1.FunctionType(new VoidType_1.VoidType()).isAssignableTo(new DynamicType_1.DynamicType())).to.be.true;
|
|
12
12
|
});
|
|
13
13
|
it('validates using param and return types', () => {
|
|
14
|
-
(0,
|
|
14
|
+
(0, chai_config_spec_1.expect)(new FunctionType_1.FunctionType(new VoidType_1.VoidType()).isAssignableTo(new FunctionType_1.FunctionType(new VoidType_1.VoidType()))).to.be.true;
|
|
15
15
|
//different parameter count
|
|
16
|
-
(0,
|
|
16
|
+
(0, chai_config_spec_1.expect)(new FunctionType_1.FunctionType(new VoidType_1.VoidType()).addParameter('a', new IntegerType_1.IntegerType(), false).isAssignableTo(new FunctionType_1.FunctionType(new VoidType_1.VoidType()))).to.be.false;
|
|
17
17
|
//different parameter types
|
|
18
|
-
(0,
|
|
18
|
+
(0, chai_config_spec_1.expect)(new FunctionType_1.FunctionType(new VoidType_1.VoidType()).addParameter('a', new IntegerType_1.IntegerType(), false).isAssignableTo(new FunctionType_1.FunctionType(new VoidType_1.VoidType()).addParameter('a', new StringType_1.StringType(), false))).to.be.false;
|
|
19
19
|
//different return type
|
|
20
|
-
(0,
|
|
20
|
+
(0, chai_config_spec_1.expect)(new FunctionType_1.FunctionType(new VoidType_1.VoidType()).isAssignableTo(new FunctionType_1.FunctionType(new IntegerType_1.IntegerType()))).to.be.false;
|
|
21
21
|
});
|
|
22
22
|
});
|
|
23
23
|
//# sourceMappingURL=FunctionType.spec.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FunctionType.spec.js","sourceRoot":"","sources":["../../src/types/FunctionType.spec.ts"],"names":[],"mappings":";;AAAA
|
|
1
|
+
{"version":3,"file":"FunctionType.spec.js","sourceRoot":"","sources":["../../src/types/FunctionType.spec.ts"],"names":[],"mappings":";;AAAA,0DAA6C;AAE7C,+CAA4C;AAC5C,iDAA8C;AAC9C,+CAA4C;AAC5C,6CAA0C;AAC1C,yCAAsC;AAEtC,QAAQ,CAAC,cAAc,EAAE,GAAG,EAAE;IAC1B,EAAE,CAAC,+BAA+B,EAAE,GAAG,EAAE;QACrC,IAAA,yBAAM,EAAC,IAAI,2BAAY,CAAC,IAAI,mBAAQ,EAAE,CAAC,CAAC,cAAc,CAAC,IAAI,yBAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;IAC1F,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wCAAwC,EAAE,GAAG,EAAE;QAC9C,IAAA,yBAAM,EAAC,IAAI,2BAAY,CAAC,IAAI,mBAAQ,EAAE,CAAC,CAAC,cAAc,CAAC,IAAI,2BAAY,CAAC,IAAI,mBAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;QAErG,2BAA2B;QAC3B,IAAA,yBAAM,EACF,IAAI,2BAAY,CAAC,IAAI,mBAAQ,EAAE,CAAC,CAAC,YAAY,CAAC,GAAG,EAAE,IAAI,yBAAW,EAAE,EAAE,KAAK,CAAC,CAAC,cAAc,CACvF,IAAI,2BAAY,CAAC,IAAI,mBAAQ,EAAE,CAAC,CACnC,CACJ,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC;QAEd,2BAA2B;QAC3B,IAAA,yBAAM,EACF,IAAI,2BAAY,CAAC,IAAI,mBAAQ,EAAE,CAAC,CAAC,YAAY,CAAC,GAAG,EAAE,IAAI,yBAAW,EAAE,EAAE,KAAK,CAAC,CAAC,cAAc,CACvF,IAAI,2BAAY,CAAC,IAAI,mBAAQ,EAAE,CAAC,CAAC,YAAY,CAAC,GAAG,EAAE,IAAI,uBAAU,EAAE,EAAE,KAAK,CAAC,CAC9E,CACJ,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC;QAEd,uBAAuB;QACvB,IAAA,yBAAM,EACF,IAAI,2BAAY,CAAC,IAAI,mBAAQ,EAAE,CAAC,CAAC,cAAc,CAC3C,IAAI,2BAAY,CAAC,IAAI,yBAAW,EAAE,CAAC,CACtC,CACJ,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC;IAClB,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const
|
|
3
|
+
const chai_config_spec_1 = require("../chai-config.spec");
|
|
4
4
|
const DynamicType_1 = require("./DynamicType");
|
|
5
5
|
const IntegerType_1 = require("./IntegerType");
|
|
6
6
|
describe('IntegerType', () => {
|
|
7
7
|
it('is equivalent to other integer types', () => {
|
|
8
|
-
(0,
|
|
9
|
-
(0,
|
|
8
|
+
(0, chai_config_spec_1.expect)(new IntegerType_1.IntegerType().isAssignableTo(new IntegerType_1.IntegerType())).to.be.true;
|
|
9
|
+
(0, chai_config_spec_1.expect)(new IntegerType_1.IntegerType().isAssignableTo(new DynamicType_1.DynamicType())).to.be.true;
|
|
10
10
|
});
|
|
11
11
|
});
|
|
12
12
|
//# sourceMappingURL=IntegerType.spec.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IntegerType.spec.js","sourceRoot":"","sources":["../../src/types/IntegerType.spec.ts"],"names":[],"mappings":";;AAAA
|
|
1
|
+
{"version":3,"file":"IntegerType.spec.js","sourceRoot":"","sources":["../../src/types/IntegerType.spec.ts"],"names":[],"mappings":";;AAAA,0DAA6C;AAE7C,+CAA4C;AAC5C,+CAA4C;AAE5C,QAAQ,CAAC,aAAa,EAAE,GAAG,EAAE;IACzB,EAAE,CAAC,sCAAsC,EAAE,GAAG,EAAE;QAC5C,IAAA,yBAAM,EAAC,IAAI,yBAAW,EAAE,CAAC,cAAc,CAAC,IAAI,yBAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;QACvE,IAAA,yBAAM,EAAC,IAAI,yBAAW,EAAE,CAAC,cAAc,CAAC,IAAI,yBAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;IAC3E,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const
|
|
3
|
+
const chai_config_spec_1 = require("../chai-config.spec");
|
|
4
4
|
const sinon_1 = require("sinon");
|
|
5
5
|
const testHelpers_spec_1 = require("../testHelpers.spec");
|
|
6
6
|
const DynamicType_1 = require("./DynamicType");
|
|
@@ -11,13 +11,13 @@ const StringType_1 = require("./StringType");
|
|
|
11
11
|
describe('InterfaceType', () => {
|
|
12
12
|
describe('toString', () => {
|
|
13
13
|
it('returns empty curly braces when no members', () => {
|
|
14
|
-
(0,
|
|
14
|
+
(0, chai_config_spec_1.expect)(iface({}).toString()).to.eql('{}');
|
|
15
15
|
});
|
|
16
16
|
it('includes member types', () => {
|
|
17
|
-
(0,
|
|
17
|
+
(0, chai_config_spec_1.expect)(iface({ name: new StringType_1.StringType() }).toString()).to.eql('{ name: string; }');
|
|
18
18
|
});
|
|
19
19
|
it('includes nested object types', () => {
|
|
20
|
-
(0,
|
|
20
|
+
(0, chai_config_spec_1.expect)(iface({
|
|
21
21
|
name: new StringType_1.StringType(),
|
|
22
22
|
parent: iface({
|
|
23
23
|
age: new IntegerType_1.IntegerType()
|
|
@@ -36,15 +36,15 @@ describe('InterfaceType', () => {
|
|
|
36
36
|
});
|
|
37
37
|
describe('equals', () => {
|
|
38
38
|
it('matches equal objects', () => {
|
|
39
|
-
(0,
|
|
39
|
+
(0, chai_config_spec_1.expect)(iface({ name: new StringType_1.StringType() }).equals(iface({ name: new StringType_1.StringType() }))).to.be.true;
|
|
40
40
|
});
|
|
41
41
|
it('does not match inequal objects', () => {
|
|
42
|
-
(0,
|
|
42
|
+
(0, chai_config_spec_1.expect)(iface({ name: new StringType_1.StringType() }).equals(iface({ name: new IntegerType_1.IntegerType() }))).to.be.false;
|
|
43
43
|
});
|
|
44
44
|
});
|
|
45
45
|
describe('isAssignableTo', () => {
|
|
46
46
|
it('rejects being assignable to other types', () => {
|
|
47
|
-
(0,
|
|
47
|
+
(0, chai_config_spec_1.expect)(iface({
|
|
48
48
|
name: new StringType_1.StringType()
|
|
49
49
|
}).isAssignableTo(new IntegerType_1.IntegerType())).to.be.false;
|
|
50
50
|
});
|
|
@@ -72,7 +72,7 @@ describe('InterfaceType', () => {
|
|
|
72
72
|
});
|
|
73
73
|
});
|
|
74
74
|
it('matches properties in mismatched order', () => {
|
|
75
|
-
(0,
|
|
75
|
+
(0, chai_config_spec_1.expect)(new InterfaceType_1.InterfaceType(new Map([
|
|
76
76
|
['name', new StringType_1.StringType()],
|
|
77
77
|
['age', new IntegerType_1.IntegerType()]
|
|
78
78
|
])).isAssignableTo(new InterfaceType_1.InterfaceType(new Map([
|