@isvalid-dev/sdk 0.2.0 → 0.3.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
@@ -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
@@ -90,6 +131,9 @@ await iv.gb.sortCode('12-34-56');
90
131
  // Network
91
132
  await iv.net.ip('192.168.1.1');
92
133
  await iv.net.mac('00:1B:44:11:3A:B7');
134
+ await iv.net.port('443');
135
+ // => { valid: true, port: 443, range: 'well-known', serviceName: 'HTTPS', ... }
136
+ const ports = await iv.net.port.list();
93
137
 
94
138
  // Financial
95
139
  await iv.isin('US0378331005');
@@ -113,6 +157,10 @@ iv.color(value) iv.boolean(value) iv.date(value, opts?)
113
157
  iv.btcAddress(value) iv.postalCode(value, opts?)
114
158
  iv.aba(value) iv.containerCode(value) iv.sscc(value)
115
159
  iv.gln(value) iv.qr(value) iv.creditCard(number)
160
+ iv.cas(value) iv.eori(value, opts?) iv.orcid(value, opts?)
161
+ iv.doi(value, opts?) iv.barcode(value, opts?) iv.base64(value)
162
+ iv.ethAddress(value) iv.cron(value) iv.domain(value)
163
+ iv.regex(pattern, opts?)
116
164
  ```
117
165
 
118
166
  ## Configuration
package/dist/index.cjs CHANGED
@@ -70,13 +70,14 @@ var HttpClient = class {
70
70
  });
71
71
  }
72
72
  buildUrl(path, params) {
73
- const url = new URL(path, this.baseUrl);
73
+ let result = this.baseUrl + path;
74
74
  if (params) {
75
- for (const [k, v] of Object.entries(params)) {
76
- if (v !== void 0) url.searchParams.set(k, v);
75
+ const entries = Object.entries(params).filter((e) => e[1] !== void 0);
76
+ if (entries.length > 0) {
77
+ result += "?" + entries.map(([k, v]) => `${encodeURIComponent(k)}=${encodeURIComponent(v)}`).join("&");
77
78
  }
78
79
  }
79
- return url.toString();
80
+ return result;
80
81
  }
81
82
  async request(url, init) {
82
83
  const headers = {
@@ -160,9 +161,12 @@ function createIataNamespace(client) {
160
161
 
161
162
  // src/namespaces/net.ts
162
163
  function createNetNamespace(client) {
164
+ const port = ((value) => client.get("/v0/net/port", { value }));
165
+ port.list = () => client.get("/v0/net/port/list");
163
166
  return {
164
167
  ip: (value) => client.get("/v0/net/ip", { value }),
165
- mac: (value) => client.get("/v0/net/mac", { value })
168
+ mac: (value) => client.get("/v0/net/mac", { value }),
169
+ port
166
170
  };
167
171
  }
168
172
 
@@ -224,6 +228,73 @@ function createGbNamespace(client) {
224
228
  };
225
229
  }
226
230
 
231
+ // src/namespaces/hsCode.ts
232
+ function createHsCodeNamespace(client) {
233
+ const hsCode = ((value) => client.get("/v0/hs-code", { value }));
234
+ hsCode.list = (opts) => client.get("/v0/hs-code/list", {
235
+ chapter: opts?.chapter,
236
+ level: opts?.level
237
+ });
238
+ return hsCode;
239
+ }
240
+
241
+ // src/namespaces/gs1Prefix.ts
242
+ function createGs1PrefixNamespace(client) {
243
+ const gs1Prefix = ((value) => client.get("/v0/gs1-prefix", { value }));
244
+ gs1Prefix.list = () => client.get("/v0/gs1-prefix/list");
245
+ return gs1Prefix;
246
+ }
247
+
248
+ // src/namespaces/industry.ts
249
+ function createIndustryNamespace(client) {
250
+ const industry = ((value, opts) => client.get("/v0/industry", {
251
+ value,
252
+ system: opts?.system
253
+ }));
254
+ industry.list = (opts) => client.get("/v0/industry/list", {
255
+ system: opts.system,
256
+ level: opts?.level,
257
+ parent: opts?.parent
258
+ });
259
+ return industry;
260
+ }
261
+
262
+ // src/namespaces/timezone.ts
263
+ function createTimezoneNamespace(client) {
264
+ const timezone = ((value) => client.get("/v0/timezone", { value }));
265
+ timezone.list = (opts) => client.get("/v0/timezone/list", { region: opts?.region });
266
+ return timezone;
267
+ }
268
+
269
+ // src/namespaces/mimeType.ts
270
+ function createMimeTypeNamespace(client) {
271
+ const mimeType = ((value) => client.get("/v0/mime-type", { value }));
272
+ mimeType.ext = (value) => client.get("/v0/mime-type/ext", { value });
273
+ mimeType.list = (opts) => client.get("/v0/mime-type/list", { type: opts?.type });
274
+ return mimeType;
275
+ }
276
+
277
+ // src/namespaces/httpStatus.ts
278
+ function createHttpStatusNamespace(client) {
279
+ const httpStatus = ((value) => client.get("/v0/http-status", { value }));
280
+ httpStatus.list = () => client.get("/v0/http-status/list");
281
+ return httpStatus;
282
+ }
283
+
284
+ // src/namespaces/swiftMt.ts
285
+ function createSwiftMtNamespace(client) {
286
+ const swiftMt = ((value) => client.get("/v0/swift-mt", { value }));
287
+ swiftMt.list = (opts) => client.get("/v0/swift-mt/list", { category: opts?.category?.toString() });
288
+ return swiftMt;
289
+ }
290
+
291
+ // src/namespaces/locode.ts
292
+ function createLocodeNamespace(client) {
293
+ const locode = ((value) => client.get("/v0/locode", { value }));
294
+ locode.list = (opts) => client.get("/v0/locode/list", { country: opts.country });
295
+ return locode;
296
+ }
297
+
227
298
  // src/index.ts
228
299
  var IsValid = class {
229
300
  constructor(config) {
@@ -241,6 +312,14 @@ var IsValid = class {
241
312
  this.in = createInNamespace(this.client);
242
313
  this.us = createUsNamespace(this.client);
243
314
  this.gb = createGbNamespace(this.client);
315
+ this.hsCode = createHsCodeNamespace(this.client);
316
+ this.gs1Prefix = createGs1PrefixNamespace(this.client);
317
+ this.industry = createIndustryNamespace(this.client);
318
+ this.timezone = createTimezoneNamespace(this.client);
319
+ this.mimeType = createMimeTypeNamespace(this.client);
320
+ this.httpStatus = createHttpStatusNamespace(this.client);
321
+ this.swiftMt = createSwiftMtNamespace(this.client);
322
+ this.locode = createLocodeNamespace(this.client);
244
323
  }
245
324
  // --- Simple endpoints ---
246
325
  email(value, opts) {
@@ -343,6 +422,36 @@ var IsValid = class {
343
422
  creditCard(number) {
344
423
  return this.client.post("/v0/credit-card", { number });
345
424
  }
425
+ cas(value) {
426
+ return this.client.get("/v0/cas", { value });
427
+ }
428
+ eori(value, opts) {
429
+ return this.client.get("/v0/eori", { value, check: opts?.check?.toString() });
430
+ }
431
+ orcid(value, opts) {
432
+ return this.client.get("/v0/orcid", { value, lookup: opts?.lookup?.toString() });
433
+ }
434
+ doi(value, opts) {
435
+ return this.client.get("/v0/doi", { value, lookup: opts?.lookup?.toString() });
436
+ }
437
+ barcode(value, opts) {
438
+ return this.client.get("/v0/barcode", { value, type: opts?.type });
439
+ }
440
+ base64(value) {
441
+ return this.client.get("/v0/base64", { value });
442
+ }
443
+ ethAddress(value) {
444
+ return this.client.get("/v0/eth-address", { value });
445
+ }
446
+ cron(value) {
447
+ return this.client.get("/v0/cron", { value });
448
+ }
449
+ domain(value) {
450
+ return this.client.get("/v0/domain", { value });
451
+ }
452
+ regex(pattern, opts) {
453
+ return this.client.post("/v0/regex", { pattern, flags: opts?.flags });
454
+ }
346
455
  };
347
456
  function createClient(config) {
348
457
  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 const url = new URL(path, this.baseUrl);\n if (params) {\n for (const [k, v] of Object.entries(params)) {\n if (v !== undefined) url.searchParams.set(k, v);\n }\n }\n return url.toString();\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 } 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 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} 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\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"]}