brighterscript 0.43.1 → 0.44.0
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 +14 -0
- package/dist/Cache.d.ts +3 -3
- package/dist/Cache.js +10 -6
- package/dist/Cache.js.map +1 -1
- package/dist/LanguageServer.d.ts +1 -6
- package/dist/PluginInterface.d.ts +3 -3
- package/dist/PluginInterface.js +3 -0
- package/dist/PluginInterface.js.map +1 -1
- package/dist/Program.d.ts +47 -18
- package/dist/Program.js +146 -81
- package/dist/Program.js.map +1 -1
- package/dist/Scope.d.ts +3 -3
- package/dist/Scope.js +4 -0
- package/dist/Scope.js.map +1 -1
- package/dist/bscPlugin/BscPlugin.js +5 -2
- package/dist/bscPlugin/BscPlugin.js.map +1 -1
- package/dist/bscPlugin/codeActions/CodeActionsProcessor.spec.js +2 -0
- package/dist/bscPlugin/codeActions/CodeActionsProcessor.spec.js.map +1 -1
- package/dist/bscPlugin/semanticTokens/BrsFileSemanticTokensProcessor.d.ts +8 -0
- package/dist/bscPlugin/semanticTokens/{SemanticTokensProcessor.js → BrsFileSemanticTokensProcessor.js} +8 -10
- package/dist/bscPlugin/semanticTokens/BrsFileSemanticTokensProcessor.js.map +1 -0
- package/dist/bscPlugin/semanticTokens/{SemanticTokensProcessor.spec.d.ts → BrsFileSemanticTokensProcessor.spec.d.ts} +0 -0
- package/dist/bscPlugin/semanticTokens/{SemanticTokensProcessor.spec.js → BrsFileSemanticTokensProcessor.spec.js} +2 -2
- package/dist/bscPlugin/semanticTokens/BrsFileSemanticTokensProcessor.spec.js.map +1 -0
- package/dist/files/BrsFile.d.ts +7 -2
- package/dist/files/BrsFile.js +11 -4
- package/dist/files/BrsFile.js.map +1 -1
- package/dist/files/BrsFile.spec.js +16 -12
- package/dist/files/BrsFile.spec.js.map +1 -1
- package/dist/files/XmlFile.d.ts +5 -0
- package/dist/files/XmlFile.js +6 -1
- package/dist/files/XmlFile.js.map +1 -1
- package/dist/files/XmlFile.spec.js +5 -3
- package/dist/files/XmlFile.spec.js.map +1 -1
- package/dist/interfaces.d.ts +24 -3
- package/dist/types/FunctionType.d.ts +2 -2
- package/dist/types/FunctionType.js +3 -3
- package/dist/types/FunctionType.js.map +1 -1
- package/dist/types/FunctionType.spec.js +2 -2
- package/dist/types/FunctionType.spec.js.map +1 -1
- package/dist/util.d.ts +12 -0
- package/dist/util.js +23 -0
- package/dist/util.js.map +1 -1
- package/package.json +1 -1
- package/dist/bscPlugin/semanticTokens/SemanticTokensProcessor.d.ts +0 -7
- package/dist/bscPlugin/semanticTokens/SemanticTokensProcessor.js.map +0 -1
- package/dist/bscPlugin/semanticTokens/SemanticTokensProcessor.spec.js.map +0 -1
package/CHANGELOG.md
CHANGED
|
@@ -6,6 +6,20 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
6
6
|
|
|
7
7
|
|
|
8
8
|
|
|
9
|
+
## [0.44.0](https://github.com/rokucommunity/brighterscript/compare/v0.43.1...v0.44.0) - 2022-02-08
|
|
10
|
+
### Added
|
|
11
|
+
- `onScopeValidate` plugin event useful when plugins want to contribute scope validations ([#505](https://github.com/rokucommunity/brighterscript/pull/505))
|
|
12
|
+
### Changed
|
|
13
|
+
- show plugin transpile modifications in the `getTranspiledFile` callback (used for "show preview" functionality in vscode) ([#502](https://github.com/rokucommunity/brighterscript/pull/502))
|
|
14
|
+
- make `Program.getFile` more flexible, and deprecate `Program.getFileByPkgPath`, `Program.getFileByPathAbsolute` ([#506](https://github.com/rokucommunity/brighterscript/pull/506))
|
|
15
|
+
- add `Program.getFiles` and deprecate `Program.getFilesByPkgPath` ([#506](https://github.com/rokucommunity/brighterscript/pull/506))
|
|
16
|
+
- move file validation plugin event emitting into `Program.validate()` which means you can't trigger those events by calling `File.validate()` anymore. ([#504](https://github.com/rokucommunity/brighterscript/pull/504))
|
|
17
|
+
- support generics for `Cache` class ([#503](https://github.com/rokucommunity/brighterscript/pull/503))
|
|
18
|
+
### Fixed
|
|
19
|
+
- bug in hover showing required params as optional and optional params as required ([#501](https://github.com/rokucommunity/brighterscript/pull/501))
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
|
|
9
23
|
## [0.43.1](https://github.com/rokucommunity/brighterscript/compare/v0.43.0...v0.43.1) - 2022-01-28
|
|
10
24
|
### Fixed
|
|
11
25
|
- crash when hovering over global functions ([#497](https://github.com/rokucommunity/brighterscript/pull/497))
|
package/dist/Cache.d.ts
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* A cache that will call the factory to create the item if it doesn't exist
|
|
3
3
|
*/
|
|
4
|
-
export declare class Cache {
|
|
4
|
+
export declare class Cache<TKey = any, TValue = any> {
|
|
5
5
|
private cache;
|
|
6
6
|
/**
|
|
7
7
|
* Get value from the cache if it exists,
|
|
8
8
|
* otherwise call the factory function to create the value, add it to the cache, and return it.
|
|
9
9
|
*/
|
|
10
|
-
getOrAdd<T>(key:
|
|
10
|
+
getOrAdd<K extends TKey, T extends TValue>(key: K, factory: (key: K) => T): T;
|
|
11
11
|
/**
|
|
12
12
|
* Clear the cache
|
|
13
13
|
*/
|
package/dist/Cache.js
CHANGED
|
@@ -2,27 +2,31 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.Cache = void 0;
|
|
4
4
|
/**
|
|
5
|
-
*
|
|
5
|
+
* A cache that will call the factory to create the item if it doesn't exist
|
|
6
6
|
*/
|
|
7
7
|
class Cache {
|
|
8
8
|
constructor() {
|
|
9
|
-
this.cache =
|
|
9
|
+
this.cache = new Map();
|
|
10
10
|
}
|
|
11
11
|
/**
|
|
12
12
|
* Get value from the cache if it exists,
|
|
13
13
|
* otherwise call the factory function to create the value, add it to the cache, and return it.
|
|
14
14
|
*/
|
|
15
15
|
getOrAdd(key, factory) {
|
|
16
|
-
if (this.cache
|
|
17
|
-
|
|
16
|
+
if (!this.cache.has(key)) {
|
|
17
|
+
const value = factory(key);
|
|
18
|
+
this.cache.set(key, value);
|
|
19
|
+
return value;
|
|
20
|
+
}
|
|
21
|
+
else {
|
|
22
|
+
return this.cache.get(key);
|
|
18
23
|
}
|
|
19
|
-
return this.cache[key];
|
|
20
24
|
}
|
|
21
25
|
/**
|
|
22
26
|
* Clear the cache
|
|
23
27
|
*/
|
|
24
28
|
clear() {
|
|
25
|
-
this.cache
|
|
29
|
+
this.cache.clear();
|
|
26
30
|
}
|
|
27
31
|
}
|
|
28
32
|
exports.Cache = Cache;
|
package/dist/Cache.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Cache.js","sourceRoot":"","sources":["../src/Cache.ts"],"names":[],"mappings":";;;AAAA;;GAEG;AACH,MAAa,KAAK;IAAlB;QACY,UAAK,GAAG,
|
|
1
|
+
{"version":3,"file":"Cache.js","sourceRoot":"","sources":["../src/Cache.ts"],"names":[],"mappings":";;;AAAA;;GAEG;AACH,MAAa,KAAK;IAAlB;QACY,UAAK,GAAG,IAAI,GAAG,EAAgB,CAAC;IAqB5C,CAAC;IAnBG;;;OAGG;IACI,QAAQ,CAAmC,GAAM,EAAE,OAAsB;QAC5E,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;YACtB,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;YAC3B,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;YAC3B,OAAO,KAAK,CAAC;SAChB;aAAM;YACH,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAM,CAAC;SACnC;IACL,CAAC;IACD;;OAEG;IACI,KAAK;QACR,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;IACvB,CAAC;CACJ;AAtBD,sBAsBC"}
|
package/dist/LanguageServer.d.ts
CHANGED
|
@@ -130,12 +130,7 @@ export declare class LanguageServer {
|
|
|
130
130
|
private onFullSemanticTokens;
|
|
131
131
|
private diagnosticCollection;
|
|
132
132
|
private sendDiagnostics;
|
|
133
|
-
onExecuteCommand(params: ExecuteCommandParams): Promise<
|
|
134
|
-
pathAbsolute: string;
|
|
135
|
-
pkgPath: string;
|
|
136
|
-
code: string;
|
|
137
|
-
map: import("source-map").SourceMapGenerator;
|
|
138
|
-
}>;
|
|
133
|
+
onExecuteCommand(params: ExecuteCommandParams): Promise<import("./Program").FileTranspileResult>;
|
|
139
134
|
private transpileFile;
|
|
140
135
|
dispose(): void;
|
|
141
136
|
}
|
|
@@ -12,11 +12,11 @@ export default class PluginInterface<T extends CompilerPlugin = CompilerPlugin>
|
|
|
12
12
|
/**
|
|
13
13
|
* Add a plugin to the beginning of the list of plugins
|
|
14
14
|
*/
|
|
15
|
-
addFirst(plugin:
|
|
15
|
+
addFirst<T extends CompilerPlugin = CompilerPlugin>(plugin: T): T;
|
|
16
16
|
/**
|
|
17
17
|
* Add a plugin to the end of the list of plugins
|
|
18
18
|
*/
|
|
19
|
-
add(plugin:
|
|
19
|
+
add<T extends CompilerPlugin = CompilerPlugin>(plugin: T): T;
|
|
20
20
|
has(plugin: CompilerPlugin): boolean;
|
|
21
|
-
remove(plugin:
|
|
21
|
+
remove<T extends CompilerPlugin = CompilerPlugin>(plugin: T): T;
|
|
22
22
|
}
|
package/dist/PluginInterface.js
CHANGED
|
@@ -30,6 +30,7 @@ class PluginInterface {
|
|
|
30
30
|
if (!this.has(plugin)) {
|
|
31
31
|
this.plugins.unshift(plugin);
|
|
32
32
|
}
|
|
33
|
+
return plugin;
|
|
33
34
|
}
|
|
34
35
|
/**
|
|
35
36
|
* Add a plugin to the end of the list of plugins
|
|
@@ -38,6 +39,7 @@ class PluginInterface {
|
|
|
38
39
|
if (!this.has(plugin)) {
|
|
39
40
|
this.plugins.push(plugin);
|
|
40
41
|
}
|
|
42
|
+
return plugin;
|
|
41
43
|
}
|
|
42
44
|
has(plugin) {
|
|
43
45
|
return this.plugins.includes(plugin);
|
|
@@ -46,6 +48,7 @@ class PluginInterface {
|
|
|
46
48
|
if (this.has(plugin)) {
|
|
47
49
|
this.plugins.splice(this.plugins.indexOf(plugin));
|
|
48
50
|
}
|
|
51
|
+
return plugin;
|
|
49
52
|
}
|
|
50
53
|
}
|
|
51
54
|
exports.default = PluginInterface;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PluginInterface.js","sourceRoot":"","sources":["../src/PluginInterface.ts"],"names":[],"mappings":";;AAEA,qCAAoC;AAOpC,MAAqB,eAAe;IAEhC,YACY,OAAyB,EACzB,MAAc;QADd,YAAO,GAAP,OAAO,CAAkB;QACzB,WAAM,GAAN,MAAM,CAAQ;IACtB,CAAC;IAEL;;OAEG;IACI,IAAI,CAA6B,KAAQ,EAAE,GAAG,IAAqB;QACtE,KAAK,IAAI,MAAM,IAAI,IAAI,CAAC,OAAO,EAAE;YAC7B,IAAK,MAAc,CAAC,KAAK,CAAC,EAAE;gBACxB,IAAI;oBACA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,iBAAQ,CAAC,KAAK,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,GAAG,EAAE;wBACvD,MAAc,CAAC,KAAK,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;oBACpC,CAAC,CAAC,CAAC;iBACN;gBAAC,OAAO,GAAG,EAAE;oBACV,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,6BAA6B,MAAM,CAAC,IAAI,IAAI,KAAK,GAAG,EAAE,GAAG,CAAC,CAAC;iBAChF;aACJ;SACJ;IACL,CAAC;IAED;;OAEG;IACI,QAAQ,
|
|
1
|
+
{"version":3,"file":"PluginInterface.js","sourceRoot":"","sources":["../src/PluginInterface.ts"],"names":[],"mappings":";;AAEA,qCAAoC;AAOpC,MAAqB,eAAe;IAEhC,YACY,OAAyB,EACzB,MAAc;QADd,YAAO,GAAP,OAAO,CAAkB;QACzB,WAAM,GAAN,MAAM,CAAQ;IACtB,CAAC;IAEL;;OAEG;IACI,IAAI,CAA6B,KAAQ,EAAE,GAAG,IAAqB;QACtE,KAAK,IAAI,MAAM,IAAI,IAAI,CAAC,OAAO,EAAE;YAC7B,IAAK,MAAc,CAAC,KAAK,CAAC,EAAE;gBACxB,IAAI;oBACA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,iBAAQ,CAAC,KAAK,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,GAAG,EAAE;wBACvD,MAAc,CAAC,KAAK,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;oBACpC,CAAC,CAAC,CAAC;iBACN;gBAAC,OAAO,GAAG,EAAE;oBACV,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,6BAA6B,MAAM,CAAC,IAAI,IAAI,KAAK,GAAG,EAAE,GAAG,CAAC,CAAC;iBAChF;aACJ;SACJ;IACL,CAAC;IAED;;OAEG;IACI,QAAQ,CAA4C,MAAS;QAChE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE;YACnB,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;SAChC;QACD,OAAO,MAAM,CAAC;IAClB,CAAC;IAED;;OAEG;IACI,GAAG,CAA4C,MAAS;QAC3D,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE;YACnB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;SAC7B;QACD,OAAO,MAAM,CAAC;IAClB,CAAC;IAEM,GAAG,CAAC,MAAsB;QAC7B,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IACzC,CAAC;IAEM,MAAM,CAA4C,MAAS;QAC9D,IAAI,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE;YAClB,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;SACrD;QACD,OAAO,MAAM,CAAC;IAClB,CAAC;CACJ;AAtDD,kCAsDC"}
|
package/dist/Program.d.ts
CHANGED
|
@@ -4,12 +4,13 @@ import type { BsConfig } from './BsConfig';
|
|
|
4
4
|
import { Scope } from './Scope';
|
|
5
5
|
import { BrsFile } from './files/BrsFile';
|
|
6
6
|
import { XmlFile } from './files/XmlFile';
|
|
7
|
-
import type { BsDiagnostic, File, FileReference, FileObj, BscFile, SemanticToken } from './interfaces';
|
|
7
|
+
import type { BsDiagnostic, File, FileReference, FileObj, BscFile, SemanticToken, FileLink } from './interfaces';
|
|
8
8
|
import { XmlScope } from './XmlScope';
|
|
9
9
|
import { Logger } from './Logger';
|
|
10
10
|
import type { ManifestValue } from './preprocessor/Manifest';
|
|
11
11
|
import PluginInterface from './PluginInterface';
|
|
12
12
|
import type { FunctionStatement, Statement } from './parser/Statement';
|
|
13
|
+
import type { SourceMapGenerator } from 'source-map';
|
|
13
14
|
export interface SourceObj {
|
|
14
15
|
pathAbsolute: string;
|
|
15
16
|
source: string;
|
|
@@ -24,10 +25,6 @@ export interface SignatureInfoObj {
|
|
|
24
25
|
key: string;
|
|
25
26
|
signature: SignatureInformation;
|
|
26
27
|
}
|
|
27
|
-
export interface FileLink<T> {
|
|
28
|
-
item: T;
|
|
29
|
-
file: BrsFile;
|
|
30
|
-
}
|
|
31
28
|
export declare class Program {
|
|
32
29
|
/**
|
|
33
30
|
* The root directory for this program
|
|
@@ -116,8 +113,9 @@ export declare class Program {
|
|
|
116
113
|
/**
|
|
117
114
|
* Determine if the specified file is loaded in this program right now.
|
|
118
115
|
* @param filePath
|
|
116
|
+
* @param normalizePath should the provided path be normalized before use
|
|
119
117
|
*/
|
|
120
|
-
hasFile(filePath: string): boolean;
|
|
118
|
+
hasFile(filePath: string, normalizePath?: boolean): boolean;
|
|
121
119
|
getPkgPath(...args: any[]): any;
|
|
122
120
|
/**
|
|
123
121
|
* roku filesystem is case INsensitive, so find the scope by key case insensitive
|
|
@@ -132,6 +130,14 @@ export declare class Program {
|
|
|
132
130
|
* Find the scope for the specified component
|
|
133
131
|
*/
|
|
134
132
|
getComponentScope(componentName: string): XmlScope;
|
|
133
|
+
/**
|
|
134
|
+
* Update internal maps with this file reference
|
|
135
|
+
*/
|
|
136
|
+
private assignFile;
|
|
137
|
+
/**
|
|
138
|
+
* Remove this file from internal maps
|
|
139
|
+
*/
|
|
140
|
+
private unassignFile;
|
|
135
141
|
/**
|
|
136
142
|
* Load a file into the program. If that file already exists, it is replaced.
|
|
137
143
|
* If file contents are provided, those are used, Otherwise, the file is loaded from the file system
|
|
@@ -155,28 +161,33 @@ export declare class Program {
|
|
|
155
161
|
* Roku is a case insensitive file system. It is an error to have multiple files
|
|
156
162
|
* with the same path with only case being different.
|
|
157
163
|
* @param pathAbsolute
|
|
164
|
+
* @deprecated use `getFile` instead, which auto-detects the path type
|
|
158
165
|
*/
|
|
159
166
|
getFileByPathAbsolute<T extends BrsFile | XmlFile>(pathAbsolute: string): T;
|
|
160
167
|
/**
|
|
161
168
|
* Get a list of files for the given (platform-normalized) pkgPath array.
|
|
162
169
|
* Missing files are just ignored.
|
|
170
|
+
* @deprecated use `getFiles` instead, which auto-detects the path types
|
|
163
171
|
*/
|
|
164
172
|
getFilesByPkgPaths<T extends BscFile[]>(pkgPaths: string[]): T;
|
|
165
173
|
/**
|
|
166
174
|
* Get a file with the specified (platform-normalized) pkg path.
|
|
167
175
|
* If not found, return undefined
|
|
176
|
+
* @deprecated use `getFile` instead, which auto-detects the path type
|
|
168
177
|
*/
|
|
169
178
|
getFileByPkgPath<T extends BscFile>(pkgPath: string): T;
|
|
170
179
|
/**
|
|
171
180
|
* Remove a set of files from the program
|
|
172
|
-
* @param
|
|
181
|
+
* @param filePaths can be an array of srcPath or destPath strings
|
|
182
|
+
* @param normalizePath should this function repair and standardize the filePaths? Passing false should have a performance boost if you can guarantee your paths are already sanitized
|
|
173
183
|
*/
|
|
174
|
-
removeFiles(
|
|
184
|
+
removeFiles(filePaths: string[], normalizePath?: boolean): void;
|
|
175
185
|
/**
|
|
176
186
|
* Remove a file from the program
|
|
177
|
-
* @param
|
|
187
|
+
* @param filePath can be a srcPath, a pkgPath, or a destPath (same as pkgPath but without `pkg:/`)
|
|
188
|
+
* @param normalizePath should this function repair and standardize the path? Passing false should have a performance boost if you can guarantee your path is already sanitized
|
|
178
189
|
*/
|
|
179
|
-
removeFile(
|
|
190
|
+
removeFile(filePath: string, normalizePath?: boolean): void;
|
|
180
191
|
/**
|
|
181
192
|
* Traverse the entire project, and validate all scopes
|
|
182
193
|
* @param force - if true, then all scopes are force to validate, even if they aren't marked as dirty
|
|
@@ -190,16 +201,27 @@ export declare class Program {
|
|
|
190
201
|
* Determine if the given file is included in at least one scope in this program
|
|
191
202
|
*/
|
|
192
203
|
private fileIsIncludedInAnyScope;
|
|
204
|
+
/**
|
|
205
|
+
* Get the files for a list of filePaths
|
|
206
|
+
* @param filePaths can be an array of srcPath or a destPath strings
|
|
207
|
+
* @param normalizePath should this function repair and standardize the paths? Passing false should have a performance boost if you can guarantee your paths are already sanitized
|
|
208
|
+
*/
|
|
209
|
+
getFiles<T extends BscFile>(filePaths: string[], normalizePath?: boolean): T[];
|
|
193
210
|
/**
|
|
194
211
|
* Get the file at the given path
|
|
195
|
-
* @param
|
|
212
|
+
* @param filePath can be a srcPath or a destPath
|
|
213
|
+
* @param normalizePath should this function repair and standardize the path? Passing false should have a performance boost if you can guarantee your path is already sanitized
|
|
196
214
|
*/
|
|
197
|
-
|
|
215
|
+
getFile<T extends BscFile>(filePath: string, normalizePath?: boolean): T;
|
|
198
216
|
/**
|
|
199
217
|
* Get a list of all scopes the file is loaded into
|
|
200
218
|
* @param file
|
|
201
219
|
*/
|
|
202
220
|
getScopesForFile(file: XmlFile | BrsFile): Scope[];
|
|
221
|
+
/**
|
|
222
|
+
* Get the first found scope for a file.
|
|
223
|
+
*/
|
|
224
|
+
getFirstScopeForFile(file: XmlFile | BrsFile): Scope;
|
|
203
225
|
getStatementsByName(name: string, originFile: BrsFile, namespaceName?: string): FileLink<Statement>[];
|
|
204
226
|
getStatementsForXmlFile(scope: XmlScope, filterName?: string): FileLink<FunctionStatement>[];
|
|
205
227
|
/**
|
|
@@ -240,12 +262,12 @@ export declare class Program {
|
|
|
240
262
|
* Transpile a single file and get the result as a string.
|
|
241
263
|
* This does not write anything to the file system.
|
|
242
264
|
*/
|
|
243
|
-
getTranspiledFileContents(pathAbsolute: string):
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
265
|
+
getTranspiledFileContents(pathAbsolute: string): FileTranspileResult;
|
|
266
|
+
/**
|
|
267
|
+
* Internal function used to transpile files.
|
|
268
|
+
* This does not write anything to the file system
|
|
269
|
+
*/
|
|
270
|
+
private _getTranspiledFileContents;
|
|
249
271
|
transpile(fileEntries: FileObj[], stagingFolderPath: string): Promise<void>;
|
|
250
272
|
/**
|
|
251
273
|
* Find a list of files in the program that have a function with the given name (case INsensitive)
|
|
@@ -262,3 +284,10 @@ export declare class Program {
|
|
|
262
284
|
private _manifest;
|
|
263
285
|
dispose(): void;
|
|
264
286
|
}
|
|
287
|
+
export interface FileTranspileResult {
|
|
288
|
+
pathAbsolute: string;
|
|
289
|
+
pkgPath: string;
|
|
290
|
+
code: string;
|
|
291
|
+
map: SourceMapGenerator;
|
|
292
|
+
typedef: string;
|
|
293
|
+
}
|