@nxtedition/lib 23.5.9 → 23.5.11

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/cache.js +4 -2
  2. package/errors.js +23 -3
  3. package/http.js +10 -10
  4. package/package.json +1 -1
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
@@ -168,15 +168,15 @@ export async function requestMiddleware(ctx, next) {
168
168
  if (isHealthcheck) {
169
169
  // Do nothing...
170
170
  } else if (res.errored) {
171
- logger.error({ err: res.errored, req, res, elapsedTime }, 'request error')
171
+ logger.error({ err: res.errored, res, elapsedTime }, 'request error')
172
172
  } else if (!res.writableEnded) {
173
- logger.debug({ req, res, elapsedTime }, 'request aborted')
173
+ logger.debug({ res, elapsedTime }, 'request aborted')
174
174
  } else if (res.statusCode >= 500) {
175
- logger.error({ req, res, elapsedTime }, 'request error')
175
+ logger.error({ res, elapsedTime }, 'request error')
176
176
  } else if (res.statusCode >= 400) {
177
- logger.warn({ req, res, elapsedTime }, 'request failed')
177
+ logger.warn({ res, elapsedTime }, 'request failed')
178
178
  } else {
179
- logger.debug({ req, res, elapsedTime }, 'request completed')
179
+ logger.debug({ res, elapsedTime }, 'request completed')
180
180
  }
181
181
  } catch (err) {
182
182
  ctx[kAbortController]?.abort(err)
@@ -231,17 +231,17 @@ export async function requestMiddleware(ctx, next) {
231
231
  }
232
232
 
233
233
  if (statusCode < 500) {
234
- logger.warn({ req, res, err, elapsedTime }, 'request failed')
234
+ logger.warn({ res, err, elapsedTime }, 'request failed')
235
235
  } else {
236
- logger.error({ req, res, err, elapsedTime }, 'request error')
236
+ logger.error({ res, err, elapsedTime }, 'request error')
237
237
  }
238
238
  } else {
239
239
  if (req.aborted || err.name === 'AbortError') {
240
- logger.debug({ req, res, err, elapsedTime }, 'request aborted')
240
+ logger.debug({ res, err, elapsedTime }, 'request aborted')
241
241
  } else if (statusCode < 500) {
242
- logger.warn({ req, res, err, elapsedTime }, 'request failed')
242
+ logger.warn({ res, err, elapsedTime }, 'request failed')
243
243
  } else {
244
- logger.error({ req, res, err, elapsedTime }, 'request error')
244
+ logger.error({ res, err, elapsedTime }, 'request error')
245
245
  }
246
246
  res.destroy(err)
247
247
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nxtedition/lib",
3
- "version": "23.5.9",
3
+ "version": "23.5.11",
4
4
  "license": "MIT",
5
5
  "author": "Robert Nagy <robert.nagy@boffins.se>",
6
6
  "type": "module",