UNPKG

6.98 kBJavaScriptView Raw
1(function webpackUniversalModuleDefinition(root, factory) {
2 if(typeof exports === 'object' && typeof module === 'object')
3 module.exports = factory(require("joi"));
4 else if(typeof define === 'function' && define.amd)
5 define(["joi"], factory);
6 else {
7 var a = typeof exports === 'object' ? factory(require("joi")) : factory(root["joi"]);
8 for(var i in a) (typeof exports === 'object' ? exports : root)[i] = a[i];
9 }
10})(global, function(__WEBPACK_EXTERNAL_MODULE_joi__) {
11return /******/ (function(modules) { // webpackBootstrap
12/******/ // The module cache
13/******/ var installedModules = {};
14/******/
15/******/ // The require function
16/******/ function __webpack_require__(moduleId) {
17/******/
18/******/ // Check if module is in cache
19/******/ if(installedModules[moduleId]) {
20/******/ return installedModules[moduleId].exports;
21/******/ }
22/******/ // Create a new module (and put it into the cache)
23/******/ var module = installedModules[moduleId] = {
24/******/ i: moduleId,
25/******/ l: false,
26/******/ exports: {}
27/******/ };
28/******/
29/******/ // Execute the module function
30/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
31/******/
32/******/ // Flag the module as loaded
33/******/ module.l = true;
34/******/
35/******/ // Return the exports of the module
36/******/ return module.exports;
37/******/ }
38/******/
39/******/
40/******/ // expose the modules object (__webpack_modules__)
41/******/ __webpack_require__.m = modules;
42/******/
43/******/ // expose the module cache
44/******/ __webpack_require__.c = installedModules;
45/******/
46/******/ // define getter function for harmony exports
47/******/ __webpack_require__.d = function(exports, name, getter) {
48/******/ if(!__webpack_require__.o(exports, name)) {
49/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter });
50/******/ }
51/******/ };
52/******/
53/******/ // define __esModule on exports
54/******/ __webpack_require__.r = function(exports) {
55/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
56/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
57/******/ }
58/******/ Object.defineProperty(exports, '__esModule', { value: true });
59/******/ };
60/******/
61/******/ // create a fake namespace object
62/******/ // mode & 1: value is a module id, require it
63/******/ // mode & 2: merge all properties of value into the ns
64/******/ // mode & 4: return value when already ns object
65/******/ // mode & 8|1: behave like require
66/******/ __webpack_require__.t = function(value, mode) {
67/******/ if(mode & 1) value = __webpack_require__(value);
68/******/ if(mode & 8) return value;
69/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;
70/******/ var ns = Object.create(null);
71/******/ __webpack_require__.r(ns);
72/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value });
73/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));
74/******/ return ns;
75/******/ };
76/******/
77/******/ // getDefaultExport function for compatibility with non-harmony modules
78/******/ __webpack_require__.n = function(module) {
79/******/ var getter = module && module.__esModule ?
80/******/ function getDefault() { return module['default']; } :
81/******/ function getModuleExports() { return module; };
82/******/ __webpack_require__.d(getter, 'a', getter);
83/******/ return getter;
84/******/ };
85/******/
86/******/ // Object.prototype.hasOwnProperty.call
87/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
88/******/
89/******/ // __webpack_public_path__
90/******/ __webpack_require__.p = "";
91/******/
92/******/
93/******/ // Load entry module and return exports
94/******/ return __webpack_require__(__webpack_require__.s = "./src/Plugins/Joi/main.ts");
95/******/ })
96/************************************************************************/
97/******/ ({
98
99/***/ "./src/Plugins/Joi/ErrorTypes.ts":
100/*!***************************************!*\
101 !*** ./src/Plugins/Joi/ErrorTypes.ts ***!
102 \***************************************/
103/*! no static exports found */
104/***/ (function(module, exports, __webpack_require__) {
105
106"use strict";
107
108Object.defineProperty(exports, "__esModule", { value: true });
109var ErrorTypes;
110(function (ErrorTypes) {
111 ErrorTypes["INVALID_SCHEMA"] = "INVALID_SCHEMA";
112 ErrorTypes["VALIDATION_ERROR"] = "VALIDATION_ERROR";
113 ErrorTypes["REQUEST_BODY_NOT_FOUND"] = "REQUEST_BODY_NOT_FOUND";
114})(ErrorTypes || (ErrorTypes = {}));
115exports.default = ErrorTypes;
116
117
118/***/ }),
119
120/***/ "./src/Plugins/Joi/main.ts":
121/*!*********************************!*\
122 !*** ./src/Plugins/Joi/main.ts ***!
123 \*********************************/
124/*! no static exports found */
125/***/ (function(module, exports, __webpack_require__) {
126
127"use strict";
128
129Object.defineProperty(exports, "__esModule", { value: true });
130var Joi = __webpack_require__(/*! joi */ "joi");
131var createError_1 = __webpack_require__(/*! ../../Utils/createError */ "./src/Utils/createError.ts");
132var ErrorTypes_1 = __webpack_require__(/*! ./ErrorTypes */ "./src/Plugins/Joi/ErrorTypes.ts");
133var joiPlugin = function (schema) {
134 var pluginManifest = {
135 plugin: {
136 onRequest: function (handler) {
137 var body = handler.event.body;
138 if (!body) {
139 throw createError_1.default({
140 type: ErrorTypes_1.default.REQUEST_BODY_NOT_FOUND
141 });
142 }
143 if (!schema.isJoi) {
144 throw createError_1.default({
145 type: ErrorTypes_1.default.INVALID_SCHEMA
146 });
147 }
148 var error = Joi.validate(body, schema).error;
149 if (error) {
150 throw createError_1.default({
151 type: ErrorTypes_1.default.VALIDATION_ERROR,
152 source: error
153 });
154 }
155 }
156 }
157 };
158 return pluginManifest;
159};
160exports.default = joiPlugin;
161
162
163/***/ }),
164
165/***/ "./src/Utils/createError.ts":
166/*!**********************************!*\
167 !*** ./src/Utils/createError.ts ***!
168 \**********************************/
169/*! no static exports found */
170/***/ (function(module, exports, __webpack_require__) {
171
172"use strict";
173
174Object.defineProperty(exports, "__esModule", { value: true });
175var createError = function (errorEvent) {
176 return errorEvent;
177};
178exports.default = createError;
179
180
181/***/ }),
182
183/***/ "joi":
184/*!**********************!*\
185 !*** external "joi" ***!
186 \**********************/
187/*! no static exports found */
188/***/ (function(module, exports) {
189
190module.exports = __WEBPACK_EXTERNAL_MODULE_joi__;
191
192/***/ })
193
194/******/ });
195});
196//# sourceMappingURL=plugin-joi.js.map
\No newline at end of file