zodvex 0.3.2 → 0.4.0

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 (62) hide show
  1. package/dist/__type-tests__/infer-returns.d.ts +2 -0
  2. package/dist/__type-tests__/infer-returns.d.ts.map +1 -0
  3. package/dist/__type-tests__/zodTable-inference.d.ts +2 -0
  4. package/dist/__type-tests__/zodTable-inference.d.ts.map +1 -0
  5. package/dist/builders.d.ts +173 -0
  6. package/dist/builders.d.ts.map +1 -0
  7. package/dist/codec.d.ts +11 -0
  8. package/dist/codec.d.ts.map +1 -0
  9. package/dist/custom.d.ts +142 -0
  10. package/dist/custom.d.ts.map +1 -0
  11. package/dist/ids.d.ts +23 -0
  12. package/dist/ids.d.ts.map +1 -0
  13. package/dist/index.d.ts +10 -599
  14. package/dist/index.d.ts.map +1 -0
  15. package/dist/index.js +27 -11
  16. package/dist/index.js.map +1 -1
  17. package/dist/mapping/core.d.ts +5 -0
  18. package/dist/mapping/core.d.ts.map +1 -0
  19. package/dist/mapping/handlers/enum.d.ts +4 -0
  20. package/dist/mapping/handlers/enum.d.ts.map +1 -0
  21. package/dist/mapping/handlers/index.d.ts +5 -0
  22. package/dist/mapping/handlers/index.d.ts.map +1 -0
  23. package/dist/mapping/handlers/nullable.d.ts +7 -0
  24. package/dist/mapping/handlers/nullable.d.ts.map +1 -0
  25. package/dist/mapping/handlers/record.d.ts +4 -0
  26. package/dist/mapping/handlers/record.d.ts.map +1 -0
  27. package/dist/mapping/handlers/union.d.ts +5 -0
  28. package/dist/mapping/handlers/union.d.ts.map +1 -0
  29. package/dist/mapping/index.d.ts +4 -0
  30. package/dist/mapping/index.d.ts.map +1 -0
  31. package/dist/mapping/types.d.ts +43 -0
  32. package/dist/mapping/types.d.ts.map +1 -0
  33. package/dist/mapping/utils.d.ts +6 -0
  34. package/dist/mapping/utils.d.ts.map +1 -0
  35. package/dist/registry.d.ts +110 -0
  36. package/dist/registry.d.ts.map +1 -0
  37. package/dist/tables.d.ts +122 -0
  38. package/dist/tables.d.ts.map +1 -0
  39. package/dist/transform/index.d.ts +26 -0
  40. package/dist/transform/index.d.ts.map +1 -0
  41. package/dist/transform/index.js +442 -0
  42. package/dist/transform/index.js.map +1 -0
  43. package/dist/transform/transform.d.ts +47 -0
  44. package/dist/transform/transform.d.ts.map +1 -0
  45. package/dist/transform/traverse.d.ts +62 -0
  46. package/dist/transform/traverse.d.ts.map +1 -0
  47. package/dist/transform/types.d.ts +115 -0
  48. package/dist/transform/types.d.ts.map +1 -0
  49. package/dist/types.d.ts +29 -0
  50. package/dist/types.d.ts.map +1 -0
  51. package/dist/utils.d.ts +39 -0
  52. package/dist/utils.d.ts.map +1 -0
  53. package/dist/wrappers.d.ts +22 -0
  54. package/dist/wrappers.d.ts.map +1 -0
  55. package/package.json +13 -6
  56. package/src/__type-tests__/infer-returns.ts +24 -0
  57. package/src/custom.ts +170 -15
  58. package/src/transform/index.ts +38 -0
  59. package/src/transform/transform.ts +409 -0
  60. package/src/transform/traverse.ts +320 -0
  61. package/src/transform/types.ts +128 -0
  62. package/src/types.ts +3 -2
package/dist/index.js CHANGED
@@ -725,6 +725,20 @@ function safeOmit(schema, mask) {
725
725
  }
726
726
 
727
727
  // src/custom.ts
728
+ function customCtxWithHooks(fn) {
729
+ return {
730
+ args: {},
731
+ input: async (ctx) => {
732
+ const result = await fn(ctx);
733
+ return {
734
+ ctx: result.ctx ?? {},
735
+ args: result.args ?? {},
736
+ hooks: result.hooks,
737
+ transforms: result.transforms
738
+ };
739
+ }
740
+ };
741
+ }
728
742
  function customFnBuilder(builder, customization) {
729
743
  const customInput = customization.input ?? NoOp.input;
730
744
  const inputArgs = customization.args ?? NoOp.args;
@@ -777,17 +791,18 @@ function customFnBuilder(builder, customization) {
777
791
  } catch (e) {
778
792
  handleZodValidationError(e, "returns");
779
793
  }
780
- if (added?.onSuccess) {
781
- await added.onSuccess({
794
+ if (added?.hooks?.onSuccess) {
795
+ await added.hooks.onSuccess({
782
796
  ctx,
783
797
  args: parsed.data,
784
798
  result: validated
785
799
  });
786
800
  }
787
- return toConvexJS(returns, validated);
801
+ const transformed = added?.transforms?.output ? await added.transforms.output(validated, returns) : validated;
802
+ return toConvexJS(returns, transformed);
788
803
  }
789
- if (added?.onSuccess) {
790
- await added.onSuccess({ ctx, args: parsed.data, result: ret });
804
+ if (added?.hooks?.onSuccess) {
805
+ await added.hooks.onSuccess({ ctx, args: parsed.data, result: ret });
791
806
  }
792
807
  return ret;
793
808
  }
@@ -814,13 +829,14 @@ function customFnBuilder(builder, customization) {
814
829
  } catch (e) {
815
830
  handleZodValidationError(e, "returns");
816
831
  }
817
- if (added?.onSuccess) {
818
- await added.onSuccess({ ctx, args: allArgs, result: validated });
832
+ if (added?.hooks?.onSuccess) {
833
+ await added.hooks.onSuccess({ ctx, args: allArgs, result: validated });
819
834
  }
820
- return toConvexJS(returns, validated);
835
+ const transformed = added?.transforms?.output ? await added.transforms.output(validated, returns) : validated;
836
+ return toConvexJS(returns, transformed);
821
837
  }
822
- if (added?.onSuccess) {
823
- await added.onSuccess({ ctx, args: allArgs, result: ret });
838
+ if (added?.hooks?.onSuccess) {
839
+ await added.hooks.onSuccess({ ctx, args: allArgs, result: ret });
824
840
  }
825
841
  return ret;
826
842
  }
@@ -1098,6 +1114,6 @@ function zodTable(name, schemaOrShape) {
1098
1114
  }
1099
1115
  }
1100
1116
 
1101
- export { addSystemFields, composeOverrides, convexCodec, customFnBuilder, findBaseCodec, formatZodIssues, fromConvexJS, getObjectShape, getZidTableName, handleZodValidationError, isDateSchema, isZidSchema, makeUnion, mapDateFieldToNumber, pick, pickShape, registerBaseCodec, registryHelpers, returnsAs, safeOmit, safePick, toConvexJS, toJSONSchema, zActionBuilder, zCustomAction, zCustomActionBuilder, zCustomMutation, zCustomMutationBuilder, zCustomQuery, zCustomQueryBuilder, zMutationBuilder, zPaginated, zQueryBuilder, zid, zodDoc, zodDocOrNull, zodTable, zodToConvex, zodToConvexFields, zodvexJSONSchemaOverride };
1117
+ export { addSystemFields, composeOverrides, convexCodec, customCtxWithHooks, customFnBuilder, findBaseCodec, formatZodIssues, fromConvexJS, getObjectShape, getZidTableName, handleZodValidationError, isDateSchema, isZidSchema, makeUnion, mapDateFieldToNumber, pick, pickShape, registerBaseCodec, registryHelpers, returnsAs, safeOmit, safePick, toConvexJS, toJSONSchema, zActionBuilder, zCustomAction, zCustomActionBuilder, zCustomMutation, zCustomMutationBuilder, zCustomQuery, zCustomQueryBuilder, zMutationBuilder, zPaginated, zQueryBuilder, zid, zodDoc, zodDocOrNull, zodTable, zodToConvex, zodToConvexFields, zodvexJSONSchemaOverride };
1102
1118
  //# sourceMappingURL=index.js.map
1103
1119
  //# sourceMappingURL=index.js.map