import{P as O}from"./p-652b7f03.js";import{e as r,h as e,j as P,k as t,m as a,n as Q,a as s,f as o,t as p}from"./p-3ffdd8ff.js";import"./p-ca64077e.js";import"./p-0a0d477e.js";import"./p-5bfddd9d.js";import"./p-7d5dbd9a.js";import"./p-6d2953a4.js";import"./p-54d6a6c0.js";const n=O.deserialize({version:13,states:"$bOVQPOOOOQO'#Cb'#CbOnQPO'#CeOvQPO'#CjOOQO'#Cp'#CpQOQPOOOOQO'#Cg'#CgO}QPO'#CfO!SQPO'#CrOOQO,59P,59PO![QPO,59PO!aQPO'#CuOOQO,59U,59UO!iQPO,59UOVQPO,59QOqQPO'#CkO!nQPO,59^OOQO1G.k1G.kOVQPO'#ClO!vQPO,59aOOQO1G.p1G.pOOQO1G.l1G.lOOQO,59V,59VOOQO-E6i-E6iOOQO,59W,59WOOQO-E6j-E6j",stateData:"#O~OcOS~OQSORSOSSOTSOWQO]ROePO~OVXOeUO~O[[O~PVOg^O~Oh_OVfX~OVaO~OhbO[iX~O[dO~Oh_OVfa~OhbO[ia~O",goto:"!kjPPPPPPkPPkqwPPk{!RPPP!XP!ePP!hXSOR^bQWQRf_TVQ_Q`WRg`QcZRicQTOQZRQe^RhbRYQR]R",nodeNames:"⚠ JsonText True False Null Number String } { Object Property PropertyName ] [ Array",maxTerm:25,nodeProps:[[r.openedBy,7,"{",12,"["],[r.closedBy,8,"}",13,"]"]],skippedNodes:[0],repeatNodeCount:2,tokenData:"(p~RaXY!WYZ!W]^!Wpq!Wrs!]|}$i}!O$n!Q!R$w!R![&V![!]&h!}#O&m#P#Q&r#Y#Z&w#b#c'f#h#i'}#o#p(f#q#r(k~!]Oc~~!`Upq!]qr!]rs!rs#O!]#O#P!w#P~!]~!wOe~~!zXrs!]!P!Q!]#O#P!]#U#V!]#Y#Z!]#b#c!]#f#g!]#h#i!]#i#j#g~#jR!Q![#s!c!i#s#T#Z#s~#vR!Q![$P!c!i$P#T#Z$P~$SR!Q![$]!c!i$]#T#Z$]~$`R!Q![!]!c!i!]#T#Z!]~$nOh~~$qQ!Q!R$w!R![&V~$|RT~!O!P%V!g!h%k#X#Y%k~%YP!Q![%]~%bRT~!Q![%]!g!h%k#X#Y%k~%nR{|%w}!O%w!Q![%}~%zP!Q![%}~&SPT~!Q![%}~&[ST~!O!P%V!Q![&V!g!h%k#X#Y%k~&mOg~~&rO]~~&wO[~~&zP#T#U&}~'QP#`#a'T~'WP#g#h'Z~'^P#X#Y'a~'fOR~~'iP#i#j'l~'oP#`#a'r~'uP#`#a'x~'}OS~~(QP#f#g(T~(WP#i#j(Z~(^P#X#Y(a~(fOQ~~(kOW~~(pOV~",tokenizers:[0],topRules:{JsonText:[0,1]},tokenPrec:0}),i=()=>O=>{try{JSON.parse(O.state.doc.toString())}catch(r){if(!(r instanceof SyntaxError))throw r;const e=function(O,r){let e;return(e=O.message.match(/at position (\d+)/))?Math.min(+e[1],r.length):(e=O.message.match(/at line (\d+) column (\d+)/))?Math.min(r.line(+e[1]).from+ +e[2]-1,r.length):0}(r,O.state.doc);return[{from:e,message:r.message,severity:"error",to:e}]}return[]},c=e.define({parser:n.configure({props:[P.add({Object:t({except:/^\s*\}/}),Array:t({except:/^\s*\]/})}),a.add({"Object Array":Q}),s({String:p.string,Number:p.number,"True False":p.bool,PropertyName:p.propertyName,null:p.null,",":p.separator,"[ ]":p.squareBracket,"{ }":p.brace})]}),languageData:{closeBrackets:{brackets:["[","{",'"']},indentOnInput:/^\s*[\}\]]$/}});function R(){return new o(c)}export{R as json,c as jsonLanguage,i as jsonParseLinter}