From c742faeed1967992410a198d4f9df72060e9eb0e Mon Sep 17 00:00:00 2001 From: Karsten Schmidt Date: Fri, 6 Mar 2020 13:48:17 +0000 Subject: [PATCH 01/70] chore: prune changelogs --- packages/adjacency/CHANGELOG.md | 40 --------------------- packages/api/CHANGELOG.md | 24 ------------- packages/arrays/CHANGELOG.md | 40 --------------------- packages/associative/CHANGELOG.md | 40 --------------------- packages/atom/CHANGELOG.md | 32 ----------------- packages/bench/CHANGELOG.md | 32 ----------------- packages/bencode/CHANGELOG.md | 40 --------------------- packages/binary/CHANGELOG.md | 16 --------- packages/bitfield/CHANGELOG.md | 32 ----------------- packages/bitstream/CHANGELOG.md | 32 ----------------- packages/cache/CHANGELOG.md | 40 --------------------- packages/checks/CHANGELOG.md | 32 ----------------- packages/color/CHANGELOG.md | 40 --------------------- packages/compare/CHANGELOG.md | 32 ----------------- packages/compose/CHANGELOG.md | 32 ----------------- packages/csp/CHANGELOG.md | 40 --------------------- packages/dcons/CHANGELOG.md | 40 --------------------- packages/defmulti/CHANGELOG.md | 32 ----------------- packages/dgraph/CHANGELOG.md | 40 --------------------- packages/diff/CHANGELOG.md | 32 ----------------- packages/dl-asset/CHANGELOG.md | 8 ----- packages/dlogic/CHANGELOG.md | 32 ----------------- packages/dot/CHANGELOG.md | 32 ----------------- packages/dsp-io-wav/CHANGELOG.md | 32 ----------------- packages/dsp/CHANGELOG.md | 40 --------------------- packages/dynvar/CHANGELOG.md | 32 ----------------- packages/ecs/CHANGELOG.md | 40 --------------------- packages/equiv/CHANGELOG.md | 32 ----------------- packages/errors/CHANGELOG.md | 32 ----------------- packages/fsm/CHANGELOG.md | 32 ----------------- packages/geom-accel/CHANGELOG.md | 40 --------------------- packages/geom-api/CHANGELOG.md | 40 --------------------- packages/geom-arc/CHANGELOG.md | 40 --------------------- packages/geom-clip-line/CHANGELOG.md | 32 ----------------- packages/geom-clip-poly/CHANGELOG.md | 32 ----------------- packages/geom-closest-point/CHANGELOG.md | 40 --------------------- packages/geom-hull/CHANGELOG.md | 43 ----------------------- packages/geom-isec/CHANGELOG.md | 40 --------------------- packages/geom-isoline/CHANGELOG.md | 40 --------------------- packages/geom-poly-utils/CHANGELOG.md | 40 --------------------- packages/geom-resample/CHANGELOG.md | 40 --------------------- packages/geom-splines/CHANGELOG.md | 32 ----------------- packages/geom-subdiv-curve/CHANGELOG.md | 40 --------------------- packages/geom-tessellate/CHANGELOG.md | 40 --------------------- packages/geom-voronoi/CHANGELOG.md | 40 --------------------- packages/geom/CHANGELOG.md | 32 ----------------- packages/gp/CHANGELOG.md | 40 --------------------- packages/grid-iterators/CHANGELOG.md | 32 ----------------- packages/hdom-canvas/CHANGELOG.md | 40 --------------------- packages/hdom-components/CHANGELOG.md | 32 ----------------- packages/hdom-mock/CHANGELOG.md | 32 ----------------- packages/hdom/CHANGELOG.md | 32 ----------------- packages/heaps/CHANGELOG.md | 40 --------------------- packages/hiccup-carbon-icons/CHANGELOG.md | 32 ----------------- packages/hiccup-css/CHANGELOG.md | 40 --------------------- packages/hiccup-markdown/CHANGELOG.md | 40 --------------------- packages/hiccup-svg/CHANGELOG.md | 40 --------------------- packages/hiccup/CHANGELOG.md | 32 ----------------- packages/idgen/CHANGELOG.md | 32 ----------------- packages/iges/CHANGELOG.md | 40 --------------------- packages/imgui/CHANGELOG.md | 32 ----------------- packages/interceptors/CHANGELOG.md | 32 ----------------- packages/intervals/CHANGELOG.md | 32 ----------------- packages/iterators/CHANGELOG.md | 40 --------------------- packages/layout/CHANGELOG.md | 24 ------------- packages/leb128/CHANGELOG.md | 40 --------------------- packages/lsys/CHANGELOG.md | 40 --------------------- packages/malloc/CHANGELOG.md | 32 ----------------- packages/math/CHANGELOG.md | 24 ------------- packages/matrices/CHANGELOG.md | 32 ----------------- packages/memoize/CHANGELOG.md | 24 ------------- packages/mime/CHANGELOG.md | 24 ------------- packages/morton/CHANGELOG.md | 32 ----------------- packages/paths/CHANGELOG.md | 32 ----------------- packages/pixel/CHANGELOG.md | 32 ----------------- packages/pointfree-lang/CHANGELOG.md | 32 ----------------- packages/pointfree/CHANGELOG.md | 32 ----------------- packages/poisson/CHANGELOG.md | 40 --------------------- packages/porter-duff/CHANGELOG.md | 32 ----------------- packages/quad-edge/CHANGELOG.md | 32 ----------------- packages/ramp/CHANGELOG.md | 40 --------------------- packages/random/CHANGELOG.md | 24 ------------- packages/range-coder/CHANGELOG.md | 40 --------------------- packages/resolve-map/CHANGELOG.md | 32 ----------------- packages/rle-pack/CHANGELOG.md | 32 ----------------- packages/router/CHANGELOG.md | 32 ----------------- packages/rstream-csp/CHANGELOG.md | 40 --------------------- packages/rstream-dot/CHANGELOG.md | 40 --------------------- packages/rstream-gestures/CHANGELOG.md | 40 --------------------- packages/rstream-graph/CHANGELOG.md | 40 --------------------- packages/rstream-log-file/CHANGELOG.md | 40 --------------------- packages/rstream-log/CHANGELOG.md | 40 --------------------- packages/rstream-query/CHANGELOG.md | 40 --------------------- packages/rstream/CHANGELOG.md | 40 --------------------- packages/sax/CHANGELOG.md | 40 --------------------- packages/scenegraph/CHANGELOG.md | 40 --------------------- packages/seq/CHANGELOG.md | 32 ----------------- packages/sexpr/CHANGELOG.md | 32 ----------------- packages/shader-ast-glsl/CHANGELOG.md | 40 --------------------- packages/shader-ast-js/CHANGELOG.md | 40 --------------------- packages/shader-ast-stdlib/CHANGELOG.md | 40 --------------------- packages/shader-ast/CHANGELOG.md | 40 --------------------- packages/simd/CHANGELOG.md | 40 --------------------- packages/soa/CHANGELOG.md | 40 --------------------- packages/sparse/CHANGELOG.md | 40 --------------------- packages/strings/CHANGELOG.md | 16 --------- packages/text-canvas/CHANGELOG.md | 24 ------------- packages/transducers-binary/CHANGELOG.md | 32 ----------------- packages/transducers-fsm/CHANGELOG.md | 40 --------------------- packages/transducers-hdom/CHANGELOG.md | 40 --------------------- packages/transducers-patch/CHANGELOG.md | 32 ----------------- packages/transducers-stats/CHANGELOG.md | 40 --------------------- packages/transducers/CHANGELOG.md | 24 ------------- packages/unionstruct/CHANGELOG.md | 32 ----------------- packages/vector-pools/CHANGELOG.md | 40 --------------------- packages/vectors/CHANGELOG.md | 24 ------------- packages/webgl-msdf/CHANGELOG.md | 40 --------------------- packages/webgl-shadertoy/CHANGELOG.md | 32 ----------------- packages/webgl/CHANGELOG.md | 32 ----------------- packages/zipper/CHANGELOG.md | 40 --------------------- 120 files changed, 4187 deletions(-) diff --git a/packages/adjacency/CHANGELOG.md b/packages/adjacency/CHANGELOG.md index 8bb07de919..5d75ce1cf3 100644 --- a/packages/adjacency/CHANGELOG.md +++ b/packages/adjacency/CHANGELOG.md @@ -3,46 +3,6 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [0.1.33](https://github.com/thi-ng/umbrella/compare/@thi.ng/adjacency@0.1.32...@thi.ng/adjacency@0.1.33) (2020-03-06) - -**Note:** Version bump only for package @thi.ng/adjacency - - - - - -## [0.1.32](https://github.com/thi-ng/umbrella/compare/@thi.ng/adjacency@0.1.31...@thi.ng/adjacency@0.1.32) (2020-03-01) - -**Note:** Version bump only for package @thi.ng/adjacency - - - - - -## [0.1.31](https://github.com/thi-ng/umbrella/compare/@thi.ng/adjacency@0.1.30...@thi.ng/adjacency@0.1.31) (2020-02-26) - -**Note:** Version bump only for package @thi.ng/adjacency - - - - - -## [0.1.30](https://github.com/thi-ng/umbrella/compare/@thi.ng/adjacency@0.1.29...@thi.ng/adjacency@0.1.30) (2020-02-26) - -**Note:** Version bump only for package @thi.ng/adjacency - - - - - -## [0.1.29](https://github.com/thi-ng/umbrella/compare/@thi.ng/adjacency@0.1.28...@thi.ng/adjacency@0.1.29) (2020-02-25) - -**Note:** Version bump only for package @thi.ng/adjacency - - - - - ## [0.1.7](https://github.com/thi-ng/umbrella/compare/@thi.ng/adjacency@0.1.6...@thi.ng/adjacency@0.1.7) (2019-03-18) ### Performance Improvements diff --git a/packages/api/CHANGELOG.md b/packages/api/CHANGELOG.md index e7dc0e6510..e1051ffea6 100644 --- a/packages/api/CHANGELOG.md +++ b/packages/api/CHANGELOG.md @@ -3,30 +3,6 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [6.8.3](https://github.com/thi-ng/umbrella/compare/@thi.ng/api@6.8.2...@thi.ng/api@6.8.3) (2020-03-06) - -**Note:** Version bump only for package @thi.ng/api - - - - - -## [6.8.2](https://github.com/thi-ng/umbrella/compare/@thi.ng/api@6.8.1...@thi.ng/api@6.8.2) (2020-02-26) - -**Note:** Version bump only for package @thi.ng/api - - - - - -## [6.8.1](https://github.com/thi-ng/umbrella/compare/@thi.ng/api@6.8.0...@thi.ng/api@6.8.1) (2020-02-26) - -**Note:** Version bump only for package @thi.ng/api - - - - - # [6.8.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/api@6.7.1...@thi.ng/api@6.8.0) (2020-02-25) diff --git a/packages/arrays/CHANGELOG.md b/packages/arrays/CHANGELOG.md index ce568aa37c..c319e64ee1 100644 --- a/packages/arrays/CHANGELOG.md +++ b/packages/arrays/CHANGELOG.md @@ -3,46 +3,6 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [0.5.6](https://github.com/thi-ng/umbrella/compare/@thi.ng/arrays@0.5.5...@thi.ng/arrays@0.5.6) (2020-03-06) - -**Note:** Version bump only for package @thi.ng/arrays - - - - - -## [0.5.5](https://github.com/thi-ng/umbrella/compare/@thi.ng/arrays@0.5.4...@thi.ng/arrays@0.5.5) (2020-03-01) - -**Note:** Version bump only for package @thi.ng/arrays - - - - - -## [0.5.4](https://github.com/thi-ng/umbrella/compare/@thi.ng/arrays@0.5.3...@thi.ng/arrays@0.5.4) (2020-02-26) - -**Note:** Version bump only for package @thi.ng/arrays - - - - - -## [0.5.3](https://github.com/thi-ng/umbrella/compare/@thi.ng/arrays@0.5.2...@thi.ng/arrays@0.5.3) (2020-02-26) - -**Note:** Version bump only for package @thi.ng/arrays - - - - - -## [0.5.2](https://github.com/thi-ng/umbrella/compare/@thi.ng/arrays@0.5.1...@thi.ng/arrays@0.5.2) (2020-02-25) - -**Note:** Version bump only for package @thi.ng/arrays - - - - - # [0.5.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/arrays@0.4.0...@thi.ng/arrays@0.5.0) (2020-01-24) ### Features diff --git a/packages/associative/CHANGELOG.md b/packages/associative/CHANGELOG.md index 9a27bef10a..42276d6c64 100644 --- a/packages/associative/CHANGELOG.md +++ b/packages/associative/CHANGELOG.md @@ -3,46 +3,6 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [3.1.8](https://github.com/thi-ng/umbrella/compare/@thi.ng/associative@3.1.7...@thi.ng/associative@3.1.8) (2020-03-06) - -**Note:** Version bump only for package @thi.ng/associative - - - - - -## [3.1.7](https://github.com/thi-ng/umbrella/compare/@thi.ng/associative@3.1.6...@thi.ng/associative@3.1.7) (2020-03-01) - -**Note:** Version bump only for package @thi.ng/associative - - - - - -## [3.1.6](https://github.com/thi-ng/umbrella/compare/@thi.ng/associative@3.1.5...@thi.ng/associative@3.1.6) (2020-02-26) - -**Note:** Version bump only for package @thi.ng/associative - - - - - -## [3.1.5](https://github.com/thi-ng/umbrella/compare/@thi.ng/associative@3.1.4...@thi.ng/associative@3.1.5) (2020-02-26) - -**Note:** Version bump only for package @thi.ng/associative - - - - - -## [3.1.4](https://github.com/thi-ng/umbrella/compare/@thi.ng/associative@3.1.3...@thi.ng/associative@3.1.4) (2020-02-25) - -**Note:** Version bump only for package @thi.ng/associative - - - - - # [3.1.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/associative@3.0.1...@thi.ng/associative@3.1.0) (2019-11-09) ### Bug Fixes diff --git a/packages/atom/CHANGELOG.md b/packages/atom/CHANGELOG.md index 22d7518ea5..f6be4c9b3a 100644 --- a/packages/atom/CHANGELOG.md +++ b/packages/atom/CHANGELOG.md @@ -3,38 +3,6 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [3.1.8](https://github.com/thi-ng/umbrella/compare/@thi.ng/atom@3.1.7...@thi.ng/atom@3.1.8) (2020-03-06) - -**Note:** Version bump only for package @thi.ng/atom - - - - - -## [3.1.7](https://github.com/thi-ng/umbrella/compare/@thi.ng/atom@3.1.6...@thi.ng/atom@3.1.7) (2020-02-26) - -**Note:** Version bump only for package @thi.ng/atom - - - - - -## [3.1.6](https://github.com/thi-ng/umbrella/compare/@thi.ng/atom@3.1.5...@thi.ng/atom@3.1.6) (2020-02-26) - -**Note:** Version bump only for package @thi.ng/atom - - - - - -## [3.1.5](https://github.com/thi-ng/umbrella/compare/@thi.ng/atom@3.1.4...@thi.ng/atom@3.1.5) (2020-02-25) - -**Note:** Version bump only for package @thi.ng/atom - - - - - # [3.1.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/atom@3.0.4...@thi.ng/atom@3.1.0) (2019-09-21) ### Features diff --git a/packages/bench/CHANGELOG.md b/packages/bench/CHANGELOG.md index 1afe8718d2..3133f0fc2e 100644 --- a/packages/bench/CHANGELOG.md +++ b/packages/bench/CHANGELOG.md @@ -3,38 +3,6 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [2.0.4](https://github.com/thi-ng/umbrella/compare/@thi.ng/bench@2.0.3...@thi.ng/bench@2.0.4) (2020-03-06) - -**Note:** Version bump only for package @thi.ng/bench - - - - - -## [2.0.3](https://github.com/thi-ng/umbrella/compare/@thi.ng/bench@2.0.2...@thi.ng/bench@2.0.3) (2020-02-26) - -**Note:** Version bump only for package @thi.ng/bench - - - - - -## [2.0.2](https://github.com/thi-ng/umbrella/compare/@thi.ng/bench@2.0.1...@thi.ng/bench@2.0.2) (2020-02-26) - -**Note:** Version bump only for package @thi.ng/bench - - - - - -## [2.0.1](https://github.com/thi-ng/umbrella/compare/@thi.ng/bench@2.0.0...@thi.ng/bench@2.0.1) (2020-02-25) - -**Note:** Version bump only for package @thi.ng/bench - - - - - # [2.0.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/bench@1.0.11...@thi.ng/bench@2.0.0) (2020-01-24) ### Bug Fixes diff --git a/packages/bencode/CHANGELOG.md b/packages/bencode/CHANGELOG.md index b0c93fc781..1c52f9f733 100644 --- a/packages/bencode/CHANGELOG.md +++ b/packages/bencode/CHANGELOG.md @@ -3,46 +3,6 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [0.3.14](https://github.com/thi-ng/umbrella/compare/@thi.ng/bencode@0.3.13...@thi.ng/bencode@0.3.14) (2020-03-06) - -**Note:** Version bump only for package @thi.ng/bencode - - - - - -## [0.3.13](https://github.com/thi-ng/umbrella/compare/@thi.ng/bencode@0.3.12...@thi.ng/bencode@0.3.13) (2020-03-01) - -**Note:** Version bump only for package @thi.ng/bencode - - - - - -## [0.3.12](https://github.com/thi-ng/umbrella/compare/@thi.ng/bencode@0.3.11...@thi.ng/bencode@0.3.12) (2020-02-26) - -**Note:** Version bump only for package @thi.ng/bencode - - - - - -## [0.3.11](https://github.com/thi-ng/umbrella/compare/@thi.ng/bencode@0.3.10...@thi.ng/bencode@0.3.11) (2020-02-26) - -**Note:** Version bump only for package @thi.ng/bencode - - - - - -## [0.3.10](https://github.com/thi-ng/umbrella/compare/@thi.ng/bencode@0.3.9...@thi.ng/bencode@0.3.10) (2020-02-25) - -**Note:** Version bump only for package @thi.ng/bencode - - - - - # [0.3.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/bencode@0.2.17...@thi.ng/bencode@0.3.0) (2019-07-07) ### Features diff --git a/packages/binary/CHANGELOG.md b/packages/binary/CHANGELOG.md index bf4189e2a0..9dcbec5486 100644 --- a/packages/binary/CHANGELOG.md +++ b/packages/binary/CHANGELOG.md @@ -22,22 +22,6 @@ See [Conventional Commits](https://conventionalcommits.org) for commit guideline -## [1.3.2](https://github.com/thi-ng/umbrella/compare/@thi.ng/binary@1.3.1...@thi.ng/binary@1.3.2) (2020-02-26) - -**Note:** Version bump only for package @thi.ng/binary - - - - - -## [1.3.1](https://github.com/thi-ng/umbrella/compare/@thi.ng/binary@1.3.0...@thi.ng/binary@1.3.1) (2020-02-26) - -**Note:** Version bump only for package @thi.ng/binary - - - - - # [1.3.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/binary@1.2.1...@thi.ng/binary@1.3.0) (2020-02-25) diff --git a/packages/bitfield/CHANGELOG.md b/packages/bitfield/CHANGELOG.md index b0b33c071a..95646ea43f 100644 --- a/packages/bitfield/CHANGELOG.md +++ b/packages/bitfield/CHANGELOG.md @@ -15,38 +15,6 @@ See [Conventional Commits](https://conventionalcommits.org) for commit guideline -## [0.2.8](https://github.com/thi-ng/umbrella/compare/@thi.ng/bitfield@0.2.7...@thi.ng/bitfield@0.2.8) (2020-03-01) - -**Note:** Version bump only for package @thi.ng/bitfield - - - - - -## [0.2.7](https://github.com/thi-ng/umbrella/compare/@thi.ng/bitfield@0.2.6...@thi.ng/bitfield@0.2.7) (2020-02-26) - -**Note:** Version bump only for package @thi.ng/bitfield - - - - - -## [0.2.6](https://github.com/thi-ng/umbrella/compare/@thi.ng/bitfield@0.2.5...@thi.ng/bitfield@0.2.6) (2020-02-26) - -**Note:** Version bump only for package @thi.ng/bitfield - - - - - -## [0.2.5](https://github.com/thi-ng/umbrella/compare/@thi.ng/bitfield@0.2.4...@thi.ng/bitfield@0.2.5) (2020-02-25) - -**Note:** Version bump only for package @thi.ng/bitfield - - - - - # [0.2.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/bitfield@0.1.12...@thi.ng/bitfield@0.2.0) (2019-09-21) ### Features diff --git a/packages/bitstream/CHANGELOG.md b/packages/bitstream/CHANGELOG.md index fea22b5479..6e2fb1f545 100644 --- a/packages/bitstream/CHANGELOG.md +++ b/packages/bitstream/CHANGELOG.md @@ -3,38 +3,6 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [1.1.10](https://github.com/thi-ng/umbrella/compare/@thi.ng/bitstream@1.1.9...@thi.ng/bitstream@1.1.10) (2020-03-06) - -**Note:** Version bump only for package @thi.ng/bitstream - - - - - -## [1.1.9](https://github.com/thi-ng/umbrella/compare/@thi.ng/bitstream@1.1.8...@thi.ng/bitstream@1.1.9) (2020-02-26) - -**Note:** Version bump only for package @thi.ng/bitstream - - - - - -## [1.1.8](https://github.com/thi-ng/umbrella/compare/@thi.ng/bitstream@1.1.7...@thi.ng/bitstream@1.1.8) (2020-02-26) - -**Note:** Version bump only for package @thi.ng/bitstream - - - - - -## [1.1.7](https://github.com/thi-ng/umbrella/compare/@thi.ng/bitstream@1.1.6...@thi.ng/bitstream@1.1.7) (2020-02-25) - -**Note:** Version bump only for package @thi.ng/bitstream - - - - - # [1.1.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/bitstream@1.0.6...@thi.ng/bitstream@1.1.0) (2019-07-07) ### Features diff --git a/packages/cache/CHANGELOG.md b/packages/cache/CHANGELOG.md index 2d1c05d93b..2ae3e93427 100644 --- a/packages/cache/CHANGELOG.md +++ b/packages/cache/CHANGELOG.md @@ -3,46 +3,6 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [1.0.34](https://github.com/thi-ng/umbrella/compare/@thi.ng/cache@1.0.33...@thi.ng/cache@1.0.34) (2020-03-06) - -**Note:** Version bump only for package @thi.ng/cache - - - - - -## [1.0.33](https://github.com/thi-ng/umbrella/compare/@thi.ng/cache@1.0.32...@thi.ng/cache@1.0.33) (2020-03-01) - -**Note:** Version bump only for package @thi.ng/cache - - - - - -## [1.0.32](https://github.com/thi-ng/umbrella/compare/@thi.ng/cache@1.0.31...@thi.ng/cache@1.0.32) (2020-02-26) - -**Note:** Version bump only for package @thi.ng/cache - - - - - -## [1.0.31](https://github.com/thi-ng/umbrella/compare/@thi.ng/cache@1.0.30...@thi.ng/cache@1.0.31) (2020-02-26) - -**Note:** Version bump only for package @thi.ng/cache - - - - - -## [1.0.30](https://github.com/thi-ng/umbrella/compare/@thi.ng/cache@1.0.29...@thi.ng/cache@1.0.30) (2020-02-25) - -**Note:** Version bump only for package @thi.ng/cache - - - - - # [1.0.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/cache@0.2.40...@thi.ng/cache@1.0.0) (2019-01-21) ### Bug Fixes diff --git a/packages/checks/CHANGELOG.md b/packages/checks/CHANGELOG.md index cd32398e40..ca386f5f7a 100644 --- a/packages/checks/CHANGELOG.md +++ b/packages/checks/CHANGELOG.md @@ -3,38 +3,6 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [2.5.4](https://github.com/thi-ng/umbrella/compare/@thi.ng/checks@2.5.3...@thi.ng/checks@2.5.4) (2020-03-06) - -**Note:** Version bump only for package @thi.ng/checks - - - - - -## [2.5.3](https://github.com/thi-ng/umbrella/compare/@thi.ng/checks@2.5.2...@thi.ng/checks@2.5.3) (2020-02-26) - -**Note:** Version bump only for package @thi.ng/checks - - - - - -## [2.5.2](https://github.com/thi-ng/umbrella/compare/@thi.ng/checks@2.5.1...@thi.ng/checks@2.5.2) (2020-02-26) - -**Note:** Version bump only for package @thi.ng/checks - - - - - -## [2.5.1](https://github.com/thi-ng/umbrella/compare/@thi.ng/checks@2.5.0...@thi.ng/checks@2.5.1) (2020-02-25) - -**Note:** Version bump only for package @thi.ng/checks - - - - - # [2.5.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/checks@2.4.2...@thi.ng/checks@2.5.0) (2020-01-24) ### Features diff --git a/packages/color/CHANGELOG.md b/packages/color/CHANGELOG.md index 71d703ca6d..99c08829d2 100644 --- a/packages/color/CHANGELOG.md +++ b/packages/color/CHANGELOG.md @@ -3,46 +3,6 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [1.1.10](https://github.com/thi-ng/umbrella/compare/@thi.ng/color@1.1.9...@thi.ng/color@1.1.10) (2020-03-06) - -**Note:** Version bump only for package @thi.ng/color - - - - - -## [1.1.9](https://github.com/thi-ng/umbrella/compare/@thi.ng/color@1.1.8...@thi.ng/color@1.1.9) (2020-03-01) - -**Note:** Version bump only for package @thi.ng/color - - - - - -## [1.1.8](https://github.com/thi-ng/umbrella/compare/@thi.ng/color@1.1.7...@thi.ng/color@1.1.8) (2020-02-26) - -**Note:** Version bump only for package @thi.ng/color - - - - - -## [1.1.7](https://github.com/thi-ng/umbrella/compare/@thi.ng/color@1.1.6...@thi.ng/color@1.1.7) (2020-02-26) - -**Note:** Version bump only for package @thi.ng/color - - - - - -## [1.1.6](https://github.com/thi-ng/umbrella/compare/@thi.ng/color@1.1.5...@thi.ng/color@1.1.6) (2020-02-25) - -**Note:** Version bump only for package @thi.ng/color - - - - - ## [1.1.2](https://github.com/thi-ng/umbrella/compare/@thi.ng/color@1.1.1...@thi.ng/color@1.1.2) (2019-11-09) ### Bug Fixes diff --git a/packages/compare/CHANGELOG.md b/packages/compare/CHANGELOG.md index b1538abc97..e1b9dd7a61 100644 --- a/packages/compare/CHANGELOG.md +++ b/packages/compare/CHANGELOG.md @@ -3,14 +3,6 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [1.2.1](https://github.com/thi-ng/umbrella/compare/@thi.ng/compare@1.2.0...@thi.ng/compare@1.2.1) (2020-03-06) - -**Note:** Version bump only for package @thi.ng/compare - - - - - # [1.2.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/compare@1.1.4...@thi.ng/compare@1.2.0) (2020-03-01) @@ -22,30 +14,6 @@ See [Conventional Commits](https://conventionalcommits.org) for commit guideline -## [1.1.4](https://github.com/thi-ng/umbrella/compare/@thi.ng/compare@1.1.3...@thi.ng/compare@1.1.4) (2020-02-26) - -**Note:** Version bump only for package @thi.ng/compare - - - - - -## [1.1.3](https://github.com/thi-ng/umbrella/compare/@thi.ng/compare@1.1.2...@thi.ng/compare@1.1.3) (2020-02-26) - -**Note:** Version bump only for package @thi.ng/compare - - - - - -## [1.1.2](https://github.com/thi-ng/umbrella/compare/@thi.ng/compare@1.1.1...@thi.ng/compare@1.1.2) (2020-02-25) - -**Note:** Version bump only for package @thi.ng/compare - - - - - # [1.1.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/compare@1.0.10...@thi.ng/compare@1.1.0) (2019-11-30) ### Features diff --git a/packages/compose/CHANGELOG.md b/packages/compose/CHANGELOG.md index 0a8226cb30..0a4eaf643a 100644 --- a/packages/compose/CHANGELOG.md +++ b/packages/compose/CHANGELOG.md @@ -3,38 +3,6 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [1.3.12](https://github.com/thi-ng/umbrella/compare/@thi.ng/compose@1.3.11...@thi.ng/compose@1.3.12) (2020-03-06) - -**Note:** Version bump only for package @thi.ng/compose - - - - - -## [1.3.11](https://github.com/thi-ng/umbrella/compare/@thi.ng/compose@1.3.10...@thi.ng/compose@1.3.11) (2020-02-26) - -**Note:** Version bump only for package @thi.ng/compose - - - - - -## [1.3.10](https://github.com/thi-ng/umbrella/compare/@thi.ng/compose@1.3.9...@thi.ng/compose@1.3.10) (2020-02-26) - -**Note:** Version bump only for package @thi.ng/compose - - - - - -## [1.3.9](https://github.com/thi-ng/umbrella/compare/@thi.ng/compose@1.3.8...@thi.ng/compose@1.3.9) (2020-02-25) - -**Note:** Version bump only for package @thi.ng/compose - - - - - # [1.3.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/compose@1.2.5...@thi.ng/compose@1.3.0) (2019-07-07) ### Features diff --git a/packages/csp/CHANGELOG.md b/packages/csp/CHANGELOG.md index 01ccf8ef9c..eaeaac92e9 100644 --- a/packages/csp/CHANGELOG.md +++ b/packages/csp/CHANGELOG.md @@ -3,46 +3,6 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [1.1.14](https://github.com/thi-ng/umbrella/compare/@thi.ng/csp@1.1.13...@thi.ng/csp@1.1.14) (2020-03-06) - -**Note:** Version bump only for package @thi.ng/csp - - - - - -## [1.1.13](https://github.com/thi-ng/umbrella/compare/@thi.ng/csp@1.1.12...@thi.ng/csp@1.1.13) (2020-03-01) - -**Note:** Version bump only for package @thi.ng/csp - - - - - -## [1.1.12](https://github.com/thi-ng/umbrella/compare/@thi.ng/csp@1.1.11...@thi.ng/csp@1.1.12) (2020-02-26) - -**Note:** Version bump only for package @thi.ng/csp - - - - - -## [1.1.11](https://github.com/thi-ng/umbrella/compare/@thi.ng/csp@1.1.10...@thi.ng/csp@1.1.11) (2020-02-26) - -**Note:** Version bump only for package @thi.ng/csp - - - - - -## [1.1.10](https://github.com/thi-ng/umbrella/compare/@thi.ng/csp@1.1.9...@thi.ng/csp@1.1.10) (2020-02-25) - -**Note:** Version bump only for package @thi.ng/csp - - - - - # [1.1.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/csp@1.0.19...@thi.ng/csp@1.1.0) (2019-07-07) ### Bug Fixes diff --git a/packages/dcons/CHANGELOG.md b/packages/dcons/CHANGELOG.md index e158433932..e0964f4591 100644 --- a/packages/dcons/CHANGELOG.md +++ b/packages/dcons/CHANGELOG.md @@ -3,46 +3,6 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [2.2.7](https://github.com/thi-ng/umbrella/compare/@thi.ng/dcons@2.2.6...@thi.ng/dcons@2.2.7) (2020-03-06) - -**Note:** Version bump only for package @thi.ng/dcons - - - - - -## [2.2.6](https://github.com/thi-ng/umbrella/compare/@thi.ng/dcons@2.2.5...@thi.ng/dcons@2.2.6) (2020-03-01) - -**Note:** Version bump only for package @thi.ng/dcons - - - - - -## [2.2.5](https://github.com/thi-ng/umbrella/compare/@thi.ng/dcons@2.2.4...@thi.ng/dcons@2.2.5) (2020-02-26) - -**Note:** Version bump only for package @thi.ng/dcons - - - - - -## [2.2.4](https://github.com/thi-ng/umbrella/compare/@thi.ng/dcons@2.2.3...@thi.ng/dcons@2.2.4) (2020-02-26) - -**Note:** Version bump only for package @thi.ng/dcons - - - - - -## [2.2.3](https://github.com/thi-ng/umbrella/compare/@thi.ng/dcons@2.2.2...@thi.ng/dcons@2.2.3) (2020-02-25) - -**Note:** Version bump only for package @thi.ng/dcons - - - - - # [2.2.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/dcons@2.1.6...@thi.ng/dcons@2.2.0) (2019-11-30) ### Features diff --git a/packages/defmulti/CHANGELOG.md b/packages/defmulti/CHANGELOG.md index a0a4d99246..65333f3a6a 100644 --- a/packages/defmulti/CHANGELOG.md +++ b/packages/defmulti/CHANGELOG.md @@ -3,38 +3,6 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [1.2.7](https://github.com/thi-ng/umbrella/compare/@thi.ng/defmulti@1.2.6...@thi.ng/defmulti@1.2.7) (2020-03-06) - -**Note:** Version bump only for package @thi.ng/defmulti - - - - - -## [1.2.6](https://github.com/thi-ng/umbrella/compare/@thi.ng/defmulti@1.2.5...@thi.ng/defmulti@1.2.6) (2020-02-26) - -**Note:** Version bump only for package @thi.ng/defmulti - - - - - -## [1.2.5](https://github.com/thi-ng/umbrella/compare/@thi.ng/defmulti@1.2.4...@thi.ng/defmulti@1.2.5) (2020-02-26) - -**Note:** Version bump only for package @thi.ng/defmulti - - - - - -## [1.2.4](https://github.com/thi-ng/umbrella/compare/@thi.ng/defmulti@1.2.3...@thi.ng/defmulti@1.2.4) (2020-02-25) - -**Note:** Version bump only for package @thi.ng/defmulti - - - - - # [1.2.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/defmulti@1.1.4...@thi.ng/defmulti@1.2.0) (2019-11-09) ### Features diff --git a/packages/dgraph/CHANGELOG.md b/packages/dgraph/CHANGELOG.md index 3c6046432d..8452a60674 100644 --- a/packages/dgraph/CHANGELOG.md +++ b/packages/dgraph/CHANGELOG.md @@ -3,46 +3,6 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [1.1.24](https://github.com/thi-ng/umbrella/compare/@thi.ng/dgraph@1.1.23...@thi.ng/dgraph@1.1.24) (2020-03-06) - -**Note:** Version bump only for package @thi.ng/dgraph - - - - - -## [1.1.23](https://github.com/thi-ng/umbrella/compare/@thi.ng/dgraph@1.1.22...@thi.ng/dgraph@1.1.23) (2020-03-01) - -**Note:** Version bump only for package @thi.ng/dgraph - - - - - -## [1.1.22](https://github.com/thi-ng/umbrella/compare/@thi.ng/dgraph@1.1.21...@thi.ng/dgraph@1.1.22) (2020-02-26) - -**Note:** Version bump only for package @thi.ng/dgraph - - - - - -## [1.1.21](https://github.com/thi-ng/umbrella/compare/@thi.ng/dgraph@1.1.20...@thi.ng/dgraph@1.1.21) (2020-02-26) - -**Note:** Version bump only for package @thi.ng/dgraph - - - - - -## [1.1.20](https://github.com/thi-ng/umbrella/compare/@thi.ng/dgraph@1.1.19...@thi.ng/dgraph@1.1.20) (2020-02-25) - -**Note:** Version bump only for package @thi.ng/dgraph - - - - - # [1.1.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/dgraph@1.0.13...@thi.ng/dgraph@1.1.0) (2019-04-02) ### Features diff --git a/packages/diff/CHANGELOG.md b/packages/diff/CHANGELOG.md index fef17680b7..d5e9b5d667 100644 --- a/packages/diff/CHANGELOG.md +++ b/packages/diff/CHANGELOG.md @@ -3,38 +3,6 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [3.2.12](https://github.com/thi-ng/umbrella/compare/@thi.ng/diff@3.2.11...@thi.ng/diff@3.2.12) (2020-03-06) - -**Note:** Version bump only for package @thi.ng/diff - - - - - -## [3.2.11](https://github.com/thi-ng/umbrella/compare/@thi.ng/diff@3.2.10...@thi.ng/diff@3.2.11) (2020-02-26) - -**Note:** Version bump only for package @thi.ng/diff - - - - - -## [3.2.10](https://github.com/thi-ng/umbrella/compare/@thi.ng/diff@3.2.9...@thi.ng/diff@3.2.10) (2020-02-26) - -**Note:** Version bump only for package @thi.ng/diff - - - - - -## [3.2.9](https://github.com/thi-ng/umbrella/compare/@thi.ng/diff@3.2.8...@thi.ng/diff@3.2.9) (2020-02-25) - -**Note:** Version bump only for package @thi.ng/diff - - - - - # [3.2.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/diff@3.1.3...@thi.ng/diff@3.2.0) (2019-07-07) ### Features diff --git a/packages/dl-asset/CHANGELOG.md b/packages/dl-asset/CHANGELOG.md index 42577e965d..402cc59957 100644 --- a/packages/dl-asset/CHANGELOG.md +++ b/packages/dl-asset/CHANGELOG.md @@ -3,14 +3,6 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [0.3.1](https://github.com/thi-ng/umbrella/compare/@thi.ng/dl-asset@0.3.0...@thi.ng/dl-asset@0.3.1) (2020-03-06) - -**Note:** Version bump only for package @thi.ng/dl-asset - - - - - # 0.3.0 (2020-02-26) diff --git a/packages/dlogic/CHANGELOG.md b/packages/dlogic/CHANGELOG.md index 1ea4e693cf..aab39f5142 100644 --- a/packages/dlogic/CHANGELOG.md +++ b/packages/dlogic/CHANGELOG.md @@ -3,38 +3,6 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [1.0.16](https://github.com/thi-ng/umbrella/compare/@thi.ng/dlogic@1.0.15...@thi.ng/dlogic@1.0.16) (2020-03-06) - -**Note:** Version bump only for package @thi.ng/dlogic - - - - - -## [1.0.15](https://github.com/thi-ng/umbrella/compare/@thi.ng/dlogic@1.0.14...@thi.ng/dlogic@1.0.15) (2020-02-26) - -**Note:** Version bump only for package @thi.ng/dlogic - - - - - -## [1.0.14](https://github.com/thi-ng/umbrella/compare/@thi.ng/dlogic@1.0.13...@thi.ng/dlogic@1.0.14) (2020-02-26) - -**Note:** Version bump only for package @thi.ng/dlogic - - - - - -## [1.0.13](https://github.com/thi-ng/umbrella/compare/@thi.ng/dlogic@1.0.12...@thi.ng/dlogic@1.0.13) (2020-02-25) - -**Note:** Version bump only for package @thi.ng/dlogic - - - - - # [1.0.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/dlogic@0.1.2...@thi.ng/dlogic@1.0.0) (2019-01-21) ### Build System diff --git a/packages/dot/CHANGELOG.md b/packages/dot/CHANGELOG.md index 5092c0ee79..859186dc0f 100644 --- a/packages/dot/CHANGELOG.md +++ b/packages/dot/CHANGELOG.md @@ -3,38 +3,6 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [1.1.13](https://github.com/thi-ng/umbrella/compare/@thi.ng/dot@1.1.12...@thi.ng/dot@1.1.13) (2020-03-06) - -**Note:** Version bump only for package @thi.ng/dot - - - - - -## [1.1.12](https://github.com/thi-ng/umbrella/compare/@thi.ng/dot@1.1.11...@thi.ng/dot@1.1.12) (2020-02-26) - -**Note:** Version bump only for package @thi.ng/dot - - - - - -## [1.1.11](https://github.com/thi-ng/umbrella/compare/@thi.ng/dot@1.1.10...@thi.ng/dot@1.1.11) (2020-02-26) - -**Note:** Version bump only for package @thi.ng/dot - - - - - -## [1.1.10](https://github.com/thi-ng/umbrella/compare/@thi.ng/dot@1.1.9...@thi.ng/dot@1.1.10) (2020-02-25) - -**Note:** Version bump only for package @thi.ng/dot - - - - - # [1.1.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/dot@1.0.12...@thi.ng/dot@1.1.0) (2019-07-07) ### Features diff --git a/packages/dsp-io-wav/CHANGELOG.md b/packages/dsp-io-wav/CHANGELOG.md index ceb07aa431..1158321d1a 100644 --- a/packages/dsp-io-wav/CHANGELOG.md +++ b/packages/dsp-io-wav/CHANGELOG.md @@ -3,38 +3,6 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [0.1.4](https://github.com/thi-ng/umbrella/compare/@thi.ng/dsp-io-wav@0.1.3...@thi.ng/dsp-io-wav@0.1.4) (2020-03-06) - -**Note:** Version bump only for package @thi.ng/dsp-io-wav - - - - - -## [0.1.3](https://github.com/thi-ng/umbrella/compare/@thi.ng/dsp-io-wav@0.1.2...@thi.ng/dsp-io-wav@0.1.3) (2020-03-01) - -**Note:** Version bump only for package @thi.ng/dsp-io-wav - - - - - -## [0.1.2](https://github.com/thi-ng/umbrella/compare/@thi.ng/dsp-io-wav@0.1.1...@thi.ng/dsp-io-wav@0.1.2) (2020-02-26) - -**Note:** Version bump only for package @thi.ng/dsp-io-wav - - - - - -## [0.1.1](https://github.com/thi-ng/umbrella/compare/@thi.ng/dsp-io-wav@0.1.0...@thi.ng/dsp-io-wav@0.1.1) (2020-02-26) - -**Note:** Version bump only for package @thi.ng/dsp-io-wav - - - - - # 0.1.0 (2020-02-25) diff --git a/packages/dsp/CHANGELOG.md b/packages/dsp/CHANGELOG.md index 9a464c8c84..8aaa5df03b 100644 --- a/packages/dsp/CHANGELOG.md +++ b/packages/dsp/CHANGELOG.md @@ -3,46 +3,6 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [2.0.6](https://github.com/thi-ng/umbrella/compare/@thi.ng/dsp@2.0.5...@thi.ng/dsp@2.0.6) (2020-03-06) - -**Note:** Version bump only for package @thi.ng/dsp - - - - - -## [2.0.5](https://github.com/thi-ng/umbrella/compare/@thi.ng/dsp@2.0.4...@thi.ng/dsp@2.0.5) (2020-03-01) - -**Note:** Version bump only for package @thi.ng/dsp - - - - - -## [2.0.4](https://github.com/thi-ng/umbrella/compare/@thi.ng/dsp@2.0.3...@thi.ng/dsp@2.0.4) (2020-02-26) - -**Note:** Version bump only for package @thi.ng/dsp - - - - - -## [2.0.3](https://github.com/thi-ng/umbrella/compare/@thi.ng/dsp@2.0.2...@thi.ng/dsp@2.0.3) (2020-02-26) - -**Note:** Version bump only for package @thi.ng/dsp - - - - - -## [2.0.2](https://github.com/thi-ng/umbrella/compare/@thi.ng/dsp@2.0.1...@thi.ng/dsp@2.0.2) (2020-02-25) - -**Note:** Version bump only for package @thi.ng/dsp - - - - - # [2.0.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/dsp@1.0.18...@thi.ng/dsp@2.0.0) (2020-01-24) ### Code Refactoring diff --git a/packages/dynvar/CHANGELOG.md b/packages/dynvar/CHANGELOG.md index 8d27831e96..0849bdf272 100644 --- a/packages/dynvar/CHANGELOG.md +++ b/packages/dynvar/CHANGELOG.md @@ -3,38 +3,6 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [0.1.5](https://github.com/thi-ng/umbrella/compare/@thi.ng/dynvar@0.1.4...@thi.ng/dynvar@0.1.5) (2020-03-06) - -**Note:** Version bump only for package @thi.ng/dynvar - - - - - -## [0.1.4](https://github.com/thi-ng/umbrella/compare/@thi.ng/dynvar@0.1.3...@thi.ng/dynvar@0.1.4) (2020-02-26) - -**Note:** Version bump only for package @thi.ng/dynvar - - - - - -## [0.1.3](https://github.com/thi-ng/umbrella/compare/@thi.ng/dynvar@0.1.2...@thi.ng/dynvar@0.1.3) (2020-02-26) - -**Note:** Version bump only for package @thi.ng/dynvar - - - - - -## [0.1.2](https://github.com/thi-ng/umbrella/compare/@thi.ng/dynvar@0.1.1...@thi.ng/dynvar@0.1.2) (2020-02-25) - -**Note:** Version bump only for package @thi.ng/dynvar - - - - - # 0.1.0 (2020-01-24) ### Features diff --git a/packages/ecs/CHANGELOG.md b/packages/ecs/CHANGELOG.md index 4c4bf5d0d1..990b6ada09 100644 --- a/packages/ecs/CHANGELOG.md +++ b/packages/ecs/CHANGELOG.md @@ -3,46 +3,6 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [0.3.6](https://github.com/thi-ng/umbrella/compare/@thi.ng/ecs@0.3.5...@thi.ng/ecs@0.3.6) (2020-03-06) - -**Note:** Version bump only for package @thi.ng/ecs - - - - - -## [0.3.5](https://github.com/thi-ng/umbrella/compare/@thi.ng/ecs@0.3.4...@thi.ng/ecs@0.3.5) (2020-03-01) - -**Note:** Version bump only for package @thi.ng/ecs - - - - - -## [0.3.4](https://github.com/thi-ng/umbrella/compare/@thi.ng/ecs@0.3.3...@thi.ng/ecs@0.3.4) (2020-02-26) - -**Note:** Version bump only for package @thi.ng/ecs - - - - - -## [0.3.3](https://github.com/thi-ng/umbrella/compare/@thi.ng/ecs@0.3.2...@thi.ng/ecs@0.3.3) (2020-02-26) - -**Note:** Version bump only for package @thi.ng/ecs - - - - - -## [0.3.2](https://github.com/thi-ng/umbrella/compare/@thi.ng/ecs@0.3.1...@thi.ng/ecs@0.3.2) (2020-02-25) - -**Note:** Version bump only for package @thi.ng/ecs - - - - - # [0.3.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/ecs@0.2.0...@thi.ng/ecs@0.3.0) (2020-01-24) ### Bug Fixes diff --git a/packages/equiv/CHANGELOG.md b/packages/equiv/CHANGELOG.md index 80307c528a..210a2bb6e4 100644 --- a/packages/equiv/CHANGELOG.md +++ b/packages/equiv/CHANGELOG.md @@ -3,38 +3,6 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [1.0.16](https://github.com/thi-ng/umbrella/compare/@thi.ng/equiv@1.0.15...@thi.ng/equiv@1.0.16) (2020-03-06) - -**Note:** Version bump only for package @thi.ng/equiv - - - - - -## [1.0.15](https://github.com/thi-ng/umbrella/compare/@thi.ng/equiv@1.0.14...@thi.ng/equiv@1.0.15) (2020-02-26) - -**Note:** Version bump only for package @thi.ng/equiv - - - - - -## [1.0.14](https://github.com/thi-ng/umbrella/compare/@thi.ng/equiv@1.0.13...@thi.ng/equiv@1.0.14) (2020-02-26) - -**Note:** Version bump only for package @thi.ng/equiv - - - - - -## [1.0.13](https://github.com/thi-ng/umbrella/compare/@thi.ng/equiv@1.0.12...@thi.ng/equiv@1.0.13) (2020-02-25) - -**Note:** Version bump only for package @thi.ng/equiv - - - - - # [1.0.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/equiv@0.1.15...@thi.ng/equiv@1.0.0) (2019-01-21) ### Build System diff --git a/packages/errors/CHANGELOG.md b/packages/errors/CHANGELOG.md index dc3f31e41a..25aa7885ed 100644 --- a/packages/errors/CHANGELOG.md +++ b/packages/errors/CHANGELOG.md @@ -3,38 +3,6 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [1.2.7](https://github.com/thi-ng/umbrella/compare/@thi.ng/errors@1.2.6...@thi.ng/errors@1.2.7) (2020-03-06) - -**Note:** Version bump only for package @thi.ng/errors - - - - - -## [1.2.6](https://github.com/thi-ng/umbrella/compare/@thi.ng/errors@1.2.5...@thi.ng/errors@1.2.6) (2020-02-26) - -**Note:** Version bump only for package @thi.ng/errors - - - - - -## [1.2.5](https://github.com/thi-ng/umbrella/compare/@thi.ng/errors@1.2.4...@thi.ng/errors@1.2.5) (2020-02-26) - -**Note:** Version bump only for package @thi.ng/errors - - - - - -## [1.2.4](https://github.com/thi-ng/umbrella/compare/@thi.ng/errors@1.2.3...@thi.ng/errors@1.2.4) (2020-02-25) - -**Note:** Version bump only for package @thi.ng/errors - - - - - # [1.2.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/errors@1.1.2...@thi.ng/errors@1.2.0) (2019-08-21) ### Features diff --git a/packages/fsm/CHANGELOG.md b/packages/fsm/CHANGELOG.md index 786765bf50..785ca9176a 100644 --- a/packages/fsm/CHANGELOG.md +++ b/packages/fsm/CHANGELOG.md @@ -14,38 +14,6 @@ See [Conventional Commits](https://conventionalcommits.org) for commit guideline -## [2.3.7](https://github.com/thi-ng/umbrella/compare/@thi.ng/fsm@2.3.6...@thi.ng/fsm@2.3.7) (2020-03-01) - -**Note:** Version bump only for package @thi.ng/fsm - - - - - -## [2.3.6](https://github.com/thi-ng/umbrella/compare/@thi.ng/fsm@2.3.5...@thi.ng/fsm@2.3.6) (2020-02-26) - -**Note:** Version bump only for package @thi.ng/fsm - - - - - -## [2.3.5](https://github.com/thi-ng/umbrella/compare/@thi.ng/fsm@2.3.4...@thi.ng/fsm@2.3.5) (2020-02-26) - -**Note:** Version bump only for package @thi.ng/fsm - - - - - -## [2.3.4](https://github.com/thi-ng/umbrella/compare/@thi.ng/fsm@2.3.3...@thi.ng/fsm@2.3.4) (2020-02-25) - -**Note:** Version bump only for package @thi.ng/fsm - - - - - # [2.3.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/fsm@2.2.5...@thi.ng/fsm@2.3.0) (2019-11-09) ### Features diff --git a/packages/geom-accel/CHANGELOG.md b/packages/geom-accel/CHANGELOG.md index e1a62ec867..f08f0bf87e 100644 --- a/packages/geom-accel/CHANGELOG.md +++ b/packages/geom-accel/CHANGELOG.md @@ -3,46 +3,6 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [2.0.6](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-accel@2.0.5...@thi.ng/geom-accel@2.0.6) (2020-03-06) - -**Note:** Version bump only for package @thi.ng/geom-accel - - - - - -## [2.0.5](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-accel@2.0.4...@thi.ng/geom-accel@2.0.5) (2020-03-01) - -**Note:** Version bump only for package @thi.ng/geom-accel - - - - - -## [2.0.4](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-accel@2.0.3...@thi.ng/geom-accel@2.0.4) (2020-02-26) - -**Note:** Version bump only for package @thi.ng/geom-accel - - - - - -## [2.0.3](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-accel@2.0.2...@thi.ng/geom-accel@2.0.3) (2020-02-26) - -**Note:** Version bump only for package @thi.ng/geom-accel - - - - - -## [2.0.2](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-accel@2.0.1...@thi.ng/geom-accel@2.0.2) (2020-02-25) - -**Note:** Version bump only for package @thi.ng/geom-accel - - - - - # [2.0.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-accel@1.2.10...@thi.ng/geom-accel@2.0.0) (2020-01-24) ### Bug Fixes diff --git a/packages/geom-api/CHANGELOG.md b/packages/geom-api/CHANGELOG.md index fba54bac44..a7c11d6a02 100644 --- a/packages/geom-api/CHANGELOG.md +++ b/packages/geom-api/CHANGELOG.md @@ -3,46 +3,6 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [1.0.6](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-api@1.0.5...@thi.ng/geom-api@1.0.6) (2020-03-06) - -**Note:** Version bump only for package @thi.ng/geom-api - - - - - -## [1.0.5](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-api@1.0.4...@thi.ng/geom-api@1.0.5) (2020-03-01) - -**Note:** Version bump only for package @thi.ng/geom-api - - - - - -## [1.0.4](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-api@1.0.3...@thi.ng/geom-api@1.0.4) (2020-02-26) - -**Note:** Version bump only for package @thi.ng/geom-api - - - - - -## [1.0.3](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-api@1.0.2...@thi.ng/geom-api@1.0.3) (2020-02-26) - -**Note:** Version bump only for package @thi.ng/geom-api - - - - - -## [1.0.2](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-api@1.0.1...@thi.ng/geom-api@1.0.2) (2020-02-25) - -**Note:** Version bump only for package @thi.ng/geom-api - - - - - # [1.0.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-api@0.3.8...@thi.ng/geom-api@1.0.0) (2020-01-24) ### Features diff --git a/packages/geom-arc/CHANGELOG.md b/packages/geom-arc/CHANGELOG.md index e1b4b8a99b..9e04e4e9a7 100644 --- a/packages/geom-arc/CHANGELOG.md +++ b/packages/geom-arc/CHANGELOG.md @@ -3,46 +3,6 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [0.2.17](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-arc@0.2.16...@thi.ng/geom-arc@0.2.17) (2020-03-06) - -**Note:** Version bump only for package @thi.ng/geom-arc - - - - - -## [0.2.16](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-arc@0.2.15...@thi.ng/geom-arc@0.2.16) (2020-03-01) - -**Note:** Version bump only for package @thi.ng/geom-arc - - - - - -## [0.2.15](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-arc@0.2.14...@thi.ng/geom-arc@0.2.15) (2020-02-26) - -**Note:** Version bump only for package @thi.ng/geom-arc - - - - - -## [0.2.14](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-arc@0.2.13...@thi.ng/geom-arc@0.2.14) (2020-02-26) - -**Note:** Version bump only for package @thi.ng/geom-arc - - - - - -## [0.2.13](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-arc@0.2.12...@thi.ng/geom-arc@0.2.13) (2020-02-25) - -**Note:** Version bump only for package @thi.ng/geom-arc - - - - - # [0.2.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-arc@0.1.17...@thi.ng/geom-arc@0.2.0) (2019-07-07) ### Features diff --git a/packages/geom-clip-line/CHANGELOG.md b/packages/geom-clip-line/CHANGELOG.md index d726a5faf8..5f1b41ff15 100644 --- a/packages/geom-clip-line/CHANGELOG.md +++ b/packages/geom-clip-line/CHANGELOG.md @@ -3,38 +3,6 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [1.0.4](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-clip-line@1.0.3...@thi.ng/geom-clip-line@1.0.4) (2020-03-06) - -**Note:** Version bump only for package @thi.ng/geom-clip-line - - - - - -## [1.0.3](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-clip-line@1.0.2...@thi.ng/geom-clip-line@1.0.3) (2020-03-01) - -**Note:** Version bump only for package @thi.ng/geom-clip-line - - - - - -## [1.0.2](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-clip-line@1.0.1...@thi.ng/geom-clip-line@1.0.2) (2020-02-26) - -**Note:** Version bump only for package @thi.ng/geom-clip-line - - - - - -## [1.0.1](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-clip-line@1.0.0...@thi.ng/geom-clip-line@1.0.1) (2020-02-26) - -**Note:** Version bump only for package @thi.ng/geom-clip-line - - - - - # 1.0.0 (2020-02-25) diff --git a/packages/geom-clip-poly/CHANGELOG.md b/packages/geom-clip-poly/CHANGELOG.md index e3491ed6fd..7776b2fd56 100644 --- a/packages/geom-clip-poly/CHANGELOG.md +++ b/packages/geom-clip-poly/CHANGELOG.md @@ -3,38 +3,6 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [1.0.4](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-clip-poly@1.0.3...@thi.ng/geom-clip-poly@1.0.4) (2020-03-06) - -**Note:** Version bump only for package @thi.ng/geom-clip-poly - - - - - -## [1.0.3](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-clip-poly@1.0.2...@thi.ng/geom-clip-poly@1.0.3) (2020-03-01) - -**Note:** Version bump only for package @thi.ng/geom-clip-poly - - - - - -## [1.0.2](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-clip-poly@1.0.1...@thi.ng/geom-clip-poly@1.0.2) (2020-02-26) - -**Note:** Version bump only for package @thi.ng/geom-clip-poly - - - - - -## [1.0.1](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-clip-poly@1.0.0...@thi.ng/geom-clip-poly@1.0.1) (2020-02-26) - -**Note:** Version bump only for package @thi.ng/geom-clip-poly - - - - - # 1.0.0 (2020-02-25) diff --git a/packages/geom-closest-point/CHANGELOG.md b/packages/geom-closest-point/CHANGELOG.md index d5e92a9886..be61165aa5 100644 --- a/packages/geom-closest-point/CHANGELOG.md +++ b/packages/geom-closest-point/CHANGELOG.md @@ -3,46 +3,6 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [0.3.17](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-closest-point@0.3.16...@thi.ng/geom-closest-point@0.3.17) (2020-03-06) - -**Note:** Version bump only for package @thi.ng/geom-closest-point - - - - - -## [0.3.16](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-closest-point@0.3.15...@thi.ng/geom-closest-point@0.3.16) (2020-03-01) - -**Note:** Version bump only for package @thi.ng/geom-closest-point - - - - - -## [0.3.15](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-closest-point@0.3.14...@thi.ng/geom-closest-point@0.3.15) (2020-02-26) - -**Note:** Version bump only for package @thi.ng/geom-closest-point - - - - - -## [0.3.14](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-closest-point@0.3.13...@thi.ng/geom-closest-point@0.3.14) (2020-02-26) - -**Note:** Version bump only for package @thi.ng/geom-closest-point - - - - - -## [0.3.13](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-closest-point@0.3.12...@thi.ng/geom-closest-point@0.3.13) (2020-02-25) - -**Note:** Version bump only for package @thi.ng/geom-closest-point - - - - - # [0.3.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-closest-point@0.2.3...@thi.ng/geom-closest-point@0.3.0) (2019-07-07) ### Bug Fixes diff --git a/packages/geom-hull/CHANGELOG.md b/packages/geom-hull/CHANGELOG.md index d75213193e..767840ada8 100644 --- a/packages/geom-hull/CHANGELOG.md +++ b/packages/geom-hull/CHANGELOG.md @@ -3,46 +3,3 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [0.0.37](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-hull@0.0.36...@thi.ng/geom-hull@0.0.37) (2020-03-06) - -**Note:** Version bump only for package @thi.ng/geom-hull - - - - - -## [0.0.36](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-hull@0.0.35...@thi.ng/geom-hull@0.0.36) (2020-03-01) - -**Note:** Version bump only for package @thi.ng/geom-hull - - - - - -## [0.0.35](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-hull@0.0.34...@thi.ng/geom-hull@0.0.35) (2020-02-26) - -**Note:** Version bump only for package @thi.ng/geom-hull - - - - - -## [0.0.34](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-hull@0.0.33...@thi.ng/geom-hull@0.0.34) (2020-02-26) - -**Note:** Version bump only for package @thi.ng/geom-hull - - - - - -## [0.0.33](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-hull@0.0.32...@thi.ng/geom-hull@0.0.33) (2020-02-25) - -**Note:** Version bump only for package @thi.ng/geom-hull - - - - - -## 0.0.2 (2019-02-05) - -**Note:** Version bump only for package @thi.ng/geom-hull diff --git a/packages/geom-isec/CHANGELOG.md b/packages/geom-isec/CHANGELOG.md index 45ceab509a..3e1212a027 100644 --- a/packages/geom-isec/CHANGELOG.md +++ b/packages/geom-isec/CHANGELOG.md @@ -3,46 +3,6 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [0.4.6](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-isec@0.4.5...@thi.ng/geom-isec@0.4.6) (2020-03-06) - -**Note:** Version bump only for package @thi.ng/geom-isec - - - - - -## [0.4.5](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-isec@0.4.4...@thi.ng/geom-isec@0.4.5) (2020-03-01) - -**Note:** Version bump only for package @thi.ng/geom-isec - - - - - -## [0.4.4](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-isec@0.4.3...@thi.ng/geom-isec@0.4.4) (2020-02-26) - -**Note:** Version bump only for package @thi.ng/geom-isec - - - - - -## [0.4.3](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-isec@0.4.2...@thi.ng/geom-isec@0.4.3) (2020-02-26) - -**Note:** Version bump only for package @thi.ng/geom-isec - - - - - -## [0.4.2](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-isec@0.4.1...@thi.ng/geom-isec@0.4.2) (2020-02-25) - -**Note:** Version bump only for package @thi.ng/geom-isec - - - - - # [0.4.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-isec@0.3.10...@thi.ng/geom-isec@0.4.0) (2020-01-24) ### Features diff --git a/packages/geom-isoline/CHANGELOG.md b/packages/geom-isoline/CHANGELOG.md index 8a6fefebcb..a8d7c3d870 100644 --- a/packages/geom-isoline/CHANGELOG.md +++ b/packages/geom-isoline/CHANGELOG.md @@ -3,46 +3,6 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [0.1.35](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-isoline@0.1.34...@thi.ng/geom-isoline@0.1.35) (2020-03-06) - -**Note:** Version bump only for package @thi.ng/geom-isoline - - - - - -## [0.1.34](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-isoline@0.1.33...@thi.ng/geom-isoline@0.1.34) (2020-03-01) - -**Note:** Version bump only for package @thi.ng/geom-isoline - - - - - -## [0.1.33](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-isoline@0.1.32...@thi.ng/geom-isoline@0.1.33) (2020-02-26) - -**Note:** Version bump only for package @thi.ng/geom-isoline - - - - - -## [0.1.32](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-isoline@0.1.31...@thi.ng/geom-isoline@0.1.32) (2020-02-26) - -**Note:** Version bump only for package @thi.ng/geom-isoline - - - - - -## [0.1.31](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-isoline@0.1.30...@thi.ng/geom-isoline@0.1.31) (2020-02-25) - -**Note:** Version bump only for package @thi.ng/geom-isoline - - - - - ## [0.1.25](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-isoline@0.1.24...@thi.ng/geom-isoline@0.1.25) (2019-08-21) ### Performance Improvements diff --git a/packages/geom-poly-utils/CHANGELOG.md b/packages/geom-poly-utils/CHANGELOG.md index 37451de572..f3ae25ae71 100644 --- a/packages/geom-poly-utils/CHANGELOG.md +++ b/packages/geom-poly-utils/CHANGELOG.md @@ -3,46 +3,6 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [0.1.35](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-poly-utils@0.1.34...@thi.ng/geom-poly-utils@0.1.35) (2020-03-06) - -**Note:** Version bump only for package @thi.ng/geom-poly-utils - - - - - -## [0.1.34](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-poly-utils@0.1.33...@thi.ng/geom-poly-utils@0.1.34) (2020-03-01) - -**Note:** Version bump only for package @thi.ng/geom-poly-utils - - - - - -## [0.1.33](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-poly-utils@0.1.32...@thi.ng/geom-poly-utils@0.1.33) (2020-02-26) - -**Note:** Version bump only for package @thi.ng/geom-poly-utils - - - - - -## [0.1.32](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-poly-utils@0.1.31...@thi.ng/geom-poly-utils@0.1.32) (2020-02-26) - -**Note:** Version bump only for package @thi.ng/geom-poly-utils - - - - - -## [0.1.31](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-poly-utils@0.1.30...@thi.ng/geom-poly-utils@0.1.31) (2020-02-25) - -**Note:** Version bump only for package @thi.ng/geom-poly-utils - - - - - ## [0.1.18](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-poly-utils@0.1.17...@thi.ng/geom-poly-utils@0.1.18) (2019-07-07) ### Bug Fixes diff --git a/packages/geom-resample/CHANGELOG.md b/packages/geom-resample/CHANGELOG.md index 0034d73def..57290c39f8 100644 --- a/packages/geom-resample/CHANGELOG.md +++ b/packages/geom-resample/CHANGELOG.md @@ -3,46 +3,6 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [0.2.17](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-resample@0.2.16...@thi.ng/geom-resample@0.2.17) (2020-03-06) - -**Note:** Version bump only for package @thi.ng/geom-resample - - - - - -## [0.2.16](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-resample@0.2.15...@thi.ng/geom-resample@0.2.16) (2020-03-01) - -**Note:** Version bump only for package @thi.ng/geom-resample - - - - - -## [0.2.15](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-resample@0.2.14...@thi.ng/geom-resample@0.2.15) (2020-02-26) - -**Note:** Version bump only for package @thi.ng/geom-resample - - - - - -## [0.2.14](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-resample@0.2.13...@thi.ng/geom-resample@0.2.14) (2020-02-26) - -**Note:** Version bump only for package @thi.ng/geom-resample - - - - - -## [0.2.13](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-resample@0.2.12...@thi.ng/geom-resample@0.2.13) (2020-02-25) - -**Note:** Version bump only for package @thi.ng/geom-resample - - - - - # [0.2.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-resample@0.1.17...@thi.ng/geom-resample@0.2.0) (2019-07-07) ### Features diff --git a/packages/geom-splines/CHANGELOG.md b/packages/geom-splines/CHANGELOG.md index 76562b2ba7..e85463a01f 100644 --- a/packages/geom-splines/CHANGELOG.md +++ b/packages/geom-splines/CHANGELOG.md @@ -3,38 +3,6 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [0.5.4](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-splines@0.5.3...@thi.ng/geom-splines@0.5.4) (2020-03-06) - -**Note:** Version bump only for package @thi.ng/geom-splines - - - - - -## [0.5.3](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-splines@0.5.2...@thi.ng/geom-splines@0.5.3) (2020-03-01) - -**Note:** Version bump only for package @thi.ng/geom-splines - - - - - -## [0.5.2](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-splines@0.5.1...@thi.ng/geom-splines@0.5.2) (2020-02-26) - -**Note:** Version bump only for package @thi.ng/geom-splines - - - - - -## [0.5.1](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-splines@0.5.0...@thi.ng/geom-splines@0.5.1) (2020-02-26) - -**Note:** Version bump only for package @thi.ng/geom-splines - - - - - # [0.5.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-splines@0.4.5...@thi.ng/geom-splines@0.5.0) (2020-02-25) diff --git a/packages/geom-subdiv-curve/CHANGELOG.md b/packages/geom-subdiv-curve/CHANGELOG.md index 6a8d4a7591..d776894b65 100644 --- a/packages/geom-subdiv-curve/CHANGELOG.md +++ b/packages/geom-subdiv-curve/CHANGELOG.md @@ -3,46 +3,6 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [0.1.34](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-subdiv-curve@0.1.33...@thi.ng/geom-subdiv-curve@0.1.34) (2020-03-06) - -**Note:** Version bump only for package @thi.ng/geom-subdiv-curve - - - - - -## [0.1.33](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-subdiv-curve@0.1.32...@thi.ng/geom-subdiv-curve@0.1.33) (2020-03-01) - -**Note:** Version bump only for package @thi.ng/geom-subdiv-curve - - - - - -## [0.1.32](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-subdiv-curve@0.1.31...@thi.ng/geom-subdiv-curve@0.1.32) (2020-02-26) - -**Note:** Version bump only for package @thi.ng/geom-subdiv-curve - - - - - -## [0.1.31](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-subdiv-curve@0.1.30...@thi.ng/geom-subdiv-curve@0.1.31) (2020-02-26) - -**Note:** Version bump only for package @thi.ng/geom-subdiv-curve - - - - - -## [0.1.30](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-subdiv-curve@0.1.29...@thi.ng/geom-subdiv-curve@0.1.30) (2020-02-25) - -**Note:** Version bump only for package @thi.ng/geom-subdiv-curve - - - - - # 0.1.0 (2019-02-05) ### Features diff --git a/packages/geom-tessellate/CHANGELOG.md b/packages/geom-tessellate/CHANGELOG.md index bf01b51f82..fbd9865da0 100644 --- a/packages/geom-tessellate/CHANGELOG.md +++ b/packages/geom-tessellate/CHANGELOG.md @@ -3,46 +3,6 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [0.2.17](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-tessellate@0.2.16...@thi.ng/geom-tessellate@0.2.17) (2020-03-06) - -**Note:** Version bump only for package @thi.ng/geom-tessellate - - - - - -## [0.2.16](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-tessellate@0.2.15...@thi.ng/geom-tessellate@0.2.16) (2020-03-01) - -**Note:** Version bump only for package @thi.ng/geom-tessellate - - - - - -## [0.2.15](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-tessellate@0.2.14...@thi.ng/geom-tessellate@0.2.15) (2020-02-26) - -**Note:** Version bump only for package @thi.ng/geom-tessellate - - - - - -## [0.2.14](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-tessellate@0.2.13...@thi.ng/geom-tessellate@0.2.14) (2020-02-26) - -**Note:** Version bump only for package @thi.ng/geom-tessellate - - - - - -## [0.2.13](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-tessellate@0.2.12...@thi.ng/geom-tessellate@0.2.13) (2020-02-25) - -**Note:** Version bump only for package @thi.ng/geom-tessellate - - - - - # [0.2.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-tessellate@0.1.17...@thi.ng/geom-tessellate@0.2.0) (2019-07-07) ### Features diff --git a/packages/geom-voronoi/CHANGELOG.md b/packages/geom-voronoi/CHANGELOG.md index b1b42c86d2..9ead259193 100644 --- a/packages/geom-voronoi/CHANGELOG.md +++ b/packages/geom-voronoi/CHANGELOG.md @@ -3,46 +3,6 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [0.1.35](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-voronoi@0.1.34...@thi.ng/geom-voronoi@0.1.35) (2020-03-06) - -**Note:** Version bump only for package @thi.ng/geom-voronoi - - - - - -## [0.1.34](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-voronoi@0.1.33...@thi.ng/geom-voronoi@0.1.34) (2020-03-01) - -**Note:** Version bump only for package @thi.ng/geom-voronoi - - - - - -## [0.1.33](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-voronoi@0.1.32...@thi.ng/geom-voronoi@0.1.33) (2020-02-26) - -**Note:** Version bump only for package @thi.ng/geom-voronoi - - - - - -## [0.1.32](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-voronoi@0.1.31...@thi.ng/geom-voronoi@0.1.32) (2020-02-26) - -**Note:** Version bump only for package @thi.ng/geom-voronoi - - - - - -## [0.1.31](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-voronoi@0.1.30...@thi.ng/geom-voronoi@0.1.31) (2020-02-25) - -**Note:** Version bump only for package @thi.ng/geom-voronoi - - - - - # 0.1.0 (2019-02-05) ### Features diff --git a/packages/geom/CHANGELOG.md b/packages/geom/CHANGELOG.md index 031079edb3..6c04f97e00 100644 --- a/packages/geom/CHANGELOG.md +++ b/packages/geom/CHANGELOG.md @@ -3,38 +3,6 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [1.8.4](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom@1.8.3...@thi.ng/geom@1.8.4) (2020-03-06) - -**Note:** Version bump only for package @thi.ng/geom - - - - - -## [1.8.3](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom@1.8.2...@thi.ng/geom@1.8.3) (2020-03-01) - -**Note:** Version bump only for package @thi.ng/geom - - - - - -## [1.8.2](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom@1.8.1...@thi.ng/geom@1.8.2) (2020-02-26) - -**Note:** Version bump only for package @thi.ng/geom - - - - - -## [1.8.1](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom@1.8.0...@thi.ng/geom@1.8.1) (2020-02-26) - -**Note:** Version bump only for package @thi.ng/geom - - - - - # [1.8.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom@1.7.10...@thi.ng/geom@1.8.0) (2020-02-25) diff --git a/packages/gp/CHANGELOG.md b/packages/gp/CHANGELOG.md index 5ca1e036fa..d3c7964d87 100644 --- a/packages/gp/CHANGELOG.md +++ b/packages/gp/CHANGELOG.md @@ -3,46 +3,6 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [0.1.7](https://github.com/thi-ng/umbrella/compare/@thi.ng/gp@0.1.6...@thi.ng/gp@0.1.7) (2020-03-06) - -**Note:** Version bump only for package @thi.ng/gp - - - - - -## [0.1.6](https://github.com/thi-ng/umbrella/compare/@thi.ng/gp@0.1.5...@thi.ng/gp@0.1.6) (2020-03-01) - -**Note:** Version bump only for package @thi.ng/gp - - - - - -## [0.1.5](https://github.com/thi-ng/umbrella/compare/@thi.ng/gp@0.1.4...@thi.ng/gp@0.1.5) (2020-02-26) - -**Note:** Version bump only for package @thi.ng/gp - - - - - -## [0.1.4](https://github.com/thi-ng/umbrella/compare/@thi.ng/gp@0.1.3...@thi.ng/gp@0.1.4) (2020-02-26) - -**Note:** Version bump only for package @thi.ng/gp - - - - - -## [0.1.3](https://github.com/thi-ng/umbrella/compare/@thi.ng/gp@0.1.2...@thi.ng/gp@0.1.3) (2020-02-25) - -**Note:** Version bump only for package @thi.ng/gp - - - - - # 0.1.0 (2019-11-30) ### Bug Fixes diff --git a/packages/grid-iterators/CHANGELOG.md b/packages/grid-iterators/CHANGELOG.md index 1ea3bb5954..e3f4cf11a4 100644 --- a/packages/grid-iterators/CHANGELOG.md +++ b/packages/grid-iterators/CHANGELOG.md @@ -3,38 +3,6 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [0.3.4](https://github.com/thi-ng/umbrella/compare/@thi.ng/grid-iterators@0.3.3...@thi.ng/grid-iterators@0.3.4) (2020-03-06) - -**Note:** Version bump only for package @thi.ng/grid-iterators - - - - - -## [0.3.3](https://github.com/thi-ng/umbrella/compare/@thi.ng/grid-iterators@0.3.2...@thi.ng/grid-iterators@0.3.3) (2020-03-01) - -**Note:** Version bump only for package @thi.ng/grid-iterators - - - - - -## [0.3.2](https://github.com/thi-ng/umbrella/compare/@thi.ng/grid-iterators@0.3.1...@thi.ng/grid-iterators@0.3.2) (2020-02-26) - -**Note:** Version bump only for package @thi.ng/grid-iterators - - - - - -## [0.3.1](https://github.com/thi-ng/umbrella/compare/@thi.ng/grid-iterators@0.3.0...@thi.ng/grid-iterators@0.3.1) (2020-02-26) - -**Note:** Version bump only for package @thi.ng/grid-iterators - - - - - # [0.3.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/grid-iterators@0.2.3...@thi.ng/grid-iterators@0.3.0) (2020-02-25) diff --git a/packages/hdom-canvas/CHANGELOG.md b/packages/hdom-canvas/CHANGELOG.md index 0a9894cfc6..ac7777a93b 100644 --- a/packages/hdom-canvas/CHANGELOG.md +++ b/packages/hdom-canvas/CHANGELOG.md @@ -3,46 +3,6 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [2.4.8](https://github.com/thi-ng/umbrella/compare/@thi.ng/hdom-canvas@2.4.7...@thi.ng/hdom-canvas@2.4.8) (2020-03-06) - -**Note:** Version bump only for package @thi.ng/hdom-canvas - - - - - -## [2.4.7](https://github.com/thi-ng/umbrella/compare/@thi.ng/hdom-canvas@2.4.6...@thi.ng/hdom-canvas@2.4.7) (2020-03-01) - -**Note:** Version bump only for package @thi.ng/hdom-canvas - - - - - -## [2.4.6](https://github.com/thi-ng/umbrella/compare/@thi.ng/hdom-canvas@2.4.5...@thi.ng/hdom-canvas@2.4.6) (2020-02-26) - -**Note:** Version bump only for package @thi.ng/hdom-canvas - - - - - -## [2.4.5](https://github.com/thi-ng/umbrella/compare/@thi.ng/hdom-canvas@2.4.4...@thi.ng/hdom-canvas@2.4.5) (2020-02-26) - -**Note:** Version bump only for package @thi.ng/hdom-canvas - - - - - -## [2.4.4](https://github.com/thi-ng/umbrella/compare/@thi.ng/hdom-canvas@2.4.3...@thi.ng/hdom-canvas@2.4.4) (2020-02-25) - -**Note:** Version bump only for package @thi.ng/hdom-canvas - - - - - ## [2.4.2](https://github.com/thi-ng/umbrella/compare/@thi.ng/hdom-canvas@2.4.1...@thi.ng/hdom-canvas@2.4.2) (2020-01-24) ### Bug Fixes diff --git a/packages/hdom-components/CHANGELOG.md b/packages/hdom-components/CHANGELOG.md index 0dc79c551c..4aa4e00f70 100644 --- a/packages/hdom-components/CHANGELOG.md +++ b/packages/hdom-components/CHANGELOG.md @@ -19,38 +19,6 @@ See [Conventional Commits](https://conventionalcommits.org) for commit guideline -## [3.1.13](https://github.com/thi-ng/umbrella/compare/@thi.ng/hdom-components@3.1.12...@thi.ng/hdom-components@3.1.13) (2020-03-01) - -**Note:** Version bump only for package @thi.ng/hdom-components - - - - - -## [3.1.12](https://github.com/thi-ng/umbrella/compare/@thi.ng/hdom-components@3.1.11...@thi.ng/hdom-components@3.1.12) (2020-02-26) - -**Note:** Version bump only for package @thi.ng/hdom-components - - - - - -## [3.1.11](https://github.com/thi-ng/umbrella/compare/@thi.ng/hdom-components@3.1.10...@thi.ng/hdom-components@3.1.11) (2020-02-26) - -**Note:** Version bump only for package @thi.ng/hdom-components - - - - - -## [3.1.10](https://github.com/thi-ng/umbrella/compare/@thi.ng/hdom-components@3.1.9...@thi.ng/hdom-components@3.1.10) (2020-02-25) - -**Note:** Version bump only for package @thi.ng/hdom-components - - - - - # [3.1.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/hdom-components@3.0.20...@thi.ng/hdom-components@3.1.0) (2019-07-07) ### Bug Fixes diff --git a/packages/hdom-mock/CHANGELOG.md b/packages/hdom-mock/CHANGELOG.md index 107f9720e1..1960053efb 100644 --- a/packages/hdom-mock/CHANGELOG.md +++ b/packages/hdom-mock/CHANGELOG.md @@ -3,38 +3,6 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [1.1.14](https://github.com/thi-ng/umbrella/compare/@thi.ng/hdom-mock@1.1.13...@thi.ng/hdom-mock@1.1.14) (2020-03-06) - -**Note:** Version bump only for package @thi.ng/hdom-mock - - - - - -## [1.1.13](https://github.com/thi-ng/umbrella/compare/@thi.ng/hdom-mock@1.1.12...@thi.ng/hdom-mock@1.1.13) (2020-02-26) - -**Note:** Version bump only for package @thi.ng/hdom-mock - - - - - -## [1.1.12](https://github.com/thi-ng/umbrella/compare/@thi.ng/hdom-mock@1.1.11...@thi.ng/hdom-mock@1.1.12) (2020-02-26) - -**Note:** Version bump only for package @thi.ng/hdom-mock - - - - - -## [1.1.11](https://github.com/thi-ng/umbrella/compare/@thi.ng/hdom-mock@1.1.10...@thi.ng/hdom-mock@1.1.11) (2020-02-25) - -**Note:** Version bump only for package @thi.ng/hdom-mock - - - - - # [1.1.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/hdom-mock@1.0.16...@thi.ng/hdom-mock@1.1.0) (2019-07-07) ### Features diff --git a/packages/hdom/CHANGELOG.md b/packages/hdom/CHANGELOG.md index 0eb146d2f2..583ad09940 100644 --- a/packages/hdom/CHANGELOG.md +++ b/packages/hdom/CHANGELOG.md @@ -3,38 +3,6 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [8.0.14](https://github.com/thi-ng/umbrella/compare/@thi.ng/hdom@8.0.13...@thi.ng/hdom@8.0.14) (2020-03-06) - -**Note:** Version bump only for package @thi.ng/hdom - - - - - -## [8.0.13](https://github.com/thi-ng/umbrella/compare/@thi.ng/hdom@8.0.12...@thi.ng/hdom@8.0.13) (2020-02-26) - -**Note:** Version bump only for package @thi.ng/hdom - - - - - -## [8.0.12](https://github.com/thi-ng/umbrella/compare/@thi.ng/hdom@8.0.11...@thi.ng/hdom@8.0.12) (2020-02-26) - -**Note:** Version bump only for package @thi.ng/hdom - - - - - -## [8.0.11](https://github.com/thi-ng/umbrella/compare/@thi.ng/hdom@8.0.10...@thi.ng/hdom@8.0.11) (2020-02-25) - -**Note:** Version bump only for package @thi.ng/hdom - - - - - ## [8.0.7](https://github.com/thi-ng/umbrella/compare/@thi.ng/hdom@8.0.6...@thi.ng/hdom@8.0.7) (2019-11-09) ### Bug Fixes diff --git a/packages/heaps/CHANGELOG.md b/packages/heaps/CHANGELOG.md index 528ed7cae7..ce0271e729 100644 --- a/packages/heaps/CHANGELOG.md +++ b/packages/heaps/CHANGELOG.md @@ -3,46 +3,6 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [1.2.6](https://github.com/thi-ng/umbrella/compare/@thi.ng/heaps@1.2.5...@thi.ng/heaps@1.2.6) (2020-03-06) - -**Note:** Version bump only for package @thi.ng/heaps - - - - - -## [1.2.5](https://github.com/thi-ng/umbrella/compare/@thi.ng/heaps@1.2.4...@thi.ng/heaps@1.2.5) (2020-03-01) - -**Note:** Version bump only for package @thi.ng/heaps - - - - - -## [1.2.4](https://github.com/thi-ng/umbrella/compare/@thi.ng/heaps@1.2.3...@thi.ng/heaps@1.2.4) (2020-02-26) - -**Note:** Version bump only for package @thi.ng/heaps - - - - - -## [1.2.3](https://github.com/thi-ng/umbrella/compare/@thi.ng/heaps@1.2.2...@thi.ng/heaps@1.2.3) (2020-02-26) - -**Note:** Version bump only for package @thi.ng/heaps - - - - - -## [1.2.2](https://github.com/thi-ng/umbrella/compare/@thi.ng/heaps@1.2.1...@thi.ng/heaps@1.2.2) (2020-02-25) - -**Note:** Version bump only for package @thi.ng/heaps - - - - - # [1.2.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/heaps@1.1.6...@thi.ng/heaps@1.2.0) (2020-01-24) ### Features diff --git a/packages/hiccup-carbon-icons/CHANGELOG.md b/packages/hiccup-carbon-icons/CHANGELOG.md index 46eeb95dd4..02598f306e 100644 --- a/packages/hiccup-carbon-icons/CHANGELOG.md +++ b/packages/hiccup-carbon-icons/CHANGELOG.md @@ -3,38 +3,6 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [1.0.28](https://github.com/thi-ng/umbrella/compare/@thi.ng/hiccup-carbon-icons@1.0.27...@thi.ng/hiccup-carbon-icons@1.0.28) (2020-03-06) - -**Note:** Version bump only for package @thi.ng/hiccup-carbon-icons - - - - - -## [1.0.27](https://github.com/thi-ng/umbrella/compare/@thi.ng/hiccup-carbon-icons@1.0.26...@thi.ng/hiccup-carbon-icons@1.0.27) (2020-02-26) - -**Note:** Version bump only for package @thi.ng/hiccup-carbon-icons - - - - - -## [1.0.26](https://github.com/thi-ng/umbrella/compare/@thi.ng/hiccup-carbon-icons@1.0.25...@thi.ng/hiccup-carbon-icons@1.0.26) (2020-02-26) - -**Note:** Version bump only for package @thi.ng/hiccup-carbon-icons - - - - - -## [1.0.25](https://github.com/thi-ng/umbrella/compare/@thi.ng/hiccup-carbon-icons@1.0.24...@thi.ng/hiccup-carbon-icons@1.0.25) (2020-02-25) - -**Note:** Version bump only for package @thi.ng/hiccup-carbon-icons - - - - - # [1.0.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/hiccup-carbon-icons@0.1.2...@thi.ng/hiccup-carbon-icons@1.0.0) (2019-01-21) ### Build System diff --git a/packages/hiccup-css/CHANGELOG.md b/packages/hiccup-css/CHANGELOG.md index b810c55b9e..da135b5162 100644 --- a/packages/hiccup-css/CHANGELOG.md +++ b/packages/hiccup-css/CHANGELOG.md @@ -3,46 +3,6 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [1.1.14](https://github.com/thi-ng/umbrella/compare/@thi.ng/hiccup-css@1.1.13...@thi.ng/hiccup-css@1.1.14) (2020-03-06) - -**Note:** Version bump only for package @thi.ng/hiccup-css - - - - - -## [1.1.13](https://github.com/thi-ng/umbrella/compare/@thi.ng/hiccup-css@1.1.12...@thi.ng/hiccup-css@1.1.13) (2020-03-01) - -**Note:** Version bump only for package @thi.ng/hiccup-css - - - - - -## [1.1.12](https://github.com/thi-ng/umbrella/compare/@thi.ng/hiccup-css@1.1.11...@thi.ng/hiccup-css@1.1.12) (2020-02-26) - -**Note:** Version bump only for package @thi.ng/hiccup-css - - - - - -## [1.1.11](https://github.com/thi-ng/umbrella/compare/@thi.ng/hiccup-css@1.1.10...@thi.ng/hiccup-css@1.1.11) (2020-02-26) - -**Note:** Version bump only for package @thi.ng/hiccup-css - - - - - -## [1.1.10](https://github.com/thi-ng/umbrella/compare/@thi.ng/hiccup-css@1.1.9...@thi.ng/hiccup-css@1.1.10) (2020-02-25) - -**Note:** Version bump only for package @thi.ng/hiccup-css - - - - - # [1.1.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/hiccup-css@1.0.19...@thi.ng/hiccup-css@1.1.0) (2019-07-07) ### Features diff --git a/packages/hiccup-markdown/CHANGELOG.md b/packages/hiccup-markdown/CHANGELOG.md index 58f572693f..bafa3cd272 100644 --- a/packages/hiccup-markdown/CHANGELOG.md +++ b/packages/hiccup-markdown/CHANGELOG.md @@ -3,46 +3,6 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [1.1.14](https://github.com/thi-ng/umbrella/compare/@thi.ng/hiccup-markdown@1.1.13...@thi.ng/hiccup-markdown@1.1.14) (2020-03-06) - -**Note:** Version bump only for package @thi.ng/hiccup-markdown - - - - - -## [1.1.13](https://github.com/thi-ng/umbrella/compare/@thi.ng/hiccup-markdown@1.1.12...@thi.ng/hiccup-markdown@1.1.13) (2020-03-01) - -**Note:** Version bump only for package @thi.ng/hiccup-markdown - - - - - -## [1.1.12](https://github.com/thi-ng/umbrella/compare/@thi.ng/hiccup-markdown@1.1.11...@thi.ng/hiccup-markdown@1.1.12) (2020-02-26) - -**Note:** Version bump only for package @thi.ng/hiccup-markdown - - - - - -## [1.1.11](https://github.com/thi-ng/umbrella/compare/@thi.ng/hiccup-markdown@1.1.10...@thi.ng/hiccup-markdown@1.1.11) (2020-02-26) - -**Note:** Version bump only for package @thi.ng/hiccup-markdown - - - - - -## [1.1.10](https://github.com/thi-ng/umbrella/compare/@thi.ng/hiccup-markdown@1.1.9...@thi.ng/hiccup-markdown@1.1.10) (2020-02-25) - -**Note:** Version bump only for package @thi.ng/hiccup-markdown - - - - - ## [1.1.6](https://github.com/thi-ng/umbrella/compare/@thi.ng/hiccup-markdown@1.1.5...@thi.ng/hiccup-markdown@1.1.6) (2019-11-09) ### Bug Fixes diff --git a/packages/hiccup-svg/CHANGELOG.md b/packages/hiccup-svg/CHANGELOG.md index 2d8a251053..c86c4fe6c1 100644 --- a/packages/hiccup-svg/CHANGELOG.md +++ b/packages/hiccup-svg/CHANGELOG.md @@ -3,46 +3,6 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [3.4.6](https://github.com/thi-ng/umbrella/compare/@thi.ng/hiccup-svg@3.4.5...@thi.ng/hiccup-svg@3.4.6) (2020-03-06) - -**Note:** Version bump only for package @thi.ng/hiccup-svg - - - - - -## [3.4.5](https://github.com/thi-ng/umbrella/compare/@thi.ng/hiccup-svg@3.4.4...@thi.ng/hiccup-svg@3.4.5) (2020-03-01) - -**Note:** Version bump only for package @thi.ng/hiccup-svg - - - - - -## [3.4.4](https://github.com/thi-ng/umbrella/compare/@thi.ng/hiccup-svg@3.4.3...@thi.ng/hiccup-svg@3.4.4) (2020-02-26) - -**Note:** Version bump only for package @thi.ng/hiccup-svg - - - - - -## [3.4.3](https://github.com/thi-ng/umbrella/compare/@thi.ng/hiccup-svg@3.4.2...@thi.ng/hiccup-svg@3.4.3) (2020-02-26) - -**Note:** Version bump only for package @thi.ng/hiccup-svg - - - - - -## [3.4.2](https://github.com/thi-ng/umbrella/compare/@thi.ng/hiccup-svg@3.4.1...@thi.ng/hiccup-svg@3.4.2) (2020-02-25) - -**Note:** Version bump only for package @thi.ng/hiccup-svg - - - - - # [3.4.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/hiccup-svg@3.3.3...@thi.ng/hiccup-svg@3.4.0) (2020-01-24) ### Features diff --git a/packages/hiccup/CHANGELOG.md b/packages/hiccup/CHANGELOG.md index 6e5a5c2267..5d76bc3876 100644 --- a/packages/hiccup/CHANGELOG.md +++ b/packages/hiccup/CHANGELOG.md @@ -3,38 +3,6 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [3.2.13](https://github.com/thi-ng/umbrella/compare/@thi.ng/hiccup@3.2.12...@thi.ng/hiccup@3.2.13) (2020-03-06) - -**Note:** Version bump only for package @thi.ng/hiccup - - - - - -## [3.2.12](https://github.com/thi-ng/umbrella/compare/@thi.ng/hiccup@3.2.11...@thi.ng/hiccup@3.2.12) (2020-02-26) - -**Note:** Version bump only for package @thi.ng/hiccup - - - - - -## [3.2.11](https://github.com/thi-ng/umbrella/compare/@thi.ng/hiccup@3.2.10...@thi.ng/hiccup@3.2.11) (2020-02-26) - -**Note:** Version bump only for package @thi.ng/hiccup - - - - - -## [3.2.10](https://github.com/thi-ng/umbrella/compare/@thi.ng/hiccup@3.2.9...@thi.ng/hiccup@3.2.10) (2020-02-25) - -**Note:** Version bump only for package @thi.ng/hiccup - - - - - ## [3.2.4](https://github.com/thi-ng/umbrella/compare/@thi.ng/hiccup@3.2.3...@thi.ng/hiccup@3.2.4) (2019-08-21) ### Bug Fixes diff --git a/packages/idgen/CHANGELOG.md b/packages/idgen/CHANGELOG.md index b385ea09aa..cc10273c49 100644 --- a/packages/idgen/CHANGELOG.md +++ b/packages/idgen/CHANGELOG.md @@ -3,38 +3,6 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [0.2.5](https://github.com/thi-ng/umbrella/compare/@thi.ng/idgen@0.2.4...@thi.ng/idgen@0.2.5) (2020-03-06) - -**Note:** Version bump only for package @thi.ng/idgen - - - - - -## [0.2.4](https://github.com/thi-ng/umbrella/compare/@thi.ng/idgen@0.2.3...@thi.ng/idgen@0.2.4) (2020-02-26) - -**Note:** Version bump only for package @thi.ng/idgen - - - - - -## [0.2.3](https://github.com/thi-ng/umbrella/compare/@thi.ng/idgen@0.2.2...@thi.ng/idgen@0.2.3) (2020-02-26) - -**Note:** Version bump only for package @thi.ng/idgen - - - - - -## [0.2.2](https://github.com/thi-ng/umbrella/compare/@thi.ng/idgen@0.2.1...@thi.ng/idgen@0.2.2) (2020-02-25) - -**Note:** Version bump only for package @thi.ng/idgen - - - - - # [0.2.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/idgen@0.1.0...@thi.ng/idgen@0.2.0) (2020-01-24) ### Features diff --git a/packages/iges/CHANGELOG.md b/packages/iges/CHANGELOG.md index 14e254f997..e8c3a801bb 100644 --- a/packages/iges/CHANGELOG.md +++ b/packages/iges/CHANGELOG.md @@ -3,46 +3,6 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [1.1.19](https://github.com/thi-ng/umbrella/compare/@thi.ng/iges@1.1.18...@thi.ng/iges@1.1.19) (2020-03-06) - -**Note:** Version bump only for package @thi.ng/iges - - - - - -## [1.1.18](https://github.com/thi-ng/umbrella/compare/@thi.ng/iges@1.1.17...@thi.ng/iges@1.1.18) (2020-03-01) - -**Note:** Version bump only for package @thi.ng/iges - - - - - -## [1.1.17](https://github.com/thi-ng/umbrella/compare/@thi.ng/iges@1.1.16...@thi.ng/iges@1.1.17) (2020-02-26) - -**Note:** Version bump only for package @thi.ng/iges - - - - - -## [1.1.16](https://github.com/thi-ng/umbrella/compare/@thi.ng/iges@1.1.15...@thi.ng/iges@1.1.16) (2020-02-26) - -**Note:** Version bump only for package @thi.ng/iges - - - - - -## [1.1.15](https://github.com/thi-ng/umbrella/compare/@thi.ng/iges@1.1.14...@thi.ng/iges@1.1.15) (2020-02-25) - -**Note:** Version bump only for package @thi.ng/iges - - - - - # [1.1.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/iges@1.0.15...@thi.ng/iges@1.1.0) (2019-04-15) ### Features diff --git a/packages/imgui/CHANGELOG.md b/packages/imgui/CHANGELOG.md index b315c060f7..38a6e00560 100644 --- a/packages/imgui/CHANGELOG.md +++ b/packages/imgui/CHANGELOG.md @@ -3,38 +3,6 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [0.2.4](https://github.com/thi-ng/umbrella/compare/@thi.ng/imgui@0.2.3...@thi.ng/imgui@0.2.4) (2020-03-06) - -**Note:** Version bump only for package @thi.ng/imgui - - - - - -## [0.2.3](https://github.com/thi-ng/umbrella/compare/@thi.ng/imgui@0.2.2...@thi.ng/imgui@0.2.3) (2020-03-01) - -**Note:** Version bump only for package @thi.ng/imgui - - - - - -## [0.2.2](https://github.com/thi-ng/umbrella/compare/@thi.ng/imgui@0.2.1...@thi.ng/imgui@0.2.2) (2020-02-26) - -**Note:** Version bump only for package @thi.ng/imgui - - - - - -## [0.2.1](https://github.com/thi-ng/umbrella/compare/@thi.ng/imgui@0.2.0...@thi.ng/imgui@0.2.1) (2020-02-26) - -**Note:** Version bump only for package @thi.ng/imgui - - - - - # [0.2.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/imgui@0.1.7...@thi.ng/imgui@0.2.0) (2020-02-25) diff --git a/packages/interceptors/CHANGELOG.md b/packages/interceptors/CHANGELOG.md index baf0dcb7c4..f127eeef0f 100644 --- a/packages/interceptors/CHANGELOG.md +++ b/packages/interceptors/CHANGELOG.md @@ -3,38 +3,6 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [2.2.9](https://github.com/thi-ng/umbrella/compare/@thi.ng/interceptors@2.2.8...@thi.ng/interceptors@2.2.9) (2020-03-06) - -**Note:** Version bump only for package @thi.ng/interceptors - - - - - -## [2.2.8](https://github.com/thi-ng/umbrella/compare/@thi.ng/interceptors@2.2.7...@thi.ng/interceptors@2.2.8) (2020-02-26) - -**Note:** Version bump only for package @thi.ng/interceptors - - - - - -## [2.2.7](https://github.com/thi-ng/umbrella/compare/@thi.ng/interceptors@2.2.6...@thi.ng/interceptors@2.2.7) (2020-02-26) - -**Note:** Version bump only for package @thi.ng/interceptors - - - - - -## [2.2.6](https://github.com/thi-ng/umbrella/compare/@thi.ng/interceptors@2.2.5...@thi.ng/interceptors@2.2.6) (2020-02-25) - -**Note:** Version bump only for package @thi.ng/interceptors - - - - - # [2.2.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/interceptors@2.1.3...@thi.ng/interceptors@2.2.0) (2019-08-21) ### Features diff --git a/packages/intervals/CHANGELOG.md b/packages/intervals/CHANGELOG.md index 03685ad55c..75d31f3d87 100644 --- a/packages/intervals/CHANGELOG.md +++ b/packages/intervals/CHANGELOG.md @@ -3,38 +3,6 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [2.0.6](https://github.com/thi-ng/umbrella/compare/@thi.ng/intervals@2.0.5...@thi.ng/intervals@2.0.6) (2020-03-06) - -**Note:** Version bump only for package @thi.ng/intervals - - - - - -## [2.0.5](https://github.com/thi-ng/umbrella/compare/@thi.ng/intervals@2.0.4...@thi.ng/intervals@2.0.5) (2020-02-26) - -**Note:** Version bump only for package @thi.ng/intervals - - - - - -## [2.0.4](https://github.com/thi-ng/umbrella/compare/@thi.ng/intervals@2.0.3...@thi.ng/intervals@2.0.4) (2020-02-26) - -**Note:** Version bump only for package @thi.ng/intervals - - - - - -## [2.0.3](https://github.com/thi-ng/umbrella/compare/@thi.ng/intervals@2.0.2...@thi.ng/intervals@2.0.3) (2020-02-25) - -**Note:** Version bump only for package @thi.ng/intervals - - - - - # [2.0.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/intervals@1.0.15...@thi.ng/intervals@2.0.0) (2019-11-30) ### Bug Fixes diff --git a/packages/iterators/CHANGELOG.md b/packages/iterators/CHANGELOG.md index 36de15d30d..5f13fc94f7 100644 --- a/packages/iterators/CHANGELOG.md +++ b/packages/iterators/CHANGELOG.md @@ -3,46 +3,6 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [5.1.14](https://github.com/thi-ng/umbrella/compare/@thi.ng/iterators@5.1.13...@thi.ng/iterators@5.1.14) (2020-03-06) - -**Note:** Version bump only for package @thi.ng/iterators - - - - - -## [5.1.13](https://github.com/thi-ng/umbrella/compare/@thi.ng/iterators@5.1.12...@thi.ng/iterators@5.1.13) (2020-03-01) - -**Note:** Version bump only for package @thi.ng/iterators - - - - - -## [5.1.12](https://github.com/thi-ng/umbrella/compare/@thi.ng/iterators@5.1.11...@thi.ng/iterators@5.1.12) (2020-02-26) - -**Note:** Version bump only for package @thi.ng/iterators - - - - - -## [5.1.11](https://github.com/thi-ng/umbrella/compare/@thi.ng/iterators@5.1.10...@thi.ng/iterators@5.1.11) (2020-02-26) - -**Note:** Version bump only for package @thi.ng/iterators - - - - - -## [5.1.10](https://github.com/thi-ng/umbrella/compare/@thi.ng/iterators@5.1.9...@thi.ng/iterators@5.1.10) (2020-02-25) - -**Note:** Version bump only for package @thi.ng/iterators - - - - - # [5.1.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/iterators@5.0.19...@thi.ng/iterators@5.1.0) (2019-07-07) ### Bug Fixes diff --git a/packages/layout/CHANGELOG.md b/packages/layout/CHANGELOG.md index 91006aac87..2f4f24c514 100644 --- a/packages/layout/CHANGELOG.md +++ b/packages/layout/CHANGELOG.md @@ -3,30 +3,6 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [0.1.3](https://github.com/thi-ng/umbrella/compare/@thi.ng/layout@0.1.2...@thi.ng/layout@0.1.3) (2020-03-06) - -**Note:** Version bump only for package @thi.ng/layout - - - - - -## [0.1.2](https://github.com/thi-ng/umbrella/compare/@thi.ng/layout@0.1.1...@thi.ng/layout@0.1.2) (2020-02-26) - -**Note:** Version bump only for package @thi.ng/layout - - - - - -## [0.1.1](https://github.com/thi-ng/umbrella/compare/@thi.ng/layout@0.1.0...@thi.ng/layout@0.1.1) (2020-02-26) - -**Note:** Version bump only for package @thi.ng/layout - - - - - # 0.1.0 (2020-02-25) diff --git a/packages/leb128/CHANGELOG.md b/packages/leb128/CHANGELOG.md index 82de687bfe..d45d5109d1 100644 --- a/packages/leb128/CHANGELOG.md +++ b/packages/leb128/CHANGELOG.md @@ -3,46 +3,6 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [1.0.8](https://github.com/thi-ng/umbrella/compare/@thi.ng/leb128@1.0.7...@thi.ng/leb128@1.0.8) (2020-03-06) - -**Note:** Version bump only for package @thi.ng/leb128 - - - - - -## [1.0.7](https://github.com/thi-ng/umbrella/compare/@thi.ng/leb128@1.0.6...@thi.ng/leb128@1.0.7) (2020-03-01) - -**Note:** Version bump only for package @thi.ng/leb128 - - - - - -## [1.0.6](https://github.com/thi-ng/umbrella/compare/@thi.ng/leb128@1.0.5...@thi.ng/leb128@1.0.6) (2020-02-26) - -**Note:** Version bump only for package @thi.ng/leb128 - - - - - -## [1.0.5](https://github.com/thi-ng/umbrella/compare/@thi.ng/leb128@1.0.4...@thi.ng/leb128@1.0.5) (2020-02-26) - -**Note:** Version bump only for package @thi.ng/leb128 - - - - - -## [1.0.4](https://github.com/thi-ng/umbrella/compare/@thi.ng/leb128@1.0.3...@thi.ng/leb128@1.0.4) (2020-02-25) - -**Note:** Version bump only for package @thi.ng/leb128 - - - - - ## [1.0.1](https://github.com/thi-ng/umbrella/compare/@thi.ng/leb128@1.0.0...@thi.ng/leb128@1.0.1) (2019-11-30) ### Bug Fixes diff --git a/packages/lsys/CHANGELOG.md b/packages/lsys/CHANGELOG.md index d9f6f2386d..24fc99ee9b 100644 --- a/packages/lsys/CHANGELOG.md +++ b/packages/lsys/CHANGELOG.md @@ -3,46 +3,6 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [0.2.32](https://github.com/thi-ng/umbrella/compare/@thi.ng/lsys@0.2.31...@thi.ng/lsys@0.2.32) (2020-03-06) - -**Note:** Version bump only for package @thi.ng/lsys - - - - - -## [0.2.31](https://github.com/thi-ng/umbrella/compare/@thi.ng/lsys@0.2.30...@thi.ng/lsys@0.2.31) (2020-03-01) - -**Note:** Version bump only for package @thi.ng/lsys - - - - - -## [0.2.30](https://github.com/thi-ng/umbrella/compare/@thi.ng/lsys@0.2.29...@thi.ng/lsys@0.2.30) (2020-02-26) - -**Note:** Version bump only for package @thi.ng/lsys - - - - - -## [0.2.29](https://github.com/thi-ng/umbrella/compare/@thi.ng/lsys@0.2.28...@thi.ng/lsys@0.2.29) (2020-02-26) - -**Note:** Version bump only for package @thi.ng/lsys - - - - - -## [0.2.28](https://github.com/thi-ng/umbrella/compare/@thi.ng/lsys@0.2.27...@thi.ng/lsys@0.2.28) (2020-02-25) - -**Note:** Version bump only for package @thi.ng/lsys - - - - - # [0.2.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/lsys@0.1.0...@thi.ng/lsys@0.2.0) (2019-02-26) ### Features diff --git a/packages/malloc/CHANGELOG.md b/packages/malloc/CHANGELOG.md index 483cb3c64f..e58aae34c2 100644 --- a/packages/malloc/CHANGELOG.md +++ b/packages/malloc/CHANGELOG.md @@ -3,38 +3,6 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [4.1.7](https://github.com/thi-ng/umbrella/compare/@thi.ng/malloc@4.1.6...@thi.ng/malloc@4.1.7) (2020-03-06) - -**Note:** Version bump only for package @thi.ng/malloc - - - - - -## [4.1.6](https://github.com/thi-ng/umbrella/compare/@thi.ng/malloc@4.1.5...@thi.ng/malloc@4.1.6) (2020-02-26) - -**Note:** Version bump only for package @thi.ng/malloc - - - - - -## [4.1.5](https://github.com/thi-ng/umbrella/compare/@thi.ng/malloc@4.1.4...@thi.ng/malloc@4.1.5) (2020-02-26) - -**Note:** Version bump only for package @thi.ng/malloc - - - - - -## [4.1.4](https://github.com/thi-ng/umbrella/compare/@thi.ng/malloc@4.1.3...@thi.ng/malloc@4.1.4) (2020-02-25) - -**Note:** Version bump only for package @thi.ng/malloc - - - - - # [4.1.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/malloc@4.0.5...@thi.ng/malloc@4.1.0) (2019-11-09) ### Bug Fixes diff --git a/packages/math/CHANGELOG.md b/packages/math/CHANGELOG.md index 31543439ef..116b2876f8 100644 --- a/packages/math/CHANGELOG.md +++ b/packages/math/CHANGELOG.md @@ -3,30 +3,6 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [1.7.3](https://github.com/thi-ng/umbrella/compare/@thi.ng/math@1.7.2...@thi.ng/math@1.7.3) (2020-03-06) - -**Note:** Version bump only for package @thi.ng/math - - - - - -## [1.7.2](https://github.com/thi-ng/umbrella/compare/@thi.ng/math@1.7.1...@thi.ng/math@1.7.2) (2020-02-26) - -**Note:** Version bump only for package @thi.ng/math - - - - - -## [1.7.1](https://github.com/thi-ng/umbrella/compare/@thi.ng/math@1.7.0...@thi.ng/math@1.7.1) (2020-02-26) - -**Note:** Version bump only for package @thi.ng/math - - - - - # [1.7.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/math@1.6.0...@thi.ng/math@1.7.0) (2020-02-25) diff --git a/packages/matrices/CHANGELOG.md b/packages/matrices/CHANGELOG.md index d495649f98..baaa3f2b6d 100644 --- a/packages/matrices/CHANGELOG.md +++ b/packages/matrices/CHANGELOG.md @@ -3,38 +3,6 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [0.6.4](https://github.com/thi-ng/umbrella/compare/@thi.ng/matrices@0.6.3...@thi.ng/matrices@0.6.4) (2020-03-06) - -**Note:** Version bump only for package @thi.ng/matrices - - - - - -## [0.6.3](https://github.com/thi-ng/umbrella/compare/@thi.ng/matrices@0.6.2...@thi.ng/matrices@0.6.3) (2020-03-01) - -**Note:** Version bump only for package @thi.ng/matrices - - - - - -## [0.6.2](https://github.com/thi-ng/umbrella/compare/@thi.ng/matrices@0.6.1...@thi.ng/matrices@0.6.2) (2020-02-26) - -**Note:** Version bump only for package @thi.ng/matrices - - - - - -## [0.6.1](https://github.com/thi-ng/umbrella/compare/@thi.ng/matrices@0.6.0...@thi.ng/matrices@0.6.1) (2020-02-26) - -**Note:** Version bump only for package @thi.ng/matrices - - - - - # [0.6.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/matrices@0.5.12...@thi.ng/matrices@0.6.0) (2020-02-25) diff --git a/packages/memoize/CHANGELOG.md b/packages/memoize/CHANGELOG.md index 063c5d7d94..7617c06e90 100644 --- a/packages/memoize/CHANGELOG.md +++ b/packages/memoize/CHANGELOG.md @@ -3,30 +3,6 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [2.0.3](https://github.com/thi-ng/umbrella/compare/@thi.ng/memoize@2.0.2...@thi.ng/memoize@2.0.3) (2020-03-06) - -**Note:** Version bump only for package @thi.ng/memoize - - - - - -## [2.0.2](https://github.com/thi-ng/umbrella/compare/@thi.ng/memoize@2.0.1...@thi.ng/memoize@2.0.2) (2020-02-26) - -**Note:** Version bump only for package @thi.ng/memoize - - - - - -## [2.0.1](https://github.com/thi-ng/umbrella/compare/@thi.ng/memoize@2.0.0...@thi.ng/memoize@2.0.1) (2020-02-26) - -**Note:** Version bump only for package @thi.ng/memoize - - - - - # [2.0.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/memoize@1.1.8...@thi.ng/memoize@2.0.0) (2020-02-25) diff --git a/packages/mime/CHANGELOG.md b/packages/mime/CHANGELOG.md index ad501da70f..23c8f98536 100644 --- a/packages/mime/CHANGELOG.md +++ b/packages/mime/CHANGELOG.md @@ -3,30 +3,6 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [0.1.3](https://github.com/thi-ng/umbrella/compare/@thi.ng/mime@0.1.2...@thi.ng/mime@0.1.3) (2020-03-06) - -**Note:** Version bump only for package @thi.ng/mime - - - - - -## [0.1.2](https://github.com/thi-ng/umbrella/compare/@thi.ng/mime@0.1.1...@thi.ng/mime@0.1.2) (2020-02-26) - -**Note:** Version bump only for package @thi.ng/mime - - - - - -## [0.1.1](https://github.com/thi-ng/umbrella/compare/@thi.ng/mime@0.1.0...@thi.ng/mime@0.1.1) (2020-02-26) - -**Note:** Version bump only for package @thi.ng/mime - - - - - # 0.1.0 (2020-02-25) diff --git a/packages/morton/CHANGELOG.md b/packages/morton/CHANGELOG.md index 8d57655ec9..22e2a0aba4 100644 --- a/packages/morton/CHANGELOG.md +++ b/packages/morton/CHANGELOG.md @@ -3,38 +3,6 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [2.0.5](https://github.com/thi-ng/umbrella/compare/@thi.ng/morton@2.0.4...@thi.ng/morton@2.0.5) (2020-03-06) - -**Note:** Version bump only for package @thi.ng/morton - - - - - -## [2.0.4](https://github.com/thi-ng/umbrella/compare/@thi.ng/morton@2.0.3...@thi.ng/morton@2.0.4) (2020-02-26) - -**Note:** Version bump only for package @thi.ng/morton - - - - - -## [2.0.3](https://github.com/thi-ng/umbrella/compare/@thi.ng/morton@2.0.2...@thi.ng/morton@2.0.3) (2020-02-26) - -**Note:** Version bump only for package @thi.ng/morton - - - - - -## [2.0.2](https://github.com/thi-ng/umbrella/compare/@thi.ng/morton@2.0.1...@thi.ng/morton@2.0.2) (2020-02-25) - -**Note:** Version bump only for package @thi.ng/morton - - - - - # [2.0.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/morton@1.1.5...@thi.ng/morton@2.0.0) (2020-01-24) ### Features diff --git a/packages/paths/CHANGELOG.md b/packages/paths/CHANGELOG.md index ab72c3c22e..8ccd856462 100644 --- a/packages/paths/CHANGELOG.md +++ b/packages/paths/CHANGELOG.md @@ -3,38 +3,6 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [3.0.5](https://github.com/thi-ng/umbrella/compare/@thi.ng/paths@3.0.4...@thi.ng/paths@3.0.5) (2020-03-06) - -**Note:** Version bump only for package @thi.ng/paths - - - - - -## [3.0.4](https://github.com/thi-ng/umbrella/compare/@thi.ng/paths@3.0.3...@thi.ng/paths@3.0.4) (2020-02-26) - -**Note:** Version bump only for package @thi.ng/paths - - - - - -## [3.0.3](https://github.com/thi-ng/umbrella/compare/@thi.ng/paths@3.0.2...@thi.ng/paths@3.0.3) (2020-02-26) - -**Note:** Version bump only for package @thi.ng/paths - - - - - -## [3.0.2](https://github.com/thi-ng/umbrella/compare/@thi.ng/paths@3.0.1...@thi.ng/paths@3.0.2) (2020-02-25) - -**Note:** Version bump only for package @thi.ng/paths - - - - - # [3.0.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/paths@2.1.6...@thi.ng/paths@3.0.0) (2019-11-30) ### Bug Fixes diff --git a/packages/pixel/CHANGELOG.md b/packages/pixel/CHANGELOG.md index 7416107a38..503c6a77e4 100644 --- a/packages/pixel/CHANGELOG.md +++ b/packages/pixel/CHANGELOG.md @@ -3,38 +3,6 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [0.1.12](https://github.com/thi-ng/umbrella/compare/@thi.ng/pixel@0.1.11...@thi.ng/pixel@0.1.12) (2020-03-06) - -**Note:** Version bump only for package @thi.ng/pixel - - - - - -## [0.1.11](https://github.com/thi-ng/umbrella/compare/@thi.ng/pixel@0.1.10...@thi.ng/pixel@0.1.11) (2020-02-26) - -**Note:** Version bump only for package @thi.ng/pixel - - - - - -## [0.1.10](https://github.com/thi-ng/umbrella/compare/@thi.ng/pixel@0.1.9...@thi.ng/pixel@0.1.10) (2020-02-26) - -**Note:** Version bump only for package @thi.ng/pixel - - - - - -## [0.1.9](https://github.com/thi-ng/umbrella/compare/@thi.ng/pixel@0.1.8...@thi.ng/pixel@0.1.9) (2020-02-25) - -**Note:** Version bump only for package @thi.ng/pixel - - - - - ## [0.1.4](https://github.com/thi-ng/umbrella/compare/@thi.ng/pixel@0.1.3...@thi.ng/pixel@0.1.4) (2019-09-21) ### Bug Fixes diff --git a/packages/pointfree-lang/CHANGELOG.md b/packages/pointfree-lang/CHANGELOG.md index 6127c62d7f..601651b169 100644 --- a/packages/pointfree-lang/CHANGELOG.md +++ b/packages/pointfree-lang/CHANGELOG.md @@ -3,38 +3,6 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [1.1.13](https://github.com/thi-ng/umbrella/compare/@thi.ng/pointfree-lang@1.1.12...@thi.ng/pointfree-lang@1.1.13) (2020-03-06) - -**Note:** Version bump only for package @thi.ng/pointfree-lang - - - - - -## [1.1.12](https://github.com/thi-ng/umbrella/compare/@thi.ng/pointfree-lang@1.1.11...@thi.ng/pointfree-lang@1.1.12) (2020-02-26) - -**Note:** Version bump only for package @thi.ng/pointfree-lang - - - - - -## [1.1.11](https://github.com/thi-ng/umbrella/compare/@thi.ng/pointfree-lang@1.1.10...@thi.ng/pointfree-lang@1.1.11) (2020-02-26) - -**Note:** Version bump only for package @thi.ng/pointfree-lang - - - - - -## [1.1.10](https://github.com/thi-ng/umbrella/compare/@thi.ng/pointfree-lang@1.1.9...@thi.ng/pointfree-lang@1.1.10) (2020-02-25) - -**Note:** Version bump only for package @thi.ng/pointfree-lang - - - - - ## [1.1.5](https://github.com/thi-ng/umbrella/compare/@thi.ng/pointfree-lang@1.1.4...@thi.ng/pointfree-lang@1.1.5) (2019-09-21) ### Bug Fixes diff --git a/packages/pointfree/CHANGELOG.md b/packages/pointfree/CHANGELOG.md index 5b0c4634b7..68f24a7917 100644 --- a/packages/pointfree/CHANGELOG.md +++ b/packages/pointfree/CHANGELOG.md @@ -3,38 +3,6 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [1.2.9](https://github.com/thi-ng/umbrella/compare/@thi.ng/pointfree@1.2.8...@thi.ng/pointfree@1.2.9) (2020-03-06) - -**Note:** Version bump only for package @thi.ng/pointfree - - - - - -## [1.2.8](https://github.com/thi-ng/umbrella/compare/@thi.ng/pointfree@1.2.7...@thi.ng/pointfree@1.2.8) (2020-02-26) - -**Note:** Version bump only for package @thi.ng/pointfree - - - - - -## [1.2.7](https://github.com/thi-ng/umbrella/compare/@thi.ng/pointfree@1.2.6...@thi.ng/pointfree@1.2.7) (2020-02-26) - -**Note:** Version bump only for package @thi.ng/pointfree - - - - - -## [1.2.6](https://github.com/thi-ng/umbrella/compare/@thi.ng/pointfree@1.2.5...@thi.ng/pointfree@1.2.6) (2020-02-25) - -**Note:** Version bump only for package @thi.ng/pointfree - - - - - # [1.2.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/pointfree@1.1.3...@thi.ng/pointfree@1.2.0) (2019-08-21) ### Features diff --git a/packages/poisson/CHANGELOG.md b/packages/poisson/CHANGELOG.md index 7b32c3772c..53f520a28d 100644 --- a/packages/poisson/CHANGELOG.md +++ b/packages/poisson/CHANGELOG.md @@ -3,46 +3,6 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [1.0.6](https://github.com/thi-ng/umbrella/compare/@thi.ng/poisson@1.0.5...@thi.ng/poisson@1.0.6) (2020-03-06) - -**Note:** Version bump only for package @thi.ng/poisson - - - - - -## [1.0.5](https://github.com/thi-ng/umbrella/compare/@thi.ng/poisson@1.0.4...@thi.ng/poisson@1.0.5) (2020-03-01) - -**Note:** Version bump only for package @thi.ng/poisson - - - - - -## [1.0.4](https://github.com/thi-ng/umbrella/compare/@thi.ng/poisson@1.0.3...@thi.ng/poisson@1.0.4) (2020-02-26) - -**Note:** Version bump only for package @thi.ng/poisson - - - - - -## [1.0.3](https://github.com/thi-ng/umbrella/compare/@thi.ng/poisson@1.0.2...@thi.ng/poisson@1.0.3) (2020-02-26) - -**Note:** Version bump only for package @thi.ng/poisson - - - - - -## [1.0.2](https://github.com/thi-ng/umbrella/compare/@thi.ng/poisson@1.0.1...@thi.ng/poisson@1.0.2) (2020-02-25) - -**Note:** Version bump only for package @thi.ng/poisson - - - - - # [1.0.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/poisson@0.2.27...@thi.ng/poisson@1.0.0) (2020-01-24) ### Features diff --git a/packages/porter-duff/CHANGELOG.md b/packages/porter-duff/CHANGELOG.md index a0067b55e8..c81030290e 100644 --- a/packages/porter-duff/CHANGELOG.md +++ b/packages/porter-duff/CHANGELOG.md @@ -3,38 +3,6 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [0.1.11](https://github.com/thi-ng/umbrella/compare/@thi.ng/porter-duff@0.1.10...@thi.ng/porter-duff@0.1.11) (2020-03-06) - -**Note:** Version bump only for package @thi.ng/porter-duff - - - - - -## [0.1.10](https://github.com/thi-ng/umbrella/compare/@thi.ng/porter-duff@0.1.9...@thi.ng/porter-duff@0.1.10) (2020-02-26) - -**Note:** Version bump only for package @thi.ng/porter-duff - - - - - -## [0.1.9](https://github.com/thi-ng/umbrella/compare/@thi.ng/porter-duff@0.1.8...@thi.ng/porter-duff@0.1.9) (2020-02-26) - -**Note:** Version bump only for package @thi.ng/porter-duff - - - - - -## [0.1.8](https://github.com/thi-ng/umbrella/compare/@thi.ng/porter-duff@0.1.7...@thi.ng/porter-duff@0.1.8) (2020-02-25) - -**Note:** Version bump only for package @thi.ng/porter-duff - - - - - # 0.1.0 (2019-07-31) ### Bug Fixes diff --git a/packages/quad-edge/CHANGELOG.md b/packages/quad-edge/CHANGELOG.md index 107ea2a052..86b193a40a 100644 --- a/packages/quad-edge/CHANGELOG.md +++ b/packages/quad-edge/CHANGELOG.md @@ -3,38 +3,6 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [0.2.9](https://github.com/thi-ng/umbrella/compare/@thi.ng/quad-edge@0.2.8...@thi.ng/quad-edge@0.2.9) (2020-03-06) - -**Note:** Version bump only for package @thi.ng/quad-edge - - - - - -## [0.2.8](https://github.com/thi-ng/umbrella/compare/@thi.ng/quad-edge@0.2.7...@thi.ng/quad-edge@0.2.8) (2020-02-26) - -**Note:** Version bump only for package @thi.ng/quad-edge - - - - - -## [0.2.7](https://github.com/thi-ng/umbrella/compare/@thi.ng/quad-edge@0.2.6...@thi.ng/quad-edge@0.2.7) (2020-02-26) - -**Note:** Version bump only for package @thi.ng/quad-edge - - - - - -## [0.2.6](https://github.com/thi-ng/umbrella/compare/@thi.ng/quad-edge@0.2.5...@thi.ng/quad-edge@0.2.6) (2020-02-25) - -**Note:** Version bump only for package @thi.ng/quad-edge - - - - - # [0.2.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/quad-edge@0.1.4...@thi.ng/quad-edge@0.2.0) (2019-07-07) ### Features diff --git a/packages/ramp/CHANGELOG.md b/packages/ramp/CHANGELOG.md index a12735a36e..20c329a0af 100644 --- a/packages/ramp/CHANGELOG.md +++ b/packages/ramp/CHANGELOG.md @@ -3,46 +3,6 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [0.1.6](https://github.com/thi-ng/umbrella/compare/@thi.ng/ramp@0.1.5...@thi.ng/ramp@0.1.6) (2020-03-06) - -**Note:** Version bump only for package @thi.ng/ramp - - - - - -## [0.1.5](https://github.com/thi-ng/umbrella/compare/@thi.ng/ramp@0.1.4...@thi.ng/ramp@0.1.5) (2020-03-01) - -**Note:** Version bump only for package @thi.ng/ramp - - - - - -## [0.1.4](https://github.com/thi-ng/umbrella/compare/@thi.ng/ramp@0.1.3...@thi.ng/ramp@0.1.4) (2020-02-26) - -**Note:** Version bump only for package @thi.ng/ramp - - - - - -## [0.1.3](https://github.com/thi-ng/umbrella/compare/@thi.ng/ramp@0.1.2...@thi.ng/ramp@0.1.3) (2020-02-26) - -**Note:** Version bump only for package @thi.ng/ramp - - - - - -## [0.1.2](https://github.com/thi-ng/umbrella/compare/@thi.ng/ramp@0.1.1...@thi.ng/ramp@0.1.2) (2020-02-25) - -**Note:** Version bump only for package @thi.ng/ramp - - - - - # 0.1.0 (2020-01-24) ### Features diff --git a/packages/random/CHANGELOG.md b/packages/random/CHANGELOG.md index 96e288d34a..dbd13f0658 100644 --- a/packages/random/CHANGELOG.md +++ b/packages/random/CHANGELOG.md @@ -3,14 +3,6 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [1.4.1](https://github.com/thi-ng/umbrella/compare/@thi.ng/random@1.4.0...@thi.ng/random@1.4.1) (2020-03-06) - -**Note:** Version bump only for package @thi.ng/random - - - - - # [1.4.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/random@1.3.2...@thi.ng/random@1.4.0) (2020-03-01) @@ -27,22 +19,6 @@ See [Conventional Commits](https://conventionalcommits.org) for commit guideline -## [1.3.2](https://github.com/thi-ng/umbrella/compare/@thi.ng/random@1.3.1...@thi.ng/random@1.3.2) (2020-02-26) - -**Note:** Version bump only for package @thi.ng/random - - - - - -## [1.3.1](https://github.com/thi-ng/umbrella/compare/@thi.ng/random@1.3.0...@thi.ng/random@1.3.1) (2020-02-26) - -**Note:** Version bump only for package @thi.ng/random - - - - - # [1.3.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/random@1.2.0...@thi.ng/random@1.3.0) (2020-02-25) diff --git a/packages/range-coder/CHANGELOG.md b/packages/range-coder/CHANGELOG.md index 78305b9017..ee07517104 100644 --- a/packages/range-coder/CHANGELOG.md +++ b/packages/range-coder/CHANGELOG.md @@ -3,46 +3,6 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [1.0.34](https://github.com/thi-ng/umbrella/compare/@thi.ng/range-coder@1.0.33...@thi.ng/range-coder@1.0.34) (2020-03-06) - -**Note:** Version bump only for package @thi.ng/range-coder - - - - - -## [1.0.33](https://github.com/thi-ng/umbrella/compare/@thi.ng/range-coder@1.0.32...@thi.ng/range-coder@1.0.33) (2020-03-01) - -**Note:** Version bump only for package @thi.ng/range-coder - - - - - -## [1.0.32](https://github.com/thi-ng/umbrella/compare/@thi.ng/range-coder@1.0.31...@thi.ng/range-coder@1.0.32) (2020-02-26) - -**Note:** Version bump only for package @thi.ng/range-coder - - - - - -## [1.0.31](https://github.com/thi-ng/umbrella/compare/@thi.ng/range-coder@1.0.30...@thi.ng/range-coder@1.0.31) (2020-02-26) - -**Note:** Version bump only for package @thi.ng/range-coder - - - - - -## [1.0.30](https://github.com/thi-ng/umbrella/compare/@thi.ng/range-coder@1.0.29...@thi.ng/range-coder@1.0.30) (2020-02-25) - -**Note:** Version bump only for package @thi.ng/range-coder - - - - - # [1.0.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/range-coder@0.1.28...@thi.ng/range-coder@1.0.0) (2019-01-21) ### Build System diff --git a/packages/resolve-map/CHANGELOG.md b/packages/resolve-map/CHANGELOG.md index f1227cb454..2dd60baf2b 100644 --- a/packages/resolve-map/CHANGELOG.md +++ b/packages/resolve-map/CHANGELOG.md @@ -3,38 +3,6 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [4.1.15](https://github.com/thi-ng/umbrella/compare/@thi.ng/resolve-map@4.1.14...@thi.ng/resolve-map@4.1.15) (2020-03-06) - -**Note:** Version bump only for package @thi.ng/resolve-map - - - - - -## [4.1.14](https://github.com/thi-ng/umbrella/compare/@thi.ng/resolve-map@4.1.13...@thi.ng/resolve-map@4.1.14) (2020-02-26) - -**Note:** Version bump only for package @thi.ng/resolve-map - - - - - -## [4.1.13](https://github.com/thi-ng/umbrella/compare/@thi.ng/resolve-map@4.1.12...@thi.ng/resolve-map@4.1.13) (2020-02-26) - -**Note:** Version bump only for package @thi.ng/resolve-map - - - - - -## [4.1.12](https://github.com/thi-ng/umbrella/compare/@thi.ng/resolve-map@4.1.11...@thi.ng/resolve-map@4.1.12) (2020-02-25) - -**Note:** Version bump only for package @thi.ng/resolve-map - - - - - ## [4.1.2](https://github.com/thi-ng/umbrella/compare/@thi.ng/resolve-map@4.1.1...@thi.ng/resolve-map@4.1.2) (2019-07-08) ### Bug Fixes diff --git a/packages/rle-pack/CHANGELOG.md b/packages/rle-pack/CHANGELOG.md index d1ee5b165d..a677ac684e 100644 --- a/packages/rle-pack/CHANGELOG.md +++ b/packages/rle-pack/CHANGELOG.md @@ -3,38 +3,6 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [2.1.10](https://github.com/thi-ng/umbrella/compare/@thi.ng/rle-pack@2.1.9...@thi.ng/rle-pack@2.1.10) (2020-03-06) - -**Note:** Version bump only for package @thi.ng/rle-pack - - - - - -## [2.1.9](https://github.com/thi-ng/umbrella/compare/@thi.ng/rle-pack@2.1.8...@thi.ng/rle-pack@2.1.9) (2020-02-26) - -**Note:** Version bump only for package @thi.ng/rle-pack - - - - - -## [2.1.8](https://github.com/thi-ng/umbrella/compare/@thi.ng/rle-pack@2.1.7...@thi.ng/rle-pack@2.1.8) (2020-02-26) - -**Note:** Version bump only for package @thi.ng/rle-pack - - - - - -## [2.1.7](https://github.com/thi-ng/umbrella/compare/@thi.ng/rle-pack@2.1.6...@thi.ng/rle-pack@2.1.7) (2020-02-25) - -**Note:** Version bump only for package @thi.ng/rle-pack - - - - - # [2.1.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/rle-pack@2.0.6...@thi.ng/rle-pack@2.1.0) (2019-07-07) ### Features diff --git a/packages/router/CHANGELOG.md b/packages/router/CHANGELOG.md index f6d33a3e08..8340d07a82 100644 --- a/packages/router/CHANGELOG.md +++ b/packages/router/CHANGELOG.md @@ -3,38 +3,6 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [2.0.13](https://github.com/thi-ng/umbrella/compare/@thi.ng/router@2.0.12...@thi.ng/router@2.0.13) (2020-03-06) - -**Note:** Version bump only for package @thi.ng/router - - - - - -## [2.0.12](https://github.com/thi-ng/umbrella/compare/@thi.ng/router@2.0.11...@thi.ng/router@2.0.12) (2020-02-26) - -**Note:** Version bump only for package @thi.ng/router - - - - - -## [2.0.11](https://github.com/thi-ng/umbrella/compare/@thi.ng/router@2.0.10...@thi.ng/router@2.0.11) (2020-02-26) - -**Note:** Version bump only for package @thi.ng/router - - - - - -## [2.0.10](https://github.com/thi-ng/umbrella/compare/@thi.ng/router@2.0.9...@thi.ng/router@2.0.10) (2020-02-25) - -**Note:** Version bump only for package @thi.ng/router - - - - - # [2.0.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/router@1.0.12...@thi.ng/router@2.0.0) (2019-07-07) ### Code Refactoring diff --git a/packages/rstream-csp/CHANGELOG.md b/packages/rstream-csp/CHANGELOG.md index fb62bfd1ed..1d09004480 100644 --- a/packages/rstream-csp/CHANGELOG.md +++ b/packages/rstream-csp/CHANGELOG.md @@ -3,46 +3,6 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [2.0.7](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-csp@2.0.6...@thi.ng/rstream-csp@2.0.7) (2020-03-06) - -**Note:** Version bump only for package @thi.ng/rstream-csp - - - - - -## [2.0.6](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-csp@2.0.5...@thi.ng/rstream-csp@2.0.6) (2020-03-01) - -**Note:** Version bump only for package @thi.ng/rstream-csp - - - - - -## [2.0.5](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-csp@2.0.4...@thi.ng/rstream-csp@2.0.5) (2020-02-26) - -**Note:** Version bump only for package @thi.ng/rstream-csp - - - - - -## [2.0.4](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-csp@2.0.3...@thi.ng/rstream-csp@2.0.4) (2020-02-26) - -**Note:** Version bump only for package @thi.ng/rstream-csp - - - - - -## [2.0.3](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-csp@2.0.2...@thi.ng/rstream-csp@2.0.3) (2020-02-25) - -**Note:** Version bump only for package @thi.ng/rstream-csp - - - - - # [2.0.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-csp@1.0.33...@thi.ng/rstream-csp@2.0.0) (2019-11-30) ### Code Refactoring diff --git a/packages/rstream-dot/CHANGELOG.md b/packages/rstream-dot/CHANGELOG.md index 9c7ef096ea..27b3c838c9 100644 --- a/packages/rstream-dot/CHANGELOG.md +++ b/packages/rstream-dot/CHANGELOG.md @@ -3,46 +3,6 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [1.1.14](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-dot@1.1.13...@thi.ng/rstream-dot@1.1.14) (2020-03-06) - -**Note:** Version bump only for package @thi.ng/rstream-dot - - - - - -## [1.1.13](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-dot@1.1.12...@thi.ng/rstream-dot@1.1.13) (2020-03-01) - -**Note:** Version bump only for package @thi.ng/rstream-dot - - - - - -## [1.1.12](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-dot@1.1.11...@thi.ng/rstream-dot@1.1.12) (2020-02-26) - -**Note:** Version bump only for package @thi.ng/rstream-dot - - - - - -## [1.1.11](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-dot@1.1.10...@thi.ng/rstream-dot@1.1.11) (2020-02-26) - -**Note:** Version bump only for package @thi.ng/rstream-dot - - - - - -## [1.1.10](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-dot@1.1.9...@thi.ng/rstream-dot@1.1.10) (2020-02-25) - -**Note:** Version bump only for package @thi.ng/rstream-dot - - - - - # [1.1.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-dot@1.0.26...@thi.ng/rstream-dot@1.1.0) (2019-07-07) ### Features diff --git a/packages/rstream-gestures/CHANGELOG.md b/packages/rstream-gestures/CHANGELOG.md index 6ec672e220..b0615386e7 100644 --- a/packages/rstream-gestures/CHANGELOG.md +++ b/packages/rstream-gestures/CHANGELOG.md @@ -3,46 +3,6 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [2.0.6](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-gestures@2.0.5...@thi.ng/rstream-gestures@2.0.6) (2020-03-06) - -**Note:** Version bump only for package @thi.ng/rstream-gestures - - - - - -## [2.0.5](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-gestures@2.0.4...@thi.ng/rstream-gestures@2.0.5) (2020-03-01) - -**Note:** Version bump only for package @thi.ng/rstream-gestures - - - - - -## [2.0.4](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-gestures@2.0.3...@thi.ng/rstream-gestures@2.0.4) (2020-02-26) - -**Note:** Version bump only for package @thi.ng/rstream-gestures - - - - - -## [2.0.3](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-gestures@2.0.2...@thi.ng/rstream-gestures@2.0.3) (2020-02-26) - -**Note:** Version bump only for package @thi.ng/rstream-gestures - - - - - -## [2.0.2](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-gestures@2.0.1...@thi.ng/rstream-gestures@2.0.2) (2020-02-25) - -**Note:** Version bump only for package @thi.ng/rstream-gestures - - - - - # [2.0.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-gestures@1.3.0...@thi.ng/rstream-gestures@2.0.0) (2020-01-24) ### Bug Fixes diff --git a/packages/rstream-graph/CHANGELOG.md b/packages/rstream-graph/CHANGELOG.md index e298f541d3..484e646d10 100644 --- a/packages/rstream-graph/CHANGELOG.md +++ b/packages/rstream-graph/CHANGELOG.md @@ -3,46 +3,6 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [3.2.7](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-graph@3.2.6...@thi.ng/rstream-graph@3.2.7) (2020-03-06) - -**Note:** Version bump only for package @thi.ng/rstream-graph - - - - - -## [3.2.6](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-graph@3.2.5...@thi.ng/rstream-graph@3.2.6) (2020-03-01) - -**Note:** Version bump only for package @thi.ng/rstream-graph - - - - - -## [3.2.5](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-graph@3.2.4...@thi.ng/rstream-graph@3.2.5) (2020-02-26) - -**Note:** Version bump only for package @thi.ng/rstream-graph - - - - - -## [3.2.4](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-graph@3.2.3...@thi.ng/rstream-graph@3.2.4) (2020-02-26) - -**Note:** Version bump only for package @thi.ng/rstream-graph - - - - - -## [3.2.3](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-graph@3.2.2...@thi.ng/rstream-graph@3.2.3) (2020-02-25) - -**Note:** Version bump only for package @thi.ng/rstream-graph - - - - - # [3.2.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-graph@3.1.8...@thi.ng/rstream-graph@3.2.0) (2019-11-30) ### Bug Fixes diff --git a/packages/rstream-log-file/CHANGELOG.md b/packages/rstream-log-file/CHANGELOG.md index dbb9bff151..b9df57e808 100644 --- a/packages/rstream-log-file/CHANGELOG.md +++ b/packages/rstream-log-file/CHANGELOG.md @@ -3,46 +3,6 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [0.1.29](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-log-file@0.1.28...@thi.ng/rstream-log-file@0.1.29) (2020-03-06) - -**Note:** Version bump only for package @thi.ng/rstream-log-file - - - - - -## [0.1.28](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-log-file@0.1.27...@thi.ng/rstream-log-file@0.1.28) (2020-03-01) - -**Note:** Version bump only for package @thi.ng/rstream-log-file - - - - - -## [0.1.27](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-log-file@0.1.26...@thi.ng/rstream-log-file@0.1.27) (2020-02-26) - -**Note:** Version bump only for package @thi.ng/rstream-log-file - - - - - -## [0.1.26](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-log-file@0.1.25...@thi.ng/rstream-log-file@0.1.26) (2020-02-26) - -**Note:** Version bump only for package @thi.ng/rstream-log-file - - - - - -## [0.1.25](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-log-file@0.1.24...@thi.ng/rstream-log-file@0.1.25) (2020-02-25) - -**Note:** Version bump only for package @thi.ng/rstream-log-file - - - - - # 0.1.0 (2019-03-19) ### Features diff --git a/packages/rstream-log/CHANGELOG.md b/packages/rstream-log/CHANGELOG.md index 9653f8f7c6..252dad972a 100644 --- a/packages/rstream-log/CHANGELOG.md +++ b/packages/rstream-log/CHANGELOG.md @@ -3,46 +3,6 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [3.1.14](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-log@3.1.13...@thi.ng/rstream-log@3.1.14) (2020-03-06) - -**Note:** Version bump only for package @thi.ng/rstream-log - - - - - -## [3.1.13](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-log@3.1.12...@thi.ng/rstream-log@3.1.13) (2020-03-01) - -**Note:** Version bump only for package @thi.ng/rstream-log - - - - - -## [3.1.12](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-log@3.1.11...@thi.ng/rstream-log@3.1.12) (2020-02-26) - -**Note:** Version bump only for package @thi.ng/rstream-log - - - - - -## [3.1.11](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-log@3.1.10...@thi.ng/rstream-log@3.1.11) (2020-02-26) - -**Note:** Version bump only for package @thi.ng/rstream-log - - - - - -## [3.1.10](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-log@3.1.9...@thi.ng/rstream-log@3.1.10) (2020-02-25) - -**Note:** Version bump only for package @thi.ng/rstream-log - - - - - # [3.1.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-log@3.0.14...@thi.ng/rstream-log@3.1.0) (2019-07-07) ### Features diff --git a/packages/rstream-query/CHANGELOG.md b/packages/rstream-query/CHANGELOG.md index 0c56364624..4dba714ee9 100644 --- a/packages/rstream-query/CHANGELOG.md +++ b/packages/rstream-query/CHANGELOG.md @@ -3,46 +3,6 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [1.1.14](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-query@1.1.13...@thi.ng/rstream-query@1.1.14) (2020-03-06) - -**Note:** Version bump only for package @thi.ng/rstream-query - - - - - -## [1.1.13](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-query@1.1.12...@thi.ng/rstream-query@1.1.13) (2020-03-01) - -**Note:** Version bump only for package @thi.ng/rstream-query - - - - - -## [1.1.12](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-query@1.1.11...@thi.ng/rstream-query@1.1.12) (2020-02-26) - -**Note:** Version bump only for package @thi.ng/rstream-query - - - - - -## [1.1.11](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-query@1.1.10...@thi.ng/rstream-query@1.1.11) (2020-02-26) - -**Note:** Version bump only for package @thi.ng/rstream-query - - - - - -## [1.1.10](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-query@1.1.9...@thi.ng/rstream-query@1.1.10) (2020-02-25) - -**Note:** Version bump only for package @thi.ng/rstream-query - - - - - ## [1.1.7](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-query@1.1.6...@thi.ng/rstream-query@1.1.7) (2019-11-30) ### Bug Fixes diff --git a/packages/rstream/CHANGELOG.md b/packages/rstream/CHANGELOG.md index bd949cc143..456ee57a54 100644 --- a/packages/rstream/CHANGELOG.md +++ b/packages/rstream/CHANGELOG.md @@ -3,46 +3,6 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [3.0.7](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream@3.0.6...@thi.ng/rstream@3.0.7) (2020-03-06) - -**Note:** Version bump only for package @thi.ng/rstream - - - - - -## [3.0.6](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream@3.0.5...@thi.ng/rstream@3.0.6) (2020-03-01) - -**Note:** Version bump only for package @thi.ng/rstream - - - - - -## [3.0.5](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream@3.0.4...@thi.ng/rstream@3.0.5) (2020-02-26) - -**Note:** Version bump only for package @thi.ng/rstream - - - - - -## [3.0.4](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream@3.0.3...@thi.ng/rstream@3.0.4) (2020-02-26) - -**Note:** Version bump only for package @thi.ng/rstream - - - - - -## [3.0.3](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream@3.0.2...@thi.ng/rstream@3.0.3) (2020-02-25) - -**Note:** Version bump only for package @thi.ng/rstream - - - - - # [3.0.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream@2.5.6...@thi.ng/rstream@3.0.0) (2019-11-30) ### Bug Fixes diff --git a/packages/sax/CHANGELOG.md b/packages/sax/CHANGELOG.md index 9ab919708e..e961a8526e 100644 --- a/packages/sax/CHANGELOG.md +++ b/packages/sax/CHANGELOG.md @@ -3,46 +3,6 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [1.1.14](https://github.com/thi-ng/umbrella/compare/@thi.ng/sax@1.1.13...@thi.ng/sax@1.1.14) (2020-03-06) - -**Note:** Version bump only for package @thi.ng/sax - - - - - -## [1.1.13](https://github.com/thi-ng/umbrella/compare/@thi.ng/sax@1.1.12...@thi.ng/sax@1.1.13) (2020-03-01) - -**Note:** Version bump only for package @thi.ng/sax - - - - - -## [1.1.12](https://github.com/thi-ng/umbrella/compare/@thi.ng/sax@1.1.11...@thi.ng/sax@1.1.12) (2020-02-26) - -**Note:** Version bump only for package @thi.ng/sax - - - - - -## [1.1.11](https://github.com/thi-ng/umbrella/compare/@thi.ng/sax@1.1.10...@thi.ng/sax@1.1.11) (2020-02-26) - -**Note:** Version bump only for package @thi.ng/sax - - - - - -## [1.1.10](https://github.com/thi-ng/umbrella/compare/@thi.ng/sax@1.1.9...@thi.ng/sax@1.1.10) (2020-02-25) - -**Note:** Version bump only for package @thi.ng/sax - - - - - # [1.1.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/sax@1.0.19...@thi.ng/sax@1.1.0) (2019-07-07) ### Features diff --git a/packages/scenegraph/CHANGELOG.md b/packages/scenegraph/CHANGELOG.md index 7c14acc39c..eba9765f77 100644 --- a/packages/scenegraph/CHANGELOG.md +++ b/packages/scenegraph/CHANGELOG.md @@ -3,46 +3,6 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [0.1.7](https://github.com/thi-ng/umbrella/compare/@thi.ng/scenegraph@0.1.6...@thi.ng/scenegraph@0.1.7) (2020-03-06) - -**Note:** Version bump only for package @thi.ng/scenegraph - - - - - -## [0.1.6](https://github.com/thi-ng/umbrella/compare/@thi.ng/scenegraph@0.1.5...@thi.ng/scenegraph@0.1.6) (2020-03-01) - -**Note:** Version bump only for package @thi.ng/scenegraph - - - - - -## [0.1.5](https://github.com/thi-ng/umbrella/compare/@thi.ng/scenegraph@0.1.4...@thi.ng/scenegraph@0.1.5) (2020-02-26) - -**Note:** Version bump only for package @thi.ng/scenegraph - - - - - -## [0.1.4](https://github.com/thi-ng/umbrella/compare/@thi.ng/scenegraph@0.1.3...@thi.ng/scenegraph@0.1.4) (2020-02-26) - -**Note:** Version bump only for package @thi.ng/scenegraph - - - - - -## [0.1.3](https://github.com/thi-ng/umbrella/compare/@thi.ng/scenegraph@0.1.2...@thi.ng/scenegraph@0.1.3) (2020-02-25) - -**Note:** Version bump only for package @thi.ng/scenegraph - - - - - # 0.1.0 (2019-11-30) ### Features diff --git a/packages/seq/CHANGELOG.md b/packages/seq/CHANGELOG.md index 7f824c086f..483c99bc6d 100644 --- a/packages/seq/CHANGELOG.md +++ b/packages/seq/CHANGELOG.md @@ -3,38 +3,6 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [0.2.5](https://github.com/thi-ng/umbrella/compare/@thi.ng/seq@0.2.4...@thi.ng/seq@0.2.5) (2020-03-06) - -**Note:** Version bump only for package @thi.ng/seq - - - - - -## [0.2.4](https://github.com/thi-ng/umbrella/compare/@thi.ng/seq@0.2.3...@thi.ng/seq@0.2.4) (2020-02-26) - -**Note:** Version bump only for package @thi.ng/seq - - - - - -## [0.2.3](https://github.com/thi-ng/umbrella/compare/@thi.ng/seq@0.2.2...@thi.ng/seq@0.2.3) (2020-02-26) - -**Note:** Version bump only for package @thi.ng/seq - - - - - -## [0.2.2](https://github.com/thi-ng/umbrella/compare/@thi.ng/seq@0.2.1...@thi.ng/seq@0.2.2) (2020-02-25) - -**Note:** Version bump only for package @thi.ng/seq - - - - - # [0.2.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/seq@0.1.0...@thi.ng/seq@0.2.0) (2020-01-24) ### Features diff --git a/packages/sexpr/CHANGELOG.md b/packages/sexpr/CHANGELOG.md index 0f8562953b..563d1a12c5 100644 --- a/packages/sexpr/CHANGELOG.md +++ b/packages/sexpr/CHANGELOG.md @@ -3,38 +3,6 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [0.2.8](https://github.com/thi-ng/umbrella/compare/@thi.ng/sexpr@0.2.7...@thi.ng/sexpr@0.2.8) (2020-03-06) - -**Note:** Version bump only for package @thi.ng/sexpr - - - - - -## [0.2.7](https://github.com/thi-ng/umbrella/compare/@thi.ng/sexpr@0.2.6...@thi.ng/sexpr@0.2.7) (2020-02-26) - -**Note:** Version bump only for package @thi.ng/sexpr - - - - - -## [0.2.6](https://github.com/thi-ng/umbrella/compare/@thi.ng/sexpr@0.2.5...@thi.ng/sexpr@0.2.6) (2020-02-26) - -**Note:** Version bump only for package @thi.ng/sexpr - - - - - -## [0.2.5](https://github.com/thi-ng/umbrella/compare/@thi.ng/sexpr@0.2.4...@thi.ng/sexpr@0.2.5) (2020-02-25) - -**Note:** Version bump only for package @thi.ng/sexpr - - - - - # [0.2.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/sexpr@0.1.0...@thi.ng/sexpr@0.2.0) (2019-09-23) ### Features diff --git a/packages/shader-ast-glsl/CHANGELOG.md b/packages/shader-ast-glsl/CHANGELOG.md index 663bda9473..6a16f45349 100644 --- a/packages/shader-ast-glsl/CHANGELOG.md +++ b/packages/shader-ast-glsl/CHANGELOG.md @@ -3,46 +3,6 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [0.1.16](https://github.com/thi-ng/umbrella/compare/@thi.ng/shader-ast-glsl@0.1.15...@thi.ng/shader-ast-glsl@0.1.16) (2020-03-06) - -**Note:** Version bump only for package @thi.ng/shader-ast-glsl - - - - - -## [0.1.15](https://github.com/thi-ng/umbrella/compare/@thi.ng/shader-ast-glsl@0.1.14...@thi.ng/shader-ast-glsl@0.1.15) (2020-03-01) - -**Note:** Version bump only for package @thi.ng/shader-ast-glsl - - - - - -## [0.1.14](https://github.com/thi-ng/umbrella/compare/@thi.ng/shader-ast-glsl@0.1.13...@thi.ng/shader-ast-glsl@0.1.14) (2020-02-26) - -**Note:** Version bump only for package @thi.ng/shader-ast-glsl - - - - - -## [0.1.13](https://github.com/thi-ng/umbrella/compare/@thi.ng/shader-ast-glsl@0.1.12...@thi.ng/shader-ast-glsl@0.1.13) (2020-02-26) - -**Note:** Version bump only for package @thi.ng/shader-ast-glsl - - - - - -## [0.1.12](https://github.com/thi-ng/umbrella/compare/@thi.ng/shader-ast-glsl@0.1.11...@thi.ng/shader-ast-glsl@0.1.12) (2020-02-25) - -**Note:** Version bump only for package @thi.ng/shader-ast-glsl - - - - - # 0.1.0 (2019-07-07) ### Bug Fixes diff --git a/packages/shader-ast-js/CHANGELOG.md b/packages/shader-ast-js/CHANGELOG.md index 3060c2e8fa..55582fcbd0 100644 --- a/packages/shader-ast-js/CHANGELOG.md +++ b/packages/shader-ast-js/CHANGELOG.md @@ -3,46 +3,6 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [0.4.9](https://github.com/thi-ng/umbrella/compare/@thi.ng/shader-ast-js@0.4.8...@thi.ng/shader-ast-js@0.4.9) (2020-03-06) - -**Note:** Version bump only for package @thi.ng/shader-ast-js - - - - - -## [0.4.8](https://github.com/thi-ng/umbrella/compare/@thi.ng/shader-ast-js@0.4.7...@thi.ng/shader-ast-js@0.4.8) (2020-03-01) - -**Note:** Version bump only for package @thi.ng/shader-ast-js - - - - - -## [0.4.7](https://github.com/thi-ng/umbrella/compare/@thi.ng/shader-ast-js@0.4.6...@thi.ng/shader-ast-js@0.4.7) (2020-02-26) - -**Note:** Version bump only for package @thi.ng/shader-ast-js - - - - - -## [0.4.6](https://github.com/thi-ng/umbrella/compare/@thi.ng/shader-ast-js@0.4.5...@thi.ng/shader-ast-js@0.4.6) (2020-02-26) - -**Note:** Version bump only for package @thi.ng/shader-ast-js - - - - - -## [0.4.5](https://github.com/thi-ng/umbrella/compare/@thi.ng/shader-ast-js@0.4.4...@thi.ng/shader-ast-js@0.4.5) (2020-02-25) - -**Note:** Version bump only for package @thi.ng/shader-ast-js - - - - - # [0.4.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/shader-ast-js@0.3.1...@thi.ng/shader-ast-js@0.4.0) (2019-09-21) ### Bug Fixes diff --git a/packages/shader-ast-stdlib/CHANGELOG.md b/packages/shader-ast-stdlib/CHANGELOG.md index 7a53ca8d88..09aad6b9bf 100644 --- a/packages/shader-ast-stdlib/CHANGELOG.md +++ b/packages/shader-ast-stdlib/CHANGELOG.md @@ -3,46 +3,6 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [0.3.9](https://github.com/thi-ng/umbrella/compare/@thi.ng/shader-ast-stdlib@0.3.8...@thi.ng/shader-ast-stdlib@0.3.9) (2020-03-06) - -**Note:** Version bump only for package @thi.ng/shader-ast-stdlib - - - - - -## [0.3.8](https://github.com/thi-ng/umbrella/compare/@thi.ng/shader-ast-stdlib@0.3.7...@thi.ng/shader-ast-stdlib@0.3.8) (2020-03-01) - -**Note:** Version bump only for package @thi.ng/shader-ast-stdlib - - - - - -## [0.3.7](https://github.com/thi-ng/umbrella/compare/@thi.ng/shader-ast-stdlib@0.3.6...@thi.ng/shader-ast-stdlib@0.3.7) (2020-02-26) - -**Note:** Version bump only for package @thi.ng/shader-ast-stdlib - - - - - -## [0.3.6](https://github.com/thi-ng/umbrella/compare/@thi.ng/shader-ast-stdlib@0.3.5...@thi.ng/shader-ast-stdlib@0.3.6) (2020-02-26) - -**Note:** Version bump only for package @thi.ng/shader-ast-stdlib - - - - - -## [0.3.5](https://github.com/thi-ng/umbrella/compare/@thi.ng/shader-ast-stdlib@0.3.4...@thi.ng/shader-ast-stdlib@0.3.5) (2020-02-25) - -**Note:** Version bump only for package @thi.ng/shader-ast-stdlib - - - - - # [0.3.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/shader-ast-stdlib@0.2.3...@thi.ng/shader-ast-stdlib@0.3.0) (2019-09-21) ### Bug Fixes diff --git a/packages/shader-ast/CHANGELOG.md b/packages/shader-ast/CHANGELOG.md index 28a4968ca9..12ab4480fa 100644 --- a/packages/shader-ast/CHANGELOG.md +++ b/packages/shader-ast/CHANGELOG.md @@ -3,46 +3,6 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [0.3.10](https://github.com/thi-ng/umbrella/compare/@thi.ng/shader-ast@0.3.9...@thi.ng/shader-ast@0.3.10) (2020-03-06) - -**Note:** Version bump only for package @thi.ng/shader-ast - - - - - -## [0.3.9](https://github.com/thi-ng/umbrella/compare/@thi.ng/shader-ast@0.3.8...@thi.ng/shader-ast@0.3.9) (2020-03-01) - -**Note:** Version bump only for package @thi.ng/shader-ast - - - - - -## [0.3.8](https://github.com/thi-ng/umbrella/compare/@thi.ng/shader-ast@0.3.7...@thi.ng/shader-ast@0.3.8) (2020-02-26) - -**Note:** Version bump only for package @thi.ng/shader-ast - - - - - -## [0.3.7](https://github.com/thi-ng/umbrella/compare/@thi.ng/shader-ast@0.3.6...@thi.ng/shader-ast@0.3.7) (2020-02-26) - -**Note:** Version bump only for package @thi.ng/shader-ast - - - - - -## [0.3.6](https://github.com/thi-ng/umbrella/compare/@thi.ng/shader-ast@0.3.5...@thi.ng/shader-ast@0.3.6) (2020-02-25) - -**Note:** Version bump only for package @thi.ng/shader-ast - - - - - # [0.3.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/shader-ast@0.2.3...@thi.ng/shader-ast@0.3.0) (2019-08-21) ### Features diff --git a/packages/simd/CHANGELOG.md b/packages/simd/CHANGELOG.md index 406d5aab68..9df06f4721 100644 --- a/packages/simd/CHANGELOG.md +++ b/packages/simd/CHANGELOG.md @@ -3,46 +3,6 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [0.1.8](https://github.com/thi-ng/umbrella/compare/@thi.ng/simd@0.1.7...@thi.ng/simd@0.1.8) (2020-03-06) - -**Note:** Version bump only for package @thi.ng/simd - - - - - -## [0.1.7](https://github.com/thi-ng/umbrella/compare/@thi.ng/simd@0.1.6...@thi.ng/simd@0.1.7) (2020-03-01) - -**Note:** Version bump only for package @thi.ng/simd - - - - - -## [0.1.6](https://github.com/thi-ng/umbrella/compare/@thi.ng/simd@0.1.5...@thi.ng/simd@0.1.6) (2020-02-26) - -**Note:** Version bump only for package @thi.ng/simd - - - - - -## [0.1.5](https://github.com/thi-ng/umbrella/compare/@thi.ng/simd@0.1.4...@thi.ng/simd@0.1.5) (2020-02-26) - -**Note:** Version bump only for package @thi.ng/simd - - - - - -## [0.1.4](https://github.com/thi-ng/umbrella/compare/@thi.ng/simd@0.1.3...@thi.ng/simd@0.1.4) (2020-02-25) - -**Note:** Version bump only for package @thi.ng/simd - - - - - # 0.1.0 (2019-11-09) ### Bug Fixes diff --git a/packages/soa/CHANGELOG.md b/packages/soa/CHANGELOG.md index 8fca560248..84a815caea 100644 --- a/packages/soa/CHANGELOG.md +++ b/packages/soa/CHANGELOG.md @@ -3,46 +3,6 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [0.1.8](https://github.com/thi-ng/umbrella/compare/@thi.ng/soa@0.1.7...@thi.ng/soa@0.1.8) (2020-03-06) - -**Note:** Version bump only for package @thi.ng/soa - - - - - -## [0.1.7](https://github.com/thi-ng/umbrella/compare/@thi.ng/soa@0.1.6...@thi.ng/soa@0.1.7) (2020-03-01) - -**Note:** Version bump only for package @thi.ng/soa - - - - - -## [0.1.6](https://github.com/thi-ng/umbrella/compare/@thi.ng/soa@0.1.5...@thi.ng/soa@0.1.6) (2020-02-26) - -**Note:** Version bump only for package @thi.ng/soa - - - - - -## [0.1.5](https://github.com/thi-ng/umbrella/compare/@thi.ng/soa@0.1.4...@thi.ng/soa@0.1.5) (2020-02-26) - -**Note:** Version bump only for package @thi.ng/soa - - - - - -## [0.1.4](https://github.com/thi-ng/umbrella/compare/@thi.ng/soa@0.1.3...@thi.ng/soa@0.1.4) (2020-02-25) - -**Note:** Version bump only for package @thi.ng/soa - - - - - # 0.1.0 (2019-11-09) ### Bug Fixes diff --git a/packages/sparse/CHANGELOG.md b/packages/sparse/CHANGELOG.md index 5493ab5115..29f14f10de 100644 --- a/packages/sparse/CHANGELOG.md +++ b/packages/sparse/CHANGELOG.md @@ -3,46 +3,6 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [0.1.30](https://github.com/thi-ng/umbrella/compare/@thi.ng/sparse@0.1.29...@thi.ng/sparse@0.1.30) (2020-03-06) - -**Note:** Version bump only for package @thi.ng/sparse - - - - - -## [0.1.29](https://github.com/thi-ng/umbrella/compare/@thi.ng/sparse@0.1.28...@thi.ng/sparse@0.1.29) (2020-03-01) - -**Note:** Version bump only for package @thi.ng/sparse - - - - - -## [0.1.28](https://github.com/thi-ng/umbrella/compare/@thi.ng/sparse@0.1.27...@thi.ng/sparse@0.1.28) (2020-02-26) - -**Note:** Version bump only for package @thi.ng/sparse - - - - - -## [0.1.27](https://github.com/thi-ng/umbrella/compare/@thi.ng/sparse@0.1.26...@thi.ng/sparse@0.1.27) (2020-02-26) - -**Note:** Version bump only for package @thi.ng/sparse - - - - - -## [0.1.26](https://github.com/thi-ng/umbrella/compare/@thi.ng/sparse@0.1.25...@thi.ng/sparse@0.1.26) (2020-02-25) - -**Note:** Version bump only for package @thi.ng/sparse - - - - - # 0.1.0 (2019-02-17) ### Features diff --git a/packages/strings/CHANGELOG.md b/packages/strings/CHANGELOG.md index 5bfaab83ea..015a78607f 100644 --- a/packages/strings/CHANGELOG.md +++ b/packages/strings/CHANGELOG.md @@ -25,22 +25,6 @@ See [Conventional Commits](https://conventionalcommits.org) for commit guideline -## [1.5.2](https://github.com/thi-ng/umbrella/compare/@thi.ng/strings@1.5.1...@thi.ng/strings@1.5.2) (2020-02-26) - -**Note:** Version bump only for package @thi.ng/strings - - - - - -## [1.5.1](https://github.com/thi-ng/umbrella/compare/@thi.ng/strings@1.5.0...@thi.ng/strings@1.5.1) (2020-02-26) - -**Note:** Version bump only for package @thi.ng/strings - - - - - # [1.5.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/strings@1.4.0...@thi.ng/strings@1.5.0) (2020-02-25) diff --git a/packages/text-canvas/CHANGELOG.md b/packages/text-canvas/CHANGELOG.md index cc19e66ef5..2ef224ef52 100644 --- a/packages/text-canvas/CHANGELOG.md +++ b/packages/text-canvas/CHANGELOG.md @@ -3,14 +3,6 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [0.2.1](https://github.com/thi-ng/umbrella/compare/@thi.ng/text-canvas@0.2.0...@thi.ng/text-canvas@0.2.1) (2020-03-06) - -**Note:** Version bump only for package @thi.ng/text-canvas - - - - - # [0.2.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/text-canvas@0.1.2...@thi.ng/text-canvas@0.2.0) (2020-03-01) @@ -22,22 +14,6 @@ See [Conventional Commits](https://conventionalcommits.org) for commit guideline -## [0.1.2](https://github.com/thi-ng/umbrella/compare/@thi.ng/text-canvas@0.1.1...@thi.ng/text-canvas@0.1.2) (2020-02-26) - -**Note:** Version bump only for package @thi.ng/text-canvas - - - - - -## [0.1.1](https://github.com/thi-ng/umbrella/compare/@thi.ng/text-canvas@0.1.0...@thi.ng/text-canvas@0.1.1) (2020-02-26) - -**Note:** Version bump only for package @thi.ng/text-canvas - - - - - # 0.1.0 (2020-02-25) diff --git a/packages/transducers-binary/CHANGELOG.md b/packages/transducers-binary/CHANGELOG.md index 68ac40e13b..16f5fff40e 100644 --- a/packages/transducers-binary/CHANGELOG.md +++ b/packages/transducers-binary/CHANGELOG.md @@ -3,38 +3,6 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [0.5.4](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers-binary@0.5.3...@thi.ng/transducers-binary@0.5.4) (2020-03-06) - -**Note:** Version bump only for package @thi.ng/transducers-binary - - - - - -## [0.5.3](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers-binary@0.5.2...@thi.ng/transducers-binary@0.5.3) (2020-03-01) - -**Note:** Version bump only for package @thi.ng/transducers-binary - - - - - -## [0.5.2](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers-binary@0.5.1...@thi.ng/transducers-binary@0.5.2) (2020-02-26) - -**Note:** Version bump only for package @thi.ng/transducers-binary - - - - - -## [0.5.1](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers-binary@0.5.0...@thi.ng/transducers-binary@0.5.1) (2020-02-26) - -**Note:** Version bump only for package @thi.ng/transducers-binary - - - - - # [0.5.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers-binary@0.4.9...@thi.ng/transducers-binary@0.5.0) (2020-02-25) diff --git a/packages/transducers-fsm/CHANGELOG.md b/packages/transducers-fsm/CHANGELOG.md index f1533c5a96..b1f0850128 100644 --- a/packages/transducers-fsm/CHANGELOG.md +++ b/packages/transducers-fsm/CHANGELOG.md @@ -3,46 +3,6 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [1.1.14](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers-fsm@1.1.13...@thi.ng/transducers-fsm@1.1.14) (2020-03-06) - -**Note:** Version bump only for package @thi.ng/transducers-fsm - - - - - -## [1.1.13](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers-fsm@1.1.12...@thi.ng/transducers-fsm@1.1.13) (2020-03-01) - -**Note:** Version bump only for package @thi.ng/transducers-fsm - - - - - -## [1.1.12](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers-fsm@1.1.11...@thi.ng/transducers-fsm@1.1.12) (2020-02-26) - -**Note:** Version bump only for package @thi.ng/transducers-fsm - - - - - -## [1.1.11](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers-fsm@1.1.10...@thi.ng/transducers-fsm@1.1.11) (2020-02-26) - -**Note:** Version bump only for package @thi.ng/transducers-fsm - - - - - -## [1.1.10](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers-fsm@1.1.9...@thi.ng/transducers-fsm@1.1.10) (2020-02-25) - -**Note:** Version bump only for package @thi.ng/transducers-fsm - - - - - # [1.1.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers-fsm@1.0.19...@thi.ng/transducers-fsm@1.1.0) (2019-07-07) ### Features diff --git a/packages/transducers-hdom/CHANGELOG.md b/packages/transducers-hdom/CHANGELOG.md index 0d05d03632..abac55acff 100644 --- a/packages/transducers-hdom/CHANGELOG.md +++ b/packages/transducers-hdom/CHANGELOG.md @@ -3,46 +3,6 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [2.0.39](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers-hdom@2.0.38...@thi.ng/transducers-hdom@2.0.39) (2020-03-06) - -**Note:** Version bump only for package @thi.ng/transducers-hdom - - - - - -## [2.0.38](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers-hdom@2.0.37...@thi.ng/transducers-hdom@2.0.38) (2020-03-01) - -**Note:** Version bump only for package @thi.ng/transducers-hdom - - - - - -## [2.0.37](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers-hdom@2.0.36...@thi.ng/transducers-hdom@2.0.37) (2020-02-26) - -**Note:** Version bump only for package @thi.ng/transducers-hdom - - - - - -## [2.0.36](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers-hdom@2.0.35...@thi.ng/transducers-hdom@2.0.36) (2020-02-26) - -**Note:** Version bump only for package @thi.ng/transducers-hdom - - - - - -## [2.0.35](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers-hdom@2.0.34...@thi.ng/transducers-hdom@2.0.35) (2020-02-25) - -**Note:** Version bump only for package @thi.ng/transducers-hdom - - - - - # [2.0.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers-hdom@1.2.16...@thi.ng/transducers-hdom@2.0.0) (2019-01-21) ### Build System diff --git a/packages/transducers-patch/CHANGELOG.md b/packages/transducers-patch/CHANGELOG.md index afdce5d43b..c1de10acba 100644 --- a/packages/transducers-patch/CHANGELOG.md +++ b/packages/transducers-patch/CHANGELOG.md @@ -3,38 +3,6 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [0.1.4](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers-patch@0.1.3...@thi.ng/transducers-patch@0.1.4) (2020-03-06) - -**Note:** Version bump only for package @thi.ng/transducers-patch - - - - - -## [0.1.3](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers-patch@0.1.2...@thi.ng/transducers-patch@0.1.3) (2020-03-01) - -**Note:** Version bump only for package @thi.ng/transducers-patch - - - - - -## [0.1.2](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers-patch@0.1.1...@thi.ng/transducers-patch@0.1.2) (2020-02-26) - -**Note:** Version bump only for package @thi.ng/transducers-patch - - - - - -## [0.1.1](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers-patch@0.1.0...@thi.ng/transducers-patch@0.1.1) (2020-02-26) - -**Note:** Version bump only for package @thi.ng/transducers-patch - - - - - # 0.1.0 (2020-02-25) diff --git a/packages/transducers-stats/CHANGELOG.md b/packages/transducers-stats/CHANGELOG.md index 8aa28c3ec1..9329b12832 100644 --- a/packages/transducers-stats/CHANGELOG.md +++ b/packages/transducers-stats/CHANGELOG.md @@ -3,46 +3,6 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [1.1.14](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers-stats@1.1.13...@thi.ng/transducers-stats@1.1.14) (2020-03-06) - -**Note:** Version bump only for package @thi.ng/transducers-stats - - - - - -## [1.1.13](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers-stats@1.1.12...@thi.ng/transducers-stats@1.1.13) (2020-03-01) - -**Note:** Version bump only for package @thi.ng/transducers-stats - - - - - -## [1.1.12](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers-stats@1.1.11...@thi.ng/transducers-stats@1.1.12) (2020-02-26) - -**Note:** Version bump only for package @thi.ng/transducers-stats - - - - - -## [1.1.11](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers-stats@1.1.10...@thi.ng/transducers-stats@1.1.11) (2020-02-26) - -**Note:** Version bump only for package @thi.ng/transducers-stats - - - - - -## [1.1.10](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers-stats@1.1.9...@thi.ng/transducers-stats@1.1.10) (2020-02-25) - -**Note:** Version bump only for package @thi.ng/transducers-stats - - - - - # [1.1.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers-stats@1.0.19...@thi.ng/transducers-stats@1.1.0) (2019-07-07) ### Features diff --git a/packages/transducers/CHANGELOG.md b/packages/transducers/CHANGELOG.md index 06ee051b72..885dd8b34b 100644 --- a/packages/transducers/CHANGELOG.md +++ b/packages/transducers/CHANGELOG.md @@ -3,14 +3,6 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [6.4.1](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers@6.4.0...@thi.ng/transducers@6.4.1) (2020-03-06) - -**Note:** Version bump only for package @thi.ng/transducers - - - - - # [6.4.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers@6.3.2...@thi.ng/transducers@6.4.0) (2020-03-01) @@ -23,22 +15,6 @@ See [Conventional Commits](https://conventionalcommits.org) for commit guideline -## [6.3.2](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers@6.3.1...@thi.ng/transducers@6.3.2) (2020-02-26) - -**Note:** Version bump only for package @thi.ng/transducers - - - - - -## [6.3.1](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers@6.3.0...@thi.ng/transducers@6.3.1) (2020-02-26) - -**Note:** Version bump only for package @thi.ng/transducers - - - - - # [6.3.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers@6.2.1...@thi.ng/transducers@6.3.0) (2020-02-25) diff --git a/packages/unionstruct/CHANGELOG.md b/packages/unionstruct/CHANGELOG.md index 1c30e0ee8e..bb593e62f4 100644 --- a/packages/unionstruct/CHANGELOG.md +++ b/packages/unionstruct/CHANGELOG.md @@ -3,38 +3,6 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [1.1.9](https://github.com/thi-ng/umbrella/compare/@thi.ng/unionstruct@1.1.8...@thi.ng/unionstruct@1.1.9) (2020-03-06) - -**Note:** Version bump only for package @thi.ng/unionstruct - - - - - -## [1.1.8](https://github.com/thi-ng/umbrella/compare/@thi.ng/unionstruct@1.1.7...@thi.ng/unionstruct@1.1.8) (2020-02-26) - -**Note:** Version bump only for package @thi.ng/unionstruct - - - - - -## [1.1.7](https://github.com/thi-ng/umbrella/compare/@thi.ng/unionstruct@1.1.6...@thi.ng/unionstruct@1.1.7) (2020-02-26) - -**Note:** Version bump only for package @thi.ng/unionstruct - - - - - -## [1.1.6](https://github.com/thi-ng/umbrella/compare/@thi.ng/unionstruct@1.1.5...@thi.ng/unionstruct@1.1.6) (2020-02-25) - -**Note:** Version bump only for package @thi.ng/unionstruct - - - - - # [1.1.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/unionstruct@1.0.6...@thi.ng/unionstruct@1.1.0) (2019-07-07) ### Bug Fixes diff --git a/packages/vector-pools/CHANGELOG.md b/packages/vector-pools/CHANGELOG.md index 4de1809b1f..f6702d10e9 100644 --- a/packages/vector-pools/CHANGELOG.md +++ b/packages/vector-pools/CHANGELOG.md @@ -3,46 +3,6 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [1.0.17](https://github.com/thi-ng/umbrella/compare/@thi.ng/vector-pools@1.0.16...@thi.ng/vector-pools@1.0.17) (2020-03-06) - -**Note:** Version bump only for package @thi.ng/vector-pools - - - - - -## [1.0.16](https://github.com/thi-ng/umbrella/compare/@thi.ng/vector-pools@1.0.15...@thi.ng/vector-pools@1.0.16) (2020-03-01) - -**Note:** Version bump only for package @thi.ng/vector-pools - - - - - -## [1.0.15](https://github.com/thi-ng/umbrella/compare/@thi.ng/vector-pools@1.0.14...@thi.ng/vector-pools@1.0.15) (2020-02-26) - -**Note:** Version bump only for package @thi.ng/vector-pools - - - - - -## [1.0.14](https://github.com/thi-ng/umbrella/compare/@thi.ng/vector-pools@1.0.13...@thi.ng/vector-pools@1.0.14) (2020-02-26) - -**Note:** Version bump only for package @thi.ng/vector-pools - - - - - -## [1.0.13](https://github.com/thi-ng/umbrella/compare/@thi.ng/vector-pools@1.0.12...@thi.ng/vector-pools@1.0.13) (2020-02-25) - -**Note:** Version bump only for package @thi.ng/vector-pools - - - - - # [1.0.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/vector-pools@0.2.16...@thi.ng/vector-pools@1.0.0) (2019-07-07) ### Code Refactoring diff --git a/packages/vectors/CHANGELOG.md b/packages/vectors/CHANGELOG.md index b1dfbc4eb0..fd180cc78e 100644 --- a/packages/vectors/CHANGELOG.md +++ b/packages/vectors/CHANGELOG.md @@ -3,14 +3,6 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [4.2.1](https://github.com/thi-ng/umbrella/compare/@thi.ng/vectors@4.2.0...@thi.ng/vectors@4.2.1) (2020-03-06) - -**Note:** Version bump only for package @thi.ng/vectors - - - - - # [4.2.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/vectors@4.1.2...@thi.ng/vectors@4.2.0) (2020-03-01) @@ -22,22 +14,6 @@ See [Conventional Commits](https://conventionalcommits.org) for commit guideline -## [4.1.2](https://github.com/thi-ng/umbrella/compare/@thi.ng/vectors@4.1.1...@thi.ng/vectors@4.1.2) (2020-02-26) - -**Note:** Version bump only for package @thi.ng/vectors - - - - - -## [4.1.1](https://github.com/thi-ng/umbrella/compare/@thi.ng/vectors@4.1.0...@thi.ng/vectors@4.1.1) (2020-02-26) - -**Note:** Version bump only for package @thi.ng/vectors - - - - - # [4.1.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/vectors@4.0.3...@thi.ng/vectors@4.1.0) (2020-02-25) diff --git a/packages/webgl-msdf/CHANGELOG.md b/packages/webgl-msdf/CHANGELOG.md index b0975655ba..dc05d6c923 100644 --- a/packages/webgl-msdf/CHANGELOG.md +++ b/packages/webgl-msdf/CHANGELOG.md @@ -3,46 +3,6 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [0.1.17](https://github.com/thi-ng/umbrella/compare/@thi.ng/webgl-msdf@0.1.16...@thi.ng/webgl-msdf@0.1.17) (2020-03-06) - -**Note:** Version bump only for package @thi.ng/webgl-msdf - - - - - -## [0.1.16](https://github.com/thi-ng/umbrella/compare/@thi.ng/webgl-msdf@0.1.15...@thi.ng/webgl-msdf@0.1.16) (2020-03-01) - -**Note:** Version bump only for package @thi.ng/webgl-msdf - - - - - -## [0.1.15](https://github.com/thi-ng/umbrella/compare/@thi.ng/webgl-msdf@0.1.14...@thi.ng/webgl-msdf@0.1.15) (2020-02-26) - -**Note:** Version bump only for package @thi.ng/webgl-msdf - - - - - -## [0.1.14](https://github.com/thi-ng/umbrella/compare/@thi.ng/webgl-msdf@0.1.13...@thi.ng/webgl-msdf@0.1.14) (2020-02-26) - -**Note:** Version bump only for package @thi.ng/webgl-msdf - - - - - -## [0.1.13](https://github.com/thi-ng/umbrella/compare/@thi.ng/webgl-msdf@0.1.12...@thi.ng/webgl-msdf@0.1.13) (2020-02-25) - -**Note:** Version bump only for package @thi.ng/webgl-msdf - - - - - ## [0.1.10](https://github.com/thi-ng/umbrella/compare/@thi.ng/webgl-msdf@0.1.9...@thi.ng/webgl-msdf@0.1.10) (2019-11-30) ### Bug Fixes diff --git a/packages/webgl-shadertoy/CHANGELOG.md b/packages/webgl-shadertoy/CHANGELOG.md index e84c64f085..5d29c77e65 100644 --- a/packages/webgl-shadertoy/CHANGELOG.md +++ b/packages/webgl-shadertoy/CHANGELOG.md @@ -3,38 +3,6 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [0.2.4](https://github.com/thi-ng/umbrella/compare/@thi.ng/webgl-shadertoy@0.2.3...@thi.ng/webgl-shadertoy@0.2.4) (2020-03-06) - -**Note:** Version bump only for package @thi.ng/webgl-shadertoy - - - - - -## [0.2.3](https://github.com/thi-ng/umbrella/compare/@thi.ng/webgl-shadertoy@0.2.2...@thi.ng/webgl-shadertoy@0.2.3) (2020-03-01) - -**Note:** Version bump only for package @thi.ng/webgl-shadertoy - - - - - -## [0.2.2](https://github.com/thi-ng/umbrella/compare/@thi.ng/webgl-shadertoy@0.2.1...@thi.ng/webgl-shadertoy@0.2.2) (2020-02-26) - -**Note:** Version bump only for package @thi.ng/webgl-shadertoy - - - - - -## [0.2.1](https://github.com/thi-ng/umbrella/compare/@thi.ng/webgl-shadertoy@0.2.0...@thi.ng/webgl-shadertoy@0.2.1) (2020-02-26) - -**Note:** Version bump only for package @thi.ng/webgl-shadertoy - - - - - # [0.2.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/webgl-shadertoy@0.1.4...@thi.ng/webgl-shadertoy@0.2.0) (2020-02-25) diff --git a/packages/webgl/CHANGELOG.md b/packages/webgl/CHANGELOG.md index 605276a6db..fba53f5588 100644 --- a/packages/webgl/CHANGELOG.md +++ b/packages/webgl/CHANGELOG.md @@ -3,38 +3,6 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [0.3.4](https://github.com/thi-ng/umbrella/compare/@thi.ng/webgl@0.3.3...@thi.ng/webgl@0.3.4) (2020-03-06) - -**Note:** Version bump only for package @thi.ng/webgl - - - - - -## [0.3.3](https://github.com/thi-ng/umbrella/compare/@thi.ng/webgl@0.3.2...@thi.ng/webgl@0.3.3) (2020-03-01) - -**Note:** Version bump only for package @thi.ng/webgl - - - - - -## [0.3.2](https://github.com/thi-ng/umbrella/compare/@thi.ng/webgl@0.3.1...@thi.ng/webgl@0.3.2) (2020-02-26) - -**Note:** Version bump only for package @thi.ng/webgl - - - - - -## [0.3.1](https://github.com/thi-ng/umbrella/compare/@thi.ng/webgl@0.3.0...@thi.ng/webgl@0.3.1) (2020-02-26) - -**Note:** Version bump only for package @thi.ng/webgl - - - - - # [0.3.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/webgl@0.2.4...@thi.ng/webgl@0.3.0) (2020-02-25) diff --git a/packages/zipper/CHANGELOG.md b/packages/zipper/CHANGELOG.md index 56bbf39480..7dc5672619 100644 --- a/packages/zipper/CHANGELOG.md +++ b/packages/zipper/CHANGELOG.md @@ -3,46 +3,6 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [0.1.7](https://github.com/thi-ng/umbrella/compare/@thi.ng/zipper@0.1.6...@thi.ng/zipper@0.1.7) (2020-03-06) - -**Note:** Version bump only for package @thi.ng/zipper - - - - - -## [0.1.6](https://github.com/thi-ng/umbrella/compare/@thi.ng/zipper@0.1.5...@thi.ng/zipper@0.1.6) (2020-03-01) - -**Note:** Version bump only for package @thi.ng/zipper - - - - - -## [0.1.5](https://github.com/thi-ng/umbrella/compare/@thi.ng/zipper@0.1.4...@thi.ng/zipper@0.1.5) (2020-02-26) - -**Note:** Version bump only for package @thi.ng/zipper - - - - - -## [0.1.4](https://github.com/thi-ng/umbrella/compare/@thi.ng/zipper@0.1.3...@thi.ng/zipper@0.1.4) (2020-02-26) - -**Note:** Version bump only for package @thi.ng/zipper - - - - - -## [0.1.3](https://github.com/thi-ng/umbrella/compare/@thi.ng/zipper@0.1.2...@thi.ng/zipper@0.1.3) (2020-02-25) - -**Note:** Version bump only for package @thi.ng/zipper - - - - - # 0.1.0 (2019-11-30) ### Features From 5adaa23c5aa06b2229cb55d216f424b367875217 Mon Sep 17 00:00:00 2001 From: Karsten Schmidt Date: Mon, 9 Mar 2020 17:25:10 +0000 Subject: [PATCH 02/70] feat(webgl): add DrawMode enums --- packages/webgl/src/api/model.ts | 12 +++++++++++- packages/webgl/src/buffer.ts | 9 +++++++-- packages/webgl/src/geo/cube.ts | 3 ++- packages/webgl/src/geo/quad.ts | 4 ++-- 4 files changed, 22 insertions(+), 6 deletions(-) diff --git a/packages/webgl/src/api/model.ts b/packages/webgl/src/api/model.ts index 69c16279bf..90b40b4d51 100644 --- a/packages/webgl/src/api/model.ts +++ b/packages/webgl/src/api/model.ts @@ -4,6 +4,16 @@ import type { IndexBufferSpec, IWebGLBuffer } from "./buffers"; import type { AttribBufferData, IShader, UniformValues } from "./shader"; import type { ITexture } from "./texture"; +export const enum DrawMode { + POINTS = 0, + LINES = 1, + LINE_LOOP = 2, + LINE_STRIP = 3, + TRIANGLES = 4, + TRIANGLE_STRIP = 5, + TRIANGLE_FAN = 6 +} + export type ModelAttributeSpecs = IObjectOf; export interface ModelSpec { @@ -41,7 +51,7 @@ export interface ModelSpec { /** * WebGL draw mode. Defaults to `TRIANGLES` */ - mode?: GLenum; + mode?: DrawMode; /** * Number of vertices/indices to draw */ diff --git a/packages/webgl/src/buffer.ts b/packages/webgl/src/buffer.ts index 5b67808c60..6852dc5f0d 100644 --- a/packages/webgl/src/buffer.ts +++ b/packages/webgl/src/buffer.ts @@ -1,9 +1,14 @@ import { AttribPool } from "@thi.ng/vector-pools"; +import { + DrawMode, + ModelAttributeSpec, + ModelAttributeSpecs, + ModelSpec +} from "./api/model"; import { isGL2Context } from "./checks"; import { error } from "./error"; import type { TypedArray } from "@thi.ng/api"; import type { IndexBufferSpec, IWebGLBuffer } from "./api/buffers"; -import type { ModelAttributeSpec, ModelAttributeSpecs, ModelSpec } from "./api/model"; export class WebGLArrayBuffer implements IWebGLBuffer { gl: WebGLRenderingContext; @@ -78,7 +83,7 @@ export const compileModel = ( } spec.instances && compileAttribs(gl, spec.instances.attribs, mode); compileIndices(gl, spec.indices, mode); - spec.mode == null && (spec.mode = gl.TRIANGLES); + spec.mode == null && (spec.mode = DrawMode.TRIANGLES); // TODO auto-create VAO & inject into model spec? return spec; }; diff --git a/packages/webgl/src/geo/cube.ts b/packages/webgl/src/geo/cube.ts index 10065998c6..443955ba30 100644 --- a/packages/webgl/src/geo/cube.ts +++ b/packages/webgl/src/geo/cube.ts @@ -1,4 +1,4 @@ -import type { ModelSpec } from "../api/model"; +import { DrawMode, ModelSpec } from "../api/model"; export interface CubeOpts { size: number; @@ -21,6 +21,7 @@ export const cube = (opts?: Partial) => { }, uniforms: {}, shader: null, + mode: DrawMode.TRIANGLES, num: 36 }; opts.normal && (spec.attribs.normal = { diff --git a/packages/webgl/src/geo/quad.ts b/packages/webgl/src/geo/quad.ts index f3c59d0cc5..d9b71c20a9 100644 --- a/packages/webgl/src/geo/quad.ts +++ b/packages/webgl/src/geo/quad.ts @@ -1,4 +1,4 @@ -import type { ModelSpec } from "../api/model"; +import { DrawMode, ModelSpec } from "../api/model"; export const quad = (uv = true): ModelSpec => ({ attribs: { @@ -17,6 +17,6 @@ export const quad = (uv = true): ModelSpec => ({ }, uniforms: {}, shader: null, - mode: 5, // TRIANGLE_STRIP, + mode: DrawMode.TRIANGLE_STRIP, num: 4 }); From 4e4a6e1062075705d96883f860f23b545fd9ebdf Mon Sep 17 00:00:00 2001 From: Alberto Date: Tue, 10 Mar 2020 13:26:57 +0100 Subject: [PATCH 03/70] fix(checks): typo --- packages/checks/src/is-positive.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/checks/src/is-positive.ts b/packages/checks/src/is-positive.ts index da27dbd8ae..0cceb3781c 100644 --- a/packages/checks/src/is-positive.ts +++ b/packages/checks/src/is-positive.ts @@ -1,2 +1,2 @@ -export const isPosititve = (x: any): x is number => +export const isPositive = (x: any): x is number => typeof x === "number" && x > 0; From d73a29d1ffd4a83572bf15362f61daf99f8f79c9 Mon Sep 17 00:00:00 2001 From: Karsten Schmidt Date: Wed, 11 Mar 2020 00:07:24 +0000 Subject: [PATCH 04/70] refactor(examples): update to use webgl enums --- examples/soa-ecs/src/index.ts | 3 ++- examples/webgl-cubemap/src/index.ts | 7 ++++--- examples/webgl-grid/src/index.ts | 8 +++++--- examples/webgl-msdf/src/index.ts | 11 +++++++---- examples/webgl-ssao/src/index.ts | 19 +++++++++++-------- 5 files changed, 29 insertions(+), 19 deletions(-) diff --git a/examples/soa-ecs/src/index.ts b/examples/soa-ecs/src/index.ts index 085af60e30..7f2d3f81d8 100644 --- a/examples/soa-ecs/src/index.ts +++ b/examples/soa-ecs/src/index.ts @@ -36,6 +36,7 @@ import { BLEND_ADD, compileModel, draw, + DrawMode, GLMat4, GLVec4, ModelSpec, @@ -185,7 +186,7 @@ const app = () => { color2: COLOR2 }, num: NUM, - mode: gl.POINTS + mode: DrawMode.POINTS }); }, update: (el, gl, __, time) => { diff --git a/examples/webgl-cubemap/src/index.ts b/examples/webgl-cubemap/src/index.ts index 3d17f2229d..3bf05d79b0 100644 --- a/examples/webgl-cubemap/src/index.ts +++ b/examples/webgl-cubemap/src/index.ts @@ -25,7 +25,8 @@ import { GLMat4, ModelSpec, shader, - ShaderSpec + ShaderSpec, + TextureFilter } from "@thi.ng/webgl"; const CUBEMAP_SHADER: ShaderSpec = { @@ -85,8 +86,8 @@ const app = () => { textures: [ cubeMap(gl, faces, { filter: [ - gl.LINEAR_MIPMAP_LINEAR, - gl.LINEAR + TextureFilter.LINEAR_MIPMAP_LINEAR, + TextureFilter.LINEAR ], mipmap: true }) diff --git a/examples/webgl-grid/src/index.ts b/examples/webgl-grid/src/index.ts index fdd1a798e7..f9f93b784d 100644 --- a/examples/webgl-grid/src/index.ts +++ b/examples/webgl-grid/src/index.ts @@ -14,7 +14,9 @@ import { LAMBERT, ModelSpec, shader, - texture + texture, + TextureFilter, + TextureRepeat } from "@thi.ng/webgl"; const app = () => { @@ -69,8 +71,8 @@ const app = () => { col2: 0xffffffff, corners: true }), - filter: gl.NEAREST, - wrap: gl.CLAMP_TO_EDGE + filter: TextureFilter.NEAREST, + wrap: TextureRepeat.CLAMP }) ] }); diff --git a/examples/webgl-msdf/src/index.ts b/examples/webgl-msdf/src/index.ts index bcb06ea605..820a4a7b66 100644 --- a/examples/webgl-msdf/src/index.ts +++ b/examples/webgl-msdf/src/index.ts @@ -42,10 +42,13 @@ import { BLEND_NORMAL, compileModel, draw, + DrawMode, GLMat4, ModelSpec, shader, - texture + texture, + TextureFilter, + TextureRepeat } from "@thi.ng/webgl"; import { alignCenter, @@ -103,8 +106,8 @@ const createText = ( textures: [ texture(gl, { image: img, - filter: gl.LINEAR, - wrap: gl.CLAMP_TO_EDGE + filter: TextureFilter.LINEAR, + wrap: TextureRepeat.CLAMP }) ], uniforms: { @@ -213,7 +216,7 @@ const createStarField = (gl: WebGLRenderingContext, num = 1000) => { blendFn: BLEND_NORMAL } }), - mode: gl.POINTS, + mode: DrawMode.POINTS, num }); }; diff --git a/examples/webgl-ssao/src/index.ts b/examples/webgl-ssao/src/index.ts index 3d8bef6fb8..eea1cc237a 100644 --- a/examples/webgl-ssao/src/index.ts +++ b/examples/webgl-ssao/src/index.ts @@ -24,7 +24,10 @@ import { rbo, shader, texture, - TextureOpts + TextureFilter, + TextureFormat, + TextureOpts, + TextureRepeat } from "@thi.ng/webgl"; import { CONTROLS, PARAM_DEFS, PARAMS } from "./params"; import { FINAL_SHADER, LIGHT_SHADER, SSAO_SHADER } from "./shaders"; @@ -72,11 +75,11 @@ const app = () => { } const [colorTex, posTex, normTex, noiseTex, ssaoTex] = [ {}, - { format: gl.RGBA16F }, - { format: gl.RGBA16F }, + { format: TextureFormat.RGBA16F }, + { format: TextureFormat.RGBA16F }, { image: NOISE, - format: gl.RG16F + format: TextureFormat.RG16F }, {} ].map((opts: Partial) => @@ -84,8 +87,8 @@ const app = () => { width: W, height: H, image: null, - filter: gl.NEAREST, - wrap: gl.CLAMP_TO_EDGE, + filter: TextureFilter.NEAREST, + wrap: TextureRepeat.CLAMP, ...opts }) ); @@ -140,8 +143,8 @@ const app = () => { col2: 0xffe0e0e0, corners: true }), - filter: gl.NEAREST, - wrap: gl.CLAMP_TO_EDGE + filter: TextureFilter.NEAREST, + wrap: TextureRepeat.CLAMP }) ] }); From dfcf4ab7333b25c4332f783d124d86de058feceb Mon Sep 17 00:00:00 2001 From: Karsten Schmidt Date: Wed, 11 Mar 2020 00:08:23 +0000 Subject: [PATCH 05/70] feat(compose): add promisify() --- packages/compose/src/index.ts | 1 + packages/compose/src/promisify.ts | 24 ++++++++++++++++++++++++ 2 files changed, 25 insertions(+) create mode 100644 packages/compose/src/promisify.ts diff --git a/packages/compose/src/index.ts b/packages/compose/src/index.ts index 4835f6a9e6..86029cd6f9 100644 --- a/packages/compose/src/index.ts +++ b/packages/compose/src/index.ts @@ -7,6 +7,7 @@ export * from "./identity"; export * from "./ifdef"; export * from "./juxt"; export * from "./partial"; +export * from "./promisify"; export * from "./thread-first"; export * from "./thread-last"; export * from "./trampoline"; diff --git a/packages/compose/src/promisify.ts b/packages/compose/src/promisify.ts new file mode 100644 index 0000000000..0435285ef3 --- /dev/null +++ b/packages/compose/src/promisify.ts @@ -0,0 +1,24 @@ +import type { Fn, Fn2 } from "@thi.ng/api"; + +/** + * Takes a function accepting a NodeJS-like callback w/ (error, result) + * args and converts it into a Promise, e.g. for use in async contexts. + * + * @remarks + * The constructed promise calls the given function with a custom + * callback, which then either resolves or rejects the promise. + * + * @example + * ```ts + * (async () => { + * const body = await promisify(partial(fs.readFile, "foo.txt")); + * console.log(body.toString()); + * })(); + * ``` + * + * @param fn - function accepting a callback + */ +export const promisify = (fn: Fn, void>) => + new Promise((resolve, reject) => + fn((err, result) => (err != null ? reject(err) : resolve(result))) + ); From 964f9ad613de2c2ec4d097b0dad9fc40f581d6e0 Mon Sep 17 00:00:00 2001 From: Karsten Schmidt Date: Thu, 12 Mar 2020 14:04:28 +0000 Subject: [PATCH 06/70] build: as tslib dep for all packages to reduce pkg sizes --- packages/adjacency/package.json | 3 ++- packages/api/package.json | 5 ++++- packages/arrays/package.json | 3 ++- packages/associative/package.json | 3 ++- packages/atom/package.json | 3 ++- packages/bench/package.json | 3 +++ packages/bencode/package.json | 3 ++- packages/binary/package.json | 5 ++++- packages/bitfield/package.json | 3 ++- packages/bitstream/package.json | 3 ++- packages/cache/package.json | 3 ++- packages/checks/package.json | 5 ++++- packages/color/package.json | 3 ++- packages/compare/package.json | 3 ++- packages/compose/package.json | 3 ++- packages/csp/package.json | 3 ++- packages/dcons/package.json | 3 ++- packages/defmulti/package.json | 3 ++- packages/dgraph/package.json | 3 ++- packages/diff/package.json | 3 ++- packages/dl-asset/package.json | 3 ++- packages/dlogic/package.json | 3 +++ packages/dot/package.json | 3 ++- packages/dsp-io-wav/package.json | 3 ++- packages/dsp/package.json | 3 ++- packages/dynvar/package.json | 3 ++- packages/ecs/package.json | 3 ++- packages/equiv/package.json | 5 ++++- packages/errors/package.json | 3 +++ packages/fsm/package.json | 3 ++- packages/geom-accel/package.json | 3 ++- packages/geom-api/package.json | 3 ++- packages/geom-arc/package.json | 3 ++- packages/geom-clip-line/package.json | 3 ++- packages/geom-clip-poly/package.json | 3 ++- packages/geom-closest-point/package.json | 3 ++- packages/geom-hull/package.json | 3 ++- packages/geom-isec/package.json | 3 ++- packages/geom-isoline/package.json | 3 ++- packages/geom-poly-utils/package.json | 3 ++- packages/geom-resample/package.json | 3 ++- packages/geom-splines/package.json | 3 ++- packages/geom-subdiv-curve/package.json | 3 ++- packages/geom-tessellate/package.json | 3 ++- packages/geom-voronoi/package.json | 3 ++- packages/geom/package.json | 3 ++- packages/gp/package.json | 3 ++- packages/grid-iterators/package.json | 3 ++- packages/hdom-canvas/package.json | 3 ++- packages/hdom-components/package.json | 3 ++- packages/hdom-mock/package.json | 3 ++- packages/hdom/package.json | 3 ++- packages/heaps/package.json | 3 ++- packages/hiccup-carbon-icons/package.json | 3 +++ packages/hiccup-css/package.json | 3 ++- packages/hiccup-markdown/package.json | 3 ++- packages/hiccup-svg/package.json | 3 ++- packages/hiccup/package.json | 3 ++- packages/idgen/package.json | 3 ++- packages/iges/package.json | 3 ++- packages/imgui/package.json | 3 ++- packages/interceptors/package.json | 3 ++- packages/intervals/package.json | 3 ++- packages/iterators/package.json | 3 ++- packages/layout/package.json | 3 ++- packages/leb128/package.json | 3 ++- packages/lsys/package.json | 3 ++- packages/malloc/package.json | 3 ++- packages/math/package.json | 5 ++++- packages/matrices/package.json | 3 ++- packages/memoize/package.json | 3 ++- packages/mime/package.json | 3 ++- packages/morton/package.json | 3 ++- packages/paths/package.json | 3 ++- packages/pixel/package.json | 3 ++- packages/pointfree-lang/package.json | 3 ++- packages/pointfree/package.json | 3 ++- packages/poisson/package.json | 3 ++- packages/porter-duff/package.json | 3 ++- packages/quad-edge/package.json | 3 +++ packages/ramp/package.json | 3 ++- packages/random/package.json | 3 ++- packages/range-coder/package.json | 3 ++- packages/resolve-map/package.json | 3 ++- packages/rle-pack/package.json | 3 ++- packages/router/package.json | 3 ++- packages/rstream-csp/package.json | 3 ++- packages/rstream-dot/package.json | 3 ++- packages/rstream-gestures/package.json | 3 ++- packages/rstream-graph/package.json | 3 ++- packages/rstream-log-file/package.json | 3 ++- packages/rstream-log/package.json | 3 ++- packages/rstream-query/package.json | 3 ++- packages/rstream/package.json | 3 ++- packages/sax/package.json | 3 ++- packages/scenegraph/package.json | 3 ++- packages/seq/package.json | 3 ++- packages/sexpr/package.json | 3 ++- packages/shader-ast-glsl/package.json | 3 ++- packages/shader-ast-js/package.json | 3 ++- packages/shader-ast-stdlib/package.json | 3 ++- packages/shader-ast/package.json | 3 ++- packages/simd/package.json | 3 ++- packages/soa/package.json | 3 ++- packages/sparse/package.json | 3 ++- packages/strings/package.json | 3 ++- packages/text-canvas/package.json | 3 ++- packages/transducers-binary/package.json | 3 ++- packages/transducers-fsm/package.json | 3 ++- packages/transducers-hdom/package.json | 3 ++- packages/transducers-patch/package.json | 3 ++- packages/transducers-stats/package.json | 3 ++- packages/transducers/package.json | 3 ++- packages/unionstruct/package.json | 3 +++ packages/vector-pools/package.json | 3 ++- packages/vectors/package.json | 3 ++- packages/webgl-msdf/package.json | 3 ++- packages/webgl-shadertoy/package.json | 3 ++- packages/webgl/package.json | 3 ++- packages/zipper/package.json | 3 ++- tsconfig.json | 1 + yarn.lock | 5 +++++ 122 files changed, 262 insertions(+), 114 deletions(-) diff --git a/packages/adjacency/package.json b/packages/adjacency/package.json index 45302a289b..9285f08950 100644 --- a/packages/adjacency/package.json +++ b/packages/adjacency/package.json @@ -44,7 +44,8 @@ "@thi.ng/bitfield": "^0.3.0", "@thi.ng/checks": "^2.5.4", "@thi.ng/dcons": "^2.2.7", - "@thi.ng/sparse": "^0.1.30" + "@thi.ng/sparse": "^0.1.30", + "tslib": "^1.11.1" }, "keywords": [ "adjacency", diff --git a/packages/api/package.json b/packages/api/package.json index ea4b9f2e0f..162dc413fe 100644 --- a/packages/api/package.json +++ b/packages/api/package.json @@ -54,5 +54,8 @@ "process": false, "setTimeout": false }, - "sideEffects": false + "sideEffects": false, + "dependencies": { + "tslib": "^1.11.1" + } } diff --git a/packages/arrays/package.json b/packages/arrays/package.json index 891c7d709c..63e7a8db4b 100644 --- a/packages/arrays/package.json +++ b/packages/arrays/package.json @@ -43,7 +43,8 @@ "@thi.ng/compare": "^1.2.1", "@thi.ng/equiv": "^1.0.16", "@thi.ng/errors": "^1.2.7", - "@thi.ng/random": "^1.4.1" + "@thi.ng/random": "^1.4.1", + "tslib": "^1.11.1" }, "keywords": [ "arrays", diff --git a/packages/associative/package.json b/packages/associative/package.json index c41bd6dbed..1739aa9864 100644 --- a/packages/associative/package.json +++ b/packages/associative/package.json @@ -45,7 +45,8 @@ "@thi.ng/dcons": "^2.2.7", "@thi.ng/equiv": "^1.0.16", "@thi.ng/errors": "^1.2.7", - "@thi.ng/transducers": "^6.4.1" + "@thi.ng/transducers": "^6.4.1", + "tslib": "^1.11.1" }, "keywords": [ "data structures", diff --git a/packages/atom/package.json b/packages/atom/package.json index 656a0bc785..6fcf86d490 100644 --- a/packages/atom/package.json +++ b/packages/atom/package.json @@ -42,7 +42,8 @@ "@thi.ng/checks": "^2.5.4", "@thi.ng/equiv": "^1.0.16", "@thi.ng/errors": "^1.2.7", - "@thi.ng/paths": "^3.0.5" + "@thi.ng/paths": "^3.0.5", + "tslib": "^1.11.1" }, "keywords": [ "derived views", diff --git a/packages/bench/package.json b/packages/bench/package.json index 710c9de0f0..46c18696ed 100644 --- a/packages/bench/package.json +++ b/packages/bench/package.json @@ -59,5 +59,8 @@ "sideEffects": false, "thi.ng": { "year": 2018 + }, + "dependencies": { + "tslib": "^1.11.1" } } diff --git a/packages/bencode/package.json b/packages/bencode/package.json index 70d9a331a8..93103efa79 100644 --- a/packages/bencode/package.json +++ b/packages/bencode/package.json @@ -44,7 +44,8 @@ "@thi.ng/defmulti": "^1.2.7", "@thi.ng/errors": "^1.2.7", "@thi.ng/transducers": "^6.4.1", - "@thi.ng/transducers-binary": "^0.5.4" + "@thi.ng/transducers-binary": "^0.5.4", + "tslib": "^1.11.1" }, "keywords": [ "bencode", diff --git a/packages/binary/package.json b/packages/binary/package.json index b72f906a3f..be768800a0 100644 --- a/packages/binary/package.json +++ b/packages/binary/package.json @@ -53,5 +53,8 @@ "publishConfig": { "access": "public" }, - "sideEffects": false + "sideEffects": false, + "dependencies": { + "tslib": "^1.11.1" + } } diff --git a/packages/bitfield/package.json b/packages/bitfield/package.json index e2ded1f62d..f14468e548 100644 --- a/packages/bitfield/package.json +++ b/packages/bitfield/package.json @@ -40,7 +40,8 @@ "dependencies": { "@thi.ng/api": "^6.8.3", "@thi.ng/binary": "^2.0.0", - "@thi.ng/strings": "^1.7.0" + "@thi.ng/strings": "^1.7.0", + "tslib": "^1.11.1" }, "keywords": [ "1D", diff --git a/packages/bitstream/package.json b/packages/bitstream/package.json index 46e0b375c9..9971e15436 100644 --- a/packages/bitstream/package.json +++ b/packages/bitstream/package.json @@ -27,7 +27,8 @@ "pub": "yarn build:release && yarn publish --access public" }, "dependencies": { - "@thi.ng/errors": "^1.2.7" + "@thi.ng/errors": "^1.2.7", + "tslib": "^1.11.1" }, "devDependencies": { "@istanbuljs/nyc-config-typescript": "^1.0.1", diff --git a/packages/cache/package.json b/packages/cache/package.json index 9567df08fa..1a7c6ebbbe 100644 --- a/packages/cache/package.json +++ b/packages/cache/package.json @@ -40,7 +40,8 @@ "dependencies": { "@thi.ng/api": "^6.8.3", "@thi.ng/dcons": "^2.2.7", - "@thi.ng/transducers": "^6.4.1" + "@thi.ng/transducers": "^6.4.1", + "tslib": "^1.11.1" }, "keywords": [ "cache", diff --git a/packages/checks/package.json b/packages/checks/package.json index 86f0d68fca..ceff152ff4 100644 --- a/packages/checks/package.json +++ b/packages/checks/package.json @@ -54,5 +54,8 @@ "process": false, "setTimeout": false }, - "sideEffects": false + "sideEffects": false, + "dependencies": { + "tslib": "^1.11.1" + } } diff --git a/packages/color/package.json b/packages/color/package.json index 9ead35c618..1e78fab79b 100644 --- a/packages/color/package.json +++ b/packages/color/package.json @@ -46,7 +46,8 @@ "@thi.ng/math": "^1.7.3", "@thi.ng/strings": "^1.7.0", "@thi.ng/transducers": "^6.4.1", - "@thi.ng/vectors": "^4.2.1" + "@thi.ng/vectors": "^4.2.1", + "tslib": "^1.11.1" }, "keywords": [ "alpha", diff --git a/packages/compare/package.json b/packages/compare/package.json index 4a28ada7f6..74f3205977 100644 --- a/packages/compare/package.json +++ b/packages/compare/package.json @@ -38,7 +38,8 @@ "typescript": "^3.8.3" }, "dependencies": { - "@thi.ng/api": "^6.8.3" + "@thi.ng/api": "^6.8.3", + "tslib": "^1.11.1" }, "keywords": [ "comparator", diff --git a/packages/compose/package.json b/packages/compose/package.json index 7e4004c9ed..c350c9647f 100644 --- a/packages/compose/package.json +++ b/packages/compose/package.json @@ -39,7 +39,8 @@ }, "dependencies": { "@thi.ng/api": "^6.8.3", - "@thi.ng/errors": "^1.2.7" + "@thi.ng/errors": "^1.2.7", + "tslib": "^1.11.1" }, "keywords": [ "composition", diff --git a/packages/csp/package.json b/packages/csp/package.json index 81b16e5d8a..528f9f9c9f 100644 --- a/packages/csp/package.json +++ b/packages/csp/package.json @@ -47,7 +47,8 @@ "@thi.ng/checks": "^2.5.4", "@thi.ng/dcons": "^2.2.7", "@thi.ng/errors": "^1.2.7", - "@thi.ng/transducers": "^6.4.1" + "@thi.ng/transducers": "^6.4.1", + "tslib": "^1.11.1" }, "keywords": [ "async", diff --git a/packages/dcons/package.json b/packages/dcons/package.json index a5715e60f0..eecfe730d6 100644 --- a/packages/dcons/package.json +++ b/packages/dcons/package.json @@ -44,7 +44,8 @@ "@thi.ng/equiv": "^1.0.16", "@thi.ng/errors": "^1.2.7", "@thi.ng/random": "^1.4.1", - "@thi.ng/transducers": "^6.4.1" + "@thi.ng/transducers": "^6.4.1", + "tslib": "^1.11.1" }, "keywords": [ "datastructure", diff --git a/packages/defmulti/package.json b/packages/defmulti/package.json index be566ff4e2..1b14622593 100644 --- a/packages/defmulti/package.json +++ b/packages/defmulti/package.json @@ -39,7 +39,8 @@ }, "dependencies": { "@thi.ng/api": "^6.8.3", - "@thi.ng/errors": "^1.2.7" + "@thi.ng/errors": "^1.2.7", + "tslib": "^1.11.1" }, "keywords": [ "ES6", diff --git a/packages/dgraph/package.json b/packages/dgraph/package.json index 889cb2693d..5aaa1c820e 100644 --- a/packages/dgraph/package.json +++ b/packages/dgraph/package.json @@ -42,7 +42,8 @@ "@thi.ng/associative": "^3.1.8", "@thi.ng/equiv": "^1.0.16", "@thi.ng/errors": "^1.2.7", - "@thi.ng/transducers": "^6.4.1" + "@thi.ng/transducers": "^6.4.1", + "tslib": "^1.11.1" }, "keywords": [ "data structure", diff --git a/packages/diff/package.json b/packages/diff/package.json index 46fe4b5917..e20049ef37 100644 --- a/packages/diff/package.json +++ b/packages/diff/package.json @@ -38,7 +38,8 @@ }, "dependencies": { "@thi.ng/api": "^6.8.3", - "@thi.ng/equiv": "^1.0.16" + "@thi.ng/equiv": "^1.0.16", + "tslib": "^1.11.1" }, "keywords": [ "additions", diff --git a/packages/dl-asset/package.json b/packages/dl-asset/package.json index f36858f113..e461fbc6ff 100644 --- a/packages/dl-asset/package.json +++ b/packages/dl-asset/package.json @@ -40,7 +40,8 @@ "dependencies": { "@thi.ng/api": "^6.8.3", "@thi.ng/checks": "^2.5.4", - "@thi.ng/mime": "^0.1.3" + "@thi.ng/mime": "^0.1.3", + "tslib": "^1.11.1" }, "keywords": [ "ES6", diff --git a/packages/dlogic/package.json b/packages/dlogic/package.json index ab3747a564..58cdc2fe33 100644 --- a/packages/dlogic/package.json +++ b/packages/dlogic/package.json @@ -53,5 +53,8 @@ "sideEffects": false, "thi.ng": { "year": 2017 + }, + "dependencies": { + "tslib": "^1.11.1" } } diff --git a/packages/dot/package.json b/packages/dot/package.json index e23388eb60..a4577d96e9 100644 --- a/packages/dot/package.json +++ b/packages/dot/package.json @@ -39,7 +39,8 @@ }, "dependencies": { "@thi.ng/api": "^6.8.3", - "@thi.ng/checks": "^2.5.4" + "@thi.ng/checks": "^2.5.4", + "tslib": "^1.11.1" }, "keywords": [ "ES6", diff --git a/packages/dsp-io-wav/package.json b/packages/dsp-io-wav/package.json index 78c4ac2455..0d5f01f608 100644 --- a/packages/dsp-io-wav/package.json +++ b/packages/dsp-io-wav/package.json @@ -41,7 +41,8 @@ "@thi.ng/api": "^6.8.3", "@thi.ng/binary": "^2.0.0", "@thi.ng/transducers": "^6.4.1", - "@thi.ng/transducers-binary": "^0.5.4" + "@thi.ng/transducers-binary": "^0.5.4", + "tslib": "^1.11.1" }, "keywords": [ "ES6", diff --git a/packages/dsp/package.json b/packages/dsp/package.json index 06e5096def..3422b9439e 100644 --- a/packages/dsp/package.json +++ b/packages/dsp/package.json @@ -41,7 +41,8 @@ "@thi.ng/api": "^6.8.3", "@thi.ng/checks": "^2.5.4", "@thi.ng/math": "^1.7.3", - "@thi.ng/transducers": "^6.4.1" + "@thi.ng/transducers": "^6.4.1", + "tslib": "^1.11.1" }, "keywords": [ "additive", diff --git a/packages/dynvar/package.json b/packages/dynvar/package.json index 4990369f62..3a99171748 100644 --- a/packages/dynvar/package.json +++ b/packages/dynvar/package.json @@ -38,7 +38,8 @@ "typescript": "^3.8.3" }, "dependencies": { - "@thi.ng/api": "^6.8.3" + "@thi.ng/api": "^6.8.3", + "tslib": "^1.11.1" }, "keywords": [ "binding", diff --git a/packages/ecs/package.json b/packages/ecs/package.json index d0431a8395..0f1370a5a8 100644 --- a/packages/ecs/package.json +++ b/packages/ecs/package.json @@ -45,7 +45,8 @@ "@thi.ng/checks": "^2.5.4", "@thi.ng/dcons": "^2.2.7", "@thi.ng/idgen": "^0.2.5", - "@thi.ng/transducers": "^6.4.1" + "@thi.ng/transducers": "^6.4.1", + "tslib": "^1.11.1" }, "keywords": [ "ES6", diff --git a/packages/equiv/package.json b/packages/equiv/package.json index 712d6d8b47..18876c3fca 100644 --- a/packages/equiv/package.json +++ b/packages/equiv/package.json @@ -55,5 +55,8 @@ "process": false, "setTimeout": false }, - "sideEffects": false + "sideEffects": false, + "dependencies": { + "tslib": "^1.11.1" + } } diff --git a/packages/errors/package.json b/packages/errors/package.json index c2a5dac24b..2b0868e788 100644 --- a/packages/errors/package.json +++ b/packages/errors/package.json @@ -52,5 +52,8 @@ "sideEffects": false, "thi.ng": { "year": 2018 + }, + "dependencies": { + "tslib": "^1.11.1" } } diff --git a/packages/fsm/package.json b/packages/fsm/package.json index 0d8233e9f7..6bc80dd6dd 100644 --- a/packages/fsm/package.json +++ b/packages/fsm/package.json @@ -43,7 +43,8 @@ "@thi.ng/equiv": "^1.0.16", "@thi.ng/errors": "^1.2.7", "@thi.ng/strings": "^1.7.0", - "@thi.ng/transducers": "^6.4.1" + "@thi.ng/transducers": "^6.4.1", + "tslib": "^1.11.1" }, "keywords": [ "ES6", diff --git a/packages/geom-accel/package.json b/packages/geom-accel/package.json index ecdc94889c..5195b5ca8d 100644 --- a/packages/geom-accel/package.json +++ b/packages/geom-accel/package.json @@ -47,7 +47,8 @@ "@thi.ng/heaps": "^1.2.6", "@thi.ng/math": "^1.7.3", "@thi.ng/transducers": "^6.4.1", - "@thi.ng/vectors": "^4.2.1" + "@thi.ng/vectors": "^4.2.1", + "tslib": "^1.11.1" }, "keywords": [ "2D", diff --git a/packages/geom-api/package.json b/packages/geom-api/package.json index 9ee0c68306..af644971cb 100644 --- a/packages/geom-api/package.json +++ b/packages/geom-api/package.json @@ -39,7 +39,8 @@ }, "dependencies": { "@thi.ng/api": "^6.8.3", - "@thi.ng/vectors": "^4.2.1" + "@thi.ng/vectors": "^4.2.1", + "tslib": "^1.11.1" }, "keywords": [ "ES6", diff --git a/packages/geom-arc/package.json b/packages/geom-arc/package.json index f9b1a2798c..fa189e996e 100644 --- a/packages/geom-arc/package.json +++ b/packages/geom-arc/package.json @@ -42,7 +42,8 @@ "@thi.ng/geom-api": "^1.0.6", "@thi.ng/geom-resample": "^0.2.17", "@thi.ng/math": "^1.7.3", - "@thi.ng/vectors": "^4.2.1" + "@thi.ng/vectors": "^4.2.1", + "tslib": "^1.11.1" }, "keywords": [ "2D", diff --git a/packages/geom-clip-line/package.json b/packages/geom-clip-line/package.json index b8db016b27..11c0f71f23 100644 --- a/packages/geom-clip-line/package.json +++ b/packages/geom-clip-line/package.json @@ -38,7 +38,8 @@ "typescript": "^3.8.3" }, "dependencies": { - "@thi.ng/vectors": "^4.2.1" + "@thi.ng/vectors": "^4.2.1", + "tslib": "^1.11.1" }, "keywords": [ "ES6", diff --git a/packages/geom-clip-poly/package.json b/packages/geom-clip-poly/package.json index 39d2959b28..e3f293dacc 100644 --- a/packages/geom-clip-poly/package.json +++ b/packages/geom-clip-poly/package.json @@ -41,7 +41,8 @@ "@thi.ng/geom-isec": "^0.4.6", "@thi.ng/geom-poly-utils": "^0.1.35", "@thi.ng/math": "^1.7.3", - "@thi.ng/vectors": "^4.2.1" + "@thi.ng/vectors": "^4.2.1", + "tslib": "^1.11.1" }, "keywords": [ "2D", diff --git a/packages/geom-closest-point/package.json b/packages/geom-closest-point/package.json index 090c316617..8e52e3ba99 100644 --- a/packages/geom-closest-point/package.json +++ b/packages/geom-closest-point/package.json @@ -39,7 +39,8 @@ }, "dependencies": { "@thi.ng/math": "^1.7.3", - "@thi.ng/vectors": "^4.2.1" + "@thi.ng/vectors": "^4.2.1", + "tslib": "^1.11.1" }, "keywords": [ "ES6", diff --git a/packages/geom-hull/package.json b/packages/geom-hull/package.json index 9bea0043a2..72b839a129 100644 --- a/packages/geom-hull/package.json +++ b/packages/geom-hull/package.json @@ -39,7 +39,8 @@ }, "dependencies": { "@thi.ng/math": "^1.7.3", - "@thi.ng/vectors": "^4.2.1" + "@thi.ng/vectors": "^4.2.1", + "tslib": "^1.11.1" }, "keywords": [ "2D", diff --git a/packages/geom-isec/package.json b/packages/geom-isec/package.json index 9bc2a06910..1baf610ba9 100644 --- a/packages/geom-isec/package.json +++ b/packages/geom-isec/package.json @@ -42,7 +42,8 @@ "@thi.ng/geom-api": "^1.0.6", "@thi.ng/geom-closest-point": "^0.3.17", "@thi.ng/math": "^1.7.3", - "@thi.ng/vectors": "^4.2.1" + "@thi.ng/vectors": "^4.2.1", + "tslib": "^1.11.1" }, "keywords": [ "2D", diff --git a/packages/geom-isoline/package.json b/packages/geom-isoline/package.json index f2ef2fabfd..9b8e2f624e 100644 --- a/packages/geom-isoline/package.json +++ b/packages/geom-isoline/package.json @@ -39,7 +39,8 @@ }, "dependencies": { "@thi.ng/transducers": "^6.4.1", - "@thi.ng/vectors": "^4.2.1" + "@thi.ng/vectors": "^4.2.1", + "tslib": "^1.11.1" }, "keywords": [ "2D", diff --git a/packages/geom-poly-utils/package.json b/packages/geom-poly-utils/package.json index 04e3395b9d..ca9eb39dfa 100644 --- a/packages/geom-poly-utils/package.json +++ b/packages/geom-poly-utils/package.json @@ -41,7 +41,8 @@ "@thi.ng/errors": "^1.2.7", "@thi.ng/geom-api": "^1.0.6", "@thi.ng/math": "^1.7.3", - "@thi.ng/vectors": "^4.2.1" + "@thi.ng/vectors": "^4.2.1", + "tslib": "^1.11.1" }, "keywords": [ "2D", diff --git a/packages/geom-resample/package.json b/packages/geom-resample/package.json index 1c6e44ef85..25522e6ed1 100644 --- a/packages/geom-resample/package.json +++ b/packages/geom-resample/package.json @@ -42,7 +42,8 @@ "@thi.ng/geom-api": "^1.0.6", "@thi.ng/geom-closest-point": "^0.3.17", "@thi.ng/math": "^1.7.3", - "@thi.ng/vectors": "^4.2.1" + "@thi.ng/vectors": "^4.2.1", + "tslib": "^1.11.1" }, "keywords": [ "2D", diff --git a/packages/geom-splines/package.json b/packages/geom-splines/package.json index 95dd438a5f..389afdcde0 100644 --- a/packages/geom-splines/package.json +++ b/packages/geom-splines/package.json @@ -43,7 +43,8 @@ "@thi.ng/geom-arc": "^0.2.17", "@thi.ng/geom-resample": "^0.2.17", "@thi.ng/math": "^1.7.3", - "@thi.ng/vectors": "^4.2.1" + "@thi.ng/vectors": "^4.2.1", + "tslib": "^1.11.1" }, "keywords": [ "2D", diff --git a/packages/geom-subdiv-curve/package.json b/packages/geom-subdiv-curve/package.json index fd5c269a54..31ec3ef9f6 100644 --- a/packages/geom-subdiv-curve/package.json +++ b/packages/geom-subdiv-curve/package.json @@ -40,7 +40,8 @@ "dependencies": { "@thi.ng/geom-api": "^1.0.6", "@thi.ng/transducers": "^6.4.1", - "@thi.ng/vectors": "^4.2.1" + "@thi.ng/vectors": "^4.2.1", + "tslib": "^1.11.1" }, "keywords": [ "2D", diff --git a/packages/geom-tessellate/package.json b/packages/geom-tessellate/package.json index 7a0bd19b7b..fd6d3c49c0 100644 --- a/packages/geom-tessellate/package.json +++ b/packages/geom-tessellate/package.json @@ -43,7 +43,8 @@ "@thi.ng/geom-isec": "^0.4.6", "@thi.ng/geom-poly-utils": "^0.1.35", "@thi.ng/transducers": "^6.4.1", - "@thi.ng/vectors": "^4.2.1" + "@thi.ng/vectors": "^4.2.1", + "tslib": "^1.11.1" }, "keywords": [ "2D", diff --git a/packages/geom-voronoi/package.json b/packages/geom-voronoi/package.json index 334c985835..53f0d28f8d 100644 --- a/packages/geom-voronoi/package.json +++ b/packages/geom-voronoi/package.json @@ -46,7 +46,8 @@ "@thi.ng/geom-poly-utils": "^0.1.35", "@thi.ng/math": "^1.7.3", "@thi.ng/quad-edge": "^0.2.9", - "@thi.ng/vectors": "^4.2.1" + "@thi.ng/vectors": "^4.2.1", + "tslib": "^1.11.1" }, "keywords": [ "2D", diff --git a/packages/geom/package.json b/packages/geom/package.json index 9debb0a918..93a9a7e8bc 100644 --- a/packages/geom/package.json +++ b/packages/geom/package.json @@ -63,7 +63,8 @@ "@thi.ng/matrices": "^0.6.4", "@thi.ng/random": "^1.4.1", "@thi.ng/transducers": "^6.4.1", - "@thi.ng/vectors": "^4.2.1" + "@thi.ng/vectors": "^4.2.1", + "tslib": "^1.11.1" }, "keywords": [ "2D", diff --git a/packages/gp/package.json b/packages/gp/package.json index 877363d475..2f5604bac4 100644 --- a/packages/gp/package.json +++ b/packages/gp/package.json @@ -42,7 +42,8 @@ "@thi.ng/math": "^1.7.3", "@thi.ng/random": "^1.4.1", "@thi.ng/transducers": "^6.4.1", - "@thi.ng/zipper": "^0.1.7" + "@thi.ng/zipper": "^0.1.7", + "tslib": "^1.11.1" }, "keywords": [ "AST", diff --git a/packages/grid-iterators/package.json b/packages/grid-iterators/package.json index ddc9e3b3fd..97f469a55a 100644 --- a/packages/grid-iterators/package.json +++ b/packages/grid-iterators/package.json @@ -43,7 +43,8 @@ "@thi.ng/binary": "^2.0.0", "@thi.ng/morton": "^2.0.5", "@thi.ng/random": "^1.4.1", - "@thi.ng/transducers": "^6.4.1" + "@thi.ng/transducers": "^6.4.1", + "tslib": "^1.11.1" }, "keywords": [ "ES6", diff --git a/packages/hdom-canvas/package.json b/packages/hdom-canvas/package.json index ff48bc37a1..21b26de62a 100644 --- a/packages/hdom-canvas/package.json +++ b/packages/hdom-canvas/package.json @@ -44,7 +44,8 @@ "@thi.ng/diff": "^3.2.12", "@thi.ng/hdom": "^8.0.14", "@thi.ng/math": "^1.7.3", - "@thi.ng/vectors": "^4.2.1" + "@thi.ng/vectors": "^4.2.1", + "tslib": "^1.11.1" }, "keywords": [ "ES6", diff --git a/packages/hdom-components/package.json b/packages/hdom-components/package.json index c18ded23d4..16b649ea4d 100644 --- a/packages/hdom-components/package.json +++ b/packages/hdom-components/package.json @@ -42,7 +42,8 @@ "@thi.ng/checks": "^2.5.4", "@thi.ng/math": "^1.7.3", "@thi.ng/transducers": "^6.4.1", - "@thi.ng/transducers-stats": "^1.1.14" + "@thi.ng/transducers-stats": "^1.1.14", + "tslib": "^1.11.1" }, "keywords": [ "ES6", diff --git a/packages/hdom-mock/package.json b/packages/hdom-mock/package.json index f3715c5f5b..0c67d7c8bb 100644 --- a/packages/hdom-mock/package.json +++ b/packages/hdom-mock/package.json @@ -40,7 +40,8 @@ "dependencies": { "@thi.ng/api": "^6.8.3", "@thi.ng/checks": "^2.5.4", - "@thi.ng/hdom": "^8.0.14" + "@thi.ng/hdom": "^8.0.14", + "tslib": "^1.11.1" }, "keywords": [ "ES6", diff --git a/packages/hdom/package.json b/packages/hdom/package.json index 66491b8309..a5b00d748e 100644 --- a/packages/hdom/package.json +++ b/packages/hdom/package.json @@ -44,7 +44,8 @@ "@thi.ng/diff": "^3.2.12", "@thi.ng/equiv": "^1.0.16", "@thi.ng/errors": "^1.2.7", - "@thi.ng/hiccup": "^3.2.13" + "@thi.ng/hiccup": "^3.2.13", + "tslib": "^1.11.1" }, "keywords": [ "browser", diff --git a/packages/heaps/package.json b/packages/heaps/package.json index 23fe11cb5e..87b97b7196 100644 --- a/packages/heaps/package.json +++ b/packages/heaps/package.json @@ -40,7 +40,8 @@ }, "dependencies": { "@thi.ng/api": "^6.8.3", - "@thi.ng/compare": "^1.2.1" + "@thi.ng/compare": "^1.2.1", + "tslib": "^1.11.1" }, "keywords": [ "data structure", diff --git a/packages/hiccup-carbon-icons/package.json b/packages/hiccup-carbon-icons/package.json index 8022766870..5649e09655 100644 --- a/packages/hiccup-carbon-icons/package.json +++ b/packages/hiccup-carbon-icons/package.json @@ -56,5 +56,8 @@ "sideEffects": false, "thi.ng": { "year": 2018 + }, + "dependencies": { + "tslib": "^1.11.1" } } diff --git a/packages/hiccup-css/package.json b/packages/hiccup-css/package.json index d560e5d3c7..f27010c0a4 100644 --- a/packages/hiccup-css/package.json +++ b/packages/hiccup-css/package.json @@ -41,7 +41,8 @@ "@thi.ng/api": "^6.8.3", "@thi.ng/checks": "^2.5.4", "@thi.ng/errors": "^1.2.7", - "@thi.ng/transducers": "^6.4.1" + "@thi.ng/transducers": "^6.4.1", + "tslib": "^1.11.1" }, "keywords": [ "clojure", diff --git a/packages/hiccup-markdown/package.json b/packages/hiccup-markdown/package.json index 2dd1e281d1..79e31b2964 100644 --- a/packages/hiccup-markdown/package.json +++ b/packages/hiccup-markdown/package.json @@ -45,7 +45,8 @@ "@thi.ng/fsm": "^2.4.0", "@thi.ng/hiccup": "^3.2.13", "@thi.ng/strings": "^1.7.0", - "@thi.ng/transducers": "^6.4.1" + "@thi.ng/transducers": "^6.4.1", + "tslib": "^1.11.1" }, "keywords": [ "ES6", diff --git a/packages/hiccup-svg/package.json b/packages/hiccup-svg/package.json index ded611d7bd..a5101f6c9f 100644 --- a/packages/hiccup-svg/package.json +++ b/packages/hiccup-svg/package.json @@ -40,7 +40,8 @@ "dependencies": { "@thi.ng/checks": "^2.5.4", "@thi.ng/color": "^1.1.10", - "@thi.ng/hiccup": "^3.2.13" + "@thi.ng/hiccup": "^3.2.13", + "tslib": "^1.11.1" }, "keywords": [ "components", diff --git a/packages/hiccup/package.json b/packages/hiccup/package.json index 7a4aeccb63..b7ac2c3753 100644 --- a/packages/hiccup/package.json +++ b/packages/hiccup/package.json @@ -40,7 +40,8 @@ }, "dependencies": { "@thi.ng/checks": "^2.5.4", - "@thi.ng/errors": "^1.2.7" + "@thi.ng/errors": "^1.2.7", + "tslib": "^1.11.1" }, "keywords": [ "clojure", diff --git a/packages/idgen/package.json b/packages/idgen/package.json index 2cb5d55b3b..e73a96e4e2 100644 --- a/packages/idgen/package.json +++ b/packages/idgen/package.json @@ -38,7 +38,8 @@ "typescript": "^3.8.3" }, "dependencies": { - "@thi.ng/api": "^6.8.3" + "@thi.ng/api": "^6.8.3", + "tslib": "^1.11.1" }, "keywords": [ "counter", diff --git a/packages/iges/package.json b/packages/iges/package.json index 28dfd2e51b..f0fa052f36 100644 --- a/packages/iges/package.json +++ b/packages/iges/package.json @@ -43,7 +43,8 @@ "@thi.ng/defmulti": "^1.2.7", "@thi.ng/strings": "^1.7.0", "@thi.ng/transducers": "^6.4.1", - "@thi.ng/vectors": "^4.2.1" + "@thi.ng/vectors": "^4.2.1", + "tslib": "^1.11.1" }, "keywords": [ "CAD", diff --git a/packages/imgui/package.json b/packages/imgui/package.json index 1fc70a870d..02249a6064 100644 --- a/packages/imgui/package.json +++ b/packages/imgui/package.json @@ -47,7 +47,8 @@ "@thi.ng/layout": "^0.1.3", "@thi.ng/math": "^1.7.3", "@thi.ng/transducers": "^6.4.1", - "@thi.ng/vectors": "^4.2.1" + "@thi.ng/vectors": "^4.2.1", + "tslib": "^1.11.1" }, "keywords": [ "canvas", diff --git a/packages/interceptors/package.json b/packages/interceptors/package.json index be4aa6c0fc..acefd5a727 100644 --- a/packages/interceptors/package.json +++ b/packages/interceptors/package.json @@ -42,7 +42,8 @@ "@thi.ng/atom": "^3.1.8", "@thi.ng/checks": "^2.5.4", "@thi.ng/errors": "^1.2.7", - "@thi.ng/paths": "^3.0.5" + "@thi.ng/paths": "^3.0.5", + "tslib": "^1.11.1" }, "keywords": [ "ES6", diff --git a/packages/intervals/package.json b/packages/intervals/package.json index 8bdb19cb2e..55794bf0ca 100644 --- a/packages/intervals/package.json +++ b/packages/intervals/package.json @@ -41,7 +41,8 @@ "@thi.ng/api": "^6.8.3", "@thi.ng/checks": "^2.5.4", "@thi.ng/dlogic": "^1.0.16", - "@thi.ng/errors": "^1.2.7" + "@thi.ng/errors": "^1.2.7", + "tslib": "^1.11.1" }, "keywords": [ "ES6", diff --git a/packages/iterators/package.json b/packages/iterators/package.json index 82d58e5642..07795a81f9 100644 --- a/packages/iterators/package.json +++ b/packages/iterators/package.json @@ -40,7 +40,8 @@ "dependencies": { "@thi.ng/api": "^6.8.3", "@thi.ng/dcons": "^2.2.7", - "@thi.ng/errors": "^1.2.7" + "@thi.ng/errors": "^1.2.7", + "tslib": "^1.11.1" }, "keywords": [ "clojure", diff --git a/packages/layout/package.json b/packages/layout/package.json index ae0032e65a..818d640dbe 100644 --- a/packages/layout/package.json +++ b/packages/layout/package.json @@ -39,7 +39,8 @@ }, "dependencies": { "@thi.ng/api": "^6.8.3", - "@thi.ng/checks": "^2.5.4" + "@thi.ng/checks": "^2.5.4", + "tslib": "^1.11.1" }, "keywords": [ "ES6", diff --git a/packages/leb128/package.json b/packages/leb128/package.json index d238b3d8ad..7e7910ad2e 100644 --- a/packages/leb128/package.json +++ b/packages/leb128/package.json @@ -41,7 +41,8 @@ "dependencies": { "@thi.ng/checks": "^2.5.4", "@thi.ng/errors": "^1.2.7", - "@thi.ng/transducers-binary": "^0.5.4" + "@thi.ng/transducers-binary": "^0.5.4", + "tslib": "^1.11.1" }, "keywords": [ "LEB128", diff --git a/packages/lsys/package.json b/packages/lsys/package.json index 9d08713f5a..7925dbde22 100644 --- a/packages/lsys/package.json +++ b/packages/lsys/package.json @@ -44,7 +44,8 @@ "@thi.ng/math": "^1.7.3", "@thi.ng/random": "^1.4.1", "@thi.ng/transducers": "^6.4.1", - "@thi.ng/vectors": "^4.2.1" + "@thi.ng/vectors": "^4.2.1", + "tslib": "^1.11.1" }, "keywords": [ "axiom", diff --git a/packages/malloc/package.json b/packages/malloc/package.json index 0a4e49a22f..afd84f0513 100644 --- a/packages/malloc/package.json +++ b/packages/malloc/package.json @@ -41,7 +41,8 @@ "@thi.ng/api": "^6.8.3", "@thi.ng/binary": "^2.0.0", "@thi.ng/checks": "^2.5.4", - "@thi.ng/errors": "^1.2.7" + "@thi.ng/errors": "^1.2.7", + "tslib": "^1.11.1" }, "keywords": [ "ES6", diff --git a/packages/math/package.json b/packages/math/package.json index fddcce2163..18d870ae1c 100644 --- a/packages/math/package.json +++ b/packages/math/package.json @@ -49,5 +49,8 @@ "publishConfig": { "access": "public" }, - "sideEffects": false + "sideEffects": false, + "dependencies": { + "tslib": "^1.11.1" + } } diff --git a/packages/matrices/package.json b/packages/matrices/package.json index fd545ec84e..1a1ff8588d 100644 --- a/packages/matrices/package.json +++ b/packages/matrices/package.json @@ -41,7 +41,8 @@ "@thi.ng/api": "^6.8.3", "@thi.ng/checks": "^2.5.4", "@thi.ng/math": "^1.7.3", - "@thi.ng/vectors": "^4.2.1" + "@thi.ng/vectors": "^4.2.1", + "tslib": "^1.11.1" }, "keywords": [ "2D", diff --git a/packages/memoize/package.json b/packages/memoize/package.json index 7869db3b5d..f50085d3d3 100644 --- a/packages/memoize/package.json +++ b/packages/memoize/package.json @@ -38,7 +38,8 @@ "typescript": "^3.8.3" }, "dependencies": { - "@thi.ng/api": "^6.8.3" + "@thi.ng/api": "^6.8.3", + "tslib": "^1.11.1" }, "keywords": [ "cache", diff --git a/packages/mime/package.json b/packages/mime/package.json index b653331165..7690470523 100644 --- a/packages/mime/package.json +++ b/packages/mime/package.json @@ -38,7 +38,8 @@ "typescript": "^3.8.3" }, "dependencies": { - "@thi.ng/api": "^6.8.3" + "@thi.ng/api": "^6.8.3", + "tslib": "^1.11.1" }, "keywords": [ "ES6", diff --git a/packages/morton/package.json b/packages/morton/package.json index f86758a693..62a4418fea 100644 --- a/packages/morton/package.json +++ b/packages/morton/package.json @@ -40,7 +40,8 @@ "dependencies": { "@thi.ng/api": "^6.8.3", "@thi.ng/binary": "^2.0.0", - "@thi.ng/math": "^1.7.3" + "@thi.ng/math": "^1.7.3", + "tslib": "^1.11.1" }, "keywords": [ "binary", diff --git a/packages/paths/package.json b/packages/paths/package.json index 37cf29a043..11b026165f 100644 --- a/packages/paths/package.json +++ b/packages/paths/package.json @@ -39,7 +39,8 @@ }, "dependencies": { "@thi.ng/checks": "^2.5.4", - "@thi.ng/errors": "^1.2.7" + "@thi.ng/errors": "^1.2.7", + "tslib": "^1.11.1" }, "keywords": [ "accessors", diff --git a/packages/pixel/package.json b/packages/pixel/package.json index d7a08965ff..23faedf636 100644 --- a/packages/pixel/package.json +++ b/packages/pixel/package.json @@ -41,7 +41,8 @@ "@thi.ng/api": "^6.8.3", "@thi.ng/checks": "^2.5.4", "@thi.ng/math": "^1.7.3", - "@thi.ng/porter-duff": "^0.1.11" + "@thi.ng/porter-duff": "^0.1.11", + "tslib": "^1.11.1" }, "keywords": [ "ES6", diff --git a/packages/pointfree-lang/package.json b/packages/pointfree-lang/package.json index e3ad165363..8acc6f76f3 100644 --- a/packages/pointfree-lang/package.json +++ b/packages/pointfree-lang/package.json @@ -41,7 +41,8 @@ "dependencies": { "@thi.ng/api": "^6.8.3", "@thi.ng/errors": "^1.2.7", - "@thi.ng/pointfree": "^1.2.9" + "@thi.ng/pointfree": "^1.2.9", + "tslib": "^1.11.1" }, "keywords": [ "concatenative", diff --git a/packages/pointfree/package.json b/packages/pointfree/package.json index 2caad8cc23..8b580d43be 100644 --- a/packages/pointfree/package.json +++ b/packages/pointfree/package.json @@ -42,7 +42,8 @@ "@thi.ng/checks": "^2.5.4", "@thi.ng/compose": "^1.3.12", "@thi.ng/equiv": "^1.0.16", - "@thi.ng/errors": "^1.2.7" + "@thi.ng/errors": "^1.2.7", + "tslib": "^1.11.1" }, "keywords": [ "composition", diff --git a/packages/poisson/package.json b/packages/poisson/package.json index 48e25aaa3a..8b04657b91 100644 --- a/packages/poisson/package.json +++ b/packages/poisson/package.json @@ -41,7 +41,8 @@ "@thi.ng/checks": "^2.5.4", "@thi.ng/geom-api": "^1.0.6", "@thi.ng/random": "^1.4.1", - "@thi.ng/vectors": "^4.2.1" + "@thi.ng/vectors": "^4.2.1", + "tslib": "^1.11.1" }, "keywords": [ "2d", diff --git a/packages/porter-duff/package.json b/packages/porter-duff/package.json index 493da8af64..ce7274f0c9 100644 --- a/packages/porter-duff/package.json +++ b/packages/porter-duff/package.json @@ -39,7 +39,8 @@ }, "dependencies": { "@thi.ng/api": "^6.8.3", - "@thi.ng/math": "^1.7.3" + "@thi.ng/math": "^1.7.3", + "tslib": "^1.11.1" }, "keywords": [ "alpha blending", diff --git a/packages/quad-edge/package.json b/packages/quad-edge/package.json index 7316747ca6..7cb730bb30 100644 --- a/packages/quad-edge/package.json +++ b/packages/quad-edge/package.json @@ -56,5 +56,8 @@ "geom-voronoi" ], "year": 2015 + }, + "dependencies": { + "tslib": "^1.11.1" } } diff --git a/packages/ramp/package.json b/packages/ramp/package.json index 6017b01f8a..2f963ac0a3 100644 --- a/packages/ramp/package.json +++ b/packages/ramp/package.json @@ -43,7 +43,8 @@ "@thi.ng/compare": "^1.2.1", "@thi.ng/math": "^1.7.3", "@thi.ng/transducers": "^6.4.1", - "@thi.ng/vectors": "^4.2.1" + "@thi.ng/vectors": "^4.2.1", + "tslib": "^1.11.1" }, "keywords": [ "animation", diff --git a/packages/random/package.json b/packages/random/package.json index da721f8d70..6d0a55be83 100644 --- a/packages/random/package.json +++ b/packages/random/package.json @@ -39,7 +39,8 @@ }, "dependencies": { "@thi.ng/api": "^6.8.3", - "@thi.ng/checks": "^2.5.4" + "@thi.ng/checks": "^2.5.4", + "tslib": "^1.11.1" }, "keywords": [ "ES6", diff --git a/packages/range-coder/package.json b/packages/range-coder/package.json index fce9fd90dd..2069c967dc 100644 --- a/packages/range-coder/package.json +++ b/packages/range-coder/package.json @@ -39,7 +39,8 @@ "typescript": "^3.8.3" }, "dependencies": { - "@thi.ng/bitstream": "^1.1.10" + "@thi.ng/bitstream": "^1.1.10", + "tslib": "^1.11.1" }, "keywords": [ "ES6", diff --git a/packages/resolve-map/package.json b/packages/resolve-map/package.json index 9290ab7cf6..bef2c01e48 100644 --- a/packages/resolve-map/package.json +++ b/packages/resolve-map/package.json @@ -40,7 +40,8 @@ "@thi.ng/api": "^6.8.3", "@thi.ng/checks": "^2.5.4", "@thi.ng/errors": "^1.2.7", - "@thi.ng/paths": "^3.0.5" + "@thi.ng/paths": "^3.0.5", + "tslib": "^1.11.1" }, "keywords": [ "configuration", diff --git a/packages/rle-pack/package.json b/packages/rle-pack/package.json index c5ac535213..441ce0ef59 100644 --- a/packages/rle-pack/package.json +++ b/packages/rle-pack/package.json @@ -40,7 +40,8 @@ }, "dependencies": { "@thi.ng/bitstream": "^1.1.10", - "@thi.ng/errors": "^1.2.7" + "@thi.ng/errors": "^1.2.7", + "tslib": "^1.11.1" }, "keywords": [ "binary", diff --git a/packages/router/package.json b/packages/router/package.json index 7b5ab8e6ca..038dc6b54a 100644 --- a/packages/router/package.json +++ b/packages/router/package.json @@ -41,7 +41,8 @@ "@thi.ng/api": "^6.8.3", "@thi.ng/checks": "^2.5.4", "@thi.ng/equiv": "^1.0.16", - "@thi.ng/errors": "^1.2.7" + "@thi.ng/errors": "^1.2.7", + "tslib": "^1.11.1" }, "keywords": [ "browser", diff --git a/packages/rstream-csp/package.json b/packages/rstream-csp/package.json index 4e0a0b43e6..a73dd7d8f9 100644 --- a/packages/rstream-csp/package.json +++ b/packages/rstream-csp/package.json @@ -39,7 +39,8 @@ }, "dependencies": { "@thi.ng/csp": "^1.1.14", - "@thi.ng/rstream": "^3.0.7" + "@thi.ng/rstream": "^3.0.7", + "tslib": "^1.11.1" }, "keywords": [ "bridge", diff --git a/packages/rstream-dot/package.json b/packages/rstream-dot/package.json index 707a528c6d..d83637eeba 100644 --- a/packages/rstream-dot/package.json +++ b/packages/rstream-dot/package.json @@ -38,7 +38,8 @@ "typescript": "^3.8.3" }, "dependencies": { - "@thi.ng/rstream": "^3.0.7" + "@thi.ng/rstream": "^3.0.7", + "tslib": "^1.11.1" }, "keywords": [ "conversion", diff --git a/packages/rstream-gestures/package.json b/packages/rstream-gestures/package.json index 54eb8ea6d2..10a5cc33a9 100644 --- a/packages/rstream-gestures/package.json +++ b/packages/rstream-gestures/package.json @@ -42,7 +42,8 @@ "@thi.ng/checks": "^2.5.4", "@thi.ng/math": "^1.7.3", "@thi.ng/rstream": "^3.0.7", - "@thi.ng/transducers": "^6.4.1" + "@thi.ng/transducers": "^6.4.1", + "tslib": "^1.11.1" }, "keywords": [ "dataflow", diff --git a/packages/rstream-graph/package.json b/packages/rstream-graph/package.json index 2563272184..1ae1b8ced1 100644 --- a/packages/rstream-graph/package.json +++ b/packages/rstream-graph/package.json @@ -44,7 +44,8 @@ "@thi.ng/paths": "^3.0.5", "@thi.ng/resolve-map": "^4.1.15", "@thi.ng/rstream": "^3.0.7", - "@thi.ng/transducers": "^6.4.1" + "@thi.ng/transducers": "^6.4.1", + "tslib": "^1.11.1" }, "keywords": [ "compute", diff --git a/packages/rstream-log-file/package.json b/packages/rstream-log-file/package.json index 84a963d0ed..68a45edaa1 100644 --- a/packages/rstream-log-file/package.json +++ b/packages/rstream-log-file/package.json @@ -38,7 +38,8 @@ "typescript": "^3.8.3" }, "dependencies": { - "@thi.ng/rstream": "^3.0.7" + "@thi.ng/rstream": "^3.0.7", + "tslib": "^1.11.1" }, "keywords": [ "append", diff --git a/packages/rstream-log/package.json b/packages/rstream-log/package.json index db6335ea04..d579621651 100644 --- a/packages/rstream-log/package.json +++ b/packages/rstream-log/package.json @@ -42,7 +42,8 @@ "@thi.ng/checks": "^2.5.4", "@thi.ng/errors": "^1.2.7", "@thi.ng/rstream": "^3.0.7", - "@thi.ng/transducers": "^6.4.1" + "@thi.ng/transducers": "^6.4.1", + "tslib": "^1.11.1" }, "keywords": [ "ES6", diff --git a/packages/rstream-query/package.json b/packages/rstream-query/package.json index 49b6d8c208..d1f4bef388 100644 --- a/packages/rstream-query/package.json +++ b/packages/rstream-query/package.json @@ -46,7 +46,8 @@ "@thi.ng/math": "^1.7.3", "@thi.ng/rstream": "^3.0.7", "@thi.ng/rstream-dot": "^1.1.14", - "@thi.ng/transducers": "^6.4.1" + "@thi.ng/transducers": "^6.4.1", + "tslib": "^1.11.1" }, "keywords": [ "dataflow", diff --git a/packages/rstream/package.json b/packages/rstream/package.json index d9a667536d..ba35146924 100644 --- a/packages/rstream/package.json +++ b/packages/rstream/package.json @@ -44,7 +44,8 @@ "@thi.ng/checks": "^2.5.4", "@thi.ng/errors": "^1.2.7", "@thi.ng/paths": "^3.0.5", - "@thi.ng/transducers": "^6.4.1" + "@thi.ng/transducers": "^6.4.1", + "tslib": "^1.11.1" }, "keywords": [ "datastructure", diff --git a/packages/sax/package.json b/packages/sax/package.json index 3e4aa11965..328a76be37 100644 --- a/packages/sax/package.json +++ b/packages/sax/package.json @@ -40,7 +40,8 @@ "dependencies": { "@thi.ng/api": "^6.8.3", "@thi.ng/transducers": "^6.4.1", - "@thi.ng/transducers-fsm": "^1.1.14" + "@thi.ng/transducers-fsm": "^1.1.14", + "tslib": "^1.11.1" }, "keywords": [ "ES6", diff --git a/packages/scenegraph/package.json b/packages/scenegraph/package.json index 89e9a92b48..7f3f4b82d7 100644 --- a/packages/scenegraph/package.json +++ b/packages/scenegraph/package.json @@ -41,7 +41,8 @@ "@thi.ng/api": "^6.8.3", "@thi.ng/checks": "^2.5.4", "@thi.ng/matrices": "^0.6.4", - "@thi.ng/vectors": "^4.2.1" + "@thi.ng/vectors": "^4.2.1", + "tslib": "^1.11.1" }, "keywords": [ "2D", diff --git a/packages/seq/package.json b/packages/seq/package.json index 1b35357f51..8b291ae2a4 100644 --- a/packages/seq/package.json +++ b/packages/seq/package.json @@ -39,7 +39,8 @@ }, "dependencies": { "@thi.ng/api": "^6.8.3", - "@thi.ng/checks": "^2.5.4" + "@thi.ng/checks": "^2.5.4", + "tslib": "^1.11.1" }, "keywords": [ "ES6", diff --git a/packages/sexpr/package.json b/packages/sexpr/package.json index 58f00e7b3c..a5e02240be 100644 --- a/packages/sexpr/package.json +++ b/packages/sexpr/package.json @@ -40,7 +40,8 @@ "dependencies": { "@thi.ng/api": "^6.8.3", "@thi.ng/checks": "^2.5.4", - "@thi.ng/defmulti": "^1.2.7" + "@thi.ng/defmulti": "^1.2.7", + "tslib": "^1.11.1" }, "keywords": [ "DSL", diff --git a/packages/shader-ast-glsl/package.json b/packages/shader-ast-glsl/package.json index b224a1153b..96ab8776b9 100644 --- a/packages/shader-ast-glsl/package.json +++ b/packages/shader-ast-glsl/package.json @@ -41,7 +41,8 @@ "@thi.ng/api": "^6.8.3", "@thi.ng/checks": "^2.5.4", "@thi.ng/errors": "^1.2.7", - "@thi.ng/shader-ast": "^0.3.10" + "@thi.ng/shader-ast": "^0.3.10", + "tslib": "^1.11.1" }, "keywords": [ "AST", diff --git a/packages/shader-ast-js/package.json b/packages/shader-ast-js/package.json index 44d93392a3..55dfec6fbf 100644 --- a/packages/shader-ast-js/package.json +++ b/packages/shader-ast-js/package.json @@ -45,7 +45,8 @@ "@thi.ng/matrices": "^0.6.4", "@thi.ng/pixel": "^0.1.12", "@thi.ng/shader-ast": "^0.3.10", - "@thi.ng/vectors": "^4.2.1" + "@thi.ng/vectors": "^4.2.1", + "tslib": "^1.11.1" }, "keywords": [ "AST", diff --git a/packages/shader-ast-stdlib/package.json b/packages/shader-ast-stdlib/package.json index 39500510e5..2346c68cb9 100644 --- a/packages/shader-ast-stdlib/package.json +++ b/packages/shader-ast-stdlib/package.json @@ -38,7 +38,8 @@ "typescript": "^3.8.3" }, "dependencies": { - "@thi.ng/shader-ast": "^0.3.10" + "@thi.ng/shader-ast": "^0.3.10", + "tslib": "^1.11.1" }, "keywords": [ "AST", diff --git a/packages/shader-ast/package.json b/packages/shader-ast/package.json index 4385c0a4a7..a984f11e66 100644 --- a/packages/shader-ast/package.json +++ b/packages/shader-ast/package.json @@ -42,7 +42,8 @@ "@thi.ng/checks": "^2.5.4", "@thi.ng/defmulti": "^1.2.7", "@thi.ng/dgraph": "^1.1.24", - "@thi.ng/errors": "^1.2.7" + "@thi.ng/errors": "^1.2.7", + "tslib": "^1.11.1" }, "keywords": [ "AST", diff --git a/packages/simd/package.json b/packages/simd/package.json index 64e5d71acc..4fe8ab6022 100644 --- a/packages/simd/package.json +++ b/packages/simd/package.json @@ -43,7 +43,8 @@ "dependencies": { "@thi.ng/checks": "^2.5.4", "@thi.ng/transducers": "^6.4.1", - "@thi.ng/transducers-binary": "^0.5.4" + "@thi.ng/transducers-binary": "^0.5.4", + "tslib": "^1.11.1" }, "keywords": [ "AssemblyScript", diff --git a/packages/soa/package.json b/packages/soa/package.json index ba9893161b..aa2c495c1f 100644 --- a/packages/soa/package.json +++ b/packages/soa/package.json @@ -42,7 +42,8 @@ "@thi.ng/api": "^6.8.3", "@thi.ng/binary": "^2.0.0", "@thi.ng/transducers-binary": "^0.5.4", - "@thi.ng/vectors": "^4.2.1" + "@thi.ng/vectors": "^4.2.1", + "tslib": "^1.11.1" }, "keywords": [ "AOS", diff --git a/packages/sparse/package.json b/packages/sparse/package.json index 15b4c6277e..d9b7c5b289 100644 --- a/packages/sparse/package.json +++ b/packages/sparse/package.json @@ -39,7 +39,8 @@ }, "dependencies": { "@thi.ng/api": "^6.8.3", - "@thi.ng/transducers": "^6.4.1" + "@thi.ng/transducers": "^6.4.1", + "tslib": "^1.11.1" }, "keywords": [ "adjacency", diff --git a/packages/strings/package.json b/packages/strings/package.json index 9fe5021c2b..3821cf340a 100644 --- a/packages/strings/package.json +++ b/packages/strings/package.json @@ -40,7 +40,8 @@ "dependencies": { "@thi.ng/api": "^6.8.3", "@thi.ng/errors": "^1.2.7", - "@thi.ng/memoize": "^2.0.3" + "@thi.ng/memoize": "^2.0.3", + "tslib": "^1.11.1" }, "keywords": [ "composition", diff --git a/packages/text-canvas/package.json b/packages/text-canvas/package.json index dbb1fa880a..29be314295 100644 --- a/packages/text-canvas/package.json +++ b/packages/text-canvas/package.json @@ -44,7 +44,8 @@ "@thi.ng/geom-clip-line": "^1.0.4", "@thi.ng/math": "^1.7.3", "@thi.ng/memoize": "^2.0.3", - "@thi.ng/transducers": "^6.4.1" + "@thi.ng/transducers": "^6.4.1", + "tslib": "^1.11.1" }, "keywords": [ "ASCII", diff --git a/packages/transducers-binary/package.json b/packages/transducers-binary/package.json index 537c032355..5be576f5aa 100644 --- a/packages/transducers-binary/package.json +++ b/packages/transducers-binary/package.json @@ -41,7 +41,8 @@ "@thi.ng/compose": "^1.3.12", "@thi.ng/random": "^1.4.1", "@thi.ng/strings": "^1.7.0", - "@thi.ng/transducers": "^6.4.1" + "@thi.ng/transducers": "^6.4.1", + "tslib": "^1.11.1" }, "keywords": [ "base64", diff --git a/packages/transducers-fsm/package.json b/packages/transducers-fsm/package.json index 4fd435e772..a4473c3e8f 100644 --- a/packages/transducers-fsm/package.json +++ b/packages/transducers-fsm/package.json @@ -39,7 +39,8 @@ }, "dependencies": { "@thi.ng/api": "^6.8.3", - "@thi.ng/transducers": "^6.4.1" + "@thi.ng/transducers": "^6.4.1", + "tslib": "^1.11.1" }, "keywords": [ "ES6", diff --git a/packages/transducers-hdom/package.json b/packages/transducers-hdom/package.json index 790674758a..1ed8dd362a 100644 --- a/packages/transducers-hdom/package.json +++ b/packages/transducers-hdom/package.json @@ -40,7 +40,8 @@ "dependencies": { "@thi.ng/hdom": "^8.0.14", "@thi.ng/hiccup": "^3.2.13", - "@thi.ng/transducers": "^6.4.1" + "@thi.ng/transducers": "^6.4.1", + "tslib": "^1.11.1" }, "keywords": [ "diff", diff --git a/packages/transducers-patch/package.json b/packages/transducers-patch/package.json index 335fc8d517..04524c1946 100644 --- a/packages/transducers-patch/package.json +++ b/packages/transducers-patch/package.json @@ -41,7 +41,8 @@ "@thi.ng/api": "^6.8.3", "@thi.ng/errors": "^1.2.7", "@thi.ng/paths": "^3.0.5", - "@thi.ng/transducers": "^6.4.1" + "@thi.ng/transducers": "^6.4.1", + "tslib": "^1.11.1" }, "keywords": [ "array", diff --git a/packages/transducers-stats/package.json b/packages/transducers-stats/package.json index a6cd928ffe..a7edbf706c 100644 --- a/packages/transducers-stats/package.json +++ b/packages/transducers-stats/package.json @@ -41,7 +41,8 @@ "@thi.ng/checks": "^2.5.4", "@thi.ng/dcons": "^2.2.7", "@thi.ng/errors": "^1.2.7", - "@thi.ng/transducers": "^6.4.1" + "@thi.ng/transducers": "^6.4.1", + "tslib": "^1.11.1" }, "keywords": [ "ES6", diff --git a/packages/transducers/package.json b/packages/transducers/package.json index a5054e965c..85ec2e3b1b 100644 --- a/packages/transducers/package.json +++ b/packages/transducers/package.json @@ -47,7 +47,8 @@ "@thi.ng/errors": "^1.2.7", "@thi.ng/math": "^1.7.3", "@thi.ng/random": "^1.4.1", - "@thi.ng/strings": "^1.7.0" + "@thi.ng/strings": "^1.7.0", + "tslib": "^1.11.1" }, "keywords": [ "array", diff --git a/packages/unionstruct/package.json b/packages/unionstruct/package.json index 33aaceaf83..9784278306 100644 --- a/packages/unionstruct/package.json +++ b/packages/unionstruct/package.json @@ -55,5 +55,8 @@ "sideEffects": false, "thi.ng": { "year": 2017 + }, + "dependencies": { + "tslib": "^1.11.1" } } diff --git a/packages/vector-pools/package.json b/packages/vector-pools/package.json index 9880b078c6..7fb2292930 100644 --- a/packages/vector-pools/package.json +++ b/packages/vector-pools/package.json @@ -43,7 +43,8 @@ "@thi.ng/checks": "^2.5.4", "@thi.ng/malloc": "^4.1.7", "@thi.ng/transducers": "^6.4.1", - "@thi.ng/vectors": "^4.2.1" + "@thi.ng/vectors": "^4.2.1", + "tslib": "^1.11.1" }, "keywords": [ "ES6", diff --git a/packages/vectors/package.json b/packages/vectors/package.json index 9bb16083c0..738fd1c437 100644 --- a/packages/vectors/package.json +++ b/packages/vectors/package.json @@ -46,7 +46,8 @@ "@thi.ng/math": "^1.7.3", "@thi.ng/memoize": "^2.0.3", "@thi.ng/random": "^1.4.1", - "@thi.ng/transducers": "^6.4.1" + "@thi.ng/transducers": "^6.4.1", + "tslib": "^1.11.1" }, "keywords": [ "2D", diff --git a/packages/webgl-msdf/package.json b/packages/webgl-msdf/package.json index d18ba87cba..7b7530148d 100644 --- a/packages/webgl-msdf/package.json +++ b/packages/webgl-msdf/package.json @@ -43,7 +43,8 @@ "@thi.ng/transducers": "^6.4.1", "@thi.ng/vector-pools": "^1.0.17", "@thi.ng/vectors": "^4.2.1", - "@thi.ng/webgl": "^0.3.4" + "@thi.ng/webgl": "^0.3.4", + "tslib": "^1.11.1" }, "keywords": [ "ES6", diff --git a/packages/webgl-shadertoy/package.json b/packages/webgl-shadertoy/package.json index dd96c5cda7..5bb422c30c 100644 --- a/packages/webgl-shadertoy/package.json +++ b/packages/webgl-shadertoy/package.json @@ -42,7 +42,8 @@ "@thi.ng/shader-ast": "^0.3.10", "@thi.ng/shader-ast-glsl": "^0.1.16", "@thi.ng/transducers": "^6.4.1", - "@thi.ng/webgl": "^0.3.4" + "@thi.ng/webgl": "^0.3.4", + "tslib": "^1.11.1" }, "keywords": [ "ES6", diff --git a/packages/webgl/package.json b/packages/webgl/package.json index 89624c70e8..c15a32562a 100644 --- a/packages/webgl/package.json +++ b/packages/webgl/package.json @@ -51,7 +51,8 @@ "@thi.ng/shader-ast-stdlib": "^0.3.9", "@thi.ng/transducers": "^6.4.1", "@thi.ng/vector-pools": "^1.0.17", - "@thi.ng/vectors": "^4.2.1" + "@thi.ng/vectors": "^4.2.1", + "tslib": "^1.11.1" }, "keywords": [ "declarative", diff --git a/packages/zipper/package.json b/packages/zipper/package.json index 1a13c04ccc..795dfe81c1 100644 --- a/packages/zipper/package.json +++ b/packages/zipper/package.json @@ -40,7 +40,8 @@ "dependencies": { "@thi.ng/api": "^6.8.3", "@thi.ng/arrays": "^0.5.6", - "@thi.ng/checks": "^2.5.4" + "@thi.ng/checks": "^2.5.4", + "tslib": "^1.11.1" }, "keywords": [ "data structure", diff --git a/tsconfig.json b/tsconfig.json index 3fd2690447..778c4f52d2 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -5,6 +5,7 @@ "declaration": true, "declarationMap": true, "experimentalDecorators": true, + "importHelpers": true, "noUnusedParameters": true, "noUnusedLocals": true, "preserveConstEnums": true, diff --git a/yarn.lock b/yarn.lock index 2c78d490c3..f15617056b 100644 --- a/yarn.lock +++ b/yarn.lock @@ -9266,6 +9266,11 @@ ts-node@^8.6.2: source-map-support "^0.5.6" yn "3.1.1" +tslib@^1.11.1: + version "1.11.1" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.11.1.tgz#eb15d128827fbee2841549e171f45ed338ac7e35" + integrity sha512-aZW88SY8kQbU7gpV19lN24LtXh/yD4ZZg6qieAJDDg+YBsJcSmLGK9QpnUjAKVG/xefmvJGd1WUmfpT/g6AJGA== + tslib@^1.9.0: version "1.10.0" resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.10.0.tgz#c3c19f95973fb0a62973fb09d90d961ee43e5c8a" From f8c626c933632a9e1dba5ef05cf46ddaf4b39e2d Mon Sep 17 00:00:00 2001 From: Karsten Schmidt Date: Thu, 12 Mar 2020 14:05:19 +0000 Subject: [PATCH 07/70] feat(examples): update package-stats, emit collected sizes also as JSON --- examples/package-stats/src/size-chart.ts | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/examples/package-stats/src/size-chart.ts b/examples/package-stats/src/size-chart.ts index e8c16f23e2..f4dc0d82b3 100644 --- a/examples/package-stats/src/size-chart.ts +++ b/examples/package-stats/src/size-chart.ts @@ -27,6 +27,10 @@ const meta = transduce( fs.readdirSync(BASE_DIR) ); +fs.writeFileSync( + `package-sizes-${new Date().toISOString().substr(0, 10)}.json`, + JSON.stringify(meta, null, 4) +); console.log(meta.length); const fileSizeChart = (stats: any, modType: string, type: string) => { From 1c5c46f5ac832865266613a6d71024507238b694 Mon Sep 17 00:00:00 2001 From: Karsten Schmidt Date: Mon, 16 Mar 2020 12:45:26 +0000 Subject: [PATCH 08/70] feat(strings): add join() HOF --- packages/strings/src/index.ts | 1 + packages/strings/src/join.ts | 26 ++++++++++++++++++++++++++ 2 files changed, 27 insertions(+) create mode 100644 packages/strings/src/join.ts diff --git a/packages/strings/src/index.ts b/packages/strings/src/index.ts index dbe00fd7d8..95d48cf6d6 100644 --- a/packages/strings/src/index.ts +++ b/packages/strings/src/index.ts @@ -6,6 +6,7 @@ export * from "./format"; export * from "./groups"; export * from "./hollerith"; export * from "./interpolate"; +export * from "./join"; export * from "./pad-left"; export * from "./pad-right"; export * from "./parse"; diff --git a/packages/strings/src/join.ts b/packages/strings/src/join.ts new file mode 100644 index 0000000000..c492bd219f --- /dev/null +++ b/packages/strings/src/join.ts @@ -0,0 +1,26 @@ +import { memoize1 } from "@thi.ng/memoize"; +import type { Stringer } from "./api"; + +/** + * Higher-order version of `Array.join()`. Takes separator string `sep` + * and returns function which accepts an array and joins all elements w/ + * separator into a result string. + * + * @example + * ```ts + * const slashes = join("/"); + * + * slashes([1, 2, 3]); + * // "1/2/3" + * + * const formatOBJFace = partial( + * format, ["f ", slashes, " ", slashes, " ", slashes] + * ); + * + * formatOBJFace([1, 2], [3, 4], [5, 6]); + * // "f 1/2 3/4 5/6" + * ``` + */ +export const join = memoize1>((sep) => (x) => + x.join(sep) +); From d75a23ea4040c6679b223f4e0d5577219dae116a Mon Sep 17 00:00:00 2001 From: Karsten Schmidt Date: Mon, 16 Mar 2020 12:45:59 +0000 Subject: [PATCH 09/70] minor(associative): reformat docstring --- packages/associative/src/join.ts | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/packages/associative/src/join.ts b/packages/associative/src/join.ts index a423a887c4..4017f79340 100644 --- a/packages/associative/src/join.ts +++ b/packages/associative/src/join.ts @@ -63,12 +63,12 @@ export const join = ( }; /** - * Similar to {@link join}, computes the join between two sets of relations, - * using the given keys in `kmap` only for joining and ignoring others. - * `kmap` can also be used to translate join keys in `b` where - * needed. Else, if no renaming is desired, the values in `kmap` should - * be the same as their respective keys, e.g. `{id: "id"}`. Returns new - * set of same type as `a`. + * Similar to {@link join}, computes the join between two sets of + * relations, using the given keys in `kmap` only for joining and + * ignoring others. `kmap` can also be used to translate join keys in + * `b` where needed. Else, if no renaming is desired, the values in + * `kmap` should be the same as their respective keys, e.g. `{id: + * "id"}`. Returns new set of same type as `a`. * * @example * ```ts From 2f98225d129c7c1ae6b88a4f0bea9227254fcf91 Mon Sep 17 00:00:00 2001 From: Karsten Schmidt Date: Fri, 20 Mar 2020 14:08:56 +0000 Subject: [PATCH 10/70] feat(arrays): add fillRange() & levenshtein() --- packages/arrays/src/fill-range.ts | 39 +++++++ packages/arrays/src/index.ts | 2 + packages/arrays/src/levenshtein.ts | 163 +++++++++++++++++++++++++++++ 3 files changed, 204 insertions(+) create mode 100644 packages/arrays/src/fill-range.ts create mode 100644 packages/arrays/src/levenshtein.ts diff --git a/packages/arrays/src/fill-range.ts b/packages/arrays/src/fill-range.ts new file mode 100644 index 0000000000..f20803e5f6 --- /dev/null +++ b/packages/arrays/src/fill-range.ts @@ -0,0 +1,39 @@ +import type { TypedArray } from "@thi.ng/api"; + +/** + * Fills given array with values in [start .. end) interval from `index` + * and with optional `step` size. + * + * @remarks + * `start` and `end` default to 0 and array length, `step` defaults to 1 + * or -1 (depending on range). Returns array. + * + * @example + * ```ts + * fillRange(new Array(5)) + * // [ 0, 1, 2, 3, 4 ] + * + * fillRange(fillRange([], 0, 10, 20, 2), 5, 20, 8, -2) + * // [ 10, 12, 14, 16, 18, 20, 18, 16, 14, 12, 10 ] + * ``` + * + * @param buf - + * @param index - + * @param start - + * @param end - + * @param step - + */ +export const fillRange = ( + buf: T, + index = 0, + start = 0, + end = buf.length, + step = end > start ? 1 : -1 +) => { + if (step > 0) { + for (; start < end; start += step) buf[index++] = start; + } else { + for (; start > end; start += step) buf[index++] = start; + } + return buf; +}; diff --git a/packages/arrays/src/index.ts b/packages/arrays/src/index.ts index 8808daa355..2ea51d2581 100644 --- a/packages/arrays/src/index.ts +++ b/packages/arrays/src/index.ts @@ -4,9 +4,11 @@ export * from "./ends-with"; export * from "./ensure-array"; export * from "./ensure-iterable"; export * from "./find"; +export * from "./fill-range"; export * from "./fuzzy-match"; export * from "./is-sorted"; export * from "./iterator"; +export * from "./levenshtein"; export * from "./peek"; export * from "./quicksort"; export * from "./shuffle"; diff --git a/packages/arrays/src/levenshtein.ts b/packages/arrays/src/levenshtein.ts new file mode 100644 index 0000000000..d2d6638801 --- /dev/null +++ b/packages/arrays/src/levenshtein.ts @@ -0,0 +1,163 @@ +import { Predicate2 } from "@thi.ng/api"; +import { equiv as _equiv } from "@thi.ng/equiv"; + +const eqStrict = (a: any, b: any) => a === b; + +/** + * Computes Levenshtein distance w/ optionally given `maxDist` (for + * early termination, default: ∞) and equality predicate (default: + * `===`). Returns 0 if both `a` and `b` are equal (based on predicate). + * Returns `Infinity` if actual distance > `maxDist`. + * + * @remarks + * + * Based on: + * - https://en.wikipedia.org/wiki/Levenshtein_distance + * - https://en.wikipedia.org/wiki/Wagner%E2%80%93Fischer_algorithm + * - https://github.com/gustf/js-levenshtein/blob/master/index.js + * + * @example + * ```ts + * levenshtein([1, 2, 3, 4, 5], [1, 2, 4, 3, 5]); + * // 2 + * + * levenshtein( + * [{ id: 1 }, { id: 2 }, { id: 3 }, { id: 4 }, { id: 5 }], + * [{ id: 4 }, { id: 5 }, { id: 3 }, { id: 1 }, { id: 2 }], + * // max dist + * 2, + * // predicate + * (a, b) => a.id === b.id + * ) + * // Infinity + * ``` + * + * @param a - + * @param b - + * @param maxDist - + * @param equiv - + */ +export const levenshtein = ( + a: ArrayLike, + b: ArrayLike, + maxDist = Infinity, + equiv: Predicate2 = eqStrict +): number => { + if (a === b) { + return 0; + } + if (a.length > b.length) { + const tmp = a; + a = b; + b = tmp; + } + + let la = a.length; + let lb = b.length; + while (la > 0 && equiv(a[~-la], b[~-lb])) { + la--; + lb--; + } + + let offset = 0; + while (offset < la && equiv(a[offset], b[offset])) { + offset++; + } + + la -= offset; + lb -= offset; + if (la === 0 || lb < 3) { + return lb; + } + + let x = 0; + let y: number; + let minDist: number; + let d0: number; + let d1: number; + let d2: number; + let d3: number; + let dd: number; + let dy: number; + let ay: T; + let bx0: T; + let bx1: T; + let bx2: T; + let bx3: T; + + const _min = (d0: number, d1: number, d2: number, bx: T, ay: T) => { + return d0 < d1 || d2 < d1 + ? d0 > d2 + ? d2 + 1 + : d0 + 1 + : equiv(ay, bx) + ? d1 + : d1 + 1; + }; + + const vector: (T | number)[] = []; + for (y = 0; y < la; y++) { + vector.push(y + 1, a[offset + y]); + } + + const len = vector.length - 1; + const lb3 = lb - 3; + for (; x < lb3; ) { + bx0 = b[offset + (d0 = x)]; + bx1 = b[offset + (d1 = x + 1)]; + bx2 = b[offset + (d2 = x + 2)]; + bx3 = b[offset + (d3 = x + 3)]; + dd = x += 4; + minDist = Infinity; + for (y = 0; y < len; y += 2) { + dy = vector[y]; + ay = vector[y + 1]; + d0 = _min(dy, d0, d1, bx0, ay); + d1 = _min(d0, d1, d2, bx1, ay); + d2 = _min(d1, d2, d3, bx2, ay); + dd = _min(d2, d3, dd, bx3, ay); + dd < minDist && (minDist = dd); + vector[y] = dd; + d3 = d2; + d2 = d1; + d1 = d0; + d0 = dy; + } + if (minDist > maxDist) return Infinity; + } + + for (; x < lb; ) { + bx0 = b[offset + (d0 = x)]; + dd = ++x; + minDist = Infinity; + for (y = 0; y < len; y += 2) { + dy = vector[y]; + vector[y] = dd = _min(dy, d0, dd, bx0, vector[y + 1]); + dd < minDist && (minDist = dd); + d0 = dy; + } + if (minDist > maxDist) return Infinity; + } + + return dd!; +}; + +/** + * Normalized version of {@link levenshtein}, i.e. the actual L-dist + * divided by the length of the longest input (or `Infinity` if actual + * distance > `maxDist`). + * + * @param a - + * @param b - + * @param maxDist - + * @param equiv - + */ +export const normalizedLevenshtein = ( + a: ArrayLike, + b: ArrayLike, + maxDist = Infinity, + equiv = eqStrict +): number => { + const n = Math.max(a.length, b.length); + return n > 0 ? levenshtein(a, b, maxDist, equiv) / n : 0; +}; From 0b6c155d8d6cf9bd3f25bfce723cac2de48ad544 Mon Sep 17 00:00:00 2001 From: Karsten Schmidt Date: Sat, 21 Mar 2020 02:19:46 +0000 Subject: [PATCH 11/70] feat(paths): update typed path sigs - add readonly modifier to allow const path tuples in accessors e.g. `["a", "b"]` --- packages/paths/src/delete-in.ts | 20 ++++++++++---------- packages/paths/src/get-in.ts | 24 ++++++++++++------------ packages/paths/src/getter.ts | 24 ++++++++++++------------ packages/paths/src/mut-in.ts | 24 ++++++++++++------------ packages/paths/src/mutator.ts | 24 ++++++++++++------------ packages/paths/src/path.ts | 4 ++-- packages/paths/src/set-in.ts | 24 ++++++++++++------------ packages/paths/src/setter.ts | 30 ++++++++++++++++++------------ packages/paths/src/update-in.ts | 24 ++++++++++++------------ packages/paths/src/updater.ts | 24 ++++++++++++------------ 10 files changed, 114 insertions(+), 108 deletions(-) diff --git a/packages/paths/src/delete-in.ts b/packages/paths/src/delete-in.ts index 2c8f985500..912523f1f0 100644 --- a/packages/paths/src/delete-in.ts +++ b/packages/paths/src/delete-in.ts @@ -33,7 +33,7 @@ import type { * @param state - * @param path - */ -export const deleteIn = (state: any, path: Path) => deleteInT(state, path); +export const deleteIn = (state: any, path: Readonly) => deleteInT(state, path); /** * Type checked version of {@link deleteIn}. @@ -43,25 +43,25 @@ export const deleteIn = (state: any, path: Path) => deleteInT(state, path); */ export function deleteInT>( state: T, - path: [A] + path: readonly [A] ): Without; export function deleteInT, B extends Keys1>( state: T, - path: [A, B] + path: readonly [A, B] ): Without2; export function deleteInT< T, A extends Keys, B extends Keys1, C extends Keys2 ->(state: T, path: [A, B, C]): Without3; +>(state: T, path: readonly [A, B, C]): Without3; export function deleteInT< T, A extends Keys, B extends Keys1, C extends Keys2, D extends Keys3 ->(state: T, path: [A, B, C, D]): Without4; +>(state: T, path: readonly [A, B, C, D]): Without4; export function deleteInT< T, A extends Keys, @@ -69,7 +69,7 @@ export function deleteInT< C extends Keys2, D extends Keys3, E extends Keys4 ->(state: T, path: [A, B, C, D, E]): Without5; +>(state: T, path: readonly [A, B, C, D, E]): Without5; export function deleteInT< T, A extends Keys, @@ -78,7 +78,7 @@ export function deleteInT< D extends Keys3, E extends Keys4, F extends Keys5 ->(state: T, path: [A, B, C, D, E, F]): Without6; +>(state: T, path: readonly [A, B, C, D, E, F]): Without6; export function deleteInT< T, A extends Keys, @@ -88,7 +88,7 @@ export function deleteInT< E extends Keys4, F extends Keys5, G extends Keys6 ->(state: T, path: [A, B, C, D, E, F, G]): Without7; +>(state: T, path: readonly [A, B, C, D, E, F, G]): Without7; export function deleteInT< T, A extends Keys, @@ -101,9 +101,9 @@ export function deleteInT< H extends Keys7 >( state: T, - path: [A, B, C, D, E, F, G, H] + path: readonly [A, B, C, D, E, F, G, H] ): Without8; -export function deleteInT(state: any, path: Path): any { +export function deleteInT(state: any, path: Readonly): any { const ks = [...toPath(path)]; if (ks.length > 0) { const k = ks.pop()!; diff --git a/packages/paths/src/get-in.ts b/packages/paths/src/get-in.ts index aa34359270..2e446dc635 100644 --- a/packages/paths/src/get-in.ts +++ b/packages/paths/src/get-in.ts @@ -40,7 +40,7 @@ import type { * @param state - * @param path - */ -export const getIn = (state: any, path: Path): any => getterT(path)(state); +export const getIn = (state: any, path: Readonly): any => getterT(path)(state); /** * Type checked version of {@link getIn}. @@ -48,25 +48,25 @@ export const getIn = (state: any, path: Path): any => getterT(path)(state); * @param state - * @param path - */ -export function getInT(state: T, path: []): T; -export function getInT>(state: T, path: [A]): Val1; +export function getInT(state: T, path: readonly []): T; +export function getInT>(state: T, path: readonly [A]): Val1; export function getInT, B extends Keys1>( state: T, - path: [A, B] + path: readonly [A, B] ): Val2; export function getInT< T, A extends Keys, B extends Keys1, C extends Keys2 ->(state: T, path: [A, B, C]): Val3; +>(state: T, path: readonly [A, B, C]): Val3; export function getInT< T, A extends Keys, B extends Keys1, C extends Keys2, D extends Keys3 ->(state: T, path: [A, B, C, D]): Val4; +>(state: T, path: readonly [A, B, C, D]): Val4; export function getInT< T, A extends Keys, @@ -74,7 +74,7 @@ export function getInT< C extends Keys2, D extends Keys3, E extends Keys4 ->(state: T, path: [A, B, C, D, E]): Val5; +>(state: T, path: readonly [A, B, C, D, E]): Val5; export function getInT< T, A extends Keys, @@ -83,7 +83,7 @@ export function getInT< D extends Keys3, E extends Keys4, F extends Keys5 ->(state: T, path: [A, B, C, D, E, F]): Val6; +>(state: T, path: readonly [A, B, C, D, E, F]): Val6; export function getInT< T, A extends Keys, @@ -93,7 +93,7 @@ export function getInT< E extends Keys4, F extends Keys5, G extends Keys6 ->(state: T, path: [A, B, C, D, E, F, G]): Val7; +>(state: T, path: readonly [A, B, C, D, E, F, G]): Val7; export function getInT< T, A extends Keys, @@ -104,7 +104,7 @@ export function getInT< F extends Keys5, G extends Keys6, H extends Keys7 ->(state: T, path: [A, B, C, D, E, F, G, H]): Val8; +>(state: T, path: readonly [A, B, C, D, E, F, G, H]): Val8; export function getInT< T, A extends Keys, @@ -115,7 +115,7 @@ export function getInT< F extends Keys5, G extends Keys6, H extends Keys7 ->(state: T, path: [A, B, C, D, E, F, G, H, ...any[]]): any; -export function getInT(state: any, path: Path) { +>(state: T, path: readonly [A, B, C, D, E, F, G, H, ...any[]]): any; +export function getInT(state: any, path: Readonly) { return getterT(path)(state); } diff --git a/packages/paths/src/getter.ts b/packages/paths/src/getter.ts index 18510d2cca..532bfcd16f 100644 --- a/packages/paths/src/getter.ts +++ b/packages/paths/src/getter.ts @@ -62,31 +62,31 @@ import type { * * @param path - */ -export const getter = (path: Path): Fn => getterT(path); +export const getter = (path: Readonly): Fn => getterT(path); /** * Type checked version of {@link getter}. * * @param path - */ -export function getterT(path: []): Fn; -export function getterT>(path: [A]): Fn>; +export function getterT(path: readonly []): Fn; +export function getterT>(path: readonly [A]): Fn>; export function getterT, B extends Keys1>( - path: [A, B] + path: readonly [A, B] ): Fn>; export function getterT< T, A extends Keys, B extends Keys1, C extends Keys2 ->(path: [A, B, C]): Fn>; +>(path: readonly [A, B, C]): Fn>; export function getterT< T, A extends Keys, B extends Keys1, C extends Keys2, D extends Keys3 ->(path: [A, B, C, D]): Fn>; +>(path: readonly [A, B, C, D]): Fn>; export function getterT< T, A extends Keys, @@ -94,7 +94,7 @@ export function getterT< C extends Keys2, D extends Keys3, E extends Keys4 ->(path: [A, B, C, D, E]): Fn>; +>(path: readonly [A, B, C, D, E]): Fn>; export function getterT< T, A extends Keys, @@ -103,7 +103,7 @@ export function getterT< D extends Keys3, E extends Keys4, F extends Keys5 ->(path: [A, B, C, D, E, F]): Fn>; +>(path: readonly [A, B, C, D, E, F]): Fn>; export function getterT< T, A extends Keys, @@ -113,7 +113,7 @@ export function getterT< E extends Keys4, F extends Keys5, G extends Keys6 ->(path: [A, B, C, D, E, F, G]): Fn>; +>(path: readonly [A, B, C, D, E, F, G]): Fn>; export function getterT< T, A extends Keys, @@ -124,7 +124,7 @@ export function getterT< F extends Keys5, G extends Keys6, H extends Keys7 ->(path: [A, B, C, D, E, F, G, H]): Fn>; +>(path: readonly [A, B, C, D, E, F, G, H]): Fn>; export function getterT< T, A extends Keys, @@ -135,8 +135,8 @@ export function getterT< F extends Keys5, G extends Keys6, H extends Keys7 ->(path: [A, B, C, D, E, F, G, H, ...any[]]): Fn; -export function getterT(path: Path) { +>(path: readonly [A, B, C, D, E, F, G, H, ...any[]]): Fn; +export function getterT(path: Readonly) { const ks = toPath(path); let [a, b, c, d] = ks; switch (ks.length) { diff --git a/packages/paths/src/mut-in.ts b/packages/paths/src/mut-in.ts index a86b796f57..8f03e9a7b9 100644 --- a/packages/paths/src/mut-in.ts +++ b/packages/paths/src/mut-in.ts @@ -48,7 +48,7 @@ import type { * @param path - * @param val - */ -export const mutIn = (state: any, path: Path, val: any) => +export const mutIn = (state: any, path: Readonly, val: any) => mutInT(state, path, val); /** @@ -58,15 +58,15 @@ export const mutIn = (state: any, path: Path, val: any) => * @param path - * @param val - */ -export function mutInT(state: T, path: [], val: T): T; +export function mutInT(state: T, path: readonly [], val: T): T; export function mutInT>( state: T, - path: [A], + path: readonly [A], val: Val1 ): T; export function mutInT, B extends Keys1>( state: T, - path: [A, B], + path: readonly [A, B], val: Val2 ): T; export function mutInT< @@ -74,14 +74,14 @@ export function mutInT< A extends Keys, B extends Keys1, C extends Keys2 ->(state: T, path: [A, B, C], val: Val3): T; +>(state: T, path: readonly [A, B, C], val: Val3): T; export function mutInT< T, A extends Keys, B extends Keys1, C extends Keys2, D extends Keys3 ->(state: T, path: [A, B, C, D], val: Val4): T; +>(state: T, path: readonly [A, B, C, D], val: Val4): T; export function mutInT< T, A extends Keys, @@ -89,7 +89,7 @@ export function mutInT< C extends Keys2, D extends Keys3, E extends Keys4 ->(state: T, path: [A, B, C, D, E], val: Val5): T; +>(state: T, path: readonly [A, B, C, D, E], val: Val5): T; export function mutInT< T, A extends Keys, @@ -98,7 +98,7 @@ export function mutInT< D extends Keys3, E extends Keys4, F extends Keys5 ->(state: T, path: [A, B, C, D, E, F], val: Val6): T; +>(state: T, path: readonly [A, B, C, D, E, F], val: Val6): T; export function mutInT< T, A extends Keys, @@ -109,7 +109,7 @@ export function mutInT< F extends Keys5, G extends Keys6, V ->(state: T, path: [A, B, C, D, E, F, G], val: Val7): T; +>(state: T, path: readonly [A, B, C, D, E, F, G], val: Val7): T; export function mutInT< T, A extends Keys, @@ -122,7 +122,7 @@ export function mutInT< H extends Keys7 >( state: T, - path: [A, B, C, D, E, F, G, H], + path: readonly [A, B, C, D, E, F, G, H], val: Val8 ): T; export function mutInT< @@ -135,7 +135,7 @@ export function mutInT< F extends Keys5, G extends Keys6, H extends Keys7 ->(state: T, path: [A, B, C, D, E, F, G, H, ...PropertyKey[]], val: any): any; -export function mutInT(state: any, path: Path, val: any): any { +>(state: T, path: readonly [A, B, C, D, E, F, G, H, ...PropertyKey[]], val: any): any; +export function mutInT(state: any, path: Readonly, val: any): any { return mutatorT(path)(state, val); } diff --git a/packages/paths/src/mutator.ts b/packages/paths/src/mutator.ts index 1bde90ae48..455cf3bde0 100644 --- a/packages/paths/src/mutator.ts +++ b/packages/paths/src/mutator.ts @@ -34,33 +34,33 @@ import type { * * @param path - */ -export const mutator = (path: Path): Fn2 => mutatorT(path); +export const mutator = (path: Readonly): Fn2 => mutatorT(path); /** * Type checked version of {@link mutator}. * * @param path - */ -export function mutatorT(path: []): Fn2; +export function mutatorT(path: readonly []): Fn2; export function mutatorT>( - path: [A] + path: readonly [A] ): Fn2, T>; export function mutatorT, B extends Keys1>( - path: [A, B] + path: readonly [A, B] ): Fn2, T>; export function mutatorT< T, A extends Keys, B extends Keys1, C extends Keys2 ->(path: [A, B, C]): Fn2, T>; +>(path: readonly [A, B, C]): Fn2, T>; export function mutatorT< T, A extends Keys, B extends Keys1, C extends Keys2, D extends Keys3 ->(path: [A, B, C, D]): Fn2, T>; +>(path: readonly [A, B, C, D]): Fn2, T>; export function mutatorT< T, A extends Keys, @@ -68,7 +68,7 @@ export function mutatorT< C extends Keys2, D extends Keys3, E extends Keys4 ->(path: [A, B, C, D, E]): Fn2, T>; +>(path: readonly [A, B, C, D, E]): Fn2, T>; export function mutatorT< T, A extends Keys, @@ -77,7 +77,7 @@ export function mutatorT< D extends Keys3, E extends Keys4, F extends Keys5 ->(path: [A, B, C, D, E, F]): Fn2, T>; +>(path: readonly [A, B, C, D, E, F]): Fn2, T>; export function mutatorT< T, A extends Keys, @@ -87,7 +87,7 @@ export function mutatorT< E extends Keys4, F extends Keys5, G extends Keys6 ->(path: [A, B, C, D, E, F, G]): Fn2, T>; +>(path: readonly [A, B, C, D, E, F, G]): Fn2, T>; export function mutatorT< T, A extends Keys, @@ -98,7 +98,7 @@ export function mutatorT< F extends Keys5, G extends Keys6, H extends Keys7 ->(path: [A, B, C, D, E, F, G, H]): Fn2, T>; +>(path: readonly [A, B, C, D, E, F, G, H]): Fn2, T>; export function mutatorT< T, A extends Keys, @@ -109,8 +109,8 @@ export function mutatorT< F extends Keys5, G extends Keys6, H extends Keys7 ->(path: [A, B, C, D, E, F, G, H, ...PropertyKey[]]): Fn2; -export function mutatorT(path: Path): any { +>(path: readonly [A, B, C, D, E, F, G, H, ...PropertyKey[]]): Fn2; +export function mutatorT(path: Readonly): any { const ks = toPath(path); let [a, b, c, d] = ks; switch (ks.length) { diff --git a/packages/paths/src/path.ts b/packages/paths/src/path.ts index 94f4602876..4e5f7418aa 100644 --- a/packages/paths/src/path.ts +++ b/packages/paths/src/path.ts @@ -17,7 +17,7 @@ import type { Path } from "@thi.ng/api"; * * @param path - */ -export const toPath = (path: Path) => +export const toPath = (path: Readonly) => isArray(path) ? path : isString(path) @@ -37,7 +37,7 @@ export const toPath = (path: Path) => * @param obj - * @param path - */ -export const exists = (obj: any, path: Path) => { +export const exists = (obj: any, path: Readonly) => { if (obj == null) { return false; } diff --git a/packages/paths/src/set-in.ts b/packages/paths/src/set-in.ts index dc5f9d5656..7da70caea0 100644 --- a/packages/paths/src/set-in.ts +++ b/packages/paths/src/set-in.ts @@ -36,7 +36,7 @@ import type { * @param state - * @param path - */ -export const setIn = (state: any, path: Path, val: any): any => +export const setIn = (state: any, path: Readonly, val: any): any => setterT(path)(state, val); /** @@ -46,15 +46,15 @@ export const setIn = (state: any, path: Path, val: any): any => * @param path - * @param val - */ -export function setInT(state: T, path: [], val: T): T; +export function setInT(state: T, path: readonly [], val: T): T; export function setInT>( state: T, - path: [A], + path: readonly [A], val: Val1 ): T; export function setInT, B extends Keys1>( state: T, - path: [A, B], + path: readonly [A, B], val: Val2 ): T; export function setInT< @@ -62,14 +62,14 @@ export function setInT< A extends Keys, B extends Keys1, C extends Keys2 ->(state: T, path: [A, B, C], val: Val3): T; +>(state: T, path: readonly [A, B, C], val: Val3): T; export function setInT< T, A extends Keys, B extends Keys1, C extends Keys2, D extends Keys3 ->(state: T, path: [A, B, C, D], val: Val4): T; +>(state: T, path: readonly [A, B, C, D], val: Val4): T; export function setInT< T, A extends Keys, @@ -77,7 +77,7 @@ export function setInT< C extends Keys2, D extends Keys3, E extends Keys4 ->(state: T, path: [A, B, C, D, E], val: Val5): T; +>(state: T, path: readonly [A, B, C, D, E], val: Val5): T; export function setInT< T, A extends Keys, @@ -86,7 +86,7 @@ export function setInT< D extends Keys3, E extends Keys4, F extends Keys5 ->(state: T, path: [A, B, C, D, E, F], val: Val6): T; +>(state: T, path: readonly [A, B, C, D, E, F], val: Val6): T; export function setInT< T, A extends Keys, @@ -96,7 +96,7 @@ export function setInT< E extends Keys4, F extends Keys5, G extends Keys6 ->(state: T, path: [A, B, C, D, E, F, G], val: Val7): T; +>(state: T, path: readonly [A, B, C, D, E, F, G], val: Val7): T; export function setInT< T, A extends Keys, @@ -109,7 +109,7 @@ export function setInT< H extends Keys7 >( state: T, - path: [A, B, C, D, E, F, G, H], + path: readonly [A, B, C, D, E, F, G, H], val: Val8 ): T; export function setInT< @@ -122,7 +122,7 @@ export function setInT< F extends Keys5, G extends Keys6, H extends Keys7 ->(state: T, path: [A, B, C, D, E, F, G, H, ...PropertyKey[]], val: any): any; -export function setInT(state: any, path: Path, val: any): any { +>(state: T, path: readonly [A, B, C, D, E, F, G, H, ...PropertyKey[]], val: any): any; +export function setInT(state: any, path: Readonly, val: any): any { return setterT(path)(state, val); } diff --git a/packages/paths/src/setter.ts b/packages/paths/src/setter.ts index 726eee345d..41133718d5 100644 --- a/packages/paths/src/setter.ts +++ b/packages/paths/src/setter.ts @@ -78,31 +78,33 @@ import type { * * @param path - */ -export const setter = (path: Path): Fn2 => setterT(path); +export const setter = (path: Readonly): Fn2 => setterT(path); /** * Type checked version of {@link setter}. * * @param path - */ -export function setterT(path: []): Fn2; -export function setterT>(path: [A]): Fn2, T>; +export function setterT(path: readonly []): Fn2; +export function setterT>( + path: readonly [A] +): Fn2, T>; export function setterT, B extends Keys1>( - path: [A, B] + path: readonly [A, B] ): Fn2, T>; export function setterT< T, A extends Keys, B extends Keys1, C extends Keys2 ->(path: [A, B, C]): Fn2, T>; +>(path: readonly [A, B, C]): Fn2, T>; export function setterT< T, A extends Keys, B extends Keys1, C extends Keys2, D extends Keys3 ->(path: [A, B, C, D]): Fn2, T>; +>(path: readonly [A, B, C, D]): Fn2, T>; export function setterT< T, A extends Keys, @@ -110,7 +112,7 @@ export function setterT< C extends Keys2, D extends Keys3, E extends Keys4 ->(path: [A, B, C, D, E]): Fn2, T>; +>(path: readonly [A, B, C, D, E]): Fn2, T>; export function setterT< T, A extends Keys, @@ -119,7 +121,7 @@ export function setterT< D extends Keys3, E extends Keys4, F extends Keys5 ->(path: [A, B, C, D, E, F]): Fn2, T>; +>(path: readonly [A, B, C, D, E, F]): Fn2, T>; export function setterT< T, A extends Keys, @@ -129,7 +131,9 @@ export function setterT< E extends Keys4, F extends Keys5, G extends Keys6 ->(path: [A, B, C, D, E, F, G]): Fn2, T>; +>( + path: readonly [A, B, C, D, E, F, G] +): Fn2, T>; export function setterT< T, A extends Keys, @@ -140,7 +144,9 @@ export function setterT< F extends Keys5, G extends Keys6, H extends Keys7 ->(path: [A, B, C, D, E, F, G, H]): Fn2, T>; +>( + path: readonly [A, B, C, D, E, F, G, H] +): Fn2, T>; export function setterT< T, A extends Keys, @@ -151,8 +157,8 @@ export function setterT< F extends Keys5, G extends Keys6, H extends Keys7 ->(path: [A, B, C, D, E, F, G, H, ...PropertyKey[]]): Fn2; -export function setterT(path: Path): Fn2 { +>(path: readonly [A, B, C, D, E, F, G, H, ...PropertyKey[]]): Fn2; +export function setterT(path: Readonly): Fn2 { const ks = toPath(path); let [a, b, c, d] = ks; switch (ks.length) { diff --git a/packages/paths/src/update-in.ts b/packages/paths/src/update-in.ts index e5fb66b550..25ebdcf7e1 100644 --- a/packages/paths/src/update-in.ts +++ b/packages/paths/src/update-in.ts @@ -40,7 +40,7 @@ import type { UpdateFn } from "./api"; */ export const updateIn = ( state: any, - path: Path, + path: Readonly, fn: UpdateFn, ...args: any[] ) => updateInT(state, path, fn, ...args); @@ -52,16 +52,16 @@ export const updateIn = ( * @param path - * @param fn - */ -export function updateInT(state: T, path: [], fn: UpdateFn): T; +export function updateInT(state: T, path: readonly [], fn: UpdateFn): T; export function updateInT>( state: T, - path: [A], + path: readonly [A], fn: UpdateFn>, ...args: any[] ): T; export function updateInT, B extends Keys1>( state: T, - path: [A, B], + path: readonly [A, B], fn: UpdateFn>, ...args: any[] ): T; @@ -70,7 +70,7 @@ export function updateInT< A extends Keys, B extends Keys1, C extends Keys2 ->(state: T, path: [A, B, C], fn: UpdateFn>, ...args: any[]): T; +>(state: T, path: readonly [A, B, C], fn: UpdateFn>, ...args: any[]): T; export function updateInT< T, A extends Keys, @@ -79,7 +79,7 @@ export function updateInT< D extends Keys3 >( state: T, - path: [A, B, C, D], + path: readonly [A, B, C, D], fn: UpdateFn>, ...args: any[] ): T; @@ -92,7 +92,7 @@ export function updateInT< E extends Keys4 >( state: T, - path: [A, B, C, D, E], + path: readonly [A, B, C, D, E], fn: UpdateFn>, ...args: any[] ): T; @@ -106,7 +106,7 @@ export function updateInT< F extends Keys5 >( state: T, - path: [A, B, C, D, E, F], + path: readonly [A, B, C, D, E, F], fn: UpdateFn>, ...args: any[] ): T; @@ -121,7 +121,7 @@ export function updateInT< G extends Keys6 >( state: T, - path: [A, B, C, D, E, F, G], + path: readonly [A, B, C, D, E, F, G], fn: UpdateFn>, ...args: any[] ): T; @@ -137,7 +137,7 @@ export function updateInT< H extends Keys7 >( state: T, - path: [A, B, C, D, E, F, G, H], + path: readonly [A, B, C, D, E, F, G, H], fn: UpdateFn>, ...args: any[] ): T; @@ -153,13 +153,13 @@ export function updateInT< H extends Keys7 >( state: T, - path: [A, B, C, D, E, F, G, H, ...PropertyKey[]], + path: readonly [A, B, C, D, E, F, G, H, ...PropertyKey[]], fn: UpdateFn, ...args: any[] ): T; export function updateInT( state: any, - path: Path, + path: Readonly, fn: UpdateFn, ...args: any[] ) { diff --git a/packages/paths/src/updater.ts b/packages/paths/src/updater.ts index 894a8733ce..629437bee1 100644 --- a/packages/paths/src/updater.ts +++ b/packages/paths/src/updater.ts @@ -42,7 +42,7 @@ import type { UpdateFn } from "./api"; * @param path - * @param fn - */ -export const updater = (path: Path, fn: UpdateFn) => +export const updater = (path: Readonly, fn: UpdateFn) => updaterT(path, fn); /** @@ -51,13 +51,13 @@ export const updater = (path: Path, fn: UpdateFn) => * @param path - * @param fn - */ -export function updaterT(path: [], fn: UpdateFn): FnO; +export function updaterT(path: readonly [], fn: UpdateFn): FnO; export function updaterT>( - path: [A], + path: readonly [A], fn: UpdateFn> ): FnO; export function updaterT, B extends Keys1>( - path: [A, B], + path: readonly [A, B], fn: UpdateFn> ): FnO; export function updaterT< @@ -65,14 +65,14 @@ export function updaterT< A extends Keys, B extends Keys1, C extends Keys2 ->(path: [A, B, C], fn: UpdateFn>): FnO; +>(path: readonly [A, B, C], fn: UpdateFn>): FnO; export function updaterT< T, A extends Keys, B extends Keys1, C extends Keys2, D extends Keys3 ->(path: [A, B, C, D], fn: UpdateFn>): FnO; +>(path: readonly [A, B, C, D], fn: UpdateFn>): FnO; export function updaterT< T, A extends Keys, @@ -80,7 +80,7 @@ export function updaterT< C extends Keys2, D extends Keys3, E extends Keys4 ->(path: [A, B, C, D, E], fn: UpdateFn>): FnO; +>(path: readonly [A, B, C, D, E], fn: UpdateFn>): FnO; export function updaterT< T, A extends Keys, @@ -89,7 +89,7 @@ export function updaterT< D extends Keys3, E extends Keys4, F extends Keys5 ->(path: [A, B, C, D, E, F], fn: UpdateFn>): FnO; +>(path: readonly [A, B, C, D, E, F], fn: UpdateFn>): FnO; export function updaterT< T, A extends Keys, @@ -100,7 +100,7 @@ export function updaterT< F extends Keys5, G extends Keys6 >( - path: [A, B, C, D, E, F, G], + path: readonly [A, B, C, D, E, F, G], fn: UpdateFn> ): FnO; export function updaterT< @@ -114,7 +114,7 @@ export function updaterT< G extends Keys6, H extends Keys7 >( - path: [A, B, C, D, E, F, G, H], + path: readonly [A, B, C, D, E, F, G, H], fn: UpdateFn> ): FnO; export function updaterT< @@ -128,10 +128,10 @@ export function updaterT< G extends Keys6, H extends Keys7 >( - path: [A, B, C, D, E, F, G, H, ...PropertyKey[]], + path: readonly [A, B, C, D, E, F, G, H, ...PropertyKey[]], fn: UpdateFn ): FnO; -export function updaterT(path: Path, fn: UpdateFn): FnO { +export function updaterT(path: Readonly, fn: UpdateFn): FnO { const g = getterT(path); const s = setterT(path); return (state: any, ...args: any[]) => From f114e10a5d8736d9cfd70b32dd5cbbaa503eeadb Mon Sep 17 00:00:00 2001 From: Karsten Schmidt Date: Sat, 21 Mar 2020 02:25:46 +0000 Subject: [PATCH 12/70] feat(atom): add typechecking for resetIn(), swapIn() impls BREAKING CHANGE: add typechecking for resetIn(), swapIn() impls The more stricter method signatures **could** lead to breaking changes in more lax existing code bases --- packages/atom/src/api.ts | 192 +++++++++++++++++++++++++++++++- packages/atom/src/atom.ts | 180 ++++++++++++++++++++++++++++-- packages/atom/src/cursor.ts | 178 ++++++++++++++++++++++++++++- packages/atom/src/history.ts | 178 ++++++++++++++++++++++++++++- packages/atom/src/transacted.ts | 179 ++++++++++++++++++++++++++++- packages/atom/src/view.ts | 2 +- 6 files changed, 887 insertions(+), 22 deletions(-) diff --git a/packages/atom/src/api.ts b/packages/atom/src/api.ts index 1695fa47ac..8dbf91fe16 100644 --- a/packages/atom/src/api.ts +++ b/packages/atom/src/api.ts @@ -5,8 +5,24 @@ import type { INotify, IRelease, IWatch, + Keys, + Keys1, + Keys2, + Keys3, + Keys4, + Keys5, + Keys6, + Keys7, Path, - Predicate + Predicate, + Val1, + Val2, + Val3, + Val4, + Val5, + Val6, + Val7, + Val8 } from "@thi.ng/api"; export type SwapFn = (curr: T, ...args: any[]) => T; @@ -23,12 +39,180 @@ export interface IAtom extends ReadonlyAtom, IReset, ISwap {} export interface IReset { reset(val: T): T; - resetIn(path: Path, val: V): T; + + resetIn>(path: readonly [A], val: Val1): T; + resetIn, B extends Keys1>( + path: readonly [A, B], + val: Val2 + ): T; + resetIn, B extends Keys1, C extends Keys2>( + path: readonly [A, B, C], + val: Val3 + ): T; + resetIn< + A extends Keys, + B extends Keys1, + C extends Keys2, + D extends Keys3 + >( + path: readonly [A, B, C, D], + val: Val4 + ): T; + resetIn< + A extends Keys, + B extends Keys1, + C extends Keys2, + D extends Keys3, + E extends Keys4 + >( + path: readonly [A, B, C, D, E], + val: Val5 + ): T; + resetIn< + A extends Keys, + B extends Keys1, + C extends Keys2, + D extends Keys3, + E extends Keys4, + F extends Keys5 + >( + path: readonly [A, B, C, D, E, F], + val: Val6 + ): T; + resetIn< + A extends Keys, + B extends Keys1, + C extends Keys2, + D extends Keys3, + E extends Keys4, + F extends Keys5, + G extends Keys6 + >( + path: readonly [A, B, C, D, E, F, G], + val: Val7 + ): T; + resetIn< + A extends Keys, + B extends Keys1, + C extends Keys2, + D extends Keys3, + E extends Keys4, + F extends Keys5, + G extends Keys6, + H extends Keys7 + >( + path: readonly [A, B, C, D, E, F, G, H], + val: Val8 + ): T; + resetIn< + A extends Keys, + B extends Keys1, + C extends Keys2, + D extends Keys3, + E extends Keys4, + F extends Keys5, + G extends Keys6, + H extends Keys7 + >( + path: readonly [A, B, C, D, E, F, G, H, ...PropertyKey[]], + val: any + ): T; + // resetIn(path: Readonly, val: any): T; } export interface ISwap { swap(fn: SwapFn, ...args: any[]): T; - swapIn(path: Path, fn: SwapFn, ...args: any[]): T; + + swapIn>( + path: readonly [A], + fn: SwapFn>, + ...args: any[] + ): T; + swapIn, B extends Keys1>( + path: readonly [A, B], + fn: SwapFn>, + ...args: any[] + ): T; + swapIn, B extends Keys1, C extends Keys2>( + path: readonly [A, B, C], + fn: SwapFn>, + ...args: any[] + ): T; + swapIn< + A extends Keys, + B extends Keys1, + C extends Keys2, + D extends Keys3 + >( + path: readonly [A, B, C, D], + fn: SwapFn>, + ...args: any[] + ): T; + swapIn< + A extends Keys, + B extends Keys1, + C extends Keys2, + D extends Keys3, + E extends Keys4 + >( + path: readonly [A, B, C, D, E], + fn: SwapFn>, + ...args: any[] + ): T; + swapIn< + A extends Keys, + B extends Keys1, + C extends Keys2, + D extends Keys3, + E extends Keys4, + F extends Keys5 + >( + path: readonly [A, B, C, D, E, F], + fn: SwapFn>, + ...args: any[] + ): T; + swapIn< + A extends Keys, + B extends Keys1, + C extends Keys2, + D extends Keys3, + E extends Keys4, + F extends Keys5, + G extends Keys6 + >( + path: readonly [A, B, C, D, E, F, G], + fn: SwapFn>, + ...args: any[] + ): T; + swapIn< + A extends Keys, + B extends Keys1, + C extends Keys2, + D extends Keys3, + E extends Keys4, + F extends Keys5, + G extends Keys6, + H extends Keys7 + >( + path: readonly [A, B, C, D, E, F, G, H], + fn: SwapFn>, + ...args: any[] + ): T; + swapIn< + A extends Keys, + B extends Keys1, + C extends Keys2, + D extends Keys3, + E extends Keys4, + F extends Keys5, + G extends Keys6, + H extends Keys7 + >( + path: readonly [A, B, C, D, E, F, G, H, ...PropertyKey[]], + fn: SwapFn, + ...args: any[] + ): T; + // swapIn(path: Readonly, fn: SwapFn, ...args: any[]): T; } export interface IView extends IDeref, IID, IRelease { @@ -40,7 +224,7 @@ export interface IView extends IDeref, IID, IRelease { } export interface IViewable { - addView(path: Path, tx?: ViewTransform, lazy?: boolean): IView; + addView(path: Path, tx?: ViewTransform, lazy?: boolean): IView; } export interface CursorOpts { diff --git a/packages/atom/src/atom.ts b/packages/atom/src/atom.ts index d965c36270..097ac4bc73 100644 --- a/packages/atom/src/atom.ts +++ b/packages/atom/src/atom.ts @@ -4,8 +4,24 @@ import { setIn, updateIn } from "@thi.ng/paths"; import { View } from "./view"; import type { IEquiv, + Keys, + Keys1, + Keys2, + Keys3, + Keys4, + Keys5, + Keys6, + Keys7, Path, Predicate, + Val1, + Val2, + Val3, + Val4, + Val5, + Val6, + Val7, + Val8, Watch } from "@thi.ng/api"; import type { @@ -59,28 +75,178 @@ export class Atom implements IAtom, IEquiv { return val; } - resetIn(path: Path, val: V) { - return this.reset(setIn(this._value, path, val)); + resetIn>(path: readonly [A], val: Val1): T; + resetIn, B extends Keys1>( + path: readonly [A, B], + val: Val2 + ): T; + resetIn, B extends Keys1, C extends Keys2>( + path: readonly [A, B, C], + val: Val3 + ): T; + resetIn< + A extends Keys, + B extends Keys1, + C extends Keys2, + D extends Keys3 + >(path: readonly [A, B, C, D], val: Val4): T; + resetIn< + A extends Keys, + B extends Keys1, + C extends Keys2, + D extends Keys3, + E extends Keys4 + >(path: readonly [A, B, C, D, E], val: Val5): T; + resetIn< + A extends Keys, + B extends Keys1, + C extends Keys2, + D extends Keys3, + E extends Keys4, + F extends Keys5 + >(path: readonly [A, B, C, D, E, F], val: Val6): T; + resetIn< + A extends Keys, + B extends Keys1, + C extends Keys2, + D extends Keys3, + E extends Keys4, + F extends Keys5, + G extends Keys6 + >( + path: readonly [A, B, C, D, E, F, G], + val: Val7 + ): T; + resetIn< + A extends Keys, + B extends Keys1, + C extends Keys2, + D extends Keys3, + E extends Keys4, + F extends Keys5, + G extends Keys6, + H extends Keys7 + >( + path: readonly [A, B, C, D, E, F, G, H], + val: Val8 + ): T; + resetIn< + A extends Keys, + B extends Keys1, + C extends Keys2, + D extends Keys3, + E extends Keys4, + F extends Keys5, + G extends Keys6, + H extends Keys7 + >(path: readonly [A, B, C, D, E, F, G, H, ...PropertyKey[]], val: any): T; + resetIn(path: Readonly, val: any) { + return this.reset(setIn(this._value, path, val)); } swap(fn: SwapFn, ...args: any[]) { return this.reset(fn.apply(null, [this._value, ...args])); } - swapIn(path: Path, fn: SwapFn, ...args: any[]) { + swapIn>( + path: readonly [A], + fn: SwapFn>, + ...args: any[] + ): T; + swapIn, B extends Keys1>( + path: readonly [A, B], + fn: SwapFn>, + ...args: any[] + ): T; + swapIn, B extends Keys1, C extends Keys2>( + path: readonly [A, B, C], + fn: SwapFn>, + ...args: any[] + ): T; + swapIn< + A extends Keys, + B extends Keys1, + C extends Keys2, + D extends Keys3 + >( + path: readonly [A, B, C, D], + fn: SwapFn>, + ...args: any[] + ): T; + swapIn< + A extends Keys, + B extends Keys1, + C extends Keys2, + D extends Keys3, + E extends Keys4 + >( + path: readonly [A, B, C, D, E], + fn: SwapFn>, + ...args: any[] + ): T; + swapIn< + A extends Keys, + B extends Keys1, + C extends Keys2, + D extends Keys3, + E extends Keys4, + F extends Keys5 + >( + path: readonly [A, B, C, D, E, F], + fn: SwapFn>, + ...args: any[] + ): T; + swapIn< + A extends Keys, + B extends Keys1, + C extends Keys2, + D extends Keys3, + E extends Keys4, + F extends Keys5, + G extends Keys6 + >( + path: readonly [A, B, C, D, E, F, G], + fn: SwapFn>, + ...args: any[] + ): T; + swapIn< + A extends Keys, + B extends Keys1, + C extends Keys2, + D extends Keys3, + E extends Keys4, + F extends Keys5, + G extends Keys6, + H extends Keys7 + >( + path: readonly [A, B, C, D, E, F, G, H], + fn: SwapFn>, + ...args: any[] + ): T; + swapIn< + A extends Keys, + B extends Keys1, + C extends Keys2, + D extends Keys3, + E extends Keys4, + F extends Keys5, + G extends Keys6, + H extends Keys7 + >( + path: readonly [A, B, C, D, E, F, G, H, ...PropertyKey[]], + fn: SwapFn, + ...args: any[] + ): T; + swapIn(path: Readonly, fn: SwapFn, ...args: any[]) { return this.reset(updateIn(this._value, path, fn, ...args)); } - /* istanbul ignore next */ // @ts-ignore: mixin addWatch(id: string, fn: Watch): boolean {} - /* istanbul ignore next */ // @ts-ignore: mixin removeWatch(id: string): boolean {} - // mixin stub - /* istanbul ignore next */ // @ts-ignore: mixin notifyWatches(old: T, prev: T) {} diff --git a/packages/atom/src/cursor.ts b/packages/atom/src/cursor.ts index bb8709fe05..eedbdc48c6 100644 --- a/packages/atom/src/cursor.ts +++ b/packages/atom/src/cursor.ts @@ -9,8 +9,24 @@ import type { Fn2, IID, IRelease, + Keys, + Keys1, + Keys2, + Keys3, + Keys4, + Keys5, + Keys6, + Keys7, Path, Predicate, + Val1, + Val2, + Val3, + Val4, + Val5, + Val6, + Val7, + Val8, Watch } from "@thi.ng/api"; import type { @@ -147,16 +163,170 @@ export class Cursor implements IAtom, IID, IRelease { return this.local.reset(val); } - resetIn(path: Path, val: V) { - return this.local.resetIn(path, val); + resetIn>(path: readonly [A], val: Val1): T; + resetIn, B extends Keys1>( + path: readonly [A, B], + val: Val2 + ): T; + resetIn, B extends Keys1, C extends Keys2>( + path: readonly [A, B, C], + val: Val3 + ): T; + resetIn< + A extends Keys, + B extends Keys1, + C extends Keys2, + D extends Keys3 + >(path: readonly [A, B, C, D], val: Val4): T; + resetIn< + A extends Keys, + B extends Keys1, + C extends Keys2, + D extends Keys3, + E extends Keys4 + >(path: readonly [A, B, C, D, E], val: Val5): T; + resetIn< + A extends Keys, + B extends Keys1, + C extends Keys2, + D extends Keys3, + E extends Keys4, + F extends Keys5 + >(path: readonly [A, B, C, D, E, F], val: Val6): T; + resetIn< + A extends Keys, + B extends Keys1, + C extends Keys2, + D extends Keys3, + E extends Keys4, + F extends Keys5, + G extends Keys6 + >( + path: readonly [A, B, C, D, E, F, G], + val: Val7 + ): T; + resetIn< + A extends Keys, + B extends Keys1, + C extends Keys2, + D extends Keys3, + E extends Keys4, + F extends Keys5, + G extends Keys6, + H extends Keys7 + >( + path: readonly [A, B, C, D, E, F, G, H], + val: Val8 + ): T; + resetIn< + A extends Keys, + B extends Keys1, + C extends Keys2, + D extends Keys3, + E extends Keys4, + F extends Keys5, + G extends Keys6, + H extends Keys7 + >(path: readonly [A, B, C, D, E, F, G, H, ...PropertyKey[]], val: any): T; + resetIn(path: Readonly, val: any) { + return this.local.resetIn(path, val); } swap(fn: SwapFn, ...args: any[]): T { return this.local.swap(fn, ...args); } - swapIn(path: Path, fn: SwapFn, ...args: any[]) { - return this.local.swapIn(path, fn, ...args); + swapIn>( + path: readonly [A], + fn: SwapFn>, + ...args: any[] + ): T; + swapIn, B extends Keys1>( + path: readonly [A, B], + fn: SwapFn>, + ...args: any[] + ): T; + swapIn, B extends Keys1, C extends Keys2>( + path: readonly [A, B, C], + fn: SwapFn>, + ...args: any[] + ): T; + swapIn< + A extends Keys, + B extends Keys1, + C extends Keys2, + D extends Keys3 + >( + path: readonly [A, B, C, D], + fn: SwapFn>, + ...args: any[] + ): T; + swapIn< + A extends Keys, + B extends Keys1, + C extends Keys2, + D extends Keys3, + E extends Keys4 + >( + path: readonly [A, B, C, D, E], + fn: SwapFn>, + ...args: any[] + ): T; + swapIn< + A extends Keys, + B extends Keys1, + C extends Keys2, + D extends Keys3, + E extends Keys4, + F extends Keys5 + >( + path: readonly [A, B, C, D, E, F], + fn: SwapFn>, + ...args: any[] + ): T; + swapIn< + A extends Keys, + B extends Keys1, + C extends Keys2, + D extends Keys3, + E extends Keys4, + F extends Keys5, + G extends Keys6 + >( + path: readonly [A, B, C, D, E, F, G], + fn: SwapFn>, + ...args: any[] + ): T; + swapIn< + A extends Keys, + B extends Keys1, + C extends Keys2, + D extends Keys3, + E extends Keys4, + F extends Keys5, + G extends Keys6, + H extends Keys7 + >( + path: readonly [A, B, C, D, E, F, G, H], + fn: SwapFn>, + ...args: any[] + ): T; + swapIn< + A extends Keys, + B extends Keys1, + C extends Keys2, + D extends Keys3, + E extends Keys4, + F extends Keys5, + G extends Keys6, + H extends Keys7 + >( + path: readonly [A, B, C, D, E, F, G, H, ...PropertyKey[]], + fn: SwapFn, + ...args: any[] + ): T; + swapIn(path: Readonly, fn: SwapFn, ...args: any[]) { + return this.local.swapIn(path, fn, ...args); } addWatch(id: string, fn: Watch) { diff --git a/packages/atom/src/history.ts b/packages/atom/src/history.ts index 85304a5c0c..23ddd932e4 100644 --- a/packages/atom/src/history.ts +++ b/packages/atom/src/history.ts @@ -1,4 +1,22 @@ -import { INotifyMixin } from "@thi.ng/api"; +import { + INotifyMixin, + Keys, + Keys1, + Keys2, + Keys3, + Keys4, + Keys5, + Keys6, + Keys7, + Val1, + Val2, + Val3, + Val4, + Val5, + Val6, + Val7, + Val8 +} from "@thi.ng/api"; import { equiv } from "@thi.ng/equiv"; import { getIn, setIn, updateIn } from "@thi.ng/paths"; import { View } from "./view"; @@ -147,7 +165,72 @@ export class History implements IHistory { return val; } - resetIn(path: Path, val: V): T { + resetIn>(path: readonly [A], val: Val1): T; + resetIn, B extends Keys1>( + path: readonly [A, B], + val: Val2 + ): T; + resetIn, B extends Keys1, C extends Keys2>( + path: readonly [A, B, C], + val: Val3 + ): T; + resetIn< + A extends Keys, + B extends Keys1, + C extends Keys2, + D extends Keys3 + >(path: readonly [A, B, C, D], val: Val4): T; + resetIn< + A extends Keys, + B extends Keys1, + C extends Keys2, + D extends Keys3, + E extends Keys4 + >(path: readonly [A, B, C, D, E], val: Val5): T; + resetIn< + A extends Keys, + B extends Keys1, + C extends Keys2, + D extends Keys3, + E extends Keys4, + F extends Keys5 + >(path: readonly [A, B, C, D, E, F], val: Val6): T; + resetIn< + A extends Keys, + B extends Keys1, + C extends Keys2, + D extends Keys3, + E extends Keys4, + F extends Keys5, + G extends Keys6 + >( + path: readonly [A, B, C, D, E, F, G], + val: Val7 + ): T; + resetIn< + A extends Keys, + B extends Keys1, + C extends Keys2, + D extends Keys3, + E extends Keys4, + F extends Keys5, + G extends Keys6, + H extends Keys7 + >( + path: readonly [A, B, C, D, E, F, G, H], + val: Val8 + ): T; + resetIn< + A extends Keys, + B extends Keys1, + C extends Keys2, + D extends Keys3, + E extends Keys4, + F extends Keys5, + G extends Keys6, + H extends Keys7 + >(path: readonly [A, B, C, D, E, F, G, H, ...PropertyKey[]], val: any): T; + resetIn(path: Readonly, val: any) { const prev = this.state.deref(); const prevV = getIn(prev, path); const curr = setIn(prev, path, val); @@ -168,7 +251,96 @@ export class History implements IHistory { return this.reset(fn(this.state.deref(), ...args)); } - swapIn(path: Path, fn: SwapFn, ...args: any[]) { + swapIn>( + path: readonly [A], + fn: SwapFn>, + ...args: any[] + ): T; + swapIn, B extends Keys1>( + path: readonly [A, B], + fn: SwapFn>, + ...args: any[] + ): T; + swapIn, B extends Keys1, C extends Keys2>( + path: readonly [A, B, C], + fn: SwapFn>, + ...args: any[] + ): T; + swapIn< + A extends Keys, + B extends Keys1, + C extends Keys2, + D extends Keys3 + >( + path: readonly [A, B, C, D], + fn: SwapFn>, + ...args: any[] + ): T; + swapIn< + A extends Keys, + B extends Keys1, + C extends Keys2, + D extends Keys3, + E extends Keys4 + >( + path: readonly [A, B, C, D, E], + fn: SwapFn>, + ...args: any[] + ): T; + swapIn< + A extends Keys, + B extends Keys1, + C extends Keys2, + D extends Keys3, + E extends Keys4, + F extends Keys5 + >( + path: readonly [A, B, C, D, E, F], + fn: SwapFn>, + ...args: any[] + ): T; + swapIn< + A extends Keys, + B extends Keys1, + C extends Keys2, + D extends Keys3, + E extends Keys4, + F extends Keys5, + G extends Keys6 + >( + path: readonly [A, B, C, D, E, F, G], + fn: SwapFn>, + ...args: any[] + ): T; + swapIn< + A extends Keys, + B extends Keys1, + C extends Keys2, + D extends Keys3, + E extends Keys4, + F extends Keys5, + G extends Keys6, + H extends Keys7 + >( + path: readonly [A, B, C, D, E, F, G, H], + fn: SwapFn>, + ...args: any[] + ): T; + swapIn< + A extends Keys, + B extends Keys1, + C extends Keys2, + D extends Keys3, + E extends Keys4, + F extends Keys5, + G extends Keys6, + H extends Keys7 + >( + path: readonly [A, B, C, D, E, F, G, H, ...PropertyKey[]], + fn: SwapFn, + ...args: any[] + ): T; + swapIn(path: Readonly, fn: SwapFn, ...args: any[]) { const prev = this.state.deref(); const prevV = getIn(prev, path); const curr = updateIn(this.state.deref(), path, fn, ...args); diff --git a/packages/atom/src/transacted.ts b/packages/atom/src/transacted.ts index 6f32013ab3..5e7bb75900 100644 --- a/packages/atom/src/transacted.ts +++ b/packages/atom/src/transacted.ts @@ -2,7 +2,26 @@ import { assert } from "@thi.ng/api"; import { setIn, updateIn } from "@thi.ng/paths"; import { nextID } from "./idgen"; import { View } from "./view"; -import type { Path, Watch } from "@thi.ng/api"; +import type { + Keys, + Keys1, + Keys2, + Keys3, + Keys4, + Keys5, + Keys6, + Keys7, + Path, + Val1, + Val2, + Val3, + Val4, + Val5, + Val6, + Val7, + Val8, + Watch +} from "@thi.ng/api"; import type { IAtom, IView, @@ -50,7 +69,72 @@ export class Transacted implements IAtom { return val; } - resetIn(path: Path, val: V) { + resetIn>(path: readonly [A], val: Val1): T; + resetIn, B extends Keys1>( + path: readonly [A, B], + val: Val2 + ): T; + resetIn, B extends Keys1, C extends Keys2>( + path: readonly [A, B, C], + val: Val3 + ): T; + resetIn< + A extends Keys, + B extends Keys1, + C extends Keys2, + D extends Keys3 + >(path: readonly [A, B, C, D], val: Val4): T; + resetIn< + A extends Keys, + B extends Keys1, + C extends Keys2, + D extends Keys3, + E extends Keys4 + >(path: readonly [A, B, C, D, E], val: Val5): T; + resetIn< + A extends Keys, + B extends Keys1, + C extends Keys2, + D extends Keys3, + E extends Keys4, + F extends Keys5 + >(path: readonly [A, B, C, D, E, F], val: Val6): T; + resetIn< + A extends Keys, + B extends Keys1, + C extends Keys2, + D extends Keys3, + E extends Keys4, + F extends Keys5, + G extends Keys6 + >( + path: readonly [A, B, C, D, E, F, G], + val: Val7 + ): T; + resetIn< + A extends Keys, + B extends Keys1, + C extends Keys2, + D extends Keys3, + E extends Keys4, + F extends Keys5, + G extends Keys6, + H extends Keys7 + >( + path: readonly [A, B, C, D, E, F, G, H], + val: Val8 + ): T; + resetIn< + A extends Keys, + B extends Keys1, + C extends Keys2, + D extends Keys3, + E extends Keys4, + F extends Keys5, + G extends Keys6, + H extends Keys7 + >(path: readonly [A, B, C, D, E, F, G, H, ...PropertyKey[]], val: any): T; + resetIn(path: Readonly, val: any) { this.ensureTx(); return this.reset(setIn(this.current, path, val)); } @@ -60,7 +144,96 @@ export class Transacted implements IAtom { return this.reset(fn.apply(null, [this.current!, ...args])); } - swapIn(path: Path, fn: SwapFn, ...args: any[]) { + swapIn>( + path: readonly [A], + fn: SwapFn>, + ...args: any[] + ): T; + swapIn, B extends Keys1>( + path: readonly [A, B], + fn: SwapFn>, + ...args: any[] + ): T; + swapIn, B extends Keys1, C extends Keys2>( + path: readonly [A, B, C], + fn: SwapFn>, + ...args: any[] + ): T; + swapIn< + A extends Keys, + B extends Keys1, + C extends Keys2, + D extends Keys3 + >( + path: readonly [A, B, C, D], + fn: SwapFn>, + ...args: any[] + ): T; + swapIn< + A extends Keys, + B extends Keys1, + C extends Keys2, + D extends Keys3, + E extends Keys4 + >( + path: readonly [A, B, C, D, E], + fn: SwapFn>, + ...args: any[] + ): T; + swapIn< + A extends Keys, + B extends Keys1, + C extends Keys2, + D extends Keys3, + E extends Keys4, + F extends Keys5 + >( + path: readonly [A, B, C, D, E, F], + fn: SwapFn>, + ...args: any[] + ): T; + swapIn< + A extends Keys, + B extends Keys1, + C extends Keys2, + D extends Keys3, + E extends Keys4, + F extends Keys5, + G extends Keys6 + >( + path: readonly [A, B, C, D, E, F, G], + fn: SwapFn>, + ...args: any[] + ): T; + swapIn< + A extends Keys, + B extends Keys1, + C extends Keys2, + D extends Keys3, + E extends Keys4, + F extends Keys5, + G extends Keys6, + H extends Keys7 + >( + path: readonly [A, B, C, D, E, F, G, H], + fn: SwapFn>, + ...args: any[] + ): T; + swapIn< + A extends Keys, + B extends Keys1, + C extends Keys2, + D extends Keys3, + E extends Keys4, + F extends Keys5, + G extends Keys6, + H extends Keys7 + >( + path: readonly [A, B, C, D, E, F, G, H, ...PropertyKey[]], + fn: SwapFn, + ...args: any[] + ): T; + swapIn(path: Readonly, fn: SwapFn, ...args: any[]) { this.ensureTx(); return this.reset(updateIn(this.current, path, fn, ...args)); } diff --git a/packages/atom/src/view.ts b/packages/atom/src/view.ts index 346278a144..93febfc249 100644 --- a/packages/atom/src/view.ts +++ b/packages/atom/src/view.ts @@ -63,7 +63,7 @@ export class View implements IView { constructor( parent: ReadonlyAtom, - path: Path, + path: Readonly, tx?: ViewTransform, lazy = true, equiv = _equiv From db0198b87455de87e28edba6ad9ae6eaaf27ac4e Mon Sep 17 00:00:00 2001 From: Karsten Schmidt Date: Sat, 21 Mar 2020 03:06:26 +0000 Subject: [PATCH 13/70] build: update generate-readme script (TS) --- scripts/generate-readme-ex.ts | 1 - .../{generate-readme => generate-readme.ts} | 128 ++++++++++-------- 2 files changed, 69 insertions(+), 60 deletions(-) rename scripts/{generate-readme => generate-readme.ts} (70%) diff --git a/scripts/generate-readme-ex.ts b/scripts/generate-readme-ex.ts index 1b61892379..530a470857 100644 --- a/scripts/generate-readme-ex.ts +++ b/scripts/generate-readme-ex.ts @@ -1,4 +1,3 @@ -import { selectKeysObj } from "@thi.ng/associative"; import { repeat, Z3 } from "@thi.ng/strings"; import { Border, tableCanvas, toString } from "@thi.ng/text-canvas"; import { diff --git a/scripts/generate-readme b/scripts/generate-readme.ts similarity index 70% rename from scripts/generate-readme rename to scripts/generate-readme.ts index 02915ad82b..97b3f9f5fb 100755 --- a/scripts/generate-readme +++ b/scripts/generate-readme.ts @@ -1,72 +1,85 @@ -#!/usr/bin/env node -const fs = require("fs"); +import { Fn0, IObjectOf, Nullable } from "@thi.ng/api"; +import { readdirSync, readFileSync, writeFileSync } from "fs"; + +interface Package { + name: string; + description: string; + dependencies: IObjectOf; + "thi.ng": any; +} + +interface BlogPost { + title: string; + url: string; +} + +const META_FIELD = "thi.ng"; +const REPO_ID = "thi-ng/umbrella"; +const MAIN_AUTHOR = "Karsten Schmidt"; +const LICENSE = "Apache Software License 2.0"; + +const GH_URL = "https://github.com"; +const REPO_URL = `${GH_URL}/${REPO_ID}`; +const ASSET_BASE_URL = `https://raw.githubusercontent.com/${REPO_ID}`; +const DEMO_URL = "https://demo.thi.ng/umbrella"; +const DOC_URL = "https://docs.thi.ng/umbrella"; +const EX_DIR = "../../examples"; + +const RE_PKG = /@thi\.ng\/[a-z0-9-]+/g; +const RE_USER = /@([a-z0-9_-]+)/gi; +const RE_PARTIAL = /\$\{([a-z.]+)\}/gi; +const RE_IS_HEADING = /^#{2,4}\s/; +const RE_HEADING = /^(#{2,4})\s(.+)/; +const PATTERN_TOC = ""; +const PATTERN_NO_TOC = ""; + +const readJSON = (path: string) => JSON.parse(readFileSync(path).toString()); try { - const PKG = JSON.parse(fs.readFileSync("./package.json")); - const TPL = fs.readFileSync("./README.tpl.md").toString(); + const PKG = JSON.parse(readFileSync("./package.json").toString()); + const TPL = readFileSync("./README.tpl.md").toString(); - const META_FIELD = "thi.ng"; const META = PKG[META_FIELD] || {}; const BRANCH = META.branch || "develop"; - const START_YEAR = META.year || 2016; - const REPO_ID = "thi-ng/umbrella"; - const MAIN_AUTHOR = "Karsten Schmidt"; - const LICENSE = "Apache Software License 2.0"; - - const GH_URL = "https://github.com"; - const REPO_URL = `${GH_URL}/${REPO_ID}`; - const DEMO_URL = "https://demo.thi.ng/umbrella"; - const ASSET_URL = `https://raw.githubusercontent.com/${REPO_ID}/${BRANCH}/assets`; const BRANCH_URL = `${REPO_URL}/tree/${BRANCH}`; - const DOC_URL = "https://docs.thi.ng/umbrella"; - const EX_DIR = "../../examples"; - - const RE_PKG = /@thi\.ng\/[a-z0-9-]+/g; - const RE_USER = /@([a-z0-9_-]+)/gi; - const RE_PARTIAL = /\$\{([a-z.]+)\}/gi; - const RE_IS_HEADING = /^#{2,4}\s/; - const RE_HEADING = /^(#{2,4})\s(.+)/; - const RE_SLUG = /[^a-z0-9]/gi; - const PATTERN_TOC = ""; - const PATTERN_NO_TOC = ""; + const ASSET_URL = `${ASSET_BASE_URL}/${BRANCH}/assets`; + const START_YEAR = META.year || 2016; - const shortName = (name) => name.split("/")[1]; + const shortName = (name: string) => name.split("/")[1]; - const link = (title, href) => `[${title}](${href})`; + const link = (title: string, href: string) => `[${title}](${href})`; - const pkgLink = (name) => + const pkgLink = (name: string) => link(name, `${BRANCH_URL}/packages/${shortName(name)}`); - const userLink = (id) => link(`@${id}`, `${GH_URL}/${id}`); + const userLink = (id: string): string => link(`@${id}`, `${GH_URL}/${id}`); - const asset = (file, alt = "") => `![${alt}](${ASSET_URL}/${file})`; + const asset = (file: string, alt = "") => `![${alt}](${ASSET_URL}/${file})`; - const list = (items) => items.map((x) => `- ${x}`).join("\n"); + const list = (items: string[]) => items.map((x) => `- ${x}`).join("\n"); - const packageList = (pkgShortNames, title) => { + const packageList = (pkgShortNames: string[], title: string) => { const items = []; for (let p of pkgShortNames) { try { - const pkg = JSON.parse(fs.readFileSync(`../${p}/package.json`)); + const pkg = readJSON(`../${p}/package.json`); items.push( pkgLink(pkg.name) + " - " + pkg.description.replace(RE_PKG, pkgLink) ); } catch (_) { - console.log(`error reading support pkg: ${p.name}`); + console.log(`error reading support pkg: ${p}`); } } return items.length > 0 ? `### ${title}\n\n${list(items)}` : ""; }; - const examples = (pkgName) => { + const examples = (pkgName: string) => { const examples = []; - for (let ex of fs.readdirSync(EX_DIR)) { + for (let ex of readdirSync(EX_DIR)) { try { - const expkg = JSON.parse( - fs.readFileSync(`${EX_DIR}/${ex}/package.json`) - ); + const expkg = readJSON(`${EX_DIR}/${ex}/package.json`); const meta = expkg[META_FIELD] || {}; const explicitInclude = Array.isArray(meta.readme) && @@ -113,20 +126,18 @@ try { : null; }; - const supportPackages = (pkgName) => { + const supportPackages = (pkgName: string) => { const pkgShortName = shortName(pkgName); return packageList( - fs - .readdirSync("../") - .filter((x) => x.startsWith(pkgShortName + "-")), + readdirSync("../").filter((x) => x.startsWith(pkgShortName + "-")), "Support packages" ); }; - const relatedPackages = (pkgShortNames = []) => + const relatedPackages = (pkgShortNames: string[] = []) => packageList(pkgShortNames, "Related packages"); - const packageDesc = (pkg) => { + const packageDesc = (pkg: Package) => { const desc = pkg.description.replace(RE_PKG, pkgLink) + "."; const parent = (pkg[META_FIELD] || {}).parent; return parent && desc.indexOf(parent) == -1 @@ -134,7 +145,7 @@ try { : desc; }; - const packageDeps = (pkg) => { + const packageDeps = (pkg: Package) => { const deps = Object.keys(pkg.dependencies || {}) .sort() .map(pkgLink); @@ -142,7 +153,7 @@ try { }; const packageStatus = (status = "stable") => { - const statuses = { + const statuses: IObjectOf = { alpha: " - bleeding edge / work-in-progress", beta: " - possibly breaking changes forthcoming", stable: " - used in production", @@ -157,7 +168,7 @@ try { const packageSize = () => { try { - const meta = JSON.parse(fs.readFileSync("./.meta/size.json")); + const meta = readJSON("./.meta/size.json"); const res = []; for (let id in meta) { res.push( @@ -172,12 +183,12 @@ try { } }; - const packageBanner = (name) => + const packageBanner = (name: string) => `![${name}](https://media.thi.ng/umbrella/banners/thing-${shortName( name )}.svg?${(Date.now() / 1000) | 0})`; - const blogPosts = (posts) => { + const blogPosts = (posts: BlogPost[]) => { if (!posts) return; return [ "### Blog posts", @@ -186,20 +197,19 @@ try { ].join("\n"); }; - const docLink = (pkgName) => + const docLink = (pkgName: string) => link("Generated API docs", `${DOC_URL}/${shortName(pkgName)}/`); const authors = () => { try { - return fs - .readFileSync("./AUTHORS.md") + return readFileSync("./AUTHORS.md") .toString() .replace(RE_USER, (_, id) => userLink(id)); } catch (_) {} return MAIN_AUTHOR; }; - const copyright = (startYear, author) => { + const copyright = (startYear: number, author: string) => { const now = new Date().getFullYear(); return startYear < now ? `${startYear} - ${now} ${author}` @@ -210,7 +220,7 @@ try { const dest = "aaaaaaeeeeiiiioooouuuuncsyoarsnpwgnmuxzh--"; const re = new RegExp(src.split("").join("|"), "g"); // based on @thi.ng/strings, adapted for GH - const slugify = (str) => { + const slugify = (str: string) => { return str .toLowerCase() .replace(/\s/g, "-") @@ -220,7 +230,7 @@ try { .replace(/-+$/, ""); }; - const injectTOC = (readme) => { + const injectTOC = (readme: string) => { const toc = readme .split("\n") .filter( @@ -229,7 +239,7 @@ try { line.indexOf(PATTERN_NO_TOC) === -1 ) .map((hd) => { - const [_, level, title] = RE_HEADING.exec(hd); + const [_, level, title] = RE_HEADING.exec(hd)!; const indent = " ".substr(0, (level.length - 2) * 2); const href = "#" + slugify(title); return `${indent}- ${link(title, href)}`; @@ -238,7 +248,7 @@ try { return readme.replace(PATTERN_TOC, toc); }; - const partials = { + const partials: IObjectOf>> = { "pkg.name": PKG.name, "pkg.description": () => packageDesc(PKG), "pkg.deps": () => packageDeps(PKG), @@ -268,7 +278,7 @@ try { readme = injectTOC(readme); readme = "\n\n" + readme; - fs.writeFileSync("./README.md", readme); + writeFileSync("./README.md", readme); } catch (e) { console.log(e.message); process.exit(1); From 492237c36e87f7a16c19fa33ba4e8c866fcd3ff9 Mon Sep 17 00:00:00 2001 From: Karsten Schmidt Date: Sat, 21 Mar 2020 03:11:21 +0000 Subject: [PATCH 14/70] build: update doc:readme script in all pkgs --- packages/adjacency/package.json | 2 +- packages/api/package.json | 2 +- packages/arrays/package.json | 2 +- packages/associative/package.json | 2 +- packages/atom/package.json | 2 +- packages/bench/package.json | 2 +- packages/bencode/package.json | 2 +- packages/binary/package.json | 2 +- packages/bitfield/package.json | 2 +- packages/bitstream/package.json | 2 +- packages/cache/package.json | 2 +- packages/checks/package.json | 2 +- packages/color/package.json | 2 +- packages/compare/package.json | 2 +- packages/compose/package.json | 2 +- packages/csp/package.json | 2 +- packages/dcons/package.json | 2 +- packages/defmulti/package.json | 2 +- packages/dgraph/package.json | 2 +- packages/diff/package.json | 2 +- packages/dl-asset/package.json | 2 +- packages/dlogic/package.json | 2 +- packages/dot/package.json | 2 +- packages/dsp-io-wav/package.json | 2 +- packages/dsp/package.json | 2 +- packages/dynvar/package.json | 2 +- packages/ecs/package.json | 2 +- packages/equiv/package.json | 2 +- packages/errors/package.json | 2 +- packages/fsm/package.json | 2 +- packages/geom-accel/package.json | 2 +- packages/geom-api/package.json | 2 +- packages/geom-arc/package.json | 2 +- packages/geom-clip-line/package.json | 2 +- packages/geom-clip-poly/package.json | 2 +- packages/geom-closest-point/package.json | 2 +- packages/geom-hull/package.json | 2 +- packages/geom-isec/package.json | 2 +- packages/geom-isoline/package.json | 2 +- packages/geom-poly-utils/package.json | 2 +- packages/geom-resample/package.json | 2 +- packages/geom-splines/package.json | 2 +- packages/geom-subdiv-curve/package.json | 2 +- packages/geom-tessellate/package.json | 2 +- packages/geom-voronoi/package.json | 2 +- packages/geom/package.json | 2 +- packages/gp/package.json | 2 +- packages/grid-iterators/package.json | 2 +- packages/hdom-canvas/package.json | 2 +- packages/hdom-components/package.json | 2 +- packages/hdom-mock/package.json | 2 +- packages/hdom/package.json | 2 +- packages/heaps/package.json | 2 +- packages/hiccup-carbon-icons/package.json | 2 +- packages/hiccup-css/package.json | 2 +- packages/hiccup-markdown/package.json | 2 +- packages/hiccup-svg/package.json | 2 +- packages/hiccup/package.json | 2 +- packages/idgen/package.json | 2 +- packages/iges/package.json | 2 +- packages/imgui/package.json | 2 +- packages/interceptors/package.json | 2 +- packages/intervals/package.json | 2 +- packages/iterators/package.json | 2 +- packages/layout/package.json | 2 +- packages/leb128/package.json | 2 +- packages/lsys/package.json | 2 +- packages/malloc/package.json | 2 +- packages/math/package.json | 2 +- packages/matrices/package.json | 2 +- packages/memoize/package.json | 2 +- packages/mime/package.json | 2 +- packages/morton/package.json | 2 +- packages/paths/package.json | 2 +- packages/pixel/package.json | 2 +- packages/pointfree-lang/package.json | 2 +- packages/pointfree/package.json | 2 +- packages/poisson/package.json | 2 +- packages/porter-duff/package.json | 2 +- packages/quad-edge/package.json | 2 +- packages/ramp/package.json | 2 +- packages/random/package.json | 2 +- packages/range-coder/package.json | 2 +- packages/resolve-map/package.json | 2 +- packages/rle-pack/package.json | 2 +- packages/router/package.json | 2 +- packages/rstream-csp/package.json | 2 +- packages/rstream-dot/package.json | 2 +- packages/rstream-gestures/package.json | 2 +- packages/rstream-graph/package.json | 2 +- packages/rstream-log-file/package.json | 2 +- packages/rstream-log/package.json | 2 +- packages/rstream-query/package.json | 2 +- packages/rstream/package.json | 2 +- packages/sax/package.json | 2 +- packages/scenegraph/package.json | 2 +- packages/seq/package.json | 2 +- packages/sexpr/package.json | 2 +- packages/shader-ast-glsl/package.json | 2 +- packages/shader-ast-js/package.json | 2 +- packages/shader-ast-stdlib/package.json | 2 +- packages/shader-ast/package.json | 2 +- packages/simd/package.json | 2 +- packages/soa/package.json | 2 +- packages/sparse/package.json | 2 +- packages/strings/package.json | 2 +- packages/text-canvas/package.json | 2 +- packages/transducers-binary/package.json | 2 +- packages/transducers-fsm/package.json | 2 +- packages/transducers-hdom/package.json | 2 +- packages/transducers-patch/package.json | 2 +- packages/transducers-stats/package.json | 2 +- packages/transducers/package.json | 2 +- packages/unionstruct/package.json | 2 +- packages/vector-pools/package.json | 2 +- packages/vectors/package.json | 2 +- packages/webgl-msdf/package.json | 2 +- packages/webgl-shadertoy/package.json | 2 +- packages/webgl/package.json | 2 +- packages/zipper/package.json | 2 +- scripts/make-module | 2 +- 121 files changed, 121 insertions(+), 121 deletions(-) diff --git a/packages/adjacency/package.json b/packages/adjacency/package.json index 9285f08950..6b3b2b265b 100644 --- a/packages/adjacency/package.json +++ b/packages/adjacency/package.json @@ -21,7 +21,7 @@ "test": "mocha test", "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib", - "doc:readme": "../../scripts/generate-readme", + "doc:readme": "ts-node -P ../../scripts/tsconfig.json ../../scripts/generate-readme.ts", "doc": "node_modules/.bin/typedoc --mode modules --out doc src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" diff --git a/packages/api/package.json b/packages/api/package.json index 162dc413fe..b30e3f6e59 100644 --- a/packages/api/package.json +++ b/packages/api/package.json @@ -21,7 +21,7 @@ "test": "mocha test", "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib api decorators mixins", - "doc:readme": "../../scripts/generate-readme", + "doc:readme": "ts-node -P ../../scripts/tsconfig.json ../../scripts/generate-readme.ts", "doc": "node_modules/.bin/typedoc --mode modules --out doc src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" diff --git a/packages/arrays/package.json b/packages/arrays/package.json index 63e7a8db4b..529e3bfdc7 100644 --- a/packages/arrays/package.json +++ b/packages/arrays/package.json @@ -21,7 +21,7 @@ "test": "mocha test", "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib", - "doc:readme": "../../scripts/generate-readme", + "doc:readme": "ts-node -P ../../scripts/tsconfig.json ../../scripts/generate-readme.ts", "doc": "node_modules/.bin/typedoc --mode modules --out doc src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" diff --git a/packages/associative/package.json b/packages/associative/package.json index 1739aa9864..20aa1394ef 100644 --- a/packages/associative/package.json +++ b/packages/associative/package.json @@ -21,7 +21,7 @@ "test": "mocha test", "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib", - "doc:readme": "../../scripts/generate-readme", + "doc:readme": "ts-node -P ../../scripts/tsconfig.json ../../scripts/generate-readme.ts", "doc": "node_modules/.bin/typedoc --mode modules --out doc src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" diff --git a/packages/atom/package.json b/packages/atom/package.json index 6fcf86d490..62e1ebe9ad 100644 --- a/packages/atom/package.json +++ b/packages/atom/package.json @@ -21,7 +21,7 @@ "test": "mocha test", "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib", - "doc:readme": "../../scripts/generate-readme", + "doc:readme": "ts-node -P ../../scripts/tsconfig.json ../../scripts/generate-readme.ts", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "doc": "node_modules/.bin/typedoc --mode modules --out doc src", "pub": "yarn build:release && yarn publish --access public" diff --git a/packages/bench/package.json b/packages/bench/package.json index 46c18696ed..672a347201 100644 --- a/packages/bench/package.json +++ b/packages/bench/package.json @@ -21,7 +21,7 @@ "test": "mocha test", "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib", - "doc:readme": "../../scripts/generate-readme", + "doc:readme": "ts-node -P ../../scripts/tsconfig.json ../../scripts/generate-readme.ts", "doc": "node_modules/.bin/typedoc --mode modules --out doc src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" diff --git a/packages/bencode/package.json b/packages/bencode/package.json index 93103efa79..235bc42e65 100644 --- a/packages/bencode/package.json +++ b/packages/bencode/package.json @@ -21,7 +21,7 @@ "test": "mocha test", "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib", - "doc:readme": "../../scripts/generate-readme", + "doc:readme": "ts-node -P ../../scripts/tsconfig.json ../../scripts/generate-readme.ts", "doc": "node_modules/.bin/typedoc --mode modules --out doc src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" diff --git a/packages/binary/package.json b/packages/binary/package.json index be768800a0..595c4a40e6 100644 --- a/packages/binary/package.json +++ b/packages/binary/package.json @@ -21,7 +21,7 @@ "test": "mocha test", "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib", - "doc:readme": "../../scripts/generate-readme", + "doc:readme": "ts-node -P ../../scripts/tsconfig.json ../../scripts/generate-readme.ts", "doc": "node_modules/.bin/typedoc --mode modules --out doc src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" diff --git a/packages/bitfield/package.json b/packages/bitfield/package.json index f14468e548..2f8296b4a8 100644 --- a/packages/bitfield/package.json +++ b/packages/bitfield/package.json @@ -21,7 +21,7 @@ "test": "mocha test", "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib", - "doc:readme": "../../scripts/generate-readme", + "doc:readme": "ts-node -P ../../scripts/tsconfig.json ../../scripts/generate-readme.ts", "doc": "node_modules/.bin/typedoc --mode modules --out doc src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" diff --git a/packages/bitstream/package.json b/packages/bitstream/package.json index 9971e15436..6b2ea89f9c 100644 --- a/packages/bitstream/package.json +++ b/packages/bitstream/package.json @@ -21,7 +21,7 @@ "test": "mocha test", "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib", - "doc:readme": "../../scripts/generate-readme", + "doc:readme": "ts-node -P ../../scripts/tsconfig.json ../../scripts/generate-readme.ts", "doc": "node_modules/.bin/typedoc --mode modules --out doc src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" diff --git a/packages/cache/package.json b/packages/cache/package.json index 1a7c6ebbbe..0f20567398 100644 --- a/packages/cache/package.json +++ b/packages/cache/package.json @@ -21,7 +21,7 @@ "test": "mocha test", "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib", - "doc:readme": "../../scripts/generate-readme", + "doc:readme": "ts-node -P ../../scripts/tsconfig.json ../../scripts/generate-readme.ts", "doc": "node_modules/.bin/typedoc --mode modules --out doc src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" diff --git a/packages/checks/package.json b/packages/checks/package.json index ceff152ff4..2e4a0e116d 100644 --- a/packages/checks/package.json +++ b/packages/checks/package.json @@ -21,7 +21,7 @@ "test": "mocha test", "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib", - "doc:readme": "../../scripts/generate-readme", + "doc:readme": "ts-node -P ../../scripts/tsconfig.json ../../scripts/generate-readme.ts", "doc": "node_modules/.bin/typedoc --mode modules --out doc src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" diff --git a/packages/color/package.json b/packages/color/package.json index 1e78fab79b..51a7d38c13 100644 --- a/packages/color/package.json +++ b/packages/color/package.json @@ -21,7 +21,7 @@ "test": "mocha test", "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib internal", - "doc:readme": "../../scripts/generate-readme", + "doc:readme": "ts-node -P ../../scripts/tsconfig.json ../../scripts/generate-readme.ts", "doc": "node_modules/.bin/typedoc --mode modules --out doc src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" diff --git a/packages/compare/package.json b/packages/compare/package.json index 74f3205977..38cfad074b 100644 --- a/packages/compare/package.json +++ b/packages/compare/package.json @@ -21,7 +21,7 @@ "test": "mocha test", "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib", - "doc:readme": "../../scripts/generate-readme", + "doc:readme": "ts-node -P ../../scripts/tsconfig.json ../../scripts/generate-readme.ts", "doc": "node_modules/.bin/typedoc --mode modules --out doc src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" diff --git a/packages/compose/package.json b/packages/compose/package.json index c350c9647f..52468222bc 100644 --- a/packages/compose/package.json +++ b/packages/compose/package.json @@ -21,7 +21,7 @@ "test": "mocha test", "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib", - "doc:readme": "../../scripts/generate-readme", + "doc:readme": "ts-node -P ../../scripts/tsconfig.json ../../scripts/generate-readme.ts", "doc": "node_modules/.bin/typedoc --mode modules --out doc src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" diff --git a/packages/csp/package.json b/packages/csp/package.json index 528f9f9c9f..0a094b321d 100644 --- a/packages/csp/package.json +++ b/packages/csp/package.json @@ -21,7 +21,7 @@ "test": "mocha test", "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib", - "doc:readme": "../../scripts/generate-readme", + "doc:readme": "ts-node -P ../../scripts/tsconfig.json ../../scripts/generate-readme.ts", "doc": "node_modules/.bin/typedoc --mode modules --out doc src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public", diff --git a/packages/dcons/package.json b/packages/dcons/package.json index eecfe730d6..7e2b0ac931 100644 --- a/packages/dcons/package.json +++ b/packages/dcons/package.json @@ -21,7 +21,7 @@ "test": "mocha test", "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib", - "doc:readme": "../../scripts/generate-readme", + "doc:readme": "ts-node -P ../../scripts/tsconfig.json ../../scripts/generate-readme.ts", "doc": "node_modules/.bin/typedoc --mode modules --out doc src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" diff --git a/packages/defmulti/package.json b/packages/defmulti/package.json index 1b14622593..c48724496e 100644 --- a/packages/defmulti/package.json +++ b/packages/defmulti/package.json @@ -21,7 +21,7 @@ "test": "mocha test", "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib", - "doc:readme": "../../scripts/generate-readme", + "doc:readme": "ts-node -P ../../scripts/tsconfig.json ../../scripts/generate-readme.ts", "doc": "node_modules/.bin/typedoc --mode modules --out doc src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" diff --git a/packages/dgraph/package.json b/packages/dgraph/package.json index 5aaa1c820e..468982aa4e 100644 --- a/packages/dgraph/package.json +++ b/packages/dgraph/package.json @@ -21,7 +21,7 @@ "test": "mocha test", "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib", - "doc:readme": "../../scripts/generate-readme", + "doc:readme": "ts-node -P ../../scripts/tsconfig.json ../../scripts/generate-readme.ts", "doc": "node_modules/.bin/typedoc --mode modules --out doc src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" diff --git a/packages/diff/package.json b/packages/diff/package.json index e20049ef37..ddbb039d0c 100644 --- a/packages/diff/package.json +++ b/packages/diff/package.json @@ -21,7 +21,7 @@ "test": "mocha test", "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib", - "doc:readme": "../../scripts/generate-readme", + "doc:readme": "ts-node -P ../../scripts/tsconfig.json ../../scripts/generate-readme.ts", "doc": "node_modules/.bin/typedoc --mode modules --out doc src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" diff --git a/packages/dl-asset/package.json b/packages/dl-asset/package.json index e461fbc6ff..9375d6ac1c 100644 --- a/packages/dl-asset/package.json +++ b/packages/dl-asset/package.json @@ -21,7 +21,7 @@ "test": "mocha test", "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts *.map .nyc_output build coverage doc lib", - "doc:readme": "../../scripts/generate-readme", + "doc:readme": "ts-node -P ../../scripts/tsconfig.json ../../scripts/generate-readme.ts", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "doc": "node_modules/.bin/typedoc --mode modules --out doc src", "pub": "yarn build:release && yarn publish --access public" diff --git a/packages/dlogic/package.json b/packages/dlogic/package.json index 58cdc2fe33..e4da58801a 100644 --- a/packages/dlogic/package.json +++ b/packages/dlogic/package.json @@ -21,7 +21,7 @@ "test": "mocha test", "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib", - "doc:readme": "../../scripts/generate-readme", + "doc:readme": "ts-node -P ../../scripts/tsconfig.json ../../scripts/generate-readme.ts", "doc": "node_modules/.bin/typedoc --mode modules --out doc src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" diff --git a/packages/dot/package.json b/packages/dot/package.json index a4577d96e9..42703a174a 100644 --- a/packages/dot/package.json +++ b/packages/dot/package.json @@ -21,7 +21,7 @@ "test": "mocha test", "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib", - "doc:readme": "../../scripts/generate-readme", + "doc:readme": "ts-node -P ../../scripts/tsconfig.json ../../scripts/generate-readme.ts", "doc": "node_modules/.bin/typedoc --mode modules --out doc src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" diff --git a/packages/dsp-io-wav/package.json b/packages/dsp-io-wav/package.json index 0d5f01f608..3344b1c49e 100644 --- a/packages/dsp-io-wav/package.json +++ b/packages/dsp-io-wav/package.json @@ -21,7 +21,7 @@ "test": "mocha test", "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts *.map .nyc_output build coverage doc lib", - "doc:readme": "../../scripts/generate-readme", + "doc:readme": "ts-node -P ../../scripts/tsconfig.json ../../scripts/generate-readme.ts", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "doc": "node_modules/.bin/typedoc --mode modules --out doc src", "pub": "yarn build:release && yarn publish --access public" diff --git a/packages/dsp/package.json b/packages/dsp/package.json index 3422b9439e..368342a154 100644 --- a/packages/dsp/package.json +++ b/packages/dsp/package.json @@ -21,7 +21,7 @@ "test": "mocha test", "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts *.map .nyc_output build coverage doc lib comp gen osc proc util", - "doc:readme": "../../scripts/generate-readme", + "doc:readme": "ts-node -P ../../scripts/tsconfig.json ../../scripts/generate-readme.ts", "doc": "node_modules/.bin/typedoc --mode modules --out doc src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" diff --git a/packages/dynvar/package.json b/packages/dynvar/package.json index 3a99171748..a5a3799b11 100644 --- a/packages/dynvar/package.json +++ b/packages/dynvar/package.json @@ -21,7 +21,7 @@ "test": "mocha test", "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib api decorators mixins", - "doc:readme": "../../scripts/generate-readme", + "doc:readme": "ts-node -P ../../scripts/tsconfig.json ../../scripts/generate-readme.ts", "doc": "node_modules/.bin/typedoc --mode modules --out doc src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" diff --git a/packages/ecs/package.json b/packages/ecs/package.json index 0f1370a5a8..9dbee71fbb 100644 --- a/packages/ecs/package.json +++ b/packages/ecs/package.json @@ -21,7 +21,7 @@ "test": "mocha test", "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib", - "doc:readme": "../../scripts/generate-readme", + "doc:readme": "ts-node -P ../../scripts/tsconfig.json ../../scripts/generate-readme.ts", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "doc": "node_modules/.bin/typedoc --mode modules --out doc src", "pub": "yarn build:release && yarn publish --access public" diff --git a/packages/equiv/package.json b/packages/equiv/package.json index 18876c3fca..1c1e2d29cc 100644 --- a/packages/equiv/package.json +++ b/packages/equiv/package.json @@ -21,7 +21,7 @@ "test": "mocha test", "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib", - "doc:readme": "../../scripts/generate-readme", + "doc:readme": "ts-node -P ../../scripts/tsconfig.json ../../scripts/generate-readme.ts", "doc": "node_modules/.bin/typedoc --mode modules --out doc src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" diff --git a/packages/errors/package.json b/packages/errors/package.json index 2b0868e788..98af419b91 100644 --- a/packages/errors/package.json +++ b/packages/errors/package.json @@ -21,7 +21,7 @@ "test": "mocha test", "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib", - "doc:readme": "../../scripts/generate-readme", + "doc:readme": "ts-node -P ../../scripts/tsconfig.json ../../scripts/generate-readme.ts", "doc": "node_modules/.bin/typedoc --mode modules --out doc src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" diff --git a/packages/fsm/package.json b/packages/fsm/package.json index 6bc80dd6dd..b72648717c 100644 --- a/packages/fsm/package.json +++ b/packages/fsm/package.json @@ -21,7 +21,7 @@ "test": "mocha test", "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib", - "doc:readme": "../../scripts/generate-readme", + "doc:readme": "ts-node -P ../../scripts/tsconfig.json ../../scripts/generate-readme.ts", "doc": "node_modules/.bin/typedoc --mode modules --out doc src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" diff --git a/packages/geom-accel/package.json b/packages/geom-accel/package.json index 5195b5ca8d..a808fee2b1 100644 --- a/packages/geom-accel/package.json +++ b/packages/geom-accel/package.json @@ -22,7 +22,7 @@ "test": "mocha test", "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib internal", - "doc:readme": "../../scripts/generate-readme", + "doc:readme": "ts-node -P ../../scripts/tsconfig.json ../../scripts/generate-readme.ts", "doc": "node_modules/.bin/typedoc --mode modules --out doc src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" diff --git a/packages/geom-api/package.json b/packages/geom-api/package.json index af644971cb..28c3f60891 100644 --- a/packages/geom-api/package.json +++ b/packages/geom-api/package.json @@ -21,7 +21,7 @@ "test": "mocha test", "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib", - "doc:readme": "../../scripts/generate-readme", + "doc:readme": "ts-node -P ../../scripts/tsconfig.json ../../scripts/generate-readme.ts", "doc": "node_modules/.bin/typedoc --mode modules --out doc src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" diff --git a/packages/geom-arc/package.json b/packages/geom-arc/package.json index fa189e996e..82c3022ffa 100644 --- a/packages/geom-arc/package.json +++ b/packages/geom-arc/package.json @@ -21,7 +21,7 @@ "test": "mocha test", "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib", - "doc:readme": "../../scripts/generate-readme", + "doc:readme": "ts-node -P ../../scripts/tsconfig.json ../../scripts/generate-readme.ts", "doc": "node_modules/.bin/typedoc --mode modules --out doc src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" diff --git a/packages/geom-clip-line/package.json b/packages/geom-clip-line/package.json index 11c0f71f23..2940848708 100644 --- a/packages/geom-clip-line/package.json +++ b/packages/geom-clip-line/package.json @@ -21,7 +21,7 @@ "test": "mocha test", "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts *.map .nyc_output build coverage doc lib", - "doc:readme": "../../scripts/generate-readme", + "doc:readme": "ts-node -P ../../scripts/tsconfig.json ../../scripts/generate-readme.ts", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "doc": "node_modules/.bin/typedoc --mode modules --out doc src", "pub": "yarn build:release && yarn publish --access public" diff --git a/packages/geom-clip-poly/package.json b/packages/geom-clip-poly/package.json index e3f293dacc..e9477faaad 100644 --- a/packages/geom-clip-poly/package.json +++ b/packages/geom-clip-poly/package.json @@ -21,7 +21,7 @@ "test": "mocha test", "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib", - "doc:readme": "../../scripts/generate-readme", + "doc:readme": "ts-node -P ../../scripts/tsconfig.json ../../scripts/generate-readme.ts", "doc": "node_modules/.bin/typedoc --mode modules --out doc src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" diff --git a/packages/geom-closest-point/package.json b/packages/geom-closest-point/package.json index 8e52e3ba99..366d2bba7f 100644 --- a/packages/geom-closest-point/package.json +++ b/packages/geom-closest-point/package.json @@ -21,7 +21,7 @@ "test": "mocha test", "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib", - "doc:readme": "../../scripts/generate-readme", + "doc:readme": "ts-node -P ../../scripts/tsconfig.json ../../scripts/generate-readme.ts", "doc": "node_modules/.bin/typedoc --mode modules --out doc src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" diff --git a/packages/geom-hull/package.json b/packages/geom-hull/package.json index 72b839a129..bba14012dc 100644 --- a/packages/geom-hull/package.json +++ b/packages/geom-hull/package.json @@ -21,7 +21,7 @@ "test": "mocha test", "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib", - "doc:readme": "../../scripts/generate-readme", + "doc:readme": "ts-node -P ../../scripts/tsconfig.json ../../scripts/generate-readme.ts", "doc": "node_modules/.bin/typedoc --mode modules --out doc src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" diff --git a/packages/geom-isec/package.json b/packages/geom-isec/package.json index 1baf610ba9..fd5e6ae9c1 100644 --- a/packages/geom-isec/package.json +++ b/packages/geom-isec/package.json @@ -21,7 +21,7 @@ "test": "mocha test", "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib", - "doc:readme": "../../scripts/generate-readme", + "doc:readme": "ts-node -P ../../scripts/tsconfig.json ../../scripts/generate-readme.ts", "doc": "node_modules/.bin/typedoc --mode modules --out doc src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" diff --git a/packages/geom-isoline/package.json b/packages/geom-isoline/package.json index 9b8e2f624e..5f84465266 100644 --- a/packages/geom-isoline/package.json +++ b/packages/geom-isoline/package.json @@ -21,7 +21,7 @@ "test": "mocha test", "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib", - "doc:readme": "../../scripts/generate-readme", + "doc:readme": "ts-node -P ../../scripts/tsconfig.json ../../scripts/generate-readme.ts", "doc": "node_modules/.bin/typedoc --mode modules --out doc src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" diff --git a/packages/geom-poly-utils/package.json b/packages/geom-poly-utils/package.json index ca9eb39dfa..990c280476 100644 --- a/packages/geom-poly-utils/package.json +++ b/packages/geom-poly-utils/package.json @@ -21,7 +21,7 @@ "test": "mocha test", "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib", - "doc:readme": "../../scripts/generate-readme", + "doc:readme": "ts-node -P ../../scripts/tsconfig.json ../../scripts/generate-readme.ts", "doc": "node_modules/.bin/typedoc --mode modules --out doc src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" diff --git a/packages/geom-resample/package.json b/packages/geom-resample/package.json index 25522e6ed1..2df793ab11 100644 --- a/packages/geom-resample/package.json +++ b/packages/geom-resample/package.json @@ -21,7 +21,7 @@ "test": "mocha test", "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib", - "doc:readme": "../../scripts/generate-readme", + "doc:readme": "ts-node -P ../../scripts/tsconfig.json ../../scripts/generate-readme.ts", "doc": "node_modules/.bin/typedoc --mode modules --out doc src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" diff --git a/packages/geom-splines/package.json b/packages/geom-splines/package.json index 389afdcde0..7479fe47b4 100644 --- a/packages/geom-splines/package.json +++ b/packages/geom-splines/package.json @@ -21,7 +21,7 @@ "test": "mocha test", "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib", - "doc:readme": "../../scripts/generate-readme", + "doc:readme": "ts-node -P ../../scripts/tsconfig.json ../../scripts/generate-readme.ts", "doc": "node_modules/.bin/typedoc --mode modules --out doc src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" diff --git a/packages/geom-subdiv-curve/package.json b/packages/geom-subdiv-curve/package.json index 31ec3ef9f6..52f9030f78 100644 --- a/packages/geom-subdiv-curve/package.json +++ b/packages/geom-subdiv-curve/package.json @@ -21,7 +21,7 @@ "test": "mocha test", "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib", - "doc:readme": "../../scripts/generate-readme", + "doc:readme": "ts-node -P ../../scripts/tsconfig.json ../../scripts/generate-readme.ts", "doc": "node_modules/.bin/typedoc --mode modules --out doc src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" diff --git a/packages/geom-tessellate/package.json b/packages/geom-tessellate/package.json index fd6d3c49c0..5f37f420f8 100644 --- a/packages/geom-tessellate/package.json +++ b/packages/geom-tessellate/package.json @@ -21,7 +21,7 @@ "test": "mocha test", "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib", - "doc:readme": "../../scripts/generate-readme", + "doc:readme": "ts-node -P ../../scripts/tsconfig.json ../../scripts/generate-readme.ts", "doc": "node_modules/.bin/typedoc --mode modules --out doc src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" diff --git a/packages/geom-voronoi/package.json b/packages/geom-voronoi/package.json index 53f0d28f8d..cfa0798df1 100644 --- a/packages/geom-voronoi/package.json +++ b/packages/geom-voronoi/package.json @@ -21,7 +21,7 @@ "test": "mocha test", "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib", - "doc:readme": "../../scripts/generate-readme", + "doc:readme": "ts-node -P ../../scripts/tsconfig.json ../../scripts/generate-readme.ts", "doc": "node_modules/.bin/typedoc --mode modules --out doc src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" diff --git a/packages/geom/package.json b/packages/geom/package.json index 93a9a7e8bc..5967ff358d 100644 --- a/packages/geom/package.json +++ b/packages/geom/package.json @@ -21,7 +21,7 @@ "test": "mocha test", "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib ctors internal ops", - "doc:readme": "../../scripts/generate-readme", + "doc:readme": "ts-node -P ../../scripts/tsconfig.json ../../scripts/generate-readme.ts", "doc": "node_modules/.bin/typedoc --mode modules --out doc src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" diff --git a/packages/gp/package.json b/packages/gp/package.json index 2f5604bac4..d24bb0cbc0 100644 --- a/packages/gp/package.json +++ b/packages/gp/package.json @@ -21,7 +21,7 @@ "test": "mocha test", "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib", - "doc:readme": "../../scripts/generate-readme", + "doc:readme": "ts-node -P ../../scripts/tsconfig.json ../../scripts/generate-readme.ts", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "doc": "node_modules/.bin/typedoc --mode modules --out doc src", "pub": "yarn build:release && yarn publish --access public" diff --git a/packages/grid-iterators/package.json b/packages/grid-iterators/package.json index 97f469a55a..c43cc846c0 100644 --- a/packages/grid-iterators/package.json +++ b/packages/grid-iterators/package.json @@ -22,7 +22,7 @@ "test": "mocha test", "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib", - "doc:readme": "../../scripts/generate-readme", + "doc:readme": "ts-node -P ../../scripts/tsconfig.json ../../scripts/generate-readme.ts", "doc": "node_modules/.bin/typedoc --mode modules --out doc src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" diff --git a/packages/hdom-canvas/package.json b/packages/hdom-canvas/package.json index 21b26de62a..546c3f6a28 100644 --- a/packages/hdom-canvas/package.json +++ b/packages/hdom-canvas/package.json @@ -21,7 +21,7 @@ "test": "mocha test", "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib draw", - "doc:readme": "../../scripts/generate-readme", + "doc:readme": "ts-node -P ../../scripts/tsconfig.json ../../scripts/generate-readme.ts", "doc": "node_modules/.bin/typedoc --mode modules --out doc src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" diff --git a/packages/hdom-components/package.json b/packages/hdom-components/package.json index 16b649ea4d..cacd3b4f93 100644 --- a/packages/hdom-components/package.json +++ b/packages/hdom-components/package.json @@ -21,7 +21,7 @@ "test": "mocha test", "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib", - "doc:readme": "../../scripts/generate-readme", + "doc:readme": "ts-node -P ../../scripts/tsconfig.json ../../scripts/generate-readme.ts", "doc": "node_modules/.bin/typedoc --mode modules --out doc src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" diff --git a/packages/hdom-mock/package.json b/packages/hdom-mock/package.json index 0c67d7c8bb..54e34236a9 100644 --- a/packages/hdom-mock/package.json +++ b/packages/hdom-mock/package.json @@ -21,7 +21,7 @@ "test": "mocha test", "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib", - "doc:readme": "../../scripts/generate-readme", + "doc:readme": "ts-node -P ../../scripts/tsconfig.json ../../scripts/generate-readme.ts", "doc": "node_modules/.bin/typedoc --mode modules --out doc src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" diff --git a/packages/hdom/package.json b/packages/hdom/package.json index a5b00d748e..28d1eaad77 100644 --- a/packages/hdom/package.json +++ b/packages/hdom/package.json @@ -21,7 +21,7 @@ "test": "mocha test", "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib", - "doc:readme": "../../scripts/generate-readme", + "doc:readme": "ts-node -P ../../scripts/tsconfig.json ../../scripts/generate-readme.ts", "doc": "node_modules/.bin/typedoc --mode modules --out doc src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" diff --git a/packages/heaps/package.json b/packages/heaps/package.json index 87b97b7196..2e56fba425 100644 --- a/packages/heaps/package.json +++ b/packages/heaps/package.json @@ -22,7 +22,7 @@ "test": "mocha test", "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib", - "doc:readme": "../../scripts/generate-readme", + "doc:readme": "ts-node -P ../../scripts/tsconfig.json ../../scripts/generate-readme.ts", "doc": "node_modules/.bin/typedoc --mode modules --out doc src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" diff --git a/packages/hiccup-carbon-icons/package.json b/packages/hiccup-carbon-icons/package.json index 5649e09655..12846caafe 100644 --- a/packages/hiccup-carbon-icons/package.json +++ b/packages/hiccup-carbon-icons/package.json @@ -21,7 +21,7 @@ "test": "mocha test", "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib", - "doc:readme": "../../scripts/generate-readme", + "doc:readme": "ts-node -P ../../scripts/tsconfig.json ../../scripts/generate-readme.ts", "doc": "node_modules/.bin/typedoc --mode modules --out doc src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" diff --git a/packages/hiccup-css/package.json b/packages/hiccup-css/package.json index f27010c0a4..0579e05e5b 100644 --- a/packages/hiccup-css/package.json +++ b/packages/hiccup-css/package.json @@ -21,7 +21,7 @@ "test": "mocha test", "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib", - "doc:readme": "../../scripts/generate-readme", + "doc:readme": "ts-node -P ../../scripts/tsconfig.json ../../scripts/generate-readme.ts", "doc": "node_modules/.bin/typedoc --mode modules --out doc src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" diff --git a/packages/hiccup-markdown/package.json b/packages/hiccup-markdown/package.json index 79e31b2964..3151f3fcce 100644 --- a/packages/hiccup-markdown/package.json +++ b/packages/hiccup-markdown/package.json @@ -21,7 +21,7 @@ "test": "mocha test", "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib", - "doc:readme": "../../scripts/generate-readme", + "doc:readme": "ts-node -P ../../scripts/tsconfig.json ../../scripts/generate-readme.ts", "doc": "node_modules/.bin/typedoc --mode modules --out doc src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" diff --git a/packages/hiccup-svg/package.json b/packages/hiccup-svg/package.json index a5101f6c9f..1b3d27df60 100644 --- a/packages/hiccup-svg/package.json +++ b/packages/hiccup-svg/package.json @@ -21,7 +21,7 @@ "test": "mocha test", "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib", - "doc:readme": "../../scripts/generate-readme", + "doc:readme": "ts-node -P ../../scripts/tsconfig.json ../../scripts/generate-readme.ts", "doc": "node_modules/.bin/typedoc --mode modules --out doc src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" diff --git a/packages/hiccup/package.json b/packages/hiccup/package.json index b7ac2c3753..8fcb173604 100644 --- a/packages/hiccup/package.json +++ b/packages/hiccup/package.json @@ -21,7 +21,7 @@ "test": "mocha test", "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib", - "doc:readme": "../../scripts/generate-readme", + "doc:readme": "ts-node -P ../../scripts/tsconfig.json ../../scripts/generate-readme.ts", "doc": "node_modules/.bin/typedoc --mode modules --out doc src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" diff --git a/packages/idgen/package.json b/packages/idgen/package.json index e73a96e4e2..78475b5ed4 100644 --- a/packages/idgen/package.json +++ b/packages/idgen/package.json @@ -21,7 +21,7 @@ "test": "mocha test", "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib", - "doc:readme": "../../scripts/generate-readme", + "doc:readme": "ts-node -P ../../scripts/tsconfig.json ../../scripts/generate-readme.ts", "doc": "node_modules/.bin/typedoc --mode modules --out doc src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" diff --git a/packages/iges/package.json b/packages/iges/package.json index f0fa052f36..f55c179b3e 100644 --- a/packages/iges/package.json +++ b/packages/iges/package.json @@ -21,7 +21,7 @@ "test": "mocha test", "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib", - "doc:readme": "../../scripts/generate-readme", + "doc:readme": "ts-node -P ../../scripts/tsconfig.json ../../scripts/generate-readme.ts", "doc": "node_modules/.bin/typedoc --mode modules --out doc src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" diff --git a/packages/imgui/package.json b/packages/imgui/package.json index 02249a6064..21c9e78125 100644 --- a/packages/imgui/package.json +++ b/packages/imgui/package.json @@ -21,7 +21,7 @@ "test": "mocha test", "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib behaviors components", - "doc:readme": "../../scripts/generate-readme", + "doc:readme": "ts-node -P ../../scripts/tsconfig.json ../../scripts/generate-readme.ts", "doc": "node_modules/.bin/typedoc --mode modules --out doc src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" diff --git a/packages/interceptors/package.json b/packages/interceptors/package.json index acefd5a727..f164403350 100644 --- a/packages/interceptors/package.json +++ b/packages/interceptors/package.json @@ -21,7 +21,7 @@ "test": "mocha test", "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib", - "doc:readme": "../../scripts/generate-readme", + "doc:readme": "ts-node -P ../../scripts/tsconfig.json ../../scripts/generate-readme.ts", "doc": "node_modules/.bin/typedoc --mode modules --out doc src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" diff --git a/packages/intervals/package.json b/packages/intervals/package.json index 55794bf0ca..caaa216a33 100644 --- a/packages/intervals/package.json +++ b/packages/intervals/package.json @@ -21,7 +21,7 @@ "test": "mocha test", "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib", - "doc:readme": "../../scripts/generate-readme", + "doc:readme": "ts-node -P ../../scripts/tsconfig.json ../../scripts/generate-readme.ts", "doc": "node_modules/.bin/typedoc --mode modules --out doc src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" diff --git a/packages/iterators/package.json b/packages/iterators/package.json index 07795a81f9..86a9bad87c 100644 --- a/packages/iterators/package.json +++ b/packages/iterators/package.json @@ -21,7 +21,7 @@ "test": "mocha test", "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib", - "doc:readme": "../../scripts/generate-readme", + "doc:readme": "ts-node -P ../../scripts/tsconfig.json ../../scripts/generate-readme.ts", "doc": "node_modules/.bin/typedoc --mode modules --out doc src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" diff --git a/packages/layout/package.json b/packages/layout/package.json index 818d640dbe..9c91a74083 100644 --- a/packages/layout/package.json +++ b/packages/layout/package.json @@ -21,7 +21,7 @@ "test": "mocha test", "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts *.map .nyc_output build coverage doc lib", - "doc:readme": "../../scripts/generate-readme", + "doc:readme": "ts-node -P ../../scripts/tsconfig.json ../../scripts/generate-readme.ts", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "doc": "node_modules/.bin/typedoc --mode modules --out doc src", "pub": "yarn build:release && yarn publish --access public" diff --git a/packages/leb128/package.json b/packages/leb128/package.json index 7e7910ad2e..9b61738cad 100644 --- a/packages/leb128/package.json +++ b/packages/leb128/package.json @@ -22,7 +22,7 @@ "test": "mocha test", "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib", - "doc:readme": "../../scripts/generate-readme", + "doc:readme": "ts-node -P ../../scripts/tsconfig.json ../../scripts/generate-readme.ts", "doc": "node_modules/.bin/typedoc --mode modules --out doc src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" diff --git a/packages/lsys/package.json b/packages/lsys/package.json index 7925dbde22..b22292f86b 100644 --- a/packages/lsys/package.json +++ b/packages/lsys/package.json @@ -21,7 +21,7 @@ "test": "mocha test", "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib", - "doc:readme": "../../scripts/generate-readme", + "doc:readme": "ts-node -P ../../scripts/tsconfig.json ../../scripts/generate-readme.ts", "doc": "node_modules/.bin/typedoc --mode modules --out doc src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" diff --git a/packages/malloc/package.json b/packages/malloc/package.json index afd84f0513..aad9d6e6f8 100644 --- a/packages/malloc/package.json +++ b/packages/malloc/package.json @@ -21,7 +21,7 @@ "test": "mocha test", "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib", - "doc:readme": "../../scripts/generate-readme", + "doc:readme": "ts-node -P ../../scripts/tsconfig.json ../../scripts/generate-readme.ts", "doc": "node_modules/.bin/typedoc --mode modules --out doc src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" diff --git a/packages/math/package.json b/packages/math/package.json index 18d870ae1c..b93ce50e78 100644 --- a/packages/math/package.json +++ b/packages/math/package.json @@ -21,7 +21,7 @@ "test": "mocha test", "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib", - "doc:readme": "../../scripts/generate-readme", + "doc:readme": "ts-node -P ../../scripts/tsconfig.json ../../scripts/generate-readme.ts", "doc": "node_modules/.bin/typedoc --mode modules --out doc src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" diff --git a/packages/matrices/package.json b/packages/matrices/package.json index 1a1ff8588d..dab2b3e7c1 100644 --- a/packages/matrices/package.json +++ b/packages/matrices/package.json @@ -21,7 +21,7 @@ "test": "mocha test", "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib", - "doc:readme": "../../scripts/generate-readme", + "doc:readme": "ts-node -P ../../scripts/tsconfig.json ../../scripts/generate-readme.ts", "doc": "node_modules/.bin/typedoc --mode modules --out doc src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" diff --git a/packages/memoize/package.json b/packages/memoize/package.json index f50085d3d3..1c95a18006 100644 --- a/packages/memoize/package.json +++ b/packages/memoize/package.json @@ -21,7 +21,7 @@ "test": "mocha test", "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib", - "doc:readme": "../../scripts/generate-readme", + "doc:readme": "ts-node -P ../../scripts/tsconfig.json ../../scripts/generate-readme.ts", "doc": "node_modules/.bin/typedoc --mode modules --out doc src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" diff --git a/packages/mime/package.json b/packages/mime/package.json index 7690470523..6fa019ee11 100644 --- a/packages/mime/package.json +++ b/packages/mime/package.json @@ -21,7 +21,7 @@ "test": "mocha test", "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts *.map .nyc_output build coverage doc lib", - "doc:readme": "../../scripts/generate-readme", + "doc:readme": "ts-node -P ../../scripts/tsconfig.json ../../scripts/generate-readme.ts", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "doc": "node_modules/.bin/typedoc --mode modules --out doc src", "pub": "yarn build:release && yarn publish --access public" diff --git a/packages/morton/package.json b/packages/morton/package.json index 62a4418fea..d31cca46d5 100644 --- a/packages/morton/package.json +++ b/packages/morton/package.json @@ -21,7 +21,7 @@ "test": "mocha test", "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib", - "doc:readme": "../../scripts/generate-readme", + "doc:readme": "ts-node -P ../../scripts/tsconfig.json ../../scripts/generate-readme.ts", "doc": "node_modules/.bin/typedoc --mode modules --out doc src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" diff --git a/packages/paths/package.json b/packages/paths/package.json index 11b026165f..49830bc284 100644 --- a/packages/paths/package.json +++ b/packages/paths/package.json @@ -21,7 +21,7 @@ "test": "mocha test", "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib", - "doc:readme": "../../scripts/generate-readme", + "doc:readme": "ts-node -P ../../scripts/tsconfig.json ../../scripts/generate-readme.ts", "doc": "node_modules/.bin/typedoc --mode modules --out doc src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" diff --git a/packages/pixel/package.json b/packages/pixel/package.json index 23faedf636..7f1806fdb4 100644 --- a/packages/pixel/package.json +++ b/packages/pixel/package.json @@ -21,7 +21,7 @@ "test": "mocha test", "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib", - "doc:readme": "../../scripts/generate-readme", + "doc:readme": "ts-node -P ../../scripts/tsconfig.json ../../scripts/generate-readme.ts", "doc": "node_modules/.bin/typedoc --mode modules --out doc src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" diff --git a/packages/pointfree-lang/package.json b/packages/pointfree-lang/package.json index 8acc6f76f3..5b849e24f6 100644 --- a/packages/pointfree-lang/package.json +++ b/packages/pointfree-lang/package.json @@ -23,7 +23,7 @@ "peg": "pegjs -f es -o parser.js src/grammar.pegjs", "pegtest": "pegjs -o build/src/parser.js src/grammar.pegjs", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib", - "doc:readme": "../../scripts/generate-readme", + "doc:readme": "ts-node -P ../../scripts/tsconfig.json ../../scripts/generate-readme.ts", "doc": "node_modules/.bin/typedoc --mode modules --out doc src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" diff --git a/packages/pointfree/package.json b/packages/pointfree/package.json index 8b580d43be..a92de2e216 100644 --- a/packages/pointfree/package.json +++ b/packages/pointfree/package.json @@ -21,7 +21,7 @@ "test": "mocha test", "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib", - "doc:readme": "../../scripts/generate-readme", + "doc:readme": "ts-node -P ../../scripts/tsconfig.json ../../scripts/generate-readme.ts", "doc": "node_modules/.bin/typedoc --mode modules --out doc src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" diff --git a/packages/poisson/package.json b/packages/poisson/package.json index 8b04657b91..3aa5c19b7b 100644 --- a/packages/poisson/package.json +++ b/packages/poisson/package.json @@ -21,7 +21,7 @@ "test": "mocha test", "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib", - "doc:readme": "../../scripts/generate-readme", + "doc:readme": "ts-node -P ../../scripts/tsconfig.json ../../scripts/generate-readme.ts", "doc": "node_modules/.bin/typedoc --mode modules --out doc src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" diff --git a/packages/porter-duff/package.json b/packages/porter-duff/package.json index ce7274f0c9..84025ec02f 100644 --- a/packages/porter-duff/package.json +++ b/packages/porter-duff/package.json @@ -21,7 +21,7 @@ "test": "mocha test", "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib", - "doc:readme": "../../scripts/generate-readme", + "doc:readme": "ts-node -P ../../scripts/tsconfig.json ../../scripts/generate-readme.ts", "doc": "node_modules/.bin/typedoc --mode modules --out doc src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" diff --git a/packages/quad-edge/package.json b/packages/quad-edge/package.json index 7cb730bb30..dff3623fa3 100644 --- a/packages/quad-edge/package.json +++ b/packages/quad-edge/package.json @@ -21,7 +21,7 @@ "test": "mocha test", "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib", - "doc:readme": "../../scripts/generate-readme", + "doc:readme": "ts-node -P ../../scripts/tsconfig.json ../../scripts/generate-readme.ts", "doc": "node_modules/.bin/typedoc --mode modules --out doc src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" diff --git a/packages/ramp/package.json b/packages/ramp/package.json index 2f963ac0a3..75f482de4f 100644 --- a/packages/ramp/package.json +++ b/packages/ramp/package.json @@ -21,7 +21,7 @@ "test": "mocha test", "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib", - "doc:readme": "../../scripts/generate-readme", + "doc:readme": "ts-node -P ../../scripts/tsconfig.json ../../scripts/generate-readme.ts", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "doc": "node_modules/.bin/typedoc --mode modules --out doc src", "pub": "yarn build:release && yarn publish --access public" diff --git a/packages/random/package.json b/packages/random/package.json index 6d0a55be83..1413116f00 100644 --- a/packages/random/package.json +++ b/packages/random/package.json @@ -21,7 +21,7 @@ "test": "mocha test", "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib", - "doc:readme": "../../scripts/generate-readme", + "doc:readme": "ts-node -P ../../scripts/tsconfig.json ../../scripts/generate-readme.ts", "doc": "node_modules/.bin/typedoc --mode modules --out doc src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" diff --git a/packages/range-coder/package.json b/packages/range-coder/package.json index 2069c967dc..fc2e18c630 100644 --- a/packages/range-coder/package.json +++ b/packages/range-coder/package.json @@ -21,7 +21,7 @@ "test": "mocha test", "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib", - "doc:readme": "../../scripts/generate-readme", + "doc:readme": "ts-node -P ../../scripts/tsconfig.json ../../scripts/generate-readme.ts", "doc": "node_modules/.bin/typedoc --mode modules --out doc src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" diff --git a/packages/resolve-map/package.json b/packages/resolve-map/package.json index bef2c01e48..7bfd26853a 100644 --- a/packages/resolve-map/package.json +++ b/packages/resolve-map/package.json @@ -21,7 +21,7 @@ "test": "mocha test", "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib", - "doc:readme": "../../scripts/generate-readme", + "doc:readme": "ts-node -P ../../scripts/tsconfig.json ../../scripts/generate-readme.ts", "doc": "node_modules/.bin/typedoc --mode modules --out doc src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" diff --git a/packages/rle-pack/package.json b/packages/rle-pack/package.json index 441ce0ef59..fa3cb5b58b 100644 --- a/packages/rle-pack/package.json +++ b/packages/rle-pack/package.json @@ -21,7 +21,7 @@ "test": "mocha test", "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib", - "doc:readme": "../../scripts/generate-readme", + "doc:readme": "ts-node -P ../../scripts/tsconfig.json ../../scripts/generate-readme.ts", "doc": "node_modules/.bin/typedoc --mode modules --out doc src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" diff --git a/packages/router/package.json b/packages/router/package.json index 038dc6b54a..f88c1eee4d 100644 --- a/packages/router/package.json +++ b/packages/router/package.json @@ -21,7 +21,7 @@ "test": "mocha test", "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib", - "doc:readme": "../../scripts/generate-readme", + "doc:readme": "ts-node -P ../../scripts/tsconfig.json ../../scripts/generate-readme.ts", "doc": "node_modules/.bin/typedoc --mode modules --out doc src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" diff --git a/packages/rstream-csp/package.json b/packages/rstream-csp/package.json index a73dd7d8f9..09159ffec7 100644 --- a/packages/rstream-csp/package.json +++ b/packages/rstream-csp/package.json @@ -21,7 +21,7 @@ "test": "mocha test", "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib from", - "doc:readme": "../../scripts/generate-readme", + "doc:readme": "ts-node -P ../../scripts/tsconfig.json ../../scripts/generate-readme.ts", "doc": "node_modules/.bin/typedoc --mode modules --out doc src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" diff --git a/packages/rstream-dot/package.json b/packages/rstream-dot/package.json index d83637eeba..0c850b4bb8 100644 --- a/packages/rstream-dot/package.json +++ b/packages/rstream-dot/package.json @@ -21,7 +21,7 @@ "test": "mocha test", "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib", - "doc:readme": "../../scripts/generate-readme", + "doc:readme": "ts-node -P ../../scripts/tsconfig.json ../../scripts/generate-readme.ts", "doc": "node_modules/.bin/typedoc --mode modules --out doc src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" diff --git a/packages/rstream-gestures/package.json b/packages/rstream-gestures/package.json index 10a5cc33a9..c86c41cd23 100644 --- a/packages/rstream-gestures/package.json +++ b/packages/rstream-gestures/package.json @@ -21,7 +21,7 @@ "test": "mocha test", "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib", - "doc:readme": "../../scripts/generate-readme", + "doc:readme": "ts-node -P ../../scripts/tsconfig.json ../../scripts/generate-readme.ts", "doc": "node_modules/.bin/typedoc --mode modules --out doc src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" diff --git a/packages/rstream-graph/package.json b/packages/rstream-graph/package.json index 1ae1b8ced1..e1690b1f79 100644 --- a/packages/rstream-graph/package.json +++ b/packages/rstream-graph/package.json @@ -21,7 +21,7 @@ "test": "mocha test", "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib", - "doc:readme": "../../scripts/generate-readme", + "doc:readme": "ts-node -P ../../scripts/tsconfig.json ../../scripts/generate-readme.ts", "doc": "node_modules/.bin/typedoc --mode modules --out doc src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" diff --git a/packages/rstream-log-file/package.json b/packages/rstream-log-file/package.json index 68a45edaa1..5fcded0653 100644 --- a/packages/rstream-log-file/package.json +++ b/packages/rstream-log-file/package.json @@ -21,7 +21,7 @@ "test": "mocha test", "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib", - "doc:readme": "../../scripts/generate-readme", + "doc:readme": "ts-node -P ../../scripts/tsconfig.json ../../scripts/generate-readme.ts", "doc": "node_modules/.bin/typedoc --mode modules --out doc src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" diff --git a/packages/rstream-log/package.json b/packages/rstream-log/package.json index d579621651..ee490d36de 100644 --- a/packages/rstream-log/package.json +++ b/packages/rstream-log/package.json @@ -21,7 +21,7 @@ "test": "mocha test", "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib", - "doc:readme": "../../scripts/generate-readme", + "doc:readme": "ts-node -P ../../scripts/tsconfig.json ../../scripts/generate-readme.ts", "doc": "node_modules/.bin/typedoc --mode modules --out doc src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" diff --git a/packages/rstream-query/package.json b/packages/rstream-query/package.json index d1f4bef388..eae8ef4ecd 100644 --- a/packages/rstream-query/package.json +++ b/packages/rstream-query/package.json @@ -21,7 +21,7 @@ "test": "mocha test", "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib", - "doc:readme": "../../scripts/generate-readme", + "doc:readme": "ts-node -P ../../scripts/tsconfig.json ../../scripts/generate-readme.ts", "doc": "node_modules/.bin/typedoc --mode modules --out doc src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" diff --git a/packages/rstream/package.json b/packages/rstream/package.json index ba35146924..c54b801b90 100644 --- a/packages/rstream/package.json +++ b/packages/rstream/package.json @@ -21,7 +21,7 @@ "test": "mocha test", "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib from subs utils", - "doc:readme": "../../scripts/generate-readme", + "doc:readme": "ts-node -P ../../scripts/tsconfig.json ../../scripts/generate-readme.ts", "doc": "node_modules/.bin/typedoc --mode modules --out doc src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" diff --git a/packages/sax/package.json b/packages/sax/package.json index 328a76be37..b2c3201152 100644 --- a/packages/sax/package.json +++ b/packages/sax/package.json @@ -21,7 +21,7 @@ "test": "mocha test", "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib internal", - "doc:readme": "../../scripts/generate-readme", + "doc:readme": "ts-node -P ../../scripts/tsconfig.json ../../scripts/generate-readme.ts", "doc": "node_modules/.bin/typedoc --mode modules --out doc src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" diff --git a/packages/scenegraph/package.json b/packages/scenegraph/package.json index 7f3f4b82d7..bd2f8c4fb4 100644 --- a/packages/scenegraph/package.json +++ b/packages/scenegraph/package.json @@ -21,7 +21,7 @@ "test": "mocha test", "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib", - "doc:readme": "../../scripts/generate-readme", + "doc:readme": "ts-node -P ../../scripts/tsconfig.json ../../scripts/generate-readme.ts", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "doc": "node_modules/.bin/typedoc --mode modules --out doc src", "pub": "yarn build:release && yarn publish --access public" diff --git a/packages/seq/package.json b/packages/seq/package.json index 8b291ae2a4..6ea1717345 100644 --- a/packages/seq/package.json +++ b/packages/seq/package.json @@ -21,7 +21,7 @@ "test": "mocha test", "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib", - "doc:readme": "../../scripts/generate-readme", + "doc:readme": "ts-node -P ../../scripts/tsconfig.json ../../scripts/generate-readme.ts", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "doc": "node_modules/.bin/typedoc --mode modules --out doc src", "pub": "yarn build:release && yarn publish --access public" diff --git a/packages/sexpr/package.json b/packages/sexpr/package.json index a5e02240be..50ebbacfc1 100644 --- a/packages/sexpr/package.json +++ b/packages/sexpr/package.json @@ -21,7 +21,7 @@ "test": "mocha test", "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib", - "doc:readme": "../../scripts/generate-readme", + "doc:readme": "ts-node -P ../../scripts/tsconfig.json ../../scripts/generate-readme.ts", "doc": "node_modules/.bin/typedoc --mode modules --out doc src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" diff --git a/packages/shader-ast-glsl/package.json b/packages/shader-ast-glsl/package.json index 96ab8776b9..a724b02f15 100644 --- a/packages/shader-ast-glsl/package.json +++ b/packages/shader-ast-glsl/package.json @@ -21,7 +21,7 @@ "test": "mocha test", "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib codegen std", - "doc:readme": "../../scripts/generate-readme", + "doc:readme": "ts-node -P ../../scripts/tsconfig.json ../../scripts/generate-readme.ts", "doc": "node_modules/.bin/typedoc --mode modules --out doc src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" diff --git a/packages/shader-ast-js/package.json b/packages/shader-ast-js/package.json index 55dfec6fbf..26874decff 100644 --- a/packages/shader-ast-js/package.json +++ b/packages/shader-ast-js/package.json @@ -21,7 +21,7 @@ "test": "mocha test", "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib codegen std", - "doc:readme": "../../scripts/generate-readme", + "doc:readme": "ts-node -P ../../scripts/tsconfig.json ../../scripts/generate-readme.ts", "doc": "node_modules/.bin/typedoc --mode modules --out doc src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" diff --git a/packages/shader-ast-stdlib/package.json b/packages/shader-ast-stdlib/package.json index 2346c68cb9..b85930cefe 100644 --- a/packages/shader-ast-stdlib/package.json +++ b/packages/shader-ast-stdlib/package.json @@ -21,7 +21,7 @@ "test": "mocha test", "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib color fog light math matrix noise raymarch screen sdf tex", - "doc:readme": "../../scripts/generate-readme", + "doc:readme": "ts-node -P ../../scripts/tsconfig.json ../../scripts/generate-readme.ts", "doc": "node_modules/.bin/typedoc --mode modules --out doc src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" diff --git a/packages/shader-ast/package.json b/packages/shader-ast/package.json index a984f11e66..eb4fea105c 100644 --- a/packages/shader-ast/package.json +++ b/packages/shader-ast/package.json @@ -21,7 +21,7 @@ "test": "mocha test", "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib api ast builtin", - "doc:readme": "../../scripts/generate-readme", + "doc:readme": "ts-node -P ../../scripts/tsconfig.json ../../scripts/generate-readme.ts", "doc": "node_modules/.bin/typedoc --mode modules --out doc src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" diff --git a/packages/simd/package.json b/packages/simd/package.json index 4fe8ab6022..80603c4ea6 100644 --- a/packages/simd/package.json +++ b/packages/simd/package.json @@ -23,7 +23,7 @@ "test": "yarn build:test && node --experimental-wasm-simd build/test/index.js", "cover": "yarn build:test && nyc node --experimental-wasm-simd build/test/*.js && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib", - "doc:readme": "../../scripts/generate-readme", + "doc:readme": "ts-node -P ../../scripts/tsconfig.json ../../scripts/generate-readme.ts", "doc": "node_modules/.bin/typedoc --mode modules --out doc src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" diff --git a/packages/soa/package.json b/packages/soa/package.json index aa2c495c1f..b9bf5742c4 100644 --- a/packages/soa/package.json +++ b/packages/soa/package.json @@ -21,7 +21,7 @@ "test": "mocha test", "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib", - "doc:readme": "../../scripts/generate-readme", + "doc:readme": "ts-node -P ../../scripts/tsconfig.json ../../scripts/generate-readme.ts", "doc": "node_modules/.bin/typedoc --mode modules --out doc src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" diff --git a/packages/sparse/package.json b/packages/sparse/package.json index d9b7c5b289..8110d54127 100644 --- a/packages/sparse/package.json +++ b/packages/sparse/package.json @@ -21,7 +21,7 @@ "test": "mocha test", "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib", - "doc:readme": "../../scripts/generate-readme", + "doc:readme": "ts-node -P ../../scripts/tsconfig.json ../../scripts/generate-readme.ts", "doc": "node_modules/.bin/typedoc --mode modules --out doc src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" diff --git a/packages/strings/package.json b/packages/strings/package.json index 3821cf340a..870e3ab551 100644 --- a/packages/strings/package.json +++ b/packages/strings/package.json @@ -21,7 +21,7 @@ "test": "mocha test", "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib", - "doc:readme": "../../scripts/generate-readme", + "doc:readme": "ts-node -P ../../scripts/tsconfig.json ../../scripts/generate-readme.ts", "doc": "node_modules/.bin/typedoc --mode modules --out doc src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" diff --git a/packages/text-canvas/package.json b/packages/text-canvas/package.json index 29be314295..be60feb554 100644 --- a/packages/text-canvas/package.json +++ b/packages/text-canvas/package.json @@ -21,7 +21,7 @@ "test": "mocha test", "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts *.map .nyc_output build coverage doc lib", - "doc:readme": "../../scripts/generate-readme", + "doc:readme": "ts-node -P ../../scripts/tsconfig.json ../../scripts/generate-readme.ts", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "doc": "node_modules/.bin/typedoc --mode modules --out doc src", "pub": "yarn build:release && yarn publish --access public" diff --git a/packages/transducers-binary/package.json b/packages/transducers-binary/package.json index 5be576f5aa..6789c1cbc4 100644 --- a/packages/transducers-binary/package.json +++ b/packages/transducers-binary/package.json @@ -21,7 +21,7 @@ "test": "mocha test", "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib", - "doc:readme": "../../scripts/generate-readme", + "doc:readme": "ts-node -P ../../scripts/tsconfig.json ../../scripts/generate-readme.ts", "doc": "node_modules/.bin/typedoc --mode modules --out doc src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" diff --git a/packages/transducers-fsm/package.json b/packages/transducers-fsm/package.json index a4473c3e8f..1751ff8b83 100644 --- a/packages/transducers-fsm/package.json +++ b/packages/transducers-fsm/package.json @@ -21,7 +21,7 @@ "test": "mocha test", "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib", - "doc:readme": "../../scripts/generate-readme", + "doc:readme": "ts-node -P ../../scripts/tsconfig.json ../../scripts/generate-readme.ts", "doc": "node_modules/.bin/typedoc --mode modules --out doc src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" diff --git a/packages/transducers-hdom/package.json b/packages/transducers-hdom/package.json index 1ed8dd362a..b82e068e74 100644 --- a/packages/transducers-hdom/package.json +++ b/packages/transducers-hdom/package.json @@ -21,7 +21,7 @@ "test": "mocha test", "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib", - "doc:readme": "../../scripts/generate-readme", + "doc:readme": "ts-node -P ../../scripts/tsconfig.json ../../scripts/generate-readme.ts", "doc": "node_modules/.bin/typedoc --mode modules --out doc src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" diff --git a/packages/transducers-patch/package.json b/packages/transducers-patch/package.json index 04524c1946..77175c0fe2 100644 --- a/packages/transducers-patch/package.json +++ b/packages/transducers-patch/package.json @@ -21,7 +21,7 @@ "test": "mocha test", "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts *.map .nyc_output build coverage doc lib", - "doc:readme": "../../scripts/generate-readme", + "doc:readme": "ts-node -P ../../scripts/tsconfig.json ../../scripts/generate-readme.ts", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "doc": "node_modules/.bin/typedoc --mode modules --out doc src", "pub": "yarn build:release && yarn publish --access public" diff --git a/packages/transducers-stats/package.json b/packages/transducers-stats/package.json index a7edbf706c..2f64cd0d4f 100644 --- a/packages/transducers-stats/package.json +++ b/packages/transducers-stats/package.json @@ -21,7 +21,7 @@ "test": "mocha test", "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib", - "doc:readme": "../../scripts/generate-readme", + "doc:readme": "ts-node -P ../../scripts/tsconfig.json ../../scripts/generate-readme.ts", "doc": "node_modules/.bin/typedoc --mode modules --out doc src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" diff --git a/packages/transducers/package.json b/packages/transducers/package.json index 85ec2e3b1b..a809cf2900 100644 --- a/packages/transducers/package.json +++ b/packages/transducers/package.json @@ -21,7 +21,7 @@ "test": "mocha test", "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib func internal iter rfn xform", - "doc:readme": "../../scripts/generate-readme", + "doc:readme": "ts-node -P ../../scripts/tsconfig.json ../../scripts/generate-readme.ts", "doc": "node_modules/.bin/typedoc --mode modules --out doc src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" diff --git a/packages/unionstruct/package.json b/packages/unionstruct/package.json index 9784278306..f745a49d27 100644 --- a/packages/unionstruct/package.json +++ b/packages/unionstruct/package.json @@ -21,7 +21,7 @@ "test": "mocha test", "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib", - "doc:readme": "../../scripts/generate-readme", + "doc:readme": "ts-node -P ../../scripts/tsconfig.json ../../scripts/generate-readme.ts", "doc": "node_modules/.bin/typedoc --mode modules --out doc src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" diff --git a/packages/vector-pools/package.json b/packages/vector-pools/package.json index 7fb2292930..d3259e1a28 100644 --- a/packages/vector-pools/package.json +++ b/packages/vector-pools/package.json @@ -21,7 +21,7 @@ "test": "mocha test", "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib", - "doc:readme": "../../scripts/generate-readme", + "doc:readme": "ts-node -P ../../scripts/tsconfig.json ../../scripts/generate-readme.ts", "doc": "node_modules/.bin/typedoc --mode modules --out doc src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" diff --git a/packages/vectors/package.json b/packages/vectors/package.json index 738fd1c437..5329c83d3a 100644 --- a/packages/vectors/package.json +++ b/packages/vectors/package.json @@ -21,7 +21,7 @@ "test": "mocha test", "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib", - "doc:readme": "../../scripts/generate-readme", + "doc:readme": "ts-node -P ../../scripts/tsconfig.json ../../scripts/generate-readme.ts", "doc": "node_modules/.bin/typedoc --mode modules --out doc src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" diff --git a/packages/webgl-msdf/package.json b/packages/webgl-msdf/package.json index 7b7530148d..a43225382c 100644 --- a/packages/webgl-msdf/package.json +++ b/packages/webgl-msdf/package.json @@ -21,7 +21,7 @@ "test": "mocha test", "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib", - "doc:readme": "../../scripts/generate-readme", + "doc:readme": "ts-node -P ../../scripts/tsconfig.json ../../scripts/generate-readme.ts", "doc": "node_modules/.bin/typedoc --mode modules --out doc src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" diff --git a/packages/webgl-shadertoy/package.json b/packages/webgl-shadertoy/package.json index 5bb422c30c..b10db84a96 100644 --- a/packages/webgl-shadertoy/package.json +++ b/packages/webgl-shadertoy/package.json @@ -21,7 +21,7 @@ "test": "mocha test", "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib", - "doc:readme": "../../scripts/generate-readme", + "doc:readme": "ts-node -P ../../scripts/tsconfig.json ../../scripts/generate-readme.ts", "doc": "node_modules/.bin/typedoc --mode modules --out doc src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build && yarn publish --access public" diff --git a/packages/webgl/package.json b/packages/webgl/package.json index c15a32562a..c2960573f9 100644 --- a/packages/webgl/package.json +++ b/packages/webgl/package.json @@ -21,7 +21,7 @@ "test": "mocha test", "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib api geo shaders textures", - "doc:readme": "../../scripts/generate-readme", + "doc:readme": "ts-node -P ../../scripts/tsconfig.json ../../scripts/generate-readme.ts", "doc": "node_modules/.bin/typedoc --mode modules --out doc src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" diff --git a/packages/zipper/package.json b/packages/zipper/package.json index 795dfe81c1..e176adbf2d 100644 --- a/packages/zipper/package.json +++ b/packages/zipper/package.json @@ -21,7 +21,7 @@ "test": "mocha test", "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib", - "doc:readme": "../../scripts/generate-readme", + "doc:readme": "ts-node -P ../../scripts/tsconfig.json ../../scripts/generate-readme.ts", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "doc": "node_modules/.bin/typedoc --mode modules --out doc src", "pub": "yarn build:release && yarn publish --access public" diff --git a/scripts/make-module b/scripts/make-module index bd3cf9e58e..eee550c513 100755 --- a/scripts/make-module +++ b/scripts/make-module @@ -66,7 +66,7 @@ cat << EOF > "$MODULE"/package.json "test": "mocha test", "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts *.map .nyc_output build coverage doc lib", - "doc:readme": "../../scripts/generate-readme", + "doc:readme": "ts-node -P ../../scripts/tsconfig.json ../../scripts/generate-readme.ts", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "doc": "node_modules/.bin/typedoc --mode modules --out doc src", "pub": "yarn build:release && yarn publish --access public" From 1ef805be3f0347751eba6da0122e1277a5b81e21 Mon Sep 17 00:00:00 2001 From: Karsten Schmidt Date: Sat, 21 Mar 2020 11:44:52 +0000 Subject: [PATCH 15/70] feat(strings): add slugifyGH(), refactor slugify() --- packages/strings/src/slugify.ts | 30 ++++++++++++++++++++++++++++-- 1 file changed, 28 insertions(+), 2 deletions(-) diff --git a/packages/strings/src/slugify.ts b/packages/strings/src/slugify.ts index 98f15df285..266a17e32a 100644 --- a/packages/strings/src/slugify.ts +++ b/packages/strings/src/slugify.ts @@ -8,6 +8,12 @@ const re = new RegExp(src.split("").join("|"), "g"); * Based on: * {@link https://medium.com/@matthagemann/the-ultimate-way-to-slugify-a-url-string-in-javascript-b8e4a0d849e1} * + * @example + * ```ts + * slugify("Me, myself (& ëye)!") + * // "me-myself-and-eye" + * ``` + * * @param str - */ export const slugify: Stringer = (str: string) => { @@ -18,6 +24,26 @@ export const slugify: Stringer = (str: string) => { .replace(/&+/g, "-and-") .replace(/[^\w\-]+/g, "") .replace(/\-{2,}/g, "-") - .replace(/^-+/, "") - .replace(/-+$/, ""); + .replace(/(^-+)|(-+$)/g, ""); }; + +/** + * Similar to {@link slugify}, however uses GitHub's anchor naming rules + * for headings in markdown files (AFAICT). + * + * @example + * ```ts + * slugifyGH("Me, myself (& ëye)!") + * // "me--myself--eye" + * ``` + * + * @param str + */ +export const slugifyGH = (str: string) => { + return str + .toLowerCase() + .replace(/\s/g, "-") + .replace(re, (c) => dest[src.indexOf(c)]) + .replace(/[^\w\-]+/g, "") + .replace(/(^-+)|(-+$)/g, ""); +}; \ No newline at end of file From 350a6c6cb010e00f2053fb41eeb0f458ee8fb715 Mon Sep 17 00:00:00 2001 From: Karsten Schmidt Date: Sat, 21 Mar 2020 11:46:03 +0000 Subject: [PATCH 16/70] feat(strings): add trim() HOF --- packages/strings/src/index.ts | 1 + packages/strings/src/trim.ts | 26 ++++++++++++++++++++++++++ 2 files changed, 27 insertions(+) create mode 100644 packages/strings/src/trim.ts diff --git a/packages/strings/src/index.ts b/packages/strings/src/index.ts index 95d48cf6d6..f8e524e8a3 100644 --- a/packages/strings/src/index.ts +++ b/packages/strings/src/index.ts @@ -16,6 +16,7 @@ export * from "./range"; export * from "./repeat"; export * from "./slugify"; export * from "./splice"; +export * from "./trim"; export * from "./truncate"; export * from "./truncate-left"; export * from "./units"; diff --git a/packages/strings/src/trim.ts b/packages/strings/src/trim.ts new file mode 100644 index 0000000000..3c57ad0802 --- /dev/null +++ b/packages/strings/src/trim.ts @@ -0,0 +1,26 @@ +import { memoize1 } from "@thi.ng/memoize"; +import { Stringer } from "./api"; + +/** + * Higher order trim function (both sides) with support for user defined + * trimmable characters (default: whitespace only). + * + * @example + * ```ts + * trim()(" Hello ") + * // "Hello" + * + * trim(" -+")("-+-+- Hello -+-+-") + * // "Hello" + * ``` + * + * @param chars - + */ +export const trim = memoize1>((chars = " \t\n\r") => { + chars = `(${chars + .split("") + .map((x) => `\\${x}`) + .join("|")})`; + const re = new RegExp(`(^${chars}+)|(${chars}+$)`, "g"); + return (x) => x.replace(re, ""); +}); From 81fb5926d3af001f13fe2c3b9f2dc0310f722715 Mon Sep 17 00:00:00 2001 From: Karsten Schmidt Date: Sat, 21 Mar 2020 11:46:54 +0000 Subject: [PATCH 17/70] refactor(strings): add truncateRight alias --- packages/strings/src/truncate.ts | 5 +++++ packages/strings/src/units.ts | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/packages/strings/src/truncate.ts b/packages/strings/src/truncate.ts index 651cbc0376..bc81b20001 100644 --- a/packages/strings/src/truncate.ts +++ b/packages/strings/src/truncate.ts @@ -7,3 +7,8 @@ export const truncate: ( ) => Stringer = memoizeJ((n: number, suffix = "") => (x) => x.length > n ? x.substr(0, n - suffix.length) + suffix : x ); + +/** + * Alias for {@link truncate} + */ +export const truncateRight = truncate; diff --git a/packages/strings/src/units.ts b/packages/strings/src/units.ts index 0b97937545..e0fd4dd15f 100644 --- a/packages/strings/src/units.ts +++ b/packages/strings/src/units.ts @@ -39,7 +39,7 @@ export const units: ( }); const KB = 1024; -const MB = 1024 * 1024; +const MB = KB * KB; export const bits = units( [[1, " bits", 0], [KB, " Kb"], [MB, " Mb"], [KB * MB, " Gb"]], From f9becb154ae9cae8fb0d396eb037f06030b587b7 Mon Sep 17 00:00:00 2001 From: Karsten Schmidt Date: Sat, 21 Mar 2020 11:52:21 +0000 Subject: [PATCH 18/70] refactor(strings): update bits/bytes unit defs --- packages/strings/src/units.ts | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/packages/strings/src/units.ts b/packages/strings/src/units.ts index e0fd4dd15f..38097e7450 100644 --- a/packages/strings/src/units.ts +++ b/packages/strings/src/units.ts @@ -39,10 +39,14 @@ export const units: ( }); const KB = 1024; -const MB = KB * KB; export const bits = units( - [[1, " bits", 0], [KB, " Kb"], [MB, " Mb"], [KB * MB, " Gb"]], + [ + [1, " bits", 0], + [KB, " Kb"], + [KB ** 2, " Mb"], + [KB ** 3, " Gb"] + ], " bits", 2 ); @@ -51,10 +55,10 @@ export const bytes = units( [ [1, " bytes", 0], [KB, " KB"], - [MB, " MB"], - [KB * MB, " GB"], - [MB * MB, " TB"], - [KB * MB * MB, " PB"] + [KB ** 2, " MB"], + [KB ** 3, " GB"], + [KB ** 4, " TB"], + [KB ** 5, " PB"] ], " bytes", 2 From 6856682784c51be4fb53d6543cf1c1aa5380487d Mon Sep 17 00:00:00 2001 From: Karsten Schmidt Date: Sat, 21 Mar 2020 16:06:48 +0000 Subject: [PATCH 19/70] build: restructure/update readme & doctable generators - migrate to /tools - add external config - more modular architecture - update MD table generator - remove old versions under /scripts --- scripts/generate-readme-ex.ts | 85 ------ scripts/generate-readme.ts | 285 ------------------ scripts/make-module | 4 +- scripts/upload-docs | 2 +- tools/config.json | 11 + tools/src/api.ts | 54 ++++ tools/src/config.ts | 26 ++ .../src/doc-table.ts | 103 ++++--- tools/src/io.ts | 5 + tools/src/partials/asset.ts | 7 + tools/src/partials/blog.ts | 12 + tools/src/partials/docs.ts | 6 + tools/src/partials/examples.ts | 59 ++++ tools/src/partials/license.ts | 6 + tools/src/partials/link.ts | 1 + tools/src/partials/list.ts | 1 + tools/src/partials/package.ts | 89 ++++++ tools/src/partials/table.ts | 51 ++++ tools/src/partials/user.ts | 16 + tools/src/readme-examples.ts | 76 +++++ tools/src/readme.ts | 59 ++++ tools/src/toc.ts | 25 ++ tools/tsconfig.json | 10 + 23 files changed, 570 insertions(+), 423 deletions(-) delete mode 100644 scripts/generate-readme-ex.ts delete mode 100755 scripts/generate-readme.ts create mode 100644 tools/config.json create mode 100644 tools/src/api.ts create mode 100644 tools/src/config.ts rename scripts/generate-doc-table => tools/src/doc-table.ts (57%) mode change 100755 => 100644 create mode 100644 tools/src/io.ts create mode 100644 tools/src/partials/asset.ts create mode 100644 tools/src/partials/blog.ts create mode 100644 tools/src/partials/docs.ts create mode 100644 tools/src/partials/examples.ts create mode 100644 tools/src/partials/license.ts create mode 100644 tools/src/partials/link.ts create mode 100644 tools/src/partials/list.ts create mode 100644 tools/src/partials/package.ts create mode 100644 tools/src/partials/table.ts create mode 100644 tools/src/partials/user.ts create mode 100644 tools/src/readme-examples.ts create mode 100644 tools/src/readme.ts create mode 100644 tools/src/toc.ts create mode 100644 tools/tsconfig.json diff --git a/scripts/generate-readme-ex.ts b/scripts/generate-readme-ex.ts deleted file mode 100644 index 530a470857..0000000000 --- a/scripts/generate-readme-ex.ts +++ /dev/null @@ -1,85 +0,0 @@ -import { repeat, Z3 } from "@thi.ng/strings"; -import { Border, tableCanvas, toString } from "@thi.ng/text-canvas"; -import { - comp, - filter, - last, - map, - mapIndexed, - mapKeys, - max, - multiplex, - push, - scan, - transduce -} from "@thi.ng/transducers"; -import { - existsSync, - readdirSync, - readFileSync, - writeFileSync -} from "fs"; - -const examples = transduce( - comp( - map((f) => `examples/${f}/package.json`), - filter(existsSync), - map((f) => JSON.parse(readFileSync(f).toString())), - filter((pkg) => !pkg["thi.ng"]?.skip), - mapKeys( - { - name: (id) => `[${id}](./${id}/)`, - img: (_, ex) => - ex["thi.ng"]?.screenshot - ? `` - : "", - description: (desc) => desc || "TODO" - }, - false - ) - ), - push(), - readdirSync("examples") -); - -const maxLen = (key: string) => - comp( - map((x) => x[key].length), - scan(max()) - ); - -const colWidths = transduce( - multiplex(maxLen("img"), maxLen("name"), maxLen("description")), - last(), - examples -); - -const table = tableCanvas( - { - cols: [{ width: 3 }, ...map((width) => ({ width }), colWidths)], - padding: [1, 0], - border: Border.V - }, - [ - ["#", "Screenshot", "Name", "Description"], - ["---", ...map((w) => repeat("-", w), colWidths)], - ...mapIndexed( - (i, ex) => [Z3(i + 1), ex.img, ex.name, ex.description], - examples - ) - ] -); - -const PREFIX = ` -# @thi.ng/umbrella examples - -This directory contains a growing number (currently ${examples.length}) of standalone -example projects, including live online versions, build instructions -and commented source code. - -If you want to [contribute](../CONTRIBUTING.md) an example, please get -in touch via PR, issue tracker, email or twitter! - -`; - -writeFileSync("examples/README.md", PREFIX + toString(table)); diff --git a/scripts/generate-readme.ts b/scripts/generate-readme.ts deleted file mode 100755 index 97b3f9f5fb..0000000000 --- a/scripts/generate-readme.ts +++ /dev/null @@ -1,285 +0,0 @@ -import { Fn0, IObjectOf, Nullable } from "@thi.ng/api"; -import { readdirSync, readFileSync, writeFileSync } from "fs"; - -interface Package { - name: string; - description: string; - dependencies: IObjectOf; - "thi.ng": any; -} - -interface BlogPost { - title: string; - url: string; -} - -const META_FIELD = "thi.ng"; -const REPO_ID = "thi-ng/umbrella"; -const MAIN_AUTHOR = "Karsten Schmidt"; -const LICENSE = "Apache Software License 2.0"; - -const GH_URL = "https://github.com"; -const REPO_URL = `${GH_URL}/${REPO_ID}`; -const ASSET_BASE_URL = `https://raw.githubusercontent.com/${REPO_ID}`; -const DEMO_URL = "https://demo.thi.ng/umbrella"; -const DOC_URL = "https://docs.thi.ng/umbrella"; -const EX_DIR = "../../examples"; - -const RE_PKG = /@thi\.ng\/[a-z0-9-]+/g; -const RE_USER = /@([a-z0-9_-]+)/gi; -const RE_PARTIAL = /\$\{([a-z.]+)\}/gi; -const RE_IS_HEADING = /^#{2,4}\s/; -const RE_HEADING = /^(#{2,4})\s(.+)/; -const PATTERN_TOC = ""; -const PATTERN_NO_TOC = ""; - -const readJSON = (path: string) => JSON.parse(readFileSync(path).toString()); - -try { - const PKG = JSON.parse(readFileSync("./package.json").toString()); - const TPL = readFileSync("./README.tpl.md").toString(); - - const META = PKG[META_FIELD] || {}; - const BRANCH = META.branch || "develop"; - const BRANCH_URL = `${REPO_URL}/tree/${BRANCH}`; - const ASSET_URL = `${ASSET_BASE_URL}/${BRANCH}/assets`; - const START_YEAR = META.year || 2016; - - const shortName = (name: string) => name.split("/")[1]; - - const link = (title: string, href: string) => `[${title}](${href})`; - - const pkgLink = (name: string) => - link(name, `${BRANCH_URL}/packages/${shortName(name)}`); - - const userLink = (id: string): string => link(`@${id}`, `${GH_URL}/${id}`); - - const asset = (file: string, alt = "") => `![${alt}](${ASSET_URL}/${file})`; - - const list = (items: string[]) => items.map((x) => `- ${x}`).join("\n"); - - const packageList = (pkgShortNames: string[], title: string) => { - const items = []; - for (let p of pkgShortNames) { - try { - const pkg = readJSON(`../${p}/package.json`); - items.push( - pkgLink(pkg.name) + - " - " + - pkg.description.replace(RE_PKG, pkgLink) - ); - } catch (_) { - console.log(`error reading support pkg: ${p}`); - } - } - return items.length > 0 ? `### ${title}\n\n${list(items)}` : ""; - }; - - const examples = (pkgName: string) => { - const examples = []; - for (let ex of readdirSync(EX_DIR)) { - try { - const expkg = readJSON(`${EX_DIR}/${ex}/package.json`); - const meta = expkg[META_FIELD] || {}; - const explicitInclude = - Array.isArray(meta.readme) && - meta.readme.includes(shortName(pkgName)); - if ( - explicitInclude || - (meta.readme === true && - expkg.dependencies && - expkg.dependencies[pkgName]) - ) { - const body = [ - `### ${expkg.name} ${PATTERN_NO_TOC}`, - "", - meta.screenshot - ? asset(meta.screenshot, "screenshot") + "\n" - : null, - expkg.description ? expkg.description + "\n" : null, - link("Live demo", `${DEMO_URL}/${expkg.name}/`) + - " | " + - link( - "Source", - `${BRANCH_URL}/examples/${expkg.name}` - ), - "" - ] - .filter((x) => x != null) - .join("\n"); - examples.push(body); - } - } catch (_) {} - } - return examples.length - ? [ - "## Usage examples", - "", - "Several demos in this repo's", - link("/examples", `${BRANCH_URL}/examples`), - "directory are using this package.", - "", - "A selection:", - "", - ...examples - ].join("\n") - : null; - }; - - const supportPackages = (pkgName: string) => { - const pkgShortName = shortName(pkgName); - return packageList( - readdirSync("../").filter((x) => x.startsWith(pkgShortName + "-")), - "Support packages" - ); - }; - - const relatedPackages = (pkgShortNames: string[] = []) => - packageList(pkgShortNames, "Related packages"); - - const packageDesc = (pkg: Package) => { - const desc = pkg.description.replace(RE_PKG, pkgLink) + "."; - const parent = (pkg[META_FIELD] || {}).parent; - return parent && desc.indexOf(parent) == -1 - ? `${desc} This is a support package for ${pkgLink(parent)}.` - : desc; - }; - - const packageDeps = (pkg: Package) => { - const deps = Object.keys(pkg.dependencies || {}) - .sort() - .map(pkgLink); - return deps.length ? list(deps) : "None"; - }; - - const packageStatus = (status = "stable") => { - const statuses: IObjectOf = { - alpha: " - bleeding edge / work-in-progress", - beta: " - possibly breaking changes forthcoming", - stable: " - used in production", - refactor: " - undergoing major refactoring" - }; - return [ - "### Status", - "", - `**${status.toUpperCase()}**${statuses[status] || ""}` - ].join("\n"); - }; - - const packageSize = () => { - try { - const meta = readJSON("./.meta/size.json"); - const res = []; - for (let id in meta) { - res.push( - `${id.toUpperCase()}: ${(meta[id].gzip / 1024).toFixed( - 1 - )}KB` - ); - } - return "Package sizes (gzipped): " + res.join(" / "); - } catch (_) { - return ""; - } - }; - - const packageBanner = (name: string) => - `![${name}](https://media.thi.ng/umbrella/banners/thing-${shortName( - name - )}.svg?${(Date.now() / 1000) | 0})`; - - const blogPosts = (posts: BlogPost[]) => { - if (!posts) return; - return [ - "### Blog posts", - "", - list(posts.map(({ title, url }) => link(title, url))) - ].join("\n"); - }; - - const docLink = (pkgName: string) => - link("Generated API docs", `${DOC_URL}/${shortName(pkgName)}/`); - - const authors = () => { - try { - return readFileSync("./AUTHORS.md") - .toString() - .replace(RE_USER, (_, id) => userLink(id)); - } catch (_) {} - return MAIN_AUTHOR; - }; - - const copyright = (startYear: number, author: string) => { - const now = new Date().getFullYear(); - return startYear < now - ? `${startYear} - ${now} ${author}` - : `${startYear} ${author}`; - }; - - const src = "àáäâãåèéëêìíïîòóöôùúüûñçßÿœæŕśńṕẃǵǹḿǘẍźḧ·_"; - const dest = "aaaaaaeeeeiiiioooouuuuncsyoarsnpwgnmuxzh--"; - const re = new RegExp(src.split("").join("|"), "g"); - // based on @thi.ng/strings, adapted for GH - const slugify = (str: string) => { - return str - .toLowerCase() - .replace(/\s/g, "-") - .replace(re, (c) => dest[src.indexOf(c)]) - .replace(/[^\w\-]+/g, "") - .replace(/^-+/, "") - .replace(/-+$/, ""); - }; - - const injectTOC = (readme: string) => { - const toc = readme - .split("\n") - .filter( - (line) => - RE_IS_HEADING.test(line) && - line.indexOf(PATTERN_NO_TOC) === -1 - ) - .map((hd) => { - const [_, level, title] = RE_HEADING.exec(hd)!; - const indent = " ".substr(0, (level.length - 2) * 2); - const href = "#" + slugify(title); - return `${indent}- ${link(title, href)}`; - }) - .join("\n"); - return readme.replace(PATTERN_TOC, toc); - }; - - const partials: IObjectOf>> = { - "pkg.name": PKG.name, - "pkg.description": () => packageDesc(PKG), - "pkg.deps": () => packageDeps(PKG), - "pkg.size": () => packageSize(), - "pkg.banner": () => packageBanner(PKG.name), - status: () => packageStatus(META.status), - examples: () => examples(PKG.name), - supportPackages: () => supportPackages(PKG.name), - relatedPackages: () => relatedPackages(META.related), - blogPosts: () => blogPosts(META.blog), - copyright: () => copyright(START_YEAR, MAIN_AUTHOR), - docLink: () => docLink(PKG.name), - license: LICENSE, - authors - }; - - let readme = TPL.replace(RE_PARTIAL, (orig, id) => { - if (!partials.hasOwnProperty(id)) { - console.warn(`skipping unsupported tpl ID: "${id}"`); - return orig; - } - const part = partials[id]; - return (typeof part === "function" ? part() : part) || ""; - }); - - readme = readme.replace(/\n{3,}/g, "\n\n"); - readme = injectTOC(readme); - readme = "\n\n" + readme; - - writeFileSync("./README.md", readme); -} catch (e) { - console.log(e.message); - process.exit(1); -} diff --git a/scripts/make-module b/scripts/make-module index eee550c513..f1b2c52064 100755 --- a/scripts/make-module +++ b/scripts/make-module @@ -66,7 +66,7 @@ cat << EOF > "$MODULE"/package.json "test": "mocha test", "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts *.map .nyc_output build coverage doc lib", - "doc:readme": "ts-node -P ../../scripts/tsconfig.json ../../scripts/generate-readme.ts", + "doc:readme": "ts-node -P ../../tools/tsconfig.json ../../tools/readme.ts", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "doc": "node_modules/.bin/typedoc --mode modules --out doc src", "pub": "yarn build:release && yarn publish --access public" @@ -83,7 +83,7 @@ cat << EOF > "$MODULE"/package.json "typescript": "^3.8.2" }, "dependencies": { - "@thi.ng/api": "^6.8.2" + "@thi.ng/api": "^6.8.3" }, "keywords": [ "ES6", diff --git a/scripts/upload-docs b/scripts/upload-docs index 5b16b133d8..b9224ad21b 100755 --- a/scripts/upload-docs +++ b/scripts/upload-docs @@ -14,6 +14,6 @@ for m in $modules; do aws s3 sync "$m"/doc s3://docs.thi.ng/umbrella/"$name" --profile toxi-s3 --acl public-read done -scripts/generate-doc-table +node_modules/.bin/ts-node -P tools/tsconfig.json tools/src/doc-table.ts aws s3 cp docs.html s3://docs.thi.ng/index.html --profile toxi-s3 --acl public-read diff --git a/tools/config.json b/tools/config.json new file mode 100644 index 0000000000..e4fbac6727 --- /dev/null +++ b/tools/config.json @@ -0,0 +1,11 @@ +{ + "repoURL": "https://github.com/thi-ng/umbrella", + "userURL": "https://github.com/", + "assetURL": "https://raw.githubusercontent.com/thi-ng/umbrella", + "demoURL": "https://demo.thi.ng/umbrella", + "docURL": "https://docs.thi.ng/umbrella", + "exampleDir": "../../examples", + "mainAuthor": "Karsten Schmidt", + "license": "Apache Software License 2.0", + "pkgScope": "@thi.ng" +} diff --git a/tools/src/api.ts b/tools/src/api.ts new file mode 100644 index 0000000000..dd13cec1f4 --- /dev/null +++ b/tools/src/api.ts @@ -0,0 +1,54 @@ +import { IObjectOf } from "@thi.ng/api"; + +export const RE_PKG = /@thi\.ng\/[a-z0-9-]+/g; +export const RE_USER = /@([a-z0-9_-]+)/gi; +export const RE_PARTIAL = /\$\{([a-z.]+)\}/gi; +export const RE_IS_HEADING = /^#{2,4}\s/; +export const RE_HEADING = /^(#{2,4})\s(.+)/; +export const PATTERN_TOC = ""; +export const PATTERN_NO_TOC = ""; + +export const META_FIELD = "thi.ng"; + +export interface BaseConfig { + repoURL: string; + userURL: string; + assetURL: string; + demoURL: string; + docURL: string; + exampleDir: string; + mainAuthor: string; + license: string; + pkgScope: string; +} + +export interface Config extends BaseConfig { + root: Package; + meta: PackageMeta; + branchURL: string; +} + +export interface Package { + name: string; + description: string; + version: string; + dependencies?: IObjectOf; + [META_FIELD]?: Partial; +} + +export interface PackageMeta { + blog: BlogPost[]; + branch: string; + parent: string; + readme: string[] | boolean; + related: string[]; + screenshot: string; + skip: boolean; + status: string; + year: number; +} + +export interface BlogPost { + title: string; + url: string; +} diff --git a/tools/src/config.ts b/tools/src/config.ts new file mode 100644 index 0000000000..efaa9d9c55 --- /dev/null +++ b/tools/src/config.ts @@ -0,0 +1,26 @@ +import { + BaseConfig, + Config, + Package, + PackageMeta +} from "./api"; +import { readJSON } from "./io"; + +export let CONFIG: Config; + +export const initConfig = (configPath: string, pkgPath: string) => { + const conf = readJSON(configPath); + const root = readJSON(pkgPath); + const meta = { + branch: "develop", + year: 2016, + ...root["thi.ng"] + }; + CONFIG = { + ...conf, + root, + meta, + assetURL: `${conf.assetURL}/${meta.branch}/assets`, + branchURL: `${conf.repoURL}/tree/${meta.branch}` + }; +}; diff --git a/scripts/generate-doc-table b/tools/src/doc-table.ts old mode 100755 new mode 100644 similarity index 57% rename from scripts/generate-doc-table rename to tools/src/doc-table.ts index 7d192d591b..c474c08790 --- a/scripts/generate-doc-table +++ b/tools/src/doc-table.ts @@ -1,62 +1,65 @@ -#!/usr/bin/env node -const fs = require("fs"); -const h = require("@thi.ng/hiccup"); -const tx = require("@thi.ng/transducers"); +import { serialize } from "@thi.ng/hiccup"; +import { + comp, + filter, + map, + push, + transduce +} from "@thi.ng/transducers"; +import { existsSync, readdirSync, writeFileSync } from "fs"; +import { META_FIELD, Package } from "./api"; +import { readJSON } from "./io"; +import { shortName } from "./partials/package"; -const baseDir = "./packages/"; +const REPO_URL = "https://github.com/thi-ng/umbrella/blob/master/packages"; +const NPM_URL = "https://www.npmjs.com/package"; +const BADGE_URL = "https://img.shields.io/npm/v"; +const BASE_DIR = "./packages/"; -const xform = tx.comp( - tx.map((f) => baseDir + f), - tx.filter((f) => f.indexOf(".DS_Store") < 0 && fs.statSync(f).isDirectory), - tx.map((f) => { - try { - return fs.readFileSync(f + "/package.json"); - } catch (_) {} - }), - tx.filter((f) => f !== undefined), - tx.map((p) => { - p = JSON.parse(p.toString()); - return { - name: p.name, - short: p.name.substr(8), - v: p.version - }; - }), - tx.map((p) => [ - "tr", - ["td", ["a", { href: `umbrella/${p.short}/` }, p.name]], +const pkgDetails = (p: Package) => [ + "tr", + ["td", ["a", { href: `umbrella/${shortName(p.name)}/` }, p.name]], + [ + "td", [ - "td", + "a", + { href: `${NPM_URL}/${p.name}` }, [ - "a", - { href: `https://www.npmjs.com/package/${p.name}` }, - [ - "img", - { - src: `https://img.shields.io/npm/v/${p.name}.svg`, - alt: "npm version" - } - ] - ] - ], - [ - "td", - [ - "a", + "img", { - href: `https://github.com/thi-ng/umbrella/blob/master/packages/${p.short}/CHANGELOG.md` - }, - "changelog" + src: `${BADGE_URL}/${p.name}.svg`, + alt: "npm version" + } ] ] - ]) -); + ], + [ + "td", + [ + "a", + { + href: `${REPO_URL}/${shortName(p.name)}/CHANGELOG.md` + }, + "changelog" + ] + ] +]; -const packages = tx.transduce(xform, tx.push(), fs.readdirSync(baseDir)); +const packages = transduce( + comp( + map((f) => `${BASE_DIR}/${f}/package.json`), + filter(existsSync), + map((f) => readJSON(f)), + filter((pkg) => !pkg[META_FIELD]?.skip), + map(pkgDetails) + ), + push(), + readdirSync(BASE_DIR) +); -fs.writeFileSync( +writeFileSync( "docs.html", - h.serialize([ + serialize([ ["!DOCTYPE", "html"], [ "html", @@ -92,7 +95,7 @@ fs.writeFileSync( ], [ "p", - "this site hosts auto-generated documentation for the following projects:" + "This site hosts auto-generated documentation for the following projects:" ], ["table.w-100", ["tbody", ...packages]], [ diff --git a/tools/src/io.ts b/tools/src/io.ts new file mode 100644 index 0000000000..fad6b99a75 --- /dev/null +++ b/tools/src/io.ts @@ -0,0 +1,5 @@ +import { readFileSync } from "fs"; + +export const readJSON = (path: string) => JSON.parse(readFileSync(path)); + +export const readText = (path: string) => readFileSync(path).toString(); diff --git a/tools/src/partials/asset.ts b/tools/src/partials/asset.ts new file mode 100644 index 0000000000..0499e4a3c1 --- /dev/null +++ b/tools/src/partials/asset.ts @@ -0,0 +1,7 @@ +import { CONFIG } from "../config"; + +export const asset = (file: string, alt = "") => + `![${alt}](${CONFIG.assetURL}/${file})`; + +export const thumb = (src: string) => + ``; diff --git a/tools/src/partials/blog.ts b/tools/src/partials/blog.ts new file mode 100644 index 0000000000..1e844b61ca --- /dev/null +++ b/tools/src/partials/blog.ts @@ -0,0 +1,12 @@ +import { BlogPost } from "../api"; +import { link } from "./link"; +import { list } from "./list"; + +export const blogPosts = (posts: BlogPost[]) => { + if (!posts) return; + return [ + "### Blog posts", + "", + list(posts.map(({ title, url }) => link(title, url))) + ].join("\n"); +}; diff --git a/tools/src/partials/docs.ts b/tools/src/partials/docs.ts new file mode 100644 index 0000000000..7856737b7e --- /dev/null +++ b/tools/src/partials/docs.ts @@ -0,0 +1,6 @@ +import { CONFIG } from "../config"; +import { link } from "./link"; +import { shortName } from "./package"; + +export const docLink = (pkgName: string) => + link("Generated API docs", `${CONFIG.docURL}/${shortName(pkgName)}/`); diff --git a/tools/src/partials/examples.ts b/tools/src/partials/examples.ts new file mode 100644 index 0000000000..31edfe91cd --- /dev/null +++ b/tools/src/partials/examples.ts @@ -0,0 +1,59 @@ +import { readdirSync } from "fs"; +import { META_FIELD } from "../api"; +import { CONFIG } from "../config"; +import { readJSON } from "../io"; +import { thumb } from "./asset"; +import { link } from "./link"; +import { shortName } from "./package"; +import { table } from "./table"; + +export const examplesTable = (pkgName: string) => { + const examples = []; + let hasImg = false; + for (let ex of readdirSync(CONFIG.exampleDir)) { + try { + const expkg = readJSON(`${CONFIG.exampleDir}/${ex}/package.json`); + const meta = expkg[META_FIELD] || {}; + const explicitInclude = + Array.isArray(meta.readme) && + meta.readme.includes(shortName(pkgName)); + if ( + explicitInclude || + (meta.readme === true && + expkg.dependencies && + expkg.dependencies[pkgName]) + ) { + hasImg = !!meta.screenshot || hasImg; + const body = { + img: meta.screenshot ? thumb(meta.screenshot) : "", + desc: expkg.description || "", + demo: link("Demo", `${CONFIG.demoURL}/${expkg.name}/`), + src: link( + "Source", + `${CONFIG.branchURL}/examples/${expkg.name}` + ) + }; + examples.push(body); + } + } catch (_) {} + } + const headers = ["Screenshot", "Description", "Live demo", "Source"]; + const keys = ["img", "desc", "demo", "src"]; + if (!hasImg) { + headers.shift(); + keys.shift(); + } + return examples.length + ? [ + "## Usage examples", + "", + "Several demos in this repo's", + link("/examples", `${CONFIG.branchURL}/examples`), + "directory are using this package.", + "", + "A selection:", + "", + table(headers, keys, examples) + ].join("\n") + : null; +}; diff --git a/tools/src/partials/license.ts b/tools/src/partials/license.ts new file mode 100644 index 0000000000..62017b103b --- /dev/null +++ b/tools/src/partials/license.ts @@ -0,0 +1,6 @@ +export const copyright = (startYear: number, author: string) => { + const now = new Date().getFullYear(); + return startYear < now + ? `${startYear} - ${now} ${author}` + : `${startYear} ${author}`; +}; diff --git a/tools/src/partials/link.ts b/tools/src/partials/link.ts new file mode 100644 index 0000000000..46f4b8d9f7 --- /dev/null +++ b/tools/src/partials/link.ts @@ -0,0 +1 @@ +export const link = (title: string, href: string) => `[${title}](${href})`; diff --git a/tools/src/partials/list.ts b/tools/src/partials/list.ts new file mode 100644 index 0000000000..06f7b2c2c6 --- /dev/null +++ b/tools/src/partials/list.ts @@ -0,0 +1 @@ +export const list = (items: string[]) => items.map((x) => `- ${x}`).join("\n"); diff --git a/tools/src/partials/package.ts b/tools/src/partials/package.ts new file mode 100644 index 0000000000..d473053b9c --- /dev/null +++ b/tools/src/partials/package.ts @@ -0,0 +1,89 @@ +import { IObjectOf } from "@thi.ng/api"; +import { readdirSync } from "fs"; +import { META_FIELD, Package, RE_PKG } from "../api"; +import { CONFIG } from "../config"; +import { readJSON } from "../io"; +import { link } from "./link"; +import { list } from "./list"; + +export const shortName = (name: string) => name.split("/")[1]; + +export const pkgLink = (name: string) => + link(name, `${CONFIG.branchURL}/packages/${shortName(name)}`); + +export const packageList = (pkgShortNames: string[], title: string) => { + const items = []; + for (let p of pkgShortNames) { + try { + const pkg = readJSON(`../${p}/package.json`); + items.push( + pkgLink(pkg.name) + + " - " + + pkg.description.replace(RE_PKG, pkgLink) + ); + } catch (_) { + console.log(`error reading support pkg: ${p}`); + } + } + return items.length > 0 ? `### ${title}\n\n${list(items)}` : ""; +}; + +export const supportPackages = (pkgName: string) => { + const pkgShortName = shortName(pkgName); + return packageList( + readdirSync("../").filter((x) => x.startsWith(pkgShortName + "-")), + "Support packages" + ); +}; + +export const relatedPackages = (pkgShortNames: string[] = []) => + packageList(pkgShortNames, "Related packages"); + +export const packageDesc = (pkg: Package) => { + const desc = pkg.description.replace(RE_PKG, pkgLink) + "."; + const parent = (pkg[META_FIELD] || {}).parent; + return parent && desc.indexOf(parent) == -1 + ? `${desc} This is a support package for ${pkgLink(parent)}.` + : desc; +}; + +export const packageDeps = (pkg: Package) => { + const deps = Object.keys(pkg.dependencies || {}) + .sort() + .map(pkgLink); + return deps.length ? list(deps) : "None"; +}; + +export const packageStatus = (status = "stable") => { + const statuses: IObjectOf = { + alpha: " - bleeding edge / work-in-progress", + beta: " - possibly breaking changes forthcoming", + stable: " - used in production", + refactor: " - undergoing major refactoring" + }; + return [ + "### Status", + "", + `**${status.toUpperCase()}**${statuses[status] || ""}` + ].join("\n"); +}; + +export const packageSize = () => { + try { + const meta = readJSON("./.meta/size.json"); + const res = []; + for (let id in meta) { + res.push( + `${id.toUpperCase()}: ${(meta[id].gzip / 1024).toFixed(1)}KB` + ); + } + return "Package sizes (gzipped): " + res.join(" / "); + } catch (_) { + return ""; + } +}; + +export const packageBanner = (name: string) => + `![${name}](https://media.thi.ng/umbrella/banners/thing-${shortName( + name + )}.svg?${(Date.now() / 1000) | 0})`; diff --git a/tools/src/partials/table.ts b/tools/src/partials/table.ts new file mode 100644 index 0000000000..4e8f45e0dc --- /dev/null +++ b/tools/src/partials/table.ts @@ -0,0 +1,51 @@ +import { IObjectOf, Keys } from "@thi.ng/api"; +import { juxt } from "@thi.ng/compose"; +import { repeat } from "@thi.ng/strings"; +import { Border, tableCanvas, toString } from "@thi.ng/text-canvas"; +import { + comp, + last, + map, + max, + multiplex, + scan, + transduce +} from "@thi.ng/transducers"; + +const maxLen = (key: string) => + comp, number, number>( + map((x) => x[key].length), + scan(max(), 3) + ); + +export const table = >( + headers: string[], + keys: Keys[], + items: Iterable +) => { + const colWidths = transduce( + // @ts-ignore + multiplex(...keys.map((k) => maxLen(k))), + last(), + items + ); + const rows = [ + headers, + [...map((w) => repeat("-", w), colWidths)], + ...map( + // @ts-ignore + juxt(...keys.map((k) => (x: any) => x[k])), + items + ) + ]; + return toString( + tableCanvas( + { + cols: [...map((width) => ({ width }), colWidths)], + padding: [1, 0], + border: Border.V + }, + rows + ) + ); +}; diff --git a/tools/src/partials/user.ts b/tools/src/partials/user.ts new file mode 100644 index 0000000000..9fc9bf710f --- /dev/null +++ b/tools/src/partials/user.ts @@ -0,0 +1,16 @@ +import { RE_USER } from "../api"; +import { CONFIG } from "../config"; +import { readText } from "../io"; +import { link } from "./link"; + +export const userLink = (id: string): string => + link(`@${id}`, `${CONFIG.userURL}/${id}`); + +export const authors = () => { + try { + return readText("./AUTHORS.md").replace(RE_USER, (_, id) => + userLink(id) + ); + } catch (_) {} + return CONFIG.mainAuthor; +}; diff --git a/tools/src/readme-examples.ts b/tools/src/readme-examples.ts new file mode 100644 index 0000000000..e07573d6b8 --- /dev/null +++ b/tools/src/readme-examples.ts @@ -0,0 +1,76 @@ +import { IObjectOf } from "@thi.ng/api"; +import { idgen } from "@thi.ng/idgen"; +import { Z3 } from "@thi.ng/strings"; +import { + comp, + filter, + map, + mapKeys, + push, + transduce +} from "@thi.ng/transducers"; +import { existsSync, readdirSync, writeFileSync } from "fs"; +import { META_FIELD } from "./api"; +import { initConfig } from "./config"; +import { readJSON } from "./io"; +import { thumb } from "./partials/asset"; +import { table } from "./partials/table"; + +interface Example extends IObjectOf { + id: string; + img: string; + name: string; + description: string; +} + +try { + initConfig("./tools/config.json", "./package.json"); + + const counter = idgen(8); + const examples = transduce( + comp( + map((f) => `examples/${f}/package.json`), + filter(existsSync), + map((f) => readJSON(f)), + filter((pkg) => !pkg[META_FIELD]?.skip), + mapKeys( + { + id: () => Z3(counter.next() + 1), + name: (id) => `[${id}](./${id}/)`, + img: (_, ex) => + ex[META_FIELD]?.screenshot + ? thumb(ex["thi.ng"].screenshot) + : "", + description: (desc) => desc || "TODO" + }, + false + ) + ), + push(), + readdirSync("examples") + ); + + const BODY = ` +# @thi.ng/umbrella examples + +This directory contains a growing number (currently ${ + examples.length + }) of standalone +example projects, including live online versions, build instructions +and commented source code. + +If you want to [contribute](../CONTRIBUTING.md) an example, please get +in touch via PR, issue tracker, email or twitter! + +${table( + ["#", "Screenshot", "Name", "Description"], + ["id", "img", "name", "description"], + examples +)} +`; + + writeFileSync("examples/README.md", BODY); +} catch (e) { + console.log(e.message); + process.exit(1); +} diff --git a/tools/src/readme.ts b/tools/src/readme.ts new file mode 100644 index 0000000000..16d6e4f7b0 --- /dev/null +++ b/tools/src/readme.ts @@ -0,0 +1,59 @@ +import { Fn0, IObjectOf, Nullable } from "@thi.ng/api"; +import { writeFileSync } from "fs"; +import { RE_PARTIAL } from "./api"; +import { CONFIG, initConfig } from "./config"; +import { readText } from "./io"; +import { blogPosts } from "./partials/blog"; +import { docLink } from "./partials/docs"; +import { examplesTable } from "./partials/examples"; +import { copyright } from "./partials/license"; +import { + packageBanner, + packageDeps, + packageDesc, + packageSize, + packageStatus, + relatedPackages, + supportPackages +} from "./partials/package"; +import { authors } from "./partials/user"; +import { injectTOC } from "./toc"; + +try { + initConfig("../../tools/config.json", "./package.json"); + + const partials: IObjectOf>> = { + "pkg.name": CONFIG.root.name, + "pkg.description": () => packageDesc(CONFIG.root), + "pkg.deps": () => packageDeps(CONFIG.root), + "pkg.size": packageSize, + "pkg.banner": () => packageBanner(CONFIG.root.name), + status: () => packageStatus(CONFIG.meta.status), + examples: () => examplesTable(CONFIG.root.name), + supportPackages: () => supportPackages(CONFIG.root.name), + relatedPackages: () => relatedPackages(CONFIG.meta.related), + blogPosts: () => blogPosts(CONFIG.meta.blog), + docLink: () => docLink(CONFIG.root.name), + copyright: () => copyright(CONFIG.meta.year, CONFIG.mainAuthor), + license: CONFIG.license, + authors + }; + + let readme = readText("./README.tpl.md") + .replace(RE_PARTIAL, (orig, id) => { + if (!partials.hasOwnProperty(id)) { + console.warn(`skipping unsupported tpl ID: "${id}"`); + return orig; + } + const part = partials[id]; + return (typeof part === "function" ? part() : part) || ""; + }) + .replace(/\n{3,}/g, "\n\n"); + readme = injectTOC(readme); + readme = "\n\n" + readme; + + writeFileSync("./README.md", readme); +} catch (e) { + console.log(e.message); + process.exit(1); +} diff --git a/tools/src/toc.ts b/tools/src/toc.ts new file mode 100644 index 0000000000..9045c0a048 --- /dev/null +++ b/tools/src/toc.ts @@ -0,0 +1,25 @@ +import { slugifyGH } from "@thi.ng/strings"; +import { + PATTERN_NO_TOC, + PATTERN_TOC, + RE_HEADING, + RE_IS_HEADING +} from "./api"; +import { link } from "./partials/link"; + +export const injectTOC = (readme: string) => { + const toc = readme + .split("\n") + .filter( + (line) => + RE_IS_HEADING.test(line) && line.indexOf(PATTERN_NO_TOC) === -1 + ) + .map((hd) => { + const [_, level, title] = RE_HEADING.exec(hd)!; + const indent = " ".substr(0, (level.length - 2) * 2); + const href = "#" + slugifyGH(title); + return `${indent}- ${link(title, href)}`; + }) + .join("\n"); + return readme.replace(PATTERN_TOC, toc); +}; diff --git a/tools/tsconfig.json b/tools/tsconfig.json new file mode 100644 index 0000000000..14145e1ed9 --- /dev/null +++ b/tools/tsconfig.json @@ -0,0 +1,10 @@ +{ + "extends": "../tsconfig.json", + "compilerOptions": { + "outDir": "../build", + "module": "commonjs", + "noUnusedLocals": false, + "noUnusedParameters": false + }, + "include": ["./**/*.ts"] +} From bb403b424a9c6e70bd0e2af8319b534cbc74e800 Mon Sep 17 00:00:00 2001 From: Karsten Schmidt Date: Sat, 21 Mar 2020 16:07:50 +0000 Subject: [PATCH 20/70] build: update doc:readme script in all pkgs --- package.json | 2 +- packages/adjacency/package.json | 2 +- packages/api/package.json | 2 +- packages/arrays/package.json | 2 +- packages/associative/package.json | 2 +- packages/atom/package.json | 2 +- packages/bench/package.json | 2 +- packages/bencode/package.json | 2 +- packages/binary/package.json | 2 +- packages/bitfield/package.json | 2 +- packages/bitstream/package.json | 2 +- packages/cache/package.json | 2 +- packages/checks/package.json | 2 +- packages/color/package.json | 2 +- packages/compare/package.json | 2 +- packages/compose/package.json | 2 +- packages/csp/package.json | 2 +- packages/dcons/package.json | 2 +- packages/defmulti/package.json | 2 +- packages/dgraph/package.json | 2 +- packages/diff/package.json | 2 +- packages/dl-asset/package.json | 2 +- packages/dlogic/package.json | 2 +- packages/dot/package.json | 2 +- packages/dsp-io-wav/package.json | 2 +- packages/dsp/package.json | 2 +- packages/dynvar/package.json | 2 +- packages/ecs/package.json | 2 +- packages/equiv/package.json | 2 +- packages/errors/package.json | 2 +- packages/fsm/package.json | 2 +- packages/geom-accel/package.json | 2 +- packages/geom-api/package.json | 2 +- packages/geom-arc/package.json | 2 +- packages/geom-clip-line/package.json | 2 +- packages/geom-clip-poly/package.json | 2 +- packages/geom-closest-point/package.json | 2 +- packages/geom-hull/package.json | 2 +- packages/geom-isec/package.json | 2 +- packages/geom-isoline/package.json | 2 +- packages/geom-poly-utils/package.json | 2 +- packages/geom-resample/package.json | 2 +- packages/geom-splines/package.json | 2 +- packages/geom-subdiv-curve/package.json | 2 +- packages/geom-tessellate/package.json | 2 +- packages/geom-voronoi/package.json | 2 +- packages/geom/package.json | 2 +- packages/gp/package.json | 2 +- packages/grid-iterators/package.json | 2 +- packages/hdom-canvas/package.json | 2 +- packages/hdom-components/package.json | 2 +- packages/hdom-mock/package.json | 2 +- packages/hdom/package.json | 2 +- packages/heaps/package.json | 2 +- packages/hiccup-carbon-icons/package.json | 2 +- packages/hiccup-css/package.json | 2 +- packages/hiccup-markdown/package.json | 2 +- packages/hiccup-svg/package.json | 2 +- packages/hiccup/package.json | 2 +- packages/idgen/package.json | 2 +- packages/iges/package.json | 2 +- packages/imgui/package.json | 2 +- packages/interceptors/package.json | 2 +- packages/intervals/package.json | 2 +- packages/iterators/package.json | 2 +- packages/layout/package.json | 2 +- packages/leb128/package.json | 2 +- packages/lsys/package.json | 2 +- packages/malloc/package.json | 2 +- packages/math/package.json | 2 +- packages/matrices/package.json | 2 +- packages/memoize/package.json | 2 +- packages/mime/package.json | 2 +- packages/morton/package.json | 2 +- packages/paths/package.json | 2 +- packages/pixel/package.json | 2 +- packages/pointfree-lang/package.json | 2 +- packages/pointfree/package.json | 2 +- packages/poisson/package.json | 2 +- packages/porter-duff/package.json | 2 +- packages/quad-edge/package.json | 2 +- packages/ramp/package.json | 2 +- packages/random/package.json | 2 +- packages/range-coder/package.json | 2 +- packages/resolve-map/package.json | 2 +- packages/rle-pack/package.json | 2 +- packages/router/package.json | 2 +- packages/rstream-csp/package.json | 2 +- packages/rstream-dot/package.json | 2 +- packages/rstream-gestures/package.json | 2 +- packages/rstream-graph/package.json | 2 +- packages/rstream-log-file/package.json | 2 +- packages/rstream-log/package.json | 2 +- packages/rstream-query/package.json | 2 +- packages/rstream/package.json | 2 +- packages/sax/package.json | 2 +- packages/scenegraph/package.json | 2 +- packages/seq/package.json | 2 +- packages/sexpr/package.json | 2 +- packages/shader-ast-glsl/package.json | 2 +- packages/shader-ast-js/package.json | 2 +- packages/shader-ast-stdlib/package.json | 2 +- packages/shader-ast/package.json | 2 +- packages/simd/package.json | 2 +- packages/soa/package.json | 2 +- packages/sparse/package.json | 2 +- packages/strings/package.json | 2 +- packages/text-canvas/package.json | 2 +- packages/transducers-binary/package.json | 2 +- packages/transducers-fsm/package.json | 2 +- packages/transducers-hdom/package.json | 2 +- packages/transducers-patch/package.json | 2 +- packages/transducers-stats/package.json | 2 +- packages/transducers/package.json | 2 +- packages/unionstruct/package.json | 2 +- packages/vector-pools/package.json | 2 +- packages/vectors/package.json | 2 +- packages/webgl-msdf/package.json | 2 +- packages/webgl-shadertoy/package.json | 2 +- packages/webgl/package.json | 2 +- packages/zipper/package.json | 2 +- 121 files changed, 121 insertions(+), 121 deletions(-) diff --git a/package.json b/package.json index 50603ccf50..fd790d3edf 100644 --- a/package.json +++ b/package.json @@ -32,7 +32,7 @@ "doc": "lerna run doc", "doc:readme": "lerna run doc:readme", "doc:ae": "lerna run doc:ae && scripts/collect-apis", - "doc:examples": "ts-node -P scripts/tsconfig.json scripts/generate-readme-ex.ts", + "doc:examples": "ts-node -P tools/tsconfig.json tools/src/readme-examples.ts", "examples": "scripts/build-examples", "pub": "lerna publish --registry https://registry.npmjs.org/ && yarn doc && scripts/upload-docs", "test": "yarn build && yarn test:only", diff --git a/packages/adjacency/package.json b/packages/adjacency/package.json index 6b3b2b265b..10b0a068dd 100644 --- a/packages/adjacency/package.json +++ b/packages/adjacency/package.json @@ -21,7 +21,7 @@ "test": "mocha test", "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib", - "doc:readme": "ts-node -P ../../scripts/tsconfig.json ../../scripts/generate-readme.ts", + "doc:readme": "ts-node -P ../../tools/tsconfig.json ../../tools/src/readme.ts", "doc": "node_modules/.bin/typedoc --mode modules --out doc src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" diff --git a/packages/api/package.json b/packages/api/package.json index b30e3f6e59..1ef184c766 100644 --- a/packages/api/package.json +++ b/packages/api/package.json @@ -21,7 +21,7 @@ "test": "mocha test", "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib api decorators mixins", - "doc:readme": "ts-node -P ../../scripts/tsconfig.json ../../scripts/generate-readme.ts", + "doc:readme": "ts-node -P ../../tools/tsconfig.json ../../tools/src/readme.ts", "doc": "node_modules/.bin/typedoc --mode modules --out doc src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" diff --git a/packages/arrays/package.json b/packages/arrays/package.json index 529e3bfdc7..e26a2b13df 100644 --- a/packages/arrays/package.json +++ b/packages/arrays/package.json @@ -21,7 +21,7 @@ "test": "mocha test", "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib", - "doc:readme": "ts-node -P ../../scripts/tsconfig.json ../../scripts/generate-readme.ts", + "doc:readme": "ts-node -P ../../tools/tsconfig.json ../../tools/src/readme.ts", "doc": "node_modules/.bin/typedoc --mode modules --out doc src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" diff --git a/packages/associative/package.json b/packages/associative/package.json index 20aa1394ef..5c1e0c64d7 100644 --- a/packages/associative/package.json +++ b/packages/associative/package.json @@ -21,7 +21,7 @@ "test": "mocha test", "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib", - "doc:readme": "ts-node -P ../../scripts/tsconfig.json ../../scripts/generate-readme.ts", + "doc:readme": "ts-node -P ../../tools/tsconfig.json ../../tools/src/readme.ts", "doc": "node_modules/.bin/typedoc --mode modules --out doc src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" diff --git a/packages/atom/package.json b/packages/atom/package.json index 62e1ebe9ad..18214417df 100644 --- a/packages/atom/package.json +++ b/packages/atom/package.json @@ -21,7 +21,7 @@ "test": "mocha test", "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib", - "doc:readme": "ts-node -P ../../scripts/tsconfig.json ../../scripts/generate-readme.ts", + "doc:readme": "ts-node -P ../../tools/tsconfig.json ../../tools/src/readme.ts", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "doc": "node_modules/.bin/typedoc --mode modules --out doc src", "pub": "yarn build:release && yarn publish --access public" diff --git a/packages/bench/package.json b/packages/bench/package.json index 672a347201..631a9ca7ac 100644 --- a/packages/bench/package.json +++ b/packages/bench/package.json @@ -21,7 +21,7 @@ "test": "mocha test", "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib", - "doc:readme": "ts-node -P ../../scripts/tsconfig.json ../../scripts/generate-readme.ts", + "doc:readme": "ts-node -P ../../tools/tsconfig.json ../../tools/src/readme.ts", "doc": "node_modules/.bin/typedoc --mode modules --out doc src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" diff --git a/packages/bencode/package.json b/packages/bencode/package.json index 235bc42e65..7e2da0b8e5 100644 --- a/packages/bencode/package.json +++ b/packages/bencode/package.json @@ -21,7 +21,7 @@ "test": "mocha test", "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib", - "doc:readme": "ts-node -P ../../scripts/tsconfig.json ../../scripts/generate-readme.ts", + "doc:readme": "ts-node -P ../../tools/tsconfig.json ../../tools/src/readme.ts", "doc": "node_modules/.bin/typedoc --mode modules --out doc src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" diff --git a/packages/binary/package.json b/packages/binary/package.json index 595c4a40e6..43a6c8cf4d 100644 --- a/packages/binary/package.json +++ b/packages/binary/package.json @@ -21,7 +21,7 @@ "test": "mocha test", "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib", - "doc:readme": "ts-node -P ../../scripts/tsconfig.json ../../scripts/generate-readme.ts", + "doc:readme": "ts-node -P ../../tools/tsconfig.json ../../tools/src/readme.ts", "doc": "node_modules/.bin/typedoc --mode modules --out doc src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" diff --git a/packages/bitfield/package.json b/packages/bitfield/package.json index 2f8296b4a8..04a9c54a38 100644 --- a/packages/bitfield/package.json +++ b/packages/bitfield/package.json @@ -21,7 +21,7 @@ "test": "mocha test", "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib", - "doc:readme": "ts-node -P ../../scripts/tsconfig.json ../../scripts/generate-readme.ts", + "doc:readme": "ts-node -P ../../tools/tsconfig.json ../../tools/src/readme.ts", "doc": "node_modules/.bin/typedoc --mode modules --out doc src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" diff --git a/packages/bitstream/package.json b/packages/bitstream/package.json index 6b2ea89f9c..f78e4c54a6 100644 --- a/packages/bitstream/package.json +++ b/packages/bitstream/package.json @@ -21,7 +21,7 @@ "test": "mocha test", "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib", - "doc:readme": "ts-node -P ../../scripts/tsconfig.json ../../scripts/generate-readme.ts", + "doc:readme": "ts-node -P ../../tools/tsconfig.json ../../tools/src/readme.ts", "doc": "node_modules/.bin/typedoc --mode modules --out doc src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" diff --git a/packages/cache/package.json b/packages/cache/package.json index 0f20567398..ea749f36b2 100644 --- a/packages/cache/package.json +++ b/packages/cache/package.json @@ -21,7 +21,7 @@ "test": "mocha test", "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib", - "doc:readme": "ts-node -P ../../scripts/tsconfig.json ../../scripts/generate-readme.ts", + "doc:readme": "ts-node -P ../../tools/tsconfig.json ../../tools/src/readme.ts", "doc": "node_modules/.bin/typedoc --mode modules --out doc src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" diff --git a/packages/checks/package.json b/packages/checks/package.json index 2e4a0e116d..8cf4e179e1 100644 --- a/packages/checks/package.json +++ b/packages/checks/package.json @@ -21,7 +21,7 @@ "test": "mocha test", "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib", - "doc:readme": "ts-node -P ../../scripts/tsconfig.json ../../scripts/generate-readme.ts", + "doc:readme": "ts-node -P ../../tools/tsconfig.json ../../tools/src/readme.ts", "doc": "node_modules/.bin/typedoc --mode modules --out doc src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" diff --git a/packages/color/package.json b/packages/color/package.json index 51a7d38c13..509caed0e0 100644 --- a/packages/color/package.json +++ b/packages/color/package.json @@ -21,7 +21,7 @@ "test": "mocha test", "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib internal", - "doc:readme": "ts-node -P ../../scripts/tsconfig.json ../../scripts/generate-readme.ts", + "doc:readme": "ts-node -P ../../tools/tsconfig.json ../../tools/src/readme.ts", "doc": "node_modules/.bin/typedoc --mode modules --out doc src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" diff --git a/packages/compare/package.json b/packages/compare/package.json index 38cfad074b..f5987fbff3 100644 --- a/packages/compare/package.json +++ b/packages/compare/package.json @@ -21,7 +21,7 @@ "test": "mocha test", "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib", - "doc:readme": "ts-node -P ../../scripts/tsconfig.json ../../scripts/generate-readme.ts", + "doc:readme": "ts-node -P ../../tools/tsconfig.json ../../tools/src/readme.ts", "doc": "node_modules/.bin/typedoc --mode modules --out doc src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" diff --git a/packages/compose/package.json b/packages/compose/package.json index 52468222bc..e71122d505 100644 --- a/packages/compose/package.json +++ b/packages/compose/package.json @@ -21,7 +21,7 @@ "test": "mocha test", "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib", - "doc:readme": "ts-node -P ../../scripts/tsconfig.json ../../scripts/generate-readme.ts", + "doc:readme": "ts-node -P ../../tools/tsconfig.json ../../tools/src/readme.ts", "doc": "node_modules/.bin/typedoc --mode modules --out doc src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" diff --git a/packages/csp/package.json b/packages/csp/package.json index 0a094b321d..2d368a49a2 100644 --- a/packages/csp/package.json +++ b/packages/csp/package.json @@ -21,7 +21,7 @@ "test": "mocha test", "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib", - "doc:readme": "ts-node -P ../../scripts/tsconfig.json ../../scripts/generate-readme.ts", + "doc:readme": "ts-node -P ../../tools/tsconfig.json ../../tools/src/readme.ts", "doc": "node_modules/.bin/typedoc --mode modules --out doc src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public", diff --git a/packages/dcons/package.json b/packages/dcons/package.json index 7e2b0ac931..0da12d52f4 100644 --- a/packages/dcons/package.json +++ b/packages/dcons/package.json @@ -21,7 +21,7 @@ "test": "mocha test", "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib", - "doc:readme": "ts-node -P ../../scripts/tsconfig.json ../../scripts/generate-readme.ts", + "doc:readme": "ts-node -P ../../tools/tsconfig.json ../../tools/src/readme.ts", "doc": "node_modules/.bin/typedoc --mode modules --out doc src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" diff --git a/packages/defmulti/package.json b/packages/defmulti/package.json index c48724496e..a29b56eb06 100644 --- a/packages/defmulti/package.json +++ b/packages/defmulti/package.json @@ -21,7 +21,7 @@ "test": "mocha test", "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib", - "doc:readme": "ts-node -P ../../scripts/tsconfig.json ../../scripts/generate-readme.ts", + "doc:readme": "ts-node -P ../../tools/tsconfig.json ../../tools/src/readme.ts", "doc": "node_modules/.bin/typedoc --mode modules --out doc src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" diff --git a/packages/dgraph/package.json b/packages/dgraph/package.json index 468982aa4e..2b5fb31024 100644 --- a/packages/dgraph/package.json +++ b/packages/dgraph/package.json @@ -21,7 +21,7 @@ "test": "mocha test", "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib", - "doc:readme": "ts-node -P ../../scripts/tsconfig.json ../../scripts/generate-readme.ts", + "doc:readme": "ts-node -P ../../tools/tsconfig.json ../../tools/src/readme.ts", "doc": "node_modules/.bin/typedoc --mode modules --out doc src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" diff --git a/packages/diff/package.json b/packages/diff/package.json index ddbb039d0c..2878e53076 100644 --- a/packages/diff/package.json +++ b/packages/diff/package.json @@ -21,7 +21,7 @@ "test": "mocha test", "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib", - "doc:readme": "ts-node -P ../../scripts/tsconfig.json ../../scripts/generate-readme.ts", + "doc:readme": "ts-node -P ../../tools/tsconfig.json ../../tools/src/readme.ts", "doc": "node_modules/.bin/typedoc --mode modules --out doc src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" diff --git a/packages/dl-asset/package.json b/packages/dl-asset/package.json index 9375d6ac1c..ee3d71ddd5 100644 --- a/packages/dl-asset/package.json +++ b/packages/dl-asset/package.json @@ -21,7 +21,7 @@ "test": "mocha test", "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts *.map .nyc_output build coverage doc lib", - "doc:readme": "ts-node -P ../../scripts/tsconfig.json ../../scripts/generate-readme.ts", + "doc:readme": "ts-node -P ../../tools/tsconfig.json ../../tools/src/readme.ts", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "doc": "node_modules/.bin/typedoc --mode modules --out doc src", "pub": "yarn build:release && yarn publish --access public" diff --git a/packages/dlogic/package.json b/packages/dlogic/package.json index e4da58801a..da656648e9 100644 --- a/packages/dlogic/package.json +++ b/packages/dlogic/package.json @@ -21,7 +21,7 @@ "test": "mocha test", "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib", - "doc:readme": "ts-node -P ../../scripts/tsconfig.json ../../scripts/generate-readme.ts", + "doc:readme": "ts-node -P ../../tools/tsconfig.json ../../tools/src/readme.ts", "doc": "node_modules/.bin/typedoc --mode modules --out doc src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" diff --git a/packages/dot/package.json b/packages/dot/package.json index 42703a174a..d72ff68821 100644 --- a/packages/dot/package.json +++ b/packages/dot/package.json @@ -21,7 +21,7 @@ "test": "mocha test", "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib", - "doc:readme": "ts-node -P ../../scripts/tsconfig.json ../../scripts/generate-readme.ts", + "doc:readme": "ts-node -P ../../tools/tsconfig.json ../../tools/src/readme.ts", "doc": "node_modules/.bin/typedoc --mode modules --out doc src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" diff --git a/packages/dsp-io-wav/package.json b/packages/dsp-io-wav/package.json index 3344b1c49e..144e2cada8 100644 --- a/packages/dsp-io-wav/package.json +++ b/packages/dsp-io-wav/package.json @@ -21,7 +21,7 @@ "test": "mocha test", "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts *.map .nyc_output build coverage doc lib", - "doc:readme": "ts-node -P ../../scripts/tsconfig.json ../../scripts/generate-readme.ts", + "doc:readme": "ts-node -P ../../tools/tsconfig.json ../../tools/src/readme.ts", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "doc": "node_modules/.bin/typedoc --mode modules --out doc src", "pub": "yarn build:release && yarn publish --access public" diff --git a/packages/dsp/package.json b/packages/dsp/package.json index 368342a154..2fa04edb0b 100644 --- a/packages/dsp/package.json +++ b/packages/dsp/package.json @@ -21,7 +21,7 @@ "test": "mocha test", "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts *.map .nyc_output build coverage doc lib comp gen osc proc util", - "doc:readme": "ts-node -P ../../scripts/tsconfig.json ../../scripts/generate-readme.ts", + "doc:readme": "ts-node -P ../../tools/tsconfig.json ../../tools/src/readme.ts", "doc": "node_modules/.bin/typedoc --mode modules --out doc src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" diff --git a/packages/dynvar/package.json b/packages/dynvar/package.json index a5a3799b11..5c93131a75 100644 --- a/packages/dynvar/package.json +++ b/packages/dynvar/package.json @@ -21,7 +21,7 @@ "test": "mocha test", "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib api decorators mixins", - "doc:readme": "ts-node -P ../../scripts/tsconfig.json ../../scripts/generate-readme.ts", + "doc:readme": "ts-node -P ../../tools/tsconfig.json ../../tools/src/readme.ts", "doc": "node_modules/.bin/typedoc --mode modules --out doc src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" diff --git a/packages/ecs/package.json b/packages/ecs/package.json index 9dbee71fbb..9c964df6ee 100644 --- a/packages/ecs/package.json +++ b/packages/ecs/package.json @@ -21,7 +21,7 @@ "test": "mocha test", "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib", - "doc:readme": "ts-node -P ../../scripts/tsconfig.json ../../scripts/generate-readme.ts", + "doc:readme": "ts-node -P ../../tools/tsconfig.json ../../tools/src/readme.ts", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "doc": "node_modules/.bin/typedoc --mode modules --out doc src", "pub": "yarn build:release && yarn publish --access public" diff --git a/packages/equiv/package.json b/packages/equiv/package.json index 1c1e2d29cc..3062cdecb5 100644 --- a/packages/equiv/package.json +++ b/packages/equiv/package.json @@ -21,7 +21,7 @@ "test": "mocha test", "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib", - "doc:readme": "ts-node -P ../../scripts/tsconfig.json ../../scripts/generate-readme.ts", + "doc:readme": "ts-node -P ../../tools/tsconfig.json ../../tools/src/readme.ts", "doc": "node_modules/.bin/typedoc --mode modules --out doc src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" diff --git a/packages/errors/package.json b/packages/errors/package.json index 98af419b91..466e3825dc 100644 --- a/packages/errors/package.json +++ b/packages/errors/package.json @@ -21,7 +21,7 @@ "test": "mocha test", "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib", - "doc:readme": "ts-node -P ../../scripts/tsconfig.json ../../scripts/generate-readme.ts", + "doc:readme": "ts-node -P ../../tools/tsconfig.json ../../tools/src/readme.ts", "doc": "node_modules/.bin/typedoc --mode modules --out doc src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" diff --git a/packages/fsm/package.json b/packages/fsm/package.json index b72648717c..51c98f2b93 100644 --- a/packages/fsm/package.json +++ b/packages/fsm/package.json @@ -21,7 +21,7 @@ "test": "mocha test", "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib", - "doc:readme": "ts-node -P ../../scripts/tsconfig.json ../../scripts/generate-readme.ts", + "doc:readme": "ts-node -P ../../tools/tsconfig.json ../../tools/src/readme.ts", "doc": "node_modules/.bin/typedoc --mode modules --out doc src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" diff --git a/packages/geom-accel/package.json b/packages/geom-accel/package.json index a808fee2b1..c568e9ca51 100644 --- a/packages/geom-accel/package.json +++ b/packages/geom-accel/package.json @@ -22,7 +22,7 @@ "test": "mocha test", "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib internal", - "doc:readme": "ts-node -P ../../scripts/tsconfig.json ../../scripts/generate-readme.ts", + "doc:readme": "ts-node -P ../../tools/tsconfig.json ../../tools/src/readme.ts", "doc": "node_modules/.bin/typedoc --mode modules --out doc src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" diff --git a/packages/geom-api/package.json b/packages/geom-api/package.json index 28c3f60891..2a0e37f979 100644 --- a/packages/geom-api/package.json +++ b/packages/geom-api/package.json @@ -21,7 +21,7 @@ "test": "mocha test", "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib", - "doc:readme": "ts-node -P ../../scripts/tsconfig.json ../../scripts/generate-readme.ts", + "doc:readme": "ts-node -P ../../tools/tsconfig.json ../../tools/src/readme.ts", "doc": "node_modules/.bin/typedoc --mode modules --out doc src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" diff --git a/packages/geom-arc/package.json b/packages/geom-arc/package.json index 82c3022ffa..78b97d6741 100644 --- a/packages/geom-arc/package.json +++ b/packages/geom-arc/package.json @@ -21,7 +21,7 @@ "test": "mocha test", "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib", - "doc:readme": "ts-node -P ../../scripts/tsconfig.json ../../scripts/generate-readme.ts", + "doc:readme": "ts-node -P ../../tools/tsconfig.json ../../tools/src/readme.ts", "doc": "node_modules/.bin/typedoc --mode modules --out doc src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" diff --git a/packages/geom-clip-line/package.json b/packages/geom-clip-line/package.json index 2940848708..60aa1de36b 100644 --- a/packages/geom-clip-line/package.json +++ b/packages/geom-clip-line/package.json @@ -21,7 +21,7 @@ "test": "mocha test", "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts *.map .nyc_output build coverage doc lib", - "doc:readme": "ts-node -P ../../scripts/tsconfig.json ../../scripts/generate-readme.ts", + "doc:readme": "ts-node -P ../../tools/tsconfig.json ../../tools/src/readme.ts", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "doc": "node_modules/.bin/typedoc --mode modules --out doc src", "pub": "yarn build:release && yarn publish --access public" diff --git a/packages/geom-clip-poly/package.json b/packages/geom-clip-poly/package.json index e9477faaad..78457de6db 100644 --- a/packages/geom-clip-poly/package.json +++ b/packages/geom-clip-poly/package.json @@ -21,7 +21,7 @@ "test": "mocha test", "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib", - "doc:readme": "ts-node -P ../../scripts/tsconfig.json ../../scripts/generate-readme.ts", + "doc:readme": "ts-node -P ../../tools/tsconfig.json ../../tools/src/readme.ts", "doc": "node_modules/.bin/typedoc --mode modules --out doc src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" diff --git a/packages/geom-closest-point/package.json b/packages/geom-closest-point/package.json index 366d2bba7f..93d3366b96 100644 --- a/packages/geom-closest-point/package.json +++ b/packages/geom-closest-point/package.json @@ -21,7 +21,7 @@ "test": "mocha test", "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib", - "doc:readme": "ts-node -P ../../scripts/tsconfig.json ../../scripts/generate-readme.ts", + "doc:readme": "ts-node -P ../../tools/tsconfig.json ../../tools/src/readme.ts", "doc": "node_modules/.bin/typedoc --mode modules --out doc src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" diff --git a/packages/geom-hull/package.json b/packages/geom-hull/package.json index bba14012dc..3eccbafff0 100644 --- a/packages/geom-hull/package.json +++ b/packages/geom-hull/package.json @@ -21,7 +21,7 @@ "test": "mocha test", "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib", - "doc:readme": "ts-node -P ../../scripts/tsconfig.json ../../scripts/generate-readme.ts", + "doc:readme": "ts-node -P ../../tools/tsconfig.json ../../tools/src/readme.ts", "doc": "node_modules/.bin/typedoc --mode modules --out doc src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" diff --git a/packages/geom-isec/package.json b/packages/geom-isec/package.json index fd5e6ae9c1..e8cc9962ab 100644 --- a/packages/geom-isec/package.json +++ b/packages/geom-isec/package.json @@ -21,7 +21,7 @@ "test": "mocha test", "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib", - "doc:readme": "ts-node -P ../../scripts/tsconfig.json ../../scripts/generate-readme.ts", + "doc:readme": "ts-node -P ../../tools/tsconfig.json ../../tools/src/readme.ts", "doc": "node_modules/.bin/typedoc --mode modules --out doc src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" diff --git a/packages/geom-isoline/package.json b/packages/geom-isoline/package.json index 5f84465266..ebcceeea0a 100644 --- a/packages/geom-isoline/package.json +++ b/packages/geom-isoline/package.json @@ -21,7 +21,7 @@ "test": "mocha test", "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib", - "doc:readme": "ts-node -P ../../scripts/tsconfig.json ../../scripts/generate-readme.ts", + "doc:readme": "ts-node -P ../../tools/tsconfig.json ../../tools/src/readme.ts", "doc": "node_modules/.bin/typedoc --mode modules --out doc src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" diff --git a/packages/geom-poly-utils/package.json b/packages/geom-poly-utils/package.json index 990c280476..faa0e88f19 100644 --- a/packages/geom-poly-utils/package.json +++ b/packages/geom-poly-utils/package.json @@ -21,7 +21,7 @@ "test": "mocha test", "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib", - "doc:readme": "ts-node -P ../../scripts/tsconfig.json ../../scripts/generate-readme.ts", + "doc:readme": "ts-node -P ../../tools/tsconfig.json ../../tools/src/readme.ts", "doc": "node_modules/.bin/typedoc --mode modules --out doc src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" diff --git a/packages/geom-resample/package.json b/packages/geom-resample/package.json index 2df793ab11..f3c2f1fd2a 100644 --- a/packages/geom-resample/package.json +++ b/packages/geom-resample/package.json @@ -21,7 +21,7 @@ "test": "mocha test", "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib", - "doc:readme": "ts-node -P ../../scripts/tsconfig.json ../../scripts/generate-readme.ts", + "doc:readme": "ts-node -P ../../tools/tsconfig.json ../../tools/src/readme.ts", "doc": "node_modules/.bin/typedoc --mode modules --out doc src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" diff --git a/packages/geom-splines/package.json b/packages/geom-splines/package.json index 7479fe47b4..e82c73c2f3 100644 --- a/packages/geom-splines/package.json +++ b/packages/geom-splines/package.json @@ -21,7 +21,7 @@ "test": "mocha test", "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib", - "doc:readme": "ts-node -P ../../scripts/tsconfig.json ../../scripts/generate-readme.ts", + "doc:readme": "ts-node -P ../../tools/tsconfig.json ../../tools/src/readme.ts", "doc": "node_modules/.bin/typedoc --mode modules --out doc src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" diff --git a/packages/geom-subdiv-curve/package.json b/packages/geom-subdiv-curve/package.json index 52f9030f78..85b0ee9dd3 100644 --- a/packages/geom-subdiv-curve/package.json +++ b/packages/geom-subdiv-curve/package.json @@ -21,7 +21,7 @@ "test": "mocha test", "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib", - "doc:readme": "ts-node -P ../../scripts/tsconfig.json ../../scripts/generate-readme.ts", + "doc:readme": "ts-node -P ../../tools/tsconfig.json ../../tools/src/readme.ts", "doc": "node_modules/.bin/typedoc --mode modules --out doc src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" diff --git a/packages/geom-tessellate/package.json b/packages/geom-tessellate/package.json index 5f37f420f8..528555cbab 100644 --- a/packages/geom-tessellate/package.json +++ b/packages/geom-tessellate/package.json @@ -21,7 +21,7 @@ "test": "mocha test", "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib", - "doc:readme": "ts-node -P ../../scripts/tsconfig.json ../../scripts/generate-readme.ts", + "doc:readme": "ts-node -P ../../tools/tsconfig.json ../../tools/src/readme.ts", "doc": "node_modules/.bin/typedoc --mode modules --out doc src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" diff --git a/packages/geom-voronoi/package.json b/packages/geom-voronoi/package.json index cfa0798df1..98e437a4a1 100644 --- a/packages/geom-voronoi/package.json +++ b/packages/geom-voronoi/package.json @@ -21,7 +21,7 @@ "test": "mocha test", "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib", - "doc:readme": "ts-node -P ../../scripts/tsconfig.json ../../scripts/generate-readme.ts", + "doc:readme": "ts-node -P ../../tools/tsconfig.json ../../tools/src/readme.ts", "doc": "node_modules/.bin/typedoc --mode modules --out doc src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" diff --git a/packages/geom/package.json b/packages/geom/package.json index 5967ff358d..e7228854f7 100644 --- a/packages/geom/package.json +++ b/packages/geom/package.json @@ -21,7 +21,7 @@ "test": "mocha test", "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib ctors internal ops", - "doc:readme": "ts-node -P ../../scripts/tsconfig.json ../../scripts/generate-readme.ts", + "doc:readme": "ts-node -P ../../tools/tsconfig.json ../../tools/src/readme.ts", "doc": "node_modules/.bin/typedoc --mode modules --out doc src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" diff --git a/packages/gp/package.json b/packages/gp/package.json index d24bb0cbc0..34737c8db6 100644 --- a/packages/gp/package.json +++ b/packages/gp/package.json @@ -21,7 +21,7 @@ "test": "mocha test", "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib", - "doc:readme": "ts-node -P ../../scripts/tsconfig.json ../../scripts/generate-readme.ts", + "doc:readme": "ts-node -P ../../tools/tsconfig.json ../../tools/src/readme.ts", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "doc": "node_modules/.bin/typedoc --mode modules --out doc src", "pub": "yarn build:release && yarn publish --access public" diff --git a/packages/grid-iterators/package.json b/packages/grid-iterators/package.json index c43cc846c0..ffa1f07388 100644 --- a/packages/grid-iterators/package.json +++ b/packages/grid-iterators/package.json @@ -22,7 +22,7 @@ "test": "mocha test", "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib", - "doc:readme": "ts-node -P ../../scripts/tsconfig.json ../../scripts/generate-readme.ts", + "doc:readme": "ts-node -P ../../tools/tsconfig.json ../../tools/src/readme.ts", "doc": "node_modules/.bin/typedoc --mode modules --out doc src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" diff --git a/packages/hdom-canvas/package.json b/packages/hdom-canvas/package.json index 546c3f6a28..a28a173cc0 100644 --- a/packages/hdom-canvas/package.json +++ b/packages/hdom-canvas/package.json @@ -21,7 +21,7 @@ "test": "mocha test", "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib draw", - "doc:readme": "ts-node -P ../../scripts/tsconfig.json ../../scripts/generate-readme.ts", + "doc:readme": "ts-node -P ../../tools/tsconfig.json ../../tools/src/readme.ts", "doc": "node_modules/.bin/typedoc --mode modules --out doc src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" diff --git a/packages/hdom-components/package.json b/packages/hdom-components/package.json index cacd3b4f93..5994115c21 100644 --- a/packages/hdom-components/package.json +++ b/packages/hdom-components/package.json @@ -21,7 +21,7 @@ "test": "mocha test", "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib", - "doc:readme": "ts-node -P ../../scripts/tsconfig.json ../../scripts/generate-readme.ts", + "doc:readme": "ts-node -P ../../tools/tsconfig.json ../../tools/src/readme.ts", "doc": "node_modules/.bin/typedoc --mode modules --out doc src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" diff --git a/packages/hdom-mock/package.json b/packages/hdom-mock/package.json index 54e34236a9..351b1bf021 100644 --- a/packages/hdom-mock/package.json +++ b/packages/hdom-mock/package.json @@ -21,7 +21,7 @@ "test": "mocha test", "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib", - "doc:readme": "ts-node -P ../../scripts/tsconfig.json ../../scripts/generate-readme.ts", + "doc:readme": "ts-node -P ../../tools/tsconfig.json ../../tools/src/readme.ts", "doc": "node_modules/.bin/typedoc --mode modules --out doc src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" diff --git a/packages/hdom/package.json b/packages/hdom/package.json index 28d1eaad77..fe00d99f94 100644 --- a/packages/hdom/package.json +++ b/packages/hdom/package.json @@ -21,7 +21,7 @@ "test": "mocha test", "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib", - "doc:readme": "ts-node -P ../../scripts/tsconfig.json ../../scripts/generate-readme.ts", + "doc:readme": "ts-node -P ../../tools/tsconfig.json ../../tools/src/readme.ts", "doc": "node_modules/.bin/typedoc --mode modules --out doc src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" diff --git a/packages/heaps/package.json b/packages/heaps/package.json index 2e56fba425..1cb559d78b 100644 --- a/packages/heaps/package.json +++ b/packages/heaps/package.json @@ -22,7 +22,7 @@ "test": "mocha test", "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib", - "doc:readme": "ts-node -P ../../scripts/tsconfig.json ../../scripts/generate-readme.ts", + "doc:readme": "ts-node -P ../../tools/tsconfig.json ../../tools/src/readme.ts", "doc": "node_modules/.bin/typedoc --mode modules --out doc src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" diff --git a/packages/hiccup-carbon-icons/package.json b/packages/hiccup-carbon-icons/package.json index 12846caafe..4888f26a11 100644 --- a/packages/hiccup-carbon-icons/package.json +++ b/packages/hiccup-carbon-icons/package.json @@ -21,7 +21,7 @@ "test": "mocha test", "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib", - "doc:readme": "ts-node -P ../../scripts/tsconfig.json ../../scripts/generate-readme.ts", + "doc:readme": "ts-node -P ../../tools/tsconfig.json ../../tools/src/readme.ts", "doc": "node_modules/.bin/typedoc --mode modules --out doc src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" diff --git a/packages/hiccup-css/package.json b/packages/hiccup-css/package.json index 0579e05e5b..c7b498654c 100644 --- a/packages/hiccup-css/package.json +++ b/packages/hiccup-css/package.json @@ -21,7 +21,7 @@ "test": "mocha test", "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib", - "doc:readme": "ts-node -P ../../scripts/tsconfig.json ../../scripts/generate-readme.ts", + "doc:readme": "ts-node -P ../../tools/tsconfig.json ../../tools/src/readme.ts", "doc": "node_modules/.bin/typedoc --mode modules --out doc src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" diff --git a/packages/hiccup-markdown/package.json b/packages/hiccup-markdown/package.json index 3151f3fcce..f2c04ead9f 100644 --- a/packages/hiccup-markdown/package.json +++ b/packages/hiccup-markdown/package.json @@ -21,7 +21,7 @@ "test": "mocha test", "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib", - "doc:readme": "ts-node -P ../../scripts/tsconfig.json ../../scripts/generate-readme.ts", + "doc:readme": "ts-node -P ../../tools/tsconfig.json ../../tools/src/readme.ts", "doc": "node_modules/.bin/typedoc --mode modules --out doc src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" diff --git a/packages/hiccup-svg/package.json b/packages/hiccup-svg/package.json index 1b3d27df60..04b495084c 100644 --- a/packages/hiccup-svg/package.json +++ b/packages/hiccup-svg/package.json @@ -21,7 +21,7 @@ "test": "mocha test", "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib", - "doc:readme": "ts-node -P ../../scripts/tsconfig.json ../../scripts/generate-readme.ts", + "doc:readme": "ts-node -P ../../tools/tsconfig.json ../../tools/src/readme.ts", "doc": "node_modules/.bin/typedoc --mode modules --out doc src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" diff --git a/packages/hiccup/package.json b/packages/hiccup/package.json index 8fcb173604..eb471bedb9 100644 --- a/packages/hiccup/package.json +++ b/packages/hiccup/package.json @@ -21,7 +21,7 @@ "test": "mocha test", "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib", - "doc:readme": "ts-node -P ../../scripts/tsconfig.json ../../scripts/generate-readme.ts", + "doc:readme": "ts-node -P ../../tools/tsconfig.json ../../tools/src/readme.ts", "doc": "node_modules/.bin/typedoc --mode modules --out doc src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" diff --git a/packages/idgen/package.json b/packages/idgen/package.json index 78475b5ed4..caaca4c083 100644 --- a/packages/idgen/package.json +++ b/packages/idgen/package.json @@ -21,7 +21,7 @@ "test": "mocha test", "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib", - "doc:readme": "ts-node -P ../../scripts/tsconfig.json ../../scripts/generate-readme.ts", + "doc:readme": "ts-node -P ../../tools/tsconfig.json ../../tools/src/readme.ts", "doc": "node_modules/.bin/typedoc --mode modules --out doc src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" diff --git a/packages/iges/package.json b/packages/iges/package.json index f55c179b3e..c60ad68095 100644 --- a/packages/iges/package.json +++ b/packages/iges/package.json @@ -21,7 +21,7 @@ "test": "mocha test", "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib", - "doc:readme": "ts-node -P ../../scripts/tsconfig.json ../../scripts/generate-readme.ts", + "doc:readme": "ts-node -P ../../tools/tsconfig.json ../../tools/src/readme.ts", "doc": "node_modules/.bin/typedoc --mode modules --out doc src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" diff --git a/packages/imgui/package.json b/packages/imgui/package.json index 21c9e78125..e11ce7a347 100644 --- a/packages/imgui/package.json +++ b/packages/imgui/package.json @@ -21,7 +21,7 @@ "test": "mocha test", "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib behaviors components", - "doc:readme": "ts-node -P ../../scripts/tsconfig.json ../../scripts/generate-readme.ts", + "doc:readme": "ts-node -P ../../tools/tsconfig.json ../../tools/src/readme.ts", "doc": "node_modules/.bin/typedoc --mode modules --out doc src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" diff --git a/packages/interceptors/package.json b/packages/interceptors/package.json index f164403350..2effef9ec6 100644 --- a/packages/interceptors/package.json +++ b/packages/interceptors/package.json @@ -21,7 +21,7 @@ "test": "mocha test", "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib", - "doc:readme": "ts-node -P ../../scripts/tsconfig.json ../../scripts/generate-readme.ts", + "doc:readme": "ts-node -P ../../tools/tsconfig.json ../../tools/src/readme.ts", "doc": "node_modules/.bin/typedoc --mode modules --out doc src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" diff --git a/packages/intervals/package.json b/packages/intervals/package.json index caaa216a33..8a95c59951 100644 --- a/packages/intervals/package.json +++ b/packages/intervals/package.json @@ -21,7 +21,7 @@ "test": "mocha test", "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib", - "doc:readme": "ts-node -P ../../scripts/tsconfig.json ../../scripts/generate-readme.ts", + "doc:readme": "ts-node -P ../../tools/tsconfig.json ../../tools/src/readme.ts", "doc": "node_modules/.bin/typedoc --mode modules --out doc src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" diff --git a/packages/iterators/package.json b/packages/iterators/package.json index 86a9bad87c..b61d66dac1 100644 --- a/packages/iterators/package.json +++ b/packages/iterators/package.json @@ -21,7 +21,7 @@ "test": "mocha test", "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib", - "doc:readme": "ts-node -P ../../scripts/tsconfig.json ../../scripts/generate-readme.ts", + "doc:readme": "ts-node -P ../../tools/tsconfig.json ../../tools/src/readme.ts", "doc": "node_modules/.bin/typedoc --mode modules --out doc src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" diff --git a/packages/layout/package.json b/packages/layout/package.json index 9c91a74083..d1560ae5f5 100644 --- a/packages/layout/package.json +++ b/packages/layout/package.json @@ -21,7 +21,7 @@ "test": "mocha test", "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts *.map .nyc_output build coverage doc lib", - "doc:readme": "ts-node -P ../../scripts/tsconfig.json ../../scripts/generate-readme.ts", + "doc:readme": "ts-node -P ../../tools/tsconfig.json ../../tools/src/readme.ts", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "doc": "node_modules/.bin/typedoc --mode modules --out doc src", "pub": "yarn build:release && yarn publish --access public" diff --git a/packages/leb128/package.json b/packages/leb128/package.json index 9b61738cad..783044d72a 100644 --- a/packages/leb128/package.json +++ b/packages/leb128/package.json @@ -22,7 +22,7 @@ "test": "mocha test", "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib", - "doc:readme": "ts-node -P ../../scripts/tsconfig.json ../../scripts/generate-readme.ts", + "doc:readme": "ts-node -P ../../tools/tsconfig.json ../../tools/src/readme.ts", "doc": "node_modules/.bin/typedoc --mode modules --out doc src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" diff --git a/packages/lsys/package.json b/packages/lsys/package.json index b22292f86b..38153fd12c 100644 --- a/packages/lsys/package.json +++ b/packages/lsys/package.json @@ -21,7 +21,7 @@ "test": "mocha test", "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib", - "doc:readme": "ts-node -P ../../scripts/tsconfig.json ../../scripts/generate-readme.ts", + "doc:readme": "ts-node -P ../../tools/tsconfig.json ../../tools/src/readme.ts", "doc": "node_modules/.bin/typedoc --mode modules --out doc src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" diff --git a/packages/malloc/package.json b/packages/malloc/package.json index aad9d6e6f8..e1806dc46a 100644 --- a/packages/malloc/package.json +++ b/packages/malloc/package.json @@ -21,7 +21,7 @@ "test": "mocha test", "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib", - "doc:readme": "ts-node -P ../../scripts/tsconfig.json ../../scripts/generate-readme.ts", + "doc:readme": "ts-node -P ../../tools/tsconfig.json ../../tools/src/readme.ts", "doc": "node_modules/.bin/typedoc --mode modules --out doc src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" diff --git a/packages/math/package.json b/packages/math/package.json index b93ce50e78..195cf3345c 100644 --- a/packages/math/package.json +++ b/packages/math/package.json @@ -21,7 +21,7 @@ "test": "mocha test", "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib", - "doc:readme": "ts-node -P ../../scripts/tsconfig.json ../../scripts/generate-readme.ts", + "doc:readme": "ts-node -P ../../tools/tsconfig.json ../../tools/src/readme.ts", "doc": "node_modules/.bin/typedoc --mode modules --out doc src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" diff --git a/packages/matrices/package.json b/packages/matrices/package.json index dab2b3e7c1..4bcf506afe 100644 --- a/packages/matrices/package.json +++ b/packages/matrices/package.json @@ -21,7 +21,7 @@ "test": "mocha test", "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib", - "doc:readme": "ts-node -P ../../scripts/tsconfig.json ../../scripts/generate-readme.ts", + "doc:readme": "ts-node -P ../../tools/tsconfig.json ../../tools/src/readme.ts", "doc": "node_modules/.bin/typedoc --mode modules --out doc src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" diff --git a/packages/memoize/package.json b/packages/memoize/package.json index 1c95a18006..7b2fb89371 100644 --- a/packages/memoize/package.json +++ b/packages/memoize/package.json @@ -21,7 +21,7 @@ "test": "mocha test", "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib", - "doc:readme": "ts-node -P ../../scripts/tsconfig.json ../../scripts/generate-readme.ts", + "doc:readme": "ts-node -P ../../tools/tsconfig.json ../../tools/src/readme.ts", "doc": "node_modules/.bin/typedoc --mode modules --out doc src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" diff --git a/packages/mime/package.json b/packages/mime/package.json index 6fa019ee11..49a98dbd7d 100644 --- a/packages/mime/package.json +++ b/packages/mime/package.json @@ -21,7 +21,7 @@ "test": "mocha test", "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts *.map .nyc_output build coverage doc lib", - "doc:readme": "ts-node -P ../../scripts/tsconfig.json ../../scripts/generate-readme.ts", + "doc:readme": "ts-node -P ../../tools/tsconfig.json ../../tools/src/readme.ts", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "doc": "node_modules/.bin/typedoc --mode modules --out doc src", "pub": "yarn build:release && yarn publish --access public" diff --git a/packages/morton/package.json b/packages/morton/package.json index d31cca46d5..68369c7cb9 100644 --- a/packages/morton/package.json +++ b/packages/morton/package.json @@ -21,7 +21,7 @@ "test": "mocha test", "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib", - "doc:readme": "ts-node -P ../../scripts/tsconfig.json ../../scripts/generate-readme.ts", + "doc:readme": "ts-node -P ../../tools/tsconfig.json ../../tools/src/readme.ts", "doc": "node_modules/.bin/typedoc --mode modules --out doc src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" diff --git a/packages/paths/package.json b/packages/paths/package.json index 49830bc284..d11bf79aa5 100644 --- a/packages/paths/package.json +++ b/packages/paths/package.json @@ -21,7 +21,7 @@ "test": "mocha test", "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib", - "doc:readme": "ts-node -P ../../scripts/tsconfig.json ../../scripts/generate-readme.ts", + "doc:readme": "ts-node -P ../../tools/tsconfig.json ../../tools/src/readme.ts", "doc": "node_modules/.bin/typedoc --mode modules --out doc src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" diff --git a/packages/pixel/package.json b/packages/pixel/package.json index 7f1806fdb4..6265be3f0c 100644 --- a/packages/pixel/package.json +++ b/packages/pixel/package.json @@ -21,7 +21,7 @@ "test": "mocha test", "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib", - "doc:readme": "ts-node -P ../../scripts/tsconfig.json ../../scripts/generate-readme.ts", + "doc:readme": "ts-node -P ../../tools/tsconfig.json ../../tools/src/readme.ts", "doc": "node_modules/.bin/typedoc --mode modules --out doc src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" diff --git a/packages/pointfree-lang/package.json b/packages/pointfree-lang/package.json index 5b849e24f6..84f39f0b0b 100644 --- a/packages/pointfree-lang/package.json +++ b/packages/pointfree-lang/package.json @@ -23,7 +23,7 @@ "peg": "pegjs -f es -o parser.js src/grammar.pegjs", "pegtest": "pegjs -o build/src/parser.js src/grammar.pegjs", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib", - "doc:readme": "ts-node -P ../../scripts/tsconfig.json ../../scripts/generate-readme.ts", + "doc:readme": "ts-node -P ../../tools/tsconfig.json ../../tools/src/readme.ts", "doc": "node_modules/.bin/typedoc --mode modules --out doc src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" diff --git a/packages/pointfree/package.json b/packages/pointfree/package.json index a92de2e216..3f03d7f01f 100644 --- a/packages/pointfree/package.json +++ b/packages/pointfree/package.json @@ -21,7 +21,7 @@ "test": "mocha test", "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib", - "doc:readme": "ts-node -P ../../scripts/tsconfig.json ../../scripts/generate-readme.ts", + "doc:readme": "ts-node -P ../../tools/tsconfig.json ../../tools/src/readme.ts", "doc": "node_modules/.bin/typedoc --mode modules --out doc src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" diff --git a/packages/poisson/package.json b/packages/poisson/package.json index 3aa5c19b7b..8bbb176c35 100644 --- a/packages/poisson/package.json +++ b/packages/poisson/package.json @@ -21,7 +21,7 @@ "test": "mocha test", "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib", - "doc:readme": "ts-node -P ../../scripts/tsconfig.json ../../scripts/generate-readme.ts", + "doc:readme": "ts-node -P ../../tools/tsconfig.json ../../tools/src/readme.ts", "doc": "node_modules/.bin/typedoc --mode modules --out doc src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" diff --git a/packages/porter-duff/package.json b/packages/porter-duff/package.json index 84025ec02f..ae744f3a15 100644 --- a/packages/porter-duff/package.json +++ b/packages/porter-duff/package.json @@ -21,7 +21,7 @@ "test": "mocha test", "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib", - "doc:readme": "ts-node -P ../../scripts/tsconfig.json ../../scripts/generate-readme.ts", + "doc:readme": "ts-node -P ../../tools/tsconfig.json ../../tools/src/readme.ts", "doc": "node_modules/.bin/typedoc --mode modules --out doc src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" diff --git a/packages/quad-edge/package.json b/packages/quad-edge/package.json index dff3623fa3..3a46a1325b 100644 --- a/packages/quad-edge/package.json +++ b/packages/quad-edge/package.json @@ -21,7 +21,7 @@ "test": "mocha test", "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib", - "doc:readme": "ts-node -P ../../scripts/tsconfig.json ../../scripts/generate-readme.ts", + "doc:readme": "ts-node -P ../../tools/tsconfig.json ../../tools/src/readme.ts", "doc": "node_modules/.bin/typedoc --mode modules --out doc src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" diff --git a/packages/ramp/package.json b/packages/ramp/package.json index 75f482de4f..c47673eb70 100644 --- a/packages/ramp/package.json +++ b/packages/ramp/package.json @@ -21,7 +21,7 @@ "test": "mocha test", "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib", - "doc:readme": "ts-node -P ../../scripts/tsconfig.json ../../scripts/generate-readme.ts", + "doc:readme": "ts-node -P ../../tools/tsconfig.json ../../tools/src/readme.ts", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "doc": "node_modules/.bin/typedoc --mode modules --out doc src", "pub": "yarn build:release && yarn publish --access public" diff --git a/packages/random/package.json b/packages/random/package.json index 1413116f00..2864ab74e1 100644 --- a/packages/random/package.json +++ b/packages/random/package.json @@ -21,7 +21,7 @@ "test": "mocha test", "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib", - "doc:readme": "ts-node -P ../../scripts/tsconfig.json ../../scripts/generate-readme.ts", + "doc:readme": "ts-node -P ../../tools/tsconfig.json ../../tools/src/readme.ts", "doc": "node_modules/.bin/typedoc --mode modules --out doc src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" diff --git a/packages/range-coder/package.json b/packages/range-coder/package.json index fc2e18c630..5b70fd0739 100644 --- a/packages/range-coder/package.json +++ b/packages/range-coder/package.json @@ -21,7 +21,7 @@ "test": "mocha test", "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib", - "doc:readme": "ts-node -P ../../scripts/tsconfig.json ../../scripts/generate-readme.ts", + "doc:readme": "ts-node -P ../../tools/tsconfig.json ../../tools/src/readme.ts", "doc": "node_modules/.bin/typedoc --mode modules --out doc src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" diff --git a/packages/resolve-map/package.json b/packages/resolve-map/package.json index 7bfd26853a..e10efb65ba 100644 --- a/packages/resolve-map/package.json +++ b/packages/resolve-map/package.json @@ -21,7 +21,7 @@ "test": "mocha test", "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib", - "doc:readme": "ts-node -P ../../scripts/tsconfig.json ../../scripts/generate-readme.ts", + "doc:readme": "ts-node -P ../../tools/tsconfig.json ../../tools/src/readme.ts", "doc": "node_modules/.bin/typedoc --mode modules --out doc src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" diff --git a/packages/rle-pack/package.json b/packages/rle-pack/package.json index fa3cb5b58b..7111be3b25 100644 --- a/packages/rle-pack/package.json +++ b/packages/rle-pack/package.json @@ -21,7 +21,7 @@ "test": "mocha test", "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib", - "doc:readme": "ts-node -P ../../scripts/tsconfig.json ../../scripts/generate-readme.ts", + "doc:readme": "ts-node -P ../../tools/tsconfig.json ../../tools/src/readme.ts", "doc": "node_modules/.bin/typedoc --mode modules --out doc src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" diff --git a/packages/router/package.json b/packages/router/package.json index f88c1eee4d..0a90d7eee5 100644 --- a/packages/router/package.json +++ b/packages/router/package.json @@ -21,7 +21,7 @@ "test": "mocha test", "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib", - "doc:readme": "ts-node -P ../../scripts/tsconfig.json ../../scripts/generate-readme.ts", + "doc:readme": "ts-node -P ../../tools/tsconfig.json ../../tools/src/readme.ts", "doc": "node_modules/.bin/typedoc --mode modules --out doc src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" diff --git a/packages/rstream-csp/package.json b/packages/rstream-csp/package.json index 09159ffec7..f06945a06d 100644 --- a/packages/rstream-csp/package.json +++ b/packages/rstream-csp/package.json @@ -21,7 +21,7 @@ "test": "mocha test", "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib from", - "doc:readme": "ts-node -P ../../scripts/tsconfig.json ../../scripts/generate-readme.ts", + "doc:readme": "ts-node -P ../../tools/tsconfig.json ../../tools/src/readme.ts", "doc": "node_modules/.bin/typedoc --mode modules --out doc src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" diff --git a/packages/rstream-dot/package.json b/packages/rstream-dot/package.json index 0c850b4bb8..3ec5638a02 100644 --- a/packages/rstream-dot/package.json +++ b/packages/rstream-dot/package.json @@ -21,7 +21,7 @@ "test": "mocha test", "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib", - "doc:readme": "ts-node -P ../../scripts/tsconfig.json ../../scripts/generate-readme.ts", + "doc:readme": "ts-node -P ../../tools/tsconfig.json ../../tools/src/readme.ts", "doc": "node_modules/.bin/typedoc --mode modules --out doc src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" diff --git a/packages/rstream-gestures/package.json b/packages/rstream-gestures/package.json index c86c41cd23..da0def911e 100644 --- a/packages/rstream-gestures/package.json +++ b/packages/rstream-gestures/package.json @@ -21,7 +21,7 @@ "test": "mocha test", "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib", - "doc:readme": "ts-node -P ../../scripts/tsconfig.json ../../scripts/generate-readme.ts", + "doc:readme": "ts-node -P ../../tools/tsconfig.json ../../tools/src/readme.ts", "doc": "node_modules/.bin/typedoc --mode modules --out doc src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" diff --git a/packages/rstream-graph/package.json b/packages/rstream-graph/package.json index e1690b1f79..6968bcf0a6 100644 --- a/packages/rstream-graph/package.json +++ b/packages/rstream-graph/package.json @@ -21,7 +21,7 @@ "test": "mocha test", "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib", - "doc:readme": "ts-node -P ../../scripts/tsconfig.json ../../scripts/generate-readme.ts", + "doc:readme": "ts-node -P ../../tools/tsconfig.json ../../tools/src/readme.ts", "doc": "node_modules/.bin/typedoc --mode modules --out doc src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" diff --git a/packages/rstream-log-file/package.json b/packages/rstream-log-file/package.json index 5fcded0653..063d6b79e1 100644 --- a/packages/rstream-log-file/package.json +++ b/packages/rstream-log-file/package.json @@ -21,7 +21,7 @@ "test": "mocha test", "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib", - "doc:readme": "ts-node -P ../../scripts/tsconfig.json ../../scripts/generate-readme.ts", + "doc:readme": "ts-node -P ../../tools/tsconfig.json ../../tools/src/readme.ts", "doc": "node_modules/.bin/typedoc --mode modules --out doc src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" diff --git a/packages/rstream-log/package.json b/packages/rstream-log/package.json index ee490d36de..32e58fdec9 100644 --- a/packages/rstream-log/package.json +++ b/packages/rstream-log/package.json @@ -21,7 +21,7 @@ "test": "mocha test", "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib", - "doc:readme": "ts-node -P ../../scripts/tsconfig.json ../../scripts/generate-readme.ts", + "doc:readme": "ts-node -P ../../tools/tsconfig.json ../../tools/src/readme.ts", "doc": "node_modules/.bin/typedoc --mode modules --out doc src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" diff --git a/packages/rstream-query/package.json b/packages/rstream-query/package.json index eae8ef4ecd..40989eab13 100644 --- a/packages/rstream-query/package.json +++ b/packages/rstream-query/package.json @@ -21,7 +21,7 @@ "test": "mocha test", "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib", - "doc:readme": "ts-node -P ../../scripts/tsconfig.json ../../scripts/generate-readme.ts", + "doc:readme": "ts-node -P ../../tools/tsconfig.json ../../tools/src/readme.ts", "doc": "node_modules/.bin/typedoc --mode modules --out doc src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" diff --git a/packages/rstream/package.json b/packages/rstream/package.json index c54b801b90..e8de6bae42 100644 --- a/packages/rstream/package.json +++ b/packages/rstream/package.json @@ -21,7 +21,7 @@ "test": "mocha test", "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib from subs utils", - "doc:readme": "ts-node -P ../../scripts/tsconfig.json ../../scripts/generate-readme.ts", + "doc:readme": "ts-node -P ../../tools/tsconfig.json ../../tools/src/readme.ts", "doc": "node_modules/.bin/typedoc --mode modules --out doc src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" diff --git a/packages/sax/package.json b/packages/sax/package.json index b2c3201152..3e3b684859 100644 --- a/packages/sax/package.json +++ b/packages/sax/package.json @@ -21,7 +21,7 @@ "test": "mocha test", "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib internal", - "doc:readme": "ts-node -P ../../scripts/tsconfig.json ../../scripts/generate-readme.ts", + "doc:readme": "ts-node -P ../../tools/tsconfig.json ../../tools/src/readme.ts", "doc": "node_modules/.bin/typedoc --mode modules --out doc src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" diff --git a/packages/scenegraph/package.json b/packages/scenegraph/package.json index bd2f8c4fb4..5117a463e9 100644 --- a/packages/scenegraph/package.json +++ b/packages/scenegraph/package.json @@ -21,7 +21,7 @@ "test": "mocha test", "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib", - "doc:readme": "ts-node -P ../../scripts/tsconfig.json ../../scripts/generate-readme.ts", + "doc:readme": "ts-node -P ../../tools/tsconfig.json ../../tools/src/readme.ts", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "doc": "node_modules/.bin/typedoc --mode modules --out doc src", "pub": "yarn build:release && yarn publish --access public" diff --git a/packages/seq/package.json b/packages/seq/package.json index 6ea1717345..4c44861620 100644 --- a/packages/seq/package.json +++ b/packages/seq/package.json @@ -21,7 +21,7 @@ "test": "mocha test", "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib", - "doc:readme": "ts-node -P ../../scripts/tsconfig.json ../../scripts/generate-readme.ts", + "doc:readme": "ts-node -P ../../tools/tsconfig.json ../../tools/src/readme.ts", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "doc": "node_modules/.bin/typedoc --mode modules --out doc src", "pub": "yarn build:release && yarn publish --access public" diff --git a/packages/sexpr/package.json b/packages/sexpr/package.json index 50ebbacfc1..d03e0ffb30 100644 --- a/packages/sexpr/package.json +++ b/packages/sexpr/package.json @@ -21,7 +21,7 @@ "test": "mocha test", "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib", - "doc:readme": "ts-node -P ../../scripts/tsconfig.json ../../scripts/generate-readme.ts", + "doc:readme": "ts-node -P ../../tools/tsconfig.json ../../tools/src/readme.ts", "doc": "node_modules/.bin/typedoc --mode modules --out doc src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" diff --git a/packages/shader-ast-glsl/package.json b/packages/shader-ast-glsl/package.json index a724b02f15..55237905ce 100644 --- a/packages/shader-ast-glsl/package.json +++ b/packages/shader-ast-glsl/package.json @@ -21,7 +21,7 @@ "test": "mocha test", "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib codegen std", - "doc:readme": "ts-node -P ../../scripts/tsconfig.json ../../scripts/generate-readme.ts", + "doc:readme": "ts-node -P ../../tools/tsconfig.json ../../tools/src/readme.ts", "doc": "node_modules/.bin/typedoc --mode modules --out doc src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" diff --git a/packages/shader-ast-js/package.json b/packages/shader-ast-js/package.json index 26874decff..03a6c46bb5 100644 --- a/packages/shader-ast-js/package.json +++ b/packages/shader-ast-js/package.json @@ -21,7 +21,7 @@ "test": "mocha test", "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib codegen std", - "doc:readme": "ts-node -P ../../scripts/tsconfig.json ../../scripts/generate-readme.ts", + "doc:readme": "ts-node -P ../../tools/tsconfig.json ../../tools/src/readme.ts", "doc": "node_modules/.bin/typedoc --mode modules --out doc src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" diff --git a/packages/shader-ast-stdlib/package.json b/packages/shader-ast-stdlib/package.json index b85930cefe..1e6ddd2ebd 100644 --- a/packages/shader-ast-stdlib/package.json +++ b/packages/shader-ast-stdlib/package.json @@ -21,7 +21,7 @@ "test": "mocha test", "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib color fog light math matrix noise raymarch screen sdf tex", - "doc:readme": "ts-node -P ../../scripts/tsconfig.json ../../scripts/generate-readme.ts", + "doc:readme": "ts-node -P ../../tools/tsconfig.json ../../tools/src/readme.ts", "doc": "node_modules/.bin/typedoc --mode modules --out doc src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" diff --git a/packages/shader-ast/package.json b/packages/shader-ast/package.json index eb4fea105c..bd032a1949 100644 --- a/packages/shader-ast/package.json +++ b/packages/shader-ast/package.json @@ -21,7 +21,7 @@ "test": "mocha test", "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib api ast builtin", - "doc:readme": "ts-node -P ../../scripts/tsconfig.json ../../scripts/generate-readme.ts", + "doc:readme": "ts-node -P ../../tools/tsconfig.json ../../tools/src/readme.ts", "doc": "node_modules/.bin/typedoc --mode modules --out doc src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" diff --git a/packages/simd/package.json b/packages/simd/package.json index 80603c4ea6..247f38e00d 100644 --- a/packages/simd/package.json +++ b/packages/simd/package.json @@ -23,7 +23,7 @@ "test": "yarn build:test && node --experimental-wasm-simd build/test/index.js", "cover": "yarn build:test && nyc node --experimental-wasm-simd build/test/*.js && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib", - "doc:readme": "ts-node -P ../../scripts/tsconfig.json ../../scripts/generate-readme.ts", + "doc:readme": "ts-node -P ../../tools/tsconfig.json ../../tools/src/readme.ts", "doc": "node_modules/.bin/typedoc --mode modules --out doc src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" diff --git a/packages/soa/package.json b/packages/soa/package.json index b9bf5742c4..e8f7515141 100644 --- a/packages/soa/package.json +++ b/packages/soa/package.json @@ -21,7 +21,7 @@ "test": "mocha test", "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib", - "doc:readme": "ts-node -P ../../scripts/tsconfig.json ../../scripts/generate-readme.ts", + "doc:readme": "ts-node -P ../../tools/tsconfig.json ../../tools/src/readme.ts", "doc": "node_modules/.bin/typedoc --mode modules --out doc src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" diff --git a/packages/sparse/package.json b/packages/sparse/package.json index 8110d54127..001cb6171e 100644 --- a/packages/sparse/package.json +++ b/packages/sparse/package.json @@ -21,7 +21,7 @@ "test": "mocha test", "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib", - "doc:readme": "ts-node -P ../../scripts/tsconfig.json ../../scripts/generate-readme.ts", + "doc:readme": "ts-node -P ../../tools/tsconfig.json ../../tools/src/readme.ts", "doc": "node_modules/.bin/typedoc --mode modules --out doc src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" diff --git a/packages/strings/package.json b/packages/strings/package.json index 870e3ab551..a6d9fef7ff 100644 --- a/packages/strings/package.json +++ b/packages/strings/package.json @@ -21,7 +21,7 @@ "test": "mocha test", "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib", - "doc:readme": "ts-node -P ../../scripts/tsconfig.json ../../scripts/generate-readme.ts", + "doc:readme": "ts-node -P ../../tools/tsconfig.json ../../tools/src/readme.ts", "doc": "node_modules/.bin/typedoc --mode modules --out doc src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" diff --git a/packages/text-canvas/package.json b/packages/text-canvas/package.json index be60feb554..54321a364b 100644 --- a/packages/text-canvas/package.json +++ b/packages/text-canvas/package.json @@ -21,7 +21,7 @@ "test": "mocha test", "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts *.map .nyc_output build coverage doc lib", - "doc:readme": "ts-node -P ../../scripts/tsconfig.json ../../scripts/generate-readme.ts", + "doc:readme": "ts-node -P ../../tools/tsconfig.json ../../tools/src/readme.ts", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "doc": "node_modules/.bin/typedoc --mode modules --out doc src", "pub": "yarn build:release && yarn publish --access public" diff --git a/packages/transducers-binary/package.json b/packages/transducers-binary/package.json index 6789c1cbc4..ae4a5bb802 100644 --- a/packages/transducers-binary/package.json +++ b/packages/transducers-binary/package.json @@ -21,7 +21,7 @@ "test": "mocha test", "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib", - "doc:readme": "ts-node -P ../../scripts/tsconfig.json ../../scripts/generate-readme.ts", + "doc:readme": "ts-node -P ../../tools/tsconfig.json ../../tools/src/readme.ts", "doc": "node_modules/.bin/typedoc --mode modules --out doc src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" diff --git a/packages/transducers-fsm/package.json b/packages/transducers-fsm/package.json index 1751ff8b83..6b9878fc52 100644 --- a/packages/transducers-fsm/package.json +++ b/packages/transducers-fsm/package.json @@ -21,7 +21,7 @@ "test": "mocha test", "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib", - "doc:readme": "ts-node -P ../../scripts/tsconfig.json ../../scripts/generate-readme.ts", + "doc:readme": "ts-node -P ../../tools/tsconfig.json ../../tools/src/readme.ts", "doc": "node_modules/.bin/typedoc --mode modules --out doc src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" diff --git a/packages/transducers-hdom/package.json b/packages/transducers-hdom/package.json index b82e068e74..2cbea30669 100644 --- a/packages/transducers-hdom/package.json +++ b/packages/transducers-hdom/package.json @@ -21,7 +21,7 @@ "test": "mocha test", "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib", - "doc:readme": "ts-node -P ../../scripts/tsconfig.json ../../scripts/generate-readme.ts", + "doc:readme": "ts-node -P ../../tools/tsconfig.json ../../tools/src/readme.ts", "doc": "node_modules/.bin/typedoc --mode modules --out doc src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" diff --git a/packages/transducers-patch/package.json b/packages/transducers-patch/package.json index 77175c0fe2..023f41f865 100644 --- a/packages/transducers-patch/package.json +++ b/packages/transducers-patch/package.json @@ -21,7 +21,7 @@ "test": "mocha test", "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts *.map .nyc_output build coverage doc lib", - "doc:readme": "ts-node -P ../../scripts/tsconfig.json ../../scripts/generate-readme.ts", + "doc:readme": "ts-node -P ../../tools/tsconfig.json ../../tools/src/readme.ts", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "doc": "node_modules/.bin/typedoc --mode modules --out doc src", "pub": "yarn build:release && yarn publish --access public" diff --git a/packages/transducers-stats/package.json b/packages/transducers-stats/package.json index 2f64cd0d4f..b772191875 100644 --- a/packages/transducers-stats/package.json +++ b/packages/transducers-stats/package.json @@ -21,7 +21,7 @@ "test": "mocha test", "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib", - "doc:readme": "ts-node -P ../../scripts/tsconfig.json ../../scripts/generate-readme.ts", + "doc:readme": "ts-node -P ../../tools/tsconfig.json ../../tools/src/readme.ts", "doc": "node_modules/.bin/typedoc --mode modules --out doc src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" diff --git a/packages/transducers/package.json b/packages/transducers/package.json index a809cf2900..08c9ed7e33 100644 --- a/packages/transducers/package.json +++ b/packages/transducers/package.json @@ -21,7 +21,7 @@ "test": "mocha test", "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib func internal iter rfn xform", - "doc:readme": "ts-node -P ../../scripts/tsconfig.json ../../scripts/generate-readme.ts", + "doc:readme": "ts-node -P ../../tools/tsconfig.json ../../tools/src/readme.ts", "doc": "node_modules/.bin/typedoc --mode modules --out doc src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" diff --git a/packages/unionstruct/package.json b/packages/unionstruct/package.json index f745a49d27..28d1d31ada 100644 --- a/packages/unionstruct/package.json +++ b/packages/unionstruct/package.json @@ -21,7 +21,7 @@ "test": "mocha test", "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib", - "doc:readme": "ts-node -P ../../scripts/tsconfig.json ../../scripts/generate-readme.ts", + "doc:readme": "ts-node -P ../../tools/tsconfig.json ../../tools/src/readme.ts", "doc": "node_modules/.bin/typedoc --mode modules --out doc src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" diff --git a/packages/vector-pools/package.json b/packages/vector-pools/package.json index d3259e1a28..a8856b6e37 100644 --- a/packages/vector-pools/package.json +++ b/packages/vector-pools/package.json @@ -21,7 +21,7 @@ "test": "mocha test", "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib", - "doc:readme": "ts-node -P ../../scripts/tsconfig.json ../../scripts/generate-readme.ts", + "doc:readme": "ts-node -P ../../tools/tsconfig.json ../../tools/src/readme.ts", "doc": "node_modules/.bin/typedoc --mode modules --out doc src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" diff --git a/packages/vectors/package.json b/packages/vectors/package.json index 5329c83d3a..329c177079 100644 --- a/packages/vectors/package.json +++ b/packages/vectors/package.json @@ -21,7 +21,7 @@ "test": "mocha test", "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib", - "doc:readme": "ts-node -P ../../scripts/tsconfig.json ../../scripts/generate-readme.ts", + "doc:readme": "ts-node -P ../../tools/tsconfig.json ../../tools/src/readme.ts", "doc": "node_modules/.bin/typedoc --mode modules --out doc src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" diff --git a/packages/webgl-msdf/package.json b/packages/webgl-msdf/package.json index a43225382c..36f79c520d 100644 --- a/packages/webgl-msdf/package.json +++ b/packages/webgl-msdf/package.json @@ -21,7 +21,7 @@ "test": "mocha test", "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib", - "doc:readme": "ts-node -P ../../scripts/tsconfig.json ../../scripts/generate-readme.ts", + "doc:readme": "ts-node -P ../../tools/tsconfig.json ../../tools/src/readme.ts", "doc": "node_modules/.bin/typedoc --mode modules --out doc src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" diff --git a/packages/webgl-shadertoy/package.json b/packages/webgl-shadertoy/package.json index b10db84a96..72b7ada4bc 100644 --- a/packages/webgl-shadertoy/package.json +++ b/packages/webgl-shadertoy/package.json @@ -21,7 +21,7 @@ "test": "mocha test", "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib", - "doc:readme": "ts-node -P ../../scripts/tsconfig.json ../../scripts/generate-readme.ts", + "doc:readme": "ts-node -P ../../tools/tsconfig.json ../../tools/src/readme.ts", "doc": "node_modules/.bin/typedoc --mode modules --out doc src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build && yarn publish --access public" diff --git a/packages/webgl/package.json b/packages/webgl/package.json index c2960573f9..bc8f4be4cc 100644 --- a/packages/webgl/package.json +++ b/packages/webgl/package.json @@ -21,7 +21,7 @@ "test": "mocha test", "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib api geo shaders textures", - "doc:readme": "ts-node -P ../../scripts/tsconfig.json ../../scripts/generate-readme.ts", + "doc:readme": "ts-node -P ../../tools/tsconfig.json ../../tools/src/readme.ts", "doc": "node_modules/.bin/typedoc --mode modules --out doc src", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "pub": "yarn build:release && yarn publish --access public" diff --git a/packages/zipper/package.json b/packages/zipper/package.json index e176adbf2d..46f497843f 100644 --- a/packages/zipper/package.json +++ b/packages/zipper/package.json @@ -21,7 +21,7 @@ "test": "mocha test", "cover": "nyc mocha test && nyc report --reporter=lcov", "clean": "rimraf *.js *.d.ts .nyc_output build coverage doc lib", - "doc:readme": "ts-node -P ../../scripts/tsconfig.json ../../scripts/generate-readme.ts", + "doc:readme": "ts-node -P ../../tools/tsconfig.json ../../tools/src/readme.ts", "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", "doc": "node_modules/.bin/typedoc --mode modules --out doc src", "pub": "yarn build:release && yarn publish --access public" From d07088951866f4c3983a2954225f301962c462fd Mon Sep 17 00:00:00 2001 From: Karsten Schmidt Date: Sat, 21 Mar 2020 17:40:12 +0000 Subject: [PATCH 21/70] refactor(rstream-graph): update atom outputs --- packages/rstream-graph/src/graph.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/rstream-graph/src/graph.ts b/packages/rstream-graph/src/graph.ts index b74442f60d..1729f66f32 100644 --- a/packages/rstream-graph/src/graph.ts +++ b/packages/rstream-graph/src/graph.ts @@ -152,7 +152,7 @@ const prepareNodeOutputs = ( res[id] = ((path) => node.subscribe( { - next: (x) => state.resetIn(path, x) + next: (x) => state.resetIn(path, x) }, { id: `out-${nodeID}` } ))(o); @@ -160,7 +160,7 @@ const prepareNodeOutputs = ( res[id] = ((path, id) => node.subscribe( { - next: (x) => state.resetIn(path, x) + next: (x) => state.resetIn(path, x) }, map((x) => (x != null ? x[id] : x)), { id: `out-${nodeID}-${id}` } From 595cc11ecf9d141668c6c9a36624824a91383434 Mon Sep 17 00:00:00 2001 From: Karsten Schmidt Date: Sat, 21 Mar 2020 17:41:55 +0000 Subject: [PATCH 22/70] refactor(examples): update resetIn/swapIn call sites --- examples/devcards/src/index.ts | 6 ++--- examples/fft-synth/src/audio.ts | 2 +- examples/fft-synth/src/automode.ts | 10 ++++---- examples/fft-synth/src/gui.ts | 12 +++++----- examples/fft-synth/src/index.ts | 8 +++---- examples/fft-synth/src/state.ts | 8 +++---- examples/hdom-dyn-context/src/index.ts | 3 ++- examples/hydrate-basics/src/index.ts | 4 ++-- examples/imgui/src/index.ts | 28 +++++++++++------------ examples/rstream-spreadsheet/src/state.ts | 8 +++---- examples/todo-list/src/index.ts | 6 +++-- 11 files changed, 49 insertions(+), 46 deletions(-) diff --git a/examples/devcards/src/index.ts b/examples/devcards/src/index.ts index b997879169..420210c106 100644 --- a/examples/devcards/src/index.ts +++ b/examples/devcards/src/index.ts @@ -115,9 +115,9 @@ function bmi(state: IAtom) { let { height, weight, bmi } = (state.deref() || {}); height *= 0.01; if (updateWeight) { - state.resetIn("weight", bmi * height * height); + state.resetIn(["weight"], bmi * height * height); } else { - state.resetIn("bmi", weight / (height * height)); + state.resetIn(["bmi"], weight / (height * height)); } }; @@ -216,7 +216,7 @@ defcard(bmi, new Cursor(db, "card2")); defcard((state) => { // just some random task to populate another part of the app state setInterval( - () => state.resetIn("stats.now", new Date().toISOString()), + () => state.resetIn(["stats","now"], new Date().toISOString()), 1000 ); return ["div", "The full shared state:"]; diff --git a/examples/fft-synth/src/audio.ts b/examples/fft-synth/src/audio.ts index 4638ee5a44..5d670698ca 100644 --- a/examples/fft-synth/src/audio.ts +++ b/examples/fft-synth/src/audio.ts @@ -41,7 +41,7 @@ export const updateAudio = () => { } delay.next(bins); const wave = ifft(conjugate(bins))[0]; - DB.resetIn("wave", wave); + DB.resetIn(["wave"], wave); if (!actx) return; const left = buf.getChannelData(0); diff --git a/examples/fft-synth/src/automode.ts b/examples/fft-synth/src/automode.ts index 3c26d326c4..928e3811c8 100644 --- a/examples/fft-synth/src/automode.ts +++ b/examples/fft-synth/src/automode.ts @@ -2,7 +2,7 @@ import { weightedRandom } from "@thi.ng/random"; import { map, range } from "@thi.ng/transducers"; import { updateAudio } from "./audio"; import { NUM_BINS } from "./config"; -import { DB, updateSpectrum } from "./state"; +import { DB, updateSpectrumBin } from "./state"; const weights = [ 0, @@ -17,16 +17,16 @@ const rnd = weightedRandom([...range(0, NUM_BINS)], weights); const startAutoMode = () => { let i = 0; DB.resetIn( - "auto", + ["auto"], setInterval(() => { let { decay, attenuate, interval } = DB.value; attenuate = 1 + attenuate; - DB.swapIn("bins", (buf: number[]) => + DB.swapIn(["bins"], (buf: number[]) => buf.map((x, i) => (x * decay) / attenuate ** i) ); if (i % interval === 0) { const bin = rnd(); - updateSpectrum( + updateSpectrumBin( bin, Math.random() * (1 - Math.pow((bin - 1) / NUM_BINS, 0.8)) ); @@ -39,7 +39,7 @@ const startAutoMode = () => { const stopAutoMode = () => { clearInterval(DB.value.auto); - DB.resetIn("auto", null); + DB.resetIn(["auto"], null); }; export const toggleAutoMode = () => diff --git a/examples/fft-synth/src/gui.ts b/examples/fft-synth/src/gui.ts index 4b3aa72469..3e9123d1d7 100644 --- a/examples/fft-synth/src/gui.ts +++ b/examples/fft-synth/src/gui.ts @@ -23,7 +23,7 @@ import { DB, setGain, setSpectrumPreset, - updateSpectrum + updateSpectrumBin } from "./state"; export const gui = new IMGUI({ @@ -105,7 +105,7 @@ export const updateGUI = (draw: boolean) => { FMT_PERCENT, "Bin gain decay factor" ); - res !== undefined && DB.resetIn("decay", res); + res !== undefined && DB.resetIn(["decay"], res); res = sliderH( gui, @@ -119,7 +119,7 @@ export const updateGUI = (draw: boolean) => { FMT_PERCENT, "Bin decay attenuation factor" ); - res !== undefined && DB.resetIn("attenuate", res); + res !== undefined && DB.resetIn(["attenuate"], res); res = sliderH( gui, @@ -133,7 +133,7 @@ export const updateGUI = (draw: boolean) => { FMT_PERCENT, "Delay line feedback" ); - res !== undefined && DB.resetIn("feedback", res); + res !== undefined && DB.resetIn(["feedback"], res); res = sliderH( gui, @@ -147,7 +147,7 @@ export const updateGUI = (draw: boolean) => { FMT, "Trigger interval" ); - res !== undefined && DB.resetIn("interval", res); + res !== undefined && DB.resetIn(["interval"], res); gui.endDisabled(); @@ -179,7 +179,7 @@ export const updateGUI = (draw: boolean) => { FMT, BIN_LABELS ); - res && updateSpectrum(res[0], res[1]); + res && updateSpectrumBin(res[0], res[1]); textLabel(gui, grid, "Waveform"); gui.end(); diff --git a/examples/fft-synth/src/index.ts b/examples/fft-synth/src/index.ts index 0b93c70ebb..2b674d9bfd 100644 --- a/examples/fft-synth/src/index.ts +++ b/examples/fft-synth/src/index.ts @@ -35,10 +35,10 @@ const app = () => { }), fromDOMEvent(window, "resize").subscribe({ next() { - DB.resetIn("size", [ - window.innerWidth, - window.innerHeight - ]); + DB.resetIn( + ["size"], + [window.innerWidth, window.innerHeight] + ); } }) ] diff --git a/examples/fft-synth/src/state.ts b/examples/fft-synth/src/state.ts index 0e7dc2374e..f18cf40cd5 100644 --- a/examples/fft-synth/src/state.ts +++ b/examples/fft-synth/src/state.ts @@ -16,21 +16,21 @@ export const DB = new Atom({ }); export const setGain = (gain: number) => { - DB.resetIn("gain", gain); + DB.resetIn(["gain"], gain); updateAudio(); }; export const clearSpectrum = () => { - DB.resetIn("bins", makeBins()); + DB.resetIn(["bins"], makeBins()); updateAudio(); }; export const setSpectrumPreset = (id: number) => { - DB.swapIn("bins", PRESETS[id]); + DB.swapIn(["bins"], PRESETS[id]); updateAudio(); }; -export const updateSpectrum = (bin: number, amp: number) => { +export const updateSpectrumBin = (bin: number, amp: number) => { DB.resetIn(["bins", bin], amp); updateAudio(); }; diff --git a/examples/hdom-dyn-context/src/index.ts b/examples/hdom-dyn-context/src/index.ts index c88ddc9dd0..09cafb3787 100644 --- a/examples/hdom-dyn-context/src/index.ts +++ b/examples/hdom-dyn-context/src/index.ts @@ -34,7 +34,8 @@ const ctx = { }; // state updater / event handler to cycle through all themes -const toggle = () => db.swapIn("id", (id: number) => (id + 1) % THEMES.length); +const toggle = () => + db.swapIn(["id"], (id: number) => (id + 1) % THEMES.length); // root component function // the destructuring form is for the context object which is always diff --git a/examples/hydrate-basics/src/index.ts b/examples/hydrate-basics/src/index.ts index aa0738f3a1..f909e33471 100644 --- a/examples/hydrate-basics/src/index.ts +++ b/examples/hydrate-basics/src/index.ts @@ -11,8 +11,8 @@ const state = new Atom({ }); // state updates -const setBg = (x: string) => state.resetIn("bg", x); -const setFreq = (x: number) => state.resetIn("freq", x); +const setBg = (x: string) => state.resetIn(["bg"], x); +const setFreq = (x: number) => state.resetIn(["freq"], x); // root component with different types of child components const app = () => { diff --git a/examples/imgui/src/index.ts b/examples/imgui/src/index.ts index 39ee601e6c..c34b093650 100644 --- a/examples/imgui/src/index.ts +++ b/examples/imgui/src/index.ts @@ -120,7 +120,7 @@ const DB = new History( radius: 10, gridW: 15, rgb: [0.9, 0.45, 0.5], - pos: [400, 140], + pos: [400, 140], txt: "Hello there! This is a test, do not panic!", toggles: new Array(12).fill(false), flags: [true, false], @@ -143,7 +143,7 @@ const themeForID = (theme: number): Partial => ({ const setRGB = (gui: IMGUI, res: number[]) => res !== undefined && (gui.isAltDown() - ? DB.resetIn("rgb", vecOf(3, res[1])) + ? DB.resetIn(["rgb"], vecOf(3, res[1])) : DB.resetIn(["rgb", res[0]], res[1])); // main application @@ -209,7 +209,7 @@ const app = () => { window.innerWidth, window.innerHeight ); - DB.swapIn("pos", (pos: Vec) => + DB.swapIn(["pos"], (pos: Vec) => min2([], pos, size) ); } @@ -239,7 +239,7 @@ const app = () => { if ( buttonH(gui, grid, "show", state.uiVisible ? "Hide UI" : "Show UI") ) { - DB.resetIn("uiVisible", !state.uiVisible); + DB.resetIn(["uiVisible"], !state.uiVisible); } if (state.uiVisible) { let inner: GridLayout; @@ -265,7 +265,7 @@ const app = () => { inner = grid.nest(8); // vertical button in 1st column and spanning 3 rows if (buttonV(gui, inner, "toggleAll", 3, "INVERT")) { - DB.swapIn("toggles", (toggles: boolean[]) => toggles.map((x) => !x)); + DB.swapIn(["toggles"], (toggles: boolean[]) => toggles.map((x) => !x)); } // create nested 4 column layout using remaining 7 columns of current layout @@ -299,17 +299,17 @@ const app = () => { grid.next(); // alternative theme override for all components created by given function if ((res = gui.withTheme(themeForID(state.theme + 1), () => radio(gui, grid, "radio2", true, state.radio, true, RADIO_LABELS))) !== undefined) { - DB.resetIn("radio", res); + DB.resetIn(["radio"], res); } grid.next(); textLabel(gui, grid, "Radio (vertical):"); if ((res = radio(gui, grid, "radio3", false, state.radio, false, RADIO_LABELS)) !== undefined) { - DB.resetIn("radio", res); + DB.resetIn(["radio"], res); } grid.next(); if ((res = radio(gui, grid, "radio4", false, state.radio, true, RADIO_LABELS)) !== undefined) { - DB.resetIn("radio", res); + DB.resetIn(["radio"], res); } break; @@ -319,10 +319,10 @@ const app = () => { inner = grid.nest(2); if ((res = sliderH(gui, inner, "grid", 1, 20, 1, state.gridW, "Grid", undefined, "Grid size")) !== undefined) { - DB.resetIn("gridW", res); + DB.resetIn(["gridW"], res); } if ((res = sliderH(gui, inner, "rad", 2, 20, 1, state.radius, "Radius", undefined, "Dot radius")) !== undefined) { - DB.resetIn("radius", res); + DB.resetIn(["radius"], res); } textLabel(gui, grid, "Slider groups:"); @@ -341,7 +341,7 @@ const app = () => { res = xyPad(gui, inner, "xy2", ZERO2, size, 10, state.pos, 4, false, undefined, undefined, "Origin") || res; res = xyPad(gui, inner, "xy3", ZERO2, size, 10, state.pos, -1, false, undefined, undefined, "Origin") || res; res = xyPad(gui, inner, "xy4", ZERO2, size, 10, state.pos, -2, false, undefined, undefined, "Origin") || res; - res !== undefined && DB.resetIn("pos", res); + res !== undefined && DB.resetIn(["pos"], res); break; case 2: @@ -375,11 +375,11 @@ const app = () => { grid.next(); textLabel(gui, grid, "Select theme:"); if ((res = dropdown(gui, grid, "theme", state.theme, THEME_IDS, "GUI theme")) !== undefined) { - DB.resetIn("theme", res); + DB.resetIn(["theme"], res); } const box = layoutBox(10, 150, 150, 120, 200, 24, 0); if ((res = dropdown(gui, box, "theme2", state.theme, THEME_IDS, "GUI theme")) !== undefined) { - DB.resetIn("theme", res); + DB.resetIn(["theme"], res); } break; @@ -387,7 +387,7 @@ const app = () => { grid.next(); textLabel(gui, grid, "Editable textfield:"); if ((res = textField(gui, grid, "txt", state.txt, undefined, "Type something...")) !== undefined) { - DB.resetIn("txt", res); + DB.resetIn(["txt"], res); } break; diff --git a/examples/rstream-spreadsheet/src/state.ts b/examples/rstream-spreadsheet/src/state.ts index 00cc70c7b3..20a424078e 100644 --- a/examples/rstream-spreadsheet/src/state.ts +++ b/examples/rstream-spreadsheet/src/state.ts @@ -51,7 +51,7 @@ export const removeCell = (id: string) => removeNode(graph, id); * @param id */ export const focusCell = (id: string) => { - DB.swapIn(id, (cell: Cell) => + DB.swapIn([id], (cell) => setInMany(cell, "focus", true, "backup", cell.formula) ); }; @@ -62,7 +62,7 @@ export const focusCell = (id: string) => { * @param id */ export const blurCell = (id: string) => { - DB.swapIn(id, (cell: Cell) => setIn(cell, "focus", false)); + DB.swapIn([id], (cell) => setIn(cell, "focus", false)); }; /** @@ -71,7 +71,7 @@ export const blurCell = (id: string) => { * @param id */ export const cancelCell = (id: string) => { - DB.swapIn(id, (cell: Cell) => + DB.swapIn([id], (cell) => setInMany(cell, "focus", false, "formula", cell.backup) ); }; @@ -96,7 +96,7 @@ export const updateCell = (id: string, val: string) => { } } else { removeCell(id); - DB.swapIn(id, (cell) => + DB.swapIn([id], (cell) => setInMany(cell, "value", val, "formula", "", "error", null) ); } diff --git a/examples/todo-list/src/index.ts b/examples/todo-list/src/index.ts index 54e35f6655..9fc9aa445a 100644 --- a/examples/todo-list/src/index.ts +++ b/examples/todo-list/src/index.ts @@ -9,6 +9,8 @@ interface Task { body: string; } +type Tasks = IObjectOf; + // central app state (immutable) const db = new Atom({ tasks: {}, nextID: 0 }); // attach undo/redo history for `tasks` branch (arbitrary undo limit of 100 steps) @@ -16,8 +18,8 @@ const tasks = new History>(new Cursor(db, "tasks"), 100); // cursor for direct access to `nextID` const nextID = new Cursor(db, "nextID"); // create derived view of tasks transformed into components -const items = db.addView("tasks", (tasks) => [ - ...map(([id, t]) => taskItem(id, t), pairs(tasks)) +const items = db.addView("tasks", (tasks: Tasks) => [ + ...map(([id, t]) => taskItem(id, t), pairs(tasks)) ]); // state updaters From 502594c2d3e8df608706b17d4f10172ddc5ec638 Mon Sep 17 00:00:00 2001 From: Karsten Schmidt Date: Sat, 21 Mar 2020 18:20:43 +0000 Subject: [PATCH 23/70] docs: regenerate all readmes --- packages/adjacency/README.md | 13 +- packages/api/README.md | 8 +- packages/arrays/README.md | 5 +- packages/associative/README.md | 5 +- packages/atom/README.md | 92 ++------- packages/bench/README.md | 14 +- packages/bencode/README.md | 5 +- packages/binary/README.md | 14 +- packages/bitfield/README.md | 3 +- packages/bitstream/README.md | 3 +- packages/cache/README.md | 13 +- packages/checks/README.md | 10 +- packages/color/README.md | 33 +--- packages/compare/README.md | 15 +- packages/compose/README.md | 3 +- packages/csp/README.md | 5 +- packages/dcons/README.md | 3 +- packages/defmulti/README.md | 24 +-- packages/dgraph/README.md | 13 +- packages/diff/README.md | 3 +- packages/dl-asset/README.md | 40 +--- packages/dlogic/README.md | 4 +- packages/dot/README.md | 3 +- packages/dsp-io-wav/README.md | 3 +- packages/dsp/README.md | 40 +--- packages/dynvar/README.md | 3 +- packages/ecs/README.md | 15 +- packages/equiv/README.md | 4 +- packages/errors/README.md | 4 +- packages/fsm/README.md | 13 +- packages/geom-accel/README.md | 22 +-- packages/geom-api/README.md | 3 +- packages/geom-arc/README.md | 3 +- packages/geom-clip-line/README.md | 3 +- packages/geom-clip-poly/README.md | 3 +- packages/geom-closest-point/README.md | 3 +- packages/geom-hull/README.md | 13 +- packages/geom-isec/README.md | 3 +- packages/geom-isoline/README.md | 13 +- packages/geom-poly-utils/README.md | 3 +- packages/geom-resample/README.md | 13 +- packages/geom-splines/README.md | 13 +- packages/geom-subdiv-curve/README.md | 3 +- packages/geom-tessellate/README.md | 13 +- packages/geom-voronoi/README.md | 22 +-- packages/geom/README.md | 112 ++--------- packages/gp/README.md | 13 +- packages/grid-iterators/README.md | 13 +- packages/hdom-canvas/README.md | 147 +++----------- packages/hdom-components/README.md | 74 ++----- packages/hdom-mock/README.md | 3 +- packages/hdom/README.md | 258 ++++--------------------- packages/heaps/README.md | 3 +- packages/hiccup-carbon-icons/README.md | 4 +- packages/hiccup-css/README.md | 13 +- packages/hiccup-markdown/README.md | 13 +- packages/hiccup-svg/README.md | 78 ++------ packages/hiccup/README.md | 69 ++----- packages/idgen/README.md | 7 +- packages/iges/README.md | 3 +- packages/imgui/README.md | 24 +-- packages/interceptors/README.md | 69 ++----- packages/intervals/README.md | 7 +- packages/iterators/README.md | 3 +- packages/layout/README.md | 22 +-- packages/leb128/README.md | 3 +- packages/lsys/README.md | 3 +- packages/malloc/README.md | 23 +-- packages/math/README.md | 90 ++------- packages/matrices/README.md | 76 ++------ packages/memoize/README.md | 20 +- packages/mime/README.md | 3 +- packages/morton/README.md | 5 +- packages/paths/README.md | 45 +---- packages/pixel/README.md | 49 +---- packages/pointfree-lang/README.md | 15 +- packages/pointfree/README.md | 19 +- packages/poisson/README.md | 13 +- packages/porter-duff/README.md | 26 +-- packages/quad-edge/README.md | 4 +- packages/ramp/README.md | 13 +- packages/random/README.md | 22 +-- packages/range-coder/README.md | 3 +- packages/resolve-map/README.md | 22 +-- packages/rle-pack/README.md | 3 +- packages/router/README.md | 15 +- packages/rstream-csp/README.md | 3 +- packages/rstream-dot/README.md | 3 +- packages/rstream-gestures/README.md | 71 ++----- packages/rstream-graph/README.md | 29 +-- packages/rstream-log-file/README.md | 3 +- packages/rstream-log/README.md | 3 +- packages/rstream-query/README.md | 13 +- packages/rstream/README.md | 140 +++----------- packages/sax/README.md | 13 +- packages/scenegraph/README.md | 22 +-- packages/seq/README.md | 3 +- packages/sexpr/README.md | 13 +- packages/shader-ast-glsl/README.md | 58 +----- packages/shader-ast-js/README.md | 58 +----- packages/shader-ast-stdlib/README.md | 94 ++------- packages/shader-ast/README.md | 136 +++---------- packages/simd/README.md | 3 +- packages/soa/README.md | 22 +-- packages/sparse/README.md | 3 +- packages/strings/README.md | 35 +--- packages/text-canvas/README.md | 13 +- packages/transducers-binary/README.md | 26 +-- packages/transducers-fsm/README.md | 3 +- packages/transducers-hdom/README.md | 144 ++------------ packages/transducers-patch/README.md | 3 +- packages/transducers-stats/README.md | 22 +-- packages/transducers/README.md | 251 ++++-------------------- packages/unionstruct/README.md | 4 +- packages/vector-pools/README.md | 15 +- packages/vectors/README.md | 169 +++------------- packages/webgl-msdf/README.md | 13 +- packages/webgl-shadertoy/README.md | 22 +-- packages/webgl/README.md | 121 ++---------- packages/zipper/README.md | 3 +- 120 files changed, 793 insertions(+), 2694 deletions(-) diff --git a/packages/adjacency/README.md b/packages/adjacency/README.md index 01f5e20b88..8f530e8515 100644 --- a/packages/adjacency/README.md +++ b/packages/adjacency/README.md @@ -1,6 +1,6 @@ -# ![@thi.ng/adjacency](https://media.thi.ng/umbrella/banners/thing-adjacency.svg?1583462201) +# ![@thi.ng/adjacency](https://media.thi.ng/umbrella/banners/thing-adjacency.svg?1584814438) [![npm version](https://img.shields.io/npm/v/@thi.ng/adjacency.svg)](https://www.npmjs.com/package/@thi.ng/adjacency) ![npm downloads](https://img.shields.io/npm/dm/@thi.ng/adjacency.svg) @@ -42,6 +42,7 @@ Package sizes (gzipped): ESM: 1.8KB / CJS: 1.9KB / UMD: 2.0KB - [@thi.ng/checks](https://github.com/thi-ng/umbrella/tree/develop/packages/checks) - [@thi.ng/dcons](https://github.com/thi-ng/umbrella/tree/develop/packages/dcons) - [@thi.ng/sparse](https://github.com/thi-ng/umbrella/tree/develop/packages/sparse) +- [tslib](https://github.com/thi-ng/umbrella/tree/develop/packages/undefined) ## Usage examples @@ -51,13 +52,9 @@ directory are using this package. A selection: -### geom-voronoi-mst - -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/geom-voronoi-mst.jpg) - -Poisson-disk shape-aware sampling, Voronoi & Minimum Spanning Tree visualization - -[Live demo](https://demo.thi.ng/umbrella/geom-voronoi-mst/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/geom-voronoi-mst) +| Screenshot | Description | Live demo | Source | +| ----------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- | ------------------------------------------------------ | ----------------------------------------------------------------------------------- | +| | Poisson-disk shape-aware sampling, Voronoi & Minimum Spanning Tree visualization | [Demo](https://demo.thi.ng/umbrella/geom-voronoi-mst/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/geom-voronoi-mst) | ## API diff --git a/packages/api/README.md b/packages/api/README.md index 9509f6d0f6..94e53d651a 100644 --- a/packages/api/README.md +++ b/packages/api/README.md @@ -1,6 +1,6 @@ -# ![@thi.ng/api](https://media.thi.ng/umbrella/banners/thing-api.svg?1581297776) +# ![@thi.ng/api](https://media.thi.ng/umbrella/banners/thing-api.svg?1584814331) [![npm version](https://img.shields.io/npm/v/@thi.ng/api.svg)](https://www.npmjs.com/package/@thi.ng/api) ![npm downloads](https://img.shields.io/npm/dm/@thi.ng/api.svg) @@ -48,7 +48,7 @@ Package sizes (gzipped): ESM: 2.0KB / CJS: 2.1KB / UMD: 2.1KB ## Dependencies -None +- [tslib](https://github.com/thi-ng/umbrella/tree/develop/packages/undefined) ## API @@ -73,11 +73,11 @@ The following env variables are used to control the behavior of some functions i ### Maintainer -- Karsten Schmidt ([@postspectacular](https://github.com/postspectacular)) +- Karsten Schmidt ([@postspectacular](https://github.com//postspectacular)) ### Contributors -- Matei Adriel ([@Mateiadrielrafael](https://github.com/Mateiadrielrafael)) +- Matei Adriel ([@Mateiadrielrafael](https://github.com//Mateiadrielrafael)) ## License diff --git a/packages/arrays/README.md b/packages/arrays/README.md index 82b5430c5c..12f85fa8d0 100644 --- a/packages/arrays/README.md +++ b/packages/arrays/README.md @@ -1,6 +1,6 @@ -# ![@thi.ng/arrays](https://media.thi.ng/umbrella/banners/thing-arrays.svg?1581297779) +# ![@thi.ng/arrays](https://media.thi.ng/umbrella/banners/thing-arrays.svg?1584814381) [![npm version](https://img.shields.io/npm/v/@thi.ng/arrays.svg)](https://www.npmjs.com/package/@thi.ng/arrays) ![npm downloads](https://img.shields.io/npm/dm/@thi.ng/arrays.svg) @@ -32,7 +32,7 @@ Array / Arraylike utilities. yarn add @thi.ng/arrays ``` -Package sizes (gzipped): ESM: 1.3KB / CJS: 1.4KB / UMD: 1.4KB +Package sizes (gzipped): ESM: 1.7KB / CJS: 1.9KB / UMD: 1.9KB ## Dependencies @@ -42,6 +42,7 @@ Package sizes (gzipped): ESM: 1.3KB / CJS: 1.4KB / UMD: 1.4KB - [@thi.ng/equiv](https://github.com/thi-ng/umbrella/tree/develop/packages/equiv) - [@thi.ng/errors](https://github.com/thi-ng/umbrella/tree/develop/packages/errors) - [@thi.ng/random](https://github.com/thi-ng/umbrella/tree/develop/packages/random) +- [tslib](https://github.com/thi-ng/umbrella/tree/develop/packages/undefined) ## API diff --git a/packages/associative/README.md b/packages/associative/README.md index 1c10f972bc..aa9271a53d 100644 --- a/packages/associative/README.md +++ b/packages/associative/README.md @@ -1,6 +1,6 @@ -# ![@thi.ng/associative](https://media.thi.ng/umbrella/banners/thing-associative.svg?1581297782) +# ![@thi.ng/associative](https://media.thi.ng/umbrella/banners/thing-associative.svg?1584814413) [![npm version](https://img.shields.io/npm/v/@thi.ng/associative.svg)](https://www.npmjs.com/package/@thi.ng/associative) ![npm downloads](https://img.shields.io/npm/dm/@thi.ng/associative.svg) @@ -24,7 +24,7 @@ This project is part of the - [SortedMap](#sortedmap) - [Ranged queries](#ranged-queries) - [SortedSet](#sortedset) - - [SparseSet8/16/32](#sparseset81632) + - [SparseSet8/16/32](#sparseset8-16-32) - [Authors](#authors) - [License](#license) @@ -176,6 +176,7 @@ Package sizes (gzipped): ESM: 4.8KB / CJS: 5.0KB / UMD: 4.9KB - [@thi.ng/equiv](https://github.com/thi-ng/umbrella/tree/develop/packages/equiv) - [@thi.ng/errors](https://github.com/thi-ng/umbrella/tree/develop/packages/errors) - [@thi.ng/transducers](https://github.com/thi-ng/umbrella/tree/develop/packages/transducers) +- [tslib](https://github.com/thi-ng/umbrella/tree/develop/packages/undefined) ## API diff --git a/packages/atom/README.md b/packages/atom/README.md index c93f9c798d..234cb55610 100644 --- a/packages/atom/README.md +++ b/packages/atom/README.md @@ -1,6 +1,6 @@ -# ![@thi.ng/atom](https://media.thi.ng/umbrella/banners/thing-atom.svg?1583078713) +# ![@thi.ng/atom](https://media.thi.ng/umbrella/banners/thing-atom.svg?1584814381) [![npm version](https://img.shields.io/npm/v/@thi.ng/atom.svg)](https://www.npmjs.com/package/@thi.ng/atom) ![npm downloads](https://img.shields.io/npm/dm/@thi.ng/atom.svg) @@ -19,7 +19,7 @@ This project is part of the - [Transacted updates](#transacted-updates) - [Cursor](#cursor) - [Derived views](#derived-views) - - [Undo / Redo history](#undo--redo-history) + - [Undo / Redo history](#undo---redo-history) - [Authors](#authors) - [License](#license) @@ -50,7 +50,7 @@ as single source of truth within an application. yarn add @thi.ng/atom ``` -Package sizes (gzipped): ESM: 2.0KB / CJS: 2.0KB / UMD: 2.0KB +Package sizes (gzipped): ESM: 1.8KB / CJS: 1.8KB / UMD: 1.9KB ## Dependencies @@ -59,6 +59,7 @@ Package sizes (gzipped): ESM: 2.0KB / CJS: 2.0KB / UMD: 2.0KB - [@thi.ng/equiv](https://github.com/thi-ng/umbrella/tree/develop/packages/equiv) - [@thi.ng/errors](https://github.com/thi-ng/umbrella/tree/develop/packages/errors) - [@thi.ng/paths](https://github.com/thi-ng/umbrella/tree/develop/packages/paths) +- [tslib](https://github.com/thi-ng/umbrella/tree/develop/packages/undefined) ## Usage examples @@ -68,79 +69,18 @@ directory are using this package. A selection: -### devcards - -BMI calculator in a devcards format - -[Live demo](https://demo.thi.ng/umbrella/devcards/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/devcards) - -### hdom-dropdown-fuzzy - -Custom dropdown UI component w/ fuzzy search - -[Live demo](https://demo.thi.ng/umbrella/hdom-dropdown-fuzzy/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/hdom-dropdown-fuzzy) - -### rotating-voronoi - -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/rotating-voronoi.jpg) - -Animated Voronoi diagram, cubic splines & SVG download - -[Live demo](https://demo.thi.ng/umbrella/rotating-voronoi/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/rotating-voronoi) - -### router-basics - -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/router-basics.jpg) - -Complete mini SPA app w/ router & async content loading - -[Live demo](https://demo.thi.ng/umbrella/router-basics/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/router-basics) - -### rstream-dataflow - -Minimal rstream dataflow graph - -[Live demo](https://demo.thi.ng/umbrella/rstream-dataflow/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/rstream-dataflow) - -### rstream-grid - -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/rstream-grid.jpg) - -Interactive grid generator, SVG generation & export, undo/redo support - -[Live demo](https://demo.thi.ng/umbrella/rstream-grid/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/rstream-grid) - -### rstream-spreadsheet - -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/rstream-spreadsheet.png) - -rstream based spreadsheet w/ S-expression formula DSL - -[Live demo](https://demo.thi.ng/umbrella/rstream-spreadsheet/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/rstream-spreadsheet) - -### svg-waveform - -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/svg-waveform.jpg) - -Additive waveform synthesis & SVG visualization with undo/redo - -[Live demo](https://demo.thi.ng/umbrella/svg-waveform/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/svg-waveform) - -### todo-list - -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/todo-list.png) - -Obligatory to-do list example with undo/redo - -[Live demo](https://demo.thi.ng/umbrella/todo-list/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/todo-list) - -### triple-query - -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/triple-query.png) - -Triple store query results & sortable table - -[Live demo](https://demo.thi.ng/umbrella/triple-query/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/triple-query) +| Screenshot | Description | Live demo | Source | +| -------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------- | --------------------------------------------------------- | -------------------------------------------------------------------------------------- | +| | BMI calculator in a devcards format | [Demo](https://demo.thi.ng/umbrella/devcards/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/devcards) | +| | Custom dropdown UI component w/ fuzzy search | [Demo](https://demo.thi.ng/umbrella/hdom-dropdown-fuzzy/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/hdom-dropdown-fuzzy) | +| | Animated Voronoi diagram, cubic splines & SVG download | [Demo](https://demo.thi.ng/umbrella/rotating-voronoi/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/rotating-voronoi) | +| | Complete mini SPA app w/ router & async content loading | [Demo](https://demo.thi.ng/umbrella/router-basics/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/router-basics) | +| | Minimal rstream dataflow graph | [Demo](https://demo.thi.ng/umbrella/rstream-dataflow/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/rstream-dataflow) | +| | Interactive grid generator, SVG generation & export, undo/redo support | [Demo](https://demo.thi.ng/umbrella/rstream-grid/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/rstream-grid) | +| | rstream based spreadsheet w/ S-expression formula DSL | [Demo](https://demo.thi.ng/umbrella/rstream-spreadsheet/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/rstream-spreadsheet) | +| | Additive waveform synthesis & SVG visualization with undo/redo | [Demo](https://demo.thi.ng/umbrella/svg-waveform/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/svg-waveform) | +| | Obligatory to-do list example with undo/redo | [Demo](https://demo.thi.ng/umbrella/todo-list/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/todo-list) | +| | Triple store query results & sortable table | [Demo](https://demo.thi.ng/umbrella/triple-query/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/triple-query) | ## API diff --git a/packages/bench/README.md b/packages/bench/README.md index 6083581c40..9392fca870 100644 --- a/packages/bench/README.md +++ b/packages/bench/README.md @@ -1,6 +1,6 @@ -# ![@thi.ng/bench](https://media.thi.ng/umbrella/banners/thing-bench.svg?1583078709) +# ![@thi.ng/bench](https://media.thi.ng/umbrella/banners/thing-bench.svg?1584814329) [![npm version](https://img.shields.io/npm/v/@thi.ng/bench.svg)](https://www.npmjs.com/package/@thi.ng/bench) ![npm downloads](https://img.shields.io/npm/dm/@thi.ng/bench.svg) @@ -45,7 +45,7 @@ Package sizes (gzipped): ESM: 0.7KB / CJS: 0.7KB / UMD: 0.8KB ## Dependencies -None +- [tslib](https://github.com/thi-ng/umbrella/tree/develop/packages/undefined) ## Usage examples @@ -55,13 +55,9 @@ directory are using this package. A selection: -### shader-ast-workers - -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/shader-ast-workers.jpg) - -Fork-join worker-based raymarch renderer - -[Live demo](https://demo.thi.ng/umbrella/shader-ast-workers/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/shader-ast-workers) +| Screenshot | Description | Live demo | Source | +| ------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------- | -------------------------------------------------------- | ------------------------------------------------------------------------------------- | +| | Fork-join worker-based raymarch renderer | [Demo](https://demo.thi.ng/umbrella/shader-ast-workers/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/shader-ast-workers) | ## API diff --git a/packages/bencode/README.md b/packages/bencode/README.md index ca9c9acb24..ae462f65b8 100644 --- a/packages/bencode/README.md +++ b/packages/bencode/README.md @@ -1,6 +1,6 @@ -# ![@thi.ng/bencode](https://media.thi.ng/umbrella/banners/thing-bencode.svg?1581297782) +# ![@thi.ng/bencode](https://media.thi.ng/umbrella/banners/thing-bencode.svg?1584814425) [![npm version](https://img.shields.io/npm/v/@thi.ng/bencode.svg)](https://www.npmjs.com/package/@thi.ng/bencode) ![npm downloads](https://img.shields.io/npm/dm/@thi.ng/bencode.svg) @@ -10,7 +10,7 @@ This project is part of the [@thi.ng/umbrella](https://github.com/thi-ng/umbrella/) monorepo. - [About](#about) - - [Features / behaviors](#features--behaviors) + - [Features / behaviors](#features---behaviors) - [Booleans](#booleans) - [String handling](#string-handling) - [Floating point values](#floating-point-values) @@ -69,6 +69,7 @@ Package sizes (gzipped): ESM: 1.2KB / CJS: 1.2KB / UMD: 1.3KB - [@thi.ng/errors](https://github.com/thi-ng/umbrella/tree/develop/packages/errors) - [@thi.ng/transducers](https://github.com/thi-ng/umbrella/tree/develop/packages/transducers) - [@thi.ng/transducers-binary](https://github.com/thi-ng/umbrella/tree/develop/packages/transducers-binary) +- [tslib](https://github.com/thi-ng/umbrella/tree/develop/packages/undefined) ## API diff --git a/packages/binary/README.md b/packages/binary/README.md index 81d689000b..d6c4678be6 100644 --- a/packages/binary/README.md +++ b/packages/binary/README.md @@ -1,6 +1,6 @@ -# ![@thi.ng/binary](https://media.thi.ng/umbrella/banners/thing-binary.svg?1583462901) +# ![@thi.ng/binary](https://media.thi.ng/umbrella/banners/thing-binary.svg?1584814331) [![npm version](https://img.shields.io/npm/v/@thi.ng/binary.svg)](https://www.npmjs.com/package/@thi.ng/binary) ![npm downloads](https://img.shields.io/npm/dm/@thi.ng/binary.svg) @@ -36,7 +36,7 @@ Package sizes (gzipped): ESM: 1.9KB / CJS: 2.2KB / UMD: 1.8KB ## Dependencies -None +- [tslib](https://github.com/thi-ng/umbrella/tree/develop/packages/undefined) ## Usage examples @@ -46,13 +46,9 @@ directory are using this package. A selection: -### hdom-benchmark2 - -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/hdom-benchmark2.png) - -hdom update performance benchmark w/ config options - -[Live demo](https://demo.thi.ng/umbrella/hdom-benchmark2/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/hdom-benchmark2) +| Screenshot | Description | Live demo | Source | +| ---------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------- | ----------------------------------------------------- | ---------------------------------------------------------------------------------- | +| | hdom update performance benchmark w/ config options | [Demo](https://demo.thi.ng/umbrella/hdom-benchmark2/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/hdom-benchmark2) | ## API diff --git a/packages/bitfield/README.md b/packages/bitfield/README.md index e9a96e54ca..c2f55aafd2 100644 --- a/packages/bitfield/README.md +++ b/packages/bitfield/README.md @@ -1,6 +1,6 @@ -# ![@thi.ng/bitfield](https://media.thi.ng/umbrella/banners/thing-bitfield.svg?1583462197) +# ![@thi.ng/bitfield](https://media.thi.ng/umbrella/banners/thing-bitfield.svg?1584814387) [![npm version](https://img.shields.io/npm/v/@thi.ng/bitfield.svg)](https://www.npmjs.com/package/@thi.ng/bitfield) ![npm downloads](https://img.shields.io/npm/dm/@thi.ng/bitfield.svg) @@ -41,6 +41,7 @@ Package sizes (gzipped): ESM: 0.9KB / CJS: 1.0KB / UMD: 1.1KB - [@thi.ng/api](https://github.com/thi-ng/umbrella/tree/develop/packages/api) - [@thi.ng/binary](https://github.com/thi-ng/umbrella/tree/develop/packages/binary) - [@thi.ng/strings](https://github.com/thi-ng/umbrella/tree/develop/packages/strings) +- [tslib](https://github.com/thi-ng/umbrella/tree/develop/packages/undefined) ## API diff --git a/packages/bitstream/README.md b/packages/bitstream/README.md index c5bbb8da6e..a603faeebd 100644 --- a/packages/bitstream/README.md +++ b/packages/bitstream/README.md @@ -1,6 +1,6 @@ -# ![@thi.ng/bitstream](https://media.thi.ng/umbrella/banners/thing-bitstream.svg?1581297778) +# ![@thi.ng/bitstream](https://media.thi.ng/umbrella/banners/thing-bitstream.svg?1584814344) [![npm version](https://img.shields.io/npm/v/@thi.ng/bitstream.svg)](https://www.npmjs.com/package/@thi.ng/bitstream) ![npm downloads](https://img.shields.io/npm/dm/@thi.ng/bitstream.svg) @@ -38,6 +38,7 @@ Package sizes (gzipped): ESM: 1.1KB / CJS: 1.1KB / UMD: 1.2KB ## Dependencies - [@thi.ng/errors](https://github.com/thi-ng/umbrella/tree/develop/packages/errors) +- [tslib](https://github.com/thi-ng/umbrella/tree/develop/packages/undefined) ## API diff --git a/packages/cache/README.md b/packages/cache/README.md index e1b53d39fe..4279de2083 100644 --- a/packages/cache/README.md +++ b/packages/cache/README.md @@ -1,6 +1,6 @@ -# ![@thi.ng/cache](https://media.thi.ng/umbrella/banners/thing-cache.svg?1581297782) +# ![@thi.ng/cache](https://media.thi.ng/umbrella/banners/thing-cache.svg?1584814413) [![npm version](https://img.shields.io/npm/v/@thi.ng/cache.svg)](https://www.npmjs.com/package/@thi.ng/cache) ![npm downloads](https://img.shields.io/npm/dm/@thi.ng/cache.svg) @@ -60,6 +60,7 @@ Package sizes (gzipped): ESM: 1.0KB / CJS: 1.1KB / UMD: 1.2KB - [@thi.ng/api](https://github.com/thi-ng/umbrella/tree/develop/packages/api) - [@thi.ng/dcons](https://github.com/thi-ng/umbrella/tree/develop/packages/dcons) - [@thi.ng/transducers](https://github.com/thi-ng/umbrella/tree/develop/packages/transducers) +- [tslib](https://github.com/thi-ng/umbrella/tree/develop/packages/undefined) ## Usage examples @@ -69,13 +70,9 @@ directory are using this package. A selection: -### commit-table-ssr - -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/commit-table-ssr.png) - -Filterable commit log UI w/ minimal server to provide commit history - -[Live demo](https://demo.thi.ng/umbrella/commit-table-ssr/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/commit-table-ssr) +| Screenshot | Description | Live demo | Source | +| ----------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------- | ------------------------------------------------------ | ----------------------------------------------------------------------------------- | +| | Filterable commit log UI w/ minimal server to provide commit history | [Demo](https://demo.thi.ng/umbrella/commit-table-ssr/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/commit-table-ssr) | ## API diff --git a/packages/checks/README.md b/packages/checks/README.md index 4937d20c0f..8d755f7c2c 100644 --- a/packages/checks/README.md +++ b/packages/checks/README.md @@ -1,6 +1,6 @@ -# ![@thi.ng/checks](https://media.thi.ng/umbrella/banners/thing-checks.svg?1581297776) +# ![@thi.ng/checks](https://media.thi.ng/umbrella/banners/thing-checks.svg?1584814331) [![npm version](https://img.shields.io/npm/v/@thi.ng/checks.svg)](https://www.npmjs.com/package/@thi.ng/checks) ![npm downloads](https://img.shields.io/npm/dm/@thi.ng/checks.svg) @@ -37,7 +37,7 @@ Package sizes (gzipped): ESM: 1.3KB / CJS: 1.5KB / UMD: 1.3KB ## Dependencies -None +- [tslib](https://github.com/thi-ng/umbrella/tree/develop/packages/undefined) ## API @@ -49,12 +49,12 @@ TODO ### Maintainer -- Karsten Schmidt ([@postspectacular](https://github.com/postspectacular)) +- Karsten Schmidt ([@postspectacular](https://github.com//postspectacular)) ### Contributors -- Gavin Cannizzaro ([@gavinpc-mindgrub](https://github.com/gavinpc-mindgrub)) -- Jay Zawrotny ([@eccentric-j](https://github.com/eccentric-j)) +- Gavin Cannizzaro ([@gavinpc-mindgrub](https://github.com//gavinpc-mindgrub)) +- Jay Zawrotny ([@eccentric-j](https://github.com//eccentric-j)) ## License diff --git a/packages/color/README.md b/packages/color/README.md index 5672f28dbd..f953467e23 100644 --- a/packages/color/README.md +++ b/packages/color/README.md @@ -1,6 +1,6 @@ -# ![@thi.ng/color](https://media.thi.ng/umbrella/banners/thing-color.svg?1583078717) +# ![@thi.ng/color](https://media.thi.ng/umbrella/banners/thing-color.svg?1584814438) [![npm version](https://img.shields.io/npm/v/@thi.ng/color.svg)](https://www.npmjs.com/package/@thi.ng/color) ![npm downloads](https://img.shields.io/npm/dm/@thi.ng/color.svg) @@ -10,7 +10,7 @@ This project is part of the [@thi.ng/umbrella](https://github.com/thi-ng/umbrella/) monorepo. - [About](#about) - - [Color spaces / modes](#color-spaces--modes) + - [Color spaces / modes](#color-spaces---modes) - [Class wrappers](#class-wrappers) - [RGBA transformations](#rgba-transformations) - [RGBA Porter-Duff compositing](#rgba-porter-duff-compositing) @@ -193,6 +193,7 @@ Package sizes (gzipped): ESM: 7.1KB / CJS: 7.4KB / UMD: 6.9KB - [@thi.ng/strings](https://github.com/thi-ng/umbrella/tree/develop/packages/strings) - [@thi.ng/transducers](https://github.com/thi-ng/umbrella/tree/develop/packages/transducers) - [@thi.ng/vectors](https://github.com/thi-ng/umbrella/tree/develop/packages/vectors) +- [tslib](https://github.com/thi-ng/umbrella/tree/develop/packages/undefined) ## Usage examples @@ -202,29 +203,11 @@ directory are using this package. A selection: -### commit-heatmap - -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/commit-heatmap.png) - -Heatmap visualization of this mono-repo's commits - -[Live demo](https://demo.thi.ng/umbrella/commit-heatmap/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/commit-heatmap) - -### grid-iterators - -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/grid-iterators.png) - -Visualization of different grid iterator strategies - -[Live demo](https://demo.thi.ng/umbrella/grid-iterators/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/grid-iterators) - -### shader-ast-workers - -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/shader-ast-workers.jpg) - -Fork-join worker-based raymarch renderer - -[Live demo](https://demo.thi.ng/umbrella/shader-ast-workers/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/shader-ast-workers) +| Screenshot | Description | Live demo | Source | +| ------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------- | -------------------------------------------------------- | ------------------------------------------------------------------------------------- | +| | Heatmap visualization of this mono-repo's commits | [Demo](https://demo.thi.ng/umbrella/commit-heatmap/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/commit-heatmap) | +| | Visualization of different grid iterator strategies | [Demo](https://demo.thi.ng/umbrella/grid-iterators/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/grid-iterators) | +| | Fork-join worker-based raymarch renderer | [Demo](https://demo.thi.ng/umbrella/shader-ast-workers/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/shader-ast-workers) | ## API diff --git a/packages/compare/README.md b/packages/compare/README.md index 55cac66126..152e1cdca1 100644 --- a/packages/compare/README.md +++ b/packages/compare/README.md @@ -1,6 +1,6 @@ -# ![@thi.ng/compare](https://media.thi.ng/umbrella/banners/thing-compare.svg?1583078710) +# ![@thi.ng/compare](https://media.thi.ng/umbrella/banners/thing-compare.svg?1584814344) [![npm version](https://img.shields.io/npm/v/@thi.ng/compare.svg)](https://www.npmjs.com/package/@thi.ng/compare) ![npm downloads](https://img.shields.io/npm/dm/@thi.ng/compare.svg) @@ -16,7 +16,7 @@ This project is part of the - [Usage examples](#usage-examples) - [API](#api) - [ICompare support](#icompare-support) - - [Cluster sort w/ multiple sort keys](#cluster-sort-w-multiple-sort-keys) + - [Cluster sort w/ multiple sort keys](#cluster-sort-w--multiple-sort-keys) - [Authors](#authors) - [License](#license) @@ -47,6 +47,7 @@ Package sizes (gzipped): ESM: 0.3KB / CJS: 0.4KB / UMD: 0.5KB ## Dependencies - [@thi.ng/api](https://github.com/thi-ng/umbrella/tree/develop/packages/api) +- [tslib](https://github.com/thi-ng/umbrella/tree/develop/packages/undefined) ## Usage examples @@ -56,13 +57,9 @@ directory are using this package. A selection: -### triple-query - -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/triple-query.png) - -Triple store query results & sortable table - -[Live demo](https://demo.thi.ng/umbrella/triple-query/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/triple-query) +| Screenshot | Description | Live demo | Source | +| ------------------------------------------------------------------------------------------------------------------- | ------------------------------------------- | -------------------------------------------------- | ------------------------------------------------------------------------------- | +| | Triple store query results & sortable table | [Demo](https://demo.thi.ng/umbrella/triple-query/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/triple-query) | ## API diff --git a/packages/compose/README.md b/packages/compose/README.md index 291ce5ce3e..442535bbd2 100644 --- a/packages/compose/README.md +++ b/packages/compose/README.md @@ -1,6 +1,6 @@ -# ![@thi.ng/compose](https://media.thi.ng/umbrella/banners/thing-compose.svg?1581297778) +# ![@thi.ng/compose](https://media.thi.ng/umbrella/banners/thing-compose.svg?1584814344) [![npm version](https://img.shields.io/npm/v/@thi.ng/compose.svg)](https://www.npmjs.com/package/@thi.ng/compose) ![npm downloads](https://img.shields.io/npm/dm/@thi.ng/compose.svg) @@ -37,6 +37,7 @@ Package sizes (gzipped): ESM: 0.8KB / CJS: 0.9KB / UMD: 0.9KB - [@thi.ng/api](https://github.com/thi-ng/umbrella/tree/develop/packages/api) - [@thi.ng/errors](https://github.com/thi-ng/umbrella/tree/develop/packages/errors) +- [tslib](https://github.com/thi-ng/umbrella/tree/develop/packages/undefined) ## API diff --git a/packages/csp/README.md b/packages/csp/README.md index d7bda84743..db4b4e80ea 100644 --- a/packages/csp/README.md +++ b/packages/csp/README.md @@ -1,6 +1,6 @@ -# ![@thi.ng/csp](https://media.thi.ng/umbrella/banners/thing-csp.svg?1581297782) +# ![@thi.ng/csp](https://media.thi.ng/umbrella/banners/thing-csp.svg?1584814424) [![npm version](https://img.shields.io/npm/v/@thi.ng/csp.svg)](https://www.npmjs.com/package/@thi.ng/csp) ![npm downloads](https://img.shields.io/npm/dm/@thi.ng/csp.svg) @@ -54,7 +54,7 @@ for a similar, but alternative (and actively maintained) approach. yarn add @thi.ng/csp ``` -Package sizes (gzipped): ESM: 2.9KB / CJS: 2.9KB / UMD: 2.9KB +Package sizes (gzipped): ESM: 2.7KB / CJS: 2.8KB / UMD: 2.8KB ## Dependencies @@ -64,6 +64,7 @@ Package sizes (gzipped): ESM: 2.9KB / CJS: 2.9KB / UMD: 2.9KB - [@thi.ng/dcons](https://github.com/thi-ng/umbrella/tree/develop/packages/dcons) - [@thi.ng/errors](https://github.com/thi-ng/umbrella/tree/develop/packages/errors) - [@thi.ng/transducers](https://github.com/thi-ng/umbrella/tree/develop/packages/transducers) +- [tslib](https://github.com/thi-ng/umbrella/tree/develop/packages/undefined) ## API diff --git a/packages/dcons/README.md b/packages/dcons/README.md index 82c99c1e08..554bb2682f 100644 --- a/packages/dcons/README.md +++ b/packages/dcons/README.md @@ -1,6 +1,6 @@ -# ![@thi.ng/dcons](https://media.thi.ng/umbrella/banners/thing-dcons.svg?1581297780) +# ![@thi.ng/dcons](https://media.thi.ng/umbrella/banners/thing-dcons.svg?1584814400) [![npm version](https://img.shields.io/npm/v/@thi.ng/dcons.svg)](https://www.npmjs.com/package/@thi.ng/dcons) ![npm downloads](https://img.shields.io/npm/dm/@thi.ng/dcons.svg) @@ -66,6 +66,7 @@ Package sizes (gzipped): ESM: 2.0KB / CJS: 2.1KB / UMD: 2.2KB - [@thi.ng/errors](https://github.com/thi-ng/umbrella/tree/develop/packages/errors) - [@thi.ng/random](https://github.com/thi-ng/umbrella/tree/develop/packages/random) - [@thi.ng/transducers](https://github.com/thi-ng/umbrella/tree/develop/packages/transducers) +- [tslib](https://github.com/thi-ng/umbrella/tree/develop/packages/undefined) ## API diff --git a/packages/defmulti/README.md b/packages/defmulti/README.md index dcd6b02c81..b1aed1de78 100644 --- a/packages/defmulti/README.md +++ b/packages/defmulti/README.md @@ -1,6 +1,6 @@ -# ![@thi.ng/defmulti](https://media.thi.ng/umbrella/banners/thing-defmulti.svg?1583078711) +# ![@thi.ng/defmulti](https://media.thi.ng/umbrella/banners/thing-defmulti.svg?1584814344) [![npm version](https://img.shields.io/npm/v/@thi.ng/defmulti.svg)](https://www.npmjs.com/package/@thi.ng/defmulti) ![npm downloads](https://img.shields.io/npm/dm/@thi.ng/defmulti.svg) @@ -20,7 +20,7 @@ This project is part of the - [implementations()](#implementations) - [defmultiN()](#defmultin) - [Usage examples](#usage-examples) - - [Dynamic dispatch: Simple S-expression interpreter](#dynamic-dispatch-simple-s-expression-interpreter) + - [Dynamic dispatch: Simple S-expression interpreter](#dynamic-dispatch--simple-s-expression-interpreter) - [True multiple arg dispatch](#true-multiple-arg-dispatch) - [Authors](#authors) - [License](#license) @@ -49,6 +49,7 @@ Package sizes (gzipped): ESM: 0.7KB / CJS: 0.8KB / UMD: 0.8KB - [@thi.ng/api](https://github.com/thi-ng/umbrella/tree/develop/packages/api) - [@thi.ng/errors](https://github.com/thi-ng/umbrella/tree/develop/packages/errors) +- [tslib](https://github.com/thi-ng/umbrella/tree/develop/packages/undefined) ## Usage examples @@ -58,21 +59,10 @@ directory are using this package. A selection: -### rstream-spreadsheet - -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/rstream-spreadsheet.png) - -rstream based spreadsheet w/ S-expression formula DSL - -[Live demo](https://demo.thi.ng/umbrella/rstream-spreadsheet/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/rstream-spreadsheet) - -### xml-converter - -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/xml-converter.png) - -XML/HTML/SVG to hiccup/JS conversion - -[Live demo](https://demo.thi.ng/umbrella/xml-converter/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/xml-converter) +| Screenshot | Description | Live demo | Source | +| -------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------- | --------------------------------------------------------- | -------------------------------------------------------------------------------------- | +| | rstream based spreadsheet w/ S-expression formula DSL | [Demo](https://demo.thi.ng/umbrella/rstream-spreadsheet/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/rstream-spreadsheet) | +| | XML/HTML/SVG to hiccup/JS conversion | [Demo](https://demo.thi.ng/umbrella/xml-converter/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/xml-converter) | ## API diff --git a/packages/dgraph/README.md b/packages/dgraph/README.md index 92b5b0754c..b34c2efce5 100644 --- a/packages/dgraph/README.md +++ b/packages/dgraph/README.md @@ -1,6 +1,6 @@ -# ![@thi.ng/dgraph](https://media.thi.ng/umbrella/banners/thing-dgraph.svg?1583078718) +# ![@thi.ng/dgraph](https://media.thi.ng/umbrella/banners/thing-dgraph.svg?1584814438) [![npm version](https://img.shields.io/npm/v/@thi.ng/dgraph.svg)](https://www.npmjs.com/package/@thi.ng/dgraph) ![npm downloads](https://img.shields.io/npm/dm/@thi.ng/dgraph.svg) @@ -51,6 +51,7 @@ Package sizes (gzipped): ESM: 0.7KB / CJS: 0.8KB / UMD: 0.9KB - [@thi.ng/equiv](https://github.com/thi-ng/umbrella/tree/develop/packages/equiv) - [@thi.ng/errors](https://github.com/thi-ng/umbrella/tree/develop/packages/errors) - [@thi.ng/transducers](https://github.com/thi-ng/umbrella/tree/develop/packages/transducers) +- [tslib](https://github.com/thi-ng/umbrella/tree/develop/packages/undefined) ## Usage examples @@ -60,13 +61,9 @@ directory are using this package. A selection: -### package-stats - -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/package-stats.png) - -CLI util to visualize umbrella pkg stats - -[Live demo](https://demo.thi.ng/umbrella/package-stats/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/package-stats) +| Screenshot | Description | Live demo | Source | +| -------------------------------------------------------------------------------------------------------------------- | ---------------------------------------- | --------------------------------------------------- | -------------------------------------------------------------------------------- | +| | CLI util to visualize umbrella pkg stats | [Demo](https://demo.thi.ng/umbrella/package-stats/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/package-stats) | ## API diff --git a/packages/diff/README.md b/packages/diff/README.md index 5b3099983b..4172a6ac6e 100644 --- a/packages/diff/README.md +++ b/packages/diff/README.md @@ -1,6 +1,6 @@ -# ![@thi.ng/diff](https://media.thi.ng/umbrella/banners/thing-diff.svg?1581297778) +# ![@thi.ng/diff](https://media.thi.ng/umbrella/banners/thing-diff.svg?1584814368) [![npm version](https://img.shields.io/npm/v/@thi.ng/diff.svg)](https://www.npmjs.com/package/@thi.ng/diff) ![npm downloads](https://img.shields.io/npm/dm/@thi.ng/diff.svg) @@ -39,6 +39,7 @@ Package sizes (gzipped): ESM: 1.2KB / CJS: 1.3KB / UMD: 1.3KB - [@thi.ng/api](https://github.com/thi-ng/umbrella/tree/develop/packages/api) - [@thi.ng/equiv](https://github.com/thi-ng/umbrella/tree/develop/packages/equiv) +- [tslib](https://github.com/thi-ng/umbrella/tree/develop/packages/undefined) ## API diff --git a/packages/dl-asset/README.md b/packages/dl-asset/README.md index 0196b49414..957ae4eb47 100644 --- a/packages/dl-asset/README.md +++ b/packages/dl-asset/README.md @@ -1,6 +1,6 @@ -# ![@thi.ng/dl-asset](https://media.thi.ng/umbrella/banners/thing-dl-asset.svg?1583078712) +# ![@thi.ng/dl-asset](https://media.thi.ng/umbrella/banners/thing-dl-asset.svg?1584814380) [![npm version](https://img.shields.io/npm/v/@thi.ng/dl-asset.svg)](https://www.npmjs.com/package/@thi.ng/dl-asset) ![npm downloads](https://img.shields.io/npm/dm/@thi.ng/dl-asset.svg) @@ -39,6 +39,7 @@ Package sizes (gzipped): ESM: 0.4KB / CJS: 0.4KB / UMD: 0.5KB - [@thi.ng/api](https://github.com/thi-ng/umbrella/tree/develop/packages/api) - [@thi.ng/checks](https://github.com/thi-ng/umbrella/tree/develop/packages/checks) - [@thi.ng/mime](https://github.com/thi-ng/umbrella/tree/develop/packages/mime) +- [tslib](https://github.com/thi-ng/umbrella/tree/develop/packages/undefined) ## Usage examples @@ -48,37 +49,12 @@ directory are using this package. A selection: -### hdom-canvas-shapes - -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/hdom-canvas/hdom-canvas-shapes-results.png) - -Various hdom-canvas shape drawing examples & SVG conversion / export - -[Live demo](https://demo.thi.ng/umbrella/hdom-canvas-shapes/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/hdom-canvas-shapes) - -### rotating-voronoi - -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/rotating-voronoi.jpg) - -Animated Voronoi diagram, cubic splines & SVG download - -[Live demo](https://demo.thi.ng/umbrella/rotating-voronoi/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/rotating-voronoi) - -### rstream-grid - -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/rstream-grid.jpg) - -Interactive grid generator, SVG generation & export, undo/redo support - -[Live demo](https://demo.thi.ng/umbrella/rstream-grid/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/rstream-grid) - -### wolfram - -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/wolfram.png) - -1D Wolfram automata with OBJ point cloud export - -[Live demo](https://demo.thi.ng/umbrella/wolfram/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/wolfram) +| Screenshot | Description | Live demo | Source | +| ------------------------------------------------------------------------------------------------------------------------------------ | ---------------------------------------------------------------------- | -------------------------------------------------------- | ------------------------------------------------------------------------------------- | +| | Various hdom-canvas shape drawing examples & SVG conversion / export | [Demo](https://demo.thi.ng/umbrella/hdom-canvas-shapes/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/hdom-canvas-shapes) | +| | Animated Voronoi diagram, cubic splines & SVG download | [Demo](https://demo.thi.ng/umbrella/rotating-voronoi/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/rotating-voronoi) | +| | Interactive grid generator, SVG generation & export, undo/redo support | [Demo](https://demo.thi.ng/umbrella/rstream-grid/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/rstream-grid) | +| | 1D Wolfram automata with OBJ point cloud export | [Demo](https://demo.thi.ng/umbrella/wolfram/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/wolfram) | ## API diff --git a/packages/dlogic/README.md b/packages/dlogic/README.md index 94bf461ed3..7ade6c5717 100644 --- a/packages/dlogic/README.md +++ b/packages/dlogic/README.md @@ -1,6 +1,6 @@ -# ![@thi.ng/dlogic](https://media.thi.ng/umbrella/banners/thing-dlogic.svg?1581297776) +# ![@thi.ng/dlogic](https://media.thi.ng/umbrella/banners/thing-dlogic.svg?1584814332) [![npm version](https://img.shields.io/npm/v/@thi.ng/dlogic.svg)](https://www.npmjs.com/package/@thi.ng/dlogic) ![npm downloads](https://img.shields.io/npm/dm/@thi.ng/dlogic.svg) @@ -42,7 +42,7 @@ Package sizes (gzipped): ESM: 0.4KB / CJS: 0.5KB / UMD: 0.5KB ## Dependencies -None +- [tslib](https://github.com/thi-ng/umbrella/tree/develop/packages/undefined) ## API diff --git a/packages/dot/README.md b/packages/dot/README.md index 8f384b7618..020fdf1b51 100644 --- a/packages/dot/README.md +++ b/packages/dot/README.md @@ -1,6 +1,6 @@ -# ![@thi.ng/dot](https://media.thi.ng/umbrella/banners/thing-dot.svg?1582660656) +# ![@thi.ng/dot](https://media.thi.ng/umbrella/banners/thing-dot.svg?1584814356) [![npm version](https://img.shields.io/npm/v/@thi.ng/dot.svg)](https://www.npmjs.com/package/@thi.ng/dot) ![npm downloads](https://img.shields.io/npm/dm/@thi.ng/dot.svg) @@ -49,6 +49,7 @@ Package sizes (gzipped): ESM: 0.7KB / CJS: 0.8KB / UMD: 0.8KB - [@thi.ng/api](https://github.com/thi-ng/umbrella/tree/develop/packages/api) - [@thi.ng/checks](https://github.com/thi-ng/umbrella/tree/develop/packages/checks) +- [tslib](https://github.com/thi-ng/umbrella/tree/develop/packages/undefined) ## API diff --git a/packages/dsp-io-wav/README.md b/packages/dsp-io-wav/README.md index ae6328be93..28f04e3e46 100644 --- a/packages/dsp-io-wav/README.md +++ b/packages/dsp-io-wav/README.md @@ -1,6 +1,6 @@ -# ![@thi.ng/dsp-io-wav](https://media.thi.ng/umbrella/banners/thing-dsp-io-wav.svg?1581297782) +# ![@thi.ng/dsp-io-wav](https://media.thi.ng/umbrella/banners/thing-dsp-io-wav.svg?1584814426) [![npm version](https://img.shields.io/npm/v/@thi.ng/dsp-io-wav.svg)](https://www.npmjs.com/package/@thi.ng/dsp-io-wav) ![npm downloads](https://img.shields.io/npm/dm/@thi.ng/dsp-io-wav.svg) @@ -39,6 +39,7 @@ Package sizes (gzipped): ESM: 0.5KB / CJS: 0.5KB / UMD: 0.6KB - [@thi.ng/binary](https://github.com/thi-ng/umbrella/tree/develop/packages/binary) - [@thi.ng/transducers](https://github.com/thi-ng/umbrella/tree/develop/packages/transducers) - [@thi.ng/transducers-binary](https://github.com/thi-ng/umbrella/tree/develop/packages/transducers-binary) +- [tslib](https://github.com/thi-ng/umbrella/tree/develop/packages/undefined) ## API diff --git a/packages/dsp/README.md b/packages/dsp/README.md index 469e0abdf3..e719e1a439 100644 --- a/packages/dsp/README.md +++ b/packages/dsp/README.md @@ -1,6 +1,6 @@ -# ![@thi.ng/dsp](https://media.thi.ng/umbrella/banners/thing-dsp.svg?1583078714) +# ![@thi.ng/dsp](https://media.thi.ng/umbrella/banners/thing-dsp.svg?1584814401) [![npm version](https://img.shields.io/npm/v/@thi.ng/dsp.svg)](https://www.npmjs.com/package/@thi.ng/dsp) ![npm downloads](https://img.shields.io/npm/dm/@thi.ng/dsp.svg) @@ -70,6 +70,7 @@ Package sizes (gzipped): ESM: 6.6KB / CJS: 7.1KB / UMD: 6.6KB - [@thi.ng/checks](https://github.com/thi-ng/umbrella/tree/develop/packages/checks) - [@thi.ng/math](https://github.com/thi-ng/umbrella/tree/develop/packages/math) - [@thi.ng/transducers](https://github.com/thi-ng/umbrella/tree/develop/packages/transducers) +- [tslib](https://github.com/thi-ng/umbrella/tree/develop/packages/undefined) ## Usage examples @@ -79,37 +80,12 @@ directory are using this package. A selection: -### fft-synth - -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/fft-synth.png) - -Interactive inverse FFT toy synth - -[Live demo](https://demo.thi.ng/umbrella/fft-synth/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/fft-synth) - -### poly-spline - -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/poly-spline.png) - -Polygon to cubic curve conversion & visualization - -[Live demo](https://demo.thi.ng/umbrella/poly-spline/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/poly-spline) - -### text-canvas - -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/text-canvas.png) - -3D wireframe textmode demo - -[Live demo](https://demo.thi.ng/umbrella/text-canvas/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/text-canvas) - -### webgl-ssao - -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/webgl-ssao.jpg) - -WebGL screenspace ambient occlusion - -[Live demo](https://demo.thi.ng/umbrella/webgl-ssao/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/webgl-ssao) +| Screenshot | Description | Live demo | Source | +| ------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------------------------------------ | +| | Interactive inverse FFT toy synth | [Demo](https://demo.thi.ng/umbrella/fft-synth/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/fft-synth) | +| | Polygon to cubic curve conversion & visualization | [Demo](https://demo.thi.ng/umbrella/poly-spline/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/poly-spline) | +| | 3D wireframe textmode demo | [Demo](https://demo.thi.ng/umbrella/text-canvas/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/text-canvas) | +| | WebGL screenspace ambient occlusion | [Demo](https://demo.thi.ng/umbrella/webgl-ssao/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/webgl-ssao) | ## API diff --git a/packages/dynvar/README.md b/packages/dynvar/README.md index 10bccc8490..875a4d907d 100644 --- a/packages/dynvar/README.md +++ b/packages/dynvar/README.md @@ -1,6 +1,6 @@ -# ![@thi.ng/dynvar](https://media.thi.ng/umbrella/banners/thing-dynvar.svg?1581297777) +# ![@thi.ng/dynvar](https://media.thi.ng/umbrella/banners/thing-dynvar.svg?1584814344) [![npm version](https://img.shields.io/npm/v/@thi.ng/dynvar.svg)](https://www.npmjs.com/package/@thi.ng/dynvar) ![npm downloads](https://img.shields.io/npm/dm/@thi.ng/dynvar.svg) @@ -41,6 +41,7 @@ Package sizes (gzipped): ESM: 0.3KB / CJS: 0.3KB / UMD: 0.4KB ## Dependencies - [@thi.ng/api](https://github.com/thi-ng/umbrella/tree/develop/packages/api) +- [tslib](https://github.com/thi-ng/umbrella/tree/develop/packages/undefined) ## API diff --git a/packages/ecs/README.md b/packages/ecs/README.md index 256784d62c..f58476b6d1 100644 --- a/packages/ecs/README.md +++ b/packages/ecs/README.md @@ -1,6 +1,6 @@ -# ![@thi.ng/ecs](https://media.thi.ng/umbrella/banners/thing-ecs.svg?1583078719) +# ![@thi.ng/ecs](https://media.thi.ng/umbrella/banners/thing-ecs.svg?1584814438) [![npm version](https://img.shields.io/npm/v/@thi.ng/ecs.svg)](https://www.npmjs.com/package/@thi.ng/ecs) ![npm downloads](https://img.shields.io/npm/dm/@thi.ng/ecs.svg) @@ -42,7 +42,7 @@ Entity Component System based around typed arrays & sparse sets. yarn add @thi.ng/ecs ``` -Package sizes (gzipped): ESM: 3.1KB / CJS: 3.1KB / UMD: 3.2KB +Package sizes (gzipped): ESM: 2.9KB / CJS: 3.0KB / UMD: 3.0KB ## Dependencies @@ -53,6 +53,7 @@ Package sizes (gzipped): ESM: 3.1KB / CJS: 3.1KB / UMD: 3.2KB - [@thi.ng/dcons](https://github.com/thi-ng/umbrella/tree/develop/packages/dcons) - [@thi.ng/idgen](https://github.com/thi-ng/umbrella/tree/develop/packages/idgen) - [@thi.ng/transducers](https://github.com/thi-ng/umbrella/tree/develop/packages/transducers) +- [tslib](https://github.com/thi-ng/umbrella/tree/develop/packages/undefined) ## Usage examples @@ -62,13 +63,9 @@ directory are using this package. A selection: -### soa-ecs - -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/soa-ecs-100k.png) - -Entity Component System w/ 100k 3D particles - -[Live demo](https://demo.thi.ng/umbrella/soa-ecs/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/soa-ecs) +| Screenshot | Description | Live demo | Source | +| ------------------------------------------------------------------------------------------------------------------- | -------------------------------------------- | --------------------------------------------- | -------------------------------------------------------------------------- | +| | Entity Component System w/ 100k 3D particles | [Demo](https://demo.thi.ng/umbrella/soa-ecs/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/soa-ecs) | ## API diff --git a/packages/equiv/README.md b/packages/equiv/README.md index d1e556342f..af2c1f614c 100644 --- a/packages/equiv/README.md +++ b/packages/equiv/README.md @@ -1,6 +1,6 @@ -# ![@thi.ng/equiv](https://media.thi.ng/umbrella/banners/thing-equiv.svg?1581297776) +# ![@thi.ng/equiv](https://media.thi.ng/umbrella/banners/thing-equiv.svg?1584814332) [![npm version](https://img.shields.io/npm/v/@thi.ng/equiv.svg)](https://www.npmjs.com/package/@thi.ng/equiv) ![npm downloads](https://img.shields.io/npm/dm/@thi.ng/equiv.svg) @@ -48,7 +48,7 @@ Package sizes (gzipped): ESM: 0.5KB / CJS: 0.5KB / UMD: 0.6KB ## Dependencies -None +- [tslib](https://github.com/thi-ng/umbrella/tree/develop/packages/undefined) ## API diff --git a/packages/errors/README.md b/packages/errors/README.md index a520f2f087..9808a5d731 100644 --- a/packages/errors/README.md +++ b/packages/errors/README.md @@ -1,6 +1,6 @@ -# ![@thi.ng/errors](https://media.thi.ng/umbrella/banners/thing-errors.svg?1581297777) +# ![@thi.ng/errors](https://media.thi.ng/umbrella/banners/thing-errors.svg?1584814329) [![npm version](https://img.shields.io/npm/v/@thi.ng/errors.svg)](https://www.npmjs.com/package/@thi.ng/errors) ![npm downloads](https://img.shields.io/npm/dm/@thi.ng/errors.svg) @@ -38,7 +38,7 @@ Package sizes (gzipped): ESM: 0.3KB / CJS: 0.3KB / UMD: 0.4KB ## Dependencies -None +- [tslib](https://github.com/thi-ng/umbrella/tree/develop/packages/undefined) ## API diff --git a/packages/fsm/README.md b/packages/fsm/README.md index 2a3a1af415..2882da0407 100644 --- a/packages/fsm/README.md +++ b/packages/fsm/README.md @@ -1,6 +1,6 @@ -# ![@thi.ng/fsm](https://media.thi.ng/umbrella/banners/thing-fsm.svg?1583462198) +# ![@thi.ng/fsm](https://media.thi.ng/umbrella/banners/thing-fsm.svg?1584814401) [![npm version](https://img.shields.io/npm/v/@thi.ng/fsm.svg)](https://www.npmjs.com/package/@thi.ng/fsm) ![npm downloads](https://img.shields.io/npm/dm/@thi.ng/fsm.svg) @@ -53,6 +53,7 @@ Package sizes (gzipped): ESM: 1.4KB / CJS: 1.5KB / UMD: 1.4KB - [@thi.ng/errors](https://github.com/thi-ng/umbrella/tree/develop/packages/errors) - [@thi.ng/strings](https://github.com/thi-ng/umbrella/tree/develop/packages/strings) - [@thi.ng/transducers](https://github.com/thi-ng/umbrella/tree/develop/packages/transducers) +- [tslib](https://github.com/thi-ng/umbrella/tree/develop/packages/undefined) ## Usage examples @@ -62,13 +63,9 @@ directory are using this package. A selection: -### markdown - -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/markdown-parser.jpg) - -Minimal Markdown to Hiccup to HTML parser / transformer - -[Live demo](https://demo.thi.ng/umbrella/markdown/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/markdown) +| Screenshot | Description | Live demo | Source | +| ---------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------- | ---------------------------------------------- | --------------------------------------------------------------------------- | +| | Minimal Markdown to Hiccup to HTML parser / transformer | [Demo](https://demo.thi.ng/umbrella/markdown/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/markdown) | ## API diff --git a/packages/geom-accel/README.md b/packages/geom-accel/README.md index adfdd1c89d..31167899af 100644 --- a/packages/geom-accel/README.md +++ b/packages/geom-accel/README.md @@ -1,6 +1,6 @@ -# ![@thi.ng/geom-accel](https://media.thi.ng/umbrella/banners/thing-geom-accel.svg?1583078721) +# ![@thi.ng/geom-accel](https://media.thi.ng/umbrella/banners/thing-geom-accel.svg?1584814494) [![npm version](https://img.shields.io/npm/v/@thi.ng/geom-accel.svg)](https://www.npmjs.com/package/@thi.ng/geom-accel) ![npm downloads](https://img.shields.io/npm/dm/@thi.ng/geom-accel.svg) @@ -59,6 +59,7 @@ Package sizes (gzipped): ESM: 2.9KB / CJS: 2.9KB / UMD: 2.9KB - [@thi.ng/math](https://github.com/thi-ng/umbrella/tree/develop/packages/math) - [@thi.ng/transducers](https://github.com/thi-ng/umbrella/tree/develop/packages/transducers) - [@thi.ng/vectors](https://github.com/thi-ng/umbrella/tree/develop/packages/vectors) +- [tslib](https://github.com/thi-ng/umbrella/tree/develop/packages/undefined) ## Usage examples @@ -68,21 +69,10 @@ directory are using this package. A selection: -### geom-knn - -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/geom-knn.jpg) - -Doodle w/ K-nearest neighbor search result visualization - -[Live demo](https://demo.thi.ng/umbrella/geom-knn/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/geom-knn) - -### geom-voronoi-mst - -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/geom-voronoi-mst.jpg) - -Poisson-disk shape-aware sampling, Voronoi & Minimum Spanning Tree visualization - -[Live demo](https://demo.thi.ng/umbrella/geom-voronoi-mst/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/geom-voronoi-mst) +| Screenshot | Description | Live demo | Source | +| ----------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- | ------------------------------------------------------ | ----------------------------------------------------------------------------------- | +| | Doodle w/ K-nearest neighbor search result visualization | [Demo](https://demo.thi.ng/umbrella/geom-knn/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/geom-knn) | +| | Poisson-disk shape-aware sampling, Voronoi & Minimum Spanning Tree visualization | [Demo](https://demo.thi.ng/umbrella/geom-voronoi-mst/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/geom-voronoi-mst) | ## API diff --git a/packages/geom-api/README.md b/packages/geom-api/README.md index 508b3e2647..509012c4f0 100644 --- a/packages/geom-api/README.md +++ b/packages/geom-api/README.md @@ -1,6 +1,6 @@ -# ![@thi.ng/geom-api](https://media.thi.ng/umbrella/banners/thing-geom-api.svg?1581297783) +# ![@thi.ng/geom-api](https://media.thi.ng/umbrella/banners/thing-geom-api.svg?1584814449) [![npm version](https://img.shields.io/npm/v/@thi.ng/geom-api.svg)](https://www.npmjs.com/package/@thi.ng/geom-api) ![npm downloads](https://img.shields.io/npm/dm/@thi.ng/geom-api.svg) @@ -37,6 +37,7 @@ Package sizes (gzipped): ESM: 0.6KB / CJS: 0.6KB / UMD: 0.7KB - [@thi.ng/api](https://github.com/thi-ng/umbrella/tree/develop/packages/api) - [@thi.ng/vectors](https://github.com/thi-ng/umbrella/tree/develop/packages/vectors) +- [tslib](https://github.com/thi-ng/umbrella/tree/develop/packages/undefined) ## API diff --git a/packages/geom-arc/README.md b/packages/geom-arc/README.md index 0a6e744d89..db02146924 100644 --- a/packages/geom-arc/README.md +++ b/packages/geom-arc/README.md @@ -1,6 +1,6 @@ -# ![@thi.ng/geom-arc](https://media.thi.ng/umbrella/banners/thing-geom-arc.svg?1581297787) +# ![@thi.ng/geom-arc](https://media.thi.ng/umbrella/banners/thing-geom-arc.svg?1584814496) [![npm version](https://img.shields.io/npm/v/@thi.ng/geom-arc.svg)](https://www.npmjs.com/package/@thi.ng/geom-arc) ![npm downloads](https://img.shields.io/npm/dm/@thi.ng/geom-arc.svg) @@ -40,6 +40,7 @@ Package sizes (gzipped): ESM: 1.0KB / CJS: 1.1KB / UMD: 1.1KB - [@thi.ng/geom-resample](https://github.com/thi-ng/umbrella/tree/develop/packages/geom-resample) - [@thi.ng/math](https://github.com/thi-ng/umbrella/tree/develop/packages/math) - [@thi.ng/vectors](https://github.com/thi-ng/umbrella/tree/develop/packages/vectors) +- [tslib](https://github.com/thi-ng/umbrella/tree/develop/packages/undefined) ## API diff --git a/packages/geom-clip-line/README.md b/packages/geom-clip-line/README.md index d18a8c5fb3..be1023e1e5 100644 --- a/packages/geom-clip-line/README.md +++ b/packages/geom-clip-line/README.md @@ -1,6 +1,6 @@ -# ![@thi.ng/geom-clip-line](https://media.thi.ng/umbrella/banners/thing-geom-clip-line.svg?1582472092) +# ![@thi.ng/geom-clip-line](https://media.thi.ng/umbrella/banners/thing-geom-clip-line.svg?1584814451) [![npm version](https://img.shields.io/npm/v/@thi.ng/geom-clip-line.svg)](https://www.npmjs.com/package/@thi.ng/geom-clip-line) ![npm downloads](https://img.shields.io/npm/dm/@thi.ng/geom-clip-line.svg) @@ -42,6 +42,7 @@ Package sizes (gzipped): ESM: 0.3KB / CJS: 0.3KB / UMD: 0.4KB ## Dependencies - [@thi.ng/vectors](https://github.com/thi-ng/umbrella/tree/develop/packages/vectors) +- [tslib](https://github.com/thi-ng/umbrella/tree/develop/packages/undefined) ## API diff --git a/packages/geom-clip-poly/README.md b/packages/geom-clip-poly/README.md index 810dda99d4..3d381d9f4d 100644 --- a/packages/geom-clip-poly/README.md +++ b/packages/geom-clip-poly/README.md @@ -1,6 +1,6 @@ -# ![@thi.ng/geom-clip-poly](https://media.thi.ng/umbrella/banners/thing-geom-clip-poly.svg?1582472096) +# ![@thi.ng/geom-clip-poly](https://media.thi.ng/umbrella/banners/thing-geom-clip-poly.svg?1584814495) [![npm version](https://img.shields.io/npm/v/@thi.ng/geom-clip-poly.svg)](https://www.npmjs.com/package/@thi.ng/geom-clip-poly) ![npm downloads](https://img.shields.io/npm/dm/@thi.ng/geom-clip-poly.svg) @@ -45,6 +45,7 @@ Package sizes (gzipped): ESM: 0.3KB / CJS: 0.4KB / UMD: 0.5KB - [@thi.ng/geom-poly-utils](https://github.com/thi-ng/umbrella/tree/develop/packages/geom-poly-utils) - [@thi.ng/math](https://github.com/thi-ng/umbrella/tree/develop/packages/math) - [@thi.ng/vectors](https://github.com/thi-ng/umbrella/tree/develop/packages/vectors) +- [tslib](https://github.com/thi-ng/umbrella/tree/develop/packages/undefined) ## API diff --git a/packages/geom-closest-point/README.md b/packages/geom-closest-point/README.md index 1465e11a55..ecbc1fc0b7 100644 --- a/packages/geom-closest-point/README.md +++ b/packages/geom-closest-point/README.md @@ -1,6 +1,6 @@ -# ![@thi.ng/geom-closest-point](https://media.thi.ng/umbrella/banners/thing-geom-closest-point.svg?1581297783) +# ![@thi.ng/geom-closest-point](https://media.thi.ng/umbrella/banners/thing-geom-closest-point.svg?1584814450) [![npm version](https://img.shields.io/npm/v/@thi.ng/geom-closest-point.svg)](https://www.npmjs.com/package/@thi.ng/geom-closest-point) ![npm downloads](https://img.shields.io/npm/dm/@thi.ng/geom-closest-point.svg) @@ -41,6 +41,7 @@ Package sizes (gzipped): ESM: 0.8KB / CJS: 0.9KB / UMD: 0.9KB - [@thi.ng/math](https://github.com/thi-ng/umbrella/tree/develop/packages/math) - [@thi.ng/vectors](https://github.com/thi-ng/umbrella/tree/develop/packages/vectors) +- [tslib](https://github.com/thi-ng/umbrella/tree/develop/packages/undefined) ## API diff --git a/packages/geom-hull/README.md b/packages/geom-hull/README.md index 6c75cab48c..bc186b90fd 100644 --- a/packages/geom-hull/README.md +++ b/packages/geom-hull/README.md @@ -1,6 +1,6 @@ -# ![@thi.ng/geom-hull](https://media.thi.ng/umbrella/banners/thing-geom-hull.svg?1583078717) +# ![@thi.ng/geom-hull](https://media.thi.ng/umbrella/banners/thing-geom-hull.svg?1584814451) [![npm version](https://img.shields.io/npm/v/@thi.ng/geom-hull.svg)](https://www.npmjs.com/package/@thi.ng/geom-hull) ![npm downloads](https://img.shields.io/npm/dm/@thi.ng/geom-hull.svg) @@ -41,6 +41,7 @@ Package sizes (gzipped): ESM: 0.4KB / CJS: 0.5KB / UMD: 0.6KB - [@thi.ng/math](https://github.com/thi-ng/umbrella/tree/develop/packages/math) - [@thi.ng/vectors](https://github.com/thi-ng/umbrella/tree/develop/packages/vectors) +- [tslib](https://github.com/thi-ng/umbrella/tree/develop/packages/undefined) ## Usage examples @@ -50,13 +51,9 @@ directory are using this package. A selection: -### geom-convex-hull - -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/geom-convex-hull.png) - -Convex hull & shape clipping of 2D polygons - -[Live demo](https://demo.thi.ng/umbrella/geom-convex-hull/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/geom-convex-hull) +| Screenshot | Description | Live demo | Source | +| ----------------------------------------------------------------------------------------------------------------------- | ------------------------------------------- | ------------------------------------------------------ | ----------------------------------------------------------------------------------- | +| | Convex hull & shape clipping of 2D polygons | [Demo](https://demo.thi.ng/umbrella/geom-convex-hull/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/geom-convex-hull) | ## API diff --git a/packages/geom-isec/README.md b/packages/geom-isec/README.md index 78d909c682..b177bc216f 100644 --- a/packages/geom-isec/README.md +++ b/packages/geom-isec/README.md @@ -1,6 +1,6 @@ -# ![@thi.ng/geom-isec](https://media.thi.ng/umbrella/banners/thing-geom-isec.svg?1581297786) +# ![@thi.ng/geom-isec](https://media.thi.ng/umbrella/banners/thing-geom-isec.svg?1584814486) [![npm version](https://img.shields.io/npm/v/@thi.ng/geom-isec.svg)](https://www.npmjs.com/package/@thi.ng/geom-isec) ![npm downloads](https://img.shields.io/npm/dm/@thi.ng/geom-isec.svg) @@ -63,6 +63,7 @@ Package sizes (gzipped): ESM: 2.3KB / CJS: 2.4KB / UMD: 2.4KB - [@thi.ng/geom-closest-point](https://github.com/thi-ng/umbrella/tree/develop/packages/geom-closest-point) - [@thi.ng/math](https://github.com/thi-ng/umbrella/tree/develop/packages/math) - [@thi.ng/vectors](https://github.com/thi-ng/umbrella/tree/develop/packages/vectors) +- [tslib](https://github.com/thi-ng/umbrella/tree/develop/packages/undefined) ## API diff --git a/packages/geom-isoline/README.md b/packages/geom-isoline/README.md index 201cf988aa..38ecaa4263 100644 --- a/packages/geom-isoline/README.md +++ b/packages/geom-isoline/README.md @@ -1,6 +1,6 @@ -# ![@thi.ng/geom-isoline](https://media.thi.ng/umbrella/banners/thing-geom-isoline.svg?1581297784) +# ![@thi.ng/geom-isoline](https://media.thi.ng/umbrella/banners/thing-geom-isoline.svg?1584814451) [![npm version](https://img.shields.io/npm/v/@thi.ng/geom-isoline.svg)](https://www.npmjs.com/package/@thi.ng/geom-isoline) ![npm downloads](https://img.shields.io/npm/dm/@thi.ng/geom-isoline.svg) @@ -41,6 +41,7 @@ Package sizes (gzipped): ESM: 0.7KB / CJS: 0.8KB / UMD: 0.8KB - [@thi.ng/transducers](https://github.com/thi-ng/umbrella/tree/develop/packages/transducers) - [@thi.ng/vectors](https://github.com/thi-ng/umbrella/tree/develop/packages/vectors) +- [tslib](https://github.com/thi-ng/umbrella/tree/develop/packages/undefined) ## Usage examples @@ -50,13 +51,9 @@ directory are using this package. A selection: -### iso-plasma - -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/geom/geom-isoline.png) - -Animated sine plasma effect visualized using contour lines - -[Live demo](https://demo.thi.ng/umbrella/iso-plasma/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/iso-plasma) +| Screenshot | Description | Live demo | Source | +| --------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------- | ------------------------------------------------ | ----------------------------------------------------------------------------- | +| | Animated sine plasma effect visualized using contour lines | [Demo](https://demo.thi.ng/umbrella/iso-plasma/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/iso-plasma) | ## API diff --git a/packages/geom-poly-utils/README.md b/packages/geom-poly-utils/README.md index eace60b3d3..fe8569067b 100644 --- a/packages/geom-poly-utils/README.md +++ b/packages/geom-poly-utils/README.md @@ -1,6 +1,6 @@ -# ![@thi.ng/geom-poly-utils](https://media.thi.ng/umbrella/banners/thing-geom-poly-utils.svg?1581297785) +# ![@thi.ng/geom-poly-utils](https://media.thi.ng/umbrella/banners/thing-geom-poly-utils.svg?1584814475) [![npm version](https://img.shields.io/npm/v/@thi.ng/geom-poly-utils.svg)](https://www.npmjs.com/package/@thi.ng/geom-poly-utils) ![npm downloads](https://img.shields.io/npm/dm/@thi.ng/geom-poly-utils.svg) @@ -53,6 +53,7 @@ Package sizes (gzipped): ESM: 1.1KB / CJS: 1.1KB / UMD: 1.2KB - [@thi.ng/geom-api](https://github.com/thi-ng/umbrella/tree/develop/packages/geom-api) - [@thi.ng/math](https://github.com/thi-ng/umbrella/tree/develop/packages/math) - [@thi.ng/vectors](https://github.com/thi-ng/umbrella/tree/develop/packages/vectors) +- [tslib](https://github.com/thi-ng/umbrella/tree/develop/packages/undefined) ## API diff --git a/packages/geom-resample/README.md b/packages/geom-resample/README.md index 3a60442178..58d21963f2 100644 --- a/packages/geom-resample/README.md +++ b/packages/geom-resample/README.md @@ -1,6 +1,6 @@ -# ![@thi.ng/geom-resample](https://media.thi.ng/umbrella/banners/thing-geom-resample.svg?1583078720) +# ![@thi.ng/geom-resample](https://media.thi.ng/umbrella/banners/thing-geom-resample.svg?1584814486) [![npm version](https://img.shields.io/npm/v/@thi.ng/geom-resample.svg)](https://www.npmjs.com/package/@thi.ng/geom-resample) ![npm downloads](https://img.shields.io/npm/dm/@thi.ng/geom-resample.svg) @@ -48,6 +48,7 @@ Package sizes (gzipped): ESM: 1.2KB / CJS: 1.3KB / UMD: 1.4KB - [@thi.ng/geom-closest-point](https://github.com/thi-ng/umbrella/tree/develop/packages/geom-closest-point) - [@thi.ng/math](https://github.com/thi-ng/umbrella/tree/develop/packages/math) - [@thi.ng/vectors](https://github.com/thi-ng/umbrella/tree/develop/packages/vectors) +- [tslib](https://github.com/thi-ng/umbrella/tree/develop/packages/undefined) ## Usage examples @@ -57,13 +58,9 @@ directory are using this package. A selection: -### rotating-voronoi - -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/rotating-voronoi.jpg) - -Animated Voronoi diagram, cubic splines & SVG download - -[Live demo](https://demo.thi.ng/umbrella/rotating-voronoi/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/rotating-voronoi) +| Screenshot | Description | Live demo | Source | +| ----------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------ | ------------------------------------------------------ | ----------------------------------------------------------------------------------- | +| | Animated Voronoi diagram, cubic splines & SVG download | [Demo](https://demo.thi.ng/umbrella/rotating-voronoi/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/rotating-voronoi) | ## API diff --git a/packages/geom-splines/README.md b/packages/geom-splines/README.md index d71ee76e24..834f28cd15 100644 --- a/packages/geom-splines/README.md +++ b/packages/geom-splines/README.md @@ -1,6 +1,6 @@ -# ![@thi.ng/geom-splines](https://media.thi.ng/umbrella/banners/thing-geom-splines.svg?1583078722) +# ![@thi.ng/geom-splines](https://media.thi.ng/umbrella/banners/thing-geom-splines.svg?1584814502) [![npm version](https://img.shields.io/npm/v/@thi.ng/geom-splines.svg)](https://www.npmjs.com/package/@thi.ng/geom-splines) ![npm downloads](https://img.shields.io/npm/dm/@thi.ng/geom-splines.svg) @@ -49,6 +49,7 @@ Package sizes (gzipped): ESM: 2.2KB / CJS: 2.3KB / UMD: 2.3KB - [@thi.ng/geom-resample](https://github.com/thi-ng/umbrella/tree/develop/packages/geom-resample) - [@thi.ng/math](https://github.com/thi-ng/umbrella/tree/develop/packages/math) - [@thi.ng/vectors](https://github.com/thi-ng/umbrella/tree/develop/packages/vectors) +- [tslib](https://github.com/thi-ng/umbrella/tree/develop/packages/undefined) ## Usage examples @@ -58,13 +59,9 @@ directory are using this package. A selection: -### poly-spline - -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/poly-spline.png) - -Polygon to cubic curve conversion & visualization - -[Live demo](https://demo.thi.ng/umbrella/poly-spline/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/poly-spline) +| Screenshot | Description | Live demo | Source | +| ------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------------------------------------ | +| | Polygon to cubic curve conversion & visualization | [Demo](https://demo.thi.ng/umbrella/poly-spline/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/poly-spline) | ## API diff --git a/packages/geom-subdiv-curve/README.md b/packages/geom-subdiv-curve/README.md index 6762d412e8..cff974f7c2 100644 --- a/packages/geom-subdiv-curve/README.md +++ b/packages/geom-subdiv-curve/README.md @@ -1,6 +1,6 @@ -# ![@thi.ng/geom-subdiv-curve](https://media.thi.ng/umbrella/banners/thing-geom-subdiv-curve.svg?1581297786) +# ![@thi.ng/geom-subdiv-curve](https://media.thi.ng/umbrella/banners/thing-geom-subdiv-curve.svg?1584814475) [![npm version](https://img.shields.io/npm/v/@thi.ng/geom-subdiv-curve.svg)](https://www.npmjs.com/package/@thi.ng/geom-subdiv-curve) ![npm downloads](https://img.shields.io/npm/dm/@thi.ng/geom-subdiv-curve.svg) @@ -55,6 +55,7 @@ Package sizes (gzipped): ESM: 0.6KB / CJS: 0.7KB / UMD: 0.7KB - [@thi.ng/geom-api](https://github.com/thi-ng/umbrella/tree/develop/packages/geom-api) - [@thi.ng/transducers](https://github.com/thi-ng/umbrella/tree/develop/packages/transducers) - [@thi.ng/vectors](https://github.com/thi-ng/umbrella/tree/develop/packages/vectors) +- [tslib](https://github.com/thi-ng/umbrella/tree/develop/packages/undefined) ## API diff --git a/packages/geom-tessellate/README.md b/packages/geom-tessellate/README.md index bb28a97625..79d1cef9ff 100644 --- a/packages/geom-tessellate/README.md +++ b/packages/geom-tessellate/README.md @@ -1,6 +1,6 @@ -# ![@thi.ng/geom-tessellate](https://media.thi.ng/umbrella/banners/thing-geom-tessellate.svg?1583078721) +# ![@thi.ng/geom-tessellate](https://media.thi.ng/umbrella/banners/thing-geom-tessellate.svg?1584814495) [![npm version](https://img.shields.io/npm/v/@thi.ng/geom-tessellate.svg)](https://www.npmjs.com/package/@thi.ng/geom-tessellate) ![npm downloads](https://img.shields.io/npm/dm/@thi.ng/geom-tessellate.svg) @@ -53,6 +53,7 @@ Package sizes (gzipped): ESM: 0.8KB / CJS: 0.9KB / UMD: 0.9KB - [@thi.ng/geom-poly-utils](https://github.com/thi-ng/umbrella/tree/develop/packages/geom-poly-utils) - [@thi.ng/transducers](https://github.com/thi-ng/umbrella/tree/develop/packages/transducers) - [@thi.ng/vectors](https://github.com/thi-ng/umbrella/tree/develop/packages/vectors) +- [tslib](https://github.com/thi-ng/umbrella/tree/develop/packages/undefined) ## Usage examples @@ -62,13 +63,9 @@ directory are using this package. A selection: -### geom-tessel - -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/geom/tessel.png) - -Animated, recursive polygon tessellations - -[Live demo](https://demo.thi.ng/umbrella/geom-tessel/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/geom-tessel) +| Screenshot | Description | Live demo | Source | +| --------------------------------------------------------------------------------------------------------- | ----------------------------------------- | ------------------------------------------------- | ------------------------------------------------------------------------------ | +| | Animated, recursive polygon tessellations | [Demo](https://demo.thi.ng/umbrella/geom-tessel/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/geom-tessel) | ## API diff --git a/packages/geom-voronoi/README.md b/packages/geom-voronoi/README.md index 02df00d375..90b7972618 100644 --- a/packages/geom-voronoi/README.md +++ b/packages/geom-voronoi/README.md @@ -1,6 +1,6 @@ -# ![@thi.ng/geom-voronoi](https://media.thi.ng/umbrella/banners/thing-geom-voronoi.svg?1583078722) +# ![@thi.ng/geom-voronoi](https://media.thi.ng/umbrella/banners/thing-geom-voronoi.svg?1584814502) [![npm version](https://img.shields.io/npm/v/@thi.ng/geom-voronoi.svg)](https://www.npmjs.com/package/@thi.ng/geom-voronoi) ![npm downloads](https://img.shields.io/npm/dm/@thi.ng/geom-voronoi.svg) @@ -58,6 +58,7 @@ Package sizes (gzipped): ESM: 1.3KB / CJS: 1.4KB / UMD: 1.5KB - [@thi.ng/math](https://github.com/thi-ng/umbrella/tree/develop/packages/math) - [@thi.ng/quad-edge](https://github.com/thi-ng/umbrella/tree/develop/packages/quad-edge) - [@thi.ng/vectors](https://github.com/thi-ng/umbrella/tree/develop/packages/vectors) +- [tslib](https://github.com/thi-ng/umbrella/tree/develop/packages/undefined) ## Usage examples @@ -67,21 +68,10 @@ directory are using this package. A selection: -### geom-voronoi-mst - -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/geom-voronoi-mst.jpg) - -Poisson-disk shape-aware sampling, Voronoi & Minimum Spanning Tree visualization - -[Live demo](https://demo.thi.ng/umbrella/geom-voronoi-mst/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/geom-voronoi-mst) - -### rotating-voronoi - -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/rotating-voronoi.jpg) - -Animated Voronoi diagram, cubic splines & SVG download - -[Live demo](https://demo.thi.ng/umbrella/rotating-voronoi/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/rotating-voronoi) +| Screenshot | Description | Live demo | Source | +| ----------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- | ------------------------------------------------------ | ----------------------------------------------------------------------------------- | +| | Poisson-disk shape-aware sampling, Voronoi & Minimum Spanning Tree visualization | [Demo](https://demo.thi.ng/umbrella/geom-voronoi-mst/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/geom-voronoi-mst) | +| | Animated Voronoi diagram, cubic splines & SVG download | [Demo](https://demo.thi.ng/umbrella/rotating-voronoi/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/rotating-voronoi) | ## API diff --git a/packages/geom/README.md b/packages/geom/README.md index 8a2738a052..a627167c44 100644 --- a/packages/geom/README.md +++ b/packages/geom/README.md @@ -1,6 +1,6 @@ -# ![@thi.ng/geom](https://media.thi.ng/umbrella/banners/thing-geom.svg?1583078722) +# ![@thi.ng/geom](https://media.thi.ng/umbrella/banners/thing-geom.svg?1584814505) [![npm version](https://img.shields.io/npm/v/@thi.ng/geom.svg)](https://www.npmjs.com/package/@thi.ng/geom) ![npm downloads](https://img.shields.io/npm/dm/@thi.ng/geom.svg) @@ -91,6 +91,7 @@ Package sizes (gzipped): ESM: 9.4KB / CJS: 9.6KB / UMD: 9.1KB - [@thi.ng/random](https://github.com/thi-ng/umbrella/tree/develop/packages/random) - [@thi.ng/transducers](https://github.com/thi-ng/umbrella/tree/develop/packages/transducers) - [@thi.ng/vectors](https://github.com/thi-ng/umbrella/tree/develop/packages/vectors) +- [tslib](https://github.com/thi-ng/umbrella/tree/develop/packages/undefined) ## Usage examples @@ -100,101 +101,20 @@ directory are using this package. A selection: -### geom-convex-hull - -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/geom-convex-hull.png) - -Convex hull & shape clipping of 2D polygons - -[Live demo](https://demo.thi.ng/umbrella/geom-convex-hull/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/geom-convex-hull) - -### geom-tessel - -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/geom/tessel.png) - -Animated, recursive polygon tessellations - -[Live demo](https://demo.thi.ng/umbrella/geom-tessel/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/geom-tessel) - -### geom-voronoi-mst - -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/geom-voronoi-mst.jpg) - -Poisson-disk shape-aware sampling, Voronoi & Minimum Spanning Tree visualization - -[Live demo](https://demo.thi.ng/umbrella/geom-voronoi-mst/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/geom-voronoi-mst) - -### gesture-analysis - -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/gesture-analysis.png) - -Mouse gesture / stroke analysis, simplification, corner detection - -[Live demo](https://demo.thi.ng/umbrella/gesture-analysis/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/gesture-analysis) - -### hdom-canvas-particles - -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/hdom-canvas-particles.jpg) - -2D Bezier curve-guided particle system - -[Live demo](https://demo.thi.ng/umbrella/hdom-canvas-particles/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/hdom-canvas-particles) - -### imgui - -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/imgui/imgui-all.png) - -Canvas based Immediate Mode GUI components - -[Live demo](https://demo.thi.ng/umbrella/imgui/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/imgui) - -### iso-plasma - -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/geom/geom-isoline.png) - -Animated sine plasma effect visualized using contour lines - -[Live demo](https://demo.thi.ng/umbrella/iso-plasma/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/iso-plasma) - -### poly-spline - -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/poly-spline.png) - -Polygon to cubic curve conversion & visualization - -[Live demo](https://demo.thi.ng/umbrella/poly-spline/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/poly-spline) - -### rotating-voronoi - -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/rotating-voronoi.jpg) - -Animated Voronoi diagram, cubic splines & SVG download - -[Live demo](https://demo.thi.ng/umbrella/rotating-voronoi/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/rotating-voronoi) - -### scenegraph - -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/scenegraph.png) - -2D scenegraph & shape picking - -[Live demo](https://demo.thi.ng/umbrella/scenegraph/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/scenegraph) - -### scenegraph-image - -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/scenegraph-image.png) - -2D scenegraph & image map based geometry manipulation - -[Live demo](https://demo.thi.ng/umbrella/scenegraph-image/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/scenegraph-image) - -### text-canvas - -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/text-canvas.png) - -3D wireframe textmode demo - -[Live demo](https://demo.thi.ng/umbrella/text-canvas/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/text-canvas) +| Screenshot | Description | Live demo | Source | +| ---------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- | ----------------------------------------------------------- | ---------------------------------------------------------------------------------------- | +| | Convex hull & shape clipping of 2D polygons | [Demo](https://demo.thi.ng/umbrella/geom-convex-hull/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/geom-convex-hull) | +| | Animated, recursive polygon tessellations | [Demo](https://demo.thi.ng/umbrella/geom-tessel/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/geom-tessel) | +| | Poisson-disk shape-aware sampling, Voronoi & Minimum Spanning Tree visualization | [Demo](https://demo.thi.ng/umbrella/geom-voronoi-mst/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/geom-voronoi-mst) | +| | Mouse gesture / stroke analysis, simplification, corner detection | [Demo](https://demo.thi.ng/umbrella/gesture-analysis/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/gesture-analysis) | +| | 2D Bezier curve-guided particle system | [Demo](https://demo.thi.ng/umbrella/hdom-canvas-particles/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/hdom-canvas-particles) | +| | Canvas based Immediate Mode GUI components | [Demo](https://demo.thi.ng/umbrella/imgui/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/imgui) | +| | Animated sine plasma effect visualized using contour lines | [Demo](https://demo.thi.ng/umbrella/iso-plasma/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/iso-plasma) | +| | Polygon to cubic curve conversion & visualization | [Demo](https://demo.thi.ng/umbrella/poly-spline/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/poly-spline) | +| | Animated Voronoi diagram, cubic splines & SVG download | [Demo](https://demo.thi.ng/umbrella/rotating-voronoi/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/rotating-voronoi) | +| | 2D scenegraph & shape picking | [Demo](https://demo.thi.ng/umbrella/scenegraph/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/scenegraph) | +| | 2D scenegraph & image map based geometry manipulation | [Demo](https://demo.thi.ng/umbrella/scenegraph-image/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/scenegraph-image) | +| | 3D wireframe textmode demo | [Demo](https://demo.thi.ng/umbrella/text-canvas/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/text-canvas) | ## API diff --git a/packages/gp/README.md b/packages/gp/README.md index 59c289cdb5..2a4f2206d6 100644 --- a/packages/gp/README.md +++ b/packages/gp/README.md @@ -1,6 +1,6 @@ -# ![@thi.ng/gp](https://media.thi.ng/umbrella/banners/thing-gp.svg?1583078715) +# ![@thi.ng/gp](https://media.thi.ng/umbrella/banners/thing-gp.svg?1584814400) [![npm version](https://img.shields.io/npm/v/@thi.ng/gp.svg)](https://www.npmjs.com/package/@thi.ng/gp) ![npm downloads](https://img.shields.io/npm/dm/@thi.ng/gp.svg) @@ -76,6 +76,7 @@ Package sizes (gzipped): ESM: 1.2KB / CJS: 1.3KB / UMD: 1.4KB - [@thi.ng/random](https://github.com/thi-ng/umbrella/tree/develop/packages/random) - [@thi.ng/transducers](https://github.com/thi-ng/umbrella/tree/develop/packages/transducers) - [@thi.ng/zipper](https://github.com/thi-ng/umbrella/tree/develop/packages/zipper) +- [tslib](https://github.com/thi-ng/umbrella/tree/develop/packages/undefined) ## Usage examples @@ -85,13 +86,9 @@ directory are using this package. A selection: -### shader-ast-evo - -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/shader-ast-evo.jpg) - -Evolutionary shader generation using genetic programming - -[Live demo](https://demo.thi.ng/umbrella/shader-ast-evo/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/shader-ast-evo) +| Screenshot | Description | Live demo | Source | +| --------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------- | ---------------------------------------------------- | --------------------------------------------------------------------------------- | +| | Evolutionary shader generation using genetic programming | [Demo](https://demo.thi.ng/umbrella/shader-ast-evo/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/shader-ast-evo) | ## API diff --git a/packages/grid-iterators/README.md b/packages/grid-iterators/README.md index 0dfb917cf0..d6d57518b9 100644 --- a/packages/grid-iterators/README.md +++ b/packages/grid-iterators/README.md @@ -1,6 +1,6 @@ -# ![@thi.ng/grid-iterators](https://media.thi.ng/umbrella/banners/thing-grid-iterators.svg?1583078714) +# ![@thi.ng/grid-iterators](https://media.thi.ng/umbrella/banners/thing-grid-iterators.svg?1584814401) [![npm version](https://img.shields.io/npm/v/@thi.ng/grid-iterators.svg)](https://www.npmjs.com/package/@thi.ng/grid-iterators) ![npm downloads](https://img.shields.io/npm/dm/@thi.ng/grid-iterators.svg) @@ -144,6 +144,7 @@ Package sizes (gzipped): ESM: 1.2KB / CJS: 1.3KB / UMD: 1.4KB - [@thi.ng/morton](https://github.com/thi-ng/umbrella/tree/develop/packages/morton) - [@thi.ng/random](https://github.com/thi-ng/umbrella/tree/develop/packages/random) - [@thi.ng/transducers](https://github.com/thi-ng/umbrella/tree/develop/packages/transducers) +- [tslib](https://github.com/thi-ng/umbrella/tree/develop/packages/undefined) ## Usage examples @@ -153,13 +154,9 @@ directory are using this package. A selection: -### grid-iterators - -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/grid-iterators.png) - -Visualization of different grid iterator strategies - -[Live demo](https://demo.thi.ng/umbrella/grid-iterators/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/grid-iterators) +| Screenshot | Description | Live demo | Source | +| --------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------- | ---------------------------------------------------- | --------------------------------------------------------------------------------- | +| | Visualization of different grid iterator strategies | [Demo](https://demo.thi.ng/umbrella/grid-iterators/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/grid-iterators) | ## API diff --git a/packages/hdom-canvas/README.md b/packages/hdom-canvas/README.md index 9bbbbe5030..a443438173 100644 --- a/packages/hdom-canvas/README.md +++ b/packages/hdom-canvas/README.md @@ -1,6 +1,6 @@ -# ![@thi.ng/hdom-canvas](https://media.thi.ng/umbrella/banners/thing-hdom-canvas.svg?1583078719) +# ![@thi.ng/hdom-canvas](https://media.thi.ng/umbrella/banners/thing-hdom-canvas.svg?1584814475) [![npm version](https://img.shields.io/npm/v/@thi.ng/hdom-canvas.svg)](https://www.npmjs.com/package/@thi.ng/hdom-canvas) ![npm downloads](https://img.shields.io/npm/dm/@thi.ng/hdom-canvas.svg) @@ -25,12 +25,12 @@ This project is part of the - [Definition group](#definition-group) - [Circle](#circle) - [Circular arc](#circular-arc) - - [Ellipse / elliptic arc](#ellipse--elliptic-arc) + - [Ellipse / elliptic arc](#ellipse---elliptic-arc) - [Rect](#rect) - [Line](#line) - [Horizontal Line](#horizontal-line) - [Vertical Line](#vertical-line) - - [Polyline / Polygon](#polyline--polygon) + - [Polyline / Polygon](#polyline---polygon) - [Path](#path) - [SVG paths with arc segments](#svg-paths-with-arc-segments) - [Points](#points) @@ -43,7 +43,7 @@ This project is part of the - [String](#string) - [Number](#number) - [Array](#array) - - [@thi.ng/color values](#thingcolor-values) + - [@thi.ng/color values](#thing-color-values) - [Coordinate transformations](#coordinate-transformations) - [Transform matrix](#transform-matrix) - [Override transform](#override-transform) @@ -94,6 +94,7 @@ Package sizes (gzipped): ESM: 3.2KB / CJS: 3.3KB / UMD: 3.3KB - [@thi.ng/hdom](https://github.com/thi-ng/umbrella/tree/develop/packages/hdom) - [@thi.ng/math](https://github.com/thi-ng/umbrella/tree/develop/packages/math) - [@thi.ng/vectors](https://github.com/thi-ng/umbrella/tree/develop/packages/vectors) +- [tslib](https://github.com/thi-ng/umbrella/tree/develop/packages/undefined) ## Usage examples @@ -103,123 +104,23 @@ directory are using this package. A selection: -### fft-synth - -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/fft-synth.png) - -Interactive inverse FFT toy synth - -[Live demo](https://demo.thi.ng/umbrella/fft-synth/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/fft-synth) - -### geom-knn - -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/geom-knn.jpg) - -Doodle w/ K-nearest neighbor search result visualization - -[Live demo](https://demo.thi.ng/umbrella/geom-knn/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/geom-knn) - -### geom-voronoi-mst - -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/geom-voronoi-mst.jpg) - -Poisson-disk shape-aware sampling, Voronoi & Minimum Spanning Tree visualization - -[Live demo](https://demo.thi.ng/umbrella/geom-voronoi-mst/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/geom-voronoi-mst) - -### hdom-canvas-clock - -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/hdom-canvas-clock.png) - -Realtime analog clock demo - -[Live demo](https://demo.thi.ng/umbrella/hdom-canvas-clock/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/hdom-canvas-clock) - -### hdom-canvas-draw - -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/hdom-canvas-draw.jpg) - -Interactive pattern drawing demo using transducers - -[Live demo](https://demo.thi.ng/umbrella/hdom-canvas-draw/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/hdom-canvas-draw) - -### hdom-canvas-particles - -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/hdom-canvas-particles.jpg) - -2D Bezier curve-guided particle system - -[Live demo](https://demo.thi.ng/umbrella/hdom-canvas-particles/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/hdom-canvas-particles) - -### hdom-canvas-shapes - -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/hdom-canvas/hdom-canvas-shapes-results.png) - -Various hdom-canvas shape drawing examples & SVG conversion / export - -[Live demo](https://demo.thi.ng/umbrella/hdom-canvas-shapes/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/hdom-canvas-shapes) - -### imgui - -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/imgui/imgui-all.png) - -Canvas based Immediate Mode GUI components - -[Live demo](https://demo.thi.ng/umbrella/imgui/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/imgui) - -### iso-plasma - -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/geom/geom-isoline.png) - -Animated sine plasma effect visualized using contour lines - -[Live demo](https://demo.thi.ng/umbrella/iso-plasma/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/iso-plasma) - -### multitouch - -Basic rstream-gestures multi-touch demo - -[Live demo](https://demo.thi.ng/umbrella/multitouch/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/multitouch) - -### ramp-synth - -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/ramp-synth.png) - -Unison wavetable synth with waveform editor - -[Live demo](https://demo.thi.ng/umbrella/ramp-synth/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/ramp-synth) - -### rotating-voronoi - -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/rotating-voronoi.jpg) - -Animated Voronoi diagram, cubic splines & SVG download - -[Live demo](https://demo.thi.ng/umbrella/rotating-voronoi/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/rotating-voronoi) - -### scenegraph - -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/scenegraph.png) - -2D scenegraph & shape picking - -[Live demo](https://demo.thi.ng/umbrella/scenegraph/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/scenegraph) - -### scenegraph-image - -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/scenegraph-image.png) - -2D scenegraph & image map based geometry manipulation - -[Live demo](https://demo.thi.ng/umbrella/scenegraph-image/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/scenegraph-image) - -### shader-ast-workers - -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/shader-ast-workers.jpg) - -Fork-join worker-based raymarch renderer - -[Live demo](https://demo.thi.ng/umbrella/shader-ast-workers/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/shader-ast-workers) +| Screenshot | Description | Live demo | Source | +| ------------------------------------------------------------------------------------------------------------------------------------ | -------------------------------------------------------------------------------- | ----------------------------------------------------------- | ---------------------------------------------------------------------------------------- | +| | Interactive inverse FFT toy synth | [Demo](https://demo.thi.ng/umbrella/fft-synth/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/fft-synth) | +| | Doodle w/ K-nearest neighbor search result visualization | [Demo](https://demo.thi.ng/umbrella/geom-knn/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/geom-knn) | +| | Poisson-disk shape-aware sampling, Voronoi & Minimum Spanning Tree visualization | [Demo](https://demo.thi.ng/umbrella/geom-voronoi-mst/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/geom-voronoi-mst) | +| | Realtime analog clock demo | [Demo](https://demo.thi.ng/umbrella/hdom-canvas-clock/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/hdom-canvas-clock) | +| | Interactive pattern drawing demo using transducers | [Demo](https://demo.thi.ng/umbrella/hdom-canvas-draw/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/hdom-canvas-draw) | +| | 2D Bezier curve-guided particle system | [Demo](https://demo.thi.ng/umbrella/hdom-canvas-particles/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/hdom-canvas-particles) | +| | Various hdom-canvas shape drawing examples & SVG conversion / export | [Demo](https://demo.thi.ng/umbrella/hdom-canvas-shapes/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/hdom-canvas-shapes) | +| | Canvas based Immediate Mode GUI components | [Demo](https://demo.thi.ng/umbrella/imgui/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/imgui) | +| | Animated sine plasma effect visualized using contour lines | [Demo](https://demo.thi.ng/umbrella/iso-plasma/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/iso-plasma) | +| | Basic rstream-gestures multi-touch demo | [Demo](https://demo.thi.ng/umbrella/multitouch/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/multitouch) | +| | Unison wavetable synth with waveform editor | [Demo](https://demo.thi.ng/umbrella/ramp-synth/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/ramp-synth) | +| | Animated Voronoi diagram, cubic splines & SVG download | [Demo](https://demo.thi.ng/umbrella/rotating-voronoi/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/rotating-voronoi) | +| | 2D scenegraph & shape picking | [Demo](https://demo.thi.ng/umbrella/scenegraph/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/scenegraph) | +| | 2D scenegraph & image map based geometry manipulation | [Demo](https://demo.thi.ng/umbrella/scenegraph-image/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/scenegraph-image) | +| | Fork-join worker-based raymarch renderer | [Demo](https://demo.thi.ng/umbrella/shader-ast-workers/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/shader-ast-workers) | ## API @@ -716,11 +617,11 @@ package for creating different kinds of transformation matrices, e.g. ### Maintainer -- Karsten Schmidt ([@postspectacular](https://github.com/postspectacular)) +- Karsten Schmidt ([@postspectacular](https://github.com//postspectacular)) ### Contributors -- Arthur Carabott ([@acarabott](https://github.com/acarabott)) +- Arthur Carabott ([@acarabott](https://github.com//acarabott)) ## License diff --git a/packages/hdom-components/README.md b/packages/hdom-components/README.md index 926987a159..72afb3d301 100644 --- a/packages/hdom-components/README.md +++ b/packages/hdom-components/README.md @@ -1,6 +1,6 @@ -# ![@thi.ng/hdom-components](https://media.thi.ng/umbrella/banners/thing-hdom-components.svg?1583462203) +# ![@thi.ng/hdom-components](https://media.thi.ng/umbrella/banners/thing-hdom-components.svg?1584814462) [![npm version](https://img.shields.io/npm/v/@thi.ng/hdom-components.svg)](https://www.npmjs.com/package/@thi.ng/hdom-components) ![npm downloads](https://img.shields.io/npm/dm/@thi.ng/hdom-components.svg) @@ -56,6 +56,7 @@ Package sizes (gzipped): ESM: 2.3KB / CJS: 2.4KB / UMD: 2.4KB - [@thi.ng/math](https://github.com/thi-ng/umbrella/tree/develop/packages/math) - [@thi.ng/transducers](https://github.com/thi-ng/umbrella/tree/develop/packages/transducers) - [@thi.ng/transducers-stats](https://github.com/thi-ng/umbrella/tree/develop/packages/transducers-stats) +- [tslib](https://github.com/thi-ng/umbrella/tree/develop/packages/undefined) ## Usage examples @@ -65,67 +66,16 @@ directory are using this package. A selection: -### canvas-dial - -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/canvas-dial.png) - -Canvas based dial widget - -[Live demo](https://demo.thi.ng/umbrella/canvas-dial/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/canvas-dial) - -### crypto-chart - -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/crypto-chart.png) - -Basic crypto-currency candle chart with multiple moving averages plots - -[Live demo](https://demo.thi.ng/umbrella/crypto-chart/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/crypto-chart) - -### hdom-benchmark2 - -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/hdom-benchmark2.png) - -hdom update performance benchmark w/ config options - -[Live demo](https://demo.thi.ng/umbrella/hdom-benchmark2/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/hdom-benchmark2) - -### hdom-canvas-shapes - -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/hdom-canvas/hdom-canvas-shapes-results.png) - -Various hdom-canvas shape drawing examples & SVG conversion / export - -[Live demo](https://demo.thi.ng/umbrella/hdom-canvas-shapes/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/hdom-canvas-shapes) - -### hdom-dropdown-fuzzy - -Custom dropdown UI component w/ fuzzy search - -[Live demo](https://demo.thi.ng/umbrella/hdom-dropdown-fuzzy/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/hdom-dropdown-fuzzy) - -### hdom-toggle - -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/hdom-toggle.png) - -Customizable slide toggle component demo - -[Live demo](https://demo.thi.ng/umbrella/hdom-toggle/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/hdom-toggle) - -### mandelbrot - -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/mandelbrot.jpg) - -Worker based, interactive Mandelbrot visualization - -[Live demo](https://demo.thi.ng/umbrella/mandelbrot/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/mandelbrot) - -### triple-query - -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/triple-query.png) - -Triple store query results & sortable table - -[Live demo](https://demo.thi.ng/umbrella/triple-query/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/triple-query) +| Screenshot | Description | Live demo | Source | +| ------------------------------------------------------------------------------------------------------------------------------------ | ---------------------------------------------------------------------- | --------------------------------------------------------- | -------------------------------------------------------------------------------------- | +| | Canvas based dial widget | [Demo](https://demo.thi.ng/umbrella/canvas-dial/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/canvas-dial) | +| | Basic crypto-currency candle chart with multiple moving averages plots | [Demo](https://demo.thi.ng/umbrella/crypto-chart/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/crypto-chart) | +| | hdom update performance benchmark w/ config options | [Demo](https://demo.thi.ng/umbrella/hdom-benchmark2/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/hdom-benchmark2) | +| | Various hdom-canvas shape drawing examples & SVG conversion / export | [Demo](https://demo.thi.ng/umbrella/hdom-canvas-shapes/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/hdom-canvas-shapes) | +| | Custom dropdown UI component w/ fuzzy search | [Demo](https://demo.thi.ng/umbrella/hdom-dropdown-fuzzy/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/hdom-dropdown-fuzzy) | +| | Customizable slide toggle component demo | [Demo](https://demo.thi.ng/umbrella/hdom-toggle/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/hdom-toggle) | +| | Worker based, interactive Mandelbrot visualization | [Demo](https://demo.thi.ng/umbrella/mandelbrot/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/mandelbrot) | +| | Triple store query results & sortable table | [Demo](https://demo.thi.ng/umbrella/triple-query/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/triple-query) | ## API diff --git a/packages/hdom-mock/README.md b/packages/hdom-mock/README.md index 53a01ff3db..472aa9f3ad 100644 --- a/packages/hdom-mock/README.md +++ b/packages/hdom-mock/README.md @@ -1,6 +1,6 @@ -# ![@thi.ng/hdom-mock](https://media.thi.ng/umbrella/banners/thing-hdom-mock.svg?1581297785) +# ![@thi.ng/hdom-mock](https://media.thi.ng/umbrella/banners/thing-hdom-mock.svg?1584814425) [![npm version](https://img.shields.io/npm/v/@thi.ng/hdom-mock.svg)](https://www.npmjs.com/package/@thi.ng/hdom-mock) ![npm downloads](https://img.shields.io/npm/dm/@thi.ng/hdom-mock.svg) @@ -43,6 +43,7 @@ Package sizes (gzipped): ESM: 1.0KB / CJS: 1.1KB / UMD: 1.2KB - [@thi.ng/api](https://github.com/thi-ng/umbrella/tree/develop/packages/api) - [@thi.ng/checks](https://github.com/thi-ng/umbrella/tree/develop/packages/checks) - [@thi.ng/hdom](https://github.com/thi-ng/umbrella/tree/develop/packages/hdom) +- [tslib](https://github.com/thi-ng/umbrella/tree/develop/packages/undefined) ## API diff --git a/packages/hdom/README.md b/packages/hdom/README.md index f0d68eb722..b65a211fae 100644 --- a/packages/hdom/README.md +++ b/packages/hdom/README.md @@ -1,6 +1,6 @@ -# ![@thi.ng/hdom](https://media.thi.ng/umbrella/banners/thing-hdom.svg?1583462199) +# ![@thi.ng/hdom](https://media.thi.ng/umbrella/banners/thing-hdom.svg?1584814400) [![npm version](https://img.shields.io/npm/v/@thi.ng/hdom.svg)](https://www.npmjs.com/package/@thi.ng/hdom) ![npm downloads](https://img.shields.io/npm/dm/@thi.ng/hdom.svg) @@ -16,15 +16,15 @@ This project is part of the - [Installation](#installation) - [Dependencies](#dependencies) - [Usage examples](#usage-examples) - - [Minimal example #1: Local state, RAF update](#minimal-example-1-local-state-raf-update) - - [Minimal example #2: Reactive, push-based state & update](#minimal-example-2-reactive-push-based-state--update) - - [Minimal example #3: Immutable app state & interceptors](#minimal-example-3-immutable-app-state--interceptors) - - [Minimal example #4: Canvas scene tree / branch-local behavior](#minimal-example-4-canvas-scene-tree--branch-local-behavior) + - [Minimal example #1: Local state, RAF update](#minimal-example-1--local-state--raf-update) + - [Minimal example #2: Reactive, push-based state & update](#minimal-example-2--reactive--push-based-state--update) + - [Minimal example #3: Immutable app state & interceptors](#minimal-example-3--immutable-app-state--interceptors) + - [Minimal example #4: Canvas scene tree / branch-local behavior](#minimal-example-4--canvas-scene-tree---branch-local-behavior) - [API](#api) - [The hdom data flow](#the-hdom-data-flow) - [Nested arrays](#nested-arrays) - [Attribute objects](#attribute-objects) - - [Pure functions and/or closures](#pure-functions-andor-closures) + - [Pure functions and/or closures](#pure-functions-and-or-closures) - [Iterators](#iterators) - [Interface support](#interface-support) - [Component objects with life cycle methods](#component-objects-with-life-cycle-methods) @@ -142,6 +142,7 @@ Package sizes (gzipped): ESM: 3.6KB / CJS: 3.7KB / UMD: 3.6KB - [@thi.ng/equiv](https://github.com/thi-ng/umbrella/tree/develop/packages/equiv) - [@thi.ng/errors](https://github.com/thi-ng/umbrella/tree/develop/packages/errors) - [@thi.ng/hiccup](https://github.com/thi-ng/umbrella/tree/develop/packages/hiccup) +- [tslib](https://github.com/thi-ng/umbrella/tree/develop/packages/undefined) ## Usage examples @@ -151,217 +152,36 @@ directory are using this package. A selection: -### cellular-automata - -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/cellular-automata.png) - -2D transducer based cellular automata - -[Live demo](https://demo.thi.ng/umbrella/cellular-automata/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/cellular-automata) - -### devcards - -BMI calculator in a devcards format - -[Live demo](https://demo.thi.ng/umbrella/devcards/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/devcards) - -### hdom-benchmark2 - -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/hdom-benchmark2.png) - -hdom update performance benchmark w/ config options - -[Live demo](https://demo.thi.ng/umbrella/hdom-benchmark2/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/hdom-benchmark2) - -### hdom-canvas-clock - -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/hdom-canvas-clock.png) - -Realtime analog clock demo - -[Live demo](https://demo.thi.ng/umbrella/hdom-canvas-clock/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/hdom-canvas-clock) - -### hdom-canvas-particles - -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/hdom-canvas-particles.jpg) - -2D Bezier curve-guided particle system - -[Live demo](https://demo.thi.ng/umbrella/hdom-canvas-particles/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/hdom-canvas-particles) - -### hdom-canvas-shapes - -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/hdom-canvas/hdom-canvas-shapes-results.png) - -Various hdom-canvas shape drawing examples & SVG conversion / export - -[Live demo](https://demo.thi.ng/umbrella/hdom-canvas-shapes/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/hdom-canvas-shapes) - -### hdom-dropdown-fuzzy - -Custom dropdown UI component w/ fuzzy search - -[Live demo](https://demo.thi.ng/umbrella/hdom-dropdown-fuzzy/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/hdom-dropdown-fuzzy) - -### hdom-elm - -Using hdom in an Elm-like manner - -[Live demo](https://demo.thi.ng/umbrella/hdom-elm/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/hdom-elm) - -### hdom-toggle - -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/hdom-toggle.png) - -Customizable slide toggle component demo - -[Live demo](https://demo.thi.ng/umbrella/hdom-toggle/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/hdom-toggle) - -### hydrate-basics - -Hiccup / hdom DOM hydration example - -[Live demo](https://demo.thi.ng/umbrella/hydrate-basics/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/hydrate-basics) - -### imgui - -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/imgui/imgui-all.png) - -Canvas based Immediate Mode GUI components - -[Live demo](https://demo.thi.ng/umbrella/imgui/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/imgui) - -### interceptor-basics2 - -Event handling w/ interceptors and side effects - -[Live demo](https://demo.thi.ng/umbrella/interceptor-basics2/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/interceptor-basics2) - -### iso-plasma - -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/geom/geom-isoline.png) - -Animated sine plasma effect visualized using contour lines - -[Live demo](https://demo.thi.ng/umbrella/iso-plasma/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/iso-plasma) - -### json-components - -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/json-components.jpg) - -Transforming JSON into UI components - -[Live demo](https://demo.thi.ng/umbrella/json-components/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/json-components) - -### ramp-synth - -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/ramp-synth.png) - -Unison wavetable synth with waveform editor - -[Live demo](https://demo.thi.ng/umbrella/ramp-synth/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/ramp-synth) - -### router-basics - -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/router-basics.jpg) - -Complete mini SPA app w/ router & async content loading - -[Live demo](https://demo.thi.ng/umbrella/router-basics/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/router-basics) - -### rstream-dataflow - -Minimal rstream dataflow graph - -[Live demo](https://demo.thi.ng/umbrella/rstream-dataflow/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/rstream-dataflow) - -### rstream-event-loop - -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/rstream-event-loop.png) - -Minimal demo of using rstream constructs to form an interceptor-style event loop - -[Live demo](https://demo.thi.ng/umbrella/rstream-event-loop/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/rstream-event-loop) - -### rstream-grid - -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/rstream-grid.jpg) - -Interactive grid generator, SVG generation & export, undo/redo support - -[Live demo](https://demo.thi.ng/umbrella/rstream-grid/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/rstream-grid) - -### rstream-spreadsheet - -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/rstream-spreadsheet.png) - -rstream based spreadsheet w/ S-expression formula DSL - -[Live demo](https://demo.thi.ng/umbrella/rstream-spreadsheet/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/rstream-spreadsheet) - -### scenegraph - -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/scenegraph.png) - -2D scenegraph & shape picking - -[Live demo](https://demo.thi.ng/umbrella/scenegraph/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/scenegraph) - -### scenegraph-image - -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/scenegraph-image.png) - -2D scenegraph & image map based geometry manipulation - -[Live demo](https://demo.thi.ng/umbrella/scenegraph-image/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/scenegraph-image) - -### soa-ecs - -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/soa-ecs-100k.png) - -Entity Component System w/ 100k 3D particles - -[Live demo](https://demo.thi.ng/umbrella/soa-ecs/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/soa-ecs) - -### svg-barchart - -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/svg-barchart.png) - -Simplistic SVG bar chart component - -[Live demo](https://demo.thi.ng/umbrella/svg-barchart/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/svg-barchart) - -### svg-waveform - -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/svg-waveform.jpg) - -Additive waveform synthesis & SVG visualization with undo/redo - -[Live demo](https://demo.thi.ng/umbrella/svg-waveform/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/svg-waveform) - -### talk-slides - -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/talk-slides.png) - -hdom based slide deck viewer & slides from my ClojureX 2018 keynote - -[Live demo](https://demo.thi.ng/umbrella/talk-slides/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/talk-slides) - -### todo-list - -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/todo-list.png) - -Obligatory to-do list example with undo/redo - -[Live demo](https://demo.thi.ng/umbrella/todo-list/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/todo-list) - -### triple-query - -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/triple-query.png) - -Triple store query results & sortable table - -[Live demo](https://demo.thi.ng/umbrella/triple-query/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/triple-query) +| Screenshot | Description | Live demo | Source | +| ------------------------------------------------------------------------------------------------------------------------------------ | -------------------------------------------------------------------------------- | ----------------------------------------------------------- | ---------------------------------------------------------------------------------------- | +| | 2D transducer based cellular automata | [Demo](https://demo.thi.ng/umbrella/cellular-automata/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/cellular-automata) | +| | BMI calculator in a devcards format | [Demo](https://demo.thi.ng/umbrella/devcards/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/devcards) | +| | hdom update performance benchmark w/ config options | [Demo](https://demo.thi.ng/umbrella/hdom-benchmark2/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/hdom-benchmark2) | +| | Realtime analog clock demo | [Demo](https://demo.thi.ng/umbrella/hdom-canvas-clock/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/hdom-canvas-clock) | +| | 2D Bezier curve-guided particle system | [Demo](https://demo.thi.ng/umbrella/hdom-canvas-particles/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/hdom-canvas-particles) | +| | Various hdom-canvas shape drawing examples & SVG conversion / export | [Demo](https://demo.thi.ng/umbrella/hdom-canvas-shapes/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/hdom-canvas-shapes) | +| | Custom dropdown UI component w/ fuzzy search | [Demo](https://demo.thi.ng/umbrella/hdom-dropdown-fuzzy/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/hdom-dropdown-fuzzy) | +| | Using hdom in an Elm-like manner | [Demo](https://demo.thi.ng/umbrella/hdom-elm/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/hdom-elm) | +| | Customizable slide toggle component demo | [Demo](https://demo.thi.ng/umbrella/hdom-toggle/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/hdom-toggle) | +| | Hiccup / hdom DOM hydration example | [Demo](https://demo.thi.ng/umbrella/hydrate-basics/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/hydrate-basics) | +| | Canvas based Immediate Mode GUI components | [Demo](https://demo.thi.ng/umbrella/imgui/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/imgui) | +| | Event handling w/ interceptors and side effects | [Demo](https://demo.thi.ng/umbrella/interceptor-basics2/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/interceptor-basics2) | +| | Animated sine plasma effect visualized using contour lines | [Demo](https://demo.thi.ng/umbrella/iso-plasma/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/iso-plasma) | +| | Transforming JSON into UI components | [Demo](https://demo.thi.ng/umbrella/json-components/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/json-components) | +| | Unison wavetable synth with waveform editor | [Demo](https://demo.thi.ng/umbrella/ramp-synth/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/ramp-synth) | +| | Complete mini SPA app w/ router & async content loading | [Demo](https://demo.thi.ng/umbrella/router-basics/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/router-basics) | +| | Minimal rstream dataflow graph | [Demo](https://demo.thi.ng/umbrella/rstream-dataflow/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/rstream-dataflow) | +| | Minimal demo of using rstream constructs to form an interceptor-style event loop | [Demo](https://demo.thi.ng/umbrella/rstream-event-loop/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/rstream-event-loop) | +| | Interactive grid generator, SVG generation & export, undo/redo support | [Demo](https://demo.thi.ng/umbrella/rstream-grid/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/rstream-grid) | +| | rstream based spreadsheet w/ S-expression formula DSL | [Demo](https://demo.thi.ng/umbrella/rstream-spreadsheet/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/rstream-spreadsheet) | +| | 2D scenegraph & shape picking | [Demo](https://demo.thi.ng/umbrella/scenegraph/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/scenegraph) | +| | 2D scenegraph & image map based geometry manipulation | [Demo](https://demo.thi.ng/umbrella/scenegraph-image/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/scenegraph-image) | +| | Entity Component System w/ 100k 3D particles | [Demo](https://demo.thi.ng/umbrella/soa-ecs/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/soa-ecs) | +| | Simplistic SVG bar chart component | [Demo](https://demo.thi.ng/umbrella/svg-barchart/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/svg-barchart) | +| | Additive waveform synthesis & SVG visualization with undo/redo | [Demo](https://demo.thi.ng/umbrella/svg-waveform/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/svg-waveform) | +| | hdom based slide deck viewer & slides from my ClojureX 2018 keynote | [Demo](https://demo.thi.ng/umbrella/talk-slides/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/talk-slides) | +| | Obligatory to-do list example with undo/redo | [Demo](https://demo.thi.ng/umbrella/todo-list/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/todo-list) | +| | Triple store query results & sortable table | [Demo](https://demo.thi.ng/umbrella/triple-query/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/triple-query) | ### Minimal example #1: Local state, RAF update @@ -1392,11 +1212,11 @@ Some stress test benchmarks are here: ### Maintainer -- Karsten Schmidt ([@postspectacular](https://github.com/postspectacular)) +- Karsten Schmidt ([@postspectacular](https://github.com//postspectacular)) ### Contributors -- Kevin Nolan ([@allforabit](https://github.com/allforabit)) +- Kevin Nolan ([@allforabit](https://github.com//allforabit)) ## License diff --git a/packages/heaps/README.md b/packages/heaps/README.md index 4364872261..00b960a478 100644 --- a/packages/heaps/README.md +++ b/packages/heaps/README.md @@ -1,6 +1,6 @@ -# ![@thi.ng/heaps](https://media.thi.ng/umbrella/banners/thing-heaps.svg?1581297778) +# ![@thi.ng/heaps](https://media.thi.ng/umbrella/banners/thing-heaps.svg?1584814368) [![npm version](https://img.shields.io/npm/v/@thi.ng/heaps.svg)](https://www.npmjs.com/package/@thi.ng/heaps) ![npm downloads](https://img.shields.io/npm/dm/@thi.ng/heaps.svg) @@ -42,6 +42,7 @@ Package sizes (gzipped): ESM: 1.5KB / CJS: 1.6KB / UMD: 1.7KB - [@thi.ng/api](https://github.com/thi-ng/umbrella/tree/develop/packages/api) - [@thi.ng/compare](https://github.com/thi-ng/umbrella/tree/develop/packages/compare) +- [tslib](https://github.com/thi-ng/umbrella/tree/develop/packages/undefined) ## API diff --git a/packages/hiccup-carbon-icons/README.md b/packages/hiccup-carbon-icons/README.md index edc565f718..9079a3955b 100644 --- a/packages/hiccup-carbon-icons/README.md +++ b/packages/hiccup-carbon-icons/README.md @@ -1,6 +1,6 @@ -# ![@thi.ng/hiccup-carbon-icons](https://media.thi.ng/umbrella/banners/thing-hiccup-carbon-icons.svg?1581297782) +# ![@thi.ng/hiccup-carbon-icons](https://media.thi.ng/umbrella/banners/thing-hiccup-carbon-icons.svg?1584814400) [![npm version](https://img.shields.io/npm/v/@thi.ng/hiccup-carbon-icons.svg)](https://www.npmjs.com/package/@thi.ng/hiccup-carbon-icons) ![npm downloads](https://img.shields.io/npm/dm/@thi.ng/hiccup-carbon-icons.svg) @@ -52,7 +52,7 @@ Package sizes (gzipped): ESM: 16.4KB / CJS: 16.9KB / UMD: 16.1KB ## Dependencies -None +- [tslib](https://github.com/thi-ng/umbrella/tree/develop/packages/undefined) ## API diff --git a/packages/hiccup-css/README.md b/packages/hiccup-css/README.md index 10fc76fce4..4cf55b1ad1 100644 --- a/packages/hiccup-css/README.md +++ b/packages/hiccup-css/README.md @@ -1,6 +1,6 @@ -# ![@thi.ng/hiccup-css](https://media.thi.ng/umbrella/banners/thing-hiccup-css.svg?1583078714) +# ![@thi.ng/hiccup-css](https://media.thi.ng/umbrella/banners/thing-hiccup-css.svg?1584814401) [![npm version](https://img.shields.io/npm/v/@thi.ng/hiccup-css.svg)](https://www.npmjs.com/package/@thi.ng/hiccup-css) ![npm downloads](https://img.shields.io/npm/dm/@thi.ng/hiccup-css.svg) @@ -102,6 +102,7 @@ Package sizes (gzipped): ESM: 2.0KB / CJS: 2.2KB / UMD: 2.1KB - [@thi.ng/checks](https://github.com/thi-ng/umbrella/tree/develop/packages/checks) - [@thi.ng/errors](https://github.com/thi-ng/umbrella/tree/develop/packages/errors) - [@thi.ng/transducers](https://github.com/thi-ng/umbrella/tree/develop/packages/transducers) +- [tslib](https://github.com/thi-ng/umbrella/tree/develop/packages/undefined) ## Usage examples @@ -111,13 +112,9 @@ directory are using this package. A selection: -### hdom-benchmark2 - -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/hdom-benchmark2.png) - -hdom update performance benchmark w/ config options - -[Live demo](https://demo.thi.ng/umbrella/hdom-benchmark2/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/hdom-benchmark2) +| Screenshot | Description | Live demo | Source | +| ---------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------- | ----------------------------------------------------- | ---------------------------------------------------------------------------------- | +| | hdom update performance benchmark w/ config options | [Demo](https://demo.thi.ng/umbrella/hdom-benchmark2/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/hdom-benchmark2) | ## API diff --git a/packages/hiccup-markdown/README.md b/packages/hiccup-markdown/README.md index a57c67d740..52a49f3f11 100644 --- a/packages/hiccup-markdown/README.md +++ b/packages/hiccup-markdown/README.md @@ -1,6 +1,6 @@ -# ![@thi.ng/hiccup-markdown](https://media.thi.ng/umbrella/banners/thing-hiccup-markdown.svg?1581297782) +# ![@thi.ng/hiccup-markdown](https://media.thi.ng/umbrella/banners/thing-hiccup-markdown.svg?1584814425) [![npm version](https://img.shields.io/npm/v/@thi.ng/hiccup-markdown.svg)](https://www.npmjs.com/package/@thi.ng/hiccup-markdown) ![npm downloads](https://img.shields.io/npm/dm/@thi.ng/hiccup-markdown.svg) @@ -58,6 +58,7 @@ Package sizes (gzipped): ESM: 2.5KB / CJS: 2.5KB / UMD: 2.4KB - [@thi.ng/hiccup](https://github.com/thi-ng/umbrella/tree/develop/packages/hiccup) - [@thi.ng/strings](https://github.com/thi-ng/umbrella/tree/develop/packages/strings) - [@thi.ng/transducers](https://github.com/thi-ng/umbrella/tree/develop/packages/transducers) +- [tslib](https://github.com/thi-ng/umbrella/tree/develop/packages/undefined) ## Usage examples @@ -67,13 +68,9 @@ directory are using this package. A selection: -### markdown - -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/markdown-parser.jpg) - -Minimal Markdown to Hiccup to HTML parser / transformer - -[Live demo](https://demo.thi.ng/umbrella/markdown/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/markdown) +| Screenshot | Description | Live demo | Source | +| ---------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------- | ---------------------------------------------- | --------------------------------------------------------------------------- | +| | Minimal Markdown to Hiccup to HTML parser / transformer | [Demo](https://demo.thi.ng/umbrella/markdown/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/markdown) | ## API diff --git a/packages/hiccup-svg/README.md b/packages/hiccup-svg/README.md index b048907519..97bccf463b 100644 --- a/packages/hiccup-svg/README.md +++ b/packages/hiccup-svg/README.md @@ -1,6 +1,6 @@ -# ![@thi.ng/hiccup-svg](https://media.thi.ng/umbrella/banners/thing-hiccup-svg.svg?1583078720) +# ![@thi.ng/hiccup-svg](https://media.thi.ng/umbrella/banners/thing-hiccup-svg.svg?1584814476) [![npm version](https://img.shields.io/npm/v/@thi.ng/hiccup-svg.svg)](https://www.npmjs.com/package/@thi.ng/hiccup-svg) ![npm downloads](https://img.shields.io/npm/dm/@thi.ng/hiccup-svg.svg) @@ -11,7 +11,7 @@ This project is part of the - [About](#about) - [Important](#important) - - [SVG conversion of @thi.ng/geom & @thi.ng/hdom-canvas shape trees](#svg-conversion-of-thinggeom--thinghdom-canvas-shape-trees) + - [SVG conversion of @thi.ng/geom & @thi.ng/hdom-canvas shape trees](#svg-conversion-of-thing-geom--thing-hdom-canvas-shape-trees) - [Automatic attribute conversions](#automatic-attribute-conversions) - [Colors](#colors) - [Transforms](#transforms) @@ -128,6 +128,7 @@ Package sizes (gzipped): ESM: 2.4KB / CJS: 2.5KB / UMD: 2.4KB - [@thi.ng/checks](https://github.com/thi-ng/umbrella/tree/develop/packages/checks) - [@thi.ng/color](https://github.com/thi-ng/umbrella/tree/develop/packages/color) - [@thi.ng/hiccup](https://github.com/thi-ng/umbrella/tree/develop/packages/hiccup) +- [tslib](https://github.com/thi-ng/umbrella/tree/develop/packages/undefined) ## Usage examples @@ -137,69 +138,16 @@ directory are using this package. A selection: -### commit-heatmap - -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/commit-heatmap.png) - -Heatmap visualization of this mono-repo's commits - -[Live demo](https://demo.thi.ng/umbrella/commit-heatmap/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/commit-heatmap) - -### crypto-chart - -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/crypto-chart.png) - -Basic crypto-currency candle chart with multiple moving averages plots - -[Live demo](https://demo.thi.ng/umbrella/crypto-chart/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/crypto-chart) - -### hdom-canvas-shapes - -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/hdom-canvas/hdom-canvas-shapes-results.png) - -Various hdom-canvas shape drawing examples & SVG conversion / export - -[Live demo](https://demo.thi.ng/umbrella/hdom-canvas-shapes/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/hdom-canvas-shapes) - -### package-stats - -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/package-stats.png) - -CLI util to visualize umbrella pkg stats - -[Live demo](https://demo.thi.ng/umbrella/package-stats/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/package-stats) - -### pointfree-svg - -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/pointfree-svg.png) - -Generate SVG using pointfree DSL - -[Live demo](https://demo.thi.ng/umbrella/pointfree-svg/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/pointfree-svg) - -### poly-spline - -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/poly-spline.png) - -Polygon to cubic curve conversion & visualization - -[Live demo](https://demo.thi.ng/umbrella/poly-spline/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/poly-spline) - -### rstream-grid - -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/rstream-grid.jpg) - -Interactive grid generator, SVG generation & export, undo/redo support - -[Live demo](https://demo.thi.ng/umbrella/rstream-grid/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/rstream-grid) - -### svg-waveform - -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/svg-waveform.jpg) - -Additive waveform synthesis & SVG visualization with undo/redo - -[Live demo](https://demo.thi.ng/umbrella/svg-waveform/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/svg-waveform) +| Screenshot | Description | Live demo | Source | +| ------------------------------------------------------------------------------------------------------------------------------------ | ---------------------------------------------------------------------- | -------------------------------------------------------- | ------------------------------------------------------------------------------------- | +| | Heatmap visualization of this mono-repo's commits | [Demo](https://demo.thi.ng/umbrella/commit-heatmap/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/commit-heatmap) | +| | Basic crypto-currency candle chart with multiple moving averages plots | [Demo](https://demo.thi.ng/umbrella/crypto-chart/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/crypto-chart) | +| | Various hdom-canvas shape drawing examples & SVG conversion / export | [Demo](https://demo.thi.ng/umbrella/hdom-canvas-shapes/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/hdom-canvas-shapes) | +| | CLI util to visualize umbrella pkg stats | [Demo](https://demo.thi.ng/umbrella/package-stats/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/package-stats) | +| | Generate SVG using pointfree DSL | [Demo](https://demo.thi.ng/umbrella/pointfree-svg/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/pointfree-svg) | +| | Polygon to cubic curve conversion & visualization | [Demo](https://demo.thi.ng/umbrella/poly-spline/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/poly-spline) | +| | Interactive grid generator, SVG generation & export, undo/redo support | [Demo](https://demo.thi.ng/umbrella/rstream-grid/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/rstream-grid) | +| | Additive waveform synthesis & SVG visualization with undo/redo | [Demo](https://demo.thi.ng/umbrella/svg-waveform/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/svg-waveform) | ## API diff --git a/packages/hiccup/README.md b/packages/hiccup/README.md index 151879e450..4ab7e50d17 100644 --- a/packages/hiccup/README.md +++ b/packages/hiccup/README.md @@ -1,6 +1,6 @@ -# ![@thi.ng/hiccup](https://media.thi.ng/umbrella/banners/thing-hiccup.svg?1583078713) +# ![@thi.ng/hiccup](https://media.thi.ng/umbrella/banners/thing-hiccup.svg?1584814388) [![npm version](https://img.shields.io/npm/v/@thi.ng/hiccup.svg)](https://www.npmjs.com/package/@thi.ng/hiccup) ![npm downloads](https://img.shields.io/npm/dm/@thi.ng/hiccup.svg) @@ -26,13 +26,13 @@ This project is part of the - [Attributes](#attributes) - [Simple components](#simple-components) - [User context injection](#user-context-injection) - - [SVG generation, generators & lazy composition](#svg-generation-generators--lazy-composition) + - [SVG generation, generators & lazy composition](#svg-generation--generators--lazy-composition) - [Data-driven component composition](#data-driven-component-composition) - [Stateful component](#stateful-component) - [Component objects](#component-objects) - [Behavior control attributes](#behavior-control-attributes) - [Comments](#comments) - - [XML / DTD processing instructions](#xml--dtd-processing-instructions) + - [XML / DTD processing instructions](#xml---dtd-processing-instructions) - [API](#api) - [serialize()](#serialize) - [escape()](#escape) @@ -143,6 +143,7 @@ Package sizes (gzipped): ESM: 1.9KB / CJS: 2.0KB / UMD: 2.0KB - [@thi.ng/checks](https://github.com/thi-ng/umbrella/tree/develop/packages/checks) - [@thi.ng/errors](https://github.com/thi-ng/umbrella/tree/develop/packages/errors) +- [tslib](https://github.com/thi-ng/umbrella/tree/develop/packages/undefined) ## Usage examples @@ -152,59 +153,15 @@ directory are using this package. A selection: -### commit-heatmap - -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/commit-heatmap.png) - -Heatmap visualization of this mono-repo's commits - -[Live demo](https://demo.thi.ng/umbrella/commit-heatmap/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/commit-heatmap) - -### commit-table-ssr - -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/commit-table-ssr.png) - -Filterable commit log UI w/ minimal server to provide commit history - -[Live demo](https://demo.thi.ng/umbrella/commit-table-ssr/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/commit-table-ssr) - -### hdom-canvas-shapes - -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/hdom-canvas/hdom-canvas-shapes-results.png) - -Various hdom-canvas shape drawing examples & SVG conversion / export - -[Live demo](https://demo.thi.ng/umbrella/hdom-canvas-shapes/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/hdom-canvas-shapes) - -### hydrate-basics - -Hiccup / hdom DOM hydration example - -[Live demo](https://demo.thi.ng/umbrella/hydrate-basics/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/hydrate-basics) - -### package-stats - -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/package-stats.png) - -CLI util to visualize umbrella pkg stats - -[Live demo](https://demo.thi.ng/umbrella/package-stats/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/package-stats) - -### pointfree-svg - -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/pointfree-svg.png) - -Generate SVG using pointfree DSL - -[Live demo](https://demo.thi.ng/umbrella/pointfree-svg/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/pointfree-svg) - -### rstream-grid - -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/rstream-grid.jpg) - -Interactive grid generator, SVG generation & export, undo/redo support - -[Live demo](https://demo.thi.ng/umbrella/rstream-grid/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/rstream-grid) +| Screenshot | Description | Live demo | Source | +| ------------------------------------------------------------------------------------------------------------------------------------ | ---------------------------------------------------------------------- | -------------------------------------------------------- | ------------------------------------------------------------------------------------- | +| | Heatmap visualization of this mono-repo's commits | [Demo](https://demo.thi.ng/umbrella/commit-heatmap/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/commit-heatmap) | +| | Filterable commit log UI w/ minimal server to provide commit history | [Demo](https://demo.thi.ng/umbrella/commit-table-ssr/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/commit-table-ssr) | +| | Various hdom-canvas shape drawing examples & SVG conversion / export | [Demo](https://demo.thi.ng/umbrella/hdom-canvas-shapes/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/hdom-canvas-shapes) | +| | Hiccup / hdom DOM hydration example | [Demo](https://demo.thi.ng/umbrella/hydrate-basics/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/hydrate-basics) | +| | CLI util to visualize umbrella pkg stats | [Demo](https://demo.thi.ng/umbrella/package-stats/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/package-stats) | +| | Generate SVG using pointfree DSL | [Demo](https://demo.thi.ng/umbrella/pointfree-svg/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/pointfree-svg) | +| | Interactive grid generator, SVG generation & export, undo/redo support | [Demo](https://demo.thi.ng/umbrella/rstream-grid/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/rstream-grid) | ## API diff --git a/packages/idgen/README.md b/packages/idgen/README.md index a7141e4207..fc04cce29d 100644 --- a/packages/idgen/README.md +++ b/packages/idgen/README.md @@ -1,6 +1,6 @@ -# ![@thi.ng/idgen](https://media.thi.ng/umbrella/banners/thing-idgen.svg?1582660655) +# ![@thi.ng/idgen](https://media.thi.ng/umbrella/banners/thing-idgen.svg?1584814344) [![npm version](https://img.shields.io/npm/v/@thi.ng/idgen.svg)](https://www.npmjs.com/package/@thi.ng/idgen) ![npm downloads](https://img.shields.io/npm/dm/@thi.ng/idgen.svg) @@ -15,7 +15,7 @@ This project is part of the - [Dependencies](#dependencies) - [API](#api) - [ID generator with 16 bit range and no versioning](#id-generator-with-16-bit-range-and-no-versioning) - - [ID generator w/ 24 bit range & 8 bit version range](#id-generator-w-24-bit-range--8-bit-version-range) + - [ID generator w/ 24 bit range & 8 bit version range](#id-generator-w--24-bit-range--8-bit-version-range) - [IDGen is iterable](#idgen-is-iterable) - [Authors](#authors) - [License](#license) @@ -53,11 +53,12 @@ be checked for validity via `.has(id)` (in constant time). yarn add @thi.ng/idgen ``` -Package sizes (gzipped): ESM: 1.0KB / CJS: 1.0KB / UMD: 1.1KB +Package sizes (gzipped): ESM: 0.8KB / CJS: 0.9KB / UMD: 1.0KB ## Dependencies - [@thi.ng/api](https://github.com/thi-ng/umbrella/tree/develop/packages/api) +- [tslib](https://github.com/thi-ng/umbrella/tree/develop/packages/undefined) ## API diff --git a/packages/iges/README.md b/packages/iges/README.md index a621706765..baf20ea6cc 100644 --- a/packages/iges/README.md +++ b/packages/iges/README.md @@ -1,6 +1,6 @@ -# ![@thi.ng/iges](https://media.thi.ng/umbrella/banners/thing-iges.svg?1582660664) +# ![@thi.ng/iges](https://media.thi.ng/umbrella/banners/thing-iges.svg?1584814451) [![npm version](https://img.shields.io/npm/v/@thi.ng/iges.svg)](https://www.npmjs.com/package/@thi.ng/iges) ![npm downloads](https://img.shields.io/npm/dm/@thi.ng/iges.svg) @@ -46,6 +46,7 @@ Package sizes (gzipped): ESM: 2.7KB / CJS: 2.7KB / UMD: 2.7KB - [@thi.ng/strings](https://github.com/thi-ng/umbrella/tree/develop/packages/strings) - [@thi.ng/transducers](https://github.com/thi-ng/umbrella/tree/develop/packages/transducers) - [@thi.ng/vectors](https://github.com/thi-ng/umbrella/tree/develop/packages/vectors) +- [tslib](https://github.com/thi-ng/umbrella/tree/develop/packages/undefined) ## API diff --git a/packages/imgui/README.md b/packages/imgui/README.md index e44bfa697b..994171ef1b 100644 --- a/packages/imgui/README.md +++ b/packages/imgui/README.md @@ -1,6 +1,6 @@ -# ![@thi.ng/imgui](https://media.thi.ng/umbrella/banners/thing-imgui.svg?1582660670) +# ![@thi.ng/imgui](https://media.thi.ng/umbrella/banners/thing-imgui.svg?1584814508) [![npm version](https://img.shields.io/npm/v/@thi.ng/imgui.svg)](https://www.npmjs.com/package/@thi.ng/imgui) ![npm downloads](https://img.shields.io/npm/dm/@thi.ng/imgui.svg) @@ -11,7 +11,7 @@ This project is part of the - [About](#about) - [Current features](#current-features) - - [Available components / widgets](#available-components--widgets) + - [Available components / widgets](#available-components---widgets) - [State handling](#state-handling) - [Layout support](#layout-support) - [Key controls](#key-controls) @@ -241,6 +241,7 @@ Package sizes (gzipped): ESM: 6.6KB / CJS: 6.8KB / UMD: 6.7KB - [@thi.ng/math](https://github.com/thi-ng/umbrella/tree/develop/packages/math) - [@thi.ng/transducers](https://github.com/thi-ng/umbrella/tree/develop/packages/transducers) - [@thi.ng/vectors](https://github.com/thi-ng/umbrella/tree/develop/packages/vectors) +- [tslib](https://github.com/thi-ng/umbrella/tree/develop/packages/undefined) ## Usage examples @@ -250,21 +251,10 @@ directory are using this package. A selection: -### fft-synth - -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/fft-synth.png) - -Interactive inverse FFT toy synth - -[Live demo](https://demo.thi.ng/umbrella/fft-synth/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/fft-synth) - -### imgui - -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/imgui/imgui-all.png) - -Canvas based Immediate Mode GUI components - -[Live demo](https://demo.thi.ng/umbrella/imgui/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/imgui) +| Screenshot | Description | Live demo | Source | +| ---------------------------------------------------------------------------------------------------------------- | ------------------------------------------ | ----------------------------------------------- | ---------------------------------------------------------------------------- | +| | Interactive inverse FFT toy synth | [Demo](https://demo.thi.ng/umbrella/fft-synth/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/fft-synth) | +| | Canvas based Immediate Mode GUI components | [Demo](https://demo.thi.ng/umbrella/imgui/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/imgui) | ## API diff --git a/packages/interceptors/README.md b/packages/interceptors/README.md index c9e328ebdb..63e21adc72 100644 --- a/packages/interceptors/README.md +++ b/packages/interceptors/README.md @@ -1,6 +1,6 @@ -# ![@thi.ng/interceptors](https://media.thi.ng/umbrella/banners/thing-interceptors.svg?1583078713) +# ![@thi.ng/interceptors](https://media.thi.ng/umbrella/banners/thing-interceptors.svg?1584814389) [![npm version](https://img.shields.io/npm/v/@thi.ng/interceptors.svg)](https://www.npmjs.com/package/@thi.ng/interceptors) ![npm downloads](https://img.shields.io/npm/dm/@thi.ng/interceptors.svg) @@ -10,11 +10,11 @@ This project is part of the [@thi.ng/umbrella](https://github.com/thi-ng/umbrella/) monorepo. - [About](#about) -- [Event bus, interceptors, side effects](#event-bus-interceptors-side-effects) - - [Interceptors: Event and Effect primitives](#interceptors-event-and-effect-primitives) +- [Event bus, interceptors, side effects](#event-bus--interceptors--side-effects) + - [Interceptors: Event and Effect primitives](#interceptors--event-and-effect-primitives) - [Event Handlers](#event-handlers) - [Events vs Effects:](#events-vs-effects) - - [Great, but why?](#great-but-why) + - [Great, but why?](#great--but-why) - [Status](#status) - [Installation](#installation) - [Dependencies](#dependencies) @@ -133,6 +133,7 @@ Package sizes (gzipped): ESM: 2.1KB / CJS: 2.3KB / UMD: 2.2KB - [@thi.ng/checks](https://github.com/thi-ng/umbrella/tree/develop/packages/checks) - [@thi.ng/errors](https://github.com/thi-ng/umbrella/tree/develop/packages/errors) - [@thi.ng/paths](https://github.com/thi-ng/umbrella/tree/develop/packages/paths) +- [tslib](https://github.com/thi-ng/umbrella/tree/develop/packages/undefined) ## Usage examples @@ -142,53 +143,15 @@ directory are using this package. A selection: -### async-effect - -Minimal demo using interceptors with an async side effect - -[Live demo](https://demo.thi.ng/umbrella/async-effect/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/async-effect) - -### hdom-dropdown-fuzzy - -Custom dropdown UI component w/ fuzzy search - -[Live demo](https://demo.thi.ng/umbrella/hdom-dropdown-fuzzy/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/hdom-dropdown-fuzzy) - -### interceptor-basics - -Event handling w/ interceptors and side effects - -[Live demo](https://demo.thi.ng/umbrella/interceptor-basics/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/interceptor-basics) - -### interceptor-basics2 - -Event handling w/ interceptors and side effects - -[Live demo](https://demo.thi.ng/umbrella/interceptor-basics2/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/interceptor-basics2) - -### router-basics - -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/router-basics.jpg) - -Complete mini SPA app w/ router & async content loading - -[Live demo](https://demo.thi.ng/umbrella/router-basics/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/router-basics) - -### rstream-grid - -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/rstream-grid.jpg) - -Interactive grid generator, SVG generation & export, undo/redo support - -[Live demo](https://demo.thi.ng/umbrella/rstream-grid/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/rstream-grid) - -### svg-waveform - -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/svg-waveform.jpg) - -Additive waveform synthesis & SVG visualization with undo/redo - -[Live demo](https://demo.thi.ng/umbrella/svg-waveform/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/svg-waveform) +| Screenshot | Description | Live demo | Source | +| -------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------- | --------------------------------------------------------- | -------------------------------------------------------------------------------------- | +| | Minimal demo using interceptors with an async side effect | [Demo](https://demo.thi.ng/umbrella/async-effect/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/async-effect) | +| | Custom dropdown UI component w/ fuzzy search | [Demo](https://demo.thi.ng/umbrella/hdom-dropdown-fuzzy/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/hdom-dropdown-fuzzy) | +| | Event handling w/ interceptors and side effects | [Demo](https://demo.thi.ng/umbrella/interceptor-basics/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/interceptor-basics) | +| | Event handling w/ interceptors and side effects | [Demo](https://demo.thi.ng/umbrella/interceptor-basics2/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/interceptor-basics2) | +| | Complete mini SPA app w/ router & async content loading | [Demo](https://demo.thi.ng/umbrella/router-basics/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/router-basics) | +| | Interactive grid generator, SVG generation & export, undo/redo support | [Demo](https://demo.thi.ng/umbrella/rstream-grid/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/rstream-grid) | +| | Additive waveform synthesis & SVG visualization with undo/redo | [Demo](https://demo.thi.ng/umbrella/svg-waveform/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/svg-waveform) | ## API @@ -200,11 +163,11 @@ TODO ### Maintainer -- Karsten Schmidt ([@postspectacular](https://github.com/postspectacular)) +- Karsten Schmidt ([@postspectacular](https://github.com//postspectacular)) ### Contributors -- Logan Powell ([@loganpowell](https://github.com/loganpowell)) +- Logan Powell ([@loganpowell](https://github.com//loganpowell)) ## License diff --git a/packages/intervals/README.md b/packages/intervals/README.md index 4b650252ff..8a0d2467f0 100644 --- a/packages/intervals/README.md +++ b/packages/intervals/README.md @@ -1,6 +1,6 @@ -# ![@thi.ng/intervals](https://media.thi.ng/umbrella/banners/thing-intervals.svg?1581297778) +# ![@thi.ng/intervals](https://media.thi.ng/umbrella/banners/thing-intervals.svg?1584814368) [![npm version](https://img.shields.io/npm/v/@thi.ng/intervals.svg)](https://www.npmjs.com/package/@thi.ng/intervals) ![npm downloads](https://img.shields.io/npm/dm/@thi.ng/intervals.svg) @@ -49,6 +49,7 @@ Package sizes (gzipped): ESM: 1.4KB / CJS: 1.5KB / UMD: 1.5KB - [@thi.ng/checks](https://github.com/thi-ng/umbrella/tree/develop/packages/checks) - [@thi.ng/dlogic](https://github.com/thi-ng/umbrella/tree/develop/packages/dlogic) - [@thi.ng/errors](https://github.com/thi-ng/umbrella/tree/develop/packages/errors) +- [tslib](https://github.com/thi-ng/umbrella/tree/develop/packages/undefined) ## API @@ -122,11 +123,11 @@ i.ropen = false; ### Maintainer -- Karsten Schmidt ([@postspectacular](https://github.com/postspectacular)) +- Karsten Schmidt ([@postspectacular](https://github.com//postspectacular)) ### Contributors -- [@oljeger](https://github.com/oljeger) +- [@oljeger](https://github.com//oljeger) ## License diff --git a/packages/iterators/README.md b/packages/iterators/README.md index 3a01c7427a..9c0d7636bf 100644 --- a/packages/iterators/README.md +++ b/packages/iterators/README.md @@ -1,6 +1,6 @@ -# ![@thi.ng/iterators](https://media.thi.ng/umbrella/banners/thing-iterators.svg?1581297782) +# ![@thi.ng/iterators](https://media.thi.ng/umbrella/banners/thing-iterators.svg?1584814425) [![npm version](https://img.shields.io/npm/v/@thi.ng/iterators.svg)](https://www.npmjs.com/package/@thi.ng/iterators) ![npm downloads](https://img.shields.io/npm/dm/@thi.ng/iterators.svg) @@ -94,6 +94,7 @@ Package sizes (gzipped): ESM: 2.5KB / CJS: 2.7KB / UMD: 2.5KB - [@thi.ng/api](https://github.com/thi-ng/umbrella/tree/develop/packages/api) - [@thi.ng/dcons](https://github.com/thi-ng/umbrella/tree/develop/packages/dcons) - [@thi.ng/errors](https://github.com/thi-ng/umbrella/tree/develop/packages/errors) +- [tslib](https://github.com/thi-ng/umbrella/tree/develop/packages/undefined) ## API diff --git a/packages/layout/README.md b/packages/layout/README.md index 98a17cbce2..dad0556f9e 100644 --- a/packages/layout/README.md +++ b/packages/layout/README.md @@ -1,6 +1,6 @@ -# ![@thi.ng/layout](https://media.thi.ng/umbrella/banners/thing-layout.svg?1582662658) +# ![@thi.ng/layout](https://media.thi.ng/umbrella/banners/thing-layout.svg?1584814356) [![npm version](https://img.shields.io/npm/v/@thi.ng/layout.svg)](https://www.npmjs.com/package/@thi.ng/layout) ![npm downloads](https://img.shields.io/npm/dm/@thi.ng/layout.svg) @@ -44,6 +44,7 @@ Package sizes (gzipped): ESM: 0.6KB / CJS: 0.7KB / UMD: 0.8KB - [@thi.ng/api](https://github.com/thi-ng/umbrella/tree/develop/packages/api) - [@thi.ng/checks](https://github.com/thi-ng/umbrella/tree/develop/packages/checks) +- [tslib](https://github.com/thi-ng/umbrella/tree/develop/packages/undefined) ## Usage examples @@ -53,21 +54,10 @@ directory are using this package. A selection: -### fft-synth - -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/fft-synth.png) - -Interactive inverse FFT toy synth - -[Live demo](https://demo.thi.ng/umbrella/fft-synth/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/fft-synth) - -### imgui - -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/imgui/imgui-all.png) - -Canvas based Immediate Mode GUI components - -[Live demo](https://demo.thi.ng/umbrella/imgui/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/imgui) +| Screenshot | Description | Live demo | Source | +| ---------------------------------------------------------------------------------------------------------------- | ------------------------------------------ | ----------------------------------------------- | ---------------------------------------------------------------------------- | +| | Interactive inverse FFT toy synth | [Demo](https://demo.thi.ng/umbrella/fft-synth/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/fft-synth) | +| | Canvas based Immediate Mode GUI components | [Demo](https://demo.thi.ng/umbrella/imgui/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/imgui) | ## API diff --git a/packages/leb128/README.md b/packages/leb128/README.md index 965c5bc579..095b6933f6 100644 --- a/packages/leb128/README.md +++ b/packages/leb128/README.md @@ -1,6 +1,6 @@ -# ![@thi.ng/leb128](https://media.thi.ng/umbrella/banners/thing-leb128.svg?1581297783) +# ![@thi.ng/leb128](https://media.thi.ng/umbrella/banners/thing-leb128.svg?1584814436) [![npm version](https://img.shields.io/npm/v/@thi.ng/leb128.svg)](https://www.npmjs.com/package/@thi.ng/leb128) ![npm downloads](https://img.shields.io/npm/dm/@thi.ng/leb128.svg) @@ -56,6 +56,7 @@ Package sizes (gzipped): ESM: 1.0KB / CJS: 1.0KB / UMD: 1.1KB - [@thi.ng/checks](https://github.com/thi-ng/umbrella/tree/develop/packages/checks) - [@thi.ng/errors](https://github.com/thi-ng/umbrella/tree/develop/packages/errors) - [@thi.ng/transducers-binary](https://github.com/thi-ng/umbrella/tree/develop/packages/transducers-binary) +- [tslib](https://github.com/thi-ng/umbrella/tree/develop/packages/undefined) ## API diff --git a/packages/lsys/README.md b/packages/lsys/README.md index 78598652d0..ff5039b87d 100644 --- a/packages/lsys/README.md +++ b/packages/lsys/README.md @@ -1,6 +1,6 @@ -# ![@thi.ng/lsys](https://media.thi.ng/umbrella/banners/thing-lsys.svg?1582660665) +# ![@thi.ng/lsys](https://media.thi.ng/umbrella/banners/thing-lsys.svg?1584814451) [![npm version](https://img.shields.io/npm/v/@thi.ng/lsys.svg)](https://www.npmjs.com/package/@thi.ng/lsys) ![npm downloads](https://img.shields.io/npm/dm/@thi.ng/lsys.svg) @@ -65,6 +65,7 @@ Package sizes (gzipped): ESM: 0.7KB / CJS: 0.7KB / UMD: 0.8KB - [@thi.ng/random](https://github.com/thi-ng/umbrella/tree/develop/packages/random) - [@thi.ng/transducers](https://github.com/thi-ng/umbrella/tree/develop/packages/transducers) - [@thi.ng/vectors](https://github.com/thi-ng/umbrella/tree/develop/packages/vectors) +- [tslib](https://github.com/thi-ng/umbrella/tree/develop/packages/undefined) ## API diff --git a/packages/malloc/README.md b/packages/malloc/README.md index 65e1ed955c..e39961a14b 100644 --- a/packages/malloc/README.md +++ b/packages/malloc/README.md @@ -1,6 +1,6 @@ -# ![@thi.ng/malloc](https://media.thi.ng/umbrella/banners/thing-malloc.svg?1582660657) +# ![@thi.ng/malloc](https://media.thi.ng/umbrella/banners/thing-malloc.svg?1584814356) [![npm version](https://img.shields.io/npm/v/@thi.ng/malloc.svg)](https://www.npmjs.com/package/@thi.ng/malloc) ![npm downloads](https://img.shields.io/npm/dm/@thi.ng/malloc.svg) @@ -11,20 +11,20 @@ This project is part of the - [About](#about) - [Memory layout](#memory-layout) -- [Free block compaction / coalescing](#free-block-compaction--coalescing) +- [Free block compaction / coalescing](#free-block-compaction---coalescing) - [Block splitting](#block-splitting) - [Status](#status) - [Installation](#installation) - [Dependencies](#dependencies) - [API](#api) - [MemPool](#mempool) - - [`malloc(size: number)`](#mallocsize-number) - - [`mallocAs(type: Type, num: number)`](#mallocastype-type-num-number) - - [`calloc(size: number, fill = 0)`](#callocsize-number-fill--0) - - [`callocAs(type: Type, num: number, fill = 0)`](#callocastype-type-num-number-fill--0) - - [`realloc(addr: number, size: number)`](#reallocaddr-number-size-number) - - [`reallocArray(buf: TypedArray, num: number)`](#reallocarraybuf-typedarray-num-number) - - [`free(addr: number | TypedArray)`](#freeaddr-number--typedarray) + - [`malloc(size: number)`](#mallocsize--number) + - [`mallocAs(type: Type, num: number)`](#mallocastype--type--num--number) + - [`calloc(size: number, fill = 0)`](#callocsize--number--fill--0) + - [`callocAs(type: Type, num: number, fill = 0)`](#callocastype--type--num--number--fill--0) + - [`realloc(addr: number, size: number)`](#reallocaddr--number--size--number) + - [`reallocArray(buf: TypedArray, num: number)`](#reallocarraybuf--typedarray--num--number) + - [`free(addr: number | TypedArray)`](#freeaddr--number--typedarray) - [`freeAll()`](#freeall) - [`release()`](#release) - [`stats()`](#stats) @@ -137,6 +137,7 @@ Package sizes (gzipped): ESM: 1.8KB / CJS: 1.9KB / UMD: 1.8KB - [@thi.ng/binary](https://github.com/thi-ng/umbrella/tree/develop/packages/binary) - [@thi.ng/checks](https://github.com/thi-ng/umbrella/tree/develop/packages/checks) - [@thi.ng/errors](https://github.com/thi-ng/umbrella/tree/develop/packages/errors) +- [tslib](https://github.com/thi-ng/umbrella/tree/develop/packages/undefined) ## API @@ -312,11 +313,11 @@ allocating tiny arrays is slightly slower than the vanilla version... YMMV! ### Maintainer -- Karsten Schmidt ([@postspectacular](https://github.com/postspectacular)) +- Karsten Schmidt ([@postspectacular](https://github.com//postspectacular)) ### Contributors -- Bnaya Peretz ([@Bnaya](https://github.com/Bnaya)) +- Bnaya Peretz ([@Bnaya](https://github.com//Bnaya)) ## License diff --git a/packages/math/README.md b/packages/math/README.md index 6a023672d6..5657abd841 100644 --- a/packages/math/README.md +++ b/packages/math/README.md @@ -1,6 +1,6 @@ -# ![@thi.ng/math](https://media.thi.ng/umbrella/banners/thing-math.svg?1583078709) +# ![@thi.ng/math](https://media.thi.ng/umbrella/banners/thing-math.svg?1584814331) [![npm version](https://img.shields.io/npm/v/@thi.ng/math.svg)](https://www.npmjs.com/package/@thi.ng/math) ![npm downloads](https://img.shields.io/npm/dm/@thi.ng/math.svg) @@ -42,7 +42,7 @@ Package sizes (gzipped): ESM: 3.5KB / CJS: 4.0KB / UMD: 3.3KB ## Dependencies -None +- [tslib](https://github.com/thi-ng/umbrella/tree/develop/packages/undefined) ## Usage examples @@ -52,77 +52,17 @@ directory are using this package. A selection: -### crypto-chart - -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/crypto-chart.png) - -Basic crypto-currency candle chart with multiple moving averages plots - -[Live demo](https://demo.thi.ng/umbrella/crypto-chart/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/crypto-chart) - -### hdom-canvas-draw - -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/hdom-canvas-draw.jpg) - -Interactive pattern drawing demo using transducers - -[Live demo](https://demo.thi.ng/umbrella/hdom-canvas-draw/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/hdom-canvas-draw) - -### hdom-canvas-particles - -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/hdom-canvas-particles.jpg) - -2D Bezier curve-guided particle system - -[Live demo](https://demo.thi.ng/umbrella/hdom-canvas-particles/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/hdom-canvas-particles) - -### iso-plasma - -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/geom/geom-isoline.png) - -Animated sine plasma effect visualized using contour lines - -[Live demo](https://demo.thi.ng/umbrella/iso-plasma/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/iso-plasma) - -### mandelbrot - -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/mandelbrot.jpg) - -Worker based, interactive Mandelbrot visualization - -[Live demo](https://demo.thi.ng/umbrella/mandelbrot/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/mandelbrot) - -### ramp-synth - -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/ramp-synth.png) - -Unison wavetable synth with waveform editor - -[Live demo](https://demo.thi.ng/umbrella/ramp-synth/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/ramp-synth) - -### scenegraph - -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/scenegraph.png) - -2D scenegraph & shape picking - -[Live demo](https://demo.thi.ng/umbrella/scenegraph/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/scenegraph) - -### scenegraph-image - -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/scenegraph-image.png) - -2D scenegraph & image map based geometry manipulation - -[Live demo](https://demo.thi.ng/umbrella/scenegraph-image/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/scenegraph-image) - -### svg-barchart - -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/svg-barchart.png) - -Simplistic SVG bar chart component - -[Live demo](https://demo.thi.ng/umbrella/svg-barchart/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/svg-barchart) +| Screenshot | Description | Live demo | Source | +| ---------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------- | ----------------------------------------------------------- | ---------------------------------------------------------------------------------------- | +| | Basic crypto-currency candle chart with multiple moving averages plots | [Demo](https://demo.thi.ng/umbrella/crypto-chart/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/crypto-chart) | +| | Interactive pattern drawing demo using transducers | [Demo](https://demo.thi.ng/umbrella/hdom-canvas-draw/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/hdom-canvas-draw) | +| | 2D Bezier curve-guided particle system | [Demo](https://demo.thi.ng/umbrella/hdom-canvas-particles/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/hdom-canvas-particles) | +| | Animated sine plasma effect visualized using contour lines | [Demo](https://demo.thi.ng/umbrella/iso-plasma/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/iso-plasma) | +| | Worker based, interactive Mandelbrot visualization | [Demo](https://demo.thi.ng/umbrella/mandelbrot/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/mandelbrot) | +| | Unison wavetable synth with waveform editor | [Demo](https://demo.thi.ng/umbrella/ramp-synth/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/ramp-synth) | +| | 2D scenegraph & shape picking | [Demo](https://demo.thi.ng/umbrella/scenegraph/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/scenegraph) | +| | 2D scenegraph & image map based geometry manipulation | [Demo](https://demo.thi.ng/umbrella/scenegraph-image/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/scenegraph-image) | +| | Simplistic SVG bar chart component | [Demo](https://demo.thi.ng/umbrella/svg-barchart/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/svg-barchart) | ## API @@ -134,11 +74,11 @@ TODO ### Maintainer -- Karsten Schmidt ([@postspectacular](https://github.com/postspectacular)) +- Karsten Schmidt ([@postspectacular](https://github.com//postspectacular)) ### Contributors -- [@nkint](https://github.com/nkint) +- [@nkint](https://github.com//nkint) ## License diff --git a/packages/matrices/README.md b/packages/matrices/README.md index 7b3bbd09b6..7aa774bad9 100644 --- a/packages/matrices/README.md +++ b/packages/matrices/README.md @@ -1,6 +1,6 @@ -# ![@thi.ng/matrices](https://media.thi.ng/umbrella/banners/thing-matrices.svg?1583078718) +# ![@thi.ng/matrices](https://media.thi.ng/umbrella/banners/thing-matrices.svg?1584814451) [![npm version](https://img.shields.io/npm/v/@thi.ng/matrices.svg)](https://www.npmjs.com/package/@thi.ng/matrices) ![npm downloads](https://img.shields.io/npm/dm/@thi.ng/matrices.svg) @@ -73,6 +73,7 @@ Package sizes (gzipped): ESM: 4.8KB / CJS: 5.3KB / UMD: 4.8KB - [@thi.ng/checks](https://github.com/thi-ng/umbrella/tree/develop/packages/checks) - [@thi.ng/math](https://github.com/thi-ng/umbrella/tree/develop/packages/math) - [@thi.ng/vectors](https://github.com/thi-ng/umbrella/tree/develop/packages/vectors) +- [tslib](https://github.com/thi-ng/umbrella/tree/develop/packages/undefined) ## Usage examples @@ -82,69 +83,16 @@ directory are using this package. A selection: -### scenegraph - -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/scenegraph.png) - -2D scenegraph & shape picking - -[Live demo](https://demo.thi.ng/umbrella/scenegraph/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/scenegraph) - -### scenegraph-image - -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/scenegraph-image.png) - -2D scenegraph & image map based geometry manipulation - -[Live demo](https://demo.thi.ng/umbrella/scenegraph-image/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/scenegraph-image) - -### soa-ecs - -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/soa-ecs-100k.png) - -Entity Component System w/ 100k 3D particles - -[Live demo](https://demo.thi.ng/umbrella/soa-ecs/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/soa-ecs) - -### text-canvas - -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/text-canvas.png) - -3D wireframe textmode demo - -[Live demo](https://demo.thi.ng/umbrella/text-canvas/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/text-canvas) - -### webgl-cube - -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/webgl-cube.png) - -WebGL multi-colored cube mesh - -[Live demo](https://demo.thi.ng/umbrella/webgl-cube/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/webgl-cube) - -### webgl-cubemap - -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/webgl-cubemap.jpg) - -WebGL cube maps with async texture loading - -[Live demo](https://demo.thi.ng/umbrella/webgl-cubemap/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/webgl-cubemap) - -### webgl-grid - -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/webgl-grid.jpg) - -WebGL instancing, animated grid - -[Live demo](https://demo.thi.ng/umbrella/webgl-grid/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/webgl-grid) - -### webgl-msdf - -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/webgl-msdf.jpg) - -WebGL MSDF text rendering & particle system - -[Live demo](https://demo.thi.ng/umbrella/webgl-msdf/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/webgl-msdf) +| Screenshot | Description | Live demo | Source | +| ----------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------- | ------------------------------------------------------ | ----------------------------------------------------------------------------------- | +| | 2D scenegraph & shape picking | [Demo](https://demo.thi.ng/umbrella/scenegraph/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/scenegraph) | +| | 2D scenegraph & image map based geometry manipulation | [Demo](https://demo.thi.ng/umbrella/scenegraph-image/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/scenegraph-image) | +| | Entity Component System w/ 100k 3D particles | [Demo](https://demo.thi.ng/umbrella/soa-ecs/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/soa-ecs) | +| | 3D wireframe textmode demo | [Demo](https://demo.thi.ng/umbrella/text-canvas/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/text-canvas) | +| | WebGL multi-colored cube mesh | [Demo](https://demo.thi.ng/umbrella/webgl-cube/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/webgl-cube) | +| | WebGL cube maps with async texture loading | [Demo](https://demo.thi.ng/umbrella/webgl-cubemap/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/webgl-cubemap) | +| | WebGL instancing, animated grid | [Demo](https://demo.thi.ng/umbrella/webgl-grid/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/webgl-grid) | +| | WebGL MSDF text rendering & particle system | [Demo](https://demo.thi.ng/umbrella/webgl-msdf/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/webgl-msdf) | ## API diff --git a/packages/memoize/README.md b/packages/memoize/README.md index 933c46331d..98b9adaf49 100644 --- a/packages/memoize/README.md +++ b/packages/memoize/README.md @@ -1,6 +1,6 @@ -# ![@thi.ng/memoize](https://media.thi.ng/umbrella/banners/thing-memoize.svg?1583078710) +# ![@thi.ng/memoize](https://media.thi.ng/umbrella/banners/thing-memoize.svg?1584814353) [![npm version](https://img.shields.io/npm/v/@thi.ng/memoize.svg)](https://www.npmjs.com/package/@thi.ng/memoize) ![npm downloads](https://img.shields.io/npm/dm/@thi.ng/memoize.svg) @@ -51,6 +51,7 @@ Package sizes (gzipped): ESM: 0.2KB / CJS: 0.3KB / UMD: 0.4KB ## Dependencies - [@thi.ng/api](https://github.com/thi-ng/umbrella/tree/develop/packages/api) +- [tslib](https://github.com/thi-ng/umbrella/tree/develop/packages/undefined) ## Usage examples @@ -60,19 +61,10 @@ directory are using this package. A selection: -### multitouch - -Basic rstream-gestures multi-touch demo - -[Live demo](https://demo.thi.ng/umbrella/multitouch/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/multitouch) - -### rstream-spreadsheet - -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/rstream-spreadsheet.png) - -rstream based spreadsheet w/ S-expression formula DSL - -[Live demo](https://demo.thi.ng/umbrella/rstream-spreadsheet/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/rstream-spreadsheet) +| Screenshot | Description | Live demo | Source | +| -------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------- | --------------------------------------------------------- | -------------------------------------------------------------------------------------- | +| | Basic rstream-gestures multi-touch demo | [Demo](https://demo.thi.ng/umbrella/multitouch/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/multitouch) | +| | rstream based spreadsheet w/ S-expression formula DSL | [Demo](https://demo.thi.ng/umbrella/rstream-spreadsheet/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/rstream-spreadsheet) | ## API diff --git a/packages/mime/README.md b/packages/mime/README.md index 0aa1fa4aa3..91d0b2ace2 100644 --- a/packages/mime/README.md +++ b/packages/mime/README.md @@ -1,6 +1,6 @@ -# ![@thi.ng/mime](https://media.thi.ng/umbrella/banners/thing-mime.svg?1582642855) +# ![@thi.ng/mime](https://media.thi.ng/umbrella/banners/thing-mime.svg?1584814354) [![npm version](https://img.shields.io/npm/v/@thi.ng/mime.svg)](https://www.npmjs.com/package/@thi.ng/mime) ![npm downloads](https://img.shields.io/npm/dm/@thi.ng/mime.svg) @@ -39,6 +39,7 @@ Package sizes (gzipped): ESM: 2.4KB / CJS: 2.4KB / UMD: 2.5KB ## Dependencies - [@thi.ng/api](https://github.com/thi-ng/umbrella/tree/develop/packages/api) +- [tslib](https://github.com/thi-ng/umbrella/tree/develop/packages/undefined) ## API diff --git a/packages/morton/README.md b/packages/morton/README.md index 6bcdf800cc..a3867e604a 100644 --- a/packages/morton/README.md +++ b/packages/morton/README.md @@ -1,6 +1,6 @@ -# ![@thi.ng/morton](https://media.thi.ng/umbrella/banners/thing-morton.svg?1581297779) +# ![@thi.ng/morton](https://media.thi.ng/umbrella/banners/thing-morton.svg?1584814365) [![npm version](https://img.shields.io/npm/v/@thi.ng/morton.svg)](https://www.npmjs.com/package/@thi.ng/morton) ![npm downloads](https://img.shields.io/npm/dm/@thi.ng/morton.svg) @@ -16,7 +16,7 @@ This project is part of the - [Dependencies](#dependencies) - [API](#api) - [ZCurve class](#zcurve-class) - - [Low level (2D / 3D only)](#low-level-2d--3d-only) + - [Low level (2D / 3D only)](#low-level-2d---3d-only) - [Authors](#authors) - [License](#license) @@ -54,6 +54,7 @@ Package sizes (gzipped): ESM: 2.0KB / CJS: 2.1KB / UMD: 2.1KB - [@thi.ng/api](https://github.com/thi-ng/umbrella/tree/develop/packages/api) - [@thi.ng/binary](https://github.com/thi-ng/umbrella/tree/develop/packages/binary) - [@thi.ng/math](https://github.com/thi-ng/umbrella/tree/develop/packages/math) +- [tslib](https://github.com/thi-ng/umbrella/tree/develop/packages/undefined) ## API diff --git a/packages/paths/README.md b/packages/paths/README.md index 919f725cad..674ee7d32a 100644 --- a/packages/paths/README.md +++ b/packages/paths/README.md @@ -1,6 +1,6 @@ -# ![@thi.ng/paths](https://media.thi.ng/umbrella/banners/thing-paths.svg?1583078711) +# ![@thi.ng/paths](https://media.thi.ng/umbrella/banners/thing-paths.svg?1584814357) [![npm version](https://img.shields.io/npm/v/@thi.ng/paths.svg)](https://www.npmjs.com/package/@thi.ng/paths) ![npm downloads](https://img.shields.io/npm/dm/@thi.ng/paths.svg) @@ -43,6 +43,7 @@ Package sizes (gzipped): ESM: 1.0KB / CJS: 1.1KB / UMD: 1.1KB - [@thi.ng/checks](https://github.com/thi-ng/umbrella/tree/develop/packages/checks) - [@thi.ng/errors](https://github.com/thi-ng/umbrella/tree/develop/packages/errors) +- [tslib](https://github.com/thi-ng/umbrella/tree/develop/packages/undefined) ## Usage examples @@ -52,41 +53,13 @@ directory are using this package. A selection: -### hdom-elm - -Using hdom in an Elm-like manner - -[Live demo](https://demo.thi.ng/umbrella/hdom-elm/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/hdom-elm) - -### interceptor-basics2 - -Event handling w/ interceptors and side effects - -[Live demo](https://demo.thi.ng/umbrella/interceptor-basics2/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/interceptor-basics2) - -### rstream-event-loop - -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/rstream-event-loop.png) - -Minimal demo of using rstream constructs to form an interceptor-style event loop - -[Live demo](https://demo.thi.ng/umbrella/rstream-event-loop/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/rstream-event-loop) - -### todo-list - -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/todo-list.png) - -Obligatory to-do list example with undo/redo - -[Live demo](https://demo.thi.ng/umbrella/todo-list/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/todo-list) - -### triple-query - -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/triple-query.png) - -Triple store query results & sortable table - -[Live demo](https://demo.thi.ng/umbrella/triple-query/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/triple-query) +| Screenshot | Description | Live demo | Source | +| ------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- | --------------------------------------------------------- | -------------------------------------------------------------------------------------- | +| | Using hdom in an Elm-like manner | [Demo](https://demo.thi.ng/umbrella/hdom-elm/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/hdom-elm) | +| | Event handling w/ interceptors and side effects | [Demo](https://demo.thi.ng/umbrella/interceptor-basics2/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/interceptor-basics2) | +| | Minimal demo of using rstream constructs to form an interceptor-style event loop | [Demo](https://demo.thi.ng/umbrella/rstream-event-loop/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/rstream-event-loop) | +| | Obligatory to-do list example with undo/redo | [Demo](https://demo.thi.ng/umbrella/todo-list/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/todo-list) | +| | Triple store query results & sortable table | [Demo](https://demo.thi.ng/umbrella/triple-query/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/triple-query) | ## API diff --git a/packages/pixel/README.md b/packages/pixel/README.md index 2a856f2db3..58b179ea79 100644 --- a/packages/pixel/README.md +++ b/packages/pixel/README.md @@ -1,6 +1,6 @@ -# ![@thi.ng/pixel](https://media.thi.ng/umbrella/banners/thing-pixel.svg?1583078713) +# ![@thi.ng/pixel](https://media.thi.ng/umbrella/banners/thing-pixel.svg?1584814381) [![npm version](https://img.shields.io/npm/v/@thi.ng/pixel.svg)](https://www.npmjs.com/package/@thi.ng/pixel) ![npm downloads](https://img.shields.io/npm/dm/@thi.ng/pixel.svg) @@ -99,7 +99,7 @@ Format specs can freely control channel layout within current limits: yarn add @thi.ng/pixel ``` -Package sizes (gzipped): ESM: 3.2KB / CJS: 3.3KB / UMD: 3.3KB +Package sizes (gzipped): ESM: 3.1KB / CJS: 3.2KB / UMD: 3.2KB ## Dependencies @@ -107,6 +107,7 @@ Package sizes (gzipped): ESM: 3.2KB / CJS: 3.3KB / UMD: 3.3KB - [@thi.ng/checks](https://github.com/thi-ng/umbrella/tree/develop/packages/checks) - [@thi.ng/math](https://github.com/thi-ng/umbrella/tree/develop/packages/math) - [@thi.ng/porter-duff](https://github.com/thi-ng/umbrella/tree/develop/packages/porter-duff) +- [tslib](https://github.com/thi-ng/umbrella/tree/develop/packages/undefined) ## Usage examples @@ -116,43 +117,13 @@ directory are using this package. A selection: -### adaptive-threshold - -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/adaptive-threshold.png) - -Interactive image processing (adaptive threshold) - -[Live demo](https://demo.thi.ng/umbrella/adaptive-threshold/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/adaptive-threshold) - -### pixel-basics - -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/pixel/pixel-basics.png) - -Pixel buffer manipulations - -[Live demo](https://demo.thi.ng/umbrella/pixel-basics/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/pixel-basics) - -### porter-duff - -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/porter-duff/porter-duff2.png) - -Port-Duff image compositing / alpha blending - -[Live demo](https://demo.thi.ng/umbrella/porter-duff/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/porter-duff) - -### shader-ast-workers - -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/shader-ast-workers.jpg) - -Fork-join worker-based raymarch renderer - -[Live demo](https://demo.thi.ng/umbrella/shader-ast-workers/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/shader-ast-workers) - -### webgl-multipass - -Minimal multi-pass / GPGPU example - -[Live demo](https://demo.thi.ng/umbrella/webgl-multipass/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/webgl-multipass) +| Screenshot | Description | Live demo | Source | +| ------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------- | -------------------------------------------------------- | ------------------------------------------------------------------------------------- | +| | Interactive image processing (adaptive threshold) | [Demo](https://demo.thi.ng/umbrella/adaptive-threshold/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/adaptive-threshold) | +| | Pixel buffer manipulations | [Demo](https://demo.thi.ng/umbrella/pixel-basics/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/pixel-basics) | +| | Port-Duff image compositing / alpha blending | [Demo](https://demo.thi.ng/umbrella/porter-duff/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/porter-duff) | +| | Fork-join worker-based raymarch renderer | [Demo](https://demo.thi.ng/umbrella/shader-ast-workers/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/shader-ast-workers) | +| | Minimal multi-pass / GPGPU example | [Demo](https://demo.thi.ng/umbrella/webgl-multipass/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/webgl-multipass) | ## API diff --git a/packages/pointfree-lang/README.md b/packages/pointfree-lang/README.md index 91f656b425..51808b481f 100644 --- a/packages/pointfree-lang/README.md +++ b/packages/pointfree-lang/README.md @@ -1,6 +1,6 @@ -# ![@thi.ng/pointfree-lang](https://media.thi.ng/umbrella/banners/thing-pointfree-lang.svg?1583078713) +# ![@thi.ng/pointfree-lang](https://media.thi.ng/umbrella/banners/thing-pointfree-lang.svg?1584814381) [![npm version](https://img.shields.io/npm/v/@thi.ng/pointfree-lang.svg)](https://www.npmjs.com/package/@thi.ng/pointfree-lang) ![npm downloads](https://img.shields.io/npm/dm/@thi.ng/pointfree-lang.svg) @@ -29,7 +29,7 @@ This project is part of the - [Variables](#variables) - [Dynamic scoping](#dynamic-scoping) - [Objects](#objects) -- [Ideas / Todos](#ideas--todos) +- [Ideas / Todos](#ideas---todos) - [Authors](#authors) - [License](#license) @@ -70,6 +70,7 @@ Package sizes (gzipped): ESM: 4.8KB / CJS: 4.9KB / UMD: 4.8KB - [@thi.ng/api](https://github.com/thi-ng/umbrella/tree/develop/packages/api) - [@thi.ng/errors](https://github.com/thi-ng/umbrella/tree/develop/packages/errors) - [@thi.ng/pointfree](https://github.com/thi-ng/umbrella/tree/develop/packages/pointfree) +- [tslib](https://github.com/thi-ng/umbrella/tree/develop/packages/undefined) ## Usage examples @@ -79,13 +80,9 @@ directory are using this package. A selection: -### pointfree-svg - -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/pointfree-svg.png) - -Generate SVG using pointfree DSL - -[Live demo](https://demo.thi.ng/umbrella/pointfree-svg/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/pointfree-svg) +| Screenshot | Description | Live demo | Source | +| -------------------------------------------------------------------------------------------------------------------- | -------------------------------- | --------------------------------------------------- | -------------------------------------------------------------------------------- | +| | Generate SVG using pointfree DSL | [Demo](https://demo.thi.ng/umbrella/pointfree-svg/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/pointfree-svg) | ## API diff --git a/packages/pointfree/README.md b/packages/pointfree/README.md index e2c788e345..231305ea0d 100644 --- a/packages/pointfree/README.md +++ b/packages/pointfree/README.md @@ -1,6 +1,6 @@ -# ![@thi.ng/pointfree](https://media.thi.ng/umbrella/banners/thing-pointfree.svg?1583078712) +# ![@thi.ng/pointfree](https://media.thi.ng/umbrella/banners/thing-pointfree.svg?1584814369) [![npm version](https://img.shields.io/npm/v/@thi.ng/pointfree.svg)](https://www.npmjs.com/package/@thi.ng/pointfree) ![npm downloads](https://img.shields.io/npm/dm/@thi.ng/pointfree.svg) @@ -40,12 +40,12 @@ This project is part of the - [Core vocabulary](#core-vocabulary) - [D-Stack modification](#d-stack-modification) - [R-Stack modification](#r-stack-modification) - - [Word & quotation execution / combinators](#word--quotation-execution--combinators) + - [Word & quotation execution / combinators](#word--quotation-execution---combinators) - [Primitive math](#primitive-math) - [Logic](#logic) - [Environment](#environment) - - [Arrays, objects, strings](#arrays-objects-strings) - - [I/O](#io) + - [Arrays, objects, strings](#arrays--objects--strings) + - [I/O](#i-o) - [Control flow](#control-flow) - [cond](#cond) - [condq](#condq) @@ -200,6 +200,7 @@ Package sizes (gzipped): ESM: 3.1KB / CJS: 3.6KB / UMD: 3.4KB - [@thi.ng/compose](https://github.com/thi-ng/umbrella/tree/develop/packages/compose) - [@thi.ng/equiv](https://github.com/thi-ng/umbrella/tree/develop/packages/equiv) - [@thi.ng/errors](https://github.com/thi-ng/umbrella/tree/develop/packages/errors) +- [tslib](https://github.com/thi-ng/umbrella/tree/develop/packages/undefined) ## Usage examples @@ -209,13 +210,9 @@ directory are using this package. A selection: -### pointfree-svg - -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/pointfree-svg.png) - -Generate SVG using pointfree DSL - -[Live demo](https://demo.thi.ng/umbrella/pointfree-svg/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/pointfree-svg) +| Screenshot | Description | Live demo | Source | +| -------------------------------------------------------------------------------------------------------------------- | -------------------------------- | --------------------------------------------------- | -------------------------------------------------------------------------------- | +| | Generate SVG using pointfree DSL | [Demo](https://demo.thi.ng/umbrella/pointfree-svg/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/pointfree-svg) | ## API diff --git a/packages/poisson/README.md b/packages/poisson/README.md index b5c6ce221d..59387b0a0f 100644 --- a/packages/poisson/README.md +++ b/packages/poisson/README.md @@ -1,6 +1,6 @@ -# ![@thi.ng/poisson](https://media.thi.ng/umbrella/banners/thing-poisson.svg?1582660667) +# ![@thi.ng/poisson](https://media.thi.ng/umbrella/banners/thing-poisson.svg?1584814476) [![npm version](https://img.shields.io/npm/v/@thi.ng/poisson.svg)](https://www.npmjs.com/package/@thi.ng/poisson) ![npm downloads](https://img.shields.io/npm/dm/@thi.ng/poisson.svg) @@ -58,6 +58,7 @@ Package sizes (gzipped): ESM: 0.3KB / CJS: 0.4KB / UMD: 0.5KB - [@thi.ng/geom-api](https://github.com/thi-ng/umbrella/tree/develop/packages/geom-api) - [@thi.ng/random](https://github.com/thi-ng/umbrella/tree/develop/packages/random) - [@thi.ng/vectors](https://github.com/thi-ng/umbrella/tree/develop/packages/vectors) +- [tslib](https://github.com/thi-ng/umbrella/tree/develop/packages/undefined) ## Usage examples @@ -67,13 +68,9 @@ directory are using this package. A selection: -### geom-voronoi-mst - -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/geom-voronoi-mst.jpg) - -Poisson-disk shape-aware sampling, Voronoi & Minimum Spanning Tree visualization - -[Live demo](https://demo.thi.ng/umbrella/geom-voronoi-mst/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/geom-voronoi-mst) +| Screenshot | Description | Live demo | Source | +| ----------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- | ------------------------------------------------------ | ----------------------------------------------------------------------------------- | +| | Poisson-disk shape-aware sampling, Voronoi & Minimum Spanning Tree visualization | [Demo](https://demo.thi.ng/umbrella/geom-voronoi-mst/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/geom-voronoi-mst) | ## API diff --git a/packages/porter-duff/README.md b/packages/porter-duff/README.md index 9a44d52432..405e872e37 100644 --- a/packages/porter-duff/README.md +++ b/packages/porter-duff/README.md @@ -1,6 +1,6 @@ -# ![@thi.ng/porter-duff](https://media.thi.ng/umbrella/banners/thing-porter-duff.svg?1583078712) +# ![@thi.ng/porter-duff](https://media.thi.ng/umbrella/banners/thing-porter-duff.svg?1584814366) [![npm version](https://img.shields.io/npm/v/@thi.ng/porter-duff.svg)](https://www.npmjs.com/package/@thi.ng/porter-duff) ![npm downloads](https://img.shields.io/npm/dm/@thi.ng/porter-duff.svg) @@ -20,8 +20,8 @@ This project is part of the - [Basic usage](#basic-usage) - [Operators](#operators) - [Custom operators](#custom-operators) - - [Additional operators / modifiers](#additional-operators--modifiers) - - [Pre/post-multiplied colors](#prepost-multiplied-colors) + - [Additional operators / modifiers](#additional-operators---modifiers) + - [Pre/post-multiplied colors](#pre-post-multiplied-colors) - [Authors](#authors) - [License](#license) @@ -64,6 +64,7 @@ Package sizes (gzipped): ESM: 1.0KB / CJS: 1.2KB / UMD: 1.1KB - [@thi.ng/api](https://github.com/thi-ng/umbrella/tree/develop/packages/api) - [@thi.ng/math](https://github.com/thi-ng/umbrella/tree/develop/packages/math) +- [tslib](https://github.com/thi-ng/umbrella/tree/develop/packages/undefined) ## Usage examples @@ -73,21 +74,10 @@ directory are using this package. A selection: -### pixel-basics - -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/pixel/pixel-basics.png) - -Pixel buffer manipulations - -[Live demo](https://demo.thi.ng/umbrella/pixel-basics/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/pixel-basics) - -### porter-duff - -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/porter-duff/porter-duff2.png) - -Port-Duff image compositing / alpha blending - -[Live demo](https://demo.thi.ng/umbrella/porter-duff/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/porter-duff) +| Screenshot | Description | Live demo | Source | +| ---------------------------------------------------------------------------------------------------------------------- | -------------------------------------------- | -------------------------------------------------- | ------------------------------------------------------------------------------- | +| | Pixel buffer manipulations | [Demo](https://demo.thi.ng/umbrella/pixel-basics/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/pixel-basics) | +| | Port-Duff image compositing / alpha blending | [Demo](https://demo.thi.ng/umbrella/porter-duff/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/porter-duff) | ## API diff --git a/packages/quad-edge/README.md b/packages/quad-edge/README.md index 4251193f9f..e8c4a0c048 100644 --- a/packages/quad-edge/README.md +++ b/packages/quad-edge/README.md @@ -1,6 +1,6 @@ -# ![@thi.ng/quad-edge](https://media.thi.ng/umbrella/banners/thing-quad-edge.svg?1581297777) +# ![@thi.ng/quad-edge](https://media.thi.ng/umbrella/banners/thing-quad-edge.svg?1584814341) [![npm version](https://img.shields.io/npm/v/@thi.ng/quad-edge.svg)](https://www.npmjs.com/package/@thi.ng/quad-edge) ![npm downloads](https://img.shields.io/npm/dm/@thi.ng/quad-edge.svg) @@ -53,7 +53,7 @@ Package sizes (gzipped): ESM: 0.5KB / CJS: 0.5KB / UMD: 0.6KB ## Dependencies -None +- [tslib](https://github.com/thi-ng/umbrella/tree/develop/packages/undefined) ## API diff --git a/packages/ramp/README.md b/packages/ramp/README.md index 0af41999fb..6dbca73236 100644 --- a/packages/ramp/README.md +++ b/packages/ramp/README.md @@ -1,6 +1,6 @@ -# ![@thi.ng/ramp](https://media.thi.ng/umbrella/banners/thing-ramp.svg?1581297784) +# ![@thi.ng/ramp](https://media.thi.ng/umbrella/banners/thing-ramp.svg?1584814461) [![npm version](https://img.shields.io/npm/v/@thi.ng/ramp.svg)](https://www.npmjs.com/package/@thi.ng/ramp) ![npm downloads](https://img.shields.io/npm/dm/@thi.ng/ramp.svg) @@ -42,6 +42,7 @@ Package sizes (gzipped): ESM: 0.9KB / CJS: 1.0KB / UMD: 1.1KB - [@thi.ng/math](https://github.com/thi-ng/umbrella/tree/develop/packages/math) - [@thi.ng/transducers](https://github.com/thi-ng/umbrella/tree/develop/packages/transducers) - [@thi.ng/vectors](https://github.com/thi-ng/umbrella/tree/develop/packages/vectors) +- [tslib](https://github.com/thi-ng/umbrella/tree/develop/packages/undefined) ## Usage examples @@ -51,13 +52,9 @@ directory are using this package. A selection: -### ramp-synth - -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/ramp-synth.png) - -Unison wavetable synth with waveform editor - -[Live demo](https://demo.thi.ng/umbrella/ramp-synth/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/ramp-synth) +| Screenshot | Description | Live demo | Source | +| ----------------------------------------------------------------------------------------------------------------- | ------------------------------------------- | ------------------------------------------------ | ----------------------------------------------------------------------------- | +| | Unison wavetable synth with waveform editor | [Demo](https://demo.thi.ng/umbrella/ramp-synth/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/ramp-synth) | ## API diff --git a/packages/random/README.md b/packages/random/README.md index cde990f77c..87d502afcb 100644 --- a/packages/random/README.md +++ b/packages/random/README.md @@ -1,6 +1,6 @@ -# ![@thi.ng/random](https://media.thi.ng/umbrella/banners/thing-random.svg?1583078711) +# ![@thi.ng/random](https://media.thi.ng/umbrella/banners/thing-random.svg?1584814356) [![npm version](https://img.shields.io/npm/v/@thi.ng/random.svg)](https://www.npmjs.com/package/@thi.ng/random) ![npm downloads](https://img.shields.io/npm/dm/@thi.ng/random.svg) @@ -53,6 +53,7 @@ Package sizes (gzipped): ESM: 1.2KB / CJS: 1.3KB / UMD: 1.3KB - [@thi.ng/api](https://github.com/thi-ng/umbrella/tree/develop/packages/api) - [@thi.ng/checks](https://github.com/thi-ng/umbrella/tree/develop/packages/checks) +- [tslib](https://github.com/thi-ng/umbrella/tree/develop/packages/undefined) ## Usage examples @@ -62,21 +63,10 @@ directory are using this package. A selection: -### fft-synth - -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/fft-synth.png) - -Interactive inverse FFT toy synth - -[Live demo](https://demo.thi.ng/umbrella/fft-synth/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/fft-synth) - -### shader-ast-evo - -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/shader-ast-evo.jpg) - -Evolutionary shader generation using genetic programming - -[Live demo](https://demo.thi.ng/umbrella/shader-ast-evo/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/shader-ast-evo) +| Screenshot | Description | Live demo | Source | +| --------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------- | ---------------------------------------------------- | --------------------------------------------------------------------------------- | +| | Interactive inverse FFT toy synth | [Demo](https://demo.thi.ng/umbrella/fft-synth/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/fft-synth) | +| | Evolutionary shader generation using genetic programming | [Demo](https://demo.thi.ng/umbrella/shader-ast-evo/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/shader-ast-evo) | ## API diff --git a/packages/range-coder/README.md b/packages/range-coder/README.md index 0c9c5e39cb..7e6f38ce9c 100644 --- a/packages/range-coder/README.md +++ b/packages/range-coder/README.md @@ -1,6 +1,6 @@ -# ![@thi.ng/range-coder](https://media.thi.ng/umbrella/banners/thing-range-coder.svg?1581297781) +# ![@thi.ng/range-coder](https://media.thi.ng/umbrella/banners/thing-range-coder.svg?1584814413) [![npm version](https://img.shields.io/npm/v/@thi.ng/range-coder.svg)](https://www.npmjs.com/package/@thi.ng/range-coder) ![npm downloads](https://img.shields.io/npm/dm/@thi.ng/range-coder.svg) @@ -43,6 +43,7 @@ Package sizes (gzipped): ESM: 0.7KB / CJS: 0.7KB / UMD: 0.7KB ## Dependencies - [@thi.ng/bitstream](https://github.com/thi-ng/umbrella/tree/develop/packages/bitstream) +- [tslib](https://github.com/thi-ng/umbrella/tree/develop/packages/undefined) ## API diff --git a/packages/resolve-map/README.md b/packages/resolve-map/README.md index 5e7246ab5d..c50a5694a7 100644 --- a/packages/resolve-map/README.md +++ b/packages/resolve-map/README.md @@ -1,6 +1,6 @@ -# ![@thi.ng/resolve-map](https://media.thi.ng/umbrella/banners/thing-resolve-map.svg?1581297779) +# ![@thi.ng/resolve-map](https://media.thi.ng/umbrella/banners/thing-resolve-map.svg?1584814381) [![npm version](https://img.shields.io/npm/v/@thi.ng/resolve-map.svg)](https://www.npmjs.com/package/@thi.ng/resolve-map) ![npm downloads](https://img.shields.io/npm/dm/@thi.ng/resolve-map.svg) @@ -58,6 +58,7 @@ Package sizes (gzipped): ESM: 0.8KB / CJS: 0.9KB / UMD: 1.0KB - [@thi.ng/checks](https://github.com/thi-ng/umbrella/tree/develop/packages/checks) - [@thi.ng/errors](https://github.com/thi-ng/umbrella/tree/develop/packages/errors) - [@thi.ng/paths](https://github.com/thi-ng/umbrella/tree/develop/packages/paths) +- [tslib](https://github.com/thi-ng/umbrella/tree/develop/packages/undefined) ## Usage examples @@ -67,21 +68,10 @@ directory are using this package. A selection: -### commit-table-ssr - -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/commit-table-ssr.png) - -Filterable commit log UI w/ minimal server to provide commit history - -[Live demo](https://demo.thi.ng/umbrella/commit-table-ssr/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/commit-table-ssr) - -### crypto-chart - -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/crypto-chart.png) - -Basic crypto-currency candle chart with multiple moving averages plots - -[Live demo](https://demo.thi.ng/umbrella/crypto-chart/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/crypto-chart) +| Screenshot | Description | Live demo | Source | +| ----------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------- | ------------------------------------------------------ | ----------------------------------------------------------------------------------- | +| | Filterable commit log UI w/ minimal server to provide commit history | [Demo](https://demo.thi.ng/umbrella/commit-table-ssr/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/commit-table-ssr) | +| | Basic crypto-currency candle chart with multiple moving averages plots | [Demo](https://demo.thi.ng/umbrella/crypto-chart/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/crypto-chart) | ### Statistical analysis diff --git a/packages/rle-pack/README.md b/packages/rle-pack/README.md index 29f0302735..a8b6a68ea1 100644 --- a/packages/rle-pack/README.md +++ b/packages/rle-pack/README.md @@ -1,6 +1,6 @@ -# ![@thi.ng/rle-pack](https://media.thi.ng/umbrella/banners/thing-rle-pack.svg?1582660658) +# ![@thi.ng/rle-pack](https://media.thi.ng/umbrella/banners/thing-rle-pack.svg?1584814369) [![npm version](https://img.shields.io/npm/v/@thi.ng/rle-pack.svg)](https://www.npmjs.com/package/@thi.ng/rle-pack) ![npm downloads](https://img.shields.io/npm/dm/@thi.ng/rle-pack.svg) @@ -70,6 +70,7 @@ Package sizes (gzipped): ESM: 0.7KB / CJS: 0.7KB / UMD: 0.8KB - [@thi.ng/bitstream](https://github.com/thi-ng/umbrella/tree/develop/packages/bitstream) - [@thi.ng/errors](https://github.com/thi-ng/umbrella/tree/develop/packages/errors) +- [tslib](https://github.com/thi-ng/umbrella/tree/develop/packages/undefined) ## API diff --git a/packages/router/README.md b/packages/router/README.md index 451b59861c..8cad8a46ae 100644 --- a/packages/router/README.md +++ b/packages/router/README.md @@ -1,6 +1,6 @@ -# ![@thi.ng/router](https://media.thi.ng/umbrella/banners/thing-router.svg?1583078711) +# ![@thi.ng/router](https://media.thi.ng/umbrella/banners/thing-router.svg?1584814368) [![npm version](https://img.shields.io/npm/v/@thi.ng/router.svg)](https://www.npmjs.com/package/@thi.ng/router) ![npm downloads](https://img.shields.io/npm/dm/@thi.ng/router.svg) @@ -45,7 +45,7 @@ Partially based on the Clojure implementation in yarn add @thi.ng/router ``` -Package sizes (gzipped): ESM: 1.7KB / CJS: 1.7KB / UMD: 1.8KB +Package sizes (gzipped): ESM: 1.5KB / CJS: 1.6KB / UMD: 1.6KB ## Dependencies @@ -53,6 +53,7 @@ Package sizes (gzipped): ESM: 1.7KB / CJS: 1.7KB / UMD: 1.8KB - [@thi.ng/checks](https://github.com/thi-ng/umbrella/tree/develop/packages/checks) - [@thi.ng/equiv](https://github.com/thi-ng/umbrella/tree/develop/packages/equiv) - [@thi.ng/errors](https://github.com/thi-ng/umbrella/tree/develop/packages/errors) +- [tslib](https://github.com/thi-ng/umbrella/tree/develop/packages/undefined) ## Usage examples @@ -62,13 +63,9 @@ directory are using this package. A selection: -### router-basics - -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/router-basics.jpg) - -Complete mini SPA app w/ router & async content loading - -[Live demo](https://demo.thi.ng/umbrella/router-basics/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/router-basics) +| Screenshot | Description | Live demo | Source | +| -------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------- | --------------------------------------------------- | -------------------------------------------------------------------------------- | +| | Complete mini SPA app w/ router & async content loading | [Demo](https://demo.thi.ng/umbrella/router-basics/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/router-basics) | ## API diff --git a/packages/rstream-csp/README.md b/packages/rstream-csp/README.md index f22a9a4a12..1a9be92a90 100644 --- a/packages/rstream-csp/README.md +++ b/packages/rstream-csp/README.md @@ -1,6 +1,6 @@ -# ![@thi.ng/rstream-csp](https://media.thi.ng/umbrella/banners/thing-rstream-csp.svg?1582660668) +# ![@thi.ng/rstream-csp](https://media.thi.ng/umbrella/banners/thing-rstream-csp.svg?1584814463) [![npm version](https://img.shields.io/npm/v/@thi.ng/rstream-csp.svg)](https://www.npmjs.com/package/@thi.ng/rstream-csp) ![npm downloads](https://img.shields.io/npm/dm/@thi.ng/rstream-csp.svg) @@ -46,6 +46,7 @@ Package sizes (gzipped): ESM: 0.2KB / CJS: 0.3KB / UMD: 0.4KB - [@thi.ng/csp](https://github.com/thi-ng/umbrella/tree/develop/packages/csp) - [@thi.ng/rstream](https://github.com/thi-ng/umbrella/tree/develop/packages/rstream) +- [tslib](https://github.com/thi-ng/umbrella/tree/develop/packages/undefined) ## API diff --git a/packages/rstream-dot/README.md b/packages/rstream-dot/README.md index fdcedc4b2d..ae3fe5bedb 100644 --- a/packages/rstream-dot/README.md +++ b/packages/rstream-dot/README.md @@ -1,6 +1,6 @@ -# ![@thi.ng/rstream-dot](https://media.thi.ng/umbrella/banners/thing-rstream-dot.svg?1582660668) +# ![@thi.ng/rstream-dot](https://media.thi.ng/umbrella/banners/thing-rstream-dot.svg?1584814463) [![npm version](https://img.shields.io/npm/v/@thi.ng/rstream-dot.svg)](https://www.npmjs.com/package/@thi.ng/rstream-dot) ![npm downloads](https://img.shields.io/npm/dm/@thi.ng/rstream-dot.svg) @@ -41,6 +41,7 @@ Package sizes (gzipped): ESM: 0.8KB / CJS: 0.8KB / UMD: 0.9KB ## Dependencies - [@thi.ng/rstream](https://github.com/thi-ng/umbrella/tree/develop/packages/rstream) +- [tslib](https://github.com/thi-ng/umbrella/tree/develop/packages/undefined) ## API diff --git a/packages/rstream-gestures/README.md b/packages/rstream-gestures/README.md index 98d5d2c7fd..6e5b0fdce6 100644 --- a/packages/rstream-gestures/README.md +++ b/packages/rstream-gestures/README.md @@ -1,6 +1,6 @@ -# ![@thi.ng/rstream-gestures](https://media.thi.ng/umbrella/banners/thing-rstream-gestures.svg?1583078720) +# ![@thi.ng/rstream-gestures](https://media.thi.ng/umbrella/banners/thing-rstream-gestures.svg?1584814463) [![npm version](https://img.shields.io/npm/v/@thi.ng/rstream-gestures.svg)](https://www.npmjs.com/package/@thi.ng/rstream-gestures) ![npm downloads](https://img.shields.io/npm/dm/@thi.ng/rstream-gestures.svg) @@ -53,6 +53,7 @@ Package sizes (gzipped): ESM: 1.2KB / CJS: 1.2KB / UMD: 1.3KB - [@thi.ng/math](https://github.com/thi-ng/umbrella/tree/develop/packages/math) - [@thi.ng/rstream](https://github.com/thi-ng/umbrella/tree/develop/packages/rstream) - [@thi.ng/transducers](https://github.com/thi-ng/umbrella/tree/develop/packages/transducers) +- [tslib](https://github.com/thi-ng/umbrella/tree/develop/packages/undefined) ## Usage examples @@ -62,59 +63,15 @@ directory are using this package. A selection: -### canvas-dial - -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/canvas-dial.png) - -Canvas based dial widget - -[Live demo](https://demo.thi.ng/umbrella/canvas-dial/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/canvas-dial) - -### geom-knn - -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/geom-knn.jpg) - -Doodle w/ K-nearest neighbor search result visualization - -[Live demo](https://demo.thi.ng/umbrella/geom-knn/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/geom-knn) - -### gesture-analysis - -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/gesture-analysis.png) - -Mouse gesture / stroke analysis, simplification, corner detection - -[Live demo](https://demo.thi.ng/umbrella/gesture-analysis/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/gesture-analysis) - -### hdom-canvas-draw - -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/hdom-canvas-draw.jpg) - -Interactive pattern drawing demo using transducers - -[Live demo](https://demo.thi.ng/umbrella/hdom-canvas-draw/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/hdom-canvas-draw) - -### imgui - -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/imgui/imgui-all.png) - -Canvas based Immediate Mode GUI components - -[Live demo](https://demo.thi.ng/umbrella/imgui/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/imgui) - -### mandelbrot - -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/mandelbrot.jpg) - -Worker based, interactive Mandelbrot visualization - -[Live demo](https://demo.thi.ng/umbrella/mandelbrot/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/mandelbrot) - -### multitouch - -Basic rstream-gestures multi-touch demo - -[Live demo](https://demo.thi.ng/umbrella/multitouch/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/multitouch) +| Screenshot | Description | Live demo | Source | +| ----------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------- | ------------------------------------------------------ | ----------------------------------------------------------------------------------- | +| | Canvas based dial widget | [Demo](https://demo.thi.ng/umbrella/canvas-dial/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/canvas-dial) | +| | Doodle w/ K-nearest neighbor search result visualization | [Demo](https://demo.thi.ng/umbrella/geom-knn/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/geom-knn) | +| | Mouse gesture / stroke analysis, simplification, corner detection | [Demo](https://demo.thi.ng/umbrella/gesture-analysis/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/gesture-analysis) | +| | Interactive pattern drawing demo using transducers | [Demo](https://demo.thi.ng/umbrella/hdom-canvas-draw/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/hdom-canvas-draw) | +| | Canvas based Immediate Mode GUI components | [Demo](https://demo.thi.ng/umbrella/imgui/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/imgui) | +| | Worker based, interactive Mandelbrot visualization | [Demo](https://demo.thi.ng/umbrella/mandelbrot/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/mandelbrot) | +| | Basic rstream-gestures multi-touch demo | [Demo](https://demo.thi.ng/umbrella/multitouch/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/multitouch) | ## API @@ -208,12 +165,12 @@ gestures.subscribe( ### Maintainer -- Karsten Schmidt ([@postspectacular](https://github.com/postspectacular)) +- Karsten Schmidt ([@postspectacular](https://github.com//postspectacular)) ### Contributors -- Arthur Carabott ([@acarabott](https://github.com/acarabott)) -- Matei Adriel ([@Mateiadrielrafael](https://github.com/Mateiadrielrafael)) +- Arthur Carabott ([@acarabott](https://github.com//acarabott)) +- Matei Adriel ([@Mateiadrielrafael](https://github.com//Mateiadrielrafael)) ## License diff --git a/packages/rstream-graph/README.md b/packages/rstream-graph/README.md index f17ca232e0..8fa2cb3792 100644 --- a/packages/rstream-graph/README.md +++ b/packages/rstream-graph/README.md @@ -1,6 +1,6 @@ -# ![@thi.ng/rstream-graph](https://media.thi.ng/umbrella/banners/thing-rstream-graph.svg?1583078721) +# ![@thi.ng/rstream-graph](https://media.thi.ng/umbrella/banners/thing-rstream-graph.svg?1584814473) [![npm version](https://img.shields.io/npm/v/@thi.ng/rstream-graph.svg)](https://www.npmjs.com/package/@thi.ng/rstream-graph) ![npm downloads](https://img.shields.io/npm/dm/@thi.ng/rstream-graph.svg) @@ -57,6 +57,7 @@ Package sizes (gzipped): ESM: 1.0KB / CJS: 1.1KB / UMD: 1.1KB - [@thi.ng/resolve-map](https://github.com/thi-ng/umbrella/tree/develop/packages/resolve-map) - [@thi.ng/rstream](https://github.com/thi-ng/umbrella/tree/develop/packages/rstream) - [@thi.ng/transducers](https://github.com/thi-ng/umbrella/tree/develop/packages/transducers) +- [tslib](https://github.com/thi-ng/umbrella/tree/develop/packages/undefined) ## Usage examples @@ -66,27 +67,11 @@ directory are using this package. A selection: -### rstream-dataflow - -Minimal rstream dataflow graph - -[Live demo](https://demo.thi.ng/umbrella/rstream-dataflow/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/rstream-dataflow) - -### rstream-grid - -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/rstream-grid.jpg) - -Interactive grid generator, SVG generation & export, undo/redo support - -[Live demo](https://demo.thi.ng/umbrella/rstream-grid/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/rstream-grid) - -### rstream-spreadsheet - -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/rstream-spreadsheet.png) - -rstream based spreadsheet w/ S-expression formula DSL - -[Live demo](https://demo.thi.ng/umbrella/rstream-spreadsheet/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/rstream-spreadsheet) +| Screenshot | Description | Live demo | Source | +| -------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------- | --------------------------------------------------------- | -------------------------------------------------------------------------------------- | +| | Minimal rstream dataflow graph | [Demo](https://demo.thi.ng/umbrella/rstream-dataflow/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/rstream-dataflow) | +| | Interactive grid generator, SVG generation & export, undo/redo support | [Demo](https://demo.thi.ng/umbrella/rstream-grid/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/rstream-grid) | +| | rstream based spreadsheet w/ S-expression formula DSL | [Demo](https://demo.thi.ng/umbrella/rstream-spreadsheet/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/rstream-spreadsheet) | ## API diff --git a/packages/rstream-log-file/README.md b/packages/rstream-log-file/README.md index 3c94a9a8eb..6abfc3552b 100644 --- a/packages/rstream-log-file/README.md +++ b/packages/rstream-log-file/README.md @@ -1,6 +1,6 @@ -# ![@thi.ng/rstream-log-file](https://media.thi.ng/umbrella/banners/thing-rstream-log-file.svg?1582660668) +# ![@thi.ng/rstream-log-file](https://media.thi.ng/umbrella/banners/thing-rstream-log-file.svg?1584814474) [![npm version](https://img.shields.io/npm/v/@thi.ng/rstream-log-file.svg)](https://www.npmjs.com/package/@thi.ng/rstream-log-file) ![npm downloads](https://img.shields.io/npm/dm/@thi.ng/rstream-log-file.svg) @@ -36,6 +36,7 @@ Package sizes (gzipped): ESM: 0.1KB / CJS: 0.2KB / UMD: 0.3KB ## Dependencies - [@thi.ng/rstream](https://github.com/thi-ng/umbrella/tree/develop/packages/rstream) +- [tslib](https://github.com/thi-ng/umbrella/tree/develop/packages/undefined) ## API diff --git a/packages/rstream-log/README.md b/packages/rstream-log/README.md index 09d3abac68..66d438d121 100644 --- a/packages/rstream-log/README.md +++ b/packages/rstream-log/README.md @@ -1,6 +1,6 @@ -# ![@thi.ng/rstream-log](https://media.thi.ng/umbrella/banners/thing-rstream-log.svg?1582660668) +# ![@thi.ng/rstream-log](https://media.thi.ng/umbrella/banners/thing-rstream-log.svg?1584814475) [![npm version](https://img.shields.io/npm/v/@thi.ng/rstream-log.svg)](https://www.npmjs.com/package/@thi.ng/rstream-log) ![npm downloads](https://img.shields.io/npm/dm/@thi.ng/rstream-log.svg) @@ -55,6 +55,7 @@ Package sizes (gzipped): ESM: 0.7KB / CJS: 0.8KB / UMD: 0.9KB - [@thi.ng/errors](https://github.com/thi-ng/umbrella/tree/develop/packages/errors) - [@thi.ng/rstream](https://github.com/thi-ng/umbrella/tree/develop/packages/rstream) - [@thi.ng/transducers](https://github.com/thi-ng/umbrella/tree/develop/packages/transducers) +- [tslib](https://github.com/thi-ng/umbrella/tree/develop/packages/undefined) ## API diff --git a/packages/rstream-query/README.md b/packages/rstream-query/README.md index 57c9d4b2d0..b97cb60cb7 100644 --- a/packages/rstream-query/README.md +++ b/packages/rstream-query/README.md @@ -1,6 +1,6 @@ -# ![@thi.ng/rstream-query](https://media.thi.ng/umbrella/banners/thing-rstream-query.svg?1583078722) +# ![@thi.ng/rstream-query](https://media.thi.ng/umbrella/banners/thing-rstream-query.svg?1584814489) [![npm version](https://img.shields.io/npm/v/@thi.ng/rstream-query.svg)](https://www.npmjs.com/package/@thi.ng/rstream-query) ![npm downloads](https://img.shields.io/npm/dm/@thi.ng/rstream-query.svg) @@ -79,6 +79,7 @@ Package sizes (gzipped): ESM: 2.6KB / CJS: 2.7KB / UMD: 2.6KB - [@thi.ng/rstream](https://github.com/thi-ng/umbrella/tree/develop/packages/rstream) - [@thi.ng/rstream-dot](https://github.com/thi-ng/umbrella/tree/develop/packages/rstream-dot) - [@thi.ng/transducers](https://github.com/thi-ng/umbrella/tree/develop/packages/transducers) +- [tslib](https://github.com/thi-ng/umbrella/tree/develop/packages/undefined) ## Usage examples @@ -88,13 +89,9 @@ directory are using this package. A selection: -### triple-query - -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/triple-query.png) - -Triple store query results & sortable table - -[Live demo](https://demo.thi.ng/umbrella/triple-query/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/triple-query) +| Screenshot | Description | Live demo | Source | +| ------------------------------------------------------------------------------------------------------------------- | ------------------------------------------- | -------------------------------------------------- | ------------------------------------------------------------------------------- | +| | Triple store query results & sortable table | [Demo](https://demo.thi.ng/umbrella/triple-query/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/triple-query) | ## API diff --git a/packages/rstream/README.md b/packages/rstream/README.md index 42c242bea1..d07d73e279 100644 --- a/packages/rstream/README.md +++ b/packages/rstream/README.md @@ -1,6 +1,6 @@ -# ![@thi.ng/rstream](https://media.thi.ng/umbrella/banners/thing-rstream.svg?1583078719) +# ![@thi.ng/rstream](https://media.thi.ng/umbrella/banners/thing-rstream.svg?1584814438) [![npm version](https://img.shields.io/npm/v/@thi.ng/rstream.svg)](https://www.npmjs.com/package/@thi.ng/rstream) ![npm downloads](https://img.shields.io/npm/dm/@thi.ng/rstream.svg) @@ -27,14 +27,14 @@ This project is part of the - [Other stream creation helpers](#other-stream-creation-helpers) - [Meta streams](#meta-streams) - [Stream merging](#stream-merging) - - [Unordered merge from multiple inputs (dynamic add/remove)](#unordered-merge-from-multiple-inputs-dynamic-addremove) + - [Unordered merge from multiple inputs (dynamic add/remove)](#unordered-merge-from-multiple-inputs-dynamic-add-remove) - [Synchronized merge and labeled tuple objects](#synchronized-merge-and-labeled-tuple-objects) - [Stream splitting](#stream-splitting) - [Topic based splitting](#topic-based-splitting) - [Splitting via predicate](#splitting-via-predicate) - [Side-chaining](#side-chaining) - - [Input chunking / buffering, controlled by sidechain](#input-chunking--buffering-controlled-by-sidechain) - - [Input toggling, controlled by sidechain](#input-toggling-controlled-by-sidechain) + - [Input chunking / buffering, controlled by sidechain](#input-chunking---buffering--controlled-by-sidechain) + - [Input toggling, controlled by sidechain](#input-toggling--controlled-by-sidechain) - [Worker support](#worker-support) - [Parallel stream processing via workers](#parallel-stream-processing-via-workers) - [Stream processing via workers](#stream-processing-via-workers) @@ -139,6 +139,7 @@ Package sizes (gzipped): ESM: 5.0KB / CJS: 5.2KB / UMD: 5.1KB - [@thi.ng/errors](https://github.com/thi-ng/umbrella/tree/develop/packages/errors) - [@thi.ng/paths](https://github.com/thi-ng/umbrella/tree/develop/packages/paths) - [@thi.ng/transducers](https://github.com/thi-ng/umbrella/tree/develop/packages/transducers) +- [tslib](https://github.com/thi-ng/umbrella/tree/develop/packages/undefined) ## Usage examples @@ -148,115 +149,22 @@ directory are using this package. A selection: -### adaptive-threshold - -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/adaptive-threshold.png) - -Interactive image processing (adaptive threshold) - -[Live demo](https://demo.thi.ng/umbrella/adaptive-threshold/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/adaptive-threshold) - -### bitmap-font - -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/bitmap-font.gif) - -Figlet-style bitmap font creation with transducers - -[Live demo](https://demo.thi.ng/umbrella/bitmap-font/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/bitmap-font) - -### crypto-chart - -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/crypto-chart.png) - -Basic crypto-currency candle chart with multiple moving averages plots - -[Live demo](https://demo.thi.ng/umbrella/crypto-chart/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/crypto-chart) - -### hdom-canvas-draw - -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/hdom-canvas-draw.jpg) - -Interactive pattern drawing demo using transducers - -[Live demo](https://demo.thi.ng/umbrella/hdom-canvas-draw/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/hdom-canvas-draw) - -### imgui - -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/imgui/imgui-all.png) - -Canvas based Immediate Mode GUI components - -[Live demo](https://demo.thi.ng/umbrella/imgui/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/imgui) - -### mandelbrot - -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/mandelbrot.jpg) - -Worker based, interactive Mandelbrot visualization - -[Live demo](https://demo.thi.ng/umbrella/mandelbrot/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/mandelbrot) - -### markdown - -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/markdown-parser.jpg) - -Minimal Markdown to Hiccup to HTML parser / transformer - -[Live demo](https://demo.thi.ng/umbrella/markdown/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/markdown) - -### rotating-voronoi - -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/rotating-voronoi.jpg) - -Animated Voronoi diagram, cubic splines & SVG download - -[Live demo](https://demo.thi.ng/umbrella/rotating-voronoi/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/rotating-voronoi) - -### rstream-event-loop - -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/rstream-event-loop.png) - -Minimal demo of using rstream constructs to form an interceptor-style event loop - -[Live demo](https://demo.thi.ng/umbrella/rstream-event-loop/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/rstream-event-loop) - -### rstream-grid - -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/rstream-grid.jpg) - -Interactive grid generator, SVG generation & export, undo/redo support - -[Live demo](https://demo.thi.ng/umbrella/rstream-grid/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/rstream-grid) - -### rstream-spreadsheet - -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/rstream-spreadsheet.png) - -rstream based spreadsheet w/ S-expression formula DSL - -[Live demo](https://demo.thi.ng/umbrella/rstream-spreadsheet/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/rstream-spreadsheet) - -### shader-ast-workers - -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/shader-ast-workers.jpg) - -Fork-join worker-based raymarch renderer - -[Live demo](https://demo.thi.ng/umbrella/shader-ast-workers/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/shader-ast-workers) - -### talk-slides - -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/talk-slides.png) - -hdom based slide deck viewer & slides from my ClojureX 2018 keynote - -[Live demo](https://demo.thi.ng/umbrella/talk-slides/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/talk-slides) - -### transducers-hdom - -Transducer & rstream based hdom UI updates - -[Live demo](https://demo.thi.ng/umbrella/transducers-hdom/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/transducers-hdom) +| Screenshot | Description | Live demo | Source | +| -------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- | --------------------------------------------------------- | -------------------------------------------------------------------------------------- | +| | Interactive image processing (adaptive threshold) | [Demo](https://demo.thi.ng/umbrella/adaptive-threshold/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/adaptive-threshold) | +| | Figlet-style bitmap font creation with transducers | [Demo](https://demo.thi.ng/umbrella/bitmap-font/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/bitmap-font) | +| | Basic crypto-currency candle chart with multiple moving averages plots | [Demo](https://demo.thi.ng/umbrella/crypto-chart/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/crypto-chart) | +| | Interactive pattern drawing demo using transducers | [Demo](https://demo.thi.ng/umbrella/hdom-canvas-draw/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/hdom-canvas-draw) | +| | Canvas based Immediate Mode GUI components | [Demo](https://demo.thi.ng/umbrella/imgui/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/imgui) | +| | Worker based, interactive Mandelbrot visualization | [Demo](https://demo.thi.ng/umbrella/mandelbrot/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/mandelbrot) | +| | Minimal Markdown to Hiccup to HTML parser / transformer | [Demo](https://demo.thi.ng/umbrella/markdown/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/markdown) | +| | Animated Voronoi diagram, cubic splines & SVG download | [Demo](https://demo.thi.ng/umbrella/rotating-voronoi/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/rotating-voronoi) | +| | Minimal demo of using rstream constructs to form an interceptor-style event loop | [Demo](https://demo.thi.ng/umbrella/rstream-event-loop/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/rstream-event-loop) | +| | Interactive grid generator, SVG generation & export, undo/redo support | [Demo](https://demo.thi.ng/umbrella/rstream-grid/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/rstream-grid) | +| | rstream based spreadsheet w/ S-expression formula DSL | [Demo](https://demo.thi.ng/umbrella/rstream-spreadsheet/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/rstream-spreadsheet) | +| | Fork-join worker-based raymarch renderer | [Demo](https://demo.thi.ng/umbrella/shader-ast-workers/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/shader-ast-workers) | +| | hdom based slide deck viewer & slides from my ClojureX 2018 keynote | [Demo](https://demo.thi.ng/umbrella/talk-slides/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/talk-slides) | +| | Transducer & rstream based hdom UI updates | [Demo](https://demo.thi.ng/umbrella/transducers-hdom/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/transducers-hdom) | ## API @@ -828,12 +736,12 @@ Create value stream from worker messages. ### Maintainer -- Karsten Schmidt ([@postspectacular](https://github.com/postspectacular)) +- Karsten Schmidt ([@postspectacular](https://github.com//postspectacular)) ### Contributors -- André Wachter ([@andrew8er](https://github.com/andrew8er)) -- Gavin Cannizzaro ([@gavinpc-mindgrub](https://github.com/gavinpc-mindgrub)) +- André Wachter ([@andrew8er](https://github.com//andrew8er)) +- Gavin Cannizzaro ([@gavinpc-mindgrub](https://github.com//gavinpc-mindgrub)) ## License diff --git a/packages/sax/README.md b/packages/sax/README.md index 29e3de20c5..0ae8420310 100644 --- a/packages/sax/README.md +++ b/packages/sax/README.md @@ -1,6 +1,6 @@ -# ![@thi.ng/sax](https://media.thi.ng/umbrella/banners/thing-sax.svg?1583078719) +# ![@thi.ng/sax](https://media.thi.ng/umbrella/banners/thing-sax.svg?1584814437) [![npm version](https://img.shields.io/npm/v/@thi.ng/sax.svg)](https://www.npmjs.com/package/@thi.ng/sax) ![npm downloads](https://img.shields.io/npm/dm/@thi.ng/sax.svg) @@ -67,6 +67,7 @@ Package sizes (gzipped): ESM: 1.9KB / CJS: 2.0KB / UMD: 2.1KB - [@thi.ng/api](https://github.com/thi-ng/umbrella/tree/develop/packages/api) - [@thi.ng/transducers](https://github.com/thi-ng/umbrella/tree/develop/packages/transducers) - [@thi.ng/transducers-fsm](https://github.com/thi-ng/umbrella/tree/develop/packages/transducers-fsm) +- [tslib](https://github.com/thi-ng/umbrella/tree/develop/packages/undefined) ## Usage examples @@ -76,13 +77,9 @@ directory are using this package. A selection: -### xml-converter - -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/xml-converter.png) - -XML/HTML/SVG to hiccup/JS conversion - -[Live demo](https://demo.thi.ng/umbrella/xml-converter/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/xml-converter) +| Screenshot | Description | Live demo | Source | +| -------------------------------------------------------------------------------------------------------------------- | ------------------------------------ | --------------------------------------------------- | -------------------------------------------------------------------------------- | +| | XML/HTML/SVG to hiccup/JS conversion | [Demo](https://demo.thi.ng/umbrella/xml-converter/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/xml-converter) | ## API diff --git a/packages/scenegraph/README.md b/packages/scenegraph/README.md index 0cf5ccf559..15129c0c77 100644 --- a/packages/scenegraph/README.md +++ b/packages/scenegraph/README.md @@ -1,6 +1,6 @@ -# ![@thi.ng/scenegraph](https://media.thi.ng/umbrella/banners/thing-scenegraph.svg?1583078721) +# ![@thi.ng/scenegraph](https://media.thi.ng/umbrella/banners/thing-scenegraph.svg?1584814488) [![npm version](https://img.shields.io/npm/v/@thi.ng/scenegraph.svg)](https://www.npmjs.com/package/@thi.ng/scenegraph) ![npm downloads](https://img.shields.io/npm/dm/@thi.ng/scenegraph.svg) @@ -40,6 +40,7 @@ Package sizes (gzipped): ESM: 0.8KB / CJS: 0.8KB / UMD: 0.9KB - [@thi.ng/checks](https://github.com/thi-ng/umbrella/tree/develop/packages/checks) - [@thi.ng/matrices](https://github.com/thi-ng/umbrella/tree/develop/packages/matrices) - [@thi.ng/vectors](https://github.com/thi-ng/umbrella/tree/develop/packages/vectors) +- [tslib](https://github.com/thi-ng/umbrella/tree/develop/packages/undefined) ## Usage examples @@ -49,21 +50,10 @@ directory are using this package. A selection: -### scenegraph - -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/scenegraph.png) - -2D scenegraph & shape picking - -[Live demo](https://demo.thi.ng/umbrella/scenegraph/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/scenegraph) - -### scenegraph-image - -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/scenegraph-image.png) - -2D scenegraph & image map based geometry manipulation - -[Live demo](https://demo.thi.ng/umbrella/scenegraph-image/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/scenegraph-image) +| Screenshot | Description | Live demo | Source | +| ----------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------- | ------------------------------------------------------ | ----------------------------------------------------------------------------------- | +| | 2D scenegraph & shape picking | [Demo](https://demo.thi.ng/umbrella/scenegraph/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/scenegraph) | +| | 2D scenegraph & image map based geometry manipulation | [Demo](https://demo.thi.ng/umbrella/scenegraph-image/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/scenegraph-image) | ## API diff --git a/packages/seq/README.md b/packages/seq/README.md index ff0e9dac98..a120ef30bc 100644 --- a/packages/seq/README.md +++ b/packages/seq/README.md @@ -1,6 +1,6 @@ -# ![@thi.ng/seq](https://media.thi.ng/umbrella/banners/thing-seq.svg?1582660657) +# ![@thi.ng/seq](https://media.thi.ng/umbrella/banners/thing-seq.svg?1584814357) [![npm version](https://img.shields.io/npm/v/@thi.ng/seq.svg)](https://www.npmjs.com/package/@thi.ng/seq) ![npm downloads](https://img.shields.io/npm/dm/@thi.ng/seq.svg) @@ -50,6 +50,7 @@ Package sizes (gzipped): ESM: 0.5KB / CJS: 0.6KB / UMD: 0.7KB - [@thi.ng/api](https://github.com/thi-ng/umbrella/tree/develop/packages/api) - [@thi.ng/checks](https://github.com/thi-ng/umbrella/tree/develop/packages/checks) +- [tslib](https://github.com/thi-ng/umbrella/tree/develop/packages/undefined) ## API diff --git a/packages/sexpr/README.md b/packages/sexpr/README.md index 9c7f5519de..db1235f407 100644 --- a/packages/sexpr/README.md +++ b/packages/sexpr/README.md @@ -1,6 +1,6 @@ -# ![@thi.ng/sexpr](https://media.thi.ng/umbrella/banners/thing-sexpr.svg?1583078713) +# ![@thi.ng/sexpr](https://media.thi.ng/umbrella/banners/thing-sexpr.svg?1584814377) [![npm version](https://img.shields.io/npm/v/@thi.ng/sexpr.svg)](https://www.npmjs.com/package/@thi.ng/sexpr) ![npm downloads](https://img.shields.io/npm/dm/@thi.ng/sexpr.svg) @@ -55,6 +55,7 @@ Package sizes (gzipped): ESM: 0.8KB / CJS: 0.9KB / UMD: 1.0KB - [@thi.ng/api](https://github.com/thi-ng/umbrella/tree/develop/packages/api) - [@thi.ng/checks](https://github.com/thi-ng/umbrella/tree/develop/packages/checks) - [@thi.ng/defmulti](https://github.com/thi-ng/umbrella/tree/develop/packages/defmulti) +- [tslib](https://github.com/thi-ng/umbrella/tree/develop/packages/undefined) ## Usage examples @@ -64,13 +65,9 @@ directory are using this package. A selection: -### rstream-spreadsheet - -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/rstream-spreadsheet.png) - -rstream based spreadsheet w/ S-expression formula DSL - -[Live demo](https://demo.thi.ng/umbrella/rstream-spreadsheet/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/rstream-spreadsheet) +| Screenshot | Description | Live demo | Source | +| -------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------- | --------------------------------------------------------- | -------------------------------------------------------------------------------------- | +| | rstream based spreadsheet w/ S-expression formula DSL | [Demo](https://demo.thi.ng/umbrella/rstream-spreadsheet/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/rstream-spreadsheet) | ## API diff --git a/packages/shader-ast-glsl/README.md b/packages/shader-ast-glsl/README.md index 75cf9aad21..1d32de9192 100644 --- a/packages/shader-ast-glsl/README.md +++ b/packages/shader-ast-glsl/README.md @@ -1,6 +1,6 @@ -# ![@thi.ng/shader-ast-glsl](https://media.thi.ng/umbrella/banners/thing-shader-ast-glsl.svg?1583078722) +# ![@thi.ng/shader-ast-glsl](https://media.thi.ng/umbrella/banners/thing-shader-ast-glsl.svg?1584814487) [![npm version](https://img.shields.io/npm/v/@thi.ng/shader-ast-glsl.svg)](https://www.npmjs.com/package/@thi.ng/shader-ast-glsl) ![npm downloads](https://img.shields.io/npm/dm/@thi.ng/shader-ast-glsl.svg) @@ -53,6 +53,7 @@ Package sizes (gzipped): ESM: 1.3KB / CJS: 1.3KB / UMD: 1.4KB - [@thi.ng/checks](https://github.com/thi-ng/umbrella/tree/develop/packages/checks) - [@thi.ng/errors](https://github.com/thi-ng/umbrella/tree/develop/packages/errors) - [@thi.ng/shader-ast](https://github.com/thi-ng/umbrella/tree/develop/packages/shader-ast) +- [tslib](https://github.com/thi-ng/umbrella/tree/develop/packages/undefined) ## Usage examples @@ -62,53 +63,14 @@ directory are using this package. A selection: -### shader-ast-canvas2d - -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/shader-ast/shader-ast-01.jpg) - -2D canvas shader emulation - -[Live demo](https://demo.thi.ng/umbrella/shader-ast-canvas2d/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/shader-ast-canvas2d) - -### shader-ast-noise - -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/shader-ast-noise.jpg) - -HOF shader procedural noise function composition - -[Live demo](https://demo.thi.ng/umbrella/shader-ast-noise/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/shader-ast-noise) - -### shader-ast-raymarch - -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/shader-ast/shader-ast-raymarch.jpg) - -WebGL & JS canvas2D raymarch shader cross-compilation - -[Live demo](https://demo.thi.ng/umbrella/shader-ast-raymarch/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/shader-ast-raymarch) - -### shader-ast-sdf2d - -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/shader-ast-sdf2d.jpg) - -WebGL & JS canvas 2D SDF - -[Live demo](https://demo.thi.ng/umbrella/shader-ast-sdf2d/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/shader-ast-sdf2d) - -### shader-ast-tunnel - -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/shader-ast-tunnel.jpg) - -WebGL & Canvas2D textured tunnel shader - -[Live demo](https://demo.thi.ng/umbrella/shader-ast-tunnel/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/shader-ast-tunnel) - -### soa-ecs - -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/soa-ecs-100k.png) - -Entity Component System w/ 100k 3D particles - -[Live demo](https://demo.thi.ng/umbrella/soa-ecs/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/soa-ecs) +| Screenshot | Description | Live demo | Source | +| ---------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------- | --------------------------------------------------------- | -------------------------------------------------------------------------------------- | +| | 2D canvas shader emulation | [Demo](https://demo.thi.ng/umbrella/shader-ast-canvas2d/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/shader-ast-canvas2d) | +| | HOF shader procedural noise function composition | [Demo](https://demo.thi.ng/umbrella/shader-ast-noise/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/shader-ast-noise) | +| | WebGL & JS canvas2D raymarch shader cross-compilation | [Demo](https://demo.thi.ng/umbrella/shader-ast-raymarch/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/shader-ast-raymarch) | +| | WebGL & JS canvas 2D SDF | [Demo](https://demo.thi.ng/umbrella/shader-ast-sdf2d/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/shader-ast-sdf2d) | +| | WebGL & Canvas2D textured tunnel shader | [Demo](https://demo.thi.ng/umbrella/shader-ast-tunnel/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/shader-ast-tunnel) | +| | Entity Component System w/ 100k 3D particles | [Demo](https://demo.thi.ng/umbrella/soa-ecs/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/soa-ecs) | ## API diff --git a/packages/shader-ast-js/README.md b/packages/shader-ast-js/README.md index 5f3277223b..8e39caa6ae 100644 --- a/packages/shader-ast-js/README.md +++ b/packages/shader-ast-js/README.md @@ -1,6 +1,6 @@ -# ![@thi.ng/shader-ast-js](https://media.thi.ng/umbrella/banners/thing-shader-ast-js.svg?1583078722) +# ![@thi.ng/shader-ast-js](https://media.thi.ng/umbrella/banners/thing-shader-ast-js.svg?1584814488) [![npm version](https://img.shields.io/npm/v/@thi.ng/shader-ast-js.svg)](https://www.npmjs.com/package/@thi.ng/shader-ast-js) ![npm downloads](https://img.shields.io/npm/dm/@thi.ng/shader-ast-js.svg) @@ -71,6 +71,7 @@ Package sizes (gzipped): ESM: 4.9KB / CJS: 4.4KB / UMD: 4.4KB - [@thi.ng/pixel](https://github.com/thi-ng/umbrella/tree/develop/packages/pixel) - [@thi.ng/shader-ast](https://github.com/thi-ng/umbrella/tree/develop/packages/shader-ast) - [@thi.ng/vectors](https://github.com/thi-ng/umbrella/tree/develop/packages/vectors) +- [tslib](https://github.com/thi-ng/umbrella/tree/develop/packages/undefined) ## Usage examples @@ -80,53 +81,14 @@ directory are using this package. A selection: -### shader-ast-canvas2d - -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/shader-ast/shader-ast-01.jpg) - -2D canvas shader emulation - -[Live demo](https://demo.thi.ng/umbrella/shader-ast-canvas2d/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/shader-ast-canvas2d) - -### shader-ast-noise - -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/shader-ast-noise.jpg) - -HOF shader procedural noise function composition - -[Live demo](https://demo.thi.ng/umbrella/shader-ast-noise/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/shader-ast-noise) - -### shader-ast-raymarch - -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/shader-ast/shader-ast-raymarch.jpg) - -WebGL & JS canvas2D raymarch shader cross-compilation - -[Live demo](https://demo.thi.ng/umbrella/shader-ast-raymarch/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/shader-ast-raymarch) - -### shader-ast-sdf2d - -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/shader-ast-sdf2d.jpg) - -WebGL & JS canvas 2D SDF - -[Live demo](https://demo.thi.ng/umbrella/shader-ast-sdf2d/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/shader-ast-sdf2d) - -### shader-ast-tunnel - -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/shader-ast-tunnel.jpg) - -WebGL & Canvas2D textured tunnel shader - -[Live demo](https://demo.thi.ng/umbrella/shader-ast-tunnel/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/shader-ast-tunnel) - -### shader-ast-workers - -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/shader-ast-workers.jpg) - -Fork-join worker-based raymarch renderer - -[Live demo](https://demo.thi.ng/umbrella/shader-ast-workers/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/shader-ast-workers) +| Screenshot | Description | Live demo | Source | +| ---------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------- | --------------------------------------------------------- | -------------------------------------------------------------------------------------- | +| | 2D canvas shader emulation | [Demo](https://demo.thi.ng/umbrella/shader-ast-canvas2d/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/shader-ast-canvas2d) | +| | HOF shader procedural noise function composition | [Demo](https://demo.thi.ng/umbrella/shader-ast-noise/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/shader-ast-noise) | +| | WebGL & JS canvas2D raymarch shader cross-compilation | [Demo](https://demo.thi.ng/umbrella/shader-ast-raymarch/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/shader-ast-raymarch) | +| | WebGL & JS canvas 2D SDF | [Demo](https://demo.thi.ng/umbrella/shader-ast-sdf2d/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/shader-ast-sdf2d) | +| | WebGL & Canvas2D textured tunnel shader | [Demo](https://demo.thi.ng/umbrella/shader-ast-tunnel/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/shader-ast-tunnel) | +| | Fork-join worker-based raymarch renderer | [Demo](https://demo.thi.ng/umbrella/shader-ast-workers/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/shader-ast-workers) | ## API diff --git a/packages/shader-ast-stdlib/README.md b/packages/shader-ast-stdlib/README.md index 2d9a287a7b..7b14683cb7 100644 --- a/packages/shader-ast-stdlib/README.md +++ b/packages/shader-ast-stdlib/README.md @@ -1,6 +1,6 @@ -# ![@thi.ng/shader-ast-stdlib](https://media.thi.ng/umbrella/banners/thing-shader-ast-stdlib.svg?1583078722) +# ![@thi.ng/shader-ast-stdlib](https://media.thi.ng/umbrella/banners/thing-shader-ast-stdlib.svg?1584814488) [![npm version](https://img.shields.io/npm/v/@thi.ng/shader-ast-stdlib.svg)](https://www.npmjs.com/package/@thi.ng/shader-ast-stdlib) ![npm downloads](https://img.shields.io/npm/dm/@thi.ng/shader-ast-stdlib.svg) @@ -27,7 +27,7 @@ This project is part of the - [Lighting](#lighting) - [Math](#math) - [Matrix operations](#matrix-operations) - - [Noise / randomness](#noise--randomness) + - [Noise / randomness](#noise---randomness) - [Raymarching](#raymarching) - [Screen coordinates](#screen-coordinates) - [Signed Distance Fields](#signed-distance-fields) @@ -85,6 +85,7 @@ Package sizes (gzipped): ESM: 5.8KB / CJS: 6.5KB / UMD: 6.0KB ## Dependencies - [@thi.ng/shader-ast](https://github.com/thi-ng/umbrella/tree/develop/packages/shader-ast) +- [tslib](https://github.com/thi-ng/umbrella/tree/develop/packages/undefined) ## Usage examples @@ -94,83 +95,18 @@ directory are using this package. A selection: -### shader-ast-canvas2d - -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/shader-ast/shader-ast-01.jpg) - -2D canvas shader emulation - -[Live demo](https://demo.thi.ng/umbrella/shader-ast-canvas2d/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/shader-ast-canvas2d) - -### shader-ast-evo - -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/shader-ast-evo.jpg) - -Evolutionary shader generation using genetic programming - -[Live demo](https://demo.thi.ng/umbrella/shader-ast-evo/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/shader-ast-evo) - -### shader-ast-noise - -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/shader-ast-noise.jpg) - -HOF shader procedural noise function composition - -[Live demo](https://demo.thi.ng/umbrella/shader-ast-noise/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/shader-ast-noise) - -### shader-ast-raymarch - -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/shader-ast/shader-ast-raymarch.jpg) - -WebGL & JS canvas2D raymarch shader cross-compilation - -[Live demo](https://demo.thi.ng/umbrella/shader-ast-raymarch/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/shader-ast-raymarch) - -### shader-ast-sdf2d - -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/shader-ast-sdf2d.jpg) - -WebGL & JS canvas 2D SDF - -[Live demo](https://demo.thi.ng/umbrella/shader-ast-sdf2d/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/shader-ast-sdf2d) - -### shader-ast-tunnel - -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/shader-ast-tunnel.jpg) - -WebGL & Canvas2D textured tunnel shader - -[Live demo](https://demo.thi.ng/umbrella/shader-ast-tunnel/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/shader-ast-tunnel) - -### shader-ast-workers - -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/shader-ast-workers.jpg) - -Fork-join worker-based raymarch renderer - -[Live demo](https://demo.thi.ng/umbrella/shader-ast-workers/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/shader-ast-workers) - -### webgl-multipass - -Minimal multi-pass / GPGPU example - -[Live demo](https://demo.thi.ng/umbrella/webgl-multipass/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/webgl-multipass) - -### webgl-shadertoy - -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/webgl-shadertoy.jpg) - -Shadertoy-like WebGL setup - -[Live demo](https://demo.thi.ng/umbrella/webgl-shadertoy/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/webgl-shadertoy) - -### webgl-ssao - -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/webgl-ssao.jpg) - -WebGL screenspace ambient occlusion - -[Live demo](https://demo.thi.ng/umbrella/webgl-ssao/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/webgl-ssao) +| Screenshot | Description | Live demo | Source | +| ---------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------- | --------------------------------------------------------- | -------------------------------------------------------------------------------------- | +| | 2D canvas shader emulation | [Demo](https://demo.thi.ng/umbrella/shader-ast-canvas2d/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/shader-ast-canvas2d) | +| | Evolutionary shader generation using genetic programming | [Demo](https://demo.thi.ng/umbrella/shader-ast-evo/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/shader-ast-evo) | +| | HOF shader procedural noise function composition | [Demo](https://demo.thi.ng/umbrella/shader-ast-noise/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/shader-ast-noise) | +| | WebGL & JS canvas2D raymarch shader cross-compilation | [Demo](https://demo.thi.ng/umbrella/shader-ast-raymarch/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/shader-ast-raymarch) | +| | WebGL & JS canvas 2D SDF | [Demo](https://demo.thi.ng/umbrella/shader-ast-sdf2d/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/shader-ast-sdf2d) | +| | WebGL & Canvas2D textured tunnel shader | [Demo](https://demo.thi.ng/umbrella/shader-ast-tunnel/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/shader-ast-tunnel) | +| | Fork-join worker-based raymarch renderer | [Demo](https://demo.thi.ng/umbrella/shader-ast-workers/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/shader-ast-workers) | +| | Minimal multi-pass / GPGPU example | [Demo](https://demo.thi.ng/umbrella/webgl-multipass/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/webgl-multipass) | +| | Shadertoy-like WebGL setup | [Demo](https://demo.thi.ng/umbrella/webgl-shadertoy/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/webgl-shadertoy) | +| | WebGL screenspace ambient occlusion | [Demo](https://demo.thi.ng/umbrella/webgl-ssao/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/webgl-ssao) | ## API diff --git a/packages/shader-ast/README.md b/packages/shader-ast/README.md index 7004aea23e..f0c0538cd2 100644 --- a/packages/shader-ast/README.md +++ b/packages/shader-ast/README.md @@ -1,6 +1,6 @@ -# ![@thi.ng/shader-ast](https://media.thi.ng/umbrella/banners/thing-shader-ast.svg?1583078720) +# ![@thi.ng/shader-ast](https://media.thi.ng/umbrella/banners/thing-shader-ast.svg?1584814463) [![npm version](https://img.shields.io/npm/v/@thi.ng/shader-ast.svg)](https://www.npmjs.com/package/@thi.ng/shader-ast) ![npm downloads](https://img.shields.io/npm/dm/@thi.ng/shader-ast.svg) @@ -10,9 +10,9 @@ This project is part of the [@thi.ng/umbrella](https://github.com/thi-ng/umbrella/) monorepo. - [About](#about) - - [Standard library of common, higher level operations](#standard-library-of-common-higher-level-operations) + - [Standard library of common, higher level operations](#standard-library-of-common--higher-level-operations) - [Benefits](#benefits) - - [Prior art / influences](#prior-art--influences) + - [Prior art / influences](#prior-art---influences) - [Future goals](#future-goals) - [Status](#status) - [Support packages](#support-packages) @@ -28,7 +28,7 @@ This project is part of the - [Bitwise](#bitwise) - [Swizzling](#swizzling) - [Array index lookups](#array-index-lookups) - - [Symbol definitions / assignments](#symbol-definitions--assignments) + - [Symbol definitions / assignments](#symbol-definitions---assignments) - [Control flow](#control-flow) - [If-Then-Else](#if-then-else) - [Ternary operator](#ternary-operator) @@ -39,7 +39,7 @@ This project is part of the - [Function arguments](#function-arguments) - [Inline functions](#inline-functions) - [Global scope](#global-scope) - - [Input / output variables / declarations](#input--output-variables--declarations) + - [Input / output variables / declarations](#input---output-variables---declarations) - [Program definition](#program-definition) - [Code generation](#code-generation) - [GLSL (ES)](#glsl-es) @@ -183,6 +183,7 @@ Package sizes (gzipped): ESM: 4.7KB / CJS: 5.2KB / UMD: 4.6KB - [@thi.ng/defmulti](https://github.com/thi-ng/umbrella/tree/develop/packages/defmulti) - [@thi.ng/dgraph](https://github.com/thi-ng/umbrella/tree/develop/packages/dgraph) - [@thi.ng/errors](https://github.com/thi-ng/umbrella/tree/develop/packages/errors) +- [tslib](https://github.com/thi-ng/umbrella/tree/develop/packages/undefined) ## Usage examples @@ -192,115 +193,22 @@ directory are using this package. A selection: -### shader-ast-canvas2d - -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/shader-ast/shader-ast-01.jpg) - -2D canvas shader emulation - -[Live demo](https://demo.thi.ng/umbrella/shader-ast-canvas2d/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/shader-ast-canvas2d) - -### shader-ast-evo - -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/shader-ast-evo.jpg) - -Evolutionary shader generation using genetic programming - -[Live demo](https://demo.thi.ng/umbrella/shader-ast-evo/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/shader-ast-evo) - -### shader-ast-noise - -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/shader-ast-noise.jpg) - -HOF shader procedural noise function composition - -[Live demo](https://demo.thi.ng/umbrella/shader-ast-noise/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/shader-ast-noise) - -### shader-ast-raymarch - -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/shader-ast/shader-ast-raymarch.jpg) - -WebGL & JS canvas2D raymarch shader cross-compilation - -[Live demo](https://demo.thi.ng/umbrella/shader-ast-raymarch/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/shader-ast-raymarch) - -### shader-ast-sdf2d - -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/shader-ast-sdf2d.jpg) - -WebGL & JS canvas 2D SDF - -[Live demo](https://demo.thi.ng/umbrella/shader-ast-sdf2d/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/shader-ast-sdf2d) - -### shader-ast-tunnel - -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/shader-ast-tunnel.jpg) - -WebGL & Canvas2D textured tunnel shader - -[Live demo](https://demo.thi.ng/umbrella/shader-ast-tunnel/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/shader-ast-tunnel) - -### shader-ast-workers - -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/shader-ast-workers.jpg) - -Fork-join worker-based raymarch renderer - -[Live demo](https://demo.thi.ng/umbrella/shader-ast-workers/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/shader-ast-workers) - -### soa-ecs - -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/soa-ecs-100k.png) - -Entity Component System w/ 100k 3D particles - -[Live demo](https://demo.thi.ng/umbrella/soa-ecs/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/soa-ecs) - -### webgl-cubemap - -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/webgl-cubemap.jpg) - -WebGL cube maps with async texture loading - -[Live demo](https://demo.thi.ng/umbrella/webgl-cubemap/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/webgl-cubemap) - -### webgl-grid - -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/webgl-grid.jpg) - -WebGL instancing, animated grid - -[Live demo](https://demo.thi.ng/umbrella/webgl-grid/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/webgl-grid) - -### webgl-msdf - -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/webgl-msdf.jpg) - -WebGL MSDF text rendering & particle system - -[Live demo](https://demo.thi.ng/umbrella/webgl-msdf/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/webgl-msdf) - -### webgl-multipass - -Minimal multi-pass / GPGPU example - -[Live demo](https://demo.thi.ng/umbrella/webgl-multipass/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/webgl-multipass) - -### webgl-shadertoy - -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/webgl-shadertoy.jpg) - -Shadertoy-like WebGL setup - -[Live demo](https://demo.thi.ng/umbrella/webgl-shadertoy/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/webgl-shadertoy) - -### webgl-ssao - -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/webgl-ssao.jpg) - -WebGL screenspace ambient occlusion - -[Live demo](https://demo.thi.ng/umbrella/webgl-ssao/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/webgl-ssao) +| Screenshot | Description | Live demo | Source | +| ---------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------- | --------------------------------------------------------- | -------------------------------------------------------------------------------------- | +| | 2D canvas shader emulation | [Demo](https://demo.thi.ng/umbrella/shader-ast-canvas2d/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/shader-ast-canvas2d) | +| | Evolutionary shader generation using genetic programming | [Demo](https://demo.thi.ng/umbrella/shader-ast-evo/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/shader-ast-evo) | +| | HOF shader procedural noise function composition | [Demo](https://demo.thi.ng/umbrella/shader-ast-noise/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/shader-ast-noise) | +| | WebGL & JS canvas2D raymarch shader cross-compilation | [Demo](https://demo.thi.ng/umbrella/shader-ast-raymarch/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/shader-ast-raymarch) | +| | WebGL & JS canvas 2D SDF | [Demo](https://demo.thi.ng/umbrella/shader-ast-sdf2d/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/shader-ast-sdf2d) | +| | WebGL & Canvas2D textured tunnel shader | [Demo](https://demo.thi.ng/umbrella/shader-ast-tunnel/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/shader-ast-tunnel) | +| | Fork-join worker-based raymarch renderer | [Demo](https://demo.thi.ng/umbrella/shader-ast-workers/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/shader-ast-workers) | +| | Entity Component System w/ 100k 3D particles | [Demo](https://demo.thi.ng/umbrella/soa-ecs/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/soa-ecs) | +| | WebGL cube maps with async texture loading | [Demo](https://demo.thi.ng/umbrella/webgl-cubemap/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/webgl-cubemap) | +| | WebGL instancing, animated grid | [Demo](https://demo.thi.ng/umbrella/webgl-grid/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/webgl-grid) | +| | WebGL MSDF text rendering & particle system | [Demo](https://demo.thi.ng/umbrella/webgl-msdf/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/webgl-msdf) | +| | Minimal multi-pass / GPGPU example | [Demo](https://demo.thi.ng/umbrella/webgl-multipass/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/webgl-multipass) | +| | Shadertoy-like WebGL setup | [Demo](https://demo.thi.ng/umbrella/webgl-shadertoy/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/webgl-shadertoy) | +| | WebGL screenspace ambient occlusion | [Demo](https://demo.thi.ng/umbrella/webgl-ssao/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/webgl-ssao) | ## API diff --git a/packages/simd/README.md b/packages/simd/README.md index 10bbf447e9..68e2ca518f 100644 --- a/packages/simd/README.md +++ b/packages/simd/README.md @@ -1,6 +1,6 @@ -# ![@thi.ng/simd](https://media.thi.ng/umbrella/banners/thing-simd.svg?1582660663) +# ![@thi.ng/simd](https://media.thi.ng/umbrella/banners/thing-simd.svg?1584814437) [![npm version](https://img.shields.io/npm/v/@thi.ng/simd.svg)](https://www.npmjs.com/package/@thi.ng/simd) ![npm downloads](https://img.shields.io/npm/dm/@thi.ng/simd.svg) @@ -102,6 +102,7 @@ Package sizes (gzipped): ESM: 2.3KB / CJS: 2.3KB / UMD: 2.4KB - [@thi.ng/checks](https://github.com/thi-ng/umbrella/tree/develop/packages/checks) - [@thi.ng/transducers](https://github.com/thi-ng/umbrella/tree/develop/packages/transducers) - [@thi.ng/transducers-binary](https://github.com/thi-ng/umbrella/tree/develop/packages/transducers-binary) +- [tslib](https://github.com/thi-ng/umbrella/tree/develop/packages/undefined) ## API diff --git a/packages/soa/README.md b/packages/soa/README.md index 6dd649a427..ff2b9be799 100644 --- a/packages/soa/README.md +++ b/packages/soa/README.md @@ -1,6 +1,6 @@ -# ![@thi.ng/soa](https://media.thi.ng/umbrella/banners/thing-soa.svg?1583078718) +# ![@thi.ng/soa](https://media.thi.ng/umbrella/banners/thing-soa.svg?1584814462) [![npm version](https://img.shields.io/npm/v/@thi.ng/soa.svg)](https://www.npmjs.com/package/@thi.ng/soa) ![npm downloads](https://img.shields.io/npm/dm/@thi.ng/soa.svg) @@ -52,6 +52,7 @@ Package sizes (gzipped): ESM: 1.4KB / CJS: 1.5KB / UMD: 1.6KB - [@thi.ng/binary](https://github.com/thi-ng/umbrella/tree/develop/packages/binary) - [@thi.ng/transducers-binary](https://github.com/thi-ng/umbrella/tree/develop/packages/transducers-binary) - [@thi.ng/vectors](https://github.com/thi-ng/umbrella/tree/develop/packages/vectors) +- [tslib](https://github.com/thi-ng/umbrella/tree/develop/packages/undefined) ## Usage examples @@ -61,21 +62,10 @@ directory are using this package. A selection: -### soa-ecs - -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/soa-ecs-100k.png) - -Entity Component System w/ 100k 3D particles - -[Live demo](https://demo.thi.ng/umbrella/soa-ecs/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/soa-ecs) - -### webgl-cube - -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/webgl-cube.png) - -WebGL multi-colored cube mesh - -[Live demo](https://demo.thi.ng/umbrella/webgl-cube/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/webgl-cube) +| Screenshot | Description | Live demo | Source | +| ------------------------------------------------------------------------------------------------------------------- | -------------------------------------------- | ------------------------------------------------ | ----------------------------------------------------------------------------- | +| | Entity Component System w/ 100k 3D particles | [Demo](https://demo.thi.ng/umbrella/soa-ecs/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/soa-ecs) | +| | WebGL multi-colored cube mesh | [Demo](https://demo.thi.ng/umbrella/webgl-cube/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/webgl-cube) | ## API diff --git a/packages/sparse/README.md b/packages/sparse/README.md index 246f152d00..32f1d21ef8 100644 --- a/packages/sparse/README.md +++ b/packages/sparse/README.md @@ -1,6 +1,6 @@ -# ![@thi.ng/sparse](https://media.thi.ng/umbrella/banners/thing-sparse.svg?1582660661) +# ![@thi.ng/sparse](https://media.thi.ng/umbrella/banners/thing-sparse.svg?1584814412) [![npm version](https://img.shields.io/npm/v/@thi.ng/sparse.svg)](https://www.npmjs.com/package/@thi.ng/sparse) ![npm downloads](https://img.shields.io/npm/dm/@thi.ng/sparse.svg) @@ -37,6 +37,7 @@ Package sizes (gzipped): ESM: 3.5KB / CJS: 3.6KB / UMD: 3.7KB - [@thi.ng/api](https://github.com/thi-ng/umbrella/tree/develop/packages/api) - [@thi.ng/transducers](https://github.com/thi-ng/umbrella/tree/develop/packages/transducers) +- [tslib](https://github.com/thi-ng/umbrella/tree/develop/packages/undefined) ## API diff --git a/packages/strings/README.md b/packages/strings/README.md index 96d8dba3d9..16b41963db 100644 --- a/packages/strings/README.md +++ b/packages/strings/README.md @@ -1,6 +1,6 @@ -# ![@thi.ng/strings](https://media.thi.ng/umbrella/banners/thing-strings.svg?1583462196) +# ![@thi.ng/strings](https://media.thi.ng/umbrella/banners/thing-strings.svg?1584814378) [![npm version](https://img.shields.io/npm/v/@thi.ng/strings.svg)](https://www.npmjs.com/package/@thi.ng/strings) ![npm downloads](https://img.shields.io/npm/dm/@thi.ng/strings.svg) @@ -19,7 +19,7 @@ This project is part of the - [General](#general) - [Case](#case) - [Numeric & radix-based](#numeric--radix-based) - - [Padding / truncation](#padding--truncation) + - [Padding / truncation](#padding---truncation) - [Units](#units) - [String creation & editing](#string-creation--editing) - [Authors](#authors) @@ -42,13 +42,14 @@ Partially based on Clojure version of [thi.ng/strf](http://thi.ng/strf). yarn add @thi.ng/strings ``` -Package sizes (gzipped): ESM: 2.2KB / CJS: 2.4KB / UMD: 2.3KB +Package sizes (gzipped): ESM: 2.3KB / CJS: 2.5KB / UMD: 2.4KB ## Dependencies - [@thi.ng/api](https://github.com/thi-ng/umbrella/tree/develop/packages/api) - [@thi.ng/errors](https://github.com/thi-ng/umbrella/tree/develop/packages/errors) - [@thi.ng/memoize](https://github.com/thi-ng/umbrella/tree/develop/packages/memoize) +- [tslib](https://github.com/thi-ng/umbrella/tree/develop/packages/undefined) ## Usage examples @@ -58,29 +59,11 @@ directory are using this package. A selection: -### crypto-chart - -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/crypto-chart.png) - -Basic crypto-currency candle chart with multiple moving averages plots - -[Live demo](https://demo.thi.ng/umbrella/crypto-chart/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/crypto-chart) - -### rstream-spreadsheet - -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/rstream-spreadsheet.png) - -rstream based spreadsheet w/ S-expression formula DSL - -[Live demo](https://demo.thi.ng/umbrella/rstream-spreadsheet/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/rstream-spreadsheet) - -### xml-converter - -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/xml-converter.png) - -XML/HTML/SVG to hiccup/JS conversion - -[Live demo](https://demo.thi.ng/umbrella/xml-converter/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/xml-converter) +| Screenshot | Description | Live demo | Source | +| -------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------- | --------------------------------------------------------- | -------------------------------------------------------------------------------------- | +| | Basic crypto-currency candle chart with multiple moving averages plots | [Demo](https://demo.thi.ng/umbrella/crypto-chart/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/crypto-chart) | +| | rstream based spreadsheet w/ S-expression formula DSL | [Demo](https://demo.thi.ng/umbrella/rstream-spreadsheet/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/rstream-spreadsheet) | +| | XML/HTML/SVG to hiccup/JS conversion | [Demo](https://demo.thi.ng/umbrella/xml-converter/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/xml-converter) | ## API diff --git a/packages/text-canvas/README.md b/packages/text-canvas/README.md index 119ff3b288..74060faf06 100644 --- a/packages/text-canvas/README.md +++ b/packages/text-canvas/README.md @@ -1,6 +1,6 @@ -# ![@thi.ng/text-canvas](https://media.thi.ng/umbrella/banners/thing-text-canvas.svg?1583078719) +# ![@thi.ng/text-canvas](https://media.thi.ng/umbrella/banners/thing-text-canvas.svg?1584814487) [![npm version](https://img.shields.io/npm/v/@thi.ng/text-canvas.svg)](https://www.npmjs.com/package/@thi.ng/text-canvas) ![npm downloads](https://img.shields.io/npm/dm/@thi.ng/text-canvas.svg) @@ -56,6 +56,7 @@ Package sizes (gzipped): ESM: 5.3KB / CJS: 5.6KB / UMD: 5.3KB - [@thi.ng/math](https://github.com/thi-ng/umbrella/tree/develop/packages/math) - [@thi.ng/memoize](https://github.com/thi-ng/umbrella/tree/develop/packages/memoize) - [@thi.ng/transducers](https://github.com/thi-ng/umbrella/tree/develop/packages/transducers) +- [tslib](https://github.com/thi-ng/umbrella/tree/develop/packages/undefined) ## Usage examples @@ -65,13 +66,9 @@ directory are using this package. A selection: -### text-canvas - -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/text-canvas.png) - -3D wireframe textmode demo - -[Live demo](https://demo.thi.ng/umbrella/text-canvas/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/text-canvas) +| Screenshot | Description | Live demo | Source | +| ------------------------------------------------------------------------------------------------------------------ | -------------------------- | ------------------------------------------------- | ------------------------------------------------------------------------------ | +| | 3D wireframe textmode demo | [Demo](https://demo.thi.ng/umbrella/text-canvas/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/text-canvas) | ## API diff --git a/packages/transducers-binary/README.md b/packages/transducers-binary/README.md index e184825fed..2f2223d25f 100644 --- a/packages/transducers-binary/README.md +++ b/packages/transducers-binary/README.md @@ -1,6 +1,6 @@ -# ![@thi.ng/transducers-binary](https://media.thi.ng/umbrella/banners/thing-transducers-binary.svg?1583078714) +# ![@thi.ng/transducers-binary](https://media.thi.ng/umbrella/banners/thing-transducers-binary.svg?1584814413) [![npm version](https://img.shields.io/npm/v/@thi.ng/transducers-binary.svg)](https://www.npmjs.com/package/@thi.ng/transducers-binary) ![npm downloads](https://img.shields.io/npm/dm/@thi.ng/transducers-binary.svg) @@ -20,7 +20,7 @@ This project is part of the - [Streaming hexdump](#streaming-hexdump) - [Structured byte buffer construction](#structured-byte-buffer-construction) - [Bitstream](#bitstream) - - [Base64 & UTF-8 en/decoding](#base64--utf-8-endecoding) + - [Base64 & UTF-8 en/decoding](#base64--utf-8-en-decoding) - [Transducers](#transducers) - [Reducers](#reducers) - [Authors](#authors) @@ -41,7 +41,7 @@ iterable for direct use. ### Related packages -- [@thi.ng/binary](https://github.com/thi-ng/umbrella/tree/develop/packages/binary) - 50+ assorted binary / bitwise operations, conversions, utilities +- [@thi.ng/binary](https://github.com/thi-ng/umbrella/tree/develop/packages/binary) - 95+ assorted binary / bitwise operations, conversions, utilities - [@thi.ng/bitstream](https://github.com/thi-ng/umbrella/tree/develop/packages/bitstream) - ES6 iterator based read/write bit streams with support for variable word widths - [@thi.ng/unionstruct](https://github.com/thi-ng/umbrella/tree/develop/packages/unionstruct) - C-style struct, union and bitfield read/write views of ArrayBuffers @@ -59,6 +59,7 @@ Package sizes (gzipped): ESM: 2.8KB / CJS: 2.9KB / UMD: 2.8KB - [@thi.ng/random](https://github.com/thi-ng/umbrella/tree/develop/packages/random) - [@thi.ng/strings](https://github.com/thi-ng/umbrella/tree/develop/packages/strings) - [@thi.ng/transducers](https://github.com/thi-ng/umbrella/tree/develop/packages/transducers) +- [tslib](https://github.com/thi-ng/umbrella/tree/develop/packages/undefined) ## Usage examples @@ -68,21 +69,10 @@ directory are using this package. A selection: -### bitmap-font - -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/bitmap-font.gif) - -Figlet-style bitmap font creation with transducers - -[Live demo](https://demo.thi.ng/umbrella/bitmap-font/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/bitmap-font) - -### wolfram - -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/wolfram.png) - -1D Wolfram automata with OBJ point cloud export - -[Live demo](https://demo.thi.ng/umbrella/wolfram/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/wolfram) +| Screenshot | Description | Live demo | Source | +| ------------------------------------------------------------------------------------------------------------------ | -------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------------------------------------ | +| | Figlet-style bitmap font creation with transducers | [Demo](https://demo.thi.ng/umbrella/bitmap-font/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/bitmap-font) | +| | 1D Wolfram automata with OBJ point cloud export | [Demo](https://demo.thi.ng/umbrella/wolfram/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/wolfram) | ## API diff --git a/packages/transducers-fsm/README.md b/packages/transducers-fsm/README.md index 60bf60b370..56bfa334a7 100644 --- a/packages/transducers-fsm/README.md +++ b/packages/transducers-fsm/README.md @@ -1,6 +1,6 @@ -# ![@thi.ng/transducers-fsm](https://media.thi.ng/umbrella/banners/thing-transducers-fsm.svg?1581297781) +# ![@thi.ng/transducers-fsm](https://media.thi.ng/umbrella/banners/thing-transducers-fsm.svg?1584814413) [![npm version](https://img.shields.io/npm/v/@thi.ng/transducers-fsm.svg)](https://www.npmjs.com/package/@thi.ng/transducers-fsm) ![npm downloads](https://img.shields.io/npm/dm/@thi.ng/transducers-fsm.svg) @@ -56,6 +56,7 @@ Package sizes (gzipped): ESM: 0.2KB / CJS: 0.3KB / UMD: 0.4KB - [@thi.ng/api](https://github.com/thi-ng/umbrella/tree/develop/packages/api) - [@thi.ng/transducers](https://github.com/thi-ng/umbrella/tree/develop/packages/transducers) +- [tslib](https://github.com/thi-ng/umbrella/tree/develop/packages/undefined) ## Usage examples diff --git a/packages/transducers-hdom/README.md b/packages/transducers-hdom/README.md index 29bce16ecf..699705dc07 100644 --- a/packages/transducers-hdom/README.md +++ b/packages/transducers-hdom/README.md @@ -1,6 +1,6 @@ -# ![@thi.ng/transducers-hdom](https://media.thi.ng/umbrella/banners/thing-transducers-hdom.svg?1583078717) +# ![@thi.ng/transducers-hdom](https://media.thi.ng/umbrella/banners/thing-transducers-hdom.svg?1584814426) [![npm version](https://img.shields.io/npm/v/@thi.ng/transducers-hdom.svg)](https://www.npmjs.com/package/@thi.ng/transducers-hdom) ![npm downloads](https://img.shields.io/npm/dm/@thi.ng/transducers-hdom.svg) @@ -74,6 +74,7 @@ Package sizes (gzipped): ESM: 0.3KB / CJS: 0.3KB / UMD: 0.4KB - [@thi.ng/hdom](https://github.com/thi-ng/umbrella/tree/develop/packages/hdom) - [@thi.ng/hiccup](https://github.com/thi-ng/umbrella/tree/develop/packages/hiccup) - [@thi.ng/transducers](https://github.com/thi-ng/umbrella/tree/develop/packages/transducers) +- [tslib](https://github.com/thi-ng/umbrella/tree/develop/packages/undefined) ## Usage examples @@ -83,129 +84,24 @@ directory are using this package. A selection: -### adaptive-threshold - -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/adaptive-threshold.png) - -Interactive image processing (adaptive threshold) - -[Live demo](https://demo.thi.ng/umbrella/adaptive-threshold/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/adaptive-threshold) - -### bitmap-font - -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/bitmap-font.gif) - -Figlet-style bitmap font creation with transducers - -[Live demo](https://demo.thi.ng/umbrella/bitmap-font/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/bitmap-font) - -### crypto-chart - -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/crypto-chart.png) - -Basic crypto-currency candle chart with multiple moving averages plots - -[Live demo](https://demo.thi.ng/umbrella/crypto-chart/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/crypto-chart) - -### gesture-analysis - -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/gesture-analysis.png) - -Mouse gesture / stroke analysis, simplification, corner detection - -[Live demo](https://demo.thi.ng/umbrella/gesture-analysis/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/gesture-analysis) - -### hdom-canvas-draw - -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/hdom-canvas-draw.jpg) - -Interactive pattern drawing demo using transducers - -[Live demo](https://demo.thi.ng/umbrella/hdom-canvas-draw/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/hdom-canvas-draw) - -### hdom-canvas-shapes - -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/hdom-canvas/hdom-canvas-shapes-results.png) - -Various hdom-canvas shape drawing examples & SVG conversion / export - -[Live demo](https://demo.thi.ng/umbrella/hdom-canvas-shapes/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/hdom-canvas-shapes) - -### imgui - -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/imgui/imgui-all.png) - -Canvas based Immediate Mode GUI components - -[Live demo](https://demo.thi.ng/umbrella/imgui/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/imgui) - -### mandelbrot - -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/mandelbrot.jpg) - -Worker based, interactive Mandelbrot visualization - -[Live demo](https://demo.thi.ng/umbrella/mandelbrot/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/mandelbrot) - -### markdown - -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/markdown-parser.jpg) - -Minimal Markdown to Hiccup to HTML parser / transformer - -[Live demo](https://demo.thi.ng/umbrella/markdown/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/markdown) - -### multitouch - -Basic rstream-gestures multi-touch demo - -[Live demo](https://demo.thi.ng/umbrella/multitouch/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/multitouch) - -### poly-spline - -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/poly-spline.png) - -Polygon to cubic curve conversion & visualization - -[Live demo](https://demo.thi.ng/umbrella/poly-spline/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/poly-spline) - -### rotating-voronoi - -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/rotating-voronoi.jpg) - -Animated Voronoi diagram, cubic splines & SVG download - -[Live demo](https://demo.thi.ng/umbrella/rotating-voronoi/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/rotating-voronoi) - -### rstream-event-loop - -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/rstream-event-loop.png) - -Minimal demo of using rstream constructs to form an interceptor-style event loop - -[Live demo](https://demo.thi.ng/umbrella/rstream-event-loop/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/rstream-event-loop) - -### rstream-spreadsheet - -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/rstream-spreadsheet.png) - -rstream based spreadsheet w/ S-expression formula DSL - -[Live demo](https://demo.thi.ng/umbrella/rstream-spreadsheet/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/rstream-spreadsheet) - -### talk-slides - -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/talk-slides.png) - -hdom based slide deck viewer & slides from my ClojureX 2018 keynote - -[Live demo](https://demo.thi.ng/umbrella/talk-slides/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/talk-slides) - -### transducers-hdom - -Transducer & rstream based hdom UI updates - -[Live demo](https://demo.thi.ng/umbrella/transducers-hdom/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/transducers-hdom) +| Screenshot | Description | Live demo | Source | +| ------------------------------------------------------------------------------------------------------------------------------------ | -------------------------------------------------------------------------------- | --------------------------------------------------------- | -------------------------------------------------------------------------------------- | +| | Interactive image processing (adaptive threshold) | [Demo](https://demo.thi.ng/umbrella/adaptive-threshold/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/adaptive-threshold) | +| | Figlet-style bitmap font creation with transducers | [Demo](https://demo.thi.ng/umbrella/bitmap-font/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/bitmap-font) | +| | Basic crypto-currency candle chart with multiple moving averages plots | [Demo](https://demo.thi.ng/umbrella/crypto-chart/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/crypto-chart) | +| | Mouse gesture / stroke analysis, simplification, corner detection | [Demo](https://demo.thi.ng/umbrella/gesture-analysis/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/gesture-analysis) | +| | Interactive pattern drawing demo using transducers | [Demo](https://demo.thi.ng/umbrella/hdom-canvas-draw/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/hdom-canvas-draw) | +| | Various hdom-canvas shape drawing examples & SVG conversion / export | [Demo](https://demo.thi.ng/umbrella/hdom-canvas-shapes/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/hdom-canvas-shapes) | +| | Canvas based Immediate Mode GUI components | [Demo](https://demo.thi.ng/umbrella/imgui/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/imgui) | +| | Worker based, interactive Mandelbrot visualization | [Demo](https://demo.thi.ng/umbrella/mandelbrot/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/mandelbrot) | +| | Minimal Markdown to Hiccup to HTML parser / transformer | [Demo](https://demo.thi.ng/umbrella/markdown/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/markdown) | +| | Basic rstream-gestures multi-touch demo | [Demo](https://demo.thi.ng/umbrella/multitouch/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/multitouch) | +| | Polygon to cubic curve conversion & visualization | [Demo](https://demo.thi.ng/umbrella/poly-spline/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/poly-spline) | +| | Animated Voronoi diagram, cubic splines & SVG download | [Demo](https://demo.thi.ng/umbrella/rotating-voronoi/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/rotating-voronoi) | +| | Minimal demo of using rstream constructs to form an interceptor-style event loop | [Demo](https://demo.thi.ng/umbrella/rstream-event-loop/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/rstream-event-loop) | +| | rstream based spreadsheet w/ S-expression formula DSL | [Demo](https://demo.thi.ng/umbrella/rstream-spreadsheet/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/rstream-spreadsheet) | +| | hdom based slide deck viewer & slides from my ClojureX 2018 keynote | [Demo](https://demo.thi.ng/umbrella/talk-slides/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/talk-slides) | +| | Transducer & rstream based hdom UI updates | [Demo](https://demo.thi.ng/umbrella/transducers-hdom/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/transducers-hdom) | ## API diff --git a/packages/transducers-patch/README.md b/packages/transducers-patch/README.md index d9b6cc8bc7..03742ea4c8 100644 --- a/packages/transducers-patch/README.md +++ b/packages/transducers-patch/README.md @@ -1,6 +1,6 @@ -# ![@thi.ng/transducers-patch](https://media.thi.ng/umbrella/banners/thing-transducers-patch.svg?1581297781) +# ![@thi.ng/transducers-patch](https://media.thi.ng/umbrella/banners/thing-transducers-patch.svg?1584814413) [![npm version](https://img.shields.io/npm/v/@thi.ng/transducers-patch.svg)](https://www.npmjs.com/package/@thi.ng/transducers-patch) ![npm downloads](https://img.shields.io/npm/dm/@thi.ng/transducers-patch.svg) @@ -46,6 +46,7 @@ Package sizes (gzipped): ESM: 0.5KB / CJS: 0.6KB / UMD: 0.7KB - [@thi.ng/errors](https://github.com/thi-ng/umbrella/tree/develop/packages/errors) - [@thi.ng/paths](https://github.com/thi-ng/umbrella/tree/develop/packages/paths) - [@thi.ng/transducers](https://github.com/thi-ng/umbrella/tree/develop/packages/transducers) +- [tslib](https://github.com/thi-ng/umbrella/tree/develop/packages/undefined) ## API diff --git a/packages/transducers-stats/README.md b/packages/transducers-stats/README.md index 95450c2535..5f791cd14e 100644 --- a/packages/transducers-stats/README.md +++ b/packages/transducers-stats/README.md @@ -1,6 +1,6 @@ -# ![@thi.ng/transducers-stats](https://media.thi.ng/umbrella/banners/thing-transducers-stats.svg?1583078716) +# ![@thi.ng/transducers-stats](https://media.thi.ng/umbrella/banners/thing-transducers-stats.svg?1584814426) [![npm version](https://img.shields.io/npm/v/@thi.ng/transducers-stats.svg)](https://www.npmjs.com/package/@thi.ng/transducers-stats) ![npm downloads](https://img.shields.io/npm/dm/@thi.ng/transducers-stats.svg) @@ -70,6 +70,7 @@ Package sizes (gzipped): ESM: 1.1KB / CJS: 1.3KB / UMD: 1.3KB - [@thi.ng/dcons](https://github.com/thi-ng/umbrella/tree/develop/packages/dcons) - [@thi.ng/errors](https://github.com/thi-ng/umbrella/tree/develop/packages/errors) - [@thi.ng/transducers](https://github.com/thi-ng/umbrella/tree/develop/packages/transducers) +- [tslib](https://github.com/thi-ng/umbrella/tree/develop/packages/undefined) ## Usage examples @@ -79,21 +80,10 @@ directory are using this package. A selection: -### crypto-chart - -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/crypto-chart.png) - -Basic crypto-currency candle chart with multiple moving averages plots - -[Live demo](https://demo.thi.ng/umbrella/crypto-chart/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/crypto-chart) - -### shader-ast-workers - -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/shader-ast-workers.jpg) - -Fork-join worker-based raymarch renderer - -[Live demo](https://demo.thi.ng/umbrella/shader-ast-workers/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/shader-ast-workers) +| Screenshot | Description | Live demo | Source | +| ------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------- | -------------------------------------------------------- | ------------------------------------------------------------------------------------- | +| | Basic crypto-currency candle chart with multiple moving averages plots | [Demo](https://demo.thi.ng/umbrella/crypto-chart/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/crypto-chart) | +| | Fork-join worker-based raymarch renderer | [Demo](https://demo.thi.ng/umbrella/shader-ast-workers/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/shader-ast-workers) | ## API diff --git a/packages/transducers/README.md b/packages/transducers/README.md index 0a85076aa0..3ec1a88f63 100644 --- a/packages/transducers/README.md +++ b/packages/transducers/README.md @@ -1,6 +1,6 @@ -# ![@thi.ng/transducers](https://media.thi.ng/umbrella/banners/thing-transducers.svg?1583078713) +# ![@thi.ng/transducers](https://media.thi.ng/umbrella/banners/thing-transducers.svg?1584814389) [![npm version](https://img.shields.io/npm/v/@thi.ng/transducers.svg)](https://www.npmjs.com/package/@thi.ng/transducers) ![npm downloads](https://img.shields.io/npm/dm/@thi.ng/transducers.svg) @@ -24,11 +24,11 @@ This project is part of the - [Fuzzy search](#fuzzy-search) - [Histogram generation & result grouping](#histogram-generation--result-grouping) - [Pagination](#pagination) - - [Multiplexing / parallel transducer application](#multiplexing--parallel-transducer-application) + - [Multiplexing / parallel transducer application](#multiplexing---parallel-transducer-application) - [Moving average using sliding window](#moving-average-using-sliding-window) - [Benchmark function execution time](#benchmark-function-execution-time) - [Apply inspectors to debug transducer pipeline](#apply-inspectors-to-debug-transducer-pipeline) - - [Stream parsing / structuring](#stream-parsing--structuring) + - [Stream parsing / structuring](#stream-parsing---structuring) - [CSV parsing](#csv-parsing) - [Early termination](#early-termination) - [Scan operator](#scan-operator) @@ -49,7 +49,7 @@ This project is part of the - [transduce](#transduce) - [run](#run) - [Transducers](#transducers) - - [Generators / Iterators](#generators--iterators) + - [Generators / Iterators](#generators---iterators) - [Reducers](#reducers) - [Authors](#authors) - [License](#license) @@ -157,6 +157,7 @@ Package sizes (gzipped): ESM: 7.9KB / CJS: 8.4KB / UMD: 7.6KB - [@thi.ng/math](https://github.com/thi-ng/umbrella/tree/develop/packages/math) - [@thi.ng/random](https://github.com/thi-ng/umbrella/tree/develop/packages/random) - [@thi.ng/strings](https://github.com/thi-ng/umbrella/tree/develop/packages/strings) +- [tslib](https://github.com/thi-ng/umbrella/tree/develop/packages/undefined) ## Usage examples @@ -166,219 +167,35 @@ directory are using this package. A selection: -### adaptive-threshold - -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/adaptive-threshold.png) - -Interactive image processing (adaptive threshold) - -[Live demo](https://demo.thi.ng/umbrella/adaptive-threshold/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/adaptive-threshold) - -### bitmap-font - -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/bitmap-font.gif) - -Figlet-style bitmap font creation with transducers - -[Live demo](https://demo.thi.ng/umbrella/bitmap-font/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/bitmap-font) - -### cellular-automata - -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/cellular-automata.png) - -2D transducer based cellular automata - -[Live demo](https://demo.thi.ng/umbrella/cellular-automata/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/cellular-automata) - -### commit-heatmap - -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/commit-heatmap.png) - -Heatmap visualization of this mono-repo's commits - -[Live demo](https://demo.thi.ng/umbrella/commit-heatmap/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/commit-heatmap) - -### commit-table-ssr - -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/commit-table-ssr.png) - -Filterable commit log UI w/ minimal server to provide commit history - -[Live demo](https://demo.thi.ng/umbrella/commit-table-ssr/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/commit-table-ssr) - -### crypto-chart - -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/crypto-chart.png) - -Basic crypto-currency candle chart with multiple moving averages plots - -[Live demo](https://demo.thi.ng/umbrella/crypto-chart/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/crypto-chart) - -### hdom-benchmark2 - -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/hdom-benchmark2.png) - -hdom update performance benchmark w/ config options - -[Live demo](https://demo.thi.ng/umbrella/hdom-benchmark2/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/hdom-benchmark2) - -### hdom-canvas-draw - -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/hdom-canvas-draw.jpg) - -Interactive pattern drawing demo using transducers - -[Live demo](https://demo.thi.ng/umbrella/hdom-canvas-draw/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/hdom-canvas-draw) - -### hdom-canvas-shapes - -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/hdom-canvas/hdom-canvas-shapes-results.png) - -Various hdom-canvas shape drawing examples & SVG conversion / export - -[Live demo](https://demo.thi.ng/umbrella/hdom-canvas-shapes/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/hdom-canvas-shapes) - -### hdom-dropdown-fuzzy - -Custom dropdown UI component w/ fuzzy search - -[Live demo](https://demo.thi.ng/umbrella/hdom-dropdown-fuzzy/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/hdom-dropdown-fuzzy) - -### iso-plasma - -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/geom/geom-isoline.png) - -Animated sine plasma effect visualized using contour lines - -[Live demo](https://demo.thi.ng/umbrella/iso-plasma/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/iso-plasma) - -### json-components - -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/json-components.jpg) - -Transforming JSON into UI components - -[Live demo](https://demo.thi.ng/umbrella/json-components/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/json-components) - -### mandelbrot - -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/mandelbrot.jpg) - -Worker based, interactive Mandelbrot visualization - -[Live demo](https://demo.thi.ng/umbrella/mandelbrot/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/mandelbrot) - -### package-stats - -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/package-stats.png) - -CLI util to visualize umbrella pkg stats - -[Live demo](https://demo.thi.ng/umbrella/package-stats/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/package-stats) - -### ramp-synth - -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/ramp-synth.png) - -Unison wavetable synth with waveform editor - -[Live demo](https://demo.thi.ng/umbrella/ramp-synth/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/ramp-synth) - -### rotating-voronoi - -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/rotating-voronoi.jpg) - -Animated Voronoi diagram, cubic splines & SVG download - -[Live demo](https://demo.thi.ng/umbrella/rotating-voronoi/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/rotating-voronoi) - -### rstream-event-loop - -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/rstream-event-loop.png) - -Minimal demo of using rstream constructs to form an interceptor-style event loop - -[Live demo](https://demo.thi.ng/umbrella/rstream-event-loop/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/rstream-event-loop) - -### rstream-grid - -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/rstream-grid.jpg) - -Interactive grid generator, SVG generation & export, undo/redo support - -[Live demo](https://demo.thi.ng/umbrella/rstream-grid/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/rstream-grid) - -### shader-ast-workers - -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/shader-ast-workers.jpg) - -Fork-join worker-based raymarch renderer - -[Live demo](https://demo.thi.ng/umbrella/shader-ast-workers/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/shader-ast-workers) - -### svg-barchart - -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/svg-barchart.png) - -Simplistic SVG bar chart component - -[Live demo](https://demo.thi.ng/umbrella/svg-barchart/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/svg-barchart) - -### svg-waveform - -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/svg-waveform.jpg) - -Additive waveform synthesis & SVG visualization with undo/redo - -[Live demo](https://demo.thi.ng/umbrella/svg-waveform/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/svg-waveform) - -### triple-query - -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/triple-query.png) - -Triple store query results & sortable table - -[Live demo](https://demo.thi.ng/umbrella/triple-query/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/triple-query) - -### webgl-cube - -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/webgl-cube.png) - -WebGL multi-colored cube mesh - -[Live demo](https://demo.thi.ng/umbrella/webgl-cube/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/webgl-cube) - -### webgl-grid - -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/webgl-grid.jpg) - -WebGL instancing, animated grid - -[Live demo](https://demo.thi.ng/umbrella/webgl-grid/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/webgl-grid) - -### webgl-msdf - -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/webgl-msdf.jpg) - -WebGL MSDF text rendering & particle system - -[Live demo](https://demo.thi.ng/umbrella/webgl-msdf/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/webgl-msdf) - -### wolfram - -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/wolfram.png) - -1D Wolfram automata with OBJ point cloud export - -[Live demo](https://demo.thi.ng/umbrella/wolfram/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/wolfram) - -### xml-converter - -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/xml-converter.png) - -XML/HTML/SVG to hiccup/JS conversion - -[Live demo](https://demo.thi.ng/umbrella/xml-converter/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/xml-converter) +| Screenshot | Description | Live demo | Source | +| ------------------------------------------------------------------------------------------------------------------------------------ | -------------------------------------------------------------------------------- | --------------------------------------------------------- | -------------------------------------------------------------------------------------- | +| | Interactive image processing (adaptive threshold) | [Demo](https://demo.thi.ng/umbrella/adaptive-threshold/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/adaptive-threshold) | +| | Figlet-style bitmap font creation with transducers | [Demo](https://demo.thi.ng/umbrella/bitmap-font/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/bitmap-font) | +| | 2D transducer based cellular automata | [Demo](https://demo.thi.ng/umbrella/cellular-automata/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/cellular-automata) | +| | Heatmap visualization of this mono-repo's commits | [Demo](https://demo.thi.ng/umbrella/commit-heatmap/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/commit-heatmap) | +| | Filterable commit log UI w/ minimal server to provide commit history | [Demo](https://demo.thi.ng/umbrella/commit-table-ssr/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/commit-table-ssr) | +| | Basic crypto-currency candle chart with multiple moving averages plots | [Demo](https://demo.thi.ng/umbrella/crypto-chart/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/crypto-chart) | +| | hdom update performance benchmark w/ config options | [Demo](https://demo.thi.ng/umbrella/hdom-benchmark2/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/hdom-benchmark2) | +| | Interactive pattern drawing demo using transducers | [Demo](https://demo.thi.ng/umbrella/hdom-canvas-draw/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/hdom-canvas-draw) | +| | Various hdom-canvas shape drawing examples & SVG conversion / export | [Demo](https://demo.thi.ng/umbrella/hdom-canvas-shapes/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/hdom-canvas-shapes) | +| | Custom dropdown UI component w/ fuzzy search | [Demo](https://demo.thi.ng/umbrella/hdom-dropdown-fuzzy/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/hdom-dropdown-fuzzy) | +| | Animated sine plasma effect visualized using contour lines | [Demo](https://demo.thi.ng/umbrella/iso-plasma/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/iso-plasma) | +| | Transforming JSON into UI components | [Demo](https://demo.thi.ng/umbrella/json-components/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/json-components) | +| | Worker based, interactive Mandelbrot visualization | [Demo](https://demo.thi.ng/umbrella/mandelbrot/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/mandelbrot) | +| | CLI util to visualize umbrella pkg stats | [Demo](https://demo.thi.ng/umbrella/package-stats/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/package-stats) | +| | Unison wavetable synth with waveform editor | [Demo](https://demo.thi.ng/umbrella/ramp-synth/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/ramp-synth) | +| | Animated Voronoi diagram, cubic splines & SVG download | [Demo](https://demo.thi.ng/umbrella/rotating-voronoi/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/rotating-voronoi) | +| | Minimal demo of using rstream constructs to form an interceptor-style event loop | [Demo](https://demo.thi.ng/umbrella/rstream-event-loop/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/rstream-event-loop) | +| | Interactive grid generator, SVG generation & export, undo/redo support | [Demo](https://demo.thi.ng/umbrella/rstream-grid/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/rstream-grid) | +| | Fork-join worker-based raymarch renderer | [Demo](https://demo.thi.ng/umbrella/shader-ast-workers/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/shader-ast-workers) | +| | Simplistic SVG bar chart component | [Demo](https://demo.thi.ng/umbrella/svg-barchart/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/svg-barchart) | +| | Additive waveform synthesis & SVG visualization with undo/redo | [Demo](https://demo.thi.ng/umbrella/svg-waveform/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/svg-waveform) | +| | Triple store query results & sortable table | [Demo](https://demo.thi.ng/umbrella/triple-query/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/triple-query) | +| | WebGL multi-colored cube mesh | [Demo](https://demo.thi.ng/umbrella/webgl-cube/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/webgl-cube) | +| | WebGL instancing, animated grid | [Demo](https://demo.thi.ng/umbrella/webgl-grid/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/webgl-grid) | +| | WebGL MSDF text rendering & particle system | [Demo](https://demo.thi.ng/umbrella/webgl-msdf/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/webgl-msdf) | +| | 1D Wolfram automata with OBJ point cloud export | [Demo](https://demo.thi.ng/umbrella/wolfram/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/wolfram) | +| | XML/HTML/SVG to hiccup/JS conversion | [Demo](https://demo.thi.ng/umbrella/xml-converter/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/xml-converter) | ### Basic usage patterns diff --git a/packages/unionstruct/README.md b/packages/unionstruct/README.md index ec102f8dcd..176cc1f42e 100644 --- a/packages/unionstruct/README.md +++ b/packages/unionstruct/README.md @@ -1,6 +1,6 @@ -# ![@thi.ng/unionstruct](https://media.thi.ng/umbrella/banners/thing-unionstruct.svg?1581297777) +# ![@thi.ng/unionstruct](https://media.thi.ng/umbrella/banners/thing-unionstruct.svg?1584814341) [![npm version](https://img.shields.io/npm/v/@thi.ng/unionstruct.svg)](https://www.npmjs.com/package/@thi.ng/unionstruct) ![npm downloads](https://img.shields.io/npm/dm/@thi.ng/unionstruct.svg) @@ -54,7 +54,7 @@ Package sizes (gzipped): ESM: 1.1KB / CJS: 1.1KB / UMD: 1.2KB ## Dependencies -None +- [tslib](https://github.com/thi-ng/umbrella/tree/develop/packages/undefined) ## API diff --git a/packages/vector-pools/README.md b/packages/vector-pools/README.md index d1a52efe86..579b45cdd1 100644 --- a/packages/vector-pools/README.md +++ b/packages/vector-pools/README.md @@ -1,6 +1,6 @@ -# ![@thi.ng/vector-pools](https://media.thi.ng/umbrella/banners/thing-vector-pools.svg?1583078718) +# ![@thi.ng/vector-pools](https://media.thi.ng/umbrella/banners/thing-vector-pools.svg?1584814464) [![npm version](https://img.shields.io/npm/v/@thi.ng/vector-pools.svg)](https://www.npmjs.com/package/@thi.ng/vector-pools) ![npm downloads](https://img.shields.io/npm/dm/@thi.ng/vector-pools.svg) @@ -16,7 +16,7 @@ This project is part of the - [Dependencies](#dependencies) - [Usage examples](#usage-examples) - [API](#api) - - [WebGL geometry definition / manipulation](#webgl-geometry-definition--manipulation) + - [WebGL geometry definition / manipulation](#webgl-geometry-definition---manipulation) - [WASM interop](#wasm-interop) - [Authors](#authors) - [License](#license) @@ -69,6 +69,7 @@ Package sizes (gzipped): ESM: 3.0KB / CJS: 3.1KB / UMD: 3.2KB - [@thi.ng/malloc](https://github.com/thi-ng/umbrella/tree/develop/packages/malloc) - [@thi.ng/transducers](https://github.com/thi-ng/umbrella/tree/develop/packages/transducers) - [@thi.ng/vectors](https://github.com/thi-ng/umbrella/tree/develop/packages/vectors) +- [tslib](https://github.com/thi-ng/umbrella/tree/develop/packages/undefined) ## Usage examples @@ -78,13 +79,9 @@ directory are using this package. A selection: -### webgl-msdf - -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/webgl-msdf.jpg) - -WebGL MSDF text rendering & particle system - -[Live demo](https://demo.thi.ng/umbrella/webgl-msdf/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/webgl-msdf) +| Screenshot | Description | Live demo | Source | +| ----------------------------------------------------------------------------------------------------------------- | ------------------------------------------- | ------------------------------------------------ | ----------------------------------------------------------------------------- | +| | WebGL MSDF text rendering & particle system | [Demo](https://demo.thi.ng/umbrella/webgl-msdf/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/webgl-msdf) | ## API diff --git a/packages/vectors/README.md b/packages/vectors/README.md index a302f4455c..19471ddb66 100644 --- a/packages/vectors/README.md +++ b/packages/vectors/README.md @@ -1,6 +1,6 @@ -# ![@thi.ng/vectors](https://media.thi.ng/umbrella/banners/thing-vectors.svg?1583078715) +# ![@thi.ng/vectors](https://media.thi.ng/umbrella/banners/thing-vectors.svg?1584814414) [![npm version](https://img.shields.io/npm/v/@thi.ng/vectors.svg)](https://www.npmjs.com/package/@thi.ng/vectors) ![npm downloads](https://img.shields.io/npm/dm/@thi.ng/vectors.svg) @@ -24,23 +24,23 @@ This project is part of the - [Component swizzling](#component-swizzling) - [Vector creation](#vector-creation) - [Basic vector math](#basic-vector-math) - - [Vector / vector](#vector--vector) - - [Vector / scalar](#vector--scalar) + - [Vector / vector](#vector---vector) + - [Vector / scalar](#vector---scalar) - [Combined operations](#combined-operations) - [Constraints](#constraints) - [Cross product](#cross-product) - [Dot product](#dot-product) - [Interpolation](#interpolation) - - [Normalization / magnitude](#normalization--magnitude) + - [Normalization / magnitude](#normalization---magnitude) - [Distances](#distances) - [Orientation](#orientation) - [Rotations](#rotations) - - [Polar / cartesian conversion](#polar--cartesian-conversion) + - [Polar / cartesian conversion](#polar---cartesian-conversion) - [Randomness](#randomness) - [Unary vector math ops](#unary-vector-math-ops) - [Vector array batch processing](#vector-array-batch-processing) - - [Comparison / equality](#comparison--equality) - - [Bitwise operations (int / uint vec)](#bitwise-operations-int--uint-vec) + - [Comparison / equality](#comparison---equality) + - [Bitwise operations (int / uint vec)](#bitwise-operations-int---uint-vec) - [Boolean vector logic](#boolean-vector-logic) - [Componentwise comparisons](#componentwise-comparisons) - [Hashing](#hashing) @@ -157,6 +157,7 @@ Package sizes (gzipped): ESM: 10.9KB / CJS: 13.7KB / UMD: 12.1KB - [@thi.ng/memoize](https://github.com/thi-ng/umbrella/tree/develop/packages/memoize) - [@thi.ng/random](https://github.com/thi-ng/umbrella/tree/develop/packages/random) - [@thi.ng/transducers](https://github.com/thi-ng/umbrella/tree/develop/packages/transducers) +- [tslib](https://github.com/thi-ng/umbrella/tree/develop/packages/undefined) ## Usage examples @@ -166,141 +167,25 @@ directory are using this package. A selection: -### canvas-dial - -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/canvas-dial.png) - -Canvas based dial widget - -[Live demo](https://demo.thi.ng/umbrella/canvas-dial/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/canvas-dial) - -### geom-knn - -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/geom-knn.jpg) - -Doodle w/ K-nearest neighbor search result visualization - -[Live demo](https://demo.thi.ng/umbrella/geom-knn/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/geom-knn) - -### gesture-analysis - -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/gesture-analysis.png) - -Mouse gesture / stroke analysis, simplification, corner detection - -[Live demo](https://demo.thi.ng/umbrella/gesture-analysis/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/gesture-analysis) - -### hdom-canvas-clock - -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/hdom-canvas-clock.png) - -Realtime analog clock demo - -[Live demo](https://demo.thi.ng/umbrella/hdom-canvas-clock/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/hdom-canvas-clock) - -### hdom-canvas-draw - -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/hdom-canvas-draw.jpg) - -Interactive pattern drawing demo using transducers - -[Live demo](https://demo.thi.ng/umbrella/hdom-canvas-draw/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/hdom-canvas-draw) - -### hdom-canvas-particles - -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/hdom-canvas-particles.jpg) - -2D Bezier curve-guided particle system - -[Live demo](https://demo.thi.ng/umbrella/hdom-canvas-particles/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/hdom-canvas-particles) - -### hdom-canvas-shapes - -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/hdom-canvas/hdom-canvas-shapes-results.png) - -Various hdom-canvas shape drawing examples & SVG conversion / export - -[Live demo](https://demo.thi.ng/umbrella/hdom-canvas-shapes/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/hdom-canvas-shapes) - -### iso-plasma - -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/geom/geom-isoline.png) - -Animated sine plasma effect visualized using contour lines - -[Live demo](https://demo.thi.ng/umbrella/iso-plasma/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/iso-plasma) - -### package-stats - -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/package-stats.png) - -CLI util to visualize umbrella pkg stats - -[Live demo](https://demo.thi.ng/umbrella/package-stats/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/package-stats) - -### rotating-voronoi - -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/rotating-voronoi.jpg) - -Animated Voronoi diagram, cubic splines & SVG download - -[Live demo](https://demo.thi.ng/umbrella/rotating-voronoi/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/rotating-voronoi) - -### scenegraph - -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/scenegraph.png) - -2D scenegraph & shape picking - -[Live demo](https://demo.thi.ng/umbrella/scenegraph/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/scenegraph) - -### scenegraph-image - -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/scenegraph-image.png) - -2D scenegraph & image map based geometry manipulation - -[Live demo](https://demo.thi.ng/umbrella/scenegraph-image/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/scenegraph-image) - -### soa-ecs - -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/soa-ecs-100k.png) - -Entity Component System w/ 100k 3D particles - -[Live demo](https://demo.thi.ng/umbrella/soa-ecs/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/soa-ecs) - -### text-canvas - -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/text-canvas.png) - -3D wireframe textmode demo - -[Live demo](https://demo.thi.ng/umbrella/text-canvas/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/text-canvas) - -### webgl-cube - -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/webgl-cube.png) - -WebGL multi-colored cube mesh - -[Live demo](https://demo.thi.ng/umbrella/webgl-cube/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/webgl-cube) - -### webgl-grid - -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/webgl-grid.jpg) - -WebGL instancing, animated grid - -[Live demo](https://demo.thi.ng/umbrella/webgl-grid/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/webgl-grid) - -### webgl-msdf - -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/webgl-msdf.jpg) - -WebGL MSDF text rendering & particle system - -[Live demo](https://demo.thi.ng/umbrella/webgl-msdf/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/webgl-msdf) +| Screenshot | Description | Live demo | Source | +| ------------------------------------------------------------------------------------------------------------------------------------ | -------------------------------------------------------------------- | ----------------------------------------------------------- | ---------------------------------------------------------------------------------------- | +| | Canvas based dial widget | [Demo](https://demo.thi.ng/umbrella/canvas-dial/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/canvas-dial) | +| | Doodle w/ K-nearest neighbor search result visualization | [Demo](https://demo.thi.ng/umbrella/geom-knn/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/geom-knn) | +| | Mouse gesture / stroke analysis, simplification, corner detection | [Demo](https://demo.thi.ng/umbrella/gesture-analysis/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/gesture-analysis) | +| | Realtime analog clock demo | [Demo](https://demo.thi.ng/umbrella/hdom-canvas-clock/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/hdom-canvas-clock) | +| | Interactive pattern drawing demo using transducers | [Demo](https://demo.thi.ng/umbrella/hdom-canvas-draw/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/hdom-canvas-draw) | +| | 2D Bezier curve-guided particle system | [Demo](https://demo.thi.ng/umbrella/hdom-canvas-particles/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/hdom-canvas-particles) | +| | Various hdom-canvas shape drawing examples & SVG conversion / export | [Demo](https://demo.thi.ng/umbrella/hdom-canvas-shapes/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/hdom-canvas-shapes) | +| | Animated sine plasma effect visualized using contour lines | [Demo](https://demo.thi.ng/umbrella/iso-plasma/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/iso-plasma) | +| | CLI util to visualize umbrella pkg stats | [Demo](https://demo.thi.ng/umbrella/package-stats/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/package-stats) | +| | Animated Voronoi diagram, cubic splines & SVG download | [Demo](https://demo.thi.ng/umbrella/rotating-voronoi/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/rotating-voronoi) | +| | 2D scenegraph & shape picking | [Demo](https://demo.thi.ng/umbrella/scenegraph/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/scenegraph) | +| | 2D scenegraph & image map based geometry manipulation | [Demo](https://demo.thi.ng/umbrella/scenegraph-image/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/scenegraph-image) | +| | Entity Component System w/ 100k 3D particles | [Demo](https://demo.thi.ng/umbrella/soa-ecs/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/soa-ecs) | +| | 3D wireframe textmode demo | [Demo](https://demo.thi.ng/umbrella/text-canvas/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/text-canvas) | +| | WebGL multi-colored cube mesh | [Demo](https://demo.thi.ng/umbrella/webgl-cube/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/webgl-cube) | +| | WebGL instancing, animated grid | [Demo](https://demo.thi.ng/umbrella/webgl-grid/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/webgl-grid) | +| | WebGL MSDF text rendering & particle system | [Demo](https://demo.thi.ng/umbrella/webgl-msdf/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/webgl-msdf) | ```ts import * as v from "@thi.ng/vectors"; diff --git a/packages/webgl-msdf/README.md b/packages/webgl-msdf/README.md index e5a3d6f5b2..19aba8ad27 100644 --- a/packages/webgl-msdf/README.md +++ b/packages/webgl-msdf/README.md @@ -1,6 +1,6 @@ -# ![@thi.ng/webgl-msdf](https://media.thi.ng/umbrella/banners/thing-webgl-msdf.svg?1583078723) +# ![@thi.ng/webgl-msdf](https://media.thi.ng/umbrella/banners/thing-webgl-msdf.svg?1584814502) [![npm version](https://img.shields.io/npm/v/@thi.ng/webgl-msdf.svg)](https://www.npmjs.com/package/@thi.ng/webgl-msdf) ![npm downloads](https://img.shields.io/npm/dm/@thi.ng/webgl-msdf.svg) @@ -55,6 +55,7 @@ Package sizes (gzipped): ESM: 1.5KB / CJS: 1.5KB / UMD: 1.6KB - [@thi.ng/vector-pools](https://github.com/thi-ng/umbrella/tree/develop/packages/vector-pools) - [@thi.ng/vectors](https://github.com/thi-ng/umbrella/tree/develop/packages/vectors) - [@thi.ng/webgl](https://github.com/thi-ng/umbrella/tree/develop/packages/webgl) +- [tslib](https://github.com/thi-ng/umbrella/tree/develop/packages/undefined) ## Usage examples @@ -64,13 +65,9 @@ directory are using this package. A selection: -### webgl-msdf - -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/webgl-msdf.jpg) - -WebGL MSDF text rendering & particle system - -[Live demo](https://demo.thi.ng/umbrella/webgl-msdf/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/webgl-msdf) +| Screenshot | Description | Live demo | Source | +| ----------------------------------------------------------------------------------------------------------------- | ------------------------------------------- | ------------------------------------------------ | ----------------------------------------------------------------------------- | +| | WebGL MSDF text rendering & particle system | [Demo](https://demo.thi.ng/umbrella/webgl-msdf/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/webgl-msdf) | ## API diff --git a/packages/webgl-shadertoy/README.md b/packages/webgl-shadertoy/README.md index 164b8b65d6..0f14bb4f1c 100644 --- a/packages/webgl-shadertoy/README.md +++ b/packages/webgl-shadertoy/README.md @@ -1,6 +1,6 @@ -# ![@thi.ng/webgl-shadertoy](https://media.thi.ng/umbrella/banners/thing-webgl-shadertoy.svg?1583078723) +# ![@thi.ng/webgl-shadertoy](https://media.thi.ng/umbrella/banners/thing-webgl-shadertoy.svg?1584814502) [![npm version](https://img.shields.io/npm/v/@thi.ng/webgl-shadertoy.svg)](https://www.npmjs.com/package/@thi.ng/webgl-shadertoy) ![npm downloads](https://img.shields.io/npm/dm/@thi.ng/webgl-shadertoy.svg) @@ -48,6 +48,7 @@ Package sizes (gzipped): ESM: 0.7KB / CJS: 0.7KB / UMD: 0.8KB - [@thi.ng/shader-ast-glsl](https://github.com/thi-ng/umbrella/tree/develop/packages/shader-ast-glsl) - [@thi.ng/transducers](https://github.com/thi-ng/umbrella/tree/develop/packages/transducers) - [@thi.ng/webgl](https://github.com/thi-ng/umbrella/tree/develop/packages/webgl) +- [tslib](https://github.com/thi-ng/umbrella/tree/develop/packages/undefined) ## Usage examples @@ -57,21 +58,10 @@ directory are using this package. A selection: -### shader-ast-evo - -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/shader-ast-evo.jpg) - -Evolutionary shader generation using genetic programming - -[Live demo](https://demo.thi.ng/umbrella/shader-ast-evo/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/shader-ast-evo) - -### webgl-shadertoy - -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/webgl-shadertoy.jpg) - -Shadertoy-like WebGL setup - -[Live demo](https://demo.thi.ng/umbrella/webgl-shadertoy/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/webgl-shadertoy) +| Screenshot | Description | Live demo | Source | +| ---------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------- | ----------------------------------------------------- | ---------------------------------------------------------------------------------- | +| | Evolutionary shader generation using genetic programming | [Demo](https://demo.thi.ng/umbrella/shader-ast-evo/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/shader-ast-evo) | +| | Shadertoy-like WebGL setup | [Demo](https://demo.thi.ng/umbrella/webgl-shadertoy/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/webgl-shadertoy) | ## API diff --git a/packages/webgl/README.md b/packages/webgl/README.md index b30d70de48..79eab135fe 100644 --- a/packages/webgl/README.md +++ b/packages/webgl/README.md @@ -1,6 +1,6 @@ -# ![@thi.ng/webgl](https://media.thi.ng/umbrella/banners/thing-webgl.svg?1583078722) +# ![@thi.ng/webgl](https://media.thi.ng/umbrella/banners/thing-webgl.svg?1584814496) [![npm version](https://img.shields.io/npm/v/@thi.ng/webgl.svg)](https://www.npmjs.com/package/@thi.ng/webgl) ![npm downloads](https://img.shields.io/npm/dm/@thi.ng/webgl.svg) @@ -79,7 +79,7 @@ Largely declarative WebGL 1.0 / 2.0 abstraction layer, partially ported yarn add @thi.ng/webgl ``` -Package sizes (gzipped): ESM: 11.0KB / CJS: 11.1KB / UMD: 10.9KB +Package sizes (gzipped): ESM: 11.0KB / CJS: 11.2KB / UMD: 11.0KB ## Dependencies @@ -97,6 +97,7 @@ Package sizes (gzipped): ESM: 11.0KB / CJS: 11.1KB / UMD: 10.9KB - [@thi.ng/transducers](https://github.com/thi-ng/umbrella/tree/develop/packages/transducers) - [@thi.ng/vector-pools](https://github.com/thi-ng/umbrella/tree/develop/packages/vector-pools) - [@thi.ng/vectors](https://github.com/thi-ng/umbrella/tree/develop/packages/vectors) +- [tslib](https://github.com/thi-ng/umbrella/tree/develop/packages/undefined) ## Usage examples @@ -106,107 +107,21 @@ directory are using this package. A selection: -### shader-ast-evo - -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/shader-ast-evo.jpg) - -Evolutionary shader generation using genetic programming - -[Live demo](https://demo.thi.ng/umbrella/shader-ast-evo/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/shader-ast-evo) - -### shader-ast-noise - -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/shader-ast-noise.jpg) - -HOF shader procedural noise function composition - -[Live demo](https://demo.thi.ng/umbrella/shader-ast-noise/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/shader-ast-noise) - -### shader-ast-raymarch - -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/shader-ast/shader-ast-raymarch.jpg) - -WebGL & JS canvas2D raymarch shader cross-compilation - -[Live demo](https://demo.thi.ng/umbrella/shader-ast-raymarch/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/shader-ast-raymarch) - -### shader-ast-sdf2d - -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/shader-ast-sdf2d.jpg) - -WebGL & JS canvas 2D SDF - -[Live demo](https://demo.thi.ng/umbrella/shader-ast-sdf2d/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/shader-ast-sdf2d) - -### shader-ast-tunnel - -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/shader-ast-tunnel.jpg) - -WebGL & Canvas2D textured tunnel shader - -[Live demo](https://demo.thi.ng/umbrella/shader-ast-tunnel/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/shader-ast-tunnel) - -### soa-ecs - -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/soa-ecs-100k.png) - -Entity Component System w/ 100k 3D particles - -[Live demo](https://demo.thi.ng/umbrella/soa-ecs/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/soa-ecs) - -### webgl-cube - -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/webgl-cube.png) - -WebGL multi-colored cube mesh - -[Live demo](https://demo.thi.ng/umbrella/webgl-cube/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/webgl-cube) - -### webgl-cubemap - -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/webgl-cubemap.jpg) - -WebGL cube maps with async texture loading - -[Live demo](https://demo.thi.ng/umbrella/webgl-cubemap/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/webgl-cubemap) - -### webgl-grid - -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/webgl-grid.jpg) - -WebGL instancing, animated grid - -[Live demo](https://demo.thi.ng/umbrella/webgl-grid/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/webgl-grid) - -### webgl-msdf - -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/webgl-msdf.jpg) - -WebGL MSDF text rendering & particle system - -[Live demo](https://demo.thi.ng/umbrella/webgl-msdf/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/webgl-msdf) - -### webgl-multipass - -Minimal multi-pass / GPGPU example - -[Live demo](https://demo.thi.ng/umbrella/webgl-multipass/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/webgl-multipass) - -### webgl-shadertoy - -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/webgl-shadertoy.jpg) - -Shadertoy-like WebGL setup - -[Live demo](https://demo.thi.ng/umbrella/webgl-shadertoy/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/webgl-shadertoy) - -### webgl-ssao - -![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/webgl-ssao.jpg) - -WebGL screenspace ambient occlusion - -[Live demo](https://demo.thi.ng/umbrella/webgl-ssao/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/webgl-ssao) +| Screenshot | Description | Live demo | Source | +| ---------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------- | --------------------------------------------------------- | -------------------------------------------------------------------------------------- | +| | Evolutionary shader generation using genetic programming | [Demo](https://demo.thi.ng/umbrella/shader-ast-evo/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/shader-ast-evo) | +| | HOF shader procedural noise function composition | [Demo](https://demo.thi.ng/umbrella/shader-ast-noise/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/shader-ast-noise) | +| | WebGL & JS canvas2D raymarch shader cross-compilation | [Demo](https://demo.thi.ng/umbrella/shader-ast-raymarch/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/shader-ast-raymarch) | +| | WebGL & JS canvas 2D SDF | [Demo](https://demo.thi.ng/umbrella/shader-ast-sdf2d/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/shader-ast-sdf2d) | +| | WebGL & Canvas2D textured tunnel shader | [Demo](https://demo.thi.ng/umbrella/shader-ast-tunnel/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/shader-ast-tunnel) | +| | Entity Component System w/ 100k 3D particles | [Demo](https://demo.thi.ng/umbrella/soa-ecs/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/soa-ecs) | +| | WebGL multi-colored cube mesh | [Demo](https://demo.thi.ng/umbrella/webgl-cube/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/webgl-cube) | +| | WebGL cube maps with async texture loading | [Demo](https://demo.thi.ng/umbrella/webgl-cubemap/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/webgl-cubemap) | +| | WebGL instancing, animated grid | [Demo](https://demo.thi.ng/umbrella/webgl-grid/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/webgl-grid) | +| | WebGL MSDF text rendering & particle system | [Demo](https://demo.thi.ng/umbrella/webgl-msdf/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/webgl-msdf) | +| | Minimal multi-pass / GPGPU example | [Demo](https://demo.thi.ng/umbrella/webgl-multipass/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/webgl-multipass) | +| | Shadertoy-like WebGL setup | [Demo](https://demo.thi.ng/umbrella/webgl-shadertoy/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/webgl-shadertoy) | +| | WebGL screenspace ambient occlusion | [Demo](https://demo.thi.ng/umbrella/webgl-ssao/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/webgl-ssao) | ## API diff --git a/packages/zipper/README.md b/packages/zipper/README.md index 6c8bb68657..18810d02d2 100644 --- a/packages/zipper/README.md +++ b/packages/zipper/README.md @@ -1,6 +1,6 @@ -# ![@thi.ng/zipper](https://media.thi.ng/umbrella/banners/thing-zipper.svg?1581297779) +# ![@thi.ng/zipper](https://media.thi.ng/umbrella/banners/thing-zipper.svg?1584814388) [![npm version](https://img.shields.io/npm/v/@thi.ng/zipper.svg)](https://www.npmjs.com/package/@thi.ng/zipper) ![npm downloads](https://img.shields.io/npm/dm/@thi.ng/zipper.svg) @@ -59,6 +59,7 @@ Package sizes (gzipped): ESM: 1.0KB / CJS: 1.1KB / UMD: 1.2KB - [@thi.ng/api](https://github.com/thi-ng/umbrella/tree/develop/packages/api) - [@thi.ng/arrays](https://github.com/thi-ng/umbrella/tree/develop/packages/arrays) - [@thi.ng/checks](https://github.com/thi-ng/umbrella/tree/develop/packages/checks) +- [tslib](https://github.com/thi-ng/umbrella/tree/develop/packages/undefined) ## API From 7cecf2440754a25b0b1a4ca967f49171fe83fed7 Mon Sep 17 00:00:00 2001 From: Karsten Schmidt Date: Sun, 22 Mar 2020 00:30:45 +0000 Subject: [PATCH 24/70] feat(hiccup-markdown): add table serializer & test, update deps --- packages/hiccup-markdown/package.json | 1 + packages/hiccup-markdown/src/serialize.ts | 49 +++++++++++++++++++++- packages/hiccup-markdown/test/serialize.ts | 33 +++++++++++++++ 3 files changed, 82 insertions(+), 1 deletion(-) diff --git a/packages/hiccup-markdown/package.json b/packages/hiccup-markdown/package.json index f2c04ead9f..c3d6fb9a2c 100644 --- a/packages/hiccup-markdown/package.json +++ b/packages/hiccup-markdown/package.json @@ -45,6 +45,7 @@ "@thi.ng/fsm": "^2.4.0", "@thi.ng/hiccup": "^3.2.13", "@thi.ng/strings": "^1.7.0", + "@thi.ng/text-canvas": "^0.2.1", "@thi.ng/transducers": "^6.4.1", "tslib": "^1.11.1" }, diff --git a/packages/hiccup-markdown/src/serialize.ts b/packages/hiccup-markdown/src/serialize.ts index dc286ecf53..19f77e2e07 100644 --- a/packages/hiccup-markdown/src/serialize.ts +++ b/packages/hiccup-markdown/src/serialize.ts @@ -8,6 +8,8 @@ import { DEFAULT, defmulti, MultiFn3 } from "@thi.ng/defmulti"; import { illegalArgs } from "@thi.ng/errors"; import { normalize } from "@thi.ng/hiccup"; import { repeat, wrap } from "@thi.ng/strings"; +import { Border, tableCanvas, toString } from "@thi.ng/text-canvas"; +import { map } from "@thi.ng/transducers"; interface SerializeState { indent: number; @@ -156,5 +158,50 @@ serializeElement.addAll({ br: () => "\\\n", - hr: () => "\n---\n" + hr: () => "\n---\n", + + table: (el, ctx) => { + let thead: any[] = []; + let tbody: any[] = []; + let colWidths: number[] = []; + + const rows = (rows: any[]) => + rows.map((x: any) => + normalize(x)[2].map((td: any, i: number) => { + const cell = serialize(td, ctx); + colWidths[i] = Math.max(colWidths[i] || 3, cell.length); + return cell; + }) + ); + + for (let child of el[2]) { + child = normalize(child); + switch (child[0]) { + case "thead": + thead = rows(child[2]); + break; + case "tbody": + tbody = rows(child[2]); + break; + } + } + return ( + "\n" + + toString( + tableCanvas( + { + cols: [...map((width) => ({ width }), colWidths)], + padding: [1, 0], + border: Border.V + }, + [ + ...thead, + [...map((w) => repeat("-", w), colWidths)], + ...tbody + ] + ) + ) + + "\n" + ); + } }); diff --git a/packages/hiccup-markdown/test/serialize.ts b/packages/hiccup-markdown/test/serialize.ts index 1d6ca8b15d..0250c5e7c2 100644 --- a/packages/hiccup-markdown/test/serialize.ts +++ b/packages/hiccup-markdown/test/serialize.ts @@ -58,6 +58,33 @@ describe("hiccup-markdown", () => { "baz" ], ["blockquote", "So long and thanks for all the fish."], + [ + "table", + [ + "thead", + [ + "tr", + ["th", "ID"], + ["th", "Name"], + ["th", "Comment"] + ] + ], + [ + "tbody", + [ + "tr", + ["td", 1], + ["td", ["code", "map()"]], + ["td", "Transform"] + ], + [ + "tr", + ["td", 2], + ["td", ["code", "filter()"]], + ["td", "Predicate"] + ] + ] + ], [ "p", "More info ", @@ -89,6 +116,12 @@ My magic number is: 42 > So long and thanks for all the fish. +| ID | Name | Comment | +| --- | ---------- | --------- | +| 1 | \`map()\` | Transform | +| 2 | \`filter()\` | Predicate | + + More info [here](http://thi.ng/hiccup-markdown). ` ); From 4b72b92da8c832e2593a56554243e477c6bb0741 Mon Sep 17 00:00:00 2001 From: Karsten Schmidt Date: Sun, 22 Mar 2020 02:50:25 +0000 Subject: [PATCH 25/70] feat(hiccup-markdown): add table caption support - update `th` serializer to use bold formatting --- packages/hiccup-markdown/src/serialize.ts | 23 +++++++++++++--------- packages/hiccup-markdown/test/serialize.ts | 15 +++++++------- 2 files changed, 22 insertions(+), 16 deletions(-) diff --git a/packages/hiccup-markdown/src/serialize.ts b/packages/hiccup-markdown/src/serialize.ts index 19f77e2e07..af4af020ad 100644 --- a/packages/hiccup-markdown/src/serialize.ts +++ b/packages/hiccup-markdown/src/serialize.ts @@ -9,7 +9,6 @@ import { illegalArgs } from "@thi.ng/errors"; import { normalize } from "@thi.ng/hiccup"; import { repeat, wrap } from "@thi.ng/strings"; import { Border, tableCanvas, toString } from "@thi.ng/text-canvas"; -import { map } from "@thi.ng/transducers"; interface SerializeState { indent: number; @@ -19,7 +18,7 @@ interface SerializeState { } export const serialize = (tree: any, ctx: any) => - _serialize(tree, ctx, { indent: 0, sep: "" }); + _serialize(tree, ctx, { indent: 0, sep: "" }).replace(/\n{3,}/g, "\n\n"); const _serialize = (tree: any, ctx: any, state: SerializeState): string => { if (tree == null) return ""; @@ -160,7 +159,8 @@ serializeElement.addAll({ hr: () => "\n---\n", - table: (el, ctx) => { + table: (el, ctx, state) => { + let caption = ""; let thead: any[] = []; let tbody: any[] = []; let colWidths: number[] = []; @@ -183,6 +183,11 @@ serializeElement.addAll({ case "tbody": tbody = rows(child[2]); break; + case "caption": + caption = body(child, ctx, state); + break; + default: + // TODO output warning? } } return ( @@ -190,18 +195,18 @@ serializeElement.addAll({ toString( tableCanvas( { - cols: [...map((width) => ({ width }), colWidths)], + cols: colWidths.map((width) => ({ width })), padding: [1, 0], border: Border.V }, - [ - ...thead, - [...map((w) => repeat("-", w), colWidths)], - ...tbody - ] + [...thead, colWidths.map((w) => repeat("-", w)), ...tbody] ) ) + + "\n" + + caption + "\n" ); } }); + +serializeElement.isa("th", "strong"); diff --git a/packages/hiccup-markdown/test/serialize.ts b/packages/hiccup-markdown/test/serialize.ts index 0250c5e7c2..64e529d67d 100644 --- a/packages/hiccup-markdown/test/serialize.ts +++ b/packages/hiccup-markdown/test/serialize.ts @@ -60,6 +60,7 @@ describe("hiccup-markdown", () => { ["blockquote", "So long and thanks for all the fish."], [ "table", + ["caption", ["em", "Table caption"]], [ "thead", [ @@ -73,13 +74,13 @@ describe("hiccup-markdown", () => { "tbody", [ "tr", - ["td", 1], + ["th", 1], ["td", ["code", "map()"]], ["td", "Transform"] ], [ "tr", - ["td", 2], + ["th", 2], ["td", ["code", "filter()"]], ["td", "Predicate"] ] @@ -98,7 +99,6 @@ describe("hiccup-markdown", () => { // prettier-ignore `# Hello Markdown - This is a test: **I am strong and _italic_**... My magic number is: 42 @@ -116,11 +116,12 @@ My magic number is: 42 > So long and thanks for all the fish. -| ID | Name | Comment | -| --- | ---------- | --------- | -| 1 | \`map()\` | Transform | -| 2 | \`filter()\` | Predicate | +| **ID** | **Name** | **Comment** | +| ------ | ---------- | ----------- | +| **1** | \`map()\` | Transform | +| **2** | \`filter()\` | Predicate | +_Table caption_ More info [here](http://thi.ng/hiccup-markdown). ` From 85fe17ed84baf55fa1b242e4d76587312e749af2 Mon Sep 17 00:00:00 2001 From: Karsten Schmidt Date: Sun, 22 Mar 2020 02:51:11 +0000 Subject: [PATCH 26/70] docs(hiccup-markdown): update readme --- packages/hiccup-markdown/README.md | 30 ++++++++++++++++++++++---- packages/hiccup-markdown/README.tpl.md | 27 +++++++++++++++++++---- 2 files changed, 49 insertions(+), 8 deletions(-) diff --git a/packages/hiccup-markdown/README.md b/packages/hiccup-markdown/README.md index 52a49f3f11..e7c0ed577a 100644 --- a/packages/hiccup-markdown/README.md +++ b/packages/hiccup-markdown/README.md @@ -1,6 +1,6 @@ -# ![@thi.ng/hiccup-markdown](https://media.thi.ng/umbrella/banners/thing-hiccup-markdown.svg?1584814425) +# ![@thi.ng/hiccup-markdown](https://media.thi.ng/umbrella/banners/thing-hiccup-markdown.svg?1584845437) [![npm version](https://img.shields.io/npm/v/@thi.ng/hiccup-markdown.svg)](https://www.npmjs.com/package/@thi.ng/hiccup-markdown) ![npm downloads](https://img.shields.io/npm/dm/@thi.ng/hiccup-markdown.svg) @@ -46,7 +46,7 @@ parser and an extensible Hiccup-to-Markdown converter. yarn add @thi.ng/hiccup-markdown ``` -Package sizes (gzipped): ESM: 2.5KB / CJS: 2.5KB / UMD: 2.4KB +Package sizes (gzipped): CJS: 2.8KB ## Dependencies @@ -57,6 +57,7 @@ Package sizes (gzipped): ESM: 2.5KB / CJS: 2.5KB / UMD: 2.4KB - [@thi.ng/fsm](https://github.com/thi-ng/umbrella/tree/develop/packages/fsm) - [@thi.ng/hiccup](https://github.com/thi-ng/umbrella/tree/develop/packages/hiccup) - [@thi.ng/strings](https://github.com/thi-ng/umbrella/tree/develop/packages/strings) +- [@thi.ng/text-canvas](https://github.com/thi-ng/umbrella/tree/develop/packages/text-canvas) - [@thi.ng/transducers](https://github.com/thi-ng/umbrella/tree/develop/packages/transducers) - [tslib](https://github.com/thi-ng/umbrella/tree/develop/packages/undefined) @@ -229,6 +230,7 @@ standard (applicable) Markdown features: - Images (w/ optional alt attrib) - Links, image links - Code blocks w/ language hint (GFM output) +- Tables - Blockquotes - Nested lists (ordered & unordered) - Horizontal rule / separator @@ -236,7 +238,6 @@ standard (applicable) Markdown features: Not (yet) supported: -- Tables - Nested blockquotes - Link refs - Wordwrapped output @@ -301,6 +302,13 @@ serialize( "baz"], ["blockquote", "So long and thanks for all the fish."], + ["table", + ["caption", ["em", "Table #1"]], + ["thead", + ["tr", ["th", "ID"], ["th", "Name"]]], + ["tbody", + ["tr", ["td", 1], ["td", "Alice B. Charles"]], + ["tr", ["td", 2], ["td", "Bart Simpson"]]]], ["p", "More info ", [thingLink, "hiccup-markdown", "here"], "."]], @@ -334,6 +342,13 @@ import { serialize } from "@thi.ng/hiccup-markdown"; > So long and thanks for all the fish. +| **ID** | **Name** | +| ------- | ---------------- | +| 1 | Alice B. Charles | +| 2 | Bart Simpson | + +_Table #1_ + More info [here](http://thi.ng/hiccup-markdown). ``` @@ -341,7 +356,7 @@ Realized result: --- -# Hello Markdown +# Hello Markdown This is a test: **I am strong and _italic_**... @@ -360,6 +375,13 @@ import { serialize } from "@thi.ng/hiccup-markdown"; > So long and thanks for all the fish. +| **ID** | **Name** | +| ------- | ---------------- | +| 1 | Alice B. Charles | +| 2 | Bart Simpson | + +_Table #1_ + More info [here](http://thi.ng/hiccup-markdown). --- diff --git a/packages/hiccup-markdown/README.tpl.md b/packages/hiccup-markdown/README.tpl.md index f6aae0b130..3488b7cefd 100644 --- a/packages/hiccup-markdown/README.tpl.md +++ b/packages/hiccup-markdown/README.tpl.md @@ -196,6 +196,7 @@ standard (applicable) Markdown features: - Images (w/ optional alt attrib) - Links, image links - Code blocks w/ language hint (GFM output) +- Tables - Blockquotes - Nested lists (ordered & unordered) - Horizontal rule / separator @@ -203,7 +204,6 @@ standard (applicable) Markdown features: Not (yet) supported: -- Tables - Nested blockquotes - Link refs - Wordwrapped output @@ -268,6 +268,13 @@ serialize( "baz"], ["blockquote", "So long and thanks for all the fish."], + ["table", + ["caption", ["em", "Table #1"]], + ["thead", + ["tr", ["th", "ID"], ["th", "Name"]]], + ["tbody", + ["tr", ["td", 1], ["td", "Alice B. Charles"]], + ["tr", ["td", 2], ["td", "Bart Simpson"]]]], ["p", "More info ", [thingLink, "hiccup-markdown", "here"], "."]], @@ -284,7 +291,6 @@ layout breakage) ```md # Hello Markdown - This is a test: **I am strong and _italic_**... My magic number is: 42 @@ -302,6 +308,13 @@ import { serialize } from "@thi.ng/hiccup-markdown"; > So long and thanks for all the fish. +| **ID** | **Name** | +| ------- | ---------------- | +| 1 | Alice B. Charles | +| 2 | Bart Simpson | + +_Table #1_ + More info [here](http://thi.ng/hiccup-markdown). ``` @@ -309,8 +322,7 @@ Realized result: --- -# Hello Markdown - +# Hello Markdown This is a test: **I am strong and _italic_**... @@ -329,6 +341,13 @@ import { serialize } from "@thi.ng/hiccup-markdown"; > So long and thanks for all the fish. +| **ID** | **Name** | +| ------- | ---------------- | +| 1 | Alice B. Charles | +| 2 | Bart Simpson | + +_Table #1_ + More info [here](http://thi.ng/hiccup-markdown). --- From 82868e3ff1fb2e555dd28229e6076bc5f9654aad Mon Sep 17 00:00:00 2001 From: Karsten Schmidt Date: Sun, 22 Mar 2020 03:08:50 +0000 Subject: [PATCH 27/70] build: update readme generator & config --- tools/config.json | 10 +++++++++- tools/src/api.ts | 2 ++ tools/src/partials/package.ts | 22 ++++++++-------------- 3 files changed, 19 insertions(+), 15 deletions(-) diff --git a/tools/config.json b/tools/config.json index e4fbac6727..0d13ab91bd 100644 --- a/tools/config.json +++ b/tools/config.json @@ -2,10 +2,18 @@ "repoURL": "https://github.com/thi-ng/umbrella", "userURL": "https://github.com/", "assetURL": "https://raw.githubusercontent.com/thi-ng/umbrella", + "bannerURL": "https://media.thi.ng/umbrella/banners/thing-", "demoURL": "https://demo.thi.ng/umbrella", "docURL": "https://docs.thi.ng/umbrella", "exampleDir": "../../examples", "mainAuthor": "Karsten Schmidt", "license": "Apache Software License 2.0", - "pkgScope": "@thi.ng" + "pkgScope": "@thi.ng", + "statuses": { + "alpha": "bleeding edge / work-in-progress", + "beta": "possibly breaking changes forthcoming", + "stable": "used in production", + "refactor": "undergoing major refactoring", + "deprecated": "no further development planned" + } } diff --git a/tools/src/api.ts b/tools/src/api.ts index dd13cec1f4..a8a4b37669 100644 --- a/tools/src/api.ts +++ b/tools/src/api.ts @@ -14,12 +14,14 @@ export interface BaseConfig { repoURL: string; userURL: string; assetURL: string; + bannerURL: string; demoURL: string; docURL: string; exampleDir: string; mainAuthor: string; license: string; pkgScope: string; + statuses: IObjectOf; } export interface Config extends BaseConfig { diff --git a/tools/src/partials/package.ts b/tools/src/partials/package.ts index d473053b9c..f437521202 100644 --- a/tools/src/partials/package.ts +++ b/tools/src/partials/package.ts @@ -1,4 +1,5 @@ import { IObjectOf } from "@thi.ng/api"; +import { bytes } from "@thi.ng/strings"; import { readdirSync } from "fs"; import { META_FIELD, Package, RE_PKG } from "../api"; import { CONFIG } from "../config"; @@ -54,17 +55,12 @@ export const packageDeps = (pkg: Package) => { return deps.length ? list(deps) : "None"; }; -export const packageStatus = (status = "stable") => { - const statuses: IObjectOf = { - alpha: " - bleeding edge / work-in-progress", - beta: " - possibly breaking changes forthcoming", - stable: " - used in production", - refactor: " - undergoing major refactoring" - }; +export const packageStatus = (id = "stable") => { + const status = CONFIG.statuses[id]; return [ "### Status", "", - `**${status.toUpperCase()}**${statuses[status] || ""}` + `**${id.toUpperCase()}**${status ? " - " + status : ""}` ].join("\n"); }; @@ -73,9 +69,7 @@ export const packageSize = () => { const meta = readJSON("./.meta/size.json"); const res = []; for (let id in meta) { - res.push( - `${id.toUpperCase()}: ${(meta[id].gzip / 1024).toFixed(1)}KB` - ); + res.push(`${id.toUpperCase()}: ${bytes(meta[id].gzip)}`); } return "Package sizes (gzipped): " + res.join(" / "); } catch (_) { @@ -84,6 +78,6 @@ export const packageSize = () => { }; export const packageBanner = (name: string) => - `![${name}](https://media.thi.ng/umbrella/banners/thing-${shortName( - name - )}.svg?${(Date.now() / 1000) | 0})`; + `![${name}](${CONFIG.bannerURL}${shortName(name)}.svg?${(Date.now() / + 1000) | + 0})`; From 82948b8dc316ba402b2124cd7263c47e8dc7d2eb Mon Sep 17 00:00:00 2001 From: Karsten Schmidt Date: Mon, 23 Mar 2020 19:16:00 +0000 Subject: [PATCH 28/70] feat(atom): update types, API for supporting type-checked & unchecked paths BREAKING CHANGE: update types, API for supporting type-checked & unchecked paths - support path type checking for upto 8 levels (before falling back to `any`) - update `resetIn()` / `swapIn()` impls in all types to expect type-checked paths - add `resetInUnsafe()` / `swapInUnsafe()` for string-based / unchecked paths - remove support for non-atom-like Cursor parent states - simplify Cursor ctor - remove `IViewable` interface and `.addView()` impls (use `defView()` instead) - remove `ViewTransform` type alias - add factory fns for typed paths: - defAtom() - defCursor() - defHistory() - defTransacted() - defView() - add factory fns for untyped paths: - defCursorUnsafe() - defViewUnsafe() --- packages/atom/src/api.ts | 34 ++--- packages/atom/src/atom.ts | 35 +++--- packages/atom/src/cursor.ts | 211 +++++++++++++++++++++----------- packages/atom/src/history.ts | 52 ++++---- packages/atom/src/transacted.ts | 31 +++-- packages/atom/src/view.ts | 193 +++++++++++++++++++++++++++-- 6 files changed, 394 insertions(+), 162 deletions(-) diff --git a/packages/atom/src/api.ts b/packages/atom/src/api.ts index 8dbf91fe16..b595a88160 100644 --- a/packages/atom/src/api.ts +++ b/packages/atom/src/api.ts @@ -13,7 +13,7 @@ import type { Keys5, Keys6, Keys7, - Path, + NumOrString, Predicate, Val1, Val2, @@ -22,18 +22,14 @@ import type { Val5, Val6, Val7, - Val8 + Val8, } from "@thi.ng/api"; -export type SwapFn = (curr: T, ...args: any[]) => T; +export type AtomPath = Readonly; -export type ViewTransform = (x: any) => T; +export type SwapFn = (curr: T, ...args: any[]) => T; -export interface ReadonlyAtom - extends IDeref, - IRelease, - IWatch, - IViewable {} +export interface ReadonlyAtom extends IDeref, IRelease, IWatch {} export interface IAtom extends ReadonlyAtom, IReset, ISwap {} @@ -114,10 +110,11 @@ export interface IReset { G extends Keys6, H extends Keys7 >( - path: readonly [A, B, C, D, E, F, G, H, ...PropertyKey[]], + path: readonly [A, B, C, D, E, F, G, H, ...NumOrString[]], val: any ): T; - // resetIn(path: Readonly, val: any): T; + + resetInUnsafe(path: string | AtomPath, val: any): T; } export interface ISwap { @@ -212,26 +209,21 @@ export interface ISwap { fn: SwapFn, ...args: any[] ): T; - // swapIn(path: Readonly, fn: SwapFn, ...args: any[]): T; + + swapInUnsafe(path: string | AtomPath, fn: SwapFn, ...args: any[]): T; } export interface IView extends IDeref, IID, IRelease { - readonly path: PropertyKey[]; + readonly path: AtomPath; readonly value: T | undefined; view(): T | undefined; changed(): boolean; } -export interface IViewable { - addView(path: Path, tx?: ViewTransform, lazy?: boolean): IView; -} - export interface CursorOpts { - parent: IAtom; - path: Path | [(s: any) => T, (s: any, v: T) => any]; - validate?: Predicate; - id?: string; + validate: Predicate; + id: string; } export interface IHistory extends IAtom, IClear, INotify { diff --git a/packages/atom/src/atom.ts b/packages/atom/src/atom.ts index 097ac4bc73..a3584d5667 100644 --- a/packages/atom/src/atom.ts +++ b/packages/atom/src/atom.ts @@ -1,7 +1,6 @@ import { IWatchMixin } from "@thi.ng/api"; import { illegalState } from "@thi.ng/errors"; import { setIn, updateIn } from "@thi.ng/paths"; -import { View } from "./view"; import type { IEquiv, Keys, @@ -12,7 +11,7 @@ import type { Keys5, Keys6, Keys7, - Path, + NumOrString, Predicate, Val1, Val2, @@ -22,14 +21,12 @@ import type { Val6, Val7, Val8, - Watch + Watch, } from "@thi.ng/api"; -import type { - IAtom, - IView, - SwapFn, - ViewTransform -} from "./api"; +import type { AtomPath, IAtom, SwapFn } from "./api"; + +export const defAtom = (value: T, valid?: Predicate) => + new Atom(value, valid); /** * Mutable wrapper for an (usually) immutable value. Support for @@ -139,9 +136,13 @@ export class Atom implements IAtom, IEquiv { F extends Keys5, G extends Keys6, H extends Keys7 - >(path: readonly [A, B, C, D, E, F, G, H, ...PropertyKey[]], val: any): T; - resetIn(path: Readonly, val: any) { - return this.reset(setIn(this._value, path, val)); + >(path: readonly [A, B, C, D, E, F, G, H, ...NumOrString[]], val: any): T; + resetIn(path: AtomPath, val: any) { + return this.reset(setIn(this._value, path, val)); + } + + resetInUnsafe(path: string | AtomPath, val: any): T { + return this.reset(setIn(this._value, path, val)); } swap(fn: SwapFn, ...args: any[]) { @@ -237,7 +238,11 @@ export class Atom implements IAtom, IEquiv { fn: SwapFn, ...args: any[] ): T; - swapIn(path: Readonly, fn: SwapFn, ...args: any[]) { + swapIn(path: AtomPath, fn: SwapFn, ...args: any[]) { + return this.reset(updateIn(this._value, path, fn, ...args)); + } + + swapInUnsafe(path: string | AtomPath, fn: SwapFn, ...args: any[]) { return this.reset(updateIn(this._value, path, fn, ...args)); } @@ -250,10 +255,6 @@ export class Atom implements IAtom, IEquiv { // @ts-ignore: mixin notifyWatches(old: T, prev: T) {} - addView(path: Path, tx?: ViewTransform, lazy = true): IView { - return new View(this, path, tx, lazy); - } - release() { delete this._watches; delete this._value; diff --git a/packages/atom/src/cursor.ts b/packages/atom/src/cursor.ts index eedbdc48c6..780b31eec7 100644 --- a/packages/atom/src/cursor.ts +++ b/packages/atom/src/cursor.ts @@ -1,12 +1,7 @@ -import { isArray, isFunction } from "@thi.ng/checks"; -import { illegalArgs, illegalArity } from "@thi.ng/errors"; import { getter, setter } from "@thi.ng/paths"; import { Atom } from "./atom"; import { nextID } from "./idgen"; -import { View } from "./view"; import type { - Fn, - Fn2, IID, IRelease, Keys, @@ -17,8 +12,6 @@ import type { Keys5, Keys6, Keys7, - Path, - Predicate, Val1, Val2, Val3, @@ -27,19 +20,129 @@ import type { Val6, Val7, Val8, - Watch + Watch, } from "@thi.ng/api"; -import type { - CursorOpts, - IAtom, - IView, - SwapFn, - ViewTransform -} from "./api"; +import type { AtomPath, CursorOpts, IAtom, SwapFn } from "./api"; + +export function defCursor>( + parent: IAtom, + path: readonly [A], + opts?: Partial>> +): Cursor>; +export function defCursor, B extends Keys1>( + parent: IAtom, + path: readonly [A, B], + opts?: Partial>> +): Cursor>; +export function defCursor< + T, + A extends Keys, + B extends Keys1, + C extends Keys2 +>( + parent: IAtom, + path: readonly [A, B, C], + opts?: Partial>> +): Cursor>; +export function defCursor< + T, + A extends Keys, + B extends Keys1, + C extends Keys2, + D extends Keys3 +>( + parent: IAtom, + path: readonly [A, B, C, D], + opts?: Partial>> +): Cursor>; +export function defCursor< + T, + A extends Keys, + B extends Keys1, + C extends Keys2, + D extends Keys3, + E extends Keys4 +>( + parent: IAtom, + path: readonly [A, B, C, D, E], + opts?: Partial>> +): Cursor>; +export function defCursor< + T, + A extends Keys, + B extends Keys1, + C extends Keys2, + D extends Keys3, + E extends Keys4, + F extends Keys5 +>( + parent: IAtom, + path: readonly [A, B, C, D, E, F], + opts?: Partial>> +): Cursor>; +export function defCursor< + T, + A extends Keys, + B extends Keys1, + C extends Keys2, + D extends Keys3, + E extends Keys4, + F extends Keys5, + G extends Keys6 +>( + parent: IAtom, + path: readonly [A, B, C, D, E, F, G], + opts?: Partial>> +): Cursor>; +export function defCursor< + T, + A extends Keys, + B extends Keys1, + C extends Keys2, + D extends Keys3, + E extends Keys4, + F extends Keys5, + G extends Keys6, + H extends Keys7 +>( + parent: IAtom, + path: readonly [A, B, C, D, E, F, G, H], + opts?: Partial>> +): Cursor>; +export function defCursor< + T, + A extends Keys, + B extends Keys1, + C extends Keys2, + D extends Keys3, + E extends Keys4, + F extends Keys5, + G extends Keys6, + H extends Keys7 +>( + parent: IAtom, + path: readonly [A, B, C, D, E, F, G, H, ...PropertyKey[]], + opts?: Partial> +): Cursor; +export function defCursor( + parent: IAtom, + path: AtomPath, + opts?: Partial> +): Cursor { + return new Cursor(parent, path, opts); +} + +export function defCursorUnsafe( + parent: IAtom, + path: string | AtomPath, + opts?: Partial> +) { + return new Cursor(parent, path, opts); +} /** * A cursor provides read/write access to a path location within a - * nested parent state (Atom or another Cursor). + * nested (Atom-like) parent state. * * @remarks * Cursors behave like Atoms for all practical purposes, i.e. support @@ -73,59 +176,22 @@ export class Cursor implements IAtom, IID, IRelease { protected local: Atom; protected selfUpdate: boolean; - constructor(opts: CursorOpts); - constructor(parent: IAtom, path: Path); constructor( parent: IAtom, - lookup: Fn, - update: Fn2 - ); - constructor(...args: any[]) { - let parent!: IAtom; - let lookup: Fn | undefined; - let update: Fn2 | undefined; - let validate: Predicate | undefined; - let opts: CursorOpts; - let id: string | undefined; - switch (args.length) { - case 1: - opts = args[0]; - id = opts.id; - parent = opts.parent; - validate = opts.validate; - if (opts.path) { - if (isArray(opts.path) && isFunction(opts.path[0])) { - [lookup, update] = opts.path; - } else { - lookup = getter(opts.path); - update = setter(opts.path); - } - } else { - illegalArgs("missing path config"); - } - break; - case 2: - parent = args[0]; - lookup = getter(args[1]); - update = setter(args[1]); - break; - case 3: - [parent, lookup, update] = args; - break; - default: - illegalArity(args.length); - } + path: string | AtomPath, + opts: Partial> = {} + ) { + const validate = opts.validate; + const lookup = getter(path); + const update = setter(path); this.parent = parent; - this.id = id || `cursor-${nextID()}`; + this.id = opts.id || `cursor-${nextID()}`; this.selfUpdate = false; - if (!lookup || !update) { - illegalArgs(); - } - this.local = new Atom(lookup!(parent.deref()), validate); + this.local = new Atom(lookup(parent.deref()), validate); this.local.addWatch(this.id, (_, prev, curr) => { if (prev !== curr) { this.selfUpdate = true; - parent.swap((state) => update!(state, curr)); + parent.swap((state) => update(state, curr)); this.selfUpdate = false; } }); @@ -228,8 +294,12 @@ export class Cursor implements IAtom, IID, IRelease { G extends Keys6, H extends Keys7 >(path: readonly [A, B, C, D, E, F, G, H, ...PropertyKey[]], val: any): T; - resetIn(path: Readonly, val: any) { - return this.local.resetIn(path, val); + resetIn(path: AtomPath, val: any) { + return this.local.resetInUnsafe(path, val); + } + + resetInUnsafe(path: string | AtomPath, val: any) { + return this.local.resetInUnsafe(path, val); } swap(fn: SwapFn, ...args: any[]): T { @@ -325,8 +395,12 @@ export class Cursor implements IAtom, IID, IRelease { fn: SwapFn, ...args: any[] ): T; - swapIn(path: Readonly, fn: SwapFn, ...args: any[]) { - return this.local.swapIn(path, fn, ...args); + swapIn(path: AtomPath, fn: SwapFn, ...args: any[]) { + return this.local.swapInUnsafe(path, fn, ...args); + } + + swapInUnsafe(path: string | AtomPath, fn: SwapFn, ...args: any[]) { + return this.local.swapInUnsafe(path, fn, ...args); } addWatch(id: string, fn: Watch) { @@ -337,12 +411,7 @@ export class Cursor implements IAtom, IID, IRelease { return this.local.removeWatch(id); } - /* istanbul ignore next */ notifyWatches(oldState: T, newState: T) { return this.local.notifyWatches(oldState, newState); } - - addView(path: Path, tx?: ViewTransform, lazy = true): IView { - return new View(this, path, tx, lazy); - } } diff --git a/packages/atom/src/history.ts b/packages/atom/src/history.ts index 23ddd932e4..9048740dd0 100644 --- a/packages/atom/src/history.ts +++ b/packages/atom/src/history.ts @@ -1,5 +1,8 @@ -import { - INotifyMixin, +import { INotifyMixin } from "@thi.ng/api"; +import { equiv } from "@thi.ng/equiv"; +import { getIn, setIn, updateIn } from "@thi.ng/paths"; +import type { + Event, Keys, Keys1, Keys2, @@ -8,6 +11,8 @@ import { Keys5, Keys6, Keys7, + Listener, + Predicate2, Val1, Val2, Val3, @@ -15,25 +20,16 @@ import { Val5, Val6, Val7, - Val8 + Val8, + Watch, } from "@thi.ng/api"; -import { equiv } from "@thi.ng/equiv"; -import { getIn, setIn, updateIn } from "@thi.ng/paths"; -import { View } from "./view"; -import type { - Event, - Listener, - Path, - Predicate2, - Watch -} from "@thi.ng/api"; -import type { - IAtom, - IHistory, - IView, - SwapFn, - ViewTransform -} from "./api"; +import type { AtomPath, IAtom, IHistory, SwapFn } from "./api"; + +export const defHistory = ( + state: IAtom, + maxLen?: number, + changed?: Predicate2 +) => new History(state, maxLen, changed); /** * Undo/redo history stack wrapper for atoms and cursors. Implements @@ -230,7 +226,7 @@ export class History implements IHistory { G extends Keys6, H extends Keys7 >(path: readonly [A, B, C, D, E, F, G, H, ...PropertyKey[]], val: any): T; - resetIn(path: Readonly, val: any) { + resetIn(path: AtomPath, val: any) { const prev = this.state.deref(); const prevV = getIn(prev, path); const curr = setIn(prev, path, val); @@ -239,6 +235,10 @@ export class History implements IHistory { return curr; } + resetInUnsafe(path: AtomPath, val: any) { + return this.resetIn(path, val); + } + /** * `ISwap.swap()` implementation. Delegates to wrapped atom/cursor, * but too applies `changed` predicate to determine if there was a @@ -340,7 +340,7 @@ export class History implements IHistory { fn: SwapFn, ...args: any[] ): T; - swapIn(path: Readonly, fn: SwapFn, ...args: any[]) { + swapIn(path: AtomPath, fn: SwapFn, ...args: any[]) { const prev = this.state.deref(); const prevV = getIn(prev, path); const curr = updateIn(this.state.deref(), path, fn, ...args); @@ -349,6 +349,10 @@ export class History implements IHistory { return curr; } + swapInUnsafe(path: string | AtomPath, fn: SwapFn, ...args: any[]) { + return this.swapIn(path, fn, ...args); + } + /** * Records given state in history. This method is only needed when * manually managing snapshots, i.e. when applying multiple swaps on @@ -426,10 +430,6 @@ export class History implements IHistory { return this.state.notifyWatches(oldState, newState); } - addView(path: Path, tx?: ViewTransform, lazy = true): IView { - return new View(this, path, tx, lazy); - } - release() { this.state.release(); delete this.state; diff --git a/packages/atom/src/transacted.ts b/packages/atom/src/transacted.ts index 5e7bb75900..00658c14fb 100644 --- a/packages/atom/src/transacted.ts +++ b/packages/atom/src/transacted.ts @@ -1,7 +1,6 @@ import { assert } from "@thi.ng/api"; import { setIn, updateIn } from "@thi.ng/paths"; import { nextID } from "./idgen"; -import { View } from "./view"; import type { Keys, Keys1, @@ -11,7 +10,6 @@ import type { Keys5, Keys6, Keys7, - Path, Val1, Val2, Val3, @@ -20,14 +18,11 @@ import type { Val6, Val7, Val8, - Watch + Watch, } from "@thi.ng/api"; -import type { - IAtom, - IView, - SwapFn, - ViewTransform -} from "./api"; +import type { AtomPath, IAtom, SwapFn } from "./api"; + +export const defTransacted = (parent: IAtom) => new Transacted(parent); export class Transacted implements IAtom { parent: IAtom; @@ -40,7 +35,7 @@ export class Transacted implements IAtom { this.parent = parent; this.current = undefined; this.isActive = false; - this.id = `tx${nextID()}-`; + this.id = `tx-${nextID()}`; } get value() { @@ -134,11 +129,15 @@ export class Transacted implements IAtom { G extends Keys6, H extends Keys7 >(path: readonly [A, B, C, D, E, F, G, H, ...PropertyKey[]], val: any): T; - resetIn(path: Readonly, val: any) { + resetIn(path: AtomPath, val: any) { this.ensureTx(); return this.reset(setIn(this.current, path, val)); } + resetInUnsafe(path: string | AtomPath, val: any) { + return this.resetIn(path, val); + } + swap(fn: SwapFn, ...args: any[]) { this.ensureTx(); return this.reset(fn.apply(null, [this.current!, ...args])); @@ -233,11 +232,15 @@ export class Transacted implements IAtom { fn: SwapFn, ...args: any[] ): T; - swapIn(path: Readonly, fn: SwapFn, ...args: any[]) { + swapIn(path: AtomPath, fn: SwapFn, ...args: any[]) { this.ensureTx(); return this.reset(updateIn(this.current, path, fn, ...args)); } + swapInUnsafe(path: AtomPath, fn: SwapFn, ...args: any[]) { + return this.swapIn(path, fn, ...args); + } + begin() { assert(!this.isActive, "transaction already started"); this.current = this.parent.deref(); @@ -273,10 +276,6 @@ export class Transacted implements IAtom { this.parent.notifyWatches(old, curr); } - addView(path: Path, tx?: ViewTransform, lazy = true): IView { - return new View(this, path, tx, lazy); - } - release() { delete this.parent; delete this.current; diff --git a/packages/atom/src/view.ts b/packages/atom/src/view.ts index 93febfc249..f8342b5ebe 100644 --- a/packages/atom/src/view.ts +++ b/packages/atom/src/view.ts @@ -1,8 +1,179 @@ import { equiv as _equiv } from "@thi.ng/equiv"; import { getter, toPath } from "@thi.ng/paths"; import { nextID } from "./idgen"; -import type { Path } from "@thi.ng/api"; -import type { IView, ReadonlyAtom, ViewTransform } from "./api"; +import type { + Fn, + Keys, + Keys1, + Keys2, + Keys3, + Keys4, + Keys5, + Keys6, + Keys7, + Predicate2, + Val1, + Val2, + Val3, + Val4, + Val5, + Val6, + Val7, + Val8, +} from "@thi.ng/api"; +import type { AtomPath, IView, ReadonlyAtom } from "./api"; + +export function defView( + parent: ReadonlyAtom, + path: readonly [], + tx?: Fn, + lazy?: boolean, + equiv?: Predicate2 +): View; +export function defView, R>( + parent: ReadonlyAtom, + path: readonly [A], + tx?: Fn, R>, + lazy?: boolean, + equiv?: Predicate2> +): View : R>; +export function defView, B extends Keys1, R>( + parent: ReadonlyAtom, + path: readonly [A, B], + tx?: Fn, R>, + lazy?: boolean, + equiv?: Predicate2> +): View : R>; +export function defView< + T, + A extends Keys, + B extends Keys1, + C extends Keys2, + R +>( + parent: ReadonlyAtom, + path: readonly [A, B, C], + tx?: Fn, R>, + lazy?: boolean, + equiv?: Predicate2> +): View : R>; +export function defView< + T, + A extends Keys, + B extends Keys1, + C extends Keys2, + D extends Keys3, + R +>( + parent: ReadonlyAtom, + path: readonly [A, B, C, D], + tx?: Fn, R>, + lazy?: boolean, + equiv?: Predicate2> +): View : R>; +export function defView< + T, + A extends Keys, + B extends Keys1, + C extends Keys2, + D extends Keys3, + E extends Keys4, + R +>( + parent: ReadonlyAtom, + path: readonly [A, B, C, D, E], + tx?: Fn, R>, + lazy?: boolean, + equiv?: Predicate2> +): View : R>; +export function defView< + T, + A extends Keys, + B extends Keys1, + C extends Keys2, + D extends Keys3, + E extends Keys4, + F extends Keys5, + R +>( + parent: ReadonlyAtom, + path: readonly [A, B, C, D, E, F], + tx?: Fn, R>, + lazy?: boolean, + equiv?: Predicate2> +): View : R>; +export function defView< + T, + A extends Keys, + B extends Keys1, + C extends Keys2, + D extends Keys3, + E extends Keys4, + F extends Keys5, + G extends Keys6, + R +>( + parent: ReadonlyAtom, + path: readonly [A, B, C, D, E, F, G], + tx?: Fn, R>, + lazy?: boolean, + equiv?: Predicate2> +): View : R>; +export function defView< + T, + A extends Keys, + B extends Keys1, + C extends Keys2, + D extends Keys3, + E extends Keys4, + F extends Keys5, + G extends Keys6, + H extends Keys7, + R +>( + parent: ReadonlyAtom, + path: readonly [A, B, C, D, E, F, G, H], + tx?: Fn, R>, + lazy?: boolean, + equiv?: Predicate2> +): View : R>; +export function defView< + T, + A extends Keys, + B extends Keys1, + C extends Keys2, + D extends Keys3, + E extends Keys4, + F extends Keys5, + G extends Keys6, + H extends Keys7, + R +>( + parent: ReadonlyAtom, + path: readonly [A, B, C, D, E, F, G, H, ...PropertyKey[]], + tx?: Fn, + lazy?: boolean, + equiv?: Predicate2 +): View; +export function defView( + parent: ReadonlyAtom, + path: AtomPath, + tx?: Fn, + lazy?: boolean, + equiv?: Predicate2 +) { + return new View(parent, path, tx, lazy, equiv); +} + +export function defViewUnsafe( + parent: ReadonlyAtom, + path: string | AtomPath, + tx?: Fn, + lazy?: boolean, + equiv?: Predicate2 +) { + return new View(parent, path, tx, lazy, equiv); +} /** * This class implements readonly access to a deeply nested value with @@ -30,41 +201,41 @@ import type { IView, ReadonlyAtom, ViewTransform } from "./api"; * * @example * ```ts - * a = new Atom({a: {b: 1}}); - * v = a.addView("a.b", (x) => x * 10); + * a = defAtom({ a: { b: 1 } }); + * v = defView(a, ["a", "b"], (x) => x * 10); * * v.deref() * // 10 * * // update atom state - * a.swap((state) => setIn(state, "a.b", 2)); - * // {a: {b: 2}} + * a.resetIn(["a", "b"], 2); + * // { a: { b: 2 } } * * v.changed() * // true * v.deref() * // 20 * - * v.release() * // remove view from parent state + * v.release() * ``` */ export class View implements IView { readonly id: string; readonly parent: ReadonlyAtom; - readonly path: PropertyKey[]; + readonly path: AtomPath; protected state: T | undefined; - protected tx: ViewTransform; + protected tx: Fn; protected unprocessed: any; protected isDirty: boolean; protected isLazy: boolean; constructor( parent: ReadonlyAtom, - path: Readonly, - tx?: ViewTransform, + path: string | AtomPath, + tx?: Fn, lazy = true, equiv = _equiv ) { From 344b5eb319a1b1dac51172e916bf69a49b0a60a6 Mon Sep 17 00:00:00 2001 From: Karsten Schmidt Date: Mon, 23 Mar 2020 19:18:02 +0000 Subject: [PATCH 29/70] test(atom): update tests --- packages/atom/test/cursor.ts | 124 ++++++++++++++++++------------- packages/atom/test/transacted.ts | 16 ++-- packages/atom/test/view.ts | 47 ++++++------ 3 files changed, 107 insertions(+), 80 deletions(-) diff --git a/packages/atom/test/cursor.ts b/packages/atom/test/cursor.ts index 5420ecdd42..67c09bc699 100644 --- a/packages/atom/test/cursor.ts +++ b/packages/atom/test/cursor.ts @@ -1,88 +1,107 @@ import { isNumber } from "@thi.ng/checks"; -import { getIn } from "@thi.ng/paths"; import * as assert from "assert"; -import { Atom, Cursor } from "../src/index"; +import { + Atom, + Cursor, + defAtom, + defCursor +} from "../src/index"; +// import { getIn } from "@thi.ng/paths"; + +interface State { + a: { + b: { + c: number; + g: { + h: number; + }; + }; + d: { + e: number; + }; + }; + f: number; +} describe("cursor", function() { - let a: Atom; + let a: Atom; let c: Cursor; let src: any; beforeEach(() => { src = { a: { b: { c: 23, g: { h: 88 } }, d: { e: 42 } }, f: 66 }; - a = new Atom(src); + a = defAtom(src); }); it("can be deref'd (a)", () => { - c = new Cursor(a, "a"); + c = defCursor(a, ["a"]); assert.strictEqual(c.parent, a); assert.deepStrictEqual(c.deref(), src.a); }); it("can be deref'd (a.b)", () => { - c = new Cursor(a, "a.b"); + c = defCursor(a, ["a", "b"]); assert.deepStrictEqual(c.deref(), src.a.b); }); it("can be deref'd (a.b.c)", () => { - c = new Cursor(a, "a.b.c"); + c = defCursor(a, ["a", "b", "c"]); assert.equal(c.deref(), src.a.b.c); }); it("can be deref'd (path array)", () => { - c = new Cursor(a, ["a", "b", "g", "h"]); + c = defCursor(a, ["a", "b", "g", "h"]); assert.equal(c.deref(), src.a.b.g.h); }); it("doesn't fail w/ invalid path", () => { - c = new Cursor(a, "a.b.x.y.z"); + c = defCursor(>a, ["a", "b", "x", "y", "z"]); assert.strictEqual(c.deref(), undefined); - c = new Cursor(new Atom(null), "a"); + c = defCursor(new Atom(null), ["a"]); assert.strictEqual(c.deref(), undefined); - c = new Cursor(new Atom(null), 0); + c = defCursor(new Atom(null), [0]); assert.strictEqual(c.deref(), undefined); }); - it("works with get/set", () => { - c = new Cursor( - a, - (s) => s.a.b, - (s, x) => ({ ...s, a: { ...s.a, b: x } }) - ); - assert.strictEqual(c.deref(), src.a.b); - c.reset(42); - assert.equal(c.deref(), 42); - assert.equal(c.deref(), getIn(a.deref(), "a.b")); - }); - - it("works with get/set opts", () => { - c = new Cursor({ - parent: a, - path: [(s) => s.a.b, (s, x) => ({ ...s, a: { ...s.a, b: x } })] - }); - assert.strictEqual(c.deref(), src.a.b); - c.reset(42); - assert.equal(c.deref(), 42); - assert.equal(c.deref(), getIn(a.deref(), "a.b")); - }); + // it("works with get/set", () => { + // c = cursor( + // a, + // (s) => s.a.b, + // (s, x) => ({ ...s, a: { ...s.a, b: x } }) + // ); + // assert.strictEqual(c.deref(), src.a.b); + // c.reset(42); + // assert.equal(c.deref(), 42); + // assert.equal(c.deref(), getIn(a.deref(), "a.b")); + // }); + + // it("works with get/set opts", () => { + // c = new Cursor({ + // parent: a, + // path: [(s) => s.a.b, (s, x) => ({ ...s, a: { ...s.a, b: x } })] + // }); + // assert.strictEqual(c.deref(), src.a.b); + // c.reset(42); + // assert.equal(c.deref(), 42); + // assert.equal(c.deref(), getIn(a.deref(), "a.b")); + // }); it("can be validated", () => { - c = new Cursor({ - parent: a, - path: "a.b.c", - validate: isNumber - }); + c = defCursor(a, ["a", "b", "c"], { validate: isNumber }); assert.equal(c.reset(42), 42); assert.equal(c.reset("a"), 42); assert.equal(c.reset(null), 42); - assert.throws( - () => new Cursor({ parent: a, path: "x", validate: isNumber }) + assert.throws(() => + defCursor(>a, ["x"], { validate: isNumber }) ); }); it("can be swapped'd (a.b.c)", () => { - c = new Cursor(a, "a.b.c"); - assert.equal(c.swap((x) => x + 1), src.a.b.c + 1); + c = defCursor(a, ["a", "b", "c"]); + assert.equal( + c.swap((x) => x + 1), + src.a.b.c + 1 + ); assert.equal(c.deref(), src.a.b.c + 1); assert.equal(a.deref().a.b.c, src.a.b.c + 1); assert.strictEqual(a.deref().a.d, src.a.d); @@ -94,7 +113,7 @@ describe("cursor", function() { }); it("can be reset (a.b.c)", () => { - c = new Cursor(a, "a.b.c"); + c = defCursor(a, ["a", "b", "c"]); assert.equal(c.reset(100), 100); assert.equal(c.deref(), 100); assert.equal(a.deref().a.b.c, 100); @@ -103,7 +122,7 @@ describe("cursor", function() { }); it("can update invalid path (x.y.z)", () => { - c = new Cursor(a, "x.y.z"); + c = defCursor(>a, ["x", "y", "z"]); let add = (x: any) => (x != null ? x + 1 : 0); assert.equal(c.swap(add), 0); assert.equal(c.deref(), 0); @@ -111,20 +130,20 @@ describe("cursor", function() { assert.equal(c.deref(), 1); assert.equal(c.reset(100), 100); assert.equal(c.deref(), 100); - assert.equal(a.deref().x.y.z, 100); + assert.equal((>a).deref().x.y.z, 100); assert.strictEqual(src.x, undefined); }); it("reflects parent update", () => { - c = new Cursor(a, "a.d"); + c = defCursor(a, ["a", "d"]); assert.deepStrictEqual(c.deref(), src.a.d); let src2 = { a: { b: { c: 23 }, d: { e: 42 } }, f: 66 }; - a.reset(src2); + (>a).reset(src2); assert.deepStrictEqual(c.deref(), src2.a.d); }); it("can be released", () => { - c = new Cursor(a, "a"); + c = defCursor(a, ["a"]); let id = c.id; assert.notEqual((a)._watches[id], null); assert.ok(c.release()); @@ -133,8 +152,11 @@ describe("cursor", function() { }); it("can add & remove watch", () => { - c = new Cursor(a, "a.b.c"); - assert.ok(c.addWatch("foo", () => {}), "can't add watch"); + c = defCursor(a, ["a", "b", "c"]); + assert.ok( + c.addWatch("foo", () => {}), + "can't add watch" + ); assert.ok( (c).local._watches && (c).local._watches.foo, "watch missing" @@ -147,7 +169,7 @@ describe("cursor", function() { }); it("can be watched", () => { - c = new Cursor(a, "a.b.c"); + c = defCursor(a, ["a", "b", "c"]); c.addWatch("foo", (id, prev, curr) => { assert.equal(id, "foo", "wrong id"); assert.equal(prev, 23, "wrong prev"); diff --git a/packages/atom/test/transacted.ts b/packages/atom/test/transacted.ts index ab3c6bfbbb..4b50f60434 100644 --- a/packages/atom/test/transacted.ts +++ b/packages/atom/test/transacted.ts @@ -1,5 +1,5 @@ import * as assert from "assert"; -import { Atom, Transacted } from "../src/index"; +import { Atom, defView, Transacted } from "../src/index"; describe("transacted", () => { let db: Atom; @@ -19,8 +19,8 @@ describe("transacted", () => { tx.begin(); assert.deepEqual(tx.deref(), { a: 1, b: 2 }); assert.throws(() => tx.begin(), "no nested tx"); - tx.swapIn("a", (x: number) => x + 10); - tx.swapIn("b", (x: number) => x + 20); + tx.swapIn(["a"], (x: number) => x + 10); + tx.swapIn(["b"], (x: number) => x + 20); assert.deepEqual(tx.deref(), { a: 11, b: 22 }); assert.deepEqual(db.deref(), { a: 1, b: 2 }); assert.deepEqual(tx.commit(), { a: 11, b: 22 }); @@ -31,7 +31,7 @@ describe("transacted", () => { it("cancel", () => { tx.begin(); - tx.swapIn("a", (x: number) => x + 10); + tx.swapIn(["a"], (x: number) => x + 10); assert.deepEqual(tx.deref(), { a: 11, b: 2 }); tx.cancel(); assert.deepEqual(tx.deref(), { a: 1, b: 2 }); @@ -42,8 +42,8 @@ describe("transacted", () => { it("no edits outside tx", () => { assert.throws(() => tx.reset({}), "no reset"); assert.throws(() => tx.swap(() => ({})), "no swap"); - assert.throws(() => tx.resetIn("a", {}), "no resetIn"); - assert.throws(() => tx.swapIn("a", () => ({})), "no swapIn"); + assert.throws(() => tx.resetIn(["a"], {}), "no resetIn"); + assert.throws(() => tx.swapIn(["a"], () => ({})), "no swapIn"); assert.throws(() => (tx.value = {}), "no .value"); }); @@ -64,7 +64,7 @@ describe("transacted", () => { it("view (lazy)", () => { const acc: any[] = []; - const view = tx.addView("a", (x) => (acc.push(x), x), true); + const view = defView(tx, ["a"], (x) => (acc.push(x), x), true); assert.equal(view.deref(), 1); tx.begin(); tx.reset({ a: 11 }); @@ -76,7 +76,7 @@ describe("transacted", () => { it("view (eager)", () => { const acc: any[] = []; - const view = tx.addView("a", (x) => (acc.push(x), x), false); + const view = defView(tx, ["a"], (x) => (acc.push(x), x), false); tx.begin(); tx.reset({ a: 11 }); tx.reset({ a: 22 }); diff --git a/packages/atom/test/view.ts b/packages/atom/test/view.ts index c755ec7017..cf784007ee 100644 --- a/packages/atom/test/view.ts +++ b/packages/atom/test/view.ts @@ -2,12 +2,17 @@ import { setIn, updateIn } from "@thi.ng/paths"; import * as assert from "assert"; import { IView } from "../src/api"; import { Atom } from "../src/atom"; -import { Cursor } from "../src/cursor"; -import { View } from "../src/view"; +import { defCursor } from "../src/cursor"; +import { defView, View } from "../src/view"; -describe("view", () => { +interface State { + a: number; + b: { c: number; d: number }; + e: number; +} - let a: Atom; +describe("view", () => { + let a: Atom; let s: IView; beforeEach(() => { @@ -15,44 +20,44 @@ describe("view", () => { }); it("can be created from atom", () => { - s = a.addView("e"); + s = defView(a, ["e"]); assert.ok(s instanceof View); assert.equal(s.deref(), 4); - s = a.addView("e", (x) => x * 10); + s = defView(a, ["e"], (x) => x * 10); assert.ok(s instanceof View); assert.equal(s.deref(), 40); }); it("can be created from cursor", () => { - let c = new Cursor(a, "b"); - s = c.addView("d"); + let c = defCursor(a, ["b"]); + s = defView(c, ["d"]); assert.ok(s instanceof View); assert.equal(s.deref(), 3); - s = c.addView("c", (x: number) => x * 10); + s = defView(c, ["c"], (x: number) => x * 10); assert.ok(s instanceof View); assert.equal(s.deref(), 20); }); it("can be deref'd", () => { - assert.equal(new View(a, "b.c").deref(), 2); - assert.equal(new View(new Cursor(a, "b"), "d").deref(), 3); + assert.equal(defView(a, ["b", "c"]).deref(), 2); + assert.equal(defView(defCursor(a, ["b"]), ["d"]).deref(), 3); }); it("can be deref'd w/ transformer", () => { - s = new View(a, "b.c", (x) => x * 10) + s = defView(a, ["b", "c"], (x) => x * 10); assert.equal(s.deref(), 20); assert.equal(s.deref(), 20); }); it("can read .value", () => { - assert.equal(new View(a, "b.c").value, 2); - assert.equal(a.addView("b.c").value, 2); - assert.equal(new View(new Cursor(a, "b"), "d").value, 3); - assert.equal(new Cursor(a, "b").addView("d").value, 3); + assert.equal(defView(a, ["b", "c"]).value, 2); + assert.equal(defView(defCursor(a, ["b"]), ["d"]).value, 3); + // assert.equal(new View(new Cursor(a, "b"), "d").value, 3); + // assert.equal(new Cursor(a, "b").addView("d").value, 3); }); it("reflects updates", () => { - s = new View(a, "b.c", (x) => x * 10); + s = defView(a, ["b", "c"], (x) => x * 10); assert.ok(s.changed(), "not dirty"); assert.equal(s.deref(), 20); assert.ok(!s.changed(), "changed"); @@ -63,7 +68,7 @@ describe("view", () => { }); it("reflects updates (initially undefined)", () => { - s = new View(a, "f"); + s = defView(>a, ["f"]); assert.ok(s.changed(), "not dirty"); assert.equal(s.deref(), undefined); assert.ok(!s.changed(), "changed"); @@ -73,7 +78,7 @@ describe("view", () => { }); it("can be released", () => { - s = new View(a, "b.c") + s = defView(a, ["b", "c"]); assert.equal(s.deref(), 2); assert.ok(!s.changed(), "changed"); assert.ok(s.release()); @@ -85,7 +90,7 @@ describe("view", () => { it("is lazy by default", () => { let x; - s = a.addView("b.c", (y) => (x = y, y * 10)); + s = defView(a, ["b", "c"], (y) => ((x = y), y * 10)); assert.equal(x, undefined); assert.equal(s.deref(), 20); assert.equal(x, 2); @@ -96,7 +101,7 @@ describe("view", () => { it("can be eager", () => { let x; - s = a.addView("b.c", (y) => (x = y, y * 10), false); + s = defView(a, ["b", "c"], (y) => ((x = y), y * 10), false); assert.equal(x, 2); assert.equal(s.deref(), 20); x = undefined; From dfd3f7aa7528c7c367bd9bed5eb29b7747a75639 Mon Sep 17 00:00:00 2001 From: Karsten Schmidt Date: Mon, 23 Mar 2020 23:26:04 +0000 Subject: [PATCH 30/70] refactor(examples): update thi.ng/atom usage sites --- examples/devcards/index.html | 2 +- examples/devcards/src/index.ts | 66 +++++++++++++---------- examples/hdom-dropdown-fuzzy/src/index.ts | 20 +++---- examples/hdom-dyn-context/src/index.ts | 23 ++++---- examples/interceptor-basics2/src/index.ts | 33 ++++++------ examples/login-form/src/index.ts | 47 +++++++++------- examples/router-basics/src/api.ts | 8 +-- examples/router-basics/src/app.ts | 35 +++++------- examples/rstream-grid/src/api.ts | 6 +-- examples/rstream-grid/src/app.ts | 26 +++++---- examples/svg-waveform/src/api.ts | 6 +-- examples/svg-waveform/src/app.ts | 21 +++----- examples/todo-list/src/index.ts | 40 ++++++++------ examples/triple-query/src/api.ts | 10 ++-- examples/triple-query/src/app.ts | 26 ++++----- 15 files changed, 189 insertions(+), 180 deletions(-) diff --git a/examples/devcards/index.html b/examples/devcards/index.html index 0a0f15dfc1..e70a98c4de 100644 --- a/examples/devcards/index.html +++ b/examples/devcards/index.html @@ -69,7 +69,7 @@ extension from Reagent Project examples).

- Total filesize: 23KB (7.4KB gzip'd) - see + Total filesize: 19.3KB (7.4KB gzip'd) - see source) => any; @@ -36,7 +36,7 @@ function defcard( title?: string, parent?: string | Element ) { - state = state || new Atom({}); + state = state || defAtom({}); title = title || `devcard-${CARD_ID++}`; // create new parent element if not provided @@ -47,7 +47,7 @@ function defcard( // Create a derived view for entire atom (using empty path `[]`) // this updates the JSON body only when state has changed - const json = state.addView([], (state) => JSON.stringify(state, null, 2)); + const json = defView(state, [], (state) => JSON.stringify(state, null, 2)); // instantiate the component with supplied state const root = card(state); @@ -89,15 +89,21 @@ function slider(state: IAtom, opts: SliderOpts) { oninput: (e: Event) => { state.reset((e.target).value); opts.onchange && opts.onchange(e); - } + }, }; return () => [ "div", ["div", opts.label(state.deref())], - ["input", { ...attribs, value: state.deref() }] + ["input", { ...attribs, value: state.deref() }], ]; } +interface BMIState { + height: number; + weight: number; + bmi: number; +} + /** * This function is a self contained app to be used with * the above `defcard()` factory. It receives a state atom @@ -107,12 +113,16 @@ function slider(state: IAtom, opts: SliderOpts) { * * @param state */ -function bmi(state: IAtom) { +function bmi(state: IAtom) { // state update function // computes new BMI value (if weight was changed) or // new weight value (if BMI was changed by user) const calc = (updateWeight = false) => { - let { height, weight, bmi } = (state.deref() || {}); + let { height, weight, bmi } = state.deref() || { + height: 0, + weight: 0, + bmi: 0, + }; height *= 0.01; if (updateWeight) { state.resetIn(["weight"], bmi * height * height); @@ -126,11 +136,11 @@ function bmi(state: IAtom) { [10, "underweight", "#cf3"], [18.5, "normal", "#7f0"], [25, "overweight", "#f90"], - [30, "obese", "#f00"] + [30, "obese", "#f00"], ]; // derived view of bmi value to translate it into english - const bmiClass = state.addView("bmi", (bmi: number) => + const bmiClass = defView(state, ["bmi"], (bmi) => bmi > thresh[3][0] ? thresh[3][1] : bmi > thresh[2][0] @@ -142,48 +152,48 @@ function bmi(state: IAtom) { // another derived view to create SVG visualization const bmiScale = (x: number) => ((x - 10) / 30) * 100 + "%"; - const bmiViz = state.addView("bmi", (bmi: number) => [ + const bmiViz = defView(state, ["bmi"], (bmi: number) => [ "div", [ "svg", { width: "100%", height: 30, style: { "font-size": "10px" } }, ...thresh.map(([t, _, col]) => [ "rect", - { x: bmiScale(t), y: 0, width: "100%", height: 30, fill: col } + { x: bmiScale(t), y: 0, width: "100%", height: 30, fill: col }, ]), ...thresh.map(([t, label]) => [ "text", { x: bmiScale(t + 0.5), y: 12 }, - label + label, ]), - ["circle", { cx: bmiScale(bmi), cy: 20, r: 5 }] - ] + ["circle", { cx: bmiScale(bmi), cy: 20, r: 5 }], + ], ]); // define slider components // note how each uses a cursor to their respective // target values in the app state - const height = slider(new Cursor(state, "height"), { + const height = slider(defCursor(state, ["height"]), { min: 100, max: 220, label: (v) => `Height: ${~~v}cm`, - onchange: () => calc() + onchange: () => calc(), }); - const weight = slider(new Cursor(state, "weight"), { + const weight = slider(defCursor(state, ["weight"]), { min: 10, max: 150, label: (v) => `Weight: ${~~v}kg`, - onchange: () => calc() + onchange: () => calc(), }); - const bmi = slider(new Cursor(state, "bmi"), { + const bmi = slider(defCursor(state, ["bmi"]), { min: 10, max: 50, label: (v) => [ "span", { class: bmiClass.deref() }, - `BMI: ${~~v} (${bmiClass.deref()})` + `BMI: ${~~v} (${bmiClass.deref()})`, ], - onchange: () => calc(true) + onchange: () => calc(true), }); // perform initial calculation @@ -197,7 +207,7 @@ function bmi(state: IAtom) { * * Option 1: Two defcard() instances, each with their own, individual state atom */ -defcard(bmi, new Atom({ weight: 75, height: 194 }), "BMI calculator"); +defcard(bmi, defAtom({ weight: 75, height: 194 }), "BMI calculator"); defcard(bmi); defcard( @@ -208,15 +218,17 @@ defcard( /** * Option 2: defcard() instances using shared central state */ -const db = new Atom({ card1: { weight: 75, height: 194 } }); +const db = defAtom>>({ + card1: { weight: 75, height: 194 }, +}); -defcard(bmi, new Cursor(db, "card1"), "BMI calculator (shared)"); -defcard(bmi, new Cursor(db, "card2")); +defcard(bmi, defCursor(db, ["card1"]), "BMI calculator (shared)"); +defcard(bmi, defCursor(db, ["card2"])); defcard((state) => { // just some random task to populate another part of the app state setInterval( - () => state.resetIn(["stats","now"], new Date().toISOString()), + () => state.resetIn(["stats", "now"], new Date().toISOString()), 1000 ); return ["div", "The full shared state:"]; diff --git a/examples/hdom-dropdown-fuzzy/src/index.ts b/examples/hdom-dropdown-fuzzy/src/index.ts index 3c018baaea..e6ac6d9cda 100644 --- a/examples/hdom-dropdown-fuzzy/src/index.ts +++ b/examples/hdom-dropdown-fuzzy/src/index.ts @@ -1,4 +1,4 @@ -import { Atom } from "@thi.ng/atom"; +import { defAtom, defView } from "@thi.ng/atom"; import { start } from "@thi.ng/hdom"; import { EventBus } from "@thi.ng/interceptors"; import { trace } from "@thi.ng/interceptors"; @@ -7,16 +7,16 @@ import { dropdown } from "./dropdown"; import { fuzzyDropdown } from "./fuzzy"; import { cancelableInput } from "./input"; -const bus = new EventBus(new Atom(state)); +const bus = new EventBus(defAtom(state)); bus.instrumentWith([trace]); const ctx = { bus, theme, views: { - countries: bus.state.addView("countries"), - filter: bus.state.addView("countries.filter") - } + countries: defView(bus.state, ["countries"]), + filter: defView(bus.state, ["countries", "filter"]), + }, }; const dd = dropdown("theme.dd"); @@ -39,13 +39,13 @@ start( placeholder: "Start typing to fuzzy match", hoverLabel: [ ["span", "Choose a country..."], - ["i.fr.fas.fa-angle-down"] + ["i.fr.fas.fa-angle-down"], ], dropdown: dd, - input - } - ] - ] + input, + }, + ], + ], ]; }, { ctx } diff --git a/examples/hdom-dyn-context/src/index.ts b/examples/hdom-dyn-context/src/index.ts index 09cafb3787..87b5cbb9ad 100644 --- a/examples/hdom-dyn-context/src/index.ts +++ b/examples/hdom-dyn-context/src/index.ts @@ -1,4 +1,4 @@ -import { Atom } from "@thi.ng/atom"; +import { defAtom, defView } from "@thi.ng/atom"; import { start } from "@thi.ng/hdom"; // theme definitions @@ -6,22 +6,22 @@ const THEMES = [ { id: "default", root: { class: "w-100 ma0 pa3 sans-serif f6" }, - button: { class: "w4 pa2 bg-blue white" } + button: { class: "w4 pa2 bg-blue white" }, }, { id: "alt", root: { class: "w-100 ma0 pa3 serif f3 bg-washed-red" }, - button: { class: "w5 pa2 bg-red white" } + button: { class: "w5 pa2 bg-red white" }, }, { id: "mono", root: { class: "w-100 ma0 pa3 courier f7 bg-light-gray" }, - button: { class: "w4 pa2 bg-black white" } - } + button: { class: "w4 pa2 bg-black white" }, + }, ]; // central app state atom -const db = new Atom({ id: 0 }); +const db = defAtom({ id: 0 }); // define hdom context object w/ derived views of the atom's `id` value. // a copy of this object will be passed to all component functions and @@ -29,13 +29,12 @@ const db = new Atom({ id: 0 }); // goes for any other data structure which implements the @thi.ng/api // `IDeref` interface (e.g. the above atom, rstream's etc.)... const ctx = { - theme: db.addView("id", (id) => THEMES[id]), - themeID: db.addView("id", (id) => THEMES[id].id.toUpperCase()) + theme: defView(db, ["id"], (id) => THEMES[id]), + themeID: defView(db, ["id"], (id) => THEMES[id].id.toUpperCase()), }; // state updater / event handler to cycle through all themes -const toggle = () => - db.swapIn(["id"], (id: number) => (id + 1) % THEMES.length); +const toggle = () => db.swapIn(["id"], (id) => (id + 1) % THEMES.length); // root component function // the destructuring form is for the context object which is always @@ -44,13 +43,13 @@ const app = ({ theme, themeID }: any) => [ "div", theme.root, ["h1", `Current theme: ${themeID}`], - ["button", { ...theme.button, onclick: toggle }, "Toggle"] + ["button", { ...theme.button, onclick: toggle }, "Toggle"], ]; // kick off hdom render loop const cancel = start(app, { ctx, - autoDerefKeys: Object.keys(ctx) + autoDerefKeys: Object.keys(ctx), }); // HMR handling diff --git a/examples/interceptor-basics2/src/index.ts b/examples/interceptor-basics2/src/index.ts index 6728f4273b..257b370f07 100644 --- a/examples/interceptor-basics2/src/index.ts +++ b/examples/interceptor-basics2/src/index.ts @@ -1,3 +1,4 @@ +import { AtomPath, defView, defViewUnsafe } from "@thi.ng/atom"; import { start } from "@thi.ng/hdom"; import { EffectDef, @@ -10,9 +11,9 @@ import { EventDef, FX_DISPATCH_NOW, IDispatch, - trace + trace, } from "@thi.ng/interceptors"; -import type { IObjectOf, Path } from "@thi.ng/api"; +import type { IObjectOf } from "@thi.ng/api"; /////////////////////////////////////////////////////////////////////// // event name and handler definitions @@ -37,13 +38,13 @@ const events: IObjectOf = { ensureStateLessThan(100, undefined, () => console.warn("eek, reached max") ), - (_, [__, path]) => ({ [FX_DISPATCH_NOW]: [EV_ADD_VALUE, [path, 1]] }) + (_, [__, path]) => ({ [FX_DISPATCH_NOW]: [EV_ADD_VALUE, [path, 1]] }), ], [EV_DEC]: [ ensureStateGreaterThan(0, undefined, () => console.warn("eek, reached min") ), - (_, [__, path]) => ({ [FX_DISPATCH_NOW]: [EV_ADD_VALUE, [path, -1]] }) + (_, [__, path]) => ({ [FX_DISPATCH_NOW]: [EV_ADD_VALUE, [path, -1]] }), ], // similar to the EV_INIT handler above, here we just delegate to the @@ -53,8 +54,8 @@ const events: IObjectOf = { [EV_ADD_VALUE]: [ trace, (_, [__, [path, y]]) => ({ - [FX_DISPATCH_NOW]: [EV_UPDATE_VALUE, [path, (x: number) => x + y]] - }) + [FX_DISPATCH_NOW]: [EV_UPDATE_VALUE, [path, (x: number) => x + y]], + }), ], // this handler increments the `nextID` state value and @@ -68,9 +69,9 @@ const events: IObjectOf = { start: ~~(Math.random() * 100), color: ["gold", "orange", "springgreen", "yellow", "cyan"][ ~~(Math.random() * 5) - ] - } - }) + ], + }, + }), }; /////////////////////////////////////////////////////////////////////// @@ -84,14 +85,14 @@ const effects: IObjectOf = {}; const button = (bus: IDispatch, event: Event, label: string, id?: string) => [ "button", { id, onclick: () => bus.dispatch(event) }, - label + label, ]; // counter component function // calls to this function will be triggered via the "addCounter" event and its side effect // (see further below) -const counter = (bus: IDispatch, path: Path, start = 0, color: string) => { - const view = bus.state.addView(path); +const counter = (bus: IDispatch, path: AtomPath, start = 0, color: string) => { + const view = defViewUnsafe(bus.state, path); bus.dispatch([EV_SET_VALUE, [path, start]]); return [ "div.counter", @@ -100,8 +101,8 @@ const counter = (bus: IDispatch, path: Path, start = 0, color: string) => { [ "div", button(bus, [EV_DEC, view.path], "-"), - button(bus, [EV_INC, view.path], "+") - ] + button(bus, [EV_INC, view.path], "+"), + ], ]; }; @@ -124,7 +125,7 @@ const app = () => { // add derived view subscription for updating JSON state trace // (only executed when state changes) - const json = bus.state.addView([], (state) => + const json = defView(bus.state, [], (state) => JSON.stringify(state, null, 2) ); @@ -137,7 +138,7 @@ const app = () => { "div", button(bus, [EV_ADD_COUNTER], "add counter", "addcounter"), ["div", ...counters], - ["pre", json] + ["pre", json], ]; return () => { diff --git a/examples/login-form/src/index.ts b/examples/login-form/src/index.ts index e2a2b387e2..5d3a7d7380 100644 --- a/examples/login-form/src/index.ts +++ b/examples/login-form/src/index.ts @@ -1,24 +1,30 @@ -import { Atom } from "@thi.ng/atom"; +import { AtomPath, defAtom, defView } from "@thi.ng/atom"; import { start } from "@thi.ng/hdom"; -import { setIn } from "@thi.ng/paths"; -import type { Path } from "@thi.ng/api"; +import type { Nullable } from "@thi.ng/api"; + +interface State { + state: string; + error?: string; + user: { + name?: string; + }; +} // central immutable app state -const db = new Atom({ state: "login" }); +const db = defAtom({ state: "login", user: {} }); // define views for different state values -const appState = db.addView("state"); -const error = db.addView("error"); +const appState = defView(db, ["state"]); +const error = defView(db, ["error"]); // specify a view transformer for the username value -const user = db.addView("user.name", (x) => +const user = defView(db, ["user", "name"], (x) => x ? x.charAt(0).toUpperCase() + x.substr(1) : null ); // state update functions -const setValue = (path: Path, val: any) => - db.swap((state) => setIn(state, path, val)); -const setState = (s: any) => setValue(appState.path, s); -const setError = (err: string | null) => setValue(error.path, err); +const setValue = (path: AtomPath, val: any) => db.resetInUnsafe(path, val); +const setState = (s: string) => setValue(appState.path, s); +const setError = (err: Nullable) => setValue(error.path, err); const setUser = (e: Event) => setValue(user.path, (e.target).value); const loginUser = () => { if (user.deref() && user.deref()!.toLowerCase() === "admin") { @@ -42,13 +48,13 @@ const uiViews: any = { ["h1", "Login"], error.deref() ? ["div.error", error] : undefined, ["input", { type: "text", onchange: setUser }], - ["button", { onclick: loginUser }, "Login"] + ["button", { onclick: loginUser }, "Login"], ], logout: () => [ "div#logout", ["h1", "Good bye"], "You've been logged out. ", - ["a", { href: "#", onclick: () => setState("login") }, "Log back in?"] + ["a", { href: "#", onclick: () => setState("login") }, "Log back in?"], ], main: () => [ "div#main", @@ -59,18 +65,19 @@ const uiViews: any = { [ "textarea", { cols: 40, rows: 10 }, - JSON.stringify(db.deref(), null, 2) - ] + JSON.stringify(db.deref(), null, 2), + ], ], - ["button", { onclick: logoutUser }, "Logout"] - ] + ["button", { onclick: logoutUser }, "Logout"], + ], }; // finally define another derived view for the app state value // including a transformer, which maps the current app state value // to its correct UI component (incl. a fallback for illegal app states) -const currView = db.addView( - appState.path, +const currView = defView( + db, + ["state"], (state) => uiViews[state] || ["div", ["h1", `No component for state: ${state}`]] ); @@ -79,7 +86,7 @@ const currView = db.addView( const app = () => [ "div", currView, - ["footer", "Made with @thi.ng/atom and @thi.ng/hdom"] + ["footer", "Made with @thi.ng/atom and @thi.ng/hdom"], ]; start(app); diff --git a/examples/router-basics/src/api.ts b/examples/router-basics/src/api.ts index f3f27b16c7..7bca11d8a0 100644 --- a/examples/router-basics/src/api.ts +++ b/examples/router-basics/src/api.ts @@ -1,6 +1,6 @@ import { EffectDef, EventBus, EventDef } from "@thi.ng/interceptors"; -import type { IObjectOf } from "@thi.ng/api"; -import type { IView, ViewTransform } from "@thi.ng/atom"; +import type { IObjectOf, Fn } from "@thi.ng/api"; +import type { IView, AtomPath } from "@thi.ng/atom"; import type { HTMLRouterConfig, RouteMatch } from "@thi.ng/router"; // general types defined for the base app @@ -14,7 +14,7 @@ export type AppComponent = (ctx: AppContext, ...args: any[]) => any; /** * Derived view configurations. */ -export type ViewSpec = string | [string, ViewTransform]; +export type ViewSpec = string | AtomPath | [string | AtomPath, Fn]; /** * Structure of the overall application config object. @@ -90,7 +90,7 @@ export enum StatusType { DONE, INFO, SUCCESS, - ERROR + ERROR, } export interface Status extends Array { diff --git a/examples/router-basics/src/app.ts b/examples/router-basics/src/app.ts index fd9bca0545..c659e4c630 100644 --- a/examples/router-basics/src/app.ts +++ b/examples/router-basics/src/app.ts @@ -1,4 +1,4 @@ -import { Atom } from "@thi.ng/atom"; +import { Atom, defViewUnsafe } from "@thi.ng/atom"; import { isArray } from "@thi.ng/checks"; import { start } from "@thi.ng/hdom"; import { EventBus, trace, valueSetter } from "@thi.ng/interceptors"; @@ -8,12 +8,7 @@ import { nav } from "./components/nav"; import * as fx from "./effects"; import * as ev from "./events"; import type { IObjectOf } from "@thi.ng/api"; -import type { - AppConfig, - AppContext, - AppViews, - ViewSpec -} from "./api"; +import type { AppConfig, AppContext, AppViews, ViewSpec } from "./api"; /** * Generic base app skeleton. You can use this as basis for your own @@ -40,7 +35,7 @@ export class App { this.ctx = { bus: new EventBus(this.state, config.events, config.effects), views: {}, - ui: config.ui + ui: config.ui, }; this.addViews(this.config.views); this.router = new HTMLRouter(config.router); @@ -57,7 +52,7 @@ export class App { // circle this.ctx.bus.addHandlers({ [EVENT_ROUTE_CHANGED]: valueSetter("route"), - [ev.ROUTE_TO]: (_, [__, route]) => ({ [fx.ROUTE_TO]: route }) + [ev.ROUTE_TO]: (_, [__, route]) => ({ [fx.ROUTE_TO]: route }), }); this.ctx.bus.addEffect(fx.ROUTE_TO, ([id, params]) => this.router.routeTo(this.router.format(id, params)) @@ -71,11 +66,11 @@ export class App { routeComponent: [ "route.id", (id) => - (this.config.components[id] || - (() => ["div", `missing component for route: ${id}`]))( - this.ctx - ) - ] + ( + this.config.components[id] || + (() => ["div", `missing component for route: ${id}`]) + )(this.ctx), + ], }); } @@ -89,11 +84,9 @@ export class App { const views: any = this.ctx.views; for (let id in specs) { const spec = specs[id]; - if (isArray(spec)) { - views[id] = this.state.addView(spec[0], spec[1]); - } else { - views[id] = this.state.addView(spec); - } + views[id] = isArray(spec) + ? defViewUnsafe(this.state, spec[0], spec[1]) + : defViewUnsafe(this.state, spec); } } @@ -130,9 +123,9 @@ export class App { "div", ui.column.content[debug], nav, - this.ctx.views.routeComponent + this.ctx.views.routeComponent, ], - [debugContainer, debug, this.ctx.views.json] + [debugContainer, debug, this.ctx.views.json], ]; } } diff --git a/examples/rstream-grid/src/api.ts b/examples/rstream-grid/src/api.ts index c09d821900..e8257fa014 100644 --- a/examples/rstream-grid/src/api.ts +++ b/examples/rstream-grid/src/api.ts @@ -1,6 +1,6 @@ import { EffectDef, EventBus, EventDef } from "@thi.ng/interceptors"; -import type { IObjectOf } from "@thi.ng/api"; -import type { IView, ViewTransform } from "@thi.ng/atom"; +import type { IObjectOf, Fn } from "@thi.ng/api"; +import type { IView, AtomPath } from "@thi.ng/atom"; /** * Function signature for main app components. @@ -11,7 +11,7 @@ export type AppComponent = (ctx: AppContext, ...args: any[]) => any; /** * Derived view configurations. */ -export type ViewSpec = string | [string, ViewTransform]; +export type ViewSpec = string | AtomPath | [string | AtomPath, Fn]; /** * Structure of the overall application config object. diff --git a/examples/rstream-grid/src/app.ts b/examples/rstream-grid/src/app.ts index 12e01ff4f0..9542ff2d31 100644 --- a/examples/rstream-grid/src/app.ts +++ b/examples/rstream-grid/src/app.ts @@ -1,4 +1,9 @@ -import { Atom, Cursor, History } from "@thi.ng/atom"; +import { + Atom, + Cursor, + defViewUnsafe, + History +} from "@thi.ng/atom"; import { isArray } from "@thi.ng/checks"; import { start } from "@thi.ng/hdom"; import { EventBus } from "@thi.ng/interceptors"; @@ -6,12 +11,7 @@ import { initDataflow } from "./dataflow"; import * as ev from "./events"; import { PARAM_BASE } from "./paths"; import type { IObjectOf } from "@thi.ng/api"; -import type { - AppConfig, - AppContext, - AppViews, - ViewSpec -} from "./api"; +import type { AppConfig, AppContext, AppViews, ViewSpec } from "./api"; /** * The app does not much more than: @@ -42,7 +42,7 @@ export class App { this.ctx = { bus: new EventBus(this.state, config.events, config.effects), views: {}, - ui: config.ui + ui: config.ui, }; // initialize derived views this.addViews(this.config.views); @@ -55,14 +55,12 @@ export class App { * @param specs */ addViews(specs: IObjectOf) { - const views = this.ctx.views; + const views: any = this.ctx.views; for (let id in specs) { const spec = specs[id]; - if (isArray(spec)) { - (views)[id] = this.state.addView(spec[0], spec[1]); - } else { - (views)[id] = this.state.addView(spec); - } + views[id] = isArray(spec) + ? defViewUnsafe(this.state, spec[0], spec[1]) + : defViewUnsafe(this.state, spec); } } diff --git a/examples/svg-waveform/src/api.ts b/examples/svg-waveform/src/api.ts index 2d4e5b4037..af47b26f9e 100644 --- a/examples/svg-waveform/src/api.ts +++ b/examples/svg-waveform/src/api.ts @@ -1,6 +1,6 @@ import { EffectDef, EventBus, EventDef } from "@thi.ng/interceptors"; -import type { IObjectOf } from "@thi.ng/api"; -import type { IView, ViewTransform } from "@thi.ng/atom"; +import type { IObjectOf, Fn } from "@thi.ng/api"; +import type { IView, AtomPath } from "@thi.ng/atom"; /** * Function signature for main app components. @@ -10,7 +10,7 @@ export type AppComponent = (ctx: AppContext, ...args: any[]) => any; /** * Derived view configurations. */ -export type ViewSpec = string | [string, ViewTransform]; +export type ViewSpec = string | AtomPath | [string | AtomPath, Fn]; /** * Structure of the overall application config object. diff --git a/examples/svg-waveform/src/app.ts b/examples/svg-waveform/src/app.ts index 11cdd85707..2c7a49774a 100644 --- a/examples/svg-waveform/src/app.ts +++ b/examples/svg-waveform/src/app.ts @@ -1,15 +1,10 @@ -import { Atom, History } from "@thi.ng/atom"; +import { Atom, defViewUnsafe, History } from "@thi.ng/atom"; import { isArray } from "@thi.ng/checks"; import { start } from "@thi.ng/hdom"; import { EventBus } from "@thi.ng/interceptors"; import * as ev from "./events"; import type { IObjectOf } from "@thi.ng/api"; -import type { - AppConfig, - AppContext, - AppViews, - ViewSpec -} from "./api"; +import type { AppConfig, AppContext, AppViews, ViewSpec } from "./api"; /** * Generic base app skeleton. You can use this as basis for your own @@ -35,7 +30,7 @@ export class App { this.ctx = { bus: new EventBus(this.state, config.events, config.effects), views: {}, - ui: config.ui + ui: config.ui, }; this.addViews(this.config.views); } @@ -47,14 +42,12 @@ export class App { * @param specs */ addViews(specs: IObjectOf) { - const views = this.ctx.views; + const views: any = this.ctx.views; for (let id in specs) { const spec = specs[id]; - if (isArray(spec)) { - (views)[id] = this.state.addView(spec[0], spec[1]); - } else { - (views)[id] = this.state.addView(spec); - } + views[id] = isArray(spec) + ? defViewUnsafe(this.state, spec[0], spec[1]) + : defViewUnsafe(this.state, spec); } } diff --git a/examples/todo-list/src/index.ts b/examples/todo-list/src/index.ts index 9fc9aa445a..797789a347 100644 --- a/examples/todo-list/src/index.ts +++ b/examples/todo-list/src/index.ts @@ -1,4 +1,9 @@ -import { Atom, Cursor, History } from "@thi.ng/atom"; +import { + defAtom, + defCursor, + defHistory, + defView +} from "@thi.ng/atom"; import { start } from "@thi.ng/hdom"; import { setIn, updateIn } from "@thi.ng/paths"; import { map, pairs } from "@thi.ng/transducers"; @@ -11,15 +16,20 @@ interface Task { type Tasks = IObjectOf; +interface State { + tasks: Tasks; + nextID: number; +} + // central app state (immutable) -const db = new Atom({ tasks: {}, nextID: 0 }); +const db = defAtom({ tasks: {}, nextID: 0 }); // attach undo/redo history for `tasks` branch (arbitrary undo limit of 100 steps) -const tasks = new History>(new Cursor(db, "tasks"), 100); +const tasks = defHistory(defCursor(db, ["tasks"]), 100); // cursor for direct access to `nextID` -const nextID = new Cursor(db, "nextID"); +const nextID = defCursor(db, ["nextID"]); // create derived view of tasks transformed into components -const items = db.addView("tasks", (tasks: Tasks) => [ - ...map(([id, t]) => taskItem(id, t), pairs(tasks)) +const items = defView(db, ["tasks"], (tasks: Tasks) => [ + ...map(([id, t]) => taskItem(id, t), pairs(tasks)), ]); // state updaters @@ -39,24 +49,24 @@ const updateTask = (id: string, body: string) => tasks.swap((tasks) => setIn(tasks, [id, "body"], body)); // single task component -const taskItem = (id: string, task: Task) => { +const taskItem = (id: string, task: Task): any[] => { const checkAttribs = { type: "checkbox", checked: task.done, - onclick: () => toggleTask(id) + onclick: () => toggleTask(id), }; const textAttribs = { type: "text", placeholder: "todo...", value: task.body, onkeydown: (e: any) => e.key === "Enter" && e.target.blur(), - onblur: (e: any) => updateTask(id, (e.target).value) + onblur: (e: any) => updateTask(id, (e.target).value), }; return [ "div", { class: "task" + (task.done ? " done" : "") }, ["input", checkAttribs], - ["input", textAttribs] + ["input", textAttribs], ]; }; @@ -82,7 +92,7 @@ const toolbar = () => { "div#toolbar", [btAdd], [btUndo, !tasks.canUndo()], - [btRedo, !tasks.canRedo()] + [btRedo, !tasks.canRedo()], ]; }; @@ -97,11 +107,11 @@ const header = [ "a", { href: - "https://github.com/thi-ng/umbrella/tree/develop/packages/hdom" + "https://github.com/thi-ng/umbrella/tree/develop/packages/hdom", }, - "@thi.ng/hdom" - ] - ] + "@thi.ng/hdom", + ], + ], ]; const app = () => { diff --git a/examples/triple-query/src/api.ts b/examples/triple-query/src/api.ts index f8ae19dcff..502fa326ee 100644 --- a/examples/triple-query/src/api.ts +++ b/examples/triple-query/src/api.ts @@ -1,12 +1,12 @@ +import { QuerySpec, TripleStore } from "@thi.ng/rstream-query"; import { EffectDef, EventBus, EventDef, - InterceptorContext + InterceptorContext, } from "@thi.ng/interceptors"; -import { QuerySpec, TripleStore } from "@thi.ng/rstream-query"; -import type { IObjectOf } from "@thi.ng/api"; -import type { IView, ViewTransform } from "@thi.ng/atom"; +import type { IObjectOf, Fn } from "@thi.ng/api"; +import type { IView, AtomPath } from "@thi.ng/atom"; /** * Function signature for main app components. @@ -16,7 +16,7 @@ export type AppComponent = (ctx: AppContext, ...args: any[]) => any; /** * Derived view configurations. */ -export type ViewSpec = string | [string, ViewTransform]; +export type ViewSpec = string | AtomPath | [string | AtomPath, Fn]; /** * Structure of the overall application config object. diff --git a/examples/triple-query/src/app.ts b/examples/triple-query/src/app.ts index aea55a6a4c..3b51f184c8 100644 --- a/examples/triple-query/src/app.ts +++ b/examples/triple-query/src/app.ts @@ -1,16 +1,11 @@ -import { Atom } from "@thi.ng/atom"; +import { Atom, defViewUnsafe } from "@thi.ng/atom"; import { isArray } from "@thi.ng/checks"; import { start } from "@thi.ng/hdom"; import { EV_SET_VALUE, EventBus } from "@thi.ng/interceptors"; import { TripleStore } from "@thi.ng/rstream-query"; import * as ev from "./events"; import type { IObjectOf } from "@thi.ng/api"; -import type { - AppConfig, - AppContext, - AppViews, - ViewSpec -} from "./api"; +import type { AppConfig, AppContext, AppViews, ViewSpec } from "./api"; /** * Generic base app skeleton. You can use this as basis for your own @@ -35,7 +30,7 @@ export class App { bus: new EventBus(this.state, config.events, config.effects), store: new TripleStore(), views: {}, - ui: config.ui + ui: config.ui, }; this.addViews(this.config.views); } @@ -47,14 +42,12 @@ export class App { * @param specs */ addViews(specs: IObjectOf) { - const views = this.ctx.views; + const views: any = this.ctx.views; for (let id in specs) { const spec = specs[id]; - if (isArray(spec)) { - (views)[id] = this.state.addView(spec[0], spec[1]); - } else { - (views)[id] = this.state.addView(spec); - } + views[id] = isArray(spec) + ? defViewUnsafe(this.state, spec[0], spec[1]) + : defViewUnsafe(this.state, spec); } } @@ -101,7 +94,10 @@ export class App { for (let q in conf.queries) { store.addQueryFromSpec(conf.queries[q]).subscribe({ next: (res) => - this.ctx.bus.dispatch([EV_SET_VALUE, [["queries", q], res]]) + this.ctx.bus.dispatch([ + EV_SET_VALUE, + [["queries", q], res], + ]), }); } } From 6df01102800b169401573ac92fe96e7efa9e2820 Mon Sep 17 00:00:00 2001 From: Karsten Schmidt Date: Mon, 23 Mar 2020 23:26:48 +0000 Subject: [PATCH 31/70] test(hdom): update atom test cases --- packages/hdom/test/index.ts | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/packages/hdom/test/index.ts b/packages/hdom/test/index.ts index d81b0f57ad..2fcbc5a66f 100644 --- a/packages/hdom/test/index.ts +++ b/packages/hdom/test/index.ts @@ -1,4 +1,4 @@ -import { Atom } from "@thi.ng/atom"; +import { defAtom, defView } from "@thi.ng/atom"; import { derefContext } from "@thi.ng/hiccup"; import { map, range } from "@thi.ng/iterators"; import * as assert from "assert"; @@ -71,13 +71,13 @@ describe("hdom", () => { {}, ["div", { id: "id0" }, 0], ["div", { id: "id1" }, 1], - ["div", { id: "id2" }, 2] + ["div", { id: "id2" }, 2], ] ); - check("deref toplevel", new Atom(["a"]), ["a", {}]); + check("deref toplevel", defAtom(["a"]), ["a", {}]); - check("deref child", ["a", new Atom(["b"])], ["a", {}, ["b", {}]]); + check("deref child", ["a", defAtom(["b"])], ["a", {}, ["b", {}]]); it("life cycle", () => { let src: any = { render: () => ["div", "foo"] }; @@ -98,15 +98,15 @@ describe("hdom", () => { derefContext( { a: 23, - b: new Atom(42), - c: new Atom({ foo: { bar: 66 } }).addView("foo.bar") + b: defAtom(42), + c: defView(defAtom({ foo: { bar: 66 } }), ["foo", "bar"]), }, ["a", "b", "c"] ), { a: 23, b: 42, - c: 66 + c: 66, } ); }); From 0c761085b60d27849650d51e851afd98f0f2b9ea Mon Sep 17 00:00:00 2001 From: Karsten Schmidt Date: Tue, 24 Mar 2020 01:07:19 +0000 Subject: [PATCH 32/70] feat(api): add Path0-8, PathVal1-8, DeepPath types --- packages/api/src/api/keyval.ts | 5 - packages/api/src/api/path.ts | 217 +++++++++++++++++++++++++++++++++ packages/api/src/index.ts | 1 + 3 files changed, 218 insertions(+), 5 deletions(-) create mode 100644 packages/api/src/api/path.ts diff --git a/packages/api/src/api/keyval.ts b/packages/api/src/api/keyval.ts index 792a265ecc..577dc6dd01 100644 --- a/packages/api/src/api/keyval.ts +++ b/packages/api/src/api/keyval.ts @@ -1,10 +1,5 @@ import type { Head, Tail } from "./tuple"; -/** - * Lookup path for nested data structures. - */ -export type Path = PropertyKey | PropertyKey[]; - /** * Extracts from A all keys which have values assignable to type B. */ diff --git a/packages/api/src/api/path.ts b/packages/api/src/api/path.ts new file mode 100644 index 0000000000..553b8085a2 --- /dev/null +++ b/packages/api/src/api/path.ts @@ -0,0 +1,217 @@ +import { NumOrString } from "./prim"; +import type { + Keys, + Keys1, + Keys2, + Keys3, + Keys4, + Keys5, + Keys6, + Keys7, + Val1, + Val2, + Val3, + Val4, + Val5, + Val6, + Val7, + Val8, +} from "./keyval"; + +/** + * Lookup path for nested data structures. + */ +export type Path = PropertyKey | PropertyKey[]; + +export type Path0 = readonly []; + +export type Path1 = A extends Keys ? readonly [A] : never; + +export type Path2 = A extends Keys + ? B extends Keys1 + ? readonly [A, B] + : never + : never; + +export type Path3 = A extends Keys + ? B extends Keys1 + ? C extends Keys2 + ? readonly [A, B, C] + : never + : never + : never; + +export type Path4 = A extends Keys + ? B extends Keys1 + ? C extends Keys2 + ? D extends Keys3 + ? readonly [A, B, C, D] + : never + : never + : never + : never; + +export type Path5 = A extends Keys + ? B extends Keys1 + ? C extends Keys2 + ? D extends Keys3 + ? E extends Keys4 + ? readonly [A, B, C, D, E] + : never + : never + : never + : never + : never; + +export type Path6 = A extends Keys + ? B extends Keys1 + ? C extends Keys2 + ? D extends Keys3 + ? E extends Keys4 + ? F extends Keys5 + ? readonly [A, B, C, D, E, F] + : never + : never + : never + : never + : never + : never; + +export type Path7 = A extends Keys + ? B extends Keys1 + ? C extends Keys2 + ? D extends Keys3 + ? E extends Keys4 + ? F extends Keys5 + ? G extends Keys6 + ? readonly [A, B, C, D, E, F, G] + : never + : never + : never + : never + : never + : never + : never; + +export type Path8 = A extends Keys + ? B extends Keys1 + ? C extends Keys2 + ? D extends Keys3 + ? E extends Keys4 + ? F extends Keys5 + ? G extends Keys6 + ? H extends Keys7 + ? readonly [A, B, C, D, E, F, G, H] + : never + : never + : never + : never + : never + : never + : never + : never; + +// prettier-ignore +export type DeepPath = A extends Keys + ? B extends Keys1 + ? C extends Keys2 + ? D extends Keys3 + ? E extends Keys4 + ? F extends Keys5 + ? G extends Keys6 + ? H extends Keys7 + ? readonly [A, B, C, D, E, F, G, H, ...NumOrString[]] + : never + : never + : never + : never + : never + : never + : never + : never; + +export type PathVal1 = A extends Keys ? Val1 : never; + +export type PathVal2 = A extends Keys + ? B extends Keys1 + ? Val2 + : never + : never; + +export type PathVal3 = A extends Keys + ? B extends Keys1 + ? C extends Keys2 + ? Val3 + : never + : never + : never; + +export type PathVal4 = A extends Keys + ? B extends Keys1 + ? C extends Keys2 + ? D extends Keys3 + ? Val4 + : never + : never + : never + : never; + +export type PathVal5 = A extends Keys + ? B extends Keys1 + ? C extends Keys2 + ? D extends Keys3 + ? E extends Keys4 + ? Val5 + : never + : never + : never + : never + : never; + +export type PathVal6 = A extends Keys + ? B extends Keys1 + ? C extends Keys2 + ? D extends Keys3 + ? E extends Keys4 + ? F extends Keys5 + ? Val6 + : never + : never + : never + : never + : never + : never; + +export type PathVal7 = A extends Keys + ? B extends Keys1 + ? C extends Keys2 + ? D extends Keys3 + ? E extends Keys4 + ? F extends Keys5 + ? G extends Keys6 + ? Val7 + : never + : never + : never + : never + : never + : never + : never; + +export type PathVal8 = A extends Keys + ? B extends Keys1 + ? C extends Keys2 + ? D extends Keys3 + ? E extends Keys4 + ? F extends Keys5 + ? G extends Keys6 + ? H extends Keys7 + ? Val8 + : never + : never + : never + : never + : never + : never + : never + : never; diff --git a/packages/api/src/index.ts b/packages/api/src/index.ts index 79dd57b117..c0f69230db 100644 --- a/packages/api/src/index.ts +++ b/packages/api/src/index.ts @@ -24,6 +24,7 @@ export * from "./api/logger"; export * from "./api/meta"; export * from "./api/null"; export * from "./api/object"; +export * from "./api/path"; export * from "./api/predicate"; export * from "./api/prim"; export * from "./api/range"; From b0163789454ff36d644b65e5aace7e386a7cf388 Mon Sep 17 00:00:00 2001 From: Karsten Schmidt Date: Tue, 24 Mar 2020 01:48:32 +0000 Subject: [PATCH 33/70] refactor(atom): simplify API & impls using new path types, fix View type inference --- packages/atom/src/api.ts | 222 ++++++--------------- packages/atom/src/atom.ts | 217 +++++++------------- packages/atom/src/cursor.ts | 339 ++++++++++---------------------- packages/atom/src/history.ts | 216 +++++++------------- packages/atom/src/transacted.ts | 216 +++++++------------- packages/atom/src/view.ts | 188 +++++++----------- 6 files changed, 432 insertions(+), 966 deletions(-) diff --git a/packages/atom/src/api.ts b/packages/atom/src/api.ts index b595a88160..96f6ea3103 100644 --- a/packages/atom/src/api.ts +++ b/packages/atom/src/api.ts @@ -1,28 +1,30 @@ import type { + DeepPath, IClear, IDeref, IID, INotify, IRelease, IWatch, - Keys, - Keys1, - Keys2, - Keys3, - Keys4, - Keys5, - Keys6, - Keys7, NumOrString, + Path0, + Path1, + Path2, + Path3, + Path4, + Path5, + Path6, + Path7, + Path8, + PathVal1, + PathVal2, + PathVal3, + PathVal4, + PathVal5, + PathVal6, + PathVal7, + PathVal8, Predicate, - Val1, - Val2, - Val3, - Val4, - Val5, - Val6, - Val7, - Val8, } from "@thi.ng/api"; export type AtomPath = Readonly; @@ -36,81 +38,32 @@ export interface IAtom extends ReadonlyAtom, IReset, ISwap {} export interface IReset { reset(val: T): T; - resetIn>(path: readonly [A], val: Val1): T; - resetIn, B extends Keys1>( - path: readonly [A, B], - val: Val2 + resetIn(path: Path0, val: T): T; + resetIn(path: Path1, val: PathVal1): T; + resetIn(path: Path2, val: PathVal2): T; + resetIn(path: Path3, val: PathVal3): T; + resetIn( + path: Path4, + val: PathVal4 ): T; - resetIn, B extends Keys1, C extends Keys2>( - path: readonly [A, B, C], - val: Val3 + resetIn( + path: Path5, + val: PathVal5 ): T; - resetIn< - A extends Keys, - B extends Keys1, - C extends Keys2, - D extends Keys3 - >( - path: readonly [A, B, C, D], - val: Val4 + resetIn( + path: Path6, + val: PathVal6 ): T; - resetIn< - A extends Keys, - B extends Keys1, - C extends Keys2, - D extends Keys3, - E extends Keys4 - >( - path: readonly [A, B, C, D, E], - val: Val5 + resetIn( + path: Path7, + val: PathVal7 ): T; - resetIn< - A extends Keys, - B extends Keys1, - C extends Keys2, - D extends Keys3, - E extends Keys4, - F extends Keys5 - >( - path: readonly [A, B, C, D, E, F], - val: Val6 + resetIn( + path: Path8, + val: PathVal8 ): T; - resetIn< - A extends Keys, - B extends Keys1, - C extends Keys2, - D extends Keys3, - E extends Keys4, - F extends Keys5, - G extends Keys6 - >( - path: readonly [A, B, C, D, E, F, G], - val: Val7 - ): T; - resetIn< - A extends Keys, - B extends Keys1, - C extends Keys2, - D extends Keys3, - E extends Keys4, - F extends Keys5, - G extends Keys6, - H extends Keys7 - >( - path: readonly [A, B, C, D, E, F, G, H], - val: Val8 - ): T; - resetIn< - A extends Keys, - B extends Keys1, - C extends Keys2, - D extends Keys3, - E extends Keys4, - F extends Keys5, - G extends Keys6, - H extends Keys7 - >( - path: readonly [A, B, C, D, E, F, G, H, ...NumOrString[]], + resetIn( + path: DeepPath, val: any ): T; @@ -120,92 +73,45 @@ export interface IReset { export interface ISwap { swap(fn: SwapFn, ...args: any[]): T; - swapIn>( - path: readonly [A], - fn: SwapFn>, - ...args: any[] - ): T; - swapIn, B extends Keys1>( - path: readonly [A, B], - fn: SwapFn>, + swapIn(path: Path0, fn: SwapFn, ...args: any[]): T; + swapIn(path: Path1, fn: SwapFn>, ...args: any[]): T; + swapIn( + path: Path2, + fn: SwapFn>, ...args: any[] ): T; - swapIn, B extends Keys1, C extends Keys2>( - path: readonly [A, B, C], - fn: SwapFn>, + swapIn( + path: Path3, + fn: SwapFn>, ...args: any[] ): T; - swapIn< - A extends Keys, - B extends Keys1, - C extends Keys2, - D extends Keys3 - >( - path: readonly [A, B, C, D], - fn: SwapFn>, + swapIn( + path: Path4, + fn: SwapFn>, ...args: any[] ): T; - swapIn< - A extends Keys, - B extends Keys1, - C extends Keys2, - D extends Keys3, - E extends Keys4 - >( - path: readonly [A, B, C, D, E], - fn: SwapFn>, + swapIn( + path: Path5, + fn: SwapFn>, ...args: any[] ): T; - swapIn< - A extends Keys, - B extends Keys1, - C extends Keys2, - D extends Keys3, - E extends Keys4, - F extends Keys5 - >( - path: readonly [A, B, C, D, E, F], - fn: SwapFn>, + swapIn( + path: Path6, + fn: SwapFn>, ...args: any[] ): T; - swapIn< - A extends Keys, - B extends Keys1, - C extends Keys2, - D extends Keys3, - E extends Keys4, - F extends Keys5, - G extends Keys6 - >( - path: readonly [A, B, C, D, E, F, G], - fn: SwapFn>, + swapIn( + path: Path7, + fn: SwapFn>, ...args: any[] ): T; - swapIn< - A extends Keys, - B extends Keys1, - C extends Keys2, - D extends Keys3, - E extends Keys4, - F extends Keys5, - G extends Keys6, - H extends Keys7 - >( - path: readonly [A, B, C, D, E, F, G, H], - fn: SwapFn>, + swapIn( + path: Path8, + fn: SwapFn>, ...args: any[] ): T; - swapIn< - A extends Keys, - B extends Keys1, - C extends Keys2, - D extends Keys3, - E extends Keys4, - F extends Keys5, - G extends Keys6, - H extends Keys7 - >( - path: readonly [A, B, C, D, E, F, G, H, ...PropertyKey[]], + swapIn( + path: DeepPath, fn: SwapFn, ...args: any[] ): T; diff --git a/packages/atom/src/atom.ts b/packages/atom/src/atom.ts index a3584d5667..2a2056a897 100644 --- a/packages/atom/src/atom.ts +++ b/packages/atom/src/atom.ts @@ -2,25 +2,26 @@ import { IWatchMixin } from "@thi.ng/api"; import { illegalState } from "@thi.ng/errors"; import { setIn, updateIn } from "@thi.ng/paths"; import type { + DeepPath, IEquiv, - Keys, - Keys1, - Keys2, - Keys3, - Keys4, - Keys5, - Keys6, - Keys7, - NumOrString, + Path0, + Path1, + Path2, + Path3, + Path4, + Path5, + Path6, + Path7, + Path8, + PathVal1, + PathVal2, + PathVal3, + PathVal4, + PathVal5, + PathVal6, + PathVal7, + PathVal8, Predicate, - Val1, - Val2, - Val3, - Val4, - Val5, - Val6, - Val7, - Val8, Watch, } from "@thi.ng/api"; import type { AtomPath, IAtom, SwapFn } from "./api"; @@ -72,71 +73,34 @@ export class Atom implements IAtom, IEquiv { return val; } - resetIn>(path: readonly [A], val: Val1): T; - resetIn, B extends Keys1>( - path: readonly [A, B], - val: Val2 + resetIn(path: Path0, val: T): T; + resetIn(path: Path1, val: PathVal1): T; + resetIn(path: Path2, val: PathVal2): T; + resetIn(path: Path3, val: PathVal3): T; + resetIn( + path: Path4, + val: PathVal4 ): T; - resetIn, B extends Keys1, C extends Keys2>( - path: readonly [A, B, C], - val: Val3 + resetIn( + path: Path5, + val: PathVal5 ): T; - resetIn< - A extends Keys, - B extends Keys1, - C extends Keys2, - D extends Keys3 - >(path: readonly [A, B, C, D], val: Val4): T; - resetIn< - A extends Keys, - B extends Keys1, - C extends Keys2, - D extends Keys3, - E extends Keys4 - >(path: readonly [A, B, C, D, E], val: Val5): T; - resetIn< - A extends Keys, - B extends Keys1, - C extends Keys2, - D extends Keys3, - E extends Keys4, - F extends Keys5 - >(path: readonly [A, B, C, D, E, F], val: Val6): T; - resetIn< - A extends Keys, - B extends Keys1, - C extends Keys2, - D extends Keys3, - E extends Keys4, - F extends Keys5, - G extends Keys6 - >( - path: readonly [A, B, C, D, E, F, G], - val: Val7 + resetIn( + path: Path6, + val: PathVal6 ): T; - resetIn< - A extends Keys, - B extends Keys1, - C extends Keys2, - D extends Keys3, - E extends Keys4, - F extends Keys5, - G extends Keys6, - H extends Keys7 - >( - path: readonly [A, B, C, D, E, F, G, H], - val: Val8 + resetIn( + path: Path7, + val: PathVal7 + ): T; + resetIn( + path: Path8, + val: PathVal8 + ): T; + resetIn( + path: DeepPath, + val: any ): T; - resetIn< - A extends Keys, - B extends Keys1, - C extends Keys2, - D extends Keys3, - E extends Keys4, - F extends Keys5, - G extends Keys6, - H extends Keys7 - >(path: readonly [A, B, C, D, E, F, G, H, ...NumOrString[]], val: any): T; resetIn(path: AtomPath, val: any) { return this.reset(setIn(this._value, path, val)); } @@ -149,92 +113,45 @@ export class Atom implements IAtom, IEquiv { return this.reset(fn.apply(null, [this._value, ...args])); } - swapIn>( - path: readonly [A], - fn: SwapFn>, - ...args: any[] - ): T; - swapIn, B extends Keys1>( - path: readonly [A, B], - fn: SwapFn>, + swapIn(path: Path0, fn: SwapFn, ...args: any[]): T; + swapIn(path: Path1, fn: SwapFn>, ...args: any[]): T; + swapIn( + path: Path2, + fn: SwapFn>, ...args: any[] ): T; - swapIn, B extends Keys1, C extends Keys2>( - path: readonly [A, B, C], - fn: SwapFn>, + swapIn( + path: Path3, + fn: SwapFn>, ...args: any[] ): T; - swapIn< - A extends Keys, - B extends Keys1, - C extends Keys2, - D extends Keys3 - >( - path: readonly [A, B, C, D], - fn: SwapFn>, + swapIn( + path: Path4, + fn: SwapFn>, ...args: any[] ): T; - swapIn< - A extends Keys, - B extends Keys1, - C extends Keys2, - D extends Keys3, - E extends Keys4 - >( - path: readonly [A, B, C, D, E], - fn: SwapFn>, + swapIn( + path: Path5, + fn: SwapFn>, ...args: any[] ): T; - swapIn< - A extends Keys, - B extends Keys1, - C extends Keys2, - D extends Keys3, - E extends Keys4, - F extends Keys5 - >( - path: readonly [A, B, C, D, E, F], - fn: SwapFn>, + swapIn( + path: Path6, + fn: SwapFn>, ...args: any[] ): T; - swapIn< - A extends Keys, - B extends Keys1, - C extends Keys2, - D extends Keys3, - E extends Keys4, - F extends Keys5, - G extends Keys6 - >( - path: readonly [A, B, C, D, E, F, G], - fn: SwapFn>, + swapIn( + path: Path7, + fn: SwapFn>, ...args: any[] ): T; - swapIn< - A extends Keys, - B extends Keys1, - C extends Keys2, - D extends Keys3, - E extends Keys4, - F extends Keys5, - G extends Keys6, - H extends Keys7 - >( - path: readonly [A, B, C, D, E, F, G, H], - fn: SwapFn>, + swapIn( + path: Path8, + fn: SwapFn>, ...args: any[] ): T; - swapIn< - A extends Keys, - B extends Keys1, - C extends Keys2, - D extends Keys3, - E extends Keys4, - F extends Keys5, - G extends Keys6, - H extends Keys7 - >( - path: readonly [A, B, C, D, E, F, G, H, ...PropertyKey[]], + swapIn( + path: DeepPath, fn: SwapFn, ...args: any[] ): T; diff --git a/packages/atom/src/cursor.ts b/packages/atom/src/cursor.ts index 780b31eec7..133fc22052 100644 --- a/packages/atom/src/cursor.ts +++ b/packages/atom/src/cursor.ts @@ -2,126 +2,73 @@ import { getter, setter } from "@thi.ng/paths"; import { Atom } from "./atom"; import { nextID } from "./idgen"; import type { + DeepPath, IID, IRelease, - Keys, - Keys1, - Keys2, - Keys3, - Keys4, - Keys5, - Keys6, - Keys7, - Val1, - Val2, - Val3, - Val4, - Val5, - Val6, - Val7, - Val8, + Path0, + Path1, + Path2, + Path3, + Path4, + Path5, + Path6, + Path7, + Path8, + PathVal1, + PathVal2, + PathVal3, + PathVal4, + PathVal5, + PathVal6, + PathVal7, + PathVal8, Watch, } from "@thi.ng/api"; import type { AtomPath, CursorOpts, IAtom, SwapFn } from "./api"; -export function defCursor>( +export function defCursor( parent: IAtom, - path: readonly [A], - opts?: Partial>> -): Cursor>; -export function defCursor, B extends Keys1>( + path: Path1, + opts?: Partial>> +): Cursor>; +export function defCursor( parent: IAtom, - path: readonly [A, B], - opts?: Partial>> -): Cursor>; -export function defCursor< - T, - A extends Keys, - B extends Keys1, - C extends Keys2 ->( + path: Path2, + opts?: Partial>> +): Cursor>; +export function defCursor( parent: IAtom, - path: readonly [A, B, C], - opts?: Partial>> -): Cursor>; -export function defCursor< - T, - A extends Keys, - B extends Keys1, - C extends Keys2, - D extends Keys3 ->( + path: Path3, + opts?: Partial>> +): Cursor>; +export function defCursor( parent: IAtom, - path: readonly [A, B, C, D], - opts?: Partial>> -): Cursor>; -export function defCursor< - T, - A extends Keys, - B extends Keys1, - C extends Keys2, - D extends Keys3, - E extends Keys4 ->( + path: Path4, + opts?: Partial>> +): Cursor>; +export function defCursor( parent: IAtom, - path: readonly [A, B, C, D, E], - opts?: Partial>> -): Cursor>; -export function defCursor< - T, - A extends Keys, - B extends Keys1, - C extends Keys2, - D extends Keys3, - E extends Keys4, - F extends Keys5 ->( + path: Path5, + opts?: Partial>> +): Cursor>; +export function defCursor( parent: IAtom, - path: readonly [A, B, C, D, E, F], - opts?: Partial>> -): Cursor>; -export function defCursor< - T, - A extends Keys, - B extends Keys1, - C extends Keys2, - D extends Keys3, - E extends Keys4, - F extends Keys5, - G extends Keys6 ->( + path: Path6, + opts?: Partial>> +): Cursor>; +export function defCursor( parent: IAtom, - path: readonly [A, B, C, D, E, F, G], - opts?: Partial>> -): Cursor>; -export function defCursor< - T, - A extends Keys, - B extends Keys1, - C extends Keys2, - D extends Keys3, - E extends Keys4, - F extends Keys5, - G extends Keys6, - H extends Keys7 ->( + path: Path7, + opts?: Partial>> +): Cursor>; +export function defCursor( parent: IAtom, - path: readonly [A, B, C, D, E, F, G, H], - opts?: Partial>> -): Cursor>; -export function defCursor< - T, - A extends Keys, - B extends Keys1, - C extends Keys2, - D extends Keys3, - E extends Keys4, - F extends Keys5, - G extends Keys6, - H extends Keys7 ->( + path: Path8, + opts?: Partial>> +): Cursor>; +export function defCursor( parent: IAtom, - path: readonly [A, B, C, D, E, F, G, H, ...PropertyKey[]], + path: DeepPath, opts?: Partial> ): Cursor; export function defCursor( @@ -229,71 +176,34 @@ export class Cursor implements IAtom, IID, IRelease { return this.local.reset(val); } - resetIn>(path: readonly [A], val: Val1): T; - resetIn, B extends Keys1>( - path: readonly [A, B], - val: Val2 + resetIn(path: Path0, val: T): T; + resetIn(path: Path1, val: PathVal1): T; + resetIn(path: Path2, val: PathVal2): T; + resetIn(path: Path3, val: PathVal3): T; + resetIn( + path: Path4, + val: PathVal4 ): T; - resetIn, B extends Keys1, C extends Keys2>( - path: readonly [A, B, C], - val: Val3 + resetIn( + path: Path5, + val: PathVal5 ): T; - resetIn< - A extends Keys, - B extends Keys1, - C extends Keys2, - D extends Keys3 - >(path: readonly [A, B, C, D], val: Val4): T; - resetIn< - A extends Keys, - B extends Keys1, - C extends Keys2, - D extends Keys3, - E extends Keys4 - >(path: readonly [A, B, C, D, E], val: Val5): T; - resetIn< - A extends Keys, - B extends Keys1, - C extends Keys2, - D extends Keys3, - E extends Keys4, - F extends Keys5 - >(path: readonly [A, B, C, D, E, F], val: Val6): T; - resetIn< - A extends Keys, - B extends Keys1, - C extends Keys2, - D extends Keys3, - E extends Keys4, - F extends Keys5, - G extends Keys6 - >( - path: readonly [A, B, C, D, E, F, G], - val: Val7 + resetIn( + path: Path6, + val: PathVal6 ): T; - resetIn< - A extends Keys, - B extends Keys1, - C extends Keys2, - D extends Keys3, - E extends Keys4, - F extends Keys5, - G extends Keys6, - H extends Keys7 - >( - path: readonly [A, B, C, D, E, F, G, H], - val: Val8 + resetIn( + path: Path7, + val: PathVal7 + ): T; + resetIn( + path: Path8, + val: PathVal8 + ): T; + resetIn( + path: DeepPath, + val: any ): T; - resetIn< - A extends Keys, - B extends Keys1, - C extends Keys2, - D extends Keys3, - E extends Keys4, - F extends Keys5, - G extends Keys6, - H extends Keys7 - >(path: readonly [A, B, C, D, E, F, G, H, ...PropertyKey[]], val: any): T; resetIn(path: AtomPath, val: any) { return this.local.resetInUnsafe(path, val); } @@ -306,92 +216,45 @@ export class Cursor implements IAtom, IID, IRelease { return this.local.swap(fn, ...args); } - swapIn>( - path: readonly [A], - fn: SwapFn>, - ...args: any[] - ): T; - swapIn, B extends Keys1>( - path: readonly [A, B], - fn: SwapFn>, + swapIn(path: Path0, fn: SwapFn, ...args: any[]): T; + swapIn(path: Path1, fn: SwapFn>, ...args: any[]): T; + swapIn( + path: Path2, + fn: SwapFn>, ...args: any[] ): T; - swapIn, B extends Keys1, C extends Keys2>( - path: readonly [A, B, C], - fn: SwapFn>, + swapIn( + path: Path3, + fn: SwapFn>, ...args: any[] ): T; - swapIn< - A extends Keys, - B extends Keys1, - C extends Keys2, - D extends Keys3 - >( - path: readonly [A, B, C, D], - fn: SwapFn>, + swapIn( + path: Path4, + fn: SwapFn>, ...args: any[] ): T; - swapIn< - A extends Keys, - B extends Keys1, - C extends Keys2, - D extends Keys3, - E extends Keys4 - >( - path: readonly [A, B, C, D, E], - fn: SwapFn>, + swapIn( + path: Path5, + fn: SwapFn>, ...args: any[] ): T; - swapIn< - A extends Keys, - B extends Keys1, - C extends Keys2, - D extends Keys3, - E extends Keys4, - F extends Keys5 - >( - path: readonly [A, B, C, D, E, F], - fn: SwapFn>, + swapIn( + path: Path6, + fn: SwapFn>, ...args: any[] ): T; - swapIn< - A extends Keys, - B extends Keys1, - C extends Keys2, - D extends Keys3, - E extends Keys4, - F extends Keys5, - G extends Keys6 - >( - path: readonly [A, B, C, D, E, F, G], - fn: SwapFn>, + swapIn( + path: Path7, + fn: SwapFn>, ...args: any[] ): T; - swapIn< - A extends Keys, - B extends Keys1, - C extends Keys2, - D extends Keys3, - E extends Keys4, - F extends Keys5, - G extends Keys6, - H extends Keys7 - >( - path: readonly [A, B, C, D, E, F, G, H], - fn: SwapFn>, + swapIn( + path: Path8, + fn: SwapFn>, ...args: any[] ): T; - swapIn< - A extends Keys, - B extends Keys1, - C extends Keys2, - D extends Keys3, - E extends Keys4, - F extends Keys5, - G extends Keys6, - H extends Keys7 - >( - path: readonly [A, B, C, D, E, F, G, H, ...PropertyKey[]], + swapIn( + path: DeepPath, fn: SwapFn, ...args: any[] ): T; diff --git a/packages/atom/src/history.ts b/packages/atom/src/history.ts index 9048740dd0..46dd57302a 100644 --- a/packages/atom/src/history.ts +++ b/packages/atom/src/history.ts @@ -2,25 +2,27 @@ import { INotifyMixin } from "@thi.ng/api"; import { equiv } from "@thi.ng/equiv"; import { getIn, setIn, updateIn } from "@thi.ng/paths"; import type { + DeepPath, Event, - Keys, - Keys1, - Keys2, - Keys3, - Keys4, - Keys5, - Keys6, - Keys7, Listener, + Path0, + Path1, + Path2, + Path3, + Path4, + Path5, + Path6, + Path7, + Path8, + PathVal1, + PathVal2, + PathVal3, + PathVal4, + PathVal5, + PathVal6, + PathVal7, + PathVal8, Predicate2, - Val1, - Val2, - Val3, - Val4, - Val5, - Val6, - Val7, - Val8, Watch, } from "@thi.ng/api"; import type { AtomPath, IAtom, IHistory, SwapFn } from "./api"; @@ -161,71 +163,34 @@ export class History implements IHistory { return val; } - resetIn>(path: readonly [A], val: Val1): T; - resetIn, B extends Keys1>( - path: readonly [A, B], - val: Val2 + resetIn(path: Path0, val: T): T; + resetIn(path: Path1, val: PathVal1): T; + resetIn(path: Path2, val: PathVal2): T; + resetIn(path: Path3, val: PathVal3): T; + resetIn( + path: Path4, + val: PathVal4 ): T; - resetIn, B extends Keys1, C extends Keys2>( - path: readonly [A, B, C], - val: Val3 + resetIn( + path: Path5, + val: PathVal5 ): T; - resetIn< - A extends Keys, - B extends Keys1, - C extends Keys2, - D extends Keys3 - >(path: readonly [A, B, C, D], val: Val4): T; - resetIn< - A extends Keys, - B extends Keys1, - C extends Keys2, - D extends Keys3, - E extends Keys4 - >(path: readonly [A, B, C, D, E], val: Val5): T; - resetIn< - A extends Keys, - B extends Keys1, - C extends Keys2, - D extends Keys3, - E extends Keys4, - F extends Keys5 - >(path: readonly [A, B, C, D, E, F], val: Val6): T; - resetIn< - A extends Keys, - B extends Keys1, - C extends Keys2, - D extends Keys3, - E extends Keys4, - F extends Keys5, - G extends Keys6 - >( - path: readonly [A, B, C, D, E, F, G], - val: Val7 + resetIn( + path: Path6, + val: PathVal6 ): T; - resetIn< - A extends Keys, - B extends Keys1, - C extends Keys2, - D extends Keys3, - E extends Keys4, - F extends Keys5, - G extends Keys6, - H extends Keys7 - >( - path: readonly [A, B, C, D, E, F, G, H], - val: Val8 + resetIn( + path: Path7, + val: PathVal7 + ): T; + resetIn( + path: Path8, + val: PathVal8 + ): T; + resetIn( + path: DeepPath, + val: any ): T; - resetIn< - A extends Keys, - B extends Keys1, - C extends Keys2, - D extends Keys3, - E extends Keys4, - F extends Keys5, - G extends Keys6, - H extends Keys7 - >(path: readonly [A, B, C, D, E, F, G, H, ...PropertyKey[]], val: any): T; resetIn(path: AtomPath, val: any) { const prev = this.state.deref(); const prevV = getIn(prev, path); @@ -251,92 +216,45 @@ export class History implements IHistory { return this.reset(fn(this.state.deref(), ...args)); } - swapIn>( - path: readonly [A], - fn: SwapFn>, - ...args: any[] - ): T; - swapIn, B extends Keys1>( - path: readonly [A, B], - fn: SwapFn>, + swapIn(path: Path0, fn: SwapFn, ...args: any[]): T; + swapIn(path: Path1, fn: SwapFn>, ...args: any[]): T; + swapIn( + path: Path2, + fn: SwapFn>, ...args: any[] ): T; - swapIn, B extends Keys1, C extends Keys2>( - path: readonly [A, B, C], - fn: SwapFn>, + swapIn( + path: Path3, + fn: SwapFn>, ...args: any[] ): T; - swapIn< - A extends Keys, - B extends Keys1, - C extends Keys2, - D extends Keys3 - >( - path: readonly [A, B, C, D], - fn: SwapFn>, + swapIn( + path: Path4, + fn: SwapFn>, ...args: any[] ): T; - swapIn< - A extends Keys, - B extends Keys1, - C extends Keys2, - D extends Keys3, - E extends Keys4 - >( - path: readonly [A, B, C, D, E], - fn: SwapFn>, + swapIn( + path: Path5, + fn: SwapFn>, ...args: any[] ): T; - swapIn< - A extends Keys, - B extends Keys1, - C extends Keys2, - D extends Keys3, - E extends Keys4, - F extends Keys5 - >( - path: readonly [A, B, C, D, E, F], - fn: SwapFn>, + swapIn( + path: Path6, + fn: SwapFn>, ...args: any[] ): T; - swapIn< - A extends Keys, - B extends Keys1, - C extends Keys2, - D extends Keys3, - E extends Keys4, - F extends Keys5, - G extends Keys6 - >( - path: readonly [A, B, C, D, E, F, G], - fn: SwapFn>, + swapIn( + path: Path7, + fn: SwapFn>, ...args: any[] ): T; - swapIn< - A extends Keys, - B extends Keys1, - C extends Keys2, - D extends Keys3, - E extends Keys4, - F extends Keys5, - G extends Keys6, - H extends Keys7 - >( - path: readonly [A, B, C, D, E, F, G, H], - fn: SwapFn>, + swapIn( + path: Path8, + fn: SwapFn>, ...args: any[] ): T; - swapIn< - A extends Keys, - B extends Keys1, - C extends Keys2, - D extends Keys3, - E extends Keys4, - F extends Keys5, - G extends Keys6, - H extends Keys7 - >( - path: readonly [A, B, C, D, E, F, G, H, ...PropertyKey[]], + swapIn( + path: DeepPath, fn: SwapFn, ...args: any[] ): T; diff --git a/packages/atom/src/transacted.ts b/packages/atom/src/transacted.ts index 00658c14fb..4a5d99fea8 100644 --- a/packages/atom/src/transacted.ts +++ b/packages/atom/src/transacted.ts @@ -2,22 +2,24 @@ import { assert } from "@thi.ng/api"; import { setIn, updateIn } from "@thi.ng/paths"; import { nextID } from "./idgen"; import type { - Keys, - Keys1, - Keys2, - Keys3, - Keys4, - Keys5, - Keys6, - Keys7, - Val1, - Val2, - Val3, - Val4, - Val5, - Val6, - Val7, - Val8, + DeepPath, + Path0, + Path1, + Path2, + Path3, + Path4, + Path5, + Path6, + Path7, + Path8, + PathVal1, + PathVal2, + PathVal3, + PathVal4, + PathVal5, + PathVal6, + PathVal7, + PathVal8, Watch, } from "@thi.ng/api"; import type { AtomPath, IAtom, SwapFn } from "./api"; @@ -64,71 +66,34 @@ export class Transacted implements IAtom { return val; } - resetIn>(path: readonly [A], val: Val1): T; - resetIn, B extends Keys1>( - path: readonly [A, B], - val: Val2 + resetIn(path: Path0, val: T): T; + resetIn(path: Path1, val: PathVal1): T; + resetIn(path: Path2, val: PathVal2): T; + resetIn(path: Path3, val: PathVal3): T; + resetIn( + path: Path4, + val: PathVal4 ): T; - resetIn, B extends Keys1, C extends Keys2>( - path: readonly [A, B, C], - val: Val3 + resetIn( + path: Path5, + val: PathVal5 ): T; - resetIn< - A extends Keys, - B extends Keys1, - C extends Keys2, - D extends Keys3 - >(path: readonly [A, B, C, D], val: Val4): T; - resetIn< - A extends Keys, - B extends Keys1, - C extends Keys2, - D extends Keys3, - E extends Keys4 - >(path: readonly [A, B, C, D, E], val: Val5): T; - resetIn< - A extends Keys, - B extends Keys1, - C extends Keys2, - D extends Keys3, - E extends Keys4, - F extends Keys5 - >(path: readonly [A, B, C, D, E, F], val: Val6): T; - resetIn< - A extends Keys, - B extends Keys1, - C extends Keys2, - D extends Keys3, - E extends Keys4, - F extends Keys5, - G extends Keys6 - >( - path: readonly [A, B, C, D, E, F, G], - val: Val7 + resetIn( + path: Path6, + val: PathVal6 ): T; - resetIn< - A extends Keys, - B extends Keys1, - C extends Keys2, - D extends Keys3, - E extends Keys4, - F extends Keys5, - G extends Keys6, - H extends Keys7 - >( - path: readonly [A, B, C, D, E, F, G, H], - val: Val8 + resetIn( + path: Path7, + val: PathVal7 + ): T; + resetIn( + path: Path8, + val: PathVal8 + ): T; + resetIn( + path: DeepPath, + val: any ): T; - resetIn< - A extends Keys, - B extends Keys1, - C extends Keys2, - D extends Keys3, - E extends Keys4, - F extends Keys5, - G extends Keys6, - H extends Keys7 - >(path: readonly [A, B, C, D, E, F, G, H, ...PropertyKey[]], val: any): T; resetIn(path: AtomPath, val: any) { this.ensureTx(); return this.reset(setIn(this.current, path, val)); @@ -143,92 +108,45 @@ export class Transacted implements IAtom { return this.reset(fn.apply(null, [this.current!, ...args])); } - swapIn>( - path: readonly [A], - fn: SwapFn>, - ...args: any[] - ): T; - swapIn, B extends Keys1>( - path: readonly [A, B], - fn: SwapFn>, + swapIn(path: Path0, fn: SwapFn, ...args: any[]): T; + swapIn(path: Path1, fn: SwapFn>, ...args: any[]): T; + swapIn( + path: Path2, + fn: SwapFn>, ...args: any[] ): T; - swapIn, B extends Keys1, C extends Keys2>( - path: readonly [A, B, C], - fn: SwapFn>, + swapIn( + path: Path3, + fn: SwapFn>, ...args: any[] ): T; - swapIn< - A extends Keys, - B extends Keys1, - C extends Keys2, - D extends Keys3 - >( - path: readonly [A, B, C, D], - fn: SwapFn>, + swapIn( + path: Path4, + fn: SwapFn>, ...args: any[] ): T; - swapIn< - A extends Keys, - B extends Keys1, - C extends Keys2, - D extends Keys3, - E extends Keys4 - >( - path: readonly [A, B, C, D, E], - fn: SwapFn>, + swapIn( + path: Path5, + fn: SwapFn>, ...args: any[] ): T; - swapIn< - A extends Keys, - B extends Keys1, - C extends Keys2, - D extends Keys3, - E extends Keys4, - F extends Keys5 - >( - path: readonly [A, B, C, D, E, F], - fn: SwapFn>, + swapIn( + path: Path6, + fn: SwapFn>, ...args: any[] ): T; - swapIn< - A extends Keys, - B extends Keys1, - C extends Keys2, - D extends Keys3, - E extends Keys4, - F extends Keys5, - G extends Keys6 - >( - path: readonly [A, B, C, D, E, F, G], - fn: SwapFn>, + swapIn( + path: Path7, + fn: SwapFn>, ...args: any[] ): T; - swapIn< - A extends Keys, - B extends Keys1, - C extends Keys2, - D extends Keys3, - E extends Keys4, - F extends Keys5, - G extends Keys6, - H extends Keys7 - >( - path: readonly [A, B, C, D, E, F, G, H], - fn: SwapFn>, + swapIn( + path: Path8, + fn: SwapFn>, ...args: any[] ): T; - swapIn< - A extends Keys, - B extends Keys1, - C extends Keys2, - D extends Keys3, - E extends Keys4, - F extends Keys5, - G extends Keys6, - H extends Keys7 - >( - path: readonly [A, B, C, D, E, F, G, H, ...PropertyKey[]], + swapIn( + path: DeepPath, fn: SwapFn, ...args: any[] ): T; diff --git a/packages/atom/src/view.ts b/packages/atom/src/view.ts index f8342b5ebe..2488de1ff4 100644 --- a/packages/atom/src/view.ts +++ b/packages/atom/src/view.ts @@ -2,155 +2,99 @@ import { equiv as _equiv } from "@thi.ng/equiv"; import { getter, toPath } from "@thi.ng/paths"; import { nextID } from "./idgen"; import type { + DeepPath, Fn, - Keys, - Keys1, - Keys2, - Keys3, - Keys4, - Keys5, - Keys6, - Keys7, + Path0, + Path1, + Path2, + Path3, + Path4, + Path5, + Path6, + Path7, + Path8, + PathVal1, + PathVal2, + PathVal3, + PathVal4, + PathVal5, + PathVal6, + PathVal7, + PathVal8, Predicate2, - Val1, - Val2, - Val3, - Val4, - Val5, - Val6, - Val7, - Val8, } from "@thi.ng/api"; import type { AtomPath, IView, ReadonlyAtom } from "./api"; -export function defView( +// const a = defAtom({ a: { b: { c: 1 } } }); +// const v1 = defView(a, ["a", "b", "c"], (x) => ""); +// const v2 = defView(a, ["a", "b", "c"]); + +export function defView( parent: ReadonlyAtom, - path: readonly [], + path: Path0, tx?: Fn, lazy?: boolean, equiv?: Predicate2 ): View; -export function defView, R>( +export function defView( parent: ReadonlyAtom, - path: readonly [A], - tx?: Fn, R>, + path: Path1, + tx?: Fn, R>, lazy?: boolean, - equiv?: Predicate2> -): View : R>; -export function defView, B extends Keys1, R>( + equiv?: Predicate2> +): View : R>; +export function defView( parent: ReadonlyAtom, - path: readonly [A, B], - tx?: Fn, R>, + path: Path2, + tx?: Fn, R>, lazy?: boolean, - equiv?: Predicate2> -): View : R>; -export function defView< - T, - A extends Keys, - B extends Keys1, - C extends Keys2, - R ->( + equiv?: Predicate2> +): View : R>; +export function defView( parent: ReadonlyAtom, - path: readonly [A, B, C], - tx?: Fn, R>, + path: Path3, + tx?: Fn, R>, lazy?: boolean, - equiv?: Predicate2> -): View : R>; -export function defView< - T, - A extends Keys, - B extends Keys1, - C extends Keys2, - D extends Keys3, - R ->( + equiv?: Predicate2> +): View : R>; +export function defView( parent: ReadonlyAtom, - path: readonly [A, B, C, D], - tx?: Fn, R>, + path: Path4, + tx?: Fn, R>, lazy?: boolean, - equiv?: Predicate2> -): View : R>; -export function defView< - T, - A extends Keys, - B extends Keys1, - C extends Keys2, - D extends Keys3, - E extends Keys4, - R ->( + equiv?: Predicate2> +): View : R>; +export function defView( parent: ReadonlyAtom, - path: readonly [A, B, C, D, E], - tx?: Fn, R>, + path: Path5, + tx?: Fn, R>, lazy?: boolean, - equiv?: Predicate2> -): View : R>; -export function defView< - T, - A extends Keys, - B extends Keys1, - C extends Keys2, - D extends Keys3, - E extends Keys4, - F extends Keys5, - R ->( + equiv?: Predicate2> +): View : R>; +export function defView( parent: ReadonlyAtom, - path: readonly [A, B, C, D, E, F], - tx?: Fn, R>, + path: Path6, + tx?: Fn, R>, lazy?: boolean, - equiv?: Predicate2> -): View : R>; -export function defView< - T, - A extends Keys, - B extends Keys1, - C extends Keys2, - D extends Keys3, - E extends Keys4, - F extends Keys5, - G extends Keys6, - R ->( + equiv?: Predicate2> +): View : R>; +export function defView( parent: ReadonlyAtom, - path: readonly [A, B, C, D, E, F, G], - tx?: Fn, R>, + path: Path7, + tx?: Fn, R>, lazy?: boolean, - equiv?: Predicate2> -): View : R>; -export function defView< - T, - A extends Keys, - B extends Keys1, - C extends Keys2, - D extends Keys3, - E extends Keys4, - F extends Keys5, - G extends Keys6, - H extends Keys7, - R ->( + equiv?: Predicate2> +): View : R>; +export function defView( parent: ReadonlyAtom, - path: readonly [A, B, C, D, E, F, G, H], - tx?: Fn, R>, + path: Path8, + tx?: Fn, R>, lazy?: boolean, - equiv?: Predicate2> -): View : R>; -export function defView< - T, - A extends Keys, - B extends Keys1, - C extends Keys2, - D extends Keys3, - E extends Keys4, - F extends Keys5, - G extends Keys6, - H extends Keys7, - R ->( + equiv?: Predicate2> +): View : R>; +export function defView( parent: ReadonlyAtom, - path: readonly [A, B, C, D, E, F, G, H, ...PropertyKey[]], + path: DeepPath, tx?: Fn, lazy?: boolean, equiv?: Predicate2 From b51efc69834e178344c4d1c1e47961460acedd8f Mon Sep 17 00:00:00 2001 From: Karsten Schmidt Date: Tue, 24 Mar 2020 20:11:47 +0000 Subject: [PATCH 34/70] feat(paths): major API update BREAKING CHANGES: Major API updates, new semantics, renamed operators - major simplification func sigs (using new `Path1-8` types) - add/rename `getter()` => `defGetter()`/`defGetterUnsafe()` - add/rename `setter()` => `defSetter()`/`defSetterUnsafe()` - add/rename `updater()` => `defUpdater()`/`defUpdaterUnsafe()` - add/rename `mutator()` => `defMutator()`/`defMutatorUnsafe()` - rename all unchecked ops to `xxxUnsafe()` - type checked ops are using no suffixes - add overrides for mut/setInManyUnsafe() - update doc strings - update tests --- packages/paths/src/api.ts | 65 --------- packages/paths/src/delete-in.ts | 56 +++++--- packages/paths/src/get-in.ts | 152 ++++++++------------ packages/paths/src/getter.ts | 147 ++++++++------------ packages/paths/src/mut-in-many.ts | 64 +++++++-- packages/paths/src/mut-in.ts | 165 +++++++++------------- packages/paths/src/mutator.ts | 145 +++++++------------ packages/paths/src/path.ts | 6 +- packages/paths/src/set-in-many.ts | 69 ++++++++-- packages/paths/src/set-in.ts | 168 +++++++++------------- packages/paths/src/setter.ts | 222 +++++++++++++++--------------- packages/paths/src/update-in.ts | 193 +++++++++++--------------- packages/paths/src/updater.ts | 175 ++++++++++------------- packages/paths/test/index.ts | 136 ++++++++++-------- 14 files changed, 785 insertions(+), 978 deletions(-) diff --git a/packages/paths/src/api.ts b/packages/paths/src/api.ts index 7f5214ee8e..cc64fb7299 100644 --- a/packages/paths/src/api.ts +++ b/packages/paths/src/api.ts @@ -1,66 +1 @@ -import type { - Keys, - Keys1, - Keys2, - Keys3, - Keys4, - Keys5, - Keys6, - Keys7 -} from "@thi.ng/api"; - -export type Path1> = [A]; -export type Path2, B extends Keys1> = [A, B]; -export type Path3< - T, - A extends Keys, - B extends Keys1, - C extends Keys2 -> = [A, B, C]; -export type Path4< - T, - A extends Keys, - B extends Keys1, - C extends Keys2, - D extends Keys3 -> = [A, B, C, D]; -export type Path5< - T, - A extends Keys, - B extends Keys1, - C extends Keys2, - D extends Keys3, - E extends Keys4 -> = [A, B, C, D, E]; -export type Path6< - T, - A extends Keys, - B extends Keys1, - C extends Keys2, - D extends Keys3, - E extends Keys4, - F extends Keys5 -> = [A, B, C, D, E, F]; -export type Path7< - T, - A extends Keys, - B extends Keys1, - C extends Keys2, - D extends Keys3, - E extends Keys4, - F extends Keys5, - G extends Keys6 -> = [A, B, C, D, E, F, G]; -export type Path8< - T, - A extends Keys, - B extends Keys1, - C extends Keys2, - D extends Keys3, - E extends Keys4, - F extends Keys5, - G extends Keys6, - H extends Keys7 -> = [A, B, C, D, E, F, G, H]; - export type UpdateFn = (curr: T, ...args: any[]) => T; diff --git a/packages/paths/src/delete-in.ts b/packages/paths/src/delete-in.ts index 912523f1f0..2c834e8027 100644 --- a/packages/paths/src/delete-in.ts +++ b/packages/paths/src/delete-in.ts @@ -1,5 +1,5 @@ import { toPath } from "./path"; -import { updateInT } from "./update-in"; +import { updateIn } from "./update-in"; import type { Keys, Keys1, @@ -17,52 +17,63 @@ import type { Without5, Without6, Without7, - Without8 + Without8, } from "@thi.ng/api"; /** - * Uses {@link updateIn} and returns updated state with key for given - * path removed. Does not modify original state.Returns `undefined` if - * `path` is an empty string or array. + * Uses {@link updateIn} and returns updated state with key for + * given path removed. Does not modify original state. Returns + * `undefined` if `path` is an empty string or array. * - * ``` + * @example + * ```ts + * // unchecked * deleteIn({ a: { b: { c: 23 } } }, "a.b.c"); * // { a: { b: { } } } + * + * // type checked + * deleteIn({ a: { b: { c: 23 } } }, ["a","b","c"]); + * + * // error (wrong path) + * deleteIn({ a: { b: { c: 23 } } }, ["a","b","d"]); * ``` * * @param state - * @param path - */ -export const deleteIn = (state: any, path: Readonly) => deleteInT(state, path); +export const deleteInUnsafe = (state: any, path: Path) => + deleteIn(state, path); /** - * Type checked version of {@link deleteIn}. + * Type checked version of {@link deleteInUnsafe}. Only the first 8 path + * levels are type checked. The result type will have the path value + * removed too. * * @param state - * @param path - */ -export function deleteInT>( +export function deleteIn>( state: T, path: readonly [A] ): Without; -export function deleteInT, B extends Keys1>( +export function deleteIn, B extends Keys1>( state: T, path: readonly [A, B] ): Without2; -export function deleteInT< +export function deleteIn< T, A extends Keys, B extends Keys1, C extends Keys2 >(state: T, path: readonly [A, B, C]): Without3; -export function deleteInT< +export function deleteIn< T, A extends Keys, B extends Keys1, C extends Keys2, D extends Keys3 >(state: T, path: readonly [A, B, C, D]): Without4; -export function deleteInT< +export function deleteIn< T, A extends Keys, B extends Keys1, @@ -70,7 +81,7 @@ export function deleteInT< D extends Keys3, E extends Keys4 >(state: T, path: readonly [A, B, C, D, E]): Without5; -export function deleteInT< +export function deleteIn< T, A extends Keys, B extends Keys1, @@ -79,7 +90,7 @@ export function deleteInT< E extends Keys4, F extends Keys5 >(state: T, path: readonly [A, B, C, D, E, F]): Without6; -export function deleteInT< +export function deleteIn< T, A extends Keys, B extends Keys1, @@ -88,8 +99,11 @@ export function deleteInT< E extends Keys4, F extends Keys5, G extends Keys6 ->(state: T, path: readonly [A, B, C, D, E, F, G]): Without7; -export function deleteInT< +>( + state: T, + path: readonly [A, B, C, D, E, F, G] +): Without7; +export function deleteIn< T, A extends Keys, B extends Keys1, @@ -103,11 +117,11 @@ export function deleteInT< state: T, path: readonly [A, B, C, D, E, F, G, H] ): Without8; -export function deleteInT(state: any, path: Readonly): any { - const ks = [...toPath(path)]; - if (ks.length > 0) { +export function deleteIn(state: any, path: Path): any { + const ks = toPath(path).slice(); + if (ks.length) { const k = ks.pop()!; - return updateInT( + return updateIn( state, ks, (x) => ((x = { ...x }), delete x[k], x) diff --git a/packages/paths/src/get-in.ts b/packages/paths/src/get-in.ts index 2e446dc635..fa0f036cb3 100644 --- a/packages/paths/src/get-in.ts +++ b/packages/paths/src/get-in.ts @@ -1,121 +1,83 @@ -import { getterT } from "./getter"; +import { defGetter } from "./getter"; import type { - Keys, - Keys1, - Keys2, - Keys3, - Keys4, - Keys5, - Keys6, - Keys7, + DeepPath, Path, - Val1, - Val2, - Val3, - Val4, - Val5, - Val6, - Val7, - Val8 + Path0, + Path1, + Path3, + Path4, + Path5, + Path6, + Path7, + Path8, + PathVal1, + PathVal2, + PathVal3, + PathVal4, + PathVal5, + PathVal6, + PathVal7, + PathVal8, } from "@thi.ng/api"; /** - * Immediate use getter, i.e. same as: `getter(path)(state)`. - * - * @remarks - * Supports type checked paths and values for path lengths <= 8. String - * paths are always unchecked (i.e. `state` is `any`). + * Immediate use getter, i.e. same as: `defGetter(path)(state)`. * * @example * ```ts - * // checked path and inferred return type + * // type checked path and inferred return type * getIn({ a: { b: { c: 23 } } }, ["a","b","c"]); * // 23 * * // unchecked path - * getIn({ a: { b: { c: 23 } } }, "a.b.c"); + * getInUnsafe({ a: { b: { c: 23 } } }, "a.b.c"); * // 23 * ``` * * @param state - * @param path - */ -export const getIn = (state: any, path: Readonly): any => getterT(path)(state); +export const getInUnsafe = (state: any, path: Path): any => + defGetter(path)(state); /** - * Type checked version of {@link getIn}. + * Type checked version of {@link getInUnsafe}. Only the first 8 path + * levels are type checked. * * @param state - * @param path - */ -export function getInT(state: T, path: readonly []): T; -export function getInT>(state: T, path: readonly [A]): Val1; -export function getInT, B extends Keys1>( +export function getIn(state: T, path: Path0): T; +export function getIn(state: T, path: Path1): PathVal1; +export function getIn(state: T, path: Path1): PathVal2; +export function getIn( + state: T, + path: Path3 +): PathVal3; +export function getIn( + state: T, + path: Path4 +): PathVal4; +export function getIn( + state: T, + path: Path5 +): PathVal5; +export function getIn( + state: T, + path: Path6 +): PathVal6; +export function getIn( + state: T, + path: Path7 +): PathVal7; +export function getIn( + state: T, + path: Path8 +): PathVal8; +export function getIn( state: T, - path: readonly [A, B] -): Val2; -export function getInT< - T, - A extends Keys, - B extends Keys1, - C extends Keys2 ->(state: T, path: readonly [A, B, C]): Val3; -export function getInT< - T, - A extends Keys, - B extends Keys1, - C extends Keys2, - D extends Keys3 ->(state: T, path: readonly [A, B, C, D]): Val4; -export function getInT< - T, - A extends Keys, - B extends Keys1, - C extends Keys2, - D extends Keys3, - E extends Keys4 ->(state: T, path: readonly [A, B, C, D, E]): Val5; -export function getInT< - T, - A extends Keys, - B extends Keys1, - C extends Keys2, - D extends Keys3, - E extends Keys4, - F extends Keys5 ->(state: T, path: readonly [A, B, C, D, E, F]): Val6; -export function getInT< - T, - A extends Keys, - B extends Keys1, - C extends Keys2, - D extends Keys3, - E extends Keys4, - F extends Keys5, - G extends Keys6 ->(state: T, path: readonly [A, B, C, D, E, F, G]): Val7; -export function getInT< - T, - A extends Keys, - B extends Keys1, - C extends Keys2, - D extends Keys3, - E extends Keys4, - F extends Keys5, - G extends Keys6, - H extends Keys7 ->(state: T, path: readonly [A, B, C, D, E, F, G, H]): Val8; -export function getInT< - T, - A extends Keys, - B extends Keys1, - C extends Keys2, - D extends Keys3, - E extends Keys4, - F extends Keys5, - G extends Keys6, - H extends Keys7 ->(state: T, path: readonly [A, B, C, D, E, F, G, H, ...any[]]): any; -export function getInT(state: any, path: Readonly) { - return getterT(path)(state); + path: DeepPath +): any; +export function getIn(state: any, path: Path) { + return defGetter(path)(state); } diff --git a/packages/paths/src/getter.ts b/packages/paths/src/getter.ts index 532bfcd16f..f72156010b 100644 --- a/packages/paths/src/getter.ts +++ b/packages/paths/src/getter.ts @@ -1,23 +1,25 @@ import { toPath } from "./path"; import type { + DeepPath, Fn, - Keys, - Keys1, - Keys2, - Keys3, - Keys4, - Keys5, - Keys6, - Keys7, Path, - Val1, - Val2, - Val3, - Val4, - Val5, - Val6, - Val7, - Val8 + Path0, + Path1, + Path2, + Path3, + Path4, + Path5, + Path6, + Path7, + Path8, + PathVal1, + PathVal2, + PathVal3, + PathVal4, + PathVal5, + PathVal6, + PathVal7, + PathVal8, } from "@thi.ng/api"; /** @@ -38,7 +40,7 @@ import type { * If `path` is an empty string or array, the returned getter will * simply return the given state arg (identity function). * - * Also see: `getIn()` + * Also see: {@link defGetter}, {@link getIn}, {@link getInUnsafe} * * @example * ```ts @@ -46,14 +48,14 @@ import type { * a: { b: { c: number; } } * } * - * // fully typed getter - * g = getter(["a","b","c"]); + * // fully type checked getter + * g = defGetter(["a","b","c"]); * * // error (wrong `d` key) - * g = getter(["a","b","d"]); + * g = defGetter(["a","b","d"]); * * // unchecked (accepts any, returns any) - * g = getter("a.b.c"); + * g = defGetterUnsafe("a.b.c"); * * g({ a: { b: { c: 23} } }) // 23 * g({ x: 23 }) // undefined @@ -62,83 +64,44 @@ import type { * * @param path - */ -export const getter = (path: Readonly): Fn => getterT(path); +export const defGetterUnsafe = (path: Path): Fn => + defGetter(path); /** - * Type checked version of {@link getter}. + * Type checked version of {@link defGetter}. Only the first 8 path + * levels are type checked. * * @param path - */ -export function getterT(path: readonly []): Fn; -export function getterT>(path: readonly [A]): Fn>; -export function getterT, B extends Keys1>( - path: readonly [A, B] -): Fn>; -export function getterT< - T, - A extends Keys, - B extends Keys1, - C extends Keys2 ->(path: readonly [A, B, C]): Fn>; -export function getterT< - T, - A extends Keys, - B extends Keys1, - C extends Keys2, - D extends Keys3 ->(path: readonly [A, B, C, D]): Fn>; -export function getterT< - T, - A extends Keys, - B extends Keys1, - C extends Keys2, - D extends Keys3, - E extends Keys4 ->(path: readonly [A, B, C, D, E]): Fn>; -export function getterT< - T, - A extends Keys, - B extends Keys1, - C extends Keys2, - D extends Keys3, - E extends Keys4, - F extends Keys5 ->(path: readonly [A, B, C, D, E, F]): Fn>; -export function getterT< - T, - A extends Keys, - B extends Keys1, - C extends Keys2, - D extends Keys3, - E extends Keys4, - F extends Keys5, - G extends Keys6 ->(path: readonly [A, B, C, D, E, F, G]): Fn>; -export function getterT< - T, - A extends Keys, - B extends Keys1, - C extends Keys2, - D extends Keys3, - E extends Keys4, - F extends Keys5, - G extends Keys6, - H extends Keys7 ->(path: readonly [A, B, C, D, E, F, G, H]): Fn>; -export function getterT< - T, - A extends Keys, - B extends Keys1, - C extends Keys2, - D extends Keys3, - E extends Keys4, - F extends Keys5, - G extends Keys6, - H extends Keys7 ->(path: readonly [A, B, C, D, E, F, G, H, ...any[]]): Fn; -export function getterT(path: Readonly) { +export function defGetter(path: Path0): Fn; +export function defGetter(path: Path1): Fn>; +export function defGetter( + path: Path2 +): Fn>; +export function defGetter( + path: Path3 +): Fn>; +export function defGetter( + path: Path4 +): Fn>; +export function defGetter( + path: Path5 +): Fn>; +export function defGetter( + path: Path6 +): Fn>; +export function defGetter( + path: Path7 +): Fn>; +export function defGetter( + path: Path8 +): Fn>; +export function defGetter( + path: DeepPath +): Fn; +export function defGetter(path: Path) { const ks = toPath(path); - let [a, b, c, d] = ks; + const [a, b, c, d] = ks; switch (ks.length) { case 0: return (s: any) => s; diff --git a/packages/paths/src/mut-in-many.ts b/packages/paths/src/mut-in-many.ts index 61d1bcd055..59042e921d 100644 --- a/packages/paths/src/mut-in-many.ts +++ b/packages/paths/src/mut-in-many.ts @@ -1,20 +1,20 @@ import { illegalArgs } from "@thi.ng/errors"; -import { mutInT } from "./mut-in"; +import { mutIn } from "./mut-in"; +import type { Path } from "@thi.ng/api"; /** - * Similar to {@link mutIn}, but takes any number of path-value pairs as - * args and applies them in sequence using `mutIn()`. All key paths must - * already be present in the given data structure until their - * penultimate key. - * - * @remarks - * Unlike {@link mutIn}, this function does not use type checked paths. + * Similar to {@link mutInUnsafe}, but takes any number of path-value + * pairs as args and applies them in sequence using `mutInUnsafe()`. All + * key paths must already be present in the given data structure until + * their penultimate key. Missing leaf values are supported. * * @example * ```ts - * mutInMany( + * mutInManyUnsafe( * { a: { b: 1 }, x: { y: { z: 2 } } }, + * // pair #1 * "a.b", 10, + * // pair #2 * "x.y.z", 20 * ) * // { a: { b: 10 }, x: { y: { z: 20 } } } @@ -23,11 +23,51 @@ import { mutInT } from "./mut-in"; * @param state - * @param pairs - */ -export const mutInMany = (state: any, ...pairs: any[]) => { +export function mutInManyUnsafe(state: T, p1: Path, v1: any): T; +export function mutInManyUnsafe( + state: T, + p1: Path, + v1: any, + p2: Path, + v2: any +): T; +export function mutInManyUnsafe( + state: T, + p1: Path, + v1: any, + p2: Path, + v2: any, + p3: Path, + v3: any +): T; +export function mutInManyUnsafe( + state: T, + p1: Path, + v1: any, + p2: Path, + v2: any, + p3: Path, + v3: any, + p4: Path, + v4: any +): T; +export function mutInManyUnsafe( + state: T, + p1: Path, + v1: any, + p2: Path, + v2: any, + p3: Path, + v3: any, + p4: Path, + v4: any, + ...xs: any[] +): T; +export function mutInManyUnsafe(state: T, ...pairs: any[]) { const n = pairs.length; n & 1 && illegalArgs(`require even number of args (got ${pairs.length})`); for (let i = 0; i < n && state; i += 2) { - state = mutInT(state, pairs[i], pairs[i + 1]); + state = mutIn(state, pairs[i], pairs[i + 1]); } return state; -}; +} diff --git a/packages/paths/src/mut-in.ts b/packages/paths/src/mut-in.ts index 8f03e9a7b9..e65cab9b61 100644 --- a/packages/paths/src/mut-in.ts +++ b/packages/paths/src/mut-in.ts @@ -1,29 +1,29 @@ -import { mutatorT } from "./mutator"; +import { defMutator } from "./mutator"; import type { - Keys, - Keys1, - Keys2, - Keys3, - Keys4, - Keys5, - Keys6, - Keys7, + DeepPath, Path, - Val1, - Val2, - Val3, - Val4, - Val5, - Val6, - Val7, - Val8 + Path0, + Path1, + Path2, + Path3, + Path4, + Path5, + Path6, + Path7, + Path8, + PathVal1, + PathVal2, + PathVal3, + PathVal4, + PathVal5, + PathVal6, + PathVal7, + PathVal8, } from "@thi.ng/api"; /** - * Immediate use mutator, i.e. same as: `mutator(path)(state, val)`. - * - * @remarks - * Also see {@link setIn}, {@link updateIn}, {@link deleteIn}. + * Immediate use mutator, i.e. same as: `defMutatorUnsafe(path)(state, + * val)`. * * @example * ```ts @@ -48,94 +48,63 @@ import type { * @param path - * @param val - */ -export const mutIn = (state: any, path: Readonly, val: any) => - mutInT(state, path, val); +export const mutInUnsafe = (state: any, path: Path, val: any) => + defMutator(path)(state, val); /** - * Type checked version of {@link mutIn}. + * Type checked version of {@link mutIn}. Only the first 8 path levels + * are type checked. * * @param state - * @param path - * @param val - */ -export function mutInT(state: T, path: readonly [], val: T): T; -export function mutInT>( +export function mutIn(state: T, path: Path0, val: T): T; +export function mutIn( + state: T, + path: Path1, + val: PathVal1 +): T; +export function mutIn( + state: T, + path: Path2, + val: PathVal2 +): T; +export function mutIn( + state: T, + path: Path3, + val: PathVal3 +): T; +export function mutIn( + state: T, + path: Path4, + val: PathVal4 +): T; +export function mutIn( state: T, - path: readonly [A], - val: Val1 + path: Path5, + val: PathVal5 ): T; -export function mutInT, B extends Keys1>( +export function mutIn( state: T, - path: readonly [A, B], - val: Val2 + path: Path6, + val: PathVal6 ): T; -export function mutInT< - T, - A extends Keys, - B extends Keys1, - C extends Keys2 ->(state: T, path: readonly [A, B, C], val: Val3): T; -export function mutInT< - T, - A extends Keys, - B extends Keys1, - C extends Keys2, - D extends Keys3 ->(state: T, path: readonly [A, B, C, D], val: Val4): T; -export function mutInT< - T, - A extends Keys, - B extends Keys1, - C extends Keys2, - D extends Keys3, - E extends Keys4 ->(state: T, path: readonly [A, B, C, D, E], val: Val5): T; -export function mutInT< - T, - A extends Keys, - B extends Keys1, - C extends Keys2, - D extends Keys3, - E extends Keys4, - F extends Keys5 ->(state: T, path: readonly [A, B, C, D, E, F], val: Val6): T; -export function mutInT< - T, - A extends Keys, - B extends Keys1, - C extends Keys2, - D extends Keys3, - E extends Keys4, - F extends Keys5, - G extends Keys6, - V ->(state: T, path: readonly [A, B, C, D, E, F, G], val: Val7): T; -export function mutInT< - T, - A extends Keys, - B extends Keys1, - C extends Keys2, - D extends Keys3, - E extends Keys4, - F extends Keys5, - G extends Keys6, - H extends Keys7 ->( +export function mutIn( state: T, - path: readonly [A, B, C, D, E, F, G, H], - val: Val8 + path: Path7, + val: PathVal7 ): T; -export function mutInT< - T, - A extends Keys, - B extends Keys1, - C extends Keys2, - D extends Keys3, - E extends Keys4, - F extends Keys5, - G extends Keys6, - H extends Keys7 ->(state: T, path: readonly [A, B, C, D, E, F, G, H, ...PropertyKey[]], val: any): any; -export function mutInT(state: any, path: Readonly, val: any): any { - return mutatorT(path)(state, val); +export function mutIn( + state: T, + path: Path8, + val: PathVal8 +): T; +export function mutIn( + state: T, + path: DeepPath, + val: any +): any; +export function mutIn(state: any, path: Path, val: any): any { + return defMutator(path)(state, val); } diff --git a/packages/paths/src/mutator.ts b/packages/paths/src/mutator.ts index 455cf3bde0..f7d3a5c554 100644 --- a/packages/paths/src/mutator.ts +++ b/packages/paths/src/mutator.ts @@ -1,116 +1,77 @@ import { toPath } from "./path"; import type { + DeepPath, Fn2, - Keys, - Keys1, - Keys2, - Keys3, - Keys4, - Keys5, - Keys6, - Keys7, Path, - Val1, - Val2, - Val3, - Val4, - Val5, - Val6, - Val7, - Val8 + Path0, + Path1, + Path2, + Path3, + Path4, + Path5, + Path6, + Path7, + Path8, + PathVal1, + PathVal2, + PathVal3, + PathVal4, + PathVal5, + PathVal6, + PathVal7, + PathVal8, } from "@thi.ng/api"; /** - * Higher-order function, similar to {@link setter}. Returns function - * which when called mutates given object/array at given path location. + * Higher-order function, similar to {@link defSetterUnsafe}. Returns + * function, which when called, mutates given object/array at given path + * location. * * @remarks * The returned function bails if any intermediate path values are * non-indexable (only the very last path element can be missing in the * actual object structure). If successful, returns original (mutated) * object, else `undefined`. This function provides optimized versions - * for path lengths <= 4. Type checking is supported for path lengths <= - * 8. + * for path lengths <= 4. * * @param path - */ -export const mutator = (path: Readonly): Fn2 => mutatorT(path); +export const defMutatorUnsafe = (path: Path): Fn2 => + defMutator(path); /** - * Type checked version of {@link mutator}. + * Type checked version of {@link mutator}. Only the first 8 path levels + * are type checked. * * @param path - */ -export function mutatorT(path: readonly []): Fn2; -export function mutatorT>( - path: readonly [A] -): Fn2, T>; -export function mutatorT, B extends Keys1>( - path: readonly [A, B] -): Fn2, T>; -export function mutatorT< - T, - A extends Keys, - B extends Keys1, - C extends Keys2 ->(path: readonly [A, B, C]): Fn2, T>; -export function mutatorT< - T, - A extends Keys, - B extends Keys1, - C extends Keys2, - D extends Keys3 ->(path: readonly [A, B, C, D]): Fn2, T>; -export function mutatorT< - T, - A extends Keys, - B extends Keys1, - C extends Keys2, - D extends Keys3, - E extends Keys4 ->(path: readonly [A, B, C, D, E]): Fn2, T>; -export function mutatorT< - T, - A extends Keys, - B extends Keys1, - C extends Keys2, - D extends Keys3, - E extends Keys4, - F extends Keys5 ->(path: readonly [A, B, C, D, E, F]): Fn2, T>; -export function mutatorT< - T, - A extends Keys, - B extends Keys1, - C extends Keys2, - D extends Keys3, - E extends Keys4, - F extends Keys5, - G extends Keys6 ->(path: readonly [A, B, C, D, E, F, G]): Fn2, T>; -export function mutatorT< - T, - A extends Keys, - B extends Keys1, - C extends Keys2, - D extends Keys3, - E extends Keys4, - F extends Keys5, - G extends Keys6, - H extends Keys7 ->(path: readonly [A, B, C, D, E, F, G, H]): Fn2, T>; -export function mutatorT< - T, - A extends Keys, - B extends Keys1, - C extends Keys2, - D extends Keys3, - E extends Keys4, - F extends Keys5, - G extends Keys6, - H extends Keys7 ->(path: readonly [A, B, C, D, E, F, G, H, ...PropertyKey[]]): Fn2; -export function mutatorT(path: Readonly): any { +export function defMutator(path: Path0): Fn2; +export function defMutator(path: Path1): Fn2, T>; +export function defMutator( + path: Path2 +): Fn2, T>; +export function defMutator( + path: Path3 +): Fn2, T>; +export function defMutator( + path: Path4 +): Fn2, T>; +export function defMutator( + path: Path5 +): Fn2, T>; +export function defMutator( + path: Path6 +): Fn2, T>; +export function defMutator( + path: Path7 +): Fn2, T>; +export function defMutator( + path: Path8 +): Fn2, T>; +export function defMutator( + path: DeepPath +): Fn2; +export function defMutator(path: Path): any { const ks = toPath(path); let [a, b, c, d] = ks; switch (ks.length) { diff --git a/packages/paths/src/path.ts b/packages/paths/src/path.ts index 4e5f7418aa..0262241cc3 100644 --- a/packages/paths/src/path.ts +++ b/packages/paths/src/path.ts @@ -1,5 +1,5 @@ import { isArray, isString } from "@thi.ng/checks"; -import type { Path } from "@thi.ng/api"; +import type { NumOrString, Path } from "@thi.ng/api"; /** * Converts the given key path to canonical form (array). @@ -17,7 +17,7 @@ import type { Path } from "@thi.ng/api"; * * @param path - */ -export const toPath = (path: Readonly) => +export const toPath = (path: Path): NumOrString[] => isArray(path) ? path : isString(path) @@ -37,7 +37,7 @@ export const toPath = (path: Readonly) => * @param obj - * @param path - */ -export const exists = (obj: any, path: Readonly) => { +export const exists = (obj: any, path: Path) => { if (obj == null) { return false; } diff --git a/packages/paths/src/set-in-many.ts b/packages/paths/src/set-in-many.ts index 4f29ed471a..61db155cf7 100644 --- a/packages/paths/src/set-in-many.ts +++ b/packages/paths/src/set-in-many.ts @@ -1,31 +1,78 @@ import { illegalArgs } from "@thi.ng/errors"; -import { setInT } from "./set-in"; +import { setIn } from "./set-in"; +import type { Path } from "@thi.ng/api"; /** - * Similar to {@link setIn}, but takes any number of path-value pairs as - * args and applies them in sequence by calling `setIn()` for each. + * Similar to {@link setInUnsafe}, but takes any number of path-value + * pairs as args and applies them in sequence by calling `setIn()` for + * each. * * @remarks * Any key paths missing in the data structure will be created. Does - * *not* mutate original (instead use {@link mutInMany} for this + * *not* mutate original (instead use {@link mutInManyUnsafe} for this * purpose). * - * Unlike {@link setIn}, this function does not use type checked paths. - * - * ``` - * setInMany({}, "a.b", 10, "x.y.z", 20) + * @example + * ```ts + * setInMany( + * {}, + * // pair #1 + * "a.b", 10, + * // pair #2 + * "x.y.z", 20 + * ) * // { a: { b: 10 }, x: { y: { z: 20 } } } * ``` * * @param state - * @param pairs - */ -export const setInMany = (state: any, ...pairs: any[]) => { +export function setInManyUnsafe(state: T, p1: Path, v1: any): T; +export function setInManyUnsafe( + state: T, + p1: Path, + v1: any, + p2: Path, + v2: any +): T; +export function setInManyUnsafe( + state: T, + p1: Path, + v1: any, + p2: Path, + v2: any, + p3: Path, + v3: any +): T; +export function setInManyUnsafe( + state: T, + p1: Path, + v1: any, + p2: Path, + v2: any, + p3: Path, + v3: any, + p4: Path, + v4: any +): T; +export function setInManyUnsafe( + state: T, + p1: Path, + v1: any, + p2: Path, + v2: any, + p3: Path, + v3: any, + p4: Path, + v4: any, + ...xs: any[] +): T; +export function setInManyUnsafe(state: T, ...pairs: any[]) { const n = pairs.length; n & 1 && illegalArgs(`require even number of KV args (got ${pairs.length})`); for (let i = 0; i < n; i += 2) { - state = setInT(state, pairs[i], pairs[i + 1]); + state = setIn(state, pairs[i], pairs[i + 1]); } return state; -}; +} diff --git a/packages/paths/src/set-in.ts b/packages/paths/src/set-in.ts index 7da70caea0..8df44fc61a 100644 --- a/packages/paths/src/set-in.ts +++ b/packages/paths/src/set-in.ts @@ -1,128 +1,96 @@ -import { setterT } from "./setter"; +import { defSetter } from "./setter"; import type { - Keys, - Keys1, - Keys2, - Keys3, - Keys4, - Keys5, - Keys6, - Keys7, + DeepPath, Path, - Val1, - Val2, - Val3, - Val4, - Val5, - Val6, - Val7, - Val8 + Path0, + Path1, + Path2, + Path3, + Path4, + Path5, + Path6, + Path7, + Path8, + PathVal1, + PathVal2, + PathVal3, + PathVal4, + PathVal5, + PathVal6, + PathVal7, + PathVal8, } from "@thi.ng/api"; /** - * Immediate use setter, i.e. same as: `setter(path)(state, val)`. - * - * @remarks - * Supports type checked paths and values for path lengths <= 8. String - * paths are always unchecked (i.e. `state` is `any`). + * Immediate use setter, i.e. same as: `defSetterUnsafe(path)(state, + * val)`. * * @example * ```ts - * - * setIn({}, "a.b.c", 23); + * setInUnsafe({}, "a.b.c", 23); * // { a: { b: { c: 23} } } * ``` * * @param state - * @param path - */ -export const setIn = (state: any, path: Readonly, val: any): any => - setterT(path)(state, val); +export const setInUnsafe = (state: any, path: Path, val: any): any => + defSetter(path)(state, val); /** - * Type checked version of {@link setIn}. + * Type checked version of {@link setInUnsafe}. Only the first 8 path + * levels are type checked. * * @param state - * @param path - * @param val - */ -export function setInT(state: T, path: readonly [], val: T): T; -export function setInT>( +export function setIn(state: T, path: Path0, val: T): T; +export function setIn( + state: T, + path: Path1, + val: PathVal1 +): T; +export function setIn( state: T, - path: readonly [A], - val: Val1 + path: Path2, + val: PathVal2 ): T; -export function setInT, B extends Keys1>( +export function setIn( state: T, - path: readonly [A, B], - val: Val2 + path: Path3, + val: PathVal3 ): T; -export function setInT< - T, - A extends Keys, - B extends Keys1, - C extends Keys2 ->(state: T, path: readonly [A, B, C], val: Val3): T; -export function setInT< - T, - A extends Keys, - B extends Keys1, - C extends Keys2, - D extends Keys3 ->(state: T, path: readonly [A, B, C, D], val: Val4): T; -export function setInT< - T, - A extends Keys, - B extends Keys1, - C extends Keys2, - D extends Keys3, - E extends Keys4 ->(state: T, path: readonly [A, B, C, D, E], val: Val5): T; -export function setInT< - T, - A extends Keys, - B extends Keys1, - C extends Keys2, - D extends Keys3, - E extends Keys4, - F extends Keys5 ->(state: T, path: readonly [A, B, C, D, E, F], val: Val6): T; -export function setInT< - T, - A extends Keys, - B extends Keys1, - C extends Keys2, - D extends Keys3, - E extends Keys4, - F extends Keys5, - G extends Keys6 ->(state: T, path: readonly [A, B, C, D, E, F, G], val: Val7): T; -export function setInT< - T, - A extends Keys, - B extends Keys1, - C extends Keys2, - D extends Keys3, - E extends Keys4, - F extends Keys5, - G extends Keys6, - H extends Keys7 ->( +export function setIn( state: T, - path: readonly [A, B, C, D, E, F, G, H], - val: Val8 + path: Path4, + val: PathVal4 ): T; -export function setInT< - T, - A extends Keys, - B extends Keys1, - C extends Keys2, - D extends Keys3, - E extends Keys4, - F extends Keys5, - G extends Keys6, - H extends Keys7 ->(state: T, path: readonly [A, B, C, D, E, F, G, H, ...PropertyKey[]], val: any): any; -export function setInT(state: any, path: Readonly, val: any): any { - return setterT(path)(state, val); +export function setIn( + state: T, + path: Path5, + val: PathVal5 +): T; +export function setIn( + state: T, + path: Path6, + val: PathVal6 +): T; +export function setIn( + state: T, + path: Path7, + val: PathVal7 +): T; +export function setIn( + state: T, + path: Path8, + val: PathVal8 +): T; +export function setIn( + state: T, + path: DeepPath, + val: any +): any; +export function setIn(state: any, path: Path, val: any): any { + return defSetter(path)(state, val); } diff --git a/packages/paths/src/setter.ts b/packages/paths/src/setter.ts index 41133718d5..2b7efa0d97 100644 --- a/packages/paths/src/setter.ts +++ b/packages/paths/src/setter.ts @@ -1,24 +1,27 @@ -import { isArray } from "@thi.ng/checks"; +import { isArray, isTypedArray } from "@thi.ng/checks"; import { toPath } from "./path"; import type { + DeepPath, Fn2, - Keys, - Keys1, - Keys2, - Keys3, - Keys4, - Keys5, - Keys6, - Keys7, Path, - Val1, - Val2, - Val3, - Val4, - Val5, - Val6, - Val7, - Val8 + Path0, + Path1, + Path2, + Path3, + Path4, + Path5, + Path6, + Path7, + Path8, + PathVal1, + PathVal2, + PathVal3, + PathVal4, + PathVal5, + PathVal6, + PathVal7, + PathVal8, + NumOrString, } from "@thi.ng/api"; /** @@ -46,13 +49,11 @@ import type { * given object retain their original values to provide efficient * structural sharing / re-use. * - * Also see: {@link setIn}, {@link updateIn}, {@link deleteIn} - * * @example - * ``` - * s = setter("a.b.c"); + * ```ts + * s = defSetterUnsafe("a.b.c"); * // or - * s = setter(["a","b","c"]); + * s = defSetterUnsafe(["a", "b", "c"]); * * s({ a: { b: { c: 23} } }, 24) * // { a: { b: { c: 24} } } @@ -66,9 +67,9 @@ import type { * * @example * ```ts - * s = setter("a.b.c"); + * s = defSetterUnsafe("a.b.c"); * - * a = {x: {y: {z: 1}}}; + * a = { x: { y: { z: 1 } } }; * b = s(a, 2); * // { x: { y: { z: 1 } }, a: { b: { c: 2 } } } * @@ -78,118 +79,97 @@ import type { * * @param path - */ -export const setter = (path: Readonly): Fn2 => setterT(path); +export const defSetterUnsafe = (path: Path): Fn2 => + defSetter(path); /** - * Type checked version of {@link setter}. + * Type checked version of {@link defSetterUnsafe}. Only the first 8 + * path levels are type checked. + * + * @remarks + * Due to the higher-order nature of this function, generics for path + * validation must be given and so this function is more verbose than + * {@link setIn} (where the generics can usually be fully inferred). + * + * @example + * ```ts + * type State = { a: { b: number } }; + * + * const setB = defSetter(["a", "b"]); + * + * setB({ a: { b: 1 } }, 2); // ok! + * setB({ a: { b: 1 } }, "2"); // error! + * ``` + * + * @example + * ```ts + * type State = { a: { b: number } }; + * + * const path = ["a","b"]; + * + * const setB = defSetter(path); + * ``` * * @param path - */ -export function setterT(path: readonly []): Fn2; -export function setterT>( - path: readonly [A] -): Fn2, T>; -export function setterT, B extends Keys1>( - path: readonly [A, B] -): Fn2, T>; -export function setterT< - T, - A extends Keys, - B extends Keys1, - C extends Keys2 ->(path: readonly [A, B, C]): Fn2, T>; -export function setterT< - T, - A extends Keys, - B extends Keys1, - C extends Keys2, - D extends Keys3 ->(path: readonly [A, B, C, D]): Fn2, T>; -export function setterT< - T, - A extends Keys, - B extends Keys1, - C extends Keys2, - D extends Keys3, - E extends Keys4 ->(path: readonly [A, B, C, D, E]): Fn2, T>; -export function setterT< - T, - A extends Keys, - B extends Keys1, - C extends Keys2, - D extends Keys3, - E extends Keys4, - F extends Keys5 ->(path: readonly [A, B, C, D, E, F]): Fn2, T>; -export function setterT< - T, - A extends Keys, - B extends Keys1, - C extends Keys2, - D extends Keys3, - E extends Keys4, - F extends Keys5, - G extends Keys6 ->( - path: readonly [A, B, C, D, E, F, G] -): Fn2, T>; -export function setterT< - T, - A extends Keys, - B extends Keys1, - C extends Keys2, - D extends Keys3, - E extends Keys4, - F extends Keys5, - G extends Keys6, - H extends Keys7 ->( - path: readonly [A, B, C, D, E, F, G, H] -): Fn2, T>; -export function setterT< - T, - A extends Keys, - B extends Keys1, - C extends Keys2, - D extends Keys3, - E extends Keys4, - F extends Keys5, - G extends Keys6, - H extends Keys7 ->(path: readonly [A, B, C, D, E, F, G, H, ...PropertyKey[]]): Fn2; -export function setterT(path: Readonly): Fn2 { +export function defSetter(path: Path0): Fn2; +export function defSetter(path: Path1): Fn2, T>; +export function defSetter( + path: Path2 +): Fn2, T>; +export function defSetter( + path: Path3 +): Fn2, T>; +export function defSetter( + path: Path4 +): Fn2, T>; +export function defSetter( + path: Path5 +): Fn2, T>; +export function defSetter( + path: Path6 +): Fn2, T>; +export function defSetter( + path: Path7 +): Fn2, T>; +export function defSetter( + path: Path8 +): Fn2, T>; +export function defSetter( + path: DeepPath +): Fn2; +export function defSetter(path: Path): Fn2 { const ks = toPath(path); - let [a, b, c, d] = ks; + const [a, b, c, d] = ks; switch (ks.length) { case 0: return (_, v) => v; case 1: - return (s, v) => ((s = _copy(s)), (s[a] = v), s); + return (s, v) => ((s = copy(s)), (s[a] = v), s); case 2: return (s, v) => { let x; - s = _copy(s); - s[a] = x = _copy(s[a]); + s = copy(s); + s[a] = x = copy(s[a]); x[b] = v; return s; }; case 3: return (s, v) => { let x, y; - s = _copy(s); - s[a] = x = _copy(s[a]); - x[b] = y = _copy(x[b]); + s = copy(s); + s[a] = x = copy(s[a]); + x[b] = y = copy(x[b]); y[c] = v; return s; }; case 4: return (s, v) => { let x, y, z; - s = _copy(s); - s[a] = x = _copy(s[a]); - x[b] = y = _copy(x[b]); - y[c] = z = _copy(y[c]); + s = copy(s); + s[a] = x = copy(s[a]); + x[b] = y = copy(x[b]); + y[c] = z = copy(y[c]); z[d] = v; return s; }; @@ -202,9 +182,23 @@ export function setterT(path: Readonly): Fn2 { } } -const _copy = (s: any) => (isArray(s) ? s.slice() : { ...s }); +/** + * Creates a shallow copy of given array, typed array or plain object. + * + * @param x + */ +export const copy = (x: any) => + isArray(x) || isTypedArray(x) ? x.slice() : { ...x }; -const compS = (k: PropertyKey, f: (o: any, v: any) => any) => ( +/** + * Helper for {@link defSetter}. Returns setter for a single step. + * + * @param k - + * @param f - + * + * @internal + */ +const compS = (k: NumOrString, f: (o: any, v: any) => any) => ( s: any, v: any -) => ((s = _copy(s)), (s[k] = f ? f(s[k], v) : v), s); +) => ((s = copy(s)), (s[k] = f ? f(s[k], v) : v), s); diff --git a/packages/paths/src/update-in.ts b/packages/paths/src/update-in.ts index 25ebdcf7e1..2d98462f16 100644 --- a/packages/paths/src/update-in.ts +++ b/packages/paths/src/update-in.ts @@ -1,36 +1,49 @@ -import { getterT } from "./getter"; -import { setterT } from "./setter"; +import { defGetter } from "./getter"; +import { defSetter } from "./setter"; import type { - Keys, - Keys1, - Keys2, - Keys3, - Keys4, - Keys5, - Keys6, - Keys7, + DeepPath, Path, - Val1, - Val2, - Val3, - Val4, - Val5, - Val6, - Val7, - Val8 + Path0, + Path1, + Path2, + Path3, + Path4, + Path5, + Path6, + Path7, + Path8, + PathVal1, + PathVal2, + PathVal3, + PathVal4, + PathVal5, + PathVal6, + PathVal7, + PathVal8, } from "@thi.ng/api"; import type { UpdateFn } from "./api"; /** - * Similar to {@link setIn}, but applies given function to current path - * value (incl. any additional/optional arguments passed to `updateIn`) - * and uses result as new value. Does not modify original state (unless - * given function does so itself). + * Similar to {@link setInUnsafe}, but applies given function to current + * path value (incl. any additional/optional arguments passed to + * `updateIn`) and uses result as new value. Does not modify original + * state. * - * ``` - * add = (x, y) => x + y; - * updateIn({ a: { b: { c: 23 } } }, "a.b.c", add, 10); + * @remarks + * Unchecked version of {@link updateIn}. + * + * @example + * ```ts + * add = (x: number, y: number) => x + y; + * updateInUnsafe({ a: { b: { c: 23 } } }, "a.b.c", add, 10); + * // { a: { b: { c: 33 } } } + * + * // type checked + * updateIn({ a: { b: { c: 23 } } }, ["a","b","c"], add, 10); * // { a: { b: { c: 33 } } } + * + * // type error (value at "a.b" is not a number) + * updateIn({ a: { b: { c: 23 } } }, ["a","b"], add, 10); * ``` * * @param state - state to update @@ -38,133 +51,87 @@ import type { UpdateFn } from "./api"; * @param fn - update function * @param args - optional args for `fn` */ -export const updateIn = ( +export const updateInUnsafe = ( state: any, - path: Readonly, + path: Path, fn: UpdateFn, ...args: any[] -) => updateInT(state, path, fn, ...args); +) => + // @ts-ignore + updateIn(state, path, fn, ...args); /** - * Type checked version of {@link updateIn}. + * Type checked version of {@link updateIn}. Only the first 8 path + * levels are type checked. * * @param state - * @param path - * @param fn - */ -export function updateInT(state: T, path: readonly [], fn: UpdateFn): T; -export function updateInT>( +export function updateIn(state: T, path: Path0, fn: UpdateFn): T; +export function updateIn( + state: T, + path: Path1, + fn: UpdateFn>, + ...args: any[] +): T; +export function updateIn( state: T, - path: readonly [A], - fn: UpdateFn>, + path: Path2, + fn: UpdateFn>, ...args: any[] ): T; -export function updateInT, B extends Keys1>( +export function updateIn( state: T, - path: readonly [A, B], - fn: UpdateFn>, + path: Path3, + fn: UpdateFn>, ...args: any[] ): T; -export function updateInT< - T, - A extends Keys, - B extends Keys1, - C extends Keys2 ->(state: T, path: readonly [A, B, C], fn: UpdateFn>, ...args: any[]): T; -export function updateInT< - T, - A extends Keys, - B extends Keys1, - C extends Keys2, - D extends Keys3 ->( +export function updateIn( state: T, - path: readonly [A, B, C, D], - fn: UpdateFn>, + path: Path4, + fn: UpdateFn>, ...args: any[] ): T; -export function updateInT< - T, - A extends Keys, - B extends Keys1, - C extends Keys2, - D extends Keys3, - E extends Keys4 ->( +export function updateIn( state: T, - path: readonly [A, B, C, D, E], - fn: UpdateFn>, + path: Path5, + fn: UpdateFn>, ...args: any[] ): T; -export function updateInT< - T, - A extends Keys, - B extends Keys1, - C extends Keys2, - D extends Keys3, - E extends Keys4, - F extends Keys5 ->( +export function updateIn( state: T, - path: readonly [A, B, C, D, E, F], - fn: UpdateFn>, + path: Path6, + fn: UpdateFn>, ...args: any[] ): T; -export function updateInT< - T, - A extends Keys, - B extends Keys1, - C extends Keys2, - D extends Keys3, - E extends Keys4, - F extends Keys5, - G extends Keys6 ->( +export function updateIn( state: T, - path: readonly [A, B, C, D, E, F, G], - fn: UpdateFn>, + path: Path7, + fn: UpdateFn>, ...args: any[] ): T; -export function updateInT< - T, - A extends Keys, - B extends Keys1, - C extends Keys2, - D extends Keys3, - E extends Keys4, - F extends Keys5, - G extends Keys6, - H extends Keys7 ->( +export function updateIn( state: T, - path: readonly [A, B, C, D, E, F, G, H], - fn: UpdateFn>, + path: Path8, + fn: UpdateFn>, ...args: any[] ): T; -export function updateInT< - T, - A extends Keys, - B extends Keys1, - C extends Keys2, - D extends Keys3, - E extends Keys4, - F extends Keys5, - G extends Keys6, - H extends Keys7 ->( +export function updateIn( state: T, - path: readonly [A, B, C, D, E, F, G, H, ...PropertyKey[]], + path: DeepPath, fn: UpdateFn, ...args: any[] ): T; -export function updateInT( +export function updateIn( state: any, - path: Readonly, + path: Path, fn: UpdateFn, ...args: any[] ) { - return setterT(path)( + return defSetter(path)( state, - fn.apply(null, (args.unshift(getterT(path)(state)), args)) + // @ts-ignore + fn.apply(null, (args.unshift(defGetter(path)(state)), args)) ); } diff --git a/packages/paths/src/updater.ts b/packages/paths/src/updater.ts index 629437bee1..65b693b672 100644 --- a/packages/paths/src/updater.ts +++ b/packages/paths/src/updater.ts @@ -1,139 +1,102 @@ -import { getterT } from "./getter"; -import { setterT } from "./setter"; +import { defGetter } from "./getter"; +import { defSetter } from "./setter"; import type { + DeepPath, FnO, - Keys, - Keys1, - Keys2, - Keys3, - Keys4, - Keys5, - Keys6, - Keys7, Path, - Val1, - Val2, - Val3, - Val4, - Val5, - Val6, - Val7, - Val8 + Path0, + Path1, + Path2, + Path3, + Path4, + Path5, + Path6, + Path7, + Path8, + PathVal1, + PathVal2, + PathVal3, + PathVal4, + PathVal5, + PathVal6, + PathVal7, + PathVal8, } from "@thi.ng/api"; import type { UpdateFn } from "./api"; /** - * Similar to {@link setter}, returns a function to update values at - * given `path` using provided update `fn`. + * Similar to {@link defSetterUnsafe}, returns a function to update + * values at given `path` using provided update `fn`. Paths and the + * arguments given to the returned function are NOT type checked. * * @remarks * The returned function accepts a single object / array and applies - * `fn` to current path value (incl. any additional/optional arguments - * passed) and uses result as new value. Does not modify original state - * (unless given function does so itself). + * `fn` to given path value (incl. any additional / optional arguments + * passed) and uses result as new value. Does not modify original state. * - * ``` - * add = updater("a.b", (x, n) => x + n); + * @example + * ```ts + * const incB = defUpdaterUnsafe("a.b", (x, n) => x + n); + * // or + * const incB = defUpdaterUnsafe(["a", "b"], (x, n) => x + n); * - * add({a: {b: 10}}, 13); + * incB({ a: { b: 10 } }, 13); * // { a: { b: 23 } } * ``` * * @param path - * @param fn - */ -export const updater = (path: Readonly, fn: UpdateFn) => - updaterT(path, fn); +export const defUpdaterUnsafe = (path: Path, fn: UpdateFn) => + defUpdater(path, fn); /** - * Type checked version of {@link updater}. + * Type checked version of {@link defUpdaterUnsafe}. Only the first 8 + * path levels are type checked. * * @param path - * @param fn - */ -export function updaterT(path: readonly [], fn: UpdateFn): FnO; -export function updaterT>( - path: readonly [A], - fn: UpdateFn> +export function defUpdater(path: Path0, fn: UpdateFn): FnO; +export function defUpdater( + path: Path1, + fn: UpdateFn> +): FnO; +export function defUpdater( + path: Path2, + fn: UpdateFn> +): FnO; +export function defUpdater( + path: Path3, + fn: UpdateFn> +): FnO; +export function defUpdater( + path: Path4, + fn: UpdateFn> +): FnO; +export function defUpdater( + path: Path5, + fn: UpdateFn> ): FnO; -export function updaterT, B extends Keys1>( - path: readonly [A, B], - fn: UpdateFn> +export function defUpdater( + path: Path6, + fn: UpdateFn> ): FnO; -export function updaterT< - T, - A extends Keys, - B extends Keys1, - C extends Keys2 ->(path: readonly [A, B, C], fn: UpdateFn>): FnO; -export function updaterT< - T, - A extends Keys, - B extends Keys1, - C extends Keys2, - D extends Keys3 ->(path: readonly [A, B, C, D], fn: UpdateFn>): FnO; -export function updaterT< - T, - A extends Keys, - B extends Keys1, - C extends Keys2, - D extends Keys3, - E extends Keys4 ->(path: readonly [A, B, C, D, E], fn: UpdateFn>): FnO; -export function updaterT< - T, - A extends Keys, - B extends Keys1, - C extends Keys2, - D extends Keys3, - E extends Keys4, - F extends Keys5 ->(path: readonly [A, B, C, D, E, F], fn: UpdateFn>): FnO; -export function updaterT< - T, - A extends Keys, - B extends Keys1, - C extends Keys2, - D extends Keys3, - E extends Keys4, - F extends Keys5, - G extends Keys6 ->( - path: readonly [A, B, C, D, E, F, G], - fn: UpdateFn> +export function defUpdater( + path: Path7, + fn: UpdateFn> ): FnO; -export function updaterT< - T, - A extends Keys, - B extends Keys1, - C extends Keys2, - D extends Keys3, - E extends Keys4, - F extends Keys5, - G extends Keys6, - H extends Keys7 ->( - path: readonly [A, B, C, D, E, F, G, H], - fn: UpdateFn> +export function defUpdater( + path: Path8, + fn: UpdateFn> ): FnO; -export function updaterT< - T, - A extends Keys, - B extends Keys1, - C extends Keys2, - D extends Keys3, - E extends Keys4, - F extends Keys5, - G extends Keys6, - H extends Keys7 ->( - path: readonly [A, B, C, D, E, F, G, H, ...PropertyKey[]], +export function defUpdater( + path: DeepPath, fn: UpdateFn ): FnO; -export function updaterT(path: Readonly, fn: UpdateFn): FnO { - const g = getterT(path); - const s = setterT(path); +export function defUpdater(path: Path, fn: UpdateFn): FnO { + const g = defGetter(path); + const s = defSetter(path); return (state: any, ...args: any[]) => s(state, fn.apply(null, (args.unshift(g(state)), args))); } diff --git a/packages/paths/test/index.ts b/packages/paths/test/index.ts index 96cad3bb92..c23a643971 100644 --- a/packages/paths/test/index.ts +++ b/packages/paths/test/index.ts @@ -1,126 +1,150 @@ import * as assert from "assert"; -import { exists, getIn, setIn } from "../src"; +import { + exists, + getIn, + getInUnsafe, + setIn, + setInUnsafe +} from "../src"; describe("paths", () => { it("getIn", () => { const src: any = { a: { b: { c: [23, { d: 42 }] } } }; - assert.deepStrictEqual(getIn(src, "a"), src.a); - assert.deepStrictEqual(getIn(src, "a.b"), src.a.b); - assert.deepStrictEqual(getIn(src, "a.b.c"), src.a.b.c); - assert.deepStrictEqual(getIn(src, "a.b.c.d"), undefined); - assert.deepStrictEqual(getIn(src, "a.b.c.0"), 23); - assert.deepStrictEqual(getIn(src, "a.b.c.1"), src.a.b.c[1]); - assert.deepStrictEqual(getIn(src, "a.b.c.1.d"), src.a.b.c[1].d); + assert.deepStrictEqual(getInUnsafe(src, "a"), src.a); + assert.deepStrictEqual(getInUnsafe(src, "a.b"), src.a.b); + assert.deepStrictEqual(getInUnsafe(src, "a.b.c"), src.a.b.c); + assert.deepStrictEqual(getInUnsafe(src, "a.b.c.d"), undefined); + assert.deepStrictEqual(getInUnsafe(src, "a.b.c.0"), 23); + assert.deepStrictEqual(getInUnsafe(src, "a.b.c.1"), src.a.b.c[1]); + assert.deepStrictEqual(getInUnsafe(src, "a.b.c.1.d"), src.a.b.c[1].d); }); it("getIn (emtpy leaves)", () => { assert.equal(getIn(0, []), 0); assert.equal(getIn("", [0]), undefined); assert.equal(getIn("", ["length"]), 0); - assert.equal(getIn([""], [0, "length"]), 0); + assert.equal(getIn([""], [0]), ""); + // assert.equal(getIn([""], [0, "length"]), 0); assert.equal(getIn([[""]], [0, 0, "length"]), 0); assert.equal(getIn([[[""]]], [0, 0, 0, "length"]), 0); assert.equal(getIn([[[[""]]]], [0, 0, 0, 0, "length"]), 0); }); it("setIn (len = 0)", () => { - assert.deepEqual(setIn({ a: { b: { c: 23 } } }, "", 1), 1); - assert.deepEqual(setIn({ a: { b: { c: 23 } } }, [], 1), 1); - assert.deepEqual(setIn(null, [], 1), 1); + assert.deepEqual(setInUnsafe({ a: { b: { c: 23 } } }, "", 1), 1); + assert.deepEqual(setInUnsafe({ a: { b: { c: 23 } } }, [], 1), 1); + assert.deepEqual(setInUnsafe(null, [], 1), 1); }); it("setIn (len = 1)", () => { - assert.deepEqual(setIn({ a: { b: { c: 23 } } }, "a", 24), { a: 24 }); - assert.deepEqual(setIn({ a: { b: { c: 23 } } }, "d", 24), { + assert.deepEqual(setIn({ a: 23 }, ["a"], 24), { + a: 24, + }); + assert.deepEqual(setInUnsafe({ a: { b: { c: 23 } } }, ["d"], 24), { a: { b: { c: 23 } }, - d: 24 + d: 24, }); - assert.deepEqual(setIn({ x: 23 }, "a", 24), { x: 23, a: 24 }); - assert.deepEqual(setIn(null, "a", 24), { a: 24 }); + assert.deepEqual(setInUnsafe({ x: 23 }, "a", 24), { x: 23, a: 24 }); + assert.deepEqual(setInUnsafe(null, "a", 24), { a: 24 }); }); it("setIn (len = 2)", () => { - assert.deepEqual(setIn({ a: { b: { c: 23 } } }, "a.b", 24), { - a: { b: 24 } + assert.deepEqual(setIn({ a: { b: 23 } }, ["a", "b"], 24), { + a: { b: 24 }, + }); + assert.deepEqual(setInUnsafe({ a: { b: { c: 23 } } }, "a.d", 24), { + a: { b: { c: 23 }, d: 24 }, }); - assert.deepEqual(setIn({ a: { b: { c: 23 } } }, "a.d", 24), { - a: { b: { c: 23 }, d: 24 } + assert.deepEqual(setInUnsafe({ x: 23 }, "a.b", 24), { + x: 23, + a: { b: 24 }, }); - assert.deepEqual(setIn({ x: 23 }, "a.b", 24), { x: 23, a: { b: 24 } }); - assert.deepEqual(setIn(null, "a.b", 24), { a: { b: 24 } }); + assert.deepEqual(setInUnsafe(null, "a.b", 24), { a: { b: 24 } }); }); it("setIn (len = 3)", () => { - assert.deepEqual(setIn({ a: { b: { c: 23 } } }, "a.b.c", 24), { - a: { b: { c: 24 } } + assert.deepEqual(setIn({ a: { b: { c: 23 } } }, ["a", "b", "c"], 24), { + a: { b: { c: 24 } }, }); - assert.deepEqual(setIn({ a: { b: { c: 23 } } }, "a.b.d", 24), { - a: { b: { c: 23, d: 24 } } + assert.deepEqual(setInUnsafe({ a: { b: { c: 23 } } }, "a.b.d", 24), { + a: { b: { c: 23, d: 24 } }, }); - assert.deepEqual(setIn({ x: 23 }, "a.b.c", 24), { + assert.deepEqual(setInUnsafe({ x: 23 }, "a.b.c", 24), { x: 23, - a: { b: { c: 24 } } + a: { b: { c: 24 } }, + }); + assert.deepEqual(setInUnsafe(null, "a.b.c", 24), { + a: { b: { c: 24 } }, }); - assert.deepEqual(setIn(null, "a.b.c", 24), { a: { b: { c: 24 } } }); }); it("setIn (len = 4)", () => { - assert.deepEqual(setIn({ a: { b: { c: { d: 23 } } } }, "a.b.c.d", 24), { - a: { b: { c: { d: 24 } } } - }); - assert.deepEqual(setIn({ a: { b: { c: 23 } } }, "a.b.d.e", 24), { - a: { b: { c: 23, d: { e: 24 } } } + assert.deepEqual( + setIn({ a: { b: { c: { d: 23 } } } }, ["a", "b", "c", "d"], 24), + { + a: { b: { c: { d: 24 } } }, + } + ); + assert.deepEqual(setInUnsafe({ a: { b: { c: 23 } } }, "a.b.d.e", 24), { + a: { b: { c: 23, d: { e: 24 } } }, }); - assert.deepEqual(setIn({ x: 23 }, "a.b.c.d", 24), { + assert.deepEqual(setInUnsafe({ x: 23 }, "a.b.c.d", 24), { x: 23, - a: { b: { c: { d: 24 } } } + a: { b: { c: { d: 24 } } }, }); - assert.deepEqual(setIn(null, "a.b.c.d", 24), { - a: { b: { c: { d: 24 } } } + assert.deepEqual(setInUnsafe(null, "a.b.c.d", 24), { + a: { b: { c: { d: 24 } } }, }); }); it("setIn (len = 5)", () => { assert.deepEqual( - setIn({ a: { b: { c: { d: { e: 23 } } } } }, "a.b.c.d.e", 24), + setIn( + { a: { b: { c: { d: { e: 23 } } } } }, + ["a", "b", "c", "d", "e"], + 24 + ), { a: { b: { c: { d: { e: 24 } } } } } ); - assert.deepEqual(setIn({ a: { b: { c: 23 } } }, "a.b.d.e.f", 24), { - a: { b: { c: 23, d: { e: { f: 24 } } } } - }); - assert.deepEqual(setIn({ x: 23 }, "a.b.c.d.e", 24), { + assert.deepEqual( + setInUnsafe({ a: { b: { c: 23 } } }, "a.b.d.e.f", 24), + { + a: { b: { c: 23, d: { e: { f: 24 } } } }, + } + ); + assert.deepEqual(setInUnsafe({ x: 23 }, "a.b.c.d.e", 24), { x: 23, - a: { b: { c: { d: { e: 24 } } } } + a: { b: { c: { d: { e: 24 } } } }, }); - assert.deepEqual(setIn(null, "a.b.c.d.e", 24), { - a: { b: { c: { d: { e: 24 } } } } + assert.deepEqual(setInUnsafe(null, "a.b.c.d.e", 24), { + a: { b: { c: { d: { e: 24 } } } }, }); }); it("setIn arr", () => { assert.deepEqual(setIn([1, 2], [0], 10), [10, 2]); - assert.deepEqual(setIn([[1, 2], 3], [0, 1], 10), [[1, 10], 3]); - assert.deepEqual(setIn([[1, 2, 3], 4], [0, 1, 2], 10), [ + assert.deepEqual(setIn([[1, 2], 3], [0, 1], 10), [[1, 10], 3]); + assert.deepEqual(setInUnsafe([[1, 2, 3], 4], [0, 1, 2], 10), [ [1, { 2: 10 }, 3], - 4 + 4, ]); - assert.deepEqual(setIn([[1, 2, 3], 4], [0, 1, 2, "a"], 10), [ + assert.deepEqual(setInUnsafe([[1, 2, 3], 4], [0, 1, 2, "a"], 10), [ [1, { 2: { a: 10 } }, 3], - 4 + 4, ]); - assert.deepEqual(setIn([[1, 2, 3], 4], [0, 1, 2, "a", "b"], 10), [ + assert.deepEqual(setInUnsafe([[1, 2, 3], 4], [0, 1, 2, "a", "b"], 10), [ [1, { 2: { a: { b: 10 } } }, 3], - 4 + 4, ]); }); it("immutable", () => { const a = { x: { y: { z: 1 } }, u: { v: 2 } }; - const b = setIn(a, "a.b.c", 3); + const b = setInUnsafe(a, "a.b.c", 3); assert.deepEqual(b, { x: { y: { z: 1 } }, u: { v: 2 }, - a: { b: { c: 3 } } + a: { b: { c: 3 } }, }); assert.deepEqual(a, { x: { y: { z: 1 } }, u: { v: 2 } }); assert.ok(a.x === b.x); From e2b35bc13cdf286d0e1cd60176eeb207525b064f Mon Sep 17 00:00:00 2001 From: Karsten Schmidt Date: Tue, 24 Mar 2020 20:13:38 +0000 Subject: [PATCH 35/70] feat(api): update Path alias, add doc strings --- packages/api/src/api/path.ts | 59 ++++++++++++++++++++++++++++++++++-- 1 file changed, 57 insertions(+), 2 deletions(-) diff --git a/packages/api/src/api/path.ts b/packages/api/src/api/path.ts index 553b8085a2..6aca7731bd 100644 --- a/packages/api/src/api/path.ts +++ b/packages/api/src/api/path.ts @@ -19,20 +19,32 @@ import type { } from "./keyval"; /** - * Lookup path for nested data structures. + * Unchecked lookup path for nested data structures. */ -export type Path = PropertyKey | PropertyKey[]; +export type Path = readonly NumOrString[] | NumOrString; +/** + * Empty lookup path. + */ export type Path0 = readonly []; +/** + * Type checked lookup path (depth 1) + */ export type Path1 = A extends Keys ? readonly [A] : never; +/** + * Type checked lookup path (depth 2) + */ export type Path2 = A extends Keys ? B extends Keys1 ? readonly [A, B] : never : never; +/** + * Type checked lookup path (depth 3) + */ export type Path3 = A extends Keys ? B extends Keys1 ? C extends Keys2 @@ -41,6 +53,9 @@ export type Path3 = A extends Keys : never : never; +/** + * Type checked lookup path (depth 4) + */ export type Path4 = A extends Keys ? B extends Keys1 ? C extends Keys2 @@ -51,6 +66,9 @@ export type Path4 = A extends Keys : never : never; +/** + * Type checked lookup path (depth 5) + */ export type Path5 = A extends Keys ? B extends Keys1 ? C extends Keys2 @@ -63,6 +81,9 @@ export type Path5 = A extends Keys : never : never; +/** + * Type checked lookup path (depth 6) + */ export type Path6 = A extends Keys ? B extends Keys1 ? C extends Keys2 @@ -77,6 +98,9 @@ export type Path6 = A extends Keys : never : never; +/** + * Type checked lookup path (depth 7) + */ export type Path7 = A extends Keys ? B extends Keys1 ? C extends Keys2 @@ -93,6 +117,9 @@ export type Path7 = A extends Keys : never : never; +/** + * Type checked lookup path (depth 8) + */ export type Path8 = A extends Keys ? B extends Keys1 ? C extends Keys2 @@ -111,6 +138,10 @@ export type Path8 = A extends Keys : never : never; +/** + * Semi-typechecked lookup path (depth > 8). Only the first 8 levels are + * checked. + */ // prettier-ignore export type DeepPath = A extends Keys ? B extends Keys1 @@ -130,14 +161,23 @@ export type DeepPath = A extends Keys : never : never; +/** + * Value type for lookup path (depth 1) + */ export type PathVal1 = A extends Keys ? Val1 : never; +/** + * Value type for lookup path (depth 2) + */ export type PathVal2 = A extends Keys ? B extends Keys1 ? Val2 : never : never; +/** + * Value type for lookup path (depth 3) + */ export type PathVal3 = A extends Keys ? B extends Keys1 ? C extends Keys2 @@ -146,6 +186,9 @@ export type PathVal3 = A extends Keys : never : never; +/** + * Value type for lookup path (depth 4) + */ export type PathVal4 = A extends Keys ? B extends Keys1 ? C extends Keys2 @@ -156,6 +199,9 @@ export type PathVal4 = A extends Keys : never : never; +/** + * Value type for lookup path (depth 5) + */ export type PathVal5 = A extends Keys ? B extends Keys1 ? C extends Keys2 @@ -168,6 +214,9 @@ export type PathVal5 = A extends Keys : never : never; +/** + * Value type for lookup path (depth 6) + */ export type PathVal6 = A extends Keys ? B extends Keys1 ? C extends Keys2 @@ -182,6 +231,9 @@ export type PathVal6 = A extends Keys : never : never; +/** + * Value type for lookup path (depth 7) + */ export type PathVal7 = A extends Keys ? B extends Keys1 ? C extends Keys2 @@ -198,6 +250,9 @@ export type PathVal7 = A extends Keys : never : never; +/** + * Value type for lookup path (depth 8) + */ export type PathVal8 = A extends Keys ? B extends Keys1 ? C extends Keys2 From 548ba5205033bcc4a917fa56ede65ba3df4b3eef Mon Sep 17 00:00:00 2001 From: Karsten Schmidt Date: Tue, 24 Mar 2020 20:15:23 +0000 Subject: [PATCH 36/70] feat(checks): add better type assertion for isTypedArray() --- packages/checks/src/is-typedarray.ts | 31 +++++++++++++++++++--------- 1 file changed, 21 insertions(+), 10 deletions(-) diff --git a/packages/checks/src/is-typedarray.ts b/packages/checks/src/is-typedarray.ts index 391fda878c..2cc3348c67 100644 --- a/packages/checks/src/is-typedarray.ts +++ b/packages/checks/src/is-typedarray.ts @@ -1,11 +1,22 @@ -export const isTypedArray = (x: any): x is ArrayLike => +type TypedArray = + | Float32Array + | Float64Array + | Int8Array + | Int16Array + | Int32Array + | Uint8Array + | Uint8ClampedArray + | Uint16Array + | Uint32Array; + +export const isTypedArray = (x: any): x is TypedArray => x && - (x.constructor === Float32Array || - x.constructor === Uint32Array || - x.constructor === Uint8Array || - x.constructor === Uint8ClampedArray || - x.constructor === Int8Array || - x.constructor === Uint16Array || - x.constructor === Int16Array || - x.constructor === Int32Array || - x.constructor === Float64Array); + (x instanceof Float32Array || + x instanceof Float64Array || + x instanceof Uint32Array || + x instanceof Int32Array || + x instanceof Uint8Array || + x instanceof Int8Array || + x instanceof Uint16Array || + x instanceof Int16Array || + x instanceof Uint8ClampedArray); From 016b5fe1d6187576e31140865660aab5d2f1c0fa Mon Sep 17 00:00:00 2001 From: Karsten Schmidt Date: Tue, 24 Mar 2020 20:16:57 +0000 Subject: [PATCH 37/70] refactor(atom): update all to new thi.ng/paths API --- packages/atom/src/api.ts | 10 ++-- packages/atom/src/atom.ts | 21 ++++---- packages/atom/src/cursor.ts | 23 ++++---- packages/atom/src/history.ts | 27 +++++----- packages/atom/src/transacted.ts | 17 +++--- packages/atom/src/view.ts | 15 +++--- packages/atom/test/cursor.ts | 28 +--------- packages/atom/test/history.ts | 31 ++++++----- packages/atom/test/transacted.ts | 71 ++++++++++++++---------- packages/atom/test/view.ts | 92 ++++++++++++++++---------------- 10 files changed, 167 insertions(+), 168 deletions(-) diff --git a/packages/atom/src/api.ts b/packages/atom/src/api.ts index 96f6ea3103..e1a7193dca 100644 --- a/packages/atom/src/api.ts +++ b/packages/atom/src/api.ts @@ -6,7 +6,7 @@ import type { INotify, IRelease, IWatch, - NumOrString, + Path, Path0, Path1, Path2, @@ -27,8 +27,6 @@ import type { Predicate, } from "@thi.ng/api"; -export type AtomPath = Readonly; - export type SwapFn = (curr: T, ...args: any[]) => T; export interface ReadonlyAtom extends IDeref, IRelease, IWatch {} @@ -67,7 +65,7 @@ export interface IReset { val: any ): T; - resetInUnsafe(path: string | AtomPath, val: any): T; + resetInUnsafe(path: Path, val: any): T; } export interface ISwap { @@ -116,11 +114,11 @@ export interface ISwap { ...args: any[] ): T; - swapInUnsafe(path: string | AtomPath, fn: SwapFn, ...args: any[]): T; + swapInUnsafe(path: Path, fn: SwapFn, ...args: any[]): T; } export interface IView extends IDeref, IID, IRelease { - readonly path: AtomPath; + readonly path: Path; readonly value: T | undefined; view(): T | undefined; diff --git a/packages/atom/src/atom.ts b/packages/atom/src/atom.ts index 2a2056a897..bb9911ba61 100644 --- a/packages/atom/src/atom.ts +++ b/packages/atom/src/atom.ts @@ -1,9 +1,10 @@ import { IWatchMixin } from "@thi.ng/api"; import { illegalState } from "@thi.ng/errors"; -import { setIn, updateIn } from "@thi.ng/paths"; +import { setInUnsafe, updateInUnsafe } from "@thi.ng/paths"; import type { DeepPath, IEquiv, + Path, Path0, Path1, Path2, @@ -24,7 +25,7 @@ import type { Predicate, Watch, } from "@thi.ng/api"; -import type { AtomPath, IAtom, SwapFn } from "./api"; +import type { IAtom, SwapFn } from "./api"; export const defAtom = (value: T, valid?: Predicate) => new Atom(value, valid); @@ -101,12 +102,12 @@ export class Atom implements IAtom, IEquiv { path: DeepPath, val: any ): T; - resetIn(path: AtomPath, val: any) { - return this.reset(setIn(this._value, path, val)); + resetIn(path: Path, val: any) { + return this.reset(setInUnsafe(this._value, path, val)); } - resetInUnsafe(path: string | AtomPath, val: any): T { - return this.reset(setIn(this._value, path, val)); + resetInUnsafe(path: Path, val: any): T { + return this.reset(setInUnsafe(this._value, path, val)); } swap(fn: SwapFn, ...args: any[]) { @@ -155,12 +156,12 @@ export class Atom implements IAtom, IEquiv { fn: SwapFn, ...args: any[] ): T; - swapIn(path: AtomPath, fn: SwapFn, ...args: any[]) { - return this.reset(updateIn(this._value, path, fn, ...args)); + swapIn(path: Path, fn: SwapFn, ...args: any[]) { + return this.reset(updateInUnsafe(this._value, path, fn, ...args)); } - swapInUnsafe(path: string | AtomPath, fn: SwapFn, ...args: any[]) { - return this.reset(updateIn(this._value, path, fn, ...args)); + swapInUnsafe(path: Path, fn: SwapFn, ...args: any[]) { + return this.reset(updateInUnsafe(this._value, path, fn, ...args)); } // @ts-ignore: mixin diff --git a/packages/atom/src/cursor.ts b/packages/atom/src/cursor.ts index 133fc22052..baf2d3f9ed 100644 --- a/packages/atom/src/cursor.ts +++ b/packages/atom/src/cursor.ts @@ -1,10 +1,11 @@ -import { getter, setter } from "@thi.ng/paths"; +import { defGetterUnsafe, defSetterUnsafe } from "@thi.ng/paths"; import { Atom } from "./atom"; import { nextID } from "./idgen"; import type { DeepPath, IID, IRelease, + Path, Path0, Path1, Path2, @@ -24,7 +25,7 @@ import type { PathVal8, Watch, } from "@thi.ng/api"; -import type { AtomPath, CursorOpts, IAtom, SwapFn } from "./api"; +import type { CursorOpts, IAtom, SwapFn } from "./api"; export function defCursor( parent: IAtom, @@ -73,7 +74,7 @@ export function defCursor( ): Cursor; export function defCursor( parent: IAtom, - path: AtomPath, + path: Path, opts?: Partial> ): Cursor { return new Cursor(parent, path, opts); @@ -81,7 +82,7 @@ export function defCursor( export function defCursorUnsafe( parent: IAtom, - path: string | AtomPath, + path: Path, opts?: Partial> ) { return new Cursor(parent, path, opts); @@ -125,12 +126,12 @@ export class Cursor implements IAtom, IID, IRelease { constructor( parent: IAtom, - path: string | AtomPath, + path: Path, opts: Partial> = {} ) { const validate = opts.validate; - const lookup = getter(path); - const update = setter(path); + const lookup = defGetterUnsafe(path); + const update = defSetterUnsafe(path); this.parent = parent; this.id = opts.id || `cursor-${nextID()}`; this.selfUpdate = false; @@ -204,11 +205,11 @@ export class Cursor implements IAtom, IID, IRelease { path: DeepPath, val: any ): T; - resetIn(path: AtomPath, val: any) { + resetIn(path: Path, val: any) { return this.local.resetInUnsafe(path, val); } - resetInUnsafe(path: string | AtomPath, val: any) { + resetInUnsafe(path: Path, val: any) { return this.local.resetInUnsafe(path, val); } @@ -258,11 +259,11 @@ export class Cursor implements IAtom, IID, IRelease { fn: SwapFn, ...args: any[] ): T; - swapIn(path: AtomPath, fn: SwapFn, ...args: any[]) { + swapIn(path: Path, fn: SwapFn, ...args: any[]) { return this.local.swapInUnsafe(path, fn, ...args); } - swapInUnsafe(path: string | AtomPath, fn: SwapFn, ...args: any[]) { + swapInUnsafe(path: Path, fn: SwapFn, ...args: any[]) { return this.local.swapInUnsafe(path, fn, ...args); } diff --git a/packages/atom/src/history.ts b/packages/atom/src/history.ts index 46dd57302a..b81c63b169 100644 --- a/packages/atom/src/history.ts +++ b/packages/atom/src/history.ts @@ -1,10 +1,11 @@ import { INotifyMixin } from "@thi.ng/api"; import { equiv } from "@thi.ng/equiv"; -import { getIn, setIn, updateIn } from "@thi.ng/paths"; +import { defGetterUnsafe, setInUnsafe, updateInUnsafe } from "@thi.ng/paths"; import type { DeepPath, Event, Listener, + Path, Path0, Path1, Path2, @@ -25,7 +26,7 @@ import type { Predicate2, Watch, } from "@thi.ng/api"; -import type { AtomPath, IAtom, IHistory, SwapFn } from "./api"; +import type { IAtom, IHistory, SwapFn } from "./api"; export const defHistory = ( state: IAtom, @@ -191,16 +192,17 @@ export class History implements IHistory { path: DeepPath, val: any ): T; - resetIn(path: AtomPath, val: any) { + resetIn(path: Path, val: any) { const prev = this.state.deref(); - const prevV = getIn(prev, path); - const curr = setIn(prev, path, val); + const get = defGetterUnsafe(path); + const prevV = get(prev); + const curr = setInUnsafe(prev, path, val); this.state.reset(curr); - this.changed(prevV, getIn(curr, path)) && this.record(prev); + this.changed(prevV, get(curr)) && this.record(prev); return curr; } - resetInUnsafe(path: AtomPath, val: any) { + resetInUnsafe(path: Path, val: any) { return this.resetIn(path, val); } @@ -258,16 +260,17 @@ export class History implements IHistory { fn: SwapFn, ...args: any[] ): T; - swapIn(path: AtomPath, fn: SwapFn, ...args: any[]) { + swapIn(path: Path, fn: SwapFn, ...args: any[]) { const prev = this.state.deref(); - const prevV = getIn(prev, path); - const curr = updateIn(this.state.deref(), path, fn, ...args); + const get = defGetterUnsafe(path); + const prevV = get(prev); + const curr = updateInUnsafe(this.state.deref(), path, fn, ...args); this.state.reset(curr); - this.changed(prevV, getIn(curr, path)) && this.record(prev); + this.changed(prevV, get(curr)) && this.record(prev); return curr; } - swapInUnsafe(path: string | AtomPath, fn: SwapFn, ...args: any[]) { + swapInUnsafe(path: Path, fn: SwapFn, ...args: any[]) { return this.swapIn(path, fn, ...args); } diff --git a/packages/atom/src/transacted.ts b/packages/atom/src/transacted.ts index 4a5d99fea8..23e522c9fe 100644 --- a/packages/atom/src/transacted.ts +++ b/packages/atom/src/transacted.ts @@ -1,8 +1,9 @@ import { assert } from "@thi.ng/api"; -import { setIn, updateIn } from "@thi.ng/paths"; +import { setInUnsafe, updateInUnsafe } from "@thi.ng/paths"; import { nextID } from "./idgen"; import type { DeepPath, + Path, Path0, Path1, Path2, @@ -22,7 +23,7 @@ import type { PathVal8, Watch, } from "@thi.ng/api"; -import type { AtomPath, IAtom, SwapFn } from "./api"; +import type { IAtom, SwapFn } from "./api"; export const defTransacted = (parent: IAtom) => new Transacted(parent); @@ -94,12 +95,12 @@ export class Transacted implements IAtom { path: DeepPath, val: any ): T; - resetIn(path: AtomPath, val: any) { + resetIn(path: Path, val: any) { this.ensureTx(); - return this.reset(setIn(this.current, path, val)); + return this.reset(setInUnsafe(this.current, path, val)); } - resetInUnsafe(path: string | AtomPath, val: any) { + resetInUnsafe(path: Path, val: any) { return this.resetIn(path, val); } @@ -150,12 +151,12 @@ export class Transacted implements IAtom { fn: SwapFn, ...args: any[] ): T; - swapIn(path: AtomPath, fn: SwapFn, ...args: any[]) { + swapIn(path: Path, fn: SwapFn, ...args: any[]) { this.ensureTx(); - return this.reset(updateIn(this.current, path, fn, ...args)); + return this.reset(updateInUnsafe(this.current, path, fn, ...args)); } - swapInUnsafe(path: AtomPath, fn: SwapFn, ...args: any[]) { + swapInUnsafe(path: Path, fn: SwapFn, ...args: any[]) { return this.swapIn(path, fn, ...args); } diff --git a/packages/atom/src/view.ts b/packages/atom/src/view.ts index 2488de1ff4..da992e408b 100644 --- a/packages/atom/src/view.ts +++ b/packages/atom/src/view.ts @@ -1,9 +1,10 @@ import { equiv as _equiv } from "@thi.ng/equiv"; -import { getter, toPath } from "@thi.ng/paths"; +import { defGetterUnsafe, toPath } from "@thi.ng/paths"; import { nextID } from "./idgen"; import type { DeepPath, Fn, + Path, Path0, Path1, Path2, @@ -23,7 +24,7 @@ import type { PathVal8, Predicate2, } from "@thi.ng/api"; -import type { AtomPath, IView, ReadonlyAtom } from "./api"; +import type { IView, ReadonlyAtom } from "./api"; // const a = defAtom({ a: { b: { c: 1 } } }); // const v1 = defView(a, ["a", "b", "c"], (x) => ""); @@ -101,7 +102,7 @@ export function defView( ): View; export function defView( parent: ReadonlyAtom, - path: AtomPath, + path: Path, tx?: Fn, lazy?: boolean, equiv?: Predicate2 @@ -111,7 +112,7 @@ export function defView( export function defViewUnsafe( parent: ReadonlyAtom, - path: string | AtomPath, + path: Path, tx?: Fn, lazy?: boolean, equiv?: Predicate2 @@ -168,7 +169,7 @@ export class View implements IView { readonly id: string; readonly parent: ReadonlyAtom; - readonly path: AtomPath; + readonly path: Path; protected state: T | undefined; protected tx: Fn; @@ -178,7 +179,7 @@ export class View implements IView { constructor( parent: ReadonlyAtom, - path: string | AtomPath, + path: Path, tx?: Fn, lazy = true, equiv = _equiv @@ -189,7 +190,7 @@ export class View implements IView { this.path = toPath(path); this.isDirty = true; this.isLazy = lazy; - const lookup = getter(this.path); + const lookup = defGetterUnsafe(this.path); const state = this.parent.deref(); this.unprocessed = state ? lookup(state) : undefined; if (!lazy) { diff --git a/packages/atom/test/cursor.ts b/packages/atom/test/cursor.ts index 67c09bc699..caf7c13c2d 100644 --- a/packages/atom/test/cursor.ts +++ b/packages/atom/test/cursor.ts @@ -6,7 +6,6 @@ import { defAtom, defCursor } from "../src/index"; -// import { getIn } from "@thi.ng/paths"; interface State { a: { @@ -23,14 +22,14 @@ interface State { f: number; } -describe("cursor", function() { +describe("cursor", function () { let a: Atom; let c: Cursor; let src: any; beforeEach(() => { src = { a: { b: { c: 23, g: { h: 88 } }, d: { e: 42 } }, f: 66 }; - a = defAtom(src); + a = defAtom(src); }); it("can be deref'd (a)", () => { @@ -63,29 +62,6 @@ describe("cursor", function() { assert.strictEqual(c.deref(), undefined); }); - // it("works with get/set", () => { - // c = cursor( - // a, - // (s) => s.a.b, - // (s, x) => ({ ...s, a: { ...s.a, b: x } }) - // ); - // assert.strictEqual(c.deref(), src.a.b); - // c.reset(42); - // assert.equal(c.deref(), 42); - // assert.equal(c.deref(), getIn(a.deref(), "a.b")); - // }); - - // it("works with get/set opts", () => { - // c = new Cursor({ - // parent: a, - // path: [(s) => s.a.b, (s, x) => ({ ...s, a: { ...s.a, b: x } })] - // }); - // assert.strictEqual(c.deref(), src.a.b); - // c.reset(42); - // assert.equal(c.deref(), 42); - // assert.equal(c.deref(), getIn(a.deref(), "a.b")); - // }); - it("can be validated", () => { c = defCursor(a, ["a", "b", "c"], { validate: isNumber }); assert.equal(c.reset(42), 42); diff --git a/packages/atom/test/history.ts b/packages/atom/test/history.ts index cf05fd2757..55dfc8c3c3 100644 --- a/packages/atom/test/history.ts +++ b/packages/atom/test/history.ts @@ -1,7 +1,7 @@ import * as assert from "assert"; import { Atom } from "../src/atom"; -import { Cursor } from "../src/cursor"; -import { History } from "../src/history"; +import { defCursor } from "../src/cursor"; +import { defHistory } from "../src/history"; describe("history", () => { let a: Atom; @@ -12,16 +12,16 @@ describe("history", () => { }); it("has initial state", () => { - let c = new Cursor(a, "b.c"); - let h = new History(c, 3); + let c = defCursor(a, ["b", "c"]); + let h = defHistory(c, 3); assert.equal(h.history.length, 0); assert.equal(h.future.length, 0); assert.equal(h.deref(), c.deref()); }); it("does record & shift (simple)", () => { - let c = new Cursor(a, "b.c"); - let h = new History(c, 3); + let c = defCursor(a, ["b", "c"]); + let h = defHistory(c, 3); h.swap(add); assert.equal(h.history.length, 1); assert.deepEqual(h.history, [20]); @@ -40,22 +40,25 @@ describe("history", () => { }); it("does record & shift (nested)", () => { - let c = new Cursor(a, "b"); - let h = new History(c, 3); + let c = defCursor(a, ["b"]); + let h = defHistory(c, 3); h.swap((s) => ({ ...s, c: 21 })); assert.equal(h.history.length, 1); assert.deepEqual(h.history, [{ c: 20, d: 30 }]); h.swap((s) => ({ ...s, d: 31 })); assert.equal(h.history.length, 2); - assert.deepEqual(h.history, [{ c: 20, d: 30 }, { c: 21, d: 30 }]); + assert.deepEqual(h.history, [ + { c: 20, d: 30 }, + { c: 21, d: 30 }, + ]); h.swap((s) => ({ ...s, x: 100 })); assert.equal(h.history.length, 3); assert.deepEqual(h.history, [ { c: 20, d: 30 }, { c: 21, d: 30 }, - { c: 21, d: 31 } + { c: 21, d: 31 }, ]); h.reset(null); @@ -63,7 +66,7 @@ describe("history", () => { assert.deepEqual(h.history, [ { c: 21, d: 30 }, { c: 21, d: 31 }, - { c: 21, d: 31, x: 100 } + { c: 21, d: 31, x: 100 }, ]); h.clear(); @@ -72,7 +75,7 @@ describe("history", () => { }); it("doesn't record if same val", () => { - let h = new History(a, 3); + let h = defHistory(a, 3); h.reset(a.deref()); assert.equal(h.history.length, 0); h.swap((s) => s); @@ -80,8 +83,8 @@ describe("history", () => { }); it("does undo / redo", () => { - let c = new Cursor(a, "b.c"); - let h = new History(c, 3); + let c = defCursor(a, ["b", "c"]); + let h = defHistory(c, 3); h.swap(add); // 21 h.swap(add); // 22 h.swap(add); // 23 diff --git a/packages/atom/test/transacted.ts b/packages/atom/test/transacted.ts index 4b50f60434..dc5fecafb9 100644 --- a/packages/atom/test/transacted.ts +++ b/packages/atom/test/transacted.ts @@ -1,13 +1,24 @@ import * as assert from "assert"; -import { Atom, defView, Transacted } from "../src/index"; +import { + Atom, + defView, + Transacted, + defAtom, + defTransacted, +} from "../src/index"; + +interface State { + a: number; + b: number; +} describe("transacted", () => { - let db: Atom; - let tx: Transacted; + let db: Atom; + let tx: Transacted; beforeEach(() => { - db = new Atom({ a: 1, b: 2 }); - tx = new Transacted(db); + db = defAtom({ a: 1, b: 2 }); + tx = defTransacted(db); }); it("initial", () => { @@ -19,8 +30,8 @@ describe("transacted", () => { tx.begin(); assert.deepEqual(tx.deref(), { a: 1, b: 2 }); assert.throws(() => tx.begin(), "no nested tx"); - tx.swapIn(["a"], (x: number) => x + 10); - tx.swapIn(["b"], (x: number) => x + 20); + tx.swapIn(["a"], (x) => x + 10); + tx.swapIn(["b"], (x) => x + 20); assert.deepEqual(tx.deref(), { a: 11, b: 22 }); assert.deepEqual(db.deref(), { a: 1, b: 2 }); assert.deepEqual(tx.commit(), { a: 11, b: 22 }); @@ -31,7 +42,7 @@ describe("transacted", () => { it("cancel", () => { tx.begin(); - tx.swapIn(["a"], (x: number) => x + 10); + tx.swapIn(["a"], (x) => x + 10); assert.deepEqual(tx.deref(), { a: 11, b: 2 }); tx.cancel(); assert.deepEqual(tx.deref(), { a: 1, b: 2 }); @@ -40,47 +51,51 @@ describe("transacted", () => { }); it("no edits outside tx", () => { - assert.throws(() => tx.reset({}), "no reset"); - assert.throws(() => tx.swap(() => ({})), "no swap"); - assert.throws(() => tx.resetIn(["a"], {}), "no resetIn"); - assert.throws(() => tx.swapIn(["a"], () => ({})), "no swapIn"); - assert.throws(() => (tx.value = {}), "no .value"); + const _tx = >tx; + assert.throws(() => _tx.reset({}), "no reset"); + assert.throws(() => _tx.swap(() => ({})), "no swap"); + assert.throws(() => _tx.resetIn(["a"], {}), "no resetIn"); + assert.throws(() => _tx.swapIn(["a"], () => ({})), "no swapIn"); + assert.throws(() => (_tx.value = {}), "no .value"); }); it("watches", () => { let count = 0; - tx.addWatch("foo", (id, old, curr) => { + const _tx = >tx; + _tx.addWatch("foo", (id, old, curr) => { count++; assert.equal(id, "foo"); assert.deepEqual(old, { a: 1, b: 2 }); assert.deepEqual(curr, { a: 22 }); }); - tx.begin(); - tx.reset({ a: 11 }); - tx.reset({ a: 22 }); - tx.commit(); + _tx.begin(); + _tx.reset({ a: 11 }); + _tx.reset({ a: 22 }); + _tx.commit(); assert.equal(count, 1); }); it("view (lazy)", () => { const acc: any[] = []; - const view = defView(tx, ["a"], (x) => (acc.push(x), x), true); + const _tx = >tx; + const view = defView(_tx, ["a"], (x) => (acc.push(x), x), true); assert.equal(view.deref(), 1); - tx.begin(); - tx.reset({ a: 11 }); - tx.reset({ a: 22 }); - tx.commit(); + _tx.begin(); + _tx.reset({ a: 11 }); + _tx.reset({ a: 22 }); + _tx.commit(); assert.equal(view.deref(), 22); assert.deepEqual(acc, [1, 22]); }); it("view (eager)", () => { const acc: any[] = []; - const view = defView(tx, ["a"], (x) => (acc.push(x), x), false); - tx.begin(); - tx.reset({ a: 11 }); - tx.reset({ a: 22 }); - tx.commit(); + const _tx = >tx; + const view = defView(_tx, ["a"], (x) => (acc.push(x), x), false); + _tx.begin(); + _tx.reset({ a: 11 }); + _tx.reset({ a: 22 }); + _tx.commit(); assert.deepEqual(acc, [1, 22]); assert.equal(view.deref(), 22); }); diff --git a/packages/atom/test/view.ts b/packages/atom/test/view.ts index cf784007ee..20d34774c4 100644 --- a/packages/atom/test/view.ts +++ b/packages/atom/test/view.ts @@ -1,4 +1,3 @@ -import { setIn, updateIn } from "@thi.ng/paths"; import * as assert from "assert"; import { IView } from "../src/api"; import { Atom } from "../src/atom"; @@ -13,29 +12,29 @@ interface State { describe("view", () => { let a: Atom; - let s: IView; + let v: IView; beforeEach(() => { a = new Atom({ a: 1, b: { c: 2, d: 3 }, e: 4 }); }); it("can be created from atom", () => { - s = defView(a, ["e"]); - assert.ok(s instanceof View); - assert.equal(s.deref(), 4); - s = defView(a, ["e"], (x) => x * 10); - assert.ok(s instanceof View); - assert.equal(s.deref(), 40); + v = defView(a, ["e"]); + assert.ok(v instanceof View); + assert.equal(v.deref(), 4); + v = defView(a, ["e"], (x) => x * 10); + assert.ok(v instanceof View); + assert.equal(v.deref(), 40); }); it("can be created from cursor", () => { let c = defCursor(a, ["b"]); - s = defView(c, ["d"]); - assert.ok(s instanceof View); - assert.equal(s.deref(), 3); - s = defView(c, ["c"], (x: number) => x * 10); - assert.ok(s instanceof View); - assert.equal(s.deref(), 20); + v = defView(c, ["d"]); + assert.ok(v instanceof View); + assert.equal(v.deref(), 3); + v = defView(c, ["c"], (x: number) => x * 10); + assert.ok(v instanceof View); + assert.equal(v.deref(), 20); }); it("can be deref'd", () => { @@ -44,9 +43,9 @@ describe("view", () => { }); it("can be deref'd w/ transformer", () => { - s = defView(a, ["b", "c"], (x) => x * 10); - assert.equal(s.deref(), 20); - assert.equal(s.deref(), 20); + v = defView(a, ["b", "c"], (x) => x * 10); + assert.equal(v.deref(), 20); + assert.equal(v.deref(), 20); }); it("can read .value", () => { @@ -57,55 +56,56 @@ describe("view", () => { }); it("reflects updates", () => { - s = defView(a, ["b", "c"], (x) => x * 10); - assert.ok(s.changed(), "not dirty"); - assert.equal(s.deref(), 20); - assert.ok(!s.changed(), "changed"); - a.swap((state) => updateIn(state, "b.c", (x) => x + 1)); - assert.ok(s.changed(), "not dirty #2"); - assert.equal(s.deref(), 30); - assert.ok(!s.changed(), "changed #2"); + v = defView(a, ["b", "c"], (x) => x * 10); + assert.ok(v.changed(), "not dirty"); + assert.equal(v.deref(), 20); + assert.ok(!v.changed(), "changed"); + a.swapIn(["b", "c"], (x) => x + 1); + assert.ok(v.changed(), "not dirty #2"); + assert.equal(v.deref(), 30); + assert.ok(!v.changed(), "changed #2"); }); it("reflects updates (initially undefined)", () => { - s = defView(>a, ["f"]); - assert.ok(s.changed(), "not dirty"); - assert.equal(s.deref(), undefined); - assert.ok(!s.changed(), "changed"); - a.swap((state) => setIn(state, "f", 100)); - assert.ok(s.changed(), "not dirty #2"); - assert.equal(s.deref(), 100); + const _a = >a; + const v = defView(_a, ["f"]); + assert.ok(v.changed(), "not dirty"); + assert.equal(v.deref(), undefined); + assert.ok(!v.changed(), "changed"); + _a.resetIn(["f"], 100); + assert.ok(v.changed(), "not dirty #2"); + assert.equal(v.deref(), 100); }); it("can be released", () => { - s = defView(a, ["b", "c"]); - assert.equal(s.deref(), 2); - assert.ok(!s.changed(), "changed"); - assert.ok(s.release()); - assert.ok(s.changed(), "not dirty"); - assert.equal(s.deref(), undefined); - assert.ok(!s.changed(), "changed #2"); - assert.equal(s.deref(), undefined); + v = defView(a, ["b", "c"]); + assert.equal(v.deref(), 2); + assert.ok(!v.changed(), "changed"); + assert.ok(v.release()); + assert.ok(v.changed(), "not dirty"); + assert.equal(v.deref(), undefined); + assert.ok(!v.changed(), "changed #2"); + assert.equal(v.deref(), undefined); }); it("is lazy by default", () => { let x; - s = defView(a, ["b", "c"], (y) => ((x = y), y * 10)); + v = defView(a, ["b", "c"], (y) => ((x = y), y * 10)); assert.equal(x, undefined); - assert.equal(s.deref(), 20); + assert.equal(v.deref(), 20); assert.equal(x, 2); x = undefined; - assert.equal(s.deref(), 20); + assert.equal(v.deref(), 20); assert.equal(x, undefined); }); it("can be eager", () => { let x; - s = defView(a, ["b", "c"], (y) => ((x = y), y * 10), false); + v = defView(a, ["b", "c"], (y) => ((x = y), y * 10), false); assert.equal(x, 2); - assert.equal(s.deref(), 20); + assert.equal(v.deref(), 20); x = undefined; - assert.equal(s.deref(), 20); + assert.equal(v.deref(), 20); assert.equal(x, undefined); }); }); From 7565448bbc0ae46b5c4749f490871d0ebb1a636e Mon Sep 17 00:00:00 2001 From: Karsten Schmidt Date: Tue, 24 Mar 2020 20:18:06 +0000 Subject: [PATCH 38/70] refactor(rstream): update fromView() & options --- packages/rstream/src/from/view.ts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/rstream/src/from/view.ts b/packages/rstream/src/from/view.ts index 945705669d..168f78216c 100644 --- a/packages/rstream/src/from/view.ts +++ b/packages/rstream/src/from/view.ts @@ -1,13 +1,13 @@ import { View } from "@thi.ng/atom"; import { Stream } from "../stream"; import { optsWithID } from "../utils/idgen"; -import type { Path, Predicate2 } from "@thi.ng/api"; -import type { ReadonlyAtom, ViewTransform } from "@thi.ng/atom"; +import type { Fn, Path, Predicate2 } from "@thi.ng/api"; +import type { ReadonlyAtom } from "@thi.ng/atom"; import type { CommonOpts } from "../api"; export interface FromViewOpts extends Partial { path: Path; - tx?: ViewTransform; + tx?: Fn; equiv?: Predicate2; } From 182b36b4f3891cb8f7c7a7760a0bed3ba140eb55 Mon Sep 17 00:00:00 2001 From: Karsten Schmidt Date: Tue, 24 Mar 2020 20:20:12 +0000 Subject: [PATCH 39/70] refactor(resolve-map): update to new thi.ng/paths API --- packages/resolve-map/src/index.ts | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/packages/resolve-map/src/index.ts b/packages/resolve-map/src/index.ts index 6811950f3f..74f6007be9 100644 --- a/packages/resolve-map/src/index.ts +++ b/packages/resolve-map/src/index.ts @@ -1,4 +1,4 @@ -import { SEMAPHORE } from "@thi.ng/api"; +import { NumOrString, SEMAPHORE } from "@thi.ng/api"; import { isArray, isFunction, @@ -6,13 +6,13 @@ import { isString } from "@thi.ng/checks"; import { illegalArgs } from "@thi.ng/errors"; -import { exists, getIn, mutIn } from "@thi.ng/paths"; +import { exists, getInUnsafe, mutInUnsafe } from "@thi.ng/paths"; const RE_ARGS = /^(function\s+\w+)?\s*\(\{([\w\s,:]+)\}/; export type ResolveFn = (path: string) => any; -export type LookupPath = PropertyKey[]; +export type LookupPath = NumOrString[]; /** * Visits all key-value pairs or array items in depth-first order, @@ -153,7 +153,7 @@ const _resolve = ( illegalArgs(`cyclic references not allowed: ${pathID}`); } // console.log(pp, resolved[pp], stack); - let v = getIn(root, path); + let v = getInUnsafe(root, path); if (!resolved[pathID]) { let res = SEMAPHORE; stack.push(pathID); @@ -175,7 +175,7 @@ const _resolve = ( v = resolvePath(root, path, resolved, stack); } if (res !== SEMAPHORE) { - mutIn(root, path, res); + mutInUnsafe(root, path, res); v = res; } resolved[pathID] = true; @@ -297,7 +297,7 @@ export const absPath = ( curr: LookupPath, path: string, idx = 1 -): PropertyKey[] => { +): NumOrString[] => { if (path.charAt(idx) === "/") { return path.substr(idx + 1).split("/"); } From 4fce623295dfa2d4c4cc3e2b8da1126a0b916660 Mon Sep 17 00:00:00 2001 From: Karsten Schmidt Date: Tue, 24 Mar 2020 20:24:08 +0000 Subject: [PATCH 40/70] refactor(interceptors): update to new thi.ng/paths API --- packages/interceptors/src/event-bus.ts | 28 +++++++++++------------ packages/interceptors/src/interceptors.ts | 16 ++++++------- 2 files changed, 22 insertions(+), 22 deletions(-) diff --git a/packages/interceptors/src/event-bus.ts b/packages/interceptors/src/event-bus.ts index 278f1f397d..23f2660992 100644 --- a/packages/interceptors/src/event-bus.ts +++ b/packages/interceptors/src/event-bus.ts @@ -1,12 +1,12 @@ import { Atom, IAtom } from "@thi.ng/atom"; +import { illegalArgs } from "@thi.ng/errors"; +import { setInUnsafe, updateInUnsafe } from "@thi.ng/paths"; import { implementsFunction, isArray, isFunction, - isPromise + isPromise, } from "@thi.ng/checks"; -import { illegalArgs } from "@thi.ng/errors"; -import { setIn, updateIn } from "@thi.ng/paths"; import { EffectDef, EffectPriority, @@ -29,7 +29,7 @@ import { InterceptorContext, InterceptorFn, LOGGER, - SideEffect + SideEffect, } from "./api"; import type { IDeref, IObjectOf } from "@thi.ng/api"; @@ -209,13 +209,13 @@ export class StatelessEventBus implements IDispatch { LOGGER.warn(`skipping invalid async effect: ${id}`); } }, - -999 + -999, ], [FX_DELAY]: [ ([x, body]) => new Promise((res) => setTimeout(() => res(body), x)), - 1000 + 1000, ], [FX_FETCH]: [ @@ -226,8 +226,8 @@ export class StatelessEventBus implements IDispatch { } return resp; }), - 1000 - ] + 1000, + ], }); } @@ -714,21 +714,21 @@ export class EventBus extends StatelessEventBus // handlers this.addHandlers({ [EV_SET_VALUE]: (state, [_, [path, val]]) => ({ - [FX_STATE]: setIn(state, path, val) + [FX_STATE]: setInUnsafe(state, path, val), }), [EV_UPDATE_VALUE]: (state, [_, [path, fn, ...args]]) => ({ - [FX_STATE]: updateIn(state, path, fn, ...args) + [FX_STATE]: updateInUnsafe(state, path, fn, ...args), }), [EV_TOGGLE_VALUE]: (state, [_, path]) => ({ - [FX_STATE]: updateIn(state, path, (x) => !x) + [FX_STATE]: updateInUnsafe(state, path, (x) => !x), }), [EV_UNDO]: undoHandler("undo"), - [EV_REDO]: undoHandler("redo") + [EV_REDO]: undoHandler("redo"), }); // effects this.addEffects({ - [FX_STATE]: [(state) => this.state.reset(state), -1000] + [FX_STATE]: [(state) => this.state.reset(state), -1000], }); } @@ -788,7 +788,7 @@ const undoHandler = (action: string): InterceptorFn => ( ? ok !== undefined ? ev[1] : ev[2] - : undefined + : undefined, }; } else { LOGGER.warn("no history in context"); diff --git a/packages/interceptors/src/interceptors.ts b/packages/interceptors/src/interceptors.ts index 0f141d0e1e..6bf3d3011b 100644 --- a/packages/interceptors/src/interceptors.ts +++ b/packages/interceptors/src/interceptors.ts @@ -1,4 +1,4 @@ -import { getIn, setter, updater } from "@thi.ng/paths"; +import { defSetterUnsafe, defUpdaterUnsafe, getInUnsafe } from "@thi.ng/paths"; import { Event, FX_CANCEL, @@ -6,7 +6,7 @@ import { FX_DISPATCH_NOW, FX_STATE, InterceptorFn, - InterceptorPredicate + InterceptorPredicate, } from "./api"; import type { Fn, FnO, Path } from "@thi.ng/api"; @@ -34,7 +34,7 @@ export const forwardSideFx = (fxID: string): InterceptorFn => ( * @param event - */ export const dispatch = (event: Event): InterceptorFn => () => ({ - [FX_DISPATCH]: event + [FX_DISPATCH]: event, }); /** @@ -44,7 +44,7 @@ export const dispatch = (event: Event): InterceptorFn => () => ({ * @param event - */ export const dispatchNow = (event: Event): InterceptorFn => () => ({ - [FX_DISPATCH_NOW]: event + [FX_DISPATCH_NOW]: event, }); /** @@ -127,7 +127,7 @@ export const ensurePred = ( !pred(state, e, bus, ctx) ? { [FX_CANCEL]: true, - ...(err ? err(state, e, bus, ctx) : null) + ...(err ? err(state, e, bus, ctx) : null), } : undefined; @@ -135,7 +135,7 @@ const eventPathState = ( state: any, path: Fn | undefined, e: Event -) => getIn(state, path ? path(e) : e[1]); +) => getInUnsafe(state, path ? path(e) : e[1]); /** * Specialization of {@link ensurePred} to ensure a state value is less than @@ -245,7 +245,7 @@ export const ensureParamRange = ( * @param tx - */ export const valueSetter = (path: Path, tx?: Fn): InterceptorFn => { - const $ = setter(path); + const $ = defSetterUnsafe(path); return (state, [_, val]) => ({ [FX_STATE]: $(state, tx ? tx(val) : val) }); }; @@ -273,6 +273,6 @@ export const valueSetter = (path: Path, tx?: Fn): InterceptorFn => { * @param fn - */ export const valueUpdater = (path: Path, fn: FnO): InterceptorFn => { - const $ = updater(path, fn); + const $ = defUpdaterUnsafe(path, fn); return (state, [_, ...args]) => ({ [FX_STATE]: $(state, ...args) }); }; From 3f5dd20d6c78abcc34b1245dea35a4213c95d937 Mon Sep 17 00:00:00 2001 From: Karsten Schmidt Date: Tue, 24 Mar 2020 20:26:57 +0000 Subject: [PATCH 41/70] refactor(rstream-graph): update to new thi.ng/paths API --- packages/rstream-graph/src/api.ts | 4 +-- packages/rstream-graph/src/graph.ts | 16 ++++----- packages/rstream-graph/src/nodes/extract.ts | 4 +-- packages/rstream-graph/test/index.ts | 38 ++++++++++----------- 4 files changed, 31 insertions(+), 31 deletions(-) diff --git a/packages/rstream-graph/src/api.ts b/packages/rstream-graph/src/api.ts index 2e995f8a7f..d9b4237674 100644 --- a/packages/rstream-graph/src/api.ts +++ b/packages/rstream-graph/src/api.ts @@ -1,4 +1,4 @@ -import type { Fn, IObjectOf, Path } from "@thi.ng/api"; +import type { Fn, IObjectOf, Path, NumOrString } from "@thi.ng/api"; import type { ResolveFn } from "@thi.ng/resolve-map"; import type { ISubscribable } from "@thi.ng/rstream"; import type { Transducer } from "@thi.ng/transducers"; @@ -112,5 +112,5 @@ export type NodeOutputSpec = Path | NodeOutputFn; export type NodeOutputFn = ( node: ISubscribable, - id: PropertyKey + id: NumOrString ) => ISubscribable; diff --git a/packages/rstream-graph/src/graph.ts b/packages/rstream-graph/src/graph.ts index 1729f66f32..9185160af9 100644 --- a/packages/rstream-graph/src/graph.ts +++ b/packages/rstream-graph/src/graph.ts @@ -1,16 +1,16 @@ import { isFunction, isPlainObject, isString } from "@thi.ng/checks"; import { illegalArgs } from "@thi.ng/errors"; -import { getIn } from "@thi.ng/paths"; +import { getInUnsafe } from "@thi.ng/paths"; import { absPath, resolve, ResolveFn } from "@thi.ng/resolve-map"; +import { CloseMode } from "@thi.ng/rstream"; +import { map, Transducer } from "@thi.ng/transducers"; import { fromIterableSync, fromView, ISubscribable, StreamSync, - sync + sync, } from "@thi.ng/rstream"; -import { CloseMode } from "@thi.ng/rstream/api"; -import { map, Transducer } from "@thi.ng/transducers"; import type { IObjectOf, Tuple } from "@thi.ng/api"; import type { IAtom } from "@thi.ng/atom"; import type { @@ -22,7 +22,7 @@ import type { NodeInputSpec, NodeOutputs, NodeOutputSpec, - NodeSpec + NodeSpec, } from "./api"; /** @@ -152,7 +152,7 @@ const prepareNodeOutputs = ( res[id] = ((path) => node.subscribe( { - next: (x) => state.resetIn(path, x) + next: (x) => state.resetIn(path, x), }, { id: `out-${nodeID}` } ))(o); @@ -160,7 +160,7 @@ const prepareNodeOutputs = ( res[id] = ((path, id) => node.subscribe( { - next: (x) => state.resetIn(path, x) + next: (x) => state.resetIn(path, x), }, map((x) => (x != null ? x[id] : x)), { id: `out-${nodeID}-${id}` } @@ -191,7 +191,7 @@ export const addNode = ( state, spec, id - )((path) => getIn(graph, absPath([id], path)))); + )((path) => getInUnsafe(graph, absPath([id], path)))); }; /** diff --git a/packages/rstream-graph/src/nodes/extract.ts b/packages/rstream-graph/src/nodes/extract.ts index 25f9cee2f1..15ec620fe4 100644 --- a/packages/rstream-graph/src/nodes/extract.ts +++ b/packages/rstream-graph/src/nodes/extract.ts @@ -1,4 +1,4 @@ -import { getIn } from "@thi.ng/paths"; +import { getInUnsafe } from "@thi.ng/paths"; import { map } from "@thi.ng/transducers"; import { node1 } from "../graph"; import type { Path } from "@thi.ng/api"; @@ -14,6 +14,6 @@ import type { NodeFactory } from "../api"; */ export const extract = (path: Path, inputID?: string): NodeFactory => node1( - map((x) => getIn(x, path)), + map((x) => getInUnsafe(x, path)), inputID ); diff --git a/packages/rstream-graph/test/index.ts b/packages/rstream-graph/test/index.ts index 6a28cf4045..b3d1221e1c 100644 --- a/packages/rstream-graph/test/index.ts +++ b/packages/rstream-graph/test/index.ts @@ -7,64 +7,64 @@ import * as rsg from "../src"; describe("rstream-graph", () => { it("basic", (done) => { const acc: number[] = []; - const state = new Atom({ a: 1, b: 2 }); + const state = new Atom({ a: 1, b: 2 }); const graph = rsg.initGraph(state, { foo: () => ({ node: rs.fromIterable([2]), ins: {}, - outs: {} + outs: {}, }), bar: ($) => ({ node: $("/foo/node").transform(map((x: number) => x * 10)), ins: {}, - outs: {} + outs: {}, }), add: { fn: rsg.add, ins: { a: { path: "a" }, - b: { path: "b" } + b: { path: "b" }, }, outs: { - alt: (n) => n.subscribe({}) // identical to main out, testing only - } + alt: (n) => n.subscribe({}), // identical to main out, testing only + }, }, mul: { fn: rsg.mul, ins: { a: { stream: "/add/outs/alt" }, b: { stream: () => rs.fromIterable([10, 20, 30]) }, - c: { stream: "/bar/node" } + c: { stream: "/bar/node" }, }, outs: { baz: (n, id) => n.subscribe({ - next: (x) => state.resetIn(["foo", id], x) - }) - } + next: (x) => state.resetInUnsafe(["foo", id], x), + }), + }, }, res: { ins: { - src: { stream: "/mul/node" } + src: { stream: "/mul/node" }, }, fn: rsg.node1(map((x: number) => ({ x: x, x2: x * 2 }))), outs: { - "*": "res" - } + "*": "res", + }, }, res2: { ins: { - src: { stream: "/res/node" } + src: { stream: "/res/node" }, }, fn: rsg.node1(), outs: { - x: "res2.x" - } - } + x: "res2.x", + }, + }, }); graph.mul.node.subscribe({ next: (x) => acc.push(x) }); setTimeout(() => { - state.resetIn("a", 10); + state.resetIn(["a"], 10); // console.log(graph); assert.deepEqual(acc, [600, 1200, 1800, 7200]); assert.deepEqual(state.deref(), { @@ -72,7 +72,7 @@ describe("rstream-graph", () => { b: 2, foo: { baz: 7200 }, res: { x: 7200, x2: 14400 }, - res2: { x: 7200 } + res2: { x: 7200 }, }); done(); }, 30); From dcf929da6cbccd49c11328f3eb9af62eda51e9e7 Mon Sep 17 00:00:00 2001 From: Karsten Schmidt Date: Tue, 24 Mar 2020 20:27:37 +0000 Subject: [PATCH 42/70] refactor(transducers-patch): update to new thi.ng/paths API --- packages/transducers-patch/src/patch-obj.ts | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/packages/transducers-patch/src/patch-obj.ts b/packages/transducers-patch/src/patch-obj.ts index e223e1e3dd..890da048a7 100644 --- a/packages/transducers-patch/src/patch-obj.ts +++ b/packages/transducers-patch/src/patch-obj.ts @@ -1,5 +1,5 @@ import { illegalArgs } from "@thi.ng/errors"; -import { deleteIn, setIn, updateIn } from "@thi.ng/paths"; +import { deleteInUnsafe, setInUnsafe, updateInUnsafe } from "@thi.ng/paths"; import { reducer, Reducer } from "@thi.ng/transducers"; import { reduce } from "@thi.ng/transducers"; import { isNumber } from "util"; @@ -20,11 +20,11 @@ export function patchObj(init?: any, patches?: Iterable) { const edit = (acc: any, x: PatchObjOp) => { switch (x[0]) { case Patch.SET: - return setIn(acc, x[1], x[2]); + return setInUnsafe(acc, x[1], x[2]); case Patch.UPDATE: - return updateIn(acc, x[1], x[2], ...x.slice(3)); + return updateInUnsafe(acc, x[1], x[2], ...x.slice(3)); case Patch.DELETE: - return deleteIn(acc, x[1]); + return deleteInUnsafe(acc, x[1]); default: illegalArgs(`patch op: ${x}`); } From 90a81e5f60b331a919494a1a7e3afff6dbad354b Mon Sep 17 00:00:00 2001 From: Karsten Schmidt Date: Tue, 24 Mar 2020 21:04:16 +0000 Subject: [PATCH 43/70] refactor(examples): update all call sites to new thi.ng/paths API --- examples/adaptive-threshold/src/events.ts | 18 ++-- examples/hdom-dropdown-fuzzy/src/dropdown.ts | 26 +++--- examples/hdom-dropdown-fuzzy/src/input.ts | 18 ++-- examples/hdom-dropdown/src/dropdown.ts | 22 +++-- examples/hdom-elm/src/index.ts | 14 +-- examples/hdom-localstate/src/index.ts | 12 +-- examples/hdom-theme-adr-0003/src/index.ts | 64 ++++++------- examples/imgui/src/index.ts | 96 ++++++++++---------- examples/package-stats/src/size-chart.ts | 20 ++-- examples/rstream-event-loop/src/events.ts | 10 +- examples/rstream-grid/src/config.ts | 28 +++--- examples/rstream-spreadsheet/src/state.ts | 26 +++--- examples/todo-list/src/index.ts | 13 +-- examples/triple-query/src/handlers.ts | 69 +++++++------- 14 files changed, 222 insertions(+), 214 deletions(-) diff --git a/examples/adaptive-threshold/src/events.ts b/examples/adaptive-threshold/src/events.ts index b87846a91c..3e76a00cf3 100644 --- a/examples/adaptive-threshold/src/events.ts +++ b/examples/adaptive-threshold/src/events.ts @@ -1,4 +1,4 @@ -import { setInT } from "@thi.ng/paths"; +import { setIn } from "@thi.ng/paths"; import { GRAY8, PackedBuffer } from "@thi.ng/pixel"; import { ISubscriber, @@ -6,6 +6,8 @@ import { stream, trace } from "@thi.ng/rstream"; +import { state } from "./state"; +import { adaptiveThreshold } from "./threshold"; import { Event, EventType, @@ -13,10 +15,8 @@ import { SET_IMAGE, SET_KERNEL_OFFSET, SET_KERNEL_WIDTH, - UPDATE_IMAGE + UPDATE_IMAGE, } from "./api"; -import { state } from "./state"; -import { adaptiveThreshold } from "./threshold"; import type { Fn } from "@thi.ng/api"; import type { Transducer } from "@thi.ng/transducers"; @@ -63,7 +63,7 @@ export const defHandler = ( ) => { const sub: ISubscriber = { next: >handler, - error: console.warn + error: console.warn, }; return xform ? eventProc.subscribeTopic(id, {}, {}).subscribe(sub, xform) @@ -79,7 +79,7 @@ defHandler(SET_IMAGE, ([_, file]) => { img.src = e.target.result; await img.decode(); state.next( - setInT( + setIn( state.deref()!, ["srcImg"], PackedBuffer.fromImage(img, GRAY8) @@ -94,7 +94,7 @@ defHandler(UPDATE_IMAGE, () => { const curr = state.deref()!; // create & store threshold image in state state.next( - setInT( + setIn( curr, ["destImg"], adaptiveThreshold( @@ -107,11 +107,11 @@ defHandler(UPDATE_IMAGE, () => { }); defHandler(SET_KERNEL_WIDTH, ([_, width]) => { - state.next(setInT(state.deref()!, ["threshold", "windowSize"], width)); + state.next(setIn(state.deref()!, ["threshold", "windowSize"], width)); dispatch([UPDATE_IMAGE]); }); defHandler(SET_KERNEL_OFFSET, ([_, offset]) => { - state.next(setInT(state.deref()!, ["threshold", "offset"], offset)); + state.next(setIn(state.deref()!, ["threshold", "offset"], offset)); dispatch([UPDATE_IMAGE]); }); diff --git a/examples/hdom-dropdown-fuzzy/src/dropdown.ts b/examples/hdom-dropdown-fuzzy/src/dropdown.ts index 645f1a6349..cd0833e339 100644 --- a/examples/hdom-dropdown-fuzzy/src/dropdown.ts +++ b/examples/hdom-dropdown-fuzzy/src/dropdown.ts @@ -1,7 +1,7 @@ import { isString } from "@thi.ng/checks"; import { appLink } from "@thi.ng/hdom-components"; import { EV_SET_VALUE, EV_TOGGLE_VALUE, EventBus } from "@thi.ng/interceptors"; -import { getIn } from "@thi.ng/paths"; +import { getInUnsafe } from "@thi.ng/paths"; import type { Fn, IObjectOf, Path } from "@thi.ng/api"; import type { ReadonlyAtom } from "@thi.ng/atom"; @@ -43,11 +43,13 @@ export interface DropdownTheme { export function dropdown(themeCtxPath: Path) { return (ctx: any, opts: Partial) => { - const ui: DropdownTheme = getIn(ctx, themeCtxPath); - const state = opts.statePath ? getIn(ctx, opts.statePath) : opts.state; + const ui: DropdownTheme = getInUnsafe(ctx, themeCtxPath); + const state = opts.statePath + ? getInUnsafe(ctx, opts.statePath) + : opts.state; const hattribs = { onmouseover: opts.onmouseover, - onmouseleave: opts.onmouseleave + onmouseleave: opts.onmouseleave, }; return state.open ? [ @@ -57,7 +59,7 @@ export function dropdown(themeCtxPath: Path) { appLink, { ...hattribs, ...ui.itemSelected }, opts.ontoggle, - opts.openLabel || opts.hoverLabel + opts.openLabel || opts.hoverLabel, ], [ "div", @@ -70,12 +72,12 @@ export function dropdown(themeCtxPath: Path) { ? ui.itemSelected : ui.item), href: "#", - onclick: opts.onchange!(x[0]) + onclick: opts.onchange!(x[0]), }, - ...(isString(x[1]) ? [x[1]] : x[1]) + ...(isString(x[1]) ? [x[1]] : x[1]), ]) - : ["span", ui.itemDisabled, opts.noItems] - ] + : ["span", ui.itemDisabled, opts.noItems], + ], ] : [ "div", @@ -88,9 +90,9 @@ export function dropdown(themeCtxPath: Path) { ? opts.hoverLabel : (state.items.find( (x: any) => x[0] === state.selected - ) || [, opts.hoverLabel])[1] + ) || [, opts.hoverLabel])[1], ], - ["div", ui.bodyClosed] + ["div", ui.bodyClosed], ]; }; } @@ -109,5 +111,5 @@ export const dropdownListeners = ( [EV_SET_VALUE, [[...basePath, "selected"], x]], [EV_SET_VALUE, [[...basePath, "open"], false]] ); - } + }, }); diff --git a/examples/hdom-dropdown-fuzzy/src/input.ts b/examples/hdom-dropdown-fuzzy/src/input.ts index bddd35527d..3a52360c17 100644 --- a/examples/hdom-dropdown-fuzzy/src/input.ts +++ b/examples/hdom-dropdown-fuzzy/src/input.ts @@ -1,4 +1,4 @@ -import { getIn } from "@thi.ng/paths"; +import { getInUnsafe } from "@thi.ng/paths"; import type { Path } from "@thi.ng/api"; import type { IView } from "@thi.ng/atom"; @@ -23,7 +23,7 @@ export function cancelableInput(themeCtxPath: Path) { [ "input", { - ...getIn(ctx, themeCtxPath), + ...getInUnsafe(ctx, themeCtxPath), ...args.attribs, type: "text", oninput: args.oninput, @@ -43,8 +43,8 @@ export function cancelableInput(themeCtxPath: Path) { } }, placeholder: args.placeholder, - value: args.state - } + value: args.state, + }, ], args.onclear ? [ @@ -55,14 +55,14 @@ export function cancelableInput(themeCtxPath: Path) { e.stopPropagation(); input.focus(); args.onclear(e); - } + }, }, [ "i.absolute.fas.fa-times-circle.gray.f7", - { style: { right: "0.5rem", top: "0.25rem" } } - ] + { style: { right: "0.5rem", top: "0.25rem" } }, + ], ] - : undefined - ] + : undefined, + ], }; } diff --git a/examples/hdom-dropdown/src/dropdown.ts b/examples/hdom-dropdown/src/dropdown.ts index dde98b555f..5a800756c8 100644 --- a/examples/hdom-dropdown/src/dropdown.ts +++ b/examples/hdom-dropdown/src/dropdown.ts @@ -1,6 +1,6 @@ import { appLink } from "@thi.ng/hdom-components"; import { EV_SET_VALUE, EV_TOGGLE_VALUE, EventBus } from "@thi.ng/interceptors"; -import { getIn } from "@thi.ng/paths"; +import { getInUnsafe } from "@thi.ng/paths"; import type { Fn, IObjectOf, Path } from "@thi.ng/api"; import type { ReadonlyAtom } from "@thi.ng/atom"; @@ -37,11 +37,13 @@ export interface DropdownTheme { export function dropdown(themeCtxPath: Path) { return (ctx: any, opts: Partial) => { - const ui: DropdownTheme = getIn(ctx, themeCtxPath); - const state = opts.statePath ? getIn(ctx, opts.statePath) : opts.state; + const ui: DropdownTheme = getInUnsafe(ctx, themeCtxPath); + const state = opts.statePath + ? getInUnsafe(ctx, opts.statePath) + : opts.state; const hattribs = { onmouseover: opts.onmouseover, - onmouseleave: opts.onmouseleave + onmouseleave: opts.onmouseleave, }; return state.open ? [ @@ -51,7 +53,7 @@ export function dropdown(themeCtxPath: Path) { appLink, { ...hattribs, ...ui.itemSelected }, opts.ontoggle, - opts.hoverLabel + opts.hoverLabel, ], [ "div", @@ -65,8 +67,8 @@ export function dropdown(themeCtxPath: Path) { opts.onchange!(x[0]), x[1] ) - ) - ] + ), + ], ] : [ "div", @@ -79,9 +81,9 @@ export function dropdown(themeCtxPath: Path) { ? opts.hoverLabel : (state.items.find( (x: any) => x[0] === state.selected - ) || [, opts.hoverLabel])[1] + ) || [, opts.hoverLabel])[1], ], - ["div", ui.bodyClosed] + ["div", ui.bodyClosed], ]; }; } @@ -100,5 +102,5 @@ export const dropdownListeners = ( [EV_SET_VALUE, [[...basePath, "selected"], x]], [EV_SET_VALUE, [[...basePath, "open"], false]] ); - } + }, }); diff --git a/examples/hdom-elm/src/index.ts b/examples/hdom-elm/src/index.ts index 8aa45d2b71..1150051f19 100644 --- a/examples/hdom-elm/src/index.ts +++ b/examples/hdom-elm/src/index.ts @@ -1,4 +1,4 @@ -import { setInT, updateInT } from "@thi.ng/paths"; +import { setIn, updateIn } from "@thi.ng/paths"; import { Z3 } from "@thi.ng/strings"; import { DEC, @@ -11,21 +11,21 @@ import { mount } from "./elm"; mount( // state / model { - value: 0 + value: 0, }, // update / event processor (event, model) => { switch (event[0]) { case INC: - return updateInT(model, ["value"], (x) => + return updateIn(model, ["value"], (x) => Math.min(x + event[1], 100) ); case DEC: - return updateInT(model, ["value"], (x) => + return updateIn(model, ["value"], (x) => Math.max(x - event[1], 0) ); case RANDOM: - return setInT(model, ["value"], (Math.random() * 100) | 0); + return setIn(model, ["value"], (Math.random() * 100) | 0); case DEFER: setTimeout(() => event[1](), event[2]); break; @@ -40,8 +40,8 @@ mount( [ "div.mv2", ["button", { onclick: () => signal([DEC, 1])() }, "-"], - ["button", { onclick: () => signal([INC, 1])() }, "+"] - ] + ["button", { onclick: () => signal([INC, 1])() }, "+"], + ], ], // other event handlers (signal) => { diff --git a/examples/hdom-localstate/src/index.ts b/examples/hdom-localstate/src/index.ts index 1ee1502c82..6e0e92b2b6 100644 --- a/examples/hdom-localstate/src/index.ts +++ b/examples/hdom-localstate/src/index.ts @@ -1,5 +1,5 @@ import { start } from "@thi.ng/hdom"; -import { getIn, setIn } from "@thi.ng/paths"; +import { getInUnsafe, setInUnsafe } from "@thi.ng/paths"; interface ButtonAttribs { // unique button id / local state path @@ -16,10 +16,10 @@ const button = ( tooltip: string ) => { // attempt to read local state - let local = getIn(ctx.__local, attribs.id); + let local = getInUnsafe(ctx.__local, attribs.id); // create if not yet present if (!local) { - ctx.__local = setIn( + ctx.__local = setInUnsafe( ctx.__local, attribs.id, (local = { tooltip: false }) @@ -30,9 +30,9 @@ const button = ( { onclick: attribs.onclick, onmouseenter: () => (local.tooltip = true), - onmouseleave: () => (local.tooltip = false) + onmouseleave: () => (local.tooltip = false), }, - local.tooltip ? tooltip : label + local.tooltip ? tooltip : label, ]; }; @@ -42,7 +42,7 @@ const APP = [ // it will be used to lookup state in the hdom user context object // passed to each component function [button, { id: "button.help" }, "Help", "Whazzup?!"], - [button, { id: "button.logout" }, "Logout", "See ya!"] + [button, { id: "button.logout" }, "Logout", "See ya!"], ]; // start app and define context object skeleton diff --git a/examples/hdom-theme-adr-0003/src/index.ts b/examples/hdom-theme-adr-0003/src/index.ts index c5ec3d79b9..fae71f836a 100644 --- a/examples/hdom-theme-adr-0003/src/index.ts +++ b/examples/hdom-theme-adr-0003/src/index.ts @@ -1,5 +1,5 @@ import { start } from "@thi.ng/hdom"; -import { getIn } from "@thi.ng/paths"; +import { getInUnsafe } from "@thi.ng/paths"; import type { IObjectOf, Path } from "@thi.ng/api"; interface ButtonBehavior { @@ -45,28 +45,28 @@ const button = (themeCtxPath: Path, behavior?: Partial) => { behavior = { tag: "a", tagDisabled: "span", - ...behavior + ...behavior, }; behavior.attribs = { href: "#", role: "button", ...behavior.attribs }; // return component function as closure return (ctx: any, args: Partial, ...body: any[]) => { // lookup component theme config in context - const theme = getIn(ctx, themeCtxPath); + const theme = getInUnsafe(ctx, themeCtxPath); if (args.disabled) { return [ behavior!.tagDisabled, { ...behavior!.attribs, ...theme.disabled, - ...args + ...args, }, - ...body + ...body, ]; } else { const attribs = { ...behavior!.attribs, ...theme[args.selected ? "selected" : "default"], - ...args + ...args, }; if ( args && @@ -85,53 +85,53 @@ const button = (themeCtxPath: Path, behavior?: Partial) => { const link = (ctx: any, href: string, body: any) => [ "a", { ...ctx.theme.link, href }, - body + body, ]; const lightTheme = { id: "light", body: { - class: "vh-100 bg-white dark-gray pa3 sans-serif" + class: "vh-100 bg-white dark-gray pa3 sans-serif", }, link: { - class: "link dim b black" + class: "link dim b black", }, button: { default: { class: - "dib link mr2 ph3 pv2 bg-lightest-blue blue hover-bg-blue hover-white bg-animate br-pill" + "dib link mr2 ph3 pv2 bg-lightest-blue blue hover-bg-blue hover-white bg-animate br-pill", }, selected: { class: - "dib link mr2 ph3 pv2 bg-gold washed-yellow hover-bg-orange hover-gold bg-animate br-pill" + "dib link mr2 ph3 pv2 bg-gold washed-yellow hover-bg-orange hover-gold bg-animate br-pill", }, disabled: { - class: "dib mr2 ph3 pv2 bg-moon-gray gray br-pill" - } - } + class: "dib mr2 ph3 pv2 bg-moon-gray gray br-pill", + }, + }, }; const darkTheme = { id: "dark", body: { - class: "vh-100 bg-black moon-gray pa3 sans-serif" + class: "vh-100 bg-black moon-gray pa3 sans-serif", }, link: { - class: "link dim b light-silver" + class: "link dim b light-silver", }, button: { default: { class: - "dib link mr2 ph3 pv2 blue hover-lightest-blue hover-b--current br3 ba b--blue" + "dib link mr2 ph3 pv2 blue hover-lightest-blue hover-b--current br3 ba b--blue", }, selected: { class: - "dib link mr2 ph3 pv2 red hover-gold hover-b--current br3 ba b--red" + "dib link mr2 ph3 pv2 red hover-gold hover-b--current br3 ba b--red", }, disabled: { - class: "dib mr2 ph3 pv2 mid-gray br3 ba b--mid-gray" - } - } + class: "dib mr2 ph3 pv2 mid-gray br3 ba b--mid-gray", + }, + }, }; // source: https://fontawesome.com @@ -141,15 +141,15 @@ const icon = [ class: "mr1", width: "1rem", viewBox: "0 0 576 512", - fill: "currentcolor" + fill: "currentcolor", }, [ "path", { d: - "M576 24v127.984c0 21.461-25.96 31.98-40.971 16.971l-35.707-35.709-243.523 243.523c-9.373 9.373-24.568 9.373-33.941 0l-22.627-22.627c-9.373-9.373-9.373-24.569 0-33.941L442.756 76.676l-35.703-35.705C391.982 25.9 402.656 0 424.024 0H552c13.255 0 24 10.745 24 24zM407.029 270.794l-16 16A23.999 23.999 0 0 0 384 303.765V448H64V128h264a24.003 24.003 0 0 0 16.97-7.029l16-16C376.089 89.851 365.381 64 344 64H48C21.49 64 0 85.49 0 112v352c0 26.51 21.49 48 48 48h352c26.51 0 48-21.49 48-48V287.764c0-21.382-25.852-32.09-40.971-16.97z" - } - ] + "M576 24v127.984c0 21.461-25.96 31.98-40.971 16.971l-35.707-35.709-243.523 243.523c-9.373 9.373-24.568 9.373-33.941 0l-22.627-22.627c-9.373-9.373-9.373-24.569 0-33.941L442.756 76.676l-35.703-35.705C391.982 25.9 402.656 0 424.024 0H552c13.255 0 24 10.745 24 24zM407.029 270.794l-16 16A23.999 23.999 0 0 0 384 303.765V448H64V128h264a24.003 24.003 0 0 0 16.97-7.029l16-16C376.089 89.851 365.381 64 344 64H48C21.49 64 0 85.49 0 112v352c0 26.51 21.49 48 48 48h352c26.51 0 48-21.49 48-48V287.764c0-21.382-25.852-32.09-40.971-16.97z", + }, + ], ]; const ctx = { theme: darkTheme }; @@ -160,7 +160,7 @@ const toggleTheme = () => { const bt = button("theme.button"); const btFixed = button("theme.button", { - attribs: { style: { width: "8rem" } } + attribs: { style: { width: "8rem" } }, }); const app = (ctx: any) => [ @@ -173,7 +173,7 @@ const app = (ctx: any) => [ [bt, { onclick: toggleTheme }, "Toggle"], [bt, { href: "https://github.com/thi-ng/umbrella" }, icon, "External"], [btFixed, { onclick: () => alert("hi"), selected: true }, "Selected"], - [btFixed, { disabled: true }, "Disabled"] + [btFixed, { disabled: true }, "Disabled"], ], [ "p", @@ -181,18 +181,18 @@ const app = (ctx: any) => [ [ link, "https://github.com/thi-ng/umbrella/blob/master/packages/hdom-components/adr/0003-component-configuration-via-context.md", - "ADR-0003" + "ADR-0003", ], - " for details of this approach." + " for details of this approach.", ], [ "p", [ link, "https://github.com/thi-ng/umbrella/blob/master/examples/hdom-theme-adr-0003", - "Source" - ] - ] + "Source", + ], + ], ]; start(app, { ctx }); diff --git a/examples/imgui/src/index.ts b/examples/imgui/src/index.ts index c34b093650..5b15bcc63b 100644 --- a/examples/imgui/src/index.ts +++ b/examples/imgui/src/index.ts @@ -3,6 +3,29 @@ import { timedResult } from "@thi.ng/bench"; import { line, normalizedPath, pathFromSvg } from "@thi.ng/geom"; import { canvas } from "@thi.ng/hdom-canvas"; import { DOWNLOAD, RESTART } from "@thi.ng/hiccup-carbon-icons"; +import { gridLayout, GridLayout, layoutBox } from "@thi.ng/layout"; +import { clamp, PI } from "@thi.ng/math"; +import { setInManyUnsafe } from "@thi.ng/paths"; +import { gestureStream } from "@thi.ng/rstream-gestures"; +import { float } from "@thi.ng/strings"; +import { + comp, + iterator, + map, + mapcat, + step +} from "@thi.ng/transducers"; +import { updateDOM } from "@thi.ng/transducers-hdom"; +import { sma } from "@thi.ng/transducers-stats"; +import { + add2, + hash, + min2, + setC2, + Vec, + vecOf, + ZERO2 +} from "@thi.ng/vectors"; import { buttonH, buttonV, @@ -25,39 +48,16 @@ import { textLabel, textLabelRaw, toggle, - xyPad + xyPad, } from "@thi.ng/imgui"; -import { gridLayout, GridLayout, layoutBox } from "@thi.ng/layout"; -import { clamp, PI } from "@thi.ng/math"; -import { setInMany } from "@thi.ng/paths"; import { fromAtom, fromDOMEvent, fromRAF, merge, sidechainPartition, - sync + sync, } from "@thi.ng/rstream"; -import { gestureStream } from "@thi.ng/rstream-gestures"; -import { float } from "@thi.ng/strings"; -import { - comp, - iterator, - map, - mapcat, - step -} from "@thi.ng/transducers"; -import { updateDOM } from "@thi.ng/transducers-hdom"; -import { sma } from "@thi.ng/transducers-stats"; -import { - add2, - hash, - min2, - setC2, - Vec, - vecOf, - ZERO2 -} from "@thi.ng/vectors"; // define theme colors in RGBA format for future compatibility with // WebGL backend @@ -77,8 +77,8 @@ const THEMES: Partial[] = [ textDisabled: [0.3, 0.3, 0.3, 0.5], textHover: [0.2, 0.2, 0.4, 1], bgTooltip: [1, 1, 0.8, 0.85], - textTooltip: [0, 0, 0, 1] - } + textTooltip: [0, 0, 0, 1], + }, ]; // float value formatters @@ -104,7 +104,7 @@ const mkIcon = (icon: any[]) => [ map(normalizedPath) ), icon.slice(2) - ) + ), ]; // icon definitions (from @thi.ng/hiccup-carbon-icons) @@ -124,7 +124,7 @@ const DB = new History( txt: "Hello there! This is a test, do not panic!", toggles: new Array(12).fill(false), flags: [true, false], - radio: 0 + radio: 0, }), // max. 500 undo steps 500 @@ -134,7 +134,7 @@ const DB = new History( const themeForID = (theme: number): Partial => ({ ...THEMES[theme % THEMES.length], font: FONT, - cursorBlink: 0 + cursorBlink: 0, }); // state update handler for `rgb` value @@ -176,7 +176,7 @@ const app = () => { gestureStream(canv, {}).subscribe({ next(e) { gui.setMouse(e.pos, e.buttons); - } + }, }), // keydown & undo/redo handler: // Ctrl/Command + Z = undo @@ -194,12 +194,12 @@ const app = () => { } else { gui.setKey(e); } - } + }, }), fromDOMEvent(window, "keyup").subscribe({ next(e) { gui.setKey(e); - } + }, }), fromDOMEvent(window, "resize").subscribe({ next() { @@ -212,12 +212,12 @@ const app = () => { DB.swapIn(["pos"], (pos: Vec) => min2([], pos, size) ); - } - }) - ] + }, + }), + ], }) ); - } + }, }; // main GUI update function @@ -414,15 +414,15 @@ const app = () => { from: radialPos, to: radialPos, r1: 5, - r2: 300 + r2: 300, }, [ [0, [1, 1, 1, 0.8]], [0.5, [1, 1, 1, 0.66]], - [1, [1, 1, 1, 0]] - ] + [1, [1, 1, 1, 0]], + ], ], - ["circle", { fill: "$shadow" }, radialPos, 300] + ["circle", { fill: "$shadow" }, radialPos, 300], ]) ); let res: number | undefined; @@ -438,7 +438,7 @@ const app = () => { )) !== undefined ) { DB.swap((db) => - setInMany(db, "uiMode", res, "uiVisible", true) + setInManyUnsafe(db, ["uiMode"], res, ["uiVisible"], true) ); } gui.add( @@ -520,7 +520,7 @@ const app = () => { height, style: { background: gui.theme.globalBg, cursor: gui.cursor }, oncontextmenu: (e: Event) => e.preventDefault(), - ...gui.attribs + ...gui.attribs, }, // GUI resize border line line([maxW, 0], [maxW, height], { stroke: "#000" }), @@ -530,13 +530,13 @@ const app = () => { transform: [0, -1, 1, 0, maxW + 12, height / 2], fill: "#000", font: FONT, - align: "center" + align: "center", }, [0, 0], - "DRAG TO RESIZE" + "DRAG TO RESIZE", ], // IMGUI implements IToHiccup interface so just supply as is - gui + gui, ]; }; }; @@ -548,8 +548,8 @@ const app = () => { // updates on demand... const main = sync({ src: { - state: fromAtom(DB) - } + state: fromAtom(DB), + }, }); // transform the stream: diff --git a/examples/package-stats/src/size-chart.ts b/examples/package-stats/src/size-chart.ts index f4dc0d82b3..bdf2ba99ed 100644 --- a/examples/package-stats/src/size-chart.ts +++ b/examples/package-stats/src/size-chart.ts @@ -1,7 +1,9 @@ import { serialize } from "@thi.ng/hiccup"; import { group, text } from "@thi.ng/hiccup-svg"; -import { getter } from "@thi.ng/paths"; +import { defGetterUnsafe } from "@thi.ng/paths"; import { bytes } from "@thi.ng/strings"; +import * as fs from "fs"; +import { barChart, labeledTickX, labeledTickY } from "./viz"; import { comp, filter, @@ -10,10 +12,8 @@ import { mapIndexed, max, push, - transduce + transduce, } from "@thi.ng/transducers"; -import * as fs from "fs"; -import { barChart, labeledTickX, labeledTickY } from "./viz"; const BASE_DIR = "../../packages/"; @@ -34,7 +34,7 @@ fs.writeFileSync( console.log(meta.length); const fileSizeChart = (stats: any, modType: string, type: string) => { - const get = getter([1, modType, type]); + const get = defGetterUnsafe([1, modType, type]); stats = [...stats].sort((a, b) => get(b) - get(a)); const width = stats.length * 16; @@ -54,23 +54,23 @@ const fileSizeChart = (stats: any, modType: string, type: string) => { width: width, height: 260, "font-size": "10px", - "font-family": "Iosevka-Term-Light, Menlo, sans-serif" + "font-family": "Iosevka-Term-Light, Menlo, sans-serif", }, x: { axis: [80, width - 15, 170], domain: [0, stats.length, 1], range: [80, width - 5], ticks: [...map((x: any) => x[0], stats)], - label: labeledTickX + label: labeledTickX, }, y: { axis: [170, 10, 65], domain: [0, maxSize, 5 * 1024], range: [160, 20], - label: labeledTickY(width - 15, bytes) + label: labeledTickY(width - 15, bytes), }, axis: "#666", - fill: "#0cc" + fill: "#0cc", }, mapIndexed((i, m) => [i, get(m)], stats), group( @@ -80,7 +80,7 @@ const fileSizeChart = (stats: any, modType: string, type: string) => { `@thi.ng/umbrella package sizes (${modType.toUpperCase()})` ), text([width / 2 + 40, 56], `(minified + gzipped)`) - ) + ), ]) ); }; diff --git a/examples/rstream-event-loop/src/events.ts b/examples/rstream-event-loop/src/events.ts index f4585d1c4c..a8c738d468 100644 --- a/examples/rstream-event-loop/src/events.ts +++ b/examples/rstream-event-loop/src/events.ts @@ -1,4 +1,4 @@ -import { setInMany } from "@thi.ng/paths"; +import { setInManyUnsafe } from "@thi.ng/paths"; import { ISubscriber, pubsub, @@ -60,7 +60,7 @@ export const defHandler = ( ) => { const sub: ISubscriber = { next: >handler, - error: console.warn + error: console.warn, }; return xform ? eventProc.subscribeTopic(id, {}, {}).subscribe(sub, xform) @@ -84,7 +84,7 @@ const requestPage = (offset: number) => { const timeoutID = setTimeout(() => dispatch([PAGE_READY]), 250); // IMMUTABLY(!) update app state state.next( - setInMany( + setInManyUnsafe( curr, "nextPageID", curr.pageID + offset, @@ -117,5 +117,7 @@ defHandler( defHandler(PAGE_READY, () => { const curr = state.deref()!; // apply `nextPageID` and clear preload flag - state.next(setInMany(curr, "pageID", curr.nextPageID, "isLoading", false)); + state.next( + setInManyUnsafe(curr, "pageID", curr.nextPageID, "isLoading", false) + ); }); diff --git a/examples/rstream-grid/src/config.ts b/examples/rstream-grid/src/config.ts index 3f5b140d8a..1db3d7edd7 100644 --- a/examples/rstream-grid/src/config.ts +++ b/examples/rstream-grid/src/config.ts @@ -1,7 +1,7 @@ import { download } from "@thi.ng/dl-asset"; import { serialize } from "@thi.ng/hiccup"; import { snapshot, valueSetter } from "@thi.ng/interceptors"; -import { getIn } from "@thi.ng/paths"; +import { getInUnsafe } from "@thi.ng/paths"; import { fromIterable } from "@thi.ng/rstream"; import { range } from "@thi.ng/transducers"; import { main } from "./components/main"; @@ -38,8 +38,10 @@ export const CONFIG: AppConfig = { {} ), [ev.UPDATE_SVG]: [valueSetter(paths.SVG)], - [ev.SAVE_SVG]: (state) => ({ [fx.SAVE_SVG]: getIn(state, paths.SVG) }), - [ev.SAVE_ANIM]: () => ({ [fx.SAVE_ANIM]: true }) + [ev.SAVE_SVG]: (state) => ({ + [fx.SAVE_SVG]: getInUnsafe(state, paths.SVG), + }), + [ev.SAVE_ANIM]: () => ({ [fx.SAVE_ANIM]: true }), }, // custom side effects @@ -59,8 +61,8 @@ export const CONFIG: AppConfig = { next: (x) => { bus.dispatch([ev.SET_THETA, x]); bus.dispatchLater([ev.SAVE_SVG]); - } - }) + }, + }), }, rootComponent: main, @@ -74,8 +76,8 @@ export const CONFIG: AppConfig = { cols: 5, rows: 5, theta: 35, - stroke: 0.3 - } + stroke: 0.3, + }, }, // derived view declarations @@ -89,7 +91,7 @@ export const CONFIG: AppConfig = { rows: paths.ROWS, stroke: paths.STROKE, theta: paths.THETA, - svg: paths.SVG + svg: paths.SVG, }, // component CSS class config using http://tachyons.io/ @@ -97,7 +99,7 @@ export const CONFIG: AppConfig = { // as part of the AppContext object ui: { button: { - class: `pointer bg-${FG_COL} hover-bg-${LINK_COL} bg-animate black pa2 mr1 w-100 ttu b tracked-tight` + class: `pointer bg-${FG_COL} hover-bg-${LINK_COL} bg-animate black pa2 mr1 w-100 ttu b tracked-tight`, }, buttongroup: { class: "flex mb1" }, footer: { class: "absolute bottom-1" }, @@ -105,13 +107,13 @@ export const CONFIG: AppConfig = { root: { class: "vw-100 vh-100 flex" }, sidebar: { root: { class: `bg-near-black pa2 pt3 w5 f7 ${FG_COL}` }, - title: { class: `mt0 ${FG_COL}` } + title: { class: `mt0 ${FG_COL}` }, }, slider: { root: { class: `mb3 ttu b tracked-tight ${FG_COL}` }, range: { class: "w-100" }, label: { class: "pl2" }, - number: { class: `fr w3 tr ttu bn bg-transparent ${FG_COL}` } - } - } + number: { class: `fr w3 tr ttu bn bg-transparent ${FG_COL}` }, + }, + }, }; diff --git a/examples/rstream-spreadsheet/src/state.ts b/examples/rstream-spreadsheet/src/state.ts index 20a424078e..9f2967fe42 100644 --- a/examples/rstream-spreadsheet/src/state.ts +++ b/examples/rstream-spreadsheet/src/state.ts @@ -1,16 +1,16 @@ import { Atom } from "@thi.ng/atom"; -import { setIn, setInMany } from "@thi.ng/paths"; +import { setIn, setInManyUnsafe } from "@thi.ng/paths"; import { Node, removeNode } from "@thi.ng/rstream-graph"; import { charRange } from "@thi.ng/strings"; +import { Cell, MAX_COL, NUM_ROWS } from "./api"; +import { $eval } from "./dsl"; import { assocObj, map, permutations, range, - transduce + transduce, } from "@thi.ng/transducers"; -import { Cell, MAX_COL, NUM_ROWS } from "./api"; -import { $eval } from "./dsl"; import type { IObjectOf } from "@thi.ng/api"; /** @@ -29,8 +29,8 @@ export const DB = new Atom>( value: "", backup: "", focus: false, - error: "" - } + error: "", + }, ] ), assocObj(), @@ -52,7 +52,7 @@ export const removeCell = (id: string) => removeNode(graph, id); */ export const focusCell = (id: string) => { DB.swapIn([id], (cell) => - setInMany(cell, "focus", true, "backup", cell.formula) + setInManyUnsafe(cell, "focus", true, "backup", cell.formula) ); }; @@ -62,7 +62,7 @@ export const focusCell = (id: string) => { * @param id */ export const blurCell = (id: string) => { - DB.swapIn([id], (cell) => setIn(cell, "focus", false)); + DB.swapIn([id], (cell) => setIn(cell, ["focus"], false)); }; /** @@ -72,7 +72,7 @@ export const blurCell = (id: string) => { */ export const cancelCell = (id: string) => { DB.swapIn([id], (cell) => - setInMany(cell, "focus", false, "formula", cell.backup) + setInManyUnsafe(cell, "focus", false, "formula", cell.backup) ); }; @@ -87,17 +87,17 @@ export const cancelCell = (id: string) => { */ export const updateCell = (id: string, val: string) => { if (val.startsWith("(")) { - DB.resetIn([id, "formula"], val); + DB.resetIn([id, "formula"], val); try { $eval(val, id); - DB.resetIn([id, "error"], null); + DB.resetIn([id, "error"], null); } catch (e) { - DB.resetIn([id, "error"], e.message); + DB.resetIn([id, "error"], e.message); } } else { removeCell(id); DB.swapIn([id], (cell) => - setInMany(cell, "value", val, "formula", "", "error", null) + setInManyUnsafe(cell, "value", val, "formula", "", "error", null) ); } }; diff --git a/examples/todo-list/src/index.ts b/examples/todo-list/src/index.ts index 797789a347..e0c7f17e59 100644 --- a/examples/todo-list/src/index.ts +++ b/examples/todo-list/src/index.ts @@ -5,7 +5,6 @@ import { defView } from "@thi.ng/atom"; import { start } from "@thi.ng/hdom"; -import { setIn, updateIn } from "@thi.ng/paths"; import { map, pairs } from "@thi.ng/transducers"; import type { IObjectOf } from "@thi.ng/api"; @@ -36,17 +35,11 @@ const items = defView(db, ["tasks"], (tasks: Tasks) => [ // each applies its updates via the history atom wrapper // the `atom.setter` calls produce an immutable update function for given paths const addNewTask = () => - tasks.swap((tasks) => - setIn( - tasks, - nextID.swap((id) => id + 1), - { body: "", done: false } - ) - ); + tasks.resetIn([nextID.swap((id) => id + 1)], { body: "", done: false }); const toggleTask = (id: string) => - tasks.swap((tasks) => updateIn(tasks, [id, "done"], (done) => !done)); + tasks.swapIn([id, "done"], (done) => !done); const updateTask = (id: string, body: string) => - tasks.swap((tasks) => setIn(tasks, [id, "body"], body)); + tasks.resetIn([id, "body"], body); // single task component const taskItem = (id: string, task: Task): any[] => { diff --git a/examples/triple-query/src/handlers.ts b/examples/triple-query/src/handlers.ts index 1eee721a36..bbb9ac4ad2 100644 --- a/examples/triple-query/src/handlers.ts +++ b/examples/triple-query/src/handlers.ts @@ -1,23 +1,23 @@ import { compare } from "@thi.ng/compare"; +import { getIn, setIn } from "@thi.ng/paths"; +import * as fx from "./effects"; +import * as ev from "./events"; import { dispatchNow, EffectDef, EventDef, FX_DISPATCH_NOW, FX_STATE, - valueSetter + valueSetter, } from "@thi.ng/interceptors"; -import { getIn, setIn } from "@thi.ng/paths"; import { comp, iterator, mapIndexed, padLast, page, - repeat + repeat, } from "@thi.ng/transducers"; -import * as fx from "./effects"; -import * as ev from "./events"; import type { IObjectOf } from "@thi.ng/api"; import type { Triple } from "@thi.ng/rstream-query"; import type { AppInterceptorContext } from "./api"; @@ -30,25 +30,26 @@ export const EVENTS: IObjectOf = { [id, "type", "country"], [id, "name", name], [id, "partOf", region], - [region, "type", "region"] - ] + [region, "type", "region"], + ], }), [ev.ADD_CITY]: (_, [__, [city, countryID]]) => ({ [fx.ADD_TRIPLE]: [ [city, "type", "city"], - [city, "locatedIn", countryID] - ] + [city, "locatedIn", countryID], + ], }), [ev.SET_SORT]: (state, [_, i]) => { - const sort = getIn(state, "sort"); + const sort = getIn(state, ["sort"]); return { - [FX_STATE]: setIn(state, "sort", [ - i, - sort[0] === i ? !sort[1] : false - ]), - [FX_DISPATCH_NOW]: [ev.UPDATE_PAGE] + [FX_STATE]: setIn( + state, + ["sort"], + [i, sort[0] === i ? !sort[1] : false] + ), + [FX_DISPATCH_NOW]: [ev.UPDATE_PAGE], }; }, @@ -58,27 +59,33 @@ export const EVENTS: IObjectOf = { const maxPage = Math.floor( Math.max(0, ctx.store.triples.length - 1) / PAGE_LEN ); - let curr = getIn(state, "page"); - let sort = getIn(state, "sort"); + let curr = getIn(state, ["page"]); + let sort = getIn(state, ["sort"]); if (curr > maxPage) { - state = setIn(state, "page", (curr = maxPage)); + state = setIn(state, ["page"], (curr = maxPage)); } return { - [FX_STATE]: setIn(state, "pagedTriples", [ - ...iterator( - comp( - page(curr, PAGE_LEN), - mapIndexed( - (i, x: Triple) => [i + 1, ...x], - curr * PAGE_LEN + [FX_STATE]: setIn( + state, + ["pagedTriples"], + [ + ...iterator( + comp( + page(curr, PAGE_LEN), + mapIndexed( + (i, x: Triple) => [i + 1, ...x], + curr * PAGE_LEN + ), + padLast(PAGE_LEN, [...repeat("\u00a0", 4)]) ), - padLast(PAGE_LEN, [...repeat("\u00a0", 4)]) + ctx.store.triples + .slice() + .sort(comparator.apply(null, sort)) ), - ctx.store.triples.slice().sort(comparator.apply(null, sort)) - ) - ]) + ] + ), }; - } + }, }; export const EFFECTS: IObjectOf = { @@ -89,7 +96,7 @@ export const EFFECTS: IObjectOf = { [fx.REMOVE_TRIPLE]: (triple: Triple, bus, ctx: AppInterceptorContext) => { ctx.store.delete(triple); bus.dispatch([ev.UPDATE_PAGE]); - } + }, }; const comparator = (i: number, rev: boolean) => From 95f15765435e877aa92a66ac64933a962fbd2db5 Mon Sep 17 00:00:00 2001 From: Karsten Schmidt Date: Tue, 24 Mar 2020 21:04:50 +0000 Subject: [PATCH 44/70] feat(api): add Derefed & DerefedKeys types --- packages/api/src/api/deref.ts | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/packages/api/src/api/deref.ts b/packages/api/src/api/deref.ts index 0cc940bd80..4923314268 100644 --- a/packages/api/src/api/deref.ts +++ b/packages/api/src/api/deref.ts @@ -1,3 +1,5 @@ +import type { IObjectOf } from "./object"; + /** * Generic interface for reference types (value wrappers). */ @@ -7,3 +9,34 @@ export interface IDeref { */ deref(): T; } + +/** + * If `T` is a {@link IDeref}, returns its value type or else `T`. + */ +export type Derefed = T extends IDeref ? ReturnType : T; + +/** + * Constructs a type with a set of properties `K` of type `T` and + * attempts to resolve each given key via {@link Derefed}. + * + * @example + * ```ts + * interface Foo { + * a: IDeref; + * b: IDeref; + * c: { d: number }; + * } + * + * type Foo2 = DerefedKeys; + * // { a: string; b: number; c: { d: number; } } + * + * type Foo3 = DerefedKeys; + * // { b: number; } + * ``` + */ +export type DerefedKeys< + T extends IObjectOf, + K extends keyof T = keyof T +> = { + [P in K]: Derefed; +}; From f5df4abbdaa82e666b9fcea9135a6e3d2f563666 Mon Sep 17 00:00:00 2001 From: Karsten Schmidt Date: Wed, 25 Mar 2020 13:04:31 +0000 Subject: [PATCH 45/70] feat(rstream): update/rename fromView() BREAKING CHANGE: update/rename fromView(), add fromViewUnsafe() - fromView() now performs type checking on given path and/or view transform - existing `fromView()` renamed to `fromViewUnsafe()` (this is in line w/ related updates in thi.ng/atom & thi.ng/paths pkgs) --- packages/rstream/src/from/atom.ts | 4 +- packages/rstream/src/from/view.ts | 143 ++++++++++++++++++++++----- packages/rstream/test/stream-sync.ts | 46 ++++----- 3 files changed, 146 insertions(+), 47 deletions(-) diff --git a/packages/rstream/src/from/atom.ts b/packages/rstream/src/from/atom.ts index 926b3d7847..8ba5584303 100644 --- a/packages/rstream/src/from/atom.ts +++ b/packages/rstream/src/from/atom.ts @@ -32,7 +32,7 @@ export interface FromAtomOpts extends CommonOpts { * emitted on the stream. If `emitFirst` is true (default), also emits * atom's current value when first subscriber attaches to stream. * - * Also see {@link fromView} + * Also see {@link fromView}, {@link fromViewUnsafe} * * @example * ```ts @@ -59,7 +59,7 @@ export const fromAtom = ( opts = optsWithID("atom", >{ emitFirst: true, changed: (a, b) => a !== b, - ...opts + ...opts, }); return new Stream((stream) => { atom.addWatch(stream.id, (_, prev, curr) => { diff --git a/packages/rstream/src/from/view.ts b/packages/rstream/src/from/view.ts index 168f78216c..4dbf45a0ac 100644 --- a/packages/rstream/src/from/view.ts +++ b/packages/rstream/src/from/view.ts @@ -1,16 +1,40 @@ import { View } from "@thi.ng/atom"; import { Stream } from "../stream"; import { optsWithID } from "../utils/idgen"; -import type { Fn, Path, Predicate2 } from "@thi.ng/api"; +import type { + DeepPath, + Fn, + Path, + Path0, + Path1, + Path2, + Path3, + Path4, + Path5, + Path6, + Path7, + Path8, + PathVal1, + PathVal2, + PathVal3, + PathVal4, + PathVal5, + PathVal6, + PathVal7, + PathVal8, + Predicate2, +} from "@thi.ng/api"; import type { ReadonlyAtom } from "@thi.ng/atom"; import type { CommonOpts } from "../api"; -export interface FromViewOpts extends Partial { - path: Path; - tx?: Fn; - equiv?: Predicate2; +export interface FromViewOpts extends Partial { + path: P; + tx?: Fn; + equiv?: Predicate2; } +export type FromViewUnsafeOpts = FromViewOpts; + /** * Similar to {@link fromAtom}, but creates an eager derived view for a * nested value in atom / cursor and yields stream of its value changes. @@ -18,30 +42,34 @@ export interface FromViewOpts extends Partial { * @remarks * Views are readonly and more lightweight versions of * {@link @thi.ng/atom#Cursor | cursors}. The view checks for value - * changes with given `equiv` predicate ({@link @thi.ng/equiv#equiv} by - * default). If the predicate returns a falsy result, the new value is - * emitted on the stream. The first value emitted is always the - * (possibly transformed) current value at the stream's start time (i.e. - * when the first subscriber attaches). + * changes with given `equiv` predicate (default: + * {@link @thi.ng/equiv#equiv}). If the predicate returns a falsy result + * (i.e. the new value), the new value is emitted on the stream. The + * first value emitted is always the (possibly transformed) current + * value at the stream's start time (i.e. when the first subscriber + * attaches). * * If the `tx` option is given, the raw value is first passed to this * transformer function and its result emitted on the stream instead. * * When the stream is cancelled the view is destroyed as well. * + * Also see {@link @thi.ng/atom#defView}, {@link @thi.ng/atom#defViewUnsafe} + * * @example * ```ts - * db = new Atom({ a: 1, b: { c: 2 }}); + * const db = defAtom({ a: 1, b: { c: 2 }}); * - * fromView( + * fromViewUnsafe( * db, * { * path: "b.c", - * tx: (x) => x != null ? x : "n/a" - * }).subscribe(trace("view:")) + * tx: (x) => x != null ? String(x) : "n/a" + * } + * ).subscribe(trace("view:")) * // view: 2 * - * db.swapIn("b.c", (x: number) => x + 1); + * db.swapIn(["b","c"], (x: number) => x + 1); * // view: 3 * * db.reset({ a: 10 }); @@ -51,15 +79,86 @@ export interface FromViewOpts extends Partial { * @param atom - * @param opts - */ -export const fromView = ( +export const fromViewUnsafe = ( + atom: ReadonlyAtom, + opts: FromViewUnsafeOpts +): Stream => fromView(atom, opts); + +/** + * Type checked version of {@link fromViewUnsafe}. Only the first 8 path + * levels are type checked. + * + * @remarks + * Stream value type is inferred from target path or (if given), the + * result type of the optional view transformer (`tx` option). + * + * Also see {@link @thi.ng/atom#defView}, + * {@link @thi.ng/atom#defViewUnsafe} + * + * @param parent - + * @param opts - + */ +export function fromView( + parent: ReadonlyAtom, + opts: FromViewOpts +): Stream; +export function fromView( + parent: ReadonlyAtom, + opts: FromViewOpts, PathVal1, R> +): Stream : R>; +export function fromView( + parent: ReadonlyAtom, + opts: FromViewOpts, PathVal2, R> +): Stream : R>; +export function fromView( + parent: ReadonlyAtom, + opts: FromViewOpts, PathVal3, R> +): Stream : R>; +export function fromView( + parent: ReadonlyAtom, + opts: FromViewOpts, PathVal4, R> +): Stream : R>; +export function fromView( + parent: ReadonlyAtom, + opts: FromViewOpts, PathVal5, R> +): Stream : R>; +export function fromView( + parent: ReadonlyAtom, + opts: FromViewOpts< + Path6, + PathVal6, + R + > +): Stream : R>; +export function fromView( + parent: ReadonlyAtom, + opts: FromViewOpts< + Path7, + PathVal7, + R + > +): Stream : R>; +export function fromView( + parent: ReadonlyAtom, + opts: FromViewOpts< + Path8, + PathVal8, + R + > +): Stream : R>; +export function fromView( + parent: ReadonlyAtom, + opts: FromViewOpts, any, R> +): Stream; +export function fromView( atom: ReadonlyAtom, - opts: FromViewOpts -): Stream => { - opts = >optsWithID("view", opts); - return new Stream((stream) => { + opts: FromViewOpts +): Stream { + opts = >optsWithID("view", opts); + return new Stream((stream) => { let isActive = true; const tx = opts.tx; - const view = new View( + const view = new View( atom, opts.path, tx @@ -73,4 +172,4 @@ export const fromView = ( view.release(); }; }); -}; +} diff --git a/packages/rstream/test/stream-sync.ts b/packages/rstream/test/stream-sync.ts index 6c99395ff0..da9e2a3e74 100644 --- a/packages/rstream/test/stream-sync.ts +++ b/packages/rstream/test/stream-sync.ts @@ -7,6 +7,7 @@ import { take } from "@thi.ng/transducers"; import * as assert from "assert"; +import { TIMEOUT } from "./config"; import { CloseMode, fromInterval, @@ -16,9 +17,8 @@ import { State, stream, sync, - transduce + transduce, } from "../src"; -import { TIMEOUT } from "./config"; describe("StreamSync", () => { function adder() { @@ -38,14 +38,14 @@ describe("StreamSync", () => { let a1buf, a2buf; const db = new Atom({ a1: { ins: { a: 1, b: 2 } }, - a2: { ins: { b: 10 } } + a2: { ins: { b: 10 } }, }); const a1 = sync({ src: [ - (a = fromView(db, { path: "a1.ins.a" })), - (b = fromView(db, { path: "a1.ins.b" })) + (a = fromView(db, { path: ["a1", "ins", "a"] })), + (b = fromView(db, { path: ["a1", "ins", "b"] })), ], - xform: adder() + xform: adder(), }); const a1res = a1.subscribe({ next(x) { @@ -53,11 +53,11 @@ describe("StreamSync", () => { }, done() { a1done = true; - } + }, }); const a2 = sync({ - src: [a1, (c = fromView(db, { path: "a2.ins.b" }))], - xform: adder() + src: [a1, (c = fromView(db, { path: ["a2", "ins", "b"] }))], + xform: adder(), }); const res = a2.subscribe({ next(x) { @@ -65,7 +65,7 @@ describe("StreamSync", () => { }, done() { a2done = true; - } + }, }); assert.equal(a1buf, 3); assert.equal(a2buf, 13); @@ -97,7 +97,7 @@ describe("StreamSync", () => { const src = { a: stream(), b: stream(), - c: stream() + c: stream(), }; const res: any[] = []; const main = sync({ src, mergeOnly: true }).subscribe({ @@ -107,10 +107,10 @@ describe("StreamSync", () => { { c: 1 }, { c: 1, b: 2 }, { c: 1, b: 2, a: 3 }, - { c: 1, b: 2, a: 4 } + { c: 1, b: 2, a: 4 }, ]); done(); - } + }, }); src.c.next(1); @@ -124,12 +124,12 @@ describe("StreamSync", () => { const src = { a: stream(), b: stream(), - c: stream() + c: stream(), }; const res: any[] = []; const main = sync({ src, - mergeOnly: true + mergeOnly: true, }) .transform( // ensure `a` & `b` are present @@ -140,10 +140,10 @@ describe("StreamSync", () => { done: () => { assert.deepEqual(res, [ { c: 1, b: 2, a: 3 }, - { c: 1, b: 2, a: 4 } + { c: 1, b: 2, a: 4 }, ]); done(); - } + }, }); src.c.next(1); @@ -162,8 +162,8 @@ describe("StreamSync", () => { src: { t: fromInterval(5), a: fromPromise(delayed("aa", 20)), - b: fromPromise(delayed("bb", 40)) - } + b: fromPromise(delayed("bb", 40)), + }, }), comp( take(1), @@ -180,18 +180,18 @@ describe("StreamSync", () => { const main = sync({ src: [ fromIterable([1, 2, 3], { delay: TIMEOUT, id: "a" }), - fromIterable([1, 2, 3, 4], { delay: TIMEOUT, id: "b" }) + fromIterable([1, 2, 3, 4], { delay: TIMEOUT, id: "b" }), ], closeIn: CloseMode.NEVER, closeOut: CloseMode.NEVER, - reset: true + reset: true, }); const acc: any[] = []; const sub = main.subscribe({ next(x) { acc.push(x); - } + }, }); setTimeout(() => sub.unsubscribe(), 3.5 * TIMEOUT); @@ -200,7 +200,7 @@ describe("StreamSync", () => { assert.deepEqual(acc, [ { a: 1, b: 1 }, { a: 2, b: 2 }, - { a: 3, b: 3 } + { a: 3, b: 3 }, ]); done(); }, 5 * TIMEOUT); From 1bba1fcc37c5c28004ef43ef607fa767ae13e1b5 Mon Sep 17 00:00:00 2001 From: Karsten Schmidt Date: Wed, 25 Mar 2020 13:05:16 +0000 Subject: [PATCH 46/70] refactor(rstream-graph): update fromView() call sites --- packages/rstream-graph/src/graph.ts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/rstream-graph/src/graph.ts b/packages/rstream-graph/src/graph.ts index 9185160af9..040c082be5 100644 --- a/packages/rstream-graph/src/graph.ts +++ b/packages/rstream-graph/src/graph.ts @@ -2,11 +2,11 @@ import { isFunction, isPlainObject, isString } from "@thi.ng/checks"; import { illegalArgs } from "@thi.ng/errors"; import { getInUnsafe } from "@thi.ng/paths"; import { absPath, resolve, ResolveFn } from "@thi.ng/resolve-map"; -import { CloseMode } from "@thi.ng/rstream"; import { map, Transducer } from "@thi.ng/transducers"; import { + CloseMode, fromIterableSync, - fromView, + fromViewUnsafe, ISubscribable, StreamSync, sync, @@ -117,7 +117,7 @@ const prepareNodeInputs = ( let s; const i = ins[id]; if (i.path) { - s = fromView(state, { path: i.path }); + s = fromViewUnsafe(state, { path: i.path }); } else if (i.stream) { s = isString(i.stream) ? resolve(i.stream) : i.stream(resolve); } else if (i.const != null) { From 93e5483d4ecd56c22ceef151bd0141c5daba80b0 Mon Sep 17 00:00:00 2001 From: Karsten Schmidt Date: Wed, 25 Mar 2020 13:05:48 +0000 Subject: [PATCH 47/70] chore(atom): minor cleanup --- packages/atom/src/view.ts | 4 ---- 1 file changed, 4 deletions(-) diff --git a/packages/atom/src/view.ts b/packages/atom/src/view.ts index da992e408b..c670247dd9 100644 --- a/packages/atom/src/view.ts +++ b/packages/atom/src/view.ts @@ -26,10 +26,6 @@ import type { } from "@thi.ng/api"; import type { IView, ReadonlyAtom } from "./api"; -// const a = defAtom({ a: { b: { c: 1 } } }); -// const v1 = defView(a, ["a", "b", "c"], (x) => ""); -// const v2 = defView(a, ["a", "b", "c"]); - export function defView( parent: ReadonlyAtom, path: Path0, From acb1beb1ec9ef2e65f41531c7887a7b5929d2d16 Mon Sep 17 00:00:00 2001 From: Karsten Schmidt Date: Wed, 25 Mar 2020 13:09:01 +0000 Subject: [PATCH 48/70] refactor(examples): update fromView handling in rstream-spreadsheet --- examples/rstream-spreadsheet/src/dsl.ts | 26 +++++++++++++------------ 1 file changed, 14 insertions(+), 12 deletions(-) diff --git a/examples/rstream-spreadsheet/src/dsl.ts b/examples/rstream-spreadsheet/src/dsl.ts index 6af3bbf47c..e1bcd94319 100644 --- a/examples/rstream-spreadsheet/src/dsl.ts +++ b/examples/rstream-spreadsheet/src/dsl.ts @@ -16,10 +16,9 @@ import { runtime, Str, Sym, - tokenize + tokenize, } from "@thi.ng/sexpr"; -import { maybeParseFloat, Z2 } from "@thi.ng/strings"; -import { charRange } from "@thi.ng/strings"; +import { charRange, maybeParseFloat, Z2 } from "@thi.ng/strings"; import { add, assocObj, @@ -37,7 +36,7 @@ import { range, Reducer, sub, - transduce + transduce, } from "@thi.ng/transducers"; import { RE_CELL_ID, RE_CELL_RANGE } from "./api"; import { DB, graph, removeCell } from "./state"; @@ -65,7 +64,7 @@ const rt = runtime, Env, any>({ expr: (x, env) => builtins(x.children[0], x.children, { ...env, - depth: env.depth + 1 + depth: env.depth + 1, }), // other symbols are interpreted as cell IDs sym: (x) => @@ -74,7 +73,7 @@ const rt = runtime, Env, any>({ : illegalArgs("invalid cell ID"), // strings & number used verbatim str: (x) => ({ const: x.value }), - num: (x) => ({ const: x.value }) + num: (x) => ({ const: x.value }), }); /** @@ -108,7 +107,7 @@ const defNode = (spec: NodeSpec, vals: ASTNode[], env: Env) => { if (env.depth === 1) { id = env.id; spec.outs = { - "*": [id, "value"] + "*": [id, "value"], }; } else { id = JSON.stringify(vals); @@ -162,13 +161,16 @@ const defBuiltin = (fn: Fn, any>) => ( return [rt(i, env)]; } }), + // form pairs of [numbered-arg, input] mapIndexed( (i, input) => <[string, NodeInputSpec]>[Z2(i), input] ) ), + // build object assocObj(), + // only process s-expr args vals.slice(1) - ) + ), }, vals, env @@ -210,9 +212,9 @@ const cellInput = memoize1( (id: string): NodeInputSpec => ({ stream: () => fromView(DB, { - path: [id.toUpperCase(), "value"], - tx: (x) => maybeParseFloat(x, null) - }) + path: [id.toUpperCase(), "value"], + tx: (x) => maybeParseFloat(x, null), + }), }) ); @@ -261,5 +263,5 @@ builtins.addAll({ abs: defBuiltin(({ "00": x }) => Math.abs(x)), fit: defBuiltin(({ "00": x, "01": a, "02": b, "03": c, "04": d }) => fit(x, a, b, c, d) - ) + ), }); From bb5593a6bfeafbfdd8209fa707368634ea30fc28 Mon Sep 17 00:00:00 2001 From: Karsten Schmidt Date: Wed, 25 Mar 2020 15:32:43 +0000 Subject: [PATCH 49/70] fix(atom): fix defViewUnsafe() type inference --- packages/atom/src/view.ts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/atom/src/view.ts b/packages/atom/src/view.ts index c670247dd9..315e8b3278 100644 --- a/packages/atom/src/view.ts +++ b/packages/atom/src/view.ts @@ -106,13 +106,13 @@ export function defView( return new View(parent, path, tx, lazy, equiv); } -export function defViewUnsafe( +export function defViewUnsafe( parent: ReadonlyAtom, path: Path, - tx?: Fn, + tx?: Fn, lazy?: boolean, equiv?: Predicate2 -) { +): View { return new View(parent, path, tx, lazy, equiv); } From 9df543f1d046bb4cc9f4cafda4f1fdfd273596fd Mon Sep 17 00:00:00 2001 From: Karsten Schmidt Date: Wed, 25 Mar 2020 15:33:15 +0000 Subject: [PATCH 50/70] docs(atom): update readme --- packages/atom/README.md | 341 +++++++++++++++++++++++------------- packages/atom/README.tpl.md | 331 +++++++++++++++++++++------------- 2 files changed, 428 insertions(+), 244 deletions(-) diff --git a/packages/atom/README.md b/packages/atom/README.md index 234cb55610..0853a4ce86 100644 --- a/packages/atom/README.md +++ b/packages/atom/README.md @@ -1,6 +1,6 @@ -# ![@thi.ng/atom](https://media.thi.ng/umbrella/banners/thing-atom.svg?1584814381) +# ![@thi.ng/atom](https://media.thi.ng/umbrella/banners/thing-atom.svg?1585150217) [![npm version](https://img.shields.io/npm/v/@thi.ng/atom.svg)](https://www.npmjs.com/package/@thi.ng/atom) ![npm downloads](https://img.shields.io/npm/dm/@thi.ng/atom.svg) @@ -11,6 +11,11 @@ This project is part of the - [About](#about) - [Status](#status) +- [Breaking changes](#breaking-changes) + - [4.0.0](#400) + - [Type checked accessors](#type-checked-accessors) + - [Factory functions](#factory-functions) + - [Deprecated](#deprecated) - [Installation](#installation) - [Dependencies](#dependencies) - [Usage examples](#usage-examples) @@ -27,30 +32,67 @@ This project is part of the Mutable wrappers for nested immutable values with optional undo/redo history and transaction support. -Clojure inspired wrappers with infrastructure support for: +Additional support for: -- watches -- derived view subscriptions +- type checked value access for up to 8 levels of nesting (deeper values + default to `any`) +- watches (listeners) +- derived, eager/lazy view subscriptions (w/ optional transformation) - cursors (direct R/W access to nested values) -- transacted updates +- transacted updates (incl. nested transactions) - undo/redo history -Together these types act as building blocks for various application +Together, these types act as building blocks for various application state handling patterns, specifically aimed (though not exclusively) at -the concept of using a centralized atom around a nested, immutable object -as single source of truth within an application. +the concept of using a centralized atom around a nested, immutable +object as single source of truth within an application and driving +reactive updates from performed state changes. ### Status **STABLE** - used in production +## Breaking changes + +### 4.0.0 + +#### Type checked accessors + +The `resetIn()` and `swapIn()` methods are fully type checked (up to 8 +levels deep), with the given value paths (and the new state value) being +validated against the structure of the containers's main value type. +Since that kind of type checking can only be done via tuples, **string +paths are NOT supported anymore** and instead require using the +`resetInUnsafe()` and `swapInUnsafe()` methods, which now provide the +legacy, unchecked update functionality. More details below. + +The use of the `Unsafe` suffix is inspired by Rust and, for consistency, +now used across other umbrella packages providing both checked and +unchecked variations. + +#### Factory functions + +Users are encouraged to use the new set of (type checked) factory +functions in lieu of direct constructor invocations. These functions are +now considered the defacto way to create new instances are generally +starting to be provided more consistently across the umbrella ecosystem. +All of them use the `def` prefix, e.g. `defAtom()`, `defCursor()` etc. +`Unsafe` versions exist for some types too. [More +info](https://github.com/thi-ng/umbrella/issues/210) + +#### Deprecated + +Derived views can now only be created via `defView()`, `defViewUnsafe()` +(or `new View()`). The `IViewable` interface and `.addView()` methods +have been removed. + ## Installation ```bash yarn add @thi.ng/atom ``` -Package sizes (gzipped): ESM: 1.8KB / CJS: 1.8KB / UMD: 1.9KB +Package sizes (gzipped): CJS: 1.83 KB ## Dependencies @@ -73,6 +115,7 @@ A selection: | -------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------- | --------------------------------------------------------- | -------------------------------------------------------------------------------------- | | | BMI calculator in a devcards format | [Demo](https://demo.thi.ng/umbrella/devcards/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/devcards) | | | Custom dropdown UI component w/ fuzzy search | [Demo](https://demo.thi.ng/umbrella/hdom-dropdown-fuzzy/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/hdom-dropdown-fuzzy) | +| | Basic SPA example with atom-based UI router | [Demo](https://demo.thi.ng/umbrella/login-form/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/login-form) | | | Animated Voronoi diagram, cubic splines & SVG download | [Demo](https://demo.thi.ng/umbrella/rotating-voronoi/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/rotating-voronoi) | | | Complete mini SPA app w/ router & async content loading | [Demo](https://demo.thi.ng/umbrella/router-basics/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/router-basics) | | | Minimal rstream dataflow graph | [Demo](https://demo.thi.ng/umbrella/rstream-dataflow/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/rstream-dataflow) | @@ -88,16 +131,21 @@ A selection: ### Atom -An `Atom` is a mutable wrapper for supposedly immutable values. The -wrapped value can be obtained via `deref()`, replaced via `reset()` and -updated using `swap()`. An atom too supports the concept of watches, -essentially `onchange` event handlers which are called from -`reset` / `swap` and receive both the old and new atom values. +An `Atom` is a mutable (typed) wrapper for supposedly immutable values. +The wrapped value can be obtained via `deref()`, replaced via `reset()` +and updated using `swap()`. An atom too supports the concept of watches, +essentially `onchange` event handlers which are called from `reset` / +`swap` and receive both the old and new atom values. + +Note: The [`IDeref` +interface](https://github.com/thi-ng/umbrella/blob/develop/packages/api/src/api/deref.ts) +is widely supported across many thi.ng/umbrella packages and implemented +by most value wrapper types. ```ts -import * as atom from "@thi.ng/atom"; +import { defAtom } from "@thi.ng/atom"; -const a = new atom.Atom(23); +const a = defAtom(23); // obtain value via deref() a.deref(); @@ -122,26 +170,54 @@ a.reset(42); // foo: 24 -> 42 ``` -When atoms are used to wrap nested object values, the `resetIn()` / -`swapIn()` methods can be used to directly update nested values. These -updates are handled via immutable setters provided by +When `Atom`-like containers are used to wrap nested object values, the +`resetIn()` / `swapIn()` methods can be used to directly update nested +values. These updates are handled via immutable setters provided by [@thi.ng/paths](https://github.com/thi-ng/umbrella/tree/develop/packages/paths). ```ts -const db = new Atom({ a: { b: 1, c: 2 } }); +const db = defAtom({ a: { b: 1, c: 2 } }); -db.resetIn("a.b", 100); +// type checked access +db.resetIn(["a", "b"], 100); // { a: { b: 100, c: 2 } } -db.swapIn("a.c", (x) => x + 1); -// { a: { b: 100, c: 3 } } +// unchecked access +db.resetInUnsafe("a.b", 100); +// { a: { b: 100, c: 2 } } -// alternatively, the lookup path can be given as array -// see @thi.ng/paths for further reference +// type checked access +// type of `x` in update function is automatically inferred too db.swapIn(["a", "c"], (x) => x + 1); +// { a: { b: 100, c: 3 } } + +// unchecked access +db.swapInUnsafe("a.c", (x) => x + 1); // { a: { b: 100, c: 4 } } ``` +If the update path is created dynamically, you will have to use one of +these approaches: + +```ts +interface Item { + name: string; +} + +const db = defAtom([{ name: "thi.ng" }, { name: "atom" }]); + +const id = 1; + +// using expr +db.resetIn([id, "name"], "umbrella"); + +// unchecked +db.resetInUnsafe([id, "name"], "umbrella"); + +// unchecked (string path) +db.resetInUnsafe(`${id}.name`, "umbrella"); +``` + ### Transacted updates Since v3.1.0, multiple sequential state updates can be grouped in @@ -158,11 +234,12 @@ will throw an error. The `Transacted` class can wrap any existing `IAtom` implementation, e.g. `Atom`, `Cursor` or `History` instances and implements `IAtom` -itself... +itself... **Nested transactions can be achieved by wrapping another +`Transacted` container.** ```ts -const db = new Atom({ a: 1, b: 2 }); -const tx = new Transacted(db); +const db = defAtom({ a: 1, b: 2 }); +const tx = defTransacted(db); // start transaction tx.begin(); @@ -171,8 +248,8 @@ tx.begin(); // (none of them are applied until `commit` is called) // IMPORTANT: calling any of these update methods without // a running transaction will throw an error! -tx.resetIn("a", 11); -tx.resetIn("c", 33); +tx.resetIn(["a"], 11); +tx.resetIn(["c"], 33); // tx.deref() will always return latest state tx.deref() @@ -195,8 +272,11 @@ db.deref() Cursors provide direct & immutable access to a nested value within a structured atom. The path to the desired value must be provided when the -cursor is created and cannot be changed later. The path is then compiled -into a [getter and +cursor is created and cannot be changed later. Since v4.0.0, the path +itself is type checked and MUST be compatible with the type of the +parent state (or use `defCursorUnsafe()` as fallback, see [breaking +changes](#breaking-changes)). The path is then compiled into a [getter +and setter](https://github.com/thi-ng/umbrella/tree/develop/packages/paths) to allow cursors to be used like atoms and update the parent state in an immutable manner (i.e. producing an optimized copy with structural @@ -206,14 +286,14 @@ below. **It's important to remember** that cursors also cause their parent state (atom or another cursor) to reflect their updated local state. I.e. any change to a cursor's value propagates up the hierarchy of -parent states. +parent states and also triggers any watches attached to the parent. ```ts -a = new atom.Atom({a: {b: {c: 1}}}) +a = defAtom({a: {b: {c: 1}}}) // cursor to `b` value -b=new atom.Cursor(a, "a.b") +b = defCursor(a, "a.b") // cursor to `c` value, relative to `b` -c=new atom.Cursor(b, "c") +c = defCursor(b, "c") c.reset(2); @@ -230,33 +310,24 @@ length of the propagation chain and maximize structural sharing. ```ts // main state -main = new atom.Atom({ a: { b: { c: 23 }, d: { e: 42 } }, f: 66 }); +main = defAtom({ a: { b: { c: 23 }, d: { e: 42 } }, f: 66 }); // cursor to `c` value -cursor = new atom.Cursor(main, "a.b.c"); +cursor = defCursor(main, ["a", "b", "c"]); + // or -cursor = new atom.Cursor(main, ["a","b","c"]); - -// alternatively provide path implicitly via lookup & update functions -// both fns will be called with cursor's parent state -// this allows the cursor implementation to work with any data structure -// as long as the updater DOES NOT mutate in place -cursor = new atom.Cursor( - main, - (s) => s.a.b.c, - (s, x) => ({...s, a: {...s.a, b: {...s.a.b, c: x}}}) -); +cursor = defCursorUnsafe(main, "a.b.c"); // add watch just as with Atom cursor.addWatch("foo", console.log); -cursor.deref() +cursor.deref(); // 23 cursor.swap(x => x + 1); // foo 23 24 -main.deref() +main.deref(); // { a: { b: { c: 24 }, d: { e: 42 } }, f: 66 } ``` @@ -268,13 +339,16 @@ and the ability to (optionally) produce transformed versions of such a value. The `View` type provides exactly this functionality: ```ts -db = new atom.Atom({a: 1, b: {c: 2}}); +db = defAtom({ a: 1, b: { c: 2 } }); // create a view for a's value -viewA = db.addView("a"); +viewA = defView(db, ["a"]); // create a view for c's value w/ transformer -viewC = db.addView("b.c", (x) => x * 10); +viewC = defView(db, ["b","c"], (x) => x * 10); + +// or unchecked +viewC = defViewUnsafe(db, "b.c", (x) => x * 10); viewA.deref() // 1 @@ -283,7 +357,7 @@ viewC.deref() // 20 // update the atom -db.swap((state) => atom.setIn(state, "b.c", 3)) +db.resetIn(["b","c"], 3) // views can indicate if their value has changed // (will be reset to `false` after each deref) @@ -320,25 +394,25 @@ Related, the actual value change predicate can be customized. If not given, the default `@thi.ng/equiv` will be used. ```ts -let x; -let a = new Atom({value: 1}) +let x = 0; +let a = defAtom({ value: 1 }) // create an eager view by passing `false` as last arg -view = a.addView("value", (y) => (x = y, y * 10), false); +view = defView(["value"], (y) => (x = y, y * 10), false); // check `x` to verify that transformer already has run x === 1 // true // reset x -x = null +x = 0 // verify transformed value view.deref() === 10 // true // verify transformer hasn't rerun because of deref() -x === null +x === 0 // true ``` @@ -364,111 +438,132 @@ This example is also available in standalone form: [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/login-form) | [Live demo](https://demo.thi.ng/umbrella/login-form/) ```ts -import { Atom, setIn } from "@thi.ng/atom"; +import type { Nullable, Path } from "@thi.ng/api"; +import { defAtom, defView } from "@thi.ng/atom"; import { start } from "@thi.ng/hdom"; +import { capitalize } from "@thi.ng/strings"; + +interface State { + state: string; + error?: string; + user: { + name?: string; + }; +} // central immutable app state -const db = new Atom({ state: "login" }); +const db = defAtom({ state: "login", user: {} }); // define views for different state values -const appState = db.addView("state"); -const error = db.addView("error"); -// specify a view transformer for the username value -const user = db.addView( - "user.name", - (x) => x ? x.charAt(0).toUpperCase() + x.substr(1) : null +const appState = defView(db, ["state"]); + +// the error view converts the state value into a UI component array +const error = defView(db, ["error"], (error) => + error ? ["div.error", error] : null +); + +// view transformer for the username value +const user = defView(db, ["user", "name"], (name) => + name ? capitalize(name) : null ); // state update functions -const setValue = (path, val) => db.swap((state) => setIn(state, path, val)); -const setState = (s) => setValue(appState.path, s); -const setError = (err) => setValue(error.path, err); -const setUser = (e) => setValue(user.path, e.target.value); + +// trigger new route / UI view +const setState = (s: string) => setValue(appState.path, s); + +const setError = (err: Nullable) => setValue(error.path, err); + +const setUser = (e: Event) => setValue(user.path, (e.target).value); + +const setValue = (path: Path, val: any) => db.resetInUnsafe(path, val); + const loginUser = () => { - if (user.deref() && user.deref().toLowerCase() === "admin") { + if (user.deref() === "admin") { setError(null); setState("main"); } else { setError("sorry, wrong username (try 'admin')"); } }; + const logoutUser = () => { setValue(user.path, null); setState("logout"); }; -// components for different app states +// UI components for different app states // note how the value views are used here -const uiViews = { +const uiViews: any = { // dummy login form - login: () => - ["div#login", - ["h1", "Login"], - error.deref() ? ["div.error", error.deref()] : undefined, - ["input", { type: "text", onchange: setUser }], - ["button", { onclick: loginUser }, "Login"] + login: () => [ + "div#login", + ["h1", "Login"], + // embedded error view (will auto-deref) + error.deref(), + ["input", { type: "text", onchange: setUser }], + ["button", { onclick: loginUser }, "Login"], + ], + logout: () => [ + "div#logout", + ["h1", "Good bye"], + "You've been logged out. ", + ["a", { href: "#", onclick: () => setState("login") }, "Log back in?"], + ], + main: () => [ + "div#main", + ["h1", `Welcome, ${user.deref()}!`], + ["div", "Current app state:"], + [ + "div", + [ + "textarea", + { cols: 40, rows: 10 }, + JSON.stringify(db.deref(), null, 2), + ], ], - logout: () => - ["div#logout", - ["h1", "Good bye"], - "You've been logged out. ", - ["a", - { href: "#", onclick: () => setState("login") }, - "Log back in?" - ] - ], - main: () => - ["div#main", - ["h1", `Welcome, ${user.deref()}!`], - ["div", "Current app state:"], - ["div", - ["textarea", - { cols: 40, rows: 10 }, - JSON.stringify(db.deref(), null, 2)]], - ["button", { onclick: logoutUser }, "Logout"] - ] + ["button", { onclick: logoutUser }, "Logout"], + ], }; // finally define another derived view for the app state value // including a transformer, which maps the current app state value // to its correct UI component (incl. a fallback for illegal app states) -const currView = db.addView( - appState.path, - (state) => - uiViews[state] || - ["div", ["h1", `No component for state: ${state}`]] +const currView = defView( + db, + ["state"], + (state) => uiViews[state] || ["div", ["h1", `No component for state: ${state}`]] ); // app root component -const app = () => - ["div#app", - currView.deref(), - ["footer", "Made with @thi.ng/atom and @thi.ng/hdom"]]; - -start(document.body, app); +// embedded view (will auto-deref) +start(() => ["div", currView]); ``` ### Undo / Redo history -The `History` type can be used with & behaves like an Atom or Cursor, -but creates snapshots of the current state before applying the new -state. By default, the history has length of 100 steps, though this is -configurable via ctor args. +The `History` type can be used with & behaves just like an `Atom` or +`Cursor`, but too creates snapshots of the current state before applying +the new state. These snapshots are stored in a doubly-linked list and +can be navigated via `.undo()` / `.redo()`. Each time one of these +methods is called, the parent state will be updated and any attached +watches are notified. By default, the history has length of 100 steps, +though this is configurable via ctor args. ```ts // create history w/ max. 100 steps -db = new atom.History(new atom.Atom({a: 1}), 100) +db = defHistory(defAtom({ a: 1 }), 100) db.deref() -// {a: 1} +// { a: 1 } -db.reset({a: 2, b: 3}) -db.reset({b: 4}) +db.reset({ a: 2, b: 3 }) +db.reset({ b: 4 }) db.undo() -// {a: 2, b: 3} +// { a: 2, b: 3 } db.undo() -// {a: 1} +// { a: 1 } db.undo() // undefined (no more undo possible) @@ -476,10 +571,10 @@ db.canUndo() // false db.redo() -// {a: 2, b: 3} +// { a: 2, b: 3 } db.redo() -// {b: 4} +// { b: 4 } db.redo() // undefined (no more redo possible) diff --git a/packages/atom/README.tpl.md b/packages/atom/README.tpl.md index 8644885490..7259d5eec4 100644 --- a/packages/atom/README.tpl.md +++ b/packages/atom/README.tpl.md @@ -13,21 +13,58 @@ This project is part of the ${pkg.description} -Clojure inspired wrappers with infrastructure support for: +Additional support for: -- watches -- derived view subscriptions +- type checked value access for up to 8 levels of nesting (deeper values + default to `any`) +- watches (listeners) +- derived, eager/lazy view subscriptions (w/ optional transformation) - cursors (direct R/W access to nested values) -- transacted updates +- transacted updates (incl. nested transactions) - undo/redo history -Together these types act as building blocks for various application +Together, these types act as building blocks for various application state handling patterns, specifically aimed (though not exclusively) at -the concept of using a centralized atom around a nested, immutable object -as single source of truth within an application. +the concept of using a centralized atom around a nested, immutable +object as single source of truth within an application and driving +reactive updates from performed state changes. ${status} +## Breaking changes + +### 4.0.0 + +#### Type checked accessors + +The `resetIn()` and `swapIn()` methods are fully type checked (up to 8 +levels deep), with the given value paths (and the new state value) being +validated against the structure of the containers's main value type. +Since that kind of type checking can only be done via tuples, **string +paths are NOT supported anymore** and instead require using the +`resetInUnsafe()` and `swapInUnsafe()` methods, which now provide the +legacy, unchecked update functionality. More details below. + +The use of the `Unsafe` suffix is inspired by Rust and, for consistency, +now used across other umbrella packages providing both checked and +unchecked variations. + +#### Factory functions + +Users are encouraged to use the new set of (type checked) factory +functions in lieu of direct constructor invocations. These functions are +now considered the defacto way to create new instances are generally +starting to be provided more consistently across the umbrella ecosystem. +All of them use the `def` prefix, e.g. `defAtom()`, `defCursor()` etc. +`Unsafe` versions exist for some types too. [More +info](https://github.com/thi-ng/umbrella/issues/210) + +#### Deprecated + +Derived views can now only be created via `defView()`, `defViewUnsafe()` +(or `new View()`). The `IViewable` interface and `.addView()` methods +have been removed. + ${supportPackages} ${relatedPackages} @@ -54,16 +91,21 @@ ${docLink} ### Atom -An `Atom` is a mutable wrapper for supposedly immutable values. The -wrapped value can be obtained via `deref()`, replaced via `reset()` and -updated using `swap()`. An atom too supports the concept of watches, -essentially `onchange` event handlers which are called from -`reset` / `swap` and receive both the old and new atom values. +An `Atom` is a mutable (typed) wrapper for supposedly immutable values. +The wrapped value can be obtained via `deref()`, replaced via `reset()` +and updated using `swap()`. An atom too supports the concept of watches, +essentially `onchange` event handlers which are called from `reset` / +`swap` and receive both the old and new atom values. + +Note: The [`IDeref` +interface](https://github.com/thi-ng/umbrella/blob/develop/packages/api/src/api/deref.ts) +is widely supported across many thi.ng/umbrella packages and implemented +by most value wrapper types. ```ts -import * as atom from "@thi.ng/atom"; +import { defAtom } from "@thi.ng/atom"; -const a = new atom.Atom(23); +const a = defAtom(23); // obtain value via deref() a.deref(); @@ -88,26 +130,54 @@ a.reset(42); // foo: 24 -> 42 ``` -When atoms are used to wrap nested object values, the `resetIn()` / -`swapIn()` methods can be used to directly update nested values. These -updates are handled via immutable setters provided by +When `Atom`-like containers are used to wrap nested object values, the +`resetIn()` / `swapIn()` methods can be used to directly update nested +values. These updates are handled via immutable setters provided by [@thi.ng/paths](https://github.com/thi-ng/umbrella/tree/develop/packages/paths). ```ts -const db = new Atom({ a: { b: 1, c: 2 } }); +const db = defAtom({ a: { b: 1, c: 2 } }); -db.resetIn("a.b", 100); +// type checked access +db.resetIn(["a", "b"], 100); // { a: { b: 100, c: 2 } } -db.swapIn("a.c", (x) => x + 1); -// { a: { b: 100, c: 3 } } +// unchecked access +db.resetInUnsafe("a.b", 100); +// { a: { b: 100, c: 2 } } -// alternatively, the lookup path can be given as array -// see @thi.ng/paths for further reference +// type checked access +// type of `x` in update function is automatically inferred too db.swapIn(["a", "c"], (x) => x + 1); +// { a: { b: 100, c: 3 } } + +// unchecked access +db.swapInUnsafe("a.c", (x) => x + 1); // { a: { b: 100, c: 4 } } ``` +If the update path is created dynamically, you will have to use one of +these approaches: + +```ts +interface Item { + name: string; +} + +const db = defAtom([{ name: "thi.ng" }, { name: "atom" }]); + +const id = 1; + +// using expr +db.resetIn([id, "name"], "umbrella"); + +// unchecked +db.resetInUnsafe([id, "name"], "umbrella"); + +// unchecked (string path) +db.resetInUnsafe(`${id}.name`, "umbrella"); +``` + ### Transacted updates Since v3.1.0, multiple sequential state updates can be grouped in @@ -124,11 +194,12 @@ will throw an error. The `Transacted` class can wrap any existing `IAtom` implementation, e.g. `Atom`, `Cursor` or `History` instances and implements `IAtom` -itself... +itself... **Nested transactions can be achieved by wrapping another +`Transacted` container.** ```ts -const db = new Atom({ a: 1, b: 2 }); -const tx = new Transacted(db); +const db = defAtom({ a: 1, b: 2 }); +const tx = defTransacted(db); // start transaction tx.begin(); @@ -137,8 +208,8 @@ tx.begin(); // (none of them are applied until `commit` is called) // IMPORTANT: calling any of these update methods without // a running transaction will throw an error! -tx.resetIn("a", 11); -tx.resetIn("c", 33); +tx.resetIn(["a"], 11); +tx.resetIn(["c"], 33); // tx.deref() will always return latest state tx.deref() @@ -161,8 +232,11 @@ db.deref() Cursors provide direct & immutable access to a nested value within a structured atom. The path to the desired value must be provided when the -cursor is created and cannot be changed later. The path is then compiled -into a [getter and +cursor is created and cannot be changed later. Since v4.0.0, the path +itself is type checked and MUST be compatible with the type of the +parent state (or use `defCursorUnsafe()` as fallback, see [breaking +changes](#breaking-changes)). The path is then compiled into a [getter +and setter](https://github.com/thi-ng/umbrella/tree/develop/packages/paths) to allow cursors to be used like atoms and update the parent state in an immutable manner (i.e. producing an optimized copy with structural @@ -172,14 +246,14 @@ below. **It's important to remember** that cursors also cause their parent state (atom or another cursor) to reflect their updated local state. I.e. any change to a cursor's value propagates up the hierarchy of -parent states. +parent states and also triggers any watches attached to the parent. ```ts -a = new atom.Atom({a: {b: {c: 1}}}) +a = defAtom({a: {b: {c: 1}}}) // cursor to `b` value -b=new atom.Cursor(a, "a.b") +b = defCursor(a, "a.b") // cursor to `c` value, relative to `b` -c=new atom.Cursor(b, "c") +c = defCursor(b, "c") c.reset(2); @@ -196,33 +270,24 @@ length of the propagation chain and maximize structural sharing. ```ts // main state -main = new atom.Atom({ a: { b: { c: 23 }, d: { e: 42 } }, f: 66 }); +main = defAtom({ a: { b: { c: 23 }, d: { e: 42 } }, f: 66 }); // cursor to `c` value -cursor = new atom.Cursor(main, "a.b.c"); +cursor = defCursor(main, ["a", "b", "c"]); + // or -cursor = new atom.Cursor(main, ["a","b","c"]); - -// alternatively provide path implicitly via lookup & update functions -// both fns will be called with cursor's parent state -// this allows the cursor implementation to work with any data structure -// as long as the updater DOES NOT mutate in place -cursor = new atom.Cursor( - main, - (s) => s.a.b.c, - (s, x) => ({...s, a: {...s.a, b: {...s.a.b, c: x}}}) -); +cursor = defCursorUnsafe(main, "a.b.c"); // add watch just as with Atom cursor.addWatch("foo", console.log); -cursor.deref() +cursor.deref(); // 23 cursor.swap(x => x + 1); // foo 23 24 -main.deref() +main.deref(); // { a: { b: { c: 24 }, d: { e: 42 } }, f: 66 } ``` @@ -234,13 +299,16 @@ and the ability to (optionally) produce transformed versions of such a value. The `View` type provides exactly this functionality: ```ts -db = new atom.Atom({a: 1, b: {c: 2}}); +db = defAtom({ a: 1, b: { c: 2 } }); // create a view for a's value -viewA = db.addView("a"); +viewA = defView(db, ["a"]); // create a view for c's value w/ transformer -viewC = db.addView("b.c", (x) => x * 10); +viewC = defView(db, ["b","c"], (x) => x * 10); + +// or unchecked +viewC = defViewUnsafe(db, "b.c", (x) => x * 10); viewA.deref() // 1 @@ -249,7 +317,7 @@ viewC.deref() // 20 // update the atom -db.swap((state) => atom.setIn(state, "b.c", 3)) +db.resetIn(["b","c"], 3) // views can indicate if their value has changed // (will be reset to `false` after each deref) @@ -286,25 +354,25 @@ Related, the actual value change predicate can be customized. If not given, the default `@thi.ng/equiv` will be used. ```ts -let x; -let a = new Atom({value: 1}) +let x = 0; +let a = defAtom({ value: 1 }) // create an eager view by passing `false` as last arg -view = a.addView("value", (y) => (x = y, y * 10), false); +view = defView(["value"], (y) => (x = y, y * 10), false); // check `x` to verify that transformer already has run x === 1 // true // reset x -x = null +x = 0 // verify transformed value view.deref() === 10 // true // verify transformer hasn't rerun because of deref() -x === null +x === 0 // true ``` @@ -330,111 +398,132 @@ This example is also available in standalone form: [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/login-form) | [Live demo](https://demo.thi.ng/umbrella/login-form/) ```ts -import { Atom, setIn } from "@thi.ng/atom"; +import type { Nullable, Path } from "@thi.ng/api"; +import { defAtom, defView } from "@thi.ng/atom"; import { start } from "@thi.ng/hdom"; +import { capitalize } from "@thi.ng/strings"; + +interface State { + state: string; + error?: string; + user: { + name?: string; + }; +} // central immutable app state -const db = new Atom({ state: "login" }); +const db = defAtom({ state: "login", user: {} }); // define views for different state values -const appState = db.addView("state"); -const error = db.addView("error"); -// specify a view transformer for the username value -const user = db.addView( - "user.name", - (x) => x ? x.charAt(0).toUpperCase() + x.substr(1) : null +const appState = defView(db, ["state"]); + +// the error view converts the state value into a UI component array +const error = defView(db, ["error"], (error) => + error ? ["div.error", error] : null +); + +// view transformer for the username value +const user = defView(db, ["user", "name"], (name) => + name ? capitalize(name) : null ); // state update functions -const setValue = (path, val) => db.swap((state) => setIn(state, path, val)); -const setState = (s) => setValue(appState.path, s); -const setError = (err) => setValue(error.path, err); -const setUser = (e) => setValue(user.path, e.target.value); + +// trigger new route / UI view +const setState = (s: string) => setValue(appState.path, s); + +const setError = (err: Nullable) => setValue(error.path, err); + +const setUser = (e: Event) => setValue(user.path, (e.target).value); + +const setValue = (path: Path, val: any) => db.resetInUnsafe(path, val); + const loginUser = () => { - if (user.deref() && user.deref().toLowerCase() === "admin") { + if (user.deref() === "admin") { setError(null); setState("main"); } else { setError("sorry, wrong username (try 'admin')"); } }; + const logoutUser = () => { setValue(user.path, null); setState("logout"); }; -// components for different app states +// UI components for different app states // note how the value views are used here -const uiViews = { +const uiViews: any = { // dummy login form - login: () => - ["div#login", - ["h1", "Login"], - error.deref() ? ["div.error", error.deref()] : undefined, - ["input", { type: "text", onchange: setUser }], - ["button", { onclick: loginUser }, "Login"] + login: () => [ + "div#login", + ["h1", "Login"], + // embedded error view (will auto-deref) + error.deref(), + ["input", { type: "text", onchange: setUser }], + ["button", { onclick: loginUser }, "Login"], + ], + logout: () => [ + "div#logout", + ["h1", "Good bye"], + "You've been logged out. ", + ["a", { href: "#", onclick: () => setState("login") }, "Log back in?"], + ], + main: () => [ + "div#main", + ["h1", `Welcome, ${user.deref()}!`], + ["div", "Current app state:"], + [ + "div", + [ + "textarea", + { cols: 40, rows: 10 }, + JSON.stringify(db.deref(), null, 2), + ], ], - logout: () => - ["div#logout", - ["h1", "Good bye"], - "You've been logged out. ", - ["a", - { href: "#", onclick: () => setState("login") }, - "Log back in?" - ] - ], - main: () => - ["div#main", - ["h1", `Welcome, ${user.deref()}!`], - ["div", "Current app state:"], - ["div", - ["textarea", - { cols: 40, rows: 10 }, - JSON.stringify(db.deref(), null, 2)]], - ["button", { onclick: logoutUser }, "Logout"] - ] + ["button", { onclick: logoutUser }, "Logout"], + ], }; // finally define another derived view for the app state value // including a transformer, which maps the current app state value // to its correct UI component (incl. a fallback for illegal app states) -const currView = db.addView( - appState.path, - (state) => - uiViews[state] || - ["div", ["h1", `No component for state: ${state}`]] +const currView = defView( + db, + ["state"], + (state) => uiViews[state] || ["div", ["h1", `No component for state: ${state}`]] ); // app root component -const app = () => - ["div#app", - currView.deref(), - ["footer", "Made with @thi.ng/atom and @thi.ng/hdom"]]; - -start(document.body, app); +// embedded view (will auto-deref) +start(() => ["div", currView]); ``` ### Undo / Redo history -The `History` type can be used with & behaves like an Atom or Cursor, -but creates snapshots of the current state before applying the new -state. By default, the history has length of 100 steps, though this is -configurable via ctor args. +The `History` type can be used with & behaves just like an `Atom` or +`Cursor`, but too creates snapshots of the current state before applying +the new state. These snapshots are stored in a doubly-linked list and +can be navigated via `.undo()` / `.redo()`. Each time one of these +methods is called, the parent state will be updated and any attached +watches are notified. By default, the history has length of 100 steps, +though this is configurable via ctor args. ```ts // create history w/ max. 100 steps -db = new atom.History(new atom.Atom({a: 1}), 100) +db = defHistory(defAtom({ a: 1 }), 100) db.deref() -// {a: 1} +// { a: 1 } -db.reset({a: 2, b: 3}) -db.reset({b: 4}) +db.reset({ a: 2, b: 3 }) +db.reset({ b: 4 }) db.undo() -// {a: 2, b: 3} +// { a: 2, b: 3 } db.undo() -// {a: 1} +// { a: 1 } db.undo() // undefined (no more undo possible) @@ -442,10 +531,10 @@ db.canUndo() // false db.redo() -// {a: 2, b: 3} +// { a: 2, b: 3 } db.redo() -// {b: 4} +// { b: 4 } db.redo() // undefined (no more redo possible) From 9aa634cc267c57c1fe4608cf88cd5bcc00a3f01f Mon Sep 17 00:00:00 2001 From: Karsten Schmidt Date: Wed, 25 Mar 2020 15:34:34 +0000 Subject: [PATCH 51/70] fix(examples): update/fix imports --- examples/interceptor-basics2/src/index.ts | 6 +++--- examples/router-basics/src/api.ts | 6 +++--- examples/rstream-grid/src/api.ts | 6 +++--- examples/svg-waveform/src/api.ts | 6 +++--- examples/triple-query/src/api.ts | 6 +++--- 5 files changed, 15 insertions(+), 15 deletions(-) diff --git a/examples/interceptor-basics2/src/index.ts b/examples/interceptor-basics2/src/index.ts index 257b370f07..fdcff2a02b 100644 --- a/examples/interceptor-basics2/src/index.ts +++ b/examples/interceptor-basics2/src/index.ts @@ -1,4 +1,4 @@ -import { AtomPath, defView, defViewUnsafe } from "@thi.ng/atom"; +import { defView, defViewUnsafe } from "@thi.ng/atom"; import { start } from "@thi.ng/hdom"; import { EffectDef, @@ -13,7 +13,7 @@ import { IDispatch, trace, } from "@thi.ng/interceptors"; -import type { IObjectOf } from "@thi.ng/api"; +import type { IObjectOf, Path } from "@thi.ng/api"; /////////////////////////////////////////////////////////////////////// // event name and handler definitions @@ -91,7 +91,7 @@ const button = (bus: IDispatch, event: Event, label: string, id?: string) => [ // counter component function // calls to this function will be triggered via the "addCounter" event and its side effect // (see further below) -const counter = (bus: IDispatch, path: AtomPath, start = 0, color: string) => { +const counter = (bus: IDispatch, path: Path, start = 0, color: string) => { const view = defViewUnsafe(bus.state, path); bus.dispatch([EV_SET_VALUE, [path, start]]); return [ diff --git a/examples/router-basics/src/api.ts b/examples/router-basics/src/api.ts index 7bca11d8a0..c26ace0ba3 100644 --- a/examples/router-basics/src/api.ts +++ b/examples/router-basics/src/api.ts @@ -1,6 +1,6 @@ import { EffectDef, EventBus, EventDef } from "@thi.ng/interceptors"; -import type { IObjectOf, Fn } from "@thi.ng/api"; -import type { IView, AtomPath } from "@thi.ng/atom"; +import type { Fn, IObjectOf, Path } from "@thi.ng/api"; +import type { IView } from "@thi.ng/atom"; import type { HTMLRouterConfig, RouteMatch } from "@thi.ng/router"; // general types defined for the base app @@ -14,7 +14,7 @@ export type AppComponent = (ctx: AppContext, ...args: any[]) => any; /** * Derived view configurations. */ -export type ViewSpec = string | AtomPath | [string | AtomPath, Fn]; +export type ViewSpec = string | Path | [string | Path, Fn]; /** * Structure of the overall application config object. diff --git a/examples/rstream-grid/src/api.ts b/examples/rstream-grid/src/api.ts index e8257fa014..f74c6aa3d2 100644 --- a/examples/rstream-grid/src/api.ts +++ b/examples/rstream-grid/src/api.ts @@ -1,6 +1,6 @@ import { EffectDef, EventBus, EventDef } from "@thi.ng/interceptors"; -import type { IObjectOf, Fn } from "@thi.ng/api"; -import type { IView, AtomPath } from "@thi.ng/atom"; +import type { Fn, IObjectOf, Path } from "@thi.ng/api"; +import type { IView } from "@thi.ng/atom"; /** * Function signature for main app components. @@ -11,7 +11,7 @@ export type AppComponent = (ctx: AppContext, ...args: any[]) => any; /** * Derived view configurations. */ -export type ViewSpec = string | AtomPath | [string | AtomPath, Fn]; +export type ViewSpec = string | Path | [string | Path, Fn]; /** * Structure of the overall application config object. diff --git a/examples/svg-waveform/src/api.ts b/examples/svg-waveform/src/api.ts index af47b26f9e..93c1361957 100644 --- a/examples/svg-waveform/src/api.ts +++ b/examples/svg-waveform/src/api.ts @@ -1,6 +1,6 @@ import { EffectDef, EventBus, EventDef } from "@thi.ng/interceptors"; -import type { IObjectOf, Fn } from "@thi.ng/api"; -import type { IView, AtomPath } from "@thi.ng/atom"; +import type { Fn, IObjectOf, Path } from "@thi.ng/api"; +import type { IView } from "@thi.ng/atom"; /** * Function signature for main app components. @@ -10,7 +10,7 @@ export type AppComponent = (ctx: AppContext, ...args: any[]) => any; /** * Derived view configurations. */ -export type ViewSpec = string | AtomPath | [string | AtomPath, Fn]; +export type ViewSpec = string | Path | [string | Path, Fn]; /** * Structure of the overall application config object. diff --git a/examples/triple-query/src/api.ts b/examples/triple-query/src/api.ts index 502fa326ee..94862d8bc1 100644 --- a/examples/triple-query/src/api.ts +++ b/examples/triple-query/src/api.ts @@ -5,8 +5,8 @@ import { EventDef, InterceptorContext, } from "@thi.ng/interceptors"; -import type { IObjectOf, Fn } from "@thi.ng/api"; -import type { IView, AtomPath } from "@thi.ng/atom"; +import type { Fn, IObjectOf, Path } from "@thi.ng/api"; +import type { IView } from "@thi.ng/atom"; /** * Function signature for main app components. @@ -16,7 +16,7 @@ export type AppComponent = (ctx: AppContext, ...args: any[]) => any; /** * Derived view configurations. */ -export type ViewSpec = string | AtomPath | [string | AtomPath, Fn]; +export type ViewSpec = string | Path | [string | Path, Fn]; /** * Structure of the overall application config object. From 8d5da25456eb4f6a877bca08a935276c0e8cc9f4 Mon Sep 17 00:00:00 2001 From: Karsten Schmidt Date: Wed, 25 Mar 2020 15:34:52 +0000 Subject: [PATCH 52/70] refactor(examples): update login-form example --- examples/login-form/package.json | 8 ++++-- examples/login-form/src/index.ts | 46 +++++++++++++++++++------------- 2 files changed, 33 insertions(+), 21 deletions(-) diff --git a/examples/login-form/package.json b/examples/login-form/package.json index e680c29b66..71b1082120 100644 --- a/examples/login-form/package.json +++ b/examples/login-form/package.json @@ -1,6 +1,6 @@ { "name": "login-form", - "description": "Basic SPA example without router", + "description": "Basic SPA example with atom-based UI router", "version": "0.0.1", "repository": "https://github.com/thi-ng/umbrella", "author": "Karsten Schmidt ", @@ -18,12 +18,16 @@ "dependencies": { "@thi.ng/atom": "latest", "@thi.ng/hdom": "latest", - "@thi.ng/paths": "latest" + "@thi.ng/paths": "latest", + "@thi.ng/strings": "latest" }, "browserslist": [ "last 3 Chrome versions" ], "browser": { "process": false + }, + "thi.ng": { + "readme": true } } diff --git a/examples/login-form/src/index.ts b/examples/login-form/src/index.ts index 5d3a7d7380..fc714751ca 100644 --- a/examples/login-form/src/index.ts +++ b/examples/login-form/src/index.ts @@ -1,6 +1,7 @@ -import { AtomPath, defAtom, defView } from "@thi.ng/atom"; +import type { Nullable, Path } from "@thi.ng/api"; +import { defAtom, defView } from "@thi.ng/atom"; import { start } from "@thi.ng/hdom"; -import type { Nullable } from "@thi.ng/api"; +import { capitalize } from "@thi.ng/strings"; interface State { state: string; @@ -15,38 +16,51 @@ const db = defAtom({ state: "login", user: {} }); // define views for different state values const appState = defView(db, ["state"]); -const error = defView(db, ["error"]); -// specify a view transformer for the username value -const user = defView(db, ["user", "name"], (x) => - x ? x.charAt(0).toUpperCase() + x.substr(1) : null + +// the error view converts the state value into a UI component array +const error = defView(db, ["error"], (error) => + error ? ["div.error", error] : null +); + +// view transformer for the username value +const user = defView(db, ["user", "name"], (name) => + name ? capitalize(name) : null ); // state update functions -const setValue = (path: AtomPath, val: any) => db.resetInUnsafe(path, val); + +// trigger new route / UI view const setState = (s: string) => setValue(appState.path, s); + const setError = (err: Nullable) => setValue(error.path, err); + const setUser = (e: Event) => setValue(user.path, (e.target).value); + +const setValue = (path: Path, val: any) => db.resetInUnsafe(path, val); + const loginUser = () => { - if (user.deref() && user.deref()!.toLowerCase() === "admin") { + if (user.deref() === "admin") { setError(null); setState("main"); } else { setError("sorry, wrong username (try 'admin')"); } }; + const logoutUser = () => { setValue(user.path, null); setState("logout"); }; -// components for different app states +// UI components for different app states // note how the value views are used here const uiViews: any = { // dummy login form login: () => [ "div#login", ["h1", "Login"], - error.deref() ? ["div.error", error] : undefined, + // embedded error view (will auto-deref) + error.deref(), ["input", { type: "text", onchange: setUser }], ["button", { onclick: loginUser }, "Login"], ], @@ -78,15 +92,9 @@ const uiViews: any = { const currView = defView( db, ["state"], - (state) => - uiViews[state] || ["div", ["h1", `No component for state: ${state}`]] + (state) => uiViews[state] || ["div", ["h1", `No component for state: ${state}`]] ); // app root component -const app = () => [ - "div", - currView, - ["footer", "Made with @thi.ng/atom and @thi.ng/hdom"], -]; - -start(app); +// embedded view (will auto-deref) +start(() => ["div", currView]); \ No newline at end of file From 5cc5b461e9602011b62c49d8d4a6756e1ad4a404 Mon Sep 17 00:00:00 2001 From: Karsten Schmidt Date: Wed, 25 Mar 2020 18:20:29 +0000 Subject: [PATCH 53/70] feat(paths): add/update unsafe type infer, update doc strings --- packages/paths/src/delete-in.ts | 34 ++++++++++------- packages/paths/src/get-in.ts | 30 ++++++++++----- packages/paths/src/getter.ts | 62 ++++++++++++++++++------------- packages/paths/src/mut-in-many.ts | 12 ++++-- packages/paths/src/mut-in.ts | 33 +++++++++------- packages/paths/src/mutator.ts | 25 ++++++++----- packages/paths/src/set-in-many.ts | 13 ++++--- packages/paths/src/set-in.ts | 26 ++++++++++--- packages/paths/src/setter.ts | 5 ++- packages/paths/src/update-in.ts | 8 ++-- packages/paths/src/updater.ts | 9 ++++- packages/paths/test/index.ts | 10 +---- 12 files changed, 168 insertions(+), 99 deletions(-) diff --git a/packages/paths/src/delete-in.ts b/packages/paths/src/delete-in.ts index 2c834e8027..16cf96fc05 100644 --- a/packages/paths/src/delete-in.ts +++ b/packages/paths/src/delete-in.ts @@ -21,33 +21,41 @@ import type { } from "@thi.ng/api"; /** - * Uses {@link updateIn} and returns updated state with key for - * given path removed. Does not modify original state. Returns - * `undefined` if `path` is an empty string or array. + * Unchecked version of {@link deleteIn}. Path can be given as string or + * tuple. * * @example * ```ts * // unchecked * deleteIn({ a: { b: { c: 23 } } }, "a.b.c"); * // { a: { b: { } } } - * - * // type checked - * deleteIn({ a: { b: { c: 23 } } }, ["a","b","c"]); - * - * // error (wrong path) - * deleteIn({ a: { b: { c: 23 } } }, ["a","b","d"]); * ``` * * @param state - * @param path - */ -export const deleteInUnsafe = (state: any, path: Path) => +export const deleteInUnsafe = (state: any, path: Path): any => deleteIn(state, path); /** - * Type checked version of {@link deleteInUnsafe}. Only the first 8 path - * levels are type checked. The result type will have the path value - * removed too. + * Uses {@link updateIn} and returns updated state with key for given + * path removed. Does not modify original state. Returns `undefined` if + * `path` is an empty string or array. + * + * @remarks + * Only the first 8 path levels are type checked. The result type will + * have the path value removed too. + * + * See {@link deleteInUnsafe} for unchecked version. + * + * @example + * ```ts + * // type checked + * deleteIn({ a: { b: { c: 23 } } }, ["a","b","c"]); + * + * // error (invalid path) + * deleteIn({ a: { b: { c: 23 } } }, ["a","b","d"]); + * ``` * * @param state - * @param path - diff --git a/packages/paths/src/get-in.ts b/packages/paths/src/get-in.ts index fa0f036cb3..18eec7003e 100644 --- a/packages/paths/src/get-in.ts +++ b/packages/paths/src/get-in.ts @@ -21,15 +21,15 @@ import type { } from "@thi.ng/api"; /** - * Immediate use getter, i.e. same as: `defGetter(path)(state)`. + * Unchecked version of {@link getIn}. Returns `undefined` if path is + * invalid. + * + * @remarks + * The type parameter `T` can be used to indicate the type of the nested + * value to be retrieved (default: `any`). * * @example * ```ts - * // type checked path and inferred return type - * getIn({ a: { b: { c: 23 } } }, ["a","b","c"]); - * // 23 - * - * // unchecked path * getInUnsafe({ a: { b: { c: 23 } } }, "a.b.c"); * // 23 * ``` @@ -37,12 +37,22 @@ import type { * @param state - * @param path - */ -export const getInUnsafe = (state: any, path: Path): any => - defGetter(path)(state); +export const getInUnsafe = (state: any, path: Path): T | undefined => + defGetter(path)(state); /** - * Type checked version of {@link getInUnsafe}. Only the first 8 path - * levels are type checked. + * Type checked, immediate use getter, i.e. same as: + * `defGetter(path)(state)`. + * + * @remarks + * Only the first 8 path levels are type checked. + * + * @example + * ```ts + * // type checked path and inferred return type + * getIn({ a: { b: { c: 23 } } }, ["a","b","c"]); + * // 23 + * ``` * * @param state - * @param path - diff --git a/packages/paths/src/getter.ts b/packages/paths/src/getter.ts index f72156010b..e73c5bad7e 100644 --- a/packages/paths/src/getter.ts +++ b/packages/paths/src/getter.ts @@ -23,24 +23,46 @@ import type { } from "@thi.ng/api"; /** - * Composes a getter function for given nested lookup path. Optimized - * fast execution paths are provided for path lengths <= 4. + * Unchecked version of {@link defGetter}. * * @remarks + * The type parameter `T` can be used to indicate the type of the nested + * value to be retrieved (default: `any`). + * + * Also see: {@link getIn}, {@link getInUnsafe} + * + * @example + * ```ts + * const g = defGetterUnsafe("a.b.c"); + * + * g({ a: { b: { c: 23} } }) // 23 + * g({ x: 23 }) // undefined + * g() // undefined + * ``` + * + * @param path - + */ +export const defGetterUnsafe = (path: Path): Fn => + defGetter(path); + +/** + * Creates getter function for given nested lookup path. Returns + * function which accepts single object and returns value at given path. + * + * @remarks + * Optimized fast execution paths are provided for path lengths <= 4. + * Only the first 8 path levels are type checked. + * * Supports any `[]`-indexable data structure (arrays, objects, * strings). * - * If `path` is given as string, it will be split using `.`. Returns - * function which accepts single object and when called, returns value - * at given path. - * - * If any intermediate key is not present in the given obj, descent - * stops and the function returns `undefined`. + * If any intermediate key is not present in the given obj, further + * descent stops and the function returns `undefined`. * - * If `path` is an empty string or array, the returned getter will - * simply return the given state arg (identity function). + * If `path` is an empty array, the returned getter will simply return + * the given state arg (aka identity function). * - * Also see: {@link defGetter}, {@link getIn}, {@link getInUnsafe} + * Also see: {@link defGetterUnsafe}, {@link getIn}, {@link getInUnsafe} * * @example * ```ts @@ -54,25 +76,13 @@ import type { * // error (wrong `d` key) * g = defGetter(["a","b","d"]); * - * // unchecked (accepts any, returns any) - * g = defGetterUnsafe("a.b.c"); - * - * g({ a: { b: { c: 23} } }) // 23 - * g({ x: 23 }) // undefined - * g() // undefined + * g({ a: { b: { c: 23} } }); // 23 + * g({ x: 23 }); // error + * g(); // error * ``` * * @param path - */ -export const defGetterUnsafe = (path: Path): Fn => - defGetter(path); - -/** - * Type checked version of {@link defGetter}. Only the first 8 path - * levels are type checked. - * - * @param path - - */ export function defGetter(path: Path0): Fn; export function defGetter(path: Path1): Fn>; export function defGetter( diff --git a/packages/paths/src/mut-in-many.ts b/packages/paths/src/mut-in-many.ts index 59042e921d..1fa3ef1b33 100644 --- a/packages/paths/src/mut-in-many.ts +++ b/packages/paths/src/mut-in-many.ts @@ -4,9 +4,15 @@ import type { Path } from "@thi.ng/api"; /** * Similar to {@link mutInUnsafe}, but takes any number of path-value - * pairs as args and applies them in sequence using `mutInUnsafe()`. All - * key paths must already be present in the given data structure until - * their penultimate key. Missing leaf values are supported. + * pairs as args and applies them in sequence using `mutInUnsafe()`. + * + * @remarks + * All intermediate path keys must already be present in the given data + * structure until their penultimate key. Missing leaf keys are + * supported. + * + * The type parameter `T` can be used to indicate the type of the state + * value and will also be used as return type. * * @example * ```ts diff --git a/packages/paths/src/mut-in.ts b/packages/paths/src/mut-in.ts index e65cab9b61..8d5039385e 100644 --- a/packages/paths/src/mut-in.ts +++ b/packages/paths/src/mut-in.ts @@ -22,20 +22,14 @@ import type { } from "@thi.ng/api"; /** - * Immediate use mutator, i.e. same as: `defMutatorUnsafe(path)(state, - * val)`. + * Unchecked version of {@link mutIn}. + * + * @remarks + * The type parameter `T` can be used to indicate the type of the nested + * value to be mutated (default: `any`). * * @example * ```ts - * interface Foo { - * a: { b: number[]; } - * } - * - * // fully type checked - * mutIn({ a: { b: [10, 20] } }, ["a", "b", 1], 23) - * // { a: { b: [ 10, 23 ] } } - * - * // unchecked * mutIn({ a: { b: [10, 20] } }, "a.b.1", 23); * // { a: { b: [ 10, 23 ] } } * @@ -48,12 +42,23 @@ import type { * @param path - * @param val - */ -export const mutInUnsafe = (state: any, path: Path, val: any) => +export const mutInUnsafe = (state: any, path: Path, val: T): any => defMutator(path)(state, val); /** - * Type checked version of {@link mutIn}. Only the first 8 path levels - * are type checked. + * Type checked, immediate use mutator, i.e. same as: + * `defMutator(path)(state, val)`. + * + * @remarks + * Only the first 8 path levels are type checked. + * + * Also see {@link defMutator}, {@link mutInUnsafe} + * + * @example + * ```ts + * mutIn({ a: { b: [10, 20] } }, ["a", "b", 1], 23) + * // { a: { b: [ 10, 23 ] } } + * ``` * * @param state - * @param path - diff --git a/packages/paths/src/mutator.ts b/packages/paths/src/mutator.ts index f7d3a5c554..133639013c 100644 --- a/packages/paths/src/mutator.ts +++ b/packages/paths/src/mutator.ts @@ -23,7 +23,19 @@ import type { } from "@thi.ng/api"; /** - * Higher-order function, similar to {@link defSetterUnsafe}. Returns + * Unchecked version of {@link defMutator}. + * + * @remarks + * The type parameter `T` can be used to indicate the type of the nested + * value to be mutated (default: `any`). + * + * @param path - + */ +export const defMutatorUnsafe = (path: Path): Fn2 => + defMutator(path); + +/** + * Higher-order function, similar to {@link defSetter}. Returns a * function, which when called, mutates given object/array at given path * location. * @@ -34,14 +46,9 @@ import type { * object, else `undefined`. This function provides optimized versions * for path lengths <= 4. * - * @param path - - */ -export const defMutatorUnsafe = (path: Path): Fn2 => - defMutator(path); - -/** - * Type checked version of {@link mutator}. Only the first 8 path levels - * are type checked. + * Only the first 8 path levels are type checked. + * + * Also see {@link defMutatorUnsafe}, {@link mutIn} * * @param path - */ diff --git a/packages/paths/src/set-in-many.ts b/packages/paths/src/set-in-many.ts index 61db155cf7..697b61c5ce 100644 --- a/packages/paths/src/set-in-many.ts +++ b/packages/paths/src/set-in-many.ts @@ -8,19 +8,22 @@ import type { Path } from "@thi.ng/api"; * each. * * @remarks - * Any key paths missing in the data structure will be created. Does - * *not* mutate original (instead use {@link mutInManyUnsafe} for this - * purpose). + * Any intermediate key paths missing in the data structure will be + * created. Does NOT mutate original (instead use + * {@link mutInManyUnsafe} for this purpose). + * + * The type parameter `T` can be used to indicate the type of the + * overall state value and will also be used as return type. * * @example * ```ts - * setInMany( + * setInManyUnsafe( * {}, * // pair #1 * "a.b", 10, * // pair #2 * "x.y.z", 20 - * ) + * ); * // { a: { b: 10 }, x: { y: { z: 20 } } } * ``` * diff --git a/packages/paths/src/set-in.ts b/packages/paths/src/set-in.ts index 8df44fc61a..3d879b4cfc 100644 --- a/packages/paths/src/set-in.ts +++ b/packages/paths/src/set-in.ts @@ -22,8 +22,11 @@ import type { } from "@thi.ng/api"; /** - * Immediate use setter, i.e. same as: `defSetterUnsafe(path)(state, - * val)`. + * Unchecked version of {@link setIn}. + * + * @remarks + * The type parameter `T` can be used to indicate the type of the nested + * value to be set (default: `any`). * * @example * ```ts @@ -34,12 +37,25 @@ import type { * @param state - * @param path - */ -export const setInUnsafe = (state: any, path: Path, val: any): any => +export const setInUnsafe = (state: any, path: Path, val: T): any => defSetter(path)(state, val); /** - * Type checked version of {@link setInUnsafe}. Only the first 8 path - * levels are type checked. + * Type checked, immediate use setter, i.e. same as: + * `defSetterUnsafe(path)(state, val)`. + * + * @remarks + * Only the first 8 path levels are type checked. + * + * @example + * ```ts + * // type checked path & value + * setIn({ a: { b: { c: 23 } } }, ["a", "b", "c"], 24); + * // { a: { b: { c: 24 } } } + * + * // error (wrong value type) + * setIn({ a: { b: { c: 23 } } }, ["a", "b", "c"], "24"); + * ``` * * @param state - * @param path - diff --git a/packages/paths/src/setter.ts b/packages/paths/src/setter.ts index 2b7efa0d97..fe46cab47f 100644 --- a/packages/paths/src/setter.ts +++ b/packages/paths/src/setter.ts @@ -34,6 +34,9 @@ import type { * with the original data for any branches not being updated by the * setter. * + * The type parameter `T` can be used to indicate the type of the nested + * value to be updated (default: `any`). + * * If `path` is given as string, it will be split using `.`. Returns * function which accepts single object and when called, **immutably** * updates value at given path, i.e. produces a partial deep copy of obj @@ -79,7 +82,7 @@ import type { * * @param path - */ -export const defSetterUnsafe = (path: Path): Fn2 => +export const defSetterUnsafe = (path: Path): Fn2 => defSetter(path); /** diff --git a/packages/paths/src/update-in.ts b/packages/paths/src/update-in.ts index 2d98462f16..61ae620443 100644 --- a/packages/paths/src/update-in.ts +++ b/packages/paths/src/update-in.ts @@ -30,7 +30,9 @@ import type { UpdateFn } from "./api"; * state. * * @remarks - * Unchecked version of {@link updateIn}. + * Unchecked version of {@link updateIn}. The type parameter `T` can be + * used to indicate the type of the nested value to be updated (default: + * `any`). * * @example * ```ts @@ -51,10 +53,10 @@ import type { UpdateFn } from "./api"; * @param fn - update function * @param args - optional args for `fn` */ -export const updateInUnsafe = ( +export const updateInUnsafe = ( state: any, path: Path, - fn: UpdateFn, + fn: UpdateFn, ...args: any[] ) => // @ts-ignore diff --git a/packages/paths/src/updater.ts b/packages/paths/src/updater.ts index 65b693b672..b3fa5d4d0c 100644 --- a/packages/paths/src/updater.ts +++ b/packages/paths/src/updater.ts @@ -34,6 +34,9 @@ import type { UpdateFn } from "./api"; * `fn` to given path value (incl. any additional / optional arguments * passed) and uses result as new value. Does not modify original state. * + * The type parameter `T` can be used to indicate the type of the nested + * value to be updated (default: `any`). + * * @example * ```ts * const incB = defUpdaterUnsafe("a.b", (x, n) => x + n); @@ -47,8 +50,10 @@ import type { UpdateFn } from "./api"; * @param path - * @param fn - */ -export const defUpdaterUnsafe = (path: Path, fn: UpdateFn) => - defUpdater(path, fn); +export const defUpdaterUnsafe = ( + path: Path, + fn: UpdateFn +): FnO => defUpdater(path, fn); /** * Type checked version of {@link defUpdaterUnsafe}. Only the first 8 diff --git a/packages/paths/test/index.ts b/packages/paths/test/index.ts index c23a643971..08c7adda8d 100644 --- a/packages/paths/test/index.ts +++ b/packages/paths/test/index.ts @@ -1,11 +1,5 @@ import * as assert from "assert"; -import { - exists, - getIn, - getInUnsafe, - setIn, - setInUnsafe -} from "../src"; +import { exists, getIn, getInUnsafe, setIn, setInUnsafe } from "../src"; describe("paths", () => { it("getIn", () => { @@ -24,7 +18,7 @@ describe("paths", () => { assert.equal(getIn("", [0]), undefined); assert.equal(getIn("", ["length"]), 0); assert.equal(getIn([""], [0]), ""); - // assert.equal(getIn([""], [0, "length"]), 0); + assert.equal(getInUnsafe([""], [0, "length"]), 0); assert.equal(getIn([[""]], [0, 0, "length"]), 0); assert.equal(getIn([[[""]]], [0, 0, 0, "length"]), 0); assert.equal(getIn([[[[""]]]], [0, 0, 0, 0, "length"]), 0); From 08b88f0e74ffae0e4d8edddfbb5dff17f978a149 Mon Sep 17 00:00:00 2001 From: Karsten Schmidt Date: Thu, 26 Mar 2020 01:49:59 +0000 Subject: [PATCH 54/70] feat(api): add optional props in Keys/Val types - force intermediate props using `Required` - update Keys1-8, Val1-8 - update KeysN / ValN --- packages/api/src/api/keyval.ts | 43 ++++++++++++++++++---------------- 1 file changed, 23 insertions(+), 20 deletions(-) diff --git a/packages/api/src/api/keyval.ts b/packages/api/src/api/keyval.ts index 577dc6dd01..f660906e6f 100644 --- a/packages/api/src/api/keyval.ts +++ b/packages/api/src/api/keyval.ts @@ -4,7 +4,7 @@ import type { Head, Tail } from "./tuple"; * Extracts from A all keys which have values assignable to type B. */ export type TypedKeys = { - [P in keyof Required]: B extends A[P] ? P : never; + [P in Keys]: B extends A[P] ? P : never; }[keyof A]; export type NumericKeys = TypedKeys; @@ -14,22 +14,25 @@ export type StringKeys = TypedKeys; /* * Utilities for extracting key types of nested objects. */ -export type Keys = keyof T; -export type Keys1> = Keys; -export type Keys2, B extends Keys1> = Keys1; +export type Keys = keyof Required; +export type Keys1> = Keys[A]>; +export type Keys2, B extends Keys1> = Keys1< + Required[A], + B +>; export type Keys3< T, A extends Keys, B extends Keys1, C extends Keys2 -> = Keys2; +> = Keys2[A], B, C>; export type Keys4< T, A extends Keys, B extends Keys1, C extends Keys2, D extends Keys3 -> = Keys3; +> = Keys3[A], B, C, D>; export type Keys5< T, A extends Keys, @@ -37,7 +40,7 @@ export type Keys5< C extends Keys2, D extends Keys3, E extends Keys4 -> = Keys4; +> = Keys4[A], B, C, D, E>; export type Keys6< T, A extends Keys, @@ -46,7 +49,7 @@ export type Keys6< D extends Keys3, E extends Keys4, F extends Keys5 -> = Keys5; +> = Keys5[A], B, C, D, E, F>; export type Keys7< T, A extends Keys, @@ -56,7 +59,7 @@ export type Keys7< E extends Keys4, F extends Keys5, G extends Keys6 -> = Keys6; +> = Keys6[A], B, C, D, E, F, G>; export type Keys8< T, A extends Keys, @@ -67,7 +70,7 @@ export type Keys8< F extends Keys5, G extends Keys6, H extends Keys7 -> = Keys7; +> = Keys7[A], B, C, D, E, F, G, H>; /** * Internal type used as a reducer for the KeyN type. @@ -80,8 +83,8 @@ export type Keys8< */ type KeysNReducer = L extends keyof T ? { - 0: keyof T[L]; - 1: KeysNReducer, Tail>; + 0: keyof Required[L]; + 1: KeysNReducer[L], Head, Tail>; }[R extends [] ? 0 : 1] : never; @@ -96,20 +99,20 @@ export type KeysN = L extends [] * Utilities for extracting value types from nested objects. */ export type Val1> = T[A]; -export type Val2, B extends Keys1> = Val1[B]; +export type Val2, B extends Keys1> = ValN; export type Val3< T, A extends Keys, B extends Keys1, C extends Keys2 -> = Val2[C]; +> = ValN; export type Val4< T, A extends Keys, B extends Keys1, C extends Keys2, D extends Keys3 -> = Val3[D]; +> = ValN; export type Val5< T, A extends Keys, @@ -117,7 +120,7 @@ export type Val5< C extends Keys2, D extends Keys3, E extends Keys4 -> = Val4[E]; +> = ValN; export type Val6< T, A extends Keys, @@ -126,7 +129,7 @@ export type Val6< D extends Keys3, E extends Keys4, F extends Keys5 -> = Val5[F]; +> = ValN; export type Val7< T, A extends Keys, @@ -136,7 +139,7 @@ export type Val7< E extends Keys4, F extends Keys5, G extends Keys6 -> = Val6[G]; +> = ValN; export type Val8< T, A extends Keys, @@ -147,7 +150,7 @@ export type Val8< F extends Keys5, G extends Keys6, H extends Keys7 -> = Val7[H]; +> = ValN; /** * Internal reducer for ValN. @@ -161,7 +164,7 @@ export type Val8< type ValNReducer = C extends keyof T ? { 0: T[C]; - 1: ValNReducer, Tail>; + 1: ValNReducer[C], Head, Tail>; }[R extends [] ? 0 : 1] : never; From aa9db3a249a9b7962a32d6f2ac31f7edddf295e1 Mon Sep 17 00:00:00 2001 From: Karsten Schmidt Date: Fri, 27 Mar 2020 18:22:56 +0000 Subject: [PATCH 55/70] refactor(api): update path value & tuple types - replace PathVal1-8 w/ PathVal - add OptPathVal - add IsOpt, IsOptPath type predicates - add IsEmpty type predicate - update Last, ButLast tuple types --- packages/api/src/api/path.ts | 134 +++++++++------------------------- packages/api/src/api/tuple.ts | 30 +++----- 2 files changed, 46 insertions(+), 118 deletions(-) diff --git a/packages/api/src/api/path.ts b/packages/api/src/api/path.ts index 6aca7731bd..02acaa8a5f 100644 --- a/packages/api/src/api/path.ts +++ b/packages/api/src/api/path.ts @@ -8,15 +8,9 @@ import type { Keys5, Keys6, Keys7, - Val1, - Val2, - Val3, - Val4, - Val5, - Val6, - Val7, - Val8, + ValN, } from "./keyval"; +import { Head, Tail, IsEmpty } from "./tuple"; /** * Unchecked lookup path for nested data structures. @@ -162,111 +156,53 @@ export type DeepPath = A extends Keys : never; /** - * Value type for lookup path (depth 1) + * Returns `RES` if `PRED` is `never`, else `RES | undefined` */ -export type PathVal1 = A extends Keys ? Val1 : never; +export type OptVal = [PRED] extends [never] ? RES : RES | undefined; /** - * Value type for lookup path (depth 2) + * Returns true if `T` includes undefined. */ -export type PathVal2 = A extends Keys - ? B extends Keys1 - ? Val2 - : never - : never; - -/** - * Value type for lookup path (depth 3) - */ -export type PathVal3 = A extends Keys - ? B extends Keys1 - ? C extends Keys2 - ? Val3 - : never - : never - : never; - -/** - * Value type for lookup path (depth 4) - */ -export type PathVal4 = A extends Keys - ? B extends Keys1 - ? C extends Keys2 - ? D extends Keys3 - ? Val4 - : never - : never - : never - : never; +export type IsOpt = T extends undefined ? true : never; /** - * Value type for lookup path (depth 5) + * Internal recursive helper type for {@link IsOptPath}. */ -export type PathVal5 = A extends Keys - ? B extends Keys1 - ? C extends Keys2 - ? D extends Keys3 - ? E extends Keys4 - ? Val5 - : never - : never - : never - : never +type IsOptR = K extends Keys + ? [true] extends [IsOpt] + ? true + : { + 0: IsOptR[K], Head

, Tail

>; + 1: never; + }[IsEmpty

] : never; /** - * Value type for lookup path (depth 6) + * Returns true if given path contains any intermediate properties + * declared as optional in type `T`. + * + * Reference: + * https://stackoverflow.com/q/60869412/294515 */ -export type PathVal6 = A extends Keys - ? B extends Keys1 - ? C extends Keys2 - ? D extends Keys3 - ? E extends Keys4 - ? F extends Keys5 - ? Val6 - : never - : never - : never - : never - : never - : never; +export type IsOptPath = P extends [] + ? never + : IsOptR, Tail

>; /** - * Value type for lookup path (depth 7) + * Similar to {@link PathVal}, but also takes into account if given path + * contains any intermediate properties declared as optional in type + * `T`. If that's the case, returns union of `undefined` and inferred + * value for path, else just the latter. + * + * Context & reference: https://stackoverflow.com/q/60869412/294515 */ -export type PathVal7 = A extends Keys - ? B extends Keys1 - ? C extends Keys2 - ? D extends Keys3 - ? E extends Keys4 - ? F extends Keys5 - ? G extends Keys6 - ? Val7 - : never - : never - : never - : never - : never - : never - : never; +export type OptPathVal = OptVal< + IsOptPath, + ValN +>; /** - * Value type for lookup path (depth 8) + * Returns nested value type for given path into `T` or `never` if path + * is incompatible with `T`. */ -export type PathVal8 = A extends Keys - ? B extends Keys1 - ? C extends Keys2 - ? D extends Keys3 - ? E extends Keys4 - ? F extends Keys5 - ? G extends Keys6 - ? H extends Keys7 - ? Val8 - : never - : never - : never - : never - : never - : never - : never - : never; +export type PathVal = ValN; diff --git a/packages/api/src/api/tuple.ts b/packages/api/src/api/tuple.ts index 1a5df3c2bf..0b94379dc2 100644 --- a/packages/api/src/api/tuple.ts +++ b/packages/api/src/api/tuple.ts @@ -7,14 +7,14 @@ export type Tuple = [T, ...T[]] & { length: N } & Iterable< >; /** - * @deprecated merged w/ {@link Tuple} + * Extracts a tuple's length / size. */ -export type IterableTuple = Tuple & Iterable; +export type TupleLength = T["length"]; /** - * Extracts a tuple's length / size. + * Returns 1 if T is empty tuple, else 0 */ -export type TupleLength = T["length"]; +export type IsEmpty = T extends [] ? 1 : 0; /** * Extracts the first element of a tuple. @@ -68,22 +68,14 @@ export type Reverse = ReverseReducer; * Extracts the last element from a tuple. */ export type Last = { - // We need to use this trick to get around typescripts recursive - // type limit. - 0: Head; - 1: Last>; -}[Tail extends [] ? 0 : 1]; - -/** - * Internal version of {@link ButLast} accepting 1 extra argument for - * the accumulated value. - */ -type ButLastReducer = { - 0: Reverse; - 1: ButLastReducer, Prepend, C>>; -}[Tail extends [] ? 0 : 1]; + 0: Last>; + 1: Head; +}[IsEmpty>]; /** * Extracts everything except the last element from a tuple. */ -export type ButLast = ButLastReducer; +export type ButLast = { + 0: ButLast, Prepend, C>>; + 1: Reverse; +}[IsEmpty>]; From ab4440e6a297559ceb824c5e4b3c7e023ae69710 Mon Sep 17 00:00:00 2001 From: Karsten Schmidt Date: Fri, 27 Mar 2020 18:27:19 +0000 Subject: [PATCH 56/70] refactor(paths): update path value inference - use OptPathVal for return type of read ops - use PathVal for value arg in update ops BREAKING CHANGE: update generics for `UpdateFn` - UpdateFn now takes input & output type generics --- packages/paths/src/api.ts | 4 ++- packages/paths/src/get-in.ts | 28 +++++++++------------ packages/paths/src/getter.ts | 25 +++++++------------ packages/paths/src/mut-in.ts | 25 +++++++------------ packages/paths/src/mutator.ts | 25 +++++++------------ packages/paths/src/set-in.ts | 25 +++++++------------ packages/paths/src/setter.ts | 25 +++++++------------ packages/paths/src/update-in.ts | 43 ++++++++++++++++++--------------- packages/paths/src/updater.ts | 43 ++++++++++++++++++--------------- 9 files changed, 106 insertions(+), 137 deletions(-) diff --git a/packages/paths/src/api.ts b/packages/paths/src/api.ts index cc64fb7299..f2a995ebba 100644 --- a/packages/paths/src/api.ts +++ b/packages/paths/src/api.ts @@ -1 +1,3 @@ -export type UpdateFn = (curr: T, ...args: any[]) => T; +import type { FnO } from "@thi.ng/api"; + +export type UpdateFn = FnO; diff --git a/packages/paths/src/get-in.ts b/packages/paths/src/get-in.ts index 18eec7003e..e0d27cfeb7 100644 --- a/packages/paths/src/get-in.ts +++ b/packages/paths/src/get-in.ts @@ -10,14 +10,7 @@ import type { Path6, Path7, Path8, - PathVal1, - PathVal2, - PathVal3, - PathVal4, - PathVal5, - PathVal6, - PathVal7, - PathVal8, + OptPathVal, } from "@thi.ng/api"; /** @@ -58,32 +51,35 @@ export const getInUnsafe = (state: any, path: Path): T | undefined => * @param path - */ export function getIn(state: T, path: Path0): T; -export function getIn(state: T, path: Path1): PathVal1; -export function getIn(state: T, path: Path1): PathVal2; +export function getIn(state: T, path: Path1): OptPathVal; +export function getIn( + state: T, + path: Path1 +): OptPathVal; export function getIn( state: T, path: Path3 -): PathVal3; +): OptPathVal; export function getIn( state: T, path: Path4 -): PathVal4; +): OptPathVal; export function getIn( state: T, path: Path5 -): PathVal5; +): OptPathVal; export function getIn( state: T, path: Path6 -): PathVal6; +): OptPathVal; export function getIn( state: T, path: Path7 -): PathVal7; +): OptPathVal; export function getIn( state: T, path: Path8 -): PathVal8; +): OptPathVal; export function getIn( state: T, path: DeepPath diff --git a/packages/paths/src/getter.ts b/packages/paths/src/getter.ts index e73c5bad7e..67456aa45f 100644 --- a/packages/paths/src/getter.ts +++ b/packages/paths/src/getter.ts @@ -12,14 +12,7 @@ import type { Path6, Path7, Path8, - PathVal1, - PathVal2, - PathVal3, - PathVal4, - PathVal5, - PathVal6, - PathVal7, - PathVal8, + OptPathVal, } from "@thi.ng/api"; /** @@ -84,28 +77,28 @@ export const defGetterUnsafe = (path: Path): Fn => * @param path - */ export function defGetter(path: Path0): Fn; -export function defGetter(path: Path1): Fn>; +export function defGetter(path: Path1): Fn>; export function defGetter( path: Path2 -): Fn>; +): Fn>; export function defGetter( path: Path3 -): Fn>; +): Fn>; export function defGetter( path: Path4 -): Fn>; +): Fn>; export function defGetter( path: Path5 -): Fn>; +): Fn>; export function defGetter( path: Path6 -): Fn>; +): Fn>; export function defGetter( path: Path7 -): Fn>; +): Fn>; export function defGetter( path: Path8 -): Fn>; +): Fn>; export function defGetter( path: DeepPath ): Fn; diff --git a/packages/paths/src/mut-in.ts b/packages/paths/src/mut-in.ts index 8d5039385e..1c013ff3ca 100644 --- a/packages/paths/src/mut-in.ts +++ b/packages/paths/src/mut-in.ts @@ -11,14 +11,7 @@ import type { Path6, Path7, Path8, - PathVal1, - PathVal2, - PathVal3, - PathVal4, - PathVal5, - PathVal6, - PathVal7, - PathVal8, + PathVal, } from "@thi.ng/api"; /** @@ -68,42 +61,42 @@ export function mutIn(state: T, path: Path0, val: T): T; export function mutIn( state: T, path: Path1, - val: PathVal1 + val: PathVal ): T; export function mutIn( state: T, path: Path2, - val: PathVal2 + val: PathVal ): T; export function mutIn( state: T, path: Path3, - val: PathVal3 + val: PathVal ): T; export function mutIn( state: T, path: Path4, - val: PathVal4 + val: PathVal ): T; export function mutIn( state: T, path: Path5, - val: PathVal5 + val: PathVal ): T; export function mutIn( state: T, path: Path6, - val: PathVal6 + val: PathVal ): T; export function mutIn( state: T, path: Path7, - val: PathVal7 + val: PathVal ): T; export function mutIn( state: T, path: Path8, - val: PathVal8 + val: PathVal ): T; export function mutIn( state: T, diff --git a/packages/paths/src/mutator.ts b/packages/paths/src/mutator.ts index 133639013c..07146f41bc 100644 --- a/packages/paths/src/mutator.ts +++ b/packages/paths/src/mutator.ts @@ -12,14 +12,7 @@ import type { Path6, Path7, Path8, - PathVal1, - PathVal2, - PathVal3, - PathVal4, - PathVal5, - PathVal6, - PathVal7, - PathVal8, + PathVal, } from "@thi.ng/api"; /** @@ -53,28 +46,28 @@ export const defMutatorUnsafe = (path: Path): Fn2 => * @param path - */ export function defMutator(path: Path0): Fn2; -export function defMutator(path: Path1): Fn2, T>; +export function defMutator(path: Path1): Fn2, T>; export function defMutator( path: Path2 -): Fn2, T>; +): Fn2, T>; export function defMutator( path: Path3 -): Fn2, T>; +): Fn2, T>; export function defMutator( path: Path4 -): Fn2, T>; +): Fn2, T>; export function defMutator( path: Path5 -): Fn2, T>; +): Fn2, T>; export function defMutator( path: Path6 -): Fn2, T>; +): Fn2, T>; export function defMutator( path: Path7 -): Fn2, T>; +): Fn2, T>; export function defMutator( path: Path8 -): Fn2, T>; +): Fn2, T>; export function defMutator( path: DeepPath ): Fn2; diff --git a/packages/paths/src/set-in.ts b/packages/paths/src/set-in.ts index 3d879b4cfc..07337dec0a 100644 --- a/packages/paths/src/set-in.ts +++ b/packages/paths/src/set-in.ts @@ -11,14 +11,7 @@ import type { Path6, Path7, Path8, - PathVal1, - PathVal2, - PathVal3, - PathVal4, - PathVal5, - PathVal6, - PathVal7, - PathVal8, + PathVal, } from "@thi.ng/api"; /** @@ -65,42 +58,42 @@ export function setIn(state: T, path: Path0, val: T): T; export function setIn( state: T, path: Path1, - val: PathVal1 + val: PathVal ): T; export function setIn( state: T, path: Path2, - val: PathVal2 + val: PathVal ): T; export function setIn( state: T, path: Path3, - val: PathVal3 + val: PathVal ): T; export function setIn( state: T, path: Path4, - val: PathVal4 + val: PathVal ): T; export function setIn( state: T, path: Path5, - val: PathVal5 + val: PathVal ): T; export function setIn( state: T, path: Path6, - val: PathVal6 + val: PathVal ): T; export function setIn( state: T, path: Path7, - val: PathVal7 + val: PathVal ): T; export function setIn( state: T, path: Path8, - val: PathVal8 + val: PathVal ): T; export function setIn( state: T, diff --git a/packages/paths/src/setter.ts b/packages/paths/src/setter.ts index fe46cab47f..e46b1e651f 100644 --- a/packages/paths/src/setter.ts +++ b/packages/paths/src/setter.ts @@ -13,14 +13,7 @@ import type { Path6, Path7, Path8, - PathVal1, - PathVal2, - PathVal3, - PathVal4, - PathVal5, - PathVal6, - PathVal7, - PathVal8, + PathVal, NumOrString, } from "@thi.ng/api"; @@ -116,28 +109,28 @@ export const defSetterUnsafe = (path: Path): Fn2 => * @param path - */ export function defSetter(path: Path0): Fn2; -export function defSetter(path: Path1): Fn2, T>; +export function defSetter(path: Path1): Fn2, T>; export function defSetter( path: Path2 -): Fn2, T>; +): Fn2, T>; export function defSetter( path: Path3 -): Fn2, T>; +): Fn2, T>; export function defSetter( path: Path4 -): Fn2, T>; +): Fn2, T>; export function defSetter( path: Path5 -): Fn2, T>; +): Fn2, T>; export function defSetter( path: Path6 -): Fn2, T>; +): Fn2, T>; export function defSetter( path: Path7 -): Fn2, T>; +): Fn2, T>; export function defSetter( path: Path8 -): Fn2, T>; +): Fn2, T>; export function defSetter( path: DeepPath ): Fn2; diff --git a/packages/paths/src/update-in.ts b/packages/paths/src/update-in.ts index 61ae620443..c3965709c9 100644 --- a/packages/paths/src/update-in.ts +++ b/packages/paths/src/update-in.ts @@ -12,14 +12,8 @@ import type { Path6, Path7, Path8, - PathVal1, - PathVal2, - PathVal3, - PathVal4, - PathVal5, - PathVal6, - PathVal7, - PathVal8, + OptPathVal, + PathVal, } from "@thi.ng/api"; import type { UpdateFn } from "./api"; @@ -56,7 +50,7 @@ import type { UpdateFn } from "./api"; export const updateInUnsafe = ( state: any, path: Path, - fn: UpdateFn, + fn: UpdateFn, ...args: any[] ) => // @ts-ignore @@ -70,65 +64,74 @@ export const updateInUnsafe = ( * @param path - * @param fn - */ -export function updateIn(state: T, path: Path0, fn: UpdateFn): T; +export function updateIn(state: T, path: Path0, fn: UpdateFn): T; export function updateIn( state: T, path: Path1, - fn: UpdateFn>, + fn: UpdateFn, PathVal>, ...args: any[] ): T; export function updateIn( state: T, path: Path2, - fn: UpdateFn>, + fn: UpdateFn, PathVal>, ...args: any[] ): T; export function updateIn( state: T, path: Path3, - fn: UpdateFn>, + fn: UpdateFn, PathVal>, ...args: any[] ): T; export function updateIn( state: T, path: Path4, - fn: UpdateFn>, + fn: UpdateFn, PathVal>, ...args: any[] ): T; export function updateIn( state: T, path: Path5, - fn: UpdateFn>, + fn: UpdateFn, PathVal>, ...args: any[] ): T; export function updateIn( state: T, path: Path6, - fn: UpdateFn>, + fn: UpdateFn< + OptPathVal, + PathVal + >, ...args: any[] ): T; export function updateIn( state: T, path: Path7, - fn: UpdateFn>, + fn: UpdateFn< + OptPathVal, + PathVal + >, ...args: any[] ): T; export function updateIn( state: T, path: Path8, - fn: UpdateFn>, + fn: UpdateFn< + OptPathVal, + PathVal + >, ...args: any[] ): T; export function updateIn( state: T, path: DeepPath, - fn: UpdateFn, + fn: UpdateFn, ...args: any[] ): T; export function updateIn( state: any, path: Path, - fn: UpdateFn, + fn: UpdateFn, ...args: any[] ) { return defSetter(path)( diff --git a/packages/paths/src/updater.ts b/packages/paths/src/updater.ts index b3fa5d4d0c..35eaf3d459 100644 --- a/packages/paths/src/updater.ts +++ b/packages/paths/src/updater.ts @@ -13,14 +13,8 @@ import type { Path6, Path7, Path8, - PathVal1, - PathVal2, - PathVal3, - PathVal4, - PathVal5, - PathVal6, - PathVal7, - PathVal8, + OptPathVal, + PathVal, } from "@thi.ng/api"; import type { UpdateFn } from "./api"; @@ -52,7 +46,7 @@ import type { UpdateFn } from "./api"; */ export const defUpdaterUnsafe = ( path: Path, - fn: UpdateFn + fn: UpdateFn ): FnO => defUpdater(path, fn); /** @@ -62,44 +56,53 @@ export const defUpdaterUnsafe = ( * @param path - * @param fn - */ -export function defUpdater(path: Path0, fn: UpdateFn): FnO; +export function defUpdater(path: Path0, fn: UpdateFn): FnO; export function defUpdater( path: Path1, - fn: UpdateFn> + fn: UpdateFn, PathVal> ): FnO; export function defUpdater( path: Path2, - fn: UpdateFn> + fn: UpdateFn, PathVal> ): FnO; export function defUpdater( path: Path3, - fn: UpdateFn> + fn: UpdateFn, PathVal> ): FnO; export function defUpdater( path: Path4, - fn: UpdateFn> + fn: UpdateFn, PathVal> ): FnO; export function defUpdater( path: Path5, - fn: UpdateFn> + fn: UpdateFn, PathVal> ): FnO; export function defUpdater( path: Path6, - fn: UpdateFn> + fn: UpdateFn< + OptPathVal, + PathVal + > ): FnO; export function defUpdater( path: Path7, - fn: UpdateFn> + fn: UpdateFn< + OptPathVal, + PathVal + > ): FnO; export function defUpdater( path: Path8, - fn: UpdateFn> + fn: UpdateFn< + OptPathVal, + PathVal + > ): FnO; export function defUpdater( path: DeepPath, - fn: UpdateFn + fn: UpdateFn ): FnO; -export function defUpdater(path: Path, fn: UpdateFn): FnO { +export function defUpdater(path: Path, fn: UpdateFn): FnO { const g = defGetter(path); const s = defSetter(path); return (state: any, ...args: any[]) => From 8c2aab2f702803245d384b21f0e8c149138f73cd Mon Sep 17 00:00:00 2001 From: Karsten Schmidt Date: Fri, 27 Mar 2020 18:29:26 +0000 Subject: [PATCH 57/70] refactor(atom): update path value inference handling BREAKING CHANGE: update IReset, ISwap, SwapFn generics - use PathVal & OptPathVal for value type inference --- packages/atom/src/api.ts | 66 +++++++++++--------- packages/atom/src/atom.ts | 68 +++++++++++---------- packages/atom/src/cursor.ts | 105 +++++++++++++++++--------------- packages/atom/src/history.ts | 69 +++++++++++---------- packages/atom/src/transacted.ts | 69 +++++++++++---------- packages/atom/src/view.ts | 63 +++++++++---------- 6 files changed, 234 insertions(+), 206 deletions(-) diff --git a/packages/atom/src/api.ts b/packages/atom/src/api.ts index e1a7193dca..a776d8edd9 100644 --- a/packages/atom/src/api.ts +++ b/packages/atom/src/api.ts @@ -1,11 +1,13 @@ import type { DeepPath, + FnO, IClear, IDeref, IID, INotify, IRelease, IWatch, + OptPathVal, Path, Path0, Path1, @@ -16,18 +18,11 @@ import type { Path6, Path7, Path8, - PathVal1, - PathVal2, - PathVal3, - PathVal4, - PathVal5, - PathVal6, - PathVal7, - PathVal8, + PathVal, Predicate, } from "@thi.ng/api"; -export type SwapFn = (curr: T, ...args: any[]) => T; +export type SwapFn = FnO; export interface ReadonlyAtom extends IDeref, IRelease, IWatch {} @@ -37,28 +32,28 @@ export interface IReset { reset(val: T): T; resetIn(path: Path0, val: T): T; - resetIn(path: Path1, val: PathVal1): T; - resetIn(path: Path2, val: PathVal2): T; - resetIn(path: Path3, val: PathVal3): T; + resetIn(path: Path1, val: PathVal): T; + resetIn(path: Path2, val: PathVal): T; + resetIn(path: Path3, val: PathVal): T; resetIn( path: Path4, - val: PathVal4 + val: PathVal ): T; resetIn( path: Path5, - val: PathVal5 + val: PathVal ): T; resetIn( path: Path6, - val: PathVal6 + val: PathVal ): T; resetIn( path: Path7, - val: PathVal7 + val: PathVal ): T; resetIn( path: Path8, - val: PathVal8 + val: PathVal ): T; resetIn( path: DeepPath, @@ -69,52 +64,65 @@ export interface IReset { } export interface ISwap { - swap(fn: SwapFn, ...args: any[]): T; + swap(fn: SwapFn, ...args: any[]): T; - swapIn(path: Path0, fn: SwapFn, ...args: any[]): T; - swapIn(path: Path1, fn: SwapFn>, ...args: any[]): T; + swapIn(path: Path0, fn: SwapFn, ...args: any[]): T; + swapIn( + path: Path1, + fn: SwapFn, PathVal>, + ...args: any[] + ): T; swapIn( path: Path2, - fn: SwapFn>, + fn: SwapFn, PathVal>, ...args: any[] ): T; swapIn( path: Path3, - fn: SwapFn>, + fn: SwapFn, PathVal>, ...args: any[] ): T; swapIn( path: Path4, - fn: SwapFn>, + fn: SwapFn, PathVal>, ...args: any[] ): T; swapIn( path: Path5, - fn: SwapFn>, + fn: SwapFn, PathVal>, ...args: any[] ): T; swapIn( path: Path6, - fn: SwapFn>, + fn: SwapFn< + OptPathVal, + PathVal + >, ...args: any[] ): T; swapIn( path: Path7, - fn: SwapFn>, + fn: SwapFn< + OptPathVal, + PathVal + >, ...args: any[] ): T; swapIn( path: Path8, - fn: SwapFn>, + fn: SwapFn< + OptPathVal, + PathVal + >, ...args: any[] ): T; swapIn( path: DeepPath, - fn: SwapFn, + fn: SwapFn, ...args: any[] ): T; - swapInUnsafe(path: Path, fn: SwapFn, ...args: any[]): T; + swapInUnsafe(path: Path, fn: SwapFn, ...args: any[]): T; } export interface IView extends IDeref, IID, IRelease { diff --git a/packages/atom/src/atom.ts b/packages/atom/src/atom.ts index bb9911ba61..f86199fc6d 100644 --- a/packages/atom/src/atom.ts +++ b/packages/atom/src/atom.ts @@ -1,4 +1,4 @@ -import { IWatchMixin } from "@thi.ng/api"; +import { IWatchMixin, OptPathVal } from "@thi.ng/api"; import { illegalState } from "@thi.ng/errors"; import { setInUnsafe, updateInUnsafe } from "@thi.ng/paths"; import type { @@ -14,14 +14,7 @@ import type { Path6, Path7, Path8, - PathVal1, - PathVal2, - PathVal3, - PathVal4, - PathVal5, - PathVal6, - PathVal7, - PathVal8, + PathVal, Predicate, Watch, } from "@thi.ng/api"; @@ -74,29 +67,29 @@ export class Atom implements IAtom, IEquiv { return val; } - resetIn(path: Path0, val: T): T; - resetIn(path: Path1, val: PathVal1): T; - resetIn(path: Path2, val: PathVal2): T; - resetIn(path: Path3, val: PathVal3): T; + resetIn(path: Path0, val: T): T; + resetIn(path: Path1, val: PathVal): T; + resetIn(path: Path2, val: PathVal): T; + resetIn(path: Path3, val: PathVal): T; resetIn( path: Path4, - val: PathVal4 + val: PathVal ): T; resetIn( path: Path5, - val: PathVal5 + val: PathVal ): T; resetIn( path: Path6, - val: PathVal6 + val: PathVal ): T; resetIn( path: Path7, - val: PathVal7 + val: PathVal ): T; resetIn( path: Path8, - val: PathVal8 + val: PathVal ): T; resetIn( path: DeepPath, @@ -110,57 +103,70 @@ export class Atom implements IAtom, IEquiv { return this.reset(setInUnsafe(this._value, path, val)); } - swap(fn: SwapFn, ...args: any[]) { + swap(fn: SwapFn, ...args: any[]) { return this.reset(fn.apply(null, [this._value, ...args])); } - swapIn(path: Path0, fn: SwapFn, ...args: any[]): T; - swapIn(path: Path1, fn: SwapFn>, ...args: any[]): T; + swapIn(path: Path0, fn: SwapFn, ...args: any[]): T; + swapIn( + path: Path1, + fn: SwapFn, PathVal>, + ...args: any[] + ): T; swapIn( path: Path2, - fn: SwapFn>, + fn: SwapFn, PathVal>, ...args: any[] ): T; swapIn( path: Path3, - fn: SwapFn>, + fn: SwapFn, PathVal>, ...args: any[] ): T; swapIn( path: Path4, - fn: SwapFn>, + fn: SwapFn, PathVal>, ...args: any[] ): T; swapIn( path: Path5, - fn: SwapFn>, + fn: SwapFn, PathVal>, ...args: any[] ): T; swapIn( path: Path6, - fn: SwapFn>, + fn: SwapFn< + OptPathVal, + PathVal + >, ...args: any[] ): T; swapIn( path: Path7, - fn: SwapFn>, + fn: SwapFn< + OptPathVal, + PathVal + >, ...args: any[] ): T; swapIn( path: Path8, - fn: SwapFn>, + fn: SwapFn< + OptPathVal, + PathVal + >, ...args: any[] ): T; swapIn( path: DeepPath, - fn: SwapFn, + fn: SwapFn, ...args: any[] ): T; - swapIn(path: Path, fn: SwapFn, ...args: any[]) { + swapIn(path: Path, fn: SwapFn, ...args: any[]) { return this.reset(updateInUnsafe(this._value, path, fn, ...args)); } - swapInUnsafe(path: Path, fn: SwapFn, ...args: any[]) { + swapInUnsafe(path: Path, fn: SwapFn, ...args: any[]) { return this.reset(updateInUnsafe(this._value, path, fn, ...args)); } diff --git a/packages/atom/src/cursor.ts b/packages/atom/src/cursor.ts index baf2d3f9ed..c99e1f447b 100644 --- a/packages/atom/src/cursor.ts +++ b/packages/atom/src/cursor.ts @@ -1,10 +1,8 @@ -import { defGetterUnsafe, defSetterUnsafe } from "@thi.ng/paths"; -import { Atom } from "./atom"; -import { nextID } from "./idgen"; import type { DeepPath, IID, IRelease, + OptPathVal, Path, Path0, Path1, @@ -15,58 +13,54 @@ import type { Path6, Path7, Path8, - PathVal1, - PathVal2, - PathVal3, - PathVal4, - PathVal5, - PathVal6, - PathVal7, - PathVal8, + PathVal, Watch, } from "@thi.ng/api"; +import { defGetterUnsafe, defSetterUnsafe } from "@thi.ng/paths"; import type { CursorOpts, IAtom, SwapFn } from "./api"; +import { Atom } from "./atom"; +import { nextID } from "./idgen"; export function defCursor( parent: IAtom, path: Path1, - opts?: Partial>> -): Cursor>; + opts?: Partial>> +): Cursor>; export function defCursor( parent: IAtom, path: Path2, - opts?: Partial>> -): Cursor>; + opts?: Partial>> +): Cursor>; export function defCursor( parent: IAtom, path: Path3, - opts?: Partial>> -): Cursor>; + opts?: Partial>> +): Cursor>; export function defCursor( parent: IAtom, path: Path4, - opts?: Partial>> -): Cursor>; + opts?: Partial>> +): Cursor>; export function defCursor( parent: IAtom, path: Path5, - opts?: Partial>> -): Cursor>; + opts?: Partial>> +): Cursor>; export function defCursor( parent: IAtom, path: Path6, - opts?: Partial>> -): Cursor>; + opts?: Partial>> +): Cursor>; export function defCursor( parent: IAtom, path: Path7, - opts?: Partial>> -): Cursor>; + opts?: Partial>> +): Cursor>; export function defCursor( parent: IAtom, path: Path8, - opts?: Partial>> -): Cursor>; + opts?: Partial>> +): Cursor>; export function defCursor( parent: IAtom, path: DeepPath, @@ -177,29 +171,29 @@ export class Cursor implements IAtom, IID, IRelease { return this.local.reset(val); } - resetIn(path: Path0, val: T): T; - resetIn(path: Path1, val: PathVal1): T; - resetIn(path: Path2, val: PathVal2): T; - resetIn(path: Path3, val: PathVal3): T; + resetIn(path: Path0, val: T): T; + resetIn(path: Path1, val: PathVal): T; + resetIn(path: Path2, val: PathVal): T; + resetIn(path: Path3, val: PathVal): T; resetIn( path: Path4, - val: PathVal4 + val: PathVal ): T; resetIn( path: Path5, - val: PathVal5 + val: PathVal ): T; resetIn( path: Path6, - val: PathVal6 + val: PathVal ): T; resetIn( path: Path7, - val: PathVal7 + val: PathVal ): T; resetIn( path: Path8, - val: PathVal8 + val: PathVal ): T; resetIn( path: DeepPath, @@ -213,57 +207,70 @@ export class Cursor implements IAtom, IID, IRelease { return this.local.resetInUnsafe(path, val); } - swap(fn: SwapFn, ...args: any[]): T { + swap(fn: SwapFn, ...args: any[]): T { return this.local.swap(fn, ...args); } - swapIn(path: Path0, fn: SwapFn, ...args: any[]): T; - swapIn(path: Path1, fn: SwapFn>, ...args: any[]): T; + swapIn(path: Path0, fn: SwapFn, ...args: any[]): T; + swapIn( + path: Path1, + fn: SwapFn, PathVal>, + ...args: any[] + ): T; swapIn( path: Path2, - fn: SwapFn>, + fn: SwapFn, PathVal>, ...args: any[] ): T; swapIn( path: Path3, - fn: SwapFn>, + fn: SwapFn, PathVal>, ...args: any[] ): T; swapIn( path: Path4, - fn: SwapFn>, + fn: SwapFn, PathVal>, ...args: any[] ): T; swapIn( path: Path5, - fn: SwapFn>, + fn: SwapFn, PathVal>, ...args: any[] ): T; swapIn( path: Path6, - fn: SwapFn>, + fn: SwapFn< + OptPathVal, + PathVal + >, ...args: any[] ): T; swapIn( path: Path7, - fn: SwapFn>, + fn: SwapFn< + OptPathVal, + PathVal + >, ...args: any[] ): T; swapIn( path: Path8, - fn: SwapFn>, + fn: SwapFn< + OptPathVal, + PathVal + >, ...args: any[] ): T; swapIn( path: DeepPath, - fn: SwapFn, + fn: SwapFn, ...args: any[] ): T; - swapIn(path: Path, fn: SwapFn, ...args: any[]) { + swapIn(path: Path, fn: SwapFn, ...args: any[]) { return this.local.swapInUnsafe(path, fn, ...args); } - swapInUnsafe(path: Path, fn: SwapFn, ...args: any[]) { + swapInUnsafe(path: Path, fn: SwapFn, ...args: any[]) { return this.local.swapInUnsafe(path, fn, ...args); } diff --git a/packages/atom/src/history.ts b/packages/atom/src/history.ts index b81c63b169..de0bc5d9c7 100644 --- a/packages/atom/src/history.ts +++ b/packages/atom/src/history.ts @@ -1,10 +1,9 @@ import { INotifyMixin } from "@thi.ng/api"; -import { equiv } from "@thi.ng/equiv"; -import { defGetterUnsafe, setInUnsafe, updateInUnsafe } from "@thi.ng/paths"; import type { DeepPath, Event, Listener, + OptPathVal, Path, Path0, Path1, @@ -15,17 +14,12 @@ import type { Path6, Path7, Path8, - PathVal1, - PathVal2, - PathVal3, - PathVal4, - PathVal5, - PathVal6, - PathVal7, - PathVal8, + PathVal, Predicate2, Watch, } from "@thi.ng/api"; +import { equiv } from "@thi.ng/equiv"; +import { defGetterUnsafe, setInUnsafe, updateInUnsafe } from "@thi.ng/paths"; import type { IAtom, IHistory, SwapFn } from "./api"; export const defHistory = ( @@ -165,28 +159,28 @@ export class History implements IHistory { } resetIn(path: Path0, val: T): T; - resetIn(path: Path1, val: PathVal1): T; - resetIn(path: Path2, val: PathVal2): T; - resetIn(path: Path3, val: PathVal3): T; + resetIn(path: Path1, val: PathVal): T; + resetIn(path: Path2, val: PathVal): T; + resetIn(path: Path3, val: PathVal): T; resetIn( path: Path4, - val: PathVal4 + val: PathVal ): T; resetIn( path: Path5, - val: PathVal5 + val: PathVal ): T; resetIn( path: Path6, - val: PathVal6 + val: PathVal ): T; resetIn( path: Path7, - val: PathVal7 + val: PathVal ): T; resetIn( path: Path8, - val: PathVal8 + val: PathVal ): T; resetIn( path: DeepPath, @@ -214,53 +208,66 @@ export class History implements IHistory { * @param fn - update function * @param args - additional args passed to `fn` */ - swap(fn: SwapFn, ...args: any[]): T { + swap(fn: SwapFn, ...args: any[]): T { return this.reset(fn(this.state.deref(), ...args)); } - swapIn(path: Path0, fn: SwapFn, ...args: any[]): T; - swapIn(path: Path1, fn: SwapFn>, ...args: any[]): T; + swapIn(path: Path0, fn: SwapFn, ...args: any[]): T; + swapIn( + path: Path1, + fn: SwapFn, PathVal>, + ...args: any[] + ): T; swapIn( path: Path2, - fn: SwapFn>, + fn: SwapFn, PathVal>, ...args: any[] ): T; swapIn( path: Path3, - fn: SwapFn>, + fn: SwapFn, PathVal>, ...args: any[] ): T; swapIn( path: Path4, - fn: SwapFn>, + fn: SwapFn, PathVal>, ...args: any[] ): T; swapIn( path: Path5, - fn: SwapFn>, + fn: SwapFn, PathVal>, ...args: any[] ): T; swapIn( path: Path6, - fn: SwapFn>, + fn: SwapFn< + OptPathVal, + PathVal + >, ...args: any[] ): T; swapIn( path: Path7, - fn: SwapFn>, + fn: SwapFn< + OptPathVal, + PathVal + >, ...args: any[] ): T; swapIn( path: Path8, - fn: SwapFn>, + fn: SwapFn< + OptPathVal, + PathVal + >, ...args: any[] ): T; swapIn( path: DeepPath, - fn: SwapFn, + fn: SwapFn, ...args: any[] ): T; - swapIn(path: Path, fn: SwapFn, ...args: any[]) { + swapIn(path: Path, fn: SwapFn, ...args: any[]) { const prev = this.state.deref(); const get = defGetterUnsafe(path); const prevV = get(prev); @@ -270,7 +277,7 @@ export class History implements IHistory { return curr; } - swapInUnsafe(path: Path, fn: SwapFn, ...args: any[]) { + swapInUnsafe(path: Path, fn: SwapFn, ...args: any[]) { return this.swapIn(path, fn, ...args); } diff --git a/packages/atom/src/transacted.ts b/packages/atom/src/transacted.ts index 23e522c9fe..4ac676892c 100644 --- a/packages/atom/src/transacted.ts +++ b/packages/atom/src/transacted.ts @@ -1,8 +1,7 @@ import { assert } from "@thi.ng/api"; -import { setInUnsafe, updateInUnsafe } from "@thi.ng/paths"; -import { nextID } from "./idgen"; import type { DeepPath, + OptPathVal, Path, Path0, Path1, @@ -13,17 +12,12 @@ import type { Path6, Path7, Path8, - PathVal1, - PathVal2, - PathVal3, - PathVal4, - PathVal5, - PathVal6, - PathVal7, - PathVal8, + PathVal, Watch, } from "@thi.ng/api"; +import { setInUnsafe, updateInUnsafe } from "@thi.ng/paths"; import type { IAtom, SwapFn } from "./api"; +import { nextID } from "./idgen"; export const defTransacted = (parent: IAtom) => new Transacted(parent); @@ -68,28 +62,28 @@ export class Transacted implements IAtom { } resetIn(path: Path0, val: T): T; - resetIn(path: Path1, val: PathVal1): T; - resetIn(path: Path2, val: PathVal2): T; - resetIn(path: Path3, val: PathVal3): T; + resetIn(path: Path1, val: PathVal): T; + resetIn(path: Path2, val: PathVal): T; + resetIn(path: Path3, val: PathVal): T; resetIn( path: Path4, - val: PathVal4 + val: PathVal ): T; resetIn( path: Path5, - val: PathVal5 + val: PathVal ): T; resetIn( path: Path6, - val: PathVal6 + val: PathVal ): T; resetIn( path: Path7, - val: PathVal7 + val: PathVal ): T; resetIn( path: Path8, - val: PathVal8 + val: PathVal ): T; resetIn( path: DeepPath, @@ -104,59 +98,72 @@ export class Transacted implements IAtom { return this.resetIn(path, val); } - swap(fn: SwapFn, ...args: any[]) { + swap(fn: SwapFn, ...args: any[]) { this.ensureTx(); return this.reset(fn.apply(null, [this.current!, ...args])); } - swapIn(path: Path0, fn: SwapFn, ...args: any[]): T; - swapIn(path: Path1, fn: SwapFn>, ...args: any[]): T; + swapIn(path: Path0, fn: SwapFn, ...args: any[]): T; + swapIn( + path: Path1, + fn: SwapFn, PathVal>, + ...args: any[] + ): T; swapIn( path: Path2, - fn: SwapFn>, + fn: SwapFn, PathVal>, ...args: any[] ): T; swapIn( path: Path3, - fn: SwapFn>, + fn: SwapFn, PathVal>, ...args: any[] ): T; swapIn( path: Path4, - fn: SwapFn>, + fn: SwapFn, PathVal>, ...args: any[] ): T; swapIn( path: Path5, - fn: SwapFn>, + fn: SwapFn, PathVal>, ...args: any[] ): T; swapIn( path: Path6, - fn: SwapFn>, + fn: SwapFn< + OptPathVal, + PathVal + >, ...args: any[] ): T; swapIn( path: Path7, - fn: SwapFn>, + fn: SwapFn< + OptPathVal, + PathVal + >, ...args: any[] ): T; swapIn( path: Path8, - fn: SwapFn>, + fn: SwapFn< + OptPathVal, + PathVal + >, ...args: any[] ): T; swapIn( path: DeepPath, - fn: SwapFn, + fn: SwapFn, ...args: any[] ): T; - swapIn(path: Path, fn: SwapFn, ...args: any[]) { + swapIn(path: Path, fn: SwapFn, ...args: any[]) { this.ensureTx(); return this.reset(updateInUnsafe(this.current, path, fn, ...args)); } - swapInUnsafe(path: Path, fn: SwapFn, ...args: any[]) { + swapInUnsafe(path: Path, fn: SwapFn, ...args: any[]) { return this.swapIn(path, fn, ...args); } diff --git a/packages/atom/src/view.ts b/packages/atom/src/view.ts index 315e8b3278..dd96229c07 100644 --- a/packages/atom/src/view.ts +++ b/packages/atom/src/view.ts @@ -1,9 +1,7 @@ -import { equiv as _equiv } from "@thi.ng/equiv"; -import { defGetterUnsafe, toPath } from "@thi.ng/paths"; -import { nextID } from "./idgen"; import type { DeepPath, Fn, + OptPathVal, Path, Path0, Path1, @@ -14,17 +12,12 @@ import type { Path6, Path7, Path8, - PathVal1, - PathVal2, - PathVal3, - PathVal4, - PathVal5, - PathVal6, - PathVal7, - PathVal8, Predicate2, } from "@thi.ng/api"; +import { equiv as _equiv } from "@thi.ng/equiv"; +import { defGetterUnsafe, toPath } from "@thi.ng/paths"; import type { IView, ReadonlyAtom } from "./api"; +import { nextID } from "./idgen"; export function defView( parent: ReadonlyAtom, @@ -36,59 +29,59 @@ export function defView( export function defView( parent: ReadonlyAtom, path: Path1, - tx?: Fn, R>, + tx?: Fn, R>, lazy?: boolean, - equiv?: Predicate2> -): View : R>; + equiv?: Predicate2> +): View : R>; export function defView( parent: ReadonlyAtom, path: Path2, - tx?: Fn, R>, + tx?: Fn, R>, lazy?: boolean, - equiv?: Predicate2> -): View : R>; + equiv?: Predicate2> +): View : R>; export function defView( parent: ReadonlyAtom, path: Path3, - tx?: Fn, R>, + tx?: Fn, R>, lazy?: boolean, - equiv?: Predicate2> -): View : R>; + equiv?: Predicate2> +): View : R>; export function defView( parent: ReadonlyAtom, path: Path4, - tx?: Fn, R>, + tx?: Fn, R>, lazy?: boolean, - equiv?: Predicate2> -): View : R>; + equiv?: Predicate2> +): View : R>; export function defView( parent: ReadonlyAtom, path: Path5, - tx?: Fn, R>, + tx?: Fn, R>, lazy?: boolean, - equiv?: Predicate2> -): View : R>; + equiv?: Predicate2> +): View : R>; export function defView( parent: ReadonlyAtom, path: Path6, - tx?: Fn, R>, + tx?: Fn, R>, lazy?: boolean, - equiv?: Predicate2> -): View : R>; + equiv?: Predicate2> +): View : R>; export function defView( parent: ReadonlyAtom, path: Path7, - tx?: Fn, R>, + tx?: Fn, R>, lazy?: boolean, - equiv?: Predicate2> -): View : R>; + equiv?: Predicate2> +): View : R>; export function defView( parent: ReadonlyAtom, path: Path8, - tx?: Fn, R>, + tx?: Fn, R>, lazy?: boolean, - equiv?: Predicate2> -): View : R>; + equiv?: Predicate2> +): View : R>; export function defView( parent: ReadonlyAtom, path: DeepPath, From ba205574ecf6d54bb4f038ecb93546dff7dc0101 Mon Sep 17 00:00:00 2001 From: Karsten Schmidt Date: Fri, 27 Mar 2020 18:35:14 +0000 Subject: [PATCH 58/70] refactor(rstream): update fromView value type inference --- packages/rstream/src/from/view.ts | 51 +++++++++++++++---------------- 1 file changed, 24 insertions(+), 27 deletions(-) diff --git a/packages/rstream/src/from/view.ts b/packages/rstream/src/from/view.ts index 4dbf45a0ac..07d299b4ba 100644 --- a/packages/rstream/src/from/view.ts +++ b/packages/rstream/src/from/view.ts @@ -1,9 +1,7 @@ -import { View } from "@thi.ng/atom"; -import { Stream } from "../stream"; -import { optsWithID } from "../utils/idgen"; import type { DeepPath, Fn, + OptPathVal, Path, Path0, Path1, @@ -14,18 +12,13 @@ import type { Path6, Path7, Path8, - PathVal1, - PathVal2, - PathVal3, - PathVal4, - PathVal5, - PathVal6, - PathVal7, - PathVal8, Predicate2, } from "@thi.ng/api"; +import { View } from "@thi.ng/atom"; import type { ReadonlyAtom } from "@thi.ng/atom"; import type { CommonOpts } from "../api"; +import { Stream } from "../stream"; +import { optsWithID } from "../utils/idgen"; export interface FromViewOpts extends Partial { path: P; @@ -104,48 +97,52 @@ export function fromView( ): Stream; export function fromView( parent: ReadonlyAtom, - opts: FromViewOpts, PathVal1, R> -): Stream : R>; + opts: FromViewOpts, OptPathVal, R> +): Stream : R>; export function fromView( parent: ReadonlyAtom, - opts: FromViewOpts, PathVal2, R> -): Stream : R>; + opts: FromViewOpts, OptPathVal, R> +): Stream : R>; export function fromView( parent: ReadonlyAtom, - opts: FromViewOpts, PathVal3, R> -): Stream : R>; + opts: FromViewOpts, OptPathVal, R> +): Stream : R>; export function fromView( parent: ReadonlyAtom, - opts: FromViewOpts, PathVal4, R> -): Stream : R>; + opts: FromViewOpts, OptPathVal, R> +): Stream : R>; export function fromView( parent: ReadonlyAtom, - opts: FromViewOpts, PathVal5, R> -): Stream : R>; + opts: FromViewOpts< + Path5, + OptPathVal, + R + > +): Stream : R>; export function fromView( parent: ReadonlyAtom, opts: FromViewOpts< Path6, - PathVal6, + OptPathVal, R > -): Stream : R>; +): Stream : R>; export function fromView( parent: ReadonlyAtom, opts: FromViewOpts< Path7, - PathVal7, + OptPathVal, R > -): Stream : R>; +): Stream : R>; export function fromView( parent: ReadonlyAtom, opts: FromViewOpts< Path8, - PathVal8, + OptPathVal, R > -): Stream : R>; +): Stream : R>; export function fromView( parent: ReadonlyAtom, opts: FromViewOpts, any, R> From 901776119ec5d07ddf7f402b6354d9ba2a53f830 Mon Sep 17 00:00:00 2001 From: Karsten Schmidt Date: Sat, 28 Mar 2020 00:06:04 +0000 Subject: [PATCH 59/70] docs(paths): major update readme --- packages/paths/README.md | 275 +++++++++++++++++++++-------------- packages/paths/README.tpl.md | 259 ++++++++++++++++++++------------- 2 files changed, 326 insertions(+), 208 deletions(-) diff --git a/packages/paths/README.md b/packages/paths/README.md index 674ee7d32a..fe796d566f 100644 --- a/packages/paths/README.md +++ b/packages/paths/README.md @@ -1,6 +1,6 @@ -# ![@thi.ng/paths](https://media.thi.ng/umbrella/banners/thing-paths.svg?1584814357) +# ![@thi.ng/paths](https://media.thi.ng/umbrella/banners/thing-paths.svg?1585353919) [![npm version](https://img.shields.io/npm/v/@thi.ng/paths.svg)](https://www.npmjs.com/package/@thi.ng/paths) ![npm downloads](https://img.shields.io/npm/dm/@thi.ng/paths.svg) @@ -11,12 +11,19 @@ This project is part of the - [About](#about) - [Status](#status) +- [Breaking changes](#breaking-changes) + - [4.0.0](#400) + - [Naming convention](#naming-convention) + - [Type checked accessors](#type-checked-accessors) - [Installation](#installation) - [Dependencies](#dependencies) - [Usage examples](#usage-examples) - [API](#api) - - [Accessors](#accessors) - - [Type checked versions](#type-checked-versions) + - [Type checked paths](#type-checked-paths) + - [Optional property handling](#optional-property-handling) + - [Higher-order accessors](#higher-order-accessors) + - [First order operators](#first-order-operators) + - [Deletions](#deletions) - [Structural sharing](#structural-sharing) - [Mutable setter](#mutable-setter) - [Path checking](#path-checking) @@ -31,13 +38,36 @@ Immutable, optimized and optionally typed path-based object property / array acc **STABLE** - used in production +## Breaking changes + +### 4.0.0 + +#### Naming convention + +As part of a larger effort to enforce more consistent naming conventions +across various umbrella packages, all higher-order operators in this +package are now using the `def` prefix: e.g. `getterT()` => +`defGetter()`, `setterT()` => `defSetter()`. + +#### Type checked accessors + +**Type checked accessors are now the default and those functions expect +paths provided as tuples**. To continue using string based paths (e.g. +`"a.b.c"`), alternative `Unsafe` versions are provided. E.g. `getIn()` +(type checked) vs. `getInUnsafe()` (unchecked). Higher-order versions +also provide fallbacks (e.g. `getter()` => `defGetterUnsafe()`). + +Type checking for paths is currently "only" supported for the first 8 +levels of nesting. Deeper paths are supported but only partially checked +and their value type inferred as `any`. + ## Installation ```bash yarn add @thi.ng/paths ``` -Package sizes (gzipped): ESM: 1.0KB / CJS: 1.1KB / UMD: 1.1KB +Package sizes (gzipped): CJS: 1.19 KB ## Dependencies @@ -57,6 +87,7 @@ A selection: | ------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- | --------------------------------------------------------- | -------------------------------------------------------------------------------------- | | | Using hdom in an Elm-like manner | [Demo](https://demo.thi.ng/umbrella/hdom-elm/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/hdom-elm) | | | Event handling w/ interceptors and side effects | [Demo](https://demo.thi.ng/umbrella/interceptor-basics2/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/interceptor-basics2) | +| | Basic SPA example with atom-based UI router | [Demo](https://demo.thi.ng/umbrella/login-form/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/login-form) | | | Minimal demo of using rstream constructs to form an interceptor-style event loop | [Demo](https://demo.thi.ng/umbrella/rstream-event-loop/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/rstream-event-loop) | | | Obligatory to-do list example with undo/redo | [Demo](https://demo.thi.ng/umbrella/todo-list/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/todo-list) | | | Triple store query results & sortable table | [Demo](https://demo.thi.ng/umbrella/triple-query/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/triple-query) | @@ -65,31 +96,98 @@ A selection: [Generated API docs](https://docs.thi.ng/umbrella/paths/) -### Accessors +### Type checked paths + +As stated in the [breaking changes](#breaking-changes) section, since +v4.0.0 paths are now type checked by default. These new functions use +Typescript generics to validate a given path against the type structure +of the target state object. Since string paths cannot be checked, only +path tuples are supported. **Type checking & inference supports path +lengths up to 8** (i.e. levels of hierarchy) before reverting back to +`any` for longer/deeper paths (there's no depth limit per se). + +Due to missing type information of the not-yet-known state value, using +the typed checked higher-order versions (e.g. `defGetter`, `defSetter` +etc.) is slightly more verbose compared to their immediate use, +first-order versions (e.g. `getIn()`, `setIn()` etc.), where everything +can be inferred directly. However, (re)using the HOF-constructed +accessors *can* be somewhat faster and more convenient... YMMV! More details below. -The `getter()`, `setter()` and `updater()` functions compile a lookup -path like `a.b.c` into an optimized function operating directly at the -value the path points to in nested object. For getters, this essentially -compiles to `val = obj.a.b.c`, with the important difference that the -function returns `undefined` if any intermediate values along the lookup -path are undefined (and doesn't throw an error). +#### Optional property handling -The resulting setter function too accepts a single object (or array) to -operate on and when called, **immutably** replaces the value at the -given path, i.e. it produces a selective deep copy of obj up until given -path. If any intermediate key is not present in the given object, it -creates a plain empty object for that missing key and descends further -along the path. +When accessing data structures with optional properties, not only the +leaf value type targeted by a lookup path is important, but any +intermediate optional properties need to be considered too. Furthermore, +we need to distinguish between read (get) and write (update) use cases +for correct type inference. + +For example, given these types: ```ts -s = setter("a.b.c"); -// or -s = setter(["a","b","c"]); +type Foo1 = { a: { b: { c?: number; } } }; + +type Foo2 = { a?: { b: { c: number; } } }; +``` + +For get/read purposes the inferred type for `c` will both be `number | +undefined`. Even though `c` in `Foo2` is not marked as optional, the `a` +property is optional and so attempting to lookup `c` can yield +`undefined`... + +For set/update/write purposes, the type for `c` is inferred verbatim. +I.e. if a property is marked as optional, a setter will allow +`undefined` as new value as well. + +### Higher-order accessors + +The `defGetter()`, `defSetter()` and `defUpdater()` functions compile a +lookup path tuple into an optimized function, operating directly at the +value the path points to in a nested object given later. For getters, +this essentially compiles to: -s({a: {b: {c: 23}}}, 24) -// {a: {b: {c: 24}}} +```ts +defGetter(["a","b","c"]) => (obj) => obj.a.b.c; +``` + +...with the important difference that the function returns `undefined` +if any intermediate values along the lookup path are undefined (and +doesn't throw an error). + +For setters / updaters, the resulting function too accepts a single +object (or array) to operate on and when called, **immutably** replaces +the value at the given path, i.e. it produces a selective deep copy of +obj up until given path. If any intermediate key is not present in the +given object, it creates a plain empty object for that missing key and +descends further along the path. + +```ts +// define state structure (see above example) +interface State { + a: { + b?: number; + c: string[]; + } +} + +const state: State = { a: { b: 1, c: ["c1", "c2"] } }; + +// build type checked getter for `b` & `c` +const getB = defGetter(["a", "b"]); +const getFirstC = defGetter(["a", "c", 0]); + +const b = getB(state); // b inferred as `number | undefined` +const c1 = getFirstC(state); // c1 inferred as `string` +``` -s({x: 23}, 24) +Paths can also be defined as dot-separated strings, however cannot be type checked and MUST use the `Unsafe` version of each operation: + +```ts +s = defSetterUnsafe("a.b.c"); + +s({ a: { b: { c: 23 } } }, 24) +// { a: { b: { c: 24 } } } + +s({ x: 23 }, 24) // { x: 23, a: { b: { c: 24 } } } s(null, 24) @@ -101,101 +199,66 @@ supplied function to apply to the existing value (incl. any other arguments passed): ```ts -inc = updater("a.b", (x) => x != null ? x + 1 : 1); +type State = { a?: { b?: number; } }; + +const inc = defUpdater( + ["a","b"], + // x inferred as number | undefined + (x) => x !== undefined ? x + 1 : 1 +); -inc({a: {b: 10}}); +inc({ a: { b: 10 } }); // { a: { b: 11 } } inc({}); // { a: { b: 1 } } // with additional arguments -add = updater("a.b", (x, n) => x + n); +add = defUpdater("a.b", (x, n) => x + n); add({a: {b: 10}}, 13); // { a: { b: 23 } } ``` +### First order operators + In addition to these higher-order functions, the module also provides immediate-use wrappers: `getIn()`, `setIn()`, `updateIn()` and -`deleteIn()`. These functions are using `getter` / `setter` internally, -so have same behaviors. +`deleteIn()`. These functions are using `defGetter` / `defSetter` internally, so come with the same contracts/disclaimers... ```ts -state = {a: {b: {c: 23}}}; +const state = { a: { b: { c: 23 } } }; + +const cPath = ["a", "b", "c"]; -getIn(state, "a.b.c") +getIn(state, cPath) // 23 -setIn(state, "a.b.c", 24) -// {a: {b: {c: 24}}} +setIn(state, cPath, 24) +// { a: { b: { c: 24 } } } // apply given function to path value -updateIn(state, "a.b.c", x => x + 1) -// {a: {b: {c: 24}}} +// Note: New `c` is 24, since above `setIn()` didn't mutate orig +updateIn(state, cPath, (x) => x + 1) +// { a: { b: { c: 24 } } } // immutably remove path key -deleteIn(state, "a.b.c.") -// {a: {b: {}}} -``` - -### Type checked versions - -Since v2.2.0 type checked versions of the above accessors are available: - -- `getterT` / `getInT` -- `setterT` / `setInT` -- `updaterT` / `updateInT` -- `deleteInT` -- `mutatorT` / `mutInT` - -These functions use generics (via mapped types) to validate the given -path against the type structure of the state object. Since string paths -cannot be type checked, only path tuples are supported. **Type checking & -inference supports path lengths up to 8** (i.e. levels of -hierarchy) before reverting back to `any`. - -```ts -const state = { a: { b: 1, c: ["c1", "c2"] } }; - -const b = getInT(state, ["a", "b"]); // b inferred as number -const c = getInT(state, ["a", "c"]); // c inferred as string[] -const c1len = getInT(state, ["a", "c", 0, "length"]); // inferred as number - -getIn(state, ["a", "d"]); // compile error -getIn(state, ["x"]); // compile error +deleteIn(state, cPath) +// { a: { b: {} } } ``` -Using the typed checked HOF versions (e.g. `getterT`, `setterT` etc.) is -slightly more verbose due to missing type information of the not yet -know state and the way generics are done in TypeScript: - -```ts -// define state structure (see above example) -interface State { - a: { - b: number; - c: string[]; - } -} - -// build typed getter for `b` & `c` state -const getB = getterT(["a", "b"]); -const getFirstC = getterT(["a", "c", 0]); +### Deletions -// using `state` from previous example -const b = getB(state); // inferred as number -const c1 = getFirstC(state); // inferred as string -``` - -Since `deleteInT` immutably removes a key from the given state object, it also returns a new type from which the key has been explicitly removed. +Since `deleteIn` immutably removes a key from the given state object, it +also returns a new type from which the key has been explicitly removed. +Those return types come in the form of `Without{1-8}<...>` interfaces. ```ts // again using `state` from above example // remove nested key `a.c` -const state2 = deleteInT(state, ["a","c"]); +const state2 = deleteIn(state, ["a","b","c"]); // compile error: "Property `c` does not exist` -state2.a.c; +state2.a.b.c; ``` ### Structural sharing @@ -209,12 +272,12 @@ using the ES6 spread op (for objects, `slice()` for arrays) and dynamic functional composition to produce the setter/updater). ```ts -s = setter("a.b.c"); +const s = defSetterUnsafe("a.b.c"); // original -a = { x: { y: { z: 1 } }, u: { v: 2 } }; +const a = { x: { y: { z: 1 } }, u: { v: 2 } }; // updated version -b = s(a, 3); +const b = s(a, 3); // { x: { y: { z: 1 } }, u: { v: 2 }, a: { b: { c: 3 } } } // verify anything under keys `x` & `u` is still identical @@ -225,34 +288,34 @@ a.u === b.u; // true ### Mutable setter -`mutator()` is the mutable alternative to `setter()`. It returns a -function, which when called, mutates given object / array at given path -location and bails if any intermediate path values are non-indexable -(only the very last path element can be missing in the actual object -structure). If successful, returns original (mutated) object, else -`undefined`. This function too provides optimized versions for path -lengths <= 4. +`defMutator()`/`defMutatorUnsafe()` are the mutable alternatives to +`defSetter()`/`defSetterUnsafe()`. Each returns a function, which when +called, mutates given object / array at given path location and bails if +any intermediate path values are non-indexable (only the very last path +element can be missing in the actual target object structure). If +successful, returns original (mutated) object, else `undefined`. This +function too provides optimized versions for path lengths <= 4. As with `setIn`, `mutIn` is the immediate use mutator, i.e. the same as: -`mutator(path)(state, val)`. +`defMutator(path)(state, val)`. ```ts -mutIn({ a: { b: [10, 20] } }, "a.b.1", 23); -// or mutIn({ a: { b: [10, 20] } }, ["a", "b", 1], 23); +// or +mutInUnsafe({ a: { b: [10, 20] } }, "a.b.1", 23); // { a: { b: [ 10, 23 ] } } -// fails (because of missing path structure in target object) -mutIn({}, "a.b.c", 23); +// no-op (because of missing path structure in target object) +mutInUnsafe({}, "a.b.c", 23); // undefined ``` ### Path checking -The `exists()` function takes an arbitrary object and lookup path. -Descends into object along path and returns true if the full path exists -(even if final leaf value is `null` or `undefined`). Checks are -performed using `hasOwnProperty()`. +The `exists()` function takes an arbitrary object and lookup path +(string or tuple). Descends into object along path and returns true if +the full path exists (even if final leaf value is `null` or +`undefined`). Checks are performed using `hasOwnProperty()`. ```ts exists({ a: { b: { c: [null] } } }, "a.b.c.0"); diff --git a/packages/paths/README.tpl.md b/packages/paths/README.tpl.md index 2adb0e5cca..b2951beac8 100644 --- a/packages/paths/README.tpl.md +++ b/packages/paths/README.tpl.md @@ -15,6 +15,29 @@ ${pkg.description} ${status} +## Breaking changes + +### 4.0.0 + +#### Naming convention + +As part of a larger effort to enforce more consistent naming conventions +across various umbrella packages, all higher-order operators in this +package are now using the `def` prefix: e.g. `getterT()` => +`defGetter()`, `setterT()` => `defSetter()`. + +#### Type checked accessors + +**Type checked accessors are now the default and those functions expect +paths provided as tuples**. To continue using string based paths (e.g. +`"a.b.c"`), alternative `Unsafe` versions are provided. E.g. `getIn()` +(type checked) vs. `getInUnsafe()` (unchecked). Higher-order versions +also provide fallbacks (e.g. `getter()` => `defGetterUnsafe()`). + +Type checking for paths is currently "only" supported for the first 8 +levels of nesting. Deeper paths are supported but only partially checked +and their value type inferred as `any`. + ${supportPackages} ${relatedPackages} @@ -39,31 +62,98 @@ ${examples} ${docLink} -### Accessors +### Type checked paths + +As stated in the [breaking changes](#breaking-changes) section, since +v4.0.0 paths are now type checked by default. These new functions use +Typescript generics to validate a given path against the type structure +of the target state object. Since string paths cannot be checked, only +path tuples are supported. **Type checking & inference supports path +lengths up to 8** (i.e. levels of hierarchy) before reverting back to +`any` for longer/deeper paths (there's no depth limit per se). + +Due to missing type information of the not-yet-known state value, using +the typed checked higher-order versions (e.g. `defGetter`, `defSetter` +etc.) is slightly more verbose compared to their immediate use, +first-order versions (e.g. `getIn()`, `setIn()` etc.), where everything +can be inferred directly. However, (re)using the HOF-constructed +accessors *can* be somewhat faster and more convenient... YMMV! More details below. -The `getter()`, `setter()` and `updater()` functions compile a lookup -path like `a.b.c` into an optimized function operating directly at the -value the path points to in nested object. For getters, this essentially -compiles to `val = obj.a.b.c`, with the important difference that the -function returns `undefined` if any intermediate values along the lookup -path are undefined (and doesn't throw an error). +#### Optional property handling -The resulting setter function too accepts a single object (or array) to -operate on and when called, **immutably** replaces the value at the -given path, i.e. it produces a selective deep copy of obj up until given -path. If any intermediate key is not present in the given object, it -creates a plain empty object for that missing key and descends further -along the path. +When accessing data structures with optional properties, not only the +leaf value type targeted by a lookup path is important, but any +intermediate optional properties need to be considered too. Furthermore, +we need to distinguish between read (get) and write (update) use cases +for correct type inference. + +For example, given these types: ```ts -s = setter("a.b.c"); -// or -s = setter(["a","b","c"]); +type Foo1 = { a: { b: { c?: number; } } }; + +type Foo2 = { a?: { b: { c: number; } } }; +``` + +For get/read purposes the inferred type for `c` will both be `number | +undefined`. Even though `c` in `Foo2` is not marked as optional, the `a` +property is optional and so attempting to lookup `c` can yield +`undefined`... + +For set/update/write purposes, the type for `c` is inferred verbatim. +I.e. if a property is marked as optional, a setter will allow +`undefined` as new value as well. + +### Higher-order accessors + +The `defGetter()`, `defSetter()` and `defUpdater()` functions compile a +lookup path tuple into an optimized function, operating directly at the +value the path points to in a nested object given later. For getters, +this essentially compiles to: -s({a: {b: {c: 23}}}, 24) -// {a: {b: {c: 24}}} +```ts +defGetter(["a","b","c"]) => (obj) => obj.a.b.c; +``` + +...with the important difference that the function returns `undefined` +if any intermediate values along the lookup path are undefined (and +doesn't throw an error). + +For setters / updaters, the resulting function too accepts a single +object (or array) to operate on and when called, **immutably** replaces +the value at the given path, i.e. it produces a selective deep copy of +obj up until given path. If any intermediate key is not present in the +given object, it creates a plain empty object for that missing key and +descends further along the path. + +```ts +// define state structure (see above example) +interface State { + a: { + b?: number; + c: string[]; + } +} + +const state: State = { a: { b: 1, c: ["c1", "c2"] } }; + +// build type checked getter for `b` & `c` +const getB = defGetter(["a", "b"]); +const getFirstC = defGetter(["a", "c", 0]); + +const b = getB(state); // b inferred as `number | undefined` +const c1 = getFirstC(state); // c1 inferred as `string` +``` -s({x: 23}, 24) +Paths can also be defined as dot-separated strings, however cannot be type checked and MUST use the `Unsafe` version of each operation: + +```ts +s = defSetterUnsafe("a.b.c"); + +s({ a: { b: { c: 23 } } }, 24) +// { a: { b: { c: 24 } } } + +s({ x: 23 }, 24) // { x: 23, a: { b: { c: 24 } } } s(null, 24) @@ -75,101 +165,66 @@ supplied function to apply to the existing value (incl. any other arguments passed): ```ts -inc = updater("a.b", (x) => x != null ? x + 1 : 1); +type State = { a?: { b?: number; } }; + +const inc = defUpdater( + ["a","b"], + // x inferred as number | undefined + (x) => x !== undefined ? x + 1 : 1 +); -inc({a: {b: 10}}); +inc({ a: { b: 10 } }); // { a: { b: 11 } } inc({}); // { a: { b: 1 } } // with additional arguments -add = updater("a.b", (x, n) => x + n); +add = defUpdater("a.b", (x, n) => x + n); add({a: {b: 10}}, 13); // { a: { b: 23 } } ``` +### First order operators + In addition to these higher-order functions, the module also provides immediate-use wrappers: `getIn()`, `setIn()`, `updateIn()` and -`deleteIn()`. These functions are using `getter` / `setter` internally, -so have same behaviors. +`deleteIn()`. These functions are using `defGetter` / `defSetter` internally, so come with the same contracts/disclaimers... ```ts -state = {a: {b: {c: 23}}}; +const state = { a: { b: { c: 23 } } }; + +const cPath = ["a", "b", "c"]; -getIn(state, "a.b.c") +getIn(state, cPath) // 23 -setIn(state, "a.b.c", 24) -// {a: {b: {c: 24}}} +setIn(state, cPath, 24) +// { a: { b: { c: 24 } } } // apply given function to path value -updateIn(state, "a.b.c", x => x + 1) -// {a: {b: {c: 24}}} +// Note: New `c` is 24, since above `setIn()` didn't mutate orig +updateIn(state, cPath, (x) => x + 1) +// { a: { b: { c: 24 } } } // immutably remove path key -deleteIn(state, "a.b.c.") -// {a: {b: {}}} -``` - -### Type checked versions - -Since v2.2.0 type checked versions of the above accessors are available: - -- `getterT` / `getInT` -- `setterT` / `setInT` -- `updaterT` / `updateInT` -- `deleteInT` -- `mutatorT` / `mutInT` - -These functions use generics (via mapped types) to validate the given -path against the type structure of the state object. Since string paths -cannot be type checked, only path tuples are supported. **Type checking & -inference supports path lengths up to 8** (i.e. levels of -hierarchy) before reverting back to `any`. - -```ts -const state = { a: { b: 1, c: ["c1", "c2"] } }; - -const b = getInT(state, ["a", "b"]); // b inferred as number -const c = getInT(state, ["a", "c"]); // c inferred as string[] -const c1len = getInT(state, ["a", "c", 0, "length"]); // inferred as number - -getIn(state, ["a", "d"]); // compile error -getIn(state, ["x"]); // compile error +deleteIn(state, cPath) +// { a: { b: {} } } ``` -Using the typed checked HOF versions (e.g. `getterT`, `setterT` etc.) is -slightly more verbose due to missing type information of the not yet -know state and the way generics are done in TypeScript: - -```ts -// define state structure (see above example) -interface State { - a: { - b: number; - c: string[]; - } -} - -// build typed getter for `b` & `c` state -const getB = getterT(["a", "b"]); -const getFirstC = getterT(["a", "c", 0]); +### Deletions -// using `state` from previous example -const b = getB(state); // inferred as number -const c1 = getFirstC(state); // inferred as string -``` - -Since `deleteInT` immutably removes a key from the given state object, it also returns a new type from which the key has been explicitly removed. +Since `deleteIn` immutably removes a key from the given state object, it +also returns a new type from which the key has been explicitly removed. +Those return types come in the form of `Without{1-8}<...>` interfaces. ```ts // again using `state` from above example // remove nested key `a.c` -const state2 = deleteInT(state, ["a","c"]); +const state2 = deleteIn(state, ["a","b","c"]); // compile error: "Property `c` does not exist` -state2.a.c; +state2.a.b.c; ``` ### Structural sharing @@ -183,12 +238,12 @@ using the ES6 spread op (for objects, `slice()` for arrays) and dynamic functional composition to produce the setter/updater). ```ts -s = setter("a.b.c"); +const s = defSetterUnsafe("a.b.c"); // original -a = { x: { y: { z: 1 } }, u: { v: 2 } }; +const a = { x: { y: { z: 1 } }, u: { v: 2 } }; // updated version -b = s(a, 3); +const b = s(a, 3); // { x: { y: { z: 1 } }, u: { v: 2 }, a: { b: { c: 3 } } } // verify anything under keys `x` & `u` is still identical @@ -199,34 +254,34 @@ a.u === b.u; // true ### Mutable setter -`mutator()` is the mutable alternative to `setter()`. It returns a -function, which when called, mutates given object / array at given path -location and bails if any intermediate path values are non-indexable -(only the very last path element can be missing in the actual object -structure). If successful, returns original (mutated) object, else -`undefined`. This function too provides optimized versions for path -lengths <= 4. +`defMutator()`/`defMutatorUnsafe()` are the mutable alternatives to +`defSetter()`/`defSetterUnsafe()`. Each returns a function, which when +called, mutates given object / array at given path location and bails if +any intermediate path values are non-indexable (only the very last path +element can be missing in the actual target object structure). If +successful, returns original (mutated) object, else `undefined`. This +function too provides optimized versions for path lengths <= 4. As with `setIn`, `mutIn` is the immediate use mutator, i.e. the same as: -`mutator(path)(state, val)`. +`defMutator(path)(state, val)`. ```ts -mutIn({ a: { b: [10, 20] } }, "a.b.1", 23); -// or mutIn({ a: { b: [10, 20] } }, ["a", "b", 1], 23); +// or +mutInUnsafe({ a: { b: [10, 20] } }, "a.b.1", 23); // { a: { b: [ 10, 23 ] } } -// fails (because of missing path structure in target object) -mutIn({}, "a.b.c", 23); +// no-op (because of missing path structure in target object) +mutInUnsafe({}, "a.b.c", 23); // undefined ``` ### Path checking -The `exists()` function takes an arbitrary object and lookup path. -Descends into object along path and returns true if the full path exists -(even if final leaf value is `null` or `undefined`). Checks are -performed using `hasOwnProperty()`. +The `exists()` function takes an arbitrary object and lookup path +(string or tuple). Descends into object along path and returns true if +the full path exists (even if final leaf value is `null` or +`undefined`). Checks are performed using `hasOwnProperty()`. ```ts exists({ a: { b: { c: [null] } } }, "a.b.c.0"); From 49024f75fd6126f5d6c1991516a411df7d62d893 Mon Sep 17 00:00:00 2001 From: Karsten Schmidt Date: Sat, 28 Mar 2020 12:26:49 +0000 Subject: [PATCH 60/70] feat(associative): re-add support for nodejs REPL inspection - custom Set/Map impls were showing up as empty in the REPL in recent Node versions (13.x) - adding @inspectable decorator mixin for all impls to provide hook for Node's inspection mechanism - Ref: nodejs/node#32529 --- packages/associative/package.json | 3 ++ packages/associative/src/api.ts | 2 +- packages/associative/src/array-set.ts | 5 +++ packages/associative/src/equiv-map.ts | 17 +++----- packages/associative/src/hash-map.ts | 12 +++--- packages/associative/src/internal/inspect.ts | 45 ++++++++++++++++++++ packages/associative/src/ll-set.ts | 13 +++--- packages/associative/src/sorted-map.ts | 17 +++----- packages/associative/src/sorted-set.ts | 7 ++- packages/associative/src/sparse-set.ts | 9 ++-- 10 files changed, 90 insertions(+), 40 deletions(-) create mode 100644 packages/associative/src/internal/inspect.ts diff --git a/packages/associative/package.json b/packages/associative/package.json index 5c1e0c64d7..41b51da35d 100644 --- a/packages/associative/package.json +++ b/packages/associative/package.json @@ -70,6 +70,9 @@ "publishConfig": { "access": "public" }, + "browser": { + "util": false + }, "sideEffects": false, "thi.ng": { "year": 2017 diff --git a/packages/associative/src/api.ts b/packages/associative/src/api.ts index 2277ea73f4..ffca3c3af8 100644 --- a/packages/associative/src/api.ts +++ b/packages/associative/src/api.ts @@ -7,7 +7,7 @@ import type { IEquiv, IGet, IInto, - Predicate2 + Predicate2, } from "@thi.ng/api"; export interface IEquivSet diff --git a/packages/associative/src/array-set.ts b/packages/associative/src/array-set.ts index 514c5eb1cc..5751a44c78 100644 --- a/packages/associative/src/array-set.ts +++ b/packages/associative/src/array-set.ts @@ -2,6 +2,7 @@ import { SEMAPHORE } from "@thi.ng/api"; import { equiv } from "@thi.ng/equiv"; import { dissoc } from "./dissoc"; import { equivSet } from "./internal/equiv"; +import { inspectable } from "./internal/inspect"; import { into } from "./into"; import type { Fn3, Pair, Predicate2 } from "@thi.ng/api"; import type { EquivSetOpts, IEquivSet } from "./api"; @@ -25,6 +26,7 @@ const __vals = (inst: ArraySet) => __private.get(inst)!.vals; * Additionally, the type also implements the {@link @thi.ng/api#ICopy}, {@link @thi.ng/api#IEmpty} and * {@link @thi.ng/api#IEquiv} interfaces itself. */ +@inspectable export class ArraySet extends Set implements IEquivSet { constructor( vals?: Iterable | null, @@ -150,4 +152,7 @@ export class ArraySet extends Set implements IEquivSet { opts(): EquivSetOpts { return { equiv: __private.get(this)!.equiv }; } + // [INSPECT](depth: number, opts: any) { + // return inspectSet(this, depth, opts); + // } } diff --git a/packages/associative/src/equiv-map.ts b/packages/associative/src/equiv-map.ts index 24f40dd94e..d0b582357d 100644 --- a/packages/associative/src/equiv-map.ts +++ b/packages/associative/src/equiv-map.ts @@ -3,16 +3,10 @@ import { equiv } from "@thi.ng/equiv"; import { ArraySet } from "./array-set"; import { dissoc } from "./dissoc"; import { equivMap } from "./internal/equiv"; +import { inspectable } from "./internal/inspect"; import { into } from "./into"; +import type { Fn3, ICopy, IEmpty, IEquiv, IObjectOf, Pair } from "@thi.ng/api"; import type { EquivMapOpts, IEquivSet } from "./api"; -import type { - Fn3, - ICopy, - IEmpty, - IEquiv, - IObjectOf, - Pair, -} from "@thi.ng/api"; interface MapProps { keys: IEquivSet; @@ -24,6 +18,7 @@ const __private = new WeakMap, MapProps>(); const __map = (map: EquivMap) => __private.get(map)!.map; +@inspectable export class EquivMap extends Map implements Iterable>, @@ -44,7 +39,7 @@ export class EquivMap extends Map ): EquivMap { const m = new EquivMap(null, { equiv: (a, b) => a === b, - ...opts + ...opts, }); for (let k in obj) { obj.hasOwnProperty(k) && m.set(k, obj[k]); @@ -70,7 +65,7 @@ export class EquivMap extends Map __private.set(this, { keys: new _opts.keys(null, { equiv: _opts.equiv }), map: new Map(), - opts: _opts + opts: _opts, }); if (pairs) { this.into(pairs); @@ -109,7 +104,7 @@ export class EquivMap extends Map __private.set(m, { keys: $this.keys.copy(), map: new Map($this.map), - opts: $this.opts + opts: $this.opts, }); return m; } diff --git a/packages/associative/src/hash-map.ts b/packages/associative/src/hash-map.ts index dfcd34fa52..383f1e7a10 100644 --- a/packages/associative/src/hash-map.ts +++ b/packages/associative/src/hash-map.ts @@ -2,6 +2,7 @@ import { ceilPow2 } from "@thi.ng/binary"; import { equiv } from "@thi.ng/equiv"; import { dissoc } from "./dissoc"; import { equivMap } from "./internal/equiv"; +import { inspectable } from "./internal/inspect"; import { into } from "./into"; import type { Fn, @@ -10,7 +11,7 @@ import type { IEmpty, IEquiv, Pair, - Predicate2 + Predicate2, } from "@thi.ng/api"; import type { HashMapOpts } from "./api"; @@ -26,7 +27,7 @@ interface HashMapState { const __private = new WeakMap, HashMapState>(); const __iterator = (map: HashMap, id: 0 | 1) => - function*() { + function* () { for (let p of __private.get(map)!.bins) { if (p) yield p[id]; } @@ -54,6 +55,7 @@ const DEFAULT_CAP = 16; * ``` * */ +@inspectable export class HashMap extends Map implements Iterable>, @@ -69,7 +71,7 @@ export class HashMap extends Map load: opts.load || 0.75, mask: m, bins: new Array(m + 1), - size: 0 + size: 0, }); if (pairs) { this.into(pairs); @@ -129,7 +131,7 @@ export class HashMap extends Map Object.assign(__private.get(m), { bins: $this.bins.slice(), mask: $this.mask, - size: $this.size + size: $this.size, }); return m; } @@ -204,7 +206,7 @@ export class HashMap extends Map equiv: $this.equiv, load: $this.load, cap: $this.mask + 1, - ...overrides + ...overrides, }; } diff --git a/packages/associative/src/internal/inspect.ts b/packages/associative/src/internal/inspect.ts new file mode 100644 index 0000000000..dd2535174b --- /dev/null +++ b/packages/associative/src/internal/inspect.ts @@ -0,0 +1,45 @@ +import { mixin } from "@thi.ng/api"; +import { isNode } from "@thi.ng/checks"; +import { map } from "@thi.ng/transducers"; + +const inspect = isNode() ? require("util").inspect : null; + +const inspectSet = (coll: Set, opts: any) => + [...map((x) => inspect(x, opts), coll)].join(", "); + +const inspectMap = (coll: Map, opts: any) => + [ + ...map(([k, v]) => `${inspect(k, opts)} => ${inspect(v, opts)}`, coll), + ].join(", "); + +/** + * NodeJS inspection mixin + * + * @remarks + * Reference: + * https://nodejs.org/api/util.html#util_custom_inspection_functions_on_objects + * + * @internal + */ +export const inspectable = mixin({ + [Symbol.for("nodejs.util.inspect.custom")](depth: number, opts: any) { + const name = this[Symbol.toStringTag]; + const childOpts = { + ...opts, + depth: opts.depth === null ? null : opts.depth - 1, + }; + return depth >= 0 + ? [ + `${name}(${this.size || 0}) {`, + inspect + ? this instanceof Set + ? inspectSet(this, childOpts) + : this instanceof Map + ? inspectMap(this, childOpts) + : "" + : "", + "}", + ].join(" ") + : opts.stylize(`[${name}]`, "special"); + }, +}); diff --git a/packages/associative/src/ll-set.ts b/packages/associative/src/ll-set.ts index af234d7c47..cfdca897ce 100644 --- a/packages/associative/src/ll-set.ts +++ b/packages/associative/src/ll-set.ts @@ -3,12 +3,9 @@ import { DCons } from "@thi.ng/dcons"; import { equiv } from "@thi.ng/equiv"; import { dissoc } from "./dissoc"; import { equivSet } from "./internal/equiv"; +import { inspectable } from "./internal/inspect"; import { into } from "./into"; -import type { - Fn3, - Pair, - Predicate2, -} from "@thi.ng/api"; +import type { Fn3, Pair, Predicate2 } from "@thi.ng/api"; import type { EquivSetOpts, IEquivSet } from "./api"; interface SetProps { @@ -30,6 +27,7 @@ const __vals = (inst: LLSet) => __private.get(inst)!.vals; * Additionally, the type also implements the {@link @thi.ng/api#ICopy}, {@link @thi.ng/api#IEmpty} and * {@link @thi.ng/api#IEquiv} interfaces itself. */ +@inspectable export class LLSet extends Set implements IEquivSet { constructor( vals?: Iterable | null, @@ -38,7 +36,7 @@ export class LLSet extends Set implements IEquivSet { super(); __private.set(this, { equiv: opts.equiv || equiv, - vals: new DCons() + vals: new DCons(), }); vals && this.into(vals); } @@ -160,4 +158,7 @@ export class LLSet extends Set implements IEquivSet { opts(): EquivSetOpts { return { equiv: __private.get(this)!.equiv }; } + // [INSPECT](depth: number, opts: any) { + // return inspectSet(this, depth, opts); + // } } diff --git a/packages/associative/src/sorted-map.ts b/packages/associative/src/sorted-map.ts index 124d425bef..5fe2484064 100644 --- a/packages/associative/src/sorted-map.ts +++ b/packages/associative/src/sorted-map.ts @@ -3,13 +3,9 @@ import { compare } from "@thi.ng/compare"; import { isReduced, map } from "@thi.ng/transducers"; import { dissoc } from "./dissoc"; import { equivMap } from "./internal/equiv"; +import { inspectable } from "./internal/inspect"; import { into } from "./into"; -import type { - Comparator, - Fn3, - IObjectOf, - Pair, -} from "@thi.ng/api"; +import type { Comparator, Fn3, IObjectOf, Pair } from "@thi.ng/api"; import type { ReductionFn } from "@thi.ng/transducers"; import type { SortedMapOpts } from "./api"; @@ -39,6 +35,7 @@ class Node { // http://fitzgeraldnick.com/2014/01/13/hiding-implementation-details-with-e6-weakmaps.html const __private = new WeakMap, SortedMapState>(); +@inspectable export class SortedMap extends Map { /** * Creates new {@link SortedMap} instance from given object's key-value @@ -53,7 +50,7 @@ export class SortedMap extends Map { ): SortedMap { const m = new SortedMap(null, { capacity: Object.keys(obj).length, - ...opts + ...opts, }); for (let k in obj) { obj.hasOwnProperty(k) && m.set(k, obj[k]); @@ -85,7 +82,7 @@ export class SortedMap extends Map { p: opts.probability || SortedMap.DEFAULT_P, maxh, length: 0, - h: 0 + h: 0, }); if (pairs) { this.into(pairs); @@ -146,7 +143,7 @@ export class SortedMap extends Map { empty(): SortedMap { return new SortedMap(null, { ...this.opts(), - capacity: SortedMap.DEFAULT_CAP + capacity: SortedMap.DEFAULT_CAP, }); } @@ -287,7 +284,7 @@ export class SortedMap extends Map { return { capacity: $this.cap, compare: $this.cmp, - probability: $this.p + probability: $this.p, }; } diff --git a/packages/associative/src/sorted-set.ts b/packages/associative/src/sorted-set.ts index 33b2714fe3..1182d724ce 100644 --- a/packages/associative/src/sorted-set.ts +++ b/packages/associative/src/sorted-set.ts @@ -2,6 +2,7 @@ import { compare } from "@thi.ng/compare"; import { map } from "@thi.ng/transducers"; import { dissoc } from "./dissoc"; import { equivSet } from "./internal/equiv"; +import { inspectable } from "./internal/inspect"; import { into } from "./into"; import { SortedMap } from "./sorted-map"; import type { Fn3, ICompare, Pair } from "@thi.ng/api"; @@ -28,6 +29,7 @@ const __private = new WeakMap, SortedMap>(); * This set uses a {@link SortedMap} as backing store and therefore has * the same resizing characteristics. */ +@inspectable export class SortedSet extends Set implements IEquivSet, ICompare>, IReducible { /** @@ -72,7 +74,7 @@ export class SortedSet extends Set empty() { return new SortedSet(null, { ...this.opts(), - capacity: SortedMap.DEFAULT_CAP + capacity: SortedMap.DEFAULT_CAP, }); } @@ -159,4 +161,7 @@ export class SortedSet extends Set opts(): SortedSetOpts { return __private.get(this)!.opts(); } + // [INSPECT](depth: number, opts: any) { + // return inspectSet(this, depth, opts); + // } } diff --git a/packages/associative/src/sparse-set.ts b/packages/associative/src/sparse-set.ts index 933e0c3402..4510042529 100644 --- a/packages/associative/src/sparse-set.ts +++ b/packages/associative/src/sparse-set.ts @@ -1,13 +1,9 @@ import { isNumber } from "@thi.ng/checks"; import { illegalArgs } from "@thi.ng/errors"; import { dissoc } from "./dissoc"; +import { inspectable } from "./internal/inspect"; import { into } from "./into"; -import type { - Fn3, - IEquiv, - Pair, - UIntArray -} from "@thi.ng/api"; +import type { Fn3, IEquiv, Pair, UIntArray } from "@thi.ng/api"; import type { IEquivSet } from "./api"; interface SparseSetProps { @@ -28,6 +24,7 @@ const fail = () => illegalArgs(`dense & sparse arrays must be of same size`); * - {@link https://programmingpraxis.com/2012/03/09/sparse-sets/} * - {@link https://blog.molecular-matters.com/2013/07/24/adventures-in-data-oriented-design-part-3c-external-references/} */ +@inspectable export abstract class ASparseSet extends Set implements IEquiv { protected constructor(dense: T, sparse: T) { From 115651f737e6c02329260ebe719c3f4e0ab94f28 Mon Sep 17 00:00:00 2001 From: Karsten Schmidt Date: Sat, 28 Mar 2020 13:38:27 +0000 Subject: [PATCH 61/70] chore(associative): remove obsolete comments --- packages/associative/src/array-set.ts | 3 --- packages/associative/src/ll-set.ts | 3 --- packages/associative/src/sorted-set.ts | 3 --- 3 files changed, 9 deletions(-) diff --git a/packages/associative/src/array-set.ts b/packages/associative/src/array-set.ts index 5751a44c78..53730f44f9 100644 --- a/packages/associative/src/array-set.ts +++ b/packages/associative/src/array-set.ts @@ -152,7 +152,4 @@ export class ArraySet extends Set implements IEquivSet { opts(): EquivSetOpts { return { equiv: __private.get(this)!.equiv }; } - // [INSPECT](depth: number, opts: any) { - // return inspectSet(this, depth, opts); - // } } diff --git a/packages/associative/src/ll-set.ts b/packages/associative/src/ll-set.ts index cfdca897ce..36e2090235 100644 --- a/packages/associative/src/ll-set.ts +++ b/packages/associative/src/ll-set.ts @@ -158,7 +158,4 @@ export class LLSet extends Set implements IEquivSet { opts(): EquivSetOpts { return { equiv: __private.get(this)!.equiv }; } - // [INSPECT](depth: number, opts: any) { - // return inspectSet(this, depth, opts); - // } } diff --git a/packages/associative/src/sorted-set.ts b/packages/associative/src/sorted-set.ts index 1182d724ce..8821a6628e 100644 --- a/packages/associative/src/sorted-set.ts +++ b/packages/associative/src/sorted-set.ts @@ -161,7 +161,4 @@ export class SortedSet extends Set opts(): SortedSetOpts { return __private.get(this)!.opts(); } - // [INSPECT](depth: number, opts: any) { - // return inspectSet(this, depth, opts); - // } } From 48ae24a478ba430e123489fbb728fcb7e2d26d06 Mon Sep 17 00:00:00 2001 From: Karsten Schmidt Date: Sat, 28 Mar 2020 15:19:25 +0000 Subject: [PATCH 62/70] feat(associative): #210, add `defXXX` factory fns - add defArraySet() - add defLLSet() - add defSortedSet() - add defSparseSet() - add defEquivMap() - add defHashMap() - add defSortedMap() BREAKING CHANGE: remove static `fromObject()` map factories - merged with defHashMap(), defSortedMap() --- packages/associative/src/api.ts | 6 +++ packages/associative/src/array-set.ts | 10 ++++- packages/associative/src/equiv-map.ts | 42 ++++++++++---------- packages/associative/src/hash-map.ts | 32 ++++++++++++++- packages/associative/src/ll-set.ts | 20 ++++++---- packages/associative/src/sorted-map.ts | 48 +++++++++++++---------- packages/associative/src/sorted-set.ts | 5 +++ packages/associative/src/sparse-set.ts | 2 +- packages/associative/test/sorted-map.ts | 52 ++++++++++++++++++++----- packages/associative/test/sparse-set.ts | 8 ++-- 10 files changed, 158 insertions(+), 67 deletions(-) diff --git a/packages/associative/src/api.ts b/packages/associative/src/api.ts index ffca3c3af8..da835b49e1 100644 --- a/packages/associative/src/api.ts +++ b/packages/associative/src/api.ts @@ -39,6 +39,12 @@ export interface EquivSetOpts { } export interface EquivMapOpts extends EquivSetOpts { + /** + * Underlying {@link IEquivSet} implementation for storing the + * unique keys of the map. + * + * @defaultValue {@link ArraySet} + */ keys: EquivSetConstructor; } diff --git a/packages/associative/src/array-set.ts b/packages/associative/src/array-set.ts index 53730f44f9..87c96144c3 100644 --- a/packages/associative/src/array-set.ts +++ b/packages/associative/src/array-set.ts @@ -23,8 +23,9 @@ const __vals = (inst: ArraySet) => __private.get(inst)!.vals; * and by the default uses {@link @thi.ng/equiv#equiv} for equivalence * checking. * - * Additionally, the type also implements the {@link @thi.ng/api#ICopy}, {@link @thi.ng/api#IEmpty} and - * {@link @thi.ng/api#IEquiv} interfaces itself. + * Additionally, the type also implements the {@link @thi.ng/api#ICopy}, + * {@link @thi.ng/api#IEmpty} and {@link @thi.ng/api#IEquiv} interfaces + * itself. */ @inspectable export class ArraySet extends Set implements IEquivSet { @@ -153,3 +154,8 @@ export class ArraySet extends Set implements IEquivSet { return { equiv: __private.get(this)!.equiv }; } } + +export const defArraySet = ( + vals?: Iterable | null, + opts?: Partial> +) => new ArraySet(vals, opts); diff --git a/packages/associative/src/equiv-map.ts b/packages/associative/src/equiv-map.ts index d0b582357d..37b461a717 100644 --- a/packages/associative/src/equiv-map.ts +++ b/packages/associative/src/equiv-map.ts @@ -1,5 +1,7 @@ import { SEMAPHORE } from "@thi.ng/api"; +import { isPlainObject } from "@thi.ng/checks"; import { equiv } from "@thi.ng/equiv"; +import { pairs } from "@thi.ng/transducers"; import { ArraySet } from "./array-set"; import { dissoc } from "./dissoc"; import { equivMap } from "./internal/equiv"; @@ -25,28 +27,6 @@ export class EquivMap extends Map ICopy>, IEmpty>, IEquiv { - /** - * Converts given vanilla object into an {@link EquivMap} instance with - * default (or optionally provided) options and returns it. By - * default uses strict `===` equality check for `equiv` option. - * - * @param obj - source object - * @param opts - config options - */ - static fromObject( - obj: IObjectOf, - opts?: Partial> - ): EquivMap { - const m = new EquivMap(null, { - equiv: (a, b) => a === b, - ...opts, - }); - for (let k in obj) { - obj.hasOwnProperty(k) && m.set(k, obj[k]); - } - return m; - } - /** * Creates a new instance with optional initial key-value pairs and * provided options. If no `opts` are given, uses `ArraySet` for @@ -179,3 +159,21 @@ export class EquivMap extends Map return __private.get(this)!.opts; } } + +export function defEquivMap( + pairs?: Iterable> | null, + opts?: Partial> +): EquivMap; +export function defEquivMap( + obj: IObjectOf, + opts?: Partial> +): EquivMap; +export function defEquivMap( + src: any, + opts?: Partial> +): EquivMap { + return new EquivMap( + isPlainObject(src) ? pairs(>src) : src, + opts + ); +} diff --git a/packages/associative/src/hash-map.ts b/packages/associative/src/hash-map.ts index 383f1e7a10..1816573374 100644 --- a/packages/associative/src/hash-map.ts +++ b/packages/associative/src/hash-map.ts @@ -1,5 +1,7 @@ import { ceilPow2 } from "@thi.ng/binary"; +import { isPlainObject } from "@thi.ng/checks"; import { equiv } from "@thi.ng/equiv"; +import { map } from "@thi.ng/transducers"; import { dissoc } from "./dissoc"; import { equivMap } from "./internal/equiv"; import { inspectable } from "./internal/inspect"; @@ -12,6 +14,7 @@ import type { IEquiv, Pair, Predicate2, + IObjectOf, } from "@thi.ng/api"; import type { HashMapOpts } from "./api"; @@ -34,6 +37,7 @@ const __iterator = (map: HashMap, id: 0 | 1) => }; const DEFAULT_CAP = 16; +const DEFAULT_LOAD = 0.75; /** * Configurable hash map implementation w/ ES6 Map API. Uses open @@ -68,7 +72,7 @@ export class HashMap extends Map __private.set(this, { hash: opts.hash, equiv: opts.equiv || equiv, - load: opts.load || 0.75, + load: opts.load || DEFAULT_LOAD, mask: m, bins: new Array(m + 1), size: 0, @@ -235,3 +239,29 @@ export class HashMap extends Map } } } + +export function defHashMap( + pairs: Iterable> | null, + opts: HashMapOpts +): HashMap; +export function defHashMap( + obj: IObjectOf, + opts: HashMapOpts +): HashMap; +export function defHashMap( + src: any, + opts: HashMapOpts +): HashMap { + if (isPlainObject(src)) { + const keys = Object.keys(src); + return new HashMap( + map((k) => >[k, (>src)[k]], keys), + { + cap: keys.length / (opts.load || DEFAULT_LOAD), + ...opts, + } + ); + } else { + return new HashMap(src, opts); + } +} diff --git a/packages/associative/src/ll-set.ts b/packages/associative/src/ll-set.ts index 36e2090235..89fb7386a1 100644 --- a/packages/associative/src/ll-set.ts +++ b/packages/associative/src/ll-set.ts @@ -18,14 +18,15 @@ const __private = new WeakMap, SetProps>(); const __vals = (inst: LLSet) => __private.get(inst)!.vals; /** - * Similar to {@link ArraySet}, this class is an alternative implementation of - * the native ES6 Set API using a {@link @thi.ng/dcons#DCons} linked - * list as backing store and a customizable value equality / equivalence - * predicate. By the default uses {@link @thi.ng/equiv#equiv} for - * equivalence checking. + * Similar to {@link ArraySet}, this class is an alternative + * implementation of the native ES6 Set API using a + * {@link @thi.ng/dcons#DCons} linked list as backing store and a + * customizable value equality / equivalence predicate. By the default + * uses {@link @thi.ng/equiv#equiv} for equivalence checking. * - * Additionally, the type also implements the {@link @thi.ng/api#ICopy}, {@link @thi.ng/api#IEmpty} and - * {@link @thi.ng/api#IEquiv} interfaces itself. + * Additionally, the type also implements the {@link @thi.ng/api#ICopy}, + * {@link @thi.ng/api#IEmpty} and {@link @thi.ng/api#IEquiv} interfaces + * itself. */ @inspectable export class LLSet extends Set implements IEquivSet { @@ -159,3 +160,8 @@ export class LLSet extends Set implements IEquivSet { return { equiv: __private.get(this)!.equiv }; } } + +export const defLLSet = ( + vals?: Iterable | null, + opts?: Partial> +) => new LLSet(vals, opts); diff --git a/packages/associative/src/sorted-map.ts b/packages/associative/src/sorted-map.ts index 5fe2484064..517889758f 100644 --- a/packages/associative/src/sorted-map.ts +++ b/packages/associative/src/sorted-map.ts @@ -1,4 +1,5 @@ import { SEMAPHORE } from "@thi.ng/api"; +import { isPlainObject } from "@thi.ng/checks"; import { compare } from "@thi.ng/compare"; import { isReduced, map } from "@thi.ng/transducers"; import { dissoc } from "./dissoc"; @@ -37,27 +38,6 @@ const __private = new WeakMap, SortedMapState>(); @inspectable export class SortedMap extends Map { - /** - * Creates new {@link SortedMap} instance from given object's key-value - * pairs. - * - * @param obj - source object - * @param opts - config options - */ - static fromObject( - obj: IObjectOf, - opts?: Partial> - ): SortedMap { - const m = new SortedMap(null, { - capacity: Object.keys(obj).length, - ...opts, - }); - for (let k in obj) { - obj.hasOwnProperty(k) && m.set(k, obj[k]); - } - return m; - } - static DEFAULT_CAP = 8; static DEFAULT_P = 1 / Math.E; @@ -311,3 +291,29 @@ export class SortedMap extends Map { return level; } } + +export function defSortedMap( + pairs?: Iterable> | null, + opts?: Partial> +): SortedMap; +export function defSortedMap( + obj: IObjectOf, + opts?: Partial> +): SortedMap; +export function defSortedMap( + src: any, + opts?: Partial> +): SortedMap { + if (isPlainObject(src)) { + const keys = Object.keys(src); + return new SortedMap( + map((k) => >[k, (>src)[k]], keys), + { + capacity: keys.length, + ...opts, + } + ); + } else { + return new SortedMap(src, opts); + } +} diff --git a/packages/associative/src/sorted-set.ts b/packages/associative/src/sorted-set.ts index 8821a6628e..1b3a5a44e1 100644 --- a/packages/associative/src/sorted-set.ts +++ b/packages/associative/src/sorted-set.ts @@ -162,3 +162,8 @@ export class SortedSet extends Set return __private.get(this)!.opts(); } } + +export const defSortedSet = ( + vals?: Iterable | null, + opts?: Partial> +) => new SortedSet(vals, opts); diff --git a/packages/associative/src/sparse-set.ts b/packages/associative/src/sparse-set.ts index 4510042529..68d6a5230c 100644 --- a/packages/associative/src/sparse-set.ts +++ b/packages/associative/src/sparse-set.ts @@ -253,7 +253,7 @@ export class SparseSet32 extends ASparseSet * * @param n - max capacity, ID range: [0...n) */ -export const sparseSet = (n: number) => +export const defSparseSet = (n: number) => n <= 0x100 ? new SparseSet8(n) : n <= 0x10000 diff --git a/packages/associative/test/sorted-map.ts b/packages/associative/test/sorted-map.ts index 67d48733d6..b0baabe449 100644 --- a/packages/associative/test/sorted-map.ts +++ b/packages/associative/test/sorted-map.ts @@ -2,13 +2,13 @@ import { shuffle } from "@thi.ng/arrays"; import { equiv } from "@thi.ng/equiv"; import { range, repeat, zip } from "@thi.ng/transducers"; import * as assert from "assert"; -import { SortedMap } from "../src/sorted-map"; +import { defSortedMap, SortedMap } from "../src/sorted-map"; describe("SortedMap", () => { let m: SortedMap; beforeEach(() => { - m = SortedMap.fromObject({ a: 1, b: 2, c: 3 }); + m = defSortedMap({ a: 1, b: 2, c: 3 }); }); it("size", () => { @@ -70,7 +70,14 @@ describe("SortedMap", () => { }); it("entries", () => { - assert.deepEqual([...m], [["a", 1], ["b", 2], ["c", 3]]); + assert.deepEqual( + [...m], + [ + ["a", 1], + ["b", 2], + ["c", 3], + ] + ); }); // it("entries rev", () => { @@ -78,7 +85,14 @@ describe("SortedMap", () => { // }); it("entries a", () => { - assert.deepEqual([...m.entries("a")], [["a", 1], ["b", 2], ["c", 3]]); + assert.deepEqual( + [...m.entries("a")], + [ + ["a", 1], + ["b", 2], + ["c", 3], + ] + ); }); // it("entries a rev", () => { @@ -86,7 +100,13 @@ describe("SortedMap", () => { // }); it("entries aa", () => { - assert.deepEqual([...m.entries("aa")], [["b", 2], ["c", 3]]); + assert.deepEqual( + [...m.entries("aa")], + [ + ["b", 2], + ["c", 3], + ] + ); }); // it("entries aa rev", () => { @@ -110,7 +130,14 @@ describe("SortedMap", () => { // }); it("entries 0", () => { - assert.deepEqual([...m.entries("0")], [["a", 1], ["b", 2], ["c", 3]]); + assert.deepEqual( + [...m.entries("0")], + [ + ["a", 1], + ["b", 2], + ["c", 3], + ] + ); }); // it("entries 0 rev", () => { @@ -140,14 +167,21 @@ describe("SortedMap", () => { }); it("comparator", () => { - m = SortedMap.fromObject( + m = defSortedMap( { a: 1, b: 2, c: 3 }, { compare: (a: string, b: string) => - a === b ? 0 : a < b ? 1 : -1 + a === b ? 0 : a < b ? 1 : -1, } ); - assert.deepEqual([["c", 3], ["b", 2], ["a", 1]], [...m.entries()]); + assert.deepEqual( + [ + ["c", 3], + ["b", 2], + ["a", 1], + ], + [...m.entries()] + ); }); it("fuzz", () => { diff --git a/packages/associative/test/sparse-set.ts b/packages/associative/test/sparse-set.ts index 996a4f1d90..af5d6b882f 100644 --- a/packages/associative/test/sparse-set.ts +++ b/packages/associative/test/sparse-set.ts @@ -2,7 +2,7 @@ import { isSet } from "@thi.ng/checks"; import { equiv } from "@thi.ng/equiv"; import * as assert from "assert"; import { - sparseSet, + defSparseSet, SparseSet16, SparseSet32, SparseSet8 @@ -16,17 +16,17 @@ describe("SparseSet", () => { }); it("factory / max value", () => { - let a = sparseSet(0x100); + let a = defSparseSet(0x100); a.into([0xff, 0x100]); assert(a instanceof SparseSet8, "u8"); assert.deepEqual([...a], [0xff]); - a = sparseSet(0x10000); + a = defSparseSet(0x10000); a.into([0xffff, 0x10000]); assert(a instanceof SparseSet16, "u16"); assert.deepEqual([...a], [0xffff]); - a = sparseSet(0x10001); + a = defSparseSet(0x10001); a.into([0x10000, 0x10001]); assert(a instanceof SparseSet32, "u32"); assert.deepEqual([...a], [0x10000]); From 9d9e8a8bcb73efb728faf4a216a9dfcac31a0639 Mon Sep 17 00:00:00 2001 From: Karsten Schmidt Date: Sat, 28 Mar 2020 17:03:00 +0000 Subject: [PATCH 63/70] feat(checks): add new string validators - add isAlpha(), isAlphaNum(), isNumeric() - add isASCII(), isPrintableASCII() - add isDataURL() - add isFloatString(), isIntString() - add isHex() --- packages/checks/src/index.ts | 6 ++++++ packages/checks/src/is-alphanum.ts | 5 +++++ packages/checks/src/is-ascii.ts | 13 +++++++++++++ packages/checks/src/is-data-url.ts | 1 + packages/checks/src/is-float-string.ts | 3 +++ packages/checks/src/is-hex.ts | 1 + packages/checks/src/is-int-string.ts | 3 +++ 7 files changed, 32 insertions(+) create mode 100644 packages/checks/src/is-alphanum.ts create mode 100644 packages/checks/src/is-ascii.ts create mode 100644 packages/checks/src/is-data-url.ts create mode 100644 packages/checks/src/is-float-string.ts create mode 100644 packages/checks/src/is-hex.ts create mode 100644 packages/checks/src/is-int-string.ts diff --git a/packages/checks/src/index.ts b/packages/checks/src/index.ts index 063c3b5ac0..875382c8f2 100644 --- a/packages/checks/src/index.ts +++ b/packages/checks/src/index.ts @@ -9,21 +9,27 @@ export * from "./has-wasm"; export * from "./has-webgl"; export * from "./has-websocket"; export * from "./implements-function"; +export * from "./is-alphanum"; export * from "./is-array"; export * from "./is-arraylike"; +export * from "./is-ascii"; export * from "./is-blob"; export * from "./is-boolean"; export * from "./is-chrome"; +export * from "./is-data-url"; export * from "./is-date"; export * from "./is-even"; export * from "./is-false"; export * from "./is-file"; export * from "./is-firefox"; +export * from "./is-float-string"; export * from "./is-function"; +export * from "./is-hex"; export * from "./is-hex-color"; export * from "./is-ie"; export * from "./is-in-range"; export * from "./is-int32"; +export * from "./is-int-string"; export * from "./is-iterable"; export * from "./is-map"; export * from "./is-mobile"; diff --git a/packages/checks/src/is-alphanum.ts b/packages/checks/src/is-alphanum.ts new file mode 100644 index 0000000000..4e1eef785c --- /dev/null +++ b/packages/checks/src/is-alphanum.ts @@ -0,0 +1,5 @@ +export const isAlpha = (x: string) => /^[a-z]+$/i.test(x); + +export const isAlphaNum = (x: string) => /^[a-z0-9]+$/i.test(x); + +export const isNumeric = (x: string) => /^[0-9]+$/.test(x); diff --git a/packages/checks/src/is-ascii.ts b/packages/checks/src/is-ascii.ts new file mode 100644 index 0000000000..528f35b75e --- /dev/null +++ b/packages/checks/src/is-ascii.ts @@ -0,0 +1,13 @@ +/** + * Returns true iff all chars are in ASCII range [0x00 .. 0x7f] + * + * @param x + */ +export const isASCII = (x: string) => /^[\x00-\x7f]+$/.test(x); + +/** + * Returns true iff all chars are in printable ASCII range [0x20 .. 0x7e] + * + * @param x + */ +export const isPrintableASCII = (x: string) => /^[\x20-\x7e]+$/.test(x); diff --git a/packages/checks/src/is-data-url.ts b/packages/checks/src/is-data-url.ts new file mode 100644 index 0000000000..df9e059622 --- /dev/null +++ b/packages/checks/src/is-data-url.ts @@ -0,0 +1 @@ +export const isDataURL = (x: string) => /^data:.+\/(.+);base64,/.test(x); diff --git a/packages/checks/src/is-float-string.ts b/packages/checks/src/is-float-string.ts new file mode 100644 index 0000000000..f769d533c6 --- /dev/null +++ b/packages/checks/src/is-float-string.ts @@ -0,0 +1,3 @@ +const RE = /^(?:[-+]?(?:[0-9]+))?(?:\.[0-9]*)?(?:[eE][\+\-]?(?:[0-9]+))?$/; + +export const isFloatString = (x: string) => x.length > 0 && RE.test(x); diff --git a/packages/checks/src/is-hex.ts b/packages/checks/src/is-hex.ts new file mode 100644 index 0000000000..ba861902f2 --- /dev/null +++ b/packages/checks/src/is-hex.ts @@ -0,0 +1 @@ +export const isHex = (x: string) => /^[a-f0-9]+$/i.test(x); diff --git a/packages/checks/src/is-int-string.ts b/packages/checks/src/is-int-string.ts new file mode 100644 index 0000000000..ddcf125290 --- /dev/null +++ b/packages/checks/src/is-int-string.ts @@ -0,0 +1,3 @@ +const RE = /^(?:[-+]?(?:0|[1-9][0-9]*))$/; + +export const isIntString = (x: string) => RE.test(x); From 71d73c3acc41d6cf2c5a4a91432bc85afa38980b Mon Sep 17 00:00:00 2001 From: Karsten Schmidt Date: Sat, 28 Mar 2020 17:06:31 +0000 Subject: [PATCH 64/70] fix(transducers-patch): update deps & imports --- packages/transducers-patch/package.json | 1 + packages/transducers-patch/src/patch-obj.ts | 5 ++--- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/transducers-patch/package.json b/packages/transducers-patch/package.json index 023f41f865..688f1bc971 100644 --- a/packages/transducers-patch/package.json +++ b/packages/transducers-patch/package.json @@ -39,6 +39,7 @@ }, "dependencies": { "@thi.ng/api": "^6.8.3", + "@thi.ng/checks": "^2.5.4", "@thi.ng/errors": "^1.2.7", "@thi.ng/paths": "^3.0.5", "@thi.ng/transducers": "^6.4.1", diff --git a/packages/transducers-patch/src/patch-obj.ts b/packages/transducers-patch/src/patch-obj.ts index 890da048a7..43602a300c 100644 --- a/packages/transducers-patch/src/patch-obj.ts +++ b/packages/transducers-patch/src/patch-obj.ts @@ -1,8 +1,7 @@ +import { isNumber } from "@thi.ng/checks"; import { illegalArgs } from "@thi.ng/errors"; import { deleteInUnsafe, setInUnsafe, updateInUnsafe } from "@thi.ng/paths"; -import { reducer, Reducer } from "@thi.ng/transducers"; -import { reduce } from "@thi.ng/transducers"; -import { isNumber } from "util"; +import { reduce, reducer, Reducer } from "@thi.ng/transducers"; import { Patch, PatchObjOp } from "./api"; /** From 633f69387a9ddf35919b9b6dd108068a9e05aec7 Mon Sep 17 00:00:00 2001 From: Karsten Schmidt Date: Sat, 28 Mar 2020 18:27:21 +0000 Subject: [PATCH 65/70] refactor(webgl): rename factory functions BREAKING CHANGE: #210, rename factory functions (`defXXX`) - rename buffer() => defBuffer() - rename fbo() => defFBO() - rename rbo() => defRBO() - rename multipass() => defMultiPass() - rename shader() => defShader() - rename texture() => defTexture() - rename cubeMap() => defTextureCubeMap() - rename floatTexture() => defTextureFloat() - rename cube() => defCubeModel() - rename quad() => defQuadModel() --- packages/webgl/src/buffer.ts | 12 +++--- packages/webgl/src/fbo.ts | 4 +- packages/webgl/src/geo/cube.ts | 2 +- packages/webgl/src/geo/quad.ts | 12 +++--- packages/webgl/src/multipass.ts | 75 ++++++++++++++++----------------- packages/webgl/src/rbo.ts | 4 +- packages/webgl/src/shader.ts | 33 ++++++--------- packages/webgl/src/texture.ts | 18 ++++---- 8 files changed, 75 insertions(+), 85 deletions(-) diff --git a/packages/webgl/src/buffer.ts b/packages/webgl/src/buffer.ts index 6852dc5f0d..c423394cf5 100644 --- a/packages/webgl/src/buffer.ts +++ b/packages/webgl/src/buffer.ts @@ -1,14 +1,14 @@ +import type { TypedArray } from "@thi.ng/api"; import { AttribPool } from "@thi.ng/vector-pools"; +import type { IndexBufferSpec, IWebGLBuffer } from "./api/buffers"; import { DrawMode, ModelAttributeSpec, ModelAttributeSpecs, - ModelSpec + ModelSpec, } from "./api/model"; import { isGL2Context } from "./checks"; import { error } from "./error"; -import type { TypedArray } from "@thi.ng/api"; -import type { IndexBufferSpec, IWebGLBuffer } from "./api/buffers"; export class WebGLArrayBuffer implements IWebGLBuffer { gl: WebGLRenderingContext; @@ -58,7 +58,7 @@ export class WebGLArrayBuffer implements IWebGLBuffer { } } -export const buffer = ( +export const defBuffer = ( gl: WebGLRenderingContext, data?: TypedArray, target = gl.ARRAY_BUFFER, @@ -161,7 +161,7 @@ export const compileAttribPool = ( target = gl.ARRAY_BUFFER, mode = gl.STATIC_DRAW ) => { - const buf = buffer(gl, pool.bytes(), target, mode); + const buf = defBuffer(gl, pool.bytes(), target, mode); const spec = {}; for (let id of ids || Object.keys(pool.specs)) { const attr = pool.specs[id]; @@ -170,7 +170,7 @@ export const compileAttribPool = ( size: attr.size, type: attr.type, stride: pool.byteStride, - offset: attr.byteOffset + offset: attr.byteOffset, }; } return spec; diff --git a/packages/webgl/src/fbo.ts b/packages/webgl/src/fbo.ts index cbd51c6419..2291ad40e3 100644 --- a/packages/webgl/src/fbo.ts +++ b/packages/webgl/src/fbo.ts @@ -1,9 +1,9 @@ import { assert } from "@thi.ng/api"; +import type { FboOpts, IFbo } from "./api/buffers"; import { ITexture, TEX_FORMATS } from "./api/texture"; import { isGL2Context } from "./checks"; import { error } from "./error"; import { RBO } from "./rbo"; -import type { FboOpts, IFbo } from "./api/buffers"; const GL_COLOR_ATTACHMENT0_WEBGL = 0x8ce0; const GL_MAX_COLOR_ATTACHMENTS_WEBGL = 0x8cdf; @@ -131,5 +131,5 @@ export class FBO implements IFbo { } } -export const fbo = (gl: WebGLRenderingContext, opts?: Partial) => +export const defFBO = (gl: WebGLRenderingContext, opts?: Partial) => new FBO(gl, opts); diff --git a/packages/webgl/src/geo/cube.ts b/packages/webgl/src/geo/cube.ts index 443955ba30..9fe7396a2e 100644 --- a/packages/webgl/src/geo/cube.ts +++ b/packages/webgl/src/geo/cube.ts @@ -7,7 +7,7 @@ export interface CubeOpts { } // prettier-ignore -export const cube = (opts?: Partial) => { +export const defCubeModel = (opts?: Partial) => { opts = { size: 1, normal: true, uv: true, ...opts}; const s = opts.size!; const spec: ModelSpec = { diff --git a/packages/webgl/src/geo/quad.ts b/packages/webgl/src/geo/quad.ts index d9b71c20a9..8c3b0cb725 100644 --- a/packages/webgl/src/geo/quad.ts +++ b/packages/webgl/src/geo/quad.ts @@ -1,22 +1,22 @@ import { DrawMode, ModelSpec } from "../api/model"; -export const quad = (uv = true): ModelSpec => ({ +export const defQuadModel = (uv = true): ModelSpec => ({ attribs: { position: { data: new Float32Array([-1, -1, 1, -1, -1, 1, 1, 1]), - size: 2 + size: 2, }, ...(uv ? { uv: { data: new Float32Array([0, 0, 1, 0, 0, 1, 1, 1]), - size: 2 - } + size: 2, + }, } - : null) + : null), }, uniforms: {}, shader: null, mode: DrawMode.TRIANGLE_STRIP, - num: 4 + num: 4, }); diff --git a/packages/webgl/src/multipass.ts b/packages/webgl/src/multipass.ts index 361a66eda2..a185b9de40 100644 --- a/packages/webgl/src/multipass.ts +++ b/packages/webgl/src/multipass.ts @@ -1,25 +1,23 @@ import { assert, IObjectOf } from "@thi.ng/api"; -import { - assocObj, - map, - range, - some, - transduce -} from "@thi.ng/transducers"; +import { assocObj, map, range, some, transduce } from "@thi.ng/transducers"; +import type { ExtensionBehaviors } from "./api/ext"; +import type { Multipass, MultipassOpts, PassOpts } from "./api/multipass"; +import type { + ShaderOutputSpec, + ShaderSpec, + ShaderUniformSpecs, +} from "./api/shader"; +import type { ITexture } from "./api/texture"; import { compileModel } from "./buffer"; import { isFloatTexture, isGL2Context } from "./checks"; import { draw } from "./draw"; -import { fbo } from "./fbo"; -import { quad } from "./geo/quad"; -import { shader } from "./shader"; +import { defFBO } from "./fbo"; +import { defQuadModel } from "./geo/quad"; +import { defShader } from "./shader"; import { PASSTHROUGH_VS } from "./shaders/pipeline"; -import { texture } from "./texture"; -import type { ExtensionBehaviors } from "./api/ext"; -import type { Multipass, MultipassOpts, PassOpts } from "./api/multipass"; -import type { ShaderOutputSpec, ShaderSpec, ShaderUniformSpecs } from "./api/shader"; -import type { ITexture } from "./api/texture"; +import { defTexture } from "./texture"; -export const multipass = (opts: MultipassOpts) => { +export const defMultiPass = (opts: MultipassOpts) => { const gl = opts.gl; const isGL2 = isGL2Context(gl); const numPasses = opts.passes.length; @@ -33,22 +31,22 @@ export const multipass = (opts: MultipassOpts) => { vs: pass.vs || PASSTHROUGH_VS, fs: pass.fs, attribs: pass.attribs || { - position: "vec2" + position: "vec2", }, varying: pass.varying, uniforms: { ...pass.uniforms, ...(numIns ? { - inputs: ["sampler2D[]", numIns, [...range(numIns)]] + inputs: ["sampler2D[]", numIns, [...range(numIns)]], } - : null) + : null), }, outputs: numOuts ? transduce( map((i) => [ `output${i}`, - ["vec4", i] + ["vec4", i], ]), assocObj(), range(numOuts) @@ -59,7 +57,7 @@ export const multipass = (opts: MultipassOpts) => { post: pass.post, replacePrelude: pass.replacePrelude, generateDecls: pass.generateDecls, - ext + ext, }; const floatIn = some((id) => isFloatTexture(textures[id]), pass.inputs); const floatOut = some( @@ -74,25 +72,22 @@ export const multipass = (opts: MultipassOpts) => { ext[isGL2 ? "EXT_color_buffer_float" : "WEBGL_color_buffer_float"] = "require"; } - return shader(gl, spec); + return defShader(gl, spec); }; - const textures = Object.keys(opts.textures).reduce( - (acc, id) => { - acc[id] = texture(gl, { - width: opts.width, - height: opts.height, - filter: gl.NEAREST, - wrap: gl.CLAMP_TO_EDGE, - image: null, - ...opts.textures[id] - }); - return acc; - }, - >{} - ); + const textures = Object.keys(opts.textures).reduce((acc, id) => { + acc[id] = defTexture(gl, { + width: opts.width, + height: opts.height, + filter: gl.NEAREST, + wrap: gl.CLAMP_TO_EDGE, + image: null, + ...opts.textures[id], + }); + return acc; + }, >{}); - const model = compileModel(gl, quad(false)); + const model = compileModel(gl, defQuadModel(false)); const models = opts.passes.map((pass) => { const m = pass.model ? compileModel(gl, pass.model) : { ...model }; m.shader = initShader(pass); @@ -106,7 +101,9 @@ export const multipass = (opts: MultipassOpts) => { const fbos = (useMainBuffer ? opts.passes.slice(0, numPasses - 1) : opts.passes - ).map((pass) => fbo(gl, { tex: pass.outputs.map((id) => textures[id]) })); + ).map((pass) => + defFBO(gl, { tex: pass.outputs.map((id) => textures[id]) }) + ); const drawPass = (i: number, time: number) => { const pass = opts.passes[i]; @@ -157,7 +154,7 @@ export const multipass = (opts: MultipassOpts) => { passes: opts.passes, fbos, models, - textures + textures, }; return instance; diff --git a/packages/webgl/src/rbo.ts b/packages/webgl/src/rbo.ts index 149f2f19cc..6443c75852 100644 --- a/packages/webgl/src/rbo.ts +++ b/packages/webgl/src/rbo.ts @@ -1,5 +1,5 @@ -import { error } from "./error"; import type { IRenderBuffer, RboOpts } from "./api/buffers"; +import { error } from "./error"; export class RBO implements IRenderBuffer { gl: WebGLRenderingContext; @@ -47,5 +47,5 @@ export class RBO implements IRenderBuffer { } } -export const rbo = (gl: WebGLRenderingContext, opts: RboOpts) => +export const defRBO = (gl: WebGLRenderingContext, opts: RboOpts) => new RBO(gl, opts); diff --git a/packages/webgl/src/shader.ts b/packages/webgl/src/shader.ts index c816efc830..e49e8f0f8e 100644 --- a/packages/webgl/src/shader.ts +++ b/packages/webgl/src/shader.ts @@ -1,28 +1,24 @@ +import type { Fn3, IDeref, IObjectOf } from "@thi.ng/api"; import { existsAndNotNull, implementsFunction, isArray, isBoolean, - isFunction + isFunction, } from "@thi.ng/checks"; import { unsupported } from "@thi.ng/errors"; -import { - input, - output, - program, - Sym, - sym, - uniform -} from "@thi.ng/shader-ast"; +import { input, output, program, Sym, sym, uniform } from "@thi.ng/shader-ast"; import { GLSLVersion, targetGLSL } from "@thi.ng/shader-ast-glsl"; import { vals } from "@thi.ng/transducers"; import { ExtensionBehavior, ExtensionBehaviors, ExtensionName, - GL_EXT_INFO + GL_EXT_INFO, } from "./api/ext"; +import type { GLSL } from "./api/glsl"; import { LOGGER } from "./api/logger"; +import type { ModelAttributeSpecs, ModelSpec } from "./api/model"; import { DEFAULT_OUTPUT, GLSLDeclPrefixes, @@ -37,16 +33,13 @@ import { ShaderUniforms, ShaderUniformSpecs, UniformValue, - UniformValues + UniformValues, } from "./api/shader"; import { getExtensions } from "./canvas"; import { isGL2Context } from "./checks"; import { error } from "./error"; import { GLSL_HEADER, NO_PREFIXES, SYNTAX } from "./syntax"; import { UNIFORM_SETTERS } from "./uniforms"; -import type { Fn3, IDeref, IObjectOf } from "@thi.ng/api"; -import type { GLSL } from "./api/glsl"; -import type { ModelAttributeSpecs, ModelSpec } from "./api/model"; const ERROR_REGEXP = /ERROR: \d+:(\d+): (.*)/; @@ -190,7 +183,7 @@ export class Shader implements IShader { } } -export const shader = (gl: WebGLRenderingContext, spec: ShaderSpec) => { +export const defShader = (gl: WebGLRenderingContext, spec: ShaderSpec) => { const version = isGL2Context(gl) ? GLSLVersion.GLES_300 : GLSLVersion.GLES_100; @@ -344,7 +337,7 @@ export const shaderSourceFromAST = ( const target = targetGLSL({ type, version, - prelude + prelude, }); return ( target( @@ -354,8 +347,8 @@ export const shaderSourceFromAST = ( ...vals(outputs), ...(spec[type])(target, unis, inputs, { ...outputs, - ...outputAliases - }) + ...outputAliases, + }), ]) ) + (spec.post ? "\n" + spec.post : "") ); @@ -451,7 +444,7 @@ const initAttributes = ( } else { res[id] = { type, - loc: gl.getAttribLocation(prog, aid) + loc: gl.getAttribLocation(prog, aid), }; } } @@ -487,7 +480,7 @@ const initUniforms = ( setter: setter(gl, loc, defaultVal), defaultFn, defaultVal, - type + type, }; } else { error(`invalid uniform type: ${type}`); diff --git a/packages/webgl/src/texture.ts b/packages/webgl/src/texture.ts index e7c1b15f62..833fb4851a 100644 --- a/packages/webgl/src/texture.ts +++ b/packages/webgl/src/texture.ts @@ -2,13 +2,13 @@ import { withoutKeysObj } from "@thi.ng/associative"; import { isArray } from "@thi.ng/checks"; import { ITexture, - TEX_FORMATS, TextureFilter, TextureFormat, TextureOpts, TextureRepeat, TextureTarget, - TextureType + TextureType, + TEX_FORMATS, } from "./api/texture"; import { isGL2Context } from "./checks"; import { error } from "./error"; @@ -142,7 +142,7 @@ export class Texture implements ITexture { if (opts.image != null && level == 0) { this.size = [ (opts.image).width, - (opts.image).height + (opts.image).height, ]; } gl.texImage2D( @@ -247,7 +247,7 @@ export class Texture implements ITexture { } } -export const texture = ( +export const defTexture = ( gl: WebGLRenderingContext, opts?: Partial ) => new Texture(gl, opts); @@ -269,7 +269,7 @@ export const texture = ( * @param faces - in order: +x,-x,+y,-y,+z,-z * @param opts - */ -export const cubeMap = ( +export const defTextureCubeMap = ( gl: WebGLRenderingContext, faces: (ArrayBufferView | TexImageSource)[], opts: Partial = {} @@ -279,7 +279,7 @@ export const cubeMap = ( "target", "image", "filter", - "mipmap" + "mipmap", ]); for (let i = 0; i < 6; i++) { faceOpts.target = gl.TEXTURE_CUBE_MAP_POSITIVE_X + i; @@ -291,7 +291,7 @@ export const cubeMap = ( }; /** - * Creates & configure a new FLOAT texture. + * Creates & configure a new float texture. * * **Important:** Since each texel will hold 4x 32-bit float values, the * `data` buffer needs to have a length of at least `4 * width * @@ -307,7 +307,7 @@ export const cubeMap = ( * @param format - * @param type - */ -export const floatTexture = ( +export const defTextureFloat = ( gl: WebGLRenderingContext, data: Float32Array | undefined | null, width: number, @@ -324,5 +324,5 @@ export const floatTexture = ( type: type || gl.FLOAT, image: data, width, - height + height, }); From 40dd67b795a288b10bcadeccfc198f6688ace5b7 Mon Sep 17 00:00:00 2001 From: Karsten Schmidt Date: Sat, 28 Mar 2020 18:28:07 +0000 Subject: [PATCH 66/70] refactor(webgl-shadertoy): update to new webgl API --- packages/webgl-shadertoy/src/shadertoy.ts | 33 ++++++++++------------- 1 file changed, 14 insertions(+), 19 deletions(-) diff --git a/packages/webgl-shadertoy/src/shadertoy.ts b/packages/webgl-shadertoy/src/shadertoy.ts index baf04c4c2e..f85bd1c261 100644 --- a/packages/webgl-shadertoy/src/shadertoy.ts +++ b/packages/webgl-shadertoy/src/shadertoy.ts @@ -4,19 +4,14 @@ import { defn, FLOAT0, FLOAT1, - vec4 + vec4, } from "@thi.ng/shader-ast"; -import { - compileModel, - draw, - quad, - shader -} from "@thi.ng/webgl"; +import { compileModel, defQuadModel, defShader, draw } from "@thi.ng/webgl"; import type { MainImageFn, ShaderToy, ShaderToyOpts, - ShaderToyUniforms + ShaderToyUniforms, } from "./api"; export const shaderToy = ( @@ -24,7 +19,7 @@ export const shaderToy = ( ) => { const gl = opts.gl; - const model = quad(false); + const model = defQuadModel(false); model.textures = opts.textures || []; compileModel(gl, model); @@ -33,7 +28,7 @@ export const shaderToy = ( const dpr = window.devicePixelRatio; model.uniforms!.mouse = [ (e.clientX - rect.left) * dpr, - (rect.height - (e.clientY - rect.top)) * dpr + (rect.height - (e.clientY - rect.top)) * dpr, ]; }); opts.canvas.addEventListener("mousedown", (e) => { @@ -77,14 +72,14 @@ export const shaderToy = ( if (model.shader) { model.shader.release(); } - model.shader = shader(gl, { + model.shader = defShader(gl, { vs: (gl, _, ins) => [ defMain(() => [ assign( gl.gl_Position, vec4(ins.position, FLOAT0, FLOAT1) - ) - ]) + ), + ]), ], fs: (gl, unis, _, outputs) => [ defMain(() => [ @@ -93,22 +88,22 @@ export const shaderToy = ( defn("vec4", "mainImage", [], () => main(gl, unis) )() - ) - ]) + ), + ]), ], attribs: { - position: "vec2" + position: "vec2", }, uniforms: { resolution: "vec2", mouse: ["vec2", [0, 0]], mouseButtons: ["int", 0], time: "float", - ...opts.uniforms - } + ...opts.uniforms, + }, }); }, - model + model, }; instance.recompile(opts.main); return instance; From b3f90b8cc5b0ce3ed405485af4c6c77e4bd34761 Mon Sep 17 00:00:00 2001 From: Karsten Schmidt Date: Sat, 28 Mar 2020 18:31:08 +0000 Subject: [PATCH 67/70] refactor(examples): update to use new webgl API --- examples/webgl-cube/src/index.ts | 22 +++---- examples/webgl-cubemap/src/index.ts | 61 +++++++++---------- examples/webgl-grid/src/index.ts | 42 ++++++------- examples/webgl-msdf/src/index.ts | 63 +++++++++----------- examples/webgl-multipass/src/index.ts | 32 +++++----- examples/webgl-ssao/src/index.ts | 85 +++++++++++++-------------- 6 files changed, 145 insertions(+), 160 deletions(-) diff --git a/examples/webgl-cube/src/index.ts b/examples/webgl-cube/src/index.ts index c4896ccd25..dc7cb6c124 100644 --- a/examples/webgl-cube/src/index.ts +++ b/examples/webgl-cube/src/index.ts @@ -5,29 +5,29 @@ import { lookAt, perspective, rotationX44, - rotationY44 + rotationY44, } from "@thi.ng/matrices"; import { SOA } from "@thi.ng/soa"; import { permutations, repeat } from "@thi.ng/transducers"; import { normalize } from "@thi.ng/vectors"; import { compileModel, + defShader, draw, GLMat4, GLVec3, LAMBERT, ModelSpec, - shader } from "@thi.ng/webgl"; const cube = (): Partial => { const soa = new SOA(36, { pos: { size: 3 }, normal: { size: 3 }, - col: { size: 3 } + col: { size: 3 }, }); const [a, b, c, d, e, f, g, h] = [ - ...permutations([-1, 1], [-1, 1], [-1, 1]) + ...permutations([-1, 1], [-1, 1], [-1, 1]), ]; [ // tuples of: quad verts, normal, color @@ -36,7 +36,7 @@ const cube = (): Partial => { [e, f, a, b, [0, -1, 0], [0, 0, 1]], [c, d, g, h, [0, 1, 0], [1, 1, 0]], [e, a, g, c, [0, 0, -1], [1, 0, 1]], - [b, f, d, h, [0, 0, 1], [0, 1, 1]] + [b, f, d, h, [0, 0, 1], [0, 1, 1]], ].forEach(([a, b, c, d, n, col], i: number) => { i *= 6; soa.setAttribValues("pos", [a, b, d, a, d, c], i); @@ -48,9 +48,9 @@ const cube = (): Partial => { attribs: { position: { data: soa.buffers.pos, size: 3 }, normal: { data: soa.buffers.normal, size: 3 }, - col: { data: soa.buffers.col, size: 3 } + col: { data: soa.buffers.col, size: 3 }, }, - num: 36 + num: 36, }; }; @@ -59,13 +59,13 @@ const app = () => { const canvas = canvasWebGL({ init(_, gl) { model = compileModel(gl, { - shader: shader(gl, LAMBERT({ color: "col" })), + shader: defShader(gl, LAMBERT({ color: "col" })), uniforms: { proj: perspective([], 60, 1, 0.1, 10), view: lookAt([], [0, 0, 4], [0, 0, 0], [0, 1, 0]), - lightDir: normalize(null, [0.5, 0.75, 1]) + lightDir: normalize(null, [0.5, 0.75, 1]), }, - ...cube() + ...cube(), }); }, update(_, gl, __, time) { @@ -77,7 +77,7 @@ const app = () => { gl.clearColor(0, 0, 0, 1); gl.clear(gl.COLOR_BUFFER_BIT | gl.DEPTH_BUFFER_BIT); draw(model); - } + }, }); return [canvas, { width: 600, height: 600 }]; }; diff --git a/examples/webgl-cubemap/src/index.ts b/examples/webgl-cubemap/src/index.ts index 3bf05d79b0..71162308a5 100644 --- a/examples/webgl-cubemap/src/index.ts +++ b/examples/webgl-cubemap/src/index.ts @@ -1,12 +1,7 @@ import { sin } from "@thi.ng/dsp"; import { start } from "@thi.ng/hdom"; import { adaptDPI, canvasWebGL, dropdown } from "@thi.ng/hdom-components"; -import { - concat, - lookAt, - perspective, - transform44 -} from "@thi.ng/matrices"; +import { concat, lookAt, perspective, transform44 } from "@thi.ng/matrices"; import { fromPromise, metaStream, stream } from "@thi.ng/rstream"; import { assign, @@ -14,54 +9,54 @@ import { mul, normalize, texture, - vec4 + vec4, } from "@thi.ng/shader-ast"; import { BLEND_ADD, compileModel, - cube, - cubeMap, + defCubeModel, + defShader, + defTextureCubeMap, draw, GLMat4, ModelSpec, - shader, ShaderSpec, - TextureFilter + TextureFilter, } from "@thi.ng/webgl"; const CUBEMAP_SHADER: ShaderSpec = { vs: (gl, unis, ins, outs) => [ defMain(() => [ assign(outs.vnormal, ins.position), - assign(gl.gl_Position, mul(unis.mvp, vec4(ins.position, 1))) - ]) + assign(gl.gl_Position, mul(unis.mvp, vec4(ins.position, 1))), + ]), ], fs: (_, unis, ins, outs) => [ defMain(() => [ - assign(outs.fragColor, texture(unis.tex, normalize(ins.vnormal))) - ]) + assign(outs.fragColor, texture(unis.tex, normalize(ins.vnormal))), + ]), ], attribs: { - position: "vec3" + position: "vec3", }, varying: { - vnormal: "vec3" + vnormal: "vec3", }, uniforms: { mvp: "mat4", - tex: "samplerCube" + tex: "samplerCube", }, state: { depth: false, blend: true, - blendFn: BLEND_ADD - } + blendFn: BLEND_ADD, + }, }; const CUBE_MAPS = [ ["langholmen2", "Langholmen"], ["golden-gate", "Golden Gate"], - ["maskonaive2", "Maskonaive"] + ["maskonaive2", "Maskonaive"], ]; const app = () => { @@ -80,18 +75,18 @@ const app = () => { next(faces) { try { model = compileModel(gl, { - ...cube({ normal: false, uv: false }), - shader: shader(gl, CUBEMAP_SHADER), + ...defCubeModel({ normal: false, uv: false }), + shader: defShader(gl, CUBEMAP_SHADER), uniforms: {}, textures: [ - cubeMap(gl, faces, { + defTextureCubeMap(gl, faces, { filter: [ TextureFilter.LINEAR_MIPMAP_LINEAR, - TextureFilter.LINEAR + TextureFilter.LINEAR, ], - mipmap: true - }) - ] + mipmap: true, + }), + ], }); } catch (err) { console.warn(err); @@ -99,7 +94,7 @@ const app = () => { }, error(e) { console.warn(e); - } + }, }); }, // prettier-ignore @@ -126,12 +121,12 @@ const app = () => { dropdown, { onchange: (e: Event) => - selection.next((e.target).value) + selection.next((e.target).value), }, CUBE_MAPS, - selection.deref() - ] - ] + selection.deref(), + ], + ], ]; }; diff --git a/examples/webgl-grid/src/index.ts b/examples/webgl-grid/src/index.ts index f9f93b784d..fd7a9ed042 100644 --- a/examples/webgl-grid/src/index.ts +++ b/examples/webgl-grid/src/index.ts @@ -7,16 +7,16 @@ import { normalize, rotateY } from "@thi.ng/vectors"; import { checkerboard, compileModel, - cube, + defCubeModel, + defShader, + defTexture, draw, GLMat4, GLVec3, LAMBERT, ModelSpec, - shader, - texture, TextureFilter, - TextureRepeat + TextureRepeat, } from "@thi.ng/webgl"; const app = () => { @@ -27,7 +27,7 @@ const app = () => { const C1 = [0.5, 0.5, 0.5]; const C2 = [1, 1, 1]; model = compileModel(gl, { - ...cube({ size: 0.9 }), + ...defCubeModel({ size: 0.9 }), instances: { attribs: { offset: { @@ -36,45 +36,45 @@ const app = () => { ([x, z]) => [ x * 2, Math.sin(x * 0.4) + Math.sin(z * 0.4), - z * 2 + z * 2, ], range2d(-GRID + 1, GRID, -GRID + 1, GRID) - ) - ]) + ), + ]), }, icol: { data: new Float32Array([ ...mapcat( () => (Math.random() < 0.5 ? C1 : C2), range2d(-GRID + 1, GRID, -GRID + 1, GRID) - ) - ]) - } + ), + ]), + }, }, - num: (GRID * 2 - 1) ** 2 + num: (GRID * 2 - 1) ** 2, }, - shader: shader( + shader: defShader( gl, LAMBERT({ uv: "uv", instancePos: "offset", instanceColor: "icol", - state: { cull: true } + state: { cull: true }, }) ), uniforms: {}, textures: [ - texture(gl, { + defTexture(gl, { image: checkerboard({ size: 8, col1: 0xff808080, col2: 0xffffffff, - corners: true + corners: true, }), filter: TextureFilter.NEAREST, - wrap: TextureRepeat.CLAMP - }) - ] + wrap: TextureRepeat.CLAMP, + }), + ], }); }, update: (el, gl, __, time) => { @@ -100,11 +100,11 @@ const app = () => { gl.clearColor(bg, bg, bg, 1); gl.clear(gl.COLOR_BUFFER_BIT | gl.DEPTH_BUFFER_BIT); draw(model); - } + }, }); return () => [ canvas, - { width: window.innerWidth, height: window.innerHeight } + { width: window.innerWidth, height: window.innerHeight }, ]; }; diff --git a/examples/webgl-msdf/src/index.ts b/examples/webgl-msdf/src/index.ts index 820a4a7b66..88145de47b 100644 --- a/examples/webgl-msdf/src/index.ts +++ b/examples/webgl-msdf/src/index.ts @@ -2,12 +2,7 @@ import { GLType } from "@thi.ng/api"; import { start } from "@thi.ng/hdom"; import { canvasWebGL } from "@thi.ng/hdom-components"; import { fitClamped } from "@thi.ng/math"; -import { - concat, - lookAt, - perspective, - transform44 -} from "@thi.ng/matrices"; +import { concat, lookAt, perspective, transform44 } from "@thi.ng/matrices"; import { SYSTEM } from "@thi.ng/random"; import { fromDOMEvent, Subscription } from "@thi.ng/rstream"; import { @@ -24,7 +19,7 @@ import { smoothstep, sub, vec3, - vec4 + vec4, } from "@thi.ng/shader-ast"; import { map } from "@thi.ng/transducers"; import { AttribPool } from "@thi.ng/vector-pools"; @@ -35,27 +30,27 @@ import { mulN, ReadonlyVec, Y3, - ZERO3 + ZERO3, } from "@thi.ng/vectors"; import { adaptDPI, BLEND_NORMAL, compileModel, + defShader, + defTexture, draw, DrawMode, GLMat4, ModelSpec, - shader, - texture, TextureFilter, - TextureRepeat + TextureRepeat, } from "@thi.ng/webgl"; import { alignCenter, convertGlyphs, MSDFFont, msdfShader, - text + text, } from "@thi.ng/webgl-msdf"; import GLYPHS from "../assets/inputmono-extralight-msdf.json"; import GLYPH_TEX from "../assets/inputmono-extralight.png"; @@ -100,20 +95,20 @@ const createText = ( leading: 1.4, spacing: 1, dirY: -1, - useColor: true + useColor: true, }), - shader: shader(gl, msdfShader({ color: true })), + shader: defShader(gl, msdfShader({ color: true })), textures: [ - texture(gl, { + defTexture(gl, { image: img, filter: TextureFilter.LINEAR, - wrap: TextureRepeat.CLAMP - }) + wrap: TextureRepeat.CLAMP, + }), ], uniforms: { bg: [0, 0, 0, 1], - thresh: -0.2 - } + thresh: -0.2, + }, }; // update bottom vertex colors of each character for (let i = 2; i < model.attribPool!.capacity; i += 4) { @@ -127,12 +122,12 @@ const createStarField = (gl: WebGLRenderingContext, num = 1000) => { attribs: { position: { type: GLType.F32, size: 3, byteOffset: 0 }, dir: { type: GLType.F32, size: 3, byteOffset: 12 }, - id: { type: GLType.F32, size: 1, byteOffset: 24 } + id: { type: GLType.F32, size: 1, byteOffset: 24 }, }, mem: { - size: num * 28 + 8 /* FIXME */ + 40 + size: num * 28 + 8 /* FIXME */ + 40, }, - num + num, }); for (let i = 0, r = SYSTEM; i < num; i++) { const pos = [r.minmax(-15, 15), r.minmax(0, 10), 0]; @@ -148,7 +143,7 @@ const createStarField = (gl: WebGLRenderingContext, num = 1000) => { attribs: {}, attribPool: pool, uniforms: {}, - shader: shader(gl, { + shader: defShader(gl, { vs: (gl, unis, ins, outs) => [ defMain(() => [ assign( @@ -177,8 +172,8 @@ const createStarField = (gl: WebGLRenderingContext, num = 1000) => { ) ) ), - assign(gl.gl_PointSize, div(float(20), $w(gl.gl_Position))) - ]) + assign(gl.gl_PointSize, div(float(20), $w(gl.gl_Position))), + ]), ], fs: (gl, _, ins, outs) => [ defMain(() => [ @@ -195,29 +190,29 @@ const createStarField = (gl: WebGLRenderingContext, num = 1000) => { ) ) ) - ) - ]) + ), + ]), ], attribs: { position: "vec3", dir: "vec3", - id: "float" + id: "float", }, varying: { - valpha: "float" + valpha: "float", }, uniforms: { modelview: "mat4", proj: "mat4", - time: "float" + time: "float", }, state: { blend: true, - blendFn: BLEND_NORMAL - } + blendFn: BLEND_NORMAL, + }, }), mode: DrawMode.POINTS, - num + num, }); }; @@ -285,7 +280,7 @@ const app = () => { gl.clearColor(bg, bg, bg, 1); gl.clear(gl.COLOR_BUFFER_BIT | gl.DEPTH_BUFFER_BIT); draw([stars, body]); - } + }, }); return [canvas, { width: window.innerWidth, height: window.innerHeight }]; }; diff --git a/examples/webgl-multipass/src/index.ts b/examples/webgl-multipass/src/index.ts index ea9c2e4945..45eabd04fa 100644 --- a/examples/webgl-multipass/src/index.ts +++ b/examples/webgl-multipass/src/index.ts @@ -16,15 +16,15 @@ import { Vec2Sym, vec3, vec4, - Vec4Sym + Vec4Sym, } from "@thi.ng/shader-ast"; import { clamp01, fit1101, fragUV } from "@thi.ng/shader-ast-stdlib"; import { + defMultiPass, glCanvas, - multipass, readTexture, TextureFormat, - TextureType + TextureType, } from "@thi.ng/webgl"; // create WebGL canvas @@ -34,17 +34,17 @@ const canvas = glCanvas({ width: 512, height: 512, parent: document.body, - version: 2 + version: 2, }); // init multipass shader pipeline -const toy = multipass({ +const toy = defMultiPass({ gl: canvas.gl, width: 32, height: 32, textures: { foo: { format: TextureFormat.RGBA32F }, - bar: { format: TextureFormat.R32F } + bar: { format: TextureFormat.R32F }, }, passes: [ { @@ -60,19 +60,19 @@ const toy = multipass({ assign( outs.output1, vec4(clamp01(length(sub(uv, 0.5)))) - ) + ), ]; - }) + }), ], inputs: [], outputs: ["foo", "bar"], uniforms: { time: "float", - resolution: "vec2" + resolution: "vec2", }, uniformVals: { // foo: () => Math.random() - } + }, }, { fs: (gl, unis, _, outs) => [ @@ -92,18 +92,18 @@ const toy = multipass({ ), 1 ) - ) + ), ]; - }) + }), ], inputs: ["foo", "bar"], outputs: [], uniforms: { resolution: "vec2", - time: "float" - } - } - ] + time: "float", + }, + }, + ], }); toy.update(0); diff --git a/examples/webgl-ssao/src/index.ts b/examples/webgl-ssao/src/index.ts index eea1cc237a..81ac2155cc 100644 --- a/examples/webgl-ssao/src/index.ts +++ b/examples/webgl-ssao/src/index.ts @@ -1,37 +1,32 @@ +import type { IDeref } from "@thi.ng/api"; import { sin } from "@thi.ng/dsp"; import { start } from "@thi.ng/hdom"; import { canvasWebGL2 } from "@thi.ng/hdom-components"; import { lookAt, perspective, transform44 } from "@thi.ng/matrices"; import { fromRAF, tweenNumber } from "@thi.ng/rstream"; -import { - benchmark, - map, - movingAverage, - repeatedly -} from "@thi.ng/transducers"; +import { benchmark, map, movingAverage, repeatedly } from "@thi.ng/transducers"; import { rotateY } from "@thi.ng/vectors"; import { checkerboard, compileModel, - cube, + defCubeModel, + defFBO, + defQuadModel, + defRBO, + defShader, + defTexture, draw, - fbo, FBO, GLMat4, GLVec3, ModelSpec, - quad, - rbo, - shader, - texture, TextureFilter, TextureFormat, TextureOpts, - TextureRepeat + TextureRepeat, } from "@thi.ng/webgl"; -import { CONTROLS, PARAM_DEFS, PARAMS } from "./params"; +import { CONTROLS, PARAMS, PARAM_DEFS } from "./params"; import { FINAL_SHADER, LIGHT_SHADER, SSAO_SHADER } from "./shaders"; -import type { IDeref } from "@thi.ng/api"; // FBO size const W = 1024; @@ -43,7 +38,7 @@ const Z_FAR = 20; // noise texture data for SSAO shader const NOISE = new Float32Array([ - ...repeatedly(() => Math.random() * 2 - 1, W * H * 2) + ...repeatedly(() => Math.random() * 2 - 1, W * H * 2), ]); // instance position data for animated cubes @@ -79,36 +74,36 @@ const app = () => { { format: TextureFormat.RGBA16F }, { image: NOISE, - format: TextureFormat.RG16F + format: TextureFormat.RG16F, }, - {} + {}, ].map((opts: Partial) => - texture(gl, { + defTexture(gl, { width: W, height: H, image: null, filter: TextureFilter.NEAREST, wrap: TextureRepeat.CLAMP, - ...opts + ...opts, }) ); - fboGeo = fbo(gl, { + fboGeo = defFBO(gl, { tex: [colorTex, posTex, normTex], - depth: rbo(gl, { width: W, height: H }) + depth: defRBO(gl, { width: W, height: H }), }); - fboSSAO = fbo(gl, { - tex: [ssaoTex] + fboSSAO = defFBO(gl, { + tex: [ssaoTex], }); model = compileModel(gl, { - ...cube({ uv: true }), - shader: shader(gl, LIGHT_SHADER), + ...defCubeModel({ uv: true }), + shader: defShader(gl, LIGHT_SHADER), instances: { attribs: { offset: { - data: instancePositions(1.05) - } + data: instancePositions(1.05), + }, }, - num: 6 + num: 6, }, uniforms: { eyePos: >( @@ -133,40 +128,40 @@ const app = () => { ) ) ), - specular: >PARAMS.specular + specular: >PARAMS.specular, }, textures: [ - texture(gl, { + defTexture(gl, { image: checkerboard({ size: 16, col1: 0xffc0c0c0, col2: 0xffe0e0e0, - corners: true + corners: true, }), filter: TextureFilter.NEAREST, - wrap: TextureRepeat.CLAMP - }) - ] + wrap: TextureRepeat.CLAMP, + }), + ], }); ssaoQuad = compileModel(gl, { - ...quad(false), - shader: shader(gl, SSAO_SHADER), + ...defQuadModel(false), + shader: defShader(gl, SSAO_SHADER), textures: [posTex, normTex, noiseTex], uniforms: { sampleRadius: >PARAMS.radius, bias: >PARAMS.bias, attenuate: >PARAMS.baseAttenuation, attenuateDist: >PARAMS.distAttenuation, - depthRange: [Z_NEAR, Z_FAR] - } + depthRange: [Z_NEAR, Z_FAR], + }, }); finalQuad = compileModel(gl, { - ...quad(), - shader: shader(gl, FINAL_SHADER), + ...defQuadModel(), + shader: defShader(gl, FINAL_SHADER), textures: [colorTex, ssaoTex], uniforms: { - amp: >PARAMS.amp - } + amp: >PARAMS.amp, + }, }); }, update(_, gl, __, time, frame) { @@ -197,13 +192,13 @@ const app = () => { fboSSAO.unbind(); gl.viewport(0, 0, gl.drawingBufferWidth, gl.drawingBufferHeight); draw(finalQuad); - } + }, }); return () => [ "div.sans-serif.pa3.bg-dark-gray.white", [canvas, { width: W, height: H }], ["div.fixed.top-0.left-0.z-1.ma3.pa3", fps, " fps"], - ["div.mt3", ...CONTROLS] + ["div.mt3", ...CONTROLS], ]; }; From 08f6a4863e99bea1acfca453bb2f3e24183f0826 Mon Sep 17 00:00:00 2001 From: Karsten Schmidt Date: Sat, 28 Mar 2020 20:57:49 +0000 Subject: [PATCH 68/70] docs(rstream): update fromView() docstrings --- packages/rstream/src/from/view.ts | 66 ++++++++++++++++++++----------- 1 file changed, 43 insertions(+), 23 deletions(-) diff --git a/packages/rstream/src/from/view.ts b/packages/rstream/src/from/view.ts index 07d299b4ba..d8e5f3913f 100644 --- a/packages/rstream/src/from/view.ts +++ b/packages/rstream/src/from/view.ts @@ -29,30 +29,14 @@ export interface FromViewOpts extends Partial { export type FromViewUnsafeOpts = FromViewOpts; /** - * Similar to {@link fromAtom}, but creates an eager derived view for a - * nested value in atom / cursor and yields stream of its value changes. - * - * @remarks - * Views are readonly and more lightweight versions of - * {@link @thi.ng/atom#Cursor | cursors}. The view checks for value - * changes with given `equiv` predicate (default: - * {@link @thi.ng/equiv#equiv}). If the predicate returns a falsy result - * (i.e. the new value), the new value is emitted on the stream. The - * first value emitted is always the (possibly transformed) current - * value at the stream's start time (i.e. when the first subscriber - * attaches). - * - * If the `tx` option is given, the raw value is first passed to this - * transformer function and its result emitted on the stream instead. - * - * When the stream is cancelled the view is destroyed as well. - * - * Also see {@link @thi.ng/atom#defView}, {@link @thi.ng/atom#defViewUnsafe} - * + * Unchecked version of {@link fromView}. Paths can be given as string + * or tuple. + * @example * ```ts * const db = defAtom({ a: 1, b: { c: 2 }}); * + * // create stream of `c` value changes * fromViewUnsafe( * db, * { @@ -62,7 +46,8 @@ export type FromViewUnsafeOpts = FromViewOpts; * ).subscribe(trace("view:")) * // view: 2 * - * db.swapIn(["b","c"], (x: number) => x + 1); + * // update `c` in state + * db.swapInUnsafe("b.c", (x: number) => x + 1); * // view: 3 * * db.reset({ a: 10 }); @@ -78,16 +63,51 @@ export const fromViewUnsafe = ( ): Stream => fromView(atom, opts); /** - * Type checked version of {@link fromViewUnsafe}. Only the first 8 path - * levels are type checked. + * Similar to {@link fromAtom}, but creates a type checked, eager + * derived view for a nested value in an Atom-like state container and + * yields stream of its value changes. * * @remarks * Stream value type is inferred from target path or (if given), the * result type of the optional view transformer (`tx` option). * + * Views are readonly and more lightweight versions of + * {@link @thi.ng/atom#Cursor | cursors}. The view checks for value + * changes with given `equiv` predicate (default: + * {@link @thi.ng/equiv#equiv}). If the predicate returns a falsy result + * (i.e. there's a new value), the new value is emitted on the stream. + * The first value emitted is always the (possibly transformed) current + * value at the stream's start time (i.e. when the first subscriber + * attaches). + * + * If the `tx` option is given, the raw value is first passed to this + * transformer function and its result emitted on the stream instead. + * + * When the stream is cancelled the view is destroyed as well. + * * Also see {@link @thi.ng/atom#defView}, * {@link @thi.ng/atom#defViewUnsafe} * + * @example + * ```ts + * const db = defAtom({ a: 1, b: { c: 2 }}); + * + * fromView( + * db, + * { + * path: ["b,"c"], + * tx: (x) => x != null ? String(x) : "n/a" + * } + * ).subscribe(trace("view:")) + * // view: 2 + * + * db.swapIn(["b","c"], (x) => x + 1); + * // view: 3 + * + * db.reset({ a: 10 }); + * // view: n/a + * ``` + * * @param parent - * @param opts - */ From b54b80a5c953cf0f06d8d1b67920fca27526fcf2 Mon Sep 17 00:00:00 2001 From: Karsten Schmidt Date: Sat, 28 Mar 2020 20:59:47 +0000 Subject: [PATCH 69/70] docs: update all readmes --- packages/adjacency/README.md | 4 ++-- packages/api/README.md | 4 ++-- packages/arrays/README.md | 4 ++-- packages/associative/README.md | 4 ++-- packages/atom/README.md | 4 ++-- packages/bench/README.md | 4 ++-- packages/bencode/README.md | 4 ++-- packages/binary/README.md | 4 ++-- packages/bitfield/README.md | 4 ++-- packages/bitstream/README.md | 4 ++-- packages/cache/README.md | 4 ++-- packages/checks/README.md | 4 ++-- packages/color/README.md | 4 ++-- packages/compare/README.md | 4 ++-- packages/compose/README.md | 4 ++-- packages/csp/README.md | 4 ++-- packages/dcons/README.md | 4 ++-- packages/defmulti/README.md | 4 ++-- packages/dgraph/README.md | 4 ++-- packages/diff/README.md | 4 ++-- packages/dl-asset/README.md | 4 ++-- packages/dlogic/README.md | 4 ++-- packages/dot/README.md | 4 ++-- packages/dsp-io-wav/README.md | 4 ++-- packages/dsp/README.md | 4 ++-- packages/dynvar/README.md | 4 ++-- packages/ecs/README.md | 4 ++-- packages/equiv/README.md | 4 ++-- packages/errors/README.md | 4 ++-- packages/fsm/README.md | 4 ++-- packages/geom-accel/README.md | 4 ++-- packages/geom-api/README.md | 4 ++-- packages/geom-arc/README.md | 4 ++-- packages/geom-clip-line/README.md | 4 ++-- packages/geom-clip-poly/README.md | 4 ++-- packages/geom-closest-point/README.md | 4 ++-- packages/geom-hull/README.md | 4 ++-- packages/geom-isec/README.md | 4 ++-- packages/geom-isoline/README.md | 4 ++-- packages/geom-poly-utils/README.md | 4 ++-- packages/geom-resample/README.md | 4 ++-- packages/geom-splines/README.md | 4 ++-- packages/geom-subdiv-curve/README.md | 4 ++-- packages/geom-tessellate/README.md | 4 ++-- packages/geom-voronoi/README.md | 4 ++-- packages/geom/README.md | 4 ++-- packages/gp/README.md | 4 ++-- packages/grid-iterators/README.md | 4 ++-- packages/hdom-canvas/README.md | 4 ++-- packages/hdom-components/README.md | 4 ++-- packages/hdom-mock/README.md | 4 ++-- packages/hdom/README.md | 5 +++-- packages/heaps/README.md | 4 ++-- packages/hiccup-carbon-icons/README.md | 4 ++-- packages/hiccup-css/README.md | 4 ++-- packages/hiccup-markdown/README.md | 4 ++-- packages/hiccup-svg/README.md | 4 ++-- packages/hiccup/README.md | 4 ++-- packages/idgen/README.md | 4 ++-- packages/iges/README.md | 4 ++-- packages/imgui/README.md | 4 ++-- packages/interceptors/README.md | 4 ++-- packages/intervals/README.md | 4 ++-- packages/iterators/README.md | 4 ++-- packages/layout/README.md | 4 ++-- packages/leb128/README.md | 4 ++-- packages/lsys/README.md | 4 ++-- packages/malloc/README.md | 4 ++-- packages/math/README.md | 4 ++-- packages/matrices/README.md | 4 ++-- packages/memoize/README.md | 4 ++-- packages/mime/README.md | 4 ++-- packages/morton/README.md | 4 ++-- packages/paths/README.md | 4 ++-- packages/pixel/README.md | 4 ++-- packages/pointfree-lang/README.md | 4 ++-- packages/pointfree/README.md | 4 ++-- packages/poisson/README.md | 4 ++-- packages/porter-duff/README.md | 4 ++-- packages/quad-edge/README.md | 4 ++-- packages/ramp/README.md | 4 ++-- packages/random/README.md | 4 ++-- packages/range-coder/README.md | 4 ++-- packages/resolve-map/README.md | 4 ++-- packages/rle-pack/README.md | 4 ++-- packages/router/README.md | 4 ++-- packages/rstream-csp/README.md | 4 ++-- packages/rstream-dot/README.md | 4 ++-- packages/rstream-gestures/README.md | 4 ++-- packages/rstream-graph/README.md | 4 ++-- packages/rstream-log-file/README.md | 4 ++-- packages/rstream-log/README.md | 4 ++-- packages/rstream-query/README.md | 4 ++-- packages/rstream/README.md | 4 ++-- packages/sax/README.md | 4 ++-- packages/scenegraph/README.md | 4 ++-- packages/seq/README.md | 4 ++-- packages/sexpr/README.md | 4 ++-- packages/shader-ast-glsl/README.md | 4 ++-- packages/shader-ast-js/README.md | 4 ++-- packages/shader-ast-stdlib/README.md | 4 ++-- packages/shader-ast/README.md | 4 ++-- packages/simd/README.md | 4 ++-- packages/soa/README.md | 4 ++-- packages/sparse/README.md | 4 ++-- packages/strings/README.md | 5 +++-- packages/text-canvas/README.md | 4 ++-- packages/transducers-binary/README.md | 4 ++-- packages/transducers-fsm/README.md | 4 ++-- packages/transducers-hdom/README.md | 4 ++-- packages/transducers-patch/README.md | 5 +++-- packages/transducers-stats/README.md | 4 ++-- packages/transducers/README.md | 4 ++-- packages/unionstruct/README.md | 4 ++-- packages/vector-pools/README.md | 4 ++-- packages/vectors/README.md | 4 ++-- packages/webgl-msdf/README.md | 4 ++-- packages/webgl-shadertoy/README.md | 4 ++-- packages/webgl/README.md | 4 ++-- packages/zipper/README.md | 4 ++-- 120 files changed, 243 insertions(+), 240 deletions(-) diff --git a/packages/adjacency/README.md b/packages/adjacency/README.md index 8f530e8515..008d7ea7d6 100644 --- a/packages/adjacency/README.md +++ b/packages/adjacency/README.md @@ -1,6 +1,6 @@ -# ![@thi.ng/adjacency](https://media.thi.ng/umbrella/banners/thing-adjacency.svg?1584814438) +# ![@thi.ng/adjacency](https://media.thi.ng/umbrella/banners/thing-adjacency.svg?1585427390) [![npm version](https://img.shields.io/npm/v/@thi.ng/adjacency.svg)](https://www.npmjs.com/package/@thi.ng/adjacency) ![npm downloads](https://img.shields.io/npm/dm/@thi.ng/adjacency.svg) @@ -32,7 +32,7 @@ Sparse & bitwise adjacency matrices and related functions for directed & undirec yarn add @thi.ng/adjacency ``` -Package sizes (gzipped): ESM: 1.8KB / CJS: 1.9KB / UMD: 2.0KB +Package sizes (gzipped): ESM: 1.80 KB / CJS: 1.87 KB / UMD: 1.95 KB ## Dependencies diff --git a/packages/api/README.md b/packages/api/README.md index 94e53d651a..6b321e576a 100644 --- a/packages/api/README.md +++ b/packages/api/README.md @@ -1,6 +1,6 @@ -# ![@thi.ng/api](https://media.thi.ng/umbrella/banners/thing-api.svg?1584814331) +# ![@thi.ng/api](https://media.thi.ng/umbrella/banners/thing-api.svg?1585427305) [![npm version](https://img.shields.io/npm/v/@thi.ng/api.svg)](https://www.npmjs.com/package/@thi.ng/api) ![npm downloads](https://img.shields.io/npm/dm/@thi.ng/api.svg) @@ -44,7 +44,7 @@ repository. It defines: yarn add @thi.ng/api ``` -Package sizes (gzipped): ESM: 2.0KB / CJS: 2.1KB / UMD: 2.1KB +Package sizes (gzipped): ESM: 1.97 KB / CJS: 2.07 KB / UMD: 2.05 KB ## Dependencies diff --git a/packages/arrays/README.md b/packages/arrays/README.md index 12f85fa8d0..59dbf39db1 100644 --- a/packages/arrays/README.md +++ b/packages/arrays/README.md @@ -1,6 +1,6 @@ -# ![@thi.ng/arrays](https://media.thi.ng/umbrella/banners/thing-arrays.svg?1584814381) +# ![@thi.ng/arrays](https://media.thi.ng/umbrella/banners/thing-arrays.svg?1585427344) [![npm version](https://img.shields.io/npm/v/@thi.ng/arrays.svg)](https://www.npmjs.com/package/@thi.ng/arrays) ![npm downloads](https://img.shields.io/npm/dm/@thi.ng/arrays.svg) @@ -32,7 +32,7 @@ Array / Arraylike utilities. yarn add @thi.ng/arrays ``` -Package sizes (gzipped): ESM: 1.7KB / CJS: 1.9KB / UMD: 1.9KB +Package sizes (gzipped): ESM: 1.73 KB / CJS: 1.88 KB / UMD: 1.87 KB ## Dependencies diff --git a/packages/associative/README.md b/packages/associative/README.md index aa9271a53d..eb08145822 100644 --- a/packages/associative/README.md +++ b/packages/associative/README.md @@ -1,6 +1,6 @@ -# ![@thi.ng/associative](https://media.thi.ng/umbrella/banners/thing-associative.svg?1584814413) +# ![@thi.ng/associative](https://media.thi.ng/umbrella/banners/thing-associative.svg?1585427371) [![npm version](https://img.shields.io/npm/v/@thi.ng/associative.svg)](https://www.npmjs.com/package/@thi.ng/associative) ![npm downloads](https://img.shields.io/npm/dm/@thi.ng/associative.svg) @@ -164,7 +164,7 @@ map.get([3,4], "n/a"); yarn add @thi.ng/associative ``` -Package sizes (gzipped): ESM: 4.8KB / CJS: 5.0KB / UMD: 4.9KB +Package sizes (gzipped): ESM: 5.28 KB / CJS: 5.45 KB / UMD: 5.27 KB ## Dependencies diff --git a/packages/atom/README.md b/packages/atom/README.md index 0853a4ce86..666c257ad1 100644 --- a/packages/atom/README.md +++ b/packages/atom/README.md @@ -1,6 +1,6 @@ -# ![@thi.ng/atom](https://media.thi.ng/umbrella/banners/thing-atom.svg?1585150217) +# ![@thi.ng/atom](https://media.thi.ng/umbrella/banners/thing-atom.svg?1585427344) [![npm version](https://img.shields.io/npm/v/@thi.ng/atom.svg)](https://www.npmjs.com/package/@thi.ng/atom) ![npm downloads](https://img.shields.io/npm/dm/@thi.ng/atom.svg) @@ -92,7 +92,7 @@ have been removed. yarn add @thi.ng/atom ``` -Package sizes (gzipped): CJS: 1.83 KB +Package sizes (gzipped): ESM: 1.76 KB / CJS: 1.83 KB / UMD: 1.87 KB ## Dependencies diff --git a/packages/bench/README.md b/packages/bench/README.md index 9392fca870..aec8eec17b 100644 --- a/packages/bench/README.md +++ b/packages/bench/README.md @@ -1,6 +1,6 @@ -# ![@thi.ng/bench](https://media.thi.ng/umbrella/banners/thing-bench.svg?1584814329) +# ![@thi.ng/bench](https://media.thi.ng/umbrella/banners/thing-bench.svg?1585427306) [![npm version](https://img.shields.io/npm/v/@thi.ng/bench.svg)](https://www.npmjs.com/package/@thi.ng/bench) ![npm downloads](https://img.shields.io/npm/dm/@thi.ng/bench.svg) @@ -41,7 +41,7 @@ still only sourced via `Date.now()`. yarn add @thi.ng/bench ``` -Package sizes (gzipped): ESM: 0.7KB / CJS: 0.7KB / UMD: 0.8KB +Package sizes (gzipped): ESM: 695 bytes / CJS: 757 bytes / UMD: 824 bytes ## Dependencies diff --git a/packages/bencode/README.md b/packages/bencode/README.md index ae462f65b8..bb4b3dce6c 100644 --- a/packages/bencode/README.md +++ b/packages/bencode/README.md @@ -1,6 +1,6 @@ -# ![@thi.ng/bencode](https://media.thi.ng/umbrella/banners/thing-bencode.svg?1584814425) +# ![@thi.ng/bencode](https://media.thi.ng/umbrella/banners/thing-bencode.svg?1585427381) [![npm version](https://img.shields.io/npm/v/@thi.ng/bencode.svg)](https://www.npmjs.com/package/@thi.ng/bencode) ![npm downloads](https://img.shields.io/npm/dm/@thi.ng/bencode.svg) @@ -58,7 +58,7 @@ semi-open `[1e-6,1e21)` interval can be encoded. yarn add @thi.ng/bencode ``` -Package sizes (gzipped): ESM: 1.2KB / CJS: 1.2KB / UMD: 1.3KB +Package sizes (gzipped): ESM: 1.17 KB / CJS: 1.23 KB / UMD: 1.28 KB ## Dependencies diff --git a/packages/binary/README.md b/packages/binary/README.md index d6c4678be6..c83b0b7ee1 100644 --- a/packages/binary/README.md +++ b/packages/binary/README.md @@ -1,6 +1,6 @@ -# ![@thi.ng/binary](https://media.thi.ng/umbrella/banners/thing-binary.svg?1584814331) +# ![@thi.ng/binary](https://media.thi.ng/umbrella/banners/thing-binary.svg?1585427306) [![npm version](https://img.shields.io/npm/v/@thi.ng/binary.svg)](https://www.npmjs.com/package/@thi.ng/binary) ![npm downloads](https://img.shields.io/npm/dm/@thi.ng/binary.svg) @@ -32,7 +32,7 @@ This project is part of the yarn add @thi.ng/binary ``` -Package sizes (gzipped): ESM: 1.9KB / CJS: 2.2KB / UMD: 1.8KB +Package sizes (gzipped): ESM: 1.87 KB / CJS: 2.19 KB / UMD: 1.85 KB ## Dependencies diff --git a/packages/bitfield/README.md b/packages/bitfield/README.md index c2f55aafd2..69badde908 100644 --- a/packages/bitfield/README.md +++ b/packages/bitfield/README.md @@ -1,6 +1,6 @@ -# ![@thi.ng/bitfield](https://media.thi.ng/umbrella/banners/thing-bitfield.svg?1584814387) +# ![@thi.ng/bitfield](https://media.thi.ng/umbrella/banners/thing-bitfield.svg?1585427349) [![npm version](https://img.shields.io/npm/v/@thi.ng/bitfield.svg)](https://www.npmjs.com/package/@thi.ng/bitfield) ![npm downloads](https://img.shields.io/npm/dm/@thi.ng/bitfield.svg) @@ -34,7 +34,7 @@ backing the width is always rounded to a multiple of 32. yarn add @thi.ng/bitfield ``` -Package sizes (gzipped): ESM: 0.9KB / CJS: 1.0KB / UMD: 1.1KB +Package sizes (gzipped): ESM: 947 bytes / CJS: 1008 bytes / UMD: 1.06 KB ## Dependencies diff --git a/packages/bitstream/README.md b/packages/bitstream/README.md index a603faeebd..159996b8e7 100644 --- a/packages/bitstream/README.md +++ b/packages/bitstream/README.md @@ -1,6 +1,6 @@ -# ![@thi.ng/bitstream](https://media.thi.ng/umbrella/banners/thing-bitstream.svg?1584814344) +# ![@thi.ng/bitstream](https://media.thi.ng/umbrella/banners/thing-bitstream.svg?1585427314) [![npm version](https://img.shields.io/npm/v/@thi.ng/bitstream.svg)](https://www.npmjs.com/package/@thi.ng/bitstream) ![npm downloads](https://img.shields.io/npm/dm/@thi.ng/bitstream.svg) @@ -33,7 +33,7 @@ ES6 iterator based read/write bit streams with support for variable word widths. yarn add @thi.ng/bitstream ``` -Package sizes (gzipped): ESM: 1.1KB / CJS: 1.1KB / UMD: 1.2KB +Package sizes (gzipped): ESM: 1.09 KB / CJS: 1.14 KB / UMD: 1.21 KB ## Dependencies diff --git a/packages/cache/README.md b/packages/cache/README.md index 4279de2083..3a44d26b4c 100644 --- a/packages/cache/README.md +++ b/packages/cache/README.md @@ -1,6 +1,6 @@ -# ![@thi.ng/cache](https://media.thi.ng/umbrella/banners/thing-cache.svg?1584814413) +# ![@thi.ng/cache](https://media.thi.ng/umbrella/banners/thing-cache.svg?1585427371) [![npm version](https://img.shields.io/npm/v/@thi.ng/cache.svg)](https://www.npmjs.com/package/@thi.ng/cache) ![npm downloads](https://img.shields.io/npm/dm/@thi.ng/cache.svg) @@ -53,7 +53,7 @@ strategies](https://en.wikipedia.org/wiki/Cache_replacement_policies). yarn add @thi.ng/cache ``` -Package sizes (gzipped): ESM: 1.0KB / CJS: 1.1KB / UMD: 1.2KB +Package sizes (gzipped): ESM: 1.02 KB / CJS: 1.08 KB / UMD: 1.18 KB ## Dependencies diff --git a/packages/checks/README.md b/packages/checks/README.md index 8d755f7c2c..cb54f344a2 100644 --- a/packages/checks/README.md +++ b/packages/checks/README.md @@ -1,6 +1,6 @@ -# ![@thi.ng/checks](https://media.thi.ng/umbrella/banners/thing-checks.svg?1584814331) +# ![@thi.ng/checks](https://media.thi.ng/umbrella/banners/thing-checks.svg?1585427306) [![npm version](https://img.shields.io/npm/v/@thi.ng/checks.svg)](https://www.npmjs.com/package/@thi.ng/checks) ![npm downloads](https://img.shields.io/npm/dm/@thi.ng/checks.svg) @@ -33,7 +33,7 @@ Collection of 50+ type, feature & value checks. yarn add @thi.ng/checks ``` -Package sizes (gzipped): ESM: 1.3KB / CJS: 1.5KB / UMD: 1.3KB +Package sizes (gzipped): ESM: 1.46 KB / CJS: 1.71 KB / UMD: 1.44 KB ## Dependencies diff --git a/packages/color/README.md b/packages/color/README.md index f953467e23..2f25ab12a9 100644 --- a/packages/color/README.md +++ b/packages/color/README.md @@ -1,6 +1,6 @@ -# ![@thi.ng/color](https://media.thi.ng/umbrella/banners/thing-color.svg?1584814438) +# ![@thi.ng/color](https://media.thi.ng/umbrella/banners/thing-color.svg?1585427390) [![npm version](https://img.shields.io/npm/v/@thi.ng/color.svg)](https://www.npmjs.com/package/@thi.ng/color) ![npm downloads](https://img.shields.io/npm/dm/@thi.ng/color.svg) @@ -180,7 +180,7 @@ col.multiCosineGradient( yarn add @thi.ng/color ``` -Package sizes (gzipped): ESM: 7.1KB / CJS: 7.4KB / UMD: 6.9KB +Package sizes (gzipped): ESM: 7.06 KB / CJS: 7.41 KB / UMD: 6.94 KB ## Dependencies diff --git a/packages/compare/README.md b/packages/compare/README.md index 152e1cdca1..dcc52d9053 100644 --- a/packages/compare/README.md +++ b/packages/compare/README.md @@ -1,6 +1,6 @@ -# ![@thi.ng/compare](https://media.thi.ng/umbrella/banners/thing-compare.svg?1584814344) +# ![@thi.ng/compare](https://media.thi.ng/umbrella/banners/thing-compare.svg?1585427314) [![npm version](https://img.shields.io/npm/v/@thi.ng/compare.svg)](https://www.npmjs.com/package/@thi.ng/compare) ![npm downloads](https://img.shields.io/npm/dm/@thi.ng/compare.svg) @@ -42,7 +42,7 @@ comparator. See examples below. yarn add @thi.ng/compare ``` -Package sizes (gzipped): ESM: 0.3KB / CJS: 0.4KB / UMD: 0.5KB +Package sizes (gzipped): ESM: 350 bytes / CJS: 427 bytes / UMD: 464 bytes ## Dependencies diff --git a/packages/compose/README.md b/packages/compose/README.md index 442535bbd2..a213f410ea 100644 --- a/packages/compose/README.md +++ b/packages/compose/README.md @@ -1,6 +1,6 @@ -# ![@thi.ng/compose](https://media.thi.ng/umbrella/banners/thing-compose.svg?1584814344) +# ![@thi.ng/compose](https://media.thi.ng/umbrella/banners/thing-compose.svg?1585427315) [![npm version](https://img.shields.io/npm/v/@thi.ng/compose.svg)](https://www.npmjs.com/package/@thi.ng/compose) ![npm downloads](https://img.shields.io/npm/dm/@thi.ng/compose.svg) @@ -31,7 +31,7 @@ Optimized functional composition helpers. yarn add @thi.ng/compose ``` -Package sizes (gzipped): ESM: 0.8KB / CJS: 0.9KB / UMD: 0.9KB +Package sizes (gzipped): ESM: 812 bytes / CJS: 915 bytes / UMD: 935 bytes ## Dependencies diff --git a/packages/csp/README.md b/packages/csp/README.md index db4b4e80ea..f693be541a 100644 --- a/packages/csp/README.md +++ b/packages/csp/README.md @@ -1,6 +1,6 @@ -# ![@thi.ng/csp](https://media.thi.ng/umbrella/banners/thing-csp.svg?1584814424) +# ![@thi.ng/csp](https://media.thi.ng/umbrella/banners/thing-csp.svg?1585427380) [![npm version](https://img.shields.io/npm/v/@thi.ng/csp.svg)](https://www.npmjs.com/package/@thi.ng/csp) ![npm downloads](https://img.shields.io/npm/dm/@thi.ng/csp.svg) @@ -54,7 +54,7 @@ for a similar, but alternative (and actively maintained) approach. yarn add @thi.ng/csp ``` -Package sizes (gzipped): ESM: 2.7KB / CJS: 2.8KB / UMD: 2.8KB +Package sizes (gzipped): ESM: 2.71 KB / CJS: 2.78 KB / UMD: 2.83 KB ## Dependencies diff --git a/packages/dcons/README.md b/packages/dcons/README.md index 554bb2682f..6b71104cf6 100644 --- a/packages/dcons/README.md +++ b/packages/dcons/README.md @@ -1,6 +1,6 @@ -# ![@thi.ng/dcons](https://media.thi.ng/umbrella/banners/thing-dcons.svg?1584814400) +# ![@thi.ng/dcons](https://media.thi.ng/umbrella/banners/thing-dcons.svg?1585427360) [![npm version](https://img.shields.io/npm/v/@thi.ng/dcons.svg)](https://www.npmjs.com/package/@thi.ng/dcons) ![npm downloads](https://img.shields.io/npm/dm/@thi.ng/dcons.svg) @@ -55,7 +55,7 @@ Double-linked list with comprehensive set of operations. yarn add @thi.ng/dcons ``` -Package sizes (gzipped): ESM: 2.0KB / CJS: 2.1KB / UMD: 2.2KB +Package sizes (gzipped): ESM: 1.98 KB / CJS: 2.06 KB / UMD: 2.15 KB ## Dependencies diff --git a/packages/defmulti/README.md b/packages/defmulti/README.md index b1aed1de78..ae27452a1e 100644 --- a/packages/defmulti/README.md +++ b/packages/defmulti/README.md @@ -1,6 +1,6 @@ -# ![@thi.ng/defmulti](https://media.thi.ng/umbrella/banners/thing-defmulti.svg?1584814344) +# ![@thi.ng/defmulti](https://media.thi.ng/umbrella/banners/thing-defmulti.svg?1585427315) [![npm version](https://img.shields.io/npm/v/@thi.ng/defmulti.svg)](https://www.npmjs.com/package/@thi.ng/defmulti) ![npm downloads](https://img.shields.io/npm/dm/@thi.ng/defmulti.svg) @@ -43,7 +43,7 @@ any actual JS type relationships). yarn add @thi.ng/defmulti ``` -Package sizes (gzipped): ESM: 0.7KB / CJS: 0.8KB / UMD: 0.8KB +Package sizes (gzipped): ESM: 750 bytes / CJS: 811 bytes / UMD: 870 bytes ## Dependencies diff --git a/packages/dgraph/README.md b/packages/dgraph/README.md index b34c2efce5..1f1eb1c075 100644 --- a/packages/dgraph/README.md +++ b/packages/dgraph/README.md @@ -1,6 +1,6 @@ -# ![@thi.ng/dgraph](https://media.thi.ng/umbrella/banners/thing-dgraph.svg?1584814438) +# ![@thi.ng/dgraph](https://media.thi.ng/umbrella/banners/thing-dgraph.svg?1585427402) [![npm version](https://img.shields.io/npm/v/@thi.ng/dgraph.svg)](https://www.npmjs.com/package/@thi.ng/dgraph) ![npm downloads](https://img.shields.io/npm/dm/@thi.ng/dgraph.svg) @@ -42,7 +42,7 @@ maps & sets as backend. yarn add @thi.ng/dgraph ``` -Package sizes (gzipped): ESM: 0.7KB / CJS: 0.8KB / UMD: 0.9KB +Package sizes (gzipped): ESM: 738 bytes / CJS: 798 bytes / UMD: 916 bytes ## Dependencies diff --git a/packages/diff/README.md b/packages/diff/README.md index 4172a6ac6e..4060c39ad1 100644 --- a/packages/diff/README.md +++ b/packages/diff/README.md @@ -1,6 +1,6 @@ -# ![@thi.ng/diff](https://media.thi.ng/umbrella/banners/thing-diff.svg?1584814368) +# ![@thi.ng/diff](https://media.thi.ng/umbrella/banners/thing-diff.svg?1585427315) [![npm version](https://img.shields.io/npm/v/@thi.ng/diff.svg)](https://www.npmjs.com/package/@thi.ng/diff) ![npm downloads](https://img.shields.io/npm/dm/@thi.ng/diff.svg) @@ -33,7 +33,7 @@ Customizable diff implementations for arrays (sequential) & objects (associative yarn add @thi.ng/diff ``` -Package sizes (gzipped): ESM: 1.2KB / CJS: 1.3KB / UMD: 1.3KB +Package sizes (gzipped): ESM: 1.22 KB / CJS: 1.27 KB / UMD: 1.30 KB ## Dependencies diff --git a/packages/dl-asset/README.md b/packages/dl-asset/README.md index 957ae4eb47..00e7f98c4f 100644 --- a/packages/dl-asset/README.md +++ b/packages/dl-asset/README.md @@ -1,6 +1,6 @@ -# ![@thi.ng/dl-asset](https://media.thi.ng/umbrella/banners/thing-dl-asset.svg?1584814380) +# ![@thi.ng/dl-asset](https://media.thi.ng/umbrella/banners/thing-dl-asset.svg?1585427343) [![npm version](https://img.shields.io/npm/v/@thi.ng/dl-asset.svg)](https://www.npmjs.com/package/@thi.ng/dl-asset) ![npm downloads](https://img.shields.io/npm/dm/@thi.ng/dl-asset.svg) @@ -32,7 +32,7 @@ Local asset download for web apps, with automatic MIME type detection. yarn add @thi.ng/dl-asset ``` -Package sizes (gzipped): ESM: 0.4KB / CJS: 0.4KB / UMD: 0.5KB +Package sizes (gzipped): ESM: 399 bytes / CJS: 451 bytes / UMD: 556 bytes ## Dependencies diff --git a/packages/dlogic/README.md b/packages/dlogic/README.md index 7ade6c5717..fe542e8c87 100644 --- a/packages/dlogic/README.md +++ b/packages/dlogic/README.md @@ -1,6 +1,6 @@ -# ![@thi.ng/dlogic](https://media.thi.ng/umbrella/banners/thing-dlogic.svg?1584814332) +# ![@thi.ng/dlogic](https://media.thi.ng/umbrella/banners/thing-dlogic.svg?1585427306) [![npm version](https://img.shields.io/npm/v/@thi.ng/dlogic.svg)](https://www.npmjs.com/package/@thi.ng/dlogic) ![npm downloads](https://img.shields.io/npm/dm/@thi.ng/dlogic.svg) @@ -38,7 +38,7 @@ for binary versions of most of the ops provided by this package. yarn add @thi.ng/dlogic ``` -Package sizes (gzipped): ESM: 0.4KB / CJS: 0.5KB / UMD: 0.5KB +Package sizes (gzipped): ESM: 378 bytes / CJS: 478 bytes / UMD: 514 bytes ## Dependencies diff --git a/packages/dot/README.md b/packages/dot/README.md index 020fdf1b51..d13e8aa579 100644 --- a/packages/dot/README.md +++ b/packages/dot/README.md @@ -1,6 +1,6 @@ -# ![@thi.ng/dot](https://media.thi.ng/umbrella/banners/thing-dot.svg?1584814356) +# ![@thi.ng/dot](https://media.thi.ng/umbrella/banners/thing-dot.svg?1585427325) [![npm version](https://img.shields.io/npm/v/@thi.ng/dot.svg)](https://www.npmjs.com/package/@thi.ng/dot) ![npm downloads](https://img.shields.io/npm/dm/@thi.ng/dot.svg) @@ -43,7 +43,7 @@ details. yarn add @thi.ng/dot ``` -Package sizes (gzipped): ESM: 0.7KB / CJS: 0.8KB / UMD: 0.8KB +Package sizes (gzipped): ESM: 721 bytes / CJS: 783 bytes / UMD: 866 bytes ## Dependencies diff --git a/packages/dsp-io-wav/README.md b/packages/dsp-io-wav/README.md index 28f04e3e46..c369400203 100644 --- a/packages/dsp-io-wav/README.md +++ b/packages/dsp-io-wav/README.md @@ -1,6 +1,6 @@ -# ![@thi.ng/dsp-io-wav](https://media.thi.ng/umbrella/banners/thing-dsp-io-wav.svg?1584814426) +# ![@thi.ng/dsp-io-wav](https://media.thi.ng/umbrella/banners/thing-dsp-io-wav.svg?1585427380) [![npm version](https://img.shields.io/npm/v/@thi.ng/dsp-io-wav.svg)](https://www.npmjs.com/package/@thi.ng/dsp-io-wav) ![npm downloads](https://img.shields.io/npm/dm/@thi.ng/dsp-io-wav.svg) @@ -31,7 +31,7 @@ WAV file format generation. This is a support package for [@thi.ng/dsp](https:// yarn add @thi.ng/dsp-io-wav ``` -Package sizes (gzipped): ESM: 0.5KB / CJS: 0.5KB / UMD: 0.6KB +Package sizes (gzipped): ESM: 502 bytes / CJS: 562 bytes / UMD: 630 bytes ## Dependencies diff --git a/packages/dsp/README.md b/packages/dsp/README.md index e719e1a439..9fd0a15e08 100644 --- a/packages/dsp/README.md +++ b/packages/dsp/README.md @@ -1,6 +1,6 @@ -# ![@thi.ng/dsp](https://media.thi.ng/umbrella/banners/thing-dsp.svg?1584814401) +# ![@thi.ng/dsp](https://media.thi.ng/umbrella/banners/thing-dsp.svg?1585427360) [![npm version](https://img.shields.io/npm/v/@thi.ng/dsp.svg)](https://www.npmjs.com/package/@thi.ng/dsp) ![npm downloads](https://img.shields.io/npm/dm/@thi.ng/dsp.svg) @@ -62,7 +62,7 @@ might be ported to WASM. yarn add @thi.ng/dsp ``` -Package sizes (gzipped): ESM: 6.6KB / CJS: 7.1KB / UMD: 6.6KB +Package sizes (gzipped): ESM: 6.63 KB / CJS: 7.10 KB / UMD: 6.59 KB ## Dependencies diff --git a/packages/dynvar/README.md b/packages/dynvar/README.md index 875a4d907d..dfc15a3b8b 100644 --- a/packages/dynvar/README.md +++ b/packages/dynvar/README.md @@ -1,6 +1,6 @@ -# ![@thi.ng/dynvar](https://media.thi.ng/umbrella/banners/thing-dynvar.svg?1584814344) +# ![@thi.ng/dynvar](https://media.thi.ng/umbrella/banners/thing-dynvar.svg?1585427315) [![npm version](https://img.shields.io/npm/v/@thi.ng/dynvar.svg)](https://www.npmjs.com/package/@thi.ng/dynvar) ![npm downloads](https://img.shields.io/npm/dm/@thi.ng/dynvar.svg) @@ -36,7 +36,7 @@ References: yarn add @thi.ng/dynvar ``` -Package sizes (gzipped): ESM: 0.3KB / CJS: 0.3KB / UMD: 0.4KB +Package sizes (gzipped): ESM: 300 bytes / CJS: 354 bytes / UMD: 439 bytes ## Dependencies diff --git a/packages/ecs/README.md b/packages/ecs/README.md index f58476b6d1..ba724f5af0 100644 --- a/packages/ecs/README.md +++ b/packages/ecs/README.md @@ -1,6 +1,6 @@ -# ![@thi.ng/ecs](https://media.thi.ng/umbrella/banners/thing-ecs.svg?1584814438) +# ![@thi.ng/ecs](https://media.thi.ng/umbrella/banners/thing-ecs.svg?1585427410) [![npm version](https://img.shields.io/npm/v/@thi.ng/ecs.svg)](https://www.npmjs.com/package/@thi.ng/ecs) ![npm downloads](https://img.shields.io/npm/dm/@thi.ng/ecs.svg) @@ -42,7 +42,7 @@ Entity Component System based around typed arrays & sparse sets. yarn add @thi.ng/ecs ``` -Package sizes (gzipped): ESM: 2.9KB / CJS: 3.0KB / UMD: 3.0KB +Package sizes (gzipped): ESM: 2.90 KB / CJS: 2.97 KB / UMD: 3.03 KB ## Dependencies diff --git a/packages/equiv/README.md b/packages/equiv/README.md index af2c1f614c..b1f837a570 100644 --- a/packages/equiv/README.md +++ b/packages/equiv/README.md @@ -1,6 +1,6 @@ -# ![@thi.ng/equiv](https://media.thi.ng/umbrella/banners/thing-equiv.svg?1584814332) +# ![@thi.ng/equiv](https://media.thi.ng/umbrella/banners/thing-equiv.svg?1585427305) [![npm version](https://img.shields.io/npm/v/@thi.ng/equiv.svg)](https://www.npmjs.com/package/@thi.ng/equiv) ![npm downloads](https://img.shields.io/npm/dm/@thi.ng/equiv.svg) @@ -44,7 +44,7 @@ Supports: yarn add @thi.ng/equiv ``` -Package sizes (gzipped): ESM: 0.5KB / CJS: 0.5KB / UMD: 0.6KB +Package sizes (gzipped): ESM: 487 bytes / CJS: 543 bytes / UMD: 604 bytes ## Dependencies diff --git a/packages/errors/README.md b/packages/errors/README.md index 9808a5d731..ea47c54c96 100644 --- a/packages/errors/README.md +++ b/packages/errors/README.md @@ -1,6 +1,6 @@ -# ![@thi.ng/errors](https://media.thi.ng/umbrella/banners/thing-errors.svg?1584814329) +# ![@thi.ng/errors](https://media.thi.ng/umbrella/banners/thing-errors.svg?1585427304) [![npm version](https://img.shields.io/npm/v/@thi.ng/errors.svg)](https://www.npmjs.com/package/@thi.ng/errors) ![npm downloads](https://img.shields.io/npm/dm/@thi.ng/errors.svg) @@ -34,7 +34,7 @@ Additional error types can be defined using yarn add @thi.ng/errors ``` -Package sizes (gzipped): ESM: 0.3KB / CJS: 0.3KB / UMD: 0.4KB +Package sizes (gzipped): ESM: 262 bytes / CJS: 338 bytes / UMD: 403 bytes ## Dependencies diff --git a/packages/fsm/README.md b/packages/fsm/README.md index 2882da0407..3776d87fcd 100644 --- a/packages/fsm/README.md +++ b/packages/fsm/README.md @@ -1,6 +1,6 @@ -# ![@thi.ng/fsm](https://media.thi.ng/umbrella/banners/thing-fsm.svg?1584814401) +# ![@thi.ng/fsm](https://media.thi.ng/umbrella/banners/thing-fsm.svg?1585427360) [![npm version](https://img.shields.io/npm/v/@thi.ng/fsm.svg)](https://www.npmjs.com/package/@thi.ng/fsm) ![npm downloads](https://img.shields.io/npm/dm/@thi.ng/fsm.svg) @@ -43,7 +43,7 @@ package. yarn add @thi.ng/fsm ``` -Package sizes (gzipped): ESM: 1.4KB / CJS: 1.5KB / UMD: 1.4KB +Package sizes (gzipped): ESM: 1.35 KB / CJS: 1.45 KB / UMD: 1.44 KB ## Dependencies diff --git a/packages/geom-accel/README.md b/packages/geom-accel/README.md index 31167899af..9de20e98bc 100644 --- a/packages/geom-accel/README.md +++ b/packages/geom-accel/README.md @@ -1,6 +1,6 @@ -# ![@thi.ng/geom-accel](https://media.thi.ng/umbrella/banners/thing-geom-accel.svg?1584814494) +# ![@thi.ng/geom-accel](https://media.thi.ng/umbrella/banners/thing-geom-accel.svg?1585427431) [![npm version](https://img.shields.io/npm/v/@thi.ng/geom-accel.svg)](https://www.npmjs.com/package/@thi.ng/geom-accel) ![npm downloads](https://img.shields.io/npm/dm/@thi.ng/geom-accel.svg) @@ -46,7 +46,7 @@ Currently available: yarn add @thi.ng/geom-accel ``` -Package sizes (gzipped): ESM: 2.9KB / CJS: 2.9KB / UMD: 2.9KB +Package sizes (gzipped): ESM: 2.85 KB / CJS: 2.93 KB / UMD: 2.92 KB ## Dependencies diff --git a/packages/geom-api/README.md b/packages/geom-api/README.md index 509012c4f0..6ba91b1edf 100644 --- a/packages/geom-api/README.md +++ b/packages/geom-api/README.md @@ -1,6 +1,6 @@ -# ![@thi.ng/geom-api](https://media.thi.ng/umbrella/banners/thing-geom-api.svg?1584814449) +# ![@thi.ng/geom-api](https://media.thi.ng/umbrella/banners/thing-geom-api.svg?1585427390) [![npm version](https://img.shields.io/npm/v/@thi.ng/geom-api.svg)](https://www.npmjs.com/package/@thi.ng/geom-api) ![npm downloads](https://img.shields.io/npm/dm/@thi.ng/geom-api.svg) @@ -31,7 +31,7 @@ Shared type & interface declarations for [@thi.ng/geom](https://github.com/thi-n yarn add @thi.ng/geom-api ``` -Package sizes (gzipped): ESM: 0.6KB / CJS: 0.6KB / UMD: 0.7KB +Package sizes (gzipped): ESM: 603 bytes / CJS: 627 bytes / UMD: 759 bytes ## Dependencies diff --git a/packages/geom-arc/README.md b/packages/geom-arc/README.md index db02146924..d0f064cc93 100644 --- a/packages/geom-arc/README.md +++ b/packages/geom-arc/README.md @@ -1,6 +1,6 @@ -# ![@thi.ng/geom-arc](https://media.thi.ng/umbrella/banners/thing-geom-arc.svg?1584814496) +# ![@thi.ng/geom-arc](https://media.thi.ng/umbrella/banners/thing-geom-arc.svg?1585427432) [![npm version](https://img.shields.io/npm/v/@thi.ng/geom-arc.svg)](https://www.npmjs.com/package/@thi.ng/geom-arc) ![npm downloads](https://img.shields.io/npm/dm/@thi.ng/geom-arc.svg) @@ -31,7 +31,7 @@ This project is part of the yarn add @thi.ng/geom-arc ``` -Package sizes (gzipped): ESM: 1.0KB / CJS: 1.1KB / UMD: 1.1KB +Package sizes (gzipped): ESM: 1.01 KB / CJS: 1.06 KB / UMD: 1.15 KB ## Dependencies diff --git a/packages/geom-clip-line/README.md b/packages/geom-clip-line/README.md index be1023e1e5..19eefecbaf 100644 --- a/packages/geom-clip-line/README.md +++ b/packages/geom-clip-line/README.md @@ -1,6 +1,6 @@ -# ![@thi.ng/geom-clip-line](https://media.thi.ng/umbrella/banners/thing-geom-clip-line.svg?1584814451) +# ![@thi.ng/geom-clip-line](https://media.thi.ng/umbrella/banners/thing-geom-clip-line.svg?1585427390) [![npm version](https://img.shields.io/npm/v/@thi.ng/geom-clip-line.svg)](https://www.npmjs.com/package/@thi.ng/geom-clip-line) ![npm downloads](https://img.shields.io/npm/dm/@thi.ng/geom-clip-line.svg) @@ -37,7 +37,7 @@ This package has been extracted from the former (now obsolete) yarn add @thi.ng/geom-clip-line ``` -Package sizes (gzipped): ESM: 0.3KB / CJS: 0.3KB / UMD: 0.4KB +Package sizes (gzipped): ESM: 292 bytes / CJS: 348 bytes / UMD: 454 bytes ## Dependencies diff --git a/packages/geom-clip-poly/README.md b/packages/geom-clip-poly/README.md index 3d381d9f4d..ac3e34e435 100644 --- a/packages/geom-clip-poly/README.md +++ b/packages/geom-clip-poly/README.md @@ -1,6 +1,6 @@ -# ![@thi.ng/geom-clip-poly](https://media.thi.ng/umbrella/banners/thing-geom-clip-poly.svg?1584814495) +# ![@thi.ng/geom-clip-poly](https://media.thi.ng/umbrella/banners/thing-geom-clip-poly.svg?1585427432) [![npm version](https://img.shields.io/npm/v/@thi.ng/geom-clip-poly.svg)](https://www.npmjs.com/package/@thi.ng/geom-clip-poly) ![npm downloads](https://img.shields.io/npm/dm/@thi.ng/geom-clip-poly.svg) @@ -37,7 +37,7 @@ This package has been extracted from the former (now obsolete) yarn add @thi.ng/geom-clip-poly ``` -Package sizes (gzipped): ESM: 0.3KB / CJS: 0.4KB / UMD: 0.5KB +Package sizes (gzipped): ESM: 317 bytes / CJS: 389 bytes / UMD: 503 bytes ## Dependencies diff --git a/packages/geom-closest-point/README.md b/packages/geom-closest-point/README.md index ecbc1fc0b7..d3d516272c 100644 --- a/packages/geom-closest-point/README.md +++ b/packages/geom-closest-point/README.md @@ -1,6 +1,6 @@ -# ![@thi.ng/geom-closest-point](https://media.thi.ng/umbrella/banners/thing-geom-closest-point.svg?1584814450) +# ![@thi.ng/geom-closest-point](https://media.thi.ng/umbrella/banners/thing-geom-closest-point.svg?1585427392) [![npm version](https://img.shields.io/npm/v/@thi.ng/geom-closest-point.svg)](https://www.npmjs.com/package/@thi.ng/geom-closest-point) ![npm downloads](https://img.shields.io/npm/dm/@thi.ng/geom-closest-point.svg) @@ -35,7 +35,7 @@ Current implementations partially based on yarn add @thi.ng/geom-closest-point ``` -Package sizes (gzipped): ESM: 0.8KB / CJS: 0.9KB / UMD: 0.9KB +Package sizes (gzipped): ESM: 833 bytes / CJS: 930 bytes / UMD: 965 bytes ## Dependencies diff --git a/packages/geom-hull/README.md b/packages/geom-hull/README.md index bc186b90fd..354c467a4d 100644 --- a/packages/geom-hull/README.md +++ b/packages/geom-hull/README.md @@ -1,6 +1,6 @@ -# ![@thi.ng/geom-hull](https://media.thi.ng/umbrella/banners/thing-geom-hull.svg?1584814451) +# ![@thi.ng/geom-hull](https://media.thi.ng/umbrella/banners/thing-geom-hull.svg?1585427391) [![npm version](https://img.shields.io/npm/v/@thi.ng/geom-hull.svg)](https://www.npmjs.com/package/@thi.ng/geom-hull) ![npm downloads](https://img.shields.io/npm/dm/@thi.ng/geom-hull.svg) @@ -35,7 +35,7 @@ Current implementation is partially based on Clojure version of yarn add @thi.ng/geom-hull ``` -Package sizes (gzipped): ESM: 0.4KB / CJS: 0.5KB / UMD: 0.6KB +Package sizes (gzipped): ESM: 432 bytes / CJS: 487 bytes / UMD: 581 bytes ## Dependencies diff --git a/packages/geom-isec/README.md b/packages/geom-isec/README.md index b177bc216f..9154e7ab9c 100644 --- a/packages/geom-isec/README.md +++ b/packages/geom-isec/README.md @@ -1,6 +1,6 @@ -# ![@thi.ng/geom-isec](https://media.thi.ng/umbrella/banners/thing-geom-isec.svg?1584814486) +# ![@thi.ng/geom-isec](https://media.thi.ng/umbrella/banners/thing-geom-isec.svg?1585427420) [![npm version](https://img.shields.io/npm/v/@thi.ng/geom-isec.svg)](https://www.npmjs.com/package/@thi.ng/geom-isec) ![npm downloads](https://img.shields.io/npm/dm/@thi.ng/geom-isec.svg) @@ -54,7 +54,7 @@ Current implementations partially based on yarn add @thi.ng/geom-isec ``` -Package sizes (gzipped): ESM: 2.3KB / CJS: 2.4KB / UMD: 2.4KB +Package sizes (gzipped): ESM: 2.30 KB / CJS: 2.45 KB / UMD: 2.40 KB ## Dependencies diff --git a/packages/geom-isoline/README.md b/packages/geom-isoline/README.md index 38ecaa4263..423f6eae64 100644 --- a/packages/geom-isoline/README.md +++ b/packages/geom-isoline/README.md @@ -1,6 +1,6 @@ -# ![@thi.ng/geom-isoline](https://media.thi.ng/umbrella/banners/thing-geom-isoline.svg?1584814451) +# ![@thi.ng/geom-isoline](https://media.thi.ng/umbrella/banners/thing-geom-isoline.svg?1585427391) [![npm version](https://img.shields.io/npm/v/@thi.ng/geom-isoline.svg)](https://www.npmjs.com/package/@thi.ng/geom-isoline) ![npm downloads](https://img.shields.io/npm/dm/@thi.ng/geom-isoline.svg) @@ -35,7 +35,7 @@ the Clojure version of yarn add @thi.ng/geom-isoline ``` -Package sizes (gzipped): ESM: 0.7KB / CJS: 0.8KB / UMD: 0.8KB +Package sizes (gzipped): ESM: 753 bytes / CJS: 818 bytes / UMD: 862 bytes ## Dependencies diff --git a/packages/geom-poly-utils/README.md b/packages/geom-poly-utils/README.md index fe8569067b..2c3b4231ad 100644 --- a/packages/geom-poly-utils/README.md +++ b/packages/geom-poly-utils/README.md @@ -1,6 +1,6 @@ -# ![@thi.ng/geom-poly-utils](https://media.thi.ng/umbrella/banners/thing-geom-poly-utils.svg?1584814475) +# ![@thi.ng/geom-poly-utils](https://media.thi.ng/umbrella/banners/thing-geom-poly-utils.svg?1585427411) [![npm version](https://img.shields.io/npm/v/@thi.ng/geom-poly-utils.svg)](https://www.npmjs.com/package/@thi.ng/geom-poly-utils) ![npm downloads](https://img.shields.io/npm/dm/@thi.ng/geom-poly-utils.svg) @@ -45,7 +45,7 @@ Current implementations partially based on yarn add @thi.ng/geom-poly-utils ``` -Package sizes (gzipped): ESM: 1.1KB / CJS: 1.1KB / UMD: 1.2KB +Package sizes (gzipped): ESM: 1.06 KB / CJS: 1.13 KB / UMD: 1.19 KB ## Dependencies diff --git a/packages/geom-resample/README.md b/packages/geom-resample/README.md index 58d21963f2..adb76406e6 100644 --- a/packages/geom-resample/README.md +++ b/packages/geom-resample/README.md @@ -1,6 +1,6 @@ -# ![@thi.ng/geom-resample](https://media.thi.ng/umbrella/banners/thing-geom-resample.svg?1584814486) +# ![@thi.ng/geom-resample](https://media.thi.ng/umbrella/banners/thing-geom-resample.svg?1585427421) [![npm version](https://img.shields.io/npm/v/@thi.ng/geom-resample.svg)](https://www.npmjs.com/package/@thi.ng/geom-resample) ![npm downloads](https://img.shields.io/npm/dm/@thi.ng/geom-resample.svg) @@ -39,7 +39,7 @@ Current implementations partially based on yarn add @thi.ng/geom-resample ``` -Package sizes (gzipped): ESM: 1.2KB / CJS: 1.3KB / UMD: 1.4KB +Package sizes (gzipped): ESM: 1.21 KB / CJS: 1.27 KB / UMD: 1.37 KB ## Dependencies diff --git a/packages/geom-splines/README.md b/packages/geom-splines/README.md index 834f28cd15..b64b789852 100644 --- a/packages/geom-splines/README.md +++ b/packages/geom-splines/README.md @@ -1,6 +1,6 @@ -# ![@thi.ng/geom-splines](https://media.thi.ng/umbrella/banners/thing-geom-splines.svg?1584814502) +# ![@thi.ng/geom-splines](https://media.thi.ng/umbrella/banners/thing-geom-splines.svg?1585427439) [![npm version](https://img.shields.io/npm/v/@thi.ng/geom-splines.svg)](https://www.npmjs.com/package/@thi.ng/geom-splines) ![npm downloads](https://img.shields.io/npm/dm/@thi.ng/geom-splines.svg) @@ -39,7 +39,7 @@ Current implementations partially based on yarn add @thi.ng/geom-splines ``` -Package sizes (gzipped): ESM: 2.2KB / CJS: 2.3KB / UMD: 2.3KB +Package sizes (gzipped): ESM: 2.17 KB / CJS: 2.30 KB / UMD: 2.26 KB ## Dependencies diff --git a/packages/geom-subdiv-curve/README.md b/packages/geom-subdiv-curve/README.md index cff974f7c2..2e6bdbb255 100644 --- a/packages/geom-subdiv-curve/README.md +++ b/packages/geom-subdiv-curve/README.md @@ -1,6 +1,6 @@ -# ![@thi.ng/geom-subdiv-curve](https://media.thi.ng/umbrella/banners/thing-geom-subdiv-curve.svg?1584814475) +# ![@thi.ng/geom-subdiv-curve](https://media.thi.ng/umbrella/banners/thing-geom-subdiv-curve.svg?1585427411) [![npm version](https://img.shields.io/npm/v/@thi.ng/geom-subdiv-curve.svg)](https://www.npmjs.com/package/@thi.ng/geom-subdiv-curve) ![npm downloads](https://img.shields.io/npm/dm/@thi.ng/geom-subdiv-curve.svg) @@ -48,7 +48,7 @@ Supplied / implemented subdivision schemes: yarn add @thi.ng/geom-subdiv-curve ``` -Package sizes (gzipped): ESM: 0.6KB / CJS: 0.7KB / UMD: 0.7KB +Package sizes (gzipped): ESM: 641 bytes / CJS: 722 bytes / UMD: 767 bytes ## Dependencies diff --git a/packages/geom-tessellate/README.md b/packages/geom-tessellate/README.md index 79d1cef9ff..c79508f6dc 100644 --- a/packages/geom-tessellate/README.md +++ b/packages/geom-tessellate/README.md @@ -1,6 +1,6 @@ -# ![@thi.ng/geom-tessellate](https://media.thi.ng/umbrella/banners/thing-geom-tessellate.svg?1584814495) +# ![@thi.ng/geom-tessellate](https://media.thi.ng/umbrella/banners/thing-geom-tessellate.svg?1585427432) [![npm version](https://img.shields.io/npm/v/@thi.ng/geom-tessellate.svg)](https://www.npmjs.com/package/@thi.ng/geom-tessellate) ![npm downloads](https://img.shields.io/npm/dm/@thi.ng/geom-tessellate.svg) @@ -43,7 +43,7 @@ highly dependent on the concavities present. YMMV! yarn add @thi.ng/geom-tessellate ``` -Package sizes (gzipped): ESM: 0.8KB / CJS: 0.9KB / UMD: 0.9KB +Package sizes (gzipped): ESM: 782 bytes / CJS: 872 bytes / UMD: 921 bytes ## Dependencies diff --git a/packages/geom-voronoi/README.md b/packages/geom-voronoi/README.md index 90b7972618..e780fbe098 100644 --- a/packages/geom-voronoi/README.md +++ b/packages/geom-voronoi/README.md @@ -1,6 +1,6 @@ -# ![@thi.ng/geom-voronoi](https://media.thi.ng/umbrella/banners/thing-geom-voronoi.svg?1584814502) +# ![@thi.ng/geom-voronoi](https://media.thi.ng/umbrella/banners/thing-geom-voronoi.svg?1585427439) [![npm version](https://img.shields.io/npm/v/@thi.ng/geom-voronoi.svg)](https://www.npmjs.com/package/@thi.ng/geom-voronoi) ![npm downloads](https://img.shields.io/npm/dm/@thi.ng/geom-voronoi.svg) @@ -45,7 +45,7 @@ in ~850ms (Chrome 72, MBP 2016) yarn add @thi.ng/geom-voronoi ``` -Package sizes (gzipped): ESM: 1.3KB / CJS: 1.4KB / UMD: 1.5KB +Package sizes (gzipped): ESM: 1.34 KB / CJS: 1.42 KB / UMD: 1.53 KB ## Dependencies diff --git a/packages/geom/README.md b/packages/geom/README.md index a627167c44..d2216a6ef0 100644 --- a/packages/geom/README.md +++ b/packages/geom/README.md @@ -1,6 +1,6 @@ -# ![@thi.ng/geom](https://media.thi.ng/umbrella/banners/thing-geom.svg?1584814505) +# ![@thi.ng/geom](https://media.thi.ng/umbrella/banners/thing-geom.svg?1585427443) [![npm version](https://img.shields.io/npm/v/@thi.ng/geom.svg)](https://www.npmjs.com/package/@thi.ng/geom) ![npm downloads](https://img.shields.io/npm/dm/@thi.ng/geom.svg) @@ -61,7 +61,7 @@ themselves too): yarn add @thi.ng/geom ``` -Package sizes (gzipped): ESM: 9.4KB / CJS: 9.6KB / UMD: 9.1KB +Package sizes (gzipped): ESM: 9.42 KB / CJS: 9.62 KB / UMD: 9.14 KB ## Dependencies diff --git a/packages/gp/README.md b/packages/gp/README.md index 2a4f2206d6..ddfc469088 100644 --- a/packages/gp/README.md +++ b/packages/gp/README.md @@ -1,6 +1,6 @@ -# ![@thi.ng/gp](https://media.thi.ng/umbrella/banners/thing-gp.svg?1584814400) +# ![@thi.ng/gp](https://media.thi.ng/umbrella/banners/thing-gp.svg?1585427360) [![npm version](https://img.shields.io/npm/v/@thi.ng/gp.svg)](https://www.npmjs.com/package/@thi.ng/gp) ![npm downloads](https://img.shields.io/npm/dm/@thi.ng/gp.svg) @@ -67,7 +67,7 @@ References: yarn add @thi.ng/gp ``` -Package sizes (gzipped): ESM: 1.2KB / CJS: 1.3KB / UMD: 1.4KB +Package sizes (gzipped): ESM: 1.25 KB / CJS: 1.29 KB / UMD: 1.38 KB ## Dependencies diff --git a/packages/grid-iterators/README.md b/packages/grid-iterators/README.md index d6d57518b9..67292c35df 100644 --- a/packages/grid-iterators/README.md +++ b/packages/grid-iterators/README.md @@ -1,6 +1,6 @@ -# ![@thi.ng/grid-iterators](https://media.thi.ng/umbrella/banners/thing-grid-iterators.svg?1584814401) +# ![@thi.ng/grid-iterators](https://media.thi.ng/umbrella/banners/thing-grid-iterators.svg?1585427361) [![npm version](https://img.shields.io/npm/v/@thi.ng/grid-iterators.svg)](https://www.npmjs.com/package/@thi.ng/grid-iterators) ![npm downloads](https://img.shields.io/npm/dm/@thi.ng/grid-iterators.svg) @@ -135,7 +135,7 @@ Additionally, the following non-exhaustive iterators are available: yarn add @thi.ng/grid-iterators ``` -Package sizes (gzipped): ESM: 1.2KB / CJS: 1.3KB / UMD: 1.4KB +Package sizes (gzipped): ESM: 1.24 KB / CJS: 1.34 KB / UMD: 1.40 KB ## Dependencies diff --git a/packages/hdom-canvas/README.md b/packages/hdom-canvas/README.md index a443438173..62287ca9dd 100644 --- a/packages/hdom-canvas/README.md +++ b/packages/hdom-canvas/README.md @@ -1,6 +1,6 @@ -# ![@thi.ng/hdom-canvas](https://media.thi.ng/umbrella/banners/thing-hdom-canvas.svg?1584814475) +# ![@thi.ng/hdom-canvas](https://media.thi.ng/umbrella/banners/thing-hdom-canvas.svg?1585427412) [![npm version](https://img.shields.io/npm/v/@thi.ng/hdom-canvas.svg)](https://www.npmjs.com/package/@thi.ng/hdom-canvas) ![npm downloads](https://img.shields.io/npm/dm/@thi.ng/hdom-canvas.svg) @@ -83,7 +83,7 @@ API draw calls during the hdom update process / cycle. yarn add @thi.ng/hdom-canvas ``` -Package sizes (gzipped): ESM: 3.2KB / CJS: 3.3KB / UMD: 3.3KB +Package sizes (gzipped): ESM: 3.17 KB / CJS: 3.31 KB / UMD: 3.29 KB ## Dependencies diff --git a/packages/hdom-components/README.md b/packages/hdom-components/README.md index 72afb3d301..b232fb0fe8 100644 --- a/packages/hdom-components/README.md +++ b/packages/hdom-components/README.md @@ -1,6 +1,6 @@ -# ![@thi.ng/hdom-components](https://media.thi.ng/umbrella/banners/thing-hdom-components.svg?1584814462) +# ![@thi.ng/hdom-components](https://media.thi.ng/umbrella/banners/thing-hdom-components.svg?1585427410) [![npm version](https://img.shields.io/npm/v/@thi.ng/hdom-components.svg)](https://www.npmjs.com/package/@thi.ng/hdom-components) ![npm downloads](https://img.shields.io/npm/dm/@thi.ng/hdom-components.svg) @@ -47,7 +47,7 @@ components**. Feedback welcome! yarn add @thi.ng/hdom-components ``` -Package sizes (gzipped): ESM: 2.3KB / CJS: 2.4KB / UMD: 2.4KB +Package sizes (gzipped): ESM: 2.29 KB / CJS: 2.41 KB / UMD: 2.41 KB ## Dependencies diff --git a/packages/hdom-mock/README.md b/packages/hdom-mock/README.md index 472aa9f3ad..fa6414a15f 100644 --- a/packages/hdom-mock/README.md +++ b/packages/hdom-mock/README.md @@ -1,6 +1,6 @@ -# ![@thi.ng/hdom-mock](https://media.thi.ng/umbrella/banners/thing-hdom-mock.svg?1584814425) +# ![@thi.ng/hdom-mock](https://media.thi.ng/umbrella/banners/thing-hdom-mock.svg?1585427380) [![npm version](https://img.shields.io/npm/v/@thi.ng/hdom-mock.svg)](https://www.npmjs.com/package/@thi.ng/hdom-mock) ![npm downloads](https://img.shields.io/npm/dm/@thi.ng/hdom-mock.svg) @@ -36,7 +36,7 @@ custom target implementations. yarn add @thi.ng/hdom-mock ``` -Package sizes (gzipped): ESM: 1.0KB / CJS: 1.1KB / UMD: 1.2KB +Package sizes (gzipped): ESM: 1.04 KB / CJS: 1.09 KB / UMD: 1.17 KB ## Dependencies diff --git a/packages/hdom/README.md b/packages/hdom/README.md index b65a211fae..188cceda50 100644 --- a/packages/hdom/README.md +++ b/packages/hdom/README.md @@ -1,6 +1,6 @@ -# ![@thi.ng/hdom](https://media.thi.ng/umbrella/banners/thing-hdom.svg?1584814400) +# ![@thi.ng/hdom](https://media.thi.ng/umbrella/banners/thing-hdom.svg?1585427360) [![npm version](https://img.shields.io/npm/v/@thi.ng/hdom.svg)](https://www.npmjs.com/package/@thi.ng/hdom) ![npm downloads](https://img.shields.io/npm/dm/@thi.ng/hdom.svg) @@ -132,7 +132,7 @@ yarn install yarn start ``` -Package sizes (gzipped): ESM: 3.6KB / CJS: 3.7KB / UMD: 3.6KB +Package sizes (gzipped): ESM: 3.56 KB / CJS: 3.67 KB / UMD: 3.59 KB ## Dependencies @@ -168,6 +168,7 @@ A selection: | | Event handling w/ interceptors and side effects | [Demo](https://demo.thi.ng/umbrella/interceptor-basics2/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/interceptor-basics2) | | | Animated sine plasma effect visualized using contour lines | [Demo](https://demo.thi.ng/umbrella/iso-plasma/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/iso-plasma) | | | Transforming JSON into UI components | [Demo](https://demo.thi.ng/umbrella/json-components/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/json-components) | +| | Basic SPA example with atom-based UI router | [Demo](https://demo.thi.ng/umbrella/login-form/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/login-form) | | | Unison wavetable synth with waveform editor | [Demo](https://demo.thi.ng/umbrella/ramp-synth/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/ramp-synth) | | | Complete mini SPA app w/ router & async content loading | [Demo](https://demo.thi.ng/umbrella/router-basics/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/router-basics) | | | Minimal rstream dataflow graph | [Demo](https://demo.thi.ng/umbrella/rstream-dataflow/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/rstream-dataflow) | diff --git a/packages/heaps/README.md b/packages/heaps/README.md index 00b960a478..5a80afeb6a 100644 --- a/packages/heaps/README.md +++ b/packages/heaps/README.md @@ -1,6 +1,6 @@ -# ![@thi.ng/heaps](https://media.thi.ng/umbrella/banners/thing-heaps.svg?1584814368) +# ![@thi.ng/heaps](https://media.thi.ng/umbrella/banners/thing-heaps.svg?1585427334) [![npm version](https://img.shields.io/npm/v/@thi.ng/heaps.svg)](https://www.npmjs.com/package/@thi.ng/heaps) ![npm downloads](https://img.shields.io/npm/dm/@thi.ng/heaps.svg) @@ -36,7 +36,7 @@ additional operations. yarn add @thi.ng/heaps ``` -Package sizes (gzipped): ESM: 1.5KB / CJS: 1.6KB / UMD: 1.7KB +Package sizes (gzipped): ESM: 1.52 KB / CJS: 1.58 KB / UMD: 1.66 KB ## Dependencies diff --git a/packages/hiccup-carbon-icons/README.md b/packages/hiccup-carbon-icons/README.md index 9079a3955b..220d2cb233 100644 --- a/packages/hiccup-carbon-icons/README.md +++ b/packages/hiccup-carbon-icons/README.md @@ -1,6 +1,6 @@ -# ![@thi.ng/hiccup-carbon-icons](https://media.thi.ng/umbrella/banners/thing-hiccup-carbon-icons.svg?1584814400) +# ![@thi.ng/hiccup-carbon-icons](https://media.thi.ng/umbrella/banners/thing-hiccup-carbon-icons.svg?1585427359) [![npm version](https://img.shields.io/npm/v/@thi.ng/hiccup-carbon-icons.svg)](https://www.npmjs.com/package/@thi.ng/hiccup-carbon-icons) ![npm downloads](https://img.shields.io/npm/dm/@thi.ng/hiccup-carbon-icons.svg) @@ -48,7 +48,7 @@ code](https://github.com/thi-ng/umbrella/tree/develop/packages/hiccup-carbon-ico yarn add @thi.ng/hiccup-carbon-icons ``` -Package sizes (gzipped): ESM: 16.4KB / CJS: 16.9KB / UMD: 16.1KB +Package sizes (gzipped): ESM: 16.41 KB / CJS: 16.93 KB / UMD: 16.13 KB ## Dependencies diff --git a/packages/hiccup-css/README.md b/packages/hiccup-css/README.md index 4cf55b1ad1..a534ff5f92 100644 --- a/packages/hiccup-css/README.md +++ b/packages/hiccup-css/README.md @@ -1,6 +1,6 @@ -# ![@thi.ng/hiccup-css](https://media.thi.ng/umbrella/banners/thing-hiccup-css.svg?1584814401) +# ![@thi.ng/hiccup-css](https://media.thi.ng/umbrella/banners/thing-hiccup-css.svg?1585427361) [![npm version](https://img.shields.io/npm/v/@thi.ng/hiccup-css.svg)](https://www.npmjs.com/package/@thi.ng/hiccup-css) ![npm downloads](https://img.shields.io/npm/dm/@thi.ng/hiccup-css.svg) @@ -94,7 +94,7 @@ Clojure projects: yarn add @thi.ng/hiccup-css ``` -Package sizes (gzipped): ESM: 2.0KB / CJS: 2.2KB / UMD: 2.1KB +Package sizes (gzipped): ESM: 2.05 KB / CJS: 2.20 KB / UMD: 2.11 KB ## Dependencies diff --git a/packages/hiccup-markdown/README.md b/packages/hiccup-markdown/README.md index e7c0ed577a..b77c8188f5 100644 --- a/packages/hiccup-markdown/README.md +++ b/packages/hiccup-markdown/README.md @@ -1,6 +1,6 @@ -# ![@thi.ng/hiccup-markdown](https://media.thi.ng/umbrella/banners/thing-hiccup-markdown.svg?1584845437) +# ![@thi.ng/hiccup-markdown](https://media.thi.ng/umbrella/banners/thing-hiccup-markdown.svg?1585427431) [![npm version](https://img.shields.io/npm/v/@thi.ng/hiccup-markdown.svg)](https://www.npmjs.com/package/@thi.ng/hiccup-markdown) ![npm downloads](https://img.shields.io/npm/dm/@thi.ng/hiccup-markdown.svg) @@ -46,7 +46,7 @@ parser and an extensible Hiccup-to-Markdown converter. yarn add @thi.ng/hiccup-markdown ``` -Package sizes (gzipped): CJS: 2.8KB +Package sizes (gzipped): ESM: 2.71 KB / CJS: 2.76 KB / UMD: 2.62 KB ## Dependencies diff --git a/packages/hiccup-svg/README.md b/packages/hiccup-svg/README.md index 97bccf463b..2168a0e80f 100644 --- a/packages/hiccup-svg/README.md +++ b/packages/hiccup-svg/README.md @@ -1,6 +1,6 @@ -# ![@thi.ng/hiccup-svg](https://media.thi.ng/umbrella/banners/thing-hiccup-svg.svg?1584814476) +# ![@thi.ng/hiccup-svg](https://media.thi.ng/umbrella/banners/thing-hiccup-svg.svg?1585427412) [![npm version](https://img.shields.io/npm/v/@thi.ng/hiccup-svg.svg)](https://www.npmjs.com/package/@thi.ng/hiccup-svg) ![npm downloads](https://img.shields.io/npm/dm/@thi.ng/hiccup-svg.svg) @@ -121,7 +121,7 @@ therefore need to be complete, e.g. `{ rotate: "rotate(60)" }` yarn add @thi.ng/hiccup-svg ``` -Package sizes (gzipped): ESM: 2.4KB / CJS: 2.5KB / UMD: 2.4KB +Package sizes (gzipped): ESM: 2.38 KB / CJS: 2.50 KB / UMD: 2.42 KB ## Dependencies diff --git a/packages/hiccup/README.md b/packages/hiccup/README.md index 4ab7e50d17..2429967173 100644 --- a/packages/hiccup/README.md +++ b/packages/hiccup/README.md @@ -1,6 +1,6 @@ -# ![@thi.ng/hiccup](https://media.thi.ng/umbrella/banners/thing-hiccup.svg?1584814388) +# ![@thi.ng/hiccup](https://media.thi.ng/umbrella/banners/thing-hiccup.svg?1585427350) [![npm version](https://img.shields.io/npm/v/@thi.ng/hiccup.svg)](https://www.npmjs.com/package/@thi.ng/hiccup) ![npm downloads](https://img.shields.io/npm/dm/@thi.ng/hiccup.svg) @@ -137,7 +137,7 @@ iterable yarn add @thi.ng/hiccup ``` -Package sizes (gzipped): ESM: 1.9KB / CJS: 2.0KB / UMD: 2.0KB +Package sizes (gzipped): ESM: 1.94 KB / CJS: 2.04 KB / UMD: 2.05 KB ## Dependencies diff --git a/packages/idgen/README.md b/packages/idgen/README.md index fc04cce29d..4eade541d2 100644 --- a/packages/idgen/README.md +++ b/packages/idgen/README.md @@ -1,6 +1,6 @@ -# ![@thi.ng/idgen](https://media.thi.ng/umbrella/banners/thing-idgen.svg?1584814344) +# ![@thi.ng/idgen](https://media.thi.ng/umbrella/banners/thing-idgen.svg?1585427322) [![npm version](https://img.shields.io/npm/v/@thi.ng/idgen.svg)](https://www.npmjs.com/package/@thi.ng/idgen) ![npm downloads](https://img.shields.io/npm/dm/@thi.ng/idgen.svg) @@ -53,7 +53,7 @@ be checked for validity via `.has(id)` (in constant time). yarn add @thi.ng/idgen ``` -Package sizes (gzipped): ESM: 0.8KB / CJS: 0.9KB / UMD: 1.0KB +Package sizes (gzipped): ESM: 847 bytes / CJS: 895 bytes / UMD: 985 bytes ## Dependencies diff --git a/packages/iges/README.md b/packages/iges/README.md index baf20ea6cc..0b55be346b 100644 --- a/packages/iges/README.md +++ b/packages/iges/README.md @@ -1,6 +1,6 @@ -# ![@thi.ng/iges](https://media.thi.ng/umbrella/banners/thing-iges.svg?1584814451) +# ![@thi.ng/iges](https://media.thi.ng/umbrella/banners/thing-iges.svg?1585427400) [![npm version](https://img.shields.io/npm/v/@thi.ng/iges.svg)](https://www.npmjs.com/package/@thi.ng/iges) ![npm downloads](https://img.shields.io/npm/dm/@thi.ng/iges.svg) @@ -36,7 +36,7 @@ applications (e.g. Rhino, Houdini, Fusion 360) yarn add @thi.ng/iges ``` -Package sizes (gzipped): ESM: 2.7KB / CJS: 2.7KB / UMD: 2.7KB +Package sizes (gzipped): ESM: 2.74 KB / CJS: 2.75 KB / UMD: 2.69 KB ## Dependencies diff --git a/packages/imgui/README.md b/packages/imgui/README.md index 994171ef1b..821054656b 100644 --- a/packages/imgui/README.md +++ b/packages/imgui/README.md @@ -1,6 +1,6 @@ -# ![@thi.ng/imgui](https://media.thi.ng/umbrella/banners/thing-imgui.svg?1584814508) +# ![@thi.ng/imgui](https://media.thi.ng/umbrella/banners/thing-imgui.svg?1585427446) [![npm version](https://img.shields.io/npm/v/@thi.ng/imgui.svg)](https://www.npmjs.com/package/@thi.ng/imgui) ![npm downloads](https://img.shields.io/npm/dm/@thi.ng/imgui.svg) @@ -227,7 +227,7 @@ Some of the most obvious missing features: yarn add @thi.ng/imgui ``` -Package sizes (gzipped): ESM: 6.6KB / CJS: 6.8KB / UMD: 6.7KB +Package sizes (gzipped): ESM: 6.58 KB / CJS: 6.75 KB / UMD: 6.73 KB ## Dependencies diff --git a/packages/interceptors/README.md b/packages/interceptors/README.md index 63e21adc72..b893c3108d 100644 --- a/packages/interceptors/README.md +++ b/packages/interceptors/README.md @@ -1,6 +1,6 @@ -# ![@thi.ng/interceptors](https://media.thi.ng/umbrella/banners/thing-interceptors.svg?1584814389) +# ![@thi.ng/interceptors](https://media.thi.ng/umbrella/banners/thing-interceptors.svg?1585427350) [![npm version](https://img.shields.io/npm/v/@thi.ng/interceptors.svg)](https://www.npmjs.com/package/@thi.ng/interceptors) ![npm downloads](https://img.shields.io/npm/dm/@thi.ng/interceptors.svg) @@ -124,7 +124,7 @@ commented source code and examples for now: yarn add @thi.ng/interceptors ``` -Package sizes (gzipped): ESM: 2.1KB / CJS: 2.3KB / UMD: 2.2KB +Package sizes (gzipped): ESM: 2.16 KB / CJS: 2.29 KB / UMD: 2.23 KB ## Dependencies diff --git a/packages/intervals/README.md b/packages/intervals/README.md index 8a0d2467f0..622a25bbee 100644 --- a/packages/intervals/README.md +++ b/packages/intervals/README.md @@ -1,6 +1,6 @@ -# ![@thi.ng/intervals](https://media.thi.ng/umbrella/banners/thing-intervals.svg?1584814368) +# ![@thi.ng/intervals](https://media.thi.ng/umbrella/banners/thing-intervals.svg?1585427325) [![npm version](https://img.shields.io/npm/v/@thi.ng/intervals.svg)](https://www.npmjs.com/package/@thi.ng/intervals) ![npm downloads](https://img.shields.io/npm/dm/@thi.ng/intervals.svg) @@ -41,7 +41,7 @@ for details. yarn add @thi.ng/intervals ``` -Package sizes (gzipped): ESM: 1.4KB / CJS: 1.5KB / UMD: 1.5KB +Package sizes (gzipped): ESM: 1.40 KB / CJS: 1.46 KB / UMD: 1.52 KB ## Dependencies diff --git a/packages/iterators/README.md b/packages/iterators/README.md index 9c0d7636bf..7a94abc2c7 100644 --- a/packages/iterators/README.md +++ b/packages/iterators/README.md @@ -1,6 +1,6 @@ -# ![@thi.ng/iterators](https://media.thi.ng/umbrella/banners/thing-iterators.svg?1584814425) +# ![@thi.ng/iterators](https://media.thi.ng/umbrella/banners/thing-iterators.svg?1585427381) [![npm version](https://img.shields.io/npm/v/@thi.ng/iterators.svg)](https://www.npmjs.com/package/@thi.ng/iterators) ![npm downloads](https://img.shields.io/npm/dm/@thi.ng/iterators.svg) @@ -87,7 +87,7 @@ more composable & efficient transducers via yarn add @thi.ng/iterators ``` -Package sizes (gzipped): ESM: 2.5KB / CJS: 2.7KB / UMD: 2.5KB +Package sizes (gzipped): ESM: 2.46 KB / CJS: 2.68 KB / UMD: 2.50 KB ## Dependencies diff --git a/packages/layout/README.md b/packages/layout/README.md index dad0556f9e..14a3ba22d4 100644 --- a/packages/layout/README.md +++ b/packages/layout/README.md @@ -1,6 +1,6 @@ -# ![@thi.ng/layout](https://media.thi.ng/umbrella/banners/thing-layout.svg?1584814356) +# ![@thi.ng/layout](https://media.thi.ng/umbrella/banners/thing-layout.svg?1585427325) [![npm version](https://img.shields.io/npm/v/@thi.ng/layout.svg)](https://www.npmjs.com/package/@thi.ng/layout) ![npm downloads](https://img.shields.io/npm/dm/@thi.ng/layout.svg) @@ -38,7 +38,7 @@ to define other layout types / implementations. yarn add @thi.ng/layout ``` -Package sizes (gzipped): ESM: 0.6KB / CJS: 0.7KB / UMD: 0.8KB +Package sizes (gzipped): ESM: 659 bytes / CJS: 724 bytes / UMD: 788 bytes ## Dependencies diff --git a/packages/leb128/README.md b/packages/leb128/README.md index 095b6933f6..0af4b90a64 100644 --- a/packages/leb128/README.md +++ b/packages/leb128/README.md @@ -1,6 +1,6 @@ -# ![@thi.ng/leb128](https://media.thi.ng/umbrella/banners/thing-leb128.svg?1584814436) +# ![@thi.ng/leb128](https://media.thi.ng/umbrella/banners/thing-leb128.svg?1585427381) [![npm version](https://img.shields.io/npm/v/@thi.ng/leb128.svg)](https://www.npmjs.com/package/@thi.ng/leb128) ![npm downloads](https://img.shields.io/npm/dm/@thi.ng/leb128.svg) @@ -49,7 +49,7 @@ References: yarn add @thi.ng/leb128 ``` -Package sizes (gzipped): ESM: 1.0KB / CJS: 1.0KB / UMD: 1.1KB +Package sizes (gzipped): ESM: 988 bytes / CJS: 1.04 KB / UMD: 1.10 KB ## Dependencies diff --git a/packages/lsys/README.md b/packages/lsys/README.md index ff5039b87d..5122e15a0f 100644 --- a/packages/lsys/README.md +++ b/packages/lsys/README.md @@ -1,6 +1,6 @@ -# ![@thi.ng/lsys](https://media.thi.ng/umbrella/banners/thing-lsys.svg?1584814451) +# ![@thi.ng/lsys](https://media.thi.ng/umbrella/banners/thing-lsys.svg?1585427400) [![npm version](https://img.shields.io/npm/v/@thi.ng/lsys.svg)](https://www.npmjs.com/package/@thi.ng/lsys) ![npm downloads](https://img.shields.io/npm/dm/@thi.ng/lsys.svg) @@ -54,7 +54,7 @@ Planned features: yarn add @thi.ng/lsys ``` -Package sizes (gzipped): ESM: 0.7KB / CJS: 0.7KB / UMD: 0.8KB +Package sizes (gzipped): ESM: 677 bytes / CJS: 749 bytes / UMD: 852 bytes ## Dependencies diff --git a/packages/malloc/README.md b/packages/malloc/README.md index e39961a14b..84afab940e 100644 --- a/packages/malloc/README.md +++ b/packages/malloc/README.md @@ -1,6 +1,6 @@ -# ![@thi.ng/malloc](https://media.thi.ng/umbrella/banners/thing-malloc.svg?1584814356) +# ![@thi.ng/malloc](https://media.thi.ng/umbrella/banners/thing-malloc.svg?1585427332) [![npm version](https://img.shields.io/npm/v/@thi.ng/malloc.svg)](https://www.npmjs.com/package/@thi.ng/malloc) ![npm downloads](https://img.shields.io/npm/dm/@thi.ng/malloc.svg) @@ -129,7 +129,7 @@ capacity: yarn add @thi.ng/malloc ``` -Package sizes (gzipped): ESM: 1.8KB / CJS: 1.9KB / UMD: 1.8KB +Package sizes (gzipped): ESM: 1.80 KB / CJS: 1.86 KB / UMD: 1.84 KB ## Dependencies diff --git a/packages/math/README.md b/packages/math/README.md index 5657abd841..3a82108d78 100644 --- a/packages/math/README.md +++ b/packages/math/README.md @@ -1,6 +1,6 @@ -# ![@thi.ng/math](https://media.thi.ng/umbrella/banners/thing-math.svg?1584814331) +# ![@thi.ng/math](https://media.thi.ng/umbrella/banners/thing-math.svg?1585427305) [![npm version](https://img.shields.io/npm/v/@thi.ng/math.svg)](https://www.npmjs.com/package/@thi.ng/math) ![npm downloads](https://img.shields.io/npm/dm/@thi.ng/math.svg) @@ -38,7 +38,7 @@ Partially ported from Clojure version of yarn add @thi.ng/math ``` -Package sizes (gzipped): ESM: 3.5KB / CJS: 4.0KB / UMD: 3.3KB +Package sizes (gzipped): ESM: 3.47 KB / CJS: 4.00 KB / UMD: 3.28 KB ## Dependencies diff --git a/packages/matrices/README.md b/packages/matrices/README.md index 7aa774bad9..198b2ed7a2 100644 --- a/packages/matrices/README.md +++ b/packages/matrices/README.md @@ -1,6 +1,6 @@ -# ![@thi.ng/matrices](https://media.thi.ng/umbrella/banners/thing-matrices.svg?1584814451) +# ![@thi.ng/matrices](https://media.thi.ng/umbrella/banners/thing-matrices.svg?1585427400) [![npm version](https://img.shields.io/npm/v/@thi.ng/matrices.svg)](https://www.npmjs.com/package/@thi.ng/matrices) ![npm downloads](https://img.shields.io/npm/dm/@thi.ng/matrices.svg) @@ -65,7 +65,7 @@ sensible). yarn add @thi.ng/matrices ``` -Package sizes (gzipped): ESM: 4.8KB / CJS: 5.3KB / UMD: 4.8KB +Package sizes (gzipped): ESM: 4.75 KB / CJS: 5.31 KB / UMD: 4.82 KB ## Dependencies diff --git a/packages/memoize/README.md b/packages/memoize/README.md index 98b9adaf49..332b8d7812 100644 --- a/packages/memoize/README.md +++ b/packages/memoize/README.md @@ -1,6 +1,6 @@ -# ![@thi.ng/memoize](https://media.thi.ng/umbrella/banners/thing-memoize.svg?1584814353) +# ![@thi.ng/memoize](https://media.thi.ng/umbrella/banners/thing-memoize.svg?1585427323) [![npm version](https://img.shields.io/npm/v/@thi.ng/memoize.svg)](https://www.npmjs.com/package/@thi.ng/memoize) ![npm downloads](https://img.shields.io/npm/dm/@thi.ng/memoize.svg) @@ -46,7 +46,7 @@ based on different strategies. See doc strings for further details. yarn add @thi.ng/memoize ``` -Package sizes (gzipped): ESM: 0.2KB / CJS: 0.3KB / UMD: 0.4KB +Package sizes (gzipped): ESM: 254 bytes / CJS: 305 bytes / UMD: 376 bytes ## Dependencies diff --git a/packages/mime/README.md b/packages/mime/README.md index 91d0b2ace2..38bfd8cc42 100644 --- a/packages/mime/README.md +++ b/packages/mime/README.md @@ -1,6 +1,6 @@ -# ![@thi.ng/mime](https://media.thi.ng/umbrella/banners/thing-mime.svg?1584814354) +# ![@thi.ng/mime](https://media.thi.ng/umbrella/banners/thing-mime.svg?1585427323) [![npm version](https://img.shields.io/npm/v/@thi.ng/mime.svg)](https://www.npmjs.com/package/@thi.ng/mime) ![npm downloads](https://img.shields.io/npm/dm/@thi.ng/mime.svg) @@ -34,7 +34,7 @@ All MIME type mappings based on yarn add @thi.ng/mime ``` -Package sizes (gzipped): ESM: 2.4KB / CJS: 2.4KB / UMD: 2.5KB +Package sizes (gzipped): ESM: 2.38 KB / CJS: 2.43 KB / UMD: 2.53 KB ## Dependencies diff --git a/packages/morton/README.md b/packages/morton/README.md index a3867e604a..4ba03675e8 100644 --- a/packages/morton/README.md +++ b/packages/morton/README.md @@ -1,6 +1,6 @@ -# ![@thi.ng/morton](https://media.thi.ng/umbrella/banners/thing-morton.svg?1584814365) +# ![@thi.ng/morton](https://media.thi.ng/umbrella/banners/thing-morton.svg?1585427324) [![npm version](https://img.shields.io/npm/v/@thi.ng/morton.svg)](https://www.npmjs.com/package/@thi.ng/morton) ![npm downloads](https://img.shields.io/npm/dm/@thi.ng/morton.svg) @@ -47,7 +47,7 @@ References: yarn add @thi.ng/morton ``` -Package sizes (gzipped): ESM: 2.0KB / CJS: 2.1KB / UMD: 2.1KB +Package sizes (gzipped): ESM: 2.01 KB / CJS: 2.14 KB / UMD: 2.09 KB ## Dependencies diff --git a/packages/paths/README.md b/packages/paths/README.md index fe796d566f..e0e8c4a8dc 100644 --- a/packages/paths/README.md +++ b/packages/paths/README.md @@ -1,6 +1,6 @@ -# ![@thi.ng/paths](https://media.thi.ng/umbrella/banners/thing-paths.svg?1585353919) +# ![@thi.ng/paths](https://media.thi.ng/umbrella/banners/thing-paths.svg?1585427333) [![npm version](https://img.shields.io/npm/v/@thi.ng/paths.svg)](https://www.npmjs.com/package/@thi.ng/paths) ![npm downloads](https://img.shields.io/npm/dm/@thi.ng/paths.svg) @@ -67,7 +67,7 @@ and their value type inferred as `any`. yarn add @thi.ng/paths ``` -Package sizes (gzipped): CJS: 1.19 KB +Package sizes (gzipped): ESM: 1.09 KB / CJS: 1.19 KB / UMD: 1.14 KB ## Dependencies diff --git a/packages/pixel/README.md b/packages/pixel/README.md index 58b179ea79..03f2caa5ae 100644 --- a/packages/pixel/README.md +++ b/packages/pixel/README.md @@ -1,6 +1,6 @@ -# ![@thi.ng/pixel](https://media.thi.ng/umbrella/banners/thing-pixel.svg?1584814381) +# ![@thi.ng/pixel](https://media.thi.ng/umbrella/banners/thing-pixel.svg?1585427343) [![npm version](https://img.shields.io/npm/v/@thi.ng/pixel.svg)](https://www.npmjs.com/package/@thi.ng/pixel) ![npm downloads](https://img.shields.io/npm/dm/@thi.ng/pixel.svg) @@ -99,7 +99,7 @@ Format specs can freely control channel layout within current limits: yarn add @thi.ng/pixel ``` -Package sizes (gzipped): ESM: 3.1KB / CJS: 3.2KB / UMD: 3.2KB +Package sizes (gzipped): ESM: 3.08 KB / CJS: 3.22 KB / UMD: 3.21 KB ## Dependencies diff --git a/packages/pointfree-lang/README.md b/packages/pointfree-lang/README.md index 51808b481f..021e648c19 100644 --- a/packages/pointfree-lang/README.md +++ b/packages/pointfree-lang/README.md @@ -1,6 +1,6 @@ -# ![@thi.ng/pointfree-lang](https://media.thi.ng/umbrella/banners/thing-pointfree-lang.svg?1584814381) +# ![@thi.ng/pointfree-lang](https://media.thi.ng/umbrella/banners/thing-pointfree-lang.svg?1585427344) [![npm version](https://img.shields.io/npm/v/@thi.ng/pointfree-lang.svg)](https://www.npmjs.com/package/@thi.ng/pointfree-lang) ![npm downloads](https://img.shields.io/npm/dm/@thi.ng/pointfree-lang.svg) @@ -63,7 +63,7 @@ an ES6 embedded DSL for concatenative programming: yarn add @thi.ng/pointfree-lang ``` -Package sizes (gzipped): ESM: 4.8KB / CJS: 4.9KB / UMD: 4.8KB +Package sizes (gzipped): ESM: 4.84 KB / CJS: 4.85 KB / UMD: 4.78 KB ## Dependencies diff --git a/packages/pointfree/README.md b/packages/pointfree/README.md index 231305ea0d..3dc84e7c2f 100644 --- a/packages/pointfree/README.md +++ b/packages/pointfree/README.md @@ -1,6 +1,6 @@ -# ![@thi.ng/pointfree](https://media.thi.ng/umbrella/banners/thing-pointfree.svg?1584814369) +# ![@thi.ng/pointfree](https://media.thi.ng/umbrella/banners/thing-pointfree.svg?1585427335) [![npm version](https://img.shields.io/npm/v/@thi.ng/pointfree.svg)](https://www.npmjs.com/package/@thi.ng/pointfree) ![npm downloads](https://img.shields.io/npm/dm/@thi.ng/pointfree.svg) @@ -191,7 +191,7 @@ non-linear control flow. yarn add @thi.ng/pointfree ``` -Package sizes (gzipped): ESM: 3.1KB / CJS: 3.6KB / UMD: 3.4KB +Package sizes (gzipped): ESM: 3.11 KB / CJS: 3.61 KB / UMD: 3.39 KB ## Dependencies diff --git a/packages/poisson/README.md b/packages/poisson/README.md index 59387b0a0f..f2a39c37a6 100644 --- a/packages/poisson/README.md +++ b/packages/poisson/README.md @@ -1,6 +1,6 @@ -# ![@thi.ng/poisson](https://media.thi.ng/umbrella/banners/thing-poisson.svg?1584814476) +# ![@thi.ng/poisson](https://media.thi.ng/umbrella/banners/thing-poisson.svg?1585427411) [![npm version](https://img.shields.io/npm/v/@thi.ng/poisson.svg)](https://www.npmjs.com/package/@thi.ng/poisson) ![npm downloads](https://img.shields.io/npm/dm/@thi.ng/poisson.svg) @@ -50,7 +50,7 @@ to support other, alternative spatial indexing mechanisms... yarn add @thi.ng/poisson ``` -Package sizes (gzipped): ESM: 0.3KB / CJS: 0.4KB / UMD: 0.5KB +Package sizes (gzipped): ESM: 337 bytes / CJS: 391 bytes / UMD: 501 bytes ## Dependencies diff --git a/packages/porter-duff/README.md b/packages/porter-duff/README.md index 405e872e37..2c93ba57bb 100644 --- a/packages/porter-duff/README.md +++ b/packages/porter-duff/README.md @@ -1,6 +1,6 @@ -# ![@thi.ng/porter-duff](https://media.thi.ng/umbrella/banners/thing-porter-duff.svg?1584814366) +# ![@thi.ng/porter-duff](https://media.thi.ng/umbrella/banners/thing-porter-duff.svg?1585427323) [![npm version](https://img.shields.io/npm/v/@thi.ng/porter-duff.svg)](https://www.npmjs.com/package/@thi.ng/porter-duff) ![npm downloads](https://img.shields.io/npm/dm/@thi.ng/porter-duff.svg) @@ -58,7 +58,7 @@ ints or RGBA float vectors. yarn add @thi.ng/porter-duff ``` -Package sizes (gzipped): ESM: 1.0KB / CJS: 1.2KB / UMD: 1.1KB +Package sizes (gzipped): ESM: 998 bytes / CJS: 1.16 KB / UMD: 1.13 KB ## Dependencies diff --git a/packages/quad-edge/README.md b/packages/quad-edge/README.md index e8c4a0c048..9f37e649fb 100644 --- a/packages/quad-edge/README.md +++ b/packages/quad-edge/README.md @@ -1,6 +1,6 @@ -# ![@thi.ng/quad-edge](https://media.thi.ng/umbrella/banners/thing-quad-edge.svg?1584814341) +# ![@thi.ng/quad-edge](https://media.thi.ng/umbrella/banners/thing-quad-edge.svg?1585427313) [![npm version](https://img.shields.io/npm/v/@thi.ng/quad-edge.svg)](https://www.npmjs.com/package/@thi.ng/quad-edge) ![npm downloads](https://img.shields.io/npm/dm/@thi.ng/quad-edge.svg) @@ -49,7 +49,7 @@ Reference: yarn add @thi.ng/quad-edge ``` -Package sizes (gzipped): ESM: 0.5KB / CJS: 0.5KB / UMD: 0.6KB +Package sizes (gzipped): ESM: 495 bytes / CJS: 553 bytes / UMD: 641 bytes ## Dependencies diff --git a/packages/ramp/README.md b/packages/ramp/README.md index 6dbca73236..41147265c8 100644 --- a/packages/ramp/README.md +++ b/packages/ramp/README.md @@ -1,6 +1,6 @@ -# ![@thi.ng/ramp](https://media.thi.ng/umbrella/banners/thing-ramp.svg?1584814461) +# ![@thi.ng/ramp](https://media.thi.ng/umbrella/banners/thing-ramp.svg?1585427400) [![npm version](https://img.shields.io/npm/v/@thi.ng/ramp.svg)](https://www.npmjs.com/package/@thi.ng/ramp) ![npm downloads](https://img.shields.io/npm/dm/@thi.ng/ramp.svg) @@ -32,7 +32,7 @@ Parametric interpolated 1D lookup tables for remapping values. yarn add @thi.ng/ramp ``` -Package sizes (gzipped): ESM: 0.9KB / CJS: 1.0KB / UMD: 1.1KB +Package sizes (gzipped): ESM: 966 bytes / CJS: 1.01 KB / UMD: 1.10 KB ## Dependencies diff --git a/packages/random/README.md b/packages/random/README.md index 87d502afcb..dff83b3769 100644 --- a/packages/random/README.md +++ b/packages/random/README.md @@ -1,6 +1,6 @@ -# ![@thi.ng/random](https://media.thi.ng/umbrella/banners/thing-random.svg?1584814356) +# ![@thi.ng/random](https://media.thi.ng/umbrella/banners/thing-random.svg?1585427333) [![npm version](https://img.shields.io/npm/v/@thi.ng/random.svg)](https://www.npmjs.com/package/@thi.ng/random) ![npm downloads](https://img.shields.io/npm/dm/@thi.ng/random.svg) @@ -47,7 +47,7 @@ Partially ported from C implementations taken from yarn add @thi.ng/random ``` -Package sizes (gzipped): ESM: 1.2KB / CJS: 1.3KB / UMD: 1.3KB +Package sizes (gzipped): ESM: 1.23 KB / CJS: 1.33 KB / UMD: 1.34 KB ## Dependencies diff --git a/packages/range-coder/README.md b/packages/range-coder/README.md index 7e6f38ce9c..710474793a 100644 --- a/packages/range-coder/README.md +++ b/packages/range-coder/README.md @@ -1,6 +1,6 @@ -# ![@thi.ng/range-coder](https://media.thi.ng/umbrella/banners/thing-range-coder.svg?1584814413) +# ![@thi.ng/range-coder](https://media.thi.ng/umbrella/banners/thing-range-coder.svg?1585427370) [![npm version](https://img.shields.io/npm/v/@thi.ng/range-coder.svg)](https://www.npmjs.com/package/@thi.ng/range-coder) ![npm downloads](https://img.shields.io/npm/dm/@thi.ng/range-coder.svg) @@ -38,7 +38,7 @@ by Joe Halliwell](https://www.winterwell.com/software/compressor.php). yarn add @thi.ng/range-coder ``` -Package sizes (gzipped): ESM: 0.7KB / CJS: 0.7KB / UMD: 0.7KB +Package sizes (gzipped): ESM: 670 bytes / CJS: 725 bytes / UMD: 762 bytes ## Dependencies diff --git a/packages/resolve-map/README.md b/packages/resolve-map/README.md index c50a5694a7..8ffad8f173 100644 --- a/packages/resolve-map/README.md +++ b/packages/resolve-map/README.md @@ -1,6 +1,6 @@ -# ![@thi.ng/resolve-map](https://media.thi.ng/umbrella/banners/thing-resolve-map.svg?1584814381) +# ![@thi.ng/resolve-map](https://media.thi.ng/umbrella/banners/thing-resolve-map.svg?1585427344) [![npm version](https://img.shields.io/npm/v/@thi.ng/resolve-map.svg)](https://www.npmjs.com/package/@thi.ng/resolve-map) ![npm downloads](https://img.shields.io/npm/dm/@thi.ng/resolve-map.svg) @@ -50,7 +50,7 @@ supported. yarn add @thi.ng/resolve-map ``` -Package sizes (gzipped): ESM: 0.8KB / CJS: 0.9KB / UMD: 1.0KB +Package sizes (gzipped): ESM: 876 bytes / CJS: 927 bytes / UMD: 985 bytes ## Dependencies diff --git a/packages/rle-pack/README.md b/packages/rle-pack/README.md index a8b6a68ea1..0c402cb502 100644 --- a/packages/rle-pack/README.md +++ b/packages/rle-pack/README.md @@ -1,6 +1,6 @@ -# ![@thi.ng/rle-pack](https://media.thi.ng/umbrella/banners/thing-rle-pack.svg?1584814369) +# ![@thi.ng/rle-pack](https://media.thi.ng/umbrella/banners/thing-rle-pack.svg?1585427334) [![npm version](https://img.shields.io/npm/v/@thi.ng/rle-pack.svg)](https://www.npmjs.com/package/@thi.ng/rle-pack) ![npm downloads](https://img.shields.io/npm/dm/@thi.ng/rle-pack.svg) @@ -64,7 +64,7 @@ Then per value: yarn add @thi.ng/rle-pack ``` -Package sizes (gzipped): ESM: 0.7KB / CJS: 0.7KB / UMD: 0.8KB +Package sizes (gzipped): ESM: 673 bytes / CJS: 727 bytes / UMD: 825 bytes ## Dependencies diff --git a/packages/router/README.md b/packages/router/README.md index 8cad8a46ae..17c6472e38 100644 --- a/packages/router/README.md +++ b/packages/router/README.md @@ -1,6 +1,6 @@ -# ![@thi.ng/router](https://media.thi.ng/umbrella/banners/thing-router.svg?1584814368) +# ![@thi.ng/router](https://media.thi.ng/umbrella/banners/thing-router.svg?1585427333) [![npm version](https://img.shields.io/npm/v/@thi.ng/router.svg)](https://www.npmjs.com/package/@thi.ng/router) ![npm downloads](https://img.shields.io/npm/dm/@thi.ng/router.svg) @@ -45,7 +45,7 @@ Partially based on the Clojure implementation in yarn add @thi.ng/router ``` -Package sizes (gzipped): ESM: 1.5KB / CJS: 1.6KB / UMD: 1.6KB +Package sizes (gzipped): ESM: 1.50 KB / CJS: 1.55 KB / UMD: 1.64 KB ## Dependencies diff --git a/packages/rstream-csp/README.md b/packages/rstream-csp/README.md index 1a9be92a90..7b2b1ff3ae 100644 --- a/packages/rstream-csp/README.md +++ b/packages/rstream-csp/README.md @@ -1,6 +1,6 @@ -# ![@thi.ng/rstream-csp](https://media.thi.ng/umbrella/banners/thing-rstream-csp.svg?1584814463) +# ![@thi.ng/rstream-csp](https://media.thi.ng/umbrella/banners/thing-rstream-csp.svg?1585427422) [![npm version](https://img.shields.io/npm/v/@thi.ng/rstream-csp.svg)](https://www.npmjs.com/package/@thi.ng/rstream-csp) ![npm downloads](https://img.shields.io/npm/dm/@thi.ng/rstream-csp.svg) @@ -40,7 +40,7 @@ and synchronous stream subscriptions/transformations of yarn add @thi.ng/rstream-csp ``` -Package sizes (gzipped): ESM: 0.2KB / CJS: 0.3KB / UMD: 0.4KB +Package sizes (gzipped): ESM: 249 bytes / CJS: 305 bytes / UMD: 405 bytes ## Dependencies diff --git a/packages/rstream-dot/README.md b/packages/rstream-dot/README.md index ae3fe5bedb..3798dd52f8 100644 --- a/packages/rstream-dot/README.md +++ b/packages/rstream-dot/README.md @@ -1,6 +1,6 @@ -# ![@thi.ng/rstream-dot](https://media.thi.ng/umbrella/banners/thing-rstream-dot.svg?1584814463) +# ![@thi.ng/rstream-dot](https://media.thi.ng/umbrella/banners/thing-rstream-dot.svg?1585427422) [![npm version](https://img.shields.io/npm/v/@thi.ng/rstream-dot.svg)](https://www.npmjs.com/package/@thi.ng/rstream-dot) ![npm downloads](https://img.shields.io/npm/dm/@thi.ng/rstream-dot.svg) @@ -36,7 +36,7 @@ Graphviz DOT conversion of [@thi.ng/rstream](https://github.com/thi-ng/umbrella/ yarn add @thi.ng/rstream-dot ``` -Package sizes (gzipped): ESM: 0.8KB / CJS: 0.8KB / UMD: 0.9KB +Package sizes (gzipped): ESM: 780 bytes / CJS: 825 bytes / UMD: 898 bytes ## Dependencies diff --git a/packages/rstream-gestures/README.md b/packages/rstream-gestures/README.md index 6e5b0fdce6..dd4b3fb6fc 100644 --- a/packages/rstream-gestures/README.md +++ b/packages/rstream-gestures/README.md @@ -1,6 +1,6 @@ -# ![@thi.ng/rstream-gestures](https://media.thi.ng/umbrella/banners/thing-rstream-gestures.svg?1584814463) +# ![@thi.ng/rstream-gestures](https://media.thi.ng/umbrella/banners/thing-rstream-gestures.svg?1585427422) [![npm version](https://img.shields.io/npm/v/@thi.ng/rstream-gestures.svg)](https://www.npmjs.com/package/@thi.ng/rstream-gestures) ![npm downloads](https://img.shields.io/npm/dm/@thi.ng/rstream-gestures.svg) @@ -44,7 +44,7 @@ rewrite of `gestureStream()` and new event data formats. yarn add @thi.ng/rstream-gestures ``` -Package sizes (gzipped): ESM: 1.2KB / CJS: 1.2KB / UMD: 1.3KB +Package sizes (gzipped): ESM: 1.20 KB / CJS: 1.25 KB / UMD: 1.32 KB ## Dependencies diff --git a/packages/rstream-graph/README.md b/packages/rstream-graph/README.md index 8fa2cb3792..842c08459e 100644 --- a/packages/rstream-graph/README.md +++ b/packages/rstream-graph/README.md @@ -1,6 +1,6 @@ -# ![@thi.ng/rstream-graph](https://media.thi.ng/umbrella/banners/thing-rstream-graph.svg?1584814473) +# ![@thi.ng/rstream-graph](https://media.thi.ng/umbrella/banners/thing-rstream-graph.svg?1585427430) [![npm version](https://img.shields.io/npm/v/@thi.ng/rstream-graph.svg)](https://www.npmjs.com/package/@thi.ng/rstream-graph) ![npm downloads](https://img.shields.io/npm/dm/@thi.ng/rstream-graph.svg) @@ -46,7 +46,7 @@ these and keep any cycles async). yarn add @thi.ng/rstream-graph ``` -Package sizes (gzipped): ESM: 1.0KB / CJS: 1.1KB / UMD: 1.1KB +Package sizes (gzipped): ESM: 1.01 KB / CJS: 1.11 KB / UMD: 1.14 KB ## Dependencies diff --git a/packages/rstream-log-file/README.md b/packages/rstream-log-file/README.md index 6abfc3552b..f42701ca40 100644 --- a/packages/rstream-log-file/README.md +++ b/packages/rstream-log-file/README.md @@ -1,6 +1,6 @@ -# ![@thi.ng/rstream-log-file](https://media.thi.ng/umbrella/banners/thing-rstream-log-file.svg?1584814474) +# ![@thi.ng/rstream-log-file](https://media.thi.ng/umbrella/banners/thing-rstream-log-file.svg?1585427430) [![npm version](https://img.shields.io/npm/v/@thi.ng/rstream-log-file.svg)](https://www.npmjs.com/package/@thi.ng/rstream-log-file) ![npm downloads](https://img.shields.io/npm/dm/@thi.ng/rstream-log-file.svg) @@ -31,7 +31,7 @@ File output handler for structured, multilevel & hierarchical loggers based on [ yarn add @thi.ng/rstream-log-file ``` -Package sizes (gzipped): ESM: 0.1KB / CJS: 0.2KB / UMD: 0.3KB +Package sizes (gzipped): ESM: 129 bytes / CJS: 182 bytes / UMD: 282 bytes ## Dependencies diff --git a/packages/rstream-log/README.md b/packages/rstream-log/README.md index 66d438d121..0c6383f74d 100644 --- a/packages/rstream-log/README.md +++ b/packages/rstream-log/README.md @@ -1,6 +1,6 @@ -# ![@thi.ng/rstream-log](https://media.thi.ng/umbrella/banners/thing-rstream-log.svg?1584814475) +# ![@thi.ng/rstream-log](https://media.thi.ng/umbrella/banners/thing-rstream-log.svg?1585427430) [![npm version](https://img.shields.io/npm/v/@thi.ng/rstream-log.svg)](https://www.npmjs.com/package/@thi.ng/rstream-log) ![npm downloads](https://img.shields.io/npm/dm/@thi.ng/rstream-log.svg) @@ -46,7 +46,7 @@ filtering. yarn add @thi.ng/rstream-log ``` -Package sizes (gzipped): ESM: 0.7KB / CJS: 0.8KB / UMD: 0.9KB +Package sizes (gzipped): ESM: 724 bytes / CJS: 852 bytes / UMD: 907 bytes ## Dependencies diff --git a/packages/rstream-query/README.md b/packages/rstream-query/README.md index b97cb60cb7..04b947ac4a 100644 --- a/packages/rstream-query/README.md +++ b/packages/rstream-query/README.md @@ -1,6 +1,6 @@ -# ![@thi.ng/rstream-query](https://media.thi.ng/umbrella/banners/thing-rstream-query.svg?1584814489) +# ![@thi.ng/rstream-query](https://media.thi.ng/umbrella/banners/thing-rstream-query.svg?1585427439) [![npm version](https://img.shields.io/npm/v/@thi.ng/rstream-query.svg)](https://www.npmjs.com/package/@thi.ng/rstream-query) ![npm downloads](https://img.shields.io/npm/dm/@thi.ng/rstream-query.svg) @@ -66,7 +66,7 @@ this time built on the streaming primitives provided by yarn add @thi.ng/rstream-query ``` -Package sizes (gzipped): ESM: 2.6KB / CJS: 2.7KB / UMD: 2.6KB +Package sizes (gzipped): ESM: 2.65 KB / CJS: 2.73 KB / UMD: 2.60 KB ## Dependencies diff --git a/packages/rstream/README.md b/packages/rstream/README.md index d07d73e279..d0b2a268b2 100644 --- a/packages/rstream/README.md +++ b/packages/rstream/README.md @@ -1,6 +1,6 @@ -# ![@thi.ng/rstream](https://media.thi.ng/umbrella/banners/thing-rstream.svg?1584814438) +# ![@thi.ng/rstream](https://media.thi.ng/umbrella/banners/thing-rstream.svg?1585427410) [![npm version](https://img.shields.io/npm/v/@thi.ng/rstream.svg)](https://www.npmjs.com/package/@thi.ng/rstream) ![npm downloads](https://img.shields.io/npm/dm/@thi.ng/rstream.svg) @@ -128,7 +128,7 @@ options](#common-configuration-options) for further details. yarn add @thi.ng/rstream ``` -Package sizes (gzipped): ESM: 5.0KB / CJS: 5.2KB / UMD: 5.1KB +Package sizes (gzipped): ESM: 5.05 KB / CJS: 5.22 KB / UMD: 5.13 KB ## Dependencies diff --git a/packages/sax/README.md b/packages/sax/README.md index 0ae8420310..3a611b10ba 100644 --- a/packages/sax/README.md +++ b/packages/sax/README.md @@ -1,6 +1,6 @@ -# ![@thi.ng/sax](https://media.thi.ng/umbrella/banners/thing-sax.svg?1584814437) +# ![@thi.ng/sax](https://media.thi.ng/umbrella/banners/thing-sax.svg?1585427401) [![npm version](https://img.shields.io/npm/v/@thi.ng/sax.svg)](https://www.npmjs.com/package/@thi.ng/sax) ![npm downloads](https://img.shields.io/npm/dm/@thi.ng/sax.svg) @@ -60,7 +60,7 @@ well (see SVG parsing example further below). The choice is yours! yarn add @thi.ng/sax ``` -Package sizes (gzipped): ESM: 1.9KB / CJS: 2.0KB / UMD: 2.1KB +Package sizes (gzipped): ESM: 1.93 KB / CJS: 1.98 KB / UMD: 2.07 KB ## Dependencies diff --git a/packages/scenegraph/README.md b/packages/scenegraph/README.md index 15129c0c77..4409a9537b 100644 --- a/packages/scenegraph/README.md +++ b/packages/scenegraph/README.md @@ -1,6 +1,6 @@ -# ![@thi.ng/scenegraph](https://media.thi.ng/umbrella/banners/thing-scenegraph.svg?1584814488) +# ![@thi.ng/scenegraph](https://media.thi.ng/umbrella/banners/thing-scenegraph.svg?1585427421) [![npm version](https://img.shields.io/npm/v/@thi.ng/scenegraph.svg)](https://www.npmjs.com/package/@thi.ng/scenegraph) ![npm downloads](https://img.shields.io/npm/dm/@thi.ng/scenegraph.svg) @@ -32,7 +32,7 @@ Extensible 2D/3D scene graph with [@thi.ng/hdom-canvas](https://github.com/thi-n yarn add @thi.ng/scenegraph ``` -Package sizes (gzipped): ESM: 0.8KB / CJS: 0.8KB / UMD: 0.9KB +Package sizes (gzipped): ESM: 779 bytes / CJS: 822 bytes / UMD: 927 bytes ## Dependencies diff --git a/packages/seq/README.md b/packages/seq/README.md index a120ef30bc..a0179f26b6 100644 --- a/packages/seq/README.md +++ b/packages/seq/README.md @@ -1,6 +1,6 @@ -# ![@thi.ng/seq](https://media.thi.ng/umbrella/banners/thing-seq.svg?1584814357) +# ![@thi.ng/seq](https://media.thi.ng/umbrella/banners/thing-seq.svg?1585427334) [![npm version](https://img.shields.io/npm/v/@thi.ng/seq.svg)](https://www.npmjs.com/package/@thi.ng/seq) ![npm downloads](https://img.shields.io/npm/dm/@thi.ng/seq.svg) @@ -44,7 +44,7 @@ the remaining values at their own pace. yarn add @thi.ng/seq ``` -Package sizes (gzipped): ESM: 0.5KB / CJS: 0.6KB / UMD: 0.7KB +Package sizes (gzipped): ESM: 537 bytes / CJS: 623 bytes / UMD: 669 bytes ## Dependencies diff --git a/packages/sexpr/README.md b/packages/sexpr/README.md index db1235f407..a39702b895 100644 --- a/packages/sexpr/README.md +++ b/packages/sexpr/README.md @@ -1,6 +1,6 @@ -# ![@thi.ng/sexpr](https://media.thi.ng/umbrella/banners/thing-sexpr.svg?1584814377) +# ![@thi.ng/sexpr](https://media.thi.ng/umbrella/banners/thing-sexpr.svg?1585427342) [![npm version](https://img.shields.io/npm/v/@thi.ng/sexpr.svg)](https://www.npmjs.com/package/@thi.ng/sexpr) ![npm downloads](https://img.shields.io/npm/dm/@thi.ng/sexpr.svg) @@ -48,7 +48,7 @@ Everything else is parsed as is, i.e. as symbol. yarn add @thi.ng/sexpr ``` -Package sizes (gzipped): ESM: 0.8KB / CJS: 0.9KB / UMD: 1.0KB +Package sizes (gzipped): ESM: 829 bytes / CJS: 892 bytes / UMD: 976 bytes ## Dependencies diff --git a/packages/shader-ast-glsl/README.md b/packages/shader-ast-glsl/README.md index 1d32de9192..6ebe79c34f 100644 --- a/packages/shader-ast-glsl/README.md +++ b/packages/shader-ast-glsl/README.md @@ -1,6 +1,6 @@ -# ![@thi.ng/shader-ast-glsl](https://media.thi.ng/umbrella/banners/thing-shader-ast-glsl.svg?1584814487) +# ![@thi.ng/shader-ast-glsl](https://media.thi.ng/umbrella/banners/thing-shader-ast-glsl.svg?1585427438) [![npm version](https://img.shields.io/npm/v/@thi.ng/shader-ast-glsl.svg)](https://www.npmjs.com/package/@thi.ng/shader-ast-glsl) ![npm downloads](https://img.shields.io/npm/dm/@thi.ng/shader-ast-glsl.svg) @@ -45,7 +45,7 @@ This package is also used for shader assembly by yarn add @thi.ng/shader-ast-glsl ``` -Package sizes (gzipped): ESM: 1.3KB / CJS: 1.3KB / UMD: 1.4KB +Package sizes (gzipped): ESM: 1.30 KB / CJS: 1.34 KB / UMD: 1.43 KB ## Dependencies diff --git a/packages/shader-ast-js/README.md b/packages/shader-ast-js/README.md index 8e39caa6ae..8af99034c7 100644 --- a/packages/shader-ast-js/README.md +++ b/packages/shader-ast-js/README.md @@ -1,6 +1,6 @@ -# ![@thi.ng/shader-ast-js](https://media.thi.ng/umbrella/banners/thing-shader-ast-js.svg?1584814488) +# ![@thi.ng/shader-ast-js](https://media.thi.ng/umbrella/banners/thing-shader-ast-js.svg?1585427439) [![npm version](https://img.shields.io/npm/v/@thi.ng/shader-ast-js.svg)](https://www.npmjs.com/package/@thi.ng/shader-ast-js) ![npm downloads](https://img.shields.io/npm/dm/@thi.ng/shader-ast-js.svg) @@ -59,7 +59,7 @@ which altogether provide ~750 optimized vector/matrix functions. yarn add @thi.ng/shader-ast-js ``` -Package sizes (gzipped): ESM: 4.9KB / CJS: 4.4KB / UMD: 4.4KB +Package sizes (gzipped): ESM: 4.90 KB / CJS: 4.45 KB / UMD: 4.39 KB ## Dependencies diff --git a/packages/shader-ast-stdlib/README.md b/packages/shader-ast-stdlib/README.md index 7b14683cb7..c6181d3299 100644 --- a/packages/shader-ast-stdlib/README.md +++ b/packages/shader-ast-stdlib/README.md @@ -1,6 +1,6 @@ -# ![@thi.ng/shader-ast-stdlib](https://media.thi.ng/umbrella/banners/thing-shader-ast-stdlib.svg?1584814488) +# ![@thi.ng/shader-ast-stdlib](https://media.thi.ng/umbrella/banners/thing-shader-ast-stdlib.svg?1585427438) [![npm version](https://img.shields.io/npm/v/@thi.ng/shader-ast-stdlib.svg)](https://www.npmjs.com/package/@thi.ng/shader-ast-stdlib) ![npm downloads](https://img.shields.io/npm/dm/@thi.ng/shader-ast-stdlib.svg) @@ -80,7 +80,7 @@ Reference: yarn add @thi.ng/shader-ast-stdlib ``` -Package sizes (gzipped): ESM: 5.8KB / CJS: 6.5KB / UMD: 6.0KB +Package sizes (gzipped): ESM: 5.76 KB / CJS: 6.53 KB / UMD: 5.99 KB ## Dependencies diff --git a/packages/shader-ast/README.md b/packages/shader-ast/README.md index f0c0538cd2..f2880aeeb2 100644 --- a/packages/shader-ast/README.md +++ b/packages/shader-ast/README.md @@ -1,6 +1,6 @@ -# ![@thi.ng/shader-ast](https://media.thi.ng/umbrella/banners/thing-shader-ast.svg?1584814463) +# ![@thi.ng/shader-ast](https://media.thi.ng/umbrella/banners/thing-shader-ast.svg?1585427421) [![npm version](https://img.shields.io/npm/v/@thi.ng/shader-ast.svg)](https://www.npmjs.com/package/@thi.ng/shader-ast) ![npm downloads](https://img.shields.io/npm/dm/@thi.ng/shader-ast.svg) @@ -174,7 +174,7 @@ status. The TL;DR list... yarn add @thi.ng/shader-ast ``` -Package sizes (gzipped): ESM: 4.7KB / CJS: 5.2KB / UMD: 4.6KB +Package sizes (gzipped): ESM: 4.66 KB / CJS: 5.19 KB / UMD: 4.63 KB ## Dependencies diff --git a/packages/simd/README.md b/packages/simd/README.md index 68e2ca518f..5db53572b9 100644 --- a/packages/simd/README.md +++ b/packages/simd/README.md @@ -1,6 +1,6 @@ -# ![@thi.ng/simd](https://media.thi.ng/umbrella/banners/thing-simd.svg?1584814437) +# ![@thi.ng/simd](https://media.thi.ng/umbrella/banners/thing-simd.svg?1585427390) [![npm version](https://img.shields.io/npm/v/@thi.ng/simd.svg)](https://www.npmjs.com/package/@thi.ng/simd) ![npm downloads](https://img.shields.io/npm/dm/@thi.ng/simd.svg) @@ -95,7 +95,7 @@ hidden behind feature flags. yarn add @thi.ng/simd ``` -Package sizes (gzipped): ESM: 2.3KB / CJS: 2.3KB / UMD: 2.4KB +Package sizes (gzipped): ESM: 2.28 KB / CJS: 2.34 KB / UMD: 2.45 KB ## Dependencies diff --git a/packages/soa/README.md b/packages/soa/README.md index ff2b9be799..c41a1966ef 100644 --- a/packages/soa/README.md +++ b/packages/soa/README.md @@ -1,6 +1,6 @@ -# ![@thi.ng/soa](https://media.thi.ng/umbrella/banners/thing-soa.svg?1584814462) +# ![@thi.ng/soa](https://media.thi.ng/umbrella/banners/thing-soa.svg?1585427400) [![npm version](https://img.shields.io/npm/v/@thi.ng/soa.svg)](https://www.npmjs.com/package/@thi.ng/soa) ![npm downloads](https://img.shields.io/npm/dm/@thi.ng/soa.svg) @@ -44,7 +44,7 @@ by yarn add @thi.ng/soa ``` -Package sizes (gzipped): ESM: 1.4KB / CJS: 1.5KB / UMD: 1.6KB +Package sizes (gzipped): ESM: 1.44 KB / CJS: 1.51 KB / UMD: 1.60 KB ## Dependencies diff --git a/packages/sparse/README.md b/packages/sparse/README.md index 32f1d21ef8..440b9d6225 100644 --- a/packages/sparse/README.md +++ b/packages/sparse/README.md @@ -1,6 +1,6 @@ -# ![@thi.ng/sparse](https://media.thi.ng/umbrella/banners/thing-sparse.svg?1584814412) +# ![@thi.ng/sparse](https://media.thi.ng/umbrella/banners/thing-sparse.svg?1585427370) [![npm version](https://img.shields.io/npm/v/@thi.ng/sparse.svg)](https://www.npmjs.com/package/@thi.ng/sparse) ![npm downloads](https://img.shields.io/npm/dm/@thi.ng/sparse.svg) @@ -31,7 +31,7 @@ Sparse vector & matrix implementations. yarn add @thi.ng/sparse ``` -Package sizes (gzipped): ESM: 3.5KB / CJS: 3.6KB / UMD: 3.7KB +Package sizes (gzipped): ESM: 3.52 KB / CJS: 3.60 KB / UMD: 3.66 KB ## Dependencies diff --git a/packages/strings/README.md b/packages/strings/README.md index 16b41963db..a1d5b4a19e 100644 --- a/packages/strings/README.md +++ b/packages/strings/README.md @@ -1,6 +1,6 @@ -# ![@thi.ng/strings](https://media.thi.ng/umbrella/banners/thing-strings.svg?1584814378) +# ![@thi.ng/strings](https://media.thi.ng/umbrella/banners/thing-strings.svg?1585427343) [![npm version](https://img.shields.io/npm/v/@thi.ng/strings.svg)](https://www.npmjs.com/package/@thi.ng/strings) ![npm downloads](https://img.shields.io/npm/dm/@thi.ng/strings.svg) @@ -42,7 +42,7 @@ Partially based on Clojure version of [thi.ng/strf](http://thi.ng/strf). yarn add @thi.ng/strings ``` -Package sizes (gzipped): ESM: 2.3KB / CJS: 2.5KB / UMD: 2.4KB +Package sizes (gzipped): ESM: 2.32 KB / CJS: 2.55 KB / UMD: 2.42 KB ## Dependencies @@ -62,6 +62,7 @@ A selection: | Screenshot | Description | Live demo | Source | | -------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------- | --------------------------------------------------------- | -------------------------------------------------------------------------------------- | | | Basic crypto-currency candle chart with multiple moving averages plots | [Demo](https://demo.thi.ng/umbrella/crypto-chart/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/crypto-chart) | +| | Basic SPA example with atom-based UI router | [Demo](https://demo.thi.ng/umbrella/login-form/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/login-form) | | | rstream based spreadsheet w/ S-expression formula DSL | [Demo](https://demo.thi.ng/umbrella/rstream-spreadsheet/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/rstream-spreadsheet) | | | XML/HTML/SVG to hiccup/JS conversion | [Demo](https://demo.thi.ng/umbrella/xml-converter/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/xml-converter) | diff --git a/packages/text-canvas/README.md b/packages/text-canvas/README.md index 74060faf06..4693e25aef 100644 --- a/packages/text-canvas/README.md +++ b/packages/text-canvas/README.md @@ -1,6 +1,6 @@ -# ![@thi.ng/text-canvas](https://media.thi.ng/umbrella/banners/thing-text-canvas.svg?1584814487) +# ![@thi.ng/text-canvas](https://media.thi.ng/umbrella/banners/thing-text-canvas.svg?1585427420) [![npm version](https://img.shields.io/npm/v/@thi.ng/text-canvas.svg)](https://www.npmjs.com/package/@thi.ng/text-canvas) ![npm downloads](https://img.shields.io/npm/dm/@thi.ng/text-canvas.svg) @@ -46,7 +46,7 @@ Text based canvas, drawing, tables with arbitrary formatting (incl. ANSI/HTML). yarn add @thi.ng/text-canvas ``` -Package sizes (gzipped): ESM: 5.3KB / CJS: 5.6KB / UMD: 5.3KB +Package sizes (gzipped): ESM: 5.34 KB / CJS: 5.64 KB / UMD: 5.34 KB ## Dependencies diff --git a/packages/transducers-binary/README.md b/packages/transducers-binary/README.md index 2f2223d25f..ad411ab810 100644 --- a/packages/transducers-binary/README.md +++ b/packages/transducers-binary/README.md @@ -1,6 +1,6 @@ -# ![@thi.ng/transducers-binary](https://media.thi.ng/umbrella/banners/thing-transducers-binary.svg?1584814413) +# ![@thi.ng/transducers-binary](https://media.thi.ng/umbrella/banners/thing-transducers-binary.svg?1585427370) [![npm version](https://img.shields.io/npm/v/@thi.ng/transducers-binary.svg)](https://www.npmjs.com/package/@thi.ng/transducers-binary) ![npm downloads](https://img.shields.io/npm/dm/@thi.ng/transducers-binary.svg) @@ -51,7 +51,7 @@ iterable for direct use. yarn add @thi.ng/transducers-binary ``` -Package sizes (gzipped): ESM: 2.8KB / CJS: 2.9KB / UMD: 2.8KB +Package sizes (gzipped): ESM: 2.78 KB / CJS: 2.93 KB / UMD: 2.81 KB ## Dependencies diff --git a/packages/transducers-fsm/README.md b/packages/transducers-fsm/README.md index 56bfa334a7..8f2a5dd381 100644 --- a/packages/transducers-fsm/README.md +++ b/packages/transducers-fsm/README.md @@ -1,6 +1,6 @@ -# ![@thi.ng/transducers-fsm](https://media.thi.ng/umbrella/banners/thing-transducers-fsm.svg?1584814413) +# ![@thi.ng/transducers-fsm](https://media.thi.ng/umbrella/banners/thing-transducers-fsm.svg?1585427370) [![npm version](https://img.shields.io/npm/v/@thi.ng/transducers-fsm.svg)](https://www.npmjs.com/package/@thi.ng/transducers-fsm) ![npm downloads](https://img.shields.io/npm/dm/@thi.ng/transducers-fsm.svg) @@ -50,7 +50,7 @@ package. yarn add @thi.ng/transducers-fsm ``` -Package sizes (gzipped): ESM: 0.2KB / CJS: 0.3KB / UMD: 0.4KB +Package sizes (gzipped): ESM: 217 bytes / CJS: 270 bytes / UMD: 368 bytes ## Dependencies diff --git a/packages/transducers-hdom/README.md b/packages/transducers-hdom/README.md index 699705dc07..1062fcd7f1 100644 --- a/packages/transducers-hdom/README.md +++ b/packages/transducers-hdom/README.md @@ -1,6 +1,6 @@ -# ![@thi.ng/transducers-hdom](https://media.thi.ng/umbrella/banners/thing-transducers-hdom.svg?1584814426) +# ![@thi.ng/transducers-hdom](https://media.thi.ng/umbrella/banners/thing-transducers-hdom.svg?1585427381) [![npm version](https://img.shields.io/npm/v/@thi.ng/transducers-hdom.svg)](https://www.npmjs.com/package/@thi.ng/transducers-hdom) ![npm downloads](https://img.shields.io/npm/dm/@thi.ng/transducers-hdom.svg) @@ -67,7 +67,7 @@ Please also see the following hdom references for further details: yarn add @thi.ng/transducers-hdom ``` -Package sizes (gzipped): ESM: 0.3KB / CJS: 0.3KB / UMD: 0.4KB +Package sizes (gzipped): ESM: 291 bytes / CJS: 343 bytes / UMD: 454 bytes ## Dependencies diff --git a/packages/transducers-patch/README.md b/packages/transducers-patch/README.md index 03742ea4c8..473ae0743e 100644 --- a/packages/transducers-patch/README.md +++ b/packages/transducers-patch/README.md @@ -1,6 +1,6 @@ -# ![@thi.ng/transducers-patch](https://media.thi.ng/umbrella/banners/thing-transducers-patch.svg?1584814413) +# ![@thi.ng/transducers-patch](https://media.thi.ng/umbrella/banners/thing-transducers-patch.svg?1585427370) [![npm version](https://img.shields.io/npm/v/@thi.ng/transducers-patch.svg)](https://www.npmjs.com/package/@thi.ng/transducers-patch) ![npm downloads](https://img.shields.io/npm/dm/@thi.ng/transducers-patch.svg) @@ -38,11 +38,12 @@ state update. By default all edits are performed non-destructively, but yarn add @thi.ng/transducers-patch ``` -Package sizes (gzipped): ESM: 0.5KB / CJS: 0.6KB / UMD: 0.7KB +Package sizes (gzipped): ESM: 551 bytes / CJS: 594 bytes / UMD: 684 bytes ## Dependencies - [@thi.ng/api](https://github.com/thi-ng/umbrella/tree/develop/packages/api) +- [@thi.ng/checks](https://github.com/thi-ng/umbrella/tree/develop/packages/checks) - [@thi.ng/errors](https://github.com/thi-ng/umbrella/tree/develop/packages/errors) - [@thi.ng/paths](https://github.com/thi-ng/umbrella/tree/develop/packages/paths) - [@thi.ng/transducers](https://github.com/thi-ng/umbrella/tree/develop/packages/transducers) diff --git a/packages/transducers-stats/README.md b/packages/transducers-stats/README.md index 5f791cd14e..c56eae164b 100644 --- a/packages/transducers-stats/README.md +++ b/packages/transducers-stats/README.md @@ -1,6 +1,6 @@ -# ![@thi.ng/transducers-stats](https://media.thi.ng/umbrella/banners/thing-transducers-stats.svg?1584814426) +# ![@thi.ng/transducers-stats](https://media.thi.ng/umbrella/banners/thing-transducers-stats.svg?1585427379) [![npm version](https://img.shields.io/npm/v/@thi.ng/transducers-stats.svg)](https://www.npmjs.com/package/@thi.ng/transducers-stats) ![npm downloads](https://img.shields.io/npm/dm/@thi.ng/transducers-stats.svg) @@ -62,7 +62,7 @@ transforming ES6 iterator (generator) instead of a transducer. yarn add @thi.ng/transducers-stats ``` -Package sizes (gzipped): ESM: 1.1KB / CJS: 1.3KB / UMD: 1.3KB +Package sizes (gzipped): ESM: 1.15 KB / CJS: 1.27 KB / UMD: 1.29 KB ## Dependencies diff --git a/packages/transducers/README.md b/packages/transducers/README.md index 3ec1a88f63..d0df0a137c 100644 --- a/packages/transducers/README.md +++ b/packages/transducers/README.md @@ -1,6 +1,6 @@ -# ![@thi.ng/transducers](https://media.thi.ng/umbrella/banners/thing-transducers.svg?1584814389) +# ![@thi.ng/transducers](https://media.thi.ng/umbrella/banners/thing-transducers.svg?1585427350) [![npm version](https://img.shields.io/npm/v/@thi.ng/transducers.svg)](https://www.npmjs.com/package/@thi.ng/transducers) ![npm downloads](https://img.shields.io/npm/dm/@thi.ng/transducers.svg) @@ -143,7 +143,7 @@ package. yarn add @thi.ng/transducers ``` -Package sizes (gzipped): ESM: 7.9KB / CJS: 8.4KB / UMD: 7.6KB +Package sizes (gzipped): ESM: 7.86 KB / CJS: 8.38 KB / UMD: 7.58 KB ## Dependencies diff --git a/packages/unionstruct/README.md b/packages/unionstruct/README.md index 176cc1f42e..b61be134bc 100644 --- a/packages/unionstruct/README.md +++ b/packages/unionstruct/README.md @@ -1,6 +1,6 @@ -# ![@thi.ng/unionstruct](https://media.thi.ng/umbrella/banners/thing-unionstruct.svg?1584814341) +# ![@thi.ng/unionstruct](https://media.thi.ng/umbrella/banners/thing-unionstruct.svg?1585427314) [![npm version](https://img.shields.io/npm/v/@thi.ng/unionstruct.svg)](https://www.npmjs.com/package/@thi.ng/unionstruct) ![npm downloads](https://img.shields.io/npm/dm/@thi.ng/unionstruct.svg) @@ -50,7 +50,7 @@ Currently does not support array fields (incl. strings). yarn add @thi.ng/unionstruct ``` -Package sizes (gzipped): ESM: 1.1KB / CJS: 1.1KB / UMD: 1.2KB +Package sizes (gzipped): ESM: 1.08 KB / CJS: 1.13 KB / UMD: 1.17 KB ## Dependencies diff --git a/packages/vector-pools/README.md b/packages/vector-pools/README.md index 579b45cdd1..6f91428412 100644 --- a/packages/vector-pools/README.md +++ b/packages/vector-pools/README.md @@ -1,6 +1,6 @@ -# ![@thi.ng/vector-pools](https://media.thi.ng/umbrella/banners/thing-vector-pools.svg?1584814464) +# ![@thi.ng/vector-pools](https://media.thi.ng/umbrella/banners/thing-vector-pools.svg?1585427401) [![npm version](https://img.shields.io/npm/v/@thi.ng/vector-pools.svg)](https://www.npmjs.com/package/@thi.ng/vector-pools) ![npm downloads](https://img.shields.io/npm/dm/@thi.ng/vector-pools.svg) @@ -59,7 +59,7 @@ This package might be merged with and/or superseded by yarn add @thi.ng/vector-pools ``` -Package sizes (gzipped): ESM: 3.0KB / CJS: 3.1KB / UMD: 3.2KB +Package sizes (gzipped): ESM: 3.05 KB / CJS: 3.12 KB / UMD: 3.18 KB ## Dependencies diff --git a/packages/vectors/README.md b/packages/vectors/README.md index 19471ddb66..e8c3705ec3 100644 --- a/packages/vectors/README.md +++ b/packages/vectors/README.md @@ -1,6 +1,6 @@ -# ![@thi.ng/vectors](https://media.thi.ng/umbrella/banners/thing-vectors.svg?1584814414) +# ![@thi.ng/vectors](https://media.thi.ng/umbrella/banners/thing-vectors.svg?1585427370) [![npm version](https://img.shields.io/npm/v/@thi.ng/vectors.svg)](https://www.npmjs.com/package/@thi.ng/vectors) ![npm downloads](https://img.shields.io/npm/dm/@thi.ng/vectors.svg) @@ -144,7 +144,7 @@ Partially ported from [thi.ng/geom](http://thi.ng/geom) (Clojure) and yarn add @thi.ng/vectors ``` -Package sizes (gzipped): ESM: 10.9KB / CJS: 13.7KB / UMD: 12.1KB +Package sizes (gzipped): ESM: 10.88 KB / CJS: 13.71 KB / UMD: 12.06 KB ## Dependencies diff --git a/packages/webgl-msdf/README.md b/packages/webgl-msdf/README.md index 19aba8ad27..66c0fa14f3 100644 --- a/packages/webgl-msdf/README.md +++ b/packages/webgl-msdf/README.md @@ -1,6 +1,6 @@ -# ![@thi.ng/webgl-msdf](https://media.thi.ng/umbrella/banners/thing-webgl-msdf.svg?1584814502) +# ![@thi.ng/webgl-msdf](https://media.thi.ng/umbrella/banners/thing-webgl-msdf.svg?1585427445) [![npm version](https://img.shields.io/npm/v/@thi.ng/webgl-msdf.svg)](https://www.npmjs.com/package/@thi.ng/webgl-msdf) ![npm downloads](https://img.shields.io/npm/dm/@thi.ng/webgl-msdf.svg) @@ -45,7 +45,7 @@ McCurdy's](https://msdf-bmfont.donmccurdy.com/). yarn add @thi.ng/webgl-msdf ``` -Package sizes (gzipped): ESM: 1.5KB / CJS: 1.5KB / UMD: 1.6KB +Package sizes (gzipped): ESM: 1.46 KB / CJS: 1.51 KB / UMD: 1.56 KB ## Dependencies diff --git a/packages/webgl-shadertoy/README.md b/packages/webgl-shadertoy/README.md index 0f14bb4f1c..d43eded861 100644 --- a/packages/webgl-shadertoy/README.md +++ b/packages/webgl-shadertoy/README.md @@ -1,6 +1,6 @@ -# ![@thi.ng/webgl-shadertoy](https://media.thi.ng/umbrella/banners/thing-webgl-shadertoy.svg?1584814502) +# ![@thi.ng/webgl-shadertoy](https://media.thi.ng/umbrella/banners/thing-webgl-shadertoy.svg?1585427445) [![npm version](https://img.shields.io/npm/v/@thi.ng/webgl-shadertoy.svg)](https://www.npmjs.com/package/@thi.ng/webgl-shadertoy) ![npm downloads](https://img.shields.io/npm/dm/@thi.ng/webgl-shadertoy.svg) @@ -39,7 +39,7 @@ Basic WebGL scaffolding for running interactive fragment shaders via [@thi.ng/sh yarn add @thi.ng/webgl-shadertoy ``` -Package sizes (gzipped): ESM: 0.7KB / CJS: 0.7KB / UMD: 0.8KB +Package sizes (gzipped): ESM: 673 bytes / CJS: 710 bytes / UMD: 810 bytes ## Dependencies diff --git a/packages/webgl/README.md b/packages/webgl/README.md index 79eab135fe..865c3b675e 100644 --- a/packages/webgl/README.md +++ b/packages/webgl/README.md @@ -1,6 +1,6 @@ -# ![@thi.ng/webgl](https://media.thi.ng/umbrella/banners/thing-webgl.svg?1584814496) +# ![@thi.ng/webgl](https://media.thi.ng/umbrella/banners/thing-webgl.svg?1585427442) [![npm version](https://img.shields.io/npm/v/@thi.ng/webgl.svg)](https://www.npmjs.com/package/@thi.ng/webgl) ![npm downloads](https://img.shields.io/npm/dm/@thi.ng/webgl.svg) @@ -79,7 +79,7 @@ Largely declarative WebGL 1.0 / 2.0 abstraction layer, partially ported yarn add @thi.ng/webgl ``` -Package sizes (gzipped): ESM: 11.0KB / CJS: 11.2KB / UMD: 11.0KB +Package sizes (gzipped): ESM: 11.07 KB / CJS: 11.23 KB / UMD: 11.03 KB ## Dependencies diff --git a/packages/zipper/README.md b/packages/zipper/README.md index 18810d02d2..47dc996a79 100644 --- a/packages/zipper/README.md +++ b/packages/zipper/README.md @@ -1,6 +1,6 @@ -# ![@thi.ng/zipper](https://media.thi.ng/umbrella/banners/thing-zipper.svg?1584814388) +# ![@thi.ng/zipper](https://media.thi.ng/umbrella/banners/thing-zipper.svg?1585427350) [![npm version](https://img.shields.io/npm/v/@thi.ng/zipper.svg)](https://www.npmjs.com/package/@thi.ng/zipper) ![npm downloads](https://img.shields.io/npm/dm/@thi.ng/zipper.svg) @@ -52,7 +52,7 @@ Reference: https://en.wikipedia.org/wiki/Zipper_(data_structure) yarn add @thi.ng/zipper ``` -Package sizes (gzipped): ESM: 1.0KB / CJS: 1.1KB / UMD: 1.2KB +Package sizes (gzipped): ESM: 1.03 KB / CJS: 1.09 KB / UMD: 1.17 KB ## Dependencies From 202477e312cf26869f0421e42a9a5fd80ff6adc8 Mon Sep 17 00:00:00 2001 From: Karsten Schmidt Date: Sat, 28 Mar 2020 21:03:37 +0000 Subject: [PATCH 70/70] Publish - @thi.ng/adjacency@0.1.34 - @thi.ng/api@6.9.0 - @thi.ng/arrays@0.6.0 - @thi.ng/associative@4.0.0 - @thi.ng/atom@4.0.0 - @thi.ng/bench@2.0.5 - @thi.ng/bencode@0.3.15 - @thi.ng/binary@2.0.1 - @thi.ng/bitfield@0.3.1 - @thi.ng/bitstream@1.1.11 - @thi.ng/cache@1.0.35 - @thi.ng/checks@2.6.0 - @thi.ng/color@1.1.11 - @thi.ng/compare@1.2.2 - @thi.ng/compose@1.4.0 - @thi.ng/csp@1.1.15 - @thi.ng/dcons@2.2.8 - @thi.ng/defmulti@1.2.8 - @thi.ng/dgraph@1.1.25 - @thi.ng/diff@3.2.13 - @thi.ng/dl-asset@0.3.2 - @thi.ng/dlogic@1.0.17 - @thi.ng/dot@1.1.14 - @thi.ng/dsp-io-wav@0.1.5 - @thi.ng/dsp@2.0.7 - @thi.ng/dynvar@0.1.6 - @thi.ng/ecs@0.3.7 - @thi.ng/equiv@1.0.17 - @thi.ng/errors@1.2.8 - @thi.ng/fsm@2.4.1 - @thi.ng/geom-accel@2.0.7 - @thi.ng/geom-api@1.0.7 - @thi.ng/geom-arc@0.2.18 - @thi.ng/geom-clip-line@1.0.5 - @thi.ng/geom-clip-poly@1.0.5 - @thi.ng/geom-closest-point@0.3.18 - @thi.ng/geom-hull@0.0.38 - @thi.ng/geom-isec@0.4.7 - @thi.ng/geom-isoline@0.1.36 - @thi.ng/geom-poly-utils@0.1.36 - @thi.ng/geom-resample@0.2.18 - @thi.ng/geom-splines@0.5.5 - @thi.ng/geom-subdiv-curve@0.1.35 - @thi.ng/geom-tessellate@0.2.18 - @thi.ng/geom-voronoi@0.1.36 - @thi.ng/geom@1.8.5 - @thi.ng/gp@0.1.8 - @thi.ng/grid-iterators@0.3.5 - @thi.ng/hdom-canvas@2.4.9 - @thi.ng/hdom-components@3.2.1 - @thi.ng/hdom-mock@1.1.15 - @thi.ng/hdom@8.0.15 - @thi.ng/heaps@1.2.7 - @thi.ng/hiccup-carbon-icons@1.0.29 - @thi.ng/hiccup-css@1.1.15 - @thi.ng/hiccup-markdown@1.2.0 - @thi.ng/hiccup-svg@3.4.7 - @thi.ng/hiccup@3.2.14 - @thi.ng/idgen@0.2.6 - @thi.ng/iges@1.1.20 - @thi.ng/imgui@0.2.5 - @thi.ng/interceptors@2.2.10 - @thi.ng/intervals@2.0.7 - @thi.ng/iterators@5.1.15 - @thi.ng/layout@0.1.4 - @thi.ng/leb128@1.0.9 - @thi.ng/lsys@0.2.33 - @thi.ng/malloc@4.1.8 - @thi.ng/math@1.7.4 - @thi.ng/matrices@0.6.5 - @thi.ng/memoize@2.0.4 - @thi.ng/mime@0.1.4 - @thi.ng/morton@2.0.6 - @thi.ng/paths@4.0.0 - @thi.ng/pixel@0.1.13 - @thi.ng/pointfree-lang@1.1.14 - @thi.ng/pointfree@1.2.10 - @thi.ng/poisson@1.0.7 - @thi.ng/porter-duff@0.1.12 - @thi.ng/quad-edge@0.2.10 - @thi.ng/ramp@0.1.7 - @thi.ng/random@1.4.2 - @thi.ng/range-coder@1.0.35 - @thi.ng/resolve-map@4.1.16 - @thi.ng/rle-pack@2.1.11 - @thi.ng/router@2.0.14 - @thi.ng/rstream-csp@2.0.8 - @thi.ng/rstream-dot@1.1.15 - @thi.ng/rstream-gestures@2.0.7 - @thi.ng/rstream-graph@3.2.8 - @thi.ng/rstream-log-file@0.1.30 - @thi.ng/rstream-log@3.1.15 - @thi.ng/rstream-query@1.1.15 - @thi.ng/rstream@4.0.0 - @thi.ng/sax@1.1.15 - @thi.ng/scenegraph@0.1.8 - @thi.ng/seq@0.2.6 - @thi.ng/sexpr@0.2.9 - @thi.ng/shader-ast-glsl@0.1.17 - @thi.ng/shader-ast-js@0.4.10 - @thi.ng/shader-ast-stdlib@0.3.10 - @thi.ng/shader-ast@0.3.11 - @thi.ng/simd@0.1.9 - @thi.ng/soa@0.1.9 - @thi.ng/sparse@0.1.31 - @thi.ng/strings@1.8.0 - @thi.ng/text-canvas@0.2.2 - @thi.ng/transducers-binary@0.5.5 - @thi.ng/transducers-fsm@1.1.15 - @thi.ng/transducers-hdom@2.0.40 - @thi.ng/transducers-patch@0.1.5 - @thi.ng/transducers-stats@1.1.15 - @thi.ng/transducers@6.4.2 - @thi.ng/unionstruct@1.1.10 - @thi.ng/vector-pools@1.0.18 - @thi.ng/vectors@4.2.2 - @thi.ng/webgl-msdf@0.1.18 - @thi.ng/webgl-shadertoy@0.2.5 - @thi.ng/webgl@1.0.0 - @thi.ng/zipper@0.1.8 --- packages/adjacency/CHANGELOG.md | 8 ++++ packages/adjacency/package.json | 16 +++---- packages/api/CHANGELOG.md | 14 ++++++ packages/api/package.json | 2 +- packages/arrays/CHANGELOG.md | 11 +++++ packages/arrays/package.json | 14 +++--- packages/associative/CHANGELOG.md | 19 ++++++++ packages/associative/package.json | 18 ++++---- packages/atom/CHANGELOG.md | 51 +++++++++++++++++++++ packages/atom/package.json | 12 ++--- packages/bench/CHANGELOG.md | 8 ++++ packages/bench/package.json | 2 +- packages/bencode/CHANGELOG.md | 8 ++++ packages/bencode/package.json | 16 +++---- packages/binary/CHANGELOG.md | 8 ++++ packages/binary/package.json | 2 +- packages/bitfield/CHANGELOG.md | 8 ++++ packages/bitfield/package.json | 8 ++-- packages/bitstream/CHANGELOG.md | 8 ++++ packages/bitstream/package.json | 4 +- packages/cache/CHANGELOG.md | 8 ++++ packages/cache/package.json | 8 ++-- packages/checks/CHANGELOG.md | 17 +++++++ packages/checks/package.json | 2 +- packages/color/CHANGELOG.md | 8 ++++ packages/color/package.json | 20 ++++----- packages/compare/CHANGELOG.md | 8 ++++ packages/compare/package.json | 4 +- packages/compose/CHANGELOG.md | 11 +++++ packages/compose/package.json | 6 +-- packages/csp/CHANGELOG.md | 8 ++++ packages/csp/package.json | 14 +++--- packages/dcons/CHANGELOG.md | 8 ++++ packages/dcons/package.json | 16 +++---- packages/defmulti/CHANGELOG.md | 8 ++++ packages/defmulti/package.json | 6 +-- packages/dgraph/CHANGELOG.md | 8 ++++ packages/dgraph/package.json | 12 ++--- packages/diff/CHANGELOG.md | 8 ++++ packages/diff/package.json | 6 +-- packages/dl-asset/CHANGELOG.md | 8 ++++ packages/dl-asset/package.json | 8 ++-- packages/dlogic/CHANGELOG.md | 8 ++++ packages/dlogic/package.json | 2 +- packages/dot/CHANGELOG.md | 8 ++++ packages/dot/package.json | 6 +-- packages/dsp-io-wav/CHANGELOG.md | 8 ++++ packages/dsp-io-wav/package.json | 10 ++--- packages/dsp/CHANGELOG.md | 8 ++++ packages/dsp/package.json | 10 ++--- packages/dynvar/CHANGELOG.md | 8 ++++ packages/dynvar/package.json | 4 +- packages/ecs/CHANGELOG.md | 8 ++++ packages/ecs/package.json | 18 ++++---- packages/equiv/CHANGELOG.md | 8 ++++ packages/equiv/package.json | 2 +- packages/errors/CHANGELOG.md | 8 ++++ packages/errors/package.json | 2 +- packages/fsm/CHANGELOG.md | 8 ++++ packages/fsm/package.json | 14 +++--- packages/geom-accel/CHANGELOG.md | 8 ++++ packages/geom-accel/package.json | 20 ++++----- packages/geom-api/CHANGELOG.md | 8 ++++ packages/geom-api/package.json | 6 +-- packages/geom-arc/CHANGELOG.md | 8 ++++ packages/geom-arc/package.json | 12 ++--- packages/geom-clip-line/CHANGELOG.md | 8 ++++ packages/geom-clip-line/package.json | 4 +- packages/geom-clip-poly/CHANGELOG.md | 8 ++++ packages/geom-clip-poly/package.json | 10 ++--- packages/geom-closest-point/CHANGELOG.md | 8 ++++ packages/geom-closest-point/package.json | 6 +-- packages/geom-hull/CHANGELOG.md | 3 ++ packages/geom-hull/package.json | 6 +-- packages/geom-isec/CHANGELOG.md | 8 ++++ packages/geom-isec/package.json | 12 ++--- packages/geom-isoline/CHANGELOG.md | 8 ++++ packages/geom-isoline/package.json | 6 +-- packages/geom-poly-utils/CHANGELOG.md | 8 ++++ packages/geom-poly-utils/package.json | 10 ++--- packages/geom-resample/CHANGELOG.md | 8 ++++ packages/geom-resample/package.json | 12 ++--- packages/geom-splines/CHANGELOG.md | 8 ++++ packages/geom-splines/package.json | 14 +++--- packages/geom-subdiv-curve/CHANGELOG.md | 8 ++++ packages/geom-subdiv-curve/package.json | 8 ++-- packages/geom-tessellate/CHANGELOG.md | 8 ++++ packages/geom-tessellate/package.json | 14 +++--- packages/geom-voronoi/CHANGELOG.md | 8 ++++ packages/geom-voronoi/package.json | 20 ++++----- packages/geom/CHANGELOG.md | 8 ++++ packages/geom/package.json | 54 +++++++++++------------ packages/gp/CHANGELOG.md | 8 ++++ packages/gp/package.json | 12 ++--- packages/grid-iterators/CHANGELOG.md | 8 ++++ packages/grid-iterators/package.json | 12 ++--- packages/hdom-canvas/CHANGELOG.md | 8 ++++ packages/hdom-canvas/package.json | 16 +++---- packages/hdom-components/CHANGELOG.md | 8 ++++ packages/hdom-components/package.json | 12 ++--- packages/hdom-mock/CHANGELOG.md | 8 ++++ packages/hdom-mock/package.json | 8 ++-- packages/hdom/CHANGELOG.md | 8 ++++ packages/hdom/package.json | 16 +++---- packages/heaps/CHANGELOG.md | 8 ++++ packages/heaps/package.json | 6 +-- packages/hiccup-carbon-icons/CHANGELOG.md | 8 ++++ packages/hiccup-carbon-icons/package.json | 4 +- packages/hiccup-css/CHANGELOG.md | 8 ++++ packages/hiccup-css/package.json | 10 ++--- packages/hiccup-markdown/CHANGELOG.md | 12 +++++ packages/hiccup-markdown/package.json | 20 ++++----- packages/hiccup-svg/CHANGELOG.md | 8 ++++ packages/hiccup-svg/package.json | 8 ++-- packages/hiccup/CHANGELOG.md | 8 ++++ packages/hiccup/package.json | 8 ++-- packages/idgen/CHANGELOG.md | 8 ++++ packages/idgen/package.json | 4 +- packages/iges/CHANGELOG.md | 8 ++++ packages/iges/package.json | 14 +++--- packages/imgui/CHANGELOG.md | 8 ++++ packages/imgui/package.json | 22 ++++----- packages/interceptors/CHANGELOG.md | 8 ++++ packages/interceptors/package.json | 12 ++--- packages/intervals/CHANGELOG.md | 8 ++++ packages/intervals/package.json | 10 ++--- packages/iterators/CHANGELOG.md | 8 ++++ packages/iterators/package.json | 8 ++-- packages/layout/CHANGELOG.md | 8 ++++ packages/layout/package.json | 6 +-- packages/leb128/CHANGELOG.md | 8 ++++ packages/leb128/package.json | 8 ++-- packages/lsys/CHANGELOG.md | 8 ++++ packages/lsys/package.json | 16 +++---- packages/malloc/CHANGELOG.md | 8 ++++ packages/malloc/package.json | 10 ++--- packages/math/CHANGELOG.md | 8 ++++ packages/math/package.json | 2 +- packages/matrices/CHANGELOG.md | 8 ++++ packages/matrices/package.json | 10 ++--- packages/memoize/CHANGELOG.md | 8 ++++ packages/memoize/package.json | 4 +- packages/mime/CHANGELOG.md | 8 ++++ packages/mime/package.json | 4 +- packages/morton/CHANGELOG.md | 8 ++++ packages/morton/package.json | 8 ++-- packages/paths/CHANGELOG.md | 25 +++++++++++ packages/paths/package.json | 6 +-- packages/pixel/CHANGELOG.md | 8 ++++ packages/pixel/package.json | 10 ++--- packages/pointfree-lang/CHANGELOG.md | 8 ++++ packages/pointfree-lang/package.json | 8 ++-- packages/pointfree/CHANGELOG.md | 8 ++++ packages/pointfree/package.json | 12 ++--- packages/poisson/CHANGELOG.md | 8 ++++ packages/poisson/package.json | 10 ++--- packages/porter-duff/CHANGELOG.md | 8 ++++ packages/porter-duff/package.json | 6 +-- packages/quad-edge/CHANGELOG.md | 8 ++++ packages/quad-edge/package.json | 2 +- packages/ramp/CHANGELOG.md | 8 ++++ packages/ramp/package.json | 14 +++--- packages/random/CHANGELOG.md | 8 ++++ packages/random/package.json | 6 +-- packages/range-coder/CHANGELOG.md | 8 ++++ packages/range-coder/package.json | 6 +-- packages/resolve-map/CHANGELOG.md | 8 ++++ packages/resolve-map/package.json | 10 ++--- packages/rle-pack/CHANGELOG.md | 8 ++++ packages/rle-pack/package.json | 6 +-- packages/router/CHANGELOG.md | 8 ++++ packages/router/package.json | 10 ++--- packages/rstream-csp/CHANGELOG.md | 8 ++++ packages/rstream-csp/package.json | 6 +-- packages/rstream-dot/CHANGELOG.md | 8 ++++ packages/rstream-dot/package.json | 4 +- packages/rstream-gestures/CHANGELOG.md | 8 ++++ packages/rstream-gestures/package.json | 12 ++--- packages/rstream-graph/CHANGELOG.md | 8 ++++ packages/rstream-graph/package.json | 16 +++---- packages/rstream-log-file/CHANGELOG.md | 8 ++++ packages/rstream-log-file/package.json | 4 +- packages/rstream-log/CHANGELOG.md | 8 ++++ packages/rstream-log/package.json | 12 ++--- packages/rstream-query/CHANGELOG.md | 8 ++++ packages/rstream-query/package.json | 20 ++++----- packages/rstream/CHANGELOG.md | 20 +++++++++ packages/rstream/package.json | 16 +++---- packages/sax/CHANGELOG.md | 8 ++++ packages/sax/package.json | 8 ++-- packages/scenegraph/CHANGELOG.md | 8 ++++ packages/scenegraph/package.json | 10 ++--- packages/seq/CHANGELOG.md | 8 ++++ packages/seq/package.json | 6 +-- packages/sexpr/CHANGELOG.md | 8 ++++ packages/sexpr/package.json | 8 ++-- packages/shader-ast-glsl/CHANGELOG.md | 8 ++++ packages/shader-ast-glsl/package.json | 10 ++--- packages/shader-ast-js/CHANGELOG.md | 8 ++++ packages/shader-ast-js/package.json | 18 ++++---- packages/shader-ast-stdlib/CHANGELOG.md | 8 ++++ packages/shader-ast-stdlib/package.json | 4 +- packages/shader-ast/CHANGELOG.md | 8 ++++ packages/shader-ast/package.json | 12 ++--- packages/simd/CHANGELOG.md | 8 ++++ packages/simd/package.json | 8 ++-- packages/soa/CHANGELOG.md | 8 ++++ packages/soa/package.json | 12 ++--- packages/sparse/CHANGELOG.md | 8 ++++ packages/sparse/package.json | 6 +-- packages/strings/CHANGELOG.md | 13 ++++++ packages/strings/package.json | 8 ++-- packages/text-canvas/CHANGELOG.md | 8 ++++ packages/text-canvas/package.json | 14 +++--- packages/transducers-binary/CHANGELOG.md | 8 ++++ packages/transducers-binary/package.json | 10 ++--- packages/transducers-fsm/CHANGELOG.md | 8 ++++ packages/transducers-fsm/package.json | 6 +-- packages/transducers-hdom/CHANGELOG.md | 8 ++++ packages/transducers-hdom/package.json | 8 ++-- packages/transducers-patch/CHANGELOG.md | 11 +++++ packages/transducers-patch/package.json | 12 ++--- packages/transducers-stats/CHANGELOG.md | 8 ++++ packages/transducers-stats/package.json | 10 ++--- packages/transducers/CHANGELOG.md | 8 ++++ packages/transducers/package.json | 22 ++++----- packages/unionstruct/CHANGELOG.md | 8 ++++ packages/unionstruct/package.json | 2 +- packages/vector-pools/CHANGELOG.md | 8 ++++ packages/vector-pools/package.json | 14 +++--- packages/vectors/CHANGELOG.md | 8 ++++ packages/vectors/package.json | 20 ++++----- packages/webgl-msdf/CHANGELOG.md | 8 ++++ packages/webgl-msdf/package.json | 14 +++--- packages/webgl-shadertoy/CHANGELOG.md | 8 ++++ packages/webgl-shadertoy/package.json | 12 ++--- packages/webgl/CHANGELOG.md | 32 ++++++++++++++ packages/webgl/package.json | 30 ++++++------- packages/zipper/CHANGELOG.md | 8 ++++ packages/zipper/package.json | 8 ++-- 240 files changed, 1713 insertions(+), 618 deletions(-) diff --git a/packages/adjacency/CHANGELOG.md b/packages/adjacency/CHANGELOG.md index 5d75ce1cf3..00386f873f 100644 --- a/packages/adjacency/CHANGELOG.md +++ b/packages/adjacency/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.1.34](https://github.com/thi-ng/umbrella/compare/@thi.ng/adjacency@0.1.33...@thi.ng/adjacency@0.1.34) (2020-03-28) + +**Note:** Version bump only for package @thi.ng/adjacency + + + + + ## [0.1.7](https://github.com/thi-ng/umbrella/compare/@thi.ng/adjacency@0.1.6...@thi.ng/adjacency@0.1.7) (2019-03-18) ### Performance Improvements diff --git a/packages/adjacency/package.json b/packages/adjacency/package.json index 10b0a068dd..53974108cb 100644 --- a/packages/adjacency/package.json +++ b/packages/adjacency/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/adjacency", - "version": "0.1.33", + "version": "0.1.34", "description": "Sparse & bitwise adjacency matrices and related functions for directed & undirected graphs", "module": "./index.js", "main": "./lib/index.js", @@ -29,7 +29,7 @@ "devDependencies": { "@istanbuljs/nyc-config-typescript": "^1.0.1", "@microsoft/api-extractor": "^7.7.8", - "@thi.ng/vectors": "^4.2.1", + "@thi.ng/vectors": "^4.2.2", "@types/mocha": "^7.0.1", "@types/node": "^13.7.4", "mocha": "^7.0.1", @@ -39,12 +39,12 @@ "typescript": "^3.8.3" }, "dependencies": { - "@thi.ng/api": "^6.8.3", - "@thi.ng/binary": "^2.0.0", - "@thi.ng/bitfield": "^0.3.0", - "@thi.ng/checks": "^2.5.4", - "@thi.ng/dcons": "^2.2.7", - "@thi.ng/sparse": "^0.1.30", + "@thi.ng/api": "^6.9.0", + "@thi.ng/binary": "^2.0.1", + "@thi.ng/bitfield": "^0.3.1", + "@thi.ng/checks": "^2.6.0", + "@thi.ng/dcons": "^2.2.8", + "@thi.ng/sparse": "^0.1.31", "tslib": "^1.11.1" }, "keywords": [ diff --git a/packages/api/CHANGELOG.md b/packages/api/CHANGELOG.md index e1051ffea6..7794f39315 100644 --- a/packages/api/CHANGELOG.md +++ b/packages/api/CHANGELOG.md @@ -3,6 +3,20 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [6.9.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/api@6.8.3...@thi.ng/api@6.9.0) (2020-03-28) + + +### Features + +* **api:** add Derefed & DerefedKeys types ([95f1576](https://github.com/thi-ng/umbrella/commit/95f15765435e877aa92a66ac64933a962fbd2db5)) +* **api:** add optional props in Keys/Val types ([08b88f0](https://github.com/thi-ng/umbrella/commit/08b88f0e74ffae0e4d8edddfbb5dff17f978a149)) +* **api:** add Path0-8, PathVal1-8, DeepPath types ([0c76108](https://github.com/thi-ng/umbrella/commit/0c761085b60d27849650d51e851afd98f0f2b9ea)) +* **api:** update Path alias, add doc strings ([e2b35bc](https://github.com/thi-ng/umbrella/commit/e2b35bc13cdf286d0e1cd60176eeb207525b064f)) + + + + + # [6.8.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/api@6.7.1...@thi.ng/api@6.8.0) (2020-02-25) diff --git a/packages/api/package.json b/packages/api/package.json index 1ef184c766..e697f95b99 100644 --- a/packages/api/package.json +++ b/packages/api/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/api", - "version": "6.8.3", + "version": "6.9.0", "description": "Common, generic types, interfaces & mixins", "module": "./index.js", "main": "./lib/index.js", diff --git a/packages/arrays/CHANGELOG.md b/packages/arrays/CHANGELOG.md index c319e64ee1..795868952d 100644 --- a/packages/arrays/CHANGELOG.md +++ b/packages/arrays/CHANGELOG.md @@ -3,6 +3,17 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [0.6.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/arrays@0.5.6...@thi.ng/arrays@0.6.0) (2020-03-28) + + +### Features + +* **arrays:** add fillRange() & levenshtein() ([2f98225](https://github.com/thi-ng/umbrella/commit/2f98225d129c7c1ae6b88a4f0bea9227254fcf91)) + + + + + # [0.5.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/arrays@0.4.0...@thi.ng/arrays@0.5.0) (2020-01-24) ### Features diff --git a/packages/arrays/package.json b/packages/arrays/package.json index e26a2b13df..dc2ab974bd 100644 --- a/packages/arrays/package.json +++ b/packages/arrays/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/arrays", - "version": "0.5.6", + "version": "0.6.0", "description": "Array / Arraylike utilities", "module": "./index.js", "main": "./lib/index.js", @@ -38,12 +38,12 @@ "typescript": "^3.8.3" }, "dependencies": { - "@thi.ng/api": "^6.8.3", - "@thi.ng/checks": "^2.5.4", - "@thi.ng/compare": "^1.2.1", - "@thi.ng/equiv": "^1.0.16", - "@thi.ng/errors": "^1.2.7", - "@thi.ng/random": "^1.4.1", + "@thi.ng/api": "^6.9.0", + "@thi.ng/checks": "^2.6.0", + "@thi.ng/compare": "^1.2.2", + "@thi.ng/equiv": "^1.0.17", + "@thi.ng/errors": "^1.2.8", + "@thi.ng/random": "^1.4.2", "tslib": "^1.11.1" }, "keywords": [ diff --git a/packages/associative/CHANGELOG.md b/packages/associative/CHANGELOG.md index 42276d6c64..079cea2d6b 100644 --- a/packages/associative/CHANGELOG.md +++ b/packages/associative/CHANGELOG.md @@ -3,6 +3,25 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [4.0.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/associative@3.1.8...@thi.ng/associative@4.0.0) (2020-03-28) + + +### Features + +* **associative:** [#210](https://github.com/thi-ng/umbrella/issues/210), add `defXXX` factory fns ([48ae24a](https://github.com/thi-ng/umbrella/commit/48ae24a478ba430e123489fbb728fcb7e2d26d06)) +* **associative:** re-add support for nodejs REPL inspection ([49024f7](https://github.com/thi-ng/umbrella/commit/49024f75fd6126f5d6c1991516a411df7d62d893)), closes [nodejs/node#32529](https://github.com/nodejs/node/issues/32529) + + +### BREAKING CHANGES + +* **associative:** remove static `fromObject()` map factories + +- merged with defHashMap(), defSortedMap() + + + + + # [3.1.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/associative@3.0.1...@thi.ng/associative@3.1.0) (2019-11-09) ### Bug Fixes diff --git a/packages/associative/package.json b/packages/associative/package.json index 41b51da35d..cd5ccd9475 100644 --- a/packages/associative/package.json +++ b/packages/associative/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/associative", - "version": "3.1.8", + "version": "4.0.0", "description": "Alternative Map and Set implementations with customizable equality semantics & supporting operations", "module": "./index.js", "main": "./lib/index.js", @@ -38,14 +38,14 @@ "typescript": "^3.8.3" }, "dependencies": { - "@thi.ng/api": "^6.8.3", - "@thi.ng/binary": "^2.0.0", - "@thi.ng/checks": "^2.5.4", - "@thi.ng/compare": "^1.2.1", - "@thi.ng/dcons": "^2.2.7", - "@thi.ng/equiv": "^1.0.16", - "@thi.ng/errors": "^1.2.7", - "@thi.ng/transducers": "^6.4.1", + "@thi.ng/api": "^6.9.0", + "@thi.ng/binary": "^2.0.1", + "@thi.ng/checks": "^2.6.0", + "@thi.ng/compare": "^1.2.2", + "@thi.ng/dcons": "^2.2.8", + "@thi.ng/equiv": "^1.0.17", + "@thi.ng/errors": "^1.2.8", + "@thi.ng/transducers": "^6.4.2", "tslib": "^1.11.1" }, "keywords": [ diff --git a/packages/atom/CHANGELOG.md b/packages/atom/CHANGELOG.md index f6be4c9b3a..0acfd60d6f 100644 --- a/packages/atom/CHANGELOG.md +++ b/packages/atom/CHANGELOG.md @@ -3,6 +3,57 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [4.0.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/atom@3.1.8...@thi.ng/atom@4.0.0) (2020-03-28) + + +### Bug Fixes + +* **atom:** fix defViewUnsafe() type inference ([bb5593a](https://github.com/thi-ng/umbrella/commit/bb5593a6bfeafbfdd8209fa707368634ea30fc28)) + + +### Code Refactoring + +* **atom:** update path value inference handling ([8c2aab2](https://github.com/thi-ng/umbrella/commit/8c2aab2f702803245d384b21f0e8c149138f73cd)) + + +### Features + +* **atom:** add typechecking for resetIn(), swapIn() impls ([f114e10](https://github.com/thi-ng/umbrella/commit/f114e10a5d8736d9cfd70b32dd5cbbaa503eeadb)) +* **atom:** update types, API for supporting type-checked & unchecked paths ([82948b8](https://github.com/thi-ng/umbrella/commit/82948b8dc316ba402b2124cd7263c47e8dc7d2eb)) + + +### BREAKING CHANGES + +* **atom:** update IReset, ISwap, SwapFn generics + +- use PathVal & OptPathVal for value type inference +* **atom:** update types, API for supporting type-checked & unchecked paths + +- support path type checking for upto 8 levels (before falling back to `any`) +- update `resetIn()` / `swapIn()` impls in all types to expect type-checked paths +- add `resetInUnsafe()` / `swapInUnsafe()` for string-based / unchecked paths +- remove support for non-atom-like Cursor parent states +- simplify Cursor ctor +- remove `IViewable` interface and `.addView()` impls (use `defView()` instead) +- remove `ViewTransform` type alias +- add factory fns for typed paths: + - defAtom() + - defCursor() + - defHistory() + - defTransacted() + - defView() +- add factory fns for untyped paths: + - defCursorUnsafe() + - defViewUnsafe() +* **atom:** add typechecking for resetIn(), swapIn() impls + +The more stricter method signatures **could** lead to breaking changes +in more lax existing code bases + + + + + # [3.1.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/atom@3.0.4...@thi.ng/atom@3.1.0) (2019-09-21) ### Features diff --git a/packages/atom/package.json b/packages/atom/package.json index 18214417df..6f716a355a 100644 --- a/packages/atom/package.json +++ b/packages/atom/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/atom", - "version": "3.1.8", + "version": "4.0.0", "description": "Mutable wrappers for nested immutable values with optional undo/redo history and transaction support", "module": "./index.js", "main": "./lib/index.js", @@ -38,11 +38,11 @@ "typescript": "^3.8.3" }, "dependencies": { - "@thi.ng/api": "^6.8.3", - "@thi.ng/checks": "^2.5.4", - "@thi.ng/equiv": "^1.0.16", - "@thi.ng/errors": "^1.2.7", - "@thi.ng/paths": "^3.0.5", + "@thi.ng/api": "^6.9.0", + "@thi.ng/checks": "^2.6.0", + "@thi.ng/equiv": "^1.0.17", + "@thi.ng/errors": "^1.2.8", + "@thi.ng/paths": "^4.0.0", "tslib": "^1.11.1" }, "keywords": [ diff --git a/packages/bench/CHANGELOG.md b/packages/bench/CHANGELOG.md index 3133f0fc2e..f3da1357d4 100644 --- a/packages/bench/CHANGELOG.md +++ b/packages/bench/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [2.0.5](https://github.com/thi-ng/umbrella/compare/@thi.ng/bench@2.0.4...@thi.ng/bench@2.0.5) (2020-03-28) + +**Note:** Version bump only for package @thi.ng/bench + + + + + # [2.0.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/bench@1.0.11...@thi.ng/bench@2.0.0) (2020-01-24) ### Bug Fixes diff --git a/packages/bench/package.json b/packages/bench/package.json index 631a9ca7ac..682cb96f15 100644 --- a/packages/bench/package.json +++ b/packages/bench/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/bench", - "version": "2.0.4", + "version": "2.0.5", "description": "Benchmarking utilities w/ optional statistics", "module": "./index.js", "main": "./lib/index.js", diff --git a/packages/bencode/CHANGELOG.md b/packages/bencode/CHANGELOG.md index 1c52f9f733..cf6a787165 100644 --- a/packages/bencode/CHANGELOG.md +++ b/packages/bencode/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.3.15](https://github.com/thi-ng/umbrella/compare/@thi.ng/bencode@0.3.14...@thi.ng/bencode@0.3.15) (2020-03-28) + +**Note:** Version bump only for package @thi.ng/bencode + + + + + # [0.3.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/bencode@0.2.17...@thi.ng/bencode@0.3.0) (2019-07-07) ### Features diff --git a/packages/bencode/package.json b/packages/bencode/package.json index 7e2da0b8e5..87f40018b7 100644 --- a/packages/bencode/package.json +++ b/packages/bencode/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/bencode", - "version": "0.3.14", + "version": "0.3.15", "description": "Bencode binary encoder / decoder with optional UTF8 encoding & floating point support", "module": "./index.js", "main": "./lib/index.js", @@ -38,13 +38,13 @@ "typescript": "^3.8.3" }, "dependencies": { - "@thi.ng/api": "^6.8.3", - "@thi.ng/arrays": "^0.5.6", - "@thi.ng/checks": "^2.5.4", - "@thi.ng/defmulti": "^1.2.7", - "@thi.ng/errors": "^1.2.7", - "@thi.ng/transducers": "^6.4.1", - "@thi.ng/transducers-binary": "^0.5.4", + "@thi.ng/api": "^6.9.0", + "@thi.ng/arrays": "^0.6.0", + "@thi.ng/checks": "^2.6.0", + "@thi.ng/defmulti": "^1.2.8", + "@thi.ng/errors": "^1.2.8", + "@thi.ng/transducers": "^6.4.2", + "@thi.ng/transducers-binary": "^0.5.5", "tslib": "^1.11.1" }, "keywords": [ diff --git a/packages/binary/CHANGELOG.md b/packages/binary/CHANGELOG.md index 9dcbec5486..9031a1be43 100644 --- a/packages/binary/CHANGELOG.md +++ b/packages/binary/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [2.0.1](https://github.com/thi-ng/umbrella/compare/@thi.ng/binary@2.0.0...@thi.ng/binary@2.0.1) (2020-03-28) + +**Note:** Version bump only for package @thi.ng/binary + + + + + # [2.0.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/binary@1.3.2...@thi.ng/binary@2.0.0) (2020-03-06) diff --git a/packages/binary/package.json b/packages/binary/package.json index 43a6c8cf4d..857fd0360e 100644 --- a/packages/binary/package.json +++ b/packages/binary/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/binary", - "version": "2.0.0", + "version": "2.0.1", "description": "95+ assorted binary / bitwise operations, conversions, utilities", "module": "./index.js", "main": "./lib/index.js", diff --git a/packages/bitfield/CHANGELOG.md b/packages/bitfield/CHANGELOG.md index 95646ea43f..0b4f6d42cc 100644 --- a/packages/bitfield/CHANGELOG.md +++ b/packages/bitfield/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.3.1](https://github.com/thi-ng/umbrella/compare/@thi.ng/bitfield@0.3.0...@thi.ng/bitfield@0.3.1) (2020-03-28) + +**Note:** Version bump only for package @thi.ng/bitfield + + + + + # [0.3.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/bitfield@0.2.8...@thi.ng/bitfield@0.3.0) (2020-03-06) diff --git a/packages/bitfield/package.json b/packages/bitfield/package.json index 04a9c54a38..dace5a08d9 100644 --- a/packages/bitfield/package.json +++ b/packages/bitfield/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/bitfield", - "version": "0.3.0", + "version": "0.3.1", "description": "1D / 2D bit field implementations", "module": "./index.js", "main": "./lib/index.js", @@ -38,9 +38,9 @@ "typescript": "^3.8.3" }, "dependencies": { - "@thi.ng/api": "^6.8.3", - "@thi.ng/binary": "^2.0.0", - "@thi.ng/strings": "^1.7.0", + "@thi.ng/api": "^6.9.0", + "@thi.ng/binary": "^2.0.1", + "@thi.ng/strings": "^1.8.0", "tslib": "^1.11.1" }, "keywords": [ diff --git a/packages/bitstream/CHANGELOG.md b/packages/bitstream/CHANGELOG.md index 6e2fb1f545..6bc0ca3d87 100644 --- a/packages/bitstream/CHANGELOG.md +++ b/packages/bitstream/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.1.11](https://github.com/thi-ng/umbrella/compare/@thi.ng/bitstream@1.1.10...@thi.ng/bitstream@1.1.11) (2020-03-28) + +**Note:** Version bump only for package @thi.ng/bitstream + + + + + # [1.1.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/bitstream@1.0.6...@thi.ng/bitstream@1.1.0) (2019-07-07) ### Features diff --git a/packages/bitstream/package.json b/packages/bitstream/package.json index f78e4c54a6..e62e7db366 100644 --- a/packages/bitstream/package.json +++ b/packages/bitstream/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/bitstream", - "version": "1.1.10", + "version": "1.1.11", "description": "ES6 iterator based read/write bit streams with support for variable word widths", "module": "./index.js", "main": "./lib/index.js", @@ -27,7 +27,7 @@ "pub": "yarn build:release && yarn publish --access public" }, "dependencies": { - "@thi.ng/errors": "^1.2.7", + "@thi.ng/errors": "^1.2.8", "tslib": "^1.11.1" }, "devDependencies": { diff --git a/packages/cache/CHANGELOG.md b/packages/cache/CHANGELOG.md index 2ae3e93427..cd11eb5e48 100644 --- a/packages/cache/CHANGELOG.md +++ b/packages/cache/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.0.35](https://github.com/thi-ng/umbrella/compare/@thi.ng/cache@1.0.34...@thi.ng/cache@1.0.35) (2020-03-28) + +**Note:** Version bump only for package @thi.ng/cache + + + + + # [1.0.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/cache@0.2.40...@thi.ng/cache@1.0.0) (2019-01-21) ### Bug Fixes diff --git a/packages/cache/package.json b/packages/cache/package.json index ea749f36b2..91c4dad014 100644 --- a/packages/cache/package.json +++ b/packages/cache/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/cache", - "version": "1.0.34", + "version": "1.0.35", "description": "In-memory cache implementations with ES6 Map-like API and different eviction strategies", "module": "./index.js", "main": "./lib/index.js", @@ -38,9 +38,9 @@ "typescript": "^3.8.3" }, "dependencies": { - "@thi.ng/api": "^6.8.3", - "@thi.ng/dcons": "^2.2.7", - "@thi.ng/transducers": "^6.4.1", + "@thi.ng/api": "^6.9.0", + "@thi.ng/dcons": "^2.2.8", + "@thi.ng/transducers": "^6.4.2", "tslib": "^1.11.1" }, "keywords": [ diff --git a/packages/checks/CHANGELOG.md b/packages/checks/CHANGELOG.md index ca386f5f7a..f0ba454b53 100644 --- a/packages/checks/CHANGELOG.md +++ b/packages/checks/CHANGELOG.md @@ -3,6 +3,23 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [2.6.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/checks@2.5.4...@thi.ng/checks@2.6.0) (2020-03-28) + + +### Bug Fixes + +* **checks:** typo ([4e4a6e1](https://github.com/thi-ng/umbrella/commit/4e4a6e1062075705d96883f860f23b545fd9ebdf)) + + +### Features + +* **checks:** add better type assertion for isTypedArray() ([548ba52](https://github.com/thi-ng/umbrella/commit/548ba5205033bcc4a917fa56ede65ba3df4b3eef)) +* **checks:** add new string validators ([9d9e8a8](https://github.com/thi-ng/umbrella/commit/9d9e8a8bcb73efb728faf4a216a9dfcac31a0639)) + + + + + # [2.5.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/checks@2.4.2...@thi.ng/checks@2.5.0) (2020-01-24) ### Features diff --git a/packages/checks/package.json b/packages/checks/package.json index 8cf4e179e1..8cdb40003f 100644 --- a/packages/checks/package.json +++ b/packages/checks/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/checks", - "version": "2.5.4", + "version": "2.6.0", "description": "Collection of 50+ type, feature & value checks", "module": "./index.js", "main": "./lib/index.js", diff --git a/packages/color/CHANGELOG.md b/packages/color/CHANGELOG.md index 99c08829d2..9b7886faf7 100644 --- a/packages/color/CHANGELOG.md +++ b/packages/color/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.1.11](https://github.com/thi-ng/umbrella/compare/@thi.ng/color@1.1.10...@thi.ng/color@1.1.11) (2020-03-28) + +**Note:** Version bump only for package @thi.ng/color + + + + + ## [1.1.2](https://github.com/thi-ng/umbrella/compare/@thi.ng/color@1.1.1...@thi.ng/color@1.1.2) (2019-11-09) ### Bug Fixes diff --git a/packages/color/package.json b/packages/color/package.json index 509caed0e0..016558923a 100644 --- a/packages/color/package.json +++ b/packages/color/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/color", - "version": "1.1.10", + "version": "1.1.11", "description": "Array-based color ops, conversions, multi-color gradients, presets", "module": "./index.js", "main": "./lib/index.js", @@ -38,15 +38,15 @@ "typescript": "^3.8.3" }, "dependencies": { - "@thi.ng/api": "^6.8.3", - "@thi.ng/checks": "^2.5.4", - "@thi.ng/compose": "^1.3.12", - "@thi.ng/defmulti": "^1.2.7", - "@thi.ng/errors": "^1.2.7", - "@thi.ng/math": "^1.7.3", - "@thi.ng/strings": "^1.7.0", - "@thi.ng/transducers": "^6.4.1", - "@thi.ng/vectors": "^4.2.1", + "@thi.ng/api": "^6.9.0", + "@thi.ng/checks": "^2.6.0", + "@thi.ng/compose": "^1.4.0", + "@thi.ng/defmulti": "^1.2.8", + "@thi.ng/errors": "^1.2.8", + "@thi.ng/math": "^1.7.4", + "@thi.ng/strings": "^1.8.0", + "@thi.ng/transducers": "^6.4.2", + "@thi.ng/vectors": "^4.2.2", "tslib": "^1.11.1" }, "keywords": [ diff --git a/packages/compare/CHANGELOG.md b/packages/compare/CHANGELOG.md index e1b9dd7a61..3b64e88a28 100644 --- a/packages/compare/CHANGELOG.md +++ b/packages/compare/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.2](https://github.com/thi-ng/umbrella/compare/@thi.ng/compare@1.2.1...@thi.ng/compare@1.2.2) (2020-03-28) + +**Note:** Version bump only for package @thi.ng/compare + + + + + # [1.2.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/compare@1.1.4...@thi.ng/compare@1.2.0) (2020-03-01) diff --git a/packages/compare/package.json b/packages/compare/package.json index f5987fbff3..4c3e73911b 100644 --- a/packages/compare/package.json +++ b/packages/compare/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/compare", - "version": "1.2.1", + "version": "1.2.2", "description": "Comparators with support for types implementing the @thi.ng/api/ICompare interface", "module": "./index.js", "main": "./lib/index.js", @@ -38,7 +38,7 @@ "typescript": "^3.8.3" }, "dependencies": { - "@thi.ng/api": "^6.8.3", + "@thi.ng/api": "^6.9.0", "tslib": "^1.11.1" }, "keywords": [ diff --git a/packages/compose/CHANGELOG.md b/packages/compose/CHANGELOG.md index 0a4eaf643a..9d7e5cac39 100644 --- a/packages/compose/CHANGELOG.md +++ b/packages/compose/CHANGELOG.md @@ -3,6 +3,17 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [1.4.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/compose@1.3.12...@thi.ng/compose@1.4.0) (2020-03-28) + + +### Features + +* **compose:** add promisify() ([dfcf4ab](https://github.com/thi-ng/umbrella/commit/dfcf4ab7333b25c4332f783d124d86de058feceb)) + + + + + # [1.3.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/compose@1.2.5...@thi.ng/compose@1.3.0) (2019-07-07) ### Features diff --git a/packages/compose/package.json b/packages/compose/package.json index e71122d505..f7041e1bed 100644 --- a/packages/compose/package.json +++ b/packages/compose/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/compose", - "version": "1.3.12", + "version": "1.4.0", "description": "Optimized functional composition helpers", "module": "./index.js", "main": "./lib/index.js", @@ -38,8 +38,8 @@ "typescript": "^3.8.3" }, "dependencies": { - "@thi.ng/api": "^6.8.3", - "@thi.ng/errors": "^1.2.7", + "@thi.ng/api": "^6.9.0", + "@thi.ng/errors": "^1.2.8", "tslib": "^1.11.1" }, "keywords": [ diff --git a/packages/csp/CHANGELOG.md b/packages/csp/CHANGELOG.md index eaeaac92e9..5f47c7f14a 100644 --- a/packages/csp/CHANGELOG.md +++ b/packages/csp/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.1.15](https://github.com/thi-ng/umbrella/compare/@thi.ng/csp@1.1.14...@thi.ng/csp@1.1.15) (2020-03-28) + +**Note:** Version bump only for package @thi.ng/csp + + + + + # [1.1.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/csp@1.0.19...@thi.ng/csp@1.1.0) (2019-07-07) ### Bug Fixes diff --git a/packages/csp/package.json b/packages/csp/package.json index 2d368a49a2..787a5ba817 100644 --- a/packages/csp/package.json +++ b/packages/csp/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/csp", - "version": "1.1.14", + "version": "1.1.15", "description": "ES6 promise based CSP primitives & operations", "module": "./index.js", "main": "./lib/index.js", @@ -42,12 +42,12 @@ "typescript": "^3.8.3" }, "dependencies": { - "@thi.ng/api": "^6.8.3", - "@thi.ng/arrays": "^0.5.6", - "@thi.ng/checks": "^2.5.4", - "@thi.ng/dcons": "^2.2.7", - "@thi.ng/errors": "^1.2.7", - "@thi.ng/transducers": "^6.4.1", + "@thi.ng/api": "^6.9.0", + "@thi.ng/arrays": "^0.6.0", + "@thi.ng/checks": "^2.6.0", + "@thi.ng/dcons": "^2.2.8", + "@thi.ng/errors": "^1.2.8", + "@thi.ng/transducers": "^6.4.2", "tslib": "^1.11.1" }, "keywords": [ diff --git a/packages/dcons/CHANGELOG.md b/packages/dcons/CHANGELOG.md index e0964f4591..516dd496b8 100644 --- a/packages/dcons/CHANGELOG.md +++ b/packages/dcons/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [2.2.8](https://github.com/thi-ng/umbrella/compare/@thi.ng/dcons@2.2.7...@thi.ng/dcons@2.2.8) (2020-03-28) + +**Note:** Version bump only for package @thi.ng/dcons + + + + + # [2.2.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/dcons@2.1.6...@thi.ng/dcons@2.2.0) (2019-11-30) ### Features diff --git a/packages/dcons/package.json b/packages/dcons/package.json index 0da12d52f4..faa717f097 100644 --- a/packages/dcons/package.json +++ b/packages/dcons/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/dcons", - "version": "2.2.7", + "version": "2.2.8", "description": "Double-linked list with comprehensive set of operations", "module": "./index.js", "main": "./lib/index.js", @@ -38,13 +38,13 @@ "typescript": "^3.8.3" }, "dependencies": { - "@thi.ng/api": "^6.8.3", - "@thi.ng/checks": "^2.5.4", - "@thi.ng/compare": "^1.2.1", - "@thi.ng/equiv": "^1.0.16", - "@thi.ng/errors": "^1.2.7", - "@thi.ng/random": "^1.4.1", - "@thi.ng/transducers": "^6.4.1", + "@thi.ng/api": "^6.9.0", + "@thi.ng/checks": "^2.6.0", + "@thi.ng/compare": "^1.2.2", + "@thi.ng/equiv": "^1.0.17", + "@thi.ng/errors": "^1.2.8", + "@thi.ng/random": "^1.4.2", + "@thi.ng/transducers": "^6.4.2", "tslib": "^1.11.1" }, "keywords": [ diff --git a/packages/defmulti/CHANGELOG.md b/packages/defmulti/CHANGELOG.md index 65333f3a6a..225efa3cce 100644 --- a/packages/defmulti/CHANGELOG.md +++ b/packages/defmulti/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.8](https://github.com/thi-ng/umbrella/compare/@thi.ng/defmulti@1.2.7...@thi.ng/defmulti@1.2.8) (2020-03-28) + +**Note:** Version bump only for package @thi.ng/defmulti + + + + + # [1.2.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/defmulti@1.1.4...@thi.ng/defmulti@1.2.0) (2019-11-09) ### Features diff --git a/packages/defmulti/package.json b/packages/defmulti/package.json index a29b56eb06..c99cdca04f 100644 --- a/packages/defmulti/package.json +++ b/packages/defmulti/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/defmulti", - "version": "1.2.7", + "version": "1.2.8", "description": "Dynamic, extensible multiple dispatch via user supplied dispatch function.", "module": "./index.js", "main": "./lib/index.js", @@ -38,8 +38,8 @@ "typescript": "^3.8.3" }, "dependencies": { - "@thi.ng/api": "^6.8.3", - "@thi.ng/errors": "^1.2.7", + "@thi.ng/api": "^6.9.0", + "@thi.ng/errors": "^1.2.8", "tslib": "^1.11.1" }, "keywords": [ diff --git a/packages/dgraph/CHANGELOG.md b/packages/dgraph/CHANGELOG.md index 8452a60674..e4bee3c0a4 100644 --- a/packages/dgraph/CHANGELOG.md +++ b/packages/dgraph/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.1.25](https://github.com/thi-ng/umbrella/compare/@thi.ng/dgraph@1.1.24...@thi.ng/dgraph@1.1.25) (2020-03-28) + +**Note:** Version bump only for package @thi.ng/dgraph + + + + + # [1.1.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/dgraph@1.0.13...@thi.ng/dgraph@1.1.0) (2019-04-02) ### Features diff --git a/packages/dgraph/package.json b/packages/dgraph/package.json index 2b5fb31024..436edf7e1d 100644 --- a/packages/dgraph/package.json +++ b/packages/dgraph/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/dgraph", - "version": "1.1.24", + "version": "1.1.25", "description": "Type-agnostic directed acyclic graph (DAG) & graph operations", "module": "./index.js", "main": "./lib/index.js", @@ -38,11 +38,11 @@ "typescript": "^3.8.3" }, "dependencies": { - "@thi.ng/api": "^6.8.3", - "@thi.ng/associative": "^3.1.8", - "@thi.ng/equiv": "^1.0.16", - "@thi.ng/errors": "^1.2.7", - "@thi.ng/transducers": "^6.4.1", + "@thi.ng/api": "^6.9.0", + "@thi.ng/associative": "^4.0.0", + "@thi.ng/equiv": "^1.0.17", + "@thi.ng/errors": "^1.2.8", + "@thi.ng/transducers": "^6.4.2", "tslib": "^1.11.1" }, "keywords": [ diff --git a/packages/diff/CHANGELOG.md b/packages/diff/CHANGELOG.md index d5e9b5d667..180c78c354 100644 --- a/packages/diff/CHANGELOG.md +++ b/packages/diff/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [3.2.13](https://github.com/thi-ng/umbrella/compare/@thi.ng/diff@3.2.12...@thi.ng/diff@3.2.13) (2020-03-28) + +**Note:** Version bump only for package @thi.ng/diff + + + + + # [3.2.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/diff@3.1.3...@thi.ng/diff@3.2.0) (2019-07-07) ### Features diff --git a/packages/diff/package.json b/packages/diff/package.json index 2878e53076..34ec499fd0 100644 --- a/packages/diff/package.json +++ b/packages/diff/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/diff", - "version": "3.2.12", + "version": "3.2.13", "description": "Customizable diff implementations for arrays (sequential) & objects (associative), with or without linear edit logs", "module": "./index.js", "main": "./lib/index.js", @@ -37,8 +37,8 @@ "typescript": "^3.8.3" }, "dependencies": { - "@thi.ng/api": "^6.8.3", - "@thi.ng/equiv": "^1.0.16", + "@thi.ng/api": "^6.9.0", + "@thi.ng/equiv": "^1.0.17", "tslib": "^1.11.1" }, "keywords": [ diff --git a/packages/dl-asset/CHANGELOG.md b/packages/dl-asset/CHANGELOG.md index 402cc59957..92e2280d6a 100644 --- a/packages/dl-asset/CHANGELOG.md +++ b/packages/dl-asset/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.3.2](https://github.com/thi-ng/umbrella/compare/@thi.ng/dl-asset@0.3.1...@thi.ng/dl-asset@0.3.2) (2020-03-28) + +**Note:** Version bump only for package @thi.ng/dl-asset + + + + + # 0.3.0 (2020-02-26) diff --git a/packages/dl-asset/package.json b/packages/dl-asset/package.json index ee3d71ddd5..912c0bc341 100644 --- a/packages/dl-asset/package.json +++ b/packages/dl-asset/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/dl-asset", - "version": "0.3.1", + "version": "0.3.2", "description": "Local asset download for web apps, with automatic MIME type detection", "module": "./index.js", "main": "./lib/index.js", @@ -38,9 +38,9 @@ "typescript": "^3.8.3" }, "dependencies": { - "@thi.ng/api": "^6.8.3", - "@thi.ng/checks": "^2.5.4", - "@thi.ng/mime": "^0.1.3", + "@thi.ng/api": "^6.9.0", + "@thi.ng/checks": "^2.6.0", + "@thi.ng/mime": "^0.1.4", "tslib": "^1.11.1" }, "keywords": [ diff --git a/packages/dlogic/CHANGELOG.md b/packages/dlogic/CHANGELOG.md index aab39f5142..25f624ffab 100644 --- a/packages/dlogic/CHANGELOG.md +++ b/packages/dlogic/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.0.17](https://github.com/thi-ng/umbrella/compare/@thi.ng/dlogic@1.0.16...@thi.ng/dlogic@1.0.17) (2020-03-28) + +**Note:** Version bump only for package @thi.ng/dlogic + + + + + # [1.0.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/dlogic@0.1.2...@thi.ng/dlogic@1.0.0) (2019-01-21) ### Build System diff --git a/packages/dlogic/package.json b/packages/dlogic/package.json index da656648e9..e794b6dbcc 100644 --- a/packages/dlogic/package.json +++ b/packages/dlogic/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/dlogic", - "version": "1.0.16", + "version": "1.0.17", "description": "Assorted digital logic ops / constructs", "module": "./index.js", "main": "./lib/index.js", diff --git a/packages/dot/CHANGELOG.md b/packages/dot/CHANGELOG.md index 859186dc0f..c6bc8e140d 100644 --- a/packages/dot/CHANGELOG.md +++ b/packages/dot/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.1.14](https://github.com/thi-ng/umbrella/compare/@thi.ng/dot@1.1.13...@thi.ng/dot@1.1.14) (2020-03-28) + +**Note:** Version bump only for package @thi.ng/dot + + + + + # [1.1.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/dot@1.0.12...@thi.ng/dot@1.1.0) (2019-07-07) ### Features diff --git a/packages/dot/package.json b/packages/dot/package.json index d72ff68821..094cc30e42 100644 --- a/packages/dot/package.json +++ b/packages/dot/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/dot", - "version": "1.1.13", + "version": "1.1.14", "description": "Graphviz document abstraction & serialization to DOT format", "module": "./index.js", "main": "./lib/index.js", @@ -38,8 +38,8 @@ "typescript": "^3.8.3" }, "dependencies": { - "@thi.ng/api": "^6.8.3", - "@thi.ng/checks": "^2.5.4", + "@thi.ng/api": "^6.9.0", + "@thi.ng/checks": "^2.6.0", "tslib": "^1.11.1" }, "keywords": [ diff --git a/packages/dsp-io-wav/CHANGELOG.md b/packages/dsp-io-wav/CHANGELOG.md index 1158321d1a..06df14f211 100644 --- a/packages/dsp-io-wav/CHANGELOG.md +++ b/packages/dsp-io-wav/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.1.5](https://github.com/thi-ng/umbrella/compare/@thi.ng/dsp-io-wav@0.1.4...@thi.ng/dsp-io-wav@0.1.5) (2020-03-28) + +**Note:** Version bump only for package @thi.ng/dsp-io-wav + + + + + # 0.1.0 (2020-02-25) diff --git a/packages/dsp-io-wav/package.json b/packages/dsp-io-wav/package.json index 144e2cada8..05cbb66f9b 100644 --- a/packages/dsp-io-wav/package.json +++ b/packages/dsp-io-wav/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/dsp-io-wav", - "version": "0.1.4", + "version": "0.1.5", "description": "WAV file format generation", "module": "./index.js", "main": "./lib/index.js", @@ -38,10 +38,10 @@ "typescript": "^3.8.3" }, "dependencies": { - "@thi.ng/api": "^6.8.3", - "@thi.ng/binary": "^2.0.0", - "@thi.ng/transducers": "^6.4.1", - "@thi.ng/transducers-binary": "^0.5.4", + "@thi.ng/api": "^6.9.0", + "@thi.ng/binary": "^2.0.1", + "@thi.ng/transducers": "^6.4.2", + "@thi.ng/transducers-binary": "^0.5.5", "tslib": "^1.11.1" }, "keywords": [ diff --git a/packages/dsp/CHANGELOG.md b/packages/dsp/CHANGELOG.md index 8aaa5df03b..125b724ed5 100644 --- a/packages/dsp/CHANGELOG.md +++ b/packages/dsp/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [2.0.7](https://github.com/thi-ng/umbrella/compare/@thi.ng/dsp@2.0.6...@thi.ng/dsp@2.0.7) (2020-03-28) + +**Note:** Version bump only for package @thi.ng/dsp + + + + + # [2.0.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/dsp@1.0.18...@thi.ng/dsp@2.0.0) (2020-01-24) ### Code Refactoring diff --git a/packages/dsp/package.json b/packages/dsp/package.json index 2fa04edb0b..2e43ed5f2e 100644 --- a/packages/dsp/package.json +++ b/packages/dsp/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/dsp", - "version": "2.0.6", + "version": "2.0.7", "description": "Composable signal generators, oscillators, filters, FFT, spectrum, windowing & related DSP utils", "module": "./index.js", "main": "./lib/index.js", @@ -38,10 +38,10 @@ "typescript": "^3.8.3" }, "dependencies": { - "@thi.ng/api": "^6.8.3", - "@thi.ng/checks": "^2.5.4", - "@thi.ng/math": "^1.7.3", - "@thi.ng/transducers": "^6.4.1", + "@thi.ng/api": "^6.9.0", + "@thi.ng/checks": "^2.6.0", + "@thi.ng/math": "^1.7.4", + "@thi.ng/transducers": "^6.4.2", "tslib": "^1.11.1" }, "keywords": [ diff --git a/packages/dynvar/CHANGELOG.md b/packages/dynvar/CHANGELOG.md index 0849bdf272..03dbae7f68 100644 --- a/packages/dynvar/CHANGELOG.md +++ b/packages/dynvar/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.1.6](https://github.com/thi-ng/umbrella/compare/@thi.ng/dynvar@0.1.5...@thi.ng/dynvar@0.1.6) (2020-03-28) + +**Note:** Version bump only for package @thi.ng/dynvar + + + + + # 0.1.0 (2020-01-24) ### Features diff --git a/packages/dynvar/package.json b/packages/dynvar/package.json index 5c93131a75..bec51441b5 100644 --- a/packages/dynvar/package.json +++ b/packages/dynvar/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/dynvar", - "version": "0.1.5", + "version": "0.1.6", "description": "Dynamically scoped variable bindings", "module": "./index.js", "main": "./lib/index.js", @@ -38,7 +38,7 @@ "typescript": "^3.8.3" }, "dependencies": { - "@thi.ng/api": "^6.8.3", + "@thi.ng/api": "^6.9.0", "tslib": "^1.11.1" }, "keywords": [ diff --git a/packages/ecs/CHANGELOG.md b/packages/ecs/CHANGELOG.md index 990b6ada09..104f0a481c 100644 --- a/packages/ecs/CHANGELOG.md +++ b/packages/ecs/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.3.7](https://github.com/thi-ng/umbrella/compare/@thi.ng/ecs@0.3.6...@thi.ng/ecs@0.3.7) (2020-03-28) + +**Note:** Version bump only for package @thi.ng/ecs + + + + + # [0.3.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/ecs@0.2.0...@thi.ng/ecs@0.3.0) (2020-01-24) ### Bug Fixes diff --git a/packages/ecs/package.json b/packages/ecs/package.json index 9c964df6ee..a45f824f46 100644 --- a/packages/ecs/package.json +++ b/packages/ecs/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/ecs", - "version": "0.3.6", + "version": "0.3.7", "description": "Entity Component System based around typed arrays & sparse sets", "module": "./index.js", "main": "./lib/index.js", @@ -29,7 +29,7 @@ "devDependencies": { "@istanbuljs/nyc-config-typescript": "^1.0.1", "@microsoft/api-extractor": "^7.7.8", - "@thi.ng/equiv": "^1.0.16", + "@thi.ng/equiv": "^1.0.17", "@types/mocha": "^7.0.1", "@types/node": "^13.7.4", "mocha": "^7.0.1", @@ -39,13 +39,13 @@ "typescript": "^3.8.3" }, "dependencies": { - "@thi.ng/api": "^6.8.3", - "@thi.ng/associative": "^3.1.8", - "@thi.ng/binary": "^2.0.0", - "@thi.ng/checks": "^2.5.4", - "@thi.ng/dcons": "^2.2.7", - "@thi.ng/idgen": "^0.2.5", - "@thi.ng/transducers": "^6.4.1", + "@thi.ng/api": "^6.9.0", + "@thi.ng/associative": "^4.0.0", + "@thi.ng/binary": "^2.0.1", + "@thi.ng/checks": "^2.6.0", + "@thi.ng/dcons": "^2.2.8", + "@thi.ng/idgen": "^0.2.6", + "@thi.ng/transducers": "^6.4.2", "tslib": "^1.11.1" }, "keywords": [ diff --git a/packages/equiv/CHANGELOG.md b/packages/equiv/CHANGELOG.md index 210a2bb6e4..59a8aee768 100644 --- a/packages/equiv/CHANGELOG.md +++ b/packages/equiv/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.0.17](https://github.com/thi-ng/umbrella/compare/@thi.ng/equiv@1.0.16...@thi.ng/equiv@1.0.17) (2020-03-28) + +**Note:** Version bump only for package @thi.ng/equiv + + + + + # [1.0.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/equiv@0.1.15...@thi.ng/equiv@1.0.0) (2019-01-21) ### Build System diff --git a/packages/equiv/package.json b/packages/equiv/package.json index 3062cdecb5..9c7e651df1 100644 --- a/packages/equiv/package.json +++ b/packages/equiv/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/equiv", - "version": "1.0.16", + "version": "1.0.17", "description": "Extensible deep value equivalence checking for any data types", "module": "./index.js", "main": "./lib/index.js", diff --git a/packages/errors/CHANGELOG.md b/packages/errors/CHANGELOG.md index 25aa7885ed..c0eca06192 100644 --- a/packages/errors/CHANGELOG.md +++ b/packages/errors/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.8](https://github.com/thi-ng/umbrella/compare/@thi.ng/errors@1.2.7...@thi.ng/errors@1.2.8) (2020-03-28) + +**Note:** Version bump only for package @thi.ng/errors + + + + + # [1.2.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/errors@1.1.2...@thi.ng/errors@1.2.0) (2019-08-21) ### Features diff --git a/packages/errors/package.json b/packages/errors/package.json index 466e3825dc..499027f799 100644 --- a/packages/errors/package.json +++ b/packages/errors/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/errors", - "version": "1.2.7", + "version": "1.2.8", "description": "Custom error types and error factory functions", "module": "./index.js", "main": "./lib/index.js", diff --git a/packages/fsm/CHANGELOG.md b/packages/fsm/CHANGELOG.md index 785ca9176a..f559379002 100644 --- a/packages/fsm/CHANGELOG.md +++ b/packages/fsm/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [2.4.1](https://github.com/thi-ng/umbrella/compare/@thi.ng/fsm@2.4.0...@thi.ng/fsm@2.4.1) (2020-03-28) + +**Note:** Version bump only for package @thi.ng/fsm + + + + + # [2.4.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/fsm@2.3.7...@thi.ng/fsm@2.4.0) (2020-03-06) diff --git a/packages/fsm/package.json b/packages/fsm/package.json index 51c98f2b93..469567781b 100644 --- a/packages/fsm/package.json +++ b/packages/fsm/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/fsm", - "version": "2.4.0", + "version": "2.4.1", "description": "Composable primitives for building declarative, transducer based Finite-State Machines & matchers for arbitrary data streams", "module": "./index.js", "main": "./lib/index.js", @@ -38,12 +38,12 @@ "typescript": "^3.8.3" }, "dependencies": { - "@thi.ng/api": "^6.8.3", - "@thi.ng/arrays": "^0.5.6", - "@thi.ng/equiv": "^1.0.16", - "@thi.ng/errors": "^1.2.7", - "@thi.ng/strings": "^1.7.0", - "@thi.ng/transducers": "^6.4.1", + "@thi.ng/api": "^6.9.0", + "@thi.ng/arrays": "^0.6.0", + "@thi.ng/equiv": "^1.0.17", + "@thi.ng/errors": "^1.2.8", + "@thi.ng/strings": "^1.8.0", + "@thi.ng/transducers": "^6.4.2", "tslib": "^1.11.1" }, "keywords": [ diff --git a/packages/geom-accel/CHANGELOG.md b/packages/geom-accel/CHANGELOG.md index f08f0bf87e..7f933e86ea 100644 --- a/packages/geom-accel/CHANGELOG.md +++ b/packages/geom-accel/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [2.0.7](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-accel@2.0.6...@thi.ng/geom-accel@2.0.7) (2020-03-28) + +**Note:** Version bump only for package @thi.ng/geom-accel + + + + + # [2.0.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-accel@1.2.10...@thi.ng/geom-accel@2.0.0) (2020-01-24) ### Bug Fixes diff --git a/packages/geom-accel/package.json b/packages/geom-accel/package.json index c568e9ca51..e2423e3254 100644 --- a/packages/geom-accel/package.json +++ b/packages/geom-accel/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/geom-accel", - "version": "2.0.6", + "version": "2.0.7", "description": "n-D spatial indexing data structures", "module": "./index.js", "main": "./lib/index.js", @@ -39,15 +39,15 @@ "typescript": "^3.8.3" }, "dependencies": { - "@thi.ng/api": "^6.8.3", - "@thi.ng/arrays": "^0.5.6", - "@thi.ng/equiv": "^1.0.16", - "@thi.ng/geom-api": "^1.0.6", - "@thi.ng/geom-isec": "^0.4.6", - "@thi.ng/heaps": "^1.2.6", - "@thi.ng/math": "^1.7.3", - "@thi.ng/transducers": "^6.4.1", - "@thi.ng/vectors": "^4.2.1", + "@thi.ng/api": "^6.9.0", + "@thi.ng/arrays": "^0.6.0", + "@thi.ng/equiv": "^1.0.17", + "@thi.ng/geom-api": "^1.0.7", + "@thi.ng/geom-isec": "^0.4.7", + "@thi.ng/heaps": "^1.2.7", + "@thi.ng/math": "^1.7.4", + "@thi.ng/transducers": "^6.4.2", + "@thi.ng/vectors": "^4.2.2", "tslib": "^1.11.1" }, "keywords": [ diff --git a/packages/geom-api/CHANGELOG.md b/packages/geom-api/CHANGELOG.md index a7c11d6a02..bea6f95739 100644 --- a/packages/geom-api/CHANGELOG.md +++ b/packages/geom-api/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.0.7](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-api@1.0.6...@thi.ng/geom-api@1.0.7) (2020-03-28) + +**Note:** Version bump only for package @thi.ng/geom-api + + + + + # [1.0.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-api@0.3.8...@thi.ng/geom-api@1.0.0) (2020-01-24) ### Features diff --git a/packages/geom-api/package.json b/packages/geom-api/package.json index 2a0e37f979..3304fb074b 100644 --- a/packages/geom-api/package.json +++ b/packages/geom-api/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/geom-api", - "version": "1.0.6", + "version": "1.0.7", "description": "Shared type & interface declarations for @thi.ng/geom packages", "module": "./index.js", "main": "./lib/index.js", @@ -38,8 +38,8 @@ "typescript": "^3.8.3" }, "dependencies": { - "@thi.ng/api": "^6.8.3", - "@thi.ng/vectors": "^4.2.1", + "@thi.ng/api": "^6.9.0", + "@thi.ng/vectors": "^4.2.2", "tslib": "^1.11.1" }, "keywords": [ diff --git a/packages/geom-arc/CHANGELOG.md b/packages/geom-arc/CHANGELOG.md index 9e04e4e9a7..00e7c668e7 100644 --- a/packages/geom-arc/CHANGELOG.md +++ b/packages/geom-arc/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.2.18](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-arc@0.2.17...@thi.ng/geom-arc@0.2.18) (2020-03-28) + +**Note:** Version bump only for package @thi.ng/geom-arc + + + + + # [0.2.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-arc@0.1.17...@thi.ng/geom-arc@0.2.0) (2019-07-07) ### Features diff --git a/packages/geom-arc/package.json b/packages/geom-arc/package.json index 78b97d6741..38d42ae3fa 100644 --- a/packages/geom-arc/package.json +++ b/packages/geom-arc/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/geom-arc", - "version": "0.2.17", + "version": "0.2.18", "description": "2D circular / elliptic arc operations", "module": "./index.js", "main": "./lib/index.js", @@ -38,11 +38,11 @@ "typescript": "^3.8.3" }, "dependencies": { - "@thi.ng/checks": "^2.5.4", - "@thi.ng/geom-api": "^1.0.6", - "@thi.ng/geom-resample": "^0.2.17", - "@thi.ng/math": "^1.7.3", - "@thi.ng/vectors": "^4.2.1", + "@thi.ng/checks": "^2.6.0", + "@thi.ng/geom-api": "^1.0.7", + "@thi.ng/geom-resample": "^0.2.18", + "@thi.ng/math": "^1.7.4", + "@thi.ng/vectors": "^4.2.2", "tslib": "^1.11.1" }, "keywords": [ diff --git a/packages/geom-clip-line/CHANGELOG.md b/packages/geom-clip-line/CHANGELOG.md index 5f1b41ff15..249c060070 100644 --- a/packages/geom-clip-line/CHANGELOG.md +++ b/packages/geom-clip-line/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.0.5](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-clip-line@1.0.4...@thi.ng/geom-clip-line@1.0.5) (2020-03-28) + +**Note:** Version bump only for package @thi.ng/geom-clip-line + + + + + # 1.0.0 (2020-02-25) diff --git a/packages/geom-clip-line/package.json b/packages/geom-clip-line/package.json index 60aa1de36b..4647d6c480 100644 --- a/packages/geom-clip-line/package.json +++ b/packages/geom-clip-line/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/geom-clip-line", - "version": "1.0.4", + "version": "1.0.5", "description": "2D line clipping (Liang-Barsky)", "module": "./index.js", "main": "./lib/index.js", @@ -38,7 +38,7 @@ "typescript": "^3.8.3" }, "dependencies": { - "@thi.ng/vectors": "^4.2.1", + "@thi.ng/vectors": "^4.2.2", "tslib": "^1.11.1" }, "keywords": [ diff --git a/packages/geom-clip-poly/CHANGELOG.md b/packages/geom-clip-poly/CHANGELOG.md index 7776b2fd56..0ab0f2e797 100644 --- a/packages/geom-clip-poly/CHANGELOG.md +++ b/packages/geom-clip-poly/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.0.5](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-clip-poly@1.0.4...@thi.ng/geom-clip-poly@1.0.5) (2020-03-28) + +**Note:** Version bump only for package @thi.ng/geom-clip-poly + + + + + # 1.0.0 (2020-02-25) diff --git a/packages/geom-clip-poly/package.json b/packages/geom-clip-poly/package.json index 78457de6db..c1cac23de5 100644 --- a/packages/geom-clip-poly/package.json +++ b/packages/geom-clip-poly/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/geom-clip-poly", - "version": "1.0.4", + "version": "1.0.5", "description": "2D convex polygon clipping (Sutherland-Hodgeman)", "module": "./index.js", "main": "./lib/index.js", @@ -38,10 +38,10 @@ "typescript": "^3.8.3" }, "dependencies": { - "@thi.ng/geom-isec": "^0.4.6", - "@thi.ng/geom-poly-utils": "^0.1.35", - "@thi.ng/math": "^1.7.3", - "@thi.ng/vectors": "^4.2.1", + "@thi.ng/geom-isec": "^0.4.7", + "@thi.ng/geom-poly-utils": "^0.1.36", + "@thi.ng/math": "^1.7.4", + "@thi.ng/vectors": "^4.2.2", "tslib": "^1.11.1" }, "keywords": [ diff --git a/packages/geom-closest-point/CHANGELOG.md b/packages/geom-closest-point/CHANGELOG.md index be61165aa5..447b5e843a 100644 --- a/packages/geom-closest-point/CHANGELOG.md +++ b/packages/geom-closest-point/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.3.18](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-closest-point@0.3.17...@thi.ng/geom-closest-point@0.3.18) (2020-03-28) + +**Note:** Version bump only for package @thi.ng/geom-closest-point + + + + + # [0.3.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-closest-point@0.2.3...@thi.ng/geom-closest-point@0.3.0) (2019-07-07) ### Bug Fixes diff --git a/packages/geom-closest-point/package.json b/packages/geom-closest-point/package.json index 93d3366b96..b6db16658b 100644 --- a/packages/geom-closest-point/package.json +++ b/packages/geom-closest-point/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/geom-closest-point", - "version": "0.3.17", + "version": "0.3.18", "description": "2D / 3D closest point / proximity helpers", "module": "./index.js", "main": "./lib/index.js", @@ -38,8 +38,8 @@ "typescript": "^3.8.3" }, "dependencies": { - "@thi.ng/math": "^1.7.3", - "@thi.ng/vectors": "^4.2.1", + "@thi.ng/math": "^1.7.4", + "@thi.ng/vectors": "^4.2.2", "tslib": "^1.11.1" }, "keywords": [ diff --git a/packages/geom-hull/CHANGELOG.md b/packages/geom-hull/CHANGELOG.md index 767840ada8..b9522b25b9 100644 --- a/packages/geom-hull/CHANGELOG.md +++ b/packages/geom-hull/CHANGELOG.md @@ -3,3 +3,6 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.0.38](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-hull@0.0.37...@thi.ng/geom-hull@0.0.38) (2020-03-28) + +**Note:** Version bump only for package @thi.ng/geom-hull diff --git a/packages/geom-hull/package.json b/packages/geom-hull/package.json index 3eccbafff0..69f0bc8c4f 100644 --- a/packages/geom-hull/package.json +++ b/packages/geom-hull/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/geom-hull", - "version": "0.0.37", + "version": "0.0.38", "description": "Fast 2D convex hull (Graham Scan)", "module": "./index.js", "main": "./lib/index.js", @@ -38,8 +38,8 @@ "typescript": "^3.8.3" }, "dependencies": { - "@thi.ng/math": "^1.7.3", - "@thi.ng/vectors": "^4.2.1", + "@thi.ng/math": "^1.7.4", + "@thi.ng/vectors": "^4.2.2", "tslib": "^1.11.1" }, "keywords": [ diff --git a/packages/geom-isec/CHANGELOG.md b/packages/geom-isec/CHANGELOG.md index 3e1212a027..9d47a2b108 100644 --- a/packages/geom-isec/CHANGELOG.md +++ b/packages/geom-isec/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.4.7](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-isec@0.4.6...@thi.ng/geom-isec@0.4.7) (2020-03-28) + +**Note:** Version bump only for package @thi.ng/geom-isec + + + + + # [0.4.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-isec@0.3.10...@thi.ng/geom-isec@0.4.0) (2020-01-24) ### Features diff --git a/packages/geom-isec/package.json b/packages/geom-isec/package.json index e8cc9962ab..fa6603eabc 100644 --- a/packages/geom-isec/package.json +++ b/packages/geom-isec/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/geom-isec", - "version": "0.4.6", + "version": "0.4.7", "description": "2D/3D shape intersection checks", "module": "./index.js", "main": "./lib/index.js", @@ -38,11 +38,11 @@ "typescript": "^3.8.3" }, "dependencies": { - "@thi.ng/api": "^6.8.3", - "@thi.ng/geom-api": "^1.0.6", - "@thi.ng/geom-closest-point": "^0.3.17", - "@thi.ng/math": "^1.7.3", - "@thi.ng/vectors": "^4.2.1", + "@thi.ng/api": "^6.9.0", + "@thi.ng/geom-api": "^1.0.7", + "@thi.ng/geom-closest-point": "^0.3.18", + "@thi.ng/math": "^1.7.4", + "@thi.ng/vectors": "^4.2.2", "tslib": "^1.11.1" }, "keywords": [ diff --git a/packages/geom-isoline/CHANGELOG.md b/packages/geom-isoline/CHANGELOG.md index a8d7c3d870..382066e84c 100644 --- a/packages/geom-isoline/CHANGELOG.md +++ b/packages/geom-isoline/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.1.36](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-isoline@0.1.35...@thi.ng/geom-isoline@0.1.36) (2020-03-28) + +**Note:** Version bump only for package @thi.ng/geom-isoline + + + + + ## [0.1.25](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-isoline@0.1.24...@thi.ng/geom-isoline@0.1.25) (2019-08-21) ### Performance Improvements diff --git a/packages/geom-isoline/package.json b/packages/geom-isoline/package.json index ebcceeea0a..1ea3e65ddf 100644 --- a/packages/geom-isoline/package.json +++ b/packages/geom-isoline/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/geom-isoline", - "version": "0.1.35", + "version": "0.1.36", "description": "Fast 2D contour line extraction / generation", "module": "./index.js", "main": "./lib/index.js", @@ -38,8 +38,8 @@ "typescript": "^3.8.3" }, "dependencies": { - "@thi.ng/transducers": "^6.4.1", - "@thi.ng/vectors": "^4.2.1", + "@thi.ng/transducers": "^6.4.2", + "@thi.ng/vectors": "^4.2.2", "tslib": "^1.11.1" }, "keywords": [ diff --git a/packages/geom-poly-utils/CHANGELOG.md b/packages/geom-poly-utils/CHANGELOG.md index f3ae25ae71..6c5f30cbc8 100644 --- a/packages/geom-poly-utils/CHANGELOG.md +++ b/packages/geom-poly-utils/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.1.36](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-poly-utils@0.1.35...@thi.ng/geom-poly-utils@0.1.36) (2020-03-28) + +**Note:** Version bump only for package @thi.ng/geom-poly-utils + + + + + ## [0.1.18](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-poly-utils@0.1.17...@thi.ng/geom-poly-utils@0.1.18) (2019-07-07) ### Bug Fixes diff --git a/packages/geom-poly-utils/package.json b/packages/geom-poly-utils/package.json index faa0e88f19..c937eac4bc 100644 --- a/packages/geom-poly-utils/package.json +++ b/packages/geom-poly-utils/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/geom-poly-utils", - "version": "0.1.35", + "version": "0.1.36", "description": "2D polygon / triangle analysis & processing utilities", "module": "./index.js", "main": "./lib/index.js", @@ -38,10 +38,10 @@ "typescript": "^3.8.3" }, "dependencies": { - "@thi.ng/errors": "^1.2.7", - "@thi.ng/geom-api": "^1.0.6", - "@thi.ng/math": "^1.7.3", - "@thi.ng/vectors": "^4.2.1", + "@thi.ng/errors": "^1.2.8", + "@thi.ng/geom-api": "^1.0.7", + "@thi.ng/math": "^1.7.4", + "@thi.ng/vectors": "^4.2.2", "tslib": "^1.11.1" }, "keywords": [ diff --git a/packages/geom-resample/CHANGELOG.md b/packages/geom-resample/CHANGELOG.md index 57290c39f8..34f46e3813 100644 --- a/packages/geom-resample/CHANGELOG.md +++ b/packages/geom-resample/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.2.18](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-resample@0.2.17...@thi.ng/geom-resample@0.2.18) (2020-03-28) + +**Note:** Version bump only for package @thi.ng/geom-resample + + + + + # [0.2.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-resample@0.1.17...@thi.ng/geom-resample@0.2.0) (2019-07-07) ### Features diff --git a/packages/geom-resample/package.json b/packages/geom-resample/package.json index f3c2f1fd2a..500baba1b2 100644 --- a/packages/geom-resample/package.json +++ b/packages/geom-resample/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/geom-resample", - "version": "0.2.17", + "version": "0.2.18", "description": "Customizable nD polyline interpolation, re-sampling, splitting & nearest point computation", "module": "./index.js", "main": "./lib/index.js", @@ -38,11 +38,11 @@ "typescript": "^3.8.3" }, "dependencies": { - "@thi.ng/checks": "^2.5.4", - "@thi.ng/geom-api": "^1.0.6", - "@thi.ng/geom-closest-point": "^0.3.17", - "@thi.ng/math": "^1.7.3", - "@thi.ng/vectors": "^4.2.1", + "@thi.ng/checks": "^2.6.0", + "@thi.ng/geom-api": "^1.0.7", + "@thi.ng/geom-closest-point": "^0.3.18", + "@thi.ng/math": "^1.7.4", + "@thi.ng/vectors": "^4.2.2", "tslib": "^1.11.1" }, "keywords": [ diff --git a/packages/geom-splines/CHANGELOG.md b/packages/geom-splines/CHANGELOG.md index e85463a01f..4a59966690 100644 --- a/packages/geom-splines/CHANGELOG.md +++ b/packages/geom-splines/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.5.5](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-splines@0.5.4...@thi.ng/geom-splines@0.5.5) (2020-03-28) + +**Note:** Version bump only for package @thi.ng/geom-splines + + + + + # [0.5.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-splines@0.4.5...@thi.ng/geom-splines@0.5.0) (2020-02-25) diff --git a/packages/geom-splines/package.json b/packages/geom-splines/package.json index e82c73c2f3..f9f5886533 100644 --- a/packages/geom-splines/package.json +++ b/packages/geom-splines/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/geom-splines", - "version": "0.5.4", + "version": "0.5.5", "description": "nD cubic & quadratic curve analysis, conversion, interpolation, splitting", "module": "./index.js", "main": "./lib/index.js", @@ -38,12 +38,12 @@ "typescript": "^3.8.3" }, "dependencies": { - "@thi.ng/checks": "^2.5.4", - "@thi.ng/geom-api": "^1.0.6", - "@thi.ng/geom-arc": "^0.2.17", - "@thi.ng/geom-resample": "^0.2.17", - "@thi.ng/math": "^1.7.3", - "@thi.ng/vectors": "^4.2.1", + "@thi.ng/checks": "^2.6.0", + "@thi.ng/geom-api": "^1.0.7", + "@thi.ng/geom-arc": "^0.2.18", + "@thi.ng/geom-resample": "^0.2.18", + "@thi.ng/math": "^1.7.4", + "@thi.ng/vectors": "^4.2.2", "tslib": "^1.11.1" }, "keywords": [ diff --git a/packages/geom-subdiv-curve/CHANGELOG.md b/packages/geom-subdiv-curve/CHANGELOG.md index d776894b65..ae2a0404ed 100644 --- a/packages/geom-subdiv-curve/CHANGELOG.md +++ b/packages/geom-subdiv-curve/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.1.35](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-subdiv-curve@0.1.34...@thi.ng/geom-subdiv-curve@0.1.35) (2020-03-28) + +**Note:** Version bump only for package @thi.ng/geom-subdiv-curve + + + + + # 0.1.0 (2019-02-05) ### Features diff --git a/packages/geom-subdiv-curve/package.json b/packages/geom-subdiv-curve/package.json index 85b0ee9dd3..c08bcb793d 100644 --- a/packages/geom-subdiv-curve/package.json +++ b/packages/geom-subdiv-curve/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/geom-subdiv-curve", - "version": "0.1.34", + "version": "0.1.35", "description": "Freely customizable, iterative nD subdivision curves for open / closed geometries", "module": "./index.js", "main": "./lib/index.js", @@ -38,9 +38,9 @@ "typescript": "^3.8.3" }, "dependencies": { - "@thi.ng/geom-api": "^1.0.6", - "@thi.ng/transducers": "^6.4.1", - "@thi.ng/vectors": "^4.2.1", + "@thi.ng/geom-api": "^1.0.7", + "@thi.ng/transducers": "^6.4.2", + "@thi.ng/vectors": "^4.2.2", "tslib": "^1.11.1" }, "keywords": [ diff --git a/packages/geom-tessellate/CHANGELOG.md b/packages/geom-tessellate/CHANGELOG.md index fbd9865da0..8899623d43 100644 --- a/packages/geom-tessellate/CHANGELOG.md +++ b/packages/geom-tessellate/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.2.18](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-tessellate@0.2.17...@thi.ng/geom-tessellate@0.2.18) (2020-03-28) + +**Note:** Version bump only for package @thi.ng/geom-tessellate + + + + + # [0.2.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-tessellate@0.1.17...@thi.ng/geom-tessellate@0.2.0) (2019-07-07) ### Features diff --git a/packages/geom-tessellate/package.json b/packages/geom-tessellate/package.json index 528555cbab..caf95388aa 100644 --- a/packages/geom-tessellate/package.json +++ b/packages/geom-tessellate/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/geom-tessellate", - "version": "0.2.17", + "version": "0.2.18", "description": "2D/3D convex polygon tessellators", "module": "./index.js", "main": "./lib/index.js", @@ -38,12 +38,12 @@ "typescript": "^3.8.3" }, "dependencies": { - "@thi.ng/checks": "^2.5.4", - "@thi.ng/geom-api": "^1.0.6", - "@thi.ng/geom-isec": "^0.4.6", - "@thi.ng/geom-poly-utils": "^0.1.35", - "@thi.ng/transducers": "^6.4.1", - "@thi.ng/vectors": "^4.2.1", + "@thi.ng/checks": "^2.6.0", + "@thi.ng/geom-api": "^1.0.7", + "@thi.ng/geom-isec": "^0.4.7", + "@thi.ng/geom-poly-utils": "^0.1.36", + "@thi.ng/transducers": "^6.4.2", + "@thi.ng/vectors": "^4.2.2", "tslib": "^1.11.1" }, "keywords": [ diff --git a/packages/geom-voronoi/CHANGELOG.md b/packages/geom-voronoi/CHANGELOG.md index 9ead259193..d9bff72352 100644 --- a/packages/geom-voronoi/CHANGELOG.md +++ b/packages/geom-voronoi/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.1.36](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-voronoi@0.1.35...@thi.ng/geom-voronoi@0.1.36) (2020-03-28) + +**Note:** Version bump only for package @thi.ng/geom-voronoi + + + + + # 0.1.0 (2019-02-05) ### Features diff --git a/packages/geom-voronoi/package.json b/packages/geom-voronoi/package.json index 98e437a4a1..02aaf5eb58 100644 --- a/packages/geom-voronoi/package.json +++ b/packages/geom-voronoi/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/geom-voronoi", - "version": "0.1.35", + "version": "0.1.36", "description": "Fast, incremental 2D Delaunay & Voronoi mesh implementation", "module": "./index.js", "main": "./lib/index.js", @@ -38,15 +38,15 @@ "typescript": "^3.8.3" }, "dependencies": { - "@thi.ng/api": "^6.8.3", - "@thi.ng/checks": "^2.5.4", - "@thi.ng/geom-clip-line": "^1.0.4", - "@thi.ng/geom-clip-poly": "^1.0.4", - "@thi.ng/geom-isec": "^0.4.6", - "@thi.ng/geom-poly-utils": "^0.1.35", - "@thi.ng/math": "^1.7.3", - "@thi.ng/quad-edge": "^0.2.9", - "@thi.ng/vectors": "^4.2.1", + "@thi.ng/api": "^6.9.0", + "@thi.ng/checks": "^2.6.0", + "@thi.ng/geom-clip-line": "^1.0.5", + "@thi.ng/geom-clip-poly": "^1.0.5", + "@thi.ng/geom-isec": "^0.4.7", + "@thi.ng/geom-poly-utils": "^0.1.36", + "@thi.ng/math": "^1.7.4", + "@thi.ng/quad-edge": "^0.2.10", + "@thi.ng/vectors": "^4.2.2", "tslib": "^1.11.1" }, "keywords": [ diff --git a/packages/geom/CHANGELOG.md b/packages/geom/CHANGELOG.md index 6c04f97e00..67c7d392d2 100644 --- a/packages/geom/CHANGELOG.md +++ b/packages/geom/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.8.5](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom@1.8.4...@thi.ng/geom@1.8.5) (2020-03-28) + +**Note:** Version bump only for package @thi.ng/geom + + + + + # [1.8.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom@1.7.10...@thi.ng/geom@1.8.0) (2020-02-25) diff --git a/packages/geom/package.json b/packages/geom/package.json index e7228854f7..f6a2732e28 100644 --- a/packages/geom/package.json +++ b/packages/geom/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/geom", - "version": "1.8.4", + "version": "1.8.5", "description": "Functional, polymorphic API for 2D geometry types & SVG generation", "module": "./index.js", "main": "./lib/index.js", @@ -38,32 +38,32 @@ "typescript": "^3.8.3" }, "dependencies": { - "@thi.ng/api": "^6.8.3", - "@thi.ng/arrays": "^0.5.6", - "@thi.ng/checks": "^2.5.4", - "@thi.ng/compose": "^1.3.12", - "@thi.ng/defmulti": "^1.2.7", - "@thi.ng/equiv": "^1.0.16", - "@thi.ng/errors": "^1.2.7", - "@thi.ng/geom-api": "^1.0.6", - "@thi.ng/geom-arc": "^0.2.17", - "@thi.ng/geom-clip-line": "^1.0.4", - "@thi.ng/geom-clip-poly": "^1.0.4", - "@thi.ng/geom-closest-point": "^0.3.17", - "@thi.ng/geom-hull": "^0.0.37", - "@thi.ng/geom-isec": "^0.4.6", - "@thi.ng/geom-poly-utils": "^0.1.35", - "@thi.ng/geom-resample": "^0.2.17", - "@thi.ng/geom-splines": "^0.5.4", - "@thi.ng/geom-subdiv-curve": "^0.1.34", - "@thi.ng/geom-tessellate": "^0.2.17", - "@thi.ng/hiccup": "^3.2.13", - "@thi.ng/hiccup-svg": "^3.4.6", - "@thi.ng/math": "^1.7.3", - "@thi.ng/matrices": "^0.6.4", - "@thi.ng/random": "^1.4.1", - "@thi.ng/transducers": "^6.4.1", - "@thi.ng/vectors": "^4.2.1", + "@thi.ng/api": "^6.9.0", + "@thi.ng/arrays": "^0.6.0", + "@thi.ng/checks": "^2.6.0", + "@thi.ng/compose": "^1.4.0", + "@thi.ng/defmulti": "^1.2.8", + "@thi.ng/equiv": "^1.0.17", + "@thi.ng/errors": "^1.2.8", + "@thi.ng/geom-api": "^1.0.7", + "@thi.ng/geom-arc": "^0.2.18", + "@thi.ng/geom-clip-line": "^1.0.5", + "@thi.ng/geom-clip-poly": "^1.0.5", + "@thi.ng/geom-closest-point": "^0.3.18", + "@thi.ng/geom-hull": "^0.0.38", + "@thi.ng/geom-isec": "^0.4.7", + "@thi.ng/geom-poly-utils": "^0.1.36", + "@thi.ng/geom-resample": "^0.2.18", + "@thi.ng/geom-splines": "^0.5.5", + "@thi.ng/geom-subdiv-curve": "^0.1.35", + "@thi.ng/geom-tessellate": "^0.2.18", + "@thi.ng/hiccup": "^3.2.14", + "@thi.ng/hiccup-svg": "^3.4.7", + "@thi.ng/math": "^1.7.4", + "@thi.ng/matrices": "^0.6.5", + "@thi.ng/random": "^1.4.2", + "@thi.ng/transducers": "^6.4.2", + "@thi.ng/vectors": "^4.2.2", "tslib": "^1.11.1" }, "keywords": [ diff --git a/packages/gp/CHANGELOG.md b/packages/gp/CHANGELOG.md index d3c7964d87..074153e42a 100644 --- a/packages/gp/CHANGELOG.md +++ b/packages/gp/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.1.8](https://github.com/thi-ng/umbrella/compare/@thi.ng/gp@0.1.7...@thi.ng/gp@0.1.8) (2020-03-28) + +**Note:** Version bump only for package @thi.ng/gp + + + + + # 0.1.0 (2019-11-30) ### Bug Fixes diff --git a/packages/gp/package.json b/packages/gp/package.json index 34737c8db6..7721be6fbe 100644 --- a/packages/gp/package.json +++ b/packages/gp/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/gp", - "version": "0.1.7", + "version": "0.1.8", "description": "Genetic programming helpers & strategies (tree based & multi-expression programming)", "module": "./index.js", "main": "./lib/index.js", @@ -38,11 +38,11 @@ "typescript": "^3.8.3" }, "dependencies": { - "@thi.ng/api": "^6.8.3", - "@thi.ng/math": "^1.7.3", - "@thi.ng/random": "^1.4.1", - "@thi.ng/transducers": "^6.4.1", - "@thi.ng/zipper": "^0.1.7", + "@thi.ng/api": "^6.9.0", + "@thi.ng/math": "^1.7.4", + "@thi.ng/random": "^1.4.2", + "@thi.ng/transducers": "^6.4.2", + "@thi.ng/zipper": "^0.1.8", "tslib": "^1.11.1" }, "keywords": [ diff --git a/packages/grid-iterators/CHANGELOG.md b/packages/grid-iterators/CHANGELOG.md index e3f4cf11a4..a24152e90f 100644 --- a/packages/grid-iterators/CHANGELOG.md +++ b/packages/grid-iterators/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.3.5](https://github.com/thi-ng/umbrella/compare/@thi.ng/grid-iterators@0.3.4...@thi.ng/grid-iterators@0.3.5) (2020-03-28) + +**Note:** Version bump only for package @thi.ng/grid-iterators + + + + + # [0.3.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/grid-iterators@0.2.3...@thi.ng/grid-iterators@0.3.0) (2020-02-25) diff --git a/packages/grid-iterators/package.json b/packages/grid-iterators/package.json index ffa1f07388..ac4f850756 100644 --- a/packages/grid-iterators/package.json +++ b/packages/grid-iterators/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/grid-iterators", - "version": "0.3.4", + "version": "0.3.5", "description": "2D grid iterators w/ multiple orderings", "module": "./index.js", "main": "./lib/index.js", @@ -39,11 +39,11 @@ "typescript": "^3.8.3" }, "dependencies": { - "@thi.ng/arrays": "^0.5.6", - "@thi.ng/binary": "^2.0.0", - "@thi.ng/morton": "^2.0.5", - "@thi.ng/random": "^1.4.1", - "@thi.ng/transducers": "^6.4.1", + "@thi.ng/arrays": "^0.6.0", + "@thi.ng/binary": "^2.0.1", + "@thi.ng/morton": "^2.0.6", + "@thi.ng/random": "^1.4.2", + "@thi.ng/transducers": "^6.4.2", "tslib": "^1.11.1" }, "keywords": [ diff --git a/packages/hdom-canvas/CHANGELOG.md b/packages/hdom-canvas/CHANGELOG.md index ac7777a93b..31d4446dab 100644 --- a/packages/hdom-canvas/CHANGELOG.md +++ b/packages/hdom-canvas/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [2.4.9](https://github.com/thi-ng/umbrella/compare/@thi.ng/hdom-canvas@2.4.8...@thi.ng/hdom-canvas@2.4.9) (2020-03-28) + +**Note:** Version bump only for package @thi.ng/hdom-canvas + + + + + ## [2.4.2](https://github.com/thi-ng/umbrella/compare/@thi.ng/hdom-canvas@2.4.1...@thi.ng/hdom-canvas@2.4.2) (2020-01-24) ### Bug Fixes diff --git a/packages/hdom-canvas/package.json b/packages/hdom-canvas/package.json index a28a173cc0..1217d78dde 100644 --- a/packages/hdom-canvas/package.json +++ b/packages/hdom-canvas/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/hdom-canvas", - "version": "2.4.8", + "version": "2.4.9", "description": "Declarative canvas scenegraph & visualization for @thi.ng/hdom", "module": "./index.js", "main": "./lib/index.js", @@ -38,13 +38,13 @@ "typescript": "^3.8.3" }, "dependencies": { - "@thi.ng/api": "^6.8.3", - "@thi.ng/checks": "^2.5.4", - "@thi.ng/color": "^1.1.10", - "@thi.ng/diff": "^3.2.12", - "@thi.ng/hdom": "^8.0.14", - "@thi.ng/math": "^1.7.3", - "@thi.ng/vectors": "^4.2.1", + "@thi.ng/api": "^6.9.0", + "@thi.ng/checks": "^2.6.0", + "@thi.ng/color": "^1.1.11", + "@thi.ng/diff": "^3.2.13", + "@thi.ng/hdom": "^8.0.15", + "@thi.ng/math": "^1.7.4", + "@thi.ng/vectors": "^4.2.2", "tslib": "^1.11.1" }, "keywords": [ diff --git a/packages/hdom-components/CHANGELOG.md b/packages/hdom-components/CHANGELOG.md index 4aa4e00f70..caa13ca808 100644 --- a/packages/hdom-components/CHANGELOG.md +++ b/packages/hdom-components/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [3.2.1](https://github.com/thi-ng/umbrella/compare/@thi.ng/hdom-components@3.2.0...@thi.ng/hdom-components@3.2.1) (2020-03-28) + +**Note:** Version bump only for package @thi.ng/hdom-components + + + + + # [3.2.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/hdom-components@3.1.13...@thi.ng/hdom-components@3.2.0) (2020-03-06) diff --git a/packages/hdom-components/package.json b/packages/hdom-components/package.json index 5994115c21..3762b769f4 100644 --- a/packages/hdom-components/package.json +++ b/packages/hdom-components/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/hdom-components", - "version": "3.2.0", + "version": "3.2.1", "description": "Raw, skinnable UI & SVG components for @thi.ng/hdom", "module": "./index.js", "main": "./lib/index.js", @@ -38,11 +38,11 @@ "typescript": "^3.8.3" }, "dependencies": { - "@thi.ng/api": "^6.8.3", - "@thi.ng/checks": "^2.5.4", - "@thi.ng/math": "^1.7.3", - "@thi.ng/transducers": "^6.4.1", - "@thi.ng/transducers-stats": "^1.1.14", + "@thi.ng/api": "^6.9.0", + "@thi.ng/checks": "^2.6.0", + "@thi.ng/math": "^1.7.4", + "@thi.ng/transducers": "^6.4.2", + "@thi.ng/transducers-stats": "^1.1.15", "tslib": "^1.11.1" }, "keywords": [ diff --git a/packages/hdom-mock/CHANGELOG.md b/packages/hdom-mock/CHANGELOG.md index 1960053efb..0775e04bcf 100644 --- a/packages/hdom-mock/CHANGELOG.md +++ b/packages/hdom-mock/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.1.15](https://github.com/thi-ng/umbrella/compare/@thi.ng/hdom-mock@1.1.14...@thi.ng/hdom-mock@1.1.15) (2020-03-28) + +**Note:** Version bump only for package @thi.ng/hdom-mock + + + + + # [1.1.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/hdom-mock@1.0.16...@thi.ng/hdom-mock@1.1.0) (2019-07-07) ### Features diff --git a/packages/hdom-mock/package.json b/packages/hdom-mock/package.json index 351b1bf021..64e7cbd109 100644 --- a/packages/hdom-mock/package.json +++ b/packages/hdom-mock/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/hdom-mock", - "version": "1.1.14", + "version": "1.1.15", "description": "Mock base implementation for @thi.ng/hdom API", "module": "./index.js", "main": "./lib/index.js", @@ -38,9 +38,9 @@ "typescript": "^3.8.3" }, "dependencies": { - "@thi.ng/api": "^6.8.3", - "@thi.ng/checks": "^2.5.4", - "@thi.ng/hdom": "^8.0.14", + "@thi.ng/api": "^6.9.0", + "@thi.ng/checks": "^2.6.0", + "@thi.ng/hdom": "^8.0.15", "tslib": "^1.11.1" }, "keywords": [ diff --git a/packages/hdom/CHANGELOG.md b/packages/hdom/CHANGELOG.md index 583ad09940..e69a3a2e1f 100644 --- a/packages/hdom/CHANGELOG.md +++ b/packages/hdom/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [8.0.15](https://github.com/thi-ng/umbrella/compare/@thi.ng/hdom@8.0.14...@thi.ng/hdom@8.0.15) (2020-03-28) + +**Note:** Version bump only for package @thi.ng/hdom + + + + + ## [8.0.7](https://github.com/thi-ng/umbrella/compare/@thi.ng/hdom@8.0.6...@thi.ng/hdom@8.0.7) (2019-11-09) ### Bug Fixes diff --git a/packages/hdom/package.json b/packages/hdom/package.json index fe00d99f94..d970555468 100644 --- a/packages/hdom/package.json +++ b/packages/hdom/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/hdom", - "version": "8.0.14", + "version": "8.0.15", "description": "Lightweight vanilla ES6 UI component trees with customizable branch-local behaviors", "module": "./index.js", "main": "./lib/index.js", @@ -29,7 +29,7 @@ "devDependencies": { "@istanbuljs/nyc-config-typescript": "^1.0.1", "@microsoft/api-extractor": "^7.7.8", - "@thi.ng/atom": "^3.1.8", + "@thi.ng/atom": "^4.0.0", "@types/mocha": "^7.0.1", "@types/node": "^13.7.4", "mocha": "^7.0.1", @@ -39,12 +39,12 @@ "typescript": "^3.8.3" }, "dependencies": { - "@thi.ng/api": "^6.8.3", - "@thi.ng/checks": "^2.5.4", - "@thi.ng/diff": "^3.2.12", - "@thi.ng/equiv": "^1.0.16", - "@thi.ng/errors": "^1.2.7", - "@thi.ng/hiccup": "^3.2.13", + "@thi.ng/api": "^6.9.0", + "@thi.ng/checks": "^2.6.0", + "@thi.ng/diff": "^3.2.13", + "@thi.ng/equiv": "^1.0.17", + "@thi.ng/errors": "^1.2.8", + "@thi.ng/hiccup": "^3.2.14", "tslib": "^1.11.1" }, "keywords": [ diff --git a/packages/heaps/CHANGELOG.md b/packages/heaps/CHANGELOG.md index ce0271e729..6b8b0a0189 100644 --- a/packages/heaps/CHANGELOG.md +++ b/packages/heaps/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.7](https://github.com/thi-ng/umbrella/compare/@thi.ng/heaps@1.2.6...@thi.ng/heaps@1.2.7) (2020-03-28) + +**Note:** Version bump only for package @thi.ng/heaps + + + + + # [1.2.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/heaps@1.1.6...@thi.ng/heaps@1.2.0) (2020-01-24) ### Features diff --git a/packages/heaps/package.json b/packages/heaps/package.json index 1cb559d78b..44072bfdcf 100644 --- a/packages/heaps/package.json +++ b/packages/heaps/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/heaps", - "version": "1.2.6", + "version": "1.2.7", "description": "Various heap implementations for arbitrary values and with customizable ordering", "module": "./index.js", "main": "./lib/index.js", @@ -39,8 +39,8 @@ "typescript": "^3.8.3" }, "dependencies": { - "@thi.ng/api": "^6.8.3", - "@thi.ng/compare": "^1.2.1", + "@thi.ng/api": "^6.9.0", + "@thi.ng/compare": "^1.2.2", "tslib": "^1.11.1" }, "keywords": [ diff --git a/packages/hiccup-carbon-icons/CHANGELOG.md b/packages/hiccup-carbon-icons/CHANGELOG.md index 02598f306e..3e834b968f 100644 --- a/packages/hiccup-carbon-icons/CHANGELOG.md +++ b/packages/hiccup-carbon-icons/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.0.29](https://github.com/thi-ng/umbrella/compare/@thi.ng/hiccup-carbon-icons@1.0.28...@thi.ng/hiccup-carbon-icons@1.0.29) (2020-03-28) + +**Note:** Version bump only for package @thi.ng/hiccup-carbon-icons + + + + + # [1.0.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/hiccup-carbon-icons@0.1.2...@thi.ng/hiccup-carbon-icons@1.0.0) (2019-01-21) ### Build System diff --git a/packages/hiccup-carbon-icons/package.json b/packages/hiccup-carbon-icons/package.json index 4888f26a11..1a63e13165 100644 --- a/packages/hiccup-carbon-icons/package.json +++ b/packages/hiccup-carbon-icons/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/hiccup-carbon-icons", - "version": "1.0.28", + "version": "1.0.29", "description": "Full set of IBM's Carbon icons in hiccup format", "module": "./index.js", "main": "./lib/index.js", @@ -29,7 +29,7 @@ "devDependencies": { "@istanbuljs/nyc-config-typescript": "^1.0.1", "@microsoft/api-extractor": "^7.7.8", - "@thi.ng/hiccup": "^3.2.13", + "@thi.ng/hiccup": "^3.2.14", "@types/mocha": "^7.0.1", "@types/node": "^13.7.4", "mocha": "^7.0.1", diff --git a/packages/hiccup-css/CHANGELOG.md b/packages/hiccup-css/CHANGELOG.md index da135b5162..86967c8620 100644 --- a/packages/hiccup-css/CHANGELOG.md +++ b/packages/hiccup-css/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.1.15](https://github.com/thi-ng/umbrella/compare/@thi.ng/hiccup-css@1.1.14...@thi.ng/hiccup-css@1.1.15) (2020-03-28) + +**Note:** Version bump only for package @thi.ng/hiccup-css + + + + + # [1.1.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/hiccup-css@1.0.19...@thi.ng/hiccup-css@1.1.0) (2019-07-07) ### Features diff --git a/packages/hiccup-css/package.json b/packages/hiccup-css/package.json index c7b498654c..56af074c8d 100644 --- a/packages/hiccup-css/package.json +++ b/packages/hiccup-css/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/hiccup-css", - "version": "1.1.14", + "version": "1.1.15", "description": "CSS from nested JS data structures", "module": "./index.js", "main": "./lib/index.js", @@ -38,10 +38,10 @@ "typescript": "^3.8.3" }, "dependencies": { - "@thi.ng/api": "^6.8.3", - "@thi.ng/checks": "^2.5.4", - "@thi.ng/errors": "^1.2.7", - "@thi.ng/transducers": "^6.4.1", + "@thi.ng/api": "^6.9.0", + "@thi.ng/checks": "^2.6.0", + "@thi.ng/errors": "^1.2.8", + "@thi.ng/transducers": "^6.4.2", "tslib": "^1.11.1" }, "keywords": [ diff --git a/packages/hiccup-markdown/CHANGELOG.md b/packages/hiccup-markdown/CHANGELOG.md index bafa3cd272..03e7165551 100644 --- a/packages/hiccup-markdown/CHANGELOG.md +++ b/packages/hiccup-markdown/CHANGELOG.md @@ -3,6 +3,18 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [1.2.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/hiccup-markdown@1.1.14...@thi.ng/hiccup-markdown@1.2.0) (2020-03-28) + + +### Features + +* **hiccup-markdown:** add table caption support ([4b72b92](https://github.com/thi-ng/umbrella/commit/4b72b92da8c832e2593a56554243e477c6bb0741)) +* **hiccup-markdown:** add table serializer & test, update deps ([7cecf24](https://github.com/thi-ng/umbrella/commit/7cecf2440754a25b0b1a4ca967f49171fe83fed7)) + + + + + ## [1.1.6](https://github.com/thi-ng/umbrella/compare/@thi.ng/hiccup-markdown@1.1.5...@thi.ng/hiccup-markdown@1.1.6) (2019-11-09) ### Bug Fixes diff --git a/packages/hiccup-markdown/package.json b/packages/hiccup-markdown/package.json index c3d6fb9a2c..b3addb98fe 100644 --- a/packages/hiccup-markdown/package.json +++ b/packages/hiccup-markdown/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/hiccup-markdown", - "version": "1.1.14", + "version": "1.2.0", "description": "Markdown parser & serializer from/to Hiccup format", "module": "./index.js", "main": "./lib/index.js", @@ -38,15 +38,15 @@ "typescript": "^3.8.3" }, "dependencies": { - "@thi.ng/arrays": "^0.5.6", - "@thi.ng/checks": "^2.5.4", - "@thi.ng/defmulti": "^1.2.7", - "@thi.ng/errors": "^1.2.7", - "@thi.ng/fsm": "^2.4.0", - "@thi.ng/hiccup": "^3.2.13", - "@thi.ng/strings": "^1.7.0", - "@thi.ng/text-canvas": "^0.2.1", - "@thi.ng/transducers": "^6.4.1", + "@thi.ng/arrays": "^0.6.0", + "@thi.ng/checks": "^2.6.0", + "@thi.ng/defmulti": "^1.2.8", + "@thi.ng/errors": "^1.2.8", + "@thi.ng/fsm": "^2.4.1", + "@thi.ng/hiccup": "^3.2.14", + "@thi.ng/strings": "^1.8.0", + "@thi.ng/text-canvas": "^0.2.2", + "@thi.ng/transducers": "^6.4.2", "tslib": "^1.11.1" }, "keywords": [ diff --git a/packages/hiccup-svg/CHANGELOG.md b/packages/hiccup-svg/CHANGELOG.md index c86c4fe6c1..e6cf9531b2 100644 --- a/packages/hiccup-svg/CHANGELOG.md +++ b/packages/hiccup-svg/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [3.4.7](https://github.com/thi-ng/umbrella/compare/@thi.ng/hiccup-svg@3.4.6...@thi.ng/hiccup-svg@3.4.7) (2020-03-28) + +**Note:** Version bump only for package @thi.ng/hiccup-svg + + + + + # [3.4.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/hiccup-svg@3.3.3...@thi.ng/hiccup-svg@3.4.0) (2020-01-24) ### Features diff --git a/packages/hiccup-svg/package.json b/packages/hiccup-svg/package.json index 04b495084c..0757dee534 100644 --- a/packages/hiccup-svg/package.json +++ b/packages/hiccup-svg/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/hiccup-svg", - "version": "3.4.6", + "version": "3.4.7", "description": "SVG element functions for @thi.ng/hiccup & @thi.ng/hdom", "module": "./index.js", "main": "./lib/index.js", @@ -38,9 +38,9 @@ "typescript": "^3.8.3" }, "dependencies": { - "@thi.ng/checks": "^2.5.4", - "@thi.ng/color": "^1.1.10", - "@thi.ng/hiccup": "^3.2.13", + "@thi.ng/checks": "^2.6.0", + "@thi.ng/color": "^1.1.11", + "@thi.ng/hiccup": "^3.2.14", "tslib": "^1.11.1" }, "keywords": [ diff --git a/packages/hiccup/CHANGELOG.md b/packages/hiccup/CHANGELOG.md index 5d76bc3876..a0f8dc3454 100644 --- a/packages/hiccup/CHANGELOG.md +++ b/packages/hiccup/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [3.2.14](https://github.com/thi-ng/umbrella/compare/@thi.ng/hiccup@3.2.13...@thi.ng/hiccup@3.2.14) (2020-03-28) + +**Note:** Version bump only for package @thi.ng/hiccup + + + + + ## [3.2.4](https://github.com/thi-ng/umbrella/compare/@thi.ng/hiccup@3.2.3...@thi.ng/hiccup@3.2.4) (2019-08-21) ### Bug Fixes diff --git a/packages/hiccup/package.json b/packages/hiccup/package.json index eb471bedb9..1ffd1b793c 100644 --- a/packages/hiccup/package.json +++ b/packages/hiccup/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/hiccup", - "version": "3.2.13", + "version": "3.2.14", "description": "HTML/SVG/XML serialization of nested data structures, iterables & closures", "module": "./index.js", "main": "./lib/index.js", @@ -29,7 +29,7 @@ "devDependencies": { "@istanbuljs/nyc-config-typescript": "^1.0.1", "@microsoft/api-extractor": "^7.7.8", - "@thi.ng/atom": "^3.1.8", + "@thi.ng/atom": "^4.0.0", "@types/mocha": "^7.0.1", "@types/node": "^13.7.4", "mocha": "^7.0.1", @@ -39,8 +39,8 @@ "typescript": "^3.8.3" }, "dependencies": { - "@thi.ng/checks": "^2.5.4", - "@thi.ng/errors": "^1.2.7", + "@thi.ng/checks": "^2.6.0", + "@thi.ng/errors": "^1.2.8", "tslib": "^1.11.1" }, "keywords": [ diff --git a/packages/idgen/CHANGELOG.md b/packages/idgen/CHANGELOG.md index cc10273c49..88416b8c06 100644 --- a/packages/idgen/CHANGELOG.md +++ b/packages/idgen/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.2.6](https://github.com/thi-ng/umbrella/compare/@thi.ng/idgen@0.2.5...@thi.ng/idgen@0.2.6) (2020-03-28) + +**Note:** Version bump only for package @thi.ng/idgen + + + + + # [0.2.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/idgen@0.1.0...@thi.ng/idgen@0.2.0) (2020-01-24) ### Features diff --git a/packages/idgen/package.json b/packages/idgen/package.json index caaca4c083..f7f6515c7f 100644 --- a/packages/idgen/package.json +++ b/packages/idgen/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/idgen", - "version": "0.2.5", + "version": "0.2.6", "description": "Generator of opaque numeric identifiers with optional support for ID versioning and efficient re-use", "module": "./index.js", "main": "./lib/index.js", @@ -38,7 +38,7 @@ "typescript": "^3.8.3" }, "dependencies": { - "@thi.ng/api": "^6.8.3", + "@thi.ng/api": "^6.9.0", "tslib": "^1.11.1" }, "keywords": [ diff --git a/packages/iges/CHANGELOG.md b/packages/iges/CHANGELOG.md index e8c3a801bb..c47736cbff 100644 --- a/packages/iges/CHANGELOG.md +++ b/packages/iges/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.1.20](https://github.com/thi-ng/umbrella/compare/@thi.ng/iges@1.1.19...@thi.ng/iges@1.1.20) (2020-03-28) + +**Note:** Version bump only for package @thi.ng/iges + + + + + # [1.1.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/iges@1.0.15...@thi.ng/iges@1.1.0) (2019-04-15) ### Features diff --git a/packages/iges/package.json b/packages/iges/package.json index c60ad68095..fa5ff5fb26 100644 --- a/packages/iges/package.json +++ b/packages/iges/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/iges", - "version": "1.1.19", + "version": "1.1.20", "description": "IGES 5.3 serializer for (currently only) polygonal geometry, both open & closed", "module": "./index.js", "main": "./lib/index.js", @@ -38,12 +38,12 @@ "typescript": "^3.8.3" }, "dependencies": { - "@thi.ng/api": "^6.8.3", - "@thi.ng/checks": "^2.5.4", - "@thi.ng/defmulti": "^1.2.7", - "@thi.ng/strings": "^1.7.0", - "@thi.ng/transducers": "^6.4.1", - "@thi.ng/vectors": "^4.2.1", + "@thi.ng/api": "^6.9.0", + "@thi.ng/checks": "^2.6.0", + "@thi.ng/defmulti": "^1.2.8", + "@thi.ng/strings": "^1.8.0", + "@thi.ng/transducers": "^6.4.2", + "@thi.ng/vectors": "^4.2.2", "tslib": "^1.11.1" }, "keywords": [ diff --git a/packages/imgui/CHANGELOG.md b/packages/imgui/CHANGELOG.md index 38a6e00560..70497659ed 100644 --- a/packages/imgui/CHANGELOG.md +++ b/packages/imgui/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.2.5](https://github.com/thi-ng/umbrella/compare/@thi.ng/imgui@0.2.4...@thi.ng/imgui@0.2.5) (2020-03-28) + +**Note:** Version bump only for package @thi.ng/imgui + + + + + # [0.2.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/imgui@0.1.7...@thi.ng/imgui@0.2.0) (2020-02-25) diff --git a/packages/imgui/package.json b/packages/imgui/package.json index e11ce7a347..94e6594a06 100644 --- a/packages/imgui/package.json +++ b/packages/imgui/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/imgui", - "version": "0.2.4", + "version": "0.2.5", "description": "Immediate mode GUI with flexible state handling & data only shape output", "module": "./index.js", "main": "./lib/index.js", @@ -38,16 +38,16 @@ "typescript": "^3.8.3" }, "dependencies": { - "@thi.ng/api": "^6.8.3", - "@thi.ng/checks": "^2.5.4", - "@thi.ng/geom": "^1.8.4", - "@thi.ng/geom-api": "^1.0.6", - "@thi.ng/geom-isec": "^0.4.6", - "@thi.ng/geom-tessellate": "^0.2.17", - "@thi.ng/layout": "^0.1.3", - "@thi.ng/math": "^1.7.3", - "@thi.ng/transducers": "^6.4.1", - "@thi.ng/vectors": "^4.2.1", + "@thi.ng/api": "^6.9.0", + "@thi.ng/checks": "^2.6.0", + "@thi.ng/geom": "^1.8.5", + "@thi.ng/geom-api": "^1.0.7", + "@thi.ng/geom-isec": "^0.4.7", + "@thi.ng/geom-tessellate": "^0.2.18", + "@thi.ng/layout": "^0.1.4", + "@thi.ng/math": "^1.7.4", + "@thi.ng/transducers": "^6.4.2", + "@thi.ng/vectors": "^4.2.2", "tslib": "^1.11.1" }, "keywords": [ diff --git a/packages/interceptors/CHANGELOG.md b/packages/interceptors/CHANGELOG.md index f127eeef0f..1718ea6aa8 100644 --- a/packages/interceptors/CHANGELOG.md +++ b/packages/interceptors/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [2.2.10](https://github.com/thi-ng/umbrella/compare/@thi.ng/interceptors@2.2.9...@thi.ng/interceptors@2.2.10) (2020-03-28) + +**Note:** Version bump only for package @thi.ng/interceptors + + + + + # [2.2.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/interceptors@2.1.3...@thi.ng/interceptors@2.2.0) (2019-08-21) ### Features diff --git a/packages/interceptors/package.json b/packages/interceptors/package.json index 2effef9ec6..1884b18aa6 100644 --- a/packages/interceptors/package.json +++ b/packages/interceptors/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/interceptors", - "version": "2.2.9", + "version": "2.2.10", "description": "Interceptor based event bus, side effect & immutable state handling", "module": "./index.js", "main": "./lib/index.js", @@ -38,11 +38,11 @@ "typescript": "^3.8.3" }, "dependencies": { - "@thi.ng/api": "^6.8.3", - "@thi.ng/atom": "^3.1.8", - "@thi.ng/checks": "^2.5.4", - "@thi.ng/errors": "^1.2.7", - "@thi.ng/paths": "^3.0.5", + "@thi.ng/api": "^6.9.0", + "@thi.ng/atom": "^4.0.0", + "@thi.ng/checks": "^2.6.0", + "@thi.ng/errors": "^1.2.8", + "@thi.ng/paths": "^4.0.0", "tslib": "^1.11.1" }, "keywords": [ diff --git a/packages/intervals/CHANGELOG.md b/packages/intervals/CHANGELOG.md index 75d31f3d87..a1217c0631 100644 --- a/packages/intervals/CHANGELOG.md +++ b/packages/intervals/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [2.0.7](https://github.com/thi-ng/umbrella/compare/@thi.ng/intervals@2.0.6...@thi.ng/intervals@2.0.7) (2020-03-28) + +**Note:** Version bump only for package @thi.ng/intervals + + + + + # [2.0.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/intervals@1.0.15...@thi.ng/intervals@2.0.0) (2019-11-30) ### Bug Fixes diff --git a/packages/intervals/package.json b/packages/intervals/package.json index 8a95c59951..3595e3b5bc 100644 --- a/packages/intervals/package.json +++ b/packages/intervals/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/intervals", - "version": "2.0.6", + "version": "2.0.7", "description": "Closed/open/semi-open interval data type, queries & operations", "module": "./index.js", "main": "./lib/index.js", @@ -38,10 +38,10 @@ "typescript": "^3.8.3" }, "dependencies": { - "@thi.ng/api": "^6.8.3", - "@thi.ng/checks": "^2.5.4", - "@thi.ng/dlogic": "^1.0.16", - "@thi.ng/errors": "^1.2.7", + "@thi.ng/api": "^6.9.0", + "@thi.ng/checks": "^2.6.0", + "@thi.ng/dlogic": "^1.0.17", + "@thi.ng/errors": "^1.2.8", "tslib": "^1.11.1" }, "keywords": [ diff --git a/packages/iterators/CHANGELOG.md b/packages/iterators/CHANGELOG.md index 5f13fc94f7..ad9784caaa 100644 --- a/packages/iterators/CHANGELOG.md +++ b/packages/iterators/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [5.1.15](https://github.com/thi-ng/umbrella/compare/@thi.ng/iterators@5.1.14...@thi.ng/iterators@5.1.15) (2020-03-28) + +**Note:** Version bump only for package @thi.ng/iterators + + + + + # [5.1.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/iterators@5.0.19...@thi.ng/iterators@5.1.0) (2019-07-07) ### Bug Fixes diff --git a/packages/iterators/package.json b/packages/iterators/package.json index b61d66dac1..a6c887d903 100644 --- a/packages/iterators/package.json +++ b/packages/iterators/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/iterators", - "version": "5.1.14", + "version": "5.1.15", "description": "Clojure inspired, composable ES6 iterators & generators", "module": "./index.js", "main": "./lib/index.js", @@ -38,9 +38,9 @@ "typescript": "^3.8.3" }, "dependencies": { - "@thi.ng/api": "^6.8.3", - "@thi.ng/dcons": "^2.2.7", - "@thi.ng/errors": "^1.2.7", + "@thi.ng/api": "^6.9.0", + "@thi.ng/dcons": "^2.2.8", + "@thi.ng/errors": "^1.2.8", "tslib": "^1.11.1" }, "keywords": [ diff --git a/packages/layout/CHANGELOG.md b/packages/layout/CHANGELOG.md index 2f4f24c514..f6758ace29 100644 --- a/packages/layout/CHANGELOG.md +++ b/packages/layout/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.1.4](https://github.com/thi-ng/umbrella/compare/@thi.ng/layout@0.1.3...@thi.ng/layout@0.1.4) (2020-03-28) + +**Note:** Version bump only for package @thi.ng/layout + + + + + # 0.1.0 (2020-02-25) diff --git a/packages/layout/package.json b/packages/layout/package.json index d1560ae5f5..306cdeafc4 100644 --- a/packages/layout/package.json +++ b/packages/layout/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/layout", - "version": "0.1.3", + "version": "0.1.4", "description": "TODO", "module": "./index.js", "main": "./lib/index.js", @@ -38,8 +38,8 @@ "typescript": "^3.8.3" }, "dependencies": { - "@thi.ng/api": "^6.8.3", - "@thi.ng/checks": "^2.5.4", + "@thi.ng/api": "^6.9.0", + "@thi.ng/checks": "^2.6.0", "tslib": "^1.11.1" }, "keywords": [ diff --git a/packages/leb128/CHANGELOG.md b/packages/leb128/CHANGELOG.md index d45d5109d1..e67844deda 100644 --- a/packages/leb128/CHANGELOG.md +++ b/packages/leb128/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.0.9](https://github.com/thi-ng/umbrella/compare/@thi.ng/leb128@1.0.8...@thi.ng/leb128@1.0.9) (2020-03-28) + +**Note:** Version bump only for package @thi.ng/leb128 + + + + + ## [1.0.1](https://github.com/thi-ng/umbrella/compare/@thi.ng/leb128@1.0.0...@thi.ng/leb128@1.0.1) (2019-11-30) ### Bug Fixes diff --git a/packages/leb128/package.json b/packages/leb128/package.json index 783044d72a..781b19e53e 100644 --- a/packages/leb128/package.json +++ b/packages/leb128/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/leb128", - "version": "1.0.8", + "version": "1.0.9", "description": "WASM based LEB128 encoder / decoder (signed & unsigned)", "module": "./index.js", "main": "./lib/index.js", @@ -39,9 +39,9 @@ "typescript": "^3.8.3" }, "dependencies": { - "@thi.ng/checks": "^2.5.4", - "@thi.ng/errors": "^1.2.7", - "@thi.ng/transducers-binary": "^0.5.4", + "@thi.ng/checks": "^2.6.0", + "@thi.ng/errors": "^1.2.8", + "@thi.ng/transducers-binary": "^0.5.5", "tslib": "^1.11.1" }, "keywords": [ diff --git a/packages/lsys/CHANGELOG.md b/packages/lsys/CHANGELOG.md index 24fc99ee9b..ba2321b996 100644 --- a/packages/lsys/CHANGELOG.md +++ b/packages/lsys/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.2.33](https://github.com/thi-ng/umbrella/compare/@thi.ng/lsys@0.2.32...@thi.ng/lsys@0.2.33) (2020-03-28) + +**Note:** Version bump only for package @thi.ng/lsys + + + + + # [0.2.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/lsys@0.1.0...@thi.ng/lsys@0.2.0) (2019-02-26) ### Features diff --git a/packages/lsys/package.json b/packages/lsys/package.json index 38153fd12c..11f048d51c 100644 --- a/packages/lsys/package.json +++ b/packages/lsys/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/lsys", - "version": "0.2.32", + "version": "0.2.33", "description": "Functional, extensible L-System architecture w/ support for probabilistic rules", "module": "./index.js", "main": "./lib/index.js", @@ -38,13 +38,13 @@ "typescript": "^3.8.3" }, "dependencies": { - "@thi.ng/api": "^6.8.3", - "@thi.ng/compose": "^1.3.12", - "@thi.ng/errors": "^1.2.7", - "@thi.ng/math": "^1.7.3", - "@thi.ng/random": "^1.4.1", - "@thi.ng/transducers": "^6.4.1", - "@thi.ng/vectors": "^4.2.1", + "@thi.ng/api": "^6.9.0", + "@thi.ng/compose": "^1.4.0", + "@thi.ng/errors": "^1.2.8", + "@thi.ng/math": "^1.7.4", + "@thi.ng/random": "^1.4.2", + "@thi.ng/transducers": "^6.4.2", + "@thi.ng/vectors": "^4.2.2", "tslib": "^1.11.1" }, "keywords": [ diff --git a/packages/malloc/CHANGELOG.md b/packages/malloc/CHANGELOG.md index e58aae34c2..8239cf2be8 100644 --- a/packages/malloc/CHANGELOG.md +++ b/packages/malloc/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [4.1.8](https://github.com/thi-ng/umbrella/compare/@thi.ng/malloc@4.1.7...@thi.ng/malloc@4.1.8) (2020-03-28) + +**Note:** Version bump only for package @thi.ng/malloc + + + + + # [4.1.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/malloc@4.0.5...@thi.ng/malloc@4.1.0) (2019-11-09) ### Bug Fixes diff --git a/packages/malloc/package.json b/packages/malloc/package.json index e1806dc46a..16954224b3 100644 --- a/packages/malloc/package.json +++ b/packages/malloc/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/malloc", - "version": "4.1.7", + "version": "4.1.8", "description": "ArrayBuffer based malloc() impl for hybrid JS/WASM use cases, based on thi.ng/tinyalloc", "module": "./index.js", "main": "./lib/index.js", @@ -38,10 +38,10 @@ "typescript": "^3.8.3" }, "dependencies": { - "@thi.ng/api": "^6.8.3", - "@thi.ng/binary": "^2.0.0", - "@thi.ng/checks": "^2.5.4", - "@thi.ng/errors": "^1.2.7", + "@thi.ng/api": "^6.9.0", + "@thi.ng/binary": "^2.0.1", + "@thi.ng/checks": "^2.6.0", + "@thi.ng/errors": "^1.2.8", "tslib": "^1.11.1" }, "keywords": [ diff --git a/packages/math/CHANGELOG.md b/packages/math/CHANGELOG.md index 116b2876f8..d977dcad39 100644 --- a/packages/math/CHANGELOG.md +++ b/packages/math/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.7.4](https://github.com/thi-ng/umbrella/compare/@thi.ng/math@1.7.3...@thi.ng/math@1.7.4) (2020-03-28) + +**Note:** Version bump only for package @thi.ng/math + + + + + # [1.7.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/math@1.6.0...@thi.ng/math@1.7.0) (2020-02-25) diff --git a/packages/math/package.json b/packages/math/package.json index 195cf3345c..bb30e2cdba 100644 --- a/packages/math/package.json +++ b/packages/math/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/math", - "version": "1.7.3", + "version": "1.7.4", "description": "Assorted common math functions & utilities", "module": "./index.js", "main": "./lib/index.js", diff --git a/packages/matrices/CHANGELOG.md b/packages/matrices/CHANGELOG.md index baaa3f2b6d..6d828428f5 100644 --- a/packages/matrices/CHANGELOG.md +++ b/packages/matrices/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.6.5](https://github.com/thi-ng/umbrella/compare/@thi.ng/matrices@0.6.4...@thi.ng/matrices@0.6.5) (2020-03-28) + +**Note:** Version bump only for package @thi.ng/matrices + + + + + # [0.6.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/matrices@0.5.12...@thi.ng/matrices@0.6.0) (2020-02-25) diff --git a/packages/matrices/package.json b/packages/matrices/package.json index 4bcf506afe..efc5f560b3 100644 --- a/packages/matrices/package.json +++ b/packages/matrices/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/matrices", - "version": "0.6.4", + "version": "0.6.5", "description": "Matrix & quaternion operations for 2D/3D geometry processing", "module": "./index.js", "main": "./lib/index.js", @@ -38,10 +38,10 @@ "typescript": "^3.8.3" }, "dependencies": { - "@thi.ng/api": "^6.8.3", - "@thi.ng/checks": "^2.5.4", - "@thi.ng/math": "^1.7.3", - "@thi.ng/vectors": "^4.2.1", + "@thi.ng/api": "^6.9.0", + "@thi.ng/checks": "^2.6.0", + "@thi.ng/math": "^1.7.4", + "@thi.ng/vectors": "^4.2.2", "tslib": "^1.11.1" }, "keywords": [ diff --git a/packages/memoize/CHANGELOG.md b/packages/memoize/CHANGELOG.md index 7617c06e90..aea04fed6e 100644 --- a/packages/memoize/CHANGELOG.md +++ b/packages/memoize/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [2.0.4](https://github.com/thi-ng/umbrella/compare/@thi.ng/memoize@2.0.3...@thi.ng/memoize@2.0.4) (2020-03-28) + +**Note:** Version bump only for package @thi.ng/memoize + + + + + # [2.0.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/memoize@1.1.8...@thi.ng/memoize@2.0.0) (2020-02-25) diff --git a/packages/memoize/package.json b/packages/memoize/package.json index 7b2fb89371..18b24a7e2a 100644 --- a/packages/memoize/package.json +++ b/packages/memoize/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/memoize", - "version": "2.0.3", + "version": "2.0.4", "description": "Function memoization with configurable caching", "module": "./index.js", "main": "./lib/index.js", @@ -38,7 +38,7 @@ "typescript": "^3.8.3" }, "dependencies": { - "@thi.ng/api": "^6.8.3", + "@thi.ng/api": "^6.9.0", "tslib": "^1.11.1" }, "keywords": [ diff --git a/packages/mime/CHANGELOG.md b/packages/mime/CHANGELOG.md index 23c8f98536..561c7b1a4f 100644 --- a/packages/mime/CHANGELOG.md +++ b/packages/mime/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.1.4](https://github.com/thi-ng/umbrella/compare/@thi.ng/mime@0.1.3...@thi.ng/mime@0.1.4) (2020-03-28) + +**Note:** Version bump only for package @thi.ng/mime + + + + + # 0.1.0 (2020-02-25) diff --git a/packages/mime/package.json b/packages/mime/package.json index 49a98dbd7d..1840eafa12 100644 --- a/packages/mime/package.json +++ b/packages/mime/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/mime", - "version": "0.1.3", + "version": "0.1.4", "description": "350+ file extension to MIME type mappings, based on mime-db", "module": "./index.js", "main": "./lib/index.js", @@ -38,7 +38,7 @@ "typescript": "^3.8.3" }, "dependencies": { - "@thi.ng/api": "^6.8.3", + "@thi.ng/api": "^6.9.0", "tslib": "^1.11.1" }, "keywords": [ diff --git a/packages/morton/CHANGELOG.md b/packages/morton/CHANGELOG.md index 22e2a0aba4..7d5a160fe6 100644 --- a/packages/morton/CHANGELOG.md +++ b/packages/morton/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [2.0.6](https://github.com/thi-ng/umbrella/compare/@thi.ng/morton@2.0.5...@thi.ng/morton@2.0.6) (2020-03-28) + +**Note:** Version bump only for package @thi.ng/morton + + + + + # [2.0.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/morton@1.1.5...@thi.ng/morton@2.0.0) (2020-01-24) ### Features diff --git a/packages/morton/package.json b/packages/morton/package.json index 68369c7cb9..40aee42dc9 100644 --- a/packages/morton/package.json +++ b/packages/morton/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/morton", - "version": "2.0.5", + "version": "2.0.6", "description": "Z-order curve / Morton encoding, decoding & range extraction for arbitrary dimensions", "module": "./index.js", "main": "./lib/index.js", @@ -38,9 +38,9 @@ "typescript": "^3.8.3" }, "dependencies": { - "@thi.ng/api": "^6.8.3", - "@thi.ng/binary": "^2.0.0", - "@thi.ng/math": "^1.7.3", + "@thi.ng/api": "^6.9.0", + "@thi.ng/binary": "^2.0.1", + "@thi.ng/math": "^1.7.4", "tslib": "^1.11.1" }, "keywords": [ diff --git a/packages/paths/CHANGELOG.md b/packages/paths/CHANGELOG.md index 8ccd856462..e8537346e9 100644 --- a/packages/paths/CHANGELOG.md +++ b/packages/paths/CHANGELOG.md @@ -3,6 +3,31 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [4.0.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/paths@3.0.5...@thi.ng/paths@4.0.0) (2020-03-28) + + +### Code Refactoring + +* **paths:** update path value inference ([ab4440e](https://github.com/thi-ng/umbrella/commit/ab4440e6a297559ceb824c5e4b3c7e023ae69710)) + + +### Features + +* **paths:** add/update unsafe type infer, update doc strings ([5cc5b46](https://github.com/thi-ng/umbrella/commit/5cc5b461e9602011b62c49d8d4a6756e1ad4a404)) +* **paths:** major API update ([b51efc6](https://github.com/thi-ng/umbrella/commit/b51efc69834e178344c4d1c1e47961460acedd8f)) +* **paths:** update typed path sigs ([0b6c155](https://github.com/thi-ng/umbrella/commit/0b6c155d8d6cf9bd3f25bfce723cac2de48ad544)) + + +### BREAKING CHANGES + +* **paths:** update generics for `UpdateFn` + +- UpdateFn now takes input & output type generics + + + + + # [3.0.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/paths@2.1.6...@thi.ng/paths@3.0.0) (2019-11-30) ### Bug Fixes diff --git a/packages/paths/package.json b/packages/paths/package.json index d11bf79aa5..8e46f529ed 100644 --- a/packages/paths/package.json +++ b/packages/paths/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/paths", - "version": "3.0.5", + "version": "4.0.0", "description": "Immutable, optimized and optionally typed path-based object property / array accessors with structural sharing", "module": "./index.js", "main": "./lib/index.js", @@ -38,8 +38,8 @@ "typescript": "^3.8.3" }, "dependencies": { - "@thi.ng/checks": "^2.5.4", - "@thi.ng/errors": "^1.2.7", + "@thi.ng/checks": "^2.6.0", + "@thi.ng/errors": "^1.2.8", "tslib": "^1.11.1" }, "keywords": [ diff --git a/packages/pixel/CHANGELOG.md b/packages/pixel/CHANGELOG.md index 503c6a77e4..df912e2069 100644 --- a/packages/pixel/CHANGELOG.md +++ b/packages/pixel/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.1.13](https://github.com/thi-ng/umbrella/compare/@thi.ng/pixel@0.1.12...@thi.ng/pixel@0.1.13) (2020-03-28) + +**Note:** Version bump only for package @thi.ng/pixel + + + + + ## [0.1.4](https://github.com/thi-ng/umbrella/compare/@thi.ng/pixel@0.1.3...@thi.ng/pixel@0.1.4) (2019-09-21) ### Bug Fixes diff --git a/packages/pixel/package.json b/packages/pixel/package.json index 6265be3f0c..d5afa0b3b2 100644 --- a/packages/pixel/package.json +++ b/packages/pixel/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/pixel", - "version": "0.1.12", + "version": "0.1.13", "description": "Typed array backed, packed pixel buffer w/ customizable formats, blitting, conversions", "module": "./index.js", "main": "./lib/index.js", @@ -38,10 +38,10 @@ "typescript": "^3.8.3" }, "dependencies": { - "@thi.ng/api": "^6.8.3", - "@thi.ng/checks": "^2.5.4", - "@thi.ng/math": "^1.7.3", - "@thi.ng/porter-duff": "^0.1.11", + "@thi.ng/api": "^6.9.0", + "@thi.ng/checks": "^2.6.0", + "@thi.ng/math": "^1.7.4", + "@thi.ng/porter-duff": "^0.1.12", "tslib": "^1.11.1" }, "keywords": [ diff --git a/packages/pointfree-lang/CHANGELOG.md b/packages/pointfree-lang/CHANGELOG.md index 601651b169..2128a3924f 100644 --- a/packages/pointfree-lang/CHANGELOG.md +++ b/packages/pointfree-lang/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.1.14](https://github.com/thi-ng/umbrella/compare/@thi.ng/pointfree-lang@1.1.13...@thi.ng/pointfree-lang@1.1.14) (2020-03-28) + +**Note:** Version bump only for package @thi.ng/pointfree-lang + + + + + ## [1.1.5](https://github.com/thi-ng/umbrella/compare/@thi.ng/pointfree-lang@1.1.4...@thi.ng/pointfree-lang@1.1.5) (2019-09-21) ### Bug Fixes diff --git a/packages/pointfree-lang/package.json b/packages/pointfree-lang/package.json index 84f39f0b0b..e523621885 100644 --- a/packages/pointfree-lang/package.json +++ b/packages/pointfree-lang/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/pointfree-lang", - "version": "1.1.13", + "version": "1.1.14", "description": "Forth style syntax layer/compiler for the @thi.ng/pointfree DSL", "module": "./index.js", "main": "./lib/index.js", @@ -39,9 +39,9 @@ "typescript": "^3.8.3" }, "dependencies": { - "@thi.ng/api": "^6.8.3", - "@thi.ng/errors": "^1.2.7", - "@thi.ng/pointfree": "^1.2.9", + "@thi.ng/api": "^6.9.0", + "@thi.ng/errors": "^1.2.8", + "@thi.ng/pointfree": "^1.2.10", "tslib": "^1.11.1" }, "keywords": [ diff --git a/packages/pointfree/CHANGELOG.md b/packages/pointfree/CHANGELOG.md index 68f24a7917..70ce83db9b 100644 --- a/packages/pointfree/CHANGELOG.md +++ b/packages/pointfree/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.10](https://github.com/thi-ng/umbrella/compare/@thi.ng/pointfree@1.2.9...@thi.ng/pointfree@1.2.10) (2020-03-28) + +**Note:** Version bump only for package @thi.ng/pointfree + + + + + # [1.2.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/pointfree@1.1.3...@thi.ng/pointfree@1.2.0) (2019-08-21) ### Features diff --git a/packages/pointfree/package.json b/packages/pointfree/package.json index 3f03d7f01f..0af128fcae 100644 --- a/packages/pointfree/package.json +++ b/packages/pointfree/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/pointfree", - "version": "1.2.9", + "version": "1.2.10", "description": "Pointfree functional composition / Forth style stack execution engine", "module": "./index.js", "main": "./lib/index.js", @@ -38,11 +38,11 @@ "typescript": "^3.8.3" }, "dependencies": { - "@thi.ng/api": "^6.8.3", - "@thi.ng/checks": "^2.5.4", - "@thi.ng/compose": "^1.3.12", - "@thi.ng/equiv": "^1.0.16", - "@thi.ng/errors": "^1.2.7", + "@thi.ng/api": "^6.9.0", + "@thi.ng/checks": "^2.6.0", + "@thi.ng/compose": "^1.4.0", + "@thi.ng/equiv": "^1.0.17", + "@thi.ng/errors": "^1.2.8", "tslib": "^1.11.1" }, "keywords": [ diff --git a/packages/poisson/CHANGELOG.md b/packages/poisson/CHANGELOG.md index 53f520a28d..e7f6b9f5ce 100644 --- a/packages/poisson/CHANGELOG.md +++ b/packages/poisson/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.0.7](https://github.com/thi-ng/umbrella/compare/@thi.ng/poisson@1.0.6...@thi.ng/poisson@1.0.7) (2020-03-28) + +**Note:** Version bump only for package @thi.ng/poisson + + + + + # [1.0.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/poisson@0.2.27...@thi.ng/poisson@1.0.0) (2020-01-24) ### Features diff --git a/packages/poisson/package.json b/packages/poisson/package.json index 8bbb176c35..8f4fe8d1e4 100644 --- a/packages/poisson/package.json +++ b/packages/poisson/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/poisson", - "version": "1.0.6", + "version": "1.0.7", "description": "nD Poisson-disc sampling w/ support for spatial density functions and custom PRNGs", "module": "./index.js", "main": "./lib/index.js", @@ -38,10 +38,10 @@ "typescript": "^3.8.3" }, "dependencies": { - "@thi.ng/checks": "^2.5.4", - "@thi.ng/geom-api": "^1.0.6", - "@thi.ng/random": "^1.4.1", - "@thi.ng/vectors": "^4.2.1", + "@thi.ng/checks": "^2.6.0", + "@thi.ng/geom-api": "^1.0.7", + "@thi.ng/random": "^1.4.2", + "@thi.ng/vectors": "^4.2.2", "tslib": "^1.11.1" }, "keywords": [ diff --git a/packages/porter-duff/CHANGELOG.md b/packages/porter-duff/CHANGELOG.md index c81030290e..ae1c008c95 100644 --- a/packages/porter-duff/CHANGELOG.md +++ b/packages/porter-duff/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.1.12](https://github.com/thi-ng/umbrella/compare/@thi.ng/porter-duff@0.1.11...@thi.ng/porter-duff@0.1.12) (2020-03-28) + +**Note:** Version bump only for package @thi.ng/porter-duff + + + + + # 0.1.0 (2019-07-31) ### Bug Fixes diff --git a/packages/porter-duff/package.json b/packages/porter-duff/package.json index ae744f3a15..643a93d5d7 100644 --- a/packages/porter-duff/package.json +++ b/packages/porter-duff/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/porter-duff", - "version": "0.1.11", + "version": "0.1.12", "description": "Porter-Duff operators for packed ints & float-array alpha compositing", "module": "./index.js", "main": "./lib/index.js", @@ -38,8 +38,8 @@ "typescript": "^3.8.3" }, "dependencies": { - "@thi.ng/api": "^6.8.3", - "@thi.ng/math": "^1.7.3", + "@thi.ng/api": "^6.9.0", + "@thi.ng/math": "^1.7.4", "tslib": "^1.11.1" }, "keywords": [ diff --git a/packages/quad-edge/CHANGELOG.md b/packages/quad-edge/CHANGELOG.md index 86b193a40a..2a85a51c62 100644 --- a/packages/quad-edge/CHANGELOG.md +++ b/packages/quad-edge/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.2.10](https://github.com/thi-ng/umbrella/compare/@thi.ng/quad-edge@0.2.9...@thi.ng/quad-edge@0.2.10) (2020-03-28) + +**Note:** Version bump only for package @thi.ng/quad-edge + + + + + # [0.2.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/quad-edge@0.1.4...@thi.ng/quad-edge@0.2.0) (2019-07-07) ### Features diff --git a/packages/quad-edge/package.json b/packages/quad-edge/package.json index 3a46a1325b..83e519b0b4 100644 --- a/packages/quad-edge/package.json +++ b/packages/quad-edge/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/quad-edge", - "version": "0.2.9", + "version": "0.2.10", "description": "Quadedge data structure after Guibas & Stolfi", "module": "./index.js", "main": "./lib/index.js", diff --git a/packages/ramp/CHANGELOG.md b/packages/ramp/CHANGELOG.md index 20c329a0af..d1f2a932ec 100644 --- a/packages/ramp/CHANGELOG.md +++ b/packages/ramp/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.1.7](https://github.com/thi-ng/umbrella/compare/@thi.ng/ramp@0.1.6...@thi.ng/ramp@0.1.7) (2020-03-28) + +**Note:** Version bump only for package @thi.ng/ramp + + + + + # 0.1.0 (2020-01-24) ### Features diff --git a/packages/ramp/package.json b/packages/ramp/package.json index c47673eb70..a07f0a383b 100644 --- a/packages/ramp/package.json +++ b/packages/ramp/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/ramp", - "version": "0.1.6", + "version": "0.1.7", "description": "Parametric interpolated 1D lookup tables for remapping values", "module": "./index.js", "main": "./lib/index.js", @@ -38,12 +38,12 @@ "typescript": "^3.8.3" }, "dependencies": { - "@thi.ng/api": "^6.8.3", - "@thi.ng/arrays": "^0.5.6", - "@thi.ng/compare": "^1.2.1", - "@thi.ng/math": "^1.7.3", - "@thi.ng/transducers": "^6.4.1", - "@thi.ng/vectors": "^4.2.1", + "@thi.ng/api": "^6.9.0", + "@thi.ng/arrays": "^0.6.0", + "@thi.ng/compare": "^1.2.2", + "@thi.ng/math": "^1.7.4", + "@thi.ng/transducers": "^6.4.2", + "@thi.ng/vectors": "^4.2.2", "tslib": "^1.11.1" }, "keywords": [ diff --git a/packages/random/CHANGELOG.md b/packages/random/CHANGELOG.md index dbd13f0658..9c1a80b3d1 100644 --- a/packages/random/CHANGELOG.md +++ b/packages/random/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.4.2](https://github.com/thi-ng/umbrella/compare/@thi.ng/random@1.4.1...@thi.ng/random@1.4.2) (2020-03-28) + +**Note:** Version bump only for package @thi.ng/random + + + + + # [1.4.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/random@1.3.2...@thi.ng/random@1.4.0) (2020-03-01) diff --git a/packages/random/package.json b/packages/random/package.json index 2864ab74e1..3b3d21ed24 100644 --- a/packages/random/package.json +++ b/packages/random/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/random", - "version": "1.4.1", + "version": "1.4.2", "description": "Pseudo-random number generators w/ unified API", "module": "./index.js", "main": "./lib/index.js", @@ -38,8 +38,8 @@ "typescript": "^3.8.3" }, "dependencies": { - "@thi.ng/api": "^6.8.3", - "@thi.ng/checks": "^2.5.4", + "@thi.ng/api": "^6.9.0", + "@thi.ng/checks": "^2.6.0", "tslib": "^1.11.1" }, "keywords": [ diff --git a/packages/range-coder/CHANGELOG.md b/packages/range-coder/CHANGELOG.md index ee07517104..0410277942 100644 --- a/packages/range-coder/CHANGELOG.md +++ b/packages/range-coder/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.0.35](https://github.com/thi-ng/umbrella/compare/@thi.ng/range-coder@1.0.34...@thi.ng/range-coder@1.0.35) (2020-03-28) + +**Note:** Version bump only for package @thi.ng/range-coder + + + + + # [1.0.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/range-coder@0.1.28...@thi.ng/range-coder@1.0.0) (2019-01-21) ### Build System diff --git a/packages/range-coder/package.json b/packages/range-coder/package.json index 5b70fd0739..e10d2d0167 100644 --- a/packages/range-coder/package.json +++ b/packages/range-coder/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/range-coder", - "version": "1.0.34", + "version": "1.0.35", "description": "Binary data range encoder / decoder", "module": "./index.js", "main": "./lib/index.js", @@ -29,7 +29,7 @@ "devDependencies": { "@istanbuljs/nyc-config-typescript": "^1.0.1", "@microsoft/api-extractor": "^7.7.8", - "@thi.ng/transducers": "^6.4.1", + "@thi.ng/transducers": "^6.4.2", "@types/mocha": "^7.0.1", "@types/node": "^13.7.4", "mocha": "^7.0.1", @@ -39,7 +39,7 @@ "typescript": "^3.8.3" }, "dependencies": { - "@thi.ng/bitstream": "^1.1.10", + "@thi.ng/bitstream": "^1.1.11", "tslib": "^1.11.1" }, "keywords": [ diff --git a/packages/resolve-map/CHANGELOG.md b/packages/resolve-map/CHANGELOG.md index 2dd60baf2b..ab14583675 100644 --- a/packages/resolve-map/CHANGELOG.md +++ b/packages/resolve-map/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [4.1.16](https://github.com/thi-ng/umbrella/compare/@thi.ng/resolve-map@4.1.15...@thi.ng/resolve-map@4.1.16) (2020-03-28) + +**Note:** Version bump only for package @thi.ng/resolve-map + + + + + ## [4.1.2](https://github.com/thi-ng/umbrella/compare/@thi.ng/resolve-map@4.1.1...@thi.ng/resolve-map@4.1.2) (2019-07-08) ### Bug Fixes diff --git a/packages/resolve-map/package.json b/packages/resolve-map/package.json index e10efb65ba..7619d8287e 100644 --- a/packages/resolve-map/package.json +++ b/packages/resolve-map/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/resolve-map", - "version": "4.1.15", + "version": "4.1.16", "description": "DAG resolution of vanilla objects & arrays with internally linked values", "module": "./index.js", "main": "./lib/index.js", @@ -37,10 +37,10 @@ "typescript": "^3.8.3" }, "dependencies": { - "@thi.ng/api": "^6.8.3", - "@thi.ng/checks": "^2.5.4", - "@thi.ng/errors": "^1.2.7", - "@thi.ng/paths": "^3.0.5", + "@thi.ng/api": "^6.9.0", + "@thi.ng/checks": "^2.6.0", + "@thi.ng/errors": "^1.2.8", + "@thi.ng/paths": "^4.0.0", "tslib": "^1.11.1" }, "keywords": [ diff --git a/packages/rle-pack/CHANGELOG.md b/packages/rle-pack/CHANGELOG.md index a677ac684e..adffaaf276 100644 --- a/packages/rle-pack/CHANGELOG.md +++ b/packages/rle-pack/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [2.1.11](https://github.com/thi-ng/umbrella/compare/@thi.ng/rle-pack@2.1.10...@thi.ng/rle-pack@2.1.11) (2020-03-28) + +**Note:** Version bump only for package @thi.ng/rle-pack + + + + + # [2.1.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/rle-pack@2.0.6...@thi.ng/rle-pack@2.1.0) (2019-07-07) ### Features diff --git a/packages/rle-pack/package.json b/packages/rle-pack/package.json index 7111be3b25..b62a6eae04 100644 --- a/packages/rle-pack/package.json +++ b/packages/rle-pack/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/rle-pack", - "version": "2.1.10", + "version": "2.1.11", "description": "Binary run-length encoding packer w/ flexible repeat bit widths", "module": "./index.js", "main": "./lib/index.js", @@ -39,8 +39,8 @@ "typescript": "^3.8.3" }, "dependencies": { - "@thi.ng/bitstream": "^1.1.10", - "@thi.ng/errors": "^1.2.7", + "@thi.ng/bitstream": "^1.1.11", + "@thi.ng/errors": "^1.2.8", "tslib": "^1.11.1" }, "keywords": [ diff --git a/packages/router/CHANGELOG.md b/packages/router/CHANGELOG.md index 8340d07a82..bc14eb87d2 100644 --- a/packages/router/CHANGELOG.md +++ b/packages/router/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [2.0.14](https://github.com/thi-ng/umbrella/compare/@thi.ng/router@2.0.13...@thi.ng/router@2.0.14) (2020-03-28) + +**Note:** Version bump only for package @thi.ng/router + + + + + # [2.0.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/router@1.0.12...@thi.ng/router@2.0.0) (2019-07-07) ### Code Refactoring diff --git a/packages/router/package.json b/packages/router/package.json index 0a90d7eee5..4e184bbeb6 100644 --- a/packages/router/package.json +++ b/packages/router/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/router", - "version": "2.0.13", + "version": "2.0.14", "description": "Generic router for browser & non-browser based applications", "module": "./index.js", "main": "./lib/index.js", @@ -38,10 +38,10 @@ "typescript": "^3.8.3" }, "dependencies": { - "@thi.ng/api": "^6.8.3", - "@thi.ng/checks": "^2.5.4", - "@thi.ng/equiv": "^1.0.16", - "@thi.ng/errors": "^1.2.7", + "@thi.ng/api": "^6.9.0", + "@thi.ng/checks": "^2.6.0", + "@thi.ng/equiv": "^1.0.17", + "@thi.ng/errors": "^1.2.8", "tslib": "^1.11.1" }, "keywords": [ diff --git a/packages/rstream-csp/CHANGELOG.md b/packages/rstream-csp/CHANGELOG.md index 1d09004480..965c7ffa63 100644 --- a/packages/rstream-csp/CHANGELOG.md +++ b/packages/rstream-csp/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [2.0.8](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-csp@2.0.7...@thi.ng/rstream-csp@2.0.8) (2020-03-28) + +**Note:** Version bump only for package @thi.ng/rstream-csp + + + + + # [2.0.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-csp@1.0.33...@thi.ng/rstream-csp@2.0.0) (2019-11-30) ### Code Refactoring diff --git a/packages/rstream-csp/package.json b/packages/rstream-csp/package.json index f06945a06d..717eac1d30 100644 --- a/packages/rstream-csp/package.json +++ b/packages/rstream-csp/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/rstream-csp", - "version": "2.0.7", + "version": "2.0.8", "description": "@thi.ng/csp bridge module for @thi.ng/rstream", "module": "./index.js", "main": "./lib/index.js", @@ -38,8 +38,8 @@ "typescript": "^3.8.3" }, "dependencies": { - "@thi.ng/csp": "^1.1.14", - "@thi.ng/rstream": "^3.0.7", + "@thi.ng/csp": "^1.1.15", + "@thi.ng/rstream": "^4.0.0", "tslib": "^1.11.1" }, "keywords": [ diff --git a/packages/rstream-dot/CHANGELOG.md b/packages/rstream-dot/CHANGELOG.md index 27b3c838c9..63bc6c43ad 100644 --- a/packages/rstream-dot/CHANGELOG.md +++ b/packages/rstream-dot/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.1.15](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-dot@1.1.14...@thi.ng/rstream-dot@1.1.15) (2020-03-28) + +**Note:** Version bump only for package @thi.ng/rstream-dot + + + + + # [1.1.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-dot@1.0.26...@thi.ng/rstream-dot@1.1.0) (2019-07-07) ### Features diff --git a/packages/rstream-dot/package.json b/packages/rstream-dot/package.json index 3ec5638a02..1d1237d0e3 100644 --- a/packages/rstream-dot/package.json +++ b/packages/rstream-dot/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/rstream-dot", - "version": "1.1.14", + "version": "1.1.15", "description": "Graphviz DOT conversion of @thi.ng/rstream dataflow graph topologies", "module": "./index.js", "main": "./lib/index.js", @@ -38,7 +38,7 @@ "typescript": "^3.8.3" }, "dependencies": { - "@thi.ng/rstream": "^3.0.7", + "@thi.ng/rstream": "^4.0.0", "tslib": "^1.11.1" }, "keywords": [ diff --git a/packages/rstream-gestures/CHANGELOG.md b/packages/rstream-gestures/CHANGELOG.md index b0615386e7..bf17fdbc3b 100644 --- a/packages/rstream-gestures/CHANGELOG.md +++ b/packages/rstream-gestures/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [2.0.7](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-gestures@2.0.6...@thi.ng/rstream-gestures@2.0.7) (2020-03-28) + +**Note:** Version bump only for package @thi.ng/rstream-gestures + + + + + # [2.0.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-gestures@1.3.0...@thi.ng/rstream-gestures@2.0.0) (2020-01-24) ### Bug Fixes diff --git a/packages/rstream-gestures/package.json b/packages/rstream-gestures/package.json index da0def911e..037cd0b28e 100644 --- a/packages/rstream-gestures/package.json +++ b/packages/rstream-gestures/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/rstream-gestures", - "version": "2.0.6", + "version": "2.0.7", "description": "Unified mouse, mouse wheel & multi-touch event stream abstraction", "module": "./index.js", "main": "./lib/index.js", @@ -38,11 +38,11 @@ "typescript": "^3.8.3" }, "dependencies": { - "@thi.ng/api": "^6.8.3", - "@thi.ng/checks": "^2.5.4", - "@thi.ng/math": "^1.7.3", - "@thi.ng/rstream": "^3.0.7", - "@thi.ng/transducers": "^6.4.1", + "@thi.ng/api": "^6.9.0", + "@thi.ng/checks": "^2.6.0", + "@thi.ng/math": "^1.7.4", + "@thi.ng/rstream": "^4.0.0", + "@thi.ng/transducers": "^6.4.2", "tslib": "^1.11.1" }, "keywords": [ diff --git a/packages/rstream-graph/CHANGELOG.md b/packages/rstream-graph/CHANGELOG.md index 484e646d10..cbd6c38586 100644 --- a/packages/rstream-graph/CHANGELOG.md +++ b/packages/rstream-graph/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [3.2.8](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-graph@3.2.7...@thi.ng/rstream-graph@3.2.8) (2020-03-28) + +**Note:** Version bump only for package @thi.ng/rstream-graph + + + + + # [3.2.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-graph@3.1.8...@thi.ng/rstream-graph@3.2.0) (2019-11-30) ### Bug Fixes diff --git a/packages/rstream-graph/package.json b/packages/rstream-graph/package.json index 6968bcf0a6..6320e8bbbf 100644 --- a/packages/rstream-graph/package.json +++ b/packages/rstream-graph/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/rstream-graph", - "version": "3.2.7", + "version": "3.2.8", "description": "Declarative dataflow graph construction for @thi.ng/rstream", "module": "./index.js", "main": "./lib/index.js", @@ -38,13 +38,13 @@ "typescript": "^3.8.3" }, "dependencies": { - "@thi.ng/api": "^6.8.3", - "@thi.ng/checks": "^2.5.4", - "@thi.ng/errors": "^1.2.7", - "@thi.ng/paths": "^3.0.5", - "@thi.ng/resolve-map": "^4.1.15", - "@thi.ng/rstream": "^3.0.7", - "@thi.ng/transducers": "^6.4.1", + "@thi.ng/api": "^6.9.0", + "@thi.ng/checks": "^2.6.0", + "@thi.ng/errors": "^1.2.8", + "@thi.ng/paths": "^4.0.0", + "@thi.ng/resolve-map": "^4.1.16", + "@thi.ng/rstream": "^4.0.0", + "@thi.ng/transducers": "^6.4.2", "tslib": "^1.11.1" }, "keywords": [ diff --git a/packages/rstream-log-file/CHANGELOG.md b/packages/rstream-log-file/CHANGELOG.md index b9df57e808..a122be81a9 100644 --- a/packages/rstream-log-file/CHANGELOG.md +++ b/packages/rstream-log-file/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.1.30](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-log-file@0.1.29...@thi.ng/rstream-log-file@0.1.30) (2020-03-28) + +**Note:** Version bump only for package @thi.ng/rstream-log-file + + + + + # 0.1.0 (2019-03-19) ### Features diff --git a/packages/rstream-log-file/package.json b/packages/rstream-log-file/package.json index 063d6b79e1..02ba293da1 100644 --- a/packages/rstream-log-file/package.json +++ b/packages/rstream-log-file/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/rstream-log-file", - "version": "0.1.29", + "version": "0.1.30", "description": "File output handler for structured, multilevel & hierarchical loggers based on @thi.ng/rstream", "module": "./index.js", "main": "./lib/index.js", @@ -38,7 +38,7 @@ "typescript": "^3.8.3" }, "dependencies": { - "@thi.ng/rstream": "^3.0.7", + "@thi.ng/rstream": "^4.0.0", "tslib": "^1.11.1" }, "keywords": [ diff --git a/packages/rstream-log/CHANGELOG.md b/packages/rstream-log/CHANGELOG.md index 252dad972a..cf0d551da7 100644 --- a/packages/rstream-log/CHANGELOG.md +++ b/packages/rstream-log/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [3.1.15](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-log@3.1.14...@thi.ng/rstream-log@3.1.15) (2020-03-28) + +**Note:** Version bump only for package @thi.ng/rstream-log + + + + + # [3.1.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-log@3.0.14...@thi.ng/rstream-log@3.1.0) (2019-07-07) ### Features diff --git a/packages/rstream-log/package.json b/packages/rstream-log/package.json index 32e58fdec9..27a8ebc37b 100644 --- a/packages/rstream-log/package.json +++ b/packages/rstream-log/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/rstream-log", - "version": "3.1.14", + "version": "3.1.15", "description": "Structured, multilevel & hierarchical loggers based on @thi.ng/rstream", "module": "./index.js", "main": "./lib/index.js", @@ -38,11 +38,11 @@ "typescript": "^3.8.3" }, "dependencies": { - "@thi.ng/api": "^6.8.3", - "@thi.ng/checks": "^2.5.4", - "@thi.ng/errors": "^1.2.7", - "@thi.ng/rstream": "^3.0.7", - "@thi.ng/transducers": "^6.4.1", + "@thi.ng/api": "^6.9.0", + "@thi.ng/checks": "^2.6.0", + "@thi.ng/errors": "^1.2.8", + "@thi.ng/rstream": "^4.0.0", + "@thi.ng/transducers": "^6.4.2", "tslib": "^1.11.1" }, "keywords": [ diff --git a/packages/rstream-query/CHANGELOG.md b/packages/rstream-query/CHANGELOG.md index 4dba714ee9..76b40be2a0 100644 --- a/packages/rstream-query/CHANGELOG.md +++ b/packages/rstream-query/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.1.15](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-query@1.1.14...@thi.ng/rstream-query@1.1.15) (2020-03-28) + +**Note:** Version bump only for package @thi.ng/rstream-query + + + + + ## [1.1.7](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-query@1.1.6...@thi.ng/rstream-query@1.1.7) (2019-11-30) ### Bug Fixes diff --git a/packages/rstream-query/package.json b/packages/rstream-query/package.json index 40989eab13..fc6a47e2e6 100644 --- a/packages/rstream-query/package.json +++ b/packages/rstream-query/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/rstream-query", - "version": "1.1.14", + "version": "1.1.15", "description": "@thi.ng/rstream based triple store & reactive query engine", "module": "./index.js", "main": "./lib/index.js", @@ -38,15 +38,15 @@ "typescript": "^3.8.3" }, "dependencies": { - "@thi.ng/api": "^6.8.3", - "@thi.ng/associative": "^3.1.8", - "@thi.ng/checks": "^2.5.4", - "@thi.ng/equiv": "^1.0.16", - "@thi.ng/errors": "^1.2.7", - "@thi.ng/math": "^1.7.3", - "@thi.ng/rstream": "^3.0.7", - "@thi.ng/rstream-dot": "^1.1.14", - "@thi.ng/transducers": "^6.4.1", + "@thi.ng/api": "^6.9.0", + "@thi.ng/associative": "^4.0.0", + "@thi.ng/checks": "^2.6.0", + "@thi.ng/equiv": "^1.0.17", + "@thi.ng/errors": "^1.2.8", + "@thi.ng/math": "^1.7.4", + "@thi.ng/rstream": "^4.0.0", + "@thi.ng/rstream-dot": "^1.1.15", + "@thi.ng/transducers": "^6.4.2", "tslib": "^1.11.1" }, "keywords": [ diff --git a/packages/rstream/CHANGELOG.md b/packages/rstream/CHANGELOG.md index 456ee57a54..3cf435caf1 100644 --- a/packages/rstream/CHANGELOG.md +++ b/packages/rstream/CHANGELOG.md @@ -3,6 +3,26 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [4.0.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream@3.0.7...@thi.ng/rstream@4.0.0) (2020-03-28) + + +### Features + +* **rstream:** update/rename fromView() ([f5df4ab](https://github.com/thi-ng/umbrella/commit/f5df4abbdaa82e666b9fcea9135a6e3d2f563666)) + + +### BREAKING CHANGES + +* **rstream:** update/rename fromView(), add fromViewUnsafe() + +- fromView() now performs type checking on given path and/or view transform +- existing `fromView()` renamed to `fromViewUnsafe()` (this is in line w/ related + updates in thi.ng/atom & thi.ng/paths pkgs) + + + + + # [3.0.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream@2.5.6...@thi.ng/rstream@3.0.0) (2019-11-30) ### Bug Fixes diff --git a/packages/rstream/package.json b/packages/rstream/package.json index e8de6bae42..e9cbf122c6 100644 --- a/packages/rstream/package.json +++ b/packages/rstream/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/rstream", - "version": "3.0.7", + "version": "4.0.0", "description": "Reactive streams & subscription primitives for constructing dataflow graphs / pipelines", "module": "./index.js", "main": "./lib/index.js", @@ -38,13 +38,13 @@ "typescript": "^3.8.3" }, "dependencies": { - "@thi.ng/api": "^6.8.3", - "@thi.ng/associative": "^3.1.8", - "@thi.ng/atom": "^3.1.8", - "@thi.ng/checks": "^2.5.4", - "@thi.ng/errors": "^1.2.7", - "@thi.ng/paths": "^3.0.5", - "@thi.ng/transducers": "^6.4.1", + "@thi.ng/api": "^6.9.0", + "@thi.ng/associative": "^4.0.0", + "@thi.ng/atom": "^4.0.0", + "@thi.ng/checks": "^2.6.0", + "@thi.ng/errors": "^1.2.8", + "@thi.ng/paths": "^4.0.0", + "@thi.ng/transducers": "^6.4.2", "tslib": "^1.11.1" }, "keywords": [ diff --git a/packages/sax/CHANGELOG.md b/packages/sax/CHANGELOG.md index e961a8526e..1a764eb0e1 100644 --- a/packages/sax/CHANGELOG.md +++ b/packages/sax/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.1.15](https://github.com/thi-ng/umbrella/compare/@thi.ng/sax@1.1.14...@thi.ng/sax@1.1.15) (2020-03-28) + +**Note:** Version bump only for package @thi.ng/sax + + + + + # [1.1.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/sax@1.0.19...@thi.ng/sax@1.1.0) (2019-07-07) ### Features diff --git a/packages/sax/package.json b/packages/sax/package.json index 3e3b684859..686d75aa3d 100644 --- a/packages/sax/package.json +++ b/packages/sax/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/sax", - "version": "1.1.14", + "version": "1.1.15", "description": "Transducer-based, SAX-like, non-validating, speedy & tiny XML parser", "module": "./index.js", "main": "./lib/index.js", @@ -38,9 +38,9 @@ "typescript": "^3.8.3" }, "dependencies": { - "@thi.ng/api": "^6.8.3", - "@thi.ng/transducers": "^6.4.1", - "@thi.ng/transducers-fsm": "^1.1.14", + "@thi.ng/api": "^6.9.0", + "@thi.ng/transducers": "^6.4.2", + "@thi.ng/transducers-fsm": "^1.1.15", "tslib": "^1.11.1" }, "keywords": [ diff --git a/packages/scenegraph/CHANGELOG.md b/packages/scenegraph/CHANGELOG.md index eba9765f77..cc5d5f2c86 100644 --- a/packages/scenegraph/CHANGELOG.md +++ b/packages/scenegraph/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.1.8](https://github.com/thi-ng/umbrella/compare/@thi.ng/scenegraph@0.1.7...@thi.ng/scenegraph@0.1.8) (2020-03-28) + +**Note:** Version bump only for package @thi.ng/scenegraph + + + + + # 0.1.0 (2019-11-30) ### Features diff --git a/packages/scenegraph/package.json b/packages/scenegraph/package.json index 5117a463e9..6a3adcbca3 100644 --- a/packages/scenegraph/package.json +++ b/packages/scenegraph/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/scenegraph", - "version": "0.1.7", + "version": "0.1.8", "description": "Extensible 2D/3D scene graph with @thi.ng/hdom-canvas support", "module": "./index.js", "main": "./lib/index.js", @@ -38,10 +38,10 @@ "typescript": "^3.8.3" }, "dependencies": { - "@thi.ng/api": "^6.8.3", - "@thi.ng/checks": "^2.5.4", - "@thi.ng/matrices": "^0.6.4", - "@thi.ng/vectors": "^4.2.1", + "@thi.ng/api": "^6.9.0", + "@thi.ng/checks": "^2.6.0", + "@thi.ng/matrices": "^0.6.5", + "@thi.ng/vectors": "^4.2.2", "tslib": "^1.11.1" }, "keywords": [ diff --git a/packages/seq/CHANGELOG.md b/packages/seq/CHANGELOG.md index 483c99bc6d..0975ece28e 100644 --- a/packages/seq/CHANGELOG.md +++ b/packages/seq/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.2.6](https://github.com/thi-ng/umbrella/compare/@thi.ng/seq@0.2.5...@thi.ng/seq@0.2.6) (2020-03-28) + +**Note:** Version bump only for package @thi.ng/seq + + + + + # [0.2.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/seq@0.1.0...@thi.ng/seq@0.2.0) (2020-01-24) ### Features diff --git a/packages/seq/package.json b/packages/seq/package.json index 4c44861620..14e6a57275 100644 --- a/packages/seq/package.json +++ b/packages/seq/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/seq", - "version": "0.2.5", + "version": "0.2.6", "description": "Various implementations of the @thi.ng/api `ISeq` interface / sequence abstraction", "module": "./index.js", "main": "./lib/index.js", @@ -38,8 +38,8 @@ "typescript": "^3.8.3" }, "dependencies": { - "@thi.ng/api": "^6.8.3", - "@thi.ng/checks": "^2.5.4", + "@thi.ng/api": "^6.9.0", + "@thi.ng/checks": "^2.6.0", "tslib": "^1.11.1" }, "keywords": [ diff --git a/packages/sexpr/CHANGELOG.md b/packages/sexpr/CHANGELOG.md index 563d1a12c5..f7f8260ff1 100644 --- a/packages/sexpr/CHANGELOG.md +++ b/packages/sexpr/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.2.9](https://github.com/thi-ng/umbrella/compare/@thi.ng/sexpr@0.2.8...@thi.ng/sexpr@0.2.9) (2020-03-28) + +**Note:** Version bump only for package @thi.ng/sexpr + + + + + # [0.2.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/sexpr@0.1.0...@thi.ng/sexpr@0.2.0) (2019-09-23) ### Features diff --git a/packages/sexpr/package.json b/packages/sexpr/package.json index d03e0ffb30..d9663dfe27 100644 --- a/packages/sexpr/package.json +++ b/packages/sexpr/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/sexpr", - "version": "0.2.8", + "version": "0.2.9", "description": "Extensible S-Expression parser & runtime infrastructure", "module": "./index.js", "main": "./lib/index.js", @@ -38,9 +38,9 @@ "typescript": "^3.8.3" }, "dependencies": { - "@thi.ng/api": "^6.8.3", - "@thi.ng/checks": "^2.5.4", - "@thi.ng/defmulti": "^1.2.7", + "@thi.ng/api": "^6.9.0", + "@thi.ng/checks": "^2.6.0", + "@thi.ng/defmulti": "^1.2.8", "tslib": "^1.11.1" }, "keywords": [ diff --git a/packages/shader-ast-glsl/CHANGELOG.md b/packages/shader-ast-glsl/CHANGELOG.md index 6a16f45349..483c7085cb 100644 --- a/packages/shader-ast-glsl/CHANGELOG.md +++ b/packages/shader-ast-glsl/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.1.17](https://github.com/thi-ng/umbrella/compare/@thi.ng/shader-ast-glsl@0.1.16...@thi.ng/shader-ast-glsl@0.1.17) (2020-03-28) + +**Note:** Version bump only for package @thi.ng/shader-ast-glsl + + + + + # 0.1.0 (2019-07-07) ### Bug Fixes diff --git a/packages/shader-ast-glsl/package.json b/packages/shader-ast-glsl/package.json index 55237905ce..5f9bd3020b 100644 --- a/packages/shader-ast-glsl/package.json +++ b/packages/shader-ast-glsl/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/shader-ast-glsl", - "version": "0.1.16", + "version": "0.1.17", "description": "Customizable GLSL code generator for @thi.ng/shader-ast", "module": "./index.js", "main": "./lib/index.js", @@ -38,10 +38,10 @@ "typescript": "^3.8.3" }, "dependencies": { - "@thi.ng/api": "^6.8.3", - "@thi.ng/checks": "^2.5.4", - "@thi.ng/errors": "^1.2.7", - "@thi.ng/shader-ast": "^0.3.10", + "@thi.ng/api": "^6.9.0", + "@thi.ng/checks": "^2.6.0", + "@thi.ng/errors": "^1.2.8", + "@thi.ng/shader-ast": "^0.3.11", "tslib": "^1.11.1" }, "keywords": [ diff --git a/packages/shader-ast-js/CHANGELOG.md b/packages/shader-ast-js/CHANGELOG.md index 55582fcbd0..bbc4254803 100644 --- a/packages/shader-ast-js/CHANGELOG.md +++ b/packages/shader-ast-js/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.4.10](https://github.com/thi-ng/umbrella/compare/@thi.ng/shader-ast-js@0.4.9...@thi.ng/shader-ast-js@0.4.10) (2020-03-28) + +**Note:** Version bump only for package @thi.ng/shader-ast-js + + + + + # [0.4.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/shader-ast-js@0.3.1...@thi.ng/shader-ast-js@0.4.0) (2019-09-21) ### Bug Fixes diff --git a/packages/shader-ast-js/package.json b/packages/shader-ast-js/package.json index 03a6c46bb5..9ebdb037c0 100644 --- a/packages/shader-ast-js/package.json +++ b/packages/shader-ast-js/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/shader-ast-js", - "version": "0.4.9", + "version": "0.4.10", "description": "Customizable JS code generator, compiler & runtime for @thi.ng/shader-ast", "module": "./index.js", "main": "./lib/index.js", @@ -38,14 +38,14 @@ "typescript": "^3.8.3" }, "dependencies": { - "@thi.ng/api": "^6.8.3", - "@thi.ng/checks": "^2.5.4", - "@thi.ng/errors": "^1.2.7", - "@thi.ng/math": "^1.7.3", - "@thi.ng/matrices": "^0.6.4", - "@thi.ng/pixel": "^0.1.12", - "@thi.ng/shader-ast": "^0.3.10", - "@thi.ng/vectors": "^4.2.1", + "@thi.ng/api": "^6.9.0", + "@thi.ng/checks": "^2.6.0", + "@thi.ng/errors": "^1.2.8", + "@thi.ng/math": "^1.7.4", + "@thi.ng/matrices": "^0.6.5", + "@thi.ng/pixel": "^0.1.13", + "@thi.ng/shader-ast": "^0.3.11", + "@thi.ng/vectors": "^4.2.2", "tslib": "^1.11.1" }, "keywords": [ diff --git a/packages/shader-ast-stdlib/CHANGELOG.md b/packages/shader-ast-stdlib/CHANGELOG.md index 09aad6b9bf..0ec2cfd564 100644 --- a/packages/shader-ast-stdlib/CHANGELOG.md +++ b/packages/shader-ast-stdlib/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.3.10](https://github.com/thi-ng/umbrella/compare/@thi.ng/shader-ast-stdlib@0.3.9...@thi.ng/shader-ast-stdlib@0.3.10) (2020-03-28) + +**Note:** Version bump only for package @thi.ng/shader-ast-stdlib + + + + + # [0.3.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/shader-ast-stdlib@0.2.3...@thi.ng/shader-ast-stdlib@0.3.0) (2019-09-21) ### Bug Fixes diff --git a/packages/shader-ast-stdlib/package.json b/packages/shader-ast-stdlib/package.json index 1e6ddd2ebd..286559475a 100644 --- a/packages/shader-ast-stdlib/package.json +++ b/packages/shader-ast-stdlib/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/shader-ast-stdlib", - "version": "0.3.9", + "version": "0.3.10", "description": "Function collection for modular GPGPU / shader programming with @thi.ng/shader-ast", "module": "./index.js", "main": "./lib/index.js", @@ -38,7 +38,7 @@ "typescript": "^3.8.3" }, "dependencies": { - "@thi.ng/shader-ast": "^0.3.10", + "@thi.ng/shader-ast": "^0.3.11", "tslib": "^1.11.1" }, "keywords": [ diff --git a/packages/shader-ast/CHANGELOG.md b/packages/shader-ast/CHANGELOG.md index 12ab4480fa..d1b9248412 100644 --- a/packages/shader-ast/CHANGELOG.md +++ b/packages/shader-ast/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.3.11](https://github.com/thi-ng/umbrella/compare/@thi.ng/shader-ast@0.3.10...@thi.ng/shader-ast@0.3.11) (2020-03-28) + +**Note:** Version bump only for package @thi.ng/shader-ast + + + + + # [0.3.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/shader-ast@0.2.3...@thi.ng/shader-ast@0.3.0) (2019-08-21) ### Features diff --git a/packages/shader-ast/package.json b/packages/shader-ast/package.json index bd032a1949..e14bf550d5 100644 --- a/packages/shader-ast/package.json +++ b/packages/shader-ast/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/shader-ast", - "version": "0.3.10", + "version": "0.3.11", "description": "DSL to define shader code in TypeScript and cross-compile to GLSL, JS and other targets", "module": "./index.js", "main": "./lib/index.js", @@ -38,11 +38,11 @@ "typescript": "^3.8.3" }, "dependencies": { - "@thi.ng/api": "^6.8.3", - "@thi.ng/checks": "^2.5.4", - "@thi.ng/defmulti": "^1.2.7", - "@thi.ng/dgraph": "^1.1.24", - "@thi.ng/errors": "^1.2.7", + "@thi.ng/api": "^6.9.0", + "@thi.ng/checks": "^2.6.0", + "@thi.ng/defmulti": "^1.2.8", + "@thi.ng/dgraph": "^1.1.25", + "@thi.ng/errors": "^1.2.8", "tslib": "^1.11.1" }, "keywords": [ diff --git a/packages/simd/CHANGELOG.md b/packages/simd/CHANGELOG.md index 9df06f4721..1b47b0b69b 100644 --- a/packages/simd/CHANGELOG.md +++ b/packages/simd/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.1.9](https://github.com/thi-ng/umbrella/compare/@thi.ng/simd@0.1.8...@thi.ng/simd@0.1.9) (2020-03-28) + +**Note:** Version bump only for package @thi.ng/simd + + + + + # 0.1.0 (2019-11-09) ### Bug Fixes diff --git a/packages/simd/package.json b/packages/simd/package.json index 247f38e00d..f5c0afd515 100644 --- a/packages/simd/package.json +++ b/packages/simd/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/simd", - "version": "0.1.8", + "version": "0.1.9", "description": "WASM based SIMD vector operations for batch processing", "module": "./index.js", "main": "./lib/index.js", @@ -41,9 +41,9 @@ "typescript": "^3.8.3" }, "dependencies": { - "@thi.ng/checks": "^2.5.4", - "@thi.ng/transducers": "^6.4.1", - "@thi.ng/transducers-binary": "^0.5.4", + "@thi.ng/checks": "^2.6.0", + "@thi.ng/transducers": "^6.4.2", + "@thi.ng/transducers-binary": "^0.5.5", "tslib": "^1.11.1" }, "keywords": [ diff --git a/packages/soa/CHANGELOG.md b/packages/soa/CHANGELOG.md index 84a815caea..70a77a30d3 100644 --- a/packages/soa/CHANGELOG.md +++ b/packages/soa/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.1.9](https://github.com/thi-ng/umbrella/compare/@thi.ng/soa@0.1.8...@thi.ng/soa@0.1.9) (2020-03-28) + +**Note:** Version bump only for package @thi.ng/soa + + + + + # 0.1.0 (2019-11-09) ### Bug Fixes diff --git a/packages/soa/package.json b/packages/soa/package.json index e8f7515141..8d6c68f0e1 100644 --- a/packages/soa/package.json +++ b/packages/soa/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/soa", - "version": "0.1.8", + "version": "0.1.9", "description": "SOA & AOS memory mapped structured views with optional & extensible serialization", "module": "./index.js", "main": "./lib/index.js", @@ -29,7 +29,7 @@ "devDependencies": { "@istanbuljs/nyc-config-typescript": "^1.0.1", "@microsoft/api-extractor": "^7.7.8", - "@thi.ng/equiv": "^1.0.16", + "@thi.ng/equiv": "^1.0.17", "@types/mocha": "^7.0.1", "@types/node": "^13.7.4", "mocha": "^7.0.1", @@ -39,10 +39,10 @@ "typescript": "^3.8.3" }, "dependencies": { - "@thi.ng/api": "^6.8.3", - "@thi.ng/binary": "^2.0.0", - "@thi.ng/transducers-binary": "^0.5.4", - "@thi.ng/vectors": "^4.2.1", + "@thi.ng/api": "^6.9.0", + "@thi.ng/binary": "^2.0.1", + "@thi.ng/transducers-binary": "^0.5.5", + "@thi.ng/vectors": "^4.2.2", "tslib": "^1.11.1" }, "keywords": [ diff --git a/packages/sparse/CHANGELOG.md b/packages/sparse/CHANGELOG.md index 29f14f10de..e2b0dabdac 100644 --- a/packages/sparse/CHANGELOG.md +++ b/packages/sparse/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.1.31](https://github.com/thi-ng/umbrella/compare/@thi.ng/sparse@0.1.30...@thi.ng/sparse@0.1.31) (2020-03-28) + +**Note:** Version bump only for package @thi.ng/sparse + + + + + # 0.1.0 (2019-02-17) ### Features diff --git a/packages/sparse/package.json b/packages/sparse/package.json index 001cb6171e..5a71258d97 100644 --- a/packages/sparse/package.json +++ b/packages/sparse/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/sparse", - "version": "0.1.30", + "version": "0.1.31", "description": "Sparse vector & matrix implementations", "module": "./index.js", "main": "./lib/index.js", @@ -38,8 +38,8 @@ "typescript": "^3.8.3" }, "dependencies": { - "@thi.ng/api": "^6.8.3", - "@thi.ng/transducers": "^6.4.1", + "@thi.ng/api": "^6.9.0", + "@thi.ng/transducers": "^6.4.2", "tslib": "^1.11.1" }, "keywords": [ diff --git a/packages/strings/CHANGELOG.md b/packages/strings/CHANGELOG.md index 015a78607f..4bb9343e09 100644 --- a/packages/strings/CHANGELOG.md +++ b/packages/strings/CHANGELOG.md @@ -3,6 +3,19 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [1.8.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/strings@1.7.0...@thi.ng/strings@1.8.0) (2020-03-28) + + +### Features + +* **strings:** add join() HOF ([1c5c46f](https://github.com/thi-ng/umbrella/commit/1c5c46f5ac832865266613a6d71024507238b694)) +* **strings:** add slugifyGH(), refactor slugify() ([1ef805b](https://github.com/thi-ng/umbrella/commit/1ef805be3f0347751eba6da0122e1277a5b81e21)) +* **strings:** add trim() HOF ([350a6c6](https://github.com/thi-ng/umbrella/commit/350a6c6cb010e00f2053fb41eeb0f458ee8fb715)) + + + + + # [1.7.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/strings@1.6.0...@thi.ng/strings@1.7.0) (2020-03-06) diff --git a/packages/strings/package.json b/packages/strings/package.json index a6d9fef7ff..d46fd062d3 100644 --- a/packages/strings/package.json +++ b/packages/strings/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/strings", - "version": "1.7.0", + "version": "1.8.0", "description": "Various string formatting & utility functions", "module": "./index.js", "main": "./lib/index.js", @@ -38,9 +38,9 @@ "typescript": "^3.8.3" }, "dependencies": { - "@thi.ng/api": "^6.8.3", - "@thi.ng/errors": "^1.2.7", - "@thi.ng/memoize": "^2.0.3", + "@thi.ng/api": "^6.9.0", + "@thi.ng/errors": "^1.2.8", + "@thi.ng/memoize": "^2.0.4", "tslib": "^1.11.1" }, "keywords": [ diff --git a/packages/text-canvas/CHANGELOG.md b/packages/text-canvas/CHANGELOG.md index 2ef224ef52..8260489a9e 100644 --- a/packages/text-canvas/CHANGELOG.md +++ b/packages/text-canvas/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.2.2](https://github.com/thi-ng/umbrella/compare/@thi.ng/text-canvas@0.2.1...@thi.ng/text-canvas@0.2.2) (2020-03-28) + +**Note:** Version bump only for package @thi.ng/text-canvas + + + + + # [0.2.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/text-canvas@0.1.2...@thi.ng/text-canvas@0.2.0) (2020-03-01) diff --git a/packages/text-canvas/package.json b/packages/text-canvas/package.json index 54321a364b..f94c46a89f 100644 --- a/packages/text-canvas/package.json +++ b/packages/text-canvas/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/text-canvas", - "version": "0.2.1", + "version": "0.2.2", "description": "Text based canvas, drawing, tables with arbitrary formatting (incl. ANSI/HTML)", "module": "./index.js", "main": "./lib/index.js", @@ -39,12 +39,12 @@ "typescript": "^3.8.3" }, "dependencies": { - "@thi.ng/api": "^6.8.3", - "@thi.ng/arrays": "^0.5.6", - "@thi.ng/geom-clip-line": "^1.0.4", - "@thi.ng/math": "^1.7.3", - "@thi.ng/memoize": "^2.0.3", - "@thi.ng/transducers": "^6.4.1", + "@thi.ng/api": "^6.9.0", + "@thi.ng/arrays": "^0.6.0", + "@thi.ng/geom-clip-line": "^1.0.5", + "@thi.ng/math": "^1.7.4", + "@thi.ng/memoize": "^2.0.4", + "@thi.ng/transducers": "^6.4.2", "tslib": "^1.11.1" }, "keywords": [ diff --git a/packages/transducers-binary/CHANGELOG.md b/packages/transducers-binary/CHANGELOG.md index 16f5fff40e..14c9d2b1bb 100644 --- a/packages/transducers-binary/CHANGELOG.md +++ b/packages/transducers-binary/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.5.5](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers-binary@0.5.4...@thi.ng/transducers-binary@0.5.5) (2020-03-28) + +**Note:** Version bump only for package @thi.ng/transducers-binary + + + + + # [0.5.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers-binary@0.4.9...@thi.ng/transducers-binary@0.5.0) (2020-02-25) diff --git a/packages/transducers-binary/package.json b/packages/transducers-binary/package.json index ae4a5bb802..c39fe5a726 100644 --- a/packages/transducers-binary/package.json +++ b/packages/transducers-binary/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/transducers-binary", - "version": "0.5.4", + "version": "0.5.5", "description": "Binary data related transducers & reducers", "module": "./index.js", "main": "./lib/index.js", @@ -38,10 +38,10 @@ "typescript": "^3.8.3" }, "dependencies": { - "@thi.ng/compose": "^1.3.12", - "@thi.ng/random": "^1.4.1", - "@thi.ng/strings": "^1.7.0", - "@thi.ng/transducers": "^6.4.1", + "@thi.ng/compose": "^1.4.0", + "@thi.ng/random": "^1.4.2", + "@thi.ng/strings": "^1.8.0", + "@thi.ng/transducers": "^6.4.2", "tslib": "^1.11.1" }, "keywords": [ diff --git a/packages/transducers-fsm/CHANGELOG.md b/packages/transducers-fsm/CHANGELOG.md index b1f0850128..6bbf67557e 100644 --- a/packages/transducers-fsm/CHANGELOG.md +++ b/packages/transducers-fsm/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.1.15](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers-fsm@1.1.14...@thi.ng/transducers-fsm@1.1.15) (2020-03-28) + +**Note:** Version bump only for package @thi.ng/transducers-fsm + + + + + # [1.1.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers-fsm@1.0.19...@thi.ng/transducers-fsm@1.1.0) (2019-07-07) ### Features diff --git a/packages/transducers-fsm/package.json b/packages/transducers-fsm/package.json index 6b9878fc52..9b0be4c180 100644 --- a/packages/transducers-fsm/package.json +++ b/packages/transducers-fsm/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/transducers-fsm", - "version": "1.1.14", + "version": "1.1.15", "description": "Transducer-based Finite State Machine transformer", "module": "./index.js", "main": "./lib/index.js", @@ -38,8 +38,8 @@ "typescript": "^3.8.3" }, "dependencies": { - "@thi.ng/api": "^6.8.3", - "@thi.ng/transducers": "^6.4.1", + "@thi.ng/api": "^6.9.0", + "@thi.ng/transducers": "^6.4.2", "tslib": "^1.11.1" }, "keywords": [ diff --git a/packages/transducers-hdom/CHANGELOG.md b/packages/transducers-hdom/CHANGELOG.md index abac55acff..d7cc3dbbe9 100644 --- a/packages/transducers-hdom/CHANGELOG.md +++ b/packages/transducers-hdom/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [2.0.40](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers-hdom@2.0.39...@thi.ng/transducers-hdom@2.0.40) (2020-03-28) + +**Note:** Version bump only for package @thi.ng/transducers-hdom + + + + + # [2.0.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers-hdom@1.2.16...@thi.ng/transducers-hdom@2.0.0) (2019-01-21) ### Build System diff --git a/packages/transducers-hdom/package.json b/packages/transducers-hdom/package.json index 2cbea30669..2bb70371a4 100644 --- a/packages/transducers-hdom/package.json +++ b/packages/transducers-hdom/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/transducers-hdom", - "version": "2.0.39", + "version": "2.0.40", "description": "Transducer based UI updater for @thi.ng/hdom", "module": "./index.js", "main": "./lib/index.js", @@ -38,9 +38,9 @@ "typescript": "^3.8.3" }, "dependencies": { - "@thi.ng/hdom": "^8.0.14", - "@thi.ng/hiccup": "^3.2.13", - "@thi.ng/transducers": "^6.4.1", + "@thi.ng/hdom": "^8.0.15", + "@thi.ng/hiccup": "^3.2.14", + "@thi.ng/transducers": "^6.4.2", "tslib": "^1.11.1" }, "keywords": [ diff --git a/packages/transducers-patch/CHANGELOG.md b/packages/transducers-patch/CHANGELOG.md index c1de10acba..465219fe7c 100644 --- a/packages/transducers-patch/CHANGELOG.md +++ b/packages/transducers-patch/CHANGELOG.md @@ -3,6 +3,17 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.1.5](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers-patch@0.1.4...@thi.ng/transducers-patch@0.1.5) (2020-03-28) + + +### Bug Fixes + +* **transducers-patch:** update deps & imports ([71d73c3](https://github.com/thi-ng/umbrella/commit/71d73c3acc41d6cf2c5a4a91432bc85afa38980b)) + + + + + # 0.1.0 (2020-02-25) diff --git a/packages/transducers-patch/package.json b/packages/transducers-patch/package.json index 688f1bc971..1dbcc4e202 100644 --- a/packages/transducers-patch/package.json +++ b/packages/transducers-patch/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/transducers-patch", - "version": "0.1.4", + "version": "0.1.5", "description": "Reducers for patch-based, immutable-by-default array & object editing", "module": "./index.js", "main": "./lib/index.js", @@ -38,11 +38,11 @@ "typescript": "^3.8.3" }, "dependencies": { - "@thi.ng/api": "^6.8.3", - "@thi.ng/checks": "^2.5.4", - "@thi.ng/errors": "^1.2.7", - "@thi.ng/paths": "^3.0.5", - "@thi.ng/transducers": "^6.4.1", + "@thi.ng/api": "^6.9.0", + "@thi.ng/checks": "^2.6.0", + "@thi.ng/errors": "^1.2.8", + "@thi.ng/paths": "^4.0.0", + "@thi.ng/transducers": "^6.4.2", "tslib": "^1.11.1" }, "keywords": [ diff --git a/packages/transducers-stats/CHANGELOG.md b/packages/transducers-stats/CHANGELOG.md index 9329b12832..da8814c407 100644 --- a/packages/transducers-stats/CHANGELOG.md +++ b/packages/transducers-stats/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.1.15](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers-stats@1.1.14...@thi.ng/transducers-stats@1.1.15) (2020-03-28) + +**Note:** Version bump only for package @thi.ng/transducers-stats + + + + + # [1.1.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers-stats@1.0.19...@thi.ng/transducers-stats@1.1.0) (2019-07-07) ### Features diff --git a/packages/transducers-stats/package.json b/packages/transducers-stats/package.json index b772191875..9649386f7d 100644 --- a/packages/transducers-stats/package.json +++ b/packages/transducers-stats/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/transducers-stats", - "version": "1.1.14", + "version": "1.1.15", "description": "Transducers for statistical / technical analysis", "module": "./index.js", "main": "./lib/index.js", @@ -38,10 +38,10 @@ "typescript": "^3.8.3" }, "dependencies": { - "@thi.ng/checks": "^2.5.4", - "@thi.ng/dcons": "^2.2.7", - "@thi.ng/errors": "^1.2.7", - "@thi.ng/transducers": "^6.4.1", + "@thi.ng/checks": "^2.6.0", + "@thi.ng/dcons": "^2.2.8", + "@thi.ng/errors": "^1.2.8", + "@thi.ng/transducers": "^6.4.2", "tslib": "^1.11.1" }, "keywords": [ diff --git a/packages/transducers/CHANGELOG.md b/packages/transducers/CHANGELOG.md index 885dd8b34b..b48a83b036 100644 --- a/packages/transducers/CHANGELOG.md +++ b/packages/transducers/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [6.4.2](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers@6.4.1...@thi.ng/transducers@6.4.2) (2020-03-28) + +**Note:** Version bump only for package @thi.ng/transducers + + + + + # [6.4.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers@6.3.2...@thi.ng/transducers@6.4.0) (2020-03-01) diff --git a/packages/transducers/package.json b/packages/transducers/package.json index 08c9ed7e33..e43992296e 100644 --- a/packages/transducers/package.json +++ b/packages/transducers/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/transducers", - "version": "6.4.1", + "version": "6.4.2", "description": "Lightweight transducer implementations for ES6 / TypeScript", "module": "./index.js", "main": "./lib/index.js", @@ -38,16 +38,16 @@ "typescript": "^3.8.3" }, "dependencies": { - "@thi.ng/api": "^6.8.3", - "@thi.ng/arrays": "^0.5.6", - "@thi.ng/checks": "^2.5.4", - "@thi.ng/compare": "^1.2.1", - "@thi.ng/compose": "^1.3.12", - "@thi.ng/equiv": "^1.0.16", - "@thi.ng/errors": "^1.2.7", - "@thi.ng/math": "^1.7.3", - "@thi.ng/random": "^1.4.1", - "@thi.ng/strings": "^1.7.0", + "@thi.ng/api": "^6.9.0", + "@thi.ng/arrays": "^0.6.0", + "@thi.ng/checks": "^2.6.0", + "@thi.ng/compare": "^1.2.2", + "@thi.ng/compose": "^1.4.0", + "@thi.ng/equiv": "^1.0.17", + "@thi.ng/errors": "^1.2.8", + "@thi.ng/math": "^1.7.4", + "@thi.ng/random": "^1.4.2", + "@thi.ng/strings": "^1.8.0", "tslib": "^1.11.1" }, "keywords": [ diff --git a/packages/unionstruct/CHANGELOG.md b/packages/unionstruct/CHANGELOG.md index bb593e62f4..ec071c3270 100644 --- a/packages/unionstruct/CHANGELOG.md +++ b/packages/unionstruct/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.1.10](https://github.com/thi-ng/umbrella/compare/@thi.ng/unionstruct@1.1.9...@thi.ng/unionstruct@1.1.10) (2020-03-28) + +**Note:** Version bump only for package @thi.ng/unionstruct + + + + + # [1.1.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/unionstruct@1.0.6...@thi.ng/unionstruct@1.1.0) (2019-07-07) ### Bug Fixes diff --git a/packages/unionstruct/package.json b/packages/unionstruct/package.json index 28d1d31ada..ba359aecbf 100644 --- a/packages/unionstruct/package.json +++ b/packages/unionstruct/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/unionstruct", - "version": "1.1.9", + "version": "1.1.10", "description": "C-style struct, union and bitfield read/write views of ArrayBuffers", "module": "./index.js", "main": "./lib/index.js", diff --git a/packages/vector-pools/CHANGELOG.md b/packages/vector-pools/CHANGELOG.md index f6702d10e9..db8ff3f344 100644 --- a/packages/vector-pools/CHANGELOG.md +++ b/packages/vector-pools/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.0.18](https://github.com/thi-ng/umbrella/compare/@thi.ng/vector-pools@1.0.17...@thi.ng/vector-pools@1.0.18) (2020-03-28) + +**Note:** Version bump only for package @thi.ng/vector-pools + + + + + # [1.0.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/vector-pools@0.2.16...@thi.ng/vector-pools@1.0.0) (2019-07-07) ### Code Refactoring diff --git a/packages/vector-pools/package.json b/packages/vector-pools/package.json index a8856b6e37..ff18a6d0fe 100644 --- a/packages/vector-pools/package.json +++ b/packages/vector-pools/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/vector-pools", - "version": "1.0.17", + "version": "1.0.18", "description": "Data structures for managing & working with strided, memory mapped vectors", "module": "./index.js", "main": "./lib/index.js", @@ -38,12 +38,12 @@ "typescript": "^3.8.3" }, "dependencies": { - "@thi.ng/api": "^6.8.3", - "@thi.ng/binary": "^2.0.0", - "@thi.ng/checks": "^2.5.4", - "@thi.ng/malloc": "^4.1.7", - "@thi.ng/transducers": "^6.4.1", - "@thi.ng/vectors": "^4.2.1", + "@thi.ng/api": "^6.9.0", + "@thi.ng/binary": "^2.0.1", + "@thi.ng/checks": "^2.6.0", + "@thi.ng/malloc": "^4.1.8", + "@thi.ng/transducers": "^6.4.2", + "@thi.ng/vectors": "^4.2.2", "tslib": "^1.11.1" }, "keywords": [ diff --git a/packages/vectors/CHANGELOG.md b/packages/vectors/CHANGELOG.md index fd180cc78e..e0337730c2 100644 --- a/packages/vectors/CHANGELOG.md +++ b/packages/vectors/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [4.2.2](https://github.com/thi-ng/umbrella/compare/@thi.ng/vectors@4.2.1...@thi.ng/vectors@4.2.2) (2020-03-28) + +**Note:** Version bump only for package @thi.ng/vectors + + + + + # [4.2.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/vectors@4.1.2...@thi.ng/vectors@4.2.0) (2020-03-01) diff --git a/packages/vectors/package.json b/packages/vectors/package.json index 329c177079..543e6a6010 100644 --- a/packages/vectors/package.json +++ b/packages/vectors/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/vectors", - "version": "4.2.1", + "version": "4.2.2", "description": "Optimized 2d/3d/4d and arbitrary length vector operations", "module": "./index.js", "main": "./lib/index.js", @@ -38,15 +38,15 @@ "typescript": "^3.8.3" }, "dependencies": { - "@thi.ng/api": "^6.8.3", - "@thi.ng/binary": "^2.0.0", - "@thi.ng/checks": "^2.5.4", - "@thi.ng/equiv": "^1.0.16", - "@thi.ng/errors": "^1.2.7", - "@thi.ng/math": "^1.7.3", - "@thi.ng/memoize": "^2.0.3", - "@thi.ng/random": "^1.4.1", - "@thi.ng/transducers": "^6.4.1", + "@thi.ng/api": "^6.9.0", + "@thi.ng/binary": "^2.0.1", + "@thi.ng/checks": "^2.6.0", + "@thi.ng/equiv": "^1.0.17", + "@thi.ng/errors": "^1.2.8", + "@thi.ng/math": "^1.7.4", + "@thi.ng/memoize": "^2.0.4", + "@thi.ng/random": "^1.4.2", + "@thi.ng/transducers": "^6.4.2", "tslib": "^1.11.1" }, "keywords": [ diff --git a/packages/webgl-msdf/CHANGELOG.md b/packages/webgl-msdf/CHANGELOG.md index dc05d6c923..9294a17444 100644 --- a/packages/webgl-msdf/CHANGELOG.md +++ b/packages/webgl-msdf/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.1.18](https://github.com/thi-ng/umbrella/compare/@thi.ng/webgl-msdf@0.1.17...@thi.ng/webgl-msdf@0.1.18) (2020-03-28) + +**Note:** Version bump only for package @thi.ng/webgl-msdf + + + + + ## [0.1.10](https://github.com/thi-ng/umbrella/compare/@thi.ng/webgl-msdf@0.1.9...@thi.ng/webgl-msdf@0.1.10) (2019-11-30) ### Bug Fixes diff --git a/packages/webgl-msdf/package.json b/packages/webgl-msdf/package.json index 36f79c520d..6c020c21d9 100644 --- a/packages/webgl-msdf/package.json +++ b/packages/webgl-msdf/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/webgl-msdf", - "version": "0.1.17", + "version": "0.1.18", "description": "Multi-channel SDF font rendering & basic text layout for WebGL", "module": "./index.js", "main": "./lib/index.js", @@ -38,12 +38,12 @@ "typescript": "^3.8.3" }, "dependencies": { - "@thi.ng/api": "^6.8.3", - "@thi.ng/shader-ast": "^0.3.10", - "@thi.ng/transducers": "^6.4.1", - "@thi.ng/vector-pools": "^1.0.17", - "@thi.ng/vectors": "^4.2.1", - "@thi.ng/webgl": "^0.3.4", + "@thi.ng/api": "^6.9.0", + "@thi.ng/shader-ast": "^0.3.11", + "@thi.ng/transducers": "^6.4.2", + "@thi.ng/vector-pools": "^1.0.18", + "@thi.ng/vectors": "^4.2.2", + "@thi.ng/webgl": "^1.0.0", "tslib": "^1.11.1" }, "keywords": [ diff --git a/packages/webgl-shadertoy/CHANGELOG.md b/packages/webgl-shadertoy/CHANGELOG.md index 5d29c77e65..7367a1c904 100644 --- a/packages/webgl-shadertoy/CHANGELOG.md +++ b/packages/webgl-shadertoy/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.2.5](https://github.com/thi-ng/umbrella/compare/@thi.ng/webgl-shadertoy@0.2.4...@thi.ng/webgl-shadertoy@0.2.5) (2020-03-28) + +**Note:** Version bump only for package @thi.ng/webgl-shadertoy + + + + + # [0.2.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/webgl-shadertoy@0.1.4...@thi.ng/webgl-shadertoy@0.2.0) (2020-02-25) diff --git a/packages/webgl-shadertoy/package.json b/packages/webgl-shadertoy/package.json index 72b7ada4bc..9ef5d926d1 100644 --- a/packages/webgl-shadertoy/package.json +++ b/packages/webgl-shadertoy/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/webgl-shadertoy", - "version": "0.2.4", + "version": "0.2.5", "description": "Basic WebGL scaffolding for running interactive fragment shaders via @thi.ng/shader-ast", "module": "./index.js", "main": "./lib/index.js", @@ -38,11 +38,11 @@ "typescript": "^3.8.3" }, "dependencies": { - "@thi.ng/api": "^6.8.3", - "@thi.ng/shader-ast": "^0.3.10", - "@thi.ng/shader-ast-glsl": "^0.1.16", - "@thi.ng/transducers": "^6.4.1", - "@thi.ng/webgl": "^0.3.4", + "@thi.ng/api": "^6.9.0", + "@thi.ng/shader-ast": "^0.3.11", + "@thi.ng/shader-ast-glsl": "^0.1.17", + "@thi.ng/transducers": "^6.4.2", + "@thi.ng/webgl": "^1.0.0", "tslib": "^1.11.1" }, "keywords": [ diff --git a/packages/webgl/CHANGELOG.md b/packages/webgl/CHANGELOG.md index fba53f5588..5b9394ff57 100644 --- a/packages/webgl/CHANGELOG.md +++ b/packages/webgl/CHANGELOG.md @@ -3,6 +3,38 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [1.0.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/webgl@0.3.4...@thi.ng/webgl@1.0.0) (2020-03-28) + + +### Code Refactoring + +* **webgl:** rename factory functions ([633f693](https://github.com/thi-ng/umbrella/commit/633f69387a9ddf35919b9b6dd108068a9e05aec7)) + + +### Features + +* **webgl:** add DrawMode enums ([5adaa23](https://github.com/thi-ng/umbrella/commit/5adaa23c5aa06b2229cb55d216f424b367875217)) + + +### BREAKING CHANGES + +* **webgl:** #210, rename factory functions (`defXXX`) + +- rename buffer() => defBuffer() +- rename fbo() => defFBO() +- rename rbo() => defRBO() +- rename multipass() => defMultiPass() +- rename shader() => defShader() +- rename texture() => defTexture() +- rename cubeMap() => defTextureCubeMap() +- rename floatTexture() => defTextureFloat() +- rename cube() => defCubeModel() +- rename quad() => defQuadModel() + + + + + # [0.3.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/webgl@0.2.4...@thi.ng/webgl@0.3.0) (2020-02-25) diff --git a/packages/webgl/package.json b/packages/webgl/package.json index bc8f4be4cc..5164f30803 100644 --- a/packages/webgl/package.json +++ b/packages/webgl/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/webgl", - "version": "0.3.4", + "version": "1.0.0", "description": "WebGL & GLSL abstraction layer", "module": "./index.js", "main": "./lib/index.js", @@ -38,20 +38,20 @@ "typescript": "^3.8.3" }, "dependencies": { - "@thi.ng/api": "^6.8.3", - "@thi.ng/associative": "^3.1.8", - "@thi.ng/binary": "^2.0.0", - "@thi.ng/checks": "^2.5.4", - "@thi.ng/equiv": "^1.0.16", - "@thi.ng/errors": "^1.2.7", - "@thi.ng/matrices": "^0.6.4", - "@thi.ng/pixel": "^0.1.12", - "@thi.ng/shader-ast": "^0.3.10", - "@thi.ng/shader-ast-glsl": "^0.1.16", - "@thi.ng/shader-ast-stdlib": "^0.3.9", - "@thi.ng/transducers": "^6.4.1", - "@thi.ng/vector-pools": "^1.0.17", - "@thi.ng/vectors": "^4.2.1", + "@thi.ng/api": "^6.9.0", + "@thi.ng/associative": "^4.0.0", + "@thi.ng/binary": "^2.0.1", + "@thi.ng/checks": "^2.6.0", + "@thi.ng/equiv": "^1.0.17", + "@thi.ng/errors": "^1.2.8", + "@thi.ng/matrices": "^0.6.5", + "@thi.ng/pixel": "^0.1.13", + "@thi.ng/shader-ast": "^0.3.11", + "@thi.ng/shader-ast-glsl": "^0.1.17", + "@thi.ng/shader-ast-stdlib": "^0.3.10", + "@thi.ng/transducers": "^6.4.2", + "@thi.ng/vector-pools": "^1.0.18", + "@thi.ng/vectors": "^4.2.2", "tslib": "^1.11.1" }, "keywords": [ diff --git a/packages/zipper/CHANGELOG.md b/packages/zipper/CHANGELOG.md index 7dc5672619..b1b3e6f696 100644 --- a/packages/zipper/CHANGELOG.md +++ b/packages/zipper/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.1.8](https://github.com/thi-ng/umbrella/compare/@thi.ng/zipper@0.1.7...@thi.ng/zipper@0.1.8) (2020-03-28) + +**Note:** Version bump only for package @thi.ng/zipper + + + + + # 0.1.0 (2019-11-30) ### Features diff --git a/packages/zipper/package.json b/packages/zipper/package.json index 46f497843f..bfb4500488 100644 --- a/packages/zipper/package.json +++ b/packages/zipper/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/zipper", - "version": "0.1.7", + "version": "0.1.8", "description": "Functional tree editing, manipulation & navigation", "module": "./index.js", "main": "./lib/index.js", @@ -38,9 +38,9 @@ "typescript": "^3.8.3" }, "dependencies": { - "@thi.ng/api": "^6.8.3", - "@thi.ng/arrays": "^0.5.6", - "@thi.ng/checks": "^2.5.4", + "@thi.ng/api": "^6.9.0", + "@thi.ng/arrays": "^0.6.0", + "@thi.ng/checks": "^2.6.0", "tslib": "^1.11.1" }, "keywords": [