@xpresser/abolish
Version:
Using Abolish validator in Xpresserjs
79 lines (78 loc) • 2.85 kB
JavaScript
;
var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
};
var _AbolishRoutes_rules;
Object.defineProperty(exports, "__esModule", { value: true });
const plugin_config_1 = require("./plugin-config");
const exports_1 = require("object-collection/exports");
const index_1 = require("./index");
class AbolishRoutes {
constructor() {
_AbolishRoutes_rules.set(this, (0, exports_1.Obj)({}));
plugin_config_1.$.logDeprecated("1.12.0", "1.13.0", [
`Class {{AbolishRoutes}} is deprecated. Use {{RoutesGuard}} instead.`,
null,
`{{RoutesGuard}} can be imported from: {{"@xpresser/abolish/RoutesGuard"}}`
], true);
console.trace();
}
/**
* Merge multiple abolish routes instances
* @param sources
*/
static many(sources) {
if (!Array.isArray(sources)) {
return new AbolishRoutes().merge(sources);
}
// Create new instance and merge all sources
const abolishRoutes = new AbolishRoutes();
sources.forEach((source) => abolishRoutes.merge(source));
return abolishRoutes;
}
/**
* Validate Post Request
* @param action
* @param rules
*/
post(action, rules) {
__classPrivateFieldGet(this, _AbolishRoutes_rules, "f").path("POST").set(action, rules);
return this;
}
/**
* Validate Put Request
* @param action
* @param rules
*/
put(action, rules) {
__classPrivateFieldGet(this, _AbolishRoutes_rules, "f").path("PUT").set(action, rules);
return this;
}
/**
* Validate Patch Request
* @param action
* @param rules
*/
patch(action, rules) {
__classPrivateFieldGet(this, _AbolishRoutes_rules, "f").path("PATCH").set(action, rules);
return this;
}
/**
* Merge another Abolish Route Instance.
* @param source
*/
merge(source) {
__classPrivateFieldGet(this, _AbolishRoutes_rules, "f").merge(source instanceof AbolishRoutes ? source.compileRules() : source);
return this;
}
rules() {
return __classPrivateFieldGet(this, _AbolishRoutes_rules, "f").data;
}
compileRules() {
return (0, index_1.CompileRouteRules)(__classPrivateFieldGet(this, _AbolishRoutes_rules, "f").data);
}
}
_AbolishRoutes_rules = new WeakMap();
exports.default = AbolishRoutes;