@knocklabs/client 0.8.18 → 0.8.19
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/dist/api.d.ts +25 -0
- package/dist/api.d.ts.map +1 -0
- package/dist/api.js +84 -0
- package/dist/cjs/api.js +2 -133
- package/dist/cjs/api.js.map +1 -1
- package/dist/cjs/clients/feed/feed.js +2 -939
- package/dist/cjs/clients/feed/feed.js.map +1 -1
- package/dist/cjs/clients/feed/index.js +2 -34
- package/dist/cjs/clients/feed/index.js.map +1 -1
- package/dist/cjs/clients/feed/store.js +2 -111
- package/dist/cjs/clients/feed/store.js.map +1 -1
- package/dist/cjs/clients/feed/utils.js +2 -26
- package/dist/cjs/clients/feed/utils.js.map +1 -1
- package/dist/cjs/clients/preferences/index.js +2 -373
- package/dist/cjs/clients/preferences/index.js.map +1 -1
- package/dist/cjs/clients/users/index.js +2 -185
- package/dist/cjs/clients/users/index.js.map +1 -1
- package/dist/cjs/index.js +2 -102
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/knock.js +6 -89
- package/dist/cjs/knock.js.map +1 -1
- package/dist/cjs/networkStatus.js +2 -18
- package/dist/cjs/networkStatus.js.map +1 -1
- package/dist/clients/feed/feed.d.ts +64 -0
- package/dist/clients/feed/feed.d.ts.map +1 -0
- package/dist/clients/feed/feed.js +572 -0
- package/dist/clients/feed/index.d.ts +15 -0
- package/dist/clients/feed/index.d.ts.map +1 -0
- package/dist/clients/feed/index.js +34 -0
- package/dist/clients/feed/interfaces.d.ts +60 -0
- package/dist/clients/feed/interfaces.d.ts.map +1 -0
- package/dist/clients/feed/interfaces.js +2 -0
- package/dist/clients/feed/store.d.ts +3 -0
- package/dist/clients/feed/store.d.ts.map +1 -0
- package/dist/clients/feed/store.js +72 -0
- package/dist/clients/feed/types.d.ts +34 -0
- package/dist/clients/feed/types.d.ts.map +1 -0
- package/dist/clients/feed/types.js +2 -0
- package/dist/clients/feed/utils.d.ts +4 -0
- package/dist/clients/feed/utils.d.ts.map +1 -0
- package/dist/clients/feed/utils.js +21 -0
- package/dist/clients/preferences/index.d.ts +46 -0
- package/dist/clients/preferences/index.d.ts.map +1 -0
- package/dist/clients/preferences/index.js +129 -0
- package/dist/clients/preferences/interfaces.d.ts +26 -0
- package/dist/clients/preferences/interfaces.d.ts.map +1 -0
- package/dist/clients/preferences/interfaces.js +2 -0
- package/dist/clients/users/index.d.ts +16 -0
- package/dist/clients/users/index.d.ts.map +1 -0
- package/dist/clients/users/index.js +56 -0
- package/dist/clients/users/interfaces.d.ts +8 -0
- package/dist/clients/users/interfaces.d.ts.map +1 -0
- package/dist/clients/users/interfaces.js +2 -0
- package/dist/esm/api.js +44 -84
- package/dist/esm/api.js.map +1 -1
- package/dist/esm/clients/feed/feed.js +296 -603
- package/dist/esm/clients/feed/feed.js.map +1 -1
- package/dist/esm/clients/feed/index.js +28 -12
- package/dist/esm/clients/feed/index.js.map +1 -1
- package/dist/esm/clients/feed/store.js +37 -71
- package/dist/esm/clients/feed/store.js.map +1 -1
- package/dist/esm/clients/feed/utils.js +10 -15
- package/dist/esm/clients/feed/utils.js.map +1 -1
- package/dist/esm/clients/preferences/index.js +79 -146
- package/dist/esm/clients/preferences/index.js.map +1 -1
- package/dist/esm/clients/users/index.js +52 -76
- package/dist/esm/clients/users/index.js.map +1 -1
- package/dist/esm/index.js +12 -11
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/knock.js +72 -51
- package/dist/esm/knock.js.map +1 -1
- package/dist/esm/networkStatus.js +14 -10
- package/dist/esm/networkStatus.js.map +1 -1
- package/dist/index.d.ts +11 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +43 -0
- package/dist/interfaces.d.ts +41 -0
- package/dist/interfaces.d.ts.map +1 -0
- package/dist/interfaces.js +2 -0
- package/dist/knock.d.ts +30 -0
- package/dist/knock.d.ts.map +1 -0
- package/dist/knock.js +135 -0
- package/dist/networkStatus.d.ts +8 -0
- package/dist/networkStatus.d.ts.map +1 -0
- package/dist/networkStatus.js +18 -0
- package/dist/types/api.d.ts +0 -2
- package/dist/types/api.d.ts.map +1 -1
- package/dist/types/clients/feed/feed.d.ts +12 -4
- package/dist/types/clients/feed/feed.d.ts.map +1 -1
- package/dist/types/clients/feed/index.d.ts +4 -0
- package/dist/types/clients/feed/index.d.ts.map +1 -1
- package/dist/types/clients/feed/store.d.ts.map +1 -1
- package/dist/types/clients/feed/types.d.ts +0 -1
- package/dist/types/clients/feed/types.d.ts.map +1 -1
- package/dist/types/index.d.ts +1 -1
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/interfaces.d.ts +7 -0
- package/dist/types/interfaces.d.ts.map +1 -1
- package/dist/types/knock.d.ts +12 -4
- package/dist/types/knock.d.ts.map +1 -1
- package/package.json +12 -8
- package/dist/cjs/clients/feed/interfaces.js +0 -6
- package/dist/cjs/clients/feed/interfaces.js.map +0 -1
- package/dist/cjs/clients/feed/types.js +0 -6
- package/dist/cjs/clients/feed/types.js.map +0 -1
- package/dist/cjs/clients/preferences/interfaces.js +0 -6
- package/dist/cjs/clients/preferences/interfaces.js.map +0 -1
- package/dist/cjs/clients/users/interfaces.js +0 -6
- package/dist/cjs/clients/users/interfaces.js.map +0 -1
- package/dist/cjs/interfaces.js +0 -6
- package/dist/cjs/interfaces.js.map +0 -1
- package/dist/esm/clients/feed/interfaces.js +0 -2
- package/dist/esm/clients/feed/interfaces.js.map +0 -1
- package/dist/esm/clients/feed/types.js +0 -2
- package/dist/esm/clients/feed/types.js.map +0 -1
- package/dist/esm/clients/preferences/interfaces.js +0 -2
- package/dist/esm/clients/preferences/interfaces.js.map +0 -1
- package/dist/esm/clients/users/interfaces.js +0 -2
- package/dist/esm/clients/users/interfaces.js.map +0 -1
- package/dist/esm/interfaces.js +0 -2
- package/dist/esm/interfaces.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../../../src/clients/feed/store.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../../../src/clients/feed/store.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AA6BzC,MAAM,CAAC,OAAO,UAAU,WAAW,uDA0DlC"}
|
|
@@ -13,7 +13,6 @@ export type FeedStoreState = {
|
|
|
13
13
|
networkStatus: NetworkStatus;
|
|
14
14
|
setResult: (response: FeedResponse, opts?: StoreFeedResultOptions) => void;
|
|
15
15
|
setMetadata: (metadata: FeedMetadata) => void;
|
|
16
|
-
setLoading: (loading: boolean) => void;
|
|
17
16
|
setNetworkStatus: (networkStatus: NetworkStatus) => void;
|
|
18
17
|
setItemAttrs: (itemIds: string[], attrs: object) => void;
|
|
19
18
|
resetStore: (metadata?: FeedMetadata) => void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/clients/feed/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/clients/feed/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAE5C,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEpD,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAEpE,MAAM,MAAM,sBAAsB,GAAG;IACnC,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG;IAC3B,KAAK,EAAE,QAAQ,EAAE,CAAC;IAClB,QAAQ,EAAE,QAAQ,CAAC;IACnB,QAAQ,EAAE,YAAY,CAAC;IACvB,OAAO,EAAE,OAAO,CAAC;IACjB,aAAa,EAAE,aAAa,CAAC;IAC7B,SAAS,EAAE,CAAC,QAAQ,EAAE,YAAY,EAAE,IAAI,CAAC,EAAE,sBAAsB,KAAK,IAAI,CAAC;IAC3E,WAAW,EAAE,CAAC,QAAQ,EAAE,YAAY,KAAK,IAAI,CAAC;IAC9C,gBAAgB,EAAE,CAAC,aAAa,EAAE,aAAa,KAAK,IAAI,CAAC;IACzD,YAAY,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACzD,UAAU,EAAE,CAAC,QAAQ,CAAC,EAAE,YAAY,KAAK,IAAI,CAAC;CAC/C,CAAC;AAEF,MAAM,MAAM,2BAA2B,GAAG;IACxC,QAAQ,EAAE,YAAY,CAAC;CACxB,CAAC;AAQF,MAAM,MAAM,iBAAiB,GAAG,cAAc,CAAC;AAE/C,MAAM,MAAM,SAAS,GACjB,iBAAiB,GACjB,qBAAqB,GACrB,yBAAyB,GACzB,gBAAgB,GAChB,kBAAkB,GAClB,YAAY,GACZ,cAAc,GACd,YAAY,GACZ,cAAc,GACd,oBAAoB,GACpB,gBAAgB,GAChB,gBAAgB,CAAC;AAGrB,MAAM,MAAM,iBAAiB,GAAG,SAAS,GAAG,kBAAkB,GAAG,SAAS,CAAC;AAE3E,MAAM,MAAM,gBAAgB,GAAG;IAC7B,KAAK,EAAE,IAAI,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC;IACvC,KAAK,EAAE,QAAQ,EAAE,CAAC;IAClB,QAAQ,EAAE,YAAY,CAAC;CACxB,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG,CAAC,IAAI,EAAE,YAAY,KAAK,IAAI,CAAC;AAEhE,MAAM,MAAM,iBAAiB,GAAG,CAAC,OAAO,EAAE,gBAAgB,KAAK,IAAI,CAAC;AAEpE,MAAM,MAAM,eAAe,GAAG,QAAQ,GAAG,QAAQ,EAAE,CAAC"}
|
package/dist/types/index.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,UAAU,EAAE,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,KAAK,MAAM,SAAS,CAAC;AAE5B,cAAc,cAAc,CAAC;AAC7B,cAAc,sBAAsB,CAAC;AACrC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,kCAAkC,CAAC;AACjD,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAEhC,eAAe,KAAK,CAAC;AACrB,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC"}
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import { GenericData } from "@knocklabs/types";
|
|
2
|
+
export type LogLevel = "debug";
|
|
2
3
|
export interface KnockOptions {
|
|
3
4
|
host?: string;
|
|
5
|
+
logLevel?: LogLevel;
|
|
4
6
|
}
|
|
5
7
|
export interface KnockObject<T = GenericData> {
|
|
6
8
|
id: string;
|
|
@@ -31,4 +33,9 @@ export interface ChannelData<T = any> {
|
|
|
31
33
|
channel_id: string;
|
|
32
34
|
data: T;
|
|
33
35
|
}
|
|
36
|
+
export type UserTokenExpiringCallback = (currentToken: string, decodedToken: any) => Promise<string | void>;
|
|
37
|
+
export interface AuthenticateOptions {
|
|
38
|
+
onUserTokenExpiring?: UserTokenExpiringCallback;
|
|
39
|
+
timeBeforeExpirationInMs?: number;
|
|
40
|
+
}
|
|
34
41
|
//# sourceMappingURL=interfaces.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../../src/interfaces.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE/C,MAAM,WAAW,YAAY;IAC3B,IAAI,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../../src/interfaces.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE/C,MAAM,MAAM,QAAQ,GAAG,OAAO,CAAC;AAE/B,MAAM,WAAW,YAAY;IAC3B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,QAAQ,CAAC;CACrB;AAED,MAAM,WAAW,WAAW,CAAC,CAAC,GAAG,WAAW;IAC1C,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,CAAC,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B;AAED,MAAM,WAAW,IAAK,SAAQ,WAAW;IACvC,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B;AAED,MAAM,MAAM,SAAS,GAAG,IAAI,GAAG,WAAW,CAAC;AAE3C,MAAM,WAAW,QAAQ,CAAC,CAAC,GAAG,WAAW;IACvC,EAAE,EAAE,MAAM,CAAC;IACX,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,SAAS,CAAC;IACrB,KAAK,EAAE,SAAS,GAAG,IAAI,CAAC;IACxB,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC;CAChB;AAED,MAAM,WAAW,WAAW,CAAC,CAAC,GAAG,GAAG;IAClC,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,CAAC,CAAC;CACT;AAED,MAAM,MAAM,yBAAyB,GAAG,CACtC,YAAY,EAAE,MAAM,EACpB,YAAY,EAAE,GAAG,KACd,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;AAE5B,MAAM,WAAW,mBAAmB;IAClC,mBAAmB,CAAC,EAAE,yBAAyB,CAAC;IAChD,wBAAwB,CAAC,EAAE,MAAM,CAAC;CACnC"}
|
package/dist/types/knock.d.ts
CHANGED
|
@@ -2,21 +2,29 @@ import ApiClient from "./api";
|
|
|
2
2
|
import FeedClient from "./clients/feed";
|
|
3
3
|
import Preferences from "./clients/preferences";
|
|
4
4
|
import UserClient from "./clients/users";
|
|
5
|
-
import { KnockOptions } from "./interfaces";
|
|
5
|
+
import { AuthenticateOptions, KnockOptions, LogLevel } from "./interfaces";
|
|
6
6
|
declare class Knock {
|
|
7
7
|
readonly apiKey: string;
|
|
8
8
|
private host;
|
|
9
9
|
private apiClient;
|
|
10
10
|
userId: string | undefined;
|
|
11
|
-
userToken
|
|
11
|
+
userToken?: string;
|
|
12
|
+
logLevel?: LogLevel;
|
|
13
|
+
private tokenExpirationTimer;
|
|
12
14
|
readonly feeds: FeedClient;
|
|
13
15
|
readonly preferences: Preferences;
|
|
14
16
|
readonly user: UserClient;
|
|
15
17
|
constructor(apiKey: string, options?: KnockOptions);
|
|
16
18
|
client(): ApiClient;
|
|
17
|
-
authenticate(userId: string, userToken?: string): void;
|
|
18
|
-
isAuthenticated(checkUserToken?: boolean):
|
|
19
|
+
authenticate(userId: string, userToken?: string, options?: AuthenticateOptions): void;
|
|
20
|
+
isAuthenticated(checkUserToken?: boolean): boolean;
|
|
19
21
|
teardown(): void;
|
|
22
|
+
log(message: string): void;
|
|
23
|
+
/**
|
|
24
|
+
* Initiates an API client
|
|
25
|
+
*/
|
|
26
|
+
private createApiClient;
|
|
27
|
+
private maybeScheduleUserTokenExpiration;
|
|
20
28
|
}
|
|
21
29
|
export default Knock;
|
|
22
30
|
//# sourceMappingURL=knock.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"knock.d.ts","sourceRoot":"","sources":["../../src/knock.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"knock.d.ts","sourceRoot":"","sources":["../../src/knock.ts"],"names":[],"mappings":"AAEA,OAAO,SAAS,MAAM,OAAO,CAAC;AAC9B,OAAO,UAAU,MAAM,gBAAgB,CAAC;AACxC,OAAO,WAAW,MAAM,uBAAuB,CAAC;AAChD,OAAO,UAAU,MAAM,iBAAiB,CAAC;AACzC,OAAO,EACL,mBAAmB,EACnB,YAAY,EACZ,QAAQ,EAET,MAAM,cAAc,CAAC;AAItB,cAAM,KAAK;IAYP,QAAQ,CAAC,MAAM,EAAE,MAAM;IAXzB,OAAO,CAAC,IAAI,CAAS;IACrB,OAAO,CAAC,SAAS,CAA0B;IACpC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,QAAQ,CAAC;IAC3B,OAAO,CAAC,oBAAoB,CAA8C;IAC1E,QAAQ,CAAC,KAAK,aAAwB;IACtC,QAAQ,CAAC,WAAW,cAAyB;IAC7C,QAAQ,CAAC,IAAI,aAAwB;gBAG1B,MAAM,EAAE,MAAM,EACvB,OAAO,GAAE,YAAiB;IAe5B,MAAM;IAuBN,YAAY,CACV,MAAM,EAAE,MAAM,EACd,SAAS,CAAC,EAAE,MAAM,EAClB,OAAO,CAAC,EAAE,mBAAmB;IA6C/B,eAAe,CAAC,cAAc,UAAQ;IAKtC,QAAQ;IASR,GAAG,CAAC,OAAO,EAAE,MAAM;IAMnB;;OAEG;IACH,OAAO,CAAC,eAAe;YAQT,gCAAgC;CA8B/C;AAED,eAAe,KAAK,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@knocklabs/client",
|
|
3
|
-
"version": "0.8.
|
|
3
|
+
"version": "0.8.19",
|
|
4
4
|
"description": "The clientside library for interacting with Knock",
|
|
5
5
|
"homepage": "https://github.com/knocklabs/javascript/tree/main/packages/client",
|
|
6
6
|
"author": "@knocklabs",
|
|
@@ -28,7 +28,7 @@
|
|
|
28
28
|
"url": "https://github.com/knocklabs/javascript/issues"
|
|
29
29
|
},
|
|
30
30
|
"scripts": {
|
|
31
|
-
"dev": "
|
|
31
|
+
"dev": "tsc && vite build --watch --emptyOutDir false",
|
|
32
32
|
"lint": "eslint \"src/**/*.+(ts|js|tsx)\"",
|
|
33
33
|
"format": "prettier \"src/**/*.{js,ts,tsx}\" --write",
|
|
34
34
|
"format:check": "prettier \"src/**/*.{js,ts,tsx}\" --check",
|
|
@@ -38,10 +38,9 @@
|
|
|
38
38
|
"clean": "rimraf dist",
|
|
39
39
|
"type-check": "tsc --noEmit",
|
|
40
40
|
"type-check:watch": "npm run type-check -- --watch",
|
|
41
|
-
"build": "yarn clean && yarn build:
|
|
42
|
-
"build:esm": "
|
|
43
|
-
"build:cjs": "
|
|
44
|
-
"build:types": "tsc --emitDeclarationOnly --declaration --declarationDir dist/types",
|
|
41
|
+
"build": "yarn clean && yarn build:cjs && yarn build:esm",
|
|
42
|
+
"build:esm": "BUILD_TARGET=esm; tsc && vite build",
|
|
43
|
+
"build:cjs": "BUILD_TARGET=cjs; tsc && vite build",
|
|
45
44
|
"prepublishOnly": "npm run build"
|
|
46
45
|
},
|
|
47
46
|
"devDependencies": {
|
|
@@ -52,16 +51,20 @@
|
|
|
52
51
|
"@babel/plugin-transform-runtime": "^7.16.7",
|
|
53
52
|
"@babel/preset-env": "^7.16.7",
|
|
54
53
|
"@babel/preset-typescript": "^7.16.7",
|
|
55
|
-
"@knocklabs/types": "0.1.
|
|
54
|
+
"@knocklabs/types": "0.1.2",
|
|
55
|
+
"@types/jsonwebtoken": "^9.0.5",
|
|
56
56
|
"@types/phoenix": "^1.5.4",
|
|
57
57
|
"@typescript-eslint/eslint-plugin": "^6.10.0",
|
|
58
58
|
"@typescript-eslint/parser": "^6.10.0",
|
|
59
59
|
"cross-env": "^7.0.3",
|
|
60
|
+
"crypto": "^1.0.1",
|
|
60
61
|
"eslint": "^8.53.0",
|
|
62
|
+
"jsonwebtoken": "^9.0.2",
|
|
61
63
|
"prettier": "^3.1.0",
|
|
62
64
|
"rimraf": "^5.0.5",
|
|
63
65
|
"rollup": "^2.46.0",
|
|
64
66
|
"typescript": "^5.2.2",
|
|
67
|
+
"vite": "^5.0.0",
|
|
65
68
|
"vitest": "^1.2.2"
|
|
66
69
|
},
|
|
67
70
|
"dependencies": {
|
|
@@ -69,7 +72,8 @@
|
|
|
69
72
|
"axios": "^1.6.0",
|
|
70
73
|
"axios-retry": "^3.1.9",
|
|
71
74
|
"eventemitter2": "^6.4.5",
|
|
75
|
+
"jwt-decode": "^4.0.0",
|
|
72
76
|
"phoenix": "1.6.16",
|
|
73
77
|
"zustand": "^3.7.2"
|
|
74
78
|
}
|
|
75
|
-
}
|
|
79
|
+
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"interfaces.js","names":[],"sources":["../../../../src/clients/feed/interfaces.ts"],"sourcesContent":["import { GenericData, PageInfo } from \"@knocklabs/types\";\nimport { Activity, Recipient } from \"../../interfaces\";\nimport { NetworkStatus } from \"../../networkStatus\";\n\n// Specific feed interfaces\n\nexport interface FeedClientOptions {\n before?: string;\n after?: string;\n page_size?: number;\n status?: \"unread\" | \"read\" | \"unseen\" | \"seen\" | \"all\";\n // Optionally scope all notifications to a particular source only\n source?: string;\n // Optionally scope all requests to a particular tenant\n tenant?: string;\n // Optionally scope to notifications with any tenancy or no tenancy\n has_tenant?: boolean;\n // Optionally scope to notifications with any of the categories provided\n workflow_categories?: string[];\n // Optionally scope to a given archived status (defaults to `exclude`)\n archived?: \"include\" | \"exclude\" | \"only\";\n // Optionally scope all notifications that contain this argument as part of their trigger payload\n trigger_data?: GenericData;\n // Optionally enable cross browser feed updates for this feed\n __experimentalCrossBrowserUpdates?: boolean;\n // Optionally automatically manage socket connections on changes to tab visibility (defaults to `false`)\n auto_manage_socket_connection?: boolean;\n // Optionally set the delay amount in milliseconds when automatically disconnecting sockets from inactive tabs (defaults to `2000`)\n // Requres `auto_manage_socket_connection` to be `true`\n auto_manage_socket_connection_delay?: number;\n}\n\nexport type FetchFeedOptions = {\n __loadingType?: NetworkStatus.loading | NetworkStatus.fetchMore;\n __fetchSource?: \"socket\" | \"http\";\n} & Omit<FeedClientOptions, \"__experimentalCrossBrowserUpdates\">;\n\nexport interface ContentBlock {\n content: string;\n rendered: string;\n type: \"markdown\" | \"text\";\n name: string;\n}\n\nexport interface NotificationSource {\n key: string;\n version_id: string;\n}\n\nexport interface FeedItem<T = GenericData> {\n __cursor: string;\n id: string;\n activities: Activity<T>[];\n actors: Recipient[];\n blocks: ContentBlock[];\n inserted_at: string;\n updated_at: string;\n read_at: string | null;\n seen_at: string | null;\n archived_at: string | null;\n total_activities: number;\n total_actors: number;\n data: T | null;\n source: NotificationSource;\n tenant: string | null;\n}\n\nexport interface FeedMetadata {\n total_count: number;\n unread_count: number;\n unseen_count: number;\n}\n\nexport interface FeedResponse {\n entries: FeedItem[];\n meta: FeedMetadata;\n page_info: PageInfo;\n}\n"],"mappings":""}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","names":[],"sources":["../../../../src/clients/feed/types.ts"],"sourcesContent":["import { PageInfo } from \"@knocklabs/types\";\nimport { NetworkStatus } from \"../../networkStatus\";\nimport { FeedItem, FeedMetadata, FeedResponse } from \"./interfaces\";\n\nexport type StoreFeedResultOptions = {\n shouldSetPage?: boolean;\n shouldAppend?: boolean;\n};\n\nexport type FeedStoreState = {\n items: FeedItem[];\n pageInfo: PageInfo;\n metadata: FeedMetadata;\n loading: boolean;\n networkStatus: NetworkStatus;\n setResult: (response: FeedResponse, opts?: StoreFeedResultOptions) => void;\n setMetadata: (metadata: FeedMetadata) => void;\n setLoading: (loading: boolean) => void;\n setNetworkStatus: (networkStatus: NetworkStatus) => void;\n setItemAttrs: (itemIds: string[], attrs: object) => void;\n resetStore: (metadata?: FeedMetadata) => void;\n};\n\nexport type FeedMessagesReceivedPayload = {\n metadata: FeedMetadata;\n};\n\n/*\nEvent types:\n- `messages.new`: legacy event fired for all messages (feed items) received, real-time or not\n- `items.received.realtime`: all real-time items received via a socket update\n- `items.received.page`: invoked every time a page is fetched (like on initial load)\n*/\nexport type FeedRealTimeEvent = \"messages.new\";\n\nexport type FeedEvent =\n | FeedRealTimeEvent\n | \"items.received.page\"\n | \"items.received.realtime\"\n | \"items.archived\"\n | \"items.unarchived\"\n | \"items.seen\"\n | \"items.unseen\"\n | \"items.read\"\n | \"items.unread\"\n | \"items.all_archived\"\n | \"items.all_read\"\n | \"items.all_seen\";\n\n// Because we can bind to wild card feed events, this is here to accomodate whatever can be bound to\nexport type BindableFeedEvent = FeedEvent | \"items.received.*\" | \"items.*\";\n\nexport type FeedEventPayload = {\n event: Omit<FeedEvent, \"messages.new\">;\n items: FeedItem[];\n metadata: FeedMetadata;\n};\n\nexport type FeedRealTimeCallback = (resp: FeedResponse) => void;\n\nexport type FeedEventCallback = (payload: FeedEventPayload) => void;\n\nexport type FeedItemOrItems = FeedItem | FeedItem[];\n"],"mappings":""}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"interfaces.js","names":[],"sources":["../../../../src/clients/preferences/interfaces.ts"],"sourcesContent":["import { ChannelType } from \"@knocklabs/types\";\n\nexport type ChannelTypePreferences = {\n [K in ChannelType]?: boolean;\n};\n\nexport type WorkflowPreferenceSetting =\n | boolean\n | { channel_types: ChannelTypePreferences };\n\nexport type WorkflowPreferences = Partial<\n Record<string, WorkflowPreferenceSetting>\n>;\n\nexport interface SetPreferencesProperties {\n workflows: WorkflowPreferences;\n categories: WorkflowPreferences;\n channel_types: ChannelTypePreferences;\n}\n\nexport interface PreferenceSet {\n id: string;\n categories: WorkflowPreferences;\n workflows: WorkflowPreferences;\n channel_types: ChannelTypePreferences;\n}\n\nexport interface PreferenceOptions {\n preferenceSet?: string;\n}\n\nexport interface GetPreferencesOptions extends PreferenceOptions {\n tenant?: string;\n}\n"],"mappings":""}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"interfaces.js","names":[],"sources":["../../../../src/clients/users/interfaces.ts"],"sourcesContent":["export interface SetChannelDataInput {\n channelId: string;\n channelData: Record<string, any>;\n}\n\nexport interface GetChannelDataInput {\n channelId: string;\n}\n"],"mappings":""}
|
package/dist/cjs/interfaces.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"interfaces.js","names":[],"sources":["../../src/interfaces.ts"],"sourcesContent":["import { GenericData } from \"@knocklabs/types\";\n\nexport interface KnockOptions {\n host?: string;\n}\n\nexport interface KnockObject<T = GenericData> {\n id: string;\n collection: string;\n properties: T;\n updated_at: string;\n created_at: string | null;\n}\n\nexport interface User extends GenericData {\n id: string;\n email: string | null;\n name: string | null;\n phone_number: string | null;\n avatar: string | null;\n updated_at: string;\n created_at: string | null;\n}\n\nexport type Recipient = User | KnockObject;\n\nexport interface Activity<T = GenericData> {\n id: string;\n inserted_at: string;\n updated_at: string;\n recipient: Recipient;\n actor: Recipient | null;\n data: T | null;\n}\n\nexport interface ChannelData<T = any> {\n channel_id: string;\n data: T;\n}\n"],"mappings":""}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"interfaces.js","names":[],"sources":["../../../../src/clients/feed/interfaces.ts"],"sourcesContent":["import { GenericData, PageInfo } from \"@knocklabs/types\";\nimport { Activity, Recipient } from \"../../interfaces\";\nimport { NetworkStatus } from \"../../networkStatus\";\n\n// Specific feed interfaces\n\nexport interface FeedClientOptions {\n before?: string;\n after?: string;\n page_size?: number;\n status?: \"unread\" | \"read\" | \"unseen\" | \"seen\" | \"all\";\n // Optionally scope all notifications to a particular source only\n source?: string;\n // Optionally scope all requests to a particular tenant\n tenant?: string;\n // Optionally scope to notifications with any tenancy or no tenancy\n has_tenant?: boolean;\n // Optionally scope to notifications with any of the categories provided\n workflow_categories?: string[];\n // Optionally scope to a given archived status (defaults to `exclude`)\n archived?: \"include\" | \"exclude\" | \"only\";\n // Optionally scope all notifications that contain this argument as part of their trigger payload\n trigger_data?: GenericData;\n // Optionally enable cross browser feed updates for this feed\n __experimentalCrossBrowserUpdates?: boolean;\n // Optionally automatically manage socket connections on changes to tab visibility (defaults to `false`)\n auto_manage_socket_connection?: boolean;\n // Optionally set the delay amount in milliseconds when automatically disconnecting sockets from inactive tabs (defaults to `2000`)\n // Requres `auto_manage_socket_connection` to be `true`\n auto_manage_socket_connection_delay?: number;\n}\n\nexport type FetchFeedOptions = {\n __loadingType?: NetworkStatus.loading | NetworkStatus.fetchMore;\n __fetchSource?: \"socket\" | \"http\";\n} & Omit<FeedClientOptions, \"__experimentalCrossBrowserUpdates\">;\n\nexport interface ContentBlock {\n content: string;\n rendered: string;\n type: \"markdown\" | \"text\";\n name: string;\n}\n\nexport interface NotificationSource {\n key: string;\n version_id: string;\n}\n\nexport interface FeedItem<T = GenericData> {\n __cursor: string;\n id: string;\n activities: Activity<T>[];\n actors: Recipient[];\n blocks: ContentBlock[];\n inserted_at: string;\n updated_at: string;\n read_at: string | null;\n seen_at: string | null;\n archived_at: string | null;\n total_activities: number;\n total_actors: number;\n data: T | null;\n source: NotificationSource;\n tenant: string | null;\n}\n\nexport interface FeedMetadata {\n total_count: number;\n unread_count: number;\n unseen_count: number;\n}\n\nexport interface FeedResponse {\n entries: FeedItem[];\n meta: FeedMetadata;\n page_info: PageInfo;\n}\n"],"mappings":""}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","names":[],"sources":["../../../../src/clients/feed/types.ts"],"sourcesContent":["import { PageInfo } from \"@knocklabs/types\";\nimport { NetworkStatus } from \"../../networkStatus\";\nimport { FeedItem, FeedMetadata, FeedResponse } from \"./interfaces\";\n\nexport type StoreFeedResultOptions = {\n shouldSetPage?: boolean;\n shouldAppend?: boolean;\n};\n\nexport type FeedStoreState = {\n items: FeedItem[];\n pageInfo: PageInfo;\n metadata: FeedMetadata;\n loading: boolean;\n networkStatus: NetworkStatus;\n setResult: (response: FeedResponse, opts?: StoreFeedResultOptions) => void;\n setMetadata: (metadata: FeedMetadata) => void;\n setLoading: (loading: boolean) => void;\n setNetworkStatus: (networkStatus: NetworkStatus) => void;\n setItemAttrs: (itemIds: string[], attrs: object) => void;\n resetStore: (metadata?: FeedMetadata) => void;\n};\n\nexport type FeedMessagesReceivedPayload = {\n metadata: FeedMetadata;\n};\n\n/*\nEvent types:\n- `messages.new`: legacy event fired for all messages (feed items) received, real-time or not\n- `items.received.realtime`: all real-time items received via a socket update\n- `items.received.page`: invoked every time a page is fetched (like on initial load)\n*/\nexport type FeedRealTimeEvent = \"messages.new\";\n\nexport type FeedEvent =\n | FeedRealTimeEvent\n | \"items.received.page\"\n | \"items.received.realtime\"\n | \"items.archived\"\n | \"items.unarchived\"\n | \"items.seen\"\n | \"items.unseen\"\n | \"items.read\"\n | \"items.unread\"\n | \"items.all_archived\"\n | \"items.all_read\"\n | \"items.all_seen\";\n\n// Because we can bind to wild card feed events, this is here to accomodate whatever can be bound to\nexport type BindableFeedEvent = FeedEvent | \"items.received.*\" | \"items.*\";\n\nexport type FeedEventPayload = {\n event: Omit<FeedEvent, \"messages.new\">;\n items: FeedItem[];\n metadata: FeedMetadata;\n};\n\nexport type FeedRealTimeCallback = (resp: FeedResponse) => void;\n\nexport type FeedEventCallback = (payload: FeedEventPayload) => void;\n\nexport type FeedItemOrItems = FeedItem | FeedItem[];\n"],"mappings":""}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"interfaces.js","names":[],"sources":["../../../../src/clients/preferences/interfaces.ts"],"sourcesContent":["import { ChannelType } from \"@knocklabs/types\";\n\nexport type ChannelTypePreferences = {\n [K in ChannelType]?: boolean;\n};\n\nexport type WorkflowPreferenceSetting =\n | boolean\n | { channel_types: ChannelTypePreferences };\n\nexport type WorkflowPreferences = Partial<\n Record<string, WorkflowPreferenceSetting>\n>;\n\nexport interface SetPreferencesProperties {\n workflows: WorkflowPreferences;\n categories: WorkflowPreferences;\n channel_types: ChannelTypePreferences;\n}\n\nexport interface PreferenceSet {\n id: string;\n categories: WorkflowPreferences;\n workflows: WorkflowPreferences;\n channel_types: ChannelTypePreferences;\n}\n\nexport interface PreferenceOptions {\n preferenceSet?: string;\n}\n\nexport interface GetPreferencesOptions extends PreferenceOptions {\n tenant?: string;\n}\n"],"mappings":""}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"interfaces.js","names":[],"sources":["../../../../src/clients/users/interfaces.ts"],"sourcesContent":["export interface SetChannelDataInput {\n channelId: string;\n channelData: Record<string, any>;\n}\n\nexport interface GetChannelDataInput {\n channelId: string;\n}\n"],"mappings":""}
|
package/dist/esm/interfaces.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"interfaces.js","names":[],"sources":["../../src/interfaces.ts"],"sourcesContent":["import { GenericData } from \"@knocklabs/types\";\n\nexport interface KnockOptions {\n host?: string;\n}\n\nexport interface KnockObject<T = GenericData> {\n id: string;\n collection: string;\n properties: T;\n updated_at: string;\n created_at: string | null;\n}\n\nexport interface User extends GenericData {\n id: string;\n email: string | null;\n name: string | null;\n phone_number: string | null;\n avatar: string | null;\n updated_at: string;\n created_at: string | null;\n}\n\nexport type Recipient = User | KnockObject;\n\nexport interface Activity<T = GenericData> {\n id: string;\n inserted_at: string;\n updated_at: string;\n recipient: Recipient;\n actor: Recipient | null;\n data: T | null;\n}\n\nexport interface ChannelData<T = any> {\n channel_id: string;\n data: T;\n}\n"],"mappings":""}
|