@decimalturn/toml-patch 0.4.0 → 0.5.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.
package/dist/toml-patch.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
//! @decimalturn/toml-patch v0.
|
|
1
|
+
//! @decimalturn/toml-patch v0.5.0 - https://github.com/DecimalTurn/toml-patch - @license: MIT
|
|
2
2
|
interface Location {
|
|
3
3
|
start: Position;
|
|
4
4
|
end: Position;
|
|
@@ -212,7 +212,17 @@ declare class TomlFormat {
|
|
|
212
212
|
* - 2: Two levels as sections, deeper nesting as inline
|
|
213
213
|
*/
|
|
214
214
|
inlineTableStart?: number;
|
|
215
|
-
|
|
215
|
+
/**
|
|
216
|
+
* Whether to truncate time components in UTC date fields when they are zero.
|
|
217
|
+
* This setting affects only the stringification process.
|
|
218
|
+
*
|
|
219
|
+
* @example
|
|
220
|
+
* - true: Date('2024-01-15T00:00:00.000Z') serializes as 2024-01-15
|
|
221
|
+
* - false: Date('2024-01-15T00:00:00.000Z') serializes as 2024-01-15T00:00:00.000Z
|
|
222
|
+
*
|
|
223
|
+
*/
|
|
224
|
+
truncateZeroTimeInDates?: boolean;
|
|
225
|
+
constructor(newLine?: string, trailingNewline?: number, trailingComma?: boolean, bracketSpacing?: boolean, inlineTableStart?: number, truncateZeroTimeInDates?: boolean);
|
|
216
226
|
/**
|
|
217
227
|
* Creates a new TomlFormat instance with default formatting preferences.
|
|
218
228
|
*
|
|
@@ -222,6 +232,7 @@ declare class TomlFormat {
|
|
|
222
232
|
* - trailingComma: false
|
|
223
233
|
* - bracketSpacing: true
|
|
224
234
|
* - inlineTableStart: 1
|
|
235
|
+
* - truncateZeroTimeInDates: false
|
|
225
236
|
*/
|
|
226
237
|
static default(): TomlFormat;
|
|
227
238
|
/**
|
package/dist/toml-patch.es.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
//! @decimalturn/toml-patch v0.
|
|
1
|
+
//! @decimalturn/toml-patch v0.5.0 - https://github.com/DecimalTurn/toml-patch - @license: MIT
|
|
2
2
|
var NodeType;
|
|
3
3
|
(function (NodeType) {
|
|
4
4
|
NodeType["Document"] = "Document";
|
|
@@ -2154,7 +2154,16 @@ function generateBoolean(value) {
|
|
|
2154
2154
|
value
|
|
2155
2155
|
};
|
|
2156
2156
|
}
|
|
2157
|
-
function generateDateTime(value) {
|
|
2157
|
+
function generateDateTime(value, format) {
|
|
2158
|
+
// Convert Date objects with zero time components to LocalDate
|
|
2159
|
+
// so they are serialized as date-only in TOML
|
|
2160
|
+
if (format.truncateZeroTimeInDates &&
|
|
2161
|
+
value.getUTCHours() === 0 &&
|
|
2162
|
+
value.getUTCMinutes() === 0 &&
|
|
2163
|
+
value.getUTCSeconds() === 0 &&
|
|
2164
|
+
value.getUTCMilliseconds() === 0) {
|
|
2165
|
+
value = new LocalDate(value.toISOString().split('T')[0]);
|
|
2166
|
+
}
|
|
2158
2167
|
// Custom date classes have their own toISOString() implementations
|
|
2159
2168
|
// that return the properly formatted strings for each TOML date/time type
|
|
2160
2169
|
const raw = value.toISOString();
|
|
@@ -2194,6 +2203,7 @@ const DEFAULT_TRAILING_NEWLINE = 1;
|
|
|
2194
2203
|
const DEFAULT_TRAILING_COMMA = false;
|
|
2195
2204
|
const DEFAULT_BRACKET_SPACING = true;
|
|
2196
2205
|
const DEFAULT_INLINE_TABLE_START = 1;
|
|
2206
|
+
const DEFAULT_TRUNCATE_ZERO_TIME_IN_DATES = false;
|
|
2197
2207
|
// Detects if trailing commas are used in the existing TOML by examining the AST
|
|
2198
2208
|
// Returns true if trailing commas are used, false if not or comma-separated structures found (ie. default to false)
|
|
2199
2209
|
function detectTrailingComma(ast) {
|
|
@@ -2397,7 +2407,7 @@ function validateFormatObject(format) {
|
|
|
2397
2407
|
if (!format || typeof format !== 'object') {
|
|
2398
2408
|
return {};
|
|
2399
2409
|
}
|
|
2400
|
-
const supportedProperties = new Set(['newLine', 'trailingNewline', 'trailingComma', 'bracketSpacing', 'inlineTableStart']);
|
|
2410
|
+
const supportedProperties = new Set(['newLine', 'trailingNewline', 'trailingComma', 'bracketSpacing', 'inlineTableStart', 'truncateZeroTimeInDates']);
|
|
2401
2411
|
const validatedFormat = {};
|
|
2402
2412
|
const unsupportedProperties = [];
|
|
2403
2413
|
const invalidTypeProperties = [];
|
|
@@ -2426,6 +2436,7 @@ function validateFormatObject(format) {
|
|
|
2426
2436
|
break;
|
|
2427
2437
|
case 'trailingComma':
|
|
2428
2438
|
case 'bracketSpacing':
|
|
2439
|
+
case 'truncateZeroTimeInDates':
|
|
2429
2440
|
if (typeof value === 'boolean') {
|
|
2430
2441
|
validatedFormat[key] = value;
|
|
2431
2442
|
}
|
|
@@ -2471,7 +2482,7 @@ function validateFormatObject(format) {
|
|
|
2471
2482
|
* @returns A resolved TomlFormat instance
|
|
2472
2483
|
*/
|
|
2473
2484
|
function resolveTomlFormat(format, fallbackFormat) {
|
|
2474
|
-
var _a, _b, _c, _d;
|
|
2485
|
+
var _a, _b, _c, _d, _e;
|
|
2475
2486
|
if (format) {
|
|
2476
2487
|
// If format is provided, validate and merge it with fallback
|
|
2477
2488
|
if (format instanceof TomlFormat) {
|
|
@@ -2481,7 +2492,7 @@ function resolveTomlFormat(format, fallbackFormat) {
|
|
|
2481
2492
|
// Validate the format object and warn about unsupported properties
|
|
2482
2493
|
const validatedFormat = validateFormatObject(format);
|
|
2483
2494
|
// Create a new TomlFormat instance with validated properties
|
|
2484
|
-
return new TomlFormat((_a = validatedFormat.newLine) !== null && _a !== void 0 ? _a : fallbackFormat.newLine, (_b = validatedFormat.trailingNewline) !== null && _b !== void 0 ? _b : fallbackFormat.trailingNewline, (_c = validatedFormat.trailingComma) !== null && _c !== void 0 ? _c : fallbackFormat.trailingComma, (_d = validatedFormat.bracketSpacing) !== null && _d !== void 0 ? _d : fallbackFormat.bracketSpacing, validatedFormat.inlineTableStart !== undefined ? validatedFormat.inlineTableStart : fallbackFormat.inlineTableStart);
|
|
2495
|
+
return new TomlFormat((_a = validatedFormat.newLine) !== null && _a !== void 0 ? _a : fallbackFormat.newLine, (_b = validatedFormat.trailingNewline) !== null && _b !== void 0 ? _b : fallbackFormat.trailingNewline, (_c = validatedFormat.trailingComma) !== null && _c !== void 0 ? _c : fallbackFormat.trailingComma, (_d = validatedFormat.bracketSpacing) !== null && _d !== void 0 ? _d : fallbackFormat.bracketSpacing, validatedFormat.inlineTableStart !== undefined ? validatedFormat.inlineTableStart : fallbackFormat.inlineTableStart, (_e = validatedFormat.truncateZeroTimeInDates) !== null && _e !== void 0 ? _e : fallbackFormat.truncateZeroTimeInDates);
|
|
2485
2496
|
}
|
|
2486
2497
|
}
|
|
2487
2498
|
else {
|
|
@@ -2494,13 +2505,14 @@ class TomlFormat {
|
|
|
2494
2505
|
//printWidth?: number;
|
|
2495
2506
|
//tabWidth?: number;
|
|
2496
2507
|
//useTabs?: boolean;
|
|
2497
|
-
constructor(newLine, trailingNewline, trailingComma, bracketSpacing, inlineTableStart) {
|
|
2508
|
+
constructor(newLine, trailingNewline, trailingComma, bracketSpacing, inlineTableStart, truncateZeroTimeInDates) {
|
|
2498
2509
|
// Use provided values or fall back to defaults
|
|
2499
2510
|
this.newLine = newLine !== null && newLine !== void 0 ? newLine : DEFAULT_NEWLINE;
|
|
2500
2511
|
this.trailingNewline = trailingNewline !== null && trailingNewline !== void 0 ? trailingNewline : DEFAULT_TRAILING_NEWLINE;
|
|
2501
2512
|
this.trailingComma = trailingComma !== null && trailingComma !== void 0 ? trailingComma : DEFAULT_TRAILING_COMMA;
|
|
2502
2513
|
this.bracketSpacing = bracketSpacing !== null && bracketSpacing !== void 0 ? bracketSpacing : DEFAULT_BRACKET_SPACING;
|
|
2503
2514
|
this.inlineTableStart = inlineTableStart !== null && inlineTableStart !== void 0 ? inlineTableStart : DEFAULT_INLINE_TABLE_START;
|
|
2515
|
+
this.truncateZeroTimeInDates = truncateZeroTimeInDates !== null && truncateZeroTimeInDates !== void 0 ? truncateZeroTimeInDates : DEFAULT_TRUNCATE_ZERO_TIME_IN_DATES;
|
|
2504
2516
|
}
|
|
2505
2517
|
/**
|
|
2506
2518
|
* Creates a new TomlFormat instance with default formatting preferences.
|
|
@@ -2511,9 +2523,10 @@ class TomlFormat {
|
|
|
2511
2523
|
* - trailingComma: false
|
|
2512
2524
|
* - bracketSpacing: true
|
|
2513
2525
|
* - inlineTableStart: 1
|
|
2526
|
+
* - truncateZeroTimeInDates: false
|
|
2514
2527
|
*/
|
|
2515
2528
|
static default() {
|
|
2516
|
-
return new TomlFormat(DEFAULT_NEWLINE, DEFAULT_TRAILING_NEWLINE, DEFAULT_TRAILING_COMMA, DEFAULT_BRACKET_SPACING, DEFAULT_INLINE_TABLE_START);
|
|
2529
|
+
return new TomlFormat(DEFAULT_NEWLINE, DEFAULT_TRAILING_NEWLINE, DEFAULT_TRAILING_COMMA, DEFAULT_BRACKET_SPACING, DEFAULT_INLINE_TABLE_START, DEFAULT_TRUNCATE_ZERO_TIME_IN_DATES);
|
|
2517
2530
|
}
|
|
2518
2531
|
/**
|
|
2519
2532
|
* Auto-detects formatting preferences from an existing TOML string.
|
|
@@ -2556,6 +2569,11 @@ class TomlFormat {
|
|
|
2556
2569
|
// inlineTableStart uses default value since auto-detection would require
|
|
2557
2570
|
// complex analysis of nested table formatting preferences
|
|
2558
2571
|
format.inlineTableStart = DEFAULT_INLINE_TABLE_START;
|
|
2572
|
+
// truncateZeroTimeInDates uses default value as well
|
|
2573
|
+
// We could always implement detection logic if needed
|
|
2574
|
+
// That would imply checking if all dates have no time component in the TOML.
|
|
2575
|
+
// However, it's not because all dates have no time component that a new key-value can't be introduced where the time component corresponds to midnight.
|
|
2576
|
+
format.truncateZeroTimeInDates = DEFAULT_TRUNCATE_ZERO_TIME_IN_DATES;
|
|
2559
2577
|
return format;
|
|
2560
2578
|
}
|
|
2561
2579
|
}
|
|
@@ -2809,7 +2827,7 @@ function walkValue(value, format) {
|
|
|
2809
2827
|
return generateBoolean(value);
|
|
2810
2828
|
}
|
|
2811
2829
|
else if (isDate(value)) {
|
|
2812
|
-
return generateDateTime(value);
|
|
2830
|
+
return generateDateTime(value, format);
|
|
2813
2831
|
}
|
|
2814
2832
|
else if (Array.isArray(value)) {
|
|
2815
2833
|
return walkInlineArray(value, format);
|
|
@@ -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.DateTime}function s(e){return e.type===t.InlineArray}function c(e){return e.type===t.InlineItem}function u(e){return e.type===t.InlineTable}function f(e){return e.type===t.Comment}function m(e){return r(e)||l(e)||o(e)||u(e)||s(e)}function d(e){return function(e){return e.type===t.TableKey}(e)||function(e){return e.type===t.TableArrayKey}(e)||c(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 p{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 h(e){return{lines:e.end.line-e.start.line+1,columns:e.end.column-e.start.column}}function g(e,t){const n=Array.isArray(e)?e:v(e),r=n.findIndex((e=>e>=t))+1;return{line:r,column:t-(n[r-2]+1||0)}}function v(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 w(e){return{line:e.line,column:e.column}}function S(e){return{start:w(e.start),end:w(e.end)}}class T 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=v(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 b=/\s/,$=/(\r\n|\n)/,k='"',I="'",E=/[\w,\d,\",\',\+,\-,\_]/;function*A(e){const t=new p(e[Symbol.iterator]());t.next();const r=function(e){const t=v(e);return(e,n)=>({start:g(t,e),end:g(t,n)})}(e);for(;!t.done;){if(b.test(t.value));else if("["===t.value||"]"===t.value)yield x(t,r,n.Bracket);else if("{"===t.value||"}"===t.value)yield x(t,r,n.Curly);else if("="===t.value)yield x(t,r,n.Equal);else if(","===t.value)yield x(t,r,n.Comma);else if("."===t.value)yield x(t,r,n.Dot);else if("#"===t.value)yield C(t,r);else{const n=D(e,t.index,I)||D(e,t.index,k);n?yield O(t,r,n,e):yield _(t,r,e)}t.next()}}function x(e,t,n){return{type:n,raw:e.value,loc:t(e.index,e.index+1)}}function C(e,t){const r=e.index;let l=e.value;for(;!e.peek().done&&!$.test(e.peek().value);)e.next(),l+=e.value;return{type:n.Comment,raw:l,loc:t(r,e.index+1)}}function O(e,t,r,l){const o=e.index;let i=r+r+r,a=i;for(e.next(),e.next(),e.next();!e.done&&(!D(l,e.index,r)||L(l,e.index,r));)a+=e.value,e.next();if(e.done)throw new T(l,g(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(!E.test(e.value))throw new T(r,g(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===I;const s=e=>{if(e.peek().done)return!0;const t=e.peek().value;return!(i||a)&&(b.test(t)||","===t||"."===t||"]"===t||"}"===t||"="===t||"#"===t)};for(;!e.done&&!s(e)&&(e.next(),e.value===k&&(i=!i),e.value!==I||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 T(r,g(r,l),`Expected close of string with ${i?k:I}`);return{type:n.Literal,raw:o,loc:t(l,e.index+1)}}function D(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 F(e){return e[e.length-1]}function U(){return Object.create(null)}function M(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 j(e){return e&&"object"==typeof e&&!K(e)&&!Array.isArray(e)}function N(e,t){return Object.prototype.hasOwnProperty.call(e,t)}function B(e,...t){return t.reduce(((e,t)=>t(e)),e)}function P(e){if(j(e)){return`{${Object.keys(e).sort().map((t=>`${JSON.stringify(t)}:${P(e[t])}`)).join(",")}}`}return Array.isArray(e)?`[${e.map(P).join(",")}]`:JSON.stringify(e)}function Z(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]}const W=/\r\n/g,z=/\n/g,V=/^(\r\n|\n)/,q=/(?<!\\)(?:\\\\)*(\\\s*[\n\r\n]\s*)/g;function H(e){return e.startsWith("'''")?B(J(e,3),G):e.startsWith(I)?J(e,1):e.startsWith('"""')?B(J(e,3),G,X,Q,R,Y):e.startsWith(k)?B(J(e,1),Y):e}function R(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 Y(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 J(JSON.stringify(n),1)})),n=t.replace(/\t/g,"\\t");return JSON.parse(`"${n}"`)}function J(e,t){return e.slice(t,e.length-t)}function G(e){return e.replace(V,"")}function Q(e){return e.replace(W,"\\r\\n").replace(z,"\\n")}function X(e){return e.replace(q,((e,t)=>e.replace(t,"")))}class ee{static createDateWithOriginalFormat(e,t){if(ee.IS_DATE_ONLY.test(t)){if(0!==e.getUTCHours()||0!==e.getUTCMinutes()||0!==e.getUTCSeconds()||0!==e.getUTCMilliseconds()){if(e instanceof le)return e;let t=e.toISOString().replace("Z","");return t=t.replace(/\.000$/,""),new re(t,!1)}const t=e.toISOString().split("T")[0];return new te(t)}if(ee.IS_TIME_ONLY.test(t)){if(e instanceof ne)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 ne(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 ne(a,t)}}}if(ee.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 re(r,!1,t)}if(ee.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 re(r,!0,t)}if(ee.IS_OFFSET_DATETIME_T.test(t)||ee.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=ee.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"),y=s.getUTCMilliseconds(),h=l?" ":"T";let g=`${m}:${d}:${p}`;if(o){const e=o[1].length;g+=`.${String(y).padStart(3,"0").slice(0,e)}`}else if(y>0){g+=`.${String(y).padStart(3,"0").replace(/0+$/,"")}`}return new le(`${c}-${u}-${f}${h}${g}${r}`,l)}return e}}ee.IS_DATE_ONLY=/^\d{4}-\d{2}-\d{2}$/,ee.IS_TIME_ONLY=/^\d{2}:\d{2}:\d{2}(?:\.\d+)?$/,ee.IS_LOCAL_DATETIME_T=/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:\.\d+)?$/,ee.IS_LOCAL_DATETIME_SPACE=/^\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}(?:\.\d+)?$/,ee.IS_OFFSET_DATETIME_T=/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:\.\d+)?(?:[Zz]|[+-]\d{2}:\d{2})$/,ee.IS_OFFSET_DATETIME_SPACE=/^\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}(?:\.\d+)?(?:[Zz]|[+-]\d{2}:\d{2})$/,ee.IS_FULL_DATE=/(\d{4})-(\d{2})-(\d{2})/,ee.IS_FULL_TIME=/(\d{2}):(\d{2}):(\d{2})/;class te extends Date{constructor(e){super(e)}toISOString(){return`${this.getUTCFullYear()}-${String(this.getUTCMonth()+1).padStart(2,"0")}-${String(this.getUTCDate()).padStart(2,"0")}`}}class ne extends Date{constructor(e,t){super(`1970-01-01T${e}`),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 re 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 le 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 oe=ee,ie="true",ae=/e/i,se=/\_/g,ce=/inf/,ue=/nan/,fe=/^0x/,me=/^0o/,de=/^0b/;function*pe(e){const t=A(e),n=new p(t);for(;!n.next().done;)yield*ye(n,e)}function*ye(e,r){if(e.value.type===n.Comment)yield ge(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 T(r,e.value.loc.start,`Expected table opening "[", found ${e.value.raw}`);if(!o&&("["!==e.value.raw||"["!==e.peek().value.raw))throw new T(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 T(r,i.loc.start,"Expected table key, reached end of file");i.item={type:t.Key,loc:S(e.value.loc),raw:e.value.raw,value:[H(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(H(e.value.raw))}if(e.next(),o&&(e.done||"]"!==e.value.raw))throw new T(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 T(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(),Z(a,[...ye(e,r)]);return{type:o?t.Table:t.TableArray,loc:{start:w(i.loc.start),end:a.length?w(a[a.length-1].loc.end):w(i.loc.end)},key:i,items:a}}(e,r);else{if(e.value.type!==n.Literal)throw new T(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:S(e.value.loc),raw:e.value.raw,value:[H(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(H(e.value.raw));if(e.next(),e.done||e.value.type!==n.Equal)throw new T(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 T(r,l.loc.start,"Expected value for key-value, reached end of file");const[i,...a]=he(e,r);return[{type:t.KeyValue,key:l,value:i,loc:{start:w(l.loc.start),end:w(i.loc.end)},equals:o},...a]}(e,r)}}function*he(e,r){if(e.value.type===n.Literal)e.value.raw[0]===k||e.value.raw[0]===I?yield function(e){return{type:t.String,loc:e.value.loc,raw:e.value.raw,value:H(e.value.raw)}}(e):e.value.raw===ie||"false"===e.value.raw?yield function(e){return{type:t.Boolean,loc:e.value.loc,value:e.value.raw===ie}}(e):oe.IS_FULL_DATE.test(e.value.raw)||oe.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&&oe.IS_FULL_DATE.test(i)&&oe.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 T(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(oe.IS_FULL_DATE.test(i))l=oe.IS_DATE_ONLY.test(i)?new te(i):oe.IS_LOCAL_DATETIME_T.test(i)?new re(i,!1):oe.IS_LOCAL_DATETIME_SPACE.test(i)?new re(i,!0):oe.IS_OFFSET_DATETIME_T.test(i)?new le(i,!1):oe.IS_OFFSET_DATETIME_SPACE.test(i)?new le(i,!0):new Date(i.replace(" ","T"));else if(oe.IS_TIME_ONLY.test(i))l=new ne(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||ce.test(e.value.raw)||ue.test(e.value.raw)||ae.test(e.value.raw)&&!fe.test(e.value.raw)?yield function(e,r){let l,o=e.value.loc,i=e.value.raw;if(ce.test(i))l="-inf"===i?-1/0:1/0;else if(ue.test(i))l=NaN;else if(e.peek().done||e.peek().value.type!==n.Dot)l=Number(i.replace(se,""));else{const t=o.start;if(e.next(),e.peek().done||e.peek().value.type!==n.Literal)throw new T(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(se,""))}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;fe.test(e.value.raw)?n=16:me.test(e.value.raw)?n=8:de.test(e.value.raw)&&(n=2);const r=parseInt(e.value.raw.replace(se,"").replace(me,"").replace(de,""),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 T(r,e.value.loc.start,`Expected "{" for inline table, found ${e.value.raw}`);const l={type:t.InlineTable,loc:S(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 T(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]=ye(e,r);if(o.type!==t.KeyValue)throw new T(r,e.value.loc.start,`Only key-values are supported in inline tables, found ${o.type}`);const i={type:t.InlineItem,loc:S(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 T(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 T(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 T(r,e.value.loc.start,`Expected "[" for inline array, found ${e.value.raw}`);const l={type:t.InlineArray,loc:S(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 T(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(ge(e));else{const[n,...i]=he(e,r),a={type:t.InlineItem,loc:S(n.loc),item:n,comma:!1};l.items.push(a),Z(o,i)}e.next()}if(e.done||e.value.type!==n.Bracket||"]"!==e.value.raw)throw new T(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 ge(e){return{type:t.Comment,loc:e.value.loc,raw:e.value.raw}}function ve(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 we=ee,Se=new WeakMap,Te=e=>(Se.has(e)||Se.set(e,new WeakMap),Se.get(e)),be=new WeakMap,$e=e=>(be.has(e)||be.set(e,new WeakMap),be.get(e));function ke(e,t,n,r){if(a(n)&&a(r)){const e=n.raw,t=r.value,l=we.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(m(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)&&u(t.value)&&!u(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(d(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}_e(r,{lines:n.loc.start.line-r.loc.start.line,columns:n.loc.start.column-r.loc.start.column});const l=h(n.loc),o=h(r.loc);De({lines:o.lines-l.lines,columns:o.columns-l.columns},$e(e),r,n)}function Ie(e,t,n,a,d){if(!m(t))throw new Error(`Unsupported parent type "${t.type}" for insert`);let p,y;a=null!=a&&"number"==typeof a?a:t.items.length,s(t)||u(t)?({shift:p,offset:y}=function(e,t,n){if(!c(t))throw new Error(`Incompatible child type "${t.type}"`);const r=null!=n?e.items[n-1]:F(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=s(e)&&function(e){if(!e.items.length)return!1;return h(e.loc).lines>e.items.length}(e),u=l&&!0===t.comma;return Ee(e,t,n,{useNewLine:a,hasCommaHandling:!0,isLastElement:l,hasSeparatingCommaBefore:o,hasSeparatingCommaAfter:i,hasTrailingComma:u})}(t,n,a)):d&&r(t)?({shift:p,offset:y}=function(e,t,n){const r=Ee(e,t,n,{useNewLine:!1,hasCommaHandling:!1});return e.items.splice(n,0,t),r}(t,n,a)):({shift:p,offset:y}=function(e,t,n){if(a=t,!(i(a)||l(a)||o(a)||f(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:f(s)?e.loc.start.column:s.loc.start.column}:w(e.loc.start),m=l(t)||o(t);let d=0;c||(d=m?2:1);u.line+=d;const p={lines:u.line-t.loc.start.line,columns:u.column-t.loc.start.column},y=h(t.loc),g={lines:y.lines+(d-1),columns:y.columns};return{shift:p,offset:g}}(t,n,a)),_e(n,p);const g=t.items[a-1],v=g&&$e(e).get(g);v&&(y.lines+=v.lines,y.columns+=v.columns,$e(e).delete(g));$e(e).set(n,y)}function Ee(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:m=!1}=r,d=n>0?e.items[n-1]:void 0,p=d?{line:d.loc.end.line,column:l?f(d)?e.loc.start.column:d.loc.start.column:d.loc.end.column}:w(e.loc.start);let y=0;if(l)y=1;else{const e=c||!a&&!!d;e&&a?p.column+=o:(e||a&&!d)&&(p.column+=i)}p.line+=y;const g={lines:p.line-t.loc.start.line,columns:p.column-t.loc.start.column},v=h(t.loc);if(!a){return{shift:g,offset:{lines:v.lines+(y-1),columns:v.columns}}}let S=0;c&&m&&!u&&s&&(S=-1);return{shift:g,offset:{lines:v.lines+(y-1),columns:v.columns+(c||u?o:0)+(m?1+S:0)}}}function Ae(e,t,n){if(!m(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=>d(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=h(n.loc);o&&f(o)&&o.loc.start.line===n.loc.end.line&&(i=h({start:n.loc.start,end:o.loc.end}),o=t.items[r+1],t.items.splice(r,1));const a=l&&c(l)||o&&c(o),s=l&&l.loc.end.line===n.loc.start.line,u=o&&o.loc.start.line===n.loc.end.line,p=a&&(s||u),y={lines:-(i.lines-(p?1:0)),columns:-i.columns};if(void 0===l&&void 0===o&&(y.lines=0,y.columns=0),a&&s&&(y.columns-=2),a&&!l&&o&&(y.columns-=2),a&&l&&!o){const e=n.comma;l.comma=!!e}const g=l||t,v=l?$e(e):Te(e),w=$e(e),S=v.get(g);S&&(y.lines+=S.lines,y.columns+=S.columns);const T=w.get(n);T&&(y.lines+=T.lines,y.columns+=T.columns),v.set(g,y)}function xe(e,t,n=!0){if(!n)return;if(!t.items.length)return;De({lines:0,columns:1},Te(e),t);const r=F(t.items);De({lines:0,columns:1},$e(e),r)}function Ce(e,t,n=!1){if(!n)return;if(!t.items.length)return;const r=F(t.items);r.comma=!0,De({lines:0,columns:1},$e(e),r)}function Oe(e){const n=Te(e),r=$e(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};ve(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}),Se.delete(e),be.delete(e)}function _e(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 ve(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 De(e,t,n,r){const l=t.get(r||n);l&&(e.lines+=l.lines,e.columns+=l.columns),t.set(n,e)}function Le(){return{type:t.Document,loc:{start:{line:1,column:0},end:{line:1,column:0}},items:[]}}function Fe(e){const n=function(e){const n=je(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:S(n.loc),key:n,items:[]}}function Ue(e){const n=function(e){const n=je(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:S(n.loc),key:n,items:[]}}function Me(e,n){const r=function(e){const n=je(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 _e(n,{lines:0,columns:l+3-n.loc.start.column},{first_line_only:!0}),{type:t.KeyValue,loc:{start:w(r.loc.start),end:w(n.loc.end)},key:r,equals:o,value:n}}const Ke=/^[\w-]+$/;function je(e){return e.map((e=>Ke.test(e)?e:JSON.stringify(e))).join(".")}function Ne(e){return{type:t.InlineItem,loc:S(e.loc),item:e,comma:!1}}const Be=!1,Pe=!0;function Ze(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=Ze(n,t);if(null!==e)return e;if(n.item){const e=Ze(n.item,t);if(null!==e)return e}}for(const n of["value","key","item"])if(e[n]){const r=Ze(e[n],t);if(null!==r)return r}return null}function We(e){if(!e||"object"!=typeof e)return null;if("InlineArray"===e.type&&e.items&&Array.isArray(e.items))return ze(e.items);if("InlineTable"===e.type&&e.items&&Array.isArray(e.items))return ze(e.items);if("KeyValue"===e.type&&e.value)return We(e.value);if(e.items&&Array.isArray(e.items))for(const t of e.items){const e=We(t);if(null!==e)return e}return null}function ze(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 Ve(e){if(!s(e))return!1;if(0===e.items.length)return!1;return!0===e.items[e.items.length-1].comma}function qe(e){if(!u(e))return!1;if(0===e.items.length)return!1;return!0===e.items[e.items.length-1].comma}function He(e){const t=e.indexOf("\n");return t>0&&"\r"===e.substring(t-1,t)?"\r\n":"\n"}function Re(e,t){var n,r,l,o;if(e){if(e instanceof Ye)return e;{const i=function(e){if(!e||"object"!=typeof e)return{};const t=new Set(["newLine","trailingNewline","trailingComma","bracketSpacing","inlineTableStart"]),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":"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 Ye(null!==(n=i.newLine)&&void 0!==n?n:t.newLine,null!==(r=i.trailingNewline)&&void 0!==r?r:t.trailingNewline,null!==(l=i.trailingComma)&&void 0!==l?l:t.trailingComma,null!==(o=i.bracketSpacing)&&void 0!==o?o:t.bracketSpacing,void 0!==i.inlineTableStart?i.inlineTableStart:t.inlineTableStart)}}return t}class Ye{constructor(e,t,n,r,l){this.newLine=null!=e?e:"\n",this.trailingNewline=null!=t?t:1,this.trailingComma=null!=n?n:Be,this.bracketSpacing=null!=r?r:Pe,this.inlineTableStart=null!=l?l:1}static default(){return new Ye("\n",1,Be,Pe,1)}static autoDetectFormat(e){const t=Ye.default();t.newLine=He(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=pe(e),r=Array.from(n);t.trailingComma=function(e){const t=Array.from(e);for(const e of t){const t=We(e);if(null!==t)return t}return Be}(r),t.bracketSpacing=function(e,t){const n=Array.from(t);for(const t of n){const n=Ze(t,e);if(null!==n)return n}return Pe}(e,r)}catch(e){t.trailingComma=Be,t.bracketSpacing=Pe}return t.inlineTableStart=1,t}}function Je(e,t){if(0===t.inlineTableStart)return e;return e.items.filter((e=>{if(!i(e))return!1;const n=u(e.value),r=s(e.value)&&e.value.items.length&&u(e.value.items[0].item);if(n||r){const n=Xe(e.key.value);return void 0===t.inlineTableStart||n<t.inlineTableStart}return!1})).forEach((t=>{Ae(e,e,t),u(t.value)?Ie(e,e,Ge(t)):function(e){const t=Le();for(const n of e.value.items){const r=Ue(e.key.value);Ie(t,t,r);for(const e of n.item.items)Ie(t,r,e.item)}return Oe(t),t.items}(t).forEach((t=>{Ie(e,e,t)}))})),Oe(e),e}function Ge(e){const t=Fe(e.key.value);for(const n of e.value.items)Ie(t,t,n.item);return Oe(t),t}function Qe(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 Xe(e){return Math.max(0,e.length-1)}function et(e,t,n){var r;for(let l=e.items.length-1;l>=0;l--){const o=e.items[l];if(i(o)&&u(o.value)){const l=[...e.key.item.value,...o.key.value];if(Xe(l)<(null!==(r=n.inlineTableStart)&&void 0!==r?r:1)){const r=Fe(l);for(const e of o.value.items)Ie(r,r,e.item);Ae(e,e,o),Qe(e),t.push(r),et(r,t,n)}}}}function tt(e,t=Ye.default()){e=function(e){const t=[],n=[];for(const r in e)j(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=lt(e));const n=Le();for(const r of nt(e,t))Ie(n,n,r);Oe(n);const r=B(n,(e=>Je(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)&&u(r.value)){if(Xe(r.key.value)<t.inlineTableStart){const l=Ge(r);Ae(e,e,r),Ie(e,e,l),et(l,n,t)}}else"Table"===r.type&&et(r,n,t);for(const t of n)Ie(e,e,t);return Oe(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)),_e(r,{lines:t,columns:0}),n=r.loc.end.line;return e}(r)}function*nt(e,t){for(const n of Object.keys(e))yield Me([n],rt(e[n],t))}function rt(e,n){if(null==e)throw new Error('"null" and "undefined" values are not supported');return function(e){return"string"==typeof e}(e)?function(e){const n=JSON.stringify(e);return{type:t.String,loc:{start:{line:1,column:0},end:{line:1,column:n.length}},raw:n,value:e}}(e):M(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&&(!M(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){const n=e.toISOString();return{type:t.DateTime,loc:{start:{line:1,column:0},end:{line:1,column:n.length}},raw:n,value:e}}(e):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){Ie(r,r,Ne(rt(t,n)))}return xe(r,r,n.bracketSpacing),Ce(r,r,n.trailingComma),Oe(r),r}(e,n):function(e,n){if(e=lt(e),!j(e))return rt(e,n);const r={type:t.InlineTable,loc:{start:{line:1,column:0},end:{line:1,column:2}},items:[]},l=[...nt(e,n)];for(const e of l){Ie(r,r,Ne(e))}return xe(r,r,n.bracketSpacing),Ce(r,r,n.trailingComma),Oe(r),r}(e,n)}function lt(e){return e?K(e)?e:"function"==typeof e.toJSON?e.toJSON():e:e}const ot=/(\r\n|\n)/g;function it(e,n){const r=[];return ve(e,{[t.TableKey](e){const{start:t,end:n}=e.loc;at(r,{start:t,end:{line:t.line,column:t.column+1}},"["),at(r,{start:{line:n.line,column:n.column-1},end:n},"]")},[t.TableArrayKey](e){const{start:t,end:n}=e.loc;at(r,{start:t,end:{line:t.line,column:t.column+2}},"[["),at(r,{start:{line:n.line,column:n.column-2},end:n},"]]")},[t.KeyValue](e){const{start:{line:t}}=e.loc;at(r,{start:{line:t,column:e.equals},end:{line:t,column:e.equals+1}},"=")},[t.Key](e){at(r,e.loc,e.raw)},[t.String](e){at(r,e.loc,e.raw)},[t.Integer](e){at(r,e.loc,e.raw)},[t.Float](e){at(r,e.loc,e.raw)},[t.Boolean](e){at(r,e.loc,e.value.toString())},[t.DateTime](e){at(r,e.loc,e.raw)},[t.InlineArray](e){const{start:t,end:n}=e.loc;at(r,{start:t,end:{line:t.line,column:t.column+1}},"["),at(r,{start:{line:n.line,column:n.column-1},end:n},"]")},[t.InlineTable](e){const{start:t,end:n}=e.loc;at(r,{start:t,end:{line:t.line,column:t.column+1}},"{"),at(r,{start:{line:n.line,column:n.column-1},end:n},"}")},[t.InlineItem](e){if(!e.comma)return;const t=e.loc.end;at(r,{start:t,end:{line:t.line,column:t.column+1}},",")},[t.Comment](e){at(r,e.loc,e.raw)}}),r.join(n.newLine)+n.newLine.repeat(n.trailingNewline)}function at(e,t,n){const r=n.split(ot).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=st(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 st(e,t){if(!e[t-1])for(let n=0;n<t;n++)e[n]||(e[n]="");return e[t-1]}function ct(e,n=""){const r=U(),l=new Set,o=new Set,i=new Set;let a=r,s=0;return ve(e,{[t.Table](e){const t=e.key.item.value;try{ft(r,t,e.type,{tables:l,table_arrays:o,defined:i})}catch(t){const r=t;throw new T(n,e.key.loc.start,r.message)}const s=pt(t);l.add(s),i.add(s),a=mt(r,t)},[t.TableArray](e){const t=e.key.item.value;try{ft(r,t,e.type,{tables:l,table_arrays:o,defined:i})}catch(t){const r=t;throw new T(n,e.key.loc.start,r.message)}const s=pt(t);o.add(s),i.add(s),a=function(e,t){const n=dt(e,t.slice(0,-1)),r=F(t);n[r]||(n[r]=[]);const l=U();return n[F(t)].push(l),l}(r,t)},[t.KeyValue]:{enter(e){if(s>0)return;const t=e.key.value;try{ft(a,t,e.type,{tables:l,table_arrays:o,defined:i})}catch(t){const r=t;throw new T(n,e.key.loc.start,r.message)}const r=ut(e.value);(t.length>1?mt(a,t.slice(0,-1)):a)[F(t)]=r,i.add(pt(t))}},[t.InlineTable]:{enter(){s++},exit(){s--}}}),r}function ut(e){switch(e.type){case t.InlineTable:const n=U();return e.items.forEach((({item:e})=>{const t=e.key.value,r=ut(e.value);(t.length>1?mt(n,t.slice(0,-1)):n)[F(t)]=r})),n;case t.InlineArray:return e.items.map((e=>ut(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 ft(e,n,r,l){let o=[],i=0;for(const t of n){if(o.push(t),!N(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=pt(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?F(e[t]):e[t]}var a;const s=pt(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 mt(e,t){const n=dt(e,t.slice(0,-1)),r=F(t);return n[r]||(n[r]=U()),n[r]}function dt(e,t){return t.reduce(((e,t)=>(e[t]||(e[t]=U()),Array.isArray(e[t])?F(e[t]):e[t])),e)}function pt(e){return e.join(".")}var yt,ht,gt,vt;function wt(e){return e.type===yt.Remove}function St(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(P),o=t.map(P);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:yt.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 Z(r,St(e[a],t[a],n.concat(a))),void(l[a]=i);r.push({type:yt.Add,path:n.concat(a)}),l.splice(a,0,i)}));for(let e=o.length;e<l.length;e++)r.push({type:yt.Remove,path:n.concat(e)});return r}(e,t,n):j(e)&&j(t)?function(e,t,n=[]){let r=[];const l=Object.keys(e),o=l.map((t=>P(e[t]))),i=Object.keys(t),a=i.map((e=>P(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))Z(r,St(e[l],t[l],u));else if(s(o[c],a)){const e=i[a.indexOf(o[c])];r.push({type:yt.Rename,path:n,from:l,to:e})}else r.push({type:yt.Remove,path:u})})),i.forEach(((e,t)=>{l.includes(e)||s(a[t],o)||r.push({type:yt.Add,path:n.concat(e)})})),r}(e,t,n):[{type:yt.Edit,path:n}];var r,l}function Tt(e,t){if(!t.length)return c(e)&&i(e.item)?e.item:e;if(i(e))return Tt(e.value,t);const n={};let r;if(m(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=P(s);n[t]||(n[t]=0);const r=n[t]++;s=s.concat(r)}else c(e)&&i(e.item)?s=e.item.key.value:c(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=Tt(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 bt(e,t){try{return Tt(e,t)}catch(e){}}function $t(e,t){let n,r=t;for(;r.length&&!n;)r=r.slice(0,-1),n=bt(e,r);if(!n)throw new Error(`Count not find parent node for path ${t.join(".")}`);return n}function kt(e,n,a){const f=[...e],m=ct(f),p={type:t.Document,loc:{start:{line:1,column:0},end:{line:1,column:0}},items:f},y=tt(n,Re(Object.assign(Object.assign({},a),{inlineTableStart:void 0}),a)),h=function(e){for(let t=0;t<e.length;t++){const n=e[t];if(wt(n)){let r=t+1;for(;r<e.length;){const l=e[r];if(wt(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}(St(m,n));if(0===h.length)return{tomlString:it(f,a),document:p};const g=function(e,t,n,a){return n.forEach((n=>{if(function(e){return e.type===yt.Add}(n)){const f=Tt(t,n.path),m=n.path.slice(0,-1);let d,p=F(n.path),y=o(f);if(M(p)&&!m.some(M)){const t=bt(e,m.concat(0));t&&o(t)&&(y=!0)}if(l(f))d=e;else if(y){d=e;const t=e,n=bt(t,m.concat(p-1)),r=bt(t,m.concat(p));p=r?t.items.indexOf(r):n?t.items.indexOf(n)+1:t.items.length}else d=$t(e,n.path),i(d)&&(d=d.value);if(o(d)||s(d)||r(d)){if(s(d)){const e=Ve(d);c(f)&&(f.comma=e)}if(void 0!==a.inlineTableStart&&a.inlineTableStart>0&&r(d)&&l(f)){const t=It(f,e,a);Ie(e,d,f,p);for(const n of t)Ie(e,e,n,void 0)}else Ie(e,d,f,p)}else if(u(d)){const t=qe(d);if(i(f)){const n=Ne(f);n.comma=t,Ie(e,d,n)}else Ie(e,d,f)}else if(void 0!==a.inlineTableStart&&a.inlineTableStart>0&&i(f)&&u(f.value)&&l(d)){Xe([...d.key.item.value,...f.key.value])<a.inlineTableStart?function(e,t,n,r){const l=t.key.item.value,o=[...l,...e.key.value],a=Fe(o);if(u(e.value))for(const t of e.value.items)c(t)&&i(t.item)&&Ie(n,a,t.item,void 0);Ie(n,n,a,void 0),Qe(t);const s=It(a,n,r);for(const e of s)Ie(n,n,e,void 0)}(f,d,e,a):Ie(e,d,f)}else 0===a.inlineTableStart&&i(f)&&u(f.value)&&r(d)?Ie(e,d,f,void 0,!0):Ie(e,d,f)}else if(function(e){return e.type===yt.Edit}(n)){let r,l=Tt(e,n.path),o=Tt(t,n.path);if(i(l)&&i(o)){if(s(l.value)&&s(o.value)){const e=Ve(l.value),t=o.value;if(t.items.length>0){t.items[t.items.length-1].comma=e}}if(u(l.value)&&u(o.value)){const e=qe(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)&&c(o)&&i(o.item))r=l,l=l.value,o=o.item.value;else if(c(l)&&i(o))r=l,l=l.item;else if(r=$t(e,n.path),i(r)){const t=n.path.slice(0,-1),l=Tt(e,t);i(l)&&s(l.value)&&(r=l.value)}ke(e,r,l,o)}else if(wt(n)){let t=$t(e,n.path);i(t)&&(t=t.value);const r=Tt(e,n.path);Ae(e,t,r)}else if(function(e){return e.type===yt.Move}(n)){let t=Tt(e,n.path);d(t)&&(t=t.item),i(t)&&(t=t.value);const r=t.items[n.from];Ae(e,t,r),Ie(e,t,r,n.to)}else if(function(e){return e.type===yt.Rename}(n)){let r=Tt(e,n.path.concat(n.from)),l=Tt(t,n.path.concat(n.to));d(r)&&(r=r.item),d(l)&&(l=l.item),ke(e,r,r.key,l.key)}})),Oe(e),e}(p,y,h,a);return{tomlString:it(g.items,a),document:g}}function It(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)&&u(s.value)){const u=[...e.key.item.value,...s.key.value];if(Xe(u)<(null!==(o=n.inlineTableStart)&&void 0!==o?o:1)&&0!==n.inlineTableStart){const n=Fe(u);for(const e of s.value.items)c(e)&&i(e.item)&&Ie(t,n,e.item,void 0);e.items.splice(a,1),Qe(e),r.push(n),l(n,r)}}}};return l(e,r),r}function Et(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 At(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 xt(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"}(yt||(yt={})),"function"==typeof SuppressedError&&SuppressedError;function Ct(e){if(e instanceof Date)return new Date(e.getTime());if(Array.isArray(e))return e.map(Ct);if(e&&"object"==typeof e){const t={};for(const[n,r]of Object.entries(e))t[n]=Ct(r);return t}return e}ht=new WeakMap,gt=new WeakMap,vt=new WeakMap,e.TomlDocument=class{constructor(e){ht.set(this,void 0),gt.set(this,void 0),vt.set(this,void 0),At(this,gt,e,"f"),At(this,ht,Array.from(pe(e)),"f"),At(this,vt,Ye.autoDetectFormat(e),"f")}get toTomlString(){return Et(this,gt,"f")}get toJsObject(){return Ct(ct(Et(this,ht,"f")))}get ast(){return Et(this,ht,"f")}patch(e,t){const n=Re(t,Et(this,vt,"f")),{tomlString:r,document:l}=kt(Et(this,ht,"f"),e,n);At(this,ht,l.items,"f"),At(this,gt,r,"f")}update(e){if(e===this.toTomlString)return;const t=this.toTomlString.split(Et(this,vt,"f").newLine),n=He(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=xt(t.loc.end,r)<0,n=xt(t.loc.start,r)<0;if(!e){if(n&&!e)break;break}l.push(t),o=t.loc.end}return{truncatedAst:l,lastEndPosition:o}}(Et(this,ht,"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(Et(this,vt,"f").newLine);At(this,ht,Array.from(function*(e,t){for(const t of e)yield t;for(const e of pe(t))yield e}(a,m)),"f"),At(this,gt,e,"f"),At(this,vt,Ye.autoDetectFormat(e),"f")}overwrite(e){e!==this.toTomlString&&(At(this,ht,Array.from(pe(e)),"f"),At(this,gt,e,"f"),At(this,vt,Ye.autoDetectFormat(e),"f"))}},e.TomlFormat=Ye,e.parse=function(e){return ct(pe(e),e)},e.patch=function(e,t,n){return kt(pe(e),t,Re(n,Ye.autoDetectFormat(e))).tomlString},e.stringify=function(e,t){const n=Re(t,Ye.default());return it(tt(e,n).items,n)}}));
|
|
1
|
+
//! @decimalturn/toml-patch v0.5.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.DateTime}function s(e){return e.type===t.InlineArray}function c(e){return e.type===t.InlineItem}function u(e){return e.type===t.InlineTable}function f(e){return e.type===t.Comment}function m(e){return r(e)||l(e)||o(e)||u(e)||s(e)}function d(e){return function(e){return e.type===t.TableKey}(e)||function(e){return e.type===t.TableArrayKey}(e)||c(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 p{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 h(e){return{lines:e.end.line-e.start.line+1,columns:e.end.column-e.start.column}}function g(e,t){const n=Array.isArray(e)?e:v(e),r=n.findIndex((e=>e>=t))+1;return{line:r,column:t-(n[r-2]+1||0)}}function v(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 w(e){return{line:e.line,column:e.column}}function S(e){return{start:w(e.start),end:w(e.end)}}class T 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=v(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 b=/\s/,$=/(\r\n|\n)/,k='"',I="'",E=/[\w,\d,\",\',\+,\-,\_]/;function*A(e){const t=new p(e[Symbol.iterator]());t.next();const r=function(e){const t=v(e);return(e,n)=>({start:g(t,e),end:g(t,n)})}(e);for(;!t.done;){if(b.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 x(t,r);else{const n=_(e,t.index,I)||_(e,t.index,k);n?yield O(t,r,n,e):yield D(t,r,e)}t.next()}}function C(e,t,n){return{type:n,raw:e.value,loc:t(e.index,e.index+1)}}function x(e,t){const r=e.index;let l=e.value;for(;!e.peek().done&&!$.test(e.peek().value);)e.next(),l+=e.value;return{type:n.Comment,raw:l,loc:t(r,e.index+1)}}function O(e,t,r,l){const o=e.index;let i=r+r+r,a=i;for(e.next(),e.next(),e.next();!e.done&&(!_(l,e.index,r)||L(l,e.index,r));)a+=e.value,e.next();if(e.done)throw new T(l,g(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 D(e,t,r){if(!E.test(e.value))throw new T(r,g(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===I;const s=e=>{if(e.peek().done)return!0;const t=e.peek().value;return!(i||a)&&(b.test(t)||","===t||"."===t||"]"===t||"}"===t||"="===t||"#"===t)};for(;!e.done&&!s(e)&&(e.next(),e.value===k&&(i=!i),e.value!==I||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 T(r,g(r,l),`Expected close of string with ${i?k:I}`);return{type:n.Literal,raw:o,loc:t(l,e.index+1)}}function _(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 F(){return Object.create(null)}function M(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 j(e){return e&&"object"==typeof e&&!K(e)&&!Array.isArray(e)}function N(e,t){return Object.prototype.hasOwnProperty.call(e,t)}function B(e,...t){return t.reduce(((e,t)=>t(e)),e)}function Z(e){if(j(e)){return`{${Object.keys(e).sort().map((t=>`${JSON.stringify(t)}:${Z(e[t])}`)).join(",")}}`}return Array.isArray(e)?`[${e.map(Z).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]}const W=/\r\n/g,z=/\n/g,V=/^(\r\n|\n)/,H=/(?<!\\)(?:\\\\)*(\\\s*[\n\r\n]\s*)/g;function q(e){return e.startsWith("'''")?B(J(e,3),G):e.startsWith(I)?J(e,1):e.startsWith('"""')?B(J(e,3),G,X,Q,R,Y):e.startsWith(k)?B(J(e,1),Y):e}function R(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 Y(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 J(JSON.stringify(n),1)})),n=t.replace(/\t/g,"\\t");return JSON.parse(`"${n}"`)}function J(e,t){return e.slice(t,e.length-t)}function G(e){return e.replace(V,"")}function Q(e){return e.replace(W,"\\r\\n").replace(z,"\\n")}function X(e){return e.replace(H,((e,t)=>e.replace(t,"")))}class ee{static createDateWithOriginalFormat(e,t){if(ee.IS_DATE_ONLY.test(t)){if(0!==e.getUTCHours()||0!==e.getUTCMinutes()||0!==e.getUTCSeconds()||0!==e.getUTCMilliseconds()){if(e instanceof le)return e;let t=e.toISOString().replace("Z","");return t=t.replace(/\.000$/,""),new re(t,!1)}const t=e.toISOString().split("T")[0];return new te(t)}if(ee.IS_TIME_ONLY.test(t)){if(e instanceof ne)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 ne(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 ne(a,t)}}}if(ee.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 re(r,!1,t)}if(ee.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 re(r,!0,t)}if(ee.IS_OFFSET_DATETIME_T.test(t)||ee.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=ee.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"),y=s.getUTCMilliseconds(),h=l?" ":"T";let g=`${m}:${d}:${p}`;if(o){const e=o[1].length;g+=`.${String(y).padStart(3,"0").slice(0,e)}`}else if(y>0){g+=`.${String(y).padStart(3,"0").replace(/0+$/,"")}`}return new le(`${c}-${u}-${f}${h}${g}${r}`,l)}return e}}ee.IS_DATE_ONLY=/^\d{4}-\d{2}-\d{2}$/,ee.IS_TIME_ONLY=/^\d{2}:\d{2}:\d{2}(?:\.\d+)?$/,ee.IS_LOCAL_DATETIME_T=/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:\.\d+)?$/,ee.IS_LOCAL_DATETIME_SPACE=/^\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}(?:\.\d+)?$/,ee.IS_OFFSET_DATETIME_T=/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:\.\d+)?(?:[Zz]|[+-]\d{2}:\d{2})$/,ee.IS_OFFSET_DATETIME_SPACE=/^\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}(?:\.\d+)?(?:[Zz]|[+-]\d{2}:\d{2})$/,ee.IS_FULL_DATE=/(\d{4})-(\d{2})-(\d{2})/,ee.IS_FULL_TIME=/(\d{2}):(\d{2}):(\d{2})/;class te extends Date{constructor(e){super(e)}toISOString(){return`${this.getUTCFullYear()}-${String(this.getUTCMonth()+1).padStart(2,"0")}-${String(this.getUTCDate()).padStart(2,"0")}`}}class ne extends Date{constructor(e,t){super(`1970-01-01T${e}`),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 re 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 le 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 oe=ee,ie="true",ae=/e/i,se=/\_/g,ce=/inf/,ue=/nan/,fe=/^0x/,me=/^0o/,de=/^0b/;function*pe(e){const t=A(e),n=new p(t);for(;!n.next().done;)yield*ye(n,e)}function*ye(e,r){if(e.value.type===n.Comment)yield ge(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 T(r,e.value.loc.start,`Expected table opening "[", found ${e.value.raw}`);if(!o&&("["!==e.value.raw||"["!==e.peek().value.raw))throw new T(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 T(r,i.loc.start,"Expected table key, reached end of file");i.item={type:t.Key,loc:S(e.value.loc),raw:e.value.raw,value:[q(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(q(e.value.raw))}if(e.next(),o&&(e.done||"]"!==e.value.raw))throw new T(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 T(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,[...ye(e,r)]);return{type:o?t.Table:t.TableArray,loc:{start:w(i.loc.start),end:a.length?w(a[a.length-1].loc.end):w(i.loc.end)},key:i,items:a}}(e,r);else{if(e.value.type!==n.Literal)throw new T(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:S(e.value.loc),raw:e.value.raw,value:[q(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(q(e.value.raw));if(e.next(),e.done||e.value.type!==n.Equal)throw new T(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 T(r,l.loc.start,"Expected value for key-value, reached end of file");const[i,...a]=he(e,r);return[{type:t.KeyValue,key:l,value:i,loc:{start:w(l.loc.start),end:w(i.loc.end)},equals:o},...a]}(e,r)}}function*he(e,r){if(e.value.type===n.Literal)e.value.raw[0]===k||e.value.raw[0]===I?yield function(e){return{type:t.String,loc:e.value.loc,raw:e.value.raw,value:q(e.value.raw)}}(e):e.value.raw===ie||"false"===e.value.raw?yield function(e){return{type:t.Boolean,loc:e.value.loc,value:e.value.raw===ie}}(e):oe.IS_FULL_DATE.test(e.value.raw)||oe.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&&oe.IS_FULL_DATE.test(i)&&oe.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 T(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(oe.IS_FULL_DATE.test(i))l=oe.IS_DATE_ONLY.test(i)?new te(i):oe.IS_LOCAL_DATETIME_T.test(i)?new re(i,!1):oe.IS_LOCAL_DATETIME_SPACE.test(i)?new re(i,!0):oe.IS_OFFSET_DATETIME_T.test(i)?new le(i,!1):oe.IS_OFFSET_DATETIME_SPACE.test(i)?new le(i,!0):new Date(i.replace(" ","T"));else if(oe.IS_TIME_ONLY.test(i))l=new ne(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||ce.test(e.value.raw)||ue.test(e.value.raw)||ae.test(e.value.raw)&&!fe.test(e.value.raw)?yield function(e,r){let l,o=e.value.loc,i=e.value.raw;if(ce.test(i))l="-inf"===i?-1/0:1/0;else if(ue.test(i))l=NaN;else if(e.peek().done||e.peek().value.type!==n.Dot)l=Number(i.replace(se,""));else{const t=o.start;if(e.next(),e.peek().done||e.peek().value.type!==n.Literal)throw new T(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(se,""))}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;fe.test(e.value.raw)?n=16:me.test(e.value.raw)?n=8:de.test(e.value.raw)&&(n=2);const r=parseInt(e.value.raw.replace(se,"").replace(me,"").replace(de,""),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 T(r,e.value.loc.start,`Expected "{" for inline table, found ${e.value.raw}`);const l={type:t.InlineTable,loc:S(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 T(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]=ye(e,r);if(o.type!==t.KeyValue)throw new T(r,e.value.loc.start,`Only key-values are supported in inline tables, found ${o.type}`);const i={type:t.InlineItem,loc:S(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 T(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 T(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 T(r,e.value.loc.start,`Expected "[" for inline array, found ${e.value.raw}`);const l={type:t.InlineArray,loc:S(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 T(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(ge(e));else{const[n,...i]=he(e,r),a={type:t.InlineItem,loc:S(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 T(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 ge(e){return{type:t.Comment,loc:e.value.loc,raw:e.value.raw}}function ve(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 we=ee,Se=new WeakMap,Te=e=>(Se.has(e)||Se.set(e,new WeakMap),Se.get(e)),be=new WeakMap,$e=e=>(be.has(e)||be.set(e,new WeakMap),be.get(e));function ke(e,t,n,r){if(a(n)&&a(r)){const e=n.raw,t=r.value,l=we.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(m(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)&&u(t.value)&&!u(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(d(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}De(r,{lines:n.loc.start.line-r.loc.start.line,columns:n.loc.start.column-r.loc.start.column});const l=h(n.loc),o=h(r.loc);_e({lines:o.lines-l.lines,columns:o.columns-l.columns},$e(e),r,n)}function Ie(e,t,n,a,d){if(!m(t))throw new Error(`Unsupported parent type "${t.type}" for insert`);let p,y;a=null!=a&&"number"==typeof a?a:t.items.length,s(t)||u(t)?({shift:p,offset:y}=function(e,t,n){if(!c(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=s(e)&&function(e){if(!e.items.length)return!1;return h(e.loc).lines>e.items.length}(e),u=l&&!0===t.comma;return Ee(e,t,n,{useNewLine:a,hasCommaHandling:!0,isLastElement:l,hasSeparatingCommaBefore:o,hasSeparatingCommaAfter:i,hasTrailingComma:u})}(t,n,a)):d&&r(t)?({shift:p,offset:y}=function(e,t,n){const r=Ee(e,t,n,{useNewLine:!1,hasCommaHandling:!1});return e.items.splice(n,0,t),r}(t,n,a)):({shift:p,offset:y}=function(e,t,n){if(a=t,!(i(a)||l(a)||o(a)||f(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:f(s)?e.loc.start.column:s.loc.start.column}:w(e.loc.start),m=l(t)||o(t);let d=0;c||(d=m?2:1);u.line+=d;const p={lines:u.line-t.loc.start.line,columns:u.column-t.loc.start.column},y=h(t.loc),g={lines:y.lines+(d-1),columns:y.columns};return{shift:p,offset:g}}(t,n,a)),De(n,p);const g=t.items[a-1],v=g&&$e(e).get(g);v&&(y.lines+=v.lines,y.columns+=v.columns,$e(e).delete(g));$e(e).set(n,y)}function Ee(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:m=!1}=r,d=n>0?e.items[n-1]:void 0,p=d?{line:d.loc.end.line,column:l?f(d)?e.loc.start.column:d.loc.start.column:d.loc.end.column}:w(e.loc.start);let y=0;if(l)y=1;else{const e=c||!a&&!!d;e&&a?p.column+=o:(e||a&&!d)&&(p.column+=i)}p.line+=y;const g={lines:p.line-t.loc.start.line,columns:p.column-t.loc.start.column},v=h(t.loc);if(!a){return{shift:g,offset:{lines:v.lines+(y-1),columns:v.columns}}}let S=0;c&&m&&!u&&s&&(S=-1);return{shift:g,offset:{lines:v.lines+(y-1),columns:v.columns+(c||u?o:0)+(m?1+S:0)}}}function Ae(e,t,n){if(!m(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=>d(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=h(n.loc);o&&f(o)&&o.loc.start.line===n.loc.end.line&&(i=h({start:n.loc.start,end:o.loc.end}),o=t.items[r+1],t.items.splice(r,1));const a=l&&c(l)||o&&c(o),s=l&&l.loc.end.line===n.loc.start.line,u=o&&o.loc.start.line===n.loc.end.line,p=a&&(s||u),y={lines:-(i.lines-(p?1:0)),columns:-i.columns};if(void 0===l&&void 0===o&&(y.lines=0,y.columns=0),a&&s&&(y.columns-=2),a&&!l&&o&&(y.columns-=2),a&&l&&!o){const e=n.comma;l.comma=!!e}const g=l||t,v=l?$e(e):Te(e),w=$e(e),S=v.get(g);S&&(y.lines+=S.lines,y.columns+=S.columns);const T=w.get(n);T&&(y.lines+=T.lines,y.columns+=T.columns),v.set(g,y)}function Ce(e,t,n=!0){if(!n)return;if(!t.items.length)return;_e({lines:0,columns:1},Te(e),t);const r=U(t.items);_e({lines:0,columns:1},$e(e),r)}function xe(e,t,n=!1){if(!n)return;if(!t.items.length)return;const r=U(t.items);r.comma=!0,_e({lines:0,columns:1},$e(e),r)}function Oe(e){const n=Te(e),r=$e(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};ve(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}),Se.delete(e),be.delete(e)}function De(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 ve(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 _e(e,t,n,r){const l=t.get(r||n);l&&(e.lines+=l.lines,e.columns+=l.columns),t.set(n,e)}function Le(){return{type:t.Document,loc:{start:{line:1,column:0},end:{line:1,column:0}},items:[]}}function Ue(e){const n=function(e){const n=je(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:S(n.loc),key:n,items:[]}}function Fe(e){const n=function(e){const n=je(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:S(n.loc),key:n,items:[]}}function Me(e,n){const r=function(e){const n=je(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 De(n,{lines:0,columns:l+3-n.loc.start.column},{first_line_only:!0}),{type:t.KeyValue,loc:{start:w(r.loc.start),end:w(n.loc.end)},key:r,equals:o,value:n}}const Ke=/^[\w-]+$/;function je(e){return e.map((e=>Ke.test(e)?e:JSON.stringify(e))).join(".")}function Ne(e){return{type:t.InlineItem,loc:S(e.loc),item:e,comma:!1}}const Be=!1,Ze=!0,Pe=!1;function We(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=We(n,t);if(null!==e)return e;if(n.item){const e=We(n.item,t);if(null!==e)return e}}for(const n of["value","key","item"])if(e[n]){const r=We(e[n],t);if(null!==r)return r}return null}function ze(e){if(!e||"object"!=typeof e)return null;if("InlineArray"===e.type&&e.items&&Array.isArray(e.items))return Ve(e.items);if("InlineTable"===e.type&&e.items&&Array.isArray(e.items))return Ve(e.items);if("KeyValue"===e.type&&e.value)return ze(e.value);if(e.items&&Array.isArray(e.items))for(const t of e.items){const e=ze(t);if(null!==e)return e}return null}function Ve(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 He(e){if(!s(e))return!1;if(0===e.items.length)return!1;return!0===e.items[e.items.length-1].comma}function qe(e){if(!u(e))return!1;if(0===e.items.length)return!1;return!0===e.items[e.items.length-1].comma}function Re(e){const t=e.indexOf("\n");return t>0&&"\r"===e.substring(t-1,t)?"\r\n":"\n"}function Ye(e,t){var n,r,l,o,i;if(e){if(e instanceof Je)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 Je(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 Je{constructor(e,t,n,r,l,o){this.newLine=null!=e?e:"\n",this.trailingNewline=null!=t?t:1,this.trailingComma=null!=n?n:Be,this.bracketSpacing=null!=r?r:Ze,this.inlineTableStart=null!=l?l:1,this.truncateZeroTimeInDates=null!=o?o:Pe}static default(){return new Je("\n",1,Be,Ze,1,Pe)}static autoDetectFormat(e){const t=Je.default();t.newLine=Re(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=pe(e),r=Array.from(n);t.trailingComma=function(e){const t=Array.from(e);for(const e of t){const t=ze(e);if(null!==t)return t}return Be}(r),t.bracketSpacing=function(e,t){const n=Array.from(t);for(const t of n){const n=We(t,e);if(null!==n)return n}return Ze}(e,r)}catch(e){t.trailingComma=Be,t.bracketSpacing=Ze}return t.inlineTableStart=1,t.truncateZeroTimeInDates=Pe,t}}function Ge(e,t){if(0===t.inlineTableStart)return e;return e.items.filter((e=>{if(!i(e))return!1;const n=u(e.value),r=s(e.value)&&e.value.items.length&&u(e.value.items[0].item);if(n||r){const n=et(e.key.value);return void 0===t.inlineTableStart||n<t.inlineTableStart}return!1})).forEach((t=>{Ae(e,e,t),u(t.value)?Ie(e,e,Qe(t)):function(e){const t=Le();for(const n of e.value.items){const r=Fe(e.key.value);Ie(t,t,r);for(const e of n.item.items)Ie(t,r,e.item)}return Oe(t),t.items}(t).forEach((t=>{Ie(e,e,t)}))})),Oe(e),e}function Qe(e){const t=Ue(e.key.value);for(const n of e.value.items)Ie(t,t,n.item);return Oe(t),t}function Xe(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 et(e){return Math.max(0,e.length-1)}function tt(e,t,n){var r;for(let l=e.items.length-1;l>=0;l--){const o=e.items[l];if(i(o)&&u(o.value)){const l=[...e.key.item.value,...o.key.value];if(et(l)<(null!==(r=n.inlineTableStart)&&void 0!==r?r:1)){const r=Ue(l);for(const e of o.value.items)Ie(r,r,e.item);Ae(e,e,o),Xe(e),t.push(r),tt(r,t,n)}}}}function nt(e,t=Je.default()){e=function(e){const t=[],n=[];for(const r in e)j(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=ot(e));const n=Le();for(const r of rt(e,t))Ie(n,n,r);Oe(n);const r=B(n,(e=>Ge(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)&&u(r.value)){if(et(r.key.value)<t.inlineTableStart){const l=Qe(r);Ae(e,e,r),Ie(e,e,l),tt(l,n,t)}}else"Table"===r.type&&tt(r,n,t);for(const t of n)Ie(e,e,t);return Oe(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)),De(r,{lines:t,columns:0}),n=r.loc.end.line;return e}(r)}function*rt(e,t){for(const n of Object.keys(e))yield Me([n],lt(e[n],t))}function lt(e,n){if(null==e)throw new Error('"null" and "undefined" values are not supported');return function(e){return"string"==typeof e}(e)?function(e){const n=JSON.stringify(e);return{type:t.String,loc:{start:{line:1,column:0},end:{line:1,column:n.length}},raw:n,value:e}}(e):M(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&&(!M(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 te(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){Ie(r,r,Ne(lt(t,n)))}return Ce(r,r,n.bracketSpacing),xe(r,r,n.trailingComma),Oe(r),r}(e,n):function(e,n){if(e=ot(e),!j(e))return lt(e,n);const r={type:t.InlineTable,loc:{start:{line:1,column:0},end:{line:1,column:2}},items:[]},l=[...rt(e,n)];for(const e of l){Ie(r,r,Ne(e))}return Ce(r,r,n.bracketSpacing),xe(r,r,n.trailingComma),Oe(r),r}(e,n)}function ot(e){return e?K(e)?e:"function"==typeof e.toJSON?e.toJSON():e:e}const it=/(\r\n|\n)/g;function at(e,n){const r=[];return ve(e,{[t.TableKey](e){const{start:t,end:n}=e.loc;st(r,{start:t,end:{line:t.line,column:t.column+1}},"["),st(r,{start:{line:n.line,column:n.column-1},end:n},"]")},[t.TableArrayKey](e){const{start:t,end:n}=e.loc;st(r,{start:t,end:{line:t.line,column:t.column+2}},"[["),st(r,{start:{line:n.line,column:n.column-2},end:n},"]]")},[t.KeyValue](e){const{start:{line:t}}=e.loc;st(r,{start:{line:t,column:e.equals},end:{line:t,column:e.equals+1}},"=")},[t.Key](e){st(r,e.loc,e.raw)},[t.String](e){st(r,e.loc,e.raw)},[t.Integer](e){st(r,e.loc,e.raw)},[t.Float](e){st(r,e.loc,e.raw)},[t.Boolean](e){st(r,e.loc,e.value.toString())},[t.DateTime](e){st(r,e.loc,e.raw)},[t.InlineArray](e){const{start:t,end:n}=e.loc;st(r,{start:t,end:{line:t.line,column:t.column+1}},"["),st(r,{start:{line:n.line,column:n.column-1},end:n},"]")},[t.InlineTable](e){const{start:t,end:n}=e.loc;st(r,{start:t,end:{line:t.line,column:t.column+1}},"{"),st(r,{start:{line:n.line,column:n.column-1},end:n},"}")},[t.InlineItem](e){if(!e.comma)return;const t=e.loc.end;st(r,{start:t,end:{line:t.line,column:t.column+1}},",")},[t.Comment](e){st(r,e.loc,e.raw)}}),r.join(n.newLine)+n.newLine.repeat(n.trailingNewline)}function st(e,t,n){const r=n.split(it).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=ct(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 ct(e,t){if(!e[t-1])for(let n=0;n<t;n++)e[n]||(e[n]="");return e[t-1]}function ut(e,n=""){const r=F(),l=new Set,o=new Set,i=new Set;let a=r,s=0;return ve(e,{[t.Table](e){const t=e.key.item.value;try{mt(r,t,e.type,{tables:l,table_arrays:o,defined:i})}catch(t){const r=t;throw new T(n,e.key.loc.start,r.message)}const s=yt(t);l.add(s),i.add(s),a=dt(r,t)},[t.TableArray](e){const t=e.key.item.value;try{mt(r,t,e.type,{tables:l,table_arrays:o,defined:i})}catch(t){const r=t;throw new T(n,e.key.loc.start,r.message)}const s=yt(t);o.add(s),i.add(s),a=function(e,t){const n=pt(e,t.slice(0,-1)),r=U(t);n[r]||(n[r]=[]);const l=F();return n[U(t)].push(l),l}(r,t)},[t.KeyValue]:{enter(e){if(s>0)return;const t=e.key.value;try{mt(a,t,e.type,{tables:l,table_arrays:o,defined:i})}catch(t){const r=t;throw new T(n,e.key.loc.start,r.message)}const r=ft(e.value);(t.length>1?dt(a,t.slice(0,-1)):a)[U(t)]=r,i.add(yt(t))}},[t.InlineTable]:{enter(){s++},exit(){s--}}}),r}function ft(e){switch(e.type){case t.InlineTable:const n=F();return e.items.forEach((({item:e})=>{const t=e.key.value,r=ft(e.value);(t.length>1?dt(n,t.slice(0,-1)):n)[U(t)]=r})),n;case t.InlineArray:return e.items.map((e=>ft(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 mt(e,n,r,l){let o=[],i=0;for(const t of n){if(o.push(t),!N(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=yt(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=yt(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 dt(e,t){const n=pt(e,t.slice(0,-1)),r=U(t);return n[r]||(n[r]=F()),n[r]}function pt(e,t){return t.reduce(((e,t)=>(e[t]||(e[t]=F()),Array.isArray(e[t])?U(e[t]):e[t])),e)}function yt(e){return e.join(".")}var ht,gt,vt,wt;function St(e){return e.type===ht.Remove}function Tt(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(Z),o=t.map(Z);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:ht.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,Tt(e[a],t[a],n.concat(a))),void(l[a]=i);r.push({type:ht.Add,path:n.concat(a)}),l.splice(a,0,i)}));for(let e=o.length;e<l.length;e++)r.push({type:ht.Remove,path:n.concat(e)});return r}(e,t,n):j(e)&&j(t)?function(e,t,n=[]){let r=[];const l=Object.keys(e),o=l.map((t=>Z(e[t]))),i=Object.keys(t),a=i.map((e=>Z(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,Tt(e[l],t[l],u));else if(s(o[c],a)){const e=i[a.indexOf(o[c])];r.push({type:ht.Rename,path:n,from:l,to:e})}else r.push({type:ht.Remove,path:u})})),i.forEach(((e,t)=>{l.includes(e)||s(a[t],o)||r.push({type:ht.Add,path:n.concat(e)})})),r}(e,t,n):[{type:ht.Edit,path:n}];var r,l}function bt(e,t){if(!t.length)return c(e)&&i(e.item)?e.item:e;if(i(e))return bt(e.value,t);const n={};let r;if(m(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=Z(s);n[t]||(n[t]=0);const r=n[t]++;s=s.concat(r)}else c(e)&&i(e.item)?s=e.item.key.value:c(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=bt(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 $t(e,t){try{return bt(e,t)}catch(e){}}function kt(e,t){let n,r=t;for(;r.length&&!n;)r=r.slice(0,-1),n=$t(e,r);if(!n)throw new Error(`Count not find parent node for path ${t.join(".")}`);return n}function It(e,n,a){const f=[...e],m=ut(f),p={type:t.Document,loc:{start:{line:1,column:0},end:{line:1,column:0}},items:f},y=nt(n,Ye(Object.assign(Object.assign({},a),{inlineTableStart:void 0}),a)),h=function(e){for(let t=0;t<e.length;t++){const n=e[t];if(St(n)){let r=t+1;for(;r<e.length;){const l=e[r];if(St(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}(Tt(m,n));if(0===h.length)return{tomlString:at(f,a),document:p};const g=function(e,t,n,a){return n.forEach((n=>{if(function(e){return e.type===ht.Add}(n)){const f=bt(t,n.path),m=n.path.slice(0,-1);let d,p=U(n.path),y=o(f);if(M(p)&&!m.some(M)){const t=$t(e,m.concat(0));t&&o(t)&&(y=!0)}if(l(f))d=e;else if(y){d=e;const t=e,n=$t(t,m.concat(p-1)),r=$t(t,m.concat(p));p=r?t.items.indexOf(r):n?t.items.indexOf(n)+1:t.items.length}else d=kt(e,n.path),i(d)&&(d=d.value);if(o(d)||s(d)||r(d)){if(s(d)){const e=He(d);c(f)&&(f.comma=e)}if(void 0!==a.inlineTableStart&&a.inlineTableStart>0&&r(d)&&l(f)){const t=Et(f,e,a);Ie(e,d,f,p);for(const n of t)Ie(e,e,n,void 0)}else Ie(e,d,f,p)}else if(u(d)){const t=qe(d);if(i(f)){const n=Ne(f);n.comma=t,Ie(e,d,n)}else Ie(e,d,f)}else if(void 0!==a.inlineTableStart&&a.inlineTableStart>0&&i(f)&&u(f.value)&&l(d)){et([...d.key.item.value,...f.key.value])<a.inlineTableStart?function(e,t,n,r){const l=t.key.item.value,o=[...l,...e.key.value],a=Ue(o);if(u(e.value))for(const t of e.value.items)c(t)&&i(t.item)&&Ie(n,a,t.item,void 0);Ie(n,n,a,void 0),Xe(t);const s=Et(a,n,r);for(const e of s)Ie(n,n,e,void 0)}(f,d,e,a):Ie(e,d,f)}else 0===a.inlineTableStart&&i(f)&&u(f.value)&&r(d)?Ie(e,d,f,void 0,!0):Ie(e,d,f)}else if(function(e){return e.type===ht.Edit}(n)){let r,l=bt(e,n.path),o=bt(t,n.path);if(i(l)&&i(o)){if(s(l.value)&&s(o.value)){const e=He(l.value),t=o.value;if(t.items.length>0){t.items[t.items.length-1].comma=e}}if(u(l.value)&&u(o.value)){const e=qe(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)&&c(o)&&i(o.item))r=l,l=l.value,o=o.item.value;else if(c(l)&&i(o))r=l,l=l.item;else if(r=kt(e,n.path),i(r)){const t=n.path.slice(0,-1),l=bt(e,t);i(l)&&s(l.value)&&(r=l.value)}ke(e,r,l,o)}else if(St(n)){let t=kt(e,n.path);i(t)&&(t=t.value);const r=bt(e,n.path);Ae(e,t,r)}else if(function(e){return e.type===ht.Move}(n)){let t=bt(e,n.path);d(t)&&(t=t.item),i(t)&&(t=t.value);const r=t.items[n.from];Ae(e,t,r),Ie(e,t,r,n.to)}else if(function(e){return e.type===ht.Rename}(n)){let r=bt(e,n.path.concat(n.from)),l=bt(t,n.path.concat(n.to));d(r)&&(r=r.item),d(l)&&(l=l.item),ke(e,r,r.key,l.key)}})),Oe(e),e}(p,y,h,a);return{tomlString:at(g.items,a),document:g}}function Et(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)&&u(s.value)){const u=[...e.key.item.value,...s.key.value];if(et(u)<(null!==(o=n.inlineTableStart)&&void 0!==o?o:1)&&0!==n.inlineTableStart){const n=Ue(u);for(const e of s.value.items)c(e)&&i(e.item)&&Ie(t,n,e.item,void 0);e.items.splice(a,1),Xe(e),r.push(n),l(n,r)}}}};return l(e,r),r}function At(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 Ct(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 xt(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"}(ht||(ht={})),"function"==typeof SuppressedError&&SuppressedError;function Ot(e){if(e instanceof Date)return new Date(e.getTime());if(Array.isArray(e))return e.map(Ot);if(e&&"object"==typeof e){const t={};for(const[n,r]of Object.entries(e))t[n]=Ot(r);return t}return e}gt=new WeakMap,vt=new WeakMap,wt=new WeakMap,e.TomlDocument=class{constructor(e){gt.set(this,void 0),vt.set(this,void 0),wt.set(this,void 0),Ct(this,vt,e,"f"),Ct(this,gt,Array.from(pe(e)),"f"),Ct(this,wt,Je.autoDetectFormat(e),"f")}get toTomlString(){return At(this,vt,"f")}get toJsObject(){return Ot(ut(At(this,gt,"f")))}get ast(){return At(this,gt,"f")}patch(e,t){const n=Ye(t,At(this,wt,"f")),{tomlString:r,document:l}=It(At(this,gt,"f"),e,n);Ct(this,gt,l.items,"f"),Ct(this,vt,r,"f")}update(e){if(e===this.toTomlString)return;const t=this.toTomlString.split(At(this,wt,"f").newLine),n=Re(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=xt(t.loc.end,r)<0,n=xt(t.loc.start,r)<0;if(!e){if(n&&!e)break;break}l.push(t),o=t.loc.end}return{truncatedAst:l,lastEndPosition:o}}(At(this,gt,"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(At(this,wt,"f").newLine);Ct(this,gt,Array.from(function*(e,t){for(const t of e)yield t;for(const e of pe(t))yield e}(a,m)),"f"),Ct(this,vt,e,"f"),Ct(this,wt,Je.autoDetectFormat(e),"f")}overwrite(e){e!==this.toTomlString&&(Ct(this,gt,Array.from(pe(e)),"f"),Ct(this,vt,e,"f"),Ct(this,wt,Je.autoDetectFormat(e),"f"))}},e.TomlFormat=Je,e.parse=function(e){return ut(pe(e),e)},e.patch=function(e,t,n){return It(pe(e),t,Ye(n,Je.autoDetectFormat(e))).tomlString},e.stringify=function(e,t){const n=Ye(t,Je.default());return at(nt(e,n).items,n)}}));
|
|
3
3
|
//# sourceMappingURL=toml-patch.umd.min.js.map
|