~/bend-docscommunity

src/Manifest.bend checks

raw source on the hub · import mylsm-lsm-store@0.5.0.0/src/Manifest.bend as Manifest

4 imports
import Base
import ./StorageBytes.bend as StorageBytes
import bend-kit-bytes@0.3.2.0/bytes.bend as Bytes
import ./hub_sha/sha256.bend as SHA

Types

type Manifest source · line 7 · raw

Data

Represent Manifest data used by the binary manifest codec.

type Error source · line 11 · raw

Data

Represent Error data used by the binary manifest codec.

type ParseResult source · line 16 · raw

Data

Represents parseresult data in manifest.

type ParseState source · line 23 · raw

Data

Represent ParseState data used by the binary manifest codec.

type ParseInput source · line 29 · raw

Type

Represent ParseInput data used by the binary manifest codec.

type ParseTransition source · line 34 · raw

Type

Represent ParseTransition data used by the binary manifest codec.

Definitions

def magic.result source · line 39 · raw

@result:Maybe<&1, 0x185ae03c75e3e75be1171471f68b43cb/bytes.Bytes> -> 0x185ae03c75e3e75be1171471f68b43cb/bytes.Bytes

def magic source · line 47 · raw

0x185ae03c75e3e75be1171471f68b43cb/bytes.Bytes

Handle magic in the binary manifest codec.

def u32 source · line 51 · raw

@+value:U32 -> 0x185ae03c75e3e75be1171471f68b43cb/bytes.Bytes

Handle u32 in the binary manifest codec.

def bytes.clone.pair source · line 54 · raw

@+len:U32 -> @copied:Pair(Array<U32>, Array<U32>) -> Pair(0x185ae03c75e3e75be1171471f68b43cb/bytes.Bytes, 0x185ae03c75e3e75be1171471f68b43cb/bytes.Bytes)

def bytes.clone.split source · line 59 · raw

@bytes:0x185ae03c75e3e75be1171471f68b43cb/bytes.Bytes -> Pair(0x185ae03c75e3e75be1171471f68b43cb/bytes.Bytes, 0x185ae03c75e3e75be1171471f68b43cb/bytes.Bytes)

def bytes.clone.first source · line 64 · raw

@pair:Pair(0x185ae03c75e3e75be1171471f68b43cb/bytes.Bytes, 0x185ae03c75e3e75be1171471f68b43cb/bytes.Bytes) -> 0x185ae03c75e3e75be1171471f68b43cb/bytes.Bytes

def bytes.length source · line 69 · raw

@pair:Pair(0x185ae03c75e3e75be1171471f68b43cb/bytes.Bytes, U32) -> U32

def bytes.slice.second source · line 74 · raw

@pair:Pair(0x185ae03c75e3e75be1171471f68b43cb/bytes.Bytes, 0x185ae03c75e3e75be1171471f68b43cb/bytes.Bytes) -> 0x185ae03c75e3e75be1171471f68b43cb/bytes.Bytes

def encode.name.copies source · line 79 · raw

@+len:U32 -> @tail:0x185ae03c75e3e75be1171471f68b43cb/bytes.Bytes -> @copies:Pair(Array<U32>, Array<U32>) -> 0x185ae03c75e3e75be1171471f68b43cb/bytes.Bytes

def encode.name.buffer source · line 84 · raw

@+len:U32 -> @tail:0x185ae03c75e3e75be1171471f68b43cb/bytes.Bytes -> @packed:0x185ae03c75e3e75be1171471f68b43cb/bytes.Bytes -> 0x185ae03c75e3e75be1171471f68b43cb/bytes.Bytes

def encode.name.copy source · line 89 · raw

@pair:Pair(0x185ae03c75e3e75be1171471f68b43cb/bytes.Bytes, U32) -> @tail:0x185ae03c75e3e75be1171471f68b43cb/bytes.Bytes -> 0x185ae03c75e3e75be1171471f68b43cb/bytes.Bytes

def encode.name.prefix source · line 94 · raw

@result:Result<&1, &1, Pair(U32, String), 0x185ae03c75e3e75be1171471f68b43cb/bytes.Bytes> -> @tail:0x185ae03c75e3e75be1171471f68b43cb/bytes.Bytes -> 0x185ae03c75e3e75be1171471f68b43cb/bytes.Bytes

def name.char.valid source · line 101 · raw

@+char:Char -> Bool

def name.text.valid.chars source · line 108 · raw

@text:String -> @valid:Bool -> Bool

def name.text.valid.edge source · line 115 · raw

@text:String -> @dot_component:Bool -> Bool

def name.text.valid source · line 122 · raw

@+text:String -> Bool

def names.valid.step source · line 129 · raw

@rest:List<&2, String> -> @valid:Bool -> Bool

def names.valid source · line 138 · raw

@names:List<&2, String> -> Bool

def levels.valid.step source · line 141 · raw

@rest:List<&2, List<&2, String>> -> @valid:Bool -> Bool

def levels.valid source · line 150 · raw

@levels:List<&2, List<&2, String>> -> Bool

def encode.names source · line 153 · raw

@names:List<&2, String> -> 0x185ae03c75e3e75be1171471f68b43cb/bytes.Bytes

def encode.levels source · line 160 · raw

@levels:List<&2, List<&2, String>> -> 0x185ae03c75e3e75be1171471f68b43cb/bytes.Bytes

def encode.body source · line 167 · raw

@+manifest:Manifest -> 0x185ae03c75e3e75be1171471f68b43cb/bytes.Bytes

def encode.digest.checked source · line 172 · raw

@pair:Pair(0x185ae03c75e3e75be1171471f68b43cb/bytes.Bytes, 0x185ae03c75e3e75be1171471f68b43cb/bytes.Bytes) -> Result<&1, &1, Error, 0x185ae03c75e3e75be1171471f68b43cb/bytes.Bytes>

def encode.body.digest source · line 179 · raw

@pair:Pair(0x185ae03c75e3e75be1171471f68b43cb/bytes.Bytes, 0x185ae03c75e3e75be1171471f68b43cb/bytes.Bytes) -> Result<&1, &1, Error, 0x185ae03c75e3e75be1171471f68b43cb/bytes.Bytes>

def encode.body.checked source · line 184 · raw

@manifest:Manifest -> Result<&1, &1, Error, 0x185ae03c75e3e75be1171471f68b43cb/bytes.Bytes>

def encode.checked source · line 188 · raw

@manifest:Manifest -> @valid:Bool -> Result<&1, &1, Error, 0x185ae03c75e3e75be1171471f68b43cb/bytes.Bytes>

def manifest.valid source · line 195 · raw

@manifest:Manifest -> Bool

def serialize source · line 201 · raw

@+manifest:Manifest -> Result<&1, &1, Error, 0x185ae03c75e3e75be1171471f68b43cb/bytes.Bytes>

Handle serialize in the binary manifest codec.

def token.from.result source · line 204 · raw

@result:Result<&1, &1, Error, 0x185ae03c75e3e75be1171471f68b43cb/bytes.Bytes> -> String

def token source · line 212 · raw

@manifest:Manifest -> String

Handle token in the binary manifest codec.

def cursor.u32 source · line 216 · raw

@cursor:0x185ae03c75e3e75be1171471f68b43cb/bytes.Cursor -> Pair(0x185ae03c75e3e75be1171471f68b43cb/bytes.Cursor, Maybe<&2, U32>)

def cursor.bytes source · line 219 · raw

@cursor:0x185ae03c75e3e75be1171471f68b43cb/bytes.Cursor -> @len:U32 -> Pair(0x185ae03c75e3e75be1171471f68b43cb/bytes.Cursor, Maybe<&1, 0x185ae03c75e3e75be1171471f68b43cb/bytes.CursorLimit>)

def read.name.text source · line 222 · raw

@cursor:0x185ae03c75e3e75be1171471f68b43cb/bytes.Cursor -> @limit:0x185ae03c75e3e75be1171471f68b43cb/bytes.CursorLimit -> @name:String -> @valid:Bool -> Pair(0x185ae03c75e3e75be1171471f68b43cb/bytes.Cursor, Maybe<&2, String>)

def read.name.decoded source · line 234 · raw

@cursor:0x185ae03c75e3e75be1171471f68b43cb/bytes.Cursor -> @limit:0x185ae03c75e3e75be1171471f68b43cb/bytes.CursorLimit -> @decoded:Result<&1, &1, Pair(U32, String), String> -> Pair(0x185ae03c75e3e75be1171471f68b43cb/bytes.Cursor, Maybe<&2, String>)

def read.name.checked source · line 245 · raw

@cursor:0x185ae03c75e3e75be1171471f68b43cb/bytes.Cursor -> @limit:0x185ae03c75e3e75be1171471f68b43cb/bytes.CursorLimit -> @bytes:0x185ae03c75e3e75be1171471f68b43cb/bytes.Bytes -> Pair(0x185ae03c75e3e75be1171471f68b43cb/bytes.Cursor, Maybe<&2, String>)

def read.name.buffer.copies source · line 252 · raw

@limit:0x185ae03c75e3e75be1171471f68b43cb/bytes.CursorLimit -> @len:U32 -> @+offset:U32 -> @start:U32 -> @end:U32 -> @copies:Pair(0x185ae03c75e3e75be1171471f68b43cb/bytes.Bytes, 0x185ae03c75e3e75be1171471f68b43cb/bytes.Bytes) -> Pair(0x185ae03c75e3e75be1171471f68b43cb/bytes.Cursor, Maybe<&2, String>)

def read.name.buffer source · line 265 · raw

@cursor:0x185ae03c75e3e75be1171471f68b43cb/bytes.Cursor -> @limit:0x185ae03c75e3e75be1171471f68b43cb/bytes.CursorLimit -> @len:U32 -> Pair(0x185ae03c75e3e75be1171471f68b43cb/bytes.Cursor, Maybe<&2, String>)

def read.name.region.result source · line 270 · raw

@region:Pair(0x185ae03c75e3e75be1171471f68b43cb/bytes.Cursor, Maybe<&1, 0x185ae03c75e3e75be1171471f68b43cb/bytes.CursorLimit>) -> @len:U32 -> Pair(0x185ae03c75e3e75be1171471f68b43cb/bytes.Cursor, Maybe<&2, String>)

def read.name.region source · line 280 · raw

@cursor:0x185ae03c75e3e75be1171471f68b43cb/bytes.Cursor -> @+len:U32 -> Pair(0x185ae03c75e3e75be1171471f68b43cb/bytes.Cursor, Maybe<&2, String>)

def read.name source · line 283 · raw

@pair:Pair(0x185ae03c75e3e75be1171471f68b43cb/bytes.Cursor, Maybe<&2, U32>) -> Pair(0x185ae03c75e3e75be1171471f68b43cb/bytes.Cursor, Maybe<&2, String>)

def parse.step.reject.name source · line 290 · raw

@value:Pair(0x185ae03c75e3e75be1171471f68b43cb/bytes.Cursor, Maybe<&2, String>) -> ParseTransition

def parse.step.reject source · line 295 · raw

@input:ParseInput -> ParseTransition

def parse.step.count.value source · line 302 · raw

@levels_left:Nat -> @levels_acc:List<&2, List<&2, String>> -> @value:Pair(0x185ae03c75e3e75be1171471f68b43cb/bytes.Cursor, Maybe<&2, U32>) -> ParseTransition

def parse.step.count source · line 313 · raw

@levels_left:Nat -> @levels_acc:List<&2, List<&2, String>> -> @input:ParseInput -> ParseTransition

def parse.step.length.named source · line 320 · raw

@levels_left:Nat -> @levels_acc:List<&2, List<&2, String>> -> @names_left:Nat -> @names_acc:List<&2, String> -> @value:Pair(0x185ae03c75e3e75be1171471f68b43cb/bytes.Cursor, Maybe<&2, String>) -> ParseTransition

def parse.step.length.value source · line 329 · raw

@levels_left:Nat -> @levels_acc:List<&2, List<&2, String>> -> @names_left:Nat -> @names_acc:List<&2, String> -> @value:Pair(0x185ae03c75e3e75be1171471f68b43cb/bytes.Cursor, Maybe<&2, U32>) -> ParseTransition

def parse.step.length.input source · line 342 · raw

@levels_left:Nat -> @levels_acc:List<&2, List<&2, String>> -> @names_left:Nat -> @names_acc:List<&2, String> -> @input:ParseInput -> ParseTransition

def parse.step.level.remaining source · line 355 · raw

@levels_left:Nat -> @levels_acc:List<&2, List<&2, String>> -> @names:List<&2, String> -> @cursor:0x185ae03c75e3e75be1171471f68b43cb/bytes.Cursor -> ParseTransition

def parse.step.level source · line 371 · raw

@levels_left:Nat -> @levels_acc:List<&2, List<&2, String>> -> @names_acc:List<&2, String> -> @input:ParseInput -> ParseTransition

def parse.step.name.value source · line 383 · raw

@levels_left:Nat -> @levels_acc:List<&2, List<&2, String>> -> @names_left:Nat -> @names_acc:List<&2, String> -> @value:Pair(0x185ae03c75e3e75be1171471f68b43cb/bytes.Cursor, Maybe<&2, String>) -> ParseTransition

def parse.step.name source · line 396 · raw

@levels_left:Nat -> @levels_acc:List<&2, List<&2, String>> -> @names_left:Nat -> @names_acc:List<&2, String> -> @input:ParseInput -> ParseTransition

def parse.step.state source · line 409 · raw

@state:ParseState -> @input:ParseInput -> ParseTransition

def parse.loop.exhausted.name source · line 422 · raw

@value:Pair(0x185ae03c75e3e75be1171471f68b43cb/bytes.Cursor, Maybe<&2, String>) -> Pair(0x185ae03c75e3e75be1171471f68b43cb/bytes.Cursor, Maybe<&2, Manifest>)

def parse.loop.exhausted source · line 427 · raw

@transition:ParseTransition -> Pair(0x185ae03c75e3e75be1171471f68b43cb/bytes.Cursor, Maybe<&2, Manifest>)

def parse.loop source · line 438 · raw

@fuel:Nat -> @transition:ParseTransition -> Pair(0x185ae03c75e3e75be1171471f68b43cb/bytes.Cursor, Maybe<&2, Manifest>)

def bytes.eq.result source · line 451 · raw

@comparison:Pair(0x185ae03c75e3e75be1171471f68b43cb/bytes.Bytes, Pair(0x185ae03c75e3e75be1171471f68b43cb/bytes.Bytes, Bool)) -> Bool

def checksum.valid source · line 456 · raw

@bytes:0x185ae03c75e3e75be1171471f68b43cb/bytes.Bytes -> @body_len:U32 -> @digest:0x185ae03c75e3e75be1171471f68b43cb/bytes.Bytes -> Bool

def parse.body.digest.verified source · line 459 · raw

@body_len:U32 -> @hash_source:0x185ae03c75e3e75be1171471f68b43cb/bytes.Bytes -> @levels:List<&2, List<&2, String>> -> @digest:0x185ae03c75e3e75be1171471f68b43cb/bytes.Bytes -> Maybe<&2, Manifest>

def parse.body.digest.footer source · line 467 · raw

@+body_len:U32 -> @hash_source:0x185ae03c75e3e75be1171471f68b43cb/bytes.Bytes -> @levels:List<&2, List<&2, String>> -> @copies:Pair(0x185ae03c75e3e75be1171471f68b43cb/bytes.Bytes, 0x185ae03c75e3e75be1171471f68b43cb/bytes.Bytes) -> Maybe<&2, Manifest>

def parse.body.digest.checked source · line 477 · raw

@body_len:U32 -> @hash_source:0x185ae03c75e3e75be1171471f68b43cb/bytes.Bytes -> @footer_source:0x185ae03c75e3e75be1171471f68b43cb/bytes.Bytes -> @levels:List<&2, List<&2, String>> -> @within_size:Bool -> Maybe<&2, Manifest>

def parse.body.digest.size source · line 490 · raw

@+body_len:U32 -> @hash_source:0x185ae03c75e3e75be1171471f68b43cb/bytes.Bytes -> @size_pair:Pair(0x185ae03c75e3e75be1171471f68b43cb/bytes.Bytes, U32) -> @levels:List<&2, List<&2, String>> -> Maybe<&2, Manifest>

def parse.body.digest.sources source · line 500 · raw

@body_len:U32 -> @levels:List<&2, List<&2, String>> -> @sources:Pair(0x185ae03c75e3e75be1171471f68b43cb/bytes.Bytes, 0x185ae03c75e3e75be1171471f68b43cb/bytes.Bytes) -> Maybe<&2, Manifest>

def parse.body.position source · line 509 · raw

@cursor:0x185ae03c75e3e75be1171471f68b43cb/bytes.Cursor -> @source:0x185ae03c75e3e75be1171471f68b43cb/bytes.Bytes -> @levels:List<&2, List<&2, String>> -> Maybe<&2, Manifest>

def parse.body.levels.manifest source · line 518 · raw

@cursor:0x185ae03c75e3e75be1171471f68b43cb/bytes.Cursor -> @source:0x185ae03c75e3e75be1171471f68b43cb/bytes.Bytes -> @manifest:Manifest -> Maybe<&2, Manifest>

def parse.body.levels source · line 523 · raw

@source:0x185ae03c75e3e75be1171471f68b43cb/bytes.Bytes -> @result:Pair(0x185ae03c75e3e75be1171471f68b43cb/bytes.Cursor, Maybe<&2, Manifest>) -> Maybe<&2, Manifest>

def parse.body.start source · line 530 · raw

@count:Nat -> @cursor:0x185ae03c75e3e75be1171471f68b43cb/bytes.Cursor -> @source:0x185ae03c75e3e75be1171471f68b43cb/bytes.Bytes -> Maybe<&2, Manifest>

def parse.body source · line 537 · raw

@pair:Pair(0x185ae03c75e3e75be1171471f68b43cb/bytes.Cursor, Maybe<&2, U32>) -> @source:0x185ae03c75e3e75be1171471f68b43cb/bytes.Bytes -> Maybe<&2, Manifest>

def parse.version source · line 544 · raw

@cursor:0x185ae03c75e3e75be1171471f68b43cb/bytes.Cursor -> @source:0x185ae03c75e3e75be1171471f68b43cb/bytes.Bytes -> @valid:Bool -> Maybe<&2, Manifest>

def parse.magic source · line 551 · raw

@pair:Pair(0x185ae03c75e3e75be1171471f68b43cb/bytes.Cursor, Maybe<&2, U32>) -> @source:0x185ae03c75e3e75be1171471f68b43cb/bytes.Bytes -> Maybe<&2, Manifest>

def parse.input.second.valid source · line 558 · raw

@source:0x185ae03c75e3e75be1171471f68b43cb/bytes.Bytes -> @cursor:0x185ae03c75e3e75be1171471f68b43cb/bytes.Cursor -> @valid:Bool -> Maybe<&2, Manifest>

def parse.input.second source · line 565 · raw

@source:0x185ae03c75e3e75be1171471f68b43cb/bytes.Bytes -> @pair:Pair(0x185ae03c75e3e75be1171471f68b43cb/bytes.Cursor, Maybe<&2, U32>) -> Maybe<&2, Manifest>

def parse.input.first.valid source · line 572 · raw

@source:0x185ae03c75e3e75be1171471f68b43cb/bytes.Bytes -> @cursor:0x185ae03c75e3e75be1171471f68b43cb/bytes.Cursor -> @valid:Bool -> Maybe<&2, Manifest>

def parse.input.first source · line 579 · raw

@source:0x185ae03c75e3e75be1171471f68b43cb/bytes.Bytes -> @pair:Pair(0x185ae03c75e3e75be1171471f68b43cb/bytes.Cursor, Maybe<&2, U32>) -> Maybe<&2, Manifest>

def parse.input.start source · line 586 · raw

@sources:Pair(0x185ae03c75e3e75be1171471f68b43cb/bytes.Bytes, 0x185ae03c75e3e75be1171471f68b43cb/bytes.Bytes) -> Maybe<&2, Manifest>

def parse.input.with_magic source · line 591 · raw

@source:0x185ae03c75e3e75be1171471f68b43cb/bytes.Bytes -> Maybe<&2, Manifest>

def parse.bounded source · line 594 · raw

@source:0x185ae03c75e3e75be1171471f68b43cb/bytes.Bytes -> @within_limit:Bool -> Maybe<&2, Manifest>

def parse.size source · line 601 · raw

@size_pair:Pair(0x185ae03c75e3e75be1171471f68b43cb/bytes.Bytes, U32) -> Maybe<&2, Manifest>

def parse source · line 607 · raw

@source:0x185ae03c75e3e75be1171471f68b43cb/bytes.Bytes -> Maybe<&2, Manifest>

Handle parse in the binary manifest codec.

def parse.result.parsed source · line 610 · raw

@parsed:Maybe<&2, Manifest> -> ParseResult

def parse.result.version.checked source · line 617 · raw

@source:0x185ae03c75e3e75be1171471f68b43cb/bytes.Bytes -> @version:U32 -> @supported:Bool -> ParseResult

def parse.result.version.read source · line 628 · raw

@source:0x185ae03c75e3e75be1171471f68b43cb/bytes.Bytes -> @pair:Pair(0x185ae03c75e3e75be1171471f68b43cb/bytes.Cursor, Maybe<&2, U32>) -> ParseResult

def parse.result.second.checked source · line 638 · raw

@source:0x185ae03c75e3e75be1171471f68b43cb/bytes.Bytes -> @pair:Pair(0x185ae03c75e3e75be1171471f68b43cb/bytes.Cursor, Maybe<&2, U32>) -> @valid:Bool -> ParseResult

def parse.result.second.read source · line 649 · raw

@source:0x185ae03c75e3e75be1171471f68b43cb/bytes.Bytes -> @pair:Pair(0x185ae03c75e3e75be1171471f68b43cb/bytes.Cursor, Maybe<&2, U32>) -> ParseResult

def parse.result.first.checked source · line 659 · raw

@source:0x185ae03c75e3e75be1171471f68b43cb/bytes.Bytes -> @pair:Pair(0x185ae03c75e3e75be1171471f68b43cb/bytes.Cursor, Maybe<&2, U32>) -> @valid:Bool -> ParseResult

def parse.result.first.read source · line 670 · raw

@source:0x185ae03c75e3e75be1171471f68b43cb/bytes.Bytes -> @pair:Pair(0x185ae03c75e3e75be1171471f68b43cb/bytes.Cursor, Maybe<&2, U32>) -> ParseResult

def parse.result.start source · line 680 · raw

@pair:Pair(0x185ae03c75e3e75be1171471f68b43cb/bytes.Bytes, 0x185ae03c75e3e75be1171471f68b43cb/bytes.Bytes) -> ParseResult

def parse.result.bounded source · line 685 · raw

@source:0x185ae03c75e3e75be1171471f68b43cb/bytes.Bytes -> @within:Bool -> ParseResult

def parse.result.sized source · line 692 · raw

@pair:Pair(0x185ae03c75e3e75be1171471f68b43cb/bytes.Bytes, U32) -> ParseResult

def parse_result source · line 698 · raw

@source:0x185ae03c75e3e75be1171471f68b43cb/bytes.Bytes -> ParseResult

Separates a valid Manifest from unsupported and malformed input.

def unsupported_version_error_code source · line 702 · raw

U32

Returns the error code for an unsupported Manifest version.

def malformed_error_code source · line 706 · raw

U32

Returns the error code for malformed Manifest data.

def parse_limit_error_code source · line 710 · raw

U32

Returns the error code for a Manifest size limit.

def is_decided source · line 714 · raw

@_result:Maybe<&2, Manifest> -> Bool

Check whether decided holds for the binary manifest codec.