{"version":3,"sources":["../../src/viewer-structure-v1-site-structure-item-site-structure-service.universal.ts","../../src/viewer-structure-v1-site-structure-item-site-structure-service.http.ts","../../src/viewer-structure-v1-site-structure-item-site-structure-service.public.ts","../../src/viewer-structure-v1-site-structure-item-site-structure-service.context.ts"],"sourcesContent":["import { transformError as sdkTransformError } from '@wix/sdk-runtime/transform-error';\nimport {\n  renameKeysFromSDKRequestToRESTRequest,\n  renameKeysFromRESTResponseToSDKResponse,\n} from '@wix/sdk-runtime/rename-all-nested-keys';\nimport { HttpClient, NonNullablePaths } from '@wix/sdk-types';\nimport * as ambassadorWixViewerStructureV1SiteStructureItem from './viewer-structure-v1-site-structure-item-site-structure-service.http.js';\nimport { transformRESTImageToSDKImage } from '@wix/sdk-runtime/transformations/image';\nimport { transformRESTVideoV2ToSDKVideoV2 } from '@wix/sdk-runtime/transformations/video-v2';\nimport { transformRESTVideoToSDKVideo } from '@wix/sdk-runtime/transformations/video';\nimport { transformRESTDocumentToSDKDocument } from '@wix/sdk-runtime/transformations/document';\nimport { transformPaths } from '@wix/sdk-runtime/transformations/transform-paths';\n\nconst TRANSFORM_PATHS_0 = [\n  { path: 'results.image', isRepeated: true },\n  { path: 'results.media.image' },\n];\nconst TRANSFORM_PATHS_1 = [{ path: 'results.video', isRepeated: true }];\nconst TRANSFORM_PATHS_2 = [{ path: 'results.media.video' }];\nconst TRANSFORM_PATHS_3 = [{ path: 'results.media.document' }];\n\nexport interface SiteStructureItem {\n  /**\n   * The end goal: this field should contain a unique identifier for this site-structure item.\\\n   * Currently it contains:\n   * - For site-structure integrated TPAs - the unique identifier provided by the TPA.\n   * - For all other item types - empty string.\n   */\n  itemId?: string;\n  /**\n   * An identifier for the type of the item. One of:\n   * - For the site's static pages - \"static_page\".\n   * - For legacy integration TPAs - the TPA's app-def-id.\n   * - For TPAs with new site-structure integration - the item type identifier provided by the TPA. Commonly one of that TPA's supported sub-pages.\n   * - For items that are the result of a dynamic router - \"dynamic-page\".\n   */\n  itemTypeIdentifier?: string;\n  /**\n   * An identifier for the source of the item. One of:\n   * - For the site's static pages - \"editor\".\n   * - For legacy integration TPAs - the TPA's app-def-id.\n   * - For TPAs with new site-structure integration - the TPA's app-def-id.\n   * - For items that are the result of a dataBinding router - Wix-Data's app-def-id: 'e593b0bd-b783-45b8-97c2-873d42aacaf4'.\n   * - For items that are the result of a dynamic router - Wix-Code's app-def-id: '675bbcef-18d8-41f5-800e-131ec9e08762'.\n   */\n  sourceId?: string;\n  /**\n   * An identifier for the configuration of the item. Used currently as some sort of a placeholder for further filtering.\n   * - For items of type \"dynamic-page\" - The 'prefix' field that is part of the router-config object of the router that is related to this item (see WixCodeDynamicRouterResolver).\n   * - For all other items types - empty string.\n   */\n  configId?: string;\n  /**\n   * A human readable name string associated with the item.\\\n   * Currently exists only for new TPA site-structure integration items, and contains the 'name' field provided by the TPA for that item.\\\n   * This field is not guaranteed to be unique across the item list.\n   */\n  name?: string | null;\n  /**\n   * Deprecated. Previously used for media content that is associated with an item.\\\n   * See 'image' and 'video' fields of this message.\n   * @deprecated\n   */\n  media?: MediaItem[];\n  /** A relative url path that can be used, with the site's base-url, to reach the page represented by this item. */\n  path?: string | null;\n  /**\n   * A timestamp representing the moment that this item was last changed.\n   * - For static pages - the site's last publish time.\n   * - For all kinds of TPAs - the last-modified field in the respective response item from the TPA.\n   * - For items that are the result of a dynamic router - the content of the 'lastModified' optional field in the response item from Wix-Code's RPC endpoint, or, if missing, the site's last publish time. (see WixCodeDynamicRouterResolver).\n   */\n  _updatedDate?: Date | null;\n  /**\n   * A value indicating whether the item is inactive or not. E.g. hidden product/finished event etc.\\\n   * Currently exists only for new TPA site-structure integration items, and contains the 'inactive' field provided by the TPA for that item.\n   */\n  inactive?: boolean | null;\n  /**\n   * A general free schema field to include further metadata related to this item.\\\n   * Currently exists only for:\\\n   * Static pages - a JSON that is the merge of:\n   * 1. The advancedSeoData JSON string that exists for the page in the master-page.\n   * 2. A JSON of the form:\n   * ```javascript\n   * {\n   * \"seo_legacy\": {\n   * \"hidden_from_seo\": true / false\n   * },\n   * \"password_protected\": true / false\n   * }\n   * ```\n   * New TPA site-structure integration items - the 'metadata' field provided by the TPA for that item.\n   */\n  metadata?: Record<string, any> | null;\n  /**\n   * An image media metadata the is related to this item.\\\n   * Currently exists only for new TPA site-structure integration items, and contains the 'image' field provided by the TPA for that item.\n   */\n  image?: string[];\n  /**\n   * A video media metadata the is related to this item.\\\n   * Currently exists only for new TPA site-structure integration items, and contains the 'video' field provided by the TPA for that item.\n   */\n  video?: string[];\n  /** A value indicating whether the item is protected or not, by password or login. */\n  protected?: boolean | null;\n  /**\n   * ID of the translations of the item. As same item can have multiple instances, one for each language, we can match them by this ID.\\\n   * For example:\n   * Blog has one post, translated to 2 languages (EN, FR):\n   * - EN item path is `/amazing-post`\n   * - FR item path is `/poste-incroyable\n   * Both of them might have different `item_id`, but will share the same `translation_id`, to be easily match together\n   * Currently only relevant for Blog\n   */\n  translationId?: string;\n  /** A value indicating whether the item is a custom error page or not. */\n  isCustomErrorPage?: boolean | null;\n  /**\n   * An page identifier.\n   * For items that are the result of a dynamic router - page key\n   * @internal\n   */\n  pageIdentifier?: string | null;\n}\n\n/** Deprecated - Copy this message into your service, do not reference it */\nexport interface MediaItem extends MediaItemMediaOneOf {\n  /** WixMedia image */\n  image?: string;\n  /** WixMedia video */\n  video?: string;\n  /** WixMedia document */\n  document?: string;\n}\n\n/** @oneof */\nexport interface MediaItemMediaOneOf {\n  /** WixMedia image */\n  image?: string;\n  /** WixMedia video */\n  video?: string;\n  /** WixMedia document */\n  document?: string;\n}\n\nexport interface FocalPoint {\n  /** X-coordinate of the focal point. */\n  x?: number;\n  /** Y-coordinate of the focal point. */\n  y?: number;\n  /** crop by height */\n  height?: number | null;\n  /** crop by width */\n  width?: number | null;\n}\n\nexport interface VideoResolution {\n  /** Video URL. */\n  url?: string;\n  /** Video height. */\n  height?: number;\n  /** Video width. */\n  width?: number;\n  /**\n   * Deprecated. Use the `posters` property in the parent entity instead.\n   * @internal\n   * @deprecated\n   */\n  poster?: string;\n  /** Video format for example, mp4, hls. */\n  format?: string;\n  /**\n   * Deprecated. Use the `urlExpirationDate` property in the parent entity instead.\n   * @internal\n   * @deprecated\n   */\n  urlExpirationDate?: Date | null;\n  /**\n   * Deprecated. Use the `sizeInBytes` property in the parent entity instead. Size cannot be provided per resolution.\n   * @internal\n   * @format DECIMAL_VALUE\n   * @deprecated\n   */\n  sizeInBytes?: string | null;\n  /**\n   * Video quality. For example: 480p, 720p.\n   * @internal\n   */\n  quality?: string | null;\n  /**\n   * Video filename.\n   * @internal\n   */\n  filename?: string | null;\n  /**\n   * Video duration in seconds.\n   * @internal\n   * @readonly\n   * @deprecated Video duration in seconds.\n   * @replacedBy duration_in_milliseconds\n   * @targetRemovalDate 2024-08-01\n   */\n  durationInSeconds?: number | null;\n  /**\n   * Video duration in milliseconds.\n   * @internal\n   * @readonly\n   */\n  durationInMilliseconds?: number | null;\n  /**\n   * When true, this is a protected asset, and calling the URL will return a 403 error.\n   * In order to access private assets, make a request to:\n   * `GenerateFileDownloadUrl` with the WixMedia id and specify the asset_key in the request\n   * @internal\n   * @readonly\n   */\n  private?: boolean | null;\n  /**\n   * Key to identify the video resolution's relationship to the original media in WixMedia.\n   * Can be used to request a download for the specific video resolution.\n   * For example: 480p.mp4, 720p.mp4, 1080p.mp4, trailer-720p.mp4, clip-720p.mp4\n   * @internal\n   * @readonly\n   */\n  assetKey?: string | null;\n}\n\nexport interface SiteStructureRequest {\n  /** An enum indicating whether the request is for the latest published version (0) or the latest saved version (1) of the site */\n  pageVersion?: PageSegmentWithLiterals;\n  /**\n   * Pagination request metadata, currently applicable for:\\\n   * - Queries filtered for items from a TPA that is part of the new-integration (TpaSiteStructureService)\n   * - Queries filtered for dynamic router items from the new dynamic-pages-router integration (DynamicSiteStructureService)\n   */\n  paging?: CursorPaging;\n  /** Filtering metadata. Only items allowed by the filter will be returned. */\n  filter?: SiteStructureRequestFilter;\n  /** General sorting metadata. Currently not supported. */\n  sorting?: Sorting;\n  /** General field mask metadata. Currently not supported. */\n  fieldSet?: string[];\n  /** Language metadata. Contains 2 chars language code and/or 4 chars language tag. */\n  languageMetadata?: LanguageMetadata;\n  /**\n   * Used to identify the branch of the site for which the structure is requested.\n   * @format GUID\n   */\n  branchId?: string | null;\n}\n\nexport enum PageSegment {\n  PUBLISHED = 'PUBLISHED',\n  SAVED = 'SAVED',\n}\n\n/** @enumType */\nexport type PageSegmentWithLiterals = PageSegment | 'PUBLISHED' | 'SAVED';\n\nexport interface CursorPaging {\n  /**\n   * Maximum number of items to return in the results.\n   * @max 100\n   */\n  limit?: number | null;\n  /**\n   * Pointer to the next or previous page in the list of results.\n   *\n   * Pass the relevant cursor token from the `pagingMetadata` object in the previous call's response.\n   * Not relevant for the first request.\n   * @maxLength 16000\n   */\n  cursor?: string | null;\n}\n\n/** A filter metadata type. The filter forces an 'and' logic between all of its comprising parts. */\nexport interface SiteStructureRequestFilter {\n  /** In accordance to SiteStructureItem.item_type_identifier */\n  itemTypeIdentifier?: string;\n  /** In accordance to SiteStructureItem.source_id */\n  sourceId?: string;\n  /** In accordance to SiteStructureItem.config_id */\n  configId?: string;\n  /**\n   * In accordance to SiteStructureItem.page_identifier\n   * @internal\n   */\n  pageIdentifier?: string | null;\n}\n\nexport interface Sorting {\n  /**\n   * Name of the field to sort by.\n   * @maxLength 512\n   */\n  fieldName?: string;\n  /** Sort order. */\n  order?: SortOrderWithLiterals;\n  /**\n   * When `field_name` is a property of repeated field that is marked as `MATCH_ITEMS` and sort should be done by\n   * a specific element from a collection, filter can/should be provided to ensure correct sort value is picked.\n   *\n   * If multiple filters are provided, they are combined with AND operator.\n   *\n   * Example:\n   * Given we have document like {\"id\": \"1\", \"nestedField\": [{\"price\": 10, \"region\": \"EU\"}, {\"price\": 20, \"region\": \"US\"}]}\n   * and `nestedField` is marked as `MATCH_ITEMS`, to ensure that sorting is done by correct region, filter should be\n   * { fieldName: \"nestedField.price\", \"select_items_by\": [{\"nestedField.region\": \"US\"}] }\n   * @internal\n   * @maxSize 10\n   */\n  selectItemsBy?: Record<string, any>[] | null;\n  /**\n   * Origin point for geo-distance sorting on a GEO field\n   * results are ordered by distance from this point (ASC = nearest first, DESC = farthest first).\n   */\n  origin?: AddressLocation;\n}\n\nexport enum SortOrder {\n  ASC = 'ASC',\n  DESC = 'DESC',\n}\n\n/** @enumType */\nexport type SortOrderWithLiterals = SortOrder | 'ASC' | 'DESC';\n\nexport interface AddressLocation {\n  /** Address latitude. */\n  latitude?: number | null;\n  /** Address longitude. */\n  longitude?: number | null;\n}\n\nexport interface LanguageMetadata {\n  /**\n   * 2 chars language code (e.g. 'en')\n   * @format LANGUAGE\n   */\n  code?: string;\n  /**\n   * 4 chars language tag (e.g. 'en-us')\n   * @format LANGUAGE_TAG\n   */\n  tag?: string | null;\n}\n\nexport interface SiteStructureResponse {\n  /** The total number of items to be returned, combining all paginated responses. */\n  totalResults?: number;\n  /** A cursor based paging response metadata, including the item count in the current page and a cursor string to be used for querying of the next page. */\n  pageData?: CursorPagingMetaData;\n  /** A list of all the result items. */\n  results?: SiteStructureItem[];\n  /** A list of errors that occurred during the fetch process (if any). */\n  errors?: SiteStructureFetchError[];\n}\n\nexport interface CursorPagingMetaData {\n  /** The item count in the current page */\n  count?: number | null;\n  /** The cursor which will be used to query the next page */\n  cursor?: string | null;\n}\n\nexport interface SiteStructureFetchError\n  extends SiteStructureFetchErrorItemTypeOneOf {\n  /**\n   * item type id of the failed fetch\n   * @readonly\n   * @minLength 1\n   * @maxLength 200\n   */\n  itemTypeId?: string;\n  /**\n   * for dynamic pages: router prefix of the failed fetch\n   * @readonly\n   * @minLength 1\n   * @maxLength 200\n   */\n  routerPrefix?: string;\n  /**\n   * Error message\n   * @minLength 1\n   * @maxLength 1000\n   */\n  errorMessage?: string;\n  /**\n   * if the fetch happened while fetching links from a TPA, this will hold the TPA appDefId\n   * @readonly\n   * @format GUID\n   */\n  appId?: string | null;\n}\n\n/** @oneof */\nexport interface SiteStructureFetchErrorItemTypeOneOf {\n  /**\n   * item type id of the failed fetch\n   * @readonly\n   * @minLength 1\n   * @maxLength 200\n   */\n  itemTypeId?: string;\n  /**\n   * for dynamic pages: router prefix of the failed fetch\n   * @readonly\n   * @minLength 1\n   * @maxLength 200\n   */\n  routerPrefix?: string;\n}\n\nexport interface GetSiteStructureMetadataRequest {\n  /** Page's version */\n  pageVersion?: PageSegmentWithLiterals;\n}\n\nexport interface GetSiteStructureMetadataResponse {\n  /** A list of pages types */\n  pageTypes?: SitePageType[];\n}\n\nexport interface SitePageType {\n  /** Type identifier */\n  itemTypeIdentifier?: string;\n  /** Site's page-type sourceId */\n  sourceId?: string;\n  /** Site's page-type configId */\n  configId?: string;\n  /**\n   * Site's pages identifiers\n   * @internal\n   */\n  pageIdentifiers?: string[];\n}\n\nexport interface GetSiteStructureChunksRequest {\n  /** @maxLength 8192 */\n  siteUrl?: string | null;\n  languageMetadata?: LanguageMetadata;\n  /** The size of the chunk to split all the entries into. */\n  chunkSize?: number;\n  pageVersion?: PageSegmentWithLiterals;\n  /** @maxLength 255 */\n  itemTypeIdentifier?: string | null;\n  /** @maxLength 36 */\n  sourceId?: string;\n  /** @maxLength 2048 */\n  configId?: string;\n  /** @maxLength 255 */\n  pageIdentifier?: string | null;\n}\n\nexport interface GetSiteStructureChunksResponse {\n  chunks?: ChunkMetadata[];\n}\n\nexport interface ChunkMetadata {\n  /**\n   * Chunk ID used in subsequent GetSiteMapChunk request.\n   * Opaque provider-generated token; 1024 accommodates the largest known format (e.g. an Elasticsearch cursor).\n   * @maxLength 1024\n   */\n  _id?: string;\n  /** The most recent date when any of the items in a chunk was updated */\n  _updatedDate?: Date | null;\n  /**\n   * Page identifier of the items in a chunk.\n   * @maxLength 255\n   */\n  pageIdentifier?: string | null;\n}\n\nexport interface GetSiteStructureChunkRequest {\n  /** @maxLength 8192 */\n  siteUrl?: string | null;\n  /**\n   * Chunk ID previously returned in ChunkMetadata\n   * @maxLength 1024\n   */\n  chunkId?: string;\n  languageMetadata?: LanguageMetadata;\n  /** Chunk size. It will match the chunk size used in GetSiteMapChunksRequest. */\n  chunkSize?: number | null;\n  pageVersion?: PageSegmentWithLiterals;\n  /**\n   * Used to identify the branch of the site for which the structure is requested.\n   * @format GUID\n   */\n  branchId?: string | null;\n  /** @maxLength 255 */\n  itemTypeIdentifier?: string | null;\n  /** @maxLength 36 */\n  sourceId?: string;\n  /** @maxLength 2048 */\n  configId?: string;\n  /** @maxLength 255 */\n  pageIdentifier?: string | null;\n}\n\nexport interface GetSiteStructureChunkResponse {\n  /** @maxSize 10000 */\n  chunk?: SiteStructureItem[];\n}\n\n/**\n * Get Site's structure\n * @public\n * @fqn com.wixpress.structure.api.SiteStructureService.GetSiteStructure\n */\nexport async function getSiteStructure(\n  options?: GetSiteStructureOptions\n): Promise<\n  NonNullablePaths<\n    SiteStructureResponse,\n    | `totalResults`\n    | `results`\n    | `results.${number}.itemId`\n    | `results.${number}.itemTypeIdentifier`\n    | `results.${number}.sourceId`\n    | `results.${number}.configId`\n    | `results.${number}.translationId`\n    | `errors`\n    | `errors.${number}.itemTypeId`\n    | `errors.${number}.routerPrefix`\n    | `errors.${number}.errorMessage`,\n    2\n  >\n> {\n  // @ts-ignore\n  const { httpClient, sideEffects } = arguments[1] as {\n    httpClient: HttpClient;\n    sideEffects?: any;\n  };\n\n  const payload = renameKeysFromSDKRequestToRESTRequest({\n    pageVersion: options?.pageVersion,\n    paging: options?.paging,\n    filter: options?.filter,\n    sorting: options?.sorting,\n    fieldSet: options?.fieldSet,\n    languageMetadata: options?.languageMetadata,\n    branchId: options?.branchId,\n  });\n\n  const reqOpts =\n    ambassadorWixViewerStructureV1SiteStructureItem.getSiteStructure(payload);\n\n  sideEffects?.onSiteCall?.();\n  try {\n    const result = await httpClient.request(reqOpts);\n    sideEffects?.onSuccess?.(result);\n\n    return renameKeysFromRESTResponseToSDKResponse(\n      transformPaths(result.data, [\n        {\n          transformFn: transformRESTImageToSDKImage,\n          paths: TRANSFORM_PATHS_0,\n        },\n        {\n          transformFn: transformRESTVideoV2ToSDKVideoV2,\n          paths: TRANSFORM_PATHS_1,\n        },\n        {\n          transformFn: transformRESTVideoToSDKVideo,\n          paths: TRANSFORM_PATHS_2,\n        },\n        {\n          transformFn: transformRESTDocumentToSDKDocument,\n          paths: TRANSFORM_PATHS_3,\n        },\n      ])\n    )!;\n  } catch (err: any) {\n    const transformedError = sdkTransformError(\n      err,\n      {\n        spreadPathsToArguments: {},\n        explicitPathsToArguments: {\n          pageVersion: '$[0].pageVersion',\n          paging: '$[0].paging',\n          filter: '$[0].filter',\n          sorting: '$[0].sorting',\n          fieldSet: '$[0].fieldSet',\n          languageMetadata: '$[0].languageMetadata',\n          branchId: '$[0].branchId',\n        },\n        singleArgumentUnchanged: false,\n      },\n      ['options']\n    );\n    sideEffects?.onError?.(err);\n\n    throw transformedError;\n  }\n}\n\nexport interface GetSiteStructureOptions {\n  /** An enum indicating whether the request is for the latest published version (0) or the latest saved version (1) of the site */\n  pageVersion?: PageSegmentWithLiterals;\n  /**\n   * Pagination request metadata, currently applicable for:\\\n   * - Queries filtered for items from a TPA that is part of the new-integration (TpaSiteStructureService)\n   * - Queries filtered for dynamic router items from the new dynamic-pages-router integration (DynamicSiteStructureService)\n   */\n  paging?: CursorPaging;\n  /** Filtering metadata. Only items allowed by the filter will be returned. */\n  filter?: SiteStructureRequestFilter;\n  /** General sorting metadata. Currently not supported. */\n  sorting?: Sorting;\n  /** General field mask metadata. Currently not supported. */\n  fieldSet?: string[];\n  /** Language metadata. Contains 2 chars language code and/or 4 chars language tag. */\n  languageMetadata?: LanguageMetadata;\n  /**\n   * Used to identify the branch of the site for which the structure is requested.\n   * @format GUID\n   */\n  branchId?: string | null;\n}\n\n/**\n * Get Site's structure meta-data\n * @public\n * @fqn com.wixpress.structure.api.SiteStructureService.GetSiteStructureMetadata\n */\nexport async function getSiteStructureMetadata(\n  options?: GetSiteStructureMetadataOptions\n): Promise<\n  NonNullablePaths<\n    GetSiteStructureMetadataResponse,\n    | `pageTypes`\n    | `pageTypes.${number}.itemTypeIdentifier`\n    | `pageTypes.${number}.sourceId`\n    | `pageTypes.${number}.configId`,\n    2\n  >\n> {\n  // @ts-ignore\n  const { httpClient, sideEffects } = arguments[1] as {\n    httpClient: HttpClient;\n    sideEffects?: any;\n  };\n\n  const payload = renameKeysFromSDKRequestToRESTRequest({\n    pageVersion: options?.pageVersion,\n  });\n\n  const reqOpts =\n    ambassadorWixViewerStructureV1SiteStructureItem.getSiteStructureMetadata(\n      payload\n    );\n\n  sideEffects?.onSiteCall?.();\n  try {\n    const result = await httpClient.request(reqOpts);\n    sideEffects?.onSuccess?.(result);\n\n    return renameKeysFromRESTResponseToSDKResponse(result.data)!;\n  } catch (err: any) {\n    const transformedError = sdkTransformError(\n      err,\n      {\n        spreadPathsToArguments: {},\n        explicitPathsToArguments: { pageVersion: '$[0].pageVersion' },\n        singleArgumentUnchanged: false,\n      },\n      ['options']\n    );\n    sideEffects?.onError?.(err);\n\n    throw transformedError;\n  }\n}\n\nexport interface GetSiteStructureMetadataOptions {\n  /** Page's version */\n  pageVersion?: PageSegmentWithLiterals;\n}\n","import { transformSDKFloatToRESTFloat } from '@wix/sdk-runtime/transformations/float';\nimport { transformRESTFloatToSDKFloat } from '@wix/sdk-runtime/transformations/float';\nimport { transformRESTTimestampToSDKTimestamp } from '@wix/sdk-runtime/transformations/timestamp';\nimport { transformPaths } from '@wix/sdk-runtime/transformations/transform-paths';\nimport { resolveUrl } from '@wix/sdk-runtime/rest-modules';\nimport { ResolveUrlOpts } from '@wix/sdk-runtime/rest-modules';\nimport { RequestOptionsFactory } from '@wix/sdk-types';\n\nconst TRANSFORM_PATHS_0 = [\n  { path: 'sorting.origin.latitude' },\n  { path: 'sorting.origin.longitude' },\n];\nconst TRANSFORM_PATHS_1 = [\n  { path: 'results.updatedDate' },\n  { path: 'results.media.image.urlExpirationDate' },\n  { path: 'results.media.video.thumbnail.urlExpirationDate' },\n  { path: 'results.media.document.urlExpirationDate' },\n  { path: 'results.media.document.thumbnail.urlExpirationDate' },\n  { path: 'results.image.urlExpirationDate' },\n  { path: 'results.video.urlExpirationDate' },\n  { path: 'results.video.resolutions.urlExpirationDate' },\n  { path: 'results.video.resolutions.poster.urlExpirationDate' },\n  { path: 'results.video.posters.urlExpirationDate' },\n];\nconst TRANSFORM_PATHS_2 = [\n  { path: 'results.media.image.focalPoint.x' },\n  { path: 'results.media.image.focalPoint.y' },\n  { path: 'results.media.video.thumbnail.focalPoint.x' },\n  { path: 'results.media.video.thumbnail.focalPoint.y' },\n  { path: 'results.media.document.thumbnail.focalPoint.x' },\n  { path: 'results.media.document.thumbnail.focalPoint.y' },\n  { path: 'results.image.focalPoint.x' },\n  { path: 'results.image.focalPoint.y' },\n  { path: 'results.video.resolutions.poster.focalPoint.x' },\n  { path: 'results.video.resolutions.poster.focalPoint.y' },\n  { path: 'results.video.posters.focalPoint.x' },\n  { path: 'results.video.posters.focalPoint.y' },\n];\n\nfunction resolveComWixpressStructureApiSiteStructureServiceUrl(\n  opts: Omit<ResolveUrlOpts, 'domainToMappings'>\n) {\n  const domainToMappings = {\n    'editor._base_domain_': [\n      {\n        srcPath: '/_api/site-structure-server',\n        destPath: '',\n      },\n    ],\n    'blocks._base_domain_': [\n      {\n        srcPath: '/_api/site-structure-server',\n        destPath: '',\n      },\n    ],\n    'create.editorx': [\n      {\n        srcPath: '/_api/site-structure-server',\n        destPath: '',\n      },\n    ],\n    'manage._base_domain_': [\n      {\n        srcPath: '/_api/site-structure-server',\n        destPath: '',\n      },\n    ],\n    'api._api_base_domain_': [\n      {\n        srcPath: '/site-structure-server',\n        destPath: '',\n      },\n    ],\n  };\n\n  return resolveUrl(Object.assign(opts, { domainToMappings }));\n}\n\nconst PACKAGE_NAME = '@wix/auto_sdk_viewer_site-structure-service';\n\n/** Get Site's structure */\nexport function getSiteStructure(payload: object): RequestOptionsFactory<any> {\n  function __getSiteStructure({ host }: any) {\n    const serializedData = transformPaths(payload, [\n      {\n        transformFn: transformSDKFloatToRESTFloat,\n        paths: TRANSFORM_PATHS_0,\n      },\n    ]);\n    const metadata = {\n      entityFqdn: 'wix.viewer.structure.v1.site_structure_item',\n      method: 'POST' as any,\n      methodFqn:\n        'com.wixpress.structure.api.SiteStructureService.GetSiteStructure',\n      packageName: PACKAGE_NAME,\n      migrationOptions: {\n        optInTransformResponse: true,\n      },\n      url: resolveComWixpressStructureApiSiteStructureServiceUrl({\n        protoPath: '/v1/site-structure',\n        data: serializedData,\n        host,\n      }),\n      data: serializedData,\n      transformResponse: (payload: any) =>\n        transformPaths(payload, [\n          {\n            transformFn: transformRESTTimestampToSDKTimestamp,\n            paths: TRANSFORM_PATHS_1,\n          },\n          {\n            transformFn: transformRESTFloatToSDKFloat,\n            paths: TRANSFORM_PATHS_2,\n          },\n        ]),\n    };\n\n    return metadata;\n  }\n\n  return __getSiteStructure;\n}\n\n/** Get Site's structure meta-data */\nexport function getSiteStructureMetadata(\n  payload: object\n): RequestOptionsFactory<any> {\n  function __getSiteStructureMetadata({ host }: any) {\n    const metadata = {\n      entityFqdn: 'wix.viewer.structure.v1.site_structure_item',\n      method: 'POST' as any,\n      methodFqn:\n        'com.wixpress.structure.api.SiteStructureService.GetSiteStructureMetadata',\n      packageName: PACKAGE_NAME,\n      migrationOptions: {\n        optInTransformResponse: true,\n      },\n      url: resolveComWixpressStructureApiSiteStructureServiceUrl({\n        protoPath: '/v1/site-structure-metadata',\n        data: payload,\n        host,\n      }),\n      data: payload,\n    };\n\n    return metadata;\n  }\n\n  return __getSiteStructureMetadata;\n}\n","import { HttpClient, NonNullablePaths } from '@wix/sdk-types';\nimport {\n  GetSiteStructureMetadataOptions,\n  GetSiteStructureMetadataResponse,\n  GetSiteStructureOptions,\n  SiteStructureResponse,\n  getSiteStructure as universalGetSiteStructure,\n  getSiteStructureMetadata as universalGetSiteStructureMetadata,\n} from './viewer-structure-v1-site-structure-item-site-structure-service.universal.js';\n\nexport const __metadata = { PACKAGE_NAME: '@wix/viewer' };\n\nexport function getSiteStructure(\n  httpClient: HttpClient\n): GetSiteStructureSignature {\n  return (options?: GetSiteStructureOptions) =>\n    universalGetSiteStructure(\n      options,\n      // @ts-ignore\n      { httpClient }\n    );\n}\n\ninterface GetSiteStructureSignature {\n  /**\n   * Get Site's structure\n   */\n  (options?: GetSiteStructureOptions): Promise<\n    NonNullablePaths<\n      SiteStructureResponse,\n      | `totalResults`\n      | `results`\n      | `results.${number}.itemId`\n      | `results.${number}.itemTypeIdentifier`\n      | `results.${number}.sourceId`\n      | `results.${number}.configId`\n      | `results.${number}.translationId`\n      | `errors`\n      | `errors.${number}.itemTypeId`\n      | `errors.${number}.routerPrefix`\n      | `errors.${number}.errorMessage`,\n      2\n    >\n  >;\n}\n\nexport function getSiteStructureMetadata(\n  httpClient: HttpClient\n): GetSiteStructureMetadataSignature {\n  return (options?: GetSiteStructureMetadataOptions) =>\n    universalGetSiteStructureMetadata(\n      options,\n      // @ts-ignore\n      { httpClient }\n    );\n}\n\ninterface GetSiteStructureMetadataSignature {\n  /**\n   * Get Site's structure meta-data\n   */\n  (options?: GetSiteStructureMetadataOptions): Promise<\n    NonNullablePaths<\n      GetSiteStructureMetadataResponse,\n      | `pageTypes`\n      | `pageTypes.${number}.itemTypeIdentifier`\n      | `pageTypes.${number}.sourceId`\n      | `pageTypes.${number}.configId`,\n      2\n    >\n  >;\n}\n\nexport {\n  AddressLocation,\n  ChunkMetadata,\n  CursorPaging,\n  CursorPagingMetaData,\n  FocalPoint,\n  GetSiteStructureChunkRequest,\n  GetSiteStructureChunkResponse,\n  GetSiteStructureChunksRequest,\n  GetSiteStructureChunksResponse,\n  GetSiteStructureMetadataOptions,\n  GetSiteStructureMetadataRequest,\n  GetSiteStructureMetadataResponse,\n  GetSiteStructureOptions,\n  LanguageMetadata,\n  MediaItem,\n  MediaItemMediaOneOf,\n  PageSegment,\n  SitePageType,\n  SiteStructureFetchError,\n  SiteStructureFetchErrorItemTypeOneOf,\n  SiteStructureItem,\n  SiteStructureRequest,\n  SiteStructureRequestFilter,\n  SiteStructureResponse,\n  SortOrder,\n  Sorting,\n  VideoResolution,\n} from './viewer-structure-v1-site-structure-item-site-structure-service.universal.js';\n","import {\n  getSiteStructure as publicGetSiteStructure,\n  getSiteStructureMetadata as publicGetSiteStructureMetadata,\n} from './viewer-structure-v1-site-structure-item-site-structure-service.public.js';\nimport { createRESTModule } from '@wix/sdk-runtime/rest-modules';\nimport { BuildRESTFunction, MaybeContext } from '@wix/sdk-types';\n\nexport const getSiteStructure: MaybeContext<\n  BuildRESTFunction<typeof publicGetSiteStructure> &\n    typeof publicGetSiteStructure\n> = /*#__PURE__*/ createRESTModule(publicGetSiteStructure);\nexport const getSiteStructureMetadata: MaybeContext<\n  BuildRESTFunction<typeof publicGetSiteStructureMetadata> &\n    typeof publicGetSiteStructureMetadata\n> = /*#__PURE__*/ createRESTModule(publicGetSiteStructureMetadata);\n\nexport {\n  PageSegment,\n  SortOrder,\n} from './viewer-structure-v1-site-structure-item-site-structure-service.universal.js';\nexport {\n  SiteStructureItem,\n  MediaItem,\n  MediaItemMediaOneOf,\n  FocalPoint,\n  VideoResolution,\n  SiteStructureRequest,\n  CursorPaging,\n  SiteStructureRequestFilter,\n  Sorting,\n  AddressLocation,\n  LanguageMetadata,\n  SiteStructureResponse,\n  CursorPagingMetaData,\n  SiteStructureFetchError,\n  SiteStructureFetchErrorItemTypeOneOf,\n  GetSiteStructureMetadataRequest,\n  GetSiteStructureMetadataResponse,\n  SitePageType,\n  GetSiteStructureChunksRequest,\n  GetSiteStructureChunksResponse,\n  ChunkMetadata,\n  GetSiteStructureChunkRequest,\n  GetSiteStructureChunkResponse,\n  GetSiteStructureOptions,\n  GetSiteStructureMetadataOptions,\n} from './viewer-structure-v1-site-structure-item-site-structure-service.universal.js';\nexport {\n  PageSegmentWithLiterals,\n  SortOrderWithLiterals,\n} from './viewer-structure-v1-site-structure-item-site-structure-service.universal.js';\n"],"mappings":"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","names":["payload","transformPaths","TRANSFORM_PATHS_0","TRANSFORM_PATHS_1","TRANSFORM_PATHS_2","PageSegment","SortOrder","getSiteStructure","getSiteStructureMetadata","getSiteStructure","getSiteStructureMetadata","getSiteStructure","getSiteStructureMetadata"]}