ForgeFlow
sk

Flow

Repozitár komponentov Flow: 146 komponentov, katalóg a tester

Flow · flow@11.1 flowcomponentscataloguedb.jsontester

totaljs/flowstreamcomponents obsahuje open-source komponenty, ktoré ponúka editor Flow. V tu dokumentovanej revízii (e34d283) má 146 komponentov v components/, 32 starších uložených v archived/, generátor katalógu (db.js), samotný katalóg (db.json) a tester.

Čo katalóg pokrýva

Komponenty sú usporiadané do skupín. Niektoré z väčších:

SkupinaKomponenty (príklady)
Common (40)delay, print, counter, switch, merge, code, request, throttle, transform, macro, modify, stringoperations
Total.js (17)taction, troute, tschema, tcors, tresponse, tauthtoken, twebsocketroute, tuploadedfiles, tsql, querybuilderpg
Total.js API Services (13)tapiocrapi, tapigeoipapi, tapiweatherapi, tapismsapi, tapichatgptapi, tapiinvoiceparserapi, tapicheckvatapi, tapiprintapi
Databases (8)postgresql, mysql, sqlite3, mongodb-query, mongodb-insert, influxdb, nosql, localstorage
Triggers (7)timer, trigger, crontab, minutely, notify
Files (6)filewriter, filewatcher, fileswatcher, fsrename, fstouch, fsunlink
Flow, FlowStream, Stats, Checks, Security...debug, flowstats, input, output, publish, subscribe, stopwatch, checkurl, checklog, checkfreespace, totp, iplimiter
MQTT, AI, Ollamamqtt-broker, mqtt-publish, mqtt-subscribe, aiagent, aitool, aicontext, chatgpt, ollamaprompt, ollamals, ollamawebsearch

Okrem toho sú tu komponenty na parsovanie (xmlparser, dataparser, csvdataset, cheerio), dátumy a časové pásma (date, timezone, duration), text a šablóny (tangular, qrcode), OAuth2 (oauth2), sťahovanie (downloader, urldownload), oznámenia (sms, rssreader, openweather, googlesearch) a hardvér Linuxu (nvidiasmi). Priečinok archived/ uchováva staršiu generáciu rodiny (GPIO a I2C Raspberry Pi, RabbitMQ, systémové metriky) pre referenciu.

Ako ich Flow nájde: db.json

Flow nesťahuje HTML každého komponentu. Sťahuje katalóg, súbor JSON (predvolene https://cdn.totaljs.com/flowstream/webcomponents/db.json, nastavený v nastaveniach) s jedným záznamom na komponent:

{
  "id": "taction",
  "group": "Total.js",
  "name": "Action",
  "url": "https://cdn.totaljs.com/flowstream/webcomponents/taction.html",
  "author": "Peter Širka | Total.js",
  "icon": "ti ti-totaljs",
  "color": "",
  "version": "2",
  "kind": "",
  "readme": "This component creates similar functionality as Total.js Actions. ..."
}

Editor zobrazí zoznam s readme a keď komponent pridáte, stiahne jeho url. Ak chcete popri oficiálnych ponúkať vlastné komponenty, zverejnite svoje súbory HTML a vlastný db.json a jeho adresu zapíšte do nastavenia components2.

db.js generuje katalóg: prečíta každý súbor v components/, z jeho exports vezme group, name, author, icon, color, version a kind, vezme text z <readme>, zostaví url na CDN a zapíše db.json zoradený podľa názvu. Spustite ho cez Node.js po pridaní alebo zmene komponentu.

Tester

tester.js spúšťa komponent bez editora a tests/ obsahuje príklady (counter.js, example.js, example-multiple.js, influxdb.js, sqlite3.js, trigger.js) a readme.md so všetkými možnosťami. Test vyzerá takto:

require('../tester')(async function(describe, done) {

	await describe(function(test, next) {

		let messages = 0;
		let status = 0;

		test.status = function(data) {
			status = data;
		};

		test.input('Hello World!');
		messages++;

		setTimeout(function() {
			test.ok(status === messages, 'Counting');
			next();
		}, 2000);

	});

	done();
});

describe načíta komponent, test.input(data) mu pošle správu, test.output a test.message prijímajú, čo posiela, test.configure({...}) mení jeho konfiguráciu, test.trigger() volá jeho trigger a test.ok() a test.fail() označia výsledok. Spustenie všetkých testov: cd flowstreamcomponents, raz npm install total4 a node tester.js. Tester tejto revízie je napísaný pre Total.js 4 (require('total4')), ako hovorí jeho readme.

Prispievanie

Repozitár žiada dodržiavať kódovacie normy a pokyny Total.js a jeho readme na ne odkazuje; kontakt je info@totaljs.com. Ak chcete napísať komponent, pozri napísať komponent.