@quenty/brio
Advanced tools
Comparing version 4.0.0-canary.236.5597d0a.0 to 4.0.0
@@ -6,3 +6,3 @@ # Change Log | ||
# [4.0.0-canary.236.5597d0a.0](https://github.com/Quenty/NevermoreEngine/compare/@quenty/brio@3.4.0...@quenty/brio@4.0.0-canary.236.5597d0a.0) (2021-12-18) | ||
# [4.0.0](https://github.com/Quenty/NevermoreEngine/compare/@quenty/brio@3.8.0...@quenty/brio@4.0.0) (2022-01-17) | ||
@@ -15,2 +15,72 @@ **Note:** Version bump only for package @quenty/brio | ||
# [3.8.0](https://github.com/Quenty/NevermoreEngine/compare/@quenty/brio@3.7.1...@quenty/brio@3.8.0) (2022-01-17) | ||
### Bug Fixes | ||
* RxBrioUtils.map correctly maps for n == 1, and RxBrioUtils.where is not a switch map. ([56e3a3a](https://github.com/Quenty/NevermoreEngine/commit/56e3a3a06334a9ca86e02cbec38710b82c61b9f2)) | ||
## [3.7.1](https://github.com/Quenty/NevermoreEngine/compare/@quenty/brio@3.7.0...@quenty/brio@3.7.1) (2022-01-16) | ||
**Note:** Version bump only for package @quenty/brio | ||
# [3.7.0](https://github.com/Quenty/NevermoreEngine/compare/@quenty/brio@3.6.0...@quenty/brio@3.7.0) (2022-01-07) | ||
### Features | ||
* Add RxBrioUtils.createStateStack(observable) ([bbd4596](https://github.com/Quenty/NevermoreEngine/commit/bbd4596321f80b6f58715b54605d2f8d0e9b2008)) | ||
# [3.6.0](https://github.com/Quenty/NevermoreEngine/compare/@quenty/brio@3.5.2...@quenty/brio@3.6.0) (2022-01-03) | ||
### Bug Fixes | ||
* Fix moonwave documentation ([f169457](https://github.com/Quenty/NevermoreEngine/commit/f1694578b1623ff1092113eb4effb7bcb4a23669)) | ||
### Features | ||
* Deprecate old brio commands and add new utility functions, including: ([71418b2](https://github.com/Quenty/NevermoreEngine/commit/71418b28cb3b28ad033b5445c1172a96e5d4467f)) | ||
## [3.5.2](https://github.com/Quenty/NevermoreEngine/compare/@quenty/brio@3.5.1...@quenty/brio@3.5.2) (2021-12-30) | ||
**Note:** Version bump only for package @quenty/brio | ||
## [3.5.1](https://github.com/Quenty/NevermoreEngine/compare/@quenty/brio@3.5.0...@quenty/brio@3.5.1) (2021-12-30) | ||
**Note:** Version bump only for package @quenty/brio | ||
# [3.5.0](https://github.com/Quenty/NevermoreEngine/compare/@quenty/brio@3.4.0...@quenty/brio@3.5.0) (2021-12-18) | ||
**Note:** Version bump only for package @quenty/brio | ||
# [3.4.0](https://github.com/Quenty/NevermoreEngine/compare/@quenty/brio@3.3.0...@quenty/brio@3.4.0) (2021-12-14) | ||
@@ -17,0 +87,0 @@ |
{ | ||
"name": "@quenty/brio", | ||
"version": "4.0.0-canary.236.5597d0a.0", | ||
"version": "4.0.0", | ||
"description": "Brios wrap an object and either are alive or dead", | ||
@@ -29,5 +29,6 @@ "keywords": [ | ||
"dependencies": { | ||
"@quenty/loader": "3.1.1", | ||
"@quenty/maid": "2.0.1", | ||
"@quenty/rx": "4.0.0-canary.236.5597d0a.0" | ||
"@quenty/loader": "^3.4.0", | ||
"@quenty/maid": "^2.1.0", | ||
"@quenty/rx": "^3.8.0", | ||
"@quenty/statestack": "^4.0.0" | ||
}, | ||
@@ -37,3 +38,3 @@ "publishConfig": { | ||
}, | ||
"gitHead": "5597d0abdadd88f369f1401a558a8d6d1a1c5aab" | ||
"gitHead": "cbd40cfd2fd23c14978a3154cad9d1e3d1c78edf" | ||
} |
## Brio | ||
<div align="center"> | ||
<a href="http://quenty.github.io/api/"> | ||
<img src="https://img.shields.io/badge/docs-website-green.svg" alt="Documentation" /> | ||
<a href="http://quenty.github.io/NevermoreEngine/"> | ||
<img src="https://github.com/Quenty/NevermoreEngine/actions/workflows/docs.yml/badge.svg" alt="Documentation status" /> | ||
</a> | ||
<a href="https://discord.gg/mhtGUS8"> | ||
<img src="https://img.shields.io/badge/discord-nevermore-blue.svg" alt="Discord" /> | ||
<img src="https://img.shields.io/discord/385151591524597761?color=5865F2&label=discord&logo=discord&logoColor=white" alt="Discord" /> | ||
</a> | ||
@@ -16,2 +16,4 @@ <a href="https://github.com/Quenty/NevermoreEngine/actions"> | ||
<div align="center"><a href="https://quenty.github.io/NevermoreEngine/api/Brio">View docs →</a></div> | ||
## Installation | ||
@@ -21,47 +23,1 @@ ``` | ||
``` | ||
- Can be in 2 states, dead or alive | ||
- While alive, can retrieve values | ||
- While dead, retrieving values is forbidden | ||
- Died will fire once upon death | ||
Brios encapsulate the "lifetime" of a valid resource. Unlike a maid, they | ||
- Can only die once | ||
- Have less memory leaks | ||
- Cannot be reentered | ||
Calling :Destroy() or :Kill() after death does nothing. Brios cannot be resurrected. | ||
Useful for downstream events where you want to emit a resource. Typically | ||
brios should be killed when their source is killed. | ||
Brios are intended to be merged with downstream brios so create a chain of reliable | ||
resources. | ||
Anything may "kill" a brio by calling :Destroy() or :Kill(). | ||
## Design philosophy | ||
Brios are designed to solve this issue where we emit an object with a lifetime associated with it from an Observable stream. This resource is only valid for some amount of time (for example, while the object is in the Roblox data model). | ||
In order to know how long we can keep this object/use it, we wrap the object with a Brio, which denotes the lifetime of the object. | ||
Modeling this with pure observables is very tricky because the subscriber will have to also monitor/emit a similar object with less clear conventions. For example an observable that emits the object, and then nil on death. | ||
## API Surface | ||
### `Brio.isBrio(value)` | ||
### `Brio.new(...) -- Wrap` | ||
### `Brio:GetDiedSignal()` | ||
### `Brio:IsDead()` | ||
### `Brio:ErrorIfDead()` | ||
### `Brio:ToMaid()` | ||
### `Brio:GetValue()` | ||
### `Brio:Destroy()` |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
No v1
QualityPackage is not semver >=1. This means it is not stable and does not support ^ ranges.
Found 1 instance in 1 package
42941
1
4
22
+ Added@quenty/statestack@^4.0.0
+ Added@quenty/baseobject@3.5.0(transitive)
+ Added@quenty/brio@3.8.0(transitive)
+ Added@quenty/deferred@2.2.0(transitive)
+ Added@quenty/loader@3.4.0(transitive)
+ Added@quenty/maid@2.6.0(transitive)
+ Added@quenty/promise@3.6.0(transitive)
+ Added@quenty/rx@3.8.0(transitive)
+ Added@quenty/signal@2.4.0(transitive)
+ Added@quenty/statestack@3.5.04.0.0(transitive)
+ Added@quenty/symbol@2.2.0(transitive)
+ Added@quenty/table@2.2.0(transitive)
+ Added@quenty/throttle@3.5.0(transitive)
+ Added@quenty/valueobject@3.8.0(transitive)
- Removed@quenty/deferred@2.0.1(transitive)
- Removed@quenty/loader@3.1.1(transitive)
- Removed@quenty/maid@2.0.1(transitive)
- Removed@quenty/promise@4.0.0-canary.236.5597d0a.0(transitive)
- Removed@quenty/rx@4.0.0-canary.236.5597d0a.0(transitive)
- Removed@quenty/signal@2.0.0(transitive)
- Removed@quenty/symbol@2.0.0(transitive)
- Removed@quenty/table@2.1.0(transitive)
- Removed@quenty/throttle@3.2.0(transitive)
Updated@quenty/loader@^3.4.0
Updated@quenty/maid@^2.1.0
Updated@quenty/rx@^3.8.0