@aoxborrow/registrar-client 0.6.0 → 0.8.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/README.md +70 -5
- package/dist/index.cjs +241 -32
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +48 -3
- package/dist/index.d.ts +48 -3
- package/dist/index.js +236 -33
- package/dist/index.js.map +1 -1
- package/package.json +9 -9
- package/src/errors.ts +69 -1
- package/src/features.ts +42 -0
- package/src/http.ts +102 -7
- package/src/index.ts +9 -2
- package/src/registrar.ts +47 -2
- package/src/registrars/cloudflare.ts +3 -0
- package/src/registrars/dynadot.ts +6 -0
- package/src/registrars/gandi.ts +3 -0
- package/src/registrars/godaddy.ts +3 -0
- package/src/registrars/namebright.ts +6 -2
- package/src/registrars/namecheap.ts +17 -6
- package/src/registrars/namecom.ts +18 -18
- package/src/registrars/namesilo.ts +4 -4
- package/src/registrars/porkbun.ts +3 -3
- package/src/registrars/spaceship.ts +3 -0
- package/src/types.ts +33 -1
- package/src/utils.ts +16 -1
package/dist/index.d.cts
CHANGED
|
@@ -32,14 +32,27 @@ declare const CORE_FEATURES: readonly ["testConnection", "listDomains", "getDoma
|
|
|
32
32
|
declare const EXTENDED_FEATURES: readonly ["getAuthCode", "getDnssec", "disableDnssec", "getEmailForwarding", "setEmailForwarding", "getDomainForwarding", "setDomainForwarding"];
|
|
33
33
|
declare const ALL_FEATURES: readonly ["testConnection", "listDomains", "getDomain", "checkAvailability", "getPricing", "registerDomain", "renewDomain", "setAutoRenew", "transferIn", "updateNameservers", "getNameservers", "lockDomain", "unlockDomain", "setPrivacy", "getContacts", "updateContacts", "getDnsRecords", "setDnsRecords", "getAuthCode", "getDnssec", "disableDnssec", "getEmailForwarding", "setEmailForwarding", "getDomainForwarding", "setDomainForwarding"];
|
|
34
34
|
declare function isCoreFeature(feature: RegistrarFeature): boolean;
|
|
35
|
+
declare const FEATURE_CALLS: Record<RegistrarFeature, {
|
|
36
|
+
intent: 'read' | 'write';
|
|
37
|
+
optsIndex: number;
|
|
38
|
+
}>;
|
|
35
39
|
|
|
36
40
|
interface RegistrarClientOptions {
|
|
37
41
|
timeout: number;
|
|
38
42
|
retries: number;
|
|
39
43
|
backoff: number;
|
|
40
44
|
signal?: AbortSignal;
|
|
45
|
+
fetch?: typeof globalThis.fetch;
|
|
46
|
+
}
|
|
47
|
+
type RequestIntent = 'read' | 'write';
|
|
48
|
+
interface FeatureCall {
|
|
49
|
+
intent: RequestIntent;
|
|
50
|
+
feature?: string;
|
|
51
|
+
outcomeUnknown?: Error;
|
|
52
|
+
}
|
|
53
|
+
interface RequestOptions extends Partial<RegistrarClientOptions> {
|
|
54
|
+
call?: FeatureCall;
|
|
41
55
|
}
|
|
42
|
-
type RequestOptions = Partial<RegistrarClientOptions>;
|
|
43
56
|
interface ListDomainsOptions extends RequestOptions {
|
|
44
57
|
search?: string;
|
|
45
58
|
detailed?: boolean;
|
|
@@ -55,6 +68,7 @@ interface ConnectionResult {
|
|
|
55
68
|
interface OperationResult {
|
|
56
69
|
success: boolean;
|
|
57
70
|
message: string;
|
|
71
|
+
outcome?: 'unknown';
|
|
58
72
|
}
|
|
59
73
|
interface ConfigField {
|
|
60
74
|
name: string;
|
|
@@ -126,6 +140,7 @@ interface DomainAvailability {
|
|
|
126
140
|
available: boolean;
|
|
127
141
|
premium?: boolean;
|
|
128
142
|
price?: number;
|
|
143
|
+
renewalPrice?: number;
|
|
129
144
|
currency?: string;
|
|
130
145
|
period?: number;
|
|
131
146
|
}
|
|
@@ -276,8 +291,22 @@ declare class TimeoutError extends RetryableRegistrarError {
|
|
|
276
291
|
}
|
|
277
292
|
declare class ConnectionError extends RetryableRegistrarError {
|
|
278
293
|
status: number;
|
|
279
|
-
|
|
294
|
+
notSent: boolean;
|
|
295
|
+
constructor(message: string, details?: {
|
|
296
|
+
notSent?: boolean;
|
|
297
|
+
});
|
|
280
298
|
}
|
|
299
|
+
declare class OutcomeUnknownError extends RegistrarError {
|
|
300
|
+
status: number;
|
|
301
|
+
feature?: string;
|
|
302
|
+
cause?: unknown;
|
|
303
|
+
constructor(message: string, details?: {
|
|
304
|
+
feature?: string;
|
|
305
|
+
cause?: unknown;
|
|
306
|
+
});
|
|
307
|
+
}
|
|
308
|
+
declare function markNotSent<T>(error: T): T;
|
|
309
|
+
declare function wasNotSent(error: unknown): boolean;
|
|
281
310
|
declare class AuthenticationError extends RegistrarError {
|
|
282
311
|
status: number;
|
|
283
312
|
constructor(message: string);
|
|
@@ -325,7 +354,10 @@ interface HttpClientConfig {
|
|
|
325
354
|
baseUrl: string;
|
|
326
355
|
headers?: Record<string, string>;
|
|
327
356
|
options: RegistrarClientOptions;
|
|
357
|
+
safeMethods?: readonly string[];
|
|
358
|
+
rateLimitFallbackSeconds?: number;
|
|
328
359
|
}
|
|
360
|
+
declare const REST_SAFE_METHODS: readonly string[];
|
|
329
361
|
interface RequestConfig {
|
|
330
362
|
method?: string;
|
|
331
363
|
path: string;
|
|
@@ -336,6 +368,8 @@ interface RequestConfig {
|
|
|
336
368
|
retries?: number;
|
|
337
369
|
backoff?: number;
|
|
338
370
|
signal?: AbortSignal;
|
|
371
|
+
fetch?: typeof globalThis.fetch;
|
|
372
|
+
call?: FeatureCall;
|
|
339
373
|
}
|
|
340
374
|
declare class HttpClient {
|
|
341
375
|
protected config: HttpClientConfig;
|
|
@@ -343,6 +377,7 @@ declare class HttpClient {
|
|
|
343
377
|
request<T = unknown>(req: RequestConfig): Promise<T>;
|
|
344
378
|
requestText(req: RequestConfig): Promise<string>;
|
|
345
379
|
protected withRetries<T>(req: RequestConfig, attemptFn: () => Promise<T>): Promise<T>;
|
|
380
|
+
protected intentOf(req: RequestConfig): 'read' | 'write';
|
|
346
381
|
protected buildUrl(req: RequestConfig): string;
|
|
347
382
|
protected send(req: RequestConfig): Promise<string>;
|
|
348
383
|
protected toStatusError(response: Response, url: string): Promise<RegistrarError>;
|
|
@@ -360,10 +395,12 @@ declare abstract class BaseRegistrar implements Registrar {
|
|
|
360
395
|
readonly environment: RegistrarEnvironment;
|
|
361
396
|
static readonly extendedFeatures: readonly RegistrarFeature[];
|
|
362
397
|
static get features(): readonly RegistrarFeature[];
|
|
398
|
+
static readonly safeMethods: readonly string[];
|
|
363
399
|
get features(): readonly RegistrarFeature[];
|
|
364
400
|
supports(feature: RegistrarFeature): boolean;
|
|
365
401
|
readonly requiresNameserversFetch: boolean;
|
|
366
402
|
constructor(credentials: RegistrarCredentials, httpConfig: Omit<HttpClientConfig, 'options'>, options?: RegistrarOptions);
|
|
403
|
+
private threadFeatureCalls;
|
|
367
404
|
testConnection(_opts?: RequestOptions): Promise<ConnectionResult>;
|
|
368
405
|
listDomains(_opts?: ListDomainsOptions): Promise<Domain[]>;
|
|
369
406
|
renewDomain(_domainName: string, _years?: number, _opts?: RequestOptions): Promise<OperationResult>;
|
|
@@ -394,6 +431,7 @@ declare abstract class BaseRegistrar implements Registrar {
|
|
|
394
431
|
|
|
395
432
|
declare class CloudflareRegistrar extends BaseRegistrar {
|
|
396
433
|
readonly name = "cloudflare";
|
|
434
|
+
static readonly safeMethods: readonly string[];
|
|
397
435
|
static readonly displayName = "Cloudflare";
|
|
398
436
|
static readonly website = "cloudflare.com";
|
|
399
437
|
static readonly helpText: string;
|
|
@@ -438,6 +476,7 @@ declare class CloudflareRegistrar extends BaseRegistrar {
|
|
|
438
476
|
|
|
439
477
|
declare class DynadotRegistrar extends BaseRegistrar {
|
|
440
478
|
readonly name = "dynadot";
|
|
479
|
+
static readonly safeMethods: readonly string[];
|
|
441
480
|
static readonly displayName = "Dynadot";
|
|
442
481
|
static readonly website = "dynadot.com";
|
|
443
482
|
static readonly helpText: string;
|
|
@@ -482,6 +521,7 @@ declare class DynadotRegistrar extends BaseRegistrar {
|
|
|
482
521
|
|
|
483
522
|
declare class GandiRegistrar extends BaseRegistrar {
|
|
484
523
|
readonly name = "gandi";
|
|
524
|
+
static readonly safeMethods: readonly string[];
|
|
485
525
|
static readonly displayName = "Gandi.net";
|
|
486
526
|
static readonly website = "gandi.net";
|
|
487
527
|
static readonly helpText: string;
|
|
@@ -520,6 +560,7 @@ declare class GandiRegistrar extends BaseRegistrar {
|
|
|
520
560
|
|
|
521
561
|
declare class GoDaddyRegistrar extends BaseRegistrar {
|
|
522
562
|
readonly name = "godaddy";
|
|
563
|
+
static readonly safeMethods: readonly string[];
|
|
523
564
|
static readonly displayName = "GoDaddy";
|
|
524
565
|
static readonly website = "godaddy.com";
|
|
525
566
|
static readonly helpText: string;
|
|
@@ -568,6 +609,7 @@ declare class GoDaddyRegistrar extends BaseRegistrar {
|
|
|
568
609
|
|
|
569
610
|
declare class NameBrightRegistrar extends BaseRegistrar {
|
|
570
611
|
readonly name = "namebright";
|
|
612
|
+
static readonly safeMethods: readonly string[];
|
|
571
613
|
static readonly displayName = "NameBright";
|
|
572
614
|
static readonly website = "namebright.com";
|
|
573
615
|
static readonly helpText: string;
|
|
@@ -640,6 +682,7 @@ declare class NamecheapRegistrar extends BaseRegistrar {
|
|
|
640
682
|
|
|
641
683
|
declare class NamecomRegistrar extends BaseRegistrar {
|
|
642
684
|
readonly name = "namecom";
|
|
685
|
+
static readonly safeMethods: readonly string[];
|
|
643
686
|
static readonly displayName = "Name.com";
|
|
644
687
|
static readonly website = "name.com";
|
|
645
688
|
static readonly supportsSandbox = true;
|
|
@@ -749,6 +792,7 @@ declare class PorkbunRegistrar extends BaseRegistrar {
|
|
|
749
792
|
|
|
750
793
|
declare class SpaceshipRegistrar extends BaseRegistrar {
|
|
751
794
|
readonly name = "spaceship";
|
|
795
|
+
static readonly safeMethods: readonly string[];
|
|
752
796
|
static readonly displayName = "Spaceship";
|
|
753
797
|
static readonly website = "spaceship.com";
|
|
754
798
|
static readonly helpText: string;
|
|
@@ -819,5 +863,6 @@ declare function backoffDelay(backoff: number, attempt: number): number;
|
|
|
819
863
|
declare function parseDate(value: Date | string | number | null | undefined): Date | null;
|
|
820
864
|
declare function normalizeNameservers(nameservers: unknown): string[];
|
|
821
865
|
declare function createDomain(data?: DomainInput): Domain;
|
|
866
|
+
declare function asRead<T extends RequestOptions>(opts?: T): T;
|
|
822
867
|
|
|
823
|
-
export { ALL_FEATURES, AbortError, AuthenticationError, AuthorizationError, BaseRegistrar, CORE_FEATURES, CloudflareRegistrar, type ConfigField, ConfigurationError, ConnectionError, type ConnectionResult, ConsentRequiredError, type Contact, type ContactSet, DEFAULT_OPTIONS, type DnsRecord, type DnssecStatus, type Domain, type DomainAvailability, type DomainForward, type DomainForwardType, type DomainInput, type DomainSource, type DsRecord, DynadotRegistrar, EXTENDED_FEATURES, type EmailForward, Feature, GandiRegistrar, GoDaddyRegistrar, HttpClient, type HttpClientConfig, InvalidResponseError, type ListDomainsOptions, MASKED_FORWARD_UNSUPPORTED, NameBrightRegistrar, NameSiloRegistrar, NamecheapRegistrar, NamecomRegistrar, NotFoundError, NotImplementedError, type OperationResult, ParsingError, PorkbunRegistrar, type PortfolioError, type PortfolioResult, RateLimitError, type RegisterDomainInput, type Registrar, RegistrarClient, type RegistrarClientOptions, type RegistrarConstructor, type RegistrarCredentials, type RegistrarEnvironment, RegistrarError, type RegistrarFeature, type RegistrarName, type RegistrarOptions, type RegistrationConsent, type RequestConfig, type RequestOptions, RetryableRegistrarError, type SettableDomainForward, SpaceshipRegistrar, TimeoutError, type TldPricing, type TransferDomainInput, USER_AGENT, backoffDelay, createDomain, createRegistrar, ensureArray, filterDomains, isCoreFeature, listPortfolio, normalizeDomain, normalizeNameservers, parseDate, parseXml, registrars, requireConsent, selectBaseUrl, settableForwards, sleep, toRegistrarError };
|
|
868
|
+
export { ALL_FEATURES, AbortError, AuthenticationError, AuthorizationError, BaseRegistrar, CORE_FEATURES, CloudflareRegistrar, type ConfigField, ConfigurationError, ConnectionError, type ConnectionResult, ConsentRequiredError, type Contact, type ContactSet, DEFAULT_OPTIONS, type DnsRecord, type DnssecStatus, type Domain, type DomainAvailability, type DomainForward, type DomainForwardType, type DomainInput, type DomainSource, type DsRecord, DynadotRegistrar, EXTENDED_FEATURES, type EmailForward, FEATURE_CALLS, Feature, type FeatureCall, GandiRegistrar, GoDaddyRegistrar, HttpClient, type HttpClientConfig, InvalidResponseError, type ListDomainsOptions, MASKED_FORWARD_UNSUPPORTED, NameBrightRegistrar, NameSiloRegistrar, NamecheapRegistrar, NamecomRegistrar, NotFoundError, NotImplementedError, type OperationResult, OutcomeUnknownError, ParsingError, PorkbunRegistrar, type PortfolioError, type PortfolioResult, REST_SAFE_METHODS, RateLimitError, type RegisterDomainInput, type Registrar, RegistrarClient, type RegistrarClientOptions, type RegistrarConstructor, type RegistrarCredentials, type RegistrarEnvironment, RegistrarError, type RegistrarFeature, type RegistrarName, type RegistrarOptions, type RegistrationConsent, type RequestConfig, type RequestIntent, type RequestOptions, RetryableRegistrarError, type SettableDomainForward, SpaceshipRegistrar, TimeoutError, type TldPricing, type TransferDomainInput, USER_AGENT, asRead, backoffDelay, createDomain, createRegistrar, ensureArray, filterDomains, isCoreFeature, listPortfolio, markNotSent, normalizeDomain, normalizeNameservers, parseDate, parseXml, registrars, requireConsent, selectBaseUrl, settableForwards, sleep, toRegistrarError, wasNotSent };
|
package/dist/index.d.ts
CHANGED
|
@@ -32,14 +32,27 @@ declare const CORE_FEATURES: readonly ["testConnection", "listDomains", "getDoma
|
|
|
32
32
|
declare const EXTENDED_FEATURES: readonly ["getAuthCode", "getDnssec", "disableDnssec", "getEmailForwarding", "setEmailForwarding", "getDomainForwarding", "setDomainForwarding"];
|
|
33
33
|
declare const ALL_FEATURES: readonly ["testConnection", "listDomains", "getDomain", "checkAvailability", "getPricing", "registerDomain", "renewDomain", "setAutoRenew", "transferIn", "updateNameservers", "getNameservers", "lockDomain", "unlockDomain", "setPrivacy", "getContacts", "updateContacts", "getDnsRecords", "setDnsRecords", "getAuthCode", "getDnssec", "disableDnssec", "getEmailForwarding", "setEmailForwarding", "getDomainForwarding", "setDomainForwarding"];
|
|
34
34
|
declare function isCoreFeature(feature: RegistrarFeature): boolean;
|
|
35
|
+
declare const FEATURE_CALLS: Record<RegistrarFeature, {
|
|
36
|
+
intent: 'read' | 'write';
|
|
37
|
+
optsIndex: number;
|
|
38
|
+
}>;
|
|
35
39
|
|
|
36
40
|
interface RegistrarClientOptions {
|
|
37
41
|
timeout: number;
|
|
38
42
|
retries: number;
|
|
39
43
|
backoff: number;
|
|
40
44
|
signal?: AbortSignal;
|
|
45
|
+
fetch?: typeof globalThis.fetch;
|
|
46
|
+
}
|
|
47
|
+
type RequestIntent = 'read' | 'write';
|
|
48
|
+
interface FeatureCall {
|
|
49
|
+
intent: RequestIntent;
|
|
50
|
+
feature?: string;
|
|
51
|
+
outcomeUnknown?: Error;
|
|
52
|
+
}
|
|
53
|
+
interface RequestOptions extends Partial<RegistrarClientOptions> {
|
|
54
|
+
call?: FeatureCall;
|
|
41
55
|
}
|
|
42
|
-
type RequestOptions = Partial<RegistrarClientOptions>;
|
|
43
56
|
interface ListDomainsOptions extends RequestOptions {
|
|
44
57
|
search?: string;
|
|
45
58
|
detailed?: boolean;
|
|
@@ -55,6 +68,7 @@ interface ConnectionResult {
|
|
|
55
68
|
interface OperationResult {
|
|
56
69
|
success: boolean;
|
|
57
70
|
message: string;
|
|
71
|
+
outcome?: 'unknown';
|
|
58
72
|
}
|
|
59
73
|
interface ConfigField {
|
|
60
74
|
name: string;
|
|
@@ -126,6 +140,7 @@ interface DomainAvailability {
|
|
|
126
140
|
available: boolean;
|
|
127
141
|
premium?: boolean;
|
|
128
142
|
price?: number;
|
|
143
|
+
renewalPrice?: number;
|
|
129
144
|
currency?: string;
|
|
130
145
|
period?: number;
|
|
131
146
|
}
|
|
@@ -276,8 +291,22 @@ declare class TimeoutError extends RetryableRegistrarError {
|
|
|
276
291
|
}
|
|
277
292
|
declare class ConnectionError extends RetryableRegistrarError {
|
|
278
293
|
status: number;
|
|
279
|
-
|
|
294
|
+
notSent: boolean;
|
|
295
|
+
constructor(message: string, details?: {
|
|
296
|
+
notSent?: boolean;
|
|
297
|
+
});
|
|
280
298
|
}
|
|
299
|
+
declare class OutcomeUnknownError extends RegistrarError {
|
|
300
|
+
status: number;
|
|
301
|
+
feature?: string;
|
|
302
|
+
cause?: unknown;
|
|
303
|
+
constructor(message: string, details?: {
|
|
304
|
+
feature?: string;
|
|
305
|
+
cause?: unknown;
|
|
306
|
+
});
|
|
307
|
+
}
|
|
308
|
+
declare function markNotSent<T>(error: T): T;
|
|
309
|
+
declare function wasNotSent(error: unknown): boolean;
|
|
281
310
|
declare class AuthenticationError extends RegistrarError {
|
|
282
311
|
status: number;
|
|
283
312
|
constructor(message: string);
|
|
@@ -325,7 +354,10 @@ interface HttpClientConfig {
|
|
|
325
354
|
baseUrl: string;
|
|
326
355
|
headers?: Record<string, string>;
|
|
327
356
|
options: RegistrarClientOptions;
|
|
357
|
+
safeMethods?: readonly string[];
|
|
358
|
+
rateLimitFallbackSeconds?: number;
|
|
328
359
|
}
|
|
360
|
+
declare const REST_SAFE_METHODS: readonly string[];
|
|
329
361
|
interface RequestConfig {
|
|
330
362
|
method?: string;
|
|
331
363
|
path: string;
|
|
@@ -336,6 +368,8 @@ interface RequestConfig {
|
|
|
336
368
|
retries?: number;
|
|
337
369
|
backoff?: number;
|
|
338
370
|
signal?: AbortSignal;
|
|
371
|
+
fetch?: typeof globalThis.fetch;
|
|
372
|
+
call?: FeatureCall;
|
|
339
373
|
}
|
|
340
374
|
declare class HttpClient {
|
|
341
375
|
protected config: HttpClientConfig;
|
|
@@ -343,6 +377,7 @@ declare class HttpClient {
|
|
|
343
377
|
request<T = unknown>(req: RequestConfig): Promise<T>;
|
|
344
378
|
requestText(req: RequestConfig): Promise<string>;
|
|
345
379
|
protected withRetries<T>(req: RequestConfig, attemptFn: () => Promise<T>): Promise<T>;
|
|
380
|
+
protected intentOf(req: RequestConfig): 'read' | 'write';
|
|
346
381
|
protected buildUrl(req: RequestConfig): string;
|
|
347
382
|
protected send(req: RequestConfig): Promise<string>;
|
|
348
383
|
protected toStatusError(response: Response, url: string): Promise<RegistrarError>;
|
|
@@ -360,10 +395,12 @@ declare abstract class BaseRegistrar implements Registrar {
|
|
|
360
395
|
readonly environment: RegistrarEnvironment;
|
|
361
396
|
static readonly extendedFeatures: readonly RegistrarFeature[];
|
|
362
397
|
static get features(): readonly RegistrarFeature[];
|
|
398
|
+
static readonly safeMethods: readonly string[];
|
|
363
399
|
get features(): readonly RegistrarFeature[];
|
|
364
400
|
supports(feature: RegistrarFeature): boolean;
|
|
365
401
|
readonly requiresNameserversFetch: boolean;
|
|
366
402
|
constructor(credentials: RegistrarCredentials, httpConfig: Omit<HttpClientConfig, 'options'>, options?: RegistrarOptions);
|
|
403
|
+
private threadFeatureCalls;
|
|
367
404
|
testConnection(_opts?: RequestOptions): Promise<ConnectionResult>;
|
|
368
405
|
listDomains(_opts?: ListDomainsOptions): Promise<Domain[]>;
|
|
369
406
|
renewDomain(_domainName: string, _years?: number, _opts?: RequestOptions): Promise<OperationResult>;
|
|
@@ -394,6 +431,7 @@ declare abstract class BaseRegistrar implements Registrar {
|
|
|
394
431
|
|
|
395
432
|
declare class CloudflareRegistrar extends BaseRegistrar {
|
|
396
433
|
readonly name = "cloudflare";
|
|
434
|
+
static readonly safeMethods: readonly string[];
|
|
397
435
|
static readonly displayName = "Cloudflare";
|
|
398
436
|
static readonly website = "cloudflare.com";
|
|
399
437
|
static readonly helpText: string;
|
|
@@ -438,6 +476,7 @@ declare class CloudflareRegistrar extends BaseRegistrar {
|
|
|
438
476
|
|
|
439
477
|
declare class DynadotRegistrar extends BaseRegistrar {
|
|
440
478
|
readonly name = "dynadot";
|
|
479
|
+
static readonly safeMethods: readonly string[];
|
|
441
480
|
static readonly displayName = "Dynadot";
|
|
442
481
|
static readonly website = "dynadot.com";
|
|
443
482
|
static readonly helpText: string;
|
|
@@ -482,6 +521,7 @@ declare class DynadotRegistrar extends BaseRegistrar {
|
|
|
482
521
|
|
|
483
522
|
declare class GandiRegistrar extends BaseRegistrar {
|
|
484
523
|
readonly name = "gandi";
|
|
524
|
+
static readonly safeMethods: readonly string[];
|
|
485
525
|
static readonly displayName = "Gandi.net";
|
|
486
526
|
static readonly website = "gandi.net";
|
|
487
527
|
static readonly helpText: string;
|
|
@@ -520,6 +560,7 @@ declare class GandiRegistrar extends BaseRegistrar {
|
|
|
520
560
|
|
|
521
561
|
declare class GoDaddyRegistrar extends BaseRegistrar {
|
|
522
562
|
readonly name = "godaddy";
|
|
563
|
+
static readonly safeMethods: readonly string[];
|
|
523
564
|
static readonly displayName = "GoDaddy";
|
|
524
565
|
static readonly website = "godaddy.com";
|
|
525
566
|
static readonly helpText: string;
|
|
@@ -568,6 +609,7 @@ declare class GoDaddyRegistrar extends BaseRegistrar {
|
|
|
568
609
|
|
|
569
610
|
declare class NameBrightRegistrar extends BaseRegistrar {
|
|
570
611
|
readonly name = "namebright";
|
|
612
|
+
static readonly safeMethods: readonly string[];
|
|
571
613
|
static readonly displayName = "NameBright";
|
|
572
614
|
static readonly website = "namebright.com";
|
|
573
615
|
static readonly helpText: string;
|
|
@@ -640,6 +682,7 @@ declare class NamecheapRegistrar extends BaseRegistrar {
|
|
|
640
682
|
|
|
641
683
|
declare class NamecomRegistrar extends BaseRegistrar {
|
|
642
684
|
readonly name = "namecom";
|
|
685
|
+
static readonly safeMethods: readonly string[];
|
|
643
686
|
static readonly displayName = "Name.com";
|
|
644
687
|
static readonly website = "name.com";
|
|
645
688
|
static readonly supportsSandbox = true;
|
|
@@ -749,6 +792,7 @@ declare class PorkbunRegistrar extends BaseRegistrar {
|
|
|
749
792
|
|
|
750
793
|
declare class SpaceshipRegistrar extends BaseRegistrar {
|
|
751
794
|
readonly name = "spaceship";
|
|
795
|
+
static readonly safeMethods: readonly string[];
|
|
752
796
|
static readonly displayName = "Spaceship";
|
|
753
797
|
static readonly website = "spaceship.com";
|
|
754
798
|
static readonly helpText: string;
|
|
@@ -819,5 +863,6 @@ declare function backoffDelay(backoff: number, attempt: number): number;
|
|
|
819
863
|
declare function parseDate(value: Date | string | number | null | undefined): Date | null;
|
|
820
864
|
declare function normalizeNameservers(nameservers: unknown): string[];
|
|
821
865
|
declare function createDomain(data?: DomainInput): Domain;
|
|
866
|
+
declare function asRead<T extends RequestOptions>(opts?: T): T;
|
|
822
867
|
|
|
823
|
-
export { ALL_FEATURES, AbortError, AuthenticationError, AuthorizationError, BaseRegistrar, CORE_FEATURES, CloudflareRegistrar, type ConfigField, ConfigurationError, ConnectionError, type ConnectionResult, ConsentRequiredError, type Contact, type ContactSet, DEFAULT_OPTIONS, type DnsRecord, type DnssecStatus, type Domain, type DomainAvailability, type DomainForward, type DomainForwardType, type DomainInput, type DomainSource, type DsRecord, DynadotRegistrar, EXTENDED_FEATURES, type EmailForward, Feature, GandiRegistrar, GoDaddyRegistrar, HttpClient, type HttpClientConfig, InvalidResponseError, type ListDomainsOptions, MASKED_FORWARD_UNSUPPORTED, NameBrightRegistrar, NameSiloRegistrar, NamecheapRegistrar, NamecomRegistrar, NotFoundError, NotImplementedError, type OperationResult, ParsingError, PorkbunRegistrar, type PortfolioError, type PortfolioResult, RateLimitError, type RegisterDomainInput, type Registrar, RegistrarClient, type RegistrarClientOptions, type RegistrarConstructor, type RegistrarCredentials, type RegistrarEnvironment, RegistrarError, type RegistrarFeature, type RegistrarName, type RegistrarOptions, type RegistrationConsent, type RequestConfig, type RequestOptions, RetryableRegistrarError, type SettableDomainForward, SpaceshipRegistrar, TimeoutError, type TldPricing, type TransferDomainInput, USER_AGENT, backoffDelay, createDomain, createRegistrar, ensureArray, filterDomains, isCoreFeature, listPortfolio, normalizeDomain, normalizeNameservers, parseDate, parseXml, registrars, requireConsent, selectBaseUrl, settableForwards, sleep, toRegistrarError };
|
|
868
|
+
export { ALL_FEATURES, AbortError, AuthenticationError, AuthorizationError, BaseRegistrar, CORE_FEATURES, CloudflareRegistrar, type ConfigField, ConfigurationError, ConnectionError, type ConnectionResult, ConsentRequiredError, type Contact, type ContactSet, DEFAULT_OPTIONS, type DnsRecord, type DnssecStatus, type Domain, type DomainAvailability, type DomainForward, type DomainForwardType, type DomainInput, type DomainSource, type DsRecord, DynadotRegistrar, EXTENDED_FEATURES, type EmailForward, FEATURE_CALLS, Feature, type FeatureCall, GandiRegistrar, GoDaddyRegistrar, HttpClient, type HttpClientConfig, InvalidResponseError, type ListDomainsOptions, MASKED_FORWARD_UNSUPPORTED, NameBrightRegistrar, NameSiloRegistrar, NamecheapRegistrar, NamecomRegistrar, NotFoundError, NotImplementedError, type OperationResult, OutcomeUnknownError, ParsingError, PorkbunRegistrar, type PortfolioError, type PortfolioResult, REST_SAFE_METHODS, RateLimitError, type RegisterDomainInput, type Registrar, RegistrarClient, type RegistrarClientOptions, type RegistrarConstructor, type RegistrarCredentials, type RegistrarEnvironment, RegistrarError, type RegistrarFeature, type RegistrarName, type RegistrarOptions, type RegistrationConsent, type RequestConfig, type RequestIntent, type RequestOptions, RetryableRegistrarError, type SettableDomainForward, SpaceshipRegistrar, TimeoutError, type TldPricing, type TransferDomainInput, USER_AGENT, asRead, backoffDelay, createDomain, createRegistrar, ensureArray, filterDomains, isCoreFeature, listPortfolio, markNotSent, normalizeDomain, normalizeNameservers, parseDate, parseXml, registrars, requireConsent, selectBaseUrl, settableForwards, sleep, toRegistrarError, wasNotSent };
|