fractal-core
Version:
A minimalist and well crafted app, content or component is our conviction
47 lines • 1.68 kB
JavaScript
;
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
return new (P || (P = Promise))(function (resolve, reject) {
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
};
Object.defineProperty(exports, "__esModule", { value: true });
const core_1 = require("../core");
const log_1 = require("../utils/log");
const fun_1 = require("../utils/fun");
exports.ChildComp = {
state: { count: 0 },
inputs: (s, F) => ({
inc: () => __awaiter(this, void 0, void 0, function* () {
yield F.toAct('Inc');
yield F.toIn('changed', s.count);
}),
changed: (value) => __awaiter(this, void 0, void 0, function* () { }),
}),
actions: {
Inc: () => s => {
s.count++;
return s;
},
},
interfaces: {},
};
exports.createApp = (comp, mod) => {
const Root = {
state: { result: '' },
inputs: (s, F) => ({}),
actions: {},
interfaces: {},
};
const DEV = true;
return core_1.run(fun_1.deepmerge({
Root: fun_1.deepmerge(Root, comp || {}),
record: DEV,
log: DEV,
interfaces: {},
error: log_1.logFns.error,
}, mod || {}));
};
//# sourceMappingURL=testUtils.js.map