1
0
Fork 0
mirror of https://github.com/anyproto/anytype-ts.git synced 2025-06-08 05:57:02 +09:00

some refactoring

This commit is contained in:
Dragos Rotaru 2023-04-19 00:40:54 +09:00
parent a5125fd13c
commit 7751b648b8
No known key found for this signature in database
GPG key ID: 9EC8364BB29A2DC3
10 changed files with 298 additions and 394 deletions

View file

@ -308,7 +308,7 @@ class MenuManager {
Separator,
{ label: 'Space debug', click: () => { show(); Util.send(this.win, 'command', 'debugSync'); } },
{ label: 'Space debug', click: () => { show(); Util.send(this.win, 'command', 'debugSpace'); } },
{ label: 'Tree diagnostics', click: () => { show(); Util.send(this.win, 'command', 'debugTree'); } },
Separator,

View file

@ -12,7 +12,7 @@ import { Page, SelectionProvider, DragProvider, Progress, Toast, Preview as Prev
import { commonStore, authStore, blockStore, detailStore, dbStore, menuStore, popupStore } from './store';
import {
I, C, Util, FileUtil, keyboard, Storage, analytics, dispatcher, translate, Action, Renderer, DataUtil,
focus, Preview, Mark, Encode, Animation
focus, Preview, Mark, Animation
} from 'Lib';
configure({ enforceActions: 'never' });
@ -230,7 +230,6 @@ window.Lib = {
DataUtil,
Preview,
Storage,
Encode,
Animation,
};
@ -669,16 +668,6 @@ class App extends React.Component<object, State> {
});
break;
case 'debugSync':
C.DebugSync(100, (message: any) => {
if (!message.error.code) {
window.Electron.fileWrite('debug-sync.json', JSON.stringify(message, null, 5), 'utf8');
Renderer.send('pathOpen', tmpPath);
};
});
break;
case 'debugSpace':
C.DebugSpaceSummary((message: any) => {
if (!message.error.code) {

View file

@ -1,7 +1,10 @@
import { I, Util, Mark, dispatcher, Encode, Mapper } from 'Lib';
import Commands from 'protobuf/pb/protos/commands_pb';
import Model from 'protobuf/pkg/lib/pb/model/protos/models_pb';
import { Encode } from './struct';
import { Mapper } from './mapper';
import { dispatcher } from './dispatcher';
import { I, Util, Mark } from 'Lib';
const Commands = require('lib/pb/protos/commands_pb');
const Model = require('lib/pkg/lib/pb/model/protos/models_pb.js');
const Rpc = Commands.Rpc;
const MetricsSetParameters = (platform: I.Platform, callBack?: (message: any) => void) => {
@ -171,7 +174,7 @@ const FileDrop = (contextId: string, targetId: string, position: I.BlockPosition
request.setContextid(contextId);
request.setDroptargetid(targetId);
request.setPosition(position);
request.setPosition(position as number);
request.setLocalfilepathsList(paths);
dispatcher.request(FileDrop.name, request, callBack);
@ -186,7 +189,7 @@ const FileUpload = (url: string, path: string, type: I.FileType, callBack?: (mes
request.setUrl(url);
request.setLocalpath(path);
request.setType(type);
request.setType(type as number);
dispatcher.request(FileUpload.name, request, callBack);
};
@ -222,7 +225,7 @@ const BlockCreate = (contextId: string, targetId: string, position: I.BlockPosit
request.setContextid(contextId);
request.setTargetid(targetId);
request.setPosition(position);
request.setPosition(position as number);
request.setBlock(Mapper.To.Block(block));
dispatcher.request(BlockCreate.name, request, callBack);
@ -245,14 +248,14 @@ const BlockTextSetText = (contextId: string, blockId: string, text: string, mark
text = text.replace(/&gt;/g, '>');
marks = Util.objectCopy(marks);
marks = Mark.checkRanges(text, marks).map(Mapper.To.Mark);
marks = Mark.checkRanges(text, marks).map(Mapper.To.Mark) as any;
const request = new Rpc.BlockText.SetText.Request();
request.setContextid(contextId);
request.setBlockid(blockId);
request.setText(text);
request.setMarks(new Model.Block.Content.Text.Marks().setMarksList(marks));
request.setMarks(new Model.Block.Content.Text.Marks().setMarksList(marks as any));
dispatcher.request(BlockTextSetText.name, request, callBack);
};
@ -305,8 +308,8 @@ const BlockSplit = (contextId: string, blockId: string, range: I.TextRange, styl
request.setContextid(contextId);
request.setBlockid(blockId);
request.setRange(Mapper.To.Range(range));
request.setStyle(style);
request.setMode(mode);
request.setStyle(style as number);
request.setMode(mode as number);
dispatcher.request(BlockSplit.name, request, callBack);
};
@ -326,7 +329,7 @@ const BlockBookmarkCreateAndFetch = (contextId: string, targetId: string, positi
request.setContextid(contextId);
request.setTargetid(targetId);
request.setPosition(position);
request.setPosition(position as number);
request.setUrl(url);
dispatcher.request(BlockBookmarkCreateAndFetch.name, request, callBack);
@ -392,7 +395,7 @@ const BlockListMoveToExistingObject = (contextId: string, targetContextId: strin
request.setTargetcontextid(targetContextId);
request.setBlockidsList(blockIds);
request.setDroptargetid(targetId);
request.setPosition(position);
request.setPosition(position as number);
dispatcher.request(BlockListMoveToExistingObject.name, request, callBack);
};
@ -414,7 +417,7 @@ const BlockListDuplicate = (contextId: string, targetContextId: string, blockIds
request.setTargetcontextid(targetContextId);
request.setBlockidsList(blockIds);
request.setTargetid(targetId);
request.setPosition(position);
request.setPosition(position as number);
dispatcher.request(BlockListDuplicate.name, request, callBack);
};
@ -424,7 +427,7 @@ const BlockListTurnInto = (contextId: string, blockIds: string[], style: I.TextS
request.setContextid(contextId);
request.setBlockidsList(blockIds);
request.setStyle(style);
request.setStyle(style as number);
dispatcher.request(BlockListTurnInto.name, request, callBack);
};
@ -445,7 +448,7 @@ const BlockDivListSetStyle = (contextId: string, blockIds: string[], style: I.Te
request.setContextid(contextId);
request.setBlockidsList(blockIds);
request.setStyle(style);
request.setStyle(style as number);
dispatcher.request(BlockDivListSetStyle.name, request, callBack);
};
@ -471,7 +474,7 @@ const BlockLinkCreateWithObject = (contextId: string, targetId: string, details:
request.setContextid(contextId);
request.setTargetid(targetId);
request.setPosition(position);
request.setPosition(position as number);
request.setDetails(Encode.encodeStruct(details));
request.setTemplateid(templateId);
request.setFields(Encode.encodeStruct(fields || {}));
@ -485,9 +488,9 @@ const BlockLinkListSetAppearance = (contextId: string, blockIds: any[], iconSize
request.setContextid(contextId);
request.setBlockidsList(blockIds);
request.setIconsize(iconSize);
request.setCardstyle(cardStyle);
request.setDescription(description);
request.setIconsize(iconSize as number);
request.setCardstyle(cardStyle as number);
request.setDescription(description as number);
request.setRelationsList(relations);
dispatcher.request(BlockLinkListSetAppearance.name, request, callBack);
@ -500,7 +503,7 @@ const BlockTableCreate = (contextId: string, targetId: string, position: I.Block
request.setContextid(contextId);
request.setTargetid(targetId);
request.setPosition(position);
request.setPosition(position as number);
request.setRows(rows);
request.setColumns(columns);
request.setWithheaderrow(withHeaderRow);
@ -524,7 +527,7 @@ const BlockTableSort = (contextId: string, columnId: string, type: I.SortType, c
request.setContextid(contextId);
request.setColumnid(columnId);
request.setType(type);
request.setType(type as number);
dispatcher.request(BlockTableSort.name, request, callBack);
};
@ -534,7 +537,7 @@ const BlockTableRowCreate = (contextId: string, targetId: string, position: I.Bl
request.setContextid(contextId);
request.setTargetid(targetId);
request.setPosition(position);
request.setPosition(position as number);
dispatcher.request(BlockTableRowCreate.name, request, callBack);
};
@ -545,7 +548,7 @@ const BlockTableRowDuplicate = (contextId: string, blockId: string, targetId: st
request.setContextid(contextId);
request.setBlockid(blockId);
request.setTargetid(targetId);
request.setPosition(position);
request.setPosition(position as number);
dispatcher.request(BlockTableRowDuplicate.name, request, callBack);
};
@ -583,7 +586,7 @@ const BlockTableColumnCreate = (contextId: string, targetId: string, position: I
request.setContextid(contextId);
request.setTargetid(targetId);
request.setPosition(position);
request.setPosition(position as number);
dispatcher.request(BlockTableColumnCreate.name, request, callBack);
};
@ -603,7 +606,7 @@ const BlockTableColumnMove = (contextId: string, targetId: string, dropTargetId:
request.setContextid(contextId);
request.setTargetid(targetId);
request.setDroptargetid(dropTargetId);
request.setPosition(position);
request.setPosition(position as number);
dispatcher.request(BlockTableColumnMove.name, request, callBack);
};
@ -614,7 +617,7 @@ const BlockTableColumnDuplicate = (contextId: string, blockId: string, targetId:
request.setContextid(contextId);
request.setBlockid(blockId);
request.setTargetid(targetId);
request.setPosition(position);
request.setPosition(position as number);
dispatcher.request(BlockTableColumnDuplicate.name, request, callBack);
};
@ -631,13 +634,13 @@ const BlockTableColumnListFill = (contextId: string, blockIds: string[], callBac
// ---------------------- BLOCK FILE ---------------------- //
const BlockFileCreateAndUpload = (contextId: string, targetId: string, position: I.BlockPosition, url: string, path: string, callBack?: (message: any) => void) => {
const request = new Rpc.BlockfFile.CreateAndUpload.Request();
const request = new Rpc.BlockFile.CreateAndUpload.Request();
request.setContextid(contextId);
request.setTargetid(targetId);
request.setPosition(position);
request.setPosition(position as number);
request.setUrl(url);
request.setFilepath(path);
request.setLocalpath(path);
dispatcher.request(BlockFileCreateAndUpload.name, request, callBack);
};
@ -647,7 +650,7 @@ const BlockFileListSetStyle = (contextId: string, blockIds: string[], style: I.F
request.setContextid(contextId);
request.setBlockidsList(blockIds);
request.setStyle(style);
request.setStyle(style as number);
dispatcher.request(BlockFileListSetStyle.name, request, callBack);
};
@ -679,7 +682,7 @@ const BlockTextListSetStyle = (contextId: string, blockIds: string[], style: I.T
request.setContextid(contextId);
request.setBlockidsList(blockIds);
request.setStyle(style);
request.setStyle(style as number);
dispatcher.request(BlockTextListSetStyle.name, request, callBack);
};
@ -728,7 +731,7 @@ const BlockListSetAlign = (contextId: string, blockIds: string[], align: I.Block
request.setContextid(contextId);
request.setBlockidsList(blockIds);
request.setAlign(align);
request.setAlign(align as number);
dispatcher.request(BlockListSetAlign.name, request, callBack);
};
@ -738,7 +741,7 @@ const BlockListSetVerticalAlign = (contextId: string, blockIds: string[], align:
request.setContextid(contextId);
request.setBlockidsList(blockIds);
request.setVerticalalign(align);
request.setVerticalalign(align as number);
dispatcher.request(BlockListSetVerticalAlign.name, request, callBack);
};
@ -990,8 +993,8 @@ const BlockCreateWidget = (contextId: string, targetId: string, block: any, posi
request.setContextid(contextId);
request.setTargetid(targetId);
request.setBlock(Mapper.To.Block(block));
request.setPosition(position);
request.setWidgetlayout(layout);
request.setPosition(position as number);
request.setWidgetlayout(layout as number);
dispatcher.request(BlockCreateWidget.name, request, callBack);
};
@ -1249,8 +1252,8 @@ const ObjectImport = (options: any, snapshots: any[], existing: boolean, type: I
request.setSnapshotsList((snapshots || []).map(Mapper.To.Snapshot));
request.setUpdateexistingobjects(existing);
request.setType(type);
request.setMode(mode);
request.setType(type as number);
request.setMode(mode as number);
request.setNoprogress(noProgress);
request.setIsmigration(isMigration);
@ -1317,7 +1320,7 @@ const ObjectSearchSubscribe = (subId: string, filters: I.Filter[], sorts: I.Sort
request.setLimit(limit);
request.setKeysList(Util.arrayUnique(keys));
request.setSourceList(sources);
request.setIgnoreworkspace(ignoreWorkspace);
request.setIgnoreworkspace(ignoreWorkspace as any);
request.setAfterid(afterId);
request.setBeforeid(beforeId);
request.setNodepsubscription(noDeps);
@ -1344,7 +1347,7 @@ const ObjectSubscribeIds = (subId: string, ids: string[], keys: string[], ignore
request.setSubid(subId);
request.setIdsList(ids);
request.setKeysList(keys);
request.setIgnoreworkspace(ignoreWorkspace);
request.setIgnoreworkspace(ignoreWorkspace as any);
request.setNodepsubscription(noDeps);
dispatcher.request(ObjectSubscribeIds.name, request, callBack);
@ -1398,7 +1401,7 @@ const ObjectSetLayout = (contextId: string, layout: I.ObjectLayout, callBack?: (
const request = new Rpc.Object.SetLayout.Request();
request.setContextid(contextId);
request.setLayout(layout);
request.setLayout(layout as number);
dispatcher.request(ObjectSetLayout.name, request, callBack);
};
@ -1561,7 +1564,7 @@ const ObjectListExport = (path: string, objectIds: string[], format: I.ExportTyp
request.setPath(path);
request.setObjectidsList(objectIds);
request.setFormat(format);
request.setFormat(format as number);
request.setZip(zip);
request.setIncludenested(includeNested);
request.setIncludefiles(includeFiles);
@ -1625,18 +1628,10 @@ const UnsplashDownload = (id: string, callBack?: (message: any) => void) => {
// ---------------------- DEBUG ---------------------- //
const DebugSync = (limit: number, callBack?: (message: any) => void) => {
const request = new Rpc.Debug.Sync.Request();
request.setRecordstraverselimit(limit);
dispatcher.request(DebugSync.name, request, callBack);
};
const DebugTree = (objectId: string, path: string, callBack?: (message: any) => void) => {
const request = new Rpc.Debug.Tree.Request();
request.setObjectid(objectId);
request.setTreeid(objectId);
request.setPath(path);
dispatcher.request(DebugTree.name, request, callBack);
@ -1682,7 +1677,6 @@ export {
AccountDelete,
AccountMove,
DebugSync,
DebugTree,
DebugExportLocalstore,
DebugSpaceSummary,

View file

@ -1,16 +1,18 @@
import { authStore, commonStore, blockStore, detailStore, dbStore, popupStore } from 'Store';
import { Util, I, M, Decode, translate, analytics, Response, Mapper, Renderer, Action, Dataview, Preview } from 'Lib';
import Commands from 'protobuf/pb/protos/commands_pb';
import Events from 'protobuf/pb/protos/events_pb';
import Service from 'protobuf/pb/protos/service/service_grpc_web_pb';
import { authStore, commonStore, blockStore, detailStore, dbStore } from 'Store';
import { Util, I, M, translate, analytics, Renderer, Action, Dataview, Preview } from 'Lib';
import { observable } from 'mobx';
import * as Sentry from '@sentry/browser';
import arrayMove from 'array-move';
import Constant from 'json/constant.json';
const Service = require('lib/pb/protos/service/service_grpc_web_pb');
const Commands = require('lib/pb/protos/commands_pb');
const Events = require('lib/pb/protos/events_pb');
import { Decode } from './struct';
import { Mapper } from './mapper';
import * as Response from "./response";
import { ClientReadableStream } from 'grpc-web';
const SORT_IDS = [
'objectShow',
'blockAdd',
'blockDelete',
'blockSetChildrenIds',
@ -27,8 +29,8 @@ const SKIP_SENTRY_ERRORS = [ 'LinkPreview' ];
class Dispatcher {
service: any = null;
stream: any = null;
service: Service.ClientCommandsClient = null;
stream: ClientReadableStream<Events.Event> = null;
timeoutStream = 0;
timeoutEvent: any = {};
reconnects = 0;
@ -50,7 +52,7 @@ class Dispatcher {
this.stream = this.service.listenSessionEvents(request, null);
this.stream.on('data', (event: any) => {
this.stream.on('data', (event) => {
try {
this.event(event, false);
} catch (e) {
@ -58,7 +60,7 @@ class Dispatcher {
};
});
this.stream.on('status', (status: any) => {
this.stream.on('status', (status) => {
if (status.code) {
console.error('[Dispatcher.stream] Restarting', status);
this.listenEvents();
@ -134,12 +136,10 @@ class Dispatcher {
if (v == V.PROCESSUPDATE) t = 'processUpdate';
if (v == V.PROCESSDONE) t = 'processDone';
if (v == V.OBJECTSHOW) t = 'objectShow';
if (v == V.OBJECTREMOVE) t = 'objectRemove';
if (v == V.OBJECTDETAILSSET) t = 'objectDetailsSet';
if (v == V.OBJECTDETAILSAMEND) t = 'objectDetailsAmend';
if (v == V.OBJECTDETAILSUNSET) t = 'objectDetailsUnset';
if (v == V.OBJECTRELATIONSSET) t = 'objectRelationsSet';
if (v == V.OBJECTRELATIONSAMEND) t = 'objectRelationsAmend';
if (v == V.OBJECTRELATIONSREMOVE) t = 'objectRelationsRemove';
if (v == V.OBJECTRESTRICTIONSSET) t = 'objectRestrictionsSet';
@ -147,7 +147,7 @@ class Dispatcher {
return t;
};
event (event: any, skipDebug?: boolean) {
event (event: Events.Event, skipDebug?: boolean) {
const { config } = commonStore;
const traceId = event.getTraceid();
const ctx: string[] = [ event.getContextid() ];
@ -178,7 +178,6 @@ class Dispatcher {
let details: any = null;
let viewId = '';
let keys: string[] = [];
let ids: string[] = [];
let subIds: string[] = [];
let uniqueSubIds: string[] = [];
let subId = '';
@ -223,7 +222,6 @@ class Dispatcher {
};
case 'objectRemove': {
ids = data.getIdsList();
break;
};
@ -557,7 +555,7 @@ class Dispatcher {
const fields = Mapper.From.ViewFields(data.getFields());
const updateKeys = [ 'type', 'groupRelationKey', 'pageLimit' ];
for (let f of updateKeys) {
for (const f of updateKeys) {
if (fields[f] != view[f]) {
updateData = true;
break;
@ -577,7 +575,7 @@ class Dispatcher {
const items = data[Util.toCamelCase(`get-${key.id}-list`)]() || [];
const mapper = Mapper.From[key.mapper];
items.forEach((item: any) => {
items.forEach(item => {
let list = view[key.field];
if (item.hasAdd()) {
@ -586,7 +584,7 @@ class Dispatcher {
const items = (op.getItemsList() || []).map(mapper);
const idx = afterId ? list.findIndex(it => it[key.idField] == afterId) + 1 : list.length;
items.forEach((item: any, i: number) => {
items.forEach((item, i) => {
list.splice(idx + i, 0, item);
});
@ -628,7 +626,7 @@ class Dispatcher {
if (key.id == 'relation') {
const updateKeys = [ 'includeTime' ];
for (let f of updateKeys) {
for (const f of updateKeys) {
if (list[idx][f] != item[f]) {
updateData = true;
break;
@ -748,7 +746,7 @@ class Dispatcher {
block.content.objectOrder.push(el);
};
changes.forEach((it: any) => {
changes.forEach(it => {
const op = it.getOp();
const ids = it.getIdsList() || [];
const afterId = it.getAfterid();
@ -893,7 +891,7 @@ class Dispatcher {
};
case 'subscriptionGroups': {
const [ rid, bid, key ] = data.getSubid().split('-');
const [ rid, bid ] = data.getSubid().split('-');
const group = Mapper.From.BoardGroup(data.getGroup());
if (data.getRemove()) {
@ -1025,7 +1023,7 @@ class Dispatcher {
root.layout = object.layout;
};
const blocks = objectView.blocks.map((it: any) => {
const blocks = objectView.blocks.map(it => {
if (it.type == I.BlockType.Dataview) {
dbStore.relationsSet(contextId, it.id, it.content.relationLinks);
dbStore.viewsSet(contextId, it.id, it.content.views);

View file

@ -1,10 +1,9 @@
import { I, M, Decode, Util, Encode } from 'Lib';
import { Rpc } from 'protobuf/pb/protos/commands_pb';
import Model from 'protobuf/pkg/lib/pb/model/protos/models_pb';
import { Encode, Decode } from './struct';
import { I, M, Util } from 'Lib';
const Commands = require('lib/pb/protos/commands_pb');
const Model = require('lib/pkg/lib/pb/model/protos/models_pb.js');
const Rpc = Commands.Rpc;
const Mapper = {
export const Mapper = {
BlockType: (v: number): I.BlockType => {
const V = Model.Block.ContentCase;
@ -722,12 +721,12 @@ const Mapper = {
item.setId(obj.id);
item.setName(obj.name);
item.setType(obj.type);
item.setType(obj.type as any);
item.setCoverrelationkey(obj.coverRelationKey);
item.setGrouprelationkey(obj.groupRelationKey);
item.setGroupbackgroundcolors(obj.groupBackgroundColors);
item.setCoverfit(obj.coverFit);
item.setCardsize(obj.cardSize);
item.setCardsize(obj.cardSize as any);
item.setHideicon(obj.hideIcon);
item.setPagelimit(obj.pageLimit);
item.setRelationsList(obj.relations.map(Mapper.To.ViewRelation));
@ -777,7 +776,7 @@ const Mapper = {
InternalFlag: (value: I.ObjectFlag) => {
const item = new Model.InternalFlag();
item.setValue(value);
item.setValue(value as any);
return item;
},
@ -794,5 +793,3 @@ const Mapper = {
}
};
export default Mapper;

View file

@ -1,116 +1,114 @@
import { Mapper, Decode } from 'Lib';
import { Rpc } from 'protobuf/pb/protos/commands_pb';
import { Decode } from './struct';
import { Mapper } from './mapper';
const DebugSync = (response: any) => {
export const AccountCreate = (response: Rpc.Account.Create.Response) => {
return {
account: Mapper.From.Account(response.getAccount()),
};
};
export const AccountSelect = (response: Rpc.Account.Select.Response) => {
return {
account: Mapper.From.Account(response.getAccount()),
};
};
export const AccountDelete = (response: Rpc.Account.Delete.Response) => {
return {
status: response.hasStatus() ? Mapper.From.AccountStatus(response.getStatus()) : null,
};
};
export const AccountRecoverFromLegacyExport = (response: Rpc.Account.RecoverFromLegacyExport.Response) => {
return {
accountId: response.getAccountid(),
};
};
export const DebugSpaceSummary = (response: Rpc.Debug.SpaceSummary.Response) => {
return response.toObject();
};
const DebugSpaceSummary = (response: any) => {
return response.toObject();
};
const Export = (response: any) => {
export const Export = (response: any) => {
return {
path: response.getPath(),
};
};
const FileListOffload = (response: any) => {
export const LinkPreview = (response: Rpc.LinkPreview.Response) => {
return {
previewLink: response.hasLinkpreview() ? Mapper.From.PreviewLink(response.getLinkpreview()) : {},
};
};
export const FileListOffload = (response: Rpc.File.ListOffload.Response) => {
return {
files: response.getFilesoffloaded(),
bytes: response.getBytesoffloaded(),
};
};
const LinkPreview = (response: any) => {
return {
previewLink: response.hasLinkpreview() ? Mapper.From.PreviewLink(response.getLinkpreview()) : {},
};
};
const FileUpload = (response: any) => {
export const FileUpload = (response: Rpc.File.Upload.Response) => {
return {
hash: response.getHash(),
};
};
const FileDownload = (response: any) => {
export const FileDownload = (response: Rpc.File.Download.Response) => {
return {
path: response.getLocalpath(),
};
};
const WalletCreate = (response: any) => {
export const WalletCreate = (response: Rpc.Wallet.Create.Response) => {
return {
mnemonic: response.getMnemonic(),
};
};
const WalletConvert = (response: any) => {
export const WalletConvert = (response: Rpc.Wallet.Convert.Response) => {
return {
mnemonic: response.getMnemonic(),
entropy: response.getEntropy(),
};
};
const WalletCreateSession = (response: any) => {
export const WalletCreateSession = (response: Rpc.Wallet.CreateSession.Response) => {
return {
token: response.getToken(),
};
};
const AccountCreate = (response: any) => {
return {
account: Mapper.From.Account(response.getAccount()),
};
};
const AccountSelect = (response: any) => {
return {
account: Mapper.From.Account(response.getAccount()),
};
};
const AccountDelete = (response: any) => {
return {
status: response.hasStatus() ? Mapper.From.AccountStatus(response.getStatus()) : null,
};
};
const AccountRecoverFromLegacyExport = (response: any) => {
return {
accountId: response.getAccountid(),
};
};
const ObjectCreate = (response: any) => {
export const ObjectCreate = (response: Rpc.Object.Create.Response) => {
return {
objectId: response.getObjectid(),
details: Decode.decodeStruct(response.getDetails()),
};
};
const ObjectCreateSet = (response: any) => {
export const ObjectCreateSet = (response: Rpc.Object.CreateSet.Response) => {
return {
objectId: response.getObjectid(),
details: Decode.decodeStruct(response.getDetails()),
};
};
const ObjectCreateBookmark = (response: any) => {
export const ObjectCreateBookmark = (response: Rpc.Object.CreateBookmark.Response) => {
return {
objectId: response.getObjectid(),
details: Decode.decodeStruct(response.getDetails()),
};
};
const ObjectCreateObjectType = (response: any) => {
export const ObjectCreateObjectType = (response: Rpc.Object.CreateObjectType.Response) => {
return {
objectId: response.getObjectid(),
details: Decode.decodeStruct(response.getDetails()),
};
};
const ObjectCreateRelation = (response: any) => {
export const ObjectCreateRelation = (response: Rpc.Object.CreateRelation.Response) => {
return {
objectId: response.getObjectid(),
relationKey: response.getKey(),
@ -118,26 +116,180 @@ const ObjectCreateRelation = (response: any) => {
};
};
const ObjectCreateRelationOption = (response: any) => {
export const ObjectCreateRelationOption = (response: Rpc.Object.CreateRelationOption.Response) => {
return {
objectId: response.getObjectid(),
details: Decode.decodeStruct(response.getDetails()),
};
};
const ObjectOpen = (response: any) => {
export const ObjectOpen = (response: Rpc.Object.Open.Response) => {
return {
objectView: Mapper.From.ObjectView(response.getObjectview()),
};
};
const ObjectShow = (response: any) => {
export const ObjectShow = (response: Rpc.Object.Show.Response) => {
return {
objectView: Mapper.From.ObjectView(response.getObjectview()),
};
};
const NavigationGetObjectInfoWithLinks = (response: any) => {
export const ObjectSearch = (response: Rpc.Object.Search.Response) => {
return {
records: (response.getRecordsList() || []).map(Decode.decodeStruct),
};
};
export const ObjectGroupsSubscribe = (response: Rpc.Object.GroupsSubscribe.Response) => {
return {
subId: response.getSubid(),
groups: (response.getGroupsList() || []).map(Mapper.From.BoardGroup),
};
};
export const ObjectSearchSubscribe = (response: Rpc.Object.SearchSubscribe.Response) => {
const counters = response.getCounters();
return {
counters: {
total: counters.getTotal(),
nextCount: counters.getNextcount(),
prevCount: counters.getPrevcount(),
},
records: (response.getRecordsList() || []).map(Decode.decodeStruct),
dependencies: (response.getDependenciesList() || []).map(Decode.decodeStruct),
};
};
export const ObjectSubscribeIds = (response: Rpc.Object.SubscribeIds.Response) => {
return {
records: (response.getRecordsList() || []).map(Decode.decodeStruct),
dependencies: (response.getDependenciesList() || []).map(Decode.decodeStruct),
};
};
export const ObjectGraph = (response: Rpc.Object.Graph.Response) => {
return {
edges: (response.getEdgesList() || []).map(Mapper.From.GraphEdge),
nodes: (response.getNodesList() || []).map(Decode.decodeStruct),
};
};
export const ObjectToBookmark = (response: Rpc.Object.ToBookmark.Response) => {
return {
objectId: response.getObjectid(),
};
};
export const ObjectShareByLink = (response: Rpc.Object.ShareByLink.Response) => {
return {
link: response.getLink(),
};
};
export const ObjectListDuplicate = (response: Rpc.Object.ListDuplicate.Response) => {
return {
ids: response.getIdsList(),
};
};
export const ObjectImportList = (response: Rpc.Object.ImportList.Response) => {
return {
list: (response.getResponseList() || []).map(it => {
return { type: it.getType() };
}),
};
};
export const BlockCreate = (response: Rpc.Block.Create.Response) => {
return {
blockId: response.getBlockid(),
};
};
export const BlockSplit = (response: Rpc.Block.Split.Response) => {
return {
blockId: response.getBlockid(),
};
};
export const BlockCopy = (response: Rpc.Block.Copy.Response) => {
return {
textSlot: response.getTextslot(),
htmlSlot: response.getHtmlslot(),
anySlot: response.getAnyslotList(),
};
};
export const BlockCut = (response: Rpc.Block.Cut.Response) => {
return {
textSlot: response.getTextslot(),
htmlSlot: response.getHtmlslot(),
anySlot: response.getAnyslotList(),
};
};
export const BlockPaste = (response: Rpc.Block.Paste.Response) => {
return {
blockIds: response.getBlockidsList(),
caretPosition: response.getCaretposition(),
isSameBlockCaret: response.getIssameblockcaret(),
};
};
export const BlockListDuplicate = (response: Rpc.Block.ListDuplicate.Response) => {
return {
blockIds: response.getBlockidsList(),
};
};
export const BlockListConvertToObjects = (response: Rpc.Block.ListConvertToObjects.Response) => {
return {
linkIds: response.getLinkidsList(),
};
};
export const BlockDataviewCreateFromExistingObject = (response: Rpc.BlockDataview.CreateFromExistingObject.Response) => {
return {
blockId: response.getBlockid(),
targetObjectId: response.getTargetobjectid(),
views: (response.getViewList() || []).map(Mapper.From.View),
};
};
export const BlockDataviewViewCreate = (response: Rpc.BlockDataview.View.Create.Response) => {
return {
viewId: response.getViewid(),
};
};
export const BlockLinkCreateWithObject = (response: Rpc.BlockLink.CreateWithObject.Response) => {
return {
blockId: response.getBlockid(),
targetId: response.getTargetid(),
};
};
export const BlockBookmarkCreateAndFetch = (response: Rpc.BlockBookmark.CreateAndFetch.Response) => {
return {
blockId: response.getBlockid(),
};
};
export const BlockFileCreateAndUpload = (response: Rpc.BlockFile.CreateAndUpload.Response) => {
return {
blockId: response.getBlockid(),
};
};
export const HistoryGetVersions = (response: Rpc.History.GetVersions.Response) => {
return {
versions: (response.getVersionsList() || []).map(Mapper.From.HistoryVersion),
};
};
export const NavigationGetObjectInfoWithLinks = (response: Rpc.Navigation.GetObjectInfoWithLinks.Response) => {
const object = response.getObject();
const links = object.getLinks();
@ -153,102 +305,7 @@ const NavigationGetObjectInfoWithLinks = (response: any) => {
};
};
const BlockCreate = (response: any) => {
return {
blockId: response.getBlockid(),
};
};
const BlockDataviewCreateFromExistingObject = (response: any) => {
return {
blockId: response.getBlockid(),
targetObjectId: response.getTargetobjectid(),
views: (response.getViewList() || []).map(Mapper.From.View),
};
};
const BlockLinkCreateWithObject = (response: any) => {
return {
blockId: response.getBlockid(),
targetId: response.getTargetid(),
};
};
const BlockSplit = (response: any) => {
return {
blockId: response.getBlockid(),
};
};
const BlockBookmarkCreateAndFetch = (response: any) => {
return {
blockId: response.getBlockid(),
};
};
const BlockFileCreateAndUpload = (response: any) => {
return {
blockId: response.getBlockid(),
};
};
const BlockCopy = (response: any) => {
return {
textSlot: response.getTextslot(),
htmlSlot: response.getHtmlslot(),
anySlot: response.getAnyslotList(),
};
};
const BlockCut = (response: any) => {
return {
textSlot: response.getTextslot(),
htmlSlot: response.getHtmlslot(),
anySlot: response.getAnyslotList(),
};
};
const BlockPaste = (response: any) => {
return {
blockIds: response.getBlockidsList(),
caretPosition: response.getCaretposition(),
isSameBlockCaret: response.getIssameblockcaret(),
};
};
const ObjectImportList = (response: any) => {
return {
list: (response.getResponseList() || []).map(it => {
return { type: it.getType() };
}),
};
};
const BlockListDuplicate = (response: any) => {
return {
blockIds: response.getBlockidsList(),
};
};
const BlockListConvertToObjects = (response: any) => {
return {
linkIds: response.getLinkidsList(),
};
};
const BlockDataviewViewCreate = (response: any) => {
return {
viewId: response.getViewid(),
};
};
const HistoryGetVersions = (response: any) => {
return {
versions: (response.getVersionsList() || []).map(Mapper.From.HistoryVersion),
};
};
const HistoryShowVersion = (response: any) => {
export const HistoryShowVersion = (response: Rpc.History.ShowVersion.Response) => {
const version = response.getVersion();
return {
version: version ? Mapper.From.HistoryVersion(response.getVersion()) : null,
@ -256,170 +313,39 @@ const HistoryShowVersion = (response: any) => {
};
};
const ObjectSearch = (response: any) => {
return {
records: (response.getRecordsList() || []).map(Decode.decodeStruct),
};
};
const ObjectGroupsSubscribe = (response: any) => {
return {
subId: response.getSubid(),
groups: (response.getGroupsList() || []).map(Mapper.From.BoardGroup),
};
};
const ObjectSearchSubscribe = (response: any) => {
const counters = response.getCounters();
return {
counters: {
total: counters.getTotal(),
nextCount: counters.getNextcount(),
prevCount: counters.getPrevcount(),
},
records: (response.getRecordsList() || []).map(Decode.decodeStruct),
dependencies: (response.getDependenciesList() || []).map(Decode.decodeStruct),
};
};
const ObjectSubscribeIds = (response: any) => {
return {
records: (response.getRecordsList() || []).map(Decode.decodeStruct),
dependencies: (response.getDependenciesList() || []).map(Decode.decodeStruct),
};
};
const ObjectGraph = (response: any) => {
return {
edges: (response.getEdgesList() || []).map(Mapper.From.GraphEdge),
nodes: (response.getNodesList() || []).map(Decode.decodeStruct),
};
};
const ObjectToBookmark = (response: any) => {
return {
objectId: response.getObjectid(),
};
};
const ObjectShareByLink = (response: any) => {
return {
link: response.getLink(),
};
};
const ObjectListDuplicate = (response: any) => {
return {
ids: response.getIdsList(),
};
};
const TemplateCreateFromObject = (response: any) => {
export const TemplateCreateFromObject = (response: Rpc.Template.CreateFromObject.Response) => {
return {
id: response.getId(),
};
};
const TemplateCreateFromObjectType = (response: any) => {
export const TemplateCreateFromObjectType = (response: Rpc.Template.CreateFromObjectType.Response) => {
return {
id: response.getId(),
};
};
const TemplateClone = (response: any) => {
export const TemplateClone = (response: Rpc.Template.Clone.Response) => {
return {
id: response.getId(),
};
};
const WorkspaceObjectAdd = (response: any) => {
export const WorkspaceObjectAdd = (response: Rpc.Workspace.Object.Add.Response) => {
return {
objectId: response.getObjectid(),
details: Decode.decodeStruct(response.getDetails()),
};
};
const UnsplashSearch = (response: any) => {
export const UnsplashSearch = (response: Rpc.Unsplash.Search.Response) => {
return {
pictures: (response.getPicturesList() || []).map(Mapper.From.UnsplashPicture),
};
};
const UnsplashDownload = (response: any) => {
export const UnsplashDownload = (response: Rpc.Unsplash.Download.Response) => {
return {
hash: response.getHash(),
};
};
export {
DebugSync,
DebugSpaceSummary,
Export,
FileUpload,
FileDownload,
LinkPreview,
FileListOffload,
WalletCreate,
WalletConvert,
WalletCreateSession,
AccountCreate,
AccountSelect,
AccountDelete,
AccountRecoverFromLegacyExport,
ObjectCreate,
ObjectCreateSet,
ObjectCreateBookmark,
ObjectCreateObjectType,
ObjectCreateRelation,
ObjectCreateRelationOption,
ObjectSearch,
ObjectSearchSubscribe,
ObjectGroupsSubscribe,
ObjectSubscribeIds,
ObjectGraph,
ObjectShareByLink,
ObjectToBookmark,
ObjectListDuplicate,
NavigationGetObjectInfoWithLinks,
ObjectOpen,
ObjectShow,
ObjectImportList,
BlockSplit,
BlockCopy,
BlockCut,
BlockPaste,
BlockFileCreateAndUpload,
BlockBookmarkCreateAndFetch,
BlockLinkCreateWithObject,
BlockCreate,
BlockDataviewCreateFromExistingObject,
BlockDataviewViewCreate,
BlockListDuplicate,
BlockListConvertToObjects,
HistoryGetVersions,
HistoryShowVersion,
TemplateCreateFromObject,
TemplateCreateFromObjectType,
TemplateClone,
WorkspaceObjectAdd,
UnsplashSearch,
UnsplashDownload,
};
};

View file

@ -1,11 +1,11 @@
import * as I from 'Interface';
import * as M from 'Model';
import * as C from './command';
import * as Response from './response';
import Mapper from './mapper';
import Renderer from './renderer';
import { dispatcher } from './dispatcher';
import * as C from './api/command';
import { dispatcher } from './api/dispatcher';
import { Mapper } from './api/mapper';
import { keyboard, Key } from './keyboard';
import { sidebar } from './sidebar';
import Storage from './storage';
@ -19,7 +19,6 @@ import Mark from './mark';
import Relation from './relation';
import Dataview from './dataview';
import { focus } from './focus';
import { Encode, Decode } from './struct';
import { scrollOnMove } from './scrollOnMove';
import { analytics } from './analytics';
import { history } from './history';
@ -54,7 +53,6 @@ const translate = (key: keyof typeof Text | Omit<string, keyof typeof Text>): st
};
export {
dispatcher,
keyboard,
sidebar,
focus,
@ -71,15 +69,13 @@ export {
Dataview,
I,
C,
Response,
M,
translate,
dispatcher,
Mapper,
analytics,
history,
scrollOnMove,
Encode,
Decode,
Mapper,
Action,
Onboarding,
Renderer,

View file

@ -52,6 +52,9 @@
"Store": [
"ts/store",
],
"protobuf/*": [
"../dist/lib/*"
],
}
},
"exclude": ["node_modules", "dist", "extensions"]

View file

@ -21,6 +21,7 @@ module.exports = (env, argv) => {
resolve: {
extensions: [ '.ts', '.tsx', '.js', '.jsx' ],
alias: {
protobuf: path.resolve(__dirname, 'dist/lib'),
json: path.resolve(__dirname, 'src/json'),
Lib: path.resolve(__dirname, 'src/ts/lib'),
Store: path.resolve(__dirname, 'src/ts/store'),