From 912ee53a6ae0ce28305605467c2853e0f3417283 Mon Sep 17 00:00:00 2001 From: Marcelo Lv Cabral Date: Fri, 13 Dec 2024 15:11:41 -0700 Subject: [PATCH] Fixed more static analysis issues --- src/core/brsTypes/components/RoInputEvent.ts | 4 +- .../brsTypes/components/RoVideoPlayerEvent.ts | 6 +-- src/core/index.ts | 47 +++++++++---------- 3 files changed, 26 insertions(+), 31 deletions(-) diff --git a/src/core/brsTypes/components/RoInputEvent.ts b/src/core/brsTypes/components/RoInputEvent.ts index 0f779b04..95e1829c 100644 --- a/src/core/brsTypes/components/RoInputEvent.ts +++ b/src/core/brsTypes/components/RoInputEvent.ts @@ -6,8 +6,8 @@ import { Interpreter } from "../../interpreter"; export class RoInputEvent extends BrsComponent implements BrsValue { readonly kind = ValueKind.Object; - private id: number; - private response?: BrsType; + readonly id: number; + readonly response?: BrsType; constructor(response?: BrsType) { super("roInputEvent"); diff --git a/src/core/brsTypes/components/RoVideoPlayerEvent.ts b/src/core/brsTypes/components/RoVideoPlayerEvent.ts index d1d6abe2..73438512 100644 --- a/src/core/brsTypes/components/RoVideoPlayerEvent.ts +++ b/src/core/brsTypes/components/RoVideoPlayerEvent.ts @@ -8,9 +8,9 @@ import { MediaEvent } from "../../common"; export class RoVideoPlayerEvent extends BrsComponent implements BrsValue { readonly kind = ValueKind.Object; - private flags: number; - private index: number; - private message: string; + readonly flags: number; + readonly index: number; + readonly message: string; constructor(flags: number, index: number) { super("roVideoPlayerEvent"); diff --git a/src/core/index.ts b/src/core/index.ts index 67be2b85..8e8ee3ef 100644 --- a/src/core/index.ts +++ b/src/core/index.ts @@ -131,8 +131,8 @@ export async function getReplInterpreter(payload: Partial) { if (payload.device.registry?.size) { replInterpreter.setRegistry(payload.device.registry); } - setupDeviceData(payload.device, replInterpreter); - setupDeviceFonts(payload.device, replInterpreter); + setupDeviceData(replInterpreter, payload.device); + setupDeviceFonts(replInterpreter, payload.device); } return replInterpreter; } @@ -374,9 +374,10 @@ function setupPayload(interpreter: Interpreter, payload: AppPayload): SourceResu if (payload.device.registry?.size) { interpreter.setRegistry(payload.device.registry); } - setupDeviceData(payload.device, interpreter); - setupDeviceFonts(payload.device, interpreter); - return setupPackageFiles(payload, interpreter); + setupDeviceData(interpreter, payload.device); + setupDeviceFonts(interpreter, payload.device); + setupTranslations(interpreter); + return setupPackageFiles(interpreter, payload); } interface SerializedPCode { @@ -413,10 +414,10 @@ function setupInputParams( /** * Updates the interpreter DeviceInfo Map with the provided data and * initializes the common: file system with device internal libraries. - * @param device object with device info data * @param interpreter the Interpreter instance to update + * @param device object with device info data */ -function setupDeviceData(device: DeviceInfo, interpreter: Interpreter) { +function setupDeviceData(interpreter: Interpreter, device: DeviceInfo) { Object.keys(device).forEach((key) => { if (key !== "registry" && key !== "fonts") { if (key === "developerId") { @@ -442,10 +443,10 @@ function setupDeviceData(device: DeviceInfo, interpreter: Interpreter) { /** * Updates the interpreter `common:` volume with device internal fonts. - * @param device object with device info data * @param interpreter the Interpreter instance to update + * @param device object with device info data */ -function setupDeviceFonts(device: DeviceInfo, interpreter: Interpreter) { +function setupDeviceFonts(interpreter: Interpreter, device: DeviceInfo) { let fontFamily = device.defaultFont ?? "Asap"; let fontPath = device.fontPath ?? "../fonts/"; @@ -494,12 +495,12 @@ function setupDeviceFonts(device: DeviceInfo, interpreter: Interpreter) { /** * Updates the interpreter pkg: file system with the provided package files and * loads the translation data based on the configured locale. - * @param payload with the source code, manifest and all the assets of the app. * @param interpreter the Interpreter instance to update + * @param payload with the source code, manifest and all the assets of the app. * * @returns a SourceResult object with the source map or the pcode data. */ -function setupPackageFiles(payload: AppPayload, interpreter: Interpreter): SourceResult { +function setupPackageFiles(interpreter: Interpreter, payload: AppPayload): SourceResult { const result: SourceResult = { sourceMap: new Map() }; const fsys = interpreter.fileSystem; if (!fsys || !Array.isArray(payload.paths)) { @@ -513,24 +514,18 @@ function setupPackageFiles(payload: AppPayload, interpreter: Interpreter): Sourc } else { result.iv = fsys.readFileSync(`pkg:/${filePath.url}`, "utf8"); } - } else if (filePath.type === "source") { - if ( - Array.isArray(payload.source) && - typeof payload.source[filePath.id] === "string" - ) { - result.sourceMap.set(filePath.url, payload.source[filePath.id]); - } else if (fsys.existsSync(`pkg:/${filePath.url}`)) { - result.sourceMap.set( - filePath.url, - fsys.readFileSync(`pkg:/${filePath.url}`, "utf8") - ); - } + } else if (filePath.type === "source" && Array.isArray(payload.source)) { + result.sourceMap.set(filePath.url, payload.source[filePath.id]); + } else if (filePath.type === "source" && fsys.existsSync(`pkg:/${filePath.url}`)) { + result.sourceMap.set( + filePath.url, + fsys.readFileSync(`pkg:/${filePath.url}`, "utf8") + ); } } catch (err: any) { - postMessage(`error,Error writing file ${filePath.url} - ${err.message}`); + postMessage(`error,Error accessing file ${filePath.url} - ${err.message}`); } } - loadTranslations(interpreter); return result; } @@ -539,7 +534,7 @@ function setupPackageFiles(payload: AppPayload, interpreter: Interpreter): Sourc * @param interpreter the Interpreter instance to update */ -function loadTranslations(interpreter: Interpreter) { +function setupTranslations(interpreter: Interpreter) { let xmlText = ""; let trType = ""; let trTarget = "";