{"version":3,"file":"data.mjs","names":["subview","Data","constructor","encode","data","offset","size","Uint8Array","encoder"],"sources":["../../src/swf/data.ts"],"sourcesContent":["import {subview} from './util.ts';\n\n/**\n * Data object.\n */\nexport abstract class Data {\n\t/**\n\t * Data constructor.\n\t */\n\tconstructor() {}\n\n\t/**\n\t * Encode size.\n\t *\n\t * @returns The size.\n\t */\n\tpublic abstract get size(): number;\n\n\t/**\n\t * Encode into data.\n\t *\n\t * @param data Data encode target.\n\t */\n\tpublic abstract encoder(data: Uint8Array): void;\n\n\t/**\n\t * Encode into data at offset, or new data.\n\t *\n\t * @param data The buffer to use.\n\t * @param offset Offset in the buffer.\n\t * @returns Encoded data.\n\t */\n\tpublic encode(data: Uint8Array | null = null, offset = 0) {\n\t\tconst {size} = this;\n\t\tdata = data ? subview(data, offset, size) : new Uint8Array(size);\n\t\tthis.encoder(data);\n\t\treturn data;\n\t}\n}\n"],"mappings":"AAAA,SAAQA,OAAO,QAAO,YAAW;;AAEjC;AACA;AACA;AACA,OAAO,MAAeC,IAAI,CAAC;EAC1B;AACD;AACA;EACCC,WAAWA,CAAA,EAAG,CAAC;;EAEf;AACD;AACA;AACA;AACA;;EAGC;AACD;AACA;AACA;AACA;;EAGC;AACD;AACA;AACA;AACA;AACA;AACA;EACQC,MAAMA,CAACC,IAAuB,GAAG,IAAI,EAAEC,MAAM,GAAG,CAAC,EAAE;IACzD,MAAM;MAACC;IAAI,CAAC,GAAG,IAAI;IACnBF,IAAI,GAAGA,IAAI,GAAGJ,OAAO,CAACI,IAAI,EAAEC,MAAM,EAAEC,IAAI,CAAC,GAAG,IAAIC,UAAU,CAACD,IAAI,CAAC;IAChE,IAAI,CAACE,OAAO,CAACJ,IAAI,CAAC;IAClB,OAAOA,IAAI;EACZ;AACD","ignoreList":[]}