smol-toml 1.2.2 → 1.3.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/date.js CHANGED
@@ -1,4 +1,3 @@
1
- "use strict";
2
1
  /*!
3
2
  * Copyright (c) Squirrel Chat et al., All rights reserved.
4
3
  * SPDX-License-Identifier: BSD-3-Clause
@@ -26,10 +25,8 @@
26
25
  * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
27
26
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
28
27
  */
29
- Object.defineProperty(exports, "__esModule", { value: true });
30
- exports.TomlDate = void 0;
31
28
  let DATE_TIME_RE = /^(\d{4}-\d{2}-\d{2})?[T ]?(?:(\d{2}):\d{2}:\d{2}(?:\.\d+)?)?(Z|[-+]\d{2}:\d{2})?$/i;
32
- class TomlDate extends Date {
29
+ export class TomlDate extends Date {
33
30
  #hasDate = false;
34
31
  #hasTime = false;
35
32
  #offset = null;
@@ -126,4 +123,3 @@ class TomlDate extends Date {
126
123
  return date;
127
124
  }
128
125
  }
129
- exports.TomlDate = TomlDate;
package/dist/error.js CHANGED
@@ -1,4 +1,3 @@
1
- "use strict";
2
1
  /*!
3
2
  * Copyright (c) Squirrel Chat et al., All rights reserved.
4
3
  * SPDX-License-Identifier: BSD-3-Clause
@@ -26,8 +25,6 @@
26
25
  * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
27
26
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
28
27
  */
29
- Object.defineProperty(exports, "__esModule", { value: true });
30
- exports.TomlError = void 0;
31
28
  function getLineColFromPtr(string, ptr) {
32
29
  let lines = string.slice(0, ptr).split(/\r\n|\n|\r/g);
33
30
  return [lines.length, lines.pop().length + 1];
@@ -51,7 +48,7 @@ function makeCodeBlock(string, line, column) {
51
48
  }
52
49
  return codeblock;
53
50
  }
54
- class TomlError extends Error {
51
+ export class TomlError extends Error {
55
52
  line;
56
53
  column;
57
54
  codeblock;
@@ -64,4 +61,3 @@ class TomlError extends Error {
64
61
  this.codeblock = codeblock;
65
62
  }
66
63
  }
67
- exports.TomlError = TomlError;
package/dist/extract.js CHANGED
@@ -1,4 +1,3 @@
1
- "use strict";
2
1
  /*!
3
2
  * Copyright (c) Squirrel Chat et al., All rights reserved.
4
3
  * SPDX-License-Identifier: BSD-3-Clause
@@ -26,26 +25,24 @@
26
25
  * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
27
26
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
28
27
  */
29
- Object.defineProperty(exports, "__esModule", { value: true });
30
- exports.extractValue = void 0;
31
- const primitive_js_1 = require("./primitive.js");
32
- const struct_js_1 = require("./struct.js");
33
- const util_js_1 = require("./util.js");
34
- const error_js_1 = require("./error.js");
28
+ import { parseString, parseValue } from './primitive.js';
29
+ import { parseArray, parseInlineTable } from './struct.js';
30
+ import { indexOfNewline, skipVoid, skipUntil, skipComment, getStringEnd } from './util.js';
31
+ import { TomlError } from './error.js';
35
32
  function sliceAndTrimEndOf(str, startPtr, endPtr, allowNewLines) {
36
33
  let value = str.slice(startPtr, endPtr);
37
34
  let commentIdx = value.indexOf('#');
38
35
  if (commentIdx > -1) {
39
36
  // The call to skipComment allows to "validate" the comment
40
37
  // (absence of control characters)
41
- (0, util_js_1.skipComment)(str, commentIdx);
38
+ skipComment(str, commentIdx);
42
39
  value = value.slice(0, commentIdx);
43
40
  }
44
41
  let trimmed = value.trimEnd();
45
42
  if (!allowNewLines) {
46
43
  let newlineIdx = value.indexOf('\n', trimmed.length);
47
44
  if (newlineIdx > -1) {
48
- throw new error_js_1.TomlError('newlines are not allowed in inline tables', {
45
+ throw new TomlError('newlines are not allowed in inline tables', {
49
46
  toml: str,
50
47
  ptr: startPtr + newlineIdx
51
48
  });
@@ -53,17 +50,17 @@ function sliceAndTrimEndOf(str, startPtr, endPtr, allowNewLines) {
53
50
  }
54
51
  return [trimmed, commentIdx];
55
52
  }
56
- function extractValue(str, ptr, end) {
53
+ export function extractValue(str, ptr, end) {
57
54
  let c = str[ptr];
58
55
  if (c === '[' || c === '{') {
59
56
  let [value, endPtr] = c === '['
60
- ? (0, struct_js_1.parseArray)(str, ptr)
61
- : (0, struct_js_1.parseInlineTable)(str, ptr);
62
- let newPtr = (0, util_js_1.skipUntil)(str, endPtr, ',', end);
57
+ ? parseArray(str, ptr)
58
+ : parseInlineTable(str, ptr);
59
+ let newPtr = skipUntil(str, endPtr, ',', end);
63
60
  if (end === '}') {
64
- let nextNewLine = (0, util_js_1.indexOfNewline)(str, endPtr, newPtr);
61
+ let nextNewLine = indexOfNewline(str, endPtr, newPtr);
65
62
  if (nextNewLine > -1) {
66
- throw new error_js_1.TomlError('newlines are not allowed in inline tables', {
63
+ throw new TomlError('newlines are not allowed in inline tables', {
67
64
  toml: str,
68
65
  ptr: nextNewLine
69
66
  });
@@ -73,12 +70,12 @@ function extractValue(str, ptr, end) {
73
70
  }
74
71
  let endPtr;
75
72
  if (c === '"' || c === "'") {
76
- endPtr = (0, util_js_1.getStringEnd)(str, ptr);
77
- let parsed = (0, primitive_js_1.parseString)(str, ptr, endPtr);
73
+ endPtr = getStringEnd(str, ptr);
74
+ let parsed = parseString(str, ptr, endPtr);
78
75
  if (end) {
79
- endPtr = (0, util_js_1.skipVoid)(str, endPtr, end !== ']');
76
+ endPtr = skipVoid(str, endPtr, end !== ']');
80
77
  if (str[endPtr] && str[endPtr] !== ',' && str[endPtr] !== end && str[endPtr] !== '\n' && str[endPtr] !== '\r') {
81
- throw new error_js_1.TomlError('unexpected character encountered', {
78
+ throw new TomlError('unexpected character encountered', {
82
79
  toml: str,
83
80
  ptr: endPtr,
84
81
  });
@@ -87,21 +84,20 @@ function extractValue(str, ptr, end) {
87
84
  }
88
85
  return [parsed, endPtr];
89
86
  }
90
- endPtr = (0, util_js_1.skipUntil)(str, ptr, ',', end);
87
+ endPtr = skipUntil(str, ptr, ',', end);
91
88
  let slice = sliceAndTrimEndOf(str, ptr, endPtr - (+(str[endPtr - 1] === ',')), end === ']');
92
89
  if (!slice[0]) {
93
- throw new error_js_1.TomlError('incomplete key-value declaration: no value specified', {
90
+ throw new TomlError('incomplete key-value declaration: no value specified', {
94
91
  toml: str,
95
92
  ptr: ptr
96
93
  });
97
94
  }
98
95
  if (end && slice[1] > -1) {
99
- endPtr = (0, util_js_1.skipVoid)(str, ptr + slice[1]);
96
+ endPtr = skipVoid(str, ptr + slice[1]);
100
97
  endPtr += +(str[endPtr] === ',');
101
98
  }
102
99
  return [
103
- (0, primitive_js_1.parseValue)(slice[0], str, ptr),
100
+ parseValue(slice[0], str, ptr),
104
101
  endPtr,
105
102
  ];
106
103
  }
107
- exports.extractValue = extractValue;