rotion 3.5.7 → 3.6.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/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 +2 -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/Table/TableHandler.js +2 -1
- package/dist/ui/esm/components/Table/TableHandler.js.map +1 -1
- package/dist/ui/esm/components/lib.js +5 -0
- package/dist/ui/esm/components/lib.js.map +1 -1
- package/package.json +1 -1
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":"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"}
|
|
@@ -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":"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,EACL,mBAAmB,GACpB,MAAM,gBAAgB,CAAA;AACvB,OAAO,EACL,aAAa,EACb,2BAA2B,GAC5B,MAAM,iBAAiB,CAAA;AACxB,OAAO,EACL,IAAI,EACJ,qBAAqB,EACrB,SAAS,EACT,SAAS,EACT,UAAU,EACV,gBAAgB,EAChB,OAAO,GACR,MAAM,YAAY,CAAA;AAQnB,OAAO,EACL,aAAa,EACb,YAAY,GACb,MAAM,WAAW,CAAA;AAClB,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AASzC,MAAM,aAAa,GAAG,CAAC,IAA2B,EAAE,WAAmB,EAAU,EAAE;IACjF,MAAM,KAAK,GAAG,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAA;IACvE,OAAO,KAAK,KAAK,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,WAAW,GAAG,CAAA;AACnE,CAAC,CAAA;AAED;;;GAGG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,KAAK,EAAE,CAAoB,EAA6B,EAAE;IACrF,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAA;IAC5C,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,CAAA;IAC9B,MAAM,KAAK,GAAG,CAAC,WAAW,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAA;IACpE,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAA;IAE/C,MAAM,qBAAqB,CAAC,QAAQ,CAAC,CAAA;IACrC,MAAM,SAAS,GAAG,GAAG,QAAQ,2BAA2B,UAAU,GAAG,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,UAAU,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAA;IACnH,MAAM,OAAO,GAAG,YAAY,UAAU,EAAE,CAAA;IAExC,OAAO,YAAY,CAAC,OAAO,EAAE,KAAK,IAAI,EAAE;QACtC,IAAI,MAAyC,CAAA;QAC7C,IAAI,GAAsC,CAAA;QAE1C,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,MAAM,SAAS,CAA0B,SAAS,CAAC,CAAA;YAChE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;gBACnB,IAAI,CAAC,gBAAgB,EAAE,CAAC;oBACtB,IAAI,KAAK,EAAE,CAAC;wBACV,OAAO,CAAC,GAAG,CAAC,2DAA2D,SAAS,EAAE,CAAC,CAAA;oBACrF,CAAC;oBACD,OAAO,IAAI,CAAA;gBACb,CAAC;gBACD,IAAI,MAAM,gBAAgB,CAAC,SAAS,CAAC,EAAE,CAAC;oBACtC,IAAI,KAAK,EAAE,CAAC;wBACV,OAAO,CAAC,GAAG,CAAC,2CAA2C,SAAS,EAAE,CAAC,CAAA;oBACrE,CAAC;oBACD,OAAO,IAAI,CAAA;gBACb,CAAC;gBACD,IAAI,KAAK,EAAE,CAAC;oBACV,OAAO,CAAC,GAAG,CAAC,6EAA6E,SAAS,EAAE,CAAC,CAAA;gBACvG,CAAC;YACH,CAAC;QACH,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,eAAe;QACjB,CAAC;QAED,yDAAyD;QACzD,MAAM,IAAI,GAAG,MAAM,iBAAiB,CAAwB;YAC1D,IAAI,EAAE,MAAM,CAAC,SAAS,CAAC,QAAQ;YAC/B,IAAI,EAAE,EAAE,WAAW,EAAE;YACrB,KAAK,EAAE,CAAC;SACT,CAAC,CAAA;QAEF,oDAAoD;QACpD,IAAI,CAAC,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzD,MAAM,IAAI,KAAK,CAAC,sCAAsC,WAAW,EAAE,CAAC,CAAA;QACtE,CAAC;QACD,MAAM,cAAc,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;QAE9C,6CAA6C;QAC7C,MAAM,UAAU,GAAG,MAAM,iBAAiB,CAAM;YAC9C,IAAI,EAAE,MAAM,CAAC,WAAW,CAAC,QAAQ;YACjC,IAAI,EAAE,EAAE,cAAc,EAAE;YACxB,KAAK,EAAE,CAAC;SACT,CAAC,CAAA;QACF,oDAAoD;QACpD,IAAI,UAAU,IAAI,UAAU,CAAC,UAAU,EAAE,CAAC;YACxC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC,UAAU,CAAA;QACzC,CAAC;QAED,yEAAyE;QACzE,IAAI,CAAC,mBAAmB,EAAE,CAAC;YACzB,MAAM,MAAM,GAAG,aAAa,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,CAAA;YACzG,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACtB,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,YAAY,aAAa,CAAC,IAAI,EAAE,WAAW,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC,CAAA;YACtG,CAAC;QACH,CAAC;QAED,sDAAsD;QACtD,MAAM,WAAW,GAAG,EAAE,GAAG,MAAM,EAAE,cAAc,EAAE,CAAA;QACjD,OAAQ,WAAmB,CAAC,WAAW,CAAA;QAEvC,OAAO,IAAI,EAAE,CAAC;YACZ,IAAI,GAAG,IAAI,GAAG,CAAC,WAAW,EAAE,CAAC;gBAC3B,WAAW,CAAC,YAAY,GAAG,GAAG,CAAC,WAAW,CAAA;YAC5C,CAAC;YACD,GAAG,GAAG,MAAM,iBAAiB,CAA0B;gBACrD,IAAI,EAAE,MAAM,CAAC,WAAW,CAAC,KAAK;gBAC9B,IAAI,EAAE,WAAW;gBACjB,KAAK,EAAE,CAAC;aACT,CAAC,CAAA;YACF,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;gBACzB,MAAM,GAAG,GAAG,CAAA;YACd,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,OAAO,CAAC,CAAA;YACrC,CAAC;YACD,IAAI,GAAG,CAAC,WAAW,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;gBACpD,MAAK;YACP,CAAC;QACH,CAAC;QAED,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YACpC,MAAM,IAAI,GAAyB,MAAM,CAAA;YACzC,MAAM,aAAa,CAAC,IAAI,CAAC,CAAA;YACzB,MAAM,YAAY,CAAC,IAAI,CAAC,CAAA;YACxB,KAAK,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;gBACpD,sCAAsC;gBACtC,IAAI,CAAC,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;oBACxB,MAAM,OAAO,GAAG,CAAC,CAAC,MAAiD,CAAA;oBACnE,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;wBAC7B,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;4BACtB,IAAI,CAAC;gCACH,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,MAAM,CAAC,UAAU,EAAE,mBAAmB,MAAM,CAAC,EAAE,EAAE,CAAC,CAAA;gCAC/E,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,IAAI,CAAA;4BAC3B,CAAC;4BAAC,OAAO,CAAC,EAAE,CAAC;gCACX,IAAI,KAAK,EAAE,CAAC;oCACV,OAAO,CAAC,GAAG,CAAC,iCAAiC,CAAC,EAAE,CAAC,CAAA;gCACnD,CAAC;4BACH,CAAC;wBACH,CAAC;oBACH,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAED,MAAM,iBAAiB,CAAC,IAAI,CAAC,CAAA;QAC7B,MAAM,gBAAgB,CAAC,IAAI,CAAC,CAAA;QAC5B,MAAM,CAAC,IAAI,GAAG,IAAI,CAAA;QAElB,MAAM,UAAU,CAAC,SAAS,EAAE,MAAM,CAAC,CAAA;QAEnC,OAAO,MAAM,CAAA;IACf,CAAC,CAAC,CAAA;AACJ,CAAC,CAAA;AAED,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,EAAyB;IAC/D,IAAI,EAAE,CAAC,KAAK,KAAK,SAAS,IAAI,EAAE,CAAC,KAAK,KAAK,IAAI,EAAE,CAAC;QAChD,OAAM;IACR,CAAC;IACD,IAAI,CAAC;QACH,IAAI,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;YACjC,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,EAAE,kBAAkB,EAAE,CAAC,EAAE,EAAE,CAAC,CAAA;YAC9E,EAAE,CAAC,KAAK,CAAC,GAAG,GAAG,IAAI,CAAC,IAAI,CAAA;QAC1B,CAAC;aAAM,IAAI,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YACpC,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,kBAAkB,EAAE,CAAC,EAAE,EAAE,CAAC,CAAA;YAC1E,EAAE,CAAC,KAAK,CAAC,GAAG,GAAG,IAAI,CAAC,IAAI,CAAA;QAC1B,CAAC;IACH,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,IAAI,KAAK,EAAE,CAAC;YACV,OAAO,CAAC,GAAG,CAAC,kCAAkC,CAAC,EAAE,CAAC,CAAA;QACpD,CAAC;IACH,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,EAAyB;IAC9D,IAAI,EAAE,CAAC,IAAI,KAAK,SAAS,IAAI,EAAE,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;QAC9C,OAAM;IACR,CAAC;IACD,IAAI,CAAC;QACH,IAAI,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;YAChC,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,iBAAiB,EAAE,CAAC,EAAE,EAAE,CAAC,CAAA;YAC5E,EAAE,CAAC,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,IAAI,CAAA;QACzB,CAAC;aAAM,IAAI,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YACnC,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,iBAAiB,EAAE,CAAC,EAAE,EAAE,CAAC,CAAA;YACxE,EAAE,CAAC,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,IAAI,CAAA;QACzB,CAAC;aAAM,IAAI,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YACnC,MAAM,GAAG,GAAG,gBAAgB,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;YAC1C,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,GAAG,EAAE,iBAAiB,EAAE,CAAC,EAAE,EAAE,CAAC,CAC1D;YAAC,EAAU,CAAC,IAAI,GAAG,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,IAAI,EAAE,CAAA;QAC7E,CAAC;IACH,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,IAAI,KAAK,EAAE,CAAC;YACV,OAAO,CAAC,GAAG,CAAC,iCAAiC,CAAC,EAAE,CAAC,CAAA;QACnD,CAAC;IACH,CAAC;AACH,CAAC"}
|
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;
|
|
@@ -0,0 +1,180 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Filter keys that the Notion API accepts for each property type.
|
|
3
|
+
* The first key is the canonical one, the rest are aliases Notion also accepts.
|
|
4
|
+
*/
|
|
5
|
+
const filterKeysByPropertyType = {
|
|
6
|
+
title: ['title', 'rich_text'],
|
|
7
|
+
rich_text: ['rich_text', 'title'],
|
|
8
|
+
url: ['url', 'rich_text'],
|
|
9
|
+
email: ['email', 'rich_text'],
|
|
10
|
+
phone_number: ['phone_number', 'rich_text'],
|
|
11
|
+
number: ['number'],
|
|
12
|
+
checkbox: ['checkbox'],
|
|
13
|
+
select: ['select'],
|
|
14
|
+
multi_select: ['multi_select'],
|
|
15
|
+
status: ['status'],
|
|
16
|
+
date: ['date'],
|
|
17
|
+
created_time: ['created_time', 'date'],
|
|
18
|
+
last_edited_time: ['last_edited_time', 'date'],
|
|
19
|
+
last_visited_time: ['last_visited_time', 'date'],
|
|
20
|
+
people: ['people'],
|
|
21
|
+
created_by: ['created_by', 'people'],
|
|
22
|
+
last_edited_by: ['last_edited_by', 'people'],
|
|
23
|
+
files: ['files'],
|
|
24
|
+
relation: ['relation'],
|
|
25
|
+
formula: ['formula'],
|
|
26
|
+
rollup: ['rollup'],
|
|
27
|
+
unique_id: ['unique_id'],
|
|
28
|
+
verification: ['verification'],
|
|
29
|
+
};
|
|
30
|
+
/** Conditions whose value is an option name of a select/multi_select/status property. */
|
|
31
|
+
const optionValueConditions = ['equals', 'does_not_equal', 'contains', 'does_not_contain'];
|
|
32
|
+
const quotedList = (values, max = 20) => {
|
|
33
|
+
if (values.length === 0) {
|
|
34
|
+
return 'none';
|
|
35
|
+
}
|
|
36
|
+
const shown = values.slice(0, max).map(v => `"${v}"`).join(', ');
|
|
37
|
+
return values.length > max ? `${shown}, ... (${values.length} in total)` : shown;
|
|
38
|
+
};
|
|
39
|
+
const findProperty = (properties, nameOrId) => {
|
|
40
|
+
const byName = properties[nameOrId];
|
|
41
|
+
if (byName !== undefined) {
|
|
42
|
+
return byName;
|
|
43
|
+
}
|
|
44
|
+
// Notion also accepts a property id instead of a property name
|
|
45
|
+
for (const prop of Object.values(properties)) {
|
|
46
|
+
if (prop.id === nameOrId) {
|
|
47
|
+
return prop;
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
return undefined;
|
|
51
|
+
};
|
|
52
|
+
/** Returns option names when the property has selectable options, otherwise undefined. */
|
|
53
|
+
const optionNamesOf = (prop) => {
|
|
54
|
+
switch (prop.type) {
|
|
55
|
+
case 'select':
|
|
56
|
+
return prop.select.options.map(o => o.name);
|
|
57
|
+
case 'multi_select':
|
|
58
|
+
return prop.multi_select.options.map(o => o.name);
|
|
59
|
+
case 'status':
|
|
60
|
+
return prop.status.options.map(o => o.name);
|
|
61
|
+
default:
|
|
62
|
+
return undefined;
|
|
63
|
+
}
|
|
64
|
+
};
|
|
65
|
+
const validateCondition = (prop, condition, path, errors) => {
|
|
66
|
+
const options = optionNamesOf(prop);
|
|
67
|
+
if (options === undefined || condition === null || typeof condition !== 'object') {
|
|
68
|
+
return;
|
|
69
|
+
}
|
|
70
|
+
for (const [key, value] of Object.entries(condition)) {
|
|
71
|
+
if (!optionValueConditions.includes(key) || typeof value !== 'string') {
|
|
72
|
+
continue;
|
|
73
|
+
}
|
|
74
|
+
if (!options.includes(value)) {
|
|
75
|
+
errors.push(`${path}.${key}: "${value}" is not an option of the "${prop.name}" property -- available options: ${quotedList(options)}`);
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
};
|
|
79
|
+
const validateFilter = (properties, filter, path, errors) => {
|
|
80
|
+
if (filter === null || typeof filter !== 'object' || Array.isArray(filter)) {
|
|
81
|
+
errors.push(`${path}: must be an object`);
|
|
82
|
+
return;
|
|
83
|
+
}
|
|
84
|
+
const f = filter;
|
|
85
|
+
let compounded = false;
|
|
86
|
+
for (const key of ['and', 'or']) {
|
|
87
|
+
const children = f[key];
|
|
88
|
+
if (children === undefined) {
|
|
89
|
+
continue;
|
|
90
|
+
}
|
|
91
|
+
compounded = true;
|
|
92
|
+
if (!Array.isArray(children)) {
|
|
93
|
+
errors.push(`${path}.${key}: must be an array of filters`);
|
|
94
|
+
continue;
|
|
95
|
+
}
|
|
96
|
+
children.forEach((child, i) => validateFilter(properties, child, `${path}.${key}[${i}]`, errors));
|
|
97
|
+
}
|
|
98
|
+
if (compounded) {
|
|
99
|
+
return;
|
|
100
|
+
}
|
|
101
|
+
// A timestamp filter has no property, e.g. { timestamp: 'created_time', created_time: {...} }
|
|
102
|
+
if (typeof f['timestamp'] === 'string') {
|
|
103
|
+
return;
|
|
104
|
+
}
|
|
105
|
+
const name = f['property'];
|
|
106
|
+
if (typeof name !== 'string') {
|
|
107
|
+
errors.push(`${path}: "property" is required -- available properties: ${quotedList(Object.keys(properties))}`);
|
|
108
|
+
return;
|
|
109
|
+
}
|
|
110
|
+
const prop = findProperty(properties, name);
|
|
111
|
+
if (prop === undefined) {
|
|
112
|
+
errors.push(`${path}: property "${name}" does not exist in the database -- available properties: ${quotedList(Object.keys(properties))}`);
|
|
113
|
+
return;
|
|
114
|
+
}
|
|
115
|
+
const conditionKeys = Object.keys(f).filter(k => k !== 'property');
|
|
116
|
+
if (conditionKeys.length === 0) {
|
|
117
|
+
errors.push(`${path}: property "${prop.name}" has no condition, "${prop.type}" is expected`);
|
|
118
|
+
return;
|
|
119
|
+
}
|
|
120
|
+
const allowedKeys = filterKeysByPropertyType[prop.type] ?? [prop.type];
|
|
121
|
+
for (const key of conditionKeys) {
|
|
122
|
+
if (!allowedKeys.includes(key)) {
|
|
123
|
+
errors.push(`${path}: property "${prop.name}" is a "${prop.type}" property, but the filter uses "${key}" -- "${allowedKeys[0]}" is expected`);
|
|
124
|
+
continue;
|
|
125
|
+
}
|
|
126
|
+
validateCondition(prop, f[key], `${path}.${key}`, errors);
|
|
127
|
+
}
|
|
128
|
+
};
|
|
129
|
+
const validateSorts = (properties, sorts, errors) => {
|
|
130
|
+
if (!Array.isArray(sorts)) {
|
|
131
|
+
errors.push('sorts: must be an array');
|
|
132
|
+
return;
|
|
133
|
+
}
|
|
134
|
+
sorts.forEach((sort, i) => {
|
|
135
|
+
const path = `sorts[${i}]`;
|
|
136
|
+
if (sort === null || typeof sort !== 'object' || Array.isArray(sort)) {
|
|
137
|
+
errors.push(`${path}: must be an object`);
|
|
138
|
+
return;
|
|
139
|
+
}
|
|
140
|
+
const s = sort;
|
|
141
|
+
if (s['timestamp'] !== undefined) {
|
|
142
|
+
return;
|
|
143
|
+
}
|
|
144
|
+
const name = s['property'];
|
|
145
|
+
if (typeof name !== 'string') {
|
|
146
|
+
errors.push(`${path}: "property" or "timestamp" is required -- available properties: ${quotedList(Object.keys(properties))}`);
|
|
147
|
+
return;
|
|
148
|
+
}
|
|
149
|
+
if (findProperty(properties, name) === undefined) {
|
|
150
|
+
errors.push(`${path}: property "${name}" does not exist in the database -- available properties: ${quotedList(Object.keys(properties))}`);
|
|
151
|
+
}
|
|
152
|
+
});
|
|
153
|
+
};
|
|
154
|
+
/**
|
|
155
|
+
* validateQuery checks a query against the database properties and returns
|
|
156
|
+
* human readable messages for every problem it finds. The Notion API rejects
|
|
157
|
+
* such a query with a validation error that does not tell which part of the
|
|
158
|
+
* query is wrong, so this runs before the request is sent.
|
|
159
|
+
*/
|
|
160
|
+
export const validateQuery = ({ properties, filter, sorts }) => {
|
|
161
|
+
const errors = [];
|
|
162
|
+
if (properties === undefined || Object.keys(properties).length === 0) {
|
|
163
|
+
return errors;
|
|
164
|
+
}
|
|
165
|
+
if (filter !== undefined) {
|
|
166
|
+
validateFilter(properties, filter, 'filter', errors);
|
|
167
|
+
}
|
|
168
|
+
if (sorts !== undefined) {
|
|
169
|
+
validateSorts(properties, sorts, errors);
|
|
170
|
+
}
|
|
171
|
+
return errors;
|
|
172
|
+
};
|
|
173
|
+
export const buildQueryValidationMessage = (target, errors) => {
|
|
174
|
+
return [
|
|
175
|
+
`invalid query for ${target}:`,
|
|
176
|
+
...errors.map(e => ` - ${e}`),
|
|
177
|
+
'The notion api rejects this query. Fix the query, or set ROTION_SKIP_QUERY_VALIDATION=true to skip this validation.',
|
|
178
|
+
].join('\n');
|
|
179
|
+
};
|
|
180
|
+
//# sourceMappingURL=validation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validation.js","sourceRoot":"","sources":["../../src/exporter/validation.ts"],"names":[],"mappings":"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"}
|
|
@@ -11,6 +11,7 @@ export declare const fileDir: string;
|
|
|
11
11
|
export declare const timeout: number;
|
|
12
12
|
export declare const webpQuality: number;
|
|
13
13
|
export declare const debug: boolean;
|
|
14
|
+
export declare const skipQueryValidation: boolean;
|
|
14
15
|
export declare const maxRedirects: number;
|
|
15
16
|
export declare const userAgent: string;
|
|
16
17
|
export declare const isSkipDownload: () => boolean;
|
|
@@ -13,6 +13,7 @@ export const fileDir = process.env.ROTION_FILEDIR || 'files';
|
|
|
13
13
|
export const timeout = process.env.ROTION_TIMEOUT ? parseInt(process.env.ROTION_TIMEOUT) : 1500;
|
|
14
14
|
export const webpQuality = process.env.ROTION_WEBP_QUALITY ? parseInt(process.env.ROTION_WEBP_QUALITY) : 95;
|
|
15
15
|
export const debug = process.env.ROTION_DEBUG === 'true';
|
|
16
|
+
export const skipQueryValidation = process.env.ROTION_SKIP_QUERY_VALIDATION === 'true';
|
|
16
17
|
export const maxRedirects = process.env.ROTION_MAX_REDIRECTS ? parseInt(process.env.ROTION_MAX_REDIRECTS) : 5;
|
|
17
18
|
export const userAgent = process.env.ROTION_UA || `${pkg.name}/${pkg.version}`;
|
|
18
19
|
// For testing purposes only: Skip actual file downloads in saveImage/saveFile
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"variables.js","sourceRoot":"","sources":["../../src/exporter/variables.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,IAAI,CAAA;AACjC,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,gBAAgB,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAA;AAEjE,MAAM,CAAC,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,QAAQ,CAAA;AAC/D,MAAM,CAAC,MAAM,cAAc,GAAG,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;AACrG,MAAM,CAAC,MAAM,qBAAqB,GAAG,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,CAAA;AACpI,MAAM,CAAC,MAAM,gBAAgB,GAAG,OAAO,CAAC,GAAG,CAAC,wBAAwB,KAAK,MAAM,CAAA;AAC/E,MAAM,CAAC,MAAM,sBAAsB,GAAG,OAAO,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,IAAI,CAAA;AACzJ,MAAM,CAAC,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,YAAY,CAAA;AAC5C,MAAM,CAAC,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC,aAAa,CAAA;AACrD,MAAM,CAAC,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,cAAc,IAAI,QAAQ,CAAA;AAC7D,MAAM,CAAC,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,QAAQ,CAAA;AAC/D,MAAM,CAAC,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,cAAc,IAAI,OAAO,CAAA;AAC5D,MAAM,CAAC,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;AAC/F,MAAM,CAAC,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;AAC3G,MAAM,CAAC,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,YAAY,KAAK,MAAM,CAAA;AACxD,MAAM,CAAC,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;AAC7G,MAAM,CAAC,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,SAAS,IAAI,GAAG,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,OAAO,EAAE,CAAA;AAC9E,8EAA8E;AAC9E,MAAM,CAAC,MAAM,cAAc,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,oBAAoB,KAAK,MAAM,CAAA;AAC/E,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,OAAO;IACP,OAAO,EAAE;QACP,YAAY,EAAE,GAAG,SAAS,EAAE;QAC5B,MAAM,EAAE,KAAK;KACd;CACF,CAAA"}
|
|
1
|
+
{"version":3,"file":"variables.js","sourceRoot":"","sources":["../../src/exporter/variables.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,IAAI,CAAA;AACjC,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,gBAAgB,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAA;AAEjE,MAAM,CAAC,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,QAAQ,CAAA;AAC/D,MAAM,CAAC,MAAM,cAAc,GAAG,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;AACrG,MAAM,CAAC,MAAM,qBAAqB,GAAG,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,CAAA;AACpI,MAAM,CAAC,MAAM,gBAAgB,GAAG,OAAO,CAAC,GAAG,CAAC,wBAAwB,KAAK,MAAM,CAAA;AAC/E,MAAM,CAAC,MAAM,sBAAsB,GAAG,OAAO,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,IAAI,CAAA;AACzJ,MAAM,CAAC,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,YAAY,CAAA;AAC5C,MAAM,CAAC,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC,aAAa,CAAA;AACrD,MAAM,CAAC,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,cAAc,IAAI,QAAQ,CAAA;AAC7D,MAAM,CAAC,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,QAAQ,CAAA;AAC/D,MAAM,CAAC,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,cAAc,IAAI,OAAO,CAAA;AAC5D,MAAM,CAAC,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;AAC/F,MAAM,CAAC,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;AAC3G,MAAM,CAAC,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,YAAY,KAAK,MAAM,CAAA;AACxD,MAAM,CAAC,MAAM,mBAAmB,GAAG,OAAO,CAAC,GAAG,CAAC,4BAA4B,KAAK,MAAM,CAAA;AACtF,MAAM,CAAC,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;AAC7G,MAAM,CAAC,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,SAAS,IAAI,GAAG,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,OAAO,EAAE,CAAA;AAC9E,8EAA8E;AAC9E,MAAM,CAAC,MAAM,cAAc,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,oBAAoB,KAAK,MAAM,CAAA;AAC/E,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,OAAO;IACP,OAAO,EAAE;QACP,YAAY,EAAE,GAAG,SAAS,EAAE;QAC5B,MAAM,EAAE,KAAK;KACd;CACF,CAAA"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import type { GallerySelectFieldProps } from './GallerySelectField.types';
|
|
2
2
|
|
|
3
|
-
declare const GalleryMultiSelectField: ({ select, options }: GallerySelectFieldProps) => import("react").JSX.Element;
|
|
3
|
+
declare const GalleryMultiSelectField: ({ select, options }: GallerySelectFieldProps) => import("react").JSX.Element | null;
|
|
4
4
|
export default GalleryMultiSelectField;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { SelectPropertyResponse } from '../../../../exporter/index.js';
|
|
2
2
|
import type { GalleryPropertyOptions } from '../GalleryCard/GalleryHandler.types';
|
|
3
3
|
export interface GallerySelectFieldProps {
|
|
4
|
-
select: SelectPropertyResponse;
|
|
4
|
+
select: SelectPropertyResponse | null;
|
|
5
5
|
options?: GalleryPropertyOptions;
|
|
6
6
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { SelectPropertyResponse } from '../../../../exporter/index.js';
|
|
2
2
|
import type { ListPropertyOptions } from '../ListHandler.types';
|
|
3
3
|
export interface ListSelectFieldProps {
|
|
4
|
-
select: SelectPropertyResponse;
|
|
4
|
+
select: SelectPropertyResponse | null;
|
|
5
5
|
options?: ListPropertyOptions;
|
|
6
6
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { SelectPropertyResponse } from '../../../../exporter/index.js';
|
|
2
2
|
import type { TablePropertyOptions } from '../TableHandler.types';
|
|
3
3
|
export interface TableSelectFieldProps {
|
|
4
|
-
select: SelectPropertyResponse;
|
|
4
|
+
select: SelectPropertyResponse | null;
|
|
5
5
|
options?: TablePropertyOptions;
|
|
6
6
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { ParsedUrlQueryInput } from 'node:querystring';
|
|
2
|
-
import type { GetPageResponse, ListBlockChildrenResponseEx } from '../../exporter/index.js';
|
|
2
|
+
import type { FormulaPropertyValueResponse, GetPageResponse, ListBlockChildrenResponseEx } from '../../exporter/index.js';
|
|
3
3
|
export declare function queryToString(q: ParsedUrlQueryInput | undefined): string;
|
|
4
4
|
export declare const getLinkPathAndLinkKey: (link: string) => [string, string];
|
|
5
5
|
export declare function getSlug(key: string, page: GetPageResponse): string;
|
|
@@ -16,6 +16,7 @@ export declare function getDatetimeFormat(lang?: string): {
|
|
|
16
16
|
timeF: string;
|
|
17
17
|
};
|
|
18
18
|
export declare function richTextKey(plainText: string | undefined, index: number): string;
|
|
19
|
+
export declare function formulaNumber(formula: FormulaPropertyValueResponse): number | null;
|
|
19
20
|
export declare function splitUrl(url: string): {
|
|
20
21
|
domain: string;
|
|
21
22
|
omittedPath: string;
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
3
|
+
import { formulaNumber } from '../../lib.js';
|
|
3
4
|
import GalleryCheckboxField from '../GalleryCheckboxField/GalleryCheckboxField.js';
|
|
4
5
|
import GalleryDateField from '../GalleryDateField/GalleryDateField.js';
|
|
5
6
|
import GalleryFormulaField from '../GalleryFormulaField/GalleryFormulaField.js';
|
|
@@ -32,7 +33,7 @@ const GalleryHandler = ({ property, options }) => {
|
|
|
32
33
|
case 'number':
|
|
33
34
|
return _jsx(GalleryNumberField, { number: property.number, options: options });
|
|
34
35
|
case 'formula':
|
|
35
|
-
return _jsx(GalleryFormulaField, { number: property.formula
|
|
36
|
+
return _jsx(GalleryFormulaField, { number: formulaNumber(property.formula), options: options });
|
|
36
37
|
default:
|
|
37
38
|
console.log('unsupport database property:', property);
|
|
38
39
|
return null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GalleryHandler.js","sourceRoot":"","sources":["../../../../../../../src/ui/components/Gallery/GalleryCard/GalleryHandler.tsx"],"names":[],"mappings":";AAAA,OAAO,oBAAoB,MAAM,iDAAiD,CAAA;AAClF,OAAO,gBAAgB,MAAM,yCAAyC,CAAA;AACtE,OAAO,mBAAmB,MAAM,+CAA+C,CAAA;AAC/E,OAAO,uBAAuB,MAAM,uDAAuD,CAAA;AAC3F,OAAO,kBAAkB,MAAM,6CAA6C,CAAA;AAC5E,OAAO,oBAAoB,MAAM,iDAAiD,CAAA;AAClF,OAAO,kBAAkB,MAAM,6CAA6C,CAAA;AAC5E,OAAO,iBAAiB,MAAM,2CAA2C,CAAA;AACzE,OAAO,eAAe,MAAM,uCAAuC,CAAA;AAGnE,MAAM,cAAc,GAAG,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAuB,EAAE,EAAE;IACpE,IAAI,EAAC,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,IAAI,CAAA,EAAE,CAAC;QACpB,OAAO,CAAC,GAAG,CAAC,qCAAqC,EAAE,QAAQ,CAAC,CAAA;QAC5D,OAAO,IAAI,CAAA;IACb,CAAC;IAED,QAAQ,QAAQ,CAAC,IAAI,EAAE,CAAC;QACtB,KAAK,OAAO;YACV,OAAO,KAAC,iBAAiB,IAAC,WAAW,EAAE,QAAQ,CAAC,KAAY,GAAI,CAAA;QAClE,KAAK,WAAW;YACd,OAAO,KAAC,oBAAoB,IAAC,WAAW,EAAE,QAAQ,CAAC,SAAgB,GAAI,CAAA;QACzE,KAAK,cAAc;YACjB,OAAO,KAAC,uBAAuB,IAAC,WAAW,EAAE,QAAQ,CAAC,YAAY,EAAE,OAAO,EAAE,OAAO,GAAI,CAAA;QAC1F,KAAK,QAAQ;YACX,OAAO,KAAC,kBAAkB,IAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,GAAI,CAAA;QAC1E,KAAK,MAAM;YACT,OAAO,KAAC,gBAAgB,IAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,GAAI,CAAA;QAClD,KAAK,KAAK;YACR,OAAO,KAAC,eAAe,IAAC,GAAG,EAAE,QAAQ,CAAC,GAAG,GAAI,CAAA;QAC/C,KAAK,UAAU;YACb,OAAO,KAAC,oBAAoB,IAAC,OAAO,EAAE,QAAQ,CAAC,QAAQ,EAAE,OAAO,EAAE,OAAO,GAAI,CAAA;QAC/E,KAAK,QAAQ;YACX,OAAO,KAAC,kBAAkB,IAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,GAAI,CAAA;QAC1E,KAAK,SAAS;YACZ,OAAO,KAAC,mBAAmB,IAAC,MAAM,EAAE,QAAQ,CAAC,OAAO,CAAC,
|
|
1
|
+
{"version":3,"file":"GalleryHandler.js","sourceRoot":"","sources":["../../../../../../../src/ui/components/Gallery/GalleryCard/GalleryHandler.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AAC5C,OAAO,oBAAoB,MAAM,iDAAiD,CAAA;AAClF,OAAO,gBAAgB,MAAM,yCAAyC,CAAA;AACtE,OAAO,mBAAmB,MAAM,+CAA+C,CAAA;AAC/E,OAAO,uBAAuB,MAAM,uDAAuD,CAAA;AAC3F,OAAO,kBAAkB,MAAM,6CAA6C,CAAA;AAC5E,OAAO,oBAAoB,MAAM,iDAAiD,CAAA;AAClF,OAAO,kBAAkB,MAAM,6CAA6C,CAAA;AAC5E,OAAO,iBAAiB,MAAM,2CAA2C,CAAA;AACzE,OAAO,eAAe,MAAM,uCAAuC,CAAA;AAGnE,MAAM,cAAc,GAAG,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAuB,EAAE,EAAE;IACpE,IAAI,EAAC,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,IAAI,CAAA,EAAE,CAAC;QACpB,OAAO,CAAC,GAAG,CAAC,qCAAqC,EAAE,QAAQ,CAAC,CAAA;QAC5D,OAAO,IAAI,CAAA;IACb,CAAC;IAED,QAAQ,QAAQ,CAAC,IAAI,EAAE,CAAC;QACtB,KAAK,OAAO;YACV,OAAO,KAAC,iBAAiB,IAAC,WAAW,EAAE,QAAQ,CAAC,KAAY,GAAI,CAAA;QAClE,KAAK,WAAW;YACd,OAAO,KAAC,oBAAoB,IAAC,WAAW,EAAE,QAAQ,CAAC,SAAgB,GAAI,CAAA;QACzE,KAAK,cAAc;YACjB,OAAO,KAAC,uBAAuB,IAAC,WAAW,EAAE,QAAQ,CAAC,YAAY,EAAE,OAAO,EAAE,OAAO,GAAI,CAAA;QAC1F,KAAK,QAAQ;YACX,OAAO,KAAC,kBAAkB,IAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,GAAI,CAAA;QAC1E,KAAK,MAAM;YACT,OAAO,KAAC,gBAAgB,IAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,GAAI,CAAA;QAClD,KAAK,KAAK;YACR,OAAO,KAAC,eAAe,IAAC,GAAG,EAAE,QAAQ,CAAC,GAAG,GAAI,CAAA;QAC/C,KAAK,UAAU;YACb,OAAO,KAAC,oBAAoB,IAAC,OAAO,EAAE,QAAQ,CAAC,QAAQ,EAAE,OAAO,EAAE,OAAO,GAAI,CAAA;QAC/E,KAAK,QAAQ;YACX,OAAO,KAAC,kBAAkB,IAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,GAAI,CAAA;QAC1E,KAAK,SAAS;YACZ,OAAO,KAAC,mBAAmB,IAAC,MAAM,EAAE,aAAa,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,OAAO,GAAI,CAAA;QAC3F;YACE,OAAO,CAAC,GAAG,CAAC,8BAA8B,EAAE,QAAQ,CAAC,CAAA;YACrD,OAAO,IAAI,CAAA;IACf,CAAC;AACH,CAAC,CAAA;AAED,eAAe,cAAc,CAAA"}
|
|
@@ -3,6 +3,9 @@ import { jsx as _jsx } from "react/jsx-runtime";
|
|
|
3
3
|
import LinkedTagIfLinked from './LinkedTag.js';
|
|
4
4
|
|
|
5
5
|
const GalleryMultiSelectField = ({ select, options }) => {
|
|
6
|
+
if (!select) {
|
|
7
|
+
return null;
|
|
8
|
+
}
|
|
6
9
|
const { name, color } = select;
|
|
7
10
|
const { pathname, link, query } = options || {};
|
|
8
11
|
return (_jsx("div", { className: "rotion-gallery-select", children: _jsx("span", { className: `rotion-gallery-select-wrapper rotion-gallery-select-${color}`, children: _jsx(LinkedTagIfLinked, { pathname: pathname ? `${pathname}/${encodeURIComponent(name)}` : undefined, link: link, query: query, children: name }) }) }));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GallerySelectField.js","sourceRoot":"","sources":["../../../../../../../src/ui/components/Gallery/GallerySelectField/GallerySelectField.tsx"],"names":[],"mappings":";AACA,OAAO,iBAAiB,MAAM,gBAAgB,CAAA;AAC9C,OAAO,0BAA0B,CAAA;AAEjC,MAAM,uBAAuB,GAAG,CAAC,EAAE,MAAM,EAAE,OAAO,EAA2B,EAAE,EAAE;IAC/E,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,CAAA;IAC9B,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,OAAO,IAAI,EAAE,CAAA;IAC/C,OAAO,CACL,cAAK,SAAS,EAAC,uBAAuB,YACpC,eAAM,SAAS,EAAE,uDAAuD,KAAK,EAAE,YAC7E,KAAC,iBAAiB,IAChB,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,GAAG,QAAQ,IAAI,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,EAC1E,IAAI,EAAE,IAAI,EACV,KAAK,EAAE,KAAK,YAEX,IAAI,GACa,GACf,GACH,CACP,CAAA;AACH,CAAC,CAAA;AAED,eAAe,uBAAuB,CAAA"}
|
|
1
|
+
{"version":3,"file":"GallerySelectField.js","sourceRoot":"","sources":["../../../../../../../src/ui/components/Gallery/GallerySelectField/GallerySelectField.tsx"],"names":[],"mappings":";AACA,OAAO,iBAAiB,MAAM,gBAAgB,CAAA;AAC9C,OAAO,0BAA0B,CAAA;AAEjC,MAAM,uBAAuB,GAAG,CAAC,EAAE,MAAM,EAAE,OAAO,EAA2B,EAAE,EAAE;IAC/E,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,IAAI,CAAA;IACb,CAAC;IACD,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,CAAA;IAC9B,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,OAAO,IAAI,EAAE,CAAA;IAC/C,OAAO,CACL,cAAK,SAAS,EAAC,uBAAuB,YACpC,eAAM,SAAS,EAAE,uDAAuD,KAAK,EAAE,YAC7E,KAAC,iBAAiB,IAChB,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,GAAG,QAAQ,IAAI,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,EAC1E,IAAI,EAAE,IAAI,EACV,KAAK,EAAE,KAAK,YAEX,IAAI,GACa,GACf,GACH,CACP,CAAA;AACH,CAAC,CAAA;AAED,eAAe,uBAAuB,CAAA"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
3
|
+
import { formulaNumber } from '../lib.js';
|
|
3
4
|
import ListCheckboxField from './ListCheckboxField/ListCheckboxField.js';
|
|
4
5
|
import ListDateField from './ListDateField/ListDateField.js';
|
|
5
6
|
import ListFormulaField from './ListFormulaField/ListFormulaField.js';
|
|
@@ -32,7 +33,7 @@ const ListHandler = ({ property, options }) => {
|
|
|
32
33
|
case 'select':
|
|
33
34
|
return _jsx(ListSelectField, { select: property.select, options: options });
|
|
34
35
|
case 'formula':
|
|
35
|
-
return _jsx(ListFormulaField, { number: property.formula
|
|
36
|
+
return _jsx(ListFormulaField, { number: formulaNumber(property.formula), options: options });
|
|
36
37
|
default:
|
|
37
38
|
console.log('unsupport database property:', property);
|
|
38
39
|
return null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ListHandler.js","sourceRoot":"","sources":["../../../../../../src/ui/components/List/ListHandler.tsx"],"names":[],"mappings":";AAAA,OAAO,iBAAiB,MAAM,0CAA0C,CAAA;AACxE,OAAO,aAAa,MAAM,kCAAkC,CAAA;AAC5D,OAAO,gBAAgB,MAAM,wCAAwC,CAAA;AAErE,OAAO,oBAAoB,MAAM,gDAAgD,CAAA;AACjF,OAAO,eAAe,MAAM,sCAAsC,CAAA;AAClE,OAAO,iBAAiB,MAAM,0CAA0C,CAAA;AACxE,OAAO,eAAe,MAAM,sCAAsC,CAAA;AAClE,OAAO,cAAc,MAAM,oCAAoC,CAAA;AAC/D,OAAO,YAAY,MAAM,gCAAgC,CAAA;AAEzD,MAAM,WAAW,GAAG,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAoB,EAAE,EAAE;IAC9D,IAAI,EAAC,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,IAAI,CAAA,EAAE,CAAC;QACpB,OAAO,CAAC,GAAG,CAAC,mCAAmC,EAAE,QAAQ,CAAC,CAAA;QAC1D,OAAO,IAAI,CAAA;IACb,CAAC;IAED,QAAQ,QAAQ,CAAC,IAAI,EAAE,CAAC;QACtB,KAAK,OAAO;YACV,OAAO,KAAC,cAAc,IAAC,WAAW,EAAE,QAAQ,CAAC,KAAY,EAAE,OAAO,EAAE,OAAO,GAAI,CAAA;QACjF,KAAK,WAAW;YACd,OAAO,KAAC,iBAAiB,IAAC,WAAW,EAAE,QAAQ,CAAC,SAAgB,GAAI,CAAA;QACtE,KAAK,KAAK;YACR,OAAO,KAAC,YAAY,IAAC,GAAG,EAAE,QAAQ,CAAC,GAAG,GAAI,CAAA;QAC5C,KAAK,MAAM;YACT,OAAO,KAAC,aAAa,IAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,GAAI,CAAA;QAC/C,KAAK,cAAc;YACjB,OAAO,KAAC,oBAAoB,IAAC,WAAW,EAAE,QAAQ,CAAC,YAAY,EAAE,OAAO,EAAE,OAAO,GAAI,CAAA;QACvF,KAAK,UAAU;YACb,OAAO,KAAC,iBAAiB,IAAC,OAAO,EAAE,QAAQ,CAAC,QAAQ,EAAE,OAAO,EAAE,OAAO,GAAI,CAAA;QAC5E,KAAK,QAAQ;YACX,OAAO,KAAC,eAAe,IAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,GAAI,CAAA;QACvE,KAAK,QAAQ;YACX,OAAO,KAAC,eAAe,IAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,GAAI,CAAA;QACvE,KAAK,SAAS;YACZ,OAAO,KAAC,gBAAgB,IAAC,MAAM,EAAE,QAAQ,CAAC,OAAO,CAAC,
|
|
1
|
+
{"version":3,"file":"ListHandler.js","sourceRoot":"","sources":["../../../../../../src/ui/components/List/ListHandler.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAA;AACzC,OAAO,iBAAiB,MAAM,0CAA0C,CAAA;AACxE,OAAO,aAAa,MAAM,kCAAkC,CAAA;AAC5D,OAAO,gBAAgB,MAAM,wCAAwC,CAAA;AAErE,OAAO,oBAAoB,MAAM,gDAAgD,CAAA;AACjF,OAAO,eAAe,MAAM,sCAAsC,CAAA;AAClE,OAAO,iBAAiB,MAAM,0CAA0C,CAAA;AACxE,OAAO,eAAe,MAAM,sCAAsC,CAAA;AAClE,OAAO,cAAc,MAAM,oCAAoC,CAAA;AAC/D,OAAO,YAAY,MAAM,gCAAgC,CAAA;AAEzD,MAAM,WAAW,GAAG,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAoB,EAAE,EAAE;IAC9D,IAAI,EAAC,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,IAAI,CAAA,EAAE,CAAC;QACpB,OAAO,CAAC,GAAG,CAAC,mCAAmC,EAAE,QAAQ,CAAC,CAAA;QAC1D,OAAO,IAAI,CAAA;IACb,CAAC;IAED,QAAQ,QAAQ,CAAC,IAAI,EAAE,CAAC;QACtB,KAAK,OAAO;YACV,OAAO,KAAC,cAAc,IAAC,WAAW,EAAE,QAAQ,CAAC,KAAY,EAAE,OAAO,EAAE,OAAO,GAAI,CAAA;QACjF,KAAK,WAAW;YACd,OAAO,KAAC,iBAAiB,IAAC,WAAW,EAAE,QAAQ,CAAC,SAAgB,GAAI,CAAA;QACtE,KAAK,KAAK;YACR,OAAO,KAAC,YAAY,IAAC,GAAG,EAAE,QAAQ,CAAC,GAAG,GAAI,CAAA;QAC5C,KAAK,MAAM;YACT,OAAO,KAAC,aAAa,IAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,GAAI,CAAA;QAC/C,KAAK,cAAc;YACjB,OAAO,KAAC,oBAAoB,IAAC,WAAW,EAAE,QAAQ,CAAC,YAAY,EAAE,OAAO,EAAE,OAAO,GAAI,CAAA;QACvF,KAAK,UAAU;YACb,OAAO,KAAC,iBAAiB,IAAC,OAAO,EAAE,QAAQ,CAAC,QAAQ,EAAE,OAAO,EAAE,OAAO,GAAI,CAAA;QAC5E,KAAK,QAAQ;YACX,OAAO,KAAC,eAAe,IAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,GAAI,CAAA;QACvE,KAAK,QAAQ;YACX,OAAO,KAAC,eAAe,IAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,GAAI,CAAA;QACvE,KAAK,SAAS;YACZ,OAAO,KAAC,gBAAgB,IAAC,MAAM,EAAE,aAAa,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,OAAO,GAAI,CAAA;QACxF;YACE,OAAO,CAAC,GAAG,CAAC,8BAA8B,EAAE,QAAQ,CAAC,CAAA;YACrD,OAAO,IAAI,CAAA;IACf,CAAC;AACH,CAAC,CAAA;AAED,eAAe,WAAW,CAAA"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
3
|
+
import { formulaNumber } from '../lib.js';
|
|
3
4
|
import TableCheckboxField from './TableCheckboxField/TableCheckboxField.js';
|
|
4
5
|
import TableDateField from './TableDateField/TableDateField.js';
|
|
5
6
|
import TableFormulaField from './TableFormulaField/TableFormulaField.js';
|
|
@@ -32,7 +33,7 @@ const TableHandler = ({ property, options }) => {
|
|
|
32
33
|
case 'select':
|
|
33
34
|
return _jsx(TableSelectField, { select: property.select, options: options });
|
|
34
35
|
case 'formula':
|
|
35
|
-
return _jsx(TableFormulaField, { number: property.formula
|
|
36
|
+
return _jsx(TableFormulaField, { number: formulaNumber(property.formula), options: options });
|
|
36
37
|
default:
|
|
37
38
|
console.log('unsupport database property:', property);
|
|
38
39
|
return null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TableHandler.js","sourceRoot":"","sources":["../../../../../../src/ui/components/Table/TableHandler.tsx"],"names":[],"mappings":";AAAA,OAAO,kBAAkB,MAAM,4CAA4C,CAAA;AAC3E,OAAO,cAAc,MAAM,oCAAoC,CAAA;AAC/D,OAAO,iBAAiB,MAAM,0CAA0C,CAAA;AAExE,OAAO,qBAAqB,MAAM,kDAAkD,CAAA;AACpF,OAAO,gBAAgB,MAAM,wCAAwC,CAAA;AACrE,OAAO,kBAAkB,MAAM,4CAA4C,CAAA;AAC3E,OAAO,gBAAgB,MAAM,wCAAwC,CAAA;AACrE,OAAO,eAAe,MAAM,sCAAsC,CAAA;AAClE,OAAO,aAAa,MAAM,kCAAkC,CAAA;AAE5D,MAAM,YAAY,GAAG,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAqB,EAAE,EAAE;IAChE,IAAI,EAAC,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,IAAI,CAAA,EAAE,CAAC;QACpB,OAAO,CAAC,GAAG,CAAC,mCAAmC,EAAE,QAAQ,CAAC,CAAA;QAC1D,OAAO,IAAI,CAAA;IACb,CAAC;IAED,QAAQ,QAAQ,CAAC,IAAI,EAAE,CAAC;QACtB,KAAK,OAAO;YACV,OAAO,KAAC,eAAe,IAAC,WAAW,EAAE,QAAQ,CAAC,KAAY,EAAE,OAAO,EAAE,OAAO,GAAI,CAAA;QAClF,KAAK,WAAW;YACd,OAAO,KAAC,kBAAkB,IAAC,WAAW,EAAE,QAAQ,CAAC,SAAgB,GAAI,CAAA;QACvE,KAAK,KAAK;YACR,OAAO,KAAC,aAAa,IAAC,GAAG,EAAE,QAAQ,CAAC,GAAG,GAAI,CAAA;QAC7C,KAAK,MAAM;YACT,OAAO,KAAC,cAAc,IAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,GAAI,CAAA;QAChD,KAAK,cAAc;YACjB,OAAO,KAAC,qBAAqB,IAAC,WAAW,EAAE,QAAQ,CAAC,YAAY,EAAE,OAAO,EAAE,OAAO,GAAI,CAAA;QACxF,KAAK,UAAU;YACb,OAAO,KAAC,kBAAkB,IAAC,OAAO,EAAE,QAAQ,CAAC,QAAQ,EAAE,OAAO,EAAE,OAAO,GAAI,CAAA;QAC7E,KAAK,QAAQ;YACX,OAAO,KAAC,gBAAgB,IAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,GAAI,CAAA;QACxE,KAAK,QAAQ;YACX,OAAO,KAAC,gBAAgB,IAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,GAAI,CAAA;QACxE,KAAK,SAAS;YACZ,OAAO,KAAC,iBAAiB,IAAC,MAAM,EAAE,QAAQ,CAAC,OAAO,CAAC,
|
|
1
|
+
{"version":3,"file":"TableHandler.js","sourceRoot":"","sources":["../../../../../../src/ui/components/Table/TableHandler.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAA;AACzC,OAAO,kBAAkB,MAAM,4CAA4C,CAAA;AAC3E,OAAO,cAAc,MAAM,oCAAoC,CAAA;AAC/D,OAAO,iBAAiB,MAAM,0CAA0C,CAAA;AAExE,OAAO,qBAAqB,MAAM,kDAAkD,CAAA;AACpF,OAAO,gBAAgB,MAAM,wCAAwC,CAAA;AACrE,OAAO,kBAAkB,MAAM,4CAA4C,CAAA;AAC3E,OAAO,gBAAgB,MAAM,wCAAwC,CAAA;AACrE,OAAO,eAAe,MAAM,sCAAsC,CAAA;AAClE,OAAO,aAAa,MAAM,kCAAkC,CAAA;AAE5D,MAAM,YAAY,GAAG,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAqB,EAAE,EAAE;IAChE,IAAI,EAAC,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,IAAI,CAAA,EAAE,CAAC;QACpB,OAAO,CAAC,GAAG,CAAC,mCAAmC,EAAE,QAAQ,CAAC,CAAA;QAC1D,OAAO,IAAI,CAAA;IACb,CAAC;IAED,QAAQ,QAAQ,CAAC,IAAI,EAAE,CAAC;QACtB,KAAK,OAAO;YACV,OAAO,KAAC,eAAe,IAAC,WAAW,EAAE,QAAQ,CAAC,KAAY,EAAE,OAAO,EAAE,OAAO,GAAI,CAAA;QAClF,KAAK,WAAW;YACd,OAAO,KAAC,kBAAkB,IAAC,WAAW,EAAE,QAAQ,CAAC,SAAgB,GAAI,CAAA;QACvE,KAAK,KAAK;YACR,OAAO,KAAC,aAAa,IAAC,GAAG,EAAE,QAAQ,CAAC,GAAG,GAAI,CAAA;QAC7C,KAAK,MAAM;YACT,OAAO,KAAC,cAAc,IAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,GAAI,CAAA;QAChD,KAAK,cAAc;YACjB,OAAO,KAAC,qBAAqB,IAAC,WAAW,EAAE,QAAQ,CAAC,YAAY,EAAE,OAAO,EAAE,OAAO,GAAI,CAAA;QACxF,KAAK,UAAU;YACb,OAAO,KAAC,kBAAkB,IAAC,OAAO,EAAE,QAAQ,CAAC,QAAQ,EAAE,OAAO,EAAE,OAAO,GAAI,CAAA;QAC7E,KAAK,QAAQ;YACX,OAAO,KAAC,gBAAgB,IAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,GAAI,CAAA;QACxE,KAAK,QAAQ;YACX,OAAO,KAAC,gBAAgB,IAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,GAAI,CAAA;QACxE,KAAK,SAAS;YACZ,OAAO,KAAC,iBAAiB,IAAC,MAAM,EAAE,aAAa,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,OAAO,GAAI,CAAA;QACzF;YACE,OAAO,CAAC,GAAG,CAAC,8BAA8B,EAAE,QAAQ,CAAC,CAAA;YACrD,OAAO,IAAI,CAAA;IACf,CAAC;AACH,CAAC,CAAA;AAED,eAAe,YAAY,CAAA"}
|
|
@@ -76,6 +76,11 @@ export function getDatetimeFormat(lang) {
|
|
|
76
76
|
export function richTextKey(plainText, index) {
|
|
77
77
|
return `${plainText || 'empty'}-${index}`;
|
|
78
78
|
}
|
|
79
|
+
// A formula property holds a string, a date or a boolean as well as a number,
|
|
80
|
+
// and the formula fields only render a number.
|
|
81
|
+
export function formulaNumber(formula) {
|
|
82
|
+
return formula.type === 'number' ? formula.number : null;
|
|
83
|
+
}
|
|
79
84
|
export function splitUrl(url) {
|
|
80
85
|
const withoutScheme = url.replace(/https?:\/\//, '');
|
|
81
86
|
const arrayPath = withoutScheme.split('/');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lib.js","sourceRoot":"","sources":["../../../../../src/ui/components/lib.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"lib.js","sourceRoot":"","sources":["../../../../../src/ui/components/lib.ts"],"names":[],"mappings":"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"}
|