unmock-core
Version:
[][npmjs] [](https://circleci.com/gh/unmock/unmock-js) [](h
57 lines • 2.05 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
const generator_1 = require("../generator");
const random_number_generator_1 = require("../random-number-generator");
const serviceStore_1 = require("../service/serviceStore");
const DEFAULT_OPTIONS = {
isWhitelisted: (__) => false,
randomize: () => true,
log: (__) => { },
};
class UnmockFaker {
constructor({ listeners, randomNumberGenerator: rng, serviceStore, optionalsProbability, minItems, }) {
this.listeners = listeners ? listeners : [];
this.randomNumberGenerator = rng || random_number_generator_1.randomNumberGenerator({});
this.optionalsProbability = optionalsProbability || 1.0;
this.minItems = minItems || 0;
this.serviceStore = serviceStore;
this.createResponse = this.createResponseCreator();
this.nock = serviceStore_1.addFromNock(this.serviceStore);
this.mock = serviceStore_1.addFromNock(this.serviceStore);
}
setOptions(options) {
this.createResponse = this.createResponseCreator(options);
}
generate(request) {
return this.createResponse(request);
}
get services() {
return (this.serviceStore && this.serviceStore.services) || {};
}
add(service) {
this.serviceStore.add(service);
}
update(service) {
this.serviceStore.updateOrAddService(service);
}
reset() {
this.serviceStore.resetServices();
}
purge() {
this.serviceStore.removeAll();
}
createResponseCreator(options) {
return generator_1.responseCreatorFactory({
listeners: this.listeners,
options: options || DEFAULT_OPTIONS,
fakerOptions: {
randomNumberGenerator: this.randomNumberGenerator,
minItems: this.minItems,
optionalsProbability: this.optionalsProbability,
},
store: this.serviceStore,
});
}
}
exports.default = UnmockFaker;
//# sourceMappingURL=index.js.map