@decimalturn/toml-patch 0.5.1 → 0.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
//! @decimalturn/toml-patch v0.
|
|
2
|
-
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TOML={})}(this,(function(e){"use strict";var t,n;function r(e){return e.type===t.Document}function l(e){return e.type===t.Table}function o(e){return e.type===t.TableArray}function i(e){return e.type===t.KeyValue}function a(e){return e.type===t.String}function s(e){return e.type===t.DateTime}function c(e){return e.type===t.InlineArray}function u(e){return e.type===t.InlineItem}function f(e){return e.type===t.InlineTable}function m(e){return e.type===t.Comment}function d(e){return r(e)||l(e)||o(e)||f(e)||c(e)}function p(e){return function(e){return e.type===t.TableKey}(e)||function(e){return e.type===t.TableArrayKey}(e)||u(e)}!function(e){e.Document="Document",e.Table="Table",e.TableKey="TableKey",e.TableArray="TableArray",e.TableArrayKey="TableArrayKey",e.KeyValue="KeyValue",e.Key="Key",e.String="String",e.Integer="Integer",e.Float="Float",e.Boolean="Boolean",e.DateTime="DateTime",e.InlineArray="InlineArray",e.InlineItem="InlineItem",e.InlineTable="InlineTable",e.Comment="Comment"}(t||(t={}));class h{constructor(e){this.iterator=e,this.index=-1,this.value=void 0,this.done=!1,this.peeked=null}next(){var e;if(this.done)return y();const t=this.peeked||this.iterator.next();return this.index+=1,this.value=t.value,this.done=null!==(e=t.done)&&void 0!==e&&e,this.peeked=null,t}peek(){return this.done?y():(this.peeked||(this.peeked=this.iterator.next()),this.peeked)}[Symbol.iterator](){return this}}function y(){return{value:void 0,done:!0}}function g(e){return{lines:e.end.line-e.start.line+1,columns:e.end.column-e.start.column}}function v(e,t){const n=Array.isArray(e)?e:w(e),r=n.findIndex((e=>e>=t))+1;return{line:r,column:t-(n[r-2]+1||0)}}function w(e){const t=/\r\n|\n/g,n=[];let r;for(;null!=(r=t.exec(e));)n.push(r.index+r[0].length-1);return n.push(e.length+1),n}function S(e){return{line:e.line,column:e.column}}function T(e){return{start:S(e.start),end:S(e.end)}}class b extends Error{constructor(e,t,n){let r=`Error parsing TOML (${t.line}, ${t.column+1}):\n`;if(e){const n=function(e,t){const n=w(e),r=n[t.line-2]||0,l=n[t.line-1]||e.length;return e.substr(r,l-r)}(e,t),l=`${function(e,t=" "){return t.repeat(e)}(t.column)}^`;n&&(r+=`${n}\n${l}\n`)}r+=n,super(r),this.line=t.line,this.column=t.column}}!function(e){e.Bracket="Bracket",e.Curly="Curly",e.Equal="Equal",e.Comma="Comma",e.Dot="Dot",e.Comment="Comment",e.Literal="Literal"}(n||(n={}));const $=/\s/,k=/(\r\n|\n)/,I='"',E="'",x=/[\w,\d,\",\',\+,\-,\_]/;function*A(e){const t=new h(e[Symbol.iterator]());t.next();const r=function(e){const t=w(e);return(e,n)=>({start:v(t,e),end:v(t,n)})}(e);for(;!t.done;){if($.test(t.value));else if("["===t.value||"]"===t.value)yield C(t,r,n.Bracket);else if("{"===t.value||"}"===t.value)yield C(t,r,n.Curly);else if("="===t.value)yield C(t,r,n.Equal);else if(","===t.value)yield C(t,r,n.Comma);else if("."===t.value)yield C(t,r,n.Dot);else if("#"===t.value)yield O(t,r);else{const n=F(e,t.index,E)||F(e,t.index,I);n?yield D(t,r,n,e):yield _(t,r,e)}t.next()}}function C(e,t,n){return{type:n,raw:e.value,loc:t(e.index,e.index+1)}}function O(e,t){const r=e.index;let l=e.value;for(;!e.peek().done&&!k.test(e.peek().value);)e.next(),l+=e.value;return{type:n.Comment,raw:l,loc:t(r,e.index+1)}}function D(e,t,r,l){const o=e.index;let i=r+r+r,a=i;for(e.next(),e.next(),e.next();!e.done&&(!F(l,e.index,r)||L(l,e.index,r));)a+=e.value,e.next();if(e.done)throw new b(l,v(l,e.index),`Expected close of multiline string with ${i}, reached end of file`);return a+=i,e.next(),e.next(),{type:n.Literal,raw:a,loc:t(o,e.index+1)}}function _(e,t,r){if(!x.test(e.value))throw new b(r,v(r,e.index),`Unsupported character "${e.value}". Expected ALPHANUMERIC, ", ', +, -, or _`);const l=e.index;let o=e.value,i=e.value===I,a=e.value===E;const s=e=>{if(e.peek().done)return!0;const t=e.peek().value;return!(i||a)&&($.test(t)||","===t||"."===t||"]"===t||"}"===t||"="===t||"#"===t)};for(;!e.done&&!s(e)&&(e.next(),e.value===I&&(i=!i),e.value!==E||i||(a=!a),o+=e.value,!e.peek().done);){let t=e.peek().value;i&&"\\"===e.value&&(t===I?(o+=I,e.next()):"\\"===t&&(o+="\\",e.next()))}if(i||a)throw new b(r,v(r,l),`Expected close of string with ${i?I:E}`);return{type:n.Literal,raw:o,loc:t(l,e.index+1)}}function F(e,t,n){if(!n)return!1;if(!(e[t]===n&&e[t+1]===n&&e[t+2]===n))return!1;const r=e.slice(0,t).match(/\\+$/);if(!r)return n;return!(r[0].length%2!=0)&&n}function L(e,t,n){return!!n&&(e[t]===n&&e[t+1]===n&&e[t+2]===n&&e[t+3]===n)}function U(e){return e[e.length-1]}function M(){return Object.create(null)}function j(e){return"number"==typeof e&&e%1==0&&isFinite(e)&&!Object.is(e,-0)}function K(e){return"[object Date]"===Object.prototype.toString.call(e)}function N(e){return e&&"object"==typeof e&&!K(e)&&!Array.isArray(e)}function B(e,t){return Object.prototype.hasOwnProperty.call(e,t)}function Z(e,...t){return t.reduce(((e,t)=>t(e)),e)}function W(e){if(N(e)){return`{${Object.keys(e).sort().map((t=>`${JSON.stringify(t)}:${W(e[t])}`)).join(",")}}`}return Array.isArray(e)?`[${e.map(W).join(",")}]`:JSON.stringify(e)}function P(e,t){const n=e.length,r=t.length;e.length=n+r;for(let l=0;l<r;l++)e[n+l]=t[l]}function z(e){return e.startsWith('"""')||e.startsWith("'''")}const V=/\r\n/g,H=/\n/g,R=/^(\r\n|\n)/,q=/(?<!\\)(?:\\\\)*(\\\s*[\n\r\n]\s*)/g;function Y(e){return e.startsWith("'''")?Z(Q(e,3),X):e.startsWith(E)?Q(e,1):e.startsWith('"""')?Z(Q(e,3),X,te,ee,J,G):e.startsWith(I)?Z(Q(e,1),G):e}function J(e){let t="",n=0;for(let r=0;r<e.length;r++){const l=e[r];t+='"'===l&&n%2==0?'\\"':l,"\\"===l?n++:n=0}return t}function G(e){const t=e.replace(/\\U[a-fA-F0-9]{8}/g,(e=>{const t=parseInt(e.replace("\\U",""),16),n=String.fromCodePoint(t);return Q(JSON.stringify(n),1)})),n=t.replace(/\t/g,"\\t");return JSON.parse(`"${n}"`)}function Q(e,t){return e.slice(t,e.length-t)}function X(e){return e.replace(R,"")}function ee(e){return e.replace(V,"\\r\\n").replace(H,"\\n")}function te(e){return e.replace(q,((e,t)=>e.replace(t,"")))}class ne{static createDateWithOriginalFormat(e,t){if(ne.IS_DATE_ONLY.test(t)){if(0!==e.getUTCHours()||0!==e.getUTCMinutes()||0!==e.getUTCSeconds()||0!==e.getUTCMilliseconds()){if(e instanceof ie)return e;let t=e.toISOString().replace("Z","");return t=t.replace(/\.000$/,""),new oe(t,!1)}const t=e.toISOString().split("T")[0];return new re(t)}if(ne.IS_TIME_ONLY.test(t)){if(e instanceof le)return e;{const n=t.match(/\.(\d+)\s*$/),r=e.toISOString();if(r&&r.includes("T")){let l=r.split("T")[1].split("Z")[0];if(n){const t=n[1].length,[r,o,i]=l.split(":"),[a]=i.split(".");l=`${r}:${o}:${a}.${String(e.getUTCMilliseconds()).padStart(3,"0").slice(0,t)}`}return new le(l,t)}{const r=String(e.getUTCHours()).padStart(2,"0"),l=String(e.getUTCMinutes()).padStart(2,"0"),o=String(e.getUTCSeconds()).padStart(2,"0"),i=e.getUTCMilliseconds();let a;if(n){const e=n[1].length;a=`${r}:${l}:${o}.${String(i).padStart(3,"0").slice(0,e)}`}else if(i>0){a=`${r}:${l}:${o}.${String(i).padStart(3,"0").replace(/0+$/,"")}`}else a=`${r}:${l}:${o}`;return new le(a,t)}}}if(ne.IS_LOCAL_DATETIME_T.test(t)){const n=t.match(/\.(\d+)\s*$/);let r=e.toISOString().replace("Z","");if(n){const t=n[1].length,[l,o]=r.split("T"),[i,a,s]=o.split(":"),[c]=s.split(".");r=`${l}T${i}:${a}:${c}.${String(e.getUTCMilliseconds()).padStart(3,"0").slice(0,t)}`}return new oe(r,!1,t)}if(ne.IS_LOCAL_DATETIME_SPACE.test(t)){const n=t.match(/\.(\d+)\s*$/);let r=e.toISOString().replace("Z","").replace("T"," ");if(n){const t=n[1].length,[l,o]=r.split(" "),[i,a,s]=o.split(":"),[c]=s.split(".");r=`${l} ${i}:${a}:${c}.${String(e.getUTCMilliseconds()).padStart(3,"0").slice(0,t)}`}return new oe(r,!0,t)}if(ne.IS_OFFSET_DATETIME_T.test(t)||ne.IS_OFFSET_DATETIME_SPACE.test(t)){const n=t.match(/([+-]\d{2}:\d{2}|[Zz])$/),r=n?"z"===n[1]?"Z":n[1]:"Z",l=ne.IS_OFFSET_DATETIME_SPACE.test(t),o=t.match(/\.(\d+)(?:[Zz]|[+-]\d{2}:\d{2})\s*$/),i=e.getTime();let a=0;if("Z"!==r){const e="+"===r[0]?1:-1,[t,n]=r.slice(1).split(":");a=e*(60*parseInt(t)+parseInt(n))}const s=new Date(i+6e4*a),c=s.getUTCFullYear(),u=String(s.getUTCMonth()+1).padStart(2,"0"),f=String(s.getUTCDate()).padStart(2,"0"),m=String(s.getUTCHours()).padStart(2,"0"),d=String(s.getUTCMinutes()).padStart(2,"0"),p=String(s.getUTCSeconds()).padStart(2,"0"),h=s.getUTCMilliseconds(),y=l?" ":"T";let g=`${m}:${d}:${p}`;if(o){const e=o[1].length;g+=`.${String(h).padStart(3,"0").slice(0,e)}`}else if(h>0){g+=`.${String(h).padStart(3,"0").replace(/0+$/,"")}`}return new ie(`${c}-${u}-${f}${y}${g}${r}`,l)}return e}}ne.IS_DATE_ONLY=/^\d{4}-\d{2}-\d{2}$/,ne.IS_TIME_ONLY=/^\d{2}:\d{2}:\d{2}(?:\.\d+)?$/,ne.IS_LOCAL_DATETIME_T=/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:\.\d+)?$/,ne.IS_LOCAL_DATETIME_SPACE=/^\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}(?:\.\d+)?$/,ne.IS_OFFSET_DATETIME_T=/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:\.\d+)?(?:[Zz]|[+-]\d{2}:\d{2})$/,ne.IS_OFFSET_DATETIME_SPACE=/^\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}(?:\.\d+)?(?:[Zz]|[+-]\d{2}:\d{2})$/,ne.IS_FULL_DATE=/(\d{4})-(\d{2})-(\d{2})/,ne.IS_FULL_TIME=/(\d{2}):(\d{2}):(\d{2})/;class re extends Date{constructor(e){super(e)}toISOString(){return`${this.getUTCFullYear()}-${String(this.getUTCMonth()+1).padStart(2,"0")}-${String(this.getUTCDate()).padStart(2,"0")}`}}class le extends Date{constructor(e,t){super(`1970-01-01T${e}Z`),this.originalFormat=t}toISOString(){const e=String(this.getUTCHours()).padStart(2,"0"),t=String(this.getUTCMinutes()).padStart(2,"0"),n=String(this.getUTCSeconds()).padStart(2,"0"),r=this.getUTCMilliseconds();if(this.originalFormat&&this.originalFormat.includes(".")){const l=this.originalFormat.match(/\.(\d+)\s*$/),o=l?l[1].length:3;return`${e}:${t}:${n}.${String(r).padStart(3,"0").slice(0,o)}`}if(r>0){return`${e}:${t}:${n}.${String(r).padStart(3,"0").replace(/0+$/,"")}`}return`${e}:${t}:${n}`}}class oe extends Date{constructor(e,t=!1,n){super(e.replace(" ","T")+"Z"),this.useSpaceSeparator=!1,this.useSpaceSeparator=t,this.originalFormat=n||e}toISOString(){const e=this.getUTCFullYear(),t=String(this.getUTCMonth()+1).padStart(2,"0"),n=String(this.getUTCDate()).padStart(2,"0"),r=String(this.getUTCHours()).padStart(2,"0"),l=String(this.getUTCMinutes()).padStart(2,"0"),o=String(this.getUTCSeconds()).padStart(2,"0"),i=this.getUTCMilliseconds(),a=`${e}-${t}-${n}`,s=this.useSpaceSeparator?" ":"T";if(this.originalFormat&&this.originalFormat.includes(".")){const e=this.originalFormat.match(/\.(\d+)\s*$/),t=e?e[1].length:3;return`${a}${s}${r}:${l}:${o}.${String(i).padStart(3,"0").slice(0,t)}`}if(i>0){return`${a}${s}${r}:${l}:${o}.${String(i).padStart(3,"0").replace(/0+$/,"")}`}return`${a}${s}${r}:${l}:${o}`}}class ie extends Date{constructor(e,t=!1){super(e.replace(" ","T")),this.useSpaceSeparator=!1,this.useSpaceSeparator=t,this.originalFormat=e;const n=e.match(/([+-]\d{2}:\d{2}|[Zz])$/);n&&(this.originalOffset="z"===n[1]?"Z":n[1])}toISOString(){if(this.originalOffset){const e=this.getTime();let t=0;if("Z"!==this.originalOffset){const e="+"===this.originalOffset[0]?1:-1,[n,r]=this.originalOffset.slice(1).split(":");t=e*(60*parseInt(n)+parseInt(r))}const n=new Date(e+6e4*t),r=n.getUTCFullYear(),l=String(n.getUTCMonth()+1).padStart(2,"0"),o=String(n.getUTCDate()).padStart(2,"0"),i=String(n.getUTCHours()).padStart(2,"0"),a=String(n.getUTCMinutes()).padStart(2,"0"),s=String(n.getUTCSeconds()).padStart(2,"0"),c=n.getUTCMilliseconds(),u=`${r}-${l}-${o}`,f=this.useSpaceSeparator?" ":"T";if(this.originalFormat&&this.originalFormat.includes(".")){const e=this.originalFormat.match(/\.(\d+)(?:[Zz]|[+-]\d{2}:\d{2})\s*$/),t=e?e[1].length:3;return`${u}${f}${i}:${a}:${s}.${String(c).padStart(3,"0").slice(0,t)}${this.originalOffset}`}if(c>0){return`${u}${f}${i}:${a}:${s}.${String(c).padStart(3,"0").replace(/0+$/,"")}${this.originalOffset}`}return`${u}${f}${i}:${a}:${s}${this.originalOffset}`}const e=super.toISOString();return this.useSpaceSeparator?e.replace("T"," "):e}}const ae=ne,se="true",ce=/e/i,ue=/\_/g,fe=/inf/,me=/nan/,de=/^0x/,pe=/^0o/,he=/^0b/;function*ye(e){const t=A(e),n=new h(t);for(;!n.next().done;)yield*ge(n,e)}function*ge(e,r){if(e.value.type===n.Comment)yield we(e);else if(e.value.type===n.Bracket)yield function(e,r){const l=e.peek().done||e.peek().value.type!==n.Bracket?t.Table:t.TableArray,o=l===t.Table;if(o&&"["!==e.value.raw)throw new b(r,e.value.loc.start,`Expected table opening "[", found ${e.value.raw}`);if(!o&&("["!==e.value.raw||"["!==e.peek().value.raw))throw new b(r,e.value.loc.start,`Expected array of tables opening "[[", found ${e.value.raw+e.peek().value.raw}`);const i=o?{type:t.TableKey,loc:e.value.loc}:{type:t.TableArrayKey,loc:e.value.loc};e.next(),l===t.TableArray&&e.next();if(e.done)throw new b(r,i.loc.start,"Expected table key, reached end of file");i.item={type:t.Key,loc:T(e.value.loc),raw:e.value.raw,value:[Y(e.value.raw)]};for(;!e.peek().done&&e.peek().value.type===n.Dot;){e.next();const t=e.value;e.next();const n=" ".repeat(t.loc.start.column-i.item.loc.end.column),r=" ".repeat(e.value.loc.start.column-t.loc.end.column);i.item.loc.end=e.value.loc.end,i.item.raw+=`${n}.${r}${e.value.raw}`,i.item.value.push(Y(e.value.raw))}if(e.next(),o&&(e.done||"]"!==e.value.raw))throw new b(r,e.done?i.item.loc.end:e.value.loc.start,`Expected table closing "]", found ${e.done?"end of file":e.value.raw}`);if(!o&&(e.done||e.peek().done||"]"!==e.value.raw||"]"!==e.peek().value.raw))throw new b(r,e.done||e.peek().done?i.item.loc.end:e.value.loc.start,`Expected array of tables closing "]]", found ${e.done||e.peek().done?"end of file":e.value.raw+e.peek().value.raw}`);o||e.next();i.loc.end=e.value.loc.end;let a=[];for(;!e.peek().done&&e.peek().value.type!==n.Bracket;)e.next(),P(a,[...ge(e,r)]);return{type:o?t.Table:t.TableArray,loc:{start:S(i.loc.start),end:a.length?S(a[a.length-1].loc.end):S(i.loc.end)},key:i,items:a}}(e,r);else{if(e.value.type!==n.Literal)throw new b(r,e.value.loc.start,`Unexpected token "${e.value.type}". Expected Comment, Bracket, or String`);yield*function(e,r){const l={type:t.Key,loc:T(e.value.loc),raw:e.value.raw,value:[Y(e.value.raw)]};for(;!e.peek().done&&e.peek().value.type===n.Dot;)e.next(),e.next(),l.loc.end=e.value.loc.end,l.raw+=`.${e.value.raw}`,l.value.push(Y(e.value.raw));if(e.next(),e.done||e.value.type!==n.Equal)throw new b(r,e.done?l.loc.end:e.value.loc.start,`Expected "=" for key-value, found ${e.done?"end of file":e.value.raw}`);const o=e.value.loc.start.column;if(e.next(),e.done)throw new b(r,l.loc.start,"Expected value for key-value, reached end of file");const[i,...a]=ve(e,r);return[{type:t.KeyValue,key:l,value:i,loc:{start:S(l.loc.start),end:S(i.loc.end)},equals:o},...a]}(e,r)}}function*ve(e,r){if(e.value.type===n.Literal)e.value.raw[0]===I||e.value.raw[0]===E?yield function(e){return{type:t.String,loc:e.value.loc,raw:e.value.raw,value:Y(e.value.raw)}}(e):e.value.raw===se||"false"===e.value.raw?yield function(e){return{type:t.Boolean,loc:e.value.loc,value:e.value.raw===se}}(e):ae.IS_FULL_DATE.test(e.value.raw)||ae.IS_FULL_TIME.test(e.value.raw)?yield function(e,r){let l,o=e.value.loc,i=e.value.raw;if(!e.peek().done&&e.peek().value.type===n.Literal&&ae.IS_FULL_DATE.test(i)&&ae.IS_FULL_TIME.test(e.peek().value.raw)){const t=o.start;e.next(),o={start:t,end:e.value.loc.end},i+=` ${e.value.raw}`}if(!e.peek().done&&e.peek().value.type===n.Dot){const t=o.start;if(e.next(),e.peek().done||e.peek().value.type!==n.Literal)throw new b(r,e.value.loc.end,"Expected fractional value for DateTime");e.next(),o={start:t,end:e.value.loc.end},i+=`.${e.value.raw}`}if(ae.IS_FULL_DATE.test(i))l=ae.IS_DATE_ONLY.test(i)?new re(i):ae.IS_LOCAL_DATETIME_T.test(i)?new oe(i,!1):ae.IS_LOCAL_DATETIME_SPACE.test(i)?new oe(i,!0):ae.IS_OFFSET_DATETIME_T.test(i)?new ie(i,!1):ae.IS_OFFSET_DATETIME_SPACE.test(i)?new ie(i,!0):new Date(i.replace(" ","T"));else if(ae.IS_TIME_ONLY.test(i))l=new le(i,i);else{const[e]=(new Date).toISOString().split("T");l=new Date(`${e}T${i}`)}return{type:t.DateTime,loc:o,raw:i,value:l}}(e,r):!e.peek().done&&e.peek().value.type===n.Dot||fe.test(e.value.raw)||me.test(e.value.raw)||ce.test(e.value.raw)&&!de.test(e.value.raw)?yield function(e,r){let l,o=e.value.loc,i=e.value.raw;if(fe.test(i))l="-inf"===i?-1/0:1/0;else if(me.test(i))l=NaN;else if(e.peek().done||e.peek().value.type!==n.Dot)l=Number(i.replace(ue,""));else{const t=o.start;if(e.next(),e.peek().done||e.peek().value.type!==n.Literal)throw new b(r,e.value.loc.end,"Expected fraction value for Float");e.next(),i+=`.${e.value.raw}`,o={start:t,end:e.value.loc.end},l=Number(i.replace(ue,""))}return{type:t.Float,loc:o,raw:i,value:l}}(e,r):yield function(e){if("-0"===e.value.raw||"+0"===e.value.raw)return{type:t.Integer,loc:e.value.loc,raw:e.value.raw,value:0};let n=10;de.test(e.value.raw)?n=16:pe.test(e.value.raw)?n=8:he.test(e.value.raw)&&(n=2);const r=parseInt(e.value.raw.replace(ue,"").replace(pe,"").replace(he,""),n);return{type:t.Integer,loc:e.value.loc,raw:e.value.raw,value:r}}(e);else if(e.value.type===n.Curly)yield function(e,r){if("{"!==e.value.raw)throw new b(r,e.value.loc.start,`Expected "{" for inline table, found ${e.value.raw}`);const l={type:t.InlineTable,loc:T(e.value.loc),items:[]};e.next();for(;!e.done&&(e.value.type!==n.Curly||"}"!==e.value.raw);){if(e.value.type===n.Comma){const t=l.items[l.items.length-1];if(!t)throw new b(r,e.value.loc.start,'Found "," without previous value in inline table');t.comma=!0,t.loc.end=e.value.loc.start,e.next();continue}const[o]=ge(e,r);if(o.type!==t.KeyValue)throw new b(r,e.value.loc.start,`Only key-values are supported in inline tables, found ${o.type}`);const i={type:t.InlineItem,loc:T(o.loc),item:o,comma:!1};l.items.push(i),e.next()}if(e.done||e.value.type!==n.Curly||"}"!==e.value.raw)throw new b(r,e.done?l.loc.start:e.value.loc.start,`Expected "}", found ${e.done?"end of file":e.value.raw}`);return l.loc.end=e.value.loc.end,l}(e,r);else{if(e.value.type!==n.Bracket)throw new b(r,e.value.loc.start,`Unrecognized token type "${e.value.type}". Expected String, Curly, or Bracket`);{const[l,o]=function(e,r){if("["!==e.value.raw)throw new b(r,e.value.loc.start,`Expected "[" for inline array, found ${e.value.raw}`);const l={type:t.InlineArray,loc:T(e.value.loc),items:[]};let o=[];e.next();for(;!e.done&&(e.value.type!==n.Bracket||"]"!==e.value.raw);){if(e.value.type===n.Comma){const t=l.items[l.items.length-1];if(!t)throw new b(r,e.value.loc.start,'Found "," without previous value for inline array');t.comma=!0,t.loc.end=e.value.loc.start}else if(e.value.type===n.Comment)o.push(we(e));else{const[n,...i]=ve(e,r),a={type:t.InlineItem,loc:T(n.loc),item:n,comma:!1};l.items.push(a),P(o,i)}e.next()}if(e.done||e.value.type!==n.Bracket||"]"!==e.value.raw)throw new b(r,e.done?l.loc.start:e.value.loc.start,`Expected "]", found ${e.done?"end of file":e.value.raw}`);return l.loc.end=e.value.loc.end,[l,o]}(e,r);yield l,yield*o}}}function we(e){return{type:t.Comment,loc:e.value.loc,raw:e.value.raw}}function Se(e,n){var r;function l(e,t){for(const n of e)o(n,t)}function o(e,r){const i=n[e.type];switch(i&&"function"==typeof i&&i(e,r),i&&i.enter&&i.enter(e,r),e.type){case t.Document:l(e.items,e);break;case t.Table:o(e.key,e),l(e.items,e);break;case t.TableKey:o(e.item,e);break;case t.TableArray:o(e.key,e),l(e.items,e);break;case t.TableArrayKey:o(e.item,e);break;case t.KeyValue:o(e.key,e),o(e.value,e);break;case t.InlineArray:l(e.items,e);break;case t.InlineItem:o(e.item,e);break;case t.InlineTable:l(e.items,e);break;case t.Key:case t.String:case t.Integer:case t.Float:case t.Boolean:case t.DateTime:case t.Comment:break;default:throw new Error(`Unrecognized node type "${e.type}"`)}i&&i.exit&&i.exit(e,r)}null!=(r=e)&&"function"==typeof r[Symbol.iterator]?l(e,null):o(e,null)}const Te=ne,be=new WeakMap,$e=e=>(be.has(e)||be.set(e,new WeakMap),be.get(e)),ke=new WeakMap,Ie=e=>(ke.has(e)||ke.set(e,new WeakMap),ke.get(e));function Ee(e,t,n,r){if(a(n)&&a(r)){r=function(e,t){if(!z(t.raw))return t;const n=t.raw.includes("\r\n")?"\r\n":"\n",r=(t.raw.match(new RegExp("\r\n"===n?"\\r\\n":"\\n","g"))||[]).length;return r>0?Object.assign(Object.assign({},t),{loc:{start:e.loc.start,end:{line:e.loc.start.line+r,column:3}}}):Object.assign(Object.assign({},t),{loc:{start:e.loc.start,end:{line:e.loc.start.line,column:e.loc.start.column+t.raw.length}}})}(n,Ze(r.value,n.raw))}if(s(n)&&s(r)){const e=n.raw,t=r.value,l=Te.createDateWithOriginalFormat(t,e);r.value=l,r.raw=l.toISOString();0!==r.raw.length-e.length&&(r.loc.end.column=r.loc.start.column+r.raw.length)}if(d(t)){const e=t.items.indexOf(n);if(e<0)throw new Error("Could not find existing item in parent node for replace");t.items.splice(e,1,r)}else if(i(t)&&f(t.value)&&!f(n)){const e=t.value.items.indexOf(n);if(e<0)throw new Error("Could not find existing item in parent node for replace");t.value.items.splice(e,1,r)}else if(p(t))t.item=r;else{if(!i(t))throw new Error(`Unsupported parent type "${t.type}" for replace`);t.key===n?t.key=r:t.value=r}Fe(r,{lines:n.loc.start.line-r.loc.start.line,columns:n.loc.start.column-r.loc.start.column});const l=g(n.loc),o=g(r.loc);Le({lines:o.lines-l.lines,columns:o.columns-l.columns},Ie(e),r,n)}function xe(e,t,n,a,s){if(!d(t))throw new Error(`Unsupported parent type "${t.type}" for insert`);let p,h;a=null!=a&&"number"==typeof a?a:t.items.length,c(t)||f(t)?({shift:p,offset:h}=function(e,t,n){if(!u(t))throw new Error(`Incompatible child type "${t.type}"`);const r=null!=n?e.items[n-1]:U(e.items),l=null==n||n===e.items.length;e.items.splice(n,0,t);const o=!!r,i=!l;o&&(r.comma=!0);i&&(t.comma=!0);const a=c(e)&&function(e){if(!e.items.length)return!1;return g(e.loc).lines>e.items.length}(e),s=l&&!0===t.comma;return Ae(e,t,n,{useNewLine:a,hasCommaHandling:!0,isLastElement:l,hasSeparatingCommaBefore:o,hasSeparatingCommaAfter:i,hasTrailingComma:s})}(t,n,a)):s&&r(t)?({shift:p,offset:h}=function(e,t,n){const r=Ae(e,t,n,{useNewLine:!1,hasCommaHandling:!1});return e.items.splice(n,0,t),r}(t,n,a)):({shift:p,offset:h}=function(e,t,n){if(a=t,!(i(a)||l(a)||o(a)||m(a)))throw new Error(`Incompatible child type "${t.type}"`);var a;const s=e.items[n-1],c=r(e)&&!e.items.length;e.items.splice(n,0,t);const u=s?{line:s.loc.end.line,column:m(s)?e.loc.start.column:s.loc.start.column}:S(e.loc.start),f=l(t)||o(t);let d=0;c||(d=f?2:1);u.line+=d;const p={lines:u.line-t.loc.start.line,columns:u.column-t.loc.start.column},h=g(t.loc),y={lines:h.lines+(d-1),columns:h.columns};return{shift:p,offset:y}}(t,n,a)),Fe(n,p);const y=t.items[a-1],v=y&&Ie(e).get(y);v&&(h.lines+=v.lines,h.columns+=v.columns,Ie(e).delete(y));Ie(e).set(n,h)}function Ae(e,t,n,r={}){const{useNewLine:l=!1,skipCommaSpace:o=2,skipBracketSpace:i=1,hasCommaHandling:a=!1,isLastElement:s=!1,hasSeparatingCommaBefore:c=!1,hasSeparatingCommaAfter:u=!1,hasTrailingComma:f=!1}=r,d=n>0?e.items[n-1]:void 0,p=d?{line:d.loc.end.line,column:l?m(d)?e.loc.start.column:d.loc.start.column:d.loc.end.column}:S(e.loc.start);let h=0;if(l)h=1;else{const e=c||!a&&!!d;e&&a?p.column+=o:(e||a&&!d)&&(p.column+=i)}p.line+=h;const y={lines:p.line-t.loc.start.line,columns:p.column-t.loc.start.column},v=g(t.loc);if(!a){return{shift:y,offset:{lines:v.lines+(h-1),columns:v.columns}}}let w=0;c&&f&&!u&&s&&(w=-1);return{shift:y,offset:{lines:v.lines+(h-1),columns:v.columns+(c||u?o:0)+(f?1+w:0)}}}function Ce(e,t,n){if(!d(t))throw new Error(`Unsupported parent type "${t.type}" for remove`);let r=t.items.indexOf(n);if(r<0){if(r=t.items.findIndex((e=>p(e)&&e.item===n)),r<0)throw new Error("Could not find node in parent for removal");n=t.items[r]}const l=t.items[r-1];let o=t.items[r+1];t.items.splice(r,1);let i=g(n.loc);o&&m(o)&&o.loc.start.line===n.loc.end.line&&(i=g({start:n.loc.start,end:o.loc.end}),o=t.items[r+1],t.items.splice(r,1));const a=l&&u(l)||o&&u(o),s=l&&l.loc.end.line===n.loc.start.line,c=o&&o.loc.start.line===n.loc.end.line,f=a&&(s||c),h={lines:-(i.lines-(f?1:0)),columns:-i.columns};if(void 0===l&&void 0===o&&(h.lines=0,h.columns=0),a&&s&&(h.columns-=2),a&&!l&&o&&(h.columns-=2),a&&l&&!o){const e=n.comma;l.comma=!!e}const y=l||t,v=l?Ie(e):$e(e),w=Ie(e),S=v.get(y);S&&(h.lines+=S.lines,h.columns+=S.columns);const T=w.get(n);T&&(h.lines+=T.lines,h.columns+=T.columns),v.set(y,h)}function Oe(e,t,n=!0){if(!n)return;if(!t.items.length)return;Le({lines:0,columns:1},$e(e),t);const r=U(t.items);Le({lines:0,columns:1},Ie(e),r)}function De(e,t,n=!1){if(!n)return;if(!t.items.length)return;const r=U(t.items);r.comma=!0,Le({lines:0,columns:1},Ie(e),r)}function _e(e){const n=$e(e),r=Ie(e),l={lines:0,columns:{}};function o(e){const t=l.lines;e.loc.start.line+=t;const r=l.columns[e.loc.start.line]||0;e.loc.start.column+=r;const o=n.get(e);o&&(l.lines+=o.lines,l.columns[e.loc.start.line]=(l.columns[e.loc.start.line]||0)+o.columns)}function i(e){const t=l.lines;e.loc.end.line+=t;const n=l.columns[e.loc.end.line]||0;e.loc.end.column+=n;const o=r.get(e);o&&(l.lines+=o.lines,l.columns[e.loc.end.line]=(l.columns[e.loc.end.line]||0)+o.columns)}const a={enter:o,exit:i};Se(e,{[t.Document]:a,[t.Table]:a,[t.TableArray]:a,[t.InlineTable]:a,[t.InlineArray]:a,[t.InlineItem]:a,[t.TableKey]:a,[t.TableArrayKey]:a,[t.KeyValue]:{enter(e){const t=e.loc.start.line+l.lines,n=r.get(e.key);e.equals+=(l.columns[t]||0)+(n?n.columns:0),o(e)},exit:i},[t.Key]:a,[t.String]:a,[t.Integer]:a,[t.Float]:a,[t.Boolean]:a,[t.DateTime]:a,[t.Comment]:a}),be.delete(e),ke.delete(e)}function Fe(e,n,r={}){const{first_line_only:l=!1}=r,o=e.loc.start.line,{lines:i,columns:a}=n,s=e=>{l&&e.loc.start.line!==o||(e.loc.start.column+=a,e.loc.end.column+=a),e.loc.start.line+=i,e.loc.end.line+=i};return Se(e,{[t.Table]:s,[t.TableKey]:s,[t.TableArray]:s,[t.TableArrayKey]:s,[t.KeyValue](e){s(e),e.equals+=a},[t.Key]:s,[t.String]:s,[t.Integer]:s,[t.Float]:s,[t.Boolean]:s,[t.DateTime]:s,[t.InlineArray]:s,[t.InlineItem]:s,[t.InlineTable]:s,[t.Comment]:s}),e}function Le(e,t,n,r){const l=t.get(r||n);l&&(e.lines+=l.lines,e.columns+=l.columns),t.set(n,e)}function Ue(){return{type:t.Document,loc:{start:{line:1,column:0},end:{line:1,column:0}},items:[]}}function Me(e){const n=function(e){const n=Be(e);return{type:t.TableKey,loc:{start:{line:1,column:0},end:{line:1,column:n.length+2}},item:{type:t.Key,loc:{start:{line:1,column:1},end:{line:1,column:n.length+1}},value:e,raw:n}}}(e);return{type:t.Table,loc:T(n.loc),key:n,items:[]}}function je(e){const n=function(e){const n=Be(e);return{type:t.TableArrayKey,loc:{start:{line:1,column:0},end:{line:1,column:n.length+4}},item:{type:t.Key,loc:{start:{line:1,column:2},end:{line:1,column:n.length+2}},value:e,raw:n}}}(e);return{type:t.TableArray,loc:T(n.loc),key:n,items:[]}}function Ke(e,n){const r=function(e){const n=Be(e);return{type:t.Key,loc:{start:{line:1,column:0},end:{line:1,column:n.length}},raw:n,value:e}}(e),{column:l}=r.loc.end,o=l+1;return Fe(n,{lines:0,columns:l+3-n.loc.start.column},{first_line_only:!0}),{type:t.KeyValue,loc:{start:S(r.loc.start),end:S(n.loc.end)},key:r,equals:o,value:n}}const Ne=/^[\w-]+$/;function Be(e){return e.map((e=>Ne.test(e)?e:JSON.stringify(e))).join(".")}function Ze(e,n){let r;if(n&&z(n)){let t=n.startsWith("'''");t&&e.includes("'''")&&(t=!1);const l=t?"'''":'"""',o=n.includes("\r\n")?"\r\n":"\n",i=n.startsWith(`${l}${o}`)||(n.startsWith("'''\n")||n.startsWith("'''\r\n"))&&!t;let a;a=t?e:e.replace(/\\/g,"\\\\").replace(/\x08/g,"\\b").replace(/\f/g,"\\f").replace(/\t/g,"\\t").replace(/[\x00-\x07\x0B\x0E-\x1F\x7F]/g,(e=>"\\u"+e.charCodeAt(0).toString(16).padStart(4,"0").toUpperCase())).replace(/"""/g,'""\\"'),r=i?`${l}${o}${a}${l}`:`${l}${a}${l}`}else r=JSON.stringify(e);return{type:t.String,loc:{start:{line:1,column:0},end:{line:1,column:r.length}},raw:r,value:e}}function We(e){return{type:t.InlineItem,loc:T(e.loc),item:e,comma:!1}}const Pe=!1,ze=!0,Ve=!1;function He(e,t){if(!e||"object"!=typeof e)return null;if(("InlineArray"===e.type||"InlineTable"===e.type)&&e.loc){const n=function(e,t){var n;if(!e||!e.start||!e.end)return null;const r=t.split(/\r?\n/),l=e.start.line-1,o=e.end.line-1,i=e.start.column,a=e.end.column;let s="";if(l===o)s=(null===(n=r[l])||void 0===n?void 0:n.substring(i,a+1))||"";else{r[l]&&(s+=r[l].substring(i));for(let e=l+1;e<o;e++)s+="\n"+(r[e]||"");r[o]&&(s+="\n"+r[o].substring(0,a+1))}const c=s.match(/^\[(\s*)/),u=s.match(/^\{(\s*)/);if(c)return c[1].length>0;if(u)return u[1].length>0;return null}(e.loc,t);if(null!==n)return n}if(e.items&&Array.isArray(e.items))for(const n of e.items){const e=He(n,t);if(null!==e)return e;if(n.item){const e=He(n.item,t);if(null!==e)return e}}for(const n of["value","key","item"])if(e[n]){const r=He(e[n],t);if(null!==r)return r}return null}function Re(e){if(!e||"object"!=typeof e)return null;if("InlineArray"===e.type&&e.items&&Array.isArray(e.items))return qe(e.items);if("InlineTable"===e.type&&e.items&&Array.isArray(e.items))return qe(e.items);if("KeyValue"===e.type&&e.value)return Re(e.value);if(e.items&&Array.isArray(e.items))for(const t of e.items){const e=Re(t);if(null!==e)return e}return null}function qe(e){if(0===e.length)return null;const t=e[e.length-1];return!(!t||"object"!=typeof t||!("comma"in t))&&!0===t.comma}function Ye(e){if(!c(e))return!1;if(0===e.items.length)return!1;return!0===e.items[e.items.length-1].comma}function Je(e){if(!f(e))return!1;if(0===e.items.length)return!1;return!0===e.items[e.items.length-1].comma}function Ge(e){const t=e.indexOf("\n");return t>0&&"\r"===e.substring(t-1,t)?"\r\n":"\n"}function Qe(e,t){var n,r,l,o,i;if(e){if(e instanceof Xe)return e;{const a=function(e){if(!e||"object"!=typeof e)return{};const t=new Set(["newLine","trailingNewline","trailingComma","bracketSpacing","inlineTableStart","truncateZeroTimeInDates"]),n={},r=[],l=[];for(const o in e)if(Object.prototype.hasOwnProperty.call(e,o))if(t.has(o)){const t=e[o];switch(o){case"newLine":"string"==typeof t?n.newLine=t:l.push(`${o} (expected string, got ${typeof t})`);break;case"trailingNewline":"boolean"==typeof t||"number"==typeof t?n.trailingNewline=t:l.push(`${o} (expected boolean or number, got ${typeof t})`);break;case"trailingComma":case"bracketSpacing":case"truncateZeroTimeInDates":"boolean"==typeof t?n[o]=t:l.push(`${o} (expected boolean, got ${typeof t})`);break;case"inlineTableStart":"number"==typeof t&&Number.isInteger(t)&&t>=0||null==t?n.inlineTableStart=t:l.push(`${o} (expected non-negative integer or undefined, got ${typeof t})`)}}else r.push(o);if(r.length>0&&console.warn(`toml-patch: Ignoring unsupported format properties: ${r.join(", ")}. Supported properties are: ${Array.from(t).join(", ")}`),l.length>0)throw new TypeError(`Invalid types for format properties: ${l.join(", ")}`);return n}(e);return new Xe(null!==(n=a.newLine)&&void 0!==n?n:t.newLine,null!==(r=a.trailingNewline)&&void 0!==r?r:t.trailingNewline,null!==(l=a.trailingComma)&&void 0!==l?l:t.trailingComma,null!==(o=a.bracketSpacing)&&void 0!==o?o:t.bracketSpacing,void 0!==a.inlineTableStart?a.inlineTableStart:t.inlineTableStart,null!==(i=a.truncateZeroTimeInDates)&&void 0!==i?i:t.truncateZeroTimeInDates)}}return t}class Xe{constructor(e,t,n,r,l,o){this.newLine=null!=e?e:"\n",this.trailingNewline=null!=t?t:1,this.trailingComma=null!=n?n:Pe,this.bracketSpacing=null!=r?r:ze,this.inlineTableStart=null!=l?l:1,this.truncateZeroTimeInDates=null!=o?o:Ve}static default(){return new Xe("\n",1,Pe,ze,1,Ve)}static autoDetectFormat(e){const t=Xe.default();t.newLine=Ge(e),t.trailingNewline=function(e,t){let n=0,r=e.length;for(;r>=t.length&&e.substring(r-t.length,r)===t;)n++,r-=t.length;return n}(e,t.newLine);try{const n=ye(e),r=Array.from(n);t.trailingComma=function(e){const t=Array.from(e);for(const e of t){const t=Re(e);if(null!==t)return t}return Pe}(r),t.bracketSpacing=function(e,t){const n=Array.from(t);for(const t of n){const n=He(t,e);if(null!==n)return n}return ze}(e,r)}catch(e){t.trailingComma=Pe,t.bracketSpacing=ze}return t.inlineTableStart=1,t.truncateZeroTimeInDates=Ve,t}}function et(e,t){if(0===t.inlineTableStart)return e;return e.items.filter((e=>{if(!i(e))return!1;const n=f(e.value),r=c(e.value)&&e.value.items.length&&f(e.value.items[0].item);if(n||r){const n=rt(e.key.value);return void 0===t.inlineTableStart||n<t.inlineTableStart}return!1})).forEach((t=>{Ce(e,e,t),f(t.value)?xe(e,e,tt(t)):function(e){const t=Ue();for(const n of e.value.items){const r=je(e.key.value);xe(t,t,r);for(const e of n.item.items)xe(t,r,e.item)}return _e(t),t.items}(t).forEach((t=>{xe(e,e,t)}))})),_e(e),e}function tt(e){const t=Me(e.key.value);for(const n of e.value.items)xe(t,t,n.item);return _e(t),t}function nt(e){if(e.items.length>0){const t=e.items[e.items.length-1];e.loc.end.line=t.loc.end.line,e.loc.end.column=t.loc.end.column}else e.loc.end.line=e.key.loc.end.line,e.loc.end.column=e.key.loc.end.column}function rt(e){return Math.max(0,e.length-1)}function lt(e,t,n){var r;for(let l=e.items.length-1;l>=0;l--){const o=e.items[l];if(i(o)&&f(o.value)){const l=[...e.key.item.value,...o.key.value];if(rt(l)<(null!==(r=n.inlineTableStart)&&void 0!==r?r:1)){const r=Me(l);for(const e of o.value.items)xe(r,r,e.item);Ce(e,e,o),nt(e),t.push(r),lt(r,t,n)}}}}function ot(e,t=Xe.default()){e=function(e){const t=[],n=[];for(const r in e)N(e[r])||Array.isArray(e[r])?n.push(r):t.push(r);const r={};for(let n=0;n<t.length;n++){const l=t[n];r[l]=e[l]}for(let t=0;t<n.length;t++){const l=n[t];r[l]=e[l]}return r}(e=st(e));const n=Ue();for(const r of it(e,t))xe(n,n,r);_e(n);const r=Z(n,(e=>et(e,t)),(e=>function(e,t){if(void 0===t.inlineTableStart||0===t.inlineTableStart)return e;const n=[];for(const r of e.items)if(i(r)&&f(r.value)){if(rt(r.key.value)<t.inlineTableStart){const l=tt(r);Ce(e,e,r),xe(e,e,l),lt(l,n,t)}}else"Table"===r.type&<(r,n,t);for(const t of n)xe(e,e,t);return _e(e),e}(e,t)),(e=>function(e){return e}(e)));return function(e){let t=0,n=0;for(const r of e.items)0===n&&r.loc.start.line>1?t=1-r.loc.start.line:r.loc.start.line+t>n+2&&(t+=n+2-(r.loc.start.line+t)),Fe(r,{lines:t,columns:0}),n=r.loc.end.line;return e}(r)}function*it(e,t){for(const n of Object.keys(e))yield Ke([n],at(e[n],t))}function at(e,n){if(null==e)throw new Error('"null" and "undefined" values are not supported');return function(e){return"string"==typeof e}(e)?Ze(e):j(e)?function(e){const n=e.toString();return{type:t.Integer,loc:{start:{line:1,column:0},end:{line:1,column:n.length}},raw:n,value:e}}(e):function(e){return"number"==typeof e&&(!j(e)||!isFinite(e)||Object.is(e,-0))}(e)?function(e){let n;return n=e===1/0?"inf":e===-1/0?"-inf":Number.isNaN(e)?"nan":Object.is(e,-0)?"-0.0":e.toString(),{type:t.Float,loc:{start:{line:1,column:0},end:{line:1,column:n.length}},raw:n,value:e}}(e):function(e){return"boolean"==typeof e}(e)?function(e){return{type:t.Boolean,loc:{start:{line:1,column:0},end:{line:1,column:e?4:5}},value:e}}(e):K(e)?function(e,n){n.truncateZeroTimeInDates&&0===e.getUTCHours()&&0===e.getUTCMinutes()&&0===e.getUTCSeconds()&&0===e.getUTCMilliseconds()&&(e=new re(e.toISOString().split("T")[0]));const r=e.toISOString();return{type:t.DateTime,loc:{start:{line:1,column:0},end:{line:1,column:r.length}},raw:r,value:e}}(e,n):Array.isArray(e)?function(e,n){const r={type:t.InlineArray,loc:{start:{line:1,column:0},end:{line:1,column:2}},items:[]};for(const t of e){xe(r,r,We(at(t,n)))}return Oe(r,r,n.bracketSpacing),De(r,r,n.trailingComma),_e(r),r}(e,n):function(e,n){if(e=st(e),!N(e))return at(e,n);const r={type:t.InlineTable,loc:{start:{line:1,column:0},end:{line:1,column:2}},items:[]},l=[...it(e,n)];for(const e of l){xe(r,r,We(e))}return Oe(r,r,n.bracketSpacing),De(r,r,n.trailingComma),_e(r),r}(e,n)}function st(e){return e?K(e)?e:"function"==typeof e.toJSON?e.toJSON():e:e}const ct=/(\r\n|\n)/g;function ut(e,n){const r=[];return Se(e,{[t.TableKey](e){const{start:t,end:n}=e.loc;ft(r,{start:t,end:{line:t.line,column:t.column+1}},"["),ft(r,{start:{line:n.line,column:n.column-1},end:n},"]")},[t.TableArrayKey](e){const{start:t,end:n}=e.loc;ft(r,{start:t,end:{line:t.line,column:t.column+2}},"[["),ft(r,{start:{line:n.line,column:n.column-2},end:n},"]]")},[t.KeyValue](e){const{start:{line:t}}=e.loc;ft(r,{start:{line:t,column:e.equals},end:{line:t,column:e.equals+1}},"=")},[t.Key](e){ft(r,e.loc,e.raw)},[t.String](e){ft(r,e.loc,e.raw)},[t.Integer](e){ft(r,e.loc,e.raw)},[t.Float](e){ft(r,e.loc,e.raw)},[t.Boolean](e){ft(r,e.loc,e.value.toString())},[t.DateTime](e){ft(r,e.loc,e.raw)},[t.InlineArray](e){const{start:t,end:n}=e.loc;ft(r,{start:t,end:{line:t.line,column:t.column+1}},"["),ft(r,{start:{line:n.line,column:n.column-1},end:n},"]")},[t.InlineTable](e){const{start:t,end:n}=e.loc;ft(r,{start:t,end:{line:t.line,column:t.column+1}},"{"),ft(r,{start:{line:n.line,column:n.column-1},end:n},"}")},[t.InlineItem](e){if(!e.comma)return;const t=e.loc.end;ft(r,{start:t,end:{line:t.line,column:t.column+1}},",")},[t.Comment](e){ft(r,e.loc,e.raw)}}),r.join(n.newLine)+n.newLine.repeat(n.trailingNewline)}function ft(e,t,n){const r=n.split(ct).filter((e=>"\n"!==e&&"\r\n"!==e)),l=t.end.line-t.start.line+1;if(r.length!==l)throw new Error(`Mismatch between location and raw string, expected ${l} lines for "${n}"`);for(let l=t.start.line;l<=t.end.line;l++){const o=mt(e,l);if(void 0===o)throw new Error(`Line ${l} is uninitialized when writing "${n}" at ${t.start.line}:${t.start.column} to ${t.end.line}:${t.end.column}`);const i=l===t.start.line,a=l===t.end.line,s=i?o.substr(0,t.start.column).padEnd(t.start.column," "):"",c=a?o.substr(t.end.column):"";e[l-1]=s+r[l-t.start.line]+c}}function mt(e,t){if(!e[t-1])for(let n=0;n<t;n++)e[n]||(e[n]="");return e[t-1]}function dt(e,n=""){const r=M(),l=new Set,o=new Set,i=new Set;let a=r,s=0;return Se(e,{[t.Table](e){const t=e.key.item.value;try{ht(r,t,e.type,{tables:l,table_arrays:o,defined:i})}catch(t){const r=t;throw new b(n,e.key.loc.start,r.message)}const s=vt(t);l.add(s),i.add(s),a=yt(r,t)},[t.TableArray](e){const t=e.key.item.value;try{ht(r,t,e.type,{tables:l,table_arrays:o,defined:i})}catch(t){const r=t;throw new b(n,e.key.loc.start,r.message)}const s=vt(t);o.add(s),i.add(s),a=function(e,t){const n=gt(e,t.slice(0,-1)),r=U(t);n[r]||(n[r]=[]);const l=M();return n[U(t)].push(l),l}(r,t)},[t.KeyValue]:{enter(e){if(s>0)return;const t=e.key.value;try{ht(a,t,e.type,{tables:l,table_arrays:o,defined:i})}catch(t){const r=t;throw new b(n,e.key.loc.start,r.message)}const r=pt(e.value);(t.length>1?yt(a,t.slice(0,-1)):a)[U(t)]=r,i.add(vt(t))}},[t.InlineTable]:{enter(){s++},exit(){s--}}}),r}function pt(e){switch(e.type){case t.InlineTable:const n=M();return e.items.forEach((({item:e})=>{const t=e.key.value,r=pt(e.value);(t.length>1?yt(n,t.slice(0,-1)):n)[U(t)]=r})),n;case t.InlineArray:return e.items.map((e=>pt(e.item)));case t.String:case t.Integer:case t.Float:case t.Boolean:case t.DateTime:return e.value;default:throw new Error(`Unrecognized value type "${e.type}"`)}}function ht(e,n,r,l){let o=[],i=0;for(const t of n){if(o.push(t),!B(e,t))return;if("object"!=typeof(a=e[t])&&!K(a))throw new Error(`Invalid key, a value has already been defined for ${o.join(".")}`);const r=vt(o);if(Array.isArray(e[t])&&!l.table_arrays.has(r))throw new Error(`Invalid key, cannot add to a static array at ${r}`);const s=i++<n.length-1;e=Array.isArray(e[t])&&s?U(e[t]):e[t]}var a;const s=vt(n);if(e&&r===t.Table&&l.defined.has(s))throw new Error(`Invalid key, a table has already been defined named ${s}`);if(e&&r===t.TableArray&&!l.table_arrays.has(s))throw new Error(`Invalid key, cannot add an array of tables to a table at ${s}`)}function yt(e,t){const n=gt(e,t.slice(0,-1)),r=U(t);return n[r]||(n[r]=M()),n[r]}function gt(e,t){return t.reduce(((e,t)=>(e[t]||(e[t]=M()),Array.isArray(e[t])?U(e[t]):e[t])),e)}function vt(e){return e.join(".")}var wt,St,Tt,bt;function $t(e){return e.type===wt.Remove}function kt(e,t,n=[]){return e===t||(l=t,K(r=e)&&K(l)&&r.toISOString()===l.toISOString())?[]:Array.isArray(e)&&Array.isArray(t)?function(e,t,n=[]){let r=[];const l=e.map(W),o=t.map(W);o.forEach(((i,a)=>{const s=a>=l.length;if(!s&&l[a]===i)return;const c=l.indexOf(i,a+1);if(!s&&c>-1){r.push({type:wt.Move,path:n,from:c,to:a});const e=l.splice(c,1);return void l.splice(a,0,...e)}const u=!o.includes(l[a]);if(!s&&u)return P(r,kt(e[a],t[a],n.concat(a))),void(l[a]=i);r.push({type:wt.Add,path:n.concat(a)}),l.splice(a,0,i)}));for(let e=o.length;e<l.length;e++)r.push({type:wt.Remove,path:n.concat(e)});return r}(e,t,n):N(e)&&N(t)?function(e,t,n=[]){let r=[];const l=Object.keys(e),o=l.map((t=>W(e[t]))),i=Object.keys(t),a=i.map((e=>W(t[e]))),s=(e,t)=>{if(t.indexOf(e)<0)return!1;const n=l[o.indexOf(e)];return!i.includes(n)};return l.forEach(((l,c)=>{const u=n.concat(l);if(i.includes(l))P(r,kt(e[l],t[l],u));else if(s(o[c],a)){const e=i[a.indexOf(o[c])];r.push({type:wt.Rename,path:n,from:l,to:e})}else r.push({type:wt.Remove,path:u})})),i.forEach(((e,t)=>{l.includes(e)||s(a[t],o)||r.push({type:wt.Add,path:n.concat(e)})})),r}(e,t,n):[{type:wt.Edit,path:n}];var r,l}function It(e,t){if(!t.length)return u(e)&&i(e.item)?e.item:e;if(i(e))return It(e.value,t);const n={};let r;if(d(e)&&e.items.some(((e,a)=>{try{let s=[];if(i(e))s=e.key.value;else if(l(e))s=e.key.item.value;else if(o(e)){s=e.key.item.value;const t=W(s);n[t]||(n[t]=0);const r=n[t]++;s=s.concat(r)}else u(e)&&i(e.item)?s=e.item.key.value:u(e)&&(s=[a]);return!(!s.length||!function(e,t){if(e.length!==t.length)return!1;for(let n=0;n<e.length;n++)if(e[n]!==t[n])return!1;return!0}(s,t.slice(0,s.length)))&&(r=It(e,t.slice(s.length)),!0)}catch(e){return!1}})),!r)throw new Error(`Could not find node at path ${t.join(".")}`);return r}function Et(e,t){try{return It(e,t)}catch(e){}}function xt(e,t){let n,r=t;for(;r.length&&!n;)r=r.slice(0,-1),n=Et(e,r);if(!n)throw new Error(`Count not find parent node for path ${t.join(".")}`);return n}function At(e,n,a){const s=[...e],m=dt(s),d={type:t.Document,loc:{start:{line:1,column:0},end:{line:1,column:0}},items:s},h=ot(n,Qe(Object.assign(Object.assign({},a),{inlineTableStart:void 0}),a)),y=function(e){for(let t=0;t<e.length;t++){const n=e[t];if($t(n)){let r=t+1;for(;r<e.length;){const l=e[r];if($t(l)&&l.path[0]===n.path[0]&&l.path[1]>n.path[1]){e.splice(r,1),e.splice(t,0,l),t=0;break}r++}}}return e}(kt(m,n));if(0===y.length)return{tomlString:ut(s,a),document:d};const g=function(e,t,n,a){return n.forEach((n=>{if(function(e){return e.type===wt.Add}(n)){const s=It(t,n.path),m=n.path.slice(0,-1);let d,p=U(n.path),h=o(s);if(j(p)&&!m.some(j)){const t=Et(e,m.concat(0));t&&o(t)&&(h=!0)}if(l(s))d=e;else if(h){d=e;const t=e,n=Et(t,m.concat(p-1)),r=Et(t,m.concat(p));p=r?t.items.indexOf(r):n?t.items.indexOf(n)+1:t.items.length}else d=xt(e,n.path),i(d)&&(d=d.value);if(o(d)||c(d)||r(d)){if(c(d)){const e=Ye(d);u(s)&&(s.comma=e)}if(void 0!==a.inlineTableStart&&a.inlineTableStart>0&&r(d)&&l(s)){const t=Ct(s,e,a);xe(e,d,s,p);for(const n of t)xe(e,e,n,void 0)}else xe(e,d,s,p)}else if(f(d)){const t=Je(d);if(i(s)){const n=We(s);n.comma=t,xe(e,d,n)}else xe(e,d,s)}else if(void 0!==a.inlineTableStart&&a.inlineTableStart>0&&i(s)&&f(s.value)&&l(d)){rt([...d.key.item.value,...s.key.value])<a.inlineTableStart?function(e,t,n,r){const l=t.key.item.value,o=[...l,...e.key.value],a=Me(o);if(f(e.value))for(const t of e.value.items)u(t)&&i(t.item)&&xe(n,a,t.item,void 0);xe(n,n,a,void 0),nt(t);const s=Ct(a,n,r);for(const e of s)xe(n,n,e,void 0)}(s,d,e,a):xe(e,d,s)}else 0===a.inlineTableStart&&i(s)&&f(s.value)&&r(d)?xe(e,d,s,void 0,!0):xe(e,d,s)}else if(function(e){return e.type===wt.Edit}(n)){let r,l=It(e,n.path),o=It(t,n.path);if(i(l)&&i(o)){if(c(l.value)&&c(o.value)){const e=Ye(l.value),t=o.value;if(t.items.length>0){t.items[t.items.length-1].comma=e}}if(f(l.value)&&f(o.value)){const e=Je(l.value),t=o.value;if(t.items.length>0){t.items[t.items.length-1].comma=e}}r=l,l=l.value,o=o.value}else if(i(l)&&u(o)&&i(o.item))r=l,l=l.value,o=o.item.value;else if(u(l)&&i(o))r=l,l=l.item;else if(r=xt(e,n.path),i(r)){const t=n.path.slice(0,-1),l=It(e,t);i(l)&&c(l.value)&&(r=l.value)}Ee(e,r,l,o)}else if($t(n)){let t=xt(e,n.path);i(t)&&(t=t.value);const r=It(e,n.path);Ce(e,t,r)}else if(function(e){return e.type===wt.Move}(n)){let t=It(e,n.path);p(t)&&(t=t.item),i(t)&&(t=t.value);const r=t.items[n.from];Ce(e,t,r),xe(e,t,r,n.to)}else if(function(e){return e.type===wt.Rename}(n)){let r=It(e,n.path.concat(n.from)),l=It(t,n.path.concat(n.to));p(r)&&(r=r.item),p(l)&&(l=l.item),Ee(e,r,r.key,l.key)}})),_e(e),e}(d,h,y,a);return{tomlString:ut(g.items,a),document:g}}function Ct(e,t,n){const r=[],l=(e,r)=>{var o;for(let a=e.items.length-1;a>=0;a--){const s=e.items[a];if(i(s)&&f(s.value)){const c=[...e.key.item.value,...s.key.value];if(rt(c)<(null!==(o=n.inlineTableStart)&&void 0!==o?o:1)&&0!==n.inlineTableStart){const n=Me(c);for(const e of s.value.items)u(e)&&i(e.item)&&xe(t,n,e.item,void 0);e.items.splice(a,1),nt(e),r.push(n),l(n,r)}}}};return l(e,r),r}function Ot(e,t,n,r){if("a"===n&&!r)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof t?e!==t||!r:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===n?r:"a"===n?r.call(e):r?r.value:t.get(e)}function Dt(e,t,n,r,l){if("m"===r)throw new TypeError("Private method is not writable");if("a"===r&&!l)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof t?e!==t||!l:!t.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===r?l.call(e,n):l?l.value=n:t.set(e,n),n}function _t(e,t){return e.line!==t.line?e.line-t.line:e.column-t.column}!function(e){e.Add="Add",e.Edit="Edit",e.Remove="Remove",e.Move="Move",e.Rename="Rename"}(wt||(wt={})),"function"==typeof SuppressedError&&SuppressedError;function Ft(e){if(e instanceof Date)return new Date(e.getTime());if(Array.isArray(e))return e.map(Ft);if(e&&"object"==typeof e){const t={};for(const[n,r]of Object.entries(e))t[n]=Ft(r);return t}return e}St=new WeakMap,Tt=new WeakMap,bt=new WeakMap,e.TomlDocument=class{constructor(e){St.set(this,void 0),Tt.set(this,void 0),bt.set(this,void 0),Dt(this,Tt,e,"f"),Dt(this,St,Array.from(ye(e)),"f"),Dt(this,bt,Xe.autoDetectFormat(e),"f")}get toTomlString(){return Ot(this,Tt,"f")}get toJsObject(){return Ft(dt(Ot(this,St,"f")))}get ast(){return Ot(this,St,"f")}patch(e,t){const n=Qe(t,Ot(this,bt,"f")),{tomlString:r,document:l}=At(Ot(this,St,"f"),e,n);Dt(this,St,l.items,"f"),Dt(this,Tt,r,"f")}update(e){if(e===this.toTomlString)return;const t=this.toTomlString.split(Ot(this,bt,"f").newLine),n=Ge(e),r=e.split(n);let l=0;for(;l<t.length&&l<r.length&&t[l]===r[l];)l++;let o=0;if(l<t.length&&l<r.length){const e=t[l],n=r[l];for(let t=0;t<Math.max(e.length,n.length);t++)if(e[t]!==n[t]){o=t;break}}let i=l+1;const{truncatedAst:a,lastEndPosition:s}=function(e,t,n){const r={line:t,column:n},l=[];let o=null;for(const t of e){const e=_t(t.loc.end,r)<0,n=_t(t.loc.start,r)<0;if(!e){if(n&&!e)break;break}l.push(t),o=t.loc.end}return{truncatedAst:l,lastEndPosition:o}}(Ot(this,St,"f"),i,o),c=s?s.line:1,u=s?s.column+1:0,f=r.slice(c-1);f.length>0&&u>0&&(f[0]=f[0].substring(u));const m=f.join(Ot(this,bt,"f").newLine);Dt(this,St,Array.from(function*(e,t){for(const t of e)yield t;for(const e of ye(t))yield e}(a,m)),"f"),Dt(this,Tt,e,"f"),Dt(this,bt,Xe.autoDetectFormat(e),"f")}overwrite(e){e!==this.toTomlString&&(Dt(this,St,Array.from(ye(e)),"f"),Dt(this,Tt,e,"f"),Dt(this,bt,Xe.autoDetectFormat(e),"f"))}},e.TomlFormat=Xe,e.parse=function(e){return dt(ye(e),e)},e.patch=function(e,t,n){return At(ye(e),t,Qe(n,Xe.autoDetectFormat(e))).tomlString},e.stringify=function(e,t){const n=Qe(t,Xe.default());return ut(ot(e,n).items,n)}}));
|
|
1
|
+
//! @decimalturn/toml-patch v0.6.0 - https://github.com/DecimalTurn/toml-patch - @license: MIT
|
|
2
|
+
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TOML={})}(this,(function(e){"use strict";var t,n;function r(e){return e.type===t.Document}function l(e){return e.type===t.Table}function o(e){return e.type===t.TableArray}function i(e){return e.type===t.KeyValue}function a(e){return e.type===t.String}function s(e){return e.type===t.DateTime}function c(e){return e.type===t.InlineArray}function u(e){return e.type===t.InlineItem}function f(e){return e.type===t.InlineTable}function m(e){return e.type===t.Comment}function d(e){return r(e)||l(e)||o(e)||f(e)||c(e)}function p(e){return function(e){return e.type===t.TableKey}(e)||function(e){return e.type===t.TableArrayKey}(e)||u(e)}!function(e){e.Document="Document",e.Table="Table",e.TableKey="TableKey",e.TableArray="TableArray",e.TableArrayKey="TableArrayKey",e.KeyValue="KeyValue",e.Key="Key",e.String="String",e.Integer="Integer",e.Float="Float",e.Boolean="Boolean",e.DateTime="DateTime",e.InlineArray="InlineArray",e.InlineItem="InlineItem",e.InlineTable="InlineTable",e.Comment="Comment"}(t||(t={}));class h{constructor(e){this.iterator=e,this.index=-1,this.value=void 0,this.done=!1,this.peeked=null}next(){var e;if(this.done)return y();const t=this.peeked||this.iterator.next();return this.index+=1,this.value=t.value,this.done=null!==(e=t.done)&&void 0!==e&&e,this.peeked=null,t}peek(){return this.done?y():(this.peeked||(this.peeked=this.iterator.next()),this.peeked)}[Symbol.iterator](){return this}}function y(){return{value:void 0,done:!0}}function g(e){return{lines:e.end.line-e.start.line+1,columns:e.end.column-e.start.column}}function v(e,t){const n=Array.isArray(e)?e:w(e),r=n.findIndex((e=>e>=t))+1;return{line:r,column:t-(n[r-2]+1||0)}}function w(e){const t=/\r\n|\n/g,n=[];let r;for(;null!=(r=t.exec(e));)n.push(r.index+r[0].length-1);return n.push(e.length+1),n}function S(e){return{line:e.line,column:e.column}}function T(e){return{start:S(e.start),end:S(e.end)}}class b extends Error{constructor(e,t,n){let r=`Error parsing TOML (${t.line}, ${t.column+1}):\n`;if(e){const n=function(e,t){const n=w(e),r=n[t.line-2]||0,l=n[t.line-1]||e.length;return e.substring(r,l)}(e,t),l=`${function(e,t=" "){return t.repeat(e)}(t.column)}^`;n&&(r+=`${n}\n${l}\n`)}r+=n,super(r),this.line=t.line,this.column=t.column}}!function(e){e.Bracket="Bracket",e.Curly="Curly",e.Equal="Equal",e.Comma="Comma",e.Dot="Dot",e.Comment="Comment",e.Literal="Literal"}(n||(n={}));const $=/\s/,I=/(\r\n|\n)/,k='"',E="'",x=/[\w,\d,\",\',\+,\-,\_]/;function*A(e){const t=new h(e[Symbol.iterator]());t.next();const r=function(e){const t=w(e);return(e,n)=>({start:v(t,e),end:v(t,n)})}(e);for(;!t.done;){if($.test(t.value));else if("["===t.value||"]"===t.value)yield C(t,r,n.Bracket);else if("{"===t.value||"}"===t.value)yield C(t,r,n.Curly);else if("="===t.value)yield C(t,r,n.Equal);else if(","===t.value)yield C(t,r,n.Comma);else if("."===t.value)yield C(t,r,n.Dot);else if("#"===t.value)yield O(t,r);else{const n=F(e,t.index,E)||F(e,t.index,k);n?yield D(t,r,n,e):yield _(t,r,e)}t.next()}}function C(e,t,n){return{type:n,raw:e.value,loc:t(e.index,e.index+1)}}function O(e,t){const r=e.index;let l=e.value;for(;!e.peek().done&&!I.test(e.peek().value);)e.next(),l+=e.value;return{type:n.Comment,raw:l,loc:t(r,e.index+1)}}function D(e,t,r,l){const o=e.index;let i=r+r+r,a=i;for(e.next(),e.next(),e.next();!e.done&&(!F(l,e.index,r)||L(l,e.index,r));)a+=e.value,e.next();if(e.done)throw new b(l,v(l,e.index),`Expected close of multiline string with ${i}, reached end of file`);return a+=i,e.next(),e.next(),{type:n.Literal,raw:a,loc:t(o,e.index+1)}}function _(e,t,r){if(!x.test(e.value))throw new b(r,v(r,e.index),`Unsupported character "${e.value}". Expected ALPHANUMERIC, ", ', +, -, or _`);const l=e.index;let o=e.value,i=e.value===k,a=e.value===E;const s=e=>{if(e.peek().done)return!0;const t=e.peek().value;return!(i||a)&&($.test(t)||","===t||"."===t||"]"===t||"}"===t||"="===t||"#"===t)};for(;!e.done&&!s(e)&&(e.next(),e.value===k&&(i=!i),e.value!==E||i||(a=!a),o+=e.value,!e.peek().done);){let t=e.peek().value;i&&"\\"===e.value&&(t===k?(o+=k,e.next()):"\\"===t&&(o+="\\",e.next()))}if(i||a)throw new b(r,v(r,l),`Expected close of string with ${i?k:E}`);return{type:n.Literal,raw:o,loc:t(l,e.index+1)}}function F(e,t,n){if(!n)return!1;if(!(e[t]===n&&e[t+1]===n&&e[t+2]===n))return!1;if(n===E)return n;const r=e.slice(0,t).match(/\\+$/);if(!r)return n;return!(r[0].length%2!=0)&&n}function L(e,t,n){return!!n&&(e[t]===n&&e[t+1]===n&&e[t+2]===n&&e[t+3]===n)}function U(e){return e[e.length-1]}function M(){return Object.create(null)}function K(e){return"number"==typeof e&&e%1==0&&isFinite(e)&&!Object.is(e,-0)}function j(e){return"[object Date]"===Object.prototype.toString.call(e)}function N(e){return e&&"object"==typeof e&&!j(e)&&!Array.isArray(e)}function Z(e,t){return Object.prototype.hasOwnProperty.call(e,t)}function B(e,...t){return t.reduce(((e,t)=>t(e)),e)}function W(e){if(N(e)){return`{${Object.keys(e).sort().map((t=>`${JSON.stringify(t)}:${W(e[t])}`)).join(",")}}`}return Array.isArray(e)?`[${e.map(W).join(",")}]`:JSON.stringify(e)}function P(e,t){const n=e.length,r=t.length;e.length=n+r;for(let l=0;l<r;l++)e[n+l]=t[l]}function z(e){return e.startsWith('"""')||e.startsWith("'''")}const V=/\r\n/g,H=/\n/g,R=/^(\r\n|\n)/,q=/(?<!\\)(?:\\\\)*(\\\s*[\n\r\n]\s*)/g;function J(e){return e.startsWith("'''")?B(X(e,3),ee):e.startsWith(E)?X(e,1):e.startsWith('"""')?B(X(e,3),ee,ne,te,Y,Q):e.startsWith(k)?B(X(e,1),Q):e}function Y(e){let t="",n=0;for(let r=0;r<e.length;r++){const l=e[r];t+='"'===l&&n%2==0?'\\"':l,"\\"===l?n++:n=0}return t}function G(e,t){let n=0;for(let r=t-1;r>=0&&"\\"===e[r];r--)n++;return n%2!=0}function Q(e){const t=e;let n=t.replace(/\\x([a-fA-F0-9]{2})/g,((e,n,r)=>{if(G(t,r))return e;const l=parseInt(n,16),o=String.fromCharCode(l);return l<32||34===l||92===l?X(JSON.stringify(o),1):o}));const r=n;n=r.replace(/\\e/g,((e,t)=>G(r,t)?e:"\\u001b"));const l=n.replace(/\\U[a-fA-F0-9]{8}/g,(e=>{const t=parseInt(e.replace("\\U",""),16),n=String.fromCodePoint(t);return X(JSON.stringify(n),1)})),o=l.replace(/\t/g,"\\t");return JSON.parse(`"${o}"`)}function X(e,t){return e.slice(t,e.length-t)}function ee(e){return e.replace(R,"")}function te(e){return e.replace(V,"\\r\\n").replace(H,"\\n")}function ne(e){return e.replace(q,((e,t)=>e.replace(t,"")))}class re{static createDateWithOriginalFormat(e,t){if(re.IS_DATE_ONLY.test(t)){if(0!==e.getUTCHours()||0!==e.getUTCMinutes()||0!==e.getUTCSeconds()||0!==e.getUTCMilliseconds()){if(e instanceof ae)return e;let t=e.toISOString().replace("Z","");return t=t.replace(/\.000$/,""),new ie(t,!1)}const t=e.toISOString().split("T")[0];return new le(t)}if(re.IS_TIME_ONLY.test(t)){if(e instanceof oe)return e;{const n=t.match(/\.(\d+)\s*$/),r=e.toISOString();if(r&&r.includes("T")){let l=r.split("T")[1].split("Z")[0];if(n){const t=n[1].length,[r,o,i]=l.split(":"),[a]=i.split(".");l=`${r}:${o}:${a}.${String(e.getUTCMilliseconds()).padStart(3,"0").slice(0,t)}`}return new oe(l,t)}{const r=String(e.getUTCHours()).padStart(2,"0"),l=String(e.getUTCMinutes()).padStart(2,"0"),o=String(e.getUTCSeconds()).padStart(2,"0"),i=e.getUTCMilliseconds();let a;if(n){const e=n[1].length;a=`${r}:${l}:${o}.${String(i).padStart(3,"0").slice(0,e)}`}else if(i>0){a=`${r}:${l}:${o}.${String(i).padStart(3,"0").replace(/0+$/,"")}`}else a=`${r}:${l}:${o}`;return new oe(a,t)}}}if(re.IS_LOCAL_DATETIME_T.test(t)){const n=t.match(/\.(\d+)\s*$/);let r=e.toISOString().replace("Z","");if(n){const t=n[1].length,[l,o]=r.split("T"),[i,a,s]=o.split(":"),[c]=s.split(".");r=`${l}T${i}:${a}:${c}.${String(e.getUTCMilliseconds()).padStart(3,"0").slice(0,t)}`}return new ie(r,!1,t)}if(re.IS_LOCAL_DATETIME_SPACE.test(t)){const n=t.match(/\.(\d+)\s*$/);let r=e.toISOString().replace("Z","").replace("T"," ");if(n){const t=n[1].length,[l,o]=r.split(" "),[i,a,s]=o.split(":"),[c]=s.split(".");r=`${l} ${i}:${a}:${c}.${String(e.getUTCMilliseconds()).padStart(3,"0").slice(0,t)}`}return new ie(r,!0,t)}if(re.IS_OFFSET_DATETIME_T.test(t)||re.IS_OFFSET_DATETIME_SPACE.test(t)){const n=t.match(/([+-]\d{2}:\d{2}|[Zz])$/),r=n?"z"===n[1]?"Z":n[1]:"Z",l=re.IS_OFFSET_DATETIME_SPACE.test(t),o=t.match(/\.(\d+)(?:[Zz]|[+-]\d{2}:\d{2})\s*$/),i=e.getTime();let a=0;if("Z"!==r){const e="+"===r[0]?1:-1,[t,n]=r.slice(1).split(":");a=e*(60*parseInt(t)+parseInt(n))}const s=new Date(i+6e4*a),c=s.getUTCFullYear(),u=String(s.getUTCMonth()+1).padStart(2,"0"),f=String(s.getUTCDate()).padStart(2,"0"),m=String(s.getUTCHours()).padStart(2,"0"),d=String(s.getUTCMinutes()).padStart(2,"0"),p=String(s.getUTCSeconds()).padStart(2,"0"),h=s.getUTCMilliseconds(),y=l?" ":"T";let g=`${m}:${d}:${p}`;if(o){const e=o[1].length;g+=`.${String(h).padStart(3,"0").slice(0,e)}`}else if(h>0){g+=`.${String(h).padStart(3,"0").replace(/0+$/,"")}`}return new ae(`${c}-${u}-${f}${y}${g}${r}`,l)}return e}}re.IS_DATE_ONLY=/^\d{4}-\d{2}-\d{2}$/,re.IS_TIME_ONLY=/^\d{2}:\d{2}(?::\d{2})?(?:\.\d+)?$/,re.IS_LOCAL_DATETIME_T=/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}(?::\d{2})?(?:\.\d+)?$/,re.IS_LOCAL_DATETIME_SPACE=/^\d{4}-\d{2}-\d{2} \d{2}:\d{2}(?::\d{2})?(?:\.\d+)?$/,re.IS_OFFSET_DATETIME_T=/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}(?::\d{2})?(?:\.\d+)?(?:[Zz]|[+-]\d{2}:\d{2})$/,re.IS_OFFSET_DATETIME_SPACE=/^\d{4}-\d{2}-\d{2} \d{2}:\d{2}(?::\d{2})?(?:\.\d+)?(?:[Zz]|[+-]\d{2}:\d{2})$/,re.IS_FULL_DATE=/(\d{4})-(\d{2})-(\d{2})/,re.IS_FULL_TIME=/(\d{2}):(\d{2})(?::(\d{2}))?/;class le extends Date{constructor(e){super(e)}toISOString(){return`${this.getUTCFullYear()}-${String(this.getUTCMonth()+1).padStart(2,"0")}-${String(this.getUTCDate()).padStart(2,"0")}`}}class oe extends Date{constructor(e,t){let n=e;/:\d{2}:\d{2}/.test(e)||(n=e+":00"),super(`0000-01-01T${n}Z`),this.originalFormat=t}toISOString(){const e=String(this.getUTCHours()).padStart(2,"0"),t=String(this.getUTCMinutes()).padStart(2,"0"),n=String(this.getUTCSeconds()).padStart(2,"0"),r=this.getUTCMilliseconds();if(this.originalFormat&&this.originalFormat.includes(".")){const l=this.originalFormat.match(/\.(\d+)\s*$/),o=l?l[1].length:3;return`${e}:${t}:${n}.${String(r).padStart(3,"0").slice(0,o)}`}if(r>0){return`${e}:${t}:${n}.${String(r).padStart(3,"0").replace(/0+$/,"")}`}return`${e}:${t}:${n}`}}class ie extends Date{constructor(e,t=!1,n){let r=e;/\d{2}:\d{2}:\d{2}/.test(e)||(r=e.replace(/(\d{2}:\d{2})([\s\-+TZ]|$)/,"$1:00$2")),super(r.replace(" ","T")+"Z"),this.useSpaceSeparator=!1,this.useSpaceSeparator=t,this.originalFormat=n||e}toISOString(){const e=this.getUTCFullYear(),t=String(this.getUTCMonth()+1).padStart(2,"0"),n=String(this.getUTCDate()).padStart(2,"0"),r=String(this.getUTCHours()).padStart(2,"0"),l=String(this.getUTCMinutes()).padStart(2,"0"),o=String(this.getUTCSeconds()).padStart(2,"0"),i=this.getUTCMilliseconds(),a=`${e}-${t}-${n}`,s=this.useSpaceSeparator?" ":"T";if(this.originalFormat&&this.originalFormat.includes(".")){const e=this.originalFormat.match(/\.(\d+)\s*$/),t=e?e[1].length:3;return`${a}${s}${r}:${l}:${o}.${String(i).padStart(3,"0").slice(0,t)}`}if(i>0){return`${a}${s}${r}:${l}:${o}.${String(i).padStart(3,"0").replace(/0+$/,"")}`}return`${a}${s}${r}:${l}:${o}`}}class ae extends Date{constructor(e,t=!1){let n=e;/\d{2}:\d{2}:\d{2}/.test(e)||(n=e.replace(/(\d{2}:\d{2})([\s\-+TZ]|$)/,"$1:00$2")),super(n.replace(" ","T")),this.useSpaceSeparator=!1,this.useSpaceSeparator=t,this.originalFormat=e;const r=e.match(/([+-]\d{2}:\d{2}|[Zz])$/);r&&(this.originalOffset="z"===r[1]?"Z":r[1])}toISOString(){if(this.originalOffset){const e=this.getTime();let t=0;if("Z"!==this.originalOffset){const e="+"===this.originalOffset[0]?1:-1,[n,r]=this.originalOffset.slice(1).split(":");t=e*(60*parseInt(n)+parseInt(r))}const n=new Date(e+6e4*t),r=n.getUTCFullYear(),l=String(n.getUTCMonth()+1).padStart(2,"0"),o=String(n.getUTCDate()).padStart(2,"0"),i=String(n.getUTCHours()).padStart(2,"0"),a=String(n.getUTCMinutes()).padStart(2,"0"),s=String(n.getUTCSeconds()).padStart(2,"0"),c=n.getUTCMilliseconds(),u=`${r}-${l}-${o}`,f=this.useSpaceSeparator?" ":"T";if(this.originalFormat&&this.originalFormat.includes(".")){const e=this.originalFormat.match(/\.(\d+)(?:[Zz]|[+-]\d{2}:\d{2})\s*$/),t=e?e[1].length:3;return`${u}${f}${i}:${a}:${s}.${String(c).padStart(3,"0").slice(0,t)}${this.originalOffset}`}if(c>0){return`${u}${f}${i}:${a}:${s}.${String(c).padStart(3,"0").replace(/0+$/,"")}${this.originalOffset}`}return`${u}${f}${i}:${a}:${s}${this.originalOffset}`}const e=super.toISOString();return this.useSpaceSeparator?e.replace("T"," "):e}}const se=re,ce="true",ue=/e/i,fe=/\_/g,me=/inf/,de=/nan/,pe=/^0x/,he=/^0o/,ye=/^0b/;function*ge(e){const t=A(e),n=new h(t);for(;!n.next().done;)yield*ve(n,e)}function*ve(e,r){if(e.value.type===n.Comment)yield Se(e);else if(e.value.type===n.Bracket)yield function(e,r){const l=e.peek().done||e.peek().value.type!==n.Bracket?t.Table:t.TableArray,o=l===t.Table;if(o&&"["!==e.value.raw)throw new b(r,e.value.loc.start,`Expected table opening "[", found ${e.value.raw}`);if(!o&&("["!==e.value.raw||"["!==e.peek().value.raw))throw new b(r,e.value.loc.start,`Expected array of tables opening "[[", found ${e.value.raw+e.peek().value.raw}`);const i=o?{type:t.TableKey,loc:e.value.loc}:{type:t.TableArrayKey,loc:e.value.loc};e.next(),l===t.TableArray&&e.next();if(e.done)throw new b(r,i.loc.start,"Expected table key, reached end of file");i.item={type:t.Key,loc:T(e.value.loc),raw:e.value.raw,value:[J(e.value.raw)]};for(;!e.peek().done&&e.peek().value.type===n.Dot;){e.next();const t=e.value;e.next();const n=" ".repeat(t.loc.start.column-i.item.loc.end.column),r=" ".repeat(e.value.loc.start.column-t.loc.end.column);i.item.loc.end=e.value.loc.end,i.item.raw+=`${n}.${r}${e.value.raw}`,i.item.value.push(J(e.value.raw))}if(e.next(),o&&(e.done||"]"!==e.value.raw))throw new b(r,e.done?i.item.loc.end:e.value.loc.start,`Expected table closing "]", found ${e.done?"end of file":e.value.raw}`);if(!o&&(e.done||e.peek().done||"]"!==e.value.raw||"]"!==e.peek().value.raw))throw new b(r,e.done||e.peek().done?i.item.loc.end:e.value.loc.start,`Expected array of tables closing "]]", found ${e.done||e.peek().done?"end of file":e.value.raw+e.peek().value.raw}`);o||e.next();i.loc.end=e.value.loc.end;let a=[];for(;!e.peek().done&&e.peek().value.type!==n.Bracket;)e.next(),P(a,[...ve(e,r)]);return{type:o?t.Table:t.TableArray,loc:{start:S(i.loc.start),end:a.length?S(a[a.length-1].loc.end):S(i.loc.end)},key:i,items:a}}(e,r);else{if(e.value.type!==n.Literal)throw new b(r,e.value.loc.start,`Unexpected token "${e.value.type}". Expected Comment, Bracket, or String`);yield*function(e,r){const l={type:t.Key,loc:T(e.value.loc),raw:e.value.raw,value:[J(e.value.raw)]};for(;!e.peek().done&&e.peek().value.type===n.Dot;)e.next(),e.next(),l.loc.end=e.value.loc.end,l.raw+=`.${e.value.raw}`,l.value.push(J(e.value.raw));if(e.next(),e.done||e.value.type!==n.Equal)throw new b(r,e.done?l.loc.end:e.value.loc.start,`Expected "=" for key-value, found ${e.done?"end of file":e.value.raw}`);const o=e.value.loc.start.column;if(e.next(),e.done)throw new b(r,l.loc.start,"Expected value for key-value, reached end of file");const[i,...a]=we(e,r);return[{type:t.KeyValue,key:l,value:i,loc:{start:S(l.loc.start),end:S(i.loc.end)},equals:o},...a]}(e,r)}}function*we(e,r){if(e.value.type===n.Literal)e.value.raw[0]===k||e.value.raw[0]===E?yield function(e){return{type:t.String,loc:e.value.loc,raw:e.value.raw,value:J(e.value.raw)}}(e):e.value.raw===ce||"false"===e.value.raw?yield function(e){return{type:t.Boolean,loc:e.value.loc,value:e.value.raw===ce}}(e):se.IS_FULL_DATE.test(e.value.raw)||se.IS_FULL_TIME.test(e.value.raw)?yield function(e,r){let l,o=e.value.loc,i=e.value.raw;if(!e.peek().done&&e.peek().value.type===n.Literal&&se.IS_FULL_DATE.test(i)&&se.IS_FULL_TIME.test(e.peek().value.raw)){const t=o.start;e.next(),o={start:t,end:e.value.loc.end},i+=` ${e.value.raw}`}if(!e.peek().done&&e.peek().value.type===n.Dot){const t=o.start;if(e.next(),e.peek().done||e.peek().value.type!==n.Literal)throw new b(r,e.value.loc.end,"Expected fractional value for DateTime");e.next(),o={start:t,end:e.value.loc.end},i+=`.${e.value.raw}`}if(se.IS_FULL_DATE.test(i))l=se.IS_DATE_ONLY.test(i)?new le(i):se.IS_LOCAL_DATETIME_T.test(i)?new ie(i,!1):se.IS_LOCAL_DATETIME_SPACE.test(i)?new ie(i,!0):se.IS_OFFSET_DATETIME_T.test(i)?new ae(i,!1):se.IS_OFFSET_DATETIME_SPACE.test(i)?new ae(i,!0):new Date(i.replace(" ","T"));else if(se.IS_TIME_ONLY.test(i))l=new oe(i,i);else{const[e]=(new Date).toISOString().split("T");l=new Date(`${e}T${i}`)}return{type:t.DateTime,loc:o,raw:i,value:l}}(e,r):!e.peek().done&&e.peek().value.type===n.Dot||me.test(e.value.raw)||de.test(e.value.raw)||ue.test(e.value.raw)&&!pe.test(e.value.raw)?yield function(e,r){let l,o=e.value.loc,i=e.value.raw;if(me.test(i))l="-inf"===i?-1/0:1/0;else if(de.test(i))l=NaN;else if(e.peek().done||e.peek().value.type!==n.Dot)l=Number(i.replace(fe,""));else{const t=o.start;if(e.next(),e.peek().done||e.peek().value.type!==n.Literal)throw new b(r,e.value.loc.end,"Expected fraction value for Float");e.next(),i+=`.${e.value.raw}`,o={start:t,end:e.value.loc.end},l=Number(i.replace(fe,""))}return{type:t.Float,loc:o,raw:i,value:l}}(e,r):yield function(e){if("-0"===e.value.raw||"+0"===e.value.raw)return{type:t.Integer,loc:e.value.loc,raw:e.value.raw,value:0};let n=10;pe.test(e.value.raw)?n=16:he.test(e.value.raw)?n=8:ye.test(e.value.raw)&&(n=2);const r=parseInt(e.value.raw.replace(fe,"").replace(he,"").replace(ye,""),n);return{type:t.Integer,loc:e.value.loc,raw:e.value.raw,value:r}}(e);else if(e.value.type===n.Curly){const[l,o]=function(e,r){if("{"!==e.value.raw)throw new b(r,e.value.loc.start,`Expected "{" for inline table, found ${e.value.raw}`);const l={type:t.InlineTable,loc:T(e.value.loc),items:[]},o=[];e.next();for(;!e.done&&(e.value.type!==n.Curly||"}"!==e.value.raw);){if(e.value.type===n.Comment){o.push(Se(e)),e.next();continue}if(e.value.type===n.Comma){const t=l.items[l.items.length-1];if(!t)throw new b(r,e.value.loc.start,'Found "," without previous value in inline table');t.comma=!0,t.loc.end=e.value.loc.start,e.next();continue}const[i,...a]=ve(e,r);if(i.type!==t.KeyValue)throw new b(r,e.value.loc.start,`Only key-values are supported in inline tables, found ${i.type}`);const s={type:t.InlineItem,loc:T(i.loc),item:i,comma:!1};l.items.push(s),P(o,a),e.next()}if(e.done||e.value.type!==n.Curly||"}"!==e.value.raw)throw new b(r,e.done?l.loc.start:e.value.loc.start,`Expected "}", found ${e.done?"end of file":e.value.raw}`);return l.loc.end=e.value.loc.end,[l,o]}(e,r);yield l,yield*o}else{if(e.value.type!==n.Bracket)throw new b(r,e.value.loc.start,`Unrecognized token type "${e.value.type}". Expected String, Curly, or Bracket`);{const[l,o]=function(e,r){if("["!==e.value.raw)throw new b(r,e.value.loc.start,`Expected "[" for inline array, found ${e.value.raw}`);const l={type:t.InlineArray,loc:T(e.value.loc),items:[]};let o=[];e.next();for(;!e.done&&(e.value.type!==n.Bracket||"]"!==e.value.raw);){if(e.value.type===n.Comma){const t=l.items[l.items.length-1];if(!t)throw new b(r,e.value.loc.start,'Found "," without previous value for inline array');t.comma=!0,t.loc.end=e.value.loc.start}else if(e.value.type===n.Comment)o.push(Se(e));else{const[n,...i]=we(e,r),a={type:t.InlineItem,loc:T(n.loc),item:n,comma:!1};l.items.push(a),P(o,i)}e.next()}if(e.done||e.value.type!==n.Bracket||"]"!==e.value.raw)throw new b(r,e.done?l.loc.start:e.value.loc.start,`Expected "]", found ${e.done?"end of file":e.value.raw}`);return l.loc.end=e.value.loc.end,[l,o]}(e,r);yield l,yield*o}}}function Se(e){return{type:t.Comment,loc:e.value.loc,raw:e.value.raw}}function Te(e,n){var r;function l(e,t){for(const n of e)o(n,t)}function o(e,r){const i=n[e.type];switch(i&&"function"==typeof i&&i(e,r),i&&i.enter&&i.enter(e,r),e.type){case t.Document:l(e.items,e);break;case t.Table:o(e.key,e),l(e.items,e);break;case t.TableKey:o(e.item,e);break;case t.TableArray:o(e.key,e),l(e.items,e);break;case t.TableArrayKey:o(e.item,e);break;case t.KeyValue:o(e.key,e),o(e.value,e);break;case t.InlineArray:l(e.items,e);break;case t.InlineItem:o(e.item,e);break;case t.InlineTable:l(e.items,e);break;case t.Key:case t.String:case t.Integer:case t.Float:case t.Boolean:case t.DateTime:case t.Comment:break;default:throw new Error(`Unrecognized node type "${e.type}"`)}i&&i.exit&&i.exit(e,r)}null!=(r=e)&&"function"==typeof r[Symbol.iterator]?l(e,null):o(e,null)}const be=new WeakMap,$e=e=>(be.has(e)||be.set(e,new WeakMap),be.get(e)),Ie=new WeakMap,ke=e=>(Ie.has(e)||Ie.set(e,new WeakMap),Ie.get(e));function Ee(e,t,n,r){if(d(t)){const e=t.items.indexOf(n);if(e<0)throw new Error("Could not find existing item in parent node for replace");t.items.splice(e,1,r)}else if(i(t)&&f(t.value)&&!f(n)){const e=t.value.items.indexOf(n);if(e<0)throw new Error("Could not find existing item in parent node for replace");t.value.items.splice(e,1,r)}else if(p(t))t.item=r;else{if(!i(t))throw new Error(`Unsupported parent type "${t.type}" for replace`);t.key===n?t.key=r:t.value=r}Fe(r,{lines:n.loc.start.line-r.loc.start.line,columns:n.loc.start.column-r.loc.start.column});const l=g(n.loc),o=g(r.loc);Le({lines:o.lines-l.lines,columns:o.columns-l.columns},ke(e),r,n)}function xe(e,t,n,a,s){if(!d(t))throw new Error(`Unsupported parent type "${t.type}" for insert`);let p,h;a=null!=a&&"number"==typeof a?a:t.items.length,c(t)||f(t)?({shift:p,offset:h}=function(e,t,n){if(!u(t))throw new Error(`Incompatible child type "${t.type}"`);const r=null!=n?e.items[n-1]:U(e.items),l=null==n||n===e.items.length;e.items.splice(n,0,t);const o=!!r,i=!l;o&&(r.comma=!0);i&&(t.comma=!0);const a=c(e)&&function(e){if(!e.items.length)return!1;return g(e.loc).lines>e.items.length}(e),s=l&&!0===t.comma;return Ae(e,t,n,{useNewLine:a,hasCommaHandling:!0,isLastElement:l,hasSeparatingCommaBefore:o,hasSeparatingCommaAfter:i,hasTrailingComma:s})}(t,n,a)):s&&r(t)?({shift:p,offset:h}=function(e,t,n){const r=Ae(e,t,n,{useNewLine:!1,hasCommaHandling:!1});return e.items.splice(n,0,t),r}(t,n,a)):({shift:p,offset:h}=function(e,t,n){if(a=t,!(i(a)||l(a)||o(a)||m(a)))throw new Error(`Incompatible child type "${t.type}"`);var a;const s=e.items[n-1],c=r(e)&&!e.items.length;e.items.splice(n,0,t);const u=s?{line:s.loc.end.line,column:m(s)?e.loc.start.column:s.loc.start.column}:S(e.loc.start),f=l(t)||o(t);let d=0;c||(d=f?2:1);u.line+=d;const p={lines:u.line-t.loc.start.line,columns:u.column-t.loc.start.column},h=g(t.loc),y={lines:h.lines+(d-1),columns:h.columns};return{shift:p,offset:y}}(t,n,a)),Fe(n,p);const y=t.items[a-1],v=y&&ke(e).get(y);v&&(h.lines+=v.lines,h.columns+=v.columns,ke(e).delete(y));ke(e).set(n,h)}function Ae(e,t,n,r={}){const{useNewLine:l=!1,skipCommaSpace:o=2,skipBracketSpace:i=1,hasCommaHandling:a=!1,isLastElement:s=!1,hasSeparatingCommaBefore:c=!1,hasSeparatingCommaAfter:u=!1,hasTrailingComma:f=!1}=r,d=n>0?e.items[n-1]:void 0,p=d?{line:d.loc.end.line,column:l?m(d)?e.loc.start.column:d.loc.start.column:d.loc.end.column}:S(e.loc.start);let h=0;if(l)h=1;else{const e=c||!a&&!!d;e&&a?p.column+=o:(e||a&&!d)&&(p.column+=i)}p.line+=h;const y={lines:p.line-t.loc.start.line,columns:p.column-t.loc.start.column},v=g(t.loc);if(!a){return{shift:y,offset:{lines:v.lines+(h-1),columns:v.columns}}}let w=0;c&&f&&!u&&s&&(w=-1);return{shift:y,offset:{lines:v.lines+(h-1),columns:v.columns+(c||u?o:0)+(f?1+w:0)}}}function Ce(e,t,n){if(!d(t))throw new Error(`Unsupported parent type "${t.type}" for remove`);let r=t.items.indexOf(n);if(r<0){if(r=t.items.findIndex((e=>p(e)&&e.item===n)),r<0)throw new Error("Could not find node in parent for removal");n=t.items[r]}const l=t.items[r-1];let o=t.items[r+1];t.items.splice(r,1);let i=g(n.loc);o&&m(o)&&o.loc.start.line===n.loc.end.line&&(i=g({start:n.loc.start,end:o.loc.end}),o=t.items[r+1],t.items.splice(r,1));const a=l&&u(l)||o&&u(o),s=l&&l.loc.end.line===n.loc.start.line,c=o&&o.loc.start.line===n.loc.end.line,f=a&&(s||c),h={lines:-(i.lines-(f?1:0)),columns:-i.columns};if(void 0===l&&void 0===o&&(h.lines=0,h.columns=0),a&&s&&(h.columns-=2),a&&!l&&o&&(h.columns-=2),a&&l&&!o){const e=n.comma;l.comma=!!e}const y=l||t,v=l?ke(e):$e(e),w=ke(e),S=v.get(y);S&&(h.lines+=S.lines,h.columns+=S.columns);const T=w.get(n);T&&(h.lines+=T.lines,h.columns+=T.columns),v.set(y,h)}function Oe(e,t,n=!0){if(!n)return;if(!t.items.length)return;Le({lines:0,columns:1},$e(e),t);const r=U(t.items);Le({lines:0,columns:1},ke(e),r)}function De(e,t,n=!1){if(!n)return;if(!t.items.length)return;const r=U(t.items);r.comma=!0,Le({lines:0,columns:1},ke(e),r)}function _e(e){const n=$e(e),r=ke(e),l={lines:0,columns:{}};function o(e){const t=l.lines;e.loc.start.line+=t;const r=l.columns[e.loc.start.line]||0;e.loc.start.column+=r;const o=n.get(e);o&&(l.lines+=o.lines,l.columns[e.loc.start.line]=(l.columns[e.loc.start.line]||0)+o.columns)}function i(e){const t=l.lines;e.loc.end.line+=t;const n=l.columns[e.loc.end.line]||0;e.loc.end.column+=n;const o=r.get(e);o&&(l.lines+=o.lines,l.columns[e.loc.end.line]=(l.columns[e.loc.end.line]||0)+o.columns)}const a={enter:o,exit:i};Te(e,{[t.Document]:a,[t.Table]:a,[t.TableArray]:a,[t.InlineTable]:a,[t.InlineArray]:a,[t.InlineItem]:a,[t.TableKey]:a,[t.TableArrayKey]:a,[t.KeyValue]:{enter(e){const t=e.loc.start.line+l.lines,n=r.get(e.key);e.equals+=(l.columns[t]||0)+(n?n.columns:0),o(e)},exit:i},[t.Key]:a,[t.String]:a,[t.Integer]:a,[t.Float]:a,[t.Boolean]:a,[t.DateTime]:a,[t.Comment]:a}),be.delete(e),Ie.delete(e)}function Fe(e,n,r={}){const{first_line_only:l=!1}=r,o=e.loc.start.line,{lines:i,columns:a}=n,s=e=>{l&&e.loc.start.line!==o||(e.loc.start.column+=a,e.loc.end.column+=a),e.loc.start.line+=i,e.loc.end.line+=i};return Te(e,{[t.Table]:s,[t.TableKey]:s,[t.TableArray]:s,[t.TableArrayKey]:s,[t.KeyValue](e){s(e),e.equals+=a},[t.Key]:s,[t.String]:s,[t.Integer]:s,[t.Float]:s,[t.Boolean]:s,[t.DateTime]:s,[t.InlineArray]:s,[t.InlineItem]:s,[t.InlineTable]:s,[t.Comment]:s}),e}function Le(e,t,n,r){const l=t.get(r||n);l&&(e.lines+=l.lines,e.columns+=l.columns),t.set(n,e)}function Ue(){return{type:t.Document,loc:{start:{line:1,column:0},end:{line:1,column:0}},items:[]}}function Me(e){const n=function(e){const n=Ze(e);return{type:t.TableKey,loc:{start:{line:1,column:0},end:{line:1,column:n.length+2}},item:{type:t.Key,loc:{start:{line:1,column:1},end:{line:1,column:n.length+1}},value:e,raw:n}}}(e);return{type:t.Table,loc:T(n.loc),key:n,items:[]}}function Ke(e){const n=function(e){const n=Ze(e);return{type:t.TableArrayKey,loc:{start:{line:1,column:0},end:{line:1,column:n.length+4}},item:{type:t.Key,loc:{start:{line:1,column:2},end:{line:1,column:n.length+2}},value:e,raw:n}}}(e);return{type:t.TableArray,loc:T(n.loc),key:n,items:[]}}function je(e,n){const r=function(e){const n=Ze(e);return{type:t.Key,loc:{start:{line:1,column:0},end:{line:1,column:n.length}},raw:n,value:e}}(e),{column:l}=r.loc.end,o=l+1;return Fe(n,{lines:0,columns:l+3-n.loc.start.column},{first_line_only:!0}),{type:t.KeyValue,loc:{start:S(r.loc.start),end:S(n.loc.end)},key:r,equals:o,value:n}}const Ne=/^[\w-]+$/;function Ze(e){return e.map((e=>Ne.test(e)?e:JSON.stringify(e))).join(".")}function Be(e,n){let r,l;if(n&&z(n)){let t=n.startsWith("'''");t&&e.includes("'''")&&(t=!1);const l=t?"'''":'"""',o=n.includes("\r\n")?"\r\n":"\n",i=n.startsWith(`${l}${o}`)||(n.startsWith("'''\n")||n.startsWith("'''\r\n"))&&!t;let a;a=t?e:e.replace(/\\/g,"\\\\").replace(/\x08/g,"\\b").replace(/\f/g,"\\f").replace(/\t/g,"\\t").replace(/[\x00-\x07\x0B\x0E-\x1F\x7F]/g,(e=>"\\u"+e.charCodeAt(0).toString(16).padStart(4,"0").toUpperCase())).replace(/"""/g,'""\\"'),r=i?`${l}${o}${a}${l}`:`${l}${a}${l}`}else r=JSON.stringify(e);if(r.includes("\r\n")||r.includes("\n")&&!r.includes("\r\n")){const e=r.includes("\r\n")?"\r\n":"\n",t=(r.match(new RegExp("\r\n"===e?"\\r\\n":"\\n","g"))||[]).length;l=t>0?{line:1+t,column:3}:{line:1,column:r.length}}else l={line:1,column:r.length};return{type:t.String,loc:{start:{line:1,column:0},end:l},raw:r,value:e}}function We(e){return{type:t.InlineItem,loc:T(e.loc),item:e,comma:!1}}const Pe=!1,ze=!0,Ve=!1,He=!1;function Re(e,t){if(!e||"object"!=typeof e)return null;if(("InlineArray"===e.type||"InlineTable"===e.type)&&e.loc){const n=function(e,t){var n;if(!e||!e.start||!e.end)return null;const r=t.split(/\r?\n/),l=e.start.line-1,o=e.end.line-1,i=e.start.column,a=e.end.column;let s="";if(l===o)s=(null===(n=r[l])||void 0===n?void 0:n.substring(i,a+1))||"";else{r[l]&&(s+=r[l].substring(i));for(let e=l+1;e<o;e++)s+="\n"+(r[e]||"");r[o]&&(s+="\n"+r[o].substring(0,a+1))}const c=s.match(/^\[(\s*)/),u=s.match(/^\{(\s*)/);if(c)return c[1].length>0;if(u)return u[1].length>0;return null}(e.loc,t);if(null!==n)return n}if(e.items&&Array.isArray(e.items))for(const n of e.items){const e=Re(n,t);if(null!==e)return e;if(n.item){const e=Re(n.item,t);if(null!==e)return e}}for(const n of["value","key","item"])if(e[n]){const r=Re(e[n],t);if(null!==r)return r}return null}function qe(e){if(!e||"object"!=typeof e)return null;if("InlineArray"===e.type&&e.items&&Array.isArray(e.items))return Je(e.items);if("InlineTable"===e.type&&e.items&&Array.isArray(e.items))return Je(e.items);if("KeyValue"===e.type&&e.value)return qe(e.value);if(e.items&&Array.isArray(e.items))for(const t of e.items){const e=qe(t);if(null!==e)return e}return null}function Je(e){if(0===e.length)return null;const t=e[e.length-1];return!(!t||"object"!=typeof t||!("comma"in t))&&!0===t.comma}function Ye(e){if(!c(e))return!1;if(0===e.items.length)return!1;return!0===e.items[e.items.length-1].comma}function Ge(e){if(!f(e))return!1;if(0===e.items.length)return!1;return!0===e.items[e.items.length-1].comma}function Qe(e){const t=e.indexOf("\n");return t>0&&"\r"===e.substring(t-1,t)?"\r\n":"\n"}function Xe(e,t){var n,r,l,o,i,a;if(e){if(e instanceof et)return e;{const s=function(e){if(!e||"object"!=typeof e)return{};const t=new Set(["newLine","trailingNewline","trailingComma","bracketSpacing","inlineTableStart","truncateZeroTimeInDates","useTabsForIndentation"]),n={},r=[],l=[];for(const o in e){const i=Object.prototype.hasOwnProperty.call(e,o);if(t.has(o)){const t=e[o];switch(o){case"newLine":"string"==typeof t?n.newLine=t:l.push(`${o} (expected string, got ${typeof t})`);break;case"trailingNewline":"boolean"==typeof t||"number"==typeof t?n.trailingNewline=t:l.push(`${o} (expected boolean or number, got ${typeof t})`);break;case"trailingComma":case"bracketSpacing":case"truncateZeroTimeInDates":case"useTabsForIndentation":"boolean"==typeof t?n[o]=t:l.push(`${o} (expected boolean, got ${typeof t})`);break;case"inlineTableStart":"number"==typeof t&&Number.isInteger(t)&&t>=0||null==t?n.inlineTableStart=t:l.push(`${o} (expected non-negative integer or undefined, got ${typeof t})`)}}else i&&r.push(o)}if(r.length>0&&console.warn(`toml-patch: Ignoring unsupported format properties: ${r.join(", ")}. Supported properties are: ${Array.from(t).join(", ")}`),l.length>0)throw new TypeError(`Invalid types for format properties: ${l.join(", ")}`);return n}(e);return new et(null!==(n=s.newLine)&&void 0!==n?n:t.newLine,null!==(r=s.trailingNewline)&&void 0!==r?r:t.trailingNewline,null!==(l=s.trailingComma)&&void 0!==l?l:t.trailingComma,null!==(o=s.bracketSpacing)&&void 0!==o?o:t.bracketSpacing,void 0!==s.inlineTableStart?s.inlineTableStart:t.inlineTableStart,null!==(i=s.truncateZeroTimeInDates)&&void 0!==i?i:t.truncateZeroTimeInDates,null!==(a=s.useTabsForIndentation)&&void 0!==a?a:t.useTabsForIndentation)}}return t}class et{constructor(e,t,n,r,l,o,i){this.newLine=null!=e?e:"\n",this.trailingNewline=null!=t?t:1,this.trailingComma=null!=n?n:Pe,this.bracketSpacing=null!=r?r:ze,this.inlineTableStart=null!=l?l:1,this.truncateZeroTimeInDates=null!=o?o:Ve,this.useTabsForIndentation=null!=i?i:He}static default(){return new et("\n",1,Pe,ze,1,Ve,He)}static autoDetectFormat(e){const t=et.default();t.newLine=Qe(e),t.trailingNewline=function(e,t){let n=0,r=e.length;for(;r>=t.length&&e.substring(r-t.length,r)===t;)n++,r-=t.length;return n}(e,t.newLine);try{const n=ge(e),r=Array.from(n);t.trailingComma=function(e){const t=Array.from(e);for(const e of t){const t=qe(e);if(null!==t)return t}return Pe}(r),t.bracketSpacing=function(e,t){const n=Array.from(t);for(const t of n){const n=Re(t,e);if(null!==n)return n}return ze}(e,r)}catch(e){t.trailingComma=Pe,t.bracketSpacing=ze}return t.useTabsForIndentation=function(e){const t=e.split(/\r?\n/);let n=0,r=0;for(const e of t)if(0!==e.length&&("\t"===e[0]?n++:" "===e[0]&&r++,n+r>=5))break;return n>r}(e),t.inlineTableStart=1,t.truncateZeroTimeInDates=Ve,t}}function tt(e,t){if(0===t.inlineTableStart)return e;return e.items.filter((e=>{if(!i(e))return!1;const n=f(e.value),r=c(e.value)&&e.value.items.length&&f(e.value.items[0].item);if(n||r){const n=lt(e.key.value);return void 0===t.inlineTableStart||n<t.inlineTableStart}return!1})).forEach((t=>{Ce(e,e,t),f(t.value)?xe(e,e,nt(t)):function(e){const t=Ue();for(const n of e.value.items){const r=Ke(e.key.value);xe(t,t,r);for(const e of n.item.items)xe(t,r,e.item)}return _e(t),t.items}(t).forEach((t=>{xe(e,e,t)}))})),_e(e),e}function nt(e){const t=Me(e.key.value);for(const n of e.value.items)xe(t,t,n.item);return _e(t),t}function rt(e){if(e.items.length>0){const t=e.items[e.items.length-1];e.loc.end.line=t.loc.end.line,e.loc.end.column=t.loc.end.column}else e.loc.end.line=e.key.loc.end.line,e.loc.end.column=e.key.loc.end.column}function lt(e){return Math.max(0,e.length-1)}function ot(e,t,n){var r;for(let l=e.items.length-1;l>=0;l--){const o=e.items[l];if(i(o)&&f(o.value)){const l=[...e.key.item.value,...o.key.value];if(lt(l)<(null!==(r=n.inlineTableStart)&&void 0!==r?r:1)){const r=Me(l);for(const e of o.value.items)xe(r,r,e.item);Ce(e,e,o),rt(e),t.push(r),ot(r,t,n)}}}}function it(e,t=et.default()){e=function(e){const t=[],n=[];for(const r in e)N(e[r])||Array.isArray(e[r])?n.push(r):t.push(r);const r={};for(let n=0;n<t.length;n++){const l=t[n];r[l]=e[l]}for(let t=0;t<n.length;t++){const l=n[t];r[l]=e[l]}return r}(e=ct(e));const n=Ue();for(const r of at(e,t))xe(n,n,r);_e(n);const r=B(n,(e=>tt(e,t)),(e=>function(e,t){if(void 0===t.inlineTableStart||0===t.inlineTableStart)return e;const n=[];for(const r of e.items)if(i(r)&&f(r.value)){if(lt(r.key.value)<t.inlineTableStart){const l=nt(r);Ce(e,e,r),xe(e,e,l),ot(l,n,t)}}else"Table"===r.type&&ot(r,n,t);for(const t of n)xe(e,e,t);return _e(e),e}(e,t)),(e=>function(e){return e}(e)));return function(e){let t=0,n=0;for(const r of e.items)0===n&&r.loc.start.line>1?t=1-r.loc.start.line:r.loc.start.line+t>n+2&&(t+=n+2-(r.loc.start.line+t)),Fe(r,{lines:t,columns:0}),n=r.loc.end.line;return e}(r)}function*at(e,t){for(const n of Object.keys(e))yield je([n],st(e[n],t))}function st(e,n){if(null==e)throw new Error('"null" and "undefined" values are not supported');return function(e){return"string"==typeof e}(e)?Be(e):K(e)?function(e){const n=e.toString();return{type:t.Integer,loc:{start:{line:1,column:0},end:{line:1,column:n.length}},raw:n,value:e}}(e):function(e){return"number"==typeof e&&(!K(e)||!isFinite(e)||Object.is(e,-0))}(e)?function(e){let n;return n=e===1/0?"inf":e===-1/0?"-inf":Number.isNaN(e)?"nan":Object.is(e,-0)?"-0.0":e.toString(),{type:t.Float,loc:{start:{line:1,column:0},end:{line:1,column:n.length}},raw:n,value:e}}(e):function(e){return"boolean"==typeof e}(e)?function(e){return{type:t.Boolean,loc:{start:{line:1,column:0},end:{line:1,column:e?4:5}},value:e}}(e):j(e)?function(e,n){n.truncateZeroTimeInDates&&0===e.getUTCHours()&&0===e.getUTCMinutes()&&0===e.getUTCSeconds()&&0===e.getUTCMilliseconds()&&(e=new le(e.toISOString().split("T")[0]));const r=e.toISOString();return{type:t.DateTime,loc:{start:{line:1,column:0},end:{line:1,column:r.length}},raw:r,value:e}}(e,n):Array.isArray(e)?function(e,n){const r={type:t.InlineArray,loc:{start:{line:1,column:0},end:{line:1,column:2}},items:[]};for(const t of e){xe(r,r,We(st(t,n)))}return Oe(r,r,n.bracketSpacing),De(r,r,n.trailingComma),_e(r),r}(e,n):function(e,n){if(e=ct(e),!N(e))return st(e,n);const r={type:t.InlineTable,loc:{start:{line:1,column:0},end:{line:1,column:2}},items:[]},l=[...at(e,n)];for(const e of l){xe(r,r,We(e))}return Oe(r,r,n.bracketSpacing),De(r,r,n.trailingComma),_e(r),r}(e,n)}function ct(e){return e?j(e)?e:"function"==typeof e.toJSON?e.toJSON():e:e}const ut=/(\r\n|\n)/g;function ft(e,n){const r=[],l=n.useTabsForIndentation?"\t":" ";if(Te(e,{[t.TableKey](e){const{start:t,end:n}=e.loc;mt(r,{start:t,end:{line:t.line,column:t.column+1}},"[",l),mt(r,{start:{line:n.line,column:n.column-1},end:n},"]",l)},[t.TableArrayKey](e){const{start:t,end:n}=e.loc;mt(r,{start:t,end:{line:t.line,column:t.column+2}},"[[",l),mt(r,{start:{line:n.line,column:n.column-2},end:n},"]]",l)},[t.KeyValue](e){const{start:{line:t}}=e.loc;mt(r,{start:{line:t,column:e.equals},end:{line:t,column:e.equals+1}},"=",l)},[t.Key](e){mt(r,e.loc,e.raw,l)},[t.String](e){mt(r,e.loc,e.raw,l)},[t.Integer](e){mt(r,e.loc,e.raw,l)},[t.Float](e){mt(r,e.loc,e.raw,l)},[t.Boolean](e){mt(r,e.loc,e.value.toString(),l)},[t.DateTime](e){mt(r,e.loc,e.raw,l)},[t.InlineArray](e){const{start:t,end:n}=e.loc;mt(r,{start:t,end:{line:t.line,column:t.column+1}},"[",l),mt(r,{start:{line:n.line,column:n.column-1},end:n},"]",l)},[t.InlineTable](e){const{start:t,end:n}=e.loc;mt(r,{start:t,end:{line:t.line,column:t.column+1}},"{",l),mt(r,{start:{line:n.line,column:n.column-1},end:n},"}",l)},[t.InlineItem](e){if(!e.comma)return;const t=e.loc.end;mt(r,{start:t,end:{line:t.line,column:t.column+1}},",",l)},[t.Comment](e){mt(r,e.loc,e.raw,l)}}),n.useTabsForIndentation)for(let e=0;e<r.length;e++){const t=r[e],n=t.match(/^( +)/);if(n){const l=n[1],o="\t".repeat(l.length);r[e]=o+t.substring(l.length)}}return r.join(n.newLine)+n.newLine.repeat(n.trailingNewline)}function mt(e,t,n,r=" "){const l=n.split(ut).filter((e=>"\n"!==e&&"\r\n"!==e)),o=t.end.line-t.start.line+1;if(l.length!==o)throw new Error(`Mismatch between location and raw string, expected ${o} lines for "${n}"`);for(let r=t.start.line;r<=t.end.line;r++){const o=dt(e,r);if(void 0===o)throw new Error(`Line ${r} is uninitialized when writing "${n}" at ${t.start.line}:${t.start.column} to ${t.end.line}:${t.end.column}`);const i=r===t.start.line,a=r===t.end.line;let s="";if(i){const e=o.substring(0,t.start.column);s=e.length<t.start.column?e.padEnd(t.start.column," "):e}const c=a?o.substring(t.end.column):"";e[r-1]=s+l[r-t.start.line]+c}}function dt(e,t){if(!e[t-1])for(let n=0;n<t;n++)e[n]||(e[n]="");return e[t-1]}function pt(e,n=""){const r=M(),l=new Set,o=new Set,i=new Set;let a=r,s=0;return Te(e,{[t.Table](e){const t=e.key.item.value;try{yt(r,t,e.type,{tables:l,table_arrays:o,defined:i})}catch(t){const r=t;throw new b(n,e.key.loc.start,r.message)}const s=wt(t);l.add(s),i.add(s),a=gt(r,t)},[t.TableArray](e){const t=e.key.item.value;try{yt(r,t,e.type,{tables:l,table_arrays:o,defined:i})}catch(t){const r=t;throw new b(n,e.key.loc.start,r.message)}const s=wt(t);o.add(s),i.add(s),a=function(e,t){const n=vt(e,t.slice(0,-1)),r=U(t);n[r]||(n[r]=[]);const l=M();return n[U(t)].push(l),l}(r,t)},[t.KeyValue]:{enter(e){if(s>0)return;const t=e.key.value;try{yt(a,t,e.type,{tables:l,table_arrays:o,defined:i})}catch(t){const r=t;throw new b(n,e.key.loc.start,r.message)}const r=ht(e.value);(t.length>1?gt(a,t.slice(0,-1)):a)[U(t)]=r,i.add(wt(t))}},[t.InlineTable]:{enter(){s++},exit(){s--}}}),r}function ht(e){switch(e.type){case t.InlineTable:const n=M();return e.items.forEach((({item:e})=>{const t=e.key.value,r=ht(e.value);(t.length>1?gt(n,t.slice(0,-1)):n)[U(t)]=r})),n;case t.InlineArray:return e.items.map((e=>ht(e.item)));case t.DateTime:case t.String:case t.Integer:case t.Float:case t.Boolean:return e.value;default:throw new Error(`Unrecognized value type "${e.type}"`)}}function yt(e,n,r,l){let o=[],i=0;for(const t of n){if(o.push(t),!Z(e,t))return;if("object"!=typeof(a=e[t])&&!j(a))throw new Error(`Invalid key, a value has already been defined for ${o.join(".")}`);const r=wt(o);if(Array.isArray(e[t])&&!l.table_arrays.has(r))throw new Error(`Invalid key, cannot add to a static array at ${r}`);const s=i++<n.length-1;e=Array.isArray(e[t])&&s?U(e[t]):e[t]}var a;const s=wt(n);if(e&&r===t.Table&&l.defined.has(s))throw new Error(`Invalid key, a table has already been defined named ${s}`);if(e&&r===t.TableArray&&!l.table_arrays.has(s))throw new Error(`Invalid key, cannot add an array of tables to a table at ${s}`)}function gt(e,t){const n=vt(e,t.slice(0,-1)),r=U(t);return n[r]||(n[r]=M()),n[r]}function vt(e,t){return t.reduce(((e,t)=>(e[t]||(e[t]=M()),Array.isArray(e[t])?U(e[t]):e[t])),e)}function wt(e){return e.join(".")}var St,Tt,bt,$t;function It(e){return e.type===St.Remove}function kt(e,t,n=[]){return e===t||(l=t,j(r=e)&&j(l)&&r.toISOString()===l.toISOString())?[]:Array.isArray(e)&&Array.isArray(t)?function(e,t,n=[]){let r=[];const l=e.map(W),o=t.map(W);o.forEach(((i,a)=>{const s=a>=l.length;if(!s&&l[a]===i)return;const c=l.indexOf(i,a+1);if(!s&&c>-1){r.push({type:St.Move,path:n,from:c,to:a});const e=l.splice(c,1);return void l.splice(a,0,...e)}const u=!o.includes(l[a]);if(!s&&u)return P(r,kt(e[a],t[a],n.concat(a))),void(l[a]=i);r.push({type:St.Add,path:n.concat(a)}),l.splice(a,0,i)}));for(let e=o.length;e<l.length;e++)r.push({type:St.Remove,path:n.concat(e)});return r}(e,t,n):N(e)&&N(t)?function(e,t,n=[]){let r=[];const l=Object.keys(e),o=l.map((t=>W(e[t]))),i=Object.keys(t),a=i.map((e=>W(t[e]))),s=(e,t)=>{if(t.indexOf(e)<0)return!1;const n=l[o.indexOf(e)];return!i.includes(n)};return l.forEach(((l,c)=>{const u=n.concat(l);if(i.includes(l))P(r,kt(e[l],t[l],u));else if(s(o[c],a)){const e=i[a.indexOf(o[c])];r.push({type:St.Rename,path:n,from:l,to:e})}else r.push({type:St.Remove,path:u})})),i.forEach(((e,t)=>{l.includes(e)||s(a[t],o)||r.push({type:St.Add,path:n.concat(e)})})),r}(e,t,n):[{type:St.Edit,path:n}];var r,l}function Et(e,t){if(!t.length)return u(e)&&i(e.item)?e.item:e;if(i(e))return Et(e.value,t);const n={};let r;if(d(e)&&e.items.some(((e,a)=>{try{let s=[];if(i(e))s=e.key.value;else if(l(e))s=e.key.item.value;else if(o(e)){s=e.key.item.value;const t=W(s);n[t]||(n[t]=0);const r=n[t]++;s=s.concat(r)}else u(e)&&i(e.item)?s=e.item.key.value:u(e)&&(s=[a]);return!(!s.length||!function(e,t){if(e.length!==t.length)return!1;for(let n=0;n<e.length;n++)if(e[n]!==t[n])return!1;return!0}(s,t.slice(0,s.length)))&&(r=u(e)&&i(e.item)?t.length===s.length?e:Et(e.item.value,t.slice(s.length)):Et(e,t.slice(s.length)),!0)}catch(e){return!1}})),!r)throw new Error(`Could not find node at path ${t.join(".")}`);return r}function xt(e,t){try{return Et(e,t)}catch(e){}}function At(e,t){let n,r=t;for(;r.length&&!n;)r=r.slice(0,-1),n=xt(e,r);if(!n)throw new Error(`Count not find parent node for path ${t.join(".")}`);return n}function Ct(e,n,a){const s=[...e],m=pt(s),d={type:t.Document,loc:{start:{line:1,column:0},end:{line:1,column:0}},items:s},h=it(n,Xe(Object.assign(Object.assign({},a),{inlineTableStart:void 0}),a)),y=function(e){for(let t=0;t<e.length;t++){const n=e[t];if(It(n)){let r=t+1;for(;r<e.length;){const l=e[r];if(It(l)&&l.path[0]===n.path[0]&&l.path[1]>n.path[1]){e.splice(r,1),e.splice(t,0,l),t=0;break}r++}}}return e}(kt(m,n));if(0===y.length)return{tomlString:ft(s,a),document:d};const g=function(e,t,n,a){return n.forEach((n=>{if(function(e){return e.type===St.Add}(n)){const s=Et(t,n.path),m=n.path.slice(0,-1);let d,p=U(n.path),h=o(s);if(K(p)&&!m.some(K)){const t=xt(e,m.concat(0));t&&o(t)&&(h=!0)}if(l(s))d=e;else if(h){d=e;const t=e,n=xt(t,m.concat(p-1)),r=xt(t,m.concat(p));p=r?t.items.indexOf(r):n?t.items.indexOf(n)+1:t.items.length}else d=At(e,n.path),i(d)&&(d=d.value);if(o(d)||c(d)||r(d)){if(c(d)){const e=Ye(d);u(s)&&(s.comma=e)}if(void 0!==a.inlineTableStart&&a.inlineTableStart>0&&r(d)&&l(s)){const t=Dt(s,e,a);xe(e,d,s,p);for(const n of t)xe(e,e,n,void 0)}else xe(e,d,s,p)}else if(f(d)){const t=Ge(d);if(i(s)){const n=We(s);n.comma=t,xe(e,d,n)}else xe(e,d,s)}else if(void 0!==a.inlineTableStart&&a.inlineTableStart>0&&i(s)&&f(s.value)&&l(d)){lt([...d.key.item.value,...s.key.value])<a.inlineTableStart?function(e,t,n,r){const l=t.key.item.value,o=[...l,...e.key.value],a=Me(o);if(f(e.value))for(const t of e.value.items)u(t)&&i(t.item)&&xe(n,a,t.item,void 0);xe(n,n,a,void 0),rt(t);const s=Dt(a,n,r);for(const e of s)xe(n,n,e,void 0)}(s,d,e,a):xe(e,d,s)}else if(0===a.inlineTableStart&&i(s)&&f(s.value)&&r(d))xe(e,d,s,void 0,!0);else{let t=s;u(s)&&(l(d)||r(d))&&(t=s.item),xe(e,d,t)}}else if(function(e){return e.type===St.Edit}(n)){let r,l=Et(e,n.path),o=Et(t,n.path);if(i(l)&&i(o))Ot(l.value,o.value),r=l,l=l.value,o=o.value;else if(i(l)&&u(o)&&i(o.item))r=l,l=l.value,o=o.item.value;else if(u(l)&&i(o))r=l,l=l.item;else if(u(l)&&u(o)&&i(l.item)&&i(o.item))Ot(l.item.value,o.item.value),r=l.item,l=l.item.value,o=o.item.value;else if(r=At(e,n.path),i(r)){const t=n.path.slice(0,-1),l=Et(e,t);i(l)&&c(l.value)&&(r=l.value)}Ee(e,r,l,o)}else if(It(n)){let t=At(e,n.path);i(t)&&(t=t.value);const r=Et(e,n.path);Ce(e,t,r)}else if(function(e){return e.type===St.Move}(n)){let t=Et(e,n.path);p(t)&&(t=t.item),i(t)&&(t=t.value);const r=t.items[n.from];Ce(e,t,r),xe(e,t,r,n.to)}else if(function(e){return e.type===St.Rename}(n)){let r=Et(e,n.path.concat(n.from)),l=Et(t,n.path.concat(n.to));p(r)&&(r=r.item),p(l)&&(l=l.item),Ee(e,r,r.key,l.key)}})),_e(e),e}(d,h,y,a);return{tomlString:ft(g.items,a),document:g}}function Ot(e,t){if(a(e)&&a(t)&&z(e.raw)){const n=Be(t.value,e.raw);t.raw=n.raw,t.loc=n.loc}if(s(e)&&s(t)){const n=e.raw,r=t.value,l=re.createDateWithOriginalFormat(r,n);t.value=l,t.raw=l.toISOString();0!==t.raw.length-n.length&&(t.loc.end.column=t.loc.start.column+t.raw.length)}if(c(e)&&c(t)){const n=Ye(e);if(t.items.length>0){t.items[t.items.length-1].comma=n}}if(f(e)&&f(t)){const n=Ge(e);if(t.items.length>0){t.items[t.items.length-1].comma=n}}}function Dt(e,t,n){const r=[],l=(e,r)=>{var o;for(let a=e.items.length-1;a>=0;a--){const s=e.items[a];if(i(s)&&f(s.value)){const c=[...e.key.item.value,...s.key.value];if(lt(c)<(null!==(o=n.inlineTableStart)&&void 0!==o?o:1)&&0!==n.inlineTableStart){const n=Me(c);for(const e of s.value.items)u(e)&&i(e.item)&&xe(t,n,e.item,void 0);e.items.splice(a,1),rt(e),r.push(n),l(n,r)}}}};return l(e,r),r}function _t(e,t,n,r){if("a"===n&&!r)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof t?e!==t||!r:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===n?r:"a"===n?r.call(e):r?r.value:t.get(e)}function Ft(e,t,n,r,l){if("m"===r)throw new TypeError("Private method is not writable");if("a"===r&&!l)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof t?e!==t||!l:!t.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===r?l.call(e,n):l?l.value=n:t.set(e,n),n}function Lt(e,t){return e.line!==t.line?e.line-t.line:e.column-t.column}!function(e){e.Add="Add",e.Edit="Edit",e.Remove="Remove",e.Move="Move",e.Rename="Rename"}(St||(St={})),"function"==typeof SuppressedError&&SuppressedError;function Ut(e){if(e instanceof Date)return new Date(e.getTime());if(Array.isArray(e))return e.map(Ut);if(e&&"object"==typeof e){const t={};for(const[n,r]of Object.entries(e))t[n]=Ut(r);return t}return e}Tt=new WeakMap,bt=new WeakMap,$t=new WeakMap,e.TomlDocument=class{constructor(e){Tt.set(this,void 0),bt.set(this,void 0),$t.set(this,void 0),Ft(this,bt,e,"f"),Ft(this,Tt,Array.from(ge(e)),"f"),Ft(this,$t,et.autoDetectFormat(e),"f")}get toTomlString(){return _t(this,bt,"f")}get toJsObject(){return Ut(pt(_t(this,Tt,"f")))}get ast(){return _t(this,Tt,"f")}patch(e,t){const n=Xe(t,_t(this,$t,"f")),{tomlString:r,document:l}=Ct(_t(this,Tt,"f"),e,n);Ft(this,Tt,l.items,"f"),Ft(this,bt,r,"f")}update(e){if(e===this.toTomlString)return;const t=this.toTomlString.split(_t(this,$t,"f").newLine),n=Qe(e),r=e.split(n);let l=0;for(;l<t.length&&l<r.length&&t[l]===r[l];)l++;let o=0;if(l<t.length&&l<r.length){const e=t[l],n=r[l];for(let t=0;t<Math.max(e.length,n.length);t++)if(e[t]!==n[t]){o=t;break}}let i=l+1;const{truncatedAst:a,lastEndPosition:s}=function(e,t,n){const r={line:t,column:n},l=[];let o=null;for(const t of e){const e=Lt(t.loc.end,r)<0,n=Lt(t.loc.start,r)<0;if(!e){if(n&&!e)break;break}l.push(t),o=t.loc.end}return{truncatedAst:l,lastEndPosition:o}}(_t(this,Tt,"f"),i,o),c=s?s.line:1,u=s?s.column+1:0,f=r.slice(c-1);f.length>0&&u>0&&(f[0]=f[0].substring(u));const m=f.join(_t(this,$t,"f").newLine);Ft(this,Tt,Array.from(function*(e,t){for(const t of e)yield t;for(const e of ge(t))yield e}(a,m)),"f"),Ft(this,bt,e,"f"),Ft(this,$t,et.autoDetectFormat(e),"f")}overwrite(e){e!==this.toTomlString&&(Ft(this,Tt,Array.from(ge(e)),"f"),Ft(this,bt,e,"f"),Ft(this,$t,et.autoDetectFormat(e),"f"))}},e.TomlFormat=et,e.parse=function(e){return pt(ge(e),e)},e.patch=function(e,t,n){return Ct(ge(e),t,Xe(n,et.autoDetectFormat(e))).tomlString},e.stringify=function(e,t){const n=Xe(t,et.default());return ft(it(e,n).items,n)}}));
|
|
3
3
|
//# sourceMappingURL=toml-patch.umd.min.js.map
|