@selenite/graph-editor
Version:
A graph editor for visual programming, based on rete and svelte.
87 lines (86 loc) • 3.02 kB
JavaScript
/**
* Nodes for creating and manipulating booleans.
* @module
*/
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
return c > 3 && r && Object.defineProperty(target, key, r), r;
};
var __metadata = (this && this.__metadata) || function (k, v) {
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
};
import { description, Node, registerConverter, registerNode, tags } from '../Node.svelte';
import { ConverterNode, InputControlNode } from './common-data-nodes.svelte';
let NotNode = class NotNode extends Node {
constructor(params = {}) {
super({
label: 'Not',
...params
});
this.addInData('value', { type: 'boolean' });
this.addOutData('value', { type: 'boolean' });
}
data(inputs) {
return {
value: !this.getData('value', inputs)
};
}
};
NotNode = __decorate([
registerNode('boolean.NotNode'),
description('Negates a boolean value.'),
tags('!', 'negate', 'invert'),
__metadata("design:paramtypes", [Object])
], NotNode);
export { NotNode };
let BooleanNode = class BooleanNode extends InputControlNode {
constructor(params) {
super({ label: 'Boolean', ...params, controlType: 'checkbox' });
}
};
BooleanNode = __decorate([
registerNode('boolean.BooleanNode'),
description('Produces a boolean.'),
__metadata("design:paramtypes", [Object])
], BooleanNode);
export { BooleanNode };
let BooleanToString = class BooleanToString extends ConverterNode {
constructor(params = {}) {
super({
label: 'To string',
...params,
source: 'boolean',
target: 'string',
convert(e) {
return String(e);
}
});
}
};
BooleanToString = __decorate([
registerConverter('boolean', 'string'),
registerNode('boolean.ToString'),
__metadata("design:paramtypes", [Object])
], BooleanToString);
export { BooleanToString };
let BooleanToNumber = class BooleanToNumber extends ConverterNode {
constructor(params = {}) {
super({
label: 'To number',
...params,
source: 'boolean',
target: 'number',
convert(e) {
return e === true ? 1 : 0;
}
});
}
};
BooleanToNumber = __decorate([
registerConverter('boolean', 'number'),
registerNode('boolean.ToNumber'),
__metadata("design:paramtypes", [Object])
], BooleanToNumber);
export { BooleanToNumber };