Repository URL to install this package:
|
Version:
1.2.7 ▾
|
"use strict";
const log = require('fliplog');
const Chain = require("../src");
let Decorator = class Decorator extends Chain {
constructor(parent) {
super(parent);
this.methods(['easy']).decorate(parent).build();
this.methods('advanced').onCall(this.advanced.bind(this)).decorate(parent).build();
}
advanced(arg) {
this.set('advanced', arg);
return this.parent;
}
easy(arg) {
this.parent.set('easy-peasy', arg);
}
};
let Master = class Master extends Chain {
constructor(parent) {
super(parent);
this.eh = new Decorator(this);
}
};
test('.decorate(parent)', () => {
const master = new Master();
master.advanced('a+');
master.easy(true); // log.quick(master)
expect(master.get('easy-peasy')).toBe(true);
expect(master.eh.get('advanced') === 'a+').toBe(true);
});
test.skip('.decorate(parent).get(notstore.child)', () => {
const master = new Master();
master.advanced('a+');
expect(master.get('eh.advanced') === 'a+').toBe(true);
});