diff --git a/packages/osc/src/osc-types.ts b/packages/osc/src/osc-types.ts index 8f9a59f..79bfcbc 100644 --- a/packages/osc/src/osc-types.ts +++ b/packages/osc/src/osc-types.ts @@ -173,7 +173,7 @@ export const oscTypeConverterMap: { [key: string]: OSCTypeConverter } = { }, r: { toBuffer: (color) => { - if (color === undefined || color === null){ + if (color === undefined || color === null) { throw new TypeError('osc type r called with undefined or null value'); } @@ -228,4 +228,12 @@ export const oscTypeConverterMap: { [key: string]: OSCTypeConverter } = { return [null, buffer]; }, }, + I: { + toBuffer: () => { + return new Uint8Array(); + }, + fromBuffer: (buffer) => { + return [Number.MAX_SAFE_INTEGER, buffer]; + }, + }, }; diff --git a/packages/osc/tests/message-decode.test.js b/packages/osc/tests/message-decode.test.js index b306a5b..736277a 100644 --- a/packages/osc/tests/message-decode.test.js +++ b/packages/osc/tests/message-decode.test.js @@ -48,6 +48,11 @@ const tests = [ bytes: new Uint8Array([47, 104, 101, 108, 108, 111, 0, 0, 44, 78, 0, 0]), expected: { address: '/hello', args: [{ type: 'N', value: null }] }, }, + { + description: 'simple address Inifinitum arg', + bytes: new Uint8Array([47, 104, 101, 108, 108, 111, 0, 0, 44, 73, 0, 0]), + expected: { address: '/hello', args: [{ type: 'I', value: Number.MAX_SAFE_INTEGER }] }, + }, { description: 'osc 1.0 spec example 1', bytes: new Uint8Array([