System.register(["src/external/dexie3.js"], function (_export, _context) {
  "use strict";

  var Dexie;
  return {
    setters: [function (_srcExternalDexie3Js) {
      Dexie = _srcExternalDexie3Js.default;
    }],
    execute: function () {
      const __SystemJSRewritingHack = {};
      _recorder_._src_client_bootlog_js = _recorder_._src_client_bootlog_js || {};
      Object.defineProperty(_recorder_._src_client_bootlog_js, "Dexie", {
        get() {
          return Dexie;
        },

        set(thisIsVererySecretVariableName) {
          Dexie = thisIsVererySecretVariableName;
          return true;
        },

        enumerable: true,
        configurable: true
      });
      class Bootlog {

        static current() {
          if (!this._current) {
            this._current = new Bootlog("bootlog");
          }
          return this._current;
        }

        clear() {
          this.db.files.clear();
        }

        constructor(name) {
          this.name = name;
          this.db = this.bootlogDB();
        }

        bootlogDB() {
          var db = new Dexie(this.name);
          db.version("1").stores({
            logs: '++id,url, date, mode'
          }).upgrade(function () {});
          return db;
        }

        async addLogs(logArray) {
          this.db.transaction("rw", this.db.logs, () => {
            for (var ea of logArray) {
              this.db.logs.put(ea);
            }
          });
        }

      }

      _export("default", Bootlog);

      Object.defineProperty(_recorder_._src_client_bootlog_js, "Bootlog", {
        get() {
          return Bootlog;
        },

        set(thisIsVererySecretVariableName) {
          _export("default", Bootlog = thisIsVererySecretVariableName);

          return true;
        },

        enumerable: true,
        configurable: true
      });
    }
  };
});