hopefully fix types
This commit is contained in:
parent
8df7656eee
commit
10074e197f
6 changed files with 38 additions and 35 deletions
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"name": "ts-osc",
|
"name": "ts-osc",
|
||||||
"version": "0.2.4",
|
"version": "0.2.5",
|
||||||
"description": "Fully TypeScript-native OSC Client based on osc-min",
|
"description": "Fully TypeScript-native OSC Client based on osc-min",
|
||||||
"main": "./lib/index.js",
|
"main": "./lib/index.js",
|
||||||
"types": "./lib/index.d.ts",
|
"types": "./lib/index.d.ts",
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,3 @@
|
||||||
export * from './oscClient';
|
export * from './oscClient';
|
||||||
export * from './oscServer';
|
export * from './oscServer';
|
||||||
export { OSCType, OSCArgumentType } from 'osc-min';
|
export { OSCType, OSCArgumentType } from './types';
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,6 @@
|
||||||
import * as dgram from 'dgram';
|
import * as dgram from 'dgram';
|
||||||
import { OSCArgument, OSCType, toBuffer, OSCArgumentType } from 'osc-min';
|
import { toBuffer } from 'osc-min';
|
||||||
|
import { OSCArgument, OSCType, OSCArgumentType } from './types';
|
||||||
import { EventEmitter } from 'events';
|
import { EventEmitter } from 'events';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,7 @@
|
||||||
import EventEmitter = require('events');
|
import EventEmitter = require('events');
|
||||||
import * as dgram from 'dgram';
|
import * as dgram from 'dgram';
|
||||||
import { OSCType, OSCArgumentType, fromBuffer } from 'osc-min';
|
import { fromBuffer } from 'osc-min';
|
||||||
|
import { OSCType, OSCArgumentType } from './types';
|
||||||
|
|
||||||
export interface ReceivedOSCMessage<T extends OSCType> {
|
export interface ReceivedOSCMessage<T extends OSCType> {
|
||||||
address: string;
|
address: string;
|
||||||
|
|
|
||||||
31
src/types.ts
Normal file
31
src/types.ts
Normal file
|
|
@ -0,0 +1,31 @@
|
||||||
|
export interface OSCArgument<T extends OSCType> {
|
||||||
|
type: T;
|
||||||
|
value: OSCArgumentType<T>;
|
||||||
|
}
|
||||||
|
|
||||||
|
export enum OSCType {
|
||||||
|
String = 'string',
|
||||||
|
Float = 'float',
|
||||||
|
Integer = 'integer',
|
||||||
|
Blob = 'blob',
|
||||||
|
True = 'true',
|
||||||
|
False = 'false',
|
||||||
|
Null = 'null',
|
||||||
|
Bang = 'bang',
|
||||||
|
Timetag = 'timetag',
|
||||||
|
Array = 'array',
|
||||||
|
}
|
||||||
|
|
||||||
|
export type OSCArgumentType<T extends OSCType> = T extends OSCType.String
|
||||||
|
? string
|
||||||
|
: T extends OSCType.Float | OSCType.Integer | OSCType.Timetag
|
||||||
|
? number
|
||||||
|
: T extends OSCType.True
|
||||||
|
? true
|
||||||
|
: T extends OSCType.False
|
||||||
|
? false
|
||||||
|
: T extends OSCType.Blob
|
||||||
|
? Buffer
|
||||||
|
: T extends OSCType.Array
|
||||||
|
? OSCArgument<OSCType>[]
|
||||||
|
: null;
|
||||||
32
src/types/osc-min.d.ts
vendored
32
src/types/osc-min.d.ts
vendored
|
|
@ -1,16 +1,5 @@
|
||||||
declare module 'osc-min' {
|
declare module 'osc-min' {
|
||||||
export enum OSCType {
|
import { OSCType, OSCArgumentType, OSCArgument } from '../types';
|
||||||
String = 'string',
|
|
||||||
Float = 'float',
|
|
||||||
Integer = 'integer',
|
|
||||||
Blob = 'blob',
|
|
||||||
True = 'true',
|
|
||||||
False = 'false',
|
|
||||||
Null = 'null',
|
|
||||||
Bang = 'bang',
|
|
||||||
Timetag = 'timetag',
|
|
||||||
Array = 'array',
|
|
||||||
}
|
|
||||||
|
|
||||||
export type OSCTimeTag = [number, number];
|
export type OSCTimeTag = [number, number];
|
||||||
export type OutgoingOSCArgsTypes = (OSCArgument<OSCType> | Buffer | boolean | string | number)[];
|
export type OutgoingOSCArgsTypes = (OSCArgument<OSCType> | Buffer | boolean | string | number)[];
|
||||||
|
|
@ -31,25 +20,6 @@ declare module 'osc-min' {
|
||||||
elements: (OSCMessage | OSCBundle)[];
|
elements: (OSCMessage | OSCBundle)[];
|
||||||
}
|
}
|
||||||
|
|
||||||
export type OSCArgumentType<T extends OSCType> = T extends OSCType.String
|
|
||||||
? string
|
|
||||||
: T extends OSCType.Float | OSCType.Integer | OSCType.Timetag
|
|
||||||
? number
|
|
||||||
: T extends OSCType.True
|
|
||||||
? true
|
|
||||||
: T extends OSCType.False
|
|
||||||
? false
|
|
||||||
: T extends OSCType.Blob
|
|
||||||
? Buffer
|
|
||||||
: T extends OSCType.Array
|
|
||||||
? OSCArgument<OSCType>[]
|
|
||||||
: null;
|
|
||||||
|
|
||||||
export interface OSCArgument<T extends OSCType> {
|
|
||||||
type: T;
|
|
||||||
value: OSCArgumentType<T>;
|
|
||||||
}
|
|
||||||
|
|
||||||
type OSCPacket = OSCMessage | OSCBundle;
|
type OSCPacket = OSCMessage | OSCBundle;
|
||||||
|
|
||||||
export function fromBuffer(buffer: Buffer, strict?: boolean): OSCPacket;
|
export function fromBuffer(buffer: Buffer, strict?: boolean): OSCPacket;
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue