UNPKG

1.18 kBJavaScriptView Raw
1const { data, string, parameterized } = require("@algebraic/type");
2const { Cause, field, event } = require("@cause/cause");
3
4const Request = data `Request` (
5 input => string );
6
7const presets = [
8 [require.resolve("@isomorphic/babel-preset"), { browser:true, react:true }]
9];
10const plugins = [
11 [require.resolve("@isomorphic/compile-javascript/plugins/babel-plugin-transform-inline-global-expressions"),
12 {
13 process:
14 {
15 browser: true,
16 env: { NODE_ENV: "development" }
17 }
18 }],
19 [require.resolve("@isomorphic/reduce-javascript/babel-plugin")]
20];
21
22const Plugin = Cause(`Plugin`,
23{
24 [field `path`]: -1,
25 [field `cache`]: -1,
26
27/* [event.on (Cause.Start)]: (plugin)
28 {
29 console.log("hi...");
30 return [
31 },*/
32 [event._on (Request)]: (plugin, { input }) =>
33 {
34 try {
35 const options = { presets, plugins };
36 const x = [plugin, [require("@isomorphic/compile-javascript")({ input, cache:plugin.cache, options })]];
37
38 return x;
39 }
40 catch (e)
41 {
42 console.log(e);
43 } }
44});
45
46Plugin.Request = Request;
47
48module.exports = Plugin;