Skip to content

Koa 2.0 compatible code #10

@suhas-babyoye

Description

@suhas-babyoye

Could you please check the following code:

/**
 * @param {object} options
 * @returns {Function}
 */
function koaStylus(options) {
    const middleware = stylus.middleware(options);

    function compile(req, res) {
        return callback => {
            middleware(req, res, callback);
        };
    }

    return async function stylusMiddleware(ctx, next) {
        compile(ctx.req, ctx.res);
        return await next();
    };
}

This works.. I think. But could someone please explain how it works? What does calling compile do? It just returns a function right? How does that end up executing stylus middleware?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions