@sprucelabs/heartwood-view-controllers 118.0.26 → 118.0.27

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.
Files changed (35) hide show
  1. package/build/.spruce/schemas/heartwoodViewControllers/v2021_02_11/cardSection.schema.js +2 -2
  2. package/build/.spruce/schemas/schemas.types.d.ts +3 -3
  3. package/build/esm/.spruce/schemas/heartwoodViewControllers/v2021_02_11/cardSection.schema.js +2 -2
  4. package/build/esm/.spruce/schemas/schemas.types.d.ts +3 -3
  5. package/build/esm/index.d.ts +1 -0
  6. package/build/esm/index.js +1 -0
  7. package/build/esm/schemas/v2021_02_11/cards/card.builder.d.ts +1 -1
  8. package/build/esm/schemas/v2021_02_11/cards/cardBody.builder.d.ts +1 -1
  9. package/build/esm/schemas/v2021_02_11/cards/cardSection.builder.d.ts +1 -1
  10. package/build/esm/schemas/v2021_02_11/cards/cardSection.builder.js +2 -2
  11. package/build/esm/schemas/v2021_02_11/dialog.builder.d.ts +1 -1
  12. package/build/esm/schemas/v2021_02_11/layout.builder.d.ts +1 -1
  13. package/build/esm/schemas/v2021_02_11/lockScreen.builder.d.ts +1 -1
  14. package/build/esm/schemas/v2021_02_11/skillView.builder.d.ts +1 -1
  15. package/build/esm/schemas/v2021_02_11/toolBelt.builder.d.ts +1 -1
  16. package/build/esm/tests/utilities/webRtcAssert.d.ts +6 -0
  17. package/build/esm/tests/utilities/webRtcAssert.js +22 -0
  18. package/build/esm/viewControllers/webRtcStreaming/WebRtcPlayer.vc.d.ts +1 -1
  19. package/build/esm/viewControllers/webRtcStreaming/WebRtcPlayer.vc.js +6 -10
  20. package/build/index.d.ts +1 -0
  21. package/build/index.js +3 -1
  22. package/build/schemas/v2021_02_11/cards/card.builder.d.ts +1 -1
  23. package/build/schemas/v2021_02_11/cards/cardBody.builder.d.ts +1 -1
  24. package/build/schemas/v2021_02_11/cards/cardSection.builder.d.ts +1 -1
  25. package/build/schemas/v2021_02_11/cards/cardSection.builder.js +2 -2
  26. package/build/schemas/v2021_02_11/dialog.builder.d.ts +1 -1
  27. package/build/schemas/v2021_02_11/layout.builder.d.ts +1 -1
  28. package/build/schemas/v2021_02_11/lockScreen.builder.d.ts +1 -1
  29. package/build/schemas/v2021_02_11/skillView.builder.d.ts +1 -1
  30. package/build/schemas/v2021_02_11/toolBelt.builder.d.ts +1 -1
  31. package/build/tests/utilities/webRtcAssert.d.ts +6 -0
  32. package/build/tests/utilities/webRtcAssert.js +27 -0
  33. package/build/viewControllers/webRtcStreaming/WebRtcPlayer.vc.d.ts +1 -1
  34. package/build/viewControllers/webRtcStreaming/WebRtcPlayer.vc.js +8 -9
  35. package/package.json +1 -1
@@ -217,9 +217,9 @@ const cardSectionSchema = {
217
217
  options: { schema: portal_schema_1.default, }
218
218
  },
219
219
  /** . */
220
- 'webRtcStreamer': {
220
+ 'webRtcPlayer': {
221
221
  type: 'raw',
222
- options: { valueType: `HeartwoodTypes.WebRtcStreamer`, }
222
+ options: { valueType: `HeartwoodTypes.WebRtcPlayer`, }
223
223
  },
224
224
  /** Alignment. */
225
225
  'alignment': {
@@ -7147,7 +7147,7 @@ declare module '@sprucelabs/spruce-core-schemas/build/.spruce/schemas/core.schem
7147
7147
  'gridSize'?: ("small" | "medium" | "large") | undefined | null;
7148
7148
  /** . Will render content in an iframe in the body of the card. */
7149
7149
  'portal'?: SpruceSchemas.HeartwoodViewControllers.v2021_02_11.Portal | undefined | null;
7150
- 'webRtcStreamer'?: (HeartwoodTypes.WebRtcStreamer) | undefined | null;
7150
+ 'webRtcPlayer'?: (HeartwoodTypes.WebRtcPlayer) | undefined | null;
7151
7151
  /** Alignment. */
7152
7152
  'alignment'?: ("left" | "center" | "right") | undefined | null;
7153
7153
  }
@@ -7399,10 +7399,10 @@ declare module '@sprucelabs/spruce-core-schemas/build/.spruce/schemas/core.schem
7399
7399
  };
7400
7400
  };
7401
7401
  /** . */
7402
- 'webRtcStreamer': {
7402
+ 'webRtcPlayer': {
7403
7403
  type: 'raw';
7404
7404
  options: {
7405
- valueType: `HeartwoodTypes.WebRtcStreamer`;
7405
+ valueType: `HeartwoodTypes.WebRtcPlayer`;
7406
7406
  };
7407
7407
  };
7408
7408
  /** Alignment. */
@@ -212,9 +212,9 @@ const cardSectionSchema = {
212
212
  options: { schema: portalSchema_v2021_02_11, }
213
213
  },
214
214
  /** . */
215
- 'webRtcStreamer': {
215
+ 'webRtcPlayer': {
216
216
  type: 'raw',
217
- options: { valueType: `HeartwoodTypes.WebRtcStreamer`, }
217
+ options: { valueType: `HeartwoodTypes.WebRtcPlayer`, }
218
218
  },
219
219
  /** Alignment. */
220
220
  'alignment': {
@@ -7147,7 +7147,7 @@ declare module '@sprucelabs/spruce-core-schemas/build/.spruce/schemas/core.schem
7147
7147
  'gridSize'?: ("small" | "medium" | "large") | undefined | null;
7148
7148
  /** . Will render content in an iframe in the body of the card. */
7149
7149
  'portal'?: SpruceSchemas.HeartwoodViewControllers.v2021_02_11.Portal | undefined | null;
7150
- 'webRtcStreamer'?: (HeartwoodTypes.WebRtcStreamer) | undefined | null;
7150
+ 'webRtcPlayer'?: (HeartwoodTypes.WebRtcPlayer) | undefined | null;
7151
7151
  /** Alignment. */
7152
7152
  'alignment'?: ("left" | "center" | "right") | undefined | null;
7153
7153
  }
@@ -7399,10 +7399,10 @@ declare module '@sprucelabs/spruce-core-schemas/build/.spruce/schemas/core.schem
7399
7399
  };
7400
7400
  };
7401
7401
  /** . */
7402
- 'webRtcStreamer': {
7402
+ 'webRtcPlayer': {
7403
7403
  type: 'raw';
7404
7404
  options: {
7405
- valueType: `HeartwoodTypes.WebRtcStreamer`;
7405
+ valueType: `HeartwoodTypes.WebRtcPlayer`;
7406
7406
  };
7407
7407
  };
7408
7408
  /** Alignment. */
@@ -173,6 +173,7 @@ export { default as buttonAssert } from './tests/utilities/buttonAssert';
173
173
  export { default as listAssert } from './tests/utilities/listAssert';
174
174
  export { default as autocompleteAssert } from './tests/utilities/autocompleteAssert';
175
175
  export { default as formAssert } from './tests/utilities/formAssert';
176
+ export { default as webRtcAssert } from './tests/utilities/webRtcAssert';
176
177
  export { default as autocompleteInteractor } from './tests/utilities/autocompleteInteractor';
177
178
  export { normalizeScopeFromVc } from './tests/utilities/vcAssert';
178
179
  export { default as interactor } from './tests/utilities/interactor';
@@ -172,6 +172,7 @@ export { default as buttonAssert } from './tests/utilities/buttonAssert.js';
172
172
  export { default as listAssert } from './tests/utilities/listAssert.js';
173
173
  export { default as autocompleteAssert } from './tests/utilities/autocompleteAssert.js';
174
174
  export { default as formAssert } from './tests/utilities/formAssert.js';
175
+ export { default as webRtcAssert } from './tests/utilities/webRtcAssert.js';
175
176
  export { default as autocompleteInteractor } from './tests/utilities/autocompleteInteractor.js';
176
177
  export { normalizeScopeFromVc } from './tests/utilities/vcAssert.js';
177
178
  export { default as interactor } from './tests/utilities/interactor.js';
@@ -29531,7 +29531,7 @@ declare const _default: {
29531
29531
  };
29532
29532
  };
29533
29533
  };
29534
- webRtcStreamer: {
29534
+ webRtcPlayer: {
29535
29535
  type: "raw";
29536
29536
  options: {
29537
29537
  valueType: string;
@@ -22495,7 +22495,7 @@ declare const _default: {
22495
22495
  };
22496
22496
  };
22497
22497
  };
22498
- webRtcStreamer: {
22498
+ webRtcPlayer: {
22499
22499
  type: "raw";
22500
22500
  options: {
22501
22501
  valueType: string;
@@ -22445,7 +22445,7 @@ declare const _default: {
22445
22445
  };
22446
22446
  };
22447
22447
  };
22448
- webRtcStreamer: {
22448
+ webRtcPlayer: {
22449
22449
  type: "raw";
22450
22450
  options: {
22451
22451
  valueType: string;
@@ -239,10 +239,10 @@ export default buildSchema({
239
239
  }),
240
240
  },
241
241
  },
242
- webRtcStreamer: {
242
+ webRtcPlayer: {
243
243
  type: 'raw',
244
244
  options: {
245
- valueType: 'HeartwoodTypes.WebRtcStreamer',
245
+ valueType: 'HeartwoodTypes.WebRtcPlayer',
246
246
  },
247
247
  },
248
248
  alignment: {
@@ -29562,7 +29562,7 @@ declare const _default: {
29562
29562
  };
29563
29563
  };
29564
29564
  };
29565
- webRtcStreamer: {
29565
+ webRtcPlayer: {
29566
29566
  type: "raw";
29567
29567
  options: {
29568
29568
  valueType: string;
@@ -29542,7 +29542,7 @@ declare const _default: {
29542
29542
  };
29543
29543
  };
29544
29544
  };
29545
- webRtcStreamer: {
29545
+ webRtcPlayer: {
29546
29546
  type: "raw";
29547
29547
  options: {
29548
29548
  valueType: string;
@@ -29587,7 +29587,7 @@ declare const _default: {
29587
29587
  };
29588
29588
  };
29589
29589
  };
29590
- webRtcStreamer: {
29590
+ webRtcPlayer: {
29591
29591
  type: "raw";
29592
29592
  options: {
29593
29593
  valueType: string;
@@ -29581,7 +29581,7 @@ declare const _default: {
29581
29581
  };
29582
29582
  };
29583
29583
  };
29584
- webRtcStreamer: {
29584
+ webRtcPlayer: {
29585
29585
  type: "raw";
29586
29586
  options: {
29587
29587
  valueType: string;
@@ -29603,7 +29603,7 @@ declare const _default: {
29603
29603
  };
29604
29604
  };
29605
29605
  };
29606
- webRtcStreamer: {
29606
+ webRtcPlayer: {
29607
29607
  type: "raw";
29608
29608
  options: {
29609
29609
  valueType: string;
@@ -0,0 +1,6 @@
1
+ import { ViewController, Card } from '../../types/heartwood.types';
2
+ import WebRtcPlayerViewController from '../../viewControllers/webRtcStreaming/WebRtcPlayer.vc';
3
+ declare const webRtcAssert: {
4
+ cardRendersPlayer: (vc: ViewController<Card>, id?: string) => WebRtcPlayerViewController;
5
+ };
6
+ export default webRtcAssert;
@@ -0,0 +1,22 @@
1
+ import { assertOptions } from '@sprucelabs/schema';
2
+ import { assert } from '@sprucelabs/test-utils';
3
+ import renderUtil from '../../utilities/render.utility.js';
4
+ import { pluckAllFromView } from './assertSupport.js';
5
+ const webRtcAssert = {
6
+ cardRendersPlayer: (vc, id) => {
7
+ assertOptions({ vc }, ['vc']);
8
+ const model = renderUtil.render(vc);
9
+ const players = pluckAllFromView(model, 'webRtcPlayer');
10
+ assert.isAbove(players.length, 0, `Your card is not rendering a webrtc player!. Try:\n\nthis.player = this.Controller('web-rtc-player', {})\nthis.cardVc = this.Controller('card', { webRtcPlayer: this.player.render() })`);
11
+ if (id) {
12
+ for (const player of players) {
13
+ if ((player === null || player === void 0 ? void 0 : player.id) === id) {
14
+ return player.controller;
15
+ }
16
+ }
17
+ assert.fail(`I could not find a webRtcPlayerViewController with the id: "${id}"`);
18
+ }
19
+ return players[0].controller;
20
+ },
21
+ };
22
+ export default webRtcAssert;
@@ -3,7 +3,7 @@ import { ViewControllerOptions, WebRtcPlayer } from '../../types/heartwood.types
3
3
  import { WebRtcStreamer } from '../../webRtcStreaming/WebRtcStreamer';
4
4
  export default class WebRtcPlayerViewController extends AbstractViewController<WebRtcPlayer> {
5
5
  static id: string;
6
- private streamer?;
6
+ private model;
7
7
  constructor(options: ViewControllerOptions & WebRtcPlayerOptions);
8
8
  setStreamer(streamer: WebRtcStreamer): void;
9
9
  createOffer(offerOptions: RTCOfferOptions): Promise<string>;
@@ -8,17 +8,16 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
8
8
  });
9
9
  };
10
10
  import { assertOptions } from '@sprucelabs/schema';
11
- import { AbstractViewController, WebRtcConnection } from '../../index.js';
11
+ import { AbstractViewController, removeUniversalViewOptions, WebRtcConnection, } from '../../index.js';
12
12
  import SpruceError from '../../errors/SpruceError.js';
13
13
  class WebRtcPlayerViewController extends AbstractViewController {
14
14
  constructor(options) {
15
15
  super(options);
16
- const { streamer } = options;
17
- this.streamer = streamer !== null && streamer !== void 0 ? streamer : undefined;
16
+ this.model = Object.assign(Object.assign({}, removeUniversalViewOptions(options)), { controller: this });
18
17
  }
19
18
  setStreamer(streamer) {
20
19
  assertOptions({ streamer }, ['streamer']);
21
- this.streamer = streamer;
20
+ this.model.streamer = streamer;
22
21
  this.triggerRender();
23
22
  }
24
23
  createOffer(offerOptions) {
@@ -32,19 +31,16 @@ class WebRtcPlayerViewController extends AbstractViewController {
32
31
  }
33
32
  setAnswer(answerSdp) {
34
33
  return __awaiter(this, void 0, void 0, function* () {
35
- if (!this.streamer) {
34
+ if (!this.model.streamer) {
36
35
  throw new SpruceError({
37
36
  code: 'DID_NOT_GENERATE_OFFER',
38
37
  });
39
38
  }
40
- yield this.streamer.setAnswer(answerSdp);
39
+ yield this.model.streamer.setAnswer(answerSdp);
41
40
  });
42
41
  }
43
42
  render() {
44
- return {
45
- streamer: this.streamer,
46
- controller: this,
47
- };
43
+ return this.model;
48
44
  }
49
45
  }
50
46
  WebRtcPlayerViewController.id = 'web-rtc-player-card';
package/build/index.d.ts CHANGED
@@ -173,6 +173,7 @@ export { default as buttonAssert } from './tests/utilities/buttonAssert';
173
173
  export { default as listAssert } from './tests/utilities/listAssert';
174
174
  export { default as autocompleteAssert } from './tests/utilities/autocompleteAssert';
175
175
  export { default as formAssert } from './tests/utilities/formAssert';
176
+ export { default as webRtcAssert } from './tests/utilities/webRtcAssert';
176
177
  export { default as autocompleteInteractor } from './tests/utilities/autocompleteInteractor';
177
178
  export { normalizeScopeFromVc } from './tests/utilities/vcAssert';
178
179
  export { default as interactor } from './tests/utilities/interactor';
package/build/index.js CHANGED
@@ -20,7 +20,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
20
20
  exports.MocRtcPeerConnection = exports.WebRtcConnection = 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
22
  exports.listAssert = exports.buttonAssert = exports.deviceAssert = 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.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.formAssert = exports.autocompleteAssert = 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.webRtcAssert = exports.formAssert = exports.autocompleteAssert = void 0;
24
24
  __exportStar(require("./constants"), exports);
25
25
  __exportStar(require("./types/heartwood.types"), exports);
26
26
  __exportStar(require("./utilities/removeUniversalViewOptions"), exports);
@@ -347,6 +347,8 @@ var autocompleteAssert_1 = require("./tests/utilities/autocompleteAssert");
347
347
  Object.defineProperty(exports, "autocompleteAssert", { enumerable: true, get: function () { return __importDefault(autocompleteAssert_1).default; } });
348
348
  var formAssert_1 = require("./tests/utilities/formAssert");
349
349
  Object.defineProperty(exports, "formAssert", { enumerable: true, get: function () { return __importDefault(formAssert_1).default; } });
350
+ var webRtcAssert_1 = require("./tests/utilities/webRtcAssert");
351
+ Object.defineProperty(exports, "webRtcAssert", { enumerable: true, get: function () { return __importDefault(webRtcAssert_1).default; } });
350
352
  var autocompleteInteractor_1 = require("./tests/utilities/autocompleteInteractor");
351
353
  Object.defineProperty(exports, "autocompleteInteractor", { enumerable: true, get: function () { return __importDefault(autocompleteInteractor_1).default; } });
352
354
  var vcAssert_2 = require("./tests/utilities/vcAssert");
@@ -29531,7 +29531,7 @@ declare const _default: {
29531
29531
  };
29532
29532
  };
29533
29533
  };
29534
- webRtcStreamer: {
29534
+ webRtcPlayer: {
29535
29535
  type: "raw";
29536
29536
  options: {
29537
29537
  valueType: string;
@@ -22495,7 +22495,7 @@ declare const _default: {
22495
22495
  };
22496
22496
  };
22497
22497
  };
22498
- webRtcStreamer: {
22498
+ webRtcPlayer: {
22499
22499
  type: "raw";
22500
22500
  options: {
22501
22501
  valueType: string;
@@ -22445,7 +22445,7 @@ declare const _default: {
22445
22445
  };
22446
22446
  };
22447
22447
  };
22448
- webRtcStreamer: {
22448
+ webRtcPlayer: {
22449
22449
  type: "raw";
22450
22450
  options: {
22451
22451
  valueType: string;
@@ -244,10 +244,10 @@ exports.default = (0, schema_1.buildSchema)({
244
244
  }),
245
245
  },
246
246
  },
247
- webRtcStreamer: {
247
+ webRtcPlayer: {
248
248
  type: 'raw',
249
249
  options: {
250
- valueType: 'HeartwoodTypes.WebRtcStreamer',
250
+ valueType: 'HeartwoodTypes.WebRtcPlayer',
251
251
  },
252
252
  },
253
253
  alignment: {
@@ -29562,7 +29562,7 @@ declare const _default: {
29562
29562
  };
29563
29563
  };
29564
29564
  };
29565
- webRtcStreamer: {
29565
+ webRtcPlayer: {
29566
29566
  type: "raw";
29567
29567
  options: {
29568
29568
  valueType: string;
@@ -29542,7 +29542,7 @@ declare const _default: {
29542
29542
  };
29543
29543
  };
29544
29544
  };
29545
- webRtcStreamer: {
29545
+ webRtcPlayer: {
29546
29546
  type: "raw";
29547
29547
  options: {
29548
29548
  valueType: string;
@@ -29587,7 +29587,7 @@ declare const _default: {
29587
29587
  };
29588
29588
  };
29589
29589
  };
29590
- webRtcStreamer: {
29590
+ webRtcPlayer: {
29591
29591
  type: "raw";
29592
29592
  options: {
29593
29593
  valueType: string;
@@ -29581,7 +29581,7 @@ declare const _default: {
29581
29581
  };
29582
29582
  };
29583
29583
  };
29584
- webRtcStreamer: {
29584
+ webRtcPlayer: {
29585
29585
  type: "raw";
29586
29586
  options: {
29587
29587
  valueType: string;
@@ -29603,7 +29603,7 @@ declare const _default: {
29603
29603
  };
29604
29604
  };
29605
29605
  };
29606
- webRtcStreamer: {
29606
+ webRtcPlayer: {
29607
29607
  type: "raw";
29608
29608
  options: {
29609
29609
  valueType: string;
@@ -0,0 +1,6 @@
1
+ import { ViewController, Card } from '../../types/heartwood.types';
2
+ import WebRtcPlayerViewController from '../../viewControllers/webRtcStreaming/WebRtcPlayer.vc';
3
+ declare const webRtcAssert: {
4
+ cardRendersPlayer: (vc: ViewController<Card>, id?: string) => WebRtcPlayerViewController;
5
+ };
6
+ export default webRtcAssert;
@@ -0,0 +1,27 @@
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 assertSupport_1 = require("./assertSupport");
10
+ const webRtcAssert = {
11
+ cardRendersPlayer: (vc, id) => {
12
+ (0, schema_1.assertOptions)({ vc }, ['vc']);
13
+ const model = render_utility_1.default.render(vc);
14
+ const players = (0, assertSupport_1.pluckAllFromView)(model, 'webRtcPlayer');
15
+ test_utils_1.assert.isAbove(players.length, 0, `Your card is not rendering a webrtc player!. Try:\n\nthis.player = this.Controller('web-rtc-player', {})\nthis.cardVc = this.Controller('card', { webRtcPlayer: this.player.render() })`);
16
+ if (id) {
17
+ for (const player of players) {
18
+ if (player?.id === id) {
19
+ return player.controller;
20
+ }
21
+ }
22
+ test_utils_1.assert.fail(`I could not find a webRtcPlayerViewController with the id: "${id}"`);
23
+ }
24
+ return players[0].controller;
25
+ },
26
+ };
27
+ exports.default = webRtcAssert;
@@ -3,7 +3,7 @@ import { ViewControllerOptions, WebRtcPlayer } from '../../types/heartwood.types
3
3
  import { WebRtcStreamer } from '../../webRtcStreaming/WebRtcStreamer';
4
4
  export default class WebRtcPlayerViewController extends AbstractViewController<WebRtcPlayer> {
5
5
  static id: string;
6
- private streamer?;
6
+ private model;
7
7
  constructor(options: ViewControllerOptions & WebRtcPlayerOptions);
8
8
  setStreamer(streamer: WebRtcStreamer): void;
9
9
  createOffer(offerOptions: RTCOfferOptions): Promise<string>;
@@ -9,12 +9,14 @@ const SpruceError_1 = __importDefault(require("../../errors/SpruceError"));
9
9
  class WebRtcPlayerViewController extends __1.AbstractViewController {
10
10
  constructor(options) {
11
11
  super(options);
12
- const { streamer } = options;
13
- this.streamer = streamer ?? undefined;
12
+ this.model = {
13
+ ...(0, __1.removeUniversalViewOptions)(options),
14
+ controller: this,
15
+ };
14
16
  }
15
17
  setStreamer(streamer) {
16
18
  (0, schema_1.assertOptions)({ streamer }, ['streamer']);
17
- this.streamer = streamer;
19
+ this.model.streamer = streamer;
18
20
  this.triggerRender();
19
21
  }
20
22
  async createOffer(offerOptions) {
@@ -25,18 +27,15 @@ class WebRtcPlayerViewController extends __1.AbstractViewController {
25
27
  return offerSdp.sdp;
26
28
  }
27
29
  async setAnswer(answerSdp) {
28
- if (!this.streamer) {
30
+ if (!this.model.streamer) {
29
31
  throw new SpruceError_1.default({
30
32
  code: 'DID_NOT_GENERATE_OFFER',
31
33
  });
32
34
  }
33
- await this.streamer.setAnswer(answerSdp);
35
+ await this.model.streamer.setAnswer(answerSdp);
34
36
  }
35
37
  render() {
36
- return {
37
- streamer: this.streamer,
38
- controller: this,
39
- };
38
+ return this.model;
40
39
  }
41
40
  }
42
41
  WebRtcPlayerViewController.id = 'web-rtc-player-card';
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": "118.0.26",
16
+ "version": "118.0.27",
17
17
  "skill": {
18
18
  "namespace": "HeartwoodViewControllers",
19
19
  "commandOverrides": {