attenu-guard 0.1.0 → 0.2.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/CHANGELOG.md +34 -0
- package/README.md +12 -4
- package/dist/cjs/audit.d.ts +1 -0
- package/dist/cjs/audit.d.ts.map +1 -1
- package/dist/cjs/audit.js +9 -5
- package/dist/cjs/audit.js.map +1 -1
- package/dist/cjs/canonical.d.ts +21 -69
- package/dist/cjs/canonical.d.ts.map +1 -1
- package/dist/cjs/canonical.js +198 -171
- package/dist/cjs/canonical.js.map +1 -1
- package/dist/cjs/evidence.d.ts +1 -0
- package/dist/cjs/evidence.d.ts.map +1 -1
- package/dist/cjs/evidence.js +8 -3
- package/dist/cjs/evidence.js.map +1 -1
- package/dist/cjs/index.d.ts +4 -4
- package/dist/cjs/index.d.ts.map +1 -1
- package/dist/cjs/index.js +14 -5
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/wire.d.ts +136 -1
- package/dist/cjs/wire.d.ts.map +1 -1
- package/dist/cjs/wire.js +405 -2
- package/dist/cjs/wire.js.map +1 -1
- package/dist/esm/audit.d.ts +1 -0
- package/dist/esm/audit.d.ts.map +1 -1
- package/dist/esm/audit.js +10 -6
- package/dist/esm/audit.js.map +1 -1
- package/dist/esm/canonical.d.ts +21 -69
- package/dist/esm/canonical.d.ts.map +1 -1
- package/dist/esm/canonical.js +192 -168
- package/dist/esm/canonical.js.map +1 -1
- package/dist/esm/evidence.d.ts +1 -0
- package/dist/esm/evidence.d.ts.map +1 -1
- package/dist/esm/evidence.js +8 -3
- package/dist/esm/evidence.js.map +1 -1
- package/dist/esm/index.d.ts +4 -4
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +3 -3
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/wire.d.ts +136 -1
- package/dist/esm/wire.d.ts.map +1 -1
- package/dist/esm/wire.js +400 -2
- package/dist/esm/wire.js.map +1 -1
- package/package.json +1 -1
package/dist/cjs/canonical.js
CHANGED
|
@@ -1,42 +1,41 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
/**
|
|
3
|
-
* canonical.ts — byte-exact interoperability with the Python implementation.
|
|
4
|
-
*
|
|
5
|
-
* Every hash, seal and signature in Attenu is taken over a canonical JSON
|
|
6
|
-
* serialisation. The Python library produces those bytes with
|
|
7
|
-
* `json.dumps(obj, sort_keys=True, separators=(",", ":"))`, whose defaults
|
|
8
|
-
* include `ensure_ascii=True`. `JSON.stringify` differs from that in three
|
|
9
|
-
* ways that would each silently break cross-language verification:
|
|
10
|
-
*
|
|
11
|
-
* 1. key order — `JSON.stringify` preserves insertion order, Python sorts;
|
|
12
|
-
* 2. non-ASCII — Python escapes every code point above U+007E as `\uXXXX`
|
|
13
|
-
* (astral characters as a surrogate pair), `JSON.stringify` emits them raw;
|
|
14
|
-
* 3. numbers — Python distinguishes `int` from `float` (`100` vs `100.0`) and
|
|
15
|
-
* switches to exponential notation at different magnitudes than JavaScript
|
|
16
|
-
* (`1e-05` where `String()` gives `0.00001`).
|
|
17
|
-
*
|
|
18
|
-
* (1) and (2) are handled by `canonicalJson` below. (3) cannot be solved by a
|
|
19
|
-
* serialiser alone, because a JavaScript `number` has forgotten whether the
|
|
20
|
-
* document said `100` or `100.0`. So a document that is going to be re-hashed —
|
|
21
|
-
* a ledger or a bundle produced elsewhere — is read with `parseJson`, which
|
|
22
|
-
* keeps each number's original literal alongside its value as a `RawNumber`.
|
|
23
|
-
* `canonicalJson` re-emits that literal verbatim, so a Python-written entry
|
|
24
|
-
* hashes to the byte-identical digest here. Values created in this library are
|
|
25
|
-
* plain numbers, and `pyNumber` formats them the way Python's `json` would, so
|
|
26
|
-
* the reverse direction round-trips too.
|
|
27
|
-
*/
|
|
2
|
+
/** RFC 8785 JSON Canonicalization Scheme (JCS), with no runtime dependencies. */
|
|
28
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
|
-
exports.RawNumber = void 0;
|
|
4
|
+
exports.RawNumber = exports.DuplicateMemberError = exports.UnsupportedTypeError = exports.LoneSurrogateError = exports.NonFiniteNumberError = exports.CanonicalizationError = void 0;
|
|
30
5
|
exports.compareCodePoints = compareCodePoints;
|
|
31
6
|
exports.sortedStrings = sortedStrings;
|
|
32
7
|
exports.pyNumber = pyNumber;
|
|
33
|
-
exports.pyString = pyString;
|
|
34
8
|
exports.canonicalJson = canonicalJson;
|
|
35
|
-
exports.pyJsonDumps = pyJsonDumps;
|
|
36
9
|
exports.canonicalBytes = canonicalBytes;
|
|
37
10
|
exports.toPlain = toPlain;
|
|
38
11
|
exports.parseJson = parseJson;
|
|
39
|
-
|
|
12
|
+
class CanonicalizationError extends Error {
|
|
13
|
+
constructor(message) {
|
|
14
|
+
super(message);
|
|
15
|
+
this.name = new.target.name;
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
exports.CanonicalizationError = CanonicalizationError;
|
|
19
|
+
class NonFiniteNumberError extends CanonicalizationError {
|
|
20
|
+
}
|
|
21
|
+
exports.NonFiniteNumberError = NonFiniteNumberError;
|
|
22
|
+
class LoneSurrogateError extends CanonicalizationError {
|
|
23
|
+
}
|
|
24
|
+
exports.LoneSurrogateError = LoneSurrogateError;
|
|
25
|
+
class UnsupportedTypeError extends CanonicalizationError {
|
|
26
|
+
}
|
|
27
|
+
exports.UnsupportedTypeError = UnsupportedTypeError;
|
|
28
|
+
/** Raised while parsing when an object repeats a member name. */
|
|
29
|
+
class DuplicateMemberError extends SyntaxError {
|
|
30
|
+
member;
|
|
31
|
+
constructor(member) {
|
|
32
|
+
super(`duplicate JSON object member ${JSON.stringify(member)}`);
|
|
33
|
+
this.member = member;
|
|
34
|
+
this.name = "DuplicateMemberError";
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
exports.DuplicateMemberError = DuplicateMemberError;
|
|
38
|
+
/** A parsed JSON number, retaining its source spelling for syntax-sensitive checks. */
|
|
40
39
|
class RawNumber {
|
|
41
40
|
raw;
|
|
42
41
|
value;
|
|
@@ -52,7 +51,7 @@ class RawNumber {
|
|
|
52
51
|
}
|
|
53
52
|
}
|
|
54
53
|
exports.RawNumber = RawNumber;
|
|
55
|
-
/** Compare
|
|
54
|
+
/** Compare by Unicode code point for semantic lists that mirror Python `sorted`. */
|
|
56
55
|
function compareCodePoints(a, b) {
|
|
57
56
|
const ca = Array.from(a);
|
|
58
57
|
const cb = Array.from(b);
|
|
@@ -65,21 +64,10 @@ function compareCodePoints(a, b) {
|
|
|
65
64
|
}
|
|
66
65
|
return ca.length - cb.length;
|
|
67
66
|
}
|
|
68
|
-
/** Sort strings by code point (Python's `sorted(list_of_str)`). */
|
|
69
67
|
function sortedStrings(values) {
|
|
70
68
|
return Array.from(values).sort(compareCodePoints);
|
|
71
69
|
}
|
|
72
|
-
/**
|
|
73
|
-
* Format a number the way Python's `json.dumps` would.
|
|
74
|
-
*
|
|
75
|
-
* Integral values are emitted without a decimal point, matching a Python `int`.
|
|
76
|
-
* A TypeScript number cannot record that it was meant to be the float `100.0`,
|
|
77
|
-
* so such a value serialises as `100`; Python reads that back as an `int` and
|
|
78
|
-
* re-emits `100`, which keeps the chain verifiable in both directions. Values
|
|
79
|
-
* with a fractional part follow CPython's `repr`: shortest round-tripping
|
|
80
|
-
* digits, exponential notation when the decimal exponent is below -4 or at
|
|
81
|
-
* least 16, a two-digit signed exponent, and always a decimal point otherwise.
|
|
82
|
-
*/
|
|
70
|
+
/** Python-style numeric display used only in human-readable ceiling descriptions. */
|
|
83
71
|
function pyNumber(n) {
|
|
84
72
|
if (Number.isNaN(n))
|
|
85
73
|
return "NaN";
|
|
@@ -89,22 +77,15 @@ function pyNumber(n) {
|
|
|
89
77
|
return "-0.0";
|
|
90
78
|
if (Number.isInteger(n) && Math.abs(n) < 1e21)
|
|
91
79
|
return n.toFixed(0);
|
|
92
|
-
return pyFloatRepr(n);
|
|
93
|
-
}
|
|
94
|
-
function pyFloatRepr(n) {
|
|
95
|
-
// `toExponential()` with no argument yields the shortest digit string that
|
|
96
|
-
// uniquely identifies the value — the same "shortest round-trip" digits
|
|
97
|
-
// CPython's repr produces. Only the layout around them differs.
|
|
98
80
|
const parsed = /^(-?)(\d)(?:\.(\d+))?e([+-]\d+)$/.exec(n.toExponential());
|
|
99
81
|
if (!parsed)
|
|
100
|
-
return String(n);
|
|
82
|
+
return String(n);
|
|
101
83
|
const sign = parsed[1];
|
|
102
84
|
const digits = parsed[2] + (parsed[3] ?? "");
|
|
103
85
|
const exp = parseInt(parsed[4], 10);
|
|
104
86
|
if (exp < -4 || exp >= 16) {
|
|
105
87
|
const mantissa = digits.length > 1 ? `${digits[0]}.${digits.slice(1)}` : digits;
|
|
106
|
-
|
|
107
|
-
return `${sign}${mantissa}e${expSign}${String(Math.abs(exp)).padStart(2, "0")}`;
|
|
88
|
+
return `${sign}${mantissa}e${exp < 0 ? "-" : "+"}${String(Math.abs(exp)).padStart(2, "0")}`;
|
|
108
89
|
}
|
|
109
90
|
if (exp >= 0) {
|
|
110
91
|
const body = digits.length > exp + 1
|
|
@@ -114,76 +95,112 @@ function pyFloatRepr(n) {
|
|
|
114
95
|
}
|
|
115
96
|
return `${sign}0.${"0".repeat(-exp - 1)}${digits}`;
|
|
116
97
|
}
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
else if (
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
out += "\\t";
|
|
131
|
-
else if (code === 0x0a)
|
|
132
|
-
out += "\\n";
|
|
133
|
-
else if (code === 0x0c)
|
|
134
|
-
out += "\\f";
|
|
135
|
-
else if (code === 0x0d)
|
|
136
|
-
out += "\\r";
|
|
137
|
-
else if (code < 0x20 || code > 0x7e)
|
|
138
|
-
out += "\\u" + code.toString(16).padStart(4, "0");
|
|
139
|
-
else
|
|
140
|
-
out += ch;
|
|
98
|
+
function validateUnicode(value) {
|
|
99
|
+
for (let i = 0; i < value.length; i++) {
|
|
100
|
+
const unit = value.charCodeAt(i);
|
|
101
|
+
if (unit >= 0xd800 && unit <= 0xdbff) {
|
|
102
|
+
const next = value.charCodeAt(i + 1);
|
|
103
|
+
if (!(next >= 0xdc00 && next <= 0xdfff)) {
|
|
104
|
+
throw new LoneSurrogateError("lone UTF-16 surrogates are not permitted");
|
|
105
|
+
}
|
|
106
|
+
i += 1;
|
|
107
|
+
}
|
|
108
|
+
else if (unit >= 0xdc00 && unit <= 0xdfff) {
|
|
109
|
+
throw new LoneSurrogateError("lone UTF-16 surrogates are not permitted");
|
|
110
|
+
}
|
|
141
111
|
}
|
|
142
|
-
return out + '"';
|
|
143
112
|
}
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
113
|
+
function jcsString(value) {
|
|
114
|
+
validateUnicode(value);
|
|
115
|
+
return JSON.stringify(value);
|
|
116
|
+
}
|
|
117
|
+
function jcsNumber(value) {
|
|
118
|
+
if (!Number.isFinite(value)) {
|
|
119
|
+
throw new NonFiniteNumberError("non-finite numbers are not permitted");
|
|
120
|
+
}
|
|
121
|
+
return JSON.stringify(value);
|
|
122
|
+
}
|
|
123
|
+
function unsupported(value) {
|
|
124
|
+
const kind = value === null ? "null" : typeof value;
|
|
125
|
+
throw new UnsupportedTypeError(`not a supported JSON value: ${kind}`);
|
|
154
126
|
}
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
*
|
|
158
|
-
* `canonicalJson` uses the compact `(",", ":")` pair every hash is taken over.
|
|
159
|
-
* The `.jsonl` ledger on disk is written with Python's DEFAULT separators
|
|
160
|
-
* (`", "` and `": "`), so a line read back by either language re-serialises to
|
|
161
|
-
* the same bytes its writer produced.
|
|
162
|
-
*/
|
|
163
|
-
function pyJsonDumps(value, itemSeparator = ", ", keySeparator = ": ") {
|
|
164
|
-
if (value === null || value === undefined)
|
|
127
|
+
function serialize(value, active) {
|
|
128
|
+
if (value === null)
|
|
165
129
|
return "null";
|
|
166
130
|
if (value instanceof RawNumber)
|
|
167
|
-
return value.
|
|
131
|
+
return jcsNumber(value.value);
|
|
168
132
|
switch (typeof value) {
|
|
169
133
|
case "boolean":
|
|
170
134
|
return value ? "true" : "false";
|
|
171
135
|
case "number":
|
|
172
|
-
return
|
|
136
|
+
return jcsNumber(value);
|
|
173
137
|
case "string":
|
|
174
|
-
return
|
|
138
|
+
return jcsString(value);
|
|
139
|
+
case "undefined":
|
|
140
|
+
case "bigint":
|
|
141
|
+
case "symbol":
|
|
142
|
+
case "function":
|
|
143
|
+
return unsupported(value);
|
|
175
144
|
}
|
|
176
|
-
if (
|
|
177
|
-
|
|
145
|
+
if (active.has(value))
|
|
146
|
+
throw new UnsupportedTypeError("cyclic JSON values are not permitted");
|
|
147
|
+
active.add(value);
|
|
148
|
+
try {
|
|
149
|
+
if (Array.isArray(value)) {
|
|
150
|
+
const own = Reflect.ownKeys(value);
|
|
151
|
+
for (const key of own) {
|
|
152
|
+
if (key === "length")
|
|
153
|
+
continue;
|
|
154
|
+
if (typeof key !== "string" || !/^(?:0|[1-9]\d*)$/.test(key) || Number(key) >= value.length) {
|
|
155
|
+
throw new UnsupportedTypeError("JSON arrays may not carry extra properties");
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
const items = [];
|
|
159
|
+
for (let i = 0; i < value.length; i++) {
|
|
160
|
+
if (!Object.prototype.hasOwnProperty.call(value, i)) {
|
|
161
|
+
throw new UnsupportedTypeError("sparse JSON arrays are not permitted");
|
|
162
|
+
}
|
|
163
|
+
const descriptor = Object.getOwnPropertyDescriptor(value, String(i));
|
|
164
|
+
if (!descriptor.enumerable || !("value" in descriptor)) {
|
|
165
|
+
throw new UnsupportedTypeError("JSON arrays may contain only enumerable data elements");
|
|
166
|
+
}
|
|
167
|
+
items.push(serialize(descriptor.value, active));
|
|
168
|
+
}
|
|
169
|
+
return `[${items.join(",")}]`;
|
|
170
|
+
}
|
|
171
|
+
const prototype = Object.getPrototypeOf(value);
|
|
172
|
+
if (prototype !== Object.prototype && prototype !== null) {
|
|
173
|
+
throw new UnsupportedTypeError("only plain JSON objects are permitted");
|
|
174
|
+
}
|
|
175
|
+
const symbols = Object.getOwnPropertySymbols(value);
|
|
176
|
+
if (symbols.length > 0)
|
|
177
|
+
throw new UnsupportedTypeError("JSON object member names must be strings");
|
|
178
|
+
const keys = Object.getOwnPropertyNames(value);
|
|
179
|
+
const members = new Map();
|
|
180
|
+
for (const key of keys) {
|
|
181
|
+
validateUnicode(key);
|
|
182
|
+
const descriptor = Object.getOwnPropertyDescriptor(value, key);
|
|
183
|
+
if (!descriptor.enumerable || !("value" in descriptor)) {
|
|
184
|
+
throw new UnsupportedTypeError("JSON objects may contain only enumerable data properties");
|
|
185
|
+
}
|
|
186
|
+
members.set(key, descriptor.value);
|
|
187
|
+
}
|
|
188
|
+
// RFC 8785 sorts property names by their raw UTF-16 code units. JavaScript's
|
|
189
|
+
// default string ordering is exactly that ordering.
|
|
190
|
+
keys.sort();
|
|
191
|
+
return `{${keys
|
|
192
|
+
.map((key) => `${jcsString(key)}:${serialize(members.get(key), active)}`)
|
|
193
|
+
.join(",")}}`;
|
|
178
194
|
}
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
195
|
+
finally {
|
|
196
|
+
active.delete(value);
|
|
197
|
+
}
|
|
198
|
+
}
|
|
199
|
+
/** Return an RFC 8785 canonical JSON string. */
|
|
200
|
+
function canonicalJson(value) {
|
|
201
|
+
return serialize(value, new WeakSet());
|
|
185
202
|
}
|
|
186
|
-
/** The canonical bytes
|
|
203
|
+
/** The canonical UTF-8 bytes used by every hash, seal, and signature. */
|
|
187
204
|
function canonicalBytes(value) {
|
|
188
205
|
return Buffer.from(canonicalJson(value), "utf8");
|
|
189
206
|
}
|
|
@@ -192,137 +209,144 @@ function toPlain(value) {
|
|
|
192
209
|
if (value instanceof RawNumber)
|
|
193
210
|
return value.value;
|
|
194
211
|
if (Array.isArray(value))
|
|
195
|
-
return value.map((
|
|
212
|
+
return value.map((item) => toPlain(item));
|
|
196
213
|
if (value !== null && typeof value === "object") {
|
|
197
214
|
const out = {};
|
|
198
|
-
for (const [
|
|
199
|
-
out
|
|
215
|
+
for (const [key, item] of Object.entries(value)) {
|
|
216
|
+
Object.defineProperty(out, key, {
|
|
217
|
+
value: toPlain(item),
|
|
218
|
+
enumerable: true,
|
|
219
|
+
configurable: true,
|
|
220
|
+
writable: true,
|
|
221
|
+
});
|
|
222
|
+
}
|
|
200
223
|
return out;
|
|
201
224
|
}
|
|
202
225
|
return value;
|
|
203
226
|
}
|
|
204
|
-
/**
|
|
205
|
-
* Parse JSON, keeping every number's original literal.
|
|
206
|
-
*
|
|
207
|
-
* `JSON.parse` is not used: it discards the literal, and with it the ability to
|
|
208
|
-
* reproduce the bytes the writer hashed. Objects preserve their key order for
|
|
209
|
-
* readability; canonical serialisation sorts them anyway.
|
|
210
|
-
*/
|
|
227
|
+
/** Parse JSON without losing number spellings, while rejecting duplicates. */
|
|
211
228
|
function parseJson(text) {
|
|
212
|
-
const
|
|
213
|
-
|
|
214
|
-
const value =
|
|
215
|
-
|
|
216
|
-
if (!
|
|
217
|
-
|
|
229
|
+
const parser = new Parser(text);
|
|
230
|
+
parser.skipWhitespace();
|
|
231
|
+
const value = parser.parseValue();
|
|
232
|
+
parser.skipWhitespace();
|
|
233
|
+
if (!parser.atEnd())
|
|
234
|
+
parser.fail("unexpected trailing data");
|
|
218
235
|
return value;
|
|
219
236
|
}
|
|
220
237
|
const NUMBER_RE = /^-?(?:0|[1-9]\d*)(?:\.\d+)?(?:[eE][+-]?\d+)?/;
|
|
221
238
|
class Parser {
|
|
222
|
-
|
|
239
|
+
source;
|
|
223
240
|
i = 0;
|
|
224
|
-
constructor(
|
|
225
|
-
this.
|
|
241
|
+
constructor(source) {
|
|
242
|
+
this.source = source;
|
|
226
243
|
}
|
|
227
244
|
atEnd() {
|
|
228
|
-
return this.i >= this.
|
|
245
|
+
return this.i >= this.source.length;
|
|
229
246
|
}
|
|
230
247
|
fail(message) {
|
|
231
248
|
throw new SyntaxError(`${message} at position ${this.i}`);
|
|
232
249
|
}
|
|
233
250
|
skipWhitespace() {
|
|
234
|
-
while (this.i < this.
|
|
235
|
-
|
|
236
|
-
if (c === " " || c === "\t" || c === "\n" || c === "\r")
|
|
237
|
-
this.i++;
|
|
238
|
-
else
|
|
239
|
-
break;
|
|
240
|
-
}
|
|
251
|
+
while (this.i < this.source.length && /[\t\n\r ]/.test(this.source[this.i]))
|
|
252
|
+
this.i++;
|
|
241
253
|
}
|
|
242
254
|
parseValue() {
|
|
243
255
|
if (this.atEnd())
|
|
244
256
|
this.fail("unexpected end of input");
|
|
245
|
-
const
|
|
246
|
-
if (
|
|
257
|
+
const char = this.source[this.i];
|
|
258
|
+
if (char === "{")
|
|
247
259
|
return this.parseObject();
|
|
248
|
-
if (
|
|
260
|
+
if (char === "[")
|
|
249
261
|
return this.parseArray();
|
|
250
|
-
if (
|
|
262
|
+
if (char === '"')
|
|
251
263
|
return this.parseString();
|
|
252
|
-
if (this.
|
|
264
|
+
if (this.source.startsWith("true", this.i))
|
|
253
265
|
return (this.i += 4), true;
|
|
254
|
-
if (this.
|
|
266
|
+
if (this.source.startsWith("false", this.i))
|
|
255
267
|
return (this.i += 5), false;
|
|
256
|
-
if (this.
|
|
268
|
+
if (this.source.startsWith("null", this.i))
|
|
257
269
|
return (this.i += 4), null;
|
|
270
|
+
if (this.source.startsWith("NaN", this.i) ||
|
|
271
|
+
this.source.startsWith("Infinity", this.i) ||
|
|
272
|
+
this.source.startsWith("-Infinity", this.i)) {
|
|
273
|
+
throw new NonFiniteNumberError("non-finite numbers are not permitted");
|
|
274
|
+
}
|
|
258
275
|
return this.parseNumber();
|
|
259
276
|
}
|
|
260
277
|
parseObject() {
|
|
261
|
-
this.i++;
|
|
262
|
-
const out =
|
|
278
|
+
this.i++;
|
|
279
|
+
const out = Object.create(null);
|
|
263
280
|
this.skipWhitespace();
|
|
264
|
-
if (this.
|
|
281
|
+
if (this.source[this.i] === "}")
|
|
265
282
|
return this.i++, out;
|
|
266
283
|
for (;;) {
|
|
267
284
|
this.skipWhitespace();
|
|
268
|
-
if (this.
|
|
285
|
+
if (this.source[this.i] !== '"')
|
|
269
286
|
this.fail("expected an object key");
|
|
270
287
|
const key = this.parseString();
|
|
288
|
+
if (Object.prototype.hasOwnProperty.call(out, key))
|
|
289
|
+
throw new DuplicateMemberError(key);
|
|
271
290
|
this.skipWhitespace();
|
|
272
|
-
if (this.
|
|
291
|
+
if (this.source[this.i] !== ":")
|
|
273
292
|
this.fail("expected ':'");
|
|
274
293
|
this.i++;
|
|
275
294
|
this.skipWhitespace();
|
|
276
295
|
out[key] = this.parseValue();
|
|
277
296
|
this.skipWhitespace();
|
|
278
|
-
const
|
|
279
|
-
if (
|
|
297
|
+
const char = this.source[this.i];
|
|
298
|
+
if (char === ",") {
|
|
280
299
|
this.i++;
|
|
281
300
|
continue;
|
|
282
301
|
}
|
|
283
|
-
if (
|
|
302
|
+
if (char === "}")
|
|
284
303
|
return this.i++, out;
|
|
285
304
|
this.fail("expected ',' or '}'");
|
|
286
305
|
}
|
|
287
306
|
}
|
|
288
307
|
parseArray() {
|
|
289
|
-
this.i++;
|
|
308
|
+
this.i++;
|
|
290
309
|
const out = [];
|
|
291
310
|
this.skipWhitespace();
|
|
292
|
-
if (this.
|
|
311
|
+
if (this.source[this.i] === "]")
|
|
293
312
|
return this.i++, out;
|
|
294
313
|
for (;;) {
|
|
295
314
|
this.skipWhitespace();
|
|
296
315
|
out.push(this.parseValue());
|
|
297
316
|
this.skipWhitespace();
|
|
298
|
-
const
|
|
299
|
-
if (
|
|
317
|
+
const char = this.source[this.i];
|
|
318
|
+
if (char === ",") {
|
|
300
319
|
this.i++;
|
|
301
320
|
continue;
|
|
302
321
|
}
|
|
303
|
-
if (
|
|
322
|
+
if (char === "]")
|
|
304
323
|
return this.i++, out;
|
|
305
324
|
this.fail("expected ',' or ']'");
|
|
306
325
|
}
|
|
307
326
|
}
|
|
308
327
|
parseString() {
|
|
309
|
-
this.i++;
|
|
328
|
+
this.i++;
|
|
310
329
|
let out = "";
|
|
311
330
|
for (;;) {
|
|
312
331
|
if (this.atEnd())
|
|
313
332
|
this.fail("unterminated string");
|
|
314
|
-
const
|
|
315
|
-
if (
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
out
|
|
333
|
+
const char = this.source[this.i];
|
|
334
|
+
if (char === '"') {
|
|
335
|
+
this.i++;
|
|
336
|
+
validateUnicode(out);
|
|
337
|
+
return out;
|
|
338
|
+
}
|
|
339
|
+
if (char.charCodeAt(0) < 0x20)
|
|
340
|
+
this.fail("unescaped control character");
|
|
341
|
+
if (char !== "\\") {
|
|
342
|
+
out += char;
|
|
319
343
|
this.i++;
|
|
320
344
|
continue;
|
|
321
345
|
}
|
|
322
346
|
this.i++;
|
|
323
|
-
const
|
|
347
|
+
const escape = this.source[this.i];
|
|
324
348
|
this.i++;
|
|
325
|
-
switch (
|
|
349
|
+
switch (escape) {
|
|
326
350
|
case '"':
|
|
327
351
|
out += '"';
|
|
328
352
|
break;
|
|
@@ -348,25 +372,28 @@ class Parser {
|
|
|
348
372
|
out += "\t";
|
|
349
373
|
break;
|
|
350
374
|
case "u": {
|
|
351
|
-
const hex = this.
|
|
375
|
+
const hex = this.source.slice(this.i, this.i + 4);
|
|
352
376
|
if (!/^[0-9a-fA-F]{4}$/.test(hex))
|
|
353
377
|
this.fail("bad \\u escape");
|
|
354
378
|
out += String.fromCharCode(parseInt(hex, 16));
|
|
355
379
|
this.i += 4;
|
|
356
380
|
break;
|
|
357
381
|
}
|
|
358
|
-
default:
|
|
359
|
-
this.fail("bad escape");
|
|
382
|
+
default: this.fail("bad escape");
|
|
360
383
|
}
|
|
361
384
|
}
|
|
362
385
|
}
|
|
363
386
|
parseNumber() {
|
|
364
|
-
const
|
|
365
|
-
if (!
|
|
387
|
+
const match = NUMBER_RE.exec(this.source.slice(this.i));
|
|
388
|
+
if (!match)
|
|
366
389
|
this.fail("expected a value");
|
|
367
|
-
const raw =
|
|
390
|
+
const raw = match[0];
|
|
368
391
|
this.i += raw.length;
|
|
369
|
-
|
|
392
|
+
const value = Number(raw);
|
|
393
|
+
if (!Number.isFinite(value)) {
|
|
394
|
+
throw new NonFiniteNumberError("non-finite numbers are not permitted");
|
|
395
|
+
}
|
|
396
|
+
return new RawNumber(raw, value);
|
|
370
397
|
}
|
|
371
398
|
}
|
|
372
399
|
//# sourceMappingURL=canonical.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"canonical.js","sourceRoot":"","sources":["../../src/canonical.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"canonical.js","sourceRoot":"","sources":["../../src/canonical.ts"],"names":[],"mappings":"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"}
|
package/dist/cjs/evidence.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"evidence.d.ts","sourceRoot":"","sources":["../../src/evidence.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,OAAO,EAML,KAAK,IAAI,EACV,MAAM,gBAAgB,CAAC;AAGxB,OAAO,EAAE,QAAQ,EAAiD,KAAK,MAAM,EAAE,KAAK,WAAW,EAAE,MAAM,YAAY,CAAC;AAGpH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAExC;;;;;;;;GAQG;AACH,eAAO,MAAM,aAAa,EAAE,WAAW,CAAC,MAAM,
|
|
1
|
+
{"version":3,"file":"evidence.d.ts","sourceRoot":"","sources":["../../src/evidence.ts"],"names":[],"mappings":"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"}
|