@isvalid-dev/sdk 0.1.0 → 0.2.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
@@ -19,6 +19,8 @@ npm install @isvalid-dev/sdk
19
19
 
20
20
  ## Quick Start
21
21
 
22
+ Get your free API key at [isvalid.dev/getting-started](https://isvalid.dev/getting-started).
23
+
22
24
  ```typescript
23
25
  import { createClient } from '@isvalid-dev/sdk';
24
26
 
@@ -109,7 +111,7 @@ iv.nuts(value) iv.uuid(value, opts?) iv.jwt(value)
109
111
  iv.vin(value) iv.imei(value) iv.semver(value)
110
112
  iv.color(value) iv.boolean(value) iv.date(value, opts?)
111
113
  iv.btcAddress(value) iv.postalCode(value, opts?)
112
- iv.aba(value) iv.iso6346(value) iv.sscc(value)
114
+ iv.aba(value) iv.containerCode(value) iv.sscc(value)
113
115
  iv.gln(value) iv.qr(value) iv.creditCard(number)
114
116
  ```
115
117
 
package/dist/index.cjs CHANGED
@@ -1,3 +1,357 @@
1
- 'use strict';var i=class extends Error{constructor(e,s){super(s.error),this.name="IsValidError",this.status=e,this.body=s;}},c=class extends i{constructor(e){super(401,e),this.name="IsValidAuthError";}},m=class extends i{constructor(e,s=null){super(429,e),this.name="IsValidRateLimitError",this.retryAfter=s;}};var H="https://api.isvalid.dev",S=1e4,l={maxRetries:3,initialDelayMs:500,maxDelayMs:1e4,retryOn:[429,500,502,503]};function E(t){return t===false?false:t?{maxRetries:t.maxRetries??l.maxRetries,initialDelayMs:t.initialDelayMs??l.initialDelayMs,maxDelayMs:t.maxDelayMs??l.maxDelayMs,retryOn:t.retryOn??l.retryOn}:l}function M(t){return new Promise(e=>setTimeout(e,t))}function U(t,e,s){let r=e*2**t,o=Math.random()*e;return Math.min(r+o,s)}var u=class{constructor(e){this.baseUrl=(e.baseUrl??H).replace(/\/+$/,""),this.apiKey=e.apiKey,this.retry=E(e.retry),this.timeout=e.timeout??S;}async get(e,s){let r=this.buildUrl(e,s);return this.request(r,{method:"GET"})}async post(e,s){let r=this.buildUrl(e);return this.request(r,{method:"POST",body:JSON.stringify(s),headers:{"Content-Type":"application/json"}})}buildUrl(e,s){let r=new URL(e,this.baseUrl);if(s)for(let[o,a]of Object.entries(s))a!==void 0&&r.searchParams.set(o,a);return r.toString()}async request(e,s){let r={Authorization:`Bearer ${this.apiKey}`,Accept:"application/json",...s.headers},o=this.retry?this.retry.maxRetries+1:1;for(let a=0;a<o;a++){let n=await fetch(e,{...s,headers:r,signal:AbortSignal.timeout(this.timeout)});if(n.ok)return await n.json();if(this.retry&&a<this.retry.maxRetries&&this.retry.retryOn.includes(n.status)){let p=n.headers.get("Retry-After"),A=p?parseInt(p,10)*1e3:U(a,this.retry.initialDelayMs,this.retry.maxDelayMs);await M(A);continue}let g=await n.json().catch(()=>({error:n.statusText}));if(n.status===401)throw new c(g);if(n.status===429){let p=n.headers.get("Retry-After");throw new m(g,p?parseInt(p,10):null)}throw new i(n.status,g)}throw new i(0,{error:"Max retries exceeded"})}};function f(t){let e=(s=>t.get("/v0/lei",{value:s}));return e.search=(s,r)=>t.get("/v0/lei/search",{q:s,country:r?.country,entityStatus:r?.entityStatus,page:r?.page?.toString(),limit:r?.limit?.toString()}),e.lous=()=>t.get("/v0/lei/lous"),e}function R(t){let e=(s=>t.get("/v0/country",{value:s}));return e.list=()=>t.get("/v0/country/list"),e}function h(t){let e=(s=>t.get("/v0/currency",{value:s}));return e.list=()=>t.get("/v0/currency/list"),e}function d(t){let e=(s=>t.get("/v0/language",{value:s}));return e.list=()=>t.get("/v0/language/list"),e}function N(t){let e=(s=>t.get("/v0/iata/airline",{value:s}));return e.list=()=>t.get("/v0/iata/airline/list"),{flight:s=>t.get("/v0/iata/flight",{value:s}),airline:e,airport:s=>t.get("/v0/iata/airport",{value:s})}}function C(t){return {ip:e=>t.get("/v0/net/ip",{value:e}),mac:e=>t.get("/v0/net/mac",{value:e})}}function v(t){return {pesel:e=>t.get("/v0/pl/pesel",{value:e}),regon:(e,s)=>t.get("/v0/pl/regon",{value:e,lookup:s?.lookup?.toString()}),krs:(e,s)=>t.get("/v0/pl/krs",{value:e,lookup:s?.lookup?.toString()})}}function b(t){return {cnpj:e=>t.get("/v0/br/cnpj",{value:e}),cpf:e=>t.get("/v0/br/cpf",{value:e})}}function P(t){return {abn:e=>t.get("/v0/au/abn",{value:e})}}function x(t){return {nif:e=>t.get("/v0/es/nif",{value:e})}}function I(t){return {gstin:e=>t.get("/v0/in/gstin",{value:e})}}function j(t){return {npi:e=>t.get("/v0/us/npi",{value:e})}}function L(t){return {sortCode:e=>t.get("/v0/gb/sort-code",{value:e})}}var y=class{constructor(e){this.client=new u(e),this.lei=f(this.client),this.country=R(this.client),this.currency=h(this.client),this.language=d(this.client),this.iata=N(this.client),this.net=C(this.client),this.pl=v(this.client),this.br=b(this.client),this.au=P(this.client),this.es=x(this.client),this.in=I(this.client),this.us=j(this.client),this.gb=L(this.client);}email(e,s){return this.client.get("/v0/email",{value:e,checkMx:s?.checkMx?.toString()})}iban(e,s){return this.client.get("/v0/iban",{value:e,countryCode:s?.countryCode})}isin(e){return this.client.get("/v0/isin",{value:e})}dti(e){return this.client.get("/v0/dti",{value:e})}vat(e,s){return this.client.get("/v0/vat",{value:e,countryCode:s?.countryCode,checkVies:s?.checkVies?.toString()})}gps(e){return this.client.get("/v0/gps",{value:e})}phone(e,s){return this.client.get("/v0/phone",{value:e,countryCode:s?.countryCode})}url(e){return this.client.get("/v0/url",{value:e})}ean(e){return this.client.get("/v0/ean",{value:e})}isbn(e){return this.client.get("/v0/isbn",{value:e})}issn(e){return this.client.get("/v0/issn",{value:e})}bic(e){return this.client.get("/v0/bic",{value:e})}cusip(e){return this.client.get("/v0/cusip",{value:e})}cfi(e){return this.client.get("/v0/cfi",{value:e})}mic(e){return this.client.get("/v0/mic",{value:e})}nuts(e){return this.client.get("/v0/nuts",{value:e})}uuid(e,s){return this.client.get("/v0/uuid",{value:e,version:s?.version?.toString()})}jwt(e){return this.client.get("/v0/jwt",{value:e})}vin(e){return this.client.get("/v0/vin",{value:e})}imei(e){return this.client.get("/v0/imei",{value:e})}semver(e){return this.client.get("/v0/semver",{value:e})}color(e){return this.client.get("/v0/color",{value:e})}boolean(e){return this.client.get("/v0/boolean",{value:e})}date(e,s){return this.client.get("/v0/date",{value:e,format:s?.format})}btcAddress(e){return this.client.get("/v0/btc-address",{value:e})}postalCode(e,s){return this.client.get("/v0/postal-code",{value:e,countryCode:s?.countryCode})}aba(e){return this.client.get("/v0/aba",{value:e})}iso6346(e){return this.client.get("/v0/iso6346",{value:e})}sscc(e){return this.client.get("/v0/sscc",{value:e})}gln(e){return this.client.get("/v0/gln",{value:e})}qr(e){return this.client.get("/v0/qr",{value:e})}creditCard(e){return this.client.post("/v0/credit-card",{number:e})}};function me(t){return new y(t)}
2
- exports.IsValid=y;exports.IsValidAuthError=c;exports.IsValidError=i;exports.IsValidRateLimitError=m;exports.createClient=me;//# sourceMappingURL=index.cjs.map
1
+ 'use strict';
2
+
3
+ // src/errors.ts
4
+ var IsValidError = class extends Error {
5
+ constructor(status, body) {
6
+ super(body.error);
7
+ this.name = "IsValidError";
8
+ this.status = status;
9
+ this.body = body;
10
+ }
11
+ };
12
+ var IsValidAuthError = class extends IsValidError {
13
+ constructor(body) {
14
+ super(401, body);
15
+ this.name = "IsValidAuthError";
16
+ }
17
+ };
18
+ var IsValidRateLimitError = class extends IsValidError {
19
+ constructor(body, retryAfter = null) {
20
+ super(429, body);
21
+ this.name = "IsValidRateLimitError";
22
+ this.retryAfter = retryAfter;
23
+ }
24
+ };
25
+
26
+ // src/client.ts
27
+ var DEFAULT_BASE_URL = "https://api.isvalid.dev";
28
+ var DEFAULT_TIMEOUT = 1e4;
29
+ var DEFAULT_RETRY = {
30
+ maxRetries: 3,
31
+ initialDelayMs: 500,
32
+ maxDelayMs: 1e4,
33
+ retryOn: [429, 500, 502, 503]
34
+ };
35
+ function resolveRetry(cfg) {
36
+ if (cfg === false) return false;
37
+ if (!cfg) return DEFAULT_RETRY;
38
+ return {
39
+ maxRetries: cfg.maxRetries ?? DEFAULT_RETRY.maxRetries,
40
+ initialDelayMs: cfg.initialDelayMs ?? DEFAULT_RETRY.initialDelayMs,
41
+ maxDelayMs: cfg.maxDelayMs ?? DEFAULT_RETRY.maxDelayMs,
42
+ retryOn: cfg.retryOn ?? DEFAULT_RETRY.retryOn
43
+ };
44
+ }
45
+ function delay(ms) {
46
+ return new Promise((r) => setTimeout(r, ms));
47
+ }
48
+ function backoffDelay(attempt, initial, max) {
49
+ const base = initial * 2 ** attempt;
50
+ const jitter = Math.random() * initial;
51
+ return Math.min(base + jitter, max);
52
+ }
53
+ var HttpClient = class {
54
+ constructor(config) {
55
+ this.baseUrl = (config.baseUrl ?? DEFAULT_BASE_URL).replace(/\/+$/, "");
56
+ this.apiKey = config.apiKey;
57
+ this.retry = resolveRetry(config.retry);
58
+ this.timeout = config.timeout ?? DEFAULT_TIMEOUT;
59
+ }
60
+ async get(path, params) {
61
+ const url = this.buildUrl(path, params);
62
+ return this.request(url, { method: "GET" });
63
+ }
64
+ async post(path, body) {
65
+ const url = this.buildUrl(path);
66
+ return this.request(url, {
67
+ method: "POST",
68
+ body: JSON.stringify(body),
69
+ headers: { "Content-Type": "application/json" }
70
+ });
71
+ }
72
+ buildUrl(path, params) {
73
+ const url = new URL(path, this.baseUrl);
74
+ if (params) {
75
+ for (const [k, v] of Object.entries(params)) {
76
+ if (v !== void 0) url.searchParams.set(k, v);
77
+ }
78
+ }
79
+ return url.toString();
80
+ }
81
+ async request(url, init) {
82
+ const headers = {
83
+ Authorization: `Bearer ${this.apiKey}`,
84
+ Accept: "application/json",
85
+ ...init.headers
86
+ };
87
+ const maxAttempts = this.retry ? this.retry.maxRetries + 1 : 1;
88
+ for (let attempt = 0; attempt < maxAttempts; attempt++) {
89
+ const res = await fetch(url, {
90
+ ...init,
91
+ headers,
92
+ signal: AbortSignal.timeout(this.timeout)
93
+ });
94
+ if (res.ok) {
95
+ return await res.json();
96
+ }
97
+ if (this.retry && attempt < this.retry.maxRetries && this.retry.retryOn.includes(res.status)) {
98
+ const retryAfterHeader = res.headers.get("Retry-After");
99
+ const retryMs = retryAfterHeader ? parseInt(retryAfterHeader, 10) * 1e3 : backoffDelay(attempt, this.retry.initialDelayMs, this.retry.maxDelayMs);
100
+ await delay(retryMs);
101
+ continue;
102
+ }
103
+ const body = await res.json().catch(() => ({ error: res.statusText }));
104
+ if (res.status === 401) throw new IsValidAuthError(body);
105
+ if (res.status === 429) {
106
+ const ra = res.headers.get("Retry-After");
107
+ throw new IsValidRateLimitError(body, ra ? parseInt(ra, 10) : null);
108
+ }
109
+ throw new IsValidError(res.status, body);
110
+ }
111
+ throw new IsValidError(0, { error: "Max retries exceeded" });
112
+ }
113
+ };
114
+
115
+ // src/namespaces/lei.ts
116
+ function createLeiNamespace(client) {
117
+ const lei = ((value) => client.get("/v0/lei", { value }));
118
+ lei.search = (query, opts) => client.get("/v0/lei/search", {
119
+ q: query,
120
+ country: opts?.country,
121
+ entityStatus: opts?.entityStatus,
122
+ page: opts?.page?.toString(),
123
+ limit: opts?.limit?.toString()
124
+ });
125
+ lei.lous = () => client.get("/v0/lei/lous");
126
+ return lei;
127
+ }
128
+
129
+ // src/namespaces/country.ts
130
+ function createCountryNamespace(client) {
131
+ const country = ((value) => client.get("/v0/country", { value }));
132
+ country.list = () => client.get("/v0/country/list");
133
+ return country;
134
+ }
135
+
136
+ // src/namespaces/currency.ts
137
+ function createCurrencyNamespace(client) {
138
+ const currency = ((value) => client.get("/v0/currency", { value }));
139
+ currency.list = () => client.get("/v0/currency/list");
140
+ return currency;
141
+ }
142
+
143
+ // src/namespaces/language.ts
144
+ function createLanguageNamespace(client) {
145
+ const language = ((value) => client.get("/v0/language", { value }));
146
+ language.list = () => client.get("/v0/language/list");
147
+ return language;
148
+ }
149
+
150
+ // src/namespaces/iata.ts
151
+ function createIataNamespace(client) {
152
+ const airline = ((value) => client.get("/v0/iata/airline", { value }));
153
+ airline.list = () => client.get("/v0/iata/airline/list");
154
+ return {
155
+ flight: (value) => client.get("/v0/iata/flight", { value }),
156
+ airline,
157
+ airport: (value) => client.get("/v0/iata/airport", { value })
158
+ };
159
+ }
160
+
161
+ // src/namespaces/net.ts
162
+ function createNetNamespace(client) {
163
+ return {
164
+ ip: (value) => client.get("/v0/net/ip", { value }),
165
+ mac: (value) => client.get("/v0/net/mac", { value })
166
+ };
167
+ }
168
+
169
+ // src/namespaces/pl.ts
170
+ function createPlNamespace(client) {
171
+ return {
172
+ pesel: (value) => client.get("/v0/pl/pesel", { value }),
173
+ regon: (value, opts) => client.get("/v0/pl/regon", {
174
+ value,
175
+ lookup: opts?.lookup?.toString()
176
+ }),
177
+ krs: (value, opts) => client.get("/v0/pl/krs", {
178
+ value,
179
+ lookup: opts?.lookup?.toString()
180
+ })
181
+ };
182
+ }
183
+
184
+ // src/namespaces/br.ts
185
+ function createBrNamespace(client) {
186
+ return {
187
+ cnpj: (value) => client.get("/v0/br/cnpj", { value }),
188
+ cpf: (value) => client.get("/v0/br/cpf", { value })
189
+ };
190
+ }
191
+
192
+ // src/namespaces/au.ts
193
+ function createAuNamespace(client) {
194
+ return {
195
+ abn: (value) => client.get("/v0/au/abn", { value })
196
+ };
197
+ }
198
+
199
+ // src/namespaces/es.ts
200
+ function createEsNamespace(client) {
201
+ return {
202
+ nif: (value) => client.get("/v0/es/nif", { value })
203
+ };
204
+ }
205
+
206
+ // src/namespaces/in.ts
207
+ function createInNamespace(client) {
208
+ return {
209
+ gstin: (value) => client.get("/v0/in/gstin", { value })
210
+ };
211
+ }
212
+
213
+ // src/namespaces/us.ts
214
+ function createUsNamespace(client) {
215
+ return {
216
+ npi: (value) => client.get("/v0/us/npi", { value })
217
+ };
218
+ }
219
+
220
+ // src/namespaces/gb.ts
221
+ function createGbNamespace(client) {
222
+ return {
223
+ sortCode: (value) => client.get("/v0/gb/sort-code", { value })
224
+ };
225
+ }
226
+
227
+ // src/index.ts
228
+ var IsValid = class {
229
+ constructor(config) {
230
+ this.client = new HttpClient(config);
231
+ this.lei = createLeiNamespace(this.client);
232
+ this.country = createCountryNamespace(this.client);
233
+ this.currency = createCurrencyNamespace(this.client);
234
+ this.language = createLanguageNamespace(this.client);
235
+ this.iata = createIataNamespace(this.client);
236
+ this.net = createNetNamespace(this.client);
237
+ this.pl = createPlNamespace(this.client);
238
+ this.br = createBrNamespace(this.client);
239
+ this.au = createAuNamespace(this.client);
240
+ this.es = createEsNamespace(this.client);
241
+ this.in = createInNamespace(this.client);
242
+ this.us = createUsNamespace(this.client);
243
+ this.gb = createGbNamespace(this.client);
244
+ }
245
+ // --- Simple endpoints ---
246
+ email(value, opts) {
247
+ return this.client.get("/v0/email", { value, checkMx: opts?.checkMx?.toString() });
248
+ }
249
+ iban(value, opts) {
250
+ return this.client.get("/v0/iban", { value, countryCode: opts?.countryCode });
251
+ }
252
+ isin(value) {
253
+ return this.client.get("/v0/isin", { value });
254
+ }
255
+ dti(value) {
256
+ return this.client.get("/v0/dti", { value });
257
+ }
258
+ vat(value, opts) {
259
+ return this.client.get("/v0/vat", {
260
+ value,
261
+ countryCode: opts?.countryCode,
262
+ checkVies: opts?.checkVies?.toString()
263
+ });
264
+ }
265
+ gps(value) {
266
+ return this.client.get("/v0/gps", { value });
267
+ }
268
+ phone(value, opts) {
269
+ return this.client.get("/v0/phone", { value, countryCode: opts?.countryCode });
270
+ }
271
+ url(value) {
272
+ return this.client.get("/v0/url", { value });
273
+ }
274
+ ean(value) {
275
+ return this.client.get("/v0/ean", { value });
276
+ }
277
+ isbn(value) {
278
+ return this.client.get("/v0/isbn", { value });
279
+ }
280
+ issn(value) {
281
+ return this.client.get("/v0/issn", { value });
282
+ }
283
+ bic(value) {
284
+ return this.client.get("/v0/bic", { value });
285
+ }
286
+ cusip(value) {
287
+ return this.client.get("/v0/cusip", { value });
288
+ }
289
+ cfi(value) {
290
+ return this.client.get("/v0/cfi", { value });
291
+ }
292
+ mic(value) {
293
+ return this.client.get("/v0/mic", { value });
294
+ }
295
+ nuts(value) {
296
+ return this.client.get("/v0/nuts", { value });
297
+ }
298
+ uuid(value, opts) {
299
+ return this.client.get("/v0/uuid", { value, version: opts?.version?.toString() });
300
+ }
301
+ jwt(value) {
302
+ return this.client.get("/v0/jwt", { value });
303
+ }
304
+ vin(value) {
305
+ return this.client.get("/v0/vin", { value });
306
+ }
307
+ imei(value) {
308
+ return this.client.get("/v0/imei", { value });
309
+ }
310
+ semver(value) {
311
+ return this.client.get("/v0/semver", { value });
312
+ }
313
+ color(value) {
314
+ return this.client.get("/v0/color", { value });
315
+ }
316
+ boolean(value) {
317
+ return this.client.get("/v0/boolean", { value });
318
+ }
319
+ date(value, opts) {
320
+ return this.client.get("/v0/date", { value, format: opts?.format });
321
+ }
322
+ btcAddress(value) {
323
+ return this.client.get("/v0/btc-address", { value });
324
+ }
325
+ postalCode(value, opts) {
326
+ return this.client.get("/v0/postal-code", { value, countryCode: opts?.countryCode });
327
+ }
328
+ aba(value) {
329
+ return this.client.get("/v0/aba", { value });
330
+ }
331
+ containerCode(value) {
332
+ return this.client.get("/v0/container-code", { value });
333
+ }
334
+ sscc(value) {
335
+ return this.client.get("/v0/sscc", { value });
336
+ }
337
+ gln(value) {
338
+ return this.client.get("/v0/gln", { value });
339
+ }
340
+ qr(value) {
341
+ return this.client.get("/v0/qr", { value });
342
+ }
343
+ creditCard(number) {
344
+ return this.client.post("/v0/credit-card", { number });
345
+ }
346
+ };
347
+ function createClient(config) {
348
+ return new IsValid(config);
349
+ }
350
+
351
+ exports.IsValid = IsValid;
352
+ exports.IsValidAuthError = IsValidAuthError;
353
+ exports.IsValidError = IsValidError;
354
+ exports.IsValidRateLimitError = IsValidRateLimitError;
355
+ exports.createClient = createClient;
356
+ //# sourceMappingURL=index.cjs.map
3
357
  //# sourceMappingURL=index.cjs.map
@@ -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":["IsValidError","status","body","IsValidAuthError","IsValidRateLimitError","retryAfter","DEFAULT_BASE_URL","DEFAULT_TIMEOUT","DEFAULT_RETRY","resolveRetry","cfg","delay","ms","r","backoffDelay","attempt","initial","max","base","jitter","HttpClient","config","path","params","url","k","v","init","headers","maxAttempts","res","retryAfterHeader","retryMs","ra","createLeiNamespace","client","lei","value","query","opts","createCountryNamespace","country","createCurrencyNamespace","currency","createLanguageNamespace","language","createIataNamespace","airline","createNetNamespace","createPlNamespace","createBrNamespace","createAuNamespace","createEsNamespace","createInNamespace","createUsNamespace","createGbNamespace","IsValid","number","createClient"],"mappings":"aAAO,IAAMA,EAAN,cAA2B,KAAM,CAItC,WAAA,CAAYC,CAAAA,CAAgBC,EAAyB,CACnD,KAAA,CAAMA,CAAAA,CAAK,KAAK,EAChB,IAAA,CAAK,IAAA,CAAO,eACZ,IAAA,CAAK,MAAA,CAASD,EACd,IAAA,CAAK,IAAA,CAAOC,EACd,CACF,EAEaC,CAAAA,CAAN,cAA+BH,CAAa,CACjD,WAAA,CAAYE,EAAyB,CACnC,KAAA,CAAM,GAAA,CAAKA,CAAI,EACf,IAAA,CAAK,IAAA,CAAO,mBACd,CACF,CAAA,CAEaE,EAAN,cAAoCJ,CAAa,CAGtD,WAAA,CAAYE,EAAyBG,CAAAA,CAA4B,IAAA,CAAM,CACrE,KAAA,CAAM,GAAA,CAAKH,CAAI,CAAA,CACf,IAAA,CAAK,IAAA,CAAO,uBAAA,CACZ,KAAK,UAAA,CAAaG,EACpB,CACF,ECXA,IAAMC,EAAmB,yBAAA,CACnBC,CAAAA,CAAkB,GAAA,CAClBC,CAAAA,CAAuC,CAC3C,UAAA,CAAY,CAAA,CACZ,eAAgB,GAAA,CAChB,UAAA,CAAY,IACZ,OAAA,CAAS,CAAC,GAAA,CAAK,GAAA,CAAK,IAAK,GAAG,CAC9B,EAEA,SAASC,CAAAA,CAAaC,EAAqE,CACzF,OAAIA,CAAAA,GAAQ,KAAA,CAAc,MACrBA,CAAAA,CACE,CACL,WAAYA,CAAAA,CAAI,UAAA,EAAcF,EAAc,UAAA,CAC5C,cAAA,CAAgBE,CAAAA,CAAI,cAAA,EAAkBF,EAAc,cAAA,CACpD,UAAA,CAAYE,EAAI,UAAA,EAAcF,CAAAA,CAAc,WAC5C,OAAA,CAASE,CAAAA,CAAI,OAAA,EAAWF,CAAAA,CAAc,OACxC,CAAA,CANiBA,CAOnB,CAEA,SAASG,CAAAA,CAAMC,EAA2B,CACxC,OAAO,IAAI,OAAA,CAASC,GAAM,UAAA,CAAWA,CAAAA,CAAGD,CAAE,CAAC,CAC7C,CAEA,SAASE,CAAAA,CAAaC,CAAAA,CAAiBC,CAAAA,CAAiBC,EAAqB,CAC3E,IAAMC,EAAOF,CAAAA,CAAU,CAAA,EAAKD,EACtBI,CAAAA,CAAS,IAAA,CAAK,MAAA,EAAO,CAAIH,EAC/B,OAAO,IAAA,CAAK,IAAIE,CAAAA,CAAOC,CAAAA,CAAQF,CAAG,CACpC,CAEO,IAAMG,CAAAA,CAAN,KAAiB,CAMtB,WAAA,CAAYC,EAAuB,CACjC,IAAA,CAAK,SAAWA,CAAAA,CAAO,OAAA,EAAWf,CAAAA,EAAkB,OAAA,CAAQ,OAAQ,EAAE,CAAA,CACtE,KAAK,MAAA,CAASe,CAAAA,CAAO,OACrB,IAAA,CAAK,KAAA,CAAQZ,CAAAA,CAAaY,CAAAA,CAAO,KAAK,CAAA,CACtC,IAAA,CAAK,QAAUA,CAAAA,CAAO,OAAA,EAAWd,EACnC,CAEA,MAAM,GAAA,CAAOe,CAAAA,CAAcC,EAAyD,CAClF,IAAMC,EAAM,IAAA,CAAK,QAAA,CAASF,EAAMC,CAAM,CAAA,CACtC,OAAO,IAAA,CAAK,QAAWC,CAAAA,CAAK,CAAE,OAAQ,KAAM,CAAC,CAC/C,CAEA,MAAM,IAAA,CAAQF,CAAAA,CAAcpB,EAA2B,CACrD,IAAMsB,EAAM,IAAA,CAAK,QAAA,CAASF,CAAI,CAAA,CAC9B,OAAO,IAAA,CAAK,OAAA,CAAWE,EAAK,CAC1B,MAAA,CAAQ,OACR,IAAA,CAAM,IAAA,CAAK,UAAUtB,CAAI,CAAA,CACzB,OAAA,CAAS,CAAE,eAAgB,kBAAmB,CAChD,CAAC,CACH,CAEQ,SAASoB,CAAAA,CAAcC,CAAAA,CAAqD,CAClF,IAAMC,EAAM,IAAI,GAAA,CAAIF,EAAM,IAAA,CAAK,OAAO,EACtC,GAAIC,CAAAA,CACF,IAAA,GAAW,CAACE,EAAGC,CAAC,CAAA,GAAK,OAAO,OAAA,CAAQH,CAAM,EACpCG,CAAAA,GAAM,MAAA,EAAWF,CAAAA,CAAI,YAAA,CAAa,IAAIC,CAAAA,CAAGC,CAAC,EAGlD,OAAOF,CAAAA,CAAI,UACb,CAEA,MAAc,OAAA,CAAWA,EAAaG,CAAAA,CAA+B,CACnE,IAAMC,CAAAA,CAAkC,CACtC,cAAe,CAAA,OAAA,EAAU,IAAA,CAAK,MAAM,CAAA,CAAA,CACpC,OAAQ,kBAAA,CACR,GAAID,EAAK,OACX,CAAA,CAEME,EAAc,IAAA,CAAK,KAAA,CAAQ,IAAA,CAAK,KAAA,CAAM,WAAa,CAAA,CAAI,CAAA,CAE7D,QAASd,CAAAA,CAAU,CAAA,CAAGA,EAAUc,CAAAA,CAAad,CAAAA,EAAAA,CAAW,CACtD,IAAMe,EAAM,MAAM,KAAA,CAAMN,EAAK,CAC3B,GAAGG,EACH,OAAA,CAAAC,CAAAA,CACA,MAAA,CAAQ,WAAA,CAAY,QAAQ,IAAA,CAAK,OAAO,CAC1C,CAAC,CAAA,CAED,GAAIE,CAAAA,CAAI,EAAA,CACN,OAAQ,MAAMA,EAAI,IAAA,EAAK,CAGzB,GAAI,IAAA,CAAK,KAAA,EAASf,EAAU,IAAA,CAAK,KAAA,CAAM,UAAA,EAAc,IAAA,CAAK,MAAM,OAAA,CAAQ,QAAA,CAASe,EAAI,MAAM,CAAA,CAAG,CAC5F,IAAMC,CAAAA,CAAmBD,CAAAA,CAAI,OAAA,CAAQ,IAAI,aAAa,CAAA,CAChDE,EAAUD,CAAAA,CACZ,QAAA,CAASA,EAAkB,EAAE,CAAA,CAAI,GAAA,CACjCjB,CAAAA,CAAaC,EAAS,IAAA,CAAK,KAAA,CAAM,eAAgB,IAAA,CAAK,KAAA,CAAM,UAAU,CAAA,CAC1E,MAAMJ,CAAAA,CAAMqB,CAAO,EACnB,QACF,CAEA,IAAM9B,CAAAA,CAAO,MAAM4B,EAAI,IAAA,EAAK,CAAE,KAAA,CAAM,KAAO,CAAE,KAAA,CAAOA,CAAAA,CAAI,UAAW,CAAA,CAAE,CAAA,CAErE,GAAIA,CAAAA,CAAI,MAAA,GAAW,GAAA,CAAK,MAAM,IAAI3B,CAAAA,CAAiBD,CAAI,EACvD,GAAI4B,CAAAA,CAAI,SAAW,GAAA,CAAK,CACtB,IAAMG,CAAAA,CAAKH,EAAI,OAAA,CAAQ,GAAA,CAAI,aAAa,CAAA,CACxC,MAAM,IAAI1B,CAAAA,CAAsBF,CAAAA,CAAM+B,CAAAA,CAAK,QAAA,CAASA,EAAI,EAAE,CAAA,CAAI,IAAI,CACpE,CACA,MAAM,IAAIjC,CAAAA,CAAa8B,CAAAA,CAAI,MAAA,CAAQ5B,CAAI,CACzC,CAEA,MAAM,IAAIF,CAAAA,CAAa,EAAG,CAAE,KAAA,CAAO,sBAAuB,CAAC,CAC7D,CACF,CAAA,CCnHO,SAASkC,CAAAA,CAAmBC,CAAAA,CAAkC,CACnE,IAAMC,CAAAA,EAAQC,CAAAA,EACZF,CAAAA,CAAO,IAAiB,SAAA,CAAW,CAAE,MAAAE,CAAM,CAAC,GAG9C,OAAAD,CAAAA,CAAI,MAAA,CAAS,CAACE,EAAeC,CAAAA,GAC3BJ,CAAAA,CAAO,IAAuB,gBAAA,CAAkB,CAC9C,EAAGG,CAAAA,CACH,OAAA,CAASC,CAAAA,EAAM,OAAA,CACf,aAAcA,CAAAA,EAAM,YAAA,CACpB,KAAMA,CAAAA,EAAM,IAAA,EAAM,UAAS,CAC3B,KAAA,CAAOA,CAAAA,EAAM,KAAA,EAAO,UACtB,CAAC,EAEHH,CAAAA,CAAI,IAAA,CAAO,IAAMD,CAAAA,CAAO,GAAA,CAAqB,cAAc,CAAA,CAEpDC,CACT,CClBO,SAASI,EAAuBL,CAAAA,CAAsC,CAC3E,IAAMM,CAAAA,EAAYJ,CAAAA,EAChBF,CAAAA,CAAO,GAAA,CAAqB,cAAe,CAAE,KAAA,CAAAE,CAAM,CAAC,CAAA,CAAA,CAGtD,OAAAI,CAAAA,CAAQ,IAAA,CAAO,IAAMN,CAAAA,CAAO,IAAuB,kBAAkB,CAAA,CAE9DM,CACT,CCRO,SAASC,EAAwBP,CAAAA,CAAuC,CAC7E,IAAMQ,CAAAA,EAAaN,GACjBF,CAAAA,CAAO,GAAA,CAAsB,eAAgB,CAAE,KAAA,CAAAE,CAAM,CAAC,CAAA,CAAA,CAGxD,OAAAM,CAAAA,CAAS,KAAO,IAAMR,CAAAA,CAAO,IAAwB,mBAAmB,CAAA,CAEjEQ,CACT,CCRO,SAASC,CAAAA,CAAwBT,CAAAA,CAAuC,CAC7E,IAAMU,CAAAA,EAAaR,GACjBF,CAAAA,CAAO,GAAA,CAAsB,eAAgB,CAAE,KAAA,CAAAE,CAAM,CAAC,GAGxD,OAAAQ,CAAAA,CAAS,KAAO,IAAMV,CAAAA,CAAO,IAAwB,mBAAmB,CAAA,CAEjEU,CACT,CCAO,SAASC,CAAAA,CAAoBX,CAAAA,CAAmC,CACrE,IAAMY,CAAAA,EAAYV,GAChBF,CAAAA,CAAO,GAAA,CAAyB,kBAAA,CAAoB,CAAE,MAAAE,CAAM,CAAC,GAG/D,OAAAU,CAAAA,CAAQ,KAAO,IAAMZ,CAAAA,CAAO,GAAA,CAA2B,uBAAuB,EAEvE,CACL,MAAA,CAASE,GACPF,CAAAA,CAAO,GAAA,CAAwB,kBAAmB,CAAE,KAAA,CAAAE,CAAM,CAAC,EAC7D,OAAA,CAAAU,CAAAA,CACA,QAAUV,CAAAA,EACRF,CAAAA,CAAO,IAAyB,kBAAA,CAAoB,CAAE,KAAA,CAAAE,CAAM,CAAC,CACjE,CACF,CCtBO,SAASW,CAAAA,CAAmBb,EAAkC,CACnE,OAAO,CACL,EAAA,CAAKE,GAAkBF,CAAAA,CAAO,GAAA,CAAgB,aAAc,CAAE,KAAA,CAAAE,CAAM,CAAC,CAAA,CACrE,GAAA,CAAMA,CAAAA,EAAkBF,EAAO,GAAA,CAAiB,aAAA,CAAe,CAAE,KAAA,CAAAE,CAAM,CAAC,CAC1E,CACF,CCJO,SAASY,EAAkBd,CAAAA,CAAiC,CACjE,OAAO,CACL,KAAA,CAAQE,GACNF,CAAAA,CAAO,GAAA,CAAmB,cAAA,CAAgB,CAAE,MAAAE,CAAM,CAAC,EACrD,KAAA,CAAO,CAACA,EAAeE,CAAAA,GACrBJ,CAAAA,CAAO,GAAA,CAAmB,cAAA,CAAgB,CACxC,KAAA,CAAAE,CAAAA,CACA,OAAQE,CAAAA,EAAM,MAAA,EAAQ,UACxB,CAAC,CAAA,CACH,GAAA,CAAK,CAACF,CAAAA,CAAeE,CAAAA,GACnBJ,EAAO,GAAA,CAAiB,YAAA,CAAc,CACpC,KAAA,CAAAE,CAAAA,CACA,MAAA,CAAQE,CAAAA,EAAM,QAAQ,QAAA,EACxB,CAAC,CACL,CACF,CChBO,SAASW,CAAAA,CAAkBf,CAAAA,CAAiC,CACjE,OAAO,CACL,IAAA,CAAOE,GAAkBF,CAAAA,CAAO,GAAA,CAAkB,cAAe,CAAE,KAAA,CAAAE,CAAM,CAAC,EAC1E,GAAA,CAAMA,CAAAA,EAAkBF,EAAO,GAAA,CAAiB,YAAA,CAAc,CAAE,KAAA,CAAAE,CAAM,CAAC,CACzE,CACF,CCNO,SAASc,EAAkBhB,CAAAA,CAAiC,CACjE,OAAO,CACL,GAAA,CAAME,CAAAA,EAAkBF,CAAAA,CAAO,IAAiB,YAAA,CAAc,CAAE,MAAAE,CAAM,CAAC,CACzE,CACF,CCJO,SAASe,CAAAA,CAAkBjB,EAAiC,CACjE,OAAO,CACL,GAAA,CAAME,CAAAA,EAAkBF,EAAO,GAAA,CAAiB,YAAA,CAAc,CAAE,KAAA,CAAAE,CAAM,CAAC,CACzE,CACF,CCJO,SAASgB,EAAkBlB,CAAAA,CAAiC,CACjE,OAAO,CACL,MAAQE,CAAAA,EAAkBF,CAAAA,CAAO,IAAmB,cAAA,CAAgB,CAAE,MAAAE,CAAM,CAAC,CAC/E,CACF,CCJO,SAASiB,CAAAA,CAAkBnB,EAAiC,CACjE,OAAO,CACL,GAAA,CAAME,CAAAA,EAAkBF,CAAAA,CAAO,GAAA,CAAiB,aAAc,CAAE,KAAA,CAAAE,CAAM,CAAC,CACzE,CACF,CCJO,SAASkB,CAAAA,CAAkBpB,CAAAA,CAAiC,CACjE,OAAO,CACL,SAAWE,CAAAA,EAAkBF,CAAAA,CAAO,IAAsB,kBAAA,CAAoB,CAAE,KAAA,CAAAE,CAAM,CAAC,CACzF,CACF,CC2BO,IAAMmB,CAAAA,CAAN,KAAc,CAiBnB,WAAA,CAAYnC,CAAAA,CAAuB,CACjC,KAAK,MAAA,CAAS,IAAID,EAAWC,CAAM,CAAA,CAEnC,KAAK,GAAA,CAAMa,CAAAA,CAAmB,IAAA,CAAK,MAAM,EACzC,IAAA,CAAK,OAAA,CAAUM,EAAuB,IAAA,CAAK,MAAM,EACjD,IAAA,CAAK,QAAA,CAAWE,CAAAA,CAAwB,IAAA,CAAK,MAAM,CAAA,CACnD,IAAA,CAAK,SAAWE,CAAAA,CAAwB,IAAA,CAAK,MAAM,CAAA,CACnD,IAAA,CAAK,IAAA,CAAOE,CAAAA,CAAoB,KAAK,MAAM,CAAA,CAC3C,KAAK,GAAA,CAAME,CAAAA,CAAmB,KAAK,MAAM,CAAA,CACzC,IAAA,CAAK,EAAA,CAAKC,EAAkB,IAAA,CAAK,MAAM,EACvC,IAAA,CAAK,EAAA,CAAKC,EAAkB,IAAA,CAAK,MAAM,CAAA,CACvC,IAAA,CAAK,GAAKC,CAAAA,CAAkB,IAAA,CAAK,MAAM,CAAA,CACvC,IAAA,CAAK,GAAKC,CAAAA,CAAkB,IAAA,CAAK,MAAM,CAAA,CACvC,KAAK,EAAA,CAAKC,CAAAA,CAAkB,KAAK,MAAM,CAAA,CACvC,KAAK,EAAA,CAAKC,CAAAA,CAAkB,IAAA,CAAK,MAAM,EACvC,IAAA,CAAK,EAAA,CAAKC,EAAkB,IAAA,CAAK,MAAM,EACzC,CAIA,KAAA,CAAMlB,CAAAA,CAAeE,CAAAA,CAAsD,CACzE,OAAO,IAAA,CAAK,OAAO,GAAA,CAAI,WAAA,CAAa,CAAE,KAAA,CAAAF,CAAAA,CAAO,OAAA,CAASE,CAAAA,EAAM,SAAS,QAAA,EAAW,CAAC,CACnF,CAEA,KAAKF,CAAAA,CAAeE,CAAAA,CAAwD,CAC1E,OAAO,KAAK,MAAA,CAAO,GAAA,CAAI,WAAY,CAAE,KAAA,CAAAF,EAAO,WAAA,CAAaE,CAAAA,EAAM,WAAY,CAAC,CAC9E,CAEA,IAAA,CAAKF,EAAsC,CACzC,OAAO,KAAK,MAAA,CAAO,GAAA,CAAI,UAAA,CAAY,CAAE,MAAAA,CAAM,CAAC,CAC9C,CAEA,GAAA,CAAIA,EAAqC,CACvC,OAAO,IAAA,CAAK,MAAA,CAAO,IAAI,SAAA,CAAW,CAAE,MAAAA,CAAM,CAAC,CAC7C,CAEA,GAAA,CAAIA,CAAAA,CAAeE,CAAAA,CAA4E,CAC7F,OAAO,IAAA,CAAK,OAAO,GAAA,CAAI,SAAA,CAAW,CAChC,KAAA,CAAAF,CAAAA,CACA,WAAA,CAAaE,CAAAA,EAAM,YACnB,SAAA,CAAWA,CAAAA,EAAM,WAAW,QAAA,EAC9B,CAAC,CACH,CAEA,GAAA,CAAIF,CAAAA,CAAqC,CACvC,OAAO,IAAA,CAAK,OAAO,GAAA,CAAI,SAAA,CAAW,CAAE,KAAA,CAAAA,CAAM,CAAC,CAC7C,CAEA,KAAA,CAAMA,CAAAA,CAAeE,EAAyD,CAC5E,OAAO,KAAK,MAAA,CAAO,GAAA,CAAI,WAAA,CAAa,CAAE,MAAAF,CAAAA,CAAO,WAAA,CAAaE,GAAM,WAAY,CAAC,CAC/E,CAEA,GAAA,CAAIF,CAAAA,CAAqC,CACvC,OAAO,IAAA,CAAK,MAAA,CAAO,IAAI,SAAA,CAAW,CAAE,MAAAA,CAAM,CAAC,CAC7C,CAEA,IAAIA,CAAAA,CAAqC,CACvC,OAAO,IAAA,CAAK,MAAA,CAAO,IAAI,SAAA,CAAW,CAAE,KAAA,CAAAA,CAAM,CAAC,CAC7C,CAEA,KAAKA,CAAAA,CAAsC,CACzC,OAAO,IAAA,CAAK,MAAA,CAAO,GAAA,CAAI,UAAA,CAAY,CAAE,KAAA,CAAAA,CAAM,CAAC,CAC9C,CAEA,KAAKA,CAAAA,CAAsC,CACzC,OAAO,IAAA,CAAK,OAAO,GAAA,CAAI,UAAA,CAAY,CAAE,KAAA,CAAAA,CAAM,CAAC,CAC9C,CAEA,GAAA,CAAIA,CAAAA,CAAqC,CACvC,OAAO,IAAA,CAAK,OAAO,GAAA,CAAI,SAAA,CAAW,CAAE,KAAA,CAAAA,CAAM,CAAC,CAC7C,CAEA,KAAA,CAAMA,CAAAA,CAAuC,CAC3C,OAAO,IAAA,CAAK,OAAO,GAAA,CAAI,WAAA,CAAa,CAAE,KAAA,CAAAA,CAAM,CAAC,CAC/C,CAEA,GAAA,CAAIA,CAAAA,CAAqC,CACvC,OAAO,IAAA,CAAK,MAAA,CAAO,GAAA,CAAI,UAAW,CAAE,KAAA,CAAAA,CAAM,CAAC,CAC7C,CAEA,GAAA,CAAIA,CAAAA,CAAqC,CACvC,OAAO,KAAK,MAAA,CAAO,GAAA,CAAI,UAAW,CAAE,KAAA,CAAAA,CAAM,CAAC,CAC7C,CAEA,IAAA,CAAKA,EAAsC,CACzC,OAAO,KAAK,MAAA,CAAO,GAAA,CAAI,WAAY,CAAE,KAAA,CAAAA,CAAM,CAAC,CAC9C,CAEA,IAAA,CAAKA,EAAeE,CAAAA,CAAoD,CACtE,OAAO,IAAA,CAAK,MAAA,CAAO,GAAA,CAAI,UAAA,CAAY,CAAE,KAAA,CAAAF,CAAAA,CAAO,QAASE,CAAAA,EAAM,OAAA,EAAS,UAAW,CAAC,CAClF,CAEA,IAAIF,CAAAA,CAAqC,CACvC,OAAO,IAAA,CAAK,MAAA,CAAO,IAAI,SAAA,CAAW,CAAE,KAAA,CAAAA,CAAM,CAAC,CAC7C,CAEA,IAAIA,CAAAA,CAAqC,CACvC,OAAO,IAAA,CAAK,MAAA,CAAO,GAAA,CAAI,SAAA,CAAW,CAAE,KAAA,CAAAA,CAAM,CAAC,CAC7C,CAEA,KAAKA,CAAAA,CAAsC,CACzC,OAAO,IAAA,CAAK,OAAO,GAAA,CAAI,UAAA,CAAY,CAAE,KAAA,CAAAA,CAAM,CAAC,CAC9C,CAEA,MAAA,CAAOA,CAAAA,CAAwC,CAC7C,OAAO,IAAA,CAAK,OAAO,GAAA,CAAI,YAAA,CAAc,CAAE,KAAA,CAAAA,CAAM,CAAC,CAChD,CAEA,KAAA,CAAMA,CAAAA,CAAuC,CAC3C,OAAO,IAAA,CAAK,OAAO,GAAA,CAAI,WAAA,CAAa,CAAE,KAAA,CAAAA,CAAM,CAAC,CAC/C,CAEA,OAAA,CAAQA,CAAAA,CAAyC,CAC/C,OAAO,IAAA,CAAK,MAAA,CAAO,GAAA,CAAI,cAAe,CAAE,KAAA,CAAAA,CAAM,CAAC,CACjD,CAEA,IAAA,CAAKA,CAAAA,CAAeE,CAAAA,CAAmD,CACrE,OAAO,IAAA,CAAK,MAAA,CAAO,IAAI,UAAA,CAAY,CAAE,MAAAF,CAAAA,CAAO,MAAA,CAAQE,CAAAA,EAAM,MAAO,CAAC,CACpE,CAEA,WAAWF,CAAAA,CAA4C,CACrD,OAAO,IAAA,CAAK,MAAA,CAAO,GAAA,CAAI,iBAAA,CAAmB,CAAE,KAAA,CAAAA,CAAM,CAAC,CACrD,CAEA,WAAWA,CAAAA,CAAeE,CAAAA,CAA8D,CACtF,OAAO,KAAK,MAAA,CAAO,GAAA,CAAI,kBAAmB,CAAE,KAAA,CAAAF,EAAO,WAAA,CAAaE,CAAAA,EAAM,WAAY,CAAC,CACrF,CAEA,GAAA,CAAIF,EAAqC,CACvC,OAAO,KAAK,MAAA,CAAO,GAAA,CAAI,SAAA,CAAW,CAAE,MAAAA,CAAM,CAAC,CAC7C,CAEA,OAAA,CAAQA,EAAyC,CAC/C,OAAO,IAAA,CAAK,MAAA,CAAO,IAAI,aAAA,CAAe,CAAE,MAAAA,CAAM,CAAC,CACjD,CAEA,IAAA,CAAKA,CAAAA,CAAsC,CACzC,OAAO,IAAA,CAAK,MAAA,CAAO,IAAI,UAAA,CAAY,CAAE,MAAAA,CAAM,CAAC,CAC9C,CAEA,IAAIA,CAAAA,CAAqC,CACvC,OAAO,IAAA,CAAK,MAAA,CAAO,IAAI,SAAA,CAAW,CAAE,KAAA,CAAAA,CAAM,CAAC,CAC7C,CAEA,GAAGA,CAAAA,CAAoC,CACrC,OAAO,IAAA,CAAK,MAAA,CAAO,GAAA,CAAI,QAAA,CAAU,CAAE,KAAA,CAAAA,CAAM,CAAC,CAC5C,CAEA,WAAWoB,CAAAA,CAA6C,CACtD,OAAO,IAAA,CAAK,OAAO,IAAA,CAAK,iBAAA,CAAmB,CAAE,MAAA,CAAAA,CAAO,CAAC,CACvD,CACF,EAEO,SAASC,GAAarC,CAAAA,CAAgC,CAC3D,OAAO,IAAImC,CAAAA,CAAQnC,CAAM,CAC3B","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, Iso6346Response,\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 iso6346(value: string): Promise<Iso6346Response> {\n return this.client.get('/v0/iso6346', { 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/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"]}
package/dist/index.d.cts CHANGED
@@ -675,7 +675,7 @@ type AbaResponse = {
675
675
  routingNumber: string;
676
676
  checkDigit: string;
677
677
  };
678
- type Iso6346Response = {
678
+ type ContainerCodeResponse = {
679
679
  valid: false;
680
680
  } | {
681
681
  valid: true;
@@ -797,7 +797,7 @@ declare class IsValid {
797
797
  countryCode?: string;
798
798
  }): Promise<PostalCodeResponse>;
799
799
  aba(value: string): Promise<AbaResponse>;
800
- iso6346(value: string): Promise<Iso6346Response>;
800
+ containerCode(value: string): Promise<ContainerCodeResponse>;
801
801
  sscc(value: string): Promise<SsccResponse>;
802
802
  gln(value: string): Promise<GlnResponse>;
803
803
  qr(value: string): Promise<QrResponse>;
@@ -805,4 +805,4 @@ declare class IsValid {
805
805
  }
806
806
  declare function createClient(config: IsValidConfig): IsValid;
807
807
 
808
- export { type AbaResponse, type AbnResponse, type AuNamespace, type BicResponse, type BooleanResponse, type BrNamespace, type BtcAddressResponse, type CfiResponse, type CnpjResponse, type ColorResponse, type CountryListItem, type CountryNamespace, type CountryResponse, type CpfResponse, type CreditCardResponse, type CurrencyListItem, type CurrencyNamespace, type CurrencyResponse, type CusipResponse, type DateResponse, type DtiResponse, type EanResponse, type EmailResponse, type EsNamespace, type GbNamespace, type GlnResponse, type GpsResponse, type GstinResponse, type IataAirlineListItem, type IataAirlineNamespace, type IataAirlineResponse, type IataAirportResponse, type IataFlightResponse, type IataNamespace, type IbanResponse, type ImeiResponse, type InNamespace, type InvalidResponse, type IpResponse, IsValid, IsValidAuthError, type IsValidConfig, IsValidError, IsValidRateLimitError, type IsbnResponse, type IsinResponse, type Iso6346Response, type IssnResponse, type JwtResponse, type KrsAddress, type KrsLookup, type KrsResponse, type LanguageListItem, type LanguageNamespace, type LanguageResponse, type LeiEntity, type LeiLou, type LeiLouItem, type LeiLousResponse, type LeiNamespace, type LeiResponse, type LeiSearchOptions, type LeiSearchResponse, type LeiSearchResult, type MacResponse, type MicResponse, type NetNamespace, type NifResponse, type NpiResponse, type NutsResponse, type PeselResponse, type PhoneResponse, type PlNamespace, type PostalCodeResponse, type QrResponse, type RegonLookup, type RegonResponse, type RetryConfig, type SemverResponse, type SortCodeResponse, type SsccResponse, type UrlResponse, type UsNamespace, type UuidResponse, type VatResponse, type VinResponse, createClient };
808
+ export { type AbaResponse, type AbnResponse, type AuNamespace, type BicResponse, type BooleanResponse, type BrNamespace, type BtcAddressResponse, type CfiResponse, type CnpjResponse, type ColorResponse, type ContainerCodeResponse, type CountryListItem, type CountryNamespace, type CountryResponse, type CpfResponse, type CreditCardResponse, type CurrencyListItem, type CurrencyNamespace, type CurrencyResponse, type CusipResponse, type DateResponse, type DtiResponse, type EanResponse, type EmailResponse, type EsNamespace, type GbNamespace, type GlnResponse, type GpsResponse, type GstinResponse, type IataAirlineListItem, type IataAirlineNamespace, type IataAirlineResponse, type IataAirportResponse, type IataFlightResponse, type IataNamespace, type IbanResponse, type ImeiResponse, type InNamespace, type InvalidResponse, type IpResponse, IsValid, IsValidAuthError, type IsValidConfig, IsValidError, IsValidRateLimitError, type IsbnResponse, type IsinResponse, type IssnResponse, type JwtResponse, type KrsAddress, type KrsLookup, type KrsResponse, type LanguageListItem, type LanguageNamespace, type LanguageResponse, type LeiEntity, type LeiLou, type LeiLouItem, type LeiLousResponse, type LeiNamespace, type LeiResponse, type LeiSearchOptions, type LeiSearchResponse, type LeiSearchResult, type MacResponse, type MicResponse, type NetNamespace, type NifResponse, type NpiResponse, type NutsResponse, type PeselResponse, type PhoneResponse, type PlNamespace, type PostalCodeResponse, type QrResponse, type RegonLookup, type RegonResponse, type RetryConfig, type SemverResponse, type SortCodeResponse, type SsccResponse, type UrlResponse, type UsNamespace, type UuidResponse, type VatResponse, type VinResponse, createClient };
package/dist/index.d.ts CHANGED
@@ -675,7 +675,7 @@ type AbaResponse = {
675
675
  routingNumber: string;
676
676
  checkDigit: string;
677
677
  };
678
- type Iso6346Response = {
678
+ type ContainerCodeResponse = {
679
679
  valid: false;
680
680
  } | {
681
681
  valid: true;
@@ -797,7 +797,7 @@ declare class IsValid {
797
797
  countryCode?: string;
798
798
  }): Promise<PostalCodeResponse>;
799
799
  aba(value: string): Promise<AbaResponse>;
800
- iso6346(value: string): Promise<Iso6346Response>;
800
+ containerCode(value: string): Promise<ContainerCodeResponse>;
801
801
  sscc(value: string): Promise<SsccResponse>;
802
802
  gln(value: string): Promise<GlnResponse>;
803
803
  qr(value: string): Promise<QrResponse>;
@@ -805,4 +805,4 @@ declare class IsValid {
805
805
  }
806
806
  declare function createClient(config: IsValidConfig): IsValid;
807
807
 
808
- export { type AbaResponse, type AbnResponse, type AuNamespace, type BicResponse, type BooleanResponse, type BrNamespace, type BtcAddressResponse, type CfiResponse, type CnpjResponse, type ColorResponse, type CountryListItem, type CountryNamespace, type CountryResponse, type CpfResponse, type CreditCardResponse, type CurrencyListItem, type CurrencyNamespace, type CurrencyResponse, type CusipResponse, type DateResponse, type DtiResponse, type EanResponse, type EmailResponse, type EsNamespace, type GbNamespace, type GlnResponse, type GpsResponse, type GstinResponse, type IataAirlineListItem, type IataAirlineNamespace, type IataAirlineResponse, type IataAirportResponse, type IataFlightResponse, type IataNamespace, type IbanResponse, type ImeiResponse, type InNamespace, type InvalidResponse, type IpResponse, IsValid, IsValidAuthError, type IsValidConfig, IsValidError, IsValidRateLimitError, type IsbnResponse, type IsinResponse, type Iso6346Response, type IssnResponse, type JwtResponse, type KrsAddress, type KrsLookup, type KrsResponse, type LanguageListItem, type LanguageNamespace, type LanguageResponse, type LeiEntity, type LeiLou, type LeiLouItem, type LeiLousResponse, type LeiNamespace, type LeiResponse, type LeiSearchOptions, type LeiSearchResponse, type LeiSearchResult, type MacResponse, type MicResponse, type NetNamespace, type NifResponse, type NpiResponse, type NutsResponse, type PeselResponse, type PhoneResponse, type PlNamespace, type PostalCodeResponse, type QrResponse, type RegonLookup, type RegonResponse, type RetryConfig, type SemverResponse, type SortCodeResponse, type SsccResponse, type UrlResponse, type UsNamespace, type UuidResponse, type VatResponse, type VinResponse, createClient };
808
+ export { type AbaResponse, type AbnResponse, type AuNamespace, type BicResponse, type BooleanResponse, type BrNamespace, type BtcAddressResponse, type CfiResponse, type CnpjResponse, type ColorResponse, type ContainerCodeResponse, type CountryListItem, type CountryNamespace, type CountryResponse, type CpfResponse, type CreditCardResponse, type CurrencyListItem, type CurrencyNamespace, type CurrencyResponse, type CusipResponse, type DateResponse, type DtiResponse, type EanResponse, type EmailResponse, type EsNamespace, type GbNamespace, type GlnResponse, type GpsResponse, type GstinResponse, type IataAirlineListItem, type IataAirlineNamespace, type IataAirlineResponse, type IataAirportResponse, type IataFlightResponse, type IataNamespace, type IbanResponse, type ImeiResponse, type InNamespace, type InvalidResponse, type IpResponse, IsValid, IsValidAuthError, type IsValidConfig, IsValidError, IsValidRateLimitError, type IsbnResponse, type IsinResponse, type IssnResponse, type JwtResponse, type KrsAddress, type KrsLookup, type KrsResponse, type LanguageListItem, type LanguageNamespace, type LanguageResponse, type LeiEntity, type LeiLou, type LeiLouItem, type LeiLousResponse, type LeiNamespace, type LeiResponse, type LeiSearchOptions, type LeiSearchResponse, type LeiSearchResult, type MacResponse, type MicResponse, type NetNamespace, type NifResponse, type NpiResponse, type NutsResponse, type PeselResponse, type PhoneResponse, type PlNamespace, type PostalCodeResponse, type QrResponse, type RegonLookup, type RegonResponse, type RetryConfig, type SemverResponse, type SortCodeResponse, type SsccResponse, type UrlResponse, type UsNamespace, type UuidResponse, type VatResponse, type VinResponse, createClient };
package/dist/index.js CHANGED
@@ -1,3 +1,351 @@
1
- var i=class extends Error{constructor(e,s){super(s.error),this.name="IsValidError",this.status=e,this.body=s;}},c=class extends i{constructor(e){super(401,e),this.name="IsValidAuthError";}},m=class extends i{constructor(e,s=null){super(429,e),this.name="IsValidRateLimitError",this.retryAfter=s;}};var H="https://api.isvalid.dev",S=1e4,l={maxRetries:3,initialDelayMs:500,maxDelayMs:1e4,retryOn:[429,500,502,503]};function E(t){return t===false?false:t?{maxRetries:t.maxRetries??l.maxRetries,initialDelayMs:t.initialDelayMs??l.initialDelayMs,maxDelayMs:t.maxDelayMs??l.maxDelayMs,retryOn:t.retryOn??l.retryOn}:l}function M(t){return new Promise(e=>setTimeout(e,t))}function U(t,e,s){let r=e*2**t,o=Math.random()*e;return Math.min(r+o,s)}var u=class{constructor(e){this.baseUrl=(e.baseUrl??H).replace(/\/+$/,""),this.apiKey=e.apiKey,this.retry=E(e.retry),this.timeout=e.timeout??S;}async get(e,s){let r=this.buildUrl(e,s);return this.request(r,{method:"GET"})}async post(e,s){let r=this.buildUrl(e);return this.request(r,{method:"POST",body:JSON.stringify(s),headers:{"Content-Type":"application/json"}})}buildUrl(e,s){let r=new URL(e,this.baseUrl);if(s)for(let[o,a]of Object.entries(s))a!==void 0&&r.searchParams.set(o,a);return r.toString()}async request(e,s){let r={Authorization:`Bearer ${this.apiKey}`,Accept:"application/json",...s.headers},o=this.retry?this.retry.maxRetries+1:1;for(let a=0;a<o;a++){let n=await fetch(e,{...s,headers:r,signal:AbortSignal.timeout(this.timeout)});if(n.ok)return await n.json();if(this.retry&&a<this.retry.maxRetries&&this.retry.retryOn.includes(n.status)){let p=n.headers.get("Retry-After"),A=p?parseInt(p,10)*1e3:U(a,this.retry.initialDelayMs,this.retry.maxDelayMs);await M(A);continue}let g=await n.json().catch(()=>({error:n.statusText}));if(n.status===401)throw new c(g);if(n.status===429){let p=n.headers.get("Retry-After");throw new m(g,p?parseInt(p,10):null)}throw new i(n.status,g)}throw new i(0,{error:"Max retries exceeded"})}};function f(t){let e=(s=>t.get("/v0/lei",{value:s}));return e.search=(s,r)=>t.get("/v0/lei/search",{q:s,country:r?.country,entityStatus:r?.entityStatus,page:r?.page?.toString(),limit:r?.limit?.toString()}),e.lous=()=>t.get("/v0/lei/lous"),e}function R(t){let e=(s=>t.get("/v0/country",{value:s}));return e.list=()=>t.get("/v0/country/list"),e}function h(t){let e=(s=>t.get("/v0/currency",{value:s}));return e.list=()=>t.get("/v0/currency/list"),e}function d(t){let e=(s=>t.get("/v0/language",{value:s}));return e.list=()=>t.get("/v0/language/list"),e}function N(t){let e=(s=>t.get("/v0/iata/airline",{value:s}));return e.list=()=>t.get("/v0/iata/airline/list"),{flight:s=>t.get("/v0/iata/flight",{value:s}),airline:e,airport:s=>t.get("/v0/iata/airport",{value:s})}}function C(t){return {ip:e=>t.get("/v0/net/ip",{value:e}),mac:e=>t.get("/v0/net/mac",{value:e})}}function v(t){return {pesel:e=>t.get("/v0/pl/pesel",{value:e}),regon:(e,s)=>t.get("/v0/pl/regon",{value:e,lookup:s?.lookup?.toString()}),krs:(e,s)=>t.get("/v0/pl/krs",{value:e,lookup:s?.lookup?.toString()})}}function b(t){return {cnpj:e=>t.get("/v0/br/cnpj",{value:e}),cpf:e=>t.get("/v0/br/cpf",{value:e})}}function P(t){return {abn:e=>t.get("/v0/au/abn",{value:e})}}function x(t){return {nif:e=>t.get("/v0/es/nif",{value:e})}}function I(t){return {gstin:e=>t.get("/v0/in/gstin",{value:e})}}function j(t){return {npi:e=>t.get("/v0/us/npi",{value:e})}}function L(t){return {sortCode:e=>t.get("/v0/gb/sort-code",{value:e})}}var y=class{constructor(e){this.client=new u(e),this.lei=f(this.client),this.country=R(this.client),this.currency=h(this.client),this.language=d(this.client),this.iata=N(this.client),this.net=C(this.client),this.pl=v(this.client),this.br=b(this.client),this.au=P(this.client),this.es=x(this.client),this.in=I(this.client),this.us=j(this.client),this.gb=L(this.client);}email(e,s){return this.client.get("/v0/email",{value:e,checkMx:s?.checkMx?.toString()})}iban(e,s){return this.client.get("/v0/iban",{value:e,countryCode:s?.countryCode})}isin(e){return this.client.get("/v0/isin",{value:e})}dti(e){return this.client.get("/v0/dti",{value:e})}vat(e,s){return this.client.get("/v0/vat",{value:e,countryCode:s?.countryCode,checkVies:s?.checkVies?.toString()})}gps(e){return this.client.get("/v0/gps",{value:e})}phone(e,s){return this.client.get("/v0/phone",{value:e,countryCode:s?.countryCode})}url(e){return this.client.get("/v0/url",{value:e})}ean(e){return this.client.get("/v0/ean",{value:e})}isbn(e){return this.client.get("/v0/isbn",{value:e})}issn(e){return this.client.get("/v0/issn",{value:e})}bic(e){return this.client.get("/v0/bic",{value:e})}cusip(e){return this.client.get("/v0/cusip",{value:e})}cfi(e){return this.client.get("/v0/cfi",{value:e})}mic(e){return this.client.get("/v0/mic",{value:e})}nuts(e){return this.client.get("/v0/nuts",{value:e})}uuid(e,s){return this.client.get("/v0/uuid",{value:e,version:s?.version?.toString()})}jwt(e){return this.client.get("/v0/jwt",{value:e})}vin(e){return this.client.get("/v0/vin",{value:e})}imei(e){return this.client.get("/v0/imei",{value:e})}semver(e){return this.client.get("/v0/semver",{value:e})}color(e){return this.client.get("/v0/color",{value:e})}boolean(e){return this.client.get("/v0/boolean",{value:e})}date(e,s){return this.client.get("/v0/date",{value:e,format:s?.format})}btcAddress(e){return this.client.get("/v0/btc-address",{value:e})}postalCode(e,s){return this.client.get("/v0/postal-code",{value:e,countryCode:s?.countryCode})}aba(e){return this.client.get("/v0/aba",{value:e})}iso6346(e){return this.client.get("/v0/iso6346",{value:e})}sscc(e){return this.client.get("/v0/sscc",{value:e})}gln(e){return this.client.get("/v0/gln",{value:e})}qr(e){return this.client.get("/v0/qr",{value:e})}creditCard(e){return this.client.post("/v0/credit-card",{number:e})}};function me(t){return new y(t)}
2
- export{y as IsValid,c as IsValidAuthError,i as IsValidError,m as IsValidRateLimitError,me as createClient};//# sourceMappingURL=index.js.map
1
+ // src/errors.ts
2
+ var IsValidError = class extends Error {
3
+ constructor(status, body) {
4
+ super(body.error);
5
+ this.name = "IsValidError";
6
+ this.status = status;
7
+ this.body = body;
8
+ }
9
+ };
10
+ var IsValidAuthError = class extends IsValidError {
11
+ constructor(body) {
12
+ super(401, body);
13
+ this.name = "IsValidAuthError";
14
+ }
15
+ };
16
+ var IsValidRateLimitError = class extends IsValidError {
17
+ constructor(body, retryAfter = null) {
18
+ super(429, body);
19
+ this.name = "IsValidRateLimitError";
20
+ this.retryAfter = retryAfter;
21
+ }
22
+ };
23
+
24
+ // src/client.ts
25
+ var DEFAULT_BASE_URL = "https://api.isvalid.dev";
26
+ var DEFAULT_TIMEOUT = 1e4;
27
+ var DEFAULT_RETRY = {
28
+ maxRetries: 3,
29
+ initialDelayMs: 500,
30
+ maxDelayMs: 1e4,
31
+ retryOn: [429, 500, 502, 503]
32
+ };
33
+ function resolveRetry(cfg) {
34
+ if (cfg === false) return false;
35
+ if (!cfg) return DEFAULT_RETRY;
36
+ return {
37
+ maxRetries: cfg.maxRetries ?? DEFAULT_RETRY.maxRetries,
38
+ initialDelayMs: cfg.initialDelayMs ?? DEFAULT_RETRY.initialDelayMs,
39
+ maxDelayMs: cfg.maxDelayMs ?? DEFAULT_RETRY.maxDelayMs,
40
+ retryOn: cfg.retryOn ?? DEFAULT_RETRY.retryOn
41
+ };
42
+ }
43
+ function delay(ms) {
44
+ return new Promise((r) => setTimeout(r, ms));
45
+ }
46
+ function backoffDelay(attempt, initial, max) {
47
+ const base = initial * 2 ** attempt;
48
+ const jitter = Math.random() * initial;
49
+ return Math.min(base + jitter, max);
50
+ }
51
+ var HttpClient = class {
52
+ constructor(config) {
53
+ this.baseUrl = (config.baseUrl ?? DEFAULT_BASE_URL).replace(/\/+$/, "");
54
+ this.apiKey = config.apiKey;
55
+ this.retry = resolveRetry(config.retry);
56
+ this.timeout = config.timeout ?? DEFAULT_TIMEOUT;
57
+ }
58
+ async get(path, params) {
59
+ const url = this.buildUrl(path, params);
60
+ return this.request(url, { method: "GET" });
61
+ }
62
+ async post(path, body) {
63
+ const url = this.buildUrl(path);
64
+ return this.request(url, {
65
+ method: "POST",
66
+ body: JSON.stringify(body),
67
+ headers: { "Content-Type": "application/json" }
68
+ });
69
+ }
70
+ buildUrl(path, params) {
71
+ const url = new URL(path, this.baseUrl);
72
+ if (params) {
73
+ for (const [k, v] of Object.entries(params)) {
74
+ if (v !== void 0) url.searchParams.set(k, v);
75
+ }
76
+ }
77
+ return url.toString();
78
+ }
79
+ async request(url, init) {
80
+ const headers = {
81
+ Authorization: `Bearer ${this.apiKey}`,
82
+ Accept: "application/json",
83
+ ...init.headers
84
+ };
85
+ const maxAttempts = this.retry ? this.retry.maxRetries + 1 : 1;
86
+ for (let attempt = 0; attempt < maxAttempts; attempt++) {
87
+ const res = await fetch(url, {
88
+ ...init,
89
+ headers,
90
+ signal: AbortSignal.timeout(this.timeout)
91
+ });
92
+ if (res.ok) {
93
+ return await res.json();
94
+ }
95
+ if (this.retry && attempt < this.retry.maxRetries && this.retry.retryOn.includes(res.status)) {
96
+ const retryAfterHeader = res.headers.get("Retry-After");
97
+ const retryMs = retryAfterHeader ? parseInt(retryAfterHeader, 10) * 1e3 : backoffDelay(attempt, this.retry.initialDelayMs, this.retry.maxDelayMs);
98
+ await delay(retryMs);
99
+ continue;
100
+ }
101
+ const body = await res.json().catch(() => ({ error: res.statusText }));
102
+ if (res.status === 401) throw new IsValidAuthError(body);
103
+ if (res.status === 429) {
104
+ const ra = res.headers.get("Retry-After");
105
+ throw new IsValidRateLimitError(body, ra ? parseInt(ra, 10) : null);
106
+ }
107
+ throw new IsValidError(res.status, body);
108
+ }
109
+ throw new IsValidError(0, { error: "Max retries exceeded" });
110
+ }
111
+ };
112
+
113
+ // src/namespaces/lei.ts
114
+ function createLeiNamespace(client) {
115
+ const lei = ((value) => client.get("/v0/lei", { value }));
116
+ lei.search = (query, opts) => client.get("/v0/lei/search", {
117
+ q: query,
118
+ country: opts?.country,
119
+ entityStatus: opts?.entityStatus,
120
+ page: opts?.page?.toString(),
121
+ limit: opts?.limit?.toString()
122
+ });
123
+ lei.lous = () => client.get("/v0/lei/lous");
124
+ return lei;
125
+ }
126
+
127
+ // src/namespaces/country.ts
128
+ function createCountryNamespace(client) {
129
+ const country = ((value) => client.get("/v0/country", { value }));
130
+ country.list = () => client.get("/v0/country/list");
131
+ return country;
132
+ }
133
+
134
+ // src/namespaces/currency.ts
135
+ function createCurrencyNamespace(client) {
136
+ const currency = ((value) => client.get("/v0/currency", { value }));
137
+ currency.list = () => client.get("/v0/currency/list");
138
+ return currency;
139
+ }
140
+
141
+ // src/namespaces/language.ts
142
+ function createLanguageNamespace(client) {
143
+ const language = ((value) => client.get("/v0/language", { value }));
144
+ language.list = () => client.get("/v0/language/list");
145
+ return language;
146
+ }
147
+
148
+ // src/namespaces/iata.ts
149
+ function createIataNamespace(client) {
150
+ const airline = ((value) => client.get("/v0/iata/airline", { value }));
151
+ airline.list = () => client.get("/v0/iata/airline/list");
152
+ return {
153
+ flight: (value) => client.get("/v0/iata/flight", { value }),
154
+ airline,
155
+ airport: (value) => client.get("/v0/iata/airport", { value })
156
+ };
157
+ }
158
+
159
+ // src/namespaces/net.ts
160
+ function createNetNamespace(client) {
161
+ return {
162
+ ip: (value) => client.get("/v0/net/ip", { value }),
163
+ mac: (value) => client.get("/v0/net/mac", { value })
164
+ };
165
+ }
166
+
167
+ // src/namespaces/pl.ts
168
+ function createPlNamespace(client) {
169
+ return {
170
+ pesel: (value) => client.get("/v0/pl/pesel", { value }),
171
+ regon: (value, opts) => client.get("/v0/pl/regon", {
172
+ value,
173
+ lookup: opts?.lookup?.toString()
174
+ }),
175
+ krs: (value, opts) => client.get("/v0/pl/krs", {
176
+ value,
177
+ lookup: opts?.lookup?.toString()
178
+ })
179
+ };
180
+ }
181
+
182
+ // src/namespaces/br.ts
183
+ function createBrNamespace(client) {
184
+ return {
185
+ cnpj: (value) => client.get("/v0/br/cnpj", { value }),
186
+ cpf: (value) => client.get("/v0/br/cpf", { value })
187
+ };
188
+ }
189
+
190
+ // src/namespaces/au.ts
191
+ function createAuNamespace(client) {
192
+ return {
193
+ abn: (value) => client.get("/v0/au/abn", { value })
194
+ };
195
+ }
196
+
197
+ // src/namespaces/es.ts
198
+ function createEsNamespace(client) {
199
+ return {
200
+ nif: (value) => client.get("/v0/es/nif", { value })
201
+ };
202
+ }
203
+
204
+ // src/namespaces/in.ts
205
+ function createInNamespace(client) {
206
+ return {
207
+ gstin: (value) => client.get("/v0/in/gstin", { value })
208
+ };
209
+ }
210
+
211
+ // src/namespaces/us.ts
212
+ function createUsNamespace(client) {
213
+ return {
214
+ npi: (value) => client.get("/v0/us/npi", { value })
215
+ };
216
+ }
217
+
218
+ // src/namespaces/gb.ts
219
+ function createGbNamespace(client) {
220
+ return {
221
+ sortCode: (value) => client.get("/v0/gb/sort-code", { value })
222
+ };
223
+ }
224
+
225
+ // src/index.ts
226
+ var IsValid = class {
227
+ constructor(config) {
228
+ this.client = new HttpClient(config);
229
+ this.lei = createLeiNamespace(this.client);
230
+ this.country = createCountryNamespace(this.client);
231
+ this.currency = createCurrencyNamespace(this.client);
232
+ this.language = createLanguageNamespace(this.client);
233
+ this.iata = createIataNamespace(this.client);
234
+ this.net = createNetNamespace(this.client);
235
+ this.pl = createPlNamespace(this.client);
236
+ this.br = createBrNamespace(this.client);
237
+ this.au = createAuNamespace(this.client);
238
+ this.es = createEsNamespace(this.client);
239
+ this.in = createInNamespace(this.client);
240
+ this.us = createUsNamespace(this.client);
241
+ this.gb = createGbNamespace(this.client);
242
+ }
243
+ // --- Simple endpoints ---
244
+ email(value, opts) {
245
+ return this.client.get("/v0/email", { value, checkMx: opts?.checkMx?.toString() });
246
+ }
247
+ iban(value, opts) {
248
+ return this.client.get("/v0/iban", { value, countryCode: opts?.countryCode });
249
+ }
250
+ isin(value) {
251
+ return this.client.get("/v0/isin", { value });
252
+ }
253
+ dti(value) {
254
+ return this.client.get("/v0/dti", { value });
255
+ }
256
+ vat(value, opts) {
257
+ return this.client.get("/v0/vat", {
258
+ value,
259
+ countryCode: opts?.countryCode,
260
+ checkVies: opts?.checkVies?.toString()
261
+ });
262
+ }
263
+ gps(value) {
264
+ return this.client.get("/v0/gps", { value });
265
+ }
266
+ phone(value, opts) {
267
+ return this.client.get("/v0/phone", { value, countryCode: opts?.countryCode });
268
+ }
269
+ url(value) {
270
+ return this.client.get("/v0/url", { value });
271
+ }
272
+ ean(value) {
273
+ return this.client.get("/v0/ean", { value });
274
+ }
275
+ isbn(value) {
276
+ return this.client.get("/v0/isbn", { value });
277
+ }
278
+ issn(value) {
279
+ return this.client.get("/v0/issn", { value });
280
+ }
281
+ bic(value) {
282
+ return this.client.get("/v0/bic", { value });
283
+ }
284
+ cusip(value) {
285
+ return this.client.get("/v0/cusip", { value });
286
+ }
287
+ cfi(value) {
288
+ return this.client.get("/v0/cfi", { value });
289
+ }
290
+ mic(value) {
291
+ return this.client.get("/v0/mic", { value });
292
+ }
293
+ nuts(value) {
294
+ return this.client.get("/v0/nuts", { value });
295
+ }
296
+ uuid(value, opts) {
297
+ return this.client.get("/v0/uuid", { value, version: opts?.version?.toString() });
298
+ }
299
+ jwt(value) {
300
+ return this.client.get("/v0/jwt", { value });
301
+ }
302
+ vin(value) {
303
+ return this.client.get("/v0/vin", { value });
304
+ }
305
+ imei(value) {
306
+ return this.client.get("/v0/imei", { value });
307
+ }
308
+ semver(value) {
309
+ return this.client.get("/v0/semver", { value });
310
+ }
311
+ color(value) {
312
+ return this.client.get("/v0/color", { value });
313
+ }
314
+ boolean(value) {
315
+ return this.client.get("/v0/boolean", { value });
316
+ }
317
+ date(value, opts) {
318
+ return this.client.get("/v0/date", { value, format: opts?.format });
319
+ }
320
+ btcAddress(value) {
321
+ return this.client.get("/v0/btc-address", { value });
322
+ }
323
+ postalCode(value, opts) {
324
+ return this.client.get("/v0/postal-code", { value, countryCode: opts?.countryCode });
325
+ }
326
+ aba(value) {
327
+ return this.client.get("/v0/aba", { value });
328
+ }
329
+ containerCode(value) {
330
+ return this.client.get("/v0/container-code", { value });
331
+ }
332
+ sscc(value) {
333
+ return this.client.get("/v0/sscc", { value });
334
+ }
335
+ gln(value) {
336
+ return this.client.get("/v0/gln", { value });
337
+ }
338
+ qr(value) {
339
+ return this.client.get("/v0/qr", { value });
340
+ }
341
+ creditCard(number) {
342
+ return this.client.post("/v0/credit-card", { number });
343
+ }
344
+ };
345
+ function createClient(config) {
346
+ return new IsValid(config);
347
+ }
348
+
349
+ export { IsValid, IsValidAuthError, IsValidError, IsValidRateLimitError, createClient };
350
+ //# sourceMappingURL=index.js.map
3
351
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -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":["IsValidError","status","body","IsValidAuthError","IsValidRateLimitError","retryAfter","DEFAULT_BASE_URL","DEFAULT_TIMEOUT","DEFAULT_RETRY","resolveRetry","cfg","delay","ms","r","backoffDelay","attempt","initial","max","base","jitter","HttpClient","config","path","params","url","k","v","init","headers","maxAttempts","res","retryAfterHeader","retryMs","ra","createLeiNamespace","client","lei","value","query","opts","createCountryNamespace","country","createCurrencyNamespace","currency","createLanguageNamespace","language","createIataNamespace","airline","createNetNamespace","createPlNamespace","createBrNamespace","createAuNamespace","createEsNamespace","createInNamespace","createUsNamespace","createGbNamespace","IsValid","number","createClient"],"mappings":"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","file":"index.js","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, Iso6346Response,\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 iso6346(value: string): Promise<Iso6346Response> {\n return this.client.get('/v0/iso6346', { 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/index.ts"],"names":[],"mappings":"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","file":"index.js","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"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@isvalid-dev/sdk",
3
- "version": "0.1.0",
3
+ "version": "0.2.0",
4
4
  "description": "TypeScript SDK for the isvalid.dev validation API",
5
5
  "license": "MIT",
6
6
  "author": "isvalid.dev",