hopefully fix types

This commit is contained in:
Rik Berkelder 2021-01-29 21:25:02 +01:00
parent 8df7656eee
commit 10074e197f
6 changed files with 38 additions and 35 deletions

View file

@ -1,3 +1,3 @@
export * from './oscClient';
export * from './oscServer';
export { OSCType, OSCArgumentType } from 'osc-min';
export { OSCType, OSCArgumentType } from './types';

View file

@ -1,5 +1,6 @@
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';
/**

View file

@ -1,6 +1,7 @@
import EventEmitter = require('events');
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> {
address: string;

31
src/types.ts Normal file
View 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;

View file

@ -1,16 +1,5 @@
declare module 'osc-min' {
export enum OSCType {
String = 'string',
Float = 'float',
Integer = 'integer',
Blob = 'blob',
True = 'true',
False = 'false',
Null = 'null',
Bang = 'bang',
Timetag = 'timetag',
Array = 'array',
}
import { OSCType, OSCArgumentType, OSCArgument } from '../types';
export type OSCTimeTag = [number, number];
export type OutgoingOSCArgsTypes = (OSCArgument<OSCType> | Buffer | boolean | string | number)[];
@ -31,25 +20,6 @@ declare module 'osc-min' {
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;
export function fromBuffer(buffer: Buffer, strict?: boolean): OSCPacket;