"use strict";

Object.defineProperty(exports, "__esModule", {
  value: true
});
exports.default = void 0;

function getSceneIndicesForInterpolationInputRange(props) {
  const {
    scene,
    scenes
  } = props;
  const index = scene.index;
  const lastSceneIndexInScenes = scenes.length - 1;
  const isBack = !scenes[lastSceneIndexInScenes].isActive;

  if (isBack) {
    const currentSceneIndexInScenes = scenes.findIndex(item => item === scene);
    const targetSceneIndexInScenes = scenes.findIndex(item => item.isActive);
    const targetSceneIndex = scenes[targetSceneIndexInScenes].index;
    const lastSceneIndex = scenes[lastSceneIndexInScenes].index;

    if (index !== targetSceneIndex && currentSceneIndexInScenes === lastSceneIndexInScenes) {
      return {
        first: Math.min(targetSceneIndex, index - 1),
        last: index + 1
      };
    } else if (index === targetSceneIndex && currentSceneIndexInScenes === targetSceneIndexInScenes) {
      return {
        first: index - 1,
        last: Math.max(lastSceneIndex, index + 1)
      };
    } else if (index === targetSceneIndex || currentSceneIndexInScenes > targetSceneIndexInScenes) {
      return null;
    } else {
      return {
        first: index - 1,
        last: index + 1
      };
    }
  } else {
    return {
      first: index - 1,
      last: index + 1
    };
  }
}

var _default = getSceneIndicesForInterpolationInputRange;
exports.default = _default;
//# sourceMappingURL=getSceneIndicesForInterpolationInputRange.js.map