rotion 3.5.7 → 3.6.1
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/exporter/api.d.ts +7 -0
- package/dist/exporter/api.js +33 -16
- package/dist/exporter/api.js.map +1 -1
- package/dist/exporter/database.js +13 -1
- package/dist/exporter/database.js.map +1 -1
- package/dist/exporter/index.d.ts +1 -0
- package/dist/exporter/index.js +1 -0
- package/dist/exporter/index.js.map +1 -1
- package/dist/exporter/types.d.ts +178 -138
- package/dist/exporter/validation.d.ts +15 -0
- package/dist/exporter/validation.js +180 -0
- package/dist/exporter/validation.js.map +1 -0
- package/dist/exporter/variables.d.ts +1 -0
- package/dist/exporter/variables.js +1 -0
- package/dist/exporter/variables.js.map +1 -1
- package/dist/ui/components/Gallery/GallerySelectField/GallerySelectField.d.ts +1 -1
- package/dist/ui/components/Gallery/GallerySelectField/GallerySelectField.types.d.ts +1 -1
- package/dist/ui/components/List/ListSelectField/ListSelectField.types.d.ts +1 -1
- package/dist/ui/components/Table/TableSelectField/TableSelectField.types.d.ts +1 -1
- package/dist/ui/components/lib.d.ts +4 -1
- package/dist/ui/esm/components/Gallery/GalleryCard/GalleryHandler.js +2 -1
- package/dist/ui/esm/components/Gallery/GalleryCard/GalleryHandler.js.map +1 -1
- package/dist/ui/esm/components/Gallery/GallerySelectField/GallerySelectField.js +3 -0
- package/dist/ui/esm/components/Gallery/GallerySelectField/GallerySelectField.js.map +1 -1
- package/dist/ui/esm/components/List/ListHandler.js +2 -1
- package/dist/ui/esm/components/List/ListHandler.js.map +1 -1
- package/dist/ui/esm/components/Page/CodeBlock/CodeBlock.js +6 -8
- package/dist/ui/esm/components/Page/CodeBlock/CodeBlock.js.map +1 -1
- package/dist/ui/esm/components/Page/EquationBlock/EquationBlock.js +11 -6
- package/dist/ui/esm/components/Page/EquationBlock/EquationBlock.js.map +1 -1
- package/dist/ui/esm/components/RichText/Equation/Equation.js +10 -6
- package/dist/ui/esm/components/RichText/Equation/Equation.js.map +1 -1
- package/dist/ui/esm/components/Table/TableHandler.js +2 -1
- package/dist/ui/esm/components/Table/TableHandler.js.map +1 -1
- package/dist/ui/esm/components/lib.js +78 -0
- package/dist/ui/esm/components/lib.js.map +1 -1
- package/dist/ui/index-without-dark.css +1 -1
- package/dist/ui/index.css +1 -1
- package/package.json +3 -2
package/dist/exporter/api.d.ts
CHANGED
|
@@ -5,6 +5,13 @@ export interface reqAPIWithBackoffArgs {
|
|
|
5
5
|
args: unknown;
|
|
6
6
|
count: number;
|
|
7
7
|
}
|
|
8
|
+
/**
|
|
9
|
+
* buildAPIErrorMessage keeps the reason of the failure in the message.
|
|
10
|
+
* Without it, a validation error of the notion api -- a filter for a property
|
|
11
|
+
* or an option that no longer exists, for example -- is indistinguishable
|
|
12
|
+
* from a network failure.
|
|
13
|
+
*/
|
|
14
|
+
export declare function buildAPIErrorMessage(func: Function, args: unknown, error: unknown): string;
|
|
8
15
|
export declare function reqAPIWithBackoff<T>({ func, args, count }: reqAPIWithBackoffArgs): Promise<T>;
|
|
9
16
|
export interface reqAPIWithBackoffAndCacheArgs {
|
|
10
17
|
name: string;
|
package/dist/exporter/api.js
CHANGED
|
@@ -3,6 +3,28 @@ import { isNotionClientError, APIErrorCode, ClientErrorCode, LogLevel, } from '@
|
|
|
3
3
|
import { atoh, readCache, writeCache, isAvailableCache, } from './files.js';
|
|
4
4
|
import { cacheDir, waitingTimeSec, waitTimeSecAfterLimit, auth, debug, } from './variables.js';
|
|
5
5
|
export const notion = new Client({ auth, logLevel: debug ? LogLevel.DEBUG : LogLevel.ERROR });
|
|
6
|
+
const retryableErrorCodes = [
|
|
7
|
+
APIErrorCode.RateLimited,
|
|
8
|
+
APIErrorCode.InternalServerError,
|
|
9
|
+
ClientErrorCode.ResponseError,
|
|
10
|
+
ClientErrorCode.RequestTimeout,
|
|
11
|
+
];
|
|
12
|
+
const truncate = (str, max = 1000) => {
|
|
13
|
+
return str.length > max ? `${str.slice(0, max)}...` : str;
|
|
14
|
+
};
|
|
15
|
+
/**
|
|
16
|
+
* buildAPIErrorMessage keeps the reason of the failure in the message.
|
|
17
|
+
* Without it, a validation error of the notion api -- a filter for a property
|
|
18
|
+
* or an option that no longer exists, for example -- is indistinguishable
|
|
19
|
+
* from a network failure.
|
|
20
|
+
*/
|
|
21
|
+
export function buildAPIErrorMessage(func, args, error) {
|
|
22
|
+
const name = func.name === '' ? 'anonymous' : func.name;
|
|
23
|
+
const reason = error && typeof error === 'object' && isNotionClientError(error)
|
|
24
|
+
? `${error.code}: ${error.message}`
|
|
25
|
+
: `${error}`;
|
|
26
|
+
return `request to notion api failed: ${name} -- ${reason}\n args: ${truncate(JSON.stringify(args) ?? 'undefined')}`;
|
|
27
|
+
}
|
|
6
28
|
export async function reqAPIWithBackoff({ func, args, count }) {
|
|
7
29
|
if (count < 1) {
|
|
8
30
|
throw new Error('backoff count exceeded');
|
|
@@ -15,28 +37,23 @@ export async function reqAPIWithBackoff({ func, args, count }) {
|
|
|
15
37
|
}
|
|
16
38
|
}
|
|
17
39
|
catch (error) {
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
console.log(`reqAPIWithBackoff backoff(${count}) -- error code: ${error.code}`);
|
|
26
|
-
}
|
|
27
|
-
if (waitTimeSecAfterLimit > 0) {
|
|
28
|
-
await new Promise(resolve => setTimeout(resolve, waitTimeSecAfterLimit));
|
|
29
|
-
}
|
|
30
|
-
res = await reqAPIWithBackoff({ func, args, count: count - 1 });
|
|
31
|
-
break;
|
|
40
|
+
const retryable = error && typeof error === 'object' && isNotionClientError(error) && retryableErrorCodes.includes(error.code);
|
|
41
|
+
if (retryable && count > 1) {
|
|
42
|
+
if (debug) {
|
|
43
|
+
console.log(`reqAPIWithBackoff backoff(${count}) -- error: ${error}`);
|
|
44
|
+
}
|
|
45
|
+
if (waitTimeSecAfterLimit > 0) {
|
|
46
|
+
await new Promise(resolve => setTimeout(resolve, waitTimeSecAfterLimit));
|
|
32
47
|
}
|
|
48
|
+
return await reqAPIWithBackoff({ func, args, count: count - 1 });
|
|
33
49
|
}
|
|
34
50
|
if (debug) {
|
|
35
51
|
console.error(`reqAPIWithBackoff error -- func: ${func.name}, args: ${JSON.stringify(args)}, error: ${error}`);
|
|
36
52
|
}
|
|
53
|
+
throw new Error(buildAPIErrorMessage(func, args, error), { cause: error });
|
|
37
54
|
}
|
|
38
|
-
if (res === null) {
|
|
39
|
-
throw new Error(`request to notion api failed: ${func.name}`);
|
|
55
|
+
if (res === null || res === undefined) {
|
|
56
|
+
throw new Error(`request to notion api failed: ${func.name === '' ? 'anonymous' : func.name} -- empty response`);
|
|
40
57
|
}
|
|
41
58
|
return res;
|
|
42
59
|
}
|
package/dist/exporter/api.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api.js","sourceRoot":"","sources":["../../src/exporter/api.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAA;AACzC,OAAO,EACL,mBAAmB,EACnB,YAAY,EACZ,eAAe,EACf,QAAQ,GACT,MAAM,kBAAkB,CAAA;AACzB,OAAO,EACL,IAAI,EACJ,SAAS,EACT,UAAU,EACV,gBAAgB,GACjB,MAAM,YAAY,CAAA;AACnB,OAAO,EACL,QAAQ,EACR,cAAc,EACd,qBAAqB,EACrB,IAAI,EACJ,KAAK,GACN,MAAM,gBAAgB,CAAA;AAEvB,MAAM,CAAC,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAA;AAQ7F,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAK,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAyB;IACtF,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;QACd,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAA;IAC3C,CAAC;IAED,IAAI,GAAG,GAAW,IAAI,CAAA;IAEtB,IAAI,CAAC;QACH,GAAG,GAAG,MAAM,IAAI,CAAC,IAAI,CAAM,CAAA;QAC3B,IAAI,cAAc,GAAG,CAAC,EAAE,CAAC;YACvB,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC,CAAA;QACnE,CAAC;IACH,CAAC;IAAC,OAAO,KAAc,EAAE,CAAC;QACxB,
|
|
1
|
+
{"version":3,"file":"api.js","sourceRoot":"","sources":["../../src/exporter/api.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAA;AACzC,OAAO,EACL,mBAAmB,EACnB,YAAY,EACZ,eAAe,EACf,QAAQ,GACT,MAAM,kBAAkB,CAAA;AACzB,OAAO,EACL,IAAI,EACJ,SAAS,EACT,UAAU,EACV,gBAAgB,GACjB,MAAM,YAAY,CAAA;AACnB,OAAO,EACL,QAAQ,EACR,cAAc,EACd,qBAAqB,EACrB,IAAI,EACJ,KAAK,GACN,MAAM,gBAAgB,CAAA;AAEvB,MAAM,CAAC,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAA;AAQ7F,MAAM,mBAAmB,GAAa;IACpC,YAAY,CAAC,WAAW;IACxB,YAAY,CAAC,mBAAmB;IAChC,eAAe,CAAC,aAAa;IAC7B,eAAe,CAAC,cAAc;CAC/B,CAAA;AAED,MAAM,QAAQ,GAAG,CAAC,GAAW,EAAE,GAAG,GAAG,IAAI,EAAU,EAAE;IACnD,OAAO,GAAG,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAA;AAC3D,CAAC,CAAA;AAED;;;;;GAKG;AACH,MAAM,UAAU,oBAAoB,CAAE,IAAc,EAAE,IAAa,EAAE,KAAc;IACjF,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAA;IACvD,MAAM,MAAM,GAAG,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,mBAAmB,CAAC,KAAK,CAAC;QAC7E,CAAC,CAAC,GAAG,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,OAAO,EAAE;QACnC,CAAC,CAAC,GAAG,KAAK,EAAE,CAAA;IACd,OAAO,iCAAiC,IAAI,OAAO,MAAM,aAAa,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,WAAW,CAAC,EAAE,CAAA;AACvH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAK,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAyB;IACtF,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;QACd,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAA;IAC3C,CAAC;IAED,IAAI,GAAG,GAAW,IAAI,CAAA;IAEtB,IAAI,CAAC;QACH,GAAG,GAAG,MAAM,IAAI,CAAC,IAAI,CAAM,CAAA;QAC3B,IAAI,cAAc,GAAG,CAAC,EAAE,CAAC;YACvB,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC,CAAA;QACnE,CAAC;IACH,CAAC;IAAC,OAAO,KAAc,EAAE,CAAC;QACxB,MAAM,SAAS,GAAG,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,mBAAmB,CAAC,KAAK,CAAC,IAAI,mBAAmB,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;QAC9H,IAAI,SAAS,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;YAC3B,IAAI,KAAK,EAAE,CAAC;gBACV,OAAO,CAAC,GAAG,CAAC,6BAA6B,KAAK,eAAe,KAAK,EAAE,CAAC,CAAA;YACvE,CAAC;YACD,IAAI,qBAAqB,GAAG,CAAC,EAAE,CAAC;gBAC9B,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,qBAAqB,CAAC,CAAC,CAAA;YAC1E,CAAC;YACD,OAAO,MAAM,iBAAiB,CAAI,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,GAAG,CAAC,EAAE,CAAC,CAAA;QACrE,CAAC;QACD,IAAI,KAAK,EAAE,CAAC;YACV,OAAO,CAAC,KAAK,CAAC,oCAAoC,IAAI,CAAC,IAAI,WAAW,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,YAAY,KAAK,EAAE,CAAC,CAAA;QAChH,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAA;IAC5E,CAAC;IAED,IAAI,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;QACtC,MAAM,IAAI,KAAK,CAAC,iCAAiC,IAAI,CAAC,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,oBAAoB,CAAC,CAAA;IAClH,CAAC;IAED,OAAO,GAAG,CAAA;AACZ,CAAC;AASD,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAAM,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAiC;IAC7G,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAA;IAC3D,MAAM,SAAS,GAAG,GAAG,QAAQ,IAAI,IAAI,IAAI,GAAG,EAAE,CAAA;IAE9C,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,MAAM,SAAS,CAAS,SAAS,CAAC,CAAA;QAChD,IAAI,MAAM,gBAAgB,CAAC,SAAS,CAAC,EAAE,CAAC;YACtC,OAAO,KAAU,CAAA;QACnB,CAAC;IACH,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,eAAe;IACjB,CAAC;IAED,MAAM,GAAG,GAAG,MAAM,iBAAiB,CAAI,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAA;IAC7D,MAAM,UAAU,CAAC,SAAS,EAAE,GAAG,CAAC,CAAA;IAChC,OAAO,GAAQ,CAAA;AACjB,CAAC;AAMD,8CAA8C;AAC9C,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,GAA2B,EAAE,OAAO,GAAiB,EAAE;IAC5F,MAAM,EAAE,OAAO,GAAG,IAAI,EAAE,GAAG,YAAY,EAAE,GAAG,OAAO,CAAA;IACnD,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAA;IACxC,MAAM,EAAE,MAAM,EAAE,GAAG,UAAU,CAAA;IAE7B,MAAM,SAAS,GAAG,UAAU,CAAC,GAAG,EAAE;QAChC,UAAU,CAAC,KAAK,EAAE,CAAA;IACpB,CAAC,EAAE,OAAO,CAAC,CAAA;IAEX,OAAO,CAAC,MAAM,GAAG,MAAM,CAAA;IAEvB,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE,YAAY,CAAC,CAAA;QAC/C,YAAY,CAAC,SAAS,CAAC,CAAA;QACvB,OAAO,QAAQ,CAAA;IACjB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,YAAY,CAAC,SAAS,CAAC,CAAA;QACvB,IAAI,KAAK,YAAY,KAAK,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;YAC1D,MAAM,IAAI,KAAK,CAAC,2BAA2B,OAAO,IAAI,CAAC,CAAA;QACzD,CAAC;QACD,MAAM,KAAK,CAAA;IACb,CAAC;AACH,CAAC"}
|
|
@@ -1,9 +1,14 @@
|
|
|
1
1
|
import { reqAPIWithBackoff, notion, } from './api.js';
|
|
2
2
|
import { getNotionIconUrl } from './page.js';
|
|
3
|
-
import { cacheDir, incrementalCache, debug, } from './variables.js';
|
|
3
|
+
import { cacheDir, incrementalCache, debug, skipQueryValidation, } from './variables.js';
|
|
4
|
+
import { validateQuery, buildQueryValidationMessage, } from './validation.js';
|
|
4
5
|
import { atoh, createDirWhenNotfound, saveImage, readCache, writeCache, isAvailableCache, isEmpty, } from './files.js';
|
|
5
6
|
import { savePageCover, savePageIcon, } from './page.js';
|
|
6
7
|
import { withFileLock } from './mutex.js';
|
|
8
|
+
const databaseLabel = (meta, database_id) => {
|
|
9
|
+
const title = (meta.title ?? []).map(v => v.plain_text).join('').trim();
|
|
10
|
+
return title === '' ? database_id : `"${title}" (${database_id})`;
|
|
11
|
+
};
|
|
7
12
|
/**
|
|
8
13
|
* FetchDatabase retrieves database and download images in from blocks.
|
|
9
14
|
* And create cache that includes filepath of downloaded images.
|
|
@@ -63,6 +68,13 @@ export const FetchDatabase = async (p) => {
|
|
|
63
68
|
if (dataSource && dataSource.properties) {
|
|
64
69
|
meta.properties = dataSource.properties;
|
|
65
70
|
}
|
|
71
|
+
// Tell which part of the query is wrong before the notion api rejects it
|
|
72
|
+
if (!skipQueryValidation) {
|
|
73
|
+
const errors = validateQuery({ properties: meta.properties, filter: params.filter, sorts: params.sorts });
|
|
74
|
+
if (errors.length > 0) {
|
|
75
|
+
throw new Error(buildQueryValidationMessage(`database ${databaseLabel(meta, database_id)}`, errors));
|
|
76
|
+
}
|
|
77
|
+
}
|
|
66
78
|
// Remove database_id and add data_source_id to params
|
|
67
79
|
const queryParams = { ...params, data_source_id };
|
|
68
80
|
delete queryParams.database_id;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"database.js","sourceRoot":"","sources":["../../src/exporter/database.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EACjB,MAAM,GACP,MAAM,UAAU,CAAA;AACjB,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAA;AAC5C,OAAO,EACL,QAAQ,EACR,gBAAgB,EAChB,KAAK,
|
|
1
|
+
{"version":3,"file":"database.js","sourceRoot":"","sources":["../../src/exporter/database.ts"],"names":[],"mappings":"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"}
|
package/dist/exporter/index.d.ts
CHANGED
package/dist/exporter/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/exporter/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAA;AAC3B,cAAc,eAAe,CAAA;AAC7B,cAAc,WAAW,CAAA;AACzB,cAAc,YAAY,CAAA;AAC1B,cAAc,kBAAkB,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/exporter/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAA;AAC3B,cAAc,eAAe,CAAA;AAC7B,cAAc,WAAW,CAAA;AACzB,cAAc,YAAY,CAAA;AAC1B,cAAc,kBAAkB,CAAA;AAChC,cAAc,iBAAiB,CAAA"}
|
package/dist/exporter/types.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { QueryDataSourceResponse, ListBlockChildrenResponse, ParagraphBlockObjectResponse, Heading1BlockObjectResponse, Heading2BlockObjectResponse, Heading3BlockObjectResponse, BulletedListItemBlockObjectResponse, NumberedListItemBlockObjectResponse, QuoteBlockObjectResponse, ToDoBlockObjectResponse, ToggleBlockObjectResponse, TemplateBlockObjectResponse, SyncedBlockBlockObjectResponse, ChildPageBlockObjectResponse, ChildDatabaseBlockObjectResponse, EquationBlockObjectResponse, CodeBlockObjectResponse, CalloutBlockObjectResponse, DividerBlockObjectResponse, BreadcrumbBlockObjectResponse, TableOfContentsBlockObjectResponse, ColumnListBlockObjectResponse, ColumnBlockObjectResponse, LinkToPageBlockObjectResponse, TableBlockObjectResponse, TableRowBlockObjectResponse, EmbedBlockObjectResponse, BookmarkBlockObjectResponse, ImageBlockObjectResponse, VideoBlockObjectResponse, PdfBlockObjectResponse, FileBlockObjectResponse, AudioBlockObjectResponse, LinkPreviewBlockObjectResponse, UnsupportedBlockObjectResponse, RichTextItemResponse, GetPagePropertyResponse, PageObjectResponse, UserObjectResponse, DatabaseObjectResponse
|
|
1
|
+
import type { QueryDataSourceResponse, ListBlockChildrenResponse, ParagraphBlockObjectResponse, Heading1BlockObjectResponse, Heading2BlockObjectResponse, Heading3BlockObjectResponse, BulletedListItemBlockObjectResponse, NumberedListItemBlockObjectResponse, QuoteBlockObjectResponse, ToDoBlockObjectResponse, ToggleBlockObjectResponse, TemplateBlockObjectResponse, SyncedBlockBlockObjectResponse, ChildPageBlockObjectResponse, ChildDatabaseBlockObjectResponse, EquationBlockObjectResponse, CodeBlockObjectResponse, CalloutBlockObjectResponse, DividerBlockObjectResponse, BreadcrumbBlockObjectResponse, TableOfContentsBlockObjectResponse, ColumnListBlockObjectResponse, ColumnBlockObjectResponse, LinkToPageBlockObjectResponse, TableBlockObjectResponse, TableRowBlockObjectResponse, EmbedBlockObjectResponse, BookmarkBlockObjectResponse, ImageBlockObjectResponse, VideoBlockObjectResponse, PdfBlockObjectResponse, FileBlockObjectResponse, AudioBlockObjectResponse, LinkPreviewBlockObjectResponse, UnsupportedBlockObjectResponse, RichTextItemResponse, NumberFormat, GetPagePropertyResponse, PageObjectResponse, UserObjectResponse, DatabaseObjectResponse } from '@notionhq/client/build/src/api-endpoints.js';
|
|
2
2
|
import { LinkPreviewGithubRepo, LinkPreviewGithubIssue } from './github.js';
|
|
3
3
|
export * from '@notionhq/client/build/src/api-endpoints.js';
|
|
4
4
|
export type IdRequest = string | string;
|
|
@@ -376,106 +376,7 @@ export type DBPageBase = {
|
|
|
376
376
|
} | null;
|
|
377
377
|
properties: {};
|
|
378
378
|
};
|
|
379
|
-
export type DBProperties = Record<string,
|
|
380
|
-
type: 'title';
|
|
381
|
-
title: Array<RichTextItemResponse>;
|
|
382
|
-
id: string;
|
|
383
|
-
} | {
|
|
384
|
-
type: 'rich_text';
|
|
385
|
-
rich_text: Array<RichTextItemResponse>;
|
|
386
|
-
id: string;
|
|
387
|
-
} | {
|
|
388
|
-
type: 'number';
|
|
389
|
-
number: number | null;
|
|
390
|
-
id: string;
|
|
391
|
-
} | {
|
|
392
|
-
type: 'url';
|
|
393
|
-
url: string | null;
|
|
394
|
-
id: string;
|
|
395
|
-
} | {
|
|
396
|
-
type: 'select';
|
|
397
|
-
select: SelectPropertyResponse | null;
|
|
398
|
-
id: string;
|
|
399
|
-
} | {
|
|
400
|
-
type: 'multi_select';
|
|
401
|
-
multi_select: Array<SelectPropertyResponse>;
|
|
402
|
-
id: string;
|
|
403
|
-
} | {
|
|
404
|
-
type: 'people';
|
|
405
|
-
people: Array<PartialUserObjectResponse>;
|
|
406
|
-
id: string;
|
|
407
|
-
} | {
|
|
408
|
-
type: 'email';
|
|
409
|
-
email: string | null;
|
|
410
|
-
id: string;
|
|
411
|
-
} | {
|
|
412
|
-
type: 'phone_number';
|
|
413
|
-
phone_number: string | null;
|
|
414
|
-
id: string;
|
|
415
|
-
} | {
|
|
416
|
-
type: 'date';
|
|
417
|
-
date: DateResponse | null;
|
|
418
|
-
id: string;
|
|
419
|
-
} | {
|
|
420
|
-
type: 'files';
|
|
421
|
-
files: Array<{
|
|
422
|
-
file: {
|
|
423
|
-
url: string;
|
|
424
|
-
expiry_time: string;
|
|
425
|
-
};
|
|
426
|
-
name: StringRequest;
|
|
427
|
-
type?: 'file';
|
|
428
|
-
} | {
|
|
429
|
-
external: {
|
|
430
|
-
url: TextRequest;
|
|
431
|
-
};
|
|
432
|
-
name: StringRequest;
|
|
433
|
-
type?: 'external';
|
|
434
|
-
}>;
|
|
435
|
-
id: string;
|
|
436
|
-
} | {
|
|
437
|
-
type: 'checkbox';
|
|
438
|
-
checkbox: boolean;
|
|
439
|
-
id: string;
|
|
440
|
-
} | {
|
|
441
|
-
type: 'formula';
|
|
442
|
-
formula: {
|
|
443
|
-
type: 'string';
|
|
444
|
-
string: string | null;
|
|
445
|
-
} | {
|
|
446
|
-
type: 'date';
|
|
447
|
-
date: DateResponse | null;
|
|
448
|
-
} | {
|
|
449
|
-
type: 'number';
|
|
450
|
-
number: number | null;
|
|
451
|
-
} | {
|
|
452
|
-
type: 'boolean';
|
|
453
|
-
boolean: boolean | null;
|
|
454
|
-
};
|
|
455
|
-
id: string;
|
|
456
|
-
} | {
|
|
457
|
-
type: 'relation';
|
|
458
|
-
relation: Array<{
|
|
459
|
-
id: string;
|
|
460
|
-
}>;
|
|
461
|
-
id: string;
|
|
462
|
-
} | {
|
|
463
|
-
type: 'created_time';
|
|
464
|
-
created_time: string;
|
|
465
|
-
id: string;
|
|
466
|
-
} | {
|
|
467
|
-
type: 'created_by';
|
|
468
|
-
created_by: PartialUserObjectResponse;
|
|
469
|
-
id: string;
|
|
470
|
-
} | {
|
|
471
|
-
type: 'last_edited_time';
|
|
472
|
-
last_edited_time: string;
|
|
473
|
-
id: string;
|
|
474
|
-
} | {
|
|
475
|
-
type: 'last_edited_by';
|
|
476
|
-
last_edited_by: PartialUserObjectResponse;
|
|
477
|
-
id: string;
|
|
478
|
-
}>;
|
|
379
|
+
export type DBProperties = Record<string, DatabasePropertyValue>;
|
|
479
380
|
export type QueryDatabaseResponseResult = {
|
|
480
381
|
parent: {
|
|
481
382
|
type: 'database_id';
|
|
@@ -626,28 +527,43 @@ export type Parent = {
|
|
|
626
527
|
type: "agent_id";
|
|
627
528
|
agent_id: string;
|
|
628
529
|
};
|
|
629
|
-
export type DatabaseProperty =
|
|
630
|
-
export type DatabasePropertyConfigResponse = NumberDatabasePropertyConfigResponse | FormulaDatabasePropertyConfigResponse | SelectDatabasePropertyConfigResponse | MultiSelectDatabasePropertyConfigResponse | StatusDatabasePropertyConfigResponse | RelationDatabasePropertyConfigResponse | RollupDatabasePropertyConfigResponse | UniqueIdDatabasePropertyConfigResponse | TitleDatabasePropertyConfigResponse | RichTextDatabasePropertyConfigResponse | UrlDatabasePropertyConfigResponse | PeopleDatabasePropertyConfigResponse | FilesDatabasePropertyConfigResponse | EmailDatabasePropertyConfigResponse | PhoneNumberDatabasePropertyConfigResponse | DateDatabasePropertyConfigResponse | CheckboxDatabasePropertyConfigResponse | CreatedByDatabasePropertyConfigResponse | CreatedTimeDatabasePropertyConfigResponse | LastEditedByDatabasePropertyConfigResponse | LastEditedTimeDatabasePropertyConfigResponse;
|
|
530
|
+
export type DatabaseProperty = DatabasePropertyValue;
|
|
531
|
+
export type DatabasePropertyConfigResponse = DatabasePropertyConfigResponseCommon & (NumberDatabasePropertyConfigResponse | FormulaDatabasePropertyConfigResponse | SelectDatabasePropertyConfigResponse | MultiSelectDatabasePropertyConfigResponse | StatusDatabasePropertyConfigResponse | RelationDatabasePropertyConfigResponse | RollupDatabasePropertyConfigResponse | UniqueIdDatabasePropertyConfigResponse | TitleDatabasePropertyConfigResponse | RichTextDatabasePropertyConfigResponse | UrlDatabasePropertyConfigResponse | PeopleDatabasePropertyConfigResponse | FilesDatabasePropertyConfigResponse | EmailDatabasePropertyConfigResponse | PhoneNumberDatabasePropertyConfigResponse | DateDatabasePropertyConfigResponse | CheckboxDatabasePropertyConfigResponse | CreatedByDatabasePropertyConfigResponse | CreatedTimeDatabasePropertyConfigResponse | LastEditedByDatabasePropertyConfigResponse | LastEditedTimeDatabasePropertyConfigResponse | ButtonDatabasePropertyConfigResponse | VerificationDatabasePropertyConfigResponse);
|
|
532
|
+
export type DatabasePropertyConfigResponseCommon = {
|
|
533
|
+
id: string;
|
|
534
|
+
name: string;
|
|
535
|
+
description: string | null;
|
|
536
|
+
};
|
|
631
537
|
type RollupFunction = "count" | "count_values" | "empty" | "not_empty" | "unique" | "show_unique" | "percent_empty" | "percent_not_empty" | "sum" | "average" | "median" | "min" | "max" | "range" | "earliest_date" | "latest_date" | "date_range" | "checked" | "unchecked" | "percent_checked" | "percent_unchecked" | "count_per_group" | "percent_per_group" | "show_original";
|
|
538
|
+
export type SelectOptionResponse = SelectPropertyResponse & {
|
|
539
|
+
description: string | null;
|
|
540
|
+
};
|
|
541
|
+
export type StatusOptionResponse = StatusPropertyResponse & {
|
|
542
|
+
description: string | null;
|
|
543
|
+
};
|
|
632
544
|
export type NumberDatabasePropertyConfigResponse = {
|
|
633
545
|
type: "number";
|
|
634
|
-
number:
|
|
635
|
-
|
|
546
|
+
number: {
|
|
547
|
+
format: NumberFormat;
|
|
548
|
+
};
|
|
636
549
|
};
|
|
637
550
|
export type FormulaDatabasePropertyConfigResponse = {
|
|
638
551
|
type: "formula";
|
|
639
|
-
formula:
|
|
640
|
-
|
|
552
|
+
formula: {
|
|
553
|
+
expression: string;
|
|
554
|
+
};
|
|
641
555
|
};
|
|
642
556
|
export type SelectDatabasePropertyConfigResponse = {
|
|
643
557
|
type: "select";
|
|
644
|
-
select:
|
|
645
|
-
|
|
558
|
+
select: {
|
|
559
|
+
options: Array<SelectOptionResponse>;
|
|
560
|
+
};
|
|
646
561
|
};
|
|
647
562
|
export type MultiSelectDatabasePropertyConfigResponse = {
|
|
648
563
|
type: "multi_select";
|
|
649
|
-
multi_select:
|
|
650
|
-
|
|
564
|
+
multi_select: {
|
|
565
|
+
options: Array<SelectOptionResponse>;
|
|
566
|
+
};
|
|
651
567
|
};
|
|
652
568
|
export type StatusPropertyResponse = {
|
|
653
569
|
id: StringRequest;
|
|
@@ -657,7 +573,7 @@ export type StatusPropertyResponse = {
|
|
|
657
573
|
export type StatusDatabasePropertyConfigResponse = {
|
|
658
574
|
type: "status";
|
|
659
575
|
status: {
|
|
660
|
-
options: Array<
|
|
576
|
+
options: Array<StatusOptionResponse>;
|
|
661
577
|
groups: Array<{
|
|
662
578
|
id: StringRequest;
|
|
663
579
|
name: StringRequest;
|
|
@@ -665,12 +581,10 @@ export type StatusDatabasePropertyConfigResponse = {
|
|
|
665
581
|
option_ids: Array<string>;
|
|
666
582
|
}>;
|
|
667
583
|
};
|
|
668
|
-
id: string;
|
|
669
584
|
};
|
|
670
585
|
export type SinglePropertyDatabasePropertyRelationConfigResponse = {
|
|
671
586
|
type: "single_property";
|
|
672
587
|
single_property: EmptyObject;
|
|
673
|
-
database_id: IdRequest;
|
|
674
588
|
};
|
|
675
589
|
export type DualPropertyDatabasePropertyRelationConfigResponse = {
|
|
676
590
|
type: "dual_property";
|
|
@@ -678,13 +592,14 @@ export type DualPropertyDatabasePropertyRelationConfigResponse = {
|
|
|
678
592
|
synced_property_id: StringRequest;
|
|
679
593
|
synced_property_name: StringRequest;
|
|
680
594
|
};
|
|
681
|
-
database_id: IdRequest;
|
|
682
595
|
};
|
|
683
|
-
export type DatabasePropertyRelationConfigResponse =
|
|
596
|
+
export type DatabasePropertyRelationConfigResponse = {
|
|
597
|
+
database_id: IdRequest;
|
|
598
|
+
data_source_id: IdRequest;
|
|
599
|
+
} & (SinglePropertyDatabasePropertyRelationConfigResponse | DualPropertyDatabasePropertyRelationConfigResponse);
|
|
684
600
|
export type RelationDatabasePropertyConfigResponse = {
|
|
685
601
|
type: "relation";
|
|
686
602
|
relation: DatabasePropertyRelationConfigResponse;
|
|
687
|
-
id: string;
|
|
688
603
|
};
|
|
689
604
|
export type RollupDatabasePropertyConfigResponse = {
|
|
690
605
|
type: "rollup";
|
|
@@ -695,79 +610,204 @@ export type RollupDatabasePropertyConfigResponse = {
|
|
|
695
610
|
relation_property_id: string;
|
|
696
611
|
function: RollupFunction;
|
|
697
612
|
};
|
|
698
|
-
id: string;
|
|
699
613
|
};
|
|
700
614
|
export type UniqueIdDatabasePropertyConfigResponse = {
|
|
701
615
|
type: "unique_id";
|
|
702
616
|
unique_id: {
|
|
703
617
|
prefix: string | null;
|
|
704
618
|
};
|
|
705
|
-
id: string;
|
|
706
619
|
};
|
|
707
620
|
export type TitleDatabasePropertyConfigResponse = {
|
|
708
621
|
type: "title";
|
|
709
|
-
title:
|
|
710
|
-
id: string;
|
|
622
|
+
title: EmptyObject;
|
|
711
623
|
};
|
|
712
624
|
export type RichTextDatabasePropertyConfigResponse = {
|
|
713
625
|
type: "rich_text";
|
|
714
|
-
rich_text:
|
|
715
|
-
id: string;
|
|
626
|
+
rich_text: EmptyObject;
|
|
716
627
|
};
|
|
717
628
|
export type UrlDatabasePropertyConfigResponse = {
|
|
718
629
|
type: "url";
|
|
719
|
-
url:
|
|
720
|
-
id: string;
|
|
630
|
+
url: EmptyObject;
|
|
721
631
|
};
|
|
722
632
|
export type PeopleDatabasePropertyConfigResponse = {
|
|
723
633
|
type: "people";
|
|
724
634
|
people: EmptyObject;
|
|
725
|
-
id: string;
|
|
726
635
|
};
|
|
727
636
|
export type FilesDatabasePropertyConfigResponse = {
|
|
728
637
|
type: "files";
|
|
729
638
|
files: EmptyObject;
|
|
730
|
-
id: string;
|
|
731
639
|
};
|
|
732
640
|
export type EmailDatabasePropertyConfigResponse = {
|
|
733
641
|
type: "email";
|
|
734
|
-
email:
|
|
735
|
-
id: string;
|
|
642
|
+
email: EmptyObject;
|
|
736
643
|
};
|
|
737
644
|
export type PhoneNumberDatabasePropertyConfigResponse = {
|
|
738
645
|
type: "phone_number";
|
|
739
|
-
phone_number:
|
|
740
|
-
id: string;
|
|
646
|
+
phone_number: EmptyObject;
|
|
741
647
|
};
|
|
742
648
|
export type DateDatabasePropertyConfigResponse = {
|
|
743
649
|
type: "date";
|
|
744
|
-
date:
|
|
745
|
-
id: string;
|
|
650
|
+
date: EmptyObject;
|
|
746
651
|
};
|
|
747
652
|
export type CheckboxDatabasePropertyConfigResponse = {
|
|
748
653
|
type: "checkbox";
|
|
749
|
-
checkbox:
|
|
750
|
-
id: string;
|
|
654
|
+
checkbox: EmptyObject;
|
|
751
655
|
};
|
|
752
656
|
export type CreatedByDatabasePropertyConfigResponse = {
|
|
753
657
|
type: "created_by";
|
|
754
658
|
created_by: EmptyObject;
|
|
755
|
-
id: string;
|
|
756
659
|
};
|
|
757
660
|
export type CreatedTimeDatabasePropertyConfigResponse = {
|
|
758
661
|
type: "created_time";
|
|
759
662
|
created_time: EmptyObject;
|
|
760
|
-
id: string;
|
|
761
663
|
};
|
|
762
664
|
export type LastEditedByDatabasePropertyConfigResponse = {
|
|
763
665
|
type: "last_edited_by";
|
|
764
666
|
last_edited_by: EmptyObject;
|
|
765
|
-
id: string;
|
|
766
667
|
};
|
|
767
668
|
export type LastEditedTimeDatabasePropertyConfigResponse = {
|
|
768
669
|
type: "last_edited_time";
|
|
769
670
|
last_edited_time: EmptyObject;
|
|
671
|
+
};
|
|
672
|
+
export type ButtonDatabasePropertyConfigResponse = {
|
|
673
|
+
type: "button";
|
|
674
|
+
button: EmptyObject;
|
|
675
|
+
};
|
|
676
|
+
export type VerificationDatabasePropertyConfigResponse = {
|
|
677
|
+
type: "verification";
|
|
678
|
+
verification: EmptyObject;
|
|
679
|
+
};
|
|
680
|
+
export type DatabasePropertyValue = {
|
|
770
681
|
id: string;
|
|
682
|
+
} & (SimpleOrArrayPropertyValueResponse | {
|
|
683
|
+
type: 'rollup';
|
|
684
|
+
rollup: RollupPropertyValueResponse;
|
|
685
|
+
});
|
|
686
|
+
export type SimpleOrArrayPropertyValueResponse = {
|
|
687
|
+
type: 'title';
|
|
688
|
+
title: Array<RichTextItemResponse>;
|
|
689
|
+
} | {
|
|
690
|
+
type: 'rich_text';
|
|
691
|
+
rich_text: Array<RichTextItemResponse>;
|
|
692
|
+
} | {
|
|
693
|
+
type: 'people';
|
|
694
|
+
people: Array<PartialUserObjectResponse>;
|
|
695
|
+
} | {
|
|
696
|
+
type: 'relation';
|
|
697
|
+
relation: Array<{
|
|
698
|
+
id: IdRequest;
|
|
699
|
+
}>;
|
|
700
|
+
} | {
|
|
701
|
+
type: 'number';
|
|
702
|
+
number: number | null;
|
|
703
|
+
} | {
|
|
704
|
+
type: 'url';
|
|
705
|
+
url: string | null;
|
|
706
|
+
} | {
|
|
707
|
+
type: 'select';
|
|
708
|
+
select: SelectPropertyResponse | null;
|
|
709
|
+
} | {
|
|
710
|
+
type: 'multi_select';
|
|
711
|
+
multi_select: Array<SelectPropertyResponse>;
|
|
712
|
+
} | {
|
|
713
|
+
type: 'status';
|
|
714
|
+
status: StatusPropertyResponse | null;
|
|
715
|
+
} | {
|
|
716
|
+
type: 'date';
|
|
717
|
+
date: DateResponse | null;
|
|
718
|
+
} | {
|
|
719
|
+
type: 'email';
|
|
720
|
+
email: string | null;
|
|
721
|
+
} | {
|
|
722
|
+
type: 'phone_number';
|
|
723
|
+
phone_number: string | null;
|
|
724
|
+
} | {
|
|
725
|
+
type: 'checkbox';
|
|
726
|
+
checkbox: boolean;
|
|
727
|
+
} | {
|
|
728
|
+
type: 'files';
|
|
729
|
+
files: Array<FileWithNameResponse>;
|
|
730
|
+
} | {
|
|
731
|
+
type: 'created_by';
|
|
732
|
+
created_by: PartialUserObjectResponse;
|
|
733
|
+
} | {
|
|
734
|
+
type: 'created_time';
|
|
735
|
+
created_time: string;
|
|
736
|
+
} | {
|
|
737
|
+
type: 'last_edited_by';
|
|
738
|
+
last_edited_by: PartialUserObjectResponse;
|
|
739
|
+
} | {
|
|
740
|
+
type: 'last_edited_time';
|
|
741
|
+
last_edited_time: string;
|
|
742
|
+
} | {
|
|
743
|
+
type: 'formula';
|
|
744
|
+
formula: FormulaPropertyValueResponse;
|
|
745
|
+
} | {
|
|
746
|
+
type: 'button';
|
|
747
|
+
button: EmptyObject;
|
|
748
|
+
} | {
|
|
749
|
+
type: 'unique_id';
|
|
750
|
+
unique_id: {
|
|
751
|
+
prefix: string | null;
|
|
752
|
+
number: number | null;
|
|
753
|
+
};
|
|
754
|
+
} | {
|
|
755
|
+
type: 'verification';
|
|
756
|
+
verification: VerificationPropertyValueResponse | null;
|
|
757
|
+
};
|
|
758
|
+
export type FileWithNameResponse = {
|
|
759
|
+
name: StringRequest;
|
|
760
|
+
} & ({
|
|
761
|
+
type: 'file';
|
|
762
|
+
file: {
|
|
763
|
+
url: string;
|
|
764
|
+
expiry_time: string;
|
|
765
|
+
};
|
|
766
|
+
} | {
|
|
767
|
+
type: 'external';
|
|
768
|
+
external: {
|
|
769
|
+
url: TextRequest;
|
|
770
|
+
};
|
|
771
|
+
});
|
|
772
|
+
export type FormulaPropertyValueResponse = {
|
|
773
|
+
type: 'string';
|
|
774
|
+
string: string | null;
|
|
775
|
+
} | {
|
|
776
|
+
type: 'date';
|
|
777
|
+
date: DateResponse | null;
|
|
778
|
+
} | {
|
|
779
|
+
type: 'number';
|
|
780
|
+
number: number | null;
|
|
781
|
+
} | {
|
|
782
|
+
type: 'boolean';
|
|
783
|
+
boolean: boolean | null;
|
|
784
|
+
} | {
|
|
785
|
+
type: 'unsupported';
|
|
786
|
+
unsupported: EmptyObject;
|
|
787
|
+
};
|
|
788
|
+
export type RollupPropertyValueResponse = {
|
|
789
|
+
function: RollupFunction;
|
|
790
|
+
} & ({
|
|
791
|
+
type: 'number';
|
|
792
|
+
number: number | null;
|
|
793
|
+
} | {
|
|
794
|
+
type: 'date';
|
|
795
|
+
date: DateResponse | null;
|
|
796
|
+
} | {
|
|
797
|
+
type: 'array';
|
|
798
|
+
array: Array<SimpleOrArrayPropertyValueResponse>;
|
|
799
|
+
} | {
|
|
800
|
+
type: 'unsupported';
|
|
801
|
+
unsupported: EmptyObject;
|
|
802
|
+
});
|
|
803
|
+
export type VerificationPropertyValueResponse = {
|
|
804
|
+
state: 'unverified';
|
|
805
|
+
date: null;
|
|
806
|
+
verified_by: null;
|
|
807
|
+
} | {
|
|
808
|
+
state: 'verified' | 'expired';
|
|
809
|
+
date: DateResponse | null;
|
|
810
|
+
verified_by: PartialUserObjectResponse | null;
|
|
771
811
|
};
|
|
772
812
|
export type ImagePathWithSize = {
|
|
773
813
|
path: string;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { DatabasePropertyConfigResponse } from './types.js';
|
|
2
|
+
export type QueryProperties = Record<string, DatabasePropertyConfigResponse>;
|
|
3
|
+
export interface ValidateQueryArgs {
|
|
4
|
+
properties?: QueryProperties | undefined;
|
|
5
|
+
filter?: unknown;
|
|
6
|
+
sorts?: unknown;
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* validateQuery checks a query against the database properties and returns
|
|
10
|
+
* human readable messages for every problem it finds. The Notion API rejects
|
|
11
|
+
* such a query with a validation error that does not tell which part of the
|
|
12
|
+
* query is wrong, so this runs before the request is sent.
|
|
13
|
+
*/
|
|
14
|
+
export declare const validateQuery: ({ properties, filter, sorts }: ValidateQueryArgs) => string[];
|
|
15
|
+
export declare const buildQueryValidationMessage: (target: string, errors: string[]) => string;
|