@sprucelabs/mercury-types 45.0.62 → 46.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/build/esm/tests/{TestClient.d.ts → StubClient.d.ts} +3 -3
- package/build/esm/tests/{TestClient.js → StubClient.js} +1 -1
- package/build/esm/types/mercury.types.d.ts +6 -3
- package/build/tests/{TestClient.d.ts → StubClient.d.ts} +3 -3
- package/build/tests/{TestClient.js → StubClient.js} +2 -2
- package/build/types/mercury.types.d.ts +6 -3
- package/package.json +2 -2
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { SchemaValues, Schema } from '@sprucelabs/schema';
|
|
2
|
-
import MercuryEventEmitter, { MercuryAggregateResponse, EmitCallback, EventContract, EventSignature, KeyOf, EventName } from '../types/mercury.types';
|
|
3
|
-
export default class
|
|
2
|
+
import MercuryEventEmitter, { MercuryAggregateResponse, EmitCallback, EventContract, EventSignature, KeyOf, EventName, ListenerCallback } from '../types/mercury.types';
|
|
3
|
+
export default class StubClient<Contract extends EventContract> implements MercuryEventEmitter<Contract> {
|
|
4
4
|
emitAndFlattenResponses<Fqen extends EventName<Contract> = EventName<Contract>, IEventSignature extends EventSignature = Contract['eventSignatures'][Fqen], EmitSchema extends Schema = IEventSignature['emitPayloadSchema'] extends Schema ? IEventSignature['emitPayloadSchema'] : never, ResponseSchema extends Schema = IEventSignature['responsePayloadSchema'] extends Schema ? IEventSignature['responsePayloadSchema'] : never, ResponsePayload = ResponseSchema extends Schema ? SchemaValues<ResponseSchema> : never>(_eventName: Fqen, _payload: (EmitSchema extends Schema ? SchemaValues<EmitSchema> : never) | EmitCallback<Contract, Fqen> | undefined, _cb?: EmitCallback<Contract, Fqen> | undefined): Promise<ResponsePayload[]>;
|
|
5
5
|
emit<Fqen extends EventName<Contract> = EventName<Contract>, IEventSignature extends EventSignature = Contract['eventSignatures'][Fqen], EmitSchema extends Schema = IEventSignature['emitPayloadSchema'] extends Schema ? IEventSignature['emitPayloadSchema'] : never, ResponseSchema extends Schema = IEventSignature['responsePayloadSchema'] extends Schema ? IEventSignature['responsePayloadSchema'] : never, ResponsePayload = ResponseSchema extends Schema ? SchemaValues<ResponseSchema> : never>(_eventName: Fqen, _payload: (EmitSchema extends Schema ? SchemaValues<EmitSchema> : never) | EmitCallback<Contract, Fqen> | undefined, _cb?: EmitCallback<Contract, Fqen> | undefined): Promise<MercuryAggregateResponse<ResponsePayload>>;
|
|
6
|
-
on<Fqen extends KeyOf<Contract['eventSignatures']> = KeyOf<Contract['eventSignatures']>, IEventSignature extends EventSignature = Contract['eventSignatures'][Fqen]
|
|
6
|
+
on<Fqen extends KeyOf<Contract['eventSignatures']> = KeyOf<Contract['eventSignatures']>, IEventSignature extends EventSignature = Contract['eventSignatures'][Fqen]>(_eventName: Fqen, _cb: ListenerCallback<IEventSignature>): Promise<void>;
|
|
7
7
|
off(_eventName: EventName<Contract>): Promise<number>;
|
|
8
8
|
}
|
|
@@ -7,7 +7,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
7
7
|
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
8
|
});
|
|
9
9
|
};
|
|
10
|
-
export default class
|
|
10
|
+
export default class StubClient {
|
|
11
11
|
emitAndFlattenResponses(_eventName, _payload, _cb) {
|
|
12
12
|
return __awaiter(this, void 0, void 0, function* () {
|
|
13
13
|
return [];
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import AbstractSpruceError from '@sprucelabs/error';
|
|
2
|
-
import { Schema, SchemaValues } from '@sprucelabs/schema';
|
|
2
|
+
import { Schema, SchemaRequiredFieldNames, SchemaValues } from '@sprucelabs/schema';
|
|
3
3
|
import { SpruceSchemas } from "./../.spruce/schemas/schemas.types";
|
|
4
4
|
import { authorizerStatuses } from '../constants';
|
|
5
5
|
export type EventContract = SpruceSchemas.Mercury.v2020_12_25.EventContract;
|
|
@@ -22,16 +22,19 @@ export interface MercurySingleResponse<Payload> {
|
|
|
22
22
|
}
|
|
23
23
|
export type KeyOf<O> = Extract<keyof O, string>;
|
|
24
24
|
export type EventContractEmitPayloads<Contract extends EventContract> = {
|
|
25
|
-
[N in
|
|
25
|
+
[N in EventName<Contract>]: Contract['eventSignatures'][N]['emitPayloadSchema'] extends Schema ? SchemaValues<Contract['eventSignatures'][N]['emitPayloadSchema']> : never;
|
|
26
26
|
};
|
|
27
27
|
type EmitCallbackReturnValue = void | {
|
|
28
28
|
errors: AbstractSpruceError<any>[];
|
|
29
29
|
};
|
|
30
30
|
export declare type EmitCallback<Contract extends EventContract, EventName extends EventNames<Contract>, IEventSignature extends EventSignature = Contract['eventSignatures'][EventName], ResponseSchema extends Schema = IEventSignature['responsePayloadSchema'] extends Schema ? IEventSignature['responsePayloadSchema'] : never, ResponsePayload = ResponseSchema extends Schema ? SchemaValues<ResponseSchema> : never> = (payload: MercurySingleResponse<ResponsePayload>) => EmitCallbackReturnValue | Promise<EmitCallbackReturnValue>;
|
|
31
|
+
export type ListenerResponseValues<S extends Schema, RequiredFields extends boolean = SchemaRequiredFieldNames<S> extends never ? false : true> = RequiredFields extends false ? void | SchemaValues<S> : SchemaValues<S>;
|
|
32
|
+
export type ListenerResponse<IEventSignature extends EventSignature> = IEventSignature['responsePayloadSchema'] extends Schema ? Promise<ListenerResponseValues<IEventSignature['responsePayloadSchema']>> | ListenerResponseValues<IEventSignature['responsePayloadSchema']> : Promise<void> | void;
|
|
33
|
+
export type ListenerCallback<IEventSignature extends EventSignature, EmitSchema extends Schema = IEventSignature['emitPayloadSchema'] extends Schema ? IEventSignature['emitPayloadSchema'] : never> = (payload: EmitSchema extends Schema ? SchemaValues<EmitSchema> : never) => ListenerResponse<IEventSignature>;
|
|
31
34
|
export default interface MercuryEventEmitter<Contract extends EventContract> {
|
|
32
35
|
emit<EventName extends KeyOf<Contract['eventSignatures']> = KeyOf<Contract['eventSignatures']>, IEventSignature extends EventSignature = Contract['eventSignatures'][EventName], EmitSchema extends Schema = IEventSignature['emitPayloadSchema'] extends Schema ? IEventSignature['emitPayloadSchema'] : never, ResponseSchema extends Schema = IEventSignature['responsePayloadSchema'] extends Schema ? IEventSignature['responsePayloadSchema'] : never>(eventName: EventName, payload: SchemaValues<EmitSchema>, cb?: EmitCallback<Contract, EventName>): Promise<MercuryAggregateResponse<SchemaValues<ResponseSchema>>>;
|
|
33
36
|
emit<EventName extends KeyOf<Contract['eventSignatures']> = KeyOf<Contract['eventSignatures']>, IEventSignature extends EventSignature = Contract['eventSignatures'][EventName], ResponseSchema extends Schema = IEventSignature['responsePayloadSchema'] extends Schema ? IEventSignature['responsePayloadSchema'] : never>(eventName: EventName, cb?: EmitCallback<Contract, EventName>): Promise<MercuryAggregateResponse<SchemaValues<ResponseSchema>>>;
|
|
34
|
-
on<EventName extends KeyOf<Contract['eventSignatures']> = KeyOf<Contract['eventSignatures']>, IEventSignature extends EventSignature = Contract['eventSignatures'][EventName]
|
|
37
|
+
on<EventName extends KeyOf<Contract['eventSignatures']> = KeyOf<Contract['eventSignatures']>, IEventSignature extends EventSignature = Contract['eventSignatures'][EventName]>(eventName: EventName, cb: ListenerCallback<IEventSignature>): Promise<void>;
|
|
35
38
|
emitAndFlattenResponses<EventName extends KeyOf<Contract['eventSignatures']> = KeyOf<Contract['eventSignatures']>, IEventSignature extends EventSignature = Contract['eventSignatures'][EventName], EmitSchema extends Schema = IEventSignature['emitPayloadSchema'] extends Schema ? IEventSignature['emitPayloadSchema'] : never, ResponseSchema extends Schema = IEventSignature['responsePayloadSchema'] extends Schema ? IEventSignature['responsePayloadSchema'] : never>(eventName: EventName, payload: SchemaValues<EmitSchema>, cb?: EmitCallback<Contract, EventName>): Promise<SchemaValues<ResponseSchema>[]>;
|
|
36
39
|
emitAndFlattenResponses<EventName extends KeyOf<Contract['eventSignatures']> = KeyOf<Contract['eventSignatures']>, IEventSignature extends EventSignature = Contract['eventSignatures'][EventName], ResponseSchema extends Schema = IEventSignature['responsePayloadSchema'] extends Schema ? IEventSignature['responsePayloadSchema'] : never>(eventName: EventName, cb?: EmitCallback<Contract, EventName>): Promise<SchemaValues<ResponseSchema>[]>;
|
|
37
40
|
off(eventName: EventNames<Contract>, cb?: any): Promise<number>;
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { SchemaValues, Schema } from '@sprucelabs/schema';
|
|
2
|
-
import MercuryEventEmitter, { MercuryAggregateResponse, EmitCallback, EventContract, EventSignature, KeyOf, EventName } from '../types/mercury.types';
|
|
3
|
-
export default class
|
|
2
|
+
import MercuryEventEmitter, { MercuryAggregateResponse, EmitCallback, EventContract, EventSignature, KeyOf, EventName, ListenerCallback } from '../types/mercury.types';
|
|
3
|
+
export default class StubClient<Contract extends EventContract> implements MercuryEventEmitter<Contract> {
|
|
4
4
|
emitAndFlattenResponses<Fqen extends EventName<Contract> = EventName<Contract>, IEventSignature extends EventSignature = Contract['eventSignatures'][Fqen], EmitSchema extends Schema = IEventSignature['emitPayloadSchema'] extends Schema ? IEventSignature['emitPayloadSchema'] : never, ResponseSchema extends Schema = IEventSignature['responsePayloadSchema'] extends Schema ? IEventSignature['responsePayloadSchema'] : never, ResponsePayload = ResponseSchema extends Schema ? SchemaValues<ResponseSchema> : never>(_eventName: Fqen, _payload: (EmitSchema extends Schema ? SchemaValues<EmitSchema> : never) | EmitCallback<Contract, Fqen> | undefined, _cb?: EmitCallback<Contract, Fqen> | undefined): Promise<ResponsePayload[]>;
|
|
5
5
|
emit<Fqen extends EventName<Contract> = EventName<Contract>, IEventSignature extends EventSignature = Contract['eventSignatures'][Fqen], EmitSchema extends Schema = IEventSignature['emitPayloadSchema'] extends Schema ? IEventSignature['emitPayloadSchema'] : never, ResponseSchema extends Schema = IEventSignature['responsePayloadSchema'] extends Schema ? IEventSignature['responsePayloadSchema'] : never, ResponsePayload = ResponseSchema extends Schema ? SchemaValues<ResponseSchema> : never>(_eventName: Fqen, _payload: (EmitSchema extends Schema ? SchemaValues<EmitSchema> : never) | EmitCallback<Contract, Fqen> | undefined, _cb?: EmitCallback<Contract, Fqen> | undefined): Promise<MercuryAggregateResponse<ResponsePayload>>;
|
|
6
|
-
on<Fqen extends KeyOf<Contract['eventSignatures']> = KeyOf<Contract['eventSignatures']>, IEventSignature extends EventSignature = Contract['eventSignatures'][Fqen]
|
|
6
|
+
on<Fqen extends KeyOf<Contract['eventSignatures']> = KeyOf<Contract['eventSignatures']>, IEventSignature extends EventSignature = Contract['eventSignatures'][Fqen]>(_eventName: Fqen, _cb: ListenerCallback<IEventSignature>): Promise<void>;
|
|
7
7
|
off(_eventName: EventName<Contract>): Promise<number>;
|
|
8
8
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
class
|
|
3
|
+
class StubClient {
|
|
4
4
|
async emitAndFlattenResponses(_eventName, _payload, _cb) {
|
|
5
5
|
return [];
|
|
6
6
|
}
|
|
@@ -25,4 +25,4 @@ class TestClient {
|
|
|
25
25
|
return 0;
|
|
26
26
|
}
|
|
27
27
|
}
|
|
28
|
-
exports.default =
|
|
28
|
+
exports.default = StubClient;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import AbstractSpruceError from '@sprucelabs/error';
|
|
2
|
-
import { Schema, SchemaValues } from '@sprucelabs/schema';
|
|
2
|
+
import { Schema, SchemaRequiredFieldNames, SchemaValues } from '@sprucelabs/schema';
|
|
3
3
|
import { SpruceSchemas } from "./../.spruce/schemas/schemas.types";
|
|
4
4
|
import { authorizerStatuses } from '../constants';
|
|
5
5
|
export type EventContract = SpruceSchemas.Mercury.v2020_12_25.EventContract;
|
|
@@ -22,16 +22,19 @@ export interface MercurySingleResponse<Payload> {
|
|
|
22
22
|
}
|
|
23
23
|
export type KeyOf<O> = Extract<keyof O, string>;
|
|
24
24
|
export type EventContractEmitPayloads<Contract extends EventContract> = {
|
|
25
|
-
[N in
|
|
25
|
+
[N in EventName<Contract>]: Contract['eventSignatures'][N]['emitPayloadSchema'] extends Schema ? SchemaValues<Contract['eventSignatures'][N]['emitPayloadSchema']> : never;
|
|
26
26
|
};
|
|
27
27
|
type EmitCallbackReturnValue = void | {
|
|
28
28
|
errors: AbstractSpruceError<any>[];
|
|
29
29
|
};
|
|
30
30
|
export declare type EmitCallback<Contract extends EventContract, EventName extends EventNames<Contract>, IEventSignature extends EventSignature = Contract['eventSignatures'][EventName], ResponseSchema extends Schema = IEventSignature['responsePayloadSchema'] extends Schema ? IEventSignature['responsePayloadSchema'] : never, ResponsePayload = ResponseSchema extends Schema ? SchemaValues<ResponseSchema> : never> = (payload: MercurySingleResponse<ResponsePayload>) => EmitCallbackReturnValue | Promise<EmitCallbackReturnValue>;
|
|
31
|
+
export type ListenerResponseValues<S extends Schema, RequiredFields extends boolean = SchemaRequiredFieldNames<S> extends never ? false : true> = RequiredFields extends false ? void | SchemaValues<S> : SchemaValues<S>;
|
|
32
|
+
export type ListenerResponse<IEventSignature extends EventSignature> = IEventSignature['responsePayloadSchema'] extends Schema ? Promise<ListenerResponseValues<IEventSignature['responsePayloadSchema']>> | ListenerResponseValues<IEventSignature['responsePayloadSchema']> : Promise<void> | void;
|
|
33
|
+
export type ListenerCallback<IEventSignature extends EventSignature, EmitSchema extends Schema = IEventSignature['emitPayloadSchema'] extends Schema ? IEventSignature['emitPayloadSchema'] : never> = (payload: EmitSchema extends Schema ? SchemaValues<EmitSchema> : never) => ListenerResponse<IEventSignature>;
|
|
31
34
|
export default interface MercuryEventEmitter<Contract extends EventContract> {
|
|
32
35
|
emit<EventName extends KeyOf<Contract['eventSignatures']> = KeyOf<Contract['eventSignatures']>, IEventSignature extends EventSignature = Contract['eventSignatures'][EventName], EmitSchema extends Schema = IEventSignature['emitPayloadSchema'] extends Schema ? IEventSignature['emitPayloadSchema'] : never, ResponseSchema extends Schema = IEventSignature['responsePayloadSchema'] extends Schema ? IEventSignature['responsePayloadSchema'] : never>(eventName: EventName, payload: SchemaValues<EmitSchema>, cb?: EmitCallback<Contract, EventName>): Promise<MercuryAggregateResponse<SchemaValues<ResponseSchema>>>;
|
|
33
36
|
emit<EventName extends KeyOf<Contract['eventSignatures']> = KeyOf<Contract['eventSignatures']>, IEventSignature extends EventSignature = Contract['eventSignatures'][EventName], ResponseSchema extends Schema = IEventSignature['responsePayloadSchema'] extends Schema ? IEventSignature['responsePayloadSchema'] : never>(eventName: EventName, cb?: EmitCallback<Contract, EventName>): Promise<MercuryAggregateResponse<SchemaValues<ResponseSchema>>>;
|
|
34
|
-
on<EventName extends KeyOf<Contract['eventSignatures']> = KeyOf<Contract['eventSignatures']>, IEventSignature extends EventSignature = Contract['eventSignatures'][EventName]
|
|
37
|
+
on<EventName extends KeyOf<Contract['eventSignatures']> = KeyOf<Contract['eventSignatures']>, IEventSignature extends EventSignature = Contract['eventSignatures'][EventName]>(eventName: EventName, cb: ListenerCallback<IEventSignature>): Promise<void>;
|
|
35
38
|
emitAndFlattenResponses<EventName extends KeyOf<Contract['eventSignatures']> = KeyOf<Contract['eventSignatures']>, IEventSignature extends EventSignature = Contract['eventSignatures'][EventName], EmitSchema extends Schema = IEventSignature['emitPayloadSchema'] extends Schema ? IEventSignature['emitPayloadSchema'] : never, ResponseSchema extends Schema = IEventSignature['responsePayloadSchema'] extends Schema ? IEventSignature['responsePayloadSchema'] : never>(eventName: EventName, payload: SchemaValues<EmitSchema>, cb?: EmitCallback<Contract, EventName>): Promise<SchemaValues<ResponseSchema>[]>;
|
|
36
39
|
emitAndFlattenResponses<EventName extends KeyOf<Contract['eventSignatures']> = KeyOf<Contract['eventSignatures']>, IEventSignature extends EventSignature = Contract['eventSignatures'][EventName], ResponseSchema extends Schema = IEventSignature['responsePayloadSchema'] extends Schema ? IEventSignature['responsePayloadSchema'] : never>(eventName: EventName, cb?: EmitCallback<Contract, EventName>): Promise<SchemaValues<ResponseSchema>[]>;
|
|
37
40
|
off(eventName: EventNames<Contract>, cb?: any): Promise<number>;
|
package/package.json
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
"publishConfig": {
|
|
4
4
|
"access": "public"
|
|
5
5
|
},
|
|
6
|
-
"version": "
|
|
6
|
+
"version": "46.0.1",
|
|
7
7
|
"files": [
|
|
8
8
|
"build"
|
|
9
9
|
],
|
|
@@ -66,7 +66,7 @@
|
|
|
66
66
|
"dependencies": {
|
|
67
67
|
"@sprucelabs/error": "^5.1.14",
|
|
68
68
|
"@sprucelabs/schema": "^29.0.6",
|
|
69
|
-
"@sprucelabs/spruce-core-schemas": "^39.0.
|
|
69
|
+
"@sprucelabs/spruce-core-schemas": "^39.0.7"
|
|
70
70
|
},
|
|
71
71
|
"devDependencies": {
|
|
72
72
|
"@sprucelabs/esm-postbuild": "^5.0.31",
|