"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
const sassDataContext_1 = require("./data/sassDataContext");
const sassFileContext_1 = require("./file/sassFileContext");
const sassOptions_1 = require("./options/sassOptions");
/**
 * Create interop interface around context.
 * (https://github.com/sass/libsass/blob/master/docs/api-context.md)
 *
 * @param asmModule
 */
const buildContext = (cwrapContext, cwrapOptions, cwrapImporter, interop) => {
    return {
        options: {
            create: () => new sassOptions_1.SassOptions(cwrapContext, cwrapOptions, cwrapImporter, interop)
        },
        file: {
            create: (inputPath) => new sassFileContext_1.SassFileContext(inputPath, cwrapContext, interop)
        },
        data: {
            create: (input) => new sassDataContext_1.SassDataContext(input, cwrapContext, interop)
        }
    };
};
exports.buildContext = buildContext;
//# sourceMappingURL=context.js.map