UNPKG

@subsocial/api

Version:
84 lines (83 loc) 3.53 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.asCommentStruct = exports.asSharedPostStruct = exports.convertToDerivedContent = exports.isPublic = exports.isUnlisted = exports.convertToNewPostWithAllDetails = exports.convertToNewPostWithSomeDetails = exports.convertToNewPostWithAllDetailsArray = exports.convertToNewPostWithSomeDetailsArray = exports.convertToNewPostDataArray = exports.convertToNewPostData = exports.convertToNewSpaceDataArray = exports.convertToNewSpaceData = exports.asCommentData = void 0; const _1 = require("."); const utils_1 = require("@subsocial/utils"); function asCommentData(postData) { return postData; } exports.asCommentData = asCommentData; function convertToNewSpaceData(Raw) { const struct = (0, _1.flattenSpaceStruct)(Raw.struct); return { id: struct.id, struct, content: convertToDerivedContent(Raw.content) }; } exports.convertToNewSpaceData = convertToNewSpaceData; function convertToNewSpaceDataArray(Raw) { return Raw.map(convertToNewSpaceData); } exports.convertToNewSpaceDataArray = convertToNewSpaceDataArray; function convertToNewPostData(Raw) { const struct = (0, _1.flattenPostStruct)(Raw.struct); return { id: struct.id, struct, content: convertToDerivedContent(Raw.content) }; } exports.convertToNewPostData = convertToNewPostData; function convertToNewPostDataArray(Raw) { return Raw.map(convertToNewPostData); } exports.convertToNewPostDataArray = convertToNewPostDataArray; function convertToNewPostWithSomeDetailsArray(RawDataArr) { return RawDataArr.map(x => { const post = convertToNewPostData(x.post); return { id: post.id, post, ext: x.ext && convertToNewPostWithSomeDetails(x.ext), space: x.space && convertToNewSpaceData(x.space), }; }); } exports.convertToNewPostWithSomeDetailsArray = convertToNewPostWithSomeDetailsArray; function convertToNewPostWithAllDetailsArray(RawDataArr) { return convertToNewPostWithSomeDetailsArray(RawDataArr); } exports.convertToNewPostWithAllDetailsArray = convertToNewPostWithAllDetailsArray; function convertToNewPostWithSomeDetails(RawData) { return !RawData ? undefined : convertToNewPostWithSomeDetailsArray([RawData])[0]; } exports.convertToNewPostWithSomeDetails = convertToNewPostWithSomeDetails; function convertToNewPostWithAllDetails(RawData) { return !RawData ? undefined : convertToNewPostWithAllDetailsArray([RawData])[0]; } exports.convertToNewPostWithAllDetails = convertToNewPostWithAllDetails; function isUnlisted(data) { if (!data) return true; const { struct, content } = data; return struct.hidden || !content; } exports.isUnlisted = isUnlisted; function isPublic(data) { return !isUnlisted(data); } exports.isPublic = isPublic; function convertToDerivedContent(content) { if (!content) return undefined; const maybeSpace = content; const aboutPost = content; const md = maybeSpace.about || aboutPost.body || aboutPost.title; return Object.assign(Object.assign({}, content), (0, utils_1.summarizeMd)(md)); } exports.convertToDerivedContent = convertToDerivedContent; function asSharedPostStruct(post) { if (!post.isSharedPost) throw new Error('Not a shared post'); return post; } exports.asSharedPostStruct = asSharedPostStruct; function asCommentStruct(post) { if (!post.isComment) throw new Error('Not a comment'); return post; } exports.asCommentStruct = asCommentStruct;