brighterscript 0.66.0-alpha.9 → 0.67.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 +123 -73
- package/README.md +14 -418
- package/dist/BsConfig.d.ts +25 -2
- package/dist/Cache.js +3 -3
- package/dist/Cache.js.map +1 -1
- package/dist/CodeActionUtil.d.ts +3 -3
- package/dist/CodeActionUtil.js.map +1 -1
- package/dist/CommentFlagProcessor.d.ts +3 -4
- package/dist/CommentFlagProcessor.js +4 -3
- package/dist/CommentFlagProcessor.js.map +1 -1
- package/dist/DependencyGraph.js +8 -8
- package/dist/DependencyGraph.js.map +1 -1
- package/dist/DiagnosticFilterer.d.ts +8 -4
- package/dist/DiagnosticFilterer.js +71 -38
- package/dist/DiagnosticFilterer.js.map +1 -1
- package/dist/DiagnosticMessages.d.ts +15 -36
- package/dist/DiagnosticMessages.js +15 -61
- package/dist/DiagnosticMessages.js.map +1 -1
- package/dist/DiagnosticSeverityAdjuster.js +3 -0
- package/dist/DiagnosticSeverityAdjuster.js.map +1 -1
- package/dist/FunctionScope.d.ts +2 -3
- package/dist/FunctionScope.js +0 -3
- package/dist/FunctionScope.js.map +1 -1
- package/dist/LanguageServer.d.ts +1 -2
- package/dist/LanguageServer.js +31 -35
- package/dist/LanguageServer.js.map +1 -1
- package/dist/Logger.d.ts +5 -9
- package/dist/Logger.js +18 -22
- package/dist/Logger.js.map +1 -1
- package/dist/PluginInterface.d.ts +13 -15
- package/dist/PluginInterface.js +16 -70
- package/dist/PluginInterface.js.map +1 -1
- package/dist/Program.d.ts +105 -138
- package/dist/Program.js +479 -702
- package/dist/Program.js.map +1 -1
- package/dist/ProgramBuilder.d.ts +8 -19
- package/dist/ProgramBuilder.js +85 -89
- package/dist/ProgramBuilder.js.map +1 -1
- package/dist/Scope.d.ts +56 -46
- package/dist/Scope.js +281 -217
- package/dist/Scope.js.map +1 -1
- package/dist/Stopwatch.js +1 -1
- package/dist/Stopwatch.js.map +1 -1
- package/dist/SymbolTable.d.ts +12 -68
- package/dist/SymbolTable.js +28 -213
- package/dist/SymbolTable.js.map +1 -1
- package/dist/XmlScope.d.ts +5 -7
- package/dist/XmlScope.js +36 -76
- package/dist/XmlScope.js.map +1 -1
- package/dist/astUtils/{Editor.d.ts → AstEditor.d.ts} +1 -6
- package/dist/astUtils/{Editor.js → AstEditor.js} +3 -9
- package/dist/astUtils/AstEditor.js.map +1 -0
- package/dist/astUtils/{Editor.spec.js → AstEditor.spec.js} +6 -10
- package/dist/astUtils/AstEditor.spec.js.map +1 -0
- package/dist/astUtils/creators.d.ts +8 -19
- package/dist/astUtils/creators.js +22 -54
- package/dist/astUtils/creators.js.map +1 -1
- package/dist/astUtils/creators.spec.js +0 -10
- package/dist/astUtils/creators.spec.js.map +1 -1
- package/dist/astUtils/reflection.d.ts +45 -81
- package/dist/astUtils/reflection.js +157 -220
- package/dist/astUtils/reflection.js.map +1 -1
- package/dist/astUtils/reflection.spec.js +19 -96
- package/dist/astUtils/reflection.spec.js.map +1 -1
- package/dist/astUtils/stackedVisitor.spec.js.map +1 -1
- package/dist/astUtils/visitors.d.ts +14 -18
- package/dist/astUtils/visitors.js +9 -22
- package/dist/astUtils/visitors.js.map +1 -1
- package/dist/astUtils/visitors.spec.js +9 -62
- package/dist/astUtils/visitors.spec.js.map +1 -1
- package/dist/astUtils/xml.d.ts +9 -9
- package/dist/astUtils/xml.js +6 -6
- package/dist/astUtils/xml.js.map +1 -1
- package/dist/bscPlugin/BscPlugin.d.ts +8 -11
- package/dist/bscPlugin/BscPlugin.js +21 -29
- package/dist/bscPlugin/BscPlugin.js.map +1 -1
- package/dist/bscPlugin/CallExpressionInfo.d.ts +6 -5
- package/dist/bscPlugin/CallExpressionInfo.js +2 -2
- package/dist/bscPlugin/CallExpressionInfo.js.map +1 -1
- package/dist/bscPlugin/codeActions/CodeActionsProcessor.js +11 -11
- package/dist/bscPlugin/codeActions/CodeActionsProcessor.js.map +1 -1
- package/dist/bscPlugin/codeActions/CodeActionsProcessor.spec.js +4 -4
- package/dist/bscPlugin/codeActions/CodeActionsProcessor.spec.js.map +1 -1
- package/dist/bscPlugin/completions/CompletionsProcessor.d.ts +1 -49
- package/dist/bscPlugin/completions/CompletionsProcessor.js +23 -424
- package/dist/bscPlugin/completions/CompletionsProcessor.js.map +1 -1
- package/dist/bscPlugin/definition/DefinitionProvider.d.ts +13 -0
- package/dist/bscPlugin/definition/DefinitionProvider.js +200 -0
- package/dist/bscPlugin/definition/DefinitionProvider.js.map +1 -0
- package/dist/bscPlugin/definition/DefinitionProvider.spec.js +87 -0
- package/dist/bscPlugin/definition/DefinitionProvider.spec.js.map +1 -0
- package/dist/bscPlugin/hover/HoverProcessor.d.ts +3 -7
- package/dist/bscPlugin/hover/HoverProcessor.js +88 -128
- package/dist/bscPlugin/hover/HoverProcessor.js.map +1 -1
- package/dist/bscPlugin/hover/HoverProcessor.spec.js +24 -336
- package/dist/bscPlugin/hover/HoverProcessor.spec.js.map +1 -1
- package/dist/bscPlugin/references/ReferencesProvider.d.ts +12 -0
- package/dist/bscPlugin/references/ReferencesProvider.js +56 -0
- package/dist/bscPlugin/references/ReferencesProvider.js.map +1 -0
- package/dist/bscPlugin/references/ReferencesProvider.spec.js +51 -0
- package/dist/bscPlugin/references/ReferencesProvider.spec.js.map +1 -0
- package/dist/bscPlugin/semanticTokens/BrsFileSemanticTokensProcessor.d.ts +0 -1
- package/dist/bscPlugin/semanticTokens/BrsFileSemanticTokensProcessor.js +5 -49
- package/dist/bscPlugin/semanticTokens/BrsFileSemanticTokensProcessor.js.map +1 -1
- package/dist/bscPlugin/semanticTokens/BrsFileSemanticTokensProcessor.spec.js +0 -22
- package/dist/bscPlugin/semanticTokens/BrsFileSemanticTokensProcessor.spec.js.map +1 -1
- package/dist/bscPlugin/symbols/DocumentSymbolProcessor.d.ts +7 -0
- package/dist/bscPlugin/symbols/DocumentSymbolProcessor.js +22 -0
- package/dist/bscPlugin/symbols/DocumentSymbolProcessor.js.map +1 -0
- package/dist/bscPlugin/symbols/DocumentSymbolProcessor.spec.js +290 -0
- package/dist/bscPlugin/symbols/DocumentSymbolProcessor.spec.js.map +1 -0
- package/dist/bscPlugin/symbols/WorkspaceSymbolProcessor.d.ts +7 -0
- package/dist/bscPlugin/symbols/WorkspaceSymbolProcessor.js +26 -0
- package/dist/bscPlugin/symbols/WorkspaceSymbolProcessor.js.map +1 -0
- package/dist/bscPlugin/symbols/WorkspaceSymbolProcessor.spec.js +245 -0
- package/dist/bscPlugin/symbols/WorkspaceSymbolProcessor.spec.js.map +1 -0
- package/dist/bscPlugin/symbols/symbolUtils.d.ts +5 -0
- package/dist/bscPlugin/symbols/symbolUtils.js +140 -0
- package/dist/bscPlugin/symbols/symbolUtils.js.map +1 -0
- package/dist/bscPlugin/transpile/{BrsFileTranspileProcessor.d.ts → BrsFilePreTranspileProcessor.d.ts} +2 -4
- package/dist/bscPlugin/transpile/{BrsFileTranspileProcessor.js → BrsFilePreTranspileProcessor.js} +15 -36
- package/dist/bscPlugin/transpile/BrsFilePreTranspileProcessor.js.map +1 -0
- package/dist/bscPlugin/transpile/BrsFilePreTranspileProcessor.spec.js +46 -0
- package/dist/bscPlugin/transpile/BrsFilePreTranspileProcessor.spec.js.map +1 -0
- package/dist/bscPlugin/validation/BrsFileValidator.d.ts +1 -0
- package/dist/bscPlugin/validation/BrsFileValidator.js +30 -41
- package/dist/bscPlugin/validation/BrsFileValidator.js.map +1 -1
- package/dist/bscPlugin/validation/BrsFileValidator.spec.js +2 -2
- package/dist/bscPlugin/validation/BrsFileValidator.spec.js.map +1 -1
- package/dist/bscPlugin/validation/ProgramValidator.d.ts +3 -3
- package/dist/bscPlugin/validation/ProgramValidator.js +6 -6
- package/dist/bscPlugin/validation/ProgramValidator.js.map +1 -1
- package/dist/bscPlugin/validation/ScopeValidator.d.ts +6 -28
- package/dist/bscPlugin/validation/ScopeValidator.js +166 -387
- package/dist/bscPlugin/validation/ScopeValidator.js.map +1 -1
- package/dist/bscPlugin/validation/XmlFileValidator.js +9 -9
- package/dist/bscPlugin/validation/XmlFileValidator.js.map +1 -1
- package/dist/diagnosticUtils.d.ts +2 -3
- package/dist/diagnosticUtils.js +5 -5
- package/dist/diagnosticUtils.js.map +1 -1
- package/dist/examples/plugins/removePrint.js +1 -1
- package/dist/examples/plugins/removePrint.js.map +1 -1
- package/dist/files/BrsFile.Class.spec.js +143 -114
- package/dist/files/BrsFile.Class.spec.js.map +1 -1
- package/dist/files/BrsFile.d.ts +61 -83
- package/dist/files/BrsFile.js +559 -612
- package/dist/files/BrsFile.js.map +1 -1
- package/dist/files/BrsFile.spec.js +1365 -1201
- package/dist/files/BrsFile.spec.js.map +1 -1
- package/dist/files/XmlFile.d.ts +28 -56
- package/dist/files/XmlFile.js +103 -89
- package/dist/files/XmlFile.js.map +1 -1
- package/dist/files/XmlFile.spec.js +179 -122
- package/dist/files/XmlFile.spec.js.map +1 -1
- package/dist/files/tests/imports.spec.js +19 -29
- package/dist/files/tests/imports.spec.js.map +1 -1
- package/dist/files/tests/optionalChaning.spec.js +14 -14
- package/dist/files/tests/optionalChaning.spec.js.map +1 -1
- package/dist/globalCallables.js +83 -88
- package/dist/globalCallables.js.map +1 -1
- package/dist/index.d.ts +1 -9
- package/dist/index.js +1 -9
- package/dist/index.js.map +1 -1
- package/dist/interfaces.d.ts +173 -423
- package/dist/interfaces.js +0 -24
- package/dist/interfaces.js.map +1 -1
- package/dist/lexer/Lexer.d.ts +9 -15
- package/dist/lexer/Lexer.js +35 -46
- package/dist/lexer/Lexer.js.map +1 -1
- package/dist/lexer/Lexer.spec.js +48 -40
- package/dist/lexer/Lexer.spec.js.map +1 -1
- package/dist/lexer/Token.d.ts +1 -5
- package/dist/lexer/Token.js +1 -1
- package/dist/lexer/Token.js.map +1 -1
- package/dist/lexer/TokenKind.d.ts +0 -6
- package/dist/lexer/TokenKind.js +2 -14
- package/dist/lexer/TokenKind.js.map +1 -1
- package/dist/logging.d.ts +9 -0
- package/dist/logging.js +16 -0
- package/dist/logging.js.map +1 -0
- package/dist/parser/AstNode.d.ts +6 -90
- package/dist/parser/AstNode.js +5 -96
- package/dist/parser/AstNode.js.map +1 -1
- package/dist/parser/AstNode.spec.js.map +1 -1
- package/dist/parser/BrsTranspileState.d.ts +3 -4
- package/dist/parser/BrsTranspileState.js +2 -3
- package/dist/parser/BrsTranspileState.js.map +1 -1
- package/dist/parser/Expression.d.ts +114 -137
- package/dist/parser/Expression.js +244 -373
- package/dist/parser/Expression.js.map +1 -1
- package/dist/parser/Parser.Class.spec.js +19 -46
- package/dist/parser/Parser.Class.spec.js.map +1 -1
- package/dist/parser/Parser.d.ts +18 -14
- package/dist/parser/Parser.js +196 -175
- package/dist/parser/Parser.js.map +1 -1
- package/dist/parser/Parser.spec.d.ts +0 -2
- package/dist/parser/Parser.spec.js +10 -674
- package/dist/parser/Parser.spec.js.map +1 -1
- package/dist/parser/SGParser.d.ts +6 -44
- package/dist/parser/SGParser.js +198 -194
- package/dist/parser/SGParser.js.map +1 -1
- package/dist/parser/SGParser.spec.js +11 -14
- package/dist/parser/SGParser.spec.js.map +1 -1
- package/dist/parser/SGTypes.d.ts +52 -280
- package/dist/parser/SGTypes.js +185 -562
- package/dist/parser/SGTypes.js.map +1 -1
- package/dist/parser/Statement.d.ts +140 -172
- package/dist/parser/Statement.js +201 -337
- package/dist/parser/Statement.js.map +1 -1
- package/dist/parser/Statement.spec.js.map +1 -1
- package/dist/parser/TranspileState.d.ts +3 -2
- package/dist/parser/TranspileState.js +8 -10
- package/dist/parser/TranspileState.js.map +1 -1
- package/dist/parser/tests/Parser.spec.js +3 -5
- package/dist/parser/tests/Parser.spec.js.map +1 -1
- package/dist/parser/tests/controlFlow/For.spec.js +8 -16
- package/dist/parser/tests/controlFlow/For.spec.js.map +1 -1
- package/dist/parser/tests/controlFlow/ForEach.spec.js +6 -12
- package/dist/parser/tests/controlFlow/ForEach.spec.js.map +1 -1
- package/dist/parser/tests/controlFlow/While.spec.js +4 -8
- package/dist/parser/tests/controlFlow/While.spec.js.map +1 -1
- package/dist/parser/tests/expression/Call.spec.js +4 -4
- package/dist/parser/tests/expression/Call.spec.js.map +1 -1
- package/dist/parser/tests/expression/Indexing.spec.js +25 -0
- package/dist/parser/tests/expression/Indexing.spec.js.map +1 -1
- package/dist/parser/tests/expression/NullCoalescenceExpression.spec.js +73 -29
- package/dist/parser/tests/expression/NullCoalescenceExpression.spec.js.map +1 -1
- package/dist/parser/tests/expression/RegexLiteralExpression.spec.js +10 -10
- package/dist/parser/tests/expression/RegexLiteralExpression.spec.js.map +1 -1
- package/dist/parser/tests/expression/SourceLiteralExpression.spec.js +24 -24
- package/dist/parser/tests/expression/SourceLiteralExpression.spec.js.map +1 -1
- package/dist/parser/tests/expression/TemplateStringExpression.spec.js +47 -35
- package/dist/parser/tests/expression/TemplateStringExpression.spec.js.map +1 -1
- package/dist/parser/tests/expression/TernaryExpression.spec.js +83 -36
- package/dist/parser/tests/expression/TernaryExpression.spec.js.map +1 -1
- package/dist/parser/tests/expression/UnaryExpression.spec.js +2 -2
- package/dist/parser/tests/expression/UnaryExpression.spec.js.map +1 -1
- package/dist/parser/tests/statement/ConstStatement.spec.js +26 -27
- package/dist/parser/tests/statement/ConstStatement.spec.js.map +1 -1
- package/dist/parser/tests/statement/Continue.spec.js +2 -2
- package/dist/parser/tests/statement/Continue.spec.js.map +1 -1
- package/dist/parser/tests/statement/Dim.spec.js.map +1 -1
- package/dist/parser/tests/statement/Enum.spec.js +393 -90
- package/dist/parser/tests/statement/Enum.spec.js.map +1 -1
- package/dist/parser/tests/statement/For.spec.js +6 -6
- package/dist/parser/tests/statement/For.spec.js.map +1 -1
- package/dist/parser/tests/statement/ForEach.spec.js +4 -4
- package/dist/parser/tests/statement/ForEach.spec.js.map +1 -1
- package/dist/parser/tests/statement/Function.spec.js +1 -1
- package/dist/parser/tests/statement/Function.spec.js.map +1 -1
- package/dist/parser/tests/statement/InterfaceStatement.spec.js +18 -18
- package/dist/parser/tests/statement/InterfaceStatement.spec.js.map +1 -1
- package/dist/parser/tests/statement/Misc.spec.js.map +1 -1
- package/dist/parser/tests/statement/PrintStatement.spec.js +13 -16
- package/dist/parser/tests/statement/PrintStatement.spec.js.map +1 -1
- package/dist/parser/tests/statement/ReturnStatement.spec.js +3 -5
- package/dist/parser/tests/statement/ReturnStatement.spec.js.map +1 -1
- package/dist/parser/tests/statement/Set.spec.js +13 -26
- package/dist/parser/tests/statement/Set.spec.js.map +1 -1
- package/dist/parser/tests/statement/Throw.spec.js.map +1 -1
- package/dist/parser/tests/statement/TryCatch.spec.js.map +1 -1
- package/dist/preprocessor/Chunk.js +1 -2
- package/dist/preprocessor/Chunk.js.map +1 -1
- package/dist/preprocessor/Preprocessor.d.ts +3 -4
- package/dist/preprocessor/Preprocessor.js +3 -3
- package/dist/preprocessor/Preprocessor.js.map +1 -1
- package/dist/preprocessor/PreprocessorParser.js +8 -1
- package/dist/preprocessor/PreprocessorParser.js.map +1 -1
- package/dist/roku-types/data.json +293 -243
- package/dist/roku-types/index.d.ts +38 -17
- package/dist/types/ArrayType.d.ts +4 -9
- package/dist/types/ArrayType.js +24 -72
- package/dist/types/ArrayType.js.map +1 -1
- package/dist/types/ArrayType.spec.js +10 -39
- package/dist/types/ArrayType.spec.js.map +1 -1
- package/dist/types/BooleanType.d.ts +4 -8
- package/dist/types/BooleanType.js +8 -19
- package/dist/types/BooleanType.js.map +1 -1
- package/dist/types/BooleanType.spec.js +3 -9
- package/dist/types/BooleanType.spec.js.map +1 -1
- package/dist/types/BscType.d.ts +2 -29
- package/dist/types/BscType.js +0 -113
- package/dist/types/BscType.js.map +1 -1
- package/dist/types/CustomType.d.ts +9 -0
- package/dist/types/CustomType.js +32 -0
- package/dist/types/CustomType.js.map +1 -0
- package/dist/types/DoubleType.d.ts +4 -8
- package/dist/types/DoubleType.js +20 -23
- package/dist/types/DoubleType.js.map +1 -1
- package/dist/types/DoubleType.spec.js +3 -11
- package/dist/types/DoubleType.spec.js.map +1 -1
- package/dist/types/DynamicType.d.ts +3 -9
- package/dist/types/DynamicType.js +2 -18
- package/dist/types/DynamicType.js.map +1 -1
- package/dist/types/DynamicType.spec.js +4 -15
- package/dist/types/DynamicType.spec.js.map +1 -1
- package/dist/types/FloatType.d.ts +4 -8
- package/dist/types/FloatType.js +20 -23
- package/dist/types/FloatType.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.d.ts +20 -10
- package/dist/types/FunctionType.js +52 -27
- package/dist/types/FunctionType.js.map +1 -1
- package/dist/types/FunctionType.spec.js +23 -0
- package/dist/types/FunctionType.spec.js.map +1 -0
- package/dist/types/IntegerType.d.ts +4 -8
- package/dist/types/IntegerType.js +20 -23
- package/dist/types/IntegerType.js.map +1 -1
- package/dist/types/IntegerType.spec.js +3 -7
- package/dist/types/IntegerType.spec.js.map +1 -1
- package/dist/types/InterfaceType.d.ts +10 -12
- package/dist/types/InterfaceType.js +48 -23
- package/dist/types/InterfaceType.js.map +1 -1
- package/dist/types/InterfaceType.spec.js +45 -82
- package/dist/types/InterfaceType.spec.js.map +1 -1
- package/dist/types/InvalidType.d.ts +4 -7
- package/dist/types/InvalidType.js +8 -18
- package/dist/types/InvalidType.js.map +1 -1
- package/dist/types/InvalidType.spec.js +3 -7
- package/dist/types/InvalidType.spec.js.map +1 -1
- package/dist/types/LongIntegerType.d.ts +4 -8
- package/dist/types/LongIntegerType.js +20 -23
- package/dist/types/LongIntegerType.js.map +1 -1
- package/dist/types/LongIntegerType.spec.js +3 -9
- package/dist/types/LongIntegerType.spec.js.map +1 -1
- package/dist/types/ObjectType.d.ts +4 -8
- package/dist/types/ObjectType.js +7 -21
- package/dist/types/ObjectType.js.map +1 -1
- package/dist/types/ObjectType.spec.js +2 -2
- package/dist/types/ObjectType.spec.js.map +1 -1
- package/dist/types/StringType.d.ts +4 -11
- package/dist/types/StringType.js +8 -23
- package/dist/types/StringType.js.map +1 -1
- package/dist/types/StringType.spec.js +2 -2
- package/dist/types/StringType.spec.js.map +1 -1
- package/dist/types/UninitializedType.d.ts +3 -7
- package/dist/types/UninitializedType.js +3 -14
- package/dist/types/UninitializedType.js.map +1 -1
- package/dist/types/VoidType.d.ts +4 -8
- package/dist/types/VoidType.js +8 -18
- package/dist/types/VoidType.js.map +1 -1
- package/dist/types/VoidType.spec.js +2 -2
- package/dist/types/VoidType.spec.js.map +1 -1
- package/dist/util.d.ts +43 -104
- package/dist/util.js +243 -640
- package/dist/util.js.map +1 -1
- package/dist/validators/ClassValidator.d.ts +6 -1
- package/dist/validators/ClassValidator.js +61 -20
- package/dist/validators/ClassValidator.js.map +1 -1
- package/package.json +13 -11
- package/dist/ActionPipeline.d.ts +0 -10
- package/dist/ActionPipeline.js +0 -40
- package/dist/ActionPipeline.js.map +0 -1
- package/dist/AstValidationSegmenter.d.ts +0 -25
- package/dist/AstValidationSegmenter.js +0 -150
- package/dist/AstValidationSegmenter.js.map +0 -1
- package/dist/CacheVerifier.d.ts +0 -7
- package/dist/CacheVerifier.js +0 -20
- package/dist/CacheVerifier.js.map +0 -1
- package/dist/astUtils/Editor.js.map +0 -1
- package/dist/astUtils/Editor.spec.js.map +0 -1
- package/dist/bscPlugin/FileWriter.d.ts +0 -6
- package/dist/bscPlugin/FileWriter.js +0 -24
- package/dist/bscPlugin/FileWriter.js.map +0 -1
- package/dist/bscPlugin/completions/CompletionsProcessor.spec.js +0 -1658
- package/dist/bscPlugin/completions/CompletionsProcessor.spec.js.map +0 -1
- package/dist/bscPlugin/fileProviders/FileProvider.d.ts +0 -9
- package/dist/bscPlugin/fileProviders/FileProvider.js +0 -51
- package/dist/bscPlugin/fileProviders/FileProvider.js.map +0 -1
- package/dist/bscPlugin/serialize/BslibInjector.spec.js +0 -19
- package/dist/bscPlugin/serialize/BslibInjector.spec.js.map +0 -1
- package/dist/bscPlugin/serialize/BslibManager.d.ts +0 -9
- package/dist/bscPlugin/serialize/BslibManager.js +0 -40
- package/dist/bscPlugin/serialize/BslibManager.js.map +0 -1
- package/dist/bscPlugin/serialize/FileSerializer.d.ts +0 -9
- package/dist/bscPlugin/serialize/FileSerializer.js +0 -72
- package/dist/bscPlugin/serialize/FileSerializer.js.map +0 -1
- package/dist/bscPlugin/transpile/BrsFileTranspileProcessor.js.map +0 -1
- package/dist/bscPlugin/transpile/BrsFileTranspileProcessor.spec.js +0 -41
- package/dist/bscPlugin/transpile/BrsFileTranspileProcessor.spec.js.map +0 -1
- package/dist/bscPlugin/transpile/XmlFilePreTranspileProcessor.d.ts +0 -11
- package/dist/bscPlugin/transpile/XmlFilePreTranspileProcessor.js +0 -53
- package/dist/bscPlugin/transpile/XmlFilePreTranspileProcessor.js.map +0 -1
- package/dist/bscPlugin/validation/ScopeValidator.spec.js +0 -2004
- package/dist/bscPlugin/validation/ScopeValidator.spec.js.map +0 -1
- package/dist/files/AssetFile.d.ts +0 -26
- package/dist/files/AssetFile.js +0 -26
- package/dist/files/AssetFile.js.map +0 -1
- package/dist/files/Factory.d.ts +0 -25
- package/dist/files/Factory.js +0 -22
- package/dist/files/Factory.js.map +0 -1
- package/dist/files/File.d.ts +0 -106
- package/dist/files/File.js +0 -16
- package/dist/files/File.js.map +0 -1
- package/dist/files/LazyFileData.d.ts +0 -20
- package/dist/files/LazyFileData.js +0 -54
- package/dist/files/LazyFileData.js.map +0 -1
- package/dist/files/LazyFileData.spec.js +0 -27
- package/dist/files/LazyFileData.spec.js.map +0 -1
- package/dist/parser/tests/expression/TypeExpression.spec.js +0 -127
- package/dist/parser/tests/expression/TypeExpression.spec.js.map +0 -1
- package/dist/types/AssociativeArrayType.d.ts +0 -11
- package/dist/types/AssociativeArrayType.js +0 -52
- package/dist/types/AssociativeArrayType.js.map +0 -1
- package/dist/types/BaseFunctionType.d.ts +0 -9
- package/dist/types/BaseFunctionType.js +0 -25
- package/dist/types/BaseFunctionType.js.map +0 -1
- package/dist/types/BscTypeKind.d.ts +0 -25
- package/dist/types/BscTypeKind.js +0 -30
- package/dist/types/BscTypeKind.js.map +0 -1
- package/dist/types/BuiltInInterfaceAdder.d.ts +0 -23
- package/dist/types/BuiltInInterfaceAdder.js +0 -160
- package/dist/types/BuiltInInterfaceAdder.js.map +0 -1
- package/dist/types/BuiltInInterfaceAdder.spec.d.ts +0 -1
- package/dist/types/BuiltInInterfaceAdder.spec.js +0 -116
- package/dist/types/BuiltInInterfaceAdder.spec.js.map +0 -1
- package/dist/types/ClassType.d.ts +0 -17
- package/dist/types/ClassType.js +0 -58
- package/dist/types/ClassType.js.map +0 -1
- package/dist/types/ClassType.spec.d.ts +0 -1
- package/dist/types/ClassType.spec.js +0 -77
- package/dist/types/ClassType.spec.js.map +0 -1
- package/dist/types/ComponentType.d.ts +0 -26
- package/dist/types/ComponentType.js +0 -83
- package/dist/types/ComponentType.js.map +0 -1
- package/dist/types/EnumType.d.ts +0 -40
- package/dist/types/EnumType.js +0 -81
- package/dist/types/EnumType.js.map +0 -1
- package/dist/types/EnumType.spec.d.ts +0 -1
- package/dist/types/EnumType.spec.js +0 -33
- package/dist/types/EnumType.spec.js.map +0 -1
- package/dist/types/InheritableType.d.ts +0 -28
- package/dist/types/InheritableType.js +0 -152
- package/dist/types/InheritableType.js.map +0 -1
- package/dist/types/NamespaceType.d.ts +0 -12
- package/dist/types/NamespaceType.js +0 -28
- package/dist/types/NamespaceType.js.map +0 -1
- package/dist/types/ReferenceType.d.ts +0 -63
- package/dist/types/ReferenceType.js +0 -423
- package/dist/types/ReferenceType.js.map +0 -1
- package/dist/types/ReferenceType.spec.d.ts +0 -1
- package/dist/types/ReferenceType.spec.js +0 -137
- package/dist/types/ReferenceType.spec.js.map +0 -1
- package/dist/types/TypedFunctionType.d.ts +0 -33
- package/dist/types/TypedFunctionType.js +0 -106
- package/dist/types/TypedFunctionType.js.map +0 -1
- package/dist/types/TypedFunctionType.spec.d.ts +0 -1
- package/dist/types/TypedFunctionType.spec.js +0 -122
- package/dist/types/TypedFunctionType.spec.js.map +0 -1
- package/dist/types/UnionType.d.ts +0 -20
- package/dist/types/UnionType.js +0 -123
- package/dist/types/UnionType.js.map +0 -1
- package/dist/types/UnionType.spec.d.ts +0 -1
- package/dist/types/UnionType.spec.js +0 -130
- package/dist/types/UnionType.spec.js.map +0 -1
- package/dist/types/helper.spec.d.ts +0 -1
- package/dist/types/helper.spec.js +0 -145
- package/dist/types/helper.spec.js.map +0 -1
- package/dist/types/helpers.d.ts +0 -24
- package/dist/types/helpers.js +0 -178
- package/dist/types/helpers.js.map +0 -1
- package/dist/types/index.d.ts +0 -22
- package/dist/types/index.js +0 -39
- package/dist/types/index.js.map +0 -1
- /package/dist/astUtils/{Editor.spec.d.ts → AstEditor.spec.d.ts} +0 -0
- /package/dist/bscPlugin/{completions/CompletionsProcessor.spec.d.ts → definition/DefinitionProvider.spec.d.ts} +0 -0
- /package/dist/bscPlugin/{serialize/BslibInjector.spec.d.ts → references/ReferencesProvider.spec.d.ts} +0 -0
- /package/dist/bscPlugin/{transpile/BrsFileTranspileProcessor.spec.d.ts → symbols/DocumentSymbolProcessor.spec.d.ts} +0 -0
- /package/dist/bscPlugin/{validation/ScopeValidator.spec.d.ts → symbols/WorkspaceSymbolProcessor.spec.d.ts} +0 -0
- /package/dist/{files/LazyFileData.spec.d.ts → bscPlugin/transpile/BrsFilePreTranspileProcessor.spec.d.ts} +0 -0
- /package/dist/{parser/tests/expression/TypeExpression.spec.d.ts → types/FunctionType.spec.d.ts} +0 -0
|
@@ -404,7 +404,7 @@ export declare const nodes: {
|
|
|
404
404
|
name: string;
|
|
405
405
|
url: string;
|
|
406
406
|
};
|
|
407
|
-
"key
|
|
407
|
+
"key defintion file": {
|
|
408
408
|
description: string;
|
|
409
409
|
events: any[];
|
|
410
410
|
fields: any[];
|
|
@@ -641,19 +641,6 @@ export declare const nodes: {
|
|
|
641
641
|
name: string;
|
|
642
642
|
url: string;
|
|
643
643
|
}[];
|
|
644
|
-
methods: {
|
|
645
|
-
description: string;
|
|
646
|
-
isVariadic: boolean;
|
|
647
|
-
name: string;
|
|
648
|
-
params: {
|
|
649
|
-
default: any;
|
|
650
|
-
description: string;
|
|
651
|
-
isRequired: boolean;
|
|
652
|
-
name: string;
|
|
653
|
-
type: string;
|
|
654
|
-
}[];
|
|
655
|
-
returnType: string;
|
|
656
|
-
}[];
|
|
657
644
|
name: string;
|
|
658
645
|
url: string;
|
|
659
646
|
};
|
|
@@ -875,6 +862,25 @@ export declare const nodes: {
|
|
|
875
862
|
name: string;
|
|
876
863
|
url: string;
|
|
877
864
|
};
|
|
865
|
+
rsgpalette: {
|
|
866
|
+
availableSince: string;
|
|
867
|
+
description: string;
|
|
868
|
+
events: any[];
|
|
869
|
+
extends: {
|
|
870
|
+
name: string;
|
|
871
|
+
url: string;
|
|
872
|
+
};
|
|
873
|
+
fields: {
|
|
874
|
+
accessPermission: string;
|
|
875
|
+
default: string;
|
|
876
|
+
description: string;
|
|
877
|
+
name: string;
|
|
878
|
+
type: string;
|
|
879
|
+
}[];
|
|
880
|
+
interfaces: any[];
|
|
881
|
+
name: string;
|
|
882
|
+
url: string;
|
|
883
|
+
};
|
|
878
884
|
scene: {
|
|
879
885
|
description: string;
|
|
880
886
|
events: any[];
|
|
@@ -1551,6 +1557,10 @@ export declare const nodes: {
|
|
|
1551
1557
|
zoomrowlist: {
|
|
1552
1558
|
description: string;
|
|
1553
1559
|
events: any[];
|
|
1560
|
+
extends: {
|
|
1561
|
+
name: string;
|
|
1562
|
+
url: string;
|
|
1563
|
+
};
|
|
1554
1564
|
fields: any[];
|
|
1555
1565
|
interfaces: any[];
|
|
1556
1566
|
name: string;
|
|
@@ -3443,13 +3453,16 @@ export declare const interfaces: {
|
|
|
3443
3453
|
url: string;
|
|
3444
3454
|
}[];
|
|
3445
3455
|
methods: {
|
|
3456
|
+
description: string;
|
|
3446
3457
|
name: string;
|
|
3447
3458
|
params: {
|
|
3448
3459
|
default: any;
|
|
3460
|
+
description: string;
|
|
3449
3461
|
isRequired: boolean;
|
|
3450
3462
|
name: string;
|
|
3451
3463
|
type: string;
|
|
3452
3464
|
}[];
|
|
3465
|
+
returnDescription: string;
|
|
3453
3466
|
returnType: string;
|
|
3454
3467
|
}[];
|
|
3455
3468
|
name: string;
|
|
@@ -4815,6 +4828,17 @@ export declare const interfaces: {
|
|
|
4815
4828
|
}[];
|
|
4816
4829
|
returnType: string;
|
|
4817
4830
|
returnDescription?: undefined;
|
|
4831
|
+
} | {
|
|
4832
|
+
name: string;
|
|
4833
|
+
params: {
|
|
4834
|
+
default: any;
|
|
4835
|
+
isRequired: boolean;
|
|
4836
|
+
name: string;
|
|
4837
|
+
type: string;
|
|
4838
|
+
}[];
|
|
4839
|
+
returnDescription: string;
|
|
4840
|
+
returnType: string;
|
|
4841
|
+
description?: undefined;
|
|
4818
4842
|
} | {
|
|
4819
4843
|
description: string;
|
|
4820
4844
|
name: string;
|
|
@@ -5454,7 +5478,6 @@ export interface BRSBaseMethodData extends PossiblyDeprecated {
|
|
|
5454
5478
|
isRequired: boolean;
|
|
5455
5479
|
type: string;
|
|
5456
5480
|
}[];
|
|
5457
|
-
isVariadic?: boolean;
|
|
5458
5481
|
returnType: string;
|
|
5459
5482
|
}
|
|
5460
5483
|
export interface BRSEventMethodData extends BRSBaseMethodData {
|
|
@@ -5482,8 +5505,6 @@ export interface SGNodeData extends BrightScriptDocLookup {
|
|
|
5482
5505
|
fields: BRSFieldData[];
|
|
5483
5506
|
events: BrightScriptDocLookup[];
|
|
5484
5507
|
interfaces: BrightScriptDocLookup[];
|
|
5485
|
-
extends?: BrightScriptDocLookup;
|
|
5486
|
-
methods?: BRSInterfaceMethodData[];
|
|
5487
5508
|
}
|
|
5488
5509
|
export interface BRSComponentData extends BrightScriptDocLookup, PossiblyDeprecated {
|
|
5489
5510
|
interfaces: BrightScriptDocLookup[];
|
|
@@ -1,14 +1,9 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
|
|
3
|
-
import { BscTypeKind } from './BscTypeKind';
|
|
4
|
-
export declare class ArrayType extends BscType {
|
|
1
|
+
import type { BscType } from './BscType';
|
|
2
|
+
export declare class ArrayType implements BscType {
|
|
5
3
|
constructor(...innerTypes: BscType[]);
|
|
6
|
-
readonly kind = BscTypeKind.ArrayType;
|
|
7
4
|
innerTypes: BscType[];
|
|
8
|
-
|
|
9
|
-
|
|
5
|
+
isAssignableTo(targetType: BscType): boolean;
|
|
6
|
+
isConvertibleTo(targetType: BscType): boolean;
|
|
10
7
|
toString(): string;
|
|
11
8
|
toTypeString(): string;
|
|
12
|
-
isEqual(targetType: BscType): boolean;
|
|
13
|
-
addBuiltInInterfaces(): void;
|
|
14
9
|
}
|
package/dist/types/ArrayType.js
CHANGED
|
@@ -1,92 +1,44 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.ArrayType = void 0;
|
|
4
|
-
const SymbolTable_1 = require("../SymbolTable");
|
|
5
|
-
const reflection_1 = require("../astUtils/reflection");
|
|
6
|
-
const BscType_1 = require("./BscType");
|
|
7
|
-
const BscTypeKind_1 = require("./BscTypeKind");
|
|
8
|
-
const BuiltInInterfaceAdder_1 = require("./BuiltInInterfaceAdder");
|
|
9
4
|
const DynamicType_1 = require("./DynamicType");
|
|
10
|
-
|
|
11
|
-
const UnionType_1 = require("./UnionType");
|
|
12
|
-
const helpers_1 = require("./helpers");
|
|
13
|
-
class ArrayType extends BscType_1.BscType {
|
|
5
|
+
class ArrayType {
|
|
14
6
|
constructor(...innerTypes) {
|
|
15
|
-
super();
|
|
16
|
-
this.kind = BscTypeKind_1.BscTypeKind.ArrayType;
|
|
17
7
|
this.innerTypes = [];
|
|
18
8
|
this.innerTypes = innerTypes;
|
|
19
9
|
}
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
if (((_a = this.innerTypes) === null || _a === void 0 ? void 0 : _a.length) === 0) {
|
|
23
|
-
return DynamicType_1.DynamicType.instance;
|
|
24
|
-
}
|
|
25
|
-
else if (((_b = this.innerTypes) === null || _b === void 0 ? void 0 : _b.length) === 1) {
|
|
26
|
-
return this.innerTypes[0];
|
|
27
|
-
}
|
|
28
|
-
return (0, helpers_1.getUniqueType)(this.innerTypes, UnionType_1.unionTypeFactory);
|
|
29
|
-
}
|
|
30
|
-
isTypeCompatible(targetType, data) {
|
|
31
|
-
if ((0, reflection_1.isDynamicType)(targetType)) {
|
|
10
|
+
isAssignableTo(targetType) {
|
|
11
|
+
if (targetType instanceof DynamicType_1.DynamicType) {
|
|
32
12
|
return true;
|
|
33
13
|
}
|
|
34
|
-
else if ((
|
|
35
|
-
return
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
14
|
+
else if (!(targetType instanceof ArrayType)) {
|
|
15
|
+
return false;
|
|
16
|
+
}
|
|
17
|
+
//this array type is assignable to the target IF
|
|
18
|
+
//1. all of the types in this array are present in the target
|
|
19
|
+
outer: for (let innerType of this.innerTypes) {
|
|
20
|
+
//find this inner type in the target
|
|
21
|
+
// eslint-disable-next-line no-unreachable-loop
|
|
22
|
+
for (let targetInnerType of targetType.innerTypes) {
|
|
23
|
+
//TODO is this loop correct? It ends after 1 iteration but we might need to do more iterations
|
|
24
|
+
if (innerType.isAssignableTo(targetInnerType)) {
|
|
25
|
+
continue outer;
|
|
26
|
+
}
|
|
27
|
+
//our array contains a type that the target array does not...so these arrays are different
|
|
28
|
+
return false;
|
|
29
|
+
}
|
|
45
30
|
}
|
|
46
|
-
return
|
|
31
|
+
return true;
|
|
32
|
+
}
|
|
33
|
+
isConvertibleTo(targetType) {
|
|
34
|
+
return this.isAssignableTo(targetType);
|
|
47
35
|
}
|
|
48
36
|
toString() {
|
|
49
|
-
return `Array<${this.
|
|
37
|
+
return `Array<${this.innerTypes.map((x) => x.toString()).join(' | ')}>`;
|
|
50
38
|
}
|
|
51
39
|
toTypeString() {
|
|
52
40
|
return 'object';
|
|
53
41
|
}
|
|
54
|
-
isEqual(targetType) {
|
|
55
|
-
if ((0, reflection_1.isArrayType)(targetType)) {
|
|
56
|
-
if (targetType.innerTypes.length !== this.innerTypes.length) {
|
|
57
|
-
return false;
|
|
58
|
-
}
|
|
59
|
-
for (let i = 0; i < this.innerTypes.length; i++) {
|
|
60
|
-
if (!this.innerTypes[i].isEqual(targetType.innerTypes[i])) {
|
|
61
|
-
return false;
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
return true;
|
|
65
|
-
}
|
|
66
|
-
return false;
|
|
67
|
-
}
|
|
68
|
-
addBuiltInInterfaces() {
|
|
69
|
-
if (!this.hasAddedBuiltInInterfaces) {
|
|
70
|
-
const overrideMap = new Map();
|
|
71
|
-
const defaultType = this.defaultType;
|
|
72
|
-
overrideMap
|
|
73
|
-
// ifArray
|
|
74
|
-
.set('peek', { returnType: defaultType })
|
|
75
|
-
.set('pop', { returnType: defaultType })
|
|
76
|
-
.set('push', { parameterTypes: [defaultType] })
|
|
77
|
-
.set('shift', { returnType: defaultType })
|
|
78
|
-
.set('unshift', { parameterTypes: [defaultType] })
|
|
79
|
-
.set('append', { parameterTypes: [this] })
|
|
80
|
-
// ifArrayGet
|
|
81
|
-
.set('get', { returnType: defaultType })
|
|
82
|
-
// ifArraySet
|
|
83
|
-
.set('get', { parameterTypes: [IntegerType_1.IntegerType.instance, defaultType] })
|
|
84
|
-
//ifEnum
|
|
85
|
-
.set('next', { returnType: defaultType });
|
|
86
|
-
BuiltInInterfaceAdder_1.BuiltInInterfaceAdder.addBuiltInInterfacesToType(this, overrideMap);
|
|
87
|
-
}
|
|
88
|
-
this.hasAddedBuiltInInterfaces = true;
|
|
89
|
-
}
|
|
90
42
|
}
|
|
91
43
|
exports.ArrayType = ArrayType;
|
|
92
44
|
//# sourceMappingURL=ArrayType.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ArrayType.js","sourceRoot":"","sources":["../../src/types/ArrayType.ts"],"names":[],"mappings":";;;AACA
|
|
1
|
+
{"version":3,"file":"ArrayType.js","sourceRoot":"","sources":["../../src/types/ArrayType.ts"],"names":[],"mappings":";;;AACA,+CAA4C;AAE5C,MAAa,SAAS;IAClB,YAAY,GAAG,UAAqB;QAG7B,eAAU,GAAc,EAAE,CAAC;QAF9B,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IACjC,CAAC;IAGM,cAAc,CAAC,UAAmB;QACrC,IAAI,UAAU,YAAY,yBAAW,EAAE;YACnC,OAAO,IAAI,CAAC;SACf;aAAM,IAAI,CAAC,CAAC,UAAU,YAAY,SAAS,CAAC,EAAE;YAC3C,OAAO,KAAK,CAAC;SAChB;QACD,gDAAgD;QAChD,6DAA6D;QAC7D,KAAK,EAAE,KAAK,IAAI,SAAS,IAAI,IAAI,CAAC,UAAU,EAAE;YAC1C,oCAAoC;YAEpC,+CAA+C;YAC/C,KAAK,IAAI,eAAe,IAAI,UAAU,CAAC,UAAU,EAAE;gBAC/C,8FAA8F;gBAE9F,IAAI,SAAS,CAAC,cAAc,CAAC,eAAe,CAAC,EAAE;oBAC3C,SAAS,KAAK,CAAC;iBAClB;gBAED,0FAA0F;gBAC1F,OAAO,KAAK,CAAC;aAChB;SACJ;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IAEM,eAAe,CAAC,UAAmB;QACtC,OAAO,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;IAC3C,CAAC;IAEM,QAAQ;QACX,OAAO,SAAS,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC;IAC5E,CAAC;IAEM,YAAY;QACf,OAAO,QAAQ,CAAC;IACpB,CAAC;CACJ;AA3CD,8BA2CC"}
|
|
@@ -5,54 +5,25 @@ 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
|
-
const SymbolTable_1 = require("../SymbolTable");
|
|
9
|
-
const TypedFunctionType_1 = require("./TypedFunctionType");
|
|
10
|
-
const testHelpers_spec_1 = require("../testHelpers.spec");
|
|
11
|
-
const IntegerType_1 = require("./IntegerType");
|
|
12
8
|
describe('ArrayType', () => {
|
|
13
9
|
it('is equivalent to array types', () => {
|
|
14
|
-
(0, chai_config_spec_1.expect)(new ArrayType_1.ArrayType().
|
|
15
|
-
(0, chai_config_spec_1.expect)(new ArrayType_1.ArrayType().
|
|
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;
|
|
16
12
|
});
|
|
17
13
|
it('catches arrays containing different inner types', () => {
|
|
18
|
-
(0, chai_config_spec_1.expect)(new ArrayType_1.ArrayType(new BooleanType_1.BooleanType()).
|
|
19
|
-
(0, chai_config_spec_1.expect)(new ArrayType_1.ArrayType(new BooleanType_1.BooleanType()).
|
|
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;
|
|
20
16
|
});
|
|
21
17
|
it('is not equivalent to other types', () => {
|
|
22
|
-
(0, chai_config_spec_1.expect)(new ArrayType_1.ArrayType().
|
|
18
|
+
(0, chai_config_spec_1.expect)(new ArrayType_1.ArrayType().isAssignableTo(new BooleanType_1.BooleanType())).to.be.false;
|
|
23
19
|
});
|
|
24
|
-
|
|
25
|
-
(0, chai_config_spec_1.expect)(new ArrayType_1.ArrayType().
|
|
26
|
-
(0, chai_config_spec_1.expect)(new ArrayType_1.ArrayType().
|
|
20
|
+
describe('isConveribleTo', () => {
|
|
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;
|
|
27
23
|
});
|
|
28
24
|
describe('toString', () => {
|
|
29
|
-
it('prints
|
|
30
|
-
(0, chai_config_spec_1.expect)(new ArrayType_1.ArrayType(new BooleanType_1.BooleanType(), new StringType_1.StringType()).toString()).to.eql('Array<boolean
|
|
31
|
-
});
|
|
32
|
-
});
|
|
33
|
-
describe('built in interfaces', () => {
|
|
34
|
-
it('adds built in interfaces', () => {
|
|
35
|
-
const myArray = new ArrayType_1.ArrayType();
|
|
36
|
-
(0, testHelpers_spec_1.expectTypeToBe)(myArray.getMemberType('push', { flags: SymbolTable_1.SymbolTypeFlag.runtime }), TypedFunctionType_1.TypedFunctionType);
|
|
37
|
-
(0, testHelpers_spec_1.expectTypeToBe)(myArray.getMemberType('sort', { flags: SymbolTable_1.SymbolTypeFlag.runtime }), TypedFunctionType_1.TypedFunctionType);
|
|
38
|
-
(0, testHelpers_spec_1.expectTypeToBe)(myArray.getMemberType('next', { flags: SymbolTable_1.SymbolTypeFlag.runtime }), TypedFunctionType_1.TypedFunctionType);
|
|
39
|
-
});
|
|
40
|
-
it('correctly sets types for typed array', () => {
|
|
41
|
-
const myArray = new ArrayType_1.ArrayType(IntegerType_1.IntegerType.instance);
|
|
42
|
-
const popType = myArray.getMemberType('pop', { flags: SymbolTable_1.SymbolTypeFlag.runtime });
|
|
43
|
-
(0, testHelpers_spec_1.expectTypeToBe)(popType.returnType, IntegerType_1.IntegerType);
|
|
44
|
-
const pushType = myArray.getMemberType('push', { flags: SymbolTable_1.SymbolTypeFlag.runtime });
|
|
45
|
-
(0, testHelpers_spec_1.expectTypeToBe)(pushType.params[0].type, IntegerType_1.IntegerType);
|
|
46
|
-
});
|
|
47
|
-
it('correctly gets optional params for sorts', () => {
|
|
48
|
-
const myArray = new ArrayType_1.ArrayType();
|
|
49
|
-
const sortType = myArray.getMemberType('sort', { flags: SymbolTable_1.SymbolTypeFlag.runtime });
|
|
50
|
-
(0, testHelpers_spec_1.expectTypeToBe)(sortType.params[0].type, StringType_1.StringType);
|
|
51
|
-
(0, chai_config_spec_1.expect)(sortType.params[0].isOptional).to.be.true;
|
|
52
|
-
const sortByType = myArray.getMemberType('sortBy', { flags: SymbolTable_1.SymbolTypeFlag.runtime });
|
|
53
|
-
(0, testHelpers_spec_1.expectTypeToBe)(sortByType.params[0].type, StringType_1.StringType);
|
|
54
|
-
(0, testHelpers_spec_1.expectTypeToBe)(sortByType.params[1].type, StringType_1.StringType);
|
|
55
|
-
(0, chai_config_spec_1.expect)(sortByType.params[1].isOptional).to.be.true;
|
|
25
|
+
it('prints inner types', () => {
|
|
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>');
|
|
56
27
|
});
|
|
57
28
|
});
|
|
58
29
|
});
|
|
@@ -1 +1 @@
|
|
|
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;
|
|
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,13 +1,9 @@
|
|
|
1
|
-
import { BscType } from './BscType';
|
|
2
|
-
|
|
3
|
-
import type { TypeCompatibilityData } from '../interfaces';
|
|
4
|
-
export declare class BooleanType extends BscType {
|
|
1
|
+
import type { BscType } from './BscType';
|
|
2
|
+
export declare class BooleanType implements BscType {
|
|
5
3
|
typeText?: string;
|
|
6
4
|
constructor(typeText?: string);
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
isTypeCompatible(targetType: BscType, data?: TypeCompatibilityData): any;
|
|
5
|
+
isAssignableTo(targetType: BscType): boolean;
|
|
6
|
+
isConvertibleTo(targetType: BscType): boolean;
|
|
10
7
|
toString(): string;
|
|
11
8
|
toTypeString(): string;
|
|
12
|
-
isEqual(targetType: BscType): boolean;
|
|
13
9
|
}
|
|
@@ -1,23 +1,17 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.BooleanType = void 0;
|
|
4
|
-
const
|
|
5
|
-
|
|
6
|
-
const BscTypeKind_1 = require("./BscTypeKind");
|
|
7
|
-
const helpers_1 = require("./helpers");
|
|
8
|
-
const BuiltInInterfaceAdder_1 = require("./BuiltInInterfaceAdder");
|
|
9
|
-
class BooleanType extends BscType_1.BscType {
|
|
4
|
+
const DynamicType_1 = require("./DynamicType");
|
|
5
|
+
class BooleanType {
|
|
10
6
|
constructor(typeText) {
|
|
11
|
-
super();
|
|
12
7
|
this.typeText = typeText;
|
|
13
|
-
this.kind = BscTypeKind_1.BscTypeKind.BooleanType;
|
|
14
8
|
}
|
|
15
|
-
|
|
16
|
-
return (
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
9
|
+
isAssignableTo(targetType) {
|
|
10
|
+
return (targetType instanceof BooleanType ||
|
|
11
|
+
targetType instanceof DynamicType_1.DynamicType);
|
|
12
|
+
}
|
|
13
|
+
isConvertibleTo(targetType) {
|
|
14
|
+
return this.isAssignableTo(targetType);
|
|
21
15
|
}
|
|
22
16
|
toString() {
|
|
23
17
|
var _a;
|
|
@@ -26,11 +20,6 @@ class BooleanType extends BscType_1.BscType {
|
|
|
26
20
|
toTypeString() {
|
|
27
21
|
return this.toString();
|
|
28
22
|
}
|
|
29
|
-
isEqual(targetType) {
|
|
30
|
-
return (0, reflection_1.isBooleanType)(targetType);
|
|
31
|
-
}
|
|
32
23
|
}
|
|
33
24
|
exports.BooleanType = BooleanType;
|
|
34
|
-
BooleanType.instance = new BooleanType('boolean');
|
|
35
|
-
BuiltInInterfaceAdder_1.BuiltInInterfaceAdder.primitiveTypeInstanceCache.set('boolean', BooleanType.instance);
|
|
36
25
|
//# sourceMappingURL=BooleanType.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BooleanType.js","sourceRoot":"","sources":["../../src/types/BooleanType.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"BooleanType.js","sourceRoot":"","sources":["../../src/types/BooleanType.ts"],"names":[],"mappings":";;;AACA,+CAA4C;AAE5C,MAAa,WAAW;IACpB,YACW,QAAiB;QAAjB,aAAQ,GAAR,QAAQ,CAAS;IACxB,CAAC;IAEE,cAAc,CAAC,UAAmB;QACrC,OAAO,CACH,UAAU,YAAY,WAAW;YACjC,UAAU,YAAY,yBAAW,CACpC,CAAC;IACN,CAAC;IAEM,eAAe,CAAC,UAAmB;QACtC,OAAO,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;IAC3C,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;CACJ;AAvBD,kCAuBC"}
|
|
@@ -3,16 +3,10 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
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
|
-
const IntegerType_1 = require("./IntegerType");
|
|
7
6
|
describe('BooleanType', () => {
|
|
8
|
-
it('is
|
|
9
|
-
(0, chai_config_spec_1.expect)(new BooleanType_1.BooleanType().
|
|
10
|
-
(0, chai_config_spec_1.expect)(new BooleanType_1.BooleanType().
|
|
11
|
-
});
|
|
12
|
-
it('is compatible with only correct types', () => {
|
|
13
|
-
(0, chai_config_spec_1.expect)(new BooleanType_1.BooleanType().isTypeCompatible(new BooleanType_1.BooleanType())).to.be.true;
|
|
14
|
-
(0, chai_config_spec_1.expect)(new BooleanType_1.BooleanType().isTypeCompatible(new DynamicType_1.DynamicType())).to.be.true;
|
|
15
|
-
(0, chai_config_spec_1.expect)(new BooleanType_1.BooleanType().isTypeCompatible(IntegerType_1.IntegerType.instance)).to.be.false;
|
|
7
|
+
it('is equivalent to boolean types', () => {
|
|
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;
|
|
16
10
|
});
|
|
17
11
|
});
|
|
18
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,0DAA6C;AAE7C,+CAA4C;AAC5C,+CAA4C;
|
|
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"}
|
package/dist/types/BscType.d.ts
CHANGED
|
@@ -1,33 +1,6 @@
|
|
|
1
|
-
|
|
2
|
-
import { SymbolTypeFlag } from '../SymbolTable';
|
|
3
|
-
import { SymbolTable } from '../SymbolTable';
|
|
4
|
-
import type { ExtraSymbolData, TypeCompatibilityData } from '../interfaces';
|
|
5
|
-
export declare abstract class BscType {
|
|
6
|
-
readonly memberTable: SymbolTable;
|
|
7
|
-
protected __identifier: string;
|
|
8
|
-
protected hasAddedBuiltInInterfaces: boolean;
|
|
9
|
-
constructor(name?: string);
|
|
10
|
-
pushMemberProvider(provider: SymbolTableProvider): void;
|
|
11
|
-
popMemberProvider(): void;
|
|
12
|
-
getBuiltInMemberTable(): SymbolTable;
|
|
13
|
-
addMember(name: string, data: ExtraSymbolData, type: BscType, flags: SymbolTypeFlag): void;
|
|
14
|
-
getMemberType(name: string, options: GetSymbolTypeOptions): BscType;
|
|
15
|
-
getMemberTable(): SymbolTable;
|
|
16
|
-
isResolvable(): boolean;
|
|
17
|
-
/**
|
|
18
|
-
* Check if this type can be assigned to the target type
|
|
19
|
-
* @param targetType the type that we're trying to assign this type to
|
|
20
|
-
* @deprecated
|
|
21
|
-
*/
|
|
1
|
+
export interface BscType {
|
|
22
2
|
isAssignableTo(targetType: BscType): boolean;
|
|
23
|
-
|
|
24
|
-
* Check if a different type can be assigned to this type - eg. does the other type convert into this type?
|
|
25
|
-
* @param _otherType the type to check if it can be used as this type, or can automatically be converted into this type
|
|
26
|
-
*/
|
|
27
|
-
isTypeCompatible(_otherType: BscType, data?: TypeCompatibilityData): boolean;
|
|
3
|
+
isConvertibleTo(targetType: BscType): boolean;
|
|
28
4
|
toString(): string;
|
|
29
5
|
toTypeString(): string;
|
|
30
|
-
isEqual(targetType: BscType, data?: TypeCompatibilityData): boolean;
|
|
31
|
-
checkCompatibilityBasedOnMembers(targetType: BscType, flags: SymbolTypeFlag, data?: TypeCompatibilityData): boolean;
|
|
32
|
-
addBuiltInInterfaces(): void;
|
|
33
6
|
}
|
package/dist/types/BscType.js
CHANGED
|
@@ -1,116 +1,3 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.BscType = void 0;
|
|
4
|
-
const SymbolTable_1 = require("../SymbolTable");
|
|
5
|
-
const SymbolTable_2 = require("../SymbolTable");
|
|
6
|
-
const BuiltInInterfaceAdder_1 = require("./BuiltInInterfaceAdder");
|
|
7
|
-
const reflection_1 = require("../astUtils/reflection");
|
|
8
|
-
class BscType {
|
|
9
|
-
constructor(name = '') {
|
|
10
|
-
this.hasAddedBuiltInInterfaces = false;
|
|
11
|
-
this.__identifier = `${this.constructor.name}${name ? ': ' + name : ''}`;
|
|
12
|
-
this.memberTable = new SymbolTable_2.SymbolTable(this.__identifier);
|
|
13
|
-
}
|
|
14
|
-
pushMemberProvider(provider) {
|
|
15
|
-
this.memberTable.pushParentProvider(provider);
|
|
16
|
-
}
|
|
17
|
-
popMemberProvider() {
|
|
18
|
-
this.memberTable.popParentProvider();
|
|
19
|
-
}
|
|
20
|
-
getBuiltInMemberTable() {
|
|
21
|
-
return this.memberTable;
|
|
22
|
-
}
|
|
23
|
-
addMember(name, data, type, flags) {
|
|
24
|
-
this.memberTable.addSymbol(name, data, type, flags);
|
|
25
|
-
}
|
|
26
|
-
getMemberType(name, options) {
|
|
27
|
-
this.addBuiltInInterfaces();
|
|
28
|
-
return this.memberTable.getSymbolType(name, options);
|
|
29
|
-
}
|
|
30
|
-
getMemberTable() {
|
|
31
|
-
return this.memberTable;
|
|
32
|
-
}
|
|
33
|
-
isResolvable() {
|
|
34
|
-
return true;
|
|
35
|
-
}
|
|
36
|
-
/**
|
|
37
|
-
* Check if this type can be assigned to the target type
|
|
38
|
-
* @param targetType the type that we're trying to assign this type to
|
|
39
|
-
* @deprecated
|
|
40
|
-
*/
|
|
41
|
-
isAssignableTo(targetType) {
|
|
42
|
-
return targetType.isTypeCompatible(this);
|
|
43
|
-
}
|
|
44
|
-
/**
|
|
45
|
-
* Check if a different type can be assigned to this type - eg. does the other type convert into this type?
|
|
46
|
-
* @param _otherType the type to check if it can be used as this type, or can automatically be converted into this type
|
|
47
|
-
*/
|
|
48
|
-
isTypeCompatible(_otherType, data) {
|
|
49
|
-
throw new Error('Method not implemented.');
|
|
50
|
-
}
|
|
51
|
-
toString() {
|
|
52
|
-
throw new Error('Method not implemented.');
|
|
53
|
-
}
|
|
54
|
-
toTypeString() {
|
|
55
|
-
throw new Error('Method not implemented.');
|
|
56
|
-
}
|
|
57
|
-
isEqual(targetType, data = {}) {
|
|
58
|
-
throw new Error('Method not implemented.');
|
|
59
|
-
}
|
|
60
|
-
checkCompatibilityBasedOnMembers(targetType, flags, data = {}) {
|
|
61
|
-
var _a, _b;
|
|
62
|
-
let isSuperSet = true;
|
|
63
|
-
data.missingFields || (data.missingFields = []);
|
|
64
|
-
data.fieldMismatches || (data.fieldMismatches = []);
|
|
65
|
-
data.depth = data.depth ? data.depth + 1 : 1;
|
|
66
|
-
//data.chain ||= [];
|
|
67
|
-
this.addBuiltInInterfaces();
|
|
68
|
-
targetType.addBuiltInInterfaces();
|
|
69
|
-
if (this === targetType) {
|
|
70
|
-
return true;
|
|
71
|
-
}
|
|
72
|
-
if ((0, reflection_1.isReferenceType)(targetType) && !targetType.isResolvable()) {
|
|
73
|
-
// we can't resolve the other type. Assume it does not fail on member checks
|
|
74
|
-
return true;
|
|
75
|
-
}
|
|
76
|
-
if (data.depth > 16) {
|
|
77
|
-
// some sort of circular reference
|
|
78
|
-
return false;
|
|
79
|
-
}
|
|
80
|
-
const mySymbols = (_a = this.getMemberTable()) === null || _a === void 0 ? void 0 : _a.getAllSymbols(flags);
|
|
81
|
-
for (const memberSymbol of mySymbols) {
|
|
82
|
-
const targetTypesOfSymbol = (_b = targetType.getMemberTable()
|
|
83
|
-
.getSymbolTypes(memberSymbol.name, { flags: flags })) === null || _b === void 0 ? void 0 : _b.map(symbol => symbol.type);
|
|
84
|
-
if (!targetTypesOfSymbol || targetTypesOfSymbol.length === 0) {
|
|
85
|
-
// eslint-disable-next-line no-bitwise
|
|
86
|
-
if (!(memberSymbol.flags & SymbolTable_1.SymbolTypeFlag.optional)) {
|
|
87
|
-
data.missingFields.push({ name: memberSymbol.name, expectedType: memberSymbol.type });
|
|
88
|
-
isSuperSet = false;
|
|
89
|
-
}
|
|
90
|
-
}
|
|
91
|
-
else {
|
|
92
|
-
isSuperSet =
|
|
93
|
-
(targetTypesOfSymbol !== null && targetTypesOfSymbol !== void 0 ? targetTypesOfSymbol : []).reduce((superSetSoFar, typeOfTargetSymbol) => {
|
|
94
|
-
if (!superSetSoFar) {
|
|
95
|
-
return superSetSoFar;
|
|
96
|
-
}
|
|
97
|
-
const myMemberAllowsTargetType = memberSymbol.type.isTypeCompatible(typeOfTargetSymbol, { depth: data.depth });
|
|
98
|
-
if (!myMemberAllowsTargetType) {
|
|
99
|
-
data.fieldMismatches.push({ name: memberSymbol.name, expectedType: memberSymbol.type, actualType: targetType.getMemberType(memberSymbol.name, { flags: flags }) });
|
|
100
|
-
}
|
|
101
|
-
return superSetSoFar && myMemberAllowsTargetType;
|
|
102
|
-
}, true) && isSuperSet;
|
|
103
|
-
}
|
|
104
|
-
}
|
|
105
|
-
data.depth = 0;
|
|
106
|
-
return isSuperSet;
|
|
107
|
-
}
|
|
108
|
-
addBuiltInInterfaces() {
|
|
109
|
-
if (!this.hasAddedBuiltInInterfaces) {
|
|
110
|
-
BuiltInInterfaceAdder_1.BuiltInInterfaceAdder.addBuiltInInterfacesToType(this);
|
|
111
|
-
}
|
|
112
|
-
this.hasAddedBuiltInInterfaces = true;
|
|
113
|
-
}
|
|
114
|
-
}
|
|
115
|
-
exports.BscType = BscType;
|
|
116
3
|
//# sourceMappingURL=BscType.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BscType.js","sourceRoot":"","sources":["../../src/types/BscType.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"BscType.js","sourceRoot":"","sources":["../../src/types/BscType.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { BscType } from './BscType';
|
|
2
|
+
export declare class CustomType implements BscType {
|
|
3
|
+
name: string;
|
|
4
|
+
constructor(name: string);
|
|
5
|
+
toString(): string;
|
|
6
|
+
toTypeString(): string;
|
|
7
|
+
isAssignableTo(targetType: BscType): boolean;
|
|
8
|
+
isConvertibleTo(targetType: BscType): boolean;
|
|
9
|
+
}
|