Latest Threat Research:SANDWORM_MODE: Shai-Hulud-Style npm Worm Hijacks CI Workflows and Poisons AI Toolchains.Details
Socket
Book a DemoInstallSign in
Socket

xml-tokenizer

Package Overview
Dependencies
Maintainers
1
Versions
43
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

xml-tokenizer - npm Package Compare versions

Comparing version
0.0.40
to
0.0.41
+8
dist/cjs/html-to-md.js
"use strict";var b=require("./config.js"),u=require("./xml-to-string.js"),C=Object.defineProperty,c=Object.getOwnPropertySymbols,m=Object.prototype.hasOwnProperty,d=Object.prototype.propertyIsEnumerable,f=(e,l,o)=>l in e?C(e,l,{enumerable:!0,configurable:!0,writable:!0,value:o}):e[l]=o,$=(e,l)=>{for(var o in l||(l={}))m.call(l,o)&&f(e,o,l[o]);if(c)for(var o of c(l))d.call(l,o)&&f(e,o,l[o]);return e},X=(e,l)=>{var o={};for(var i in e)m.call(e,i)&&l.indexOf(i)<0&&(o[i]=e[i]);if(e!=null&&c)for(var i of c(e))l.indexOf(i)<0&&d.call(e,i)&&(o[i]=e[i]);return o};function v(e,l={}){const o=l,{xmlOptions:i=b.htmlConfig,transformers:h,skipNodes:p=y}=o,S=X(o,["xmlOptions","transformers","skipNodes"]);return u.xmlToString(e,$({xmlOptions:i,skipNodes:p,transformers:$({h1:(r,t)=>{const n=s(u.getXmlStringNodeContent(r));return n===""?"":`${g(t)}# ${n}`},h2:(r,t)=>{const n=s(u.getXmlStringNodeContent(r));return n===""?"":`${g(t)}## ${n}`},h3:(r,t)=>{const n=s(u.getXmlStringNodeContent(r));return n===""?"":`${g(t)}### ${n}`},h4:(r,t)=>{const n=s(u.getXmlStringNodeContent(r));return n===""?"":`${g(t)}#### ${n}`},h5:(r,t)=>{const n=s(u.getXmlStringNodeContent(r));return n===""?"":`${g(t)}##### ${n}`},h6:(r,t)=>{const n=s(u.getXmlStringNodeContent(r));return n===""?"":`${g(t)}###### ${n}`},p:(r,t)=>{const n=s(u.getXmlStringNodeContent(r));return n===""?"":`${g(t)}${n}`},strong:r=>{const t=s(u.getXmlStringNodeContent(r));return t===""?"":`**${t}**`},b:r=>{const t=s(u.getXmlStringNodeContent(r));return t===""?"":`**${t}**`},em:r=>{const t=s(u.getXmlStringNodeContent(r));return t===""?"":`*${t}*`},i:r=>{const t=s(u.getXmlStringNodeContent(r));return t===""?"":`*${t}*`},a:r=>{var t;const n=(t=r.attributes.find(N=>N.local==="href"))==null?void 0:t.value,a=s(u.getXmlStringNodeContent(r));return a===""?"":n!=null?`[${a}](${n})`:a},ul:(r,t)=>{const n=u.getXmlStringNodeContent(r);return n===""?"":`${g(t)}${n}`},ol:(r,t)=>{const n=u.getXmlStringNodeContent(r);return n===""?"":`${g(t)}${n}`},li:(r,t)=>{const n=s(u.getXmlStringNodeContent(r));if(n==="")return"";const a=O(t);return`${" ".repeat(Math.max(0,a-1))}- ${n}
`},blockquote:(r,t)=>{const n=s(u.getXmlStringNodeContent(r));return n===""?"":`${g(t)}> ${n}`},hr:(r,t)=>`${g(t)}---`,br:()=>`
`,code:r=>{const t=s(u.getXmlStringNodeContent(r));return t===""?"":`\`${t}\``},pre:(r,t)=>{const n=u.getXmlStringNodeContent(r);return n===""?"":`${g(t)}\`\`\`
${n}
\`\`\``}},h)},S))}function s(e){return e.replace(/\s+/g," ").trim()}function g(e){if(e.length===0)return"";const l=e[e.length-1];if(l==null||l.content.length===0)return"";for(let o=l.content.length-1;o>=0;o--){const i=l.content[o];if(typeof i=="object"&&i.string!=null&&i.string!==""){if(k.has(i.local))return`
`;if(x.has(i.local))return`
`}}return""}function O(e){let l=0;for(let o=e.length-1;o>=0;o--){const i=e[o];i&&(i.local==="ul"||i.local==="ol")&&l++}return l}const k=new Set(["h1","h2","h3","h4","h5","h6","p","div","blockquote","hr","pre","ul","ol","li"]),x=new Set(["strong","b","em","i","a","code","br"]),y=["script","style","meta","link","noscript","iframe","object","embed","param","base","title","head"];exports.htmlToMarkdown=v;
"use strict";var i=require("./get-q-name.js"),k=require("./tokenizer/tokenize.js"),g=Object.defineProperty,c=Object.getOwnPropertySymbols,m=Object.prototype.hasOwnProperty,b=Object.prototype.propertyIsEnumerable,p=(n,e,t)=>e in n?g(n,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):n[e]=t,d=(n,e)=>{for(var t in e||(e={}))m.call(e,t)&&p(n,t,e[t]);if(c)for(var t of c(e))b.call(e,t)&&p(n,t,e[t]);return n};function v(n,e={}){const{transformers:t={},xmlOptions:s={},skipNodes:r=[],preserveTree:a=!1}=e,o={local:"root",attributes:[],content:[]},u={stack:[o],transformers:d({__default:l},t),skipNodes:new Set(r),preserveTree:a};return k.tokenize(n,f=>{x(f,u)},s),o.string=l(o),o}function x(n,e){switch(n.type){case"ElementStart":{const t=i.getQName(n.local,n.prefix.length>0?n.prefix:void 0).toLowerCase(),s=e.skipNodes.has(t),r={local:n.local,prefix:n.prefix.length>0?n.prefix:void 0,attributes:[],content:[],skip:s},a=e.stack[e.stack.length-1];a!=null&&!a.skip&&a.content.push(r),e.stack.push(r);break}case"ElementEnd":{if(n.end.type==="Close"||n.end.type==="Empty"){const t=e.stack.pop();if(t==null||t.skip)return;const s=i.getQName(t.local,t.prefix).toLowerCase(),r=e.transformers[s];r!=null?t.string=r(t,e.stack):e.transformers.__default!=null&&(t.string=e.transformers.__default(t,e.stack)),e.preserveTree||(t.content=[])}break}case"Attribute":{const t=e.stack[e.stack.length-1];if(t==null||t.skip)return;t.attributes.push({local:n.local,prefix:n.prefix.length>0?n.prefix:void 0,value:n.value});break}case"Text":case"Cdata":{const t=e.stack[e.stack.length-1];if(t==null||t.skip)return;n.text.trim().length>0&&t.content.push(n.text);break}}}function l(n){return n.content.map(e=>typeof e=="string"?e:e.string).join("")}exports.getXmlStringNodeContent=l,exports.xmlToString=v;
import{htmlConfig as O}from"./config.js";import{xmlToString as x,getXmlStringNodeContent as u}from"./xml-to-string.js";var y=Object.defineProperty,f=Object.getOwnPropertySymbols,$=Object.prototype.hasOwnProperty,p=Object.prototype.propertyIsEnumerable,h=(e,l,o)=>l in e?y(e,l,{enumerable:!0,configurable:!0,writable:!0,value:o}):e[l]=o,m=(e,l)=>{for(var o in l||(l={}))$.call(l,o)&&h(e,o,l[o]);if(f)for(var o of f(l))p.call(l,o)&&h(e,o,l[o]);return e},k=(e,l)=>{var o={};for(var s in e)$.call(e,s)&&l.indexOf(s)<0&&(o[s]=e[s]);if(e!=null&&f)for(var s of f(e))l.indexOf(s)<0&&p.call(e,s)&&(o[s]=e[s]);return o};function j(e,l={}){const o=l,{xmlOptions:s=O,transformers:b,skipNodes:g=P}=o,d=k(o,["xmlOptions","transformers","skipNodes"]);return x(e,m({xmlOptions:s,skipNodes:g,transformers:m({h1:(n,t)=>{const r=i(u(n));return r===""?"":`${a(t)}# ${r}`},h2:(n,t)=>{const r=i(u(n));return r===""?"":`${a(t)}## ${r}`},h3:(n,t)=>{const r=i(u(n));return r===""?"":`${a(t)}### ${r}`},h4:(n,t)=>{const r=i(u(n));return r===""?"":`${a(t)}#### ${r}`},h5:(n,t)=>{const r=i(u(n));return r===""?"":`${a(t)}##### ${r}`},h6:(n,t)=>{const r=i(u(n));return r===""?"":`${a(t)}###### ${r}`},p:(n,t)=>{const r=i(u(n));return r===""?"":`${a(t)}${r}`},strong:n=>{const t=i(u(n));return t===""?"":`**${t}**`},b:n=>{const t=i(u(n));return t===""?"":`**${t}**`},em:n=>{const t=i(u(n));return t===""?"":`*${t}*`},i:n=>{const t=i(u(n));return t===""?"":`*${t}*`},a:n=>{var t;const r=(t=n.attributes.find(v=>v.local==="href"))==null?void 0:t.value,c=i(u(n));return c===""?"":r!=null?`[${c}](${r})`:c},ul:(n,t)=>{const r=u(n);return r===""?"":`${a(t)}${r}`},ol:(n,t)=>{const r=u(n);return r===""?"":`${a(t)}${r}`},li:(n,t)=>{const r=i(u(n));if(r==="")return"";const c=w(t);return`${" ".repeat(Math.max(0,c-1))}- ${r}
`},blockquote:(n,t)=>{const r=i(u(n));return r===""?"":`${a(t)}> ${r}`},hr:(n,t)=>`${a(t)}---`,br:()=>`
`,code:n=>{const t=i(u(n));return t===""?"":`\`${t}\``},pre:(n,t)=>{const r=u(n);return r===""?"":`${a(t)}\`\`\`
${r}
\`\`\``}},b)},d))}function i(e){return e.replace(/\s+/g," ").trim()}function a(e){if(e.length===0)return"";const l=e[e.length-1];if(l==null||l.content.length===0)return"";for(let o=l.content.length-1;o>=0;o--){const s=l.content[o];if(typeof s=="object"&&s.string!=null&&s.string!==""){if(S.has(s.local))return`
`;if(N.has(s.local))return`
`}}return""}function w(e){let l=0;for(let o=e.length-1;o>=0;o--){const s=e[o];s&&(s.local==="ul"||s.local==="ol")&&l++}return l}const S=new Set(["h1","h2","h3","h4","h5","h6","p","div","blockquote","hr","pre","ul","ol","li"]),N=new Set(["strong","b","em","i","a","code","br"]),P=["script","style","meta","link","noscript","iframe","object","embed","param","base","title","head"];export{j as htmlToMarkdown};
import{getQName as i}from"./get-q-name.js";import{tokenize as k}from"./tokenizer/tokenize.js";var m=Object.defineProperty,c=Object.getOwnPropertySymbols,g=Object.prototype.hasOwnProperty,b=Object.prototype.propertyIsEnumerable,p=(n,e,t)=>e in n?m(n,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):n[e]=t,d=(n,e)=>{for(var t in e||(e={}))g.call(e,t)&&p(n,t,e[t]);if(c)for(var t of c(e))b.call(e,t)&&p(n,t,e[t]);return n};function v(n,e={}){const{transformers:t={},xmlOptions:s={},skipNodes:r=[],preserveTree:o=!1}=e,a={local:"root",attributes:[],content:[]},f={stack:[a],transformers:d({__default:l},t),skipNodes:new Set(r),preserveTree:o};return k(n,u=>{x(u,f)},s),a.string=l(a),a}function x(n,e){switch(n.type){case"ElementStart":{const t=i(n.local,n.prefix.length>0?n.prefix:void 0).toLowerCase(),s=e.skipNodes.has(t),r={local:n.local,prefix:n.prefix.length>0?n.prefix:void 0,attributes:[],content:[],skip:s},o=e.stack[e.stack.length-1];o!=null&&!o.skip&&o.content.push(r),e.stack.push(r);break}case"ElementEnd":{if(n.end.type==="Close"||n.end.type==="Empty"){const t=e.stack.pop();if(t==null||t.skip)return;const s=i(t.local,t.prefix).toLowerCase(),r=e.transformers[s];r!=null?t.string=r(t,e.stack):e.transformers.__default!=null&&(t.string=e.transformers.__default(t,e.stack)),e.preserveTree||(t.content=[])}break}case"Attribute":{const t=e.stack[e.stack.length-1];if(t==null||t.skip)return;t.attributes.push({local:n.local,prefix:n.prefix.length>0?n.prefix:void 0,value:n.value});break}case"Text":case"Cdata":{const t=e.stack[e.stack.length-1];if(t==null||t.skip)return;n.text.trim().length>0&&t.content.push(n.text);break}}}function l(n){return n.content.map(e=>typeof e=="string"?e:e.string).join("")}export{l as getXmlStringNodeContent,v as xmlToString};
import { TXmlStringNode, TXmlToStringOptions } from './xml-to-string';
/**
* Converts HTML to Markdown using a streaming XML tokenizer approach.
*
* @param html - The HTML string to convert
* @param options - Configuration options for the conversion
* @returns The converted Markdown string with node tree
*
* @remarks
* This implementation uses a streaming approach where transformers can only see
* previously processed nodes. Spacing is determined by looking at the previous
* sibling element type (block vs inline).
*/
export declare function htmlToMarkdown(html: string, options?: THtmlToMarkdownOptions): TXmlStringNode & {
string: string;
};
interface THtmlToMarkdownOptions extends TXmlToStringOptions {
}
export {};
import { type TXmlStreamOptions } from './tokenizer';
export declare function xmlToString(xmlString: string, options?: TXmlToStringOptions): TXmlStringNode & {
string: string;
};
export type TXmlToStringOptions = {
transformers?: TXmlStringTransformers;
xmlOptions?: TXmlStreamOptions;
skipNodes?: string[];
preserveTree?: boolean;
};
export type TXmlStringTransformer = (node: TXmlStringNode, stack: TXmlStringNode[]) => string;
export type TXmlStringTransformers = Record<string, TXmlStringTransformer>;
export interface TXmlStringNode {
local: string;
prefix?: string;
attributes: {
local: string;
prefix?: string;
value: string;
}[];
content: (TXmlStringNode | string)[];
skip?: boolean;
string?: string;
}
export declare function getXmlStringNodeContent(node: TXmlStringNode): string;
+1
-1

@@ -1,1 +0,1 @@

"use strict";var E=require("./config.js"),a=require("./get-q-name.js"),A=require("./processor/process.js"),T=require("./processor/processors/path-tracker.js"),R=require("./processor/validate-processor-order.js"),l=require("./selector/select.js"),m=require("./selector/TokenSelector.js"),t=require("./selector/TokenSelectState.js"),O=require("./selector/TokenSelectStateMachine.js"),C=require("./token-to-xml.js"),e=require("./tokenizer/ascii-constants.js"),i=require("./tokenizer/tokenize.js"),r=require("./tokenizer/utils.js"),s=require("./tokenizer/XmlError.js"),c=require("./tokenizer/XmlStream.js"),N=require("./tokens-to-xml.js"),S=require("./xml-to-object.js"),o=require("./xml-to-simplified-object.js");exports.htmlConfig=E.htmlConfig,exports.svgConfig=E.svgConfig,exports.xmlConfig=E.xmlConfig,exports.getQName=a.getQName,exports.process=A.process,exports.pathTracker=T.pathTracker,exports.validateProcessorOrder=R.validateProcessorOrder,exports.select=l.select,exports.TokenSelector=m.TokenSelector,exports.EToCacheNodeProps=t.EToCacheNodeProps,exports.ETokenMatchCriteria=t.ETokenMatchCriteria,exports.TokenSelectState=t.TokenSelectState,exports.TokenSelectStateMachine=O.TokenSelectStateMachine,exports.tokenToXml=C.tokenToXml,exports.AMPERSAND=e.AMPERSAND,exports.CARRIAGE_RETURN=e.CARRIAGE_RETURN,exports.CLOSE_SQUARE_BRACKET=e.CLOSE_SQUARE_BRACKET,exports.COLON=e.COLON,exports.DOUBLE_QUOTE=e.DOUBLE_QUOTE,exports.EQUALS=e.EQUALS,exports.EXCLAMATION_MARK=e.EXCLAMATION_MARK,exports.GREATER_THAN=e.GREATER_THAN,exports.HASH=e.HASH,exports.HORIZONTAL_TAB=e.HORIZONTAL_TAB,exports.HYPHEN=e.HYPHEN,exports.LESS_THAN=e.LESS_THAN,exports.LINE_FEED=e.LINE_FEED,exports.LOWERCASE_A=e.LOWERCASE_A,exports.LOWERCASE_F=e.LOWERCASE_F,exports.LOWERCASE_X=e.LOWERCASE_X,exports.LOWERCASE_Z=e.LOWERCASE_Z,exports.NINE=e.NINE,exports.OPEN_SQUARE_BRACKET=e.OPEN_SQUARE_BRACKET,exports.PERCENT=e.PERCENT,exports.PERIOD=e.PERIOD,exports.QUESTION_MARK=e.QUESTION_MARK,exports.SEMICOLON=e.SEMICOLON,exports.SINGLE_QUOTE=e.SINGLE_QUOTE,exports.SLASH=e.SLASH,exports.SPACE=e.SPACE,exports.UNDERSCORE=e.UNDERSCORE,exports.UPPERCASE_A=e.UPPERCASE_A,exports.UPPERCASE_F=e.UPPERCASE_F,exports.UPPERCASE_P=e.UPPERCASE_P,exports.UPPERCASE_S=e.UPPERCASE_S,exports.UPPERCASE_Z=e.UPPERCASE_Z,exports.ZERO=e.ZERO,exports.tokenize=i.tokenize,exports.tokenizeXmlStream=i.tokenizeXmlStream,exports.isAsciiDigit=r.isAsciiDigit,exports.isXmlChar=r.isXmlChar,exports.isXmlName=r.isXmlName,exports.isXmlNameByte=r.isXmlNameByte,exports.isXmlNameStart=r.isXmlNameStart,exports.isXmlSpaceByte=r.isXmlSpaceByte,exports.XmlError=s.XmlError,exports.XmlStream=c.XmlStream,exports.tokensToXml=N.tokensToXml,exports.processTokenForObject=S.processTokenForObject,exports.xmlToObject=S.xmlToObject,exports.processTokenForSimplifiedObject=o.processTokenForSimplifiedObject,exports.xmlToSimplifiedObject=o.xmlToSimplifiedObject;
"use strict";var E=require("./config.js"),a=require("./get-q-name.js"),A=require("./html-to-md.js"),l=require("./processor/process.js"),T=require("./processor/processors/path-tracker.js"),m=require("./processor/validate-processor-order.js"),R=require("./selector/select.js"),C=require("./selector/TokenSelector.js"),t=require("./selector/TokenSelectState.js"),O=require("./selector/TokenSelectStateMachine.js"),n=require("./token-to-xml.js"),e=require("./tokenizer/ascii-constants.js"),i=require("./tokenizer/tokenize.js"),r=require("./tokenizer/utils.js"),N=require("./tokenizer/XmlError.js"),s=require("./tokenizer/XmlStream.js"),c=require("./tokens-to-xml.js"),_=require("./xml-to-object.js"),S=require("./xml-to-simplified-object.js"),o=require("./xml-to-string.js");exports.htmlConfig=E.htmlConfig,exports.svgConfig=E.svgConfig,exports.xmlConfig=E.xmlConfig,exports.getQName=a.getQName,exports.htmlToMarkdown=A.htmlToMarkdown,exports.process=l.process,exports.pathTracker=T.pathTracker,exports.validateProcessorOrder=m.validateProcessorOrder,exports.select=R.select,exports.TokenSelector=C.TokenSelector,exports.EToCacheNodeProps=t.EToCacheNodeProps,exports.ETokenMatchCriteria=t.ETokenMatchCriteria,exports.TokenSelectState=t.TokenSelectState,exports.TokenSelectStateMachine=O.TokenSelectStateMachine,exports.tokenToXml=n.tokenToXml,exports.AMPERSAND=e.AMPERSAND,exports.CARRIAGE_RETURN=e.CARRIAGE_RETURN,exports.CLOSE_SQUARE_BRACKET=e.CLOSE_SQUARE_BRACKET,exports.COLON=e.COLON,exports.DOUBLE_QUOTE=e.DOUBLE_QUOTE,exports.EQUALS=e.EQUALS,exports.EXCLAMATION_MARK=e.EXCLAMATION_MARK,exports.GREATER_THAN=e.GREATER_THAN,exports.HASH=e.HASH,exports.HORIZONTAL_TAB=e.HORIZONTAL_TAB,exports.HYPHEN=e.HYPHEN,exports.LESS_THAN=e.LESS_THAN,exports.LINE_FEED=e.LINE_FEED,exports.LOWERCASE_A=e.LOWERCASE_A,exports.LOWERCASE_F=e.LOWERCASE_F,exports.LOWERCASE_X=e.LOWERCASE_X,exports.LOWERCASE_Z=e.LOWERCASE_Z,exports.NINE=e.NINE,exports.OPEN_SQUARE_BRACKET=e.OPEN_SQUARE_BRACKET,exports.PERCENT=e.PERCENT,exports.PERIOD=e.PERIOD,exports.QUESTION_MARK=e.QUESTION_MARK,exports.SEMICOLON=e.SEMICOLON,exports.SINGLE_QUOTE=e.SINGLE_QUOTE,exports.SLASH=e.SLASH,exports.SPACE=e.SPACE,exports.UNDERSCORE=e.UNDERSCORE,exports.UPPERCASE_A=e.UPPERCASE_A,exports.UPPERCASE_F=e.UPPERCASE_F,exports.UPPERCASE_P=e.UPPERCASE_P,exports.UPPERCASE_S=e.UPPERCASE_S,exports.UPPERCASE_Z=e.UPPERCASE_Z,exports.ZERO=e.ZERO,exports.tokenize=i.tokenize,exports.tokenizeXmlStream=i.tokenizeXmlStream,exports.isAsciiDigit=r.isAsciiDigit,exports.isXmlChar=r.isXmlChar,exports.isXmlName=r.isXmlName,exports.isXmlNameByte=r.isXmlNameByte,exports.isXmlNameStart=r.isXmlNameStart,exports.isXmlSpaceByte=r.isXmlSpaceByte,exports.XmlError=N.XmlError,exports.XmlStream=s.XmlStream,exports.tokensToXml=c.tokensToXml,exports.xmlToObject=_.xmlToObject,exports.processTokenForSimplifiedObject=S.processTokenForSimplifiedObject,exports.xmlToSimplifiedObject=S.xmlToSimplifiedObject,exports.getXmlStringNodeContent=o.getXmlStringNodeContent,exports.xmlToString=o.xmlToString;

@@ -1,1 +0,1 @@

"use strict";var r=require("./tokenizer/tokenize.js");function s(t,o={}){const e={local:"root",attributes:[],content:[]},n=[e];return r.tokenize(t,l=>{c(l,n)},o),e.content[0]}function c(t,o){switch(t.type){case"ElementStart":{const e={local:t.local,prefix:t.prefix.length>0?t.prefix:void 0,attributes:[],content:[]},n=o[o.length-1];n!=null&&n.content.push(e),o.push(e);break}case"ElementEnd":{(t.end.type==="Close"||t.end.type==="Empty")&&o.pop();break}case"Attribute":{const e=o[o.length-1];e!=null&&e.attributes.push({local:t.local,prefix:t.prefix.length>0?t.prefix:void 0,value:t.value});break}case"Text":case"Cdata":{const e=o[o.length-1];e!=null&&t.text.trim().length>0&&e.content.push(t.text);break}}}exports.processTokenForObject=c,exports.xmlToObject=s;
"use strict";var c=require("./tokenizer/tokenize.js");function r(t,l={}){const e={local:"root",attributes:[],content:[]},n=[e];return c.tokenize(t,o=>{a(o,n)},l),e.content[0]}function a(t,l){switch(t.type){case"ElementStart":{const e={local:t.local,prefix:t.prefix.length>0?t.prefix:void 0,attributes:[],content:[]},n=l[l.length-1];n!=null&&n.content.push(e),l.push(e);break}case"ElementEnd":{(t.end.type==="Close"||t.end.type==="Empty")&&l.pop();break}case"Attribute":{const e=l[l.length-1];e!=null&&e.attributes.push({local:t.local,prefix:t.prefix.length>0?t.prefix:void 0,value:t.value});break}case"Text":case"Cdata":{const e=l[l.length-1];e!=null&&t.text.trim().length>0&&e.content.push(t.text);break}}}exports.xmlToObject=r;

@@ -1,1 +0,1 @@

import{htmlConfig as r,svgConfig as E,xmlConfig as t}from"./config.js";import{getQName as S}from"./get-q-name.js";import{process as R}from"./processor/process.js";import{pathTracker as i}from"./processor/processors/path-tracker.js";import{validateProcessorOrder as O}from"./processor/validate-processor-order.js";import{select as f}from"./selector/select.js";import{TokenSelector as _}from"./selector/TokenSelector.js";import{EToCacheNodeProps as x,ETokenMatchCriteria as a,TokenSelectState as s}from"./selector/TokenSelectState.js";import{TokenSelectStateMachine as c}from"./selector/TokenSelectStateMachine.js";import{tokenToXml as n}from"./token-to-xml.js";import{AMPERSAND as X,CARRIAGE_RETURN as k,CLOSE_SQUARE_BRACKET as I,COLON as H,DOUBLE_QUOTE as M,EQUALS as Q,EXCLAMATION_MARK as g,GREATER_THAN as h,HASH as B,HORIZONTAL_TAB as D,HYPHEN as d,LESS_THAN as F,LINE_FEED as b,LOWERCASE_A as j,LOWERCASE_F as K,LOWERCASE_X as W,LOWERCASE_Z as Z,NINE as G,OPEN_SQUARE_BRACKET as v,PERCENT as y,PERIOD as z,QUESTION_MARK as Y,SEMICOLON as q,SINGLE_QUOTE as u,SLASH as w,SPACE as J,UNDERSCORE as V,UPPERCASE_A as $,UPPERCASE_F as ee,UPPERCASE_P as oe,UPPERCASE_S as re,UPPERCASE_Z as Ee,ZERO as te}from"./tokenizer/ascii-constants.js";import{tokenize as Se,tokenizeXmlStream as Ae}from"./tokenizer/tokenize.js";import{isAsciiDigit as pe,isXmlChar as ie,isXmlName as Ce,isXmlNameByte as Oe,isXmlNameStart as Te,isXmlSpaceByte as fe}from"./tokenizer/utils.js";import{XmlError as _e}from"./tokenizer/XmlError.js";import{XmlStream as xe}from"./tokenizer/XmlStream.js";import{tokensToXml as se}from"./tokens-to-xml.js";import{processTokenForObject as ce,xmlToObject as Le}from"./xml-to-object.js";import{processTokenForSimplifiedObject as Ue,xmlToSimplifiedObject as Xe}from"./xml-to-simplified-object.js";export{X as AMPERSAND,k as CARRIAGE_RETURN,I as CLOSE_SQUARE_BRACKET,H as COLON,M as DOUBLE_QUOTE,Q as EQUALS,x as EToCacheNodeProps,a as ETokenMatchCriteria,g as EXCLAMATION_MARK,h as GREATER_THAN,B as HASH,D as HORIZONTAL_TAB,d as HYPHEN,F as LESS_THAN,b as LINE_FEED,j as LOWERCASE_A,K as LOWERCASE_F,W as LOWERCASE_X,Z as LOWERCASE_Z,G as NINE,v as OPEN_SQUARE_BRACKET,y as PERCENT,z as PERIOD,Y as QUESTION_MARK,q as SEMICOLON,u as SINGLE_QUOTE,w as SLASH,J as SPACE,s as TokenSelectState,c as TokenSelectStateMachine,_ as TokenSelector,V as UNDERSCORE,$ as UPPERCASE_A,ee as UPPERCASE_F,oe as UPPERCASE_P,re as UPPERCASE_S,Ee as UPPERCASE_Z,_e as XmlError,xe as XmlStream,te as ZERO,S as getQName,r as htmlConfig,pe as isAsciiDigit,ie as isXmlChar,Ce as isXmlName,Oe as isXmlNameByte,Te as isXmlNameStart,fe as isXmlSpaceByte,i as pathTracker,R as process,ce as processTokenForObject,Ue as processTokenForSimplifiedObject,f as select,E as svgConfig,n as tokenToXml,Se as tokenize,Ae as tokenizeXmlStream,se as tokensToXml,O as validateProcessorOrder,t as xmlConfig,Le as xmlToObject,Xe as xmlToSimplifiedObject};
import{htmlConfig as r,svgConfig as t,xmlConfig as E}from"./config.js";import{getQName as S}from"./get-q-name.js";import{htmlToMarkdown as R}from"./html-to-md.js";import{process as p}from"./processor/process.js";import{pathTracker as T}from"./processor/processors/path-tracker.js";import{validateProcessorOrder as l}from"./processor/validate-processor-order.js";import{select as O}from"./selector/select.js";import{TokenSelector as _}from"./selector/TokenSelector.js";import{EToCacheNodeProps as P,ETokenMatchCriteria as n,TokenSelectState as s}from"./selector/TokenSelectState.js";import{TokenSelectStateMachine as L}from"./selector/TokenSelectStateMachine.js";import{tokenToXml as X}from"./token-to-xml.js";import{AMPERSAND as g,CARRIAGE_RETURN as I,CLOSE_SQUARE_BRACKET as H,COLON as M,DOUBLE_QUOTE as d,EQUALS as h,EXCLAMATION_MARK as Q,GREATER_THAN as B,HASH as D,HORIZONTAL_TAB as F,HYPHEN as K,LESS_THAN as W,LINE_FEED as Z,LOWERCASE_A as b,LOWERCASE_F as j,LOWERCASE_X as G,LOWERCASE_Z as v,NINE as y,OPEN_SQUARE_BRACKET as z,PERCENT as w,PERIOD as Y,QUESTION_MARK as q,SEMICOLON as u,SINGLE_QUOTE as J,SLASH as V,SPACE as $,UNDERSCORE as oo,UPPERCASE_A as eo,UPPERCASE_F as ro,UPPERCASE_P as to,UPPERCASE_S as Eo,UPPERCASE_Z as mo,ZERO as So}from"./tokenizer/ascii-constants.js";import{tokenize as Ro,tokenizeXmlStream as io}from"./tokenizer/tokenize.js";import{isAsciiDigit as Co,isXmlChar as To,isXmlName as fo,isXmlNameByte as lo,isXmlNameStart as xo,isXmlSpaceByte as Oo}from"./tokenizer/utils.js";import{XmlError as _o}from"./tokenizer/XmlError.js";import{XmlStream as Po}from"./tokenizer/XmlStream.js";import{tokensToXml as so}from"./tokens-to-xml.js";import{xmlToObject as Lo}from"./xml-to-object.js";import{processTokenForSimplifiedObject as Xo,xmlToSimplifiedObject as ko}from"./xml-to-simplified-object.js";import{getXmlStringNodeContent as Io,xmlToString as Ho}from"./xml-to-string.js";export{g as AMPERSAND,I as CARRIAGE_RETURN,H as CLOSE_SQUARE_BRACKET,M as COLON,d as DOUBLE_QUOTE,h as EQUALS,P as EToCacheNodeProps,n as ETokenMatchCriteria,Q as EXCLAMATION_MARK,B as GREATER_THAN,D as HASH,F as HORIZONTAL_TAB,K as HYPHEN,W as LESS_THAN,Z as LINE_FEED,b as LOWERCASE_A,j as LOWERCASE_F,G as LOWERCASE_X,v as LOWERCASE_Z,y as NINE,z as OPEN_SQUARE_BRACKET,w as PERCENT,Y as PERIOD,q as QUESTION_MARK,u as SEMICOLON,J as SINGLE_QUOTE,V as SLASH,$ as SPACE,s as TokenSelectState,L as TokenSelectStateMachine,_ as TokenSelector,oo as UNDERSCORE,eo as UPPERCASE_A,ro as UPPERCASE_F,to as UPPERCASE_P,Eo as UPPERCASE_S,mo as UPPERCASE_Z,_o as XmlError,Po as XmlStream,So as ZERO,S as getQName,Io as getXmlStringNodeContent,r as htmlConfig,R as htmlToMarkdown,Co as isAsciiDigit,To as isXmlChar,fo as isXmlName,lo as isXmlNameByte,xo as isXmlNameStart,Oo as isXmlSpaceByte,T as pathTracker,p as process,Xo as processTokenForSimplifiedObject,O as select,t as svgConfig,X as tokenToXml,Ro as tokenize,io as tokenizeXmlStream,so as tokensToXml,l as validateProcessorOrder,E as xmlConfig,Lo as xmlToObject,ko as xmlToSimplifiedObject,Ho as xmlToString};

@@ -1,1 +0,1 @@

import{tokenize as c}from"./tokenizer/tokenize.js";function a(t,o={}){const e={local:"root",attributes:[],content:[]},l=[e];return c(t,r=>{n(r,l)},o),e.content[0]}function n(t,o){switch(t.type){case"ElementStart":{const e={local:t.local,prefix:t.prefix.length>0?t.prefix:void 0,attributes:[],content:[]},l=o[o.length-1];l!=null&&l.content.push(e),o.push(e);break}case"ElementEnd":{(t.end.type==="Close"||t.end.type==="Empty")&&o.pop();break}case"Attribute":{const e=o[o.length-1];e!=null&&e.attributes.push({local:t.local,prefix:t.prefix.length>0?t.prefix:void 0,value:t.value});break}case"Text":case"Cdata":{const e=o[o.length-1];e!=null&&t.text.trim().length>0&&e.content.push(t.text);break}}}export{n as processTokenForObject,a as xmlToObject};
import{tokenize as r}from"./tokenizer/tokenize.js";function c(t,l={}){const e={local:"root",attributes:[],content:[]},n=[e];return r(t,o=>{a(o,n)},l),e.content[0]}function a(t,l){switch(t.type){case"ElementStart":{const e={local:t.local,prefix:t.prefix.length>0?t.prefix:void 0,attributes:[],content:[]},n=l[l.length-1];n!=null&&n.content.push(e),l.push(e);break}case"ElementEnd":{(t.end.type==="Close"||t.end.type==="Empty")&&l.pop();break}case"Attribute":{const e=l[l.length-1];e!=null&&e.attributes.push({local:t.local,prefix:t.prefix.length>0?t.prefix:void 0,value:t.value});break}case"Text":case"Cdata":{const e=l[l.length-1];e!=null&&t.text.trim().length>0&&e.content.push(t.text);break}}}export{c as xmlToObject};
export * from './config';
export * from './get-q-name';
export * from './html-to-md';
export * from './processor';

@@ -10,1 +11,2 @@ export * from './selector';

export * from './xml-to-simplified-object';
export * from './xml-to-string';

@@ -1,4 +0,3 @@

import { type TXmlStreamOptions, type TXmlToken } from './tokenizer';
import { type TXmlStreamOptions } from './tokenizer';
export declare function xmlToObject(xmlString: string, options?: TXmlStreamOptions): TXmlNode;
export declare function processTokenForObject(token: TXmlToken, stack: TXmlNode[]): void;
export interface TXmlNode {

@@ -5,0 +4,0 @@ local: string;

{
"name": "xml-tokenizer",
"version": "0.0.40",
"version": "0.0.41",
"private": false,

@@ -26,7 +26,7 @@ "description": "Straightforward and typesafe XML tokenizer that streams tokens through a callback mechanism",

"devDependencies": {
"@types/node": "^22.15.29",
"@types/node": "^24.1.0",
"@types/sax": "^1.2.7",
"@types/xml2js": "^0.4.14",
"camaro": "^6.2.3",
"fast-xml-parser": "^5.2.3",
"fast-xml-parser": "^5.2.5",
"sax": "^1.4.1",

@@ -36,4 +36,4 @@ "saxen": "^10.0.0",

"xml2js": "^0.6.2",
"rollup-presets": "0.0.21",
"@blgc/config": "0.0.35"
"@blgc/config": "0.0.36",
"rollup-presets": "0.0.22"
},

@@ -40,0 +40,0 @@ "size-limit": [