brighterscript 1.0.0-alpha.3 → 1.0.0-alpha.31
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 +1249 -285
- package/README.md +61 -131
- package/bsconfig.schema.json +68 -2
- 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 +42 -0
- package/dist/AstValidationSegmenter.js +232 -0
- package/dist/AstValidationSegmenter.js.map +1 -0
- package/dist/BsConfig.d.ts +51 -6
- package/dist/BusyStatusTracker.d.ts +31 -0
- package/dist/BusyStatusTracker.js +83 -0
- package/dist/BusyStatusTracker.js.map +1 -0
- package/dist/Cache.d.ts +5 -6
- package/dist/Cache.js +12 -11
- 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 +11 -2
- package/dist/CodeActionUtil.js +17 -3
- package/dist/CodeActionUtil.js.map +1 -1
- package/dist/CommentFlagProcessor.d.ts +7 -6
- package/dist/CommentFlagProcessor.js +10 -7
- package/dist/CommentFlagProcessor.js.map +1 -1
- package/dist/CrossScopeValidator.d.ts +67 -0
- package/dist/CrossScopeValidator.js +625 -0
- package/dist/CrossScopeValidator.js.map +1 -0
- package/dist/DependencyGraph.d.ts +8 -3
- package/dist/DependencyGraph.js +49 -16
- package/dist/DependencyGraph.js.map +1 -1
- package/dist/DiagnosticCollection.d.ts +5 -3
- package/dist/DiagnosticCollection.js +18 -16
- package/dist/DiagnosticCollection.js.map +1 -1
- package/dist/DiagnosticFilterer.d.ts +8 -4
- package/dist/DiagnosticFilterer.js +77 -44
- package/dist/DiagnosticFilterer.js.map +1 -1
- package/dist/DiagnosticManager.d.ts +56 -0
- package/dist/DiagnosticManager.js +218 -0
- package/dist/DiagnosticManager.js.map +1 -0
- package/dist/DiagnosticMessages.d.ts +187 -20
- package/dist/DiagnosticMessages.js +247 -29
- 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 +72 -47
- package/dist/LanguageServer.js +544 -312
- package/dist/LanguageServer.js.map +1 -1
- package/dist/Logger.d.ts +9 -10
- package/dist/Logger.js +36 -30
- package/dist/Logger.js.map +1 -1
- package/dist/PluginInterface.d.ts +29 -7
- package/dist/PluginInterface.js +90 -7
- package/dist/PluginInterface.js.map +1 -1
- package/dist/Program.d.ts +199 -100
- package/dist/Program.js +1056 -700
- package/dist/Program.js.map +1 -1
- package/dist/ProgramBuilder.d.ts +29 -18
- package/dist/ProgramBuilder.js +170 -132
- package/dist/ProgramBuilder.js.map +1 -1
- package/dist/Scope.d.ts +144 -109
- package/dist/Scope.js +533 -552
- package/dist/Scope.js.map +1 -1
- package/dist/SemanticTokenUtils.d.ts +14 -0
- package/dist/SemanticTokenUtils.js +85 -0
- package/dist/SemanticTokenUtils.js.map +1 -0
- package/dist/Stopwatch.d.ts +4 -0
- package/dist/Stopwatch.js +8 -1
- package/dist/Stopwatch.js.map +1 -1
- package/dist/SymbolTable.d.ts +91 -24
- package/dist/SymbolTable.js +290 -64
- package/dist/SymbolTable.js.map +1 -1
- package/dist/SymbolTypeFlag.d.ts +9 -0
- package/dist/SymbolTypeFlag.js +14 -0
- package/dist/SymbolTypeFlag.js.map +1 -0
- 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 +5 -15
- package/dist/XmlScope.js +35 -87
- package/dist/XmlScope.js.map +1 -1
- package/dist/astUtils/CachedLookups.d.ts +50 -0
- package/dist/astUtils/CachedLookups.js +331 -0
- package/dist/astUtils/CachedLookups.js.map +1 -0
- package/dist/astUtils/Editor.d.ts +69 -0
- package/dist/astUtils/Editor.js +245 -0
- package/dist/astUtils/Editor.js.map +1 -0
- package/dist/astUtils/Editor.spec.js +258 -0
- package/dist/astUtils/Editor.spec.js.map +1 -0
- package/dist/astUtils/creators.d.ts +33 -10
- package/dist/astUtils/creators.js +224 -30
- 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 +146 -82
- package/dist/astUtils/reflection.js +308 -132
- package/dist/astUtils/reflection.js.map +1 -1
- package/dist/astUtils/reflection.spec.js +267 -162
- package/dist/astUtils/reflection.spec.js.map +1 -1
- package/dist/astUtils/stackedVisitor.js.map +1 -1
- package/dist/astUtils/stackedVisitor.spec.js +14 -14
- package/dist/astUtils/stackedVisitor.spec.js.map +1 -1
- package/dist/astUtils/visitors.d.ts +115 -53
- package/dist/astUtils/visitors.js +70 -13
- package/dist/astUtils/visitors.js.map +1 -1
- package/dist/astUtils/visitors.spec.js +465 -51
- package/dist/astUtils/visitors.spec.js.map +1 -1
- package/dist/astUtils/xml.d.ts +9 -8
- package/dist/astUtils/xml.js +10 -5
- package/dist/astUtils/xml.js.map +1 -1
- package/dist/bscPlugin/BscPlugin.d.ts +22 -1
- package/dist/bscPlugin/BscPlugin.js +88 -0
- 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 +137 -0
- package/dist/bscPlugin/SignatureHelpUtil.js.map +1 -0
- package/dist/bscPlugin/codeActions/CodeActionsProcessor.d.ts +1 -1
- package/dist/bscPlugin/codeActions/CodeActionsProcessor.js +26 -17
- package/dist/bscPlugin/codeActions/CodeActionsProcessor.js.map +1 -1
- package/dist/bscPlugin/codeActions/CodeActionsProcessor.spec.js +94 -20
- package/dist/bscPlugin/codeActions/CodeActionsProcessor.spec.js.map +1 -1
- package/dist/bscPlugin/completions/CompletionsProcessor.d.ts +60 -0
- package/dist/bscPlugin/completions/CompletionsProcessor.js +601 -0
- package/dist/bscPlugin/completions/CompletionsProcessor.js.map +1 -0
- package/dist/bscPlugin/completions/CompletionsProcessor.spec.js +2139 -0
- package/dist/bscPlugin/completions/CompletionsProcessor.spec.js.map +1 -0
- package/dist/bscPlugin/definition/DefinitionProvider.d.ts +13 -0
- package/dist/bscPlugin/definition/DefinitionProvider.js +210 -0
- package/dist/bscPlugin/definition/DefinitionProvider.js.map +1 -0
- package/dist/bscPlugin/definition/DefinitionProvider.spec.js +88 -0
- package/dist/bscPlugin/definition/DefinitionProvider.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 +18 -0
- package/dist/bscPlugin/hover/HoverProcessor.js +218 -0
- package/dist/bscPlugin/hover/HoverProcessor.js.map +1 -0
- package/dist/bscPlugin/hover/HoverProcessor.spec.d.ts +1 -0
- package/dist/bscPlugin/hover/HoverProcessor.spec.js +737 -0
- package/dist/bscPlugin/hover/HoverProcessor.spec.js.map +1 -0
- 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.d.ts +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 +14 -0
- package/dist/bscPlugin/semanticTokens/BrsFileSemanticTokensProcessor.js +144 -0
- package/dist/bscPlugin/semanticTokens/BrsFileSemanticTokensProcessor.js.map +1 -0
- package/dist/bscPlugin/semanticTokens/BrsFileSemanticTokensProcessor.spec.d.ts +1 -0
- package/dist/bscPlugin/semanticTokens/BrsFileSemanticTokensProcessor.spec.js +504 -0
- package/dist/bscPlugin/semanticTokens/BrsFileSemanticTokensProcessor.spec.js.map +1 -0
- 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/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.d.ts +1 -0
- package/dist/bscPlugin/symbols/DocumentSymbolProcessor.spec.js +291 -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.d.ts +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 +21 -0
- package/dist/bscPlugin/transpile/BrsFileTranspileProcessor.js +199 -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/BrsFileAfterValidator.d.ts +7 -0
- package/dist/bscPlugin/validation/BrsFileAfterValidator.js +18 -0
- package/dist/bscPlugin/validation/BrsFileAfterValidator.js.map +1 -0
- package/dist/bscPlugin/validation/BrsFileValidator.d.ts +34 -0
- package/dist/bscPlugin/validation/BrsFileValidator.js +462 -0
- package/dist/bscPlugin/validation/BrsFileValidator.js.map +1 -0
- package/dist/bscPlugin/validation/BrsFileValidator.spec.d.ts +1 -0
- package/dist/bscPlugin/validation/BrsFileValidator.spec.js +758 -0
- package/dist/bscPlugin/validation/BrsFileValidator.spec.js.map +1 -0
- package/dist/bscPlugin/validation/ProgramValidator.d.ts +11 -0
- package/dist/bscPlugin/validation/ProgramValidator.js +33 -0
- package/dist/bscPlugin/validation/ProgramValidator.js.map +1 -0
- package/dist/bscPlugin/validation/ScopeValidator.d.ts +123 -0
- package/dist/bscPlugin/validation/ScopeValidator.js +1026 -0
- package/dist/bscPlugin/validation/ScopeValidator.js.map +1 -0
- package/dist/bscPlugin/validation/ScopeValidator.spec.d.ts +1 -0
- package/dist/bscPlugin/validation/ScopeValidator.spec.js +2897 -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 +117 -11
- 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 +10 -3
- package/dist/diagnosticUtils.js +58 -21
- package/dist/diagnosticUtils.js.map +1 -1
- package/dist/examples/plugins/removePrint.js +8 -12
- package/dist/examples/plugins/removePrint.js.map +1 -1
- package/dist/files/AssetFile.d.ts +24 -0
- package/dist/files/AssetFile.js +25 -0
- package/dist/files/AssetFile.js.map +1 -0
- package/dist/files/BrsFile.Class.spec.js +858 -153
- package/dist/files/BrsFile.Class.spec.js.map +1 -1
- package/dist/files/BrsFile.d.ts +147 -82
- package/dist/files/BrsFile.js +853 -911
- package/dist/files/BrsFile.js.map +1 -1
- package/dist/files/BrsFile.spec.js +3056 -836
- package/dist/files/BrsFile.spec.js.map +1 -1
- package/dist/files/BscFile.d.ts +101 -0
- package/dist/files/BscFile.js +15 -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 +73 -41
- package/dist/files/XmlFile.js +126 -138
- package/dist/files/XmlFile.js.map +1 -1
- package/dist/files/XmlFile.spec.js +450 -318
- package/dist/files/XmlFile.spec.js.map +1 -1
- package/dist/files/tests/imports.spec.js +62 -52
- package/dist/files/tests/imports.spec.js.map +1 -1
- package/dist/files/tests/optionalChaning.spec.d.ts +1 -0
- package/dist/files/tests/optionalChaning.spec.js +152 -0
- package/dist/files/tests/optionalChaning.spec.js.map +1 -0
- package/dist/globalCallables.d.ts +3 -1
- package/dist/globalCallables.js +416 -162
- package/dist/globalCallables.js.map +1 -1
- package/dist/index.d.ts +25 -3
- package/dist/index.js +42 -5
- package/dist/index.js.map +1 -1
- package/dist/interfaces.d.ts +717 -119
- package/dist/interfaces.js +21 -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 +40 -9
- package/dist/lexer/Lexer.js +191 -49
- package/dist/lexer/Lexer.js.map +1 -1
- package/dist/lexer/Lexer.spec.js +775 -563
- package/dist/lexer/Lexer.spec.js.map +1 -1
- package/dist/lexer/Token.d.ts +11 -3
- package/dist/lexer/Token.js +10 -2
- package/dist/lexer/Token.js.map +1 -1
- package/dist/lexer/TokenKind.d.ts +27 -1
- package/dist/lexer/TokenKind.js +112 -5
- 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 +181 -0
- package/dist/parser/AstNode.js +246 -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 +12 -2
- package/dist/parser/BrsTranspileState.js +6 -0
- package/dist/parser/BrsTranspileState.js.map +1 -1
- package/dist/parser/Expression.d.ts +454 -210
- package/dist/parser/Expression.js +953 -498
- package/dist/parser/Expression.js.map +1 -1
- package/dist/parser/Parser.Class.spec.js +200 -95
- package/dist/parser/Parser.Class.spec.js.map +1 -1
- package/dist/parser/Parser.d.ts +106 -120
- package/dist/parser/Parser.js +1432 -931
- package/dist/parser/Parser.js.map +1 -1
- package/dist/parser/Parser.spec.d.ts +3 -1
- package/dist/parser/Parser.spec.js +1383 -456
- package/dist/parser/Parser.spec.js.map +1 -1
- package/dist/parser/SGParser.d.ts +44 -6
- package/dist/parser/SGParser.js +212 -185
- package/dist/parser/SGParser.js.map +1 -1
- package/dist/parser/SGParser.spec.js +30 -28
- package/dist/parser/SGParser.spec.js.map +1 -1
- package/dist/parser/SGTypes.d.ts +293 -50
- package/dist/parser/SGTypes.js +540 -187
- package/dist/parser/SGTypes.js.map +1 -1
- package/dist/parser/Statement.d.ts +759 -247
- package/dist/parser/Statement.js +1785 -607
- package/dist/parser/Statement.js.map +1 -1
- package/dist/parser/Statement.spec.js +45 -34
- package/dist/parser/Statement.spec.js.map +1 -1
- package/dist/parser/TranspileState.d.ts +18 -8
- package/dist/parser/TranspileState.js +76 -12
- package/dist/parser/TranspileState.js.map +1 -1
- package/dist/parser/tests/Parser.spec.d.ts +10 -9
- package/dist/parser/tests/Parser.spec.js +18 -14
- package/dist/parser/tests/Parser.spec.js.map +1 -1
- package/dist/parser/tests/controlFlow/For.spec.js +79 -69
- package/dist/parser/tests/controlFlow/For.spec.js.map +1 -1
- package/dist/parser/tests/controlFlow/ForEach.spec.js +53 -47
- package/dist/parser/tests/controlFlow/ForEach.spec.js.map +1 -1
- package/dist/parser/tests/controlFlow/If.spec.js +217 -196
- package/dist/parser/tests/controlFlow/If.spec.js.map +1 -1
- package/dist/parser/tests/controlFlow/While.spec.js +48 -42
- package/dist/parser/tests/controlFlow/While.spec.js.map +1 -1
- package/dist/parser/tests/expression/Additive.spec.js +31 -31
- package/dist/parser/tests/expression/Additive.spec.js.map +1 -1
- package/dist/parser/tests/expression/ArrayLiterals.spec.js +157 -120
- package/dist/parser/tests/expression/ArrayLiterals.spec.js.map +1 -1
- package/dist/parser/tests/expression/AssociativeArrayLiterals.spec.js +202 -139
- package/dist/parser/tests/expression/AssociativeArrayLiterals.spec.js.map +1 -1
- package/dist/parser/tests/expression/Boolean.spec.js +25 -25
- package/dist/parser/tests/expression/Boolean.spec.js.map +1 -1
- package/dist/parser/tests/expression/Call.spec.js +150 -41
- package/dist/parser/tests/expression/Call.spec.js.map +1 -1
- package/dist/parser/tests/expression/Exponential.spec.js +18 -18
- package/dist/parser/tests/expression/Exponential.spec.js.map +1 -1
- package/dist/parser/tests/expression/Function.spec.js +257 -257
- package/dist/parser/tests/expression/Function.spec.js.map +1 -1
- package/dist/parser/tests/expression/Indexing.spec.js +160 -90
- package/dist/parser/tests/expression/Indexing.spec.js.map +1 -1
- package/dist/parser/tests/expression/Multiplicative.spec.js +38 -38
- package/dist/parser/tests/expression/Multiplicative.spec.js.map +1 -1
- package/dist/parser/tests/expression/NullCoalescenceExpression.spec.js +196 -98
- package/dist/parser/tests/expression/NullCoalescenceExpression.spec.js.map +1 -1
- package/dist/parser/tests/expression/PrefixUnary.spec.js +42 -42
- package/dist/parser/tests/expression/PrefixUnary.spec.js.map +1 -1
- package/dist/parser/tests/expression/Primary.spec.js +42 -42
- package/dist/parser/tests/expression/Primary.spec.js.map +1 -1
- package/dist/parser/tests/expression/RegexLiteralExpression.spec.d.ts +1 -0
- package/dist/parser/tests/expression/RegexLiteralExpression.spec.js +171 -0
- package/dist/parser/tests/expression/RegexLiteralExpression.spec.js.map +1 -0
- package/dist/parser/tests/expression/Relational.spec.js +44 -44
- package/dist/parser/tests/expression/Relational.spec.js.map +1 -1
- package/dist/parser/tests/expression/SourceLiteralExpression.spec.js +31 -31
- package/dist/parser/tests/expression/SourceLiteralExpression.spec.js.map +1 -1
- package/dist/parser/tests/expression/TemplateStringExpression.spec.js +230 -90
- package/dist/parser/tests/expression/TemplateStringExpression.spec.js.map +1 -1
- package/dist/parser/tests/expression/TernaryExpression.spec.js +377 -148
- 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 +126 -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 +37 -37
- 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 +45 -45
- 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.d.ts +1 -0
- package/dist/parser/tests/statement/Enum.spec.js +745 -0
- package/dist/parser/tests/statement/Enum.spec.js.map +1 -0
- package/dist/parser/tests/statement/For.spec.d.ts +1 -0
- package/dist/parser/tests/statement/For.spec.js +45 -0
- package/dist/parser/tests/statement/For.spec.js.map +1 -0
- package/dist/parser/tests/statement/ForEach.spec.d.ts +1 -0
- package/dist/parser/tests/statement/ForEach.spec.js +36 -0
- package/dist/parser/tests/statement/ForEach.spec.js.map +1 -0
- package/dist/parser/tests/statement/Function.spec.js +208 -198
- package/dist/parser/tests/statement/Function.spec.js.map +1 -1
- package/dist/parser/tests/statement/Goto.spec.js +16 -15
- package/dist/parser/tests/statement/Goto.spec.js.map +1 -1
- package/dist/parser/tests/statement/Increment.spec.js +51 -51
- package/dist/parser/tests/statement/Increment.spec.js.map +1 -1
- package/dist/parser/tests/statement/InterfaceStatement.spec.d.ts +1 -0
- package/dist/parser/tests/statement/InterfaceStatement.spec.js +110 -0
- package/dist/parser/tests/statement/InterfaceStatement.spec.js.map +1 -0
- package/dist/parser/tests/statement/LibraryStatement.spec.js +18 -18
- package/dist/parser/tests/statement/LibraryStatement.spec.js.map +1 -1
- package/dist/parser/tests/statement/Misc.spec.js +123 -163
- package/dist/parser/tests/statement/Misc.spec.js.map +1 -1
- package/dist/parser/tests/statement/PrintStatement.spec.js +125 -108
- package/dist/parser/tests/statement/PrintStatement.spec.js.map +1 -1
- package/dist/parser/tests/statement/ReturnStatement.spec.js +51 -49
- package/dist/parser/tests/statement/ReturnStatement.spec.js.map +1 -1
- package/dist/parser/tests/statement/Set.spec.js +110 -97
- package/dist/parser/tests/statement/Set.spec.js.map +1 -1
- package/dist/parser/tests/statement/Stop.spec.js +13 -12
- 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 +26 -15
- package/dist/parser/tests/statement/TryCatch.spec.js.map +1 -1
- package/dist/preprocessor/Manifest.d.ts +6 -6
- package/dist/preprocessor/Manifest.js +17 -38
- package/dist/preprocessor/Manifest.js.map +1 -1
- package/dist/preprocessor/Manifest.spec.d.ts +1 -0
- package/dist/preprocessor/Manifest.spec.js +78 -103
- package/dist/preprocessor/Manifest.spec.js.map +1 -1
- package/dist/roku-types/data.json +19369 -0
- package/dist/roku-types/index.d.ts +5497 -0
- package/dist/roku-types/index.js +11 -0
- package/dist/roku-types/index.js.map +1 -0
- package/dist/types/ArrayType.d.ts +9 -5
- package/dist/types/ArrayType.js +68 -24
- package/dist/types/ArrayType.js.map +1 -1
- package/dist/types/ArrayType.spec.js +39 -11
- package/dist/types/ArrayType.spec.js.map +1 -1
- package/dist/types/AssociativeArrayType.d.ts +14 -0
- package/dist/types/AssociativeArrayType.js +60 -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 +10 -5
- package/dist/types/BooleanType.js +21 -9
- package/dist/types/BooleanType.js.map +1 -1
- package/dist/types/BooleanType.spec.js +10 -4
- package/dist/types/BooleanType.spec.js.map +1 -1
- package/dist/types/BscType.d.ts +29 -3
- package/dist/types/BscType.js +121 -0
- 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 +25 -0
- package/dist/types/BuiltInInterfaceAdder.js +201 -0
- package/dist/types/BuiltInInterfaceAdder.js.map +1 -0
- package/dist/types/BuiltInInterfaceAdder.spec.d.ts +1 -0
- package/dist/types/BuiltInInterfaceAdder.spec.js +115 -0
- package/dist/types/BuiltInInterfaceAdder.spec.js.map +1 -0
- package/dist/types/ClassType.d.ts +16 -0
- package/dist/types/ClassType.js +57 -0
- package/dist/types/ClassType.js.map +1 -0
- package/dist/types/ClassType.spec.d.ts +1 -0
- package/dist/types/ClassType.spec.js +76 -0
- package/dist/types/ClassType.spec.js.map +1 -0
- package/dist/types/ComponentType.d.ts +27 -0
- package/dist/types/ComponentType.js +83 -0
- package/dist/types/ComponentType.js.map +1 -0
- package/dist/types/DoubleType.d.ts +10 -5
- package/dist/types/DoubleType.js +25 -18
- package/dist/types/DoubleType.js.map +1 -1
- package/dist/types/DoubleType.spec.js +12 -4
- package/dist/types/DoubleType.spec.js.map +1 -1
- package/dist/types/DynamicType.d.ts +12 -5
- package/dist/types/DynamicType.js +22 -6
- 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 +40 -0
- package/dist/types/EnumType.js +80 -0
- package/dist/types/EnumType.js.map +1 -0
- 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 +10 -5
- package/dist/types/FloatType.js +25 -18
- package/dist/types/FloatType.js.map +1 -1
- package/dist/types/FloatType.spec.js +4 -4
- package/dist/types/FloatType.spec.js.map +1 -1
- package/dist/types/FunctionType.d.ts +10 -22
- package/dist/types/FunctionType.js +26 -63
- package/dist/types/FunctionType.js.map +1 -1
- package/dist/types/InheritableType.d.ts +28 -0
- package/dist/types/InheritableType.js +157 -0
- package/dist/types/InheritableType.js.map +1 -0
- package/dist/types/IntegerType.d.ts +10 -5
- package/dist/types/IntegerType.js +25 -18
- package/dist/types/IntegerType.js.map +1 -1
- package/dist/types/IntegerType.spec.js +8 -4
- package/dist/types/IntegerType.spec.js.map +1 -1
- package/dist/types/InterfaceType.d.ts +14 -6
- package/dist/types/InterfaceType.js +26 -15
- package/dist/types/InterfaceType.js.map +1 -1
- package/dist/types/InterfaceType.spec.d.ts +1 -0
- package/dist/types/InterfaceType.spec.js +227 -0
- package/dist/types/InterfaceType.spec.js.map +1 -0
- package/dist/types/InvalidType.d.ts +9 -5
- package/dist/types/InvalidType.js +20 -9
- package/dist/types/InvalidType.js.map +1 -1
- package/dist/types/InvalidType.spec.js +8 -4
- package/dist/types/InvalidType.spec.js.map +1 -1
- package/dist/types/LongIntegerType.d.ts +10 -5
- package/dist/types/LongIntegerType.js +25 -18
- package/dist/types/LongIntegerType.js.map +1 -1
- package/dist/types/LongIntegerType.spec.js +10 -4
- 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 +10 -5
- package/dist/types/ObjectType.js +23 -9
- 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 +79 -0
- package/dist/types/ReferenceType.js +522 -0
- package/dist/types/ReferenceType.js.map +1 -0
- package/dist/types/ReferenceType.spec.d.ts +1 -0
- package/dist/types/ReferenceType.spec.js +151 -0
- package/dist/types/ReferenceType.spec.js.map +1 -0
- package/dist/types/StringType.d.ts +13 -5
- package/dist/types/StringType.js +25 -9
- package/dist/types/StringType.js.map +1 -1
- package/dist/types/StringType.spec.js +3 -3
- package/dist/types/StringType.spec.js.map +1 -1
- package/dist/types/TypedFunctionType.d.ts +33 -0
- package/dist/types/TypedFunctionType.js +106 -0
- package/dist/types/TypedFunctionType.js.map +1 -0
- package/dist/types/TypedFunctionType.spec.d.ts +1 -0
- package/dist/types/TypedFunctionType.spec.js +122 -0
- package/dist/types/TypedFunctionType.spec.js.map +1 -0
- package/dist/types/UninitializedType.d.ts +8 -6
- package/dist/types/UninitializedType.js +15 -9
- package/dist/types/UninitializedType.js.map +1 -1
- package/dist/types/UnionType.d.ts +20 -0
- package/dist/types/UnionType.js +127 -0
- package/dist/types/UnionType.js.map +1 -0
- package/dist/types/UnionType.spec.d.ts +1 -0
- package/dist/types/UnionType.spec.js +129 -0
- package/dist/types/UnionType.spec.js.map +1 -0
- package/dist/types/VoidType.d.ts +10 -5
- package/dist/types/VoidType.js +20 -9
- 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 +144 -0
- package/dist/types/helper.spec.js.map +1 -0
- package/dist/types/helpers.d.ts +26 -0
- package/dist/types/helpers.js +191 -0
- package/dist/types/helpers.js.map +1 -0
- 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 +218 -106
- package/dist/util.js +1310 -320
- package/dist/util.js.map +1 -1
- package/dist/validators/ClassValidator.d.ts +9 -15
- package/dist/validators/ClassValidator.js +81 -134
- package/dist/validators/ClassValidator.js.map +1 -1
- package/package.json +169 -138
- package/dist/astUtils/index.d.ts +0 -7
- package/dist/astUtils/index.js +0 -26
- package/dist/astUtils/index.js.map +0 -1
- package/dist/lexer/index.d.ts +0 -3
- package/dist/lexer/index.js +0 -17
- package/dist/lexer/index.js.map +0 -1
- package/dist/parser/index.d.ts +0 -3
- package/dist/parser/index.js +0 -16
- package/dist/parser/index.js.map +0 -1
- package/dist/preprocessor/Chunk.d.ts +0 -82
- package/dist/preprocessor/Chunk.js +0 -77
- package/dist/preprocessor/Chunk.js.map +0 -1
- package/dist/preprocessor/Preprocessor.d.ts +0 -60
- package/dist/preprocessor/Preprocessor.js +0 -156
- package/dist/preprocessor/Preprocessor.js.map +0 -1
- package/dist/preprocessor/Preprocessor.spec.js +0 -152
- package/dist/preprocessor/Preprocessor.spec.js.map +0 -1
- package/dist/preprocessor/PreprocessorParser.d.ts +0 -61
- package/dist/preprocessor/PreprocessorParser.js +0 -194
- package/dist/preprocessor/PreprocessorParser.js.map +0 -1
- package/dist/preprocessor/PreprocessorParser.spec.js +0 -116
- package/dist/preprocessor/PreprocessorParser.spec.js.map +0 -1
- package/dist/preprocessor/index.d.ts +0 -3
- package/dist/preprocessor/index.js +0 -16
- package/dist/preprocessor/index.js.map +0 -1
- package/dist/types/CustomType.d.ts +0 -10
- package/dist/types/CustomType.js +0 -35
- package/dist/types/CustomType.js.map +0 -1
- package/dist/types/FunctionType.spec.js +0 -29
- package/dist/types/FunctionType.spec.js.map +0 -1
- package/dist/types/LazyType.d.ts +0 -15
- package/dist/types/LazyType.js +0 -32
- package/dist/types/LazyType.js.map +0 -1
- /package/dist/{preprocessor/Preprocessor.spec.d.ts → astUtils/Editor.spec.d.ts} +0 -0
- /package/dist/{preprocessor/PreprocessorParser.spec.d.ts → bscPlugin/completions/CompletionsProcessor.spec.d.ts} +0 -0
- /package/dist/{types/FunctionType.spec.d.ts → bscPlugin/definition/DefinitionProvider.spec.d.ts} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SGParser.spec.js","sourceRoot":"","sources":["../../src/parser/SGParser.spec.ts"],"names":[],"mappings":";;AAAA
|
|
1
|
+
{"version":3,"file":"SGParser.spec.js","sourceRoot":"","sources":["../../src/parser/SGParser.spec.ts"],"names":[],"mappings":";;AAAA,0DAA6C;AAC7C,iEAA8C;AAC9C,8DAA2D;AAC3D,0DAA6D;AAC7D,yCAAkC;AAClC,iCAAsC;AACtC,wCAAqC;AAErC,0DAA8C;AAE9C,IAAI,KAAK,GAAG,IAAA,qBAAa,GAAE,CAAC;AAC5B,QAAQ,CAAC,UAAU,EAAE,GAAG,EAAE;IAEtB,IAAI,OAAgB,CAAC;IACrB,MAAM,aAAa,GAAG,IAAA,mCAAgB,EAAC,GAAG,EAAE,CAAC,CAAC,OAAO,EAAE,0BAAO,CAAC,CAAC,CAAC;IAEjE,UAAU,CAAC,GAAG,EAAE;QACZ,OAAO,GAAG,IAAI,iBAAO,CAAC,EAAE,OAAO,EAAE,0BAAO,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC;IAClE,CAAC,CAAC,CAAC;IAEH,SAAS,CAAC,GAAG,EAAE;QACX,KAAK,CAAC,OAAO,EAAE,CAAC;QAChB,OAAO,CAAC,OAAO,EAAE,CAAC;IACtB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iCAAiC,EAAE,KAAK,IAAI,EAAE;QAC7C,OAAO,CAAC,OAAO,CAAC,2BAA2B,EAAE;;;SAG5C,CAAC,CAAC;QACH,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,aAAa,CAAU,IAAA,uBAAI,EAAA;;;;;;;;;;;;;;;;;;;;;;;SAuBjD,EAAE,IAAA,uBAAI,EAAA;;;;;;;;;;;;;;;;;;SAkBN,EAAE,SAAS,EAAE,qBAAqB,CAAC,CAAC;QAErC,MAAM,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC;QAC5B,IAAA,yBAAM,EAAC,GAAG,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC;QACnC,IAAA,yBAAM,EAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC;QACtC,IAAA,yBAAM,EAAC,GAAG,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;IAC3D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sCAAsC,EAAE,GAAG,EAAE;QAC5C,MAAM,MAAM,GAAG,IAAI,kBAAQ,EAAE,CAAC;QAC9B,MAAM,CAAC,KAAK,CACR,iCAAiC,EAAE,IAAA,uBAAI,EAAA;;;;;;SAM1C,CAAC,CAAC;QACH,kEAAkE;IACtE,CAAC,CAAC,CAAC;IAGH,EAAE,CAAC,mDAAmD,EAAE,GAAG,EAAE;QACzD,MAAM,MAAM,GAAG,IAAI,kBAAQ,EAAE,CAAC;QAC9B,MAAM,CAAC,KAAK,CACR,iCAAiC,EAAE,IAAA,uBAAI,EAAA;;;;;;;;SAQ1C,CAAC,CAAC;QACH,IAAA,yBAAM,EAAC,MAAM,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;QAC7C,IAAA,yBAAM,EAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,iCACtC,uCAAkB,CAAC,gBAAgB,CAAC,YAAY,CAAC,KACpD,KAAK,EAAE,6BAAK,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,IAClC,CAAC;QACH,IAAA,yBAAM,EAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,iCACtC,uCAAkB,CAAC,gBAAgB,CAAC,eAAe,CAAC,KACvD,KAAK,EAAE,6BAAK,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,IAClC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sDAAsD,EAAE,GAAG,EAAE;QAC5D,MAAM,MAAM,GAAG,IAAI,kBAAQ,EAAE,CAAC;QAC9B,MAAM,CAAC,KAAK,CACR,iCAAiC,EAAE,IAAA,uBAAI,EAAA;;;;;;;;;;;;SAY1C,CAAC,CAAC;QACH,IAAA,yBAAM,EAAC,MAAM,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;QAC7C,IAAA,yBAAM,EAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,iCACtC,uCAAkB,CAAC,qBAAqB,CAAC,OAAO,CAAC,KACpD,KAAK,EAAE,6BAAK,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,IAClC,CAAC;QACH,IAAA,yBAAM,EAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,iCACtC,uCAAkB,CAAC,qBAAqB,CAAC,QAAQ,CAAC,KACrD,KAAK,EAAE,6BAAK,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,IAClC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sDAAsD,EAAE,GAAG,EAAE;QAC5D,MAAM,MAAM,GAAG,IAAI,kBAAQ,EAAE,CAAC;QAC9B,MAAM,CAAC,KAAK,CAAC,kCAAkC,EAAE,iBAAiB,CAAA;;;;yBAIjD,CAChB,CAAC;QACF,IAAA,yBAAM,EAAC,MAAM,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;QAC7C,IAAA,yBAAM,EAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC;YAC1C,IAAI,EAAE,uCAAkB,CAAC,oBAAoB,CAAC,EAAE,CAAC,CAAC,IAAI;YACtD,KAAK,EAAE,6BAAK,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;SACpC,CAAC,CAAC;QACH,IAAA,yBAAM,EAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,iCACtC,uCAAkB,CAAC,oBAAoB,CAAC,sDAAsD,CAAC,KAClG,KAAK,EAAE,6BAAK,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,IAClC,CAAC;IACP,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}
|
package/dist/parser/SGTypes.d.ts
CHANGED
|
@@ -1,53 +1,152 @@
|
|
|
1
1
|
import { SourceNode } from 'source-map';
|
|
2
2
|
import type { Range } from 'vscode-languageserver';
|
|
3
|
-
import type { FileReference
|
|
3
|
+
import type { FileReference } from '../interfaces';
|
|
4
4
|
import type { TranspileState } from './TranspileState';
|
|
5
5
|
export interface SGToken {
|
|
6
6
|
text: string;
|
|
7
7
|
range?: Range;
|
|
8
8
|
}
|
|
9
|
-
export
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
9
|
+
export declare class SGAttribute {
|
|
10
|
+
constructor(options: {
|
|
11
|
+
key: SGToken;
|
|
12
|
+
equals?: SGToken;
|
|
13
|
+
openingQuote?: SGToken;
|
|
14
|
+
value?: SGToken;
|
|
15
|
+
closingQuote?: SGToken;
|
|
16
|
+
});
|
|
17
|
+
readonly tokens: {
|
|
18
|
+
readonly key: SGToken;
|
|
19
|
+
equals?: SGToken;
|
|
20
|
+
openingQuote?: SGToken;
|
|
21
|
+
value?: SGToken;
|
|
22
|
+
closingQuote?: SGToken;
|
|
23
|
+
};
|
|
24
|
+
get key(): string;
|
|
25
|
+
/**
|
|
26
|
+
* The value of this attribute. This does not including the opening or closing quote
|
|
27
|
+
*/
|
|
28
|
+
get value(): string | undefined;
|
|
29
|
+
set value(val: string | undefined);
|
|
30
|
+
get range(): Range;
|
|
31
|
+
private _range;
|
|
32
|
+
transpile(state: TranspileState): SourceNode;
|
|
33
|
+
clone(): SGAttribute;
|
|
13
34
|
}
|
|
14
|
-
export declare class
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
35
|
+
export declare class SGElement {
|
|
36
|
+
constructor(options: {
|
|
37
|
+
startTagOpen?: SGToken;
|
|
38
|
+
startTagName: SGToken;
|
|
39
|
+
attributes?: SGAttribute[];
|
|
40
|
+
startTagClose?: SGToken;
|
|
41
|
+
elements?: SGElement[];
|
|
42
|
+
endTagOpen?: SGToken;
|
|
43
|
+
endTagName?: SGToken;
|
|
44
|
+
endTagClose?: SGToken;
|
|
45
|
+
});
|
|
46
|
+
readonly tokens: {
|
|
47
|
+
/**
|
|
48
|
+
* The first portion of the startTag. (i.e. `<` or `<?`)
|
|
49
|
+
*/
|
|
50
|
+
readonly startTagOpen?: SGToken;
|
|
51
|
+
/**
|
|
52
|
+
* The name of the opening tag (i.e. CoolTag in `<CoolTag>`).
|
|
53
|
+
*/
|
|
54
|
+
readonly startTagName: SGToken;
|
|
55
|
+
/**
|
|
56
|
+
* The last bit of the startTag (i.e. `/>` for self-closing, `?>` for xml prolog, or `>` for tag with children)
|
|
57
|
+
*/
|
|
58
|
+
readonly startTagClose?: SGToken;
|
|
59
|
+
/**
|
|
60
|
+
* The endTag opening char `<`
|
|
61
|
+
*/
|
|
62
|
+
readonly endTagOpen?: SGToken;
|
|
63
|
+
/**
|
|
64
|
+
* The name of the ending tag (i.e. CoolTag in `</CoolTag>`)
|
|
65
|
+
*/
|
|
66
|
+
readonly endTagName?: SGToken;
|
|
67
|
+
/**
|
|
68
|
+
* The endTag closing char `>`
|
|
69
|
+
*/
|
|
70
|
+
readonly endTagClose?: SGToken;
|
|
71
|
+
};
|
|
72
|
+
/**
|
|
73
|
+
* Array of attributes found on this tag
|
|
74
|
+
*/
|
|
75
|
+
readonly attributes: SGAttribute[];
|
|
76
|
+
/**
|
|
77
|
+
* The array of direct children AST elements of this AST node
|
|
78
|
+
*/
|
|
79
|
+
readonly elements: SGElement[];
|
|
80
|
+
get range(): Range;
|
|
81
|
+
private _range;
|
|
82
|
+
/**
|
|
83
|
+
* Is this a self-closing tag?
|
|
84
|
+
*/
|
|
85
|
+
get isSelfClosing(): boolean;
|
|
19
86
|
get id(): string;
|
|
20
87
|
set id(value: string);
|
|
88
|
+
/**
|
|
89
|
+
* Get the name of this tag.
|
|
90
|
+
*/
|
|
91
|
+
get tagName(): string;
|
|
92
|
+
/**
|
|
93
|
+
* Find all direct children by their tag name (case insensitive).
|
|
94
|
+
* This does not step into children's children.
|
|
95
|
+
*
|
|
96
|
+
*/
|
|
97
|
+
getElementsByTagName<T extends SGElement>(tagName: string): readonly T[];
|
|
98
|
+
/**
|
|
99
|
+
* Add a child to the end of the children array
|
|
100
|
+
*/
|
|
101
|
+
addChild<T extends SGElement>(tag: T): T;
|
|
102
|
+
/**
|
|
103
|
+
* Remove a child from the children array.
|
|
104
|
+
* @returns true if node was found and removed, false if the node wasn't there and thus nothing was done
|
|
105
|
+
*/
|
|
106
|
+
removeChild(tag: SGElement): boolean;
|
|
107
|
+
/**
|
|
108
|
+
* Does this node have the specified attribute?
|
|
109
|
+
*/
|
|
110
|
+
hasAttribute(name: string): boolean;
|
|
111
|
+
/**
|
|
112
|
+
* Get an SGAttribute by its name (case INsensitive)
|
|
113
|
+
*/
|
|
21
114
|
getAttribute(name: string): SGAttribute | undefined;
|
|
115
|
+
/**
|
|
116
|
+
* Get an attribute value by its name
|
|
117
|
+
*/
|
|
22
118
|
getAttributeValue(name: string): string | undefined;
|
|
23
|
-
|
|
119
|
+
/**
|
|
120
|
+
* Set an attribute value by its name. If no attribute exists with this name, it is created
|
|
121
|
+
*/
|
|
122
|
+
setAttributeValue(name: string, value: string): void;
|
|
123
|
+
/**
|
|
124
|
+
* Remove an attribute by its name. DO NOT USE this to edit AST (use ASTEditor)
|
|
125
|
+
* @returns true if an attribute was found and removed. False if no attribute was found
|
|
126
|
+
*/
|
|
127
|
+
removeAttribute(name: string): boolean;
|
|
24
128
|
transpile(state: TranspileState): SourceNode;
|
|
25
|
-
protected transpileBody(state: TranspileState):
|
|
26
|
-
protected transpileAttributes(state: TranspileState, attributes: SGAttribute[]):
|
|
129
|
+
protected transpileBody(state: TranspileState): SourceNode;
|
|
130
|
+
protected transpileAttributes(state: TranspileState, attributes: SGAttribute[]): SourceNode;
|
|
27
131
|
}
|
|
28
|
-
export declare class SGProlog extends
|
|
29
|
-
transpile(state: TranspileState): SourceNode;
|
|
132
|
+
export declare class SGProlog extends SGElement {
|
|
30
133
|
}
|
|
31
|
-
export declare class SGNode extends
|
|
32
|
-
children: SGNode[];
|
|
33
|
-
constructor(tag: SGToken, attributes?: SGAttribute[], children?: SGNode[], range?: Range);
|
|
34
|
-
protected transpileBody(state: TranspileState): (string | SourceNode)[];
|
|
134
|
+
export declare class SGNode extends SGElement {
|
|
35
135
|
}
|
|
36
|
-
export declare class SGChildren extends
|
|
37
|
-
constructor(tag?: SGToken, children?: SGNode[], range?: Range);
|
|
136
|
+
export declare class SGChildren extends SGElement {
|
|
38
137
|
}
|
|
39
|
-
export declare class
|
|
138
|
+
export declare class SGCustomization extends SGElement {
|
|
139
|
+
}
|
|
140
|
+
export declare class SGScript extends SGElement {
|
|
40
141
|
cdata?: SGToken;
|
|
41
|
-
constructor(tag?: SGToken, attributes?: SGAttribute[], cdata?: SGToken, range?: Range);
|
|
42
142
|
get type(): string;
|
|
43
143
|
set type(value: string);
|
|
44
144
|
get uri(): string;
|
|
45
145
|
set uri(value: string);
|
|
46
|
-
protected transpileBody(state: TranspileState):
|
|
47
|
-
protected transpileAttributes(state: TranspileState, attributes: SGAttribute[]):
|
|
146
|
+
protected transpileBody(state: TranspileState): SourceNode;
|
|
147
|
+
protected transpileAttributes(state: TranspileState, attributes: SGAttribute[]): SourceNode;
|
|
48
148
|
}
|
|
49
|
-
export declare class
|
|
50
|
-
constructor(tag?: SGToken, attributes?: SGAttribute[], range?: Range);
|
|
149
|
+
export declare class SGInterfaceField extends SGElement {
|
|
51
150
|
get type(): string;
|
|
52
151
|
set type(value: string);
|
|
53
152
|
get alias(): string;
|
|
@@ -59,42 +158,186 @@ export declare class SGField extends SGTag {
|
|
|
59
158
|
get alwaysNotify(): string;
|
|
60
159
|
set alwaysNotify(value: string);
|
|
61
160
|
}
|
|
161
|
+
export declare enum SGFieldType {
|
|
162
|
+
integer = "integer",
|
|
163
|
+
int = "int",
|
|
164
|
+
longinteger = "longinteger",
|
|
165
|
+
float = "float",
|
|
166
|
+
string = "string",
|
|
167
|
+
str = "str",
|
|
168
|
+
boolean = "boolean",
|
|
169
|
+
bool = "bool",
|
|
170
|
+
vector2d = "vector2d",
|
|
171
|
+
color = "color",
|
|
172
|
+
time = "time",
|
|
173
|
+
uri = "uri",
|
|
174
|
+
node = "node",
|
|
175
|
+
floatarray = "floatarray",
|
|
176
|
+
intarray = "intarray",
|
|
177
|
+
boolarray = "boolarray",
|
|
178
|
+
stringarray = "stringarray",
|
|
179
|
+
vector2darray = "vector2darray",
|
|
180
|
+
colorarray = "colorarray",
|
|
181
|
+
timearray = "timearray",
|
|
182
|
+
nodearray = "nodearray",
|
|
183
|
+
assocarray = "assocarray",
|
|
184
|
+
array = "array",
|
|
185
|
+
roarray = "roarray",
|
|
186
|
+
rect2d = "rect2d",
|
|
187
|
+
rect2darray = "rect2darray"
|
|
188
|
+
}
|
|
62
189
|
export declare const SGFieldTypes: string[];
|
|
63
|
-
export declare class
|
|
64
|
-
constructor(tag?: SGToken, attributes?: SGAttribute[], range?: Range);
|
|
190
|
+
export declare class SGInterfaceFunction extends SGElement {
|
|
65
191
|
get name(): string;
|
|
66
192
|
set name(value: string);
|
|
67
193
|
}
|
|
68
|
-
export declare
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
194
|
+
export declare type SGInterfaceMember = SGInterfaceField | SGInterfaceFunction;
|
|
195
|
+
export declare class SGInterface extends SGElement {
|
|
196
|
+
get fields(): readonly SGInterfaceField[];
|
|
197
|
+
get functions(): readonly SGInterfaceFunction[];
|
|
198
|
+
get members(): readonly SGInterfaceMember[];
|
|
199
|
+
/**
|
|
200
|
+
* Check if there's an SGField with the specified name
|
|
201
|
+
*/
|
|
202
|
+
hasField(id: string): boolean;
|
|
203
|
+
/**
|
|
204
|
+
* Check if there's an SGFunction with the specified name
|
|
205
|
+
*/
|
|
206
|
+
hasFunction(name: string): boolean;
|
|
207
|
+
/**
|
|
208
|
+
* Find a field by its ID
|
|
209
|
+
*/
|
|
210
|
+
getField(id: string): SGInterfaceField;
|
|
211
|
+
/**
|
|
212
|
+
* Set the value of a field. Creates a new field if one does not already exist with this ID
|
|
213
|
+
*/
|
|
214
|
+
setField(id: string, type: string, onChange?: string, alwaysNotify?: boolean, alias?: string): SGInterfaceField;
|
|
215
|
+
/**
|
|
216
|
+
* Remove a field from the interface
|
|
217
|
+
* @returns true if a field was found and removed. Returns false if no field was found with that name
|
|
218
|
+
*/
|
|
219
|
+
removeField(id: string): boolean;
|
|
220
|
+
/**
|
|
221
|
+
* Get the interface function with the specified name
|
|
222
|
+
*/
|
|
223
|
+
getFunction(name: string): SGInterfaceFunction;
|
|
224
|
+
/**
|
|
225
|
+
* Add or replace a function on the interface
|
|
226
|
+
*/
|
|
227
|
+
setFunction(name: string): SGInterfaceFunction;
|
|
228
|
+
/**
|
|
229
|
+
* Remove a function from the interface
|
|
230
|
+
* @returns true if a function was found and removed. Returns false if no function was found with that name
|
|
231
|
+
*/
|
|
232
|
+
removeFunction(name: string): boolean;
|
|
77
233
|
}
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
234
|
+
/**
|
|
235
|
+
* The `<component>` element in SceneGraph. Not to be confused about usages of components like `<Rectangle>`, those are considered `SGNode` instances.
|
|
236
|
+
*/
|
|
237
|
+
export declare class SGComponent extends SGElement {
|
|
238
|
+
/**
|
|
239
|
+
* Get all the <Field> and <Function> elements across all <Interface> nodes in this component
|
|
240
|
+
*/
|
|
241
|
+
get interfaceMembers(): readonly SGInterfaceMember[];
|
|
242
|
+
get scriptElements(): readonly SGScript[];
|
|
243
|
+
/**
|
|
244
|
+
* Get the <interface> element from this component (if present), or undefined if not.
|
|
245
|
+
* NOTE: Roku supports and merges multiple <interface> elements in a component, but this
|
|
246
|
+
* property points to the FIRST one. If you need to check whether a member exists,
|
|
247
|
+
* look through `this.interfaceMemebers` instead.
|
|
248
|
+
*/
|
|
249
|
+
get interfaceElement(): SGInterface | undefined;
|
|
250
|
+
/**
|
|
251
|
+
* Get the `<children>` element of this component. (not to be confused with the AST `childTags` property).
|
|
252
|
+
* If there are multiope `<children>` elements, this function will return the last `<children>` tag because that's what Roku devices do.
|
|
253
|
+
*/
|
|
254
|
+
get childrenElement(): SGChildren;
|
|
255
|
+
get customizationElements(): readonly SGCustomization[];
|
|
256
|
+
/**
|
|
257
|
+
* Specifies the name of the component, that allows you to create the component in your application.
|
|
258
|
+
* For example, if the name of the component is `CastMemberInfo`, you could create instances of the component declaratively
|
|
259
|
+
* in a child node element of a component `<children>` element (`<CastMemberInfo/>`), or using BrightScript in a `<script>`
|
|
260
|
+
* element (`createObject("roSGNode","CastMemberInfo")`).
|
|
261
|
+
*
|
|
262
|
+
* The name attribute is case-sensitive. You cannot successfully create or declare a component unless the component name exactly
|
|
263
|
+
* matches the name attribute, including case. Also be aware that two components with the exact same name in the same application
|
|
264
|
+
* components directory will have undefined and generally undesirable results if you attempt to create a component object with that name in the application.
|
|
265
|
+
*/
|
|
83
266
|
get name(): string;
|
|
84
267
|
set name(value: string);
|
|
268
|
+
/**
|
|
269
|
+
* Specifies the name of the built-in or extended SceneGraph scene or node class whose functionality is extended by this component.
|
|
270
|
+
*
|
|
271
|
+
* 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).
|
|
272
|
+
*
|
|
273
|
+
* By default, a component extends the Group node class.
|
|
274
|
+
*/
|
|
85
275
|
get extends(): string;
|
|
86
276
|
set extends(value: string);
|
|
87
|
-
|
|
277
|
+
/**
|
|
278
|
+
* Specifies the ID of a node declared in the XML file to have the initial remote control focus when the component is instantiated.
|
|
279
|
+
*/
|
|
280
|
+
get initialFocus(): string;
|
|
281
|
+
set initialFocus(value: string);
|
|
282
|
+
/**
|
|
283
|
+
* Specifies the version of the SceneGraph API. The default is 1.0 if not specified.
|
|
284
|
+
*/
|
|
285
|
+
get version(): string;
|
|
286
|
+
set version(value: string);
|
|
287
|
+
/**
|
|
288
|
+
* Does the specified field exist in the component interface?
|
|
289
|
+
*/
|
|
290
|
+
hasInterfaceField(id: string): boolean;
|
|
291
|
+
/**
|
|
292
|
+
* Does the specified function exist in the component interface?
|
|
293
|
+
*/
|
|
294
|
+
hasInterfaceFunction(name: string): boolean;
|
|
295
|
+
/**
|
|
296
|
+
* Get an interface field with the specified name
|
|
297
|
+
*/
|
|
298
|
+
getInterfaceField(name: string): SGInterfaceField | undefined;
|
|
299
|
+
/**
|
|
300
|
+
* Return the first SGInterface node found, or insert a new one then return it
|
|
301
|
+
*/
|
|
302
|
+
private ensureInterfaceNode;
|
|
303
|
+
/**
|
|
304
|
+
* Create or update a <field> interface element.
|
|
305
|
+
* This will create a new `<interface>` element if there are none on the component already
|
|
306
|
+
*/
|
|
307
|
+
setInterfaceField(id: string, type: string, onChange?: string, alwaysNotify?: boolean, alias?: string): SGInterfaceField;
|
|
308
|
+
/**
|
|
309
|
+
* Create or update a <function> interface element.
|
|
310
|
+
* This will create a new `<interface>` element if there are none on the component already
|
|
311
|
+
*/
|
|
312
|
+
setInterfaceFunction(name: string): SGInterfaceFunction;
|
|
313
|
+
/**
|
|
314
|
+
* Remove an interface field.
|
|
315
|
+
* @returns true if a field was found and removed. Returns false if no field was found with that name
|
|
316
|
+
*/
|
|
317
|
+
removeInterfaceField(id: string): boolean;
|
|
318
|
+
/**
|
|
319
|
+
* Get an interface field with the specified name
|
|
320
|
+
*/
|
|
321
|
+
getInterfaceFunction(name: string): SGInterfaceFunction | undefined;
|
|
322
|
+
/**
|
|
323
|
+
* Remove an interface function.
|
|
324
|
+
* @returns true if a function was found and removed. Returns false if no function was found with that name
|
|
325
|
+
*/
|
|
326
|
+
removeInterfaceFunction(name: string): boolean;
|
|
88
327
|
}
|
|
89
328
|
export interface SGReferences {
|
|
90
329
|
name?: SGToken;
|
|
91
330
|
extends?: SGToken;
|
|
92
|
-
scriptTagImports: Pick<FileReference, '
|
|
331
|
+
scriptTagImports: Pick<FileReference, 'destPath' | 'text' | 'filePathRange'>[];
|
|
93
332
|
}
|
|
94
333
|
export declare class SGAst {
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
334
|
+
constructor(options?: {
|
|
335
|
+
prologElement?: SGProlog;
|
|
336
|
+
rootElement?: SGElement;
|
|
337
|
+
componentElement?: SGComponent;
|
|
338
|
+
});
|
|
339
|
+
readonly prologElement?: SGProlog;
|
|
340
|
+
readonly rootElement?: SGElement;
|
|
341
|
+
readonly componentElement?: SGComponent;
|
|
342
|
+
transpile(state: TranspileState): SourceNode;
|
|
100
343
|
}
|