import * as Token from 'token-types' ; import { IGetToken } from 'strtok3/lib/core' ; import { FourCcToken } from '../common/FourCC' ; /**
 * "EA IFF 85" Standard for Interchange Format Files
 * Ref: http://www.martinreddy.net/gfx/2d/IFF.txt
 */ export interface IChunkHeader { /**
     *  A chunk ID (ie, 4 ASCII bytes)
     */ chunkID : string ; /**
     * Number of data bytes following this data header
     */ chunkSize : number ; } /**
 * "EA IFF 85" Standard for Interchange Format Files
 * Ref: http://www.martinreddy.net/gfx/2d/IFF.txt
 */ export interface IChunkHeader64 { /**
     *  A chunk ID (ie, 4 ASCII bytes)
     */ chunkID : string ; /**
     * Number of data bytes following this data header
     */ chunkSize : bigint ; } /**
 * Common AIFF chunk header
 */ export const Header = { len : 8 , get : ( buf , off ) : IChunkHeader => { return { chunkID : FourCcToken . get ( buf , off ) , chunkSize : Number ( BigInt ( Token . UINT32_BE . get ( buf , off + 4 ) ) ) } ; } } ;