@neurodevs/node-lsl 11.4.0 → 11.4.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +40 -29
- package/build/.spruce/settings.json +1 -3
- package/build/__tests__/AbstractLslTest.d.ts +1 -0
- package/build/__tests__/AbstractLslTest.js +1 -0
- package/build/__tests__/AbstractLslTest.js.map +1 -1
- package/build/__tests__/modules/LiblslAdapter.test.d.ts +1 -5
- package/build/__tests__/modules/LiblslAdapter.test.js +5 -61
- package/build/__tests__/modules/LiblslAdapter.test.js.map +1 -1
- package/build/__tests__/modules/LslStreamInfo.test.d.ts +0 -1
- package/build/__tests__/modules/LslStreamInfo.test.js +0 -11
- package/build/__tests__/modules/LslStreamInfo.test.js.map +1 -1
- package/build/__tests__/modules/LslStreamInlet.test.d.ts +0 -1
- package/build/__tests__/modules/LslStreamInlet.test.js +0 -17
- package/build/__tests__/modules/LslStreamInlet.test.js.map +1 -1
- package/build/__tests__/modules/LslStreamOutlet.test.d.ts +7 -5
- package/build/__tests__/modules/LslStreamOutlet.test.js +34 -52
- package/build/__tests__/modules/LslStreamOutlet.test.js.map +1 -1
- package/build/assertions.d.ts +1 -1
- package/build/assertions.js +10 -31
- package/build/assertions.js.map +1 -1
- package/build/modules/LiblslAdapter.d.ts +3 -1
- package/build/modules/LiblslAdapter.js +15 -44
- package/build/modules/LiblslAdapter.js.map +1 -1
- package/build/modules/LslStreamInfo.js +0 -2
- package/build/modules/LslStreamInfo.js.map +1 -1
- package/build/modules/LslStreamInlet.js +2 -10
- package/build/modules/LslStreamInlet.js.map +1 -1
- package/build/modules/LslStreamOutlet.js +0 -13
- package/build/modules/LslStreamOutlet.js.map +1 -1
- package/build/scripts/demoMarkerOutlet.d.ts +1 -0
- package/build/scripts/demoMarkerOutlet.js +23 -0
- package/build/scripts/demoMarkerOutlet.js.map +1 -0
- package/build/scripts/demoStreamOutlet.d.ts +1 -0
- package/build/scripts/demoStreamOutlet.js +25 -0
- package/build/scripts/demoStreamOutlet.js.map +1 -0
- package/build/testDoubles/LslOutlet/FakeLslOutlet.d.ts +4 -4
- package/build/testDoubles/LslOutlet/FakeLslOutlet.js +12 -10
- package/build/testDoubles/LslOutlet/FakeLslOutlet.js.map +1 -1
- package/package.json +8 -12
- package/src/.spruce/settings.json +1 -3
- package/src/__tests__/AbstractLslTest.ts +1 -0
- package/src/__tests__/modules/LiblslAdapter.test.ts +12 -58
- package/src/__tests__/modules/LslStreamInfo.test.ts +1 -12
- package/src/__tests__/modules/LslStreamInlet.test.ts +1 -18
- package/src/__tests__/modules/LslStreamOutlet.test.ts +56 -55
- package/src/assertions.ts +19 -30
- package/src/modules/LiblslAdapter.ts +18 -44
- package/src/modules/LslStreamInfo.ts +0 -2
- package/src/modules/LslStreamInlet.ts +2 -10
- package/src/modules/LslStreamOutlet.ts +0 -14
- package/src/scripts/demoMarkerOutlet.ts +23 -0
- package/src/scripts/demoStreamOutlet.ts +22 -0
- package/src/testDoubles/LslOutlet/FakeLslOutlet.ts +16 -14
- package/build/.spruce/errors/errors.types.d.ts +0 -21
- package/build/.spruce/errors/errors.types.js +0 -3
- package/build/.spruce/errors/errors.types.js.map +0 -1
- package/build/.spruce/errors/nodeLsl/failedToLoadLiblsl.schema.d.ts +0 -3
- package/build/.spruce/errors/nodeLsl/failedToLoadLiblsl.schema.js +0 -19
- package/build/.spruce/errors/nodeLsl/failedToLoadLiblsl.schema.js.map +0 -1
- package/build/.spruce/errors/options.types.d.ts +0 -7
- package/build/.spruce/errors/options.types.js +0 -3
- package/build/.spruce/errors/options.types.js.map +0 -1
- package/build/.spruce/schemas/fields/fieldClassMap.d.ts +0 -2
- package/build/.spruce/schemas/fields/fieldClassMap.js +0 -5
- package/build/.spruce/schemas/fields/fieldClassMap.js.map +0 -1
- package/build/.spruce/schemas/fields/fields.types.d.ts +0 -1
- package/build/.spruce/schemas/fields/fields.types.js +0 -3
- package/build/.spruce/schemas/fields/fields.types.js.map +0 -1
- package/build/errors/SpruceError.d.ts +0 -6
- package/build/errors/SpruceError.js +0 -26
- package/build/errors/SpruceError.js.map +0 -1
- package/build/errors/failedToLoadLiblsl.builder.d.ts +0 -11
- package/build/errors/failedToLoadLiblsl.builder.js +0 -14
- package/build/errors/failedToLoadLiblsl.builder.js.map +0 -1
- package/src/.spruce/errors/errors.types.ts +0 -37
- package/src/.spruce/errors/nodeLsl/failedToLoadLiblsl.schema.ts +0 -22
- package/src/.spruce/errors/options.types.ts +0 -10
- package/src/.spruce/schemas/fields/fieldClassMap.ts +0 -6
- package/src/.spruce/schemas/fields/fields.types.ts +0 -1
- package/src/errors/SpruceError.ts +0 -23
- package/src/errors/failedToLoadLiblsl.builder.ts +0 -12
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LslStreamOutlet.test.js","sourceRoot":"","sources":["../../../src/__tests__/modules/LslStreamOutlet.test.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"LslStreamOutlet.test.js","sourceRoot":"","sources":["../../../src/__tests__/modules/LslStreamOutlet.test.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,uDAAiE;AACjE,yCAA8C;AAE9C,oFAEsC;AACtC,qDAIiC;AAEjC,gHAAuF;AACvF,iGAAwE;AAExE,yEAAgD;AAEhD,MAAqB,mBAAoB,SAAQ,yBAAe;IAGlD,MAAM,CAAC,KAAK,CAAC,UAAU;QAC7B,MAAM,KAAK,CAAC,UAAU,EAAE,CAAA;QAExB,OAAO,yBAAe,CAAC,KAAK,CAAA;QAE5B,IAAI,CAAC,mBAAmB,GAAG,IAAA,qCAA2B,GAAE,CAAA;QAExD,IAAI,CAAC,aAAa,EAAE,CAAA;QACpB,IAAI,CAAC,iBAAiB,EAAE,CAAA;IAC5B,CAAC;IAGsB,AAAb,MAAM,CAAC,KAAK,CAAC,2BAA2B;QAC9C,MAAM,IAAI,CAAC,iCAAiC,EAAE,CAAA;IAClD,CAAC;IAGsB,AAAb,MAAM,CAAC,KAAK,CAAC,oBAAoB;QACvC,MAAM,IAAI,CAAC,eAAe,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,CAAC,CAAA;IACjD,CAAC;IAGsB,AAAb,MAAM,CAAC,KAAK,CAAC,2BAA2B;QAC9C,MAAM,IAAI,CAAC,6BAA6B,CAAC,CAAC,CAAC,CAAC,CAAA;QAC5C,MAAM,IAAI,CAAC,6BAA6B,CAAC,CAAC,GAAG,CAAC,CAAA;IAClD,CAAC;IAGsB,AAAb,MAAM,CAAC,KAAK,CAAC,8BAA8B;QACjD,MAAM,IAAI,CAAC,gCAAgC,CACvC,gBAAiC,CACpC,CAAA;IACL,CAAC;IAGsB,AAAb,MAAM,CAAC,KAAK,CAAC,mBAAmB;QACtC,MAAM,IAAI,CAAC,eAAe,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC,CAAA;IAChD,CAAC;IAGsB,AAAb,MAAM,CAAC,KAAK,CAAC,0BAA0B;QAC7C,MAAM,IAAI,CAAC,4BAA4B,CAAC,CAAC,CAAC,CAAC,CAAA;QAC3C,MAAM,IAAI,CAAC,4BAA4B,CAAC,CAAC,GAAG,CAAC,CAAA;QAC7C,MAAM,IAAI,CAAC,4BAA4B,CAAC,GAAG,CAAC,CAAA;IAChD,CAAC;IAGsB,AAAb,MAAM,CAAC,KAAK,CAAC,qBAAqB;QACxC,MAAM,IAAI,CAAC,eAAe,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,CAAC,CAAA;IAClD,CAAC;IAGsB,AAAb,MAAM,CAAC,KAAK,CAAC,4BAA4B;QAC/C,MAAM,IAAI,CAAC,8BAA8B,CAAC,CAAC,CAAC,CAAC,CAAA;QAC7C,MAAM,IAAI,CAAC,8BAA8B,CAAC,CAAC,GAAG,CAAC,CAAA;QAC/C,MAAM,IAAI,CAAC,8BAA8B,CAAC,GAAG,CAAC,CAAA;IAClD,CAAC;IAGsB,AAAb,MAAM,CAAC,KAAK,CAAC,yBAAyB;QAC5C,KAAK,IAAI,eAAe,IAAI,yCAAgC,EAAE,CAAC;YAC3D,MAAM,mBAAM,CAAC,cAAc,CACvB,KAAK,IAAI,EAAE,CACP,MAAM,IAAI,CAAC,eAAe,CAAC;gBACvB,aAAa,EAAE,eAAe;aACjC,CAAC,EACN,8CAA8C,eAAe,6BAA6B,CAC7F,CAAA;QACL,CAAC;IACL,CAAC;IAGsB,AAAb,MAAM,CAAC,KAAK,CAAC,8BAA8B;QACjD,KAAK,MAAM,MAAM,IAAI,uCAA8B,EAAE,CAAC;YAClD,MAAM,IAAI,CAAC,eAAe,CAAC;gBACvB,aAAa,EAAE,MAA2B;aAC7C,CAAC,CAAA;QACN,CAAC;IACL,CAAC;IAIsB,AAAb,MAAM,CAAC,KAAK,CAAC,uBAAuB,CAAC,MAAiB;QAC5D,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,WAAW,EAAE,CAAA;QACvC,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAA;QAEzB,mBAAM,CAAC,OAAO,CACV,IAAI,CAAC,UAAU,CAAC,mCAAmC,EAAE,MAAM,EAC3D,IAAI,CAAC,UAAU,CAAC,MAAM,CACzB,CAAA;QACD,mBAAM,CAAC,WAAW,CACd,IAAI,CAAC,UAAU,CAAC,mCAAmC,EAAE,MAAM,EAC3D,MAAM,CACT,CAAA;QACD,mBAAM,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,uBAAuB,EAAE;YACxD,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,UAAU;YAChC,SAAS,EAAE,IAAI,CAAC,mBAAmB,CAAC,SAAS;YAC7C,WAAW,EAAE,IAAI,CAAC,mBAAmB,CAAC,WAAW;SACpD,CAAC,CAAA;QACF,mBAAM,CAAC,QAAQ,CACX,IAAI,CAAC,UAAU,CAAC,mCAAmC,EAAE,SAAS,CACjE,CAAA;IACL,CAAC;IAGsB,AAAb,MAAM,CAAC,KAAK,CAAC,wBAAwB;QAC3C,MAAM,MAAM,GAAG,CAAC,IAAA,uBAAU,GAAE,CAAC,CAAA;QAC7B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,YAAY,EAAE,CAAA;QAExC,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAA;QAEzB,mBAAM,CAAC,OAAO,CACV,IAAI,CAAC,UAAU,CAAC,oCAAoC,EAAE,MAAM,EAC5D,IAAI,CAAC,UAAU,CAAC,MAAM,CACzB,CAAA;QACD,mBAAM,CAAC,WAAW,CACd,IAAI,CAAC,UAAU,CAAC,oCAAoC,EAAE,MAAM,EAC5D,MAAM,CACT,CAAA;QACD,mBAAM,CAAC,QAAQ,CACX,IAAI,CAAC,UAAU,CAAC,oCAAoC,EAAE,SAAS,CAClE,CAAA;IACL,CAAC;IAGsB,AAAb,MAAM,CAAC,KAAK,CAAC,0CAA0C;QAC7D,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,YAAY,EAAE,CAAA;QACxC,MAAM,MAAM,GAAG,CAAC,IAAA,uBAAU,GAAE,CAAC,CAAA;QAE7B,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAA;QACzB,MAAM,EAAE,GACJ,IAAI,CAAC,UAAU,CAAC,oCAAoC,EAAE,SAAS,CAAA;QAEnE,MAAM,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QAEnB,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAA;QACzB,MAAM,EAAE,GACJ,IAAI,CAAC,UAAU,CAAC,oCAAoC,EAAE,SAAS,CAAA;QAEnE,mBAAM,CAAC,UAAU,CAAC,EAAE,EAAE,EAAE,CAAC,CAAA;QACzB,mBAAM,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,kBAAkB,EAAE,CAAC,CAAC,CAAA;IACzD,CAAC;IAGsB,AAAb,MAAM,CAAC,KAAK,CAAC,6BAA6B;QAChD,MAAM,IAAI,CAAC,eAAe,EAAE,CAAA;QAE5B,mBAAM,CAAC,WAAW,CAAC,wBAAc,CAAC,kBAAkB,CAAC,CAAC,CAAC,EAAE;YACrD,YAAY,EAAE,IAAI,CAAC,mBAAmB,CAAC,YAAY;YACnD,aAAa,EAAE,IAAI,CAAC,mBAAmB,CAAC,aAAa;YACrD,UAAU,EAAE,IAAI,CAAC,mBAAmB,CAAC,UAAU;YAC/C,IAAI,EAAE,IAAI,CAAC,mBAAmB,CAAC,IAAI;YACnC,IAAI,EAAE,IAAI,CAAC,mBAAmB,CAAC,IAAI;YACnC,QAAQ,EAAE,IAAI,CAAC,mBAAmB,CAAC,QAAQ;YAC3C,KAAK,EAAE,IAAI,CAAC,mBAAmB,CAAC,IAAI;SACvC,CAAC,CAAA;IACN,CAAC;IAGsB,AAAb,MAAM,CAAC,KAAK,CAAC,qCAAqC;QACxD,yBAAe,CAAC,KAAK,GAAG,cAAc,CAAA;QACtC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,eAAe,EAAE,CAAA;QAE7C,mBAAM,CAAC,YAAY,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAA;IACjD,CAAC;IAGsB,AAAb,MAAM,CAAC,KAAK,CAAC,gBAAgB;QACnC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,eAAe,EAAE,CAAA;QAC3C,MAAM,CAAC,OAAO,EAAE,CAAA;QAEhB,mBAAM,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,qBAAqB,EAAE,CAAC,CAAC,CAAA;IAC5D,CAAC;IAGsB,AAAb,MAAM,CAAC,KAAK,CAAC,wCAAwC;QAC3D,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,WAAW,EAAE,CAAA;QACvC,MAAM,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,CAAA;QACxB,MAAM,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,CAAA;QACxB,MAAM,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,CAAA;QAExB,mBAAM,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,oBAAoB,EAAE,CAAC,CAAC,CAAA;IAC3D,CAAC;IAGsB,AAAb,MAAM,CAAC,KAAK,CAAC,6CAA6C;QAChE,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;QAC1B,MAAM,IAAI,CAAC,eAAe,CAAC,EAAE,uBAAuB,EAAE,EAAE,EAAE,CAAC,CAAA;QAC3D,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;QAExB,mBAAM,CAAC,OAAO,CAAC,KAAK,GAAG,OAAO,EAAE,EAAE,CAAC,CAAA;IACvC,CAAC;IAEO,MAAM,CAAC,KAAK,CAAC,iCAAiC;QAClD,MAAM,IAAI,CAAC,qBAAqB,CAC5B,cAAc,EACd,EAAE,EACF,4DAA4D,CAC/D,CAAA;IACL,CAAC;IAEO,MAAM,CAAC,KAAK,CAAC,6BAA6B,CAAC,UAAkB;QACjE,MAAM,IAAI,CAAC,qBAAqB,CAC5B,YAAY,EACZ,UAAU,EACV,gEAAgE,UAAU,EAAE,CAC/E,CAAA;IACL,CAAC;IAEO,MAAM,CAAC,KAAK,CAAC,gCAAgC,CACjD,aAA4B;QAE5B,MAAM,IAAI,CAAC,qBAAqB,CAC5B,eAAe,EACf,aAAa,EACb,2CAA2C,wBAAe,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,aAAa,GAAG,CACjG,CAAA;IACL,CAAC;IAEO,MAAM,CAAC,KAAK,CAAC,8BAA8B,CAAC,WAAmB;QACnE,MAAM,IAAI,CAAC,qBAAqB,CAC5B,aAAa,EACb,WAAW,EACX,kEAAkE,WAAW,EAAE,CAClF,CAAA;IACL,CAAC;IAEO,MAAM,CAAC,KAAK,CAAC,4BAA4B,CAAC,SAAiB;QAC/D,MAAM,IAAI,CAAC,qBAAqB,CAC5B,WAAW,EACX,SAAS,EACT,gEAAgE,SAAS,EAAE,CAC9E,CAAA;IACL,CAAC;IAEO,MAAM,CAAC,KAAK,CAAC,qBAAqB,CACtC,MAA8B,EAC9B,KAAwC,EACxC,eAAuB;QAEvB,MAAM,GAAG,GAAG,MAAM,mBAAM,CAAC,cAAc,CACnC,KAAK,IAAI,EAAE,CAAC,MAAM,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC,CAC9D,CAAA;QACD,mBAAM,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,CAAA;IACxD,CAAC;IAEO,MAAM,CAAC,KAAK,CAAC,YAAY;QAC7B,OAAO,MAAM,IAAI,CAAC,eAAe,CAAC,EAAE,aAAa,EAAE,QAAQ,EAAE,CAAC,CAAA;IAClE,CAAC;IAEO,MAAM,CAAC,KAAK,CAAC,WAAW;QAC5B,OAAO,MAAM,IAAI,CAAC,eAAe,CAAC,EAAE,aAAa,EAAE,SAAS,EAAE,CAAC,CAAA;IACnE,CAAC;IAEO,MAAM,CAAC,KAAK,CAAC,eAAe,CAAC,OAAmC;QACpE,OAAO,MAAM,yBAAe,CAAC,MAAM,CAAC;YAChC,GAAG,IAAI,CAAC,mBAAmB;YAC3B,GAAG,OAAO;SACb,CAAC,CAAA;IACN,CAAC;CACJ;AAvQD,sCAuQC;AAxP0B;IADtB,IAAA,iBAAI,GAAE;4DAGN;AAGsB;IADtB,IAAA,iBAAI,GAAE;qDAGN;AAGsB;IADtB,IAAA,iBAAI,GAAE;4DAIN;AAGsB;IADtB,IAAA,iBAAI,GAAE;+DAKN;AAGsB;IADtB,IAAA,iBAAI,GAAE;oDAGN;AAGsB;IADtB,IAAA,iBAAI,GAAE;2DAKN;AAGsB;IADtB,IAAA,iBAAI,GAAE;sDAGN;AAGsB;IADtB,IAAA,iBAAI,GAAE;6DAKN;AAGsB;IADtB,IAAA,iBAAI,GAAE;0DAWN;AAGsB;IADtB,IAAA,iBAAI,GAAE;+DAON;AAIsB;IAFtB,IAAA,iBAAI,EAAC,oCAAoC,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IACtD,IAAA,iBAAI,EAAC,iCAAiC,EAAE,CAAC,GAAG,CAAC,CAAC;wDAqB9C;AAGsB;IADtB,IAAA,iBAAI,GAAE;yDAkBN;AAGsB;IADtB,IAAA,iBAAI,GAAE;2EAiBN;AAGsB;IADtB,IAAA,iBAAI,GAAE;8DAaN;AAGsB;IADtB,IAAA,iBAAI,GAAE;sEAMN;AAGsB;IADtB,IAAA,iBAAI,GAAE;iDAMN;AAGsB;IADtB,IAAA,iBAAI,GAAE;yEAQN;AAGsB;IADtB,IAAA,iBAAI,GAAE;8EAON;AAuEL,MAAM,cAAe,SAAQ,yBAAe;IACxC,YAAmB,IAAgB,EAAE,OAAyB;QAC1D,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;IACxB,CAAC;CACJ"}
|
package/build/assertions.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { ChannelFormat } from './types';
|
|
2
|
-
export declare function assertValidMaxBuffered(maxBuffered: number): void;
|
|
3
2
|
export declare function assertValidChunkSize(chunkSize: number): void;
|
|
3
|
+
export declare function assertValidMaxBuffered(maxBuffered: number): void;
|
|
4
4
|
export declare function assertValidChannelFormat(channelFormat: ChannelFormat): void;
|
|
5
5
|
export declare function assertValidSampleRate(sampleRate: number): void;
|
|
6
6
|
export declare function assertValidChannelCount(channelCount: number): void;
|
package/build/assertions.js
CHANGED
|
@@ -1,56 +1,35 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.assertValidMaxBuffered = assertValidMaxBuffered;
|
|
4
3
|
exports.assertValidChunkSize = assertValidChunkSize;
|
|
4
|
+
exports.assertValidMaxBuffered = assertValidMaxBuffered;
|
|
5
5
|
exports.assertValidChannelFormat = assertValidChannelFormat;
|
|
6
6
|
exports.assertValidSampleRate = assertValidSampleRate;
|
|
7
7
|
exports.assertValidChannelCount = assertValidChannelCount;
|
|
8
|
-
const schema_1 = require("@sprucelabs/schema");
|
|
9
8
|
const consts_1 = require("./consts");
|
|
10
9
|
const validations_1 = require("./validations");
|
|
11
|
-
function assertValidMaxBuffered(maxBuffered) {
|
|
12
|
-
if (!(0, validations_1.isPositiveIntegerOrZero)(maxBuffered)) {
|
|
13
|
-
throw new schema_1.SchemaError({
|
|
14
|
-
code: 'INVALID_PARAMETERS',
|
|
15
|
-
parameters: ['maxBuffered'],
|
|
16
|
-
friendlyMessage: 'Max buffered must be a positive integer or zero.',
|
|
17
|
-
});
|
|
18
|
-
}
|
|
19
|
-
}
|
|
20
10
|
function assertValidChunkSize(chunkSize) {
|
|
21
11
|
if (!(0, validations_1.isPositiveIntegerOrZero)(chunkSize)) {
|
|
22
|
-
throw new
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
12
|
+
throw new Error(`Invalid chunk size! Must be a positive integer or zero, not: ${chunkSize}.`);
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
function assertValidMaxBuffered(maxBuffered) {
|
|
16
|
+
if (!(0, validations_1.isPositiveIntegerOrZero)(maxBuffered)) {
|
|
17
|
+
throw new Error(`Invalid max buffered! Must be a positive integer or zero, not: ${maxBuffered}.`);
|
|
27
18
|
}
|
|
28
19
|
}
|
|
29
20
|
function assertValidChannelFormat(channelFormat) {
|
|
30
21
|
if (!(0, validations_1.isStringInArray)(channelFormat, consts_1.CHANNEL_FORMATS)) {
|
|
31
|
-
throw new
|
|
32
|
-
code: 'INVALID_PARAMETERS',
|
|
33
|
-
parameters: ['channelFormat'],
|
|
34
|
-
friendlyMessage: `Invalid `,
|
|
35
|
-
});
|
|
22
|
+
throw new Error(`Invalid channel format! Must be one of: ${consts_1.CHANNEL_FORMATS.join(', ')}, not ${channelFormat}.`);
|
|
36
23
|
}
|
|
37
24
|
}
|
|
38
25
|
function assertValidSampleRate(sampleRate) {
|
|
39
26
|
if (!(0, validations_1.isGreaterThanOrEqualToZero)(sampleRate)) {
|
|
40
|
-
throw new
|
|
41
|
-
code: 'INVALID_PARAMETERS',
|
|
42
|
-
parameters: ['sampleRate'],
|
|
43
|
-
friendlyMessage: 'Sample rate must be a positive number or zero.',
|
|
44
|
-
});
|
|
27
|
+
throw new Error(`Invalid sample rate! Must be a positive number or zero, not: ${sampleRate}.`);
|
|
45
28
|
}
|
|
46
29
|
}
|
|
47
30
|
function assertValidChannelCount(channelCount) {
|
|
48
31
|
if (!(0, validations_1.isPositiveInteger)(channelCount)) {
|
|
49
|
-
throw new
|
|
50
|
-
code: 'INVALID_PARAMETERS',
|
|
51
|
-
parameters: ['channelNames'],
|
|
52
|
-
friendlyMessage: 'channelNames must have 1 or more labels.',
|
|
53
|
-
});
|
|
32
|
+
throw new Error(`Invalid channel count! Must be a positive integer, not: ${channelCount}.`);
|
|
54
33
|
}
|
|
55
34
|
}
|
|
56
35
|
//# sourceMappingURL=assertions.js.map
|
package/build/assertions.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"assertions.js","sourceRoot":"","sources":["../src/assertions.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"assertions.js","sourceRoot":"","sources":["../src/assertions.ts"],"names":[],"mappings":";;AASA,oDAMC;AAED,wDAMC;AAED,4DAMC;AAED,sDAMC;AAED,0DAMC;AA/CD,qCAA0C;AAE1C,+CAKsB;AAEtB,SAAgB,oBAAoB,CAAC,SAAiB;IAClD,IAAI,CAAC,IAAA,qCAAuB,EAAC,SAAS,CAAC,EAAE,CAAC;QACtC,MAAM,IAAI,KAAK,CACX,gEAAgE,SAAS,GAAG,CAC/E,CAAA;IACL,CAAC;AACL,CAAC;AAED,SAAgB,sBAAsB,CAAC,WAAmB;IACtD,IAAI,CAAC,IAAA,qCAAuB,EAAC,WAAW,CAAC,EAAE,CAAC;QACxC,MAAM,IAAI,KAAK,CACX,kEAAkE,WAAW,GAAG,CACnF,CAAA;IACL,CAAC;AACL,CAAC;AAED,SAAgB,wBAAwB,CAAC,aAA4B;IACjE,IAAI,CAAC,IAAA,6BAAe,EAAC,aAAa,EAAE,wBAAe,CAAC,EAAE,CAAC;QACnD,MAAM,IAAI,KAAK,CACX,2CAA2C,wBAAe,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,aAAa,GAAG,CACjG,CAAA;IACL,CAAC;AACL,CAAC;AAED,SAAgB,qBAAqB,CAAC,UAAkB;IACpD,IAAI,CAAC,IAAA,wCAA0B,EAAC,UAAU,CAAC,EAAE,CAAC;QAC1C,MAAM,IAAI,KAAK,CACX,gEAAgE,UAAU,GAAG,CAChF,CAAA;IACL,CAAC;AACL,CAAC;AAED,SAAgB,uBAAuB,CAAC,YAAoB;IACxD,IAAI,CAAC,IAAA,+BAAiB,EAAC,YAAY,CAAC,EAAE,CAAC;QACnC,MAAM,IAAI,KAAK,CACX,2DAA2D,YAAY,GAAG,CAC7E,CAAA;IACL,CAAC;AACL,CAAC"}
|
|
@@ -1,12 +1,14 @@
|
|
|
1
1
|
import { define, open } from 'ffi-rs';
|
|
2
2
|
import { Liblsl, CreateStreamInfoOptions, AppendChannelsToStreamInfoOptions, CreateOutletOptions, DestroyOutletOptions, PushSampleFloatTimestampOptions, PushSampleStringTimestampOptions, CreateInletOptions, DestroyInletOptions } from '../types';
|
|
3
3
|
export default class LiblslAdapter implements Liblsl {
|
|
4
|
-
private static instance?;
|
|
5
4
|
static ffiRsOpen: typeof open;
|
|
6
5
|
static ffiRsDefine: typeof define;
|
|
6
|
+
private static instance?;
|
|
7
|
+
private path;
|
|
7
8
|
private bindings;
|
|
8
9
|
protected constructor();
|
|
9
10
|
private tryToLoadBindings;
|
|
11
|
+
private generateFailedMessage;
|
|
10
12
|
static getInstance(): Liblsl;
|
|
11
13
|
static setInstance(instance: Liblsl): void;
|
|
12
14
|
static resetInstance(): void;
|
|
@@ -1,29 +1,23 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
const schema_1 = require("@sprucelabs/schema");
|
|
7
3
|
const ffi_rs_1 = require("ffi-rs");
|
|
8
|
-
const SpruceError_1 = __importDefault(require("../errors/SpruceError"));
|
|
9
4
|
class LiblslAdapter {
|
|
10
5
|
constructor() {
|
|
11
6
|
this.defaultMacOsPath = '/opt/homebrew/Cellar/lsl/1.16.2/lib/liblsl.1.16.2.dylib';
|
|
12
|
-
|
|
13
|
-
this.tryToLoadBindings(
|
|
7
|
+
this.path = process.env.LIBLSL_PATH ?? this.defaultMacOsPath;
|
|
8
|
+
this.tryToLoadBindings();
|
|
14
9
|
}
|
|
15
|
-
tryToLoadBindings(
|
|
10
|
+
tryToLoadBindings() {
|
|
16
11
|
try {
|
|
17
|
-
this.bindings = this.loadBindings(path);
|
|
12
|
+
this.bindings = this.loadBindings(this.path);
|
|
18
13
|
}
|
|
19
14
|
catch (error) {
|
|
20
|
-
throw new
|
|
21
|
-
code: 'FAILED_TO_LOAD_LIBLSL',
|
|
22
|
-
liblslPath: path,
|
|
23
|
-
originalError: error,
|
|
24
|
-
});
|
|
15
|
+
throw new Error(this.generateFailedMessage(error));
|
|
25
16
|
}
|
|
26
17
|
}
|
|
18
|
+
generateFailedMessage(error) {
|
|
19
|
+
return `Loading the liblsl dylib failed! I tried to load it from ${this.path}.\n\n${error.message}\n\n`;
|
|
20
|
+
}
|
|
27
21
|
static getInstance() {
|
|
28
22
|
if (!this.instance) {
|
|
29
23
|
this.setInstance(new this());
|
|
@@ -119,14 +113,7 @@ class LiblslAdapter {
|
|
|
119
113
|
});
|
|
120
114
|
}
|
|
121
115
|
createStreamInfo(options) {
|
|
122
|
-
const { name, type, channelCount, sampleRate, channelFormat, sourceId, } =
|
|
123
|
-
'name',
|
|
124
|
-
'type',
|
|
125
|
-
'channelCount',
|
|
126
|
-
'sampleRate',
|
|
127
|
-
'channelFormat',
|
|
128
|
-
'sourceId',
|
|
129
|
-
]);
|
|
116
|
+
const { name, type, channelCount, sampleRate, channelFormat, sourceId, } = options;
|
|
130
117
|
return this.bindings.lsl_create_streaminfo([
|
|
131
118
|
name,
|
|
132
119
|
type,
|
|
@@ -137,7 +124,7 @@ class LiblslAdapter {
|
|
|
137
124
|
]);
|
|
138
125
|
}
|
|
139
126
|
appendChannelsToStreamInfo(options) {
|
|
140
|
-
const { info, channels } =
|
|
127
|
+
const { info, channels } = options;
|
|
141
128
|
const description = this.bindings.lsl_get_desc([info]);
|
|
142
129
|
const parent = this.bindings.lsl_append_child([description, 'channels']);
|
|
143
130
|
for (const channel of channels) {
|
|
@@ -152,39 +139,23 @@ class LiblslAdapter {
|
|
|
152
139
|
}
|
|
153
140
|
}
|
|
154
141
|
createOutlet(options) {
|
|
155
|
-
const { info, chunkSize, maxBuffered } =
|
|
156
|
-
'info',
|
|
157
|
-
'chunkSize',
|
|
158
|
-
'maxBuffered',
|
|
159
|
-
]);
|
|
142
|
+
const { info, chunkSize, maxBuffered } = options;
|
|
160
143
|
return this.bindings.lsl_create_outlet([info, chunkSize, maxBuffered]);
|
|
161
144
|
}
|
|
162
145
|
pushSampleFloatTimestamp(options) {
|
|
163
|
-
const { outlet, sample, timestamp } =
|
|
164
|
-
'outlet',
|
|
165
|
-
'sample',
|
|
166
|
-
'timestamp',
|
|
167
|
-
]);
|
|
146
|
+
const { outlet, sample, timestamp } = options;
|
|
168
147
|
this.bindings.lsl_push_sample_ft([outlet, sample, timestamp]);
|
|
169
148
|
}
|
|
170
149
|
pushSampleStringTimestamp(options) {
|
|
171
|
-
const { outlet, sample, timestamp } =
|
|
172
|
-
'outlet',
|
|
173
|
-
'sample',
|
|
174
|
-
'timestamp',
|
|
175
|
-
]);
|
|
150
|
+
const { outlet, sample, timestamp } = options;
|
|
176
151
|
this.bindings.lsl_push_sample_strt([outlet, sample, timestamp]);
|
|
177
152
|
}
|
|
178
153
|
destroyOutlet(options) {
|
|
179
|
-
const { outlet } =
|
|
154
|
+
const { outlet } = options;
|
|
180
155
|
this.bindings.lsl_destroy_outlet([outlet]);
|
|
181
156
|
}
|
|
182
157
|
createInlet(options) {
|
|
183
|
-
const { info, chunkSize, maxBuffered } =
|
|
184
|
-
'info',
|
|
185
|
-
'chunkSize',
|
|
186
|
-
'maxBuffered',
|
|
187
|
-
]);
|
|
158
|
+
const { info, chunkSize, maxBuffered } = options;
|
|
188
159
|
return this.bindings.lsl_create_inlet([info, chunkSize, maxBuffered]);
|
|
189
160
|
}
|
|
190
161
|
destroyInlet(_options) { }
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LiblslAdapter.js","sourceRoot":"","sources":["../../src/modules/LiblslAdapter.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"LiblslAdapter.js","sourceRoot":"","sources":["../../src/modules/LiblslAdapter.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,7 +3,6 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
const schema_1 = require("@sprucelabs/schema");
|
|
7
6
|
const test_utils_1 = require("@sprucelabs/test-utils");
|
|
8
7
|
const consts_1 = require("../consts");
|
|
9
8
|
const LiblslAdapter_1 = __importDefault(require("./LiblslAdapter"));
|
|
@@ -25,7 +24,6 @@ class LslStreamInfo {
|
|
|
25
24
|
this.appendChannelsToStreamInfo();
|
|
26
25
|
}
|
|
27
26
|
static Create(options) {
|
|
28
|
-
(0, schema_1.assertOptions)(options, ['channelNames', 'channelFormat', 'sampleRate']);
|
|
29
27
|
return new (this.Class ?? this)(options);
|
|
30
28
|
}
|
|
31
29
|
createStreamInfo() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LslStreamInfo.js","sourceRoot":"","sources":["../../src/modules/LslStreamInfo.ts"],"names":[],"mappings":";;;;;AAAA
|
|
1
|
+
{"version":3,"file":"LslStreamInfo.js","sourceRoot":"","sources":["../../src/modules/LslStreamInfo.ts"],"names":[],"mappings":";;;;;AAAA,uDAAmD;AACnD,sCAA+C;AAE/C,oEAA2C;AAE3C,MAAqB,aAAa;IAY9B,YAAsB,OAA0B;QAiE/B,gBAAW,GAAG,mBAAmB,IAAA,uBAAU,GAAE,EAAE,CAAA;QAC/C,gBAAW,GAAG,IAAA,uBAAU,GAAE,CAAA;QAC1B,oBAAe,GAAG,IAAA,uBAAU,GAAE,CAAA;QAC9B,iBAAY,GAAG,KAAK,CAAA;QAnEjC,MAAM,EACF,YAAY,EACZ,aAAa,EACb,UAAU,EACV,IAAI,GAAG,IAAI,CAAC,WAAW,EACvB,IAAI,GAAG,IAAI,CAAC,WAAW,EACvB,QAAQ,GAAG,IAAI,CAAC,eAAe,EAC/B,KAAK,GAAG,IAAI,CAAC,YAAY,GAC5B,GAAG,OAAO,CAAA;QAEX,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;QAChB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;QAChB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAA;QACxB,IAAI,CAAC,YAAY,GAAG,YAAY,CAAA;QAChC,IAAI,CAAC,aAAa,GAAG,aAAa,CAAA;QAClC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAA;QAClB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAA;QAE5B,IAAI,CAAC,gBAAgB,EAAE,CAAA;QACvB,IAAI,CAAC,0BAA0B,EAAE,CAAA;IACrC,CAAC;IAEM,MAAM,CAAC,MAAM,CAAC,OAA0B;QAC3C,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,OAAO,CAAC,CAAA;IAC5C,CAAC;IAEO,gBAAgB;QACpB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,gBAAgB,CAAC;YACxC,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,YAAY,EAAE,IAAI,CAAC,YAAY;YAC/B,aAAa,EAAE,IAAI,CAAC,gBAAgB;YACpC,UAAU,EAAE,IAAI,CAAC,UAAU;SAC9B,CAAC,CAAA;IACN,CAAC;IAEO,0BAA0B;QAC9B,IAAI,CAAC,GAAG,CAAC,0BAA0B,CAAC;YAChC,IAAI,EAAE,IAAI,CAAC,UAAU;YACrB,QAAQ,EAAE,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,KAAa,EAAE,EAAE,CAAC,CAAC;gBAChD,KAAK;gBACL,IAAI,EAAE,IAAI,CAAC,KAAK;gBAChB,IAAI,EAAE,IAAI,CAAC,IAAI;aAClB,CAAC,CAAC;SACN,CAAC,CAAA;IACN,CAAC;IAED,IAAW,eAAe;QACtB,OAAO,IAAI,CAAC,UAAU,CAAA;IAC1B,CAAC;IAED,IAAY,YAAY;QACpB,OAAO,IAAI,CAAC,YAAY,CAAC,MAAM,CAAA;IACnC,CAAC;IAED,IAAY,gBAAgB;QACxB,OAAO,4BAAmB,CAAC,IAAI,CAAC,aAAa,CAAC,CAAA;IAClD,CAAC;IAED,IAAY,GAAG;QACX,OAAO,uBAAa,CAAC,WAAW,EAAE,CAAA;IACtC,CAAC;CAMJ;AAjFD,gCAiFC"}
|
|
@@ -3,7 +3,6 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
const schema_1 = require("@sprucelabs/schema");
|
|
7
6
|
const test_utils_1 = require("@sprucelabs/test-utils");
|
|
8
7
|
const LiblslAdapter_1 = __importDefault(require("./LiblslAdapter"));
|
|
9
8
|
const LslStreamInfo_1 = __importDefault(require("./LslStreamInfo"));
|
|
@@ -18,16 +17,9 @@ class LslStreamInlet {
|
|
|
18
17
|
this.createLslInlet();
|
|
19
18
|
}
|
|
20
19
|
static Create(options) {
|
|
21
|
-
(0, schema_1.assertOptions)(options, [
|
|
22
|
-
'channelNames',
|
|
23
|
-
'channelFormat',
|
|
24
|
-
'sampleRate',
|
|
25
|
-
'chunkSize',
|
|
26
|
-
'maxBuffered',
|
|
27
|
-
]);
|
|
28
20
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
29
|
-
const { maxBuffered, chunkSize, ...
|
|
30
|
-
const info = this.LslStreamInfo(
|
|
21
|
+
const { maxBuffered, chunkSize, ...infoOptions } = options;
|
|
22
|
+
const info = this.LslStreamInfo(infoOptions);
|
|
31
23
|
return new (this.Class ?? this)(info, options);
|
|
32
24
|
}
|
|
33
25
|
createLslInlet() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LslStreamInlet.js","sourceRoot":"","sources":["../../src/modules/LslStreamInlet.ts"],"names":[],"mappings":";;;;;AAAA
|
|
1
|
+
{"version":3,"file":"LslStreamInlet.js","sourceRoot":"","sources":["../../src/modules/LslStreamInlet.ts"],"names":[],"mappings":";;;;;AAAA,uDAAmD;AAEnD,oEAA2C;AAC3C,oEAA8E;AAE9E,MAAqB,cAAc;IAQ/B,YAAsB,IAAgB,EAAE,OAAwB;QAsC/C,gBAAW,GAAG,aAAa,IAAA,uBAAU,GAAE,EAAE,CAAA;QArCtD,MAAM,EACF,IAAI,GAAG,IAAI,CAAC,WAAW,EACvB,SAAS,EACT,WAAW,GACd,GAAG,OAAO,IAAI,EAAE,CAAA;QAEjB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;QAChB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAA;QAC1B,IAAI,CAAC,WAAW,GAAG,WAAW,CAAA;QAC9B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;QAEhB,IAAI,CAAC,cAAc,EAAE,CAAA;IACzB,CAAC;IAEM,MAAM,CAAC,MAAM,CAAC,OAAwB;QACzC,6DAA6D;QAC7D,MAAM,EAAE,WAAW,EAAE,SAAS,EAAE,GAAG,WAAW,EAAE,GAAG,OAAO,CAAA;QAC1D,MAAM,IAAI,GAAG,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,CAAA;QAC5C,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;IAClD,CAAC;IAEO,cAAc;QAClB,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC;YACjB,IAAI,EAAE,IAAI,CAAC,eAAe;YAC1B,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,WAAW,EAAE,IAAI,CAAC,WAAW;SAChC,CAAC,CAAA;IACN,CAAC;IAED,IAAY,eAAe;QACvB,OAAO,IAAI,CAAC,IAAI,CAAC,eAAe,CAAA;IACpC,CAAC;IAED,IAAY,GAAG;QACX,OAAO,uBAAa,CAAC,WAAW,EAAE,CAAA;IACtC,CAAC;IAIO,MAAM,CAAC,aAAa,CAAC,OAA0B;QACnD,OAAO,uBAAa,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;IACxC,CAAC;CACJ;AAnDD,iCAmDC"}
|
|
@@ -3,7 +3,6 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
const schema_1 = require("@sprucelabs/schema");
|
|
7
6
|
const assertions_1 = require("../assertions");
|
|
8
7
|
const LiblslAdapter_1 = __importDefault(require("./LiblslAdapter"));
|
|
9
8
|
const LslStreamInfo_1 = __importDefault(require("./LslStreamInfo"));
|
|
@@ -20,18 +19,6 @@ class LslStreamOutlet {
|
|
|
20
19
|
this.setPushSampleType();
|
|
21
20
|
}
|
|
22
21
|
static async Create(options) {
|
|
23
|
-
(0, schema_1.assertOptions)(options, [
|
|
24
|
-
'name',
|
|
25
|
-
'type',
|
|
26
|
-
'sourceId',
|
|
27
|
-
'channelNames',
|
|
28
|
-
'channelFormat',
|
|
29
|
-
'sampleRate',
|
|
30
|
-
'chunkSize',
|
|
31
|
-
'maxBuffered',
|
|
32
|
-
'manufacturer',
|
|
33
|
-
'unit',
|
|
34
|
-
]);
|
|
35
22
|
const { waitAfterConstructionMs = 10 } = options ?? {};
|
|
36
23
|
const streamInfoOptions = {
|
|
37
24
|
channelNames: options.channelNames,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LslStreamOutlet.js","sourceRoot":"","sources":["../../src/modules/LslStreamOutlet.ts"],"names":[],"mappings":";;;;;AAAA
|
|
1
|
+
{"version":3,"file":"LslStreamOutlet.js","sourceRoot":"","sources":["../../src/modules/LslStreamOutlet.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const EventMarkerOutlet_1 = __importDefault(require("../modules/EventMarkerOutlet"));
|
|
7
|
+
async function main() {
|
|
8
|
+
const outlet = await EventMarkerOutlet_1.default.Create();
|
|
9
|
+
const markers = [
|
|
10
|
+
{ name: 'phase-1-begin', durationMs: 100 },
|
|
11
|
+
{ name: 'phase-1-end', durationMs: 10 },
|
|
12
|
+
];
|
|
13
|
+
// Hangs until complete
|
|
14
|
+
await outlet.pushMarkers(markers);
|
|
15
|
+
// Void promise, does not hang
|
|
16
|
+
void outlet.pushMarkers(markers);
|
|
17
|
+
// Interrupts the above pushMarkers process
|
|
18
|
+
outlet.stop();
|
|
19
|
+
}
|
|
20
|
+
main().catch((error) => {
|
|
21
|
+
console.error('Error in main:', error);
|
|
22
|
+
});
|
|
23
|
+
//# sourceMappingURL=demoMarkerOutlet.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"demoMarkerOutlet.js","sourceRoot":"","sources":["../../src/scripts/demoMarkerOutlet.ts"],"names":[],"mappings":";;;;;AAAA,qFAA4D;AAE5D,KAAK,UAAU,IAAI;IACf,MAAM,MAAM,GAAG,MAAM,2BAAiB,CAAC,MAAM,EAAE,CAAA;IAE/C,MAAM,OAAO,GAAG;QACZ,EAAE,IAAI,EAAE,eAAe,EAAE,UAAU,EAAE,GAAG,EAAE;QAC1C,EAAE,IAAI,EAAE,aAAa,EAAE,UAAU,EAAE,EAAE,EAAE;KAC1C,CAAA;IAED,uBAAuB;IACvB,MAAM,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,CAAA;IAEjC,8BAA8B;IAC9B,KAAK,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,CAAA;IAEhC,2CAA2C;IAC3C,MAAM,CAAC,IAAI,EAAE,CAAA;AACjB,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;IACnB,OAAO,CAAC,KAAK,CAAC,gBAAgB,EAAE,KAAK,CAAC,CAAA;AAC1C,CAAC,CAAC,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const LslStreamOutlet_1 = __importDefault(require("../modules/LslStreamOutlet"));
|
|
7
|
+
async function main() {
|
|
8
|
+
const instance = await LslStreamOutlet_1.default.Create({
|
|
9
|
+
name: 'Muse S (2nd gen)',
|
|
10
|
+
type: 'EEG',
|
|
11
|
+
channelNames: ['TP9', 'AF7', 'AF8', 'TP10', 'AUX'],
|
|
12
|
+
sampleRate: 256,
|
|
13
|
+
channelFormat: 'float32',
|
|
14
|
+
sourceId: 'muse-s-eeg',
|
|
15
|
+
manufacturer: 'Interaxon Inc.',
|
|
16
|
+
unit: 'microvolt',
|
|
17
|
+
chunkSize: 12,
|
|
18
|
+
maxBuffered: 360,
|
|
19
|
+
});
|
|
20
|
+
instance.pushSample([1, 2, 3, 4, 5]);
|
|
21
|
+
}
|
|
22
|
+
main().catch((error) => {
|
|
23
|
+
console.error('Error in main:', error);
|
|
24
|
+
});
|
|
25
|
+
//# sourceMappingURL=demoStreamOutlet.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"demoStreamOutlet.js","sourceRoot":"","sources":["../../src/scripts/demoStreamOutlet.ts"],"names":[],"mappings":";;;;;AAAA,iFAAwD;AAExD,KAAK,UAAU,IAAI;IACf,MAAM,QAAQ,GAAG,MAAM,yBAAe,CAAC,MAAM,CAAC;QAC1C,IAAI,EAAE,kBAAkB;QACxB,IAAI,EAAE,KAAK;QACX,YAAY,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC;QAClD,UAAU,EAAE,GAAG;QACf,aAAa,EAAE,SAAS;QACxB,QAAQ,EAAE,YAAY;QACtB,YAAY,EAAE,gBAAgB;QAC9B,IAAI,EAAE,WAAW;QACjB,SAAS,EAAE,EAAE;QACb,WAAW,EAAE,GAAG;KACnB,CAAC,CAAA;IAEF,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;AACxC,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;IACnB,OAAO,CAAC,KAAK,CAAC,gBAAgB,EAAE,KAAK,CAAC,CAAA;AAC1C,CAAC,CAAC,CAAA"}
|
|
@@ -5,8 +5,8 @@ export default class FakeLslOutlet implements LslOutlet {
|
|
|
5
5
|
static callsToConstructor: CallToOutletConstructor[];
|
|
6
6
|
static callsToPushSample: LslSample[];
|
|
7
7
|
static numCallsToDestroy: number;
|
|
8
|
-
options
|
|
9
|
-
constructor(info
|
|
8
|
+
options?: LslOutletOptions;
|
|
9
|
+
constructor(info?: StreamInfo, options?: LslOutletOptions);
|
|
10
10
|
destroy(): void;
|
|
11
11
|
pushSample(sample: LslSample): void;
|
|
12
12
|
get name(): string;
|
|
@@ -23,6 +23,6 @@ export default class FakeLslOutlet implements LslOutlet {
|
|
|
23
23
|
static resetTestDouble(): void;
|
|
24
24
|
}
|
|
25
25
|
export interface CallToOutletConstructor {
|
|
26
|
-
info
|
|
27
|
-
options
|
|
26
|
+
info?: StreamInfo;
|
|
27
|
+
options?: LslOutletOptions;
|
|
28
28
|
}
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const crypto_1 = require("crypto");
|
|
4
|
+
const test_utils_1 = require("@sprucelabs/test-utils");
|
|
3
5
|
class FakeLslOutlet {
|
|
4
6
|
constructor(info, options) {
|
|
5
7
|
FakeLslOutlet.callsToConstructor.push({ info, options });
|
|
@@ -12,37 +14,37 @@ class FakeLslOutlet {
|
|
|
12
14
|
FakeLslOutlet.callsToPushSample.push(sample);
|
|
13
15
|
}
|
|
14
16
|
get name() {
|
|
15
|
-
return this.options.
|
|
17
|
+
return this.options?.name ?? (0, test_utils_1.generateId)();
|
|
16
18
|
}
|
|
17
19
|
get type() {
|
|
18
|
-
return this.options.
|
|
20
|
+
return this.options?.type ?? (0, test_utils_1.generateId)();
|
|
19
21
|
}
|
|
20
22
|
get sourceId() {
|
|
21
|
-
return this.options.
|
|
23
|
+
return this.options?.sourceId ?? (0, test_utils_1.generateId)();
|
|
22
24
|
}
|
|
23
25
|
get channelNames() {
|
|
24
|
-
return this.options.
|
|
26
|
+
return this.options?.channelNames ?? [(0, test_utils_1.generateId)()];
|
|
25
27
|
}
|
|
26
28
|
get channelCount() {
|
|
27
29
|
return this.channelNames.length;
|
|
28
30
|
}
|
|
29
31
|
get channelFormat() {
|
|
30
|
-
return this.options
|
|
32
|
+
return this.options?.channelFormat ?? 'float32';
|
|
31
33
|
}
|
|
32
34
|
get sampleRate() {
|
|
33
|
-
return this.options.
|
|
35
|
+
return this.options?.sampleRate ?? (0, crypto_1.randomInt)(1, 1000);
|
|
34
36
|
}
|
|
35
37
|
get chunkSize() {
|
|
36
|
-
return this.options.
|
|
38
|
+
return this.options?.chunkSize ?? (0, crypto_1.randomInt)(1, 1000);
|
|
37
39
|
}
|
|
38
40
|
get maxBuffered() {
|
|
39
|
-
return this.options.
|
|
41
|
+
return this.options?.maxBuffered ?? (0, crypto_1.randomInt)(1, 1000);
|
|
40
42
|
}
|
|
41
43
|
get manufacturer() {
|
|
42
|
-
return this.options.
|
|
44
|
+
return this.options?.manufacturer ?? (0, test_utils_1.generateId)();
|
|
43
45
|
}
|
|
44
46
|
get unit() {
|
|
45
|
-
return this.options.
|
|
47
|
+
return this.options?.unit ?? (0, test_utils_1.generateId)();
|
|
46
48
|
}
|
|
47
49
|
static resetTestDouble() {
|
|
48
50
|
FakeLslOutlet.callsToConstructor = [];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FakeLslOutlet.js","sourceRoot":"","sources":["../../../src/testDoubles/LslOutlet/FakeLslOutlet.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"FakeLslOutlet.js","sourceRoot":"","sources":["../../../src/testDoubles/LslOutlet/FakeLslOutlet.ts"],"names":[],"mappings":";;AAAA,mCAAkC;AAClC,uDAAmD;AAKnD,MAAqB,aAAa;IAO9B,YAAmB,IAAiB,EAAE,OAA0B;QAC5D,aAAa,CAAC,kBAAkB,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAA;QACxD,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;IAC1B,CAAC;IAEM,OAAO;QACV,aAAa,CAAC,iBAAiB,EAAE,CAAA;IACrC,CAAC;IAEM,UAAU,CAAC,MAAiB;QAC/B,aAAa,CAAC,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;IAChD,CAAC;IAED,IAAW,IAAI;QACX,OAAO,IAAI,CAAC,OAAO,EAAE,IAAI,IAAI,IAAA,uBAAU,GAAE,CAAA;IAC7C,CAAC;IAED,IAAW,IAAI;QACX,OAAO,IAAI,CAAC,OAAO,EAAE,IAAI,IAAI,IAAA,uBAAU,GAAE,CAAA;IAC7C,CAAC;IAED,IAAW,QAAQ;QACf,OAAO,IAAI,CAAC,OAAO,EAAE,QAAQ,IAAI,IAAA,uBAAU,GAAE,CAAA;IACjD,CAAC;IAED,IAAW,YAAY;QACnB,OAAO,IAAI,CAAC,OAAO,EAAE,YAAY,IAAI,CAAC,IAAA,uBAAU,GAAE,CAAC,CAAA;IACvD,CAAC;IAED,IAAW,YAAY;QACnB,OAAO,IAAI,CAAC,YAAY,CAAC,MAAM,CAAA;IACnC,CAAC;IAED,IAAW,aAAa;QACpB,OAAO,IAAI,CAAC,OAAO,EAAE,aAAa,IAAI,SAAS,CAAA;IACnD,CAAC;IAED,IAAW,UAAU;QACjB,OAAO,IAAI,CAAC,OAAO,EAAE,UAAU,IAAI,IAAA,kBAAS,EAAC,CAAC,EAAE,IAAI,CAAC,CAAA;IACzD,CAAC;IAED,IAAW,SAAS;QAChB,OAAO,IAAI,CAAC,OAAO,EAAE,SAAS,IAAI,IAAA,kBAAS,EAAC,CAAC,EAAE,IAAI,CAAC,CAAA;IACxD,CAAC;IAED,IAAW,WAAW;QAClB,OAAO,IAAI,CAAC,OAAO,EAAE,WAAW,IAAI,IAAA,kBAAS,EAAC,CAAC,EAAE,IAAI,CAAC,CAAA;IAC1D,CAAC;IAED,IAAW,YAAY;QACnB,OAAO,IAAI,CAAC,OAAO,EAAE,YAAY,IAAI,IAAA,uBAAU,GAAE,CAAA;IACrD,CAAC;IAED,IAAW,IAAI;QACX,OAAO,IAAI,CAAC,OAAO,EAAE,IAAI,IAAI,IAAA,uBAAU,GAAE,CAAA;IAC7C,CAAC;IAEM,MAAM,CAAC,eAAe;QACzB,aAAa,CAAC,kBAAkB,GAAG,EAAE,CAAA;QACrC,aAAa,CAAC,iBAAiB,GAAG,EAAE,CAAA;QACpC,aAAa,CAAC,iBAAiB,GAAG,CAAC,CAAA;IACvC,CAAC;;AAnEa,gCAAkB,GAA8B,EAAE,CAAA;AAClD,+BAAiB,GAAgB,EAAE,CAAA;AACnC,+BAAiB,GAAG,CAAC,CAAA;kBAHlB,aAAa"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@neurodevs/node-lsl",
|
|
3
|
-
"version": "11.4.
|
|
3
|
+
"version": "11.4.2",
|
|
4
|
+
"description": "Lab Streaming Layer (LSL) bindings for Node",
|
|
4
5
|
"main": "build/index.js",
|
|
5
6
|
"repository": {
|
|
6
7
|
"type": "git",
|
|
@@ -30,6 +31,12 @@
|
|
|
30
31
|
"watch.tsc": "tsc -w",
|
|
31
32
|
"test.rs": "node build/test.js"
|
|
32
33
|
},
|
|
34
|
+
"dependencies": {
|
|
35
|
+
"ffi-rs": "^1.0.98",
|
|
36
|
+
"node-gyp": "^10.2.0",
|
|
37
|
+
"ref-array-napi": "^1.2.2",
|
|
38
|
+
"ref-napi": "^3.0.3"
|
|
39
|
+
},
|
|
33
40
|
"devDependencies": {
|
|
34
41
|
"@sprucelabs/jest-json-reporter": "^8.0.542",
|
|
35
42
|
"@sprucelabs/resolve-path-aliases": "^2.0.516",
|
|
@@ -48,7 +55,6 @@
|
|
|
48
55
|
"tsc-watch": "^6.2.1",
|
|
49
56
|
"typescript": "^5.6.3"
|
|
50
57
|
},
|
|
51
|
-
"description": "Lab Streaming Layer (LSL) bindings for Node",
|
|
52
58
|
"skill": {
|
|
53
59
|
"namespace": "node-lsl",
|
|
54
60
|
"upgradeIgnoreList": [
|
|
@@ -72,15 +78,5 @@
|
|
|
72
78
|
"moduleNameMapper": {
|
|
73
79
|
"^#spruce/(.*)$": "<rootDir>/build/.spruce/$1"
|
|
74
80
|
}
|
|
75
|
-
},
|
|
76
|
-
"dependencies": {
|
|
77
|
-
"@sprucelabs/error": "^6.0.541",
|
|
78
|
-
"@sprucelabs/schema": "^30.0.560",
|
|
79
|
-
"@sprucelabs/spruce-core-schemas": "^40.1.547",
|
|
80
|
-
"@sprucelabs/spruce-skill-utils": "^31.0.624",
|
|
81
|
-
"ffi-rs": "^1.0.98",
|
|
82
|
-
"node-gyp": "^10.2.0",
|
|
83
|
-
"ref-array-napi": "^1.2.2",
|
|
84
|
-
"ref-napi": "^3.0.3"
|
|
85
81
|
}
|
|
86
82
|
}
|
|
@@ -55,4 +55,5 @@ export default class AbstractLslTest extends AbstractSpruceTest {
|
|
|
55
55
|
protected static readonly channelNames = [generateId(), generateId()]
|
|
56
56
|
protected static readonly chunkSize = Math.floor(Math.random() * 100)
|
|
57
57
|
protected static readonly maxBuffered = Math.floor(Math.random() * 100)
|
|
58
|
+
protected static readonly sampleRate = Math.floor(Math.random() * 100)
|
|
58
59
|
}
|