@astrogate/sdk 0.0.0-stage → 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +6 -2
- package/THIRD_PARTY_NOTICES.md +17 -0
- package/dist/browser.d.ts +85 -0
- package/dist/browser.js +16 -0
- package/dist/database-binding.d.ts +7 -0
- package/dist/database-binding.js +11 -0
- package/dist/hosted-session.d.ts +1 -0
- package/dist/hosted-session.js +11 -0
- package/dist/http.d.ts +24 -0
- package/dist/http.js +92 -0
- package/dist/inventory.d.ts +7 -0
- package/dist/inventory.js +18 -0
- package/dist/management-read.d.ts +17 -0
- package/dist/management-read.js +104 -0
- package/dist/management.d.ts +347 -0
- package/dist/management.js +137 -0
- package/dist/operator.d.ts +136 -0
- package/dist/operator.js +53 -0
- package/dist/react.d.ts +16 -0
- package/dist/react.js +10 -0
- package/dist/server.d.ts +27 -0
- package/dist/server.js +30 -0
- package/dist/services.d.ts +7 -0
- package/dist/services.js +53 -0
- package/dist/storage.d.ts +68 -0
- package/dist/storage.js +30 -0
- package/dist/tasks.d.ts +42 -0
- package/dist/tasks.js +24 -0
- package/dist/wire.gen.d.ts +7107 -0
- package/dist/wire.gen.js +5 -0
- package/native-provenance.json +15 -0
- package/node_modules/@instantdb/admin/LICENSE +202 -0
- package/node_modules/@instantdb/admin/dist/esm/index.d.ts +607 -0
- package/node_modules/@instantdb/admin/dist/esm/index.js +1036 -0
- package/node_modules/@instantdb/admin/dist/esm/polyfill.d.ts +16 -0
- package/node_modules/@instantdb/admin/dist/esm/polyfill.js +21 -0
- package/node_modules/@instantdb/admin/dist/esm/subscribe.d.ts +38 -0
- package/node_modules/@instantdb/admin/dist/esm/subscribe.js +301 -0
- package/node_modules/@instantdb/admin/dist/esm/version.d.ts +2 -0
- package/node_modules/@instantdb/admin/dist/esm/version.js +2 -0
- package/node_modules/@instantdb/admin/package.json +23 -0
- package/node_modules/@instantdb/core/LICENSE +202 -0
- package/node_modules/@instantdb/core/dist/esm/Connection.d.ts +92 -0
- package/node_modules/@instantdb/core/dist/esm/Connection.js +188 -0
- package/node_modules/@instantdb/core/dist/esm/InMemoryStorage.d.ts +10 -0
- package/node_modules/@instantdb/core/dist/esm/InMemoryStorage.js +25 -0
- package/node_modules/@instantdb/core/dist/esm/IndexedDBStorage.d.ts +17 -0
- package/node_modules/@instantdb/core/dist/esm/IndexedDBStorage.js +309 -0
- package/node_modules/@instantdb/core/dist/esm/InstantError.d.ts +6 -0
- package/node_modules/@instantdb/core/dist/esm/InstantError.js +23 -0
- package/node_modules/@instantdb/core/dist/esm/Reactor.d.ts +430 -0
- package/node_modules/@instantdb/core/dist/esm/Reactor.js +2369 -0
- package/node_modules/@instantdb/core/dist/esm/StorageAPI.d.ts +39 -0
- package/node_modules/@instantdb/core/dist/esm/StorageAPI.js +65 -0
- package/node_modules/@instantdb/core/dist/esm/Stream.d.ts +120 -0
- package/node_modules/@instantdb/core/dist/esm/Stream.js +811 -0
- package/node_modules/@instantdb/core/dist/esm/SyncTable.d.ts +144 -0
- package/node_modules/@instantdb/core/dist/esm/SyncTable.js +523 -0
- package/node_modules/@instantdb/core/dist/esm/WindowNetworkListener.d.ts +4 -0
- package/node_modules/@instantdb/core/dist/esm/WindowNetworkListener.js +19 -0
- package/node_modules/@instantdb/core/dist/esm/attrTypes.d.ts +25 -0
- package/node_modules/@instantdb/core/dist/esm/attrTypes.js +1 -0
- package/node_modules/@instantdb/core/dist/esm/authAPI.d.ts +64 -0
- package/node_modules/@instantdb/core/dist/esm/authAPI.js +103 -0
- package/node_modules/@instantdb/core/dist/esm/clientTypes.d.ts +40 -0
- package/node_modules/@instantdb/core/dist/esm/clientTypes.js +1 -0
- package/node_modules/@instantdb/core/dist/esm/coreTypes.d.ts +33 -0
- package/node_modules/@instantdb/core/dist/esm/coreTypes.js +1 -0
- package/node_modules/@instantdb/core/dist/esm/createRouteHandler.d.ts +7 -0
- package/node_modules/@instantdb/core/dist/esm/createRouteHandler.js +51 -0
- package/node_modules/@instantdb/core/dist/esm/datalog.d.ts +7 -0
- package/node_modules/@instantdb/core/dist/esm/datalog.js +99 -0
- package/node_modules/@instantdb/core/dist/esm/devtool.d.ts +3 -0
- package/node_modules/@instantdb/core/dist/esm/devtool.js +144 -0
- package/node_modules/@instantdb/core/dist/esm/framework.d.ts +80 -0
- package/node_modules/@instantdb/core/dist/esm/framework.js +243 -0
- package/node_modules/@instantdb/core/dist/esm/helperTypes.d.ts +75 -0
- package/node_modules/@instantdb/core/dist/esm/helperTypes.js +1 -0
- package/node_modules/@instantdb/core/dist/esm/index.d.ts +597 -0
- package/node_modules/@instantdb/core/dist/esm/index.js +649 -0
- package/node_modules/@instantdb/core/dist/esm/infiniteQuery.d.ts +25 -0
- package/node_modules/@instantdb/core/dist/esm/infiniteQuery.js +430 -0
- package/node_modules/@instantdb/core/dist/esm/instaml.d.ts +17 -0
- package/node_modules/@instantdb/core/dist/esm/instaml.js +576 -0
- package/node_modules/@instantdb/core/dist/esm/instaql.d.ts +12 -0
- package/node_modules/@instantdb/core/dist/esm/instaql.js +632 -0
- package/node_modules/@instantdb/core/dist/esm/instatx.d.ts +127 -0
- package/node_modules/@instantdb/core/dist/esm/instatx.js +93 -0
- package/node_modules/@instantdb/core/dist/esm/model/instaqlResult.d.ts +7 -0
- package/node_modules/@instantdb/core/dist/esm/model/instaqlResult.js +24 -0
- package/node_modules/@instantdb/core/dist/esm/parseSchemaFromJSON.d.ts +2 -0
- package/node_modules/@instantdb/core/dist/esm/parseSchemaFromJSON.js +142 -0
- package/node_modules/@instantdb/core/dist/esm/presence.d.ts +50 -0
- package/node_modules/@instantdb/core/dist/esm/presence.js +50 -0
- package/node_modules/@instantdb/core/dist/esm/presenceTypes.d.ts +9 -0
- package/node_modules/@instantdb/core/dist/esm/presenceTypes.js +3 -0
- package/node_modules/@instantdb/core/dist/esm/queryTypes.d.ts +271 -0
- package/node_modules/@instantdb/core/dist/esm/queryTypes.js +3 -0
- package/node_modules/@instantdb/core/dist/esm/queryValidation.d.ts +5 -0
- package/node_modules/@instantdb/core/dist/esm/queryValidation.js +287 -0
- package/node_modules/@instantdb/core/dist/esm/reactorTypes.d.ts +29 -0
- package/node_modules/@instantdb/core/dist/esm/reactorTypes.js +1 -0
- package/node_modules/@instantdb/core/dist/esm/routeHandlerProtocol.d.ts +19 -0
- package/node_modules/@instantdb/core/dist/esm/routeHandlerProtocol.js +1 -0
- package/node_modules/@instantdb/core/dist/esm/rulesTypes.d.ts +85 -0
- package/node_modules/@instantdb/core/dist/esm/rulesTypes.js +1 -0
- package/node_modules/@instantdb/core/dist/esm/sanityCheckQueries.d.ts +18 -0
- package/node_modules/@instantdb/core/dist/esm/sanityCheckQueries.js +152 -0
- package/node_modules/@instantdb/core/dist/esm/schema.d.ts +72 -0
- package/node_modules/@instantdb/core/dist/esm/schema.js +128 -0
- package/node_modules/@instantdb/core/dist/esm/schemaTypes.d.ts +244 -0
- package/node_modules/@instantdb/core/dist/esm/schemaTypes.js +106 -0
- package/node_modules/@instantdb/core/dist/esm/store.d.ts +89 -0
- package/node_modules/@instantdb/core/dist/esm/store.js +722 -0
- package/node_modules/@instantdb/core/dist/esm/transactionValidation.d.ts +7 -0
- package/node_modules/@instantdb/core/dist/esm/transactionValidation.js +130 -0
- package/node_modules/@instantdb/core/dist/esm/utils/Deferred.d.ts +8 -0
- package/node_modules/@instantdb/core/dist/esm/utils/Deferred.js +17 -0
- package/node_modules/@instantdb/core/dist/esm/utils/PersistedObject.d.ts +80 -0
- package/node_modules/@instantdb/core/dist/esm/utils/PersistedObject.js +448 -0
- package/node_modules/@instantdb/core/dist/esm/utils/dates.d.ts +1 -0
- package/node_modules/@instantdb/core/dist/esm/utils/dates.js +211 -0
- package/node_modules/@instantdb/core/dist/esm/utils/error.d.ts +2 -0
- package/node_modules/@instantdb/core/dist/esm/utils/error.js +8 -0
- package/node_modules/@instantdb/core/dist/esm/utils/fetch.d.ts +125 -0
- package/node_modules/@instantdb/core/dist/esm/utils/fetch.js +31 -0
- package/node_modules/@instantdb/core/dist/esm/utils/flags.d.ts +4 -0
- package/node_modules/@instantdb/core/dist/esm/utils/flags.js +10 -0
- package/node_modules/@instantdb/core/dist/esm/utils/id.d.ts +3 -0
- package/node_modules/@instantdb/core/dist/esm/utils/id.js +25 -0
- package/node_modules/@instantdb/core/dist/esm/utils/linkIndex.d.ts +7 -0
- package/node_modules/@instantdb/core/dist/esm/utils/linkIndex.js +17 -0
- package/node_modules/@instantdb/core/dist/esm/utils/log.d.ts +6 -0
- package/node_modules/@instantdb/core/dist/esm/utils/log.js +13 -0
- package/node_modules/@instantdb/core/dist/esm/utils/object.d.ts +16 -0
- package/node_modules/@instantdb/core/dist/esm/utils/object.js +143 -0
- package/node_modules/@instantdb/core/dist/esm/utils/pgtime.d.ts +197 -0
- package/node_modules/@instantdb/core/dist/esm/utils/pgtime.js +197 -0
- package/node_modules/@instantdb/core/dist/esm/utils/pick.d.ts +1 -0
- package/node_modules/@instantdb/core/dist/esm/utils/pick.js +9 -0
- package/node_modules/@instantdb/core/dist/esm/utils/strings.d.ts +1 -0
- package/node_modules/@instantdb/core/dist/esm/utils/strings.js +15 -0
- package/node_modules/@instantdb/core/dist/esm/utils/weakHash.d.ts +15 -0
- package/node_modules/@instantdb/core/dist/esm/utils/weakHash.js +71 -0
- package/node_modules/@instantdb/core/dist/esm/utils/weakHashLegacy.d.ts +7 -0
- package/node_modules/@instantdb/core/dist/esm/utils/weakHashLegacy.js +72 -0
- package/node_modules/@instantdb/core/dist/esm/version.d.ts +2 -0
- package/node_modules/@instantdb/core/dist/esm/version.js +2 -0
- package/node_modules/@instantdb/core/dist/esm/warningToggle.d.ts +2 -0
- package/node_modules/@instantdb/core/dist/esm/warningToggle.js +4 -0
- package/node_modules/@instantdb/core/package.json +20 -0
- package/node_modules/@instantdb/eventsource/LICENSE +22 -0
- package/node_modules/@instantdb/eventsource/README.md +226 -0
- package/node_modules/@instantdb/eventsource/dist/index.cjs +279 -0
- package/node_modules/@instantdb/eventsource/dist/index.cjs.map +1 -0
- package/node_modules/@instantdb/eventsource/dist/index.d.cts +346 -0
- package/node_modules/@instantdb/eventsource/dist/index.d.ts +346 -0
- package/node_modules/@instantdb/eventsource/dist/index.js +279 -0
- package/node_modules/@instantdb/eventsource/dist/index.js.map +1 -0
- package/node_modules/@instantdb/eventsource/package.json +128 -0
- package/node_modules/@instantdb/eventsource/src/EventSource.ts +614 -0
- package/node_modules/@instantdb/eventsource/src/errors.ts +141 -0
- package/node_modules/@instantdb/eventsource/src/index.ts +3 -0
- package/node_modules/@instantdb/eventsource/src/types.ts +164 -0
- package/node_modules/@instantdb/react/LICENSE +202 -0
- package/node_modules/@instantdb/react/dist/esm/Cursors.d.ts +18 -0
- package/node_modules/@instantdb/react/dist/esm/Cursors.js +103 -0
- package/node_modules/@instantdb/react/dist/esm/InstantReactWebDatabase.d.ts +5 -0
- package/node_modules/@instantdb/react/dist/esm/InstantReactWebDatabase.js +5 -0
- package/node_modules/@instantdb/react/dist/esm/index.d.ts +6 -0
- package/node_modules/@instantdb/react/dist/esm/index.js +22 -0
- package/node_modules/@instantdb/react/dist/esm/init.d.ts +40 -0
- package/node_modules/@instantdb/react/dist/esm/init.js +49 -0
- package/node_modules/@instantdb/react/dist/esm/next-ssr/HydrationStreamProvider.d.ts +65 -0
- package/node_modules/@instantdb/react/dist/esm/next-ssr/HydrationStreamProvider.js +96 -0
- package/node_modules/@instantdb/react/dist/esm/next-ssr/InstantNextDatabase.d.ts +11 -0
- package/node_modules/@instantdb/react/dist/esm/next-ssr/InstantNextDatabase.js +31 -0
- package/node_modules/@instantdb/react/dist/esm/next-ssr/InstantSuspenseProvider.d.ts +24 -0
- package/node_modules/@instantdb/react/dist/esm/next-ssr/InstantSuspenseProvider.js +162 -0
- package/node_modules/@instantdb/react/dist/esm/next-ssr/getUserFromInstantCookie.d.ts +9 -0
- package/node_modules/@instantdb/react/dist/esm/next-ssr/getUserFromInstantCookie.js +16 -0
- package/node_modules/@instantdb/react/dist/esm/next-ssr/htmlescape.d.ts +2 -0
- package/node_modules/@instantdb/react/dist/esm/next-ssr/htmlescape.js +20 -0
- package/node_modules/@instantdb/react/dist/esm/next-ssr/index.d.ts +29 -0
- package/node_modules/@instantdb/react/dist/esm/next-ssr/index.js +34 -0
- package/node_modules/@instantdb/react/dist/esm/version.d.ts +2 -0
- package/node_modules/@instantdb/react/dist/esm/version.js +2 -0
- package/node_modules/@instantdb/react/package.json +24 -0
- package/node_modules/@instantdb/react-common/LICENSE +202 -0
- package/node_modules/@instantdb/react-common/dist/esm/InstantReactAbstractDatabase.d.ts +282 -0
- package/node_modules/@instantdb/react-common/dist/esm/InstantReactAbstractDatabase.js +386 -0
- package/node_modules/@instantdb/react-common/dist/esm/InstantReactRoom.d.ts +182 -0
- package/node_modules/@instantdb/react-common/dist/esm/InstantReactRoom.js +280 -0
- package/node_modules/@instantdb/react-common/dist/esm/index.d.ts +4 -0
- package/node_modules/@instantdb/react-common/dist/esm/index.js +3 -0
- package/node_modules/@instantdb/react-common/dist/esm/useInfiniteQuerySubscription.d.ts +27 -0
- package/node_modules/@instantdb/react-common/dist/esm/useInfiniteQuerySubscription.js +53 -0
- package/node_modules/@instantdb/react-common/dist/esm/useQuery.d.ts +6 -0
- package/node_modules/@instantdb/react-common/dist/esm/useQuery.js +75 -0
- package/node_modules/@instantdb/react-common/dist/esm/useTimeout.d.ts +4 -0
- package/node_modules/@instantdb/react-common/dist/esm/useTimeout.js +17 -0
- package/node_modules/@instantdb/react-common/dist/esm/version.d.ts +2 -0
- package/node_modules/@instantdb/react-common/dist/esm/version.js +2 -0
- package/node_modules/@instantdb/react-common/package.json +22 -0
- package/node_modules/@instantdb/version/LICENSE +202 -0
- package/node_modules/@instantdb/version/dist/esm/index.d.ts +2 -0
- package/node_modules/@instantdb/version/dist/esm/index.js +2 -0
- package/node_modules/@instantdb/version/dist/esm/version.d.ts +2 -0
- package/node_modules/@instantdb/version/dist/esm/version.js +5 -0
- package/node_modules/@instantdb/version/package.json +16 -0
- package/node_modules/@instantdb/webhooks/LICENSE +202 -0
- package/node_modules/@instantdb/webhooks/dist/esm/index.d.ts +587 -0
- package/node_modules/@instantdb/webhooks/dist/esm/index.js +748 -0
- package/node_modules/@instantdb/webhooks/package.json +18 -0
- package/node_modules/cookie/LICENSE +24 -0
- package/node_modules/cookie/README.md +295 -0
- package/node_modules/cookie/dist/index.d.ts +143 -0
- package/node_modules/cookie/dist/index.js +355 -0
- package/node_modules/cookie/dist/index.js.map +1 -0
- package/node_modules/cookie/package.json +57 -0
- package/node_modules/eventsource/LICENSE +22 -0
- package/node_modules/eventsource/README.md +252 -0
- package/node_modules/eventsource/dist/EventSource.d.ts +128 -0
- package/node_modules/eventsource/dist/EventSource.d.ts.map +1 -0
- package/node_modules/eventsource/dist/EventSource.js +556 -0
- package/node_modules/eventsource/dist/EventSource.js.map +1 -0
- package/node_modules/eventsource/dist/errors.d.ts +53 -0
- package/node_modules/eventsource/dist/errors.d.ts.map +1 -0
- package/node_modules/eventsource/dist/errors.js +120 -0
- package/node_modules/eventsource/dist/errors.js.map +1 -0
- package/node_modules/eventsource/dist/index.d.ts +4 -0
- package/node_modules/eventsource/dist/index.d.ts.map +1 -0
- package/node_modules/eventsource/dist/index.js +3 -0
- package/node_modules/eventsource/dist/index.js.map +1 -0
- package/node_modules/eventsource/dist/types.d.ts +156 -0
- package/node_modules/eventsource/dist/types.d.ts.map +1 -0
- package/node_modules/eventsource/dist/types.js +2 -0
- package/node_modules/eventsource/dist/types.js.map +1 -0
- package/node_modules/eventsource/node_modules/eventsource-parser/LICENSE +21 -0
- package/node_modules/eventsource/node_modules/eventsource-parser/README.md +177 -0
- package/node_modules/eventsource/node_modules/eventsource-parser/dist/errors.d.ts +35 -0
- package/node_modules/eventsource/node_modules/eventsource-parser/dist/errors.d.ts.map +1 -0
- package/node_modules/eventsource/node_modules/eventsource-parser/dist/errors.js +16 -0
- package/node_modules/eventsource/node_modules/eventsource-parser/dist/errors.js.map +1 -0
- package/node_modules/eventsource/node_modules/eventsource-parser/dist/index.d.ts +4 -0
- package/node_modules/eventsource/node_modules/eventsource-parser/dist/index.d.ts.map +1 -0
- package/node_modules/eventsource/node_modules/eventsource-parser/dist/index.js +3 -0
- package/node_modules/eventsource/node_modules/eventsource-parser/dist/index.js.map +1 -0
- package/node_modules/eventsource/node_modules/eventsource-parser/dist/parse.d.ts +12 -0
- package/node_modules/eventsource/node_modules/eventsource-parser/dist/parse.d.ts.map +1 -0
- package/node_modules/eventsource/node_modules/eventsource-parser/dist/parse.js +509 -0
- package/node_modules/eventsource/node_modules/eventsource-parser/dist/parse.js.map +1 -0
- package/node_modules/eventsource/node_modules/eventsource-parser/dist/stream.d.ts +76 -0
- package/node_modules/eventsource/node_modules/eventsource-parser/dist/stream.d.ts.map +1 -0
- package/node_modules/eventsource/node_modules/eventsource-parser/dist/stream.js +59 -0
- package/node_modules/eventsource/node_modules/eventsource-parser/dist/stream.js.map +1 -0
- package/node_modules/eventsource/node_modules/eventsource-parser/dist/types.d.ts +130 -0
- package/node_modules/eventsource/node_modules/eventsource-parser/dist/types.d.ts.map +1 -0
- package/node_modules/eventsource/node_modules/eventsource-parser/dist/types.js +1 -0
- package/node_modules/eventsource/node_modules/eventsource-parser/dist/types.js.map +1 -0
- package/node_modules/eventsource/node_modules/eventsource-parser/package.json +96 -0
- package/node_modules/eventsource/node_modules/eventsource-parser/src/errors.ts +44 -0
- package/node_modules/eventsource/node_modules/eventsource-parser/src/index.ts +3 -0
- package/node_modules/eventsource/node_modules/eventsource-parser/src/parse.ts +576 -0
- package/node_modules/eventsource/node_modules/eventsource-parser/src/stream.ts +118 -0
- package/node_modules/eventsource/node_modules/eventsource-parser/src/types.ts +138 -0
- package/node_modules/eventsource/package.json +103 -0
- package/node_modules/eventsource/src/EventSource.ts +844 -0
- package/node_modules/eventsource/src/errors.ts +141 -0
- package/node_modules/eventsource/src/index.ts +3 -0
- package/node_modules/eventsource/src/types.ts +166 -0
- package/node_modules/eventsource-parser/LICENSE +21 -0
- package/node_modules/eventsource-parser/README.md +157 -0
- package/node_modules/eventsource-parser/dist/index.cjs +177 -0
- package/node_modules/eventsource-parser/dist/index.cjs.map +1 -0
- package/node_modules/eventsource-parser/dist/index.d.cts +169 -0
- package/node_modules/eventsource-parser/dist/index.d.ts +169 -0
- package/node_modules/eventsource-parser/dist/index.js +177 -0
- package/node_modules/eventsource-parser/dist/index.js.map +1 -0
- package/node_modules/eventsource-parser/dist/stream.cjs +29 -0
- package/node_modules/eventsource-parser/dist/stream.cjs.map +1 -0
- package/node_modules/eventsource-parser/dist/stream.d.cts +134 -0
- package/node_modules/eventsource-parser/dist/stream.d.ts +134 -0
- package/node_modules/eventsource-parser/dist/stream.js +30 -0
- package/node_modules/eventsource-parser/dist/stream.js.map +1 -0
- package/node_modules/eventsource-parser/package.json +92 -0
- package/node_modules/eventsource-parser/src/errors.ts +44 -0
- package/node_modules/eventsource-parser/src/index.ts +8 -0
- package/node_modules/eventsource-parser/src/parse.ts +439 -0
- package/node_modules/eventsource-parser/src/stream.ts +107 -0
- package/node_modules/eventsource-parser/src/types.ts +122 -0
- package/node_modules/eventsource-parser/stream.js +2 -0
- package/node_modules/mutative/LICENSE +21 -0
- package/node_modules/mutative/README.md +870 -0
- package/node_modules/mutative/dist/apply.d.ts +31 -0
- package/node_modules/mutative/dist/array.d.ts +45 -0
- package/node_modules/mutative/dist/constant.d.ts +8 -0
- package/node_modules/mutative/dist/create.d.ts +46 -0
- package/node_modules/mutative/dist/current.d.ts +23 -0
- package/node_modules/mutative/dist/draft.d.ts +3 -0
- package/node_modules/mutative/dist/draftify.d.ts +2 -0
- package/node_modules/mutative/dist/error.d.ts +54 -0
- package/node_modules/mutative/dist/index.d.mts +1 -0
- package/node_modules/mutative/dist/index.d.ts +12 -0
- package/node_modules/mutative/dist/index.js +8 -0
- package/node_modules/mutative/dist/index.mjs +3 -0
- package/node_modules/mutative/dist/interface.d.ts +200 -0
- package/node_modules/mutative/dist/internal.d.ts +4 -0
- package/node_modules/mutative/dist/makeCreator.d.ts +54 -0
- package/node_modules/mutative/dist/map.d.ts +15 -0
- package/node_modules/mutative/dist/mutative.cjs.development.js +2126 -0
- package/node_modules/mutative/dist/mutative.cjs.development.js.map +1 -0
- package/node_modules/mutative/dist/mutative.cjs.production.min.js +2 -0
- package/node_modules/mutative/dist/mutative.cjs.production.min.js.map +1 -0
- package/node_modules/mutative/dist/mutative.esm.js +2123 -0
- package/node_modules/mutative/dist/mutative.esm.js.map +1 -0
- package/node_modules/mutative/dist/mutative.esm.mjs +2123 -0
- package/node_modules/mutative/dist/mutative.esm.mjs.map +1 -0
- package/node_modules/mutative/dist/mutative.esm.production.min.mjs +2 -0
- package/node_modules/mutative/dist/mutative.esm.production.min.mjs.map +1 -0
- package/node_modules/mutative/dist/mutative.umd.development.js +2132 -0
- package/node_modules/mutative/dist/mutative.umd.development.js.map +1 -0
- package/node_modules/mutative/dist/mutative.umd.production.min.js +2 -0
- package/node_modules/mutative/dist/mutative.umd.production.min.js.map +1 -0
- package/node_modules/mutative/dist/original.d.ts +19 -0
- package/node_modules/mutative/dist/patch.d.ts +2 -0
- package/node_modules/mutative/dist/rawReturn.d.ts +19 -0
- package/node_modules/mutative/dist/set.d.ts +14 -0
- package/node_modules/mutative/dist/unsafe.d.ts +34 -0
- package/node_modules/mutative/dist/utils/cast.d.ts +13 -0
- package/node_modules/mutative/dist/utils/copy.d.ts +5 -0
- package/node_modules/mutative/dist/utils/deepFreeze.d.ts +1 -0
- package/node_modules/mutative/dist/utils/draft.d.ts +27 -0
- package/node_modules/mutative/dist/utils/finalize.d.ts +13 -0
- package/node_modules/mutative/dist/utils/forEach.d.ts +1 -0
- package/node_modules/mutative/dist/utils/index.d.ts +7 -0
- package/node_modules/mutative/dist/utils/mark.d.ts +2 -0
- package/node_modules/mutative/dist/utils/marker.d.ts +5 -0
- package/node_modules/mutative/dist/utils/proto.d.ts +10 -0
- package/node_modules/mutative/package.json +142 -0
- package/node_modules/mutative/src/apply.ts +239 -0
- package/node_modules/mutative/src/array.ts +679 -0
- package/node_modules/mutative/src/constant.ts +17 -0
- package/node_modules/mutative/src/create.ts +27 -0
- package/node_modules/mutative/src/current.ts +206 -0
- package/node_modules/mutative/src/draft.ts +489 -0
- package/node_modules/mutative/src/draftify.ts +57 -0
- package/node_modules/mutative/src/error.ts +129 -0
- package/node_modules/mutative/src/index.ts +21 -0
- package/node_modules/mutative/src/interface.ts +321 -0
- package/node_modules/mutative/src/internal.ts +5 -0
- package/node_modules/mutative/src/makeCreator.ts +382 -0
- package/node_modules/mutative/src/map.ts +160 -0
- package/node_modules/mutative/src/original.ts +28 -0
- package/node_modules/mutative/src/patch.ts +386 -0
- package/node_modules/mutative/src/rawReturn.ts +41 -0
- package/node_modules/mutative/src/set.ts +201 -0
- package/node_modules/mutative/src/unsafe.ts +66 -0
- package/node_modules/mutative/src/utils/cast.ts +22 -0
- package/node_modules/mutative/src/utils/copy.ts +224 -0
- package/node_modules/mutative/src/utils/deepFreeze.ts +103 -0
- package/node_modules/mutative/src/utils/draft.ts +189 -0
- package/node_modules/mutative/src/utils/finalize.ts +232 -0
- package/node_modules/mutative/src/utils/forEach.ts +24 -0
- package/node_modules/mutative/src/utils/index.ts +7 -0
- package/node_modules/mutative/src/utils/mark.ts +11 -0
- package/node_modules/mutative/src/utils/marker.ts +34 -0
- package/node_modules/mutative/src/utils/proto.ts +38 -0
- package/node_modules/uuid/LICENSE.md +9 -0
- package/node_modules/uuid/README.md +491 -0
- package/node_modules/uuid/dist/index.d.ts +15 -0
- package/node_modules/uuid/dist/index.js +14 -0
- package/node_modules/uuid/dist/max.d.ts +2 -0
- package/node_modules/uuid/dist/max.js +1 -0
- package/node_modules/uuid/dist/md5.d.ts +2 -0
- package/node_modules/uuid/dist/md5.js +135 -0
- package/node_modules/uuid/dist/nil.d.ts +2 -0
- package/node_modules/uuid/dist/nil.js +1 -0
- package/node_modules/uuid/dist/parse.d.ts +3 -0
- package/node_modules/uuid/dist/parse.js +9 -0
- package/node_modules/uuid/dist/regex.d.ts +2 -0
- package/node_modules/uuid/dist/regex.js +1 -0
- package/node_modules/uuid/dist/rng.d.ts +1 -0
- package/node_modules/uuid/dist/rng.js +4 -0
- package/node_modules/uuid/dist/sha1.d.ts +2 -0
- package/node_modules/uuid/dist/sha1.js +70 -0
- package/node_modules/uuid/dist/stringify.d.ts +3 -0
- package/node_modules/uuid/dist/stringify.js +35 -0
- package/node_modules/uuid/dist/types.d.ts +22 -0
- package/node_modules/uuid/dist/types.js +1 -0
- package/node_modules/uuid/dist/uuid-bin.d.ts +1 -0
- package/node_modules/uuid/dist/uuid-bin.js +70 -0
- package/node_modules/uuid/dist/v1.d.ts +11 -0
- package/node_modules/uuid/dist/v1.js +87 -0
- package/node_modules/uuid/dist/v1ToV6.d.ts +3 -0
- package/node_modules/uuid/dist/v1ToV6.js +10 -0
- package/node_modules/uuid/dist/v3.d.ts +9 -0
- package/node_modules/uuid/dist/v3.js +9 -0
- package/node_modules/uuid/dist/v35.d.ts +7 -0
- package/node_modules/uuid/dist/v35.js +39 -0
- package/node_modules/uuid/dist/v4.d.ts +4 -0
- package/node_modules/uuid/dist/v4.js +29 -0
- package/node_modules/uuid/dist/v5.d.ts +9 -0
- package/node_modules/uuid/dist/v5.js +9 -0
- package/node_modules/uuid/dist/v6.d.ts +4 -0
- package/node_modules/uuid/dist/v6.js +20 -0
- package/node_modules/uuid/dist/v6ToV1.d.ts +2 -0
- package/node_modules/uuid/dist/v6ToV1.js +10 -0
- package/node_modules/uuid/dist/v7.d.ts +9 -0
- package/node_modules/uuid/dist/v7.js +68 -0
- package/node_modules/uuid/dist/validate.d.ts +2 -0
- package/node_modules/uuid/dist/validate.js +5 -0
- package/node_modules/uuid/dist/version.d.ts +2 -0
- package/node_modules/uuid/dist/version.js +8 -0
- package/node_modules/uuid/dist-node/bin/uuid +2 -0
- package/node_modules/uuid/dist-node/index.js +14 -0
- package/node_modules/uuid/dist-node/max.js +1 -0
- package/node_modules/uuid/dist-node/md5.js +11 -0
- package/node_modules/uuid/dist-node/nil.js +1 -0
- package/node_modules/uuid/dist-node/parse.js +9 -0
- package/node_modules/uuid/dist-node/regex.js +1 -0
- package/node_modules/uuid/dist-node/rng.js +4 -0
- package/node_modules/uuid/dist-node/sha1.js +11 -0
- package/node_modules/uuid/dist-node/stringify.js +35 -0
- package/node_modules/uuid/dist-node/types.js +1 -0
- package/node_modules/uuid/dist-node/uuid-bin.js +70 -0
- package/node_modules/uuid/dist-node/v1.js +87 -0
- package/node_modules/uuid/dist-node/v1ToV6.js +10 -0
- package/node_modules/uuid/dist-node/v3.js +9 -0
- package/node_modules/uuid/dist-node/v35.js +39 -0
- package/node_modules/uuid/dist-node/v4.js +29 -0
- package/node_modules/uuid/dist-node/v5.js +9 -0
- package/node_modules/uuid/dist-node/v6.js +20 -0
- package/node_modules/uuid/dist-node/v6ToV1.js +10 -0
- package/node_modules/uuid/dist-node/v7.js +68 -0
- package/node_modules/uuid/dist-node/validate.js +5 -0
- package/node_modules/uuid/dist-node/version.js +8 -0
- package/node_modules/uuid/package.json +115 -0
- package/package.json +80 -4
- package/release.json +78 -0
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
type id = string;
|
|
2
|
+
type etype = string;
|
|
3
|
+
type label = string;
|
|
4
|
+
export type InstantDBIdent = [id, etype, label];
|
|
5
|
+
export type InstantDBInferredType = 'number' | 'string' | 'boolean' | 'json';
|
|
6
|
+
export type InstantDBCheckedDataType = 'number' | 'string' | 'boolean' | 'date';
|
|
7
|
+
export type InstantDBAttrOnDelete = 'cascade';
|
|
8
|
+
export type InstantDBAttr = {
|
|
9
|
+
id: string;
|
|
10
|
+
'value-type': 'blob' | 'ref';
|
|
11
|
+
cardinality: 'many' | 'one';
|
|
12
|
+
'forward-identity': InstantDBIdent;
|
|
13
|
+
'reverse-identity'?: InstantDBIdent | null | undefined;
|
|
14
|
+
'unique?': boolean;
|
|
15
|
+
'index?': boolean;
|
|
16
|
+
'required?': boolean;
|
|
17
|
+
'inferred-types': InstantDBInferredType[] | null;
|
|
18
|
+
catalog: 'system' | 'user';
|
|
19
|
+
'on-delete'?: InstantDBAttrOnDelete | null | undefined;
|
|
20
|
+
'on-delete-reverse'?: InstantDBAttrOnDelete | null | undefined;
|
|
21
|
+
'checked-data-type'?: InstantDBCheckedDataType | null | undefined;
|
|
22
|
+
'indexing?'?: boolean;
|
|
23
|
+
'setting-unique?'?: boolean;
|
|
24
|
+
};
|
|
25
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import { User } from './clientTypes.ts';
|
|
2
|
+
type SharedInput = {
|
|
3
|
+
apiURI: string;
|
|
4
|
+
appId: string;
|
|
5
|
+
};
|
|
6
|
+
export type SendMagicCodeParams = {
|
|
7
|
+
email: string;
|
|
8
|
+
};
|
|
9
|
+
export type SendMagicCodeResponse = {
|
|
10
|
+
sent: true;
|
|
11
|
+
};
|
|
12
|
+
export declare function sendMagicCode({ apiURI, appId, email, }: SharedInput & SendMagicCodeParams): Promise<SendMagicCodeResponse>;
|
|
13
|
+
export type VerifyMagicCodeParams = {
|
|
14
|
+
email: string;
|
|
15
|
+
code: string;
|
|
16
|
+
refreshToken?: string | undefined;
|
|
17
|
+
};
|
|
18
|
+
export type VerifyResponse = {
|
|
19
|
+
user: User;
|
|
20
|
+
};
|
|
21
|
+
/**
|
|
22
|
+
* @deprecated Use {@link checkMagicCode} instead to get the `created` field
|
|
23
|
+
* and support `extraFields`.
|
|
24
|
+
*/
|
|
25
|
+
export declare function verifyMagicCode({ apiURI, appId, email, code, refreshToken, }: SharedInput & VerifyMagicCodeParams): Promise<VerifyResponse>;
|
|
26
|
+
export type CheckMagicCodeParams = {
|
|
27
|
+
email: string;
|
|
28
|
+
code: string;
|
|
29
|
+
refreshToken?: string | undefined;
|
|
30
|
+
extraFields?: Record<string, any> | undefined;
|
|
31
|
+
};
|
|
32
|
+
export type CheckMagicCodeResponse = {
|
|
33
|
+
user: User;
|
|
34
|
+
created: boolean;
|
|
35
|
+
};
|
|
36
|
+
export declare function checkMagicCode({ apiURI, appId, email, code, refreshToken, extraFields, }: SharedInput & CheckMagicCodeParams): Promise<CheckMagicCodeResponse>;
|
|
37
|
+
export type VerifyRefreshTokenParams = {
|
|
38
|
+
refreshToken: string;
|
|
39
|
+
};
|
|
40
|
+
export declare function verifyRefreshToken({ apiURI, appId, refreshToken, }: SharedInput & VerifyRefreshTokenParams): Promise<VerifyResponse>;
|
|
41
|
+
export type SignInAsGuestParams = {
|
|
42
|
+
extraFields?: Record<string, any> | undefined;
|
|
43
|
+
};
|
|
44
|
+
export declare function signInAsGuest({ apiURI, appId, extraFields, }: SharedInput & SignInAsGuestParams): Promise<VerifyResponse>;
|
|
45
|
+
export type ExchangeCodeForTokenParams = {
|
|
46
|
+
code: string;
|
|
47
|
+
codeVerifier?: string;
|
|
48
|
+
refreshToken?: string | undefined;
|
|
49
|
+
extraFields?: Record<string, any> | undefined;
|
|
50
|
+
};
|
|
51
|
+
export declare function exchangeCodeForToken({ apiURI, appId, code, codeVerifier, refreshToken, extraFields, }: SharedInput & ExchangeCodeForTokenParams): Promise<CheckMagicCodeResponse>;
|
|
52
|
+
export type SignInWithIdTokenParams = {
|
|
53
|
+
nonce?: string | null | undefined;
|
|
54
|
+
idToken: string;
|
|
55
|
+
clientName: string;
|
|
56
|
+
refreshToken?: string;
|
|
57
|
+
extraFields?: Record<string, any> | undefined;
|
|
58
|
+
};
|
|
59
|
+
export declare function signInWithIdToken({ apiURI, appId, nonce, idToken, clientName, refreshToken, extraFields, }: SharedInput & SignInWithIdTokenParams): Promise<CheckMagicCodeResponse>;
|
|
60
|
+
export type SignoutParams = {
|
|
61
|
+
refreshToken: string;
|
|
62
|
+
};
|
|
63
|
+
export declare function signOut({ apiURI, appId, refreshToken, }: SharedInput & SignoutParams): Promise<{}>;
|
|
64
|
+
export {};
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
import { jsonFetch } from './utils/fetch.js';
|
|
2
|
+
export function sendMagicCode({ apiURI, appId, email, }) {
|
|
3
|
+
return jsonFetch(`${apiURI}/runtime/auth/send_magic_code`, {
|
|
4
|
+
method: 'POST',
|
|
5
|
+
headers: { 'content-type': 'application/json' },
|
|
6
|
+
body: JSON.stringify({ 'app-id': appId, email }),
|
|
7
|
+
});
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* @deprecated Use {@link checkMagicCode} instead to get the `created` field
|
|
11
|
+
* and support `extraFields`.
|
|
12
|
+
*/
|
|
13
|
+
export async function verifyMagicCode({ apiURI, appId, email, code, refreshToken, }) {
|
|
14
|
+
const res = await jsonFetch(`${apiURI}/runtime/auth/verify_magic_code`, {
|
|
15
|
+
method: 'POST',
|
|
16
|
+
headers: { 'content-type': 'application/json' },
|
|
17
|
+
body: JSON.stringify({
|
|
18
|
+
'app-id': appId,
|
|
19
|
+
email,
|
|
20
|
+
code,
|
|
21
|
+
...(refreshToken ? { 'refresh-token': refreshToken } : {}),
|
|
22
|
+
}),
|
|
23
|
+
});
|
|
24
|
+
return res;
|
|
25
|
+
}
|
|
26
|
+
export async function checkMagicCode({ apiURI, appId, email, code, refreshToken, extraFields, }) {
|
|
27
|
+
const res = await jsonFetch(`${apiURI}/runtime/auth/verify_magic_code`, {
|
|
28
|
+
method: 'POST',
|
|
29
|
+
headers: { 'content-type': 'application/json' },
|
|
30
|
+
body: JSON.stringify({
|
|
31
|
+
'app-id': appId,
|
|
32
|
+
email,
|
|
33
|
+
code,
|
|
34
|
+
...(refreshToken ? { 'refresh-token': refreshToken } : {}),
|
|
35
|
+
...(extraFields ? { 'extra-fields': extraFields } : {}),
|
|
36
|
+
}),
|
|
37
|
+
});
|
|
38
|
+
return res;
|
|
39
|
+
}
|
|
40
|
+
export async function verifyRefreshToken({ apiURI, appId, refreshToken, }) {
|
|
41
|
+
const res = await jsonFetch(`${apiURI}/runtime/auth/verify_refresh_token`, {
|
|
42
|
+
method: 'POST',
|
|
43
|
+
headers: { 'content-type': 'application/json' },
|
|
44
|
+
body: JSON.stringify({
|
|
45
|
+
'app-id': appId,
|
|
46
|
+
'refresh-token': refreshToken,
|
|
47
|
+
}),
|
|
48
|
+
});
|
|
49
|
+
return res;
|
|
50
|
+
}
|
|
51
|
+
export async function signInAsGuest({ apiURI, appId, extraFields, }) {
|
|
52
|
+
const res = await jsonFetch(`${apiURI}/runtime/auth/sign_in_guest`, {
|
|
53
|
+
method: 'POST',
|
|
54
|
+
headers: { 'content-type': 'application/json' },
|
|
55
|
+
body: JSON.stringify({
|
|
56
|
+
'app-id': appId,
|
|
57
|
+
...(extraFields ? { 'extra-fields': extraFields } : {}),
|
|
58
|
+
}),
|
|
59
|
+
});
|
|
60
|
+
return res;
|
|
61
|
+
}
|
|
62
|
+
export async function exchangeCodeForToken({ apiURI, appId, code, codeVerifier, refreshToken, extraFields, }) {
|
|
63
|
+
const res = await jsonFetch(`${apiURI}/runtime/oauth/token`, {
|
|
64
|
+
method: 'POST',
|
|
65
|
+
headers: { 'content-type': 'application/json' },
|
|
66
|
+
body: JSON.stringify({
|
|
67
|
+
app_id: appId,
|
|
68
|
+
code: code,
|
|
69
|
+
code_verifier: codeVerifier,
|
|
70
|
+
refresh_token: refreshToken,
|
|
71
|
+
...(extraFields ? { extra_fields: extraFields } : {}),
|
|
72
|
+
}),
|
|
73
|
+
});
|
|
74
|
+
return res;
|
|
75
|
+
}
|
|
76
|
+
export async function signInWithIdToken({ apiURI, appId, nonce, idToken, clientName, refreshToken, extraFields, }) {
|
|
77
|
+
const res = await jsonFetch(`${apiURI}/runtime/oauth/id_token`, {
|
|
78
|
+
method: 'POST',
|
|
79
|
+
headers: { 'content-type': 'application/json' },
|
|
80
|
+
body: JSON.stringify({
|
|
81
|
+
app_id: appId,
|
|
82
|
+
nonce,
|
|
83
|
+
id_token: idToken,
|
|
84
|
+
client_name: clientName,
|
|
85
|
+
refresh_token: refreshToken,
|
|
86
|
+
...(extraFields ? { extra_fields: extraFields } : {}),
|
|
87
|
+
}),
|
|
88
|
+
});
|
|
89
|
+
return res;
|
|
90
|
+
}
|
|
91
|
+
export async function signOut({ apiURI, appId, refreshToken, }) {
|
|
92
|
+
const res = await jsonFetch(`${apiURI}/runtime/signout`, {
|
|
93
|
+
method: 'POST',
|
|
94
|
+
headers: {
|
|
95
|
+
'content-type': 'application/json',
|
|
96
|
+
},
|
|
97
|
+
body: JSON.stringify({
|
|
98
|
+
app_id: appId,
|
|
99
|
+
refresh_token: refreshToken,
|
|
100
|
+
}),
|
|
101
|
+
});
|
|
102
|
+
return res;
|
|
103
|
+
}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
export type User = {
|
|
2
|
+
id: string;
|
|
3
|
+
refresh_token: string;
|
|
4
|
+
email?: string | null | undefined;
|
|
5
|
+
imageURL?: string | null | undefined;
|
|
6
|
+
type?: 'user' | 'guest' | undefined;
|
|
7
|
+
isGuest: boolean;
|
|
8
|
+
};
|
|
9
|
+
export type AuthResult = {
|
|
10
|
+
user: User | undefined;
|
|
11
|
+
error: undefined;
|
|
12
|
+
} | {
|
|
13
|
+
user: undefined;
|
|
14
|
+
error: {
|
|
15
|
+
message: string;
|
|
16
|
+
};
|
|
17
|
+
};
|
|
18
|
+
export type AuthState = {
|
|
19
|
+
isLoading: true;
|
|
20
|
+
error: undefined;
|
|
21
|
+
user: undefined;
|
|
22
|
+
} | {
|
|
23
|
+
isLoading: false;
|
|
24
|
+
error: {
|
|
25
|
+
message: string;
|
|
26
|
+
};
|
|
27
|
+
user: undefined;
|
|
28
|
+
} | {
|
|
29
|
+
isLoading: false;
|
|
30
|
+
error: undefined;
|
|
31
|
+
user: User | null | undefined;
|
|
32
|
+
};
|
|
33
|
+
export type ConnectionStatus = 'connecting' | 'opened' | 'authenticated' | 'closed' | 'errored';
|
|
34
|
+
export type AppStatusState = {
|
|
35
|
+
isLoading: true;
|
|
36
|
+
isReadOnly: undefined;
|
|
37
|
+
} | {
|
|
38
|
+
isLoading: false;
|
|
39
|
+
isReadOnly: boolean;
|
|
40
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { TxChunk } from './instatx.ts';
|
|
2
|
+
import { RoomSchemaShape } from './presence.ts';
|
|
3
|
+
import type { IContainEntitiesAndLinks, InstantSchemaDef } from './schemaTypes.ts';
|
|
4
|
+
export interface IDatabase<Schema extends IContainEntitiesAndLinks<any, any> | {} = {}, _RoomSchema extends RoomSchemaShape = {}, WithCardinalityInference extends boolean = false> {
|
|
5
|
+
tx: TxChunk<Schema extends IContainEntitiesAndLinks<any, any> ? Schema : InstantSchemaDef<any, any, any>>;
|
|
6
|
+
withCardinalityInference?: WithCardinalityInference;
|
|
7
|
+
}
|
|
8
|
+
export interface IInstantDatabase<Schema extends InstantSchemaDef<any, any, any>> {
|
|
9
|
+
tx: TxChunk<Schema>;
|
|
10
|
+
}
|
|
11
|
+
export type DevtoolPosition = 'bottom-left' | 'bottom-right' | 'top-right' | 'top-left';
|
|
12
|
+
export type DevtoolConfig = {
|
|
13
|
+
/**
|
|
14
|
+
* Position of the devtool panel on the screen
|
|
15
|
+
* @default 'bottom-right'
|
|
16
|
+
*/
|
|
17
|
+
position?: DevtoolPosition;
|
|
18
|
+
/**
|
|
19
|
+
* Hosts where the devtool should be shown
|
|
20
|
+
* @default ['localhost']
|
|
21
|
+
*/
|
|
22
|
+
allowedHosts?: string[];
|
|
23
|
+
/**
|
|
24
|
+
* Dashboard URI used to render the devtool
|
|
25
|
+
* @default 'https://instantdb.com'
|
|
26
|
+
*/
|
|
27
|
+
dashURI?: string;
|
|
28
|
+
};
|
|
29
|
+
export type StrictDevtoolConfig = {
|
|
30
|
+
position: DevtoolPosition;
|
|
31
|
+
allowedHosts: string[];
|
|
32
|
+
dashURI?: string;
|
|
33
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
function createUserSyncResponse(config, user) {
|
|
2
|
+
if (user && user.refresh_token) {
|
|
3
|
+
return new Response(JSON.stringify({ ok: true }), {
|
|
4
|
+
headers: {
|
|
5
|
+
'Content-Type': 'application/json',
|
|
6
|
+
// 7 day expiry
|
|
7
|
+
'Set-Cookie': `instant_user_${config.appId}=${encodeURIComponent(JSON.stringify(user))}; Path=/; HttpOnly; Secure; SameSite=Strict; Max-Age=604800`,
|
|
8
|
+
},
|
|
9
|
+
});
|
|
10
|
+
}
|
|
11
|
+
else {
|
|
12
|
+
return new Response(JSON.stringify({ ok: true }), {
|
|
13
|
+
headers: {
|
|
14
|
+
'Content-Type': 'application/json',
|
|
15
|
+
// remove the cookie (some browsers)
|
|
16
|
+
'Set-Cookie': `instant_user_${config.appId}=; Path=/; HttpOnly; Secure; SameSite=Strict; Max-Age=-1`,
|
|
17
|
+
},
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
function errorResponse(status, message) {
|
|
22
|
+
return new Response(JSON.stringify({ ok: false, error: message }), {
|
|
23
|
+
status,
|
|
24
|
+
headers: { 'Content-Type': 'application/json' },
|
|
25
|
+
});
|
|
26
|
+
}
|
|
27
|
+
export const createInstantRouteHandler = (config) => {
|
|
28
|
+
return {
|
|
29
|
+
POST: async (req) => {
|
|
30
|
+
let body;
|
|
31
|
+
try {
|
|
32
|
+
body = await req.json();
|
|
33
|
+
}
|
|
34
|
+
catch {
|
|
35
|
+
return errorResponse(400, 'Invalid JSON body');
|
|
36
|
+
}
|
|
37
|
+
if (!body.type) {
|
|
38
|
+
return errorResponse(400, 'Missing "type" field');
|
|
39
|
+
}
|
|
40
|
+
if (body.appId !== config.appId) {
|
|
41
|
+
return errorResponse(403, 'App ID mismatch');
|
|
42
|
+
}
|
|
43
|
+
switch (body.type) {
|
|
44
|
+
case 'sync-user':
|
|
45
|
+
return createUserSyncResponse(config, body.user ?? null);
|
|
46
|
+
default:
|
|
47
|
+
return errorResponse(400, `Unknown type: ${body.type}`);
|
|
48
|
+
}
|
|
49
|
+
},
|
|
50
|
+
};
|
|
51
|
+
};
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export declare function matchPattern(pattern: any, triple: any, context: any): any;
|
|
2
|
+
export declare function querySingle(store: any, pattern: any, context: any): any[];
|
|
3
|
+
export declare function queryWhere(store: any, patterns: any, contexts?: {}[]): any;
|
|
4
|
+
export declare function query(store: any, { find, where }: {
|
|
5
|
+
find: any;
|
|
6
|
+
where: any;
|
|
7
|
+
}): any;
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
// 1. patternMatch
|
|
2
|
+
import { getTriples } from './store.js';
|
|
3
|
+
function isVariable(x) {
|
|
4
|
+
return typeof x === 'string' && x.startsWith('?');
|
|
5
|
+
}
|
|
6
|
+
function matchVariable(variable, triplePart, context) {
|
|
7
|
+
if (context.hasOwnProperty(variable)) {
|
|
8
|
+
const bound = context[variable];
|
|
9
|
+
return matchPart(bound, triplePart, context);
|
|
10
|
+
}
|
|
11
|
+
return { ...context, [variable]: triplePart };
|
|
12
|
+
}
|
|
13
|
+
function matchExact(patternPart, triplePart, context) {
|
|
14
|
+
return patternPart === triplePart ? context : null;
|
|
15
|
+
}
|
|
16
|
+
function matcherForPatternPart(patternPart) {
|
|
17
|
+
switch (typeof patternPart) {
|
|
18
|
+
case 'string':
|
|
19
|
+
return patternPart.startsWith('?') ? matchVariable : matchExact;
|
|
20
|
+
default:
|
|
21
|
+
return matchExact;
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
const validArgMapProps = [
|
|
25
|
+
'in',
|
|
26
|
+
'$in',
|
|
27
|
+
'$not',
|
|
28
|
+
'$isNull',
|
|
29
|
+
'$comparator', // covers all of $gt, $lt, etc.
|
|
30
|
+
];
|
|
31
|
+
// Checks if an object is an args map
|
|
32
|
+
function isArgsMap(patternPart) {
|
|
33
|
+
for (const prop of validArgMapProps) {
|
|
34
|
+
if (patternPart.hasOwnProperty(prop)) {
|
|
35
|
+
return true;
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
return false;
|
|
39
|
+
}
|
|
40
|
+
function matchPart(patternPart, triplePart, context) {
|
|
41
|
+
if (!context)
|
|
42
|
+
return null;
|
|
43
|
+
if (typeof patternPart === 'object') {
|
|
44
|
+
// This is an args map, so we'll have already fitered the triples
|
|
45
|
+
// in `getRelevantTriples`
|
|
46
|
+
if (isArgsMap(patternPart)) {
|
|
47
|
+
return context;
|
|
48
|
+
}
|
|
49
|
+
return null;
|
|
50
|
+
}
|
|
51
|
+
const matcher = matcherForPatternPart(patternPart);
|
|
52
|
+
return matcher(patternPart, triplePart, context);
|
|
53
|
+
}
|
|
54
|
+
export function matchPattern(pattern, triple, context) {
|
|
55
|
+
return pattern.reduce((context, patternPart, idx) => {
|
|
56
|
+
const triplePart = triple[idx];
|
|
57
|
+
return matchPart(patternPart, triplePart, context);
|
|
58
|
+
}, context);
|
|
59
|
+
}
|
|
60
|
+
// 2. querySingle
|
|
61
|
+
export function querySingle(store, pattern, context) {
|
|
62
|
+
return relevantTriples(store, pattern, context)
|
|
63
|
+
.map((triple) => matchPattern(pattern, triple, context))
|
|
64
|
+
.filter((x) => x);
|
|
65
|
+
}
|
|
66
|
+
// 3. queryWhere
|
|
67
|
+
function queryPattern(store, pattern, contexts) {
|
|
68
|
+
if (pattern.or) {
|
|
69
|
+
return pattern.or.patterns.flatMap((patterns) => {
|
|
70
|
+
return queryWhere(store, patterns, contexts);
|
|
71
|
+
});
|
|
72
|
+
}
|
|
73
|
+
if (pattern.and) {
|
|
74
|
+
return pattern.and.patterns.reduce((contexts, patterns) => {
|
|
75
|
+
return queryWhere(store, patterns, contexts);
|
|
76
|
+
}, contexts);
|
|
77
|
+
}
|
|
78
|
+
return contexts.flatMap((context) => querySingle(store, pattern, context));
|
|
79
|
+
}
|
|
80
|
+
export function queryWhere(store, patterns, contexts = [{}]) {
|
|
81
|
+
return patterns.reduce((contexts, pattern) => {
|
|
82
|
+
return queryPattern(store, pattern, contexts);
|
|
83
|
+
}, contexts);
|
|
84
|
+
}
|
|
85
|
+
// 4. query
|
|
86
|
+
function actualize(context, find) {
|
|
87
|
+
if (Array.isArray(find)) {
|
|
88
|
+
return find.map((findPart) => actualize(context, findPart));
|
|
89
|
+
}
|
|
90
|
+
return isVariable(find) ? context[find] : find;
|
|
91
|
+
}
|
|
92
|
+
export function query(store, { find, where }) {
|
|
93
|
+
const contexts = queryWhere(store, where);
|
|
94
|
+
return contexts.map((context) => actualize(context, find));
|
|
95
|
+
}
|
|
96
|
+
// 5. Index
|
|
97
|
+
function relevantTriples(store, pattern, context) {
|
|
98
|
+
return getTriples(store, actualize(context, pattern));
|
|
99
|
+
}
|
|
@@ -0,0 +1,144 @@
|
|
|
1
|
+
import * as flags from './utils/flags.js';
|
|
2
|
+
let currentDevtool;
|
|
3
|
+
export function createDevtool(appId, config) {
|
|
4
|
+
currentDevtool?.dispose();
|
|
5
|
+
const iframeContrainer = createIframeContainer(config);
|
|
6
|
+
const toggler = createToggler(config, toggleView);
|
|
7
|
+
const iframe = createIframe(getDevtoolSrc(appId, config));
|
|
8
|
+
function onPostMessage(event) {
|
|
9
|
+
if (event.source !== iframe.element.contentWindow)
|
|
10
|
+
return;
|
|
11
|
+
if (event.data?.type === 'close' && iframeContrainer.isVisible()) {
|
|
12
|
+
toggleView();
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
function onKeyDown(event) {
|
|
16
|
+
const isToggleShortcut = event.shiftKey && event.ctrlKey && event.code === 'Digit0';
|
|
17
|
+
const isEsc = event.key === 'Escape' || event.key === 'Esc';
|
|
18
|
+
if (isToggleShortcut) {
|
|
19
|
+
toggleView();
|
|
20
|
+
}
|
|
21
|
+
else if (isEsc && iframeContrainer.isVisible()) {
|
|
22
|
+
toggleView();
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
function toggleView() {
|
|
26
|
+
if (iframeContrainer.isVisible()) {
|
|
27
|
+
iframeContrainer.element.style.display = 'none';
|
|
28
|
+
}
|
|
29
|
+
else {
|
|
30
|
+
iframeContrainer.element.style.display = 'block';
|
|
31
|
+
// lazily render iframe on first open
|
|
32
|
+
if (!iframeContrainer.element.contains(iframe.element)) {
|
|
33
|
+
iframeContrainer.element.appendChild(iframe.element);
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
function dispose() {
|
|
38
|
+
iframeContrainer.element.remove();
|
|
39
|
+
toggler.element.remove();
|
|
40
|
+
removeEventListener('keydown', onKeyDown);
|
|
41
|
+
removeEventListener('message', onPostMessage);
|
|
42
|
+
}
|
|
43
|
+
function create() {
|
|
44
|
+
document.body.appendChild(iframeContrainer.element);
|
|
45
|
+
document.body.appendChild(toggler.element);
|
|
46
|
+
addEventListener('keydown', onKeyDown);
|
|
47
|
+
addEventListener('message', onPostMessage);
|
|
48
|
+
currentDevtool = {
|
|
49
|
+
dispose,
|
|
50
|
+
};
|
|
51
|
+
}
|
|
52
|
+
return create();
|
|
53
|
+
}
|
|
54
|
+
export function getDevtoolSrc(appId, config) {
|
|
55
|
+
const useLocalDashboard = flags.devBackend || flags.devtoolLocalDashboard;
|
|
56
|
+
const dashURI = config.dashURI ??
|
|
57
|
+
(useLocalDashboard ? 'http://localhost:3000' : 'https://instantdb.com');
|
|
58
|
+
return `${dashURI.replace(/\/+$/, '')}/_devtool?appId=${appId}`;
|
|
59
|
+
}
|
|
60
|
+
function createIframe(src) {
|
|
61
|
+
const element = document.createElement('iframe');
|
|
62
|
+
element.src = src;
|
|
63
|
+
element.className = 'instant-devtool-iframe';
|
|
64
|
+
Object.assign(element.style, {
|
|
65
|
+
width: '100%',
|
|
66
|
+
height: '100%',
|
|
67
|
+
backgroundColor: 'white',
|
|
68
|
+
border: 'none',
|
|
69
|
+
});
|
|
70
|
+
return { element };
|
|
71
|
+
}
|
|
72
|
+
function createToggler(config, onClick) {
|
|
73
|
+
const logoSVG = `
|
|
74
|
+
<svg width="32" height="32" viewBox="0 0 512 512" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
75
|
+
<rect width="512" height="512" fill="black"/>
|
|
76
|
+
<rect x="97.0973" y="91.3297" width="140" height="330" fill="white"/>
|
|
77
|
+
</svg>
|
|
78
|
+
`;
|
|
79
|
+
const element = document.createElement('button');
|
|
80
|
+
element.innerHTML = logoSVG;
|
|
81
|
+
element.className = 'instant-devtool-toggler';
|
|
82
|
+
Object.assign(element.style, {
|
|
83
|
+
// pos
|
|
84
|
+
position: 'fixed',
|
|
85
|
+
...cssPositionForToggler(config.position),
|
|
86
|
+
height: '32px',
|
|
87
|
+
width: '32px',
|
|
88
|
+
// layout
|
|
89
|
+
display: 'flex',
|
|
90
|
+
alignItems: 'center',
|
|
91
|
+
justifyContent: 'center',
|
|
92
|
+
zIndex: '9010',
|
|
93
|
+
// look
|
|
94
|
+
padding: '0',
|
|
95
|
+
margin: '0',
|
|
96
|
+
border: 'none',
|
|
97
|
+
cursor: 'pointer',
|
|
98
|
+
});
|
|
99
|
+
element.addEventListener('click', onClick);
|
|
100
|
+
return { element };
|
|
101
|
+
}
|
|
102
|
+
function cssPositionForToggler(position) {
|
|
103
|
+
switch (position) {
|
|
104
|
+
case 'bottom-left':
|
|
105
|
+
return { bottom: '24px', left: '24px' };
|
|
106
|
+
case 'bottom-right':
|
|
107
|
+
return { bottom: '24px', right: '24px' };
|
|
108
|
+
case 'top-right':
|
|
109
|
+
return { top: '24px', right: '24px' };
|
|
110
|
+
case 'top-left':
|
|
111
|
+
return { top: '24px', left: '24px' };
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
function cssPositionForIframeContainer(position) {
|
|
115
|
+
switch (position) {
|
|
116
|
+
case 'bottom-left':
|
|
117
|
+
return { bottom: '24px', right: '24px', left: '60px', top: '72px' };
|
|
118
|
+
case 'bottom-right':
|
|
119
|
+
return { bottom: '24px', left: '24px', right: '60px', top: '72px' };
|
|
120
|
+
case 'top-right':
|
|
121
|
+
return { top: '24px', left: '24px', right: '60px', bottom: '72px' };
|
|
122
|
+
case 'top-left':
|
|
123
|
+
return { top: '24px', right: '24px', left: '60px', bottom: '72px' };
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
function createIframeContainer(config) {
|
|
127
|
+
const element = document.createElement('div');
|
|
128
|
+
Object.assign(element.style, {
|
|
129
|
+
position: 'fixed',
|
|
130
|
+
...cssPositionForIframeContainer(config.position),
|
|
131
|
+
display: 'block',
|
|
132
|
+
borderRadius: '4px',
|
|
133
|
+
border: '1px #ccc solid',
|
|
134
|
+
boxShadow: '0px 0px 8px #00000044',
|
|
135
|
+
backgroundColor: '#eee',
|
|
136
|
+
zIndex: '999990',
|
|
137
|
+
});
|
|
138
|
+
element.style.display = 'none';
|
|
139
|
+
element.className = 'instant-devtool-container';
|
|
140
|
+
function isVisible() {
|
|
141
|
+
return element.style.display !== 'none';
|
|
142
|
+
}
|
|
143
|
+
return { element, isVisible };
|
|
144
|
+
}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
import { InstantCoreDatabase, InstantDBAttr } from './index.ts';
|
|
2
|
+
import { RuleParams } from './schemaTypes.ts';
|
|
3
|
+
export declare const isServer: boolean;
|
|
4
|
+
export type FrameworkConfig = {
|
|
5
|
+
token?: string | null;
|
|
6
|
+
db: InstantCoreDatabase<any, any>;
|
|
7
|
+
};
|
|
8
|
+
type QueryPromise = {
|
|
9
|
+
type: 'http';
|
|
10
|
+
triples: any;
|
|
11
|
+
attrs: any;
|
|
12
|
+
queryHash: any;
|
|
13
|
+
query: any;
|
|
14
|
+
pageInfo?: any;
|
|
15
|
+
} | {
|
|
16
|
+
type: 'session';
|
|
17
|
+
queryResult: any;
|
|
18
|
+
};
|
|
19
|
+
export declare class FrameworkClient {
|
|
20
|
+
private params;
|
|
21
|
+
private db;
|
|
22
|
+
resultMap: Map<string, {
|
|
23
|
+
status: 'pending' | 'success' | 'error';
|
|
24
|
+
type: 'http' | 'session';
|
|
25
|
+
promise?: Promise<QueryPromise> | null;
|
|
26
|
+
data?: any;
|
|
27
|
+
error?: any;
|
|
28
|
+
}>;
|
|
29
|
+
private queryResolvedCallbacks;
|
|
30
|
+
constructor(params: FrameworkConfig);
|
|
31
|
+
subscribe: (callback: (result: {
|
|
32
|
+
triples: any;
|
|
33
|
+
attrs: any;
|
|
34
|
+
queryHash: string;
|
|
35
|
+
pageInfo?: any;
|
|
36
|
+
}) => void) => void;
|
|
37
|
+
addQueryResult: (queryKey: string, value: any) => void;
|
|
38
|
+
removeCachedQueryResult: (queryHash: string) => void;
|
|
39
|
+
queryClient: (query_: any, opts?: {
|
|
40
|
+
ruleParams: RuleParams;
|
|
41
|
+
}) => Promise<QueryPromise>;
|
|
42
|
+
query: (_query: any, opts?: {
|
|
43
|
+
ruleParams: RuleParams;
|
|
44
|
+
}) => {
|
|
45
|
+
type: 'http' | 'session';
|
|
46
|
+
status: 'pending' | 'success' | 'error';
|
|
47
|
+
promise?: Promise<QueryPromise>;
|
|
48
|
+
data?: any;
|
|
49
|
+
error?: any;
|
|
50
|
+
};
|
|
51
|
+
getExistingResultForQuery: (_query: any, opts?: {
|
|
52
|
+
ruleParams: RuleParams;
|
|
53
|
+
}) => {
|
|
54
|
+
status: 'pending' | 'success' | 'error';
|
|
55
|
+
type: 'http' | 'session';
|
|
56
|
+
promise?: Promise<QueryPromise> | null;
|
|
57
|
+
data?: any;
|
|
58
|
+
error?: any;
|
|
59
|
+
} | undefined;
|
|
60
|
+
completeIsomorphic: (query: any, triples: any[], attrs: InstantDBAttr[], pageInfo?: any) => {
|
|
61
|
+
data: any;
|
|
62
|
+
pageInfo?: any;
|
|
63
|
+
aggregate?: any;
|
|
64
|
+
};
|
|
65
|
+
hashQuery: (_query: any, opts?: {
|
|
66
|
+
ruleParams: RuleParams;
|
|
67
|
+
}) => {
|
|
68
|
+
hash: string;
|
|
69
|
+
query: any;
|
|
70
|
+
};
|
|
71
|
+
getTriplesAndAttrsForQuery: (query: any) => Promise<{
|
|
72
|
+
triples: any[];
|
|
73
|
+
attrs: InstantDBAttr[];
|
|
74
|
+
query: any;
|
|
75
|
+
queryHash: string;
|
|
76
|
+
type: 'http';
|
|
77
|
+
pageInfo?: any;
|
|
78
|
+
}>;
|
|
79
|
+
}
|
|
80
|
+
export {};
|