diff --git a/src/simulator/src/app.js b/src/simulator/src/app.ts similarity index 97% rename from src/simulator/src/app.js rename to src/simulator/src/app.ts index 95fcee23..0f4c7940 100644 --- a/src/simulator/src/app.js +++ b/src/simulator/src/app.ts @@ -1,8 +1,9 @@ -import { setup } from './setup' +import { setup } from './setup'; +import { JsConfig } from './types/app.types' document.addEventListener('DOMContentLoaded', () => { - setup() - var js = { + setup(); + const js: JsConfig = { devices: { dev0: { type: 'Input', @@ -206,5 +207,5 @@ document.addEventListener('DOMContentLoaded', () => { }, ], subcircuits: {}, - } -}) + }; +}); \ No newline at end of file diff --git a/src/simulator/src/types/app.types.ts b/src/simulator/src/types/app.types.ts new file mode 100644 index 00000000..e126fcd6 --- /dev/null +++ b/src/simulator/src/types/app.types.ts @@ -0,0 +1,33 @@ +interface Device { + type: string; + net?: string; + order?: number; + bits: number; + label?: string; + abits?: number; + words?: number; + offset?: number; + rdports?: Array<{ clock_polarity?: boolean }>; + wrports?: Array<{ clock_polarity?: boolean }>; + memdata?: Array; +} + +interface Connector { + to: { + id: string; + port: string; + }; + from: { + id: string; + port: string; + }; + name: string; +} + +export interface JsConfig { + devices: { + [key: string]: Device; + }; + connectors: Connector[]; + subcircuits: Record; +} \ No newline at end of file