Dorian 0d073fa89e Add comprehensive installation and setup documentation
- Add GETTING_STARTED.md with quick start guide and development modes
- Add INSTALL.sh automated installation script
- Add INSTALLATION_CHECKLIST.md, INSTALLATION_SUCCESS.md, and INSTALLATION_SUMMARY.md
- Add QUICK_REFERENCE.md for common commands
- Add SETUP_GUIDE.md with detailed setup instructions
- Update README.md with improved project overview
- Add did-wallet app dependencies and node_modules
2026-01-27 17:18:21 +00:00

402 lines
7.2 KiB
TypeScript

/**
* @packageDocumentation
*
* This module contains serialization/deserialization code used when encoding/decoding protobufs.
*
* It should be declared as a dependency of your project:
*
* ```console
* npm i protons-runtime
* ```
*/
import type { Codec } from './codec.js'
export interface FieldDef {
name: string
codec: Codec<any>
optional?: true
repeats?: true
packed?: true
}
export {
decodeMessage
} from './decode.js'
export {
encodeMessage
} from './encode.js'
export { enumeration } from './codecs/enum.js'
export { message } from './codecs/message.js'
export { createReader as reader } from './utils/reader.js'
export { createWriter as writer } from './utils/writer.js'
export type { Codec, EncodeOptions, DecodeOptions } from './codec.js'
export interface Writer {
/**
* Current length
*/
len: number
/**
* Writes an unsigned 32 bit value as a varint
*/
uint32(value: number): this
/**
* Writes a signed 32 bit value as a varint`
*/
int32(value: number): this
/**
* Writes a 32 bit value as a varint, zig-zag encoded
*/
sint32(value: number): this
/**
* Writes an unsigned 64 bit value as a varint
*/
uint64(value: bigint): this
/**
* Writes an unsigned 64 bit value as a varint
*/
uint64Number(value: number): this
/**
* Writes an unsigned 64 bit value as a varint
*/
uint64String(value: string): this
/**
* Writes a signed 64 bit value as a varint
*/
int64(value: bigint): this
/**
* Writes a signed 64 bit value as a varint
*/
int64Number(value: number): this
/**
* Writes a signed 64 bit value as a varint
*/
int64String(value: string): this
/**
* Writes a signed 64 bit value as a varint, zig-zag encoded
*/
sint64(value: bigint): this
/**
* Writes a signed 64 bit value as a varint, zig-zag encoded
*/
sint64Number(value: number): this
/**
* Writes a signed 64 bit value as a varint, zig-zag encoded
*/
sint64String(value: string): this
/**
* Writes a boolish value as a varint
*/
bool(value: boolean): this
/**
* Writes an unsigned 32 bit value as fixed 32 bits
*/
fixed32(value: number): this
/**
* Writes a signed 32 bit value as fixed 32 bits
*/
sfixed32(value: number): this
/**
* Writes an unsigned 64 bit value as fixed 64 bits
*/
fixed64(value: bigint): this
/**
* Writes an unsigned 64 bit value as fixed 64 bits
*/
fixed64Number(value: number): this
/**
* Writes an unsigned 64 bit value as fixed 64 bits
*/
fixed64String(value: string): this
/**
* Writes a signed 64 bit value as fixed 64 bits
*/
sfixed64(value: bigint): this
/**
* Writes a signed 64 bit value as fixed 64 bits
*/
sfixed64Number(value: number): this
/**
* Writes a signed 64 bit value as fixed 64 bits
*/
sfixed64String(value: string): this
/**
* Writes a float (32 bit)
*/
float(value: number): this
/**
* Writes a double (64 bit float)
*/
double(value: number): this
/**
* Writes a sequence of bytes
*/
bytes(value: Uint8Array): this
/**
* Writes a string
*/
string(value: string): this
/**
* Forks this writer's state by pushing it to a stack.
* Calling {@link Writer#reset|reset} or {@link Writer#ldelim|ldelim} resets the writer to the previous state.
*/
fork(): this
/**
* Resets this instance to the last state.
*/
reset(): this
/**
* Resets to the last state and appends the fork state's current write length as a varint followed by its operations.
*/
ldelim(): this
/**
* Finishes the write operation
*/
finish(): Uint8Array
}
export interface Reader {
/**
* Read buffer
*/
buf: Uint8Array
/**
* Read buffer position
*/
pos: number
/**
* Read buffer length
*/
len: number
/**
* Reads a varint as an unsigned 32 bit value
*/
uint32(): number
/**
* Reads a varint as a signed 32 bit value
*/
int32(): number
/**
* Reads a zig-zag encoded varint as a signed 32 bit value
*/
sint32(): number
/**
* Reads a varint as a boolean
*/
bool(): boolean
/**
* Reads fixed 32 bits as an unsigned 32 bit integer
*/
fixed32(): number
/**
* Reads fixed 32 bits as a signed 32 bit integer
*/
sfixed32(): number
/**
* Reads a float (32 bit) as a number
*/
float(): number
/**
* Reads a double (64 bit float) as a number
*/
double(): number
/**
* Reads a sequence of bytes preceded by its length as a varint
*/
bytes(): Uint8Array
/**
* Reads a string preceded by its byte length as a varint
*/
string(): string
/**
* Skips the specified number of bytes if specified, otherwise skips a varints`
*/
skip(length?: number): void
/**
* Skips the next element of the specified wire type
*/
skipType(wireType: number): void
/**
* Reads a varint as a signed 64 bit value
*/
int64(): bigint
/**
* Reads a varint as a signed 64 bit value
*/
int64Number(): number
/**
* Reads a varint as a signed 64 bit value
*/
int64String(): string
/**
* Reads a varint as an unsigned 64 bit value
*/
uint64(): bigint
/**
* Reads a varint as an unsigned 64 bit value
*/
uint64Number(): number
/**
* Reads a varint as an unsigned 64 bit value
*/
uint64String(): string
/**
* Reads a zig-zag encoded varint as a signed 64 bit value
*/
sint64(): bigint
/**
* Reads a zig-zag encoded varint as a signed 64 bit value
*/
sint64Number(): number
/**
* Reads a zig-zag encoded varint as a signed 64 bit value
*/
sint64String(): string
/**
* Reads fixed 64 bits
*/
fixed64(): bigint
/**
* Reads fixed 64 bits
*/
fixed64Number(): number
/**
* Reads fixed 64 bits
*/
fixed64String(): string
/**
* Reads zig-zag encoded fixed 64 bits
*/
sfixed64(): bigint
/**
* Reads zig-zag encoded fixed 64 bits
*/
sfixed64Number(): number
/**
* Reads zig-zag encoded fixed 64 bits
*/
sfixed64String(): string
}
/**
* This will be removed in a future release
*
* @deprecated
*/
export class CodeError extends Error {
public code: string
constructor (message: string, code: string) {
super(message)
this.code = code
}
}
/**
* Thrown when a repeated field has too many elements
*/
export class MaxLengthError extends Error {
/**
* This will be removed in a future release
*
* @deprecated use the `.name` property instead
*/
public code = 'ERR_MAX_LENGTH'
public name = 'MaxLengthError'
}
/**
* Thrown when a map has too many elements
*/
export class MaxSizeError extends Error {
/**
* This will be removed in a future release
*
* @deprecated use the `.name` property instead
*/
public code = 'ERR_MAX_SIZE'
public name = 'MaxSizeError'
}
export class ParseError extends Error {
/**
* This will be removed in a future release
*
* @deprecated use the `.name` property instead
*/
public code = 'ERR_PARSE_ERROR'
public name = 'ParseError'
}
export class NoMessagesFoundError extends Error {
/**
* This will be removed in a future release
*
* @deprecated use the `.name` property instead
*/
public code = 'ERR_NO_MESSAGES_FOUND'
public name = 'NoMessagesFoundError'
}