Skip to content

Commit

Permalink
refactor required (#252)
Browse files Browse the repository at this point in the history
* refactor required

* fixes

* refactor required

* refactor

* avoid unecessary funcs

* better regex

* handle const

* codec

* tpl

* arr

* obj

* str fmt

* all, any

* consts

* all call extra

* arr like

* more

* clippy

* clippy
  • Loading branch information
lucasavila00 authored Jan 22, 2025
1 parent e685f59 commit 7082059
Show file tree
Hide file tree
Showing 31 changed files with 1,862 additions and 1,736 deletions.
1 change: 0 additions & 1 deletion .prettierignore
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@
*.next/
*dist/
*pkg/
packages/beff-wasm/bundled-code/
packages/beff-cli/dist-cli/
packages/beff-wasm/dist-cli/
packages/web-docs/static/playground/assets/
Expand Down
2 changes: 1 addition & 1 deletion e2e-tests/bug-rust-repro/src/generated/parser.d.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
import { BuildParserFunction } from "@beff/cli";

declare const _exports: {
buildParsers: BuildParserFunction
buildParsers: BuildParserFunction;
};

export default _exports;
27 changes: 13 additions & 14 deletions e2e-tests/bug-rust-repro/src/generated/parser.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,20 +4,17 @@

import {printErrors} from '@beff/client';
import {z} from 'zod';
import validatorsMod from "./validators.js"; const { decodeObject, decodeArray, decodeString, decodeNumber, decodeCodec, decodeFunction, decodeStringWithFormat, decodeAnyOf, decodeAllOf, decodeBoolean, decodeAny, decodeTuple, decodeNull, decodeNever, decodeConst, registerCustomFormatter, validators, c } = validatorsMod;
import validatorsMod from "./validators.js"; const { ObjectDecoder, ArrayDecoder, decodeString, decodeNumber, CodecDecoder, decodeFunction, StringWithFormatDecoder, AnyOfDecoder, AllOfDecoder, decodeBoolean, decodeAny, TupleDecoder, decodeNull, decodeNever, RegexDecoder, ConstDecoder, registerCustomFormatter, AnyOfConstsDecoder, AnyOfDiscriminatedDecoder, validators, c } = validatorsMod;
const RequiredCustomFormats = ["ValidCurrency"];
const buildParsersInput = {
"A": function(ctx, input, required = true) {
return validators.A(ctx, input, required);
}
"A": validators.A
};




function buildParsers(args) {

const customFormats = args?.customFormats ?? {}
const customFormats = args?.customFormats ?? {};

for (const k of RequiredCustomFormats) {
if (customFormats[k] == null) {
Expand All @@ -31,7 +28,6 @@ function buildParsers(args) {
registerCustomFormatter(k, v);
});


let decoders = {};

Object.keys(buildParsersInput).forEach((k) => {
Expand All @@ -57,16 +53,19 @@ function buildParsers(args) {
const error = new Error(`Failed to parse ${k}`);

error.errors = safe.errors;
throw error
throw error;
};
const zod = () => {

return z.custom(data => safeParse(data).success, val => {
const errors = safeParse(val).errors;

return printErrors(errors, [])
})
}
return z.custom(
(data) => safeParse(data).success,
(val) => {
const errors = safeParse(val).errors;

return printErrors(errors, []);
}
);
};
decoders[k] = {
parse,
safeParse,
Expand Down
Loading

0 comments on commit 7082059

Please sign in to comment.