@oap75/api
Version:
JavaScript API for Subsocial blockchain.
85 lines (84 loc) • 3.89 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.convertToDerivedContent = exports.isPublic = exports.isUnlisted = exports.convertToNewPostWithAllDetails = exports.convertToNewPostWithSomeDetails = exports.convertToNewPostWithAllDetailsArray = exports.convertToNewPostWithSomeDetailsArray = exports.convertToNewPostDataArray = exports.convertToNewPostData = exports.convertToNewSpaceDataArray = exports.convertToNewSpaceData = exports.convertToNewProfileDataArray = exports.convertToNewProfileData = exports.asCommentData = void 0;
const flatteners_1 = require("./flatteners");
const utils_1 = require("@subsocial/utils");
function asCommentData(postData) {
return postData;
}
exports.asCommentData = asCommentData;
function convertToNewProfileData(old) {
const struct = (0, flatteners_1.flattenProfileStruct)(old.struct);
return { id: struct.id, struct, content: convertToDerivedContent(old.content) };
}
exports.convertToNewProfileData = convertToNewProfileData;
function convertToNewProfileDataArray(oldArr) {
return oldArr.map((old) => {
const struct = (0, flatteners_1.flattenProfileStruct)(old.struct);
return { id: struct.id, struct, content: convertToDerivedContent(old.content) };
});
}
exports.convertToNewProfileDataArray = convertToNewProfileDataArray;
function convertToNewSpaceData(old) {
const struct = (0, flatteners_1.flattenSpaceStruct)(old.struct);
return { id: struct.id, struct, content: convertToDerivedContent(old.content) };
}
exports.convertToNewSpaceData = convertToNewSpaceData;
function convertToNewSpaceDataArray(old) {
return old.map(convertToNewSpaceData);
}
exports.convertToNewSpaceDataArray = convertToNewSpaceDataArray;
function convertToNewPostData(old) {
const struct = (0, flatteners_1.flattenPostStruct)(old.struct);
return { id: struct.id, struct, content: convertToDerivedContent(old.content) };
}
exports.convertToNewPostData = convertToNewPostData;
function convertToNewPostDataArray(old) {
return old.map(convertToNewPostData);
}
exports.convertToNewPostDataArray = convertToNewPostDataArray;
function convertToNewPostWithSomeDetailsArray(oldDataArr) {
return oldDataArr.map(x => {
const post = convertToNewPostData(x.post);
return {
id: post.id,
post,
ext: x.ext && convertToNewPostWithSomeDetails(x.ext),
owner: x.owner && convertToNewProfileData(x.owner),
space: x.space && convertToNewSpaceData(x.space),
};
});
}
exports.convertToNewPostWithSomeDetailsArray = convertToNewPostWithSomeDetailsArray;
function convertToNewPostWithAllDetailsArray(oldDataArr) {
return convertToNewPostWithSomeDetailsArray(oldDataArr);
}
exports.convertToNewPostWithAllDetailsArray = convertToNewPostWithAllDetailsArray;
function convertToNewPostWithSomeDetails(oldData) {
return !oldData ? undefined : convertToNewPostWithSomeDetailsArray([oldData])[0];
}
exports.convertToNewPostWithSomeDetails = convertToNewPostWithSomeDetails;
function convertToNewPostWithAllDetails(oldData) {
return !oldData ? undefined : convertToNewPostWithAllDetailsArray([oldData])[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;