diff --git a/packages/client/src/api.ts b/packages/client/src/api.ts index 4c77110..e7b6dd7 100644 --- a/packages/client/src/api.ts +++ b/packages/client/src/api.ts @@ -324,7 +324,7 @@ async function executeServerAbility( */ export async function executeAbility( name: string, - input: AbilityInput = null + input?: AbilityInput ): Promise< AbilityOutput > { const ability = await getAbility( name ); if ( ! ability ) { diff --git a/packages/client/src/validation.ts b/packages/client/src/validation.ts index 030da40..8a35002 100644 --- a/packages/client/src/validation.ts +++ b/packages/client/src/validation.ts @@ -168,8 +168,9 @@ export function validateValueFromSchema( } try { - const validate = ajv.compile( args ); - const valid = validate( value ); + const { default: defaultValue, ...schemaWithoutDefault } = args; + const validate = ajv.compile( schemaWithoutDefault ); + const valid = validate( value === undefined ? defaultValue : value ); if ( valid ) { return true;