diff --git a/packages/cantos/src/stories/stories.ts b/packages/cantos/src/stories/stories.ts index 7402786..3adb3a9 100644 --- a/packages/cantos/src/stories/stories.ts +++ b/packages/cantos/src/stories/stories.ts @@ -3,7 +3,7 @@ import {STORY_DEFAULTS} from "@src/consts.ts"; import {Scenes} from "@src/entrance.ts"; import { - Domain, + DomainDef, EmptyRecord, IStory, IStoryScript, @@ -43,7 +43,7 @@ class StoryScript implements IStoryScript { -export class Story extends StoryScript implements IStory { +export class Story extends StoryScript implements IStory { action?: Scenes; context?: Scenes; outcome?: Scenes; @@ -55,7 +55,7 @@ export class Story extends StoryScri status?: StoryStatus | string; - domains?: DOMAIN; + domain?: DOMAIN; path = () => getPath(this.story, this.parentPath) // get a getter to get test id testId = this.path; @@ -101,7 +101,7 @@ export class Story extends StoryScri */ nameOfWho = (who: Who) => printWho([who]); - getCasts = () => this.domains; + getCasts = () => this.domain; // profileOfWho = (who: Who) => { // if (this.cast) { @@ -155,7 +155,7 @@ export class Story extends StoryScri * This generic type allows `ActWithMethods` to be applied to any specific implementation * of `IActRecord`, preserving its unique structure. */ -export type UserStory, DOMAINS extends Domain> = T & Story & { +export type UserStory, DOMAINS extends DomainDef> = T & Story & { scenes: { [K in keyof T['scenes']]: T['scenes'][K] extends IStoryScript ? UserStory : never }; context: { [K in keyof T['context']]: T['context'][K] extends IStoryScript ? UserStory : never }; action: { [K in keyof T['action']]: T['action'][K] extends IStoryScript ? UserStory : never }; @@ -163,11 +163,11 @@ export type UserStory, DOMAINS extends Domain> = so: { [K in keyof T['so']]: T['so'][K] extends IStoryScript ? UserStory : never }; }; -export type UserCast = CAST; +export type UserCast = CAST; -export type UserStories, CAST extends Domain> = { [K in keyof T]: UserStory }; +export type UserStories, CAST extends DomainDef> = { [K in keyof T]: UserStory }; -export type UserNameList = { +export type UserNameList = { [EntryKey in keyof Record]: UserStory<{ story: Record[EntryKey] }, CAST>