@helia/verified-fetch 6.4.0 → 7.0.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/index.min.js +39 -39
- package/dist/index.min.js.map +3 -3
- package/dist/src/errors.d.ts +4 -0
- package/dist/src/errors.d.ts.map +1 -1
- package/dist/src/errors.js +4 -0
- package/dist/src/errors.js.map +1 -1
- package/dist/src/utils/apply-redirect.d.ts.map +1 -1
- package/dist/src/utils/apply-redirect.js +8 -3
- package/dist/src/utils/apply-redirect.js.map +1 -1
- package/dist/src/utils/convert-output.js +10 -10
- package/dist/src/utils/convert-output.js.map +1 -1
- package/package.json +1 -1
- package/src/errors.ts +5 -0
- package/src/utils/apply-redirect.ts +9 -3
- package/src/utils/convert-output.ts +10 -10
package/dist/src/errors.d.ts
CHANGED
|
@@ -14,6 +14,10 @@ export declare class RedirectsFileTooLargeError extends Error {
|
|
|
14
14
|
static name: string;
|
|
15
15
|
name: string;
|
|
16
16
|
}
|
|
17
|
+
export declare class InvalidRedirectsFileError extends Error {
|
|
18
|
+
static name: string;
|
|
19
|
+
name: string;
|
|
20
|
+
}
|
|
17
21
|
export declare class InvalidRedirectStatusCodeError extends Error {
|
|
18
22
|
static name: string;
|
|
19
23
|
name: string;
|
package/dist/src/errors.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/errors.ts"],"names":[],"mappings":"AAAA,qBAAa,iBAAkB,SAAQ,KAAK;IAC1C,MAAM,CAAC,IAAI,SAAsB;IACjC,IAAI,SAAsB;CAC3B;AAED,qBAAa,cAAe,SAAQ,KAAK;IACvC,MAAM,CAAC,IAAI,SAAmB;IAC9B,IAAI,SAAmB;CACxB;AAED,qBAAa,0BAA2B,SAAQ,KAAK;IACnD,MAAM,CAAC,IAAI,SAA+B;IAC1C,IAAI,SAA+B;CACpC;AAED,qBAAa,0BAA2B,SAAQ,KAAK;IACnD,MAAM,CAAC,IAAI,SAA+B;IAC1C,IAAI,SAA+B;CACpC;AAED,qBAAa,8BAA+B,SAAQ,KAAK;IACvD,MAAM,CAAC,IAAI,SAAmC;IAC9C,IAAI,SAAmC;CACxC;AAED,qBAAa,yBAA0B,SAAQ,KAAK;IAClD,MAAM,CAAC,IAAI,SAA8B;IACzC,IAAI,SAA8B;CACnC"}
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/errors.ts"],"names":[],"mappings":"AAAA,qBAAa,iBAAkB,SAAQ,KAAK;IAC1C,MAAM,CAAC,IAAI,SAAsB;IACjC,IAAI,SAAsB;CAC3B;AAED,qBAAa,cAAe,SAAQ,KAAK;IACvC,MAAM,CAAC,IAAI,SAAmB;IAC9B,IAAI,SAAmB;CACxB;AAED,qBAAa,0BAA2B,SAAQ,KAAK;IACnD,MAAM,CAAC,IAAI,SAA+B;IAC1C,IAAI,SAA+B;CACpC;AAED,qBAAa,0BAA2B,SAAQ,KAAK;IACnD,MAAM,CAAC,IAAI,SAA+B;IAC1C,IAAI,SAA+B;CACpC;AAED,qBAAa,yBAA0B,SAAQ,KAAK;IAClD,MAAM,CAAC,IAAI,SAA8B;IACzC,IAAI,SAA8B;CACnC;AAED,qBAAa,8BAA+B,SAAQ,KAAK;IACvD,MAAM,CAAC,IAAI,SAAmC;IAC9C,IAAI,SAAmC;CACxC;AAED,qBAAa,yBAA0B,SAAQ,KAAK;IAClD,MAAM,CAAC,IAAI,SAA8B;IACzC,IAAI,SAA8B;CACnC"}
|
package/dist/src/errors.js
CHANGED
|
@@ -14,6 +14,10 @@ export class RedirectsFileTooLargeError extends Error {
|
|
|
14
14
|
static name = 'RedirectsFileTooLargeError';
|
|
15
15
|
name = 'RedirectsFileTooLargeError';
|
|
16
16
|
}
|
|
17
|
+
export class InvalidRedirectsFileError extends Error {
|
|
18
|
+
static name = 'InvalidRedirectsFileError';
|
|
19
|
+
name = 'InvalidRedirectsFileError';
|
|
20
|
+
}
|
|
17
21
|
export class InvalidRedirectStatusCodeError extends Error {
|
|
18
22
|
static name = 'InvalidRedirectStatusCodeError';
|
|
19
23
|
name = 'InvalidRedirectStatusCodeError';
|
package/dist/src/errors.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/errors.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,iBAAkB,SAAQ,KAAK;IAC1C,MAAM,CAAC,IAAI,GAAG,mBAAmB,CAAA;IACjC,IAAI,GAAG,mBAAmB,CAAA;;AAG5B,MAAM,OAAO,cAAe,SAAQ,KAAK;IACvC,MAAM,CAAC,IAAI,GAAG,gBAAgB,CAAA;IAC9B,IAAI,GAAG,gBAAgB,CAAA;;AAGzB,MAAM,OAAO,0BAA2B,SAAQ,KAAK;IACnD,MAAM,CAAC,IAAI,GAAG,4BAA4B,CAAA;IAC1C,IAAI,GAAG,4BAA4B,CAAA;;AAGrC,MAAM,OAAO,0BAA2B,SAAQ,KAAK;IACnD,MAAM,CAAC,IAAI,GAAG,4BAA4B,CAAA;IAC1C,IAAI,GAAG,4BAA4B,CAAA;;AAGrC,MAAM,OAAO,8BAA+B,SAAQ,KAAK;IACvD,MAAM,CAAC,IAAI,GAAG,gCAAgC,CAAA;IAC9C,IAAI,GAAG,gCAAgC,CAAA;;AAGzC,MAAM,OAAO,yBAA0B,SAAQ,KAAK;IAClD,MAAM,CAAC,IAAI,GAAG,2BAA2B,CAAA;IACzC,IAAI,GAAG,2BAA2B,CAAA"}
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/errors.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,iBAAkB,SAAQ,KAAK;IAC1C,MAAM,CAAC,IAAI,GAAG,mBAAmB,CAAA;IACjC,IAAI,GAAG,mBAAmB,CAAA;;AAG5B,MAAM,OAAO,cAAe,SAAQ,KAAK;IACvC,MAAM,CAAC,IAAI,GAAG,gBAAgB,CAAA;IAC9B,IAAI,GAAG,gBAAgB,CAAA;;AAGzB,MAAM,OAAO,0BAA2B,SAAQ,KAAK;IACnD,MAAM,CAAC,IAAI,GAAG,4BAA4B,CAAA;IAC1C,IAAI,GAAG,4BAA4B,CAAA;;AAGrC,MAAM,OAAO,0BAA2B,SAAQ,KAAK;IACnD,MAAM,CAAC,IAAI,GAAG,4BAA4B,CAAA;IAC1C,IAAI,GAAG,4BAA4B,CAAA;;AAGrC,MAAM,OAAO,yBAA0B,SAAQ,KAAK;IAClD,MAAM,CAAC,IAAI,GAAG,2BAA2B,CAAA;IACzC,IAAI,GAAG,2BAA2B,CAAA;;AAGpC,MAAM,OAAO,8BAA+B,SAAQ,KAAK;IACvD,MAAM,CAAC,IAAI,GAAG,gCAAgC,CAAA;IAC9C,IAAI,GAAG,gCAAgC,CAAA;;AAGzC,MAAM,OAAO,yBAA0B,SAAQ,KAAK;IAClD,MAAM,CAAC,IAAI,GAAG,2BAA2B,CAAA;IACzC,IAAI,GAAG,2BAA2B,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"apply-redirect.d.ts","sourceRoot":"","sources":["../../../src/utils/apply-redirect.ts"],"names":[],"mappings":"AAsBA,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,EAAE,WAAW,CAAC,UAAU,CAAC,CAAA;CACnC;AAED;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAAE,GAAG,EAAE,GAAG,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,GAAE,qBAA0B,GAAG,GAAG,GAAG,QAAQ,GAAG,SAAS,
|
|
1
|
+
{"version":3,"file":"apply-redirect.d.ts","sourceRoot":"","sources":["../../../src/utils/apply-redirect.ts"],"names":[],"mappings":"AAsBA,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,EAAE,WAAW,CAAC,UAAU,CAAC,CAAA;CACnC;AAED;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAAE,GAAG,EAAE,GAAG,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,GAAE,qBAA0B,GAAG,GAAG,GAAG,QAAQ,GAAG,SAAS,CAqF7H;AA6DD;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC,GAAG,MAAM,CAkB/E"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import escape from 'regexp.escape';
|
|
2
|
-
import { DuplicatePlaceholderError, InvalidRedirectStatusCodeError, RedirectsFileTooLargeError } from "../errors.js";
|
|
2
|
+
import { DuplicatePlaceholderError, InvalidRedirectsFileError, InvalidRedirectStatusCodeError, RedirectsFileTooLargeError } from "../errors.js";
|
|
3
3
|
import { errorToObject } from "./error-to-object.js";
|
|
4
4
|
/**
|
|
5
5
|
* @see https://specs.ipfs.tech/http-gateways/web-redirects-file/#status
|
|
@@ -23,7 +23,7 @@ export function applyRedirects(url, _redirects, options = {}) {
|
|
|
23
23
|
try {
|
|
24
24
|
// @see https://specs.ipfs.tech/http-gateways/web-redirects-file/#max-file-size
|
|
25
25
|
if (_redirects.length > MAX_REDIRECTS_FILE_SIZE) {
|
|
26
|
-
throw new RedirectsFileTooLargeError(
|
|
26
|
+
throw new RedirectsFileTooLargeError(`_redirects file size cannot exceed ${MAX_REDIRECTS_FILE_SIZE} bytes`);
|
|
27
27
|
}
|
|
28
28
|
const redirects = _redirects
|
|
29
29
|
.split('\n')
|
|
@@ -32,7 +32,12 @@ export function applyRedirects(url, _redirects, options = {}) {
|
|
|
32
32
|
return line !== '' && !line.startsWith('#');
|
|
33
33
|
})
|
|
34
34
|
.map(line => {
|
|
35
|
-
const [from, to, status] = line
|
|
35
|
+
const [from, to, status] = line
|
|
36
|
+
.split(/\s+/)
|
|
37
|
+
.map(s => s.trim());
|
|
38
|
+
if (status != null && status !== '' && !status.match(/^\d+$/)) {
|
|
39
|
+
throw new InvalidRedirectsFileError('Invalid status code in _redirects file');
|
|
40
|
+
}
|
|
36
41
|
let statusCode = parseInt(status);
|
|
37
42
|
if (isNaN(statusCode)) {
|
|
38
43
|
// @see https://specs.ipfs.tech/http-gateways/web-redirects-file/#status
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"apply-redirect.js","sourceRoot":"","sources":["../../../src/utils/apply-redirect.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,eAAe,CAAA;AAClC,OAAO,EAAE,yBAAyB,EAAE,8BAA8B,EAAE,0BAA0B,EAAE,MAAM,cAAc,CAAA;
|
|
1
|
+
{"version":3,"file":"apply-redirect.js","sourceRoot":"","sources":["../../../src/utils/apply-redirect.ts"],"names":[],"mappings":"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"}
|
|
@@ -17,8 +17,8 @@ const CONVERSIONS = {
|
|
|
17
17
|
[MEDIA_TYPE_JSON]: (buf) => {
|
|
18
18
|
return dagJson.encode(dagCbor.decode(buf));
|
|
19
19
|
},
|
|
20
|
-
[MEDIA_TYPE_DAG_JSON]: (
|
|
21
|
-
|
|
20
|
+
[MEDIA_TYPE_DAG_JSON]: () => {
|
|
21
|
+
throw new Error('Cannot perform conversion since IPIP-0524');
|
|
22
22
|
},
|
|
23
23
|
[MEDIA_TYPE_RAW]: (buf) => {
|
|
24
24
|
return buf;
|
|
@@ -51,8 +51,8 @@ const CONVERSIONS = {
|
|
|
51
51
|
[MEDIA_TYPE_CBOR]: (buf) => {
|
|
52
52
|
return buf;
|
|
53
53
|
},
|
|
54
|
-
[MEDIA_TYPE_DAG_CBOR]: (
|
|
55
|
-
|
|
54
|
+
[MEDIA_TYPE_DAG_CBOR]: () => {
|
|
55
|
+
throw new Error('Cannot perform conversion since IPIP-0524');
|
|
56
56
|
},
|
|
57
57
|
[MEDIA_TYPE_JSON]: (buf) => {
|
|
58
58
|
return buf;
|
|
@@ -91,14 +91,14 @@ const CONVERSIONS = {
|
|
|
91
91
|
[MEDIA_TYPE_CBOR]: (buf) => {
|
|
92
92
|
return buf;
|
|
93
93
|
},
|
|
94
|
-
[MEDIA_TYPE_DAG_CBOR]: (
|
|
95
|
-
|
|
94
|
+
[MEDIA_TYPE_DAG_CBOR]: () => {
|
|
95
|
+
throw new Error('Cannot perform conversion since IPIP-0524');
|
|
96
96
|
},
|
|
97
97
|
[MEDIA_TYPE_JSON]: (buf) => {
|
|
98
98
|
return buf;
|
|
99
99
|
},
|
|
100
|
-
[MEDIA_TYPE_DAG_JSON]: (
|
|
101
|
-
|
|
100
|
+
[MEDIA_TYPE_DAG_JSON]: () => {
|
|
101
|
+
throw new Error('Cannot perform conversion since IPIP-0524');
|
|
102
102
|
},
|
|
103
103
|
[MEDIA_TYPE_RAW]: (buf) => {
|
|
104
104
|
return buf;
|
|
@@ -112,13 +112,13 @@ const CONVERSIONS = {
|
|
|
112
112
|
return buf;
|
|
113
113
|
},
|
|
114
114
|
[MEDIA_TYPE_DAG_CBOR]: (buf) => {
|
|
115
|
-
|
|
115
|
+
throw new Error('Cannot perform conversion since IPIP-0524');
|
|
116
116
|
},
|
|
117
117
|
[MEDIA_TYPE_JSON]: (buf) => {
|
|
118
118
|
return buf;
|
|
119
119
|
},
|
|
120
120
|
[MEDIA_TYPE_DAG_JSON]: (buf) => {
|
|
121
|
-
|
|
121
|
+
throw new Error('Cannot perform conversion since IPIP-0524');
|
|
122
122
|
},
|
|
123
123
|
[MEDIA_TYPE_RAW]: (buf) => {
|
|
124
124
|
return buf;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"convert-output.js","sourceRoot":"","sources":["../../../src/utils/convert-output.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAA;AACzC,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAA;AACzC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AACrC,OAAO,KAAK,IAAI,MAAM,0BAA0B,CAAA;AAChD,OAAO,KAAK,GAAG,MAAM,yBAAyB,CAAA;AAC9C,OAAO,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAA;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAC5C,OAAO,EAAE,qBAAqB,EAAE,eAAe,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,eAAe,EAAE,uBAAuB,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AAI/K,MAAM,WAAW,GAAoE;IACnF,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;QACd,CAAC,eAAe,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE;YACzB,OAAO,GAAG,CAAA;QACZ,CAAC;QACD,CAAC,mBAAmB,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE;YAC7B,OAAO,GAAG,CAAA;QACZ,CAAC;QACD,CAAC,eAAe,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE;YACzB,OAAO,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAA;QAC5C,CAAC;QACD,CAAC,mBAAmB,CAAC,EAAE,
|
|
1
|
+
{"version":3,"file":"convert-output.js","sourceRoot":"","sources":["../../../src/utils/convert-output.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@helia/verified-fetch",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "7.0.0",
|
|
4
4
|
"description": "A fetch-like API for obtaining verified & trustless IPFS content on the web",
|
|
5
5
|
"license": "Apache-2.0 OR MIT",
|
|
6
6
|
"homepage": "https://github.com/ipfs/helia-verified-fetch/tree/main/packages/verified-fetch#readme",
|
package/src/errors.ts
CHANGED
|
@@ -18,6 +18,11 @@ export class RedirectsFileTooLargeError extends Error {
|
|
|
18
18
|
name = 'RedirectsFileTooLargeError'
|
|
19
19
|
}
|
|
20
20
|
|
|
21
|
+
export class InvalidRedirectsFileError extends Error {
|
|
22
|
+
static name = 'InvalidRedirectsFileError'
|
|
23
|
+
name = 'InvalidRedirectsFileError'
|
|
24
|
+
}
|
|
25
|
+
|
|
21
26
|
export class InvalidRedirectStatusCodeError extends Error {
|
|
22
27
|
static name = 'InvalidRedirectStatusCodeError'
|
|
23
28
|
name = 'InvalidRedirectStatusCodeError'
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import escape from 'regexp.escape'
|
|
2
|
-
import { DuplicatePlaceholderError, InvalidRedirectStatusCodeError, RedirectsFileTooLargeError } from '../errors.ts'
|
|
2
|
+
import { DuplicatePlaceholderError, InvalidRedirectsFileError, InvalidRedirectStatusCodeError, RedirectsFileTooLargeError } from '../errors.ts'
|
|
3
3
|
import { errorToObject } from './error-to-object.ts'
|
|
4
4
|
|
|
5
5
|
/**
|
|
@@ -36,7 +36,7 @@ export function applyRedirects (url: URL, _redirects: string, options: ApplyRedi
|
|
|
36
36
|
try {
|
|
37
37
|
// @see https://specs.ipfs.tech/http-gateways/web-redirects-file/#max-file-size
|
|
38
38
|
if (_redirects.length > MAX_REDIRECTS_FILE_SIZE) {
|
|
39
|
-
throw new RedirectsFileTooLargeError(
|
|
39
|
+
throw new RedirectsFileTooLargeError(`_redirects file size cannot exceed ${MAX_REDIRECTS_FILE_SIZE} bytes`)
|
|
40
40
|
}
|
|
41
41
|
|
|
42
42
|
const redirects: Redirect[] = _redirects
|
|
@@ -47,7 +47,13 @@ export function applyRedirects (url: URL, _redirects: string, options: ApplyRedi
|
|
|
47
47
|
return line !== '' && !line.startsWith('#')
|
|
48
48
|
})
|
|
49
49
|
.map(line => {
|
|
50
|
-
const [from, to, status] = line
|
|
50
|
+
const [from, to, status] = line
|
|
51
|
+
.split(/\s+/)
|
|
52
|
+
.map(s => s.trim())
|
|
53
|
+
|
|
54
|
+
if (status != null && status !== '' && !status.match(/^\d+$/)) {
|
|
55
|
+
throw new InvalidRedirectsFileError('Invalid status code in _redirects file')
|
|
56
|
+
}
|
|
51
57
|
|
|
52
58
|
let statusCode = parseInt(status)
|
|
53
59
|
|
|
@@ -20,8 +20,8 @@ const CONVERSIONS: Record<number, Record<string, (buf: Uint8Array) => Uint8Array
|
|
|
20
20
|
[MEDIA_TYPE_JSON]: (buf) => {
|
|
21
21
|
return dagJson.encode(dagCbor.decode(buf))
|
|
22
22
|
},
|
|
23
|
-
[MEDIA_TYPE_DAG_JSON]: (
|
|
24
|
-
|
|
23
|
+
[MEDIA_TYPE_DAG_JSON]: () => {
|
|
24
|
+
throw new Error('Cannot perform conversion since IPIP-0524')
|
|
25
25
|
},
|
|
26
26
|
[MEDIA_TYPE_RAW]: (buf) => {
|
|
27
27
|
return buf
|
|
@@ -54,8 +54,8 @@ const CONVERSIONS: Record<number, Record<string, (buf: Uint8Array) => Uint8Array
|
|
|
54
54
|
[MEDIA_TYPE_CBOR]: (buf) => {
|
|
55
55
|
return buf
|
|
56
56
|
},
|
|
57
|
-
[MEDIA_TYPE_DAG_CBOR]: (
|
|
58
|
-
|
|
57
|
+
[MEDIA_TYPE_DAG_CBOR]: () => {
|
|
58
|
+
throw new Error('Cannot perform conversion since IPIP-0524')
|
|
59
59
|
},
|
|
60
60
|
[MEDIA_TYPE_JSON]: (buf) => {
|
|
61
61
|
return buf
|
|
@@ -94,14 +94,14 @@ const CONVERSIONS: Record<number, Record<string, (buf: Uint8Array) => Uint8Array
|
|
|
94
94
|
[MEDIA_TYPE_CBOR]: (buf) => {
|
|
95
95
|
return buf
|
|
96
96
|
},
|
|
97
|
-
[MEDIA_TYPE_DAG_CBOR]: (
|
|
98
|
-
|
|
97
|
+
[MEDIA_TYPE_DAG_CBOR]: () => {
|
|
98
|
+
throw new Error('Cannot perform conversion since IPIP-0524')
|
|
99
99
|
},
|
|
100
100
|
[MEDIA_TYPE_JSON]: (buf) => {
|
|
101
101
|
return buf
|
|
102
102
|
},
|
|
103
|
-
[MEDIA_TYPE_DAG_JSON]: (
|
|
104
|
-
|
|
103
|
+
[MEDIA_TYPE_DAG_JSON]: () => {
|
|
104
|
+
throw new Error('Cannot perform conversion since IPIP-0524')
|
|
105
105
|
},
|
|
106
106
|
[MEDIA_TYPE_RAW]: (buf) => {
|
|
107
107
|
return buf
|
|
@@ -115,13 +115,13 @@ const CONVERSIONS: Record<number, Record<string, (buf: Uint8Array) => Uint8Array
|
|
|
115
115
|
return buf
|
|
116
116
|
},
|
|
117
117
|
[MEDIA_TYPE_DAG_CBOR]: (buf) => {
|
|
118
|
-
|
|
118
|
+
throw new Error('Cannot perform conversion since IPIP-0524')
|
|
119
119
|
},
|
|
120
120
|
[MEDIA_TYPE_JSON]: (buf) => {
|
|
121
121
|
return buf
|
|
122
122
|
},
|
|
123
123
|
[MEDIA_TYPE_DAG_JSON]: (buf) => {
|
|
124
|
-
|
|
124
|
+
throw new Error('Cannot perform conversion since IPIP-0524')
|
|
125
125
|
},
|
|
126
126
|
[MEDIA_TYPE_RAW]: (buf) => {
|
|
127
127
|
return buf
|