-
Notifications
You must be signed in to change notification settings - Fork 0
multiple layers
paige edited this page Sep 20, 2023
·
7 revisions
const Class = require('aepl');
// main class
new Class("Main", class {
constructor() {
this.data = [1, 2, 3];
this.layers = [];
}
});
// subclasses
Main.new("subclass", "Layer", class {
constructor() {
this.extras = [];
this.data = [4, 5, 6];
this.parent.layers.push(this);
}
});
Layer.new("subclass", "Extra", class {
constructor() {
this.data = [7, 8, 9]
this.parent.extras.push(this);
}
});
// functions
Main.new("func", "reverse", function() {
return this.data.reverse();
});
Layer.new("func", "reverse", function() {
return this.data.reverse();
});
Extra.new("func", "reverse", function() {
return this.data.reverse();
});
// properties
Layer.new("prop", "main", function() {
return this.parent;
});
Extra.new("prop", "layer", function() {
return this.parent;
});
Extra.new("prop", "main", function() {
return this.parent.parent;
});
// examples
let main = new Main();
console.log(main); // Main { layers: [], data: [1, 2, 3] }
let layer = new main.Layer();
console.log(layer); // Layer { extras: [], data: [4, 5, 6] }
console.log(layer.main); // Main { layers: [ [Layer] ], data: [1, 2, 3] }
let extra = new layer.Extra();
console.log(extra); // Extra { data: [7, 8, 9] }
console.log(extra.layer); // Layer { extras: [ [Extra] ], data: [4, 5, 6] }
console.log(extra.main); // Main { layers: [ [Layer] ], data: [1, 2, 3] }
console.log(main.reverse()); // [3, 2, 1]
console.log(layer.reverse()); // [6, 5, 4]
console.log(extra.reverse()); // [9, 8, 7]
If you want to check out the different versions and changes check out the releases
For a look into the development side check out the src folder
init()
from()
inspect()
new()
addClass()
addFunc()
addProp()
addChore()
addAsyncChore()
addPreClass()
addPreFunc()
addPreProp()
addPreChore()
addPreAChore()
setName()
setInspect()
Subclass
Function
Property
Chore
AsyncChore
Preclass
PreFunction
PreProperty
PreChore
PreAsyncChore
compact
multiple-layers
event handler
alternate names
setting and getting inspects