@selenite/graph-editor
Version:
A graph editor for visual programming, based on rete and svelte.
159 lines (158 loc) • 5.59 kB
JavaScript
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, registerNode, tags } from '../Node.svelte';
import { ConverterNode, InputControlNode } from './common-data-nodes.svelte';
/**
* A node that outputs a number.
*/
let NumberNode = class NumberNode extends InputControlNode {
constructor(params) {
super({ label: 'Integer', ...params, controlType: 'integer', props: { class: 'w-3' } });
}
};
NumberNode = __decorate([
registerNode('integer.IntegerNode'),
description('Produces an integer.'),
tags('int', 'integer', 'i', 'c', 'n', 'entier'),
__metadata("design:paramtypes", [Object])
], NumberNode);
export { NumberNode };
let ToStringNode = class ToStringNode extends ConverterNode {
constructor(params = {}) {
super({
label: 'To string',
...params,
source: 'integer',
target: 'string',
convert: (e) => String(e)
});
}
};
ToStringNode = __decorate([
registerNode('integer.ToString'),
description('Converts an integer to a string.'),
tags('string', 'text', 'convert'),
__metadata("design:paramtypes", [Object])
], ToStringNode);
export { ToStringNode };
let ToNumberNode = class ToNumberNode extends ConverterNode {
constructor(params = {}) {
super({
label: 'To number',
...params,
source: 'integer',
target: 'number',
convert: (e) => Number(e)
});
}
};
ToNumberNode = __decorate([
registerNode('integer.ToNumber'),
description('Converts an integer to a number.'),
tags('float', 'real', 'convert'),
__metadata("design:paramtypes", [Object])
], ToNumberNode);
export { ToNumberNode };
let ParseNode = class ParseNode extends ConverterNode {
constructor(params = {}) {
super({
label: 'Parse Integer',
...params,
source: 'string',
target: 'integer',
convert: (e) => parseInt(e)
});
}
};
ParseNode = __decorate([
registerNode('integer.Parse'),
description('Parses a string to an integer.'),
tags('int', 'convert'),
__metadata("design:paramtypes", [Object])
], ParseNode);
export { ParseNode };
let AddNode = class AddNode extends Node {
constructor(params = {}) {
super({ label: 'Add', ...params });
this.addInData('a', { type: 'integer', hideLabel: true });
this.addInData('b', { type: 'integer', hideLabel: true });
this.addOutData('value', { type: 'integer' });
}
data(inputs) {
const a = this.getData('a', inputs);
const b = this.getData('b', inputs);
return { value: a + b };
}
};
AddNode = __decorate([
registerNode('integer.Add'),
description('Adds two integers.'),
tags('int', 'add', 'sum', 'plus', '+'),
__metadata("design:paramtypes", [Object])
], AddNode);
export { AddNode };
let SubtractNode = class SubtractNode extends Node {
constructor(params = {}) {
super({ label: 'Subtract', ...params });
this.addInData('a', { type: 'integer', hideLabel: true });
this.addInData('b', { type: 'integer', hideLabel: true });
this.addOutData('value', { type: 'integer' });
}
data(inputs) {
const a = this.getData('a', inputs);
const b = this.getData('b', inputs);
return { value: a - b };
}
};
SubtractNode = __decorate([
registerNode('integer.Subtract'),
description('Subtracts two integers.'),
tags('int', 'subtract', 'minus', 'difference', '-'),
__metadata("design:paramtypes", [Object])
], SubtractNode);
export { SubtractNode };
let MultiplyNode = class MultiplyNode extends Node {
constructor(params = {}) {
super({ label: 'Multiply', ...params });
this.addInData('a', { type: 'integer', hideLabel: true });
this.addInData('b', { type: 'integer', hideLabel: true });
this.addOutData('value', { type: 'integer' });
}
data(inputs) {
const a = this.getData('a', inputs);
const b = this.getData('b', inputs);
return { value: a * b };
}
};
MultiplyNode = __decorate([
registerNode('integer.Multiply'),
description('Multiplies two integers.'),
tags('int', 'multiply', 'times', '*'),
__metadata("design:paramtypes", [Object])
], MultiplyNode);
export { MultiplyNode };
let ToBoolNode = class ToBoolNode extends ConverterNode {
constructor(params = {}) {
super({
label: 'To bool',
...params,
source: 'integer',
target: 'boolean',
convert: (e) => Boolean(e)
});
}
};
ToBoolNode = __decorate([
registerNode('integer.ToBool'),
description('Converts an integer to a boolean.'),
tags('bool', 'convert'),
__metadata("design:paramtypes", [Object])
], ToBoolNode);
export { ToBoolNode };