tinybase 4.3.0-beta.0 → 4.3.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/lib/cjs/persisters/persister-cr-sqlite-wasm.cjs +1 -1
- package/lib/cjs/persisters/persister-cr-sqlite-wasm.cjs.gz +0 -0
- package/lib/cjs/persisters/persister-expo-sqlite.cjs +1 -1
- package/lib/cjs/persisters/persister-expo-sqlite.cjs.gz +0 -0
- package/lib/cjs/persisters/persister-partykit-client.cjs +1 -0
- package/lib/cjs/persisters/persister-partykit-client.cjs.gz +0 -0
- package/lib/cjs/persisters/persister-partykit-server.cjs +1 -0
- package/lib/cjs/persisters/persister-partykit-server.cjs.gz +0 -0
- package/lib/cjs/persisters/persister-sqlite-wasm.cjs +1 -1
- package/lib/cjs/persisters/persister-sqlite-wasm.cjs.gz +0 -0
- package/lib/cjs/persisters/persister-sqlite3.cjs +1 -1
- package/lib/cjs/persisters/persister-sqlite3.cjs.gz +0 -0
- package/lib/cjs/store.cjs +1 -1
- package/lib/cjs/store.cjs.gz +0 -0
- package/lib/cjs/tinybase.cjs +1 -1
- package/lib/cjs/tinybase.cjs.gz +0 -0
- package/lib/cjs/tools.cjs +1 -1
- package/lib/cjs/tools.cjs.gz +0 -0
- package/lib/cjs/ui-react-dom-debug.cjs +1 -1
- package/lib/cjs/ui-react-dom-debug.cjs.gz +0 -0
- package/lib/cjs/ui-react-dom.cjs +1 -1
- package/lib/cjs/ui-react-dom.cjs.gz +0 -0
- package/lib/cjs/ui-react.cjs +1 -1
- package/lib/cjs/ui-react.cjs.gz +0 -0
- package/lib/cjs-es6/persisters/persister-cr-sqlite-wasm.cjs +1 -1
- package/lib/cjs-es6/persisters/persister-cr-sqlite-wasm.cjs.gz +0 -0
- package/lib/cjs-es6/persisters/persister-expo-sqlite.cjs +1 -1
- package/lib/cjs-es6/persisters/persister-expo-sqlite.cjs.gz +0 -0
- package/lib/cjs-es6/persisters/persister-partykit-client.cjs +1 -0
- package/lib/cjs-es6/persisters/persister-partykit-client.cjs.gz +0 -0
- package/lib/cjs-es6/persisters/persister-partykit-server.cjs +1 -0
- package/lib/cjs-es6/persisters/persister-partykit-server.cjs.gz +0 -0
- package/lib/cjs-es6/persisters/persister-sqlite-wasm.cjs +1 -1
- package/lib/cjs-es6/persisters/persister-sqlite-wasm.cjs.gz +0 -0
- package/lib/cjs-es6/persisters/persister-sqlite3.cjs +1 -1
- package/lib/cjs-es6/persisters/persister-sqlite3.cjs.gz +0 -0
- package/lib/cjs-es6/store.cjs +1 -1
- package/lib/cjs-es6/store.cjs.gz +0 -0
- package/lib/cjs-es6/tinybase.cjs +1 -1
- package/lib/cjs-es6/tinybase.cjs.gz +0 -0
- package/lib/cjs-es6/tools.cjs +1 -1
- package/lib/cjs-es6/tools.cjs.gz +0 -0
- package/lib/cjs-es6/ui-react-dom-debug.cjs +1 -1
- package/lib/cjs-es6/ui-react-dom-debug.cjs.gz +0 -0
- package/lib/cjs-es6/ui-react-dom.cjs +1 -1
- package/lib/cjs-es6/ui-react-dom.cjs.gz +0 -0
- package/lib/cjs-es6/ui-react.cjs +1 -1
- package/lib/cjs-es6/ui-react.cjs.gz +0 -0
- package/lib/debug/persisters/persister-cr-sqlite-wasm.js +10 -7
- package/lib/debug/persisters/persister-expo-sqlite.js +10 -7
- package/lib/debug/persisters/persister-partykit-client.js +249 -0
- package/lib/debug/persisters/persister-partykit-server.js +161 -0
- package/lib/debug/persisters/persister-sqlite-wasm.js +10 -7
- package/lib/debug/persisters/persister-sqlite3.js +10 -7
- package/lib/debug/queries.js +2 -2
- package/lib/debug/store.js +13 -13
- package/lib/debug/tinybase.js +14 -14
- package/lib/debug/tools.js +3 -4
- package/lib/debug/ui-react-dom.js +35 -24
- package/lib/debug/ui-react.js +38 -1
- package/lib/es6/persisters/persister-cr-sqlite-wasm.js +1 -1
- package/lib/es6/persisters/persister-cr-sqlite-wasm.js.gz +0 -0
- package/lib/es6/persisters/persister-expo-sqlite.js +1 -1
- package/lib/es6/persisters/persister-expo-sqlite.js.gz +0 -0
- package/lib/es6/persisters/persister-partykit-client.js +1 -0
- package/lib/es6/persisters/persister-partykit-client.js.gz +0 -0
- package/lib/es6/persisters/persister-partykit-server.js +1 -0
- package/lib/es6/persisters/persister-partykit-server.js.gz +0 -0
- package/lib/es6/persisters/persister-sqlite-wasm.js +1 -1
- package/lib/es6/persisters/persister-sqlite-wasm.js.gz +0 -0
- package/lib/es6/persisters/persister-sqlite3.js +1 -1
- package/lib/es6/persisters/persister-sqlite3.js.gz +0 -0
- package/lib/es6/store.js +1 -1
- package/lib/es6/store.js.gz +0 -0
- package/lib/es6/tinybase.js +1 -1
- package/lib/es6/tinybase.js.gz +0 -0
- package/lib/es6/tools.js +1 -1
- package/lib/es6/tools.js.gz +0 -0
- package/lib/es6/ui-react-dom-debug.js +1 -1
- package/lib/es6/ui-react-dom-debug.js.gz +0 -0
- package/lib/es6/ui-react-dom.js +1 -1
- package/lib/es6/ui-react-dom.js.gz +0 -0
- package/lib/es6/ui-react.js +1 -1
- package/lib/es6/ui-react.js.gz +0 -0
- package/lib/persisters/persister-cr-sqlite-wasm.js +1 -1
- package/lib/persisters/persister-cr-sqlite-wasm.js.gz +0 -0
- package/lib/persisters/persister-expo-sqlite.js +1 -1
- package/lib/persisters/persister-expo-sqlite.js.gz +0 -0
- package/lib/persisters/persister-partykit-client.js +1 -0
- package/lib/persisters/persister-partykit-client.js.gz +0 -0
- package/lib/persisters/persister-partykit-server.js +1 -0
- package/lib/persisters/persister-partykit-server.js.gz +0 -0
- package/lib/persisters/persister-sqlite-wasm.js +1 -1
- package/lib/persisters/persister-sqlite-wasm.js.gz +0 -0
- package/lib/persisters/persister-sqlite3.js +1 -1
- package/lib/persisters/persister-sqlite3.js.gz +0 -0
- package/lib/store.js +1 -1
- package/lib/store.js.gz +0 -0
- package/lib/tinybase.js +1 -1
- package/lib/tinybase.js.gz +0 -0
- package/lib/tools.js +1 -1
- package/lib/tools.js.gz +0 -0
- package/lib/types/persisters/persister-cr-sqlite-wasm.d.ts +2 -0
- package/lib/types/persisters/persister-expo-sqlite.d.ts +2 -0
- package/lib/types/persisters/persister-partykit-client.d.ts +88 -0
- package/lib/types/persisters/persister-partykit-server.d.ts +114 -0
- package/lib/types/persisters/persister-sqlite-wasm.d.ts +2 -0
- package/lib/types/persisters/persister-sqlite3.d.ts +2 -0
- package/lib/types/store.d.ts +6 -0
- package/lib/types/ui-react.d.ts +187 -4
- package/lib/types/with-schemas/persisters/persister-cr-sqlite-wasm.d.ts +2 -0
- package/lib/types/with-schemas/persisters/persister-expo-sqlite.d.ts +2 -0
- package/lib/types/with-schemas/persisters/persister-partykit-client.d.ts +99 -0
- package/lib/types/with-schemas/persisters/persister-partykit-server.d.ts +114 -0
- package/lib/types/with-schemas/persisters/persister-sqlite-wasm.d.ts +2 -0
- package/lib/types/with-schemas/persisters/persister-sqlite3.d.ts +2 -0
- package/lib/types/with-schemas/store.d.ts +6 -0
- package/lib/types/with-schemas/ui-react.d.ts +223 -8
- package/lib/ui-react-dom.js +1 -1
- package/lib/ui-react-dom.js.gz +0 -0
- package/lib/ui-react.js +1 -1
- package/lib/ui-react.js.gz +0 -0
- package/lib/umd/persisters/persister-cr-sqlite-wasm.js +1 -1
- package/lib/umd/persisters/persister-cr-sqlite-wasm.js.gz +0 -0
- package/lib/umd/persisters/persister-expo-sqlite.js +1 -1
- package/lib/umd/persisters/persister-expo-sqlite.js.gz +0 -0
- package/lib/umd/persisters/persister-partykit-client.js +1 -0
- package/lib/umd/persisters/persister-partykit-client.js.gz +0 -0
- package/lib/umd/persisters/persister-partykit-server.js +1 -0
- package/lib/umd/persisters/persister-partykit-server.js.gz +0 -0
- package/lib/umd/persisters/persister-sqlite-wasm.js +1 -1
- package/lib/umd/persisters/persister-sqlite-wasm.js.gz +0 -0
- package/lib/umd/persisters/persister-sqlite3.js +1 -1
- package/lib/umd/persisters/persister-sqlite3.js.gz +0 -0
- package/lib/umd/store.js +1 -1
- package/lib/umd/store.js.gz +0 -0
- package/lib/umd/tinybase.js +1 -1
- package/lib/umd/tinybase.js.gz +0 -0
- package/lib/umd/tools.js +1 -1
- package/lib/umd/tools.js.gz +0 -0
- package/lib/umd/ui-react-dom-debug.js +1 -1
- package/lib/umd/ui-react-dom-debug.js.gz +0 -0
- package/lib/umd/ui-react-dom.js +1 -1
- package/lib/umd/ui-react-dom.js.gz +0 -0
- package/lib/umd/ui-react.js +1 -1
- package/lib/umd/ui-react.js.gz +0 -0
- package/lib/umd-es6/persisters/persister-cr-sqlite-wasm.js +1 -1
- package/lib/umd-es6/persisters/persister-cr-sqlite-wasm.js.gz +0 -0
- package/lib/umd-es6/persisters/persister-expo-sqlite.js +1 -1
- package/lib/umd-es6/persisters/persister-expo-sqlite.js.gz +0 -0
- package/lib/umd-es6/persisters/persister-partykit-client.js +1 -0
- package/lib/umd-es6/persisters/persister-partykit-client.js.gz +0 -0
- package/lib/umd-es6/persisters/persister-partykit-server.js +1 -0
- package/lib/umd-es6/persisters/persister-partykit-server.js.gz +0 -0
- package/lib/umd-es6/persisters/persister-sqlite-wasm.js +1 -1
- package/lib/umd-es6/persisters/persister-sqlite-wasm.js.gz +0 -0
- package/lib/umd-es6/persisters/persister-sqlite3.js +1 -1
- package/lib/umd-es6/persisters/persister-sqlite3.js.gz +0 -0
- package/lib/umd-es6/store.js +1 -1
- package/lib/umd-es6/store.js.gz +0 -0
- package/lib/umd-es6/tinybase.js +1 -1
- package/lib/umd-es6/tinybase.js.gz +0 -0
- package/lib/umd-es6/tools.js +1 -1
- package/lib/umd-es6/tools.js.gz +0 -0
- package/lib/umd-es6/ui-react-dom-debug.js +1 -1
- package/lib/umd-es6/ui-react-dom-debug.js.gz +0 -0
- package/lib/umd-es6/ui-react-dom.js +1 -1
- package/lib/umd-es6/ui-react-dom.js.gz +0 -0
- package/lib/umd-es6/ui-react.js +1 -1
- package/lib/umd-es6/ui-react.js.gz +0 -0
- package/package.json +42 -31
- package/readme.md +13 -13
|
@@ -84,6 +84,7 @@ import {
|
|
|
84
84
|
TableListener,
|
|
85
85
|
Tables,
|
|
86
86
|
TablesListener,
|
|
87
|
+
TransactionListener,
|
|
87
88
|
Value,
|
|
88
89
|
ValueIdsListener,
|
|
89
90
|
ValueListener,
|
|
@@ -4286,6 +4287,210 @@ export type WithSchemas<Schemas extends OptionalSchemas> = {
|
|
|
4286
4287
|
storeOrStoreId?: StoreOrStoreId<Schemas>,
|
|
4287
4288
|
) => void;
|
|
4288
4289
|
|
|
4290
|
+
/**
|
|
4291
|
+
* The useStartTransactionListener hook registers a listener function with the
|
|
4292
|
+
* Store that will be called at the start of a transaction.
|
|
4293
|
+
*
|
|
4294
|
+
* This has schema-based typing. The following is a simplified representation:
|
|
4295
|
+
*
|
|
4296
|
+
* ```ts override
|
|
4297
|
+
* useStartTransactionListener(
|
|
4298
|
+
* listener: TransactionListener,
|
|
4299
|
+
* listenerDeps?: React.DependencyList,
|
|
4300
|
+
* storeOrStoreId?: StoreOrStoreId,
|
|
4301
|
+
* ): void;
|
|
4302
|
+
* ```
|
|
4303
|
+
*
|
|
4304
|
+
* Unlike the addStartTransactionListener method, which returns a listener Id
|
|
4305
|
+
* and requires you to remove it manually, the useStartTransactionListener hook
|
|
4306
|
+
* manages this lifecycle for you: when the listener changes (per its
|
|
4307
|
+
* `listenerDeps` dependencies) or the component unmounts, the listener on the
|
|
4308
|
+
* underlying Store will be deleted.
|
|
4309
|
+
* @param listener The function that will be called at the start of a
|
|
4310
|
+
* transaction.
|
|
4311
|
+
* @param listenerDeps An optional array of dependencies for the `listener`
|
|
4312
|
+
* function, which, if any change, result in the re-registration of the
|
|
4313
|
+
* listener. This parameter defaults to an empty array.
|
|
4314
|
+
* @param storeOrStoreId The Store to register the listener with: omit for the
|
|
4315
|
+
* default context Store, provide an Id for a named context Store, or provide an
|
|
4316
|
+
* explicit reference.
|
|
4317
|
+
* @example
|
|
4318
|
+
* This example uses the useStartTransactionListener hook to create a listener
|
|
4319
|
+
* that is scoped to a single component. When the component is unmounted, the
|
|
4320
|
+
* listener is removed from the Store.
|
|
4321
|
+
*
|
|
4322
|
+
* ```jsx
|
|
4323
|
+
* const App = ({store}) => (
|
|
4324
|
+
* <Provider store={store}>
|
|
4325
|
+
* <Pane />
|
|
4326
|
+
* </Provider>
|
|
4327
|
+
* );
|
|
4328
|
+
* const Pane = () => {
|
|
4329
|
+
* useStartTransactionListener(() => console.log('Start transaction'));
|
|
4330
|
+
* return <span>App</span>;
|
|
4331
|
+
* };
|
|
4332
|
+
*
|
|
4333
|
+
* const store = createStore();
|
|
4334
|
+
* const app = document.createElement('div');
|
|
4335
|
+
* const root = ReactDOMClient.createRoot(app);
|
|
4336
|
+
* root.render(<App store={store} />); // !act
|
|
4337
|
+
* console.log(store.getListenerStats().transaction);
|
|
4338
|
+
* // -> 1
|
|
4339
|
+
*
|
|
4340
|
+
* store.setValue('open', false); // !act
|
|
4341
|
+
* // -> 'Start transaction'
|
|
4342
|
+
*
|
|
4343
|
+
* root.unmount(); // !act
|
|
4344
|
+
* console.log(store.getListenerStats().transaction);
|
|
4345
|
+
* // -> 0
|
|
4346
|
+
* ```
|
|
4347
|
+
* @category Store hooks
|
|
4348
|
+
* @since v4.2.2
|
|
4349
|
+
*/
|
|
4350
|
+
useStartTransactionListener: (
|
|
4351
|
+
listener: TransactionListener<Schemas>,
|
|
4352
|
+
listenerDeps?: React.DependencyList,
|
|
4353
|
+
storeOrStoreId?: StoreOrStoreId<Schemas>,
|
|
4354
|
+
) => void;
|
|
4355
|
+
|
|
4356
|
+
/**
|
|
4357
|
+
* The useWillFinishTransactionListener hook registers a listener function with
|
|
4358
|
+
* a Store that will be called just before other non-mutating listeners are
|
|
4359
|
+
* called at the end of the transaction.
|
|
4360
|
+
*
|
|
4361
|
+
* This has schema-based typing. The following is a simplified representation:
|
|
4362
|
+
*
|
|
4363
|
+
* ```ts override
|
|
4364
|
+
* useWillFinishTransactionListener(
|
|
4365
|
+
* listener: TransactionListener,
|
|
4366
|
+
* listenerDeps?: React.DependencyList,
|
|
4367
|
+
* storeOrStoreId?: StoreOrStoreId,
|
|
4368
|
+
* ): void;
|
|
4369
|
+
* ```
|
|
4370
|
+
*
|
|
4371
|
+
* Unlike the addWillFinisTransactionListener method, which returns a listener
|
|
4372
|
+
* Id and requires you to remove it manually, the
|
|
4373
|
+
* useWillFinishTransactionListener hook manages this lifecycle for you: when
|
|
4374
|
+
* the listener changes (per its `listenerDeps` dependencies) or the component
|
|
4375
|
+
* unmounts, the listener on the underlying Store will be deleted.
|
|
4376
|
+
* @param listener The function that will be called before the end of a
|
|
4377
|
+
* transaction.
|
|
4378
|
+
* @param listenerDeps An optional array of dependencies for the `listener`
|
|
4379
|
+
* function, which, if any change, result in the re-registration of the
|
|
4380
|
+
* listener. This parameter defaults to an empty array.
|
|
4381
|
+
* @param storeOrStoreId The Store to register the listener with: omit for the
|
|
4382
|
+
* default context Store, provide an Id for a named context Store, or provide an
|
|
4383
|
+
* explicit reference.
|
|
4384
|
+
* @example
|
|
4385
|
+
* This example uses the useWillFinishTransactionListener hook to create a
|
|
4386
|
+
* listener that is scoped to a single component. When the component is
|
|
4387
|
+
* unmounted, the listener is removed from the Store.
|
|
4388
|
+
*
|
|
4389
|
+
* ```jsx
|
|
4390
|
+
* const App = ({store}) => (
|
|
4391
|
+
* <Provider store={store}>
|
|
4392
|
+
* <Pane />
|
|
4393
|
+
* </Provider>
|
|
4394
|
+
* );
|
|
4395
|
+
* const Pane = () => {
|
|
4396
|
+
* useWillFinishTransactionListener(
|
|
4397
|
+
* () => console.log('Will finish transaction'),
|
|
4398
|
+
* );
|
|
4399
|
+
* return <span>App</span>;
|
|
4400
|
+
* };
|
|
4401
|
+
*
|
|
4402
|
+
* const store = createStore();
|
|
4403
|
+
* const app = document.createElement('div');
|
|
4404
|
+
* const root = ReactDOMClient.createRoot(app);
|
|
4405
|
+
* root.render(<App store={store} />); // !act
|
|
4406
|
+
* console.log(store.getListenerStats().transaction);
|
|
4407
|
+
* // -> 1
|
|
4408
|
+
*
|
|
4409
|
+
* store.setValue('open', false); // !act
|
|
4410
|
+
* // -> 'Will finish transaction'
|
|
4411
|
+
*
|
|
4412
|
+
* root.unmount(); // !act
|
|
4413
|
+
* console.log(store.getListenerStats().transaction);
|
|
4414
|
+
* // -> 0
|
|
4415
|
+
* ```
|
|
4416
|
+
* @category Store hooks
|
|
4417
|
+
* @since v4.2.2
|
|
4418
|
+
*/
|
|
4419
|
+
useWillFinishTransactionListener: (
|
|
4420
|
+
listener: TransactionListener<Schemas>,
|
|
4421
|
+
listenerDeps?: React.DependencyList,
|
|
4422
|
+
storeOrStoreId?: StoreOrStoreId<Schemas>,
|
|
4423
|
+
) => void;
|
|
4424
|
+
|
|
4425
|
+
/**
|
|
4426
|
+
* The useDidFinishTransactionListener hook registers a listener function with a
|
|
4427
|
+
* Store that will be called just after other non-mutating listeners are called
|
|
4428
|
+
* at the end of the transaction.
|
|
4429
|
+
*
|
|
4430
|
+
* This has schema-based typing. The following is a simplified representation:
|
|
4431
|
+
*
|
|
4432
|
+
* ```ts override
|
|
4433
|
+
* useDidFinishTransactionListener(
|
|
4434
|
+
* listener: TransactionListener,
|
|
4435
|
+
* listenerDeps?: React.DependencyList,
|
|
4436
|
+
* storeOrStoreId?: StoreOrStoreId,
|
|
4437
|
+
* ): void;
|
|
4438
|
+
* ```
|
|
4439
|
+
*
|
|
4440
|
+
* Unlike the addDidFinishTransactionListener method, which returns a listener
|
|
4441
|
+
* Id and requires you to remove it manually, the
|
|
4442
|
+
* useDidFinishTransactionListener hook manages this lifecycle for you: when the
|
|
4443
|
+
* listener changes (per its `listenerDeps` dependencies) or the component
|
|
4444
|
+
* unmounts, the listener on the underlying Store will be deleted.
|
|
4445
|
+
* @param listener The function that will be called after the end of a
|
|
4446
|
+
* transaction.
|
|
4447
|
+
* @param listenerDeps An optional array of dependencies for the `listener`
|
|
4448
|
+
* function, which, if any change, result in the re-registration of the
|
|
4449
|
+
* listener. This parameter defaults to an empty array.
|
|
4450
|
+
* @param storeOrStoreId The Store to register the listener with: omit for the
|
|
4451
|
+
* default context Store, provide an Id for a named context Store, or provide an
|
|
4452
|
+
* explicit reference.
|
|
4453
|
+
* @example
|
|
4454
|
+
* This example uses the useDidFinishTransactionListener hook to create a
|
|
4455
|
+
* listener that is scoped to a single component. When the component is
|
|
4456
|
+
* unmounted, the listener is removed from the Store.
|
|
4457
|
+
*
|
|
4458
|
+
* ```jsx
|
|
4459
|
+
* const App = ({store}) => (
|
|
4460
|
+
* <Provider store={store}>
|
|
4461
|
+
* <Pane />
|
|
4462
|
+
* </Provider>
|
|
4463
|
+
* );
|
|
4464
|
+
* const Pane = () => {
|
|
4465
|
+
* useDidFinishTransactionListener(
|
|
4466
|
+
* () => console.log('Did finish transaction'),
|
|
4467
|
+
* );
|
|
4468
|
+
* return <span>App</span>;
|
|
4469
|
+
* };
|
|
4470
|
+
*
|
|
4471
|
+
* const store = createStore();
|
|
4472
|
+
* const app = document.createElement('div');
|
|
4473
|
+
* const root = ReactDOMClient.createRoot(app);
|
|
4474
|
+
* root.render(<App store={store} />); // !act
|
|
4475
|
+
* console.log(store.getListenerStats().transaction);
|
|
4476
|
+
* // -> 1
|
|
4477
|
+
*
|
|
4478
|
+
* store.setValue('open', false); // !act
|
|
4479
|
+
* // -> 'Did finish transaction'
|
|
4480
|
+
*
|
|
4481
|
+
* root.unmount(); // !act
|
|
4482
|
+
* console.log(store.getListenerStats().transaction);
|
|
4483
|
+
* // -> 0
|
|
4484
|
+
* ```
|
|
4485
|
+
* @category Store hooks
|
|
4486
|
+
* @since v4.2.2
|
|
4487
|
+
*/
|
|
4488
|
+
useDidFinishTransactionListener: (
|
|
4489
|
+
listener: TransactionListener<Schemas>,
|
|
4490
|
+
listenerDeps?: React.DependencyList,
|
|
4491
|
+
storeOrStoreId?: StoreOrStoreId<Schemas>,
|
|
4492
|
+
) => void;
|
|
4493
|
+
|
|
4289
4494
|
/**
|
|
4290
4495
|
* The useCreateMetrics hook is used to create a Metrics object within a React
|
|
4291
4496
|
* application with convenient memoization.
|
|
@@ -9909,13 +10114,15 @@ export type WithSchemas<Schemas extends OptionalSchemas> = {
|
|
|
9909
10114
|
* This has schema-based typing. The following is a simplified representation:
|
|
9910
10115
|
*
|
|
9911
10116
|
* ```ts override
|
|
9912
|
-
* useCreatePersister
|
|
10117
|
+
* useCreatePersister<
|
|
10118
|
+
* PersisterOrUndefined extends Persister | undefined,
|
|
10119
|
+
* >(
|
|
9913
10120
|
* store: Store,
|
|
9914
|
-
* create: (store: Store) =>
|
|
10121
|
+
* create: (store: Store) => PersisterOrUndefined,
|
|
9915
10122
|
* createDeps?: React.DependencyList,
|
|
9916
|
-
* then?: (persister:
|
|
10123
|
+
* then?: (persister: PersisterOrUndefined) => Promise<void>,
|
|
9917
10124
|
* thenDeps?: React.DependencyList,
|
|
9918
|
-
* ):
|
|
10125
|
+
* ): PersisterOrUndefined;
|
|
9919
10126
|
* ```
|
|
9920
10127
|
*
|
|
9921
10128
|
* It is possible to create a Persister outside of the React app with the
|
|
@@ -9940,6 +10147,12 @@ export type WithSchemas<Schemas extends OptionalSchemas> = {
|
|
|
9940
10147
|
* an array in the fifth parameter. The Persister itself is used as a dependency
|
|
9941
10148
|
* by default.
|
|
9942
10149
|
*
|
|
10150
|
+
* Since v4.3.0, the `create` function can return undefined, meaning that you
|
|
10151
|
+
* can enable or disable persistence conditionally within this hook. This is
|
|
10152
|
+
* useful for applications which might turn on or off their cloud persistence or
|
|
10153
|
+
* collaboration features. As a result, the `then` callback may also get passed
|
|
10154
|
+
* undefined, which you should handle accordingly.
|
|
10155
|
+
*
|
|
9943
10156
|
* This hook ensures the Persister object is destroyed whenever a new one is
|
|
9944
10157
|
* created or the component is unmounted.
|
|
9945
10158
|
* @param store A reference to the Store for which to create a new Persister
|
|
@@ -10050,13 +10263,15 @@ export type WithSchemas<Schemas extends OptionalSchemas> = {
|
|
|
10050
10263
|
* ```
|
|
10051
10264
|
* @category Persister hooks
|
|
10052
10265
|
*/
|
|
10053
|
-
useCreatePersister:
|
|
10266
|
+
useCreatePersister: <
|
|
10267
|
+
PersisterOrUndefined extends Persister<Schemas> | undefined,
|
|
10268
|
+
>(
|
|
10054
10269
|
store: Store<Schemas>,
|
|
10055
|
-
create: (store: Store<Schemas>) =>
|
|
10270
|
+
create: (store: Store<Schemas>) => PersisterOrUndefined,
|
|
10056
10271
|
createDeps?: React.DependencyList,
|
|
10057
|
-
then?: (persister
|
|
10272
|
+
then?: (persister?: PersisterOrUndefined) => Promise<void>,
|
|
10058
10273
|
thenDeps?: React.DependencyList,
|
|
10059
|
-
) =>
|
|
10274
|
+
) => PersisterOrUndefined;
|
|
10060
10275
|
|
|
10061
10276
|
/**
|
|
10062
10277
|
* The ExtraProps type represents a set of arbitrary additional props.
|
package/lib/ui-react-dom.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import e from"react";import{useRowIds as t,useTableCellIds as l,useRowCount as a,useSortedRowIds as n,useValueIds as o,ValueView as r,useIndexesOrIndexesById as i,useSliceRowIds as s,useRelationshipsOrRelationshipsById as d,useResultRowIds as m,useResultTableCellIds as u,useResultRowCount as h,useResultSortedRowIds as c,useCell as g,useSetCellCallback as b,useStoreOrStoreById as p,useValue as f,useSetValueCallback as w,useRemoteRowId as k,CellView as v,ResultCellView as y}from"./ui-react";const C=e=>typeof e,x=C(""),I=C(!0),N=C(0),z="Value",M="currentTarget",$="value",S=isFinite,T=e=>null==e,{PureComponent:R,Fragment:q,createElement:F,useCallback:P,useLayoutEffect:E,useRef:O,useState:V}=e,j=(e,...t)=>T(e)?{}:e(...t),A=(e,t)=>e.map(t),B=Object,L=(e=[])=>B.fromEntries(e),D=(e,t)=>A(B.entries(e),(([e,l])=>t(l,e))),G="M20 80l5-15l40-40l10 10l-40 40l-15 5m5-15l10 10",H='content:url("',J=H+"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100' stroke-width='4' stroke='white' fill='none'>",K='</svg>")',Q=H+"data:image/svg+xml,%3csvg viewBox='0 0 680 680' xmlns='http://www.w3.org/2000/svg' style='width:680px%3bheight:680px'%3e %3cpath stroke='white' stroke-width='80' fill='none' d='M340 617a84 241 90 11.01 0zM131 475a94 254 70 10428-124 114 286 70 01-428 124zm0-140a94 254 70 10428-124 114 286 70 01-428 124zm-12-127a94 254 70 00306 38 90 260 90 01-306-38zm221 3a74 241 90 11.01 0z' /%3e %3cpath fill='%23d81b60' d='M131 475a94 254 70 10428-124 114 286 70 01-428 124zm0-140a94 254 70 10428-124 114 286 70 01-428 124z' /%3e %3cpath d='M249 619a94 240 90 00308-128 114 289 70 01-308 128zM119 208a94 254 70 00306 38 90 260 90 01-306-38zm221 3a74 241 90 11.01 0z' /%3e%3c/svg%3e\")",U=A([[20,20,20,60],[20,20,60,20],[20,60,60,20],[60,20,20,60],[30,30,40,40]],(([e,t,l,a])=>J+`<rect x='20' y='20' width='60' height='60' fill='grey'/><rect x='${e}' y='${t}' width='${l}' height='${a}' fill='white'/>`+K)),W=J+"<path d='M20 20l60 60M20 80l60-60' />"+K,X=J+`<path d='${G}' />`+K,Y=J+`<path d='${G}M20 20l60 60' />`+K,Z="*::-webkit-scrollbar";((e,t="")=>{e.join(t)})(D({"*":"all:revert","*::before":"all:revert","*::after":"all:revert",[Z]:"width:0.5rem;height:0.5rem;",[Z+"-track"]:"background:#111",[Z+"-thumb"]:"background:#999;border:1px solid #111",[Z+"-thumb:hover"]:"background:#fff",[Z+"-corner"]:"background:#111",img:"width:1rem;height:1rem;background:#111;border:0;vertical-align:text-bottom",">img":"padding:0.25rem;bottom:0;right:0;position:fixed;"+Q,...L(A(["bottom:0;left:0","top:0;right:0"],((e,t)=>[`>img[data-position='${t}']`,e]))),main:"display:flex;flex-direction:column;background:#111d;color:#fff;position:fixed;",...L(A(["bottom:0;left:0;width:35vw;height:100vh","top:0;right:0;width:100vw;height:30vh","bottom:0;left:0;width:100vw;height:30vh","top:0;right:0;width:35vw;height:100vh","top:0;right:0;width:100vw;height:100vh"],((e,t)=>[`main[data-position='${t}']`,e]))),header:"display:flex;padding:0.25rem;background:#000;align-items:center","header>img:nth-of-type(1)":Q,"header>img:nth-of-type(6)":W,...L(A(U,((e,t)=>[`header>img[data-id='${t}']`,e]))),"header>span":"flex:1;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;margin-left:0.25rem",article:"padding:0.25rem 0.25rem 0.25rem 0.5rem;overflow:auto;flex:1",details:"margin-left:0.75rem;width:fit-content;","details img":"display:none","details[open]>summary img":"display:unset;background:none;margin-left:0.25rem","details[open]>summary img.edit":X,"details[open]>summary img.done":Y,summary:"margin-left:-0.75rem;line-height:1.25rem;user-select:none;width:fit-content",table:"border-collapse:collapse;table-layout:fixed;margin-bottom:0.5rem","table input":"background:#111;color:unset;padding:0 0.25rem;border:0;font-size:unset;vertical-align:top;margin:0",'table input[type="number"]':"width:4rem","table tbody button":"font-size:0;background:#fff;border-radius:50%;margin:0 0.125rem 0 0;width:0.85rem;color:#111","table button:first-letter":"font-size:0.75rem",thead:"background:#222","th:nth-of-type(1)":"min-width:2rem;","th.sorted":"background:#000","table caption":"text-align:left;white-space:nowrap;line-height:1.25rem",button:"width:1.5rem;border:none;background:none;color:#fff;padding:0","button[disabled]":"color:#777","button.next":"margin-right:0.5rem","th,td":"overflow:hidden;text-overflow:ellipsis;padding:0.25rem 0.5rem;max-width:12rem;white-space:nowrap;border-width:1px 0;border-style:solid;border-color:#777;text-align:left","span.warn":"margin:0.25rem;color:#d81b60"},((e,t)=>e?`& ${t}{${e}}`:"")));const _=(e,t,l,a)=>e==x?t:e==N?l:a,{useCallback:ee,useMemo:te,useState:le}=e,ae="editable",ne=(e,t)=>A(l(e,t),(t=>e+"."+t)),oe=(e,t,l)=>{const a=ee(e,t);return l?a:void 0},re=(...e)=>te((()=>e),e),ie=(e,t)=>te((()=>({store:e,tableId:t})),[e,t]),se=(e,t)=>te((()=>({queries:e,queryId:t})),[e,t]),de=(e,t=!1,l,a=0,n,o,r,i)=>{const[[s,d,m],u]=le([e,t,a]),h=ee((e=>{u(e),i?.(e)}),[i]),c=oe((e=>h([e,e==s&&!d,m])),[h,s,d,m],l),g=ee((e=>h([s,d,e])),[h,s,d]),b=!0===r?Ie:r;return[[s,d,m],c,te((()=>!1===r?null:F(b,{offset:m,limit:n,total:o,onChange:g})),[r,b,m,n,o,g])]},me=(e,t,l)=>te((()=>{const a=t??e;return L(D(Array.isArray(a)?L(A(a,(e=>[e,e]))):a,((e,t)=>{return[t,{label:t,component:l,...(a=e,C(a)==x?{label:e}:e)}];var a})))}),[t,l,e]),ue=({className:e,headerRow:t,idColumn:l,params:[a,n,o,r,i,s]})=>F("table",{className:e},s?F("caption",null,s):null,!1===t?null:F("thead",null,F("tr",null,!1===l?null:F(he,{sort:r??[],label:"Id",onClick:i}),D(a,(({label:e},t)=>F(he,{key:t,cellId:t,label:e,sort:r??[],onClick:i}))))),F("tbody",null,A(o,(e=>F("tr",{key:e},!1===l?null:F("th",null,e),D(a,(({component:t,getComponentProps:l},a)=>F("td",{key:a},F(t,{...j(l,e,a),...n,rowId:e,cellId:a}))))))))),he=({cellId:e,sort:[t,l],label:a=e??"",onClick:n})=>F("th",{onClick:oe((()=>n?.(e)),[n,e],n),className:T(l)||t!=e?void 0:`sorted ${l?"de":"a"}scending`},T(l)||t!=e?null:(l?"↓":"↑")+" ",a),ce=({localRowId:t,params:[l,a,n,o,r,i,s]})=>{const d=k(r,t,i);return F("tr",null,!1===l?null:F(e.Fragment,null,F("th",null,t),F("th",null,d)),D(a,(({component:e,getComponentProps:l},a)=>{const[r,i]=a.split(".",2),m=r===n?t:r===o?d:null;return T(m)?null:F("td",{key:a},F(e,{...j(l,m,i),store:s,tableId:r,rowId:m,cellId:i}))})))},ge=({thing:e,onThingChange:t,className:l,hasSchema:a})=>{const[n,o]=le(),[r,i]=le(),[s,d]=le(),[m,u]=le(),[h,c]=le();r!==e&&(o((e=>{const t=C(e);return(e=>e==x||e==I)(t)||t==N&&S(e)?t:void 0})(e)),i(e),d(e+""),u(Number(e)||0),c(!!e));const g=ee(((e,l)=>{l(e),i(e),t(e)}),[t]);return F("div",{className:l},F("button",{className:n,onClick:ee((()=>{if(!a?.()){const e=_(n,N,I,x),l=_(e,s,m,h);o(e),i(l),t(l)}}),[a,t,s,m,h,n])},n),_(n,F("input",{key:n,value:s,onChange:ee((e=>g(e[M][$]+"",d)),[g])}),F("input",{key:n,type:"number",value:m,onChange:ee((e=>g(Number(e[M][$]||0),u)),[g])}),F("input",{key:n,type:"checkbox",checked:h,onChange:ee((e=>g(!!e[M].checked,c)),[g])})))},be=({tableId:e,store:a,editable:n,customCells:o,...r})=>F(ue,{...r,params:re(me(l(e,a),o,n?Ce:v),ie(a,e),t(e,a))}),pe=({tableId:e,cellId:t,descending:o,offset:r,limit:i,store:s,editable:d,sortOnClick:m,paginator:u=!1,onChange:h,customCells:c,...g})=>{const[b,p,f]=de(t,o,m,r,i,a(e,s),u,h);return F(ue,{...g,params:re(me(l(e,s),c,d?Ce:v),ie(s,e),n(e,...b,i,s),b,p,f)})},fe=({store:e,editable:t=!1,valueComponent:l=(t?xe:r),getValueComponentProps:a,className:n,headerRow:i,idColumn:s})=>F("table",{className:n},!1===i?null:F("thead",null,F("tr",null,!1===s?null:F("th",null,"Id"),F("th",null,z))),F("tbody",null,A(o(e),(t=>F("tr",{key:t},!1===s?null:F("th",null,t),F("td",null,F(l,{...j(a,t),valueId:t,store:e}))))))),we=({indexId:e,sliceId:t,indexes:a,editable:n,customCells:o,...r})=>{const[d,m,u]=((e,t)=>[e,e?.getStore(),e?.getTableId(t)])(i(a),e);return F(ue,{...r,params:re(me(l(u,m),o,n?Ce:v),ie(m,u),s(e,t,d))})},ke=({relationshipId:l,relationships:a,editable:n,customCells:o,className:r,headerRow:i,idColumn:s=!0})=>{const[m,u,h,c]=((e,t)=>[e,e?.getStore(),e?.getLocalTableId(t),e?.getRemoteTableId(t)])(d(a),l),g=me([...ne(h,u),...ne(c,u)],o,n?Ce:v),b=re(s,g,h,c,l,m,u);return F("table",{className:r},!1===i?null:F("thead",null,F("tr",null,!1===s?null:F(e.Fragment,null,F("th",null,h,".Id"),F("th",null,c,".Id")),D(g,(({label:e},t)=>F("th",{key:t},e))))),F("tbody",null,A(t(h,u),(e=>F(ce,{key:e,localRowId:e,params:b})))))},ve=({queryId:e,queries:t,customCells:l,...a})=>F(ue,{...a,params:re(me(u(e,t),l,y),se(t,e),m(e,t))}),ye=({queryId:e,cellId:t,descending:l,offset:a,limit:n,queries:o,sortOnClick:r,paginator:i=!1,customCells:s,onChange:d,...m})=>{const[g,b,p]=de(t,l,r,a,n,h(e,o),i,d);return F(ue,{...m,params:re(me(u(e,o),s,y),se(o,e),c(e,...g,n,o),g,b,p)})},Ce=({tableId:e,rowId:t,cellId:l,store:a,className:n})=>F(ge,{thing:g(e,t,l,a),onThingChange:b(e,t,l,(e=>e),[],a),className:n??ae+"Cell",hasSchema:p(a)?.hasTablesSchema}),xe=({valueId:e,store:t,className:l})=>F(ge,{thing:f(e,t),onThingChange:w(e,(e=>e),[],t),className:l??ae+z,hasSchema:p(t)?.hasValuesSchema}),Ie=({onChange:t,total:l,offset:a=0,limit:n=l,singular:o="row",plural:r=o+"s"})=>{(a>l||a<0)&&(a=0,t(0));const i=oe((()=>t(a-n)),[t,a,n],a>0),s=oe((()=>t(a+n)),[t,a,n],a+n<l);return F(e.Fragment,null,l>n&&F(e.Fragment,null,F("button",{className:"previous",disabled:0==a,onClick:i},"←"),F("button",{className:"next",disabled:a+n>=l,onClick:s},"→"),a+1," to ",Math.min(l,a+n)," of "),l," ",1!=l?r:o)},Ne=e=>new Map(e);Ne(),Ne();const ze=e=>null;export{Ce as EditableCellView,xe as EditableValueView,ke as RelationshipInHtmlTable,ye as ResultSortedTableInHtmlTable,ve as ResultTableInHtmlTable,we as SliceInHtmlTable,pe as SortedTableInHtmlTable,Ie as SortedTablePaginator,ze as StoreInspector,be as TableInHtmlTable,fe as ValuesInHtmlTable};
|
|
1
|
+
import e from"react";import{useRowIds as t,useTableCellIds as l,useRowCount as a,useSortedRowIds as n,useValueIds as o,ValueView as r,useIndexesOrIndexesById as i,useSliceRowIds as s,useRelationshipsOrRelationshipsById as d,useResultRowIds as m,useResultTableCellIds as c,useResultRowCount as h,useResultSortedRowIds as u,useCell as g,useSetCellCallback as p,useStoreOrStoreById as b,useValue as f,useSetValueCallback as w,useRemoteRowId as k,CellView as v,ResultCellView as y}from"./ui-react";const C=e=>typeof e,x=C(""),I=C(!0),N=C(0),z="Value",M="currentTarget",$="value",S=isFinite,T=e=>null==e,{PureComponent:F,Fragment:R,createElement:q,useCallback:E,useLayoutEffect:P,useRef:O,useState:V}=e,j=(e,...t)=>T(e)?{}:e(...t),A=(e,t)=>e.map(t),B=Object,D=(e=[])=>B.fromEntries(e),L=(e,t)=>A(B.entries(e),(([e,l])=>t(l,e))),G="M20 80l5-15l40-40l10 10l-40 40l-15 5m5-15l10 10",H='content:url("',J=H+"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100' stroke-width='4' stroke='white' fill='none'>",K='</svg>")',Q=H+"data:image/svg+xml,%3csvg viewBox='0 0 680 680' xmlns='http://www.w3.org/2000/svg' style='width:680px%3bheight:680px'%3e %3cpath stroke='white' stroke-width='80' fill='none' d='M340 617a84 241 90 11.01 0zM131 475a94 254 70 10428-124 114 286 70 01-428 124zm0-140a94 254 70 10428-124 114 286 70 01-428 124zm-12-127a94 254 70 00306 38 90 260 90 01-306-38zm221 3a74 241 90 11.01 0z' /%3e %3cpath fill='%23d81b60' d='M131 475a94 254 70 10428-124 114 286 70 01-428 124zm0-140a94 254 70 10428-124 114 286 70 01-428 124z' /%3e %3cpath d='M249 619a94 240 90 00308-128 114 289 70 01-308 128zM119 208a94 254 70 00306 38 90 260 90 01-306-38zm221 3a74 241 90 11.01 0z' /%3e%3c/svg%3e\")",U=A([[20,20,20,60],[20,20,60,20],[20,60,60,20],[60,20,20,60],[30,30,40,40]],(([e,t,l,a])=>J+`<rect x='20' y='20' width='60' height='60' fill='grey'/><rect x='${e}' y='${t}' width='${l}' height='${a}' fill='white'/>`+K)),W=J+"<path d='M20 20l60 60M20 80l60-60' />"+K,X=J+`<path d='${G}' />`+K,Y=J+`<path d='${G}M20 20l60 60' />`+K,Z="*::-webkit-scrollbar";((e,t="")=>{e.join(t)})(L({"*":"all:revert","*::before":"all:revert","*::after":"all:revert",[Z]:"width:0.5rem;height:0.5rem;",[Z+"-track"]:"background:#111",[Z+"-thumb"]:"background:#999;border:1px solid #111",[Z+"-thumb:hover"]:"background:#fff",[Z+"-corner"]:"background:#111",img:"width:1rem;height:1rem;background:#111;border:0;vertical-align:text-bottom",">img":"padding:0.25rem;bottom:0;right:0;position:fixed;"+Q,...D(A(["bottom:0;left:0","top:0;right:0"],((e,t)=>[`>img[data-position='${t}']`,e]))),main:"display:flex;flex-direction:column;background:#111d;color:#fff;position:fixed;",...D(A(["bottom:0;left:0;width:35vw;height:100vh","top:0;right:0;width:100vw;height:30vh","bottom:0;left:0;width:100vw;height:30vh","top:0;right:0;width:35vw;height:100vh","top:0;right:0;width:100vw;height:100vh"],((e,t)=>[`main[data-position='${t}']`,e]))),header:"display:flex;padding:0.25rem;background:#000;align-items:center","header>img:nth-of-type(1)":Q,"header>img:nth-of-type(6)":W,...D(A(U,((e,t)=>[`header>img[data-id='${t}']`,e]))),"header>span":"flex:1;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;margin-left:0.25rem",article:"padding:0.25rem 0.25rem 0.25rem 0.5rem;overflow:auto;flex:1",details:"margin-left:0.75rem;width:fit-content;","details img":"display:none","details[open]>summary img":"display:unset;background:none;margin-left:0.25rem","details[open]>summary img.edit":X,"details[open]>summary img.done":Y,summary:"margin-left:-0.75rem;line-height:1.25rem;user-select:none;width:fit-content",table:"border-collapse:collapse;table-layout:fixed;margin-bottom:0.5rem","table input":"background:#111;color:unset;padding:0 0.25rem;border:0;font-size:unset;vertical-align:top;margin:0",'table input[type="number"]':"width:4rem","table tbody button":"font-size:0;background:#fff;border-radius:50%;margin:0 0.125rem 0 0;width:0.85rem;color:#111","table button:first-letter":"font-size:0.75rem",thead:"background:#222","th:nth-of-type(1)":"min-width:2rem;","th.sorted":"background:#000","table caption":"text-align:left;white-space:nowrap;line-height:1.25rem",button:"width:1.5rem;border:none;background:none;color:#fff;padding:0","button[disabled]":"color:#777","button.next":"margin-right:0.5rem","th,td":"overflow:hidden;text-overflow:ellipsis;padding:0.25rem 0.5rem;max-width:12rem;white-space:nowrap;border-width:1px 0;border-style:solid;border-color:#777;text-align:left","span.warn":"margin:0.25rem;color:#d81b60"},((e,t)=>e?`& ${t}{${e}}`:"")));const _=(e,t,l,a)=>e==x?t:e==N?l:a,{useCallback:ee,useMemo:te,useState:le}=e,ae="editable",ne=(e,t)=>A(l(e,t),(t=>e+"."+t)),oe=(e,t,l)=>{const a=ee(e,t);return l?a:void 0},re=(...e)=>te((()=>e),e),ie=(e,t)=>te((()=>({store:e,tableId:t})),[e,t]),se=(e,t)=>te((()=>({queries:e,queryId:t})),[e,t]),de=(e,t=!1,l,a=0,n,o,r,i)=>{const[[s,d,m],c]=le([e,t,a]),h=ee((e=>{c(e),i?.(e)}),[i]),u=oe((e=>h([e,e==s&&!d,m])),[h,s,d,m],l),g=ee((e=>h([s,d,e])),[h,s,d]),p=!0===r?Ie:r;return[[s,d,m],u,te((()=>!1===r?null:q(p,{offset:m,limit:n,total:o,onChange:g})),[r,p,m,n,o,g])]},me=(e,t,l)=>te((()=>{const a=t??e;return D(L(Array.isArray(a)?D(A(a,(e=>[e,e]))):a,((e,t)=>{return[t,{label:t,component:l,...(a=e,C(a)==x?{label:e}:e)}];var a})))}),[t,l,e]),ce=({className:e,headerRow:t,idColumn:l,params:[a,n,o,r,i,s]})=>q("table",{className:e},s?q("caption",null,s):null,!1===t?null:q("thead",null,q("tr",null,!1===l?null:q(he,{sort:r??[],label:"Id",onClick:i}),L(a,(({label:e},t)=>q(he,{key:t,cellId:t,label:e,sort:r??[],onClick:i}))))),q("tbody",null,A(o,(e=>q("tr",{key:e},!1===l?null:q("th",null,e),L(a,(({component:t,getComponentProps:l},a)=>q("td",{key:a},q(t,{...j(l,e,a),...n,rowId:e,cellId:a}))))))))),he=({cellId:e,sort:[t,l],label:a=e??"",onClick:n})=>q("th",{onClick:oe((()=>n?.(e)),[n,e],n),className:T(l)||t!=e?void 0:`sorted ${l?"de":"a"}scending`},T(l)||t!=e?null:(l?"↓":"↑")+" ",a),ue=({localRowId:t,params:[l,a,n,o,r,i,s]})=>{const d=k(r,t,i);return q("tr",null,!1===l?null:q(e.Fragment,null,q("th",null,t),q("th",null,d)),L(a,(({component:e,getComponentProps:l},a)=>{const[r,i]=a.split(".",2),m=r===n?t:r===o?d:null;return T(m)?null:q("td",{key:a},q(e,{...j(l,m,i),store:s,tableId:r,rowId:m,cellId:i}))})))},ge=({thing:e,onThingChange:t,className:l,hasSchema:a})=>{const[n,o]=le(),[r,i]=le(),[s,d]=le(),[m,c]=le(),[h,u]=le();r!==e&&(o((e=>{const t=C(e);return(e=>e==x||e==I)(t)||t==N&&S(e)?t:void 0})(e)),i(e),d(e+""),c(Number(e)||0),u(!!e));const g=ee(((e,l)=>{l(e),i(e),t(e)}),[t]);return q("div",{className:l},q("button",{className:n,onClick:ee((()=>{if(!a?.()){const e=_(n,N,I,x),l=_(e,s,m,h);o(e),i(l),t(l)}}),[a,t,s,m,h,n])},n),_(n,q("input",{key:n,value:s,onChange:ee((e=>g(e[M][$]+"",d)),[g])}),q("input",{key:n,type:"number",value:m,onChange:ee((e=>g(Number(e[M][$]||0),c)),[g])}),q("input",{key:n,type:"checkbox",checked:h,onChange:ee((e=>g(!!e[M].checked,u)),[g])})))},pe=({tableId:e,store:a,editable:n,customCells:o,...r})=>q(ce,{...r,params:re(me(l(e,a),o,n?Ce:v),ie(a,e),t(e,a))}),be=({tableId:e,cellId:t,descending:o,offset:r,limit:i,store:s,editable:d,sortOnClick:m,paginator:c=!1,onChange:h,customCells:u,...g})=>{const[p,b,f]=de(t,o,m,r,i,a(e,s),c,h);return q(ce,{...g,params:re(me(l(e,s),u,d?Ce:v),ie(s,e),n(e,...p,i,s),p,b,f)})},fe=({store:e,editable:t=!1,valueComponent:l=(t?xe:r),getValueComponentProps:a,className:n,headerRow:i,idColumn:s})=>q("table",{className:n},!1===i?null:q("thead",null,q("tr",null,!1===s?null:q("th",null,"Id"),q("th",null,z))),q("tbody",null,A(o(e),(t=>q("tr",{key:t},!1===s?null:q("th",null,t),q("td",null,q(l,{...j(a,t),valueId:t,store:e}))))))),we=({indexId:e,sliceId:t,indexes:a,editable:n,customCells:o,...r})=>{const[d,m,c]=((e,t)=>[e,e?.getStore(),e?.getTableId(t)])(i(a),e);return q(ce,{...r,params:re(me(l(c,m),o,n?Ce:v),ie(m,c),s(e,t,d))})},ke=({relationshipId:l,relationships:a,editable:n,customCells:o,className:r,headerRow:i,idColumn:s=!0})=>{const[m,c,h,u]=((e,t)=>[e,e?.getStore(),e?.getLocalTableId(t),e?.getRemoteTableId(t)])(d(a),l),g=me([...ne(h,c),...ne(u,c)],o,n?Ce:v),p=re(s,g,h,u,l,m,c);return q("table",{className:r},!1===i?null:q("thead",null,q("tr",null,!1===s?null:q(e.Fragment,null,q("th",null,h,".Id"),q("th",null,u,".Id")),L(g,(({label:e},t)=>q("th",{key:t},e))))),q("tbody",null,A(t(h,c),(e=>q(ue,{key:e,localRowId:e,params:p})))))},ve=({queryId:e,queries:t,customCells:l,...a})=>q(ce,{...a,params:re(me(c(e,t),l,y),se(t,e),m(e,t))}),ye=({queryId:e,cellId:t,descending:l,offset:a,limit:n,queries:o,sortOnClick:r,paginator:i=!1,customCells:s,onChange:d,...m})=>{const[g,p,b]=de(t,l,r,a,n,h(e,o),i,d);return q(ce,{...m,params:re(me(c(e,o),s,y),se(o,e),u(e,...g,n,o),g,p,b)})},Ce=({tableId:e,rowId:t,cellId:l,store:a,className:n})=>q(ge,{thing:g(e,t,l,a),onThingChange:p(e,t,l,(e=>e),[],a),className:n??ae+"Cell",hasSchema:b(a)?.hasTablesSchema}),xe=({valueId:e,store:t,className:l})=>q(ge,{thing:f(e,t),onThingChange:w(e,(e=>e),[],t),className:l??ae+z,hasSchema:b(t)?.hasValuesSchema}),Ie=({onChange:t,total:l,offset:a=0,limit:n=l,singular:o="row",plural:r=o+"s"})=>{(a>l||a<0)&&(a=0,t(0));const i=oe((()=>t(a-n)),[t,a,n],a>0),s=oe((()=>t(a+n)),[t,a,n],a+n<l);return q(e.Fragment,null,l>n&&q(e.Fragment,null,q("button",{className:"previous",disabled:0==a,onClick:i},"←"),q("button",{className:"next",disabled:a+n>=l,onClick:s},"→"),a+1," to ",Math.min(l,a+n)," of "),l," ",1!=l?r:o)};class Ne extends F{constructor(e){super(e),this.componentDidCatch=(e,t)=>console.error(e,t.componentStack),this.state={e:0}}static{this.getDerivedStateFromError=()=>({e:1})}render(){return this.state.e?q("span",{className:"warn"},"Inspector error: please see console for details."):this.props.children}}const ze=e=>new Map(e);ze(),ze();const Me=e=>null;export{Ce as EditableCellView,xe as EditableValueView,ke as RelationshipInHtmlTable,ye as ResultSortedTableInHtmlTable,ve as ResultTableInHtmlTable,we as SliceInHtmlTable,be as SortedTableInHtmlTable,Ie as SortedTablePaginator,Me as StoreInspector,pe as TableInHtmlTable,fe as ValuesInHtmlTable};
|
package/lib/ui-react-dom.js.gz
CHANGED
|
Binary file
|
package/lib/ui-react.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import e,{useContext as t}from"react";const o=e=>typeof e,s="",r=o(s),d="Result",n="Ids",I="Table",u=I+"s",l=I+n,i="Row",c=i+"Count",a=i+n,p="Sorted"+i+n,g="Cell",b=g+n,C="Value",m=C+"s",k=C+n,y=e=>null==e,w=(e,t,o)=>y(e)?o?.():t(e),h=e=>o(e)==r,R=()=>{},v=(e,t)=>e.map(t),q=Object.keys,{createContext:P,useContext:f}=e,x=P([]),S=(e,t)=>{const o=f(x);return y(e)?o[t]:h(e)?((e,t)=>w(e,(e=>e[t])))(o[t+1]??{},e):e},L=(e,t)=>{const o=S(e,t);return y(e)||h(e)?o:e},B=e=>q(f(x)[e]??{}),T=e=>S(e,0),M=e=>L(e,0),E=e=>S(e,2),V=e=>L(e,2),A=e=>S(e,4),F=e=>L(e,4),j=e=>S(e,6),O=e=>L(e,6),Q=e=>S(e,8),z=e=>L(e,8),D=e=>S(e,10),G=e=>L(e,10),{useCallback:H,useEffect:J,useMemo:K,useRef:N,useState:U}=e,W=(e,t,o=[])=>{const s=K((()=>t(e)),[e,...o]);return J((()=>()=>s.destroy()),[s]),s},X=(e,t,o,s=[],r)=>{const[,d]=U(),n=H((()=>t?.["get"+e]?.(...s)??o),[t,...s]),[I]=U(n),u=N(I);return K((()=>u.current=n()),[n]),Y(e,t,((...e)=>{u.current=y(r)?n():e[r],d([])}),[],s),u.current},Y=(e,t,o,s=[],r=[],...d)=>J((()=>{const s=t?.["add"+e+"Listener"]?.(...r,o,...d);return()=>t?.delListener(s)}),[t,...r,...s,...d]),Z=(e,t,o,s=[],r=R,d=[],...n)=>{const I=M(e);return H((e=>w(I,(s=>w(o(e,s),(e=>r(s["set"+t](...n,e),e)))))),[I,t,...s,...d,...n])},$=(e,t,o=R,s=[],...r)=>{const d=M(e);return H((()=>o(d?.["del"+t](...r))),[d,t,...s,...r])},_=(e,t,o)=>{const s=G(e);return H((()=>s?.[t](o)),[s,t,o])},ee=(e,t=[])=>K(e,t),te=()=>B(1),oe=e=>X(u,M(e),{}),se=e=>X(l,M(e),[],[]),re=(e,t)=>X(I,M(t),{},[e]),de=(e,t)=>X(I+b,M(t),[],[e]),ne=(e,t)=>X(c,M(t),[],[e]),Ie=(e,t)=>X(a,M(t),[],[e]),ue=(e,t,o,s=0,r,d)=>X(p,M(d),[],[e,t,o,s,r],6),le=(e,t,o)=>X(i,M(o),{},[e,t]),ie=(e,t,o)=>X(b,M(o),[],[e,t]),ce=(e,t,o,s)=>X(g,M(s),void 0,[e,t,o],4),ae=e=>X(m,M(e),{}),pe=e=>X(k,M(e),[],[]),ge=(e,t)=>X(C,M(t),void 0,[e]),be=(e,t,o,s,r)=>Z(o,u,e,t,s,r),Ce=(e,t,o,s,r,d)=>Z(s,I,t,o,r,d,e),me=(e,t,o,s,r,d,n)=>Z(r,i,o,s,d,n,e,t),ke=(e,t,o=[],s,r=R,d=[],n=!0)=>{const I=M(s);return H((o=>w(I,(s=>w(t(o,s),(t=>r(s.addRow(e,t,n),s,t)))))),[I,e,...o,...d,n])},ye=(e,t,o,s,r,d,n)=>Z(r,"PartialRow",o,s,d,n,e,t),we=(e,t,o,s,r,d,n,I)=>Z(d,g,s,r,n,I,e,t,o),he=(e,t,o,s,r)=>Z(o,m,e,t,s,r),Re=(e,t,o,s,r)=>Z(o,"PartialValues",e,t,s,r),ve=(e,t,o,s,r,d)=>Z(s,C,t,o,r,d,e),qe=(e,t,o)=>$(e,u,t,o),Pe=(e,t,o,s)=>$(t,I,o,s,e),fe=(e,t,o,s,r)=>$(o,i,s,r,e,t),xe=(e,t,o,s,r,d,n)=>$(r,g,d,n,e,t,o,s),Se=(e,t,o)=>$(e,m,t,o),Le=(e,t,o,s)=>$(t,C,o,s,e),Be=(e,t,o,s)=>Y(u,M(s),e,t,[],o),Te=(e,t,o,s)=>Y(l,M(s),e,t,[],o),Me=(e,t,o,s,r)=>Y(I,M(r),t,o,[e],s),Ee=(e,t,o,s,r)=>Y(I+b,M(r),t,o,[e],s),Ve=(e,t,o,s,r)=>Y(c,M(r),t,o,[e],s),Ae=(e,t,o,s,r)=>Y(a,M(r),t,o,[e],s),Fe=(e,t,o,s,r,d,n,I,u)=>Y(p,M(u),d,n,[e,t,o,s,r],I),je=(e,t,o,s,r,d)=>Y(i,M(d),o,s,[e,t],r),Oe=(e,t,o,s,r,d)=>Y(b,M(d),o,s,[e,t],r),Qe=(e,t,o,s,r,d,n)=>Y(g,M(n),s,r,[e,t,o],d),ze=(e,t,o,s)=>Y(m,M(s),e,t,[],o),De=(e,t,o,s)=>Y(k,M(s),e,t,[],o),Ge=(e,t,o,s,r)=>Y(C,M(r),t,o,[e],s),He=(e,t,o)=>W(e,t,o),Je=()=>B(3),Ke=e=>X("MetricIds",V(e),[]),Ne=(e,t)=>X("Metric",V(t),void 0,[e]),Ue=(e,t,o,s)=>Y("Metric",V(s),t,o,[e]),We=(e,t,o)=>W(e,t,o),Xe=()=>B(5),Ye=(e,t)=>X("SliceIds",F(t),[],[e]),Ze=e=>X("IndexIds",F(e),[]),$e=(e,t,o)=>X("Slice"+a,F(o),[],[e,t]),_e=(e,t,o,s)=>Y("SliceIds",F(s),t,o,[e]),et=(e,t,o,s,r)=>Y("Slice"+a,F(r),o,s,[e,t]),tt=(e,t,o)=>W(e,t,o),ot=()=>B(7),st=e=>X("RelationshipIds",O(e),[]),rt=(e,t,o)=>X("RemoteRowId",O(o),void 0,[e,t]),dt=(e,t,o)=>X("Local"+a,O(o),[],[e,t]),nt=(e,t,o)=>X("Linked"+a,O(o),[],[e,t]),It=(e,t,o,s,r)=>Y("RemoteRowId",O(r),o,s,[e,t]),ut=(e,t,o,s,r)=>Y("Local"+a,O(r),o,s,[e,t]),lt=(e,t,o,s,r)=>Y("Linked"+a,O(r),o,s,[e,t]),it=(e,t,o)=>W(e,t,o),ct=()=>B(9),at=e=>X("QueryIds",z(e),[]),pt=(e,t)=>X(d+I,z(t),{},[e]),gt=(e,t)=>X(d+I+b,z(t),[],[e]),bt=(e,t)=>X(d+c,z(t),[],[e]),Ct=(e,t)=>X(d+a,z(t),[],[e]),mt=(e,t,o,s=0,r,n)=>X(d+p,z(n),[],[e,t,o,s,r],6),kt=(e,t,o)=>X(d+i,z(o),{},[e,t]),yt=(e,t,o)=>X(d+b,z(o),[],[e,t]),wt=(e,t,o,s)=>X(d+g,z(s),void 0,[e,t,o]),ht=(e,t,o,s)=>Y(d+I,z(s),t,o,[e]),Rt=(e,t,o,s)=>Y(d+I+b,z(s),t,o,[e]),vt=(e,t,o,s)=>Y(d+c,z(s),t,o,[e]),qt=(e,t,o,s)=>Y(d+a,z(s),t,o,[e]),Pt=(e,t,o,s,r,n,I,u)=>Y(d+p,z(u),n,I,[e,t,o,s,r]),ft=(e,t,o,s,r)=>Y(d+i,z(r),o,s,[e,t]),xt=(e,t,o,s,r)=>Y(d+b,z(r),o,s,[e,t]),St=(e,t,o,s,r,n)=>Y(d+g,z(n),s,r,[e,t,o]),Lt=(e,t,o)=>W(e,t,o),Bt=()=>B(11),Tt=e=>X("CheckpointIds",G(e),[[],void 0,[]]),Mt=(e,t)=>X("Checkpoint",G(t),void 0,[e]),Et=(e=R,t=[],o,s=R,r=[])=>{const d=G(o);return H((t=>w(d,(o=>{const r=e(t);s(o.addCheckpoint(r),o,r)}))),[d,...t,...r])},Vt=e=>_(e,"goBackward"),At=e=>_(e,"goForward"),Ft=(e,t=[],o,s=R,r=[])=>{const d=G(o);return H((t=>w(d,(o=>w(e(t),(e=>s(o.goTo(e),e)))))),[d,...t,...r])},jt=e=>{const t=G(e),[o,r]=Tt(t);return[(d=o,!(0==(e=>e.length)(d))),Vt(t),r,w(r,(e=>t?.getCheckpoint(e)))??s];var d},Ot=e=>{const t=G(e),[,,[o]]=Tt(t);return[!y(o),At(t),o,w(o,(e=>t?.getCheckpoint(e)))??s]},Qt=(e,t,o)=>Y("CheckpointIds",G(o),e,t),zt=(e,t,o,s)=>Y("Checkpoint",G(s),t,o,[e]),Dt=(e,t,o=[],s,r=[])=>{const[,d]=U(),n=K((()=>t(e)),[e,...o]);return J((()=>((async()=>{await(s?.(n)),d(1)})(),()=>{n.destroy()})),[n,...r]),n},{PureComponent:Gt,Fragment:Ht,createElement:Jt,useCallback:Kt,useLayoutEffect:Nt,useRef:Ut,useState:Wt}=e,Xt=(e,...t)=>y(e)?{}:e(...t),Yt=(e,t)=>[e,e?.getStore(),e?.getLocalTableId(t),e?.getRemoteTableId(t)],{useMemo:Zt}=e,$t=({tableId:e,store:t,rowComponent:o=no,getRowComponentProps:s,customCellIds:r,separator:d,debugIds:n},I)=>so(v(I,(d=>Jt(o,{...Xt(s,d),key:d,tableId:e,rowId:d,customCellIds:r,store:t,debugIds:n}))),d,n,e),_t=({queryId:e,queries:t,resultRowComponent:o=yo,getResultRowComponentProps:s,separator:r,debugIds:d},n)=>so(v(n,(r=>Jt(o,{...Xt(s,r),key:r,queryId:e,rowId:r,queries:t,debugIds:d}))),r,d,e),eo=({relationshipId:e,relationships:t,rowComponent:o=no,getRowComponentProps:s,separator:r,debugIds:d},n,I)=>{const[u,l,i]=Yt(O(t),e),c=n(e,I,u);return so(v(c,(e=>Jt(o,{...Xt(s,e),key:e,tableId:i,rowId:e,store:l,debugIds:d}))),r,d,I)},to=e=>({checkpoints:t,checkpointComponent:o=Ro,getCheckpointComponentProps:s,separator:r,debugIds:d})=>{const n=G(t);return so(v(e(Tt(n)),(e=>Jt(o,{...Xt(s,e),key:e,checkpoints:n,checkpointId:e,debugIds:d}))),r)},oo=({store:e,storesById:o,metrics:s,metricsById:r,indexes:d,indexesById:n,relationships:I,relationshipsById:u,queries:l,queriesById:i,checkpoints:c,checkpointsById:a,children:p})=>{const g=t(x);return Jt(x.Provider,{value:Zt((()=>[e??g[0],{...g[1],...o},s??g[2],{...g[3],...r},d??g[4],{...g[5],...n},I??g[6],{...g[7],...u},l??g[8],{...g[9],...i},c??g[10],{...g[11],...a}]),[e,o,s,r,d,n,I,u,l,i,c,a,g])},p)},so=(e,t,o,s)=>{const r=y(t)||!Array.isArray(e)?e:v(e,((e,o)=>o>0?[t,e]:e));return o?[s,":{",r,"}"]:r},ro=({tableId:e,rowId:t,cellId:o,store:r,debugIds:d})=>so(s+(ce(e,t,o,r)??s),void 0,d,o),no=({tableId:e,rowId:t,store:o,cellComponent:s=ro,getCellComponentProps:r,customCellIds:d,separator:n,debugIds:I})=>so(v(((e,t,o,s)=>{const r=ie(t,o,s);return e??r})(d,e,t,o),(d=>Jt(s,{...Xt(r,d),key:d,tableId:e,rowId:t,cellId:d,store:o,debugIds:I}))),n,I,t),Io=e=>$t(e,Ie(e.tableId,e.store)),uo=({cellId:e,descending:t,offset:o,limit:s,...r})=>$t(r,ue(r.tableId,e,t,o,s,r.store)),lo=({store:e,tableComponent:t=Io,getTableComponentProps:o,separator:s,debugIds:r})=>so(v(se(e),(s=>Jt(t,{...Xt(o,s),key:s,tableId:s,store:e,debugIds:r}))),s),io=({valueId:e,store:t,debugIds:o})=>so(s+(ge(e,t)??s),void 0,o,e),co=({store:e,valueComponent:t=io,getValueComponentProps:o,separator:s,debugIds:r})=>so(v(pe(e),(s=>Jt(t,{...Xt(o,s),key:s,valueId:s,store:e,debugIds:r}))),s),ao=({metricId:e,metrics:t,debugIds:o})=>so(Ne(e,t)??s,void 0,o,e),po=({indexId:e,sliceId:t,indexes:o,rowComponent:s=no,getRowComponentProps:r,separator:d,debugIds:n})=>{const[I,u,l]=((e,t)=>[e,e?.getStore(),e?.getTableId(t)])(F(o),e),i=$e(e,t,I);return so(v(i,(e=>Jt(s,{...Xt(r,e),key:e,tableId:l,rowId:e,store:u,debugIds:n}))),d,n,t)},go=({indexId:e,indexes:t,sliceComponent:o=po,getSliceComponentProps:s,separator:r,debugIds:d})=>so(v(Ye(e,t),(r=>Jt(o,{...Xt(s,r),key:r,indexId:e,sliceId:r,indexes:t,debugIds:d}))),r,d,e),bo=({relationshipId:e,localRowId:t,relationships:o,rowComponent:s=no,getRowComponentProps:r,debugIds:d})=>{const[n,I,,u]=Yt(O(o),e),l=rt(e,t,n);return so(y(u)||y(l)?null:Jt(s,{...Xt(r,l),key:l,tableId:u,rowId:l,store:I,debugIds:d}),void 0,d,t)},Co=e=>eo(e,dt,e.remoteRowId),mo=e=>eo(e,nt,e.firstRowId),ko=({queryId:e,rowId:t,cellId:o,queries:r,debugIds:d})=>so(s+(wt(e,t,o,r)??s),void 0,d,o),yo=({queryId:e,rowId:t,queries:o,resultCellComponent:s=ko,getResultCellComponentProps:r,separator:d,debugIds:n})=>so(v(yt(e,t,o),(d=>Jt(s,{...Xt(r,d),key:d,queryId:e,rowId:t,cellId:d,queries:o,debugIds:n}))),d,n,t),wo=e=>_t(e,Ct(e.queryId,e.queries)),ho=({cellId:e,descending:t,offset:o,limit:s,...r})=>_t(r,mt(r.queryId,e,t,o,s,r.queries)),Ro=({checkpoints:e,checkpointId:t,debugIds:o})=>so(Mt(t,e)??s,void 0,o,t),vo=to((e=>e[0])),qo=to((e=>y(e[1])?[]:[e[1]])),Po=to((e=>e[2]));export{vo as BackwardCheckpointsView,ro as CellView,Ro as CheckpointView,qo as CurrentCheckpointView,Po as ForwardCheckpointsView,go as IndexView,mo as LinkedRowsView,Co as LocalRowsView,ao as MetricView,oo as Provider,bo as RemoteRowView,ko as ResultCellView,yo as ResultRowView,ho as ResultSortedTableView,wo as ResultTableView,no as RowView,po as SliceView,uo as SortedTableView,Io as TableView,lo as TablesView,io as ValueView,co as ValuesView,ke as useAddRowCallback,ce as useCell,ie as useCellIds,Oe as useCellIdsListener,Qe as useCellListener,Mt as useCheckpoint,Tt as useCheckpointIds,Qt as useCheckpointIdsListener,zt as useCheckpointListener,D as useCheckpoints,Bt as useCheckpointsIds,G as useCheckpointsOrCheckpointsById,Lt as useCreateCheckpoints,We as useCreateIndexes,He as useCreateMetrics,Dt as useCreatePersister,it as useCreateQueries,tt as useCreateRelationships,ee as useCreateStore,xe as useDelCellCallback,fe as useDelRowCallback,Pe as useDelTableCallback,qe as useDelTablesCallback,Le as useDelValueCallback,Se as useDelValuesCallback,Vt as useGoBackwardCallback,At as useGoForwardCallback,Ft as useGoToCallback,Ze as useIndexIds,A as useIndexes,Xe as useIndexesIds,F as useIndexesOrIndexesById,nt as useLinkedRowIds,lt as useLinkedRowIdsListener,dt as useLocalRowIds,ut as useLocalRowIdsListener,Ne as useMetric,Ke as useMetricIds,Ue as useMetricListener,E as useMetrics,Je as useMetricsIds,V as useMetricsOrMetricsById,Q as useQueries,ct as useQueriesIds,z as useQueriesOrQueriesById,at as useQueryIds,Ot as useRedoInformation,st as useRelationshipIds,j as useRelationships,ot as useRelationshipsIds,O as useRelationshipsOrRelationshipsById,rt as useRemoteRowId,It as useRemoteRowIdListener,wt as useResultCell,yt as useResultCellIds,xt as useResultCellIdsListener,St as useResultCellListener,kt as useResultRow,bt as useResultRowCount,vt as useResultRowCountListener,Ct as useResultRowIds,qt as useResultRowIdsListener,ft as useResultRowListener,mt as useResultSortedRowIds,Pt as useResultSortedRowIdsListener,pt as useResultTable,gt as useResultTableCellIds,Rt as useResultTableCellIdsListener,ht as useResultTableListener,le as useRow,ne as useRowCount,Ve as useRowCountListener,Ie as useRowIds,Ae as useRowIdsListener,je as useRowListener,we as useSetCellCallback,Et as useSetCheckpointCallback,ye as useSetPartialRowCallback,Re as useSetPartialValuesCallback,me as useSetRowCallback,Ce as useSetTableCallback,be as useSetTablesCallback,ve as useSetValueCallback,he as useSetValuesCallback,Ye as useSliceIds,_e as useSliceIdsListener,$e as useSliceRowIds,et as useSliceRowIdsListener,ue as useSortedRowIds,Fe as useSortedRowIdsListener,T as useStore,te as useStoreIds,M as useStoreOrStoreById,re as useTable,de as useTableCellIds,Ee as useTableCellIdsListener,se as useTableIds,Te as useTableIdsListener,Me as useTableListener,oe as useTables,Be as useTablesListener,jt as useUndoInformation,ge as useValue,pe as useValueIds,De as useValueIdsListener,Ge as useValueListener,ae as useValues,ze as useValuesListener};
|
|
1
|
+
import e,{useContext as t}from"react";const o=e=>typeof e,s="",r=o(s),d="Listener",n="Result",I="Ids",i="Table",u=i+"s",l=i+I,c="Row",a=c+"Count",p=c+I,g="Sorted"+c+I,b="Cell",C=b+I,m="Value",k=m+"s",w=m+I,y=e=>null==e,h=(e,t,o)=>y(e)?o?.():t(e),R=e=>o(e)==r,v=()=>{},q=(e,t)=>e.map(t),P=Object.keys,{createContext:f,useContext:x}=e,S=f([]),L=(e,t)=>{const o=x(S);return y(e)?o[t]:R(e)?((e,t)=>h(e,(e=>e[t])))(o[t+1]??{},e):e},B=(e,t)=>{const o=L(e,t);return y(e)||R(e)?o:e},T=e=>P(x(S)[e]??{}),M=e=>L(e,0),F=e=>B(e,0),E=e=>L(e,2),V=e=>B(e,2),A=e=>L(e,4),j=e=>B(e,4),D=e=>L(e,6),O=e=>B(e,6),Q=e=>L(e,8),W=e=>B(e,8),z=e=>L(e,10),G=e=>B(e,10),H=e=>e.toLowerCase();H(d);const J="Transaction";H(J);const{useCallback:K,useEffect:N,useMemo:U,useRef:X,useState:Y}=e,Z=(e,t,o=[])=>{const s=U((()=>t(e)),[e,...o]);return N((()=>()=>s.destroy()),[s]),s},$=(e,t,o,s=[],r)=>{const[,d]=Y(),n=K((()=>t?.["get"+e]?.(...s)??o),[t,...s]),[I]=Y(n),i=X(I);return U((()=>i.current=n()),[n]),_(e,t,((...e)=>{i.current=y(r)?n():e[r],d([])}),[],s),i.current},_=(e,t,o,s=[],r=[],...n)=>N((()=>{const s=t?.["add"+e+d]?.(...r,o,...n);return()=>t?.delListener(s)}),[t,...r,...s,...n]),ee=(e,t,o,s=[],r=v,d=[],...n)=>{const I=F(e);return K((e=>h(I,(s=>h(o(e,s),(e=>r(s["set"+t](...n,e),e)))))),[I,t,...s,...d,...n])},te=(e,t,o=v,s=[],...r)=>{const d=F(e);return K((()=>o(d?.["del"+t](...r))),[d,t,...s,...r])},oe=(e,t,o)=>{const s=G(e);return K((()=>s?.[t](o)),[s,t,o])},se=(e,t=[])=>U(e,t),re=()=>T(1),de=e=>$(u,F(e),{}),ne=e=>$(l,F(e),[],[]),Ie=(e,t)=>$(i,F(t),{},[e]),ie=(e,t)=>$(i+C,F(t),[],[e]),ue=(e,t)=>$(a,F(t),[],[e]),le=(e,t)=>$(p,F(t),[],[e]),ce=(e,t,o,s=0,r,d)=>$(g,F(d),[],[e,t,o,s,r],6),ae=(e,t,o)=>$(c,F(o),{},[e,t]),pe=(e,t,o)=>$(C,F(o),[],[e,t]),ge=(e,t,o,s)=>$(b,F(s),void 0,[e,t,o],4),be=e=>$(k,F(e),{}),Ce=e=>$(w,F(e),[],[]),me=(e,t)=>$(m,F(t),void 0,[e]),ke=(e,t,o,s,r)=>ee(o,u,e,t,s,r),we=(e,t,o,s,r,d)=>ee(s,i,t,o,r,d,e),ye=(e,t,o,s,r,d,n)=>ee(r,c,o,s,d,n,e,t),he=(e,t,o=[],s,r=v,d=[],n=!0)=>{const I=F(s);return K((o=>h(I,(s=>h(t(o,s),(t=>r(s.addRow(e,t,n),s,t)))))),[I,e,...o,...d,n])},Re=(e,t,o,s,r,d,n)=>ee(r,"PartialRow",o,s,d,n,e,t),ve=(e,t,o,s,r,d,n,I)=>ee(d,b,s,r,n,I,e,t,o),qe=(e,t,o,s,r)=>ee(o,k,e,t,s,r),Pe=(e,t,o,s,r)=>ee(o,"PartialValues",e,t,s,r),fe=(e,t,o,s,r,d)=>ee(s,m,t,o,r,d,e),xe=(e,t,o)=>te(e,u,t,o),Se=(e,t,o,s)=>te(t,i,o,s,e),Le=(e,t,o,s,r)=>te(o,c,s,r,e,t),Be=(e,t,o,s,r,d,n)=>te(r,b,d,n,e,t,o,s),Te=(e,t,o)=>te(e,k,t,o),Me=(e,t,o,s)=>te(t,m,o,s,e),Fe=(e,t,o,s)=>_(u,F(s),e,t,[],o),Ee=(e,t,o,s)=>_(l,F(s),e,t,[],o),Ve=(e,t,o,s,r)=>_(i,F(r),t,o,[e],s),Ae=(e,t,o,s,r)=>_(i+C,F(r),t,o,[e],s),je=(e,t,o,s,r)=>_(a,F(r),t,o,[e],s),De=(e,t,o,s,r)=>_(p,F(r),t,o,[e],s),Oe=(e,t,o,s,r,d,n,I,i)=>_(g,F(i),d,n,[e,t,o,s,r],I),Qe=(e,t,o,s,r,d)=>_(c,F(d),o,s,[e,t],r),We=(e,t,o,s,r,d)=>_(C,F(d),o,s,[e,t],r),ze=(e,t,o,s,r,d,n)=>_(b,F(n),s,r,[e,t,o],d),Ge=(e,t,o,s)=>_(k,F(s),e,t,[],o),He=(e,t,o,s)=>_(w,F(s),e,t,[],o),Je=(e,t,o,s,r)=>_(m,F(r),t,o,[e],s),Ke=(e,t,o)=>_("Start"+J,F(o),e,t),Ne=(e,t,o)=>_("WillFinish"+J,F(o),e,t),Ue=(e,t,o)=>_("DidFinish"+J,F(o),e,t),Xe=(e,t,o)=>Z(e,t,o),Ye=()=>T(3),Ze=e=>$("MetricIds",V(e),[]),$e=(e,t)=>$("Metric",V(t),void 0,[e]),_e=(e,t,o,s)=>_("Metric",V(s),t,o,[e]),et=(e,t,o)=>Z(e,t,o),tt=()=>T(5),ot=(e,t)=>$("SliceIds",j(t),[],[e]),st=e=>$("IndexIds",j(e),[]),rt=(e,t,o)=>$("Slice"+p,j(o),[],[e,t]),dt=(e,t,o,s)=>_("SliceIds",j(s),t,o,[e]),nt=(e,t,o,s,r)=>_("Slice"+p,j(r),o,s,[e,t]),It=(e,t,o)=>Z(e,t,o),it=()=>T(7),ut=e=>$("RelationshipIds",O(e),[]),lt=(e,t,o)=>$("RemoteRowId",O(o),void 0,[e,t]),ct=(e,t,o)=>$("Local"+p,O(o),[],[e,t]),at=(e,t,o)=>$("Linked"+p,O(o),[],[e,t]),pt=(e,t,o,s,r)=>_("RemoteRowId",O(r),o,s,[e,t]),gt=(e,t,o,s,r)=>_("Local"+p,O(r),o,s,[e,t]),bt=(e,t,o,s,r)=>_("Linked"+p,O(r),o,s,[e,t]),Ct=(e,t,o)=>Z(e,t,o),mt=()=>T(9),kt=e=>$("QueryIds",W(e),[]),wt=(e,t)=>$(n+i,W(t),{},[e]),yt=(e,t)=>$(n+i+C,W(t),[],[e]),ht=(e,t)=>$(n+a,W(t),[],[e]),Rt=(e,t)=>$(n+p,W(t),[],[e]),vt=(e,t,o,s=0,r,d)=>$(n+g,W(d),[],[e,t,o,s,r],6),qt=(e,t,o)=>$(n+c,W(o),{},[e,t]),Pt=(e,t,o)=>$(n+C,W(o),[],[e,t]),ft=(e,t,o,s)=>$(n+b,W(s),void 0,[e,t,o]),xt=(e,t,o,s)=>_(n+i,W(s),t,o,[e]),St=(e,t,o,s)=>_(n+i+C,W(s),t,o,[e]),Lt=(e,t,o,s)=>_(n+a,W(s),t,o,[e]),Bt=(e,t,o,s)=>_(n+p,W(s),t,o,[e]),Tt=(e,t,o,s,r,d,I,i)=>_(n+g,W(i),d,I,[e,t,o,s,r]),Mt=(e,t,o,s,r)=>_(n+c,W(r),o,s,[e,t]),Ft=(e,t,o,s,r)=>_(n+C,W(r),o,s,[e,t]),Et=(e,t,o,s,r,d)=>_(n+b,W(d),s,r,[e,t,o]),Vt=(e,t,o)=>Z(e,t,o),At=()=>T(11),jt=e=>$("CheckpointIds",G(e),[[],void 0,[]]),Dt=(e,t)=>$("Checkpoint",G(t),void 0,[e]),Ot=(e=v,t=[],o,s=v,r=[])=>{const d=G(o);return K((t=>h(d,(o=>{const r=e(t);s(o.addCheckpoint(r),o,r)}))),[d,...t,...r])},Qt=e=>oe(e,"goBackward"),Wt=e=>oe(e,"goForward"),zt=(e,t=[],o,s=v,r=[])=>{const d=G(o);return K((t=>h(d,(o=>h(e(t),(e=>s(o.goTo(e),e)))))),[d,...t,...r])},Gt=e=>{const t=G(e),[o,r]=jt(t);return[(d=o,!(0==(e=>e.length)(d))),Qt(t),r,h(r,(e=>t?.getCheckpoint(e)))??s];var d},Ht=e=>{const t=G(e),[,,[o]]=jt(t);return[!y(o),Wt(t),o,h(o,(e=>t?.getCheckpoint(e)))??s]},Jt=(e,t,o)=>_("CheckpointIds",G(o),e,t),Kt=(e,t,o,s)=>_("Checkpoint",G(s),t,o,[e]),Nt=(e,t,o=[],s,r=[])=>{const[,d]=Y(),n=U((()=>t(e)),[e,...o]);return N((()=>((async()=>{await(s?.(n)),d(1)})(),()=>{n?.destroy()})),[n,...r]),n},{PureComponent:Ut,Fragment:Xt,createElement:Yt,useCallback:Zt,useLayoutEffect:$t,useRef:_t,useState:eo}=e,to=(e,...t)=>y(e)?{}:e(...t),oo=(e,t)=>[e,e?.getStore(),e?.getLocalTableId(t),e?.getRemoteTableId(t)],{useMemo:so}=e,ro=({tableId:e,store:t,rowComponent:o=ao,getRowComponentProps:s,customCellIds:r,separator:d,debugIds:n},I)=>lo(q(I,(d=>Yt(o,{...to(s,d),key:d,tableId:e,rowId:d,customCellIds:r,store:t,debugIds:n}))),d,n,e),no=({queryId:e,queries:t,resultRowComponent:o=Po,getResultRowComponentProps:s,separator:r,debugIds:d},n)=>lo(q(n,(r=>Yt(o,{...to(s,r),key:r,queryId:e,rowId:r,queries:t,debugIds:d}))),r,d,e),Io=({relationshipId:e,relationships:t,rowComponent:o=ao,getRowComponentProps:s,separator:r,debugIds:d},n,I)=>{const[i,u,l]=oo(O(t),e),c=n(e,I,i);return lo(q(c,(e=>Yt(o,{...to(s,e),key:e,tableId:l,rowId:e,store:u,debugIds:d}))),r,d,I)},io=e=>({checkpoints:t,checkpointComponent:o=So,getCheckpointComponentProps:s,separator:r,debugIds:d})=>{const n=G(t);return lo(q(e(jt(n)),(e=>Yt(o,{...to(s,e),key:e,checkpoints:n,checkpointId:e,debugIds:d}))),r)},uo=({store:e,storesById:o,metrics:s,metricsById:r,indexes:d,indexesById:n,relationships:I,relationshipsById:i,queries:u,queriesById:l,checkpoints:c,checkpointsById:a,children:p})=>{const g=t(S);return Yt(S.Provider,{value:so((()=>[e??g[0],{...g[1],...o},s??g[2],{...g[3],...r},d??g[4],{...g[5],...n},I??g[6],{...g[7],...i},u??g[8],{...g[9],...l},c??g[10],{...g[11],...a}]),[e,o,s,r,d,n,I,i,u,l,c,a,g])},p)},lo=(e,t,o,s)=>{const r=y(t)||!Array.isArray(e)?e:q(e,((e,o)=>o>0?[t,e]:e));return o?[s,":{",r,"}"]:r},co=({tableId:e,rowId:t,cellId:o,store:r,debugIds:d})=>lo(s+(ge(e,t,o,r)??s),void 0,d,o),ao=({tableId:e,rowId:t,store:o,cellComponent:s=co,getCellComponentProps:r,customCellIds:d,separator:n,debugIds:I})=>lo(q(((e,t,o,s)=>{const r=pe(t,o,s);return e??r})(d,e,t,o),(d=>Yt(s,{...to(r,d),key:d,tableId:e,rowId:t,cellId:d,store:o,debugIds:I}))),n,I,t),po=e=>ro(e,le(e.tableId,e.store)),go=({cellId:e,descending:t,offset:o,limit:s,...r})=>ro(r,ce(r.tableId,e,t,o,s,r.store)),bo=({store:e,tableComponent:t=po,getTableComponentProps:o,separator:s,debugIds:r})=>lo(q(ne(e),(s=>Yt(t,{...to(o,s),key:s,tableId:s,store:e,debugIds:r}))),s),Co=({valueId:e,store:t,debugIds:o})=>lo(s+(me(e,t)??s),void 0,o,e),mo=({store:e,valueComponent:t=Co,getValueComponentProps:o,separator:s,debugIds:r})=>lo(q(Ce(e),(s=>Yt(t,{...to(o,s),key:s,valueId:s,store:e,debugIds:r}))),s),ko=({metricId:e,metrics:t,debugIds:o})=>lo($e(e,t)??s,void 0,o,e),wo=({indexId:e,sliceId:t,indexes:o,rowComponent:s=ao,getRowComponentProps:r,separator:d,debugIds:n})=>{const[I,i,u]=((e,t)=>[e,e?.getStore(),e?.getTableId(t)])(j(o),e),l=rt(e,t,I);return lo(q(l,(e=>Yt(s,{...to(r,e),key:e,tableId:u,rowId:e,store:i,debugIds:n}))),d,n,t)},yo=({indexId:e,indexes:t,sliceComponent:o=wo,getSliceComponentProps:s,separator:r,debugIds:d})=>lo(q(ot(e,t),(r=>Yt(o,{...to(s,r),key:r,indexId:e,sliceId:r,indexes:t,debugIds:d}))),r,d,e),ho=({relationshipId:e,localRowId:t,relationships:o,rowComponent:s=ao,getRowComponentProps:r,debugIds:d})=>{const[n,I,,i]=oo(O(o),e),u=lt(e,t,n);return lo(y(i)||y(u)?null:Yt(s,{...to(r,u),key:u,tableId:i,rowId:u,store:I,debugIds:d}),void 0,d,t)},Ro=e=>Io(e,ct,e.remoteRowId),vo=e=>Io(e,at,e.firstRowId),qo=({queryId:e,rowId:t,cellId:o,queries:r,debugIds:d})=>lo(s+(ft(e,t,o,r)??s),void 0,d,o),Po=({queryId:e,rowId:t,queries:o,resultCellComponent:s=qo,getResultCellComponentProps:r,separator:d,debugIds:n})=>lo(q(Pt(e,t,o),(d=>Yt(s,{...to(r,d),key:d,queryId:e,rowId:t,cellId:d,queries:o,debugIds:n}))),d,n,t),fo=e=>no(e,Rt(e.queryId,e.queries)),xo=({cellId:e,descending:t,offset:o,limit:s,...r})=>no(r,vt(r.queryId,e,t,o,s,r.queries)),So=({checkpoints:e,checkpointId:t,debugIds:o})=>lo(Dt(t,e)??s,void 0,o,t),Lo=io((e=>e[0])),Bo=io((e=>y(e[1])?[]:[e[1]])),To=io((e=>e[2]));export{Lo as BackwardCheckpointsView,co as CellView,So as CheckpointView,Bo as CurrentCheckpointView,To as ForwardCheckpointsView,yo as IndexView,vo as LinkedRowsView,Ro as LocalRowsView,ko as MetricView,uo as Provider,ho as RemoteRowView,qo as ResultCellView,Po as ResultRowView,xo as ResultSortedTableView,fo as ResultTableView,ao as RowView,wo as SliceView,go as SortedTableView,po as TableView,bo as TablesView,Co as ValueView,mo as ValuesView,he as useAddRowCallback,ge as useCell,pe as useCellIds,We as useCellIdsListener,ze as useCellListener,Dt as useCheckpoint,jt as useCheckpointIds,Jt as useCheckpointIdsListener,Kt as useCheckpointListener,z as useCheckpoints,At as useCheckpointsIds,G as useCheckpointsOrCheckpointsById,Vt as useCreateCheckpoints,et as useCreateIndexes,Xe as useCreateMetrics,Nt as useCreatePersister,Ct as useCreateQueries,It as useCreateRelationships,se as useCreateStore,Be as useDelCellCallback,Le as useDelRowCallback,Se as useDelTableCallback,xe as useDelTablesCallback,Me as useDelValueCallback,Te as useDelValuesCallback,Ue as useDidFinishTransactionListener,Qt as useGoBackwardCallback,Wt as useGoForwardCallback,zt as useGoToCallback,st as useIndexIds,A as useIndexes,tt as useIndexesIds,j as useIndexesOrIndexesById,at as useLinkedRowIds,bt as useLinkedRowIdsListener,ct as useLocalRowIds,gt as useLocalRowIdsListener,$e as useMetric,Ze as useMetricIds,_e as useMetricListener,E as useMetrics,Ye as useMetricsIds,V as useMetricsOrMetricsById,Q as useQueries,mt as useQueriesIds,W as useQueriesOrQueriesById,kt as useQueryIds,Ht as useRedoInformation,ut as useRelationshipIds,D as useRelationships,it as useRelationshipsIds,O as useRelationshipsOrRelationshipsById,lt as useRemoteRowId,pt as useRemoteRowIdListener,ft as useResultCell,Pt as useResultCellIds,Ft as useResultCellIdsListener,Et as useResultCellListener,qt as useResultRow,ht as useResultRowCount,Lt as useResultRowCountListener,Rt as useResultRowIds,Bt as useResultRowIdsListener,Mt as useResultRowListener,vt as useResultSortedRowIds,Tt as useResultSortedRowIdsListener,wt as useResultTable,yt as useResultTableCellIds,St as useResultTableCellIdsListener,xt as useResultTableListener,ae as useRow,ue as useRowCount,je as useRowCountListener,le as useRowIds,De as useRowIdsListener,Qe as useRowListener,ve as useSetCellCallback,Ot as useSetCheckpointCallback,Re as useSetPartialRowCallback,Pe as useSetPartialValuesCallback,ye as useSetRowCallback,we as useSetTableCallback,ke as useSetTablesCallback,fe as useSetValueCallback,qe as useSetValuesCallback,ot as useSliceIds,dt as useSliceIdsListener,rt as useSliceRowIds,nt as useSliceRowIdsListener,ce as useSortedRowIds,Oe as useSortedRowIdsListener,Ke as useStartTransactionListener,M as useStore,re as useStoreIds,F as useStoreOrStoreById,Ie as useTable,ie as useTableCellIds,Ae as useTableCellIdsListener,ne as useTableIds,Ee as useTableIdsListener,Ve as useTableListener,de as useTables,Fe as useTablesListener,Gt as useUndoInformation,me as useValue,Ce as useValueIds,He as useValueIdsListener,Je as useValueListener,be as useValues,Ge as useValuesListener,Ne as useWillFinishTransactionListener};
|
package/lib/ui-react.js.gz
CHANGED
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
var a,t;a=this,t=function(a){"use strict";const t=a=>typeof a,e="tinybase",s=",",n=t(""),i=(a,t)=>a.repeat(t),c=Promise,o=setInterval,r=clearInterval,l=(a,t)=>a instanceof t,y=a=>null==a,w=(a,t,e)=>y(a)?e?.():t(a),E=a=>t(a)==n,u=async a=>c.all(a),
|
|
1
|
+
var a,t;a=this,t=function(a){"use strict";const t=a=>typeof a,e="tinybase",s=",",n=t(""),i=(a,t)=>a.repeat(t),c=Promise,o=setInterval,r=clearInterval,l=(a,t)=>a instanceof t,y=a=>null==a,w=(a,t,e)=>y(a)?e?.():t(a),E=a=>t(a)==n,d=(a,t,e)=>a.slice(t,e),u=async a=>c.all(a),f=(a,t="")=>a.join(t),p=(a,t)=>a.map(t),T=a=>a.length,m=a=>0==T(a),v=(a,t)=>a.filter(t),A=(a,...t)=>a.push(...t),L=(a,t)=>a?.has(t)??!1,h=a=>[...a?.values()??[]],N=(a,t)=>a?.delete(t),O=Object,R=O.keys,C=O.freeze,S=(a=[])=>O.fromEntries(a),D=(...a)=>O.assign({},...a),b=(a,t)=>p(O.entries(a),(([a,e])=>t(e,a))),g=a=>O.values(a),I=a=>T(R(a)),F=a=>(a=>l(a,O)&&a.constructor==O)(a)&&0==I(a),M=a=>new Map(a),$=a=>[...a?.keys()??[]],P=(a,t)=>a?.get(t),_=(a,t)=>p([...a?.entries()??[]],(([a,e])=>t(e,a))),B=(a,t,e)=>y(e)?(N(a,t),a):a?.set(t,e),W=(a,t,e)=>(L(a,t)||B(a,t,e()),P(a,t)),x=(a,t,e,s=B)=>(b(t,((t,s)=>e(a,s,t))),((a,t)=>{((a,t)=>{a?.forEach(t)})(a,((a,e)=>t(e)))})(a,(e=>((a,t)=>!y(((a,t)=>w(a,(a=>a[t])))(a,t)))(t,e)?0:s(a,e))),a),j=a=>new Set(Array.isArray(a)||y(a)?a:[a]),H=(a,t)=>a?.add(t),U="_",k="_id",q=a=>`"${a.replace(/"/g,'""')}"`,J="FROM pragma_table_",Y="WHERE",z=(a,t,e)=>{const n=M();return[async()=>x(n,S(await u(p(await a("SELECT name "+J+"list WHERE schema='main'AND type='table'AND name IN("+K(t)+")",t),(async({name:t})=>[t,S(p(await a("SELECT name,type "+J+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>B(n,t,x(W(n,t,M),e,((a,t,e)=>{e!=P(a,t)&&B(a,t,e)}),((a,t)=>B(a,t))))),((a,t)=>B(n,t))),async(t,e)=>((a,t)=>!y(P(P(n,a),t)))(t,e)?S(v(p(await a("SELECT*FROM"+q(t)),(a=>{return[a[e],(t={...a},s=e,delete t[s],t)];var t,s})),(([a,t])=>!y(a)&&!F(t)))):{},async(t,e,i,c,o,r=!1)=>{const l=j();b(i??{},(a=>p(R(a??{}),(a=>H(l,a)))));const w=h(l);if(!r&&o&&m(w)&&L(n,t))return await a("DROP TABLE"+q(t)),void B(n,t);if(m(w)||L(n,t)){const s=P(n,t),i=j($(s));await u([...p(w,(async e=>{N(i,e)||(await a(`ALTER TABLE${q(t)}ADD${q(e)}`),B(s,e,""))})),...!r&&c?p(h(i),(async n=>{n!=e&&(await a(`ALTER TABLE${q(t)}DROP${q(n)}`),B(s,n))})):[]])}else await a(`CREATE TABLE${q(t)}(${q(e)} PRIMARY KEY ON CONFLICT REPLACE${f(p(w,(a=>s+q(a))))});`),B(n,t,M([[e,""],...p(w,(a=>[a,""]))]));if(r)y(i)?await a("DELETE FROM"+q(t)+"WHERE 1"):await u(b(i,(async(s,n)=>{y(s)?await a("DELETE FROM"+q(t)+Y+q(e)+"=?",[n]):m(w)||await G(a,t,e,R(s),[n,...g(s)])})));else if(m(w))L(n,t)&&await a("DELETE FROM"+q(t)+"WHERE 1");else{const s=v($(P(n,t)),(a=>a!=e)),c=[],o=[];b(i??{},((a,t)=>{A(c,t,...p(s,(t=>a?.[t]))),A(o,t)})),await G(a,t,e,s,c),await a("DELETE FROM"+q(t)+Y+q(e)+"NOT IN("+K(o)+")",o)}},async t=>{let s;await a("BEGIN");try{s=await t()}catch(a){e?.(a)}return await a("END"),s}]},G=async(a,t,e,n,c)=>await a("INSERT INTO"+q(t)+"("+q(e)+f(p(n,(a=>s+q(a))))+")VALUES"+d(i(`,(?${i(",?",T(n))})`,T(c)/(T(n)+1)),1)+"ON CONFLICT("+q(e)+")DO UPDATE SET"+f(p(n,(a=>q(a)+"=excluded."+q(a))),s),c),K=a=>f(p(a,(()=>"?")),s),V=JSON.parse,Q=M(),X=M(),Z=(a,t,e,s,n,i,c=[])=>{let o,r,l,E=0,d=0;W(Q,c,(()=>0)),W(X,c,(()=>[]));const u=async a=>(2!=E&&(E=1,await f.schedule((async()=>{await a(),E=0}))),f),f={load:async(e,s)=>await u((async()=>{try{a.setContent(await t())}catch{a.setContent([e,s])}})),startAutoLoad:async(e={},n={})=>(f.stopAutoLoad(),await f.load(e,n),d=1,l=s((async(e,s)=>{if(s){const t=s();await u((async()=>a.setTransactionChanges(t)))}else await u((async()=>{try{a.setContent(e?.()??await t())}catch(a){i?.(a)}}))})),f),stopAutoLoad:()=>(d&&(n(l),l=void 0,d=0),f),save:async t=>(1!=E&&(E=2,await f.schedule((async()=>{try{await e(a.getContent,t)}catch(a){i?.(a)}E=0}))),f),startAutoSave:async()=>(await f.stopAutoSave().save(),o=a.addDidFinishTransactionListener(((a,t)=>{const[e,s]=t();F(e)&&F(s)||f.save((()=>[e,s]))})),f),stopAutoSave:()=>(w(o,a.delListener),f),schedule:async(...a)=>(A(P(X,c),...a),await(async()=>{if(!P(Q,c)){for(B(Q,c,1);!y((a=P(X,c),r=a.shift()));)try{await r()}catch(a){i?.(a)}B(Q,c,0)}var a})(),f),getStore:()=>a,destroy:()=>f.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return C(f)},aa="store",ta=(a,t,e,s,n,[i],c,o)=>{const[r,y,w,E]=z(t,c,n);return Z(a,(async()=>await E((async()=>(await r(),V((await y(i,k))[U]?.[aa]??"null"))))),(async a=>await E((async()=>{var t;await r(),await w(i,k,{[U]:{[aa]:(t=a()??null,JSON.stringify(t,((a,t)=>l(t,Map)?O.fromEntries([...t]):t)))}},!0,!0)}))),e,s,n,o)},ea=(a,t,e,s,n,[i,c,[o,r,l]],w,E)=>{const[d,f,p,T]=z(t,w,n),m=async(a,t)=>await u(_(c,(async([e,s,n,i],c)=>{const o=a[c];t&&void 0===o||await p(e,s,o,n,i,t)}))),A=async(a,t)=>r?await p(l,k,{[U]:a},!0,!0,t):null;return Z(a,(async()=>await T((async()=>{await d();const a=await(async()=>S(v(await u(_(i,(async([a,t],e)=>[a,await f(e,t)]))),(a=>!F(a[1])))))(),t=await(async()=>o?(await f(l,k))[U]:{})();return F(a)&&y(t)?void 0:[a,t]}))),(async(a,t)=>await T((async()=>{if(await d(),y(t)){const[t,e]=a();await m(t),await A(e)}else{const[a,e]=t();await m(a,!0),await A(e,!0)}}))),e,s,n,E)},sa="json",na="autoLoadIntervalSeconds",ia="rowIdColumnName",ca="tableId",oa="tableName",ra={mode:sa,[na]:1},la={load:0,save:0,[oa]:e+"_values"},ya=(a,t,e,s)=>{const n=M();return b(a,((a,i)=>{const c=d(g(D(t,E(a)?{[e]:a}:a)),0,I(t));y(c[0])||s(i,c[0])||B(n,i,c)})),n},wa="pragma ",Ea="data_version",da="schema_version",ua=(a,t,s,n,i,c,l,y)=>{let w,u;const[f,p,T,m]=(a=>{const t=(a=>D(ra,E(a)?{storeTableName:a}:a??{}))(a),s=t[na];if(t.mode==sa){const{storeTableName:a=e}=t;return[1,s,[a],j(a)]}const{tables:{load:n={},save:i={}}={},values:c={}}=t,o=d(g(D(la,c)),0,I(la)),r=o[2],l=j(r);return[0,s,[ya(n,{[ca]:null,[ia]:k},ca,(a=>H(l,a)&&a==r)),ya(i,{[oa]:null,[ia]:k,deleteEmptyColumns:0,deleteEmptyTable:0},oa,((a,t)=>H(l,t)&&t==r)),o],l]})(t);return(f?ta:ea)(a,c?async(a,t)=>(c(a,t),await s(a,t)):s,(a=>[o((async()=>{try{const t=(await s(wa+Ea))[0][Ea],e=(await s(wa+da))[0][da];t==(w??=t)&&e==(u??=e)||(a(),w=t,u=e)}catch{}}),1e3*p),n((t=>m.has(t)?a():0))]),(([a,t])=>{r(a),w=u=null,i(t)}),l,T,h(m),y)};a.createCrSqliteWasmPersister=(a,t,e,s,n)=>ua(a,e,(async(a,e=[])=>await t.execO(a,e)),(a=>t.onUpdate(((t,e,s)=>a(s)))),(a=>a()),s,n,t)},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((a="undefined"!=typeof globalThis?globalThis:a||self).TinyBasePersisterCrSqliteWasm={});
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
var a,t;a=this,t=function(a){"use strict";const t=a=>typeof a,e="tinybase",s=",",n=t(""),i=(a,t)=>a.repeat(t),o=Promise,c=setInterval,r=clearInterval,l=(a,t)=>a instanceof t,y=a=>null==a,w=(a,t,e)=>y(a)?e?.():t(a),E=a=>t(a)==n,u=async a=>o.all(a),
|
|
1
|
+
var a,t;a=this,t=function(a){"use strict";const t=a=>typeof a,e="tinybase",s=",",n=t(""),i=(a,t)=>a.repeat(t),o=Promise,c=setInterval,r=clearInterval,l=(a,t)=>a instanceof t,y=a=>null==a,w=(a,t,e)=>y(a)?e?.():t(a),E=a=>t(a)==n,u=(a,t,e)=>a.slice(t,e),d=async a=>o.all(a),f=(a,t="")=>a.join(t),p=(a,t)=>a.map(t),T=a=>a.length,m=a=>0==T(a),v=(a,t)=>a.filter(t),A=(a,...t)=>a.push(...t),L=(a,t)=>a?.has(t)??!1,h=a=>[...a?.values()??[]],N=(a,t)=>a?.delete(t),R=Object,O=R.keys,S=R.freeze,C=(a=[])=>R.fromEntries(a),b=(...a)=>R.assign({},...a),g=(a,t)=>p(R.entries(a),(([a,e])=>t(e,a))),D=a=>R.values(a),I=a=>T(O(a)),F=a=>(a=>l(a,R)&&a.constructor==R)(a)&&0==I(a),M=a=>new Map(a),$=a=>[...a?.keys()??[]],P=(a,t)=>a?.get(t),x=(a,t)=>p([...a?.entries()??[]],(([a,e])=>t(e,a))),_=(a,t,e)=>y(e)?(N(a,t),a):a?.set(t,e),B=(a,t,e)=>(L(a,t)||_(a,t,e()),P(a,t)),j=(a,t,e,s=_)=>(g(t,((t,s)=>e(a,s,t))),((a,t)=>{((a,t)=>{a?.forEach(t)})(a,((a,e)=>t(e)))})(a,(e=>((a,t)=>!y(((a,t)=>w(a,(a=>a[t])))(a,t)))(t,e)?0:s(a,e))),a),H=a=>new Set(Array.isArray(a)||y(a)?a:[a]),W=(a,t)=>a?.add(t),q="_",k="_id",J=a=>`"${a.replace(/"/g,'""')}"`,U="FROM pragma_table_",Y="WHERE",z=(a,t,e)=>{const n=M();return[async()=>j(n,C(await d(p(await a("SELECT name "+U+"list WHERE schema='main'AND type='table'AND name IN("+K(t)+")",t),(async({name:t})=>[t,C(p(await a("SELECT name,type "+U+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>_(n,t,j(B(n,t,M),e,((a,t,e)=>{e!=P(a,t)&&_(a,t,e)}),((a,t)=>_(a,t))))),((a,t)=>_(n,t))),async(t,e)=>((a,t)=>!y(P(P(n,a),t)))(t,e)?C(v(p(await a("SELECT*FROM"+J(t)),(a=>{return[a[e],(t={...a},s=e,delete t[s],t)];var t,s})),(([a,t])=>!y(a)&&!F(t)))):{},async(t,e,i,o,c,r=!1)=>{const l=H();g(i??{},(a=>p(O(a??{}),(a=>W(l,a)))));const w=h(l);if(!r&&c&&m(w)&&L(n,t))return await a("DROP TABLE"+J(t)),void _(n,t);if(m(w)||L(n,t)){const s=P(n,t),i=H($(s));await d([...p(w,(async e=>{N(i,e)||(await a(`ALTER TABLE${J(t)}ADD${J(e)}`),_(s,e,""))})),...!r&&o?p(h(i),(async n=>{n!=e&&(await a(`ALTER TABLE${J(t)}DROP${J(n)}`),_(s,n))})):[]])}else await a(`CREATE TABLE${J(t)}(${J(e)} PRIMARY KEY ON CONFLICT REPLACE${f(p(w,(a=>s+J(a))))});`),_(n,t,M([[e,""],...p(w,(a=>[a,""]))]));if(r)y(i)?await a("DELETE FROM"+J(t)+"WHERE 1"):await d(g(i,(async(s,n)=>{y(s)?await a("DELETE FROM"+J(t)+Y+J(e)+"=?",[n]):m(w)||await G(a,t,e,O(s),[n,...D(s)])})));else if(m(w))L(n,t)&&await a("DELETE FROM"+J(t)+"WHERE 1");else{const s=v($(P(n,t)),(a=>a!=e)),o=[],c=[];g(i??{},((a,t)=>{A(o,t,...p(s,(t=>a?.[t]))),A(c,t)})),await G(a,t,e,s,o),await a("DELETE FROM"+J(t)+Y+J(e)+"NOT IN("+K(c)+")",c)}},async t=>{let s;await a("BEGIN");try{s=await t()}catch(a){e?.(a)}return await a("END"),s}]},G=async(a,t,e,n,o)=>await a("INSERT INTO"+J(t)+"("+J(e)+f(p(n,(a=>s+J(a))))+")VALUES"+u(i(`,(?${i(",?",T(n))})`,T(o)/(T(n)+1)),1)+"ON CONFLICT("+J(e)+")DO UPDATE SET"+f(p(n,(a=>J(a)+"=excluded."+J(a))),s),o),K=a=>f(p(a,(()=>"?")),s),V=JSON.parse,Q=M(),X=M(),Z=(a,t,e,s,n,i,o=[])=>{let c,r,l,E=0,u=0;B(Q,o,(()=>0)),B(X,o,(()=>[]));const d=async a=>(2!=E&&(E=1,await f.schedule((async()=>{await a(),E=0}))),f),f={load:async(e,s)=>await d((async()=>{try{a.setContent(await t())}catch{a.setContent([e,s])}})),startAutoLoad:async(e={},n={})=>(f.stopAutoLoad(),await f.load(e,n),u=1,l=s((async(e,s)=>{if(s){const t=s();await d((async()=>a.setTransactionChanges(t)))}else await d((async()=>{try{a.setContent(e?.()??await t())}catch(a){i?.(a)}}))})),f),stopAutoLoad:()=>(u&&(n(l),l=void 0,u=0),f),save:async t=>(1!=E&&(E=2,await f.schedule((async()=>{try{await e(a.getContent,t)}catch(a){i?.(a)}E=0}))),f),startAutoSave:async()=>(await f.stopAutoSave().save(),c=a.addDidFinishTransactionListener(((a,t)=>{const[e,s]=t();F(e)&&F(s)||f.save((()=>[e,s]))})),f),stopAutoSave:()=>(w(c,a.delListener),f),schedule:async(...a)=>(A(P(X,o),...a),await(async()=>{if(!P(Q,o)){for(_(Q,o,1);!y((a=P(X,o),r=a.shift()));)try{await r()}catch(a){i?.(a)}_(Q,o,0)}var a})(),f),getStore:()=>a,destroy:()=>f.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return S(f)},aa="store",ta=(a,t,e,s,n,[i],o,c)=>{const[r,y,w,E]=z(t,o,n);return Z(a,(async()=>await E((async()=>(await r(),V((await y(i,k))[q]?.[aa]??"null"))))),(async a=>await E((async()=>{var t;await r(),await w(i,k,{[q]:{[aa]:(t=a()??null,JSON.stringify(t,((a,t)=>l(t,Map)?R.fromEntries([...t]):t)))}},!0,!0)}))),e,s,n,c)},ea=(a,t,e,s,n,[i,o,[c,r,l]],w,E)=>{const[u,f,p,T]=z(t,w,n),m=async(a,t)=>await d(x(o,(async([e,s,n,i],o)=>{const c=a[o];t&&void 0===c||await p(e,s,c,n,i,t)}))),A=async(a,t)=>r?await p(l,k,{[q]:a},!0,!0,t):null;return Z(a,(async()=>await T((async()=>{await u();const a=await(async()=>C(v(await d(x(i,(async([a,t],e)=>[a,await f(e,t)]))),(a=>!F(a[1])))))(),t=await(async()=>c?(await f(l,k))[q]:{})();return F(a)&&y(t)?void 0:[a,t]}))),(async(a,t)=>await T((async()=>{if(await u(),y(t)){const[t,e]=a();await m(t),await A(e)}else{const[a,e]=t();await m(a,!0),await A(e,!0)}}))),e,s,n,E)},sa="json",na="autoLoadIntervalSeconds",ia="rowIdColumnName",oa="tableId",ca="tableName",ra={mode:sa,[na]:1},la={load:0,save:0,[ca]:e+"_values"},ya=(a,t,e,s)=>{const n=M();return g(a,((a,i)=>{const o=u(D(b(t,E(a)?{[e]:a}:a)),0,I(t));y(o[0])||s(i,o[0])||_(n,i,o)})),n},wa="pragma ",Ea="data_version",ua="schema_version",da=(a,t,s,n,i,o,l,y)=>{let w,d;const[f,p,T,m]=(a=>{const t=(a=>b(ra,E(a)?{storeTableName:a}:a??{}))(a),s=t[na];if(t.mode==sa){const{storeTableName:a=e}=t;return[1,s,[a],H(a)]}const{tables:{load:n={},save:i={}}={},values:o={}}=t,c=u(D(b(la,o)),0,I(la)),r=c[2],l=H(r);return[0,s,[ya(n,{[oa]:null,[ia]:k},oa,(a=>W(l,a)&&a==r)),ya(i,{[ca]:null,[ia]:k,deleteEmptyColumns:0,deleteEmptyTable:0},ca,((a,t)=>W(l,t)&&t==r)),c],l]})(t);return(f?ta:ea)(a,o?async(a,t)=>(o(a,t),await s(a,t)):s,(a=>[c((async()=>{try{const t=(await s(wa+Ea))[0][Ea],e=(await s(wa+ua))[0][ua];t==(w??=t)&&e==(d??=e)||(a(),w=t,d=e)}catch{}}),1e3*p),n((t=>m.has(t)?a():0))]),(([a,t])=>{r(a),w=d=null,i(t)}),l,T,h(m),y)};a.createExpoSqlitePersister=(a,t,e,s,n)=>da(a,e,(async(a,e=[])=>(await t.execAsync([{sql:a,args:e}],!1))[0].rows),(a=>t.onDatabaseChange((({tableName:t})=>a(t)))),(a=>a.remove()),s,n,t)},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((a="undefined"!=typeof globalThis?globalThis:a||self).TinyBasePersisterExpoSqlite={});
|
|
Binary file
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var t,e;t=this,e=function(t){"use strict";const e=t=>typeof t,a=e(""),s=(t,e)=>t instanceof e,n=t=>null==t,o=Object,r=o.keys,i=o.freeze,c=t=>(t=>s(t,o)&&t.constructor==o)(t)&&0==(t=>r(t).length)(t),d=t=>JSON.stringify(t,((t,e)=>s(e,Map)?o.fromEntries([...e]):e)),y=JSON.parse,u=t=>new Map(t),f=(t,e)=>t?.get(e),p=(t,e,a)=>{return n(a)?(s=t,o=e,s?.delete(o),t):t?.set(e,a);var s,o},h=(t,e,a)=>{var s,n;return s=t,n=e,s?.has(n)||p(t,e,a()),f(t,e)},l=u(),v=u(),w="message";t.createPartyKitPersister=(t,s,o="https",r)=>{const{host:u,room:g}=s.partySocketOptions,m=o+"://"+u+"/parties/"+(s.name??"main")+"/"+g+"/store",S=async t=>await(await fetch(m,{...t?{method:"PUT",body:d(t)}:{},mode:"cors",cache:"no-store"})).json();return((t,e,a,s,o,r,d=[])=>{let y,u,w,g=0,m=0;h(l,d,(()=>0)),h(v,d,(()=>[]));const S=async t=>(2!=g&&(g=1,await A.schedule((async()=>{await t(),g=0}))),A),A={load:async(a,s)=>await S((async()=>{try{t.setContent(await e())}catch{t.setContent([a,s])}})),startAutoLoad:async(a={},n={})=>(A.stopAutoLoad(),await A.load(a,n),m=1,w=s((async(a,s)=>{if(s){const e=s();await S((async()=>t.setTransactionChanges(e)))}else await S((async()=>{try{t.setContent(a?.()??await e())}catch(t){r?.(t)}}))})),A),stopAutoLoad:()=>(m&&(o(w),w=void 0,m=0),A),save:async e=>(1!=g&&(g=2,await A.schedule((async()=>{try{await a(t.getContent,e)}catch(t){r?.(t)}g=0}))),A),startAutoSave:async()=>(await A.stopAutoSave().save(),y=t.addDidFinishTransactionListener(((t,e)=>{const[a,s]=e();c(a)&&c(s)||A.save((()=>[a,s]))})),A),stopAutoSave:()=>{var e,a;return e=y,a=t.delListener,n(e)||a(e),A},schedule:async(...t)=>(((t,...e)=>{t.push(...e)})(f(v,d),...t),await(async()=>{if(!f(l,d)){for(p(l,d,1);!n((t=f(v,d),u=t.shift()));)try{await u()}catch(t){r?.(t)}p(l,d,0)}var t})(),A),getStore:()=>t,destroy:()=>A.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return i(A)})(t,(async()=>await S()),(async(t,n)=>{var o;n?s.send(("s",o=n(),"s"+(e(o)==a?o:d(o)))):await S(t())}),(t=>{const e=e=>{const[a,s]=[(i=e.data)[0],y((n=i,o=1,n.slice(o,r)))];var n,o,r,i;"s"==a&&t(void 0,(()=>s))};return s.addEventListener(w,e),e}),(t=>{s.removeEventListener(w,t)}),r)}},"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?define(["exports"],e):e((t="undefined"!=typeof globalThis?globalThis:t||self).TinyBasePersisterPartyKitClient={});
|
|
Binary file
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var t,e;t=this,e=function(t){"use strict";const e=t=>typeof t,s=e(""),a="t",r=Promise,i=t=>null==t,n=(t,e,s)=>t.slice(e,s),o=(t,e)=>t.map(e),c=(t,...e)=>t.push(...e),l=Object,y=(t=[])=>l.fromEntries(t),f=(t,e)=>o(l.entries(t),(([t,s])=>e(s,t))),p=(t,e,s)=>(((t,e)=>!i(((t,e)=>{return a=t=>t[e],i(s=t)?void 0:a(s);var s,a})(t,e)))(t,e)||(t[e]=s()),t[e]),u=t=>JSON.stringify(t,((t,e)=>e instanceof Map?l.fromEntries([...e]):e)),d=JSON.parse,h=(t,e)=>[t[0],e?d(n(t,1)):n(t,1)],w=(t,e)=>((t,e)=>t?.forEach(e))(t,((t,s)=>e(s,t))),g="hasStore",v=y(o(["Origin","Methods","Headers"],(t=>["Access-Control-Allow-"+t,"*"]))),m=async t=>await t.get(g),b=async(t,e)=>{const s=[t.put(g,1)],n=[];f(e[0],((e,r)=>i(e)?((t,...e)=>t.unshift(...e))(n,P(a,r)):f(e,((e,o)=>i(e)?c(n,P(a,r,o)):f(e,((e,i)=>S(s,t,P(a,r,o,i),e))))))),f(e[1],((e,a)=>S(s,t,"v"+a,e))),0!=n.length&&w(await t.list(),(e=>n.every((a=>!e.startsWith(a)||S(s,t,e)&&!1)))),await(async t=>r.all(t))(s)},P=(t,...e)=>t+n(u(e),1,-1),S=(t,e,s,a)=>c(t,i(a)?e.delete(s):e.put(s,a)),T=(t,e=null)=>new Response(e,{status:t,headers:v});t.TinyBasePartyKitServer=class{constructor(t){this.party=t}async onRequest(t){const e=this.party.storage;if(t.url.endsWith("/store")){const s=await m(e),r=await t.text();return"PUT"==t.method?s?T(205):(await b(this.party.storage,d(r)),T(201)):T(200,s?u(await(async t=>{const e={},s={};return w(await t.list(),((t,r)=>{const[i,n]=h(t);if(i==a){const[t,s,a]=d("["+n+"]");p(p(e,t,y),s,y)[a]=r}else"v"==i&&(s[n]=r)})),[e,s]})(e)):"")}return T(404)}async onMessage(t,a){const r=this.party.storage,[i,n]=h(t,1);"s"==i&&await m(r)&&(await b(r,n),this.party.broadcast(((t,a)=>"s"+(e(a)==s?a:u(a)))(0,n),[a.id]))}}},"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?define(["exports"],e):e((t="undefined"!=typeof globalThis?globalThis:t||self).TinyBasePersisterPartyKitServer={});
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
var a,t;a=this,t=function(a){"use strict";const t=a=>typeof a,e="tinybase",s=",",n=t(""),i=(a,t)=>a.repeat(t),o=Promise,c=setInterval,r=clearInterval,l=(a,t)=>a instanceof t,y=a=>null==a,w=(a,t,e)=>y(a)?e?.():t(a),u=a=>t(a)==n,d=async a=>o.all(a),
|
|
1
|
+
var a,t;a=this,t=function(a){"use strict";const t=a=>typeof a,e="tinybase",s=",",n=t(""),i=(a,t)=>a.repeat(t),o=Promise,c=setInterval,r=clearInterval,l=(a,t)=>a instanceof t,y=a=>null==a,w=(a,t,e)=>y(a)?e?.():t(a),u=a=>t(a)==n,d=(a,t,e)=>a.slice(t,e),E=async a=>o.all(a),p=(a,t="")=>a.join(t),f=(a,t)=>a.map(t),m=a=>a.length,T=a=>0==m(a),v=(a,t)=>a.filter(t),h=(a,...t)=>a.push(...t),A=(a,t)=>a?.has(t)??!1,L=a=>[...a?.values()??[]],R=(a,t)=>a?.delete(t),N=Object,O=N.keys,S=N.freeze,C=(a=[])=>N.fromEntries(a),b=(...a)=>N.assign({},...a),D=(a,t)=>f(N.entries(a),(([a,e])=>t(e,a))),g=a=>N.values(a),I=a=>m(O(a)),_=a=>(a=>l(a,N)&&a.constructor==N)(a)&&0==I(a),M=a=>new Map(a),F=a=>[...a?.keys()??[]],$=(a,t)=>a?.get(t),P=(a,t)=>f([...a?.entries()??[]],(([a,e])=>t(e,a))),B=(a,t,e)=>y(e)?(R(a,t),a):a?.set(t,e),W=(a,t,e)=>(A(a,t)||B(a,t,e()),$(a,t)),j=(a,t,e,s=B)=>(D(t,((t,s)=>e(a,s,t))),((a,t)=>{((a,t)=>{a?.forEach(t)})(a,((a,e)=>t(e)))})(a,(e=>((a,t)=>!y(((a,t)=>w(a,(a=>a[t])))(a,t)))(t,e)?0:s(a,e))),a),x=a=>new Set(Array.isArray(a)||y(a)?a:[a]),k=(a,t)=>a?.add(t),q="_",H="_id",J=a=>`"${a.replace(/"/g,'""')}"`,U="FROM pragma_table_",V="WHERE",Y=(a,t,e)=>{const n=M();return[async()=>j(n,C(await E(f(await a("SELECT name "+U+"list WHERE schema='main'AND type='table'AND name IN("+G(t)+")",t),(async({name:t})=>[t,C(f(await a("SELECT name,type "+U+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>B(n,t,j(W(n,t,M),e,((a,t,e)=>{e!=$(a,t)&&B(a,t,e)}),((a,t)=>B(a,t))))),((a,t)=>B(n,t))),async(t,e)=>((a,t)=>!y($($(n,a),t)))(t,e)?C(v(f(await a("SELECT*FROM"+J(t)),(a=>{return[a[e],(t={...a},s=e,delete t[s],t)];var t,s})),(([a,t])=>!y(a)&&!_(t)))):{},async(t,e,i,o,c,r=!1)=>{const l=x();D(i??{},(a=>f(O(a??{}),(a=>k(l,a)))));const w=L(l);if(!r&&c&&T(w)&&A(n,t))return await a("DROP TABLE"+J(t)),void B(n,t);if(T(w)||A(n,t)){const s=$(n,t),i=x(F(s));await E([...f(w,(async e=>{R(i,e)||(await a(`ALTER TABLE${J(t)}ADD${J(e)}`),B(s,e,""))})),...!r&&o?f(L(i),(async n=>{n!=e&&(await a(`ALTER TABLE${J(t)}DROP${J(n)}`),B(s,n))})):[]])}else await a(`CREATE TABLE${J(t)}(${J(e)} PRIMARY KEY ON CONFLICT REPLACE${p(f(w,(a=>s+J(a))))});`),B(n,t,M([[e,""],...f(w,(a=>[a,""]))]));if(r)y(i)?await a("DELETE FROM"+J(t)+"WHERE 1"):await E(D(i,(async(s,n)=>{y(s)?await a("DELETE FROM"+J(t)+V+J(e)+"=?",[n]):T(w)||await z(a,t,e,O(s),[n,...g(s)])})));else if(T(w))A(n,t)&&await a("DELETE FROM"+J(t)+"WHERE 1");else{const s=v(F($(n,t)),(a=>a!=e)),o=[],c=[];D(i??{},((a,t)=>{h(o,t,...f(s,(t=>a?.[t]))),h(c,t)})),await z(a,t,e,s,o),await a("DELETE FROM"+J(t)+V+J(e)+"NOT IN("+G(c)+")",c)}},async t=>{let s;await a("BEGIN");try{s=await t()}catch(a){e?.(a)}return await a("END"),s}]},z=async(a,t,e,n,o)=>await a("INSERT INTO"+J(t)+"("+J(e)+p(f(n,(a=>s+J(a))))+")VALUES"+d(i(`,(?${i(",?",m(n))})`,m(o)/(m(n)+1)),1)+"ON CONFLICT("+J(e)+")DO UPDATE SET"+p(f(n,(a=>J(a)+"=excluded."+J(a))),s),o),G=a=>p(f(a,(()=>"?")),s),K=JSON.parse,Q=M(),X=M(),Z=(a,t,e,s,n,i,o=[])=>{let c,r,l,u=0,d=0;W(Q,o,(()=>0)),W(X,o,(()=>[]));const E=async a=>(2!=u&&(u=1,await p.schedule((async()=>{await a(),u=0}))),p),p={load:async(e,s)=>await E((async()=>{try{a.setContent(await t())}catch{a.setContent([e,s])}})),startAutoLoad:async(e={},n={})=>(p.stopAutoLoad(),await p.load(e,n),d=1,l=s((async(e,s)=>{if(s){const t=s();await E((async()=>a.setTransactionChanges(t)))}else await E((async()=>{try{a.setContent(e?.()??await t())}catch(a){i?.(a)}}))})),p),stopAutoLoad:()=>(d&&(n(l),l=void 0,d=0),p),save:async t=>(1!=u&&(u=2,await p.schedule((async()=>{try{await e(a.getContent,t)}catch(a){i?.(a)}u=0}))),p),startAutoSave:async()=>(await p.stopAutoSave().save(),c=a.addDidFinishTransactionListener(((a,t)=>{const[e,s]=t();_(e)&&_(s)||p.save((()=>[e,s]))})),p),stopAutoSave:()=>(w(c,a.delListener),p),schedule:async(...a)=>(h($(X,o),...a),await(async()=>{if(!$(Q,o)){for(B(Q,o,1);!y((a=$(X,o),r=a.shift()));)try{await r()}catch(a){i?.(a)}B(Q,o,0)}var a})(),p),getStore:()=>a,destroy:()=>p.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return S(p)},aa="store",ta=(a,t,e,s,n,[i],o,c)=>{const[r,y,w,u]=Y(t,o,n);return Z(a,(async()=>await u((async()=>(await r(),K((await y(i,H))[q]?.[aa]??"null"))))),(async a=>await u((async()=>{var t;await r(),await w(i,H,{[q]:{[aa]:(t=a()??null,JSON.stringify(t,((a,t)=>l(t,Map)?N.fromEntries([...t]):t)))}},!0,!0)}))),e,s,n,c)},ea=(a,t,e,s,n,[i,o,[c,r,l]],w,u)=>{const[d,p,f,m]=Y(t,w,n),T=async(a,t)=>await E(P(o,(async([e,s,n,i],o)=>{const c=a[o];t&&void 0===c||await f(e,s,c,n,i,t)}))),h=async(a,t)=>r?await f(l,H,{[q]:a},!0,!0,t):null;return Z(a,(async()=>await m((async()=>{await d();const a=await(async()=>C(v(await E(P(i,(async([a,t],e)=>[a,await p(e,t)]))),(a=>!_(a[1])))))(),t=await(async()=>c?(await p(l,H))[q]:{})();return _(a)&&y(t)?void 0:[a,t]}))),(async(a,t)=>await m((async()=>{if(await d(),y(t)){const[t,e]=a();await T(t),await h(e)}else{const[a,e]=t();await T(a,!0),await h(e,!0)}}))),e,s,n,u)},sa="json",na="autoLoadIntervalSeconds",ia="rowIdColumnName",oa="tableId",ca="tableName",ra={mode:sa,[na]:1},la={load:0,save:0,[ca]:e+"_values"},ya=(a,t,e,s)=>{const n=M();return D(a,((a,i)=>{const o=d(g(b(t,u(a)?{[e]:a}:a)),0,I(t));y(o[0])||s(i,o[0])||B(n,i,o)})),n},wa="pragma ",ua="data_version",da="schema_version",Ea=(a,t,s,n,i,o,l,y)=>{let w,E;const[p,f,m,T]=(a=>{const t=(a=>b(ra,u(a)?{storeTableName:a}:a??{}))(a),s=t[na];if(t.mode==sa){const{storeTableName:a=e}=t;return[1,s,[a],x(a)]}const{tables:{load:n={},save:i={}}={},values:o={}}=t,c=d(g(b(la,o)),0,I(la)),r=c[2],l=x(r);return[0,s,[ya(n,{[oa]:null,[ia]:H},oa,(a=>k(l,a)&&a==r)),ya(i,{[ca]:null,[ia]:H,deleteEmptyColumns:0,deleteEmptyTable:0},ca,((a,t)=>k(l,t)&&t==r)),c],l]})(t);return(p?ta:ea)(a,o?async(a,t)=>(o(a,t),await s(a,t)):s,(a=>[c((async()=>{try{const t=(await s(wa+ua))[0][ua],e=(await s(wa+da))[0][da];t==(w??=t)&&e==(E??=e)||(a(),w=t,E=e)}catch{}}),1e3*f),n((t=>T.has(t)?a():0))]),(([a,t])=>{r(a),w=E=null,i(t)}),l,m,L(T),y)};a.createSqliteWasmPersister=(a,t,e,s,n,i)=>Ea(a,s,(async(a,t=[])=>e.exec(a,{bind:t,rowMode:"object",returnValue:"resultRows"}).map((a=>({...a})))),(a=>t.capi.sqlite3_update_hook(e,((t,e,s,n)=>a(n)),0)),(()=>t.capi.sqlite3_update_hook(e,(()=>0),0)),n,i,e)},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((a="undefined"!=typeof globalThis?globalThis:a||self).TinyBasePersisterSqliteWasm={});
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
var a,t;a=this,t=function(a){"use strict";const t=a=>typeof a,e="tinybase",s=",",n=t(""),i=(a,t)=>a.repeat(t),c=Promise,o=setInterval,r=clearInterval,l=(a,t)=>a instanceof t,y=a=>null==a,w=(a,t,e)=>y(a)?e?.():t(a),u=a=>t(a)==n,E=async a=>c.all(a),
|
|
1
|
+
var a,t;a=this,t=function(a){"use strict";const t=a=>typeof a,e="tinybase",s=",",n=t(""),i=(a,t)=>a.repeat(t),c=Promise,o=setInterval,r=clearInterval,l=(a,t)=>a instanceof t,y=a=>null==a,w=(a,t,e)=>y(a)?e?.():t(a),u=a=>t(a)==n,E=(a,t,e)=>a.slice(t,e),d=async a=>c.all(a),f=(a,t="")=>a.join(t),p=(a,t)=>a.map(t),T=a=>a.length,m=a=>0==T(a),v=(a,t)=>a.filter(t),A=(a,...t)=>a.push(...t),L=(a,t)=>a?.has(t)??!1,h=a=>[...a?.values()??[]],N=(a,t)=>a?.delete(t),R=Object,O=R.keys,S=R.freeze,C=(a=[])=>R.fromEntries(a),g=(...a)=>R.assign({},...a),D=(a,t)=>p(R.entries(a),(([a,e])=>t(e,a))),b=a=>R.values(a),I=a=>T(O(a)),F=a=>(a=>l(a,R)&&a.constructor==R)(a)&&0==I(a),M=a=>new Map(a),$=a=>[...a?.keys()??[]],P=(a,t)=>a?.get(t),_=(a,t)=>p([...a?.entries()??[]],(([a,e])=>t(e,a))),B=(a,t,e)=>y(e)?(N(a,t),a):a?.set(t,e),j=(a,t,e)=>(L(a,t)||B(a,t,e()),P(a,t)),x=(a,t,e,s=B)=>(D(t,((t,s)=>e(a,s,t))),((a,t)=>{((a,t)=>{a?.forEach(t)})(a,((a,e)=>t(e)))})(a,(e=>((a,t)=>!y(((a,t)=>w(a,(a=>a[t])))(a,t)))(t,e)?0:s(a,e))),a),H=a=>new Set(Array.isArray(a)||y(a)?a:[a]),W=(a,t)=>a?.add(t),k="_",q="_id",J=a=>`"${a.replace(/"/g,'""')}"`,U="FROM pragma_table_",Y="WHERE",z=(a,t,e)=>{const n=M();return[async()=>x(n,C(await d(p(await a("SELECT name "+U+"list WHERE schema='main'AND type='table'AND name IN("+K(t)+")",t),(async({name:t})=>[t,C(p(await a("SELECT name,type "+U+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>B(n,t,x(j(n,t,M),e,((a,t,e)=>{e!=P(a,t)&&B(a,t,e)}),((a,t)=>B(a,t))))),((a,t)=>B(n,t))),async(t,e)=>((a,t)=>!y(P(P(n,a),t)))(t,e)?C(v(p(await a("SELECT*FROM"+J(t)),(a=>{return[a[e],(t={...a},s=e,delete t[s],t)];var t,s})),(([a,t])=>!y(a)&&!F(t)))):{},async(t,e,i,c,o,r=!1)=>{const l=H();D(i??{},(a=>p(O(a??{}),(a=>W(l,a)))));const w=h(l);if(!r&&o&&m(w)&&L(n,t))return await a("DROP TABLE"+J(t)),void B(n,t);if(m(w)||L(n,t)){const s=P(n,t),i=H($(s));await d([...p(w,(async e=>{N(i,e)||(await a(`ALTER TABLE${J(t)}ADD${J(e)}`),B(s,e,""))})),...!r&&c?p(h(i),(async n=>{n!=e&&(await a(`ALTER TABLE${J(t)}DROP${J(n)}`),B(s,n))})):[]])}else await a(`CREATE TABLE${J(t)}(${J(e)} PRIMARY KEY ON CONFLICT REPLACE${f(p(w,(a=>s+J(a))))});`),B(n,t,M([[e,""],...p(w,(a=>[a,""]))]));if(r)y(i)?await a("DELETE FROM"+J(t)+"WHERE 1"):await d(D(i,(async(s,n)=>{y(s)?await a("DELETE FROM"+J(t)+Y+J(e)+"=?",[n]):m(w)||await G(a,t,e,O(s),[n,...b(s)])})));else if(m(w))L(n,t)&&await a("DELETE FROM"+J(t)+"WHERE 1");else{const s=v($(P(n,t)),(a=>a!=e)),c=[],o=[];D(i??{},((a,t)=>{A(c,t,...p(s,(t=>a?.[t]))),A(o,t)})),await G(a,t,e,s,c),await a("DELETE FROM"+J(t)+Y+J(e)+"NOT IN("+K(o)+")",o)}},async t=>{let s;await a("BEGIN");try{s=await t()}catch(a){e?.(a)}return await a("END"),s}]},G=async(a,t,e,n,c)=>await a("INSERT INTO"+J(t)+"("+J(e)+f(p(n,(a=>s+J(a))))+")VALUES"+E(i(`,(?${i(",?",T(n))})`,T(c)/(T(n)+1)),1)+"ON CONFLICT("+J(e)+")DO UPDATE SET"+f(p(n,(a=>J(a)+"=excluded."+J(a))),s),c),K=a=>f(p(a,(()=>"?")),s),V=JSON.parse,Q=M(),X=M(),Z=(a,t,e,s,n,i,c=[])=>{let o,r,l,u=0,E=0;j(Q,c,(()=>0)),j(X,c,(()=>[]));const d=async a=>(2!=u&&(u=1,await f.schedule((async()=>{await a(),u=0}))),f),f={load:async(e,s)=>await d((async()=>{try{a.setContent(await t())}catch{a.setContent([e,s])}})),startAutoLoad:async(e={},n={})=>(f.stopAutoLoad(),await f.load(e,n),E=1,l=s((async(e,s)=>{if(s){const t=s();await d((async()=>a.setTransactionChanges(t)))}else await d((async()=>{try{a.setContent(e?.()??await t())}catch(a){i?.(a)}}))})),f),stopAutoLoad:()=>(E&&(n(l),l=void 0,E=0),f),save:async t=>(1!=u&&(u=2,await f.schedule((async()=>{try{await e(a.getContent,t)}catch(a){i?.(a)}u=0}))),f),startAutoSave:async()=>(await f.stopAutoSave().save(),o=a.addDidFinishTransactionListener(((a,t)=>{const[e,s]=t();F(e)&&F(s)||f.save((()=>[e,s]))})),f),stopAutoSave:()=>(w(o,a.delListener),f),schedule:async(...a)=>(A(P(X,c),...a),await(async()=>{if(!P(Q,c)){for(B(Q,c,1);!y((a=P(X,c),r=a.shift()));)try{await r()}catch(a){i?.(a)}B(Q,c,0)}var a})(),f),getStore:()=>a,destroy:()=>f.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return S(f)},aa="store",ta=(a,t,e,s,n,[i],c,o)=>{const[r,y,w,u]=z(t,c,n);return Z(a,(async()=>await u((async()=>(await r(),V((await y(i,q))[k]?.[aa]??"null"))))),(async a=>await u((async()=>{var t;await r(),await w(i,q,{[k]:{[aa]:(t=a()??null,JSON.stringify(t,((a,t)=>l(t,Map)?R.fromEntries([...t]):t)))}},!0,!0)}))),e,s,n,o)},ea=(a,t,e,s,n,[i,c,[o,r,l]],w,u)=>{const[E,f,p,T]=z(t,w,n),m=async(a,t)=>await d(_(c,(async([e,s,n,i],c)=>{const o=a[c];t&&void 0===o||await p(e,s,o,n,i,t)}))),A=async(a,t)=>r?await p(l,q,{[k]:a},!0,!0,t):null;return Z(a,(async()=>await T((async()=>{await E();const a=await(async()=>C(v(await d(_(i,(async([a,t],e)=>[a,await f(e,t)]))),(a=>!F(a[1])))))(),t=await(async()=>o?(await f(l,q))[k]:{})();return F(a)&&y(t)?void 0:[a,t]}))),(async(a,t)=>await T((async()=>{if(await E(),y(t)){const[t,e]=a();await m(t),await A(e)}else{const[a,e]=t();await m(a,!0),await A(e,!0)}}))),e,s,n,u)},sa="json",na="autoLoadIntervalSeconds",ia="rowIdColumnName",ca="tableId",oa="tableName",ra={mode:sa,[na]:1},la={load:0,save:0,[oa]:e+"_values"},ya=(a,t,e,s)=>{const n=M();return D(a,((a,i)=>{const c=E(b(g(t,u(a)?{[e]:a}:a)),0,I(t));y(c[0])||s(i,c[0])||B(n,i,c)})),n},wa="pragma ",ua="data_version",Ea="schema_version",da=(a,t,s,n,i,c,l,y)=>{let w,d;const[f,p,T,m]=(a=>{const t=(a=>g(ra,u(a)?{storeTableName:a}:a??{}))(a),s=t[na];if(t.mode==sa){const{storeTableName:a=e}=t;return[1,s,[a],H(a)]}const{tables:{load:n={},save:i={}}={},values:c={}}=t,o=E(b(g(la,c)),0,I(la)),r=o[2],l=H(r);return[0,s,[ya(n,{[ca]:null,[ia]:q},ca,(a=>W(l,a)&&a==r)),ya(i,{[oa]:null,[ia]:q,deleteEmptyColumns:0,deleteEmptyTable:0},oa,((a,t)=>W(l,t)&&t==r)),o],l]})(t);return(f?ta:ea)(a,c?async(a,t)=>(c(a,t),await s(a,t)):s,(a=>[o((async()=>{try{const t=(await s(wa+ua))[0][ua],e=(await s(wa+Ea))[0][Ea];t==(w??=t)&&e==(d??=e)||(a(),w=t,d=e)}catch{}}),1e3*p),n((t=>m.has(t)?a():0))]),(([a,t])=>{r(a),w=d=null,i(t)}),l,T,h(m),y)},fa="change";a.createSqlite3Persister=(a,t,e,s,n)=>da(a,e,(async(a,e=[])=>{return await(s=(s,n)=>t.all(a,e,((a,t)=>a?n(a):s(t.map((a=>({...a})))))),new c(s));var s}),(a=>{const e=(t,e,s)=>a(s);return t.on(fa,e),e}),(a=>t.off(fa,a)),s,n,t)},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((a="undefined"!=typeof globalThis?globalThis:a||self).TinyBasePersisterSqlite3={});
|
|
Binary file
|