System.register([], function (_export, _context) {
  "use strict";

  var __SystemJSRewritingHack;
  function loadJSON(key) {
    const stringValue = this.getItem(key);
    if (stringValue === null) {
      return undefined;
    }
    return JSON.parse(stringValue);
  }
  function saveJSON(key, json) {
    const stringValue = JSON.stringify(json, undefined, 2);
    return this.setItem(key, stringValue);
  }
  function hasItem(key) {
    return this.getItem(key) !== null;
  }
  _export({
    loadJSON: loadJSON,
    saveJSON: saveJSON,
    hasItem: hasItem
  });
  return {
    setters: [],
    execute: function () {
      __SystemJSRewritingHack = {};
      _recorder_._https__lively_kernel_org_lively4_lively4_ansgar_src_client_utils_local_storage_js = _recorder_._https__lively_kernel_org_lively4_lively4_ansgar_src_client_utils_local_storage_js || {};
      Object.defineProperty(_recorder_._https__lively_kernel_org_lively4_lively4_ansgar_src_client_utils_local_storage_js, "hasItem", {
        get() {
          return hasItem;
        },
        set(thisIsVererySecretVariableName) {
          _export("hasItem", hasItem = thisIsVererySecretVariableName);
          return true;
        },
        enumerable: true,
        configurable: true
      });
      Object.defineProperty(_recorder_._https__lively_kernel_org_lively4_lively4_ansgar_src_client_utils_local_storage_js, "saveJSON", {
        get() {
          return saveJSON;
        },
        set(thisIsVererySecretVariableName) {
          _export("saveJSON", saveJSON = thisIsVererySecretVariableName);
          return true;
        },
        enumerable: true,
        configurable: true
      });
      Object.defineProperty(_recorder_._https__lively_kernel_org_lively4_lively4_ansgar_src_client_utils_local_storage_js, "loadJSON", {
        get() {
          return loadJSON;
        },
        set(thisIsVererySecretVariableName) {
          _export("loadJSON", loadJSON = thisIsVererySecretVariableName);
          return true;
        },
        enumerable: true,
        configurable: true
      });
    }
  };
});