@nxtedition/lib 23.5.10 → 23.5.12

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/cache.js CHANGED
@@ -58,11 +58,13 @@ export class AsyncCache {
58
58
  let cached = this.#lru.get(key)
59
59
 
60
60
  if (cached) {
61
- if (Date.now() < cached.expire) {
61
+ const now = Date.now()
62
+
63
+ if (now < cached.expire) {
62
64
  return cached.value
63
65
  }
64
66
 
65
- if (Date.now() - cached.expire >= this.#stale(cached.value, key)) {
67
+ if (now - cached.expire >= this.#stale(cached.value, key)) {
66
68
  // stale-while-revalidate has also expired, dont use cached value
67
69
  cached = null
68
70
  }
package/errors.js CHANGED
@@ -95,9 +95,9 @@ function _serializeError(error, { depth }) {
95
95
  message = msg,
96
96
  errors,
97
97
  code,
98
- exitCode = /^([A-Z]+|[a-z]+|[0-9]+)$/.test(code) ? code : undefined,
98
+ exitCode = Number(code),
99
99
  signal,
100
- signalCode = signal,
100
+ signalCode = Number(signal),
101
101
  cause,
102
102
  body,
103
103
  status,
@@ -106,6 +106,26 @@ function _serializeError(error, { depth }) {
106
106
  ...properties
107
107
  } = error
108
108
 
109
+ if (typeof message !== 'string') {
110
+ message = undefined
111
+ }
112
+
113
+ if (!Number.isInteger(exitCode)) {
114
+ exitCode = undefined
115
+ }
116
+
117
+ if (!Number.isInteger(signalCode)) {
118
+ signalCode = undefined
119
+ }
120
+
121
+ if (!Number.isInteger(statusCode)) {
122
+ statusCode = undefined
123
+ }
124
+
125
+ if (!fp.isPlainObject(headers)) {
126
+ headers = undefined
127
+ }
128
+
109
129
  if (typeof signal === 'number') {
110
130
  signal = SIGNALS[signal] ?? signal
111
131
  }
@@ -128,7 +148,7 @@ function _serializeError(error, { depth }) {
128
148
  ...properties,
129
149
  message: message ?? 'Unknown error',
130
150
  type: type !== 'Object' ? type : undefined,
131
- code: code ?? undefined,
151
+ code: code ? `${code}` : undefined,
132
152
  exitCode: exitCode ?? undefined,
133
153
  signalCode: signalCode ?? undefined,
134
154
  statusCode: statusCode ?? undefined,
package/http.js CHANGED
@@ -236,7 +236,7 @@ export async function requestMiddleware(ctx, next) {
236
236
  logger.error({ res, err, elapsedTime }, 'request error')
237
237
  }
238
238
  } else {
239
- if (req.aborted || err.name === 'AbortError') {
239
+ if (req.aborted || (!res.errored && res.closed) || err.name === 'AbortError') {
240
240
  logger.debug({ res, err, elapsedTime }, 'request aborted')
241
241
  } else if (statusCode < 500) {
242
242
  logger.warn({ res, err, elapsedTime }, 'request failed')
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nxtedition/lib",
3
- "version": "23.5.10",
3
+ "version": "23.5.12",
4
4
  "license": "MIT",
5
5
  "author": "Robert Nagy <robert.nagy@boffins.se>",
6
6
  "type": "module",