@sprucelabs/spruce-heartwood-utils 6.3.0 → 6.4.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.
@@ -1,23 +1,28 @@
1
1
  import { AbstractViewController, ViewControllerFactory } from '@sprucelabs/heartwood-view-controllers';
2
2
  import { MercuryClient } from '@sprucelabs/mercury-client';
3
- import { EventContract, EventNames, SkillEventContract, SpruceSchemas } from '@sprucelabs/mercury-types';
3
+ import { KeyOf, SkillEventContract, SpruceSchemas } from '@sprucelabs/mercury-types';
4
4
  import { Schema, SchemaValues } from '@sprucelabs/schema';
5
5
  declare type Card = SpruceSchemas.HeartwoodViewControllers.v2021_02_11.Card;
6
- declare type ResponsePayload<Contract extends EventContract, Name extends EventNames<Contract>> = Contract['eventSignatures'][Name]['responsePayloadSchema'] extends Schema ? SchemaValues<Contract['eventSignatures'][Name]['responsePayloadSchema']> : never;
7
- declare type EmitPayload<Contract extends EventContract, Name extends EventNames<Contract>> = Contract['eventSignatures'][Name]['emitPayloadSchema'] extends Schema ? SchemaValues<Contract['eventSignatures'][Name]['emitPayloadSchema']> : never;
8
- export interface CardRegistrarOptions<Contract extends EventContract, Name extends EventNames<Contract>> {
6
+ export declare type EventNames<Contract extends SkillEventContract> = KeyOf<Contract['eventSignatures']>;
7
+ declare type ResponsePayload<Contract extends SkillEventContract, Name extends EventNames<Contract>
8
+ /** @ts-ignore */
9
+ > = Contract['eventSignatures'][Name]['responsePayloadSchema'] extends Schema ? SchemaValues<Contract['eventSignatures'][Name]['responsePayloadSchema']> : never;
10
+ declare type EmitPayload<Contract extends SkillEventContract, Name extends EventNames<Contract>
11
+ /** @ts-ignore */
12
+ > = Contract['eventSignatures'][Name]['emitPayloadSchema'] extends Schema ? SchemaValues<Contract['eventSignatures'][Name]['emitPayloadSchema']> : never;
13
+ export interface CardRegistrarOptions<Contract extends SkillEventContract, Name extends EventNames<Contract>> {
9
14
  client: MercuryClient;
10
15
  eventName: Name;
11
16
  vcFactory: ViewControllerFactory;
12
17
  vcIdsTransformer: (payload: ResponsePayload<Contract, Name>) => string[];
13
18
  }
14
19
  export declare type EachCardHandler = (vcs: AbstractViewController<any>[]) => Promise<void> | void;
15
- export declare type CardFetchOptions<Contract extends EventContract, Name extends EventNames<Contract>> = {
20
+ export declare type CardFetchOptions<Contract extends SkillEventContract, Name extends EventNames<Contract>> = {
16
21
  each: EachCardHandler;
17
22
  } & EmitPayload<Contract, Name>;
18
23
  export default class CardRegistrar<
19
24
  /** @ts-ignore */
20
- Contract extends EventContract = SkillEventContract, Name extends EventNames<Contract> = EventNames<Contract>> {
25
+ Contract extends SkillEventContract = SkillEventContract, Name extends EventNames<Contract> = EventNames<Contract>> {
21
26
  private client;
22
27
  private eventName;
23
28
  private vcIdsTransformer;
@@ -1,23 +1,28 @@
1
1
  import { AbstractViewController, ViewControllerFactory } from '@sprucelabs/heartwood-view-controllers';
2
2
  import { MercuryClient } from '@sprucelabs/mercury-client';
3
- import { EventContract, EventNames, SkillEventContract, SpruceSchemas } from '@sprucelabs/mercury-types';
3
+ import { KeyOf, SkillEventContract, SpruceSchemas } from '@sprucelabs/mercury-types';
4
4
  import { Schema, SchemaValues } from '@sprucelabs/schema';
5
5
  declare type Card = SpruceSchemas.HeartwoodViewControllers.v2021_02_11.Card;
6
- declare type ResponsePayload<Contract extends EventContract, Name extends EventNames<Contract>> = Contract['eventSignatures'][Name]['responsePayloadSchema'] extends Schema ? SchemaValues<Contract['eventSignatures'][Name]['responsePayloadSchema']> : never;
7
- declare type EmitPayload<Contract extends EventContract, Name extends EventNames<Contract>> = Contract['eventSignatures'][Name]['emitPayloadSchema'] extends Schema ? SchemaValues<Contract['eventSignatures'][Name]['emitPayloadSchema']> : never;
8
- export interface CardRegistrarOptions<Contract extends EventContract, Name extends EventNames<Contract>> {
6
+ export declare type EventNames<Contract extends SkillEventContract> = KeyOf<Contract['eventSignatures']>;
7
+ declare type ResponsePayload<Contract extends SkillEventContract, Name extends EventNames<Contract>
8
+ /** @ts-ignore */
9
+ > = Contract['eventSignatures'][Name]['responsePayloadSchema'] extends Schema ? SchemaValues<Contract['eventSignatures'][Name]['responsePayloadSchema']> : never;
10
+ declare type EmitPayload<Contract extends SkillEventContract, Name extends EventNames<Contract>
11
+ /** @ts-ignore */
12
+ > = Contract['eventSignatures'][Name]['emitPayloadSchema'] extends Schema ? SchemaValues<Contract['eventSignatures'][Name]['emitPayloadSchema']> : never;
13
+ export interface CardRegistrarOptions<Contract extends SkillEventContract, Name extends EventNames<Contract>> {
9
14
  client: MercuryClient;
10
15
  eventName: Name;
11
16
  vcFactory: ViewControllerFactory;
12
17
  vcIdsTransformer: (payload: ResponsePayload<Contract, Name>) => string[];
13
18
  }
14
19
  export declare type EachCardHandler = (vcs: AbstractViewController<any>[]) => Promise<void> | void;
15
- export declare type CardFetchOptions<Contract extends EventContract, Name extends EventNames<Contract>> = {
20
+ export declare type CardFetchOptions<Contract extends SkillEventContract, Name extends EventNames<Contract>> = {
16
21
  each: EachCardHandler;
17
22
  } & EmitPayload<Contract, Name>;
18
23
  export default class CardRegistrar<
19
24
  /** @ts-ignore */
20
- Contract extends EventContract = SkillEventContract, Name extends EventNames<Contract> = EventNames<Contract>> {
25
+ Contract extends SkillEventContract = SkillEventContract, Name extends EventNames<Contract> = EventNames<Contract>> {
21
26
  private client;
22
27
  private eventName;
23
28
  private vcIdsTransformer;
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@sprucelabs/spruce-heartwood-utils",
3
3
  "description": "Heartwood Utilities",
4
- "version": "6.3.0",
4
+ "version": "6.4.0",
5
5
  "skill": {
6
6
  "namespace": "heartwood"
7
7
  },