UNPKG

@n1k1t/mock-server

Version:

Powerful util to setup mocks over HTTP APIs

90 lines 3.5 kB
"use strict"; var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { if (k2 === undefined) k2 = k; var desc = Object.getOwnPropertyDescriptor(m, k); if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { desc = { enumerable: true, get: function() { return m[k]; } }; } Object.defineProperty(o, k2, desc); }) : (function(o, m, k, k2) { if (k2 === undefined) k2 = k; o[k2] = m[k]; })); var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { Object.defineProperty(o, "default", { enumerable: true, value: v }); }) : function(o, v) { o["default"] = v; }); var __importStar = (this && this.__importStar) || (function () { var ownKeys = function(o) { ownKeys = Object.getOwnPropertyNames || function (o) { var ar = []; for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k; return ar; }; return ownKeys(o); }; return function (mod) { if (mod && mod.__esModule) return mod; var result = {}; if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]); __setModuleDefault(result, mod); return result; }; })(); var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.ExpectationOperator = void 0; const faker_1 = require("@faker-js/faker"); const dayjs_1 = __importDefault(require("dayjs")); const lodash_1 = __importDefault(require("lodash")); const rxjs = __importStar(require("rxjs")); const meta_1 = require("../../meta"); const logger_1 = require("../../logger"); const logger = logger_1.Logger.build('Expectations.Models.Operator'); class ExpectationOperator { constructor(operators, command) { this.operators = operators; this.command = command; } compileExecHandler(raw, provide) { const parameters = []; if (provide.includes('payload')) { parameters.push('payload'); } if (provide.includes('utils')) { parameters.push('{ context, mode, meta, T, _, d, faker }'); } const handler = typeof raw === 'function' ? raw : Function(parameters.join(', '), `return (() => ${raw})()`); return (mode, context, ...args) => { const utils = this.compileExecUtils(mode, context); const handled = handler(...args, utils); return typeof handled === 'function' ? handled(...args, utils) : handled; }; } extractNestedSchema(schema) { const key = Object.keys(schema)[0]; return key ? { key, nested: schema[key] } : null; } compileExecUtils(mode, context) { const faker = new faker_1.Faker({ locale: [faker_1.ru, faker_1.en, faker_1.en_GB] }); if (context.seed) { faker.seed(context.seed); } return { _: lodash_1.default, faker, mode, logger, context: context, meta: meta_1.metaStorage.provide(), T: (payload) => payload, rx: rxjs, d: dayjs_1.default, }; } } exports.ExpectationOperator = ExpectationOperator; //# sourceMappingURL=operator.js.map