directive-to-hof
Version:
Transform directives into a higher order function
50 lines • 3.32 kB
JavaScript
;
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
var desc = Object.getOwnPropertyDescriptor(m, k);
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
desc = { enumerable: true, get: function() { return m[k]; } };
}
Object.defineProperty(o, k2, desc);
}) : (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
o[k2] = m[k];
}));
var __exportStar = (this && this.__exportStar) || function(m, exports) {
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.esbuild = esbuild;
exports.rollup = rollup;
exports.vite = rollup;
const promises_1 = require("node:fs/promises");
const transformer_js_1 = require("./transformer.js");
function esbuild(options) {
return {
name: 'directive-to-hof',
async setup(build) {
const fileFilter = /\.(c|m|d)?(j|t)sx?$/;
const transformer = (0, transformer_js_1.createDirectiveTransformer)(options);
build.onLoad({ filter: fileFilter }, async (args) => {
const content = await (0, promises_1.readFile)(args.path, 'utf-8');
const transformed = await transformer(content, args.path);
return transformed;
});
},
};
}
function rollup(options) {
const transformer = (0, transformer_js_1.createDirectiveTransformer)(options);
return {
name: 'directive-to-hof',
async transform(code, id) {
const result = await transformer(code, { path: id });
return {
code: result.contents,
map: null,
};
},
};
}
__exportStar(require("./transformer.js"), exports);
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQU1BLDBCQWNDO0FBRUQsd0JBY0M7QUFFa0Isc0JBQUk7QUF0Q3ZCLCtDQUE0QztBQUM1QyxxREFHMEI7QUFFMUIsU0FBZ0IsT0FBTyxDQUFDLE9BQW9DO0lBQzFELE9BQU87UUFDTCxJQUFJLEVBQUUsa0JBQWtCO1FBQ3hCLEtBQUssQ0FBQyxLQUFLLENBQUMsS0FBVTtZQUNwQixNQUFNLFVBQVUsR0FBRyxxQkFBcUIsQ0FBQztZQUN6QyxNQUFNLFdBQVcsR0FBRyxJQUFBLDJDQUEwQixFQUFDLE9BQU8sQ0FBQyxDQUFDO1lBRXhELEtBQUssQ0FBQyxNQUFNLENBQUMsRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLEVBQUUsS0FBSyxFQUFFLElBQVMsRUFBRSxFQUFFO2dCQUN2RCxNQUFNLE9BQU8sR0FBRyxNQUFNLElBQUEsbUJBQVEsRUFBQyxJQUFJLENBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxDQUFDO2dCQUNuRCxNQUFNLFdBQVcsR0FBRyxNQUFNLFdBQVcsQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO2dCQUMxRCxPQUFPLFdBQVcsQ0FBQztZQUNyQixDQUFDLENBQUMsQ0FBQztRQUNMLENBQUM7S0FDRixDQUFDO0FBQ0osQ0FBQztBQUVELFNBQWdCLE1BQU0sQ0FBQyxPQUFvQztJQUN6RCxNQUFNLFdBQVcsR0FBRyxJQUFBLDJDQUEwQixFQUFDLE9BQU8sQ0FBQyxDQUFDO0lBRXhELE9BQU87UUFDTCxJQUFJLEVBQUUsa0JBQWtCO1FBQ3hCLEtBQUssQ0FBQyxTQUFTLENBQUMsSUFBWSxFQUFFLEVBQVU7WUFDdEMsTUFBTSxNQUFNLEdBQUcsTUFBTSxXQUFXLENBQUMsSUFBSSxFQUFFLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFFckQsT0FBTztnQkFDTCxJQUFJLEVBQUUsTUFBTSxDQUFDLFFBQWtCO2dCQUMvQixHQUFHLEVBQUUsSUFBSTthQUNWLENBQUM7UUFDSixDQUFDO0tBQ0YsQ0FBQztBQUNKLENBQUM7QUFJRCxtREFBaUMifQ==