@defjs/core 0.0.0-test-005 → 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.
Files changed (4) hide show
  1. package/index.d.ts +210 -292
  2. package/index.js +218 -188
  3. package/index.min.js +1 -587
  4. package/package.json +4 -1
package/index.js CHANGED
@@ -1,14 +1,16 @@
1
- const ERR_ABORTED = new Error("ERR_ABORTED");
2
- const ERR_TIMEOUT = new Error("ERR_TIMEOUT");
3
- const ERR_NETWORK = new Error("ERR_NETWORK");
4
- const ERR_NOT_FOUND_HANDLER = new Error("ERR_NOT_FOUND_HANDLER");
5
- const ERR_OBSERVE = new Error("ERR_OBSERVE");
6
- const ERR_NOT_SET_ALIAS = new Error("ERR_NOT_SET_ALIAS");
7
- const ERR_UNSUPPORTED_FIELD_TYPE = new Error("ERR_UNSUPPORTED_FIELD_TYPE");
8
- const ERR_INVALID_CLIENT = new Error("ERR_INVALID_CLIENT");
9
- const ERR_NOT_FOUND_GLOBAL_CLIENT = new Error("ERR_NOT_FOUND_GLOBAL_CLIENT");
10
- const ERR_INVALID_HTTP_CONTEXT_TOKEN = new Error("ERR_INVALID_HTTP_CONTEXT_TOKEN");
11
- const ERR_UNKNOWN = new Error("ERR_UNKNOWN");
1
+ // src/error.ts
2
+ var ERR_ABORTED = new Error("ERR_ABORTED");
3
+ var ERR_TIMEOUT = new Error("ERR_TIMEOUT");
4
+ var ERR_NETWORK = new Error("ERR_NETWORK");
5
+ var ERR_NOT_FOUND_HANDLER = new Error("ERR_NOT_FOUND_HANDLER");
6
+ var ERR_OBSERVE = new Error("ERR_OBSERVE");
7
+ var ERR_NOT_SET_ALIAS = new Error("ERR_NOT_SET_ALIAS");
8
+ var ERR_UNSUPPORTED_FIELD_TYPE = new Error("ERR_UNSUPPORTED_FIELD_TYPE");
9
+ var ERR_INVALID_CLIENT = new Error("ERR_INVALID_CLIENT");
10
+ var ERR_NOT_FOUND_GLOBAL_CLIENT = new Error("ERR_NOT_FOUND_GLOBAL_CLIENT");
11
+ var ERR_INVALID_HTTP_CONTEXT_TOKEN = new Error("ERR_INVALID_HTTP_CONTEXT_TOKEN");
12
+ var ERR_UNKNOWN = new Error("ERR_UNKNOWN");
13
+
12
14
  class HttpErrorResponse extends Error {
13
15
  status;
14
16
  statusText;
@@ -19,7 +21,7 @@ class HttpErrorResponse extends Error {
19
21
  const status = init?.status ?? 0;
20
22
  const statusText = init?.statusText ?? "";
21
23
  const ok = status >= 200 && status < 300;
22
- const headers = init?.headers ?? new Headers();
24
+ const headers = init?.headers ?? new Headers;
23
25
  const url = init?.url ?? "";
24
26
  const body = init?.body ?? null;
25
27
  let message;
@@ -41,6 +43,7 @@ class HttpErrorResponse extends Error {
41
43
  }
42
44
  }
43
45
 
46
+ // src/handler/util.ts
44
47
  function __getContentLength(headers) {
45
48
  const value = headers.get("Content-Length");
46
49
  if (!value) {
@@ -87,7 +90,7 @@ function __concatChunks(chunks, totalLength) {
87
90
  return chunksAll;
88
91
  }
89
92
 
90
- const HTTP_CONTEXT_TOKEN = Symbol("HttpContextToken");
93
+ // src/context.ts
91
94
  function makeHttpContextToken(defaultValue) {
92
95
  Object.defineProperty(defaultValue, HTTP_CONTEXT_TOKEN, { value: defaultValue });
93
96
  return defaultValue;
@@ -95,12 +98,11 @@ function makeHttpContextToken(defaultValue) {
95
98
  function isHttpContextToken(value) {
96
99
  return typeof value === "function" && HTTP_CONTEXT_TOKEN in value;
97
100
  }
98
- const HTTP_CONTEXT = Symbol("HttpContext");
99
101
  function isHttpContext(value) {
100
102
  return typeof value === "object" && value !== null && HTTP_CONTEXT in value;
101
103
  }
102
104
  function makeHttpContext(entries) {
103
- const ctx = /* @__PURE__ */ new Map();
105
+ const ctx = new Map;
104
106
  switch (true) {
105
107
  case Array.isArray(entries): {
106
108
  for (const [token, value] of entries) {
@@ -150,23 +152,14 @@ function makeHttpContext(entries) {
150
152
  [HTTP_CONTEXT]: ctx
151
153
  };
152
154
  }
155
+ var HTTP_CONTEXT_TOKEN = Symbol("HttpContextToken");
156
+ var HTTP_CONTEXT = Symbol("HttpContext");
153
157
 
154
- const FIELD = Symbol("field");
155
- var FieldType = /* @__PURE__ */ ((FieldType2) => {
156
- FieldType2[FieldType2["Json"] = 0] = "Json";
157
- FieldType2[FieldType2["Query"] = 1] = "Query";
158
- FieldType2[FieldType2["Param"] = 2] = "Param";
159
- FieldType2[FieldType2["Header"] = 3] = "Header";
160
- FieldType2[FieldType2["Form"] = 4] = "Form";
161
- FieldType2[FieldType2["Body"] = 5] = "Body";
162
- FieldType2[FieldType2["UrlForm"] = 6] = "UrlForm";
163
- return FieldType2;
164
- })(FieldType || {});
158
+ // src/field.ts
165
159
  function field(defaultValue) {
166
160
  const meta = {
167
- // todo
168
161
  required: typeof defaultValue !== "undefined",
169
- alias: /* @__PURE__ */ new Map(),
162
+ alias: new Map,
170
163
  validators: [],
171
164
  asyncValidator: []
172
165
  };
@@ -199,7 +192,7 @@ function field(defaultValue) {
199
192
  return getter;
200
193
  };
201
194
  getter.withBody = () => {
202
- meta.alias.set(5 /* Body */, void 0);
195
+ meta.alias.set(5 /* Body */, undefined);
203
196
  return getter;
204
197
  };
205
198
  getter.withValidators = (...fn) => {
@@ -224,24 +217,25 @@ function isField(value) {
224
217
  function isFieldGroup(value) {
225
218
  return !!value && typeof value === "object" && Object.entries(value).every(([, v]) => isField(v));
226
219
  }
220
+ var FIELD = Symbol("field");
227
221
 
228
- let globalHttpHandler = void 0;
229
- const getGlobalHttpHandler = () => globalHttpHandler;
222
+ // src/handler/handler.ts
223
+ var globalHttpHandler = undefined;
224
+ var getGlobalHttpHandler = () => globalHttpHandler;
230
225
 
226
+ // src/interceptor/interceptor.ts
231
227
  function makeInterceptorChain(interceptors) {
232
- return interceptors.reduceRight(
233
- (fn, interceptor) => {
234
- return (initReq, finalHandlerFn) => interceptor(initReq, (req) => fn(req, finalHandlerFn));
235
- },
236
- (req, fn) => fn(req)
237
- );
228
+ return interceptors.reduceRight((fn, interceptor) => {
229
+ return (initReq, finalHandlerFn) => interceptor(initReq, (req) => fn(req, finalHandlerFn));
230
+ }, (req, fn) => fn(req));
238
231
  }
239
232
 
233
+ // src/response.ts
240
234
  function __makeResponse(options) {
241
235
  const status = options?.status ?? 0;
242
236
  const statusText = options?.statusText ?? "";
243
237
  const url = options?.url ?? "";
244
- const headers = options?.headers ?? new Headers();
238
+ const headers = options?.headers ?? new Headers;
245
239
  const body = options?.body ?? null;
246
240
  return {
247
241
  status,
@@ -252,6 +246,7 @@ function __makeResponse(options) {
252
246
  };
253
247
  }
254
248
 
249
+ // src/request.ts
255
250
  function __serializeBody(body) {
256
251
  switch (true) {
257
252
  case body instanceof FormData:
@@ -297,121 +292,124 @@ function __buildFieldDefaultValue(input) {
297
292
  }
298
293
  if (isFieldGroup(input)) {
299
294
  const obj = {};
300
- for (const [key, field] of Object.entries(input)) {
301
- obj[key] = field();
295
+ for (const [key, field3] of Object.entries(input)) {
296
+ obj[key] = field3();
302
297
  }
303
298
  return obj;
304
299
  }
305
- return void 0;
300
+ return;
306
301
  }
307
- function defineRequest(method, endpoint) {
302
+ function defineRequest(...args) {
303
+ let method;
304
+ let endpoint;
308
305
  let requiredInput = false;
309
- let field;
306
+ let field3;
310
307
  let interceptors = [];
311
308
  let responseType = "json";
312
- let context;
313
- let observe = "body";
309
+ let context2;
314
310
  let withCredentials = false;
315
311
  let validators = [];
316
312
  let transformResponse;
317
- const fn = () => {
313
+ switch (args.length) {
314
+ case 1: {
315
+ method = "GET";
316
+ endpoint = args[0];
317
+ break;
318
+ }
319
+ case 2: {
320
+ method = args[0];
321
+ endpoint = args[1];
322
+ break;
323
+ }
324
+ default:
325
+ throw new Error("Invalid arguments");
326
+ }
327
+ const fn = (options) => {
328
+ const timeout = options?.timeout || 0;
329
+ const client2 = options?.client || getGlobalClient();
330
+ const clientOptions = getClientConfig(client2);
331
+ const handler2 = options?.handler || clientOptions?.handler || getGlobalHttpHandler();
332
+ if (!handler2) {
333
+ throw ERR_NOT_FOUND_HANDLER;
334
+ }
318
335
  let uploadProgress;
319
336
  let downloadProgress;
320
- let abortSignal;
321
- const getInitValue = () => __buildFieldDefaultValue(field);
337
+ let abortController;
338
+ const abortSignal = [];
339
+ if (options?.abort) {
340
+ abortSignal.push(options.abort);
341
+ } else {
342
+ abortController = new AbortController;
343
+ abortSignal.push(abortController.signal);
344
+ }
345
+ if (timeout > 0) {
346
+ abortSignal.push(AbortSignal.timeout(timeout));
347
+ }
348
+ const cancel = () => {
349
+ abortController?.abort();
350
+ };
351
+ const getInitValue = () => __buildFieldDefaultValue(field3);
322
352
  const setUploadProgress = (fn2) => {
323
353
  uploadProgress = fn2;
324
354
  };
325
355
  const setDownloadProgress = (fn2) => {
326
356
  downloadProgress = fn2;
327
357
  };
328
- const doRequest = async (...args) => {
358
+ const doRequest = async (...args2) => {
329
359
  let input;
330
- let doRequestOptions;
331
- switch (args.length) {
332
- case 1: {
333
- if (requiredInput) {
334
- input = args[0];
335
- } else {
336
- doRequestOptions = args[0];
337
- }
338
- break;
339
- }
340
- case 2: {
341
- input = args[0];
342
- doRequestOptions = args[1];
343
- break;
344
- }
360
+ if (requiredInput && args2.length === 1) {
361
+ input = args2[0];
345
362
  }
346
363
  if (requiredInput && !input) {
347
- throw new Error(`Because the request has input, the first argument must be the input value`);
364
+ throw new Error(`Because the request has input, the argument must be the input value`);
348
365
  }
349
366
  if (validators.length > 0) {
350
367
  for (const fn2 of validators) {
351
368
  fn2(input);
352
369
  }
353
370
  }
354
- const timeout = doRequestOptions?.timeout || 0;
355
- if (doRequestOptions?.abort) {
356
- abortSignal = doRequestOptions.abort;
357
- } else if (timeout > 0) {
358
- abortSignal = AbortSignal.timeout(timeout);
359
- }
360
- const client = isClient(doRequestOptions?.client) ? doRequestOptions.client : getGlobalClient();
361
- const clientOptions = getClientConfig(client);
362
371
  const req = {
363
372
  host: clientOptions?.host,
364
373
  method,
365
374
  endpoint,
366
- queryParams: new URLSearchParams(),
367
- headers: new Headers(),
368
- body: void 0,
375
+ queryParams: new URLSearchParams,
376
+ headers: new Headers,
377
+ body: undefined,
369
378
  withCredentials,
370
379
  responseType,
371
- context: context || makeHttpContext(),
372
- observe,
380
+ context: context2 || makeHttpContext(),
373
381
  uploadProgress,
374
382
  downloadProgress,
375
383
  timeout,
376
- abort: abortSignal
384
+ abort: AbortSignal.any(abortSignal)
377
385
  };
378
- const handler = doRequestOptions?.handler || clientOptions?.handler || getGlobalHttpHandler();
379
- if (!handler) {
380
- throw ERR_NOT_FOUND_HANDLER;
386
+ if (requiredInput && field3) {
387
+ await __fillRequestFromField(req, field3, input);
381
388
  }
382
- if (requiredInput && field) {
383
- await __fillRequestFromField(req, field, input);
384
- }
385
- const chain = makeInterceptorChain([...interceptors]);
386
- let res = await chain(req, handler);
389
+ const chain = makeInterceptorChain([...clientOptions.interceptors, ...interceptors]);
390
+ let res = await chain(req, handler2);
387
391
  if (typeof transformResponse === "function") {
388
392
  try {
389
393
  res = __makeResponse({
390
394
  ...res,
391
395
  body: transformResponse(res)
392
396
  });
393
- } catch (error) {
394
- throw new HttpErrorResponse({ error });
397
+ } catch (error3) {
398
+ throw new HttpErrorResponse({ error: error3 });
395
399
  }
396
400
  }
397
- switch (req.observe) {
398
- case "body":
399
- return res.body;
400
- case "response":
401
- return res;
402
- default:
403
- throw ERR_OBSERVE;
404
- }
401
+ return res;
405
402
  };
406
403
  return {
407
404
  doRequest,
405
+ cancel,
408
406
  getInitValue,
409
407
  setUploadProgress,
410
408
  setDownloadProgress
411
409
  };
412
410
  };
413
411
  fn.withField = (value) => {
414
- field = value;
412
+ field3 = value;
415
413
  requiredInput = true;
416
414
  return fn;
417
415
  };
@@ -420,7 +418,7 @@ function defineRequest(method, endpoint) {
420
418
  return fn;
421
419
  };
422
420
  fn.withContext = (value) => {
423
- context = value;
421
+ context2 = value;
424
422
  return fn;
425
423
  };
426
424
  fn.withCredentials = (value) => {
@@ -435,10 +433,6 @@ function defineRequest(method, endpoint) {
435
433
  transformResponse = value;
436
434
  return fn;
437
435
  };
438
- fn.withObserve = (value) => {
439
- observe = value;
440
- return fn;
441
- };
442
436
  fn.withResponseType = (value) => {
443
437
  responseType = value;
444
438
  return fn;
@@ -501,49 +495,49 @@ async function __fillRequestFromField(request, fieldOrFieldGroup, input) {
501
495
  let params;
502
496
  let queryParams;
503
497
  let headers;
504
- let body = void 0;
498
+ let body = undefined;
505
499
  const validValue = getValidValue(input, fieldOrFieldGroup());
506
500
  const meta = __getFieldMetadata(fieldOrFieldGroup);
507
501
  await doValid([...meta.validators, ...meta.asyncValidator], validValue);
508
502
  for (const [type, aliasName] of meta.alias) {
509
503
  switch (type) {
510
- case FieldType.Query: {
504
+ case 1 /* Query */: {
511
505
  if (!aliasName) {
512
506
  throw ERR_NOT_SET_ALIAS;
513
507
  }
514
- queryParams = appendValue(new URLSearchParams(), aliasName, validValue);
508
+ queryParams = appendValue(new URLSearchParams, aliasName, validValue);
515
509
  break;
516
510
  }
517
- case FieldType.Param: {
511
+ case 2 /* Param */: {
518
512
  if (!aliasName) {
519
513
  throw ERR_NOT_SET_ALIAS;
520
514
  }
521
- params = setValue(/* @__PURE__ */ new Map(), aliasName, validValue);
515
+ params = setValue(new Map, aliasName, validValue);
522
516
  break;
523
517
  }
524
- case FieldType.Header: {
518
+ case 3 /* Header */: {
525
519
  if (!aliasName) {
526
520
  throw ERR_NOT_SET_ALIAS;
527
521
  }
528
- headers = appendValue(new Headers(), aliasName, validValue);
522
+ headers = appendValue(new Headers, aliasName, validValue);
529
523
  break;
530
524
  }
531
- case FieldType.Form: {
525
+ case 4 /* Form */: {
532
526
  if (!aliasName) {
533
527
  throw ERR_NOT_SET_ALIAS;
534
528
  }
535
- body = appendValue(new FormData(), aliasName, validValue);
529
+ body = appendValue(new FormData, aliasName, validValue);
536
530
  break;
537
531
  }
538
- case FieldType.UrlForm: {
532
+ case 6 /* UrlForm */: {
539
533
  if (!aliasName) {
540
534
  throw ERR_NOT_SET_ALIAS;
541
535
  }
542
- body = appendValue(new URLSearchParams(), aliasName, validValue);
536
+ body = appendValue(new URLSearchParams, aliasName, validValue);
543
537
  break;
544
538
  }
545
- case FieldType.Json:
546
- case FieldType.Body:
539
+ case 0 /* Json */:
540
+ case 5 /* Body */:
547
541
  body = validValue;
548
542
  break;
549
543
  }
@@ -557,52 +551,52 @@ async function __fillRequestFromField(request, fieldOrFieldGroup, input) {
557
551
  return;
558
552
  }
559
553
  if (isFieldGroup(fieldOrFieldGroup) && inputIsObject(input)) {
560
- let params = /* @__PURE__ */ new Map();
561
- let queryParams = new URLSearchParams();
562
- let headers = new Headers();
563
- let urlForm = new URLSearchParams();
564
- let formData = new FormData();
554
+ let params = new Map;
555
+ let queryParams = new URLSearchParams;
556
+ let headers = new Headers;
557
+ let urlForm = new URLSearchParams;
558
+ let formData = new FormData;
565
559
  const json = {};
566
- let body = void 0;
560
+ let body = undefined;
567
561
  let lastBodyField;
568
- for (const [propertyKey, field] of Object.entries(fieldOrFieldGroup)) {
569
- const meta = __getFieldMetadata(field);
562
+ for (const [propertyKey, field3] of Object.entries(fieldOrFieldGroup)) {
563
+ const meta = __getFieldMetadata(field3);
570
564
  for (const [type, aliasName] of meta.alias) {
571
565
  const valueKey = aliasName || propertyKey;
572
- const value = getValidValue(input[propertyKey], field());
566
+ const value = getValidValue(input[propertyKey], field3());
573
567
  await doValid([...meta.validators, ...meta.asyncValidator], value);
574
568
  switch (type) {
575
- case FieldType.Json: {
569
+ case 0 /* Json */: {
576
570
  Object.defineProperty(json, valueKey, {
577
571
  value,
578
572
  writable: true,
579
573
  enumerable: true
580
574
  });
581
- lastBodyField = FieldType.Json;
575
+ lastBodyField = 0 /* Json */;
582
576
  break;
583
577
  }
584
- case FieldType.Query:
578
+ case 1 /* Query */:
585
579
  queryParams = appendValue(queryParams, valueKey, value);
586
580
  break;
587
- case FieldType.Param:
581
+ case 2 /* Param */:
588
582
  params = setValue(params, valueKey, value);
589
583
  break;
590
- case FieldType.Header:
584
+ case 3 /* Header */:
591
585
  headers = appendValue(headers, valueKey, value);
592
586
  break;
593
- case FieldType.Form: {
587
+ case 4 /* Form */: {
594
588
  formData = appendValue(formData, valueKey, value);
595
- lastBodyField = FieldType.Form;
589
+ lastBodyField = 4 /* Form */;
596
590
  break;
597
591
  }
598
- case FieldType.UrlForm: {
592
+ case 6 /* UrlForm */: {
599
593
  urlForm = appendValue(urlForm, valueKey, value);
600
- lastBodyField = FieldType.UrlForm;
594
+ lastBodyField = 6 /* UrlForm */;
601
595
  break;
602
596
  }
603
- case FieldType.Body: {
597
+ case 5 /* Body */: {
604
598
  body = value;
605
- lastBodyField = FieldType.Body;
599
+ lastBodyField = 5 /* Body */;
606
600
  break;
607
601
  }
608
602
  }
@@ -612,16 +606,16 @@ async function __fillRequestFromField(request, fieldOrFieldGroup, input) {
612
606
  request.queryParams = queryParams;
613
607
  request.headers = headers;
614
608
  switch (lastBodyField) {
615
- case FieldType.Body:
609
+ case 5 /* Body */:
616
610
  request.body = body;
617
611
  break;
618
- case FieldType.Form:
612
+ case 4 /* Form */:
619
613
  request.body = formData;
620
614
  break;
621
- case FieldType.UrlForm:
615
+ case 6 /* UrlForm */:
622
616
  request.body = urlForm;
623
617
  break;
624
- case FieldType.Json:
618
+ case 0 /* Json */:
625
619
  request.body = json;
626
620
  break;
627
621
  }
@@ -630,14 +624,15 @@ async function __fillRequestFromField(request, fieldOrFieldGroup, input) {
630
624
  throw ERR_UNSUPPORTED_FIELD_TYPE;
631
625
  }
632
626
 
633
- function __createRequest(request) {
634
- const url = new URL(request.endpoint, request.host);
635
- if (request.queryParams) {
636
- url.search = request.queryParams.toString();
627
+ // src/handler/fetch/fetch.ts
628
+ function __createRequest(request2) {
629
+ const url = new URL(request2.endpoint, request2.host);
630
+ if (request2.queryParams) {
631
+ url.search = request2.queryParams.toString();
637
632
  }
638
- const headers = request.headers ?? new Headers();
633
+ const headers = request2.headers ?? new Headers;
639
634
  if (!headers.has("Content-Type")) {
640
- const detectedType = __detectContentTypeHeader(request.body);
635
+ const detectedType = __detectContentTypeHeader(request2.body);
641
636
  if (detectedType) {
642
637
  headers.set("Content-Type", detectedType);
643
638
  }
@@ -645,23 +640,23 @@ function __createRequest(request) {
645
640
  if (!headers.has("Accept")) {
646
641
  headers.set("Accept", "application/json, text/plain, */*");
647
642
  }
648
- const credentials = request.withCredentials ? "include" : void 0;
643
+ const credentials = request2.withCredentials ? "include" : undefined;
649
644
  return new Request(url, {
650
645
  headers,
651
- method: request.method,
652
- body: __serializeBody(request.body),
653
- signal: request.abort,
646
+ method: request2.method,
647
+ body: __serializeBody(request2.body),
648
+ signal: request2.abort,
654
649
  credentials
655
650
  });
656
651
  }
657
652
  async function fetchHandler(httpRequest) {
658
653
  const downloadProgress = httpRequest.downloadProgress;
659
- const request = __createRequest(httpRequest);
654
+ const request2 = __createRequest(httpRequest);
660
655
  const abortSignal = httpRequest.abort;
661
- let response;
656
+ let response3;
662
657
  try {
663
- response = await globalThis.fetch(request);
664
- } catch (error) {
658
+ response3 = await globalThis.fetch(request2);
659
+ } catch (error4) {
665
660
  if (abortSignal?.aborted && abortSignal.reason instanceof Error) {
666
661
  switch (true) {
667
662
  case abortSignal.reason.name === "AbortError":
@@ -670,15 +665,15 @@ async function fetchHandler(httpRequest) {
670
665
  throw new HttpErrorResponse({ error: ERR_TIMEOUT });
671
666
  }
672
667
  }
673
- throw new HttpErrorResponse({ error });
668
+ throw new HttpErrorResponse({ error: error4 });
674
669
  }
675
- const { ok, headers, status, statusText, url } = response;
670
+ const { ok, headers, status, statusText, url } = response3;
676
671
  const contentLength = __getContentLength(headers);
677
672
  const contentType = __getContentType(headers);
678
673
  let body = null;
679
- if (response.body) {
674
+ if (response3.body) {
680
675
  const chunks = [];
681
- const reader = response.body.getReader();
676
+ const reader = response3.body.getReader();
682
677
  let receivedLength = 0;
683
678
  while (true) {
684
679
  const { done, value } = await reader.read();
@@ -700,9 +695,9 @@ async function fetchHandler(httpRequest) {
700
695
  content: chunksAll,
701
696
  contentType
702
697
  });
703
- } catch (error) {
698
+ } catch (error4) {
704
699
  throw new HttpErrorResponse({
705
- error,
700
+ error: error4,
706
701
  status,
707
702
  statusText,
708
703
  headers,
@@ -727,22 +722,19 @@ async function fetchHandler(httpRequest) {
727
722
  body
728
723
  });
729
724
  }
730
-
731
- const CLIENT = Symbol("Client");
732
- let globalClient;
725
+ // src/client.ts
733
726
  function isClient(value) {
734
727
  return typeof value === "object" && value !== null && CLIENT in value;
735
728
  }
736
- function getClientConfig(client) {
737
- if (!isClient(client)) {
729
+ function getClientConfig(client2) {
730
+ if (!isClient(client2)) {
738
731
  throw ERR_INVALID_CLIENT;
739
732
  }
740
- return client[CLIENT];
733
+ return client2[CLIENT];
741
734
  }
742
735
  function createClient(options) {
743
736
  const conf = {
744
737
  host: options.host,
745
- strict: options.strict ?? true,
746
738
  interceptors: options.interceptors ?? [],
747
739
  handler: options.handler || fetchHandler
748
740
  };
@@ -750,8 +742,8 @@ function createClient(options) {
750
742
  [CLIENT]: conf
751
743
  };
752
744
  }
753
- function cloneClient(client, options) {
754
- const preConf = getClientConfig(client);
745
+ function cloneClient(client2, options) {
746
+ const preConf = getClientConfig(client2);
755
747
  const conf = {
756
748
  ...preConf,
757
749
  ...options
@@ -766,16 +758,18 @@ function getGlobalClient() {
766
758
  }
767
759
  return globalClient;
768
760
  }
769
- function setGlobalClient(client) {
770
- globalClient = client;
761
+ function setGlobalClient(client2) {
762
+ globalClient = client2;
771
763
  }
772
764
  function restGlobalClient() {
773
- globalClient = void 0;
765
+ globalClient = undefined;
774
766
  }
775
767
  function createGlobalClient(options) {
776
768
  globalClient = createClient(options);
777
769
  }
778
-
770
+ var CLIENT = Symbol("Client");
771
+ var globalClient;
772
+ // src/interceptor/authorization/basic_auth_interceptor.ts
779
773
  function basicAuthInterceptor(fn, options) {
780
774
  let encode = options?.encode;
781
775
  if (!encode) {
@@ -786,48 +780,48 @@ function basicAuthInterceptor(fn, options) {
786
780
  encode = (data) => btoa(`${data.username}:${data.password}`);
787
781
  }
788
782
  return (req, next) => {
789
- const headers = req.headers || new Headers();
783
+ const headers = req.headers || new Headers;
790
784
  headers.set("Authorization", `Basic ${encode(fn())}`);
791
785
  req.headers = headers;
792
786
  return next(req);
793
787
  };
794
788
  }
795
-
796
- const required = (value) => {
789
+ // src/validator.ts
790
+ var required = (value) => {
797
791
  if (!value) {
798
792
  return new Error("required");
799
793
  }
800
794
  return null;
801
795
  };
802
- const requiredTrue = (value) => {
796
+ var requiredTrue = (value) => {
803
797
  if (typeof value !== "boolean" || !value) {
804
798
  return new Error("requiredTrue");
805
799
  }
806
800
  return null;
807
801
  };
808
- const minLength = (min2) => {
802
+ var minLength = (min) => {
809
803
  return (value) => {
810
804
  if (typeof value !== "string") {
811
805
  return new Error("invalid string");
812
806
  }
813
- if (value.length < min2) {
814
- return new Error(`minLength ${min2}`);
807
+ if (value.length < min) {
808
+ return new Error(`minLength ${min}`);
815
809
  }
816
810
  return null;
817
811
  };
818
812
  };
819
- const maxLength = (max2) => {
813
+ var maxLength = (max) => {
820
814
  return (value) => {
821
815
  if (typeof value !== "string") {
822
816
  return new Error("invalid string");
823
817
  }
824
- if (value.length > max2) {
825
- return new Error(`maxLength ${max2}`);
818
+ if (value.length > max) {
819
+ return new Error(`maxLength ${max}`);
826
820
  }
827
821
  return null;
828
822
  };
829
823
  };
830
- const min = (min2) => {
824
+ var min = (min2) => {
831
825
  return (value) => {
832
826
  if (typeof value !== "number" || isNaN(value)) {
833
827
  return new Error("invalid number");
@@ -838,7 +832,7 @@ const min = (min2) => {
838
832
  return null;
839
833
  };
840
834
  };
841
- const max = (max2) => {
835
+ var max = (max2) => {
842
836
  return (value) => {
843
837
  if (typeof value !== "number" || isNaN(value)) {
844
838
  return new Error("invalid number");
@@ -849,7 +843,7 @@ const max = (max2) => {
849
843
  return null;
850
844
  };
851
845
  };
852
- const pattern = (pattern2) => {
846
+ var pattern = (pattern2) => {
853
847
  return (value) => {
854
848
  if (typeof value !== "string") {
855
849
  return new Error("invalid string");
@@ -860,5 +854,41 @@ const pattern = (pattern2) => {
860
854
  return null;
861
855
  };
862
856
  };
863
-
864
- export { ERR_ABORTED, ERR_INVALID_CLIENT, ERR_INVALID_HTTP_CONTEXT_TOKEN, ERR_NETWORK, ERR_NOT_FOUND_GLOBAL_CLIENT, ERR_NOT_FOUND_HANDLER, ERR_NOT_SET_ALIAS, ERR_OBSERVE, ERR_TIMEOUT, ERR_UNKNOWN, ERR_UNSUPPORTED_FIELD_TYPE, HttpErrorResponse, basicAuthInterceptor, cloneClient, createClient, createGlobalClient, defineRequest, doValid, fetchHandler, field, getGlobalClient, isClient, isField, isFieldGroup, isHttpContextToken, makeHttpContext, makeHttpContextToken, max, maxLength, min, minLength, pattern, required, requiredTrue, restGlobalClient, setGlobalClient };
857
+ export {
858
+ setGlobalClient,
859
+ restGlobalClient,
860
+ requiredTrue,
861
+ required,
862
+ pattern,
863
+ minLength,
864
+ min,
865
+ maxLength,
866
+ max,
867
+ makeHttpContextToken,
868
+ makeHttpContext,
869
+ isHttpContextToken,
870
+ isFieldGroup,
871
+ isField,
872
+ isClient,
873
+ getGlobalClient,
874
+ field,
875
+ fetchHandler,
876
+ doValid,
877
+ defineRequest,
878
+ createGlobalClient,
879
+ createClient,
880
+ cloneClient,
881
+ basicAuthInterceptor,
882
+ HttpErrorResponse,
883
+ ERR_UNSUPPORTED_FIELD_TYPE,
884
+ ERR_UNKNOWN,
885
+ ERR_TIMEOUT,
886
+ ERR_OBSERVE,
887
+ ERR_NOT_SET_ALIAS,
888
+ ERR_NOT_FOUND_HANDLER,
889
+ ERR_NOT_FOUND_GLOBAL_CLIENT,
890
+ ERR_NETWORK,
891
+ ERR_INVALID_HTTP_CONTEXT_TOKEN,
892
+ ERR_INVALID_CLIENT,
893
+ ERR_ABORTED
894
+ };