@neurodevs/ndx-native 0.0.1
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/.nvmrc +1 -0
- package/.vscode/launch.json +58 -0
- package/.vscode/settings.json +67 -0
- package/.vscode/tasks.json +130 -0
- package/LICENSE +21 -0
- package/README.md +2 -0
- package/build/.spruce/settings.json +11 -0
- package/build/__tests__/AbstractPackageTest.d.ts +7 -0
- package/build/__tests__/AbstractPackageTest.js +14 -0
- package/build/__tests__/AbstractPackageTest.js.map +1 -0
- package/build/__tests__/impl/LabrecorderAdapter.test.d.ts +30 -0
- package/build/__tests__/impl/LabrecorderAdapter.test.js +164 -0
- package/build/__tests__/impl/LabrecorderAdapter.test.js.map +1 -0
- package/build/__tests__/impl/LiblslAdapter.test.d.ts +84 -0
- package/build/__tests__/impl/LiblslAdapter.test.js +750 -0
- package/build/__tests__/impl/LiblslAdapter.test.js.map +1 -0
- package/build/__tests__/impl/LibxdfAdapter.test.d.ts +45 -0
- package/build/__tests__/impl/LibxdfAdapter.test.js +243 -0
- package/build/__tests__/impl/LibxdfAdapter.test.js.map +1 -0
- package/build/consts.d.ts +11 -0
- package/build/consts.js +21 -0
- package/build/consts.js.map +1 -0
- package/build/impl/LabrecorderAdapter.d.ts +30 -0
- package/build/impl/LabrecorderAdapter.js +69 -0
- package/build/impl/LabrecorderAdapter.js.map +1 -0
- package/build/impl/LiblslAdapter.d.ts +172 -0
- package/build/impl/LiblslAdapter.js +360 -0
- package/build/impl/LiblslAdapter.js.map +1 -0
- package/build/impl/LibxdfAdapter.d.ts +92 -0
- package/build/impl/LibxdfAdapter.js +130 -0
- package/build/impl/LibxdfAdapter.js.map +1 -0
- package/build/index.d.ts +14 -0
- package/build/index.js +18 -0
- package/build/index.js.map +1 -0
- package/build/lib/handleError.d.ts +8 -0
- package/build/lib/handleError.js +25 -0
- package/build/lib/handleError.js.map +1 -0
- package/build/testDoubles/Labrecorder/FakeLabrecorder.d.ts +15 -0
- package/build/testDoubles/Labrecorder/FakeLabrecorder.js +26 -0
- package/build/testDoubles/Labrecorder/FakeLabrecorder.js.map +1 -0
- package/build/testDoubles/Liblsl/FakeLiblsl.d.ts +57 -0
- package/build/testDoubles/Liblsl/FakeLiblsl.js +140 -0
- package/build/testDoubles/Liblsl/FakeLiblsl.js.map +1 -0
- package/build/testDoubles/Libxdf/FakeLibxdf.d.ts +13 -0
- package/build/testDoubles/Libxdf/FakeLibxdf.js +25 -0
- package/build/testDoubles/Libxdf/FakeLibxdf.js.map +1 -0
- package/build/testDoubles/Libxdf/SpyLibxdf.d.ts +6 -0
- package/build/testDoubles/Libxdf/SpyLibxdf.js +10 -0
- package/build/testDoubles/Libxdf/SpyLibxdf.js.map +1 -0
- package/eslint.config.mjs +3 -0
- package/package.json +84 -0
- package/src/.spruce/settings.json +11 -0
- package/src/__tests__/AbstractPackageTest.ts +16 -0
- package/src/__tests__/impl/LabrecorderAdapter.test.ts +197 -0
- package/src/__tests__/impl/LiblslAdapter.test.ts +907 -0
- package/src/__tests__/impl/LibxdfAdapter.test.ts +290 -0
- package/src/consts.ts +21 -0
- package/src/impl/LabrecorderAdapter.ts +100 -0
- package/src/impl/LiblslAdapter.ts +616 -0
- package/src/impl/LibxdfAdapter.ts +227 -0
- package/src/index.ts +26 -0
- package/src/lib/handleError.ts +24 -0
- package/src/testDoubles/Labrecorder/FakeLabrecorder.ts +37 -0
- package/src/testDoubles/Liblsl/FakeLiblsl.ts +204 -0
- package/src/testDoubles/Libxdf/FakeLibxdf.ts +33 -0
- package/src/testDoubles/Libxdf/SpyLibxdf.ts +13 -0
- package/tsconfig.json +28 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LiblslAdapter.test.js","sourceRoot":"","sources":["../../../src/__tests__/impl/LiblslAdapter.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import AbstractPackageTest from '../AbstractPackageTest.js';
|
|
2
|
+
export default class LibxdfTest extends AbstractPackageTest {
|
|
3
|
+
private static instance;
|
|
4
|
+
private static libxdfPath;
|
|
5
|
+
private static path;
|
|
6
|
+
private static shouldThrowWhenLoadingBindings;
|
|
7
|
+
private static mangledLoadXdfName;
|
|
8
|
+
private static fakeBindings;
|
|
9
|
+
private static ffiRsOpenOptions?;
|
|
10
|
+
private static ffiRsDefineOptions?;
|
|
11
|
+
private static loadXdfCalls;
|
|
12
|
+
protected static beforeEach(): Promise<void>;
|
|
13
|
+
protected static canCreateInstance(): void;
|
|
14
|
+
protected static throwsWhenBindingsFailToLoad(): Promise<void>;
|
|
15
|
+
protected static callsFfiRsOpenWithRequiredOptions(): Promise<void>;
|
|
16
|
+
protected static callsFfiRsDefineWithRequiredOptions(): Promise<void>;
|
|
17
|
+
protected static loadXdfCallsBindings(): Promise<void>;
|
|
18
|
+
protected static createsMangledNameExtractor(): Promise<void>;
|
|
19
|
+
protected static callsExtractorWithCorrectParams(): Promise<void>;
|
|
20
|
+
protected static returnsResultInJson(): Promise<void>;
|
|
21
|
+
protected static throwsIfLibxdfPathDoesNotExist(): Promise<void>;
|
|
22
|
+
protected static doesNotThrowIfEventsUndefined(): Promise<void>;
|
|
23
|
+
private static setFakeExtractResult;
|
|
24
|
+
private static generateMangledName;
|
|
25
|
+
private static clearAndFakeFfi;
|
|
26
|
+
private static fakeFfiRsOpen;
|
|
27
|
+
private static fakeFfiRsDefine;
|
|
28
|
+
private static generateFailedMessage;
|
|
29
|
+
private static generateFailedMessageWithFakeError;
|
|
30
|
+
private static loadXdf;
|
|
31
|
+
private static readonly loadXdfName;
|
|
32
|
+
private static readonly fakeStreamId;
|
|
33
|
+
private static readonly fakeStreamName;
|
|
34
|
+
private static readonly fakeStreamType;
|
|
35
|
+
private static readonly fakeChannelCount;
|
|
36
|
+
private static readonly fakeChannelFormat;
|
|
37
|
+
private static readonly fakeNominalSampleRate;
|
|
38
|
+
private static readonly fakeEventName;
|
|
39
|
+
private static readonly fakeEventTimestamp;
|
|
40
|
+
private static readonly fakeErrorMessage;
|
|
41
|
+
private static fakeSerializedXdf;
|
|
42
|
+
private static readonly fakeParsedXdf;
|
|
43
|
+
private static FakeBindings;
|
|
44
|
+
private static LibxdfAdapter;
|
|
45
|
+
}
|
|
@@ -0,0 +1,243 @@
|
|
|
1
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
+
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;
|
|
5
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
+
};
|
|
7
|
+
import generateId from '@neurodevs/generate-id';
|
|
8
|
+
import { MangledNameExtractor, FakeNameExtractor, } from '@neurodevs/node-mangled-names';
|
|
9
|
+
import { test, assert } from '@neurodevs/node-tdd';
|
|
10
|
+
import { DataType } from 'ffi-rs';
|
|
11
|
+
import LibxdfAdapter from '../../impl/LibxdfAdapter.js';
|
|
12
|
+
import SpyLibxdf from '../../testDoubles/Libxdf/SpyLibxdf.js';
|
|
13
|
+
import AbstractPackageTest from '../AbstractPackageTest.js';
|
|
14
|
+
export default class LibxdfTest extends AbstractPackageTest {
|
|
15
|
+
static instance;
|
|
16
|
+
static libxdfPath = generateId();
|
|
17
|
+
static path = generateId();
|
|
18
|
+
static shouldThrowWhenLoadingBindings;
|
|
19
|
+
static mangledLoadXdfName;
|
|
20
|
+
static fakeBindings;
|
|
21
|
+
static ffiRsOpenOptions;
|
|
22
|
+
static ffiRsDefineOptions;
|
|
23
|
+
static loadXdfCalls = [];
|
|
24
|
+
static async beforeEach() {
|
|
25
|
+
await super.beforeEach();
|
|
26
|
+
LibxdfAdapter.Class = SpyLibxdf;
|
|
27
|
+
MangledNameExtractor.Class = FakeNameExtractor;
|
|
28
|
+
FakeNameExtractor.clearTestDouble();
|
|
29
|
+
this.shouldThrowWhenLoadingBindings = false;
|
|
30
|
+
this.mangledLoadXdfName = this.generateMangledName();
|
|
31
|
+
this.fakeBindings = this.FakeBindings();
|
|
32
|
+
this.setFakeExtractResult();
|
|
33
|
+
this.clearAndFakeFfi();
|
|
34
|
+
this.instance = await this.LibxdfAdapter();
|
|
35
|
+
}
|
|
36
|
+
static canCreateInstance() {
|
|
37
|
+
assert.isTruthy(this.instance, 'Should create an instance!');
|
|
38
|
+
}
|
|
39
|
+
static async throwsWhenBindingsFailToLoad() {
|
|
40
|
+
this.shouldThrowWhenLoadingBindings = true;
|
|
41
|
+
const err = await assert.doesThrowAsync(async () => await this.LibxdfAdapter());
|
|
42
|
+
const actual = (err.message ?? err.stack).replace(/\s+/g, '');
|
|
43
|
+
const expected = this.generateFailedMessageWithFakeError().replace(/\s+/g, '');
|
|
44
|
+
assert.isEqual(actual, expected, 'Did not receive the expected error!');
|
|
45
|
+
}
|
|
46
|
+
static async callsFfiRsOpenWithRequiredOptions() {
|
|
47
|
+
assert.isEqualDeep(this.ffiRsOpenOptions, {
|
|
48
|
+
library: 'xdf',
|
|
49
|
+
path: this.libxdfPath,
|
|
50
|
+
});
|
|
51
|
+
}
|
|
52
|
+
static async callsFfiRsDefineWithRequiredOptions() {
|
|
53
|
+
const mangledLoadXdfName = generateId();
|
|
54
|
+
this.setFakeExtractResult(mangledLoadXdfName);
|
|
55
|
+
await this.LibxdfAdapter();
|
|
56
|
+
assert.isEqualDeep(this.ffiRsDefineOptions, {
|
|
57
|
+
[mangledLoadXdfName.slice(1)]: {
|
|
58
|
+
library: 'xdf',
|
|
59
|
+
retType: DataType.String,
|
|
60
|
+
paramsType: [DataType.String],
|
|
61
|
+
},
|
|
62
|
+
}, 'Please pass valid options to ffiRsDefine!');
|
|
63
|
+
}
|
|
64
|
+
static async loadXdfCallsBindings() {
|
|
65
|
+
this.loadXdf();
|
|
66
|
+
assert.isEqualDeep(this.loadXdfCalls[0], [this.path], 'Should have called load_xdf_to_json(path)!');
|
|
67
|
+
}
|
|
68
|
+
static async createsMangledNameExtractor() {
|
|
69
|
+
assert.isEqual(FakeNameExtractor.numConstructorCalls, 1);
|
|
70
|
+
}
|
|
71
|
+
static async callsExtractorWithCorrectParams() {
|
|
72
|
+
assert.isEqualDeep(FakeNameExtractor.extractCalls[0], {
|
|
73
|
+
libPath: this.libxdfPath,
|
|
74
|
+
unmangledNames: [this.loadXdfName],
|
|
75
|
+
});
|
|
76
|
+
}
|
|
77
|
+
static async returnsResultInJson() {
|
|
78
|
+
const result = this.loadXdf();
|
|
79
|
+
assert.isEqualDeep(result, this.fakeParsedXdf);
|
|
80
|
+
}
|
|
81
|
+
static async throwsIfLibxdfPathDoesNotExist() {
|
|
82
|
+
this.libxdfPath = generateId();
|
|
83
|
+
const err = await assert.doesThrowAsync(async () => await this.LibxdfAdapter(this.libxdfPath, true));
|
|
84
|
+
const actual = (err.message ?? err.stack).replace(/\s+/g, '');
|
|
85
|
+
const expected = this.generateFailedMessage().replace(/\s+/g, '');
|
|
86
|
+
assert.isEqual(actual, expected, 'Did not receive the expected error!');
|
|
87
|
+
}
|
|
88
|
+
static async doesNotThrowIfEventsUndefined() {
|
|
89
|
+
this.fakeSerializedXdf = `{"streams": [{"stream_id": ${this.fakeStreamId}, "time_series": [], "time_stamps": [], "stream_info": {"channel_count": ${this.fakeChannelCount}, "channel_format": "${this.fakeChannelFormat}", "nominal_srate": ${this.fakeNominalSampleRate}, "stream_name": "${this.fakeStreamName}", "stream_type": "${this.fakeStreamType}"}}]}`;
|
|
90
|
+
this.loadXdf();
|
|
91
|
+
}
|
|
92
|
+
static setFakeExtractResult(mangledLoadXdfName = this.mangledLoadXdfName) {
|
|
93
|
+
FakeNameExtractor.fakeResult = {
|
|
94
|
+
load_xdf_to_json: mangledLoadXdfName,
|
|
95
|
+
};
|
|
96
|
+
}
|
|
97
|
+
static generateMangledName() {
|
|
98
|
+
return `${generateId()}${this.loadXdfName}${generateId()}`;
|
|
99
|
+
}
|
|
100
|
+
static clearAndFakeFfi() {
|
|
101
|
+
delete this.ffiRsOpenOptions;
|
|
102
|
+
delete this.ffiRsDefineOptions;
|
|
103
|
+
this.fakeFfiRsOpen();
|
|
104
|
+
this.fakeFfiRsDefine();
|
|
105
|
+
}
|
|
106
|
+
static fakeFfiRsOpen() {
|
|
107
|
+
LibxdfAdapter.ffiRsOpen = (options) => {
|
|
108
|
+
this.ffiRsOpenOptions = options;
|
|
109
|
+
};
|
|
110
|
+
}
|
|
111
|
+
static fakeFfiRsDefine() {
|
|
112
|
+
LibxdfAdapter.ffiRsDefine = (options) => {
|
|
113
|
+
this.ffiRsDefineOptions = options;
|
|
114
|
+
if (this.shouldThrowWhenLoadingBindings) {
|
|
115
|
+
throw new Error(this.fakeErrorMessage);
|
|
116
|
+
}
|
|
117
|
+
return this.fakeBindings;
|
|
118
|
+
};
|
|
119
|
+
}
|
|
120
|
+
static generateFailedMessage() {
|
|
121
|
+
return `
|
|
122
|
+
\n -----------------------------------
|
|
123
|
+
\n Failed to load libxdf! Tried to load from:
|
|
124
|
+
\n ${this.libxdfPath}
|
|
125
|
+
\n Instructions to save your day (on MacOS):
|
|
126
|
+
\n 1. git clone https://github.com/neurodevs/libxdf.git
|
|
127
|
+
\n 2. cd libxdf && cmake -S . -B build && cmake --build build
|
|
128
|
+
\n 3. sudo cp build/libxdf.dylib /opt/local/lib/
|
|
129
|
+
\n 4. Try whatever you were doing again!
|
|
130
|
+
\n Modify step 3 for your OS if you are not on MacOS.
|
|
131
|
+
\n Check the official repo for OS-specific instructions:
|
|
132
|
+
\n https://github.com/xdf-modules/libxdf
|
|
133
|
+
\n If you're still unsure, ask an LLM with this error and your OS.
|
|
134
|
+
\n You could also post an issue on the repo:
|
|
135
|
+
\n https://github.com/neurodevs/node-xdf/issues
|
|
136
|
+
\n Good luck!
|
|
137
|
+
\n @ericthecurious
|
|
138
|
+
\n -----------------------------------
|
|
139
|
+
`;
|
|
140
|
+
}
|
|
141
|
+
static generateFailedMessageWithFakeError() {
|
|
142
|
+
return `
|
|
143
|
+
\n -----------------------------------
|
|
144
|
+
\n Failed to load libxdf! Tried to load from:
|
|
145
|
+
\n ${this.libxdfPath}
|
|
146
|
+
\n Instructions to save your day (on MacOS):
|
|
147
|
+
\n 1. git clone https://github.com/neurodevs/libxdf.git
|
|
148
|
+
\n 2. cd libxdf && cmake -S . -B build && cmake --build build
|
|
149
|
+
\n 3. sudo cp build/libxdf.dylib /opt/local/lib/
|
|
150
|
+
\n 4. Try whatever you were doing again!
|
|
151
|
+
\n Modify step 3 for your OS if you are not on MacOS.
|
|
152
|
+
\n Check the official repo for OS-specific instructions:
|
|
153
|
+
\n https://github.com/xdf-modules/libxdf
|
|
154
|
+
\n If you're still unsure, ask an LLM with this error and your OS.
|
|
155
|
+
\n You could also post an issue on the repo:
|
|
156
|
+
\n https://github.com/neurodevs/node-xdf/issues
|
|
157
|
+
\n Good luck!
|
|
158
|
+
\n @ericthecurious
|
|
159
|
+
\n -----------------------------------
|
|
160
|
+
\n Error: ${this.fakeErrorMessage}
|
|
161
|
+
\n
|
|
162
|
+
`;
|
|
163
|
+
}
|
|
164
|
+
static loadXdf() {
|
|
165
|
+
return this.instance.loadXdf(this.path);
|
|
166
|
+
}
|
|
167
|
+
static loadXdfName = 'load_xdf_to_json';
|
|
168
|
+
static fakeStreamId = 0;
|
|
169
|
+
static fakeStreamName = generateId();
|
|
170
|
+
static fakeStreamType = generateId();
|
|
171
|
+
static fakeChannelCount = 0;
|
|
172
|
+
static fakeChannelFormat = generateId();
|
|
173
|
+
static fakeNominalSampleRate = 0;
|
|
174
|
+
static fakeEventName = generateId();
|
|
175
|
+
static fakeEventTimestamp = 0;
|
|
176
|
+
static fakeErrorMessage = 'Fake error message!';
|
|
177
|
+
static fakeSerializedXdf = `{"streams": [{"stream_id": ${this.fakeStreamId}, "time_series": [], "time_stamps": [], "stream_info": {"channel_count": ${this.fakeChannelCount}, "channel_format": "${this.fakeChannelFormat}", "nominal_srate": ${this.fakeNominalSampleRate}, "stream_name": "${this.fakeStreamName}", "stream_type": "${this.fakeStreamType}"}}], "events": [{"stream_id": ${this.fakeStreamId}, "event_name": "${this.fakeEventName}", "event_timestamp": ${this.fakeEventTimestamp}}]}`;
|
|
178
|
+
static fakeParsedXdf = {
|
|
179
|
+
path: this.path,
|
|
180
|
+
streams: [
|
|
181
|
+
{
|
|
182
|
+
id: this.fakeStreamId,
|
|
183
|
+
name: this.fakeStreamName,
|
|
184
|
+
type: this.fakeStreamType,
|
|
185
|
+
channelCount: this.fakeChannelCount,
|
|
186
|
+
channelFormat: this.fakeChannelFormat,
|
|
187
|
+
nominalSampleRateHz: this.fakeNominalSampleRate,
|
|
188
|
+
data: [],
|
|
189
|
+
timestamps: [],
|
|
190
|
+
},
|
|
191
|
+
],
|
|
192
|
+
events: [
|
|
193
|
+
{
|
|
194
|
+
name: this.fakeEventName,
|
|
195
|
+
timestamp: this.fakeEventTimestamp,
|
|
196
|
+
streamId: this.fakeStreamId,
|
|
197
|
+
},
|
|
198
|
+
],
|
|
199
|
+
};
|
|
200
|
+
static FakeBindings(mangledLoadXdfName = this.mangledLoadXdfName) {
|
|
201
|
+
return {
|
|
202
|
+
[mangledLoadXdfName.slice(1)]: (path) => {
|
|
203
|
+
this.loadXdfCalls.push(path);
|
|
204
|
+
return this.fakeSerializedXdf;
|
|
205
|
+
},
|
|
206
|
+
};
|
|
207
|
+
}
|
|
208
|
+
static async LibxdfAdapter(libxdfPath, throwIfPathNotExists = false) {
|
|
209
|
+
const libxdf = await LibxdfAdapter.Create(libxdfPath ?? this.libxdfPath, throwIfPathNotExists);
|
|
210
|
+
return libxdf;
|
|
211
|
+
}
|
|
212
|
+
}
|
|
213
|
+
__decorate([
|
|
214
|
+
test()
|
|
215
|
+
], LibxdfTest, "canCreateInstance", null);
|
|
216
|
+
__decorate([
|
|
217
|
+
test()
|
|
218
|
+
], LibxdfTest, "throwsWhenBindingsFailToLoad", null);
|
|
219
|
+
__decorate([
|
|
220
|
+
test()
|
|
221
|
+
], LibxdfTest, "callsFfiRsOpenWithRequiredOptions", null);
|
|
222
|
+
__decorate([
|
|
223
|
+
test()
|
|
224
|
+
], LibxdfTest, "callsFfiRsDefineWithRequiredOptions", null);
|
|
225
|
+
__decorate([
|
|
226
|
+
test()
|
|
227
|
+
], LibxdfTest, "loadXdfCallsBindings", null);
|
|
228
|
+
__decorate([
|
|
229
|
+
test()
|
|
230
|
+
], LibxdfTest, "createsMangledNameExtractor", null);
|
|
231
|
+
__decorate([
|
|
232
|
+
test()
|
|
233
|
+
], LibxdfTest, "callsExtractorWithCorrectParams", null);
|
|
234
|
+
__decorate([
|
|
235
|
+
test()
|
|
236
|
+
], LibxdfTest, "returnsResultInJson", null);
|
|
237
|
+
__decorate([
|
|
238
|
+
test()
|
|
239
|
+
], LibxdfTest, "throwsIfLibxdfPathDoesNotExist", null);
|
|
240
|
+
__decorate([
|
|
241
|
+
test()
|
|
242
|
+
], LibxdfTest, "doesNotThrowIfEventsUndefined", null);
|
|
243
|
+
//# sourceMappingURL=LibxdfAdapter.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LibxdfAdapter.test.js","sourceRoot":"","sources":["../../../src/__tests__/impl/LibxdfAdapter.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export declare const CHANNEL_FORMATS: readonly ["undefined", "float32", "double64", "string", "int32", "int16", "int8", "int64"];
|
|
2
|
+
export declare const CHANNEL_FORMATS_MAP: {
|
|
3
|
+
undefined: number;
|
|
4
|
+
float32: number;
|
|
5
|
+
double64: number;
|
|
6
|
+
string: number;
|
|
7
|
+
int32: number;
|
|
8
|
+
int16: number;
|
|
9
|
+
int8: number;
|
|
10
|
+
int64: number;
|
|
11
|
+
};
|
package/build/consts.js
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
export const CHANNEL_FORMATS = [
|
|
2
|
+
'undefined',
|
|
3
|
+
'float32',
|
|
4
|
+
'double64',
|
|
5
|
+
'string',
|
|
6
|
+
'int32',
|
|
7
|
+
'int16',
|
|
8
|
+
'int8',
|
|
9
|
+
'int64',
|
|
10
|
+
];
|
|
11
|
+
export const CHANNEL_FORMATS_MAP = {
|
|
12
|
+
undefined: 0,
|
|
13
|
+
float32: 1,
|
|
14
|
+
double64: 2,
|
|
15
|
+
string: 3,
|
|
16
|
+
int32: 4,
|
|
17
|
+
int16: 5,
|
|
18
|
+
int8: 6,
|
|
19
|
+
int64: 7,
|
|
20
|
+
};
|
|
21
|
+
//# sourceMappingURL=consts.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"consts.js","sourceRoot":"","sources":["../src/consts.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,eAAe,GAAG;IAC3B,WAAW;IACX,SAAS;IACT,UAAU;IACV,QAAQ;IACR,OAAO;IACP,OAAO;IACP,MAAM;IACN,OAAO;CACD,CAAA;AAEV,MAAM,CAAC,MAAM,mBAAmB,GAAG;IAC/B,SAAS,EAAE,CAAC;IACZ,OAAO,EAAE,CAAC;IACV,QAAQ,EAAE,CAAC;IACX,MAAM,EAAE,CAAC;IACT,KAAK,EAAE,CAAC;IACR,KAAK,EAAE,CAAC;IACR,IAAI,EAAE,CAAC;IACP,KAAK,EAAE,CAAC;CACX,CAAA"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { DataType, define, open } from 'ffi-rs';
|
|
2
|
+
export default class LabrecorderAdapter implements Labrecorder {
|
|
3
|
+
static Class?: LabrecorderConstructor;
|
|
4
|
+
static ffiRsOpen: typeof open;
|
|
5
|
+
static ffiRsDefine: typeof define;
|
|
6
|
+
private labrecorderPath;
|
|
7
|
+
private bindings;
|
|
8
|
+
protected constructor(labrecorderPath: string);
|
|
9
|
+
static Create(labrecorderPath?: string): Labrecorder;
|
|
10
|
+
private loadCppLibrary;
|
|
11
|
+
private defineBindingFunctions;
|
|
12
|
+
private get functions();
|
|
13
|
+
createRecording(filename: string, watchFor: string[]): DataType.External;
|
|
14
|
+
stopRecording(recording: RecordingHandle): void;
|
|
15
|
+
deleteRecording(recording: RecordingHandle): void;
|
|
16
|
+
private get ffiRsOpen();
|
|
17
|
+
private get ffiRsDefine();
|
|
18
|
+
}
|
|
19
|
+
export interface Labrecorder {
|
|
20
|
+
createRecording(filename: string, watchFor: string[]): RecordingHandle;
|
|
21
|
+
stopRecording(recording: RecordingHandle): void;
|
|
22
|
+
deleteRecording(recording: RecordingHandle): void;
|
|
23
|
+
}
|
|
24
|
+
export type LabrecorderConstructor = new (labrecorderPath: string) => Labrecorder;
|
|
25
|
+
export interface LabrecorderBindings {
|
|
26
|
+
recording_create(args: [string, string[], number]): RecordingHandle;
|
|
27
|
+
recording_stop(args: [RecordingHandle]): void;
|
|
28
|
+
recording_delete(args: [RecordingHandle]): void;
|
|
29
|
+
}
|
|
30
|
+
export type RecordingHandle = DataType.External;
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import { DataType, define, open } from 'ffi-rs';
|
|
2
|
+
export default class LabrecorderAdapter {
|
|
3
|
+
static Class;
|
|
4
|
+
static ffiRsOpen = open;
|
|
5
|
+
static ffiRsDefine = define;
|
|
6
|
+
labrecorderPath;
|
|
7
|
+
bindings;
|
|
8
|
+
constructor(labrecorderPath) {
|
|
9
|
+
this.labrecorderPath = labrecorderPath;
|
|
10
|
+
this.loadCppLibrary();
|
|
11
|
+
this.bindings = this.defineBindingFunctions();
|
|
12
|
+
}
|
|
13
|
+
static Create(labrecorderPath) {
|
|
14
|
+
const path = labrecorderPath ?? '/opt/local/lib/liblabrecorder.dylib';
|
|
15
|
+
return new (this.Class ?? this)(path);
|
|
16
|
+
}
|
|
17
|
+
loadCppLibrary() {
|
|
18
|
+
this.ffiRsOpen({
|
|
19
|
+
library: 'labrecorder',
|
|
20
|
+
path: this.labrecorderPath,
|
|
21
|
+
});
|
|
22
|
+
}
|
|
23
|
+
defineBindingFunctions() {
|
|
24
|
+
return this.ffiRsDefine(this.functions);
|
|
25
|
+
}
|
|
26
|
+
get functions() {
|
|
27
|
+
return {
|
|
28
|
+
recording_create: {
|
|
29
|
+
library: 'labrecorder',
|
|
30
|
+
retType: DataType.External,
|
|
31
|
+
paramsType: [
|
|
32
|
+
DataType.String,
|
|
33
|
+
DataType.StringArray,
|
|
34
|
+
DataType.U64,
|
|
35
|
+
],
|
|
36
|
+
},
|
|
37
|
+
recording_stop: {
|
|
38
|
+
library: 'labrecorder',
|
|
39
|
+
retType: DataType.Void,
|
|
40
|
+
paramsType: [DataType.External],
|
|
41
|
+
},
|
|
42
|
+
recording_delete: {
|
|
43
|
+
library: 'labrecorder',
|
|
44
|
+
retType: DataType.Void,
|
|
45
|
+
paramsType: [DataType.External],
|
|
46
|
+
},
|
|
47
|
+
};
|
|
48
|
+
}
|
|
49
|
+
createRecording(filename, watchFor) {
|
|
50
|
+
return this.bindings.recording_create([
|
|
51
|
+
filename,
|
|
52
|
+
watchFor,
|
|
53
|
+
watchFor.length,
|
|
54
|
+
]);
|
|
55
|
+
}
|
|
56
|
+
stopRecording(recording) {
|
|
57
|
+
this.bindings.recording_stop([recording]);
|
|
58
|
+
}
|
|
59
|
+
deleteRecording(recording) {
|
|
60
|
+
this.bindings.recording_delete([recording]);
|
|
61
|
+
}
|
|
62
|
+
get ffiRsOpen() {
|
|
63
|
+
return LabrecorderAdapter.ffiRsOpen;
|
|
64
|
+
}
|
|
65
|
+
get ffiRsDefine() {
|
|
66
|
+
return LabrecorderAdapter.ffiRsDefine;
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
//# sourceMappingURL=LabrecorderAdapter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LabrecorderAdapter.js","sourceRoot":"","sources":["../../src/impl/LabrecorderAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;AAE/C,MAAM,CAAC,OAAO,OAAO,kBAAkB;IAC5B,MAAM,CAAC,KAAK,CAAyB;IACrC,MAAM,CAAC,SAAS,GAAG,IAAI,CAAA;IACvB,MAAM,CAAC,WAAW,GAAG,MAAM,CAAA;IAE1B,eAAe,CAAQ;IACvB,QAAQ,CAAqB;IAErC,YAAsB,eAAuB;QACzC,IAAI,CAAC,eAAe,GAAG,eAAe,CAAA;QACtC,IAAI,CAAC,cAAc,EAAE,CAAA;QAErB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,sBAAsB,EAAE,CAAA;IACjD,CAAC;IAEM,MAAM,CAAC,MAAM,CAAC,eAAwB;QACzC,MAAM,IAAI,GAAG,eAAe,IAAI,qCAAqC,CAAA;QACrE,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,CAAA;IACzC,CAAC;IAEO,cAAc;QAClB,IAAI,CAAC,SAAS,CAAC;YACX,OAAO,EAAE,aAAa;YACtB,IAAI,EAAE,IAAI,CAAC,eAAe;SAC7B,CAAC,CAAA;IACN,CAAC;IAEO,sBAAsB;QAC1B,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAwB,CAAA;IAClE,CAAC;IAED,IAAY,SAAS;QACjB,OAAO;YACH,gBAAgB,EAAE;gBACd,OAAO,EAAE,aAAa;gBACtB,OAAO,EAAE,QAAQ,CAAC,QAAQ;gBAC1B,UAAU,EAAE;oBACR,QAAQ,CAAC,MAAM;oBACf,QAAQ,CAAC,WAAW;oBACpB,QAAQ,CAAC,GAAG;iBACf;aACJ;YACD,cAAc,EAAE;gBACZ,OAAO,EAAE,aAAa;gBACtB,OAAO,EAAE,QAAQ,CAAC,IAAI;gBACtB,UAAU,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC;aAClC;YACD,gBAAgB,EAAE;gBACd,OAAO,EAAE,aAAa;gBACtB,OAAO,EAAE,QAAQ,CAAC,IAAI;gBACtB,UAAU,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC;aAClC;SACJ,CAAA;IACL,CAAC;IAEM,eAAe,CAAC,QAAgB,EAAE,QAAkB;QACvD,OAAO,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC;YAClC,QAAQ;YACR,QAAQ;YACR,QAAQ,CAAC,MAAM;SAClB,CAAC,CAAA;IACN,CAAC;IAEM,aAAa,CAAC,SAA0B;QAC3C,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,SAAS,CAAC,CAAC,CAAA;IAC7C,CAAC;IAEM,eAAe,CAAC,SAA0B;QAC7C,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,SAAS,CAAC,CAAC,CAAA;IAC/C,CAAC;IAED,IAAY,SAAS;QACjB,OAAO,kBAAkB,CAAC,SAAS,CAAA;IACvC,CAAC;IAED,IAAY,WAAW;QACnB,OAAO,kBAAkB,CAAC,WAAW,CAAA;IACzC,CAAC"}
|