Skip to main content
import * as Metadata from 'voltaire-effect/Metadata'
import * as Schema from 'effect/Schema'
import { Effect } from 'effect'

// Parse CBOR metadata from bytecode suffix
const bytes = new Uint8Array([0xa2, 0x64, 0x69, 0x70, 0x66, 0x73])
const metadata = Schema.decodeSync(Metadata.Bytes)(bytes)

// Effect constructor
const program = Metadata.from(bytes)
const parsed = Effect.runSync(program)

// Access fields
console.log(parsed.raw)

Error Handling

const result = await Effect.runPromiseExit(Metadata.from(new Uint8Array([])))
if (result._tag === 'Failure') console.error(result.cause)