@c9up/ream 0.2.13 → 0.2.15
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 +1 -0
- package/dist/Application.d.ts.map +1 -1
- package/dist/Application.js +6 -1
- package/dist/Application.js.map +1 -1
- package/dist/GracefulShutdown.js +6 -5
- package/dist/GracefulShutdown.js.map +1 -1
- package/dist/Provider.d.ts +20 -2
- package/dist/Provider.d.ts.map +1 -1
- package/dist/Provider.js.map +1 -1
- package/dist/bodyparser/MultipartFile.d.ts +33 -7
- package/dist/bodyparser/MultipartFile.d.ts.map +1 -1
- package/dist/bodyparser/MultipartFile.js +61 -12
- package/dist/bodyparser/MultipartFile.js.map +1 -1
- package/dist/bodyparser/parseSize.d.ts.map +1 -1
- package/dist/bodyparser/parseSize.js +3 -2
- package/dist/bodyparser/parseSize.js.map +1 -1
- package/dist/commands/MigrateBase.d.ts.map +1 -1
- package/dist/commands/MigrateBase.js +4 -1
- package/dist/commands/MigrateBase.js.map +1 -1
- package/dist/console/Kernel.d.ts.map +1 -1
- package/dist/console/Kernel.js +7 -0
- package/dist/console/Kernel.js.map +1 -1
- package/dist/console/types.d.ts +14 -0
- package/dist/console/types.d.ts.map +1 -1
- package/dist/console/types.js.map +1 -1
- package/dist/container/Container.d.ts +19 -3
- package/dist/container/Container.d.ts.map +1 -1
- package/dist/container/Container.js +89 -31
- package/dist/container/Container.js.map +1 -1
- package/dist/container/ContainerResolver.js.map +1 -1
- package/dist/container/types.d.ts +11 -1
- package/dist/container/types.d.ts.map +1 -1
- package/dist/decorators/Service.d.ts +1 -1
- package/dist/decorators/Service.d.ts.map +1 -1
- package/dist/env/Env.d.ts.map +1 -1
- package/dist/env/Env.js +4 -2
- package/dist/env/Env.js.map +1 -1
- package/dist/env/interpolate.d.ts.map +1 -1
- package/dist/env/interpolate.js +5 -3
- package/dist/env/interpolate.js.map +1 -1
- package/dist/errors/FuzzyMatcher.d.ts.map +1 -1
- package/dist/errors/FuzzyMatcher.js +30 -13
- package/dist/errors/FuzzyMatcher.js.map +1 -1
- package/dist/errors/PipelineStageError.d.ts.map +1 -1
- package/dist/errors/PipelineStageError.js +4 -2
- package/dist/errors/PipelineStageError.js.map +1 -1
- package/dist/events/Emitter.d.ts +21 -4
- package/dist/events/Emitter.d.ts.map +1 -1
- package/dist/events/Emitter.js +6 -2
- package/dist/events/Emitter.js.map +1 -1
- package/dist/events/testing/FakeBus.d.ts +1 -1
- package/dist/events/testing/FakeBus.d.ts.map +1 -1
- package/dist/events/testing/FakeBus.js.map +1 -1
- package/dist/graphql/GraphQLEngine.d.ts +2 -2
- package/dist/graphql/GraphQLEngine.d.ts.map +1 -1
- package/dist/graphql/GraphQLEngine.js +4 -2
- package/dist/graphql/GraphQLEngine.js.map +1 -1
- package/dist/helpers/bytes.d.ts.map +1 -1
- package/dist/helpers/bytes.js +13 -2
- package/dist/helpers/bytes.js.map +1 -1
- package/dist/helpers/string.js +3 -3
- package/dist/helpers/string.js.map +1 -1
- package/dist/http/Exception.d.ts +8 -4
- package/dist/http/Exception.d.ts.map +1 -1
- package/dist/http/Exception.js +14 -8
- package/dist/http/Exception.js.map +1 -1
- package/dist/http/Request.d.ts.map +1 -1
- package/dist/http/Request.js +10 -7
- package/dist/http/Request.js.map +1 -1
- package/dist/http/Response.d.ts.map +1 -1
- package/dist/http/Response.js +4 -9
- package/dist/http/Response.js.map +1 -1
- package/dist/http/SseStream.d.ts.map +1 -1
- package/dist/http/SseStream.js +10 -1
- package/dist/http/SseStream.js.map +1 -1
- package/dist/http/etag.d.ts +44 -0
- package/dist/http/etag.d.ts.map +1 -0
- package/dist/http/etag.js +65 -0
- package/dist/http/etag.js.map +1 -0
- package/dist/http/mime.d.ts +33 -0
- package/dist/http/mime.d.ts.map +1 -0
- package/dist/http/mime.js +1347 -0
- package/dist/http/mime.js.map +1 -0
- package/dist/index.d.ts +3 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/native/generated.d.ts +12 -8
- package/dist/native/generated.d.ts.map +1 -1
- package/dist/openapi/OpenApiGenerator.d.ts.map +1 -1
- package/dist/openapi/OpenApiGenerator.js +6 -4
- package/dist/openapi/OpenApiGenerator.js.map +1 -1
- package/dist/router/Router.d.ts +10 -1
- package/dist/router/Router.d.ts.map +1 -1
- package/dist/router/Router.js +22 -10
- package/dist/router/Router.js.map +1 -1
- package/dist/rpc/RpcRouter.d.ts +16 -3
- package/dist/rpc/RpcRouter.d.ts.map +1 -1
- package/dist/rpc/RpcRouter.js +34 -3
- package/dist/rpc/RpcRouter.js.map +1 -1
- package/dist/scheduler/Schedule.d.ts +6 -1
- package/dist/scheduler/Schedule.d.ts.map +1 -1
- package/dist/scheduler/Schedule.js +5 -0
- package/dist/scheduler/Schedule.js.map +1 -1
- package/dist/security/CookieSigner.d.ts.map +1 -1
- package/dist/security/CookieSigner.js +12 -5
- package/dist/security/CookieSigner.js.map +1 -1
- package/dist/security/SignedUrl.js +3 -2
- package/dist/security/SignedUrl.js.map +1 -1
- package/dist/session/drivers/DatabaseDriver.d.ts +13 -1
- package/dist/session/drivers/DatabaseDriver.d.ts.map +1 -1
- package/dist/session/drivers/DatabaseDriver.js +23 -3
- package/dist/session/drivers/DatabaseDriver.js.map +1 -1
- package/dist/session/drivers/RedisDriver.d.ts.map +1 -1
- package/dist/session/drivers/RedisDriver.js +10 -2
- package/dist/session/drivers/RedisDriver.js.map +1 -1
- package/dist/storage/StaticMiddleware.d.ts.map +1 -1
- package/dist/storage/StaticMiddleware.js +78 -59
- package/dist/storage/StaticMiddleware.js.map +1 -1
- package/dist/testing/ApiResponse.d.ts.map +1 -1
- package/dist/testing/ApiResponse.js +10 -11
- package/dist/testing/ApiResponse.js.map +1 -1
- package/dist/testing/TestClient.js +6 -6
- package/dist/testing/TestClient.js.map +1 -1
- package/dist/utils/Macroable.d.ts +6 -2
- package/dist/utils/Macroable.d.ts.map +1 -1
- package/dist/utils/Macroable.js +4 -0
- package/dist/utils/Macroable.js.map +1 -1
- package/dist/utils/objectPath.d.ts.map +1 -1
- package/dist/utils/objectPath.js +14 -6
- package/dist/utils/objectPath.js.map +1 -1
- package/events.darwin-arm64.node +0 -0
- package/events.darwin-x64.node +0 -0
- package/events.linux-arm64-gnu.node +0 -0
- package/events.linux-x64-gnu.node +0 -0
- package/events.win32-x64-msvc.node +0 -0
- package/index.darwin-arm64.node +0 -0
- package/index.darwin-x64.node +0 -0
- package/index.linux-arm64-gnu.node +0 -0
- package/index.linux-x64-gnu.node +0 -0
- package/index.win32-x64-msvc.node +0 -0
- package/package.json +5 -7
- package/scheduler.darwin-arm64.node +0 -0
- package/scheduler.darwin-x64.node +0 -0
- package/scheduler.linux-arm64-gnu.node +0 -0
- package/scheduler.linux-x64-gnu.node +0 -0
- package/scheduler.win32-x64-msvc.node +0 -0
- package/scripts/build-napi-types.mjs +4 -3
- package/scripts/generate-mime.mjs +119 -0
- package/scripts/generate-napi-types.mjs +28 -12
- package/src/Application.ts +6 -1
- package/src/GracefulShutdown.ts +5 -5
- package/src/Provider.ts +21 -2
- package/src/bodyparser/MultipartFile.ts +94 -16
- package/src/bodyparser/parseSize.ts +3 -2
- package/src/commands/MigrateBase.ts +4 -1
- package/src/console/BaseCommand.ts +1 -1
- package/src/console/Kernel.ts +8 -0
- package/src/console/types.ts +15 -0
- package/src/container/Container.ts +120 -57
- package/src/container/ContainerResolver.ts +1 -1
- package/src/container/types.ts +11 -1
- package/src/decorators/Service.ts +1 -1
- package/src/env/Env.ts +4 -2
- package/src/env/interpolate.ts +5 -3
- package/src/errors/FuzzyMatcher.ts +34 -13
- package/src/errors/PipelineStageError.ts +4 -2
- package/src/events/Emitter.ts +34 -8
- package/src/events/testing/FakeBus.ts +12 -5
- package/src/graphql/GraphQLEngine.ts +11 -7
- package/src/helpers/bytes.ts +13 -2
- package/src/helpers/string.ts +3 -3
- package/src/http/Exception.ts +14 -8
- package/src/http/Request.ts +8 -5
- package/src/http/Response.ts +4 -8
- package/src/http/SseStream.ts +16 -7
- package/src/http/etag.ts +68 -0
- package/src/http/mime.ts +1347 -0
- package/src/index.ts +3 -3
- package/src/native/generated.ts +12 -8
- package/src/openapi/OpenApiGenerator.ts +6 -4
- package/src/router/Router.ts +31 -11
- package/src/rpc/RpcRouter.ts +38 -8
- package/src/scheduler/Schedule.ts +8 -1
- package/src/security/CookieSigner.ts +15 -5
- package/src/security/SignedUrl.ts +3 -2
- package/src/session/drivers/DatabaseDriver.ts +36 -8
- package/src/session/drivers/RedisDriver.ts +13 -5
- package/src/storage/StaticMiddleware.ts +81 -66
- package/src/testing/ApiResponse.ts +9 -10
- package/src/testing/TestClient.ts +6 -6
- package/src/utils/Macroable.ts +6 -2
- package/src/utils/objectPath.ts +12 -6
|
@@ -368,15 +368,15 @@ export function parseHttpResponse(raw: string | Buffer): TestResponse {
|
|
|
368
368
|
|
|
369
369
|
const lines = headerSection.split('\r\n')
|
|
370
370
|
const statusLine = lines[0] ?? ''
|
|
371
|
-
const
|
|
372
|
-
const status =
|
|
371
|
+
const [, statusDigits] = statusLine.match(/HTTP\/\d+\.\d+ (\d+)/) ?? []
|
|
372
|
+
const status = statusDigits === undefined ? 0 : Number.parseInt(statusDigits, 10)
|
|
373
373
|
|
|
374
374
|
const headers: Dict = {}
|
|
375
|
-
for (
|
|
376
|
-
const colonIdx =
|
|
375
|
+
for (const line of lines.slice(1)) {
|
|
376
|
+
const colonIdx = line.indexOf(':')
|
|
377
377
|
if (colonIdx === -1) continue
|
|
378
|
-
const key =
|
|
379
|
-
const value =
|
|
378
|
+
const key = line.slice(0, colonIdx).trim().toLowerCase()
|
|
379
|
+
const value = line.slice(colonIdx + 1).trim()
|
|
380
380
|
headers[key] = value
|
|
381
381
|
}
|
|
382
382
|
|
package/src/utils/Macroable.ts
CHANGED
|
@@ -38,7 +38,11 @@ export class Macroable {
|
|
|
38
38
|
* `HttpContext`, and two subclasses declaring the same name clobbered each
|
|
39
39
|
* other silently.
|
|
40
40
|
*/
|
|
41
|
-
|
|
41
|
+
// `{ prototype: object }`, not `typeof Macroable`: a subclass whose
|
|
42
|
+
// constructor takes arguments — `Request`, say — has a different static side,
|
|
43
|
+
// so `Request.macro(...)` was "the 'this' context of type 'typeof Request' is
|
|
44
|
+
// not assignable". What this needs from `this` is the prototype it defines on.
|
|
45
|
+
static macro(this: { prototype: object }, name: string, fn: MacroFn): void {
|
|
42
46
|
Object.defineProperty(this.prototype, name, {
|
|
43
47
|
value: fn,
|
|
44
48
|
writable: true,
|
|
@@ -51,7 +55,7 @@ export class Macroable {
|
|
|
51
55
|
* `getter`). With `singleton`, the value is computed once per instance and
|
|
52
56
|
* cached.
|
|
53
57
|
*/
|
|
54
|
-
static getter(this:
|
|
58
|
+
static getter(this: { prototype: object }, name: string, fn: GetterFn, singleton = false): void {
|
|
55
59
|
if (!singleton) {
|
|
56
60
|
Object.defineProperty(this.prototype, name, { get: fn, configurable: true })
|
|
57
61
|
return
|
package/src/utils/objectPath.ts
CHANGED
|
@@ -77,9 +77,13 @@ export function hasPath(source: unknown, path: string): boolean {
|
|
|
77
77
|
*/
|
|
78
78
|
export function setPath(target: UnknownRecord, path: string, value: unknown): UnknownRecord {
|
|
79
79
|
const segments = toSegments(path)
|
|
80
|
+
// The last segment is the one written; everything before it is walked. Split
|
|
81
|
+
// off by name rather than by index, so neither has to be read back out of
|
|
82
|
+
// the array afterwards and re-checked for existence.
|
|
83
|
+
const last = segments.pop()
|
|
84
|
+
if (last === undefined) return target
|
|
80
85
|
let current: UnknownRecord = target
|
|
81
|
-
for (
|
|
82
|
-
const key = segments[i]
|
|
86
|
+
for (const key of segments) {
|
|
83
87
|
const next = current[key]
|
|
84
88
|
if (!isIndexable(next)) {
|
|
85
89
|
const created: UnknownRecord = {}
|
|
@@ -89,7 +93,7 @@ export function setPath(target: UnknownRecord, path: string, value: unknown): Un
|
|
|
89
93
|
current = next
|
|
90
94
|
}
|
|
91
95
|
}
|
|
92
|
-
current[
|
|
96
|
+
current[last] = value
|
|
93
97
|
return target
|
|
94
98
|
}
|
|
95
99
|
|
|
@@ -115,12 +119,14 @@ export function omitPaths(source: UnknownRecord, paths: string[]): UnknownRecord
|
|
|
115
119
|
const result = structuredClone(source)
|
|
116
120
|
for (const path of paths) {
|
|
117
121
|
const segments = toSegments(path)
|
|
122
|
+
const last = segments.pop()
|
|
123
|
+
if (last === undefined) continue
|
|
118
124
|
let current: unknown = result
|
|
119
|
-
for (
|
|
125
|
+
for (const key of segments) {
|
|
120
126
|
if (!isIndexable(current)) break
|
|
121
|
-
current = current[
|
|
127
|
+
current = current[key]
|
|
122
128
|
}
|
|
123
|
-
if (isIndexable(current)) delete current[
|
|
129
|
+
if (isIndexable(current)) delete current[last]
|
|
124
130
|
}
|
|
125
131
|
return result
|
|
126
132
|
}
|