@n1k1t/mock-server
Version:
Powerful util to setup mocks over HTTP APIs
32 lines • 1.27 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.ExpectationsStorage = void 0;
const expectation_1 = require("./expectation");
const logger_1 = require("../../logger");
const logger = logger_1.Logger.build('Expectations.Storage');
class ExpectationsStorage extends Map {
register(configuration) {
const expectation = expectation_1.Expectation.build(configuration);
const errors = expectation.validate();
if (errors.length) {
return { status: 'ERROR', reasons: errors };
}
logger.info(`Expectation [${expectation.name}] has registered in group [${expectation.group}]`);
this.set(expectation.id, expectation);
return { status: 'REGISTERED', expectation };
}
match(context) {
for (const expectation of this.values()) {
if (!expectation.isEnabled) {
continue;
}
const hasSameTransport = expectation.transports?.includes(context.transport) ?? true;
if (hasSameTransport && expectation.request.match(context)) {
return expectation;
}
}
return null;
}
}
exports.ExpectationsStorage = ExpectationsStorage;
//# sourceMappingURL=storage.js.map