/** 当前设备类型 code 的 localStorage key。 */
export var TYPE_CODE_STORAGE_KEY = 'pisell_iot_type_code';

/** 当前设备型号 code 的 localStorage key。 */
export var MODEL_CODE_STORAGE_KEY = 'pisell_iot_model_code';

/** App 类型 key；universal 类型会允许用户切换型号。 */
export var APP_TYPE_STORAGE_KEY = 'pisell_app_type';

/** 从 App storage 读取出的当前/上次设备标识。 */

/** 读取当前 App storage 中的当前设备和上次使用设备。 */
export var getStoredIotDevice = function getStoredIotDevice(app) {
  try {
    var _app$storage, _app$storage2;
    var iotDevice = JSON.parse((app === null || app === void 0 || (_app$storage = app.storage) === null || _app$storage === void 0 ? void 0 : _app$storage.getStorage('iotDevice')) || '{}');
    var iotDeviceLastUsed = JSON.parse((app === null || app === void 0 || (_app$storage2 = app.storage) === null || _app$storage2 === void 0 ? void 0 : _app$storage2.getStorage('iotDeviceLastUsed')) || '{}');
    return {
      id: (iotDeviceLastUsed === null || iotDeviceLastUsed === void 0 ? void 0 : iotDeviceLastUsed.id) !== undefined && (iotDeviceLastUsed === null || iotDeviceLastUsed === void 0 ? void 0 : iotDeviceLastUsed.id) !== null ? iotDeviceLastUsed.id : undefined,
      number: iotDevice !== null && iotDevice !== void 0 && iotDevice.number ? String(iotDevice.number) : ''
    };
  } catch (e) {
    return {
      number: ''
    };
  }
};

/** 持久化当前选择的设备类型和型号。 */
export var persistDeviceModel = function persistDeviceModel(nextTypeCode, nextModelCode) {
  if (!nextTypeCode || !nextModelCode) return;
  localStorage.setItem(TYPE_CODE_STORAGE_KEY, nextTypeCode);
  localStorage.setItem(MODEL_CODE_STORAGE_KEY, nextModelCode);
};

/** 读取持久化的当前设备类型 code。 */
export var getStoredTypeCode = function getStoredTypeCode() {
  return localStorage.getItem(TYPE_CODE_STORAGE_KEY) || '';
};

/** 读取持久化的当前设备型号 code。 */
export var getStoredModelCode = function getStoredModelCode() {
  return localStorage.getItem(MODEL_CODE_STORAGE_KEY) || '';
};

/** 判断当前 App 是否为 universal 类型，决定是否展示型号切换入口。 */
export var isUniversalApp = function isUniversalApp() {
  return localStorage.getItem(APP_TYPE_STORAGE_KEY) === 'universal';
};