Files
apps.apple.com/node_modules/@jet/environment/routing/route-provider.js
2025-11-04 05:03:50 +08:00

29 lines
1.2 KiB
JavaScript

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.registerRoutesProvider = exports.isRouteProvider = void 0;
const optional_1 = require("../types/optional");
/**
* Checks if an object conforms to `RouteProvider`.
* @remarks This function does not perform any checking for the generic types.
* @param provider - The object that may be a route provider.
*/
function isRouteProvider(provider) {
if (typeof provider !== "object") {
return false;
}
return (0, optional_1.isSome)(provider === null || provider === void 0 ? void 0 : provider["routes"]);
}
exports.isRouteProvider = isRouteProvider;
/**
* Registers all routes provided by a `RouteProvider` to a router.
* @param router - The router to register routes on.
* @param provider - The route provider to get the routes from.
* @param objectGraph - An object graph for dependency injection.
*/
function registerRoutesProvider(router, provider, objectGraph) {
provider.routes(objectGraph).forEach((definition) => {
router.associate(definition.rules, definition.handler);
});
}
exports.registerRoutesProvider = registerRoutesProvider;
//# sourceMappingURL=route-provider.js.map