{"version":3,"file":"tag.mjs","names":["Data","Tag","code","data","Uint8Array","constructor","long","length","size","encoder","i","d","head","v","DataView","buffer","byteOffset","byteLength","setUint16","setUint32","set"],"sources":["../../src/swf/tag.ts"],"sourcesContent":["import {Data} from './data.ts';\n\n/**\n * Tag object.\n */\nexport class Tag extends Data {\n\t/**\n\t * Tag code.\n\t */\n\tpublic code: number = 0;\n\n\t/**\n\t * Tag data.\n\t */\n\tpublic data: Uint8Array = new Uint8Array(0);\n\n\t/**\n\t * Tag constructor.\n\t */\n\tconstructor() {\n\t\tsuper();\n\t}\n\n\t/**\n\t * Is the tag a long tag.\n\t *\n\t * @returns True if long tag.\n\t */\n\tpublic get long() {\n\t\treturn this.data.length >= 0b111111;\n\t}\n\n\t/**\n\t * @inheritdoc\n\t */\n\tpublic get size() {\n\t\treturn 2 + (this.long ? 4 : 0) + this.data.length;\n\t}\n\n\t/**\n\t * @inheritdoc\n\t */\n\tpublic encoder(data: Uint8Array) {\n\t\tlet i = 0;\n\t\tconst {code, data: d, long} = this;\n\t\t// eslint-disable-next-line no-bitwise\n\t\tconst head = (code << 6) | (long ? 0b111111 : d.length);\n\t\tconst v = new DataView(data.buffer, data.byteOffset, data.byteLength);\n\t\tv.setUint16(i, head, true);\n\t\ti += 2;\n\t\tif (long) {\n\t\t\tv.setUint32(i, d.length, true);\n\t\t\ti += 4;\n\t\t}\n\t\tdata.set(d, i);\n\t}\n}\n"],"mappings":"AAAA,SAAQA,IAAI,QAAO,YAAW;;AAE9B;AACA;AACA;AACA,OAAO,MAAMC,GAAG,SAASD,IAAI,CAAC;EAC7B;AACD;AACA;EACQE,IAAI,GAAW,CAAC;;EAEvB;AACD;AACA;EACQC,IAAI,GAAe,IAAIC,UAAU,CAAC,CAAC,CAAC;;EAE3C;AACD;AACA;EACCC,WAAWA,CAAA,EAAG;IACb,KAAK,CAAC,CAAC;EACR;;EAEA;AACD;AACA;AACA;AACA;EACC,IAAWC,IAAIA,CAAA,EAAG;IACjB,OAAO,IAAI,CAACH,IAAI,CAACI,MAAM,IAAI,QAAQ;EACpC;;EAEA;AACD;AACA;EACC,IAAWC,IAAIA,CAAA,EAAG;IACjB,OAAO,CAAC,IAAI,IAAI,CAACF,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAACH,IAAI,CAACI,MAAM;EAClD;;EAEA;AACD;AACA;EACQE,OAAOA,CAACN,IAAgB,EAAE;IAChC,IAAIO,CAAC,GAAG,CAAC;IACT,MAAM;MAACR,IAAI;MAAEC,IAAI,EAAEQ,CAAC;MAAEL;IAAI,CAAC,GAAG,IAAI;IAClC;IACA,MAAMM,IAAI,GAAIV,IAAI,IAAI,CAAC,IAAKI,IAAI,GAAG,QAAQ,GAAGK,CAAC,CAACJ,MAAM,CAAC;IACvD,MAAMM,CAAC,GAAG,IAAIC,QAAQ,CAACX,IAAI,CAACY,MAAM,EAAEZ,IAAI,CAACa,UAAU,EAAEb,IAAI,CAACc,UAAU,CAAC;IACrEJ,CAAC,CAACK,SAAS,CAACR,CAAC,EAAEE,IAAI,EAAE,IAAI,CAAC;IAC1BF,CAAC,IAAI,CAAC;IACN,IAAIJ,IAAI,EAAE;MACTO,CAAC,CAACM,SAAS,CAACT,CAAC,EAAEC,CAAC,CAACJ,MAAM,EAAE,IAAI,CAAC;MAC9BG,CAAC,IAAI,CAAC;IACP;IACAP,IAAI,CAACiB,GAAG,CAACT,CAAC,EAAED,CAAC,CAAC;EACf;AACD","ignoreList":[]}