notion-utility-personal 1.0.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/build/.tsbuildinfo +1 -0
- package/build/estimate-page-read-time.d.ts +35 -0
- package/build/estimate-page-read-time.d.ts.map +1 -0
- package/build/estimate-page-read-time.js +183 -0
- package/build/estimate-page-read-time.js.map +1 -0
- package/build/format-date.d.ts +4 -0
- package/build/format-date.d.ts.map +1 -0
- package/build/format-date.js +6 -0
- package/build/format-date.js.map +1 -0
- package/build/format-notion-date-time.d.ts +8 -0
- package/build/format-notion-date-time.d.ts.map +1 -0
- package/build/format-notion-date-time.js +7 -0
- package/build/format-notion-date-time.js.map +1 -0
- package/build/get-all-pages-in-space.d.ts +22 -0
- package/build/get-all-pages-in-space.d.ts.map +1 -0
- package/build/get-all-pages-in-space.js +110 -0
- package/build/get-all-pages-in-space.js.map +1 -0
- package/build/get-block-collection-id.d.ts +3 -0
- package/build/get-block-collection-id.d.ts.map +1 -0
- package/build/get-block-collection-id.js +18 -0
- package/build/get-block-collection-id.js.map +1 -0
- package/build/get-block-icon.d.ts +3 -0
- package/build/get-block-icon.d.ts.map +1 -0
- package/build/get-block-icon.js +19 -0
- package/build/get-block-icon.js.map +1 -0
- package/build/get-block-parent-page.d.ts +11 -0
- package/build/get-block-parent-page.d.ts.map +1 -0
- package/build/get-block-parent-page.js +31 -0
- package/build/get-block-parent-page.js.map +1 -0
- package/build/get-block-title.d.ts +3 -0
- package/build/get-block-title.d.ts.map +1 -0
- package/build/get-block-title.js +20 -0
- package/build/get-block-title.js.map +1 -0
- package/build/get-canonical-page-id.d.ts +8 -0
- package/build/get-canonical-page-id.d.ts.map +1 -0
- package/build/get-canonical-page-id.js +29 -0
- package/build/get-canonical-page-id.js.map +1 -0
- package/build/get-date-value.d.ts +6 -0
- package/build/get-date-value.d.ts.map +1 -0
- package/build/get-date-value.js +20 -0
- package/build/get-date-value.js.map +1 -0
- package/build/get-page-breadcrumbs.d.ts +3 -0
- package/build/get-page-breadcrumbs.d.ts.map +1 -0
- package/build/get-page-breadcrumbs.js +37 -0
- package/build/get-page-breadcrumbs.js.map +1 -0
- package/build/get-page-content-block-ids.d.ts +6 -0
- package/build/get-page-content-block-ids.d.ts.map +1 -0
- package/build/get-page-content-block-ids.js +58 -0
- package/build/get-page-content-block-ids.js.map +1 -0
- package/build/get-page-image-urls.d.ts +8 -0
- package/build/get-page-image-urls.d.ts.map +1 -0
- package/build/get-page-image-urls.js +63 -0
- package/build/get-page-image-urls.js.map +1 -0
- package/build/get-page-property.d.ts +16 -0
- package/build/get-page-property.d.ts.map +1 -0
- package/build/get-page-property.js +61 -0
- package/build/get-page-property.js.map +1 -0
- package/build/get-page-table-of-contents.d.ts +13 -0
- package/build/get-page-table-of-contents.d.ts.map +1 -0
- package/build/get-page-table-of-contents.js +67 -0
- package/build/get-page-table-of-contents.js.map +1 -0
- package/build/get-page-title.d.ts +3 -0
- package/build/get-page-title.d.ts.map +1 -0
- package/build/get-page-title.js +10 -0
- package/build/get-page-title.js.map +1 -0
- package/build/get-text-content.d.ts +9 -0
- package/build/get-text-content.d.ts.map +1 -0
- package/build/get-text-content.js +19 -0
- package/build/get-text-content.js.map +1 -0
- package/build/id-to-uuid.d.ts +2 -0
- package/build/id-to-uuid.d.ts.map +1 -0
- package/build/id-to-uuid.js +2 -0
- package/build/id-to-uuid.js.map +1 -0
- package/build/index.d.ts +25 -0
- package/build/index.d.ts.map +1 -0
- package/build/index.js +25 -0
- package/build/index.js.map +1 -0
- package/build/is-url.d.ts +3 -0
- package/build/is-url.d.ts.map +1 -0
- package/build/is-url.js +3 -0
- package/build/is-url.js.map +1 -0
- package/build/merge-record-maps.d.ts +3 -0
- package/build/merge-record-maps.d.ts.map +1 -0
- package/build/merge-record-maps.js +13 -0
- package/build/merge-record-maps.js.map +1 -0
- package/build/normalize-title.d.ts +2 -0
- package/build/normalize-title.d.ts.map +1 -0
- package/build/normalize-title.js +11 -0
- package/build/normalize-title.js.map +1 -0
- package/build/normalize-url.d.ts +2 -0
- package/build/normalize-url.d.ts.map +1 -0
- package/build/normalize-url.js +27 -0
- package/build/normalize-url.js.map +1 -0
- package/build/normalize-url.test.d.ts +2 -0
- package/build/normalize-url.test.d.ts.map +1 -0
- package/build/normalize-url.test.js +30 -0
- package/build/normalize-url.test.js.map +1 -0
- package/build/parse-page-id.d.ts +9 -0
- package/build/parse-page-id.d.ts.map +1 -0
- package/build/parse-page-id.js +24 -0
- package/build/parse-page-id.js.map +1 -0
- package/build/parse-page-id.test.d.ts +2 -0
- package/build/parse-page-id.test.d.ts.map +1 -0
- package/build/parse-page-id.test.js +54 -0
- package/build/parse-page-id.test.js.map +1 -0
- package/build/uuid-to-id.d.ts +2 -0
- package/build/uuid-to-id.d.ts.map +1 -0
- package/build/uuid-to-id.js +2 -0
- package/build/uuid-to-id.js.map +1 -0
- package/package.json +51 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"is-url.d.ts","sourceRoot":"","sources":["../src/is-url.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,eAAe,CAAA;AAEjC,OAAO,EAAE,KAAK,EAAE,CAAA"}
|
package/build/is-url.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"is-url.js","sourceRoot":"","sources":["../src/is-url.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,eAAe,CAAA;AAEjC,OAAO,EAAE,KAAK,EAAE,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"merge-record-maps.d.ts","sourceRoot":"","sources":["../src/merge-record-maps.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAE1D,wBAAgB,eAAe,CAC7B,UAAU,EAAE,iBAAiB,EAC7B,UAAU,EAAE,iBAAiB,GAC5B,iBAAiB,CAiCnB"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export function mergeRecordMaps(recordMapA, recordMapB) {
|
|
2
|
+
const mergedRecordMap = {
|
|
3
|
+
block: Object.assign(Object.assign({}, recordMapA.block), recordMapB.block),
|
|
4
|
+
collection: Object.assign(Object.assign({}, recordMapA.collection), recordMapB.collection),
|
|
5
|
+
collection_view: Object.assign(Object.assign({}, recordMapA.collection_view), recordMapB.collection_view),
|
|
6
|
+
notion_user: Object.assign(Object.assign({}, recordMapA.notion_user), recordMapB.notion_user),
|
|
7
|
+
collection_query: Object.assign(Object.assign({}, recordMapA.collection_query), recordMapB.collection_query),
|
|
8
|
+
signed_urls: Object.assign(Object.assign({}, recordMapA.signed_urls), recordMapB.signed_urls),
|
|
9
|
+
preview_images: Object.assign(Object.assign({}, recordMapA.preview_images), recordMapB.preview_images),
|
|
10
|
+
};
|
|
11
|
+
return mergedRecordMap;
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=merge-record-maps.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"merge-record-maps.js","sourceRoot":"","sources":["../src/merge-record-maps.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,eAAe,CAC7B,UAA6B,EAC7B,UAA6B;IAE7B,MAAM,eAAe,GAAsB;QACzC,KAAK,kCACA,UAAU,CAAC,KAAK,GAChB,UAAU,CAAC,KAAK,CACpB;QACD,UAAU,kCACL,UAAU,CAAC,UAAU,GACrB,UAAU,CAAC,UAAU,CACzB;QACD,eAAe,kCACV,UAAU,CAAC,eAAe,GAC1B,UAAU,CAAC,eAAe,CAC9B;QACD,WAAW,kCACN,UAAU,CAAC,WAAW,GACtB,UAAU,CAAC,WAAW,CAC1B;QACD,gBAAgB,kCACX,UAAU,CAAC,gBAAgB,GAC3B,UAAU,CAAC,gBAAgB,CAC/B;QACD,WAAW,kCACN,UAAU,CAAC,WAAW,GACtB,UAAU,CAAC,WAAW,CAC1B;QACD,cAAc,kCACT,UAAU,CAAC,cAAc,GACzB,UAAU,CAAC,cAAc,CAC7B;KACF,CAAC;IAEF,OAAO,eAAe,CAAC;AACzB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"normalize-title.d.ts","sourceRoot":"","sources":["../src/normalize-title.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,cAAc,WAAY,MAAM,GAAG,IAAI,KAAG,MAYtD,CAAA"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export const normalizeTitle = (title) => {
|
|
2
|
+
return (title || '')
|
|
3
|
+
.replace(/ /g, '-')
|
|
4
|
+
.replace(/[^a-zA-Z0-9-\u4e00-\u9FFF\u3041-\u3096\u30A1-\u30FC\u3000-\u303F]/g, '')
|
|
5
|
+
.replace(/--/g, '-')
|
|
6
|
+
.replace(/-$/, '')
|
|
7
|
+
.replace(/^-/, '')
|
|
8
|
+
.trim()
|
|
9
|
+
.toLowerCase();
|
|
10
|
+
};
|
|
11
|
+
//# sourceMappingURL=normalize-title.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"normalize-title.js","sourceRoot":"","sources":["../src/normalize-title.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,KAAqB,EAAU,EAAE;IAC9D,OAAO,CAAC,KAAK,IAAI,EAAE,CAAC;SACjB,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC;SAClB,OAAO,CACN,oEAAoE,EACpE,EAAE,CACH;SACA,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC;SACnB,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC;SACjB,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC;SACjB,IAAI,EAAE;SACN,WAAW,EAAE,CAAA;AAClB,CAAC,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"normalize-url.d.ts","sourceRoot":"","sources":["../src/normalize-url.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,YAAY,SAAc,MAAM,WAwB3C,CAAA"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import mem from 'mem';
|
|
2
|
+
import normalizeUrlImpl from 'normalize-url';
|
|
3
|
+
export const normalizeUrl = mem((url) => {
|
|
4
|
+
if (!url) {
|
|
5
|
+
return '';
|
|
6
|
+
}
|
|
7
|
+
try {
|
|
8
|
+
if (url.startsWith('https://www.notion.so/image/')) {
|
|
9
|
+
const u = new URL(url);
|
|
10
|
+
const subUrl = decodeURIComponent(u.pathname.substr('/image/'.length));
|
|
11
|
+
const normalizedSubUrl = normalizeUrl(subUrl);
|
|
12
|
+
u.pathname = `/image/${encodeURIComponent(normalizedSubUrl)}`;
|
|
13
|
+
url = u.toString();
|
|
14
|
+
}
|
|
15
|
+
return normalizeUrlImpl(url, {
|
|
16
|
+
stripProtocol: true,
|
|
17
|
+
stripWWW: true,
|
|
18
|
+
stripHash: true,
|
|
19
|
+
stripTextFragment: true,
|
|
20
|
+
removeQueryParameters: true
|
|
21
|
+
});
|
|
22
|
+
}
|
|
23
|
+
catch (err) {
|
|
24
|
+
return '';
|
|
25
|
+
}
|
|
26
|
+
});
|
|
27
|
+
//# sourceMappingURL=normalize-url.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"normalize-url.js","sourceRoot":"","sources":["../src/normalize-url.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,KAAK,CAAA;AACrB,OAAO,gBAAgB,MAAM,eAAe,CAAA;AAE5C,MAAM,CAAC,MAAM,YAAY,GAAG,GAAG,CAAC,CAAC,GAAY,EAAE,EAAE;IAC/C,IAAI,CAAC,GAAG,EAAE;QACR,OAAO,EAAE,CAAA;KACV;IAED,IAAI;QACF,IAAI,GAAG,CAAC,UAAU,CAAC,8BAA8B,CAAC,EAAE;YAClD,MAAM,CAAC,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAA;YACtB,MAAM,MAAM,GAAG,kBAAkB,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAA;YACtE,MAAM,gBAAgB,GAAG,YAAY,CAAC,MAAM,CAAC,CAAA;YAC7C,CAAC,CAAC,QAAQ,GAAG,UAAU,kBAAkB,CAAC,gBAAgB,CAAC,EAAE,CAAA;YAC7D,GAAG,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAA;SACnB;QAED,OAAO,gBAAgB,CAAC,GAAG,EAAE;YAC3B,aAAa,EAAE,IAAI;YACnB,QAAQ,EAAE,IAAI;YACd,SAAS,EAAE,IAAI;YACf,iBAAiB,EAAE,IAAI;YACvB,qBAAqB,EAAE,IAAI;SAC5B,CAAC,CAAA;KACH;IAAC,OAAO,GAAG,EAAE;QACZ,OAAO,EAAE,CAAA;KACV;AACH,CAAC,CAAC,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"normalize-url.test.d.ts","sourceRoot":"","sources":["../src/normalize-url.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import test from 'ava';
|
|
2
|
+
import { normalizeUrl } from './normalize-url';
|
|
3
|
+
test('normalizeUrl invalid', (t) => {
|
|
4
|
+
t.is(normalizeUrl(), '');
|
|
5
|
+
t.is(normalizeUrl(''), '');
|
|
6
|
+
t.is(normalizeUrl('#'), '');
|
|
7
|
+
t.is(normalizeUrl('#foo'), '');
|
|
8
|
+
t.is(normalizeUrl('/foo'), '');
|
|
9
|
+
t.is(normalizeUrl('/foo/bar'), '');
|
|
10
|
+
t.is(normalizeUrl('://test.com'), '');
|
|
11
|
+
});
|
|
12
|
+
test('normalizeUrl valid', (t) => {
|
|
13
|
+
const fixtures = [
|
|
14
|
+
'test.com',
|
|
15
|
+
'test.com/123',
|
|
16
|
+
'//test.com',
|
|
17
|
+
'https://test.com',
|
|
18
|
+
'https://www.test.com',
|
|
19
|
+
'https://test.com/foo/bar',
|
|
20
|
+
'https://test.com/foo/bar/',
|
|
21
|
+
'https://test.com/foo/bar?foo=bar&cat=dog',
|
|
22
|
+
'https://www.notion.so/image/https%3A%2F%2Fs3.us-west-2.amazonaws.com%2Fsecure.notion-static.com%2Fae16c287-668f-4ea7-90a8-5ed96302e14f%2Fquilt-opt.jpg%3FX-Amz-Algorithm%3DAWS4-HMAC-SHA256%26X-Amz-Content-Sha256%3DUNSIGNED-PAYLOAD%26X-Amz-Credential%3DAKIAT73L2G45EIPT3X45%252F20220327%252Fus-west-2%252Fs3%252Faws4_request%26X-Amz-Date%3D20220327T124856Z%26X-Amz-Expires%3D86400%26X-Amz-Signature%3Dfdaa47d722db4b4052267d999003c6392bbd3d8c4169268b202b8268b2af12ab%26X-Amz-SignedHeaders%3Dhost%26x-id%3DGetObject?table=block&id=ddec4f2d-6afa-498f-8141-405647e02ea5&cache=v2'
|
|
23
|
+
];
|
|
24
|
+
for (const url of fixtures) {
|
|
25
|
+
const normalizedUrl = normalizeUrl(url);
|
|
26
|
+
t.truthy(normalizedUrl);
|
|
27
|
+
t.snapshot(normalizedUrl);
|
|
28
|
+
}
|
|
29
|
+
});
|
|
30
|
+
//# sourceMappingURL=normalize-url.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"normalize-url.test.js","sourceRoot":"","sources":["../src/normalize-url.test.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,KAAK,CAAA;AAEtB,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAE9C,IAAI,CAAC,sBAAsB,EAAE,CAAC,CAAC,EAAE,EAAE;IACjC,CAAC,CAAC,EAAE,CAAC,YAAY,EAAE,EAAE,EAAE,CAAC,CAAA;IACxB,CAAC,CAAC,EAAE,CAAC,YAAY,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAA;IAC1B,CAAC,CAAC,EAAE,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAA;IAC3B,CAAC,CAAC,EAAE,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,CAAA;IAC9B,CAAC,CAAC,EAAE,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,CAAA;IAC9B,CAAC,CAAC,EAAE,CAAC,YAAY,CAAC,UAAU,CAAC,EAAE,EAAE,CAAC,CAAA;IAClC,CAAC,CAAC,EAAE,CAAC,YAAY,CAAC,aAAa,CAAC,EAAE,EAAE,CAAC,CAAA;AACvC,CAAC,CAAC,CAAA;AAEF,IAAI,CAAC,oBAAoB,EAAE,CAAC,CAAC,EAAE,EAAE;IAC/B,MAAM,QAAQ,GAAG;QACf,UAAU;QACV,cAAc;QACd,YAAY;QACZ,kBAAkB;QAClB,sBAAsB;QACtB,0BAA0B;QAC1B,2BAA2B;QAC3B,0CAA0C;QAC1C,8jBAA8jB;KAC/jB,CAAA;IAED,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE;QAC1B,MAAM,aAAa,GAAG,YAAY,CAAC,GAAG,CAAC,CAAA;QACvC,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,CAAA;QACvB,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAA;KAC1B;AACH,CAAC,CAAC,CAAA"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Robustly extracts the notion page ID from a notion URL or pathname suffix.
|
|
3
|
+
*
|
|
4
|
+
* Defaults to returning a UUID (with dashes).
|
|
5
|
+
*/
|
|
6
|
+
export declare const parsePageId: (id?: string | null, { uuid }?: {
|
|
7
|
+
uuid?: boolean;
|
|
8
|
+
}) => string;
|
|
9
|
+
//# sourceMappingURL=parse-page-id.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parse-page-id.d.ts","sourceRoot":"","sources":["../src/parse-page-id.ts"],"names":[],"mappings":"AAMA;;;;GAIG;AACH,eAAO,MAAM,WAAW,QAClB,MAAM,GAAG,IAAI;WACS,OAAO;YAmBlC,CAAA"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { idToUuid } from './id-to-uuid';
|
|
2
|
+
const pageIdRe = /\b([a-f0-9]{32})\b/;
|
|
3
|
+
const pageId2Re = /\b([a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12})\b/;
|
|
4
|
+
/**
|
|
5
|
+
* Robustly extracts the notion page ID from a notion URL or pathname suffix.
|
|
6
|
+
*
|
|
7
|
+
* Defaults to returning a UUID (with dashes).
|
|
8
|
+
*/
|
|
9
|
+
export const parsePageId = (id = '', { uuid = true } = {}) => {
|
|
10
|
+
if (!id) {
|
|
11
|
+
return null;
|
|
12
|
+
}
|
|
13
|
+
id = id.split('?')[0];
|
|
14
|
+
const match = id.match(pageIdRe);
|
|
15
|
+
if (match) {
|
|
16
|
+
return uuid ? idToUuid(match[1]) : match[1];
|
|
17
|
+
}
|
|
18
|
+
const match2 = id.match(pageId2Re);
|
|
19
|
+
if (match2) {
|
|
20
|
+
return uuid ? match2[1] : match2[1].replace(/-/g, '');
|
|
21
|
+
}
|
|
22
|
+
return null;
|
|
23
|
+
};
|
|
24
|
+
//# sourceMappingURL=parse-page-id.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parse-page-id.js","sourceRoot":"","sources":["../src/parse-page-id.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAA;AAEvC,MAAM,QAAQ,GAAG,oBAAoB,CAAA;AACrC,MAAM,SAAS,GACb,oEAAoE,CAAA;AAEtE;;;;GAIG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,CACzB,KAAoB,EAAE,EACtB,EAAE,IAAI,GAAG,IAAI,KAAyB,EAAE,EACxC,EAAE;IACF,IAAI,CAAC,EAAE,EAAE;QACP,OAAO,IAAI,CAAA;KACZ;IAED,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA;IACrB,MAAM,KAAK,GAAG,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAA;IAEhC,IAAI,KAAK,EAAE;QACT,OAAO,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;KAC5C;IAED,MAAM,MAAM,GAAG,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,CAAA;IAClC,IAAI,MAAM,EAAE;QACV,OAAO,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAA;KACtD;IAED,OAAO,IAAI,CAAA;AACb,CAAC,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parse-page-id.test.d.ts","sourceRoot":"","sources":["../src/parse-page-id.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import test from 'ava';
|
|
2
|
+
import { parsePageId } from './parse-page-id';
|
|
3
|
+
const pageIdFixturesSuccess = [
|
|
4
|
+
'267c0d1f1df8457f9b5c8f7efca16d83',
|
|
5
|
+
'Twitter-Automation-Tool-267c0d1f1df8457f9b5c8f7efca16d83',
|
|
6
|
+
'www.notion.so/saasifysh/Twitter-Automation-Tool-267c0d1f1df8457f9b5c8f7efca16d83',
|
|
7
|
+
'www.notion.so/saasifysh/Twitter-Automation-Tool-267c0d1f1df8457f9b5c8f7efca16d83?foo=bar&bar=foo',
|
|
8
|
+
'https://www.notion.so/saasifysh/Standalone-Notion-Hosting-717a3608b1874cc5bafb5b9680b53395',
|
|
9
|
+
'Standalone-Notion-Hosting-717a3608b1874cc5bafb5b9680b53395',
|
|
10
|
+
'Standalone-Notion-Hosting-717a3608b1874cc5bafb5b9680b53395?foo',
|
|
11
|
+
'-717a3608b1874cc5bafb5b9680b53395',
|
|
12
|
+
'717a3608b1874cc5bafb5b9680b53395',
|
|
13
|
+
'717a3608b1874cc5bafb5b9680b53395?',
|
|
14
|
+
'e5a735e3-3baa-458b-9889-93b55a54ee54',
|
|
15
|
+
'fde5ac74-eea3-4527-8f00-4482710e1af3',
|
|
16
|
+
'about-e5a735e3-3baa-458b-9889-93b55a54ee54',
|
|
17
|
+
'.com/about-e5a735e3-3baa-458b-9889-93b55a54ee54',
|
|
18
|
+
'About-d9ae0c6e7cad49a78e21d240cf2e3d04'
|
|
19
|
+
];
|
|
20
|
+
const pageIdFixturesFailure = [
|
|
21
|
+
'717A3608b1874CC5bafb5b9680b53395',
|
|
22
|
+
'717A36',
|
|
23
|
+
'',
|
|
24
|
+
'notion.so/saasifysh/Twitter-Automation-Tool-267c0d1f1df8457f9b5c8f7efca16d83abc',
|
|
25
|
+
'a267c0d1f1df8457f9b5c8f7efca16d83',
|
|
26
|
+
'267c0d1f1df8457f9b5c8f7efca16d83a',
|
|
27
|
+
'267c0d1f1%f8457f9b5c8f7efca16d83',
|
|
28
|
+
'Twitter-Automation-Tool',
|
|
29
|
+
'fde5ac74-eea3-4527-8f00-4482710e1af',
|
|
30
|
+
null
|
|
31
|
+
];
|
|
32
|
+
test('utils.parsePageId non-uuid success', (t) => {
|
|
33
|
+
for (const id of pageIdFixturesSuccess) {
|
|
34
|
+
const pageId = parsePageId(id, { uuid: false });
|
|
35
|
+
t.truthy(pageId);
|
|
36
|
+
t.falsy(pageId.includes('-'));
|
|
37
|
+
t.snapshot(pageId);
|
|
38
|
+
}
|
|
39
|
+
});
|
|
40
|
+
test('utils.parsePageId uuid success', (t) => {
|
|
41
|
+
for (const id of pageIdFixturesSuccess) {
|
|
42
|
+
const pageId = parsePageId(id, { uuid: true });
|
|
43
|
+
t.truthy(pageId);
|
|
44
|
+
t.truthy(pageId.includes('-'));
|
|
45
|
+
t.snapshot(pageId);
|
|
46
|
+
}
|
|
47
|
+
});
|
|
48
|
+
test('utils.parsePageId failure', (t) => {
|
|
49
|
+
for (const id of pageIdFixturesFailure) {
|
|
50
|
+
const pageId = parsePageId(id);
|
|
51
|
+
t.falsy(pageId);
|
|
52
|
+
}
|
|
53
|
+
});
|
|
54
|
+
//# sourceMappingURL=parse-page-id.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parse-page-id.test.js","sourceRoot":"","sources":["../src/parse-page-id.test.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,KAAK,CAAA;AAEtB,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAA;AAE7C,MAAM,qBAAqB,GAAG;IAC5B,kCAAkC;IAClC,0DAA0D;IAC1D,kFAAkF;IAClF,kGAAkG;IAClG,4FAA4F;IAC5F,4DAA4D;IAC5D,gEAAgE;IAChE,mCAAmC;IACnC,kCAAkC;IAClC,mCAAmC;IACnC,sCAAsC;IACtC,sCAAsC;IACtC,4CAA4C;IAC5C,iDAAiD;IACjD,wCAAwC;CACzC,CAAA;AAED,MAAM,qBAAqB,GAAG;IAC5B,kCAAkC;IAClC,QAAQ;IACR,EAAE;IACF,iFAAiF;IACjF,mCAAmC;IACnC,mCAAmC;IACnC,kCAAkC;IAClC,yBAAyB;IACzB,qCAAqC;IACrC,IAAI;CACL,CAAA;AAED,IAAI,CAAC,oCAAoC,EAAE,CAAC,CAAC,EAAE,EAAE;IAC/C,KAAK,MAAM,EAAE,IAAI,qBAAqB,EAAE;QACtC,MAAM,MAAM,GAAG,WAAW,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAA;QAC/C,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;QAChB,CAAC,CAAC,KAAK,CAAE,MAAiB,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAA;QACzC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAA;KACnB;AACH,CAAC,CAAC,CAAA;AAEF,IAAI,CAAC,gCAAgC,EAAE,CAAC,CAAC,EAAE,EAAE;IAC3C,KAAK,MAAM,EAAE,IAAI,qBAAqB,EAAE;QACtC,MAAM,MAAM,GAAG,WAAW,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAA;QAC9C,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;QAChB,CAAC,CAAC,MAAM,CAAE,MAAiB,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAA;QAC1C,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAA;KACnB;AACH,CAAC,CAAC,CAAA;AAEF,IAAI,CAAC,2BAA2B,EAAE,CAAC,CAAC,EAAE,EAAE;IACtC,KAAK,MAAM,EAAE,IAAI,qBAAqB,EAAE;QACtC,MAAM,MAAM,GAAG,WAAW,CAAC,EAAY,CAAC,CAAA;QACxC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;KAChB;AACH,CAAC,CAAC,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"uuid-to-id.d.ts","sourceRoot":"","sources":["../src/uuid-to-id.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,QAAQ,SAAU,MAAM,WAA2B,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"uuid-to-id.js","sourceRoot":"","sources":["../src/uuid-to-id.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,IAAY,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAA"}
|
package/package.json
ADDED
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "notion-utility-personal",
|
|
3
|
+
"version": "1.0.0",
|
|
4
|
+
"type": "module",
|
|
5
|
+
"description": "Useful utilities for working with data. Isomorphic.",
|
|
6
|
+
"main": "./build/index.js",
|
|
7
|
+
"module": "./build/index.js",
|
|
8
|
+
"types": "./build/index.d.ts",
|
|
9
|
+
"exports": {
|
|
10
|
+
".": {
|
|
11
|
+
"types": "./build/index.d.ts",
|
|
12
|
+
"default": "./build/index.js"
|
|
13
|
+
}
|
|
14
|
+
},
|
|
15
|
+
"sideEffects": false,
|
|
16
|
+
"files": [
|
|
17
|
+
"build"
|
|
18
|
+
],
|
|
19
|
+
"engines": {
|
|
20
|
+
"node": ">=12"
|
|
21
|
+
},
|
|
22
|
+
"scripts": {
|
|
23
|
+
"build:tsc": "tsc --build",
|
|
24
|
+
"test": "ava"
|
|
25
|
+
},
|
|
26
|
+
"author": "Asha",
|
|
27
|
+
"license": "ISC",
|
|
28
|
+
"dependencies": {
|
|
29
|
+
"is-url-superb": "^6.1.0",
|
|
30
|
+
"mem": "^9.0.2",
|
|
31
|
+
"normalize-url": "^8.0.0",
|
|
32
|
+
"notion-types-personal": "^1.0.0",
|
|
33
|
+
"p-queue": "^7.3.4"
|
|
34
|
+
},
|
|
35
|
+
"devDependencies": {
|
|
36
|
+
"ava": "^5.3.1",
|
|
37
|
+
"tsup": "^7.1.0",
|
|
38
|
+
"typescript": "^5.1.6"
|
|
39
|
+
},
|
|
40
|
+
"ava": {
|
|
41
|
+
"snapshotDir": ".snapshots",
|
|
42
|
+
"extensions": {
|
|
43
|
+
"ts": "module"
|
|
44
|
+
},
|
|
45
|
+
"nodeArguments": [
|
|
46
|
+
"--loader=ts-node/esm",
|
|
47
|
+
"--no-warnings",
|
|
48
|
+
"--experimental-specifier-resolution=node"
|
|
49
|
+
]
|
|
50
|
+
}
|
|
51
|
+
}
|