@knocklabs/client 0.8.20 → 0.9.0
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/CHANGELOG.md +12 -0
- package/dist/cjs/api.js +1 -1
- package/dist/cjs/api.js.map +1 -1
- package/dist/cjs/clients/feed/feed.js +1 -1
- package/dist/cjs/clients/feed/feed.js.map +1 -1
- package/dist/cjs/clients/feed/store.js +1 -1
- package/dist/cjs/clients/feed/store.js.map +1 -1
- package/dist/cjs/clients/objects/constants.js +2 -0
- package/dist/cjs/clients/objects/constants.js.map +1 -0
- package/dist/cjs/clients/objects/index.js +2 -0
- package/dist/cjs/clients/objects/index.js.map +1 -0
- package/dist/cjs/clients/slack/index.js +2 -0
- package/dist/cjs/clients/slack/index.js.map +1 -0
- package/dist/cjs/index.js +1 -1
- package/dist/cjs/knock.js +2 -2
- package/dist/cjs/knock.js.map +1 -1
- package/dist/esm/{api.js → api.mjs} +1 -1
- package/dist/esm/api.mjs.map +1 -0
- package/dist/esm/clients/feed/{feed.js → feed.mjs} +4 -4
- package/dist/esm/clients/feed/feed.mjs.map +1 -0
- package/dist/esm/clients/feed/{index.js → index.mjs} +2 -2
- package/dist/esm/clients/feed/index.mjs.map +1 -0
- package/dist/esm/clients/feed/{store.js → store.mjs} +3 -3
- package/dist/esm/clients/feed/store.mjs.map +1 -0
- package/dist/esm/clients/feed/{utils.js → utils.mjs} +1 -1
- package/dist/esm/clients/feed/utils.mjs.map +1 -0
- package/dist/esm/clients/objects/constants.mjs +5 -0
- package/dist/esm/clients/objects/constants.mjs.map +1 -0
- package/dist/esm/clients/objects/index.mjs +42 -0
- package/dist/esm/clients/objects/index.mjs.map +1 -0
- package/dist/esm/clients/preferences/{index.js → index.mjs} +1 -1
- package/dist/esm/clients/preferences/index.mjs.map +1 -0
- package/dist/esm/clients/slack/index.mjs +72 -0
- package/dist/esm/clients/slack/index.mjs.map +1 -0
- package/dist/esm/clients/users/{index.js → index.mjs} +1 -1
- package/dist/esm/clients/users/index.mjs.map +1 -0
- package/dist/esm/index.mjs +14 -0
- package/dist/esm/index.mjs.map +1 -0
- package/dist/esm/{knock.js → knock.mjs} +20 -16
- package/dist/esm/knock.mjs.map +1 -0
- package/dist/esm/{networkStatus.js → networkStatus.mjs} +1 -1
- package/dist/esm/networkStatus.mjs.map +1 -0
- package/dist/types/api.d.ts.map +1 -1
- package/dist/types/clients/objects/constants.d.ts +2 -0
- package/dist/types/clients/objects/constants.d.ts.map +1 -0
- package/dist/types/clients/objects/index.d.ts +22 -0
- package/dist/types/clients/objects/index.d.ts.map +1 -0
- package/dist/types/clients/slack/index.d.ts +12 -0
- package/dist/types/clients/slack/index.d.ts.map +1 -0
- package/dist/types/clients/slack/interfaces.d.ts +33 -0
- package/dist/types/clients/slack/interfaces.d.ts.map +1 -0
- package/dist/types/index.d.ts +4 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/knock.d.ts +5 -1
- package/dist/types/knock.d.ts.map +1 -1
- package/package.json +6 -5
- package/dist/api.d.ts +0 -25
- package/dist/api.d.ts.map +0 -1
- package/dist/api.js +0 -84
- package/dist/clients/feed/feed.d.ts +0 -64
- package/dist/clients/feed/feed.d.ts.map +0 -1
- package/dist/clients/feed/feed.js +0 -572
- package/dist/clients/feed/index.d.ts +0 -15
- package/dist/clients/feed/index.d.ts.map +0 -1
- package/dist/clients/feed/index.js +0 -34
- package/dist/clients/feed/interfaces.d.ts +0 -60
- package/dist/clients/feed/interfaces.d.ts.map +0 -1
- package/dist/clients/feed/interfaces.js +0 -2
- package/dist/clients/feed/store.d.ts +0 -3
- package/dist/clients/feed/store.d.ts.map +0 -1
- package/dist/clients/feed/store.js +0 -72
- package/dist/clients/feed/types.d.ts +0 -34
- package/dist/clients/feed/types.d.ts.map +0 -1
- package/dist/clients/feed/types.js +0 -2
- package/dist/clients/feed/utils.d.ts +0 -4
- package/dist/clients/feed/utils.d.ts.map +0 -1
- package/dist/clients/feed/utils.js +0 -21
- package/dist/clients/preferences/index.d.ts +0 -46
- package/dist/clients/preferences/index.d.ts.map +0 -1
- package/dist/clients/preferences/index.js +0 -129
- package/dist/clients/preferences/interfaces.d.ts +0 -26
- package/dist/clients/preferences/interfaces.d.ts.map +0 -1
- package/dist/clients/preferences/interfaces.js +0 -2
- package/dist/clients/users/index.d.ts +0 -16
- package/dist/clients/users/index.d.ts.map +0 -1
- package/dist/clients/users/index.js +0 -56
- package/dist/clients/users/interfaces.d.ts +0 -8
- package/dist/clients/users/interfaces.d.ts.map +0 -1
- package/dist/clients/users/interfaces.js +0 -2
- package/dist/esm/api.js.map +0 -1
- package/dist/esm/clients/feed/feed.js.map +0 -1
- package/dist/esm/clients/feed/index.js.map +0 -1
- package/dist/esm/clients/feed/store.js.map +0 -1
- package/dist/esm/clients/feed/utils.js.map +0 -1
- package/dist/esm/clients/preferences/index.js.map +0 -1
- package/dist/esm/clients/users/index.js.map +0 -1
- package/dist/esm/index.js +0 -12
- package/dist/esm/index.js.map +0 -1
- package/dist/esm/knock.js.map +0 -1
- package/dist/esm/networkStatus.js.map +0 -1
- package/dist/index.d.ts +0 -11
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js +0 -43
- package/dist/interfaces.d.ts +0 -41
- package/dist/interfaces.d.ts.map +0 -1
- package/dist/interfaces.js +0 -2
- package/dist/knock.d.ts +0 -30
- package/dist/knock.d.ts.map +0 -1
- package/dist/knock.js +0 -135
- package/dist/networkStatus.d.ts +0 -8
- package/dist/networkStatus.d.ts.map +0 -1
- package/dist/networkStatus.js +0 -18
package/dist/api.js
DELETED
|
@@ -1,84 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
const axios_1 = __importDefault(require("axios"));
|
|
7
|
-
const axios_retry_1 = __importDefault(require("axios-retry"));
|
|
8
|
-
const phoenix_1 = require("phoenix");
|
|
9
|
-
class ApiClient {
|
|
10
|
-
host;
|
|
11
|
-
apiKey;
|
|
12
|
-
userToken;
|
|
13
|
-
axiosClient;
|
|
14
|
-
socket;
|
|
15
|
-
constructor(options) {
|
|
16
|
-
this.host = options.host;
|
|
17
|
-
this.apiKey = options.apiKey;
|
|
18
|
-
this.userToken = options.userToken || null;
|
|
19
|
-
// Create a retryable axios client
|
|
20
|
-
this.axiosClient = axios_1.default.create({
|
|
21
|
-
baseURL: this.host,
|
|
22
|
-
headers: {
|
|
23
|
-
Accept: "application/json",
|
|
24
|
-
"Content-Type": "application/json",
|
|
25
|
-
Authorization: `Bearer ${this.apiKey}`,
|
|
26
|
-
"X-Knock-User-Token": this.userToken,
|
|
27
|
-
},
|
|
28
|
-
});
|
|
29
|
-
if (typeof window !== "undefined") {
|
|
30
|
-
this.socket = new phoenix_1.Socket(`${this.host.replace("http", "ws")}/ws/v1`, {
|
|
31
|
-
params: {
|
|
32
|
-
user_token: this.userToken,
|
|
33
|
-
api_key: this.apiKey,
|
|
34
|
-
},
|
|
35
|
-
});
|
|
36
|
-
}
|
|
37
|
-
(0, axios_retry_1.default)(this.axiosClient, {
|
|
38
|
-
retries: 3,
|
|
39
|
-
retryCondition: this.canRetryRequest,
|
|
40
|
-
retryDelay: axios_retry_1.default.exponentialDelay,
|
|
41
|
-
});
|
|
42
|
-
}
|
|
43
|
-
async makeRequest(req) {
|
|
44
|
-
try {
|
|
45
|
-
const result = await this.axiosClient(req);
|
|
46
|
-
return {
|
|
47
|
-
statusCode: result.status < 300 ? "ok" : "error",
|
|
48
|
-
body: result.data,
|
|
49
|
-
error: undefined,
|
|
50
|
-
status: result.status,
|
|
51
|
-
};
|
|
52
|
-
// eslint:disable-next-line
|
|
53
|
-
}
|
|
54
|
-
catch (e) {
|
|
55
|
-
console.error(e);
|
|
56
|
-
return {
|
|
57
|
-
statusCode: "error",
|
|
58
|
-
status: 500,
|
|
59
|
-
body: undefined,
|
|
60
|
-
error: e,
|
|
61
|
-
};
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
canRetryRequest(error) {
|
|
65
|
-
// Retry Network Errors.
|
|
66
|
-
if (axios_retry_1.default.isNetworkError(error)) {
|
|
67
|
-
return true;
|
|
68
|
-
}
|
|
69
|
-
if (!error.response) {
|
|
70
|
-
// Cannot determine if the request can be retried
|
|
71
|
-
return false;
|
|
72
|
-
}
|
|
73
|
-
// Retry Server Errors (5xx).
|
|
74
|
-
if (error.response.status >= 500 && error.response.status <= 599) {
|
|
75
|
-
return true;
|
|
76
|
-
}
|
|
77
|
-
// Retry if rate limited.
|
|
78
|
-
if (error.response.status === 429) {
|
|
79
|
-
return true;
|
|
80
|
-
}
|
|
81
|
-
return false;
|
|
82
|
-
}
|
|
83
|
-
}
|
|
84
|
-
exports.default = ApiClient;
|
|
@@ -1,64 +0,0 @@
|
|
|
1
|
-
import { StoreApi } from "zustand";
|
|
2
|
-
import Knock from "../../knock";
|
|
3
|
-
import { FeedClientOptions, FetchFeedOptions } from "./interfaces";
|
|
4
|
-
import { BindableFeedEvent, FeedEventCallback, FeedItemOrItems, FeedRealTimeCallback, FeedStoreState } from "./types";
|
|
5
|
-
export type Status = "seen" | "read" | "interacted" | "archived" | "unseen" | "unread" | "unarchived";
|
|
6
|
-
declare class Feed {
|
|
7
|
-
readonly knock: Knock;
|
|
8
|
-
readonly feedId: string;
|
|
9
|
-
private userFeedId;
|
|
10
|
-
private channel?;
|
|
11
|
-
private broadcaster;
|
|
12
|
-
private defaultOptions;
|
|
13
|
-
private broadcastChannel;
|
|
14
|
-
private disconnectTimer;
|
|
15
|
-
private hasSubscribedToRealTimeUpdates;
|
|
16
|
-
store: StoreApi<FeedStoreState>;
|
|
17
|
-
constructor(knock: Knock, feedId: string, options: FeedClientOptions);
|
|
18
|
-
/**
|
|
19
|
-
* Used to reinitialize a current feed instance, which is useful when reauthenticating users
|
|
20
|
-
*/
|
|
21
|
-
reinitialize(): void;
|
|
22
|
-
/**
|
|
23
|
-
* Cleans up a feed instance by destroying the store and disconnecting
|
|
24
|
-
* an open socket connection.
|
|
25
|
-
*/
|
|
26
|
-
teardown(): void;
|
|
27
|
-
/** Tears down an instance and removes it entirely from the feed manager */
|
|
28
|
-
dispose(): void;
|
|
29
|
-
listenForUpdates(): void;
|
|
30
|
-
on(eventName: BindableFeedEvent, callback: FeedEventCallback | FeedRealTimeCallback): void;
|
|
31
|
-
off(eventName: BindableFeedEvent, callback: FeedEventCallback | FeedRealTimeCallback): void;
|
|
32
|
-
getState(): FeedStoreState;
|
|
33
|
-
markAsSeen(itemOrItems: FeedItemOrItems): Promise<import("../../api").ApiResponse>;
|
|
34
|
-
markAllAsSeen(): Promise<import("../../api").ApiResponse>;
|
|
35
|
-
markAsUnseen(itemOrItems: FeedItemOrItems): Promise<import("../../api").ApiResponse>;
|
|
36
|
-
markAsRead(itemOrItems: FeedItemOrItems): Promise<import("../../api").ApiResponse>;
|
|
37
|
-
markAllAsRead(): Promise<import("../../api").ApiResponse>;
|
|
38
|
-
markAsUnread(itemOrItems: FeedItemOrItems): Promise<import("../../api").ApiResponse>;
|
|
39
|
-
markAsInteracted(itemOrItems: FeedItemOrItems): Promise<import("../../api").ApiResponse>;
|
|
40
|
-
markAsArchived(itemOrItems: FeedItemOrItems): Promise<import("../../api").ApiResponse>;
|
|
41
|
-
markAllAsArchived(): Promise<import("../../api").ApiResponse>;
|
|
42
|
-
markAsUnarchived(itemOrItems: FeedItemOrItems): Promise<import("../../api").ApiResponse>;
|
|
43
|
-
fetch(options?: FetchFeedOptions): Promise<{
|
|
44
|
-
status: "ok" | "error";
|
|
45
|
-
data: any;
|
|
46
|
-
} | undefined>;
|
|
47
|
-
fetchNextPage(): Promise<void>;
|
|
48
|
-
private broadcast;
|
|
49
|
-
private onNewMessageReceived;
|
|
50
|
-
private buildUserFeedId;
|
|
51
|
-
private optimisticallyPerformStatusUpdate;
|
|
52
|
-
private makeStatusUpdate;
|
|
53
|
-
private makeBulkStatusUpdate;
|
|
54
|
-
private setupBroadcastChannel;
|
|
55
|
-
private broadcastOverChannel;
|
|
56
|
-
private initializeRealtimeConnection;
|
|
57
|
-
/**
|
|
58
|
-
* Listen for changes to document visibility and automatically disconnect
|
|
59
|
-
* or reconnect the socket after a delay
|
|
60
|
-
*/
|
|
61
|
-
private setupAutoSocketManager;
|
|
62
|
-
}
|
|
63
|
-
export default Feed;
|
|
64
|
-
//# sourceMappingURL=feed.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"feed.d.ts","sourceRoot":"","sources":["../../../src/clients/feed/feed.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAEnC,OAAO,KAAK,MAAM,aAAa,CAAC;AAGhC,OAAO,EACL,iBAAiB,EAIjB,gBAAgB,EACjB,MAAM,cAAc,CAAC;AAEtB,OAAO,EACL,iBAAiB,EAEjB,iBAAiB,EAEjB,eAAe,EAEf,oBAAoB,EACpB,cAAc,EACf,MAAM,SAAS,CAAC;AAEjB,MAAM,MAAM,MAAM,GACd,MAAM,GACN,MAAM,GACN,YAAY,GACZ,UAAU,GACV,QAAQ,GACR,QAAQ,GACR,YAAY,CAAC;AASjB,cAAM,IAAI;IAaN,QAAQ,CAAC,KAAK,EAAE,KAAK;IACrB,QAAQ,CAAC,MAAM,EAAE,MAAM;IAbzB,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,OAAO,CAAC,CAAU;IAC1B,OAAO,CAAC,WAAW,CAAe;IAClC,OAAO,CAAC,cAAc,CAAoB;IAC1C,OAAO,CAAC,gBAAgB,CAA2B;IACnD,OAAO,CAAC,eAAe,CAA8C;IACrE,OAAO,CAAC,8BAA8B,CAAkB;IAGjD,KAAK,EAAE,QAAQ,CAAC,cAAc,CAAC,CAAC;gBAG5B,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,MAAM,EACvB,OAAO,EAAE,iBAAiB;IAgB5B;;OAEG;IACH,YAAY;IAWZ;;;OAGG;IACH,QAAQ;IAkBR,2EAA2E;IAC3E,OAAO;IAWP,gBAAgB;IAmBhB,EAAE,CACA,SAAS,EAAE,iBAAiB,EAC5B,QAAQ,EAAE,iBAAiB,GAAG,oBAAoB;IAKpD,GAAG,CACD,SAAS,EAAE,iBAAiB,EAC5B,QAAQ,EAAE,iBAAiB,GAAG,oBAAoB;IAKpD,QAAQ;IAIF,UAAU,CAAC,WAAW,EAAE,eAAe;IAYvC,aAAa;IA+Cb,YAAY,CAAC,WAAW,EAAE,eAAe;IAWzC,UAAU,CAAC,WAAW,EAAE,eAAe;IAYvC,aAAa;IA+Cb,YAAY,CAAC,WAAW,EAAE,eAAe;IAWzC,gBAAgB,CAAC,WAAW,EAAE,eAAe;IAuB7C,cAAc,CAAC,WAAW,EAAE,eAAe;IA0E3C,iBAAiB;IAgCjB,gBAAgB,CAAC,WAAW,EAAE,eAAe;IAS7C,KAAK,CAAC,OAAO,GAAE,gBAAqB;;;;IA6EpC,aAAa;IAgBnB,OAAO,CAAC,SAAS;YAQH,oBAAoB;IAelC,OAAO,CAAC,eAAe;IAIvB,OAAO,CAAC,iCAAiC;YAmD3B,gBAAgB;YAmBhB,oBAAoB;IAyBlC,OAAO,CAAC,qBAAqB;IAoC7B,OAAO,CAAC,oBAAoB;IAoB5B,OAAO,CAAC,4BAA4B;IA4BpC;;;OAGG;IACH,OAAO,CAAC,sBAAsB;CA4B/B;AAED,eAAe,IAAI,CAAC"}
|