Current section

Files

Jump to
crawlberg lib crawlberg scrape_result.ex
Raw

lib/crawlberg/scrape_result.ex

# This file is auto-generated by alef — DO NOT EDIT.
# alef:hash:ed6753aa35e27ad4764a749b35d849473835fb530fcba666ac607635b1333c06
# To regenerate: alef generate
# To verify freshness: alef verify --exit-code
defmodule Crawlberg.ScrapeResult do
@moduledoc "The result of a single-page scrape operation."
@typedoc "The result of a single-page scrape operation."
@type t :: %__MODULE__{
status_code: non_neg_integer(),
final_url: String.t() | nil,
content_type: String.t() | nil,
html: String.t() | nil,
body_size: non_neg_integer(),
metadata: Crawlberg.PageMetadata.t(),
links: [Crawlberg.LinkInfo.t()],
images: [Crawlberg.ImageInfo.t()],
feeds: [Crawlberg.FeedInfo.t()],
json_ld: [Crawlberg.JsonLdEntry.t()],
is_allowed: boolean(),
crawl_delay: non_neg_integer() | nil,
noindex_detected: boolean(),
nofollow_detected: boolean(),
x_robots_tag: String.t() | nil,
is_pdf: boolean(),
was_skipped: boolean(),
detected_charset: String.t() | nil,
auth_header_sent: boolean(),
response_meta: Crawlberg.ResponseMeta.t() | nil,
assets: [Crawlberg.DownloadedAsset.t()],
js_render_hint: boolean(),
browser_used: boolean(),
markdown: Crawlberg.MarkdownResult.t() | nil,
extracted_data: String.t() | nil,
extraction_meta: Crawlberg.ExtractionMeta.t() | nil,
downloaded_document: Crawlberg.DownloadedDocument.t() | nil,
browser: Crawlberg.BrowserExtras.t() | nil
}
defstruct status_code: 0,
final_url: nil,
content_type: nil,
html: nil,
body_size: 0,
metadata: nil,
links: [],
images: [],
feeds: [],
json_ld: [],
is_allowed: false,
crawl_delay: nil,
noindex_detected: false,
nofollow_detected: false,
x_robots_tag: nil,
is_pdf: false,
was_skipped: false,
detected_charset: nil,
auth_header_sent: false,
response_meta: nil,
assets: [],
js_render_hint: false,
browser_used: false,
markdown: nil,
extracted_data: nil,
extraction_meta: nil,
downloaded_document: nil,
browser: nil
defimpl Jason.Encoder do
@doc false
def encode(value, opts) do
value
|> Map.from_struct()
|> Enum.reject(fn {_k, v} -> v == nil end)
|> Enum.into(%{})
|> Jason.Encoder.encode(opts)
end
end
end