@n1k1t/mock-server
Version:
Powerful util to setup mocks over HTTP APIs
66 lines • 2.5 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.compileExpectationOperators = void 0;
const compileExpectationOperators = () => ({
not: (command) => ({ $not: command }),
and: (command) => ({ $and: command }),
or: (command) => ({ $or: command }),
exec: (command) => ({ $exec: command }),
if: (command) => ({ $if: command }),
switch: ($location, predicate, value, command) => ({
$switch: {
$location,
...(typeof predicate === 'object' && predicate),
...(typeof predicate === 'string' && {
...(predicate === '$exec' && { $exec: value }),
...(predicate === '$path' && { $path: value }),
}),
...(command ?? {}),
},
}),
has: ($location, predicate, value, command) => ({
$has: {
$location,
...(typeof predicate === 'object' && predicate),
...(typeof predicate === 'string' && {
...(predicate === '$path' && { $path: value }),
...(predicate === '$jsonPath' && { $jsonPath: value }),
}),
...(command ?? {}),
},
}),
set: ($location, predicate, value, command) => ({
$set: {
$location,
...(typeof predicate === 'object' && predicate),
...(typeof predicate === 'string' && {
...(predicate === '$path' && { $path: value }),
...(predicate === '$jsonPath' && { $jsonPath: value }),
}),
...(command ?? {}),
},
}),
merge: ($location, predicate, value, command) => ({
$merge: {
$location,
...(typeof predicate === 'object' && predicate),
...(typeof predicate === 'string' && {
...(predicate === '$path' && { $path: value }),
...(predicate === '$jsonPath' && { $jsonPath: value }),
}),
...(command ?? {}),
},
}),
remove: ($location, predicate, value) => ({
$remove: {
$location,
...(typeof predicate === 'object' && predicate),
...(typeof predicate === 'string' && {
...(predicate === '$path' && { $path: value }),
...(predicate === '$jsonPath' && { $jsonPath: value }),
}),
},
}),
});
exports.compileExpectationOperators = compileExpectationOperators;
//# sourceMappingURL=expectations.js.map