Skip to content

Latest commit

 

History

History
36 lines (36 loc) · 1.97 KB

notes.org

File metadata and controls

36 lines (36 loc) · 1.97 KB

VSCode REPL integration

  • display HTML according to Sebastian’s details
  • trigger updates after user events so GUIs update after exprs

BUGS

Change websocket handler to channel and for-loop

Make declarative structure for generated GUIs (and halfway generated ones)

use convert() to convert structs into the declarative structure to allow customization

Commands

Monitored values are pushed

‘set’ [[-c] [[-m path] | [path value]]] …

‘get’ path …

‘observe’ [true | false] varid …

Metadata (these are all maintained by normal handlers)

create: create data of the given type when the variable is created

priority: high, normal, or low – when to process values for this variable in a batch

presenter: on creation, replace the value with the results of the constructor on the value

useful when combined with path

transformer: transforms values of child variables with this transformerId

transformerId: cue to ancestor to transform this variable’s value

type: the value’s type

viewdefs: manage a set of viewdef variables named with type, namespace

keep it properly stocked by monitoring type metadata values

path: use the object model for values

the special value . means to keep the existing value

a leading . will be stripped if a value is given

space separated fields and/or functions: a b() c() d

function path elements: a f() g()

  • functions in the first or middle positions should handle one argument
  • a function in the last position
    • nothing will be returned if it does not take one argument or does not have read access
    • setting will have no effect if it does not take two arguments or does not have write access

access = action | r | w | rw – metadata that determines accessibility for the path

action means write-only, path must be a function, and no value will be sent to the function

Security

sensitive metadata

The server can scrape and create template variables to prevent paths from leaking over connections