Skip to main content

Built and signed on GitHub Actions

A high-performance PartitionedBuffer implementation backed by Uint32Array for efficient memory usage and fast bitwise operations.

This package works with Cloudflare Workers, Node.js, Deno, Bun, Browsers
This package works with Cloudflare Workers
This package works with Node.js
This package works with Deno
This package works with Bun
This package works with Browsers
JSR Score
100%
Published
2 months ago (0.2.8)
type alias Schema

Schemas are component storage definitions.

Schemas use TypedArray objects and so can only store a single number per property per entity.

Values in TypedArrays are initialised to 0 by default.

To set an initial value: { property: [Int8Array, defaultValue] }.

Examples

Example 1

 type Vec2 = { x: number, y: number };
 const positionSchema: Schema<Vec2> = { x: Float32Array, y: Float32Array };

Example 2

 type Vec2 = { x: number, y: number };
 const positionSchema: Schema<Vec2> = { x: [Float32Array, 100], y: [Float32Array, 100] };

Type Parameters

T extends SchemaSpec<T>

Definition

[K in keyof T]: SchemaProperty

Add Package

deno add jsr:@phughesmcr/partitionedbuffer

Import symbol

import { type Schema } from "@phughesmcr/partitionedbuffer";

---- OR ----

Import directly with a jsr specifier

import { type Schema } from "jsr:@phughesmcr/partitionedbuffer";

Add Package

npx jsr add @phughesmcr/partitionedbuffer

Import symbol

import { type Schema } from "@phughesmcr/partitionedbuffer";

Add Package

yarn dlx jsr add @phughesmcr/partitionedbuffer

Import symbol

import { type Schema } from "@phughesmcr/partitionedbuffer";

Add Package

pnpm dlx jsr add @phughesmcr/partitionedbuffer

Import symbol

import { type Schema } from "@phughesmcr/partitionedbuffer";

Add Package

bunx jsr add @phughesmcr/partitionedbuffer

Import symbol

import { type Schema } from "@phughesmcr/partitionedbuffer";