@mszr/idb-dux 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +194 -0
- package/README.md +84 -0
- package/dist/commonjs/admin/index.d.ts +18 -0
- package/dist/commonjs/admin/index.d.ts.map +1 -0
- package/dist/commonjs/admin/index.js +31 -0
- package/dist/commonjs/admin/index.js.map +1 -0
- package/dist/commonjs/admin/init.d.ts +67 -0
- package/dist/commonjs/admin/init.d.ts.map +1 -0
- package/dist/commonjs/admin/init.js +86 -0
- package/dist/commonjs/admin/init.js.map +1 -0
- package/dist/commonjs/admin/query.d.ts +21 -0
- package/dist/commonjs/admin/query.d.ts.map +1 -0
- package/dist/commonjs/admin/query.js +46 -0
- package/dist/commonjs/admin/query.js.map +1 -0
- package/dist/commonjs/admin/types.d.ts +124 -0
- package/dist/commonjs/admin/types.d.ts.map +1 -0
- package/dist/commonjs/admin/types.js +3 -0
- package/dist/commonjs/admin/types.js.map +1 -0
- package/dist/commonjs/admin/webhooks.d.ts +11 -0
- package/dist/commonjs/admin/webhooks.d.ts.map +1 -0
- package/dist/commonjs/admin/webhooks.js +8 -0
- package/dist/commonjs/admin/webhooks.js.map +1 -0
- package/dist/commonjs/errors.d.ts +13 -0
- package/dist/commonjs/errors.d.ts.map +1 -0
- package/dist/commonjs/errors.js +19 -0
- package/dist/commonjs/errors.js.map +1 -0
- package/dist/commonjs/index.d.ts +13 -0
- package/dist/commonjs/index.d.ts.map +1 -0
- package/dist/commonjs/index.js +29 -0
- package/dist/commonjs/index.js.map +1 -0
- package/dist/commonjs/nuxt/defineAuthSyncHandler.d.ts +15 -0
- package/dist/commonjs/nuxt/defineAuthSyncHandler.d.ts.map +1 -0
- package/dist/commonjs/nuxt/defineAuthSyncHandler.js +44 -0
- package/dist/commonjs/nuxt/defineAuthSyncHandler.js.map +1 -0
- package/dist/commonjs/nuxt/defineServerKit.d.ts +5 -0
- package/dist/commonjs/nuxt/defineServerKit.d.ts.map +1 -0
- package/dist/commonjs/nuxt/defineServerKit.js +49 -0
- package/dist/commonjs/nuxt/defineServerKit.js.map +1 -0
- package/dist/commonjs/nuxt/defineWebhookHandler.d.ts +17 -0
- package/dist/commonjs/nuxt/defineWebhookHandler.d.ts.map +1 -0
- package/dist/commonjs/nuxt/defineWebhookHandler.js +24 -0
- package/dist/commonjs/nuxt/defineWebhookHandler.js.map +1 -0
- package/dist/commonjs/nuxt/index.d.ts +15 -0
- package/dist/commonjs/nuxt/index.d.ts.map +1 -0
- package/dist/commonjs/nuxt/index.js +24 -0
- package/dist/commonjs/nuxt/index.js.map +1 -0
- package/dist/commonjs/nuxt/types.d.ts +54 -0
- package/dist/commonjs/nuxt/types.d.ts.map +1 -0
- package/dist/commonjs/nuxt/types.js +3 -0
- package/dist/commonjs/nuxt/types.js.map +1 -0
- package/dist/commonjs/package.json +3 -0
- package/dist/commonjs/perms/ast.d.ts +98 -0
- package/dist/commonjs/perms/ast.d.ts.map +1 -0
- package/dist/commonjs/perms/ast.js +148 -0
- package/dist/commonjs/perms/ast.js.map +1 -0
- package/dist/commonjs/perms/builder.d.ts +18 -0
- package/dist/commonjs/perms/builder.d.ts.map +1 -0
- package/dist/commonjs/perms/builder.js +260 -0
- package/dist/commonjs/perms/builder.js.map +1 -0
- package/dist/commonjs/perms/context.d.ts +27 -0
- package/dist/commonjs/perms/context.d.ts.map +1 -0
- package/dist/commonjs/perms/context.js +96 -0
- package/dist/commonjs/perms/context.js.map +1 -0
- package/dist/commonjs/perms/index.d.ts +13 -0
- package/dist/commonjs/perms/index.d.ts.map +1 -0
- package/dist/commonjs/perms/index.js +6 -0
- package/dist/commonjs/perms/index.js.map +1 -0
- package/dist/commonjs/perms/types.d.ts +353 -0
- package/dist/commonjs/perms/types.d.ts.map +1 -0
- package/dist/commonjs/perms/types.js +3 -0
- package/dist/commonjs/perms/types.js.map +1 -0
- package/dist/commonjs/perms/validate.d.ts +31 -0
- package/dist/commonjs/perms/validate.d.ts.map +1 -0
- package/dist/commonjs/perms/validate.js +66 -0
- package/dist/commonjs/perms/validate.js.map +1 -0
- package/dist/commonjs/query/constants.d.ts +13 -0
- package/dist/commonjs/query/constants.d.ts.map +1 -0
- package/dist/commonjs/query/constants.js +16 -0
- package/dist/commonjs/query/constants.js.map +1 -0
- package/dist/commonjs/query/defineQuery.d.ts +33 -0
- package/dist/commonjs/query/defineQuery.d.ts.map +1 -0
- package/dist/commonjs/query/defineQuery.js +28 -0
- package/dist/commonjs/query/defineQuery.js.map +1 -0
- package/dist/commonjs/query/index.d.ts +9 -0
- package/dist/commonjs/query/index.d.ts.map +1 -0
- package/dist/commonjs/query/index.js +16 -0
- package/dist/commonjs/query/index.js.map +1 -0
- package/dist/commonjs/query/keys.d.ts +33 -0
- package/dist/commonjs/query/keys.d.ts.map +1 -0
- package/dist/commonjs/query/keys.js +3 -0
- package/dist/commonjs/query/keys.js.map +1 -0
- package/dist/commonjs/query/shapeResult.d.ts +36 -0
- package/dist/commonjs/query/shapeResult.d.ts.map +1 -0
- package/dist/commonjs/query/shapeResult.js +173 -0
- package/dist/commonjs/query/shapeResult.js.map +1 -0
- package/dist/commonjs/query/types.d.ts +187 -0
- package/dist/commonjs/query/types.d.ts.map +1 -0
- package/dist/commonjs/query/types.js +3 -0
- package/dist/commonjs/query/types.js.map +1 -0
- package/dist/commonjs/query/validation.d.ts +61 -0
- package/dist/commonjs/query/validation.d.ts.map +1 -0
- package/dist/commonjs/query/validation.js +3 -0
- package/dist/commonjs/query/validation.js.map +1 -0
- package/dist/commonjs/query/wire.d.ts +13 -0
- package/dist/commonjs/query/wire.d.ts.map +1 -0
- package/dist/commonjs/query/wire.js +77 -0
- package/dist/commonjs/query/wire.js.map +1 -0
- package/dist/commonjs/schema/defineSchema.d.ts +110 -0
- package/dist/commonjs/schema/defineSchema.d.ts.map +1 -0
- package/dist/commonjs/schema/defineSchema.js +72 -0
- package/dist/commonjs/schema/defineSchema.js.map +1 -0
- package/dist/commonjs/schema/fields.d.ts +33 -0
- package/dist/commonjs/schema/fields.d.ts.map +1 -0
- package/dist/commonjs/schema/fields.js +3 -0
- package/dist/commonjs/schema/fields.js.map +1 -0
- package/dist/commonjs/schema/index.d.ts +9 -0
- package/dist/commonjs/schema/index.d.ts.map +1 -0
- package/dist/commonjs/schema/index.js +10 -0
- package/dist/commonjs/schema/index.js.map +1 -0
- package/dist/commonjs/schema/namespace.d.ts +82 -0
- package/dist/commonjs/schema/namespace.d.ts.map +1 -0
- package/dist/commonjs/schema/namespace.js +37 -0
- package/dist/commonjs/schema/namespace.js.map +1 -0
- package/dist/commonjs/schema/register.d.ts +37 -0
- package/dist/commonjs/schema/register.d.ts.map +1 -0
- package/dist/commonjs/schema/register.js +3 -0
- package/dist/commonjs/schema/register.js.map +1 -0
- package/dist/commonjs/schema/singularize.d.ts +45 -0
- package/dist/commonjs/schema/singularize.d.ts.map +1 -0
- package/dist/commonjs/schema/singularize.js +47 -0
- package/dist/commonjs/schema/singularize.js.map +1 -0
- package/dist/commonjs/schema/types.d.ts +39 -0
- package/dist/commonjs/schema/types.d.ts.map +1 -0
- package/dist/commonjs/schema/types.js +3 -0
- package/dist/commonjs/schema/types.js.map +1 -0
- package/dist/commonjs/schema/util.d.ts +11 -0
- package/dist/commonjs/schema/util.d.ts.map +1 -0
- package/dist/commonjs/schema/util.js +3 -0
- package/dist/commonjs/schema/util.js.map +1 -0
- package/dist/commonjs/tx/index.d.ts +4 -0
- package/dist/commonjs/tx/index.d.ts.map +1 -0
- package/dist/commonjs/tx/index.js +11 -0
- package/dist/commonjs/tx/index.js.map +1 -0
- package/dist/commonjs/tx/typedTx.d.ts +15 -0
- package/dist/commonjs/tx/typedTx.d.ts.map +1 -0
- package/dist/commonjs/tx/typedTx.js +54 -0
- package/dist/commonjs/tx/typedTx.js.map +1 -0
- package/dist/commonjs/tx/types.d.ts +104 -0
- package/dist/commonjs/tx/types.d.ts.map +1 -0
- package/dist/commonjs/tx/types.js +3 -0
- package/dist/commonjs/tx/types.js.map +1 -0
- package/dist/commonjs/vue/baseline/InstantDuxDatabase.d.ts +52 -0
- package/dist/commonjs/vue/baseline/InstantDuxDatabase.d.ts.map +1 -0
- package/dist/commonjs/vue/baseline/InstantDuxDatabase.js +157 -0
- package/dist/commonjs/vue/baseline/InstantDuxDatabase.js.map +1 -0
- package/dist/commonjs/vue/baseline/InstantDuxRoom.d.ts +72 -0
- package/dist/commonjs/vue/baseline/InstantDuxRoom.d.ts.map +1 -0
- package/dist/commonjs/vue/baseline/InstantDuxRoom.js +211 -0
- package/dist/commonjs/vue/baseline/InstantDuxRoom.js.map +1 -0
- package/dist/commonjs/vue/baseline/components/Cursor.d.ts +15 -0
- package/dist/commonjs/vue/baseline/components/Cursor.d.ts.map +1 -0
- package/dist/commonjs/vue/baseline/components/Cursor.js +39 -0
- package/dist/commonjs/vue/baseline/components/Cursor.js.map +1 -0
- package/dist/commonjs/vue/baseline/components/Cursors.d.ts +65 -0
- package/dist/commonjs/vue/baseline/components/Cursors.d.ts.map +1 -0
- package/dist/commonjs/vue/baseline/components/Cursors.js +113 -0
- package/dist/commonjs/vue/baseline/components/Cursors.js.map +1 -0
- package/dist/commonjs/vue/baseline/components/auth.d.ts +37 -0
- package/dist/commonjs/vue/baseline/components/auth.d.ts.map +1 -0
- package/dist/commonjs/vue/baseline/components/auth.js +27 -0
- package/dist/commonjs/vue/baseline/components/auth.js.map +1 -0
- package/dist/commonjs/vue/baseline/index.d.ts +11 -0
- package/dist/commonjs/vue/baseline/index.d.ts.map +1 -0
- package/dist/commonjs/vue/baseline/index.js +29 -0
- package/dist/commonjs/vue/baseline/index.js.map +1 -0
- package/dist/commonjs/vue/baseline/useInfiniteQuery.d.ts +19 -0
- package/dist/commonjs/vue/baseline/useInfiniteQuery.d.ts.map +1 -0
- package/dist/commonjs/vue/baseline/useInfiniteQuery.js +65 -0
- package/dist/commonjs/vue/baseline/useInfiniteQuery.js.map +1 -0
- package/dist/commonjs/vue/baseline/utils.d.ts +9 -0
- package/dist/commonjs/vue/baseline/utils.d.ts.map +1 -0
- package/dist/commonjs/vue/baseline/utils.js +29 -0
- package/dist/commonjs/vue/baseline/utils.js.map +1 -0
- package/dist/commonjs/vue/baseline/version.d.ts +3 -0
- package/dist/commonjs/vue/baseline/version.d.ts.map +1 -0
- package/dist/commonjs/vue/baseline/version.js +6 -0
- package/dist/commonjs/vue/baseline/version.js.map +1 -0
- package/dist/commonjs/vue/index.d.ts +21 -0
- package/dist/commonjs/vue/index.d.ts.map +1 -0
- package/dist/commonjs/vue/index.js +31 -0
- package/dist/commonjs/vue/index.js.map +1 -0
- package/dist/commonjs/vue/overlay/db.d.ts +106 -0
- package/dist/commonjs/vue/overlay/db.d.ts.map +1 -0
- package/dist/commonjs/vue/overlay/db.js +105 -0
- package/dist/commonjs/vue/overlay/db.js.map +1 -0
- package/dist/commonjs/vue/overlay/defineDb.d.ts +34 -0
- package/dist/commonjs/vue/overlay/defineDb.d.ts.map +1 -0
- package/dist/commonjs/vue/overlay/defineDb.js +48 -0
- package/dist/commonjs/vue/overlay/defineDb.js.map +1 -0
- package/dist/commonjs/vue/overlay/result.d.ts +29 -0
- package/dist/commonjs/vue/overlay/result.d.ts.map +1 -0
- package/dist/commonjs/vue/overlay/result.js +75 -0
- package/dist/commonjs/vue/overlay/result.js.map +1 -0
- package/dist/commonjs/vue/overlay/rooms/index.d.ts +79 -0
- package/dist/commonjs/vue/overlay/rooms/index.d.ts.map +1 -0
- package/dist/commonjs/vue/overlay/rooms/index.js +28 -0
- package/dist/commonjs/vue/overlay/rooms/index.js.map +1 -0
- package/dist/commonjs/vue/overlay/types.d.ts +73 -0
- package/dist/commonjs/vue/overlay/types.d.ts.map +1 -0
- package/dist/commonjs/vue/overlay/types.js +3 -0
- package/dist/commonjs/vue/overlay/types.js.map +1 -0
- package/dist/commonjs/webhooks/defineWebhookHandlers.d.ts +27 -0
- package/dist/commonjs/webhooks/defineWebhookHandlers.d.ts.map +1 -0
- package/dist/commonjs/webhooks/defineWebhookHandlers.js +33 -0
- package/dist/commonjs/webhooks/defineWebhookHandlers.js.map +1 -0
- package/dist/commonjs/webhooks/index.d.ts +15 -0
- package/dist/commonjs/webhooks/index.d.ts.map +1 -0
- package/dist/commonjs/webhooks/index.js +21 -0
- package/dist/commonjs/webhooks/index.js.map +1 -0
- package/dist/commonjs/webhooks/init.d.ts +13 -0
- package/dist/commonjs/webhooks/init.d.ts.map +1 -0
- package/dist/commonjs/webhooks/init.js +39 -0
- package/dist/commonjs/webhooks/init.js.map +1 -0
- package/dist/commonjs/webhooks/types.d.ts +136 -0
- package/dist/commonjs/webhooks/types.d.ts.map +1 -0
- package/dist/commonjs/webhooks/types.js +3 -0
- package/dist/commonjs/webhooks/types.js.map +1 -0
- package/dist/esm/admin/index.d.ts +18 -0
- package/dist/esm/admin/index.d.ts.map +1 -0
- package/dist/esm/admin/index.js +21 -0
- package/dist/esm/admin/index.js.map +1 -0
- package/dist/esm/admin/init.d.ts +67 -0
- package/dist/esm/admin/init.d.ts.map +1 -0
- package/dist/esm/admin/init.js +81 -0
- package/dist/esm/admin/init.js.map +1 -0
- package/dist/esm/admin/query.d.ts +21 -0
- package/dist/esm/admin/query.d.ts.map +1 -0
- package/dist/esm/admin/query.js +42 -0
- package/dist/esm/admin/query.js.map +1 -0
- package/dist/esm/admin/types.d.ts +124 -0
- package/dist/esm/admin/types.d.ts.map +1 -0
- package/dist/esm/admin/types.js +2 -0
- package/dist/esm/admin/types.js.map +1 -0
- package/dist/esm/admin/webhooks.d.ts +11 -0
- package/dist/esm/admin/webhooks.d.ts.map +1 -0
- package/dist/esm/admin/webhooks.js +5 -0
- package/dist/esm/admin/webhooks.js.map +1 -0
- package/dist/esm/errors.d.ts +13 -0
- package/dist/esm/errors.d.ts.map +1 -0
- package/dist/esm/errors.js +16 -0
- package/dist/esm/errors.js.map +1 -0
- package/dist/esm/index.d.ts +13 -0
- package/dist/esm/index.d.ts.map +1 -0
- package/dist/esm/index.js +13 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/nuxt/defineAuthSyncHandler.d.ts +15 -0
- package/dist/esm/nuxt/defineAuthSyncHandler.d.ts.map +1 -0
- package/dist/esm/nuxt/defineAuthSyncHandler.js +41 -0
- package/dist/esm/nuxt/defineAuthSyncHandler.js.map +1 -0
- package/dist/esm/nuxt/defineServerKit.d.ts +5 -0
- package/dist/esm/nuxt/defineServerKit.d.ts.map +1 -0
- package/dist/esm/nuxt/defineServerKit.js +46 -0
- package/dist/esm/nuxt/defineServerKit.js.map +1 -0
- package/dist/esm/nuxt/defineWebhookHandler.d.ts +17 -0
- package/dist/esm/nuxt/defineWebhookHandler.d.ts.map +1 -0
- package/dist/esm/nuxt/defineWebhookHandler.js +21 -0
- package/dist/esm/nuxt/defineWebhookHandler.js.map +1 -0
- package/dist/esm/nuxt/index.d.ts +15 -0
- package/dist/esm/nuxt/index.d.ts.map +1 -0
- package/dist/esm/nuxt/index.js +17 -0
- package/dist/esm/nuxt/index.js.map +1 -0
- package/dist/esm/nuxt/types.d.ts +54 -0
- package/dist/esm/nuxt/types.d.ts.map +1 -0
- package/dist/esm/nuxt/types.js +2 -0
- package/dist/esm/nuxt/types.js.map +1 -0
- package/dist/esm/package.json +3 -0
- package/dist/esm/perms/ast.d.ts +98 -0
- package/dist/esm/perms/ast.d.ts.map +1 -0
- package/dist/esm/perms/ast.js +140 -0
- package/dist/esm/perms/ast.js.map +1 -0
- package/dist/esm/perms/builder.d.ts +18 -0
- package/dist/esm/perms/builder.d.ts.map +1 -0
- package/dist/esm/perms/builder.js +257 -0
- package/dist/esm/perms/builder.js.map +1 -0
- package/dist/esm/perms/context.d.ts +27 -0
- package/dist/esm/perms/context.d.ts.map +1 -0
- package/dist/esm/perms/context.js +93 -0
- package/dist/esm/perms/context.js.map +1 -0
- package/dist/esm/perms/index.d.ts +13 -0
- package/dist/esm/perms/index.d.ts.map +1 -0
- package/dist/esm/perms/index.js +2 -0
- package/dist/esm/perms/index.js.map +1 -0
- package/dist/esm/perms/types.d.ts +353 -0
- package/dist/esm/perms/types.d.ts.map +1 -0
- package/dist/esm/perms/types.js +2 -0
- package/dist/esm/perms/types.js.map +1 -0
- package/dist/esm/perms/validate.d.ts +31 -0
- package/dist/esm/perms/validate.d.ts.map +1 -0
- package/dist/esm/perms/validate.js +61 -0
- package/dist/esm/perms/validate.js.map +1 -0
- package/dist/esm/query/constants.d.ts +13 -0
- package/dist/esm/query/constants.d.ts.map +1 -0
- package/dist/esm/query/constants.js +13 -0
- package/dist/esm/query/constants.js.map +1 -0
- package/dist/esm/query/defineQuery.d.ts +33 -0
- package/dist/esm/query/defineQuery.d.ts.map +1 -0
- package/dist/esm/query/defineQuery.js +24 -0
- package/dist/esm/query/defineQuery.js.map +1 -0
- package/dist/esm/query/index.d.ts +9 -0
- package/dist/esm/query/index.d.ts.map +1 -0
- package/dist/esm/query/index.js +5 -0
- package/dist/esm/query/index.js.map +1 -0
- package/dist/esm/query/keys.d.ts +33 -0
- package/dist/esm/query/keys.d.ts.map +1 -0
- package/dist/esm/query/keys.js +2 -0
- package/dist/esm/query/keys.js.map +1 -0
- package/dist/esm/query/shapeResult.d.ts +36 -0
- package/dist/esm/query/shapeResult.d.ts.map +1 -0
- package/dist/esm/query/shapeResult.js +168 -0
- package/dist/esm/query/shapeResult.js.map +1 -0
- package/dist/esm/query/types.d.ts +187 -0
- package/dist/esm/query/types.d.ts.map +1 -0
- package/dist/esm/query/types.js +2 -0
- package/dist/esm/query/types.js.map +1 -0
- package/dist/esm/query/validation.d.ts +61 -0
- package/dist/esm/query/validation.d.ts.map +1 -0
- package/dist/esm/query/validation.js +2 -0
- package/dist/esm/query/validation.js.map +1 -0
- package/dist/esm/query/wire.d.ts +13 -0
- package/dist/esm/query/wire.d.ts.map +1 -0
- package/dist/esm/query/wire.js +74 -0
- package/dist/esm/query/wire.js.map +1 -0
- package/dist/esm/schema/defineSchema.d.ts +110 -0
- package/dist/esm/schema/defineSchema.d.ts.map +1 -0
- package/dist/esm/schema/defineSchema.js +69 -0
- package/dist/esm/schema/defineSchema.js.map +1 -0
- package/dist/esm/schema/fields.d.ts +33 -0
- package/dist/esm/schema/fields.d.ts.map +1 -0
- package/dist/esm/schema/fields.js +2 -0
- package/dist/esm/schema/fields.js.map +1 -0
- package/dist/esm/schema/index.d.ts +9 -0
- package/dist/esm/schema/index.d.ts.map +1 -0
- package/dist/esm/schema/index.js +4 -0
- package/dist/esm/schema/index.js.map +1 -0
- package/dist/esm/schema/namespace.d.ts +82 -0
- package/dist/esm/schema/namespace.d.ts.map +1 -0
- package/dist/esm/schema/namespace.js +34 -0
- package/dist/esm/schema/namespace.js.map +1 -0
- package/dist/esm/schema/register.d.ts +37 -0
- package/dist/esm/schema/register.d.ts.map +1 -0
- package/dist/esm/schema/register.js +2 -0
- package/dist/esm/schema/register.js.map +1 -0
- package/dist/esm/schema/singularize.d.ts +45 -0
- package/dist/esm/schema/singularize.d.ts.map +1 -0
- package/dist/esm/schema/singularize.js +44 -0
- package/dist/esm/schema/singularize.js.map +1 -0
- package/dist/esm/schema/types.d.ts +39 -0
- package/dist/esm/schema/types.d.ts.map +1 -0
- package/dist/esm/schema/types.js +2 -0
- package/dist/esm/schema/types.js.map +1 -0
- package/dist/esm/schema/util.d.ts +11 -0
- package/dist/esm/schema/util.d.ts.map +1 -0
- package/dist/esm/schema/util.js +2 -0
- package/dist/esm/schema/util.js.map +1 -0
- package/dist/esm/tx/index.d.ts +4 -0
- package/dist/esm/tx/index.d.ts.map +1 -0
- package/dist/esm/tx/index.js +5 -0
- package/dist/esm/tx/index.js.map +1 -0
- package/dist/esm/tx/typedTx.d.ts +15 -0
- package/dist/esm/tx/typedTx.d.ts.map +1 -0
- package/dist/esm/tx/typedTx.js +51 -0
- package/dist/esm/tx/typedTx.js.map +1 -0
- package/dist/esm/tx/types.d.ts +104 -0
- package/dist/esm/tx/types.d.ts.map +1 -0
- package/dist/esm/tx/types.js +2 -0
- package/dist/esm/tx/types.js.map +1 -0
- package/dist/esm/vue/baseline/InstantDuxDatabase.d.ts +52 -0
- package/dist/esm/vue/baseline/InstantDuxDatabase.d.ts.map +1 -0
- package/dist/esm/vue/baseline/InstantDuxDatabase.js +149 -0
- package/dist/esm/vue/baseline/InstantDuxDatabase.js.map +1 -0
- package/dist/esm/vue/baseline/InstantDuxRoom.d.ts +72 -0
- package/dist/esm/vue/baseline/InstantDuxRoom.d.ts.map +1 -0
- package/dist/esm/vue/baseline/InstantDuxRoom.js +202 -0
- package/dist/esm/vue/baseline/InstantDuxRoom.js.map +1 -0
- package/dist/esm/vue/baseline/components/Cursor.d.ts +15 -0
- package/dist/esm/vue/baseline/components/Cursor.d.ts.map +1 -0
- package/dist/esm/vue/baseline/components/Cursor.js +36 -0
- package/dist/esm/vue/baseline/components/Cursor.js.map +1 -0
- package/dist/esm/vue/baseline/components/Cursors.d.ts +65 -0
- package/dist/esm/vue/baseline/components/Cursors.d.ts.map +1 -0
- package/dist/esm/vue/baseline/components/Cursors.js +107 -0
- package/dist/esm/vue/baseline/components/Cursors.js.map +1 -0
- package/dist/esm/vue/baseline/components/auth.d.ts +37 -0
- package/dist/esm/vue/baseline/components/auth.d.ts.map +1 -0
- package/dist/esm/vue/baseline/components/auth.js +24 -0
- package/dist/esm/vue/baseline/components/auth.js.map +1 -0
- package/dist/esm/vue/baseline/index.d.ts +11 -0
- package/dist/esm/vue/baseline/index.d.ts.map +1 -0
- package/dist/esm/vue/baseline/index.js +10 -0
- package/dist/esm/vue/baseline/index.js.map +1 -0
- package/dist/esm/vue/baseline/useInfiniteQuery.d.ts +19 -0
- package/dist/esm/vue/baseline/useInfiniteQuery.d.ts.map +1 -0
- package/dist/esm/vue/baseline/useInfiniteQuery.js +62 -0
- package/dist/esm/vue/baseline/useInfiniteQuery.js.map +1 -0
- package/dist/esm/vue/baseline/utils.d.ts +9 -0
- package/dist/esm/vue/baseline/utils.d.ts.map +1 -0
- package/dist/esm/vue/baseline/utils.js +25 -0
- package/dist/esm/vue/baseline/utils.js.map +1 -0
- package/dist/esm/vue/baseline/version.d.ts +3 -0
- package/dist/esm/vue/baseline/version.d.ts.map +1 -0
- package/dist/esm/vue/baseline/version.js +4 -0
- package/dist/esm/vue/baseline/version.js.map +1 -0
- package/dist/esm/vue/index.d.ts +21 -0
- package/dist/esm/vue/index.d.ts.map +1 -0
- package/dist/esm/vue/index.js +18 -0
- package/dist/esm/vue/index.js.map +1 -0
- package/dist/esm/vue/overlay/db.d.ts +106 -0
- package/dist/esm/vue/overlay/db.d.ts.map +1 -0
- package/dist/esm/vue/overlay/db.js +101 -0
- package/dist/esm/vue/overlay/db.js.map +1 -0
- package/dist/esm/vue/overlay/defineDb.d.ts +34 -0
- package/dist/esm/vue/overlay/defineDb.d.ts.map +1 -0
- package/dist/esm/vue/overlay/defineDb.js +44 -0
- package/dist/esm/vue/overlay/defineDb.js.map +1 -0
- package/dist/esm/vue/overlay/result.d.ts +29 -0
- package/dist/esm/vue/overlay/result.d.ts.map +1 -0
- package/dist/esm/vue/overlay/result.js +71 -0
- package/dist/esm/vue/overlay/result.js.map +1 -0
- package/dist/esm/vue/overlay/rooms/index.d.ts +79 -0
- package/dist/esm/vue/overlay/rooms/index.d.ts.map +1 -0
- package/dist/esm/vue/overlay/rooms/index.js +25 -0
- package/dist/esm/vue/overlay/rooms/index.js.map +1 -0
- package/dist/esm/vue/overlay/types.d.ts +73 -0
- package/dist/esm/vue/overlay/types.d.ts.map +1 -0
- package/dist/esm/vue/overlay/types.js +2 -0
- package/dist/esm/vue/overlay/types.js.map +1 -0
- package/dist/esm/webhooks/defineWebhookHandlers.d.ts +27 -0
- package/dist/esm/webhooks/defineWebhookHandlers.d.ts.map +1 -0
- package/dist/esm/webhooks/defineWebhookHandlers.js +30 -0
- package/dist/esm/webhooks/defineWebhookHandlers.js.map +1 -0
- package/dist/esm/webhooks/index.d.ts +15 -0
- package/dist/esm/webhooks/index.d.ts.map +1 -0
- package/dist/esm/webhooks/index.js +14 -0
- package/dist/esm/webhooks/index.js.map +1 -0
- package/dist/esm/webhooks/init.d.ts +13 -0
- package/dist/esm/webhooks/init.d.ts.map +1 -0
- package/dist/esm/webhooks/init.js +36 -0
- package/dist/esm/webhooks/init.js.map +1 -0
- package/dist/esm/webhooks/types.d.ts +136 -0
- package/dist/esm/webhooks/types.d.ts.map +1 -0
- package/dist/esm/webhooks/types.js +2 -0
- package/dist/esm/webhooks/types.js.map +1 -0
- package/package.json +149 -0
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
// Vendored from @instantdb/vue/src/components/Cursors.vue — see UPSTREAM.md.
|
|
2
|
+
// DUX-DELTA(components): shipped as a `.ts` render function rather than a
|
|
3
|
+
// `.vue` SFC. Behavior matches the SFC: publish the local cursor on
|
|
4
|
+
// pointer/touch move, render peer cursors from presence.
|
|
5
|
+
import { computed, defineComponent, h, toValue } from 'vue';
|
|
6
|
+
import { usePresence } from '../InstantDuxRoom.js';
|
|
7
|
+
import Cursor from './Cursor.js';
|
|
8
|
+
export const Cursors = defineComponent({
|
|
9
|
+
name: 'Cursors',
|
|
10
|
+
props: {
|
|
11
|
+
room: { type: Object, required: true },
|
|
12
|
+
spaceId: { type: String, required: false },
|
|
13
|
+
as: { type: String, default: 'div' },
|
|
14
|
+
userCursorColor: { type: String, required: false },
|
|
15
|
+
propagate: { type: Boolean, default: false },
|
|
16
|
+
zIndex: { type: Number, default: 99999 },
|
|
17
|
+
},
|
|
18
|
+
setup(props, { slots }) {
|
|
19
|
+
const spaceId = computed(() => props.spaceId
|
|
20
|
+
|| `cursors-space-default--${String(toValue(props.room.type))}-${toValue(props.room.id)}`);
|
|
21
|
+
const { peers, publishPresence } = usePresence(props.room, {
|
|
22
|
+
keys: [spaceId.value],
|
|
23
|
+
});
|
|
24
|
+
const fullPresence = computed(() => {
|
|
25
|
+
void peers.value;
|
|
26
|
+
return props.room.core._reactor.getPresence(toValue(props.room.type), toValue(props.room.id));
|
|
27
|
+
});
|
|
28
|
+
const cursorPeers = computed(() => {
|
|
29
|
+
const sid = spaceId.value;
|
|
30
|
+
return Object.entries(peers.value || {}).flatMap(([peerId, p]) => {
|
|
31
|
+
const cursor = p?.[sid];
|
|
32
|
+
return cursor ? [{ peerId, cursor }] : [];
|
|
33
|
+
});
|
|
34
|
+
});
|
|
35
|
+
function publishCursor(rect, touch) {
|
|
36
|
+
const x = touch.clientX;
|
|
37
|
+
const y = touch.clientY;
|
|
38
|
+
const xPercent = ((x - rect.left) / rect.width) * 100;
|
|
39
|
+
const yPercent = ((y - rect.top) / rect.height) * 100;
|
|
40
|
+
publishPresence({
|
|
41
|
+
[spaceId.value]: { x, y, xPercent, yPercent, color: props.userCursorColor },
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
function onMouseMove(e) {
|
|
45
|
+
if (!props.propagate)
|
|
46
|
+
e.stopPropagation();
|
|
47
|
+
const rect = e.currentTarget.getBoundingClientRect();
|
|
48
|
+
publishCursor(rect, e);
|
|
49
|
+
}
|
|
50
|
+
function clearCursor() {
|
|
51
|
+
publishPresence({ [spaceId.value]: undefined });
|
|
52
|
+
}
|
|
53
|
+
function onTouchMove(e) {
|
|
54
|
+
if (e.touches.length !== 1)
|
|
55
|
+
return;
|
|
56
|
+
const touch = e.touches[0];
|
|
57
|
+
if (!touch || !(touch.target instanceof Element))
|
|
58
|
+
return;
|
|
59
|
+
if (!props.propagate)
|
|
60
|
+
e.stopPropagation();
|
|
61
|
+
const rect = touch.target.getBoundingClientRect();
|
|
62
|
+
publishCursor(rect, touch);
|
|
63
|
+
}
|
|
64
|
+
return () => h(props.as, {
|
|
65
|
+
style: { position: 'relative' },
|
|
66
|
+
onMousemove: onMouseMove,
|
|
67
|
+
onMouseout: clearCursor,
|
|
68
|
+
onBlur: clearCursor,
|
|
69
|
+
onTouchmove: onTouchMove,
|
|
70
|
+
onTouchend: clearCursor,
|
|
71
|
+
}, [
|
|
72
|
+
slots.default?.(),
|
|
73
|
+
h('div', {
|
|
74
|
+
style: {
|
|
75
|
+
position: 'absolute',
|
|
76
|
+
top: 0,
|
|
77
|
+
left: 0,
|
|
78
|
+
bottom: 0,
|
|
79
|
+
right: 0,
|
|
80
|
+
overflow: 'hidden',
|
|
81
|
+
pointerEvents: 'none',
|
|
82
|
+
userSelect: 'none',
|
|
83
|
+
zIndex: props.zIndex,
|
|
84
|
+
},
|
|
85
|
+
}, cursorPeers.value.map(({ peerId, cursor }) => h('div', {
|
|
86
|
+
key: peerId,
|
|
87
|
+
style: {
|
|
88
|
+
position: 'absolute',
|
|
89
|
+
top: 0,
|
|
90
|
+
left: 0,
|
|
91
|
+
bottom: 0,
|
|
92
|
+
right: 0,
|
|
93
|
+
transform: `translate(${cursor.xPercent}%, ${cursor.yPercent}%)`,
|
|
94
|
+
transformOrigin: '0 0',
|
|
95
|
+
transition: 'transform 100ms',
|
|
96
|
+
},
|
|
97
|
+
}, slots.cursor
|
|
98
|
+
? slots.cursor({
|
|
99
|
+
color: cursor.color,
|
|
100
|
+
presence: fullPresence.value?.peers[peerId],
|
|
101
|
+
})
|
|
102
|
+
: h(Cursor, { color: cursor.color ?? '' })))),
|
|
103
|
+
]);
|
|
104
|
+
},
|
|
105
|
+
});
|
|
106
|
+
export default Cursors;
|
|
107
|
+
//# sourceMappingURL=Cursors.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Cursors.js","sourceRoot":"","sources":["../../../../../src/vue/baseline/components/Cursors.ts"],"names":[],"mappings":"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","sourcesContent":["import type { ComputedRef, PropType } from 'vue'\n// Vendored from @instantdb/vue/src/components/Cursors.vue — see UPSTREAM.md.\n// DUX-DELTA(components): shipped as a `.ts` render function rather than a\n// `.vue` SFC. Behavior matches the SFC: publish the local cursor on\n// pointer/touch move, render peer cursors from presence.\nimport { computed, defineComponent, h, toValue } from 'vue'\nimport { usePresence } from '../InstantDuxRoom.js'\nimport Cursor from './Cursor.js'\n\ninterface CursorPresence {\n x: number\n y: number\n xPercent: number\n yPercent: number\n color?: string\n}\n\n// DUX-DELTA(types): the runtime `room` prop is the loose room handle, not a\n// concrete `InstantDuxRoom`. The official SFC infers `RoomSchema`/`RoomType`\n// per use; a `.ts` render fn can't express inferring generic props, and a\n// concrete room would reject one read back through Vue/Pinia reactivity (which\n// unwraps its deep `core`/reactor types). `core` is left loose so the handle\n// assigns however it's stored — no `markRaw` ceremony at the call site. It\n// stays assignable *to* `InstantDuxRoom<any, any, any>` for the internal\n// `usePresence` call.\ninterface GenericRoom {\n type: ComputedRef<string> | string\n id: ComputedRef<string> | string\n core: any\n}\n\nexport const Cursors = defineComponent({\n name: 'Cursors',\n props: {\n room: { type: Object as PropType<GenericRoom>, required: true },\n spaceId: { type: String, required: false },\n as: { type: String, default: 'div' },\n userCursorColor: { type: String, required: false },\n propagate: { type: Boolean, default: false },\n zIndex: { type: Number, default: 99999 },\n },\n setup(props, { slots }) {\n const spaceId = computed(\n () =>\n props.spaceId\n || `cursors-space-default--${String(toValue(props.room.type))}-${toValue(props.room.id)}`,\n )\n\n const { peers, publishPresence } = usePresence(props.room, {\n keys: [spaceId.value] as any,\n })\n\n const fullPresence = computed(() => {\n void peers.value\n return props.room.core._reactor.getPresence(\n toValue(props.room.type),\n toValue(props.room.id),\n )\n })\n\n const cursorPeers = computed(() => {\n const sid = spaceId.value\n return Object.entries(peers.value || {}).flatMap(([peerId, p]) => {\n const cursor = (p as any)?.[sid] as CursorPresence | undefined\n return cursor ? [{ peerId, cursor }] : []\n })\n })\n\n function publishCursor(\n rect: DOMRect,\n touch: { clientX: number, clientY: number },\n ) {\n const x = touch.clientX\n const y = touch.clientY\n const xPercent = ((x - rect.left) / rect.width) * 100\n const yPercent = ((y - rect.top) / rect.height) * 100\n publishPresence({\n [spaceId.value]: { x, y, xPercent, yPercent, color: props.userCursorColor },\n } as any)\n }\n\n function onMouseMove(e: MouseEvent) {\n if (!props.propagate)\n e.stopPropagation()\n const rect = (e.currentTarget as Element).getBoundingClientRect()\n publishCursor(rect, e)\n }\n\n function clearCursor() {\n publishPresence({ [spaceId.value]: undefined } as any)\n }\n\n function onTouchMove(e: TouchEvent) {\n if (e.touches.length !== 1)\n return\n const touch = e.touches[0]\n if (!touch || !(touch.target instanceof Element))\n return\n if (!props.propagate)\n e.stopPropagation()\n const rect = touch.target.getBoundingClientRect()\n publishCursor(rect, touch)\n }\n\n return () =>\n h(\n props.as,\n {\n style: { position: 'relative' },\n onMousemove: onMouseMove,\n onMouseout: clearCursor,\n onBlur: clearCursor,\n onTouchmove: onTouchMove,\n onTouchend: clearCursor,\n },\n [\n slots.default?.(),\n h(\n 'div',\n {\n style: {\n position: 'absolute',\n top: 0,\n left: 0,\n bottom: 0,\n right: 0,\n overflow: 'hidden',\n pointerEvents: 'none',\n userSelect: 'none',\n zIndex: props.zIndex,\n },\n },\n cursorPeers.value.map(({ peerId, cursor }) =>\n h(\n 'div',\n {\n key: peerId,\n style: {\n position: 'absolute',\n top: 0,\n left: 0,\n bottom: 0,\n right: 0,\n transform: `translate(${cursor.xPercent}%, ${cursor.yPercent}%)`,\n transformOrigin: '0 0',\n transition: 'transform 100ms',\n },\n },\n slots.cursor\n ? slots.cursor({\n color: cursor.color,\n presence: fullPresence.value?.peers[peerId],\n })\n : h(Cursor, { color: cursor.color ?? '' }),\n ),\n ),\n ),\n ],\n )\n },\n})\n\nexport default Cursors\n"]}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import type { PropType, Ref } from 'vue';
|
|
2
|
+
interface AuthGateDb {
|
|
3
|
+
useAuth: () => {
|
|
4
|
+
isLoading: Ref<boolean>;
|
|
5
|
+
error: Ref<unknown>;
|
|
6
|
+
user: Ref<unknown>;
|
|
7
|
+
};
|
|
8
|
+
}
|
|
9
|
+
type AnyDb = AuthGateDb;
|
|
10
|
+
export declare const SignedIn: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
|
|
11
|
+
db: {
|
|
12
|
+
type: PropType<AnyDb>;
|
|
13
|
+
required: true;
|
|
14
|
+
};
|
|
15
|
+
}>, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
|
|
16
|
+
[key: string]: any;
|
|
17
|
+
}>[] | null | undefined, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
|
|
18
|
+
db: {
|
|
19
|
+
type: PropType<AnyDb>;
|
|
20
|
+
required: true;
|
|
21
|
+
};
|
|
22
|
+
}>> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
23
|
+
export declare const SignedOut: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
|
|
24
|
+
db: {
|
|
25
|
+
type: PropType<AnyDb>;
|
|
26
|
+
required: true;
|
|
27
|
+
};
|
|
28
|
+
}>, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
|
|
29
|
+
[key: string]: any;
|
|
30
|
+
}>[] | null | undefined, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
|
|
31
|
+
db: {
|
|
32
|
+
type: PropType<AnyDb>;
|
|
33
|
+
required: true;
|
|
34
|
+
};
|
|
35
|
+
}>> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
36
|
+
export {};
|
|
37
|
+
//# sourceMappingURL=auth.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../../../../src/vue/baseline/components/auth.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,KAAK,CAAA;AAYxC,UAAU,UAAU;IAClB,OAAO,EAAE,MAAM;QACb,SAAS,EAAE,GAAG,CAAC,OAAO,CAAC,CAAA;QACvB,KAAK,EAAE,GAAG,CAAC,OAAO,CAAC,CAAA;QACnB,IAAI,EAAE,GAAG,CAAC,OAAO,CAAC,CAAA;KACnB,CAAA;CACF;AACD,KAAK,KAAK,GAAG,UAAU,CAAA;AAGvB,eAAO,MAAM,QAAQ;;cAEY,QAAQ,CAAC,KAAK,CAAC;;;;;;;cAAf,QAAQ,CAAC,KAAK,CAAC;;;iGAM9C,CAAA;AAEF,eAAO,MAAM,SAAS;;cAEW,QAAQ,CAAC,KAAK,CAAC;;;;;;;cAAf,QAAQ,CAAC,KAAK,CAAC;;;iGAM9C,CAAA"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
// Vendored from @instantdb/vue/src/components/SignedIn.vue + SignedOut.vue —
|
|
2
|
+
// see UPSTREAM.md.
|
|
3
|
+
// DUX-DELTA(components): shipped as `.ts` render functions rather than `.vue`
|
|
4
|
+
// SFCs. Behavior matches the SFCs: render the default slot only when the auth
|
|
5
|
+
// gate is satisfied and not loading/errored.
|
|
6
|
+
import { defineComponent } from 'vue';
|
|
7
|
+
// END DUX-DELTA
|
|
8
|
+
export const SignedIn = defineComponent({
|
|
9
|
+
name: 'SignedIn',
|
|
10
|
+
props: { db: { type: Object, required: true } },
|
|
11
|
+
setup(props, { slots }) {
|
|
12
|
+
const { isLoading, error, user } = props.db.useAuth();
|
|
13
|
+
return () => !isLoading.value && !error.value && user.value ? slots.default?.() : null;
|
|
14
|
+
},
|
|
15
|
+
});
|
|
16
|
+
export const SignedOut = defineComponent({
|
|
17
|
+
name: 'SignedOut',
|
|
18
|
+
props: { db: { type: Object, required: true } },
|
|
19
|
+
setup(props, { slots }) {
|
|
20
|
+
const { isLoading, error, user } = props.db.useAuth();
|
|
21
|
+
return () => !isLoading.value && !error.value && !user.value ? slots.default?.() : null;
|
|
22
|
+
},
|
|
23
|
+
});
|
|
24
|
+
//# sourceMappingURL=auth.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../../../../../src/vue/baseline/components/auth.ts"],"names":[],"mappings":"AACA,6EAA6E;AAC7E,mBAAmB;AACnB,8EAA8E;AAC9E,8EAA8E;AAC9E,6CAA6C;AAC7C,OAAO,EAAE,eAAe,EAAE,MAAM,KAAK,CAAA;AAcrC,gBAAgB;AAEhB,MAAM,CAAC,MAAM,QAAQ,GAAG,eAAe,CAAC;IACtC,IAAI,EAAE,UAAU;IAChB,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,MAAyB,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE;IAClE,KAAK,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE;QACpB,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAA;QACrD,OAAO,GAAG,EAAE,CACV,CAAC,SAAS,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAA;IAC7E,CAAC;CACF,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,SAAS,GAAG,eAAe,CAAC;IACvC,IAAI,EAAE,WAAW;IACjB,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,MAAyB,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE;IAClE,KAAK,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE;QACpB,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAA;QACrD,OAAO,GAAG,EAAE,CACV,CAAC,SAAS,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAA;IAC9E,CAAC;CACF,CAAC,CAAA","sourcesContent":["import type { PropType, Ref } from 'vue'\n// Vendored from @instantdb/vue/src/components/SignedIn.vue + SignedOut.vue —\n// see UPSTREAM.md.\n// DUX-DELTA(components): shipped as `.ts` render functions rather than `.vue`\n// SFCs. Behavior matches the SFCs: render the default slot only when the auth\n// gate is satisfied and not loading/errored.\nimport { defineComponent } from 'vue'\n\n// DUX-DELTA(types): the `db` prop is the minimal auth-gate surface, not the\n// full baseline db. The public surface is the overlay `IdbClient` (the only db\n// users hold); both it and the baseline satisfy this, so `:db=\"db\"` typechecks\n// with the public db without the components reaching up into the overlay layer.\ninterface AuthGateDb {\n useAuth: () => {\n isLoading: Ref<boolean>\n error: Ref<unknown>\n user: Ref<unknown>\n }\n}\ntype AnyDb = AuthGateDb\n// END DUX-DELTA\n\nexport const SignedIn = defineComponent({\n name: 'SignedIn',\n props: { db: { type: Object as PropType<AnyDb>, required: true } },\n setup(props, { slots }) {\n const { isLoading, error, user } = props.db.useAuth()\n return () =>\n !isLoading.value && !error.value && user.value ? slots.default?.() : null\n },\n})\n\nexport const SignedOut = defineComponent({\n name: 'SignedOut',\n props: { db: { type: Object as PropType<AnyDb>, required: true } },\n setup(props, { slots }) {\n const { isLoading, error, user } = props.db.useAuth()\n return () =>\n !isLoading.value && !error.value && !user.value ? slots.default?.() : null\n },\n})\n"]}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export { SignedIn, SignedOut } from './components/auth.js';
|
|
2
|
+
export { Cursor } from './components/Cursor.js';
|
|
3
|
+
export { Cursors } from './components/Cursors.js';
|
|
4
|
+
export { init, InstantDuxDatabase } from './InstantDuxDatabase.js';
|
|
5
|
+
export type { UseAuthReturn, UseQueryReturn } from './InstantDuxDatabase.js';
|
|
6
|
+
export { InstantDuxRoom, rooms, usePresence, usePublishTopic, useSyncPresence, useTopicEffect, useTypingIndicator, } from './InstantDuxRoom.js';
|
|
7
|
+
export type { PresenceHandle, TypingIndicatorHandle, TypingIndicatorOpts, } from './InstantDuxRoom.js';
|
|
8
|
+
export { useInfiniteQuery } from './useInfiniteQuery.js';
|
|
9
|
+
export type { InfiniteQueryResult } from './useInfiniteQuery.js';
|
|
10
|
+
export { isClient, tryOnScopeDispose } from './utils.js';
|
|
11
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/vue/baseline/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAA;AAC1D,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAA;AAC/C,OAAO,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAA;AACjD,OAAO,EAAE,IAAI,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAA;AAClE,YAAY,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAA;AAC5E,OAAO,EACL,cAAc,EACd,KAAK,EACL,WAAW,EACX,eAAe,EACf,eAAe,EACf,cAAc,EACd,kBAAkB,GACnB,MAAM,qBAAqB,CAAA;AAC5B,YAAY,EACV,cAAc,EACd,qBAAqB,EACrB,mBAAmB,GACpB,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AACxD,YAAY,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAA;AAChE,OAAO,EAAE,QAAQ,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
// The internal baseline surface — consumed only by the overlay and the parity
|
|
2
|
+
// harness, never re-exported from `/vue`. See UPSTREAM.md.
|
|
3
|
+
export { SignedIn, SignedOut } from './components/auth.js';
|
|
4
|
+
export { Cursor } from './components/Cursor.js';
|
|
5
|
+
export { Cursors } from './components/Cursors.js';
|
|
6
|
+
export { init, InstantDuxDatabase } from './InstantDuxDatabase.js';
|
|
7
|
+
export { InstantDuxRoom, rooms, usePresence, usePublishTopic, useSyncPresence, useTopicEffect, useTypingIndicator, } from './InstantDuxRoom.js';
|
|
8
|
+
export { useInfiniteQuery } from './useInfiniteQuery.js';
|
|
9
|
+
export { isClient, tryOnScopeDispose } from './utils.js';
|
|
10
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/vue/baseline/index.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,2DAA2D;AAC3D,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAA;AAC1D,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAA;AAC/C,OAAO,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAA;AACjD,OAAO,EAAE,IAAI,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAA;AAElE,OAAO,EACL,cAAc,EACd,KAAK,EACL,WAAW,EACX,eAAe,EACf,eAAe,EACf,cAAc,EACd,kBAAkB,GACnB,MAAM,qBAAqB,CAAA;AAM5B,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AAExD,OAAO,EAAE,QAAQ,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA","sourcesContent":["// The internal baseline surface — consumed only by the overlay and the parity\n// harness, never re-exported from `/vue`. See UPSTREAM.md.\nexport { SignedIn, SignedOut } from './components/auth.js'\nexport { Cursor } from './components/Cursor.js'\nexport { Cursors } from './components/Cursors.js'\nexport { init, InstantDuxDatabase } from './InstantDuxDatabase.js'\nexport type { UseAuthReturn, UseQueryReturn } from './InstantDuxDatabase.js'\nexport {\n InstantDuxRoom,\n rooms,\n usePresence,\n usePublishTopic,\n useSyncPresence,\n useTopicEffect,\n useTypingIndicator,\n} from './InstantDuxRoom.js'\nexport type {\n PresenceHandle,\n TypingIndicatorHandle,\n TypingIndicatorOpts,\n} from './InstantDuxRoom.js'\nexport { useInfiniteQuery } from './useInfiniteQuery.js'\nexport type { InfiniteQueryResult } from './useInfiniteQuery.js'\nexport { isClient, tryOnScopeDispose } from './utils.js'\n"]}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import type { InstantCoreDatabase, InstantSchemaDef, InstaQLOptions, InstaQLResponse, ValidQuery } from '@instantdb/core';
|
|
2
|
+
import type { MaybeRefOrGetter, Ref, ShallowRef } from 'vue';
|
|
3
|
+
export interface InfiniteQueryResult<Schema extends InstantSchemaDef<any, any, any>, Q extends ValidQuery<Q, Schema>, UseDates extends boolean> {
|
|
4
|
+
isLoading: Ref<boolean>;
|
|
5
|
+
data: ShallowRef<InstaQLResponse<Schema, Q, UseDates> | undefined>;
|
|
6
|
+
error: ShallowRef<{
|
|
7
|
+
message: string;
|
|
8
|
+
} | undefined>;
|
|
9
|
+
canLoadNextPage: Ref<boolean>;
|
|
10
|
+
loadNextPage: () => void;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Subscribe to a query and incrementally load more items.
|
|
14
|
+
*
|
|
15
|
+
* Only one top-level namespace in the query is allowed. Changing the query or
|
|
16
|
+
* options while the subscription is active resets and starts over.
|
|
17
|
+
*/
|
|
18
|
+
export declare function useInfiniteQuery<Schema extends InstantSchemaDef<any, any, any>, Q extends ValidQuery<Q, Schema>, UseDates extends boolean>(core: InstantCoreDatabase<Schema, UseDates>, query: MaybeRefOrGetter<Q | null>, opts?: MaybeRefOrGetter<InstaQLOptions | undefined>): InfiniteQueryResult<Schema, Q, UseDates>;
|
|
19
|
+
//# sourceMappingURL=useInfiniteQuery.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useInfiniteQuery.d.ts","sourceRoot":"","sources":["../../../../src/vue/baseline/useInfiniteQuery.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAA6B,mBAAmB,EAAE,gBAAgB,EAAE,cAAc,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AACpJ,OAAO,KAAK,EAAE,gBAAgB,EAAE,GAAG,EAAE,UAAU,EAAE,MAAM,KAAK,CAAA;AAY5D,MAAM,WAAW,mBAAmB,CAClC,MAAM,SAAS,gBAAgB,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAC9C,CAAC,SAAS,UAAU,CAAC,CAAC,EAAE,MAAM,CAAC,EAC/B,QAAQ,SAAS,OAAO;IAExB,SAAS,EAAE,GAAG,CAAC,OAAO,CAAC,CAAA;IACvB,IAAI,EAAE,UAAU,CAAC,eAAe,CAAC,MAAM,EAAE,CAAC,EAAE,QAAQ,CAAC,GAAG,SAAS,CAAC,CAAA;IAClE,KAAK,EAAE,UAAU,CAAC;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,GAAG,SAAS,CAAC,CAAA;IAClD,eAAe,EAAE,GAAG,CAAC,OAAO,CAAC,CAAA;IAC7B,YAAY,EAAE,MAAM,IAAI,CAAA;CACzB;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAC9B,MAAM,SAAS,gBAAgB,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAC9C,CAAC,SAAS,UAAU,CAAC,CAAC,EAAE,MAAM,CAAC,EAC/B,QAAQ,SAAS,OAAO,EAExB,IAAI,EAAE,mBAAmB,CAAC,MAAM,EAAE,QAAQ,CAAC,EAC3C,KAAK,EAAE,gBAAgB,CAAC,CAAC,GAAG,IAAI,CAAC,EACjC,IAAI,CAAC,EAAE,gBAAgB,CAAC,cAAc,GAAG,SAAS,CAAC,GAClD,mBAAmB,CAAC,MAAM,EAAE,CAAC,EAAE,QAAQ,CAAC,CAsE1C"}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
// Vendored from @instantdb/vue/src/useInfiniteQuery.ts — see UPSTREAM.md.
|
|
2
|
+
// Delta: the SSR floor guard around the subscription.
|
|
3
|
+
import { getInfiniteQueryInitialSnapshot, weakHash, } from '@instantdb/core';
|
|
4
|
+
import { ref, shallowRef, toValue, watch } from 'vue';
|
|
5
|
+
import { isClient, tryOnScopeDispose } from './utils.js';
|
|
6
|
+
/**
|
|
7
|
+
* Subscribe to a query and incrementally load more items.
|
|
8
|
+
*
|
|
9
|
+
* Only one top-level namespace in the query is allowed. Changing the query or
|
|
10
|
+
* options while the subscription is active resets and starts over.
|
|
11
|
+
*/
|
|
12
|
+
export function useInfiniteQuery(core, query, opts) {
|
|
13
|
+
const initialQuery = toValue(query);
|
|
14
|
+
// DUX-DELTA(ssr): no initial snapshot read on the server.
|
|
15
|
+
const snapshot = initialQuery && isClient()
|
|
16
|
+
? getInfiniteQueryInitialSnapshot(core, initialQuery, toValue(opts))
|
|
17
|
+
: { data: undefined, error: undefined, canLoadNextPage: false };
|
|
18
|
+
// END DUX-DELTA
|
|
19
|
+
const isLoading = ref(!snapshot.data && !snapshot.error);
|
|
20
|
+
const data = shallowRef(snapshot.data);
|
|
21
|
+
const error = shallowRef(snapshot.error);
|
|
22
|
+
const canLoadNextPage = ref(snapshot.canLoadNextPage);
|
|
23
|
+
let subRef = null;
|
|
24
|
+
const stop = watch([() => weakHash(toValue(query)), () => weakHash(toValue(opts))], (_, __, onCleanup) => {
|
|
25
|
+
subRef = null;
|
|
26
|
+
error.value = undefined;
|
|
27
|
+
data.value = undefined;
|
|
28
|
+
isLoading.value = true;
|
|
29
|
+
canLoadNextPage.value = false;
|
|
30
|
+
const q = toValue(query);
|
|
31
|
+
if (!q)
|
|
32
|
+
return;
|
|
33
|
+
// DUX-DELTA(ssr): no subscription on the server.
|
|
34
|
+
if (!isClient())
|
|
35
|
+
return;
|
|
36
|
+
// END DUX-DELTA
|
|
37
|
+
const sub = core.subscribeInfiniteQuery(q, (resp) => {
|
|
38
|
+
error.value = resp.error;
|
|
39
|
+
data.value = resp.data;
|
|
40
|
+
isLoading.value = false;
|
|
41
|
+
canLoadNextPage.value = resp.canLoadNextPage;
|
|
42
|
+
}, toValue(opts));
|
|
43
|
+
subRef = sub;
|
|
44
|
+
onCleanup(() => {
|
|
45
|
+
sub.unsubscribe();
|
|
46
|
+
if (subRef === sub)
|
|
47
|
+
subRef = null;
|
|
48
|
+
});
|
|
49
|
+
}, { immediate: true });
|
|
50
|
+
const loadNextPage = () => {
|
|
51
|
+
subRef?.loadNextPage();
|
|
52
|
+
};
|
|
53
|
+
tryOnScopeDispose(stop);
|
|
54
|
+
return {
|
|
55
|
+
isLoading,
|
|
56
|
+
data,
|
|
57
|
+
error,
|
|
58
|
+
canLoadNextPage,
|
|
59
|
+
loadNextPage,
|
|
60
|
+
};
|
|
61
|
+
}
|
|
62
|
+
//# sourceMappingURL=useInfiniteQuery.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useInfiniteQuery.js","sourceRoot":"","sources":["../../../../src/vue/baseline/useInfiniteQuery.ts"],"names":[],"mappings":"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","sourcesContent":["import type { InfiniteQuerySubscription, InstantCoreDatabase, InstantSchemaDef, InstaQLOptions, InstaQLResponse, ValidQuery } from '@instantdb/core'\nimport type { MaybeRefOrGetter, Ref, ShallowRef } from 'vue'\n// Vendored from @instantdb/vue/src/useInfiniteQuery.ts — see UPSTREAM.md.\n// Delta: the SSR floor guard around the subscription.\nimport {\n getInfiniteQueryInitialSnapshot,\n\n weakHash,\n} from '@instantdb/core'\nimport { ref, shallowRef, toValue, watch } from 'vue'\n\nimport { isClient, tryOnScopeDispose } from './utils.js'\n\nexport interface InfiniteQueryResult<\n Schema extends InstantSchemaDef<any, any, any>,\n Q extends ValidQuery<Q, Schema>,\n UseDates extends boolean,\n> {\n isLoading: Ref<boolean>\n data: ShallowRef<InstaQLResponse<Schema, Q, UseDates> | undefined>\n error: ShallowRef<{ message: string } | undefined>\n canLoadNextPage: Ref<boolean>\n loadNextPage: () => void\n}\n\n/**\n * Subscribe to a query and incrementally load more items.\n *\n * Only one top-level namespace in the query is allowed. Changing the query or\n * options while the subscription is active resets and starts over.\n */\nexport function useInfiniteQuery<\n Schema extends InstantSchemaDef<any, any, any>,\n Q extends ValidQuery<Q, Schema>,\n UseDates extends boolean,\n>(\n core: InstantCoreDatabase<Schema, UseDates>,\n query: MaybeRefOrGetter<Q | null>,\n opts?: MaybeRefOrGetter<InstaQLOptions | undefined>,\n): InfiniteQueryResult<Schema, Q, UseDates> {\n const initialQuery = toValue(query)\n // DUX-DELTA(ssr): no initial snapshot read on the server.\n const snapshot = initialQuery && isClient()\n ? getInfiniteQueryInitialSnapshot(core, initialQuery, toValue(opts))\n : { data: undefined, error: undefined, canLoadNextPage: false }\n // END DUX-DELTA\n\n const isLoading = ref(!snapshot.data && !snapshot.error)\n const data = shallowRef<InstaQLResponse<Schema, Q, UseDates> | undefined>(\n snapshot.data as any,\n )\n const error = shallowRef<{ message: string } | undefined>(snapshot.error)\n const canLoadNextPage = ref(snapshot.canLoadNextPage)\n\n let subRef: InfiniteQuerySubscription | null = null\n\n const stop = watch(\n [() => weakHash(toValue(query)), () => weakHash(toValue(opts))],\n (_, __, onCleanup) => {\n subRef = null\n error.value = undefined\n data.value = undefined\n isLoading.value = true\n canLoadNextPage.value = false\n\n const q = toValue(query)\n if (!q)\n return\n\n // DUX-DELTA(ssr): no subscription on the server.\n if (!isClient())\n return\n // END DUX-DELTA\n\n const sub = core.subscribeInfiniteQuery(\n q,\n (resp: any) => {\n error.value = resp.error\n data.value = resp.data\n isLoading.value = false\n canLoadNextPage.value = resp.canLoadNextPage\n },\n toValue(opts),\n )\n\n subRef = sub\n\n onCleanup(() => {\n sub.unsubscribe()\n if (subRef === sub)\n subRef = null\n })\n },\n { immediate: true },\n )\n\n const loadNextPage = () => {\n subRef?.loadNextPage()\n }\n\n tryOnScopeDispose(stop)\n\n return {\n isLoading,\n data,\n error,\n canLoadNextPage,\n loadNextPage,\n } as InfiniteQueryResult<Schema, Q, UseDates>\n}\n"]}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Run `fn` when the current effect scope is disposed. Returns true if a scope
|
|
3
|
+
* was active (and the callback was registered), false otherwise. Lets hooks
|
|
4
|
+
* work both inside component setup and inside a manual `effectScope()` without
|
|
5
|
+
* blowing up when called outside any scope.
|
|
6
|
+
*/
|
|
7
|
+
export declare function tryOnScopeDispose(fn: () => void): boolean;
|
|
8
|
+
export declare function isClient(): boolean;
|
|
9
|
+
//# sourceMappingURL=utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../src/vue/baseline/utils.ts"],"names":[],"mappings":"AAGA;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,EAAE,EAAE,MAAM,IAAI,GAAG,OAAO,CAMzD;AAOD,wBAAgB,QAAQ,IAAI,OAAO,CAElC"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
// Vendored from @instantdb/vue/src/utils.ts — see UPSTREAM.md.
|
|
2
|
+
import { getCurrentScope, onScopeDispose } from 'vue';
|
|
3
|
+
/**
|
|
4
|
+
* Run `fn` when the current effect scope is disposed. Returns true if a scope
|
|
5
|
+
* was active (and the callback was registered), false otherwise. Lets hooks
|
|
6
|
+
* work both inside component setup and inside a manual `effectScope()` without
|
|
7
|
+
* blowing up when called outside any scope.
|
|
8
|
+
*/
|
|
9
|
+
export function tryOnScopeDispose(fn) {
|
|
10
|
+
if (getCurrentScope()) {
|
|
11
|
+
onScopeDispose(fn);
|
|
12
|
+
return true;
|
|
13
|
+
}
|
|
14
|
+
return false;
|
|
15
|
+
}
|
|
16
|
+
// DUX-DELTA(ssr): the SSR-resilience floor (vision principle 6). Hooks must
|
|
17
|
+
// not crash on the server and must not open subscriptions there; this is the
|
|
18
|
+
// one predicate every reactive baseline hook guards on. No official
|
|
19
|
+
// counterpart — it is dux's addition, isolated here so the drift check never
|
|
20
|
+
// flags it as upstream divergence.
|
|
21
|
+
export function isClient() {
|
|
22
|
+
return typeof window !== 'undefined';
|
|
23
|
+
}
|
|
24
|
+
// END DUX-DELTA
|
|
25
|
+
//# sourceMappingURL=utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../src/vue/baseline/utils.ts"],"names":[],"mappings":"AAAA,+DAA+D;AAC/D,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,KAAK,CAAA;AAErD;;;;;GAKG;AACH,MAAM,UAAU,iBAAiB,CAAC,EAAc;IAC9C,IAAI,eAAe,EAAE,EAAE,CAAC;QACtB,cAAc,CAAC,EAAE,CAAC,CAAA;QAClB,OAAO,IAAI,CAAA;IACb,CAAC;IACD,OAAO,KAAK,CAAA;AACd,CAAC;AAED,4EAA4E;AAC5E,6EAA6E;AAC7E,oEAAoE;AACpE,6EAA6E;AAC7E,mCAAmC;AACnC,MAAM,UAAU,QAAQ;IACtB,OAAO,OAAO,MAAM,KAAK,WAAW,CAAA;AACtC,CAAC;AACD,gBAAgB","sourcesContent":["// Vendored from @instantdb/vue/src/utils.ts — see UPSTREAM.md.\nimport { getCurrentScope, onScopeDispose } from 'vue'\n\n/**\n * Run `fn` when the current effect scope is disposed. Returns true if a scope\n * was active (and the callback was registered), false otherwise. Lets hooks\n * work both inside component setup and inside a manual `effectScope()` without\n * blowing up when called outside any scope.\n */\nexport function tryOnScopeDispose(fn: () => void): boolean {\n if (getCurrentScope()) {\n onScopeDispose(fn)\n return true\n }\n return false\n}\n\n// DUX-DELTA(ssr): the SSR-resilience floor (vision principle 6). Hooks must\n// not crash on the server and must not open subscriptions there; this is the\n// one predicate every reactive baseline hook guards on. No official\n// counterpart — it is dux's addition, isolated here so the drift check never\n// flags it as upstream divergence.\nexport function isClient(): boolean {\n return typeof window !== 'undefined'\n}\n// END DUX-DELTA\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../../../../src/vue/baseline/version.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAA;AAE5C,eAAe,OAAO,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"version.js","sourceRoot":"","sources":["../../../../src/vue/baseline/version.ts"],"names":[],"mappings":"AAAA,iEAAiE;AACjE,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAA;AAE5C,eAAe,OAAO,CAAA","sourcesContent":["// Vendored from @instantdb/vue/src/version.ts — see UPSTREAM.md.\nimport { version } from '@instantdb/version'\n\nexport default version\n"]}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `@mszr/idb-dux/vue` — the Vue client.
|
|
3
|
+
*
|
|
4
|
+
* `init`, `defineDb`, the enhanced db (hooks, rooms, typed tx, pass-throughs),
|
|
5
|
+
* and the `SignedIn`/`SignedOut`/`Cursors` components. SSR-resilient by
|
|
6
|
+
* default; a thin overlay over the internal baseline.
|
|
7
|
+
*
|
|
8
|
+
* Spec: `../../../docs/dux-spec-vue.md`.
|
|
9
|
+
*/
|
|
10
|
+
export { IdbApiError, IdbError } from '../errors.js';
|
|
11
|
+
export type { IdbIssue } from '../errors.js';
|
|
12
|
+
export type { IdbRoomName, IdbRoomPresence, IdbRooms, IdbRoomTopics, } from '../schema/index.js';
|
|
13
|
+
export { id, lookup } from '../tx/index.js';
|
|
14
|
+
export { Cursors, SignedIn, SignedOut } from './baseline/index.js';
|
|
15
|
+
export type { IdbClient } from './overlay/db.js';
|
|
16
|
+
export { defineDb, init } from './overlay/defineDb.js';
|
|
17
|
+
export type { IdbDefineDbOptions } from './overlay/defineDb.js';
|
|
18
|
+
export { makeResult } from './overlay/result.js';
|
|
19
|
+
export type { IdbResult } from './overlay/result.js';
|
|
20
|
+
export type { IdbAuthResult, IdbAuthResultRefs, IdbAuthResultState, IdbAuthUser, IdbClientConfig, IdbConnectionResult, IdbConnectionStatus, IdbInfiniteQueryResult, IdbLocalIdResult, IdbQueryResult, IdbQueryResultData, IdbQueryResultRefs, IdbQueryResultState, IdbUserOptions, } from './overlay/types.js';
|
|
21
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/vue/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAA;AACpD,YAAY,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAA;AAE5C,YAAY,EACV,WAAW,EACX,eAAe,EACf,QAAQ,EACR,aAAa,GACd,MAAM,oBAAoB,CAAA;AAE3B,OAAO,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAA;AAE3C,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AAElE,YAAY,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAChD,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAA;AACtD,YAAY,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAA;AAC/D,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAA;AAChD,YAAY,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AACpD,YAAY,EACV,aAAa,EACb,iBAAiB,EACjB,kBAAkB,EAClB,WAAW,EACX,eAAe,EACf,mBAAmB,EACnB,mBAAmB,EACnB,sBAAsB,EACtB,gBAAgB,EAChB,cAAc,EACd,kBAAkB,EAClB,kBAAkB,EAClB,mBAAmB,EACnB,cAAc,GACf,MAAM,oBAAoB,CAAA"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `@mszr/idb-dux/vue` — the Vue client.
|
|
3
|
+
*
|
|
4
|
+
* `init`, `defineDb`, the enhanced db (hooks, rooms, typed tx, pass-throughs),
|
|
5
|
+
* and the `SignedIn`/`SignedOut`/`Cursors` components. SSR-resilient by
|
|
6
|
+
* default; a thin overlay over the internal baseline.
|
|
7
|
+
*
|
|
8
|
+
* Spec: `../../../docs/dux-spec-vue.md`.
|
|
9
|
+
*/
|
|
10
|
+
// The branded error family ([§7.4]) — `e instanceof IdbError`.
|
|
11
|
+
export { IdbApiError, IdbError } from '../errors.js';
|
|
12
|
+
// Re-exports — official names kept at the boundary.
|
|
13
|
+
export { id, lookup } from '../tx/index.js';
|
|
14
|
+
// Components — official names kept ([§7.3]). Shipped as `.ts` render functions.
|
|
15
|
+
export { Cursors, SignedIn, SignedOut } from './baseline/index.js';
|
|
16
|
+
export { defineDb, init } from './overlay/defineDb.js';
|
|
17
|
+
export { makeResult } from './overlay/result.js';
|
|
18
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/vue/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,+DAA+D;AAC/D,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAA;AASpD,oDAAoD;AACpD,OAAO,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAA;AAC3C,gFAAgF;AAChF,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AAGlE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAA;AAEtD,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAA","sourcesContent":["/**\n * `@mszr/idb-dux/vue` — the Vue client.\n *\n * `init`, `defineDb`, the enhanced db (hooks, rooms, typed tx, pass-throughs),\n * and the `SignedIn`/`SignedOut`/`Cursors` components. SSR-resilient by\n * default; a thin overlay over the internal baseline.\n *\n * Spec: `../../../docs/dux-spec-vue.md`.\n */\n\n// The branded error family ([§7.4]) — `e instanceof IdbError`.\nexport { IdbApiError, IdbError } from '../errors.js'\nexport type { IdbIssue } from '../errors.js'\n// Schema-rooted room type extractors ([§6]) — room shapes read off your schema.\nexport type {\n IdbRoomName,\n IdbRoomPresence,\n IdbRooms,\n IdbRoomTopics,\n} from '../schema/index.js'\n// Re-exports — official names kept at the boundary.\nexport { id, lookup } from '../tx/index.js'\n// Components — official names kept ([§7.3]). Shipped as `.ts` render functions.\nexport { Cursors, SignedIn, SignedOut } from './baseline/index.js'\n// The enhanced db type; the value comes from init/defineDb.\nexport type { IdbClient } from './overlay/db.js'\nexport { defineDb, init } from './overlay/defineDb.js'\nexport type { IdbDefineDbOptions } from './overlay/defineDb.js'\nexport { makeResult } from './overlay/result.js'\nexport type { IdbResult } from './overlay/result.js'\nexport type {\n IdbAuthResult,\n IdbAuthResultRefs,\n IdbAuthResultState,\n IdbAuthUser,\n IdbClientConfig,\n IdbConnectionResult,\n IdbConnectionStatus,\n IdbInfiniteQueryResult,\n IdbLocalIdResult,\n IdbQueryResult,\n IdbQueryResultData,\n IdbQueryResultRefs,\n IdbQueryResultState,\n IdbUserOptions,\n} from './overlay/types.js'\n"]}
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
import type { ComputedRef, MaybeRefOrGetter } from 'vue';
|
|
2
|
+
import type { IdbQueryData, IdbQueryOptions, IdbValidQuery } from '../../query/index.js';
|
|
3
|
+
import type { IdbSchema } from '../../schema/defineSchema.js';
|
|
4
|
+
import type { IdbRegisteredSchema } from '../../schema/register.js';
|
|
5
|
+
import type { IdbTx, IdbTxChunkInput } from '../../tx/index.js';
|
|
6
|
+
import type { InstantDuxDatabase } from '../baseline/index.js';
|
|
7
|
+
import type { IdbAuthResult, IdbAuthUser, IdbConnectionResult, IdbInfiniteQueryResult, IdbLocalIdResult, IdbQueryResult, IdbUserOptions } from './types.js';
|
|
8
|
+
/** A query input: a query, a ref/getter of one, or a factory returning null to pause. */
|
|
9
|
+
type QueryInput<Q> = MaybeRefOrGetter<Q | null>;
|
|
10
|
+
export declare class IdbClient<S extends IdbSchema = IdbRegisteredSchema> {
|
|
11
|
+
#private;
|
|
12
|
+
/** The schema-typed tx chain — shared machinery with `/admin` ([root §5]). */
|
|
13
|
+
readonly tx: IdbTx<S>;
|
|
14
|
+
/** Rooms hooks — stateful ones return the result pattern ([§6]). */
|
|
15
|
+
readonly rooms: {
|
|
16
|
+
useTopicEffect: typeof import("../baseline/InstantDuxRoom.js").useTopicEffect;
|
|
17
|
+
usePublishTopic: typeof import("../baseline/InstantDuxRoom.js").usePublishTopic;
|
|
18
|
+
usePresence: <RoomSchema extends import("@instantdb/core").RoomSchemaShape, RoomType extends keyof RoomSchema, Keys extends keyof RoomSchema[RoomType]["presence"]>(room: import("../baseline/InstantDuxRoom.js").InstantDuxRoom<any, RoomSchema, RoomType>, opts?: import("@instantdb/core").PresenceOpts<RoomSchema[RoomType]["presence"], Keys>) => {
|
|
19
|
+
peers: import("vue").ShallowRef<{
|
|
20
|
+
[peerId: string]: Pick<RoomSchema[RoomType]["presence"], Keys> & {
|
|
21
|
+
peerId: string;
|
|
22
|
+
};
|
|
23
|
+
}>;
|
|
24
|
+
isLoading: import("vue").ShallowRef<boolean>;
|
|
25
|
+
user: import("vue").ShallowRef<(Pick<RoomSchema[RoomType]["presence"], Keys> & {
|
|
26
|
+
peerId: string;
|
|
27
|
+
}) | undefined>;
|
|
28
|
+
error: import("vue").ShallowRef<string | undefined>;
|
|
29
|
+
} & {
|
|
30
|
+
refs: {
|
|
31
|
+
peers: import("vue").ShallowRef<{
|
|
32
|
+
[peerId: string]: Pick<RoomSchema[RoomType]["presence"], Keys> & {
|
|
33
|
+
peerId: string;
|
|
34
|
+
};
|
|
35
|
+
}>;
|
|
36
|
+
isLoading: import("vue").ShallowRef<boolean>;
|
|
37
|
+
user: import("vue").ShallowRef<(Pick<RoomSchema[RoomType]["presence"], Keys> & {
|
|
38
|
+
peerId: string;
|
|
39
|
+
}) | undefined>;
|
|
40
|
+
error: import("vue").ShallowRef<string | undefined>;
|
|
41
|
+
};
|
|
42
|
+
state: import("./result.js").StateOf<{
|
|
43
|
+
peers: import("vue").ShallowRef<{
|
|
44
|
+
[peerId: string]: Pick<RoomSchema[RoomType]["presence"], Keys> & {
|
|
45
|
+
peerId: string;
|
|
46
|
+
};
|
|
47
|
+
}>;
|
|
48
|
+
isLoading: import("vue").ShallowRef<boolean>;
|
|
49
|
+
user: import("vue").ShallowRef<(Pick<RoomSchema[RoomType]["presence"], Keys> & {
|
|
50
|
+
peerId: string;
|
|
51
|
+
}) | undefined>;
|
|
52
|
+
error: import("vue").ShallowRef<string | undefined>;
|
|
53
|
+
}>;
|
|
54
|
+
} & {
|
|
55
|
+
publishPresence: (data: Partial<RoomSchema[RoomType]["presence"]>) => void;
|
|
56
|
+
};
|
|
57
|
+
useSyncPresence: typeof import("../baseline/InstantDuxRoom.js").useSyncPresence;
|
|
58
|
+
useTypingIndicator: <RoomSchema extends import("@instantdb/core").RoomSchemaShape, RoomType extends keyof RoomSchema>(room: import("../baseline/InstantDuxRoom.js").InstantDuxRoom<any, RoomSchema, RoomType>, inputName: string, opts?: import("../baseline/InstantDuxRoom.js").TypingIndicatorOpts) => {
|
|
59
|
+
active: import("vue").Ref<RoomSchema[RoomType]["presence"][], RoomSchema[RoomType]["presence"][]>;
|
|
60
|
+
} & {
|
|
61
|
+
refs: {
|
|
62
|
+
active: import("vue").Ref<RoomSchema[RoomType]["presence"][], RoomSchema[RoomType]["presence"][]>;
|
|
63
|
+
};
|
|
64
|
+
state: import("./result.js").StateOf<{
|
|
65
|
+
active: import("vue").Ref<RoomSchema[RoomType]["presence"][], RoomSchema[RoomType]["presence"][]>;
|
|
66
|
+
}>;
|
|
67
|
+
} & {
|
|
68
|
+
setActive: (active: boolean) => void;
|
|
69
|
+
inputProps: {
|
|
70
|
+
onKeydown: (e: KeyboardEvent) => void;
|
|
71
|
+
onBlur: () => void;
|
|
72
|
+
};
|
|
73
|
+
};
|
|
74
|
+
};
|
|
75
|
+
constructor(baseline: InstantDuxDatabase<S>, schema: IdbSchema | undefined);
|
|
76
|
+
get auth(): import("@instantdb/core").Auth;
|
|
77
|
+
get storage(): import("@instantdb/core").Storage;
|
|
78
|
+
get streams(): import("@instantdb/core").Streams;
|
|
79
|
+
transact: (chunks: IdbTxChunkInput<S> | IdbTxChunkInput<S>[]) => Promise<import("@instantdb/core").TransactionResult>;
|
|
80
|
+
getAuth: () => Promise<IdbAuthUser | null>;
|
|
81
|
+
getLocalId: (name: string) => Promise<string>;
|
|
82
|
+
room: InstantDuxDatabase<S>["room"];
|
|
83
|
+
/**
|
|
84
|
+
* Subscribe to a query. Destructure top-level scopes directly — full
|
|
85
|
+
* shaping ($only/$at/$as/$m, array normalization, singularization) per the
|
|
86
|
+
* root spec, plus the result pattern. A factory returning `null` pauses.
|
|
87
|
+
*/
|
|
88
|
+
useQuery: <const Q extends IdbValidQuery<Q, S>>(query: QueryInput<Q>, opts?: MaybeRefOrGetter<IdbQueryOptions<S> | null | undefined>) => IdbQueryResult<Q, S>;
|
|
89
|
+
/** Imperative one-shot with identical shaping — plain shaped data, no refs. */
|
|
90
|
+
queryOnce: <const Q extends IdbValidQuery<Q, S>>(query: Q, opts?: IdbQueryOptions<S>) => Promise<IdbQueryData<Q, S>>;
|
|
91
|
+
/** The data plane, paginated — same shaping, plus `loadNextPage`. */
|
|
92
|
+
useInfiniteQuery: <const Q extends IdbValidQuery<Q, S>>(query: QueryInput<Q>, opts?: MaybeRefOrGetter<IdbQueryOptions<S> | undefined>) => IdbInfiniteQueryResult<Q, S>;
|
|
93
|
+
useAuth: () => IdbAuthResult;
|
|
94
|
+
/**
|
|
95
|
+
* The user-centric projection. `requireUser: true` types `user` present and
|
|
96
|
+
* throws at access when there's none; the default leaves it optional.
|
|
97
|
+
*/
|
|
98
|
+
useUser(opts: {
|
|
99
|
+
requireUser: true;
|
|
100
|
+
}): ComputedRef<IdbAuthUser>;
|
|
101
|
+
useUser(opts?: IdbUserOptions): ComputedRef<IdbAuthUser | undefined>;
|
|
102
|
+
useConnectionStatus: () => IdbConnectionResult;
|
|
103
|
+
useLocalId: (name: MaybeRefOrGetter<string>) => IdbLocalIdResult;
|
|
104
|
+
}
|
|
105
|
+
export {};
|
|
106
|
+
//# sourceMappingURL=db.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"db.d.ts","sourceRoot":"","sources":["../../../../src/vue/overlay/db.ts"],"names":[],"mappings":"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"}
|