@instantdb/react
Advanced tools
Comparing version 0.12.19 to 0.12.20
import { id, tx, lookup, i, type QueryResponse, type InstantObject, type User, type AuthState, type Query, type Config } from "@instantdb/core"; | ||
import { InstantReact } from "./InstantReact"; | ||
import { InstantReactWeb } from "./InstantReactWeb"; | ||
import { init } from "./init"; | ||
import { init, init_experimental } from "./init"; | ||
import { Cursors } from "./Cursors"; | ||
export { id, tx, lookup, init, InstantReactWeb, Cursors, InstantReact, Config, Query, QueryResponse, InstantObject, User, AuthState, i, }; | ||
export { id, tx, lookup, init, init_experimental, InstantReactWeb, Cursors, InstantReact, Config, Query, QueryResponse, InstantObject, User, AuthState, i, }; | ||
//# sourceMappingURL=index.d.ts.map |
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.i = exports.InstantReact = exports.Cursors = exports.InstantReactWeb = exports.init = exports.lookup = exports.tx = exports.id = void 0; | ||
exports.i = exports.InstantReact = exports.Cursors = exports.InstantReactWeb = exports.init_experimental = exports.init = exports.lookup = exports.tx = exports.id = void 0; | ||
const core_1 = require("@instantdb/core"); | ||
@@ -15,4 +15,5 @@ Object.defineProperty(exports, "id", { enumerable: true, get: function () { return core_1.id; } }); | ||
Object.defineProperty(exports, "init", { enumerable: true, get: function () { return init_1.init; } }); | ||
Object.defineProperty(exports, "init_experimental", { enumerable: true, get: function () { return init_1.init_experimental; } }); | ||
const Cursors_1 = require("./Cursors"); | ||
Object.defineProperty(exports, "Cursors", { enumerable: true, get: function () { return Cursors_1.Cursors; } }); | ||
//# sourceMappingURL=index.js.map |
@@ -1,2 +0,2 @@ | ||
import { Config, RoomSchemaShape } from "@instantdb/core"; | ||
import { Config, i, RoomSchemaShape } from "@instantdb/core"; | ||
import { InstantReactWeb } from "./InstantReactWeb"; | ||
@@ -23,3 +23,7 @@ /** | ||
*/ | ||
export declare function init<Schema = {}, RoomSchema extends RoomSchemaShape = {}>(config: Config): InstantReactWeb<Schema, RoomSchema>; | ||
export declare function init<Schema = {}, RoomSchema extends RoomSchemaShape = {}>(config: Config): InstantReactWeb<Schema, RoomSchema, false>; | ||
export declare function init_experimental<Schema extends i.InstantGraph<any, any, any>, WithCardinalityInference extends boolean = true>(config: Config & { | ||
schema: Schema; | ||
cardinalityInference?: WithCardinalityInference; | ||
}): InstantReactWeb<Schema, Schema extends i.InstantGraph<any, infer RoomSchema extends i.LinksDef<any>, any> ? RoomSchema : never, WithCardinalityInference>; | ||
//# sourceMappingURL=init.d.ts.map |
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.init = init; | ||
exports.init_experimental = init_experimental; | ||
const InstantReactWeb_1 = require("./InstantReactWeb"); | ||
@@ -28,2 +29,5 @@ /** | ||
} | ||
function init_experimental(config) { | ||
return new InstantReactWeb_1.InstantReactWeb(config); | ||
} | ||
//# sourceMappingURL=init.js.map |
@@ -1,2 +0,2 @@ | ||
import { Config, Query, Exactly, AuthState, InstantClient, TransactionChunk, Auth, LifecycleSubscriptionState, PresenceOpts, PresenceResponse, RoomSchemaShape, Storage } from "@instantdb/core"; | ||
import { Config, Query, Exactly, AuthState, InstantClient, TransactionChunk, Auth, LifecycleSubscriptionState, PresenceOpts, PresenceResponse, RoomSchemaShape, Storage, InstaQLQueryParams, ConfigWithSchema, i } from "@instantdb/core"; | ||
import { KeyboardEvent } from "react"; | ||
@@ -24,3 +24,3 @@ export type PresenceHandle<PresenceShape, Keys extends keyof PresenceShape> = PresenceResponse<PresenceShape, Keys> & { | ||
id: string; | ||
constructor(_core: InstantClient<Schema, RoomSchema>, type: RoomType, id: string); | ||
constructor(_core: InstantClient<Schema, RoomSchema, any>, type: RoomType, id: string); | ||
/** | ||
@@ -99,9 +99,10 @@ * Listen for broadcasted events given a room and topic. | ||
} | ||
export declare abstract class InstantReact<Schema = {}, RoomSchema extends RoomSchemaShape = {}> { | ||
export declare abstract class InstantReact<Schema extends i.InstantGraph<any, any> | {} = {}, RoomSchema extends RoomSchemaShape = {}, WithCardinalityInference extends boolean = false> { | ||
tx: import("@instantdb/core").TxChunk<Schema extends i.InstantGraph<any, any, {}> ? Schema : i.InstantGraph<any, any, {}>>; | ||
auth: Auth; | ||
storage: Storage; | ||
_core: InstantClient<Schema, RoomSchema>; | ||
_core: InstantClient<Schema, RoomSchema, WithCardinalityInference>; | ||
static Storage?: any; | ||
static NetworkListener?: any; | ||
constructor(config: Config); | ||
constructor(config: Config | ConfigWithSchema<any>); | ||
getLocalId: (name: string) => Promise<string>; | ||
@@ -148,3 +149,3 @@ /** | ||
*/ | ||
transact: (chunks: TransactionChunk | TransactionChunk[]) => Promise<import("@instantdb/core").TransactionResult>; | ||
transact: (chunks: TransactionChunk<any, any> | TransactionChunk<any, any>[]) => Promise<import("@instantdb/core").TransactionResult>; | ||
/** | ||
@@ -168,3 +169,3 @@ * Use this to query your data! | ||
*/ | ||
useQuery: <Q extends Query>(query: Exactly<Query, Q> | null) => LifecycleSubscriptionState<Q, Schema>; | ||
useQuery: <Q extends Schema extends i.InstantGraph<any, any> ? InstaQLQueryParams<Schema> : Exactly<Query, Q>>(query: null | Q) => LifecycleSubscriptionState<Q, Schema, WithCardinalityInference>; | ||
/** | ||
@@ -171,0 +172,0 @@ * Listen for the logged in state. This is useful |
@@ -174,2 +174,3 @@ "use strict"; | ||
constructor(config) { | ||
this.tx = (0, core_1.txInit)(); | ||
this.getLocalId = (name) => { | ||
@@ -264,3 +265,3 @@ return this._core.getLocalId(name); | ||
}; | ||
this._core = (0, core_1.init)(config, | ||
this._core = (0, core_1._init_internal)(config, | ||
// @ts-expect-error because TS can't resolve subclass statics | ||
@@ -267,0 +268,0 @@ this.constructor.Storage, |
@@ -1,5 +0,5 @@ | ||
import { RoomSchemaShape } from "@instantdb/core"; | ||
import { i, RoomSchemaShape } from "@instantdb/core"; | ||
import { InstantReact } from "./InstantReact"; | ||
export declare class InstantReactWeb<Schema = {}, RoomSchema extends RoomSchemaShape = {}> extends InstantReact<Schema, RoomSchema> { | ||
export declare class InstantReactWeb<Schema extends i.InstantGraph<any, any> | {} = {}, RoomSchema extends RoomSchemaShape = {}, WithCardinalityInference extends boolean = false> extends InstantReact<Schema, RoomSchema, WithCardinalityInference> { | ||
} | ||
//# sourceMappingURL=InstantReactWeb.d.ts.map |
import { id, tx, lookup, i, type QueryResponse, type InstantObject, type User, type AuthState, type Query, type Config } from "@instantdb/core"; | ||
import { InstantReact } from "./InstantReact"; | ||
import { InstantReactWeb } from "./InstantReactWeb"; | ||
import { init } from "./init"; | ||
import { init, init_experimental } from "./init"; | ||
import { Cursors } from "./Cursors"; | ||
export { id, tx, lookup, init, InstantReactWeb, Cursors, InstantReact, Config, Query, QueryResponse, InstantObject, User, AuthState, i, }; | ||
export { id, tx, lookup, init, init_experimental, InstantReactWeb, Cursors, InstantReact, Config, Query, QueryResponse, InstantObject, User, AuthState, i, }; | ||
//# sourceMappingURL=index.d.ts.map |
import { id, tx, lookup, i, } from "@instantdb/core"; | ||
import { InstantReact } from "./InstantReact"; | ||
import { InstantReactWeb } from "./InstantReactWeb"; | ||
import { init } from "./init"; | ||
import { init, init_experimental } from "./init"; | ||
import { Cursors } from "./Cursors"; | ||
export { id, tx, lookup, init, InstantReactWeb, Cursors, | ||
export { id, tx, lookup, init, init_experimental, InstantReactWeb, Cursors, | ||
// internal | ||
InstantReact, i, }; | ||
//# sourceMappingURL=index.js.map |
@@ -1,2 +0,2 @@ | ||
import { Config, RoomSchemaShape } from "@instantdb/core"; | ||
import { Config, i, RoomSchemaShape } from "@instantdb/core"; | ||
import { InstantReactWeb } from "./InstantReactWeb"; | ||
@@ -23,3 +23,7 @@ /** | ||
*/ | ||
export declare function init<Schema = {}, RoomSchema extends RoomSchemaShape = {}>(config: Config): InstantReactWeb<Schema, RoomSchema>; | ||
export declare function init<Schema = {}, RoomSchema extends RoomSchemaShape = {}>(config: Config): InstantReactWeb<Schema, RoomSchema, false>; | ||
export declare function init_experimental<Schema extends i.InstantGraph<any, any, any>, WithCardinalityInference extends boolean = true>(config: Config & { | ||
schema: Schema; | ||
cardinalityInference?: WithCardinalityInference; | ||
}): InstantReactWeb<Schema, Schema extends i.InstantGraph<any, infer RoomSchema extends i.LinksDef<any>, any> ? RoomSchema : never, WithCardinalityInference>; | ||
//# sourceMappingURL=init.d.ts.map |
@@ -25,2 +25,5 @@ import { InstantReactWeb } from "./InstantReactWeb"; | ||
} | ||
export function init_experimental(config) { | ||
return new InstantReactWeb(config); | ||
} | ||
//# sourceMappingURL=init.js.map |
@@ -1,2 +0,2 @@ | ||
import { Config, Query, Exactly, AuthState, InstantClient, TransactionChunk, Auth, LifecycleSubscriptionState, PresenceOpts, PresenceResponse, RoomSchemaShape, Storage } from "@instantdb/core"; | ||
import { Config, Query, Exactly, AuthState, InstantClient, TransactionChunk, Auth, LifecycleSubscriptionState, PresenceOpts, PresenceResponse, RoomSchemaShape, Storage, InstaQLQueryParams, ConfigWithSchema, i } from "@instantdb/core"; | ||
import { KeyboardEvent } from "react"; | ||
@@ -24,3 +24,3 @@ export type PresenceHandle<PresenceShape, Keys extends keyof PresenceShape> = PresenceResponse<PresenceShape, Keys> & { | ||
id: string; | ||
constructor(_core: InstantClient<Schema, RoomSchema>, type: RoomType, id: string); | ||
constructor(_core: InstantClient<Schema, RoomSchema, any>, type: RoomType, id: string); | ||
/** | ||
@@ -99,9 +99,10 @@ * Listen for broadcasted events given a room and topic. | ||
} | ||
export declare abstract class InstantReact<Schema = {}, RoomSchema extends RoomSchemaShape = {}> { | ||
export declare abstract class InstantReact<Schema extends i.InstantGraph<any, any> | {} = {}, RoomSchema extends RoomSchemaShape = {}, WithCardinalityInference extends boolean = false> { | ||
tx: import("@instantdb/core").TxChunk<Schema extends i.InstantGraph<any, any, {}> ? Schema : i.InstantGraph<any, any, {}>>; | ||
auth: Auth; | ||
storage: Storage; | ||
_core: InstantClient<Schema, RoomSchema>; | ||
_core: InstantClient<Schema, RoomSchema, WithCardinalityInference>; | ||
static Storage?: any; | ||
static NetworkListener?: any; | ||
constructor(config: Config); | ||
constructor(config: Config | ConfigWithSchema<any>); | ||
getLocalId: (name: string) => Promise<string>; | ||
@@ -148,3 +149,3 @@ /** | ||
*/ | ||
transact: (chunks: TransactionChunk | TransactionChunk[]) => Promise<import("@instantdb/core").TransactionResult>; | ||
transact: (chunks: TransactionChunk<any, any> | TransactionChunk<any, any>[]) => Promise<import("@instantdb/core").TransactionResult>; | ||
/** | ||
@@ -168,3 +169,3 @@ * Use this to query your data! | ||
*/ | ||
useQuery: <Q extends Query>(query: Exactly<Query, Q> | null) => LifecycleSubscriptionState<Q, Schema>; | ||
useQuery: <Q extends Schema extends i.InstantGraph<any, any> ? InstaQLQueryParams<Schema> : Exactly<Query, Q>>(query: null | Q) => LifecycleSubscriptionState<Q, Schema, WithCardinalityInference>; | ||
/** | ||
@@ -171,0 +172,0 @@ * Listen for the logged in state. This is useful |
@@ -1,2 +0,2 @@ | ||
import { init as initCore, } from "@instantdb/core"; | ||
import { txInit, _init_internal, } from "@instantdb/core"; | ||
import { useCallback, useEffect, useMemo, useState, } from "react"; | ||
@@ -170,2 +170,3 @@ import { useQuery } from "./useQuery"; | ||
constructor(config) { | ||
this.tx = txInit(); | ||
this.getLocalId = (name) => { | ||
@@ -260,3 +261,3 @@ return this._core.getLocalId(name); | ||
}; | ||
this._core = initCore(config, | ||
this._core = _init_internal(config, | ||
// @ts-expect-error because TS can't resolve subclass statics | ||
@@ -263,0 +264,0 @@ this.constructor.Storage, |
@@ -1,5 +0,5 @@ | ||
import { RoomSchemaShape } from "@instantdb/core"; | ||
import { i, RoomSchemaShape } from "@instantdb/core"; | ||
import { InstantReact } from "./InstantReact"; | ||
export declare class InstantReactWeb<Schema = {}, RoomSchema extends RoomSchemaShape = {}> extends InstantReact<Schema, RoomSchema> { | ||
export declare class InstantReactWeb<Schema extends i.InstantGraph<any, any> | {} = {}, RoomSchema extends RoomSchemaShape = {}, WithCardinalityInference extends boolean = false> extends InstantReact<Schema, RoomSchema, WithCardinalityInference> { | ||
} | ||
//# sourceMappingURL=InstantReactWeb.d.ts.map |
@@ -1,6 +0,6 @@ | ||
import { Query, Exactly, InstantClient, LifecycleSubscriptionState } from "@instantdb/core"; | ||
export declare function useQuery<Q extends Query, Schema>(_core: InstantClient<Schema>, _query: Exactly<Query, Q> | null): { | ||
state: LifecycleSubscriptionState<Q, Schema>; | ||
import { Query, Exactly, InstantClient, LifecycleSubscriptionState, InstaQLQueryParams, i } from "@instantdb/core"; | ||
export declare function useQuery<Q extends Schema extends i.InstantGraph<any, any> ? InstaQLQueryParams<Schema> : Exactly<Query, Q>, Schema, WithCardinalityInference extends boolean>(_core: InstantClient<Schema, any, WithCardinalityInference>, _query: null | Q): { | ||
state: LifecycleSubscriptionState<Q, Schema, WithCardinalityInference>; | ||
query: any; | ||
}; | ||
//# sourceMappingURL=useQuery.d.ts.map |
@@ -1,6 +0,6 @@ | ||
import { Query, Exactly, InstantClient, LifecycleSubscriptionState } from "@instantdb/core"; | ||
export declare function useQuery<Q extends Query, Schema>(_core: InstantClient<Schema>, _query: Exactly<Query, Q> | null): { | ||
state: LifecycleSubscriptionState<Q, Schema>; | ||
import { Query, Exactly, InstantClient, LifecycleSubscriptionState, InstaQLQueryParams, i } from "@instantdb/core"; | ||
export declare function useQuery<Q extends Schema extends i.InstantGraph<any, any> ? InstaQLQueryParams<Schema> : Exactly<Query, Q>, Schema, WithCardinalityInference extends boolean>(_core: InstantClient<Schema, any, WithCardinalityInference>, _query: null | Q): { | ||
state: LifecycleSubscriptionState<Q, Schema, WithCardinalityInference>; | ||
query: any; | ||
}; | ||
//# sourceMappingURL=useQuery.d.ts.map |
{ | ||
"name": "@instantdb/react", | ||
"version": "v0.12.19", | ||
"version": "v0.12.20", | ||
"description": "Instant DB for React", | ||
@@ -34,4 +34,4 @@ "main": "dist/index.js", | ||
"dependencies": { | ||
"@instantdb/core": "v0.12.19" | ||
"@instantdb/core": "v0.12.20" | ||
} | ||
} |
@@ -18,3 +18,3 @@ import { | ||
import { InstantReactWeb } from "./InstantReactWeb"; | ||
import { init } from "./init"; | ||
import { init, init_experimental } from "./init"; | ||
import { Cursors } from "./Cursors"; | ||
@@ -27,2 +27,3 @@ | ||
init, | ||
init_experimental, | ||
InstantReactWeb, | ||
@@ -29,0 +30,0 @@ Cursors, |
import { | ||
// types | ||
Config, | ||
i, | ||
RoomSchemaShape, | ||
@@ -33,1 +34,19 @@ } from "@instantdb/core"; | ||
} | ||
export function init_experimental< | ||
Schema extends i.InstantGraph<any, any, any>, | ||
WithCardinalityInference extends boolean = true, | ||
>( | ||
config: Config & { | ||
schema: Schema; | ||
cardinalityInference?: WithCardinalityInference; | ||
}, | ||
) { | ||
return new InstantReactWeb< | ||
Schema, | ||
Schema extends i.InstantGraph<any, infer RoomSchema, any> | ||
? RoomSchema | ||
: never, | ||
WithCardinalityInference | ||
>(config); | ||
} |
import { | ||
init as initCore, | ||
// types | ||
@@ -17,2 +15,7 @@ Config, | ||
Storage, | ||
txInit, | ||
InstaQLQueryParams, | ||
ConfigWithSchema, | ||
i, | ||
_init_internal, | ||
} from "@instantdb/core"; | ||
@@ -64,3 +67,3 @@ import { | ||
constructor( | ||
_core: InstantClient<Schema, RoomSchema>, | ||
_core: InstantClient<Schema, RoomSchema, any>, | ||
type: RoomType, | ||
@@ -285,8 +288,16 @@ id: string, | ||
export abstract class InstantReact< | ||
Schema = {}, | ||
Schema extends i.InstantGraph<any, any> | {} = {}, | ||
RoomSchema extends RoomSchemaShape = {}, | ||
WithCardinalityInference extends boolean = false, | ||
> { | ||
public tx = | ||
txInit< | ||
Schema extends i.InstantGraph<any, any> | ||
? Schema | ||
: i.InstantGraph<any, any> | ||
>(); | ||
public auth: Auth; | ||
public storage: Storage; | ||
public _core: InstantClient<Schema, RoomSchema>; | ||
public _core: InstantClient<Schema, RoomSchema, WithCardinalityInference>; | ||
@@ -296,4 +307,4 @@ static Storage?: any; | ||
constructor(config: Config) { | ||
this._core = initCore<Schema, RoomSchema>( | ||
constructor(config: Config | ConfigWithSchema<any>) { | ||
this._core = _init_internal<Schema, RoomSchema, WithCardinalityInference>( | ||
config, | ||
@@ -363,3 +374,5 @@ // @ts-expect-error because TS can't resolve subclass statics | ||
*/ | ||
transact = (chunks: TransactionChunk | TransactionChunk[]) => { | ||
transact = ( | ||
chunks: TransactionChunk<any, any> | TransactionChunk<any, any>[], | ||
) => { | ||
return this._core.transact(chunks); | ||
@@ -386,5 +399,9 @@ }; | ||
*/ | ||
useQuery = <Q extends Query>( | ||
query: Exactly<Query, Q> | null, | ||
): LifecycleSubscriptionState<Q, Schema> => { | ||
useQuery = < | ||
Q extends Schema extends i.InstantGraph<any, any> | ||
? InstaQLQueryParams<Schema> | ||
: Exactly<Query, Q>, | ||
>( | ||
query: null | Q, | ||
): LifecycleSubscriptionState<Q, Schema, WithCardinalityInference> => { | ||
return useQuery(this._core, query).state; | ||
@@ -391,0 +408,0 @@ }; |
@@ -1,7 +0,8 @@ | ||
import { RoomSchemaShape } from "@instantdb/core"; | ||
import { i, RoomSchemaShape } from "@instantdb/core"; | ||
import { InstantReact } from "./InstantReact"; | ||
export class InstantReactWeb< | ||
Schema = {}, | ||
Schema extends i.InstantGraph<any, any> | {} = {}, | ||
RoomSchema extends RoomSchemaShape = {}, | ||
> extends InstantReact<Schema, RoomSchema> {} | ||
WithCardinalityInference extends boolean = false, | ||
> extends InstantReact<Schema, RoomSchema, WithCardinalityInference> {} |
@@ -8,2 +8,4 @@ import { | ||
LifecycleSubscriptionState, | ||
InstaQLQueryParams, | ||
i, | ||
} from "@instantdb/core"; | ||
@@ -19,6 +21,15 @@ import { useCallback, useRef, useSyncExternalStore } from "react"; | ||
export function useQuery<Q extends Query, Schema>( | ||
_core: InstantClient<Schema>, | ||
_query: Exactly<Query, Q> | null, | ||
): { state: LifecycleSubscriptionState<Q, Schema>; query: any } { | ||
export function useQuery< | ||
Q extends Schema extends i.InstantGraph<any, any> | ||
? InstaQLQueryParams<Schema> | ||
: Exactly<Query, Q>, | ||
Schema, | ||
WithCardinalityInference extends boolean, | ||
>( | ||
_core: InstantClient<Schema, any, WithCardinalityInference>, | ||
_query: null | Q, | ||
): { | ||
state: LifecycleSubscriptionState<Q, Schema, WithCardinalityInference>; | ||
query: any; | ||
} { | ||
const query = _query ? coerceQuery(_query) : null; | ||
@@ -32,3 +43,5 @@ const queryHash = weakHash(query); | ||
const resultCacheRef = | ||
useRef<LifecycleSubscriptionState<Q, Schema>>(defaultState); | ||
useRef<LifecycleSubscriptionState<Q, Schema, WithCardinalityInference>>( | ||
defaultState, | ||
); | ||
@@ -63,3 +76,5 @@ // (XXX): Similar to `resultCacheRef`, `useSyncExternalStore` will unsubscribe if | ||
const state = useSyncExternalStore<LifecycleSubscriptionState<Q, Schema>>( | ||
const state = useSyncExternalStore< | ||
LifecycleSubscriptionState<Q, Schema, WithCardinalityInference> | ||
>( | ||
subscribe, | ||
@@ -66,0 +81,0 @@ () => resultCacheRef.current, |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Native code
Supply chain riskContains native code (e.g., compiled binaries or shared libraries). Including native code can obscure malicious behavior.
Found 1 instance in 1 package
Manifest confusion
Supply chain riskThis package has inconsistent metadata. This could be malicious or caused by an error when publishing the package.
Found 1 instance in 1 package
Manifest confusion
Supply chain riskThis package has inconsistent metadata. This could be malicious or caused by an error when publishing the package.
Found 1 instance in 1 package
410452
7315
6
Updated@instantdb/core@v0.12.20