UNPKG

@selenite/graph-editor

Version:

A graph editor for visual programming, based on rete and svelte.

159 lines (158 loc) 5.59 kB
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 };