protomini
TypeScript icon, indicating that this package has built-in type declarations

0.0.6 • Public • Published

ProtoMini

ProtoMini Logo

npm version Build Status License: MIT

Description

Minimize and optimize your network packets for optimal speed and efficiency with ProtoMini.

Features

  • 🚀 Fast encoding and decoding
  • 📦 Simple API
  • 🛠 TypeScript support
  • 🎮 Perfect for real-time game development
  • 🌐 Minimize network latency

Installation

npm install protomini

Usage

import { ProtoMini } from 'protomini';

// Setup ProtoMini
const keyToValueMap = { foo: "f", bar: "b" };
const protoMini = new ProtoMini(keyToValueMap);

// Do magic encode/decode your json
const originalPacket = { foo: ["bar", { bar: "bar" }] };
const encodedPacket = protoMini.encodePacket(originalPacket); // {"f":["b",{"b":"b"}}}
const decodedPacket = protoMini.decodePacket(encodedPacket); // {"foo":["bar",{"bar":"bar"}]}

// Also it doing magic encode/decode your text
const originalText = "foo omg, yeah, bar bar, so-so";
const encodedPacket = protoMini.encodePacket(originalText); // "f omg, yeah, b b, so-so"
const decodedPacket = protoMini.decodePacket(encodedPacket); // "foo omg, yeah, bar bar, so-so"

API Reference

type KeyMapping = { [key: string]: string };
type Primitive = string | number | BigInt | boolean;
type Encodable = Primitive | Encodable[] | { [key: string]: Encodable };

constructor(keysMapping: KeyMapping)

Initialize a new ProtoMini instance.

encodePacket(packet: Encodable): string

Encode a packet.

decodePacket(encodedPacket: string): Encodable

Decode an encoded packet.

Tests

Run tests using Jest:

npm test

License

MIT

Author

👤 car1ot

Support

Raise an issue here for any bugs or feature requests.

Package Sidebar

Install

npm i protomini

Weekly Downloads

4

Version

0.0.6

License

MIT

Unpacked Size

11.3 kB

Total Files

7

Last publish

Collaborators

  • car1ot