-
-
Notifications
You must be signed in to change notification settings - Fork 25
/
InvalidUrlError.js
62 lines (59 loc) · 1.89 KB
/
InvalidUrlError.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
import { InvalidParamsError } from '../ethereum/InvalidParamsError.js'
/**
* Parameters for constructing an InvalidUrlError.
* @typedef {Object} InvalidUrlErrorParameters
* @property {string} [docsBaseUrl] - Base URL for the documentation.
* @property {string} [docsPath] - Path to the documentation.
* @property {string} [docsSlug] - Slug for the documentation.
* @property {string[]} [metaMessages] - Additional meta messages.
* @property {import('../ethereum/BaseError.js').BaseError|Error} [cause] - The cause of the error.
* @property {string} [details] - Details of the error.
* @property {object} [meta] - Optional object containing additional information about the error.
*/
/**
* Represents an error that occurs when a URL is invalid.
*
* This error is typically encountered when an operation requires a valid URL, but receives an invalid one.
*
* @example
* ```javascript
* import { InvalidUrlError } from '@tevm/errors'
* import { createMemoryClient } from '@tevm/memory-client'
*
* try {
* const client = createMemoryClient({
* fork: {
* url: 'not_a_valid_url'
* }
* })
* } catch (error) {
* if (error instanceof InvalidUrlError) {
* console.error('Invalid URL:', error.message)
* console.log('Documentation:', error.docsLink)
* }
* }
* ```
*
* @extends {InvalidParamsError}
*/
export class InvalidUrlError extends InvalidParamsError {
/**
* Constructs an InvalidUrlError.
*
* @param {string} message - Human-readable error message.
* @param {InvalidUrlErrorParameters} [args={}] - Additional parameters for the InvalidUrlError.
*/
constructor(message, args = {}) {
super(
message,
{
...args,
docsBaseUrl: args.docsBaseUrl ?? 'https://tevm.sh',
docsPath: args.docsPath ?? '/reference/tevm/errors/classes/invalidurlerror/',
},
'InvalidUrlError',
)
this.name = 'InvalidUrlError'
this._tag = 'InvalidUrlError'
}
}