Security News
ESLint is Now Language-Agnostic: Linting JSON, Markdown, and Beyond
ESLint has added JSON and Markdown linting support with new officially-supported plugins, expanding its versatility beyond JavaScript.
@starbeam/debug
Advanced tools
This document is outdaated but reflects some early thinking about the description architecture. It's still useful as a way to drive future design work, and should be updated as the design evolves.
The goal of the description architecture is to provide a way to describe reactive operations in a way that is both human readable and easy to use in a debug tool.
A validation description allows debugging tools to determine whether a reactive value is still valid.
timestamp
true
if the validator is still valid, or false
otherwise.A digest validator represents a rule for converting a value into a (string) digest. Digesting inputs can therefore be used to determine whether an output value has changed without computing it.
Note: Starbeam does not currently expose any APIs that use digest validation, but it is contemplated for the future.
digest
true
if the validator is still valid, or false
otherwise.All descriptions have:
A reactive scalar represents a single value:
A cell is the fundamental reactive scalar value.
A marker represents something that can change but whose value is not tracked by Starbeam. You can think of it as a cell whose value is an "updated-at" timestamp.
A Formula's description also includes:
UNINITIALIZED
. Otherwise, { value, at }
. The value
is the most recent computed value, and at
is the timestamp at which the computation occurred.A reactive collection is a logical grouping of multiple reactive values, such as a list, map or set.
Marker
that indicates the last time the iteration over entries changed.In addition to the properties in Iterable Collections:
Marker
that indicates the last time the iteration over keys changed. If a key's value was replaced, this marker is not updated. If a key is added or deleted, this marker is updated.Marker
that indicates the last time the iteration over values changed. This is basically equivalent to entries
, but if a collection has a way to atomically replace a key/value with another key and the same value, the values
marker may not update.has(value)
would change. If an entry was missing and then deleted, this marker doesn't update.has(key)
would change. If an entry was missing and then deleted, this marker doesn't update.get(key)
would change. If an entry was missing and then added, or added and then deleted, this will update (unless the value, when present was undefined
).A cell's description i
There are two kinds of fundamental reactive operations:
And two kinds of composite reactive operations:
There are a few kinds of fundamental cells:
FAQs
Unknown package
The npm package @starbeam/debug receives a total of 56 weekly downloads. As such, @starbeam/debug popularity was classified as not popular.
We found that @starbeam/debug demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 2 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
ESLint has added JSON and Markdown linting support with new officially-supported plugins, expanding its versatility beyond JavaScript.
Security News
Members Hub is conducting large-scale campaigns to artificially boost Discord server metrics, undermining community trust and platform integrity.
Security News
NIST has failed to meet its self-imposed deadline of clearing the NVD's backlog by the end of the fiscal year. Meanwhile, CVE's awaiting analysis have increased by 33% since June.