@player-ui/player 1.1.0-next.2 → 1.1.0-next.3

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.
@@ -5832,8 +5832,8 @@ var NOT_STARTED_STATE = {
5832
5832
  };
5833
5833
 
5834
5834
  // ../../../../../../../../../../execroot/_main/bazel-out/k8-fastbuild/bin/core/player/src/player.ts
5835
- var PLAYER_VERSION = true ? "1.1.0-next.2" : "unknown";
5836
- var COMMIT = true ? "233ef9fa2145aa08b23ffbb50bb105689adf830f" : "unknown";
5835
+ var PLAYER_VERSION = true ? "1.1.0-next.3" : "unknown";
5836
+ var COMMIT = true ? "234b74972b29ff0fa11655411dc3cd9d8a98de2a" : "unknown";
5837
5837
  var _Player = class _Player {
5838
5838
  constructor(config) {
5839
5839
  this.logger = new TapableLogger();
@@ -5852,7 +5852,8 @@ var _Player = class _Player {
5852
5852
  state: new import_tapable_ts16.SyncHook(),
5853
5853
  onStart: new import_tapable_ts16.SyncHook(),
5854
5854
  onEnd: new import_tapable_ts16.SyncHook(),
5855
- resolveFlowContent: new import_tapable_ts16.SyncWaterfallHook()
5855
+ resolveFlowContent: new import_tapable_ts16.SyncWaterfallHook(),
5856
+ transformContent: new import_tapable_ts16.SyncBailHook()
5856
5857
  };
5857
5858
  if (config?.logger) {
5858
5859
  this.logger.addHandler(config.logger);
@@ -5866,6 +5867,10 @@ var _Player = class _Player {
5866
5867
  this.config.plugins?.forEach((plugin) => {
5867
5868
  plugin.apply(this);
5868
5869
  });
5870
+ this.hooks.transformContent.tap(
5871
+ "player",
5872
+ (payload, meta) => meta.format === "player" ? payload : void 0
5873
+ );
5869
5874
  }
5870
5875
  /** Returns currently registered plugins */
5871
5876
  getPlugins() {
@@ -6146,8 +6151,18 @@ var _Player = class _Player {
6146
6151
  }
6147
6152
  };
6148
6153
  }
6149
- async start(payload) {
6150
- const ref = Symbol(payload?.id ?? "payload");
6154
+ async start(payload, options) {
6155
+ const meta = {
6156
+ format: options?.format ?? "player",
6157
+ version: options?.version
6158
+ };
6159
+ const flow = this.hooks.transformContent.call(payload, meta);
6160
+ if (!flow) {
6161
+ throw new Error(
6162
+ `Player.start received content with format "${meta.format}" that no plugin transformed into a Flow.`
6163
+ );
6164
+ }
6165
+ const ref = Symbol(flow.id ?? "payload");
6151
6166
  const maybeUpdateState = (newState) => {
6152
6167
  if (this.state.ref !== ref) {
6153
6168
  this.logger.warn(
@@ -6163,7 +6178,7 @@ var _Player = class _Player {
6163
6178
  ref
6164
6179
  });
6165
6180
  try {
6166
- const { state, start } = this.setupFlow(payload);
6181
+ const { state, start } = this.setupFlow(flow);
6167
6182
  this.setState({
6168
6183
  ref,
6169
6184
  ...state
@@ -6185,7 +6200,7 @@ var _Player = class _Player {
6185
6200
  const errorState = {
6186
6201
  status: "error",
6187
6202
  ref,
6188
- flow: payload,
6203
+ flow,
6189
6204
  error
6190
6205
  };
6191
6206
  maybeUpdateState(errorState);