@isvalid-dev/sdk 0.2.1 → 0.4.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 CHANGED
@@ -7,7 +7,7 @@ TypeScript SDK for the [isvalid.dev](https://isvalid.dev) validation API.
7
7
  - **Zero dependencies** — native `fetch` only (Node 18+, browsers)
8
8
  - **Full TypeScript types** for every endpoint response
9
9
  - **ESM + CJS** dual export
10
- - **Tiny** — ~1.5 KB minified + brotli
10
+ - **Tiny** — ~2 KB minified + brotli
11
11
  - **Automatic retry** with exponential backoff for 429/5xx
12
12
  - **Custom error classes** for auth and rate limit errors
13
13
 
@@ -62,6 +62,47 @@ const flight = await iv.iata.flight('LH1234');
62
62
  const airline = await iv.iata.airline('LH');
63
63
  const airlines = await iv.iata.airline.list();
64
64
  const airport = await iv.iata.airport('WAW');
65
+
66
+ // Timezone
67
+ const tz = await iv.timezone('Europe/Warsaw');
68
+ // => { valid: true, timezone: 'Europe/Warsaw', utcOffset: '+01:00', abbreviation: 'CET', isDST: false }
69
+ const timezones = await iv.timezone.list({ region: 'Europe' });
70
+
71
+ // MIME Type
72
+ const mime = await iv.mimeType('application/json');
73
+ // => { valid: true, mime: 'application/json', type: 'application', subtype: 'json', extensions: ['json'], ... }
74
+ const byExt = await iv.mimeType.ext('pdf');
75
+ const mimes = await iv.mimeType.list({ type: 'image' });
76
+
77
+ // HTTP Status
78
+ const status = await iv.httpStatus('404');
79
+ // => { valid: true, code: 404, reasonPhrase: 'Not Found', category: 'client-error' }
80
+ const statuses = await iv.httpStatus.list();
81
+
82
+ // SWIFT MT
83
+ const mt = await iv.swiftMt('MT103');
84
+ // => { valid: true, type: 'MT103', category: 1, group: 'Customer Payments & Cheques', description: 'Single Customer Credit Transfer' }
85
+ const mtList = await iv.swiftMt.list({ category: 1 });
86
+
87
+ // UN/LOCODE
88
+ const locode = await iv.locode('PLWAW');
89
+ // => { valid: true, locode: 'PLWAW', country: 'PL', name: 'Warszawa', found: true, ... }
90
+ const locodes = await iv.locode.list({ country: 'PL' });
91
+
92
+ // HS Code (Harmonized System)
93
+ const hs = await iv.hsCode('8471');
94
+ // => { valid: true, code: '8471', level: 'heading', description: '...', ... }
95
+ const hsList = await iv.hsCode.list({ chapter: '84', level: 'heading' });
96
+
97
+ // GS1 Prefix
98
+ const gs1 = await iv.gs1Prefix('590');
99
+ // => { valid: true, prefix: '590', country: 'Poland' }
100
+ const gs1List = await iv.gs1Prefix.list();
101
+
102
+ // Industry (NAICS / NACE)
103
+ const ind = await iv.industry('5112', { system: 'naics' });
104
+ // => { valid: true, system: 'NAICS', code: '5112', description: '...', ... }
105
+ const indList = await iv.industry.list({ system: 'naics', level: 'sector' });
65
106
  ```
66
107
 
67
108
  ## Country-Specific Endpoints
@@ -71,6 +112,8 @@ const airport = await iv.iata.airport('WAW');
71
112
  await iv.pl.pesel('44051401358');
72
113
  await iv.pl.regon('012345678', { lookup: true });
73
114
  await iv.pl.krs('0000123456', { lookup: true });
115
+ await iv.pl.ceidg('5252344078', { lookup: true });
116
+ await iv.pl.pkd('62.01.Z');
74
117
 
75
118
  // Brazil
76
119
  await iv.br.cnpj('11.222.333/0001-81');
@@ -90,6 +133,9 @@ await iv.gb.sortCode('12-34-56');
90
133
  // Network
91
134
  await iv.net.ip('192.168.1.1');
92
135
  await iv.net.mac('00:1B:44:11:3A:B7');
136
+ await iv.net.port('443');
137
+ // => { valid: true, port: 443, range: 'well-known', serviceName: 'HTTPS', ... }
138
+ const ports = await iv.net.port.list();
93
139
 
94
140
  // Financial
95
141
  await iv.isin('US0378331005');
@@ -113,6 +159,10 @@ iv.color(value) iv.boolean(value) iv.date(value, opts?)
113
159
  iv.btcAddress(value) iv.postalCode(value, opts?)
114
160
  iv.aba(value) iv.containerCode(value) iv.sscc(value)
115
161
  iv.gln(value) iv.qr(value) iv.creditCard(number)
162
+ iv.cas(value) iv.eori(value, opts?) iv.orcid(value, opts?)
163
+ iv.doi(value, opts?) iv.barcode(value, opts?) iv.base64(value)
164
+ iv.ethAddress(value) iv.cron(value) iv.domain(value)
165
+ iv.regex(pattern, opts?) iv.duns(value, opts?) iv.timestamp(value)
116
166
  ```
117
167
 
118
168
  ## Configuration
package/dist/index.cjs CHANGED
@@ -161,9 +161,12 @@ function createIataNamespace(client) {
161
161
 
162
162
  // src/namespaces/net.ts
163
163
  function createNetNamespace(client) {
164
+ const port = ((value) => client.get("/v0/net/port", { value }));
165
+ port.list = () => client.get("/v0/net/port/list");
164
166
  return {
165
167
  ip: (value) => client.get("/v0/net/ip", { value }),
166
- mac: (value) => client.get("/v0/net/mac", { value })
168
+ mac: (value) => client.get("/v0/net/mac", { value }),
169
+ port
167
170
  };
168
171
  }
169
172
 
@@ -178,7 +181,12 @@ function createPlNamespace(client) {
178
181
  krs: (value, opts) => client.get("/v0/pl/krs", {
179
182
  value,
180
183
  lookup: opts?.lookup?.toString()
181
- })
184
+ }),
185
+ ceidg: (value, opts) => client.get("/v0/pl/ceidg", {
186
+ value,
187
+ lookup: opts?.lookup?.toString()
188
+ }),
189
+ pkd: (value) => client.get("/v0/pl/pkd", { value })
182
190
  };
183
191
  }
184
192
 
@@ -225,6 +233,73 @@ function createGbNamespace(client) {
225
233
  };
226
234
  }
227
235
 
236
+ // src/namespaces/hsCode.ts
237
+ function createHsCodeNamespace(client) {
238
+ const hsCode = ((value) => client.get("/v0/hs-code", { value }));
239
+ hsCode.list = (opts) => client.get("/v0/hs-code/list", {
240
+ chapter: opts?.chapter,
241
+ level: opts?.level
242
+ });
243
+ return hsCode;
244
+ }
245
+
246
+ // src/namespaces/gs1Prefix.ts
247
+ function createGs1PrefixNamespace(client) {
248
+ const gs1Prefix = ((value) => client.get("/v0/gs1-prefix", { value }));
249
+ gs1Prefix.list = () => client.get("/v0/gs1-prefix/list");
250
+ return gs1Prefix;
251
+ }
252
+
253
+ // src/namespaces/industry.ts
254
+ function createIndustryNamespace(client) {
255
+ const industry = ((value, opts) => client.get("/v0/industry", {
256
+ value,
257
+ system: opts?.system
258
+ }));
259
+ industry.list = (opts) => client.get("/v0/industry/list", {
260
+ system: opts.system,
261
+ level: opts?.level,
262
+ parent: opts?.parent
263
+ });
264
+ return industry;
265
+ }
266
+
267
+ // src/namespaces/timezone.ts
268
+ function createTimezoneNamespace(client) {
269
+ const timezone = ((value) => client.get("/v0/timezone", { value }));
270
+ timezone.list = (opts) => client.get("/v0/timezone/list", { region: opts?.region });
271
+ return timezone;
272
+ }
273
+
274
+ // src/namespaces/mimeType.ts
275
+ function createMimeTypeNamespace(client) {
276
+ const mimeType = ((value) => client.get("/v0/mime-type", { value }));
277
+ mimeType.ext = (value) => client.get("/v0/mime-type/ext", { value });
278
+ mimeType.list = (opts) => client.get("/v0/mime-type/list", { type: opts?.type });
279
+ return mimeType;
280
+ }
281
+
282
+ // src/namespaces/httpStatus.ts
283
+ function createHttpStatusNamespace(client) {
284
+ const httpStatus = ((value) => client.get("/v0/http-status", { value }));
285
+ httpStatus.list = () => client.get("/v0/http-status/list");
286
+ return httpStatus;
287
+ }
288
+
289
+ // src/namespaces/swiftMt.ts
290
+ function createSwiftMtNamespace(client) {
291
+ const swiftMt = ((value) => client.get("/v0/swift-mt", { value }));
292
+ swiftMt.list = (opts) => client.get("/v0/swift-mt/list", { category: opts?.category?.toString() });
293
+ return swiftMt;
294
+ }
295
+
296
+ // src/namespaces/locode.ts
297
+ function createLocodeNamespace(client) {
298
+ const locode = ((value) => client.get("/v0/locode", { value }));
299
+ locode.list = (opts) => client.get("/v0/locode/list", { country: opts.country });
300
+ return locode;
301
+ }
302
+
228
303
  // src/index.ts
229
304
  var IsValid = class {
230
305
  constructor(config) {
@@ -242,6 +317,14 @@ var IsValid = class {
242
317
  this.in = createInNamespace(this.client);
243
318
  this.us = createUsNamespace(this.client);
244
319
  this.gb = createGbNamespace(this.client);
320
+ this.hsCode = createHsCodeNamespace(this.client);
321
+ this.gs1Prefix = createGs1PrefixNamespace(this.client);
322
+ this.industry = createIndustryNamespace(this.client);
323
+ this.timezone = createTimezoneNamespace(this.client);
324
+ this.mimeType = createMimeTypeNamespace(this.client);
325
+ this.httpStatus = createHttpStatusNamespace(this.client);
326
+ this.swiftMt = createSwiftMtNamespace(this.client);
327
+ this.locode = createLocodeNamespace(this.client);
245
328
  }
246
329
  // --- Simple endpoints ---
247
330
  email(value, opts) {
@@ -344,6 +427,42 @@ var IsValid = class {
344
427
  creditCard(number) {
345
428
  return this.client.post("/v0/credit-card", { number });
346
429
  }
430
+ cas(value) {
431
+ return this.client.get("/v0/cas", { value });
432
+ }
433
+ eori(value, opts) {
434
+ return this.client.get("/v0/eori", { value, check: opts?.check?.toString() });
435
+ }
436
+ orcid(value, opts) {
437
+ return this.client.get("/v0/orcid", { value, lookup: opts?.lookup?.toString() });
438
+ }
439
+ doi(value, opts) {
440
+ return this.client.get("/v0/doi", { value, lookup: opts?.lookup?.toString() });
441
+ }
442
+ barcode(value, opts) {
443
+ return this.client.get("/v0/barcode", { value, type: opts?.type });
444
+ }
445
+ base64(value) {
446
+ return this.client.get("/v0/base64", { value });
447
+ }
448
+ ethAddress(value) {
449
+ return this.client.get("/v0/eth-address", { value });
450
+ }
451
+ cron(value) {
452
+ return this.client.get("/v0/cron", { value });
453
+ }
454
+ domain(value) {
455
+ return this.client.get("/v0/domain", { value });
456
+ }
457
+ regex(pattern, opts) {
458
+ return this.client.post("/v0/regex", { pattern, flags: opts?.flags });
459
+ }
460
+ duns(value, opts) {
461
+ return this.client.get("/v0/duns", { value, lookup: opts?.lookup?.toString() });
462
+ }
463
+ timestamp(value) {
464
+ return this.client.get("/v0/timestamp", { value });
465
+ }
347
466
  };
348
467
  function createClient(config) {
349
468
  return new IsValid(config);
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/errors.ts","../src/client.ts","../src/namespaces/lei.ts","../src/namespaces/country.ts","../src/namespaces/currency.ts","../src/namespaces/language.ts","../src/namespaces/iata.ts","../src/namespaces/net.ts","../src/namespaces/pl.ts","../src/namespaces/br.ts","../src/namespaces/au.ts","../src/namespaces/es.ts","../src/namespaces/in.ts","../src/namespaces/us.ts","../src/namespaces/gb.ts","../src/index.ts"],"names":[],"mappings":"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","file":"index.cjs","sourcesContent":["export class IsValidError extends Error {\n readonly status: number;\n readonly body: { error: string };\n\n constructor(status: number, body: { error: string }) {\n super(body.error);\n this.name = 'IsValidError';\n this.status = status;\n this.body = body;\n }\n}\n\nexport class IsValidAuthError extends IsValidError {\n constructor(body: { error: string }) {\n super(401, body);\n this.name = 'IsValidAuthError';\n }\n}\n\nexport class IsValidRateLimitError extends IsValidError {\n readonly retryAfter: number | null;\n\n constructor(body: { error: string }, retryAfter: number | null = null) {\n super(429, body);\n this.name = 'IsValidRateLimitError';\n this.retryAfter = retryAfter;\n }\n}\n","import { IsValidError, IsValidAuthError, IsValidRateLimitError } from './errors.js';\n\nexport interface RetryConfig {\n maxRetries?: number;\n initialDelayMs?: number;\n maxDelayMs?: number;\n retryOn?: number[];\n}\n\nexport interface IsValidConfig {\n apiKey: string;\n baseUrl?: string;\n timeout?: number;\n retry?: RetryConfig | false;\n}\n\nconst DEFAULT_BASE_URL = 'https://api.isvalid.dev';\nconst DEFAULT_TIMEOUT = 10_000;\nconst DEFAULT_RETRY: Required<RetryConfig> = {\n maxRetries: 3,\n initialDelayMs: 500,\n maxDelayMs: 10_000,\n retryOn: [429, 500, 502, 503],\n};\n\nfunction resolveRetry(cfg: RetryConfig | false | undefined): Required<RetryConfig> | false {\n if (cfg === false) return false;\n if (!cfg) return DEFAULT_RETRY;\n return {\n maxRetries: cfg.maxRetries ?? DEFAULT_RETRY.maxRetries,\n initialDelayMs: cfg.initialDelayMs ?? DEFAULT_RETRY.initialDelayMs,\n maxDelayMs: cfg.maxDelayMs ?? DEFAULT_RETRY.maxDelayMs,\n retryOn: cfg.retryOn ?? DEFAULT_RETRY.retryOn,\n };\n}\n\nfunction delay(ms: number): Promise<void> {\n return new Promise((r) => setTimeout(r, ms));\n}\n\nfunction backoffDelay(attempt: number, initial: number, max: number): number {\n const base = initial * 2 ** attempt;\n const jitter = Math.random() * initial;\n return Math.min(base + jitter, max);\n}\n\nexport class HttpClient {\n private readonly baseUrl: string;\n private readonly apiKey: string;\n private readonly retry: Required<RetryConfig> | false;\n private readonly timeout: number;\n\n constructor(config: IsValidConfig) {\n this.baseUrl = (config.baseUrl ?? DEFAULT_BASE_URL).replace(/\\/+$/, '');\n this.apiKey = config.apiKey;\n this.retry = resolveRetry(config.retry);\n this.timeout = config.timeout ?? DEFAULT_TIMEOUT;\n }\n\n async get<T>(path: string, params?: Record<string, string | undefined>): Promise<T> {\n const url = this.buildUrl(path, params);\n return this.request<T>(url, { method: 'GET' });\n }\n\n async post<T>(path: string, body: unknown): Promise<T> {\n const url = this.buildUrl(path);\n return this.request<T>(url, {\n method: 'POST',\n body: JSON.stringify(body),\n headers: { 'Content-Type': 'application/json' },\n });\n }\n\n private buildUrl(path: string, params?: Record<string, string | undefined>): string {\n let result = this.baseUrl + path;\n if (params) {\n const entries = Object.entries(params).filter((e): e is [string, string] => e[1] !== undefined);\n if (entries.length > 0) {\n result += '?' + entries.map(([k, v]) => `${encodeURIComponent(k)}=${encodeURIComponent(v)}`).join('&');\n }\n }\n return result;\n }\n\n private async request<T>(url: string, init: RequestInit): Promise<T> {\n const headers: Record<string, string> = {\n Authorization: `Bearer ${this.apiKey}`,\n Accept: 'application/json',\n ...(init.headers as Record<string, string> | undefined),\n };\n\n const maxAttempts = this.retry ? this.retry.maxRetries + 1 : 1;\n\n for (let attempt = 0; attempt < maxAttempts; attempt++) {\n const res = await fetch(url, {\n ...init,\n headers,\n signal: AbortSignal.timeout(this.timeout),\n });\n\n if (res.ok) {\n return (await res.json()) as T;\n }\n\n if (this.retry && attempt < this.retry.maxRetries && this.retry.retryOn.includes(res.status)) {\n const retryAfterHeader = res.headers.get('Retry-After');\n const retryMs = retryAfterHeader\n ? parseInt(retryAfterHeader, 10) * 1000\n : backoffDelay(attempt, this.retry.initialDelayMs, this.retry.maxDelayMs);\n await delay(retryMs);\n continue;\n }\n\n const body = await res.json().catch(() => ({ error: res.statusText })) as { error: string };\n\n if (res.status === 401) throw new IsValidAuthError(body);\n if (res.status === 429) {\n const ra = res.headers.get('Retry-After');\n throw new IsValidRateLimitError(body, ra ? parseInt(ra, 10) : null);\n }\n throw new IsValidError(res.status, body);\n }\n\n throw new IsValidError(0, { error: 'Max retries exceeded' });\n }\n}\n","import type { HttpClient } from '../client.js';\nimport type { LeiResponse, LeiSearchOptions, LeiSearchResponse, LeiLousResponse } from '../types/lei.js';\n\nexport interface LeiNamespace {\n (value: string): Promise<LeiResponse>;\n search(query: string, opts?: LeiSearchOptions): Promise<LeiSearchResponse>;\n lous(): Promise<LeiLousResponse>;\n}\n\nexport function createLeiNamespace(client: HttpClient): LeiNamespace {\n const lei = ((value: string) =>\n client.get<LeiResponse>('/v0/lei', { value })\n ) as LeiNamespace;\n\n lei.search = (query: string, opts?: LeiSearchOptions) =>\n client.get<LeiSearchResponse>('/v0/lei/search', {\n q: query,\n country: opts?.country,\n entityStatus: opts?.entityStatus,\n page: opts?.page?.toString(),\n limit: opts?.limit?.toString(),\n });\n\n lei.lous = () => client.get<LeiLousResponse>('/v0/lei/lous');\n\n return lei;\n}\n","import type { HttpClient } from '../client.js';\nimport type { CountryResponse, CountryListItem } from '../types/country.js';\n\nexport interface CountryNamespace {\n (value: string): Promise<CountryResponse>;\n list(): Promise<CountryListItem[]>;\n}\n\nexport function createCountryNamespace(client: HttpClient): CountryNamespace {\n const country = ((value: string) =>\n client.get<CountryResponse>('/v0/country', { value })\n ) as CountryNamespace;\n\n country.list = () => client.get<CountryListItem[]>('/v0/country/list');\n\n return country;\n}\n","import type { HttpClient } from '../client.js';\nimport type { CurrencyResponse, CurrencyListItem } from '../types/currency.js';\n\nexport interface CurrencyNamespace {\n (value: string): Promise<CurrencyResponse>;\n list(): Promise<CurrencyListItem[]>;\n}\n\nexport function createCurrencyNamespace(client: HttpClient): CurrencyNamespace {\n const currency = ((value: string) =>\n client.get<CurrencyResponse>('/v0/currency', { value })\n ) as CurrencyNamespace;\n\n currency.list = () => client.get<CurrencyListItem[]>('/v0/currency/list');\n\n return currency;\n}\n","import type { HttpClient } from '../client.js';\nimport type { LanguageResponse, LanguageListItem } from '../types/language.js';\n\nexport interface LanguageNamespace {\n (value: string): Promise<LanguageResponse>;\n list(): Promise<LanguageListItem[]>;\n}\n\nexport function createLanguageNamespace(client: HttpClient): LanguageNamespace {\n const language = ((value: string) =>\n client.get<LanguageResponse>('/v0/language', { value })\n ) as LanguageNamespace;\n\n language.list = () => client.get<LanguageListItem[]>('/v0/language/list');\n\n return language;\n}\n","import type { HttpClient } from '../client.js';\nimport type {\n IataFlightResponse, IataAirlineResponse, IataAirlineListItem, IataAirportResponse,\n} from '../types/iata.js';\n\nexport interface IataAirlineNamespace {\n (value: string): Promise<IataAirlineResponse>;\n list(): Promise<IataAirlineListItem[]>;\n}\n\nexport interface IataNamespace {\n flight(value: string): Promise<IataFlightResponse>;\n airline: IataAirlineNamespace;\n airport(value: string): Promise<IataAirportResponse>;\n}\n\nexport function createIataNamespace(client: HttpClient): IataNamespace {\n const airline = ((value: string) =>\n client.get<IataAirlineResponse>('/v0/iata/airline', { value })\n ) as IataAirlineNamespace;\n\n airline.list = () => client.get<IataAirlineListItem[]>('/v0/iata/airline/list');\n\n return {\n flight: (value: string) =>\n client.get<IataFlightResponse>('/v0/iata/flight', { value }),\n airline,\n airport: (value: string) =>\n client.get<IataAirportResponse>('/v0/iata/airport', { value }),\n };\n}\n","import type { HttpClient } from '../client.js';\nimport type { IpResponse, MacResponse } from '../types/net.js';\n\nexport interface NetNamespace {\n ip(value: string): Promise<IpResponse>;\n mac(value: string): Promise<MacResponse>;\n}\n\nexport function createNetNamespace(client: HttpClient): NetNamespace {\n return {\n ip: (value: string) => client.get<IpResponse>('/v0/net/ip', { value }),\n mac: (value: string) => client.get<MacResponse>('/v0/net/mac', { value }),\n };\n}\n","import type { HttpClient } from '../client.js';\nimport type { PeselResponse, RegonResponse, KrsResponse } from '../types/pl.js';\n\nexport interface PlNamespace {\n pesel(value: string): Promise<PeselResponse>;\n regon(value: string, opts?: { lookup?: boolean }): Promise<RegonResponse>;\n krs(value: string, opts?: { lookup?: boolean }): Promise<KrsResponse>;\n}\n\nexport function createPlNamespace(client: HttpClient): PlNamespace {\n return {\n pesel: (value: string) =>\n client.get<PeselResponse>('/v0/pl/pesel', { value }),\n regon: (value: string, opts?) =>\n client.get<RegonResponse>('/v0/pl/regon', {\n value,\n lookup: opts?.lookup?.toString(),\n }),\n krs: (value: string, opts?) =>\n client.get<KrsResponse>('/v0/pl/krs', {\n value,\n lookup: opts?.lookup?.toString(),\n }),\n };\n}\n","import type { HttpClient } from '../client.js';\nimport type { CnpjResponse, CpfResponse } from '../types/br.js';\n\nexport interface BrNamespace {\n cnpj(value: string): Promise<CnpjResponse>;\n cpf(value: string): Promise<CpfResponse>;\n}\n\nexport function createBrNamespace(client: HttpClient): BrNamespace {\n return {\n cnpj: (value: string) => client.get<CnpjResponse>('/v0/br/cnpj', { value }),\n cpf: (value: string) => client.get<CpfResponse>('/v0/br/cpf', { value }),\n };\n}\n","import type { HttpClient } from '../client.js';\nimport type { AbnResponse } from '../types/au.js';\n\nexport interface AuNamespace {\n abn(value: string): Promise<AbnResponse>;\n}\n\nexport function createAuNamespace(client: HttpClient): AuNamespace {\n return {\n abn: (value: string) => client.get<AbnResponse>('/v0/au/abn', { value }),\n };\n}\n","import type { HttpClient } from '../client.js';\nimport type { NifResponse } from '../types/es.js';\n\nexport interface EsNamespace {\n nif(value: string): Promise<NifResponse>;\n}\n\nexport function createEsNamespace(client: HttpClient): EsNamespace {\n return {\n nif: (value: string) => client.get<NifResponse>('/v0/es/nif', { value }),\n };\n}\n","import type { HttpClient } from '../client.js';\nimport type { GstinResponse } from '../types/in.js';\n\nexport interface InNamespace {\n gstin(value: string): Promise<GstinResponse>;\n}\n\nexport function createInNamespace(client: HttpClient): InNamespace {\n return {\n gstin: (value: string) => client.get<GstinResponse>('/v0/in/gstin', { value }),\n };\n}\n","import type { HttpClient } from '../client.js';\nimport type { NpiResponse } from '../types/us.js';\n\nexport interface UsNamespace {\n npi(value: string): Promise<NpiResponse>;\n}\n\nexport function createUsNamespace(client: HttpClient): UsNamespace {\n return {\n npi: (value: string) => client.get<NpiResponse>('/v0/us/npi', { value }),\n };\n}\n","import type { HttpClient } from '../client.js';\nimport type { SortCodeResponse } from '../types/gb.js';\n\nexport interface GbNamespace {\n sortCode(value: string): Promise<SortCodeResponse>;\n}\n\nexport function createGbNamespace(client: HttpClient): GbNamespace {\n return {\n sortCode: (value: string) => client.get<SortCodeResponse>('/v0/gb/sort-code', { value }),\n };\n}\n","import { HttpClient } from './client.js';\nimport type { IsValidConfig } from './client.js';\nimport { createLeiNamespace } from './namespaces/lei.js';\nimport type { LeiNamespace } from './namespaces/lei.js';\nimport { createCountryNamespace } from './namespaces/country.js';\nimport type { CountryNamespace } from './namespaces/country.js';\nimport { createCurrencyNamespace } from './namespaces/currency.js';\nimport type { CurrencyNamespace } from './namespaces/currency.js';\nimport { createLanguageNamespace } from './namespaces/language.js';\nimport type { LanguageNamespace } from './namespaces/language.js';\nimport { createIataNamespace } from './namespaces/iata.js';\nimport type { IataNamespace } from './namespaces/iata.js';\nimport { createNetNamespace } from './namespaces/net.js';\nimport type { NetNamespace } from './namespaces/net.js';\nimport { createPlNamespace } from './namespaces/pl.js';\nimport type { PlNamespace } from './namespaces/pl.js';\nimport { createBrNamespace } from './namespaces/br.js';\nimport type { BrNamespace } from './namespaces/br.js';\nimport { createAuNamespace } from './namespaces/au.js';\nimport type { AuNamespace } from './namespaces/au.js';\nimport { createEsNamespace } from './namespaces/es.js';\nimport type { EsNamespace } from './namespaces/es.js';\nimport { createInNamespace } from './namespaces/in.js';\nimport type { InNamespace } from './namespaces/in.js';\nimport { createUsNamespace } from './namespaces/us.js';\nimport type { UsNamespace } from './namespaces/us.js';\nimport { createGbNamespace } from './namespaces/gb.js';\nimport type { GbNamespace } from './namespaces/gb.js';\nimport type {\n EmailResponse, IbanResponse, IsinResponse, DtiResponse, VatResponse,\n GpsResponse, PhoneResponse, UrlResponse, EanResponse, IsbnResponse,\n IssnResponse, BicResponse, CusipResponse, CfiResponse, MicResponse,\n NutsResponse, UuidResponse, JwtResponse, VinResponse, ImeiResponse,\n SemverResponse, ColorResponse, BooleanResponse, DateResponse,\n BtcAddressResponse, PostalCodeResponse, AbaResponse, ContainerCodeResponse,\n SsccResponse, GlnResponse, QrResponse, CreditCardResponse,\n} from './types/simple.js';\n\nexport class IsValid {\n private readonly client: HttpClient;\n\n readonly lei: LeiNamespace;\n readonly country: CountryNamespace;\n readonly currency: CurrencyNamespace;\n readonly language: LanguageNamespace;\n readonly iata: IataNamespace;\n readonly net: NetNamespace;\n readonly pl: PlNamespace;\n readonly br: BrNamespace;\n readonly au: AuNamespace;\n readonly es: EsNamespace;\n readonly in: InNamespace;\n readonly us: UsNamespace;\n readonly gb: GbNamespace;\n\n constructor(config: IsValidConfig) {\n this.client = new HttpClient(config);\n\n this.lei = createLeiNamespace(this.client);\n this.country = createCountryNamespace(this.client);\n this.currency = createCurrencyNamespace(this.client);\n this.language = createLanguageNamespace(this.client);\n this.iata = createIataNamespace(this.client);\n this.net = createNetNamespace(this.client);\n this.pl = createPlNamespace(this.client);\n this.br = createBrNamespace(this.client);\n this.au = createAuNamespace(this.client);\n this.es = createEsNamespace(this.client);\n this.in = createInNamespace(this.client);\n this.us = createUsNamespace(this.client);\n this.gb = createGbNamespace(this.client);\n }\n\n // --- Simple endpoints ---\n\n email(value: string, opts?: { checkMx?: boolean }): Promise<EmailResponse> {\n return this.client.get('/v0/email', { value, checkMx: opts?.checkMx?.toString() });\n }\n\n iban(value: string, opts?: { countryCode?: string }): Promise<IbanResponse> {\n return this.client.get('/v0/iban', { value, countryCode: opts?.countryCode });\n }\n\n isin(value: string): Promise<IsinResponse> {\n return this.client.get('/v0/isin', { value });\n }\n\n dti(value: string): Promise<DtiResponse> {\n return this.client.get('/v0/dti', { value });\n }\n\n vat(value: string, opts?: { countryCode?: string; checkVies?: boolean }): Promise<VatResponse> {\n return this.client.get('/v0/vat', {\n value,\n countryCode: opts?.countryCode,\n checkVies: opts?.checkVies?.toString(),\n });\n }\n\n gps(value: string): Promise<GpsResponse> {\n return this.client.get('/v0/gps', { value });\n }\n\n phone(value: string, opts?: { countryCode?: string }): Promise<PhoneResponse> {\n return this.client.get('/v0/phone', { value, countryCode: opts?.countryCode });\n }\n\n url(value: string): Promise<UrlResponse> {\n return this.client.get('/v0/url', { value });\n }\n\n ean(value: string): Promise<EanResponse> {\n return this.client.get('/v0/ean', { value });\n }\n\n isbn(value: string): Promise<IsbnResponse> {\n return this.client.get('/v0/isbn', { value });\n }\n\n issn(value: string): Promise<IssnResponse> {\n return this.client.get('/v0/issn', { value });\n }\n\n bic(value: string): Promise<BicResponse> {\n return this.client.get('/v0/bic', { value });\n }\n\n cusip(value: string): Promise<CusipResponse> {\n return this.client.get('/v0/cusip', { value });\n }\n\n cfi(value: string): Promise<CfiResponse> {\n return this.client.get('/v0/cfi', { value });\n }\n\n mic(value: string): Promise<MicResponse> {\n return this.client.get('/v0/mic', { value });\n }\n\n nuts(value: string): Promise<NutsResponse> {\n return this.client.get('/v0/nuts', { value });\n }\n\n uuid(value: string, opts?: { version?: number }): Promise<UuidResponse> {\n return this.client.get('/v0/uuid', { value, version: opts?.version?.toString() });\n }\n\n jwt(value: string): Promise<JwtResponse> {\n return this.client.get('/v0/jwt', { value });\n }\n\n vin(value: string): Promise<VinResponse> {\n return this.client.get('/v0/vin', { value });\n }\n\n imei(value: string): Promise<ImeiResponse> {\n return this.client.get('/v0/imei', { value });\n }\n\n semver(value: string): Promise<SemverResponse> {\n return this.client.get('/v0/semver', { value });\n }\n\n color(value: string): Promise<ColorResponse> {\n return this.client.get('/v0/color', { value });\n }\n\n boolean(value: string): Promise<BooleanResponse> {\n return this.client.get('/v0/boolean', { value });\n }\n\n date(value: string, opts?: { format?: string }): Promise<DateResponse> {\n return this.client.get('/v0/date', { value, format: opts?.format });\n }\n\n btcAddress(value: string): Promise<BtcAddressResponse> {\n return this.client.get('/v0/btc-address', { value });\n }\n\n postalCode(value: string, opts?: { countryCode?: string }): Promise<PostalCodeResponse> {\n return this.client.get('/v0/postal-code', { value, countryCode: opts?.countryCode });\n }\n\n aba(value: string): Promise<AbaResponse> {\n return this.client.get('/v0/aba', { value });\n }\n\n containerCode(value: string): Promise<ContainerCodeResponse> {\n return this.client.get('/v0/container-code', { value });\n }\n\n sscc(value: string): Promise<SsccResponse> {\n return this.client.get('/v0/sscc', { value });\n }\n\n gln(value: string): Promise<GlnResponse> {\n return this.client.get('/v0/gln', { value });\n }\n\n qr(value: string): Promise<QrResponse> {\n return this.client.get('/v0/qr', { value });\n }\n\n creditCard(number: string): Promise<CreditCardResponse> {\n return this.client.post('/v0/credit-card', { number });\n }\n}\n\nexport function createClient(config: IsValidConfig): IsValid {\n return new IsValid(config);\n}\n\nexport { IsValidError, IsValidAuthError, IsValidRateLimitError } from './errors.js';\nexport type { IsValidConfig, RetryConfig } from './client.js';\nexport * from './types/index.js';\n\nexport type { LeiNamespace } from './namespaces/lei.js';\nexport type { CountryNamespace } from './namespaces/country.js';\nexport type { CurrencyNamespace } from './namespaces/currency.js';\nexport type { LanguageNamespace } from './namespaces/language.js';\nexport type { IataNamespace, IataAirlineNamespace } from './namespaces/iata.js';\nexport type { NetNamespace } from './namespaces/net.js';\nexport type { PlNamespace } from './namespaces/pl.js';\nexport type { BrNamespace } from './namespaces/br.js';\nexport type { AuNamespace } from './namespaces/au.js';\nexport type { EsNamespace } from './namespaces/es.js';\nexport type { InNamespace } from './namespaces/in.js';\nexport type { UsNamespace } from './namespaces/us.js';\nexport type { GbNamespace } from './namespaces/gb.js';\n"]}
1
+ {"version":3,"sources":["../src/errors.ts","../src/client.ts","../src/namespaces/lei.ts","../src/namespaces/country.ts","../src/namespaces/currency.ts","../src/namespaces/language.ts","../src/namespaces/iata.ts","../src/namespaces/net.ts","../src/namespaces/pl.ts","../src/namespaces/br.ts","../src/namespaces/au.ts","../src/namespaces/es.ts","../src/namespaces/in.ts","../src/namespaces/us.ts","../src/namespaces/gb.ts","../src/namespaces/hsCode.ts","../src/namespaces/gs1Prefix.ts","../src/namespaces/industry.ts","../src/namespaces/timezone.ts","../src/namespaces/mimeType.ts","../src/namespaces/httpStatus.ts","../src/namespaces/swiftMt.ts","../src/namespaces/locode.ts","../src/index.ts"],"names":[],"mappings":"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","file":"index.cjs","sourcesContent":["export class IsValidError extends Error {\n readonly status: number;\n readonly body: { error: string };\n\n constructor(status: number, body: { error: string }) {\n super(body.error);\n this.name = 'IsValidError';\n this.status = status;\n this.body = body;\n }\n}\n\nexport class IsValidAuthError extends IsValidError {\n constructor(body: { error: string }) {\n super(401, body);\n this.name = 'IsValidAuthError';\n }\n}\n\nexport class IsValidRateLimitError extends IsValidError {\n readonly retryAfter: number | null;\n\n constructor(body: { error: string }, retryAfter: number | null = null) {\n super(429, body);\n this.name = 'IsValidRateLimitError';\n this.retryAfter = retryAfter;\n }\n}\n","import { IsValidError, IsValidAuthError, IsValidRateLimitError } from './errors.js';\n\nexport interface RetryConfig {\n maxRetries?: number;\n initialDelayMs?: number;\n maxDelayMs?: number;\n retryOn?: number[];\n}\n\nexport interface IsValidConfig {\n apiKey: string;\n baseUrl?: string;\n timeout?: number;\n retry?: RetryConfig | false;\n}\n\nconst DEFAULT_BASE_URL = 'https://api.isvalid.dev';\nconst DEFAULT_TIMEOUT = 10_000;\nconst DEFAULT_RETRY: Required<RetryConfig> = {\n maxRetries: 3,\n initialDelayMs: 500,\n maxDelayMs: 10_000,\n retryOn: [429, 500, 502, 503],\n};\n\nfunction resolveRetry(cfg: RetryConfig | false | undefined): Required<RetryConfig> | false {\n if (cfg === false) return false;\n if (!cfg) return DEFAULT_RETRY;\n return {\n maxRetries: cfg.maxRetries ?? DEFAULT_RETRY.maxRetries,\n initialDelayMs: cfg.initialDelayMs ?? DEFAULT_RETRY.initialDelayMs,\n maxDelayMs: cfg.maxDelayMs ?? DEFAULT_RETRY.maxDelayMs,\n retryOn: cfg.retryOn ?? DEFAULT_RETRY.retryOn,\n };\n}\n\nfunction delay(ms: number): Promise<void> {\n return new Promise((r) => setTimeout(r, ms));\n}\n\nfunction backoffDelay(attempt: number, initial: number, max: number): number {\n const base = initial * 2 ** attempt;\n const jitter = Math.random() * initial;\n return Math.min(base + jitter, max);\n}\n\nexport class HttpClient {\n private readonly baseUrl: string;\n private readonly apiKey: string;\n private readonly retry: Required<RetryConfig> | false;\n private readonly timeout: number;\n\n constructor(config: IsValidConfig) {\n this.baseUrl = (config.baseUrl ?? DEFAULT_BASE_URL).replace(/\\/+$/, '');\n this.apiKey = config.apiKey;\n this.retry = resolveRetry(config.retry);\n this.timeout = config.timeout ?? DEFAULT_TIMEOUT;\n }\n\n async get<T>(path: string, params?: Record<string, string | undefined>): Promise<T> {\n const url = this.buildUrl(path, params);\n return this.request<T>(url, { method: 'GET' });\n }\n\n async post<T>(path: string, body: unknown): Promise<T> {\n const url = this.buildUrl(path);\n return this.request<T>(url, {\n method: 'POST',\n body: JSON.stringify(body),\n headers: { 'Content-Type': 'application/json' },\n });\n }\n\n private buildUrl(path: string, params?: Record<string, string | undefined>): string {\n let result = this.baseUrl + path;\n if (params) {\n const entries = Object.entries(params).filter((e): e is [string, string] => e[1] !== undefined);\n if (entries.length > 0) {\n result += '?' + entries.map(([k, v]) => `${encodeURIComponent(k)}=${encodeURIComponent(v)}`).join('&');\n }\n }\n return result;\n }\n\n private async request<T>(url: string, init: RequestInit): Promise<T> {\n const headers: Record<string, string> = {\n Authorization: `Bearer ${this.apiKey}`,\n Accept: 'application/json',\n ...(init.headers as Record<string, string> | undefined),\n };\n\n const maxAttempts = this.retry ? this.retry.maxRetries + 1 : 1;\n\n for (let attempt = 0; attempt < maxAttempts; attempt++) {\n const res = await fetch(url, {\n ...init,\n headers,\n signal: AbortSignal.timeout(this.timeout),\n });\n\n if (res.ok) {\n return (await res.json()) as T;\n }\n\n if (this.retry && attempt < this.retry.maxRetries && this.retry.retryOn.includes(res.status)) {\n const retryAfterHeader = res.headers.get('Retry-After');\n const retryMs = retryAfterHeader\n ? parseInt(retryAfterHeader, 10) * 1000\n : backoffDelay(attempt, this.retry.initialDelayMs, this.retry.maxDelayMs);\n await delay(retryMs);\n continue;\n }\n\n const body = await res.json().catch(() => ({ error: res.statusText })) as { error: string };\n\n if (res.status === 401) throw new IsValidAuthError(body);\n if (res.status === 429) {\n const ra = res.headers.get('Retry-After');\n throw new IsValidRateLimitError(body, ra ? parseInt(ra, 10) : null);\n }\n throw new IsValidError(res.status, body);\n }\n\n throw new IsValidError(0, { error: 'Max retries exceeded' });\n }\n}\n","import type { HttpClient } from '../client.js';\nimport type { LeiResponse, LeiSearchOptions, LeiSearchResponse, LeiLousResponse } from '../types/lei.js';\n\nexport interface LeiNamespace {\n (value: string): Promise<LeiResponse>;\n search(query: string, opts?: LeiSearchOptions): Promise<LeiSearchResponse>;\n lous(): Promise<LeiLousResponse>;\n}\n\nexport function createLeiNamespace(client: HttpClient): LeiNamespace {\n const lei = ((value: string) =>\n client.get<LeiResponse>('/v0/lei', { value })\n ) as LeiNamespace;\n\n lei.search = (query: string, opts?: LeiSearchOptions) =>\n client.get<LeiSearchResponse>('/v0/lei/search', {\n q: query,\n country: opts?.country,\n entityStatus: opts?.entityStatus,\n page: opts?.page?.toString(),\n limit: opts?.limit?.toString(),\n });\n\n lei.lous = () => client.get<LeiLousResponse>('/v0/lei/lous');\n\n return lei;\n}\n","import type { HttpClient } from '../client.js';\nimport type { CountryResponse, CountryListItem } from '../types/country.js';\n\nexport interface CountryNamespace {\n (value: string): Promise<CountryResponse>;\n list(): Promise<CountryListItem[]>;\n}\n\nexport function createCountryNamespace(client: HttpClient): CountryNamespace {\n const country = ((value: string) =>\n client.get<CountryResponse>('/v0/country', { value })\n ) as CountryNamespace;\n\n country.list = () => client.get<CountryListItem[]>('/v0/country/list');\n\n return country;\n}\n","import type { HttpClient } from '../client.js';\nimport type { CurrencyResponse, CurrencyListItem } from '../types/currency.js';\n\nexport interface CurrencyNamespace {\n (value: string): Promise<CurrencyResponse>;\n list(): Promise<CurrencyListItem[]>;\n}\n\nexport function createCurrencyNamespace(client: HttpClient): CurrencyNamespace {\n const currency = ((value: string) =>\n client.get<CurrencyResponse>('/v0/currency', { value })\n ) as CurrencyNamespace;\n\n currency.list = () => client.get<CurrencyListItem[]>('/v0/currency/list');\n\n return currency;\n}\n","import type { HttpClient } from '../client.js';\nimport type { LanguageResponse, LanguageListItem } from '../types/language.js';\n\nexport interface LanguageNamespace {\n (value: string): Promise<LanguageResponse>;\n list(): Promise<LanguageListItem[]>;\n}\n\nexport function createLanguageNamespace(client: HttpClient): LanguageNamespace {\n const language = ((value: string) =>\n client.get<LanguageResponse>('/v0/language', { value })\n ) as LanguageNamespace;\n\n language.list = () => client.get<LanguageListItem[]>('/v0/language/list');\n\n return language;\n}\n","import type { HttpClient } from '../client.js';\nimport type {\n IataFlightResponse, IataAirlineResponse, IataAirlineListItem, IataAirportResponse,\n} from '../types/iata.js';\n\nexport interface IataAirlineNamespace {\n (value: string): Promise<IataAirlineResponse>;\n list(): Promise<IataAirlineListItem[]>;\n}\n\nexport interface IataNamespace {\n flight(value: string): Promise<IataFlightResponse>;\n airline: IataAirlineNamespace;\n airport(value: string): Promise<IataAirportResponse>;\n}\n\nexport function createIataNamespace(client: HttpClient): IataNamespace {\n const airline = ((value: string) =>\n client.get<IataAirlineResponse>('/v0/iata/airline', { value })\n ) as IataAirlineNamespace;\n\n airline.list = () => client.get<IataAirlineListItem[]>('/v0/iata/airline/list');\n\n return {\n flight: (value: string) =>\n client.get<IataFlightResponse>('/v0/iata/flight', { value }),\n airline,\n airport: (value: string) =>\n client.get<IataAirportResponse>('/v0/iata/airport', { value }),\n };\n}\n","import type { HttpClient } from '../client.js';\nimport type { IpResponse, MacResponse, NetPortResponse, NetPortListItem } from '../types/net.js';\n\nexport interface NetPortNamespace {\n (value: string): Promise<NetPortResponse>;\n list(): Promise<NetPortListItem[]>;\n}\n\nexport interface NetNamespace {\n ip(value: string): Promise<IpResponse>;\n mac(value: string): Promise<MacResponse>;\n port: NetPortNamespace;\n}\n\nexport function createNetNamespace(client: HttpClient): NetNamespace {\n const port = ((value: string) =>\n client.get<NetPortResponse>('/v0/net/port', { value })\n ) as NetPortNamespace;\n\n port.list = () => client.get<NetPortListItem[]>('/v0/net/port/list');\n\n return {\n ip: (value: string) => client.get<IpResponse>('/v0/net/ip', { value }),\n mac: (value: string) => client.get<MacResponse>('/v0/net/mac', { value }),\n port,\n };\n}\n","import type { HttpClient } from '../client.js';\nimport type { PeselResponse, RegonResponse, KrsResponse, CeidgResponse, PkdResponse } from '../types/pl.js';\n\nexport interface PlNamespace {\n pesel(value: string): Promise<PeselResponse>;\n regon(value: string, opts?: { lookup?: boolean }): Promise<RegonResponse>;\n krs(value: string, opts?: { lookup?: boolean }): Promise<KrsResponse>;\n ceidg(value: string, opts?: { lookup?: boolean }): Promise<CeidgResponse>;\n pkd(value: string): Promise<PkdResponse>;\n}\n\nexport function createPlNamespace(client: HttpClient): PlNamespace {\n return {\n pesel: (value: string) =>\n client.get<PeselResponse>('/v0/pl/pesel', { value }),\n regon: (value: string, opts?) =>\n client.get<RegonResponse>('/v0/pl/regon', {\n value,\n lookup: opts?.lookup?.toString(),\n }),\n krs: (value: string, opts?) =>\n client.get<KrsResponse>('/v0/pl/krs', {\n value,\n lookup: opts?.lookup?.toString(),\n }),\n ceidg: (value: string, opts?) =>\n client.get<CeidgResponse>('/v0/pl/ceidg', {\n value,\n lookup: opts?.lookup?.toString(),\n }),\n pkd: (value: string) =>\n client.get<PkdResponse>('/v0/pl/pkd', { value }),\n };\n}\n","import type { HttpClient } from '../client.js';\nimport type { CnpjResponse, CpfResponse } from '../types/br.js';\n\nexport interface BrNamespace {\n cnpj(value: string): Promise<CnpjResponse>;\n cpf(value: string): Promise<CpfResponse>;\n}\n\nexport function createBrNamespace(client: HttpClient): BrNamespace {\n return {\n cnpj: (value: string) => client.get<CnpjResponse>('/v0/br/cnpj', { value }),\n cpf: (value: string) => client.get<CpfResponse>('/v0/br/cpf', { value }),\n };\n}\n","import type { HttpClient } from '../client.js';\nimport type { AbnResponse } from '../types/au.js';\n\nexport interface AuNamespace {\n abn(value: string): Promise<AbnResponse>;\n}\n\nexport function createAuNamespace(client: HttpClient): AuNamespace {\n return {\n abn: (value: string) => client.get<AbnResponse>('/v0/au/abn', { value }),\n };\n}\n","import type { HttpClient } from '../client.js';\nimport type { NifResponse } from '../types/es.js';\n\nexport interface EsNamespace {\n nif(value: string): Promise<NifResponse>;\n}\n\nexport function createEsNamespace(client: HttpClient): EsNamespace {\n return {\n nif: (value: string) => client.get<NifResponse>('/v0/es/nif', { value }),\n };\n}\n","import type { HttpClient } from '../client.js';\nimport type { GstinResponse } from '../types/in.js';\n\nexport interface InNamespace {\n gstin(value: string): Promise<GstinResponse>;\n}\n\nexport function createInNamespace(client: HttpClient): InNamespace {\n return {\n gstin: (value: string) => client.get<GstinResponse>('/v0/in/gstin', { value }),\n };\n}\n","import type { HttpClient } from '../client.js';\nimport type { NpiResponse } from '../types/us.js';\n\nexport interface UsNamespace {\n npi(value: string): Promise<NpiResponse>;\n}\n\nexport function createUsNamespace(client: HttpClient): UsNamespace {\n return {\n npi: (value: string) => client.get<NpiResponse>('/v0/us/npi', { value }),\n };\n}\n","import type { HttpClient } from '../client.js';\nimport type { SortCodeResponse } from '../types/gb.js';\n\nexport interface GbNamespace {\n sortCode(value: string): Promise<SortCodeResponse>;\n}\n\nexport function createGbNamespace(client: HttpClient): GbNamespace {\n return {\n sortCode: (value: string) => client.get<SortCodeResponse>('/v0/gb/sort-code', { value }),\n };\n}\n","import type { HttpClient } from '../client.js';\nimport type { HsCodeResponse, HsCodeListResponse } from '../types/hsCode.js';\n\nexport interface HsCodeNamespace {\n (value: string): Promise<HsCodeResponse>;\n list(opts?: { chapter?: string; level?: string }): Promise<HsCodeListResponse>;\n}\n\nexport function createHsCodeNamespace(client: HttpClient): HsCodeNamespace {\n const hsCode = ((value: string) =>\n client.get<HsCodeResponse>('/v0/hs-code', { value })\n ) as HsCodeNamespace;\n\n hsCode.list = (opts?: { chapter?: string; level?: string }) =>\n client.get<HsCodeListResponse>('/v0/hs-code/list', {\n chapter: opts?.chapter,\n level: opts?.level,\n });\n\n return hsCode;\n}\n","import type { HttpClient } from '../client.js';\nimport type { Gs1PrefixResponse, Gs1PrefixListResponse } from '../types/gs1Prefix.js';\n\nexport interface Gs1PrefixNamespace {\n (value: string): Promise<Gs1PrefixResponse>;\n list(): Promise<Gs1PrefixListResponse>;\n}\n\nexport function createGs1PrefixNamespace(client: HttpClient): Gs1PrefixNamespace {\n const gs1Prefix = ((value: string) =>\n client.get<Gs1PrefixResponse>('/v0/gs1-prefix', { value })\n ) as Gs1PrefixNamespace;\n\n gs1Prefix.list = () =>\n client.get<Gs1PrefixListResponse>('/v0/gs1-prefix/list');\n\n return gs1Prefix;\n}\n","import type { HttpClient } from '../client.js';\nimport type { IndustryResponse, IndustryListResponse } from '../types/industry.js';\n\nexport interface IndustryNamespace {\n (value: string, opts?: { system?: string }): Promise<IndustryResponse>;\n list(opts: { system: string; level?: string; parent?: string }): Promise<IndustryListResponse>;\n}\n\nexport function createIndustryNamespace(client: HttpClient): IndustryNamespace {\n const industry = ((value: string, opts?: { system?: string }) =>\n client.get<IndustryResponse>('/v0/industry', {\n value,\n system: opts?.system,\n })\n ) as IndustryNamespace;\n\n industry.list = (opts: { system: string; level?: string; parent?: string }) =>\n client.get<IndustryListResponse>('/v0/industry/list', {\n system: opts.system,\n level: opts?.level,\n parent: opts?.parent,\n });\n\n return industry;\n}\n","import type { HttpClient } from '../client.js';\nimport type { TimezoneResponse, TimezoneListItem } from '../types/timezone.js';\n\nexport interface TimezoneNamespace {\n (value: string): Promise<TimezoneResponse>;\n list(opts?: { region?: string }): Promise<TimezoneListItem[]>;\n}\n\nexport function createTimezoneNamespace(client: HttpClient): TimezoneNamespace {\n const timezone = ((value: string) =>\n client.get<TimezoneResponse>('/v0/timezone', { value })\n ) as TimezoneNamespace;\n\n timezone.list = (opts?: { region?: string }) =>\n client.get<TimezoneListItem[]>('/v0/timezone/list', { region: opts?.region });\n\n return timezone;\n}\n","import type { HttpClient } from '../client.js';\nimport type { MimeTypeResponse, MimeTypeExtResponse, MimeTypeListItem } from '../types/mimeType.js';\n\nexport interface MimeTypeNamespace {\n (value: string): Promise<MimeTypeResponse>;\n ext(value: string): Promise<MimeTypeExtResponse>;\n list(opts?: { type?: string }): Promise<MimeTypeListItem[]>;\n}\n\nexport function createMimeTypeNamespace(client: HttpClient): MimeTypeNamespace {\n const mimeType = ((value: string) =>\n client.get<MimeTypeResponse>('/v0/mime-type', { value })\n ) as MimeTypeNamespace;\n\n mimeType.ext = (value: string) =>\n client.get<MimeTypeExtResponse>('/v0/mime-type/ext', { value });\n\n mimeType.list = (opts?: { type?: string }) =>\n client.get<MimeTypeListItem[]>('/v0/mime-type/list', { type: opts?.type });\n\n return mimeType;\n}\n","import type { HttpClient } from '../client.js';\nimport type { HttpStatusResponse, HttpStatusListItem } from '../types/httpStatus.js';\n\nexport interface HttpStatusNamespace {\n (value: string): Promise<HttpStatusResponse>;\n list(): Promise<HttpStatusListItem[]>;\n}\n\nexport function createHttpStatusNamespace(client: HttpClient): HttpStatusNamespace {\n const httpStatus = ((value: string) =>\n client.get<HttpStatusResponse>('/v0/http-status', { value })\n ) as HttpStatusNamespace;\n\n httpStatus.list = () =>\n client.get<HttpStatusListItem[]>('/v0/http-status/list');\n\n return httpStatus;\n}\n","import type { HttpClient } from '../client.js';\nimport type { SwiftMtResponse, SwiftMtListItem } from '../types/swiftMt.js';\n\nexport interface SwiftMtNamespace {\n (value: string): Promise<SwiftMtResponse>;\n list(opts?: { category?: number }): Promise<SwiftMtListItem[]>;\n}\n\nexport function createSwiftMtNamespace(client: HttpClient): SwiftMtNamespace {\n const swiftMt = ((value: string) =>\n client.get<SwiftMtResponse>('/v0/swift-mt', { value })\n ) as SwiftMtNamespace;\n\n swiftMt.list = (opts?: { category?: number }) =>\n client.get<SwiftMtListItem[]>('/v0/swift-mt/list', { category: opts?.category?.toString() });\n\n return swiftMt;\n}\n","import type { HttpClient } from '../client.js';\nimport type { LocodeResponse, LocodeListItem } from '../types/locode.js';\n\nexport interface LocodeNamespace {\n (value: string): Promise<LocodeResponse>;\n list(opts: { country: string }): Promise<LocodeListItem[]>;\n}\n\nexport function createLocodeNamespace(client: HttpClient): LocodeNamespace {\n const locode = ((value: string) =>\n client.get<LocodeResponse>('/v0/locode', { value })\n ) as LocodeNamespace;\n\n locode.list = (opts: { country: string }) =>\n client.get<LocodeListItem[]>('/v0/locode/list', { country: opts.country });\n\n return locode;\n}\n","import { HttpClient } from './client.js';\nimport type { IsValidConfig } from './client.js';\nimport { createLeiNamespace } from './namespaces/lei.js';\nimport type { LeiNamespace } from './namespaces/lei.js';\nimport { createCountryNamespace } from './namespaces/country.js';\nimport type { CountryNamespace } from './namespaces/country.js';\nimport { createCurrencyNamespace } from './namespaces/currency.js';\nimport type { CurrencyNamespace } from './namespaces/currency.js';\nimport { createLanguageNamespace } from './namespaces/language.js';\nimport type { LanguageNamespace } from './namespaces/language.js';\nimport { createIataNamespace } from './namespaces/iata.js';\nimport type { IataNamespace } from './namespaces/iata.js';\nimport { createNetNamespace } from './namespaces/net.js';\nimport type { NetNamespace } from './namespaces/net.js';\nimport { createPlNamespace } from './namespaces/pl.js';\nimport type { PlNamespace } from './namespaces/pl.js';\nimport { createBrNamespace } from './namespaces/br.js';\nimport type { BrNamespace } from './namespaces/br.js';\nimport { createAuNamespace } from './namespaces/au.js';\nimport type { AuNamespace } from './namespaces/au.js';\nimport { createEsNamespace } from './namespaces/es.js';\nimport type { EsNamespace } from './namespaces/es.js';\nimport { createInNamespace } from './namespaces/in.js';\nimport type { InNamespace } from './namespaces/in.js';\nimport { createUsNamespace } from './namespaces/us.js';\nimport type { UsNamespace } from './namespaces/us.js';\nimport { createGbNamespace } from './namespaces/gb.js';\nimport type { GbNamespace } from './namespaces/gb.js';\nimport { createHsCodeNamespace } from './namespaces/hsCode.js';\nimport type { HsCodeNamespace } from './namespaces/hsCode.js';\nimport { createGs1PrefixNamespace } from './namespaces/gs1Prefix.js';\nimport type { Gs1PrefixNamespace } from './namespaces/gs1Prefix.js';\nimport { createIndustryNamespace } from './namespaces/industry.js';\nimport type { IndustryNamespace } from './namespaces/industry.js';\nimport { createTimezoneNamespace } from './namespaces/timezone.js';\nimport type { TimezoneNamespace } from './namespaces/timezone.js';\nimport { createMimeTypeNamespace } from './namespaces/mimeType.js';\nimport type { MimeTypeNamespace } from './namespaces/mimeType.js';\nimport { createHttpStatusNamespace } from './namespaces/httpStatus.js';\nimport type { HttpStatusNamespace } from './namespaces/httpStatus.js';\nimport { createSwiftMtNamespace } from './namespaces/swiftMt.js';\nimport type { SwiftMtNamespace } from './namespaces/swiftMt.js';\nimport { createLocodeNamespace } from './namespaces/locode.js';\nimport type { LocodeNamespace } from './namespaces/locode.js';\nimport type {\n EmailResponse, IbanResponse, IsinResponse, DtiResponse, VatResponse,\n GpsResponse, PhoneResponse, UrlResponse, EanResponse, IsbnResponse,\n IssnResponse, BicResponse, CusipResponse, CfiResponse, MicResponse,\n NutsResponse, UuidResponse, JwtResponse, VinResponse, ImeiResponse,\n SemverResponse, ColorResponse, BooleanResponse, DateResponse,\n BtcAddressResponse, PostalCodeResponse, AbaResponse, ContainerCodeResponse,\n SsccResponse, GlnResponse, QrResponse, CreditCardResponse,\n CasResponse, EoriResponse, OrcidResponse, DoiResponse, BarcodeResponse,\n Base64Response, EthAddressResponse, CronResponse, DomainResponse, RegexResponse,\n DunsResponse, TimestampResponse,\n} from './types/simple.js';\n\nexport class IsValid {\n private readonly client: HttpClient;\n\n readonly lei: LeiNamespace;\n readonly country: CountryNamespace;\n readonly currency: CurrencyNamespace;\n readonly language: LanguageNamespace;\n readonly iata: IataNamespace;\n readonly net: NetNamespace;\n readonly pl: PlNamespace;\n readonly br: BrNamespace;\n readonly au: AuNamespace;\n readonly es: EsNamespace;\n readonly in: InNamespace;\n readonly us: UsNamespace;\n readonly gb: GbNamespace;\n readonly hsCode: HsCodeNamespace;\n readonly gs1Prefix: Gs1PrefixNamespace;\n readonly industry: IndustryNamespace;\n readonly timezone: TimezoneNamespace;\n readonly mimeType: MimeTypeNamespace;\n readonly httpStatus: HttpStatusNamespace;\n readonly swiftMt: SwiftMtNamespace;\n readonly locode: LocodeNamespace;\n\n constructor(config: IsValidConfig) {\n this.client = new HttpClient(config);\n\n this.lei = createLeiNamespace(this.client);\n this.country = createCountryNamespace(this.client);\n this.currency = createCurrencyNamespace(this.client);\n this.language = createLanguageNamespace(this.client);\n this.iata = createIataNamespace(this.client);\n this.net = createNetNamespace(this.client);\n this.pl = createPlNamespace(this.client);\n this.br = createBrNamespace(this.client);\n this.au = createAuNamespace(this.client);\n this.es = createEsNamespace(this.client);\n this.in = createInNamespace(this.client);\n this.us = createUsNamespace(this.client);\n this.gb = createGbNamespace(this.client);\n this.hsCode = createHsCodeNamespace(this.client);\n this.gs1Prefix = createGs1PrefixNamespace(this.client);\n this.industry = createIndustryNamespace(this.client);\n this.timezone = createTimezoneNamespace(this.client);\n this.mimeType = createMimeTypeNamespace(this.client);\n this.httpStatus = createHttpStatusNamespace(this.client);\n this.swiftMt = createSwiftMtNamespace(this.client);\n this.locode = createLocodeNamespace(this.client);\n }\n\n // --- Simple endpoints ---\n\n email(value: string, opts?: { checkMx?: boolean }): Promise<EmailResponse> {\n return this.client.get('/v0/email', { value, checkMx: opts?.checkMx?.toString() });\n }\n\n iban(value: string, opts?: { countryCode?: string }): Promise<IbanResponse> {\n return this.client.get('/v0/iban', { value, countryCode: opts?.countryCode });\n }\n\n isin(value: string): Promise<IsinResponse> {\n return this.client.get('/v0/isin', { value });\n }\n\n dti(value: string): Promise<DtiResponse> {\n return this.client.get('/v0/dti', { value });\n }\n\n vat(value: string, opts?: { countryCode?: string; checkVies?: boolean }): Promise<VatResponse> {\n return this.client.get('/v0/vat', {\n value,\n countryCode: opts?.countryCode,\n checkVies: opts?.checkVies?.toString(),\n });\n }\n\n gps(value: string): Promise<GpsResponse> {\n return this.client.get('/v0/gps', { value });\n }\n\n phone(value: string, opts?: { countryCode?: string }): Promise<PhoneResponse> {\n return this.client.get('/v0/phone', { value, countryCode: opts?.countryCode });\n }\n\n url(value: string): Promise<UrlResponse> {\n return this.client.get('/v0/url', { value });\n }\n\n ean(value: string): Promise<EanResponse> {\n return this.client.get('/v0/ean', { value });\n }\n\n isbn(value: string): Promise<IsbnResponse> {\n return this.client.get('/v0/isbn', { value });\n }\n\n issn(value: string): Promise<IssnResponse> {\n return this.client.get('/v0/issn', { value });\n }\n\n bic(value: string): Promise<BicResponse> {\n return this.client.get('/v0/bic', { value });\n }\n\n cusip(value: string): Promise<CusipResponse> {\n return this.client.get('/v0/cusip', { value });\n }\n\n cfi(value: string): Promise<CfiResponse> {\n return this.client.get('/v0/cfi', { value });\n }\n\n mic(value: string): Promise<MicResponse> {\n return this.client.get('/v0/mic', { value });\n }\n\n nuts(value: string): Promise<NutsResponse> {\n return this.client.get('/v0/nuts', { value });\n }\n\n uuid(value: string, opts?: { version?: number }): Promise<UuidResponse> {\n return this.client.get('/v0/uuid', { value, version: opts?.version?.toString() });\n }\n\n jwt(value: string): Promise<JwtResponse> {\n return this.client.get('/v0/jwt', { value });\n }\n\n vin(value: string): Promise<VinResponse> {\n return this.client.get('/v0/vin', { value });\n }\n\n imei(value: string): Promise<ImeiResponse> {\n return this.client.get('/v0/imei', { value });\n }\n\n semver(value: string): Promise<SemverResponse> {\n return this.client.get('/v0/semver', { value });\n }\n\n color(value: string): Promise<ColorResponse> {\n return this.client.get('/v0/color', { value });\n }\n\n boolean(value: string): Promise<BooleanResponse> {\n return this.client.get('/v0/boolean', { value });\n }\n\n date(value: string, opts?: { format?: string }): Promise<DateResponse> {\n return this.client.get('/v0/date', { value, format: opts?.format });\n }\n\n btcAddress(value: string): Promise<BtcAddressResponse> {\n return this.client.get('/v0/btc-address', { value });\n }\n\n postalCode(value: string, opts?: { countryCode?: string }): Promise<PostalCodeResponse> {\n return this.client.get('/v0/postal-code', { value, countryCode: opts?.countryCode });\n }\n\n aba(value: string): Promise<AbaResponse> {\n return this.client.get('/v0/aba', { value });\n }\n\n containerCode(value: string): Promise<ContainerCodeResponse> {\n return this.client.get('/v0/container-code', { value });\n }\n\n sscc(value: string): Promise<SsccResponse> {\n return this.client.get('/v0/sscc', { value });\n }\n\n gln(value: string): Promise<GlnResponse> {\n return this.client.get('/v0/gln', { value });\n }\n\n qr(value: string): Promise<QrResponse> {\n return this.client.get('/v0/qr', { value });\n }\n\n creditCard(number: string): Promise<CreditCardResponse> {\n return this.client.post('/v0/credit-card', { number });\n }\n\n cas(value: string): Promise<CasResponse> {\n return this.client.get('/v0/cas', { value });\n }\n\n eori(value: string, opts?: { check?: boolean }): Promise<EoriResponse> {\n return this.client.get('/v0/eori', { value, check: opts?.check?.toString() });\n }\n\n orcid(value: string, opts?: { lookup?: boolean }): Promise<OrcidResponse> {\n return this.client.get('/v0/orcid', { value, lookup: opts?.lookup?.toString() });\n }\n\n doi(value: string, opts?: { lookup?: boolean }): Promise<DoiResponse> {\n return this.client.get('/v0/doi', { value, lookup: opts?.lookup?.toString() });\n }\n\n barcode(value: string, opts?: { type?: string }): Promise<BarcodeResponse> {\n return this.client.get('/v0/barcode', { value, type: opts?.type });\n }\n\n base64(value: string): Promise<Base64Response> {\n return this.client.get('/v0/base64', { value });\n }\n\n ethAddress(value: string): Promise<EthAddressResponse> {\n return this.client.get('/v0/eth-address', { value });\n }\n\n cron(value: string): Promise<CronResponse> {\n return this.client.get('/v0/cron', { value });\n }\n\n domain(value: string): Promise<DomainResponse> {\n return this.client.get('/v0/domain', { value });\n }\n\n regex(pattern: string, opts?: { flags?: string }): Promise<RegexResponse> {\n return this.client.post('/v0/regex', { pattern, flags: opts?.flags });\n }\n\n duns(value: string, opts?: { lookup?: boolean }): Promise<DunsResponse> {\n return this.client.get('/v0/duns', { value, lookup: opts?.lookup?.toString() });\n }\n\n timestamp(value: string): Promise<TimestampResponse> {\n return this.client.get('/v0/timestamp', { value });\n }\n}\n\nexport function createClient(config: IsValidConfig): IsValid {\n return new IsValid(config);\n}\n\nexport { IsValidError, IsValidAuthError, IsValidRateLimitError } from './errors.js';\nexport type { IsValidConfig, RetryConfig } from './client.js';\nexport * from './types/index.js';\n\nexport type { LeiNamespace } from './namespaces/lei.js';\nexport type { CountryNamespace } from './namespaces/country.js';\nexport type { CurrencyNamespace } from './namespaces/currency.js';\nexport type { LanguageNamespace } from './namespaces/language.js';\nexport type { IataNamespace, IataAirlineNamespace } from './namespaces/iata.js';\nexport type { NetNamespace } from './namespaces/net.js';\nexport type { PlNamespace } from './namespaces/pl.js';\nexport type { BrNamespace } from './namespaces/br.js';\nexport type { AuNamespace } from './namespaces/au.js';\nexport type { EsNamespace } from './namespaces/es.js';\nexport type { InNamespace } from './namespaces/in.js';\nexport type { UsNamespace } from './namespaces/us.js';\nexport type { GbNamespace } from './namespaces/gb.js';\nexport type { HsCodeNamespace } from './namespaces/hsCode.js';\nexport type { Gs1PrefixNamespace } from './namespaces/gs1Prefix.js';\nexport type { IndustryNamespace } from './namespaces/industry.js';\nexport type { TimezoneNamespace } from './namespaces/timezone.js';\nexport type { MimeTypeNamespace } from './namespaces/mimeType.js';\nexport type { HttpStatusNamespace } from './namespaces/httpStatus.js';\nexport type { SwiftMtNamespace } from './namespaces/swiftMt.js';\nexport type { LocodeNamespace } from './namespaces/locode.js';\nexport type { NetPortNamespace } from './namespaces/net.js';\n"]}