@neurodevs/node-lsl 11.4.1 → 12.0.0

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.
Files changed (175) hide show
  1. package/.vscode/tasks.json +19 -1
  2. package/README.md +44 -34
  3. package/build/.spruce/settings.json +1 -3
  4. package/build/__tests__/{AbstractLslTest.d.ts → AbstractPackageTest.d.ts} +6 -4
  5. package/build/__tests__/AbstractPackageTest.js +58 -0
  6. package/build/__tests__/AbstractPackageTest.js.map +1 -0
  7. package/build/__tests__/{modules → impl}/LiblslAdapter.test.d.ts +5 -8
  8. package/build/__tests__/{modules → impl}/LiblslAdapter.test.js +37 -86
  9. package/build/__tests__/impl/LiblslAdapter.test.js.map +1 -0
  10. package/build/__tests__/{modules/EventMarkerOutlet.test.d.ts → impl/LslEventMarkerOutlet.test.d.ts} +5 -4
  11. package/build/__tests__/{modules/EventMarkerOutlet.test.js → impl/LslEventMarkerOutlet.test.js} +32 -25
  12. package/build/__tests__/impl/LslEventMarkerOutlet.test.js.map +1 -0
  13. package/build/__tests__/{modules → impl}/LslStreamInfo.test.d.ts +3 -4
  14. package/build/__tests__/{modules → impl}/LslStreamInfo.test.js +17 -27
  15. package/build/__tests__/impl/LslStreamInfo.test.js.map +1 -0
  16. package/build/__tests__/impl/LslStreamInlet.test.d.ts +10 -0
  17. package/build/__tests__/{modules → impl}/LslStreamInlet.test.js +9 -26
  18. package/build/__tests__/impl/LslStreamInlet.test.js.map +1 -0
  19. package/build/__tests__/{modules → impl}/LslStreamOutlet.test.d.ts +9 -7
  20. package/build/__tests__/{modules → impl}/LslStreamOutlet.test.js +40 -57
  21. package/build/__tests__/impl/LslStreamOutlet.test.js.map +1 -0
  22. package/build/__tests__/impl/LslWebSocketBridge.test.d.ts +7 -0
  23. package/build/__tests__/impl/LslWebSocketBridge.test.js +63 -0
  24. package/build/__tests__/impl/LslWebSocketBridge.test.js.map +1 -0
  25. package/build/assertions.d.ts +1 -1
  26. package/build/assertions.js +10 -31
  27. package/build/assertions.js.map +1 -1
  28. package/build/{modules → impl}/LiblslAdapter.d.ts +3 -1
  29. package/build/{modules → impl}/LiblslAdapter.js +15 -44
  30. package/build/impl/LiblslAdapter.js.map +1 -0
  31. package/build/impl/LslEventMarkerOutlet.d.ts +23 -0
  32. package/build/{modules/EventMarkerOutlet.js → impl/LslEventMarkerOutlet.js} +6 -6
  33. package/build/impl/LslEventMarkerOutlet.js.map +1 -0
  34. package/build/{modules → impl}/LslStreamInfo.js +4 -6
  35. package/build/impl/LslStreamInfo.js.map +1 -0
  36. package/build/{modules → impl}/LslStreamInlet.d.ts +8 -8
  37. package/build/{modules → impl}/LslStreamInlet.js +6 -14
  38. package/build/impl/LslStreamInlet.js.map +1 -0
  39. package/build/{modules → impl}/LslStreamOutlet.d.ts +8 -8
  40. package/build/{modules → impl}/LslStreamOutlet.js +2 -15
  41. package/build/impl/LslStreamOutlet.js.map +1 -0
  42. package/build/impl/LslWebSocketBridge.d.ts +8 -0
  43. package/build/impl/LslWebSocketBridge.js +10 -0
  44. package/build/impl/LslWebSocketBridge.js.map +1 -0
  45. package/build/index.d.ts +26 -22
  46. package/build/index.js +41 -34
  47. package/build/index.js.map +1 -1
  48. package/build/scripts/runLslEventMarkerOutlet.d.ts +1 -0
  49. package/build/scripts/runLslEventMarkerOutlet.js +23 -0
  50. package/build/scripts/runLslEventMarkerOutlet.js.map +1 -0
  51. package/build/scripts/runLslStreamOutlet.d.ts +1 -0
  52. package/build/scripts/runLslStreamOutlet.js +25 -0
  53. package/build/scripts/runLslStreamOutlet.js.map +1 -0
  54. package/build/testDoubles/{MarkerOutlet/FakeMarkerOutlet.d.ts → EventMarkerOutlet/FakeEventMarkerOutlet.d.ts} +2 -2
  55. package/build/testDoubles/EventMarkerOutlet/FakeEventMarkerOutlet.js +29 -0
  56. package/build/testDoubles/EventMarkerOutlet/FakeEventMarkerOutlet.js.map +1 -0
  57. package/build/testDoubles/{MarkerOutlet/MockMarkerOutlet.d.ts → EventMarkerOutlet/MockEventMarkerOutlet.d.ts} +2 -2
  58. package/build/testDoubles/{MarkerOutlet/MockMarkerOutlet.js → EventMarkerOutlet/MockEventMarkerOutlet.js} +3 -3
  59. package/build/testDoubles/EventMarkerOutlet/MockEventMarkerOutlet.js.map +1 -0
  60. package/build/testDoubles/EventMarkerOutlet/SpyEventMarkerOutlet.d.ts +9 -0
  61. package/build/testDoubles/{MarkerOutlet/SpyMarkerOutlet.js → EventMarkerOutlet/SpyEventMarkerOutlet.js} +8 -8
  62. package/build/testDoubles/EventMarkerOutlet/SpyEventMarkerOutlet.js.map +1 -0
  63. package/build/testDoubles/{MarkerOutlet/ThrowingMarkerOutlet.d.ts → EventMarkerOutlet/ThrowingEventMarkerOutlet.d.ts} +2 -2
  64. package/build/testDoubles/{MarkerOutlet/ThrowingMarkerOutlet.js → EventMarkerOutlet/ThrowingEventMarkerOutlet.js} +3 -3
  65. package/build/testDoubles/EventMarkerOutlet/ThrowingEventMarkerOutlet.js.map +1 -0
  66. package/build/testDoubles/StreamInfo/FakeStreamInfo.d.ts +1 -1
  67. package/build/testDoubles/StreamInfo/SpyStreamInfo.d.ts +1 -1
  68. package/build/testDoubles/StreamInfo/SpyStreamInfo.js +1 -1
  69. package/build/testDoubles/StreamInfo/SpyStreamInfo.js.map +1 -1
  70. package/build/testDoubles/StreamInlet/FakeStreamInlet.d.ts +10 -0
  71. package/build/testDoubles/StreamInlet/FakeStreamInlet.js +16 -0
  72. package/build/testDoubles/StreamInlet/FakeStreamInlet.js.map +1 -0
  73. package/build/testDoubles/StreamInlet/SpyStreamInlet.d.ts +7 -0
  74. package/build/testDoubles/{LslInlet/SpyLslInlet.js → StreamInlet/SpyStreamInlet.js} +5 -5
  75. package/build/testDoubles/StreamInlet/SpyStreamInlet.js.map +1 -0
  76. package/build/testDoubles/{LslOutlet/FakeLslOutlet.d.ts → StreamOutlet/FakeStreamOutlet.d.ts} +9 -10
  77. package/build/testDoubles/StreamOutlet/FakeStreamOutlet.js +62 -0
  78. package/build/testDoubles/StreamOutlet/FakeStreamOutlet.js.map +1 -0
  79. package/build/testDoubles/StreamTransportBridge/FakeStreamTransportBridge.d.ts +6 -0
  80. package/build/testDoubles/StreamTransportBridge/FakeStreamTransportBridge.js +13 -0
  81. package/build/testDoubles/StreamTransportBridge/FakeStreamTransportBridge.js.map +1 -0
  82. package/build/testDoubles/generateRandomOutletOptions.d.ts +2 -2
  83. package/build/testDoubles/generateRandomOutletOptions.js +10 -7
  84. package/build/testDoubles/generateRandomOutletOptions.js.map +1 -1
  85. package/build/types.d.ts +3 -3
  86. package/package.json +26 -18
  87. package/src/.spruce/settings.json +1 -3
  88. package/src/__tests__/{AbstractLslTest.ts → AbstractPackageTest.ts} +23 -17
  89. package/src/__tests__/{modules → impl}/LiblslAdapter.test.ts +36 -76
  90. package/src/__tests__/{modules/EventMarkerOutlet.test.ts → impl/LslEventMarkerOutlet.test.ts} +38 -27
  91. package/src/__tests__/{modules → impl}/LslStreamInfo.test.ts +7 -17
  92. package/src/__tests__/{modules → impl}/LslStreamInlet.test.ts +13 -30
  93. package/src/__tests__/{modules → impl}/LslStreamOutlet.test.ts +71 -63
  94. package/src/__tests__/impl/LslWebSocketBridge.test.ts +23 -0
  95. package/src/assertions.ts +19 -30
  96. package/src/{modules → impl}/LiblslAdapter.ts +18 -44
  97. package/src/{modules/EventMarkerOutlet.ts → impl/LslEventMarkerOutlet.ts} +16 -11
  98. package/src/{modules → impl}/LslStreamInfo.ts +1 -3
  99. package/src/{modules → impl}/LslStreamInlet.ts +14 -22
  100. package/src/{modules → impl}/LslStreamOutlet.ts +12 -26
  101. package/src/impl/LslWebSocketBridge.ts +13 -0
  102. package/src/index.ts +37 -29
  103. package/src/scripts/runLslEventMarkerOutlet.ts +23 -0
  104. package/src/scripts/runLslStreamOutlet.ts +22 -0
  105. package/src/testDoubles/{MarkerOutlet/FakeMarkerOutlet.ts → EventMarkerOutlet/FakeEventMarkerOutlet.ts} +6 -6
  106. package/src/testDoubles/{MarkerOutlet/MockMarkerOutlet.ts → EventMarkerOutlet/MockEventMarkerOutlet.ts} +2 -2
  107. package/src/testDoubles/EventMarkerOutlet/SpyEventMarkerOutlet.ts +24 -0
  108. package/src/testDoubles/{MarkerOutlet/ThrowingMarkerOutlet.ts → EventMarkerOutlet/ThrowingEventMarkerOutlet.ts} +2 -2
  109. package/src/testDoubles/StreamInfo/FakeStreamInfo.ts +1 -1
  110. package/src/testDoubles/StreamInfo/SpyStreamInfo.ts +1 -1
  111. package/src/testDoubles/StreamInlet/FakeStreamInlet.ts +20 -0
  112. package/src/testDoubles/StreamInlet/SpyStreamInlet.ts +16 -0
  113. package/src/testDoubles/{LslOutlet/FakeLslOutlet.ts → StreamOutlet/FakeStreamOutlet.ts} +17 -18
  114. package/src/testDoubles/StreamTransportBridge/FakeStreamTransportBridge.ts +15 -0
  115. package/src/testDoubles/generateRandomOutletOptions.ts +3 -3
  116. package/src/types.ts +3 -3
  117. package/build/.spruce/errors/errors.types.d.ts +0 -21
  118. package/build/.spruce/errors/errors.types.js +0 -3
  119. package/build/.spruce/errors/errors.types.js.map +0 -1
  120. package/build/.spruce/errors/nodeLsl/failedToLoadLiblsl.schema.d.ts +0 -3
  121. package/build/.spruce/errors/nodeLsl/failedToLoadLiblsl.schema.js +0 -19
  122. package/build/.spruce/errors/nodeLsl/failedToLoadLiblsl.schema.js.map +0 -1
  123. package/build/.spruce/errors/options.types.d.ts +0 -7
  124. package/build/.spruce/errors/options.types.js +0 -3
  125. package/build/.spruce/errors/options.types.js.map +0 -1
  126. package/build/.spruce/schemas/fields/fieldClassMap.d.ts +0 -2
  127. package/build/.spruce/schemas/fields/fieldClassMap.js +0 -5
  128. package/build/.spruce/schemas/fields/fieldClassMap.js.map +0 -1
  129. package/build/.spruce/schemas/fields/fields.types.d.ts +0 -1
  130. package/build/.spruce/schemas/fields/fields.types.js +0 -3
  131. package/build/.spruce/schemas/fields/fields.types.js.map +0 -1
  132. package/build/__tests__/AbstractLslTest.js +0 -86
  133. package/build/__tests__/AbstractLslTest.js.map +0 -1
  134. package/build/__tests__/modules/EventMarkerOutlet.test.js.map +0 -1
  135. package/build/__tests__/modules/LiblslAdapter.test.js.map +0 -1
  136. package/build/__tests__/modules/LslStreamInfo.test.js.map +0 -1
  137. package/build/__tests__/modules/LslStreamInlet.test.d.ts +0 -11
  138. package/build/__tests__/modules/LslStreamInlet.test.js.map +0 -1
  139. package/build/__tests__/modules/LslStreamOutlet.test.js.map +0 -1
  140. package/build/errors/SpruceError.d.ts +0 -6
  141. package/build/errors/SpruceError.js +0 -26
  142. package/build/errors/SpruceError.js.map +0 -1
  143. package/build/errors/failedToLoadLiblsl.builder.d.ts +0 -11
  144. package/build/errors/failedToLoadLiblsl.builder.js +0 -14
  145. package/build/errors/failedToLoadLiblsl.builder.js.map +0 -1
  146. package/build/modules/EventMarkerOutlet.d.ts +0 -23
  147. package/build/modules/EventMarkerOutlet.js.map +0 -1
  148. package/build/modules/LiblslAdapter.js.map +0 -1
  149. package/build/modules/LslStreamInfo.js.map +0 -1
  150. package/build/modules/LslStreamInlet.js.map +0 -1
  151. package/build/modules/LslStreamOutlet.js.map +0 -1
  152. package/build/testDoubles/LslInlet/FakeLslInlet.d.ts +0 -11
  153. package/build/testDoubles/LslInlet/FakeLslInlet.js +0 -16
  154. package/build/testDoubles/LslInlet/FakeLslInlet.js.map +0 -1
  155. package/build/testDoubles/LslInlet/SpyLslInlet.d.ts +0 -7
  156. package/build/testDoubles/LslInlet/SpyLslInlet.js.map +0 -1
  157. package/build/testDoubles/LslOutlet/FakeLslOutlet.js +0 -59
  158. package/build/testDoubles/LslOutlet/FakeLslOutlet.js.map +0 -1
  159. package/build/testDoubles/MarkerOutlet/FakeMarkerOutlet.js +0 -29
  160. package/build/testDoubles/MarkerOutlet/FakeMarkerOutlet.js.map +0 -1
  161. package/build/testDoubles/MarkerOutlet/MockMarkerOutlet.js.map +0 -1
  162. package/build/testDoubles/MarkerOutlet/SpyMarkerOutlet.d.ts +0 -9
  163. package/build/testDoubles/MarkerOutlet/SpyMarkerOutlet.js.map +0 -1
  164. package/build/testDoubles/MarkerOutlet/ThrowingMarkerOutlet.js.map +0 -1
  165. package/src/.spruce/errors/errors.types.ts +0 -37
  166. package/src/.spruce/errors/nodeLsl/failedToLoadLiblsl.schema.ts +0 -22
  167. package/src/.spruce/errors/options.types.ts +0 -10
  168. package/src/.spruce/schemas/fields/fieldClassMap.ts +0 -6
  169. package/src/.spruce/schemas/fields/fields.types.ts +0 -1
  170. package/src/errors/SpruceError.ts +0 -23
  171. package/src/errors/failedToLoadLiblsl.builder.ts +0 -12
  172. package/src/testDoubles/LslInlet/FakeLslInlet.ts +0 -22
  173. package/src/testDoubles/LslInlet/SpyLslInlet.ts +0 -16
  174. package/src/testDoubles/MarkerOutlet/SpyMarkerOutlet.ts +0 -24
  175. /package/build/{modules → impl}/LslStreamInfo.d.ts +0 -0
@@ -0,0 +1,63 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
19
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
20
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
21
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
22
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
23
+ };
24
+ var __importStar = (this && this.__importStar) || (function () {
25
+ var ownKeys = function(o) {
26
+ ownKeys = Object.getOwnPropertyNames || function (o) {
27
+ var ar = [];
28
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
29
+ return ar;
30
+ };
31
+ return ownKeys(o);
32
+ };
33
+ return function (mod) {
34
+ if (mod && mod.__esModule) return mod;
35
+ var result = {};
36
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
37
+ __setModuleDefault(result, mod);
38
+ return result;
39
+ };
40
+ })();
41
+ var __importDefault = (this && this.__importDefault) || function (mod) {
42
+ return (mod && mod.__esModule) ? mod : { "default": mod };
43
+ };
44
+ Object.defineProperty(exports, "__esModule", { value: true });
45
+ const test_utils_1 = __importStar(require("@sprucelabs/test-utils"));
46
+ const LslWebSocketBridge_1 = __importDefault(require("../../impl/LslWebSocketBridge"));
47
+ class LslWebSocketBridgeTest extends test_utils_1.default {
48
+ static async beforeEach() {
49
+ await super.beforeEach();
50
+ this.instance = this.LslWebSocketBridge();
51
+ }
52
+ static async createsInstance() {
53
+ test_utils_1.assert.isTruthy(this.instance, 'Failed to create instance!');
54
+ }
55
+ static LslWebSocketBridge() {
56
+ return LslWebSocketBridge_1.default.Create();
57
+ }
58
+ }
59
+ exports.default = LslWebSocketBridgeTest;
60
+ __decorate([
61
+ (0, test_utils_1.test)()
62
+ ], LslWebSocketBridgeTest, "createsInstance", null);
63
+ //# sourceMappingURL=LslWebSocketBridge.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LslWebSocketBridge.test.js","sourceRoot":"","sources":["../../../src/__tests__/impl/LslWebSocketBridge.test.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,qEAAyE;AACzE,uFAEsC;AAEtC,MAAqB,sBAAuB,SAAQ,oBAAkB;IAGxD,MAAM,CAAC,KAAK,CAAC,UAAU;QAC7B,MAAM,KAAK,CAAC,UAAU,EAAE,CAAA;QAExB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAA;IAC7C,CAAC;IAGsB,AAAb,MAAM,CAAC,KAAK,CAAC,eAAe;QAClC,mBAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,4BAA4B,CAAC,CAAA;IAChE,CAAC;IAEO,MAAM,CAAC,kBAAkB;QAC7B,OAAO,4BAAkB,CAAC,MAAM,EAAE,CAAA;IACtC,CAAC;CACJ;AAjBD,yCAiBC;AAP0B;IADtB,IAAA,iBAAI,GAAE;mDAGN"}
@@ -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;
@@ -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 schema_1.SchemaError({
23
- code: 'INVALID_PARAMETERS',
24
- parameters: ['chunkSize'],
25
- friendlyMessage: 'Chunk size must be a positive integer or zero.',
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 schema_1.SchemaError({
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 schema_1.SchemaError({
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 schema_1.SchemaError({
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
@@ -1 +1 @@
1
- {"version":3,"file":"assertions.js","sourceRoot":"","sources":["../src/assertions.ts"],"names":[],"mappings":";;AAUA,wDAQC;AAED,oDAQC;AAED,4DAQC;AAED,sDAQC;AAED,0DAQC;AA1DD,+CAAgD;AAChD,qCAA0C;AAE1C,+CAKsB;AAEtB,SAAgB,sBAAsB,CAAC,WAAmB;IACtD,IAAI,CAAC,IAAA,qCAAuB,EAAC,WAAW,CAAC,EAAE,CAAC;QACxC,MAAM,IAAI,oBAAW,CAAC;YAClB,IAAI,EAAE,oBAAoB;YAC1B,UAAU,EAAE,CAAC,aAAa,CAAC;YAC3B,eAAe,EAAE,kDAAkD;SACtE,CAAC,CAAA;IACN,CAAC;AACL,CAAC;AAED,SAAgB,oBAAoB,CAAC,SAAiB;IAClD,IAAI,CAAC,IAAA,qCAAuB,EAAC,SAAS,CAAC,EAAE,CAAC;QACtC,MAAM,IAAI,oBAAW,CAAC;YAClB,IAAI,EAAE,oBAAoB;YAC1B,UAAU,EAAE,CAAC,WAAW,CAAC;YACzB,eAAe,EAAE,gDAAgD;SACpE,CAAC,CAAA;IACN,CAAC;AACL,CAAC;AAED,SAAgB,wBAAwB,CAAC,aAA4B;IACjE,IAAI,CAAC,IAAA,6BAAe,EAAC,aAAa,EAAE,wBAAe,CAAC,EAAE,CAAC;QACnD,MAAM,IAAI,oBAAW,CAAC;YAClB,IAAI,EAAE,oBAAoB;YAC1B,UAAU,EAAE,CAAC,eAAe,CAAC;YAC7B,eAAe,EAAE,UAAU;SAC9B,CAAC,CAAA;IACN,CAAC;AACL,CAAC;AAED,SAAgB,qBAAqB,CAAC,UAAkB;IACpD,IAAI,CAAC,IAAA,wCAA0B,EAAC,UAAU,CAAC,EAAE,CAAC;QAC1C,MAAM,IAAI,oBAAW,CAAC;YAClB,IAAI,EAAE,oBAAoB;YAC1B,UAAU,EAAE,CAAC,YAAY,CAAC;YAC1B,eAAe,EAAE,gDAAgD;SACpE,CAAC,CAAA;IACN,CAAC;AACL,CAAC;AAED,SAAgB,uBAAuB,CAAC,YAAoB;IACxD,IAAI,CAAC,IAAA,+BAAiB,EAAC,YAAY,CAAC,EAAE,CAAC;QACnC,MAAM,IAAI,oBAAW,CAAC;YAClB,IAAI,EAAE,oBAAoB;YAC1B,UAAU,EAAE,CAAC,cAAc,CAAC;YAC5B,eAAe,EAAE,0CAA0C;SAC9D,CAAC,CAAA;IACN,CAAC;AACL,CAAC"}
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
- const path = process.env.LIBLSL_PATH ?? this.defaultMacOsPath;
13
- this.tryToLoadBindings(path);
7
+ this.path = process.env.LIBLSL_PATH ?? this.defaultMacOsPath;
8
+ this.tryToLoadBindings();
14
9
  }
15
- tryToLoadBindings(path) {
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 SpruceError_1.default({
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, } = (0, schema_1.assertOptions)(options, [
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 } = (0, schema_1.assertOptions)(options, ['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 } = (0, schema_1.assertOptions)(options, [
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 } = (0, schema_1.assertOptions)(options, [
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 } = (0, schema_1.assertOptions)(options, [
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 } = (0, schema_1.assertOptions)(options, ['outlet']);
154
+ const { outlet } = options;
180
155
  this.bindings.lsl_destroy_outlet([outlet]);
181
156
  }
182
157
  createInlet(options) {
183
- const { info, chunkSize, maxBuffered } = (0, schema_1.assertOptions)(options, [
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) { }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LiblslAdapter.js","sourceRoot":"","sources":["../../src/impl/LiblslAdapter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,23 @@
1
+ import { DurationMarker } from '../types';
2
+ import { StreamOutletOptions, StreamOutlet } from './LslStreamOutlet';
3
+ export default class LslEventMarkerOutlet implements EventMarkerOutlet {
4
+ static Class?: EventMarkerOutletConstructor;
5
+ protected streamOutlet: StreamOutlet;
6
+ private isPlaying;
7
+ private waitResolve?;
8
+ private timeout?;
9
+ protected constructor(outlet: StreamOutlet);
10
+ static Create(options?: Partial<StreamOutletOptions>): Promise<EventMarkerOutlet>;
11
+ pushMarker(markerName: string): void;
12
+ pushMarkers(markers: DurationMarker[]): Promise<void>;
13
+ private pushMarkerToOutlet;
14
+ protected wait(durationMs: number): Promise<unknown>;
15
+ private setTimeout;
16
+ stop(): void;
17
+ }
18
+ export interface EventMarkerOutlet {
19
+ pushMarker(markerName: string): void;
20
+ pushMarkers(markers: DurationMarker[]): Promise<void>;
21
+ stop(): void;
22
+ }
23
+ export type EventMarkerOutletConstructor = new (outlet: StreamOutlet) => EventMarkerOutlet;
@@ -4,10 +4,10 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  const LslStreamOutlet_1 = __importDefault(require("./LslStreamOutlet"));
7
- class EventMarkerOutlet {
8
- constructor(lslOutlet) {
7
+ class LslEventMarkerOutlet {
8
+ constructor(outlet) {
9
9
  this.isPlaying = false;
10
- this.lslOutlet = lslOutlet;
10
+ this.streamOutlet = outlet;
11
11
  }
12
12
  static async Create(options) {
13
13
  const defaultOptions = {
@@ -43,7 +43,7 @@ class EventMarkerOutlet {
43
43
  }
44
44
  }
45
45
  pushMarkerToOutlet(markerName) {
46
- this.lslOutlet.pushSample([markerName]);
46
+ this.streamOutlet.pushSample([markerName]);
47
47
  }
48
48
  async wait(durationMs) {
49
49
  return new Promise((resolve) => this.setTimeout(resolve, durationMs));
@@ -58,5 +58,5 @@ class EventMarkerOutlet {
58
58
  this.isPlaying = false;
59
59
  }
60
60
  }
61
- exports.default = EventMarkerOutlet;
62
- //# sourceMappingURL=EventMarkerOutlet.js.map
61
+ exports.default = LslEventMarkerOutlet;
62
+ //# sourceMappingURL=LslEventMarkerOutlet.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LslEventMarkerOutlet.js","sourceRoot":"","sources":["../../src/impl/LslEventMarkerOutlet.ts"],"names":[],"mappings":";;;;;AACA,wEAG0B;AAE1B,MAAqB,oBAAoB;IAQrC,YAAsB,MAAoB;QAJlC,cAAS,GAAG,KAAK,CAAA;QAKrB,IAAI,CAAC,YAAY,GAAG,MAAM,CAAA;IAC9B,CAAC;IAEM,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,OAAsC;QAC7D,MAAM,cAAc,GAAG;YACnB,IAAI,EAAE,eAAe;YACrB,IAAI,EAAE,SAAS;YACf,YAAY,EAAE,CAAC,SAAS,CAAC;YACzB,UAAU,EAAE,CAAC;YACb,aAAa,EAAE,QAAQ;YACvB,QAAQ,EAAE,eAAe;YACzB,YAAY,EAAE,KAAK;YACnB,IAAI,EAAE,KAAK;YACX,SAAS,EAAE,CAAC;YACZ,WAAW,EAAE,CAAC;SACM,CAAA;QAExB,MAAM,MAAM,GAAG,MAAM,yBAAe,CAAC,MAAM,CAAC;YACxC,GAAG,cAAc;YACjB,GAAG,OAAO;SACb,CAAC,CAAA;QAEF,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,MAAM,CAAC,CAAA;IAC3C,CAAC;IAEM,UAAU,CAAC,UAAkB;QAChC,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,CAAA;IACvC,CAAC;IAEM,KAAK,CAAC,WAAW,CAAC,OAAyB;QAC9C,IAAI,CAAC,SAAS,GAAG,IAAI,CAAA;QAErB,KAAK,IAAI,MAAM,IAAI,OAAO,EAAE,CAAC;YACzB,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,MAAM,CAAA;YACnC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAA;YAE7B,MAAM,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;YAE3B,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;gBAClB,OAAM;YACV,CAAC;QACL,CAAC;IACL,CAAC;IAEO,kBAAkB,CAAC,UAAkB;QACzC,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC,UAAU,CAAC,CAAC,CAAA;IAC9C,CAAC;IAES,KAAK,CAAC,IAAI,CAAC,UAAkB;QACnC,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC,CAAA;IACzE,CAAC;IAEO,UAAU,CAAC,OAAiC,EAAE,UAAkB;QACpE,IAAI,CAAC,WAAW,GAAG,OAAc,CAAA;QACjC,IAAI,CAAC,OAAO,GAAG,UAAU,CAAC,OAAO,EAAE,UAAU,CAAC,CAAA;IAClD,CAAC;IAEM,IAAI;QACP,IAAI,CAAC,WAAW,EAAE,EAAE,CAAA;QACpB,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QAC1B,IAAI,CAAC,SAAS,GAAG,KAAK,CAAA;IAC1B,CAAC;CACJ;AAvED,uCAuEC"}
@@ -3,15 +3,14 @@ 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
- const test_utils_1 = require("@sprucelabs/test-utils");
6
+ const generate_id_1 = __importDefault(require("@neurodevs/generate-id"));
8
7
  const consts_1 = require("../consts");
9
8
  const LiblslAdapter_1 = __importDefault(require("./LiblslAdapter"));
10
9
  class LslStreamInfo {
11
10
  constructor(options) {
12
- this.defaultName = `lsl-stream-info-${(0, test_utils_1.generateId)()}`;
13
- this.defaultType = (0, test_utils_1.generateId)();
14
- this.defaultSourceId = (0, test_utils_1.generateId)();
11
+ this.defaultName = `lsl-stream-info-${(0, generate_id_1.default)()}`;
12
+ this.defaultType = (0, generate_id_1.default)();
13
+ this.defaultSourceId = (0, generate_id_1.default)();
15
14
  this.defaultUnits = 'N/A';
16
15
  const { channelNames, channelFormat, sampleRate, name = this.defaultName, type = this.defaultType, sourceId = this.defaultSourceId, units = this.defaultUnits, } = options;
17
16
  this.name = name;
@@ -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() {
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LslStreamInfo.js","sourceRoot":"","sources":["../../src/impl/LslStreamInfo.ts"],"names":[],"mappings":";;;;;AAAA,yEAA+C;AAC/C,sCAA+C;AAE/C,oEAA2C;AAE3C,MAAqB,aAAa;IAY9B,YAAsB,OAA0B;QAiE/B,gBAAW,GAAG,mBAAmB,IAAA,qBAAU,GAAE,EAAE,CAAA;QAC/C,gBAAW,GAAG,IAAA,qBAAU,GAAE,CAAA;QAC1B,oBAAe,GAAG,IAAA,qBAAU,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"}
@@ -1,23 +1,23 @@
1
1
  import { ChannelFormat } from '../types';
2
2
  import { StreamInfo } from './LslStreamInfo';
3
- export default class LslStreamInlet implements LslInlet {
4
- static Class?: LslInletConstructor;
3
+ export default class LslStreamInlet implements StreamInlet {
4
+ static Class?: StreamInletConstructor;
5
5
  protected name: string;
6
6
  protected info: StreamInfo;
7
7
  private chunkSize;
8
8
  private maxBuffered;
9
- protected constructor(info: StreamInfo, options: LslInletOptions);
10
- static Create(options: LslInletOptions): LslInlet;
11
- private createLslInlet;
9
+ protected constructor(info: StreamInfo, options: StreamInletOptions);
10
+ static Create(options: StreamInletOptions): StreamInlet;
11
+ private createStreamInlet;
12
12
  private get boundStreamInfo();
13
13
  private get lsl();
14
14
  private readonly defaultName;
15
15
  private static LslStreamInfo;
16
16
  }
17
- export interface LslInlet {
17
+ export interface StreamInlet {
18
18
  }
19
- export type LslInletConstructor = new (info: StreamInfo, options: LslInletOptions) => LslInlet;
20
- export interface LslInletOptions {
19
+ export type StreamInletConstructor = new (info: StreamInfo, options: StreamInletOptions) => StreamInlet;
20
+ export interface StreamInletOptions {
21
21
  sampleRate: number;
22
22
  channelNames: string[];
23
23
  channelFormat: ChannelFormat;
@@ -3,34 +3,26 @@ 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
- const test_utils_1 = require("@sprucelabs/test-utils");
6
+ const generate_id_1 = __importDefault(require("@neurodevs/generate-id"));
8
7
  const LiblslAdapter_1 = __importDefault(require("./LiblslAdapter"));
9
8
  const LslStreamInfo_1 = __importDefault(require("./LslStreamInfo"));
10
9
  class LslStreamInlet {
11
10
  constructor(info, options) {
12
- this.defaultName = `lsl-inlet-${(0, test_utils_1.generateId)()}`;
11
+ this.defaultName = `lsl-inlet-${(0, generate_id_1.default)()}`;
13
12
  const { name = this.defaultName, chunkSize, maxBuffered, } = options ?? {};
14
13
  this.info = info;
15
14
  this.chunkSize = chunkSize;
16
15
  this.maxBuffered = maxBuffered;
17
16
  this.name = name;
18
- this.createLslInlet();
17
+ this.createStreamInlet();
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, ...streamInfoOptions } = options;
30
- const info = this.LslStreamInfo(streamInfoOptions);
21
+ const { maxBuffered, chunkSize, ...infoOptions } = options;
22
+ const info = this.LslStreamInfo(infoOptions);
31
23
  return new (this.Class ?? this)(info, options);
32
24
  }
33
- createLslInlet() {
25
+ createStreamInlet() {
34
26
  this.lsl.createInlet({
35
27
  info: this.boundStreamInfo,
36
28
  chunkSize: this.chunkSize,
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LslStreamInlet.js","sourceRoot":"","sources":["../../src/impl/LslStreamInlet.ts"],"names":[],"mappings":";;;;;AAAA,yEAA+C;AAE/C,oEAA2C;AAC3C,oEAA8E;AAE9E,MAAqB,cAAc;IAQ/B,YAAsB,IAAgB,EAAE,OAA2B;QAsClD,gBAAW,GAAG,aAAa,IAAA,qBAAU,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,iBAAiB,EAAE,CAAA;IAC5B,CAAC;IAEM,MAAM,CAAC,MAAM,CAAC,OAA2B;QAC5C,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,iBAAiB;QACrB,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"}
@@ -1,15 +1,15 @@
1
1
  import { ChannelFormat, LslSample } from '../types';
2
2
  import { StreamInfo } from './LslStreamInfo';
3
- export default class LslStreamOutlet implements LslOutlet {
4
- static Class?: LslOutletConstructor;
3
+ export default class LslStreamOutlet implements StreamOutlet {
4
+ static Class?: StreamOutletConstructor;
5
5
  private info;
6
6
  private options;
7
7
  private outlet;
8
8
  private pushSampleByType;
9
- protected constructor(info: StreamInfo, options: LslOutletOptions);
10
- static Create(options: LslOutletOptions): Promise<LslOutlet>;
9
+ protected constructor(info: StreamInfo, options: StreamOutletOptions);
10
+ static Create(options: StreamOutletOptions): Promise<StreamOutlet>;
11
11
  private validateOptions;
12
- private createLslOutlet;
12
+ private createStreamOutlet;
13
13
  private setPushSampleType;
14
14
  private validateChannelFormat;
15
15
  private throwUnsupportedChannelFormat;
@@ -34,7 +34,7 @@ export default class LslStreamOutlet implements LslOutlet {
34
34
  private static wait;
35
35
  private static LslStreamInfo;
36
36
  }
37
- export interface LslOutlet {
37
+ export interface StreamOutlet {
38
38
  pushSample(sample: LslSample): void;
39
39
  destroy(): void;
40
40
  readonly name: string;
@@ -48,8 +48,8 @@ export interface LslOutlet {
48
48
  readonly manufacturer: string;
49
49
  readonly unit: string;
50
50
  }
51
- export type LslOutletConstructor = new (info: StreamInfo, options: LslOutletOptions) => LslOutlet;
52
- export interface LslOutletOptions {
51
+ export type StreamOutletConstructor = new (info: StreamInfo, options: StreamOutletOptions) => StreamOutlet;
52
+ export interface StreamOutletOptions {
53
53
  name: string;
54
54
  type: string;
55
55
  sourceId: string;
@@ -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"));
@@ -16,22 +15,10 @@ class LslStreamOutlet {
16
15
  this.info = info;
17
16
  this.options = options;
18
17
  this.validateOptions();
19
- this.createLslOutlet();
18
+ this.createStreamOutlet();
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,
@@ -54,7 +41,7 @@ class LslStreamOutlet {
54
41
  (0, assertions_1.assertValidChunkSize)(this.chunkSize);
55
42
  (0, assertions_1.assertValidMaxBuffered)(this.maxBuffered);
56
43
  }
57
- createLslOutlet() {
44
+ createStreamOutlet() {
58
45
  this.outlet = this.lsl.createOutlet({
59
46
  info: this.boundStreamInfo,
60
47
  chunkSize: this.chunkSize,
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LslStreamOutlet.js","sourceRoot":"","sources":["../../src/impl/LslStreamOutlet.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ export default class LslWebSocketBridge implements StreamTransportBridge {
2
+ static Class?: StreamTransportBridgeConstructor;
3
+ protected constructor();
4
+ static Create(): LslWebSocketBridge;
5
+ }
6
+ export interface StreamTransportBridge {
7
+ }
8
+ export type StreamTransportBridgeConstructor = new () => StreamTransportBridge;
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ class LslWebSocketBridge {
4
+ constructor() { }
5
+ static Create() {
6
+ return new (this.Class ?? this)();
7
+ }
8
+ }
9
+ exports.default = LslWebSocketBridge;
10
+ //# sourceMappingURL=LslWebSocketBridge.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LslWebSocketBridge.js","sourceRoot":"","sources":["../../src/impl/LslWebSocketBridge.ts"],"names":[],"mappings":";;AAAA,MAAqB,kBAAkB;IAGnC,gBAAyB,CAAC;IAEnB,MAAM,CAAC,MAAM;QAChB,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,EAAE,CAAA;IACrC,CAAC;CACJ;AARD,qCAQC"}