e621stream 0.0.3 → 0.0.5
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.
- package/README.md +10 -1
- package/dist/E621Stream.d.ts +16 -0
- package/dist/E621Stream.js +38 -0
- package/dist/E621Stream.js.map +1 -1
- package/dist/generated.d.ts +17 -0
- package/dist/index.d.ts +1 -1
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -44,4 +44,13 @@ Listen for an event type with `on("post.create", ...)`, or everything with `on("
|
|
|
44
44
|
|
|
45
45
|
Private events like `dmail.create` have to be subscribed to by name.
|
|
46
46
|
|
|
47
|
-
|
|
47
|
+
`stream.snapshots(resource, ids)` gets what was last seen of up to 1000 records at once (see [Snapshots](https://e621.stream/snapshots/)), keyed by id with `null` for ones that aren't known. It throws if you aren't ready yet, and rejects if the connection closes before the reply.
|
|
48
|
+
|
|
49
|
+
```ts
|
|
50
|
+
stream.on("ready", async () => {
|
|
51
|
+
const posts = await stream.snapshots("post", [6843484, 6843485]);
|
|
52
|
+
console.log(posts[6843484]?.tags?.general);
|
|
53
|
+
});
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
Records like `LegacyPost`, `Comment` and `ForumTopic` come from [e621-openapi](https://www.npmjs.com/package/e621-openapi)'s types, and are exported here too. Mod action events are typed per action, so checking `event.data.action` narrows `event.data.values`.
|
package/dist/E621Stream.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import Emitter from "./Emitter.ts";
|
|
2
2
|
import { type EventType, type PrivateEventType, type StreamEvent, type Subscription } from "./events.ts";
|
|
3
|
+
import type { SnapshotDataMap } from "./generated.ts";
|
|
3
4
|
export interface Options {
|
|
4
5
|
/** Your e621 username & api key, or a token from https://e621.stream/authorize. */
|
|
5
6
|
auth?: {
|
|
@@ -35,6 +36,9 @@ export interface Ready {
|
|
|
35
36
|
name: string;
|
|
36
37
|
} | null;
|
|
37
38
|
}
|
|
39
|
+
export type SnapshotResource = keyof SnapshotDataMap;
|
|
40
|
+
/** Keyed by id, `null` for ones that aren't known. */
|
|
41
|
+
export type Snapshots<R extends SnapshotResource> = Record<number, SnapshotDataMap[R] | null>;
|
|
38
42
|
export interface ClientEvents {
|
|
39
43
|
close: [{
|
|
40
44
|
code: number;
|
|
@@ -78,6 +82,9 @@ export declare class E621Stream extends Emitter<Listeners> {
|
|
|
78
82
|
private heartbeat;
|
|
79
83
|
private lastError;
|
|
80
84
|
private lastHeartbeatAck;
|
|
85
|
+
private nonce;
|
|
86
|
+
private pendingSnapshots;
|
|
87
|
+
private ready;
|
|
81
88
|
private reconnectTimer;
|
|
82
89
|
private socket;
|
|
83
90
|
cursor: string | null;
|
|
@@ -95,6 +102,15 @@ export declare class E621Stream extends Emitter<Listeners> {
|
|
|
95
102
|
/** Close the connection. */
|
|
96
103
|
close(): void;
|
|
97
104
|
connect(): this;
|
|
105
|
+
/**
|
|
106
|
+
* Get what was last seen of up to 1000 records. Only the fields update events are compared on are kept, see https://e621.stream/snapshots/
|
|
107
|
+
* @example
|
|
108
|
+
* ```ts
|
|
109
|
+
* const posts = await stream.snapshots("post", [1, 2, 3]);
|
|
110
|
+
* console.log(posts[1]?.tags);
|
|
111
|
+
* ```
|
|
112
|
+
*/
|
|
113
|
+
snapshots<R extends SnapshotResource>(resource: R, ids: Array<number>): Promise<Snapshots<R>>;
|
|
98
114
|
/** Replace the current subscriptions. */
|
|
99
115
|
subscribe(subscriptions: Array<Subscription>): void;
|
|
100
116
|
}
|
package/dist/E621Stream.js
CHANGED
|
@@ -37,6 +37,9 @@ export class E621Stream extends Emitter {
|
|
|
37
37
|
heartbeat = null;
|
|
38
38
|
lastError = null;
|
|
39
39
|
lastHeartbeatAck = true;
|
|
40
|
+
nonce = 0;
|
|
41
|
+
pendingSnapshots = new Map();
|
|
42
|
+
ready = false;
|
|
40
43
|
reconnectTimer = null;
|
|
41
44
|
socket = null;
|
|
42
45
|
cursor;
|
|
@@ -68,6 +71,7 @@ export class E621Stream extends Emitter {
|
|
|
68
71
|
}
|
|
69
72
|
case "ready": {
|
|
70
73
|
this.attempt = 0;
|
|
74
|
+
this.ready = true;
|
|
71
75
|
this.emit("ready", message.d);
|
|
72
76
|
break;
|
|
73
77
|
}
|
|
@@ -88,6 +92,19 @@ export class E621Stream extends Emitter {
|
|
|
88
92
|
this.emit("subscribed", message.d.subscriptions);
|
|
89
93
|
break;
|
|
90
94
|
}
|
|
95
|
+
case "snapshot": {
|
|
96
|
+
const { done, nonce, snapshots } = message.d;
|
|
97
|
+
const pending = nonce === null ? undefined : this.pendingSnapshots.get(nonce);
|
|
98
|
+
if (pending) {
|
|
99
|
+
Object.assign(pending.received, snapshots);
|
|
100
|
+
// big requests come back in chunks, older servers don't send done
|
|
101
|
+
if (done !== false) {
|
|
102
|
+
this.pendingSnapshots.delete(nonce);
|
|
103
|
+
pending.resolve(pending.received);
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
break;
|
|
107
|
+
}
|
|
91
108
|
case "heartbeat_ack": {
|
|
92
109
|
this.lastHeartbeatAck = true;
|
|
93
110
|
break;
|
|
@@ -102,8 +119,12 @@ export class E621Stream extends Emitter {
|
|
|
102
119
|
onClose(code, reason) {
|
|
103
120
|
this.stopHeartbeat();
|
|
104
121
|
this.socket = null;
|
|
122
|
+
this.ready = false;
|
|
105
123
|
const error = this.lastError;
|
|
106
124
|
this.lastError = null;
|
|
125
|
+
for (const pending of this.pendingSnapshots.values())
|
|
126
|
+
pending.reject(error ?? new StreamError(code, reason || "connection closed"));
|
|
127
|
+
this.pendingSnapshots.clear();
|
|
107
128
|
const reconnecting = !this.closing && this.options.reconnect !== false && !FATAL.has(code);
|
|
108
129
|
if (error)
|
|
109
130
|
this.emit("error", error);
|
|
@@ -196,6 +217,23 @@ export class E621Stream extends Emitter {
|
|
|
196
217
|
});
|
|
197
218
|
return this;
|
|
198
219
|
}
|
|
220
|
+
/**
|
|
221
|
+
* Get what was last seen of up to 1000 records. Only the fields update events are compared on are kept, see https://e621.stream/snapshots/
|
|
222
|
+
* @example
|
|
223
|
+
* ```ts
|
|
224
|
+
* const posts = await stream.snapshots("post", [1, 2, 3]);
|
|
225
|
+
* console.log(posts[1]?.tags);
|
|
226
|
+
* ```
|
|
227
|
+
*/
|
|
228
|
+
async snapshots(resource, ids) {
|
|
229
|
+
if (!this.ready)
|
|
230
|
+
throw new Error("not ready");
|
|
231
|
+
const nonce = String(++this.nonce);
|
|
232
|
+
return new Promise((resolve, reject) => {
|
|
233
|
+
this.pendingSnapshots.set(nonce, { received: {}, resolve: resolve, reject });
|
|
234
|
+
this.send({ op: "snapshot", d: { resource, ids, nonce } });
|
|
235
|
+
});
|
|
236
|
+
}
|
|
199
237
|
/** Replace the current subscriptions. */
|
|
200
238
|
subscribe(subscriptions) {
|
|
201
239
|
this.options.subscriptions = subscriptions;
|
package/dist/E621Stream.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"E621Stream.js","sourceRoot":"","sources":["../lib/E621Stream.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,cAAc,CAAC;AACnC,OAAO,EAAE,UAAU,EAA8E,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"E621Stream.js","sourceRoot":"","sources":["../lib/E621Stream.ts"],"names":[],"mappings":"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"}
|
package/dist/generated.d.ts
CHANGED
|
@@ -788,6 +788,7 @@ export interface ModActionValues {
|
|
|
788
788
|
tag_name: string;
|
|
789
789
|
};
|
|
790
790
|
password_reset: {
|
|
791
|
+
credentials_revoked: boolean;
|
|
791
792
|
invalidated: boolean;
|
|
792
793
|
user_id: number;
|
|
793
794
|
};
|
|
@@ -1220,3 +1221,19 @@ export interface EventDataMap {
|
|
|
1220
1221
|
post_set: PostSet;
|
|
1221
1222
|
};
|
|
1222
1223
|
}
|
|
1224
|
+
/** What `snapshot` sends back for each resource. */
|
|
1225
|
+
export interface SnapshotDataMap {
|
|
1226
|
+
post: PostSnapshot;
|
|
1227
|
+
comment: Pick<Comment, "id" | "body" | "is_hidden" | "is_sticky" | "warning_type" | "warning_user_id">;
|
|
1228
|
+
forum_post: Pick<ForumPost, "id" | "body" | "is_hidden" | "warning_type" | "warning_user_id">;
|
|
1229
|
+
forum_topic: Pick<ForumTopic, "id" | "title" | "category_id" | "is_hidden" | "is_locked" | "is_sticky">;
|
|
1230
|
+
tag_alias: Pick<TagAlias, "id" | "status" | "antecedent_name" | "consequent_name" | "reason" | "approver_id" | "forum_topic_id">;
|
|
1231
|
+
tag_implication: Pick<TagImplication, "id" | "status" | "antecedent_name" | "consequent_name" | "reason" | "approver_id" | "forum_topic_id">;
|
|
1232
|
+
bulk_update_request: Pick<BulkUpdateRequest, "id" | "status" | "title" | "script" | "approver_id" | "forum_topic_id">;
|
|
1233
|
+
help_page: Pick<HelpPage, "id" | "name" | "title" | "wiki_page" | "related">;
|
|
1234
|
+
takedown: Pick<Takedown, "id" | "status">;
|
|
1235
|
+
post_flag: Pick<PostFlag, "id" | "is_resolved">;
|
|
1236
|
+
post_set: Pick<PostSet, "id" | "name" | "shortname" | "description" | "is_public" | "transfer_on_delete" | "post_ids">;
|
|
1237
|
+
news_update: Pick<NewsUpdate, "id" | "message">;
|
|
1238
|
+
post_replacement: Pick<PostReplacement, "id" | "status" | "approver_id" | "reason" | "post_id">;
|
|
1239
|
+
}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { E621Stream, StreamError, type ClientEvents, type Options, type Ready } from "./E621Stream.ts";
|
|
1
|
+
export { E621Stream, StreamError, type ClientEvents, type Options, type Ready, type SnapshotResource, type Snapshots } from "./E621Stream.ts";
|
|
2
2
|
export * from "./events.ts";
|
|
3
3
|
export * from "./changes.ts";
|
|
4
4
|
export type * from "./generated.ts";
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../lib/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,WAAW,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../lib/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,WAAW,EAAsF,MAAM,iBAAiB,CAAC;AAC9I,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAE7B,OAAO,EAAE,OAAO,IAAI,OAAO,EAAiB,MAAM,cAAc,CAAC"}
|