brighterscript 1.0.0-alpha.23 → 1.0.0-alpha.25
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 +585 -218
- package/README.md +45 -139
- package/bsconfig.schema.json +41 -0
- package/dist/ActionPipeline.d.ts +10 -0
- package/dist/ActionPipeline.js +40 -0
- package/dist/ActionPipeline.js.map +1 -0
- package/dist/AstValidationSegmenter.d.ts +25 -0
- package/dist/AstValidationSegmenter.js +152 -0
- package/dist/AstValidationSegmenter.js.map +1 -0
- package/dist/BsConfig.d.ts +39 -4
- package/dist/BusyStatusTracker.d.ts +31 -0
- package/dist/BusyStatusTracker.js +83 -0
- package/dist/BusyStatusTracker.js.map +1 -0
- package/dist/Cache.js +3 -3
- package/dist/Cache.js.map +1 -1
- package/dist/CacheVerifier.d.ts +7 -0
- package/dist/CacheVerifier.js +20 -0
- package/dist/CacheVerifier.js.map +1 -0
- package/dist/CodeActionUtil.d.ts +3 -3
- package/dist/CodeActionUtil.js.map +1 -1
- package/dist/CommentFlagProcessor.d.ts +3 -2
- package/dist/CommentFlagProcessor.js +5 -4
- package/dist/CommentFlagProcessor.js.map +1 -1
- package/dist/DependencyGraph.d.ts +3 -2
- package/dist/DependencyGraph.js +11 -10
- package/dist/DependencyGraph.js.map +1 -1
- package/dist/DiagnosticCollection.js +9 -5
- package/dist/DiagnosticCollection.js.map +1 -1
- package/dist/DiagnosticFilterer.d.ts +1 -0
- package/dist/DiagnosticFilterer.js +5 -3
- package/dist/DiagnosticFilterer.js.map +1 -1
- package/dist/DiagnosticMessages.d.ts +79 -15
- package/dist/DiagnosticMessages.js +134 -21
- package/dist/DiagnosticMessages.js.map +1 -1
- package/dist/DiagnosticSeverityAdjuster.d.ts +7 -0
- package/dist/DiagnosticSeverityAdjuster.js +41 -0
- package/dist/DiagnosticSeverityAdjuster.js.map +1 -0
- package/dist/FunctionScope.d.ts +28 -0
- package/dist/FunctionScope.js +52 -0
- package/dist/FunctionScope.js.map +1 -0
- 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 +23 -11
- package/dist/LanguageServer.js +222 -87
- package/dist/LanguageServer.js.map +1 -1
- package/dist/Logger.d.ts +3 -2
- package/dist/Logger.js +11 -3
- package/dist/Logger.js.map +1 -1
- package/dist/PluginInterface.d.ts +21 -3
- package/dist/PluginInterface.js +74 -6
- package/dist/PluginInterface.js.map +1 -1
- package/dist/Program.d.ts +162 -81
- package/dist/Program.js +903 -732
- package/dist/Program.js.map +1 -1
- package/dist/ProgramBuilder.d.ts +22 -12
- package/dist/ProgramBuilder.js +132 -104
- package/dist/ProgramBuilder.js.map +1 -1
- package/dist/Scope.d.ts +95 -134
- package/dist/Scope.js +477 -551
- 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 +95 -29
- package/dist/SymbolTable.js +256 -102
- package/dist/SymbolTable.js.map +1 -1
- package/dist/Throttler.d.ts +12 -0
- package/dist/Throttler.js +39 -0
- package/dist/Throttler.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/XmlScope.d.ts +4 -6
- package/dist/XmlScope.js +74 -68
- package/dist/XmlScope.js.map +1 -1
- package/dist/astUtils/CachedLookups.d.ts +48 -0
- package/dist/astUtils/CachedLookups.js +323 -0
- package/dist/astUtils/CachedLookups.js.map +1 -0
- package/dist/astUtils/{AstEditor.d.ts → Editor.d.ts} +9 -5
- package/dist/astUtils/{AstEditor.js → Editor.js} +10 -4
- package/dist/astUtils/Editor.js.map +1 -0
- package/dist/astUtils/{AstEditor.spec.js → Editor.spec.js} +68 -64
- package/dist/astUtils/Editor.spec.js.map +1 -0
- package/dist/astUtils/creators.d.ts +10 -10
- package/dist/astUtils/creators.js +26 -16
- package/dist/astUtils/creators.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.d.ts +132 -100
- package/dist/astUtils/reflection.js +225 -166
- package/dist/astUtils/reflection.js.map +1 -1
- package/dist/astUtils/reflection.spec.js +208 -126
- 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 +54 -35
- package/dist/astUtils/visitors.js +29 -3
- package/dist/astUtils/visitors.js.map +1 -1
- package/dist/astUtils/visitors.spec.js +178 -33
- package/dist/astUtils/visitors.spec.js.map +1 -1
- package/dist/astUtils/xml.d.ts +9 -9
- package/dist/astUtils/xml.js +9 -9
- package/dist/astUtils/xml.js.map +1 -1
- package/dist/bscPlugin/BscPlugin.d.ts +12 -2
- package/dist/bscPlugin/BscPlugin.js +41 -3
- package/dist/bscPlugin/BscPlugin.js.map +1 -1
- package/dist/bscPlugin/CallExpressionInfo.d.ts +36 -0
- package/dist/bscPlugin/CallExpressionInfo.js +131 -0
- package/dist/bscPlugin/CallExpressionInfo.js.map +1 -0
- package/dist/bscPlugin/FileWriter.d.ts +6 -0
- package/dist/bscPlugin/FileWriter.js +24 -0
- package/dist/bscPlugin/FileWriter.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.d.ts +1 -1
- package/dist/bscPlugin/codeActions/CodeActionsProcessor.js +21 -12
- package/dist/bscPlugin/codeActions/CodeActionsProcessor.js.map +1 -1
- package/dist/bscPlugin/codeActions/CodeActionsProcessor.spec.js +86 -12
- package/dist/bscPlugin/codeActions/CodeActionsProcessor.spec.js.map +1 -1
- package/dist/bscPlugin/completions/CompletionsProcessor.d.ts +57 -0
- package/dist/bscPlugin/completions/CompletionsProcessor.js +544 -0
- package/dist/bscPlugin/completions/CompletionsProcessor.js.map +1 -0
- package/dist/bscPlugin/completions/CompletionsProcessor.spec.js +1909 -0
- package/dist/bscPlugin/completions/CompletionsProcessor.spec.js.map +1 -0
- package/dist/bscPlugin/fileProviders/FileProvider.d.ts +9 -0
- package/dist/bscPlugin/fileProviders/FileProvider.js +51 -0
- package/dist/bscPlugin/fileProviders/FileProvider.js.map +1 -0
- package/dist/bscPlugin/hover/HoverProcessor.d.ts +17 -0
- package/dist/bscPlugin/hover/HoverProcessor.js +188 -0
- package/dist/bscPlugin/hover/HoverProcessor.js.map +1 -0
- package/dist/bscPlugin/hover/HoverProcessor.spec.js +513 -0
- package/dist/bscPlugin/hover/HoverProcessor.spec.js.map +1 -0
- package/dist/bscPlugin/semanticTokens/BrsFileSemanticTokensProcessor.d.ts +3 -1
- package/dist/bscPlugin/semanticTokens/BrsFileSemanticTokensProcessor.js +102 -29
- package/dist/bscPlugin/semanticTokens/BrsFileSemanticTokensProcessor.js.map +1 -1
- package/dist/bscPlugin/semanticTokens/BrsFileSemanticTokensProcessor.spec.js +167 -6
- package/dist/bscPlugin/semanticTokens/BrsFileSemanticTokensProcessor.spec.js.map +1 -1
- package/dist/bscPlugin/serialize/BslibInjector.spec.d.ts +1 -0
- package/dist/bscPlugin/serialize/BslibInjector.spec.js +19 -0
- package/dist/bscPlugin/serialize/BslibInjector.spec.js.map +1 -0
- package/dist/bscPlugin/serialize/BslibManager.d.ts +9 -0
- package/dist/bscPlugin/serialize/BslibManager.js +40 -0
- package/dist/bscPlugin/serialize/BslibManager.js.map +1 -0
- package/dist/bscPlugin/serialize/FileSerializer.d.ts +9 -0
- package/dist/bscPlugin/serialize/FileSerializer.js +72 -0
- package/dist/bscPlugin/serialize/FileSerializer.js.map +1 -0
- package/dist/bscPlugin/transpile/BrsFileTranspileProcessor.d.ts +16 -0
- package/dist/bscPlugin/transpile/BrsFileTranspileProcessor.js +123 -0
- package/dist/bscPlugin/transpile/BrsFileTranspileProcessor.js.map +1 -0
- package/dist/bscPlugin/transpile/BrsFileTranspileProcessor.spec.d.ts +1 -0
- package/dist/bscPlugin/transpile/BrsFileTranspileProcessor.spec.js +41 -0
- package/dist/bscPlugin/transpile/BrsFileTranspileProcessor.spec.js.map +1 -0
- package/dist/bscPlugin/transpile/XmlFilePreTranspileProcessor.d.ts +12 -0
- package/dist/bscPlugin/transpile/XmlFilePreTranspileProcessor.js +99 -0
- package/dist/bscPlugin/transpile/XmlFilePreTranspileProcessor.js.map +1 -0
- package/dist/bscPlugin/validation/BrsFileValidator.d.ts +22 -1
- package/dist/bscPlugin/validation/BrsFileValidator.js +316 -29
- package/dist/bscPlugin/validation/BrsFileValidator.js.map +1 -1
- package/dist/bscPlugin/validation/BrsFileValidator.spec.d.ts +1 -0
- package/dist/bscPlugin/validation/BrsFileValidator.spec.js +264 -0
- package/dist/bscPlugin/validation/BrsFileValidator.spec.js.map +1 -0
- package/dist/bscPlugin/validation/ProgramValidator.d.ts +10 -0
- package/dist/bscPlugin/validation/ProgramValidator.js +32 -0
- package/dist/bscPlugin/validation/ProgramValidator.js.map +1 -0
- package/dist/bscPlugin/validation/ScopeValidator.d.ts +56 -8
- package/dist/bscPlugin/validation/ScopeValidator.js +514 -116
- package/dist/bscPlugin/validation/ScopeValidator.js.map +1 -1
- package/dist/bscPlugin/validation/ScopeValidator.spec.d.ts +1 -0
- package/dist/bscPlugin/validation/ScopeValidator.spec.js +2454 -0
- package/dist/bscPlugin/validation/ScopeValidator.spec.js.map +1 -0
- package/dist/bscPlugin/validation/XmlFileValidator.d.ts +8 -0
- package/dist/bscPlugin/validation/XmlFileValidator.js +44 -0
- package/dist/bscPlugin/validation/XmlFileValidator.js.map +1 -0
- package/dist/cli.js +107 -8
- package/dist/cli.js.map +1 -1
- package/dist/deferred.d.ts +3 -3
- package/dist/deferred.js.map +1 -1
- package/dist/diagnosticUtils.d.ts +8 -2
- package/dist/diagnosticUtils.js +47 -17
- package/dist/diagnosticUtils.js.map +1 -1
- package/dist/examples/plugins/removePrint.js +8 -10
- package/dist/examples/plugins/removePrint.js.map +1 -1
- package/dist/files/AssetFile.d.ts +26 -0
- package/dist/files/AssetFile.js +26 -0
- package/dist/files/AssetFile.js.map +1 -0
- package/dist/files/BrsFile.Class.spec.js +529 -486
- package/dist/files/BrsFile.Class.spec.js.map +1 -1
- package/dist/files/BrsFile.d.ts +124 -112
- package/dist/files/BrsFile.js +819 -1131
- package/dist/files/BrsFile.js.map +1 -1
- package/dist/files/BrsFile.spec.js +1869 -1277
- package/dist/files/BrsFile.spec.js.map +1 -1
- package/dist/files/BscFile.d.ts +104 -0
- package/dist/files/BscFile.js +16 -0
- package/dist/files/BscFile.js.map +1 -0
- package/dist/files/Factory.d.ts +25 -0
- package/dist/files/Factory.js +22 -0
- package/dist/files/Factory.js.map +1 -0
- package/dist/files/LazyFileData.d.ts +20 -0
- package/dist/files/LazyFileData.js +54 -0
- package/dist/files/LazyFileData.js.map +1 -0
- package/dist/files/LazyFileData.spec.d.ts +1 -0
- package/dist/files/LazyFileData.spec.js +27 -0
- package/dist/files/LazyFileData.spec.js.map +1 -0
- package/dist/files/XmlFile.d.ts +70 -32
- package/dist/files/XmlFile.js +106 -117
- package/dist/files/XmlFile.js.map +1 -1
- package/dist/files/XmlFile.spec.js +325 -262
- package/dist/files/XmlFile.spec.js.map +1 -1
- package/dist/files/tests/imports.spec.js +49 -41
- package/dist/files/tests/imports.spec.js.map +1 -1
- package/dist/files/tests/optionalChaning.spec.js +104 -40
- package/dist/files/tests/optionalChaning.spec.js.map +1 -1
- package/dist/globalCallables.js +16 -18
- package/dist/globalCallables.js.map +1 -1
- package/dist/index.d.ts +13 -2
- package/dist/index.js +15 -2
- package/dist/index.js.map +1 -1
- package/dist/interfaces.d.ts +440 -150
- package/dist/interfaces.js +27 -0
- package/dist/interfaces.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 +12 -5
- package/dist/lexer/Lexer.js +28 -13
- package/dist/lexer/Lexer.js.map +1 -1
- package/dist/lexer/Lexer.spec.js +187 -134
- package/dist/lexer/Lexer.spec.js.map +1 -1
- package/dist/lexer/Token.d.ts +9 -1
- package/dist/lexer/Token.js +9 -1
- package/dist/lexer/Token.js.map +1 -1
- package/dist/lexer/TokenKind.d.ts +9 -0
- package/dist/lexer/TokenKind.js +30 -5
- package/dist/lexer/TokenKind.js.map +1 -1
- package/dist/parser/AstNode.d.ts +162 -0
- package/dist/parser/AstNode.js +225 -0
- package/dist/parser/AstNode.js.map +1 -0
- package/dist/parser/AstNode.spec.d.ts +1 -0
- package/dist/parser/AstNode.spec.js +165 -0
- package/dist/parser/AstNode.spec.js.map +1 -0
- package/dist/parser/BrsTranspileState.d.ts +4 -7
- package/dist/parser/BrsTranspileState.js +4 -12
- package/dist/parser/BrsTranspileState.js.map +1 -1
- package/dist/parser/Expression.d.ts +126 -167
- package/dist/parser/Expression.js +524 -394
- package/dist/parser/Expression.js.map +1 -1
- package/dist/parser/Parser.Class.spec.js +152 -146
- package/dist/parser/Parser.Class.spec.js.map +1 -1
- package/dist/parser/Parser.d.ts +45 -196
- package/dist/parser/Parser.js +470 -926
- package/dist/parser/Parser.js.map +1 -1
- package/dist/parser/Parser.spec.d.ts +3 -1
- package/dist/parser/Parser.spec.js +1034 -805
- package/dist/parser/Parser.spec.js.map +1 -1
- package/dist/parser/SGParser.d.ts +9 -8
- package/dist/parser/SGParser.js +10 -8
- package/dist/parser/SGParser.js.map +1 -1
- package/dist/parser/SGParser.spec.js +27 -38
- package/dist/parser/SGParser.spec.js.map +1 -1
- package/dist/parser/SGTypes.d.ts +98 -35
- package/dist/parser/SGTypes.js +169 -99
- package/dist/parser/SGTypes.js.map +1 -1
- package/dist/parser/Statement.d.ts +208 -122
- package/dist/parser/Statement.js +599 -364
- package/dist/parser/Statement.js.map +1 -1
- package/dist/parser/Statement.spec.js +45 -21
- package/dist/parser/Statement.spec.js.map +1 -1
- package/dist/parser/TranspileState.d.ts +1 -1
- package/dist/parser/TranspileState.js +7 -12
- package/dist/parser/TranspileState.js.map +1 -1
- package/dist/parser/tests/Parser.spec.js +3 -2
- package/dist/parser/tests/Parser.spec.js.map +1 -1
- package/dist/parser/tests/controlFlow/For.spec.js +33 -23
- package/dist/parser/tests/controlFlow/For.spec.js.map +1 -1
- package/dist/parser/tests/controlFlow/ForEach.spec.js +25 -20
- package/dist/parser/tests/controlFlow/ForEach.spec.js.map +1 -1
- package/dist/parser/tests/controlFlow/If.spec.js +96 -94
- package/dist/parser/tests/controlFlow/If.spec.js.map +1 -1
- package/dist/parser/tests/controlFlow/While.spec.js +22 -16
- 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 +58 -21
- package/dist/parser/tests/expression/ArrayLiterals.spec.js.map +1 -1
- package/dist/parser/tests/expression/AssociativeArrayLiterals.spec.js +61 -20
- 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 +129 -21
- 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 +67 -22
- 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 +123 -81
- 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/RegexLiteralExpression.spec.js +10 -10
- package/dist/parser/tests/expression/RegexLiteralExpression.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/SourceLiteralExpression.spec.js +24 -24
- package/dist/parser/tests/expression/SourceLiteralExpression.spec.js.map +1 -1
- package/dist/parser/tests/expression/TemplateStringExpression.spec.js +221 -81
- package/dist/parser/tests/expression/TemplateStringExpression.spec.js.map +1 -1
- package/dist/parser/tests/expression/TernaryExpression.spec.js +287 -105
- package/dist/parser/tests/expression/TernaryExpression.spec.js.map +1 -1
- package/dist/parser/tests/expression/TypeExpression.spec.d.ts +1 -0
- package/dist/parser/tests/expression/TypeExpression.spec.js +127 -0
- package/dist/parser/tests/expression/TypeExpression.spec.js.map +1 -0
- package/dist/parser/tests/expression/UnaryExpression.spec.d.ts +1 -0
- package/dist/parser/tests/expression/UnaryExpression.spec.js +52 -0
- package/dist/parser/tests/expression/UnaryExpression.spec.js.map +1 -0
- 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.d.ts +1 -0
- package/dist/parser/tests/statement/ConstStatement.spec.js +262 -0
- package/dist/parser/tests/statement/ConstStatement.spec.js.map +1 -0
- package/dist/parser/tests/statement/Continue.spec.d.ts +1 -0
- package/dist/parser/tests/statement/Continue.spec.js +119 -0
- package/dist/parser/tests/statement/Continue.spec.js.map +1 -0
- 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 +111 -300
- package/dist/parser/tests/statement/Enum.spec.js.map +1 -1
- package/dist/parser/tests/statement/For.spec.js +9 -10
- package/dist/parser/tests/statement/For.spec.js.map +1 -1
- package/dist/parser/tests/statement/ForEach.spec.js +8 -9
- package/dist/parser/tests/statement/ForEach.spec.js.map +1 -1
- package/dist/parser/tests/statement/Function.spec.js +44 -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/InterfaceStatement.spec.js +30 -196
- package/dist/parser/tests/statement/InterfaceStatement.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 +16 -78
- package/dist/parser/tests/statement/Misc.spec.js.map +1 -1
- package/dist/parser/tests/statement/PrintStatement.spec.js +107 -90
- package/dist/parser/tests/statement/PrintStatement.spec.js.map +1 -1
- package/dist/parser/tests/statement/ReturnStatement.spec.js +14 -12
- package/dist/parser/tests/statement/ReturnStatement.spec.js.map +1 -1
- package/dist/parser/tests/statement/Set.spec.js +48 -35
- 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 +18 -16
- package/dist/parser/tests/statement/TryCatch.spec.js.map +1 -1
- package/dist/preprocessor/Manifest.d.ts +1 -1
- package/dist/preprocessor/Manifest.js +3 -3
- package/dist/preprocessor/Manifest.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 +5 -6
- package/dist/preprocessor/Preprocessor.js +15 -11
- package/dist/preprocessor/Preprocessor.js.map +1 -1
- 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 +7 -1
- package/dist/preprocessor/PreprocessorParser.js.map +1 -1
- package/dist/preprocessor/PreprocessorParser.spec.js +13 -13
- package/dist/preprocessor/PreprocessorParser.spec.js.map +1 -1
- package/dist/roku-types/data.json +6544 -10519
- package/dist/roku-types/index.d.ts +662 -1934
- package/dist/types/ArrayType.d.ts +10 -9
- package/dist/types/ArrayType.js +65 -60
- package/dist/types/ArrayType.js.map +1 -1
- package/dist/types/ArrayType.spec.js +36 -68
- package/dist/types/ArrayType.spec.js.map +1 -1
- package/dist/types/AssociativeArrayType.d.ts +11 -0
- package/dist/types/AssociativeArrayType.js +52 -0
- package/dist/types/AssociativeArrayType.js.map +1 -0
- package/dist/types/BaseFunctionType.d.ts +9 -0
- package/dist/types/BaseFunctionType.js +25 -0
- package/dist/types/BaseFunctionType.js.map +1 -0
- package/dist/types/BooleanType.d.ts +8 -5
- package/dist/types/BooleanType.js +14 -7
- package/dist/types/BooleanType.js.map +1 -1
- package/dist/types/BooleanType.spec.js +10 -6
- package/dist/types/BooleanType.spec.js.map +1 -1
- package/dist/types/BscType.d.ts +32 -21
- package/dist/types/BscType.js +118 -21
- package/dist/types/BscType.js.map +1 -1
- package/dist/types/BscTypeKind.d.ts +25 -0
- package/dist/types/BscTypeKind.js +30 -0
- package/dist/types/BscTypeKind.js.map +1 -0
- package/dist/types/BuiltInInterfaceAdder.d.ts +23 -0
- package/dist/types/BuiltInInterfaceAdder.js +164 -0
- package/dist/types/BuiltInInterfaceAdder.js.map +1 -0
- package/dist/types/BuiltInInterfaceAdder.spec.d.ts +1 -0
- package/dist/types/BuiltInInterfaceAdder.spec.js +116 -0
- package/dist/types/BuiltInInterfaceAdder.spec.js.map +1 -0
- package/dist/types/ClassType.d.ts +17 -0
- package/dist/types/ClassType.js +58 -0
- package/dist/types/ClassType.js.map +1 -0
- package/dist/types/ClassType.spec.d.ts +1 -0
- package/dist/types/ClassType.spec.js +77 -0
- package/dist/types/ClassType.spec.js.map +1 -0
- package/dist/types/ComponentType.d.ts +26 -0
- package/dist/types/ComponentType.js +83 -0
- package/dist/types/ComponentType.js.map +1 -0
- package/dist/types/DoubleType.d.ts +8 -5
- package/dist/types/DoubleType.js +18 -16
- package/dist/types/DoubleType.js.map +1 -1
- package/dist/types/DoubleType.spec.js +12 -6
- package/dist/types/DoubleType.spec.js.map +1 -1
- package/dist/types/DynamicType.d.ts +10 -5
- package/dist/types/DynamicType.js +16 -4
- package/dist/types/DynamicType.js.map +1 -1
- package/dist/types/DynamicType.spec.js +16 -5
- package/dist/types/DynamicType.spec.js.map +1 -1
- package/dist/types/EnumType.d.ts +30 -12
- package/dist/types/EnumType.js +43 -17
- package/dist/types/EnumType.js.map +1 -1
- package/dist/types/EnumType.spec.d.ts +1 -0
- package/dist/types/EnumType.spec.js +33 -0
- package/dist/types/EnumType.spec.js.map +1 -0
- package/dist/types/FloatType.d.ts +8 -5
- package/dist/types/FloatType.js +18 -16
- package/dist/types/FloatType.js.map +1 -1
- package/dist/types/FloatType.spec.js +4 -6
- package/dist/types/FloatType.spec.js.map +1 -1
- package/dist/types/FunctionType.d.ts +13 -8
- package/dist/types/FunctionType.js +30 -14
- package/dist/types/FunctionType.js.map +1 -1
- package/dist/types/InheritableType.d.ts +28 -0
- package/dist/types/InheritableType.js +152 -0
- package/dist/types/InheritableType.js.map +1 -0
- package/dist/types/IntegerType.d.ts +8 -5
- package/dist/types/IntegerType.js +18 -16
- package/dist/types/IntegerType.js.map +1 -1
- package/dist/types/IntegerType.spec.js +8 -6
- package/dist/types/IntegerType.spec.js.map +1 -1
- package/dist/types/InterfaceType.d.ts +12 -13
- package/dist/types/InterfaceType.js +20 -48
- package/dist/types/InterfaceType.js.map +1 -1
- package/dist/types/InterfaceType.spec.js +90 -56
- package/dist/types/InterfaceType.spec.js.map +1 -1
- package/dist/types/InvalidType.d.ts +7 -5
- package/dist/types/InvalidType.js +13 -7
- package/dist/types/InvalidType.js.map +1 -1
- package/dist/types/InvalidType.spec.js +8 -6
- package/dist/types/InvalidType.spec.js.map +1 -1
- package/dist/types/LongIntegerType.d.ts +8 -5
- package/dist/types/LongIntegerType.js +17 -15
- package/dist/types/LongIntegerType.js.map +1 -1
- package/dist/types/LongIntegerType.spec.js +10 -6
- package/dist/types/LongIntegerType.spec.js.map +1 -1
- package/dist/types/NamespaceType.d.ts +12 -0
- package/dist/types/NamespaceType.js +28 -0
- package/dist/types/NamespaceType.js.map +1 -0
- package/dist/types/ObjectType.d.ts +9 -8
- package/dist/types/ObjectType.js +21 -11
- package/dist/types/ObjectType.js.map +1 -1
- package/dist/types/ObjectType.spec.js +3 -3
- package/dist/types/ObjectType.spec.js.map +1 -1
- package/dist/types/ReferenceType.d.ts +63 -0
- package/dist/types/ReferenceType.js +423 -0
- package/dist/types/ReferenceType.js.map +1 -0
- package/dist/types/ReferenceType.spec.d.ts +1 -0
- package/dist/types/ReferenceType.spec.js +137 -0
- package/dist/types/ReferenceType.spec.js.map +1 -0
- package/dist/types/StringType.d.ts +11 -5
- package/dist/types/StringType.js +18 -7
- package/dist/types/StringType.js.map +1 -1
- package/dist/types/StringType.spec.js +3 -5
- package/dist/types/StringType.spec.js.map +1 -1
- package/dist/types/TypedFunctionType.d.ts +22 -17
- package/dist/types/TypedFunctionType.js +78 -60
- package/dist/types/TypedFunctionType.js.map +1 -1
- package/dist/types/TypedFunctionType.spec.js +105 -20
- package/dist/types/TypedFunctionType.spec.js.map +1 -1
- package/dist/types/UninitializedType.d.ts +8 -6
- package/dist/types/UninitializedType.js +13 -7
- package/dist/types/UninitializedType.js.map +1 -1
- package/dist/types/UnionType.d.ts +20 -0
- package/dist/types/UnionType.js +123 -0
- package/dist/types/UnionType.js.map +1 -0
- package/dist/types/UnionType.spec.d.ts +1 -0
- package/dist/types/UnionType.spec.js +130 -0
- package/dist/types/UnionType.spec.js.map +1 -0
- package/dist/types/VoidType.d.ts +8 -5
- package/dist/types/VoidType.js +14 -7
- package/dist/types/VoidType.js.map +1 -1
- package/dist/types/VoidType.spec.js +3 -3
- package/dist/types/VoidType.spec.js.map +1 -1
- package/dist/types/helper.spec.d.ts +1 -0
- package/dist/types/helper.spec.js +145 -0
- package/dist/types/helper.spec.js.map +1 -0
- package/dist/types/helpers.d.ts +19 -37
- package/dist/types/helpers.js +159 -99
- package/dist/types/helpers.js.map +1 -1
- package/dist/types/index.d.ts +22 -0
- package/dist/types/index.js +39 -0
- package/dist/types/index.js.map +1 -0
- package/dist/util.d.ts +167 -131
- package/dist/util.js +890 -350
- package/dist/util.js.map +1 -1
- package/dist/validators/ClassValidator.d.ts +7 -25
- package/dist/validators/ClassValidator.js +103 -194
- package/dist/validators/ClassValidator.js.map +1 -1
- package/package.json +165 -149
- package/dist/astUtils/AstEditor.js.map +0 -1
- package/dist/astUtils/AstEditor.spec.js.map +0 -1
- package/dist/bscPlugin/transpile/BrsFilePreTranspileProcessor.d.ts +0 -8
- package/dist/bscPlugin/transpile/BrsFilePreTranspileProcessor.js +0 -40
- package/dist/bscPlugin/transpile/BrsFilePreTranspileProcessor.js.map +0 -1
- package/dist/bscPlugin/transpile/BrsFilePreTranspileProcessor.spec.js +0 -32
- package/dist/bscPlugin/transpile/BrsFilePreTranspileProcessor.spec.js.map +0 -1
- package/dist/parser/SGTypes.spec.js +0 -351
- package/dist/parser/SGTypes.spec.js.map +0 -1
- package/dist/types/CustomType.d.ts +0 -12
- package/dist/types/CustomType.js +0 -44
- package/dist/types/CustomType.js.map +0 -1
- package/dist/types/LazyType.d.ts +0 -16
- package/dist/types/LazyType.js +0 -44
- package/dist/types/LazyType.js.map +0 -1
- /package/dist/astUtils/{AstEditor.spec.d.ts → Editor.spec.d.ts} +0 -0
- /package/dist/bscPlugin/{transpile/BrsFilePreTranspileProcessor.spec.d.ts → completions/CompletionsProcessor.spec.d.ts} +0 -0
- /package/dist/{parser/SGTypes.spec.d.ts → bscPlugin/hover/HoverProcessor.spec.d.ts} +0 -0
package/dist/parser/SGTypes.js
CHANGED
|
@@ -1,12 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.SGAst = exports.SGComponent = exports.SGInterface = exports.SGInterfaceFunction = exports.getBscTypeFromSGFieldType = exports.SGFieldTypes = exports.SGInterfaceField = exports.SGScript = exports.SGCustomization = exports.SGChildren = exports.SGNode = exports.SGProlog = exports.
|
|
3
|
+
exports.SGAst = exports.SGComponent = exports.SGInterface = exports.SGInterfaceFunction = exports.getBscTypeFromSGFieldType = exports.SGFieldTypes = exports.SGFieldType = exports.SGInterfaceField = exports.SGScript = exports.SGCustomization = exports.SGChildren = exports.SGNode = exports.SGProlog = exports.SGElement = exports.SGAttribute = void 0;
|
|
4
4
|
const source_map_1 = require("source-map");
|
|
5
5
|
const creators_1 = require("../astUtils/creators");
|
|
6
6
|
const BooleanType_1 = require("../types/BooleanType");
|
|
7
7
|
const DynamicType_1 = require("../types/DynamicType");
|
|
8
8
|
const FloatType_1 = require("../types/FloatType");
|
|
9
|
-
const TypedFunctionType_1 = require("../types/TypedFunctionType");
|
|
10
9
|
const IntegerType_1 = require("../types/IntegerType");
|
|
11
10
|
const LongIntegerType_1 = require("../types/LongIntegerType");
|
|
12
11
|
const StringType_1 = require("../types/StringType");
|
|
@@ -60,10 +59,13 @@ class SGAttribute {
|
|
|
60
59
|
}
|
|
61
60
|
return new source_map_1.SourceNode(null, null, null, result);
|
|
62
61
|
}
|
|
62
|
+
clone() {
|
|
63
|
+
return new SGAttribute(Object.assign({}, this.tokens.key), Object.assign({}, this.tokens.equals), Object.assign({}, this.tokens.openingQuote), Object.assign({}, this.tokens.value), Object.assign({}, this.tokens.closingQuote));
|
|
64
|
+
}
|
|
63
65
|
}
|
|
64
66
|
exports.SGAttribute = SGAttribute;
|
|
65
|
-
class
|
|
66
|
-
constructor(startTagOpen, startTagName, attributes = [], startTagClose,
|
|
67
|
+
class SGElement {
|
|
68
|
+
constructor(startTagOpen, startTagName, attributes = [], startTagClose, elements = [], endTagOpen, endTagName, endTagClose) {
|
|
67
69
|
this.tokens = {};
|
|
68
70
|
/**
|
|
69
71
|
* Array of attributes found on this tag
|
|
@@ -72,13 +74,13 @@ class SGTag {
|
|
|
72
74
|
/**
|
|
73
75
|
* The array of direct children AST elements of this AST node
|
|
74
76
|
*/
|
|
75
|
-
this.
|
|
77
|
+
this.elements = [];
|
|
76
78
|
this._range = null;
|
|
77
79
|
this.tokens.startTagOpen = startTagOpen;
|
|
78
80
|
this.tokens.startTagName = startTagName;
|
|
79
81
|
this.attributes = attributes;
|
|
80
82
|
this.tokens.startTagClose = startTagClose;
|
|
81
|
-
this.
|
|
83
|
+
this.elements = elements;
|
|
82
84
|
this.tokens.endTagOpen = endTagOpen;
|
|
83
85
|
this.tokens.endTagName = endTagName;
|
|
84
86
|
this.tokens.endTagClose = endTagClose;
|
|
@@ -86,7 +88,7 @@ class SGTag {
|
|
|
86
88
|
get range() {
|
|
87
89
|
var _a, _b, _c, _d;
|
|
88
90
|
if (!this._range) {
|
|
89
|
-
this._range = util_1.default.createBoundingRange(this.tokens.startTagOpen, this.tokens.startTagName, (_a = this.attributes) === null || _a === void 0 ? void 0 : _a[((_b = this.attributes) === null || _b === void 0 ? void 0 : _b.length) - 1], this.tokens.startTagClose, (_c = this.
|
|
91
|
+
this._range = util_1.default.createBoundingRange(this.tokens.startTagOpen, this.tokens.startTagName, (_a = this.attributes) === null || _a === void 0 ? void 0 : _a[((_b = this.attributes) === null || _b === void 0 ? void 0 : _b.length) - 1], this.tokens.startTagClose, (_c = this.elements) === null || _c === void 0 ? void 0 : _c[((_d = this.elements) === null || _d === void 0 ? void 0 : _d.length) - 1], this.tokens.endTagOpen, this.tokens.endTagName, this.tokens.endTagClose);
|
|
90
92
|
}
|
|
91
93
|
return this._range;
|
|
92
94
|
}
|
|
@@ -94,7 +96,8 @@ class SGTag {
|
|
|
94
96
|
* Is this a self-closing tag?
|
|
95
97
|
*/
|
|
96
98
|
get isSelfClosing() {
|
|
97
|
-
|
|
99
|
+
var _a;
|
|
100
|
+
return this.tokens.startTagClose && ((_a = this.tokens.startTagClose) === null || _a === void 0 ? void 0 : _a.text) !== '>';
|
|
98
101
|
}
|
|
99
102
|
get id() {
|
|
100
103
|
return this.getAttributeValue('id');
|
|
@@ -103,7 +106,7 @@ class SGTag {
|
|
|
103
106
|
this.setAttributeValue('id', value);
|
|
104
107
|
}
|
|
105
108
|
/**
|
|
106
|
-
* Get the
|
|
109
|
+
* Get the name of this tag.
|
|
107
110
|
*/
|
|
108
111
|
get tagName() {
|
|
109
112
|
var _a;
|
|
@@ -114,10 +117,10 @@ class SGTag {
|
|
|
114
117
|
* This does not step into children's children.
|
|
115
118
|
*
|
|
116
119
|
*/
|
|
117
|
-
|
|
120
|
+
getElementsByTagName(tagName) {
|
|
118
121
|
const result = [];
|
|
119
122
|
const lowerTagName = tagName.toLowerCase();
|
|
120
|
-
for (const el of this.
|
|
123
|
+
for (const el of this.elements) {
|
|
121
124
|
if (el.tokens.startTagName.text.toLowerCase() === lowerTagName) {
|
|
122
125
|
result.push(el);
|
|
123
126
|
}
|
|
@@ -128,7 +131,7 @@ class SGTag {
|
|
|
128
131
|
* Add a child to the end of the children array
|
|
129
132
|
*/
|
|
130
133
|
addChild(tag) {
|
|
131
|
-
this.
|
|
134
|
+
this.elements.push(tag);
|
|
132
135
|
return tag;
|
|
133
136
|
}
|
|
134
137
|
/**
|
|
@@ -136,9 +139,9 @@ class SGTag {
|
|
|
136
139
|
* @returns true if node was found and removed, false if the node wasn't there and thus nothing was done
|
|
137
140
|
*/
|
|
138
141
|
removeChild(tag) {
|
|
139
|
-
const idx = this.
|
|
142
|
+
const idx = this.elements.indexOf(tag);
|
|
140
143
|
if (idx > -1) {
|
|
141
|
-
this.
|
|
144
|
+
this.elements.splice(idx, 1);
|
|
142
145
|
return true;
|
|
143
146
|
}
|
|
144
147
|
return false;
|
|
@@ -150,7 +153,7 @@ class SGTag {
|
|
|
150
153
|
return !!this.getAttribute(name);
|
|
151
154
|
}
|
|
152
155
|
/**
|
|
153
|
-
* Get an SGAttribute by its name
|
|
156
|
+
* Get an SGAttribute by its name (case INsensitive)
|
|
154
157
|
*/
|
|
155
158
|
getAttribute(name) {
|
|
156
159
|
var _a;
|
|
@@ -172,16 +175,21 @@ class SGTag {
|
|
|
172
175
|
* Set an attribute value by its name. If no attribute exists with this name, it is created
|
|
173
176
|
*/
|
|
174
177
|
setAttributeValue(name, value) {
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
this.
|
|
178
|
+
if (value === undefined) {
|
|
179
|
+
this.removeAttribute(name);
|
|
180
|
+
}
|
|
181
|
+
else {
|
|
182
|
+
let attr = this.getAttribute(name);
|
|
183
|
+
//create an attribute with this name if we don't have one yet
|
|
184
|
+
if (!attr) {
|
|
185
|
+
attr = (0, creators_1.createSGAttribute)(name, value);
|
|
186
|
+
this.attributes.push(attr);
|
|
187
|
+
}
|
|
188
|
+
attr.value = value;
|
|
180
189
|
}
|
|
181
|
-
attr.value = value;
|
|
182
190
|
}
|
|
183
191
|
/**
|
|
184
|
-
* Remove an attribute by its name
|
|
192
|
+
* Remove an attribute by its name. DO NOT USE this to edit AST (use ASTEditor)
|
|
185
193
|
* @returns true if an attribute was found and removed. False if no attribute was found
|
|
186
194
|
*/
|
|
187
195
|
removeAttribute(name) {
|
|
@@ -218,7 +226,7 @@ class SGTag {
|
|
|
218
226
|
state.newline
|
|
219
227
|
];
|
|
220
228
|
state.blockDepth++;
|
|
221
|
-
for (const child of this.
|
|
229
|
+
for (const child of this.elements) {
|
|
222
230
|
chunks.push(state.indentText, child.transpile(state));
|
|
223
231
|
}
|
|
224
232
|
state.blockDepth--;
|
|
@@ -234,20 +242,20 @@ class SGTag {
|
|
|
234
242
|
return new source_map_1.SourceNode(null, null, null, chunks);
|
|
235
243
|
}
|
|
236
244
|
}
|
|
237
|
-
exports.
|
|
238
|
-
class SGProlog extends
|
|
245
|
+
exports.SGElement = SGElement;
|
|
246
|
+
class SGProlog extends SGElement {
|
|
239
247
|
}
|
|
240
248
|
exports.SGProlog = SGProlog;
|
|
241
|
-
class SGNode extends
|
|
249
|
+
class SGNode extends SGElement {
|
|
242
250
|
}
|
|
243
251
|
exports.SGNode = SGNode;
|
|
244
|
-
class SGChildren extends
|
|
252
|
+
class SGChildren extends SGElement {
|
|
245
253
|
}
|
|
246
254
|
exports.SGChildren = SGChildren;
|
|
247
|
-
class SGCustomization extends
|
|
255
|
+
class SGCustomization extends SGElement {
|
|
248
256
|
}
|
|
249
257
|
exports.SGCustomization = SGCustomization;
|
|
250
|
-
class SGScript extends
|
|
258
|
+
class SGScript extends SGElement {
|
|
251
259
|
get type() {
|
|
252
260
|
return this.getAttributeValue('type');
|
|
253
261
|
}
|
|
@@ -283,12 +291,14 @@ class SGScript extends SGTag {
|
|
|
283
291
|
for (const attr of attributes) {
|
|
284
292
|
const lowerKey = (_a = attr.tokens.key) === null || _a === void 0 ? void 0 : _a.text.toLowerCase();
|
|
285
293
|
if (lowerKey === 'uri' && bsExtensionRegexp.exec((_b = attr.tokens.value) === null || _b === void 0 ? void 0 : _b.text)) {
|
|
286
|
-
|
|
294
|
+
const clone = attr.clone();
|
|
295
|
+
clone.tokens.value.text.replace(bsExtensionRegexp, '.brs');
|
|
296
|
+
modifiedAttributes.push(clone);
|
|
287
297
|
}
|
|
288
298
|
else if (lowerKey === 'type') {
|
|
289
299
|
foundType = true;
|
|
290
300
|
if ((_c = attr.tokens.value) === null || _c === void 0 ? void 0 : _c.text.toLowerCase().endsWith('brighterscript')) {
|
|
291
|
-
modifiedAttributes.push(
|
|
301
|
+
modifiedAttributes.push(attr.clone());
|
|
292
302
|
}
|
|
293
303
|
else {
|
|
294
304
|
modifiedAttributes.push(attr);
|
|
@@ -305,7 +315,7 @@ class SGScript extends SGTag {
|
|
|
305
315
|
}
|
|
306
316
|
}
|
|
307
317
|
exports.SGScript = SGScript;
|
|
308
|
-
class SGInterfaceField extends
|
|
318
|
+
class SGInterfaceField extends SGElement {
|
|
309
319
|
get type() {
|
|
310
320
|
return this.getAttributeValue('type');
|
|
311
321
|
}
|
|
@@ -336,35 +346,56 @@ class SGInterfaceField extends SGTag {
|
|
|
336
346
|
set alwaysNotify(value) {
|
|
337
347
|
this.setAttributeValue('alwaysNotify', value);
|
|
338
348
|
}
|
|
339
|
-
get bscType() {
|
|
340
|
-
return getBscTypeFromSGFieldType(this.type);
|
|
341
|
-
}
|
|
342
349
|
}
|
|
343
350
|
exports.SGInterfaceField = SGInterfaceField;
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
];
|
|
351
|
+
var SGFieldType;
|
|
352
|
+
(function (SGFieldType) {
|
|
353
|
+
SGFieldType["integer"] = "integer";
|
|
354
|
+
SGFieldType["int"] = "int";
|
|
355
|
+
SGFieldType["longinteger"] = "longinteger";
|
|
356
|
+
SGFieldType["float"] = "float";
|
|
357
|
+
SGFieldType["string"] = "string";
|
|
358
|
+
SGFieldType["str"] = "str";
|
|
359
|
+
SGFieldType["boolean"] = "boolean";
|
|
360
|
+
SGFieldType["bool"] = "bool";
|
|
361
|
+
SGFieldType["vector2d"] = "vector2d";
|
|
362
|
+
SGFieldType["color"] = "color";
|
|
363
|
+
SGFieldType["time"] = "time";
|
|
364
|
+
SGFieldType["uri"] = "uri";
|
|
365
|
+
SGFieldType["node"] = "node";
|
|
366
|
+
SGFieldType["floatarray"] = "floatarray";
|
|
367
|
+
SGFieldType["intarray"] = "intarray";
|
|
368
|
+
SGFieldType["boolarray"] = "boolarray";
|
|
369
|
+
SGFieldType["stringarray"] = "stringarray";
|
|
370
|
+
SGFieldType["vector2darray"] = "vector2darray";
|
|
371
|
+
SGFieldType["colorarray"] = "colorarray";
|
|
372
|
+
SGFieldType["timearray"] = "timearray";
|
|
373
|
+
SGFieldType["nodearray"] = "nodearray";
|
|
374
|
+
SGFieldType["assocarray"] = "assocarray";
|
|
375
|
+
SGFieldType["array"] = "array";
|
|
376
|
+
SGFieldType["roarray"] = "roarray";
|
|
377
|
+
SGFieldType["rect2d"] = "rect2d";
|
|
378
|
+
SGFieldType["rect2darray"] = "rect2darray";
|
|
379
|
+
})(SGFieldType = exports.SGFieldType || (exports.SGFieldType = {}));
|
|
380
|
+
exports.SGFieldTypes = Object.keys(SGFieldType);
|
|
350
381
|
function getBscTypeFromSGFieldType(sgFieldType) {
|
|
351
382
|
switch (sgFieldType) {
|
|
352
|
-
case
|
|
353
|
-
case
|
|
383
|
+
case SGFieldType.integer:
|
|
384
|
+
case SGFieldType.int: {
|
|
354
385
|
return new IntegerType_1.IntegerType();
|
|
355
386
|
}
|
|
356
|
-
case
|
|
387
|
+
case SGFieldType.longinteger: {
|
|
357
388
|
return new LongIntegerType_1.LongIntegerType();
|
|
358
389
|
}
|
|
359
|
-
case
|
|
390
|
+
case SGFieldType.float: {
|
|
360
391
|
return new FloatType_1.FloatType();
|
|
361
392
|
}
|
|
362
|
-
case
|
|
363
|
-
case
|
|
393
|
+
case SGFieldType.string:
|
|
394
|
+
case SGFieldType.str: {
|
|
364
395
|
return new StringType_1.StringType();
|
|
365
396
|
}
|
|
366
|
-
case
|
|
367
|
-
case
|
|
397
|
+
case SGFieldType.boolean:
|
|
398
|
+
case SGFieldType.bool: {
|
|
368
399
|
return new BooleanType_1.BooleanType();
|
|
369
400
|
}
|
|
370
401
|
default: {
|
|
@@ -373,32 +404,26 @@ function getBscTypeFromSGFieldType(sgFieldType) {
|
|
|
373
404
|
}
|
|
374
405
|
}
|
|
375
406
|
exports.getBscTypeFromSGFieldType = getBscTypeFromSGFieldType;
|
|
376
|
-
class SGInterfaceFunction extends
|
|
407
|
+
class SGInterfaceFunction extends SGElement {
|
|
377
408
|
get name() {
|
|
378
409
|
return this.getAttributeValue('name');
|
|
379
410
|
}
|
|
380
411
|
set name(value) {
|
|
381
412
|
this.setAttributeValue('name', value);
|
|
382
413
|
}
|
|
383
|
-
get functionType() {
|
|
384
|
-
const funcType = new TypedFunctionType_1.TypedFunctionType(new DynamicType_1.DynamicType());
|
|
385
|
-
funcType.name = this.name;
|
|
386
|
-
// TODO TYPES: Need to get parameter count/type for these functions for @callFunc usage
|
|
387
|
-
return funcType;
|
|
388
|
-
}
|
|
389
414
|
}
|
|
390
415
|
exports.SGInterfaceFunction = SGInterfaceFunction;
|
|
391
|
-
class SGInterface extends
|
|
416
|
+
class SGInterface extends SGElement {
|
|
392
417
|
get fields() {
|
|
393
|
-
return this.
|
|
418
|
+
return this.getElementsByTagName('field');
|
|
394
419
|
}
|
|
395
420
|
get functions() {
|
|
396
|
-
return this.
|
|
421
|
+
return this.getElementsByTagName('function');
|
|
397
422
|
}
|
|
398
423
|
get members() {
|
|
399
424
|
var _a;
|
|
400
425
|
const result = [];
|
|
401
|
-
for (const node of this.
|
|
426
|
+
for (const node of this.elements) {
|
|
402
427
|
const tagName = (_a = node.tagName) === null || _a === void 0 ? void 0 : _a.toLowerCase();
|
|
403
428
|
if (tagName === 'field' || tagName === 'function') {
|
|
404
429
|
result.push(node);
|
|
@@ -411,7 +436,7 @@ class SGInterface extends SGTag {
|
|
|
411
436
|
*/
|
|
412
437
|
hasField(id) {
|
|
413
438
|
var _a;
|
|
414
|
-
for (const node of this.
|
|
439
|
+
for (const node of this.elements) {
|
|
415
440
|
const tagName = (_a = node.tagName) === null || _a === void 0 ? void 0 : _a.toLowerCase();
|
|
416
441
|
if (tagName === 'field' && node.id === id) {
|
|
417
442
|
return true;
|
|
@@ -424,7 +449,7 @@ class SGInterface extends SGTag {
|
|
|
424
449
|
*/
|
|
425
450
|
hasFunction(name) {
|
|
426
451
|
var _a;
|
|
427
|
-
for (const node of this.
|
|
452
|
+
for (const node of this.elements) {
|
|
428
453
|
const tagName = (_a = node.tagName) === null || _a === void 0 ? void 0 : _a.toLowerCase();
|
|
429
454
|
if (tagName === 'function' && node.name === name) {
|
|
430
455
|
return true;
|
|
@@ -463,11 +488,10 @@ class SGInterface extends SGTag {
|
|
|
463
488
|
*/
|
|
464
489
|
removeField(id) {
|
|
465
490
|
var _a;
|
|
466
|
-
for (let i = 0; i < this.
|
|
467
|
-
const node = this.
|
|
468
|
-
|
|
469
|
-
|
|
470
|
-
this.childNodes.splice(i, 1);
|
|
491
|
+
for (let i = 0; i < this.elements.length; i++) {
|
|
492
|
+
const node = this.elements[i];
|
|
493
|
+
if (((_a = node.tagName) === null || _a === void 0 ? void 0 : _a.toLowerCase()) === 'field' && node.id === id) {
|
|
494
|
+
this.elements.splice(i, 1);
|
|
471
495
|
return true;
|
|
472
496
|
}
|
|
473
497
|
}
|
|
@@ -477,7 +501,7 @@ class SGInterface extends SGTag {
|
|
|
477
501
|
* Get the interface function with the specified name
|
|
478
502
|
*/
|
|
479
503
|
getFunction(name) {
|
|
480
|
-
return this.functions.find(
|
|
504
|
+
return this.functions.find(func => func.name === name);
|
|
481
505
|
}
|
|
482
506
|
/**
|
|
483
507
|
* Add or replace a function on the interface
|
|
@@ -495,11 +519,10 @@ class SGInterface extends SGTag {
|
|
|
495
519
|
*/
|
|
496
520
|
removeFunction(name) {
|
|
497
521
|
var _a;
|
|
498
|
-
for (let i = 0; i < this.
|
|
499
|
-
const node = this.
|
|
500
|
-
|
|
501
|
-
|
|
502
|
-
this.childNodes.splice(i, 1);
|
|
522
|
+
for (let i = 0; i < this.elements.length; i++) {
|
|
523
|
+
const node = this.elements[i];
|
|
524
|
+
if (((_a = node.tagName) === null || _a === void 0 ? void 0 : _a.toLowerCase()) === 'function' && node.getAttributeValue('name') === name) {
|
|
525
|
+
this.elements.splice(i, 1);
|
|
503
526
|
return true;
|
|
504
527
|
}
|
|
505
528
|
}
|
|
@@ -507,48 +530,95 @@ class SGInterface extends SGTag {
|
|
|
507
530
|
}
|
|
508
531
|
}
|
|
509
532
|
exports.SGInterface = SGInterface;
|
|
510
|
-
|
|
533
|
+
/**
|
|
534
|
+
* The `<component>` element in SceneGraph. Not to be confused about usages of components like `<Rectangle>`, those are considered `SGNode` instances.
|
|
535
|
+
*/
|
|
536
|
+
class SGComponent extends SGElement {
|
|
511
537
|
/**
|
|
512
538
|
* Get all the <Field> and <Function> elements across all <Interface> nodes in this component
|
|
513
539
|
*/
|
|
514
540
|
get interfaceMembers() {
|
|
515
541
|
const members = [];
|
|
516
|
-
for (const ifaceNode of this.
|
|
542
|
+
for (const ifaceNode of this.getElementsByTagName('interface')) {
|
|
517
543
|
members.push(...ifaceNode.members);
|
|
518
544
|
}
|
|
519
545
|
return members;
|
|
520
546
|
}
|
|
521
|
-
get
|
|
522
|
-
return this.
|
|
547
|
+
get scriptElements() {
|
|
548
|
+
return this.getElementsByTagName('script');
|
|
523
549
|
}
|
|
524
550
|
/**
|
|
525
|
-
* Get the
|
|
551
|
+
* Get the <interface> element from this component (if present), or undefined if not.
|
|
552
|
+
* NOTE: Roku supports and merges multiple <interface> elements in a component, but this
|
|
553
|
+
* property points to the FIRST one. If you need to check whether a member exists,
|
|
554
|
+
* look through `this.interfaceMemebers` instead.
|
|
555
|
+
*/
|
|
556
|
+
get interfaceElement() {
|
|
557
|
+
return this.getElementsByTagName('interface')[0];
|
|
558
|
+
}
|
|
559
|
+
/**
|
|
560
|
+
* Get the `<children>` element of this component. (not to be confused with the AST `childTags` property).
|
|
526
561
|
* If there are multiope `<children>` elements, this function will return the last `<children>` tag because that's what Roku devices do.
|
|
527
562
|
*/
|
|
528
|
-
get
|
|
529
|
-
const children = this.
|
|
563
|
+
get childrenElement() {
|
|
564
|
+
const children = this.getElementsByTagName('children');
|
|
530
565
|
return children[children.length - 1];
|
|
531
566
|
}
|
|
532
|
-
get
|
|
533
|
-
return this.
|
|
567
|
+
get customizationElements() {
|
|
568
|
+
return this.getElementsByTagName('customization');
|
|
534
569
|
}
|
|
570
|
+
/**
|
|
571
|
+
* Specifies the name of the component, that allows you to create the component in your application.
|
|
572
|
+
* For example, if the name of the component is `CastMemberInfo`, you could create instances of the component declaratively
|
|
573
|
+
* in a child node element of a component `<children>` element (`<CastMemberInfo/>`), or using BrightScript in a `<script>`
|
|
574
|
+
* element (`createObject("roSGNode","CastMemberInfo")`).
|
|
575
|
+
*
|
|
576
|
+
* The name attribute is case-sensitive. You cannot successfully create or declare a component unless the component name exactly
|
|
577
|
+
* matches the name attribute, including case. Also be aware that two components with the exact same name in the same application
|
|
578
|
+
* components directory will have undefined and generally undesirable results if you attempt to create a component object with that name in the application.
|
|
579
|
+
*/
|
|
535
580
|
get name() {
|
|
536
581
|
return this.getAttributeValue('name');
|
|
537
582
|
}
|
|
538
583
|
set name(value) {
|
|
539
584
|
this.setAttributeValue('name', value);
|
|
540
585
|
}
|
|
586
|
+
/**
|
|
587
|
+
* Specifies the name of the built-in or extended SceneGraph scene or node class whose functionality is extended by this component.
|
|
588
|
+
*
|
|
589
|
+
* For example, `extends="Group"` specifies that the component has all of the functionality of the Group node class (it can have child nodes, has translation/scale/rotation fields, and so forth).
|
|
590
|
+
*
|
|
591
|
+
* By default, a component extends the Group node class.
|
|
592
|
+
*/
|
|
541
593
|
get extends() {
|
|
542
594
|
return this.getAttributeValue('extends');
|
|
543
595
|
}
|
|
544
596
|
set extends(value) {
|
|
545
597
|
this.setAttributeValue('extends', value);
|
|
546
598
|
}
|
|
599
|
+
/**
|
|
600
|
+
* Specifies the ID of a node declared in the XML file to have the initial remote control focus when the component is instantiated.
|
|
601
|
+
*/
|
|
602
|
+
get initialFocus() {
|
|
603
|
+
return this.getAttributeValue('initialFocus');
|
|
604
|
+
}
|
|
605
|
+
set initialFocus(value) {
|
|
606
|
+
this.setAttributeValue('initialFocus', value);
|
|
607
|
+
}
|
|
608
|
+
/**
|
|
609
|
+
* Specifies the version of the SceneGraph API. The default is 1.0 if not specified.
|
|
610
|
+
*/
|
|
611
|
+
get version() {
|
|
612
|
+
return this.getAttributeValue('version');
|
|
613
|
+
}
|
|
614
|
+
set version(value) {
|
|
615
|
+
this.setAttributeValue('version', value);
|
|
616
|
+
}
|
|
547
617
|
/**
|
|
548
618
|
* Does the specified field exist in the component interface?
|
|
549
619
|
*/
|
|
550
620
|
hasInterfaceField(id) {
|
|
551
|
-
for (const ifaceNode of this.
|
|
621
|
+
for (const ifaceNode of this.getElementsByTagName('interface')) {
|
|
552
622
|
if (ifaceNode.hasField(id)) {
|
|
553
623
|
return true;
|
|
554
624
|
}
|
|
@@ -559,7 +629,7 @@ class SGComponent extends SGTag {
|
|
|
559
629
|
* Does the specified function exist in the component interface?
|
|
560
630
|
*/
|
|
561
631
|
hasInterfaceFunction(name) {
|
|
562
|
-
for (const ifaceNode of this.
|
|
632
|
+
for (const ifaceNode of this.getElementsByTagName('interface')) {
|
|
563
633
|
if (ifaceNode.hasFunction(name)) {
|
|
564
634
|
return true;
|
|
565
635
|
}
|
|
@@ -570,7 +640,7 @@ class SGComponent extends SGTag {
|
|
|
570
640
|
* Get an interface field with the specified name
|
|
571
641
|
*/
|
|
572
642
|
getInterfaceField(name) {
|
|
573
|
-
for (const ifaceNode of this.
|
|
643
|
+
for (const ifaceNode of this.getElementsByTagName('interface')) {
|
|
574
644
|
const field = ifaceNode.getField(name);
|
|
575
645
|
if (field) {
|
|
576
646
|
return field;
|
|
@@ -581,7 +651,7 @@ class SGComponent extends SGTag {
|
|
|
581
651
|
* Return the first SGInterface node found, or insert a new one then return it
|
|
582
652
|
*/
|
|
583
653
|
ensureInterfaceNode() {
|
|
584
|
-
for (const el of this.
|
|
654
|
+
for (const el of this.elements) {
|
|
585
655
|
if (el.tokens.startTagName.text.toLowerCase() === 'interface') {
|
|
586
656
|
return el;
|
|
587
657
|
}
|
|
@@ -609,7 +679,7 @@ class SGComponent extends SGTag {
|
|
|
609
679
|
* @returns true if a field was found and removed. Returns false if no field was found with that name
|
|
610
680
|
*/
|
|
611
681
|
removeInterfaceField(id) {
|
|
612
|
-
for (const ifaceNode of this.
|
|
682
|
+
for (const ifaceNode of this.getElementsByTagName('interface')) {
|
|
613
683
|
if (ifaceNode.removeField(id)) {
|
|
614
684
|
return true;
|
|
615
685
|
}
|
|
@@ -617,10 +687,10 @@ class SGComponent extends SGTag {
|
|
|
617
687
|
return false;
|
|
618
688
|
}
|
|
619
689
|
/**
|
|
620
|
-
|
|
621
|
-
|
|
690
|
+
* Get an interface field with the specified name
|
|
691
|
+
*/
|
|
622
692
|
getInterfaceFunction(name) {
|
|
623
|
-
for (const ifaceNode of this.
|
|
693
|
+
for (const ifaceNode of this.getElementsByTagName('interface')) {
|
|
624
694
|
const func = ifaceNode.getFunction(name);
|
|
625
695
|
if (func) {
|
|
626
696
|
return func;
|
|
@@ -632,7 +702,7 @@ class SGComponent extends SGTag {
|
|
|
632
702
|
* @returns true if a function was found and removed. Returns false if no function was found with that name
|
|
633
703
|
*/
|
|
634
704
|
removeInterfaceFunction(name) {
|
|
635
|
-
for (const ifaceNode of this.
|
|
705
|
+
for (const ifaceNode of this.getElementsByTagName('interface')) {
|
|
636
706
|
if (ifaceNode.removeFunction(name)) {
|
|
637
707
|
return true;
|
|
638
708
|
}
|
|
@@ -642,20 +712,20 @@ class SGComponent extends SGTag {
|
|
|
642
712
|
}
|
|
643
713
|
exports.SGComponent = SGComponent;
|
|
644
714
|
class SGAst {
|
|
645
|
-
constructor(
|
|
646
|
-
this.
|
|
647
|
-
this.
|
|
648
|
-
this.
|
|
715
|
+
constructor(prologElement, rootElement, componentElement) {
|
|
716
|
+
this.prologElement = prologElement;
|
|
717
|
+
this.rootElement = rootElement;
|
|
718
|
+
this.componentElement = componentElement;
|
|
649
719
|
}
|
|
650
720
|
transpile(state) {
|
|
651
721
|
const chunks = [];
|
|
652
722
|
//write XML prolog
|
|
653
|
-
if (this.
|
|
654
|
-
chunks.push(this.
|
|
723
|
+
if (this.prologElement) {
|
|
724
|
+
chunks.push(this.prologElement.transpile(state));
|
|
655
725
|
}
|
|
656
|
-
if (this.
|
|
726
|
+
if (this.componentElement) {
|
|
657
727
|
//write content
|
|
658
|
-
chunks.push(this.
|
|
728
|
+
chunks.push(this.componentElement.transpile(state));
|
|
659
729
|
}
|
|
660
730
|
return new source_map_1.SourceNode(null, null, null, chunks);
|
|
661
731
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SGTypes.js","sourceRoot":"","sources":["../../src/parser/SGTypes.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"SGTypes.js","sourceRoot":"","sources":["../../src/parser/SGTypes.ts"],"names":[],"mappings":"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"}
|