@k13engineering/linux-fuse 0.0.7 → 0.1.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.
@@ -68,30 +68,55 @@ const createConvenienceRequestHandler = ({
68
68
  // eslint-disable-next-line max-statements, complexity
69
69
  const handleRequest/*: TRequestHandler["handleRequest"]*/ = async ({ request }) => {
70
70
  switch (request.opcode) {
71
- case "INIT": {
72
- const response = await serverInterface.init(request);
71
+ case "INIT": {
72
+ const response = await serverInterface.init(request);
73
73
 
74
- return {
75
- ...response,
76
- unique: request.unique,
77
- };
78
- }
74
+ return {
75
+ ...response,
76
+ unique: request.unique,
77
+ };
78
+ }
79
79
 
80
- case "FORGET": {
81
- await serverInterface.forget(request);
82
- return undefined;
83
- }
80
+ case "FORGET": {
81
+ await serverInterface.forget(request);
82
+ return undefined;
83
+ }
84
84
 
85
- case "BATCH_FORGET": {
86
- await serverInterface.batchForget(request);
87
- return undefined;
88
- }
85
+ case "BATCH_FORGET": {
86
+ await serverInterface.batchForget(request);
87
+ return undefined;
88
+ }
89
+
90
+ case "GETATTR": {
91
+
92
+ switch (request.getattrMode) {
93
+ case "node": {
94
+ const response = await serverInterface.getattr(request);
89
95
 
90
- case "GETATTR": {
96
+ return {
97
+ ...response,
98
+ unique: request.unique,
99
+ };
100
+ }
91
101
 
92
- switch (request.getattrMode) {
93
- case "node": {
94
- const response = await serverInterface.getattr(request);
102
+ case "fileHandle": {
103
+ const response = await serverInterface.fgetattr(request);
104
+
105
+ return {
106
+ ...response,
107
+ unique: request.unique,
108
+ };
109
+ }
110
+
111
+ default: {
112
+ // @ts-expect-error exhaustive check
113
+ throw Error(`unsupported getattr mode: ${request.getattrMode}`);
114
+ }
115
+ }
116
+ }
117
+
118
+ case "SETATTR": {
119
+ const response = await serverInterface.setattr(request);
95
120
 
96
121
  return {
97
122
  ...response,
@@ -99,8 +124,8 @@ const createConvenienceRequestHandler = ({
99
124
  };
100
125
  }
101
126
 
102
- case "fileHandle": {
103
- const response = await serverInterface.fgetattr(request);
127
+ case "LISTXATTR": {
128
+ const response = await serverInterface.listxattr(request);
104
129
 
105
130
  return {
106
131
  ...response,
@@ -108,414 +133,389 @@ const createConvenienceRequestHandler = ({
108
133
  };
109
134
  }
110
135
 
111
- default: {
112
- // @ts-expect-error exhaustive check
113
- throw Error(`unsupported getattr mode: ${request.getattrMode}`);
114
- }
115
- }
116
- }
117
-
118
- case "SETATTR": {
119
- const response = await serverInterface.setattr(request);
120
-
121
- return {
122
- ...response,
123
- unique: request.unique,
124
- };
125
- }
126
-
127
- case "LISTXATTR": {
128
- const response = await serverInterface.listxattr(request);
129
-
130
- return {
131
- ...response,
132
- unique: request.unique,
133
- };
134
- }
135
-
136
- case "GETXATTR": {
137
- const response = await serverInterface.getxattr(request);
136
+ case "GETXATTR": {
137
+ const response = await serverInterface.getxattr(request);
138
138
 
139
- return {
140
- ...response,
141
- unique: request.unique,
142
- };
143
- }
139
+ return {
140
+ ...response,
141
+ unique: request.unique,
142
+ };
143
+ }
144
144
 
145
- case "READLINK": {
146
- const response = await serverInterface.readlink(request);
145
+ case "READLINK": {
146
+ const response = await serverInterface.readlink(request);
147
147
 
148
- return {
149
- ...response,
150
- unique: request.unique,
151
- };
152
- }
148
+ return {
149
+ ...response,
150
+ unique: request.unique,
151
+ };
152
+ }
153
153
 
154
- case "SYMLINK": {
155
- const response = await serverInterface.symlink(request);
154
+ case "SYMLINK": {
155
+ const response = await serverInterface.symlink(request);
156
156
 
157
- return {
158
- ...response,
159
- unique: request.unique,
160
- };
161
- }
157
+ return {
158
+ ...response,
159
+ unique: request.unique,
160
+ };
161
+ }
162
162
 
163
- case "MKNOD": {
164
- const response = await serverInterface.mknod(request);
163
+ case "MKNOD": {
164
+ const response = await serverInterface.mknod(request);
165
165
 
166
- return {
167
- ...response,
168
- unique: request.unique,
169
- };
170
- }
166
+ return {
167
+ ...response,
168
+ unique: request.unique,
169
+ };
170
+ }
171
171
 
172
- case "MKDIR": {
173
- const response = await serverInterface.mkdir(request);
172
+ case "MKDIR": {
173
+ const response = await serverInterface.mkdir(request);
174
174
 
175
- return {
176
- ...response,
177
- unique: request.unique,
178
- };
179
- }
175
+ return {
176
+ ...response,
177
+ unique: request.unique,
178
+ };
179
+ }
180
180
 
181
- case "UNLINK": {
182
- const response = await serverInterface.unlink(request);
181
+ case "UNLINK": {
182
+ const response = await serverInterface.unlink(request);
183
183
 
184
- return {
185
- ...response,
186
- unique: request.unique,
187
- };
188
- }
184
+ return {
185
+ ...response,
186
+ unique: request.unique,
187
+ };
188
+ }
189
189
 
190
- case "RMDIR": {
191
- const response = await serverInterface.rmdir(request);
190
+ case "RMDIR": {
191
+ const response = await serverInterface.rmdir(request);
192
192
 
193
- return {
194
- ...response,
195
- unique: request.unique,
196
- };
197
- }
193
+ return {
194
+ ...response,
195
+ unique: request.unique,
196
+ };
197
+ }
198
198
 
199
- case "RENAME": {
200
- const response = await serverInterface.rename(request);
199
+ case "RENAME": {
200
+ const response = await serverInterface.rename(request);
201
201
 
202
- return {
203
- ...response,
204
- unique: request.unique,
205
- };
206
- }
202
+ return {
203
+ ...response,
204
+ unique: request.unique,
205
+ };
206
+ }
207
207
 
208
- case "LINK": {
209
- const response = await serverInterface.link(request);
208
+ case "LINK": {
209
+ const response = await serverInterface.link(request);
210
210
 
211
- return {
212
- ...response,
213
- unique: request.unique,
214
- };
215
- }
211
+ return {
212
+ ...response,
213
+ unique: request.unique,
214
+ };
215
+ }
216
216
 
217
- case "OPENDIR": {
218
- const response = await serverInterface.opendir(request);
217
+ case "OPENDIR": {
218
+ const response = await serverInterface.opendir(request);
219
219
 
220
- return {
221
- ...response,
222
- unique: request.unique,
223
- };
224
- }
220
+ return {
221
+ ...response,
222
+ unique: request.unique,
223
+ };
224
+ }
225
225
 
226
- case "READDIR": {
227
- const response = await serverInterface.readdir(request);
226
+ case "READDIR": {
227
+ const response = await serverInterface.readdir(request);
228
228
 
229
- return {
230
- ...response,
231
- unique: request.unique,
232
- };
233
- }
229
+ return {
230
+ ...response,
231
+ unique: request.unique,
232
+ };
233
+ }
234
234
 
235
- case "RELEASE": {
236
- const response = await serverInterface.release(request);
235
+ case "RELEASE": {
236
+ const response = await serverInterface.release(request);
237
237
 
238
- return {
239
- ...response,
240
- unique: request.unique,
241
- };
242
- }
238
+ return {
239
+ ...response,
240
+ unique: request.unique,
241
+ };
242
+ }
243
243
 
244
- case "RELEASEDIR": {
245
- const response = await serverInterface.releasedir(request);
244
+ case "RELEASEDIR": {
245
+ const response = await serverInterface.releasedir(request);
246
246
 
247
- return {
248
- ...response,
249
- unique: request.unique,
250
- };
251
- }
247
+ return {
248
+ ...response,
249
+ unique: request.unique,
250
+ };
251
+ }
252
252
 
253
- case "FSYNCDIR": {
254
- const response = await serverInterface.fsyncdir(request);
253
+ case "FSYNCDIR": {
254
+ const response = await serverInterface.fsyncdir(request);
255
255
 
256
- return {
257
- ...response,
258
- unique: request.unique,
259
- };
260
- }
256
+ return {
257
+ ...response,
258
+ unique: request.unique,
259
+ };
260
+ }
261
261
 
262
- case "STATFS": {
263
- const response = await serverInterface.statfs(request);
262
+ case "STATFS": {
263
+ const response = await serverInterface.statfs(request);
264
264
 
265
- return {
266
- ...response,
267
- unique: request.unique,
268
- };
269
- }
265
+ return {
266
+ ...response,
267
+ unique: request.unique,
268
+ };
269
+ }
270
270
 
271
- case "LOOKUP": {
272
- const response = await serverInterface.lookup(request);
271
+ case "LOOKUP": {
272
+ const response = await serverInterface.lookup(request);
273
273
 
274
- return {
275
- ...response,
276
- unique: request.unique,
277
- };
278
- }
274
+ return {
275
+ ...response,
276
+ unique: request.unique,
277
+ };
278
+ }
279
279
 
280
- case "OPEN": {
281
- const response = await serverInterface.open(request);
280
+ case "OPEN": {
281
+ const response = await serverInterface.open(request);
282
282
 
283
- return {
284
- ...response,
285
- unique: request.unique,
286
- };
287
- }
283
+ return {
284
+ ...response,
285
+ unique: request.unique,
286
+ };
287
+ }
288
288
 
289
- case "READ": {
290
- const response = await serverInterface.read(request);
289
+ case "READ": {
290
+ const response = await serverInterface.read(request);
291
291
 
292
- return {
293
- ...response,
294
- unique: request.unique,
295
- };
296
- }
292
+ return {
293
+ ...response,
294
+ unique: request.unique,
295
+ };
296
+ }
297
297
 
298
- case "WRITE": {
299
- const response = await serverInterface.write(request);
298
+ case "WRITE": {
299
+ const response = await serverInterface.write(request);
300
300
 
301
- return {
302
- ...response,
303
- unique: request.unique,
304
- };
305
- }
301
+ return {
302
+ ...response,
303
+ unique: request.unique,
304
+ };
305
+ }
306
306
 
307
- case "FLUSH": {
308
- const response = await serverInterface.flush(request);
307
+ case "FLUSH": {
308
+ const response = await serverInterface.flush(request);
309
309
 
310
- return {
311
- ...response,
312
- unique: request.unique,
313
- };
314
- }
310
+ return {
311
+ ...response,
312
+ unique: request.unique,
313
+ };
314
+ }
315
315
 
316
- case "FSYNC": {
317
- const response = await serverInterface.fsync(request);
316
+ case "FSYNC": {
317
+ const response = await serverInterface.fsync(request);
318
318
 
319
- return {
320
- ...response,
321
- unique: request.unique,
322
- };
323
- }
319
+ return {
320
+ ...response,
321
+ unique: request.unique,
322
+ };
323
+ }
324
324
 
325
- case "ACCESS": {
326
- const response = await serverInterface.access(request);
325
+ case "ACCESS": {
326
+ const response = await serverInterface.access(request);
327
327
 
328
- return {
329
- ...response,
330
- unique: request.unique,
331
- };
332
- }
328
+ return {
329
+ ...response,
330
+ unique: request.unique,
331
+ };
332
+ }
333
333
 
334
- case "SETXATTR": {
335
- const response = await serverInterface.setxattr(request);
334
+ case "SETXATTR": {
335
+ const response = await serverInterface.setxattr(request);
336
336
 
337
- return {
338
- ...response,
339
- unique: request.unique,
340
- };
341
- }
337
+ return {
338
+ ...response,
339
+ unique: request.unique,
340
+ };
341
+ }
342
342
 
343
- case "REMOVEXATTR": {
344
- const response = await serverInterface.removexattr(request);
343
+ case "REMOVEXATTR": {
344
+ const response = await serverInterface.removexattr(request);
345
345
 
346
- return {
347
- ...response,
348
- unique: request.unique,
349
- };
350
- }
346
+ return {
347
+ ...response,
348
+ unique: request.unique,
349
+ };
350
+ }
351
351
 
352
- case "CREATE": {
353
- const response = await serverInterface.create(request);
352
+ case "CREATE": {
353
+ const response = await serverInterface.create(request);
354
354
 
355
- return {
356
- ...response,
357
- unique: request.unique,
358
- };
359
- }
355
+ return {
356
+ ...response,
357
+ unique: request.unique,
358
+ };
359
+ }
360
360
 
361
- case "DESTROY": {
362
- const response = await serverInterface.destroy(request);
361
+ case "DESTROY": {
362
+ const response = await serverInterface.destroy(request);
363
363
 
364
- return {
365
- ...response,
366
- unique: request.unique,
367
- };
368
- }
364
+ return {
365
+ ...response,
366
+ unique: request.unique,
367
+ };
368
+ }
369
369
 
370
- case "GETLK": {
371
- const response = await serverInterface.getlk(request);
370
+ case "GETLK": {
371
+ const response = await serverInterface.getlk(request);
372
372
 
373
- return {
374
- ...response,
375
- unique: request.unique,
376
- };
377
- }
373
+ return {
374
+ ...response,
375
+ unique: request.unique,
376
+ };
377
+ }
378
378
 
379
- case "SETLK": {
380
- const response = await serverInterface.setlk(request);
379
+ case "SETLK": {
380
+ const response = await serverInterface.setlk(request);
381
381
 
382
- return {
383
- ...response,
384
- unique: request.unique,
385
- };
386
- }
382
+ return {
383
+ ...response,
384
+ unique: request.unique,
385
+ };
386
+ }
387
387
 
388
- case "SETLKW": {
389
- const response = await serverInterface.setlkw(request);
388
+ case "SETLKW": {
389
+ const response = await serverInterface.setlkw(request);
390
390
 
391
- return {
392
- ...response,
393
- unique: request.unique,
394
- };
395
- }
391
+ return {
392
+ ...response,
393
+ unique: request.unique,
394
+ };
395
+ }
396
396
 
397
- case "INTERRUPT": {
398
- await serverInterface.interrupt(request);
399
- return undefined;
400
- }
397
+ case "INTERRUPT": {
398
+ await serverInterface.interrupt(request);
399
+ return undefined;
400
+ }
401
401
 
402
- case "BMAP": {
403
- const response = await serverInterface.bmap(request);
402
+ case "BMAP": {
403
+ const response = await serverInterface.bmap(request);
404
404
 
405
- return {
406
- ...response,
407
- unique: request.unique,
408
- };
409
- }
405
+ return {
406
+ ...response,
407
+ unique: request.unique,
408
+ };
409
+ }
410
410
 
411
- case "IOCTL": {
412
- const response = await serverInterface.ioctl(request);
411
+ case "IOCTL": {
412
+ const response = await serverInterface.ioctl(request);
413
413
 
414
- return {
415
- ...response,
416
- unique: request.unique,
417
- };
418
- }
414
+ return {
415
+ ...response,
416
+ unique: request.unique,
417
+ };
418
+ }
419
419
 
420
- case "POLL": {
421
- const response = await serverInterface.poll(request);
420
+ case "POLL": {
421
+ const response = await serverInterface.poll(request);
422
422
 
423
- return {
424
- ...response,
425
- unique: request.unique,
426
- };
427
- }
423
+ return {
424
+ ...response,
425
+ unique: request.unique,
426
+ };
427
+ }
428
428
 
429
- case "NOTIFY_REPLY": {
430
- await serverInterface.notifyReply(request);
431
- return undefined;
432
- }
429
+ case "NOTIFY_REPLY": {
430
+ await serverInterface.notifyReply(request);
431
+ return undefined;
432
+ }
433
433
 
434
- case "FALLOCATE": {
435
- const response = await serverInterface.fallocate(request);
434
+ case "FALLOCATE": {
435
+ const response = await serverInterface.fallocate(request);
436
436
 
437
- return {
438
- ...response,
439
- unique: request.unique,
440
- };
441
- }
437
+ return {
438
+ ...response,
439
+ unique: request.unique,
440
+ };
441
+ }
442
442
 
443
- case "READDIRPLUS": {
444
- const response = await serverInterface.readdirplus(request);
443
+ case "READDIRPLUS": {
444
+ const response = await serverInterface.readdirplus(request);
445
445
 
446
- return {
447
- ...response,
448
- unique: request.unique,
449
- };
450
- }
446
+ return {
447
+ ...response,
448
+ unique: request.unique,
449
+ };
450
+ }
451
451
 
452
- case "LSEEK": {
453
- const response = await serverInterface.lseek(request);
452
+ case "LSEEK": {
453
+ const response = await serverInterface.lseek(request);
454
454
 
455
- return {
456
- ...response,
457
- unique: request.unique,
458
- };
459
- }
455
+ return {
456
+ ...response,
457
+ unique: request.unique,
458
+ };
459
+ }
460
460
 
461
- case "COPY_FILE_RANGE": {
462
- const response = await serverInterface.copyFileRange(request);
461
+ case "COPY_FILE_RANGE": {
462
+ const response = await serverInterface.copyFileRange(request);
463
463
 
464
- return {
465
- ...response,
466
- unique: request.unique,
467
- };
468
- }
464
+ return {
465
+ ...response,
466
+ unique: request.unique,
467
+ };
468
+ }
469
469
 
470
- case "SETUPMAPPING": {
471
- const response = await serverInterface.setupMapping(request);
470
+ case "SETUPMAPPING": {
471
+ const response = await serverInterface.setupMapping(request);
472
472
 
473
- return {
474
- ...response,
475
- unique: request.unique,
476
- };
477
- }
473
+ return {
474
+ ...response,
475
+ unique: request.unique,
476
+ };
477
+ }
478
478
 
479
- case "REMOVEMAPPING": {
480
- const response = await serverInterface.removeMapping(request);
479
+ case "REMOVEMAPPING": {
480
+ const response = await serverInterface.removeMapping(request);
481
481
 
482
- return {
483
- ...response,
484
- unique: request.unique,
485
- };
486
- }
482
+ return {
483
+ ...response,
484
+ unique: request.unique,
485
+ };
486
+ }
487
487
 
488
- case "SYNCFS": {
489
- const response = await serverInterface.syncfs(request);
488
+ case "SYNCFS": {
489
+ const response = await serverInterface.syncfs(request);
490
490
 
491
- return {
492
- ...response,
493
- unique: request.unique,
494
- };
495
- }
491
+ return {
492
+ ...response,
493
+ unique: request.unique,
494
+ };
495
+ }
496
496
 
497
- case "TMPFILE": {
498
- const response = await serverInterface.tmpfile(request);
497
+ case "TMPFILE": {
498
+ const response = await serverInterface.tmpfile(request);
499
499
 
500
- return {
501
- ...response,
502
- unique: request.unique,
503
- };
504
- }
500
+ return {
501
+ ...response,
502
+ unique: request.unique,
503
+ };
504
+ }
505
505
 
506
- case "STATX": {
507
- const response = await serverInterface.statx(request);
506
+ case "STATX": {
507
+ const response = await serverInterface.statx(request);
508
508
 
509
- return {
510
- ...response,
511
- unique: request.unique,
512
- };
513
- }
509
+ return {
510
+ ...response,
511
+ unique: request.unique,
512
+ };
513
+ }
514
514
 
515
- default: {
515
+ default: {
516
516
  // @ts-expect-error exhaustive check
517
- throw Error(`unsupported opcode: ${request.opcode}`);
518
- }
517
+ throw Error(`unsupported opcode: ${request.opcode}`);
518
+ }
519
519
  }
520
520
  };
521
521