/*!
 * Copyright (c) 2026 Vertex Software LLC. All rights reserved.
 */
import { Mapper as M } from "@vertexvis/utils";
import { fromPbCamera, fromPbUuid2l, mapCursor, toPbJsUuid2l, } from "../mappers";
const mapModelView = M.defineMapper(M.read(M.mapRequiredProp('id', fromPbUuid2l), M.getProp('displayName'), M.mapRequiredProp('partRevisionId', fromPbUuid2l), M.mapRequiredProp('camera', fromPbCamera)), ([id, displayName, partRevisionId, camera]) => ({
    id,
    displayName,
    partRevisionId,
    camera,
}));
const mapListItemModelViewsResponse = M.defineMapper(M.read(M.mapProp('modelViewsList', M.mapArray(mapModelView)), M.mapProp('nextPageCursor', mapCursor)), ([modelViews, next]) => ({ modelViews, paging: { next } }));
export const mapListItemModelViewsResponseOrThrow = M.ifInvalidThrow(mapListItemModelViewsResponse);
const mapItemModelView = M.defineMapper(M.read(M.mapProp('modelViewId', toPbJsUuid2l), M.mapProp('sceneItemId', toPbJsUuid2l)), ([modelViewId, sceneItemId]) => ({ modelViewId, sceneItemId }));
export const mapItemModelViewOrThrow = M.ifInvalidThrow(mapItemModelView);
//# sourceMappingURL=mapper.js.map
