{"version":3,"file":"date.mjs","names":["INDENT_STRING","assertXmlTagName","xmlElementText","Value","ValueDate","TYPE","TAG_NAMES","value","Date","constructor","fromXmlElement","element","text","nodeValue","v","time","getTime","Error","toXml","options","depth","p","indentString","repeat","d","toISOString","replace"],"sources":["../../src/value/date.ts"],"sourcesContent":["import {INDENT_STRING, IToXmlOptions} from '../options.ts';\nimport {IElement, assertXmlTagName, xmlElementText} from '../util.ts';\nimport {Value} from '../value.ts';\n\n/**\n * ValueDate object.\n */\nexport class ValueDate extends Value {\n\t/**\n\t * Value type.\n\t */\n\tpublic static readonly TYPE = 'date';\n\n\t/**\n\t * Tag names.\n\t */\n\tpublic static readonly TAG_NAMES = ['date'];\n\n\t/**\n\t * Value value.\n\t */\n\tpublic value = new Date();\n\n\t/**\n\t * ValueDate constructor.\n\t *\n\t * @param value The value.\n\t */\n\tconstructor(value = new Date()) {\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, 'date');\n\t\tconst text = xmlElementText(element)?.nodeValue || '';\n\t\tconst v = new Date(text);\n\t\tconst time = v.getTime();\n\t\tif (!time && time !== 0) {\n\t\t\tthrow new Error(`Invalid date data: ${text}`);\n\t\t}\n\t\tthis.value = v;\n\t}\n\n\t/**\n\t * @inheritdoc\n\t */\n\tpublic toXml(options: Readonly<IToXmlOptions> | null = null, depth = 0) {\n\t\tconst p = (options?.indentString ?? INDENT_STRING).repeat(depth);\n\t\tconst d = this.value.toISOString().replace(/\\.\\d+/, '');\n\t\treturn `${p}<date>${d}</date>`;\n\t}\n}\n"],"mappings":"AAAA,SAAQA,aAAa,QAAsB,gBAAe;AAC1D,SAAkBC,gBAAgB,EAAEC,cAAc,QAAO,aAAY;AACrE,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;EACQC,KAAK,GAAG,IAAIC,IAAI,CAAC,CAAC;;EAEzB;AACD;AACA;AACA;AACA;EACCC,WAAWA,CAACF,KAAK,GAAG,IAAIC,IAAI,CAAC,CAAC,EAAE;IAC/B,KAAK,CAAC,CAAC;IAEP,IAAI,CAACD,KAAK,GAAGA,KAAK;EACnB;;EAEA;AACD;AACA;EACQG,cAAcA,CAACC,OAA2B,EAAE;IAClDV,gBAAgB,CAACU,OAAO,EAAE,MAAM,CAAC;IACjC,MAAMC,IAAI,GAAGV,cAAc,CAACS,OAAO,CAAC,EAAEE,SAAS,IAAI,EAAE;IACrD,MAAMC,CAAC,GAAG,IAAIN,IAAI,CAACI,IAAI,CAAC;IACxB,MAAMG,IAAI,GAAGD,CAAC,CAACE,OAAO,CAAC,CAAC;IACxB,IAAI,CAACD,IAAI,IAAIA,IAAI,KAAK,CAAC,EAAE;MACxB,MAAM,IAAIE,KAAK,CAAC,sBAAsBL,IAAI,EAAE,CAAC;IAC9C;IACA,IAAI,CAACL,KAAK,GAAGO,CAAC;EACf;;EAEA;AACD;AACA;EACQI,KAAKA,CAACC,OAAuC,GAAG,IAAI,EAAEC,KAAK,GAAG,CAAC,EAAE;IACvE,MAAMC,CAAC,GAAG,CAACF,OAAO,EAAEG,YAAY,IAAItB,aAAa,EAAEuB,MAAM,CAACH,KAAK,CAAC;IAChE,MAAMI,CAAC,GAAG,IAAI,CAACjB,KAAK,CAACkB,WAAW,CAAC,CAAC,CAACC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC;IACvD,OAAO,GAAGL,CAAC,SAASG,CAAC,SAAS;EAC/B;AACD","ignoreList":[]}