System.register(["src/client/poid.js", "./bibliography-scheme.js"], function (_export, _context) {
  "use strict";

  var PolymorphicIdentifier, BibliographyScheme;
  return {
    setters: [function (_srcClientPoidJs) {
      PolymorphicIdentifier = _srcClientPoidJs.default;
    }, function (_bibliographySchemeJs) {
      BibliographyScheme = _bibliographySchemeJs.default;
    }],
    execute: function () {
      const __SystemJSRewritingHack = {};
      _recorder_._src_client_protocols_author_js = _recorder_._src_client_protocols_author_js || {};
      Object.defineProperty(_recorder_._src_client_protocols_author_js, "PolymorphicIdentifier", {
        get() {
          return PolymorphicIdentifier;
        },

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

        enumerable: true,
        configurable: true
      });
      Object.defineProperty(_recorder_._src_client_protocols_author_js, "BibliographyScheme", {
        get() {
          return BibliographyScheme;
        },

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

        enumerable: true,
        configurable: true
      });
      class AuthorScheme extends BibliographyScheme {

        get scheme() {
          return "author";
        }

        searchEntries(entries, query) {
          var author = query;
          return entries.filter(entry => entry.authors && entry.authors.find(ea => ea.match(author)));
        }
      }

      _export("AuthorScheme", AuthorScheme);

      Object.defineProperty(_recorder_._src_client_protocols_author_js, "AuthorScheme", {
        get() {
          return AuthorScheme;
        },

        set(thisIsVererySecretVariableName) {
          _export("AuthorScheme", AuthorScheme = thisIsVererySecretVariableName);

          return true;
        },

        enumerable: true,
        configurable: true
      });
      PolymorphicIdentifier.register(AuthorScheme);
    }
  };
});