0.2.0 • Published 10 months ago

@isograph/disposable-types v0.2.0

Weekly downloads
-
License
MIT
Repository
github
Last release
10 months ago

@isograph/disposable-types

A shared library that exports commonly-used types related to disposable items.

See the @isograph/react-disposable-state library for more information.

What is a disposable item?

A disposable item is anything that is either explicitly created or must be explicitly cleaned up. That is, it is an item with a lifecycle.

A disposable item is safe to use as long as its destructor has not been called.

Code that manages disposable items (such as the useDisposableState hook) should also ensure that each destructor is eventually called, and should not provide access to the underlying item once the destructor has been called.

Disposable items are allowed to have side effects when created or when destroyed.

Example

An example might be a claim to a resource in a shared store.

const [claim, disposeClaim]: ItemCleanupPair<Claim> = store.getClaimToResource({
  id: 4,
});

// Because the claim has not been disposed, this is safe to do:
const data = store.lookup(claim);

disposeClaim();

// Now that we've disposed of the claim, the underlying resource might have been removed from the store, so the following is not safe:
const unsafeData = store.lookup(claim);
0.0.0-main-27c54dfe

10 months ago

0.0.0-main-e3e8bd35

10 months ago

0.0.0-main-2eb325ad

10 months ago

0.0.0-main-f967d0d8

10 months ago

0.0.0-main-a779c3fa

10 months ago

0.0.0-main-27d27904

10 months ago

0.0.0-main-7e518adc

10 months ago

0.0.0-main-5786fd9a

10 months ago

0.0.0-main-33f55790

10 months ago

0.0.0-main-cd6f81ae

10 months ago

0.0.0-main-312396ca

10 months ago

0.0.0-main-81ce1b46

10 months ago

0.0.0-main-2a45cb8e

10 months ago

0.0.0-main-bc3a4c4e

10 months ago

0.0.0-main-2d80240d

10 months ago

0.0.0-main-635653ad

10 months ago

0.0.0-main-6ea7b362

10 months ago

0.0.0-main-a33a3ba5

10 months ago

0.0.0-main-adb0955b

10 months ago

0.0.0-main-ba9f1dc0

10 months ago

0.0.0-main-1ed9144e

10 months ago

0.0.0-main-c08fea92

10 months ago

0.0.0-main-1c9d51fd

10 months ago

0.0.0-main-24a3a309

10 months ago

0.0.0-main-9977b173

10 months ago

0.0.0-main-cebaca69

10 months ago

0.0.0-main-00af1d07

10 months ago

0.0.0-main-eca51643

10 months ago

0.0.0-main-49a3b791

10 months ago

0.0.0-main-86b60cac

10 months ago

0.0.0-main-5da1ab92

10 months ago

0.0.0-main-6bd3135f

10 months ago

0.0.0-main-fa95f207

10 months ago

0.0.0-main-e7d6b095

10 months ago

0.0.0-main-7f0213de

10 months ago

0.0.0-main-a60cb5f4

10 months ago

0.0.0-main-03306d26

10 months ago

0.0.0-main-ed225a2f

10 months ago

0.0.0-main-95d68bdb

10 months ago

0.0.0-main-9624b77b

10 months ago

0.0.0-main-f60a695a

10 months ago

0.0.0-main-3590e7ff

10 months ago

0.0.0-main-3a0c06c0

10 months ago

0.0.0-main-fde72b43

10 months ago

0.0.0-main-359621bd

10 months ago

0.0.0-main-ec963c15

10 months ago

0.0.0-main-deae48c9

10 months ago

0.0.0-main-bcb17610

10 months ago

0.0.0-main-5046aeef

11 months ago

0.0.0-main-feb39d09

11 months ago

0.0.0-main-d25e8223

11 months ago

0.0.0-main-f19a405a

11 months ago

0.0.0-main-41e5b427

11 months ago

0.0.0-main-88b54795

11 months ago

0.0.0-main-b82d48f7

11 months ago

0.0.0-main-afeb0123

11 months ago

0.0.0-main-c682402c

11 months ago

0.0.0-main-85244746

11 months ago

0.0.0-main-5a08f41e

11 months ago

0.0.0-main-eadfb992

11 months ago

0.0.0-main-df52a61c

11 months ago

0.0.0-main-7be74a4a

11 months ago

0.0.0-main-3246ac6f

11 months ago

0.0.0-main-c42c585e

11 months ago

0.0.0-main-8f1270e1

11 months ago

0.0.0-main-a8fa50f7

11 months ago

0.0.0-main-9ba8daa2

11 months ago

0.0.0-main-2f4311e8

11 months ago

0.0.0-main-2eacee40

11 months ago

0.0.0-main-a1719163

11 months ago

0.0.0-main-ce58404c

11 months ago

0.0.0-main-e0dec233

11 months ago

0.0.0-main-a35490bf

11 months ago

0.0.0-main-c938c1af

11 months ago

0.0.0-main-a94cf56c

11 months ago

0.0.0-main-13cb8421

11 months ago

0.0.0-main-dcf30dfc

11 months ago

0.0.0-main-3f50636d

11 months ago

0.0.0-main-3179ac5f

11 months ago

0.0.0-main-e981e49a

11 months ago

0.0.0-main-bc897185

11 months ago

0.0.0-main-4693ce16

11 months ago

0.0.0-main-003fa338

11 months ago

0.0.0-main-c82422d5

11 months ago

0.0.0-main-2fa0e011

11 months ago

0.0.0-main-46f02f4f

11 months ago

0.0.0-main-366b2007

11 months ago

0.0.0-main-a4b92149

11 months ago

0.0.0-main-2a2d5556

11 months ago

0.0.0-main-8fa74274

11 months ago

0.0.0-main-d43121ce

11 months ago

0.0.0-main-a7e15428

11 months ago

0.0.0-main-c10b5e98

11 months ago

0.0.0-main-dfe22b10

11 months ago

0.0.0-main-3dfc0c7a

11 months ago

0.0.0-main-ad610d36

11 months ago

0.0.0-main-4823854b

11 months ago

0.0.0-main-f6c1187d

11 months ago

0.0.0-main-09c35a96

11 months ago

0.0.0-main-03be6563

11 months ago

0.0.0-main-7d4bae3e

11 months ago

0.0.0-main-2ff9f31d

11 months ago

0.0.0-main-04cbf235

11 months ago

0.0.0-main-451cf238

11 months ago

0.0.0-main-e5ca30ca

11 months ago

0.0.0-main-18c54425

11 months ago

0.0.0-main-d57417f0

11 months ago

0.0.0-main-ca0c0f86

11 months ago

0.0.0-main-3913e7d8

11 months ago

0.0.0-main-d8aff718

11 months ago

0.0.0-main-46027826

12 months ago

0.0.0-main-b7b79634

11 months ago

0.0.0-main-8b64a409

11 months ago

0.0.0-main-fab8db7b

12 months ago

0.0.0-main-4b08a983

11 months ago

0.0.0-main-67785c60

12 months ago

0.0.0-main-752db914

11 months ago

0.0.0-main-6abaad06

11 months ago

0.0.0-main-2c66f42d

11 months ago

0.0.0-main-7e245bae

11 months ago

0.0.0-main-7986369f

11 months ago

0.0.0-main-fa61d1ea

11 months ago

0.0.0-main-351c9868

11 months ago

0.0.0-main-7f20f7d1

12 months ago

0.0.0-main-bf1400f8

11 months ago

0.0.0-main-75a6eaf1

11 months ago

0.0.0-main-d09a3258

11 months ago

0.0.0-main-7f0b6f51

12 months ago

0.0.0-main-0cc5b694

11 months ago

0.2.0

12 months ago

0.0.0-main-94c46ec4

12 months ago

0.0.0-main-1a5308d3

12 months ago

0.1.1

1 year ago

0.1.0

2 years ago

0.0.4

2 years ago