@notionhq/client 2.0.0 → 2.1.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/README.md +91 -3
- package/build/package.json +5 -4
- package/build/src/Client.d.ts +11 -1
- package/build/src/Client.d.ts.map +1 -1
- package/build/src/Client.js +64 -38
- package/build/src/Client.js.map +1 -1
- package/build/src/api-endpoints.d.ts +1296 -3135
- package/build/src/api-endpoints.d.ts.map +1 -1
- package/build/src/api-endpoints.js +15 -1
- package/build/src/api-endpoints.js.map +1 -1
- package/build/src/errors.js +3 -3
- package/build/src/errors.js.map +1 -1
- package/build/src/fetch-types.d.ts +1 -2
- package/build/src/fetch-types.d.ts.map +1 -1
- package/build/src/fetch-types.js.map +1 -1
- package/build/src/helpers.d.ts +65 -7
- package/build/src/helpers.d.ts.map +1 -1
- package/build/src/helpers.js +86 -14
- package/build/src/helpers.js.map +1 -1
- package/build/src/index.d.ts +1 -0
- package/build/src/index.d.ts.map +1 -1
- package/build/src/index.js +9 -1
- package/build/src/index.js.map +1 -1
- package/build/src/logging.js +2 -2
- package/build/src/logging.js.map +1 -1
- package/build/src/type-utils.d.ts +0 -6
- package/build/src/type-utils.d.ts.map +1 -1
- package/build/src/type-utils.js.map +1 -1
- package/build/src/utils.d.ts +13 -0
- package/build/src/utils.d.ts.map +1 -0
- package/build/src/utils.js +24 -0
- package/build/src/utils.js.map +1 -0
- package/package.json +5 -4
package/README.md
CHANGED
|
@@ -71,7 +71,7 @@ const myPage = await notion.databases.query({
|
|
|
71
71
|
database_id: "897e5a76-ae52-4b48-9fdf-e71f5945d1af",
|
|
72
72
|
filter: {
|
|
73
73
|
property: "Landmark",
|
|
74
|
-
|
|
74
|
+
rich_text: {
|
|
75
75
|
contains: "Bridge",
|
|
76
76
|
},
|
|
77
77
|
},
|
|
@@ -92,7 +92,7 @@ try {
|
|
|
92
92
|
database_id: databaseId,
|
|
93
93
|
filter: {
|
|
94
94
|
property: "Landmark",
|
|
95
|
-
|
|
95
|
+
rich_text: {
|
|
96
96
|
contains: "Bridge",
|
|
97
97
|
},
|
|
98
98
|
},
|
|
@@ -141,7 +141,8 @@ The `Client` supports the following options on initialization. These options are
|
|
|
141
141
|
|
|
142
142
|
### TypeScript
|
|
143
143
|
|
|
144
|
-
This package contains type definitions for
|
|
144
|
+
This package contains type definitions for all request parameters and responses,
|
|
145
|
+
as well as some useful sub-objects from those entities.
|
|
145
146
|
|
|
146
147
|
Because errors in TypeScript start with type `any` or `unknown`, you should use
|
|
147
148
|
the `isNotionClientError` type guard to handle them in a type-safe way. Each
|
|
@@ -176,6 +177,93 @@ try {
|
|
|
176
177
|
}
|
|
177
178
|
```
|
|
178
179
|
|
|
180
|
+
#### Type guards
|
|
181
|
+
|
|
182
|
+
There are several [type guards](https://www.typescriptlang.org/docs/handbook/advanced-types.html#type-guards-and-differentiating-types)
|
|
183
|
+
provided to distinguish between full and partial API responses.
|
|
184
|
+
|
|
185
|
+
| Type guard function | Purpose |
|
|
186
|
+
| ------------------- | -------------------------------------------------------------- |
|
|
187
|
+
| `isFullPage` | Determine whether an object is a full `PageObjectResponse` |
|
|
188
|
+
| `isFullBlock` | Determine whether an object is a full `BlockObjectResponse` |
|
|
189
|
+
| `isFullDatabase` | Determine whether an object is a full `DatabaseObjectResponse` |
|
|
190
|
+
| `isFullUser` | Determine whether an object is a full `UserObjectResponse` |
|
|
191
|
+
| `isFullComment` | Determine whether an object is a full `CommentObjectResponse` |
|
|
192
|
+
|
|
193
|
+
Here is an example of using a type guard:
|
|
194
|
+
|
|
195
|
+
```typescript
|
|
196
|
+
const fullOrPartialPages = await notion.databases.query({
|
|
197
|
+
database_id: "897e5a76-ae52-4b48-9fdf-e71f5945d1af",
|
|
198
|
+
})
|
|
199
|
+
for (const page of fullOrPartialPages) {
|
|
200
|
+
if (!isFullPage(page)) {
|
|
201
|
+
continue
|
|
202
|
+
}
|
|
203
|
+
// The page variable has been narrowed from PageObjectResponse | PartialPageObjectResponse to PageObjectResponse.
|
|
204
|
+
console.log("Created at:", page.created_time)
|
|
205
|
+
}
|
|
206
|
+
```
|
|
207
|
+
|
|
208
|
+
### Utility functions
|
|
209
|
+
|
|
210
|
+
This package also exports a few utility functions that are helpful for dealing with
|
|
211
|
+
any of our paginated APIs.
|
|
212
|
+
|
|
213
|
+
#### `iteratePaginatedAPI(listFn, firstPageArgs)`
|
|
214
|
+
|
|
215
|
+
This utility turns any paginated API into an async iterator.
|
|
216
|
+
|
|
217
|
+
**Parameters:**
|
|
218
|
+
|
|
219
|
+
- `listFn`: Any function on the Notion client that represents a paginated API (i.e. accepts
|
|
220
|
+
`start_cursor`.) Example: `notion.blocks.children.list`.
|
|
221
|
+
- `firstPageArgs`: Arguments that should be passed to the API on the first and subsequent calls
|
|
222
|
+
to the API, for example a `block_id`.
|
|
223
|
+
|
|
224
|
+
**Returns:**
|
|
225
|
+
|
|
226
|
+
An [async iterator](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Iteration_protocols#the_async_iterator_and_async_iterable_protocols)
|
|
227
|
+
over results from the API.
|
|
228
|
+
|
|
229
|
+
**Example:**
|
|
230
|
+
|
|
231
|
+
```javascript
|
|
232
|
+
for await (const block of iteratePaginatedAPI(notion.blocks.children.list, {
|
|
233
|
+
block_id: parentBlockId,
|
|
234
|
+
})) {
|
|
235
|
+
// Do something with block.
|
|
236
|
+
}
|
|
237
|
+
```
|
|
238
|
+
|
|
239
|
+
#### `collectPaginatedAPI(listFn, firstPageArgs)`
|
|
240
|
+
|
|
241
|
+
This utility accepts the same arguments as `iteratePaginatedAPI`, but collects
|
|
242
|
+
the results into an in-memory array.
|
|
243
|
+
|
|
244
|
+
Before using this utility, check that the data you are dealing with is
|
|
245
|
+
small enough to fit in memory.
|
|
246
|
+
|
|
247
|
+
**Parameters:**
|
|
248
|
+
|
|
249
|
+
- `listFn`: Any function on the Notion client that represents a paginated API (i.e. accepts
|
|
250
|
+
`start_cursor`.) Example: `notion.blocks.children.list`.
|
|
251
|
+
- `firstPageArgs`: Arguments that should be passed to the API on the first and subsequent calls
|
|
252
|
+
to the API, for example a `block_id`.
|
|
253
|
+
|
|
254
|
+
**Returns:**
|
|
255
|
+
|
|
256
|
+
An array with results from the API.
|
|
257
|
+
|
|
258
|
+
**Example:**
|
|
259
|
+
|
|
260
|
+
```javascript
|
|
261
|
+
const blocks = collectPaginatedAPI(notion.blocks.children.list, {
|
|
262
|
+
block_id: parentBlockId,
|
|
263
|
+
})
|
|
264
|
+
// Do something with blocks.
|
|
265
|
+
```
|
|
266
|
+
|
|
179
267
|
## Requirements
|
|
180
268
|
|
|
181
269
|
This package supports the following minimum versions:
|
package/build/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@notionhq/client",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.1.0",
|
|
4
4
|
"description": "A simple and easy to use client for the Notion API",
|
|
5
5
|
"engines": {
|
|
6
6
|
"node": ">=12"
|
|
@@ -27,7 +27,7 @@
|
|
|
27
27
|
"build": "tsc",
|
|
28
28
|
"prettier": "prettier --write .",
|
|
29
29
|
"lint": "prettier --check . && eslint . --ext .ts && cspell '**/*' ",
|
|
30
|
-
"test": "
|
|
30
|
+
"test": "jest ./test",
|
|
31
31
|
"check-links": "git ls-files | grep md$ | xargs -n 1 markdown-link-check",
|
|
32
32
|
"prebuild": "npm run clean",
|
|
33
33
|
"clean": "rm -rf ./build",
|
|
@@ -44,14 +44,15 @@
|
|
|
44
44
|
"node-fetch": "^2.6.1"
|
|
45
45
|
},
|
|
46
46
|
"devDependencies": {
|
|
47
|
-
"@
|
|
47
|
+
"@types/jest": "^28.1.4",
|
|
48
48
|
"@typescript-eslint/eslint-plugin": "^4.22.0",
|
|
49
49
|
"@typescript-eslint/parser": "^4.22.0",
|
|
50
|
-
"ava": "^3.15.0",
|
|
51
50
|
"cspell": "^5.4.1",
|
|
52
51
|
"eslint": "^7.24.0",
|
|
52
|
+
"jest": "^28.1.2",
|
|
53
53
|
"markdown-link-check": "^3.8.7",
|
|
54
54
|
"prettier": "^2.3.0",
|
|
55
|
+
"ts-jest": "^28.0.5",
|
|
55
56
|
"typescript": "^4.2.4"
|
|
56
57
|
}
|
|
57
58
|
}
|
package/build/src/Client.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/// <reference types="node" />
|
|
2
2
|
import type { Agent } from "http";
|
|
3
3
|
import { Logger, LogLevel } from "./logging";
|
|
4
|
-
import { GetBlockParameters, GetBlockResponse, UpdateBlockParameters, UpdateBlockResponse, DeleteBlockParameters, DeleteBlockResponse, AppendBlockChildrenParameters, AppendBlockChildrenResponse, ListBlockChildrenParameters, ListBlockChildrenResponse, ListDatabasesParameters, ListDatabasesResponse, GetDatabaseParameters, GetDatabaseResponse, QueryDatabaseParameters, QueryDatabaseResponse, CreateDatabaseParameters, CreateDatabaseResponse, UpdateDatabaseParameters, UpdateDatabaseResponse, CreatePageParameters, CreatePageResponse, GetPageParameters, GetPageResponse, UpdatePageParameters, UpdatePageResponse, GetUserParameters, GetUserResponse, ListUsersParameters, ListUsersResponse, SearchParameters, SearchResponse, GetSelfParameters, GetSelfResponse, GetPagePropertyParameters, GetPagePropertyResponse } from "./api-endpoints";
|
|
4
|
+
import { GetBlockParameters, GetBlockResponse, UpdateBlockParameters, UpdateBlockResponse, DeleteBlockParameters, DeleteBlockResponse, AppendBlockChildrenParameters, AppendBlockChildrenResponse, ListBlockChildrenParameters, ListBlockChildrenResponse, ListDatabasesParameters, ListDatabasesResponse, GetDatabaseParameters, GetDatabaseResponse, QueryDatabaseParameters, QueryDatabaseResponse, CreateDatabaseParameters, CreateDatabaseResponse, UpdateDatabaseParameters, UpdateDatabaseResponse, CreatePageParameters, CreatePageResponse, GetPageParameters, GetPageResponse, UpdatePageParameters, UpdatePageResponse, GetUserParameters, GetUserResponse, ListUsersParameters, ListUsersResponse, SearchParameters, SearchResponse, GetSelfParameters, GetSelfResponse, GetPagePropertyParameters, GetPagePropertyResponse, CreateCommentParameters, CreateCommentResponse, ListCommentsParameters, ListCommentsResponse } from "./api-endpoints";
|
|
5
5
|
import { SupportedFetch } from "./fetch-types";
|
|
6
6
|
export interface ClientOptions {
|
|
7
7
|
auth?: string;
|
|
@@ -117,6 +117,16 @@ export default class Client {
|
|
|
117
117
|
*/
|
|
118
118
|
me: (args: WithAuth<GetSelfParameters>) => Promise<GetSelfResponse>;
|
|
119
119
|
};
|
|
120
|
+
readonly comments: {
|
|
121
|
+
/**
|
|
122
|
+
* Create a comment
|
|
123
|
+
*/
|
|
124
|
+
create: (args: WithAuth<CreateCommentParameters>) => Promise<CreateCommentResponse>;
|
|
125
|
+
/**
|
|
126
|
+
* List comments
|
|
127
|
+
*/
|
|
128
|
+
list: (args: WithAuth<ListCommentsParameters>) => Promise<ListCommentsResponse>;
|
|
129
|
+
};
|
|
120
130
|
/**
|
|
121
131
|
* Search
|
|
122
132
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Client.d.ts","sourceRoot":"","sources":["../../src/Client.ts"],"names":[],"mappings":";AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,MAAM,CAAA;AACjC,OAAO,EACL,MAAM,EACN,QAAQ,EAGT,MAAM,WAAW,CAAA;AAQlB,OAAO,EACL,kBAAkB,EAClB,gBAAgB,EAEhB,qBAAqB,EACrB,mBAAmB,EAEnB,qBAAqB,EACrB,mBAAmB,EAEnB,6BAA6B,EAC7B,2BAA2B,EAE3B,2BAA2B,EAC3B,yBAAyB,EAEzB,uBAAuB,EACvB,qBAAqB,EAErB,qBAAqB,EACrB,mBAAmB,EAEnB,uBAAuB,EACvB,qBAAqB,EAErB,wBAAwB,EACxB,sBAAsB,EAEtB,wBAAwB,EACxB,sBAAsB,EAEtB,oBAAoB,EACpB,kBAAkB,EAElB,iBAAiB,EACjB,eAAe,EAEf,oBAAoB,EACpB,kBAAkB,EAElB,iBAAiB,EACjB,eAAe,EAEf,mBAAmB,EACnB,iBAAiB,EAEjB,gBAAgB,EAChB,cAAc,EAEd,iBAAiB,EACjB,eAAe,EAEf,yBAAyB,EACzB,uBAAuB,
|
|
1
|
+
{"version":3,"file":"Client.d.ts","sourceRoot":"","sources":["../../src/Client.ts"],"names":[],"mappings":"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"}
|
package/build/src/Client.js
CHANGED
|
@@ -14,7 +14,7 @@ var _Client_auth, _Client_logLevel, _Client_logger, _Client_prefixUrl, _Client_t
|
|
|
14
14
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
15
|
const logging_1 = require("./logging");
|
|
16
16
|
const errors_1 = require("./errors");
|
|
17
|
-
const
|
|
17
|
+
const utils_1 = require("./utils");
|
|
18
18
|
const api_endpoints_1 = require("./api-endpoints");
|
|
19
19
|
const node_fetch_1 = require("node-fetch");
|
|
20
20
|
const package_json_1 = require("../package.json");
|
|
@@ -41,8 +41,8 @@ class Client {
|
|
|
41
41
|
return this.request({
|
|
42
42
|
path: api_endpoints_1.getBlock.path(args),
|
|
43
43
|
method: api_endpoints_1.getBlock.method,
|
|
44
|
-
query: (0,
|
|
45
|
-
body: (0,
|
|
44
|
+
query: (0, utils_1.pick)(args, api_endpoints_1.getBlock.queryParams),
|
|
45
|
+
body: (0, utils_1.pick)(args, api_endpoints_1.getBlock.bodyParams),
|
|
46
46
|
auth: args === null || args === void 0 ? void 0 : args.auth,
|
|
47
47
|
});
|
|
48
48
|
},
|
|
@@ -53,8 +53,8 @@ class Client {
|
|
|
53
53
|
return this.request({
|
|
54
54
|
path: api_endpoints_1.updateBlock.path(args),
|
|
55
55
|
method: api_endpoints_1.updateBlock.method,
|
|
56
|
-
query: (0,
|
|
57
|
-
body: (0,
|
|
56
|
+
query: (0, utils_1.pick)(args, api_endpoints_1.updateBlock.queryParams),
|
|
57
|
+
body: (0, utils_1.pick)(args, api_endpoints_1.updateBlock.bodyParams),
|
|
58
58
|
auth: args === null || args === void 0 ? void 0 : args.auth,
|
|
59
59
|
});
|
|
60
60
|
},
|
|
@@ -65,8 +65,8 @@ class Client {
|
|
|
65
65
|
return this.request({
|
|
66
66
|
path: api_endpoints_1.deleteBlock.path(args),
|
|
67
67
|
method: api_endpoints_1.deleteBlock.method,
|
|
68
|
-
query: (0,
|
|
69
|
-
body: (0,
|
|
68
|
+
query: (0, utils_1.pick)(args, api_endpoints_1.deleteBlock.queryParams),
|
|
69
|
+
body: (0, utils_1.pick)(args, api_endpoints_1.deleteBlock.bodyParams),
|
|
70
70
|
auth: args === null || args === void 0 ? void 0 : args.auth,
|
|
71
71
|
});
|
|
72
72
|
},
|
|
@@ -78,8 +78,8 @@ class Client {
|
|
|
78
78
|
return this.request({
|
|
79
79
|
path: api_endpoints_1.appendBlockChildren.path(args),
|
|
80
80
|
method: api_endpoints_1.appendBlockChildren.method,
|
|
81
|
-
query: (0,
|
|
82
|
-
body: (0,
|
|
81
|
+
query: (0, utils_1.pick)(args, api_endpoints_1.appendBlockChildren.queryParams),
|
|
82
|
+
body: (0, utils_1.pick)(args, api_endpoints_1.appendBlockChildren.bodyParams),
|
|
83
83
|
auth: args === null || args === void 0 ? void 0 : args.auth,
|
|
84
84
|
});
|
|
85
85
|
},
|
|
@@ -90,8 +90,8 @@ class Client {
|
|
|
90
90
|
return this.request({
|
|
91
91
|
path: api_endpoints_1.listBlockChildren.path(args),
|
|
92
92
|
method: api_endpoints_1.listBlockChildren.method,
|
|
93
|
-
query: (0,
|
|
94
|
-
body: (0,
|
|
93
|
+
query: (0, utils_1.pick)(args, api_endpoints_1.listBlockChildren.queryParams),
|
|
94
|
+
body: (0, utils_1.pick)(args, api_endpoints_1.listBlockChildren.bodyParams),
|
|
95
95
|
auth: args === null || args === void 0 ? void 0 : args.auth,
|
|
96
96
|
});
|
|
97
97
|
},
|
|
@@ -107,8 +107,8 @@ class Client {
|
|
|
107
107
|
return this.request({
|
|
108
108
|
path: api_endpoints_1.listDatabases.path(),
|
|
109
109
|
method: api_endpoints_1.listDatabases.method,
|
|
110
|
-
query: (0,
|
|
111
|
-
body: (0,
|
|
110
|
+
query: (0, utils_1.pick)(args, api_endpoints_1.listDatabases.queryParams),
|
|
111
|
+
body: (0, utils_1.pick)(args, api_endpoints_1.listDatabases.bodyParams),
|
|
112
112
|
auth: args === null || args === void 0 ? void 0 : args.auth,
|
|
113
113
|
});
|
|
114
114
|
},
|
|
@@ -119,8 +119,8 @@ class Client {
|
|
|
119
119
|
return this.request({
|
|
120
120
|
path: api_endpoints_1.getDatabase.path(args),
|
|
121
121
|
method: api_endpoints_1.getDatabase.method,
|
|
122
|
-
query: (0,
|
|
123
|
-
body: (0,
|
|
122
|
+
query: (0, utils_1.pick)(args, api_endpoints_1.getDatabase.queryParams),
|
|
123
|
+
body: (0, utils_1.pick)(args, api_endpoints_1.getDatabase.bodyParams),
|
|
124
124
|
auth: args === null || args === void 0 ? void 0 : args.auth,
|
|
125
125
|
});
|
|
126
126
|
},
|
|
@@ -131,8 +131,8 @@ class Client {
|
|
|
131
131
|
return this.request({
|
|
132
132
|
path: api_endpoints_1.queryDatabase.path(args),
|
|
133
133
|
method: api_endpoints_1.queryDatabase.method,
|
|
134
|
-
query: (0,
|
|
135
|
-
body: (0,
|
|
134
|
+
query: (0, utils_1.pick)(args, api_endpoints_1.queryDatabase.queryParams),
|
|
135
|
+
body: (0, utils_1.pick)(args, api_endpoints_1.queryDatabase.bodyParams),
|
|
136
136
|
auth: args === null || args === void 0 ? void 0 : args.auth,
|
|
137
137
|
});
|
|
138
138
|
},
|
|
@@ -143,8 +143,8 @@ class Client {
|
|
|
143
143
|
return this.request({
|
|
144
144
|
path: api_endpoints_1.createDatabase.path(),
|
|
145
145
|
method: api_endpoints_1.createDatabase.method,
|
|
146
|
-
query: (0,
|
|
147
|
-
body: (0,
|
|
146
|
+
query: (0, utils_1.pick)(args, api_endpoints_1.createDatabase.queryParams),
|
|
147
|
+
body: (0, utils_1.pick)(args, api_endpoints_1.createDatabase.bodyParams),
|
|
148
148
|
auth: args === null || args === void 0 ? void 0 : args.auth,
|
|
149
149
|
});
|
|
150
150
|
},
|
|
@@ -155,8 +155,8 @@ class Client {
|
|
|
155
155
|
return this.request({
|
|
156
156
|
path: api_endpoints_1.updateDatabase.path(args),
|
|
157
157
|
method: api_endpoints_1.updateDatabase.method,
|
|
158
|
-
query: (0,
|
|
159
|
-
body: (0,
|
|
158
|
+
query: (0, utils_1.pick)(args, api_endpoints_1.updateDatabase.queryParams),
|
|
159
|
+
body: (0, utils_1.pick)(args, api_endpoints_1.updateDatabase.bodyParams),
|
|
160
160
|
auth: args === null || args === void 0 ? void 0 : args.auth,
|
|
161
161
|
});
|
|
162
162
|
},
|
|
@@ -169,8 +169,8 @@ class Client {
|
|
|
169
169
|
return this.request({
|
|
170
170
|
path: api_endpoints_1.createPage.path(),
|
|
171
171
|
method: api_endpoints_1.createPage.method,
|
|
172
|
-
query: (0,
|
|
173
|
-
body: (0,
|
|
172
|
+
query: (0, utils_1.pick)(args, api_endpoints_1.createPage.queryParams),
|
|
173
|
+
body: (0, utils_1.pick)(args, api_endpoints_1.createPage.bodyParams),
|
|
174
174
|
auth: args === null || args === void 0 ? void 0 : args.auth,
|
|
175
175
|
});
|
|
176
176
|
},
|
|
@@ -181,8 +181,8 @@ class Client {
|
|
|
181
181
|
return this.request({
|
|
182
182
|
path: api_endpoints_1.getPage.path(args),
|
|
183
183
|
method: api_endpoints_1.getPage.method,
|
|
184
|
-
query: (0,
|
|
185
|
-
body: (0,
|
|
184
|
+
query: (0, utils_1.pick)(args, api_endpoints_1.getPage.queryParams),
|
|
185
|
+
body: (0, utils_1.pick)(args, api_endpoints_1.getPage.bodyParams),
|
|
186
186
|
auth: args === null || args === void 0 ? void 0 : args.auth,
|
|
187
187
|
});
|
|
188
188
|
},
|
|
@@ -193,8 +193,8 @@ class Client {
|
|
|
193
193
|
return this.request({
|
|
194
194
|
path: api_endpoints_1.updatePage.path(args),
|
|
195
195
|
method: api_endpoints_1.updatePage.method,
|
|
196
|
-
query: (0,
|
|
197
|
-
body: (0,
|
|
196
|
+
query: (0, utils_1.pick)(args, api_endpoints_1.updatePage.queryParams),
|
|
197
|
+
body: (0, utils_1.pick)(args, api_endpoints_1.updatePage.bodyParams),
|
|
198
198
|
auth: args === null || args === void 0 ? void 0 : args.auth,
|
|
199
199
|
});
|
|
200
200
|
},
|
|
@@ -206,8 +206,8 @@ class Client {
|
|
|
206
206
|
return this.request({
|
|
207
207
|
path: api_endpoints_1.getPageProperty.path(args),
|
|
208
208
|
method: api_endpoints_1.getPageProperty.method,
|
|
209
|
-
query: (0,
|
|
210
|
-
body: (0,
|
|
209
|
+
query: (0, utils_1.pick)(args, api_endpoints_1.getPageProperty.queryParams),
|
|
210
|
+
body: (0, utils_1.pick)(args, api_endpoints_1.getPageProperty.bodyParams),
|
|
211
211
|
auth: args === null || args === void 0 ? void 0 : args.auth,
|
|
212
212
|
});
|
|
213
213
|
},
|
|
@@ -221,8 +221,8 @@ class Client {
|
|
|
221
221
|
return this.request({
|
|
222
222
|
path: api_endpoints_1.getUser.path(args),
|
|
223
223
|
method: api_endpoints_1.getUser.method,
|
|
224
|
-
query: (0,
|
|
225
|
-
body: (0,
|
|
224
|
+
query: (0, utils_1.pick)(args, api_endpoints_1.getUser.queryParams),
|
|
225
|
+
body: (0, utils_1.pick)(args, api_endpoints_1.getUser.bodyParams),
|
|
226
226
|
auth: args === null || args === void 0 ? void 0 : args.auth,
|
|
227
227
|
});
|
|
228
228
|
},
|
|
@@ -233,8 +233,8 @@ class Client {
|
|
|
233
233
|
return this.request({
|
|
234
234
|
path: api_endpoints_1.listUsers.path(),
|
|
235
235
|
method: api_endpoints_1.listUsers.method,
|
|
236
|
-
query: (0,
|
|
237
|
-
body: (0,
|
|
236
|
+
query: (0, utils_1.pick)(args, api_endpoints_1.listUsers.queryParams),
|
|
237
|
+
body: (0, utils_1.pick)(args, api_endpoints_1.listUsers.bodyParams),
|
|
238
238
|
auth: args === null || args === void 0 ? void 0 : args.auth,
|
|
239
239
|
});
|
|
240
240
|
},
|
|
@@ -245,8 +245,34 @@ class Client {
|
|
|
245
245
|
return this.request({
|
|
246
246
|
path: api_endpoints_1.getSelf.path(),
|
|
247
247
|
method: api_endpoints_1.getSelf.method,
|
|
248
|
-
query: (0,
|
|
249
|
-
body: (0,
|
|
248
|
+
query: (0, utils_1.pick)(args, api_endpoints_1.getSelf.queryParams),
|
|
249
|
+
body: (0, utils_1.pick)(args, api_endpoints_1.getSelf.bodyParams),
|
|
250
|
+
auth: args === null || args === void 0 ? void 0 : args.auth,
|
|
251
|
+
});
|
|
252
|
+
},
|
|
253
|
+
};
|
|
254
|
+
this.comments = {
|
|
255
|
+
/**
|
|
256
|
+
* Create a comment
|
|
257
|
+
*/
|
|
258
|
+
create: (args) => {
|
|
259
|
+
return this.request({
|
|
260
|
+
path: api_endpoints_1.createComment.path(),
|
|
261
|
+
method: api_endpoints_1.createComment.method,
|
|
262
|
+
query: (0, utils_1.pick)(args, api_endpoints_1.createComment.queryParams),
|
|
263
|
+
body: (0, utils_1.pick)(args, api_endpoints_1.createComment.bodyParams),
|
|
264
|
+
auth: args === null || args === void 0 ? void 0 : args.auth,
|
|
265
|
+
});
|
|
266
|
+
},
|
|
267
|
+
/**
|
|
268
|
+
* List comments
|
|
269
|
+
*/
|
|
270
|
+
list: (args) => {
|
|
271
|
+
return this.request({
|
|
272
|
+
path: api_endpoints_1.listComments.path(),
|
|
273
|
+
method: api_endpoints_1.listComments.method,
|
|
274
|
+
query: (0, utils_1.pick)(args, api_endpoints_1.listComments.queryParams),
|
|
275
|
+
body: (0, utils_1.pick)(args, api_endpoints_1.listComments.bodyParams),
|
|
250
276
|
auth: args === null || args === void 0 ? void 0 : args.auth,
|
|
251
277
|
});
|
|
252
278
|
},
|
|
@@ -294,7 +320,7 @@ class Client {
|
|
|
294
320
|
}
|
|
295
321
|
try {
|
|
296
322
|
const response = await errors_1.RequestTimeoutError.rejectAfterTimeout(__classPrivateFieldGet(this, _Client_fetch, "f").call(this, url.toString(), {
|
|
297
|
-
method,
|
|
323
|
+
method: method.toUpperCase(),
|
|
298
324
|
headers,
|
|
299
325
|
body: bodyAsJsonString,
|
|
300
326
|
agent: __classPrivateFieldGet(this, _Client_agent, "f"),
|
|
@@ -332,8 +358,8 @@ class Client {
|
|
|
332
358
|
return this.request({
|
|
333
359
|
path: api_endpoints_1.search.path(),
|
|
334
360
|
method: api_endpoints_1.search.method,
|
|
335
|
-
query: (0,
|
|
336
|
-
body: (0,
|
|
361
|
+
query: (0, utils_1.pick)(args, api_endpoints_1.search.queryParams),
|
|
362
|
+
body: (0, utils_1.pick)(args, api_endpoints_1.search.bodyParams),
|
|
337
363
|
auth: args === null || args === void 0 ? void 0 : args.auth,
|
|
338
364
|
});
|
|
339
365
|
}
|
package/build/src/Client.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Client.js","sourceRoot":"","sources":["../../src/Client.ts"],"names":[],"mappings":"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","sourcesContent":["import type { Agent } from \"http\"\nimport {\n Logger,\n LogLevel,\n logLevelSeverity,\n makeConsoleLogger,\n} from \"./logging\"\nimport {\n buildRequestError,\n isHTTPResponseError,\n isNotionClientError,\n RequestTimeoutError,\n} from \"./errors\"\nimport { pick } from \"./helpers\"\nimport {\n GetBlockParameters,\n GetBlockResponse,\n getBlock,\n UpdateBlockParameters,\n UpdateBlockResponse,\n updateBlock,\n DeleteBlockParameters,\n DeleteBlockResponse,\n deleteBlock,\n AppendBlockChildrenParameters,\n AppendBlockChildrenResponse,\n appendBlockChildren,\n ListBlockChildrenParameters,\n ListBlockChildrenResponse,\n listBlockChildren,\n ListDatabasesParameters,\n ListDatabasesResponse,\n listDatabases,\n GetDatabaseParameters,\n GetDatabaseResponse,\n getDatabase,\n QueryDatabaseParameters,\n QueryDatabaseResponse,\n queryDatabase,\n CreateDatabaseParameters,\n CreateDatabaseResponse,\n createDatabase,\n UpdateDatabaseParameters,\n UpdateDatabaseResponse,\n updateDatabase,\n CreatePageParameters,\n CreatePageResponse,\n createPage,\n GetPageParameters,\n GetPageResponse,\n getPage,\n UpdatePageParameters,\n UpdatePageResponse,\n updatePage,\n GetUserParameters,\n GetUserResponse,\n getUser,\n ListUsersParameters,\n ListUsersResponse,\n listUsers,\n SearchParameters,\n SearchResponse,\n search,\n GetSelfParameters,\n GetSelfResponse,\n getSelf,\n GetPagePropertyParameters,\n GetPagePropertyResponse,\n getPageProperty,\n} from \"./api-endpoints\"\nimport nodeFetch from \"node-fetch\"\nimport {\n version as PACKAGE_VERSION,\n name as PACKAGE_NAME,\n} from \"../package.json\"\nimport { SupportedFetch } from \"./fetch-types\"\n\nexport interface ClientOptions {\n auth?: string\n timeoutMs?: number\n baseUrl?: string\n logLevel?: LogLevel\n logger?: Logger\n notionVersion?: string\n fetch?: SupportedFetch\n /** Silently ignored in the browser */\n agent?: Agent\n}\n\nexport interface RequestParameters {\n path: string\n method: Method\n query?: QueryParams\n body?: Record<string, unknown>\n auth?: string\n}\n\nexport default class Client {\n #auth?: string\n #logLevel: LogLevel\n #logger: Logger\n #prefixUrl: string\n #timeoutMs: number\n #notionVersion: string\n #fetch: SupportedFetch\n #agent: Agent | undefined\n #userAgent: string\n\n static readonly defaultNotionVersion = \"2022-06-28\"\n\n public constructor(options?: ClientOptions) {\n this.#auth = options?.auth\n this.#logLevel = options?.logLevel ?? LogLevel.WARN\n this.#logger = options?.logger ?? makeConsoleLogger(PACKAGE_NAME)\n this.#prefixUrl = (options?.baseUrl ?? \"https://api.notion.com\") + \"/v1/\"\n this.#timeoutMs = options?.timeoutMs ?? 60_000\n this.#notionVersion = options?.notionVersion ?? Client.defaultNotionVersion\n this.#fetch = options?.fetch ?? nodeFetch\n this.#agent = options?.agent\n this.#userAgent = `notionhq-client/${PACKAGE_VERSION}`\n }\n\n /**\n * Sends a request.\n *\n * @param path\n * @param method\n * @param query\n * @param body\n * @returns\n */\n public async request<ResponseBody>({\n path,\n method,\n query,\n body,\n auth,\n }: RequestParameters): Promise<ResponseBody> {\n this.log(LogLevel.INFO, \"request start\", { method, path })\n\n // If the body is empty, don't send the body in the HTTP request\n const bodyAsJsonString =\n !body || Object.entries(body).length === 0\n ? undefined\n : JSON.stringify(body)\n\n const url = new URL(`${this.#prefixUrl}${path}`)\n if (query) {\n for (const [key, value] of Object.entries(query)) {\n if (value !== undefined) {\n url.searchParams.append(key, String(value))\n }\n }\n }\n\n const headers: Record<string, string> = {\n ...this.authAsHeaders(auth),\n \"Notion-Version\": this.#notionVersion,\n \"user-agent\": this.#userAgent,\n }\n\n if (bodyAsJsonString !== undefined) {\n headers[\"content-type\"] = \"application/json\"\n }\n try {\n const response = await RequestTimeoutError.rejectAfterTimeout(\n this.#fetch(url.toString(), {\n method,\n headers,\n body: bodyAsJsonString,\n agent: this.#agent,\n }),\n this.#timeoutMs\n )\n\n const responseText = await response.text()\n if (!response.ok) {\n throw buildRequestError(response, responseText)\n }\n\n const responseJson: ResponseBody = JSON.parse(responseText)\n this.log(LogLevel.INFO, `request success`, { method, path })\n return responseJson\n } catch (error: unknown) {\n if (!isNotionClientError(error)) {\n throw error\n }\n\n // Log the error if it's one of our known error types\n this.log(LogLevel.WARN, `request fail`, {\n code: error.code,\n message: error.message,\n })\n\n if (isHTTPResponseError(error)) {\n // The response body may contain sensitive information so it is logged separately at the DEBUG level\n this.log(LogLevel.DEBUG, `failed response body`, {\n body: error.body,\n })\n }\n\n throw error\n }\n }\n\n /*\n * Notion API endpoints\n */\n\n public readonly blocks = {\n /**\n * Retrieve block\n */\n retrieve: (\n args: WithAuth<GetBlockParameters>\n ): Promise<GetBlockResponse> => {\n return this.request<GetBlockResponse>({\n path: getBlock.path(args),\n method: getBlock.method,\n query: pick(args, getBlock.queryParams),\n body: pick(args, getBlock.bodyParams),\n auth: args?.auth,\n })\n },\n\n /**\n * Update block\n */\n update: (\n args: WithAuth<UpdateBlockParameters>\n ): Promise<UpdateBlockResponse> => {\n return this.request<UpdateBlockResponse>({\n path: updateBlock.path(args),\n method: updateBlock.method,\n query: pick(args, updateBlock.queryParams),\n body: pick(args, updateBlock.bodyParams),\n auth: args?.auth,\n })\n },\n\n /**\n * Delete block\n */\n delete: (\n args: WithAuth<DeleteBlockParameters>\n ): Promise<DeleteBlockResponse> => {\n return this.request<DeleteBlockResponse>({\n path: deleteBlock.path(args),\n method: deleteBlock.method,\n query: pick(args, deleteBlock.queryParams),\n body: pick(args, deleteBlock.bodyParams),\n auth: args?.auth,\n })\n },\n children: {\n /**\n * Append block children\n */\n append: (\n args: WithAuth<AppendBlockChildrenParameters>\n ): Promise<AppendBlockChildrenResponse> => {\n return this.request<AppendBlockChildrenResponse>({\n path: appendBlockChildren.path(args),\n method: appendBlockChildren.method,\n query: pick(args, appendBlockChildren.queryParams),\n body: pick(args, appendBlockChildren.bodyParams),\n auth: args?.auth,\n })\n },\n\n /**\n * Retrieve block children\n */\n list: (\n args: WithAuth<ListBlockChildrenParameters>\n ): Promise<ListBlockChildrenResponse> => {\n return this.request<ListBlockChildrenResponse>({\n path: listBlockChildren.path(args),\n method: listBlockChildren.method,\n query: pick(args, listBlockChildren.queryParams),\n body: pick(args, listBlockChildren.bodyParams),\n auth: args?.auth,\n })\n },\n },\n }\n\n public readonly databases = {\n /**\n * List databases\n *\n * @deprecated Please use `search`\n */\n list: (\n args: WithAuth<ListDatabasesParameters>\n ): Promise<ListDatabasesResponse> => {\n return this.request<ListDatabasesResponse>({\n path: listDatabases.path(),\n method: listDatabases.method,\n query: pick(args, listDatabases.queryParams),\n body: pick(args, listDatabases.bodyParams),\n auth: args?.auth,\n })\n },\n\n /**\n * Retrieve a database\n */\n retrieve: (\n args: WithAuth<GetDatabaseParameters>\n ): Promise<GetDatabaseResponse> => {\n return this.request<GetDatabaseResponse>({\n path: getDatabase.path(args),\n method: getDatabase.method,\n query: pick(args, getDatabase.queryParams),\n body: pick(args, getDatabase.bodyParams),\n auth: args?.auth,\n })\n },\n\n /**\n * Query a database\n */\n query: (\n args: WithAuth<QueryDatabaseParameters>\n ): Promise<QueryDatabaseResponse> => {\n return this.request<QueryDatabaseResponse>({\n path: queryDatabase.path(args),\n method: queryDatabase.method,\n query: pick(args, queryDatabase.queryParams),\n body: pick(args, queryDatabase.bodyParams),\n auth: args?.auth,\n })\n },\n\n /**\n * Create a database\n */\n create: (\n args: WithAuth<CreateDatabaseParameters>\n ): Promise<CreateDatabaseResponse> => {\n return this.request<CreateDatabaseResponse>({\n path: createDatabase.path(),\n method: createDatabase.method,\n query: pick(args, createDatabase.queryParams),\n body: pick(args, createDatabase.bodyParams),\n auth: args?.auth,\n })\n },\n\n /**\n * Update a database\n */\n update: (\n args: WithAuth<UpdateDatabaseParameters>\n ): Promise<UpdateDatabaseResponse> => {\n return this.request<UpdateDatabaseResponse>({\n path: updateDatabase.path(args),\n method: updateDatabase.method,\n query: pick(args, updateDatabase.queryParams),\n body: pick(args, updateDatabase.bodyParams),\n auth: args?.auth,\n })\n },\n }\n\n public readonly pages = {\n /**\n * Create a page\n */\n create: (\n args: WithAuth<CreatePageParameters>\n ): Promise<CreatePageResponse> => {\n return this.request<CreatePageResponse>({\n path: createPage.path(),\n method: createPage.method,\n query: pick(args, createPage.queryParams),\n body: pick(args, createPage.bodyParams),\n auth: args?.auth,\n })\n },\n\n /**\n * Retrieve a page\n */\n retrieve: (args: WithAuth<GetPageParameters>): Promise<GetPageResponse> => {\n return this.request<GetPageResponse>({\n path: getPage.path(args),\n method: getPage.method,\n query: pick(args, getPage.queryParams),\n body: pick(args, getPage.bodyParams),\n auth: args?.auth,\n })\n },\n\n /**\n * Update page properties\n */\n update: (\n args: WithAuth<UpdatePageParameters>\n ): Promise<UpdatePageResponse> => {\n return this.request<UpdatePageResponse>({\n path: updatePage.path(args),\n method: updatePage.method,\n query: pick(args, updatePage.queryParams),\n body: pick(args, updatePage.bodyParams),\n auth: args?.auth,\n })\n },\n properties: {\n /**\n * Retrieve page property\n */\n retrieve: (\n args: WithAuth<GetPagePropertyParameters>\n ): Promise<GetPagePropertyResponse> => {\n return this.request<GetPagePropertyResponse>({\n path: getPageProperty.path(args),\n method: getPageProperty.method,\n query: pick(args, getPageProperty.queryParams),\n body: pick(args, getPageProperty.bodyParams),\n auth: args?.auth,\n })\n },\n },\n }\n\n public readonly users = {\n /**\n * Retrieve a user\n */\n retrieve: (args: WithAuth<GetUserParameters>): Promise<GetUserResponse> => {\n return this.request<GetUserResponse>({\n path: getUser.path(args),\n method: getUser.method,\n query: pick(args, getUser.queryParams),\n body: pick(args, getUser.bodyParams),\n auth: args?.auth,\n })\n },\n\n /**\n * List all users\n */\n list: (args: WithAuth<ListUsersParameters>): Promise<ListUsersResponse> => {\n return this.request<ListUsersResponse>({\n path: listUsers.path(),\n method: listUsers.method,\n query: pick(args, listUsers.queryParams),\n body: pick(args, listUsers.bodyParams),\n auth: args?.auth,\n })\n },\n\n /**\n * Get details about bot\n */\n me: (args: WithAuth<GetSelfParameters>): Promise<GetSelfResponse> => {\n return this.request<GetSelfResponse>({\n path: getSelf.path(),\n method: getSelf.method,\n query: pick(args, getSelf.queryParams),\n body: pick(args, getSelf.bodyParams),\n auth: args?.auth,\n })\n },\n }\n\n /**\n * Search\n */\n public search(args: WithAuth<SearchParameters>): Promise<SearchResponse> {\n return this.request<SearchResponse>({\n path: search.path(),\n method: search.method,\n query: pick(args, search.queryParams),\n body: pick(args, search.bodyParams),\n auth: args?.auth,\n })\n }\n\n /**\n * Emits a log message to the console.\n *\n * @param level The level for this message\n * @param args Arguments to send to the console\n */\n private log(\n level: LogLevel,\n message: string,\n extraInfo: Record<string, unknown>\n ) {\n if (logLevelSeverity(level) >= logLevelSeverity(this.#logLevel)) {\n this.#logger(level, message, extraInfo)\n }\n }\n\n /**\n * Transforms an API key or access token into a headers object suitable for an HTTP request.\n *\n * This method uses the instance's value as the default when the input is undefined. If neither are defined, it returns\n * an empty object\n *\n * @param auth API key or access token\n * @returns headers key-value object\n */\n private authAsHeaders(auth?: string): Record<string, string> {\n const headers: Record<string, string> = {}\n const authHeaderValue = auth ?? this.#auth\n if (authHeaderValue !== undefined) {\n headers[\"authorization\"] = `Bearer ${authHeaderValue}`\n }\n return headers\n }\n}\n\n/*\n * Type aliases to support the generic request interface.\n */\ntype Method = \"get\" | \"post\" | \"patch\" | \"delete\"\ntype QueryParams = Record<string, string | number> | URLSearchParams\n\ntype WithAuth<P> = P & { auth?: string }\n"]}
|
|
1
|
+
{"version":3,"file":"Client.js","sourceRoot":"","sources":["../../src/Client.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AACA,uCAKkB;AAClB,qCAKiB;AACjB,mCAA8B;AAC9B,mDA6DwB;AACxB,2CAAkC;AAClC,kDAGwB;AAuBxB,MAAqB,MAAM;IAazB,YAAmB,OAAuB;;QAZ1C,+BAAc;QACd,mCAAmB;QACnB,iCAAe;QACf,oCAAkB;QAClB,oCAAkB;QAClB,wCAAsB;QACtB,gCAAsB;QACtB,gCAAyB;QACzB,oCAAkB;QAmGlB;;WAEG;QAEa,WAAM,GAAG;YACvB;;eAEG;YACH,QAAQ,EAAE,CACR,IAAkC,EACP,EAAE;gBAC7B,OAAO,IAAI,CAAC,OAAO,CAAmB;oBACpC,IAAI,EAAE,wBAAQ,CAAC,IAAI,CAAC,IAAI,CAAC;oBACzB,MAAM,EAAE,wBAAQ,CAAC,MAAM;oBACvB,KAAK,EAAE,IAAA,YAAI,EAAC,IAAI,EAAE,wBAAQ,CAAC,WAAW,CAAC;oBACvC,IAAI,EAAE,IAAA,YAAI,EAAC,IAAI,EAAE,wBAAQ,CAAC,UAAU,CAAC;oBACrC,IAAI,EAAE,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,IAAI;iBACjB,CAAC,CAAA;YACJ,CAAC;YAED;;eAEG;YACH,MAAM,EAAE,CACN,IAAqC,EACP,EAAE;gBAChC,OAAO,IAAI,CAAC,OAAO,CAAsB;oBACvC,IAAI,EAAE,2BAAW,CAAC,IAAI,CAAC,IAAI,CAAC;oBAC5B,MAAM,EAAE,2BAAW,CAAC,MAAM;oBAC1B,KAAK,EAAE,IAAA,YAAI,EAAC,IAAI,EAAE,2BAAW,CAAC,WAAW,CAAC;oBAC1C,IAAI,EAAE,IAAA,YAAI,EAAC,IAAI,EAAE,2BAAW,CAAC,UAAU,CAAC;oBACxC,IAAI,EAAE,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,IAAI;iBACjB,CAAC,CAAA;YACJ,CAAC;YAED;;eAEG;YACH,MAAM,EAAE,CACN,IAAqC,EACP,EAAE;gBAChC,OAAO,IAAI,CAAC,OAAO,CAAsB;oBACvC,IAAI,EAAE,2BAAW,CAAC,IAAI,CAAC,IAAI,CAAC;oBAC5B,MAAM,EAAE,2BAAW,CAAC,MAAM;oBAC1B,KAAK,EAAE,IAAA,YAAI,EAAC,IAAI,EAAE,2BAAW,CAAC,WAAW,CAAC;oBAC1C,IAAI,EAAE,IAAA,YAAI,EAAC,IAAI,EAAE,2BAAW,CAAC,UAAU,CAAC;oBACxC,IAAI,EAAE,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,IAAI;iBACjB,CAAC,CAAA;YACJ,CAAC;YACD,QAAQ,EAAE;gBACR;;mBAEG;gBACH,MAAM,EAAE,CACN,IAA6C,EACP,EAAE;oBACxC,OAAO,IAAI,CAAC,OAAO,CAA8B;wBAC/C,IAAI,EAAE,mCAAmB,CAAC,IAAI,CAAC,IAAI,CAAC;wBACpC,MAAM,EAAE,mCAAmB,CAAC,MAAM;wBAClC,KAAK,EAAE,IAAA,YAAI,EAAC,IAAI,EAAE,mCAAmB,CAAC,WAAW,CAAC;wBAClD,IAAI,EAAE,IAAA,YAAI,EAAC,IAAI,EAAE,mCAAmB,CAAC,UAAU,CAAC;wBAChD,IAAI,EAAE,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,IAAI;qBACjB,CAAC,CAAA;gBACJ,CAAC;gBAED;;mBAEG;gBACH,IAAI,EAAE,CACJ,IAA2C,EACP,EAAE;oBACtC,OAAO,IAAI,CAAC,OAAO,CAA4B;wBAC7C,IAAI,EAAE,iCAAiB,CAAC,IAAI,CAAC,IAAI,CAAC;wBAClC,MAAM,EAAE,iCAAiB,CAAC,MAAM;wBAChC,KAAK,EAAE,IAAA,YAAI,EAAC,IAAI,EAAE,iCAAiB,CAAC,WAAW,CAAC;wBAChD,IAAI,EAAE,IAAA,YAAI,EAAC,IAAI,EAAE,iCAAiB,CAAC,UAAU,CAAC;wBAC9C,IAAI,EAAE,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,IAAI;qBACjB,CAAC,CAAA;gBACJ,CAAC;aACF;SACF,CAAA;QAEe,cAAS,GAAG;YAC1B;;;;eAIG;YACH,IAAI,EAAE,CACJ,IAAuC,EACP,EAAE;gBAClC,OAAO,IAAI,CAAC,OAAO,CAAwB;oBACzC,IAAI,EAAE,6BAAa,CAAC,IAAI,EAAE;oBAC1B,MAAM,EAAE,6BAAa,CAAC,MAAM;oBAC5B,KAAK,EAAE,IAAA,YAAI,EAAC,IAAI,EAAE,6BAAa,CAAC,WAAW,CAAC;oBAC5C,IAAI,EAAE,IAAA,YAAI,EAAC,IAAI,EAAE,6BAAa,CAAC,UAAU,CAAC;oBAC1C,IAAI,EAAE,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,IAAI;iBACjB,CAAC,CAAA;YACJ,CAAC;YAED;;eAEG;YACH,QAAQ,EAAE,CACR,IAAqC,EACP,EAAE;gBAChC,OAAO,IAAI,CAAC,OAAO,CAAsB;oBACvC,IAAI,EAAE,2BAAW,CAAC,IAAI,CAAC,IAAI,CAAC;oBAC5B,MAAM,EAAE,2BAAW,CAAC,MAAM;oBAC1B,KAAK,EAAE,IAAA,YAAI,EAAC,IAAI,EAAE,2BAAW,CAAC,WAAW,CAAC;oBAC1C,IAAI,EAAE,IAAA,YAAI,EAAC,IAAI,EAAE,2BAAW,CAAC,UAAU,CAAC;oBACxC,IAAI,EAAE,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,IAAI;iBACjB,CAAC,CAAA;YACJ,CAAC;YAED;;eAEG;YACH,KAAK,EAAE,CACL,IAAuC,EACP,EAAE;gBAClC,OAAO,IAAI,CAAC,OAAO,CAAwB;oBACzC,IAAI,EAAE,6BAAa,CAAC,IAAI,CAAC,IAAI,CAAC;oBAC9B,MAAM,EAAE,6BAAa,CAAC,MAAM;oBAC5B,KAAK,EAAE,IAAA,YAAI,EAAC,IAAI,EAAE,6BAAa,CAAC,WAAW,CAAC;oBAC5C,IAAI,EAAE,IAAA,YAAI,EAAC,IAAI,EAAE,6BAAa,CAAC,UAAU,CAAC;oBAC1C,IAAI,EAAE,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,IAAI;iBACjB,CAAC,CAAA;YACJ,CAAC;YAED;;eAEG;YACH,MAAM,EAAE,CACN,IAAwC,EACP,EAAE;gBACnC,OAAO,IAAI,CAAC,OAAO,CAAyB;oBAC1C,IAAI,EAAE,8BAAc,CAAC,IAAI,EAAE;oBAC3B,MAAM,EAAE,8BAAc,CAAC,MAAM;oBAC7B,KAAK,EAAE,IAAA,YAAI,EAAC,IAAI,EAAE,8BAAc,CAAC,WAAW,CAAC;oBAC7C,IAAI,EAAE,IAAA,YAAI,EAAC,IAAI,EAAE,8BAAc,CAAC,UAAU,CAAC;oBAC3C,IAAI,EAAE,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,IAAI;iBACjB,CAAC,CAAA;YACJ,CAAC;YAED;;eAEG;YACH,MAAM,EAAE,CACN,IAAwC,EACP,EAAE;gBACnC,OAAO,IAAI,CAAC,OAAO,CAAyB;oBAC1C,IAAI,EAAE,8BAAc,CAAC,IAAI,CAAC,IAAI,CAAC;oBAC/B,MAAM,EAAE,8BAAc,CAAC,MAAM;oBAC7B,KAAK,EAAE,IAAA,YAAI,EAAC,IAAI,EAAE,8BAAc,CAAC,WAAW,CAAC;oBAC7C,IAAI,EAAE,IAAA,YAAI,EAAC,IAAI,EAAE,8BAAc,CAAC,UAAU,CAAC;oBAC3C,IAAI,EAAE,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,IAAI;iBACjB,CAAC,CAAA;YACJ,CAAC;SACF,CAAA;QAEe,UAAK,GAAG;YACtB;;eAEG;YACH,MAAM,EAAE,CACN,IAAoC,EACP,EAAE;gBAC/B,OAAO,IAAI,CAAC,OAAO,CAAqB;oBACtC,IAAI,EAAE,0BAAU,CAAC,IAAI,EAAE;oBACvB,MAAM,EAAE,0BAAU,CAAC,MAAM;oBACzB,KAAK,EAAE,IAAA,YAAI,EAAC,IAAI,EAAE,0BAAU,CAAC,WAAW,CAAC;oBACzC,IAAI,EAAE,IAAA,YAAI,EAAC,IAAI,EAAE,0BAAU,CAAC,UAAU,CAAC;oBACvC,IAAI,EAAE,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,IAAI;iBACjB,CAAC,CAAA;YACJ,CAAC;YAED;;eAEG;YACH,QAAQ,EAAE,CAAC,IAAiC,EAA4B,EAAE;gBACxE,OAAO,IAAI,CAAC,OAAO,CAAkB;oBACnC,IAAI,EAAE,uBAAO,CAAC,IAAI,CAAC,IAAI,CAAC;oBACxB,MAAM,EAAE,uBAAO,CAAC,MAAM;oBACtB,KAAK,EAAE,IAAA,YAAI,EAAC,IAAI,EAAE,uBAAO,CAAC,WAAW,CAAC;oBACtC,IAAI,EAAE,IAAA,YAAI,EAAC,IAAI,EAAE,uBAAO,CAAC,UAAU,CAAC;oBACpC,IAAI,EAAE,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,IAAI;iBACjB,CAAC,CAAA;YACJ,CAAC;YAED;;eAEG;YACH,MAAM,EAAE,CACN,IAAoC,EACP,EAAE;gBAC/B,OAAO,IAAI,CAAC,OAAO,CAAqB;oBACtC,IAAI,EAAE,0BAAU,CAAC,IAAI,CAAC,IAAI,CAAC;oBAC3B,MAAM,EAAE,0BAAU,CAAC,MAAM;oBACzB,KAAK,EAAE,IAAA,YAAI,EAAC,IAAI,EAAE,0BAAU,CAAC,WAAW,CAAC;oBACzC,IAAI,EAAE,IAAA,YAAI,EAAC,IAAI,EAAE,0BAAU,CAAC,UAAU,CAAC;oBACvC,IAAI,EAAE,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,IAAI;iBACjB,CAAC,CAAA;YACJ,CAAC;YACD,UAAU,EAAE;gBACV;;mBAEG;gBACH,QAAQ,EAAE,CACR,IAAyC,EACP,EAAE;oBACpC,OAAO,IAAI,CAAC,OAAO,CAA0B;wBAC3C,IAAI,EAAE,+BAAe,CAAC,IAAI,CAAC,IAAI,CAAC;wBAChC,MAAM,EAAE,+BAAe,CAAC,MAAM;wBAC9B,KAAK,EAAE,IAAA,YAAI,EAAC,IAAI,EAAE,+BAAe,CAAC,WAAW,CAAC;wBAC9C,IAAI,EAAE,IAAA,YAAI,EAAC,IAAI,EAAE,+BAAe,CAAC,UAAU,CAAC;wBAC5C,IAAI,EAAE,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,IAAI;qBACjB,CAAC,CAAA;gBACJ,CAAC;aACF;SACF,CAAA;QAEe,UAAK,GAAG;YACtB;;eAEG;YACH,QAAQ,EAAE,CAAC,IAAiC,EAA4B,EAAE;gBACxE,OAAO,IAAI,CAAC,OAAO,CAAkB;oBACnC,IAAI,EAAE,uBAAO,CAAC,IAAI,CAAC,IAAI,CAAC;oBACxB,MAAM,EAAE,uBAAO,CAAC,MAAM;oBACtB,KAAK,EAAE,IAAA,YAAI,EAAC,IAAI,EAAE,uBAAO,CAAC,WAAW,CAAC;oBACtC,IAAI,EAAE,IAAA,YAAI,EAAC,IAAI,EAAE,uBAAO,CAAC,UAAU,CAAC;oBACpC,IAAI,EAAE,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,IAAI;iBACjB,CAAC,CAAA;YACJ,CAAC;YAED;;eAEG;YACH,IAAI,EAAE,CAAC,IAAmC,EAA8B,EAAE;gBACxE,OAAO,IAAI,CAAC,OAAO,CAAoB;oBACrC,IAAI,EAAE,yBAAS,CAAC,IAAI,EAAE;oBACtB,MAAM,EAAE,yBAAS,CAAC,MAAM;oBACxB,KAAK,EAAE,IAAA,YAAI,EAAC,IAAI,EAAE,yBAAS,CAAC,WAAW,CAAC;oBACxC,IAAI,EAAE,IAAA,YAAI,EAAC,IAAI,EAAE,yBAAS,CAAC,UAAU,CAAC;oBACtC,IAAI,EAAE,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,IAAI;iBACjB,CAAC,CAAA;YACJ,CAAC;YAED;;eAEG;YACH,EAAE,EAAE,CAAC,IAAiC,EAA4B,EAAE;gBAClE,OAAO,IAAI,CAAC,OAAO,CAAkB;oBACnC,IAAI,EAAE,uBAAO,CAAC,IAAI,EAAE;oBACpB,MAAM,EAAE,uBAAO,CAAC,MAAM;oBACtB,KAAK,EAAE,IAAA,YAAI,EAAC,IAAI,EAAE,uBAAO,CAAC,WAAW,CAAC;oBACtC,IAAI,EAAE,IAAA,YAAI,EAAC,IAAI,EAAE,uBAAO,CAAC,UAAU,CAAC;oBACpC,IAAI,EAAE,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,IAAI;iBACjB,CAAC,CAAA;YACJ,CAAC;SACF,CAAA;QAEe,aAAQ,GAAG;YACzB;;eAEG;YACH,MAAM,EAAE,CACN,IAAuC,EACP,EAAE;gBAClC,OAAO,IAAI,CAAC,OAAO,CAAwB;oBACzC,IAAI,EAAE,6BAAa,CAAC,IAAI,EAAE;oBAC1B,MAAM,EAAE,6BAAa,CAAC,MAAM;oBAC5B,KAAK,EAAE,IAAA,YAAI,EAAC,IAAI,EAAE,6BAAa,CAAC,WAAW,CAAC;oBAC5C,IAAI,EAAE,IAAA,YAAI,EAAC,IAAI,EAAE,6BAAa,CAAC,UAAU,CAAC;oBAC1C,IAAI,EAAE,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,IAAI;iBACjB,CAAC,CAAA;YACJ,CAAC;YAED;;eAEG;YACH,IAAI,EAAE,CACJ,IAAsC,EACP,EAAE;gBACjC,OAAO,IAAI,CAAC,OAAO,CAAuB;oBACxC,IAAI,EAAE,4BAAY,CAAC,IAAI,EAAE;oBACzB,MAAM,EAAE,4BAAY,CAAC,MAAM;oBAC3B,KAAK,EAAE,IAAA,YAAI,EAAC,IAAI,EAAE,4BAAY,CAAC,WAAW,CAAC;oBAC3C,IAAI,EAAE,IAAA,YAAI,EAAC,IAAI,EAAE,4BAAY,CAAC,UAAU,CAAC;oBACzC,IAAI,EAAE,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,IAAI;iBACjB,CAAC,CAAA;YACJ,CAAC;SACF,CAAA;QAnYC,uBAAA,IAAI,gBAAS,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI,MAAA,CAAA;QAC1B,uBAAA,IAAI,oBAAa,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,QAAQ,mCAAI,kBAAQ,CAAC,IAAI,MAAA,CAAA;QACnD,uBAAA,IAAI,kBAAW,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,MAAM,mCAAI,IAAA,2BAAiB,EAAC,mBAAY,CAAC,MAAA,CAAA;QACjE,uBAAA,IAAI,qBAAc,CAAC,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,OAAO,mCAAI,wBAAwB,CAAC,GAAG,MAAM,MAAA,CAAA;QACzE,uBAAA,IAAI,qBAAc,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,SAAS,mCAAI,KAAM,MAAA,CAAA;QAC9C,uBAAA,IAAI,yBAAkB,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,aAAa,mCAAI,MAAM,CAAC,oBAAoB,MAAA,CAAA;QAC3E,uBAAA,IAAI,iBAAU,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,KAAK,mCAAI,oBAAS,MAAA,CAAA;QACzC,uBAAA,IAAI,iBAAU,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,KAAK,MAAA,CAAA;QAC5B,uBAAA,IAAI,qBAAc,mBAAmB,sBAAe,EAAE,MAAA,CAAA;IACxD,CAAC;IAED;;;;;;;;OAQG;IACI,KAAK,CAAC,OAAO,CAAe,EACjC,IAAI,EACJ,MAAM,EACN,KAAK,EACL,IAAI,EACJ,IAAI,GACc;QAClB,IAAI,CAAC,GAAG,CAAC,kBAAQ,CAAC,IAAI,EAAE,eAAe,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAA;QAE1D,gEAAgE;QAChE,MAAM,gBAAgB,GACpB,CAAC,IAAI,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC;YACxC,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAA;QAE1B,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,GAAG,uBAAA,IAAI,yBAAW,GAAG,IAAI,EAAE,CAAC,CAAA;QAChD,IAAI,KAAK,EAAE;YACT,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;gBAChD,IAAI,KAAK,KAAK,SAAS,EAAE;oBACvB,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAA;iBAC5C;aACF;SACF;QAED,MAAM,OAAO,GAA2B;YACtC,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC;YAC3B,gBAAgB,EAAE,uBAAA,IAAI,6BAAe;YACrC,YAAY,EAAE,uBAAA,IAAI,yBAAW;SAC9B,CAAA;QAED,IAAI,gBAAgB,KAAK,SAAS,EAAE;YAClC,OAAO,CAAC,cAAc,CAAC,GAAG,kBAAkB,CAAA;SAC7C;QACD,IAAI;YACF,MAAM,QAAQ,GAAG,MAAM,4BAAmB,CAAC,kBAAkB,CAC3D,uBAAA,IAAI,qBAAO,MAAX,IAAI,EAAQ,GAAG,CAAC,QAAQ,EAAE,EAAE;gBAC1B,MAAM,EAAE,MAAM,CAAC,WAAW,EAAE;gBAC5B,OAAO;gBACP,IAAI,EAAE,gBAAgB;gBACtB,KAAK,EAAE,uBAAA,IAAI,qBAAO;aACnB,CAAC,EACF,uBAAA,IAAI,yBAAW,CAChB,CAAA;YAED,MAAM,YAAY,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAA;YAC1C,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE;gBAChB,MAAM,IAAA,0BAAiB,EAAC,QAAQ,EAAE,YAAY,CAAC,CAAA;aAChD;YAED,MAAM,YAAY,GAAiB,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAA;YAC3D,IAAI,CAAC,GAAG,CAAC,kBAAQ,CAAC,IAAI,EAAE,iBAAiB,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAA;YAC5D,OAAO,YAAY,CAAA;SACpB;QAAC,OAAO,KAAc,EAAE;YACvB,IAAI,CAAC,IAAA,4BAAmB,EAAC,KAAK,CAAC,EAAE;gBAC/B,MAAM,KAAK,CAAA;aACZ;YAED,qDAAqD;YACrD,IAAI,CAAC,GAAG,CAAC,kBAAQ,CAAC,IAAI,EAAE,cAAc,EAAE;gBACtC,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,OAAO,EAAE,KAAK,CAAC,OAAO;aACvB,CAAC,CAAA;YAEF,IAAI,IAAA,4BAAmB,EAAC,KAAK,CAAC,EAAE;gBAC9B,oGAAoG;gBACpG,IAAI,CAAC,GAAG,CAAC,kBAAQ,CAAC,KAAK,EAAE,sBAAsB,EAAE;oBAC/C,IAAI,EAAE,KAAK,CAAC,IAAI;iBACjB,CAAC,CAAA;aACH;YAED,MAAM,KAAK,CAAA;SACZ;IACH,CAAC;IAySD;;OAEG;IACI,MAAM,CAAC,IAAgC;QAC5C,OAAO,IAAI,CAAC,OAAO,CAAiB;YAClC,IAAI,EAAE,sBAAM,CAAC,IAAI,EAAE;YACnB,MAAM,EAAE,sBAAM,CAAC,MAAM;YACrB,KAAK,EAAE,IAAA,YAAI,EAAC,IAAI,EAAE,sBAAM,CAAC,WAAW,CAAC;YACrC,IAAI,EAAE,IAAA,YAAI,EAAC,IAAI,EAAE,sBAAM,CAAC,UAAU,CAAC;YACnC,IAAI,EAAE,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,IAAI;SACjB,CAAC,CAAA;IACJ,CAAC;IAED;;;;;OAKG;IACK,GAAG,CACT,KAAe,EACf,OAAe,EACf,SAAkC;QAElC,IAAI,IAAA,0BAAgB,EAAC,KAAK,CAAC,IAAI,IAAA,0BAAgB,EAAC,uBAAA,IAAI,wBAAU,CAAC,EAAE;YAC/D,uBAAA,IAAI,sBAAQ,MAAZ,IAAI,EAAS,KAAK,EAAE,OAAO,EAAE,SAAS,CAAC,CAAA;SACxC;IACH,CAAC;IAED;;;;;;;;OAQG;IACK,aAAa,CAAC,IAAa;QACjC,MAAM,OAAO,GAA2B,EAAE,CAAA;QAC1C,MAAM,eAAe,GAAG,IAAI,aAAJ,IAAI,cAAJ,IAAI,GAAI,uBAAA,IAAI,oBAAM,CAAA;QAC1C,IAAI,eAAe,KAAK,SAAS,EAAE;YACjC,OAAO,CAAC,eAAe,CAAC,GAAG,UAAU,eAAe,EAAE,CAAA;SACvD;QACD,OAAO,OAAO,CAAA;IAChB,CAAC;;AAhcH,yBAicC;;AAtbiB,2BAAoB,GAAG,YAAY,CAAA","sourcesContent":["import type { Agent } from \"http\"\nimport {\n Logger,\n LogLevel,\n logLevelSeverity,\n makeConsoleLogger,\n} from \"./logging\"\nimport {\n buildRequestError,\n isHTTPResponseError,\n isNotionClientError,\n RequestTimeoutError,\n} from \"./errors\"\nimport { pick } from \"./utils\"\nimport {\n GetBlockParameters,\n GetBlockResponse,\n getBlock,\n UpdateBlockParameters,\n UpdateBlockResponse,\n updateBlock,\n DeleteBlockParameters,\n DeleteBlockResponse,\n deleteBlock,\n AppendBlockChildrenParameters,\n AppendBlockChildrenResponse,\n appendBlockChildren,\n ListBlockChildrenParameters,\n ListBlockChildrenResponse,\n listBlockChildren,\n ListDatabasesParameters,\n ListDatabasesResponse,\n listDatabases,\n GetDatabaseParameters,\n GetDatabaseResponse,\n getDatabase,\n QueryDatabaseParameters,\n QueryDatabaseResponse,\n queryDatabase,\n CreateDatabaseParameters,\n CreateDatabaseResponse,\n createDatabase,\n UpdateDatabaseParameters,\n UpdateDatabaseResponse,\n updateDatabase,\n CreatePageParameters,\n CreatePageResponse,\n createPage,\n GetPageParameters,\n GetPageResponse,\n getPage,\n UpdatePageParameters,\n UpdatePageResponse,\n updatePage,\n GetUserParameters,\n GetUserResponse,\n getUser,\n ListUsersParameters,\n ListUsersResponse,\n listUsers,\n SearchParameters,\n SearchResponse,\n search,\n GetSelfParameters,\n GetSelfResponse,\n getSelf,\n GetPagePropertyParameters,\n GetPagePropertyResponse,\n getPageProperty,\n CreateCommentParameters,\n CreateCommentResponse,\n createComment,\n ListCommentsParameters,\n ListCommentsResponse,\n listComments,\n} from \"./api-endpoints\"\nimport nodeFetch from \"node-fetch\"\nimport {\n version as PACKAGE_VERSION,\n name as PACKAGE_NAME,\n} from \"../package.json\"\nimport { SupportedFetch } from \"./fetch-types\"\n\nexport interface ClientOptions {\n auth?: string\n timeoutMs?: number\n baseUrl?: string\n logLevel?: LogLevel\n logger?: Logger\n notionVersion?: string\n fetch?: SupportedFetch\n /** Silently ignored in the browser */\n agent?: Agent\n}\n\nexport interface RequestParameters {\n path: string\n method: Method\n query?: QueryParams\n body?: Record<string, unknown>\n auth?: string\n}\n\nexport default class Client {\n #auth?: string\n #logLevel: LogLevel\n #logger: Logger\n #prefixUrl: string\n #timeoutMs: number\n #notionVersion: string\n #fetch: SupportedFetch\n #agent: Agent | undefined\n #userAgent: string\n\n static readonly defaultNotionVersion = \"2022-06-28\"\n\n public constructor(options?: ClientOptions) {\n this.#auth = options?.auth\n this.#logLevel = options?.logLevel ?? LogLevel.WARN\n this.#logger = options?.logger ?? makeConsoleLogger(PACKAGE_NAME)\n this.#prefixUrl = (options?.baseUrl ?? \"https://api.notion.com\") + \"/v1/\"\n this.#timeoutMs = options?.timeoutMs ?? 60_000\n this.#notionVersion = options?.notionVersion ?? Client.defaultNotionVersion\n this.#fetch = options?.fetch ?? nodeFetch\n this.#agent = options?.agent\n this.#userAgent = `notionhq-client/${PACKAGE_VERSION}`\n }\n\n /**\n * Sends a request.\n *\n * @param path\n * @param method\n * @param query\n * @param body\n * @returns\n */\n public async request<ResponseBody>({\n path,\n method,\n query,\n body,\n auth,\n }: RequestParameters): Promise<ResponseBody> {\n this.log(LogLevel.INFO, \"request start\", { method, path })\n\n // If the body is empty, don't send the body in the HTTP request\n const bodyAsJsonString =\n !body || Object.entries(body).length === 0\n ? undefined\n : JSON.stringify(body)\n\n const url = new URL(`${this.#prefixUrl}${path}`)\n if (query) {\n for (const [key, value] of Object.entries(query)) {\n if (value !== undefined) {\n url.searchParams.append(key, String(value))\n }\n }\n }\n\n const headers: Record<string, string> = {\n ...this.authAsHeaders(auth),\n \"Notion-Version\": this.#notionVersion,\n \"user-agent\": this.#userAgent,\n }\n\n if (bodyAsJsonString !== undefined) {\n headers[\"content-type\"] = \"application/json\"\n }\n try {\n const response = await RequestTimeoutError.rejectAfterTimeout(\n this.#fetch(url.toString(), {\n method: method.toUpperCase(),\n headers,\n body: bodyAsJsonString,\n agent: this.#agent,\n }),\n this.#timeoutMs\n )\n\n const responseText = await response.text()\n if (!response.ok) {\n throw buildRequestError(response, responseText)\n }\n\n const responseJson: ResponseBody = JSON.parse(responseText)\n this.log(LogLevel.INFO, `request success`, { method, path })\n return responseJson\n } catch (error: unknown) {\n if (!isNotionClientError(error)) {\n throw error\n }\n\n // Log the error if it's one of our known error types\n this.log(LogLevel.WARN, `request fail`, {\n code: error.code,\n message: error.message,\n })\n\n if (isHTTPResponseError(error)) {\n // The response body may contain sensitive information so it is logged separately at the DEBUG level\n this.log(LogLevel.DEBUG, `failed response body`, {\n body: error.body,\n })\n }\n\n throw error\n }\n }\n\n /*\n * Notion API endpoints\n */\n\n public readonly blocks = {\n /**\n * Retrieve block\n */\n retrieve: (\n args: WithAuth<GetBlockParameters>\n ): Promise<GetBlockResponse> => {\n return this.request<GetBlockResponse>({\n path: getBlock.path(args),\n method: getBlock.method,\n query: pick(args, getBlock.queryParams),\n body: pick(args, getBlock.bodyParams),\n auth: args?.auth,\n })\n },\n\n /**\n * Update block\n */\n update: (\n args: WithAuth<UpdateBlockParameters>\n ): Promise<UpdateBlockResponse> => {\n return this.request<UpdateBlockResponse>({\n path: updateBlock.path(args),\n method: updateBlock.method,\n query: pick(args, updateBlock.queryParams),\n body: pick(args, updateBlock.bodyParams),\n auth: args?.auth,\n })\n },\n\n /**\n * Delete block\n */\n delete: (\n args: WithAuth<DeleteBlockParameters>\n ): Promise<DeleteBlockResponse> => {\n return this.request<DeleteBlockResponse>({\n path: deleteBlock.path(args),\n method: deleteBlock.method,\n query: pick(args, deleteBlock.queryParams),\n body: pick(args, deleteBlock.bodyParams),\n auth: args?.auth,\n })\n },\n children: {\n /**\n * Append block children\n */\n append: (\n args: WithAuth<AppendBlockChildrenParameters>\n ): Promise<AppendBlockChildrenResponse> => {\n return this.request<AppendBlockChildrenResponse>({\n path: appendBlockChildren.path(args),\n method: appendBlockChildren.method,\n query: pick(args, appendBlockChildren.queryParams),\n body: pick(args, appendBlockChildren.bodyParams),\n auth: args?.auth,\n })\n },\n\n /**\n * Retrieve block children\n */\n list: (\n args: WithAuth<ListBlockChildrenParameters>\n ): Promise<ListBlockChildrenResponse> => {\n return this.request<ListBlockChildrenResponse>({\n path: listBlockChildren.path(args),\n method: listBlockChildren.method,\n query: pick(args, listBlockChildren.queryParams),\n body: pick(args, listBlockChildren.bodyParams),\n auth: args?.auth,\n })\n },\n },\n }\n\n public readonly databases = {\n /**\n * List databases\n *\n * @deprecated Please use `search`\n */\n list: (\n args: WithAuth<ListDatabasesParameters>\n ): Promise<ListDatabasesResponse> => {\n return this.request<ListDatabasesResponse>({\n path: listDatabases.path(),\n method: listDatabases.method,\n query: pick(args, listDatabases.queryParams),\n body: pick(args, listDatabases.bodyParams),\n auth: args?.auth,\n })\n },\n\n /**\n * Retrieve a database\n */\n retrieve: (\n args: WithAuth<GetDatabaseParameters>\n ): Promise<GetDatabaseResponse> => {\n return this.request<GetDatabaseResponse>({\n path: getDatabase.path(args),\n method: getDatabase.method,\n query: pick(args, getDatabase.queryParams),\n body: pick(args, getDatabase.bodyParams),\n auth: args?.auth,\n })\n },\n\n /**\n * Query a database\n */\n query: (\n args: WithAuth<QueryDatabaseParameters>\n ): Promise<QueryDatabaseResponse> => {\n return this.request<QueryDatabaseResponse>({\n path: queryDatabase.path(args),\n method: queryDatabase.method,\n query: pick(args, queryDatabase.queryParams),\n body: pick(args, queryDatabase.bodyParams),\n auth: args?.auth,\n })\n },\n\n /**\n * Create a database\n */\n create: (\n args: WithAuth<CreateDatabaseParameters>\n ): Promise<CreateDatabaseResponse> => {\n return this.request<CreateDatabaseResponse>({\n path: createDatabase.path(),\n method: createDatabase.method,\n query: pick(args, createDatabase.queryParams),\n body: pick(args, createDatabase.bodyParams),\n auth: args?.auth,\n })\n },\n\n /**\n * Update a database\n */\n update: (\n args: WithAuth<UpdateDatabaseParameters>\n ): Promise<UpdateDatabaseResponse> => {\n return this.request<UpdateDatabaseResponse>({\n path: updateDatabase.path(args),\n method: updateDatabase.method,\n query: pick(args, updateDatabase.queryParams),\n body: pick(args, updateDatabase.bodyParams),\n auth: args?.auth,\n })\n },\n }\n\n public readonly pages = {\n /**\n * Create a page\n */\n create: (\n args: WithAuth<CreatePageParameters>\n ): Promise<CreatePageResponse> => {\n return this.request<CreatePageResponse>({\n path: createPage.path(),\n method: createPage.method,\n query: pick(args, createPage.queryParams),\n body: pick(args, createPage.bodyParams),\n auth: args?.auth,\n })\n },\n\n /**\n * Retrieve a page\n */\n retrieve: (args: WithAuth<GetPageParameters>): Promise<GetPageResponse> => {\n return this.request<GetPageResponse>({\n path: getPage.path(args),\n method: getPage.method,\n query: pick(args, getPage.queryParams),\n body: pick(args, getPage.bodyParams),\n auth: args?.auth,\n })\n },\n\n /**\n * Update page properties\n */\n update: (\n args: WithAuth<UpdatePageParameters>\n ): Promise<UpdatePageResponse> => {\n return this.request<UpdatePageResponse>({\n path: updatePage.path(args),\n method: updatePage.method,\n query: pick(args, updatePage.queryParams),\n body: pick(args, updatePage.bodyParams),\n auth: args?.auth,\n })\n },\n properties: {\n /**\n * Retrieve page property\n */\n retrieve: (\n args: WithAuth<GetPagePropertyParameters>\n ): Promise<GetPagePropertyResponse> => {\n return this.request<GetPagePropertyResponse>({\n path: getPageProperty.path(args),\n method: getPageProperty.method,\n query: pick(args, getPageProperty.queryParams),\n body: pick(args, getPageProperty.bodyParams),\n auth: args?.auth,\n })\n },\n },\n }\n\n public readonly users = {\n /**\n * Retrieve a user\n */\n retrieve: (args: WithAuth<GetUserParameters>): Promise<GetUserResponse> => {\n return this.request<GetUserResponse>({\n path: getUser.path(args),\n method: getUser.method,\n query: pick(args, getUser.queryParams),\n body: pick(args, getUser.bodyParams),\n auth: args?.auth,\n })\n },\n\n /**\n * List all users\n */\n list: (args: WithAuth<ListUsersParameters>): Promise<ListUsersResponse> => {\n return this.request<ListUsersResponse>({\n path: listUsers.path(),\n method: listUsers.method,\n query: pick(args, listUsers.queryParams),\n body: pick(args, listUsers.bodyParams),\n auth: args?.auth,\n })\n },\n\n /**\n * Get details about bot\n */\n me: (args: WithAuth<GetSelfParameters>): Promise<GetSelfResponse> => {\n return this.request<GetSelfResponse>({\n path: getSelf.path(),\n method: getSelf.method,\n query: pick(args, getSelf.queryParams),\n body: pick(args, getSelf.bodyParams),\n auth: args?.auth,\n })\n },\n }\n\n public readonly comments = {\n /**\n * Create a comment\n */\n create: (\n args: WithAuth<CreateCommentParameters>\n ): Promise<CreateCommentResponse> => {\n return this.request<CreateCommentResponse>({\n path: createComment.path(),\n method: createComment.method,\n query: pick(args, createComment.queryParams),\n body: pick(args, createComment.bodyParams),\n auth: args?.auth,\n })\n },\n\n /**\n * List comments\n */\n list: (\n args: WithAuth<ListCommentsParameters>\n ): Promise<ListCommentsResponse> => {\n return this.request<ListCommentsResponse>({\n path: listComments.path(),\n method: listComments.method,\n query: pick(args, listComments.queryParams),\n body: pick(args, listComments.bodyParams),\n auth: args?.auth,\n })\n },\n }\n\n /**\n * Search\n */\n public search(args: WithAuth<SearchParameters>): Promise<SearchResponse> {\n return this.request<SearchResponse>({\n path: search.path(),\n method: search.method,\n query: pick(args, search.queryParams),\n body: pick(args, search.bodyParams),\n auth: args?.auth,\n })\n }\n\n /**\n * Emits a log message to the console.\n *\n * @param level The level for this message\n * @param args Arguments to send to the console\n */\n private log(\n level: LogLevel,\n message: string,\n extraInfo: Record<string, unknown>\n ) {\n if (logLevelSeverity(level) >= logLevelSeverity(this.#logLevel)) {\n this.#logger(level, message, extraInfo)\n }\n }\n\n /**\n * Transforms an API key or access token into a headers object suitable for an HTTP request.\n *\n * This method uses the instance's value as the default when the input is undefined. If neither are defined, it returns\n * an empty object\n *\n * @param auth API key or access token\n * @returns headers key-value object\n */\n private authAsHeaders(auth?: string): Record<string, string> {\n const headers: Record<string, string> = {}\n const authHeaderValue = auth ?? this.#auth\n if (authHeaderValue !== undefined) {\n headers[\"authorization\"] = `Bearer ${authHeaderValue}`\n }\n return headers\n }\n}\n\n/*\n * Type aliases to support the generic request interface.\n */\ntype Method = \"get\" | \"post\" | \"patch\" | \"delete\"\ntype QueryParams = Record<string, string | number> | URLSearchParams\n\ntype WithAuth<P> = P & { auth?: string }\n"]}
|