@owlnext/heimdall-js-native
Version:
Heimdall API client & utils for react native technologies
27 lines • 1.15 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const heimdall_router_exception_1 = __importDefault(require("../exception/heimdall-router-exception"));
class Router {
constructor() {
this.generate = (route, params = null) => {
let uri = route;
if (null !== params && 0 < params.length) {
params.forEach((param_tuple) => {
uri = uri.replace('{' + param_tuple[0] + '}', param_tuple[1]);
});
}
if (-1 !== uri.indexOf('{')) {
let firstBracket = uri.indexOf('{');
let lastBracket = uri.indexOf('}');
let missing_variable = uri.substring(firstBracket + 1, lastBracket);
throw new heimdall_router_exception_1.default(`The parameter "${missing_variable}" is missing for the route ${route}: ${uri}`);
}
return uri;
};
}
}
exports.default = Router;
//# sourceMappingURL=router.js.map