Files
marvel-service/docs/data/documentation/marvelservice.json
T
javier d5bd9feb0a First version of the library documentation (#7)
This PR contains the work done to write the main article of the `DocC` documentation for the library, which introduces the library as well as explains how to install it and use it.

Reviewed-on: #7
Co-authored-by: Javier Cicchelli <javier@rock-n-code.com>
Co-committed-by: Javier Cicchelli <javier@rock-n-code.com>
2025-10-05 18:41:22 +00:00

1 line
42 KiB
JSON
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
{"sections":[],"abstract":[{"text":"A library that allows the developer to interact with the ","type":"text"},{"inlineContent":[{"type":"text","text":"Marvel Comics API"}],"type":"strong"},{"text":" backend service.","type":"text"}],"identifier":{"url":"doc:\/\/MarvelService\/documentation\/MarvelService","interfaceLanguage":"swift"},"primaryContentSections":[{"content":[{"level":2,"anchor":"Overview","text":"Overview","type":"heading"},{"inlineContent":[{"type":"text","text":"The "},{"inlineContent":[{"text":"MarvelService","type":"text"}],"type":"strong"},{"text":" library is a package that allows the developer to interact with all the available endpoints of the ","type":"text"},{"type":"reference","identifier":"https:\/\/developer.marvel.com","isActive":true},{"type":"text","text":"."}],"type":"paragraph"},{"type":"heading","level":2,"anchor":"Installation","text":"Installation"},{"inlineContent":[{"type":"text","text":"This library can be integrated into your library, tool, and\/or app as an added dependency into any "},{"type":"codeVoice","code":"Package.swift"},{"type":"text","text":" file or Xcode project with the "},{"identifier":"https:\/\/developer.apple.com\/documentation\/xcode\/swift-packages","type":"reference","isActive":true},{"text":".","type":"text"}],"type":"paragraph"},{"inlineContent":[{"type":"text","text":"Heres an example of how to add this library as a dependency into a "},{"type":"codeVoice","code":"Package.swift"},{"type":"text","text":" file:"}],"type":"paragraph"},{"syntax":"swift","code":["let package = Package("," \/\/ name, platforms, products, etc."," dependencies: ["," .package(url: \"https:\/\/github.com\/rock-n-code\/marvel-service\", from: \"1.0.0\"),"," \/\/ other dependencies"," ],"," targets: ["," .target("," name: \"SomeTarget\", "," dependencies: ["," .product(name: \"MarvelService\", package: \"marvel-service\"),"," ]"," )"," \/\/ other targets"," ]",")"],"type":"codeListing"},{"inlineContent":[{"type":"text","text":"In "},{"type":"reference","identifier":"https:\/\/developer.apple.com\/xcode\/","isActive":true},{"type":"text","text":", on the other hand, it is required to use the Xcode inerface to add dependencies into a project or workspace."}],"type":"paragraph"},{"type":"aside","style":"important","name":"Important","content":[{"type":"paragraph","inlineContent":[{"text":"Swift 5.10 or higher is required in order to build this library.","type":"text"}]}]},{"text":"Usage","anchor":"Usage","type":"heading","level":2},{"inlineContent":[{"text":"After adding the ","type":"text"},{"type":"codeVoice","code":"MarvelService"},{"text":" library as a dependency in the library, tool, and\/or application, as explained in the previous sec tion, then it is required to import the library.","type":"text"}],"type":"paragraph"},{"type":"codeListing","code":["import MarvelService"],"syntax":"swift"},{"type":"paragraph","inlineContent":[{"text":"Then a ","type":"text"},{"identifier":"doc:\/\/MarvelService\/documentation\/MarvelService\/Client","type":"reference","isActive":true},{"text":" must to be initialized. Although this type is highly configurable, and browsing through its documentation is highly recomendable; it requires three parameters to set the client correctly:","type":"text"}]},{"type":"orderedList","items":[{"content":[{"inlineContent":[{"inlineContent":[{"text":"a host URL to which the client connects to","type":"text"}],"type":"emphasis"},{"text":";","type":"text"}],"type":"paragraph"}]},{"content":[{"inlineContent":[{"inlineContent":[{"text":"a transport in charge of performing the HTTP operations","type":"text"}],"type":"emphasis"},{"text":";","type":"text"}],"type":"paragraph"}]},{"content":[{"inlineContent":[{"inlineContent":[{"text":"an authorization middleware configured with either an ","type":"text"},{"code":"api key","type":"codeVoice"},{"text":" or a ","type":"text"},{"code":"private+public","type":"codeVoice"},{"text":" keys","type":"text"}],"type":"emphasis"},{"text":".","type":"text"}],"type":"paragraph"}]}]},{"type":"codeListing","syntax":"swift","code":["let marvelClient = Client("," serverURL: try Servers.Server1.url(),"," transport: URLSessionTransport(),"," middlewares: ["," AuthMiddleware("," privateKey: \"SomePrivateKey\","," publicKey: \"SomePublicKey\""," )"," ]",")"]},{"type":"aside","content":[{"inlineContent":[{"text":"It is mandatory to signup to the ","type":"text"},{"identifier":"https:\/\/developer.marvel.com\/account","isActive":true,"type":"reference"},{"text":" in order to obtain an ","type":"text"},{"inlineContent":[{"text":"API Key","type":"text"}],"type":"emphasis"},{"text":" to use this library, as every request to this service ","type":"text"},{"identifier":"https:\/\/developer.marvel.com\/documentation\/authorization","isActive":true,"type":"reference"},{"text":".","type":"text"}],"type":"paragraph"}],"style":"important","name":"Important"},{"type":"paragraph","inlineContent":[{"text":"Finally a client is ready to use! This client is now able to request any information regarding to any published Marvel ","type":"text"},{"inlineContent":[{"text":"characters, comics, creators, events, series and stories","type":"text"}],"type":"emphasis"},{"text":" to the ","type":"text"},{"inlineContent":[{"text":"Marvel Comics API","type":"text"}],"type":"strong"},{"text":" service, and handle its responses as follows:","type":"text"}]},{"type":"codeListing","syntax":"swift","code":["do {"," let response = try await marvelClient.getCharacters("," query: .init(name: \"wolverine\"),"," )",""," switch response {"," case let .ok(ok):"," switch ok.body {"," case let .json(charactersContainer):"," \/\/ Do something with the `charactersContainer` object."," }"," case let .unauthorized(standardError):"," \/\/ Do something with the `standardError` object."," case .forbidden(_):"," \/\/ Do something here, like throwing an error."," case let .notFound(standardError):"," \/\/ Do something with the `standardError` object."," case let .methodNotAllowed(_):"," \/\/ Do something here, like throwing an error."," case let .conflict(standardError):"," \/\/ Do something with the `standardError` object."," case let .tooManyRequests(_):"," \/\/ Do something here, like throwing an error."," case let .undocumented(statusCode, payload):"," \/\/ Do something with the `statusCode` and `payload` received from undeclared response, if required."," }","} catch {"," \/\/ Do something with any catched error.","}"]},{"type":"aside","content":[{"inlineContent":[{"text":"It is highly recommended to go through the available documentation at the ","type":"text"},{"identifier":"https:\/\/developer.marvel.com","overridingTitle":"Marvel Comics online service","overridingTitleInlineContent":[{"text":"Marvel Comics online service","type":"text"}],"isActive":true,"type":"reference"}],"type":"paragraph"}],"style":"tip","name":"Tip"},{"type":"aside","content":[{"inlineContent":[{"text":"Please do create an issue in case of encountering problems interacting with any of the endpoints.","type":"text"}],"type":"paragraph"}],"style":"warning","name":"Warning"},{"type":"heading","level":2,"text":"Tasks","anchor":"Tasks"},{"type":"paragraph","inlineContent":[{"text":"This library offers a set of ready-to-use tasks that simplify the interaction with the library, which the developer can use from any ","type":"text"},{"code":"Terminal","type":"codeVoice"},{"text":" application.","type":"text"}]},{"type":"aside","content":[{"inlineContent":[{"text":"To show the available list of tasks, plus display some explanations about each and every one of them; please enter the following command:","type":"text"}],"type":"paragraph"}],"style":"tip","name":"Tip"},{"type":"codeListing","syntax":"bash","code":["$ make"]}],"kind":"content"}],"kind":"symbol","hierarchy":{"paths":[[]]},"topicSections":[{"title":"Client","anchor":"Client","identifiers":["doc:\/\/MarvelService\/documentation\/MarvelService\/Client"]},{"title":"Configuration","anchor":"Configuration","identifiers":["doc:\/\/MarvelService\/documentation\/MarvelService\/Servers\/Server1","doc:\/\/MarvelService\/documentation\/MarvelService\/AuthMiddleware"]},{"title":"Core Entity Containers","anchor":"Core-Entity-Containers","identifiers":["doc:\/\/MarvelService\/documentation\/MarvelService\/Components\/Schemas\/CharacterDataContainer","doc:\/\/MarvelService\/documentation\/MarvelService\/Components\/Schemas\/ComicDataContainer","doc:\/\/MarvelService\/documentation\/MarvelService\/Components\/Schemas\/CreatorDataContainer","doc:\/\/MarvelService\/documentation\/MarvelService\/Components\/Schemas\/EventDataContainer","doc:\/\/MarvelService\/documentation\/MarvelService\/Components\/Schemas\/SeriesDataContainer","doc:\/\/MarvelService\/documentation\/MarvelService\/Components\/Schemas\/StoryDataContainer"]},{"title":"Core Entity Wrappers","anchor":"Core-Entity-Wrappers","identifiers":["doc:\/\/MarvelService\/documentation\/MarvelService\/Components\/Schemas\/CharacterDataWrapper","doc:\/\/MarvelService\/documentation\/MarvelService\/Components\/Schemas\/ComicDataWrapper","doc:\/\/MarvelService\/documentation\/MarvelService\/Components\/Schemas\/CreatorDataWrapper","doc:\/\/MarvelService\/documentation\/MarvelService\/Components\/Schemas\/EventDataWrapper","doc:\/\/MarvelService\/documentation\/MarvelService\/Components\/Schemas\/SeriesDataWrapper","doc:\/\/MarvelService\/documentation\/MarvelService\/Components\/Schemas\/StoryDataWrapper"]},{"title":"Core Entity List","anchor":"Core-Entity-List","identifiers":["doc:\/\/MarvelService\/documentation\/MarvelService\/Components\/Schemas\/CharacterList","doc:\/\/MarvelService\/documentation\/MarvelService\/Components\/Schemas\/ComicList","doc:\/\/MarvelService\/documentation\/MarvelService\/Components\/Schemas\/CreatorList","doc:\/\/MarvelService\/documentation\/MarvelService\/Components\/Schemas\/EventList","doc:\/\/MarvelService\/documentation\/MarvelService\/Components\/Schemas\/SeriesList","doc:\/\/MarvelService\/documentation\/MarvelService\/Components\/Schemas\/StoryList"]},{"anchor":"Core-Entity-Summaries","title":"Core Entity Summaries","identifiers":["doc:\/\/MarvelService\/documentation\/MarvelService\/Components\/Schemas\/CharacterSummary","doc:\/\/MarvelService\/documentation\/MarvelService\/Components\/Schemas\/ComicSummary","doc:\/\/MarvelService\/documentation\/MarvelService\/Components\/Schemas\/CreatorSummary","doc:\/\/MarvelService\/documentation\/MarvelService\/Components\/Schemas\/EventSummary","doc:\/\/MarvelService\/documentation\/MarvelService\/Components\/Schemas\/SeriesSummary","doc:\/\/MarvelService\/documentation\/MarvelService\/Components\/Schemas\/StorySummary"]},{"anchor":"Core-Entities","title":"Core Entities","identifiers":["doc:\/\/MarvelService\/documentation\/MarvelService\/Components\/Schemas\/Character","doc:\/\/MarvelService\/documentation\/MarvelService\/Components\/Schemas\/Comic","doc:\/\/MarvelService\/documentation\/MarvelService\/Components\/Schemas\/Creator","doc:\/\/MarvelService\/documentation\/MarvelService\/Components\/Schemas\/Event","doc:\/\/MarvelService\/documentation\/MarvelService\/Components\/Schemas\/Series","doc:\/\/MarvelService\/documentation\/MarvelService\/Components\/Schemas\/Story"]},{"anchor":"Common-Types","title":"Common Types","identifiers":["doc:\/\/MarvelService\/documentation\/MarvelService\/Components\/Schemas\/ComicDate","doc:\/\/MarvelService\/documentation\/MarvelService\/Components\/Schemas\/ComicPrice","doc:\/\/MarvelService\/documentation\/MarvelService\/Components\/Schemas\/Image","doc:\/\/MarvelService\/documentation\/MarvelService\/Components\/Schemas\/TextObject","doc:\/\/MarvelService\/documentation\/MarvelService\/Components\/Schemas\/Url"]},{"title":"Error Types","anchor":"Error-Types","identifiers":["doc:\/\/MarvelService\/documentation\/MarvelService\/Components\/Schemas\/StandardError"]},{"title":"Namespaces","anchor":"Namespaces","identifiers":["doc:\/\/MarvelService\/documentation\/MarvelService\/Components","doc:\/\/MarvelService\/documentation\/MarvelService\/Operations","doc:\/\/MarvelService\/documentation\/MarvelService\/Servers"]},{"title":"Protocols","anchor":"Protocols","identifiers":["doc:\/\/MarvelService\/documentation\/MarvelService\/APIProtocol"]}],"metadata":{"symbolKind":"module","title":"MarvelService","modules":[{"name":"MarvelService"}],"role":"collection","externalID":"MarvelService","roleHeading":"Framework"},"schemaVersion":{"major":0,"minor":3,"patch":0},"variants":[{"paths":["\/documentation\/marvelservice"],"traits":[{"interfaceLanguage":"swift"}]}],"references":{"doc://MarvelService/documentation/MarvelService/Servers":{"identifier":"doc:\/\/MarvelService\/documentation\/MarvelService\/Servers","title":"Servers","fragments":[{"text":"enum","kind":"keyword"},{"text":" ","kind":"text"},{"text":"Servers","kind":"identifier"}],"kind":"symbol","type":"topic","url":"\/documentation\/marvelservice\/servers","role":"symbol","navigatorTitle":[{"text":"Servers","kind":"identifier"}],"abstract":[{"text":"Server URLs defined in the OpenAPI document.","type":"text"}]},"doc://MarvelService/documentation/MarvelService/Components/Schemas/EventList":{"abstract":[{"text":"A resource list containing events which feature this story.","type":"text"}],"role":"symbol","identifier":"doc:\/\/MarvelService\/documentation\/MarvelService\/Components\/Schemas\/EventList","navigatorTitle":[{"kind":"identifier","text":"EventList"}],"title":"Components.Schemas.EventList","fragments":[{"kind":"keyword","text":"struct"},{"kind":"text","text":" "},{"kind":"identifier","text":"EventList"}],"kind":"symbol","type":"topic","url":"\/documentation\/marvelservice\/components\/schemas\/eventlist"},"doc://MarvelService/documentation/MarvelService/Components/Schemas/ComicDate":{"title":"Components.Schemas.ComicDate","abstract":[{"text":"A type that represents a date and time for which the comic was released.","type":"text"}],"url":"\/documentation\/marvelservice\/components\/schemas\/comicdate","navigatorTitle":[{"text":"ComicDate","kind":"identifier"}],"kind":"symbol","identifier":"doc:\/\/MarvelService\/documentation\/MarvelService\/Components\/Schemas\/ComicDate","type":"topic","role":"symbol","fragments":[{"kind":"keyword","text":"struct"},{"text":" ","kind":"text"},{"kind":"identifier","text":"ComicDate"}]},"https://developer.apple.com/xcode/":{"type":"link","url":"https:\/\/developer.apple.com\/xcode\/","titleInlineContent":[{"text":"Xcode","type":"text"}],"identifier":"https:\/\/developer.apple.com\/xcode\/","title":"Xcode"},"doc://MarvelService/documentation/MarvelService/Servers/Server1":{"title":"Servers.Server1","abstract":[{"text":"Live service","type":"text"}],"url":"\/documentation\/marvelservice\/servers\/server1","navigatorTitle":[{"text":"Server1","kind":"identifier"}],"kind":"symbol","identifier":"doc:\/\/MarvelService\/documentation\/MarvelService\/Servers\/Server1","type":"topic","role":"symbol","fragments":[{"text":"enum","kind":"keyword"},{"text":" ","kind":"text"},{"text":"Server1","kind":"identifier"}]},"doc://MarvelService/documentation/MarvelService/Components/Schemas/ComicDataContainer":{"url":"\/documentation\/marvelservice\/components\/schemas\/comicdatacontainer","title":"Components.Schemas.ComicDataContainer","navigatorTitle":[{"text":"ComicDataContainer","kind":"identifier"}],"type":"topic","abstract":[{"type":"text","text":"The container for the comic data."}],"role":"symbol","identifier":"doc:\/\/MarvelService\/documentation\/MarvelService\/Components\/Schemas\/ComicDataContainer","kind":"symbol","fragments":[{"text":"struct","kind":"keyword"},{"text":" ","kind":"text"},{"text":"ComicDataContainer","kind":"identifier"}]},"doc://MarvelService/documentation/MarvelService/Components/Schemas/CharacterDataWrapper":{"title":"Components.Schemas.CharacterDataWrapper","abstract":[{"type":"text","text":"The wrapper for the character data."}],"url":"\/documentation\/marvelservice\/components\/schemas\/characterdatawrapper","navigatorTitle":[{"kind":"identifier","text":"CharacterDataWrapper"}],"kind":"symbol","identifier":"doc:\/\/MarvelService\/documentation\/MarvelService\/Components\/Schemas\/CharacterDataWrapper","type":"topic","role":"symbol","fragments":[{"kind":"keyword","text":"struct"},{"kind":"text","text":" "},{"kind":"identifier","text":"CharacterDataWrapper"}]},"doc://MarvelService/documentation/MarvelService/Components/Schemas/EventSummary":{"fragments":[{"text":"struct","kind":"keyword"},{"text":" ","kind":"text"},{"kind":"identifier","text":"EventSummary"}],"kind":"symbol","identifier":"doc:\/\/MarvelService\/documentation\/MarvelService\/Components\/Schemas\/EventSummary","navigatorTitle":[{"text":"EventSummary","kind":"identifier"}],"url":"\/documentation\/marvelservice\/components\/schemas\/eventsummary","title":"Components.Schemas.EventSummary","role":"symbol","abstract":[{"type":"text","text":"A type that represents a summary of an event resource."}],"type":"topic"},"doc://MarvelService/documentation/MarvelService/Components/Schemas/SeriesSummary":{"url":"\/documentation\/marvelservice\/components\/schemas\/seriessummary","title":"Components.Schemas.SeriesSummary","navigatorTitle":[{"text":"SeriesSummary","kind":"identifier"}],"type":"topic","abstract":[{"type":"text","text":"A type that represents a summary of a series resource."}],"role":"symbol","identifier":"doc:\/\/MarvelService\/documentation\/MarvelService\/Components\/Schemas\/SeriesSummary","kind":"symbol","fragments":[{"text":"struct","kind":"keyword"},{"text":" ","kind":"text"},{"text":"SeriesSummary","kind":"identifier"}]},"https://developer.marvel.com/documentation/authorization":{"type":"link","url":"https:\/\/developer.marvel.com\/documentation\/authorization","titleInlineContent":[{"text":"requires to be signed","type":"text"}],"identifier":"https:\/\/developer.marvel.com\/documentation\/authorization","title":"requires to be signed"},"doc://MarvelService/documentation/MarvelService/Components/Schemas/StorySummary":{"title":"Components.Schemas.StorySummary","abstract":[{"type":"text","text":"A type that represents a summary of a story resource."}],"url":"\/documentation\/marvelservice\/components\/schemas\/storysummary","navigatorTitle":[{"text":"StorySummary","kind":"identifier"}],"kind":"symbol","identifier":"doc:\/\/MarvelService\/documentation\/MarvelService\/Components\/Schemas\/StorySummary","type":"topic","role":"symbol","fragments":[{"text":"struct","kind":"keyword"},{"text":" ","kind":"text"},{"text":"StorySummary","kind":"identifier"}]},"doc://MarvelService/documentation/MarvelService/Components/Schemas/Series":{"fragments":[{"kind":"keyword","text":"struct"},{"kind":"text","text":" "},{"kind":"identifier","text":"Series"}],"kind":"symbol","identifier":"doc:\/\/MarvelService\/documentation\/MarvelService\/Components\/Schemas\/Series","navigatorTitle":[{"kind":"identifier","text":"Series"}],"url":"\/documentation\/marvelservice\/components\/schemas\/series","title":"Components.Schemas.Series","role":"symbol","abstract":[{"type":"text","text":"A series resource type that represents (usually) sequentially number list of comics with the same title and volume (e.g. Uncanny X-Men). Marvel uses the year of original publication for a series as the volume number."}],"type":"topic"},"doc://MarvelService/documentation/MarvelService/Components/Schemas/CreatorDataWrapper":{"abstract":[{"text":"The wrapper for the creator data.","type":"text"}],"role":"symbol","identifier":"doc:\/\/MarvelService\/documentation\/MarvelService\/Components\/Schemas\/CreatorDataWrapper","navigatorTitle":[{"kind":"identifier","text":"CreatorDataWrapper"}],"title":"Components.Schemas.CreatorDataWrapper","fragments":[{"kind":"keyword","text":"struct"},{"kind":"text","text":" "},{"kind":"identifier","text":"CreatorDataWrapper"}],"kind":"symbol","type":"topic","url":"\/documentation\/marvelservice\/components\/schemas\/creatordatawrapper"},"doc://MarvelService/documentation/MarvelService/Components/Schemas/CreatorList":{"abstract":[{"text":"A resource list containing creators whose work appears in this story.","type":"text"}],"role":"symbol","identifier":"doc:\/\/MarvelService\/documentation\/MarvelService\/Components\/Schemas\/CreatorList","navigatorTitle":[{"text":"CreatorList","kind":"identifier"}],"title":"Components.Schemas.CreatorList","fragments":[{"text":"struct","kind":"keyword"},{"kind":"text","text":" "},{"text":"CreatorList","kind":"identifier"}],"kind":"symbol","url":"\/documentation\/marvelservice\/components\/schemas\/creatorlist","type":"topic"},"doc://MarvelService/documentation/MarvelService/Components/Schemas/Creator":{"url":"\/documentation\/marvelservice\/components\/schemas\/creator","title":"Components.Schemas.Creator","navigatorTitle":[{"kind":"identifier","text":"Creator"}],"type":"topic","abstract":[{"text":"A creator resource type that represents women, men and organizations who create comics (e.g. Jack Kirby). They are assigned to the specific comic stories on which they worked, but we bubble up those assignments to the issues, series and events in which the stories appear as a convenience.","type":"text"}],"role":"symbol","identifier":"doc:\/\/MarvelService\/documentation\/MarvelService\/Components\/Schemas\/Creator","kind":"symbol","fragments":[{"kind":"keyword","text":"struct"},{"kind":"text","text":" "},{"kind":"identifier","text":"Creator"}]},"doc://MarvelService/documentation/MarvelService/Components/Schemas/StoryDataWrapper":{"abstract":[{"type":"text","text":"The wrapper for the story data."}],"role":"symbol","identifier":"doc:\/\/MarvelService\/documentation\/MarvelService\/Components\/Schemas\/StoryDataWrapper","navigatorTitle":[{"text":"StoryDataWrapper","kind":"identifier"}],"title":"Components.Schemas.StoryDataWrapper","fragments":[{"text":"struct","kind":"keyword"},{"text":" ","kind":"text"},{"text":"StoryDataWrapper","kind":"identifier"}],"kind":"symbol","url":"\/documentation\/marvelservice\/components\/schemas\/storydatawrapper","type":"topic"},"doc://MarvelService/documentation/MarvelService/Components/Schemas/CharacterList":{"url":"\/documentation\/marvelservice\/components\/schemas\/characterlist","title":"Components.Schemas.CharacterList","navigatorTitle":[{"text":"CharacterList","kind":"identifier"}],"type":"topic","abstract":[{"type":"text","text":"A resource list containing characters which appear in this story."}],"role":"symbol","identifier":"doc:\/\/MarvelService\/documentation\/MarvelService\/Components\/Schemas\/CharacterList","kind":"symbol","fragments":[{"text":"struct","kind":"keyword"},{"text":" ","kind":"text"},{"text":"CharacterList","kind":"identifier"}]},"doc://MarvelService/documentation/MarvelService/Components/Schemas/Comic":{"abstract":[{"type":"text","text":"A comic book resource type that represents physical or digital products that end-users read. This definition includes individual print and digital comic issues, collections and graphic novels (e.g. Amazing Fantasy #15)."}],"role":"symbol","identifier":"doc:\/\/MarvelService\/documentation\/MarvelService\/Components\/Schemas\/Comic","navigatorTitle":[{"text":"Comic","kind":"identifier"}],"title":"Components.Schemas.Comic","fragments":[{"text":"struct","kind":"keyword"},{"text":" ","kind":"text"},{"text":"Comic","kind":"identifier"}],"kind":"symbol","url":"\/documentation\/marvelservice\/components\/schemas\/comic","type":"topic"},"doc://MarvelService/documentation/MarvelService/Components/Schemas/Image":{"url":"\/documentation\/marvelservice\/components\/schemas\/image","title":"Components.Schemas.Image","navigatorTitle":[{"text":"Image","kind":"identifier"}],"type":"topic","abstract":[{"type":"text","text":"A type that represents an image for a resource."}],"role":"symbol","identifier":"doc:\/\/MarvelService\/documentation\/MarvelService\/Components\/Schemas\/Image","kind":"symbol","fragments":[{"text":"struct","kind":"keyword"},{"text":" ","kind":"text"},{"text":"Image","kind":"identifier"}]},"doc://MarvelService/documentation/MarvelService/Components":{"navigatorTitle":[{"text":"Components","kind":"identifier"}],"url":"\/documentation\/marvelservice\/components","identifier":"doc:\/\/MarvelService\/documentation\/MarvelService\/Components","fragments":[{"text":"enum","kind":"keyword"},{"text":" ","kind":"text"},{"text":"Components","kind":"identifier"}],"role":"symbol","type":"topic","abstract":[{"text":"Types generated from the components section of the OpenAPI document.","type":"text"}],"title":"Components","kind":"symbol"},"doc://MarvelService/documentation/MarvelService/Components/Schemas/Event":{"navigatorTitle":[{"text":"Event","kind":"identifier"}],"identifier":"doc:\/\/MarvelService\/documentation\/MarvelService\/Components\/Schemas\/Event","url":"\/documentation\/marvelservice\/components\/schemas\/event","fragments":[{"text":"struct","kind":"keyword"},{"text":" ","kind":"text"},{"text":"Event","kind":"identifier"}],"role":"symbol","type":"topic","title":"Components.Schemas.Event","abstract":[{"text":"An event resource type that represents big, universe-altering storylines (e.g. Infinity). A comics appearance in an event is often independent of its membership in a series.","type":"text"}],"kind":"symbol"},"doc://MarvelService/documentation/MarvelService/Components/Schemas/Character":{"url":"\/documentation\/marvelservice\/components\/schemas\/character","title":"Components.Schemas.Character","navigatorTitle":[{"kind":"identifier","text":"Character"}],"type":"topic","abstract":[{"text":"A character resource type that represents the women, men, organizations, alien species, deities, animals, non-corporeal entities, trans-dimensional manifestations, abstract personifications, and green amorphous blobs which occupy the Marvel Universe as well as various alternate universes, timelines and altered realities therein (e.g. Spider-Man).","type":"text"}],"role":"symbol","identifier":"doc:\/\/MarvelService\/documentation\/MarvelService\/Components\/Schemas\/Character","kind":"symbol","fragments":[{"text":"struct","kind":"keyword"},{"kind":"text","text":" "},{"text":"Character","kind":"identifier"}]},"doc://MarvelService/documentation/MarvelService/Components/Schemas/TextObject":{"title":"Components.Schemas.TextObject","abstract":[{"text":"A type that represents bits of descriptive text which are attached to an entity.","type":"text"}],"url":"\/documentation\/marvelservice\/components\/schemas\/textobject","navigatorTitle":[{"text":"TextObject","kind":"identifier"}],"kind":"symbol","identifier":"doc:\/\/MarvelService\/documentation\/MarvelService\/Components\/Schemas\/TextObject","type":"topic","role":"symbol","fragments":[{"text":"struct","kind":"keyword"},{"text":" ","kind":"text"},{"text":"TextObject","kind":"identifier"}]},"https://developer.marvel.com/account":{"type":"link","url":"https:\/\/developer.marvel.com\/account","titleInlineContent":[{"text":"Developer portal of Marvel Comics","type":"text"}],"identifier":"https:\/\/developer.marvel.com\/account","title":"Developer portal of Marvel Comics"},"doc://MarvelService/documentation/MarvelService/Components/Schemas/SeriesDataContainer":{"url":"\/documentation\/marvelservice\/components\/schemas\/seriesdatacontainer","title":"Components.Schemas.SeriesDataContainer","navigatorTitle":[{"kind":"identifier","text":"SeriesDataContainer"}],"type":"topic","abstract":[{"text":"The container for the series data.","type":"text"}],"role":"symbol","identifier":"doc:\/\/MarvelService\/documentation\/MarvelService\/Components\/Schemas\/SeriesDataContainer","kind":"symbol","fragments":[{"kind":"keyword","text":"struct"},{"kind":"text","text":" "},{"kind":"identifier","text":"SeriesDataContainer"}]},"doc://MarvelService/documentation/MarvelService/Components/Schemas/StoryDataContainer":{"url":"\/documentation\/marvelservice\/components\/schemas\/storydatacontainer","title":"Components.Schemas.StoryDataContainer","navigatorTitle":[{"kind":"identifier","text":"StoryDataContainer"}],"type":"topic","abstract":[{"text":"The container for the story data.","type":"text"}],"role":"symbol","identifier":"doc:\/\/MarvelService\/documentation\/MarvelService\/Components\/Schemas\/StoryDataContainer","kind":"symbol","fragments":[{"kind":"keyword","text":"struct"},{"kind":"text","text":" "},{"kind":"identifier","text":"StoryDataContainer"}]},"doc://MarvelService/documentation/MarvelService/Components/Schemas/Url":{"abstract":[{"type":"text","text":"A type that represents a reference to web pages or deep links into applications. When present in a resultset, it is preferred that you use these to link back to Marvel. Many resources will have more than one representation on the web so URLs are generally presented as an array of URL resources."}],"role":"symbol","identifier":"doc:\/\/MarvelService\/documentation\/MarvelService\/Components\/Schemas\/Url","navigatorTitle":[{"text":"Url","kind":"identifier"}],"title":"Components.Schemas.Url","fragments":[{"text":"struct","kind":"keyword"},{"text":" ","kind":"text"},{"text":"Url","kind":"identifier"}],"kind":"symbol","url":"\/documentation\/marvelservice\/components\/schemas\/url","type":"topic"},"doc://MarvelService/documentation/MarvelService/Components/Schemas/ComicList":{"abstract":[{"text":"A resource list containing comics which feature this story.","type":"text"}],"role":"symbol","identifier":"doc:\/\/MarvelService\/documentation\/MarvelService\/Components\/Schemas\/ComicList","navigatorTitle":[{"text":"ComicList","kind":"identifier"}],"title":"Components.Schemas.ComicList","fragments":[{"text":"struct","kind":"keyword"},{"text":" ","kind":"text"},{"text":"ComicList","kind":"identifier"}],"kind":"symbol","type":"topic","url":"\/documentation\/marvelservice\/components\/schemas\/comiclist"},"doc://MarvelService/documentation/MarvelService/Client":{"abstract":[{"text":"The Marvel Comics RESTful API.","type":"text"}],"role":"symbol","identifier":"doc:\/\/MarvelService\/documentation\/MarvelService\/Client","navigatorTitle":[{"kind":"identifier","text":"Client"}],"title":"Client","fragments":[{"kind":"keyword","text":"struct"},{"kind":"text","text":" "},{"kind":"identifier","text":"Client"}],"kind":"symbol","url":"\/documentation\/marvelservice\/client","type":"topic"},"doc://MarvelService/documentation/MarvelService/Components/Schemas/SeriesDataWrapper":{"title":"Components.Schemas.SeriesDataWrapper","abstract":[{"type":"text","text":"The wrapper for the series data."}],"url":"\/documentation\/marvelservice\/components\/schemas\/seriesdatawrapper","navigatorTitle":[{"text":"SeriesDataWrapper","kind":"identifier"}],"kind":"symbol","identifier":"doc:\/\/MarvelService\/documentation\/MarvelService\/Components\/Schemas\/SeriesDataWrapper","type":"topic","role":"symbol","fragments":[{"text":"struct","kind":"keyword"},{"text":" ","kind":"text"},{"text":"SeriesDataWrapper","kind":"identifier"}]},"doc://MarvelService/documentation/MarvelService/AuthMiddleware":{"abstract":[{"text":"A middleware that attaches the necessary authentication parameters to the path of the request.","type":"text"}],"role":"symbol","identifier":"doc:\/\/MarvelService\/documentation\/MarvelService\/AuthMiddleware","navigatorTitle":[{"text":"AuthMiddleware","kind":"identifier"}],"title":"AuthMiddleware","fragments":[{"text":"struct","kind":"keyword"},{"text":" ","kind":"text"},{"text":"AuthMiddleware","kind":"identifier"}],"kind":"symbol","type":"topic","url":"\/documentation\/marvelservice\/authmiddleware"},"doc://MarvelService/documentation/MarvelService/Components/Schemas/Story":{"abstract":[{"type":"text","text":"A story resource type that represents an indivisible, reusable components of comics. Most comics have two stories - a cover and an interior story (e. g. the cover from Amazing Fantasy #15 and the origin of Spider-Man story from that comic) - but many, such as anthology comics and collections, will have more. Stories may be re-published in several comics, but the comic in which they originally appeared will always be present as a data point."}],"role":"symbol","identifier":"doc:\/\/MarvelService\/documentation\/MarvelService\/Components\/Schemas\/Story","navigatorTitle":[{"kind":"identifier","text":"Story"}],"title":"Components.Schemas.Story","fragments":[{"kind":"keyword","text":"struct"},{"kind":"text","text":" "},{"kind":"identifier","text":"Story"}],"kind":"symbol","url":"\/documentation\/marvelservice\/components\/schemas\/story","type":"topic"},"doc://MarvelService/documentation/MarvelService/Components/Schemas/ComicDataWrapper":{"abstract":[{"type":"text","text":"The wrapper for the comic data."}],"role":"symbol","identifier":"doc:\/\/MarvelService\/documentation\/MarvelService\/Components\/Schemas\/ComicDataWrapper","navigatorTitle":[{"text":"ComicDataWrapper","kind":"identifier"}],"title":"Components.Schemas.ComicDataWrapper","fragments":[{"text":"struct","kind":"keyword"},{"text":" ","kind":"text"},{"text":"ComicDataWrapper","kind":"identifier"}],"kind":"symbol","type":"topic","url":"\/documentation\/marvelservice\/components\/schemas\/comicdatawrapper"},"doc://MarvelService/documentation/MarvelService/Components/Schemas/ComicPrice":{"url":"\/documentation\/marvelservice\/components\/schemas\/comicprice","title":"Components.Schemas.ComicPrice","navigatorTitle":[{"kind":"identifier","text":"ComicPrice"}],"type":"topic","abstract":[{"text":"A type that represents a price (e.g. print price, digital price) for the comic.","type":"text"}],"role":"symbol","identifier":"doc:\/\/MarvelService\/documentation\/MarvelService\/Components\/Schemas\/ComicPrice","kind":"symbol","fragments":[{"kind":"keyword","text":"struct"},{"kind":"text","text":" "},{"kind":"identifier","text":"ComicPrice"}]},"https://developer.apple.com/documentation/xcode/swift-packages":{"type":"link","url":"https:\/\/developer.apple.com\/documentation\/xcode\/swift-packages","titleInlineContent":[{"text":"Swift Package Manager","type":"text"}],"identifier":"https:\/\/developer.apple.com\/documentation\/xcode\/swift-packages","title":"Swift Package Manager"},"doc://MarvelService/documentation/MarvelService/Components/Schemas/StandardError":{"abstract":[{"type":"text","text":"A standard error type."}],"role":"symbol","identifier":"doc:\/\/MarvelService\/documentation\/MarvelService\/Components\/Schemas\/StandardError","navigatorTitle":[{"kind":"identifier","text":"StandardError"}],"title":"Components.Schemas.StandardError","fragments":[{"kind":"keyword","text":"struct"},{"kind":"text","text":" "},{"kind":"identifier","text":"StandardError"}],"kind":"symbol","url":"\/documentation\/marvelservice\/components\/schemas\/standarderror","type":"topic"},"doc://MarvelService/documentation/MarvelService/Components/Schemas/CharacterDataContainer":{"abstract":[{"text":"The container for the character data.","type":"text"}],"role":"symbol","identifier":"doc:\/\/MarvelService\/documentation\/MarvelService\/Components\/Schemas\/CharacterDataContainer","navigatorTitle":[{"kind":"identifier","text":"CharacterDataContainer"}],"title":"Components.Schemas.CharacterDataContainer","fragments":[{"kind":"keyword","text":"struct"},{"text":" ","kind":"text"},{"text":"CharacterDataContainer","kind":"identifier"}],"kind":"symbol","type":"topic","url":"\/documentation\/marvelservice\/components\/schemas\/characterdatacontainer"},"doc://MarvelService/documentation/MarvelService/Components/Schemas/SeriesList":{"identifier":"doc:\/\/MarvelService\/documentation\/MarvelService\/Components\/Schemas\/SeriesList","title":"Components.Schemas.SeriesList","fragments":[{"kind":"keyword","text":"struct"},{"kind":"text","text":" "},{"kind":"identifier","text":"SeriesList"}],"kind":"symbol","type":"topic","url":"\/documentation\/marvelservice\/components\/schemas\/serieslist","role":"symbol","navigatorTitle":[{"kind":"identifier","text":"SeriesList"}],"abstract":[{"type":"text","text":"A resource list containing series in which this story appears."}]},"doc://MarvelService/documentation/MarvelService":{"identifier":"doc:\/\/MarvelService\/documentation\/MarvelService","kind":"symbol","url":"\/documentation\/marvelservice","title":"MarvelService","role":"collection","abstract":[{"text":"A library that allows the developer to interact with the ","type":"text"},{"type":"strong","inlineContent":[{"text":"Marvel Comics API","type":"text"}]},{"type":"text","text":" backend service."}],"type":"topic"},"doc://MarvelService/documentation/MarvelService/Operations":{"fragments":[{"text":"enum","kind":"keyword"},{"text":" ","kind":"text"},{"text":"Operations","kind":"identifier"}],"identifier":"doc:\/\/MarvelService\/documentation\/MarvelService\/Operations","kind":"symbol","navigatorTitle":[{"kind":"identifier","text":"Operations"}],"url":"\/documentation\/marvelservice\/operations","title":"Operations","role":"symbol","abstract":[{"text":"API operations, with input and output types, generated from ","type":"text"},{"type":"codeVoice","code":"#\/paths"},{"type":"text","text":" in the OpenAPI document."}],"type":"topic"},"doc://MarvelService/documentation/MarvelService/Components/Schemas/EventDataContainer":{"identifier":"doc:\/\/MarvelService\/documentation\/MarvelService\/Components\/Schemas\/EventDataContainer","title":"Components.Schemas.EventDataContainer","fragments":[{"text":"struct","kind":"keyword"},{"text":" ","kind":"text"},{"text":"EventDataContainer","kind":"identifier"}],"kind":"symbol","type":"topic","url":"\/documentation\/marvelservice\/components\/schemas\/eventdatacontainer","role":"symbol","navigatorTitle":[{"text":"EventDataContainer","kind":"identifier"}],"abstract":[{"text":"The container for the event data.","type":"text"}]},"doc://MarvelService/documentation/MarvelService/Components/Schemas/CreatorDataContainer":{"url":"\/documentation\/marvelservice\/components\/schemas\/creatordatacontainer","title":"Components.Schemas.CreatorDataContainer","navigatorTitle":[{"text":"CreatorDataContainer","kind":"identifier"}],"type":"topic","abstract":[{"text":"A container type for lists of creators.","type":"text"}],"role":"symbol","identifier":"doc:\/\/MarvelService\/documentation\/MarvelService\/Components\/Schemas\/CreatorDataContainer","kind":"symbol","fragments":[{"text":"struct","kind":"keyword"},{"text":" ","kind":"text"},{"text":"CreatorDataContainer","kind":"identifier"}]},"doc://MarvelService/documentation/MarvelService/APIProtocol":{"url":"\/documentation\/marvelservice\/apiprotocol","title":"APIProtocol","navigatorTitle":[{"text":"APIProtocol","kind":"identifier"}],"type":"topic","abstract":[{"type":"text","text":"A type that performs HTTP operations defined by the OpenAPI document."}],"role":"symbol","identifier":"doc:\/\/MarvelService\/documentation\/MarvelService\/APIProtocol","kind":"symbol","fragments":[{"text":"protocol","kind":"keyword"},{"text":" ","kind":"text"},{"text":"APIProtocol","kind":"identifier"}]},"doc://MarvelService/documentation/MarvelService/Components/Schemas/StoryList":{"fragments":[{"text":"struct","kind":"keyword"},{"text":" ","kind":"text"},{"text":"StoryList","kind":"identifier"}],"identifier":"doc:\/\/MarvelService\/documentation\/MarvelService\/Components\/Schemas\/StoryList","kind":"symbol","navigatorTitle":[{"text":"StoryList","kind":"identifier"}],"url":"\/documentation\/marvelservice\/components\/schemas\/storylist","title":"Components.Schemas.StoryList","role":"symbol","abstract":[{"type":"text","text":"A resource list containing stories which are related to this story."}],"type":"topic"},"doc://MarvelService/documentation/MarvelService/Components/Schemas/CharacterSummary":{"abstract":[{"type":"text","text":"A type that represents a summary of a character resource."}],"role":"symbol","identifier":"doc:\/\/MarvelService\/documentation\/MarvelService\/Components\/Schemas\/CharacterSummary","navigatorTitle":[{"kind":"identifier","text":"CharacterSummary"}],"title":"Components.Schemas.CharacterSummary","fragments":[{"text":"struct","kind":"keyword"},{"text":" ","kind":"text"},{"kind":"identifier","text":"CharacterSummary"}],"kind":"symbol","type":"topic","url":"\/documentation\/marvelservice\/components\/schemas\/charactersummary"},"https://developer.marvel.com":{"type":"link","url":"https:\/\/developer.marvel.com","titleInlineContent":[{"text":"Marvel Comics online service","type":"text"}],"identifier":"https:\/\/developer.marvel.com","title":"Marvel Comics online service"},"doc://MarvelService/documentation/MarvelService/Components/Schemas/ComicSummary":{"url":"\/documentation\/marvelservice\/components\/schemas\/comicsummary","title":"Components.Schemas.ComicSummary","navigatorTitle":[{"text":"ComicSummary","kind":"identifier"}],"type":"topic","abstract":[{"type":"text","text":"A type that represents a summary of a comic resource."}],"role":"symbol","identifier":"doc:\/\/MarvelService\/documentation\/MarvelService\/Components\/Schemas\/ComicSummary","kind":"symbol","fragments":[{"text":"struct","kind":"keyword"},{"text":" ","kind":"text"},{"text":"ComicSummary","kind":"identifier"}]},"doc://MarvelService/documentation/MarvelService/Components/Schemas/EventDataWrapper":{"url":"\/documentation\/marvelservice\/components\/schemas\/eventdatawrapper","title":"Components.Schemas.EventDataWrapper","navigatorTitle":[{"kind":"identifier","text":"EventDataWrapper"}],"type":"topic","abstract":[{"text":"The wrapper for the event data.","type":"text"}],"role":"symbol","identifier":"doc:\/\/MarvelService\/documentation\/MarvelService\/Components\/Schemas\/EventDataWrapper","kind":"symbol","fragments":[{"kind":"keyword","text":"struct"},{"text":" ","kind":"text"},{"text":"EventDataWrapper","kind":"identifier"}]},"doc://MarvelService/documentation/MarvelService/Components/Schemas/CreatorSummary":{"title":"Components.Schemas.CreatorSummary","abstract":[{"text":"A type that represents a summary of a creator resource.","type":"text"}],"url":"\/documentation\/marvelservice\/components\/schemas\/creatorsummary","navigatorTitle":[{"text":"CreatorSummary","kind":"identifier"}],"kind":"symbol","identifier":"doc:\/\/MarvelService\/documentation\/MarvelService\/Components\/Schemas\/CreatorSummary","type":"topic","role":"symbol","fragments":[{"text":"struct","kind":"keyword"},{"text":" ","kind":"text"},{"text":"CreatorSummary","kind":"identifier"}]}}}