@@ -44,7 +44,7 @@ function validateAdvanceWave(payload) {
4444 }
4545 const amount = payload && payload . amount !== undefined ? Number ( payload . amount ) : 1 ;
4646 if ( ! Number . isFinite ( amount ) || amount <= 0 ) {
47- return { ok : false , reason : 'advanceWave requires amount > 0.' } ;
47+ return { ok : false , reason : 'advanceWave requires finite amount > 0.' } ;
4848 }
4949 return { ok : true } ;
5050}
@@ -53,8 +53,9 @@ function validateApplyScoreDelta(payload) {
5353 if ( ! isPlainObject ( payload ) ) {
5454 return { ok : false , reason : 'applyScoreDelta requires an object payload.' } ;
5555 }
56- if ( ! Number . isFinite ( Number ( payload . delta ) ) ) {
57- return { ok : false , reason : 'applyScoreDelta requires numeric payload.delta.' } ;
56+ const normalizedDelta = Number ( payload . delta ) ;
57+ if ( ! Number . isFinite ( normalizedDelta ) ) {
58+ return { ok : false , reason : 'applyScoreDelta requires finite numeric payload.delta.' } ;
5859 }
5960 return { ok : true } ;
6061}
@@ -96,11 +97,13 @@ function validateUpdateObjectiveProgress(payload) {
9697 if ( ! objectiveId ) {
9798 return { ok : false , reason : 'updateObjectiveProgress requires payload.objectiveId.' } ;
9899 }
99- if ( payload . currentValue !== undefined && ! Number . isFinite ( Number ( payload . currentValue ) ) ) {
100- return { ok : false , reason : 'updateObjectiveProgress payload.currentValue must be numeric when provided.' } ;
100+ const normalizedCurrent = payload . currentValue !== undefined ? Number ( payload . currentValue ) : null ;
101+ if ( payload . currentValue !== undefined && ! Number . isFinite ( normalizedCurrent ) ) {
102+ return { ok : false , reason : 'updateObjectiveProgress payload.currentValue must be finite numeric when provided.' } ;
101103 }
102- if ( payload . targetValue !== undefined && ! Number . isFinite ( Number ( payload . targetValue ) ) ) {
103- return { ok : false , reason : 'updateObjectiveProgress payload.targetValue must be numeric when provided.' } ;
104+ const normalizedTarget = payload . targetValue !== undefined ? Number ( payload . targetValue ) : null ;
105+ if ( payload . targetValue !== undefined && ! Number . isFinite ( normalizedTarget ) ) {
106+ return { ok : false , reason : 'updateObjectiveProgress payload.targetValue must be finite numeric when provided.' } ;
104107 }
105108 if ( payload . isComplete !== undefined && typeof payload . isComplete !== 'boolean' ) {
106109 return { ok : false , reason : 'updateObjectiveProgress payload.isComplete must be boolean when provided.' } ;
0 commit comments