@thi.ng/fibers 1.0.76 → 1.0.78
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/README.md +32 -31
- package/csp.d.ts +1 -1
- package/package.json +12 -12
package/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
<!-- This file is generated - DO NOT EDIT! -->
|
|
2
|
-
<!-- Please see: https://
|
|
3
|
-
# 
|
|
4
4
|
|
|
5
5
|
[](https://www.npmjs.com/package/@thi.ng/fibers)
|
|
6
6
|

|
|
@@ -8,11 +8,12 @@
|
|
|
8
8
|
|
|
9
9
|
> [!NOTE]
|
|
10
10
|
> This is one of 214 standalone projects, maintained as part
|
|
11
|
-
> of the [@thi.ng/umbrella](https://
|
|
11
|
+
> of the [@thi.ng/umbrella](https://codeberg.org/thi.ng/umbrella/) ecosystem
|
|
12
12
|
> and anti-framework.
|
|
13
13
|
>
|
|
14
|
-
> 🚀 Please help me to work full-time on these projects by [sponsoring
|
|
15
|
-
>
|
|
14
|
+
> 🚀 Please help me to work full-time on these projects by [sponsoring
|
|
15
|
+
> me](https://codeberg.org/thi.ng/umbrella/src/branch/develop/CONTRIBUTING.md#donations).
|
|
16
|
+
> Thank you! ❤️
|
|
16
17
|
|
|
17
18
|
- [About](#about)
|
|
18
19
|
- [Basic usage](#basic-usage)
|
|
@@ -139,7 +140,7 @@ The following operators act as basic composition helpers to construct more elabo
|
|
|
139
140
|
### Composition via transducers
|
|
140
141
|
|
|
141
142
|
The [@thi.ng/transducers
|
|
142
|
-
package](https://
|
|
143
|
+
package](https://codeberg.org/thi.ng/umbrella/src/branch/develop/packages/transducers)
|
|
143
144
|
can be very helpful to create complex fiber setups, for example:
|
|
144
145
|
|
|
145
146
|
```ts tangle:export/readme-2.ts
|
|
@@ -205,7 +206,7 @@ values are being read, essentially a memory management issue).
|
|
|
205
206
|
#### Buffering behaviors
|
|
206
207
|
|
|
207
208
|
The following channel buffer types/behaviors are included (from the
|
|
208
|
-
[thi.ng/buffers](https://
|
|
209
|
+
[thi.ng/buffers](https://codeberg.org/thi.ng/umbrella/src/branch/develop/packages/buffers) package), all accepting a max. capacity
|
|
209
210
|
and all implementing the
|
|
210
211
|
[IReadWriteBuffer](https://docs.thi.ng/umbrella/fibers/interfaces/IReadWriteBuffer.html)
|
|
211
212
|
interface required by the channel:
|
|
@@ -223,7 +224,7 @@ interface required by the channel:
|
|
|
223
224
|
Sliding window ring buffer. Writes to the channel are **never** blocking!
|
|
224
225
|
Whilst the buffer is at full capacity, new writes will first expunge the
|
|
225
226
|
oldest buffered value (similar to [LRU
|
|
226
|
-
cache](https://
|
|
227
|
+
cache](https://codeberg.org/thi.ng/umbrella/src/branch/develop/packages/cache/README.md#lru)
|
|
227
228
|
behavior). Read behavior is the same as for `fifo`.
|
|
228
229
|
- [`dropping`](https://docs.thi.ng/umbrella/fibers/functions/dropping.html):
|
|
229
230
|
Dropping value ring buffer. Writes to the channel are **never** blocking!
|
|
@@ -370,12 +371,12 @@ if (res !== undefined) {
|
|
|
370
371
|
|
|
371
372
|
**ALPHA** - bleeding edge / work-in-progress
|
|
372
373
|
|
|
373
|
-
[Search or submit any issues for this package](https://
|
|
374
|
+
[Search or submit any issues for this package](https://codeberg.org/thi.ng/umbrella/issues?q=%5Bfibers%5D)
|
|
374
375
|
|
|
375
376
|
## Related packages
|
|
376
377
|
|
|
377
|
-
- [@thi.ng/csp](https://
|
|
378
|
-
- [@thi.ng/transducers-async](https://
|
|
378
|
+
- [@thi.ng/csp](https://codeberg.org/thi.ng/umbrella/src/branch/develop/packages/csp) - Primitives & operators for Communicating Sequential Processes based on async/await and async iterables
|
|
379
|
+
- [@thi.ng/transducers-async](https://codeberg.org/thi.ng/umbrella/src/branch/develop/packages/transducers-async) - Async versions of various highly composable transducers, reducers and iterators
|
|
379
380
|
|
|
380
381
|
## Installation
|
|
381
382
|
|
|
@@ -407,34 +408,34 @@ Package sizes (brotli'd, pre-treeshake): ESM: 2.43 KB
|
|
|
407
408
|
|
|
408
409
|
## Dependencies
|
|
409
410
|
|
|
410
|
-
- [@thi.ng/api](https://
|
|
411
|
-
- [@thi.ng/arrays](https://
|
|
412
|
-
- [@thi.ng/buffers](https://
|
|
413
|
-
- [@thi.ng/checks](https://
|
|
414
|
-
- [@thi.ng/errors](https://
|
|
415
|
-
- [@thi.ng/idgen](https://
|
|
416
|
-
- [@thi.ng/logger](https://
|
|
417
|
-
- [@thi.ng/random](https://
|
|
418
|
-
- [@thi.ng/timestamp](https://
|
|
411
|
+
- [@thi.ng/api](https://codeberg.org/thi.ng/umbrella/src/branch/develop/packages/api)
|
|
412
|
+
- [@thi.ng/arrays](https://codeberg.org/thi.ng/umbrella/src/branch/develop/packages/arrays)
|
|
413
|
+
- [@thi.ng/buffers](https://codeberg.org/thi.ng/umbrella/src/branch/develop/packages/buffers)
|
|
414
|
+
- [@thi.ng/checks](https://codeberg.org/thi.ng/umbrella/src/branch/develop/packages/checks)
|
|
415
|
+
- [@thi.ng/errors](https://codeberg.org/thi.ng/umbrella/src/branch/develop/packages/errors)
|
|
416
|
+
- [@thi.ng/idgen](https://codeberg.org/thi.ng/umbrella/src/branch/develop/packages/idgen)
|
|
417
|
+
- [@thi.ng/logger](https://codeberg.org/thi.ng/umbrella/src/branch/develop/packages/logger)
|
|
418
|
+
- [@thi.ng/random](https://codeberg.org/thi.ng/umbrella/src/branch/develop/packages/random)
|
|
419
|
+
- [@thi.ng/timestamp](https://codeberg.org/thi.ng/umbrella/src/branch/develop/packages/timestamp)
|
|
419
420
|
|
|
420
421
|
Note: @thi.ng/api is in _most_ cases a type-only import (not used at runtime)
|
|
421
422
|
|
|
422
423
|
## Usage examples
|
|
423
424
|
|
|
424
425
|
Eight projects in this repo's
|
|
425
|
-
[/examples](https://
|
|
426
|
+
[/examples](https://codeberg.org/thi.ng/umbrella/src/branch/develop/examples)
|
|
426
427
|
directory are using this package:
|
|
427
428
|
|
|
428
|
-
| Screenshot | Description | Live demo | Source
|
|
429
|
-
|
|
430
|
-
| <img src="https://
|
|
431
|
-
| <img src="https://
|
|
432
|
-
| <img src="https://
|
|
433
|
-
| <img src="https://
|
|
434
|
-
| <img src="https://
|
|
435
|
-
| <img src="https://
|
|
436
|
-
| <img src="https://
|
|
437
|
-
| <img src="https://
|
|
429
|
+
| Screenshot | Description | Live demo | Source |
|
|
430
|
+
|:-------------------------------------------------------------------------------------------------------------------------|:--------------------------------------------------------------------------------------------------------|:--------------------------------------------------------|:---------------------------------------------------------------------------------------------|
|
|
431
|
+
| <img src="https://codeberg.org/thi.ng/umbrella/media/branch/develop/assets/examples/ascii-raymarch.jpg" width="240"/> | ASCII art raymarching with thi.ng/shader-ast & thi.ng/text-canvas | [Demo](https://demo.thi.ng/umbrella/ascii-raymarch/) | [Source](https://codeberg.org/thi.ng/umbrella/src/branch/develop/examples/ascii-raymarch) |
|
|
432
|
+
| <img src="https://codeberg.org/thi.ng/umbrella/media/branch/develop/assets/examples/fiber-basics.png" width="240"/> | Fiber-based cooperative multitasking basics | [Demo](https://demo.thi.ng/umbrella/fiber-basics/) | [Source](https://codeberg.org/thi.ng/umbrella/src/branch/develop/examples/fiber-basics) |
|
|
433
|
+
| <img src="https://codeberg.org/thi.ng/umbrella/media/branch/develop/assets/examples/geom-unique-edges.png" width="240"/> | Iterating the unique edges of a tessellation | [Demo](https://demo.thi.ng/umbrella/geom-unique-edges/) | [Source](https://codeberg.org/thi.ng/umbrella/src/branch/develop/examples/geom-unique-edges) |
|
|
434
|
+
| <img src="https://codeberg.org/thi.ng/umbrella/media/branch/develop/assets/examples/ifs-fractal.jpg" width="240"/> | Barnsley fern IFS fractal renderer | [Demo](https://demo.thi.ng/umbrella/ifs-fractal/) | [Source](https://codeberg.org/thi.ng/umbrella/src/branch/develop/examples/ifs-fractal) |
|
|
435
|
+
| <img src="https://codeberg.org/thi.ng/umbrella/media/branch/develop/assets/examples/mastodon-feed.jpg" width="240"/> | Mastodon API feed reader with support for different media types, fullscreen media modal, HTML rewriting | [Demo](https://demo.thi.ng/umbrella/mastodon-feed/) | [Source](https://codeberg.org/thi.ng/umbrella/src/branch/develop/examples/mastodon-feed) |
|
|
436
|
+
| <img src="https://codeberg.org/thi.ng/umbrella/media/branch/develop/assets/examples/poly-subdiv.jpg" width="240"/> | Animated, iterative polygon subdivisions & visualization | [Demo](https://demo.thi.ng/umbrella/poly-subdiv/) | [Source](https://codeberg.org/thi.ng/umbrella/src/branch/develop/examples/poly-subdiv) |
|
|
437
|
+
| <img src="https://codeberg.org/thi.ng/umbrella/media/branch/develop/assets/examples/related-images.jpg" width="240"/> | Responsive image gallery with tag-based Jaccard similarity ranking | [Demo](https://demo.thi.ng/umbrella/related-images/) | [Source](https://codeberg.org/thi.ng/umbrella/src/branch/develop/examples/related-images) |
|
|
438
|
+
| <img src="https://codeberg.org/thi.ng/umbrella/media/branch/develop/assets/examples/render-audio.png" width="240"/> | Generative audio synth offline renderer and WAV file export | [Demo](https://demo.thi.ng/umbrella/render-audio/) | [Source](https://codeberg.org/thi.ng/umbrella/src/branch/develop/examples/render-audio) |
|
|
438
439
|
|
|
439
440
|
## API
|
|
440
441
|
|
package/csp.d.ts
CHANGED
|
@@ -147,7 +147,7 @@ export declare const lifo: <T>(cap: number) => LIFOBuffer<T>;
|
|
|
147
147
|
* With this implementation, writes to the channel are **never** blocking!
|
|
148
148
|
* Whilst the buffer is at full capacity, new writes will first expunge the
|
|
149
149
|
* oldest buffered value (similar to [LRU
|
|
150
|
-
* cache](https://
|
|
150
|
+
* cache](https://codeberg.org/thi.ng/umbrella/src/branch/develop/packages/cache/README.md#lru)
|
|
151
151
|
* behavior). Read behavior is the same as for {@link fifo}.
|
|
152
152
|
*
|
|
153
153
|
* Also see {@link dropping} for alternative behavior.
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@thi.ng/fibers",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.78",
|
|
4
4
|
"description": "Process hierarchies & operators for cooperative multitasking",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"module": "./index.js",
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
"sideEffects": false,
|
|
9
9
|
"repository": {
|
|
10
10
|
"type": "git",
|
|
11
|
-
"url": "git+https://
|
|
11
|
+
"url": "git+https://codeberg.org/thi.ng/umbrella.git",
|
|
12
12
|
"directory": "packages/fibers"
|
|
13
13
|
},
|
|
14
14
|
"homepage": "https://thi.ng/fibers",
|
|
@@ -40,15 +40,15 @@
|
|
|
40
40
|
"tool:tangle": "../../node_modules/.bin/tangle src/**/*.ts"
|
|
41
41
|
},
|
|
42
42
|
"dependencies": {
|
|
43
|
-
"@thi.ng/api": "^8.12.
|
|
44
|
-
"@thi.ng/arrays": "^2.14.
|
|
45
|
-
"@thi.ng/buffers": "^1.0.
|
|
46
|
-
"@thi.ng/checks": "^3.8.
|
|
47
|
-
"@thi.ng/errors": "^2.6.
|
|
48
|
-
"@thi.ng/idgen": "^2.2.
|
|
49
|
-
"@thi.ng/logger": "^3.3.
|
|
50
|
-
"@thi.ng/random": "^4.1.
|
|
51
|
-
"@thi.ng/timestamp": "^1.1.
|
|
43
|
+
"@thi.ng/api": "^8.12.18",
|
|
44
|
+
"@thi.ng/arrays": "^2.14.14",
|
|
45
|
+
"@thi.ng/buffers": "^1.0.37",
|
|
46
|
+
"@thi.ng/checks": "^3.8.8",
|
|
47
|
+
"@thi.ng/errors": "^2.6.7",
|
|
48
|
+
"@thi.ng/idgen": "^2.2.92",
|
|
49
|
+
"@thi.ng/logger": "^3.3.1",
|
|
50
|
+
"@thi.ng/random": "^4.1.43",
|
|
51
|
+
"@thi.ng/timestamp": "^1.1.37"
|
|
52
52
|
},
|
|
53
53
|
"devDependencies": {
|
|
54
54
|
"esbuild": "^0.27.2",
|
|
@@ -116,5 +116,5 @@
|
|
|
116
116
|
"status": "alpha",
|
|
117
117
|
"year": 2023
|
|
118
118
|
},
|
|
119
|
-
"gitHead": "
|
|
119
|
+
"gitHead": "8ddf86ea0a1e658ddbf19cc645b29d0c176e29c4\n"
|
|
120
120
|
}
|