@gcmdev/faxios 0.1.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 (144) hide show
  1. package/LICENSE +7 -0
  2. package/README.md +1817 -0
  3. package/dist/index.d.ts +21 -0
  4. package/dist/index.js +25 -0
  5. package/dist/index.js.map +1 -0
  6. package/dist/lib/adapters/fetch-helpers.d.ts +16 -0
  7. package/dist/lib/adapters/fetch-helpers.js +91 -0
  8. package/dist/lib/adapters/fetch-helpers.js.map +1 -0
  9. package/dist/lib/adapters/fetch.d.ts +3 -0
  10. package/dist/lib/adapters/fetch.js +417 -0
  11. package/dist/lib/adapters/fetch.js.map +1 -0
  12. package/dist/lib/cancel/CanceledError.d.ts +15 -0
  13. package/dist/lib/cancel/CanceledError.js +20 -0
  14. package/dist/lib/cancel/CanceledError.js.map +1 -0
  15. package/dist/lib/cancel/isCancel.d.ts +1 -0
  16. package/dist/lib/cancel/isCancel.js +5 -0
  17. package/dist/lib/cancel/isCancel.js.map +1 -0
  18. package/dist/lib/core/Faxios.d.ts +68 -0
  19. package/dist/lib/core/Faxios.js +269 -0
  20. package/dist/lib/core/Faxios.js.map +1 -0
  21. package/dist/lib/core/FaxiosError.d.ts +71 -0
  22. package/dist/lib/core/FaxiosError.js +192 -0
  23. package/dist/lib/core/FaxiosError.js.map +1 -0
  24. package/dist/lib/core/FaxiosHeaders.d.ts +45 -0
  25. package/dist/lib/core/FaxiosHeaders.js +299 -0
  26. package/dist/lib/core/FaxiosHeaders.js.map +1 -0
  27. package/dist/lib/core/InterceptorManager.d.ts +9 -0
  28. package/dist/lib/core/InterceptorManager.js +28 -0
  29. package/dist/lib/core/InterceptorManager.js.map +1 -0
  30. package/dist/lib/core/buildFullPath.d.ts +11 -0
  31. package/dist/lib/core/buildFullPath.js +41 -0
  32. package/dist/lib/core/buildFullPath.js.map +1 -0
  33. package/dist/lib/core/define.d.ts +28 -0
  34. package/dist/lib/core/define.js +35 -0
  35. package/dist/lib/core/define.js.map +1 -0
  36. package/dist/lib/core/dispatchRequest.d.ts +2 -0
  37. package/dist/lib/core/dispatchRequest.js +127 -0
  38. package/dist/lib/core/dispatchRequest.js.map +1 -0
  39. package/dist/lib/core/mergeConfig.d.ts +11 -0
  40. package/dist/lib/core/mergeConfig.js +152 -0
  41. package/dist/lib/core/mergeConfig.js.map +1 -0
  42. package/dist/lib/core/prepareRequest.d.ts +3 -0
  43. package/dist/lib/core/prepareRequest.js +112 -0
  44. package/dist/lib/core/prepareRequest.js.map +1 -0
  45. package/dist/lib/core/route.d.ts +14 -0
  46. package/dist/lib/core/route.js +24 -0
  47. package/dist/lib/core/route.js.map +1 -0
  48. package/dist/lib/core/settle.d.ts +2 -0
  49. package/dist/lib/core/settle.js +12 -0
  50. package/dist/lib/core/settle.js.map +1 -0
  51. package/dist/lib/core/transformData.d.ts +8 -0
  52. package/dist/lib/core/transformData.js +16 -0
  53. package/dist/lib/core/transformData.js.map +1 -0
  54. package/dist/lib/core/validateSchema.d.ts +6 -0
  55. package/dist/lib/core/validateSchema.js +32 -0
  56. package/dist/lib/core/validateSchema.js.map +1 -0
  57. package/dist/lib/defaults/index.d.ts +3 -0
  58. package/dist/lib/defaults/index.js +150 -0
  59. package/dist/lib/defaults/index.js.map +1 -0
  60. package/dist/lib/defaults/transitional.d.ts +9 -0
  61. package/dist/lib/defaults/transitional.js +10 -0
  62. package/dist/lib/defaults/transitional.js.map +1 -0
  63. package/dist/lib/env/data.d.ts +1 -0
  64. package/dist/lib/env/data.js +2 -0
  65. package/dist/lib/env/data.js.map +1 -0
  66. package/dist/lib/faxios.d.ts +99 -0
  67. package/dist/lib/faxios.js +68 -0
  68. package/dist/lib/faxios.js.map +1 -0
  69. package/dist/lib/helpers/FaxiosURLSearchParams.d.ts +7 -0
  70. package/dist/lib/helpers/FaxiosURLSearchParams.js +44 -0
  71. package/dist/lib/helpers/FaxiosURLSearchParams.js.map +1 -0
  72. package/dist/lib/helpers/HttpStatusCode.d.ts +72 -0
  73. package/dist/lib/helpers/HttpStatusCode.js +76 -0
  74. package/dist/lib/helpers/HttpStatusCode.js.map +1 -0
  75. package/dist/lib/helpers/buildURL.d.ts +19 -0
  76. package/dist/lib/helpers/buildURL.js +60 -0
  77. package/dist/lib/helpers/buildURL.js.map +1 -0
  78. package/dist/lib/helpers/combineURLs.d.ts +1 -0
  79. package/dist/lib/helpers/combineURLs.js +14 -0
  80. package/dist/lib/helpers/combineURLs.js.map +1 -0
  81. package/dist/lib/helpers/composeSignals.d.ts +8 -0
  82. package/dist/lib/helpers/composeSignals.js +48 -0
  83. package/dist/lib/helpers/composeSignals.js.map +1 -0
  84. package/dist/lib/helpers/cookies.d.ts +6 -0
  85. package/dist/lib/helpers/cookies.js +58 -0
  86. package/dist/lib/helpers/cookies.js.map +1 -0
  87. package/dist/lib/helpers/estimateDataURLDecodedBytes.d.ts +1 -0
  88. package/dist/lib/helpers/estimateDataURLDecodedBytes.js +91 -0
  89. package/dist/lib/helpers/estimateDataURLDecodedBytes.js.map +1 -0
  90. package/dist/lib/helpers/formDataToJSON.d.ts +9 -0
  91. package/dist/lib/helpers/formDataToJSON.js +98 -0
  92. package/dist/lib/helpers/formDataToJSON.js.map +1 -0
  93. package/dist/lib/helpers/isAbsoluteURL.d.ts +1 -0
  94. package/dist/lib/helpers/isAbsoluteURL.js +14 -0
  95. package/dist/lib/helpers/isAbsoluteURL.js.map +1 -0
  96. package/dist/lib/helpers/isFaxiosError.d.ts +8 -0
  97. package/dist/lib/helpers/isFaxiosError.js +13 -0
  98. package/dist/lib/helpers/isFaxiosError.js.map +1 -0
  99. package/dist/lib/helpers/isURLSameOrigin.d.ts +2 -0
  100. package/dist/lib/helpers/isURLSameOrigin.js +10 -0
  101. package/dist/lib/helpers/isURLSameOrigin.js.map +1 -0
  102. package/dist/lib/helpers/parseHeaders.d.ts +16 -0
  103. package/dist/lib/helpers/parseHeaders.js +70 -0
  104. package/dist/lib/helpers/parseHeaders.js.map +1 -0
  105. package/dist/lib/helpers/progressEventReducer.d.ts +5 -0
  106. package/dist/lib/helpers/progressEventReducer.js +45 -0
  107. package/dist/lib/helpers/progressEventReducer.js.map +1 -0
  108. package/dist/lib/helpers/sanitizeHeaderValue.d.ts +4 -0
  109. package/dist/lib/helpers/sanitizeHeaderValue.js +43 -0
  110. package/dist/lib/helpers/sanitizeHeaderValue.js.map +1 -0
  111. package/dist/lib/helpers/speedometer.d.ts +8 -0
  112. package/dist/lib/helpers/speedometer.js +42 -0
  113. package/dist/lib/helpers/speedometer.js.map +1 -0
  114. package/dist/lib/helpers/substitutePathParams.d.ts +2 -0
  115. package/dist/lib/helpers/substitutePathParams.js +14 -0
  116. package/dist/lib/helpers/substitutePathParams.js.map +1 -0
  117. package/dist/lib/helpers/throttle.d.ts +8 -0
  118. package/dist/lib/helpers/throttle.js +42 -0
  119. package/dist/lib/helpers/throttle.js.map +1 -0
  120. package/dist/lib/helpers/toFormData.d.ts +26 -0
  121. package/dist/lib/helpers/toFormData.js +233 -0
  122. package/dist/lib/helpers/toFormData.js.map +1 -0
  123. package/dist/lib/helpers/toURLEncodedForm.d.ts +2 -0
  124. package/dist/lib/helpers/toURLEncodedForm.js +8 -0
  125. package/dist/lib/helpers/toURLEncodedForm.js.map +1 -0
  126. package/dist/lib/helpers/trackStream.d.ts +1 -0
  127. package/dist/lib/helpers/trackStream.js +81 -0
  128. package/dist/lib/helpers/trackStream.js.map +1 -0
  129. package/dist/lib/helpers/validator.d.ts +16 -0
  130. package/dist/lib/helpers/validator.js +86 -0
  131. package/dist/lib/helpers/validator.js.map +1 -0
  132. package/dist/lib/platform.d.ts +22 -0
  133. package/dist/lib/platform.js +26 -0
  134. package/dist/lib/platform.js.map +1 -0
  135. package/dist/lib/types/standard-schema.d.ts +37 -0
  136. package/dist/lib/types/standard-schema.js +8 -0
  137. package/dist/lib/types/standard-schema.js.map +1 -0
  138. package/dist/lib/types.d.ts +219 -0
  139. package/dist/lib/types.js +5 -0
  140. package/dist/lib/types.js.map +1 -0
  141. package/dist/lib/utils.d.ts +143 -0
  142. package/dist/lib/utils.js +805 -0
  143. package/dist/lib/utils.js.map +1 -0
  144. package/package.json +110 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FaxiosError.js","sourceRoot":"","sources":["../../../src/lib/core/FaxiosError.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,45 @@
1
+ import type { FaxiosHeaderValue } from "../types.js";
2
+ type HeaderMatcher = string | RegExp | ((this: FaxiosHeaders, value: string, name: string) => boolean);
3
+ type RewriteOption = boolean | ((this: FaxiosHeaders, value: string, name: string) => boolean);
4
+ type HeaderInput = Record<string, unknown> | FaxiosHeaders | string | undefined | null;
5
+ declare class FaxiosHeaders {
6
+ [key: string]: unknown;
7
+ getContentType: (matcher?: HeaderMatcher) => FaxiosHeaderValue | undefined;
8
+ setContentType: (value: FaxiosHeaderValue, rewrite?: RewriteOption) => this;
9
+ hasContentType: (matcher?: HeaderMatcher) => boolean;
10
+ getContentLength: (matcher?: HeaderMatcher) => FaxiosHeaderValue | undefined;
11
+ setContentLength: (value: FaxiosHeaderValue, rewrite?: RewriteOption) => this;
12
+ hasContentLength: (matcher?: HeaderMatcher) => boolean;
13
+ getAccept: (matcher?: HeaderMatcher) => FaxiosHeaderValue | undefined;
14
+ setAccept: (value: FaxiosHeaderValue, rewrite?: RewriteOption) => this;
15
+ hasAccept: (matcher?: HeaderMatcher) => boolean;
16
+ getAcceptEncoding: (matcher?: HeaderMatcher) => FaxiosHeaderValue | undefined;
17
+ setAcceptEncoding: (value: FaxiosHeaderValue, rewrite?: RewriteOption) => this;
18
+ hasAcceptEncoding: (matcher?: HeaderMatcher) => boolean;
19
+ getUserAgent: (matcher?: HeaderMatcher) => FaxiosHeaderValue | undefined;
20
+ setUserAgent: (value: FaxiosHeaderValue, rewrite?: RewriteOption) => this;
21
+ hasUserAgent: (matcher?: HeaderMatcher) => boolean;
22
+ getAuthorization: (matcher?: HeaderMatcher) => FaxiosHeaderValue | undefined;
23
+ setAuthorization: (value: FaxiosHeaderValue, rewrite?: RewriteOption) => this;
24
+ hasAuthorization: (matcher?: HeaderMatcher) => boolean;
25
+ constructor(headers?: Record<string, unknown> | FaxiosHeaders | string | null);
26
+ set(header: HeaderInput, valueOrRewrite?: unknown, rewrite?: RewriteOption): this;
27
+ get(header: string): FaxiosHeaderValue | undefined;
28
+ get(header: string, parser: true): Record<string, string> | undefined;
29
+ get(header: string, parser: RegExp): RegExpExecArray | null | undefined;
30
+ get<R>(header: string, parser: (this: FaxiosHeaders, value: FaxiosHeaderValue, header: string) => R): R | undefined;
31
+ has(header: string, matcher?: HeaderMatcher): boolean;
32
+ delete(header: string | Array<string>, matcher?: HeaderMatcher): boolean;
33
+ clear(matcher?: HeaderMatcher): boolean;
34
+ normalize(format?: boolean): this;
35
+ concat(...targets: Array<HeaderInput>): FaxiosHeaders;
36
+ toJSON(asStrings?: boolean): Record<string, unknown>;
37
+ [Symbol.iterator](): IterableIterator<[string, unknown]>;
38
+ toString(): string;
39
+ getSetCookie(): Array<string>;
40
+ get [Symbol.toStringTag](): string;
41
+ static from(thing?: Record<string, unknown> | FaxiosHeaders | string | null): FaxiosHeaders;
42
+ static concat(first: Record<string, unknown> | FaxiosHeaders | string | undefined | null, ...targets: Array<Record<string, unknown> | FaxiosHeaders | string | undefined | null>): FaxiosHeaders;
43
+ static accessor(header: string | Array<string>): typeof FaxiosHeaders;
44
+ }
45
+ export default FaxiosHeaders;
@@ -0,0 +1,299 @@
1
+ "use strict";
2
+ import parseHeaders from "../helpers/parseHeaders.js";
3
+ import { sanitizeHeaderValue } from "../helpers/sanitizeHeaderValue.js";
4
+ import utils from "../utils.js";
5
+ const $internals = Symbol("internals");
6
+ function normalizeHeader(header) {
7
+ return header && String(header).trim()
8
+ .toLowerCase();
9
+ }
10
+ // eslint-disable-next-line sonarjs/function-return-type
11
+ function normalizeValue(value) {
12
+ if (value == null) {
13
+ return value;
14
+ }
15
+ if (value === false) {
16
+ return false;
17
+ }
18
+ if (utils.isArray(value)) {
19
+ return value.map(normalizeValue);
20
+ }
21
+ return sanitizeHeaderValue(String(value));
22
+ }
23
+ function parseTokens(str) {
24
+ const tokens = Object.create(null);
25
+ const tokensRE = /([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g;
26
+ let match;
27
+ while ((match = tokensRE.exec(str))) {
28
+ tokens[match[1]] = match[2];
29
+ }
30
+ return tokens;
31
+ }
32
+ const isValidHeaderName = (str) => /^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(str.trim());
33
+ function matchHeaderValue(context, value, header, filter, isHeaderNameFilter) {
34
+ if (utils.isFunction(filter)) {
35
+ return filter.call(context, value, header);
36
+ }
37
+ if (isHeaderNameFilter) {
38
+ value = header;
39
+ }
40
+ if (!utils.isString(value))
41
+ return undefined;
42
+ if (utils.isString(filter)) {
43
+ return value.indexOf(filter) !== -1;
44
+ }
45
+ if (utils.isRegExp(filter)) {
46
+ return filter.test(value);
47
+ }
48
+ return undefined;
49
+ }
50
+ function formatHeader(header) {
51
+ return header
52
+ .trim()
53
+ .toLowerCase()
54
+ .replace(/([a-z\d])(\w*)/g, (_w, char, str) => char.toUpperCase() + str);
55
+ }
56
+ function iterableToHeaders(header) {
57
+ const obj = Object.create(null);
58
+ for (const entry of header) {
59
+ if (!utils.isArray(entry)) {
60
+ throw new TypeError("Object iterator must return a key-value pair");
61
+ }
62
+ const key = entry[0];
63
+ const val = entry[1];
64
+ if (utils.hasOwnProp(obj, key)) {
65
+ const dest = obj[key];
66
+ obj[key] = utils.isArray(dest) ? [...dest, val] : [dest, val];
67
+ }
68
+ else {
69
+ obj[key] = val;
70
+ }
71
+ }
72
+ return obj;
73
+ }
74
+ function buildAccessors(obj, header) {
75
+ const accessorName = utils.toCamelCase(" " + header);
76
+ ["get", "set", "has"].forEach(methodName => {
77
+ Object.defineProperty(obj, methodName + accessorName, Object.assign(Object.create(null), {
78
+ value: function (arg1, arg2, arg3) {
79
+ return this[methodName].call(this, header, arg1, arg2, arg3);
80
+ },
81
+ configurable: true,
82
+ }));
83
+ });
84
+ }
85
+ class FaxiosHeaders {
86
+ constructor(headers) {
87
+ headers && this.set(headers);
88
+ }
89
+ set(header, valueOrRewrite, rewrite) {
90
+ const self = this;
91
+ function setHeader(_value, _header, _rewrite) {
92
+ const lHeader = normalizeHeader(_header);
93
+ if (!lHeader) {
94
+ return;
95
+ }
96
+ const key = utils.findKey(self, lHeader);
97
+ if (!key ||
98
+ self[key] === undefined ||
99
+ _rewrite === true ||
100
+ (_rewrite === undefined &&
101
+ self[key] !== false &&
102
+ self[key] !== null)) {
103
+ self[key || _header] = normalizeValue(_value);
104
+ }
105
+ }
106
+ const setHeaders = (headers, _rewrite) => utils.forEach(headers, (_value, _header) => setHeader(_value, _header, _rewrite));
107
+ if (utils.isPlainObject(header) || header instanceof this.constructor) {
108
+ setHeaders(header, valueOrRewrite);
109
+ }
110
+ else if (utils.isString(header)) {
111
+ header = header.trim();
112
+ if (!isValidHeaderName(header)) {
113
+ setHeaders(parseHeaders(header), valueOrRewrite);
114
+ }
115
+ else {
116
+ setHeader(valueOrRewrite, header, rewrite);
117
+ }
118
+ }
119
+ else if (utils.isObject(header) && utils.isSafeIterable(header)) {
120
+ setHeaders(iterableToHeaders(header), valueOrRewrite);
121
+ }
122
+ else {
123
+ header != null && setHeader(valueOrRewrite, header, rewrite);
124
+ }
125
+ return this;
126
+ }
127
+ get(header, parser) {
128
+ header = normalizeHeader(header);
129
+ if (header) {
130
+ const key = utils.findKey(this, header);
131
+ if (key) {
132
+ const value = this[key];
133
+ if (!parser) {
134
+ return value;
135
+ }
136
+ if (parser === true) {
137
+ return parseTokens(value);
138
+ }
139
+ if (utils.isFunction(parser)) {
140
+ return parser.call(this, value, key);
141
+ }
142
+ if (utils.isRegExp(parser)) {
143
+ return parser.exec(value);
144
+ }
145
+ throw new TypeError("parser must be boolean|regexp|function");
146
+ }
147
+ }
148
+ return undefined;
149
+ }
150
+ has(header, matcher) {
151
+ header = normalizeHeader(header);
152
+ if (header) {
153
+ const key = utils.findKey(this, header);
154
+ return !!(key &&
155
+ this[key] !== undefined &&
156
+ (!matcher ||
157
+ matchHeaderValue(this, this[key], key, matcher)));
158
+ }
159
+ return false;
160
+ }
161
+ delete(header, matcher) {
162
+ const self = this;
163
+ let deleted = false;
164
+ function deleteHeader(_header) {
165
+ _header = normalizeHeader(_header);
166
+ if (_header) {
167
+ const key = utils.findKey(self, _header);
168
+ if (key &&
169
+ (!matcher ||
170
+ matchHeaderValue(self, self[key], key, matcher))) {
171
+ delete self[key];
172
+ deleted = true;
173
+ }
174
+ }
175
+ }
176
+ if (utils.isArray(header)) {
177
+ header.forEach(deleteHeader);
178
+ }
179
+ else {
180
+ deleteHeader(header);
181
+ }
182
+ return deleted;
183
+ }
184
+ clear(matcher) {
185
+ const keys = Object.keys(this);
186
+ let i = keys.length;
187
+ let deleted = false;
188
+ while (i--) {
189
+ const key = keys[i];
190
+ if (!matcher ||
191
+ matchHeaderValue(this, this[key], key, matcher, true)) {
192
+ delete this[key];
193
+ deleted = true;
194
+ }
195
+ }
196
+ return deleted;
197
+ }
198
+ normalize(format = false) {
199
+ const self = this;
200
+ const headers = {};
201
+ utils.forEach(this, (value, _header) => {
202
+ const header = _header;
203
+ const key = utils.findKey(headers, header);
204
+ if (key) {
205
+ self[key] = normalizeValue(value);
206
+ delete self[header];
207
+ return;
208
+ }
209
+ const normalized = format ? formatHeader(header) : String(header).trim();
210
+ if (normalized !== header) {
211
+ delete self[header];
212
+ }
213
+ self[normalized] = normalizeValue(value);
214
+ headers[normalized] = true;
215
+ });
216
+ return this;
217
+ }
218
+ concat(...targets) {
219
+ return this.constructor.concat(this, ...targets);
220
+ }
221
+ toJSON(asStrings) {
222
+ const obj = Object.create(null);
223
+ utils.forEach(this, (value, _header) => {
224
+ const header = _header;
225
+ value != null &&
226
+ value !== false &&
227
+ (obj[header] =
228
+ asStrings && utils.isArray(value)
229
+ ? value.join(", ")
230
+ : value);
231
+ });
232
+ return obj;
233
+ }
234
+ [Symbol.iterator]() {
235
+ return Object.entries(this.toJSON())[Symbol.iterator]();
236
+ }
237
+ toString() {
238
+ return Object.entries(this.toJSON())
239
+ .map(([header, value]) => header + ": " + value)
240
+ .join("\n");
241
+ }
242
+ getSetCookie() {
243
+ return this.get("set-cookie") ?? [];
244
+ }
245
+ get [Symbol.toStringTag]() {
246
+ return "FaxiosHeaders";
247
+ }
248
+ static from(thing) {
249
+ return thing instanceof this ? thing : new this(thing);
250
+ }
251
+ static concat(first, ...targets) {
252
+ const computed = new this(first);
253
+ targets.forEach(target => computed.set(target));
254
+ return computed;
255
+ }
256
+ static accessor(header) {
257
+ const self = this;
258
+ const internals = (self[$internals] =
259
+ self[$internals] =
260
+ {
261
+ // eslint-disable-next-line @typescript-eslint/no-unnecessary-type-assertion
262
+ accessors: {},
263
+ });
264
+ const accessors = internals.accessors;
265
+ const prototype = this.prototype;
266
+ function defineAccessor(_header) {
267
+ const lHeader = normalizeHeader(_header);
268
+ if (!accessors[lHeader]) {
269
+ buildAccessors(prototype, _header);
270
+ accessors[lHeader] = true;
271
+ }
272
+ }
273
+ utils.isArray(header)
274
+ ? header.forEach(defineAccessor)
275
+ : defineAccessor(header);
276
+ return this;
277
+ }
278
+ }
279
+ FaxiosHeaders.accessor([
280
+ "Content-Type",
281
+ "Content-Length",
282
+ "Accept",
283
+ "Accept-Encoding",
284
+ "User-Agent",
285
+ "Authorization",
286
+ ]);
287
+ // reserved names hotfix
288
+ utils.reduceDescriptors(FaxiosHeaders.prototype, ({ value }, key) => {
289
+ let mapped = key[0].toUpperCase() + key.slice(1); // map `set` => `Set`
290
+ return {
291
+ get: () => value,
292
+ set(headerValue) {
293
+ this[mapped] = headerValue;
294
+ },
295
+ };
296
+ });
297
+ utils.freezeMethods(FaxiosHeaders);
298
+ export default FaxiosHeaders;
299
+ //# sourceMappingURL=FaxiosHeaders.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FaxiosHeaders.js","sourceRoot":"","sources":["../../../src/lib/core/FaxiosHeaders.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ import type { FaxiosInterceptorHandler, FaxiosInterceptorFulfilled, FaxiosInterceptorRejected, FaxiosInterceptorOptions } from "../types.js";
2
+ declare class InterceptorManager<T> {
3
+ #private;
4
+ use(fulfilled: FaxiosInterceptorFulfilled<T>, rejected?: FaxiosInterceptorRejected, options?: FaxiosInterceptorOptions): number;
5
+ eject(id: number): void;
6
+ clear(): void;
7
+ forEach(fn: (handler: FaxiosInterceptorHandler<T>) => void): void;
8
+ }
9
+ export default InterceptorManager;
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+ class InterceptorManager {
3
+ #handlers = new Map();
4
+ #idCounter = 0;
5
+ use(fulfilled, rejected, options) {
6
+ const id = this.#idCounter++;
7
+ this.#handlers.set(id, {
8
+ fulfilled,
9
+ rejected,
10
+ synchronous: options ? !!options.synchronous : false,
11
+ runWhen: options ? options.runWhen : null,
12
+ });
13
+ return id;
14
+ }
15
+ eject(id) {
16
+ this.#handlers.delete(id);
17
+ }
18
+ clear() {
19
+ this.#handlers.clear();
20
+ }
21
+ forEach(fn) {
22
+ for (const handler of this.#handlers.values()) {
23
+ fn(handler);
24
+ }
25
+ }
26
+ }
27
+ export default InterceptorManager;
28
+ //# sourceMappingURL=InterceptorManager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"InterceptorManager.js","sourceRoot":"","sources":["../../../src/lib/core/InterceptorManager.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AASb,MAAM,kBAAkB;IACtB,SAAS,GAA6C,IAAI,GAAG,EAAE,CAAC;IAChE,UAAU,GAAG,CAAC,CAAC;IAEf,GAAG,CACD,SAAwC,EACxC,QAAoC,EACpC,OAAkC;QAElC,MAAM,EAAE,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QAC7B,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,EAAE;YACrB,SAAS;YACT,QAAQ;YACR,WAAW,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK;YACpD,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI;SAC1C,CAAC,CAAC;QACH,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,KAAK,CAAC,EAAU;QACd,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IAC5B,CAAC;IAED,KAAK;QACH,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;IACzB,CAAC;IAED,OAAO,CAAC,EAAkD;QACxD,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,EAAE,CAAC;YAC9C,EAAE,CAAC,OAAO,CAAC,CAAC;QACd,CAAC;IACH,CAAC;CACF;AAED,eAAe,kBAAkB,CAAC"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Creates a new URL by combining the baseURL with the requestedURL,
3
+ * only when the requestedURL is not already an absolute URL.
4
+ * If the requestURL is absolute, this function returns the requestedURL untouched.
5
+ *
6
+ * @param {string} baseURL The base URL
7
+ * @param {string} requestedURL Absolute or relative URL to combine
8
+ *
9
+ * @returns {string} The combined full path
10
+ */
11
+ export default function buildFullPath(baseURL: unknown, requestedURL: unknown, allowAbsoluteUrls?: unknown, config?: unknown): string;
@@ -0,0 +1,41 @@
1
+ "use strict";
2
+ import combineURLs from "../helpers/combineURLs.js";
3
+ import isAbsoluteURL from "../helpers/isAbsoluteURL.js";
4
+ import FaxiosError from "./FaxiosError.js";
5
+ const malformedHttpProtocol = /^https?:(?!\/\/)/i;
6
+ const httpProtocolControlCharacters = /[\t\n\r]/g;
7
+ function stripLeadingC0ControlOrSpace(url) {
8
+ let i = 0;
9
+ while (i < url.length && url.charCodeAt(i) <= 0x20) {
10
+ i++;
11
+ }
12
+ return url.slice(i);
13
+ }
14
+ function normalizeURLForProtocolCheck(url) {
15
+ return stripLeadingC0ControlOrSpace(url).replace(httpProtocolControlCharacters, "");
16
+ }
17
+ function assertValidHttpProtocolURL(url, config) {
18
+ if (typeof url === "string" && malformedHttpProtocol.test(normalizeURLForProtocolCheck(url))) {
19
+ throw new FaxiosError("Invalid URL: missing \"//\" after protocol", FaxiosError.ERR_INVALID_URL, config);
20
+ }
21
+ }
22
+ /**
23
+ * Creates a new URL by combining the baseURL with the requestedURL,
24
+ * only when the requestedURL is not already an absolute URL.
25
+ * If the requestURL is absolute, this function returns the requestedURL untouched.
26
+ *
27
+ * @param {string} baseURL The base URL
28
+ * @param {string} requestedURL Absolute or relative URL to combine
29
+ *
30
+ * @returns {string} The combined full path
31
+ */
32
+ export default function buildFullPath(baseURL, requestedURL, allowAbsoluteUrls, config) {
33
+ assertValidHttpProtocolURL(requestedURL, config);
34
+ let isRelativeUrl = !isAbsoluteURL(requestedURL);
35
+ if (baseURL && (isRelativeUrl || allowAbsoluteUrls === false)) {
36
+ assertValidHttpProtocolURL(baseURL, config);
37
+ return combineURLs(baseURL, requestedURL);
38
+ }
39
+ return requestedURL;
40
+ }
41
+ //# sourceMappingURL=buildFullPath.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"buildFullPath.js","sourceRoot":"","sources":["../../../src/lib/core/buildFullPath.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,OAAO,WAAW,kCAAkC;AACpD,OAAO,aAAa,oCAAoC;AAExD,OAAO,WAAW,yBAAyB;AAE3C,MAAM,qBAAqB,GAAG,mBAAmB,CAAC;AAClD,MAAM,6BAA6B,GAAG,WAAW,CAAC;AAElD,SAAS,4BAA4B,CAAC,GAAW;IAC/C,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,OAAO,CAAC,GAAG,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC;QACnD,CAAC,EAAE,CAAC;IACN,CAAC;IACD,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACtB,CAAC;AAED,SAAS,4BAA4B,CAAC,GAAW;IAC/C,OAAO,4BAA4B,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,6BAA6B,EAAE,EAAE,CAAC,CAAC;AACtF,CAAC;AAED,SAAS,0BAA0B,CAAC,GAAY,EAAE,MAAe;IAC/D,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,qBAAqB,CAAC,IAAI,CAAC,4BAA4B,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;QAC7F,MAAM,IAAI,WAAW,CACnB,4CAA4C,EAC5C,WAAW,CAAC,eAAe,EAC3B,MAAqC,CACtC,CAAC;IACJ,CAAC;AACH,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,CAAC,OAAO,UAAU,aAAa,CAAC,OAAgB,EAAE,YAAqB,EAAE,iBAA2B,EAAE,MAAgB;IAC1H,0BAA0B,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;IACjD,IAAI,aAAa,GAAG,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;IACjD,IAAI,OAAO,IAAI,CAAC,aAAa,IAAI,iBAAiB,KAAK,KAAK,CAAC,EAAE,CAAC;QAC9D,0BAA0B,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QAC5C,OAAO,WAAW,CAAC,OAAiB,EAAE,YAAsB,CAAC,CAAC;IAChE,CAAC;IACD,OAAO,YAAsB,CAAC;AAChC,CAAC"}
@@ -0,0 +1,28 @@
1
+ import type { StandardSchemaV1 } from "../types/standard-schema.js";
2
+ import type { FaxiosRequestConfig, FaxiosResponse, StringLiteralsOrString, Method } from "../types.js";
3
+ type StrippedFields = "url" | "method" | "pathParams" | "params" | "data" | "pathParamsSchema" | "paramsSchema" | "requestSchema" | "responseSchema";
4
+ export type BasePerCallConfig = Omit<FaxiosRequestConfig, StrippedFields>;
5
+ export type PerCallConfig<PP extends StandardSchemaV1<unknown, Record<string, unknown>> | undefined, P extends StandardSchemaV1 | undefined, D extends StandardSchemaV1 | undefined> = BasePerCallConfig & (PP extends StandardSchemaV1 ? {
6
+ pathParams: StandardSchemaV1.InferInput<PP>;
7
+ } : unknown) & (P extends StandardSchemaV1 ? {
8
+ params: StandardSchemaV1.InferInput<P>;
9
+ } : unknown) & (D extends StandardSchemaV1 ? {
10
+ data: StandardSchemaV1.InferInput<D>;
11
+ } : unknown);
12
+ export type DefineConfig<PP extends StandardSchemaV1<unknown, Record<string, unknown>> | undefined = undefined, P extends StandardSchemaV1 | undefined = undefined, D extends StandardSchemaV1 | undefined = undefined, R extends StandardSchemaV1 | undefined = undefined> = BasePerCallConfig & {
13
+ pathParamsSchema?: PP;
14
+ paramsSchema?: P;
15
+ requestSchema?: D;
16
+ responseSchema?: R;
17
+ };
18
+ type HasInputSchema<PP, P, D> = [
19
+ PP,
20
+ P,
21
+ D
22
+ ] extends [undefined, undefined, undefined] ? false : true;
23
+ export type DefinedEndpoint<PP extends StandardSchemaV1<unknown, Record<string, unknown>> | undefined, P extends StandardSchemaV1 | undefined, D extends StandardSchemaV1 | undefined, R extends StandardSchemaV1 | undefined> = HasInputSchema<PP, P, D> extends true ? (callConfig: PerCallConfig<PP, P, D>) => Promise<FaxiosResponse<R extends StandardSchemaV1 ? StandardSchemaV1.InferOutput<R> : unknown>> : (callConfig?: PerCallConfig<PP, P, D>) => Promise<FaxiosResponse<R extends StandardSchemaV1 ? StandardSchemaV1.InferOutput<R> : unknown>>;
24
+ export interface FaxiosLike {
25
+ request: (config: FaxiosRequestConfig) => Promise<FaxiosResponse<unknown>>;
26
+ }
27
+ export declare function createDefinedEndpoint<PP extends StandardSchemaV1<unknown, Record<string, unknown>> | undefined, P extends StandardSchemaV1 | undefined, D extends StandardSchemaV1 | undefined, R extends StandardSchemaV1 | undefined>(instance: FaxiosLike, method: StringLiteralsOrString<Method>, url: string, defineConfig?: DefineConfig<PP, P, D, R>): DefinedEndpoint<PP, P, D, R>;
28
+ export {};
@@ -0,0 +1,35 @@
1
+ // @ts-self-types="./define.d.ts" — required for Deno: maps built .js to adjacent .d.ts in dist/
2
+ import mergeConfig from "./mergeConfig.js";
3
+ const schemaKeys = ["pathParamsSchema", "paramsSchema", "requestSchema", "responseSchema"];
4
+ // compile-time assertion: schemaKeys and SchemaFields must stay in sync
5
+ void schemaKeys;
6
+ // strippedKeys strips url/method/schemas from per-call config; StrippedFields also omits pathParams/params/data
7
+ // at the type level (those are still allowed at runtime — they're the validated data, not the schema definitions)
8
+ const strippedKeys = ["url", "method", ...schemaKeys];
9
+ export function createDefinedEndpoint(instance, method, url, defineConfig) {
10
+ const bakedConfig = { ...(defineConfig ?? {}), method, url };
11
+ const fn = (callConfig) => {
12
+ const safeCall = { ...(callConfig ?? {}) };
13
+ // ponytail: runtime guard — strip identity + schemas so JS callers can't override
14
+ for (const k of strippedKeys) {
15
+ delete safeCall[k];
16
+ }
17
+ // mergeConfig(baked, perCall): perCall wins for most fields (signal, headers, timeout, env)
18
+ const merged = mergeConfig(bakedConfig, safeCall);
19
+ // Lock url/method and re-lock schemas — perCall cannot override define-time identity
20
+ merged["url"] = url;
21
+ merged["method"] = method;
22
+ // ponytail: defense-in-depth — mergeConfig would fall through, but this makes the invariant explicit
23
+ for (const k of schemaKeys) {
24
+ if (Object.prototype.hasOwnProperty.call(bakedConfig, k)) {
25
+ merged[k] = bakedConfig[k];
26
+ }
27
+ else {
28
+ delete merged[k];
29
+ }
30
+ }
31
+ return instance.request(merged);
32
+ };
33
+ return fn;
34
+ }
35
+ //# sourceMappingURL=define.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"define.js","sourceRoot":"","sources":["../../../src/lib/core/define.ts"],"names":[],"mappings":"AAAA,gGAAgG;AAIhG,OAAO,WAAW,yBAAyB;AAuD3C,MAAM,UAAU,GAAG,CAAE,kBAAkB,EAAE,cAAc,EAAE,eAAe,EAAE,gBAAgB,CAAW,CAAC;AACtG,wEAAwE;AACxE,KAAM,UAAiD,CAAC;AACxD,gHAAgH;AAChH,kHAAkH;AAClH,MAAM,YAAY,GAAG,CAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,UAAU,CAAW,CAAC;AAEjE,MAAM,UAAU,qBAAqB,CAMnC,QAAoB,EACpB,MAAsC,EACtC,GAAW,EACX,YAAwC;IAExC,MAAM,WAAW,GAAwB,EAAE,GAAG,CAAC,YAAY,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;IAElF,MAAM,EAAE,GAAG,CAAC,UAAoC,EAAE,EAAE;QAClD,MAAM,QAAQ,GAAwB,EAAE,GAAG,CAAC,UAAU,IAAI,EAAE,CAAC,EAAE,CAAC;QAChE,kFAAkF;QAClF,KAAK,MAAM,CAAC,IAAI,YAAY,EAAE,CAAC;YAC7B,OAAQ,QAAoC,CAAC,CAAC,CAAC,CAAC;QAClD,CAAC;QAED,4FAA4F;QAC5F,MAAM,MAAM,GAAG,WAAW,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;QAClD,qFAAqF;QACpF,MAAkC,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC;QAChD,MAAkC,CAAC,QAAQ,CAAC,GAAG,MAAM,CAAC;QACvD,qGAAqG;QACrG,KAAK,MAAM,CAAC,IAAI,UAAU,EAAE,CAAC;YAC3B,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,EAAE,CAAC;gBACxD,MAAkC,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;YAC1D,CAAC;iBACI,CAAC;gBACJ,OAAQ,MAAkC,CAAC,CAAC,CAAC,CAAC;YAChD,CAAC;QACH,CAAC;QAED,OAAO,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAClC,CAAC,CAAC;IAEF,OAAO,EAAkC,CAAC;AAC5C,CAAC"}
@@ -0,0 +1,2 @@
1
+ import type { InternalFaxiosRequestConfig, FaxiosResponse } from "../types.js";
2
+ export default function dispatchRequest(this: unknown, config: InternalFaxiosRequestConfig): Promise<FaxiosResponse>;