"use strict";

var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
  value: true
});
exports.mocks = exports.iconTestUrls = exports.UnicornResolvedClient = exports.UnAuthClientWithProviderImage = exports.UnAuthClientWithNoIcon = exports.UnAuthClientWithNoAuthFlow = exports.UnAuthClient = exports.ResolvingClientUrl = exports.ResolvingClient = exports.ResolvedClientWithTextHighlightInTitleUrl = exports.ResolvedClientWithLongTitleUrl = exports.ResolvedClientWithDelay = exports.ResolvedClientUrlNoPreview = exports.ResolvedClientUrl = exports.ResolvedClientProfileUrl = exports.ResolvedClientEmbedUrl = exports.ResolvedClientEmbedInteractiveUrl = exports.ResolvedClient = exports.NotFoundWithSiteAccessExistsClient = exports.NotFoundWithNoIconClient = exports.NotFoundClient = exports.MockCardClient = exports.ForbiddenWithSiteRequestAccessClient = exports.ForbiddenWithSitePendingRequestClient = exports.ForbiddenWithSiteForbiddenClient = exports.ForbiddenWithSiteDirectAccessClient = exports.ForbiddenWithSiteDeniedRequestClient = exports.ForbiddenWithObjectRequestAccessClient = exports.ForbiddenClientWithNoIcon = exports.ForbiddenClient = exports.ErroredClient = void 0;
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
var _linkProvider = require("@atlaskit/link-provider");
var _exampleHelpers = require("../example-helpers");
var _provider = require("../example-helpers/_jsonLDExamples/provider.atlas");
var _utils = require("../example-helpers/_jsonLDExamples/utils");
var _images = require("../images");
var _iconTestResponseMap;
function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2.default)(o), (0, _possibleConstructorReturn2.default)(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0, _getPrototypeOf2.default)(t).constructor) : o.apply(t, e)); }
function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2.default)(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
var mocks = exports.mocks = {
  entityDataSuccess: {
    meta: {
      visibility: 'public',
      access: 'granted',
      auth: [],
      definitionId: 'd1',
      key: 'object-provider',
      resourceType: 'object-resource',
      subproduct: 'object-subproduct',
      product: 'object-product',
      generator: {
        name: 'I love cheese',
        icon: {
          url: _images.image2
        }
      }
    },
    data: {
      '@context': {
        '@vocab': 'https://www.w3.org/ns/activitystreams#',
        atlassian: 'https://schema.atlassian.com/ns/vocabulary#',
        schema: 'http://schema.org/'
      },
      '@type': 'Object',
      name: 'https://some.url',
      summary: 'Here is your serving of cheese: 🧀',
      preview: {
        href: 'https://www.ilovecheese.com'
      },
      generator: {
        '@type': 'Application',
        icon: {
          '@type': 'Image',
          url: _images.image2
        },
        name: 'I love cheese'
      },
      url: 'https://some.url'
    },
    entityData: {
      id: 'I love cheese',
      displayName: 'I love cheese',
      description: 'Here is your serving of cheese: 🧀',
      url: 'https://some.url',
      lastUpdatedAt: '2025-01-08T22:26:52.501Z',
      thumbnail: {
        externalUrl: _images.image1
      },
      liveEmbedUrl: 'https://www.ilovecheese.com',
      type: 'FILE',
      inspectUrl: 'https://www.ilovecheese.com',
      iconUrl: _images.image2
    }
  },
  simpleProjectPlaceholderData: {
    data: {
      '@context': _exampleHelpers.AtlasProject.data['@context'],
      '@type': _exampleHelpers.AtlasProject.data['@type'],
      url: _exampleHelpers.AtlasProject.data.url,
      icon: _exampleHelpers.AtlasProject.data.icon,
      name: 'Fancy project with placeholder data for SSR',
      'atlassian:state': _exampleHelpers.AtlasProject.data['atlassian:state']
    },
    meta: {
      auth: [],
      definitionId: 'watermelon-object-provider',
      visibility: 'restricted',
      access: 'granted',
      key: 'watermelon-object-provider'
    }
  },
  notFound: {
    meta: {
      visibility: 'not_found',
      access: 'forbidden',
      auth: [],
      definitionId: 'd1',
      key: 'object-provider'
    },
    data: {
      '@context': {
        '@vocab': 'https://www.w3.org/ns/activitystreams#',
        atlassian: 'https://schema.atlassian.com/ns/vocabulary#',
        schema: 'http://schema.org/'
      },
      '@type': 'Object',
      generator: {
        '@type': 'Application',
        name: 'Google',
        icon: {
          '@type': 'Image',
          url: _images.iconGoogleDrive
        }
      },
      name: 'I love cheese',
      url: 'https://some.url'
    }
  },
  forbidden: {
    meta: {
      visibility: 'restricted',
      access: 'forbidden',
      auth: [{
        key: 'some-flow',
        displayName: 'Flow',
        url: 'https://outbound-auth/flow'
      }],
      definitionId: 'd1',
      key: 'object-provider'
    },
    data: {
      '@context': {
        '@vocab': 'https://www.w3.org/ns/activitystreams#',
        atlassian: 'https://schema.atlassian.com/ns/vocabulary#',
        schema: 'http://schema.org/'
      },
      '@type': 'Object',
      generator: {
        '@type': 'Application',
        name: 'Google',
        icon: {
          '@type': 'Image',
          url: _images.iconGoogleDrive
        }
      },
      url: 'https://some.url'
    }
  },
  unresolved: function unresolved() {
    var accessType = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'FORBIDDEN';
    var visibility = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'not_found';
    return {
      meta: {
        auth: [],
        definitionId: 'jira-object-provider',
        product: 'jira',
        visibility: visibility,
        access: 'forbidden',
        resourceType: 'issue',
        category: 'object',
        tenantId: 'tenant-id',
        key: 'jira-object-provider',
        requestAccess: {
          accessType: accessType,
          cloudId: 'cloud-id'
        }
      },
      data: {
        '@context': {
          '@vocab': 'https://www.w3.org/ns/activitystreams#',
          atlassian: 'https://schema.atlassian.com/ns/vocabulary#',
          schema: 'http://schema.org/'
        },
        generator: {
          '@type': 'Application',
          '@id': 'https://www.atlassian.com/#Jira',
          name: 'Jira',
          icon: {
            '@type': 'Image',
            url: 'https://icon-url'
          },
          image: {
            '@type': 'Image',
            url: _images.imageForbiddenJiraEmbed
          }
        },
        image: {
          '@type': 'Image',
          url: _images.forbiddenJira
        },
        url: 'https://site.atlassian.net/browse/key-1',
        '@type': ['atlassian:Task', 'Object']
      }
    };
  },
  unauthorized: function unauthorized(url) {
    var key = 'google-object-provider';
    var name = 'Google';
    var icon = _images.iconGoogleDrive;
    var image = _images.gdriveUnauthImage;
    if (url.includes('figma.com')) {
      key = 'figma-object-provider';
      name = 'Figma';
      icon = _images.iconFigma;
      image = _images.figmaUnauthImage;
    } else if (url.includes('dropbox.com')) {
      key = 'dropbox-object-provider';
      name = 'Dropbox';
      icon = _images.iconDropbox;
      image = undefined;
    } else if (url.includes('onedrive.live.com')) {
      key = 'onedrive-object-provider';
      name = 'OneDrive';
      icon = _images.iconOneDrive;
      image = _images.onedriveUnauthImage;
    } else if (url.includes('.slack.com')) {
      key = 'slack-object-provider';
      name = 'Slack';
      icon = _images.iconSlack;
      image = _images.slackUnauthImage;
    }
    return {
      meta: {
        access: 'unauthorized',
        visibility: 'restricted',
        auth: [{
          key: 'some-flow',
          displayName: 'Flow',
          url: 'https://outbound-auth/flow'
        }],
        definitionId: 'd1',
        key: key,
        resourceType: 'file'
      },
      data: {
        '@context': {
          '@vocab': 'https://www.w3.org/ns/activitystreams#',
          atlassian: 'https://schema.atlassian.com/ns/vocabulary#',
          schema: 'http://schema.org/'
        },
        '@type': 'Object',
        generator: _objectSpread({
          '@type': 'Application',
          name: name
        }, icon ? {
          icon: {
            '@type': 'Image',
            url: icon
          }
        } : {}),
        url: url,
        image: image
      }
    };
  }
};
var resolve = function resolve(url, response, overrideData) {
  return Promise.resolve(_objectSpread(_objectSpread({}, response), {}, {
    data: _objectSpread(_objectSpread(_objectSpread({}, response.data), overrideData), {}, {
      url: url
    })
  }));
};
var ResolvedClientUrl = exports.ResolvedClientUrl = _provider.atlasProjectUrl;
var ResolvedClientUrlNoPreview = exports.ResolvedClientUrlNoPreview = "".concat(_provider.atlasProjectUrl, "/no-preview");
var ResolvedClientEmbedUrl = exports.ResolvedClientEmbedUrl = _exampleHelpers.YouTubeVideoUrl;
var ResolvedClientEmbedInteractiveUrl = exports.ResolvedClientEmbedInteractiveUrl = _exampleHelpers.GoogleDocUrl;
var ResolvedClientWithLongTitleUrl = exports.ResolvedClientWithLongTitleUrl = "".concat(_provider.atlasProjectUrl, "/long-title");
var ResolvedClientWithTextHighlightInTitleUrl = exports.ResolvedClientWithTextHighlightInTitleUrl = "".concat(_provider.atlasProjectUrl, "/text-highlight-title");
var ResolvedClientProfileUrl = exports.ResolvedClientProfileUrl = "".concat(_provider.atlasProjectUrl, "/profile-url");
var ICON_TEST_BASE = 'https://icon-test';
var iconTestMeta = {
  auth: [],
  definitionId: 'icon-test-provider',
  visibility: 'public',
  access: 'granted',
  key: 'icon-test-provider'
};
var iconTestContext = {
  '@vocab': 'https://www.w3.org/ns/activitystreams#',
  atlassian: 'https://schema.atlassian.com/ns/vocabulary#',
  schema: 'http://schema.org/'
};
var iconTestDefaultGenerator = {
  '@type': 'Application',
  name: 'Acme Link Sandbox',
  icon: {
    '@type': 'Image',
    url: _images.iconGoogleDrive
  }
};
var iconTestSharedFields = {
  preview: {
    '@type': 'Link',
    href: 'https://icon-test.example/assets/preview-placeholder'
  },
  updated: '2025-11-18T14:22:00.000Z',
  attributedTo: [{
    '@type': 'Person',
    icon: _images.avatar3,
    name: 'Jordan Rivers'
  }]
};
var makeIconTestResponse = function makeIconTestResponse(url, type, dataOverrides) {
  var generator = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : iconTestDefaultGenerator;
  return {
    meta: iconTestMeta,
    data: _objectSpread(_objectSpread({
      '@context': iconTestContext,
      '@type': type,
      url: url
    }, iconTestSharedFields), {}, {
      generator: generator
    }, dataOverrides)
  };
};
var confluenceGenerator = {
  '@type': 'Application',
  '@id': 'https://www.atlassian.com/#Confluence',
  name: 'Confluence',
  icon: {
    '@type': 'Image',
    url: _images.image2
  }
};
var jiraGenerator = {
  '@type': 'Application',
  '@id': 'https://www.atlassian.com/#Jira',
  name: 'Jira',
  icon: {
    '@type': 'Image',
    url: _images.image2
  }
};
var iconTestResponseMap = (_iconTestResponseMap = {}, (0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)(_iconTestResponseMap, "".concat(ICON_TEST_BASE, "/url-icon"), makeIconTestResponse("".concat(ICON_TEST_BASE, "/url-icon"), 'Document', {
  name: 'Quarterly roadmap — icon resolved from explicit document image URL',
  summary: 'This mock prioritises the linked `icon` URL over file format and provider artwork, so you can verify URL-based icons without relying on generator metadata.',
  icon: {
    '@type': 'Image',
    url: _images.iconGoogleDrive
  }
})), "".concat(ICON_TEST_BASE, "/file-format"), makeIconTestResponse("".concat(ICON_TEST_BASE, "/file-format"), 'Document', {
  name: 'Field photos — JPEG archive (file-format icon path)',
  summary: 'No dedicated thumbnail URL is supplied; the smart card should derive a file-type glyph from `schema:fileFormat` while still showing title and summary in the resolved layout.',
  'schema:fileFormat': 'image/jpeg'
})), "".concat(ICON_TEST_BASE, "/provider-only"), makeIconTestResponse("".concat(ICON_TEST_BASE, "/provider-only"), 'Object', {
  name: 'Partner CRM record #88421 (provider icon fallback)',
  summary: 'A generic object with no per-resource icon or file format hint. The inline card should fall back to the upstream application icon from `generator`, matching the prioritisation order used in production resolver payloads.'
})), "".concat(ICON_TEST_BASE, "/blog"), makeIconTestResponse("".concat(ICON_TEST_BASE, "/blog"), 'schema:BlogPosting', {
  name: 'Engineering blog: shipping safer deploys with progressive rollouts',
  summary: 'Long-form `schema:BlogPosting` content used to exercise blog-specific iconography alongside a full summary block, attribution, and preview link metadata.'
})), "".concat(ICON_TEST_BASE, "/digital-doc-confluence"), makeIconTestResponse("".concat(ICON_TEST_BASE, "/digital-doc-confluence"), 'schema:DigitalDocument', {
  name: 'Confluence live doc — collaborative spec (digital document + Confluence generator)',
  summary: 'Represents a live Confluence-backed digital document. Useful for validating Confluence generator detection, co-editing affordances in block/embed cards, and the Confluence-specific icon branch.'
}, confluenceGenerator)), "".concat(ICON_TEST_BASE, "/digital-doc"), makeIconTestResponse("".concat(ICON_TEST_BASE, "/digital-doc"), 'schema:DigitalDocument', {
  name: 'Shared playbook — Google Doc export (digital document, non-Confluence)',
  summary: 'A vendor-neutral `schema:DigitalDocument` with rich text summary so block and inline appearances still read well when the resource is not tied to Atlassian generator metadata.'
})), "".concat(ICON_TEST_BASE, "/template"), makeIconTestResponse("".concat(ICON_TEST_BASE, "/template"), 'atlassian:Template', {
  name: 'Sprint retrospective template (Confluence)',
  summary: 'Pre-built retrospective structure with prompts for what went well, what to improve, and action items. Exercises `atlassian:Template` typing and template icon mapping in the extractor pipeline.'
})), "".concat(ICON_TEST_BASE, "/pull-request"), makeIconTestResponse("".concat(ICON_TEST_BASE, "/pull-request"), 'atlassian:SourceCodePullRequest', {
  name: 'PR #482: harden OAuth token refresh + add integration tests',
  summary: 'Source pull request payload with a realistic title and description span. Helps validate pull-request icons, status chips, and how long metadata wraps inside block and embed frames.',
  'atlassian:state': {
    '@type': 'Object',
    name: 'Open',
    appearance: 'information'
  }
})), "".concat(ICON_TEST_BASE, "/jira-bug"), makeIconTestResponse("".concat(ICON_TEST_BASE, "/jira-bug"), ['atlassian:Task', 'Object'], {
  name: 'NAV-2048: Inline card icons drift when priority chip is present',
  summary: 'Steps to reproduce: open inline smart link in the editor, toggle reduced motion, resize panel. Expected: priority and issue type icons stay aligned. Actual: glyph baseline shifts by 2px.',
  'atlassian:taskType': {
    '@type': 'Object',
    '@id': 'https://www.atlassian.com/taskType#JiraBug',
    name: 'Bug'
  },
  'atlassian:state': {
    '@type': 'Object',
    name: 'In progress',
    appearance: 'information'
  }
}, jiraGenerator)), "".concat(ICON_TEST_BASE, "/task-default"), makeIconTestResponse("".concat(ICON_TEST_BASE, "/task-default"), ['atlassian:Task', 'Object'], {
  name: 'LP-901: Document smart-link icon precedence for QA fixtures',
  summary: 'Tracker work item without a specialised `atlassian:taskType` id, so the card should use the default task/issue iconography while still rendering summary and workflow state from JSON-LD.',
  'atlassian:state': {
    '@type': 'Object',
    name: 'To do',
    appearance: 'default'
  }
})), (0, _defineProperty2.default)(_iconTestResponseMap, "".concat(ICON_TEST_BASE, "/confluence-doc"), makeIconTestResponse("".concat(ICON_TEST_BASE, "/confluence-doc"), 'Document', {
  name: 'Runbook: restoring Media Services after a regional failover',
  summary: 'Operational checklist covering traffic drain, cache invalidation, and comms templates. Uses a Confluence `generator` block so provider-specific document icons and titles can be regression-tested together.'
}, confluenceGenerator)));
var iconTestUrls = exports.iconTestUrls = Object.keys(iconTestResponseMap);
var MockCardClient = exports.MockCardClient = /*#__PURE__*/function (_CardClient) {
  function MockCardClient() {
    (0, _classCallCheck2.default)(this, MockCardClient);
    return _callSuper(this, MockCardClient, arguments);
  }
  (0, _inherits2.default)(MockCardClient, _CardClient);
  return (0, _createClass2.default)(MockCardClient, [{
    key: "prefetchData",
    value: function prefetchData(url) {
      return Promise.resolve(undefined);
    }
  }]);
}(_linkProvider.CardClient);
var ResolvedClient = exports.ResolvedClient = /*#__PURE__*/function (_MockCardClient) {
  function ResolvedClient() {
    (0, _classCallCheck2.default)(this, ResolvedClient);
    return _callSuper(this, ResolvedClient, arguments);
  }
  (0, _inherits2.default)(ResolvedClient, _MockCardClient);
  return (0, _createClass2.default)(ResolvedClient, [{
    key: "fetchData",
    value: function fetchData(url) {
      var iconTestResponse = iconTestResponseMap[url];
      if (iconTestResponse) {
        return Promise.resolve(iconTestResponse);
      }
      switch (url) {
        case ResolvedClientEmbedUrl:
          return resolve(url, _exampleHelpers.YouTubeVideo);
        case ResolvedClientEmbedInteractiveUrl:
          return resolve(url, _exampleHelpers.GoogleDoc);
        case ResolvedClientWithLongTitleUrl:
          return resolve(url, _exampleHelpers.AtlasProject, {
            name: 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis id lectus lorem. Phasellus luctus vulputate diam vitae sagittis. Fusce laoreet pulvinar dapibus.'
          });
        case ResolvedClientWithTextHighlightInTitleUrl:
          return resolve(url, _exampleHelpers.AtlasProject, {
            name: "".concat(_exampleHelpers.AtlasProject.data.name, " | :~:text=highlight this")
          });
        case ResolvedClientUrlNoPreview:
          return resolve(url, _exampleHelpers.AtlasProjectNoPreview);
        case ResolvedClientProfileUrl:
          return resolve(url, _exampleHelpers.ProfileObject);
      }
      var response = _objectSpread({}, _exampleHelpers.AtlasProject);
      response.data.preview.href = _utils.overrideEmbedContent;
      return Promise.resolve(response);
    }
  }]);
}(MockCardClient);
var ResolvingClientUrl = exports.ResolvingClientUrl = 'https://resolving-link';
var ResolvingClient = exports.ResolvingClient = /*#__PURE__*/function (_MockCardClient2) {
  function ResolvingClient() {
    (0, _classCallCheck2.default)(this, ResolvingClient);
    return _callSuper(this, ResolvingClient, arguments);
  }
  (0, _inherits2.default)(ResolvingClient, _MockCardClient2);
  return (0, _createClass2.default)(ResolvingClient, [{
    key: "fetchData",
    value: function fetchData() {
      return new Promise(function () {
        // resolve() never get called to keep status as resolving forever
      });
    }
  }]);
}(MockCardClient);
var ResolvedClientWithDelay = exports.ResolvedClientWithDelay = /*#__PURE__*/function (_MockCardClient3) {
  function ResolvedClientWithDelay() {
    (0, _classCallCheck2.default)(this, ResolvedClientWithDelay);
    return _callSuper(this, ResolvedClientWithDelay, arguments);
  }
  (0, _inherits2.default)(ResolvedClientWithDelay, _MockCardClient3);
  return (0, _createClass2.default)(ResolvedClientWithDelay, [{
    key: "fetchData",
    value: function fetchData() {
      var response = _objectSpread({}, _exampleHelpers.AtlasProject);
      return new Promise(function (resolve) {
        return setTimeout(function () {
          return resolve(response);
        }, 2000);
      });
    }
  }]);
}(MockCardClient);
var ErroredClient = exports.ErroredClient = /*#__PURE__*/function (_MockCardClient4) {
  function ErroredClient() {
    (0, _classCallCheck2.default)(this, ErroredClient);
    return _callSuper(this, ErroredClient, arguments);
  }
  (0, _inherits2.default)(ErroredClient, _MockCardClient4);
  return (0, _createClass2.default)(ErroredClient, [{
    key: "fetchData",
    value: function fetchData(url) {
      return Promise.reject("Can't resolve from ".concat(url));
    }
  }]);
}(MockCardClient); // "visibility": "restricted",
// "access": "forbidden",
var ForbiddenClient = exports.ForbiddenClient = /*#__PURE__*/function (_MockCardClient5) {
  function ForbiddenClient() {
    (0, _classCallCheck2.default)(this, ForbiddenClient);
    return _callSuper(this, ForbiddenClient, arguments);
  }
  (0, _inherits2.default)(ForbiddenClient, _MockCardClient5);
  return (0, _createClass2.default)(ForbiddenClient, [{
    key: "fetchData",
    value: function fetchData() {
      return Promise.resolve(mocks.forbidden);
    }
  }]);
}(MockCardClient); // "visibility": "restricted",
// "access": "forbidden",
// "accessType": "ACCESS_EXISTS",
var ForbiddenWithObjectRequestAccessClient = exports.ForbiddenWithObjectRequestAccessClient = /*#__PURE__*/function (_MockCardClient6) {
  function ForbiddenWithObjectRequestAccessClient() {
    (0, _classCallCheck2.default)(this, ForbiddenWithObjectRequestAccessClient);
    return _callSuper(this, ForbiddenWithObjectRequestAccessClient, arguments);
  }
  (0, _inherits2.default)(ForbiddenWithObjectRequestAccessClient, _MockCardClient6);
  return (0, _createClass2.default)(ForbiddenWithObjectRequestAccessClient, [{
    key: "fetchData",
    value: function fetchData() {
      return Promise.resolve(mocks.unresolved('ACCESS_EXISTS', 'restricted'));
    }
  }]);
}(MockCardClient); // "visibility": "not_found",
// "access": "forbidden",
// "accessType": "DENIED_REQUEST_EXISTS",
var ForbiddenWithSiteDeniedRequestClient = exports.ForbiddenWithSiteDeniedRequestClient = /*#__PURE__*/function (_MockCardClient7) {
  function ForbiddenWithSiteDeniedRequestClient() {
    (0, _classCallCheck2.default)(this, ForbiddenWithSiteDeniedRequestClient);
    return _callSuper(this, ForbiddenWithSiteDeniedRequestClient, arguments);
  }
  (0, _inherits2.default)(ForbiddenWithSiteDeniedRequestClient, _MockCardClient7);
  return (0, _createClass2.default)(ForbiddenWithSiteDeniedRequestClient, [{
    key: "fetchData",
    value: function fetchData() {
      return Promise.resolve(mocks.unresolved('DENIED_REQUEST_EXISTS', 'not_found'));
    }
  }]);
}(MockCardClient); // "visibility": "not_found",
// "access": "forbidden",
// "accessType": "DIRECT_ACCESS",
var ForbiddenWithSiteDirectAccessClient = exports.ForbiddenWithSiteDirectAccessClient = /*#__PURE__*/function (_MockCardClient8) {
  function ForbiddenWithSiteDirectAccessClient() {
    (0, _classCallCheck2.default)(this, ForbiddenWithSiteDirectAccessClient);
    return _callSuper(this, ForbiddenWithSiteDirectAccessClient, arguments);
  }
  (0, _inherits2.default)(ForbiddenWithSiteDirectAccessClient, _MockCardClient8);
  return (0, _createClass2.default)(ForbiddenWithSiteDirectAccessClient, [{
    key: "fetchData",
    value: function fetchData() {
      return Promise.resolve(mocks.unresolved('DIRECT_ACCESS', 'not_found'));
    }
  }]);
}(MockCardClient); // "visibility": "not_found",
// "access": "forbidden",
// "accessType": "FORBIDDEN",
var ForbiddenWithSiteForbiddenClient = exports.ForbiddenWithSiteForbiddenClient = /*#__PURE__*/function (_MockCardClient9) {
  function ForbiddenWithSiteForbiddenClient() {
    (0, _classCallCheck2.default)(this, ForbiddenWithSiteForbiddenClient);
    return _callSuper(this, ForbiddenWithSiteForbiddenClient, arguments);
  }
  (0, _inherits2.default)(ForbiddenWithSiteForbiddenClient, _MockCardClient9);
  return (0, _createClass2.default)(ForbiddenWithSiteForbiddenClient, [{
    key: "fetchData",
    value: function fetchData() {
      return Promise.resolve(mocks.unresolved('FORBIDDEN', 'not_found'));
    }
  }]);
}(MockCardClient); // "visibility": "not_found",
// "access": "forbidden",
// "accessType": "PENDING_REQUEST_EXISTS",
var ForbiddenWithSitePendingRequestClient = exports.ForbiddenWithSitePendingRequestClient = /*#__PURE__*/function (_MockCardClient0) {
  function ForbiddenWithSitePendingRequestClient() {
    (0, _classCallCheck2.default)(this, ForbiddenWithSitePendingRequestClient);
    return _callSuper(this, ForbiddenWithSitePendingRequestClient, arguments);
  }
  (0, _inherits2.default)(ForbiddenWithSitePendingRequestClient, _MockCardClient0);
  return (0, _createClass2.default)(ForbiddenWithSitePendingRequestClient, [{
    key: "fetchData",
    value: function fetchData() {
      return Promise.resolve(mocks.unresolved('PENDING_REQUEST_EXISTS', 'not_found'));
    }
  }]);
}(MockCardClient); // "visibility": "not_found",
// "access": "forbidden",
// "accessType": "REQUEST_ACCESS",
var ForbiddenWithSiteRequestAccessClient = exports.ForbiddenWithSiteRequestAccessClient = /*#__PURE__*/function (_MockCardClient1) {
  function ForbiddenWithSiteRequestAccessClient() {
    (0, _classCallCheck2.default)(this, ForbiddenWithSiteRequestAccessClient);
    return _callSuper(this, ForbiddenWithSiteRequestAccessClient, arguments);
  }
  (0, _inherits2.default)(ForbiddenWithSiteRequestAccessClient, _MockCardClient1);
  return (0, _createClass2.default)(ForbiddenWithSiteRequestAccessClient, [{
    key: "fetchData",
    value: function fetchData() {
      return Promise.resolve(mocks.unresolved('REQUEST_ACCESS', 'not_found'));
    }
  }]);
}(MockCardClient); // "visibility": "restricted",
// "access": "forbidden",
var ForbiddenClientWithNoIcon = exports.ForbiddenClientWithNoIcon = /*#__PURE__*/function (_MockCardClient10) {
  function ForbiddenClientWithNoIcon() {
    (0, _classCallCheck2.default)(this, ForbiddenClientWithNoIcon);
    return _callSuper(this, ForbiddenClientWithNoIcon, arguments);
  }
  (0, _inherits2.default)(ForbiddenClientWithNoIcon, _MockCardClient10);
  return (0, _createClass2.default)(ForbiddenClientWithNoIcon, [{
    key: "fetchData",
    value: function fetchData() {
      return Promise.resolve(_objectSpread(_objectSpread({}, mocks.forbidden), {}, {
        data: _objectSpread(_objectSpread({}, mocks.forbidden.data), {}, {
          generator: {
            name: 'Provider'
          }
        })
      }));
    }
  }]);
}(MockCardClient); // visibility: 'not_found',
// access: 'forbidden',
var NotFoundClient = exports.NotFoundClient = /*#__PURE__*/function (_MockCardClient11) {
  function NotFoundClient() {
    (0, _classCallCheck2.default)(this, NotFoundClient);
    return _callSuper(this, NotFoundClient, arguments);
  }
  (0, _inherits2.default)(NotFoundClient, _MockCardClient11);
  return (0, _createClass2.default)(NotFoundClient, [{
    key: "fetchData",
    value: function fetchData() {
      return Promise.resolve(mocks.notFound);
    }
  }]);
}(MockCardClient); // "visibility": "not_found",
// "access": "forbidden",
// "accessType": "ACCESS_EXISTS",
var NotFoundWithSiteAccessExistsClient = exports.NotFoundWithSiteAccessExistsClient = /*#__PURE__*/function (_MockCardClient12) {
  function NotFoundWithSiteAccessExistsClient() {
    (0, _classCallCheck2.default)(this, NotFoundWithSiteAccessExistsClient);
    return _callSuper(this, NotFoundWithSiteAccessExistsClient, arguments);
  }
  (0, _inherits2.default)(NotFoundWithSiteAccessExistsClient, _MockCardClient12);
  return (0, _createClass2.default)(NotFoundWithSiteAccessExistsClient, [{
    key: "fetchData",
    value: function fetchData() {
      return Promise.resolve(mocks.unresolved('ACCESS_EXISTS', 'not_found'));
    }
  }]);
}(MockCardClient);
var NotFoundWithNoIconClient = exports.NotFoundWithNoIconClient = /*#__PURE__*/function (_MockCardClient13) {
  function NotFoundWithNoIconClient() {
    (0, _classCallCheck2.default)(this, NotFoundWithNoIconClient);
    return _callSuper(this, NotFoundWithNoIconClient, arguments);
  }
  (0, _inherits2.default)(NotFoundWithNoIconClient, _MockCardClient13);
  return (0, _createClass2.default)(NotFoundWithNoIconClient, [{
    key: "fetchData",
    value: function fetchData() {
      return Promise.resolve(_objectSpread(_objectSpread({}, mocks.notFound), {}, {
        data: _objectSpread(_objectSpread({}, mocks.forbidden.data), {}, {
          generator: {
            name: 'Provider'
          }
        })
      }));
    }
  }]);
}(MockCardClient);
var UnAuthClient = exports.UnAuthClient = /*#__PURE__*/function (_MockCardClient14) {
  function UnAuthClient() {
    (0, _classCallCheck2.default)(this, UnAuthClient);
    return _callSuper(this, UnAuthClient, arguments);
  }
  (0, _inherits2.default)(UnAuthClient, _MockCardClient14);
  return (0, _createClass2.default)(UnAuthClient, [{
    key: "fetchData",
    value: function fetchData(url) {
      return Promise.resolve(mocks.unauthorized(url));
    }
  }]);
}(MockCardClient);
var UnAuthClientWithProviderImage = exports.UnAuthClientWithProviderImage = /*#__PURE__*/function (_MockCardClient15) {
  function UnAuthClientWithProviderImage() {
    (0, _classCallCheck2.default)(this, UnAuthClientWithProviderImage);
    return _callSuper(this, UnAuthClientWithProviderImage, arguments);
  }
  (0, _inherits2.default)(UnAuthClientWithProviderImage, _MockCardClient15);
  return (0, _createClass2.default)(UnAuthClientWithProviderImage, [{
    key: "fetchData",
    value: function fetchData(url) {
      var unauthorizedResponse = mocks.unauthorized(url);
      unauthorizedResponse.data.generator.image = {
        '@type': 'Image',
        url: _images.iconGoogleDrive
      };
      return Promise.resolve(unauthorizedResponse);
    }
  }]);
}(MockCardClient);
var UnAuthClientWithNoAuthFlow = exports.UnAuthClientWithNoAuthFlow = /*#__PURE__*/function (_MockCardClient16) {
  function UnAuthClientWithNoAuthFlow() {
    (0, _classCallCheck2.default)(this, UnAuthClientWithNoAuthFlow);
    return _callSuper(this, UnAuthClientWithNoAuthFlow, arguments);
  }
  (0, _inherits2.default)(UnAuthClientWithNoAuthFlow, _MockCardClient16);
  return (0, _createClass2.default)(UnAuthClientWithNoAuthFlow, [{
    key: "fetchData",
    value: function fetchData(url) {
      var unauthorizedResponse = mocks.unauthorized(url);
      unauthorizedResponse.meta.auth = [];
      return Promise.resolve(unauthorizedResponse);
    }
  }]);
}(MockCardClient);
var UnAuthClientWithNoIcon = exports.UnAuthClientWithNoIcon = /*#__PURE__*/function (_MockCardClient17) {
  function UnAuthClientWithNoIcon() {
    (0, _classCallCheck2.default)(this, UnAuthClientWithNoIcon);
    return _callSuper(this, UnAuthClientWithNoIcon, arguments);
  }
  (0, _inherits2.default)(UnAuthClientWithNoIcon, _MockCardClient17);
  return (0, _createClass2.default)(UnAuthClientWithNoIcon, [{
    key: "fetchData",
    value: function fetchData(url) {
      var unauthorizedResponse = mocks.unauthorized(url);
      unauthorizedResponse.meta.key = 'some-unknown-provider';
      unauthorizedResponse.data.generator = {
        name: 'Provider',
        '@type': 'Application',
        icon: undefined
      };
      return Promise.resolve(unauthorizedResponse);
    }
  }]);
}(MockCardClient);
var UnicornResolvedClient = exports.UnicornResolvedClient = /*#__PURE__*/function (_CardClient2) {
  function UnicornResolvedClient() {
    (0, _classCallCheck2.default)(this, UnicornResolvedClient);
    return _callSuper(this, UnicornResolvedClient, arguments);
  }
  (0, _inherits2.default)(UnicornResolvedClient, _CardClient2);
  return (0, _createClass2.default)(UnicornResolvedClient, [{
    key: "fetchData",
    value: function fetchData() {
      return Promise.resolve(_exampleHelpers.unicornResponse);
    }
  }]);
}(_linkProvider.CardClient);