@outfoxx/sunday 2.0.0-beta.2 → 2.0.0-beta.21

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 (141) hide show
  1. package/README.md +346 -4
  2. package/build/authentication-adapter.d.ts +21 -0
  3. package/build/authentication-adapter.js +74 -0
  4. package/build/authentication-adapter.js.map +1 -0
  5. package/build/bearer-token-rejection-adapter.d.ts +6 -0
  6. package/build/bearer-token-rejection-adapter.js +25 -0
  7. package/build/bearer-token-rejection-adapter.js.map +1 -0
  8. package/build/client-settings.d.ts +22 -0
  9. package/build/client-settings.js +180 -0
  10. package/build/client-settings.js.map +1 -0
  11. package/build/credentials.d.ts +58 -0
  12. package/build/credentials.js +51 -0
  13. package/build/credentials.js.map +1 -0
  14. package/build/event-parser.d.ts +23 -8
  15. package/build/event-parser.js +93 -121
  16. package/build/event-parser.js.map +1 -1
  17. package/build/fetch-copy.d.ts +15 -0
  18. package/build/fetch-copy.js +71 -0
  19. package/build/fetch-copy.js.map +1 -0
  20. package/build/fetch-event-source.d.ts +18 -8
  21. package/build/fetch-event-source.js +241 -144
  22. package/build/fetch-event-source.js.map +1 -1
  23. package/build/fetch-oauth-token-provider.d.ts +28 -0
  24. package/build/fetch-oauth-token-provider.js +213 -0
  25. package/build/fetch-oauth-token-provider.js.map +1 -0
  26. package/build/fetch-transport.d.ts +15 -1
  27. package/build/fetch-transport.js +142 -132
  28. package/build/fetch-transport.js.map +1 -1
  29. package/build/fetch.js +24 -10
  30. package/build/fetch.js.map +1 -1
  31. package/build/header-token-adapters.d.ts +28 -0
  32. package/build/header-token-adapters.js +121 -0
  33. package/build/header-token-adapters.js.map +1 -0
  34. package/build/index.d.ts +23 -1
  35. package/build/index.js +22 -1
  36. package/build/index.js.map +1 -1
  37. package/build/media-type-codecs/binary-decoder.d.ts +1 -0
  38. package/build/media-type-codecs/binary-decoder.js +4 -11
  39. package/build/media-type-codecs/binary-decoder.js.map +1 -1
  40. package/build/media-type-codecs/cbor-encoder.d.ts +2 -2
  41. package/build/media-type-codecs/cbor-encoder.js +2 -2
  42. package/build/media-type-codecs/cbor-encoder.js.map +1 -1
  43. package/build/media-type-codecs/json-encoder.d.ts +3 -3
  44. package/build/media-type-codecs/json-encoder.js +4 -4
  45. package/build/media-type-codecs/json-encoder.js.map +1 -1
  46. package/build/media-type-codecs/media-type-encoder.d.ts +3 -3
  47. package/build/media-type-codecs/media-type-encoder.js.map +1 -1
  48. package/build/media-type-codecs/www-form-url-encoder.d.ts +2 -2
  49. package/build/media-type-codecs/www-form-url-encoder.js +2 -2
  50. package/build/media-type-codecs/www-form-url-encoder.js.map +1 -1
  51. package/build/model-construction.d.ts +5 -0
  52. package/build/model-construction.js +40 -0
  53. package/build/model-construction.js.map +1 -0
  54. package/build/model-schema.d.ts +9 -0
  55. package/build/model-schema.js +131 -0
  56. package/build/model-schema.js.map +1 -0
  57. package/build/oauth-wire.d.ts +33 -0
  58. package/build/oauth-wire.js +143 -0
  59. package/build/oauth-wire.js.map +1 -0
  60. package/build/operation.d.ts +3 -1
  61. package/build/problem.d.ts +39 -16
  62. package/build/problem.js +88 -32
  63. package/build/problem.js.map +1 -1
  64. package/build/request-adapter.d.ts +8 -0
  65. package/build/request-adapter.js +15 -0
  66. package/build/request-adapter.js.map +1 -0
  67. package/build/request-adapters-compat.d.ts +6 -0
  68. package/build/request-adapters-compat.js +19 -0
  69. package/build/request-adapters-compat.js.map +1 -0
  70. package/build/request-adapters.d.ts +13 -23
  71. package/build/request-adapters.js +40 -31
  72. package/build/request-adapters.js.map +1 -1
  73. package/build/request-body.d.ts +24 -0
  74. package/build/request-body.js +104 -0
  75. package/build/request-body.js.map +1 -0
  76. package/build/request-cancellation-error.d.ts +13 -0
  77. package/build/request-cancellation-error.js +43 -0
  78. package/build/request-cancellation-error.js.map +1 -0
  79. package/build/request-context.d.ts +4 -0
  80. package/build/request-context.js +29 -0
  81. package/build/request-context.js.map +1 -0
  82. package/build/request-execution.d.ts +13 -0
  83. package/build/request-execution.js +80 -0
  84. package/build/request-execution.js.map +1 -0
  85. package/build/request-security-bindings.d.ts +5 -0
  86. package/build/request-security-bindings.js +30 -0
  87. package/build/request-security-bindings.js.map +1 -0
  88. package/build/request-security.d.ts +20 -0
  89. package/build/request-security.js +223 -0
  90. package/build/request-security.js.map +1 -0
  91. package/build/request-validation-error.d.ts +4 -0
  92. package/build/request-validation-error.js +21 -0
  93. package/build/request-validation-error.js.map +1 -0
  94. package/build/response-adapter.d.ts +10 -0
  95. package/build/response-adapter.js +15 -0
  96. package/build/response-adapter.js.map +1 -0
  97. package/build/response-adapters.d.ts +13 -0
  98. package/build/response-adapters.js +75 -0
  99. package/build/response-adapters.js.map +1 -0
  100. package/build/schema-builtins.js +11 -21
  101. package/build/schema-builtins.js.map +1 -1
  102. package/build/schema-runtime.d.ts +8 -1
  103. package/build/schema-runtime.js +12 -3
  104. package/build/schema-runtime.js.map +1 -1
  105. package/build/security-binding.d.ts +22 -0
  106. package/build/security-binding.js +15 -0
  107. package/build/security-binding.js.map +1 -0
  108. package/build/standard-authentication-adapter.d.ts +18 -0
  109. package/build/standard-authentication-adapter.js +58 -0
  110. package/build/standard-authentication-adapter.js.map +1 -0
  111. package/build/token-manager.d.ts +42 -0
  112. package/build/token-manager.js +276 -0
  113. package/build/token-manager.js.map +1 -0
  114. package/build/token-provider.d.ts +52 -0
  115. package/build/token-provider.js +102 -0
  116. package/build/token-provider.js.map +1 -0
  117. package/build/transport.d.ts +10 -3
  118. package/build/unknown-variant.d.ts +12 -0
  119. package/build/unknown-variant.js +45 -0
  120. package/build/unknown-variant.js.map +1 -0
  121. package/build/url-template.d.ts +3 -0
  122. package/build/url-template.js +30 -2
  123. package/build/url-template.js.map +1 -1
  124. package/build/util/abort.d.ts +3 -0
  125. package/build/util/abort.js +42 -0
  126. package/build/util/abort.js.map +1 -0
  127. package/build/util/base64.d.ts +4 -0
  128. package/build/util/base64.js +46 -0
  129. package/build/util/base64.js.map +1 -0
  130. package/build/util/native-fetch.d.ts +2 -0
  131. package/build/util/native-fetch.js +39 -0
  132. package/build/util/native-fetch.js.map +1 -0
  133. package/build/util/nullify.js +12 -5
  134. package/build/util/nullify.js.map +1 -1
  135. package/build/util/owned-body.d.ts +12 -0
  136. package/build/util/owned-body.js +243 -0
  137. package/build/util/owned-body.js.map +1 -0
  138. package/build/util/status-title.d.ts +2 -0
  139. package/build/util/status-title.js +83 -0
  140. package/build/util/status-title.js.map +1 -0
  141. package/package.json +18 -6
@@ -0,0 +1,71 @@
1
+ // Copyright 2020 Outfox, Inc.
2
+ //
3
+ // Licensed under the Apache License, Version 2.0 (the "License");
4
+ // you may not use this file except in compliance with the License.
5
+ // You may obtain a copy of the License at
6
+ //
7
+ // http://www.apache.org/licenses/LICENSE-2.0
8
+ //
9
+ // Unless required by applicable law or agreed to in writing, software
10
+ // distributed under the License is distributed on an "AS IS" BASIS,
11
+ // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ // See the License for the specific language governing permissions and
13
+ // limitations under the License.
14
+ import { inheritRequestContext } from './request-context.js';
15
+ import { inheritBody } from './util/owned-body.js';
16
+ /**
17
+ * Copies native Fetch request settings and transfers responsibility for its body. The old request
18
+ * must not subsequently consume the body. Supply a replacement after consuming a body.
19
+ */
20
+ export function copyRequest(request, changes = {}) {
21
+ const { url = request.url, ...init } = changes;
22
+ const sameURL = String(url) === request.url;
23
+ // Native Request copies inherit the input body for null as well as undefined. Bun may
24
+ // instead return a bodyless request; inheritBody only records a transfer when a body exists.
25
+ const originalBody = request.body;
26
+ const body = init.body === undefined || (sameURL && init.body === null)
27
+ ? originalBody
28
+ : init.body;
29
+ const result = sameURL
30
+ ? new Request(request, init)
31
+ : new Request(url, {
32
+ method: request.method,
33
+ headers: request.headers,
34
+ signal: request.signal,
35
+ cache: request.cache,
36
+ credentials: request.credentials,
37
+ integrity: request.integrity,
38
+ keepalive: request.keepalive,
39
+ mode: request.mode,
40
+ redirect: request.redirect,
41
+ referrer: request.referrer,
42
+ referrerPolicy: request.referrerPolicy,
43
+ ...(request.body ? { duplex: 'half' } : {}),
44
+ ...init,
45
+ body,
46
+ });
47
+ inheritBody(body instanceof ReadableStream ? body : undefined, result, body === originalBody ? request.body : undefined);
48
+ return inheritRequestContext(request, result);
49
+ }
50
+ /**
51
+ * Copies an inspectable response without teeing its body, retaining Fetch metadata.
52
+ * Opaque/error responses cannot be reconstructed with the platform Response constructor.
53
+ */
54
+ export function copyResponse(response, changes = {}) {
55
+ const { body = response.body, ...init } = changes;
56
+ const result = new Response(body, {
57
+ status: response.status,
58
+ statusText: response.statusText,
59
+ headers: response.headers,
60
+ ...init,
61
+ });
62
+ for (const name of ['url', 'redirected', 'type']) {
63
+ Object.defineProperty(result, name, {
64
+ value: response[name],
65
+ configurable: true,
66
+ });
67
+ }
68
+ inheritBody(body instanceof ReadableStream ? body : undefined, result);
69
+ return result;
70
+ }
71
+ //# sourceMappingURL=fetch-copy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fetch-copy.js","sourceRoot":"","sources":["../src/fetch-copy.ts"],"names":[],"mappings":"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"}
@@ -6,9 +6,11 @@ export interface FetchEventSource {
6
6
  }
7
7
  export declare class FetchEventSource extends EventTarget implements ExtEventSource {
8
8
  private static readonly LAST_EVENT_ID_HEADER;
9
- private static readonly MAX_RETRY_TIME_MULTIPLIER;
10
- private static readonly RETRY_EXPONENT;
11
- private static readonly EVENT_TIMEOUT_DEFAULT;
9
+ private static readonly RETRY_TIME_DEFAULT;
10
+ private static readonly MAX_TIMER_DELAY;
11
+ private static readonly RETRY_MAX_MULTIPLIER_DEFAULT;
12
+ private static readonly KEEPALIVE_TIMEOUT_MULTIPLIER;
13
+ private static readonly KEEPALIVE_TIMEOUT_MINIMUM;
12
14
  private static readonly EVENT_TIMEOUT_CHECK_INTERVAL_DEFAULT;
13
15
  readonly CONNECTING = 0;
14
16
  readonly OPEN = 1;
@@ -21,25 +23,28 @@ export declare class FetchEventSource extends EventTarget implements ExtEventSou
21
23
  onopen: ((this: EventSource, ev: Event) => unknown) | null;
22
24
  get retryTime(): number;
23
25
  private readonly adapter;
26
+ private readonly fetchRequest;
24
27
  private readonly signal?;
25
28
  private connectionAbortController?;
26
29
  private connectionReader?;
27
30
  private externalAbortSignal?;
28
31
  private externalAbortHandler?;
29
32
  private internalRetryTime;
33
+ private internalRetryMax?;
30
34
  private retryAttempt;
31
- private connectionAttemptTime;
32
35
  private connectionOrigin?;
33
36
  private reconnectTimeoutHandle?;
34
37
  private lastEventId?;
35
38
  private readonly logger?;
36
- private readonly eventTimeout?;
39
+ private eventTimeout?;
40
+ private readonly eventTimeoutConfigured;
37
41
  private readonly eventTimeoutCheckInterval;
38
42
  private eventTimeoutCheckHandle?;
39
43
  private lastEventReceivedTime;
40
- private readonly eventParser;
41
44
  constructor(url: string, eventSourceInit?: EventSourceInit & {
42
45
  adapter?: (url: string, requestInit: RequestInit) => Promise<Request>;
46
+ /** Executes one connection through the application adapters. */
47
+ fetch?: (request: Request, signal: AbortSignal, observeSignal: (signal: AbortSignal) => void) => Promise<Response>;
43
48
  signal?: AbortSignal;
44
49
  eventTimeout?: number;
45
50
  eventTimeoutCheckInterval?: number;
@@ -47,20 +52,25 @@ export declare class FetchEventSource extends EventTarget implements ExtEventSou
47
52
  });
48
53
  connect(): void;
49
54
  private internalConnect;
50
- close(): void;
55
+ /** Stops the subscription, forwarding an optional failure to the request and body producer. */
56
+ close(reason?: unknown): void;
51
57
  private internalClose;
52
58
  private updateLastEventReceived;
53
59
  private startEventTimeoutCheck;
54
60
  private stopEventTimeoutCheck;
55
61
  private checkEventTimeout;
56
62
  private receivedHeaders;
57
- private receivedData;
58
63
  private receivedError;
64
+ private receivedFatalError;
59
65
  private receivedComplete;
60
66
  private scheduleReconnect;
61
67
  private static calculateRetryTime;
62
68
  private clearReconnect;
69
+ private readonly receiveControls;
63
70
  private readonly dispatchParsedEvent;
64
71
  fireErrorEvent(error: unknown): void;
72
+ private notify;
65
73
  private abortConnection;
74
+ private startExternalAbortListener;
75
+ private stopExternalAbortListener;
66
76
  }