@sprucelabs/heartwood-view-controllers 119.9.6 → 119.10.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.
@@ -162,7 +162,6 @@ export { default as StubStorage } from './tests/StubStorage';
162
162
  export { default as SpyDevice } from './tests/SpyDevice';
163
163
  export { default as ViewControllerError } from './errors/SpruceError';
164
164
  export { default as normalizeFormSectionFieldNamesUtil } from './utilities/normalizeFieldNames.utility';
165
- export { default as feedInteractor } from './tests/utilities/feedInteractor';
166
165
  export { default as feedAssert } from './tests/utilities/feedAssert';
167
166
  export { default as vcAssertUtil } from './tests/utilities/vcAssert.utility';
168
167
  export { default as vcAssert } from './tests/utilities/vcAssert';
@@ -179,16 +178,18 @@ export { default as autocompleteAssert } from './tests/utilities/autocompleteAss
179
178
  export { default as formAssert } from './tests/utilities/formAssert';
180
179
  export { default as webRtcAssert } from './tests/utilities/webRtcAssert';
181
180
  export * from './tests/utilities/webRtcAssert';
182
- export { default as webRtcInteractor } from './tests/utilities/webRtcInteractor';
183
181
  export { default as generateCropPointValues } from './tests/utilities/generateCropPointValues';
182
+ export { default as progressNavigatorAssert } from './tests/utilities/progressNavigatorAssert';
183
+ export { default as chartAssert } from './tests/utilities/chartAssert';
184
184
  export { default as autocompleteInteractor } from './tests/utilities/autocompleteInteractor';
185
185
  export { normalizeScopeFromVc } from './tests/utilities/vcAssert';
186
186
  export { default as interactor } from './tests/utilities/interactor';
187
187
  export { default as calendarInteractor } from './tests/utilities/calendarInteractor';
188
188
  export { default as countdownTimerAssert } from './tests/utilities/countdownTimerAssert';
189
189
  export { default as countdownTimerInteractor } from './tests/utilities/countdownTimerInteractor';
190
- export { default as progressNavigatorAssert } from './tests/utilities/progressNavigatorAssert';
191
- export { default as chartAssert } from './tests/utilities/chartAssert';
190
+ export { default as feedInteractor } from './tests/utilities/feedInteractor';
191
+ export { default as webRtcInteractor } from './tests/utilities/webRtcInteractor';
192
+ export { default as talkingSprucebotInteractor } from './tests/utilities/talkingSprucebotInteractor';
192
193
  export { default as interactionUtil } from './tests/utilities/interaction.utility';
193
194
  export { default as calendarSeeder } from './tests/utilities/calendarSeeder';
194
195
  export { default as confirmTestPatcher } from './tests/utilities/confirmTestPatcher';
@@ -161,7 +161,6 @@ export { default as StubStorage } from './tests/StubStorage.js';
161
161
  export { default as SpyDevice } from './tests/SpyDevice.js';
162
162
  export { default as ViewControllerError } from './errors/SpruceError.js';
163
163
  export { default as normalizeFormSectionFieldNamesUtil } from './utilities/normalizeFieldNames.utility.js';
164
- export { default as feedInteractor } from './tests/utilities/feedInteractor.js';
165
164
  export { default as feedAssert } from './tests/utilities/feedAssert.js';
166
165
  export { default as vcAssertUtil } from './tests/utilities/vcAssert.utility.js';
167
166
  export { default as vcAssert } from './tests/utilities/vcAssert.js';
@@ -178,16 +177,18 @@ export { default as autocompleteAssert } from './tests/utilities/autocompleteAss
178
177
  export { default as formAssert } from './tests/utilities/formAssert.js';
179
178
  export { default as webRtcAssert } from './tests/utilities/webRtcAssert.js';
180
179
  export * from './tests/utilities/webRtcAssert.js';
181
- export { default as webRtcInteractor } from './tests/utilities/webRtcInteractor.js';
182
180
  export { default as generateCropPointValues } from './tests/utilities/generateCropPointValues.js';
181
+ export { default as progressNavigatorAssert } from './tests/utilities/progressNavigatorAssert.js';
182
+ export { default as chartAssert } from './tests/utilities/chartAssert.js';
183
183
  export { default as autocompleteInteractor } from './tests/utilities/autocompleteInteractor.js';
184
184
  export { normalizeScopeFromVc } from './tests/utilities/vcAssert.js';
185
185
  export { default as interactor } from './tests/utilities/interactor.js';
186
186
  export { default as calendarInteractor } from './tests/utilities/calendarInteractor.js';
187
187
  export { default as countdownTimerAssert } from './tests/utilities/countdownTimerAssert.js';
188
188
  export { default as countdownTimerInteractor } from './tests/utilities/countdownTimerInteractor.js';
189
- export { default as progressNavigatorAssert } from './tests/utilities/progressNavigatorAssert.js';
190
- export { default as chartAssert } from './tests/utilities/chartAssert.js';
189
+ export { default as feedInteractor } from './tests/utilities/feedInteractor.js';
190
+ export { default as webRtcInteractor } from './tests/utilities/webRtcInteractor.js';
191
+ export { default as talkingSprucebotInteractor } from './tests/utilities/talkingSprucebotInteractor.js';
191
192
  export { default as interactionUtil } from './tests/utilities/interaction.utility.js';
192
193
  export { default as calendarSeeder } from './tests/utilities/calendarSeeder.js';
193
194
  export { default as confirmTestPatcher } from './tests/utilities/confirmTestPatcher.js';
@@ -0,0 +1,5 @@
1
+ import { ViewController, TalkingSprucebot } from '../../types/heartwood.types';
2
+ declare const talkingSprucebotInteractor: {
3
+ simulateOnComplete(talkingVc: ViewController<TalkingSprucebot>): Promise<void>;
4
+ };
5
+ export default talkingSprucebotInteractor;
@@ -0,0 +1,23 @@
1
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
+ return new (P || (P = Promise))(function (resolve, reject) {
4
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
8
+ });
9
+ };
10
+ import { assertOptions } from '@sprucelabs/schema';
11
+ import { assert } from '@sprucelabs/test-utils';
12
+ import renderUtil from '../../utilities/render.utility.js';
13
+ const talkingSprucebotInteractor = {
14
+ simulateOnComplete(talkingVc) {
15
+ return __awaiter(this, void 0, void 0, function* () {
16
+ assertOptions({ talkingVc }, ['talkingVc']);
17
+ const model = renderUtil.render(talkingVc);
18
+ assert.isTruthy(model.onComplete, `I could not simulate an onComplete for your talking Sprucebot because there is no onComplete set.`);
19
+ yield model.onComplete();
20
+ });
21
+ },
22
+ };
23
+ export default talkingSprucebotInteractor;
@@ -253,6 +253,7 @@ export type Form<S extends Schema = any> = SpruceSchemas.HeartwoodViewController
253
253
  export type WebRtcPlayer = SpruceSchemas.HeartwoodViewControllers.v2021_02_11.WebRtcPlayer;
254
254
  export type StatusIndicator = SpruceSchemas.HeartwoodViewControllers.v2021_02_11.StatusIndicator;
255
255
  export type StatusIndicatorStatus = NonNullable<StatusIndicator['status']>;
256
+ export type TalkingSprucebot = SpruceSchemas.HeartwoodViewControllers.v2021_02_11.TalkingSprucebot;
256
257
  export type NavigationRoute = SpruceSchemas.HeartwoodViewControllers.v2021_02_11.NavigationRoute;
257
258
  export type LayoutStyle = NonNullable<SpruceSchemas.HeartwoodViewControllers.v2021_02_11.SkillView['layout']>;
258
259
  export type ListColumnWidth = NonNullable<List['columnWidths']>[number];
@@ -1,7 +1,7 @@
1
1
  import { SpruceSchemas } from '@sprucelabs/mercury-types';
2
- import { ViewController, ViewControllerOptions } from '../types/heartwood.types';
2
+ import { TalkingSprucebot, ViewController, ViewControllerOptions } from '../types/heartwood.types';
3
3
  import AbstractViewController from './Abstract.vc';
4
- export default class TalkingSprucebotViewController extends AbstractViewController<ViewModel> implements ViewController<ViewModel> {
4
+ export default class TalkingSprucebotViewController extends AbstractViewController<TalkingSprucebot> implements ViewController<TalkingSprucebot> {
5
5
  private model;
6
6
  private playResolver?;
7
7
  constructor(options: TalkingSprucebotViewControllerOptions & ViewControllerOptions);
@@ -14,10 +14,8 @@ export default class TalkingSprucebotViewController extends AbstractViewControll
14
14
  pause(): void;
15
15
  getIsPlaying(): boolean;
16
16
  setSentences(sentences: Sentence[]): void;
17
- render(): ViewModel;
17
+ render(): TalkingSprucebot;
18
18
  }
19
- type ViewModel = SpruceSchemas.HeartwoodViewControllers.v2021_02_11.TalkingSprucebot;
20
19
  export type Sentence = SpruceSchemas.HeartwoodViewControllers.v2021_02_11.SprucebotTypedMessageSentence;
21
- export interface TalkingSprucebotViewControllerOptions extends ViewModel {
20
+ export interface TalkingSprucebotViewControllerOptions extends TalkingSprucebot {
22
21
  }
23
- export {};
@@ -17,6 +17,7 @@ export default class TalkingSprucebotViewController extends AbstractViewControll
17
17
  throw new SchemaError({
18
18
  code: 'MISSING_PARAMETERS',
19
19
  parameters: ['sentences'],
20
+ friendlyMessage: 'You must provide at least one sentence with words for the Talking Sprucebot.',
20
21
  });
21
22
  }
22
23
  this.model = Object.assign({ avatar: {
@@ -58,7 +59,6 @@ export default class TalkingSprucebotViewController extends AbstractViewControll
58
59
  this.triggerRender();
59
60
  }
60
61
  render() {
61
- //@ts-ignore
62
62
  return Object.assign(Object.assign({}, this.model), { controller: this });
63
63
  }
64
64
  }
package/build/index.d.ts CHANGED
@@ -162,7 +162,6 @@ export { default as StubStorage } from './tests/StubStorage';
162
162
  export { default as SpyDevice } from './tests/SpyDevice';
163
163
  export { default as ViewControllerError } from './errors/SpruceError';
164
164
  export { default as normalizeFormSectionFieldNamesUtil } from './utilities/normalizeFieldNames.utility';
165
- export { default as feedInteractor } from './tests/utilities/feedInteractor';
166
165
  export { default as feedAssert } from './tests/utilities/feedAssert';
167
166
  export { default as vcAssertUtil } from './tests/utilities/vcAssert.utility';
168
167
  export { default as vcAssert } from './tests/utilities/vcAssert';
@@ -179,16 +178,18 @@ export { default as autocompleteAssert } from './tests/utilities/autocompleteAss
179
178
  export { default as formAssert } from './tests/utilities/formAssert';
180
179
  export { default as webRtcAssert } from './tests/utilities/webRtcAssert';
181
180
  export * from './tests/utilities/webRtcAssert';
182
- export { default as webRtcInteractor } from './tests/utilities/webRtcInteractor';
183
181
  export { default as generateCropPointValues } from './tests/utilities/generateCropPointValues';
182
+ export { default as progressNavigatorAssert } from './tests/utilities/progressNavigatorAssert';
183
+ export { default as chartAssert } from './tests/utilities/chartAssert';
184
184
  export { default as autocompleteInteractor } from './tests/utilities/autocompleteInteractor';
185
185
  export { normalizeScopeFromVc } from './tests/utilities/vcAssert';
186
186
  export { default as interactor } from './tests/utilities/interactor';
187
187
  export { default as calendarInteractor } from './tests/utilities/calendarInteractor';
188
188
  export { default as countdownTimerAssert } from './tests/utilities/countdownTimerAssert';
189
189
  export { default as countdownTimerInteractor } from './tests/utilities/countdownTimerInteractor';
190
- export { default as progressNavigatorAssert } from './tests/utilities/progressNavigatorAssert';
191
- export { default as chartAssert } from './tests/utilities/chartAssert';
190
+ export { default as feedInteractor } from './tests/utilities/feedInteractor';
191
+ export { default as webRtcInteractor } from './tests/utilities/webRtcInteractor';
192
+ export { default as talkingSprucebotInteractor } from './tests/utilities/talkingSprucebotInteractor';
192
193
  export { default as interactionUtil } from './tests/utilities/interaction.utility';
193
194
  export { default as calendarSeeder } from './tests/utilities/calendarSeeder';
194
195
  export { default as confirmTestPatcher } from './tests/utilities/confirmTestPatcher';
package/build/index.js CHANGED
@@ -19,8 +19,8 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
19
19
  Object.defineProperty(exports, "__esModule", { value: true });
20
20
  exports.WebRtcConnectionImpl = exports.MockRtcPeerConnection = exports.WebRtcStreamerImpl = exports.buildSkillView = exports.buildForm = exports.buildBigForm = exports.AuthenticatorImpl = exports.PolarAreaViewController = exports.SpyViewControllerExporter = exports.lockScreenAssert = exports.MockActiveRecordCard = exports.activeRecordCardAssert = exports.buildActiveRecordList = exports.buildActiveRecordCard = exports.AbstractInputViewController = exports.AutocompleteInputViewController = exports.AbstractCalendarEventViewController = exports.RatingsViewController = exports.ProgressViewController = exports.StatsViewController = exports.FeedViewController = exports.ActiveRecordListViewController = exports.ActiveRecordCardViewController = exports.TalkingSprucebotViewController = exports.ButtonBarViewController = exports.CalendarViewController = exports.SwipeCardViewControllerImpl = exports.SwipeViewControllerImpl = exports.WebRtcPlayerViewController = exports.PagerViewController = exports.ProgressNavigatorViewController = exports.CountdownTimerViewController = exports.FormBuilderCardViewControllerImpl = exports.LoginViewController = exports.LineGraphViewController = exports.BarChartViewController = exports.ToolBeltViewController = exports.FormViewControllerImpl = exports.ListCellViewController = exports.ListRowViewController = exports.ListViewController = exports.NavigationViewController = exports.LockScreenSkillViewController = exports.DialogViewController = exports.ConfirmViewController = exports.CardViewControllerImpl = exports.ButtonGroupViewController = exports.AbstractAppController = exports.AbstractViewController = exports.AbstractSkillViewController = void 0;
21
21
  exports.buttonBarButtonSchema = exports.buttonBarSchema = exports.toolBeltToolSchema = exports.toolBeltSchema = exports.calendarTimeSchema = exports.calendarPersonSchema = exports.calendarSchema = exports.themePropsSchema = exports.themeSchema = exports.cardFooterButtonSchema = exports.criticalErrorSchema = exports.sprucebotTypedMessageSentenceSchema = exports.sprucebotTypedMessageAvatarSchema = exports.selectInputChoiceSchema = exports.calendarEventColorOverrideSchema = exports.portalSchema = exports.listTextInputSchema = exports.listSelectInputSchema = exports.listCellButtonSchema = exports.dropdownButtonSchema = exports.bigFormSectionSchema = exports.textInputSchema = exports.phoneInputSchema = exports.inputSchema = exports.dropdownSchema = exports.sprucebotTypedMessageSchema = exports.talkingSprucebotSchema = exports.sprucebotAvatarSchema = exports.formBuilderImportExportObjectSchema = exports.listCellSchema = exports.listRowSchema = exports.listSchema = exports.layoutSchema = exports.cardSectionSchema = exports.cardHeaderSchema = exports.cardFooterSchema = exports.cardBodySchema = exports.cardSchema = exports.formSectionSchema = exports.formSchema = exports.textSchema = exports.lockScreenSchema = exports.dialogSchema = exports.buttonSchema = exports.lineIconSchema = exports.fancyIconSchema = exports.selectInputSchema = exports.skillViewSchema = exports.bigFormSchema = exports.calendarEventColorsSchema = void 0;
22
- exports.navigationAssert = exports.toolBeltAssert = exports.toastAssert = exports.vcPluginAssert = exports.vcDurationAssert = exports.pagerAssert = exports.vcAssert = exports.vcAssertUtil = exports.feedAssert = exports.feedInteractor = exports.normalizeFormSectionFieldNamesUtil = exports.ViewControllerError = exports.SpyDevice = exports.StubStorage = exports.ViewControllerFactory = exports.ViewControllerImporter = exports.ViewControllerExporter = exports.statusIndicatorColorsSchema = exports.statusIndicatorSchema = exports.webRtcCropPointSchema = exports.webRtcPlayerSchema = exports.pagerSchema = exports.polarAreaDataItemSchema = exports.polarAreaSchema = exports.inputButtonSchema = exports.mapPinSchema = exports.mapSchema = exports.latLngSchema = exports.formBuilderImportExportPageSchema = exports.autocompleteSuggestionSchema = exports.autocompleteInputSchema = exports.feedSchema = exports.calendarShiftSchema = exports.receiptTotalSchema = exports.receiptSectionSchema = exports.receiptLineItemSchema = exports.receiptHeaderSchema = exports.receiptSchema = exports.listDateInputSchema = exports.calendarSelectedDateSchema = exports.calendarEventSchema = exports.ratingsInputSchema = exports.listRatingsInputSchema = exports.ratingsSchema = exports.progressSchema = exports.statsStatSchema = exports.statsSchema = exports.toggleInputSchema = exports.listToggleInputSchema = exports.addressInputSchema = void 0;
23
- exports.navigationRouteSchema = exports.routerDestinationSchema = exports.navigationDropdownButtonSchema = exports.navigationButtonDropdownSchema = exports.chartDataSetSchema = exports.chartDataPointSchema = exports.lineGraphSchema = exports.barChartSchema = exports.progressDetailsSchema = exports.progressNavigatorStepSchema = exports.progressNavigatorSchema = exports.countdownTimerSchema = exports.permissionContractReferenceSchema = exports.navigationButtonSchema = exports.navigationSchema = exports.ToolBeltStateMachine = exports.removeUniversalViewOptions = exports.buildSkillViewLayout = exports.splitCardsIntoLayouts = exports.listUtil = exports.mapInteractor = exports.mapAssert = exports.renderUtil = exports.routerTestPatcher = exports.dialogTestPatcher = exports.confirmTestPatcher = exports.calendarSeeder = exports.interactionUtil = exports.chartAssert = exports.progressNavigatorAssert = exports.countdownTimerInteractor = exports.countdownTimerAssert = exports.calendarInteractor = exports.interactor = exports.normalizeScopeFromVc = exports.autocompleteInteractor = exports.generateCropPointValues = exports.webRtcInteractor = exports.webRtcAssert = exports.formAssert = exports.autocompleteAssert = exports.listAssert = exports.buttonAssert = exports.deviceAssert = void 0;
22
+ exports.deviceAssert = exports.navigationAssert = exports.toolBeltAssert = exports.toastAssert = exports.vcPluginAssert = exports.vcDurationAssert = exports.pagerAssert = exports.vcAssert = exports.vcAssertUtil = exports.feedAssert = exports.normalizeFormSectionFieldNamesUtil = exports.ViewControllerError = exports.SpyDevice = exports.StubStorage = exports.ViewControllerFactory = exports.ViewControllerImporter = exports.ViewControllerExporter = exports.statusIndicatorColorsSchema = exports.statusIndicatorSchema = exports.webRtcCropPointSchema = exports.webRtcPlayerSchema = exports.pagerSchema = exports.polarAreaDataItemSchema = exports.polarAreaSchema = exports.inputButtonSchema = exports.mapPinSchema = exports.mapSchema = exports.latLngSchema = exports.formBuilderImportExportPageSchema = exports.autocompleteSuggestionSchema = exports.autocompleteInputSchema = exports.feedSchema = exports.calendarShiftSchema = exports.receiptTotalSchema = exports.receiptSectionSchema = exports.receiptLineItemSchema = exports.receiptHeaderSchema = exports.receiptSchema = exports.listDateInputSchema = exports.calendarSelectedDateSchema = exports.calendarEventSchema = exports.ratingsInputSchema = exports.listRatingsInputSchema = exports.ratingsSchema = exports.progressSchema = exports.statsStatSchema = exports.statsSchema = exports.toggleInputSchema = exports.listToggleInputSchema = exports.addressInputSchema = void 0;
23
+ exports.navigationRouteSchema = exports.routerDestinationSchema = exports.navigationDropdownButtonSchema = exports.navigationButtonDropdownSchema = exports.chartDataSetSchema = exports.chartDataPointSchema = exports.lineGraphSchema = exports.barChartSchema = exports.progressDetailsSchema = exports.progressNavigatorStepSchema = exports.progressNavigatorSchema = exports.countdownTimerSchema = exports.permissionContractReferenceSchema = exports.navigationButtonSchema = exports.navigationSchema = exports.ToolBeltStateMachine = exports.removeUniversalViewOptions = exports.buildSkillViewLayout = exports.splitCardsIntoLayouts = exports.listUtil = exports.mapInteractor = exports.mapAssert = exports.renderUtil = exports.routerTestPatcher = exports.dialogTestPatcher = exports.confirmTestPatcher = exports.calendarSeeder = exports.interactionUtil = exports.talkingSprucebotInteractor = exports.webRtcInteractor = exports.feedInteractor = exports.countdownTimerInteractor = exports.countdownTimerAssert = exports.calendarInteractor = exports.interactor = exports.normalizeScopeFromVc = exports.autocompleteInteractor = exports.chartAssert = exports.progressNavigatorAssert = exports.generateCropPointValues = exports.webRtcAssert = exports.formAssert = exports.autocompleteAssert = exports.listAssert = exports.buttonAssert = void 0;
24
24
  __exportStar(require("./constants"), exports);
25
25
  __exportStar(require("./types/heartwood.types"), exports);
26
26
  __exportStar(require("./utilities/removeUniversalViewOptions"), exports);
@@ -324,8 +324,6 @@ var SpruceError_1 = require("./errors/SpruceError");
324
324
  Object.defineProperty(exports, "ViewControllerError", { enumerable: true, get: function () { return __importDefault(SpruceError_1).default; } });
325
325
  var normalizeFieldNames_utility_1 = require("./utilities/normalizeFieldNames.utility");
326
326
  Object.defineProperty(exports, "normalizeFormSectionFieldNamesUtil", { enumerable: true, get: function () { return __importDefault(normalizeFieldNames_utility_1).default; } });
327
- var feedInteractor_1 = require("./tests/utilities/feedInteractor");
328
- Object.defineProperty(exports, "feedInteractor", { enumerable: true, get: function () { return __importDefault(feedInteractor_1).default; } });
329
327
  var feedAssert_1 = require("./tests/utilities/feedAssert");
330
328
  Object.defineProperty(exports, "feedAssert", { enumerable: true, get: function () { return __importDefault(feedAssert_1).default; } });
331
329
  var vcAssert_utility_1 = require("./tests/utilities/vcAssert.utility");
@@ -357,10 +355,12 @@ Object.defineProperty(exports, "formAssert", { enumerable: true, get: function (
357
355
  var webRtcAssert_1 = require("./tests/utilities/webRtcAssert");
358
356
  Object.defineProperty(exports, "webRtcAssert", { enumerable: true, get: function () { return __importDefault(webRtcAssert_1).default; } });
359
357
  __exportStar(require("./tests/utilities/webRtcAssert"), exports);
360
- var webRtcInteractor_1 = require("./tests/utilities/webRtcInteractor");
361
- Object.defineProperty(exports, "webRtcInteractor", { enumerable: true, get: function () { return __importDefault(webRtcInteractor_1).default; } });
362
358
  var generateCropPointValues_1 = require("./tests/utilities/generateCropPointValues");
363
359
  Object.defineProperty(exports, "generateCropPointValues", { enumerable: true, get: function () { return __importDefault(generateCropPointValues_1).default; } });
360
+ var progressNavigatorAssert_1 = require("./tests/utilities/progressNavigatorAssert");
361
+ Object.defineProperty(exports, "progressNavigatorAssert", { enumerable: true, get: function () { return __importDefault(progressNavigatorAssert_1).default; } });
362
+ var chartAssert_1 = require("./tests/utilities/chartAssert");
363
+ Object.defineProperty(exports, "chartAssert", { enumerable: true, get: function () { return __importDefault(chartAssert_1).default; } });
364
364
  var autocompleteInteractor_1 = require("./tests/utilities/autocompleteInteractor");
365
365
  Object.defineProperty(exports, "autocompleteInteractor", { enumerable: true, get: function () { return __importDefault(autocompleteInteractor_1).default; } });
366
366
  var vcAssert_2 = require("./tests/utilities/vcAssert");
@@ -373,10 +373,12 @@ var countdownTimerAssert_1 = require("./tests/utilities/countdownTimerAssert");
373
373
  Object.defineProperty(exports, "countdownTimerAssert", { enumerable: true, get: function () { return __importDefault(countdownTimerAssert_1).default; } });
374
374
  var countdownTimerInteractor_1 = require("./tests/utilities/countdownTimerInteractor");
375
375
  Object.defineProperty(exports, "countdownTimerInteractor", { enumerable: true, get: function () { return __importDefault(countdownTimerInteractor_1).default; } });
376
- var progressNavigatorAssert_1 = require("./tests/utilities/progressNavigatorAssert");
377
- Object.defineProperty(exports, "progressNavigatorAssert", { enumerable: true, get: function () { return __importDefault(progressNavigatorAssert_1).default; } });
378
- var chartAssert_1 = require("./tests/utilities/chartAssert");
379
- Object.defineProperty(exports, "chartAssert", { enumerable: true, get: function () { return __importDefault(chartAssert_1).default; } });
376
+ var feedInteractor_1 = require("./tests/utilities/feedInteractor");
377
+ Object.defineProperty(exports, "feedInteractor", { enumerable: true, get: function () { return __importDefault(feedInteractor_1).default; } });
378
+ var webRtcInteractor_1 = require("./tests/utilities/webRtcInteractor");
379
+ Object.defineProperty(exports, "webRtcInteractor", { enumerable: true, get: function () { return __importDefault(webRtcInteractor_1).default; } });
380
+ var talkingSprucebotInteractor_1 = require("./tests/utilities/talkingSprucebotInteractor");
381
+ Object.defineProperty(exports, "talkingSprucebotInteractor", { enumerable: true, get: function () { return __importDefault(talkingSprucebotInteractor_1).default; } });
380
382
  var interaction_utility_1 = require("./tests/utilities/interaction.utility");
381
383
  Object.defineProperty(exports, "interactionUtil", { enumerable: true, get: function () { return __importDefault(interaction_utility_1).default; } });
382
384
  var calendarSeeder_1 = require("./tests/utilities/calendarSeeder");
@@ -0,0 +1,5 @@
1
+ import { ViewController, TalkingSprucebot } from '../../types/heartwood.types';
2
+ declare const talkingSprucebotInteractor: {
3
+ simulateOnComplete(talkingVc: ViewController<TalkingSprucebot>): Promise<void>;
4
+ };
5
+ export default talkingSprucebotInteractor;
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const schema_1 = require("@sprucelabs/schema");
7
+ const test_utils_1 = require("@sprucelabs/test-utils");
8
+ const render_utility_1 = __importDefault(require("../../utilities/render.utility"));
9
+ const talkingSprucebotInteractor = {
10
+ async simulateOnComplete(talkingVc) {
11
+ (0, schema_1.assertOptions)({ talkingVc }, ['talkingVc']);
12
+ const model = render_utility_1.default.render(talkingVc);
13
+ test_utils_1.assert.isTruthy(model.onComplete, `I could not simulate an onComplete for your talking Sprucebot because there is no onComplete set.`);
14
+ await model.onComplete();
15
+ },
16
+ };
17
+ exports.default = talkingSprucebotInteractor;
@@ -253,6 +253,7 @@ export type Form<S extends Schema = any> = SpruceSchemas.HeartwoodViewController
253
253
  export type WebRtcPlayer = SpruceSchemas.HeartwoodViewControllers.v2021_02_11.WebRtcPlayer;
254
254
  export type StatusIndicator = SpruceSchemas.HeartwoodViewControllers.v2021_02_11.StatusIndicator;
255
255
  export type StatusIndicatorStatus = NonNullable<StatusIndicator['status']>;
256
+ export type TalkingSprucebot = SpruceSchemas.HeartwoodViewControllers.v2021_02_11.TalkingSprucebot;
256
257
  export type NavigationRoute = SpruceSchemas.HeartwoodViewControllers.v2021_02_11.NavigationRoute;
257
258
  export type LayoutStyle = NonNullable<SpruceSchemas.HeartwoodViewControllers.v2021_02_11.SkillView['layout']>;
258
259
  export type ListColumnWidth = NonNullable<List['columnWidths']>[number];
@@ -1,7 +1,7 @@
1
1
  import { SpruceSchemas } from '@sprucelabs/mercury-types';
2
- import { ViewController, ViewControllerOptions } from '../types/heartwood.types';
2
+ import { TalkingSprucebot, ViewController, ViewControllerOptions } from '../types/heartwood.types';
3
3
  import AbstractViewController from './Abstract.vc';
4
- export default class TalkingSprucebotViewController extends AbstractViewController<ViewModel> implements ViewController<ViewModel> {
4
+ export default class TalkingSprucebotViewController extends AbstractViewController<TalkingSprucebot> implements ViewController<TalkingSprucebot> {
5
5
  private model;
6
6
  private playResolver?;
7
7
  constructor(options: TalkingSprucebotViewControllerOptions & ViewControllerOptions);
@@ -14,10 +14,8 @@ export default class TalkingSprucebotViewController extends AbstractViewControll
14
14
  pause(): void;
15
15
  getIsPlaying(): boolean;
16
16
  setSentences(sentences: Sentence[]): void;
17
- render(): ViewModel;
17
+ render(): TalkingSprucebot;
18
18
  }
19
- type ViewModel = SpruceSchemas.HeartwoodViewControllers.v2021_02_11.TalkingSprucebot;
20
19
  export type Sentence = SpruceSchemas.HeartwoodViewControllers.v2021_02_11.SprucebotTypedMessageSentence;
21
- export interface TalkingSprucebotViewControllerOptions extends ViewModel {
20
+ export interface TalkingSprucebotViewControllerOptions extends TalkingSprucebot {
22
21
  }
23
- export {};
@@ -12,6 +12,7 @@ class TalkingSprucebotViewController extends Abstract_vc_1.default {
12
12
  throw new schema_1.SchemaError({
13
13
  code: 'MISSING_PARAMETERS',
14
14
  parameters: ['sentences'],
15
+ friendlyMessage: 'You must provide at least one sentence with words for the Talking Sprucebot.',
15
16
  });
16
17
  }
17
18
  this.model = {
@@ -52,7 +53,6 @@ class TalkingSprucebotViewController extends Abstract_vc_1.default {
52
53
  this.triggerRender();
53
54
  }
54
55
  render() {
55
- //@ts-ignore
56
56
  return { ...this.model, controller: this };
57
57
  }
58
58
  }
package/package.json CHANGED
@@ -13,7 +13,7 @@
13
13
  "sideEffects": false,
14
14
  "license": "MIT",
15
15
  "description": "All the power of Heartwood in one, convenient package.",
16
- "version": "119.9.6",
16
+ "version": "119.10.0",
17
17
  "skill": {
18
18
  "namespace": "HeartwoodViewControllers",
19
19
  "commandOverrides": {