ts-procedures 3.3.3 → 3.3.4
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 +29 -0
- package/build/errors.js +5 -1
- package/build/errors.js.map +1 -1
- package/build/implementations/http/hono-stream/index.js +25 -5
- package/build/implementations/http/hono-stream/index.js.map +1 -1
- package/build/implementations/http/hono-stream/index.test.js +116 -0
- package/build/implementations/http/hono-stream/index.test.js.map +1 -1
- package/build/index.d.ts +6 -2
- package/build/index.js +16 -9
- package/build/index.js.map +1 -1
- package/build/index.test.js +122 -0
- package/build/index.test.js.map +1 -1
- package/package.json +1 -1
- package/src/errors.ts +5 -1
- package/src/implementations/http/hono-stream/README.md +45 -8
- package/src/implementations/http/hono-stream/index.test.ts +286 -251
- package/src/implementations/http/hono-stream/index.ts +34 -12
- package/src/index.test.ts +166 -0
- package/src/index.ts +51 -22
package/build/index.test.js
CHANGED
|
@@ -694,4 +694,126 @@ describe('Streaming Procedures - CreateStream', () => {
|
|
|
694
694
|
expect(capturedSignal.aborted).toBe(true);
|
|
695
695
|
});
|
|
696
696
|
});
|
|
697
|
+
describe('isPrevalidated context property', () => {
|
|
698
|
+
test('Create skips validation when ctx.isPrevalidated is true', async () => {
|
|
699
|
+
const { Create } = Procedures();
|
|
700
|
+
const { SkipValidation } = Create('SkipValidation', {
|
|
701
|
+
schema: {
|
|
702
|
+
params: v.object({ name: v.string().required() }),
|
|
703
|
+
},
|
|
704
|
+
}, async (ctx, params) => {
|
|
705
|
+
return params;
|
|
706
|
+
});
|
|
707
|
+
// Without isPrevalidated, missing required param would throw
|
|
708
|
+
// With isPrevalidated: true, validation is skipped
|
|
709
|
+
const result = await SkipValidation({ isPrevalidated: true }, {});
|
|
710
|
+
expect(result).toEqual({});
|
|
711
|
+
});
|
|
712
|
+
test('Create validates when ctx.isPrevalidated is false', async () => {
|
|
713
|
+
const { Create } = Procedures();
|
|
714
|
+
const { ValidateParams } = Create('ValidateParams', {
|
|
715
|
+
schema: {
|
|
716
|
+
params: v.object({ name: v.string().required() }),
|
|
717
|
+
},
|
|
718
|
+
}, async (ctx, params) => {
|
|
719
|
+
return params;
|
|
720
|
+
});
|
|
721
|
+
// With isPrevalidated: false, validation should still run
|
|
722
|
+
try {
|
|
723
|
+
await ValidateParams({ isPrevalidated: false }, {});
|
|
724
|
+
expect.fail('Should have thrown validation error');
|
|
725
|
+
}
|
|
726
|
+
catch (e) {
|
|
727
|
+
expect(e).toBeInstanceOf(ProcedureValidationError);
|
|
728
|
+
}
|
|
729
|
+
});
|
|
730
|
+
test('Create validates when ctx.isPrevalidated is undefined', async () => {
|
|
731
|
+
const { Create } = Procedures();
|
|
732
|
+
const { ValidateUndefined } = Create('ValidateUndefined', {
|
|
733
|
+
schema: {
|
|
734
|
+
params: v.object({ id: v.number().required() }),
|
|
735
|
+
},
|
|
736
|
+
}, async (ctx, params) => {
|
|
737
|
+
return params;
|
|
738
|
+
});
|
|
739
|
+
// Without isPrevalidated property, validation should run
|
|
740
|
+
try {
|
|
741
|
+
await ValidateUndefined({}, {});
|
|
742
|
+
expect.fail('Should have thrown validation error');
|
|
743
|
+
}
|
|
744
|
+
catch (e) {
|
|
745
|
+
expect(e).toBeInstanceOf(ProcedureValidationError);
|
|
746
|
+
}
|
|
747
|
+
});
|
|
748
|
+
test('CreateStream skips validation when ctx.isPrevalidated is true', async () => {
|
|
749
|
+
const { CreateStream } = Procedures();
|
|
750
|
+
const { StreamSkipValidation } = CreateStream('StreamSkipValidation', {
|
|
751
|
+
schema: {
|
|
752
|
+
params: v.object({ count: v.number().required() }),
|
|
753
|
+
},
|
|
754
|
+
}, async function* (ctx, params) {
|
|
755
|
+
yield { received: params };
|
|
756
|
+
});
|
|
757
|
+
// With isPrevalidated: true, validation is skipped even with invalid params
|
|
758
|
+
const values = [];
|
|
759
|
+
for await (const val of StreamSkipValidation({ isPrevalidated: true }, {})) {
|
|
760
|
+
values.push(val);
|
|
761
|
+
}
|
|
762
|
+
expect(values).toEqual([{ received: {} }]);
|
|
763
|
+
});
|
|
764
|
+
test('CreateStream validates when ctx.isPrevalidated is false', async () => {
|
|
765
|
+
const { CreateStream } = Procedures();
|
|
766
|
+
const { StreamValidate } = CreateStream('StreamValidate', {
|
|
767
|
+
schema: {
|
|
768
|
+
params: v.object({ count: v.number().required() }),
|
|
769
|
+
},
|
|
770
|
+
}, async function* (ctx, params) {
|
|
771
|
+
yield { received: params };
|
|
772
|
+
});
|
|
773
|
+
// With isPrevalidated: false, validation should run
|
|
774
|
+
try {
|
|
775
|
+
for await (const _val of StreamValidate({ isPrevalidated: false }, {})) {
|
|
776
|
+
// consume
|
|
777
|
+
}
|
|
778
|
+
expect.fail('Should have thrown validation error');
|
|
779
|
+
}
|
|
780
|
+
catch (e) {
|
|
781
|
+
expect(e).toBeInstanceOf(ProcedureValidationError);
|
|
782
|
+
}
|
|
783
|
+
});
|
|
784
|
+
test('CreateStream validates when ctx.isPrevalidated is undefined', async () => {
|
|
785
|
+
const { CreateStream } = Procedures();
|
|
786
|
+
const { StreamValidateUndefined } = CreateStream('StreamValidateUndefined', {
|
|
787
|
+
schema: {
|
|
788
|
+
params: v.object({ value: v.string().required() }),
|
|
789
|
+
},
|
|
790
|
+
}, async function* (ctx, params) {
|
|
791
|
+
yield params;
|
|
792
|
+
});
|
|
793
|
+
// Without isPrevalidated property, validation should run
|
|
794
|
+
try {
|
|
795
|
+
for await (const _val of StreamValidateUndefined({}, {})) {
|
|
796
|
+
// consume
|
|
797
|
+
}
|
|
798
|
+
expect.fail('Should have thrown validation error');
|
|
799
|
+
}
|
|
800
|
+
catch (e) {
|
|
801
|
+
expect(e).toBeInstanceOf(ProcedureValidationError);
|
|
802
|
+
}
|
|
803
|
+
});
|
|
804
|
+
test('isPrevalidated is available in handler context', async () => {
|
|
805
|
+
const { Create } = Procedures();
|
|
806
|
+
let capturedIsPrevalidated;
|
|
807
|
+
const { CapturePrevalidated } = Create('CapturePrevalidated', {}, async (ctx) => {
|
|
808
|
+
capturedIsPrevalidated = ctx.isPrevalidated;
|
|
809
|
+
return 'done';
|
|
810
|
+
});
|
|
811
|
+
await CapturePrevalidated({ isPrevalidated: true }, {});
|
|
812
|
+
expect(capturedIsPrevalidated).toBe(true);
|
|
813
|
+
await CapturePrevalidated({ isPrevalidated: false }, {});
|
|
814
|
+
expect(capturedIsPrevalidated).toBe(false);
|
|
815
|
+
await CapturePrevalidated({}, {});
|
|
816
|
+
expect(capturedIsPrevalidated).toBeUndefined();
|
|
817
|
+
});
|
|
818
|
+
});
|
|
697
819
|
//# sourceMappingURL=index.test.js.map
|
package/build/index.test.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.test.js","sourceRoot":"","sources":["../src/index.test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.test.js","sourceRoot":"","sources":["../src/index.test.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "ts-procedures",
|
|
3
|
-
"version": "3.3.
|
|
3
|
+
"version": "3.3.4",
|
|
4
4
|
"description": "A TypeScript RPC framework that creates type-safe, schema-validated procedure calls with a single function definition. Define your procedures once and get full type inference, runtime validation, and framework integration hooks.",
|
|
5
5
|
"main": "build/exports.js",
|
|
6
6
|
"types": "build/exports.d.ts",
|
package/src/errors.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { TSchemaValidationError } from './schema/parser.js'
|
|
2
2
|
import { DefinitionInfo, DefinitionLocation, formatDefinitionInfo } from './stack-utils.js'
|
|
3
|
+
import { kebabCase } from 'es-toolkit/string'
|
|
3
4
|
|
|
4
5
|
export class ProcedureError extends Error {
|
|
5
6
|
cause?: unknown
|
|
@@ -63,7 +64,10 @@ export class ProcedureValidationError extends ProcedureError {
|
|
|
63
64
|
// Used for error stack trace details
|
|
64
65
|
definitionInfo?: DefinitionInfo
|
|
65
66
|
) {
|
|
66
|
-
|
|
67
|
+
const readableErrors = errors
|
|
68
|
+
?.map((err) => `- ${kebabCase(err.instancePath).replace('-', '.')} ${err.message}`)
|
|
69
|
+
.join(', ')
|
|
70
|
+
super(procedureName, message + ' ' + readableErrors, { errors }, definitionInfo)
|
|
67
71
|
this.name = 'ProcedureValidationError'
|
|
68
72
|
|
|
69
73
|
// https://www.dannyguo.com/blog/how-to-fix-instanceof-not-working-for-custom-errors-in-typescript/
|
|
@@ -166,18 +166,53 @@ builder.register(factory, context, {
|
|
|
166
166
|
Hooks execute in the following order:
|
|
167
167
|
|
|
168
168
|
```
|
|
169
|
-
onRequestStart → onStreamStart → [yields...] → onStreamEnd → onRequestEnd
|
|
170
|
-
↓
|
|
171
|
-
|
|
172
|
-
↓
|
|
173
|
-
error sent in stream
|
|
174
|
-
|
|
175
|
-
|
|
169
|
+
onRequestStart → [validation] → onStreamStart → [yields...] → onStreamEnd → onRequestEnd
|
|
170
|
+
↓ ↓
|
|
171
|
+
(validation error) (stream error)
|
|
172
|
+
↓ ↓
|
|
173
|
+
HTTP 400 response error sent in stream
|
|
174
|
+
↓
|
|
175
|
+
onStreamEnd
|
|
176
176
|
```
|
|
177
177
|
|
|
178
|
+
## Validation
|
|
179
|
+
|
|
180
|
+
### Pre-validation
|
|
181
|
+
|
|
182
|
+
`HonoStreamAppBuilder` validates parameters **before** starting the stream to return proper HTTP error responses. To avoid redundant validation, it passes `isPrevalidated: true` in the context when calling procedure handlers. This means:
|
|
183
|
+
|
|
184
|
+
1. Params are validated by `HonoStreamAppBuilder` at the HTTP layer
|
|
185
|
+
2. If validation fails, a 400 response is returned (no stream starts)
|
|
186
|
+
3. If validation passes, the procedure handler is called with `isPrevalidated: true`
|
|
187
|
+
4. The procedure's internal validation is skipped, avoiding duplicate work
|
|
188
|
+
|
|
189
|
+
This design allows for:
|
|
190
|
+
- Clean HTTP error responses (400 status code, JSON body) instead of stream errors
|
|
191
|
+
- No duplicate validation overhead
|
|
192
|
+
- Consistent error handling at the framework level
|
|
193
|
+
|
|
178
194
|
## Error Handling
|
|
179
195
|
|
|
180
|
-
|
|
196
|
+
### Validation Errors (Before Stream)
|
|
197
|
+
|
|
198
|
+
Parameter validation errors are returned as HTTP 400 responses **before** the stream starts:
|
|
199
|
+
|
|
200
|
+
```typescript
|
|
201
|
+
// With custom error handler
|
|
202
|
+
const builder = new HonoStreamAppBuilder({
|
|
203
|
+
onStreamError: (procedure, c, error) => {
|
|
204
|
+
return c.json({ error: error.message }, 400)
|
|
205
|
+
},
|
|
206
|
+
})
|
|
207
|
+
|
|
208
|
+
// Without handler, returns default JSON response:
|
|
209
|
+
// Status: 400
|
|
210
|
+
// Body: { "error": "Validation error for ProcedureName - ..." }
|
|
211
|
+
```
|
|
212
|
+
|
|
213
|
+
### Stream Errors (During Streaming)
|
|
214
|
+
|
|
215
|
+
Errors that occur **during** streaming are sent as special messages in the stream:
|
|
181
216
|
|
|
182
217
|
**SSE Mode:**
|
|
183
218
|
```
|
|
@@ -190,6 +225,8 @@ data: {"error":"Error message"}
|
|
|
190
225
|
{"error":"Error message"}
|
|
191
226
|
```
|
|
192
227
|
|
|
228
|
+
### Pre-Stream Errors
|
|
229
|
+
|
|
193
230
|
For errors before streaming starts (e.g., context resolution), use `onStreamError`:
|
|
194
231
|
|
|
195
232
|
```typescript
|