Skip to content

Commit

Permalink
compartment examples
Browse files Browse the repository at this point in the history
  • Loading branch information
Patrick Soquet committed Jan 2, 2022
1 parent 03d3211 commit b815e62
Show file tree
Hide file tree
Showing 3 changed files with 30 additions and 54 deletions.
10 changes: 2 additions & 8 deletions examples/js/compartments/separate-modules/main.js
Original file line number Diff line number Diff line change
Expand Up @@ -3,14 +3,8 @@ function test() {
trace("app " + increment() + "\n");
}
let compartment = new Compartment({}, {
increment: "/increment.xsb",
mod: "/mod.xsb",
}, {
resolveHook(specifier, refererSpecifier) {
return specifier;
},
loadNowHook(specifier) {
}
increment: "increment",
mod: "mod",
});
let modNS = compartment.importNow("mod");
test();
Expand Down
36 changes: 17 additions & 19 deletions examples/js/compartments/shared-modules/main.js
Original file line number Diff line number Diff line change
@@ -1,20 +1,18 @@
import increment from "increment";
function test() {
trace("app " + increment() + "\n");
}
let compartment = new Compartment({}, {
increment: "/increment.xsb",
mod: "/mod.xsb",
}, {
resolveHook(specifier, refererSpecifier) {
return specifier;
},
loadNowHook(specifier) {
return modules[specifier];
}
import * as increment from "increment";
const mod = "mod"
let compartment1 = new Compartment({}, {
increment,
mod
});
let modNS = compartment.importNow("mod");
test();
modNS.test();
test();
modNS.test();
let compartment2 = new Compartment({}, {
increment,
mod
});

let modNS1 = compartment1.importNow("mod")
let modNS2 = compartment2.importNow("mod")

modNS1.test();
modNS2.test();
modNS1.test();
modNS2.test();
38 changes: 11 additions & 27 deletions examples/js/compartments/variations/main.js
Original file line number Diff line number Diff line change
@@ -1,31 +1,15 @@
const mod = new StaticModuleRecord({ archive:"mod" });
globalThis.name = "oops";
const modules1 = {
mod,
vary: new StaticModuleRecord({ archive:"decrement" })
};
let compartment1 = new Compartment({ name:"compartment1" }, {}, {
resolveHook(specifier, refererSpecifier) {
return specifier;
},
loadNowHook(specifier) {
return modules1[specifier];
}
});

const modules2 = {
mod,
vary: new StaticModuleRecord({ archive:"increment" })
};
let compartment2 = new Compartment({ name:"compartment2" }, {}, {
resolveHook(specifier, refererSpecifier) {
return specifier;
},
loadNowHook(specifier) {
return modules2[specifier];
}
});
function resolveHook(specifier) { return specifier }

let compartment1 = new Compartment(
{ name:"compartment1" },
{ mod:"mod", vary:"decrement" },
{ resolveHook }
);
let compartment2 = new Compartment(
{ name:"compartment2" },
{ mod:"mod", vary:"increment" },
{ resolveHook }
);
let modNS1 = compartment1.importNow("mod")
let modNS2 = compartment2.importNow("mod")

Expand Down

0 comments on commit b815e62

Please sign in to comment.