{"version":3,"file":"XSLTProcessor.cjs","sources":["../../../../src/dom/node/XSLTProcessor.ts"],"sourcesContent":["import type { Document } from 'libxmljs';\nimport { parse } from 'libxslt';\nimport type { XSLTStylesheet } from 'libxslt';\nimport type { DOM } from '../abstract';\n\n/** @package */\nexport class XSLTProcessor {\n    private parameters: Record<string, unknown> = {};\n\n    private stylesheet: XSLTStylesheet | null = null;\n\n    importStylesheet(xsltDoc: DOM.Document) {\n        try {\n            this.stylesheet = parse(xsltDoc as Document);\n        } catch (error) {\n            console.error(error, 'xsl', xsltDoc.toString());\n            throw error;\n        }\n    }\n\n    reset() {\n        this.parameters = {};\n        this.stylesheet = null;\n    }\n\n    setParameter(_namespaceURI: string | null, name: string, value: unknown) {\n        this.parameters[name] = value;\n    }\n\n    transformToDocument(xmlDoc: DOM.Document) {\n        if (this.stylesheet == null) {\n            throw new Error('`importStylesheet` must be called.');\n        }\n\n        return this.stylesheet.apply(xmlDoc as Document, this.parameters);\n    }\n}\n"],"names":["parse"],"mappings":";;;AAMO,MAAM,cAAc;AAAA,EAApB,cAAA;AACH,SAAQ,aAAsC;AAE9C,SAAQ,aAAoC;AAAA,EAAA;AAAA,EAE5C,iBAAiB,SAAuB;AAChC,QAAA;AACK,WAAA,aAAaA,cAAM,OAAmB;AAAA,aACtC,OAAO;AACZ,cAAQ,MAAM,OAAO,OAAO,QAAQ,UAAU;AACxC,YAAA;AAAA,IACV;AAAA,EACJ;AAAA,EAEA,QAAQ;AACJ,SAAK,aAAa;AAClB,SAAK,aAAa;AAAA,EACtB;AAAA,EAEA,aAAa,eAA8B,MAAc,OAAgB;AAChE,SAAA,WAAW,IAAI,IAAI;AAAA,EAC5B;AAAA,EAEA,oBAAoB,QAAsB;AAClC,QAAA,KAAK,cAAc,MAAM;AACnB,YAAA,IAAI,MAAM,oCAAoC;AAAA,IACxD;AAEA,WAAO,KAAK,WAAW,MAAM,QAAoB,KAAK,UAAU;AAAA,EACpE;AACJ;;"}