Builder pattern
Quality API follows a half-traditional builder pattern.
Whenever a builder function is run, the original object isn't mutated, but rather cloned with new type parameters. This means that simply running a builder function, and then later returning the original object, will not return the new object.
See examples below.
The wrong way
import QualityApi from "@quality-api/core";
const middleware = QualityApi.createMiddleware(request => {
const parseResult = schema.parse(request.body);
request.setBody(parseResult.data);
return request;
});
export default middleware;
The right way
import QualityApi from "@quality-api/core";
const middleware = QualityApi.createMiddleware(request => {
const parseResult = schema.parse(request.body);
return request.setBody(parseResult.data);
});
export default middleware;