0.2.2 • Published 4 years ago

typed-wamp v0.2.2

Weekly downloads
42
License
MIT
Repository
github
Last release
4 years ago

typed-wamp

Build Statuscodecovnpm version

This is a package that provides accurate TypeScript type definitions and basic message wrappers for the WAMP protocol.

This package doesn't do much by itself. It lets other code, like client and router implementations, use a uniform set of typed and wrappers for working with the WAMP protocol.

Wrappers and Enums

These work in both JS and TS.

Message Type Codes

Via the WampType enum:

import { WampType } from "typed-wamp";

let x = WampType.HELLO;
let y = WampType.GOODBYE;

WAMP Message Wrapper Objects

These are object versions of WAMP messages, that support properties and methods. They are easier to work with than naked arrays.

Craft using a constructor:

import { Wamp } from "typed-wamp";

let msgGoodbye = new Wamp.Goodbye({}, "goodbye reason");
let msgHello = new Wamp.Hello("realm", { /* ... */ });

Parse from an array object:

let raw = [1, "realm", helloDetails];
let parsed = Wamp.parse(raw);

Turn back to raw form:

let raw2 = parsed.toRaw();
console.log(raw2); // [1, "realm", helloDetails]

Common URIs

URIs mentioned in the WAMP specification.

import { WampUri } from "typed-wamp";

let reason = WampUri.Error.NotAuthorized; // wamp.error.not_authorized
let onRegisterTopicName = WampUri.Registration.OnRegister; // wamp.registration.on_register

Type Definitions

These only make sense from TypeScript.

WAMP Message Structure Definitions

These are in the namespace WampRaw.

import { WampRaw, WampType } from "typed-wamp";
import { WampType } from "typed-wamp";

let x: WampRaw.Hello = [WampType.HELLO, "realm", {...}];

WAMP Options Type Definitions

Type definitions for things like the HELLO message details field.

import {HelloDetails} from "typed-wamp";

let helloDetails: HelloDetails = {
    agent: "wampus",
    roles: {
        publisher: {
            features: {
                subscriber_blackwhite_listing: true
            }
        }
    },
    // ...
};

Limitations

This package intentionally doesn't address any specific authentication method, so it doesn't include specific wrappers for wampcra authentication (except for wrappers and types describing general Challenge and Authenticate messages).

0.2.2

4 years ago

0.2.1

4 years ago

0.2.0

4 years ago

0.1.1

4 years ago

0.1.4

4 years ago

0.1.3

4 years ago

0.1.0

4 years ago

0.1.3-pre

4 years ago

0.1.2-pre

4 years ago

0.1.1-pre

4 years ago

0.1.0-pre

4 years ago