Skip to content

Commit

Permalink
style: 💄 run Prettier
Browse files Browse the repository at this point in the history
  • Loading branch information
streamich committed Jun 20, 2023
1 parent 16ce2cf commit 0d87cef
Show file tree
Hide file tree
Showing 4 changed files with 34 additions and 9 deletions.
5 changes: 4 additions & 1 deletion src/fsa-to-node/types.ts
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,10 @@ export interface FsaNodeSyncAdapterApi {
}

export interface FsaNodeSyncAdapter {
call<K extends keyof FsaNodeSyncAdapterApi>(method: K, payload: Parameters<FsaNodeSyncAdapterApi[K]>[0]): ReturnType<FsaNodeSyncAdapterApi[K]>;
call<K extends keyof FsaNodeSyncAdapterApi>(
method: K,
payload: Parameters<FsaNodeSyncAdapterApi[K]>[0],
): ReturnType<FsaNodeSyncAdapterApi[K]>;
}

export interface FsaNodeSyncAdapterStats {
Expand Down
21 changes: 17 additions & 4 deletions src/fsa-to-node/worker/FsaNodeSyncAdapterWorker.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,15 @@ import { encode, decode } from 'json-joy/es6/json-pack/msgpack/util';
import { SyncMessenger } from './SyncMessenger';
import type * as fsa from '../../fsa/types';
import type { FsaNodeSyncAdapter, FsaNodeSyncAdapterApi } from '../types';
import type { FsaNodeWorkerMsg, FsaNodeWorkerMsgInit, FsaNodeWorkerMsgRequest, FsaNodeWorkerMsgResponse, FsaNodeWorkerMsgResponseError, FsaNodeWorkerMsgRootSet, FsaNodeWorkerMsgSetRoot } from './types';
import type {
FsaNodeWorkerMsg,
FsaNodeWorkerMsgInit,
FsaNodeWorkerMsgRequest,
FsaNodeWorkerMsgResponse,
FsaNodeWorkerMsgResponseError,
FsaNodeWorkerMsgRootSet,
FsaNodeWorkerMsgSetRoot,
} from './types';

let rootId = 0;

Expand Down Expand Up @@ -45,15 +53,20 @@ export class FsaNodeSyncAdapterWorker implements FsaNodeSyncAdapter {
protected readonly root: fsa.IFileSystemDirectoryHandle,
) {}

public call<K extends keyof FsaNodeSyncAdapterApi>(method: K, payload: Parameters<FsaNodeSyncAdapterApi[K]>[0]): ReturnType<FsaNodeSyncAdapterApi[K]> {
public call<K extends keyof FsaNodeSyncAdapterApi>(
method: K,
payload: Parameters<FsaNodeSyncAdapterApi[K]>[0],
): ReturnType<FsaNodeSyncAdapterApi[K]> {
const request: FsaNodeWorkerMsgRequest = [FsaNodeWorkerMessageCode.Request, method, payload];
const encoded = encode(request);
const encodedResponse = this.messenger.callSync(encoded);
type MsgBack = FsaNodeWorkerMsgResponse | FsaNodeWorkerMsgResponseError;
const [code, data] = decode<MsgBack>(encodedResponse as any);
switch (code) {
case FsaNodeWorkerMessageCode.Response: return data as any;
case FsaNodeWorkerMessageCode.ResponseError: throw data;
case FsaNodeWorkerMessageCode.Response:
return data as any;
case FsaNodeWorkerMessageCode.ResponseError:
throw data;
default: {
throw new Error('Invalid response message code');
}
Expand Down
14 changes: 12 additions & 2 deletions src/fsa-to-node/worker/FsaNodeSyncWorker.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,13 @@ import { AsyncCallback, SyncMessenger } from './SyncMessenger';
import { encode, decode } from 'json-joy/es6/json-pack/msgpack/util';
import { FsaNodeWorkerMessageCode } from './constants';
import type * as fsa from '../../fsa/types';
import type { FsaNodeWorkerError, FsaNodeWorkerMsg, FsaNodeWorkerMsgInit, FsaNodeWorkerMsgRequest, FsaNodeWorkerMsgRootSet } from './types';
import type {
FsaNodeWorkerError,
FsaNodeWorkerMsg,
FsaNodeWorkerMsgInit,
FsaNodeWorkerMsgRequest,
FsaNodeWorkerMsgRootSet,
} from './types';
import type { FsLocation, FsaNodeSyncAdapterApi, FsaNodeSyncAdapterStats } from '../types';

export class FsaNodeSyncWorker {
Expand Down Expand Up @@ -101,7 +107,11 @@ export class FsaNodeSyncWorker {
}
}

protected handlers: {[K in keyof FsaNodeSyncAdapterApi]: ((request: Parameters<FsaNodeSyncAdapterApi[K]>[0]) => Promise<ReturnType<FsaNodeSyncAdapterApi[K]>>)} = {
protected handlers: {
[K in keyof FsaNodeSyncAdapterApi]: (
request: Parameters<FsaNodeSyncAdapterApi[K]>[0],
) => Promise<ReturnType<FsaNodeSyncAdapterApi[K]>>;
} = {
stat: async (location: FsLocation): Promise<FsaNodeSyncAdapterStats> => {
const handle = await this.getFileOrDir(location[0], location[1], 'statSync');
return {
Expand Down
3 changes: 1 addition & 2 deletions src/fsa-to-node/worker/types.ts
Original file line number Diff line number Diff line change
Expand Up @@ -23,5 +23,4 @@ export type FsaNodeWorkerMsg =
| FsaNodeWorkerMsgRootSet
| FsaNodeWorkerMsgRequest
| FsaNodeWorkerMsgResponse
| FsaNodeWorkerMsgResponseError
;
| FsaNodeWorkerMsgResponseError;

0 comments on commit 0d87cef

Please sign in to comment.