lifecycleion 0.0.19 → 0.0.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.
- package/README.md +39 -36
- package/dist/lib/event-emitter.cjs +195 -9
- package/dist/lib/event-emitter.cjs.map +1 -1
- package/dist/lib/event-emitter.js +195 -9
- package/dist/lib/event-emitter.js.map +1 -1
- package/dist/lib/global-event-target.cjs +217 -0
- package/dist/lib/global-event-target.cjs.map +1 -0
- package/dist/lib/global-event-target.d.cts +70 -0
- package/dist/lib/global-event-target.d.ts +70 -0
- package/dist/lib/global-event-target.js +189 -0
- package/dist/lib/global-event-target.js.map +1 -0
- package/dist/lib/http-client/index.cjs +554 -193
- package/dist/lib/http-client/index.cjs.map +1 -1
- package/dist/lib/http-client/index.d.cts +9 -3
- package/dist/lib/http-client/index.d.ts +9 -3
- package/dist/lib/http-client/index.js +554 -193
- package/dist/lib/http-client/index.js.map +1 -1
- package/dist/lib/http-client-mock/index.cjs +71 -24
- package/dist/lib/http-client-mock/index.cjs.map +1 -1
- package/dist/lib/http-client-mock/index.d.cts +50 -2
- package/dist/lib/http-client-mock/index.d.ts +50 -2
- package/dist/lib/http-client-mock/index.js +71 -24
- package/dist/lib/http-client-mock/index.js.map +1 -1
- package/dist/lib/http-client-node/index.cjs +135 -33
- package/dist/lib/http-client-node/index.cjs.map +1 -1
- package/dist/lib/http-client-node/index.d.cts +33 -2
- package/dist/lib/http-client-node/index.d.ts +33 -2
- package/dist/lib/http-client-node/index.js +135 -33
- package/dist/lib/http-client-node/index.js.map +1 -1
- package/dist/lib/http-client-xhr/index.cjs +0 -14
- package/dist/lib/http-client-xhr/index.cjs.map +1 -1
- package/dist/lib/http-client-xhr/index.d.cts +3 -2
- package/dist/lib/http-client-xhr/index.d.ts +3 -2
- package/dist/lib/http-client-xhr/index.js +0 -14
- package/dist/lib/http-client-xhr/index.js.map +1 -1
- package/dist/lib/lifecycle-manager/index.cjs +199 -13
- package/dist/lib/lifecycle-manager/index.cjs.map +1 -1
- package/dist/lib/lifecycle-manager/index.js +199 -13
- package/dist/lib/lifecycle-manager/index.js.map +1 -1
- package/dist/lib/logger/index.cjs +203 -21
- package/dist/lib/logger/index.cjs.map +1 -1
- package/dist/lib/logger/index.d.cts +5 -1
- package/dist/lib/logger/index.d.ts +5 -1
- package/dist/lib/logger/index.js +203 -21
- package/dist/lib/logger/index.js.map +1 -1
- package/dist/lib/lru-cache/index.cjs +195 -9
- package/dist/lib/lru-cache/index.cjs.map +1 -1
- package/dist/lib/lru-cache/index.js +195 -9
- package/dist/lib/lru-cache/index.js.map +1 -1
- package/dist/lib/process-signal-manager.cjs +199 -13
- package/dist/lib/process-signal-manager.cjs.map +1 -1
- package/dist/lib/process-signal-manager.js +199 -13
- package/dist/lib/process-signal-manager.js.map +1 -1
- package/dist/lib/promise-protected-resolver.cjs +195 -9
- package/dist/lib/promise-protected-resolver.cjs.map +1 -1
- package/dist/lib/promise-protected-resolver.js +195 -9
- package/dist/lib/promise-protected-resolver.js.map +1 -1
- package/dist/lib/retry-utils/index.cjs +195 -9
- package/dist/lib/retry-utils/index.cjs.map +1 -1
- package/dist/lib/retry-utils/index.js +195 -9
- package/dist/lib/retry-utils/index.js.map +1 -1
- package/dist/lib/safe-handle-callback.cjs +196 -18
- package/dist/lib/safe-handle-callback.cjs.map +1 -1
- package/dist/lib/safe-handle-callback.d.cts +14 -4
- package/dist/lib/safe-handle-callback.d.ts +14 -4
- package/dist/lib/safe-handle-callback.js +196 -18
- package/dist/lib/safe-handle-callback.js.map +1 -1
- package/dist/lib/single-event-observer.cjs +195 -9
- package/dist/lib/single-event-observer.cjs.map +1 -1
- package/dist/lib/single-event-observer.js +195 -9
- package/dist/lib/single-event-observer.js.map +1 -1
- package/dist/{types-CWw885iO.d.cts → types-BFvpJPMt.d.cts} +72 -11
- package/dist/{types-Mso0dYOS.d.ts → types-BONtIhQ5.d.ts} +72 -11
- package/package.json +31 -12
|
@@ -63,20 +63,6 @@ var REDIRECT_STATUS_CODES = /* @__PURE__ */ new Set([
|
|
|
63
63
|
|
|
64
64
|
// src/lib/http-client/utils.ts
|
|
65
65
|
var import_qs = __toESM(require("qs"), 1);
|
|
66
|
-
|
|
67
|
-
// src/lib/domain-utils/domain-utils.ts
|
|
68
|
-
var import_tldts = require("tldts");
|
|
69
|
-
|
|
70
|
-
// src/lib/domain-utils/helpers.ts
|
|
71
|
-
var import_tr46 = require("tr46");
|
|
72
|
-
var INTERNAL_PSEUDO_TLDS = Object.freeze(
|
|
73
|
-
/* @__PURE__ */ new Set(["localhost", "local", "test", "internal"])
|
|
74
|
-
);
|
|
75
|
-
|
|
76
|
-
// src/lib/domain-utils/domain-utils.ts
|
|
77
|
-
var import_tldts2 = require("tldts");
|
|
78
|
-
|
|
79
|
-
// src/lib/http-client/utils.ts
|
|
80
66
|
function resolveAbsoluteURL(url, baseURL) {
|
|
81
67
|
if (!url) {
|
|
82
68
|
return url;
|
|
@@ -262,13 +248,33 @@ var MockAdapter = class {
|
|
|
262
248
|
if (request.signal?.aborted) {
|
|
263
249
|
throwAbortError();
|
|
264
250
|
}
|
|
265
|
-
|
|
251
|
+
if (mockResponse.transportError) {
|
|
252
|
+
const options = mockResponse.transportError === true ? {} : mockResponse.transportError;
|
|
253
|
+
return {
|
|
254
|
+
status: options.status ?? 0,
|
|
255
|
+
isTransportError: true,
|
|
256
|
+
...options.isRetryable !== void 0 ? { isRetryable: options.isRetryable } : {},
|
|
257
|
+
...options.wasDefinitelyNotSent !== void 0 ? { wasDefinitelyNotSent: options.wasDefinitelyNotSent } : {},
|
|
258
|
+
headers: {},
|
|
259
|
+
body: null,
|
|
260
|
+
errorCause: new Error(
|
|
261
|
+
options.message ?? "Mock transport error (MockResponse.transportError)"
|
|
262
|
+
)
|
|
263
|
+
};
|
|
264
|
+
}
|
|
265
|
+
const streamErrorCode = resolveMockStreamErrorCode(
|
|
266
|
+
mockResponse.streamError
|
|
267
|
+
);
|
|
268
|
+
const intendedBody = shouldOmitResponseBody(method, mockResponse.status) ? null : serializeResponseBody(mockResponse);
|
|
269
|
+
const responseBody = streamErrorCode !== void 0 ? null : intendedBody;
|
|
266
270
|
request.onUploadProgress?.({ loaded: 1, total: 1, progress: 1 });
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
271
|
+
if (streamErrorCode === void 0) {
|
|
272
|
+
request.onDownloadProgress?.({
|
|
273
|
+
loaded: responseBody?.length ?? 0,
|
|
274
|
+
total: responseBody?.length ?? 0,
|
|
275
|
+
progress: 1
|
|
276
|
+
});
|
|
277
|
+
}
|
|
272
278
|
const responseHeaders = {
|
|
273
279
|
...mockResponse.headers ?? {}
|
|
274
280
|
};
|
|
@@ -280,7 +286,7 @@ var MockAdapter = class {
|
|
|
280
286
|
responseHeaders["set-cookie"] = [...existingArr, ...setCookieEntries];
|
|
281
287
|
}
|
|
282
288
|
}
|
|
283
|
-
if (!hasHeader(responseHeaders, "content-type") &&
|
|
289
|
+
if (!hasHeader(responseHeaders, "content-type") && intendedBody !== null) {
|
|
284
290
|
const ct = mockResponse.contentType ?? inferContentType(mockResponse.body);
|
|
285
291
|
if (ct === "json") {
|
|
286
292
|
responseHeaders["content-type"] = "application/json";
|
|
@@ -299,10 +305,23 @@ var MockAdapter = class {
|
|
|
299
305
|
wasRedirectDetected: REDIRECT_STATUS_CODES.has(mockResponse.status),
|
|
300
306
|
...detectedRedirectURL ? { detectedRedirectURL } : {},
|
|
301
307
|
headers: normalizedResponseHeaders,
|
|
302
|
-
body: responseBody
|
|
308
|
+
body: responseBody,
|
|
309
|
+
...streamErrorCode !== void 0 ? {
|
|
310
|
+
isStreamError: true,
|
|
311
|
+
streamErrorCode,
|
|
312
|
+
errorCause: new Error(
|
|
313
|
+
"Mock response stream error (MockResponse.streamError)"
|
|
314
|
+
)
|
|
315
|
+
} : {}
|
|
303
316
|
};
|
|
304
317
|
}
|
|
305
318
|
};
|
|
319
|
+
function resolveMockStreamErrorCode(streamError) {
|
|
320
|
+
if (streamError === void 0 || streamError === false) {
|
|
321
|
+
return void 0;
|
|
322
|
+
}
|
|
323
|
+
return streamError === true ? "stream_response_error" : streamError;
|
|
324
|
+
}
|
|
306
325
|
function buildRoutes(router) {
|
|
307
326
|
function on(method, path, handler) {
|
|
308
327
|
try {
|
|
@@ -325,7 +344,8 @@ function buildRoutes(router) {
|
|
|
325
344
|
};
|
|
326
345
|
}
|
|
327
346
|
function isDuplicateRouteRegistrationError(error) {
|
|
328
|
-
|
|
347
|
+
const message = readObjectMember(error, "message");
|
|
348
|
+
return isErrorValue(error) && typeof message === "string" && message.includes("already declared for route");
|
|
329
349
|
}
|
|
330
350
|
function duplicateRouteRegistrationError(method, path, cause) {
|
|
331
351
|
return new Error(
|
|
@@ -497,11 +517,38 @@ function awaitAbortable(value, signal) {
|
|
|
497
517
|
},
|
|
498
518
|
(error) => {
|
|
499
519
|
signal.removeEventListener("abort", onAbort);
|
|
500
|
-
reject(
|
|
520
|
+
reject(normalizeError(error));
|
|
501
521
|
}
|
|
502
522
|
);
|
|
503
523
|
});
|
|
504
524
|
}
|
|
525
|
+
function readObjectMember(source, key) {
|
|
526
|
+
if (source === null || typeof source !== "object" && typeof source !== "function") {
|
|
527
|
+
return void 0;
|
|
528
|
+
}
|
|
529
|
+
try {
|
|
530
|
+
return source[key];
|
|
531
|
+
} catch {
|
|
532
|
+
return void 0;
|
|
533
|
+
}
|
|
534
|
+
}
|
|
535
|
+
function isErrorValue(value) {
|
|
536
|
+
try {
|
|
537
|
+
return value instanceof Error;
|
|
538
|
+
} catch {
|
|
539
|
+
return false;
|
|
540
|
+
}
|
|
541
|
+
}
|
|
542
|
+
function normalizeError(value) {
|
|
543
|
+
if (isErrorValue(value)) {
|
|
544
|
+
return value;
|
|
545
|
+
}
|
|
546
|
+
try {
|
|
547
|
+
return new Error(String(value));
|
|
548
|
+
} catch {
|
|
549
|
+
return new Error("Unknown error");
|
|
550
|
+
}
|
|
551
|
+
}
|
|
505
552
|
function sleepAbortable(ms, signal) {
|
|
506
553
|
if (signal.aborted) {
|
|
507
554
|
throw new InternalMockAbortError();
|