// Copyright 2017 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

import {assertNotReached} from 'chrome://resources/js/assert.m.js';

/** @polymerBehavior */
export const ItemBehavior = {
  /**
   * @param {chrome.developerPrivate.ExtensionType} type
   * @param {string} appLabel
   * @param {string} extensionLabel
   * @return {string} The app or extension label depending on |type|.
   */
  appOrExtension(type, appLabel, extensionLabel) {
    const ExtensionType = chrome.developerPrivate.ExtensionType;
    switch (type) {
      case ExtensionType.HOSTED_APP:
      case ExtensionType.LEGACY_PACKAGED_APP:
      case ExtensionType.PLATFORM_APP:
        return appLabel;
      case ExtensionType.EXTENSION:
      case ExtensionType.SHARED_MODULE:
        return extensionLabel;
    }
    assertNotReached('Item type is not App or Extension.');
  },
};
