Riven

Tiny Flow Based Framework

  • 所有者: XXIIVV/riven
  • 平台:
  • 许可证: MIT License
  • 分类:
  • 主题:
  • 喜欢:
    0
      比较:

Github星跟踪图

Ø(Riven)

Riven is a bare minimum flow-based programming framework (eg: math & conditional). Nodes have 2 ways of communicating with each other, one is a send/receive pattern, the other, a request/answer pattern. Despite its minimal toolset, it can be expanded into a complete web framework.

The Ø Selector

You are given a node selection tool Ø(), you can type the character with alt+shift+O(Alt +0216). If you are on Windows, or cannot easily type this character, try wrapping this function into a character of your choosing, like function R(a){ return Ø(a); }.

Create a node

Ø("template").create({x:2,y:2}) will create a template node at 2,2.

Select a node

Ø("template") will select the template node.

Connect a node

Ø("template").connect("parser") will connect the template node to the parser node.

You can also connect to multiple nodes at once with Ø("template").connect(["parser","console"]). The Ø("template").bind("parser") will create both a connection and a syphon between the 2 nodes.

Communication

.Send()

Ø("template").send("hello") will send "hello" to all receiving connected nodes.

.Receive()

Ø("template").receive(q) => {}, method is triggered by send().

.Request()

Ø("template").request("cake") will request "cake" from all answering connected nodes.

.Answer()

Ø("template").answer("cake"), method is triggered by request().

Extras

.Bang()

Ø("template").bang(), is a convenience method equivalent to .send(true), will send true to all receiving connected nodes.

.Signal()

Looks for a connected node(receiving/answering) with the parameter id, Ø("template").signal("parser").send("hello"). Will send "hello", directly to the parser node.

Mesh

You can group nodes into scopes with .mesh(pos,[nodes]) to visually groups the nodes into a single element that can be moved as one.

Ø("template").mesh({x:2,y:2},[
  Ø("parser").create({x:1,y:2}),
  Ø("header").create({x:2,y:3})
])

That's it!

This framework does nothing else, but it does this well.

Enjoy.

主要指标

概览
名称与所有者XXIIVV/riven
主编程语言JavaScript
编程语言HTML (语言数: 3)
平台
许可证MIT License
所有者活动
创建于2018-02-23 01:49:27
推送于2022-10-20 02:33:17
最后一次提交2020-01-06 09:00:33
发布数0
用户参与
星数416
关注者数21
派生数32
提交数102
已启用问题?
问题数7
打开的问题数0
拉请求数6
打开的拉请求数1
关闭的拉请求数0
项目设置
已启用Wiki?
已存档?
是复刻?
已锁定?
是镜像?
是私有?