UNPKG

@n1k1t/mock-server

Version:

Powerful util to setup mocks over HTTP APIs

32 lines 1.27 kB
"use strict"; 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