Fix up types

This commit is contained in:
Will Scullin 2021-07-07 21:21:40 -07:00
parent 3008efaba9
commit e9cbef6988
No known key found for this signature in database
GPG Key ID: 26DCD1042C6638CD
4 changed files with 14 additions and 12 deletions

View File

@ -1,6 +1,6 @@
import { includes, memory } from '../types';
import { base64_decode } from '../base64';
import { Disk, NibbleFormat, DiskOptions, JSONDisk, NIBBLE_FORMATS, NibbleDisk } from './types';
import { DiskOptions, FloppyDisk, JSONDisk, NibbleFormat, NIBBLE_FORMATS } from './types';
import createDiskFrom2MG from './2mg';
import createDiskFromD13 from './d13';
import createDiskFromDOS from './do';
@ -14,8 +14,8 @@ import createDiskFromNibble from './nib';
* @param options
* @returns A nibblized disk
*/
export function createDisk(fmt: NibbleFormat, options: DiskOptions): NibbleDisk | null {
let disk: NibbleDisk | null = null;
export function createDisk(fmt: NibbleFormat, options: DiskOptions): FloppyDisk | null {
let disk: FloppyDisk | null = null;
switch (fmt) {
case '2mg':
@ -42,7 +42,7 @@ export function createDisk(fmt: NibbleFormat, options: DiskOptions): NibbleDisk
return disk;
}
export function createDiskFromJsonDisk(disk: JSONDisk): Disk | null {
export function createDiskFromJsonDisk(disk: JSONDisk): FloppyDisk | null {
const fmt = disk.type;
const readOnly = disk.readOnly;
const name = disk.name;

View File

@ -42,18 +42,20 @@ export const ENCODING_NIBBLE = 'nibble';
export const ENCODING_BITSTREAM = 'bitstream';
export const ENCODING_BLOCK = 'block';
export interface NibbleDisk extends Disk {
encoding: typeof ENCODING_NIBBLE
format: DiskFormat
volume: byte
export interface FloppyDisk extends Disk {
tracks: memory[]
}
export interface WozDisk extends Disk {
export interface NibbleDisk extends FloppyDisk {
encoding: typeof ENCODING_NIBBLE
format: DiskFormat
volume: byte
}
export interface WozDisk extends FloppyDisk {
encoding: typeof ENCODING_BITSTREAM
trackMap: number[]
rawTracks: Uint8Array[]
tracks: memory[]
}
export interface BlockDisk extends Disk {

View File

@ -326,5 +326,5 @@ export default function createDiskFromWoz(options: DiskOptions) {
disk.readOnly = true; //chunks.info.writeProtected === 1;
disk.name = chunks.meta?.values['title'] || options.name;
return disk;
return disk as WozDisk;
}

View File

@ -51,7 +51,7 @@ export class AppleAudioProcessor extends AudioWorkletProcessor {
}
// Keep alive indefinitely.
return true;
return false;
}
}