apps/meteor/packages/flow-router/server/plugins/fast_render.js
if(!Package['meteorhacks:fast-render']) {
return;
}
FastRender = Package['meteorhacks:fast-render'].FastRender;
// hack to run after eveything else on startup
Meteor.startup(function () {
Meteor.startup(function () {
setupFastRender();
});
});
function setupFastRender () {
_.each(FlowRouter._routes, function (route) {
FastRender.route(route.pathDef, function (routeParams, path) {
var self = this;
// anyone using Meteor.subscribe for something else?
var original = Meteor.subscribe;
Meteor.subscribe = function () {
return _.toArray(arguments);
};
route._subsMap = {};
FlowRouter.subscriptions.call(route, path);
if(route.subscriptions) {
var queryParams = routeParams.query;
var params = _.omit(routeParams, 'query');
route.subscriptions(params, queryParams);
}
_.each(route._subsMap, function (args) {
self.subscribe.apply(self, args);
});
// restore Meteor.subscribe, ... on server side
Meteor.subscribe = original;
});
});
}