UNPKG

@xpresser/params-loader

Version:
48 lines (47 loc) 1.41 kB
"use strict"; const xpresser_1 = require("xpresser"); // Import Xpresser const $ = (0, xpresser_1.getInstance)(); // Your Custom Request Engine class CustomRequestEngine extends $.extendedRequestEngine() { /** * Check if param has been loaded. * @param param - Param to check */ hasLoadedParam(param) { return this.loadedParams().hasOwnProperty(param); } /** * Add loaded param to state * @param param - Param to add * @param value - Value of param * @protected */ addLoadedParam(param, value) { // Add loaded params to the request this.state.path("loadedParams", {}).set(param, value); return this; } /** * Get all or pick loaded params from state. * @param pick - Optional list of params to pick */ loadedParams(pick) { // if no pick, return all loaded params if (!pick) return (this.state.data["loadedParams"] || {}); // if pick is string convert to array if (typeof pick === "string") pick = [pick]; // return picked params return this.state.path("loadedParams", {}).pick(pick); } /** * Get single loaded param from state. * @param param - Param to get */ loadedParam(param) { return this.state.path("loadedParams", {}).get(param); } } module.exports = CustomRequestEngine;