0.2.0 • Published 9 months ago

@isograph/disposable-types v0.2.0

Weekly downloads
-
License
MIT
Repository
github
Last release
9 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-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

10 months ago

0.0.0-main-feb39d09

10 months ago

0.0.0-main-d25e8223

10 months ago

0.0.0-main-f19a405a

10 months ago

0.0.0-main-41e5b427

10 months ago

0.0.0-main-88b54795

10 months ago

0.0.0-main-b82d48f7

10 months ago

0.0.0-main-afeb0123

10 months ago

0.0.0-main-c682402c

10 months ago

0.0.0-main-85244746

10 months ago

0.0.0-main-5a08f41e

10 months ago

0.0.0-main-eadfb992

10 months ago

0.0.0-main-df52a61c

10 months ago

0.0.0-main-7be74a4a

10 months ago

0.0.0-main-3246ac6f

10 months ago

0.0.0-main-c42c585e

10 months ago

0.0.0-main-8f1270e1

10 months ago

0.0.0-main-a8fa50f7

10 months ago

0.0.0-main-9ba8daa2

10 months ago

0.0.0-main-2f4311e8

10 months ago

0.0.0-main-2eacee40

10 months ago

0.0.0-main-a1719163

10 months ago

0.0.0-main-ce58404c

10 months ago

0.0.0-main-e0dec233

10 months ago

0.0.0-main-a35490bf

10 months ago

0.0.0-main-c938c1af

10 months ago

0.0.0-main-a94cf56c

10 months ago

0.0.0-main-13cb8421

10 months ago

0.0.0-main-dcf30dfc

10 months ago

0.0.0-main-3f50636d

10 months ago

0.0.0-main-3179ac5f

10 months ago

0.0.0-main-e981e49a

10 months ago

0.0.0-main-bc897185

10 months ago

0.0.0-main-4693ce16

10 months ago

0.0.0-main-003fa338

10 months ago

0.0.0-main-c82422d5

10 months ago

0.0.0-main-2fa0e011

10 months ago

0.0.0-main-46f02f4f

10 months ago

0.0.0-main-366b2007

10 months ago

0.0.0-main-a4b92149

10 months ago

0.0.0-main-2a2d5556

10 months ago

0.0.0-main-8fa74274

10 months ago

0.0.0-main-d43121ce

10 months ago

0.0.0-main-a7e15428

10 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

10 months ago

0.0.0-main-4823854b

10 months ago

0.0.0-main-f6c1187d

10 months ago

0.0.0-main-09c35a96

10 months ago

0.0.0-main-03be6563

10 months ago

0.0.0-main-7d4bae3e

10 months ago

0.0.0-main-2ff9f31d

11 months ago

0.0.0-main-04cbf235

10 months ago

0.0.0-main-451cf238

11 months ago

0.0.0-main-e5ca30ca

11 months ago

0.0.0-main-18c54425

10 months ago

0.0.0-main-d57417f0

10 months ago

0.0.0-main-ca0c0f86

10 months ago

0.0.0-main-3913e7d8

11 months ago

0.0.0-main-d8aff718

10 months ago

0.0.0-main-46027826

11 months ago

0.0.0-main-b7b79634

11 months ago

0.0.0-main-8b64a409

11 months ago

0.0.0-main-fab8db7b

11 months ago

0.0.0-main-4b08a983

11 months ago

0.0.0-main-67785c60

11 months ago

0.0.0-main-752db914

11 months ago

0.0.0-main-6abaad06

10 months ago

0.0.0-main-2c66f42d

11 months ago

0.0.0-main-7e245bae

10 months ago

0.0.0-main-7986369f

11 months ago

0.0.0-main-fa61d1ea

11 months ago

0.0.0-main-351c9868

10 months ago

0.0.0-main-7f20f7d1

11 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

11 months ago

0.0.0-main-0cc5b694

10 months ago

0.2.0

11 months ago

0.0.0-main-94c46ec4

11 months ago

0.0.0-main-ae8aa2fe

12 months ago

0.0.0-main-c06bc99a

12 months ago

0.0.0-main-2d74f153

12 months ago

0.0.0-main-e1d79086

12 months ago

0.0.0-main-043fded2

12 months ago

0.0.0-main-d3ef6e33

12 months ago

0.0.0-main-7fb13e90

12 months ago

0.0.0-main-d564e834

12 months ago

0.0.0-main-47ff1729

12 months ago

0.0.0-main-5c3c47b2

12 months ago

0.0.0-main-b80a5d6a

12 months ago

0.0.0-main-edade9ce

12 months ago

0.0.0-main-dd7a276d

12 months ago

0.0.0-main-783c4ec3

12 months ago

0.0.0-main-a1faebf3

12 months ago

0.0.0-main-7cd549b8

12 months ago

0.0.0-main-9b984d79

12 months ago

0.0.0-main-c83e82a2

12 months ago

0.0.0-main-79f9cbbb

12 months ago

0.0.0-main-fbe23de7

12 months ago

0.0.0-main-c6a74674

12 months ago

0.0.0-main-a1f52ae8

12 months ago

0.0.0-main-d6741831

12 months ago

0.0.0-main-1a5308d3

11 months ago

0.0.0-main-9ab4cfca

12 months ago

0.0.0-main-3a1418bf

12 months ago

0.0.0-main-67ce6901

12 months ago

0.0.0-main-6c4d9bd8

12 months ago

0.0.0-main-4089db6d

12 months ago

0.1.1

1 year ago

0.1.0

1 year ago

0.0.4

2 years ago