@texonom/nclient 1.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/.tsbuildinfo +1 -0
- package/build/index.js +2 -0
- package/build/index.js.map +1 -0
- package/build/src/index.d.ts +3 -0
- package/build/src/index.d.ts.map +1 -0
- package/build/src/notion-api.d.ts +57 -0
- package/build/src/notion-api.d.ts.map +1 -0
- package/build/src/types.d.ts +16 -0
- package/build/src/types.d.ts.map +1 -0
- package/build/test/notion-api.test.d.ts +2 -0
- package/build/test/notion-api.test.d.ts.map +1 -0
- package/package.json +38 -0
- package/readme.md +161 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"program":{"fileNames":["../../../node_modules/.pnpm/typescript@4.9.5/node_modules/typescript/lib/lib.es5.d.ts","../../../node_modules/.pnpm/typescript@4.9.5/node_modules/typescript/lib/lib.es2015.d.ts","../../../node_modules/.pnpm/typescript@4.9.5/node_modules/typescript/lib/lib.es2016.d.ts","../../../node_modules/.pnpm/typescript@4.9.5/node_modules/typescript/lib/lib.es2017.d.ts","../../../node_modules/.pnpm/typescript@4.9.5/node_modules/typescript/lib/lib.es2018.d.ts","../../../node_modules/.pnpm/typescript@4.9.5/node_modules/typescript/lib/lib.es2019.d.ts","../../../node_modules/.pnpm/typescript@4.9.5/node_modules/typescript/lib/lib.es2020.d.ts","../../../node_modules/.pnpm/typescript@4.9.5/node_modules/typescript/lib/lib.es2021.d.ts","../../../node_modules/.pnpm/typescript@4.9.5/node_modules/typescript/lib/lib.es2022.d.ts","../../../node_modules/.pnpm/typescript@4.9.5/node_modules/typescript/lib/lib.esnext.d.ts","../../../node_modules/.pnpm/typescript@4.9.5/node_modules/typescript/lib/lib.dom.d.ts","../../../node_modules/.pnpm/typescript@4.9.5/node_modules/typescript/lib/lib.es2015.core.d.ts","../../../node_modules/.pnpm/typescript@4.9.5/node_modules/typescript/lib/lib.es2015.collection.d.ts","../../../node_modules/.pnpm/typescript@4.9.5/node_modules/typescript/lib/lib.es2015.generator.d.ts","../../../node_modules/.pnpm/typescript@4.9.5/node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../../node_modules/.pnpm/typescript@4.9.5/node_modules/typescript/lib/lib.es2015.promise.d.ts","../../../node_modules/.pnpm/typescript@4.9.5/node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../../node_modules/.pnpm/typescript@4.9.5/node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../../node_modules/.pnpm/typescript@4.9.5/node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../../node_modules/.pnpm/typescript@4.9.5/node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../../node_modules/.pnpm/typescript@4.9.5/node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../../node_modules/.pnpm/typescript@4.9.5/node_modules/typescript/lib/lib.es2017.object.d.ts","../../../node_modules/.pnpm/typescript@4.9.5/node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../../node_modules/.pnpm/typescript@4.9.5/node_modules/typescript/lib/lib.es2017.string.d.ts","../../../node_modules/.pnpm/typescript@4.9.5/node_modules/typescript/lib/lib.es2017.intl.d.ts","../../../node_modules/.pnpm/typescript@4.9.5/node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../../node_modules/.pnpm/typescript@4.9.5/node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../../node_modules/.pnpm/typescript@4.9.5/node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../../node_modules/.pnpm/typescript@4.9.5/node_modules/typescript/lib/lib.es2018.intl.d.ts","../../../node_modules/.pnpm/typescript@4.9.5/node_modules/typescript/lib/lib.es2018.promise.d.ts","../../../node_modules/.pnpm/typescript@4.9.5/node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../../node_modules/.pnpm/typescript@4.9.5/node_modules/typescript/lib/lib.es2019.array.d.ts","../../../node_modules/.pnpm/typescript@4.9.5/node_modules/typescript/lib/lib.es2019.object.d.ts","../../../node_modules/.pnpm/typescript@4.9.5/node_modules/typescript/lib/lib.es2019.string.d.ts","../../../node_modules/.pnpm/typescript@4.9.5/node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../../node_modules/.pnpm/typescript@4.9.5/node_modules/typescript/lib/lib.es2019.intl.d.ts","../../../node_modules/.pnpm/typescript@4.9.5/node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../../node_modules/.pnpm/typescript@4.9.5/node_modules/typescript/lib/lib.es2020.date.d.ts","../../../node_modules/.pnpm/typescript@4.9.5/node_modules/typescript/lib/lib.es2020.promise.d.ts","../../../node_modules/.pnpm/typescript@4.9.5/node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../../node_modules/.pnpm/typescript@4.9.5/node_modules/typescript/lib/lib.es2020.string.d.ts","../../../node_modules/.pnpm/typescript@4.9.5/node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../../node_modules/.pnpm/typescript@4.9.5/node_modules/typescript/lib/lib.es2020.intl.d.ts","../../../node_modules/.pnpm/typescript@4.9.5/node_modules/typescript/lib/lib.es2020.number.d.ts","../../../node_modules/.pnpm/typescript@4.9.5/node_modules/typescript/lib/lib.es2021.promise.d.ts","../../../node_modules/.pnpm/typescript@4.9.5/node_modules/typescript/lib/lib.es2021.string.d.ts","../../../node_modules/.pnpm/typescript@4.9.5/node_modules/typescript/lib/lib.es2021.weakref.d.ts","../../../node_modules/.pnpm/typescript@4.9.5/node_modules/typescript/lib/lib.es2021.intl.d.ts","../../../node_modules/.pnpm/typescript@4.9.5/node_modules/typescript/lib/lib.es2022.array.d.ts","../../../node_modules/.pnpm/typescript@4.9.5/node_modules/typescript/lib/lib.es2022.error.d.ts","../../../node_modules/.pnpm/typescript@4.9.5/node_modules/typescript/lib/lib.es2022.intl.d.ts","../../../node_modules/.pnpm/typescript@4.9.5/node_modules/typescript/lib/lib.es2022.object.d.ts","../../../node_modules/.pnpm/typescript@4.9.5/node_modules/typescript/lib/lib.es2022.sharedmemory.d.ts","../../../node_modules/.pnpm/typescript@4.9.5/node_modules/typescript/lib/lib.es2022.string.d.ts","../../../node_modules/.pnpm/typescript@4.9.5/node_modules/typescript/lib/lib.esnext.intl.d.ts","../../ntypes/build/core.d.ts","../../ntypes/build/block.d.ts","../../ntypes/build/formula.d.ts","../../ntypes/build/user.d.ts","../../ntypes/build/collection.d.ts","../../ntypes/build/collection-view.d.ts","../../ntypes/build/maps.d.ts","../../ntypes/build/api.d.ts","../../ntypes/build/index.d.ts","../../../node_modules/.pnpm/is-url-superb@6.1.0/node_modules/is-url-superb/index.d.ts","../../nutils/build/index.d.ts","../../../node_modules/.pnpm/p-map@5.5.0/node_modules/p-map/index.d.ts","../src/types.ts","../src/notion-api.ts","../src/index.ts","../../../node_modules/.pnpm/@vitest+utils@0.31.0/node_modules/@vitest/utils/dist/types.d.ts","../../../node_modules/.pnpm/@vitest+utils@0.31.0/node_modules/@vitest/utils/dist/helpers.d.ts","../../../node_modules/.pnpm/pretty-format@27.5.1/node_modules/pretty-format/build/types.d.ts","../../../node_modules/.pnpm/pretty-format@27.5.1/node_modules/pretty-format/build/index.d.ts","../../../node_modules/.pnpm/@vitest+utils@0.31.0/node_modules/@vitest/utils/dist/index.d.ts","../../../node_modules/.pnpm/@vitest+runner@0.31.0/node_modules/@vitest/runner/dist/tasks-2a410173.d.ts","../../../node_modules/.pnpm/@vitest+runner@0.31.0/node_modules/@vitest/runner/dist/runner-7aa38127.d.ts","../../../node_modules/.pnpm/@vitest+runner@0.31.0/node_modules/@vitest/runner/dist/index.d.ts","../../../node_modules/.pnpm/@vitest+snapshot@0.31.0/node_modules/@vitest/snapshot/dist/environment-38cdead3.d.ts","../../../node_modules/.pnpm/@vitest+snapshot@0.31.0/node_modules/@vitest/snapshot/dist/index-6461367c.d.ts","../../../node_modules/.pnpm/@vitest+snapshot@0.31.0/node_modules/@vitest/snapshot/dist/index.d.ts","../../../node_modules/.pnpm/@types+chai@4.3.5/node_modules/@types/chai/index.d.ts","../../../node_modules/.pnpm/@vitest+expect@0.31.0/node_modules/@vitest/expect/dist/index.d.ts","../../../node_modules/.pnpm/@types+node@18.16.7/node_modules/@types/node/assert.d.ts","../../../node_modules/.pnpm/@types+node@18.16.7/node_modules/@types/node/assert/strict.d.ts","../../../node_modules/.pnpm/@types+node@18.16.7/node_modules/@types/node/globals.d.ts","../../../node_modules/.pnpm/@types+node@18.16.7/node_modules/@types/node/async_hooks.d.ts","../../../node_modules/.pnpm/@types+node@18.16.7/node_modules/@types/node/buffer.d.ts","../../../node_modules/.pnpm/@types+node@18.16.7/node_modules/@types/node/child_process.d.ts","../../../node_modules/.pnpm/@types+node@18.16.7/node_modules/@types/node/cluster.d.ts","../../../node_modules/.pnpm/@types+node@18.16.7/node_modules/@types/node/console.d.ts","../../../node_modules/.pnpm/@types+node@18.16.7/node_modules/@types/node/constants.d.ts","../../../node_modules/.pnpm/@types+node@18.16.7/node_modules/@types/node/crypto.d.ts","../../../node_modules/.pnpm/@types+node@18.16.7/node_modules/@types/node/dgram.d.ts","../../../node_modules/.pnpm/@types+node@18.16.7/node_modules/@types/node/diagnostics_channel.d.ts","../../../node_modules/.pnpm/@types+node@18.16.7/node_modules/@types/node/dns.d.ts","../../../node_modules/.pnpm/@types+node@18.16.7/node_modules/@types/node/dns/promises.d.ts","../../../node_modules/.pnpm/@types+node@18.16.7/node_modules/@types/node/domain.d.ts","../../../node_modules/.pnpm/@types+node@18.16.7/node_modules/@types/node/dom-events.d.ts","../../../node_modules/.pnpm/@types+node@18.16.7/node_modules/@types/node/events.d.ts","../../../node_modules/.pnpm/@types+node@18.16.7/node_modules/@types/node/fs.d.ts","../../../node_modules/.pnpm/@types+node@18.16.7/node_modules/@types/node/fs/promises.d.ts","../../../node_modules/.pnpm/@types+node@18.16.7/node_modules/@types/node/http.d.ts","../../../node_modules/.pnpm/@types+node@18.16.7/node_modules/@types/node/http2.d.ts","../../../node_modules/.pnpm/@types+node@18.16.7/node_modules/@types/node/https.d.ts","../../../node_modules/.pnpm/@types+node@18.16.7/node_modules/@types/node/inspector.d.ts","../../../node_modules/.pnpm/@types+node@18.16.7/node_modules/@types/node/module.d.ts","../../../node_modules/.pnpm/@types+node@18.16.7/node_modules/@types/node/net.d.ts","../../../node_modules/.pnpm/@types+node@18.16.7/node_modules/@types/node/os.d.ts","../../../node_modules/.pnpm/@types+node@18.16.7/node_modules/@types/node/path.d.ts","../../../node_modules/.pnpm/@types+node@18.16.7/node_modules/@types/node/perf_hooks.d.ts","../../../node_modules/.pnpm/@types+node@18.16.7/node_modules/@types/node/process.d.ts","../../../node_modules/.pnpm/@types+node@18.16.7/node_modules/@types/node/punycode.d.ts","../../../node_modules/.pnpm/@types+node@18.16.7/node_modules/@types/node/querystring.d.ts","../../../node_modules/.pnpm/@types+node@18.16.7/node_modules/@types/node/readline.d.ts","../../../node_modules/.pnpm/@types+node@18.16.7/node_modules/@types/node/readline/promises.d.ts","../../../node_modules/.pnpm/@types+node@18.16.7/node_modules/@types/node/repl.d.ts","../../../node_modules/.pnpm/@types+node@18.16.7/node_modules/@types/node/stream.d.ts","../../../node_modules/.pnpm/@types+node@18.16.7/node_modules/@types/node/stream/promises.d.ts","../../../node_modules/.pnpm/@types+node@18.16.7/node_modules/@types/node/stream/consumers.d.ts","../../../node_modules/.pnpm/@types+node@18.16.7/node_modules/@types/node/stream/web.d.ts","../../../node_modules/.pnpm/@types+node@18.16.7/node_modules/@types/node/string_decoder.d.ts","../../../node_modules/.pnpm/@types+node@18.16.7/node_modules/@types/node/test.d.ts","../../../node_modules/.pnpm/@types+node@18.16.7/node_modules/@types/node/timers.d.ts","../../../node_modules/.pnpm/@types+node@18.16.7/node_modules/@types/node/timers/promises.d.ts","../../../node_modules/.pnpm/@types+node@18.16.7/node_modules/@types/node/tls.d.ts","../../../node_modules/.pnpm/@types+node@18.16.7/node_modules/@types/node/trace_events.d.ts","../../../node_modules/.pnpm/@types+node@18.16.7/node_modules/@types/node/tty.d.ts","../../../node_modules/.pnpm/@types+node@18.16.7/node_modules/@types/node/url.d.ts","../../../node_modules/.pnpm/@types+node@18.16.7/node_modules/@types/node/util.d.ts","../../../node_modules/.pnpm/@types+node@18.16.7/node_modules/@types/node/v8.d.ts","../../../node_modules/.pnpm/@types+node@18.16.7/node_modules/@types/node/vm.d.ts","../../../node_modules/.pnpm/@types+node@18.16.7/node_modules/@types/node/wasi.d.ts","../../../node_modules/.pnpm/@types+node@18.16.7/node_modules/@types/node/worker_threads.d.ts","../../../node_modules/.pnpm/@types+node@18.16.7/node_modules/@types/node/zlib.d.ts","../../../node_modules/.pnpm/@types+node@18.16.7/node_modules/@types/node/globals.global.d.ts","../../../node_modules/.pnpm/@types+node@18.16.7/node_modules/@types/node/index.d.ts","../../../node_modules/.pnpm/esbuild@0.17.18/node_modules/esbuild/lib/main.d.ts","../../../node_modules/.pnpm/vite@4.3.5_@types+node@18.16.7/node_modules/vite/types/metadata.d.ts","../../../node_modules/.pnpm/vite@4.3.5_@types+node@18.16.7/node_modules/vite/types/hmrpayload.d.ts","../../../node_modules/.pnpm/vite@4.3.5_@types+node@18.16.7/node_modules/vite/types/customevent.d.ts","../../../node_modules/.pnpm/rollup@3.21.2/node_modules/rollup/dist/rollup.d.ts","../../../node_modules/.pnpm/vite@4.3.5_@types+node@18.16.7/node_modules/vite/types/importglob.d.ts","../../../node_modules/.pnpm/source-map-js@1.0.2/node_modules/source-map-js/source-map.d.ts","../../../node_modules/.pnpm/postcss@8.4.23/node_modules/postcss/lib/comment.d.ts","../../../node_modules/.pnpm/postcss@8.4.23/node_modules/postcss/lib/at-rule.d.ts","../../../node_modules/.pnpm/postcss@8.4.23/node_modules/postcss/lib/rule.d.ts","../../../node_modules/.pnpm/postcss@8.4.23/node_modules/postcss/lib/container.d.ts","../../../node_modules/.pnpm/postcss@8.4.23/node_modules/postcss/lib/declaration.d.ts","../../../node_modules/.pnpm/postcss@8.4.23/node_modules/postcss/lib/previous-map.d.ts","../../../node_modules/.pnpm/postcss@8.4.23/node_modules/postcss/lib/input.d.ts","../../../node_modules/.pnpm/postcss@8.4.23/node_modules/postcss/lib/css-syntax-error.d.ts","../../../node_modules/.pnpm/postcss@8.4.23/node_modules/postcss/lib/warning.d.ts","../../../node_modules/.pnpm/postcss@8.4.23/node_modules/postcss/lib/document.d.ts","../../../node_modules/.pnpm/postcss@8.4.23/node_modules/postcss/lib/root.d.ts","../../../node_modules/.pnpm/postcss@8.4.23/node_modules/postcss/lib/lazy-result.d.ts","../../../node_modules/.pnpm/postcss@8.4.23/node_modules/postcss/lib/no-work-result.d.ts","../../../node_modules/.pnpm/postcss@8.4.23/node_modules/postcss/lib/processor.d.ts","../../../node_modules/.pnpm/postcss@8.4.23/node_modules/postcss/lib/result.d.ts","../../../node_modules/.pnpm/postcss@8.4.23/node_modules/postcss/lib/node.d.ts","../../../node_modules/.pnpm/postcss@8.4.23/node_modules/postcss/lib/list.d.ts","../../../node_modules/.pnpm/postcss@8.4.23/node_modules/postcss/lib/postcss.d.ts","../../../node_modules/.pnpm/vite@4.3.5_@types+node@18.16.7/node_modules/vite/dist/node/index.d.ts","../../../node_modules/.pnpm/@vitest+runner@0.31.0/node_modules/@vitest/runner/dist/types.d.ts","../../../node_modules/.pnpm/@vitest+runner@0.31.0/node_modules/@vitest/runner/types.d.ts","../../../node_modules/.pnpm/@vitest+utils@0.31.0/node_modules/@vitest/utils/dist/diff.d.ts","../../../node_modules/.pnpm/@vitest+utils@0.31.0/node_modules/@vitest/utils/diff.d.ts","../../../node_modules/.pnpm/@vitest+runner@0.31.0/node_modules/@vitest/runner/dist/utils.d.ts","../../../node_modules/.pnpm/@vitest+runner@0.31.0/node_modules/@vitest/runner/utils.d.ts","../../../node_modules/.pnpm/tinybench@2.5.0/node_modules/tinybench/dist/index.d.ts","../../../node_modules/.pnpm/vite-node@0.31.0_@types+node@18.16.7/node_modules/vite-node/dist/types.d-1e7e3fdf.d.ts","../../../node_modules/.pnpm/vite@4.3.5_@types+node@18.16.7/node_modules/vite/types/hot.d.ts","../../../node_modules/.pnpm/vite-node@0.31.0_@types+node@18.16.7/node_modules/vite-node/dist/types-d9c0fafd.d.ts","../../../node_modules/.pnpm/vite-node@0.31.0_@types+node@18.16.7/node_modules/vite-node/dist/client.d.ts","../../../node_modules/.pnpm/@vitest+snapshot@0.31.0/node_modules/@vitest/snapshot/dist/manager.d.ts","../../../node_modules/.pnpm/@vitest+snapshot@0.31.0/node_modules/@vitest/snapshot/manager.d.ts","../../../node_modules/.pnpm/vite-node@0.31.0_@types+node@18.16.7/node_modules/vite-node/dist/server.d.ts","../../../node_modules/.pnpm/vite-node@0.31.0_@types+node@18.16.7/node_modules/vite-node/dist/index.d.ts","../../../node_modules/.pnpm/vitest@0.31.0/node_modules/vitest/dist/types-b7007192.d.ts","../../../node_modules/.pnpm/tinyspy@2.1.0/node_modules/tinyspy/dist/index.d.ts","../../../node_modules/.pnpm/@vitest+spy@0.31.0/node_modules/@vitest/spy/dist/index.d.ts","../../../node_modules/.pnpm/@vitest+snapshot@0.31.0/node_modules/@vitest/snapshot/dist/environment.d.ts","../../../node_modules/.pnpm/@vitest+snapshot@0.31.0/node_modules/@vitest/snapshot/environment.d.ts","../../../node_modules/.pnpm/vitest@0.31.0/node_modules/vitest/dist/config.d.ts","../../../node_modules/.pnpm/vitest@0.31.0/node_modules/vitest/dist/index.d.ts","../test/notion-api.test.ts","../../../node_modules/.pnpm/@types+eslint@8.37.0/node_modules/@types/eslint/helpers.d.ts","../../../node_modules/.pnpm/@types+estree@1.0.1/node_modules/@types/estree/index.d.ts","../../../node_modules/.pnpm/@types+json-schema@7.0.11/node_modules/@types/json-schema/index.d.ts","../../../node_modules/.pnpm/@types+eslint@8.37.0/node_modules/@types/eslint/index.d.ts","../../../node_modules/.pnpm/@types+eslint-scope@3.7.4/node_modules/@types/eslint-scope/index.d.ts","../../../node_modules/.pnpm/@types+node@18.16.5/node_modules/@types/node/util.d.ts","../../../node_modules/.pnpm/@types+node@18.16.6/node_modules/@types/node/util.d.ts","../../../node_modules/.pnpm/@types+node@18.16.5/node_modules/@types/node/fs.d.ts","../../../node_modules/.pnpm/@types+node@18.16.5/node_modules/@types/node/worker_threads.d.ts","../../../node_modules/.pnpm/vite@4.3.5_@types+node@18.16.5/node_modules/vite/dist/node/index.d.ts","../../../node_modules/.pnpm/vite-node@0.31.0_@types+node@18.16.5/node_modules/vite-node/dist/client.d.ts","../../../node_modules/.pnpm/vite-node@0.31.0_@types+node@18.16.5/node_modules/vite-node/dist/server.d.ts","../../../node_modules/.pnpm/vite-node@0.31.0_@types+node@18.16.5/node_modules/vite-node/dist/index.d.ts"],"fileInfos":[{"version":"8730f4bf322026ff5229336391a18bcaa1f94d4f82416c8b2f3954e2ccaae2ba","affectsGlobalScope":true},"dc47c4fa66b9b9890cf076304de2a9c5201e94b740cffdf09f87296d877d71f6","7a387c58583dfca701b6c85e0adaf43fb17d590fb16d5b2dc0a2fbd89f35c467","8a12173c586e95f4433e0c6dc446bc88346be73ffe9ca6eec7aa63c8f3dca7f9","5f4e733ced4e129482ae2186aae29fde948ab7182844c3a5a51dd346182c7b06","4b421cbfb3a38a27c279dec1e9112c3d1da296f77a1a85ddadf7e7a425d45d18","1fc5ab7a764205c68fa10d381b08417795fc73111d6dd16b5b1ed36badb743d9","746d62152361558ea6d6115cf0da4dd10ede041d14882ede3568bce5dc4b4f1f","d11a03592451da2d1065e09e61f4e2a9bf68f780f4f6623c18b57816a9679d17","aea179452def8a6152f98f63b191b84e7cbd69b0e248c91e61fb2e52328abe8c",{"version":"3aafcb693fe5b5c3bd277bd4c3a617b53db474fe498fc5df067c5603b1eebde7","affectsGlobalScope":true},{"version":"adb996790133eb33b33aadb9c09f15c2c575e71fb57a62de8bf74dbf59ec7dfb","affectsGlobalScope":true},{"version":"8cc8c5a3bac513368b0157f3d8b31cfdcfe78b56d3724f30f80ed9715e404af8","affectsGlobalScope":true},{"version":"cdccba9a388c2ee3fd6ad4018c640a471a6c060e96f1232062223063b0a5ac6a","affectsGlobalScope":true},{"version":"c5c05907c02476e4bde6b7e76a79ffcd948aedd14b6a8f56e4674221b0417398","affectsGlobalScope":true},{"version":"5f406584aef28a331c36523df688ca3650288d14f39c5d2e555c95f0d2ff8f6f","affectsGlobalScope":true},{"version":"22f230e544b35349cfb3bd9110b6ef37b41c6d6c43c3314a31bd0d9652fcec72","affectsGlobalScope":true},{"version":"7ea0b55f6b315cf9ac2ad622b0a7813315bb6e97bf4bb3fbf8f8affbca7dc695","affectsGlobalScope":true},{"version":"3013574108c36fd3aaca79764002b3717da09725a36a6fc02eac386593110f93","affectsGlobalScope":true},{"version":"eb26de841c52236d8222f87e9e6a235332e0788af8c87a71e9e210314300410a","affectsGlobalScope":true},{"version":"3be5a1453daa63e031d266bf342f3943603873d890ab8b9ada95e22389389006","affectsGlobalScope":true},{"version":"17bb1fc99591b00515502d264fa55dc8370c45c5298f4a5c2083557dccba5a2a","affectsGlobalScope":true},{"version":"7ce9f0bde3307ca1f944119f6365f2d776d281a393b576a18a2f2893a2d75c98","affectsGlobalScope":true},{"version":"6a6b173e739a6a99629a8594bfb294cc7329bfb7b227f12e1f7c11bc163b8577","affectsGlobalScope":true},{"version":"81cac4cbc92c0c839c70f8ffb94eb61e2d32dc1c3cf6d95844ca099463cf37ea","affectsGlobalScope":true},{"version":"b0124885ef82641903d232172577f2ceb5d3e60aed4da1153bab4221e1f6dd4e","affectsGlobalScope":true},{"version":"0eb85d6c590b0d577919a79e0084fa1744c1beba6fd0d4e951432fa1ede5510a","affectsGlobalScope":true},{"version":"da233fc1c8a377ba9e0bed690a73c290d843c2c3d23a7bd7ec5cd3d7d73ba1e0","affectsGlobalScope":true},{"version":"d154ea5bb7f7f9001ed9153e876b2d5b8f5c2bb9ec02b3ae0d239ec769f1f2ae","affectsGlobalScope":true},{"version":"bb2d3fb05a1d2ffbca947cc7cbc95d23e1d053d6595391bd325deb265a18d36c","affectsGlobalScope":true},{"version":"c80df75850fea5caa2afe43b9949338ce4e2de086f91713e9af1a06f973872b8","affectsGlobalScope":true},{"version":"9d57b2b5d15838ed094aa9ff1299eecef40b190722eb619bac4616657a05f951","affectsGlobalScope":true},{"version":"6c51b5dd26a2c31dbf37f00cfc32b2aa6a92e19c995aefb5b97a3a64f1ac99de","affectsGlobalScope":true},{"version":"6e7997ef61de3132e4d4b2250e75343f487903ddf5370e7ce33cf1b9db9a63ed","affectsGlobalScope":true},{"version":"2ad234885a4240522efccd77de6c7d99eecf9b4de0914adb9a35c0c22433f993","affectsGlobalScope":true},{"version":"5e5e095c4470c8bab227dbbc61374878ecead104c74ab9960d3adcccfee23205","affectsGlobalScope":true},{"version":"09aa50414b80c023553090e2f53827f007a301bc34b0495bfb2c3c08ab9ad1eb","affectsGlobalScope":true},{"version":"d7f680a43f8cd12a6b6122c07c54ba40952b0c8aa140dcfcf32eb9e6cb028596","affectsGlobalScope":true},{"version":"3787b83e297de7c315d55d4a7c546ae28e5f6c0a361b7a1dcec1f1f50a54ef11","affectsGlobalScope":true},{"version":"e7e8e1d368290e9295ef18ca23f405cf40d5456fa9f20db6373a61ca45f75f40","affectsGlobalScope":true},{"version":"faf0221ae0465363c842ce6aa8a0cbda5d9296940a8e26c86e04cc4081eea21e","affectsGlobalScope":true},{"version":"06393d13ea207a1bfe08ec8d7be562549c5e2da8983f2ee074e00002629d1871","affectsGlobalScope":true},{"version":"2768ef564cfc0689a1b76106c421a2909bdff0acbe87da010785adab80efdd5c","affectsGlobalScope":true},{"version":"b248e32ca52e8f5571390a4142558ae4f203ae2f94d5bac38a3084d529ef4e58","affectsGlobalScope":true},{"version":"6c55633c733c8378db65ac3da7a767c3cf2cf3057f0565a9124a16a3a2019e87","affectsGlobalScope":true},{"version":"fb4416144c1bf0323ccbc9afb0ab289c07312214e8820ad17d709498c865a3fe","affectsGlobalScope":true},{"version":"5b0ca94ec819d68d33da516306c15297acec88efeb0ae9e2b39f71dbd9685ef7","affectsGlobalScope":true},{"version":"34c839eaaa6d78c8674ae2c37af2236dee6831b13db7b4ef4df3ec889a04d4f2","affectsGlobalScope":true},{"version":"34478567f8a80171f88f2f30808beb7da15eac0538ae91282dd33dce928d98ed","affectsGlobalScope":true},{"version":"ab7d58e6161a550ff92e5aff755dc37fe896245348332cd5f1e1203479fe0ed1","affectsGlobalScope":true},{"version":"6bda95ea27a59a276e46043b7065b55bd4b316c25e70e29b572958fa77565d43","affectsGlobalScope":true},{"version":"aedb8de1abb2ff1095c153854a6df7deae4a5709c37297f9d6e9948b6806fa66","affectsGlobalScope":true},{"version":"a4da0551fd39b90ca7ce5f68fb55d4dc0c1396d589b612e1902f68ee090aaada","affectsGlobalScope":true},{"version":"11ffe3c281f375fff9ffdde8bbec7669b4dd671905509079f866f2354a788064","affectsGlobalScope":true},{"version":"52d1bb7ab7a3306fd0375c8bff560feed26ed676a5b0457fa8027b563aecb9a4","affectsGlobalScope":true},"004d51ae5891a31c241dccdf1427737a473103e224b18686c22fa219c57db0b8","dec2d46905e234281ec8f7a76dd4f549b616fd724931774b66a07ff035798259","7b0750229dd0ce4bc6cb07d5ca7f12909b32407a447fe54822a31c0881602f7a","f55748ad2b323acd2b83ffc2986c127159a5259c9c41efeec5ed44671ce7dad9","811266277238e26ddd3c69a7dbf68c8bd4d5056c849f03d5d635ebf538530a41","4b9756d8fbe68d465bc917e25e064ce03bed8bbef00f1ea21b5426a161bf6260","4e6ffc0bc1687a29b758b2f9306d73630c85880c6a0e1c6cd8b1c4e48f5710dc","db86f55c53c1ef5bcb319e7d1beac829350045397de4924f5d2fc48e91761d0a","9774e4cba646bb2fcf479637414f9077a934c9c6f2cda511eff3d4d0660a0d18","a87e5902fd92d16a80e0020ac03d6477bc2e7a6f5b0407a73aff6b7aa9e01d55","e0752af11785862ebb79ba95983aaec120c7287e9a50832c6191490bdc60eaf2","177efa90a97917618cef3f68b04ee95c393fceea045dfc0aef2820d5aaa9e8f0",{"version":"360962f66a42aff768e743281f7183170461c17e19aebfbdef778c881670de96","signature":"d5d1670e045dc023fdb8ae37427030307657b5ce1b32db234206b6d995666bd9"},{"version":"03bf07e73522198b82777a097a76ce8ee492ebf84f855a69a9b0b6aacaebf5a7","signature":"bb237ef75066f19883df8e7b029ebcd53a3d6515c1eb5513a349a61d57b9f6b4"},{"version":"8dd2426de9a517e1ce122569401b458a8b29f729a454bd5690a9fcddade3a862","signature":"1f1a827c10c5cb746dd89e59dacec8a974aec6291ecbb5e1fac12af322b253fc"},"19ce9ec982b542ef6d04d29ce678aad2fa52a67d8087e9c6cd95a4d6d98784c8","4af47b2f19621ce8f638167a32f141a3a2c0e71ce8ebf51384393ca1c2654e60","462bccdf75fcafc1ae8c30400c9425e1a4681db5d605d1a0edb4f990a54d8094","5923d8facbac6ecf7c84739a5c701a57af94a6f6648d6229a6c768cf28f0f8cb","0beeeb5964025d8564c03cb0bf1a4b60dc40c01f065ad1a4e9030415f5bc7bc2","e10058609dd9751913eca9baefb8ae50bc9d2c72e1e6f6a26bdf9ecffa9e0195","93298d8e9e1817931c85d6887c81b9bb107835aa6d424843560ec7610b379439","2249bec3922f9a1ff1c8fd7f9b557e2396482b1c88ee9b21875b9d1d97fd4641","73b67d2e87ac7d7baaca64ca33fd1523c0b3c850cb7db5b9c014f1be7996bed1","5d5ae61fce1581fd6424269790a9071e3f8e69b029f5d0fcb46ce618c5dbc565","38a0ccc7106312a9f60e034e7cd8ac218774d8aa65f832cee3363a7e65f99325",{"version":"c3bc5d095c3c22fd20b5a6550b9c9a6d56c3ffbb87ef057ccce7764b6bed4428","affectsGlobalScope":true},{"version":"5067a3dba2527a6158fc803a233b66f8eeea2f9795d959670858c588cda85387","affectsGlobalScope":true},"7e771891adaa85b690266bc37bd6eb43bc57eecc4b54693ead36467e7369952a","a69c09dbea52352f479d3e7ac949fde3d17b195abe90b045d619f747b38d6d1a",{"version":"f749812878fecfa53cfc13b36e5d35086fb6377983a9df44175da83ccc23af1f","affectsGlobalScope":true},"7d2e3fea24c712c99c03ad8f556abedbfe105f87f1be10b95dbd409d24bc05a3",{"version":"211e3f15fbced4ab4be19f49ffa990b9ff20d749d33b65ff753be691e7616239","affectsGlobalScope":true},"a61bee062e86568207a22cb56f146b398a2f1e1c2ab68d3498b7bca7e9d85d08","5a94487653355b56018122d92392beb2e5f4a6c63ba5cef83bbe1c99775ef713",{"version":"d5135ad93b33adcce80b18f8065087934cdc1730d63db58562edcf017e1aad9b","affectsGlobalScope":true},"82408ed3e959ddc60d3e9904481b5a8dc16469928257af22a3f7d1a3bc7fd8c4","e596c9bb2f29a2699fdd4ae89139612652245192f67f45617c5a4b20832aaae9","bb9c4ffa5e6290c6980b63c815cdd1625876dadb2efaf77edbe82984be93e55e","1cdcfc1f624d6c08aa12c73935f6e13f095919cd99edf95752951796eb225729","216717f17c095cde1dc19375e1ab3af0a4a485355860c077a4f9d6ea59fab5b5","14b5aa23c5d0ae1907bc696ac7b6915d88f7d85799cc0dc2dcf98fbce2c5a67c","5c439dafdc09abe4d6c260a96b822fa0ba5be7203c71a63ab1f1423cd9e838ea",{"version":"6b526a5ec4a401ca7c26cfe6a48e641d8f30af76673bad3b06a1b4504594a960","affectsGlobalScope":true},{"version":"00dee7cdca8b8420c47ea4a31a34b8e8294013ebc4f463fd941e867e7bf05029","affectsGlobalScope":true},"3256f3cccd578f9e7fe3a28096c505634bebcee8afb738ffa99368e536ca3a0b","1c84b46267610a34028edfd0d035509341751262bac1062857f3c8df7aff7153","7f138842074d0a40681775af008c8452093b68c383c94de31759e853c6d06b5c","a3d541d303ee505053f5dcbf9fafb65cac3d5631037501cd616195863a6c5740","8d3c583a07e0c37e876908c2d5da575019f689df8d9fa4c081d99119d53dba22","2c828a5405191d006115ab34e191b8474bc6c86ffdc401d1a9864b1b6e088a58",{"version":"e630e5528e899219ae319e83bef54bf3bcb91b01d76861ecf881e8e614b167f0","affectsGlobalScope":true},"bcebb922784739bdb34c18ee51095d25a92b560c78ccd2eaacd6bd00f7443d83","7ee6ed878c4528215c82b664fe0cfe80e8b4da6c0d4cc80869367868774db8b1","b0973c3cbcdc59b37bf477731d468696ecaf442593ec51bab497a613a580fe30",{"version":"4989e92ba5b69b182d2caaea6295af52b7dc73a4f7a2e336a676722884e7139d","affectsGlobalScope":true},{"version":"0715e4cd28ad471b2a93f3e552ff51a3ae423417a01a10aa1d3bc7c6b95059d6","affectsGlobalScope":true},"5153a2fd150e46ce57bb3f8db1318d33f6ad3261ed70ceeff92281c0608c74a3","210d54cd652ec0fec8c8916e4af59bb341065576ecda039842f9ffb2e908507c","36b03690b628eab08703d63f04eaa89c5df202e5f1edf3989f13ad389cd2c091","0effadd232a20498b11308058e334d3339cc5bf8c4c858393e38d9d4c0013dcf","25846d43937c672bab7e8195f3d881f93495df712ee901860effc109918938cc","4f3fdeba4e28e21aa719c081b8dc8f91d47e12e773389b9d35679c08151c9d37","1b952304137851e45bc009785de89ada562d9376177c97e37702e39e60c2f1ff","69ee23dd0d215b09907ad30d23f88b7790c93329d1faf31d7835552a10cf7cbf","44b8b584a338b190a59f4f6929d072431950c7bd92ec2694821c11bce180c8a5","23b89798789dffbd437c0c423f5d02d11f9736aea73d6abf16db4f812ff36eda","f69ff39996a61a0dd10f4bce73272b52e8024a4d58b13ab32bf4712909d0a2b7",{"version":"3c4ba1dd9b12ffa284b565063108f2f031d150ea15b8fafbdc17f5d2a07251f3","affectsGlobalScope":true},"e10177274a35a9d07c825615340b2fcde2f610f53f3fb40269fd196b4288dda6","1422cd9e705adcc09088fda85a900c2b70e3ad36ea85846f68bd1a884cdf4e2b","3c13ef48634e7b5012fcf7e8fce7496352c2d779a7201389ca96a2a81ee4314d","5d0a25ec910fa36595f85a67ac992d7a53dd4064a1ba6aea1c9f14ab73a023f2",{"version":"a73ae8c0e62103bb9e21bb6538700881bf135b9a8b125b857ec68edfa0da4ed3","affectsGlobalScope":true},{"version":"e1c1b2fbe236bf7ee3e342eeae7e20efb8988a0ac7da1cbbfa2c1f66b76c3423","affectsGlobalScope":true},"868831cab82b65dfe1d68180e898af1f2101e89ba9b754d1db6fb8cc2fac1921","0fe8985a28f82c450a04a6edf1279d7181c0893f37da7d2a27f8efd4fd5edb03","e59a892d87e72733e2a9ca21611b9beb52977be2696c7ba4b216cbbb9a48f5aa",{"version":"52120bb7e4583612225bdf08e7c12559548170f11e660d33a33623bae9bbdbba","affectsGlobalScope":true},"8a300fa9b698845a1f9c41ecbe2c5966634582a8e2020d51abcace9b55aa959e",{"version":"ab9b9a36e5284fd8d3bf2f7d5fcbc60052f25f27e4d20954782099282c60d23e","affectsGlobalScope":true},"a6dd3dba8e665ac43d279e0fdf5219edda0eed69b5e9a5061f46cd6a65c4f7a1","99d951629f7096dcd79adbaa83a85e3be57613005533bd23029b3aba4ce9383e","8f07f2b6514744ac96e51d7cb8518c0f4de319471237ea10cf688b8d0e9d0225","bcb6ea18f23dae2c48459d7b86d3adccd6898f824fcbf9da08b935f559896580","0aa7220845f5f3902fe043f646f9d9218bd7dd6c4046e8471580866ea6b03aa2","65570ad7e2ac88e024dd1f50844db3b9106e044871529e71d377967e3b590ed7","739c2c46edc112421fc023c24b4898b1f413f792bb6a02b40ba182c648e56c2f","858d0d831826c6eb563df02f7db71c90e26deadd0938652096bea3cc14899700","ae128dd11edfae24d9dfc6bc60390e488cec3792e4dd80115e422b5c2e1524cf","cef246ba183aff9bdb98831690ffcd1603655ea23ce38252e3db3ce3e06d262c","9d110b91e4c091ceee9d360ec425737580fd0d531bdb2d4f77e203c520d4da4c","96826ee13c04e92150ae68c6d89bf6ab7970abeca6e1a41cc59c5dcacefb4526","cb81640e895111bdf71201045f0f6664663cb0120e05a03f91e978b6a4ea2dd7","0d598aeda14bcdaa823b05a043eb7c18045c0a17fc3594d2387a11c09a5ff64b","be0db7e6060868cbabb02b3400fbaad4471d0815ce49d1b0f1e027296017b710","dbdec414a2de11b47a0bc8e2a0a93397235878ca7e6c02b62570e0a72faa878e","d9f79888a9ecee73c3cb33ae3eaaacb973dc96d0537599300d3dcb50ed1a1cf3","7ad14170a7f1f59dbe90ca3747699396f4a320921c7c560aa53f05022221df13","096c2a810f50f8a8b5bbb336ee32476d7882ffd93b2ee50ec5d4c1a9d5c209cf","6be9369a41da87241c164021631f20fe4706daf9f82a33c754974c6f4eade3cd","2eb26714666406e7c6c3ad3482da148781845b50a354a351d28bd5dba1a3f88a","022a6fbd269120763350030e66333f8c084a328ce7d6f6414d9cd49d834cbc77","4f85fea72dfeb24be05b650d680a21bda8324430bbfb437af9452630c9c740c1","179bfe3e835098360fdfa7f1c139c01b83c00410dccac214b3c71f16d949044b","18af117b1a77567a980c6ab6611be835e809300af6b511a2093208dc14ad2f7c","59345c3c2297677cb323f5f70df756776ae8eec2c97e6254e0739f711ab39131","745dc480fe54b1c4f0207d9919020656218dfdab72b99ac5ef3b94666f1b8696","96e5937f28bc113d422e7659bf3c3dc985e605b44138c146f34f1ba5534908a7","1c53e1884dc6550ce179c68e9e3086f54af258fff39eb70274ea9294eb7ce6df","2d57bdaafc7cd0ebc006f0e77c869d6fe6148809c08e8b5677aef4150cf4a7c7","05c7aef6a4e496b93c2e682cced8903c0dfe6340d04f3fe616176e2782193435","0cd37f8a6c65f58079c0f71e7b37cd43967b0bc7e553d5d8cbb4b3182ec00077","e666e31d323fef5642f87db0da48a83e58f0aaf9e3823e87eabd8ec7e0441a36","caeae351358d6c5b8da971c4ba7973987cbbbe4766081d07394e51c5544c8727","d12ab69ace581804d4f264eabc71094ca8dadfa70ae2bf5ccd54a8d6105ab84b","4d5fb5d6b35f731b2ae4d9d7c592d48e91d6de531dd130628edf4eba16add893","1c704b3dc2862b9339b905444ee068dabab81b7d5182d50dfdaa94df98a00f72","cb0f8bf022bb340289280e1636d86ec16413717e4c293f5084a8a334aceefcf4","e72396ce544667ab49df38ffb91cb3f80ff17d2ad3df903ec30b1d2ca8ea68de","b7e28e06011460436d5c2ec2996846ac0c451e135357fc5a7269e5665a32fbd7","328776011891b31306463a1a9770cc116e11f4a9012498611721e5600ce5e1da","78f3672e66ee22f151482bdc019118f338df727a2f2d8ffe354a9b1a0cb66cf0","53fb265a78958b859326dfe145270b175644871007110836be5bba3ed4013ac7","9a82b3cd322d6b46c2407c162bbfd0b13edc9d23dced719a751a481b985690a0","2d37a18dbc84466a72a4b00d0293ecfe3170fc664ca32126db0b7eace05824d5","f63e23230f3960b712450cf08f0f31e56acdae3ce65e0bf31bfdd6442b29d115","f2d1a59a658165341b0e2b7879aa2e19ea6a709146b2d3f70ee8a07159d3d08e","18e13310b5319738de2469661f9f86478e2e6bde65c2d493a5f8e3d872fb47ae","d42961d227c4d7dd39fe0783ee6fede42f9840493a340a0fef65dd89acf30646",{"version":"e90bc3549246e1fe7456e13cf6e5c62d928996c82f407c49f0b2710930deb5d8","signature":"f761c91419d0a89422a0004ef1a92929dd4d2d5e5c16758654d8b0467d1998c6"},{"version":"64d4b35c5456adf258d2cf56c341e203a073253f229ef3208fc0d5020253b241","affectsGlobalScope":true},"bee89e1eb6425eb49894f3f25e4562dc2564e84e5aa7610b7e13d8ecddf8f5db","f3e604694b624fa3f83f6684185452992088f5efb2cf136b62474aa106d6f1b6","dea2650c477f53d503a27f78ed17b13d7184c2f922eb4d3367ccf52634765467","e050a0afcdbb269720a900c85076d18e0c1ab73e580202a2bf6964978181222a"],"options":{"declaration":true,"declarationMap":true,"emitDeclarationOnly":true,"esModuleInterop":true,"module":99,"noEmitOnError":true,"noFallthroughCasesInSwitch":true,"noImplicitReturns":true,"noUnusedLocals":true,"noUnusedParameters":true,"outDir":"./","rootDir":"..","sourceMap":true,"strict":false,"target":2,"tsBuildInfoFile":"./.tsbuildinfo"},"fileIdsList":[[130],[130,188,190],[130,187,188,189],[84,130],[87,130],[88,93,121,130],[89,100,101,108,118,129,130],[89,90,100,108,130],[91,130],[92,93,101,109,130],[93,118,126,130],[94,96,100,108,130],[95,130],[96,97,130],[100,130],[98,100,130],[100,101,102,118,129,130],[100,101,102,115,118,121,130],[130,134],[96,100,103,108,118,129,130],[100,101,103,104,108,118,126,129,130],[103,105,118,126,129,130],[84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136],[100,106,130],[107,129,130],[96,100,108,118,130],[109,130],[110,130],[87,111,130],[112,128,130,134],[113,130],[114,130],[100,115,116,130],[115,117,130,132],[88,100,118,119,120,121,130],[88,118,120,130],[118,119,130],[121,130],[122,130],[100,124,125,130],[124,125,130],[93,108,118,126,130],[127,130],[108,128,130],[88,103,114,129,130],[93,130],[118,130,131],[130,132],[130,133],[88,93,100,102,111,118,129,130,132,134],[118,130,135],[75,82,130],[75,76,77,130],[76,130],[75,130],[75,76,130,167],[130,164],[130,168],[79,130],[74,79,130],[74,79,80,130],[130,182],[130,175],[130,180],[130,166],[71,130],[71,72,74,130],[130,148],[130,148,160],[130,145,146,147,149,160],[130,151],[130,148,155,159,162],[130,150,162],[130,153,155,158,159,162],[130,153,155,156,158,159,162],[130,145,146,147,148,149,151,152,153,154,155,159,162],[130,144,145,146,147,148,149,151,152,153,154,155,156,158,159,160,161],[130,144,162],[130,155,156,157,159,162],[130,158,162],[130,148,154,159,162],[130,152,160],[73,130],[130,144],[130,171,172,173],[130,163,171,172,173,179],[130,171,172],[100,101,103,105,108,118,126,129,130,135,137,138,139,140,141,142,143,162],[130,140],[130,141],[130,142],[75,78,81,82,83,101,130,134,163,165,169,170,174,176,177,178,179],[75,78,81,82,83,101,130,134,163,165,169,170,174,176,177,178,179,181,183,184],[68,69,130],[64,66,67,68,130],[64,130],[69,130,185],[62,130],[56,130],[56,58,130],[56,57,58,59,60,61,62,63,130],[56,57,59,60,61,130],[64,65,130],[192],[188,190,193],[193],[187,188,189,193],[75,82,192],[75,76,77,192],[76,192],[75,192],[75,76,167,192],[164,192],[168,192],[79,192],[74,79,192],[74,79,80,192],[182,192],[175,192],[180,192],[166,192],[71,192],[71,72,74,192],[148,192],[148,160,192],[145,146,147,149,160,192],[151,192],[148,155,159,162,192],[150,162,192],[153,155,158,159,162,192],[153,155,156,158,159,162,192],[145,146,147,148,149,151,152,153,154,155,159,162,192],[144,145,146,147,148,149,151,152,153,154,155,156,158,159,160,161,192],[144,162,192],[155,156,157,159,162,192],[158,162,192],[148,154,159,162,192],[152,160,192],[73,192],[144,192],[75,78,81,82,83,165,169,170,176,179,192,194,195,196,197,198,199],[75,78,81,82,83,165,169,170,176,179,181,183,184,192,194,195,196,197,198,199],[68,69],[64,68],[64],[62,193],[56,193],[56,58,193],[56,57,58,59,60,61,62,63,193],[56,57,59,60,61,193],[64,65,193]],"referencedMap":[[82,1],[191,2],[187,1],[190,3],[188,1],[189,1],[84,4],[85,4],[87,5],[88,6],[89,7],[90,8],[91,9],[92,10],[93,11],[94,12],[95,13],[96,14],[97,14],[99,15],[98,16],[100,15],[101,17],[102,18],[86,19],[136,1],[103,20],[104,21],[105,22],[137,23],[106,24],[107,25],[108,26],[109,27],[110,28],[111,29],[112,30],[113,31],[114,32],[115,33],[116,33],[117,34],[118,35],[120,36],[119,37],[121,38],[122,39],[123,1],[124,40],[125,41],[126,42],[127,43],[128,44],[129,45],[130,46],[131,47],[132,48],[133,49],[134,50],[135,51],[83,52],[78,53],[77,54],[76,55],[164,53],[168,56],[165,57],[169,58],[79,1],[182,59],[80,60],[81,61],[175,61],[183,62],[176,63],[181,64],[167,65],[166,1],[72,66],[75,67],[71,1],[138,1],[65,1],[67,1],[146,68],[145,69],[148,70],[152,71],[149,69],[154,72],[151,73],[156,74],[161,1],[157,75],[160,76],[162,77],[150,78],[158,79],[159,80],[155,81],[147,68],[153,82],[74,83],[73,1],[142,1],[144,84],[170,1],[180,1],[11,1],[13,1],[12,1],[2,1],[14,1],[15,1],[16,1],[17,1],[18,1],[19,1],[20,1],[21,1],[3,1],[4,1],[25,1],[22,1],[23,1],[24,1],[26,1],[27,1],[28,1],[5,1],[29,1],[30,1],[31,1],[32,1],[6,1],[36,1],[33,1],[34,1],[35,1],[37,1],[7,1],[38,1],[43,1],[44,1],[39,1],[40,1],[41,1],[42,1],[8,1],[48,1],[45,1],[46,1],[47,1],[49,1],[9,1],[50,1],[51,1],[52,1],[53,1],[54,1],[1,1],[10,1],[55,1],[174,85],[178,85],[177,86],[173,87],[171,1],[163,88],[141,89],[140,1],[172,90],[143,1],[139,91],[184,92],[185,93],[179,92],[70,94],[69,95],[68,96],[186,97],[63,98],[57,99],[61,99],[60,100],[56,1],[58,99],[64,101],[62,102],[59,99],[66,103]],"exportedModulesMap":[[82,104],[191,105],[187,106],[190,107],[188,106],[189,106],[84,4],[85,4],[87,5],[88,6],[89,7],[90,8],[91,9],[92,10],[93,11],[94,12],[95,13],[96,14],[97,14],[99,15],[98,16],[100,15],[101,17],[102,18],[86,19],[136,1],[103,20],[104,21],[105,22],[137,23],[106,24],[107,25],[108,26],[109,27],[110,28],[111,29],[112,30],[113,31],[114,32],[115,33],[116,33],[117,34],[118,35],[120,36],[119,37],[121,38],[122,39],[123,1],[124,40],[125,41],[126,42],[127,43],[128,44],[129,45],[130,46],[131,47],[132,48],[133,49],[134,50],[135,51],[83,108],[78,109],[77,110],[76,111],[164,109],[168,112],[165,113],[169,114],[79,104],[182,115],[80,116],[81,117],[175,117],[183,118],[176,119],[181,120],[167,121],[166,104],[72,122],[75,123],[71,104],[138,104],[65,104],[67,104],[146,124],[145,125],[148,126],[152,127],[149,125],[154,128],[151,129],[156,130],[161,104],[157,131],[160,132],[162,133],[150,134],[158,135],[159,136],[155,137],[147,124],[153,138],[74,139],[73,104],[142,104],[144,140],[170,104],[180,104],[11,104],[13,104],[12,104],[2,104],[14,104],[15,104],[16,104],[17,104],[18,104],[19,104],[20,104],[21,104],[3,104],[4,104],[25,104],[22,104],[23,104],[24,104],[26,104],[27,104],[28,104],[5,104],[29,104],[30,104],[31,104],[32,104],[6,104],[36,104],[33,104],[34,104],[35,104],[37,104],[7,104],[38,104],[43,104],[44,104],[39,104],[40,104],[41,104],[42,104],[8,104],[48,104],[45,104],[46,104],[47,104],[49,104],[9,104],[50,104],[51,104],[52,104],[53,104],[54,104],[1,104],[10,104],[55,104],[174,85],[178,85],[177,86],[173,87],[171,1],[163,88],[141,89],[140,1],[172,90],[143,1],[139,91],[184,141],[185,142],[179,141],[70,143],[69,144],[68,145],[63,146],[57,147],[61,147],[60,148],[56,106],[58,147],[64,149],[62,150],[59,147],[66,151]],"semanticDiagnosticsPerFile":[82,191,187,190,188,189,84,85,87,88,89,90,91,92,93,94,95,96,97,99,98,100,101,102,86,136,103,104,105,137,106,107,108,109,110,111,112,113,114,115,116,117,118,120,119,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,83,78,77,76,164,168,165,169,79,182,80,81,175,183,176,181,167,166,72,75,71,138,65,67,146,145,148,152,149,154,151,156,161,157,160,162,150,158,159,155,147,153,74,73,142,144,170,180,11,13,12,2,14,15,16,17,18,19,20,21,3,4,25,22,23,24,26,27,28,5,29,30,31,32,6,36,33,34,35,37,7,38,43,44,39,40,41,42,8,48,45,46,47,49,9,50,51,52,53,54,1,10,55,174,178,177,173,171,163,141,140,172,143,139,184,185,179,70,69,68,186,63,57,61,60,56,58,64,62,59,66]},"version":"4.9.5"}
|
package/build/index.js
ADDED
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{getBlockCollectionId as H,getPageContentBlockIds as C,parsePageId as E,uuidToId as Q}from"@texonom/nutils";import J from"p-map";var L=class{constructor({apiBaseUrl:r="https://www.notion.so/api/v3",authToken:n,activeUser:e,userTimeZone:a="America/New_York"}={}){this._apiBaseUrl=r,this._authToken=n,this._activeUser=e,this._userTimeZone=a}async getPage(r,{concurrency:n=3,fetchMissingBlocks:e=!0,fetchCollections:a=!0,signFileUrls:o=!0,chunkLimit:s=100,chunkNumber:p=0,fetchOption:i}={}){let y=await this.getPageRaw(r,{chunkLimit:s,chunkNumber:p,fetchOption:i}),t=y==null?void 0:y.recordMap;if(!(t!=null&&t.block))throw new Error(`Notion page not found "${Q(r)}"`);if(t.collection=t.collection??{},t.collection_view=t.collection_view??{},t.notion_user=t.notion_user??{},t.collection_query={},t.signed_urls={},e)for(;;){let d=C(t).filter(u=>!t.block[u]);if(!d.length)break;let l=await this.getBlocks(d,i).then(u=>u.recordMap.block);t.block={...t.block,...l}}let _=C(t);if(a){let d=_.flatMap(l=>{var m;let u=t.block[l].value,h=u&&(u.type==="collection_view"||u.type==="collection_view_page")&&H(u,t);return h?(m=u.view_ids)==null?void 0:m.map(b=>({collectionId:h,collectionViewId:b})):[]});await J(d,async l=>{var b,k;let{collectionId:u,collectionViewId:h}=l,m=(b=t.collection_view[h])==null?void 0:b.value;try{let g=await this.getCollectionData(u,h,m,{fetchOption:i});t.block={...t.block,...g.recordMap.block},t.collection={...t.collection,...g.recordMap.collection},t.collection_view={...t.collection_view,...g.recordMap.collection_view},t.notion_user={...t.notion_user,...g.recordMap.notion_user},t.collection_query[u]={...t.collection_query[u],[h]:(k=g.result)==null?void 0:k.reducerResults}}catch(g){console.warn("NotionAPI collectionQuery error",r,g.message),console.error(g)}},{concurrency:n})}return o&&await this.addSignedUrls({recordMap:t,contentBlockIds:_,fetchOption:i}),t}async addSignedUrls({recordMap:r,contentBlockIds:n,fetchOption:e={}}){r.signed_urls={},n||(n=C(r));let a=n.flatMap(o=>{var p,i,y,t,_,d;let s=(p=r.block[o])==null?void 0:p.value;if(s&&(s.type==="pdf"||s.type==="audio"||s.type==="image"&&((i=s.file_ids)!=null&&i.length)||s.type==="video"||s.type==="file"||s.type==="page")){let l=s.type==="page"?(y=s.format)==null?void 0:y.page_cover:(d=(_=(t=s.properties)==null?void 0:t.source)==null?void 0:_[0])==null?void 0:d[0];if(l)return l.includes("secure.notion-static.com")?{permissionRecord:{table:"block",id:s.id},url:l}:[]}return[]});if(a.length>0)try{let{signedUrls:o}=await this.getSignedFileUrls(a,e);if(o.length===a.length)for(let s=0;s<a.length;++s){let p=a[s],i=o[s];r.signed_urls[p.permissionRecord.id]=i}}catch(o){console.warn("NotionAPI getSignedfileUrls error",o)}}async getPageRaw(r,{fetchOption:n,chunkLimit:e=100,chunkNumber:a=0}={}){let o=E(r);if(!o)throw new Error(`invalid notion pageId "${r}"`);let s={pageId:o,limit:e,chunkNumber:a,cursor:{stack:[]},verticalColumns:!1};return this.fetch({endpoint:"loadPageChunk",body:s,fetchOption:n})}async getCollectionData(r,n,e,{limit:a=9999,searchQuery:o="",userTimeZone:s=this._userTimeZone,loadContentCover:p=!0,fetchOption:i}={}){var u,h,m,b,k,g,B,P,R,F,x,S;let y=e==null?void 0:e.type,t=y==="board",_=t?(u=e==null?void 0:e.format)==null?void 0:u.board_columns_by:(h=e==null?void 0:e.format)==null?void 0:h.collection_group_by,d=[];(m=e==null?void 0:e.format)!=null&&m.property_filters&&(d=(b=e.format)==null?void 0:b.property_filters.map(f=>{var U,q;return{filter:(U=f==null?void 0:f.filter)==null?void 0:U.filter,property:(q=f==null?void 0:f.filter)==null?void 0:q.property}})),(g=(k=e==null?void 0:e.query2)==null?void 0:k.filter)!=null&&g.filters&&d.push(...e.query2.filter.filters);let l={type:"reducer",reducers:{collection_group_results:{type:"results",limit:a,loadContentCover:p}},sort:[],...e==null?void 0:e.query2,filter:{filters:d,operator:"and"},searchQuery:o,userTimeZone:s};if(_){let f=((B=e==null?void 0:e.format)==null?void 0:B.board_columns)||((P=e==null?void 0:e.format)==null?void 0:P.collection_groups)||[],U=[t?"board":"group_aggregation","results"],q={checkbox:"checkbox_is",url:"string_starts_with",text:"string_starts_with",select:"enum_is",multi_select:"enum_contains",created_time:"date_is_within",undefined:"is_empty"},M={};for(let v of f){let{property:A,value:{value:c,type:$}}=v;for(let T of U){let D=T==="results"?{type:T,limit:a}:{type:"aggregation",aggregation:{aggregator:"count"}},I=typeof c>"u",N=c==null?void 0:c.range,Z=I?"uncategorized":N?((R=c.range)==null?void 0:R.start_date)||((F=c.range)==null?void 0:F.end_date):(c==null?void 0:c.value)||c,z=!I&&(N||(c==null?void 0:c.value)||c);M[`${T}:${$}:${Z}`]={...D,filter:{operator:"and",filters:[{property:A,filter:{operator:I?"is_empty":q[$],...!I&&{value:{type:"exact",value:z}}}}]}}}}l={type:"reducer",reducers:{[t?"board_columns":`${y}_groups`]:{type:"groups",groupBy:_,...((x=e==null?void 0:e.query2)==null?void 0:x.filter)&&{filter:(S=e==null?void 0:e.query2)==null?void 0:S.filter},groupSortPreference:f.map(v=>v==null?void 0:v.value),limit:a},...M},...e==null?void 0:e.query2,searchQuery:o,userTimeZone:s,filter:{filters:d,operator:"and"}}}return this.fetch({endpoint:"queryCollection",body:{collection:{id:r},collectionView:{id:n},loader:l},fetchOption:i})}async getUsers(r,n){return this.fetch({endpoint:"getRecordValues",body:{requests:r.map(e=>({id:e,table:"notion_user"}))},fetchOption:n})}async getBlocks(r,n){return this.fetch({endpoint:"syncRecordValues",body:{requests:r.map(e=>({table:"block",id:e,version:-1}))},fetchOption:n})}async getSignedFileUrls(r,n){return this.fetch({endpoint:"getSignedFileUrls",body:{urls:r},fetchOption:n})}async search(r,n){let e={type:"BlocksInAncestor",source:"quick_find_public",ancestorId:E(r.ancestorId),sort:"Relevance",limit:r.limit||20,query:r.query,filters:{isDeletedOnly:!1,isNavigableOnly:!1,excludeTemplates:!0,requireEditPermissions:!1,ancestors:[],createdBy:[],editedBy:[],lastEditedTime:{},createdTime:{},...r.filters}};return this.fetch({endpoint:"search",body:e,fetchOption:n})}async fetch({endpoint:r,body:n,fetchOption:e,headers:a}){let o={...a,...e==null?void 0:e.headers,"Content-Type":"application/json"};this._authToken&&(o.cookie=`token_v2=${this._authToken}`),this._activeUser&&(o["x-notion-active-user-header"]=this._activeUser);let s=`${this._apiBaseUrl}/${r}`,p={method:"post",body:JSON.stringify(n),headers:o,...e};if((e==null?void 0:e.timeout)!==void 0){let i=new AbortController;setTimeout(()=>i.abort(),e.timeout),p.signal=i.signal}return fetch(s,p).then(i=>i.json())}};export{L as NotionAPI};
|
|
2
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/notion-api.ts"],"sourcesContent":["// import { promises as fs } from 'fs'\nimport * as notion from '@texonom/ntypes'\nimport { getBlockCollectionId, getPageContentBlockIds, parsePageId, uuidToId } from '@texonom/nutils'\nimport pMap from 'p-map'\n\nimport * as types from './types'\n\n/**\n * Main Notion API client.\n */\nexport class NotionAPI {\n private readonly _apiBaseUrl: string\n private readonly _authToken?: string\n private readonly _activeUser?: string\n private readonly _userTimeZone: string\n\n constructor({\n apiBaseUrl = 'https://www.notion.so/api/v3',\n authToken,\n activeUser,\n userTimeZone = 'America/New_York'\n }: {\n apiBaseUrl?: string\n authToken?: string\n userLocale?: string\n userTimeZone?: string\n activeUser?: string\n } = {}) {\n this._apiBaseUrl = apiBaseUrl\n this._authToken = authToken\n this._activeUser = activeUser\n this._userTimeZone = userTimeZone\n }\n\n public async getPage(\n pageId: string,\n {\n concurrency = 3,\n fetchMissingBlocks = true,\n fetchCollections = true,\n signFileUrls = true,\n chunkLimit = 100,\n chunkNumber = 0,\n fetchOption\n }: {\n concurrency?: number\n fetchMissingBlocks?: boolean\n fetchCollections?: boolean\n signFileUrls?: boolean\n chunkLimit?: number\n chunkNumber?: number\n fetchOption?: types.FetchOption\n } = {}\n ): Promise<notion.ExtendedRecordMap> {\n const page = await this.getPageRaw(pageId, {\n chunkLimit,\n chunkNumber,\n fetchOption\n })\n const recordMap = page?.recordMap as notion.ExtendedRecordMap\n\n if (!recordMap?.block) throw new Error(`Notion page not found \"${uuidToId(pageId)}\"`)\n\n // ensure that all top-level maps exist\n recordMap.collection = recordMap.collection ?? {}\n recordMap.collection_view = recordMap.collection_view ?? {}\n recordMap.notion_user = recordMap.notion_user ?? {}\n\n // additional mappings added for convenience\n // note: these are not native notion objects\n recordMap.collection_query = {}\n recordMap.signed_urls = {}\n\n if (fetchMissingBlocks)\n // eslint-disable-next-line no-constant-condition\n while (true) {\n // fetch any missing content blocks\n const pendingBlockIds = getPageContentBlockIds(recordMap).filter(id => !recordMap.block[id])\n\n if (!pendingBlockIds.length) break\n\n const newBlocks = await this.getBlocks(pendingBlockIds, fetchOption).then(res => res.recordMap.block)\n\n recordMap.block = { ...recordMap.block, ...newBlocks }\n }\n\n const contentBlockIds = getPageContentBlockIds(recordMap)\n\n // Optionally fetch all data for embedded collections and their associated views.\n // NOTE: We're eagerly fetching *all* data for each collection and all of its views.\n // This is really convenient in order to ensure that all data needed for a given\n // Notion page is readily available for use cases involving server-side rendering\n // and edge caching.\n if (fetchCollections) {\n const allCollectionInstances: Array<{\n collectionId: string\n collectionViewId: string\n }> = contentBlockIds.flatMap(blockId => {\n const block = recordMap.block[blockId].value\n const collectionId =\n block &&\n (block.type === 'collection_view' || block.type === 'collection_view_page') &&\n getBlockCollectionId(block, recordMap)\n\n if (collectionId)\n return block.view_ids?.map(collectionViewId => ({\n collectionId,\n collectionViewId\n }))\n else return []\n })\n\n // fetch data for all collection view instances\n await pMap(\n allCollectionInstances,\n async collectionInstance => {\n const { collectionId, collectionViewId } = collectionInstance\n const collectionView = recordMap.collection_view[collectionViewId]?.value\n\n try {\n const collectionData = await this.getCollectionData(collectionId, collectionViewId, collectionView, {\n fetchOption\n })\n\n recordMap.block = {\n ...recordMap.block,\n ...collectionData.recordMap.block\n }\n\n recordMap.collection = {\n ...recordMap.collection,\n ...collectionData.recordMap.collection\n }\n\n recordMap.collection_view = {\n ...recordMap.collection_view,\n ...collectionData.recordMap.collection_view\n }\n\n recordMap.notion_user = {\n ...recordMap.notion_user,\n ...collectionData.recordMap.notion_user\n }\n\n recordMap.collection_query![collectionId] = {\n ...recordMap.collection_query![collectionId],\n [collectionViewId]: (collectionData.result as any)?.reducerResults\n }\n } catch (err) {\n // It's possible for public pages to link to private collections, in which case\n // Notion returns a 400 error\n console.warn('NotionAPI collectionQuery error', pageId, err.message)\n console.error(err)\n }\n },\n {\n concurrency\n }\n )\n }\n\n // Optionally fetch signed URLs for any embedded files.\n // NOTE: Similar to collection data, we default to eagerly fetching signed URL info\n // because it is preferable for many use cases as opposed to making these API calls\n // lazily from the client-side.\n if (signFileUrls) await this.addSignedUrls({ recordMap, contentBlockIds, fetchOption })\n\n return recordMap\n }\n\n public async addSignedUrls({\n recordMap,\n contentBlockIds,\n fetchOption = {}\n }: {\n recordMap: notion.ExtendedRecordMap\n contentBlockIds?: string[]\n fetchOption?: types.FetchOption\n }) {\n recordMap.signed_urls = {}\n\n if (!contentBlockIds) contentBlockIds = getPageContentBlockIds(recordMap)\n\n const allFileInstances = contentBlockIds.flatMap(blockId => {\n const block = recordMap.block[blockId]?.value\n\n if (\n block &&\n (block.type === 'pdf' ||\n block.type === 'audio' ||\n (block.type === 'image' && block.file_ids?.length) ||\n block.type === 'video' ||\n block.type === 'file' ||\n block.type === 'page')\n ) {\n const source = block.type === 'page' ? block.format?.page_cover : block.properties?.source?.[0]?.[0]\n\n if (source) {\n if (!source.includes('secure.notion-static.com')) return []\n\n return {\n permissionRecord: {\n table: 'block',\n id: block.id\n },\n url: source\n }\n }\n }\n\n return []\n })\n\n if (allFileInstances.length > 0)\n try {\n const { signedUrls } = await this.getSignedFileUrls(allFileInstances, fetchOption)\n\n if (signedUrls.length === allFileInstances.length)\n for (let i = 0; i < allFileInstances.length; ++i) {\n const file = allFileInstances[i]\n const signedUrl = signedUrls[i]\n\n recordMap.signed_urls[file.permissionRecord.id] = signedUrl\n }\n } catch (err) {\n console.warn('NotionAPI getSignedfileUrls error', err)\n }\n }\n\n public async getPageRaw(\n pageId: string,\n {\n fetchOption,\n chunkLimit = 100,\n chunkNumber = 0\n }: {\n chunkLimit?: number\n chunkNumber?: number\n fetchOption?: types.FetchOption\n } = {}\n ) {\n const parsedPageId = parsePageId(pageId)\n\n if (!parsedPageId) throw new Error(`invalid notion pageId \"${pageId}\"`)\n\n const body = {\n pageId: parsedPageId,\n limit: chunkLimit,\n chunkNumber: chunkNumber,\n cursor: { stack: [] },\n verticalColumns: false\n }\n\n return this.fetch<notion.PageChunk>({\n endpoint: 'loadPageChunk',\n body,\n fetchOption\n })\n }\n\n public async getCollectionData(\n collectionId: string,\n collectionViewId: string,\n collectionView: notion.BaseCollectionView,\n {\n limit = 9999,\n searchQuery = '',\n userTimeZone = this._userTimeZone,\n loadContentCover = true,\n fetchOption\n }: {\n type?: notion.CollectionViewType\n limit?: number\n searchQuery?: string\n userTimeZone?: string\n userLocale?: string\n loadContentCover?: boolean\n fetchOption?: types.FetchOption\n } = {}\n ) {\n const type = collectionView?.type\n const isBoardType = type === 'board'\n const groupBy = isBoardType ? collectionView?.format?.board_columns_by : collectionView?.format?.collection_group_by\n\n let filters = []\n if (collectionView?.format?.property_filters)\n filters = collectionView.format?.property_filters.map(filterObj => {\n //get the inner filter\n return {\n filter: filterObj?.filter?.filter,\n property: filterObj?.filter?.property\n }\n })\n\n //Fixes formula filters from not working\n if (collectionView?.query2?.filter?.filters) filters.push(...collectionView.query2.filter.filters)\n\n let loader: any = {\n type: 'reducer',\n reducers: {\n collection_group_results: {\n type: 'results',\n limit,\n loadContentCover\n }\n },\n sort: [],\n ...collectionView?.query2,\n filter: {\n filters: filters,\n operator: 'and'\n },\n searchQuery,\n userTimeZone\n }\n\n if (groupBy) {\n const groups = collectionView?.format?.board_columns || collectionView?.format?.collection_groups || []\n const iterators = [isBoardType ? 'board' : 'group_aggregation', 'results']\n const operators = {\n checkbox: 'checkbox_is',\n url: 'string_starts_with',\n text: 'string_starts_with',\n select: 'enum_is',\n multi_select: 'enum_contains',\n created_time: 'date_is_within',\n ['undefined']: 'is_empty'\n }\n\n const reducersQuery = {}\n for (const group of groups) {\n const {\n property,\n value: { value, type }\n } = group\n\n for (const iterator of iterators) {\n const iteratorProps =\n iterator === 'results'\n ? {\n type: iterator,\n limit\n }\n : {\n type: 'aggregation',\n aggregation: {\n aggregator: 'count'\n }\n }\n\n const isUncategorizedValue = typeof value === 'undefined'\n const isDateValue = value?.range\n // TODO: review dates reducers\n const queryLabel = isUncategorizedValue\n ? 'uncategorized'\n : isDateValue\n ? value.range?.start_date || value.range?.end_date\n : value?.value || value\n\n const queryValue = !isUncategorizedValue && (isDateValue || value?.value || value)\n\n reducersQuery[`${iterator}:${type}:${queryLabel}`] = {\n ...iteratorProps,\n filter: {\n operator: 'and',\n filters: [\n {\n property,\n filter: {\n operator: !isUncategorizedValue ? operators[type] : 'is_empty',\n ...(!isUncategorizedValue && {\n value: {\n type: 'exact',\n value: queryValue\n }\n })\n }\n }\n ]\n }\n }\n }\n }\n\n const reducerLabel = isBoardType ? 'board_columns' : `${type}_groups`\n loader = {\n type: 'reducer',\n reducers: {\n [reducerLabel]: {\n type: 'groups',\n groupBy,\n ...(collectionView?.query2?.filter && {\n filter: collectionView?.query2?.filter\n }),\n groupSortPreference: groups.map(group => group?.value),\n limit\n },\n ...reducersQuery\n },\n ...collectionView?.query2,\n searchQuery,\n userTimeZone,\n filter: { filters, operator: 'and' }\n }\n }\n\n return this.fetch<notion.CollectionInstance>({\n endpoint: 'queryCollection',\n body: {\n collection: { id: collectionId },\n collectionView: { id: collectionViewId },\n loader\n },\n fetchOption\n })\n }\n\n public async getUsers(userIds: string[], fetchOption?: types.FetchOption) {\n return this.fetch<notion.RecordValues<notion.User>>({\n endpoint: 'getRecordValues',\n body: { requests: userIds.map(id => ({ id, table: 'notion_user' })) },\n fetchOption\n })\n }\n\n public async getBlocks(blockIds: string[], fetchOption?: types.FetchOption) {\n return this.fetch<notion.PageChunk>({\n endpoint: 'syncRecordValues',\n body: { requests: blockIds.map(blockId => ({ table: 'block', id: blockId, version: -1 })) },\n fetchOption\n })\n }\n\n public async getSignedFileUrls(urls: types.SignedUrlRequest[], fetchOption?: types.FetchOption) {\n return this.fetch<types.SignedUrlResponse>({\n endpoint: 'getSignedFileUrls',\n body: { urls },\n fetchOption\n })\n }\n\n public async search(params: notion.SearchParams, fetchOption?: types.FetchOption) {\n const body = {\n type: 'BlocksInAncestor',\n source: 'quick_find_public',\n ancestorId: parsePageId(params.ancestorId),\n sort: 'Relevance',\n limit: params.limit || 20,\n query: params.query,\n filters: {\n isDeletedOnly: false,\n isNavigableOnly: false,\n excludeTemplates: true,\n requireEditPermissions: false,\n ancestors: [],\n createdBy: [],\n editedBy: [],\n lastEditedTime: {},\n createdTime: {},\n ...params.filters\n }\n }\n\n return this.fetch<notion.SearchResults>({\n endpoint: 'search',\n body,\n fetchOption\n })\n }\n\n public async fetch<T>({\n endpoint,\n body,\n fetchOption,\n headers: clientHeaders\n }: {\n endpoint: string\n body: object\n fetchOption?: types.FetchOption\n headers?: HeadersInit\n }): Promise<T> {\n const headers: HeadersInit = {\n ...clientHeaders,\n ...fetchOption?.headers,\n 'Content-Type': 'application/json'\n }\n\n if (this._authToken) headers['cookie'] = `token_v2=${this._authToken}`\n if (this._activeUser) headers['x-notion-active-user-header'] = this._activeUser\n\n const url = `${this._apiBaseUrl}/${endpoint}`\n const requestInit = {\n method: 'post',\n body: JSON.stringify(body),\n headers,\n ...fetchOption\n }\n if (fetchOption?.timeout !== undefined) {\n const ctrl = new AbortController()\n setTimeout(() => ctrl.abort(), fetchOption.timeout)\n requestInit.signal = ctrl.signal\n }\n\n return fetch(url, requestInit).then(res => res.json())\n }\n}\n"],"mappings":"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","names":["getBlockCollectionId","getPageContentBlockIds","parsePageId","uuidToId","pMap","NotionAPI","apiBaseUrl","authToken","activeUser","userTimeZone","pageId","concurrency","fetchMissingBlocks","fetchCollections","signFileUrls","chunkLimit","chunkNumber","fetchOption","page","recordMap","pendingBlockIds","id","newBlocks","res","contentBlockIds","allCollectionInstances","blockId","_a","block","collectionId","collectionViewId","collectionInstance","_b","collectionView","collectionData","err","allFileInstances","_c","_d","_e","_f","source","signedUrls","i","file","signedUrl","parsedPageId","body","limit","searchQuery","loadContentCover","_g","_h","_i","_j","_k","_l","type","isBoardType","groupBy","filters","filterObj","loader","groups","iterators","operators","reducersQuery","group","property","value","iterator","iteratorProps","isUncategorizedValue","isDateValue","queryLabel","queryValue","userIds","blockIds","urls","params","endpoint","clientHeaders","headers","url","requestInit","ctrl"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAA;AAC5B,cAAc,SAAS,CAAA"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import * as notion from '@texonom/ntypes';
|
|
2
|
+
import * as types from './types';
|
|
3
|
+
/**
|
|
4
|
+
* Main Notion API client.
|
|
5
|
+
*/
|
|
6
|
+
export declare class NotionAPI {
|
|
7
|
+
private readonly _apiBaseUrl;
|
|
8
|
+
private readonly _authToken?;
|
|
9
|
+
private readonly _activeUser?;
|
|
10
|
+
private readonly _userTimeZone;
|
|
11
|
+
constructor({ apiBaseUrl, authToken, activeUser, userTimeZone }?: {
|
|
12
|
+
apiBaseUrl?: string;
|
|
13
|
+
authToken?: string;
|
|
14
|
+
userLocale?: string;
|
|
15
|
+
userTimeZone?: string;
|
|
16
|
+
activeUser?: string;
|
|
17
|
+
});
|
|
18
|
+
getPage(pageId: string, { concurrency, fetchMissingBlocks, fetchCollections, signFileUrls, chunkLimit, chunkNumber, fetchOption }?: {
|
|
19
|
+
concurrency?: number;
|
|
20
|
+
fetchMissingBlocks?: boolean;
|
|
21
|
+
fetchCollections?: boolean;
|
|
22
|
+
signFileUrls?: boolean;
|
|
23
|
+
chunkLimit?: number;
|
|
24
|
+
chunkNumber?: number;
|
|
25
|
+
fetchOption?: types.FetchOption;
|
|
26
|
+
}): Promise<notion.ExtendedRecordMap>;
|
|
27
|
+
addSignedUrls({ recordMap, contentBlockIds, fetchOption }: {
|
|
28
|
+
recordMap: notion.ExtendedRecordMap;
|
|
29
|
+
contentBlockIds?: string[];
|
|
30
|
+
fetchOption?: types.FetchOption;
|
|
31
|
+
}): Promise<void>;
|
|
32
|
+
getPageRaw(pageId: string, { fetchOption, chunkLimit, chunkNumber }?: {
|
|
33
|
+
chunkLimit?: number;
|
|
34
|
+
chunkNumber?: number;
|
|
35
|
+
fetchOption?: types.FetchOption;
|
|
36
|
+
}): Promise<notion.PageChunk>;
|
|
37
|
+
getCollectionData(collectionId: string, collectionViewId: string, collectionView: notion.BaseCollectionView, { limit, searchQuery, userTimeZone, loadContentCover, fetchOption }?: {
|
|
38
|
+
type?: notion.CollectionViewType;
|
|
39
|
+
limit?: number;
|
|
40
|
+
searchQuery?: string;
|
|
41
|
+
userTimeZone?: string;
|
|
42
|
+
userLocale?: string;
|
|
43
|
+
loadContentCover?: boolean;
|
|
44
|
+
fetchOption?: types.FetchOption;
|
|
45
|
+
}): Promise<notion.CollectionInstance>;
|
|
46
|
+
getUsers(userIds: string[], fetchOption?: types.FetchOption): Promise<notion.RecordValues<notion.User>>;
|
|
47
|
+
getBlocks(blockIds: string[], fetchOption?: types.FetchOption): Promise<notion.PageChunk>;
|
|
48
|
+
getSignedFileUrls(urls: types.SignedUrlRequest[], fetchOption?: types.FetchOption): Promise<types.SignedUrlResponse>;
|
|
49
|
+
search(params: notion.SearchParams, fetchOption?: types.FetchOption): Promise<notion.SearchResults>;
|
|
50
|
+
fetch<T>({ endpoint, body, fetchOption, headers: clientHeaders }: {
|
|
51
|
+
endpoint: string;
|
|
52
|
+
body: object;
|
|
53
|
+
fetchOption?: types.FetchOption;
|
|
54
|
+
headers?: HeadersInit;
|
|
55
|
+
}): Promise<T>;
|
|
56
|
+
}
|
|
57
|
+
//# sourceMappingURL=notion-api.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"notion-api.d.ts","sourceRoot":"","sources":["../../src/notion-api.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import * as notion from '@texonom/ntypes';
|
|
2
|
+
export interface SignedUrlRequest {
|
|
3
|
+
permissionRecord: PermissionRecord;
|
|
4
|
+
url: string;
|
|
5
|
+
}
|
|
6
|
+
export interface PermissionRecord {
|
|
7
|
+
table: string;
|
|
8
|
+
id: notion.ID;
|
|
9
|
+
}
|
|
10
|
+
export interface SignedUrlResponse {
|
|
11
|
+
signedUrls: string[];
|
|
12
|
+
}
|
|
13
|
+
export type FetchOption = RequestInit & {
|
|
14
|
+
timeout?: number;
|
|
15
|
+
};
|
|
16
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,iBAAiB,CAAA;AAEzC,MAAM,WAAW,gBAAgB;IAC/B,gBAAgB,EAAE,gBAAgB,CAAA;IAClC,GAAG,EAAE,MAAM,CAAA;CACZ;AAED,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,MAAM,CAAA;IACb,EAAE,EAAE,MAAM,CAAC,EAAE,CAAA;CACd;AAED,MAAM,WAAW,iBAAiB;IAChC,UAAU,EAAE,MAAM,EAAE,CAAA;CACrB;AAED,MAAM,MAAM,WAAW,GAAG,WAAW,GAAG;IAAE,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"notion-api.test.d.ts","sourceRoot":"","sources":["../../test/notion-api.test.ts"],"names":[],"mappings":""}
|
package/package.json
ADDED
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@texonom/nclient",
|
|
3
|
+
"version": "1.1.0",
|
|
4
|
+
"type": "module",
|
|
5
|
+
"description": "Robust TypeScript client for the unofficial Notion API.",
|
|
6
|
+
"repository": "texonom/notion",
|
|
7
|
+
"author": "Alan Jo <sungle3737@gmail.com>",
|
|
8
|
+
"license": "MIT",
|
|
9
|
+
"main": "./build/index.js",
|
|
10
|
+
"module": "./build/index.js",
|
|
11
|
+
"types": "./build/index.d.ts",
|
|
12
|
+
"sideEffects": false,
|
|
13
|
+
"files": [
|
|
14
|
+
"build"
|
|
15
|
+
],
|
|
16
|
+
"engines": {
|
|
17
|
+
"node": ">=v12.22.12"
|
|
18
|
+
},
|
|
19
|
+
"dependencies": {
|
|
20
|
+
"p-map": "^5.5.0",
|
|
21
|
+
"@texonom/ntypes": "^1.1.0",
|
|
22
|
+
"@texonom/nutils": "^1.1.0"
|
|
23
|
+
},
|
|
24
|
+
"standard-version": {
|
|
25
|
+
"skip": {
|
|
26
|
+
"commit": true,
|
|
27
|
+
"tag": true
|
|
28
|
+
}
|
|
29
|
+
},
|
|
30
|
+
"scripts": {
|
|
31
|
+
"build": "tsc && tsup",
|
|
32
|
+
"watch": "tsup --watch --silent --onSuccess 'echo build successful'",
|
|
33
|
+
"test": "vitest --run",
|
|
34
|
+
"prerelease": "standard-version --skip.changelog --prerelease",
|
|
35
|
+
"release": "standard-version --release-as",
|
|
36
|
+
"pu": "pnpm publish"
|
|
37
|
+
}
|
|
38
|
+
}
|
package/readme.md
ADDED
|
@@ -0,0 +1,161 @@
|
|
|
1
|
+
<p align="center">
|
|
2
|
+
<img alt="React Notion X" src="https://raw.githubusercontent.com/texonom/notion/master/media/notion-ts.png" width="689">
|
|
3
|
+
</p>
|
|
4
|
+
|
|
5
|
+
# nclient
|
|
6
|
+
|
|
7
|
+
> Robust TypeScript client for the unofficial Notion API.
|
|
8
|
+
|
|
9
|
+
[](https://www.npmjs.com/package/nclient) [](https://github.com/texonom/notion/actions/workflows/test.yml) [](https://prettier.io)
|
|
10
|
+
|
|
11
|
+
## Install
|
|
12
|
+
|
|
13
|
+
```bash
|
|
14
|
+
npm install nclient
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
This package is compatible with server-side V8 contexts such as Node.js, Deno, and Cloudflare Workers.
|
|
18
|
+
|
|
19
|
+
## Usage
|
|
20
|
+
|
|
21
|
+
```ts
|
|
22
|
+
import { NotionAPI } from 'nclient'
|
|
23
|
+
|
|
24
|
+
// you can optionally pass an authToken to access private notion resources
|
|
25
|
+
const api = new NotionAPI()
|
|
26
|
+
|
|
27
|
+
// fetch a page's content, including all async blocks, collection queries, and signed urls
|
|
28
|
+
const page = await api.getPage('067dd719-a912-471e-a9a3-ac10710e7fdf')
|
|
29
|
+
|
|
30
|
+
// fetch the data for a specific collection instance
|
|
31
|
+
const collectionId = '2d8aec23-8281-4a94-9090-caaf823dd21a'
|
|
32
|
+
const collectionViewId = 'ab639a5a-853e-45e1-9ef7-133b486c0acf'
|
|
33
|
+
const collectionData = await api.getCollectionData(collectionId, collectionViewId)
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
### Fetch a database's content
|
|
37
|
+
|
|
38
|
+
You can pass a database ID to the `getPage` method. The response is an object which contains several important properties:
|
|
39
|
+
|
|
40
|
+
- `block`
|
|
41
|
+
- `collection`
|
|
42
|
+
- `collection_view`
|
|
43
|
+
|
|
44
|
+
The value of the `block` property maps the id of each block object present in the database to its corresponding properties like type, parent id, created time, last edited by, and more.
|
|
45
|
+
|
|
46
|
+
```
|
|
47
|
+
{
|
|
48
|
+
block: {
|
|
49
|
+
'cc368b47-772a-4a1a-a36e-1f52c507d20d': { role: 'reader', value: [Object] },
|
|
50
|
+
'97dbe6d5-aea3-4e03-b571-91810cf975d4': { role: 'reader', value: [Object] },
|
|
51
|
+
'08d5ba1e-03d2-4d4a-add7-a414f297ff8a': { role: 'reader', value: [Object] },
|
|
52
|
+
'7aad4627-c4af-4314-960e-1465e76cc6bd': { role: 'reader', value: [Object] },
|
|
53
|
+
'7be73360-19b9-4b77-a518-70acd610d492': { role: 'reader', value: [Object] },
|
|
54
|
+
'af961803-cd0c-470e-bd27-1d025baa2f95': { role: 'reader', value: [Object] },
|
|
55
|
+
// ...
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
The map of blocks is arranged as followed:
|
|
61
|
+
|
|
62
|
+
- The first id is of the collection view
|
|
63
|
+
- The second is of the parent page that contains the database in question
|
|
64
|
+
- The next ids are of all the children pages inside the database
|
|
65
|
+
- After that comes all the children blocks of each page.
|
|
66
|
+
|
|
67
|
+
Please note that a block object can take many types: header, text, list, media, and almost any block supported by Notion. It can also be _a page_ or a _collection view_.
|
|
68
|
+
|
|
69
|
+
Example of a block object of type `text`:
|
|
70
|
+
|
|
71
|
+
```
|
|
72
|
+
{
|
|
73
|
+
role: 'reader',
|
|
74
|
+
value: {
|
|
75
|
+
id: '0377e1a4-dc3d-4daf-99dd-f54f986d932e',
|
|
76
|
+
version: 1,
|
|
77
|
+
type: 'text',
|
|
78
|
+
properties: { title: [Array] },
|
|
79
|
+
format: { copied_from_pointer: [Object] },
|
|
80
|
+
created_time: 1655961814278,
|
|
81
|
+
last_edited_time: 1655961814278,
|
|
82
|
+
parent_id: '08d5ba1e-03d2-4d4a-add7-a414f297ff8a',
|
|
83
|
+
parent_table: 'block',
|
|
84
|
+
alive: true,
|
|
85
|
+
copied_from: '526d2008-0d0b-46f8-9de1-7411a85bff7b',
|
|
86
|
+
created_by_table: 'notion_user',
|
|
87
|
+
created_by_id: '55b29a2b-a8fe-4a11-9f9d-ada341bd922b',
|
|
88
|
+
last_edited_by_table: 'notion_user',
|
|
89
|
+
last_edited_by_id: '55b29a2b-a8fe-4a11-9f9d-ada341bd922b',
|
|
90
|
+
space_id: '6b70425f-211e-4318-80c6-5d093df8f7eb'
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
Example of a block object of type `page`:
|
|
96
|
+
|
|
97
|
+
```
|
|
98
|
+
{
|
|
99
|
+
role: 'reader',
|
|
100
|
+
value: {
|
|
101
|
+
id: 'af961803-cd0c-470e-bd27-1d025baa2f95',
|
|
102
|
+
version: 31,
|
|
103
|
+
type: 'page',
|
|
104
|
+
properties: { '==~K': [Array], 'BN]P': [Array], title: [Array] },
|
|
105
|
+
content: [
|
|
106
|
+
'8cbf7053-da37-4d69-8cde-89343baf3623',
|
|
107
|
+
'0fc1712e-852c-4307-b72b-094dadaa86ba'
|
|
108
|
+
],
|
|
109
|
+
created_time: 1655962200000,
|
|
110
|
+
last_edited_time: 1655979420000,
|
|
111
|
+
parent_id: '175482e5-870d-4da8-980c-ead469427316',
|
|
112
|
+
parent_table: 'collection',
|
|
113
|
+
alive: true,
|
|
114
|
+
created_by_table: 'notion_user',
|
|
115
|
+
created_by_id: '55b29a2b-a8fe-4a11-9f9d-ada341bd922b',
|
|
116
|
+
last_edited_by_table: 'notion_user',
|
|
117
|
+
last_edited_by_id: '55b29a2b-a8fe-4a11-9f9d-ada341bd922b',
|
|
118
|
+
space_id: '6b70425f-211e-4318-80c6-5d093df8f7eb'
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
```
|
|
122
|
+
|
|
123
|
+
Example of a block object of type `collection_view`:
|
|
124
|
+
|
|
125
|
+
```
|
|
126
|
+
{
|
|
127
|
+
role: 'reader',
|
|
128
|
+
value: {
|
|
129
|
+
id: 'cc368b47-772a-4a1a-a36e-1f52c507d20d',
|
|
130
|
+
version: 5,
|
|
131
|
+
type: 'collection_view',
|
|
132
|
+
view_ids: [
|
|
133
|
+
'028f6968-2a6c-46da-bf43-cb44e6d91765',
|
|
134
|
+
'77f32047-52dd-422e-93fa-813438087e57'
|
|
135
|
+
],
|
|
136
|
+
collection_id: '175482e5-870d-4da8-980c-ead469427316',
|
|
137
|
+
format: { collection_pointer: [Object], copied_from_pointer: [Object] },
|
|
138
|
+
created_time: 1655961814276,
|
|
139
|
+
last_edited_time: 1656075900000,
|
|
140
|
+
parent_id: '97dbe6d5-aea3-4e03-b571-91810cf975d4',
|
|
141
|
+
parent_table: 'block',
|
|
142
|
+
alive: true,
|
|
143
|
+
copied_from: '3e3073e9-7aee-481c-b831-765e112ec7b5',
|
|
144
|
+
created_by_table: 'notion_user',
|
|
145
|
+
created_by_id: '55b29a2b-a8fe-4a11-9f9d-ada341bd922b',
|
|
146
|
+
last_edited_by_table: 'notion_user',
|
|
147
|
+
last_edited_by_id: '55b29a2b-a8fe-4a11-9f9d-ada341bd922b',
|
|
148
|
+
space_id: '6b70425f-211e-4318-80c6-5d093df8f7eb'
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
```
|
|
152
|
+
|
|
153
|
+
## Docs
|
|
154
|
+
|
|
155
|
+
See the [full docs](https://github.com/texonom/notion).
|
|
156
|
+
|
|
157
|
+
## License
|
|
158
|
+
|
|
159
|
+
MIT © [Travis Fischer](https://transitivebullsh.it)
|
|
160
|
+
|
|
161
|
+
Support my OSS work by <a href="https://twitter.com/transitive_bs">following me on twitter <img src="https://storage.googleapis.com/saasify-assets/twitter-logo.svg" alt="twitter" height="24px" align="center"></a>
|