stateDiagram-v2
add: 👩💻 /space/content/add/blob 🤖
add: 🧾 { ok {} }
allocate: 🤖 /service/blob/allocate 🤖
allocate: 🧾 { ok { size 123 } }
wait: 🤖 /service/blob/receive 🤖
wait: 🧾 { ok {} }
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
;; Type definition for the Blob. It has no inputs and two outputs | |
; `digest` and `size`. It is kind of like a rule without a body | |
(Blob : { :digest Bytes :size Int }) | |
(Site : { :url String :headers (Map :key string :value string) }) | |
;; ℹ️ Unlabelled parameter can be refereced by `.` | |
(Result :error : (:ok . :error .error)) | |
;; Composed task is rule that maps input to tasks and maps task outputs | |
;; to the output of the composed task |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
(Multihash : Bytes) | |
(Blob : {:size Integer :digest Multihash }) | |
(blob/add | |
:input {:sub DID :blob Blob } | |
:address (memory/allocate | |
:space .input.sub | |
:blob .input.blob) | |
:content (http/put | |
:url .address.out.ok.url |
flowchart LR
Add[👩💻 store/add 🤖]
Allocate[🤖 blob/allocate 🤖]
Receive[🤖 blob/receive 🤖]
Write[🤖 blob/write 👩💻]
Close[🤖 blob/close 🤖]
Claim[🤖 assert/location 🌐]
Add --> Allocate
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
interface Account { | |
plan: AccountPlan | |
// ... | |
} | |
interface AccountPlan { | |
customer: AccountDID | |
request(): Plan | |
list(): Plan[] |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
interface Account { | |
subscriptions: AccountSubscriptions | |
// ... | |
} | |
interface AccountSubscriptions { | |
customer: AccountDID | |
request(): Subscription | |
list(): Subscription[] |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import * as API from '@ucanto/interface' | |
/** | |
* @typedef {number} Integer | |
* @typedef {number} Float | |
* @typedef {Readonly<Uint8Array>} Bytes | |
* @typedef {string} UTF8 | |
* | |
* @typedef {String} Entity | |
* @typedef {Integer|Float|Bytes|UTF8} Attribute |
Code here takes a DOM Selection Range instance and creates a highlighting for it by using getClientRects
. Approach was inspired by marks although here function attempts to find nearest positioned parent element to the commonAncestorContainer
and draw all the highilighting rectangles there, this avoids issues with an overflowing content.
- Approach ignores
z-index
which isn't great as some element might be overlaying the selection in which case it should not appear, but it does if we use highz-index
value. If we use lowz-index
value then some elements (possibly ones containing selection) might end up overlaying selection itself. - Rendered selections are scattered all o
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
type ProviderDID = | |
| "did:web:web.storage" | |
| "did:web:nft.storage" | |
interface Principal { | |
did(): string | |
} | |
interface Space extends Principal { |
stateDiagram-v2
direction TB
state scope {
sig-->meta:
sig-->prf
sig-->iss
sig-->aud
sig-->tasks
NewerOlder