sipp
Version:
An Opinionated, High-Productivity MVC Web Framework in TypeScript
87 lines • 2.35 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.Query = exports.Params = exports.Headers = exports.Body = exports.Req = void 0;
const Validator_1 = require("../../validation/Validator");
const ORIGINAL_BODY = Symbol('original body');
class Req {
constructor(req) {
this.req = req;
this.sym = Symbol('request storage');
req[this.sym] = {};
this.method = req.method;
this.path = req.path;
this.id = req.id;
}
set(key, value) {
this.req[this.sym][key] = value;
}
get(key) {
return this.req[this.sym][key];
}
}
exports.Req = Req;
class Body extends Validator_1.Validator {
constructor(__body) {
super();
this.__body = __body;
Object.assign(this, __body);
this[ORIGINAL_BODY] = JSON.parse(JSON.stringify(__body));
}
getOriginal() {
return this[ORIGINAL_BODY];
}
get(key, defaultValue) {
return this.hasOwnProperty(key) ? this[key] : defaultValue;
}
set(key, value) {
this.__body[key] = value;
this[key] = value;
}
}
exports.Body = Body;
class Headers extends Validator_1.Validator {
constructor(__headers) {
super();
this.__headers = __headers;
Object.assign(this, __headers);
}
get(key, defaultValue) {
return this.hasOwnProperty(key) ? this[key] : defaultValue;
}
set(key, value) {
this.__headers[key] = value;
this[key] = value;
}
}
exports.Headers = Headers;
class Params extends Validator_1.Validator {
constructor(__params) {
super();
this.__params = __params;
Object.assign(this, __params);
}
get(key, defaultValue) {
return this.hasOwnProperty(key) ? this[key] : defaultValue;
}
set(key, value) {
this.__params[key] = value;
this[key] = value;
}
}
exports.Params = Params;
class Query extends Validator_1.Validator {
constructor(__query) {
super();
this.__query = __query;
Object.assign(this, __query);
}
get(key, defaultValue) {
return this.hasOwnProperty(key) ? this[key] : defaultValue;
}
set(key, value) {
this.__query[key] = value;
this[key] = value;
}
}
exports.Query = Query;
//# sourceMappingURL=Req.js.map