MCPcopy
hub / github.com/fastify/fastify / validateParam

Function validateParam

lib/validation.js:118–144  ·  view source on GitHub ↗
(validatorFunction, request, paramName)

Source from the content-addressed store, hash-verified

116}
117
118function validateParam (validatorFunction, request, paramName) {
119 const isUndefined = request[paramName] === undefined
120 let ret
121
122 try {
123 ret = validatorFunction?.(isUndefined ? null : request[paramName])
124 } catch (err) {
125 // If validator throws synchronously, ensure it propagates as an internal error
126 err.statusCode = 500
127 return err
128 }
129
130 if (ret && typeof ret.then === 'function') {
131 return ret
132 .then((res) => { return answer(res) })
133 .catch(err => { return err }) // return as simple error (not throw)
134 }
135
136 return answer(ret)
137
138 function answer (ret) {
139 if (ret === false) return validatorFunction.errors
140 if (ret && ret.error) return ret.error
141 if (ret && ret.value) request[paramName] = ret.value
142 return false
143 }
144}
145
146function validate (context, request, execution) {
147 const runExecution = execution === undefined

Callers 1

validateFunction · 0.85

Calls 2

answerFunction · 0.85
thenMethod · 0.80

Tested by

no test coverage detected