Skip to main content
Module

x/structurae/index.ts>View

Data structures for high-performance JavaScript applications.
Latest
class View
import { View } from "https://deno.land/x/structurae@4.0.1/index.ts";

Constructors

new
View(maxView?)

Properties

TaggedViews: Map<number, UnknownViewConstructor>
Views: Map<string, UnknownViewConstructor>

Methods

create<T>(schema: ViewSchema<T>, constructor?: T extends object ? Constructor<T> : never): ViewConstructor<T>
decode<T>(view: DataView): T | undefined
encode<T extends { tag: number; }>(
value: T,
view?: DataView,
offset?,
): ViewInstance<T> | undefined
getArray<T>(schema: ViewSchema<T>): [ViewConstructor<T>, number]
getArrayView<T>(
schema: ViewSchema<T>,
SchemaView?: ViewConstructor<T>,
length?: number,
): ViewConstructor<Array<T>>
getFieldLayout<T>(
field: ViewSchema<T>,
start: number,
required: boolean,
name: string,
): ViewFieldLayout<T>
getSchemaTag(schema: ViewSchema<object>): number | undefined
getTag(view: DataView): number
view<T>(view: DataView): ViewInstance<T> | undefined

Static Properties

AbstractViews: Set

Static Methods

getDefaultConstructor<T>(fields: Array<keyof T>, layout: ViewLayout<T>): Constructor<T>
getDefaultData<T extends unknown>(
layout: ViewLayout<T>,
viewLength: number,
fields: Array<keyof T>,
): Uint8Array
getSchemaId(schema: ViewSchema<any>): string
getSchemaOrdering(schema: ViewSchema<unknown>): Array<ViewSchema<object>>