@diory/client-js 0.2.0-rc10 → 0.2.0-rc11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -12,10 +12,12 @@ declare class DioryClient implements IDioryClient {
12
12
  initialise: (connections: IConnectionObject[]) => Promise<IDioryClient>;
13
13
  enterRoom: (roomObject: IRoomObject) => Promise<IRoom>;
14
14
  focusDiory: (dioryObject: IDioryObject) => IDiory;
15
- getDiosphere: () => Promise<IDiosphere>;
16
- saveDiosphere: () => Promise<IDiosphere>;
17
- getDiograph: () => Promise<IDiograph>;
18
- saveDiograph: () => Promise<IDiograph>;
19
- generateDiograph: () => Promise<IDiograph>;
15
+ getDiosphereClients: (connections?: IConnectionObject[]) => import("../types").IConnectionClient[];
16
+ getDiographClients: (connections?: IConnectionObject[]) => import("../types").IConnectionClient[];
17
+ getDiosphere: (connections?: IConnectionObject[]) => Promise<IDiosphere>;
18
+ saveDiosphere: (connections?: IConnectionObject[]) => Promise<IDiosphere>;
19
+ getDiograph: (connections?: IConnectionObject[]) => Promise<IDiograph>;
20
+ saveDiograph: (connections?: IConnectionObject[]) => Promise<IDiograph>;
21
+ generateDiograph: (connections?: IConnectionObject[]) => Promise<IDiograph>;
20
22
  }
21
23
  export { DioryClient };
@@ -9,90 +9,81 @@ class DioryClient {
9
9
  this.dataClients = [];
10
10
  this.connections = [];
11
11
  this.initialise = async (connections) => {
12
+ console.info('initialise', connections);
12
13
  this.connections = connections;
13
14
  this.diosphere.resetRooms();
14
- await this.getDiosphere();
15
- await this.enterRoom({ id: '/' });
16
15
  return this;
17
16
  };
18
17
  this.enterRoom = async (roomObject) => {
18
+ console.info('enterRoom', roomObject);
19
19
  this.room = this.diosphere.getRoom(roomObject);
20
20
  this.diograph.resetDiograph();
21
21
  await this.getDiograph();
22
22
  this.focusDiory({ id: '/' });
23
+ console.info(this.room);
23
24
  return this.room;
24
25
  };
25
26
  this.focusDiory = (dioryObject) => {
26
27
  return (this.diory = this.diograph.getDiory(dioryObject));
27
28
  };
28
- this.getDiosphere = async () => {
29
- console.info('getDiosphere', this.connections);
30
- if (this.connections) {
31
- const connectionClients = (0, getConnectionClients_1.getConnectionClients)(this.dataClients, this.connections);
32
- await Promise.all(connectionClients.map(async (connectionClient) => {
33
- const diosphereObject = await connectionClient.getDiosphere();
34
- console.info(diosphereObject);
35
- return this.diosphere.addDiosphere(diosphereObject);
36
- }));
37
- }
29
+ this.getDiosphereClients = (connections) => {
30
+ return (0, getConnectionClients_1.getConnectionClients)(this.dataClients, connections !== null && connections !== void 0 ? connections : this.connections);
31
+ };
32
+ this.getDiographClients = (connections) => {
33
+ var _a;
34
+ return (0, getConnectionClients_1.getConnectionClients)(this.dataClients, connections !== null && connections !== void 0 ? connections : (_a = this.room) === null || _a === void 0 ? void 0 : _a.connections);
35
+ };
36
+ this.getDiosphere = async (connections) => {
37
+ console.info('getDiosphere', connections);
38
+ await Promise.all(this.getDiosphereClients(connections).map(async (connectionClient) => {
39
+ const diosphereObject = await connectionClient.getDiosphere();
40
+ this.diosphere.addDiosphere(diosphereObject);
41
+ console.info(this.diosphere.toObject());
42
+ return;
43
+ }));
38
44
  return this.diosphere;
39
45
  };
40
- this.saveDiosphere = async () => {
41
- console.info('saveDiosphere', this.connections);
42
- if (this.connections) {
43
- const connectionClients = (0, getConnectionClients_1.getConnectionClients)(this.dataClients, this.connections);
44
- await Promise.all(connectionClients.map(async (connectionClient) => {
45
- console.info(this.diosphere.toObject());
46
- await connectionClient.saveDiosphere(this.diosphere.toObject());
47
- return;
48
- }));
49
- }
46
+ this.saveDiosphere = async (connections) => {
47
+ console.info('saveDiosphere', connections);
48
+ await Promise.all(this.getDiosphereClients(connections).map(async (connectionClient) => {
49
+ await connectionClient.saveDiosphere(this.diosphere.toObject());
50
+ console.info(this.diosphere.toObject());
51
+ return;
52
+ }));
50
53
  return this.diosphere;
51
54
  };
52
- this.getDiograph = async () => {
53
- var _a, _b;
54
- console.info('getDiograph', (_a = this.room) === null || _a === void 0 ? void 0 : _a.connections);
55
- if ((_b = this.room) === null || _b === void 0 ? void 0 : _b.connections) {
56
- const connectionClients = (0, getConnectionClients_1.getConnectionClients)(this.dataClients, this.room.connections);
57
- await Promise.all(connectionClients.map(async (connectionClient) => {
58
- const diographObject = await connectionClient.getDiograph();
59
- console.info(diographObject);
60
- this.diograph.addDiograph(diographObject);
61
- return;
62
- }));
63
- }
55
+ this.getDiograph = async (connections) => {
56
+ console.info('getDiograph', connections);
57
+ await Promise.all(this.getDiographClients(connections).map(async (connectionClient) => {
58
+ const diographObject = await connectionClient.getDiograph();
59
+ this.diograph.addDiograph(diographObject);
60
+ console.info(this.diograph.toObject());
61
+ return;
62
+ }));
64
63
  return this.diograph;
65
64
  };
66
- this.saveDiograph = async () => {
67
- var _a, _b;
68
- console.info('saveDiograph', (_a = this.room) === null || _a === void 0 ? void 0 : _a.connections);
69
- if ((_b = this.room) === null || _b === void 0 ? void 0 : _b.connections) {
70
- const connectionClients = (0, getConnectionClients_1.getConnectionClients)(this.dataClients, this.room.connections);
71
- await Promise.all(connectionClients.map(async (connectionClient) => {
72
- console.info(this.diograph.toObject());
73
- await connectionClient.saveDiograph(this.diograph.toObject());
74
- return;
75
- }));
76
- }
65
+ this.saveDiograph = async (connections) => {
66
+ console.info('saveDiograph', connections);
67
+ await Promise.all(this.getDiographClients(connections).map(async (connectionClient) => {
68
+ await connectionClient.saveDiograph(this.diograph.toObject());
69
+ console.info(this.diograph.toObject());
70
+ return;
71
+ }));
77
72
  return this.diograph;
78
73
  };
79
- this.generateDiograph = async () => {
80
- var _a, _b, _c;
81
- console.info('generateDiograph', (_a = this.room) === null || _a === void 0 ? void 0 : _a.connections);
82
- if ((_b = this.room) === null || _b === void 0 ? void 0 : _b.connections) {
83
- const connectionClients = (0, getConnectionClients_1.getConnectionClients)(this.dataClients, (_c = this.room) === null || _c === void 0 ? void 0 : _c.connections);
84
- await Promise.all(connectionClients.map(async (connectionClient) => {
85
- const diographObject = await connectionClient.generateDiograph();
86
- console.info(diographObject);
87
- Object.entries(diographObject).forEach(([key, dioryObject]) => {
88
- key === '/'
89
- ? this.diograph.addDioryLink({ id: '/' }, diographObject['/'])
90
- : this.diograph.addDiory(dioryObject);
91
- });
92
- await connectionClient.saveDiograph(this.diograph.toObject());
93
- return;
94
- }));
95
- }
74
+ this.generateDiograph = async (connections) => {
75
+ console.info('generateDiograph', connections);
76
+ await Promise.all(this.getDiographClients(connections).map(async (connectionClient) => {
77
+ const diographObject = await connectionClient.generateDiograph();
78
+ Object.entries(diographObject).forEach(([key, dioryObject]) => {
79
+ key === '/'
80
+ ? this.diograph.addDioryLink({ id: '/' }, diographObject['/'])
81
+ : this.diograph.addDiory(dioryObject);
82
+ });
83
+ await connectionClient.saveDiograph(this.diograph.toObject());
84
+ console.info(this.diograph.toObject());
85
+ return;
86
+ }));
96
87
  return this.diograph;
97
88
  };
98
89
  this.dataClients = dataClients;
@@ -1,3 +1,3 @@
1
1
  import { IConnectionObject } from '@diory/diosphere-js';
2
2
  import { IConnectionClient, IDataClient } from '../types';
3
- export declare function getConnectionClients(dataClients: IDataClient[], connections: IConnectionObject[]): IConnectionClient[];
3
+ export declare function getConnectionClients(dataClients: IDataClient[], connections?: IConnectionObject[]): IConnectionClient[];
@@ -6,9 +6,7 @@ function getDataClient(dataClients, { client }) {
6
6
  return dataClients.find(({ type }) => type === client);
7
7
  }
8
8
  function getConnectionClients(dataClients, connections) {
9
- return connections
10
- .filter(({ client }) => dataClients.some(({ type }) => type === client))
11
- .map((connection) => {
9
+ return connections === null || connections === void 0 ? void 0 : connections.filter(({ client }) => dataClients.some(({ type }) => type === client)).map((connection) => {
12
10
  const dataClient = getDataClient(dataClients, connection);
13
11
  return new connectionClient_1.ConnectionClient(dataClient, connection);
14
12
  });
package/package.json CHANGED
@@ -1,14 +1,14 @@
1
1
  {
2
2
  "name": "@diory/client-js",
3
- "version": "0.2.0-rc10",
3
+ "version": "0.2.0-rc11",
4
4
  "main": "dist/index.js",
5
5
  "types": "dist/index.d.ts",
6
6
  "author": "Olli-Pekka Pohjola <op@diory.me>, Jouni Alanen <jouni@diory.me>",
7
7
  "license": "MIT",
8
8
  "dependencies": {
9
- "@diograph/diograph": "0.3.0-rc14",
9
+ "@diograph/diograph": "^0.3.0-rc15",
10
10
  "@diograph/folder-generator": "^0.3.0-rc3",
11
- "@diory/diosphere-js": "0.2.6-rc2",
11
+ "@diory/diosphere-js": "^0.2.6-rc3",
12
12
  "path-browserify": "^1.0.1",
13
13
  "uuid": "8.3.2"
14
14
  },
@@ -23,21 +23,22 @@ class DioryClient implements IDioryClient {
23
23
  }
24
24
 
25
25
  initialise = async (connections: IConnectionObject[]): Promise<IDioryClient> => {
26
- this.connections = connections
26
+ console.info('initialise', connections)
27
27
 
28
+ this.connections = connections
28
29
  this.diosphere.resetRooms()
29
- await this.getDiosphere()
30
- await this.enterRoom({ id: '/' })
31
30
 
32
31
  return this
33
32
  }
34
33
 
35
34
  enterRoom = async (roomObject: IRoomObject): Promise<IRoom> => {
36
- this.room = this.diosphere.getRoom(roomObject)
35
+ console.info('enterRoom', roomObject)
37
36
 
37
+ this.room = this.diosphere.getRoom(roomObject)
38
38
  this.diograph.resetDiograph()
39
39
  await this.getDiograph()
40
40
  this.focusDiory({ id: '/' })
41
+ console.info(this.room)
41
42
 
42
43
  return this.room
43
44
  }
@@ -46,95 +47,93 @@ class DioryClient implements IDioryClient {
46
47
  return (this.diory = this.diograph.getDiory(dioryObject))
47
48
  }
48
49
 
49
- getDiosphere = async (): Promise<IDiosphere> => {
50
- console.info('getDiosphere', this.connections)
51
- if (this.connections) {
52
- const connectionClients = getConnectionClients(this.dataClients, this.connections)
50
+ getDiosphereClients = (connections?: IConnectionObject[]) => {
51
+ return getConnectionClients(this.dataClients, connections ?? this.connections)
52
+ }
53
+
54
+ getDiographClients = (connections?: IConnectionObject[]) => {
55
+ return getConnectionClients(this.dataClients, connections ?? this.room?.connections)
56
+ }
57
+
58
+ getDiosphere = async (connections?: IConnectionObject[]): Promise<IDiosphere> => {
59
+ console.info('getDiosphere', connections)
60
+ await Promise.all(
61
+ this.getDiosphereClients(connections).map(async (connectionClient) => {
62
+ const diosphereObject = await connectionClient.getDiosphere()
63
+ this.diosphere.addDiosphere(diosphereObject)
64
+ console.info(this.diosphere.toObject())
53
65
 
54
- await Promise.all(
55
- connectionClients.map(async (connectionClient) => {
56
- const diosphereObject = await connectionClient.getDiosphere()
57
- console.info(diosphereObject)
58
- return this.diosphere.addDiosphere(diosphereObject)
59
- }),
60
- )
61
- }
66
+ return
67
+ }),
68
+ )
62
69
 
63
70
  return this.diosphere
64
71
  }
65
72
 
66
- saveDiosphere = async (): Promise<IDiosphere> => {
67
- console.info('saveDiosphere', this.connections)
68
- if (this.connections) {
69
- const connectionClients = getConnectionClients(this.dataClients, this.connections)
73
+ saveDiosphere = async (connections?: IConnectionObject[]): Promise<IDiosphere> => {
74
+ console.info('saveDiosphere', connections)
70
75
 
71
- await Promise.all(
72
- connectionClients.map(async (connectionClient) => {
73
- console.info(this.diosphere.toObject())
74
- await connectionClient.saveDiosphere(this.diosphere.toObject())
75
- return
76
- }),
77
- )
78
- }
76
+ await Promise.all(
77
+ this.getDiosphereClients(connections).map(async (connectionClient) => {
78
+ await connectionClient.saveDiosphere(this.diosphere.toObject())
79
+ console.info(this.diosphere.toObject())
80
+
81
+ return
82
+ }),
83
+ )
79
84
 
80
85
  return this.diosphere
81
86
  }
82
87
 
83
- getDiograph = async (): Promise<IDiograph> => {
84
- console.info('getDiograph', this.room?.connections)
85
- if (this.room?.connections) {
86
- const connectionClients = getConnectionClients(this.dataClients, this.room.connections)
87
-
88
- await Promise.all(
89
- connectionClients.map(async (connectionClient) => {
90
- const diographObject = await connectionClient.getDiograph()
91
- console.info(diographObject)
92
- this.diograph.addDiograph(diographObject)
93
- return
94
- }),
95
- )
96
- }
88
+ getDiograph = async (connections?: IConnectionObject[]): Promise<IDiograph> => {
89
+ console.info('getDiograph', connections)
90
+
91
+ await Promise.all(
92
+ this.getDiographClients(connections).map(async (connectionClient) => {
93
+ const diographObject = await connectionClient.getDiograph()
94
+ this.diograph.addDiograph(diographObject)
95
+ console.info(this.diograph.toObject())
96
+
97
+ return
98
+ }),
99
+ )
97
100
 
98
101
  return this.diograph
99
102
  }
100
103
 
101
- saveDiograph = async (): Promise<IDiograph> => {
102
- console.info('saveDiograph', this.room?.connections)
103
- if (this.room?.connections) {
104
- const connectionClients = getConnectionClients(this.dataClients, this.room.connections)
104
+ saveDiograph = async (connections?: IConnectionObject[]): Promise<IDiograph> => {
105
+ console.info('saveDiograph', connections)
106
+
107
+ await Promise.all(
108
+ this.getDiographClients(connections).map(async (connectionClient) => {
109
+ await connectionClient.saveDiograph(this.diograph.toObject())
110
+ console.info(this.diograph.toObject())
105
111
 
106
- await Promise.all(
107
- connectionClients.map(async (connectionClient) => {
108
- console.info(this.diograph.toObject())
109
- await connectionClient.saveDiograph(this.diograph.toObject())
110
- return
111
- }),
112
- )
113
- }
112
+ return
113
+ }),
114
+ )
114
115
 
115
116
  return this.diograph
116
117
  }
117
118
 
118
- generateDiograph = async (): Promise<IDiograph> => {
119
- console.info('generateDiograph', this.room?.connections)
120
- if (this.room?.connections) {
121
- const connectionClients = getConnectionClients(this.dataClients, this.room?.connections)
122
-
123
- await Promise.all(
124
- connectionClients.map(async (connectionClient) => {
125
- const diographObject = await connectionClient.generateDiograph()
126
- console.info(diographObject)
127
- Object.entries(diographObject).forEach(([key, dioryObject]) => {
128
- key === '/'
129
- ? this.diograph.addDioryLink({ id: '/' }, diographObject['/'])
130
- : this.diograph.addDiory(dioryObject)
131
- })
132
-
133
- await connectionClient.saveDiograph(this.diograph.toObject())
134
- return
135
- }),
136
- )
137
- }
119
+ generateDiograph = async (connections?: IConnectionObject[]): Promise<IDiograph> => {
120
+ console.info('generateDiograph', connections)
121
+
122
+ await Promise.all(
123
+ this.getDiographClients(connections).map(async (connectionClient) => {
124
+ const diographObject = await connectionClient.generateDiograph()
125
+ Object.entries(diographObject).forEach(([key, dioryObject]) => {
126
+ key === '/'
127
+ ? this.diograph.addDioryLink({ id: '/' }, diographObject['/'])
128
+ : this.diograph.addDiory(dioryObject)
129
+ })
130
+
131
+ await connectionClient.saveDiograph(this.diograph.toObject())
132
+ console.info(this.diograph.toObject())
133
+
134
+ return
135
+ }),
136
+ )
138
137
 
139
138
  return this.diograph
140
139
  }
@@ -12,10 +12,10 @@ function getDataClient(
12
12
 
13
13
  export function getConnectionClients(
14
14
  dataClients: IDataClient[],
15
- connections: IConnectionObject[],
15
+ connections?: IConnectionObject[],
16
16
  ): IConnectionClient[] {
17
17
  return connections
18
- .filter(({ client }) => dataClients.some(({ type }) => type === client))
18
+ ?.filter(({ client }) => dataClients.some(({ type }) => type === client))
19
19
  .map((connection) => {
20
20
  const dataClient = getDataClient(dataClients, connection)
21
21
  return new ConnectionClient(dataClient!, connection)