@gmb/bitmark-parser
Advanced tools
@@ -1,2 +0,2 @@ | ||
| var t,p=0,m=null;function k(){return (m===null||m.byteLength===0)&&(m=new Uint8Array(t.memory.buffer)),m}var O=typeof TextEncoder<"u"?new TextEncoder("utf-8"):{encode:()=>{throw Error("TextEncoder not available")}},F=typeof O.encodeInto=="function"?function(e,n){return O.encodeInto(e,n)}:function(e,n){let r=O.encode(e);return n.set(r),{read:e.length,written:r.length}};function f(e,n,r){if(r===void 0){let _=O.encode(e),c=n(_.length,1)>>>0;return k().subarray(c,c+_.length).set(_),p=_.length,c}let o=e.length,s=n(o,1)>>>0,a=k(),i=0;for(;i<o;i++){let _=e.charCodeAt(i);if(_>127)break;a[s+i]=_;}if(i!==o){i!==0&&(e=e.slice(i)),s=r(s,o,o=i+e.length*3,1)>>>0;let _=k().subarray(s+i,s+o),c=F(e,_);i+=c.written,s=r(s,o,i,1)>>>0;}return p=i,s}var x=null;function g(){return (x===null||x.buffer.detached===true||x.buffer.detached===void 0&&x.buffer!==t.memory.buffer)&&(x=new DataView(t.memory.buffer)),x}var T=typeof TextDecoder<"u"?new TextDecoder("utf-8",{ignoreBOM:true,fatal:true}):{decode:()=>{throw Error("TextDecoder not available")}};typeof TextDecoder<"u"&&T.decode();function y(e,n){return e=e>>>0,T.decode(k().subarray(e,e+n))}function h(e,n){let r,o;try{let i=t.__wbindgen_add_to_stack_pointer(-16),_=f(e,t.__wbindgen_export_0,t.__wbindgen_export_1),c=p,d=f(n,t.__wbindgen_export_0,t.__wbindgen_export_1),b=p;t.lex(i,_,c,d,b);var s=g().getInt32(i+0,!0),a=g().getInt32(i+4,!0);return r=s,o=a,y(s,a)}finally{t.__wbindgen_add_to_stack_pointer(16),t.__wbindgen_export_2(r,o,1);}}function W(e,n,r){let o,s;try{let _=t.__wbindgen_add_to_stack_pointer(-16),c=f(e,t.__wbindgen_export_0,t.__wbindgen_export_1),d=p,b=f(n,t.__wbindgen_export_0,t.__wbindgen_export_1),u=p,w=f(r,t.__wbindgen_export_0,t.__wbindgen_export_1),l=p;t.breakscape_text(_,c,d,b,u,w,l);var a=g().getInt32(_+0,!0),i=g().getInt32(_+4,!0);return o=a,s=i,y(a,i)}finally{t.__wbindgen_add_to_stack_pointer(16),t.__wbindgen_export_2(o,s,1);}}function M(e,n,r,o,s,a){let i,_;try{let b=t.__wbindgen_add_to_stack_pointer(-16),u=f(e,t.__wbindgen_export_0,t.__wbindgen_export_1),w=p,l=f(n,t.__wbindgen_export_0,t.__wbindgen_export_1),v=p;t.convert(b,u,w,l,v,r,o,s,a);var c=g().getInt32(b+0,!0),d=g().getInt32(b+4,!0);return i=c,_=d,y(c,d)}finally{t.__wbindgen_add_to_stack_pointer(16),t.__wbindgen_export_2(i,_,1);}}function S(e,n,r,o,s){let a,i;try{let d=t.__wbindgen_add_to_stack_pointer(-16),b=f(e,t.__wbindgen_export_0,t.__wbindgen_export_1),u=p,w=f(n,t.__wbindgen_export_0,t.__wbindgen_export_1),l=p,v=f(r,t.__wbindgen_export_0,t.__wbindgen_export_1),B=p;t.info(d,b,u,w,l,v,B,o,s);var _=g().getInt32(d+0,!0),c=g().getInt32(d+4,!0);return a=_,i=c,y(_,c)}finally{t.__wbindgen_add_to_stack_pointer(16),t.__wbindgen_export_2(a,i,1);}}function E(e,n,r){let o,s;try{let _=t.__wbindgen_add_to_stack_pointer(-16),c=f(e,t.__wbindgen_export_0,t.__wbindgen_export_1),d=p,b=f(n,t.__wbindgen_export_0,t.__wbindgen_export_1),u=p,w=f(r,t.__wbindgen_export_0,t.__wbindgen_export_1),l=p;t.unbreakscape_text(_,c,d,b,u,w,l);var a=g().getInt32(_+0,!0),i=g().getInt32(_+4,!0);return o=a,s=i,y(a,i)}finally{t.__wbindgen_add_to_stack_pointer(16),t.__wbindgen_export_2(o,s,1);}}function L(e,n){let r,o;try{let i=t.__wbindgen_add_to_stack_pointer(-16),_=f(e,t.__wbindgen_export_0,t.__wbindgen_export_1),c=p,d=f(n,t.__wbindgen_export_0,t.__wbindgen_export_1),b=p;t.parse(i,_,c,d,b);var s=g().getInt32(i+0,!0),a=g().getInt32(i+4,!0);return r=s,o=a,y(s,a)}finally{t.__wbindgen_add_to_stack_pointer(16),t.__wbindgen_export_2(r,o,1);}}async function P(e,n){if(typeof Response=="function"&&e instanceof Response){if(typeof WebAssembly.instantiateStreaming=="function")try{return await WebAssembly.instantiateStreaming(e,n)}catch(o){if(e.headers.get("Content-Type")!="application/wasm")console.warn("`WebAssembly.instantiateStreaming` failed because your server does not serve Wasm with `application/wasm` MIME type. Falling back to `WebAssembly.instantiate` which is slower. Original error:\n",o);else throw o}let r=await e.arrayBuffer();return await WebAssembly.instantiate(r,n)}else {let r=await WebAssembly.instantiate(e,n);return r instanceof WebAssembly.Instance?{instance:r,module:e}:r}}function C(){let e={};return e.wbg={},e}function j(e,n){return t=e.exports,D.__wbindgen_wasm_module=n,x=null,m=null,t}function U(e){if(t!==void 0)return t;typeof e<"u"&&(Object.getPrototypeOf(e)===Object.prototype?{module:e}=e:console.warn("using deprecated parameters for `initSync()`; pass a single object instead"));let n=C();e instanceof WebAssembly.Module||(e=new WebAssembly.Module(e));let r=new WebAssembly.Instance(e,n);return j(r,e)}async function D(e){if(t!==void 0)return t;typeof e<"u"&&(Object.getPrototypeOf(e)===Object.prototype?{module_or_path:e}=e:console.warn("using deprecated parameters for the initialization function; pass a single object instead")),typeof e>"u"&&(e=new URL("bitmark_wasm_bg.wasm",import.meta.url));let n=C();(typeof e=="string"||typeof Request=="function"&&e instanceof Request||typeof URL=="function"&&e instanceof URL)&&(e=fetch(e));let{instance:r,module:o}=await P(await e,n);return j(r,o)}var z=D;var R={version:"3.0.2"};function H(){return R.version}function J(e,n={}){return h(e,n.stage??"lex")}function Q(e,n={}){return L(e,n.mode??"optimized")}function X(e,n={}){return M(e,n.mode??"optimized",n.warnings??false,n.plainText??false,n.pretty??false,n.indent??2)}function Y(e,n={}){let r=n.format??"bitmark++",o=n.location??"body";return W(e,r,o)}function Z(e,n={}){let r=n.format??"bitmark++",o=n.location??"body";return E(e,r,o)}function $(e={}){let n=e.infoType??"list",r=e.format??"text",o=e.bit??"",s=e.pretty??false,a=e.indent??2;return S(n,r,o,s,a)}export{Y as breakscapeText,X as convert,$ as info,z as init,U as initSync,J as lex,Q as parse,Z as unbreakscapeText,H as version};//# sourceMappingURL=bitmark-parser.min.js.map | ||
| var t,f=0,m=null;function k(){return (m===null||m.byteLength===0)&&(m=new Uint8Array(t.memory.buffer)),m}var v=typeof TextEncoder<"u"?new TextEncoder("utf-8"):{encode:()=>{throw Error("TextEncoder not available")}},F=typeof v.encodeInto=="function"?function(e,n){return v.encodeInto(e,n)}:function(e,n){let r=v.encode(e);return n.set(r),{read:e.length,written:r.length}};function p(e,n,r){if(r===void 0){let s=v.encode(e),c=n(s.length,1)>>>0;return k().subarray(c,c+s.length).set(s),f=s.length,c}let o=e.length,_=n(o,1)>>>0,a=k(),i=0;for(;i<o;i++){let s=e.charCodeAt(i);if(s>127)break;a[_+i]=s;}if(i!==o){i!==0&&(e=e.slice(i)),_=r(_,o,o=i+e.length*3,1)>>>0;let s=k().subarray(_+i,_+o),c=F(e,s);i+=c.written,_=r(_,o,i,1)>>>0;}return f=i,_}var x=null;function g(){return (x===null||x.buffer.detached===true||x.buffer.detached===void 0&&x.buffer!==t.memory.buffer)&&(x=new DataView(t.memory.buffer)),x}var W=typeof TextDecoder<"u"?new TextDecoder("utf-8",{ignoreBOM:true,fatal:true}):{decode:()=>{throw Error("TextDecoder not available")}};typeof TextDecoder<"u"&&W.decode();function y(e,n){return e=e>>>0,W.decode(k().subarray(e,e+n))}function h(e,n,r){let o,_;try{let s=t.__wbindgen_add_to_stack_pointer(-16),c=p(e,t.__wbindgen_export_0,t.__wbindgen_export_1),d=f,b=p(n,t.__wbindgen_export_0,t.__wbindgen_export_1),u=f,w=p(r,t.__wbindgen_export_0,t.__wbindgen_export_1),l=f;t.breakscape_text(s,c,d,b,u,w,l);var a=g().getInt32(s+0,!0),i=g().getInt32(s+4,!0);return o=a,_=i,y(a,i)}finally{t.__wbindgen_add_to_stack_pointer(16),t.__wbindgen_export_2(o,_,1);}}function L(e,n,r,o,_){let a,i;try{let d=t.__wbindgen_add_to_stack_pointer(-16),b=p(e,t.__wbindgen_export_0,t.__wbindgen_export_1),u=f,w=p(n,t.__wbindgen_export_0,t.__wbindgen_export_1),l=f,O=p(r,t.__wbindgen_export_0,t.__wbindgen_export_1),B=f;t.info(d,b,u,w,l,O,B,o,_);var s=g().getInt32(d+0,!0),c=g().getInt32(d+4,!0);return a=s,i=c,y(s,c)}finally{t.__wbindgen_add_to_stack_pointer(16),t.__wbindgen_export_2(a,i,1);}}function M(e,n){let r,o;try{let i=t.__wbindgen_add_to_stack_pointer(-16),s=p(e,t.__wbindgen_export_0,t.__wbindgen_export_1),c=f,d=p(n,t.__wbindgen_export_0,t.__wbindgen_export_1),b=f;t.parse(i,s,c,d,b);var _=g().getInt32(i+0,!0),a=g().getInt32(i+4,!0);return r=_,o=a,y(_,a)}finally{t.__wbindgen_add_to_stack_pointer(16),t.__wbindgen_export_2(r,o,1);}}function S(e,n){let r,o;try{let i=t.__wbindgen_add_to_stack_pointer(-16),s=p(e,t.__wbindgen_export_0,t.__wbindgen_export_1),c=f,d=p(n,t.__wbindgen_export_0,t.__wbindgen_export_1),b=f;t.lex(i,s,c,d,b);var _=g().getInt32(i+0,!0),a=g().getInt32(i+4,!0);return r=_,o=a,y(_,a)}finally{t.__wbindgen_add_to_stack_pointer(16),t.__wbindgen_export_2(r,o,1);}}function E(e,n,r){let o,_;try{let s=t.__wbindgen_add_to_stack_pointer(-16),c=p(e,t.__wbindgen_export_0,t.__wbindgen_export_1),d=f,b=p(n,t.__wbindgen_export_0,t.__wbindgen_export_1),u=f,w=p(r,t.__wbindgen_export_0,t.__wbindgen_export_1),l=f;t.unbreakscape_text(s,c,d,b,u,w,l);var a=g().getInt32(s+0,!0),i=g().getInt32(s+4,!0);return o=a,_=i,y(a,i)}finally{t.__wbindgen_add_to_stack_pointer(16),t.__wbindgen_export_2(o,_,1);}}function C(e,n,r,o,_,a){let i,s;try{let b=t.__wbindgen_add_to_stack_pointer(-16),u=p(e,t.__wbindgen_export_0,t.__wbindgen_export_1),w=f,l=p(n,t.__wbindgen_export_0,t.__wbindgen_export_1),O=f;t.convert(b,u,w,l,O,r,o,_,a);var c=g().getInt32(b+0,!0),d=g().getInt32(b+4,!0);return i=c,s=d,y(c,d)}finally{t.__wbindgen_add_to_stack_pointer(16),t.__wbindgen_export_2(i,s,1);}}async function U(e,n){if(typeof Response=="function"&&e instanceof Response){if(typeof WebAssembly.instantiateStreaming=="function")try{return await WebAssembly.instantiateStreaming(e,n)}catch(o){if(e.headers.get("Content-Type")!="application/wasm")console.warn("`WebAssembly.instantiateStreaming` failed because your server does not serve Wasm with `application/wasm` MIME type. Falling back to `WebAssembly.instantiate` which is slower. Original error:\n",o);else throw o}let r=await e.arrayBuffer();return await WebAssembly.instantiate(r,n)}else {let r=await WebAssembly.instantiate(e,n);return r instanceof WebAssembly.Instance?{instance:r,module:e}:r}}function R(){let e={};return e.wbg={},e}function j(e,n){return t=e.exports,D.__wbindgen_wasm_module=n,x=null,m=null,t}function z(e){if(t!==void 0)return t;typeof e<"u"&&(Object.getPrototypeOf(e)===Object.prototype?{module:e}=e:console.warn("using deprecated parameters for `initSync()`; pass a single object instead"));let n=R();e instanceof WebAssembly.Module||(e=new WebAssembly.Module(e));let r=new WebAssembly.Instance(e,n);return j(r,e)}async function D(e){if(t!==void 0)return t;typeof e<"u"&&(Object.getPrototypeOf(e)===Object.prototype?{module_or_path:e}=e:console.warn("using deprecated parameters for the initialization function; pass a single object instead")),typeof e>"u"&&(e=new URL("bitmark_wasm_bg.wasm",import.meta.url));let n=R();(typeof e=="string"||typeof Request=="function"&&e instanceof Request||typeof URL=="function"&&e instanceof URL)&&(e=fetch(e));let{instance:r,module:o}=await U(await e,n);return j(r,o)}var P=D;var I={version:"3.0.3"};async function H(e){return typeof e>"u"&&(e=new URL(`bitmark_wasm_bg.wasm?v=${I.version}`,import.meta.url)),P(e)}function J(){return I.version}function Q(e,n={}){return S(e,n.stage??"lex")}function X(e,n={}){return M(e,n.mode??"optimized")}function Y(e,n={}){return C(e,n.mode??"optimized",n.warnings??false,n.plainText??false,n.pretty??false,n.indent??2)}function Z(e,n={}){let r=n.format??"bitmark++",o=n.location??"body";return h(e,r,o)}function ee(e,n={}){let r=n.format??"bitmark++",o=n.location??"body";return E(e,r,o)}function te(e={}){let n=e.infoType??"list",r=e.format??"text",o=e.bit??"",_=e.pretty??false,a=e.indent??2;return L(n,r,o,_,a)}export{Z as breakscapeText,Y as convert,te as info,H as init,z as initSync,Q as lex,X as parse,ee as unbreakscapeText,J as version};//# sourceMappingURL=bitmark-parser.min.js.map | ||
| //# sourceMappingURL=bitmark-parser.min.js.map |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"sources":["../../wasm-web/bitmark_wasm.js","../../src/generated/package_info.ts","../../src/browser/index.ts"],"names":["wasm","WASM_VECTOR_LEN","cachedUint8ArrayMemory0","getUint8ArrayMemory0","cachedTextEncoder","encodeString","arg","view","buf","passStringToWasm0","malloc","realloc","ptr","len","mem","offset","code","ret","cachedDataViewMemory0","getDataViewMemory0","cachedTextDecoder","getStringFromWasm0","lex","input","stage","deferred3_0","deferred3_1","retptr","ptr0","len0","ptr1","len1","r0","r1","breakscape_text","format","location","deferred4_0","deferred4_1","ptr2","len2","convert","mode","warnings","plain_text","pretty","indent","info","info_type","bit","unbreakscape_text","parse","__wbg_load","module","imports","e","bytes","instance","__wbg_get_imports","__wbg_finalize_init","__wbg_init","initSync","module_or_path","bitmark_wasm_default","PACKAGE_INFO","version","options","breakscapeText","unbreakscapeText","infoType"],"mappings":"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","file":"bitmark-parser.min.js","sourcesContent":["let wasm;\n\nlet WASM_VECTOR_LEN = 0;\n\nlet cachedUint8ArrayMemory0 = null;\n\nfunction getUint8ArrayMemory0() {\n if (cachedUint8ArrayMemory0 === null || cachedUint8ArrayMemory0.byteLength === 0) {\n cachedUint8ArrayMemory0 = new Uint8Array(wasm.memory.buffer);\n }\n return cachedUint8ArrayMemory0;\n}\n\nconst cachedTextEncoder = (typeof TextEncoder !== 'undefined' ? new TextEncoder('utf-8') : { encode: () => { throw Error('TextEncoder not available') } } );\n\nconst encodeString = (typeof cachedTextEncoder.encodeInto === 'function'\n ? function (arg, view) {\n return cachedTextEncoder.encodeInto(arg, view);\n}\n : function (arg, view) {\n const buf = cachedTextEncoder.encode(arg);\n view.set(buf);\n return {\n read: arg.length,\n written: buf.length\n };\n});\n\nfunction passStringToWasm0(arg, malloc, realloc) {\n\n if (realloc === undefined) {\n const buf = cachedTextEncoder.encode(arg);\n const ptr = malloc(buf.length, 1) >>> 0;\n getUint8ArrayMemory0().subarray(ptr, ptr + buf.length).set(buf);\n WASM_VECTOR_LEN = buf.length;\n return ptr;\n }\n\n let len = arg.length;\n let ptr = malloc(len, 1) >>> 0;\n\n const mem = getUint8ArrayMemory0();\n\n let offset = 0;\n\n for (; offset < len; offset++) {\n const code = arg.charCodeAt(offset);\n if (code > 0x7F) break;\n mem[ptr + offset] = code;\n }\n\n if (offset !== len) {\n if (offset !== 0) {\n arg = arg.slice(offset);\n }\n ptr = realloc(ptr, len, len = offset + arg.length * 3, 1) >>> 0;\n const view = getUint8ArrayMemory0().subarray(ptr + offset, ptr + len);\n const ret = encodeString(arg, view);\n\n offset += ret.written;\n ptr = realloc(ptr, len, offset, 1) >>> 0;\n }\n\n WASM_VECTOR_LEN = offset;\n return ptr;\n}\n\nlet cachedDataViewMemory0 = null;\n\nfunction getDataViewMemory0() {\n if (cachedDataViewMemory0 === null || cachedDataViewMemory0.buffer.detached === true || (cachedDataViewMemory0.buffer.detached === undefined && cachedDataViewMemory0.buffer !== wasm.memory.buffer)) {\n cachedDataViewMemory0 = new DataView(wasm.memory.buffer);\n }\n return cachedDataViewMemory0;\n}\n\nconst cachedTextDecoder = (typeof TextDecoder !== 'undefined' ? new TextDecoder('utf-8', { ignoreBOM: true, fatal: true }) : { decode: () => { throw Error('TextDecoder not available') } } );\n\nif (typeof TextDecoder !== 'undefined') { cachedTextDecoder.decode(); };\n\nfunction getStringFromWasm0(ptr, len) {\n ptr = ptr >>> 0;\n return cachedTextDecoder.decode(getUint8ArrayMemory0().subarray(ptr, ptr + len));\n}\n/**\n * Lex bitmark input text, returning one line per token in the same format as\n * the Rust CLI: `{kind:?} {span:?} \"{text}\"`.\n *\n * `stage` selects the lexer pipeline:\n * - `\"lex\"` — combined (default)\n * - `\"lex-json\"` — combined, JSON array output\n * @param {string} input\n * @param {string} stage\n * @returns {string}\n */\nexport function lex(input, stage) {\n let deferred3_0;\n let deferred3_1;\n try {\n const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);\n const ptr0 = passStringToWasm0(input, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);\n const len0 = WASM_VECTOR_LEN;\n const ptr1 = passStringToWasm0(stage, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);\n const len1 = WASM_VECTOR_LEN;\n wasm.lex(retptr, ptr0, len0, ptr1, len1);\n var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);\n var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);\n deferred3_0 = r0;\n deferred3_1 = r1;\n return getStringFromWasm0(r0, r1);\n } finally {\n wasm.__wbindgen_add_to_stack_pointer(16);\n wasm.__wbindgen_export_2(deferred3_0, deferred3_1, 1);\n }\n}\n\n/**\n * Breakscape text (escape bitmark special characters).\n *\n * `format`: `\"bitmark++\"` (default) or `\"plainText\"`\n * `location`: `\"body\"` (default) or `\"tag\"`\n * @param {string} input\n * @param {string} format\n * @param {string} location\n * @returns {string}\n */\nexport function breakscape_text(input, format, location) {\n let deferred4_0;\n let deferred4_1;\n try {\n const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);\n const ptr0 = passStringToWasm0(input, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);\n const len0 = WASM_VECTOR_LEN;\n const ptr1 = passStringToWasm0(format, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);\n const len1 = WASM_VECTOR_LEN;\n const ptr2 = passStringToWasm0(location, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);\n const len2 = WASM_VECTOR_LEN;\n wasm.breakscape_text(retptr, ptr0, len0, ptr1, len1, ptr2, len2);\n var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);\n var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);\n deferred4_0 = r0;\n deferred4_1 = r1;\n return getStringFromWasm0(r0, r1);\n } finally {\n wasm.__wbindgen_add_to_stack_pointer(16);\n wasm.__wbindgen_export_2(deferred4_0, deferred4_1, 1);\n }\n}\n\n/**\n * Auto-detect input format and convert between bitmark and JSON.\n *\n * `mode`: `\"optimized\"` (default) or `\"full\"`\n * `warnings`: whether to include validation warnings (default: false)\n * `plain_text`: output text as plain text — debug mode (default: false)\n * `pretty`: prettify JSON output (default: false)\n * `indent`: indent size for pretty-printing (default: 2)\n *\n * Returns JSON if input is bitmark, or an error message if input is JSON\n * (generator not yet implemented).\n * @param {string} input\n * @param {string} mode\n * @param {boolean} warnings\n * @param {boolean} plain_text\n * @param {boolean} pretty\n * @param {number} indent\n * @returns {string}\n */\nexport function convert(input, mode, warnings, plain_text, pretty, indent) {\n let deferred3_0;\n let deferred3_1;\n try {\n const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);\n const ptr0 = passStringToWasm0(input, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);\n const len0 = WASM_VECTOR_LEN;\n const ptr1 = passStringToWasm0(mode, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);\n const len1 = WASM_VECTOR_LEN;\n wasm.convert(retptr, ptr0, len0, ptr1, len1, warnings, plain_text, pretty, indent);\n var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);\n var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);\n deferred3_0 = r0;\n deferred3_1 = r1;\n return getStringFromWasm0(r0, r1);\n } finally {\n wasm.__wbindgen_add_to_stack_pointer(16);\n wasm.__wbindgen_export_2(deferred3_0, deferred3_1, 1);\n }\n}\n\n/**\n * Query information about supported bit types.\n *\n * `info_type`: `\"list\"`, `\"bit\"`, `\"all\"`, or `\"deprecated\"`\n * `format`: `\"text\"` or `\"json\"`\n * `bit`: bit name (required when `info_type` is `\"bit\"`)\n * `pretty`: whether to pretty-print JSON output\n * `indent`: indent size for pretty-printing (default: 2)\n * @param {string} info_type\n * @param {string} format\n * @param {string} bit\n * @param {boolean} pretty\n * @param {number} indent\n * @returns {string}\n */\nexport function info(info_type, format, bit, pretty, indent) {\n let deferred4_0;\n let deferred4_1;\n try {\n const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);\n const ptr0 = passStringToWasm0(info_type, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);\n const len0 = WASM_VECTOR_LEN;\n const ptr1 = passStringToWasm0(format, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);\n const len1 = WASM_VECTOR_LEN;\n const ptr2 = passStringToWasm0(bit, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);\n const len2 = WASM_VECTOR_LEN;\n wasm.info(retptr, ptr0, len0, ptr1, len1, ptr2, len2, pretty, indent);\n var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);\n var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);\n deferred4_0 = r0;\n deferred4_1 = r1;\n return getStringFromWasm0(r0, r1);\n } finally {\n wasm.__wbindgen_add_to_stack_pointer(16);\n wasm.__wbindgen_export_2(deferred4_0, deferred4_1, 1);\n }\n}\n\n/**\n * Unbreakscape text (unescape bitmark special characters).\n *\n * `format`: `\"bitmark++\"` (default) or `\"plainText\"`\n * `location`: `\"body\"` (default) or `\"tag\"`\n * @param {string} input\n * @param {string} format\n * @param {string} location\n * @returns {string}\n */\nexport function unbreakscape_text(input, format, location) {\n let deferred4_0;\n let deferred4_1;\n try {\n const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);\n const ptr0 = passStringToWasm0(input, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);\n const len0 = WASM_VECTOR_LEN;\n const ptr1 = passStringToWasm0(format, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);\n const len1 = WASM_VECTOR_LEN;\n const ptr2 = passStringToWasm0(location, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);\n const len2 = WASM_VECTOR_LEN;\n wasm.unbreakscape_text(retptr, ptr0, len0, ptr1, len1, ptr2, len2);\n var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);\n var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);\n deferred4_0 = r0;\n deferred4_1 = r1;\n return getStringFromWasm0(r0, r1);\n } finally {\n wasm.__wbindgen_add_to_stack_pointer(16);\n wasm.__wbindgen_export_2(deferred4_0, deferred4_1, 1);\n }\n}\n\n/**\n * Parse bitmark input text and return the reference JSON format.\n *\n * Uses the full pipeline: parse → validate → serialize.\n *\n * `mode`: `\"optimized\"` (default) or `\"full\"`\n * @param {string} input\n * @param {string} mode\n * @returns {string}\n */\nexport function parse(input, mode) {\n let deferred3_0;\n let deferred3_1;\n try {\n const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);\n const ptr0 = passStringToWasm0(input, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);\n const len0 = WASM_VECTOR_LEN;\n const ptr1 = passStringToWasm0(mode, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);\n const len1 = WASM_VECTOR_LEN;\n wasm.parse(retptr, ptr0, len0, ptr1, len1);\n var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);\n var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);\n deferred3_0 = r0;\n deferred3_1 = r1;\n return getStringFromWasm0(r0, r1);\n } finally {\n wasm.__wbindgen_add_to_stack_pointer(16);\n wasm.__wbindgen_export_2(deferred3_0, deferred3_1, 1);\n }\n}\n\nasync function __wbg_load(module, imports) {\n if (typeof Response === 'function' && module instanceof Response) {\n if (typeof WebAssembly.instantiateStreaming === 'function') {\n try {\n return await WebAssembly.instantiateStreaming(module, imports);\n\n } catch (e) {\n if (module.headers.get('Content-Type') != 'application/wasm') {\n console.warn(\"`WebAssembly.instantiateStreaming` failed because your server does not serve Wasm with `application/wasm` MIME type. Falling back to `WebAssembly.instantiate` which is slower. Original error:\\n\", e);\n\n } else {\n throw e;\n }\n }\n }\n\n const bytes = await module.arrayBuffer();\n return await WebAssembly.instantiate(bytes, imports);\n\n } else {\n const instance = await WebAssembly.instantiate(module, imports);\n\n if (instance instanceof WebAssembly.Instance) {\n return { instance, module };\n\n } else {\n return instance;\n }\n }\n}\n\nfunction __wbg_get_imports() {\n const imports = {};\n imports.wbg = {};\n\n return imports;\n}\n\nfunction __wbg_init_memory(imports, memory) {\n\n}\n\nfunction __wbg_finalize_init(instance, module) {\n wasm = instance.exports;\n __wbg_init.__wbindgen_wasm_module = module;\n cachedDataViewMemory0 = null;\n cachedUint8ArrayMemory0 = null;\n\n\n\n return wasm;\n}\n\nfunction initSync(module) {\n if (wasm !== undefined) return wasm;\n\n\n if (typeof module !== 'undefined') {\n if (Object.getPrototypeOf(module) === Object.prototype) {\n ({module} = module)\n } else {\n console.warn('using deprecated parameters for `initSync()`; pass a single object instead')\n }\n }\n\n const imports = __wbg_get_imports();\n\n __wbg_init_memory(imports);\n\n if (!(module instanceof WebAssembly.Module)) {\n module = new WebAssembly.Module(module);\n }\n\n const instance = new WebAssembly.Instance(module, imports);\n\n return __wbg_finalize_init(instance, module);\n}\n\nasync function __wbg_init(module_or_path) {\n if (wasm !== undefined) return wasm;\n\n\n if (typeof module_or_path !== 'undefined') {\n if (Object.getPrototypeOf(module_or_path) === Object.prototype) {\n ({module_or_path} = module_or_path)\n } else {\n console.warn('using deprecated parameters for the initialization function; pass a single object instead')\n }\n }\n\n if (typeof module_or_path === 'undefined') {\n module_or_path = new URL('bitmark_wasm_bg.wasm', import.meta.url);\n }\n const imports = __wbg_get_imports();\n\n if (typeof module_or_path === 'string' || (typeof Request === 'function' && module_or_path instanceof Request) || (typeof URL === 'function' && module_or_path instanceof URL)) {\n module_or_path = fetch(module_or_path);\n }\n\n __wbg_init_memory(imports);\n\n const { instance, module } = await __wbg_load(await module_or_path, imports);\n\n return __wbg_finalize_init(instance, module);\n}\n\nexport { initSync };\nexport default __wbg_init;\n","// This file is automatically generated. DO NOT EDIT.\n\n/* eslint-disable */\n\nexport const PACKAGE_INFO = {\n \"name\": \"@gmb/bitmark-parser\",\n \"version\": \"3.0.2\",\n \"author\": \"Get More Brain Ltd <info@getmorebrain.com>\",\n \"license\": \"ISC\",\n \"description\": \"A parser for bitmark text, powered by WebAssembly.\"\n};\n","// This is a browser entry point that wraps the wasm-web bindings.\n// It re-exports all WASM functions so browser consumers can use:\n// import { parse, convert, ... } from '@gmb/bitmark-parser/browser'\n\nimport * as wasm from \"../../wasm-web/bitmark_wasm.js\";\nimport { PACKAGE_INFO } from \"../generated/package_info.js\";\n\nexport { default as init, initSync } from \"../../wasm-web/bitmark_wasm.js\";\n\nexport type { LexOptions, LexStage, ParseOptions, ConvertOptions, OutputMode, BreakscapeOptions, TextFormat, TextLocation, InfoOptions, InfoType, InfoFormat } from \"../types.js\";\nimport type { LexOptions, ParseOptions, ConvertOptions, BreakscapeOptions, InfoOptions } from \"../types.js\";\n\n/**\n * Get the version of the @gmb/bitmark-parser library.\n *\n * @returns Version string (e.g. \"3.0.0\").\n */\nexport function version(): string {\n return PACKAGE_INFO.version;\n}\n\n/**\n * Lex bitmark input text, returning one line per token.\n *\n * @param input - The bitmark source text.\n * @param options - Lex options (e.g. `{ stage: \"lex\" }`).\n * @returns Token dump string (one token per line).\n */\nexport function lex(input: string, options: LexOptions = {}): string {\n return wasm.lex(input, options.stage ?? \"lex\");\n}\n\n/**\n * Parse bitmark input text and return structured JSON entries.\n *\n * Each entry contains `bit`, `parser`, and `bitmark` fields.\n *\n * @param input - The bitmark source text.\n * @param options - Parse options (e.g. `{ mode: \"full\" }`).\n * @returns JSON string array of structured parsed entries.\n */\nexport function parse(input: string, options: ParseOptions = {}): string {\n return wasm.parse(input, options.mode ?? \"optimized\");\n}\n\n/**\n * Auto-detect input format and convert between bitmark and JSON.\n *\n * @param input - Bitmark or JSON input text.\n * @param options - Convert options (e.g. `{ mode: \"full\", warnings: true }`).\n * @returns Converted output string. For bitmark input, this is a JSON string\n * array of structured parsed entries (`bit`, `parser`, `bitmark`).\n */\nexport function convert(input: string, options: ConvertOptions = {}): string {\n return wasm.convert(input, options.mode ?? \"optimized\", options.warnings ?? false, options.plainText ?? false, options.pretty ?? false, options.indent ?? 2);\n}\n\n/**\n * Breakscape text (escape bitmark special characters).\n *\n * @param input - The text to breakscape.\n * @param options - Breakscape options (e.g. `{ format: \"plainText\", location: \"tag\" }`).\n * @returns Breakscaped text.\n */\nexport function breakscapeText(input: string, options: BreakscapeOptions = {}): string {\n const format = options.format ?? \"bitmark++\";\n const location = options.location ?? \"body\";\n return wasm.breakscape_text(input, format, location);\n}\n\n/**\n * Unbreakscape text (unescape bitmark special characters).\n *\n * @param input - The text to unbreakscape.\n * @param options - Unbreakscape options (e.g. `{ format: \"plainText\", location: \"tag\" }`).\n * @returns Unbreakscaped text.\n */\nexport function unbreakscapeText(input: string, options: BreakscapeOptions = {}): string {\n const format = options.format ?? \"bitmark++\";\n const location = options.location ?? \"body\";\n return wasm.unbreakscape_text(input, format, location);\n}\n\n/**\n * Query information about supported bit types.\n *\n * @param options - Info options (e.g. `{ infoType: \"bit\", format: \"json\", bit: \"cloze\" }`).\n * @returns Information string.\n */\nexport function info(options: InfoOptions = {}): string {\n const infoType = options.infoType ?? \"list\";\n const format = options.format ?? \"text\";\n const bit = options.bit ?? \"\";\n const pretty = options.pretty ?? false;\n const indent = options.indent ?? 2;\n return wasm.info(infoType, format, bit, pretty, indent);\n}\n"]} | ||
| {"version":3,"sources":["../../wasm-web/bitmark_wasm.js","../../src/generated/package_info.ts","../../src/browser/index.ts"],"names":["wasm","WASM_VECTOR_LEN","cachedUint8ArrayMemory0","getUint8ArrayMemory0","cachedTextEncoder","encodeString","arg","view","buf","passStringToWasm0","malloc","realloc","ptr","len","mem","offset","code","ret","cachedDataViewMemory0","getDataViewMemory0","cachedTextDecoder","getStringFromWasm0","breakscape_text","input","format","location","deferred4_0","deferred4_1","retptr","ptr0","len0","ptr1","len1","ptr2","len2","r0","r1","info","info_type","bit","pretty","indent","parse","mode","deferred3_0","deferred3_1","lex","stage","unbreakscape_text","convert","warnings","plain_text","__wbg_load","module","imports","e","bytes","instance","__wbg_get_imports","__wbg_finalize_init","__wbg_init","initSync","module_or_path","bitmark_wasm_default","PACKAGE_INFO","init","version","options","breakscapeText","unbreakscapeText","infoType"],"mappings":"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","file":"bitmark-parser.min.js","sourcesContent":["let wasm;\n\nlet WASM_VECTOR_LEN = 0;\n\nlet cachedUint8ArrayMemory0 = null;\n\nfunction getUint8ArrayMemory0() {\n if (cachedUint8ArrayMemory0 === null || cachedUint8ArrayMemory0.byteLength === 0) {\n cachedUint8ArrayMemory0 = new Uint8Array(wasm.memory.buffer);\n }\n return cachedUint8ArrayMemory0;\n}\n\nconst cachedTextEncoder = (typeof TextEncoder !== 'undefined' ? new TextEncoder('utf-8') : { encode: () => { throw Error('TextEncoder not available') } } );\n\nconst encodeString = (typeof cachedTextEncoder.encodeInto === 'function'\n ? function (arg, view) {\n return cachedTextEncoder.encodeInto(arg, view);\n}\n : function (arg, view) {\n const buf = cachedTextEncoder.encode(arg);\n view.set(buf);\n return {\n read: arg.length,\n written: buf.length\n };\n});\n\nfunction passStringToWasm0(arg, malloc, realloc) {\n\n if (realloc === undefined) {\n const buf = cachedTextEncoder.encode(arg);\n const ptr = malloc(buf.length, 1) >>> 0;\n getUint8ArrayMemory0().subarray(ptr, ptr + buf.length).set(buf);\n WASM_VECTOR_LEN = buf.length;\n return ptr;\n }\n\n let len = arg.length;\n let ptr = malloc(len, 1) >>> 0;\n\n const mem = getUint8ArrayMemory0();\n\n let offset = 0;\n\n for (; offset < len; offset++) {\n const code = arg.charCodeAt(offset);\n if (code > 0x7F) break;\n mem[ptr + offset] = code;\n }\n\n if (offset !== len) {\n if (offset !== 0) {\n arg = arg.slice(offset);\n }\n ptr = realloc(ptr, len, len = offset + arg.length * 3, 1) >>> 0;\n const view = getUint8ArrayMemory0().subarray(ptr + offset, ptr + len);\n const ret = encodeString(arg, view);\n\n offset += ret.written;\n ptr = realloc(ptr, len, offset, 1) >>> 0;\n }\n\n WASM_VECTOR_LEN = offset;\n return ptr;\n}\n\nlet cachedDataViewMemory0 = null;\n\nfunction getDataViewMemory0() {\n if (cachedDataViewMemory0 === null || cachedDataViewMemory0.buffer.detached === true || (cachedDataViewMemory0.buffer.detached === undefined && cachedDataViewMemory0.buffer !== wasm.memory.buffer)) {\n cachedDataViewMemory0 = new DataView(wasm.memory.buffer);\n }\n return cachedDataViewMemory0;\n}\n\nconst cachedTextDecoder = (typeof TextDecoder !== 'undefined' ? new TextDecoder('utf-8', { ignoreBOM: true, fatal: true }) : { decode: () => { throw Error('TextDecoder not available') } } );\n\nif (typeof TextDecoder !== 'undefined') { cachedTextDecoder.decode(); };\n\nfunction getStringFromWasm0(ptr, len) {\n ptr = ptr >>> 0;\n return cachedTextDecoder.decode(getUint8ArrayMemory0().subarray(ptr, ptr + len));\n}\n/**\n * Breakscape text (escape bitmark special characters).\n *\n * `format`: `\"bitmark++\"` (default) or `\"plainText\"`\n * `location`: `\"body\"` (default) or `\"tag\"`\n * @param {string} input\n * @param {string} format\n * @param {string} location\n * @returns {string}\n */\nexport function breakscape_text(input, format, location) {\n let deferred4_0;\n let deferred4_1;\n try {\n const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);\n const ptr0 = passStringToWasm0(input, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);\n const len0 = WASM_VECTOR_LEN;\n const ptr1 = passStringToWasm0(format, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);\n const len1 = WASM_VECTOR_LEN;\n const ptr2 = passStringToWasm0(location, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);\n const len2 = WASM_VECTOR_LEN;\n wasm.breakscape_text(retptr, ptr0, len0, ptr1, len1, ptr2, len2);\n var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);\n var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);\n deferred4_0 = r0;\n deferred4_1 = r1;\n return getStringFromWasm0(r0, r1);\n } finally {\n wasm.__wbindgen_add_to_stack_pointer(16);\n wasm.__wbindgen_export_2(deferred4_0, deferred4_1, 1);\n }\n}\n\n/**\n * Query information about supported bit types.\n *\n * `info_type`: `\"list\"`, `\"bit\"`, `\"all\"`, or `\"deprecated\"`\n * `format`: `\"text\"` or `\"json\"`\n * `bit`: bit name (required when `info_type` is `\"bit\"`)\n * `pretty`: whether to pretty-print JSON output\n * `indent`: indent size for pretty-printing (default: 2)\n * @param {string} info_type\n * @param {string} format\n * @param {string} bit\n * @param {boolean} pretty\n * @param {number} indent\n * @returns {string}\n */\nexport function info(info_type, format, bit, pretty, indent) {\n let deferred4_0;\n let deferred4_1;\n try {\n const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);\n const ptr0 = passStringToWasm0(info_type, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);\n const len0 = WASM_VECTOR_LEN;\n const ptr1 = passStringToWasm0(format, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);\n const len1 = WASM_VECTOR_LEN;\n const ptr2 = passStringToWasm0(bit, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);\n const len2 = WASM_VECTOR_LEN;\n wasm.info(retptr, ptr0, len0, ptr1, len1, ptr2, len2, pretty, indent);\n var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);\n var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);\n deferred4_0 = r0;\n deferred4_1 = r1;\n return getStringFromWasm0(r0, r1);\n } finally {\n wasm.__wbindgen_add_to_stack_pointer(16);\n wasm.__wbindgen_export_2(deferred4_0, deferred4_1, 1);\n }\n}\n\n/**\n * Parse bitmark input text and return the reference JSON format.\n *\n * Uses the full pipeline: parse → validate → serialize.\n *\n * `mode`: `\"optimized\"` (default) or `\"full\"`\n * @param {string} input\n * @param {string} mode\n * @returns {string}\n */\nexport function parse(input, mode) {\n let deferred3_0;\n let deferred3_1;\n try {\n const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);\n const ptr0 = passStringToWasm0(input, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);\n const len0 = WASM_VECTOR_LEN;\n const ptr1 = passStringToWasm0(mode, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);\n const len1 = WASM_VECTOR_LEN;\n wasm.parse(retptr, ptr0, len0, ptr1, len1);\n var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);\n var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);\n deferred3_0 = r0;\n deferred3_1 = r1;\n return getStringFromWasm0(r0, r1);\n } finally {\n wasm.__wbindgen_add_to_stack_pointer(16);\n wasm.__wbindgen_export_2(deferred3_0, deferred3_1, 1);\n }\n}\n\n/**\n * Lex bitmark input text, returning one line per token in the same format as\n * the Rust CLI: `{kind:?} {span:?} \"{text}\"`.\n *\n * `stage` selects the lexer pipeline:\n * - `\"lex\"` — combined (default)\n * - `\"lex-json\"` — combined, JSON array output\n * @param {string} input\n * @param {string} stage\n * @returns {string}\n */\nexport function lex(input, stage) {\n let deferred3_0;\n let deferred3_1;\n try {\n const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);\n const ptr0 = passStringToWasm0(input, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);\n const len0 = WASM_VECTOR_LEN;\n const ptr1 = passStringToWasm0(stage, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);\n const len1 = WASM_VECTOR_LEN;\n wasm.lex(retptr, ptr0, len0, ptr1, len1);\n var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);\n var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);\n deferred3_0 = r0;\n deferred3_1 = r1;\n return getStringFromWasm0(r0, r1);\n } finally {\n wasm.__wbindgen_add_to_stack_pointer(16);\n wasm.__wbindgen_export_2(deferred3_0, deferred3_1, 1);\n }\n}\n\n/**\n * Unbreakscape text (unescape bitmark special characters).\n *\n * `format`: `\"bitmark++\"` (default) or `\"plainText\"`\n * `location`: `\"body\"` (default) or `\"tag\"`\n * @param {string} input\n * @param {string} format\n * @param {string} location\n * @returns {string}\n */\nexport function unbreakscape_text(input, format, location) {\n let deferred4_0;\n let deferred4_1;\n try {\n const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);\n const ptr0 = passStringToWasm0(input, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);\n const len0 = WASM_VECTOR_LEN;\n const ptr1 = passStringToWasm0(format, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);\n const len1 = WASM_VECTOR_LEN;\n const ptr2 = passStringToWasm0(location, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);\n const len2 = WASM_VECTOR_LEN;\n wasm.unbreakscape_text(retptr, ptr0, len0, ptr1, len1, ptr2, len2);\n var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);\n var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);\n deferred4_0 = r0;\n deferred4_1 = r1;\n return getStringFromWasm0(r0, r1);\n } finally {\n wasm.__wbindgen_add_to_stack_pointer(16);\n wasm.__wbindgen_export_2(deferred4_0, deferred4_1, 1);\n }\n}\n\n/**\n * Auto-detect input format and convert between bitmark and JSON.\n *\n * `mode`: `\"optimized\"` (default) or `\"full\"`\n * `warnings`: whether to include validation warnings (default: false)\n * `plain_text`: output text as plain text — debug mode (default: false)\n * `pretty`: prettify JSON output (default: false)\n * `indent`: indent size for pretty-printing (default: 2)\n *\n * Returns JSON if input is bitmark, or an error message if input is JSON\n * (generator not yet implemented).\n * @param {string} input\n * @param {string} mode\n * @param {boolean} warnings\n * @param {boolean} plain_text\n * @param {boolean} pretty\n * @param {number} indent\n * @returns {string}\n */\nexport function convert(input, mode, warnings, plain_text, pretty, indent) {\n let deferred3_0;\n let deferred3_1;\n try {\n const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);\n const ptr0 = passStringToWasm0(input, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);\n const len0 = WASM_VECTOR_LEN;\n const ptr1 = passStringToWasm0(mode, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);\n const len1 = WASM_VECTOR_LEN;\n wasm.convert(retptr, ptr0, len0, ptr1, len1, warnings, plain_text, pretty, indent);\n var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);\n var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);\n deferred3_0 = r0;\n deferred3_1 = r1;\n return getStringFromWasm0(r0, r1);\n } finally {\n wasm.__wbindgen_add_to_stack_pointer(16);\n wasm.__wbindgen_export_2(deferred3_0, deferred3_1, 1);\n }\n}\n\nasync function __wbg_load(module, imports) {\n if (typeof Response === 'function' && module instanceof Response) {\n if (typeof WebAssembly.instantiateStreaming === 'function') {\n try {\n return await WebAssembly.instantiateStreaming(module, imports);\n\n } catch (e) {\n if (module.headers.get('Content-Type') != 'application/wasm') {\n console.warn(\"`WebAssembly.instantiateStreaming` failed because your server does not serve Wasm with `application/wasm` MIME type. Falling back to `WebAssembly.instantiate` which is slower. Original error:\\n\", e);\n\n } else {\n throw e;\n }\n }\n }\n\n const bytes = await module.arrayBuffer();\n return await WebAssembly.instantiate(bytes, imports);\n\n } else {\n const instance = await WebAssembly.instantiate(module, imports);\n\n if (instance instanceof WebAssembly.Instance) {\n return { instance, module };\n\n } else {\n return instance;\n }\n }\n}\n\nfunction __wbg_get_imports() {\n const imports = {};\n imports.wbg = {};\n\n return imports;\n}\n\nfunction __wbg_init_memory(imports, memory) {\n\n}\n\nfunction __wbg_finalize_init(instance, module) {\n wasm = instance.exports;\n __wbg_init.__wbindgen_wasm_module = module;\n cachedDataViewMemory0 = null;\n cachedUint8ArrayMemory0 = null;\n\n\n\n return wasm;\n}\n\nfunction initSync(module) {\n if (wasm !== undefined) return wasm;\n\n\n if (typeof module !== 'undefined') {\n if (Object.getPrototypeOf(module) === Object.prototype) {\n ({module} = module)\n } else {\n console.warn('using deprecated parameters for `initSync()`; pass a single object instead')\n }\n }\n\n const imports = __wbg_get_imports();\n\n __wbg_init_memory(imports);\n\n if (!(module instanceof WebAssembly.Module)) {\n module = new WebAssembly.Module(module);\n }\n\n const instance = new WebAssembly.Instance(module, imports);\n\n return __wbg_finalize_init(instance, module);\n}\n\nasync function __wbg_init(module_or_path) {\n if (wasm !== undefined) return wasm;\n\n\n if (typeof module_or_path !== 'undefined') {\n if (Object.getPrototypeOf(module_or_path) === Object.prototype) {\n ({module_or_path} = module_or_path)\n } else {\n console.warn('using deprecated parameters for the initialization function; pass a single object instead')\n }\n }\n\n if (typeof module_or_path === 'undefined') {\n module_or_path = new URL('bitmark_wasm_bg.wasm', import.meta.url);\n }\n const imports = __wbg_get_imports();\n\n if (typeof module_or_path === 'string' || (typeof Request === 'function' && module_or_path instanceof Request) || (typeof URL === 'function' && module_or_path instanceof URL)) {\n module_or_path = fetch(module_or_path);\n }\n\n __wbg_init_memory(imports);\n\n const { instance, module } = await __wbg_load(await module_or_path, imports);\n\n return __wbg_finalize_init(instance, module);\n}\n\nexport { initSync };\nexport default __wbg_init;\n","// This file is automatically generated. DO NOT EDIT.\n\n/* eslint-disable */\n\nexport const PACKAGE_INFO = {\n \"name\": \"@gmb/bitmark-parser\",\n \"version\": \"3.0.3\",\n \"author\": \"Get More Brain Ltd <info@getmorebrain.com>\",\n \"license\": \"ISC\",\n \"description\": \"A parser for bitmark text, powered by WebAssembly.\"\n};\n","// This is a browser entry point that wraps the wasm-web bindings.\n// It re-exports all WASM functions so browser consumers can use:\n// import { parse, convert, ... } from '@gmb/bitmark-parser/browser'\n\nimport wasmInit from \"../../wasm-web/bitmark_wasm.js\";\nimport * as wasm from \"../../wasm-web/bitmark_wasm.js\";\nimport { PACKAGE_INFO } from \"../generated/package_info.js\";\n\nexport { initSync } from \"../../wasm-web/bitmark_wasm.js\";\n\n/**\n * Initialise the WASM module.\n *\n * When called without arguments, the default `.wasm` URL is decorated with a\n * cache-busting `?v=<version>` query parameter so that CDN caches are\n * invalidated when the package version changes.\n */\nexport async function init(module_or_path?: any): Promise<any> {\n if (typeof module_or_path === \"undefined\") {\n module_or_path = new URL(`bitmark_wasm_bg.wasm?v=${PACKAGE_INFO.version}`, import.meta.url);\n }\n return wasmInit(module_or_path);\n}\n\nexport type { LexOptions, LexStage, ParseOptions, ConvertOptions, OutputMode, BreakscapeOptions, TextFormat, TextLocation, InfoOptions, InfoType, InfoFormat } from \"../types.js\";\nimport type { LexOptions, ParseOptions, ConvertOptions, BreakscapeOptions, InfoOptions } from \"../types.js\";\n\n/**\n * Get the version of the @gmb/bitmark-parser library.\n *\n * @returns Version string (e.g. \"3.0.0\").\n */\nexport function version(): string {\n return PACKAGE_INFO.version;\n}\n\n/**\n * Lex bitmark input text, returning one line per token.\n *\n * @param input - The bitmark source text.\n * @param options - Lex options (e.g. `{ stage: \"lex\" }`).\n * @returns Token dump string (one token per line).\n */\nexport function lex(input: string, options: LexOptions = {}): string {\n return wasm.lex(input, options.stage ?? \"lex\");\n}\n\n/**\n * Parse bitmark input text and return structured JSON entries.\n *\n * Each entry contains `bit`, `parser`, and `bitmark` fields.\n *\n * @param input - The bitmark source text.\n * @param options - Parse options (e.g. `{ mode: \"full\" }`).\n * @returns JSON string array of structured parsed entries.\n */\nexport function parse(input: string, options: ParseOptions = {}): string {\n return wasm.parse(input, options.mode ?? \"optimized\");\n}\n\n/**\n * Auto-detect input format and convert between bitmark and JSON.\n *\n * @param input - Bitmark or JSON input text.\n * @param options - Convert options (e.g. `{ mode: \"full\", warnings: true }`).\n * @returns Converted output string. For bitmark input, this is a JSON string\n * array of structured parsed entries (`bit`, `parser`, `bitmark`).\n */\nexport function convert(input: string, options: ConvertOptions = {}): string {\n return wasm.convert(input, options.mode ?? \"optimized\", options.warnings ?? false, options.plainText ?? false, options.pretty ?? false, options.indent ?? 2);\n}\n\n/**\n * Breakscape text (escape bitmark special characters).\n *\n * @param input - The text to breakscape.\n * @param options - Breakscape options (e.g. `{ format: \"plainText\", location: \"tag\" }`).\n * @returns Breakscaped text.\n */\nexport function breakscapeText(input: string, options: BreakscapeOptions = {}): string {\n const format = options.format ?? \"bitmark++\";\n const location = options.location ?? \"body\";\n return wasm.breakscape_text(input, format, location);\n}\n\n/**\n * Unbreakscape text (unescape bitmark special characters).\n *\n * @param input - The text to unbreakscape.\n * @param options - Unbreakscape options (e.g. `{ format: \"plainText\", location: \"tag\" }`).\n * @returns Unbreakscaped text.\n */\nexport function unbreakscapeText(input: string, options: BreakscapeOptions = {}): string {\n const format = options.format ?? \"bitmark++\";\n const location = options.location ?? \"body\";\n return wasm.unbreakscape_text(input, format, location);\n}\n\n/**\n * Query information about supported bit types.\n *\n * @param options - Info options (e.g. `{ infoType: \"bit\", format: \"json\", bit: \"cloze\" }`).\n * @returns Information string.\n */\nexport function info(options: InfoOptions = {}): string {\n const infoType = options.infoType ?? \"list\";\n const format = options.format ?? \"text\";\n const bit = options.bit ?? \"\";\n const pretty = options.pretty ?? false;\n const indent = options.indent ?? 2;\n return wasm.info(infoType, format, bit, pretty, indent);\n}\n"]} |
@@ -26,3 +26,3 @@ "use strict"; | ||
| info: () => info2, | ||
| init: () => bitmark_wasm_default, | ||
| init: () => init, | ||
| initSync: () => initSync, | ||
@@ -110,5 +110,5 @@ lex: () => lex2, | ||
| } | ||
| function lex(input, stage) { | ||
| let deferred3_0; | ||
| let deferred3_1; | ||
| function breakscape_text(input, format, location) { | ||
| let deferred4_0; | ||
| let deferred4_1; | ||
| try { | ||
@@ -118,16 +118,18 @@ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); | ||
| const len0 = WASM_VECTOR_LEN; | ||
| const ptr1 = passStringToWasm0(stage, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1); | ||
| const ptr1 = passStringToWasm0(format, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1); | ||
| const len1 = WASM_VECTOR_LEN; | ||
| wasm.lex(retptr, ptr0, len0, ptr1, len1); | ||
| const ptr2 = passStringToWasm0(location, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1); | ||
| const len2 = WASM_VECTOR_LEN; | ||
| wasm.breakscape_text(retptr, ptr0, len0, ptr1, len1, ptr2, len2); | ||
| var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true); | ||
| var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true); | ||
| deferred3_0 = r0; | ||
| deferred3_1 = r1; | ||
| deferred4_0 = r0; | ||
| deferred4_1 = r1; | ||
| return getStringFromWasm0(r0, r1); | ||
| } finally { | ||
| wasm.__wbindgen_add_to_stack_pointer(16); | ||
| wasm.__wbindgen_export_2(deferred3_0, deferred3_1, 1); | ||
| wasm.__wbindgen_export_2(deferred4_0, deferred4_1, 1); | ||
| } | ||
| } | ||
| function breakscape_text(input, format, location) { | ||
| function info(info_type, format, bit, pretty, indent) { | ||
| let deferred4_0; | ||
@@ -137,9 +139,9 @@ let deferred4_1; | ||
| const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); | ||
| const ptr0 = passStringToWasm0(input, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1); | ||
| const ptr0 = passStringToWasm0(info_type, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1); | ||
| const len0 = WASM_VECTOR_LEN; | ||
| const ptr1 = passStringToWasm0(format, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1); | ||
| const len1 = WASM_VECTOR_LEN; | ||
| const ptr2 = passStringToWasm0(location, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1); | ||
| const ptr2 = passStringToWasm0(bit, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1); | ||
| const len2 = WASM_VECTOR_LEN; | ||
| wasm.breakscape_text(retptr, ptr0, len0, ptr1, len1, ptr2, len2); | ||
| wasm.info(retptr, ptr0, len0, ptr1, len1, ptr2, len2, pretty, indent); | ||
| var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true); | ||
@@ -155,3 +157,3 @@ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true); | ||
| } | ||
| function convert(input, mode, warnings, plain_text, pretty, indent) { | ||
| function parse(input, mode) { | ||
| let deferred3_0; | ||
@@ -165,3 +167,3 @@ let deferred3_1; | ||
| const len1 = WASM_VECTOR_LEN; | ||
| wasm.convert(retptr, ptr0, len0, ptr1, len1, warnings, plain_text, pretty, indent); | ||
| wasm.parse(retptr, ptr0, len0, ptr1, len1); | ||
| var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true); | ||
@@ -177,22 +179,20 @@ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true); | ||
| } | ||
| function info(info_type, format, bit, pretty, indent) { | ||
| let deferred4_0; | ||
| let deferred4_1; | ||
| function lex(input, stage) { | ||
| let deferred3_0; | ||
| let deferred3_1; | ||
| try { | ||
| const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); | ||
| const ptr0 = passStringToWasm0(info_type, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1); | ||
| const ptr0 = passStringToWasm0(input, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1); | ||
| const len0 = WASM_VECTOR_LEN; | ||
| const ptr1 = passStringToWasm0(format, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1); | ||
| const ptr1 = passStringToWasm0(stage, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1); | ||
| const len1 = WASM_VECTOR_LEN; | ||
| const ptr2 = passStringToWasm0(bit, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1); | ||
| const len2 = WASM_VECTOR_LEN; | ||
| wasm.info(retptr, ptr0, len0, ptr1, len1, ptr2, len2, pretty, indent); | ||
| wasm.lex(retptr, ptr0, len0, ptr1, len1); | ||
| var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true); | ||
| var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true); | ||
| deferred4_0 = r0; | ||
| deferred4_1 = r1; | ||
| deferred3_0 = r0; | ||
| deferred3_1 = r1; | ||
| return getStringFromWasm0(r0, r1); | ||
| } finally { | ||
| wasm.__wbindgen_add_to_stack_pointer(16); | ||
| wasm.__wbindgen_export_2(deferred4_0, deferred4_1, 1); | ||
| wasm.__wbindgen_export_2(deferred3_0, deferred3_1, 1); | ||
| } | ||
@@ -222,3 +222,3 @@ } | ||
| } | ||
| function parse(input, mode) { | ||
| function convert(input, mode, warnings, plain_text, pretty, indent) { | ||
| let deferred3_0; | ||
@@ -232,3 +232,3 @@ let deferred3_1; | ||
| const len1 = WASM_VECTOR_LEN; | ||
| wasm.parse(retptr, ptr0, len0, ptr1, len1); | ||
| wasm.convert(retptr, ptr0, len0, ptr1, len1, warnings, plain_text, pretty, indent); | ||
| var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true); | ||
@@ -324,3 +324,3 @@ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true); | ||
| "name": "@gmb/bitmark-parser", | ||
| "version": "3.0.2", | ||
| "version": "3.0.3", | ||
| "author": "Get More Brain Ltd <info@getmorebrain.com>", | ||
@@ -332,2 +332,8 @@ "license": "ISC", | ||
| // src/browser/index.ts | ||
| async function init(module_or_path) { | ||
| if (typeof module_or_path === "undefined") { | ||
| module_or_path = new URL(`bitmark_wasm_bg.wasm?v=${PACKAGE_INFO.version}`, importMetaUrl); | ||
| } | ||
| return bitmark_wasm_default(module_or_path); | ||
| } | ||
| function version() { | ||
@@ -334,0 +340,0 @@ return PACKAGE_INFO.version; |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"sources":["../../../src/browser/index.ts","../../../../../node_modules/tsup/assets/cjs_shims.js","../../../wasm-web/bitmark_wasm.js","../../../src/generated/package_info.ts"],"sourcesContent":["// This is a browser entry point that wraps the wasm-web bindings.\n// It re-exports all WASM functions so browser consumers can use:\n// import { parse, convert, ... } from '@gmb/bitmark-parser/browser'\n\nimport * as wasm from \"../../wasm-web/bitmark_wasm.js\";\nimport { PACKAGE_INFO } from \"../generated/package_info.js\";\n\nexport { default as init, initSync } from \"../../wasm-web/bitmark_wasm.js\";\n\nexport type { LexOptions, LexStage, ParseOptions, ConvertOptions, OutputMode, BreakscapeOptions, TextFormat, TextLocation, InfoOptions, InfoType, InfoFormat } from \"../types.js\";\nimport type { LexOptions, ParseOptions, ConvertOptions, BreakscapeOptions, InfoOptions } from \"../types.js\";\n\n/**\n * Get the version of the @gmb/bitmark-parser library.\n *\n * @returns Version string (e.g. \"3.0.0\").\n */\nexport function version(): string {\n return PACKAGE_INFO.version;\n}\n\n/**\n * Lex bitmark input text, returning one line per token.\n *\n * @param input - The bitmark source text.\n * @param options - Lex options (e.g. `{ stage: \"lex\" }`).\n * @returns Token dump string (one token per line).\n */\nexport function lex(input: string, options: LexOptions = {}): string {\n return wasm.lex(input, options.stage ?? \"lex\");\n}\n\n/**\n * Parse bitmark input text and return structured JSON entries.\n *\n * Each entry contains `bit`, `parser`, and `bitmark` fields.\n *\n * @param input - The bitmark source text.\n * @param options - Parse options (e.g. `{ mode: \"full\" }`).\n * @returns JSON string array of structured parsed entries.\n */\nexport function parse(input: string, options: ParseOptions = {}): string {\n return wasm.parse(input, options.mode ?? \"optimized\");\n}\n\n/**\n * Auto-detect input format and convert between bitmark and JSON.\n *\n * @param input - Bitmark or JSON input text.\n * @param options - Convert options (e.g. `{ mode: \"full\", warnings: true }`).\n * @returns Converted output string. For bitmark input, this is a JSON string\n * array of structured parsed entries (`bit`, `parser`, `bitmark`).\n */\nexport function convert(input: string, options: ConvertOptions = {}): string {\n return wasm.convert(input, options.mode ?? \"optimized\", options.warnings ?? false, options.plainText ?? false, options.pretty ?? false, options.indent ?? 2);\n}\n\n/**\n * Breakscape text (escape bitmark special characters).\n *\n * @param input - The text to breakscape.\n * @param options - Breakscape options (e.g. `{ format: \"plainText\", location: \"tag\" }`).\n * @returns Breakscaped text.\n */\nexport function breakscapeText(input: string, options: BreakscapeOptions = {}): string {\n const format = options.format ?? \"bitmark++\";\n const location = options.location ?? \"body\";\n return wasm.breakscape_text(input, format, location);\n}\n\n/**\n * Unbreakscape text (unescape bitmark special characters).\n *\n * @param input - The text to unbreakscape.\n * @param options - Unbreakscape options (e.g. `{ format: \"plainText\", location: \"tag\" }`).\n * @returns Unbreakscaped text.\n */\nexport function unbreakscapeText(input: string, options: BreakscapeOptions = {}): string {\n const format = options.format ?? \"bitmark++\";\n const location = options.location ?? \"body\";\n return wasm.unbreakscape_text(input, format, location);\n}\n\n/**\n * Query information about supported bit types.\n *\n * @param options - Info options (e.g. `{ infoType: \"bit\", format: \"json\", bit: \"cloze\" }`).\n * @returns Information string.\n */\nexport function info(options: InfoOptions = {}): string {\n const infoType = options.infoType ?? \"list\";\n const format = options.format ?? \"text\";\n const bit = options.bit ?? \"\";\n const pretty = options.pretty ?? false;\n const indent = options.indent ?? 2;\n return wasm.info(infoType, format, bit, pretty, indent);\n}\n","// Shim globals in cjs bundle\n// There's a weird bug that esbuild will always inject importMetaUrl\n// if we export it as `const importMetaUrl = ... __filename ...`\n// But using a function will not cause this issue\n\nconst getImportMetaUrl = () => \n typeof document === \"undefined\" \n ? new URL(`file:${__filename}`).href \n : (document.currentScript && document.currentScript.tagName.toUpperCase() === 'SCRIPT') \n ? document.currentScript.src \n : new URL(\"main.js\", document.baseURI).href;\n\nexport const importMetaUrl = /* @__PURE__ */ getImportMetaUrl()\n","let wasm;\n\nlet WASM_VECTOR_LEN = 0;\n\nlet cachedUint8ArrayMemory0 = null;\n\nfunction getUint8ArrayMemory0() {\n if (cachedUint8ArrayMemory0 === null || cachedUint8ArrayMemory0.byteLength === 0) {\n cachedUint8ArrayMemory0 = new Uint8Array(wasm.memory.buffer);\n }\n return cachedUint8ArrayMemory0;\n}\n\nconst cachedTextEncoder = (typeof TextEncoder !== 'undefined' ? new TextEncoder('utf-8') : { encode: () => { throw Error('TextEncoder not available') } } );\n\nconst encodeString = (typeof cachedTextEncoder.encodeInto === 'function'\n ? function (arg, view) {\n return cachedTextEncoder.encodeInto(arg, view);\n}\n : function (arg, view) {\n const buf = cachedTextEncoder.encode(arg);\n view.set(buf);\n return {\n read: arg.length,\n written: buf.length\n };\n});\n\nfunction passStringToWasm0(arg, malloc, realloc) {\n\n if (realloc === undefined) {\n const buf = cachedTextEncoder.encode(arg);\n const ptr = malloc(buf.length, 1) >>> 0;\n getUint8ArrayMemory0().subarray(ptr, ptr + buf.length).set(buf);\n WASM_VECTOR_LEN = buf.length;\n return ptr;\n }\n\n let len = arg.length;\n let ptr = malloc(len, 1) >>> 0;\n\n const mem = getUint8ArrayMemory0();\n\n let offset = 0;\n\n for (; offset < len; offset++) {\n const code = arg.charCodeAt(offset);\n if (code > 0x7F) break;\n mem[ptr + offset] = code;\n }\n\n if (offset !== len) {\n if (offset !== 0) {\n arg = arg.slice(offset);\n }\n ptr = realloc(ptr, len, len = offset + arg.length * 3, 1) >>> 0;\n const view = getUint8ArrayMemory0().subarray(ptr + offset, ptr + len);\n const ret = encodeString(arg, view);\n\n offset += ret.written;\n ptr = realloc(ptr, len, offset, 1) >>> 0;\n }\n\n WASM_VECTOR_LEN = offset;\n return ptr;\n}\n\nlet cachedDataViewMemory0 = null;\n\nfunction getDataViewMemory0() {\n if (cachedDataViewMemory0 === null || cachedDataViewMemory0.buffer.detached === true || (cachedDataViewMemory0.buffer.detached === undefined && cachedDataViewMemory0.buffer !== wasm.memory.buffer)) {\n cachedDataViewMemory0 = new DataView(wasm.memory.buffer);\n }\n return cachedDataViewMemory0;\n}\n\nconst cachedTextDecoder = (typeof TextDecoder !== 'undefined' ? new TextDecoder('utf-8', { ignoreBOM: true, fatal: true }) : { decode: () => { throw Error('TextDecoder not available') } } );\n\nif (typeof TextDecoder !== 'undefined') { cachedTextDecoder.decode(); };\n\nfunction getStringFromWasm0(ptr, len) {\n ptr = ptr >>> 0;\n return cachedTextDecoder.decode(getUint8ArrayMemory0().subarray(ptr, ptr + len));\n}\n/**\n * Lex bitmark input text, returning one line per token in the same format as\n * the Rust CLI: `{kind:?} {span:?} \"{text}\"`.\n *\n * `stage` selects the lexer pipeline:\n * - `\"lex\"` — combined (default)\n * - `\"lex-json\"` — combined, JSON array output\n * @param {string} input\n * @param {string} stage\n * @returns {string}\n */\nexport function lex(input, stage) {\n let deferred3_0;\n let deferred3_1;\n try {\n const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);\n const ptr0 = passStringToWasm0(input, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);\n const len0 = WASM_VECTOR_LEN;\n const ptr1 = passStringToWasm0(stage, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);\n const len1 = WASM_VECTOR_LEN;\n wasm.lex(retptr, ptr0, len0, ptr1, len1);\n var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);\n var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);\n deferred3_0 = r0;\n deferred3_1 = r1;\n return getStringFromWasm0(r0, r1);\n } finally {\n wasm.__wbindgen_add_to_stack_pointer(16);\n wasm.__wbindgen_export_2(deferred3_0, deferred3_1, 1);\n }\n}\n\n/**\n * Breakscape text (escape bitmark special characters).\n *\n * `format`: `\"bitmark++\"` (default) or `\"plainText\"`\n * `location`: `\"body\"` (default) or `\"tag\"`\n * @param {string} input\n * @param {string} format\n * @param {string} location\n * @returns {string}\n */\nexport function breakscape_text(input, format, location) {\n let deferred4_0;\n let deferred4_1;\n try {\n const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);\n const ptr0 = passStringToWasm0(input, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);\n const len0 = WASM_VECTOR_LEN;\n const ptr1 = passStringToWasm0(format, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);\n const len1 = WASM_VECTOR_LEN;\n const ptr2 = passStringToWasm0(location, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);\n const len2 = WASM_VECTOR_LEN;\n wasm.breakscape_text(retptr, ptr0, len0, ptr1, len1, ptr2, len2);\n var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);\n var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);\n deferred4_0 = r0;\n deferred4_1 = r1;\n return getStringFromWasm0(r0, r1);\n } finally {\n wasm.__wbindgen_add_to_stack_pointer(16);\n wasm.__wbindgen_export_2(deferred4_0, deferred4_1, 1);\n }\n}\n\n/**\n * Auto-detect input format and convert between bitmark and JSON.\n *\n * `mode`: `\"optimized\"` (default) or `\"full\"`\n * `warnings`: whether to include validation warnings (default: false)\n * `plain_text`: output text as plain text — debug mode (default: false)\n * `pretty`: prettify JSON output (default: false)\n * `indent`: indent size for pretty-printing (default: 2)\n *\n * Returns JSON if input is bitmark, or an error message if input is JSON\n * (generator not yet implemented).\n * @param {string} input\n * @param {string} mode\n * @param {boolean} warnings\n * @param {boolean} plain_text\n * @param {boolean} pretty\n * @param {number} indent\n * @returns {string}\n */\nexport function convert(input, mode, warnings, plain_text, pretty, indent) {\n let deferred3_0;\n let deferred3_1;\n try {\n const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);\n const ptr0 = passStringToWasm0(input, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);\n const len0 = WASM_VECTOR_LEN;\n const ptr1 = passStringToWasm0(mode, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);\n const len1 = WASM_VECTOR_LEN;\n wasm.convert(retptr, ptr0, len0, ptr1, len1, warnings, plain_text, pretty, indent);\n var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);\n var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);\n deferred3_0 = r0;\n deferred3_1 = r1;\n return getStringFromWasm0(r0, r1);\n } finally {\n wasm.__wbindgen_add_to_stack_pointer(16);\n wasm.__wbindgen_export_2(deferred3_0, deferred3_1, 1);\n }\n}\n\n/**\n * Query information about supported bit types.\n *\n * `info_type`: `\"list\"`, `\"bit\"`, `\"all\"`, or `\"deprecated\"`\n * `format`: `\"text\"` or `\"json\"`\n * `bit`: bit name (required when `info_type` is `\"bit\"`)\n * `pretty`: whether to pretty-print JSON output\n * `indent`: indent size for pretty-printing (default: 2)\n * @param {string} info_type\n * @param {string} format\n * @param {string} bit\n * @param {boolean} pretty\n * @param {number} indent\n * @returns {string}\n */\nexport function info(info_type, format, bit, pretty, indent) {\n let deferred4_0;\n let deferred4_1;\n try {\n const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);\n const ptr0 = passStringToWasm0(info_type, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);\n const len0 = WASM_VECTOR_LEN;\n const ptr1 = passStringToWasm0(format, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);\n const len1 = WASM_VECTOR_LEN;\n const ptr2 = passStringToWasm0(bit, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);\n const len2 = WASM_VECTOR_LEN;\n wasm.info(retptr, ptr0, len0, ptr1, len1, ptr2, len2, pretty, indent);\n var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);\n var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);\n deferred4_0 = r0;\n deferred4_1 = r1;\n return getStringFromWasm0(r0, r1);\n } finally {\n wasm.__wbindgen_add_to_stack_pointer(16);\n wasm.__wbindgen_export_2(deferred4_0, deferred4_1, 1);\n }\n}\n\n/**\n * Unbreakscape text (unescape bitmark special characters).\n *\n * `format`: `\"bitmark++\"` (default) or `\"plainText\"`\n * `location`: `\"body\"` (default) or `\"tag\"`\n * @param {string} input\n * @param {string} format\n * @param {string} location\n * @returns {string}\n */\nexport function unbreakscape_text(input, format, location) {\n let deferred4_0;\n let deferred4_1;\n try {\n const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);\n const ptr0 = passStringToWasm0(input, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);\n const len0 = WASM_VECTOR_LEN;\n const ptr1 = passStringToWasm0(format, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);\n const len1 = WASM_VECTOR_LEN;\n const ptr2 = passStringToWasm0(location, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);\n const len2 = WASM_VECTOR_LEN;\n wasm.unbreakscape_text(retptr, ptr0, len0, ptr1, len1, ptr2, len2);\n var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);\n var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);\n deferred4_0 = r0;\n deferred4_1 = r1;\n return getStringFromWasm0(r0, r1);\n } finally {\n wasm.__wbindgen_add_to_stack_pointer(16);\n wasm.__wbindgen_export_2(deferred4_0, deferred4_1, 1);\n }\n}\n\n/**\n * Parse bitmark input text and return the reference JSON format.\n *\n * Uses the full pipeline: parse → validate → serialize.\n *\n * `mode`: `\"optimized\"` (default) or `\"full\"`\n * @param {string} input\n * @param {string} mode\n * @returns {string}\n */\nexport function parse(input, mode) {\n let deferred3_0;\n let deferred3_1;\n try {\n const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);\n const ptr0 = passStringToWasm0(input, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);\n const len0 = WASM_VECTOR_LEN;\n const ptr1 = passStringToWasm0(mode, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);\n const len1 = WASM_VECTOR_LEN;\n wasm.parse(retptr, ptr0, len0, ptr1, len1);\n var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);\n var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);\n deferred3_0 = r0;\n deferred3_1 = r1;\n return getStringFromWasm0(r0, r1);\n } finally {\n wasm.__wbindgen_add_to_stack_pointer(16);\n wasm.__wbindgen_export_2(deferred3_0, deferred3_1, 1);\n }\n}\n\nasync function __wbg_load(module, imports) {\n if (typeof Response === 'function' && module instanceof Response) {\n if (typeof WebAssembly.instantiateStreaming === 'function') {\n try {\n return await WebAssembly.instantiateStreaming(module, imports);\n\n } catch (e) {\n if (module.headers.get('Content-Type') != 'application/wasm') {\n console.warn(\"`WebAssembly.instantiateStreaming` failed because your server does not serve Wasm with `application/wasm` MIME type. Falling back to `WebAssembly.instantiate` which is slower. Original error:\\n\", e);\n\n } else {\n throw e;\n }\n }\n }\n\n const bytes = await module.arrayBuffer();\n return await WebAssembly.instantiate(bytes, imports);\n\n } else {\n const instance = await WebAssembly.instantiate(module, imports);\n\n if (instance instanceof WebAssembly.Instance) {\n return { instance, module };\n\n } else {\n return instance;\n }\n }\n}\n\nfunction __wbg_get_imports() {\n const imports = {};\n imports.wbg = {};\n\n return imports;\n}\n\nfunction __wbg_init_memory(imports, memory) {\n\n}\n\nfunction __wbg_finalize_init(instance, module) {\n wasm = instance.exports;\n __wbg_init.__wbindgen_wasm_module = module;\n cachedDataViewMemory0 = null;\n cachedUint8ArrayMemory0 = null;\n\n\n\n return wasm;\n}\n\nfunction initSync(module) {\n if (wasm !== undefined) return wasm;\n\n\n if (typeof module !== 'undefined') {\n if (Object.getPrototypeOf(module) === Object.prototype) {\n ({module} = module)\n } else {\n console.warn('using deprecated parameters for `initSync()`; pass a single object instead')\n }\n }\n\n const imports = __wbg_get_imports();\n\n __wbg_init_memory(imports);\n\n if (!(module instanceof WebAssembly.Module)) {\n module = new WebAssembly.Module(module);\n }\n\n const instance = new WebAssembly.Instance(module, imports);\n\n return __wbg_finalize_init(instance, module);\n}\n\nasync function __wbg_init(module_or_path) {\n if (wasm !== undefined) return wasm;\n\n\n if (typeof module_or_path !== 'undefined') {\n if (Object.getPrototypeOf(module_or_path) === Object.prototype) {\n ({module_or_path} = module_or_path)\n } else {\n console.warn('using deprecated parameters for the initialization function; pass a single object instead')\n }\n }\n\n if (typeof module_or_path === 'undefined') {\n module_or_path = new URL('bitmark_wasm_bg.wasm', import.meta.url);\n }\n const imports = __wbg_get_imports();\n\n if (typeof module_or_path === 'string' || (typeof Request === 'function' && module_or_path instanceof Request) || (typeof URL === 'function' && module_or_path instanceof URL)) {\n module_or_path = fetch(module_or_path);\n }\n\n __wbg_init_memory(imports);\n\n const { instance, module } = await __wbg_load(await module_or_path, imports);\n\n return __wbg_finalize_init(instance, module);\n}\n\nexport { initSync };\nexport default __wbg_init;\n","// This file is automatically generated. DO NOT EDIT.\n\n/* eslint-disable */\n\nexport const PACKAGE_INFO = {\n \"name\": \"@gmb/bitmark-parser\",\n \"version\": \"3.0.2\",\n \"author\": \"Get More Brain Ltd <info@getmorebrain.com>\",\n \"license\": \"ISC\",\n \"description\": \"A parser for bitmark text, powered by WebAssembly.\"\n};\n"],"mappings":"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","names":["convert","info","lex","parse","ptr","module","lex","parse","convert","info"]} | ||
| {"version":3,"sources":["../../../src/browser/index.ts","../../../../../node_modules/tsup/assets/cjs_shims.js","../../../wasm-web/bitmark_wasm.js","../../../src/generated/package_info.ts"],"sourcesContent":["// This is a browser entry point that wraps the wasm-web bindings.\n// It re-exports all WASM functions so browser consumers can use:\n// import { parse, convert, ... } from '@gmb/bitmark-parser/browser'\n\nimport wasmInit from \"../../wasm-web/bitmark_wasm.js\";\nimport * as wasm from \"../../wasm-web/bitmark_wasm.js\";\nimport { PACKAGE_INFO } from \"../generated/package_info.js\";\n\nexport { initSync } from \"../../wasm-web/bitmark_wasm.js\";\n\n/**\n * Initialise the WASM module.\n *\n * When called without arguments, the default `.wasm` URL is decorated with a\n * cache-busting `?v=<version>` query parameter so that CDN caches are\n * invalidated when the package version changes.\n */\nexport async function init(module_or_path?: any): Promise<any> {\n if (typeof module_or_path === \"undefined\") {\n module_or_path = new URL(`bitmark_wasm_bg.wasm?v=${PACKAGE_INFO.version}`, import.meta.url);\n }\n return wasmInit(module_or_path);\n}\n\nexport type { LexOptions, LexStage, ParseOptions, ConvertOptions, OutputMode, BreakscapeOptions, TextFormat, TextLocation, InfoOptions, InfoType, InfoFormat } from \"../types.js\";\nimport type { LexOptions, ParseOptions, ConvertOptions, BreakscapeOptions, InfoOptions } from \"../types.js\";\n\n/**\n * Get the version of the @gmb/bitmark-parser library.\n *\n * @returns Version string (e.g. \"3.0.0\").\n */\nexport function version(): string {\n return PACKAGE_INFO.version;\n}\n\n/**\n * Lex bitmark input text, returning one line per token.\n *\n * @param input - The bitmark source text.\n * @param options - Lex options (e.g. `{ stage: \"lex\" }`).\n * @returns Token dump string (one token per line).\n */\nexport function lex(input: string, options: LexOptions = {}): string {\n return wasm.lex(input, options.stage ?? \"lex\");\n}\n\n/**\n * Parse bitmark input text and return structured JSON entries.\n *\n * Each entry contains `bit`, `parser`, and `bitmark` fields.\n *\n * @param input - The bitmark source text.\n * @param options - Parse options (e.g. `{ mode: \"full\" }`).\n * @returns JSON string array of structured parsed entries.\n */\nexport function parse(input: string, options: ParseOptions = {}): string {\n return wasm.parse(input, options.mode ?? \"optimized\");\n}\n\n/**\n * Auto-detect input format and convert between bitmark and JSON.\n *\n * @param input - Bitmark or JSON input text.\n * @param options - Convert options (e.g. `{ mode: \"full\", warnings: true }`).\n * @returns Converted output string. For bitmark input, this is a JSON string\n * array of structured parsed entries (`bit`, `parser`, `bitmark`).\n */\nexport function convert(input: string, options: ConvertOptions = {}): string {\n return wasm.convert(input, options.mode ?? \"optimized\", options.warnings ?? false, options.plainText ?? false, options.pretty ?? false, options.indent ?? 2);\n}\n\n/**\n * Breakscape text (escape bitmark special characters).\n *\n * @param input - The text to breakscape.\n * @param options - Breakscape options (e.g. `{ format: \"plainText\", location: \"tag\" }`).\n * @returns Breakscaped text.\n */\nexport function breakscapeText(input: string, options: BreakscapeOptions = {}): string {\n const format = options.format ?? \"bitmark++\";\n const location = options.location ?? \"body\";\n return wasm.breakscape_text(input, format, location);\n}\n\n/**\n * Unbreakscape text (unescape bitmark special characters).\n *\n * @param input - The text to unbreakscape.\n * @param options - Unbreakscape options (e.g. `{ format: \"plainText\", location: \"tag\" }`).\n * @returns Unbreakscaped text.\n */\nexport function unbreakscapeText(input: string, options: BreakscapeOptions = {}): string {\n const format = options.format ?? \"bitmark++\";\n const location = options.location ?? \"body\";\n return wasm.unbreakscape_text(input, format, location);\n}\n\n/**\n * Query information about supported bit types.\n *\n * @param options - Info options (e.g. `{ infoType: \"bit\", format: \"json\", bit: \"cloze\" }`).\n * @returns Information string.\n */\nexport function info(options: InfoOptions = {}): string {\n const infoType = options.infoType ?? \"list\";\n const format = options.format ?? \"text\";\n const bit = options.bit ?? \"\";\n const pretty = options.pretty ?? false;\n const indent = options.indent ?? 2;\n return wasm.info(infoType, format, bit, pretty, indent);\n}\n","// Shim globals in cjs bundle\n// There's a weird bug that esbuild will always inject importMetaUrl\n// if we export it as `const importMetaUrl = ... __filename ...`\n// But using a function will not cause this issue\n\nconst getImportMetaUrl = () => \n typeof document === \"undefined\" \n ? new URL(`file:${__filename}`).href \n : (document.currentScript && document.currentScript.tagName.toUpperCase() === 'SCRIPT') \n ? document.currentScript.src \n : new URL(\"main.js\", document.baseURI).href;\n\nexport const importMetaUrl = /* @__PURE__ */ getImportMetaUrl()\n","let wasm;\n\nlet WASM_VECTOR_LEN = 0;\n\nlet cachedUint8ArrayMemory0 = null;\n\nfunction getUint8ArrayMemory0() {\n if (cachedUint8ArrayMemory0 === null || cachedUint8ArrayMemory0.byteLength === 0) {\n cachedUint8ArrayMemory0 = new Uint8Array(wasm.memory.buffer);\n }\n return cachedUint8ArrayMemory0;\n}\n\nconst cachedTextEncoder = (typeof TextEncoder !== 'undefined' ? new TextEncoder('utf-8') : { encode: () => { throw Error('TextEncoder not available') } } );\n\nconst encodeString = (typeof cachedTextEncoder.encodeInto === 'function'\n ? function (arg, view) {\n return cachedTextEncoder.encodeInto(arg, view);\n}\n : function (arg, view) {\n const buf = cachedTextEncoder.encode(arg);\n view.set(buf);\n return {\n read: arg.length,\n written: buf.length\n };\n});\n\nfunction passStringToWasm0(arg, malloc, realloc) {\n\n if (realloc === undefined) {\n const buf = cachedTextEncoder.encode(arg);\n const ptr = malloc(buf.length, 1) >>> 0;\n getUint8ArrayMemory0().subarray(ptr, ptr + buf.length).set(buf);\n WASM_VECTOR_LEN = buf.length;\n return ptr;\n }\n\n let len = arg.length;\n let ptr = malloc(len, 1) >>> 0;\n\n const mem = getUint8ArrayMemory0();\n\n let offset = 0;\n\n for (; offset < len; offset++) {\n const code = arg.charCodeAt(offset);\n if (code > 0x7F) break;\n mem[ptr + offset] = code;\n }\n\n if (offset !== len) {\n if (offset !== 0) {\n arg = arg.slice(offset);\n }\n ptr = realloc(ptr, len, len = offset + arg.length * 3, 1) >>> 0;\n const view = getUint8ArrayMemory0().subarray(ptr + offset, ptr + len);\n const ret = encodeString(arg, view);\n\n offset += ret.written;\n ptr = realloc(ptr, len, offset, 1) >>> 0;\n }\n\n WASM_VECTOR_LEN = offset;\n return ptr;\n}\n\nlet cachedDataViewMemory0 = null;\n\nfunction getDataViewMemory0() {\n if (cachedDataViewMemory0 === null || cachedDataViewMemory0.buffer.detached === true || (cachedDataViewMemory0.buffer.detached === undefined && cachedDataViewMemory0.buffer !== wasm.memory.buffer)) {\n cachedDataViewMemory0 = new DataView(wasm.memory.buffer);\n }\n return cachedDataViewMemory0;\n}\n\nconst cachedTextDecoder = (typeof TextDecoder !== 'undefined' ? new TextDecoder('utf-8', { ignoreBOM: true, fatal: true }) : { decode: () => { throw Error('TextDecoder not available') } } );\n\nif (typeof TextDecoder !== 'undefined') { cachedTextDecoder.decode(); };\n\nfunction getStringFromWasm0(ptr, len) {\n ptr = ptr >>> 0;\n return cachedTextDecoder.decode(getUint8ArrayMemory0().subarray(ptr, ptr + len));\n}\n/**\n * Breakscape text (escape bitmark special characters).\n *\n * `format`: `\"bitmark++\"` (default) or `\"plainText\"`\n * `location`: `\"body\"` (default) or `\"tag\"`\n * @param {string} input\n * @param {string} format\n * @param {string} location\n * @returns {string}\n */\nexport function breakscape_text(input, format, location) {\n let deferred4_0;\n let deferred4_1;\n try {\n const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);\n const ptr0 = passStringToWasm0(input, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);\n const len0 = WASM_VECTOR_LEN;\n const ptr1 = passStringToWasm0(format, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);\n const len1 = WASM_VECTOR_LEN;\n const ptr2 = passStringToWasm0(location, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);\n const len2 = WASM_VECTOR_LEN;\n wasm.breakscape_text(retptr, ptr0, len0, ptr1, len1, ptr2, len2);\n var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);\n var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);\n deferred4_0 = r0;\n deferred4_1 = r1;\n return getStringFromWasm0(r0, r1);\n } finally {\n wasm.__wbindgen_add_to_stack_pointer(16);\n wasm.__wbindgen_export_2(deferred4_0, deferred4_1, 1);\n }\n}\n\n/**\n * Query information about supported bit types.\n *\n * `info_type`: `\"list\"`, `\"bit\"`, `\"all\"`, or `\"deprecated\"`\n * `format`: `\"text\"` or `\"json\"`\n * `bit`: bit name (required when `info_type` is `\"bit\"`)\n * `pretty`: whether to pretty-print JSON output\n * `indent`: indent size for pretty-printing (default: 2)\n * @param {string} info_type\n * @param {string} format\n * @param {string} bit\n * @param {boolean} pretty\n * @param {number} indent\n * @returns {string}\n */\nexport function info(info_type, format, bit, pretty, indent) {\n let deferred4_0;\n let deferred4_1;\n try {\n const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);\n const ptr0 = passStringToWasm0(info_type, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);\n const len0 = WASM_VECTOR_LEN;\n const ptr1 = passStringToWasm0(format, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);\n const len1 = WASM_VECTOR_LEN;\n const ptr2 = passStringToWasm0(bit, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);\n const len2 = WASM_VECTOR_LEN;\n wasm.info(retptr, ptr0, len0, ptr1, len1, ptr2, len2, pretty, indent);\n var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);\n var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);\n deferred4_0 = r0;\n deferred4_1 = r1;\n return getStringFromWasm0(r0, r1);\n } finally {\n wasm.__wbindgen_add_to_stack_pointer(16);\n wasm.__wbindgen_export_2(deferred4_0, deferred4_1, 1);\n }\n}\n\n/**\n * Parse bitmark input text and return the reference JSON format.\n *\n * Uses the full pipeline: parse → validate → serialize.\n *\n * `mode`: `\"optimized\"` (default) or `\"full\"`\n * @param {string} input\n * @param {string} mode\n * @returns {string}\n */\nexport function parse(input, mode) {\n let deferred3_0;\n let deferred3_1;\n try {\n const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);\n const ptr0 = passStringToWasm0(input, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);\n const len0 = WASM_VECTOR_LEN;\n const ptr1 = passStringToWasm0(mode, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);\n const len1 = WASM_VECTOR_LEN;\n wasm.parse(retptr, ptr0, len0, ptr1, len1);\n var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);\n var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);\n deferred3_0 = r0;\n deferred3_1 = r1;\n return getStringFromWasm0(r0, r1);\n } finally {\n wasm.__wbindgen_add_to_stack_pointer(16);\n wasm.__wbindgen_export_2(deferred3_0, deferred3_1, 1);\n }\n}\n\n/**\n * Lex bitmark input text, returning one line per token in the same format as\n * the Rust CLI: `{kind:?} {span:?} \"{text}\"`.\n *\n * `stage` selects the lexer pipeline:\n * - `\"lex\"` — combined (default)\n * - `\"lex-json\"` — combined, JSON array output\n * @param {string} input\n * @param {string} stage\n * @returns {string}\n */\nexport function lex(input, stage) {\n let deferred3_0;\n let deferred3_1;\n try {\n const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);\n const ptr0 = passStringToWasm0(input, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);\n const len0 = WASM_VECTOR_LEN;\n const ptr1 = passStringToWasm0(stage, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);\n const len1 = WASM_VECTOR_LEN;\n wasm.lex(retptr, ptr0, len0, ptr1, len1);\n var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);\n var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);\n deferred3_0 = r0;\n deferred3_1 = r1;\n return getStringFromWasm0(r0, r1);\n } finally {\n wasm.__wbindgen_add_to_stack_pointer(16);\n wasm.__wbindgen_export_2(deferred3_0, deferred3_1, 1);\n }\n}\n\n/**\n * Unbreakscape text (unescape bitmark special characters).\n *\n * `format`: `\"bitmark++\"` (default) or `\"plainText\"`\n * `location`: `\"body\"` (default) or `\"tag\"`\n * @param {string} input\n * @param {string} format\n * @param {string} location\n * @returns {string}\n */\nexport function unbreakscape_text(input, format, location) {\n let deferred4_0;\n let deferred4_1;\n try {\n const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);\n const ptr0 = passStringToWasm0(input, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);\n const len0 = WASM_VECTOR_LEN;\n const ptr1 = passStringToWasm0(format, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);\n const len1 = WASM_VECTOR_LEN;\n const ptr2 = passStringToWasm0(location, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);\n const len2 = WASM_VECTOR_LEN;\n wasm.unbreakscape_text(retptr, ptr0, len0, ptr1, len1, ptr2, len2);\n var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);\n var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);\n deferred4_0 = r0;\n deferred4_1 = r1;\n return getStringFromWasm0(r0, r1);\n } finally {\n wasm.__wbindgen_add_to_stack_pointer(16);\n wasm.__wbindgen_export_2(deferred4_0, deferred4_1, 1);\n }\n}\n\n/**\n * Auto-detect input format and convert between bitmark and JSON.\n *\n * `mode`: `\"optimized\"` (default) or `\"full\"`\n * `warnings`: whether to include validation warnings (default: false)\n * `plain_text`: output text as plain text — debug mode (default: false)\n * `pretty`: prettify JSON output (default: false)\n * `indent`: indent size for pretty-printing (default: 2)\n *\n * Returns JSON if input is bitmark, or an error message if input is JSON\n * (generator not yet implemented).\n * @param {string} input\n * @param {string} mode\n * @param {boolean} warnings\n * @param {boolean} plain_text\n * @param {boolean} pretty\n * @param {number} indent\n * @returns {string}\n */\nexport function convert(input, mode, warnings, plain_text, pretty, indent) {\n let deferred3_0;\n let deferred3_1;\n try {\n const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);\n const ptr0 = passStringToWasm0(input, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);\n const len0 = WASM_VECTOR_LEN;\n const ptr1 = passStringToWasm0(mode, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);\n const len1 = WASM_VECTOR_LEN;\n wasm.convert(retptr, ptr0, len0, ptr1, len1, warnings, plain_text, pretty, indent);\n var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);\n var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);\n deferred3_0 = r0;\n deferred3_1 = r1;\n return getStringFromWasm0(r0, r1);\n } finally {\n wasm.__wbindgen_add_to_stack_pointer(16);\n wasm.__wbindgen_export_2(deferred3_0, deferred3_1, 1);\n }\n}\n\nasync function __wbg_load(module, imports) {\n if (typeof Response === 'function' && module instanceof Response) {\n if (typeof WebAssembly.instantiateStreaming === 'function') {\n try {\n return await WebAssembly.instantiateStreaming(module, imports);\n\n } catch (e) {\n if (module.headers.get('Content-Type') != 'application/wasm') {\n console.warn(\"`WebAssembly.instantiateStreaming` failed because your server does not serve Wasm with `application/wasm` MIME type. Falling back to `WebAssembly.instantiate` which is slower. Original error:\\n\", e);\n\n } else {\n throw e;\n }\n }\n }\n\n const bytes = await module.arrayBuffer();\n return await WebAssembly.instantiate(bytes, imports);\n\n } else {\n const instance = await WebAssembly.instantiate(module, imports);\n\n if (instance instanceof WebAssembly.Instance) {\n return { instance, module };\n\n } else {\n return instance;\n }\n }\n}\n\nfunction __wbg_get_imports() {\n const imports = {};\n imports.wbg = {};\n\n return imports;\n}\n\nfunction __wbg_init_memory(imports, memory) {\n\n}\n\nfunction __wbg_finalize_init(instance, module) {\n wasm = instance.exports;\n __wbg_init.__wbindgen_wasm_module = module;\n cachedDataViewMemory0 = null;\n cachedUint8ArrayMemory0 = null;\n\n\n\n return wasm;\n}\n\nfunction initSync(module) {\n if (wasm !== undefined) return wasm;\n\n\n if (typeof module !== 'undefined') {\n if (Object.getPrototypeOf(module) === Object.prototype) {\n ({module} = module)\n } else {\n console.warn('using deprecated parameters for `initSync()`; pass a single object instead')\n }\n }\n\n const imports = __wbg_get_imports();\n\n __wbg_init_memory(imports);\n\n if (!(module instanceof WebAssembly.Module)) {\n module = new WebAssembly.Module(module);\n }\n\n const instance = new WebAssembly.Instance(module, imports);\n\n return __wbg_finalize_init(instance, module);\n}\n\nasync function __wbg_init(module_or_path) {\n if (wasm !== undefined) return wasm;\n\n\n if (typeof module_or_path !== 'undefined') {\n if (Object.getPrototypeOf(module_or_path) === Object.prototype) {\n ({module_or_path} = module_or_path)\n } else {\n console.warn('using deprecated parameters for the initialization function; pass a single object instead')\n }\n }\n\n if (typeof module_or_path === 'undefined') {\n module_or_path = new URL('bitmark_wasm_bg.wasm', import.meta.url);\n }\n const imports = __wbg_get_imports();\n\n if (typeof module_or_path === 'string' || (typeof Request === 'function' && module_or_path instanceof Request) || (typeof URL === 'function' && module_or_path instanceof URL)) {\n module_or_path = fetch(module_or_path);\n }\n\n __wbg_init_memory(imports);\n\n const { instance, module } = await __wbg_load(await module_or_path, imports);\n\n return __wbg_finalize_init(instance, module);\n}\n\nexport { initSync };\nexport default __wbg_init;\n","// This file is automatically generated. DO NOT EDIT.\n\n/* eslint-disable */\n\nexport const PACKAGE_INFO = {\n \"name\": \"@gmb/bitmark-parser\",\n \"version\": \"3.0.3\",\n \"author\": \"Get More Brain Ltd <info@getmorebrain.com>\",\n \"license\": \"ISC\",\n \"description\": \"A parser for bitmark text, powered by WebAssembly.\"\n};\n"],"mappings":"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","names":["convert","info","lex","parse","ptr","module","lex","parse","convert","info"]} |
@@ -1,3 +0,1 @@ | ||
| type InitInput = RequestInfo | URL | Response | BufferSource | WebAssembly.Module; | ||
| interface InitOutput { | ||
@@ -29,12 +27,2 @@ readonly memory: WebAssembly.Memory; | ||
| /** | ||
| * If `module_or_path` is {RequestInfo} or {URL}, makes a request and | ||
| * for everything else, calls `WebAssembly.instantiate` directly. | ||
| * | ||
| * @param {{ module_or_path: InitInput | Promise<InitInput> }} module_or_path - Passing `InitInput` directly is deprecated. | ||
| * | ||
| * @returns {Promise<InitOutput>} | ||
| */ | ||
| declare function __wbg_init (module_or_path?: { module_or_path: InitInput | Promise<InitInput> } | InitInput | Promise<InitInput>): Promise<InitOutput>; | ||
| /** | ||
| * Output mode for JSON serialization. | ||
@@ -106,2 +94,11 @@ * | ||
| /** | ||
| * Initialise the WASM module. | ||
| * | ||
| * When called without arguments, the default `.wasm` URL is decorated with a | ||
| * cache-busting `?v=<version>` query parameter so that CDN caches are | ||
| * invalidated when the package version changes. | ||
| */ | ||
| declare function init(module_or_path?: any): Promise<any>; | ||
| /** | ||
| * Get the version of the @gmb/bitmark-parser library. | ||
@@ -163,2 +160,2 @@ * | ||
| export { type BreakscapeOptions, type ConvertOptions, type InfoFormat, type InfoOptions, type InfoType, type LexOptions, type LexStage, type OutputMode, type ParseOptions, type TextFormat, type TextLocation, breakscapeText, convert, info, __wbg_init as init, initSync, lex, parse, unbreakscapeText, version }; | ||
| export { type BreakscapeOptions, type ConvertOptions, type InfoFormat, type InfoOptions, type InfoType, type LexOptions, type LexStage, type OutputMode, type ParseOptions, type TextFormat, type TextLocation, breakscapeText, convert, info, init, initSync, lex, parse, unbreakscapeText, version }; |
@@ -1,3 +0,1 @@ | ||
| type InitInput = RequestInfo | URL | Response | BufferSource | WebAssembly.Module; | ||
| interface InitOutput { | ||
@@ -29,12 +27,2 @@ readonly memory: WebAssembly.Memory; | ||
| /** | ||
| * If `module_or_path` is {RequestInfo} or {URL}, makes a request and | ||
| * for everything else, calls `WebAssembly.instantiate` directly. | ||
| * | ||
| * @param {{ module_or_path: InitInput | Promise<InitInput> }} module_or_path - Passing `InitInput` directly is deprecated. | ||
| * | ||
| * @returns {Promise<InitOutput>} | ||
| */ | ||
| declare function __wbg_init (module_or_path?: { module_or_path: InitInput | Promise<InitInput> } | InitInput | Promise<InitInput>): Promise<InitOutput>; | ||
| /** | ||
| * Output mode for JSON serialization. | ||
@@ -106,2 +94,11 @@ * | ||
| /** | ||
| * Initialise the WASM module. | ||
| * | ||
| * When called without arguments, the default `.wasm` URL is decorated with a | ||
| * cache-busting `?v=<version>` query parameter so that CDN caches are | ||
| * invalidated when the package version changes. | ||
| */ | ||
| declare function init(module_or_path?: any): Promise<any>; | ||
| /** | ||
| * Get the version of the @gmb/bitmark-parser library. | ||
@@ -163,2 +160,2 @@ * | ||
| export { type BreakscapeOptions, type ConvertOptions, type InfoFormat, type InfoOptions, type InfoType, type LexOptions, type LexStage, type OutputMode, type ParseOptions, type TextFormat, type TextLocation, breakscapeText, convert, info, __wbg_init as init, initSync, lex, parse, unbreakscapeText, version }; | ||
| export { type BreakscapeOptions, type ConvertOptions, type InfoFormat, type InfoOptions, type InfoType, type LexOptions, type LexStage, type OutputMode, type ParseOptions, type TextFormat, type TextLocation, breakscapeText, convert, info, init, initSync, lex, parse, unbreakscapeText, version }; |
@@ -71,5 +71,5 @@ // wasm-web/bitmark_wasm.js | ||
| } | ||
| function lex(input, stage) { | ||
| let deferred3_0; | ||
| let deferred3_1; | ||
| function breakscape_text(input, format, location) { | ||
| let deferred4_0; | ||
| let deferred4_1; | ||
| try { | ||
@@ -79,16 +79,18 @@ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); | ||
| const len0 = WASM_VECTOR_LEN; | ||
| const ptr1 = passStringToWasm0(stage, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1); | ||
| const ptr1 = passStringToWasm0(format, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1); | ||
| const len1 = WASM_VECTOR_LEN; | ||
| wasm.lex(retptr, ptr0, len0, ptr1, len1); | ||
| const ptr2 = passStringToWasm0(location, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1); | ||
| const len2 = WASM_VECTOR_LEN; | ||
| wasm.breakscape_text(retptr, ptr0, len0, ptr1, len1, ptr2, len2); | ||
| var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true); | ||
| var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true); | ||
| deferred3_0 = r0; | ||
| deferred3_1 = r1; | ||
| deferred4_0 = r0; | ||
| deferred4_1 = r1; | ||
| return getStringFromWasm0(r0, r1); | ||
| } finally { | ||
| wasm.__wbindgen_add_to_stack_pointer(16); | ||
| wasm.__wbindgen_export_2(deferred3_0, deferred3_1, 1); | ||
| wasm.__wbindgen_export_2(deferred4_0, deferred4_1, 1); | ||
| } | ||
| } | ||
| function breakscape_text(input, format, location) { | ||
| function info(info_type, format, bit, pretty, indent) { | ||
| let deferred4_0; | ||
@@ -98,9 +100,9 @@ let deferred4_1; | ||
| const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); | ||
| const ptr0 = passStringToWasm0(input, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1); | ||
| const ptr0 = passStringToWasm0(info_type, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1); | ||
| const len0 = WASM_VECTOR_LEN; | ||
| const ptr1 = passStringToWasm0(format, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1); | ||
| const len1 = WASM_VECTOR_LEN; | ||
| const ptr2 = passStringToWasm0(location, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1); | ||
| const ptr2 = passStringToWasm0(bit, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1); | ||
| const len2 = WASM_VECTOR_LEN; | ||
| wasm.breakscape_text(retptr, ptr0, len0, ptr1, len1, ptr2, len2); | ||
| wasm.info(retptr, ptr0, len0, ptr1, len1, ptr2, len2, pretty, indent); | ||
| var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true); | ||
@@ -116,3 +118,3 @@ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true); | ||
| } | ||
| function convert(input, mode, warnings, plain_text, pretty, indent) { | ||
| function parse(input, mode) { | ||
| let deferred3_0; | ||
@@ -126,3 +128,3 @@ let deferred3_1; | ||
| const len1 = WASM_VECTOR_LEN; | ||
| wasm.convert(retptr, ptr0, len0, ptr1, len1, warnings, plain_text, pretty, indent); | ||
| wasm.parse(retptr, ptr0, len0, ptr1, len1); | ||
| var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true); | ||
@@ -138,22 +140,20 @@ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true); | ||
| } | ||
| function info(info_type, format, bit, pretty, indent) { | ||
| let deferred4_0; | ||
| let deferred4_1; | ||
| function lex(input, stage) { | ||
| let deferred3_0; | ||
| let deferred3_1; | ||
| try { | ||
| const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); | ||
| const ptr0 = passStringToWasm0(info_type, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1); | ||
| const ptr0 = passStringToWasm0(input, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1); | ||
| const len0 = WASM_VECTOR_LEN; | ||
| const ptr1 = passStringToWasm0(format, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1); | ||
| const ptr1 = passStringToWasm0(stage, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1); | ||
| const len1 = WASM_VECTOR_LEN; | ||
| const ptr2 = passStringToWasm0(bit, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1); | ||
| const len2 = WASM_VECTOR_LEN; | ||
| wasm.info(retptr, ptr0, len0, ptr1, len1, ptr2, len2, pretty, indent); | ||
| wasm.lex(retptr, ptr0, len0, ptr1, len1); | ||
| var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true); | ||
| var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true); | ||
| deferred4_0 = r0; | ||
| deferred4_1 = r1; | ||
| deferred3_0 = r0; | ||
| deferred3_1 = r1; | ||
| return getStringFromWasm0(r0, r1); | ||
| } finally { | ||
| wasm.__wbindgen_add_to_stack_pointer(16); | ||
| wasm.__wbindgen_export_2(deferred4_0, deferred4_1, 1); | ||
| wasm.__wbindgen_export_2(deferred3_0, deferred3_1, 1); | ||
| } | ||
@@ -183,3 +183,3 @@ } | ||
| } | ||
| function parse(input, mode) { | ||
| function convert(input, mode, warnings, plain_text, pretty, indent) { | ||
| let deferred3_0; | ||
@@ -193,3 +193,3 @@ let deferred3_1; | ||
| const len1 = WASM_VECTOR_LEN; | ||
| wasm.parse(retptr, ptr0, len0, ptr1, len1); | ||
| wasm.convert(retptr, ptr0, len0, ptr1, len1, warnings, plain_text, pretty, indent); | ||
| var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true); | ||
@@ -285,3 +285,3 @@ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true); | ||
| "name": "@gmb/bitmark-parser", | ||
| "version": "3.0.2", | ||
| "version": "3.0.3", | ||
| "author": "Get More Brain Ltd <info@getmorebrain.com>", | ||
@@ -293,2 +293,8 @@ "license": "ISC", | ||
| // src/browser/index.ts | ||
| async function init(module_or_path) { | ||
| if (typeof module_or_path === "undefined") { | ||
| module_or_path = new URL(`bitmark_wasm_bg.wasm?v=${PACKAGE_INFO.version}`, import.meta.url); | ||
| } | ||
| return bitmark_wasm_default(module_or_path); | ||
| } | ||
| function version() { | ||
@@ -328,3 +334,3 @@ return PACKAGE_INFO.version; | ||
| info2 as info, | ||
| bitmark_wasm_default as init, | ||
| init, | ||
| initSync, | ||
@@ -331,0 +337,0 @@ lex2 as lex, |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"sources":["../../../wasm-web/bitmark_wasm.js","../../../src/generated/package_info.ts","../../../src/browser/index.ts"],"sourcesContent":["let wasm;\n\nlet WASM_VECTOR_LEN = 0;\n\nlet cachedUint8ArrayMemory0 = null;\n\nfunction getUint8ArrayMemory0() {\n if (cachedUint8ArrayMemory0 === null || cachedUint8ArrayMemory0.byteLength === 0) {\n cachedUint8ArrayMemory0 = new Uint8Array(wasm.memory.buffer);\n }\n return cachedUint8ArrayMemory0;\n}\n\nconst cachedTextEncoder = (typeof TextEncoder !== 'undefined' ? new TextEncoder('utf-8') : { encode: () => { throw Error('TextEncoder not available') } } );\n\nconst encodeString = (typeof cachedTextEncoder.encodeInto === 'function'\n ? function (arg, view) {\n return cachedTextEncoder.encodeInto(arg, view);\n}\n : function (arg, view) {\n const buf = cachedTextEncoder.encode(arg);\n view.set(buf);\n return {\n read: arg.length,\n written: buf.length\n };\n});\n\nfunction passStringToWasm0(arg, malloc, realloc) {\n\n if (realloc === undefined) {\n const buf = cachedTextEncoder.encode(arg);\n const ptr = malloc(buf.length, 1) >>> 0;\n getUint8ArrayMemory0().subarray(ptr, ptr + buf.length).set(buf);\n WASM_VECTOR_LEN = buf.length;\n return ptr;\n }\n\n let len = arg.length;\n let ptr = malloc(len, 1) >>> 0;\n\n const mem = getUint8ArrayMemory0();\n\n let offset = 0;\n\n for (; offset < len; offset++) {\n const code = arg.charCodeAt(offset);\n if (code > 0x7F) break;\n mem[ptr + offset] = code;\n }\n\n if (offset !== len) {\n if (offset !== 0) {\n arg = arg.slice(offset);\n }\n ptr = realloc(ptr, len, len = offset + arg.length * 3, 1) >>> 0;\n const view = getUint8ArrayMemory0().subarray(ptr + offset, ptr + len);\n const ret = encodeString(arg, view);\n\n offset += ret.written;\n ptr = realloc(ptr, len, offset, 1) >>> 0;\n }\n\n WASM_VECTOR_LEN = offset;\n return ptr;\n}\n\nlet cachedDataViewMemory0 = null;\n\nfunction getDataViewMemory0() {\n if (cachedDataViewMemory0 === null || cachedDataViewMemory0.buffer.detached === true || (cachedDataViewMemory0.buffer.detached === undefined && cachedDataViewMemory0.buffer !== wasm.memory.buffer)) {\n cachedDataViewMemory0 = new DataView(wasm.memory.buffer);\n }\n return cachedDataViewMemory0;\n}\n\nconst cachedTextDecoder = (typeof TextDecoder !== 'undefined' ? new TextDecoder('utf-8', { ignoreBOM: true, fatal: true }) : { decode: () => { throw Error('TextDecoder not available') } } );\n\nif (typeof TextDecoder !== 'undefined') { cachedTextDecoder.decode(); };\n\nfunction getStringFromWasm0(ptr, len) {\n ptr = ptr >>> 0;\n return cachedTextDecoder.decode(getUint8ArrayMemory0().subarray(ptr, ptr + len));\n}\n/**\n * Lex bitmark input text, returning one line per token in the same format as\n * the Rust CLI: `{kind:?} {span:?} \"{text}\"`.\n *\n * `stage` selects the lexer pipeline:\n * - `\"lex\"` — combined (default)\n * - `\"lex-json\"` — combined, JSON array output\n * @param {string} input\n * @param {string} stage\n * @returns {string}\n */\nexport function lex(input, stage) {\n let deferred3_0;\n let deferred3_1;\n try {\n const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);\n const ptr0 = passStringToWasm0(input, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);\n const len0 = WASM_VECTOR_LEN;\n const ptr1 = passStringToWasm0(stage, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);\n const len1 = WASM_VECTOR_LEN;\n wasm.lex(retptr, ptr0, len0, ptr1, len1);\n var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);\n var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);\n deferred3_0 = r0;\n deferred3_1 = r1;\n return getStringFromWasm0(r0, r1);\n } finally {\n wasm.__wbindgen_add_to_stack_pointer(16);\n wasm.__wbindgen_export_2(deferred3_0, deferred3_1, 1);\n }\n}\n\n/**\n * Breakscape text (escape bitmark special characters).\n *\n * `format`: `\"bitmark++\"` (default) or `\"plainText\"`\n * `location`: `\"body\"` (default) or `\"tag\"`\n * @param {string} input\n * @param {string} format\n * @param {string} location\n * @returns {string}\n */\nexport function breakscape_text(input, format, location) {\n let deferred4_0;\n let deferred4_1;\n try {\n const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);\n const ptr0 = passStringToWasm0(input, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);\n const len0 = WASM_VECTOR_LEN;\n const ptr1 = passStringToWasm0(format, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);\n const len1 = WASM_VECTOR_LEN;\n const ptr2 = passStringToWasm0(location, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);\n const len2 = WASM_VECTOR_LEN;\n wasm.breakscape_text(retptr, ptr0, len0, ptr1, len1, ptr2, len2);\n var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);\n var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);\n deferred4_0 = r0;\n deferred4_1 = r1;\n return getStringFromWasm0(r0, r1);\n } finally {\n wasm.__wbindgen_add_to_stack_pointer(16);\n wasm.__wbindgen_export_2(deferred4_0, deferred4_1, 1);\n }\n}\n\n/**\n * Auto-detect input format and convert between bitmark and JSON.\n *\n * `mode`: `\"optimized\"` (default) or `\"full\"`\n * `warnings`: whether to include validation warnings (default: false)\n * `plain_text`: output text as plain text — debug mode (default: false)\n * `pretty`: prettify JSON output (default: false)\n * `indent`: indent size for pretty-printing (default: 2)\n *\n * Returns JSON if input is bitmark, or an error message if input is JSON\n * (generator not yet implemented).\n * @param {string} input\n * @param {string} mode\n * @param {boolean} warnings\n * @param {boolean} plain_text\n * @param {boolean} pretty\n * @param {number} indent\n * @returns {string}\n */\nexport function convert(input, mode, warnings, plain_text, pretty, indent) {\n let deferred3_0;\n let deferred3_1;\n try {\n const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);\n const ptr0 = passStringToWasm0(input, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);\n const len0 = WASM_VECTOR_LEN;\n const ptr1 = passStringToWasm0(mode, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);\n const len1 = WASM_VECTOR_LEN;\n wasm.convert(retptr, ptr0, len0, ptr1, len1, warnings, plain_text, pretty, indent);\n var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);\n var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);\n deferred3_0 = r0;\n deferred3_1 = r1;\n return getStringFromWasm0(r0, r1);\n } finally {\n wasm.__wbindgen_add_to_stack_pointer(16);\n wasm.__wbindgen_export_2(deferred3_0, deferred3_1, 1);\n }\n}\n\n/**\n * Query information about supported bit types.\n *\n * `info_type`: `\"list\"`, `\"bit\"`, `\"all\"`, or `\"deprecated\"`\n * `format`: `\"text\"` or `\"json\"`\n * `bit`: bit name (required when `info_type` is `\"bit\"`)\n * `pretty`: whether to pretty-print JSON output\n * `indent`: indent size for pretty-printing (default: 2)\n * @param {string} info_type\n * @param {string} format\n * @param {string} bit\n * @param {boolean} pretty\n * @param {number} indent\n * @returns {string}\n */\nexport function info(info_type, format, bit, pretty, indent) {\n let deferred4_0;\n let deferred4_1;\n try {\n const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);\n const ptr0 = passStringToWasm0(info_type, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);\n const len0 = WASM_VECTOR_LEN;\n const ptr1 = passStringToWasm0(format, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);\n const len1 = WASM_VECTOR_LEN;\n const ptr2 = passStringToWasm0(bit, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);\n const len2 = WASM_VECTOR_LEN;\n wasm.info(retptr, ptr0, len0, ptr1, len1, ptr2, len2, pretty, indent);\n var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);\n var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);\n deferred4_0 = r0;\n deferred4_1 = r1;\n return getStringFromWasm0(r0, r1);\n } finally {\n wasm.__wbindgen_add_to_stack_pointer(16);\n wasm.__wbindgen_export_2(deferred4_0, deferred4_1, 1);\n }\n}\n\n/**\n * Unbreakscape text (unescape bitmark special characters).\n *\n * `format`: `\"bitmark++\"` (default) or `\"plainText\"`\n * `location`: `\"body\"` (default) or `\"tag\"`\n * @param {string} input\n * @param {string} format\n * @param {string} location\n * @returns {string}\n */\nexport function unbreakscape_text(input, format, location) {\n let deferred4_0;\n let deferred4_1;\n try {\n const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);\n const ptr0 = passStringToWasm0(input, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);\n const len0 = WASM_VECTOR_LEN;\n const ptr1 = passStringToWasm0(format, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);\n const len1 = WASM_VECTOR_LEN;\n const ptr2 = passStringToWasm0(location, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);\n const len2 = WASM_VECTOR_LEN;\n wasm.unbreakscape_text(retptr, ptr0, len0, ptr1, len1, ptr2, len2);\n var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);\n var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);\n deferred4_0 = r0;\n deferred4_1 = r1;\n return getStringFromWasm0(r0, r1);\n } finally {\n wasm.__wbindgen_add_to_stack_pointer(16);\n wasm.__wbindgen_export_2(deferred4_0, deferred4_1, 1);\n }\n}\n\n/**\n * Parse bitmark input text and return the reference JSON format.\n *\n * Uses the full pipeline: parse → validate → serialize.\n *\n * `mode`: `\"optimized\"` (default) or `\"full\"`\n * @param {string} input\n * @param {string} mode\n * @returns {string}\n */\nexport function parse(input, mode) {\n let deferred3_0;\n let deferred3_1;\n try {\n const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);\n const ptr0 = passStringToWasm0(input, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);\n const len0 = WASM_VECTOR_LEN;\n const ptr1 = passStringToWasm0(mode, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);\n const len1 = WASM_VECTOR_LEN;\n wasm.parse(retptr, ptr0, len0, ptr1, len1);\n var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);\n var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);\n deferred3_0 = r0;\n deferred3_1 = r1;\n return getStringFromWasm0(r0, r1);\n } finally {\n wasm.__wbindgen_add_to_stack_pointer(16);\n wasm.__wbindgen_export_2(deferred3_0, deferred3_1, 1);\n }\n}\n\nasync function __wbg_load(module, imports) {\n if (typeof Response === 'function' && module instanceof Response) {\n if (typeof WebAssembly.instantiateStreaming === 'function') {\n try {\n return await WebAssembly.instantiateStreaming(module, imports);\n\n } catch (e) {\n if (module.headers.get('Content-Type') != 'application/wasm') {\n console.warn(\"`WebAssembly.instantiateStreaming` failed because your server does not serve Wasm with `application/wasm` MIME type. Falling back to `WebAssembly.instantiate` which is slower. Original error:\\n\", e);\n\n } else {\n throw e;\n }\n }\n }\n\n const bytes = await module.arrayBuffer();\n return await WebAssembly.instantiate(bytes, imports);\n\n } else {\n const instance = await WebAssembly.instantiate(module, imports);\n\n if (instance instanceof WebAssembly.Instance) {\n return { instance, module };\n\n } else {\n return instance;\n }\n }\n}\n\nfunction __wbg_get_imports() {\n const imports = {};\n imports.wbg = {};\n\n return imports;\n}\n\nfunction __wbg_init_memory(imports, memory) {\n\n}\n\nfunction __wbg_finalize_init(instance, module) {\n wasm = instance.exports;\n __wbg_init.__wbindgen_wasm_module = module;\n cachedDataViewMemory0 = null;\n cachedUint8ArrayMemory0 = null;\n\n\n\n return wasm;\n}\n\nfunction initSync(module) {\n if (wasm !== undefined) return wasm;\n\n\n if (typeof module !== 'undefined') {\n if (Object.getPrototypeOf(module) === Object.prototype) {\n ({module} = module)\n } else {\n console.warn('using deprecated parameters for `initSync()`; pass a single object instead')\n }\n }\n\n const imports = __wbg_get_imports();\n\n __wbg_init_memory(imports);\n\n if (!(module instanceof WebAssembly.Module)) {\n module = new WebAssembly.Module(module);\n }\n\n const instance = new WebAssembly.Instance(module, imports);\n\n return __wbg_finalize_init(instance, module);\n}\n\nasync function __wbg_init(module_or_path) {\n if (wasm !== undefined) return wasm;\n\n\n if (typeof module_or_path !== 'undefined') {\n if (Object.getPrototypeOf(module_or_path) === Object.prototype) {\n ({module_or_path} = module_or_path)\n } else {\n console.warn('using deprecated parameters for the initialization function; pass a single object instead')\n }\n }\n\n if (typeof module_or_path === 'undefined') {\n module_or_path = new URL('bitmark_wasm_bg.wasm', import.meta.url);\n }\n const imports = __wbg_get_imports();\n\n if (typeof module_or_path === 'string' || (typeof Request === 'function' && module_or_path instanceof Request) || (typeof URL === 'function' && module_or_path instanceof URL)) {\n module_or_path = fetch(module_or_path);\n }\n\n __wbg_init_memory(imports);\n\n const { instance, module } = await __wbg_load(await module_or_path, imports);\n\n return __wbg_finalize_init(instance, module);\n}\n\nexport { initSync };\nexport default __wbg_init;\n","// This file is automatically generated. DO NOT EDIT.\n\n/* eslint-disable */\n\nexport const PACKAGE_INFO = {\n \"name\": \"@gmb/bitmark-parser\",\n \"version\": \"3.0.2\",\n \"author\": \"Get More Brain Ltd <info@getmorebrain.com>\",\n \"license\": \"ISC\",\n \"description\": \"A parser for bitmark text, powered by WebAssembly.\"\n};\n","// This is a browser entry point that wraps the wasm-web bindings.\n// It re-exports all WASM functions so browser consumers can use:\n// import { parse, convert, ... } from '@gmb/bitmark-parser/browser'\n\nimport * as wasm from \"../../wasm-web/bitmark_wasm.js\";\nimport { PACKAGE_INFO } from \"../generated/package_info.js\";\n\nexport { default as init, initSync } from \"../../wasm-web/bitmark_wasm.js\";\n\nexport type { LexOptions, LexStage, ParseOptions, ConvertOptions, OutputMode, BreakscapeOptions, TextFormat, TextLocation, InfoOptions, InfoType, InfoFormat } from \"../types.js\";\nimport type { LexOptions, ParseOptions, ConvertOptions, BreakscapeOptions, InfoOptions } from \"../types.js\";\n\n/**\n * Get the version of the @gmb/bitmark-parser library.\n *\n * @returns Version string (e.g. \"3.0.0\").\n */\nexport function version(): string {\n return PACKAGE_INFO.version;\n}\n\n/**\n * Lex bitmark input text, returning one line per token.\n *\n * @param input - The bitmark source text.\n * @param options - Lex options (e.g. `{ stage: \"lex\" }`).\n * @returns Token dump string (one token per line).\n */\nexport function lex(input: string, options: LexOptions = {}): string {\n return wasm.lex(input, options.stage ?? \"lex\");\n}\n\n/**\n * Parse bitmark input text and return structured JSON entries.\n *\n * Each entry contains `bit`, `parser`, and `bitmark` fields.\n *\n * @param input - The bitmark source text.\n * @param options - Parse options (e.g. `{ mode: \"full\" }`).\n * @returns JSON string array of structured parsed entries.\n */\nexport function parse(input: string, options: ParseOptions = {}): string {\n return wasm.parse(input, options.mode ?? \"optimized\");\n}\n\n/**\n * Auto-detect input format and convert between bitmark and JSON.\n *\n * @param input - Bitmark or JSON input text.\n * @param options - Convert options (e.g. `{ mode: \"full\", warnings: true }`).\n * @returns Converted output string. For bitmark input, this is a JSON string\n * array of structured parsed entries (`bit`, `parser`, `bitmark`).\n */\nexport function convert(input: string, options: ConvertOptions = {}): string {\n return wasm.convert(input, options.mode ?? \"optimized\", options.warnings ?? false, options.plainText ?? false, options.pretty ?? false, options.indent ?? 2);\n}\n\n/**\n * Breakscape text (escape bitmark special characters).\n *\n * @param input - The text to breakscape.\n * @param options - Breakscape options (e.g. `{ format: \"plainText\", location: \"tag\" }`).\n * @returns Breakscaped text.\n */\nexport function breakscapeText(input: string, options: BreakscapeOptions = {}): string {\n const format = options.format ?? \"bitmark++\";\n const location = options.location ?? \"body\";\n return wasm.breakscape_text(input, format, location);\n}\n\n/**\n * Unbreakscape text (unescape bitmark special characters).\n *\n * @param input - The text to unbreakscape.\n * @param options - Unbreakscape options (e.g. `{ format: \"plainText\", location: \"tag\" }`).\n * @returns Unbreakscaped text.\n */\nexport function unbreakscapeText(input: string, options: BreakscapeOptions = {}): string {\n const format = options.format ?? \"bitmark++\";\n const location = options.location ?? \"body\";\n return wasm.unbreakscape_text(input, format, location);\n}\n\n/**\n * Query information about supported bit types.\n *\n * @param options - Info options (e.g. `{ infoType: \"bit\", format: \"json\", bit: \"cloze\" }`).\n * @returns Information string.\n */\nexport function info(options: InfoOptions = {}): string {\n const infoType = options.infoType ?? \"list\";\n const format = options.format ?? \"text\";\n const bit = options.bit ?? \"\";\n const pretty = options.pretty ?? false;\n const indent = options.indent ?? 2;\n return wasm.info(infoType, format, bit, pretty, indent);\n}\n"],"mappings":"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","names":["ptr","lex","parse","convert","info"]} | ||
| {"version":3,"sources":["../../../wasm-web/bitmark_wasm.js","../../../src/generated/package_info.ts","../../../src/browser/index.ts"],"sourcesContent":["let wasm;\n\nlet WASM_VECTOR_LEN = 0;\n\nlet cachedUint8ArrayMemory0 = null;\n\nfunction getUint8ArrayMemory0() {\n if (cachedUint8ArrayMemory0 === null || cachedUint8ArrayMemory0.byteLength === 0) {\n cachedUint8ArrayMemory0 = new Uint8Array(wasm.memory.buffer);\n }\n return cachedUint8ArrayMemory0;\n}\n\nconst cachedTextEncoder = (typeof TextEncoder !== 'undefined' ? new TextEncoder('utf-8') : { encode: () => { throw Error('TextEncoder not available') } } );\n\nconst encodeString = (typeof cachedTextEncoder.encodeInto === 'function'\n ? function (arg, view) {\n return cachedTextEncoder.encodeInto(arg, view);\n}\n : function (arg, view) {\n const buf = cachedTextEncoder.encode(arg);\n view.set(buf);\n return {\n read: arg.length,\n written: buf.length\n };\n});\n\nfunction passStringToWasm0(arg, malloc, realloc) {\n\n if (realloc === undefined) {\n const buf = cachedTextEncoder.encode(arg);\n const ptr = malloc(buf.length, 1) >>> 0;\n getUint8ArrayMemory0().subarray(ptr, ptr + buf.length).set(buf);\n WASM_VECTOR_LEN = buf.length;\n return ptr;\n }\n\n let len = arg.length;\n let ptr = malloc(len, 1) >>> 0;\n\n const mem = getUint8ArrayMemory0();\n\n let offset = 0;\n\n for (; offset < len; offset++) {\n const code = arg.charCodeAt(offset);\n if (code > 0x7F) break;\n mem[ptr + offset] = code;\n }\n\n if (offset !== len) {\n if (offset !== 0) {\n arg = arg.slice(offset);\n }\n ptr = realloc(ptr, len, len = offset + arg.length * 3, 1) >>> 0;\n const view = getUint8ArrayMemory0().subarray(ptr + offset, ptr + len);\n const ret = encodeString(arg, view);\n\n offset += ret.written;\n ptr = realloc(ptr, len, offset, 1) >>> 0;\n }\n\n WASM_VECTOR_LEN = offset;\n return ptr;\n}\n\nlet cachedDataViewMemory0 = null;\n\nfunction getDataViewMemory0() {\n if (cachedDataViewMemory0 === null || cachedDataViewMemory0.buffer.detached === true || (cachedDataViewMemory0.buffer.detached === undefined && cachedDataViewMemory0.buffer !== wasm.memory.buffer)) {\n cachedDataViewMemory0 = new DataView(wasm.memory.buffer);\n }\n return cachedDataViewMemory0;\n}\n\nconst cachedTextDecoder = (typeof TextDecoder !== 'undefined' ? new TextDecoder('utf-8', { ignoreBOM: true, fatal: true }) : { decode: () => { throw Error('TextDecoder not available') } } );\n\nif (typeof TextDecoder !== 'undefined') { cachedTextDecoder.decode(); };\n\nfunction getStringFromWasm0(ptr, len) {\n ptr = ptr >>> 0;\n return cachedTextDecoder.decode(getUint8ArrayMemory0().subarray(ptr, ptr + len));\n}\n/**\n * Breakscape text (escape bitmark special characters).\n *\n * `format`: `\"bitmark++\"` (default) or `\"plainText\"`\n * `location`: `\"body\"` (default) or `\"tag\"`\n * @param {string} input\n * @param {string} format\n * @param {string} location\n * @returns {string}\n */\nexport function breakscape_text(input, format, location) {\n let deferred4_0;\n let deferred4_1;\n try {\n const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);\n const ptr0 = passStringToWasm0(input, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);\n const len0 = WASM_VECTOR_LEN;\n const ptr1 = passStringToWasm0(format, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);\n const len1 = WASM_VECTOR_LEN;\n const ptr2 = passStringToWasm0(location, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);\n const len2 = WASM_VECTOR_LEN;\n wasm.breakscape_text(retptr, ptr0, len0, ptr1, len1, ptr2, len2);\n var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);\n var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);\n deferred4_0 = r0;\n deferred4_1 = r1;\n return getStringFromWasm0(r0, r1);\n } finally {\n wasm.__wbindgen_add_to_stack_pointer(16);\n wasm.__wbindgen_export_2(deferred4_0, deferred4_1, 1);\n }\n}\n\n/**\n * Query information about supported bit types.\n *\n * `info_type`: `\"list\"`, `\"bit\"`, `\"all\"`, or `\"deprecated\"`\n * `format`: `\"text\"` or `\"json\"`\n * `bit`: bit name (required when `info_type` is `\"bit\"`)\n * `pretty`: whether to pretty-print JSON output\n * `indent`: indent size for pretty-printing (default: 2)\n * @param {string} info_type\n * @param {string} format\n * @param {string} bit\n * @param {boolean} pretty\n * @param {number} indent\n * @returns {string}\n */\nexport function info(info_type, format, bit, pretty, indent) {\n let deferred4_0;\n let deferred4_1;\n try {\n const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);\n const ptr0 = passStringToWasm0(info_type, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);\n const len0 = WASM_VECTOR_LEN;\n const ptr1 = passStringToWasm0(format, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);\n const len1 = WASM_VECTOR_LEN;\n const ptr2 = passStringToWasm0(bit, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);\n const len2 = WASM_VECTOR_LEN;\n wasm.info(retptr, ptr0, len0, ptr1, len1, ptr2, len2, pretty, indent);\n var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);\n var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);\n deferred4_0 = r0;\n deferred4_1 = r1;\n return getStringFromWasm0(r0, r1);\n } finally {\n wasm.__wbindgen_add_to_stack_pointer(16);\n wasm.__wbindgen_export_2(deferred4_0, deferred4_1, 1);\n }\n}\n\n/**\n * Parse bitmark input text and return the reference JSON format.\n *\n * Uses the full pipeline: parse → validate → serialize.\n *\n * `mode`: `\"optimized\"` (default) or `\"full\"`\n * @param {string} input\n * @param {string} mode\n * @returns {string}\n */\nexport function parse(input, mode) {\n let deferred3_0;\n let deferred3_1;\n try {\n const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);\n const ptr0 = passStringToWasm0(input, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);\n const len0 = WASM_VECTOR_LEN;\n const ptr1 = passStringToWasm0(mode, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);\n const len1 = WASM_VECTOR_LEN;\n wasm.parse(retptr, ptr0, len0, ptr1, len1);\n var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);\n var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);\n deferred3_0 = r0;\n deferred3_1 = r1;\n return getStringFromWasm0(r0, r1);\n } finally {\n wasm.__wbindgen_add_to_stack_pointer(16);\n wasm.__wbindgen_export_2(deferred3_0, deferred3_1, 1);\n }\n}\n\n/**\n * Lex bitmark input text, returning one line per token in the same format as\n * the Rust CLI: `{kind:?} {span:?} \"{text}\"`.\n *\n * `stage` selects the lexer pipeline:\n * - `\"lex\"` — combined (default)\n * - `\"lex-json\"` — combined, JSON array output\n * @param {string} input\n * @param {string} stage\n * @returns {string}\n */\nexport function lex(input, stage) {\n let deferred3_0;\n let deferred3_1;\n try {\n const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);\n const ptr0 = passStringToWasm0(input, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);\n const len0 = WASM_VECTOR_LEN;\n const ptr1 = passStringToWasm0(stage, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);\n const len1 = WASM_VECTOR_LEN;\n wasm.lex(retptr, ptr0, len0, ptr1, len1);\n var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);\n var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);\n deferred3_0 = r0;\n deferred3_1 = r1;\n return getStringFromWasm0(r0, r1);\n } finally {\n wasm.__wbindgen_add_to_stack_pointer(16);\n wasm.__wbindgen_export_2(deferred3_0, deferred3_1, 1);\n }\n}\n\n/**\n * Unbreakscape text (unescape bitmark special characters).\n *\n * `format`: `\"bitmark++\"` (default) or `\"plainText\"`\n * `location`: `\"body\"` (default) or `\"tag\"`\n * @param {string} input\n * @param {string} format\n * @param {string} location\n * @returns {string}\n */\nexport function unbreakscape_text(input, format, location) {\n let deferred4_0;\n let deferred4_1;\n try {\n const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);\n const ptr0 = passStringToWasm0(input, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);\n const len0 = WASM_VECTOR_LEN;\n const ptr1 = passStringToWasm0(format, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);\n const len1 = WASM_VECTOR_LEN;\n const ptr2 = passStringToWasm0(location, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);\n const len2 = WASM_VECTOR_LEN;\n wasm.unbreakscape_text(retptr, ptr0, len0, ptr1, len1, ptr2, len2);\n var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);\n var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);\n deferred4_0 = r0;\n deferred4_1 = r1;\n return getStringFromWasm0(r0, r1);\n } finally {\n wasm.__wbindgen_add_to_stack_pointer(16);\n wasm.__wbindgen_export_2(deferred4_0, deferred4_1, 1);\n }\n}\n\n/**\n * Auto-detect input format and convert between bitmark and JSON.\n *\n * `mode`: `\"optimized\"` (default) or `\"full\"`\n * `warnings`: whether to include validation warnings (default: false)\n * `plain_text`: output text as plain text — debug mode (default: false)\n * `pretty`: prettify JSON output (default: false)\n * `indent`: indent size for pretty-printing (default: 2)\n *\n * Returns JSON if input is bitmark, or an error message if input is JSON\n * (generator not yet implemented).\n * @param {string} input\n * @param {string} mode\n * @param {boolean} warnings\n * @param {boolean} plain_text\n * @param {boolean} pretty\n * @param {number} indent\n * @returns {string}\n */\nexport function convert(input, mode, warnings, plain_text, pretty, indent) {\n let deferred3_0;\n let deferred3_1;\n try {\n const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);\n const ptr0 = passStringToWasm0(input, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);\n const len0 = WASM_VECTOR_LEN;\n const ptr1 = passStringToWasm0(mode, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);\n const len1 = WASM_VECTOR_LEN;\n wasm.convert(retptr, ptr0, len0, ptr1, len1, warnings, plain_text, pretty, indent);\n var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);\n var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);\n deferred3_0 = r0;\n deferred3_1 = r1;\n return getStringFromWasm0(r0, r1);\n } finally {\n wasm.__wbindgen_add_to_stack_pointer(16);\n wasm.__wbindgen_export_2(deferred3_0, deferred3_1, 1);\n }\n}\n\nasync function __wbg_load(module, imports) {\n if (typeof Response === 'function' && module instanceof Response) {\n if (typeof WebAssembly.instantiateStreaming === 'function') {\n try {\n return await WebAssembly.instantiateStreaming(module, imports);\n\n } catch (e) {\n if (module.headers.get('Content-Type') != 'application/wasm') {\n console.warn(\"`WebAssembly.instantiateStreaming` failed because your server does not serve Wasm with `application/wasm` MIME type. Falling back to `WebAssembly.instantiate` which is slower. Original error:\\n\", e);\n\n } else {\n throw e;\n }\n }\n }\n\n const bytes = await module.arrayBuffer();\n return await WebAssembly.instantiate(bytes, imports);\n\n } else {\n const instance = await WebAssembly.instantiate(module, imports);\n\n if (instance instanceof WebAssembly.Instance) {\n return { instance, module };\n\n } else {\n return instance;\n }\n }\n}\n\nfunction __wbg_get_imports() {\n const imports = {};\n imports.wbg = {};\n\n return imports;\n}\n\nfunction __wbg_init_memory(imports, memory) {\n\n}\n\nfunction __wbg_finalize_init(instance, module) {\n wasm = instance.exports;\n __wbg_init.__wbindgen_wasm_module = module;\n cachedDataViewMemory0 = null;\n cachedUint8ArrayMemory0 = null;\n\n\n\n return wasm;\n}\n\nfunction initSync(module) {\n if (wasm !== undefined) return wasm;\n\n\n if (typeof module !== 'undefined') {\n if (Object.getPrototypeOf(module) === Object.prototype) {\n ({module} = module)\n } else {\n console.warn('using deprecated parameters for `initSync()`; pass a single object instead')\n }\n }\n\n const imports = __wbg_get_imports();\n\n __wbg_init_memory(imports);\n\n if (!(module instanceof WebAssembly.Module)) {\n module = new WebAssembly.Module(module);\n }\n\n const instance = new WebAssembly.Instance(module, imports);\n\n return __wbg_finalize_init(instance, module);\n}\n\nasync function __wbg_init(module_or_path) {\n if (wasm !== undefined) return wasm;\n\n\n if (typeof module_or_path !== 'undefined') {\n if (Object.getPrototypeOf(module_or_path) === Object.prototype) {\n ({module_or_path} = module_or_path)\n } else {\n console.warn('using deprecated parameters for the initialization function; pass a single object instead')\n }\n }\n\n if (typeof module_or_path === 'undefined') {\n module_or_path = new URL('bitmark_wasm_bg.wasm', import.meta.url);\n }\n const imports = __wbg_get_imports();\n\n if (typeof module_or_path === 'string' || (typeof Request === 'function' && module_or_path instanceof Request) || (typeof URL === 'function' && module_or_path instanceof URL)) {\n module_or_path = fetch(module_or_path);\n }\n\n __wbg_init_memory(imports);\n\n const { instance, module } = await __wbg_load(await module_or_path, imports);\n\n return __wbg_finalize_init(instance, module);\n}\n\nexport { initSync };\nexport default __wbg_init;\n","// This file is automatically generated. DO NOT EDIT.\n\n/* eslint-disable */\n\nexport const PACKAGE_INFO = {\n \"name\": \"@gmb/bitmark-parser\",\n \"version\": \"3.0.3\",\n \"author\": \"Get More Brain Ltd <info@getmorebrain.com>\",\n \"license\": \"ISC\",\n \"description\": \"A parser for bitmark text, powered by WebAssembly.\"\n};\n","// This is a browser entry point that wraps the wasm-web bindings.\n// It re-exports all WASM functions so browser consumers can use:\n// import { parse, convert, ... } from '@gmb/bitmark-parser/browser'\n\nimport wasmInit from \"../../wasm-web/bitmark_wasm.js\";\nimport * as wasm from \"../../wasm-web/bitmark_wasm.js\";\nimport { PACKAGE_INFO } from \"../generated/package_info.js\";\n\nexport { initSync } from \"../../wasm-web/bitmark_wasm.js\";\n\n/**\n * Initialise the WASM module.\n *\n * When called without arguments, the default `.wasm` URL is decorated with a\n * cache-busting `?v=<version>` query parameter so that CDN caches are\n * invalidated when the package version changes.\n */\nexport async function init(module_or_path?: any): Promise<any> {\n if (typeof module_or_path === \"undefined\") {\n module_or_path = new URL(`bitmark_wasm_bg.wasm?v=${PACKAGE_INFO.version}`, import.meta.url);\n }\n return wasmInit(module_or_path);\n}\n\nexport type { LexOptions, LexStage, ParseOptions, ConvertOptions, OutputMode, BreakscapeOptions, TextFormat, TextLocation, InfoOptions, InfoType, InfoFormat } from \"../types.js\";\nimport type { LexOptions, ParseOptions, ConvertOptions, BreakscapeOptions, InfoOptions } from \"../types.js\";\n\n/**\n * Get the version of the @gmb/bitmark-parser library.\n *\n * @returns Version string (e.g. \"3.0.0\").\n */\nexport function version(): string {\n return PACKAGE_INFO.version;\n}\n\n/**\n * Lex bitmark input text, returning one line per token.\n *\n * @param input - The bitmark source text.\n * @param options - Lex options (e.g. `{ stage: \"lex\" }`).\n * @returns Token dump string (one token per line).\n */\nexport function lex(input: string, options: LexOptions = {}): string {\n return wasm.lex(input, options.stage ?? \"lex\");\n}\n\n/**\n * Parse bitmark input text and return structured JSON entries.\n *\n * Each entry contains `bit`, `parser`, and `bitmark` fields.\n *\n * @param input - The bitmark source text.\n * @param options - Parse options (e.g. `{ mode: \"full\" }`).\n * @returns JSON string array of structured parsed entries.\n */\nexport function parse(input: string, options: ParseOptions = {}): string {\n return wasm.parse(input, options.mode ?? \"optimized\");\n}\n\n/**\n * Auto-detect input format and convert between bitmark and JSON.\n *\n * @param input - Bitmark or JSON input text.\n * @param options - Convert options (e.g. `{ mode: \"full\", warnings: true }`).\n * @returns Converted output string. For bitmark input, this is a JSON string\n * array of structured parsed entries (`bit`, `parser`, `bitmark`).\n */\nexport function convert(input: string, options: ConvertOptions = {}): string {\n return wasm.convert(input, options.mode ?? \"optimized\", options.warnings ?? false, options.plainText ?? false, options.pretty ?? false, options.indent ?? 2);\n}\n\n/**\n * Breakscape text (escape bitmark special characters).\n *\n * @param input - The text to breakscape.\n * @param options - Breakscape options (e.g. `{ format: \"plainText\", location: \"tag\" }`).\n * @returns Breakscaped text.\n */\nexport function breakscapeText(input: string, options: BreakscapeOptions = {}): string {\n const format = options.format ?? \"bitmark++\";\n const location = options.location ?? \"body\";\n return wasm.breakscape_text(input, format, location);\n}\n\n/**\n * Unbreakscape text (unescape bitmark special characters).\n *\n * @param input - The text to unbreakscape.\n * @param options - Unbreakscape options (e.g. `{ format: \"plainText\", location: \"tag\" }`).\n * @returns Unbreakscaped text.\n */\nexport function unbreakscapeText(input: string, options: BreakscapeOptions = {}): string {\n const format = options.format ?? \"bitmark++\";\n const location = options.location ?? \"body\";\n return wasm.unbreakscape_text(input, format, location);\n}\n\n/**\n * Query information about supported bit types.\n *\n * @param options - Info options (e.g. `{ infoType: \"bit\", format: \"json\", bit: \"cloze\" }`).\n * @returns Information string.\n */\nexport function info(options: InfoOptions = {}): string {\n const infoType = options.infoType ?? \"list\";\n const format = options.format ?? \"text\";\n const bit = options.bit ?? \"\";\n const pretty = options.pretty ?? false;\n const indent = options.indent ?? 2;\n return wasm.info(infoType, format, bit, pretty, indent);\n}\n"],"mappings":";AAAA,IAAI;AAEJ,IAAI,kBAAkB;AAEtB,IAAI,0BAA0B;AAE9B,SAAS,uBAAuB;AAC5B,MAAI,4BAA4B,QAAQ,wBAAwB,eAAe,GAAG;AAC9E,8BAA0B,IAAI,WAAW,KAAK,OAAO,MAAM;AAAA,EAC/D;AACA,SAAO;AACX;AAEA,IAAM,oBAAqB,OAAO,gBAAgB,cAAc,IAAI,YAAY,OAAO,IAAI,EAAE,QAAQ,MAAM;AAAE,QAAM,MAAM,2BAA2B;AAAE,EAAE;AAExJ,IAAM,eAAgB,OAAO,kBAAkB,eAAe,aACxD,SAAU,KAAK,MAAM;AACvB,SAAO,kBAAkB,WAAW,KAAK,IAAI;AACjD,IACM,SAAU,KAAK,MAAM;AACvB,QAAM,MAAM,kBAAkB,OAAO,GAAG;AACxC,OAAK,IAAI,GAAG;AACZ,SAAO;AAAA,IACH,MAAM,IAAI;AAAA,IACV,SAAS,IAAI;AAAA,EACjB;AACJ;AAEA,SAAS,kBAAkB,KAAK,QAAQ,SAAS;AAE7C,MAAI,YAAY,QAAW;AACvB,UAAM,MAAM,kBAAkB,OAAO,GAAG;AACxC,UAAMA,OAAM,OAAO,IAAI,QAAQ,CAAC,MAAM;AACtC,yBAAqB,EAAE,SAASA,MAAKA,OAAM,IAAI,MAAM,EAAE,IAAI,GAAG;AAC9D,sBAAkB,IAAI;AACtB,WAAOA;AAAA,EACX;AAEA,MAAI,MAAM,IAAI;AACd,MAAI,MAAM,OAAO,KAAK,CAAC,MAAM;AAE7B,QAAM,MAAM,qBAAqB;AAEjC,MAAI,SAAS;AAEb,SAAO,SAAS,KAAK,UAAU;AAC3B,UAAM,OAAO,IAAI,WAAW,MAAM;AAClC,QAAI,OAAO,IAAM;AACjB,QAAI,MAAM,MAAM,IAAI;AAAA,EACxB;AAEA,MAAI,WAAW,KAAK;AAChB,QAAI,WAAW,GAAG;AACd,YAAM,IAAI,MAAM,MAAM;AAAA,IAC1B;AACA,UAAM,QAAQ,KAAK,KAAK,MAAM,SAAS,IAAI,SAAS,GAAG,CAAC,MAAM;AAC9D,UAAM,OAAO,qBAAqB,EAAE,SAAS,MAAM,QAAQ,MAAM,GAAG;AACpE,UAAM,MAAM,aAAa,KAAK,IAAI;AAElC,cAAU,IAAI;AACd,UAAM,QAAQ,KAAK,KAAK,QAAQ,CAAC,MAAM;AAAA,EAC3C;AAEA,oBAAkB;AAClB,SAAO;AACX;AAEA,IAAI,wBAAwB;AAE5B,SAAS,qBAAqB;AAC1B,MAAI,0BAA0B,QAAQ,sBAAsB,OAAO,aAAa,QAAS,sBAAsB,OAAO,aAAa,UAAa,sBAAsB,WAAW,KAAK,OAAO,QAAS;AAClM,4BAAwB,IAAI,SAAS,KAAK,OAAO,MAAM;AAAA,EAC3D;AACA,SAAO;AACX;AAEA,IAAM,oBAAqB,OAAO,gBAAgB,cAAc,IAAI,YAAY,SAAS,EAAE,WAAW,MAAM,OAAO,KAAK,CAAC,IAAI,EAAE,QAAQ,MAAM;AAAE,QAAM,MAAM,2BAA2B;AAAE,EAAE;AAE1L,IAAI,OAAO,gBAAgB,aAAa;AAAE,oBAAkB,OAAO;AAAG;AAEtE,SAAS,mBAAmB,KAAK,KAAK;AAClC,QAAM,QAAQ;AACd,SAAO,kBAAkB,OAAO,qBAAqB,EAAE,SAAS,KAAK,MAAM,GAAG,CAAC;AACnF;AAWO,SAAS,gBAAgB,OAAO,QAAQ,UAAU;AACrD,MAAI;AACJ,MAAI;AACJ,MAAI;AACA,UAAM,SAAS,KAAK,gCAAgC,GAAG;AACvD,UAAM,OAAO,kBAAkB,OAAO,KAAK,qBAAqB,KAAK,mBAAmB;AACxF,UAAM,OAAO;AACb,UAAM,OAAO,kBAAkB,QAAQ,KAAK,qBAAqB,KAAK,mBAAmB;AACzF,UAAM,OAAO;AACb,UAAM,OAAO,kBAAkB,UAAU,KAAK,qBAAqB,KAAK,mBAAmB;AAC3F,UAAM,OAAO;AACb,SAAK,gBAAgB,QAAQ,MAAM,MAAM,MAAM,MAAM,MAAM,IAAI;AAC/D,QAAI,KAAK,mBAAmB,EAAE,SAAS,SAAS,IAAI,GAAG,IAAI;AAC3D,QAAI,KAAK,mBAAmB,EAAE,SAAS,SAAS,IAAI,GAAG,IAAI;AAC3D,kBAAc;AACd,kBAAc;AACd,WAAO,mBAAmB,IAAI,EAAE;AAAA,EACpC,UAAE;AACE,SAAK,gCAAgC,EAAE;AACvC,SAAK,oBAAoB,aAAa,aAAa,CAAC;AAAA,EACxD;AACJ;AAiBO,SAAS,KAAK,WAAW,QAAQ,KAAK,QAAQ,QAAQ;AACzD,MAAI;AACJ,MAAI;AACJ,MAAI;AACA,UAAM,SAAS,KAAK,gCAAgC,GAAG;AACvD,UAAM,OAAO,kBAAkB,WAAW,KAAK,qBAAqB,KAAK,mBAAmB;AAC5F,UAAM,OAAO;AACb,UAAM,OAAO,kBAAkB,QAAQ,KAAK,qBAAqB,KAAK,mBAAmB;AACzF,UAAM,OAAO;AACb,UAAM,OAAO,kBAAkB,KAAK,KAAK,qBAAqB,KAAK,mBAAmB;AACtF,UAAM,OAAO;AACb,SAAK,KAAK,QAAQ,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,QAAQ,MAAM;AACpE,QAAI,KAAK,mBAAmB,EAAE,SAAS,SAAS,IAAI,GAAG,IAAI;AAC3D,QAAI,KAAK,mBAAmB,EAAE,SAAS,SAAS,IAAI,GAAG,IAAI;AAC3D,kBAAc;AACd,kBAAc;AACd,WAAO,mBAAmB,IAAI,EAAE;AAAA,EACpC,UAAE;AACE,SAAK,gCAAgC,EAAE;AACvC,SAAK,oBAAoB,aAAa,aAAa,CAAC;AAAA,EACxD;AACJ;AAYO,SAAS,MAAM,OAAO,MAAM;AAC/B,MAAI;AACJ,MAAI;AACJ,MAAI;AACA,UAAM,SAAS,KAAK,gCAAgC,GAAG;AACvD,UAAM,OAAO,kBAAkB,OAAO,KAAK,qBAAqB,KAAK,mBAAmB;AACxF,UAAM,OAAO;AACb,UAAM,OAAO,kBAAkB,MAAM,KAAK,qBAAqB,KAAK,mBAAmB;AACvF,UAAM,OAAO;AACb,SAAK,MAAM,QAAQ,MAAM,MAAM,MAAM,IAAI;AACzC,QAAI,KAAK,mBAAmB,EAAE,SAAS,SAAS,IAAI,GAAG,IAAI;AAC3D,QAAI,KAAK,mBAAmB,EAAE,SAAS,SAAS,IAAI,GAAG,IAAI;AAC3D,kBAAc;AACd,kBAAc;AACd,WAAO,mBAAmB,IAAI,EAAE;AAAA,EACpC,UAAE;AACE,SAAK,gCAAgC,EAAE;AACvC,SAAK,oBAAoB,aAAa,aAAa,CAAC;AAAA,EACxD;AACJ;AAaO,SAAS,IAAI,OAAO,OAAO;AAC9B,MAAI;AACJ,MAAI;AACJ,MAAI;AACA,UAAM,SAAS,KAAK,gCAAgC,GAAG;AACvD,UAAM,OAAO,kBAAkB,OAAO,KAAK,qBAAqB,KAAK,mBAAmB;AACxF,UAAM,OAAO;AACb,UAAM,OAAO,kBAAkB,OAAO,KAAK,qBAAqB,KAAK,mBAAmB;AACxF,UAAM,OAAO;AACb,SAAK,IAAI,QAAQ,MAAM,MAAM,MAAM,IAAI;AACvC,QAAI,KAAK,mBAAmB,EAAE,SAAS,SAAS,IAAI,GAAG,IAAI;AAC3D,QAAI,KAAK,mBAAmB,EAAE,SAAS,SAAS,IAAI,GAAG,IAAI;AAC3D,kBAAc;AACd,kBAAc;AACd,WAAO,mBAAmB,IAAI,EAAE;AAAA,EACpC,UAAE;AACE,SAAK,gCAAgC,EAAE;AACvC,SAAK,oBAAoB,aAAa,aAAa,CAAC;AAAA,EACxD;AACJ;AAYO,SAAS,kBAAkB,OAAO,QAAQ,UAAU;AACvD,MAAI;AACJ,MAAI;AACJ,MAAI;AACA,UAAM,SAAS,KAAK,gCAAgC,GAAG;AACvD,UAAM,OAAO,kBAAkB,OAAO,KAAK,qBAAqB,KAAK,mBAAmB;AACxF,UAAM,OAAO;AACb,UAAM,OAAO,kBAAkB,QAAQ,KAAK,qBAAqB,KAAK,mBAAmB;AACzF,UAAM,OAAO;AACb,UAAM,OAAO,kBAAkB,UAAU,KAAK,qBAAqB,KAAK,mBAAmB;AAC3F,UAAM,OAAO;AACb,SAAK,kBAAkB,QAAQ,MAAM,MAAM,MAAM,MAAM,MAAM,IAAI;AACjE,QAAI,KAAK,mBAAmB,EAAE,SAAS,SAAS,IAAI,GAAG,IAAI;AAC3D,QAAI,KAAK,mBAAmB,EAAE,SAAS,SAAS,IAAI,GAAG,IAAI;AAC3D,kBAAc;AACd,kBAAc;AACd,WAAO,mBAAmB,IAAI,EAAE;AAAA,EACpC,UAAE;AACE,SAAK,gCAAgC,EAAE;AACvC,SAAK,oBAAoB,aAAa,aAAa,CAAC;AAAA,EACxD;AACJ;AAqBO,SAAS,QAAQ,OAAO,MAAM,UAAU,YAAY,QAAQ,QAAQ;AACvE,MAAI;AACJ,MAAI;AACJ,MAAI;AACA,UAAM,SAAS,KAAK,gCAAgC,GAAG;AACvD,UAAM,OAAO,kBAAkB,OAAO,KAAK,qBAAqB,KAAK,mBAAmB;AACxF,UAAM,OAAO;AACb,UAAM,OAAO,kBAAkB,MAAM,KAAK,qBAAqB,KAAK,mBAAmB;AACvF,UAAM,OAAO;AACb,SAAK,QAAQ,QAAQ,MAAM,MAAM,MAAM,MAAM,UAAU,YAAY,QAAQ,MAAM;AACjF,QAAI,KAAK,mBAAmB,EAAE,SAAS,SAAS,IAAI,GAAG,IAAI;AAC3D,QAAI,KAAK,mBAAmB,EAAE,SAAS,SAAS,IAAI,GAAG,IAAI;AAC3D,kBAAc;AACd,kBAAc;AACd,WAAO,mBAAmB,IAAI,EAAE;AAAA,EACpC,UAAE;AACE,SAAK,gCAAgC,EAAE;AACvC,SAAK,oBAAoB,aAAa,aAAa,CAAC;AAAA,EACxD;AACJ;AAEA,eAAe,WAAW,QAAQ,SAAS;AACvC,MAAI,OAAO,aAAa,cAAc,kBAAkB,UAAU;AAC9D,QAAI,OAAO,YAAY,yBAAyB,YAAY;AACxD,UAAI;AACA,eAAO,MAAM,YAAY,qBAAqB,QAAQ,OAAO;AAAA,MAEjE,SAAS,GAAG;AACR,YAAI,OAAO,QAAQ,IAAI,cAAc,KAAK,oBAAoB;AAC1D,kBAAQ,KAAK,qMAAqM,CAAC;AAAA,QAEvN,OAAO;AACH,gBAAM;AAAA,QACV;AAAA,MACJ;AAAA,IACJ;AAEA,UAAM,QAAQ,MAAM,OAAO,YAAY;AACvC,WAAO,MAAM,YAAY,YAAY,OAAO,OAAO;AAAA,EAEvD,OAAO;AACH,UAAM,WAAW,MAAM,YAAY,YAAY,QAAQ,OAAO;AAE9D,QAAI,oBAAoB,YAAY,UAAU;AAC1C,aAAO,EAAE,UAAU,OAAO;AAAA,IAE9B,OAAO;AACH,aAAO;AAAA,IACX;AAAA,EACJ;AACJ;AAEA,SAAS,oBAAoB;AACzB,QAAM,UAAU,CAAC;AACjB,UAAQ,MAAM,CAAC;AAEf,SAAO;AACX;AAEA,SAAS,kBAAkB,SAAS,QAAQ;AAE5C;AAEA,SAAS,oBAAoB,UAAU,QAAQ;AAC3C,SAAO,SAAS;AAChB,aAAW,yBAAyB;AACpC,0BAAwB;AACxB,4BAA0B;AAI1B,SAAO;AACX;AAEA,SAAS,SAAS,QAAQ;AACtB,MAAI,SAAS,OAAW,QAAO;AAG/B,MAAI,OAAO,WAAW,aAAa;AAC/B,QAAI,OAAO,eAAe,MAAM,MAAM,OAAO,WAAW;AACpD,OAAC,EAAC,OAAM,IAAI;AAAA,IAChB,OAAO;AACH,cAAQ,KAAK,4EAA4E;AAAA,IAC7F;AAAA,EACJ;AAEA,QAAM,UAAU,kBAAkB;AAElC,oBAAkB,OAAO;AAEzB,MAAI,EAAE,kBAAkB,YAAY,SAAS;AACzC,aAAS,IAAI,YAAY,OAAO,MAAM;AAAA,EAC1C;AAEA,QAAM,WAAW,IAAI,YAAY,SAAS,QAAQ,OAAO;AAEzD,SAAO,oBAAoB,UAAU,MAAM;AAC/C;AAEA,eAAe,WAAW,gBAAgB;AACtC,MAAI,SAAS,OAAW,QAAO;AAG/B,MAAI,OAAO,mBAAmB,aAAa;AACvC,QAAI,OAAO,eAAe,cAAc,MAAM,OAAO,WAAW;AAC5D,OAAC,EAAC,eAAc,IAAI;AAAA,IACxB,OAAO;AACH,cAAQ,KAAK,2FAA2F;AAAA,IAC5G;AAAA,EACJ;AAEA,MAAI,OAAO,mBAAmB,aAAa;AACvC,qBAAiB,IAAI,IAAI,wBAAwB,YAAY,GAAG;AAAA,EACpE;AACA,QAAM,UAAU,kBAAkB;AAElC,MAAI,OAAO,mBAAmB,YAAa,OAAO,YAAY,cAAc,0BAA0B,WAAa,OAAO,QAAQ,cAAc,0BAA0B,KAAM;AAC5K,qBAAiB,MAAM,cAAc;AAAA,EACzC;AAEA,oBAAkB,OAAO;AAEzB,QAAM,EAAE,UAAU,OAAO,IAAI,MAAM,WAAW,MAAM,gBAAgB,OAAO;AAE3E,SAAO,oBAAoB,UAAU,MAAM;AAC/C;AAGA,IAAO,uBAAQ;;;AC1YR,IAAM,eAAe;AAAA,EAC1B,QAAQ;AAAA,EACR,WAAW;AAAA,EACX,UAAU;AAAA,EACV,WAAW;AAAA,EACX,eAAe;AACjB;;;ACOA,eAAsB,KAAK,gBAAoC;AAC7D,MAAI,OAAO,mBAAmB,aAAa;AACzC,qBAAiB,IAAI,IAAI,0BAA0B,aAAa,OAAO,IAAI,YAAY,GAAG;AAAA,EAC5F;AACA,SAAO,qBAAS,cAAc;AAChC;AAUO,SAAS,UAAkB;AAChC,SAAO,aAAa;AACtB;AASO,SAASC,KAAI,OAAe,UAAsB,CAAC,GAAW;AACnE,SAAY,IAAI,OAAO,QAAQ,SAAS,KAAK;AAC/C;AAWO,SAASC,OAAM,OAAe,UAAwB,CAAC,GAAW;AACvE,SAAY,MAAM,OAAO,QAAQ,QAAQ,WAAW;AACtD;AAUO,SAASC,SAAQ,OAAe,UAA0B,CAAC,GAAW;AAC3E,SAAY,QAAQ,OAAO,QAAQ,QAAQ,aAAa,QAAQ,YAAY,OAAO,QAAQ,aAAa,OAAO,QAAQ,UAAU,OAAO,QAAQ,UAAU,CAAC;AAC7J;AASO,SAAS,eAAe,OAAe,UAA6B,CAAC,GAAW;AACrF,QAAM,SAAS,QAAQ,UAAU;AACjC,QAAM,WAAW,QAAQ,YAAY;AACrC,SAAY,gBAAgB,OAAO,QAAQ,QAAQ;AACrD;AASO,SAAS,iBAAiB,OAAe,UAA6B,CAAC,GAAW;AACvF,QAAM,SAAS,QAAQ,UAAU;AACjC,QAAM,WAAW,QAAQ,YAAY;AACrC,SAAY,kBAAkB,OAAO,QAAQ,QAAQ;AACvD;AAQO,SAASC,MAAK,UAAuB,CAAC,GAAW;AACtD,QAAM,WAAW,QAAQ,YAAY;AACrC,QAAM,SAAS,QAAQ,UAAU;AACjC,QAAM,MAAM,QAAQ,OAAO;AAC3B,QAAM,SAAS,QAAQ,UAAU;AACjC,QAAM,SAAS,QAAQ,UAAU;AACjC,SAAY,KAAK,UAAU,QAAQ,KAAK,QAAQ,MAAM;AACxD;","names":["ptr","lex","parse","convert","info"]} |
+1
-1
@@ -9,3 +9,3 @@ #!/usr/bin/env node | ||
| var PACKAGE_INFO = { | ||
| "version": "3.0.2"}; | ||
| "version": "3.0.3"}; | ||
| var require2 = createRequire(import.meta.url); | ||
@@ -12,0 +12,0 @@ var wasm = require2("../wasm/bitmark_wasm.js"); |
+1
-1
@@ -1,1 +0,1 @@ | ||
| {"version":3,"sources":["../src/generated/package_info.ts","../src/index.ts","../src/utils/io.ts","../src/commands/parse.ts","../src/commands/generate.ts","../src/commands/convert.ts","../src/commands/breakscape.ts","../src/commands/unbreakscape.ts","../src/commands/info.ts","../src/cli.ts"],"names":["require","program"],"mappings":"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","file":"cli.js","sourcesContent":["// This file is automatically generated. DO NOT EDIT.\n\n/* eslint-disable */\n\nexport const PACKAGE_INFO = {\n \"name\": \"@gmb/bitmark-parser\",\n \"version\": \"3.0.2\",\n \"author\": \"Get More Brain Ltd <info@getmorebrain.com>\",\n \"license\": \"ISC\",\n \"description\": \"A parser for bitmark text, powered by WebAssembly.\"\n};\n","// @zen-component: WASM-TSBindings\n\nimport { createRequire } from \"node:module\";\nimport { PACKAGE_INFO } from \"./generated/package_info.js\";\nimport type { LexOptions, ParseOptions, ConvertOptions, BreakscapeOptions, InfoOptions } from \"./types.js\";\nconst require = createRequire(import.meta.url);\nconst wasm = require(\"../wasm/bitmark_wasm.js\") as typeof import(\"../wasm/bitmark_wasm.js\");\n\nexport type { LexOptions, LexStage, ParseOptions, ConvertOptions, OutputMode, BreakscapeOptions, TextFormat, TextLocation, InfoOptions, InfoType, InfoFormat } from \"./types.js\";\n\n/**\n * Get the version of the @gmb/bitmark-parser library.\n *\n * @returns Version string (e.g. \"3.0.0\").\n */\nexport function version(): string {\n return PACKAGE_INFO.version;\n}\n\n/**\n * Lex bitmark input text, returning one line per token.\n *\n * @param input - The bitmark source text.\n * @param options - Lex options (e.g. `{ stage: \"lex\" }`).\n * @returns Token dump string (one token per line).\n */\nexport function lex(input: string, options: LexOptions = {}): string {\n return wasm.lex(input, options.stage ?? \"lex\");\n}\n\n/**\n * Parse bitmark input text and return structured JSON entries.\n *\n * Each entry contains `bit`, `parser`, and `bitmark` fields.\n *\n * @param input - The bitmark source text.\n * @param options - Parse options (e.g. `{ mode: \"full\" }`).\n * @returns JSON string array of structured parsed entries.\n */\nexport function parse(input: string, options: ParseOptions = {}): string {\n return wasm.parse(input, options.mode ?? \"optimized\");\n}\n\n/**\n * Auto-detect input format and convert between bitmark and JSON.\n *\n * @param input - Bitmark or JSON input text.\n * @param options - Convert options (e.g. `{ mode: \"full\", warnings: true }`).\n * @returns Converted output string. For bitmark input, this is a JSON string\n * array of structured parsed entries (`bit`, `parser`, `bitmark`).\n */\nexport function convert(input: string, options: ConvertOptions = {}): string {\n return wasm.convert(input, options.mode ?? \"optimized\", options.warnings ?? false, options.plainText ?? false, options.pretty ?? false, options.indent ?? 2);\n}\n\n/**\n * Breakscape text (escape bitmark special characters).\n *\n * @param input - The text to breakscape.\n * @param options - Breakscape options (e.g. `{ format: \"plainText\", location: \"tag\" }`).\n * @returns Breakscaped text.\n */\nexport function breakscapeText(input: string, options: BreakscapeOptions = {}): string {\n const format = options.format ?? \"bitmark++\";\n const location = options.location ?? \"body\";\n return wasm.breakscape_text(input, format, location);\n}\n\n/**\n * Unbreakscape text (unescape bitmark special characters).\n *\n * @param input - The text to unbreakscape.\n * @param options - Unbreakscape options (e.g. `{ format: \"plainText\", location: \"tag\" }`).\n * @returns Unbreakscaped text.\n */\nexport function unbreakscapeText(input: string, options: BreakscapeOptions = {}): string {\n const format = options.format ?? \"bitmark++\";\n const location = options.location ?? \"body\";\n return wasm.unbreakscape_text(input, format, location);\n}\n\n/**\n * Query information about supported bit types.\n *\n * @param options - Info options (e.g. `{ infoType: \"bit\", format: \"json\", bit: \"cloze\" }`).\n * @returns Information string.\n */\nexport function info(options: InfoOptions = {}): string {\n const infoType = options.infoType ?? \"list\";\n const format = options.format ?? \"text\";\n const bit = options.bit ?? \"\";\n const pretty = options.pretty ?? false;\n const indent = options.indent ?? 2;\n return wasm.info(infoType, format, bit, pretty, indent);\n}\n\n/**\n * Generate bitmark text from a JSON AST.\n *\n * @param _json - JSON string of the AST.\n * @throws Always throws — not yet implemented.\n */\nexport function generate(_json: string): string {\n throw new Error(\"generate is not yet implemented\");\n}\n","// @zen-component: CLI-SharedIO\n//! Shared I/O utilities for the TS CLI.\n\nimport { readFileSync, writeFileSync, appendFileSync, existsSync, mkdirSync } from \"node:fs\";\nimport { dirname } from \"node:path\";\n\n/**\n * Resolve multiple inputs into a single concatenated string.\n *\n * If the array is empty, reads from stdin.\n * Multiple inputs are concatenated with `\\n` — valid for bitmark\n * because bits are `\\n`-delimited.\n */\nexport function readInputs(inputs: string[]): string {\n if (inputs.length === 0) {\n return readStdin();\n }\n if (inputs.length === 1) {\n return readSingle(inputs[0]);\n }\n return inputs.map(readSingle).join(\"\\n\");\n}\n\n/**\n * Resolve a single input string (file path or literal).\n */\nfunction readSingle(input: string): string {\n if (existsSync(input)) {\n return readFileSync(input, \"utf-8\");\n }\n return input;\n}\n\n/**\n * Read all of stdin synchronously.\n */\nfunction readStdin(): string {\n const buf = readFileSync(0, \"utf-8\") as string;\n if (!buf) {\n console.error(\"No input provided. Pass a file path, literal string, or pipe via stdin.\");\n process.exit(1);\n }\n return buf;\n}\n\n/**\n * Write output to stdout or a file.\n *\n * - If `outputPath` is undefined → write to stdout\n * - If `append` is true → append to file\n * - Otherwise → overwrite file\n */\nexport function writeOutput(content: string, outputPath: string | undefined, append: boolean): void {\n if (outputPath === undefined) {\n process.stdout.write(content);\n return;\n }\n\n // Ensure parent directory exists\n const dir = dirname(outputPath);\n if (dir && !existsSync(dir)) {\n mkdirSync(dir, { recursive: true });\n }\n\n if (append) {\n appendFileSync(outputPath, content, \"utf-8\");\n } else {\n writeFileSync(outputPath, content, \"utf-8\");\n }\n}\n","// @zen-component: WASM-TSBindings\n\nimport type { Command } from \"commander\";\nimport { lex, parse } from \"../index.js\";\nimport { readInputs, writeOutput } from \"../utils/io.js\";\n\nexport function registerParseCommand(program: Command): void {\n program\n .command(\"parse\")\n .description(\"Parse a bitmark file to JSON\")\n .argument(\"[INPUT...]\", \"Input: bitmark files, literal strings, or omit for stdin\")\n .option(\"-o, --output <file>\", \"Output file (default: stdout)\")\n .option(\"-a, --append\", \"Append to output file\", false)\n .option(\"--stage <STAGE>\", \"Stage to run: all, lex\", \"all\")\n .option(\"--mode <MODE>\", \"JSON output mode: optimized or full\", \"optimized\")\n .option(\"-p, --pretty\", \"Prettify JSON output\", false)\n .option(\"--indent <SIZE>\", \"Indent size for pretty JSON\", \"2\")\n .action((inputs: string[], options: { output?: string; append: boolean; stage: string; mode: string; pretty: boolean; indent: string }) => {\n const content = readInputs(inputs);\n let result: string;\n\n if (options.stage === \"lex\") {\n result = lex(content, { stage: options.stage });\n } else {\n result = parse(content, { mode: options.mode as \"optimized\" | \"full\" });\n }\n\n if (options.pretty && options.stage === \"all\") {\n result = JSON.stringify(JSON.parse(result), null, Number(options.indent));\n }\n\n writeOutput(result, options.output, options.append);\n });\n}\n","// @zen-component: WASM-TSBindings\n\nimport type { Command } from \"commander\";\n\nexport function registerGenerateCommand(program: Command): void {\n program\n .command(\"generate\")\n .description(\"Generate bitmark text from JSON\")\n .argument(\"<INPUT>\", \"Input JSON file\")\n .argument(\"<OUTPUT>\", \"Output bitmark file\")\n .action((_input: string, _output: string) => {\n console.error(\"generate not yet implemented\");\n process.exit(1);\n });\n}\n","// @zen-component: CLI-Convert\n\nimport type { Command } from \"commander\";\nimport { convert } from \"../index.js\";\nimport { readInputs, writeOutput } from \"../utils/io.js\";\n\nexport function registerConvertCommand(program: Command): void {\n program\n .command(\"convert\")\n .description(\"Auto-detect input format and convert between bitmark and JSON\")\n .argument(\"[INPUT...]\", \"Input: file paths, bitmark/JSON strings, or omit for stdin\")\n .option(\"-o, --output <file>\", \"Output file (default: stdout)\")\n .option(\"-a, --append\", \"Append to output file\", false)\n .option(\"-w, --warnings\", \"Enable validation warnings in output\", false)\n .option(\"-p, --pretty\", \"Prettify JSON output\", false)\n .option(\"--indent <n>\", \"Indent size for pretty JSON\", \"2\")\n .option(\"--mode <MODE>\", \"JSON output mode: optimized or full\", \"optimized\")\n .option(\"--plain-text\", \"Output text as plain text (debug)\", false)\n .action(\n (\n inputs: string[],\n options: {\n output?: string;\n append: boolean;\n warnings: boolean;\n pretty: boolean;\n indent: string;\n mode: string;\n plainText: boolean;\n },\n ) => {\n const content = readInputs(inputs);\n const result = convert(content, {\n mode: options.mode as \"optimized\" | \"full\",\n warnings: options.warnings,\n plainText: options.plainText,\n pretty: options.pretty,\n indent: parseInt(options.indent, 10),\n });\n writeOutput(result, options.output, options.append);\n },\n );\n}\n","// @zen-component: CLI-Breakscape\n\nimport type { Command } from \"commander\";\nimport { breakscapeText } from \"../index.js\";\nimport { readInputs, writeOutput } from \"../utils/io.js\";\n\nexport function registerBreakscapeCommand(program: Command): void {\n program\n .command(\"breakscape\")\n .description(\"Breakscape text (escape bitmark special characters)\")\n .argument(\"[INPUT...]\", \"Input: file paths, text strings, or omit for stdin\")\n .option(\"-o, --output <file>\", \"Output file (default: stdout)\")\n .option(\"-a, --append\", \"Append to output file\", false)\n .option(\"--format <FORMAT>\", \"Text format: bitmark++ or plainText\", \"bitmark++\")\n .option(\"--location <LOCATION>\", \"Text location: body or tag\", \"body\")\n .action((inputs: string[], options: { output?: string; append: boolean; format: string; location: string }) => {\n const content = readInputs(inputs);\n const result = breakscapeText(content, {\n format: options.format as \"bitmark++\" | \"plainText\",\n location: options.location as \"body\" | \"tag\",\n });\n writeOutput(result, options.output, options.append);\n });\n}\n","// @zen-component: CLI-Breakscape\n\nimport type { Command } from \"commander\";\nimport { unbreakscapeText } from \"../index.js\";\nimport { readInputs, writeOutput } from \"../utils/io.js\";\n\nexport function registerUnbreakscapeCommand(program: Command): void {\n program\n .command(\"unbreakscape\")\n .description(\"Unbreakscape text (unescape bitmark special characters)\")\n .argument(\"[INPUT...]\", \"Input: file paths, text strings, or omit for stdin\")\n .option(\"-o, --output <file>\", \"Output file (default: stdout)\")\n .option(\"-a, --append\", \"Append to output file\", false)\n .option(\"--format <FORMAT>\", \"Text format: bitmark++ or plainText\", \"bitmark++\")\n .option(\"--location <LOCATION>\", \"Text location: body or tag\", \"body\")\n .action((inputs: string[], options: { output?: string; append: boolean; format: string; location: string }) => {\n const content = readInputs(inputs);\n const result = unbreakscapeText(content, {\n format: options.format as \"bitmark++\" | \"plainText\",\n location: options.location as \"body\" | \"tag\",\n });\n writeOutput(result, options.output, options.append);\n });\n}\n","// @zen-component: CLI-Info\n\nimport type { Command } from \"commander\";\nimport { info } from \"../index.js\";\nimport { writeOutput } from \"../utils/io.js\";\n\nexport function registerInfoCommand(program: Command): void {\n program\n .command(\"info\")\n .description(\"Show information about supported bit types\")\n .argument(\"[INFO]\", \"Info type: list, bit, all, deprecated\", \"list\")\n .option(\"-f, --format <FORMAT>\", \"Output format: text or json\", \"text\")\n .option(\"--all\", \"Include deprecated bits\", false)\n .option(\"--bit <NAME>\", \"Filter to specific bit type\")\n .option(\"--deprecated\", \"Show only deprecated bits\", false)\n .option(\"-o, --output <file>\", \"Output file (default: stdout)\")\n .option(\"-a, --append\", \"Append to output file\", false)\n .option(\"-p, --pretty\", \"Prettify JSON output\", false)\n .option(\"--indent <n>\", \"Indent size for pretty JSON\", \"2\")\n .action(\n (\n infoType: string,\n options: {\n format: string;\n all: boolean;\n bit?: string;\n deprecated: boolean;\n output?: string;\n append: boolean;\n pretty: boolean;\n indent: string;\n },\n ) => {\n const result = info({\n infoType: infoType as \"list\" | \"bit\" | \"all\" | \"deprecated\",\n format: options.format as \"text\" | \"json\",\n bit: options.bit,\n pretty: options.pretty,\n indent: parseInt(options.indent, 10),\n });\n writeOutput(result, options.output, options.append);\n },\n );\n}\n","#!/usr/bin/env node\n// @zen-component: WASM-TSBindings\n\nimport { Command } from \"commander\";\nimport { PACKAGE_INFO } from \"./generated/package_info.js\";\nimport { registerParseCommand } from \"./commands/parse.js\";\nimport { registerGenerateCommand } from \"./commands/generate.js\";\nimport { registerConvertCommand } from \"./commands/convert.js\";\nimport { registerBreakscapeCommand } from \"./commands/breakscape.js\";\nimport { registerUnbreakscapeCommand } from \"./commands/unbreakscape.js\";\nimport { registerInfoCommand } from \"./commands/info.js\";\n\nconst program = new Command();\n\nprogram.name(\"bitmark-parser\").description(\"Parse and generate bitmark text\").version(PACKAGE_INFO.version);\n\nregisterParseCommand(program);\nregisterGenerateCommand(program);\nregisterConvertCommand(program);\nregisterBreakscapeCommand(program);\nregisterUnbreakscapeCommand(program);\nregisterInfoCommand(program);\n\nprogram.parse();\n"]} | ||
| {"version":3,"sources":["../src/generated/package_info.ts","../src/index.ts","../src/utils/io.ts","../src/commands/parse.ts","../src/commands/generate.ts","../src/commands/convert.ts","../src/commands/breakscape.ts","../src/commands/unbreakscape.ts","../src/commands/info.ts","../src/cli.ts"],"names":["require","program"],"mappings":"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","file":"cli.js","sourcesContent":["// This file is automatically generated. DO NOT EDIT.\n\n/* eslint-disable */\n\nexport const PACKAGE_INFO = {\n \"name\": \"@gmb/bitmark-parser\",\n \"version\": \"3.0.3\",\n \"author\": \"Get More Brain Ltd <info@getmorebrain.com>\",\n \"license\": \"ISC\",\n \"description\": \"A parser for bitmark text, powered by WebAssembly.\"\n};\n","// @zen-component: WASM-TSBindings\n\nimport { createRequire } from \"node:module\";\nimport { PACKAGE_INFO } from \"./generated/package_info.js\";\nimport type { LexOptions, ParseOptions, ConvertOptions, BreakscapeOptions, InfoOptions } from \"./types.js\";\nconst require = createRequire(import.meta.url);\nconst wasm = require(\"../wasm/bitmark_wasm.js\") as typeof import(\"../wasm/bitmark_wasm.js\");\n\nexport type { LexOptions, LexStage, ParseOptions, ConvertOptions, OutputMode, BreakscapeOptions, TextFormat, TextLocation, InfoOptions, InfoType, InfoFormat } from \"./types.js\";\n\n/**\n * Get the version of the @gmb/bitmark-parser library.\n *\n * @returns Version string (e.g. \"3.0.0\").\n */\nexport function version(): string {\n return PACKAGE_INFO.version;\n}\n\n/**\n * Lex bitmark input text, returning one line per token.\n *\n * @param input - The bitmark source text.\n * @param options - Lex options (e.g. `{ stage: \"lex\" }`).\n * @returns Token dump string (one token per line).\n */\nexport function lex(input: string, options: LexOptions = {}): string {\n return wasm.lex(input, options.stage ?? \"lex\");\n}\n\n/**\n * Parse bitmark input text and return structured JSON entries.\n *\n * Each entry contains `bit`, `parser`, and `bitmark` fields.\n *\n * @param input - The bitmark source text.\n * @param options - Parse options (e.g. `{ mode: \"full\" }`).\n * @returns JSON string array of structured parsed entries.\n */\nexport function parse(input: string, options: ParseOptions = {}): string {\n return wasm.parse(input, options.mode ?? \"optimized\");\n}\n\n/**\n * Auto-detect input format and convert between bitmark and JSON.\n *\n * @param input - Bitmark or JSON input text.\n * @param options - Convert options (e.g. `{ mode: \"full\", warnings: true }`).\n * @returns Converted output string. For bitmark input, this is a JSON string\n * array of structured parsed entries (`bit`, `parser`, `bitmark`).\n */\nexport function convert(input: string, options: ConvertOptions = {}): string {\n return wasm.convert(input, options.mode ?? \"optimized\", options.warnings ?? false, options.plainText ?? false, options.pretty ?? false, options.indent ?? 2);\n}\n\n/**\n * Breakscape text (escape bitmark special characters).\n *\n * @param input - The text to breakscape.\n * @param options - Breakscape options (e.g. `{ format: \"plainText\", location: \"tag\" }`).\n * @returns Breakscaped text.\n */\nexport function breakscapeText(input: string, options: BreakscapeOptions = {}): string {\n const format = options.format ?? \"bitmark++\";\n const location = options.location ?? \"body\";\n return wasm.breakscape_text(input, format, location);\n}\n\n/**\n * Unbreakscape text (unescape bitmark special characters).\n *\n * @param input - The text to unbreakscape.\n * @param options - Unbreakscape options (e.g. `{ format: \"plainText\", location: \"tag\" }`).\n * @returns Unbreakscaped text.\n */\nexport function unbreakscapeText(input: string, options: BreakscapeOptions = {}): string {\n const format = options.format ?? \"bitmark++\";\n const location = options.location ?? \"body\";\n return wasm.unbreakscape_text(input, format, location);\n}\n\n/**\n * Query information about supported bit types.\n *\n * @param options - Info options (e.g. `{ infoType: \"bit\", format: \"json\", bit: \"cloze\" }`).\n * @returns Information string.\n */\nexport function info(options: InfoOptions = {}): string {\n const infoType = options.infoType ?? \"list\";\n const format = options.format ?? \"text\";\n const bit = options.bit ?? \"\";\n const pretty = options.pretty ?? false;\n const indent = options.indent ?? 2;\n return wasm.info(infoType, format, bit, pretty, indent);\n}\n\n/**\n * Generate bitmark text from a JSON AST.\n *\n * @param _json - JSON string of the AST.\n * @throws Always throws — not yet implemented.\n */\nexport function generate(_json: string): string {\n throw new Error(\"generate is not yet implemented\");\n}\n","// @zen-component: CLI-SharedIO\n//! Shared I/O utilities for the TS CLI.\n\nimport { readFileSync, writeFileSync, appendFileSync, existsSync, mkdirSync } from \"node:fs\";\nimport { dirname } from \"node:path\";\n\n/**\n * Resolve multiple inputs into a single concatenated string.\n *\n * If the array is empty, reads from stdin.\n * Multiple inputs are concatenated with `\\n` — valid for bitmark\n * because bits are `\\n`-delimited.\n */\nexport function readInputs(inputs: string[]): string {\n if (inputs.length === 0) {\n return readStdin();\n }\n if (inputs.length === 1) {\n return readSingle(inputs[0]);\n }\n return inputs.map(readSingle).join(\"\\n\");\n}\n\n/**\n * Resolve a single input string (file path or literal).\n */\nfunction readSingle(input: string): string {\n if (existsSync(input)) {\n return readFileSync(input, \"utf-8\");\n }\n return input;\n}\n\n/**\n * Read all of stdin synchronously.\n */\nfunction readStdin(): string {\n const buf = readFileSync(0, \"utf-8\") as string;\n if (!buf) {\n console.error(\"No input provided. Pass a file path, literal string, or pipe via stdin.\");\n process.exit(1);\n }\n return buf;\n}\n\n/**\n * Write output to stdout or a file.\n *\n * - If `outputPath` is undefined → write to stdout\n * - If `append` is true → append to file\n * - Otherwise → overwrite file\n */\nexport function writeOutput(content: string, outputPath: string | undefined, append: boolean): void {\n if (outputPath === undefined) {\n process.stdout.write(content);\n return;\n }\n\n // Ensure parent directory exists\n const dir = dirname(outputPath);\n if (dir && !existsSync(dir)) {\n mkdirSync(dir, { recursive: true });\n }\n\n if (append) {\n appendFileSync(outputPath, content, \"utf-8\");\n } else {\n writeFileSync(outputPath, content, \"utf-8\");\n }\n}\n","// @zen-component: WASM-TSBindings\n\nimport type { Command } from \"commander\";\nimport { lex, parse } from \"../index.js\";\nimport { readInputs, writeOutput } from \"../utils/io.js\";\n\nexport function registerParseCommand(program: Command): void {\n program\n .command(\"parse\")\n .description(\"Parse a bitmark file to JSON\")\n .argument(\"[INPUT...]\", \"Input: bitmark files, literal strings, or omit for stdin\")\n .option(\"-o, --output <file>\", \"Output file (default: stdout)\")\n .option(\"-a, --append\", \"Append to output file\", false)\n .option(\"--stage <STAGE>\", \"Stage to run: all, lex\", \"all\")\n .option(\"--mode <MODE>\", \"JSON output mode: optimized or full\", \"optimized\")\n .option(\"-p, --pretty\", \"Prettify JSON output\", false)\n .option(\"--indent <SIZE>\", \"Indent size for pretty JSON\", \"2\")\n .action((inputs: string[], options: { output?: string; append: boolean; stage: string; mode: string; pretty: boolean; indent: string }) => {\n const content = readInputs(inputs);\n let result: string;\n\n if (options.stage === \"lex\") {\n result = lex(content, { stage: options.stage });\n } else {\n result = parse(content, { mode: options.mode as \"optimized\" | \"full\" });\n }\n\n if (options.pretty && options.stage === \"all\") {\n result = JSON.stringify(JSON.parse(result), null, Number(options.indent));\n }\n\n writeOutput(result, options.output, options.append);\n });\n}\n","// @zen-component: WASM-TSBindings\n\nimport type { Command } from \"commander\";\n\nexport function registerGenerateCommand(program: Command): void {\n program\n .command(\"generate\")\n .description(\"Generate bitmark text from JSON\")\n .argument(\"<INPUT>\", \"Input JSON file\")\n .argument(\"<OUTPUT>\", \"Output bitmark file\")\n .action((_input: string, _output: string) => {\n console.error(\"generate not yet implemented\");\n process.exit(1);\n });\n}\n","// @zen-component: CLI-Convert\n\nimport type { Command } from \"commander\";\nimport { convert } from \"../index.js\";\nimport { readInputs, writeOutput } from \"../utils/io.js\";\n\nexport function registerConvertCommand(program: Command): void {\n program\n .command(\"convert\")\n .description(\"Auto-detect input format and convert between bitmark and JSON\")\n .argument(\"[INPUT...]\", \"Input: file paths, bitmark/JSON strings, or omit for stdin\")\n .option(\"-o, --output <file>\", \"Output file (default: stdout)\")\n .option(\"-a, --append\", \"Append to output file\", false)\n .option(\"-w, --warnings\", \"Enable validation warnings in output\", false)\n .option(\"-p, --pretty\", \"Prettify JSON output\", false)\n .option(\"--indent <n>\", \"Indent size for pretty JSON\", \"2\")\n .option(\"--mode <MODE>\", \"JSON output mode: optimized or full\", \"optimized\")\n .option(\"--plain-text\", \"Output text as plain text (debug)\", false)\n .action(\n (\n inputs: string[],\n options: {\n output?: string;\n append: boolean;\n warnings: boolean;\n pretty: boolean;\n indent: string;\n mode: string;\n plainText: boolean;\n },\n ) => {\n const content = readInputs(inputs);\n const result = convert(content, {\n mode: options.mode as \"optimized\" | \"full\",\n warnings: options.warnings,\n plainText: options.plainText,\n pretty: options.pretty,\n indent: parseInt(options.indent, 10),\n });\n writeOutput(result, options.output, options.append);\n },\n );\n}\n","// @zen-component: CLI-Breakscape\n\nimport type { Command } from \"commander\";\nimport { breakscapeText } from \"../index.js\";\nimport { readInputs, writeOutput } from \"../utils/io.js\";\n\nexport function registerBreakscapeCommand(program: Command): void {\n program\n .command(\"breakscape\")\n .description(\"Breakscape text (escape bitmark special characters)\")\n .argument(\"[INPUT...]\", \"Input: file paths, text strings, or omit for stdin\")\n .option(\"-o, --output <file>\", \"Output file (default: stdout)\")\n .option(\"-a, --append\", \"Append to output file\", false)\n .option(\"--format <FORMAT>\", \"Text format: bitmark++ or plainText\", \"bitmark++\")\n .option(\"--location <LOCATION>\", \"Text location: body or tag\", \"body\")\n .action((inputs: string[], options: { output?: string; append: boolean; format: string; location: string }) => {\n const content = readInputs(inputs);\n const result = breakscapeText(content, {\n format: options.format as \"bitmark++\" | \"plainText\",\n location: options.location as \"body\" | \"tag\",\n });\n writeOutput(result, options.output, options.append);\n });\n}\n","// @zen-component: CLI-Breakscape\n\nimport type { Command } from \"commander\";\nimport { unbreakscapeText } from \"../index.js\";\nimport { readInputs, writeOutput } from \"../utils/io.js\";\n\nexport function registerUnbreakscapeCommand(program: Command): void {\n program\n .command(\"unbreakscape\")\n .description(\"Unbreakscape text (unescape bitmark special characters)\")\n .argument(\"[INPUT...]\", \"Input: file paths, text strings, or omit for stdin\")\n .option(\"-o, --output <file>\", \"Output file (default: stdout)\")\n .option(\"-a, --append\", \"Append to output file\", false)\n .option(\"--format <FORMAT>\", \"Text format: bitmark++ or plainText\", \"bitmark++\")\n .option(\"--location <LOCATION>\", \"Text location: body or tag\", \"body\")\n .action((inputs: string[], options: { output?: string; append: boolean; format: string; location: string }) => {\n const content = readInputs(inputs);\n const result = unbreakscapeText(content, {\n format: options.format as \"bitmark++\" | \"plainText\",\n location: options.location as \"body\" | \"tag\",\n });\n writeOutput(result, options.output, options.append);\n });\n}\n","// @zen-component: CLI-Info\n\nimport type { Command } from \"commander\";\nimport { info } from \"../index.js\";\nimport { writeOutput } from \"../utils/io.js\";\n\nexport function registerInfoCommand(program: Command): void {\n program\n .command(\"info\")\n .description(\"Show information about supported bit types\")\n .argument(\"[INFO]\", \"Info type: list, bit, all, deprecated\", \"list\")\n .option(\"-f, --format <FORMAT>\", \"Output format: text or json\", \"text\")\n .option(\"--all\", \"Include deprecated bits\", false)\n .option(\"--bit <NAME>\", \"Filter to specific bit type\")\n .option(\"--deprecated\", \"Show only deprecated bits\", false)\n .option(\"-o, --output <file>\", \"Output file (default: stdout)\")\n .option(\"-a, --append\", \"Append to output file\", false)\n .option(\"-p, --pretty\", \"Prettify JSON output\", false)\n .option(\"--indent <n>\", \"Indent size for pretty JSON\", \"2\")\n .action(\n (\n infoType: string,\n options: {\n format: string;\n all: boolean;\n bit?: string;\n deprecated: boolean;\n output?: string;\n append: boolean;\n pretty: boolean;\n indent: string;\n },\n ) => {\n const result = info({\n infoType: infoType as \"list\" | \"bit\" | \"all\" | \"deprecated\",\n format: options.format as \"text\" | \"json\",\n bit: options.bit,\n pretty: options.pretty,\n indent: parseInt(options.indent, 10),\n });\n writeOutput(result, options.output, options.append);\n },\n );\n}\n","#!/usr/bin/env node\n// @zen-component: WASM-TSBindings\n\nimport { Command } from \"commander\";\nimport { PACKAGE_INFO } from \"./generated/package_info.js\";\nimport { registerParseCommand } from \"./commands/parse.js\";\nimport { registerGenerateCommand } from \"./commands/generate.js\";\nimport { registerConvertCommand } from \"./commands/convert.js\";\nimport { registerBreakscapeCommand } from \"./commands/breakscape.js\";\nimport { registerUnbreakscapeCommand } from \"./commands/unbreakscape.js\";\nimport { registerInfoCommand } from \"./commands/info.js\";\n\nconst program = new Command();\n\nprogram.name(\"bitmark-parser\").description(\"Parse and generate bitmark text\").version(PACKAGE_INFO.version);\n\nregisterParseCommand(program);\nregisterGenerateCommand(program);\nregisterConvertCommand(program);\nregisterBreakscapeCommand(program);\nregisterUnbreakscapeCommand(program);\nregisterInfoCommand(program);\n\nprogram.parse();\n"]} |
+1
-1
@@ -44,3 +44,3 @@ "use strict"; | ||
| "name": "@gmb/bitmark-parser", | ||
| "version": "3.0.2", | ||
| "version": "3.0.3", | ||
| "author": "Get More Brain Ltd <info@getmorebrain.com>", | ||
@@ -47,0 +47,0 @@ "license": "ISC", |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"sources":["../src/index.ts","../../../node_modules/tsup/assets/cjs_shims.js","../src/generated/package_info.ts"],"sourcesContent":["// @zen-component: WASM-TSBindings\n\nimport { createRequire } from \"node:module\";\nimport { PACKAGE_INFO } from \"./generated/package_info.js\";\nimport type { LexOptions, ParseOptions, ConvertOptions, BreakscapeOptions, InfoOptions } from \"./types.js\";\nconst require = createRequire(import.meta.url);\nconst wasm = require(\"../wasm/bitmark_wasm.js\") as typeof import(\"../wasm/bitmark_wasm.js\");\n\nexport type { LexOptions, LexStage, ParseOptions, ConvertOptions, OutputMode, BreakscapeOptions, TextFormat, TextLocation, InfoOptions, InfoType, InfoFormat } from \"./types.js\";\n\n/**\n * Get the version of the @gmb/bitmark-parser library.\n *\n * @returns Version string (e.g. \"3.0.0\").\n */\nexport function version(): string {\n return PACKAGE_INFO.version;\n}\n\n/**\n * Lex bitmark input text, returning one line per token.\n *\n * @param input - The bitmark source text.\n * @param options - Lex options (e.g. `{ stage: \"lex\" }`).\n * @returns Token dump string (one token per line).\n */\nexport function lex(input: string, options: LexOptions = {}): string {\n return wasm.lex(input, options.stage ?? \"lex\");\n}\n\n/**\n * Parse bitmark input text and return structured JSON entries.\n *\n * Each entry contains `bit`, `parser`, and `bitmark` fields.\n *\n * @param input - The bitmark source text.\n * @param options - Parse options (e.g. `{ mode: \"full\" }`).\n * @returns JSON string array of structured parsed entries.\n */\nexport function parse(input: string, options: ParseOptions = {}): string {\n return wasm.parse(input, options.mode ?? \"optimized\");\n}\n\n/**\n * Auto-detect input format and convert between bitmark and JSON.\n *\n * @param input - Bitmark or JSON input text.\n * @param options - Convert options (e.g. `{ mode: \"full\", warnings: true }`).\n * @returns Converted output string. For bitmark input, this is a JSON string\n * array of structured parsed entries (`bit`, `parser`, `bitmark`).\n */\nexport function convert(input: string, options: ConvertOptions = {}): string {\n return wasm.convert(input, options.mode ?? \"optimized\", options.warnings ?? false, options.plainText ?? false, options.pretty ?? false, options.indent ?? 2);\n}\n\n/**\n * Breakscape text (escape bitmark special characters).\n *\n * @param input - The text to breakscape.\n * @param options - Breakscape options (e.g. `{ format: \"plainText\", location: \"tag\" }`).\n * @returns Breakscaped text.\n */\nexport function breakscapeText(input: string, options: BreakscapeOptions = {}): string {\n const format = options.format ?? \"bitmark++\";\n const location = options.location ?? \"body\";\n return wasm.breakscape_text(input, format, location);\n}\n\n/**\n * Unbreakscape text (unescape bitmark special characters).\n *\n * @param input - The text to unbreakscape.\n * @param options - Unbreakscape options (e.g. `{ format: \"plainText\", location: \"tag\" }`).\n * @returns Unbreakscaped text.\n */\nexport function unbreakscapeText(input: string, options: BreakscapeOptions = {}): string {\n const format = options.format ?? \"bitmark++\";\n const location = options.location ?? \"body\";\n return wasm.unbreakscape_text(input, format, location);\n}\n\n/**\n * Query information about supported bit types.\n *\n * @param options - Info options (e.g. `{ infoType: \"bit\", format: \"json\", bit: \"cloze\" }`).\n * @returns Information string.\n */\nexport function info(options: InfoOptions = {}): string {\n const infoType = options.infoType ?? \"list\";\n const format = options.format ?? \"text\";\n const bit = options.bit ?? \"\";\n const pretty = options.pretty ?? false;\n const indent = options.indent ?? 2;\n return wasm.info(infoType, format, bit, pretty, indent);\n}\n\n/**\n * Generate bitmark text from a JSON AST.\n *\n * @param _json - JSON string of the AST.\n * @throws Always throws — not yet implemented.\n */\nexport function generate(_json: string): string {\n throw new Error(\"generate is not yet implemented\");\n}\n","// Shim globals in cjs bundle\n// There's a weird bug that esbuild will always inject importMetaUrl\n// if we export it as `const importMetaUrl = ... __filename ...`\n// But using a function will not cause this issue\n\nconst getImportMetaUrl = () => \n typeof document === \"undefined\" \n ? new URL(`file:${__filename}`).href \n : (document.currentScript && document.currentScript.tagName.toUpperCase() === 'SCRIPT') \n ? document.currentScript.src \n : new URL(\"main.js\", document.baseURI).href;\n\nexport const importMetaUrl = /* @__PURE__ */ getImportMetaUrl()\n","// This file is automatically generated. DO NOT EDIT.\n\n/* eslint-disable */\n\nexport const PACKAGE_INFO = {\n \"name\": \"@gmb/bitmark-parser\",\n \"version\": \"3.0.2\",\n \"author\": \"Get More Brain Ltd <info@getmorebrain.com>\",\n \"license\": \"ISC\",\n \"description\": \"A parser for bitmark text, powered by WebAssembly.\"\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACKA,IAAM,mBAAmB,MACvB,OAAO,aAAa,cAChB,IAAI,IAAI,QAAQ,UAAU,EAAE,EAAE,OAC7B,SAAS,iBAAiB,SAAS,cAAc,QAAQ,YAAY,MAAM,WAC1E,SAAS,cAAc,MACvB,IAAI,IAAI,WAAW,SAAS,OAAO,EAAE;AAEtC,IAAM,gBAAgC,iCAAiB;;;ADV9D,yBAA8B;;;AEEvB,IAAM,eAAe;AAAA,EAC1B,QAAQ;AAAA,EACR,WAAW;AAAA,EACX,UAAU;AAAA,EACV,WAAW;AAAA,EACX,eAAe;AACjB;;;AFLA,IAAMA,eAAU,kCAAc,aAAe;AAC7C,IAAM,OAAOA,SAAQ,yBAAyB;AASvC,SAAS,UAAkB;AAChC,SAAO,aAAa;AACtB;AASO,SAAS,IAAI,OAAe,UAAsB,CAAC,GAAW;AACnE,SAAO,KAAK,IAAI,OAAO,QAAQ,SAAS,KAAK;AAC/C;AAWO,SAAS,MAAM,OAAe,UAAwB,CAAC,GAAW;AACvE,SAAO,KAAK,MAAM,OAAO,QAAQ,QAAQ,WAAW;AACtD;AAUO,SAAS,QAAQ,OAAe,UAA0B,CAAC,GAAW;AAC3E,SAAO,KAAK,QAAQ,OAAO,QAAQ,QAAQ,aAAa,QAAQ,YAAY,OAAO,QAAQ,aAAa,OAAO,QAAQ,UAAU,OAAO,QAAQ,UAAU,CAAC;AAC7J;AASO,SAAS,eAAe,OAAe,UAA6B,CAAC,GAAW;AACrF,QAAM,SAAS,QAAQ,UAAU;AACjC,QAAM,WAAW,QAAQ,YAAY;AACrC,SAAO,KAAK,gBAAgB,OAAO,QAAQ,QAAQ;AACrD;AASO,SAAS,iBAAiB,OAAe,UAA6B,CAAC,GAAW;AACvF,QAAM,SAAS,QAAQ,UAAU;AACjC,QAAM,WAAW,QAAQ,YAAY;AACrC,SAAO,KAAK,kBAAkB,OAAO,QAAQ,QAAQ;AACvD;AAQO,SAAS,KAAK,UAAuB,CAAC,GAAW;AACtD,QAAM,WAAW,QAAQ,YAAY;AACrC,QAAM,SAAS,QAAQ,UAAU;AACjC,QAAM,MAAM,QAAQ,OAAO;AAC3B,QAAM,SAAS,QAAQ,UAAU;AACjC,QAAM,SAAS,QAAQ,UAAU;AACjC,SAAO,KAAK,KAAK,UAAU,QAAQ,KAAK,QAAQ,MAAM;AACxD;AAQO,SAAS,SAAS,OAAuB;AAC9C,QAAM,IAAI,MAAM,iCAAiC;AACnD;","names":["require"]} | ||
| {"version":3,"sources":["../src/index.ts","../../../node_modules/tsup/assets/cjs_shims.js","../src/generated/package_info.ts"],"sourcesContent":["// @zen-component: WASM-TSBindings\n\nimport { createRequire } from \"node:module\";\nimport { PACKAGE_INFO } from \"./generated/package_info.js\";\nimport type { LexOptions, ParseOptions, ConvertOptions, BreakscapeOptions, InfoOptions } from \"./types.js\";\nconst require = createRequire(import.meta.url);\nconst wasm = require(\"../wasm/bitmark_wasm.js\") as typeof import(\"../wasm/bitmark_wasm.js\");\n\nexport type { LexOptions, LexStage, ParseOptions, ConvertOptions, OutputMode, BreakscapeOptions, TextFormat, TextLocation, InfoOptions, InfoType, InfoFormat } from \"./types.js\";\n\n/**\n * Get the version of the @gmb/bitmark-parser library.\n *\n * @returns Version string (e.g. \"3.0.0\").\n */\nexport function version(): string {\n return PACKAGE_INFO.version;\n}\n\n/**\n * Lex bitmark input text, returning one line per token.\n *\n * @param input - The bitmark source text.\n * @param options - Lex options (e.g. `{ stage: \"lex\" }`).\n * @returns Token dump string (one token per line).\n */\nexport function lex(input: string, options: LexOptions = {}): string {\n return wasm.lex(input, options.stage ?? \"lex\");\n}\n\n/**\n * Parse bitmark input text and return structured JSON entries.\n *\n * Each entry contains `bit`, `parser`, and `bitmark` fields.\n *\n * @param input - The bitmark source text.\n * @param options - Parse options (e.g. `{ mode: \"full\" }`).\n * @returns JSON string array of structured parsed entries.\n */\nexport function parse(input: string, options: ParseOptions = {}): string {\n return wasm.parse(input, options.mode ?? \"optimized\");\n}\n\n/**\n * Auto-detect input format and convert between bitmark and JSON.\n *\n * @param input - Bitmark or JSON input text.\n * @param options - Convert options (e.g. `{ mode: \"full\", warnings: true }`).\n * @returns Converted output string. For bitmark input, this is a JSON string\n * array of structured parsed entries (`bit`, `parser`, `bitmark`).\n */\nexport function convert(input: string, options: ConvertOptions = {}): string {\n return wasm.convert(input, options.mode ?? \"optimized\", options.warnings ?? false, options.plainText ?? false, options.pretty ?? false, options.indent ?? 2);\n}\n\n/**\n * Breakscape text (escape bitmark special characters).\n *\n * @param input - The text to breakscape.\n * @param options - Breakscape options (e.g. `{ format: \"plainText\", location: \"tag\" }`).\n * @returns Breakscaped text.\n */\nexport function breakscapeText(input: string, options: BreakscapeOptions = {}): string {\n const format = options.format ?? \"bitmark++\";\n const location = options.location ?? \"body\";\n return wasm.breakscape_text(input, format, location);\n}\n\n/**\n * Unbreakscape text (unescape bitmark special characters).\n *\n * @param input - The text to unbreakscape.\n * @param options - Unbreakscape options (e.g. `{ format: \"plainText\", location: \"tag\" }`).\n * @returns Unbreakscaped text.\n */\nexport function unbreakscapeText(input: string, options: BreakscapeOptions = {}): string {\n const format = options.format ?? \"bitmark++\";\n const location = options.location ?? \"body\";\n return wasm.unbreakscape_text(input, format, location);\n}\n\n/**\n * Query information about supported bit types.\n *\n * @param options - Info options (e.g. `{ infoType: \"bit\", format: \"json\", bit: \"cloze\" }`).\n * @returns Information string.\n */\nexport function info(options: InfoOptions = {}): string {\n const infoType = options.infoType ?? \"list\";\n const format = options.format ?? \"text\";\n const bit = options.bit ?? \"\";\n const pretty = options.pretty ?? false;\n const indent = options.indent ?? 2;\n return wasm.info(infoType, format, bit, pretty, indent);\n}\n\n/**\n * Generate bitmark text from a JSON AST.\n *\n * @param _json - JSON string of the AST.\n * @throws Always throws — not yet implemented.\n */\nexport function generate(_json: string): string {\n throw new Error(\"generate is not yet implemented\");\n}\n","// Shim globals in cjs bundle\n// There's a weird bug that esbuild will always inject importMetaUrl\n// if we export it as `const importMetaUrl = ... __filename ...`\n// But using a function will not cause this issue\n\nconst getImportMetaUrl = () => \n typeof document === \"undefined\" \n ? new URL(`file:${__filename}`).href \n : (document.currentScript && document.currentScript.tagName.toUpperCase() === 'SCRIPT') \n ? document.currentScript.src \n : new URL(\"main.js\", document.baseURI).href;\n\nexport const importMetaUrl = /* @__PURE__ */ getImportMetaUrl()\n","// This file is automatically generated. DO NOT EDIT.\n\n/* eslint-disable */\n\nexport const PACKAGE_INFO = {\n \"name\": \"@gmb/bitmark-parser\",\n \"version\": \"3.0.3\",\n \"author\": \"Get More Brain Ltd <info@getmorebrain.com>\",\n \"license\": \"ISC\",\n \"description\": \"A parser for bitmark text, powered by WebAssembly.\"\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACKA,IAAM,mBAAmB,MACvB,OAAO,aAAa,cAChB,IAAI,IAAI,QAAQ,UAAU,EAAE,EAAE,OAC7B,SAAS,iBAAiB,SAAS,cAAc,QAAQ,YAAY,MAAM,WAC1E,SAAS,cAAc,MACvB,IAAI,IAAI,WAAW,SAAS,OAAO,EAAE;AAEtC,IAAM,gBAAgC,iCAAiB;;;ADV9D,yBAA8B;;;AEEvB,IAAM,eAAe;AAAA,EAC1B,QAAQ;AAAA,EACR,WAAW;AAAA,EACX,UAAU;AAAA,EACV,WAAW;AAAA,EACX,eAAe;AACjB;;;AFLA,IAAMA,eAAU,kCAAc,aAAe;AAC7C,IAAM,OAAOA,SAAQ,yBAAyB;AASvC,SAAS,UAAkB;AAChC,SAAO,aAAa;AACtB;AASO,SAAS,IAAI,OAAe,UAAsB,CAAC,GAAW;AACnE,SAAO,KAAK,IAAI,OAAO,QAAQ,SAAS,KAAK;AAC/C;AAWO,SAAS,MAAM,OAAe,UAAwB,CAAC,GAAW;AACvE,SAAO,KAAK,MAAM,OAAO,QAAQ,QAAQ,WAAW;AACtD;AAUO,SAAS,QAAQ,OAAe,UAA0B,CAAC,GAAW;AAC3E,SAAO,KAAK,QAAQ,OAAO,QAAQ,QAAQ,aAAa,QAAQ,YAAY,OAAO,QAAQ,aAAa,OAAO,QAAQ,UAAU,OAAO,QAAQ,UAAU,CAAC;AAC7J;AASO,SAAS,eAAe,OAAe,UAA6B,CAAC,GAAW;AACrF,QAAM,SAAS,QAAQ,UAAU;AACjC,QAAM,WAAW,QAAQ,YAAY;AACrC,SAAO,KAAK,gBAAgB,OAAO,QAAQ,QAAQ;AACrD;AASO,SAAS,iBAAiB,OAAe,UAA6B,CAAC,GAAW;AACvF,QAAM,SAAS,QAAQ,UAAU;AACjC,QAAM,WAAW,QAAQ,YAAY;AACrC,SAAO,KAAK,kBAAkB,OAAO,QAAQ,QAAQ;AACvD;AAQO,SAAS,KAAK,UAAuB,CAAC,GAAW;AACtD,QAAM,WAAW,QAAQ,YAAY;AACrC,QAAM,SAAS,QAAQ,UAAU;AACjC,QAAM,MAAM,QAAQ,OAAO;AAC3B,QAAM,SAAS,QAAQ,UAAU;AACjC,QAAM,SAAS,QAAQ,UAAU;AACjC,SAAO,KAAK,KAAK,UAAU,QAAQ,KAAK,QAAQ,MAAM;AACxD;AAQO,SAAS,SAAS,OAAuB;AAC9C,QAAM,IAAI,MAAM,iCAAiC;AACnD;","names":["require"]} |
+1
-1
@@ -7,3 +7,3 @@ // src/index.ts | ||
| "name": "@gmb/bitmark-parser", | ||
| "version": "3.0.2", | ||
| "version": "3.0.3", | ||
| "author": "Get More Brain Ltd <info@getmorebrain.com>", | ||
@@ -10,0 +10,0 @@ "license": "ISC", |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"sources":["../src/index.ts","../src/generated/package_info.ts"],"sourcesContent":["// @zen-component: WASM-TSBindings\n\nimport { createRequire } from \"node:module\";\nimport { PACKAGE_INFO } from \"./generated/package_info.js\";\nimport type { LexOptions, ParseOptions, ConvertOptions, BreakscapeOptions, InfoOptions } from \"./types.js\";\nconst require = createRequire(import.meta.url);\nconst wasm = require(\"../wasm/bitmark_wasm.js\") as typeof import(\"../wasm/bitmark_wasm.js\");\n\nexport type { LexOptions, LexStage, ParseOptions, ConvertOptions, OutputMode, BreakscapeOptions, TextFormat, TextLocation, InfoOptions, InfoType, InfoFormat } from \"./types.js\";\n\n/**\n * Get the version of the @gmb/bitmark-parser library.\n *\n * @returns Version string (e.g. \"3.0.0\").\n */\nexport function version(): string {\n return PACKAGE_INFO.version;\n}\n\n/**\n * Lex bitmark input text, returning one line per token.\n *\n * @param input - The bitmark source text.\n * @param options - Lex options (e.g. `{ stage: \"lex\" }`).\n * @returns Token dump string (one token per line).\n */\nexport function lex(input: string, options: LexOptions = {}): string {\n return wasm.lex(input, options.stage ?? \"lex\");\n}\n\n/**\n * Parse bitmark input text and return structured JSON entries.\n *\n * Each entry contains `bit`, `parser`, and `bitmark` fields.\n *\n * @param input - The bitmark source text.\n * @param options - Parse options (e.g. `{ mode: \"full\" }`).\n * @returns JSON string array of structured parsed entries.\n */\nexport function parse(input: string, options: ParseOptions = {}): string {\n return wasm.parse(input, options.mode ?? \"optimized\");\n}\n\n/**\n * Auto-detect input format and convert between bitmark and JSON.\n *\n * @param input - Bitmark or JSON input text.\n * @param options - Convert options (e.g. `{ mode: \"full\", warnings: true }`).\n * @returns Converted output string. For bitmark input, this is a JSON string\n * array of structured parsed entries (`bit`, `parser`, `bitmark`).\n */\nexport function convert(input: string, options: ConvertOptions = {}): string {\n return wasm.convert(input, options.mode ?? \"optimized\", options.warnings ?? false, options.plainText ?? false, options.pretty ?? false, options.indent ?? 2);\n}\n\n/**\n * Breakscape text (escape bitmark special characters).\n *\n * @param input - The text to breakscape.\n * @param options - Breakscape options (e.g. `{ format: \"plainText\", location: \"tag\" }`).\n * @returns Breakscaped text.\n */\nexport function breakscapeText(input: string, options: BreakscapeOptions = {}): string {\n const format = options.format ?? \"bitmark++\";\n const location = options.location ?? \"body\";\n return wasm.breakscape_text(input, format, location);\n}\n\n/**\n * Unbreakscape text (unescape bitmark special characters).\n *\n * @param input - The text to unbreakscape.\n * @param options - Unbreakscape options (e.g. `{ format: \"plainText\", location: \"tag\" }`).\n * @returns Unbreakscaped text.\n */\nexport function unbreakscapeText(input: string, options: BreakscapeOptions = {}): string {\n const format = options.format ?? \"bitmark++\";\n const location = options.location ?? \"body\";\n return wasm.unbreakscape_text(input, format, location);\n}\n\n/**\n * Query information about supported bit types.\n *\n * @param options - Info options (e.g. `{ infoType: \"bit\", format: \"json\", bit: \"cloze\" }`).\n * @returns Information string.\n */\nexport function info(options: InfoOptions = {}): string {\n const infoType = options.infoType ?? \"list\";\n const format = options.format ?? \"text\";\n const bit = options.bit ?? \"\";\n const pretty = options.pretty ?? false;\n const indent = options.indent ?? 2;\n return wasm.info(infoType, format, bit, pretty, indent);\n}\n\n/**\n * Generate bitmark text from a JSON AST.\n *\n * @param _json - JSON string of the AST.\n * @throws Always throws — not yet implemented.\n */\nexport function generate(_json: string): string {\n throw new Error(\"generate is not yet implemented\");\n}\n","// This file is automatically generated. DO NOT EDIT.\n\n/* eslint-disable */\n\nexport const PACKAGE_INFO = {\n \"name\": \"@gmb/bitmark-parser\",\n \"version\": \"3.0.2\",\n \"author\": \"Get More Brain Ltd <info@getmorebrain.com>\",\n \"license\": \"ISC\",\n \"description\": \"A parser for bitmark text, powered by WebAssembly.\"\n};\n"],"mappings":";AAEA,SAAS,qBAAqB;;;ACEvB,IAAM,eAAe;AAAA,EAC1B,QAAQ;AAAA,EACR,WAAW;AAAA,EACX,UAAU;AAAA,EACV,WAAW;AAAA,EACX,eAAe;AACjB;;;ADLA,IAAMA,WAAU,cAAc,YAAY,GAAG;AAC7C,IAAM,OAAOA,SAAQ,yBAAyB;AASvC,SAAS,UAAkB;AAChC,SAAO,aAAa;AACtB;AASO,SAAS,IAAI,OAAe,UAAsB,CAAC,GAAW;AACnE,SAAO,KAAK,IAAI,OAAO,QAAQ,SAAS,KAAK;AAC/C;AAWO,SAAS,MAAM,OAAe,UAAwB,CAAC,GAAW;AACvE,SAAO,KAAK,MAAM,OAAO,QAAQ,QAAQ,WAAW;AACtD;AAUO,SAAS,QAAQ,OAAe,UAA0B,CAAC,GAAW;AAC3E,SAAO,KAAK,QAAQ,OAAO,QAAQ,QAAQ,aAAa,QAAQ,YAAY,OAAO,QAAQ,aAAa,OAAO,QAAQ,UAAU,OAAO,QAAQ,UAAU,CAAC;AAC7J;AASO,SAAS,eAAe,OAAe,UAA6B,CAAC,GAAW;AACrF,QAAM,SAAS,QAAQ,UAAU;AACjC,QAAM,WAAW,QAAQ,YAAY;AACrC,SAAO,KAAK,gBAAgB,OAAO,QAAQ,QAAQ;AACrD;AASO,SAAS,iBAAiB,OAAe,UAA6B,CAAC,GAAW;AACvF,QAAM,SAAS,QAAQ,UAAU;AACjC,QAAM,WAAW,QAAQ,YAAY;AACrC,SAAO,KAAK,kBAAkB,OAAO,QAAQ,QAAQ;AACvD;AAQO,SAAS,KAAK,UAAuB,CAAC,GAAW;AACtD,QAAM,WAAW,QAAQ,YAAY;AACrC,QAAM,SAAS,QAAQ,UAAU;AACjC,QAAM,MAAM,QAAQ,OAAO;AAC3B,QAAM,SAAS,QAAQ,UAAU;AACjC,QAAM,SAAS,QAAQ,UAAU;AACjC,SAAO,KAAK,KAAK,UAAU,QAAQ,KAAK,QAAQ,MAAM;AACxD;AAQO,SAAS,SAAS,OAAuB;AAC9C,QAAM,IAAI,MAAM,iCAAiC;AACnD;","names":["require"]} | ||
| {"version":3,"sources":["../src/index.ts","../src/generated/package_info.ts"],"sourcesContent":["// @zen-component: WASM-TSBindings\n\nimport { createRequire } from \"node:module\";\nimport { PACKAGE_INFO } from \"./generated/package_info.js\";\nimport type { LexOptions, ParseOptions, ConvertOptions, BreakscapeOptions, InfoOptions } from \"./types.js\";\nconst require = createRequire(import.meta.url);\nconst wasm = require(\"../wasm/bitmark_wasm.js\") as typeof import(\"../wasm/bitmark_wasm.js\");\n\nexport type { LexOptions, LexStage, ParseOptions, ConvertOptions, OutputMode, BreakscapeOptions, TextFormat, TextLocation, InfoOptions, InfoType, InfoFormat } from \"./types.js\";\n\n/**\n * Get the version of the @gmb/bitmark-parser library.\n *\n * @returns Version string (e.g. \"3.0.0\").\n */\nexport function version(): string {\n return PACKAGE_INFO.version;\n}\n\n/**\n * Lex bitmark input text, returning one line per token.\n *\n * @param input - The bitmark source text.\n * @param options - Lex options (e.g. `{ stage: \"lex\" }`).\n * @returns Token dump string (one token per line).\n */\nexport function lex(input: string, options: LexOptions = {}): string {\n return wasm.lex(input, options.stage ?? \"lex\");\n}\n\n/**\n * Parse bitmark input text and return structured JSON entries.\n *\n * Each entry contains `bit`, `parser`, and `bitmark` fields.\n *\n * @param input - The bitmark source text.\n * @param options - Parse options (e.g. `{ mode: \"full\" }`).\n * @returns JSON string array of structured parsed entries.\n */\nexport function parse(input: string, options: ParseOptions = {}): string {\n return wasm.parse(input, options.mode ?? \"optimized\");\n}\n\n/**\n * Auto-detect input format and convert between bitmark and JSON.\n *\n * @param input - Bitmark or JSON input text.\n * @param options - Convert options (e.g. `{ mode: \"full\", warnings: true }`).\n * @returns Converted output string. For bitmark input, this is a JSON string\n * array of structured parsed entries (`bit`, `parser`, `bitmark`).\n */\nexport function convert(input: string, options: ConvertOptions = {}): string {\n return wasm.convert(input, options.mode ?? \"optimized\", options.warnings ?? false, options.plainText ?? false, options.pretty ?? false, options.indent ?? 2);\n}\n\n/**\n * Breakscape text (escape bitmark special characters).\n *\n * @param input - The text to breakscape.\n * @param options - Breakscape options (e.g. `{ format: \"plainText\", location: \"tag\" }`).\n * @returns Breakscaped text.\n */\nexport function breakscapeText(input: string, options: BreakscapeOptions = {}): string {\n const format = options.format ?? \"bitmark++\";\n const location = options.location ?? \"body\";\n return wasm.breakscape_text(input, format, location);\n}\n\n/**\n * Unbreakscape text (unescape bitmark special characters).\n *\n * @param input - The text to unbreakscape.\n * @param options - Unbreakscape options (e.g. `{ format: \"plainText\", location: \"tag\" }`).\n * @returns Unbreakscaped text.\n */\nexport function unbreakscapeText(input: string, options: BreakscapeOptions = {}): string {\n const format = options.format ?? \"bitmark++\";\n const location = options.location ?? \"body\";\n return wasm.unbreakscape_text(input, format, location);\n}\n\n/**\n * Query information about supported bit types.\n *\n * @param options - Info options (e.g. `{ infoType: \"bit\", format: \"json\", bit: \"cloze\" }`).\n * @returns Information string.\n */\nexport function info(options: InfoOptions = {}): string {\n const infoType = options.infoType ?? \"list\";\n const format = options.format ?? \"text\";\n const bit = options.bit ?? \"\";\n const pretty = options.pretty ?? false;\n const indent = options.indent ?? 2;\n return wasm.info(infoType, format, bit, pretty, indent);\n}\n\n/**\n * Generate bitmark text from a JSON AST.\n *\n * @param _json - JSON string of the AST.\n * @throws Always throws — not yet implemented.\n */\nexport function generate(_json: string): string {\n throw new Error(\"generate is not yet implemented\");\n}\n","// This file is automatically generated. DO NOT EDIT.\n\n/* eslint-disable */\n\nexport const PACKAGE_INFO = {\n \"name\": \"@gmb/bitmark-parser\",\n \"version\": \"3.0.3\",\n \"author\": \"Get More Brain Ltd <info@getmorebrain.com>\",\n \"license\": \"ISC\",\n \"description\": \"A parser for bitmark text, powered by WebAssembly.\"\n};\n"],"mappings":";AAEA,SAAS,qBAAqB;;;ACEvB,IAAM,eAAe;AAAA,EAC1B,QAAQ;AAAA,EACR,WAAW;AAAA,EACX,UAAU;AAAA,EACV,WAAW;AAAA,EACX,eAAe;AACjB;;;ADLA,IAAMA,WAAU,cAAc,YAAY,GAAG;AAC7C,IAAM,OAAOA,SAAQ,yBAAyB;AASvC,SAAS,UAAkB;AAChC,SAAO,aAAa;AACtB;AASO,SAAS,IAAI,OAAe,UAAsB,CAAC,GAAW;AACnE,SAAO,KAAK,IAAI,OAAO,QAAQ,SAAS,KAAK;AAC/C;AAWO,SAAS,MAAM,OAAe,UAAwB,CAAC,GAAW;AACvE,SAAO,KAAK,MAAM,OAAO,QAAQ,QAAQ,WAAW;AACtD;AAUO,SAAS,QAAQ,OAAe,UAA0B,CAAC,GAAW;AAC3E,SAAO,KAAK,QAAQ,OAAO,QAAQ,QAAQ,aAAa,QAAQ,YAAY,OAAO,QAAQ,aAAa,OAAO,QAAQ,UAAU,OAAO,QAAQ,UAAU,CAAC;AAC7J;AASO,SAAS,eAAe,OAAe,UAA6B,CAAC,GAAW;AACrF,QAAM,SAAS,QAAQ,UAAU;AACjC,QAAM,WAAW,QAAQ,YAAY;AACrC,SAAO,KAAK,gBAAgB,OAAO,QAAQ,QAAQ;AACrD;AASO,SAAS,iBAAiB,OAAe,UAA6B,CAAC,GAAW;AACvF,QAAM,SAAS,QAAQ,UAAU;AACjC,QAAM,WAAW,QAAQ,YAAY;AACrC,SAAO,KAAK,kBAAkB,OAAO,QAAQ,QAAQ;AACvD;AAQO,SAAS,KAAK,UAAuB,CAAC,GAAW;AACtD,QAAM,WAAW,QAAQ,YAAY;AACrC,QAAM,SAAS,QAAQ,UAAU;AACjC,QAAM,MAAM,QAAQ,OAAO;AAC3B,QAAM,SAAS,QAAQ,UAAU;AACjC,QAAM,SAAS,QAAQ,UAAU;AACjC,SAAO,KAAK,KAAK,UAAU,QAAQ,KAAK,QAAQ,MAAM;AACxD;AAQO,SAAS,SAAS,OAAuB;AAC9C,QAAM,IAAI,MAAM,iCAAiC;AACnD;","names":["require"]} |
+1
-1
| { | ||
| "name": "@gmb/bitmark-parser", | ||
| "version": "3.0.2", | ||
| "version": "3.0.3", | ||
| "description": "A parser for bitmark text, powered by WebAssembly.", | ||
@@ -5,0 +5,0 @@ "author": "Get More Brain Ltd <info@getmorebrain.com>", |
+26
-26
| /* tslint:disable */ | ||
| /* eslint-disable */ | ||
| /** | ||
| * Lex bitmark input text, returning one line per token in the same format as | ||
| * the Rust CLI: `{kind:?} {span:?} "{text}"`. | ||
| * | ||
| * `stage` selects the lexer pipeline: | ||
| * - `"lex"` — combined (default) | ||
| * - `"lex-json"` — combined, JSON array output | ||
| */ | ||
| export function lex(input: string, stage: string): string; | ||
| /** | ||
| * Breakscape text (escape bitmark special characters). | ||
@@ -20,15 +11,2 @@ * | ||
| /** | ||
| * Auto-detect input format and convert between bitmark and JSON. | ||
| * | ||
| * `mode`: `"optimized"` (default) or `"full"` | ||
| * `warnings`: whether to include validation warnings (default: false) | ||
| * `plain_text`: output text as plain text — debug mode (default: false) | ||
| * `pretty`: prettify JSON output (default: false) | ||
| * `indent`: indent size for pretty-printing (default: 2) | ||
| * | ||
| * Returns JSON if input is bitmark, or an error message if input is JSON | ||
| * (generator not yet implemented). | ||
| */ | ||
| export function convert(input: string, mode: string, warnings: boolean, plain_text: boolean, pretty: boolean, indent: number): string; | ||
| /** | ||
| * Query information about supported bit types. | ||
@@ -44,2 +22,19 @@ * | ||
| /** | ||
| * Parse bitmark input text and return the reference JSON format. | ||
| * | ||
| * Uses the full pipeline: parse → validate → serialize. | ||
| * | ||
| * `mode`: `"optimized"` (default) or `"full"` | ||
| */ | ||
| export function parse(input: string, mode: string): string; | ||
| /** | ||
| * Lex bitmark input text, returning one line per token in the same format as | ||
| * the Rust CLI: `{kind:?} {span:?} "{text}"`. | ||
| * | ||
| * `stage` selects the lexer pipeline: | ||
| * - `"lex"` — combined (default) | ||
| * - `"lex-json"` — combined, JSON array output | ||
| */ | ||
| export function lex(input: string, stage: string): string; | ||
| /** | ||
| * Unbreakscape text (unescape bitmark special characters). | ||
@@ -52,8 +47,13 @@ * | ||
| /** | ||
| * Parse bitmark input text and return the reference JSON format. | ||
| * Auto-detect input format and convert between bitmark and JSON. | ||
| * | ||
| * Uses the full pipeline: parse → validate → serialize. | ||
| * `mode`: `"optimized"` (default) or `"full"` | ||
| * `warnings`: whether to include validation warnings (default: false) | ||
| * `plain_text`: output text as plain text — debug mode (default: false) | ||
| * `pretty`: prettify JSON output (default: false) | ||
| * `indent`: indent size for pretty-printing (default: 2) | ||
| * | ||
| * `mode`: `"optimized"` (default) or `"full"` | ||
| * Returns JSON if input is bitmark, or an error message if input is JSON | ||
| * (generator not yet implemented). | ||
| */ | ||
| export function parse(input: string, mode: string): string; | ||
| export function convert(input: string, mode: string, warnings: boolean, plain_text: boolean, pretty: boolean, indent: number): string; |
+64
-64
@@ -89,15 +89,14 @@ | ||
| /** | ||
| * Lex bitmark input text, returning one line per token in the same format as | ||
| * the Rust CLI: `{kind:?} {span:?} "{text}"`. | ||
| * Breakscape text (escape bitmark special characters). | ||
| * | ||
| * `stage` selects the lexer pipeline: | ||
| * - `"lex"` — combined (default) | ||
| * - `"lex-json"` — combined, JSON array output | ||
| * `format`: `"bitmark++"` (default) or `"plainText"` | ||
| * `location`: `"body"` (default) or `"tag"` | ||
| * @param {string} input | ||
| * @param {string} stage | ||
| * @param {string} format | ||
| * @param {string} location | ||
| * @returns {string} | ||
| */ | ||
| module.exports.lex = function(input, stage) { | ||
| let deferred3_0; | ||
| let deferred3_1; | ||
| module.exports.breakscape_text = function(input, format, location) { | ||
| let deferred4_0; | ||
| let deferred4_1; | ||
| try { | ||
@@ -107,13 +106,15 @@ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); | ||
| const len0 = WASM_VECTOR_LEN; | ||
| const ptr1 = passStringToWasm0(stage, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1); | ||
| const ptr1 = passStringToWasm0(format, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1); | ||
| const len1 = WASM_VECTOR_LEN; | ||
| wasm.lex(retptr, ptr0, len0, ptr1, len1); | ||
| const ptr2 = passStringToWasm0(location, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1); | ||
| const len2 = WASM_VECTOR_LEN; | ||
| wasm.breakscape_text(retptr, ptr0, len0, ptr1, len1, ptr2, len2); | ||
| var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true); | ||
| var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true); | ||
| deferred3_0 = r0; | ||
| deferred3_1 = r1; | ||
| deferred4_0 = r0; | ||
| deferred4_1 = r1; | ||
| return getStringFromWasm0(r0, r1); | ||
| } finally { | ||
| wasm.__wbindgen_add_to_stack_pointer(16); | ||
| wasm.__wbindgen_export_2(deferred3_0, deferred3_1, 1); | ||
| wasm.__wbindgen_export_2(deferred4_0, deferred4_1, 1); | ||
| } | ||
@@ -123,12 +124,17 @@ }; | ||
| /** | ||
| * Breakscape text (escape bitmark special characters). | ||
| * Query information about supported bit types. | ||
| * | ||
| * `format`: `"bitmark++"` (default) or `"plainText"` | ||
| * `location`: `"body"` (default) or `"tag"` | ||
| * @param {string} input | ||
| * `info_type`: `"list"`, `"bit"`, `"all"`, or `"deprecated"` | ||
| * `format`: `"text"` or `"json"` | ||
| * `bit`: bit name (required when `info_type` is `"bit"`) | ||
| * `pretty`: whether to pretty-print JSON output | ||
| * `indent`: indent size for pretty-printing (default: 2) | ||
| * @param {string} info_type | ||
| * @param {string} format | ||
| * @param {string} location | ||
| * @param {string} bit | ||
| * @param {boolean} pretty | ||
| * @param {number} indent | ||
| * @returns {string} | ||
| */ | ||
| module.exports.breakscape_text = function(input, format, location) { | ||
| module.exports.info = function(info_type, format, bit, pretty, indent) { | ||
| let deferred4_0; | ||
@@ -138,9 +144,9 @@ let deferred4_1; | ||
| const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); | ||
| const ptr0 = passStringToWasm0(input, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1); | ||
| const ptr0 = passStringToWasm0(info_type, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1); | ||
| const len0 = WASM_VECTOR_LEN; | ||
| const ptr1 = passStringToWasm0(format, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1); | ||
| const len1 = WASM_VECTOR_LEN; | ||
| const ptr2 = passStringToWasm0(location, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1); | ||
| const ptr2 = passStringToWasm0(bit, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1); | ||
| const len2 = WASM_VECTOR_LEN; | ||
| wasm.breakscape_text(retptr, ptr0, len0, ptr1, len1, ptr2, len2); | ||
| wasm.info(retptr, ptr0, len0, ptr1, len1, ptr2, len2, pretty, indent); | ||
| var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true); | ||
@@ -158,21 +164,12 @@ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true); | ||
| /** | ||
| * Auto-detect input format and convert between bitmark and JSON. | ||
| * Parse bitmark input text and return the reference JSON format. | ||
| * | ||
| * Uses the full pipeline: parse → validate → serialize. | ||
| * | ||
| * `mode`: `"optimized"` (default) or `"full"` | ||
| * `warnings`: whether to include validation warnings (default: false) | ||
| * `plain_text`: output text as plain text — debug mode (default: false) | ||
| * `pretty`: prettify JSON output (default: false) | ||
| * `indent`: indent size for pretty-printing (default: 2) | ||
| * | ||
| * Returns JSON if input is bitmark, or an error message if input is JSON | ||
| * (generator not yet implemented). | ||
| * @param {string} input | ||
| * @param {string} mode | ||
| * @param {boolean} warnings | ||
| * @param {boolean} plain_text | ||
| * @param {boolean} pretty | ||
| * @param {number} indent | ||
| * @returns {string} | ||
| */ | ||
| module.exports.convert = function(input, mode, warnings, plain_text, pretty, indent) { | ||
| module.exports.parse = function(input, mode) { | ||
| let deferred3_0; | ||
@@ -186,3 +183,3 @@ let deferred3_1; | ||
| const len1 = WASM_VECTOR_LEN; | ||
| wasm.convert(retptr, ptr0, len0, ptr1, len1, warnings, plain_text, pretty, indent); | ||
| wasm.parse(retptr, ptr0, len0, ptr1, len1); | ||
| var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true); | ||
@@ -200,36 +197,30 @@ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true); | ||
| /** | ||
| * Query information about supported bit types. | ||
| * Lex bitmark input text, returning one line per token in the same format as | ||
| * the Rust CLI: `{kind:?} {span:?} "{text}"`. | ||
| * | ||
| * `info_type`: `"list"`, `"bit"`, `"all"`, or `"deprecated"` | ||
| * `format`: `"text"` or `"json"` | ||
| * `bit`: bit name (required when `info_type` is `"bit"`) | ||
| * `pretty`: whether to pretty-print JSON output | ||
| * `indent`: indent size for pretty-printing (default: 2) | ||
| * @param {string} info_type | ||
| * @param {string} format | ||
| * @param {string} bit | ||
| * @param {boolean} pretty | ||
| * @param {number} indent | ||
| * `stage` selects the lexer pipeline: | ||
| * - `"lex"` — combined (default) | ||
| * - `"lex-json"` — combined, JSON array output | ||
| * @param {string} input | ||
| * @param {string} stage | ||
| * @returns {string} | ||
| */ | ||
| module.exports.info = function(info_type, format, bit, pretty, indent) { | ||
| let deferred4_0; | ||
| let deferred4_1; | ||
| module.exports.lex = function(input, stage) { | ||
| let deferred3_0; | ||
| let deferred3_1; | ||
| try { | ||
| const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); | ||
| const ptr0 = passStringToWasm0(info_type, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1); | ||
| const ptr0 = passStringToWasm0(input, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1); | ||
| const len0 = WASM_VECTOR_LEN; | ||
| const ptr1 = passStringToWasm0(format, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1); | ||
| const ptr1 = passStringToWasm0(stage, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1); | ||
| const len1 = WASM_VECTOR_LEN; | ||
| const ptr2 = passStringToWasm0(bit, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1); | ||
| const len2 = WASM_VECTOR_LEN; | ||
| wasm.info(retptr, ptr0, len0, ptr1, len1, ptr2, len2, pretty, indent); | ||
| wasm.lex(retptr, ptr0, len0, ptr1, len1); | ||
| var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true); | ||
| var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true); | ||
| deferred4_0 = r0; | ||
| deferred4_1 = r1; | ||
| deferred3_0 = r0; | ||
| deferred3_1 = r1; | ||
| return getStringFromWasm0(r0, r1); | ||
| } finally { | ||
| wasm.__wbindgen_add_to_stack_pointer(16); | ||
| wasm.__wbindgen_export_2(deferred4_0, deferred4_1, 1); | ||
| wasm.__wbindgen_export_2(deferred3_0, deferred3_1, 1); | ||
| } | ||
@@ -272,12 +263,21 @@ }; | ||
| /** | ||
| * Parse bitmark input text and return the reference JSON format. | ||
| * Auto-detect input format and convert between bitmark and JSON. | ||
| * | ||
| * Uses the full pipeline: parse → validate → serialize. | ||
| * `mode`: `"optimized"` (default) or `"full"` | ||
| * `warnings`: whether to include validation warnings (default: false) | ||
| * `plain_text`: output text as plain text — debug mode (default: false) | ||
| * `pretty`: prettify JSON output (default: false) | ||
| * `indent`: indent size for pretty-printing (default: 2) | ||
| * | ||
| * `mode`: `"optimized"` (default) or `"full"` | ||
| * Returns JSON if input is bitmark, or an error message if input is JSON | ||
| * (generator not yet implemented). | ||
| * @param {string} input | ||
| * @param {string} mode | ||
| * @param {boolean} warnings | ||
| * @param {boolean} plain_text | ||
| * @param {boolean} pretty | ||
| * @param {number} indent | ||
| * @returns {string} | ||
| */ | ||
| module.exports.parse = function(input, mode) { | ||
| module.exports.convert = function(input, mode, warnings, plain_text, pretty, indent) { | ||
| let deferred3_0; | ||
@@ -291,3 +291,3 @@ let deferred3_1; | ||
| const len1 = WASM_VECTOR_LEN; | ||
| wasm.parse(retptr, ptr0, len0, ptr1, len1); | ||
| wasm.convert(retptr, ptr0, len0, ptr1, len1, warnings, plain_text, pretty, indent); | ||
| var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true); | ||
@@ -294,0 +294,0 @@ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true); |
@@ -7,3 +7,3 @@ { | ||
| "description": "WebAssembly bindings for the bitmark parser", | ||
| "version": "3.0.2", | ||
| "version": "3.0.3", | ||
| "license": "ISC", | ||
@@ -10,0 +10,0 @@ "repository": { |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Network access
Supply chain riskThis module accesses the network.
Found 1 instance in 1 package
Debug access
Supply chain riskUses debug, reflection and dynamic code execution features.
Found 1 instance in 1 package
Filesystem access
Supply chain riskAccesses the file system, and could potentially read sensitive data.
Found 1 instance in 1 package
Network access
Supply chain riskThis module accesses the network.
Found 1 instance in 1 package
Debug access
Supply chain riskUses debug, reflection and dynamic code execution features.
Found 1 instance in 1 package
Filesystem access
Supply chain riskAccesses the file system, and could potentially read sensitive data.
Found 1 instance in 1 package
1196770
0.18%1659
0.67%