diff --git a/ts/src/header-validator/validate-json.ts b/ts/src/header-validator/validate-json.ts index 8fdab1d43a..b6c00af806 100644 --- a/ts/src/header-validator/validate-json.ts +++ b/ts/src/header-validator/validate-json.ts @@ -244,22 +244,26 @@ export function array( } function withErrorAsWarning( - f: CtxFunc -): CtxFunc { + f: CtxFunc>, + valueIfError: O +): CtxFunc> { return (i, ctx) => { const prev = ctx.errorAsWarning ctx.errorAsWarning = true const result = f(i, ctx) ctx.errorAsWarning = prev - return result + return result.value === undefined ? Maybe.some(valueIfError) : result } } export const commonDebugFields: StructFields = { - debugKey: field('debug_key', withDefault(withErrorAsWarning(uint64), null)), + debugKey: field( + 'debug_key', + withDefault(withErrorAsWarning(uint64, null), null) + ), debugReporting: field( 'debug_reporting', - withDefault(withErrorAsWarning(bool), false) + withDefault(withErrorAsWarning(bool, false), false) ), }