{"version":3,"file":"data.mjs","names":["DATA_COLUMNS","INDENT_STRING","NEWLINE_STRING","assertXmlTagName","base64Decode","base64Encode","xmlElementText","Value","ValueData","TYPE","TAG_NAMES","constructor","value","Uint8Array","fromXmlElement","element","text","nodeValue","toXml","options","depth","n","newlineString","c","dataColumns","p","indentString","repeat","r","s","slice"],"sources":["../../src/value/data.ts"],"sourcesContent":["import {\n\tDATA_COLUMNS,\n\tINDENT_STRING,\n\tIToXmlOptions,\n\tNEWLINE_STRING\n} from '../options.ts';\nimport {\n\tIElement,\n\tassertXmlTagName,\n\tbase64Decode,\n\tbase64Encode,\n\txmlElementText\n} from '../util.ts';\nimport {Value} from '../value.ts';\n\n/**\n * ValueData object.\n */\nexport class ValueData extends Value {\n\t/**\n\t * Value type.\n\t */\n\tpublic static readonly TYPE = 'data';\n\n\t/**\n\t * Tag names.\n\t */\n\tpublic static readonly TAG_NAMES = ['data'];\n\n\t/**\n\t * Value value.\n\t */\n\tpublic value: Uint8Array;\n\n\t/**\n\t * ValueData constructor.\n\t *\n\t * @param value The value.\n\t */\n\tconstructor(value = new Uint8Array(0)) {\n\t\tsuper();\n\n\t\tthis.value = value;\n\t}\n\n\t/**\n\t * @inheritdoc\n\t */\n\tpublic fromXmlElement(element: Readonly<IElement>) {\n\t\tassertXmlTagName(element, 'data');\n\t\tconst text = xmlElementText(element)?.nodeValue || '';\n\t\tthis.value = base64Decode(text);\n\t}\n\n\t/**\n\t * @inheritdoc\n\t */\n\tpublic toXml(options: Readonly<IToXmlOptions> | null = null, depth = 0) {\n\t\tconst n = options?.newlineString ?? NEWLINE_STRING;\n\t\tconst c = options?.dataColumns ?? DATA_COLUMNS;\n\t\tconst p = (options?.indentString ?? INDENT_STRING).repeat(depth);\n\t\tlet r = `${p}<data>`;\n\t\tif (c > 0) {\n\t\t\tfor (let s = base64Encode(this.value); s; s = s.slice(c)) {\n\t\t\t\tr += `${n}${p}${s.slice(0, c)}`;\n\t\t\t}\n\t\t} else {\n\t\t\tr += `${n}${p}${base64Encode(this.value)}`;\n\t\t}\n\t\tr += `${n}${p}</data>`;\n\t\treturn r;\n\t}\n}\n"],"mappings":"AAAA,SACCA,YAAY,EACZC,aAAa,EAEbC,cAAc,QACR,gBAAe;AACtB,SAECC,gBAAgB,EAChBC,YAAY,EACZC,YAAY,EACZC,cAAc,QACR,aAAY;AACnB,SAAQC,KAAK,QAAO,cAAa;;AAEjC;AACA;AACA;AACA,OAAO,MAAMC,SAAS,SAASD,KAAK,CAAC;EACpC;AACD;AACA;EACC,OAAuBE,IAAI,GAAG,MAAM;;EAEpC;AACD;AACA;EACC,OAAuBC,SAAS,GAAG,CAAC,MAAM,CAAC;;EAE3C;AACD;AACA;;EAGC;AACD;AACA;AACA;AACA;EACCC,WAAWA,CAACC,KAAK,GAAG,IAAIC,UAAU,CAAC,CAAC,CAAC,EAAE;IACtC,KAAK,CAAC,CAAC;IAEP,IAAI,CAACD,KAAK,GAAGA,KAAK;EACnB;;EAEA;AACD;AACA;EACQE,cAAcA,CAACC,OAA2B,EAAE;IAClDZ,gBAAgB,CAACY,OAAO,EAAE,MAAM,CAAC;IACjC,MAAMC,IAAI,GAAGV,cAAc,CAACS,OAAO,CAAC,EAAEE,SAAS,IAAI,EAAE;IACrD,IAAI,CAACL,KAAK,GAAGR,YAAY,CAACY,IAAI,CAAC;EAChC;;EAEA;AACD;AACA;EACQE,KAAKA,CAACC,OAAuC,GAAG,IAAI,EAAEC,KAAK,GAAG,CAAC,EAAE;IACvE,MAAMC,CAAC,GAAGF,OAAO,EAAEG,aAAa,IAAIpB,cAAc;IAClD,MAAMqB,CAAC,GAAGJ,OAAO,EAAEK,WAAW,IAAIxB,YAAY;IAC9C,MAAMyB,CAAC,GAAG,CAACN,OAAO,EAAEO,YAAY,IAAIzB,aAAa,EAAE0B,MAAM,CAACP,KAAK,CAAC;IAChE,IAAIQ,CAAC,GAAG,GAAGH,CAAC,QAAQ;IACpB,IAAIF,CAAC,GAAG,CAAC,EAAE;MACV,KAAK,IAAIM,CAAC,GAAGxB,YAAY,CAAC,IAAI,CAACO,KAAK,CAAC,EAAEiB,CAAC,EAAEA,CAAC,GAAGA,CAAC,CAACC,KAAK,CAACP,CAAC,CAAC,EAAE;QACzDK,CAAC,IAAI,GAAGP,CAAC,GAAGI,CAAC,GAAGI,CAAC,CAACC,KAAK,CAAC,CAAC,EAAEP,CAAC,CAAC,EAAE;MAChC;IACD,CAAC,MAAM;MACNK,CAAC,IAAI,GAAGP,CAAC,GAAGI,CAAC,GAAGpB,YAAY,CAAC,IAAI,CAACO,KAAK,CAAC,EAAE;IAC3C;IACAgB,CAAC,IAAI,GAAGP,CAAC,GAAGI,CAAC,SAAS;IACtB,OAAOG,CAAC;EACT;AACD","ignoreList":[]}