diff --git a/.all-contributorsrc b/.all-contributorsrc
index e4b8bd889f..ebcaa432dd 100644
--- a/.all-contributorsrc
+++ b/.all-contributorsrc
@@ -307,6 +307,25 @@
"contributions": [
"bug"
]
+ },
+ {
+ "login": "Shakthi",
+ "name": "Shakthi Prasad G S",
+ "avatar_url": "https://avatars.githubusercontent.com/u/1297378?v=4",
+ "profile": "https://github.com/Shakthi",
+ "contributions": [
+ "bug",
+ "code"
+ ]
+ },
+ {
+ "login": "Robsteranium",
+ "name": "Robin Gower",
+ "avatar_url": "https://avatars.githubusercontent.com/u/49654?v=4",
+ "profile": "http://infonomics.ltd.uk",
+ "contributions": [
+ "bug"
+ ]
}
],
"contributorsPerLine": 7,
diff --git a/.gitattributes b/.gitattributes
index 9de645f634..88be73abd7 100644
--- a/.gitattributes
+++ b/.gitattributes
@@ -5,5 +5,5 @@
*.pdf -text
*.png -text
*.gz -text
-tools/doc/typedoc-theme/* linguist-vendored
+tools/doc/typedoc-theme/* -linguist-detectable
yarn.lock -diff
\ No newline at end of file
diff --git a/README.md b/README.md
index a04e491888..3987a54645 100644
--- a/README.md
+++ b/README.md
@@ -13,13 +13,13 @@
> the composer of. Geared towards versatility, not any specific type of music."
> — [@loganpowell](https://twitter.com/logantpowell/status/1186334119812304901) via Twitter
-Mono-repository for 148+ thi.ng TypeScript/ES6 projects, a wide
-collection of largely data transformation oriented packages and building
-blocks for (non-exhaustive list of topics):
-
**Please visit [thi.ng](https://thi.ng) for additional information & topic based
search of packages relevant to your use cases...**
+Mono-repository for 151+ thi.ng TypeScript/ES6 projects, a wide
+collection of largely data transformation oriented packages and building
+blocks for (non-exhaustive list of topics):
+
- Functional programming (composition, memoization, transducers, multi-methods)
- Data structures & data transformations for wide range of use cases (list,
sets, maps, joins, spatial indexing, clocks)
@@ -81,7 +81,7 @@ Most packages:
## Examples
-There's a steadily growing number (~100) of standalone examples
+There's a steadily growing number (100+) of standalone examples
(different complexities, often combining functionality from several
packages) in the [**examples**](./examples/README.md) directory.
@@ -132,17 +132,19 @@ for other project-wide information, tidbits, useful snippets etc.
feature or `develop` branches)
-->
-### Latest additions / major updates (2021-02-20)
+### Latest additions / updates (since 04/2021)
-| Project | Version | Changelog | Description |
-|---------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------|------------------------------------------------------|-------------------------------------------------------|
-| [`@thi.ng/api`](./packages/api) | [![version](https://img.shields.io/npm/v/@thi.ng/api.svg)](https://www.npmjs.com/package/@thi.ng/api) | [changelog](./packages/api/CHANGELOG.md) | repo wide type alias replacements |
-| [`@thi.ng/color`](./packages/color) | [![version](https://img.shields.io/npm/v/@thi.ng/color.svg)](https://www.npmjs.com/package/@thi.ng/color) | [changelog](./packages/color/CHANGELOG.md) | Complete refactor/overhaul/extension of color package |
-| [`@thi.ng/malloc`](./packages/malloc) | [![version](https://img.shields.io/npm/v/@thi.ng/malloc.svg)](https://www.npmjs.com/package/@thi.ng/malloc) | [changelog](./packages/malloc/CHANGELOG.md) | repo wide type alias replacements |
-| [`@thi.ng/pixel-io-netpbm`](./packages/pixel-io-netpbm) | [![version](https://img.shields.io/npm/v/@thi.ng/pixel-io-netpbm.svg)](https://www.npmjs.com/package/@thi.ng/pixel-io-netpbm) | [changelog](./packages/pixel-io-netpbm/CHANGELOG.md) | 1/8/16/24bit NetPBM image format reader/writer |
-| [`@thi.ng/vectors`](./packages/vectors) | [![version](https://img.shields.io/npm/v/@thi.ng/vectors.svg)](https://www.npmjs.com/package/@thi.ng/vectors) | [changelog](./packages/vectors/CHANGELOG.md) | repo wide type alias replacements |
-| [`@thi.ng/vector-pools`](./packages/vector-pools) | [![version](https://img.shields.io/npm/v/@thi.ng/vector-pools.svg)](https://www.npmjs.com/package/@thi.ng/vector-pools) | [changelog](./packages/vector-pools/CHANGELOG.md) | repo wide type alias replacements |
-| [`@thi.ng/webgl`](./packages/webgl) | [![version](https://img.shields.io/npm/v/@thi.ng/webgl.svg)](https://www.npmjs.com/package/@thi.ng/webgl) | [changelog](./packages/webgl/CHANGELOG.md) | repo wide type alias replacements |
+| Project | Version | Changelog | Description |
+|-------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------|--------------------------------------------------|------------------------------------------------|
+| [`@thi.ng/date`](./packages/date) | [![version](https://img.shields.io/npm/v/@thi.ng/date.svg)](https://www.npmjs.com/package/@thi.ng/date) | [changelog](./packages/date/CHANGELOG.md) | Date/time iterators, formatters, rounding |
+| [`@thi.ng/distance`](./packages/distance) | [![version](https://img.shields.io/npm/v/@thi.ng/distance.svg)](https://www.npmjs.com/package/@thi.ng/distance) | [changelog](./packages/distance/CHANGELOG.md) | n-D distance metrics & K-nearest neighborhoods |
+| [`@thi.ng/k-means`](./packages/k-means) | [![version](https://img.shields.io/npm/v/@thi.ng/k-means.svg)](https://www.npmjs.com/package/@thi.ng/k-means) | [changelog](./packages/k-means/CHANGELOG.md) | K-means clustering of n-D data |
+| [`@thi.ng/lowdisc`](./packages/lowdisc) | [![version](https://img.shields.io/npm/v/@thi.ng/lowdisc.svg)](https://www.npmjs.com/package/@thi.ng/lowdisc) | [changelog](./packages/lowdisc/CHANGELOG.md) | n-D Low discrepancy sequence generators |
+| [`@thi.ng/math`](./packages/math) | [![version](https://img.shields.io/npm/v/@thi.ng/math.svg)](https://www.npmjs.com/package/@thi.ng/math) | [changelog](./packages/math/CHANGELOG.md) | Assorted common math functions & utilities |
+| [`@thi.ng/mime`](./packages/mime) | [![version](https://img.shields.io/npm/v/@thi.ng/mime.svg)](https://www.npmjs.com/package/@thi.ng/mime) | [changelog](./packages/mime/CHANGELOG.md) | File extension to MIME type mappings |
+| [`@thi.ng/pixel`](./packages/pixel) | [![version](https://img.shields.io/npm/v/@thi.ng/pixel.svg)](https://www.npmjs.com/package/@thi.ng/pixel) | [changelog](./packages/pixel/CHANGELOG.md) | Multi-format pixel buffers |
+| [`@thi.ng/transducers`](./packages/transducers) | [![version](https://img.shields.io/npm/v/@thi.ng/transducers.svg)](https://www.npmjs.com/package/@thi.ng/transducers) | [changelog](./packages/transducers/CHANGELOG.md) | Composable data transformations |
+| [`@thi.ng/vectors`](./packages/vectors) | [![version](https://img.shields.io/npm/v/@thi.ng/vectors.svg)](https://www.npmjs.com/package/@thi.ng/vectors) | [changelog](./packages/vectors/CHANGELOG.md) | Fixed & arbitrary-length vector ops |
### Fundamentals
@@ -186,6 +188,7 @@ feature or `develop` branches)
|-----------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------|----------------------------------------------------|----------------------------------------------------------|
| [`@thi.ng/colored-noise`](./packages/colored-noise) | [![version](https://img.shields.io/npm/v/@thi.ng/colored-noise.svg)](https://www.npmjs.com/package/@thi.ng/colored-noise) | [changelog](./packages/colored-noise/CHANGELOG.md) | 1D colored noise generators |
| [`@thi.ng/ksuid`](./packages/ksuid) | [![version](https://img.shields.io/npm/v/@thi.ng/ksuid.svg)](https://www.npmjs.com/package/@thi.ng/ksuid) | [changelog](./packages/ksuid/CHANGELOG.md) | K-sortable unique identifiers, binary & base-N encoded |
+| [`@thi.ng/lowdisc`](./packages/lowdisc) | [![version](https://img.shields.io/npm/v/@thi.ng/lowdisc.svg)](https://www.npmjs.com/package/@thi.ng/lowdisc) | [changelog](./packages/lowdisc/CHANGELOG.md) | n-D Low discrepancy sequence generators |
| [`@thi.ng/random`](./packages/random) | [![version](https://img.shields.io/npm/v/@thi.ng/random.svg)](https://www.npmjs.com/package/@thi.ng/random) | [changelog](./packages/random/CHANGELOG.md) | Seedable PRNG implementations, distributions & utilities |
### File format support
@@ -236,7 +239,7 @@ feature or `develop` branches)
| [`@thi.ng/rstream-log-file`](./packages/rstream-log-file) | [![version](https://img.shields.io/npm/v/@thi.ng/rstream-log-file.svg)](https://www.npmjs.com/package/@thi.ng/rstream-log-file) | [changelog](./packages/rstream-log-file/CHANGELOG.md) | Log-file output handler |
| [`@thi.ng/rstream-query`](./packages/rstream-query) | [![version](https://img.shields.io/npm/v/@thi.ng/rstream-query.svg)](https://www.npmjs.com/package/@thi.ng/rstream-query) | [changelog](./packages/rstream-query/CHANGELOG.md) | Triple store & query engine |
-### Data structures
+### Algorithms & data structures
| Project | Version | Changelog | Description |
|-------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------|--------------------------------------------------|------------------------------------------|
@@ -254,6 +257,7 @@ feature or `develop` branches)
| [`@thi.ng/gp`](./packages/gp) | [![version](https://img.shields.io/npm/v/@thi.ng/gp.svg)](https://www.npmjs.com/package/@thi.ng/gp) | [changelog](./packages/gp/CHANGELOG.md) | Genetic programming helpers / AST gen |
| [`@thi.ng/heaps`](./packages/heaps) | [![version](https://img.shields.io/npm/v/@thi.ng/heaps.svg)](https://www.npmjs.com/package/@thi.ng/heaps) | [changelog](./packages/heaps/CHANGELOG.md) | Binary & d-ary heap impls |
| [`@thi.ng/idgen`](./packages/idgen) | [![version](https://img.shields.io/npm/v/@thi.ng/idgen.svg)](https://www.npmjs.com/package/@thi.ng/idgen) | [changelog](./packages/idgen/CHANGELOG.md) | Versioned ID generation / free-list |
+| [`@thi.ng/k-means`](./packages/k-means) | [![version](https://img.shields.io/npm/v/@thi.ng/k-means.svg)](https://www.npmjs.com/package/@thi.ng/k-means) | [changelog](./packages/k-means/CHANGELOG.md) | K-means clustering of n-D data |
| [`@thi.ng/ramp`](./packages/ramp) | [![version](https://img.shields.io/npm/v/@thi.ng/ramp.svg)](https://www.npmjs.com/package/@thi.ng/ramp) | [changelog](./packages/ramp/CHANGELOG.md) | Parametric, interpolated lookup tables |
| [`@thi.ng/quad-edge`](./packages/quad-edge) | [![version](https://img.shields.io/npm/v/@thi.ng/quad-edge.svg)](https://www.npmjs.com/package/@thi.ng/quad-edge) | [changelog](./packages/quad-edge/CHANGELOG.md) | Quad-edge, dual-graph data structure |
| [`@thi.ng/resolve-map`](./packages/resolve-map) | [![version](https://img.shields.io/npm/v/@thi.ng/resolve-map.svg)](https://www.npmjs.com/package/@thi.ng/resolve-map) | [changelog](./packages/resolve-map/CHANGELOG.md) | DAG computations & value resolution |
@@ -461,6 +465,8 @@ Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/d
d3v53c 🐛 🛡️ |
Jannis Pohlmann 🐛 |
+ Shakthi Prasad G S 🐛 💻 |
+ Robin Gower 🐛 |
diff --git a/assets/examples/dominant-colors.png b/assets/examples/dominant-colors.png
new file mode 100644
index 0000000000..369425e293
Binary files /dev/null and b/assets/examples/dominant-colors.png differ
diff --git a/assets/lowdisc/ld-halton-small.gif b/assets/lowdisc/ld-halton-small.gif
new file mode 100644
index 0000000000..d050740519
Binary files /dev/null and b/assets/lowdisc/ld-halton-small.gif differ
diff --git a/assets/lowdisc/ld-kronecker-small.gif b/assets/lowdisc/ld-kronecker-small.gif
new file mode 100644
index 0000000000..1238ee1820
Binary files /dev/null and b/assets/lowdisc/ld-kronecker-small.gif differ
diff --git a/assets/lowdisc/ld-plastic-small.gif b/assets/lowdisc/ld-plastic-small.gif
new file mode 100644
index 0000000000..a2d5f2748c
Binary files /dev/null and b/assets/lowdisc/ld-plastic-small.gif differ
diff --git a/assets/pixel/dominant-colors-01.jpg b/assets/pixel/dominant-colors-01.jpg
new file mode 100644
index 0000000000..4c84add2ed
Binary files /dev/null and b/assets/pixel/dominant-colors-01.jpg differ
diff --git a/examples/README.md b/examples/README.md
index 3eee49e5c7..2895f6db07 100644
--- a/examples/README.md
+++ b/examples/README.md
@@ -1,7 +1,7 @@
# @thi.ng/umbrella examples
-This directory contains a growing number (currently 101) of standalone
+This directory contains a growing number (currently 102) of standalone
example projects, including live online versions, build instructions
and commented source code.
@@ -20,95 +20,96 @@ in touch via PR, issue tracker, email or twitter!
| 008 | | [commit-table-ssr](./commit-table-ssr/) | Filterable commit log UI w/ minimal server to provide commit history |
| 009 | | [crypto-chart](./crypto-chart/) | Basic crypto-currency candle chart with multiple moving averages plots |
| 010 | | [devcards](./devcards/) | BMI calculator in a devcards format |
-| 011 | | [ellipse-proximity](./ellipse-proximity/) | Interactive visualization of closest points on ellipses |
-| 012 | | [fft-synth](./fft-synth/) | Interactive inverse FFT toy synth |
-| 013 | | [geom-convex-hull](./geom-convex-hull/) | Convex hull & shape clipping of 2D polygons |
-| 014 | | [geom-fuzz-basics](./geom-fuzz-basics/) | geom-fuzz basic shape & fill examples |
-| 015 | | [geom-knn](./geom-knn/) | Doodle w/ K-nearest neighbor search result visualization |
-| 016 | | [geom-tessel](./geom-tessel/) | Animated, recursive polygon tessellations |
-| 017 | | [geom-voronoi-mst](./geom-voronoi-mst/) | Poisson-disk shape-aware sampling, Voronoi & Minimum Spanning Tree visualization |
-| 018 | | [gesture-analysis](./gesture-analysis/) | Mouse gesture / stroke analysis, simplification, corner detection |
-| 019 | | [grid-iterators](./grid-iterators/) | Visualization of different grid iterator strategies |
-| 020 | | [hdom-basics](./hdom-basics/) | Minimal hdom usage example |
-| 021 | | [hdom-benchmark](./hdom-benchmark/) | hdom update performance benchmark (old version) |
-| 022 | | [hdom-benchmark2](./hdom-benchmark2/) | hdom update performance benchmark w/ config options |
-| 023 | | [hdom-canvas-clock](./hdom-canvas-clock/) | Realtime analog clock demo |
-| 024 | | [hdom-canvas-draw](./hdom-canvas-draw/) | Interactive pattern drawing demo using transducers |
-| 025 | | [hdom-canvas-particles](./hdom-canvas-particles/) | 2D Bezier curve-guided particle system |
-| 026 | | [hdom-canvas-shapes](./hdom-canvas-shapes/) | Various hdom-canvas shape drawing examples & SVG conversion / export |
-| 027 | | [hdom-dropdown](./hdom-dropdown/) | Custom dropdown UI component for hdom |
-| 028 | | [hdom-dropdown-fuzzy](./hdom-dropdown-fuzzy/) | Custom dropdown UI component w/ fuzzy search |
-| 029 | | [hdom-dyn-context](./hdom-dyn-context/) | Using custom hdom context for dynamic UI theming |
-| 030 | | [hdom-elm](./hdom-elm/) | Using hdom in an Elm-like manner |
-| 031 | | [hdom-inner-html](./hdom-inner-html/) | Higher-order component for rendering HTML strings |
-| 032 | | [hdom-local-render](./hdom-local-render/) | Isolated, component-local DOM updates |
-| 033 | | [hdom-localstate](./hdom-localstate/) | UI component w/ local state stored in hdom context |
-| 034 | | [hdom-skip](./hdom-skip/) | Skipping UI updates for selected component(s) |
-| 035 | | [hdom-skip-nested](./hdom-skip-nested/) | Skipping UI updates for nested component(s) |
-| 036 | | [hdom-theme](./hdom-theme/) | Example for themed components proposal |
-| 037 | | [hdom-toggle](./hdom-toggle/) | Customizable slide toggle component demo |
-| 038 | | [hdom-vscroller](./hdom-vscroller/) | Virtual scroller component for large tables / lists |
-| 039 | | [hiccup-canvas-arcs](./hiccup-canvas-arcs/) | Animated arcs & drawing using hiccup-canvas |
-| 040 | | [hydrate-basics](./hydrate-basics/) | Hiccup / hdom DOM hydration example |
-| 041 | | [imgui](./imgui/) | Canvas based Immediate Mode GUI components |
-| 042 | | [imgui-basics](./imgui-basics/) | Minimal IMGUI usage example |
-| 043 | | [interceptor-basics](./interceptor-basics/) | Event handling w/ interceptors and side effects |
-| 044 | | [interceptor-basics2](./interceptor-basics2/) | Event handling w/ interceptors and side effects |
-| 045 | | [iso-plasma](./iso-plasma/) | Animated sine plasma effect visualized using contour lines |
-| 046 | | [json-components](./json-components/) | Transforming JSON into UI components |
-| 047 | | [login-form](./login-form/) | Basic SPA example with atom-based UI router |
-| 048 | | [mandelbrot](./mandelbrot/) | Worker based, interactive Mandelbrot visualization |
-| 049 | | [markdown](./markdown/) | Minimal Markdown to Hiccup to HTML parser / transformer |
-| 050 | | [multitouch](./multitouch/) | Basic rstream-gestures multi-touch demo |
-| 051 | | [package-stats](./package-stats/) | CLI util to visualize umbrella pkg stats |
-| 052 | | [parse-playground](./parse-playground/) | Parser grammar livecoding editor/playground & codegen |
-| 053 | | [pixel-basics](./pixel-basics/) | Pixel buffer manipulations |
-| 054 | | [pixel-sorting](./pixel-sorting/) | Interactive pixel sorting tool using thi.ng/color & thi.ng/pixel |
-| 055 | | [pointfree-svg](./pointfree-svg/) | Generate SVG using pointfree DSL |
-| 056 | | [poisson-circles](./poisson-circles/) | 2D Poisson-disc sampler with procedural gradient map |
-| 057 | | [poly-spline](./poly-spline/) | Polygon to cubic curve conversion & visualization |
-| 058 | | [porter-duff](./porter-duff/) | Port-Duff image compositing / alpha blending |
-| 059 | | [ramp-synth](./ramp-synth/) | Unison wavetable synth with waveform editor |
-| 060 | | [rdom-basics](./rdom-basics/) | Demonstates various rdom usage patterns |
-| 061 | | [rdom-dnd](./rdom-dnd/) | rdom drag & drop example |
-| 062 | | [rdom-lissajous](./rdom-lissajous/) | rdom & hiccup-canvas interop test |
-| 063 | | [rdom-search-docs](./rdom-search-docs/) | Full umbrella repo doc string search w/ paginated results |
-| 064 | | [rdom-svg-nodes](./rdom-svg-nodes/) | rdom powered SVG graph with draggable nodes |
-| 065 | | [rotating-voronoi](./rotating-voronoi/) | Animated Voronoi diagram, cubic splines & SVG download |
-| 066 | | [router-basics](./router-basics/) | Complete mini SPA app w/ router & async content loading |
-| 067 | | [rstream-dataflow](./rstream-dataflow/) | Minimal rstream dataflow graph |
-| 068 | | [rstream-event-loop](./rstream-event-loop/) | Minimal demo of using rstream constructs to form an interceptor-style event loop |
-| 069 | | [rstream-grid](./rstream-grid/) | Interactive grid generator, SVG generation & export, undo/redo support |
-| 070 | | [rstream-hdom](./rstream-hdom/) | rstream based UI updates & state handling |
-| 071 | | [rstream-spreadsheet](./rstream-spreadsheet/) | rstream based spreadsheet w/ S-expression formula DSL |
-| 072 | | [scenegraph](./scenegraph/) | 2D scenegraph & shape picking |
-| 073 | | [scenegraph-image](./scenegraph-image/) | 2D scenegraph & image map based geometry manipulation |
-| 074 | | [shader-ast-canvas2d](./shader-ast-canvas2d/) | 2D canvas shader emulation |
-| 075 | | [shader-ast-evo](./shader-ast-evo/) | Evolutionary shader generation using genetic programming |
-| 076 | | [shader-ast-noise](./shader-ast-noise/) | HOF shader procedural noise function composition |
-| 077 | | [shader-ast-raymarch](./shader-ast-raymarch/) | WebGL & JS canvas2D raymarch shader cross-compilation |
-| 078 | | [shader-ast-sdf2d](./shader-ast-sdf2d/) | WebGL & JS canvas 2D SDF |
-| 079 | | [shader-ast-tunnel](./shader-ast-tunnel/) | WebGL & Canvas2D textured tunnel shader |
-| 080 | | [shader-ast-workers](./shader-ast-workers/) | Fork-join worker-based raymarch renderer |
-| 081 | | [shader-graph](./shader-graph/) | Minimal shader graph developed during livestream #2 |
-| 082 | | [soa-ecs](./soa-ecs/) | Entity Component System w/ 100k 3D particles |
-| 083 | | [stratified-grid](./stratified-grid/) | 2D Stratified grid sampling example |
-| 084 | | [svg-barchart](./svg-barchart/) | Simplistic SVG bar chart component |
-| 085 | | [svg-particles](./svg-particles/) | Basic 2D particle system w/ SVG shapes |
-| 086 | | [svg-waveform](./svg-waveform/) | Additive waveform synthesis & SVG visualization with undo/redo |
-| 087 | | [talk-slides](./talk-slides/) | hdom based slide deck viewer & slides from my ClojureX 2018 keynote |
-| 088 | | [text-canvas](./text-canvas/) | 3D wireframe textmode demo |
-| 089 | | [text-canvas-image](./text-canvas-image/) | Textmode image warping w/ 16bit color output |
-| 090 | | [todo-list](./todo-list/) | Obligatory to-do list example with undo/redo |
-| 091 | | [transducers-hdom](./transducers-hdom/) | Transducer & rstream based hdom UI updates |
-| 092 | | [triple-query](./triple-query/) | Triple store query results & sortable table |
-| 093 | | [webgl-cube](./webgl-cube/) | WebGL multi-colored cube mesh |
-| 094 | | [webgl-cubemap](./webgl-cubemap/) | WebGL cube maps with async texture loading |
-| 095 | | [webgl-grid](./webgl-grid/) | WebGL instancing, animated grid |
-| 096 | | [webgl-msdf](./webgl-msdf/) | WebGL MSDF text rendering & particle system |
-| 097 | | [webgl-multipass](./webgl-multipass/) | Minimal multi-pass / GPGPU example |
-| 098 | | [webgl-shadertoy](./webgl-shadertoy/) | Shadertoy-like WebGL setup |
-| 099 | | [webgl-ssao](./webgl-ssao/) | WebGL screenspace ambient occlusion |
-| 100 | | [wolfram](./wolfram/) | 1D Wolfram automata with OBJ point cloud export |
-| 101 | | [xml-converter](./xml-converter/) | XML/HTML/SVG to hiccup/JS conversion |
+| 011 | | [dominant-colors](./dominant-colors/) | Color palette generation via dominant color extraction from uploaded images |
+| 012 | | [ellipse-proximity](./ellipse-proximity/) | Interactive visualization of closest points on ellipses |
+| 013 | | [fft-synth](./fft-synth/) | Interactive inverse FFT toy synth |
+| 014 | | [geom-convex-hull](./geom-convex-hull/) | Convex hull & shape clipping of 2D polygons |
+| 015 | | [geom-fuzz-basics](./geom-fuzz-basics/) | geom-fuzz basic shape & fill examples |
+| 016 | | [geom-knn](./geom-knn/) | Doodle w/ K-nearest neighbor search result visualization |
+| 017 | | [geom-tessel](./geom-tessel/) | Animated, recursive polygon tessellations |
+| 018 | | [geom-voronoi-mst](./geom-voronoi-mst/) | Poisson-disk shape-aware sampling, Voronoi & Minimum Spanning Tree visualization |
+| 019 | | [gesture-analysis](./gesture-analysis/) | Mouse gesture / stroke analysis, simplification, corner detection |
+| 020 | | [grid-iterators](./grid-iterators/) | Visualization of different grid iterator strategies |
+| 021 | | [hdom-basics](./hdom-basics/) | Minimal hdom usage example |
+| 022 | | [hdom-benchmark](./hdom-benchmark/) | hdom update performance benchmark (old version) |
+| 023 | | [hdom-benchmark2](./hdom-benchmark2/) | hdom update performance benchmark w/ config options |
+| 024 | | [hdom-canvas-clock](./hdom-canvas-clock/) | Realtime analog clock demo |
+| 025 | | [hdom-canvas-draw](./hdom-canvas-draw/) | Interactive pattern drawing demo using transducers |
+| 026 | | [hdom-canvas-particles](./hdom-canvas-particles/) | 2D Bezier curve-guided particle system |
+| 027 | | [hdom-canvas-shapes](./hdom-canvas-shapes/) | Various hdom-canvas shape drawing examples & SVG conversion / export |
+| 028 | | [hdom-dropdown](./hdom-dropdown/) | Custom dropdown UI component for hdom |
+| 029 | | [hdom-dropdown-fuzzy](./hdom-dropdown-fuzzy/) | Custom dropdown UI component w/ fuzzy search |
+| 030 | | [hdom-dyn-context](./hdom-dyn-context/) | Using custom hdom context for dynamic UI theming |
+| 031 | | [hdom-elm](./hdom-elm/) | Using hdom in an Elm-like manner |
+| 032 | | [hdom-inner-html](./hdom-inner-html/) | Higher-order component for rendering HTML strings |
+| 033 | | [hdom-local-render](./hdom-local-render/) | Isolated, component-local DOM updates |
+| 034 | | [hdom-localstate](./hdom-localstate/) | UI component w/ local state stored in hdom context |
+| 035 | | [hdom-skip](./hdom-skip/) | Skipping UI updates for selected component(s) |
+| 036 | | [hdom-skip-nested](./hdom-skip-nested/) | Skipping UI updates for nested component(s) |
+| 037 | | [hdom-theme](./hdom-theme/) | Example for themed components proposal |
+| 038 | | [hdom-toggle](./hdom-toggle/) | Customizable slide toggle component demo |
+| 039 | | [hdom-vscroller](./hdom-vscroller/) | Virtual scroller component for large tables / lists |
+| 040 | | [hiccup-canvas-arcs](./hiccup-canvas-arcs/) | Animated arcs & drawing using hiccup-canvas |
+| 041 | | [hydrate-basics](./hydrate-basics/) | Hiccup / hdom DOM hydration example |
+| 042 | | [imgui](./imgui/) | Canvas based Immediate Mode GUI components |
+| 043 | | [imgui-basics](./imgui-basics/) | Minimal IMGUI usage example |
+| 044 | | [interceptor-basics](./interceptor-basics/) | Event handling w/ interceptors and side effects |
+| 045 | | [interceptor-basics2](./interceptor-basics2/) | Event handling w/ interceptors and side effects |
+| 046 | | [iso-plasma](./iso-plasma/) | Animated sine plasma effect visualized using contour lines |
+| 047 | | [json-components](./json-components/) | Transforming JSON into UI components |
+| 048 | | [login-form](./login-form/) | Basic SPA example with atom-based UI router |
+| 049 | | [mandelbrot](./mandelbrot/) | Worker based, interactive Mandelbrot visualization |
+| 050 | | [markdown](./markdown/) | Minimal Markdown to Hiccup to HTML parser / transformer |
+| 051 | | [multitouch](./multitouch/) | Basic rstream-gestures multi-touch demo |
+| 052 | | [package-stats](./package-stats/) | CLI util to visualize umbrella pkg stats |
+| 053 | | [parse-playground](./parse-playground/) | Parser grammar livecoding editor/playground & codegen |
+| 054 | | [pixel-basics](./pixel-basics/) | Pixel buffer manipulations |
+| 055 | | [pixel-sorting](./pixel-sorting/) | Interactive pixel sorting tool using thi.ng/color & thi.ng/pixel |
+| 056 | | [pointfree-svg](./pointfree-svg/) | Generate SVG using pointfree DSL |
+| 057 | | [poisson-circles](./poisson-circles/) | 2D Poisson-disc sampler with procedural gradient map |
+| 058 | | [poly-spline](./poly-spline/) | Polygon to cubic curve conversion & visualization |
+| 059 | | [porter-duff](./porter-duff/) | Port-Duff image compositing / alpha blending |
+| 060 | | [ramp-synth](./ramp-synth/) | Unison wavetable synth with waveform editor |
+| 061 | | [rdom-basics](./rdom-basics/) | Demonstates various rdom usage patterns |
+| 062 | | [rdom-dnd](./rdom-dnd/) | rdom drag & drop example |
+| 063 | | [rdom-lissajous](./rdom-lissajous/) | rdom & hiccup-canvas interop test |
+| 064 | | [rdom-search-docs](./rdom-search-docs/) | Full umbrella repo doc string search w/ paginated results |
+| 065 | | [rdom-svg-nodes](./rdom-svg-nodes/) | rdom powered SVG graph with draggable nodes |
+| 066 | | [rotating-voronoi](./rotating-voronoi/) | Animated Voronoi diagram, cubic splines & SVG download |
+| 067 | | [router-basics](./router-basics/) | Complete mini SPA app w/ router & async content loading |
+| 068 | | [rstream-dataflow](./rstream-dataflow/) | Minimal rstream dataflow graph |
+| 069 | | [rstream-event-loop](./rstream-event-loop/) | Minimal demo of using rstream constructs to form an interceptor-style event loop |
+| 070 | | [rstream-grid](./rstream-grid/) | Interactive grid generator, SVG generation & export, undo/redo support |
+| 071 | | [rstream-hdom](./rstream-hdom/) | rstream based UI updates & state handling |
+| 072 | | [rstream-spreadsheet](./rstream-spreadsheet/) | rstream based spreadsheet w/ S-expression formula DSL |
+| 073 | | [scenegraph](./scenegraph/) | 2D scenegraph & shape picking |
+| 074 | | [scenegraph-image](./scenegraph-image/) | 2D scenegraph & image map based geometry manipulation |
+| 075 | | [shader-ast-canvas2d](./shader-ast-canvas2d/) | 2D canvas shader emulation |
+| 076 | | [shader-ast-evo](./shader-ast-evo/) | Evolutionary shader generation using genetic programming |
+| 077 | | [shader-ast-noise](./shader-ast-noise/) | HOF shader procedural noise function composition |
+| 078 | | [shader-ast-raymarch](./shader-ast-raymarch/) | WebGL & JS canvas2D raymarch shader cross-compilation |
+| 079 | | [shader-ast-sdf2d](./shader-ast-sdf2d/) | WebGL & JS canvas 2D SDF |
+| 080 | | [shader-ast-tunnel](./shader-ast-tunnel/) | WebGL & Canvas2D textured tunnel shader |
+| 081 | | [shader-ast-workers](./shader-ast-workers/) | Fork-join worker-based raymarch renderer |
+| 082 | | [shader-graph](./shader-graph/) | Minimal shader graph developed during livestream #2 |
+| 083 | | [soa-ecs](./soa-ecs/) | Entity Component System w/ 100k 3D particles |
+| 084 | | [stratified-grid](./stratified-grid/) | 2D Stratified grid sampling example |
+| 085 | | [svg-barchart](./svg-barchart/) | Simplistic SVG bar chart component |
+| 086 | | [svg-particles](./svg-particles/) | Basic 2D particle system w/ SVG shapes |
+| 087 | | [svg-waveform](./svg-waveform/) | Additive waveform synthesis & SVG visualization with undo/redo |
+| 088 | | [talk-slides](./talk-slides/) | hdom based slide deck viewer & slides from my ClojureX 2018 keynote |
+| 089 | | [text-canvas](./text-canvas/) | 3D wireframe textmode demo |
+| 090 | | [text-canvas-image](./text-canvas-image/) | Textmode image warping w/ 16bit color output |
+| 091 | | [todo-list](./todo-list/) | Obligatory to-do list example with undo/redo |
+| 092 | | [transducers-hdom](./transducers-hdom/) | Transducer & rstream based hdom UI updates |
+| 093 | | [triple-query](./triple-query/) | Triple store query results & sortable table |
+| 094 | | [webgl-cube](./webgl-cube/) | WebGL multi-colored cube mesh |
+| 095 | | [webgl-cubemap](./webgl-cubemap/) | WebGL cube maps with async texture loading |
+| 096 | | [webgl-grid](./webgl-grid/) | WebGL instancing, animated grid |
+| 097 | | [webgl-msdf](./webgl-msdf/) | WebGL MSDF text rendering & particle system |
+| 098 | | [webgl-multipass](./webgl-multipass/) | Minimal multi-pass / GPGPU example |
+| 099 | | [webgl-shadertoy](./webgl-shadertoy/) | Shadertoy-like WebGL setup |
+| 100 | | [webgl-ssao](./webgl-ssao/) | WebGL screenspace ambient occlusion |
+| 101 | | [wolfram](./wolfram/) | 1D Wolfram automata with OBJ point cloud export |
+| 102 | | [xml-converter](./xml-converter/) | XML/HTML/SVG to hiccup/JS conversion |
diff --git a/examples/adaptive-threshold/snowpack.config.js b/examples/adaptive-threshold/snowpack.config.js
index bbc5467de8..d887f95f87 100644
--- a/examples/adaptive-threshold/snowpack.config.js
+++ b/examples/adaptive-threshold/snowpack.config.js
@@ -23,8 +23,10 @@ module.exports = {
packageOptions: {
source: "local",
types: true,
+ knownEntrypoints: ["tslib"]
},
buildOptions: {
baseUrl: "/umbrella/adaptive-threshold",
},
+ workspaceRoot: "../..",
};
diff --git a/examples/async-effect/snowpack.config.js b/examples/async-effect/snowpack.config.js
index 250ea8fa33..78c1b97e6f 100644
--- a/examples/async-effect/snowpack.config.js
+++ b/examples/async-effect/snowpack.config.js
@@ -23,8 +23,10 @@ module.exports = {
packageOptions: {
source: "local",
types: true,
+ knownEntrypoints: ["tslib"]
},
buildOptions: {
baseUrl: "/umbrella/async-effect",
},
+ workspaceRoot: "../..",
};
diff --git a/examples/bitmap-font/snowpack.config.js b/examples/bitmap-font/snowpack.config.js
index bf43f9c304..03aa70530c 100644
--- a/examples/bitmap-font/snowpack.config.js
+++ b/examples/bitmap-font/snowpack.config.js
@@ -23,8 +23,10 @@ module.exports = {
packageOptions: {
source: "local",
types: true,
+ knownEntrypoints: ["tslib"]
},
buildOptions: {
baseUrl: "/umbrella/bitmap-font",
},
+ workspaceRoot: "../..",
};
diff --git a/examples/canvas-dial/snowpack.config.js b/examples/canvas-dial/snowpack.config.js
index 178361d176..8f55f82a64 100644
--- a/examples/canvas-dial/snowpack.config.js
+++ b/examples/canvas-dial/snowpack.config.js
@@ -23,8 +23,10 @@ module.exports = {
packageOptions: {
source: "local",
types: true,
+ knownEntrypoints: ["tslib"]
},
buildOptions: {
baseUrl: "/umbrella/canvas-dial",
},
+ workspaceRoot: "../..",
};
diff --git a/examples/cellular-automata/snowpack.config.js b/examples/cellular-automata/snowpack.config.js
index 6c2d27ed8e..e8bd16d1b3 100644
--- a/examples/cellular-automata/snowpack.config.js
+++ b/examples/cellular-automata/snowpack.config.js
@@ -23,8 +23,10 @@ module.exports = {
packageOptions: {
source: "local",
types: true,
+ knownEntrypoints: ["tslib"]
},
buildOptions: {
baseUrl: "/umbrella/cellular-automata",
},
+ workspaceRoot: "../..",
};
diff --git a/examples/color-themes/snowpack.config.js b/examples/color-themes/snowpack.config.js
index ba5a4c820b..e0e7fdbcf3 100644
--- a/examples/color-themes/snowpack.config.js
+++ b/examples/color-themes/snowpack.config.js
@@ -23,8 +23,10 @@ module.exports = {
packageOptions: {
source: "local",
types: true,
+ knownEntrypoints: ["tslib"]
},
buildOptions: {
baseUrl: "/umbrella/color-themes",
},
+ workspaceRoot: "../..",
};
diff --git a/examples/commit-table-ssr/package.json b/examples/commit-table-ssr/package.json
index c00e986b69..0497b4efd8 100644
--- a/examples/commit-table-ssr/package.json
+++ b/examples/commit-table-ssr/package.json
@@ -12,8 +12,8 @@
"start": "../../node_modules/.bin/ts-node src/server/index.ts"
},
"devDependencies": {
- "ts-node": "^9.1.1",
- "typescript": "^4.2.3"
+ "ts-node": "^10.0.0",
+ "typescript": "4.2.4"
},
"dependencies": {
"@thi.ng/api": "latest",
diff --git a/examples/crypto-chart/snowpack.config.js b/examples/crypto-chart/snowpack.config.js
index 618d07b441..204e7836e2 100644
--- a/examples/crypto-chart/snowpack.config.js
+++ b/examples/crypto-chart/snowpack.config.js
@@ -23,8 +23,10 @@ module.exports = {
packageOptions: {
source: "local",
types: true,
+ knownEntrypoints: ["tslib"]
},
buildOptions: {
baseUrl: "/umbrella/crypto-chart",
},
+ workspaceRoot: "../..",
};
diff --git a/examples/devcards/snowpack.config.js b/examples/devcards/snowpack.config.js
index 1dfa079abe..b616272e15 100644
--- a/examples/devcards/snowpack.config.js
+++ b/examples/devcards/snowpack.config.js
@@ -23,8 +23,10 @@ module.exports = {
packageOptions: {
source: "local",
types: true,
+ knownEntrypoints: ["tslib"]
},
buildOptions: {
baseUrl: "/umbrella/devcards",
},
+ workspaceRoot: "../..",
};
diff --git a/examples/dominant-colors/.gitignore b/examples/dominant-colors/.gitignore
new file mode 100644
index 0000000000..211b157174
--- /dev/null
+++ b/examples/dominant-colors/.gitignore
@@ -0,0 +1,6 @@
+build
+dev
+node_modules
+yarn.lock
+!snowpack.config.js
+!*.d.ts
diff --git a/examples/dominant-colors/README.md b/examples/dominant-colors/README.md
new file mode 100644
index 0000000000..639f26ccff
--- /dev/null
+++ b/examples/dominant-colors/README.md
@@ -0,0 +1,15 @@
+# dominant-colors
+
+![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/dominant-colors.png)
+
+[Live demo](http://demo.thi.ng/umbrella/dominant-colors/)
+
+Please refer to the [example build instructions](https://github.com/thi-ng/umbrella/wiki/Example-build-instructions) on the wiki.
+
+## Authors
+
+- Karsten Schmidt
+
+## License
+
+© 2021 Karsten Schmidt // Apache Software License 2.0
diff --git a/examples/dominant-colors/package.json b/examples/dominant-colors/package.json
new file mode 100644
index 0000000000..b92bedae88
--- /dev/null
+++ b/examples/dominant-colors/package.json
@@ -0,0 +1,45 @@
+{
+ "name": "dominant-colors",
+ "version": "0.0.1",
+ "description": "Color palette generation via dominant color extraction from uploaded images",
+ "repository": "https://github.com/thi-ng/umbrella",
+ "author": "Karsten Schmidt ",
+ "license": "Apache-2.0",
+ "scripts": {
+ "clean": "../../node_modules/.bin/rimraf build node_modules/.cache",
+ "start": "../../node_modules/.bin/snowpack dev --reload",
+ "build": "../../node_modules/.bin/snowpack build"
+ },
+ "devDependencies": {
+ "@thi.ng/snowpack-env": "^2.3.3"
+ },
+ "dependencies": {
+ "@thi.ng/bench": "latest",
+ "@thi.ng/color": "latest",
+ "@thi.ng/dl-asset": "latest",
+ "@thi.ng/hiccup-html": "latest",
+ "@thi.ng/hiccup-svg": "latest",
+ "@thi.ng/pixel": "latest",
+ "@thi.ng/rdom": "latest",
+ "@thi.ng/rstream": "latest",
+ "@thi.ng/transducers": "latest"
+ },
+ "browserslist": [
+ "last 3 Chrome versions"
+ ],
+ "browser": {
+ "process": false
+ },
+ "thi.ng": {
+ "readme": [
+ "color",
+ "dl-asset",
+ "hiccup-svg",
+ "k-means",
+ "pixel",
+ "rdom",
+ "rstream"
+ ],
+ "screenshot": "examples/dominant-colors.png"
+ }
+}
diff --git a/examples/dominant-colors/public/index.html b/examples/dominant-colors/public/index.html
new file mode 100644
index 0000000000..8ebccf1823
--- /dev/null
+++ b/examples/dominant-colors/public/index.html
@@ -0,0 +1,31 @@
+
+
+
+
+
+
+ dominant-colors
+
+
+
+
+
+
+
+
+
+
diff --git a/examples/dominant-colors/snowpack.config.js b/examples/dominant-colors/snowpack.config.js
new file mode 100644
index 0000000000..87c7f0ed64
--- /dev/null
+++ b/examples/dominant-colors/snowpack.config.js
@@ -0,0 +1,32 @@
+/** @type {import("snowpack").SnowpackUserConfig } */
+module.exports = {
+ mount: {
+ public: "/",
+ src: "/_dist_",
+ },
+ plugins: [
+ "@snowpack/plugin-typescript",
+ [
+ "@snowpack/plugin-webpack",
+ {
+ extendConfig: (config) => {
+ config.node = {
+ process: false,
+ setImmediate: false,
+ util: "empty",
+ };
+ return config;
+ },
+ },
+ ],
+ ],
+ packageOptions: {
+ source: "local",
+ types: true,
+ knownEntrypoints: ["tslib"]
+ },
+ buildOptions: {
+ baseUrl: "/umbrella/dominant-colors",
+ },
+ workspaceRoot: "../..",
+};
diff --git a/examples/dominant-colors/src/index.ts b/examples/dominant-colors/src/index.ts
new file mode 100644
index 0000000000..a200a45dbe
--- /dev/null
+++ b/examples/dominant-colors/src/index.ts
@@ -0,0 +1,147 @@
+import { timed } from "@thi.ng/bench";
+import { swatchesH } from "@thi.ng/color";
+import { button, div, h1, inputFile } from "@thi.ng/hiccup-html";
+import { svg } from "@thi.ng/hiccup-svg";
+import {
+ ABGR8888,
+ dominantColors,
+ floatBuffer,
+ FLOAT_RGB,
+ PackedBuffer,
+} from "@thi.ng/pixel";
+import {
+ $compile,
+ $input,
+ $refresh,
+ Component,
+ NumOrElement,
+} from "@thi.ng/rdom";
+import { reactive, stream, sync } from "@thi.ng/rstream";
+import { map } from "@thi.ng/transducers";
+import { downloadACT } from "./palette";
+
+/**
+ * Converts image into pixel buffer, resizes it to max 256 pixels (longest side)
+ * and applies k-means clustering to obtain dominant colors and their coverage.
+ * Only colors with given `minArea` (normalized) are considered.
+ *
+ * @param img
+ * @param num
+ * @param minArea
+ */
+const processImage = (img: HTMLImageElement, num: number, minArea = 0.025) =>
+ timed(() => {
+ let buf = PackedBuffer.fromImage(img, ABGR8888);
+ buf = buf.scale(256 / Math.max(buf.width, buf.height), "nearest");
+ const colors = dominantColors(floatBuffer(buf, FLOAT_RGB), num).filter(
+ (c) => c.area >= minArea
+ );
+ return { buf, colors };
+ });
+
+// images read from files
+const image = stream();
+// number of dominant colors to extract
+const num = reactive(5);
+// dummy stream to retrigger updates
+const update = reactive("");
+
+// stream combinator & image processor
+const result = sync({
+ src: {
+ image,
+ num,
+ _: update,
+ },
+ xform: map((params) => processImage(params.image, params.num)),
+});
+
+// stream of input files
+const file = stream();
+// new values pushed into `file` will trigger reading file as an image
+// once ready, puts image into `image` stream for further processing
+file.subscribe({
+ next(file) {
+ const url = URL.createObjectURL(file);
+ const img = new Image();
+ img.onload = () => {
+ image.next(img);
+ URL.revokeObjectURL(url); // house keeping!
+ };
+ img.src = url;
+ },
+});
+
+// thi.ng/rdom UI component
+// creates a canvas element and blits given pixel buffer into it
+// when the component mounts
+class PixelCanvas extends Component {
+ constructor(protected buffer: PackedBuffer) {
+ super();
+ }
+
+ async mount(parent: Element, index?: NumOrElement) {
+ const buf = this.buffer;
+ this.el = this.$el(
+ "canvas",
+ { width: buf.width, height: buf.height },
+ null,
+ parent,
+ index
+ );
+ buf.blitCanvas(this.el);
+ return this.el;
+ }
+}
+
+// main UI
+$compile(
+ div(
+ {},
+ h1({}, "Dominant colors"),
+ inputFile(".db.mv3", {
+ accept: ["image/jpg", "image/png", "image/gif"],
+ multiple: false,
+ onchange: (e) => file.next((e.target).files![0]),
+ }),
+ button(".db.mv3", { onclick: $input(update) }, "update"),
+ div(
+ {},
+ // this part of the UI will be replaced for each new processed image
+ $refresh>(result, async (res) =>
+ div(
+ {},
+ // resized image as canvas
+ new PixelCanvas(res.buf),
+ // swatches of dominant colors
+ div(
+ ".mv3",
+ {},
+ svg(
+ {
+ width: res.colors.length * 50,
+ height: 50,
+ convert: true,
+ },
+ swatchesH(
+ res.colors.map((c) => c.color),
+ 50,
+ 50,
+ { stroke: "black" }
+ )
+ )
+ ),
+ // download palette button
+ button(
+ ".db.mv3",
+ {
+ onclick: () =>
+ downloadACT(res.colors.map((c) => c.color)),
+ },
+ "download .act palette"
+ )
+ )
+ )
+ )
+ )
+).mount(document.getElementById("app")!);
diff --git a/examples/dominant-colors/src/palette.ts b/examples/dominant-colors/src/palette.ts
new file mode 100644
index 0000000000..8e8daa6ec1
--- /dev/null
+++ b/examples/dominant-colors/src/palette.ts
@@ -0,0 +1,21 @@
+import { ReadonlyColor, srgb, srgbIntArgb32 } from "@thi.ng/color";
+import { downloadWithMime } from "@thi.ng/dl-asset";
+
+export const downloadACT = (colors: ReadonlyColor[]) => {
+ const num = colors.length;
+ const buf = new Uint8Array(772);
+ // http://www.selapa.net/swatches/colors/fileformats.php
+ // https://www.adobe.com/devnet-apps/photoshop/fileformatashtml/#50577411_pgfId-1070626
+ buf[768] = num >> 8;
+ buf[769] = num & 0xff;
+ // palette index 0 reserved for transparent slot
+ for (let i = 0, j = 3; i < num; i++, j += 3) {
+ const rgb = srgbIntArgb32(srgb(colors[i]));
+ buf[j] = (rgb >> 16) & 0xff;
+ buf[j + 1] = (rgb >> 8) & 0xff;
+ buf[j + 2] = rgb & 0xff;
+ }
+ downloadWithMime("palette.act", buf, {
+ mime: "application/octet-stream",
+ });
+};
diff --git a/examples/dominant-colors/src/static.d.ts b/examples/dominant-colors/src/static.d.ts
new file mode 100644
index 0000000000..67d9623753
--- /dev/null
+++ b/examples/dominant-colors/src/static.d.ts
@@ -0,0 +1,51 @@
+/* Use this file to declare any custom file extensions for importing */
+/* Use this folder to also add/extend a package d.ts file, if needed. */
+
+/* CSS MODULES */
+declare module "*.module.css" {
+ const classes: { [key: string]: string };
+ export default classes;
+}
+declare module "*.module.scss" {
+ const classes: { [key: string]: string };
+ export default classes;
+}
+declare module "*.module.sass" {
+ const classes: { [key: string]: string };
+ export default classes;
+}
+declare module "*.module.less" {
+ const classes: { [key: string]: string };
+ export default classes;
+}
+declare module "*.module.styl" {
+ const classes: { [key: string]: string };
+ export default classes;
+}
+
+/* CSS */
+declare module "*.css";
+declare module "*.scss";
+declare module "*.sass";
+declare module "*.less";
+declare module "*.styl";
+
+/* IMAGES */
+declare module "*.svg" {
+ const ref: string;
+ export default ref;
+}
+declare module "*.gif" {
+ const ref: string;
+ export default ref;
+}
+declare module "*.jpg" {
+ const ref: string;
+ export default ref;
+}
+declare module "*.png" {
+ const ref: string;
+ export default ref;
+}
+
+/* CUSTOM: ADD YOUR OWN HERE */
diff --git a/examples/dominant-colors/tsconfig.json b/examples/dominant-colors/tsconfig.json
new file mode 100644
index 0000000000..48d558b4f8
--- /dev/null
+++ b/examples/dominant-colors/tsconfig.json
@@ -0,0 +1,8 @@
+{
+ "extends": "../tsconfig.json",
+ "include": ["src"],
+ "compilerOptions": {
+ "baseUrl": "./",
+ "paths": { "*": ["web_modules/.types/*"] }
+ }
+}
diff --git a/examples/ellipse-proximity/snowpack.config.js b/examples/ellipse-proximity/snowpack.config.js
index 11ec9877a0..b1ea631321 100644
--- a/examples/ellipse-proximity/snowpack.config.js
+++ b/examples/ellipse-proximity/snowpack.config.js
@@ -23,8 +23,10 @@ module.exports = {
packageOptions: {
source: "local",
types: true,
+ knownEntrypoints: ["tslib"]
},
buildOptions: {
baseUrl: "/umbrella/ellipse-proximity",
},
+ workspaceRoot: "../..",
};
diff --git a/examples/fft-synth/snowpack.config.js b/examples/fft-synth/snowpack.config.js
index cf65d6e536..ddad7825a7 100644
--- a/examples/fft-synth/snowpack.config.js
+++ b/examples/fft-synth/snowpack.config.js
@@ -23,8 +23,10 @@ module.exports = {
packageOptions: {
source: "local",
types: true,
+ knownEntrypoints: ["tslib"]
},
buildOptions: {
baseUrl: "/umbrella/fft-synth",
},
+ workspaceRoot: "../..",
};
diff --git a/examples/geom-convex-hull/snowpack.config.js b/examples/geom-convex-hull/snowpack.config.js
index 6adead998b..efec4970fb 100644
--- a/examples/geom-convex-hull/snowpack.config.js
+++ b/examples/geom-convex-hull/snowpack.config.js
@@ -23,8 +23,10 @@ module.exports = {
packageOptions: {
source: "local",
types: true,
+ knownEntrypoints: ["tslib"]
},
buildOptions: {
baseUrl: "/umbrella/geom-convex-hull",
},
+ workspaceRoot: "../..",
};
diff --git a/examples/geom-fuzz-basics/snowpack.config.js b/examples/geom-fuzz-basics/snowpack.config.js
index bb93b39c62..70e061db06 100644
--- a/examples/geom-fuzz-basics/snowpack.config.js
+++ b/examples/geom-fuzz-basics/snowpack.config.js
@@ -23,8 +23,10 @@ module.exports = {
packageOptions: {
source: "local",
types: true,
+ knownEntrypoints: ["tslib"]
},
buildOptions: {
baseUrl: "/umbrella/geom-fuzz-basics",
},
+ workspaceRoot: "../..",
};
diff --git a/examples/geom-knn/snowpack.config.js b/examples/geom-knn/snowpack.config.js
index bbc72bda6e..32f3e94e15 100644
--- a/examples/geom-knn/snowpack.config.js
+++ b/examples/geom-knn/snowpack.config.js
@@ -23,8 +23,10 @@ module.exports = {
packageOptions: {
source: "local",
types: true,
+ knownEntrypoints: ["tslib"]
},
buildOptions: {
baseUrl: "/umbrella/geom-knn",
},
+ workspaceRoot: "../..",
};
diff --git a/examples/geom-tessel/snowpack.config.js b/examples/geom-tessel/snowpack.config.js
index 598bd71842..b655ea2020 100644
--- a/examples/geom-tessel/snowpack.config.js
+++ b/examples/geom-tessel/snowpack.config.js
@@ -23,8 +23,10 @@ module.exports = {
packageOptions: {
source: "local",
types: true,
+ knownEntrypoints: ["tslib"]
},
buildOptions: {
baseUrl: "/umbrella/geom-tessel",
},
+ workspaceRoot: "../..",
};
diff --git a/examples/geom-voronoi-mst/snowpack.config.js b/examples/geom-voronoi-mst/snowpack.config.js
index 5e27e78a52..ed61382992 100644
--- a/examples/geom-voronoi-mst/snowpack.config.js
+++ b/examples/geom-voronoi-mst/snowpack.config.js
@@ -23,8 +23,10 @@ module.exports = {
packageOptions: {
source: "local",
types: true,
+ knownEntrypoints: ["tslib"]
},
buildOptions: {
baseUrl: "/umbrella/geom-voronoi-mst",
},
+ workspaceRoot: "../..",
};
diff --git a/examples/gesture-analysis/snowpack.config.js b/examples/gesture-analysis/snowpack.config.js
index 0b4d1e1c92..0b8ddd3915 100644
--- a/examples/gesture-analysis/snowpack.config.js
+++ b/examples/gesture-analysis/snowpack.config.js
@@ -23,8 +23,10 @@ module.exports = {
packageOptions: {
source: "local",
types: true,
+ knownEntrypoints: ["tslib"]
},
buildOptions: {
baseUrl: "/umbrella/gesture-analysis",
},
+ workspaceRoot: "../..",
};
diff --git a/examples/grid-iterators/snowpack.config.js b/examples/grid-iterators/snowpack.config.js
index 94889ffafe..e670af9d39 100644
--- a/examples/grid-iterators/snowpack.config.js
+++ b/examples/grid-iterators/snowpack.config.js
@@ -23,8 +23,10 @@ module.exports = {
packageOptions: {
source: "local",
types: true,
+ knownEntrypoints: ["tslib"]
},
buildOptions: {
baseUrl: "/umbrella/grid-iterators",
},
+ workspaceRoot: "../..",
};
diff --git a/examples/hdom-basics/snowpack.config.js b/examples/hdom-basics/snowpack.config.js
index c52a5c826a..d81206e248 100644
--- a/examples/hdom-basics/snowpack.config.js
+++ b/examples/hdom-basics/snowpack.config.js
@@ -23,8 +23,10 @@ module.exports = {
packageOptions: {
source: "local",
types: true,
+ knownEntrypoints: ["tslib"]
},
buildOptions: {
baseUrl: "/umbrella/hdom-basics",
},
+ workspaceRoot: "../..",
};
diff --git a/examples/hdom-benchmark/snowpack.config.js b/examples/hdom-benchmark/snowpack.config.js
index 0317e841c5..b541a0e9fa 100644
--- a/examples/hdom-benchmark/snowpack.config.js
+++ b/examples/hdom-benchmark/snowpack.config.js
@@ -23,8 +23,10 @@ module.exports = {
packageOptions: {
source: "local",
types: true,
+ knownEntrypoints: ["tslib"]
},
buildOptions: {
baseUrl: "/umbrella/hdom-benchmark",
},
+ workspaceRoot: "../..",
};
diff --git a/examples/hdom-benchmark2/snowpack.config.js b/examples/hdom-benchmark2/snowpack.config.js
index cf64cb4801..0c61b2f8f7 100644
--- a/examples/hdom-benchmark2/snowpack.config.js
+++ b/examples/hdom-benchmark2/snowpack.config.js
@@ -23,8 +23,10 @@ module.exports = {
packageOptions: {
source: "local",
types: true,
+ knownEntrypoints: ["tslib"]
},
buildOptions: {
baseUrl: "/umbrella/hdom-benchmark2",
},
+ workspaceRoot: "../..",
};
diff --git a/examples/hdom-canvas-clock/snowpack.config.js b/examples/hdom-canvas-clock/snowpack.config.js
index 7bea9c5e4e..029529640a 100644
--- a/examples/hdom-canvas-clock/snowpack.config.js
+++ b/examples/hdom-canvas-clock/snowpack.config.js
@@ -23,8 +23,10 @@ module.exports = {
packageOptions: {
source: "local",
types: true,
+ knownEntrypoints: ["tslib"]
},
buildOptions: {
baseUrl: "/umbrella/hdom-canvas-clock",
},
+ workspaceRoot: "../..",
};
diff --git a/examples/hdom-canvas-draw/snowpack.config.js b/examples/hdom-canvas-draw/snowpack.config.js
index 44f7b4b5db..9196c522bc 100644
--- a/examples/hdom-canvas-draw/snowpack.config.js
+++ b/examples/hdom-canvas-draw/snowpack.config.js
@@ -23,8 +23,10 @@ module.exports = {
packageOptions: {
source: "local",
types: true,
+ knownEntrypoints: ["tslib"]
},
buildOptions: {
baseUrl: "/umbrella/hdom-canvas-draw",
},
+ workspaceRoot: "../..",
};
diff --git a/examples/hdom-canvas-particles/snowpack.config.js b/examples/hdom-canvas-particles/snowpack.config.js
index ed5e0ad633..e7ddde7138 100644
--- a/examples/hdom-canvas-particles/snowpack.config.js
+++ b/examples/hdom-canvas-particles/snowpack.config.js
@@ -23,8 +23,10 @@ module.exports = {
packageOptions: {
source: "local",
types: true,
+ knownEntrypoints: ["tslib"]
},
buildOptions: {
baseUrl: "/umbrella/hdom-canvas-particles",
},
+ workspaceRoot: "../..",
};
diff --git a/examples/hdom-canvas-shapes/snowpack.config.js b/examples/hdom-canvas-shapes/snowpack.config.js
index 9a629a3b3a..91a6b9d7ec 100644
--- a/examples/hdom-canvas-shapes/snowpack.config.js
+++ b/examples/hdom-canvas-shapes/snowpack.config.js
@@ -23,8 +23,10 @@ module.exports = {
packageOptions: {
source: "local",
types: true,
+ knownEntrypoints: ["tslib"]
},
buildOptions: {
baseUrl: "/umbrella/hdom-canvas-shapes",
},
+ workspaceRoot: "../..",
};
diff --git a/examples/hdom-dropdown-fuzzy/snowpack.config.js b/examples/hdom-dropdown-fuzzy/snowpack.config.js
index 5c776becc0..deb994eabc 100644
--- a/examples/hdom-dropdown-fuzzy/snowpack.config.js
+++ b/examples/hdom-dropdown-fuzzy/snowpack.config.js
@@ -23,8 +23,10 @@ module.exports = {
packageOptions: {
source: "local",
types: true,
+ knownEntrypoints: ["tslib"]
},
buildOptions: {
baseUrl: "/umbrella/hdom-dropdown-fuzzy",
},
+ workspaceRoot: "../..",
};
diff --git a/examples/hdom-dropdown/snowpack.config.js b/examples/hdom-dropdown/snowpack.config.js
index 40c0b97743..1499954853 100644
--- a/examples/hdom-dropdown/snowpack.config.js
+++ b/examples/hdom-dropdown/snowpack.config.js
@@ -23,8 +23,10 @@ module.exports = {
packageOptions: {
source: "local",
types: true,
+ knownEntrypoints: ["tslib"]
},
buildOptions: {
baseUrl: "/umbrella/hdom-dropdown",
},
+ workspaceRoot: "../..",
};
diff --git a/examples/hdom-dyn-context/snowpack.config.js b/examples/hdom-dyn-context/snowpack.config.js
index 2dda5ef3c3..4c67607c78 100644
--- a/examples/hdom-dyn-context/snowpack.config.js
+++ b/examples/hdom-dyn-context/snowpack.config.js
@@ -23,8 +23,10 @@ module.exports = {
packageOptions: {
source: "local",
types: true,
+ knownEntrypoints: ["tslib"]
},
buildOptions: {
baseUrl: "/umbrella/hdom-dyn-context",
},
+ workspaceRoot: "../..",
};
diff --git a/examples/hdom-elm/snowpack.config.js b/examples/hdom-elm/snowpack.config.js
index 2996059b0d..6c0c940fc7 100644
--- a/examples/hdom-elm/snowpack.config.js
+++ b/examples/hdom-elm/snowpack.config.js
@@ -23,8 +23,10 @@ module.exports = {
packageOptions: {
source: "local",
types: true,
+ knownEntrypoints: ["tslib"]
},
buildOptions: {
baseUrl: "/umbrella/hdom-elm",
},
+ workspaceRoot: "../..",
};
diff --git a/examples/hdom-inner-html/snowpack.config.js b/examples/hdom-inner-html/snowpack.config.js
index 89c187edae..bae31261e6 100644
--- a/examples/hdom-inner-html/snowpack.config.js
+++ b/examples/hdom-inner-html/snowpack.config.js
@@ -23,8 +23,10 @@ module.exports = {
packageOptions: {
source: "local",
types: true,
+ knownEntrypoints: ["tslib"]
},
buildOptions: {
baseUrl: "/umbrella/hdom-inner-html",
},
+ workspaceRoot: "../..",
};
diff --git a/examples/hdom-local-render/snowpack.config.js b/examples/hdom-local-render/snowpack.config.js
index ec51f3c3ad..3719c21c26 100644
--- a/examples/hdom-local-render/snowpack.config.js
+++ b/examples/hdom-local-render/snowpack.config.js
@@ -23,8 +23,10 @@ module.exports = {
packageOptions: {
source: "local",
types: true,
+ knownEntrypoints: ["tslib"]
},
buildOptions: {
baseUrl: "/umbrella/hdom-local-render",
},
+ workspaceRoot: "../..",
};
diff --git a/examples/hdom-localstate/snowpack.config.js b/examples/hdom-localstate/snowpack.config.js
index 1c3f4c3b7a..96d16d923c 100644
--- a/examples/hdom-localstate/snowpack.config.js
+++ b/examples/hdom-localstate/snowpack.config.js
@@ -23,8 +23,10 @@ module.exports = {
packageOptions: {
source: "local",
types: true,
+ knownEntrypoints: ["tslib"]
},
buildOptions: {
baseUrl: "/umbrella/hdom-localstate",
},
+ workspaceRoot: "../..",
};
diff --git a/examples/hdom-skip-nested/snowpack.config.js b/examples/hdom-skip-nested/snowpack.config.js
index 0bbeec0168..10d3c550dd 100644
--- a/examples/hdom-skip-nested/snowpack.config.js
+++ b/examples/hdom-skip-nested/snowpack.config.js
@@ -23,8 +23,10 @@ module.exports = {
packageOptions: {
source: "local",
types: true,
+ knownEntrypoints: ["tslib"]
},
buildOptions: {
baseUrl: "/umbrella/hdom-skip-nested",
},
+ workspaceRoot: "../..",
};
diff --git a/examples/hdom-skip/snowpack.config.js b/examples/hdom-skip/snowpack.config.js
index 21356b02f5..f52e5dd7ce 100644
--- a/examples/hdom-skip/snowpack.config.js
+++ b/examples/hdom-skip/snowpack.config.js
@@ -23,8 +23,10 @@ module.exports = {
packageOptions: {
source: "local",
types: true,
+ knownEntrypoints: ["tslib"]
},
buildOptions: {
baseUrl: "/umbrella/hdom-skip",
},
+ workspaceRoot: "../..",
};
diff --git a/examples/hdom-theme-adr-0003/snowpack.config.js b/examples/hdom-theme-adr-0003/snowpack.config.js
index 3a88492394..6ff3f842f9 100644
--- a/examples/hdom-theme-adr-0003/snowpack.config.js
+++ b/examples/hdom-theme-adr-0003/snowpack.config.js
@@ -23,8 +23,10 @@ module.exports = {
packageOptions: {
source: "local",
types: true,
+ knownEntrypoints: ["tslib"]
},
buildOptions: {
baseUrl: "/umbrella/hdom-theme-adr-0003",
},
+ workspaceRoot: "../..",
};
diff --git a/examples/hdom-toggle/snowpack.config.js b/examples/hdom-toggle/snowpack.config.js
index 158493ea30..1f6f4a4188 100644
--- a/examples/hdom-toggle/snowpack.config.js
+++ b/examples/hdom-toggle/snowpack.config.js
@@ -23,8 +23,10 @@ module.exports = {
packageOptions: {
source: "local",
types: true,
+ knownEntrypoints: ["tslib"]
},
buildOptions: {
baseUrl: "/umbrella/hdom-toggle",
},
+ workspaceRoot: "../..",
};
diff --git a/examples/hdom-vscroller/snowpack.config.js b/examples/hdom-vscroller/snowpack.config.js
index d50dfdf384..1a874831c6 100644
--- a/examples/hdom-vscroller/snowpack.config.js
+++ b/examples/hdom-vscroller/snowpack.config.js
@@ -23,8 +23,10 @@ module.exports = {
packageOptions: {
source: "local",
types: true,
+ knownEntrypoints: ["tslib"]
},
buildOptions: {
baseUrl: "/umbrella/hdom-vscroller",
},
+ workspaceRoot: "../..",
};
diff --git a/examples/hiccup-canvas-arcs/snowpack.config.js b/examples/hiccup-canvas-arcs/snowpack.config.js
index 9974281d92..560a417b9c 100644
--- a/examples/hiccup-canvas-arcs/snowpack.config.js
+++ b/examples/hiccup-canvas-arcs/snowpack.config.js
@@ -23,8 +23,10 @@ module.exports = {
packageOptions: {
source: "local",
types: true,
+ knownEntrypoints: ["tslib"]
},
buildOptions: {
baseUrl: "/umbrella/hiccup-canvas-arcs",
},
+ workspaceRoot: "../..",
};
diff --git a/examples/hydrate-basics/snowpack.config.js b/examples/hydrate-basics/snowpack.config.js
index ab82557826..1247910c2f 100644
--- a/examples/hydrate-basics/snowpack.config.js
+++ b/examples/hydrate-basics/snowpack.config.js
@@ -23,8 +23,10 @@ module.exports = {
packageOptions: {
source: "local",
types: true,
+ knownEntrypoints: ["tslib"]
},
buildOptions: {
baseUrl: "/umbrella/hydrate-basics",
},
+ workspaceRoot: "../..",
};
diff --git a/examples/imgui-basics/snowpack.config.js b/examples/imgui-basics/snowpack.config.js
index dfede29882..5eed73eda0 100644
--- a/examples/imgui-basics/snowpack.config.js
+++ b/examples/imgui-basics/snowpack.config.js
@@ -23,8 +23,10 @@ module.exports = {
packageOptions: {
source: "local",
types: true,
+ knownEntrypoints: ["tslib"]
},
buildOptions: {
baseUrl: "/umbrella/imgui-basics",
},
+ workspaceRoot: "../..",
};
diff --git a/examples/imgui/snowpack.config.js b/examples/imgui/snowpack.config.js
index 46f2a31f08..df2640772e 100644
--- a/examples/imgui/snowpack.config.js
+++ b/examples/imgui/snowpack.config.js
@@ -23,8 +23,10 @@ module.exports = {
packageOptions: {
source: "local",
types: true,
+ knownEntrypoints: ["tslib"]
},
buildOptions: {
baseUrl: "/umbrella/imgui",
},
+ workspaceRoot: "../..",
};
diff --git a/examples/interceptor-basics/snowpack.config.js b/examples/interceptor-basics/snowpack.config.js
index 82841ebe53..84072659f9 100644
--- a/examples/interceptor-basics/snowpack.config.js
+++ b/examples/interceptor-basics/snowpack.config.js
@@ -23,8 +23,10 @@ module.exports = {
packageOptions: {
source: "local",
types: true,
+ knownEntrypoints: ["tslib"]
},
buildOptions: {
baseUrl: "/umbrella/interceptor-basics",
},
+ workspaceRoot: "../..",
};
diff --git a/examples/interceptor-basics2/snowpack.config.js b/examples/interceptor-basics2/snowpack.config.js
index d0bdf1d4b5..1db5bb79ac 100644
--- a/examples/interceptor-basics2/snowpack.config.js
+++ b/examples/interceptor-basics2/snowpack.config.js
@@ -23,8 +23,10 @@ module.exports = {
packageOptions: {
source: "local",
types: true,
+ knownEntrypoints: ["tslib"]
},
buildOptions: {
baseUrl: "/umbrella/interceptor-basics2",
},
+ workspaceRoot: "../..",
};
diff --git a/examples/iso-plasma/snowpack.config.js b/examples/iso-plasma/snowpack.config.js
index 97eb00d427..1d25b48b10 100644
--- a/examples/iso-plasma/snowpack.config.js
+++ b/examples/iso-plasma/snowpack.config.js
@@ -23,8 +23,10 @@ module.exports = {
packageOptions: {
source: "local",
types: true,
+ knownEntrypoints: ["tslib"]
},
buildOptions: {
baseUrl: "/umbrella/iso-plasma",
},
+ workspaceRoot: "../..",
};
diff --git a/examples/json-components/snowpack.config.js b/examples/json-components/snowpack.config.js
index 650503e326..dff3511b46 100644
--- a/examples/json-components/snowpack.config.js
+++ b/examples/json-components/snowpack.config.js
@@ -23,8 +23,10 @@ module.exports = {
packageOptions: {
source: "local",
types: true,
+ knownEntrypoints: ["tslib"]
},
buildOptions: {
baseUrl: "/umbrella/json-components",
},
+ workspaceRoot: "../..",
};
diff --git a/examples/login-form/snowpack.config.js b/examples/login-form/snowpack.config.js
index 741d31fdfa..e1c4dddfc9 100644
--- a/examples/login-form/snowpack.config.js
+++ b/examples/login-form/snowpack.config.js
@@ -23,8 +23,10 @@ module.exports = {
packageOptions: {
source: "local",
types: true,
+ knownEntrypoints: ["tslib"]
},
buildOptions: {
baseUrl: "/umbrella/login-form",
},
+ workspaceRoot: "../..",
};
diff --git a/examples/mandelbrot/snowpack.config.js b/examples/mandelbrot/snowpack.config.js
index d5ce4fe3c6..bb56bad87f 100644
--- a/examples/mandelbrot/snowpack.config.js
+++ b/examples/mandelbrot/snowpack.config.js
@@ -23,8 +23,10 @@ module.exports = {
packageOptions: {
source: "local",
types: true,
+ knownEntrypoints: ["tslib"]
},
buildOptions: {
baseUrl: "/umbrella/mandelbrot",
},
+ workspaceRoot: "../..",
};
diff --git a/examples/markdown/snowpack.config.js b/examples/markdown/snowpack.config.js
index 139ff0124a..33dcdd5494 100644
--- a/examples/markdown/snowpack.config.js
+++ b/examples/markdown/snowpack.config.js
@@ -23,8 +23,10 @@ module.exports = {
packageOptions: {
source: "local",
types: true,
+ knownEntrypoints: ["tslib"]
},
buildOptions: {
baseUrl: "/umbrella/markdown",
},
+ workspaceRoot: "../..",
};
diff --git a/examples/multitouch/snowpack.config.js b/examples/multitouch/snowpack.config.js
index b8882bd7e2..fa4b99fd7c 100644
--- a/examples/multitouch/snowpack.config.js
+++ b/examples/multitouch/snowpack.config.js
@@ -23,8 +23,10 @@ module.exports = {
packageOptions: {
source: "local",
types: true,
+ knownEntrypoints: ["tslib"]
},
buildOptions: {
baseUrl: "/umbrella/multitouch",
},
+ workspaceRoot: "../..",
};
diff --git a/examples/package-stats/package.json b/examples/package-stats/package.json
index 54fa1769c1..f0e541d415 100644
--- a/examples/package-stats/package.json
+++ b/examples/package-stats/package.json
@@ -10,8 +10,8 @@
"build": "yarn clean && ../../node_modules/.bin/ts-node src/index.ts"
},
"devDependencies": {
- "ts-node": "^9.1.1",
- "typescript": "^4.2.3"
+ "ts-node": "^10.0.0",
+ "typescript": "4.2.4"
},
"dependencies": {
"@thi.ng/checks": "latest",
diff --git a/examples/parse-playground/snowpack.config.js b/examples/parse-playground/snowpack.config.js
index eaa94031ce..ed8a05fcbb 100644
--- a/examples/parse-playground/snowpack.config.js
+++ b/examples/parse-playground/snowpack.config.js
@@ -23,8 +23,10 @@ module.exports = {
packageOptions: {
source: "local",
types: true,
+ knownEntrypoints: ["tslib"]
},
buildOptions: {
baseUrl: "/umbrella/parse-playground",
},
+ workspaceRoot: "../..",
};
diff --git a/examples/pixel-basics/snowpack.config.js b/examples/pixel-basics/snowpack.config.js
index b6f0f5da88..ce5905ba94 100644
--- a/examples/pixel-basics/snowpack.config.js
+++ b/examples/pixel-basics/snowpack.config.js
@@ -23,8 +23,10 @@ module.exports = {
packageOptions: {
source: "local",
types: true,
+ knownEntrypoints: ["tslib"]
},
buildOptions: {
baseUrl: "/umbrella/pixel-basics",
},
+ workspaceRoot: "../..",
};
diff --git a/examples/pixel-sorting/snowpack.config.js b/examples/pixel-sorting/snowpack.config.js
index e973fa35ec..1327308f55 100644
--- a/examples/pixel-sorting/snowpack.config.js
+++ b/examples/pixel-sorting/snowpack.config.js
@@ -23,8 +23,10 @@ module.exports = {
packageOptions: {
source: "local",
types: true,
+ knownEntrypoints: ["tslib"]
},
buildOptions: {
baseUrl: "/umbrella/pixel-sorting",
},
+ workspaceRoot: "../..",
};
diff --git a/examples/pointfree-svg/package.json b/examples/pointfree-svg/package.json
index 836b7a2a09..a5945df662 100644
--- a/examples/pointfree-svg/package.json
+++ b/examples/pointfree-svg/package.json
@@ -16,8 +16,8 @@
"@thi.ng/pointfree-lang": "latest"
},
"devDependencies": {
- "ts-node": "^9.1.1",
- "typescript": "^4.2.3"
+ "ts-node": "^10.0.0",
+ "typescript": "4.2.4"
},
"thi.ng": {
"online": false,
diff --git a/examples/poisson-circles/snowpack.config.js b/examples/poisson-circles/snowpack.config.js
index 129fc5eade..1a0f70c17b 100644
--- a/examples/poisson-circles/snowpack.config.js
+++ b/examples/poisson-circles/snowpack.config.js
@@ -23,8 +23,10 @@ module.exports = {
packageOptions: {
source: "local",
types: true,
+ knownEntrypoints: ["tslib"]
},
buildOptions: {
baseUrl: "/umbrella/poisson-circles",
},
+ workspaceRoot: "../..",
};
diff --git a/examples/poly-spline/snowpack.config.js b/examples/poly-spline/snowpack.config.js
index 38aed7896a..d826e3c308 100644
--- a/examples/poly-spline/snowpack.config.js
+++ b/examples/poly-spline/snowpack.config.js
@@ -23,8 +23,10 @@ module.exports = {
packageOptions: {
source: "local",
types: true,
+ knownEntrypoints: ["tslib"]
},
buildOptions: {
baseUrl: "/umbrella/poly-spline",
},
+ workspaceRoot: "../..",
};
diff --git a/examples/porter-duff/snowpack.config.js b/examples/porter-duff/snowpack.config.js
index f5e196dcd8..fdeef090a5 100644
--- a/examples/porter-duff/snowpack.config.js
+++ b/examples/porter-duff/snowpack.config.js
@@ -23,8 +23,10 @@ module.exports = {
packageOptions: {
source: "local",
types: true,
+ knownEntrypoints: ["tslib"]
},
buildOptions: {
baseUrl: "/umbrella/porter-duff",
},
+ workspaceRoot: "../..",
};
diff --git a/examples/ramp-synth/snowpack.config.js b/examples/ramp-synth/snowpack.config.js
index c05fe9d941..4ee7678b60 100644
--- a/examples/ramp-synth/snowpack.config.js
+++ b/examples/ramp-synth/snowpack.config.js
@@ -23,8 +23,10 @@ module.exports = {
packageOptions: {
source: "local",
types: true,
+ knownEntrypoints: ["tslib"]
},
buildOptions: {
baseUrl: "/umbrella/ramp-synth",
},
+ workspaceRoot: "../..",
};
diff --git a/examples/rdom-basics/snowpack.config.js b/examples/rdom-basics/snowpack.config.js
index a03b15b07b..3f3d549b4e 100644
--- a/examples/rdom-basics/snowpack.config.js
+++ b/examples/rdom-basics/snowpack.config.js
@@ -23,8 +23,10 @@ module.exports = {
packageOptions: {
source: "local",
types: true,
+ knownEntrypoints: ["tslib"]
},
buildOptions: {
baseUrl: "/umbrella/rdom-basics",
},
+ workspaceRoot: "../..",
};
diff --git a/examples/rdom-dnd/snowpack.config.js b/examples/rdom-dnd/snowpack.config.js
index a8cee1ff68..11d1f18213 100644
--- a/examples/rdom-dnd/snowpack.config.js
+++ b/examples/rdom-dnd/snowpack.config.js
@@ -23,8 +23,10 @@ module.exports = {
packageOptions: {
source: "local",
types: true,
+ knownEntrypoints: ["tslib"]
},
buildOptions: {
baseUrl: "/umbrella/rdom-dnd",
},
+ workspaceRoot: "../..",
};
diff --git a/examples/rdom-lissajous/snowpack.config.js b/examples/rdom-lissajous/snowpack.config.js
index 1c0ed1c67f..a1f171890d 100644
--- a/examples/rdom-lissajous/snowpack.config.js
+++ b/examples/rdom-lissajous/snowpack.config.js
@@ -23,8 +23,10 @@ module.exports = {
packageOptions: {
source: "local",
types: true,
+ knownEntrypoints: ["tslib"]
},
buildOptions: {
baseUrl: "/umbrella/rdom-lissajous",
},
+ workspaceRoot: "../..",
};
diff --git a/examples/rdom-search-docs/snowpack.config.js b/examples/rdom-search-docs/snowpack.config.js
index 9bae7b986e..671acd7853 100644
--- a/examples/rdom-search-docs/snowpack.config.js
+++ b/examples/rdom-search-docs/snowpack.config.js
@@ -23,8 +23,10 @@ module.exports = {
packageOptions: {
source: "local",
types: true,
+ knownEntrypoints: ["tslib"]
},
buildOptions: {
baseUrl: "/umbrella/rdom-search-docs",
},
+ workspaceRoot: "../..",
};
diff --git a/examples/rdom-svg-nodes/snowpack.config.js b/examples/rdom-svg-nodes/snowpack.config.js
index 0bf9000e0d..88365ddeb1 100644
--- a/examples/rdom-svg-nodes/snowpack.config.js
+++ b/examples/rdom-svg-nodes/snowpack.config.js
@@ -23,8 +23,10 @@ module.exports = {
packageOptions: {
source: "local",
types: true,
+ knownEntrypoints: ["tslib"]
},
buildOptions: {
baseUrl: "/umbrella/rdom-svg-nodes",
},
+ workspaceRoot: "../..",
};
diff --git a/examples/rotating-voronoi/snowpack.config.js b/examples/rotating-voronoi/snowpack.config.js
index c9425f138b..f6e3a849f9 100644
--- a/examples/rotating-voronoi/snowpack.config.js
+++ b/examples/rotating-voronoi/snowpack.config.js
@@ -23,8 +23,10 @@ module.exports = {
packageOptions: {
source: "local",
types: true,
+ knownEntrypoints: ["tslib"]
},
buildOptions: {
baseUrl: "/umbrella/rotating-voronoi",
},
+ workspaceRoot: "../..",
};
diff --git a/examples/router-basics/snowpack.config.js b/examples/router-basics/snowpack.config.js
index 642dca57a5..48018c8da1 100644
--- a/examples/router-basics/snowpack.config.js
+++ b/examples/router-basics/snowpack.config.js
@@ -23,8 +23,10 @@ module.exports = {
packageOptions: {
source: "local",
types: true,
+ knownEntrypoints: ["tslib"]
},
buildOptions: {
baseUrl: "/umbrella/router-basics",
},
+ workspaceRoot: "../..",
};
diff --git a/examples/rstream-dataflow/snowpack.config.js b/examples/rstream-dataflow/snowpack.config.js
index 72df50691a..aec1867724 100644
--- a/examples/rstream-dataflow/snowpack.config.js
+++ b/examples/rstream-dataflow/snowpack.config.js
@@ -23,8 +23,10 @@ module.exports = {
packageOptions: {
source: "local",
types: true,
+ knownEntrypoints: ["tslib"]
},
buildOptions: {
baseUrl: "/umbrella/rstream-dataflow",
},
+ workspaceRoot: "../..",
};
diff --git a/examples/rstream-event-loop/snowpack.config.js b/examples/rstream-event-loop/snowpack.config.js
index 5343f708d7..1773c240fc 100644
--- a/examples/rstream-event-loop/snowpack.config.js
+++ b/examples/rstream-event-loop/snowpack.config.js
@@ -23,8 +23,10 @@ module.exports = {
packageOptions: {
source: "local",
types: true,
+ knownEntrypoints: ["tslib"]
},
buildOptions: {
baseUrl: "/umbrella/rstream-event-loop",
},
+ workspaceRoot: "../..",
};
diff --git a/examples/rstream-grid/snowpack.config.js b/examples/rstream-grid/snowpack.config.js
index eab4a4c099..77aa47749c 100644
--- a/examples/rstream-grid/snowpack.config.js
+++ b/examples/rstream-grid/snowpack.config.js
@@ -23,8 +23,10 @@ module.exports = {
packageOptions: {
source: "local",
types: true,
+ knownEntrypoints: ["tslib"]
},
buildOptions: {
baseUrl: "/umbrella/rstream-grid",
},
+ workspaceRoot: "../..",
};
diff --git a/examples/rstream-hdom/snowpack.config.js b/examples/rstream-hdom/snowpack.config.js
index eb3280e329..f363e4beea 100644
--- a/examples/rstream-hdom/snowpack.config.js
+++ b/examples/rstream-hdom/snowpack.config.js
@@ -23,8 +23,10 @@ module.exports = {
packageOptions: {
source: "local",
types: true,
+ knownEntrypoints: ["tslib"]
},
buildOptions: {
baseUrl: "/umbrella/rstream-hdom",
},
+ workspaceRoot: "../..",
};
diff --git a/examples/rstream-spreadsheet/snowpack.config.js b/examples/rstream-spreadsheet/snowpack.config.js
index 7b47b06f5f..38288ebd5e 100644
--- a/examples/rstream-spreadsheet/snowpack.config.js
+++ b/examples/rstream-spreadsheet/snowpack.config.js
@@ -23,8 +23,10 @@ module.exports = {
packageOptions: {
source: "local",
types: true,
+ knownEntrypoints: ["tslib"]
},
buildOptions: {
baseUrl: "/umbrella/rstream-spreadsheet",
},
+ workspaceRoot: "../..",
};
diff --git a/examples/scenegraph-image/snowpack.config.js b/examples/scenegraph-image/snowpack.config.js
index 31e5d78f78..fb6b7c7d04 100644
--- a/examples/scenegraph-image/snowpack.config.js
+++ b/examples/scenegraph-image/snowpack.config.js
@@ -23,8 +23,10 @@ module.exports = {
packageOptions: {
source: "local",
types: true,
+ knownEntrypoints: ["tslib"]
},
buildOptions: {
baseUrl: "/umbrella/scenegraph-image",
},
+ workspaceRoot: "../..",
};
diff --git a/examples/scenegraph/snowpack.config.js b/examples/scenegraph/snowpack.config.js
index de68ca0a15..de8b2a8287 100644
--- a/examples/scenegraph/snowpack.config.js
+++ b/examples/scenegraph/snowpack.config.js
@@ -23,8 +23,10 @@ module.exports = {
packageOptions: {
source: "local",
types: true,
+ knownEntrypoints: ["tslib"]
},
buildOptions: {
baseUrl: "/umbrella/scenegraph",
},
+ workspaceRoot: "../..",
};
diff --git a/examples/shader-ast-canvas2d/snowpack.config.js b/examples/shader-ast-canvas2d/snowpack.config.js
index 053b20abd2..e97bbbdc0f 100644
--- a/examples/shader-ast-canvas2d/snowpack.config.js
+++ b/examples/shader-ast-canvas2d/snowpack.config.js
@@ -23,8 +23,10 @@ module.exports = {
packageOptions: {
source: "local",
types: true,
+ knownEntrypoints: ["tslib"]
},
buildOptions: {
baseUrl: "/umbrella/shader-ast-canvas2d",
},
+ workspaceRoot: "../..",
};
diff --git a/examples/shader-ast-evo/snowpack.config.js b/examples/shader-ast-evo/snowpack.config.js
index 7d20bf1e2d..58e9631c77 100644
--- a/examples/shader-ast-evo/snowpack.config.js
+++ b/examples/shader-ast-evo/snowpack.config.js
@@ -23,8 +23,10 @@ module.exports = {
packageOptions: {
source: "local",
types: true,
+ knownEntrypoints: ["tslib"]
},
buildOptions: {
baseUrl: "/umbrella/shader-ast-evo",
},
+ workspaceRoot: "../..",
};
diff --git a/examples/shader-ast-noise/snowpack.config.js b/examples/shader-ast-noise/snowpack.config.js
index db890a306e..d293a5bf66 100644
--- a/examples/shader-ast-noise/snowpack.config.js
+++ b/examples/shader-ast-noise/snowpack.config.js
@@ -23,8 +23,10 @@ module.exports = {
packageOptions: {
source: "local",
types: true,
+ knownEntrypoints: ["tslib"]
},
buildOptions: {
baseUrl: "/umbrella/shader-ast-noise",
},
+ workspaceRoot: "../..",
};
diff --git a/examples/shader-ast-raymarch/snowpack.config.js b/examples/shader-ast-raymarch/snowpack.config.js
index dc7ceafa80..d7e204f0eb 100644
--- a/examples/shader-ast-raymarch/snowpack.config.js
+++ b/examples/shader-ast-raymarch/snowpack.config.js
@@ -23,8 +23,10 @@ module.exports = {
packageOptions: {
source: "local",
types: true,
+ knownEntrypoints: ["tslib"]
},
buildOptions: {
baseUrl: "/umbrella/shader-ast-raymarch",
},
+ workspaceRoot: "../..",
};
diff --git a/examples/shader-ast-sdf2d/snowpack.config.js b/examples/shader-ast-sdf2d/snowpack.config.js
index 8e62930a9a..605dca5538 100644
--- a/examples/shader-ast-sdf2d/snowpack.config.js
+++ b/examples/shader-ast-sdf2d/snowpack.config.js
@@ -23,8 +23,10 @@ module.exports = {
packageOptions: {
source: "local",
types: true,
+ knownEntrypoints: ["tslib"]
},
buildOptions: {
baseUrl: "/umbrella/shader-ast-sdf2d",
},
+ workspaceRoot: "../..",
};
diff --git a/examples/shader-ast-tunnel/snowpack.config.js b/examples/shader-ast-tunnel/snowpack.config.js
index 1cfc9e3cdc..bf9af47c85 100644
--- a/examples/shader-ast-tunnel/snowpack.config.js
+++ b/examples/shader-ast-tunnel/snowpack.config.js
@@ -23,8 +23,10 @@ module.exports = {
packageOptions: {
source: "local",
types: true,
+ knownEntrypoints: ["tslib"]
},
buildOptions: {
baseUrl: "/umbrella/shader-ast-tunnel",
},
+ workspaceRoot: "../..",
};
diff --git a/examples/shader-ast-workers/snowpack.config.js b/examples/shader-ast-workers/snowpack.config.js
index c05db5669a..9655a4f052 100644
--- a/examples/shader-ast-workers/snowpack.config.js
+++ b/examples/shader-ast-workers/snowpack.config.js
@@ -23,8 +23,10 @@ module.exports = {
packageOptions: {
source: "local",
types: true,
+ knownEntrypoints: ["tslib"]
},
buildOptions: {
baseUrl: "/umbrella/shader-ast-workers",
},
+ workspaceRoot: "../..",
};
diff --git a/examples/shader-graph/snowpack.config.js b/examples/shader-graph/snowpack.config.js
index da11271774..860f66b74d 100644
--- a/examples/shader-graph/snowpack.config.js
+++ b/examples/shader-graph/snowpack.config.js
@@ -23,8 +23,10 @@ module.exports = {
packageOptions: {
source: "local",
types: true,
+ knownEntrypoints: ["tslib"]
},
buildOptions: {
baseUrl: "/umbrella/shader-graph",
},
+ workspaceRoot: "../..",
};
diff --git a/examples/soa-ecs/snowpack.config.js b/examples/soa-ecs/snowpack.config.js
index 578b437eca..c471df0143 100644
--- a/examples/soa-ecs/snowpack.config.js
+++ b/examples/soa-ecs/snowpack.config.js
@@ -23,8 +23,10 @@ module.exports = {
packageOptions: {
source: "local",
types: true,
+ knownEntrypoints: ["tslib"]
},
buildOptions: {
baseUrl: "/umbrella/soa-ecs",
},
+ workspaceRoot: "../..",
};
diff --git a/examples/stratified-grid/snowpack.config.js b/examples/stratified-grid/snowpack.config.js
index 47f99fbf58..1d0bdb3699 100644
--- a/examples/stratified-grid/snowpack.config.js
+++ b/examples/stratified-grid/snowpack.config.js
@@ -23,8 +23,10 @@ module.exports = {
packageOptions: {
source: "local",
types: true,
+ knownEntrypoints: ["tslib"]
},
buildOptions: {
baseUrl: "/umbrella/stratified-grid",
},
+ workspaceRoot: "../..",
};
diff --git a/examples/svg-barchart/snowpack.config.js b/examples/svg-barchart/snowpack.config.js
index b1087ea050..79869297f6 100644
--- a/examples/svg-barchart/snowpack.config.js
+++ b/examples/svg-barchart/snowpack.config.js
@@ -23,8 +23,10 @@ module.exports = {
packageOptions: {
source: "local",
types: true,
+ knownEntrypoints: ["tslib"]
},
buildOptions: {
baseUrl: "/umbrella/svg-barchart",
},
+ workspaceRoot: "../..",
};
diff --git a/examples/svg-particles/snowpack.config.js b/examples/svg-particles/snowpack.config.js
index 882e90639e..03a956dbd2 100644
--- a/examples/svg-particles/snowpack.config.js
+++ b/examples/svg-particles/snowpack.config.js
@@ -23,8 +23,10 @@ module.exports = {
packageOptions: {
source: "local",
types: true,
+ knownEntrypoints: ["tslib"]
},
buildOptions: {
baseUrl: "/umbrella/svg-particles",
},
+ workspaceRoot: "../..",
};
diff --git a/examples/svg-waveform/snowpack.config.js b/examples/svg-waveform/snowpack.config.js
index ab9e8e3297..cdd5bccae2 100644
--- a/examples/svg-waveform/snowpack.config.js
+++ b/examples/svg-waveform/snowpack.config.js
@@ -23,8 +23,10 @@ module.exports = {
packageOptions: {
source: "local",
types: true,
+ knownEntrypoints: ["tslib"]
},
buildOptions: {
baseUrl: "/umbrella/svg-waveform",
},
+ workspaceRoot: "../..",
};
diff --git a/examples/talk-slides/snowpack.config.js b/examples/talk-slides/snowpack.config.js
index 287754320d..6645088bdd 100644
--- a/examples/talk-slides/snowpack.config.js
+++ b/examples/talk-slides/snowpack.config.js
@@ -23,8 +23,10 @@ module.exports = {
packageOptions: {
source: "local",
types: true,
+ knownEntrypoints: ["tslib"]
},
buildOptions: {
baseUrl: "/umbrella/talk-slides",
},
+ workspaceRoot: "../..",
};
diff --git a/examples/text-canvas-image/snowpack.config.js b/examples/text-canvas-image/snowpack.config.js
index a54fa1e2fc..fa368ce565 100644
--- a/examples/text-canvas-image/snowpack.config.js
+++ b/examples/text-canvas-image/snowpack.config.js
@@ -23,8 +23,10 @@ module.exports = {
packageOptions: {
source: "local",
types: true,
+ knownEntrypoints: ["tslib"]
},
buildOptions: {
baseUrl: "/umbrella/text-canvas-image",
},
+ workspaceRoot: "../..",
};
diff --git a/examples/text-canvas/snowpack.config.js b/examples/text-canvas/snowpack.config.js
index 7f18c42ba6..a7461f9f7b 100644
--- a/examples/text-canvas/snowpack.config.js
+++ b/examples/text-canvas/snowpack.config.js
@@ -23,8 +23,10 @@ module.exports = {
packageOptions: {
source: "local",
types: true,
+ knownEntrypoints: ["tslib"]
},
buildOptions: {
baseUrl: "/umbrella/text-canvas",
},
+ workspaceRoot: "../..",
};
diff --git a/examples/todo-list/snowpack.config.js b/examples/todo-list/snowpack.config.js
index 2020808e18..c46afc9d5b 100644
--- a/examples/todo-list/snowpack.config.js
+++ b/examples/todo-list/snowpack.config.js
@@ -23,8 +23,10 @@ module.exports = {
packageOptions: {
source: "local",
types: true,
+ knownEntrypoints: ["tslib"]
},
buildOptions: {
baseUrl: "/umbrella/todo-list",
},
+ workspaceRoot: "../..",
};
diff --git a/examples/transducers-hdom/snowpack.config.js b/examples/transducers-hdom/snowpack.config.js
index e2f9574f8b..6efc1ab7a5 100644
--- a/examples/transducers-hdom/snowpack.config.js
+++ b/examples/transducers-hdom/snowpack.config.js
@@ -23,8 +23,10 @@ module.exports = {
packageOptions: {
source: "local",
types: true,
+ knownEntrypoints: ["tslib"]
},
buildOptions: {
baseUrl: "/umbrella/transducers-hdom",
},
+ workspaceRoot: "../..",
};
diff --git a/examples/triple-query/snowpack.config.js b/examples/triple-query/snowpack.config.js
index 7a80994f0a..0c97c0ead2 100644
--- a/examples/triple-query/snowpack.config.js
+++ b/examples/triple-query/snowpack.config.js
@@ -23,8 +23,10 @@ module.exports = {
packageOptions: {
source: "local",
types: true,
+ knownEntrypoints: ["tslib"]
},
buildOptions: {
baseUrl: "/umbrella/triple-query",
},
+ workspaceRoot: "../..",
};
diff --git a/examples/webgl-cube/snowpack.config.js b/examples/webgl-cube/snowpack.config.js
index 0d285af7ae..2e06c9b724 100644
--- a/examples/webgl-cube/snowpack.config.js
+++ b/examples/webgl-cube/snowpack.config.js
@@ -23,8 +23,10 @@ module.exports = {
packageOptions: {
source: "local",
types: true,
+ knownEntrypoints: ["tslib"]
},
buildOptions: {
baseUrl: "/umbrella/webgl-cube",
},
+ workspaceRoot: "../..",
};
diff --git a/examples/webgl-cubemap/snowpack.config.js b/examples/webgl-cubemap/snowpack.config.js
index 60f1577d33..264279a660 100644
--- a/examples/webgl-cubemap/snowpack.config.js
+++ b/examples/webgl-cubemap/snowpack.config.js
@@ -23,8 +23,10 @@ module.exports = {
packageOptions: {
source: "local",
types: true,
+ knownEntrypoints: ["tslib"]
},
buildOptions: {
baseUrl: "/umbrella/webgl-cubemap",
},
+ workspaceRoot: "../..",
};
diff --git a/examples/webgl-grid/snowpack.config.js b/examples/webgl-grid/snowpack.config.js
index 30cc94e8e3..3c90fd13ea 100644
--- a/examples/webgl-grid/snowpack.config.js
+++ b/examples/webgl-grid/snowpack.config.js
@@ -23,8 +23,10 @@ module.exports = {
packageOptions: {
source: "local",
types: true,
+ knownEntrypoints: ["tslib"]
},
buildOptions: {
baseUrl: "/umbrella/webgl-grid",
},
+ workspaceRoot: "../..",
};
diff --git a/examples/webgl-msdf/snowpack.config.js b/examples/webgl-msdf/snowpack.config.js
index 59c0ed76fe..c08c69d235 100644
--- a/examples/webgl-msdf/snowpack.config.js
+++ b/examples/webgl-msdf/snowpack.config.js
@@ -23,8 +23,10 @@ module.exports = {
packageOptions: {
source: "local",
types: true,
+ knownEntrypoints: ["tslib"]
},
buildOptions: {
baseUrl: "/umbrella/webgl-msdf",
},
+ workspaceRoot: "../..",
};
diff --git a/examples/webgl-multipass/snowpack.config.js b/examples/webgl-multipass/snowpack.config.js
index 49f452fca3..d68a43b653 100644
--- a/examples/webgl-multipass/snowpack.config.js
+++ b/examples/webgl-multipass/snowpack.config.js
@@ -23,8 +23,10 @@ module.exports = {
packageOptions: {
source: "local",
types: true,
+ knownEntrypoints: ["tslib"]
},
buildOptions: {
baseUrl: "/umbrella/webgl-multipass",
},
+ workspaceRoot: "../..",
};
diff --git a/examples/webgl-multipass/src/index.ts b/examples/webgl-multipass/src/index.ts
index c2deac1594..7b032c4c35 100644
--- a/examples/webgl-multipass/src/index.ts
+++ b/examples/webgl-multipass/src/index.ts
@@ -5,7 +5,6 @@ import {
assign,
defMain,
fract,
- index,
length,
mul,
pow,
@@ -84,9 +83,9 @@ const toy = defMultiPass({
outs.fragColor,
vec4(
mul(
- $xyz(texture(index(unis.inputs, 0), uv)),
+ $xyz(texture(unis.input0, uv)),
pow(
- $x(texture(index(unis.inputs, 1), uv)),
+ $x(texture(unis.input1, uv)),
fit1101(sin(unis.time))
)
),
diff --git a/examples/webgl-shadertoy/snowpack.config.js b/examples/webgl-shadertoy/snowpack.config.js
index c8d6c68410..17ad35408c 100644
--- a/examples/webgl-shadertoy/snowpack.config.js
+++ b/examples/webgl-shadertoy/snowpack.config.js
@@ -23,8 +23,10 @@ module.exports = {
packageOptions: {
source: "local",
types: true,
+ knownEntrypoints: ["tslib"]
},
buildOptions: {
baseUrl: "/umbrella/webgl-shadertoy",
},
+ workspaceRoot: "../..",
};
diff --git a/examples/webgl-ssao/snowpack.config.js b/examples/webgl-ssao/snowpack.config.js
index 26e45f1c75..661bd474cd 100644
--- a/examples/webgl-ssao/snowpack.config.js
+++ b/examples/webgl-ssao/snowpack.config.js
@@ -23,8 +23,10 @@ module.exports = {
packageOptions: {
source: "local",
types: true,
+ knownEntrypoints: ["tslib"]
},
buildOptions: {
baseUrl: "/umbrella/webgl-ssao",
},
+ workspaceRoot: "../..",
};
diff --git a/examples/wolfram/snowpack.config.js b/examples/wolfram/snowpack.config.js
index ef6a1207e4..edaa748bac 100644
--- a/examples/wolfram/snowpack.config.js
+++ b/examples/wolfram/snowpack.config.js
@@ -23,8 +23,10 @@ module.exports = {
packageOptions: {
source: "local",
types: true,
+ knownEntrypoints: ["tslib"]
},
buildOptions: {
baseUrl: "/umbrella/wolfram",
},
+ workspaceRoot: "../..",
};
diff --git a/examples/xml-converter/snowpack.config.js b/examples/xml-converter/snowpack.config.js
index b1309f5121..9f5df18af6 100644
--- a/examples/xml-converter/snowpack.config.js
+++ b/examples/xml-converter/snowpack.config.js
@@ -23,8 +23,10 @@ module.exports = {
packageOptions: {
source: "local",
types: true,
+ knownEntrypoints: ["tslib"]
},
buildOptions: {
baseUrl: "/umbrella/xml-converter",
},
+ workspaceRoot: "../..",
};
diff --git a/package.json b/package.json
index fed7eb7f49..9377e52d6b 100644
--- a/package.json
+++ b/package.json
@@ -7,27 +7,29 @@
"@microsoft/api-documenter": "^7.12.8",
"@microsoft/api-extractor": "^7.13.1",
"@snowpack/plugin-typescript": "^1.2.1",
- "@snowpack/plugin-webpack": "^2.3.0",
+ "@snowpack/plugin-webpack": "^2.3.1",
"@types/snowpack-env": "^2.3.3",
"benchmark": "^2.1.4",
+ "browserslist": "^4.16.6",
"file-loader": "^6.2.0",
"gzip-size": "^6.0.0",
"html-minifier-terser": "^5.1.1",
"lerna": "^4.0.0",
- "mocha": "^8.3.0",
+ "mocha": "^9.0.0",
"nyc": "^15.1.0",
+ "postcss": "^8.3.0",
"rimraf": "^3.0.2",
- "rollup": "^2.41.2",
+ "rollup": "^2.51.0",
"rollup-plugin-cleanup": "^3.2.1",
- "snowpack": "^3.0.13",
- "terser": "^5.6.0",
- "ts-loader": "^8.0.18",
- "typescript": "^4.2.3",
- "webpack": "^5.25.0",
- "webpack-cli": "^4.5.0"
+ "snowpack": "^3.5.6",
+ "terser": "^5.7.0",
+ "ts-loader": "^9.2.3",
+ "typescript": "4.2.4",
+ "webpack": "^5.38.1",
+ "webpack-cli": "^4.7.2"
},
"dependencies": {
- "@ygoe/msgpack": "^1.0.2"
+ "@ygoe/msgpack": "^1.0.3"
},
"scripts": {
"bootstrap": "yarn install && lerna -v && lerna bootstrap",
@@ -46,9 +48,10 @@
"test": "yarn build && yarn test:only",
"test:only": "lerna run test",
"tool:imports": "ts-node -P tools/tsconfig.json tools/src/check-imports.ts",
+ "tool:exports": "ts-node -P tools/tsconfig.json tools/src/check-exports.ts",
"tool:searchindex": "ts-node -P tools/tsconfig.json tools/src/build-search-index.ts"
},
"resolutions": {
- "typescript": "^4.2.3"
+ "typescript": "4.2.4"
}
}
diff --git a/packages/adapt-dpi/CHANGELOG.md b/packages/adapt-dpi/CHANGELOG.md
index 80251452d7..71136ff1a1 100644
--- a/packages/adapt-dpi/CHANGELOG.md
+++ b/packages/adapt-dpi/CHANGELOG.md
@@ -3,7 +3,7 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
-## [1.0.19](https://github.com/thi-ng/umbrella/compare/@thi.ng/adapt-dpi@1.0.18...@thi.ng/adapt-dpi@1.0.19) (2021-03-12)
+## [1.0.20](https://github.com/thi-ng/umbrella/compare/@thi.ng/adapt-dpi@1.0.19...@thi.ng/adapt-dpi@1.0.20) (2021-06-08)
**Note:** Version bump only for package @thi.ng/adapt-dpi
diff --git a/packages/adapt-dpi/package.json b/packages/adapt-dpi/package.json
index a00f38006c..7788dbbd79 100644
--- a/packages/adapt-dpi/package.json
+++ b/packages/adapt-dpi/package.json
@@ -1,6 +1,6 @@
{
"name": "@thi.ng/adapt-dpi",
- "version": "1.0.19",
+ "version": "1.0.20",
"description": "HDPI canvas adapter / styling utility",
"module": "./index.js",
"main": "./lib/index.js",
@@ -41,11 +41,11 @@
"@microsoft/api-extractor": "^7.13.1",
"@types/mocha": "^8.2.0",
"@types/node": "^14.14.14",
- "mocha": "^8.3.0",
+ "mocha": "^9.0.0",
"nyc": "^15.1.0",
- "ts-node": "^9.1.1",
+ "ts-node": "^10.0.0",
"typedoc": "^0.20.30",
- "typescript": "^4.2.3"
+ "typescript": "4.2.4"
},
"files": [
"*.js",
diff --git a/packages/adjacency/CHANGELOG.md b/packages/adjacency/CHANGELOG.md
index d07fa7f14c..3e0e893dc3 100644
--- a/packages/adjacency/CHANGELOG.md
+++ b/packages/adjacency/CHANGELOG.md
@@ -3,63 +3,7 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
-## [0.3.13](https://github.com/thi-ng/umbrella/compare/@thi.ng/adjacency@0.3.12...@thi.ng/adjacency@0.3.13) (2021-04-03)
-
-**Note:** Version bump only for package @thi.ng/adjacency
-
-
-
-
-
-## [0.3.12](https://github.com/thi-ng/umbrella/compare/@thi.ng/adjacency@0.3.11...@thi.ng/adjacency@0.3.12) (2021-03-30)
-
-**Note:** Version bump only for package @thi.ng/adjacency
-
-
-
-
-
-## [0.3.11](https://github.com/thi-ng/umbrella/compare/@thi.ng/adjacency@0.3.10...@thi.ng/adjacency@0.3.11) (2021-03-28)
-
-**Note:** Version bump only for package @thi.ng/adjacency
-
-
-
-
-
-## [0.3.10](https://github.com/thi-ng/umbrella/compare/@thi.ng/adjacency@0.3.9...@thi.ng/adjacency@0.3.10) (2021-03-27)
-
-**Note:** Version bump only for package @thi.ng/adjacency
-
-
-
-
-
-## [0.3.9](https://github.com/thi-ng/umbrella/compare/@thi.ng/adjacency@0.3.8...@thi.ng/adjacency@0.3.9) (2021-03-24)
-
-**Note:** Version bump only for package @thi.ng/adjacency
-
-
-
-
-
-## [0.3.8](https://github.com/thi-ng/umbrella/compare/@thi.ng/adjacency@0.3.7...@thi.ng/adjacency@0.3.8) (2021-03-24)
-
-**Note:** Version bump only for package @thi.ng/adjacency
-
-
-
-
-
-## [0.3.7](https://github.com/thi-ng/umbrella/compare/@thi.ng/adjacency@0.3.6...@thi.ng/adjacency@0.3.7) (2021-03-17)
-
-**Note:** Version bump only for package @thi.ng/adjacency
-
-
-
-
-
-## [0.3.6](https://github.com/thi-ng/umbrella/compare/@thi.ng/adjacency@0.3.5...@thi.ng/adjacency@0.3.6) (2021-03-12)
+## [0.3.17](https://github.com/thi-ng/umbrella/compare/@thi.ng/adjacency@0.3.16...@thi.ng/adjacency@0.3.17) (2021-06-08)
**Note:** Version bump only for package @thi.ng/adjacency
diff --git a/packages/adjacency/package.json b/packages/adjacency/package.json
index 0de0d5bfb2..b04f206302 100644
--- a/packages/adjacency/package.json
+++ b/packages/adjacency/package.json
@@ -1,6 +1,6 @@
{
"name": "@thi.ng/adjacency",
- "version": "0.3.13",
+ "version": "0.3.17",
"description": "Sparse & bitwise adjacency matrices and related functions for directed & undirected graphs",
"module": "./index.js",
"main": "./lib/index.js",
@@ -40,22 +40,22 @@
"devDependencies": {
"@istanbuljs/nyc-config-typescript": "^1.0.1",
"@microsoft/api-extractor": "^7.13.1",
- "@thi.ng/vectors": "^5.2.1",
+ "@thi.ng/vectors": "^6.0.1",
"@types/mocha": "^8.2.0",
"@types/node": "^14.14.14",
- "mocha": "^8.3.0",
+ "mocha": "^9.0.0",
"nyc": "^15.1.0",
- "ts-node": "^9.1.1",
+ "ts-node": "^10.0.0",
"typedoc": "^0.20.30",
- "typescript": "^4.2.3"
+ "typescript": "4.2.4"
},
"dependencies": {
- "@thi.ng/api": "^7.1.4",
- "@thi.ng/arrays": "^0.10.10",
- "@thi.ng/bitfield": "^0.4.8",
- "@thi.ng/dcons": "^2.3.20",
- "@thi.ng/errors": "^1.3.0",
- "@thi.ng/sparse": "^0.1.75"
+ "@thi.ng/api": "^7.1.5",
+ "@thi.ng/arrays": "^0.10.12",
+ "@thi.ng/bitfield": "^0.4.9",
+ "@thi.ng/dcons": "^2.3.24",
+ "@thi.ng/errors": "^1.3.1",
+ "@thi.ng/sparse": "^0.1.79"
},
"files": [
"*.js",
diff --git a/packages/api/CHANGELOG.md b/packages/api/CHANGELOG.md
index b74a6c4b39..710f359063 100644
--- a/packages/api/CHANGELOG.md
+++ b/packages/api/CHANGELOG.md
@@ -3,7 +3,7 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
-## [7.1.4](https://github.com/thi-ng/umbrella/compare/@thi.ng/api@7.1.3...@thi.ng/api@7.1.4) (2021-03-12)
+## [7.1.5](https://github.com/thi-ng/umbrella/compare/@thi.ng/api@7.1.4...@thi.ng/api@7.1.5) (2021-06-08)
**Note:** Version bump only for package @thi.ng/api
diff --git a/packages/api/package.json b/packages/api/package.json
index a997af95d4..b01734a1f0 100644
--- a/packages/api/package.json
+++ b/packages/api/package.json
@@ -1,6 +1,6 @@
{
"name": "@thi.ng/api",
- "version": "7.1.4",
+ "version": "7.1.5",
"description": "Common, generic types, interfaces & mixins",
"module": "./index.js",
"main": "./lib/index.js",
@@ -42,11 +42,11 @@
"@microsoft/api-extractor": "^7.13.1",
"@types/mocha": "^8.2.0",
"@types/node": "^14.14.14",
- "mocha": "^8.3.0",
+ "mocha": "^9.0.0",
"nyc": "^15.1.0",
- "ts-node": "^9.1.1",
+ "ts-node": "^10.0.0",
"typedoc": "^0.20.30",
- "typescript": "^4.2.3"
+ "typescript": "4.2.4"
},
"files": [
"*.js",
diff --git a/packages/api/src/api/tuple.ts b/packages/api/src/api/tuple.ts
index af6d6408da..b7e1ea3b49 100644
--- a/packages/api/src/api/tuple.ts
+++ b/packages/api/src/api/tuple.ts
@@ -1,15 +1,15 @@
/**
* Returns an array's value type.
*/
-export type ArrayValue = T[0];
+export type ArrayValue = T[0];
/**
* Defines a fixed sized, iterable tuple with elements of type `T` and
* length `N`.
*/
-export type Tuple = [T, ...T[]] & { length: N } & Iterable<
- T
- >;
+export type Tuple = [T, ...T[]] & {
+ length: N;
+} & Iterable;
/**
* Extracts a tuple's length / size.
@@ -24,34 +24,27 @@ export type IsEmpty = T extends [] ? 1 : 0;
/**
* Extracts the first element of a tuple.
*/
-export type Head = T extends Parameters<
- (v: infer R, ...args: any[]) => any
->
- ? R
+export type Head = T extends [infer A, ...unknown[]]
+ ? A
: never;
/**
* Extracts everything except the first element from a tuple.
*/
-export type Tail = ((...a: T) => void) extends (
- v: any,
- ...args: infer R
-) => void
- ? R
+export type Tail = T extends [unknown, ...infer A]
+ ? A
: never;
/**
* Adds an element at the start of an tuple.
*/
-export type Prepend = Parameters<
- (v: T, ...args: U) => void
->;
+export type Prepend = [T, ...U];
/**
* Internal version of {@link Reverse} accepting 1 extra argument for
* the accumulated value.
*/
-type ReverseReducer = {
+type ReverseReducer = {
// case when we got 0 elements
0: C;
@@ -67,7 +60,7 @@ type ReverseReducer = {
/**
* Reverses the order of elements from a tuple.
*/
-export type Reverse = ReverseReducer;
+export type Reverse = ReverseReducer;
/**
* Extracts the last element from a tuple.
diff --git a/packages/args/CHANGELOG.md b/packages/args/CHANGELOG.md
index e490074d19..3e481a45fe 100644
--- a/packages/args/CHANGELOG.md
+++ b/packages/args/CHANGELOG.md
@@ -3,9 +3,12 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
-## [0.5.1](https://github.com/thi-ng/umbrella/compare/@thi.ng/args@0.5.0...@thi.ng/args@0.5.1) (2021-04-03)
+# [0.6.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/args@0.5.1...@thi.ng/args@0.6.0) (2021-06-08)
-**Note:** Version bump only for package @thi.ng/args
+
+### Features
+
+* **args:** add kvPairsMulti(), update coerceKV() ([fd12f80](https://github.com/thi-ng/umbrella/commit/fd12f807dba2546133278a607c4b79dcf9a12b07))
@@ -23,22 +26,6 @@ See [Conventional Commits](https://conventionalcommits.org) for commit guideline
-## [0.4.2](https://github.com/thi-ng/umbrella/compare/@thi.ng/args@0.4.1...@thi.ng/args@0.4.2) (2021-03-24)
-
-**Note:** Version bump only for package @thi.ng/args
-
-
-
-
-
-## [0.4.1](https://github.com/thi-ng/umbrella/compare/@thi.ng/args@0.4.0...@thi.ng/args@0.4.1) (2021-03-24)
-
-**Note:** Version bump only for package @thi.ng/args
-
-
-
-
-
# [0.4.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/args@0.3.1...@thi.ng/args@0.4.0) (2021-03-22)
@@ -73,22 +60,6 @@ See [Conventional Commits](https://conventionalcommits.org) for commit guideline
-## [0.2.7](https://github.com/thi-ng/umbrella/compare/@thi.ng/args@0.2.6...@thi.ng/args@0.2.7) (2021-03-17)
-
-**Note:** Version bump only for package @thi.ng/args
-
-
-
-
-
-## [0.2.6](https://github.com/thi-ng/umbrella/compare/@thi.ng/args@0.2.5...@thi.ng/args@0.2.6) (2021-03-12)
-
-**Note:** Version bump only for package @thi.ng/args
-
-
-
-
-
# [0.2.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/args@0.1.0...@thi.ng/args@0.2.0) (2021-01-13)
diff --git a/packages/args/README.md b/packages/args/README.md
index a39f15c448..326e529a5a 100644
--- a/packages/args/README.md
+++ b/packages/args/README.md
@@ -26,15 +26,16 @@ Declarative, functional & typechecked CLI argument/options parser, value coercio
Includes built-in support for the following argument types (of course custom arg types are supported too):
-| **Argument type** | **Multiple** | **Example** | **Result** |
-|----------------------|--------------|----------------------------|-------------------------------|
-| **Flag** | | `--force`, `-f` | `force: true` |
-| **String** | ✅ | `--foo bar` | `foo: "bar"` |
-| **Float/int/hex** | ✅ | `--bg ff997f` | `bg: 16750975` |
-| **Enum** | ✅ | `--type png` | `type: "png"` |
-| **KV pairs** | ✅ | `--define foo=bar` | `define: { foo: "bar" }` |
-| **JSON** | | `--config '{"foo": [23]}'` | `config: { foo: [23] }` |
-| **Fixed size tuple** | | `--size 640x480` | `size: { value: [640, 480] }` |
+| **Argument type** | **Multiple** | **Example** | **Result** |
+|----------------------|--------------|----------------------------|-----------------------------------|
+| **Flag** | | `--force`, `-f` | `force: true` |
+| **String** | ✅ | `--foo bar` | `foo: "bar"` |
+| **Float/int/hex** | ✅ | `--bg ff997f` | `bg: 16750975` |
+| **Enum** | ✅ | `--type png` | `type: "png"` |
+| **KV pairs** | ✅ | `--define foo=bar` | `define: { foo: "bar" }` |
+| **KV multi pairs** | ✅ | `-D foo=bar -D foo=baz` | `define: { foo: ["bar", "baz"] }` |
+| **JSON** | | `--config '{"foo": [23]}'` | `config: { foo: [23] }` |
+| **Fixed size tuple** | | `--size 640x480` | `size: { value: [640, 480] }` |
If multiple values/repetitions are allowed for an argument, the values will be
collected into an array (apart from KV pairs, which will yield an object).
@@ -61,7 +62,7 @@ yarn add @thi.ng/args
```
-Package sizes (gzipped, pre-treeshake): ESM: 2.21 KB / CJS: 2.34 KB / UMD: 2.29 KB
+Package sizes (gzipped, pre-treeshake): ESM: 2.28 KB / CJS: 2.41 KB / UMD: 2.35 KB
## Dependencies
diff --git a/packages/args/package.json b/packages/args/package.json
index f5f55e7363..e010f8bc99 100644
--- a/packages/args/package.json
+++ b/packages/args/package.json
@@ -1,6 +1,6 @@
{
"name": "@thi.ng/args",
- "version": "0.5.1",
+ "version": "0.6.0",
"description": "Declarative, functional & typechecked CLI argument/options parser, value coercions etc.",
"module": "./index.js",
"main": "./lib/index.js",
@@ -42,17 +42,17 @@
"@microsoft/api-extractor": "^7.13.1",
"@types/mocha": "^8.2.0",
"@types/node": "^14.14.14",
- "mocha": "^8.3.0",
+ "mocha": "^9.0.0",
"nyc": "^15.1.0",
- "ts-node": "^9.1.1",
+ "ts-node": "^10.0.0",
"typedoc": "^0.20.30",
- "typescript": "^4.2.3"
+ "typescript": "4.2.4"
},
"dependencies": {
- "@thi.ng/api": "^7.1.4",
- "@thi.ng/checks": "^2.9.6",
- "@thi.ng/errors": "^1.3.0",
- "@thi.ng/strings": "^2.1.0"
+ "@thi.ng/api": "^7.1.5",
+ "@thi.ng/checks": "^2.9.7",
+ "@thi.ng/errors": "^1.3.1",
+ "@thi.ng/strings": "^2.1.1"
},
"files": [
"*.js",
diff --git a/packages/args/src/api.ts b/packages/args/src/api.ts
index f5893ddbb2..4dc5cf239b 100644
--- a/packages/args/src/api.ts
+++ b/packages/args/src/api.ts
@@ -57,6 +57,11 @@ export type Args> = {
delim?: string;
}
: KVDict extends T[id]
+ ? ArgSpec & {
+ coerce: Fn>;
+ multi: true;
+ }
+ : KVMultiDict extends T[id]
? ArgSpec & {
coerce: Fn>;
multi: true;
@@ -67,6 +72,7 @@ export type Args> = {
};
export type KVDict = IObjectOf;
+export type KVMultiDict = IObjectOf;
export interface ParseResult {
result: T;
diff --git a/packages/args/src/args.ts b/packages/args/src/args.ts
index 6718f9b98d..01e61652df 100644
--- a/packages/args/src/args.ts
+++ b/packages/args/src/args.ts
@@ -1,6 +1,6 @@
import type { Fn } from "@thi.ng/api";
import { repeat } from "@thi.ng/strings";
-import type { ArgSpec, KVDict, Tuple } from "./api";
+import type { ArgSpec, KVDict, KVMultiDict, Tuple } from "./api";
import {
coerceFloat,
coerceFloats,
@@ -14,33 +14,33 @@ import {
coerceTuple,
} from "./coerce";
-const $single = (coerce: Fn, hint: string) => <
- S extends Partial>
->(
- spec: S
-): S & { coerce: Fn; hint: string; group: string } => ({
- coerce,
- hint,
- group: "main",
- ...spec,
-});
+const $single =
+ (coerce: Fn, hint: string) =>
+ >>(
+ spec: S
+ ): S & { coerce: Fn; hint: string; group: string } => ({
+ coerce,
+ hint,
+ group: "main",
+ ...spec,
+ });
-const $multi = (coerce: Fn, hint: string) => <
- S extends Partial & { delim: string }>
->(
- spec: S
-): S & {
- coerce: Fn;
- hint: string;
- multi: true;
- group: string;
-} => ({
- hint: $hint(hint, spec.delim),
- multi: true,
- coerce,
- group: "main",
- ...spec,
-});
+const $multi =
+ (coerce: Fn, hint: string) =>
+ & { delim: string }>>(
+ spec: S
+ ): S & {
+ coerce: Fn;
+ hint: string;
+ multi: true;
+ group: string;
+ } => ({
+ hint: $hint(hint, spec.delim),
+ multi: true,
+ coerce,
+ group: "main",
+ ...spec,
+ });
const $hint = (hint: string, delim?: string) =>
hint + (delim ? `[${delim}..]` : "");
@@ -222,6 +222,32 @@ export const kvPairs = >>(
...spec,
});
+/**
+ * Like {@link kvPairs}, but coerces KV pairs into a result {@link KVMultiDict}
+ * which supports multiple values per given key (each key's values are collected
+ * into arrays).
+ *
+ * @param spec
+ * @param delim
+ * @param strict
+ */
+export const kvPairsMulti = >>(
+ spec: S,
+ delim = "=",
+ strict?: boolean
+): S & {
+ coerce: Fn;
+ hint: string;
+ multi: true;
+ group: string;
+} => ({
+ coerce: coerceKV(delim, strict, true),
+ hint: `key${delim}val(s)`,
+ multi: true,
+ group: "main",
+ ...spec,
+});
+
/**
* Returns a full {@link ArgSpec} for a fixed `size` tuple extracted from a
* single value string. The individual values are delimited by `delim` and will
diff --git a/packages/args/src/coerce.ts b/packages/args/src/coerce.ts
index ec363807c8..d6ec55ab5c 100644
--- a/packages/args/src/coerce.ts
+++ b/packages/args/src/coerce.ts
@@ -1,7 +1,7 @@
import type { Fn } from "@thi.ng/api";
import { isHex, isNumericFloat, isNumericInt } from "@thi.ng/checks";
import { illegalArgs } from "@thi.ng/errors";
-import { KVDict, Tuple } from "./api";
+import { KVDict, KVMultiDict, Tuple } from "./api";
export const coerceString = (x: string) => x;
@@ -24,29 +24,50 @@ export const coerceInts = (xs: string[]) => xs.map(coerceInt);
export const coerceJson = (x: string): T => JSON.parse(x);
-export const coerceOneOf = (xs: readonly K[]) => (
- x: string
-) => (xs.includes(x) ? x : illegalArgs(`invalid option: ${x}`));
-
-export const coerceKV = (delim = "=", strict = false) => (pairs: string[]) =>
- pairs.reduce((acc, x) => {
- const idx = x.indexOf(delim);
- strict &&
- idx < 1 &&
- illegalArgs(`got '${x}', but expected a 'key${delim}value' pair`);
- idx > 0
- ? (acc[x.substr(0, idx)] = x.substr(idx + 1))
- : (acc[x] = "true");
- return acc;
- }, {});
-
-export const coerceTuple = (
- coerce: Fn,
- size: number,
- delim = ","
-) => (src: string) => {
- const parts = src.split(delim);
- parts.length !== size &&
- illegalArgs(`got '${src}', but expected a tuple of ${size} values`);
- return new Tuple(parts.map(coerce));
-};
+export const coerceOneOf =
+ (xs: readonly K[]) =>
+ (x: string) =>
+ xs.includes(x) ? x : illegalArgs(`invalid option: ${x}`);
+
+export function coerceKV(
+ delim?: string,
+ strict?: boolean,
+ multi?: false
+): Fn;
+export function coerceKV(
+ delim?: string,
+ strict?: boolean,
+ multi?: true
+): Fn;
+export function coerceKV(delim = "=", strict = false, multi = false) {
+ return (pairs: string[]) =>
+ pairs.reduce((acc, x) => {
+ const idx = x.indexOf(delim);
+ strict &&
+ idx < 1 &&
+ illegalArgs(
+ `got '${x}', but expected a 'key${delim}value' pair`
+ );
+ if (idx > 0) {
+ const id = x.substr(0, idx);
+ const val = x.substr(idx + 1);
+ if (multi) {
+ acc[id] ? (acc[id]).push(val) : (acc[id] = [val]);
+ } else {
+ acc[id] = val;
+ }
+ } else {
+ acc[x] = multi ? ["true"] : "true";
+ }
+ return acc;
+ }, {});
+}
+
+export const coerceTuple =
+ (coerce: Fn, size: number, delim = ",") =>
+ (src: string) => {
+ const parts = src.split(delim);
+ parts.length !== size &&
+ illegalArgs(`got '${src}', but expected a tuple of ${size} values`);
+ return new Tuple(parts.map(coerce));
+ };
diff --git a/packages/args/test/index.ts b/packages/args/test/index.ts
index b9926cb9b3..fb64bc3147 100644
--- a/packages/args/test/index.ts
+++ b/packages/args/test/index.ts
@@ -8,7 +8,9 @@ import {
ints,
json,
KVDict,
+ KVMultiDict,
kvPairs,
+ kvPairsMulti,
oneOf,
parse,
size,
@@ -147,6 +149,33 @@ describe("args", () => {
);
});
+ it("kvMulti", () => {
+ assert.deepStrictEqual(
+ parse<{ a?: KVMultiDict }>(
+ { a: kvPairsMulti({}) },
+ [
+ "--a",
+ "foo=aa",
+ "--a",
+ "bar=bb",
+ "--a",
+ "foo=cc",
+ "--a",
+ "debug",
+ ],
+ { start: 0 }
+ ),
+ {
+ result: {
+ a: { foo: ["aa", "cc"], bar: ["bb"], debug: ["true"] },
+ },
+ index: 8,
+ done: true,
+ rest: [],
+ }
+ );
+ });
+
it("json", () => {
assert.deepStrictEqual(
parse<{ a: any }>(
diff --git a/packages/args/tpl.readme.md b/packages/args/tpl.readme.md
index 93daa40252..3857052e84 100644
--- a/packages/args/tpl.readme.md
+++ b/packages/args/tpl.readme.md
@@ -15,15 +15,16 @@ ${pkg.description}
Includes built-in support for the following argument types (of course custom arg types are supported too):
-| **Argument type** | **Multiple** | **Example** | **Result** |
-|----------------------|--------------|----------------------------|-------------------------------|
-| **Flag** | | `--force`, `-f` | `force: true` |
-| **String** | ✅ | `--foo bar` | `foo: "bar"` |
-| **Float/int/hex** | ✅ | `--bg ff997f` | `bg: 16750975` |
-| **Enum** | ✅ | `--type png` | `type: "png"` |
-| **KV pairs** | ✅ | `--define foo=bar` | `define: { foo: "bar" }` |
-| **JSON** | | `--config '{"foo": [23]}'` | `config: { foo: [23] }` |
-| **Fixed size tuple** | | `--size 640x480` | `size: { value: [640, 480] }` |
+| **Argument type** | **Multiple** | **Example** | **Result** |
+|----------------------|--------------|----------------------------|-----------------------------------|
+| **Flag** | | `--force`, `-f` | `force: true` |
+| **String** | ✅ | `--foo bar` | `foo: "bar"` |
+| **Float/int/hex** | ✅ | `--bg ff997f` | `bg: 16750975` |
+| **Enum** | ✅ | `--type png` | `type: "png"` |
+| **KV pairs** | ✅ | `--define foo=bar` | `define: { foo: "bar" }` |
+| **KV multi pairs** | ✅ | `-D foo=bar -D foo=baz` | `define: { foo: ["bar", "baz"] }` |
+| **JSON** | | `--config '{"foo": [23]}'` | `config: { foo: [23] }` |
+| **Fixed size tuple** | | `--size 640x480` | `size: { value: [640, 480] }` |
If multiple values/repetitions are allowed for an argument, the values will be
collected into an array (apart from KV pairs, which will yield an object).
diff --git a/packages/arrays/CHANGELOG.md b/packages/arrays/CHANGELOG.md
index 97e0865d9e..1c0ed7afa7 100644
--- a/packages/arrays/CHANGELOG.md
+++ b/packages/arrays/CHANGELOG.md
@@ -3,23 +3,7 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
-## [0.10.10](https://github.com/thi-ng/umbrella/compare/@thi.ng/arrays@0.10.9...@thi.ng/arrays@0.10.10) (2021-04-03)
-
-**Note:** Version bump only for package @thi.ng/arrays
-
-
-
-
-
-## [0.10.9](https://github.com/thi-ng/umbrella/compare/@thi.ng/arrays@0.10.8...@thi.ng/arrays@0.10.9) (2021-03-17)
-
-**Note:** Version bump only for package @thi.ng/arrays
-
-
-
-
-
-## [0.10.8](https://github.com/thi-ng/umbrella/compare/@thi.ng/arrays@0.10.7...@thi.ng/arrays@0.10.8) (2021-03-12)
+## [0.10.12](https://github.com/thi-ng/umbrella/compare/@thi.ng/arrays@0.10.11...@thi.ng/arrays@0.10.12) (2021-06-08)
**Note:** Version bump only for package @thi.ng/arrays
diff --git a/packages/arrays/package.json b/packages/arrays/package.json
index e9da2c6307..3cfc7dcdf4 100644
--- a/packages/arrays/package.json
+++ b/packages/arrays/package.json
@@ -1,6 +1,6 @@
{
"name": "@thi.ng/arrays",
- "version": "0.10.10",
+ "version": "0.10.12",
"description": "Array / Arraylike utilities",
"module": "./index.js",
"main": "./lib/index.js",
@@ -42,19 +42,19 @@
"@microsoft/api-extractor": "^7.13.1",
"@types/mocha": "^8.2.0",
"@types/node": "^14.14.14",
- "mocha": "^8.3.0",
+ "mocha": "^9.0.0",
"nyc": "^15.1.0",
- "ts-node": "^9.1.1",
+ "ts-node": "^10.0.0",
"typedoc": "^0.20.30",
- "typescript": "^4.2.3"
+ "typescript": "4.2.4"
},
"dependencies": {
- "@thi.ng/api": "^7.1.4",
- "@thi.ng/checks": "^2.9.6",
- "@thi.ng/compare": "^1.3.28",
- "@thi.ng/equiv": "^1.0.41",
- "@thi.ng/errors": "^1.3.0",
- "@thi.ng/random": "^2.3.7"
+ "@thi.ng/api": "^7.1.5",
+ "@thi.ng/checks": "^2.9.7",
+ "@thi.ng/compare": "^1.3.29",
+ "@thi.ng/equiv": "^1.0.42",
+ "@thi.ng/errors": "^1.3.1",
+ "@thi.ng/random": "^2.4.1"
},
"files": [
"*.js",
diff --git a/packages/associative/CHANGELOG.md b/packages/associative/CHANGELOG.md
index 381ed2cd88..97a671ffc8 100644
--- a/packages/associative/CHANGELOG.md
+++ b/packages/associative/CHANGELOG.md
@@ -3,7 +3,7 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
-## [5.2.1](https://github.com/thi-ng/umbrella/compare/@thi.ng/associative@5.2.0...@thi.ng/associative@5.2.1) (2021-04-03)
+## [5.2.5](https://github.com/thi-ng/umbrella/compare/@thi.ng/associative@5.2.4...@thi.ng/associative@5.2.5) (2021-06-08)
**Note:** Version bump only for package @thi.ng/associative
@@ -23,38 +23,6 @@ See [Conventional Commits](https://conventionalcommits.org) for commit guideline
-## [5.1.9](https://github.com/thi-ng/umbrella/compare/@thi.ng/associative@5.1.8...@thi.ng/associative@5.1.9) (2021-03-28)
-
-**Note:** Version bump only for package @thi.ng/associative
-
-
-
-
-
-## [5.1.8](https://github.com/thi-ng/umbrella/compare/@thi.ng/associative@5.1.7...@thi.ng/associative@5.1.8) (2021-03-27)
-
-**Note:** Version bump only for package @thi.ng/associative
-
-
-
-
-
-## [5.1.7](https://github.com/thi-ng/umbrella/compare/@thi.ng/associative@5.1.6...@thi.ng/associative@5.1.7) (2021-03-17)
-
-**Note:** Version bump only for package @thi.ng/associative
-
-
-
-
-
-## [5.1.6](https://github.com/thi-ng/umbrella/compare/@thi.ng/associative@5.1.5...@thi.ng/associative@5.1.6) (2021-03-12)
-
-**Note:** Version bump only for package @thi.ng/associative
-
-
-
-
-
# [5.1.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/associative@5.0.17...@thi.ng/associative@5.1.0) (2021-02-20)
diff --git a/packages/associative/package.json b/packages/associative/package.json
index eec92aa498..2ac6e7bd2f 100644
--- a/packages/associative/package.json
+++ b/packages/associative/package.json
@@ -1,6 +1,6 @@
{
"name": "@thi.ng/associative",
- "version": "5.2.1",
+ "version": "5.2.5",
"description": "Alternative Map and Set implementations with customizable equality semantics & supporting operations",
"module": "./index.js",
"main": "./lib/index.js",
@@ -42,21 +42,21 @@
"@microsoft/api-extractor": "^7.13.1",
"@types/mocha": "^8.2.0",
"@types/node": "^14.14.14",
- "mocha": "^8.3.0",
+ "mocha": "^9.0.0",
"nyc": "^15.1.0",
- "ts-node": "^9.1.1",
+ "ts-node": "^10.0.0",
"typedoc": "^0.20.30",
- "typescript": "^4.2.3"
+ "typescript": "4.2.4"
},
"dependencies": {
- "@thi.ng/api": "^7.1.4",
- "@thi.ng/binary": "^2.2.4",
- "@thi.ng/checks": "^2.9.6",
- "@thi.ng/compare": "^1.3.28",
- "@thi.ng/dcons": "^2.3.20",
- "@thi.ng/equiv": "^1.0.41",
- "@thi.ng/errors": "^1.3.0",
- "@thi.ng/transducers": "^7.6.10",
+ "@thi.ng/api": "^7.1.5",
+ "@thi.ng/binary": "^2.2.5",
+ "@thi.ng/checks": "^2.9.7",
+ "@thi.ng/compare": "^1.3.29",
+ "@thi.ng/dcons": "^2.3.24",
+ "@thi.ng/equiv": "^1.0.42",
+ "@thi.ng/errors": "^1.3.1",
+ "@thi.ng/transducers": "^7.7.3",
"tslib": "^2.1.0"
},
"files": [
diff --git a/packages/atom/CHANGELOG.md b/packages/atom/CHANGELOG.md
index ed9f1ceb77..28b287fff7 100644
--- a/packages/atom/CHANGELOG.md
+++ b/packages/atom/CHANGELOG.md
@@ -3,23 +3,7 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
-## [4.1.35](https://github.com/thi-ng/umbrella/compare/@thi.ng/atom@4.1.34...@thi.ng/atom@4.1.35) (2021-04-03)
-
-**Note:** Version bump only for package @thi.ng/atom
-
-
-
-
-
-## [4.1.34](https://github.com/thi-ng/umbrella/compare/@thi.ng/atom@4.1.33...@thi.ng/atom@4.1.34) (2021-03-17)
-
-**Note:** Version bump only for package @thi.ng/atom
-
-
-
-
-
-## [4.1.33](https://github.com/thi-ng/umbrella/compare/@thi.ng/atom@4.1.32...@thi.ng/atom@4.1.33) (2021-03-12)
+## [4.1.36](https://github.com/thi-ng/umbrella/compare/@thi.ng/atom@4.1.35...@thi.ng/atom@4.1.36) (2021-06-08)
**Note:** Version bump only for package @thi.ng/atom
diff --git a/packages/atom/README.md b/packages/atom/README.md
index d96e71c2cb..5aa23a7f5d 100644
--- a/packages/atom/README.md
+++ b/packages/atom/README.md
@@ -458,7 +458,7 @@ let x = 0;
let a = defAtom({ value: 1 })
// create an eager view by passing `false` as last arg
-view = defView(["value"], (y) => (x = y, y * 10), false);
+view = defView(a, ["value"], (y) => (x = y, y * 10), false);
// check `x` to verify that transformer already has run
x === 1
diff --git a/packages/atom/package.json b/packages/atom/package.json
index f1731bb39e..1dd0bb69c9 100644
--- a/packages/atom/package.json
+++ b/packages/atom/package.json
@@ -1,6 +1,6 @@
{
"name": "@thi.ng/atom",
- "version": "4.1.35",
+ "version": "4.1.36",
"description": "Mutable wrappers for nested immutable values with optional undo/redo history and transaction support",
"module": "./index.js",
"main": "./lib/index.js",
@@ -42,17 +42,17 @@
"@microsoft/api-extractor": "^7.13.1",
"@types/mocha": "^8.2.0",
"@types/node": "^14.14.14",
- "mocha": "^8.3.0",
+ "mocha": "^9.0.0",
"nyc": "^15.1.0",
- "ts-node": "^9.1.1",
+ "ts-node": "^10.0.0",
"typedoc": "^0.20.30",
- "typescript": "^4.2.3"
+ "typescript": "4.2.4"
},
"dependencies": {
- "@thi.ng/api": "^7.1.4",
- "@thi.ng/equiv": "^1.0.41",
- "@thi.ng/errors": "^1.3.0",
- "@thi.ng/paths": "^4.2.7",
+ "@thi.ng/api": "^7.1.5",
+ "@thi.ng/equiv": "^1.0.42",
+ "@thi.ng/errors": "^1.3.1",
+ "@thi.ng/paths": "^4.2.8",
"tslib": "^2.1.0"
},
"files": [
diff --git a/packages/atom/src/history.ts b/packages/atom/src/history.ts
index 991cf2ca37..a21256f77e 100644
--- a/packages/atom/src/history.ts
+++ b/packages/atom/src/history.ts
@@ -61,7 +61,7 @@ export class History implements IHistory {
constructor(state: IAtom, maxLen = 100, changed?: Predicate2) {
this.state = state;
this.maxLen = maxLen;
- this.changed = changed || ((a, b) => !equiv(a, b));
+ this.changed = changed || ((a: T, b: T) => !equiv(a, b));
this.clear();
}
diff --git a/packages/atom/tpl.readme.md b/packages/atom/tpl.readme.md
index 9ad59576be..53606d68b4 100644
--- a/packages/atom/tpl.readme.md
+++ b/packages/atom/tpl.readme.md
@@ -397,7 +397,7 @@ let x = 0;
let a = defAtom({ value: 1 })
// create an eager view by passing `false` as last arg
-view = defView(["value"], (y) => (x = y, y * 10), false);
+view = defView(a, ["value"], (y) => (x = y, y * 10), false);
// check `x` to verify that transformer already has run
x === 1
diff --git a/packages/base-n/CHANGELOG.md b/packages/base-n/CHANGELOG.md
index 612403bd81..6cbe8692c4 100644
--- a/packages/base-n/CHANGELOG.md
+++ b/packages/base-n/CHANGELOG.md
@@ -3,7 +3,7 @@
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/base-n@0.1.5...@thi.ng/base-n@0.1.6) (2021-03-12)
+## [0.1.7](https://github.com/thi-ng/umbrella/compare/@thi.ng/base-n@0.1.6...@thi.ng/base-n@0.1.7) (2021-06-08)
**Note:** Version bump only for package @thi.ng/base-n
diff --git a/packages/base-n/package.json b/packages/base-n/package.json
index 121395ad15..40af9432b2 100644
--- a/packages/base-n/package.json
+++ b/packages/base-n/package.json
@@ -1,6 +1,6 @@
{
"name": "@thi.ng/base-n",
- "version": "0.1.6",
+ "version": "0.1.7",
"description": "Arbitrary base-n conversions w/ presets for base16/32/36/58/62/64/85, support for arrays & bigints",
"module": "./index.js",
"main": "./lib/index.js",
@@ -42,14 +42,14 @@
"@microsoft/api-extractor": "^7.13.1",
"@types/mocha": "^8.2.0",
"@types/node": "^14.14.14",
- "mocha": "^8.3.0",
+ "mocha": "^9.0.0",
"nyc": "^15.1.0",
- "ts-node": "^9.1.1",
+ "ts-node": "^10.0.0",
"typedoc": "^0.20.30",
- "typescript": "^4.2.3"
+ "typescript": "4.2.4"
},
"dependencies": {
- "@thi.ng/hex": "^0.2.5"
+ "@thi.ng/hex": "^0.2.6"
},
"files": [
"*.js",
diff --git a/packages/bench/CHANGELOG.md b/packages/bench/CHANGELOG.md
index fefce06164..23d139cbc6 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.1.1](https://github.com/thi-ng/umbrella/compare/@thi.ng/bench@2.1.0...@thi.ng/bench@2.1.1) (2021-06-08)
+
+**Note:** Version bump only for package @thi.ng/bench
+
+
+
+
+
# [2.1.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/bench@2.0.31...@thi.ng/bench@2.1.0) (2021-03-12)
diff --git a/packages/bench/package.json b/packages/bench/package.json
index 494002c136..dc03d126eb 100644
--- a/packages/bench/package.json
+++ b/packages/bench/package.json
@@ -1,6 +1,6 @@
{
"name": "@thi.ng/bench",
- "version": "2.1.0",
+ "version": "2.1.1",
"description": "Benchmarking utilities w/ various statistics & formatters (CSV, Markdown etc.)",
"module": "./index.js",
"main": "./lib/index.js",
@@ -42,14 +42,14 @@
"@microsoft/api-extractor": "^7.13.1",
"@types/mocha": "^8.2.0",
"@types/node": "^14.14.14",
- "mocha": "^8.3.0",
+ "mocha": "^9.0.0",
"nyc": "^15.1.0",
- "ts-node": "^9.1.1",
+ "ts-node": "^10.0.0",
"typedoc": "^0.20.30",
- "typescript": "^4.2.3"
+ "typescript": "4.2.4"
},
"dependencies": {
- "@thi.ng/api": "^7.1.4"
+ "@thi.ng/api": "^7.1.5"
},
"files": [
"*.js",
diff --git a/packages/bencode/CHANGELOG.md b/packages/bencode/CHANGELOG.md
index e1a88318dd..808916a72f 100644
--- a/packages/bencode/CHANGELOG.md
+++ b/packages/bencode/CHANGELOG.md
@@ -3,39 +3,7 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
-## [0.3.60](https://github.com/thi-ng/umbrella/compare/@thi.ng/bencode@0.3.59...@thi.ng/bencode@0.3.60) (2021-04-03)
-
-**Note:** Version bump only for package @thi.ng/bencode
-
-
-
-
-
-## [0.3.59](https://github.com/thi-ng/umbrella/compare/@thi.ng/bencode@0.3.58...@thi.ng/bencode@0.3.59) (2021-03-28)
-
-**Note:** Version bump only for package @thi.ng/bencode
-
-
-
-
-
-## [0.3.58](https://github.com/thi-ng/umbrella/compare/@thi.ng/bencode@0.3.57...@thi.ng/bencode@0.3.58) (2021-03-27)
-
-**Note:** Version bump only for package @thi.ng/bencode
-
-
-
-
-
-## [0.3.57](https://github.com/thi-ng/umbrella/compare/@thi.ng/bencode@0.3.56...@thi.ng/bencode@0.3.57) (2021-03-17)
-
-**Note:** Version bump only for package @thi.ng/bencode
-
-
-
-
-
-## [0.3.56](https://github.com/thi-ng/umbrella/compare/@thi.ng/bencode@0.3.55...@thi.ng/bencode@0.3.56) (2021-03-12)
+## [0.3.64](https://github.com/thi-ng/umbrella/compare/@thi.ng/bencode@0.3.63...@thi.ng/bencode@0.3.64) (2021-06-08)
**Note:** Version bump only for package @thi.ng/bencode
diff --git a/packages/bencode/package.json b/packages/bencode/package.json
index 7ff7e02330..98d39149b9 100644
--- a/packages/bencode/package.json
+++ b/packages/bencode/package.json
@@ -1,6 +1,6 @@
{
"name": "@thi.ng/bencode",
- "version": "0.3.60",
+ "version": "0.3.64",
"description": "Bencode binary encoder / decoder with optional UTF8 encoding & floating point support",
"module": "./index.js",
"main": "./lib/index.js",
@@ -42,20 +42,20 @@
"@microsoft/api-extractor": "^7.13.1",
"@types/mocha": "^8.2.0",
"@types/node": "^14.14.14",
- "mocha": "^8.3.0",
+ "mocha": "^9.0.0",
"nyc": "^15.1.0",
- "ts-node": "^9.1.1",
+ "ts-node": "^10.0.0",
"typedoc": "^0.20.30",
- "typescript": "^4.2.3"
+ "typescript": "4.2.4"
},
"dependencies": {
- "@thi.ng/api": "^7.1.4",
- "@thi.ng/arrays": "^0.10.10",
- "@thi.ng/checks": "^2.9.6",
- "@thi.ng/defmulti": "^1.3.11",
- "@thi.ng/errors": "^1.3.0",
- "@thi.ng/transducers": "^7.6.10",
- "@thi.ng/transducers-binary": "^0.6.16"
+ "@thi.ng/api": "^7.1.5",
+ "@thi.ng/arrays": "^0.10.12",
+ "@thi.ng/checks": "^2.9.7",
+ "@thi.ng/defmulti": "^1.3.12",
+ "@thi.ng/errors": "^1.3.1",
+ "@thi.ng/transducers": "^7.7.3",
+ "@thi.ng/transducers-binary": "^0.6.20"
},
"files": [
"*.js",
diff --git a/packages/binary/CHANGELOG.md b/packages/binary/CHANGELOG.md
index 71e396ae5b..5c3514265d 100644
--- a/packages/binary/CHANGELOG.md
+++ b/packages/binary/CHANGELOG.md
@@ -3,7 +3,7 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
-## [2.2.4](https://github.com/thi-ng/umbrella/compare/@thi.ng/binary@2.2.3...@thi.ng/binary@2.2.4) (2021-03-12)
+## [2.2.5](https://github.com/thi-ng/umbrella/compare/@thi.ng/binary@2.2.4...@thi.ng/binary@2.2.5) (2021-06-08)
**Note:** Version bump only for package @thi.ng/binary
diff --git a/packages/binary/package.json b/packages/binary/package.json
index 276ecda394..e5a3b2ee13 100644
--- a/packages/binary/package.json
+++ b/packages/binary/package.json
@@ -1,6 +1,6 @@
{
"name": "@thi.ng/binary",
- "version": "2.2.4",
+ "version": "2.2.5",
"description": "100+ assorted binary / bitwise operations, conversions, utilities, lookup tables",
"module": "./index.js",
"main": "./lib/index.js",
@@ -42,14 +42,14 @@
"@microsoft/api-extractor": "^7.13.1",
"@types/mocha": "^8.2.0",
"@types/node": "^14.14.14",
- "mocha": "^8.3.0",
+ "mocha": "^9.0.0",
"nyc": "^15.1.0",
- "ts-node": "^9.1.1",
+ "ts-node": "^10.0.0",
"typedoc": "^0.20.30",
- "typescript": "^4.2.3"
+ "typescript": "4.2.4"
},
"dependencies": {
- "@thi.ng/api": "^7.1.4"
+ "@thi.ng/api": "^7.1.5"
},
"files": [
"*.js",
diff --git a/packages/bitfield/CHANGELOG.md b/packages/bitfield/CHANGELOG.md
index c1c14b3fd3..28698c51a9 100644
--- a/packages/bitfield/CHANGELOG.md
+++ b/packages/bitfield/CHANGELOG.md
@@ -3,31 +3,7 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
-## [0.4.8](https://github.com/thi-ng/umbrella/compare/@thi.ng/bitfield@0.4.7...@thi.ng/bitfield@0.4.8) (2021-03-24)
-
-**Note:** Version bump only for package @thi.ng/bitfield
-
-
-
-
-
-## [0.4.7](https://github.com/thi-ng/umbrella/compare/@thi.ng/bitfield@0.4.6...@thi.ng/bitfield@0.4.7) (2021-03-24)
-
-**Note:** Version bump only for package @thi.ng/bitfield
-
-
-
-
-
-## [0.4.6](https://github.com/thi-ng/umbrella/compare/@thi.ng/bitfield@0.4.5...@thi.ng/bitfield@0.4.6) (2021-03-17)
-
-**Note:** Version bump only for package @thi.ng/bitfield
-
-
-
-
-
-## [0.4.5](https://github.com/thi-ng/umbrella/compare/@thi.ng/bitfield@0.4.4...@thi.ng/bitfield@0.4.5) (2021-03-12)
+## [0.4.9](https://github.com/thi-ng/umbrella/compare/@thi.ng/bitfield@0.4.8...@thi.ng/bitfield@0.4.9) (2021-06-08)
**Note:** Version bump only for package @thi.ng/bitfield
diff --git a/packages/bitfield/package.json b/packages/bitfield/package.json
index 5447f3bf6d..47a65e39eb 100644
--- a/packages/bitfield/package.json
+++ b/packages/bitfield/package.json
@@ -1,6 +1,6 @@
{
"name": "@thi.ng/bitfield",
- "version": "0.4.8",
+ "version": "0.4.9",
"description": "1D / 2D bit field implementations",
"module": "./index.js",
"main": "./lib/index.js",
@@ -42,17 +42,17 @@
"@microsoft/api-extractor": "^7.13.1",
"@types/mocha": "^8.2.0",
"@types/node": "^14.14.14",
- "mocha": "^8.3.0",
+ "mocha": "^9.0.0",
"nyc": "^15.1.0",
- "ts-node": "^9.1.1",
+ "ts-node": "^10.0.0",
"typedoc": "^0.20.30",
- "typescript": "^4.2.3"
+ "typescript": "4.2.4"
},
"dependencies": {
- "@thi.ng/api": "^7.1.4",
- "@thi.ng/binary": "^2.2.4",
- "@thi.ng/errors": "^1.3.0",
- "@thi.ng/strings": "^2.1.0"
+ "@thi.ng/api": "^7.1.5",
+ "@thi.ng/binary": "^2.2.5",
+ "@thi.ng/errors": "^1.3.1",
+ "@thi.ng/strings": "^2.1.1"
},
"files": [
"*.js",
diff --git a/packages/bitstream/CHANGELOG.md b/packages/bitstream/CHANGELOG.md
index 6470ac2e81..eaed9b3359 100644
--- a/packages/bitstream/CHANGELOG.md
+++ b/packages/bitstream/CHANGELOG.md
@@ -3,15 +3,7 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
-## [1.1.38](https://github.com/thi-ng/umbrella/compare/@thi.ng/bitstream@1.1.37...@thi.ng/bitstream@1.1.38) (2021-03-17)
-
-**Note:** Version bump only for package @thi.ng/bitstream
-
-
-
-
-
-## [1.1.37](https://github.com/thi-ng/umbrella/compare/@thi.ng/bitstream@1.1.36...@thi.ng/bitstream@1.1.37) (2021-03-12)
+## [1.1.39](https://github.com/thi-ng/umbrella/compare/@thi.ng/bitstream@1.1.38...@thi.ng/bitstream@1.1.39) (2021-06-08)
**Note:** Version bump only for package @thi.ng/bitstream
diff --git a/packages/bitstream/package.json b/packages/bitstream/package.json
index 63a795466b..0490bade64 100644
--- a/packages/bitstream/package.json
+++ b/packages/bitstream/package.json
@@ -1,6 +1,6 @@
{
"name": "@thi.ng/bitstream",
- "version": "1.1.38",
+ "version": "1.1.39",
"description": "ES6 iterator based read/write bit streams with support for variable word widths",
"module": "./index.js",
"main": "./lib/index.js",
@@ -42,14 +42,14 @@
"@microsoft/api-extractor": "^7.13.1",
"@types/mocha": "^8.2.0",
"@types/node": "^14.14.14",
- "mocha": "^8.3.0",
+ "mocha": "^9.0.0",
"nyc": "^15.1.0",
- "ts-node": "^9.1.1",
+ "ts-node": "^10.0.0",
"typedoc": "^0.20.30",
- "typescript": "^4.2.3"
+ "typescript": "4.2.4"
},
"dependencies": {
- "@thi.ng/errors": "^1.3.0"
+ "@thi.ng/errors": "^1.3.1"
},
"files": [
"*.js",
diff --git a/packages/cache/CHANGELOG.md b/packages/cache/CHANGELOG.md
index bfcd513d84..aa4a8c1cb6 100644
--- a/packages/cache/CHANGELOG.md
+++ b/packages/cache/CHANGELOG.md
@@ -3,39 +3,7 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
-## [1.0.80](https://github.com/thi-ng/umbrella/compare/@thi.ng/cache@1.0.79...@thi.ng/cache@1.0.80) (2021-04-03)
-
-**Note:** Version bump only for package @thi.ng/cache
-
-
-
-
-
-## [1.0.79](https://github.com/thi-ng/umbrella/compare/@thi.ng/cache@1.0.78...@thi.ng/cache@1.0.79) (2021-03-28)
-
-**Note:** Version bump only for package @thi.ng/cache
-
-
-
-
-
-## [1.0.78](https://github.com/thi-ng/umbrella/compare/@thi.ng/cache@1.0.77...@thi.ng/cache@1.0.78) (2021-03-27)
-
-**Note:** Version bump only for package @thi.ng/cache
-
-
-
-
-
-## [1.0.77](https://github.com/thi-ng/umbrella/compare/@thi.ng/cache@1.0.76...@thi.ng/cache@1.0.77) (2021-03-17)
-
-**Note:** Version bump only for package @thi.ng/cache
-
-
-
-
-
-## [1.0.76](https://github.com/thi-ng/umbrella/compare/@thi.ng/cache@1.0.75...@thi.ng/cache@1.0.76) (2021-03-12)
+## [1.0.84](https://github.com/thi-ng/umbrella/compare/@thi.ng/cache@1.0.83...@thi.ng/cache@1.0.84) (2021-06-08)
**Note:** Version bump only for package @thi.ng/cache
diff --git a/packages/cache/package.json b/packages/cache/package.json
index 57d2165428..95be5b7477 100644
--- a/packages/cache/package.json
+++ b/packages/cache/package.json
@@ -1,6 +1,6 @@
{
"name": "@thi.ng/cache",
- "version": "1.0.80",
+ "version": "1.0.84",
"description": "In-memory cache implementations with ES6 Map-like API and different eviction strategies",
"module": "./index.js",
"main": "./lib/index.js",
@@ -42,16 +42,16 @@
"@microsoft/api-extractor": "^7.13.1",
"@types/mocha": "^8.2.0",
"@types/node": "^14.14.14",
- "mocha": "^8.3.0",
+ "mocha": "^9.0.0",
"nyc": "^15.1.0",
- "ts-node": "^9.1.1",
+ "ts-node": "^10.0.0",
"typedoc": "^0.20.30",
- "typescript": "^4.2.3"
+ "typescript": "4.2.4"
},
"dependencies": {
- "@thi.ng/api": "^7.1.4",
- "@thi.ng/dcons": "^2.3.20",
- "@thi.ng/transducers": "^7.6.10"
+ "@thi.ng/api": "^7.1.5",
+ "@thi.ng/dcons": "^2.3.24",
+ "@thi.ng/transducers": "^7.7.3"
},
"files": [
"*.js",
diff --git a/packages/checks/CHANGELOG.md b/packages/checks/CHANGELOG.md
index 9cd3344537..4d205f366d 100644
--- a/packages/checks/CHANGELOG.md
+++ b/packages/checks/CHANGELOG.md
@@ -3,15 +3,7 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
-## [2.9.6](https://github.com/thi-ng/umbrella/compare/@thi.ng/checks@2.9.5...@thi.ng/checks@2.9.6) (2021-04-03)
-
-**Note:** Version bump only for package @thi.ng/checks
-
-
-
-
-
-## [2.9.5](https://github.com/thi-ng/umbrella/compare/@thi.ng/checks@2.9.4...@thi.ng/checks@2.9.5) (2021-03-12)
+## [2.9.7](https://github.com/thi-ng/umbrella/compare/@thi.ng/checks@2.9.6...@thi.ng/checks@2.9.7) (2021-06-08)
**Note:** Version bump only for package @thi.ng/checks
diff --git a/packages/checks/package.json b/packages/checks/package.json
index a3bd0ed8df..6a4ddce22d 100644
--- a/packages/checks/package.json
+++ b/packages/checks/package.json
@@ -1,6 +1,6 @@
{
"name": "@thi.ng/checks",
- "version": "2.9.6",
+ "version": "2.9.7",
"description": "Collection of 50+ type, feature & value checks",
"module": "./index.js",
"main": "./lib/index.js",
@@ -42,11 +42,11 @@
"@microsoft/api-extractor": "^7.13.1",
"@types/mocha": "^8.2.0",
"@types/node": "^14.14.14",
- "mocha": "^8.3.0",
+ "mocha": "^9.0.0",
"nyc": "^15.1.0",
- "ts-node": "^9.1.1",
+ "ts-node": "^10.0.0",
"typedoc": "^0.20.30",
- "typescript": "^4.2.3"
+ "typescript": "4.2.4"
},
"dependencies": {
"tslib": "^2.1.0"
diff --git a/packages/color/CHANGELOG.md b/packages/color/CHANGELOG.md
index 3a5a95bd55..d7ea7d4192 100644
--- a/packages/color/CHANGELOG.md
+++ b/packages/color/CHANGELOG.md
@@ -3,63 +3,7 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
-## [3.1.12](https://github.com/thi-ng/umbrella/compare/@thi.ng/color@3.1.11...@thi.ng/color@3.1.12) (2021-04-03)
-
-**Note:** Version bump only for package @thi.ng/color
-
-
-
-
-
-## [3.1.11](https://github.com/thi-ng/umbrella/compare/@thi.ng/color@3.1.10...@thi.ng/color@3.1.11) (2021-03-30)
-
-**Note:** Version bump only for package @thi.ng/color
-
-
-
-
-
-## [3.1.10](https://github.com/thi-ng/umbrella/compare/@thi.ng/color@3.1.9...@thi.ng/color@3.1.10) (2021-03-28)
-
-**Note:** Version bump only for package @thi.ng/color
-
-
-
-
-
-## [3.1.9](https://github.com/thi-ng/umbrella/compare/@thi.ng/color@3.1.8...@thi.ng/color@3.1.9) (2021-03-27)
-
-**Note:** Version bump only for package @thi.ng/color
-
-
-
-
-
-## [3.1.8](https://github.com/thi-ng/umbrella/compare/@thi.ng/color@3.1.7...@thi.ng/color@3.1.8) (2021-03-24)
-
-**Note:** Version bump only for package @thi.ng/color
-
-
-
-
-
-## [3.1.7](https://github.com/thi-ng/umbrella/compare/@thi.ng/color@3.1.6...@thi.ng/color@3.1.7) (2021-03-24)
-
-**Note:** Version bump only for package @thi.ng/color
-
-
-
-
-
-## [3.1.6](https://github.com/thi-ng/umbrella/compare/@thi.ng/color@3.1.5...@thi.ng/color@3.1.6) (2021-03-17)
-
-**Note:** Version bump only for package @thi.ng/color
-
-
-
-
-
-## [3.1.5](https://github.com/thi-ng/umbrella/compare/@thi.ng/color@3.1.4...@thi.ng/color@3.1.5) (2021-03-12)
+## [3.1.16](https://github.com/thi-ng/umbrella/compare/@thi.ng/color@3.1.15...@thi.ng/color@3.1.16) (2021-06-08)
**Note:** Version bump only for package @thi.ng/color
diff --git a/packages/color/README.md b/packages/color/README.md
index adafc04501..6e6e2e8ebe 100644
--- a/packages/color/README.md
+++ b/packages/color/README.md
@@ -613,13 +613,14 @@ directory are using this package.
A selection:
-| Screenshot | Description | Live demo | Source |
-| ------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------- | -------------------------------------------------------- | ------------------------------------------------------------------------------------- |
-| | Probabilistic color theme generator | [Demo](https://demo.thi.ng/umbrella/color-themes/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/color-themes) |
-| | Heatmap visualization of this mono-repo's commits | | [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) |
-| | Interactive pixel sorting tool using thi.ng/color & thi.ng/pixel | [Demo](https://demo.thi.ng/umbrella/pixel-sorting/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/pixel-sorting) |
-| | 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) |
+| Screenshot | Description | Live demo | Source |
+| ------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------- | -------------------------------------------------------- | ------------------------------------------------------------------------------------- |
+| | Probabilistic color theme generator | [Demo](https://demo.thi.ng/umbrella/color-themes/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/color-themes) |
+| | Heatmap visualization of this mono-repo's commits | | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/commit-heatmap) |
+| | Color palette generation via dominant color extraction from uploaded images | [Demo](https://demo.thi.ng/umbrella/dominant-colors/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/dominant-colors) |
+| | 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) |
+| | Interactive pixel sorting tool using thi.ng/color & thi.ng/pixel | [Demo](https://demo.thi.ng/umbrella/pixel-sorting/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/pixel-sorting) |
+| | 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/color/package.json b/packages/color/package.json
index fa252bf007..73495fd04a 100644
--- a/packages/color/package.json
+++ b/packages/color/package.json
@@ -1,6 +1,6 @@
{
"name": "@thi.ng/color",
- "version": "3.1.12",
+ "version": "3.1.16",
"description": "Array-based color types, CSS parsing, conversions, transformations, declarative theme generation, gradients, presets",
"module": "./index.js",
"main": "./lib/index.js",
@@ -43,26 +43,26 @@
"@microsoft/api-extractor": "^7.13.1",
"@types/mocha": "^8.2.0",
"@types/node": "^14.14.14",
- "mocha": "^8.3.0",
+ "mocha": "^9.0.0",
"nyc": "^15.1.0",
- "ts-node": "^9.1.1",
+ "ts-node": "^10.0.0",
"typedoc": "^0.20.30",
- "typescript": "^4.2.3"
+ "typescript": "4.2.4"
},
"dependencies": {
- "@thi.ng/api": "^7.1.4",
- "@thi.ng/arrays": "^0.10.10",
- "@thi.ng/binary": "^2.2.4",
- "@thi.ng/checks": "^2.9.6",
- "@thi.ng/compare": "^1.3.28",
- "@thi.ng/compose": "^1.4.30",
- "@thi.ng/defmulti": "^1.3.11",
- "@thi.ng/errors": "^1.3.0",
- "@thi.ng/math": "^3.4.0",
- "@thi.ng/random": "^2.3.7",
- "@thi.ng/strings": "^2.1.0",
- "@thi.ng/transducers": "^7.6.10",
- "@thi.ng/vectors": "^5.2.1"
+ "@thi.ng/api": "^7.1.5",
+ "@thi.ng/arrays": "^0.10.12",
+ "@thi.ng/binary": "^2.2.5",
+ "@thi.ng/checks": "^2.9.7",
+ "@thi.ng/compare": "^1.3.29",
+ "@thi.ng/compose": "^1.4.31",
+ "@thi.ng/defmulti": "^1.3.12",
+ "@thi.ng/errors": "^1.3.1",
+ "@thi.ng/math": "^4.0.1",
+ "@thi.ng/random": "^2.4.1",
+ "@thi.ng/strings": "^2.1.1",
+ "@thi.ng/transducers": "^7.7.3",
+ "@thi.ng/vectors": "^6.0.1"
},
"files": [
"*.js",
diff --git a/packages/colored-noise/CHANGELOG.md b/packages/colored-noise/CHANGELOG.md
index c729bc087f..52b8d66923 100644
--- a/packages/colored-noise/CHANGELOG.md
+++ b/packages/colored-noise/CHANGELOG.md
@@ -3,87 +3,7 @@
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/colored-noise@0.1.29...@thi.ng/colored-noise@0.1.30) (2021-04-03)
-
-**Note:** Version bump only for package @thi.ng/colored-noise
-
-
-
-
-
-## [0.1.29](https://github.com/thi-ng/umbrella/compare/@thi.ng/colored-noise@0.1.28...@thi.ng/colored-noise@0.1.29) (2021-03-30)
-
-**Note:** Version bump only for package @thi.ng/colored-noise
-
-
-
-
-
-## [0.1.28](https://github.com/thi-ng/umbrella/compare/@thi.ng/colored-noise@0.1.27...@thi.ng/colored-noise@0.1.28) (2021-03-30)
-
-**Note:** Version bump only for package @thi.ng/colored-noise
-
-
-
-
-
-## [0.1.27](https://github.com/thi-ng/umbrella/compare/@thi.ng/colored-noise@0.1.26...@thi.ng/colored-noise@0.1.27) (2021-03-28)
-
-**Note:** Version bump only for package @thi.ng/colored-noise
-
-
-
-
-
-## [0.1.26](https://github.com/thi-ng/umbrella/compare/@thi.ng/colored-noise@0.1.25...@thi.ng/colored-noise@0.1.26) (2021-03-27)
-
-**Note:** Version bump only for package @thi.ng/colored-noise
-
-
-
-
-
-## [0.1.25](https://github.com/thi-ng/umbrella/compare/@thi.ng/colored-noise@0.1.24...@thi.ng/colored-noise@0.1.25) (2021-03-26)
-
-**Note:** Version bump only for package @thi.ng/colored-noise
-
-
-
-
-
-## [0.1.24](https://github.com/thi-ng/umbrella/compare/@thi.ng/colored-noise@0.1.23...@thi.ng/colored-noise@0.1.24) (2021-03-24)
-
-**Note:** Version bump only for package @thi.ng/colored-noise
-
-
-
-
-
-## [0.1.23](https://github.com/thi-ng/umbrella/compare/@thi.ng/colored-noise@0.1.22...@thi.ng/colored-noise@0.1.23) (2021-03-24)
-
-**Note:** Version bump only for package @thi.ng/colored-noise
-
-
-
-
-
-## [0.1.22](https://github.com/thi-ng/umbrella/compare/@thi.ng/colored-noise@0.1.21...@thi.ng/colored-noise@0.1.22) (2021-03-24)
-
-**Note:** Version bump only for package @thi.ng/colored-noise
-
-
-
-
-
-## [0.1.21](https://github.com/thi-ng/umbrella/compare/@thi.ng/colored-noise@0.1.20...@thi.ng/colored-noise@0.1.21) (2021-03-17)
-
-**Note:** Version bump only for package @thi.ng/colored-noise
-
-
-
-
-
-## [0.1.20](https://github.com/thi-ng/umbrella/compare/@thi.ng/colored-noise@0.1.19...@thi.ng/colored-noise@0.1.20) (2021-03-12)
+## [0.1.34](https://github.com/thi-ng/umbrella/compare/@thi.ng/colored-noise@0.1.33...@thi.ng/colored-noise@0.1.34) (2021-06-08)
**Note:** Version bump only for package @thi.ng/colored-noise
diff --git a/packages/colored-noise/README.md b/packages/colored-noise/README.md
index f8ed15e155..08620d78f5 100644
--- a/packages/colored-noise/README.md
+++ b/packages/colored-noise/README.md
@@ -348,6 +348,7 @@ white
### Related packages
- [@thi.ng/dsp](https://github.com/thi-ng/umbrella/tree/develop/packages/dsp) - Composable signal generators, oscillators, filters, FFT, spectrum, windowing & related DSP utils
+- [@thi.ng/lowdisc](https://github.com/thi-ng/umbrella/tree/develop/packages/lowdisc) - n-dimensional low-discrepancy sequence generators/iterators
- [@thi.ng/random](https://github.com/thi-ng/umbrella/tree/develop/packages/random) - Pseudo-random number generators w/ unified API, distributions, weighted choices, ID generation
## Installation
diff --git a/packages/colored-noise/package.json b/packages/colored-noise/package.json
index d23c11f07c..a940fa102c 100644
--- a/packages/colored-noise/package.json
+++ b/packages/colored-noise/package.json
@@ -1,6 +1,6 @@
{
"name": "@thi.ng/colored-noise",
- "version": "0.1.30",
+ "version": "0.1.34",
"description": "Customizable O(1) ES6 generators for colored noise",
"module": "./index.js",
"main": "./lib/index.js",
@@ -40,23 +40,23 @@
"devDependencies": {
"@istanbuljs/nyc-config-typescript": "^1.0.1",
"@microsoft/api-extractor": "^7.13.1",
- "@thi.ng/api": "^7.1.4",
- "@thi.ng/dsp": "^3.0.16",
- "@thi.ng/dsp-io-wav": "^0.1.50",
- "@thi.ng/text-canvas": "^0.7.5",
- "@thi.ng/transducers": "^7.6.10",
- "@thi.ng/vectors": "^5.2.1",
+ "@thi.ng/api": "^7.1.5",
+ "@thi.ng/dsp": "^3.0.20",
+ "@thi.ng/dsp-io-wav": "^0.1.54",
+ "@thi.ng/text-canvas": "^0.7.9",
+ "@thi.ng/transducers": "^7.7.3",
+ "@thi.ng/vectors": "^6.0.1",
"@types/mocha": "^8.2.0",
"@types/node": "^14.14.14",
- "mocha": "^8.3.0",
+ "mocha": "^9.0.0",
"nyc": "^15.1.0",
- "ts-node": "^9.1.1",
+ "ts-node": "^10.0.0",
"typedoc": "^0.20.30",
- "typescript": "^4.2.3"
+ "typescript": "4.2.4"
},
"dependencies": {
- "@thi.ng/binary": "^2.2.4",
- "@thi.ng/random": "^2.3.7"
+ "@thi.ng/binary": "^2.2.5",
+ "@thi.ng/random": "^2.4.1"
},
"files": [
"*.js",
@@ -74,6 +74,7 @@
"noise",
"random",
"red",
+ "sample",
"spectrum",
"typescript",
"white"
@@ -85,6 +86,7 @@
"thi.ng": {
"related": [
"dsp",
+ "lowdisc",
"random"
],
"year": 2015
diff --git a/packages/compare/CHANGELOG.md b/packages/compare/CHANGELOG.md
index 12e2440e72..9906910d13 100644
--- a/packages/compare/CHANGELOG.md
+++ b/packages/compare/CHANGELOG.md
@@ -3,7 +3,7 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
-## [1.3.28](https://github.com/thi-ng/umbrella/compare/@thi.ng/compare@1.3.27...@thi.ng/compare@1.3.28) (2021-03-12)
+## [1.3.29](https://github.com/thi-ng/umbrella/compare/@thi.ng/compare@1.3.28...@thi.ng/compare@1.3.29) (2021-06-08)
**Note:** Version bump only for package @thi.ng/compare
diff --git a/packages/compare/package.json b/packages/compare/package.json
index 72a228c668..f05e0640a7 100644
--- a/packages/compare/package.json
+++ b/packages/compare/package.json
@@ -1,6 +1,6 @@
{
"name": "@thi.ng/compare",
- "version": "1.3.28",
+ "version": "1.3.29",
"description": "Comparators with support for types implementing the @thi.ng/api/ICompare interface",
"module": "./index.js",
"main": "./lib/index.js",
@@ -42,14 +42,14 @@
"@microsoft/api-extractor": "^7.13.1",
"@types/mocha": "^8.2.0",
"@types/node": "^14.14.14",
- "mocha": "^8.3.0",
+ "mocha": "^9.0.0",
"nyc": "^15.1.0",
- "ts-node": "^9.1.1",
+ "ts-node": "^10.0.0",
"typedoc": "^0.20.30",
- "typescript": "^4.2.3"
+ "typescript": "4.2.4"
},
"dependencies": {
- "@thi.ng/api": "^7.1.4"
+ "@thi.ng/api": "^7.1.5"
},
"files": [
"*.js",
diff --git a/packages/compose/CHANGELOG.md b/packages/compose/CHANGELOG.md
index f9f90755bb..d4caa0385a 100644
--- a/packages/compose/CHANGELOG.md
+++ b/packages/compose/CHANGELOG.md
@@ -3,15 +3,7 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
-## [1.4.30](https://github.com/thi-ng/umbrella/compare/@thi.ng/compose@1.4.29...@thi.ng/compose@1.4.30) (2021-03-17)
-
-**Note:** Version bump only for package @thi.ng/compose
-
-
-
-
-
-## [1.4.29](https://github.com/thi-ng/umbrella/compare/@thi.ng/compose@1.4.28...@thi.ng/compose@1.4.29) (2021-03-12)
+## [1.4.31](https://github.com/thi-ng/umbrella/compare/@thi.ng/compose@1.4.30...@thi.ng/compose@1.4.31) (2021-06-08)
**Note:** Version bump only for package @thi.ng/compose
diff --git a/packages/compose/package.json b/packages/compose/package.json
index f12ab53ef0..63c85962b2 100644
--- a/packages/compose/package.json
+++ b/packages/compose/package.json
@@ -1,6 +1,6 @@
{
"name": "@thi.ng/compose",
- "version": "1.4.30",
+ "version": "1.4.31",
"description": "Optimized functional composition helpers",
"module": "./index.js",
"main": "./lib/index.js",
@@ -42,15 +42,15 @@
"@microsoft/api-extractor": "^7.13.1",
"@types/mocha": "^8.2.0",
"@types/node": "^14.14.14",
- "mocha": "^8.3.0",
+ "mocha": "^9.0.0",
"nyc": "^15.1.0",
- "ts-node": "^9.1.1",
+ "ts-node": "^10.0.0",
"typedoc": "^0.20.30",
- "typescript": "^4.2.3"
+ "typescript": "4.2.4"
},
"dependencies": {
- "@thi.ng/api": "^7.1.4",
- "@thi.ng/errors": "^1.3.0"
+ "@thi.ng/api": "^7.1.5",
+ "@thi.ng/errors": "^1.3.1"
},
"files": [
"*.js",
diff --git a/packages/csp/CHANGELOG.md b/packages/csp/CHANGELOG.md
index 3eb25fae32..0b0b50c839 100644
--- a/packages/csp/CHANGELOG.md
+++ b/packages/csp/CHANGELOG.md
@@ -3,39 +3,7 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
-## [1.1.60](https://github.com/thi-ng/umbrella/compare/@thi.ng/csp@1.1.59...@thi.ng/csp@1.1.60) (2021-04-03)
-
-**Note:** Version bump only for package @thi.ng/csp
-
-
-
-
-
-## [1.1.59](https://github.com/thi-ng/umbrella/compare/@thi.ng/csp@1.1.58...@thi.ng/csp@1.1.59) (2021-03-28)
-
-**Note:** Version bump only for package @thi.ng/csp
-
-
-
-
-
-## [1.1.58](https://github.com/thi-ng/umbrella/compare/@thi.ng/csp@1.1.57...@thi.ng/csp@1.1.58) (2021-03-27)
-
-**Note:** Version bump only for package @thi.ng/csp
-
-
-
-
-
-## [1.1.57](https://github.com/thi-ng/umbrella/compare/@thi.ng/csp@1.1.56...@thi.ng/csp@1.1.57) (2021-03-17)
-
-**Note:** Version bump only for package @thi.ng/csp
-
-
-
-
-
-## [1.1.56](https://github.com/thi-ng/umbrella/compare/@thi.ng/csp@1.1.55...@thi.ng/csp@1.1.56) (2021-03-12)
+## [1.1.64](https://github.com/thi-ng/umbrella/compare/@thi.ng/csp@1.1.63...@thi.ng/csp@1.1.64) (2021-06-08)
**Note:** Version bump only for package @thi.ng/csp
diff --git a/packages/csp/package.json b/packages/csp/package.json
index f84d16e002..9fa98557fd 100644
--- a/packages/csp/package.json
+++ b/packages/csp/package.json
@@ -1,6 +1,6 @@
{
"name": "@thi.ng/csp",
- "version": "1.1.60",
+ "version": "1.1.64",
"description": "ES6 promise based CSP primitives & operations",
"module": "./index.js",
"main": "./lib/index.js",
@@ -46,19 +46,19 @@
"@microsoft/api-extractor": "^7.13.1",
"@types/mocha": "^8.2.0",
"@types/node": "^14.14.14",
- "mocha": "^8.3.0",
+ "mocha": "^9.0.0",
"nyc": "^15.1.0",
- "ts-node": "^9.1.1",
+ "ts-node": "^10.0.0",
"typedoc": "^0.20.30",
- "typescript": "^4.2.3"
+ "typescript": "4.2.4"
},
"dependencies": {
- "@thi.ng/api": "^7.1.4",
- "@thi.ng/arrays": "^0.10.10",
- "@thi.ng/checks": "^2.9.6",
- "@thi.ng/dcons": "^2.3.20",
- "@thi.ng/errors": "^1.3.0",
- "@thi.ng/transducers": "^7.6.10"
+ "@thi.ng/api": "^7.1.5",
+ "@thi.ng/arrays": "^0.10.12",
+ "@thi.ng/checks": "^2.9.7",
+ "@thi.ng/dcons": "^2.3.24",
+ "@thi.ng/errors": "^1.3.1",
+ "@thi.ng/transducers": "^7.7.3"
},
"files": [
"*.js",
diff --git a/packages/csv/CHANGELOG.md b/packages/csv/CHANGELOG.md
index 6b19e47b8b..702e948d39 100644
--- a/packages/csv/CHANGELOG.md
+++ b/packages/csv/CHANGELOG.md
@@ -3,55 +3,7 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
-## [0.1.22](https://github.com/thi-ng/umbrella/compare/@thi.ng/csv@0.1.21...@thi.ng/csv@0.1.22) (2021-04-03)
-
-**Note:** Version bump only for package @thi.ng/csv
-
-
-
-
-
-## [0.1.21](https://github.com/thi-ng/umbrella/compare/@thi.ng/csv@0.1.20...@thi.ng/csv@0.1.21) (2021-03-28)
-
-**Note:** Version bump only for package @thi.ng/csv
-
-
-
-
-
-## [0.1.20](https://github.com/thi-ng/umbrella/compare/@thi.ng/csv@0.1.19...@thi.ng/csv@0.1.20) (2021-03-27)
-
-**Note:** Version bump only for package @thi.ng/csv
-
-
-
-
-
-## [0.1.19](https://github.com/thi-ng/umbrella/compare/@thi.ng/csv@0.1.18...@thi.ng/csv@0.1.19) (2021-03-24)
-
-**Note:** Version bump only for package @thi.ng/csv
-
-
-
-
-
-## [0.1.18](https://github.com/thi-ng/umbrella/compare/@thi.ng/csv@0.1.17...@thi.ng/csv@0.1.18) (2021-03-24)
-
-**Note:** Version bump only for package @thi.ng/csv
-
-
-
-
-
-## [0.1.17](https://github.com/thi-ng/umbrella/compare/@thi.ng/csv@0.1.16...@thi.ng/csv@0.1.17) (2021-03-17)
-
-**Note:** Version bump only for package @thi.ng/csv
-
-
-
-
-
-## [0.1.16](https://github.com/thi-ng/umbrella/compare/@thi.ng/csv@0.1.15...@thi.ng/csv@0.1.16) (2021-03-12)
+## [0.1.26](https://github.com/thi-ng/umbrella/compare/@thi.ng/csv@0.1.25...@thi.ng/csv@0.1.26) (2021-06-08)
**Note:** Version bump only for package @thi.ng/csv
diff --git a/packages/csv/package.json b/packages/csv/package.json
index 250d6f22fd..0390832666 100644
--- a/packages/csv/package.json
+++ b/packages/csv/package.json
@@ -1,6 +1,6 @@
{
"name": "@thi.ng/csv",
- "version": "0.1.22",
+ "version": "0.1.26",
"description": "Customizable, transducer-based CSV parser/object mapper and transformer",
"module": "./index.js",
"main": "./lib/index.js",
@@ -42,17 +42,17 @@
"@microsoft/api-extractor": "^7.13.1",
"@types/mocha": "^8.2.0",
"@types/node": "^14.14.14",
- "mocha": "^8.3.0",
+ "mocha": "^9.0.0",
"nyc": "^15.1.0",
- "ts-node": "^9.1.1",
+ "ts-node": "^10.0.0",
"typedoc": "^0.20.30",
- "typescript": "^4.2.3"
+ "typescript": "4.2.4"
},
"dependencies": {
- "@thi.ng/api": "^7.1.4",
- "@thi.ng/checks": "^2.9.6",
- "@thi.ng/strings": "^2.1.0",
- "@thi.ng/transducers": "^7.6.10"
+ "@thi.ng/api": "^7.1.5",
+ "@thi.ng/checks": "^2.9.7",
+ "@thi.ng/strings": "^2.1.1",
+ "@thi.ng/transducers": "^7.7.3"
},
"files": [
"*.js",
diff --git a/packages/date/CHANGELOG.md b/packages/date/CHANGELOG.md
index f4e50c1c64..81029c04e2 100644
--- a/packages/date/CHANGELOG.md
+++ b/packages/date/CHANGELOG.md
@@ -3,6 +3,28 @@
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/date@0.5.0...@thi.ng/date@0.6.0) (2021-06-08)
+
+
+### Features
+
+* **date:** extend parseRelative() ([5764ff3](https://github.com/thi-ng/umbrella/commit/5764ff36b07a5e6565f747a40eb9825b4836bd82))
+
+
+
+
+
+# [0.5.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/date@0.4.0...@thi.ng/date@0.5.0) (2021-04-20)
+
+
+### Features
+
+* **date:** update relative date parsing ([2491668](https://github.com/thi-ng/umbrella/commit/2491668d877d837f3d5101de4730441db3cdbb1b))
+
+
+
+
+
# [0.4.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/date@0.3.0...@thi.ng/date@0.4.0) (2021-03-21)
@@ -29,14 +51,6 @@ See [Conventional Commits](https://conventionalcommits.org) for commit guideline
-## [0.2.11](https://github.com/thi-ng/umbrella/compare/@thi.ng/date@0.2.10...@thi.ng/date@0.2.11) (2021-03-12)
-
-**Note:** Version bump only for package @thi.ng/date
-
-
-
-
-
## [0.2.1](https://github.com/thi-ng/umbrella/compare/@thi.ng/date@0.2.0...@thi.ng/date@0.2.1) (2020-11-24)
diff --git a/packages/date/README.md b/packages/date/README.md
index 9aef00dfca..0cb87c135c 100644
--- a/packages/date/README.md
+++ b/packages/date/README.md
@@ -46,7 +46,7 @@ yarn add @thi.ng/date
```
-Package sizes (gzipped, pre-treeshake): ESM: 2.45 KB / CJS: 2.63 KB / UMD: 2.58 KB
+Package sizes (gzipped, pre-treeshake): ESM: 2.55 KB / CJS: 2.72 KB / UMD: 2.66 KB
## Dependencies
@@ -136,6 +136,9 @@ parseRelative("an hour", now);
parseRelative("tomorrow", now);
// DateTime { y: 2021, M: 2, d: 22, h: 14, m: 26, s: 0, t: 661 }
+
+parseRelative("-1 month", now)
+// DateTime { y: 2021, M: 1, d: 21, h: 14, m: 26, s: 0, t: 661 }
```
### Formatters
diff --git a/packages/date/package.json b/packages/date/package.json
index e5cc2b319e..f27a9c7681 100644
--- a/packages/date/package.json
+++ b/packages/date/package.json
@@ -1,6 +1,6 @@
{
"name": "@thi.ng/date",
- "version": "0.4.0",
+ "version": "0.6.0",
"description": "Date/timestamp iterators, composable formatters, relative date parsing, rounding",
"module": "./index.js",
"main": "./lib/index.js",
@@ -42,14 +42,14 @@
"@microsoft/api-extractor": "^7.13.1",
"@types/mocha": "^8.2.0",
"@types/node": "^14.14.14",
- "mocha": "^8.3.0",
+ "mocha": "^9.0.0",
"nyc": "^15.1.0",
- "ts-node": "^9.1.1",
+ "ts-node": "^10.0.0",
"typedoc": "^0.20.30",
- "typescript": "^4.2.3"
+ "typescript": "4.2.4"
},
"dependencies": {
- "@thi.ng/api": "^7.1.4"
+ "@thi.ng/api": "^7.1.5"
},
"files": [
"*.js",
diff --git a/packages/date/src/relative.ts b/packages/date/src/relative.ts
index c1985e804b..747a5a01cc 100644
--- a/packages/date/src/relative.ts
+++ b/packages/date/src/relative.ts
@@ -1,5 +1,6 @@
import type { Period } from "./api";
import { DateTime, dateTime } from "./datetime";
+import { EN_LONG, EN_SHORT } from "./i18n";
/**
* Takes a relative time `offset` string in plain english and an optional `base`
@@ -13,8 +14,13 @@ import { DateTime, dateTime } from "./datetime";
* The following input formats are supported:
*
* - `"tomorrow"` / `"yesterday"` - ±1 day
- * - `"<" ago">?"` - ±num periods, if the `" ago"` suffix is given,
- * the offset will be applied towards the past
+ * - any weekday names in {@link EN_SHORT} and {@link EN_LONG} (always in future)
+ * - `<"-"|"+">?<" ago">?"` - ±num periods (if prefixed with "-" or
+ * if the `" ago"` suffix is given, the offset will be applied towards the
+ * past)
+ *
+ * (Note: If both negative offset and "ago" is given, the suffix will, like a
+ * double-negative, flip the direction back towards the future).
*
* If using the latter form:
*
@@ -36,8 +42,11 @@ export const parseRelative = (
offset: string,
base?: DateTime | Date | number
) => {
+ offset = offset.toLowerCase();
const epoch = dateTime(base);
switch (offset) {
+ case "today":
+ return epoch;
case "tomorrow":
epoch.incDay();
return epoch;
@@ -45,7 +54,17 @@ export const parseRelative = (
epoch.decDay();
return epoch;
default: {
- const match = /^(an? |next |\d+\s?)((ms|milli(?:(s?|seconds?)))|s(?:(ecs?|econds?))?|min(?:(s|utes?))?|h(?:ours?)?|d(?:ays?)?|w(?:eeks?)?|months?|y(?:ears?)?)(\s+ago)?$/.exec(
+ let idx = findIndex(EN_SHORT.days, offset);
+ if (idx < 0) {
+ idx = findIndex(EN_LONG.days, offset);
+ }
+ if (idx >= 0) {
+ do {
+ epoch.incDay();
+ } while (epoch.toDate().getDay() != idx);
+ return epoch;
+ }
+ const match = /^(an? |next |[-+]?\d+\s?)((ms|milli(?:(s?|seconds?)))|s(?:(ecs?|econds?))?|min(?:(s|utes?))?|h(?:ours?)?|d(?:ays?)?|w(?:eeks?)?|months?|y(?:ears?)?)(\s+ago)?$/.exec(
offset
);
return match
@@ -59,6 +78,9 @@ export const parseRelative = (
}
};
+const findIndex = (items: string[], x: string) =>
+ items.findIndex((y) => y.toLowerCase() === x);
+
const parseNum = (x: string, past: boolean) =>
(x === "next " || x === "a " || x === "an " ? 1 : Number(x)) *
(past ? -1 : 1);
diff --git a/packages/date/test/relative.ts b/packages/date/test/relative.ts
index 8bc1c615a5..0fa00efc30 100644
--- a/packages/date/test/relative.ts
+++ b/packages/date/test/relative.ts
@@ -1,5 +1,16 @@
import * as assert from "assert";
-import { dateTime, parseRelative } from "../src";
+import { DateTime, dateTime, parseRelative } from "../src";
+
+const checkDate = (offset: string, base: DateTime, expected: number) => {
+ const d = parseRelative(offset, base);
+ assert(!!d, `couldn't parse ${offset}`);
+ assert(
+ d.equiv(expected),
+ `no match (past): ${d.toISOString()} => ${dateTime(
+ expected
+ ).toISOString()} (${offset})`
+ );
+};
const check = (
period: string[],
@@ -10,24 +21,11 @@ const check = (
) => {
const base = dateTime(ref);
for (let p of period) {
- let offset = `${num} ${p} ago`;
- let d = parseRelative(offset, base);
- assert(!!d, `couldn't parse ${offset}`);
- assert(
- d.equiv(past),
- `no match (past): ${d.toISOString()} => ${dateTime(
- past
- ).toISOString()} (${offset})`
- );
- offset = `${num} ${p}`;
- d = parseRelative(offset, base);
- assert(!!d, `couldn't parse ${offset}`);
- assert(
- d.equiv(future),
- `no match (future): ${d.toISOString()} => ${dateTime(
- future
- ).toISOString()} (${offset})`
- );
+ checkDate(`-${num} ${p}`, base, past);
+ checkDate(`-${num} ${p} ago`, base, future);
+ checkDate(`${num} ${p} ago`, base, past);
+ checkDate(`${num} ${p}`, base, future);
+ checkDate(`+${num} ${p}`, base, future);
}
};
@@ -83,4 +81,15 @@ describe("relative", () => {
Date.UTC(2026, 0, 1)
);
});
+
+ it("parse (weekday)", () => {
+ const base = dateTime(Date.UTC(2021, 0, 1));
+ checkDate("sat", base, Date.UTC(2021, 0, 2));
+ checkDate("sunday", base, Date.UTC(2021, 0, 3));
+ checkDate("thu", base, Date.UTC(2021, 0, 7));
+ checkDate("friday", base, Date.UTC(2021, 0, 8));
+ checkDate("today", base, Date.UTC(2021, 0, 1));
+ checkDate("tomorrow", base, Date.UTC(2021, 0, 2));
+ checkDate("yesterday", base, Date.UTC(2020, 11, 31));
+ });
});
diff --git a/packages/date/tpl.readme.md b/packages/date/tpl.readme.md
index 5d4853e0a9..56196b18a8 100644
--- a/packages/date/tpl.readme.md
+++ b/packages/date/tpl.readme.md
@@ -117,6 +117,9 @@ parseRelative("an hour", now);
parseRelative("tomorrow", now);
// DateTime { y: 2021, M: 2, d: 22, h: 14, m: 26, s: 0, t: 661 }
+
+parseRelative("-1 month", now)
+// DateTime { y: 2021, M: 1, d: 21, h: 14, m: 26, s: 0, t: 661 }
```
### Formatters
diff --git a/packages/dcons/CHANGELOG.md b/packages/dcons/CHANGELOG.md
index affa9a7f12..8df54370d0 100644
--- a/packages/dcons/CHANGELOG.md
+++ b/packages/dcons/CHANGELOG.md
@@ -3,39 +3,7 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
-## [2.3.20](https://github.com/thi-ng/umbrella/compare/@thi.ng/dcons@2.3.19...@thi.ng/dcons@2.3.20) (2021-04-03)
-
-**Note:** Version bump only for package @thi.ng/dcons
-
-
-
-
-
-## [2.3.19](https://github.com/thi-ng/umbrella/compare/@thi.ng/dcons@2.3.18...@thi.ng/dcons@2.3.19) (2021-03-28)
-
-**Note:** Version bump only for package @thi.ng/dcons
-
-
-
-
-
-## [2.3.18](https://github.com/thi-ng/umbrella/compare/@thi.ng/dcons@2.3.17...@thi.ng/dcons@2.3.18) (2021-03-27)
-
-**Note:** Version bump only for package @thi.ng/dcons
-
-
-
-
-
-## [2.3.17](https://github.com/thi-ng/umbrella/compare/@thi.ng/dcons@2.3.16...@thi.ng/dcons@2.3.17) (2021-03-17)
-
-**Note:** Version bump only for package @thi.ng/dcons
-
-
-
-
-
-## [2.3.16](https://github.com/thi-ng/umbrella/compare/@thi.ng/dcons@2.3.15...@thi.ng/dcons@2.3.16) (2021-03-12)
+## [2.3.24](https://github.com/thi-ng/umbrella/compare/@thi.ng/dcons@2.3.23...@thi.ng/dcons@2.3.24) (2021-06-08)
**Note:** Version bump only for package @thi.ng/dcons
diff --git a/packages/dcons/package.json b/packages/dcons/package.json
index 44fcd6fae1..18316aa8fe 100644
--- a/packages/dcons/package.json
+++ b/packages/dcons/package.json
@@ -1,6 +1,6 @@
{
"name": "@thi.ng/dcons",
- "version": "2.3.20",
+ "version": "2.3.24",
"description": "Double-linked lists with comprehensive set of operations (incl. optional self-organizing behaviors)",
"module": "./index.js",
"main": "./lib/index.js",
@@ -42,20 +42,20 @@
"@microsoft/api-extractor": "^7.13.1",
"@types/mocha": "^8.2.0",
"@types/node": "^14.14.14",
- "mocha": "^8.3.0",
+ "mocha": "^9.0.0",
"nyc": "^15.1.0",
- "ts-node": "^9.1.1",
+ "ts-node": "^10.0.0",
"typedoc": "^0.20.30",
- "typescript": "^4.2.3"
+ "typescript": "4.2.4"
},
"dependencies": {
- "@thi.ng/api": "^7.1.4",
- "@thi.ng/checks": "^2.9.6",
- "@thi.ng/compare": "^1.3.28",
- "@thi.ng/equiv": "^1.0.41",
- "@thi.ng/errors": "^1.3.0",
- "@thi.ng/random": "^2.3.7",
- "@thi.ng/transducers": "^7.6.10"
+ "@thi.ng/api": "^7.1.5",
+ "@thi.ng/checks": "^2.9.7",
+ "@thi.ng/compare": "^1.3.29",
+ "@thi.ng/equiv": "^1.0.42",
+ "@thi.ng/errors": "^1.3.1",
+ "@thi.ng/random": "^2.4.1",
+ "@thi.ng/transducers": "^7.7.3"
},
"files": [
"*.js",
diff --git a/packages/defmulti/CHANGELOG.md b/packages/defmulti/CHANGELOG.md
index e1dffdb0eb..0904331e5f 100644
--- a/packages/defmulti/CHANGELOG.md
+++ b/packages/defmulti/CHANGELOG.md
@@ -3,15 +3,7 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
-## [1.3.11](https://github.com/thi-ng/umbrella/compare/@thi.ng/defmulti@1.3.10...@thi.ng/defmulti@1.3.11) (2021-03-17)
-
-**Note:** Version bump only for package @thi.ng/defmulti
-
-
-
-
-
-## [1.3.10](https://github.com/thi-ng/umbrella/compare/@thi.ng/defmulti@1.3.9...@thi.ng/defmulti@1.3.10) (2021-03-12)
+## [1.3.12](https://github.com/thi-ng/umbrella/compare/@thi.ng/defmulti@1.3.11...@thi.ng/defmulti@1.3.12) (2021-06-08)
**Note:** Version bump only for package @thi.ng/defmulti
diff --git a/packages/defmulti/package.json b/packages/defmulti/package.json
index df3ce7b394..08defc67aa 100644
--- a/packages/defmulti/package.json
+++ b/packages/defmulti/package.json
@@ -1,6 +1,6 @@
{
"name": "@thi.ng/defmulti",
- "version": "1.3.11",
+ "version": "1.3.12",
"description": "Dynamic, extensible multiple dispatch via user supplied dispatch function.",
"module": "./index.js",
"main": "./lib/index.js",
@@ -42,15 +42,15 @@
"@microsoft/api-extractor": "^7.13.1",
"@types/mocha": "^8.2.0",
"@types/node": "^14.14.14",
- "mocha": "^8.3.0",
+ "mocha": "^9.0.0",
"nyc": "^15.1.0",
- "ts-node": "^9.1.1",
+ "ts-node": "^10.0.0",
"typedoc": "^0.20.30",
- "typescript": "^4.2.3"
+ "typescript": "4.2.4"
},
"dependencies": {
- "@thi.ng/api": "^7.1.4",
- "@thi.ng/errors": "^1.3.0"
+ "@thi.ng/api": "^7.1.5",
+ "@thi.ng/errors": "^1.3.1"
},
"files": [
"*.js",
diff --git a/packages/dgraph-dot/CHANGELOG.md b/packages/dgraph-dot/CHANGELOG.md
index b30475c335..0308ec87e0 100644
--- a/packages/dgraph-dot/CHANGELOG.md
+++ b/packages/dgraph-dot/CHANGELOG.md
@@ -3,47 +3,7 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
-## [0.1.49](https://github.com/thi-ng/umbrella/compare/@thi.ng/dgraph-dot@0.1.48...@thi.ng/dgraph-dot@0.1.49) (2021-04-03)
-
-**Note:** Version bump only for package @thi.ng/dgraph-dot
-
-
-
-
-
-## [0.1.48](https://github.com/thi-ng/umbrella/compare/@thi.ng/dgraph-dot@0.1.47...@thi.ng/dgraph-dot@0.1.48) (2021-03-30)
-
-**Note:** Version bump only for package @thi.ng/dgraph-dot
-
-
-
-
-
-## [0.1.47](https://github.com/thi-ng/umbrella/compare/@thi.ng/dgraph-dot@0.1.46...@thi.ng/dgraph-dot@0.1.47) (2021-03-28)
-
-**Note:** Version bump only for package @thi.ng/dgraph-dot
-
-
-
-
-
-## [0.1.46](https://github.com/thi-ng/umbrella/compare/@thi.ng/dgraph-dot@0.1.45...@thi.ng/dgraph-dot@0.1.46) (2021-03-27)
-
-**Note:** Version bump only for package @thi.ng/dgraph-dot
-
-
-
-
-
-## [0.1.45](https://github.com/thi-ng/umbrella/compare/@thi.ng/dgraph-dot@0.1.44...@thi.ng/dgraph-dot@0.1.45) (2021-03-17)
-
-**Note:** Version bump only for package @thi.ng/dgraph-dot
-
-
-
-
-
-## [0.1.44](https://github.com/thi-ng/umbrella/compare/@thi.ng/dgraph-dot@0.1.43...@thi.ng/dgraph-dot@0.1.44) (2021-03-12)
+## [0.1.53](https://github.com/thi-ng/umbrella/compare/@thi.ng/dgraph-dot@0.1.52...@thi.ng/dgraph-dot@0.1.53) (2021-06-08)
**Note:** Version bump only for package @thi.ng/dgraph-dot
diff --git a/packages/dgraph-dot/package.json b/packages/dgraph-dot/package.json
index b011603176..5e30dbe842 100644
--- a/packages/dgraph-dot/package.json
+++ b/packages/dgraph-dot/package.json
@@ -1,6 +1,6 @@
{
"name": "@thi.ng/dgraph-dot",
- "version": "0.1.49",
+ "version": "0.1.53",
"description": "Customizable Graphviz DOT serialization for @thi.ng/dgraph",
"module": "./index.js",
"main": "./lib/index.js",
@@ -42,16 +42,16 @@
"@microsoft/api-extractor": "^7.13.1",
"@types/mocha": "^8.2.0",
"@types/node": "^14.14.14",
- "mocha": "^8.3.0",
+ "mocha": "^9.0.0",
"nyc": "^15.1.0",
- "ts-node": "^9.1.1",
+ "ts-node": "^10.0.0",
"typedoc": "^0.20.30",
- "typescript": "^4.2.3"
+ "typescript": "4.2.4"
},
"dependencies": {
- "@thi.ng/api": "^7.1.4",
- "@thi.ng/dgraph": "^1.3.20",
- "@thi.ng/dot": "^1.2.31"
+ "@thi.ng/api": "^7.1.5",
+ "@thi.ng/dgraph": "^1.3.24",
+ "@thi.ng/dot": "^1.2.32"
},
"files": [
"*.js",
diff --git a/packages/dgraph/CHANGELOG.md b/packages/dgraph/CHANGELOG.md
index 902a38e904..d0b82c4194 100644
--- a/packages/dgraph/CHANGELOG.md
+++ b/packages/dgraph/CHANGELOG.md
@@ -3,47 +3,7 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
-## [1.3.20](https://github.com/thi-ng/umbrella/compare/@thi.ng/dgraph@1.3.19...@thi.ng/dgraph@1.3.20) (2021-04-03)
-
-**Note:** Version bump only for package @thi.ng/dgraph
-
-
-
-
-
-## [1.3.19](https://github.com/thi-ng/umbrella/compare/@thi.ng/dgraph@1.3.18...@thi.ng/dgraph@1.3.19) (2021-03-30)
-
-**Note:** Version bump only for package @thi.ng/dgraph
-
-
-
-
-
-## [1.3.18](https://github.com/thi-ng/umbrella/compare/@thi.ng/dgraph@1.3.17...@thi.ng/dgraph@1.3.18) (2021-03-28)
-
-**Note:** Version bump only for package @thi.ng/dgraph
-
-
-
-
-
-## [1.3.17](https://github.com/thi-ng/umbrella/compare/@thi.ng/dgraph@1.3.16...@thi.ng/dgraph@1.3.17) (2021-03-27)
-
-**Note:** Version bump only for package @thi.ng/dgraph
-
-
-
-
-
-## [1.3.16](https://github.com/thi-ng/umbrella/compare/@thi.ng/dgraph@1.3.15...@thi.ng/dgraph@1.3.16) (2021-03-17)
-
-**Note:** Version bump only for package @thi.ng/dgraph
-
-
-
-
-
-## [1.3.15](https://github.com/thi-ng/umbrella/compare/@thi.ng/dgraph@1.3.14...@thi.ng/dgraph@1.3.15) (2021-03-12)
+## [1.3.24](https://github.com/thi-ng/umbrella/compare/@thi.ng/dgraph@1.3.23...@thi.ng/dgraph@1.3.24) (2021-06-08)
**Note:** Version bump only for package @thi.ng/dgraph
diff --git a/packages/dgraph/package.json b/packages/dgraph/package.json
index 62b93bf957..fa6cfb7a24 100644
--- a/packages/dgraph/package.json
+++ b/packages/dgraph/package.json
@@ -1,6 +1,6 @@
{
"name": "@thi.ng/dgraph",
- "version": "1.3.20",
+ "version": "1.3.24",
"description": "Type-agnostic directed acyclic graph (DAG) & graph operations",
"module": "./index.js",
"main": "./lib/index.js",
@@ -42,18 +42,18 @@
"@microsoft/api-extractor": "^7.13.1",
"@types/mocha": "^8.2.0",
"@types/node": "^14.14.14",
- "mocha": "^8.3.0",
+ "mocha": "^9.0.0",
"nyc": "^15.1.0",
- "ts-node": "^9.1.1",
+ "ts-node": "^10.0.0",
"typedoc": "^0.20.30",
- "typescript": "^4.2.3"
+ "typescript": "4.2.4"
},
"dependencies": {
- "@thi.ng/api": "^7.1.4",
- "@thi.ng/associative": "^5.2.1",
- "@thi.ng/equiv": "^1.0.41",
- "@thi.ng/errors": "^1.3.0",
- "@thi.ng/transducers": "^7.6.10"
+ "@thi.ng/api": "^7.1.5",
+ "@thi.ng/associative": "^5.2.5",
+ "@thi.ng/equiv": "^1.0.42",
+ "@thi.ng/errors": "^1.3.1",
+ "@thi.ng/transducers": "^7.7.3"
},
"files": [
"*.js",
diff --git a/packages/diff/CHANGELOG.md b/packages/diff/CHANGELOG.md
index 3b5e749c3c..1fd687968a 100644
--- a/packages/diff/CHANGELOG.md
+++ b/packages/diff/CHANGELOG.md
@@ -3,7 +3,7 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
-## [4.0.7](https://github.com/thi-ng/umbrella/compare/@thi.ng/diff@4.0.6...@thi.ng/diff@4.0.7) (2021-03-12)
+## [4.0.8](https://github.com/thi-ng/umbrella/compare/@thi.ng/diff@4.0.7...@thi.ng/diff@4.0.8) (2021-06-08)
**Note:** Version bump only for package @thi.ng/diff
diff --git a/packages/diff/package.json b/packages/diff/package.json
index 3b0966f6e4..e2087081c5 100644
--- a/packages/diff/package.json
+++ b/packages/diff/package.json
@@ -1,6 +1,6 @@
{
"name": "@thi.ng/diff",
- "version": "4.0.7",
+ "version": "4.0.8",
"description": "Customizable diff implementations for arrays (sequential) & objects (associative), with or without linear edit logs",
"module": "./index.js",
"main": "./lib/index.js",
@@ -42,14 +42,14 @@
"@microsoft/api-extractor": "^7.13.1",
"@types/mocha": "^8.2.0",
"@types/node": "^14.14.14",
- "mocha": "^8.3.0",
- "ts-node": "^9.1.1",
+ "mocha": "^9.0.0",
+ "ts-node": "^10.0.0",
"typedoc": "^0.20.30",
- "typescript": "^4.2.3"
+ "typescript": "4.2.4"
},
"dependencies": {
- "@thi.ng/api": "^7.1.4",
- "@thi.ng/equiv": "^1.0.41"
+ "@thi.ng/api": "^7.1.5",
+ "@thi.ng/equiv": "^1.0.42"
},
"files": [
"*.js",
diff --git a/packages/distance/CHANGELOG.md b/packages/distance/CHANGELOG.md
index c5820f21ec..77dbc7c5a3 100644
--- a/packages/distance/CHANGELOG.md
+++ b/packages/distance/CHANGELOG.md
@@ -3,7 +3,7 @@
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/distance@0.2.0...@thi.ng/distance@0.2.1) (2021-04-03)
+## [0.3.2](https://github.com/thi-ng/umbrella/compare/@thi.ng/distance@0.3.1...@thi.ng/distance@0.3.2) (2021-06-08)
**Note:** Version bump only for package @thi.ng/distance
@@ -11,28 +11,24 @@ See [Conventional Commits](https://conventionalcommits.org) for commit guideline
-# [0.2.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/distance@0.1.11...@thi.ng/distance@0.2.0) (2021-03-30)
+# [0.3.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/distance@0.2.2...@thi.ng/distance@0.3.0) (2021-04-19)
### Features
-* **distance:** add HAVERSINE preset, update readme ([cfc771e](https://github.com/thi-ng/umbrella/commit/cfc771eb21cf2574eaa2476eaee7920674cae9c3))
-
+* **distance:** add argmin*() fns ([72ed376](https://github.com/thi-ng/umbrella/commit/72ed3760c7a6982bcab7d94666957cad90f4f0ef))
+* **distance:** replace HAVERSINE w/ alts ([3a9a77a](https://github.com/thi-ng/umbrella/commit/3a9a77ab0fd06484f2fda5d67c7b151645436a32))
-## [0.1.11](https://github.com/thi-ng/umbrella/compare/@thi.ng/distance@0.1.10...@thi.ng/distance@0.1.11) (2021-03-28)
-
-**Note:** Version bump only for package @thi.ng/distance
-
-
+# [0.2.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/distance@0.1.11...@thi.ng/distance@0.2.0) (2021-03-30)
-## [0.1.10](https://github.com/thi-ng/umbrella/compare/@thi.ng/distance@0.1.9...@thi.ng/distance@0.1.10) (2021-03-27)
+### Features
-**Note:** Version bump only for package @thi.ng/distance
+* **distance:** add HAVERSINE preset, update readme ([cfc771e](https://github.com/thi-ng/umbrella/commit/cfc771eb21cf2574eaa2476eaee7920674cae9c3))
@@ -49,14 +45,6 @@ See [Conventional Commits](https://conventionalcommits.org) for commit guideline
-## [0.1.8](https://github.com/thi-ng/umbrella/compare/@thi.ng/distance@0.1.7...@thi.ng/distance@0.1.8) (2021-03-12)
-
-**Note:** Version bump only for package @thi.ng/distance
-
-
-
-
-
# 0.1.0 (2021-01-21)
diff --git a/packages/distance/README.md b/packages/distance/README.md
index 3b6c088633..4dd789922e 100644
--- a/packages/distance/README.md
+++ b/packages/distance/README.md
@@ -33,20 +33,21 @@ The package provides the
interface for custom distance metric implementations & conversions from/to raw
distance values. The following preset metrics are provided too:
-| **Preset** | **Number** | **n-D** | **2D** | **3D** | **Comments** |
-|-------------------|------------|---------|--------|--------|----------------------------------------------------------------------|
-| `EUCLEDIAN` | | ✅ | | | Eucledian distance |
-| `EUCLEDIAN1` | ✅ | | | | |
-| `EUCLEDIAN2` | | | ✅ | | |
-| `EUCLEDIAN3` | | | | ✅ | |
-| `HAVERSINE` | | | ✅ | | Great-circle distance for lon/lat geo locations |
-| `DIST_SQ` | | ✅ | | | Squared dist (avoids `Math.sqrt`) |
-| `DIST_SQ1` | ✅ | | | | |
-| `DIST_SQ2` | | | ✅ | | |
-| `DIST_SQ3` | | | | ✅ | |
-| `defManhattan(n)` | | ✅ | | | [Manhattan distance](https://en.wikipedia.org/wiki/Taxicab_geometry) |
-| `MANHATTAN2` | | | ✅ | | |
-| `MANHATTAN3` | | | | ✅ | |
+| **Preset** | **Number** | **nD** | **2D** | **3D** | **Comments** |
+|--------------------|------------|--------|--------|--------|----------------------------------------------------------------------|
+| `EUCLEDIAN` | | ✅ | | | Eucledian distance |
+| `EUCLEDIAN1` | ✅ | | | | |
+| `EUCLEDIAN2` | | | ✅ | | |
+| `EUCLEDIAN3` | | | | ✅ | |
+| `HAVERSINE_LATLON` | | | ✅ | | Great-circle distance for lat/lon geo locations |
+| `HAVERSINE_LONLAT` | | | ✅ | | Great-circle distance for lon/lat geo locations |
+| `DIST_SQ` | | ✅ | | | Squared dist (avoids `Math.sqrt`) |
+| `DIST_SQ1` | ✅ | | | | |
+| `DIST_SQ2` | | | ✅ | | |
+| `DIST_SQ3` | | | | ✅ | |
+| `defManhattan(n)` | | ✅ | | | [Manhattan distance](https://en.wikipedia.org/wiki/Taxicab_geometry) |
+| `MANHATTAN2` | | | ✅ | | |
+| `MANHATTAN3` | | | | ✅ | |
### Neighborhoods
@@ -107,7 +108,7 @@ yarn add @thi.ng/distance
```
-Package sizes (gzipped, pre-treeshake): ESM: 887 bytes / CJS: 994 bytes / UMD: 1.01 KB
+Package sizes (gzipped, pre-treeshake): ESM: 1.06 KB / CJS: 1.17 KB / UMD: 1.21 KB
## Dependencies
diff --git a/packages/distance/package.json b/packages/distance/package.json
index 772f4df371..8296f178ee 100644
--- a/packages/distance/package.json
+++ b/packages/distance/package.json
@@ -1,6 +1,6 @@
{
"name": "@thi.ng/distance",
- "version": "0.2.1",
+ "version": "0.3.2",
"description": "N-dimensional distance metrics & K-nearest neighborhoods for point queries",
"module": "./index.js",
"main": "./lib/index.js",
@@ -42,17 +42,17 @@
"@microsoft/api-extractor": "^7.13.1",
"@types/mocha": "^8.2.0",
"@types/node": "^14.14.14",
- "mocha": "^8.3.0",
+ "mocha": "^9.0.0",
"nyc": "^15.1.0",
- "ts-node": "^9.1.1",
+ "ts-node": "^10.0.0",
"typedoc": "^0.20.30",
- "typescript": "^4.2.3"
+ "typescript": "4.2.4"
},
"dependencies": {
- "@thi.ng/api": "^7.1.4",
- "@thi.ng/heaps": "^1.2.38",
- "@thi.ng/math": "^3.4.0",
- "@thi.ng/vectors": "^5.2.1"
+ "@thi.ng/api": "^7.1.5",
+ "@thi.ng/heaps": "^1.2.39",
+ "@thi.ng/math": "^4.0.1",
+ "@thi.ng/vectors": "^6.0.1"
},
"files": [
"*.js",
diff --git a/packages/distance/src/argmin.ts b/packages/distance/src/argmin.ts
new file mode 100644
index 0000000000..b6cfbdcbfc
--- /dev/null
+++ b/packages/distance/src/argmin.ts
@@ -0,0 +1,94 @@
+import type { Fn } from "@thi.ng/api";
+import type { ReadonlyVec } from "@thi.ng/vectors";
+import type { IDistance } from "./api";
+import { knearest } from "./knearest";
+import { DIST_SQ } from "./squared";
+
+/**
+ * Takes a vector `p`, array of `samples` and a `dist`ance function. Computes
+ * and returns index of the sample closest to `p` (according to `dist`, default:
+ * {@link DIST_SQ}).
+ *
+ * @reference
+ * Use {@link argminT} for non-vector inputs.
+ *
+ * https://en.wikipedia.org/wiki/Arg_max#Arg_min
+ *
+ * @param p
+ * @param samples
+ * @param dist
+ */
+export const argmin = (
+ p: ReadonlyVec,
+ samples: ReadonlyVec[],
+ { metric: dist }: IDistance = DIST_SQ
+) => {
+ let minD = Infinity;
+ let minArg = -1;
+ for (let i = 0, n = samples.length; i < n; i++) {
+ const d = dist(p, samples[i]);
+ if (d < minD) {
+ minD = d;
+ minArg = i;
+ }
+ }
+ return minArg;
+};
+
+/**
+ * Similar to {@link argmin}, but for non-vector inputs and taking an additional
+ * `key` function. Applies `key` to each item (incl. `p`) to obtain its vector
+ * representation, then computes and returns index of the sample closest to `p`
+ * (according to `dist`).
+ *
+ * @reference
+ * Use {@link argmin} if all items are vectors already.
+ *
+ * @param p
+ * @param samples
+ * @param key
+ * @param dist
+ */
+export const argminT = (
+ p: T,
+ samples: T[],
+ key: Fn,
+ dist?: IDistance
+) => argmin(key(p), samples.map(key), dist);
+
+/**
+ * Similar to {@link argmin}, but for k-nearest queries.
+ *
+ * @param k
+ * @param p
+ * @param samples
+ * @param dist
+ */
+export const argminK = (
+ k: number,
+ p: ReadonlyVec,
+ samples: ReadonlyVec[],
+ dist: IDistance = DIST_SQ
+) => {
+ const neighborhood = knearest(p, k, Infinity, dist);
+ for (let i = 0, n = samples.length; i < n; i++) {
+ neighborhood.consider(samples[i], i);
+ }
+ return neighborhood.values();
+};
+
+/**
+ * Similar to {@link argminT}, but for k-nearest queries.
+ *
+ * @param k
+ * @param p
+ * @param samples
+ * @param dist
+ */
+export const argminKT = (
+ k: number,
+ p: T,
+ samples: T[],
+ key: Fn,
+ dist?: IDistance
+) => argminK(k, key(p), samples.map(key), dist);
diff --git a/packages/distance/src/haversine.ts b/packages/distance/src/haversine.ts
index ab185e3623..2110f5c9ee 100644
--- a/packages/distance/src/haversine.ts
+++ b/packages/distance/src/haversine.ts
@@ -1,7 +1,16 @@
-import { distHaversine, ReadonlyVec } from "@thi.ng/vectors";
+import {
+ distHaversineLatLon,
+ distHaversineLonLat,
+ ReadonlyVec,
+} from "@thi.ng/vectors";
import { Eucledian } from "./eucledian";
+/**
+ * Distance metric for geo locations given as [lat,lon] vectors.
+ */
+export const HAVERSINE_LATLON = new Eucledian(distHaversineLatLon);
+
/**
* Distance metric for geo locations given as [lon,lat] vectors.
*/
-export const HAVERSINE = new Eucledian(distHaversine);
+export const HAVERSINE_LONLAT = new Eucledian(distHaversineLonLat);
diff --git a/packages/distance/src/index.ts b/packages/distance/src/index.ts
index 67644381de..958b7f9659 100644
--- a/packages/distance/src/index.ts
+++ b/packages/distance/src/index.ts
@@ -1,9 +1,8 @@
export * from "./api";
-
+export * from "./argmin";
export * from "./eucledian";
export * from "./haversine";
-export * from "./manhattan";
-export * from "./squared";
-
export * from "./knearest";
+export * from "./manhattan";
export * from "./nearest";
+export * from "./squared";
diff --git a/packages/distance/tpl.readme.md b/packages/distance/tpl.readme.md
index 3531cfc2c0..2485e123c7 100644
--- a/packages/distance/tpl.readme.md
+++ b/packages/distance/tpl.readme.md
@@ -20,20 +20,21 @@ The package provides the
interface for custom distance metric implementations & conversions from/to raw
distance values. The following preset metrics are provided too:
-| **Preset** | **Number** | **n-D** | **2D** | **3D** | **Comments** |
-|-------------------|------------|---------|--------|--------|----------------------------------------------------------------------|
-| `EUCLEDIAN` | | ✅ | | | Eucledian distance |
-| `EUCLEDIAN1` | ✅ | | | | |
-| `EUCLEDIAN2` | | | ✅ | | |
-| `EUCLEDIAN3` | | | | ✅ | |
-| `HAVERSINE` | | | ✅ | | Great-circle distance for lon/lat geo locations |
-| `DIST_SQ` | | ✅ | | | Squared dist (avoids `Math.sqrt`) |
-| `DIST_SQ1` | ✅ | | | | |
-| `DIST_SQ2` | | | ✅ | | |
-| `DIST_SQ3` | | | | ✅ | |
-| `defManhattan(n)` | | ✅ | | | [Manhattan distance](https://en.wikipedia.org/wiki/Taxicab_geometry) |
-| `MANHATTAN2` | | | ✅ | | |
-| `MANHATTAN3` | | | | ✅ | |
+| **Preset** | **Number** | **nD** | **2D** | **3D** | **Comments** |
+|--------------------|------------|--------|--------|--------|----------------------------------------------------------------------|
+| `EUCLEDIAN` | | ✅ | | | Eucledian distance |
+| `EUCLEDIAN1` | ✅ | | | | |
+| `EUCLEDIAN2` | | | ✅ | | |
+| `EUCLEDIAN3` | | | | ✅ | |
+| `HAVERSINE_LATLON` | | | ✅ | | Great-circle distance for lat/lon geo locations |
+| `HAVERSINE_LONLAT` | | | ✅ | | Great-circle distance for lon/lat geo locations |
+| `DIST_SQ` | | ✅ | | | Squared dist (avoids `Math.sqrt`) |
+| `DIST_SQ1` | ✅ | | | | |
+| `DIST_SQ2` | | | ✅ | | |
+| `DIST_SQ3` | | | | ✅ | |
+| `defManhattan(n)` | | ✅ | | | [Manhattan distance](https://en.wikipedia.org/wiki/Taxicab_geometry) |
+| `MANHATTAN2` | | | ✅ | | |
+| `MANHATTAN3` | | | | ✅ | |
### Neighborhoods
diff --git a/packages/dl-asset/CHANGELOG.md b/packages/dl-asset/CHANGELOG.md
index 3c7d4576c8..7ec48f5e73 100644
--- a/packages/dl-asset/CHANGELOG.md
+++ b/packages/dl-asset/CHANGELOG.md
@@ -3,39 +3,7 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
-## [0.4.22](https://github.com/thi-ng/umbrella/compare/@thi.ng/dl-asset@0.4.21...@thi.ng/dl-asset@0.4.22) (2021-04-03)
-
-**Note:** Version bump only for package @thi.ng/dl-asset
-
-
-
-
-
-## [0.4.21](https://github.com/thi-ng/umbrella/compare/@thi.ng/dl-asset@0.4.20...@thi.ng/dl-asset@0.4.21) (2021-03-28)
-
-**Note:** Version bump only for package @thi.ng/dl-asset
-
-
-
-
-
-## [0.4.20](https://github.com/thi-ng/umbrella/compare/@thi.ng/dl-asset@0.4.19...@thi.ng/dl-asset@0.4.20) (2021-03-27)
-
-**Note:** Version bump only for package @thi.ng/dl-asset
-
-
-
-
-
-## [0.4.19](https://github.com/thi-ng/umbrella/compare/@thi.ng/dl-asset@0.4.18...@thi.ng/dl-asset@0.4.19) (2021-03-26)
-
-**Note:** Version bump only for package @thi.ng/dl-asset
-
-
-
-
-
-## [0.4.18](https://github.com/thi-ng/umbrella/compare/@thi.ng/dl-asset@0.4.17...@thi.ng/dl-asset@0.4.18) (2021-03-12)
+## [0.4.25](https://github.com/thi-ng/umbrella/compare/@thi.ng/dl-asset@0.4.24...@thi.ng/dl-asset@0.4.25) (2021-06-08)
**Note:** Version bump only for package @thi.ng/dl-asset
diff --git a/packages/dl-asset/README.md b/packages/dl-asset/README.md
index 2e8f93269f..7517b75e49 100644
--- a/packages/dl-asset/README.md
+++ b/packages/dl-asset/README.md
@@ -58,13 +58,14 @@ directory are using this package.
A selection:
-| 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) |
-| | Parser grammar livecoding editor/playground & codegen | [Demo](https://demo.thi.ng/umbrella/parse-playground/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/parse-playground) |
-| | 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) |
+| Screenshot | Description | Live demo | Source |
+| ------------------------------------------------------------------------------------------------------------------------------------ | --------------------------------------------------------------------------- | -------------------------------------------------------- | ------------------------------------------------------------------------------------- |
+| | Color palette generation via dominant color extraction from uploaded images | [Demo](https://demo.thi.ng/umbrella/dominant-colors/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/dominant-colors) |
+| | 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) |
+| | Parser grammar livecoding editor/playground & codegen | [Demo](https://demo.thi.ng/umbrella/parse-playground/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/parse-playground) |
+| | 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/dl-asset/package.json b/packages/dl-asset/package.json
index f0005f1847..38062031ec 100644
--- a/packages/dl-asset/package.json
+++ b/packages/dl-asset/package.json
@@ -1,6 +1,6 @@
{
"name": "@thi.ng/dl-asset",
- "version": "0.4.22",
+ "version": "0.4.25",
"description": "Local asset download for web apps, with automatic MIME type detection",
"module": "./index.js",
"main": "./lib/index.js",
@@ -42,16 +42,16 @@
"@microsoft/api-extractor": "^7.13.1",
"@types/mocha": "^8.2.0",
"@types/node": "^14.14.14",
- "mocha": "^8.3.0",
+ "mocha": "^9.0.0",
"nyc": "^15.1.0",
- "ts-node": "^9.1.1",
+ "ts-node": "^10.0.0",
"typedoc": "^0.20.30",
- "typescript": "^4.2.3"
+ "typescript": "4.2.4"
},
"dependencies": {
- "@thi.ng/api": "^7.1.4",
- "@thi.ng/checks": "^2.9.6",
- "@thi.ng/mime": "^0.4.0"
+ "@thi.ng/api": "^7.1.5",
+ "@thi.ng/checks": "^2.9.7",
+ "@thi.ng/mime": "^0.5.2"
},
"files": [
"*.js",
diff --git a/packages/dlogic/CHANGELOG.md b/packages/dlogic/CHANGELOG.md
index 7f60d7f2fe..12d72b788d 100644
--- a/packages/dlogic/CHANGELOG.md
+++ b/packages/dlogic/CHANGELOG.md
@@ -3,7 +3,7 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
-## [1.0.43](https://github.com/thi-ng/umbrella/compare/@thi.ng/dlogic@1.0.42...@thi.ng/dlogic@1.0.43) (2021-03-12)
+## [1.0.44](https://github.com/thi-ng/umbrella/compare/@thi.ng/dlogic@1.0.43...@thi.ng/dlogic@1.0.44) (2021-06-08)
**Note:** Version bump only for package @thi.ng/dlogic
diff --git a/packages/dlogic/package.json b/packages/dlogic/package.json
index aca9e10925..4b2d10515e 100644
--- a/packages/dlogic/package.json
+++ b/packages/dlogic/package.json
@@ -1,6 +1,6 @@
{
"name": "@thi.ng/dlogic",
- "version": "1.0.43",
+ "version": "1.0.44",
"description": "Assorted digital logic ops / constructs",
"module": "./index.js",
"main": "./lib/index.js",
@@ -42,14 +42,14 @@
"@microsoft/api-extractor": "^7.13.1",
"@types/mocha": "^8.2.0",
"@types/node": "^14.14.14",
- "mocha": "^8.3.0",
+ "mocha": "^9.0.0",
"nyc": "^15.1.0",
- "ts-node": "^9.1.1",
+ "ts-node": "^10.0.0",
"typedoc": "^0.20.30",
- "typescript": "^4.2.3"
+ "typescript": "4.2.4"
},
"dependencies": {
- "@thi.ng/api": "^7.1.4"
+ "@thi.ng/api": "^7.1.5"
},
"files": [
"*.js",
diff --git a/packages/dot/CHANGELOG.md b/packages/dot/CHANGELOG.md
index 47693c9a3f..9d88f80dc9 100644
--- a/packages/dot/CHANGELOG.md
+++ b/packages/dot/CHANGELOG.md
@@ -3,15 +3,7 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
-## [1.2.31](https://github.com/thi-ng/umbrella/compare/@thi.ng/dot@1.2.30...@thi.ng/dot@1.2.31) (2021-04-03)
-
-**Note:** Version bump only for package @thi.ng/dot
-
-
-
-
-
-## [1.2.30](https://github.com/thi-ng/umbrella/compare/@thi.ng/dot@1.2.29...@thi.ng/dot@1.2.30) (2021-03-12)
+## [1.2.32](https://github.com/thi-ng/umbrella/compare/@thi.ng/dot@1.2.31...@thi.ng/dot@1.2.32) (2021-06-08)
**Note:** Version bump only for package @thi.ng/dot
diff --git a/packages/dot/package.json b/packages/dot/package.json
index 1df38881b5..f188acec8c 100644
--- a/packages/dot/package.json
+++ b/packages/dot/package.json
@@ -1,6 +1,6 @@
{
"name": "@thi.ng/dot",
- "version": "1.2.31",
+ "version": "1.2.32",
"description": "Graphviz document abstraction & serialization to DOT format",
"module": "./index.js",
"main": "./lib/index.js",
@@ -42,15 +42,15 @@
"@microsoft/api-extractor": "^7.13.1",
"@types/mocha": "^8.2.0",
"@types/node": "^14.14.14",
- "mocha": "^8.3.0",
+ "mocha": "^9.0.0",
"nyc": "^15.1.0",
- "ts-node": "^9.1.1",
+ "ts-node": "^10.0.0",
"typedoc": "^0.20.30",
- "typescript": "^4.2.3"
+ "typescript": "4.2.4"
},
"dependencies": {
- "@thi.ng/api": "^7.1.4",
- "@thi.ng/checks": "^2.9.6"
+ "@thi.ng/api": "^7.1.5",
+ "@thi.ng/checks": "^2.9.7"
},
"files": [
"*.js",
diff --git a/packages/dsp-io-wav/CHANGELOG.md b/packages/dsp-io-wav/CHANGELOG.md
index ac64a7e217..aef1f15d56 100644
--- a/packages/dsp-io-wav/CHANGELOG.md
+++ b/packages/dsp-io-wav/CHANGELOG.md
@@ -3,39 +3,7 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
-## [0.1.50](https://github.com/thi-ng/umbrella/compare/@thi.ng/dsp-io-wav@0.1.49...@thi.ng/dsp-io-wav@0.1.50) (2021-04-03)
-
-**Note:** Version bump only for package @thi.ng/dsp-io-wav
-
-
-
-
-
-## [0.1.49](https://github.com/thi-ng/umbrella/compare/@thi.ng/dsp-io-wav@0.1.48...@thi.ng/dsp-io-wav@0.1.49) (2021-03-28)
-
-**Note:** Version bump only for package @thi.ng/dsp-io-wav
-
-
-
-
-
-## [0.1.48](https://github.com/thi-ng/umbrella/compare/@thi.ng/dsp-io-wav@0.1.47...@thi.ng/dsp-io-wav@0.1.48) (2021-03-27)
-
-**Note:** Version bump only for package @thi.ng/dsp-io-wav
-
-
-
-
-
-## [0.1.47](https://github.com/thi-ng/umbrella/compare/@thi.ng/dsp-io-wav@0.1.46...@thi.ng/dsp-io-wav@0.1.47) (2021-03-17)
-
-**Note:** Version bump only for package @thi.ng/dsp-io-wav
-
-
-
-
-
-## [0.1.46](https://github.com/thi-ng/umbrella/compare/@thi.ng/dsp-io-wav@0.1.45...@thi.ng/dsp-io-wav@0.1.46) (2021-03-12)
+## [0.1.54](https://github.com/thi-ng/umbrella/compare/@thi.ng/dsp-io-wav@0.1.53...@thi.ng/dsp-io-wav@0.1.54) (2021-06-08)
**Note:** Version bump only for package @thi.ng/dsp-io-wav
diff --git a/packages/dsp-io-wav/package.json b/packages/dsp-io-wav/package.json
index 1a3b402f17..c7fa65f63d 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.50",
+ "version": "0.1.54",
"description": "WAV file format generation",
"module": "./index.js",
"main": "./lib/index.js",
@@ -42,17 +42,17 @@
"@microsoft/api-extractor": "^7.13.1",
"@types/mocha": "^8.2.0",
"@types/node": "^14.14.14",
- "mocha": "^8.3.0",
+ "mocha": "^9.0.0",
"nyc": "^15.1.0",
- "ts-node": "^9.1.1",
+ "ts-node": "^10.0.0",
"typedoc": "^0.20.30",
- "typescript": "^4.2.3"
+ "typescript": "4.2.4"
},
"dependencies": {
- "@thi.ng/api": "^7.1.4",
- "@thi.ng/binary": "^2.2.4",
- "@thi.ng/transducers": "^7.6.10",
- "@thi.ng/transducers-binary": "^0.6.16"
+ "@thi.ng/api": "^7.1.5",
+ "@thi.ng/binary": "^2.2.5",
+ "@thi.ng/transducers": "^7.7.3",
+ "@thi.ng/transducers-binary": "^0.6.20"
},
"files": [
"*.js",
diff --git a/packages/dsp/CHANGELOG.md b/packages/dsp/CHANGELOG.md
index f33472276d..f28594cf73 100644
--- a/packages/dsp/CHANGELOG.md
+++ b/packages/dsp/CHANGELOG.md
@@ -3,39 +3,7 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
-## [3.0.16](https://github.com/thi-ng/umbrella/compare/@thi.ng/dsp@3.0.15...@thi.ng/dsp@3.0.16) (2021-04-03)
-
-**Note:** Version bump only for package @thi.ng/dsp
-
-
-
-
-
-## [3.0.15](https://github.com/thi-ng/umbrella/compare/@thi.ng/dsp@3.0.14...@thi.ng/dsp@3.0.15) (2021-03-28)
-
-**Note:** Version bump only for package @thi.ng/dsp
-
-
-
-
-
-## [3.0.14](https://github.com/thi-ng/umbrella/compare/@thi.ng/dsp@3.0.13...@thi.ng/dsp@3.0.14) (2021-03-27)
-
-**Note:** Version bump only for package @thi.ng/dsp
-
-
-
-
-
-## [3.0.13](https://github.com/thi-ng/umbrella/compare/@thi.ng/dsp@3.0.12...@thi.ng/dsp@3.0.13) (2021-03-17)
-
-**Note:** Version bump only for package @thi.ng/dsp
-
-
-
-
-
-## [3.0.12](https://github.com/thi-ng/umbrella/compare/@thi.ng/dsp@3.0.11...@thi.ng/dsp@3.0.12) (2021-03-12)
+## [3.0.20](https://github.com/thi-ng/umbrella/compare/@thi.ng/dsp@3.0.19...@thi.ng/dsp@3.0.20) (2021-06-08)
**Note:** Version bump only for package @thi.ng/dsp
diff --git a/packages/dsp/package.json b/packages/dsp/package.json
index 13f5509b4e..9cc9b26044 100644
--- a/packages/dsp/package.json
+++ b/packages/dsp/package.json
@@ -1,6 +1,6 @@
{
"name": "@thi.ng/dsp",
- "version": "3.0.16",
+ "version": "3.0.20",
"description": "Composable signal generators, oscillators, filters, FFT, spectrum, windowing & related DSP utils",
"module": "./index.js",
"main": "./lib/index.js",
@@ -42,19 +42,19 @@
"@microsoft/api-extractor": "^7.13.1",
"@types/mocha": "^8.2.0",
"@types/node": "^14.14.14",
- "mocha": "^8.3.0",
+ "mocha": "^9.0.0",
"nyc": "^15.1.0",
- "ts-node": "^9.1.1",
+ "ts-node": "^10.0.0",
"typedoc": "^0.20.30",
- "typescript": "^4.2.3"
+ "typescript": "4.2.4"
},
"dependencies": {
- "@thi.ng/api": "^7.1.4",
- "@thi.ng/checks": "^2.9.6",
- "@thi.ng/errors": "^1.3.0",
- "@thi.ng/math": "^3.4.0",
- "@thi.ng/random": "^2.3.7",
- "@thi.ng/transducers": "^7.6.10"
+ "@thi.ng/api": "^7.1.5",
+ "@thi.ng/checks": "^2.9.7",
+ "@thi.ng/errors": "^1.3.1",
+ "@thi.ng/math": "^4.0.1",
+ "@thi.ng/random": "^2.4.1",
+ "@thi.ng/transducers": "^7.7.3"
},
"files": [
"*.js",
diff --git a/packages/dual-algebra/CHANGELOG.md b/packages/dual-algebra/CHANGELOG.md
index 7c3c92a038..f411b484ea 100644
--- a/packages/dual-algebra/CHANGELOG.md
+++ b/packages/dual-algebra/CHANGELOG.md
@@ -3,7 +3,7 @@
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/dual-algebra@0.1.11...@thi.ng/dual-algebra@0.1.12) (2021-03-12)
+## [0.1.13](https://github.com/thi-ng/umbrella/compare/@thi.ng/dual-algebra@0.1.12...@thi.ng/dual-algebra@0.1.13) (2021-06-08)
**Note:** Version bump only for package @thi.ng/dual-algebra
diff --git a/packages/dual-algebra/package.json b/packages/dual-algebra/package.json
index 256b27fdb4..111c7f0afa 100644
--- a/packages/dual-algebra/package.json
+++ b/packages/dual-algebra/package.json
@@ -1,6 +1,6 @@
{
"name": "@thi.ng/dual-algebra",
- "version": "0.1.12",
+ "version": "0.1.13",
"description": "Multivariate dual number algebra, automatic differentiation",
"module": "./index.js",
"main": "./lib/index.js",
@@ -42,14 +42,14 @@
"@microsoft/api-extractor": "^7.13.1",
"@types/mocha": "^8.2.0",
"@types/node": "^14.14.14",
- "mocha": "^8.3.0",
+ "mocha": "^9.0.0",
"nyc": "^15.1.0",
- "ts-node": "^9.1.1",
+ "ts-node": "^10.0.0",
"typedoc": "^0.20.30",
- "typescript": "^4.2.3"
+ "typescript": "4.2.4"
},
"dependencies": {
- "@thi.ng/api": "^7.1.4"
+ "@thi.ng/api": "^7.1.5"
},
"files": [
"*.js",
diff --git a/packages/dynvar/CHANGELOG.md b/packages/dynvar/CHANGELOG.md
index 675090d7b8..7452bd62fd 100644
--- a/packages/dynvar/CHANGELOG.md
+++ b/packages/dynvar/CHANGELOG.md
@@ -3,7 +3,7 @@
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/dynvar@0.1.34...@thi.ng/dynvar@0.1.35) (2021-03-12)
+## [0.1.36](https://github.com/thi-ng/umbrella/compare/@thi.ng/dynvar@0.1.35...@thi.ng/dynvar@0.1.36) (2021-06-08)
**Note:** Version bump only for package @thi.ng/dynvar
diff --git a/packages/dynvar/package.json b/packages/dynvar/package.json
index db259cbbb6..d0d20b16eb 100644
--- a/packages/dynvar/package.json
+++ b/packages/dynvar/package.json
@@ -1,6 +1,6 @@
{
"name": "@thi.ng/dynvar",
- "version": "0.1.35",
+ "version": "0.1.36",
"description": "Dynamically scoped variable bindings",
"module": "./index.js",
"main": "./lib/index.js",
@@ -42,14 +42,14 @@
"@microsoft/api-extractor": "^7.13.1",
"@types/mocha": "^8.2.0",
"@types/node": "^14.14.14",
- "mocha": "^8.3.0",
+ "mocha": "^9.0.0",
"nyc": "^15.1.0",
- "ts-node": "^9.1.1",
+ "ts-node": "^10.0.0",
"typedoc": "^0.20.30",
- "typescript": "^4.2.3"
+ "typescript": "4.2.4"
},
"dependencies": {
- "@thi.ng/api": "^7.1.4"
+ "@thi.ng/api": "^7.1.5"
},
"files": [
"*.js",
diff --git a/packages/ecs/CHANGELOG.md b/packages/ecs/CHANGELOG.md
index 4c0dcd6a3e..3bdcba7572 100644
--- a/packages/ecs/CHANGELOG.md
+++ b/packages/ecs/CHANGELOG.md
@@ -3,47 +3,7 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
-## [0.5.11](https://github.com/thi-ng/umbrella/compare/@thi.ng/ecs@0.5.10...@thi.ng/ecs@0.5.11) (2021-04-03)
-
-**Note:** Version bump only for package @thi.ng/ecs
-
-
-
-
-
-## [0.5.10](https://github.com/thi-ng/umbrella/compare/@thi.ng/ecs@0.5.9...@thi.ng/ecs@0.5.10) (2021-03-30)
-
-**Note:** Version bump only for package @thi.ng/ecs
-
-
-
-
-
-## [0.5.9](https://github.com/thi-ng/umbrella/compare/@thi.ng/ecs@0.5.8...@thi.ng/ecs@0.5.9) (2021-03-28)
-
-**Note:** Version bump only for package @thi.ng/ecs
-
-
-
-
-
-## [0.5.8](https://github.com/thi-ng/umbrella/compare/@thi.ng/ecs@0.5.7...@thi.ng/ecs@0.5.8) (2021-03-27)
-
-**Note:** Version bump only for package @thi.ng/ecs
-
-
-
-
-
-## [0.5.7](https://github.com/thi-ng/umbrella/compare/@thi.ng/ecs@0.5.6...@thi.ng/ecs@0.5.7) (2021-03-17)
-
-**Note:** Version bump only for package @thi.ng/ecs
-
-
-
-
-
-## [0.5.6](https://github.com/thi-ng/umbrella/compare/@thi.ng/ecs@0.5.5...@thi.ng/ecs@0.5.6) (2021-03-12)
+## [0.5.15](https://github.com/thi-ng/umbrella/compare/@thi.ng/ecs@0.5.14...@thi.ng/ecs@0.5.15) (2021-06-08)
**Note:** Version bump only for package @thi.ng/ecs
diff --git a/packages/ecs/package.json b/packages/ecs/package.json
index 8024aa5b65..253a026b78 100644
--- a/packages/ecs/package.json
+++ b/packages/ecs/package.json
@@ -1,6 +1,6 @@
{
"name": "@thi.ng/ecs",
- "version": "0.5.11",
+ "version": "0.5.15",
"description": "Entity Component System based around typed arrays & sparse sets",
"module": "./index.js",
"main": "./lib/index.js",
@@ -40,24 +40,24 @@
"devDependencies": {
"@istanbuljs/nyc-config-typescript": "^1.0.1",
"@microsoft/api-extractor": "^7.13.1",
- "@thi.ng/equiv": "^1.0.41",
+ "@thi.ng/equiv": "^1.0.42",
"@types/mocha": "^8.2.0",
"@types/node": "^14.14.14",
- "mocha": "^8.3.0",
+ "mocha": "^9.0.0",
"nyc": "^15.1.0",
- "ts-node": "^9.1.1",
+ "ts-node": "^10.0.0",
"typedoc": "^0.20.30",
- "typescript": "^4.2.3"
+ "typescript": "4.2.4"
},
"dependencies": {
- "@thi.ng/api": "^7.1.4",
- "@thi.ng/associative": "^5.2.1",
- "@thi.ng/binary": "^2.2.4",
- "@thi.ng/checks": "^2.9.6",
- "@thi.ng/dcons": "^2.3.20",
- "@thi.ng/idgen": "^0.2.35",
- "@thi.ng/malloc": "^5.0.7",
- "@thi.ng/transducers": "^7.6.10",
+ "@thi.ng/api": "^7.1.5",
+ "@thi.ng/associative": "^5.2.5",
+ "@thi.ng/binary": "^2.2.5",
+ "@thi.ng/checks": "^2.9.7",
+ "@thi.ng/dcons": "^2.3.24",
+ "@thi.ng/idgen": "^0.2.36",
+ "@thi.ng/malloc": "^5.0.8",
+ "@thi.ng/transducers": "^7.7.3",
"tslib": "^2.1.0"
},
"files": [
diff --git a/packages/egf/CHANGELOG.md b/packages/egf/CHANGELOG.md
index d3e07dce83..c0a84ecbdc 100644
--- a/packages/egf/CHANGELOG.md
+++ b/packages/egf/CHANGELOG.md
@@ -3,23 +3,7 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
-## [0.4.3](https://github.com/thi-ng/umbrella/compare/@thi.ng/egf@0.4.2...@thi.ng/egf@0.4.3) (2021-04-03)
-
-**Note:** Version bump only for package @thi.ng/egf
-
-
-
-
-
-## [0.4.2](https://github.com/thi-ng/umbrella/compare/@thi.ng/egf@0.4.1...@thi.ng/egf@0.4.2) (2021-03-30)
-
-**Note:** Version bump only for package @thi.ng/egf
-
-
-
-
-
-## [0.4.1](https://github.com/thi-ng/umbrella/compare/@thi.ng/egf@0.4.0...@thi.ng/egf@0.4.1) (2021-03-28)
+## [0.4.7](https://github.com/thi-ng/umbrella/compare/@thi.ng/egf@0.4.6...@thi.ng/egf@0.4.7) (2021-06-08)
**Note:** Version bump only for package @thi.ng/egf
@@ -43,38 +27,6 @@ See [Conventional Commits](https://conventionalcommits.org) for commit guideline
-## [0.3.21](https://github.com/thi-ng/umbrella/compare/@thi.ng/egf@0.3.20...@thi.ng/egf@0.3.21) (2021-03-24)
-
-**Note:** Version bump only for package @thi.ng/egf
-
-
-
-
-
-## [0.3.20](https://github.com/thi-ng/umbrella/compare/@thi.ng/egf@0.3.19...@thi.ng/egf@0.3.20) (2021-03-24)
-
-**Note:** Version bump only for package @thi.ng/egf
-
-
-
-
-
-## [0.3.19](https://github.com/thi-ng/umbrella/compare/@thi.ng/egf@0.3.18...@thi.ng/egf@0.3.19) (2021-03-17)
-
-**Note:** Version bump only for package @thi.ng/egf
-
-
-
-
-
-## [0.3.18](https://github.com/thi-ng/umbrella/compare/@thi.ng/egf@0.3.17...@thi.ng/egf@0.3.18) (2021-03-12)
-
-**Note:** Version bump only for package @thi.ng/egf
-
-
-
-
-
# 0.3.0 (2020-09-22)
diff --git a/packages/egf/package.json b/packages/egf/package.json
index 818bd41d9e..b43d104cc6 100644
--- a/packages/egf/package.json
+++ b/packages/egf/package.json
@@ -1,6 +1,6 @@
{
"name": "@thi.ng/egf",
- "version": "0.4.3",
+ "version": "0.4.7",
"description": "Extensible Graph Format",
"module": "./index.js",
"main": "./lib/index.js",
@@ -35,24 +35,24 @@
"devDependencies": {
"@istanbuljs/nyc-config-typescript": "^1.0.1",
"@microsoft/api-extractor": "^7.13.1",
- "@thi.ng/equiv": "^1.0.41",
+ "@thi.ng/equiv": "^1.0.42",
"@types/mocha": "^8.2.0",
"@types/node": "^14.14.14",
- "mocha": "^8.3.0",
+ "mocha": "^9.0.0",
"nyc": "^15.1.0",
- "ts-node": "^9.1.1",
+ "ts-node": "^10.0.0",
"typedoc": "^0.20.30",
- "typescript": "^4.2.3"
+ "typescript": "4.2.4"
},
"dependencies": {
- "@thi.ng/api": "^7.1.4",
- "@thi.ng/associative": "^5.2.1",
- "@thi.ng/checks": "^2.9.6",
- "@thi.ng/dot": "^1.2.31",
- "@thi.ng/errors": "^1.3.0",
- "@thi.ng/prefixes": "^0.1.17",
- "@thi.ng/strings": "^2.1.0",
- "@thi.ng/transducers-binary": "^0.6.16"
+ "@thi.ng/api": "^7.1.5",
+ "@thi.ng/associative": "^5.2.5",
+ "@thi.ng/checks": "^2.9.7",
+ "@thi.ng/dot": "^1.2.32",
+ "@thi.ng/errors": "^1.3.1",
+ "@thi.ng/prefixes": "^0.1.18",
+ "@thi.ng/strings": "^2.1.1",
+ "@thi.ng/transducers-binary": "^0.6.20"
},
"files": [
"*.js",
diff --git a/packages/equiv/CHANGELOG.md b/packages/equiv/CHANGELOG.md
index f78831e1c5..97789997d3 100644
--- a/packages/equiv/CHANGELOG.md
+++ b/packages/equiv/CHANGELOG.md
@@ -3,7 +3,7 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
-## [1.0.41](https://github.com/thi-ng/umbrella/compare/@thi.ng/equiv@1.0.40...@thi.ng/equiv@1.0.41) (2021-03-12)
+## [1.0.42](https://github.com/thi-ng/umbrella/compare/@thi.ng/equiv@1.0.41...@thi.ng/equiv@1.0.42) (2021-06-08)
**Note:** Version bump only for package @thi.ng/equiv
diff --git a/packages/equiv/package.json b/packages/equiv/package.json
index c125eb152e..2465f938db 100644
--- a/packages/equiv/package.json
+++ b/packages/equiv/package.json
@@ -1,6 +1,6 @@
{
"name": "@thi.ng/equiv",
- "version": "1.0.41",
+ "version": "1.0.42",
"description": "Extensible deep value equivalence checking for any data types",
"module": "./index.js",
"main": "./lib/index.js",
@@ -43,11 +43,11 @@
"@types/mocha": "^8.2.0",
"@types/node": "^14.14.14",
"benchmark": "^2.1.4",
- "mocha": "^8.3.0",
+ "mocha": "^9.0.0",
"nyc": "^15.1.0",
- "ts-node": "^9.1.1",
+ "ts-node": "^10.0.0",
"typedoc": "^0.20.30",
- "typescript": "^4.2.3"
+ "typescript": "4.2.4"
},
"files": [
"*.js",
diff --git a/packages/errors/CHANGELOG.md b/packages/errors/CHANGELOG.md
index f6d1a302ed..52808f2cea 100644
--- a/packages/errors/CHANGELOG.md
+++ b/packages/errors/CHANGELOG.md
@@ -3,21 +3,21 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
-# [1.3.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/errors@1.2.32...@thi.ng/errors@1.3.0) (2021-03-17)
+## [1.3.1](https://github.com/thi-ng/umbrella/compare/@thi.ng/errors@1.3.0...@thi.ng/errors@1.3.1) (2021-06-08)
+**Note:** Version bump only for package @thi.ng/errors
-### Features
-* **errors:** add ensureIndex2(), update outOfBounds() arg type ([ab007d6](https://github.com/thi-ng/umbrella/commit/ab007d6b502c3d1650c7e9cf50da05f0ac042ef3))
-* **errors:** add outOfBounds(), ensureIndex() ([fb5ca0a](https://github.com/thi-ng/umbrella/commit/fb5ca0a7f8a4a6648d3c8485a9108e9154ee4400))
+# [1.3.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/errors@1.2.32...@thi.ng/errors@1.3.0) (2021-03-17)
-## [1.2.32](https://github.com/thi-ng/umbrella/compare/@thi.ng/errors@1.2.31...@thi.ng/errors@1.2.32) (2021-03-12)
+### Features
-**Note:** Version bump only for package @thi.ng/errors
+* **errors:** add ensureIndex2(), update outOfBounds() arg type ([ab007d6](https://github.com/thi-ng/umbrella/commit/ab007d6b502c3d1650c7e9cf50da05f0ac042ef3))
+* **errors:** add outOfBounds(), ensureIndex() ([fb5ca0a](https://github.com/thi-ng/umbrella/commit/fb5ca0a7f8a4a6648d3c8485a9108e9154ee4400))
diff --git a/packages/errors/package.json b/packages/errors/package.json
index d6df3fc54d..2c43473e70 100644
--- a/packages/errors/package.json
+++ b/packages/errors/package.json
@@ -1,6 +1,6 @@
{
"name": "@thi.ng/errors",
- "version": "1.3.0",
+ "version": "1.3.1",
"description": "Custom error types and error factory functions",
"module": "./index.js",
"main": "./lib/index.js",
@@ -42,11 +42,11 @@
"@microsoft/api-extractor": "^7.13.1",
"@types/mocha": "^8.2.0",
"@types/node": "^14.14.14",
- "mocha": "^8.3.0",
+ "mocha": "^9.0.0",
"nyc": "^15.1.0",
- "ts-node": "^9.1.1",
+ "ts-node": "^10.0.0",
"typedoc": "^0.20.30",
- "typescript": "^4.2.3"
+ "typescript": "4.2.4"
},
"files": [
"*.js",
diff --git a/packages/fsm/CHANGELOG.md b/packages/fsm/CHANGELOG.md
index 03cd66b3d1..88db348fc8 100644
--- a/packages/fsm/CHANGELOG.md
+++ b/packages/fsm/CHANGELOG.md
@@ -3,55 +3,7 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
-## [2.4.49](https://github.com/thi-ng/umbrella/compare/@thi.ng/fsm@2.4.48...@thi.ng/fsm@2.4.49) (2021-04-03)
-
-**Note:** Version bump only for package @thi.ng/fsm
-
-
-
-
-
-## [2.4.48](https://github.com/thi-ng/umbrella/compare/@thi.ng/fsm@2.4.47...@thi.ng/fsm@2.4.48) (2021-03-28)
-
-**Note:** Version bump only for package @thi.ng/fsm
-
-
-
-
-
-## [2.4.47](https://github.com/thi-ng/umbrella/compare/@thi.ng/fsm@2.4.46...@thi.ng/fsm@2.4.47) (2021-03-27)
-
-**Note:** Version bump only for package @thi.ng/fsm
-
-
-
-
-
-## [2.4.46](https://github.com/thi-ng/umbrella/compare/@thi.ng/fsm@2.4.45...@thi.ng/fsm@2.4.46) (2021-03-24)
-
-**Note:** Version bump only for package @thi.ng/fsm
-
-
-
-
-
-## [2.4.45](https://github.com/thi-ng/umbrella/compare/@thi.ng/fsm@2.4.44...@thi.ng/fsm@2.4.45) (2021-03-24)
-
-**Note:** Version bump only for package @thi.ng/fsm
-
-
-
-
-
-## [2.4.44](https://github.com/thi-ng/umbrella/compare/@thi.ng/fsm@2.4.43...@thi.ng/fsm@2.4.44) (2021-03-17)
-
-**Note:** Version bump only for package @thi.ng/fsm
-
-
-
-
-
-## [2.4.43](https://github.com/thi-ng/umbrella/compare/@thi.ng/fsm@2.4.42...@thi.ng/fsm@2.4.43) (2021-03-12)
+## [2.4.53](https://github.com/thi-ng/umbrella/compare/@thi.ng/fsm@2.4.52...@thi.ng/fsm@2.4.53) (2021-06-08)
**Note:** Version bump only for package @thi.ng/fsm
diff --git a/packages/fsm/package.json b/packages/fsm/package.json
index 76b7a9f0f6..307e735c4d 100644
--- a/packages/fsm/package.json
+++ b/packages/fsm/package.json
@@ -1,6 +1,6 @@
{
"name": "@thi.ng/fsm",
- "version": "2.4.49",
+ "version": "2.4.53",
"description": "Composable primitives for building declarative, transducer based Finite-State Machines & matchers for arbitrary data streams",
"module": "./index.js",
"main": "./lib/index.js",
@@ -42,19 +42,19 @@
"@microsoft/api-extractor": "^7.13.1",
"@types/mocha": "^8.2.0",
"@types/node": "^14.14.14",
- "mocha": "^8.3.0",
+ "mocha": "^9.0.0",
"nyc": "^15.1.0",
- "ts-node": "^9.1.1",
+ "ts-node": "^10.0.0",
"typedoc": "^0.20.30",
- "typescript": "^4.2.3"
+ "typescript": "4.2.4"
},
"dependencies": {
- "@thi.ng/api": "^7.1.4",
- "@thi.ng/arrays": "^0.10.10",
- "@thi.ng/equiv": "^1.0.41",
- "@thi.ng/errors": "^1.3.0",
- "@thi.ng/strings": "^2.1.0",
- "@thi.ng/transducers": "^7.6.10"
+ "@thi.ng/api": "^7.1.5",
+ "@thi.ng/arrays": "^0.10.12",
+ "@thi.ng/equiv": "^1.0.42",
+ "@thi.ng/errors": "^1.3.1",
+ "@thi.ng/strings": "^2.1.1",
+ "@thi.ng/transducers": "^7.7.3"
},
"files": [
"*.js",
diff --git a/packages/fuzzy-viz/CHANGELOG.md b/packages/fuzzy-viz/CHANGELOG.md
index ee6402244d..36d7f2b445 100644
--- a/packages/fuzzy-viz/CHANGELOG.md
+++ b/packages/fuzzy-viz/CHANGELOG.md
@@ -3,55 +3,7 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
-## [0.1.24](https://github.com/thi-ng/umbrella/compare/@thi.ng/fuzzy-viz@0.1.23...@thi.ng/fuzzy-viz@0.1.24) (2021-04-03)
-
-**Note:** Version bump only for package @thi.ng/fuzzy-viz
-
-
-
-
-
-## [0.1.23](https://github.com/thi-ng/umbrella/compare/@thi.ng/fuzzy-viz@0.1.22...@thi.ng/fuzzy-viz@0.1.23) (2021-03-30)
-
-**Note:** Version bump only for package @thi.ng/fuzzy-viz
-
-
-
-
-
-## [0.1.22](https://github.com/thi-ng/umbrella/compare/@thi.ng/fuzzy-viz@0.1.21...@thi.ng/fuzzy-viz@0.1.22) (2021-03-30)
-
-**Note:** Version bump only for package @thi.ng/fuzzy-viz
-
-
-
-
-
-## [0.1.21](https://github.com/thi-ng/umbrella/compare/@thi.ng/fuzzy-viz@0.1.20...@thi.ng/fuzzy-viz@0.1.21) (2021-03-28)
-
-**Note:** Version bump only for package @thi.ng/fuzzy-viz
-
-
-
-
-
-## [0.1.20](https://github.com/thi-ng/umbrella/compare/@thi.ng/fuzzy-viz@0.1.19...@thi.ng/fuzzy-viz@0.1.20) (2021-03-27)
-
-**Note:** Version bump only for package @thi.ng/fuzzy-viz
-
-
-
-
-
-## [0.1.19](https://github.com/thi-ng/umbrella/compare/@thi.ng/fuzzy-viz@0.1.18...@thi.ng/fuzzy-viz@0.1.19) (2021-03-26)
-
-**Note:** Version bump only for package @thi.ng/fuzzy-viz
-
-
-
-
-
-## [0.1.18](https://github.com/thi-ng/umbrella/compare/@thi.ng/fuzzy-viz@0.1.17...@thi.ng/fuzzy-viz@0.1.18) (2021-03-24)
+## [0.1.28](https://github.com/thi-ng/umbrella/compare/@thi.ng/fuzzy-viz@0.1.27...@thi.ng/fuzzy-viz@0.1.28) (2021-06-08)
**Note:** Version bump only for package @thi.ng/fuzzy-viz
@@ -70,30 +22,6 @@ See [Conventional Commits](https://conventionalcommits.org) for commit guideline
-## [0.1.16](https://github.com/thi-ng/umbrella/compare/@thi.ng/fuzzy-viz@0.1.15...@thi.ng/fuzzy-viz@0.1.16) (2021-03-24)
-
-**Note:** Version bump only for package @thi.ng/fuzzy-viz
-
-
-
-
-
-## [0.1.15](https://github.com/thi-ng/umbrella/compare/@thi.ng/fuzzy-viz@0.1.14...@thi.ng/fuzzy-viz@0.1.15) (2021-03-17)
-
-**Note:** Version bump only for package @thi.ng/fuzzy-viz
-
-
-
-
-
-## [0.1.14](https://github.com/thi-ng/umbrella/compare/@thi.ng/fuzzy-viz@0.1.13...@thi.ng/fuzzy-viz@0.1.14) (2021-03-12)
-
-**Note:** Version bump only for package @thi.ng/fuzzy-viz
-
-
-
-
-
# 0.1.0 (2020-12-22)
diff --git a/packages/fuzzy-viz/README.md b/packages/fuzzy-viz/README.md
index 9e300940bc..5868b5937b 100644
--- a/packages/fuzzy-viz/README.md
+++ b/packages/fuzzy-viz/README.md
@@ -43,7 +43,7 @@ yarn add @thi.ng/fuzzy-viz
```
-Package sizes (gzipped, pre-treeshake): ESM: 1.04 KB / CJS: 1.12 KB / UMD: 1.23 KB
+Package sizes (gzipped, pre-treeshake): ESM: 1.04 KB / CJS: 1.12 KB / UMD: 1.22 KB
## Dependencies
diff --git a/packages/fuzzy-viz/package.json b/packages/fuzzy-viz/package.json
index 568f9c549e..4d2c2626ca 100644
--- a/packages/fuzzy-viz/package.json
+++ b/packages/fuzzy-viz/package.json
@@ -1,6 +1,6 @@
{
"name": "@thi.ng/fuzzy-viz",
- "version": "0.1.24",
+ "version": "0.1.28",
"description": "Visualization, instrumentation & introspection utils for @thi.ng/fuzzy",
"module": "./index.js",
"main": "./lib/index.js",
@@ -42,20 +42,20 @@
"@microsoft/api-extractor": "^7.13.1",
"@types/mocha": "^8.2.0",
"@types/node": "^14.14.14",
- "mocha": "^8.3.0",
+ "mocha": "^9.0.0",
"nyc": "^15.1.0",
- "ts-node": "^9.1.1",
+ "ts-node": "^10.0.0",
"typedoc": "^0.20.30",
- "typescript": "^4.2.3"
+ "typescript": "4.2.4"
},
"dependencies": {
- "@thi.ng/api": "^7.1.4",
- "@thi.ng/fuzzy": "^0.1.10",
- "@thi.ng/hiccup": "^3.6.15",
- "@thi.ng/hiccup-svg": "^3.7.20",
- "@thi.ng/math": "^3.4.0",
- "@thi.ng/strings": "^2.1.0",
- "@thi.ng/text-canvas": "^0.7.5"
+ "@thi.ng/api": "^7.1.5",
+ "@thi.ng/fuzzy": "^0.1.12",
+ "@thi.ng/hiccup": "^3.6.16",
+ "@thi.ng/hiccup-svg": "^3.7.24",
+ "@thi.ng/math": "^4.0.1",
+ "@thi.ng/strings": "^2.1.1",
+ "@thi.ng/text-canvas": "^0.7.9"
},
"files": [
"*.js",
diff --git a/packages/fuzzy/CHANGELOG.md b/packages/fuzzy/CHANGELOG.md
index a892670cfb..f4aaa106a9 100644
--- a/packages/fuzzy/CHANGELOG.md
+++ b/packages/fuzzy/CHANGELOG.md
@@ -3,23 +3,7 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
-## [0.1.10](https://github.com/thi-ng/umbrella/compare/@thi.ng/fuzzy@0.1.9...@thi.ng/fuzzy@0.1.10) (2021-04-03)
-
-**Note:** Version bump only for package @thi.ng/fuzzy
-
-
-
-
-
-## [0.1.9](https://github.com/thi-ng/umbrella/compare/@thi.ng/fuzzy@0.1.8...@thi.ng/fuzzy@0.1.9) (2021-03-17)
-
-**Note:** Version bump only for package @thi.ng/fuzzy
-
-
-
-
-
-## [0.1.8](https://github.com/thi-ng/umbrella/compare/@thi.ng/fuzzy@0.1.7...@thi.ng/fuzzy@0.1.8) (2021-03-12)
+## [0.1.12](https://github.com/thi-ng/umbrella/compare/@thi.ng/fuzzy@0.1.11...@thi.ng/fuzzy@0.1.12) (2021-06-08)
**Note:** Version bump only for package @thi.ng/fuzzy
diff --git a/packages/fuzzy/package.json b/packages/fuzzy/package.json
index 740cf2f0c2..d885558063 100644
--- a/packages/fuzzy/package.json
+++ b/packages/fuzzy/package.json
@@ -1,6 +1,6 @@
{
"name": "@thi.ng/fuzzy",
- "version": "0.1.10",
+ "version": "0.1.12",
"description": "Fuzzy logic operators & configurable rule inferencing engine",
"module": "./index.js",
"main": "./lib/index.js",
@@ -42,15 +42,15 @@
"@microsoft/api-extractor": "^7.13.1",
"@types/mocha": "^8.2.0",
"@types/node": "^14.14.14",
- "mocha": "^8.3.0",
+ "mocha": "^9.0.0",
"nyc": "^15.1.0",
- "ts-node": "^9.1.1",
+ "ts-node": "^10.0.0",
"typedoc": "^0.20.30",
- "typescript": "^4.2.3"
+ "typescript": "4.2.4"
},
"dependencies": {
- "@thi.ng/api": "^7.1.4",
- "@thi.ng/math": "^3.4.0"
+ "@thi.ng/api": "^7.1.5",
+ "@thi.ng/math": "^4.0.1"
},
"files": [
"*.js",
diff --git a/packages/geom-accel/CHANGELOG.md b/packages/geom-accel/CHANGELOG.md
index 43b4ae7624..0d2f8297be 100644
--- a/packages/geom-accel/CHANGELOG.md
+++ b/packages/geom-accel/CHANGELOG.md
@@ -3,47 +3,7 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
-## [2.1.46](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-accel@2.1.45...@thi.ng/geom-accel@2.1.46) (2021-04-03)
-
-**Note:** Version bump only for package @thi.ng/geom-accel
-
-
-
-
-
-## [2.1.45](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-accel@2.1.44...@thi.ng/geom-accel@2.1.45) (2021-03-30)
-
-**Note:** Version bump only for package @thi.ng/geom-accel
-
-
-
-
-
-## [2.1.44](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-accel@2.1.43...@thi.ng/geom-accel@2.1.44) (2021-03-28)
-
-**Note:** Version bump only for package @thi.ng/geom-accel
-
-
-
-
-
-## [2.1.43](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-accel@2.1.42...@thi.ng/geom-accel@2.1.43) (2021-03-27)
-
-**Note:** Version bump only for package @thi.ng/geom-accel
-
-
-
-
-
-## [2.1.42](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-accel@2.1.41...@thi.ng/geom-accel@2.1.42) (2021-03-17)
-
-**Note:** Version bump only for package @thi.ng/geom-accel
-
-
-
-
-
-## [2.1.41](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-accel@2.1.40...@thi.ng/geom-accel@2.1.41) (2021-03-12)
+## [2.1.50](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-accel@2.1.49...@thi.ng/geom-accel@2.1.50) (2021-06-08)
**Note:** Version bump only for package @thi.ng/geom-accel
diff --git a/packages/geom-accel/package.json b/packages/geom-accel/package.json
index bb435c2f07..69ad369b8b 100644
--- a/packages/geom-accel/package.json
+++ b/packages/geom-accel/package.json
@@ -1,6 +1,6 @@
{
"name": "@thi.ng/geom-accel",
- "version": "2.1.46",
+ "version": "2.1.50",
"description": "n-D spatial indexing data structures with a shared ES6 Map/Set-like API",
"module": "./index.js",
"main": "./lib/index.js",
@@ -43,23 +43,23 @@
"@microsoft/api-extractor": "^7.13.1",
"@types/mocha": "^8.2.0",
"@types/node": "^14.14.14",
- "mocha": "^8.3.0",
+ "mocha": "^9.0.0",
"nyc": "^15.1.0",
- "ts-node": "^9.1.1",
+ "ts-node": "^10.0.0",
"typedoc": "^0.20.30",
- "typescript": "^4.2.3"
+ "typescript": "4.2.4"
},
"dependencies": {
- "@thi.ng/api": "^7.1.4",
- "@thi.ng/arrays": "^0.10.10",
- "@thi.ng/checks": "^2.9.6",
- "@thi.ng/equiv": "^1.0.41",
- "@thi.ng/geom-api": "^2.0.17",
- "@thi.ng/geom-isec": "^0.7.20",
- "@thi.ng/heaps": "^1.2.38",
- "@thi.ng/math": "^3.4.0",
- "@thi.ng/transducers": "^7.6.10",
- "@thi.ng/vectors": "^5.2.1"
+ "@thi.ng/api": "^7.1.5",
+ "@thi.ng/arrays": "^0.10.12",
+ "@thi.ng/checks": "^2.9.7",
+ "@thi.ng/equiv": "^1.0.42",
+ "@thi.ng/geom-api": "^2.0.21",
+ "@thi.ng/geom-isec": "^0.7.24",
+ "@thi.ng/heaps": "^1.2.39",
+ "@thi.ng/math": "^4.0.1",
+ "@thi.ng/transducers": "^7.7.3",
+ "@thi.ng/vectors": "^6.0.1"
},
"files": [
"*.js",
diff --git a/packages/geom-api/CHANGELOG.md b/packages/geom-api/CHANGELOG.md
index f64fd23c65..4a9af07653 100644
--- a/packages/geom-api/CHANGELOG.md
+++ b/packages/geom-api/CHANGELOG.md
@@ -3,47 +3,7 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
-## [2.0.17](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-api@2.0.16...@thi.ng/geom-api@2.0.17) (2021-04-03)
-
-**Note:** Version bump only for package @thi.ng/geom-api
-
-
-
-
-
-## [2.0.16](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-api@2.0.15...@thi.ng/geom-api@2.0.16) (2021-03-30)
-
-**Note:** Version bump only for package @thi.ng/geom-api
-
-
-
-
-
-## [2.0.15](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-api@2.0.14...@thi.ng/geom-api@2.0.15) (2021-03-28)
-
-**Note:** Version bump only for package @thi.ng/geom-api
-
-
-
-
-
-## [2.0.14](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-api@2.0.13...@thi.ng/geom-api@2.0.14) (2021-03-27)
-
-**Note:** Version bump only for package @thi.ng/geom-api
-
-
-
-
-
-## [2.0.13](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-api@2.0.12...@thi.ng/geom-api@2.0.13) (2021-03-17)
-
-**Note:** Version bump only for package @thi.ng/geom-api
-
-
-
-
-
-## [2.0.12](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-api@2.0.11...@thi.ng/geom-api@2.0.12) (2021-03-12)
+## [2.0.21](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-api@2.0.20...@thi.ng/geom-api@2.0.21) (2021-06-08)
**Note:** Version bump only for package @thi.ng/geom-api
diff --git a/packages/geom-api/package.json b/packages/geom-api/package.json
index eb4b8b92dd..fb9075f2d8 100644
--- a/packages/geom-api/package.json
+++ b/packages/geom-api/package.json
@@ -1,6 +1,6 @@
{
"name": "@thi.ng/geom-api",
- "version": "2.0.17",
+ "version": "2.0.21",
"description": "Shared type & interface declarations for @thi.ng/geom packages",
"module": "./index.js",
"main": "./lib/index.js",
@@ -42,15 +42,15 @@
"@microsoft/api-extractor": "^7.13.1",
"@types/mocha": "^8.2.0",
"@types/node": "^14.14.14",
- "mocha": "^8.3.0",
+ "mocha": "^9.0.0",
"nyc": "^15.1.0",
- "ts-node": "^9.1.1",
+ "ts-node": "^10.0.0",
"typedoc": "^0.20.30",
- "typescript": "^4.2.3"
+ "typescript": "4.2.4"
},
"dependencies": {
- "@thi.ng/api": "^7.1.4",
- "@thi.ng/vectors": "^5.2.1"
+ "@thi.ng/api": "^7.1.5",
+ "@thi.ng/vectors": "^6.0.1"
},
"files": [
"*.js",
diff --git a/packages/geom-arc/CHANGELOG.md b/packages/geom-arc/CHANGELOG.md
index 24a1bbec61..42ec1f6e60 100644
--- a/packages/geom-arc/CHANGELOG.md
+++ b/packages/geom-arc/CHANGELOG.md
@@ -3,47 +3,7 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
-## [0.3.35](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-arc@0.3.34...@thi.ng/geom-arc@0.3.35) (2021-04-03)
-
-**Note:** Version bump only for package @thi.ng/geom-arc
-
-
-
-
-
-## [0.3.34](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-arc@0.3.33...@thi.ng/geom-arc@0.3.34) (2021-03-30)
-
-**Note:** Version bump only for package @thi.ng/geom-arc
-
-
-
-
-
-## [0.3.33](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-arc@0.3.32...@thi.ng/geom-arc@0.3.33) (2021-03-28)
-
-**Note:** Version bump only for package @thi.ng/geom-arc
-
-
-
-
-
-## [0.3.32](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-arc@0.3.31...@thi.ng/geom-arc@0.3.32) (2021-03-27)
-
-**Note:** Version bump only for package @thi.ng/geom-arc
-
-
-
-
-
-## [0.3.31](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-arc@0.3.30...@thi.ng/geom-arc@0.3.31) (2021-03-17)
-
-**Note:** Version bump only for package @thi.ng/geom-arc
-
-
-
-
-
-## [0.3.30](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-arc@0.3.29...@thi.ng/geom-arc@0.3.30) (2021-03-12)
+## [0.3.39](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-arc@0.3.38...@thi.ng/geom-arc@0.3.39) (2021-06-08)
**Note:** Version bump only for package @thi.ng/geom-arc
diff --git a/packages/geom-arc/package.json b/packages/geom-arc/package.json
index dc66dc3f59..c00810bcaf 100644
--- a/packages/geom-arc/package.json
+++ b/packages/geom-arc/package.json
@@ -1,6 +1,6 @@
{
"name": "@thi.ng/geom-arc",
- "version": "0.3.35",
+ "version": "0.3.39",
"description": "2D circular / elliptic arc operations",
"module": "./index.js",
"main": "./lib/index.js",
@@ -42,18 +42,18 @@
"@microsoft/api-extractor": "^7.13.1",
"@types/mocha": "^8.2.0",
"@types/node": "^14.14.14",
- "mocha": "^8.3.0",
+ "mocha": "^9.0.0",
"nyc": "^15.1.0",
- "ts-node": "^9.1.1",
+ "ts-node": "^10.0.0",
"typedoc": "^0.20.30",
- "typescript": "^4.2.3"
+ "typescript": "4.2.4"
},
"dependencies": {
- "@thi.ng/checks": "^2.9.6",
- "@thi.ng/geom-api": "^2.0.17",
- "@thi.ng/geom-resample": "^0.2.68",
- "@thi.ng/math": "^3.4.0",
- "@thi.ng/vectors": "^5.2.1"
+ "@thi.ng/checks": "^2.9.7",
+ "@thi.ng/geom-api": "^2.0.21",
+ "@thi.ng/geom-resample": "^0.2.72",
+ "@thi.ng/math": "^4.0.1",
+ "@thi.ng/vectors": "^6.0.1"
},
"files": [
"*.js",
diff --git a/packages/geom-clip-line/CHANGELOG.md b/packages/geom-clip-line/CHANGELOG.md
index 6e65ede981..6f1a8355de 100644
--- a/packages/geom-clip-line/CHANGELOG.md
+++ b/packages/geom-clip-line/CHANGELOG.md
@@ -3,47 +3,7 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
-## [1.2.31](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-clip-line@1.2.30...@thi.ng/geom-clip-line@1.2.31) (2021-04-03)
-
-**Note:** Version bump only for package @thi.ng/geom-clip-line
-
-
-
-
-
-## [1.2.30](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-clip-line@1.2.29...@thi.ng/geom-clip-line@1.2.30) (2021-03-30)
-
-**Note:** Version bump only for package @thi.ng/geom-clip-line
-
-
-
-
-
-## [1.2.29](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-clip-line@1.2.28...@thi.ng/geom-clip-line@1.2.29) (2021-03-28)
-
-**Note:** Version bump only for package @thi.ng/geom-clip-line
-
-
-
-
-
-## [1.2.28](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-clip-line@1.2.27...@thi.ng/geom-clip-line@1.2.28) (2021-03-27)
-
-**Note:** Version bump only for package @thi.ng/geom-clip-line
-
-
-
-
-
-## [1.2.27](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-clip-line@1.2.26...@thi.ng/geom-clip-line@1.2.27) (2021-03-17)
-
-**Note:** Version bump only for package @thi.ng/geom-clip-line
-
-
-
-
-
-## [1.2.26](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-clip-line@1.2.25...@thi.ng/geom-clip-line@1.2.26) (2021-03-12)
+## [1.2.35](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-clip-line@1.2.34...@thi.ng/geom-clip-line@1.2.35) (2021-06-08)
**Note:** Version bump only for package @thi.ng/geom-clip-line
diff --git a/packages/geom-clip-line/package.json b/packages/geom-clip-line/package.json
index 3af9afee85..d21713c88c 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.2.31",
+ "version": "1.2.35",
"description": "2D line clipping (Liang-Barsky)",
"module": "./index.js",
"main": "./lib/index.js",
@@ -42,16 +42,16 @@
"@microsoft/api-extractor": "^7.13.1",
"@types/mocha": "^8.2.0",
"@types/node": "^14.14.14",
- "mocha": "^8.3.0",
+ "mocha": "^9.0.0",
"nyc": "^15.1.0",
- "ts-node": "^9.1.1",
+ "ts-node": "^10.0.0",
"typedoc": "^0.20.30",
- "typescript": "^4.2.3"
+ "typescript": "4.2.4"
},
"dependencies": {
- "@thi.ng/api": "^7.1.4",
- "@thi.ng/geom-isec": "^0.7.20",
- "@thi.ng/vectors": "^5.2.1"
+ "@thi.ng/api": "^7.1.5",
+ "@thi.ng/geom-isec": "^0.7.24",
+ "@thi.ng/vectors": "^6.0.1"
},
"files": [
"*.js",
diff --git a/packages/geom-clip-poly/CHANGELOG.md b/packages/geom-clip-poly/CHANGELOG.md
index c8e61e06f9..074d04c20a 100644
--- a/packages/geom-clip-poly/CHANGELOG.md
+++ b/packages/geom-clip-poly/CHANGELOG.md
@@ -3,47 +3,7 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
-## [1.0.56](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-clip-poly@1.0.55...@thi.ng/geom-clip-poly@1.0.56) (2021-04-03)
-
-**Note:** Version bump only for package @thi.ng/geom-clip-poly
-
-
-
-
-
-## [1.0.55](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-clip-poly@1.0.54...@thi.ng/geom-clip-poly@1.0.55) (2021-03-30)
-
-**Note:** Version bump only for package @thi.ng/geom-clip-poly
-
-
-
-
-
-## [1.0.54](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-clip-poly@1.0.53...@thi.ng/geom-clip-poly@1.0.54) (2021-03-28)
-
-**Note:** Version bump only for package @thi.ng/geom-clip-poly
-
-
-
-
-
-## [1.0.53](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-clip-poly@1.0.52...@thi.ng/geom-clip-poly@1.0.53) (2021-03-27)
-
-**Note:** Version bump only for package @thi.ng/geom-clip-poly
-
-
-
-
-
-## [1.0.52](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-clip-poly@1.0.51...@thi.ng/geom-clip-poly@1.0.52) (2021-03-17)
-
-**Note:** Version bump only for package @thi.ng/geom-clip-poly
-
-
-
-
-
-## [1.0.51](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-clip-poly@1.0.50...@thi.ng/geom-clip-poly@1.0.51) (2021-03-12)
+## [1.0.60](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-clip-poly@1.0.59...@thi.ng/geom-clip-poly@1.0.60) (2021-06-08)
**Note:** Version bump only for package @thi.ng/geom-clip-poly
diff --git a/packages/geom-clip-poly/package.json b/packages/geom-clip-poly/package.json
index 9fbc6069ab..40c9b0bc4b 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.56",
+ "version": "1.0.60",
"description": "2D convex polygon clipping (Sutherland-Hodgeman)",
"module": "./index.js",
"main": "./lib/index.js",
@@ -42,17 +42,17 @@
"@microsoft/api-extractor": "^7.13.1",
"@types/mocha": "^8.2.0",
"@types/node": "^14.14.14",
- "mocha": "^8.3.0",
+ "mocha": "^9.0.0",
"nyc": "^15.1.0",
- "ts-node": "^9.1.1",
+ "ts-node": "^10.0.0",
"typedoc": "^0.20.30",
- "typescript": "^4.2.3"
+ "typescript": "4.2.4"
},
"dependencies": {
- "@thi.ng/geom-isec": "^0.7.20",
- "@thi.ng/geom-poly-utils": "^0.3.17",
- "@thi.ng/math": "^3.4.0",
- "@thi.ng/vectors": "^5.2.1"
+ "@thi.ng/geom-isec": "^0.7.24",
+ "@thi.ng/geom-poly-utils": "^0.3.21",
+ "@thi.ng/math": "^4.0.1",
+ "@thi.ng/vectors": "^6.0.1"
},
"files": [
"*.js",
diff --git a/packages/geom-closest-point/CHANGELOG.md b/packages/geom-closest-point/CHANGELOG.md
index d659188e75..02a8054ba5 100644
--- a/packages/geom-closest-point/CHANGELOG.md
+++ b/packages/geom-closest-point/CHANGELOG.md
@@ -3,47 +3,7 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
-## [0.5.22](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-closest-point@0.5.21...@thi.ng/geom-closest-point@0.5.22) (2021-04-03)
-
-**Note:** Version bump only for package @thi.ng/geom-closest-point
-
-
-
-
-
-## [0.5.21](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-closest-point@0.5.20...@thi.ng/geom-closest-point@0.5.21) (2021-03-30)
-
-**Note:** Version bump only for package @thi.ng/geom-closest-point
-
-
-
-
-
-## [0.5.20](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-closest-point@0.5.19...@thi.ng/geom-closest-point@0.5.20) (2021-03-28)
-
-**Note:** Version bump only for package @thi.ng/geom-closest-point
-
-
-
-
-
-## [0.5.19](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-closest-point@0.5.18...@thi.ng/geom-closest-point@0.5.19) (2021-03-27)
-
-**Note:** Version bump only for package @thi.ng/geom-closest-point
-
-
-
-
-
-## [0.5.18](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-closest-point@0.5.17...@thi.ng/geom-closest-point@0.5.18) (2021-03-17)
-
-**Note:** Version bump only for package @thi.ng/geom-closest-point
-
-
-
-
-
-## [0.5.17](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-closest-point@0.5.16...@thi.ng/geom-closest-point@0.5.17) (2021-03-12)
+## [0.5.26](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-closest-point@0.5.25...@thi.ng/geom-closest-point@0.5.26) (2021-06-08)
**Note:** Version bump only for package @thi.ng/geom-closest-point
diff --git a/packages/geom-closest-point/package.json b/packages/geom-closest-point/package.json
index 2b4cb36b7c..857cec6217 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.5.22",
+ "version": "0.5.26",
"description": "2D / 3D closest point / proximity helpers",
"module": "./index.js",
"main": "./lib/index.js",
@@ -42,16 +42,16 @@
"@microsoft/api-extractor": "^7.13.1",
"@types/mocha": "^8.2.0",
"@types/node": "^14.14.14",
- "mocha": "^8.3.0",
+ "mocha": "^9.0.0",
"nyc": "^15.1.0",
- "ts-node": "^9.1.1",
+ "ts-node": "^10.0.0",
"typedoc": "^0.20.30",
- "typescript": "^4.2.3"
+ "typescript": "4.2.4"
},
"dependencies": {
- "@thi.ng/api": "^7.1.4",
- "@thi.ng/math": "^3.4.0",
- "@thi.ng/vectors": "^5.2.1"
+ "@thi.ng/api": "^7.1.5",
+ "@thi.ng/math": "^4.0.1",
+ "@thi.ng/vectors": "^6.0.1"
},
"files": [
"*.js",
diff --git a/packages/geom-fuzz/CHANGELOG.md b/packages/geom-fuzz/CHANGELOG.md
index 56aa122dbf..e5153a9555 100644
--- a/packages/geom-fuzz/CHANGELOG.md
+++ b/packages/geom-fuzz/CHANGELOG.md
@@ -3,63 +3,7 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
-## [0.1.47](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-fuzz@0.1.46...@thi.ng/geom-fuzz@0.1.47) (2021-04-03)
-
-**Note:** Version bump only for package @thi.ng/geom-fuzz
-
-
-
-
-
-## [0.1.46](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-fuzz@0.1.45...@thi.ng/geom-fuzz@0.1.46) (2021-03-30)
-
-**Note:** Version bump only for package @thi.ng/geom-fuzz
-
-
-
-
-
-## [0.1.45](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-fuzz@0.1.44...@thi.ng/geom-fuzz@0.1.45) (2021-03-28)
-
-**Note:** Version bump only for package @thi.ng/geom-fuzz
-
-
-
-
-
-## [0.1.44](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-fuzz@0.1.43...@thi.ng/geom-fuzz@0.1.44) (2021-03-27)
-
-**Note:** Version bump only for package @thi.ng/geom-fuzz
-
-
-
-
-
-## [0.1.43](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-fuzz@0.1.42...@thi.ng/geom-fuzz@0.1.43) (2021-03-24)
-
-**Note:** Version bump only for package @thi.ng/geom-fuzz
-
-
-
-
-
-## [0.1.42](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-fuzz@0.1.41...@thi.ng/geom-fuzz@0.1.42) (2021-03-24)
-
-**Note:** Version bump only for package @thi.ng/geom-fuzz
-
-
-
-
-
-## [0.1.41](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-fuzz@0.1.40...@thi.ng/geom-fuzz@0.1.41) (2021-03-17)
-
-**Note:** Version bump only for package @thi.ng/geom-fuzz
-
-
-
-
-
-## [0.1.40](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-fuzz@0.1.39...@thi.ng/geom-fuzz@0.1.40) (2021-03-12)
+## [0.1.51](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-fuzz@0.1.50...@thi.ng/geom-fuzz@0.1.51) (2021-06-08)
**Note:** Version bump only for package @thi.ng/geom-fuzz
diff --git a/packages/geom-fuzz/package.json b/packages/geom-fuzz/package.json
index 93dc8f4952..67ba610230 100644
--- a/packages/geom-fuzz/package.json
+++ b/packages/geom-fuzz/package.json
@@ -1,6 +1,6 @@
{
"name": "@thi.ng/geom-fuzz",
- "version": "0.1.47",
+ "version": "0.1.51",
"description": "Highly configurable, fuzzy line & polygon creation with presets and composable fill & stroke styles. Canvas & SVG support",
"module": "./index.js",
"main": "./lib/index.js",
@@ -41,23 +41,23 @@
"@microsoft/api-extractor": "^7.13.1",
"@types/mocha": "^8.2.0",
"@types/node": "^14.14.14",
- "mocha": "^8.3.0",
+ "mocha": "^9.0.0",
"nyc": "^15.1.0",
- "ts-node": "^9.1.1",
+ "ts-node": "^10.0.0",
"typedoc": "^0.20.30",
- "typescript": "^4.2.3"
+ "typescript": "4.2.4"
},
"dependencies": {
- "@thi.ng/api": "^7.1.4",
- "@thi.ng/associative": "^5.2.1",
- "@thi.ng/color": "^3.1.12",
- "@thi.ng/geom": "^2.1.14",
- "@thi.ng/geom-api": "^2.0.17",
- "@thi.ng/geom-clip-line": "^1.2.31",
- "@thi.ng/geom-resample": "^0.2.68",
- "@thi.ng/grid-iterators": "^0.4.32",
- "@thi.ng/transducers": "^7.6.10",
- "@thi.ng/vectors": "^5.2.1"
+ "@thi.ng/api": "^7.1.5",
+ "@thi.ng/associative": "^5.2.5",
+ "@thi.ng/color": "^3.1.16",
+ "@thi.ng/geom": "^2.1.18",
+ "@thi.ng/geom-api": "^2.0.21",
+ "@thi.ng/geom-clip-line": "^1.2.35",
+ "@thi.ng/geom-resample": "^0.2.72",
+ "@thi.ng/grid-iterators": "^0.4.36",
+ "@thi.ng/transducers": "^7.7.3",
+ "@thi.ng/vectors": "^6.0.1"
},
"files": [
"*.js",
diff --git a/packages/geom-hull/CHANGELOG.md b/packages/geom-hull/CHANGELOG.md
index c3ac3f0b1a..bcb0d10b54 100644
--- a/packages/geom-hull/CHANGELOG.md
+++ b/packages/geom-hull/CHANGELOG.md
@@ -3,47 +3,7 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
-## [0.0.88](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-hull@0.0.87...@thi.ng/geom-hull@0.0.88) (2021-04-03)
-
-**Note:** Version bump only for package @thi.ng/geom-hull
-
-
-
-
-
-## [0.0.87](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-hull@0.0.86...@thi.ng/geom-hull@0.0.87) (2021-03-30)
-
-**Note:** Version bump only for package @thi.ng/geom-hull
-
-
-
-
-
-## [0.0.86](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-hull@0.0.85...@thi.ng/geom-hull@0.0.86) (2021-03-28)
-
-**Note:** Version bump only for package @thi.ng/geom-hull
-
-
-
-
-
-## [0.0.85](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-hull@0.0.84...@thi.ng/geom-hull@0.0.85) (2021-03-27)
-
-**Note:** Version bump only for package @thi.ng/geom-hull
-
-
-
-
-
-## [0.0.84](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-hull@0.0.83...@thi.ng/geom-hull@0.0.84) (2021-03-17)
-
-**Note:** Version bump only for package @thi.ng/geom-hull
-
-
-
-
-
-## [0.0.83](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-hull@0.0.82...@thi.ng/geom-hull@0.0.83) (2021-03-12)
+## [0.0.92](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-hull@0.0.91...@thi.ng/geom-hull@0.0.92) (2021-06-08)
**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 7dac45e142..6342a92873 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.88",
+ "version": "0.0.92",
"description": "Fast 2D convex hull (Graham Scan)",
"module": "./index.js",
"main": "./lib/index.js",
@@ -42,15 +42,15 @@
"@microsoft/api-extractor": "^7.13.1",
"@types/mocha": "^8.2.0",
"@types/node": "^14.14.14",
- "mocha": "^8.3.0",
+ "mocha": "^9.0.0",
"nyc": "^15.1.0",
- "ts-node": "^9.1.1",
+ "ts-node": "^10.0.0",
"typedoc": "^0.20.30",
- "typescript": "^4.2.3"
+ "typescript": "4.2.4"
},
"dependencies": {
- "@thi.ng/math": "^3.4.0",
- "@thi.ng/vectors": "^5.2.1"
+ "@thi.ng/math": "^4.0.1",
+ "@thi.ng/vectors": "^6.0.1"
},
"files": [
"*.js",
diff --git a/packages/geom-io-obj/CHANGELOG.md b/packages/geom-io-obj/CHANGELOG.md
index 2ba8b19d48..8914d37ebe 100644
--- a/packages/geom-io-obj/CHANGELOG.md
+++ b/packages/geom-io-obj/CHANGELOG.md
@@ -3,47 +3,7 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
-## [0.1.46](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-io-obj@0.1.45...@thi.ng/geom-io-obj@0.1.46) (2021-04-03)
-
-**Note:** Version bump only for package @thi.ng/geom-io-obj
-
-
-
-
-
-## [0.1.45](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-io-obj@0.1.44...@thi.ng/geom-io-obj@0.1.45) (2021-03-30)
-
-**Note:** Version bump only for package @thi.ng/geom-io-obj
-
-
-
-
-
-## [0.1.44](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-io-obj@0.1.43...@thi.ng/geom-io-obj@0.1.44) (2021-03-28)
-
-**Note:** Version bump only for package @thi.ng/geom-io-obj
-
-
-
-
-
-## [0.1.43](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-io-obj@0.1.42...@thi.ng/geom-io-obj@0.1.43) (2021-03-27)
-
-**Note:** Version bump only for package @thi.ng/geom-io-obj
-
-
-
-
-
-## [0.1.42](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-io-obj@0.1.41...@thi.ng/geom-io-obj@0.1.42) (2021-03-17)
-
-**Note:** Version bump only for package @thi.ng/geom-io-obj
-
-
-
-
-
-## [0.1.41](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-io-obj@0.1.40...@thi.ng/geom-io-obj@0.1.41) (2021-03-12)
+## [0.1.50](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-io-obj@0.1.49...@thi.ng/geom-io-obj@0.1.50) (2021-06-08)
**Note:** Version bump only for package @thi.ng/geom-io-obj
diff --git a/packages/geom-io-obj/package.json b/packages/geom-io-obj/package.json
index bb7843f4f5..8d9aa93c63 100644
--- a/packages/geom-io-obj/package.json
+++ b/packages/geom-io-obj/package.json
@@ -1,6 +1,6 @@
{
"name": "@thi.ng/geom-io-obj",
- "version": "0.1.46",
+ "version": "0.1.50",
"description": "Wavefront OBJ parser (& exporter soon)",
"module": "./index.js",
"main": "./lib/index.js",
@@ -42,15 +42,15 @@
"@microsoft/api-extractor": "^7.13.1",
"@types/mocha": "^8.2.0",
"@types/node": "^14.14.14",
- "mocha": "^8.3.0",
+ "mocha": "^9.0.0",
"nyc": "^15.1.0",
- "ts-node": "^9.1.1",
+ "ts-node": "^10.0.0",
"typedoc": "^0.20.30",
- "typescript": "^4.2.3"
+ "typescript": "4.2.4"
},
"dependencies": {
- "@thi.ng/api": "^7.1.4",
- "@thi.ng/vectors": "^5.2.1"
+ "@thi.ng/api": "^7.1.5",
+ "@thi.ng/vectors": "^6.0.1"
},
"files": [
"*.js",
diff --git a/packages/geom-isec/CHANGELOG.md b/packages/geom-isec/CHANGELOG.md
index 9982717b90..03078d4bf3 100644
--- a/packages/geom-isec/CHANGELOG.md
+++ b/packages/geom-isec/CHANGELOG.md
@@ -3,47 +3,7 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
-## [0.7.20](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-isec@0.7.19...@thi.ng/geom-isec@0.7.20) (2021-04-03)
-
-**Note:** Version bump only for package @thi.ng/geom-isec
-
-
-
-
-
-## [0.7.19](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-isec@0.7.18...@thi.ng/geom-isec@0.7.19) (2021-03-30)
-
-**Note:** Version bump only for package @thi.ng/geom-isec
-
-
-
-
-
-## [0.7.18](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-isec@0.7.17...@thi.ng/geom-isec@0.7.18) (2021-03-28)
-
-**Note:** Version bump only for package @thi.ng/geom-isec
-
-
-
-
-
-## [0.7.17](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-isec@0.7.16...@thi.ng/geom-isec@0.7.17) (2021-03-27)
-
-**Note:** Version bump only for package @thi.ng/geom-isec
-
-
-
-
-
-## [0.7.16](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-isec@0.7.15...@thi.ng/geom-isec@0.7.16) (2021-03-17)
-
-**Note:** Version bump only for package @thi.ng/geom-isec
-
-
-
-
-
-## [0.7.15](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-isec@0.7.14...@thi.ng/geom-isec@0.7.15) (2021-03-12)
+## [0.7.24](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-isec@0.7.23...@thi.ng/geom-isec@0.7.24) (2021-06-08)
**Note:** Version bump only for package @thi.ng/geom-isec
diff --git a/packages/geom-isec/package.json b/packages/geom-isec/package.json
index 10a8024d71..c014609c7c 100644
--- a/packages/geom-isec/package.json
+++ b/packages/geom-isec/package.json
@@ -1,6 +1,6 @@
{
"name": "@thi.ng/geom-isec",
- "version": "0.7.20",
+ "version": "0.7.24",
"description": "2D/3D shape intersection checks",
"module": "./index.js",
"main": "./lib/index.js",
@@ -42,18 +42,18 @@
"@microsoft/api-extractor": "^7.13.1",
"@types/mocha": "^8.2.0",
"@types/node": "^14.14.14",
- "mocha": "^8.3.0",
+ "mocha": "^9.0.0",
"nyc": "^15.1.0",
- "ts-node": "^9.1.1",
+ "ts-node": "^10.0.0",
"typedoc": "^0.20.30",
- "typescript": "^4.2.3"
+ "typescript": "4.2.4"
},
"dependencies": {
- "@thi.ng/api": "^7.1.4",
- "@thi.ng/geom-api": "^2.0.17",
- "@thi.ng/geom-closest-point": "^0.5.22",
- "@thi.ng/math": "^3.4.0",
- "@thi.ng/vectors": "^5.2.1"
+ "@thi.ng/api": "^7.1.5",
+ "@thi.ng/geom-api": "^2.0.21",
+ "@thi.ng/geom-closest-point": "^0.5.26",
+ "@thi.ng/math": "^4.0.1",
+ "@thi.ng/vectors": "^6.0.1"
},
"files": [
"*.js",
diff --git a/packages/geom-isoline/CHANGELOG.md b/packages/geom-isoline/CHANGELOG.md
index 9037172b42..d1fedc60ed 100644
--- a/packages/geom-isoline/CHANGELOG.md
+++ b/packages/geom-isoline/CHANGELOG.md
@@ -3,47 +3,7 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
-## [0.1.86](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-isoline@0.1.85...@thi.ng/geom-isoline@0.1.86) (2021-04-03)
-
-**Note:** Version bump only for package @thi.ng/geom-isoline
-
-
-
-
-
-## [0.1.85](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-isoline@0.1.84...@thi.ng/geom-isoline@0.1.85) (2021-03-30)
-
-**Note:** Version bump only for package @thi.ng/geom-isoline
-
-
-
-
-
-## [0.1.84](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-isoline@0.1.83...@thi.ng/geom-isoline@0.1.84) (2021-03-28)
-
-**Note:** Version bump only for package @thi.ng/geom-isoline
-
-
-
-
-
-## [0.1.83](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-isoline@0.1.82...@thi.ng/geom-isoline@0.1.83) (2021-03-27)
-
-**Note:** Version bump only for package @thi.ng/geom-isoline
-
-
-
-
-
-## [0.1.82](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-isoline@0.1.81...@thi.ng/geom-isoline@0.1.82) (2021-03-17)
-
-**Note:** Version bump only for package @thi.ng/geom-isoline
-
-
-
-
-
-## [0.1.81](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-isoline@0.1.80...@thi.ng/geom-isoline@0.1.81) (2021-03-12)
+## [0.1.90](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-isoline@0.1.89...@thi.ng/geom-isoline@0.1.90) (2021-06-08)
**Note:** Version bump only for package @thi.ng/geom-isoline
diff --git a/packages/geom-isoline/package.json b/packages/geom-isoline/package.json
index 1e4e7334c8..f6ab82a3c5 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.86",
+ "version": "0.1.90",
"description": "Fast 2D contour line extraction / generation",
"module": "./index.js",
"main": "./lib/index.js",
@@ -42,16 +42,16 @@
"@microsoft/api-extractor": "^7.13.1",
"@types/mocha": "^8.2.0",
"@types/node": "^14.14.14",
- "mocha": "^8.3.0",
+ "mocha": "^9.0.0",
"nyc": "^15.1.0",
- "ts-node": "^9.1.1",
+ "ts-node": "^10.0.0",
"typedoc": "^0.20.30",
- "typescript": "^4.2.3"
+ "typescript": "4.2.4"
},
"dependencies": {
- "@thi.ng/api": "^7.1.4",
- "@thi.ng/transducers": "^7.6.10",
- "@thi.ng/vectors": "^5.2.1"
+ "@thi.ng/api": "^7.1.5",
+ "@thi.ng/transducers": "^7.7.3",
+ "@thi.ng/vectors": "^6.0.1"
},
"files": [
"*.js",
diff --git a/packages/geom-poly-utils/CHANGELOG.md b/packages/geom-poly-utils/CHANGELOG.md
index 8ef904dff9..9b0403a4b6 100644
--- a/packages/geom-poly-utils/CHANGELOG.md
+++ b/packages/geom-poly-utils/CHANGELOG.md
@@ -3,47 +3,7 @@
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-poly-utils@0.3.16...@thi.ng/geom-poly-utils@0.3.17) (2021-04-03)
-
-**Note:** Version bump only for package @thi.ng/geom-poly-utils
-
-
-
-
-
-## [0.3.16](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-poly-utils@0.3.15...@thi.ng/geom-poly-utils@0.3.16) (2021-03-30)
-
-**Note:** Version bump only for package @thi.ng/geom-poly-utils
-
-
-
-
-
-## [0.3.15](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-poly-utils@0.3.14...@thi.ng/geom-poly-utils@0.3.15) (2021-03-28)
-
-**Note:** Version bump only for package @thi.ng/geom-poly-utils
-
-
-
-
-
-## [0.3.14](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-poly-utils@0.3.13...@thi.ng/geom-poly-utils@0.3.14) (2021-03-27)
-
-**Note:** Version bump only for package @thi.ng/geom-poly-utils
-
-
-
-
-
-## [0.3.13](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-poly-utils@0.3.12...@thi.ng/geom-poly-utils@0.3.13) (2021-03-17)
-
-**Note:** Version bump only for package @thi.ng/geom-poly-utils
-
-
-
-
-
-## [0.3.12](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-poly-utils@0.3.11...@thi.ng/geom-poly-utils@0.3.12) (2021-03-12)
+## [0.3.21](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-poly-utils@0.3.20...@thi.ng/geom-poly-utils@0.3.21) (2021-06-08)
**Note:** Version bump only for package @thi.ng/geom-poly-utils
diff --git a/packages/geom-poly-utils/package.json b/packages/geom-poly-utils/package.json
index 95084f96ab..40a1c20d21 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.3.17",
+ "version": "0.3.21",
"description": "2D polygon/polyline analysis & processing utilities",
"module": "./index.js",
"main": "./lib/index.js",
@@ -42,18 +42,18 @@
"@microsoft/api-extractor": "^7.13.1",
"@types/mocha": "^8.2.0",
"@types/node": "^14.14.14",
- "mocha": "^8.3.0",
+ "mocha": "^9.0.0",
"nyc": "^15.1.0",
- "ts-node": "^9.1.1",
+ "ts-node": "^10.0.0",
"typedoc": "^0.20.30",
- "typescript": "^4.2.3"
+ "typescript": "4.2.4"
},
"dependencies": {
- "@thi.ng/api": "^7.1.4",
- "@thi.ng/errors": "^1.3.0",
- "@thi.ng/geom-api": "^2.0.17",
- "@thi.ng/math": "^3.4.0",
- "@thi.ng/vectors": "^5.2.1"
+ "@thi.ng/api": "^7.1.5",
+ "@thi.ng/errors": "^1.3.1",
+ "@thi.ng/geom-api": "^2.0.21",
+ "@thi.ng/math": "^4.0.1",
+ "@thi.ng/vectors": "^6.0.1"
},
"files": [
"*.js",
diff --git a/packages/geom-resample/CHANGELOG.md b/packages/geom-resample/CHANGELOG.md
index d1ae49483b..0f0d08b496 100644
--- a/packages/geom-resample/CHANGELOG.md
+++ b/packages/geom-resample/CHANGELOG.md
@@ -3,47 +3,7 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
-## [0.2.68](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-resample@0.2.67...@thi.ng/geom-resample@0.2.68) (2021-04-03)
-
-**Note:** Version bump only for package @thi.ng/geom-resample
-
-
-
-
-
-## [0.2.67](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-resample@0.2.66...@thi.ng/geom-resample@0.2.67) (2021-03-30)
-
-**Note:** Version bump only for package @thi.ng/geom-resample
-
-
-
-
-
-## [0.2.66](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-resample@0.2.65...@thi.ng/geom-resample@0.2.66) (2021-03-28)
-
-**Note:** Version bump only for package @thi.ng/geom-resample
-
-
-
-
-
-## [0.2.65](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-resample@0.2.64...@thi.ng/geom-resample@0.2.65) (2021-03-27)
-
-**Note:** Version bump only for package @thi.ng/geom-resample
-
-
-
-
-
-## [0.2.64](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-resample@0.2.63...@thi.ng/geom-resample@0.2.64) (2021-03-17)
-
-**Note:** Version bump only for package @thi.ng/geom-resample
-
-
-
-
-
-## [0.2.63](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-resample@0.2.62...@thi.ng/geom-resample@0.2.63) (2021-03-12)
+## [0.2.72](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-resample@0.2.71...@thi.ng/geom-resample@0.2.72) (2021-06-08)
**Note:** Version bump only for package @thi.ng/geom-resample
diff --git a/packages/geom-resample/package.json b/packages/geom-resample/package.json
index f6d73e414c..f0a58cdadd 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.68",
+ "version": "0.2.72",
"description": "Customizable nD polyline interpolation, re-sampling, splitting & nearest point computation",
"module": "./index.js",
"main": "./lib/index.js",
@@ -42,18 +42,18 @@
"@microsoft/api-extractor": "^7.13.1",
"@types/mocha": "^8.2.0",
"@types/node": "^14.14.14",
- "mocha": "^8.3.0",
+ "mocha": "^9.0.0",
"nyc": "^15.1.0",
- "ts-node": "^9.1.1",
+ "ts-node": "^10.0.0",
"typedoc": "^0.20.30",
- "typescript": "^4.2.3"
+ "typescript": "4.2.4"
},
"dependencies": {
- "@thi.ng/checks": "^2.9.6",
- "@thi.ng/geom-api": "^2.0.17",
- "@thi.ng/geom-closest-point": "^0.5.22",
- "@thi.ng/math": "^3.4.0",
- "@thi.ng/vectors": "^5.2.1"
+ "@thi.ng/checks": "^2.9.7",
+ "@thi.ng/geom-api": "^2.0.21",
+ "@thi.ng/geom-closest-point": "^0.5.26",
+ "@thi.ng/math": "^4.0.1",
+ "@thi.ng/vectors": "^6.0.1"
},
"files": [
"*.js",
diff --git a/packages/geom-splines/CHANGELOG.md b/packages/geom-splines/CHANGELOG.md
index 63ec430451..442d8df4f8 100644
--- a/packages/geom-splines/CHANGELOG.md
+++ b/packages/geom-splines/CHANGELOG.md
@@ -3,47 +3,7 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
-## [0.5.55](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-splines@0.5.54...@thi.ng/geom-splines@0.5.55) (2021-04-03)
-
-**Note:** Version bump only for package @thi.ng/geom-splines
-
-
-
-
-
-## [0.5.54](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-splines@0.5.53...@thi.ng/geom-splines@0.5.54) (2021-03-30)
-
-**Note:** Version bump only for package @thi.ng/geom-splines
-
-
-
-
-
-## [0.5.53](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-splines@0.5.52...@thi.ng/geom-splines@0.5.53) (2021-03-28)
-
-**Note:** Version bump only for package @thi.ng/geom-splines
-
-
-
-
-
-## [0.5.52](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-splines@0.5.51...@thi.ng/geom-splines@0.5.52) (2021-03-27)
-
-**Note:** Version bump only for package @thi.ng/geom-splines
-
-
-
-
-
-## [0.5.51](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-splines@0.5.50...@thi.ng/geom-splines@0.5.51) (2021-03-17)
-
-**Note:** Version bump only for package @thi.ng/geom-splines
-
-
-
-
-
-## [0.5.50](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-splines@0.5.49...@thi.ng/geom-splines@0.5.50) (2021-03-12)
+## [0.5.59](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-splines@0.5.58...@thi.ng/geom-splines@0.5.59) (2021-06-08)
**Note:** Version bump only for package @thi.ng/geom-splines
diff --git a/packages/geom-splines/package.json b/packages/geom-splines/package.json
index 74882c8e64..af4c0dbb9e 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.55",
+ "version": "0.5.59",
"description": "nD cubic & quadratic curve analysis, conversion, interpolation, splitting",
"module": "./index.js",
"main": "./lib/index.js",
@@ -42,20 +42,20 @@
"@microsoft/api-extractor": "^7.13.1",
"@types/mocha": "^8.2.0",
"@types/node": "^14.14.14",
- "mocha": "^8.3.0",
+ "mocha": "^9.0.0",
"nyc": "^15.1.0",
- "ts-node": "^9.1.1",
+ "ts-node": "^10.0.0",
"typedoc": "^0.20.30",
- "typescript": "^4.2.3"
+ "typescript": "4.2.4"
},
"dependencies": {
- "@thi.ng/api": "^7.1.4",
- "@thi.ng/checks": "^2.9.6",
- "@thi.ng/geom-api": "^2.0.17",
- "@thi.ng/geom-arc": "^0.3.35",
- "@thi.ng/geom-resample": "^0.2.68",
- "@thi.ng/math": "^3.4.0",
- "@thi.ng/vectors": "^5.2.1"
+ "@thi.ng/api": "^7.1.5",
+ "@thi.ng/checks": "^2.9.7",
+ "@thi.ng/geom-api": "^2.0.21",
+ "@thi.ng/geom-arc": "^0.3.39",
+ "@thi.ng/geom-resample": "^0.2.72",
+ "@thi.ng/math": "^4.0.1",
+ "@thi.ng/vectors": "^6.0.1"
},
"files": [
"*.js",
diff --git a/packages/geom-subdiv-curve/CHANGELOG.md b/packages/geom-subdiv-curve/CHANGELOG.md
index b88cdcb10f..b541f6ac37 100644
--- a/packages/geom-subdiv-curve/CHANGELOG.md
+++ b/packages/geom-subdiv-curve/CHANGELOG.md
@@ -3,47 +3,7 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
-## [0.1.86](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-subdiv-curve@0.1.85...@thi.ng/geom-subdiv-curve@0.1.86) (2021-04-03)
-
-**Note:** Version bump only for package @thi.ng/geom-subdiv-curve
-
-
-
-
-
-## [0.1.85](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-subdiv-curve@0.1.84...@thi.ng/geom-subdiv-curve@0.1.85) (2021-03-30)
-
-**Note:** Version bump only for package @thi.ng/geom-subdiv-curve
-
-
-
-
-
-## [0.1.84](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-subdiv-curve@0.1.83...@thi.ng/geom-subdiv-curve@0.1.84) (2021-03-28)
-
-**Note:** Version bump only for package @thi.ng/geom-subdiv-curve
-
-
-
-
-
-## [0.1.83](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-subdiv-curve@0.1.82...@thi.ng/geom-subdiv-curve@0.1.83) (2021-03-27)
-
-**Note:** Version bump only for package @thi.ng/geom-subdiv-curve
-
-
-
-
-
-## [0.1.82](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-subdiv-curve@0.1.81...@thi.ng/geom-subdiv-curve@0.1.82) (2021-03-17)
-
-**Note:** Version bump only for package @thi.ng/geom-subdiv-curve
-
-
-
-
-
-## [0.1.81](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-subdiv-curve@0.1.80...@thi.ng/geom-subdiv-curve@0.1.81) (2021-03-12)
+## [0.1.90](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-subdiv-curve@0.1.89...@thi.ng/geom-subdiv-curve@0.1.90) (2021-06-08)
**Note:** Version bump only for package @thi.ng/geom-subdiv-curve
diff --git a/packages/geom-subdiv-curve/package.json b/packages/geom-subdiv-curve/package.json
index 374999a438..e36df7bfa2 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.86",
+ "version": "0.1.90",
"description": "Freely customizable, iterative nD subdivision curves for open / closed geometries",
"module": "./index.js",
"main": "./lib/index.js",
@@ -42,17 +42,17 @@
"@microsoft/api-extractor": "^7.13.1",
"@types/mocha": "^8.2.0",
"@types/node": "^14.14.14",
- "mocha": "^8.3.0",
+ "mocha": "^9.0.0",
"nyc": "^15.1.0",
- "ts-node": "^9.1.1",
+ "ts-node": "^10.0.0",
"typedoc": "^0.20.30",
- "typescript": "^4.2.3"
+ "typescript": "4.2.4"
},
"dependencies": {
- "@thi.ng/api": "^7.1.4",
- "@thi.ng/geom-api": "^2.0.17",
- "@thi.ng/transducers": "^7.6.10",
- "@thi.ng/vectors": "^5.2.1"
+ "@thi.ng/api": "^7.1.5",
+ "@thi.ng/geom-api": "^2.0.21",
+ "@thi.ng/transducers": "^7.7.3",
+ "@thi.ng/vectors": "^6.0.1"
},
"files": [
"*.js",
diff --git a/packages/geom-tessellate/CHANGELOG.md b/packages/geom-tessellate/CHANGELOG.md
index cba2a4aedc..ee0e2e1edb 100644
--- a/packages/geom-tessellate/CHANGELOG.md
+++ b/packages/geom-tessellate/CHANGELOG.md
@@ -3,47 +3,7 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
-## [0.2.69](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-tessellate@0.2.68...@thi.ng/geom-tessellate@0.2.69) (2021-04-03)
-
-**Note:** Version bump only for package @thi.ng/geom-tessellate
-
-
-
-
-
-## [0.2.68](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-tessellate@0.2.67...@thi.ng/geom-tessellate@0.2.68) (2021-03-30)
-
-**Note:** Version bump only for package @thi.ng/geom-tessellate
-
-
-
-
-
-## [0.2.67](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-tessellate@0.2.66...@thi.ng/geom-tessellate@0.2.67) (2021-03-28)
-
-**Note:** Version bump only for package @thi.ng/geom-tessellate
-
-
-
-
-
-## [0.2.66](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-tessellate@0.2.65...@thi.ng/geom-tessellate@0.2.66) (2021-03-27)
-
-**Note:** Version bump only for package @thi.ng/geom-tessellate
-
-
-
-
-
-## [0.2.65](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-tessellate@0.2.64...@thi.ng/geom-tessellate@0.2.65) (2021-03-17)
-
-**Note:** Version bump only for package @thi.ng/geom-tessellate
-
-
-
-
-
-## [0.2.64](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-tessellate@0.2.63...@thi.ng/geom-tessellate@0.2.64) (2021-03-12)
+## [0.2.73](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-tessellate@0.2.72...@thi.ng/geom-tessellate@0.2.73) (2021-06-08)
**Note:** Version bump only for package @thi.ng/geom-tessellate
diff --git a/packages/geom-tessellate/package.json b/packages/geom-tessellate/package.json
index 2880b59e8d..9049132662 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.69",
+ "version": "0.2.73",
"description": "2D/3D convex polygon tessellators",
"module": "./index.js",
"main": "./lib/index.js",
@@ -42,19 +42,19 @@
"@microsoft/api-extractor": "^7.13.1",
"@types/mocha": "^8.2.0",
"@types/node": "^14.14.14",
- "mocha": "^8.3.0",
+ "mocha": "^9.0.0",
"nyc": "^15.1.0",
- "ts-node": "^9.1.1",
+ "ts-node": "^10.0.0",
"typedoc": "^0.20.30",
- "typescript": "^4.2.3"
+ "typescript": "4.2.4"
},
"dependencies": {
- "@thi.ng/checks": "^2.9.6",
- "@thi.ng/geom-api": "^2.0.17",
- "@thi.ng/geom-isec": "^0.7.20",
- "@thi.ng/geom-poly-utils": "^0.3.17",
- "@thi.ng/transducers": "^7.6.10",
- "@thi.ng/vectors": "^5.2.1"
+ "@thi.ng/checks": "^2.9.7",
+ "@thi.ng/geom-api": "^2.0.21",
+ "@thi.ng/geom-isec": "^0.7.24",
+ "@thi.ng/geom-poly-utils": "^0.3.21",
+ "@thi.ng/transducers": "^7.7.3",
+ "@thi.ng/vectors": "^6.0.1"
},
"files": [
"*.js",
diff --git a/packages/geom-voronoi/CHANGELOG.md b/packages/geom-voronoi/CHANGELOG.md
index a240480ba1..9a345e9209 100644
--- a/packages/geom-voronoi/CHANGELOG.md
+++ b/packages/geom-voronoi/CHANGELOG.md
@@ -3,47 +3,7 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
-## [0.2.31](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-voronoi@0.2.30...@thi.ng/geom-voronoi@0.2.31) (2021-04-03)
-
-**Note:** Version bump only for package @thi.ng/geom-voronoi
-
-
-
-
-
-## [0.2.30](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-voronoi@0.2.29...@thi.ng/geom-voronoi@0.2.30) (2021-03-30)
-
-**Note:** Version bump only for package @thi.ng/geom-voronoi
-
-
-
-
-
-## [0.2.29](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-voronoi@0.2.28...@thi.ng/geom-voronoi@0.2.29) (2021-03-28)
-
-**Note:** Version bump only for package @thi.ng/geom-voronoi
-
-
-
-
-
-## [0.2.28](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-voronoi@0.2.27...@thi.ng/geom-voronoi@0.2.28) (2021-03-27)
-
-**Note:** Version bump only for package @thi.ng/geom-voronoi
-
-
-
-
-
-## [0.2.27](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-voronoi@0.2.26...@thi.ng/geom-voronoi@0.2.27) (2021-03-17)
-
-**Note:** Version bump only for package @thi.ng/geom-voronoi
-
-
-
-
-
-## [0.2.26](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-voronoi@0.2.25...@thi.ng/geom-voronoi@0.2.26) (2021-03-12)
+## [0.2.35](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-voronoi@0.2.34...@thi.ng/geom-voronoi@0.2.35) (2021-06-08)
**Note:** Version bump only for package @thi.ng/geom-voronoi
diff --git a/packages/geom-voronoi/package.json b/packages/geom-voronoi/package.json
index 20e25e6c7b..1469d80072 100644
--- a/packages/geom-voronoi/package.json
+++ b/packages/geom-voronoi/package.json
@@ -1,6 +1,6 @@
{
"name": "@thi.ng/geom-voronoi",
- "version": "0.2.31",
+ "version": "0.2.35",
"description": "Fast, incremental 2D Delaunay & Voronoi mesh implementation",
"module": "./index.js",
"main": "./lib/index.js",
@@ -42,22 +42,22 @@
"@microsoft/api-extractor": "^7.13.1",
"@types/mocha": "^8.2.0",
"@types/node": "^14.14.14",
- "mocha": "^8.3.0",
+ "mocha": "^9.0.0",
"nyc": "^15.1.0",
- "ts-node": "^9.1.1",
+ "ts-node": "^10.0.0",
"typedoc": "^0.20.30",
- "typescript": "^4.2.3"
+ "typescript": "4.2.4"
},
"dependencies": {
- "@thi.ng/api": "^7.1.4",
- "@thi.ng/checks": "^2.9.6",
- "@thi.ng/geom-clip-line": "^1.2.31",
- "@thi.ng/geom-clip-poly": "^1.0.56",
- "@thi.ng/geom-isec": "^0.7.20",
- "@thi.ng/geom-poly-utils": "^0.3.17",
- "@thi.ng/math": "^3.4.0",
- "@thi.ng/quad-edge": "^0.2.34",
- "@thi.ng/vectors": "^5.2.1"
+ "@thi.ng/api": "^7.1.5",
+ "@thi.ng/checks": "^2.9.7",
+ "@thi.ng/geom-clip-line": "^1.2.35",
+ "@thi.ng/geom-clip-poly": "^1.0.60",
+ "@thi.ng/geom-isec": "^0.7.24",
+ "@thi.ng/geom-poly-utils": "^0.3.21",
+ "@thi.ng/math": "^4.0.1",
+ "@thi.ng/quad-edge": "^0.2.35",
+ "@thi.ng/vectors": "^6.0.1"
},
"files": [
"*.js",
diff --git a/packages/geom/CHANGELOG.md b/packages/geom/CHANGELOG.md
index eacde45221..a6961486d0 100644
--- a/packages/geom/CHANGELOG.md
+++ b/packages/geom/CHANGELOG.md
@@ -3,63 +3,7 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
-## [2.1.14](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom@2.1.13...@thi.ng/geom@2.1.14) (2021-04-03)
-
-**Note:** Version bump only for package @thi.ng/geom
-
-
-
-
-
-## [2.1.13](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom@2.1.12...@thi.ng/geom@2.1.13) (2021-03-30)
-
-**Note:** Version bump only for package @thi.ng/geom
-
-
-
-
-
-## [2.1.12](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom@2.1.11...@thi.ng/geom@2.1.12) (2021-03-28)
-
-**Note:** Version bump only for package @thi.ng/geom
-
-
-
-
-
-## [2.1.11](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom@2.1.10...@thi.ng/geom@2.1.11) (2021-03-27)
-
-**Note:** Version bump only for package @thi.ng/geom
-
-
-
-
-
-## [2.1.10](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom@2.1.9...@thi.ng/geom@2.1.10) (2021-03-24)
-
-**Note:** Version bump only for package @thi.ng/geom
-
-
-
-
-
-## [2.1.9](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom@2.1.8...@thi.ng/geom@2.1.9) (2021-03-24)
-
-**Note:** Version bump only for package @thi.ng/geom
-
-
-
-
-
-## [2.1.8](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom@2.1.7...@thi.ng/geom@2.1.8) (2021-03-17)
-
-**Note:** Version bump only for package @thi.ng/geom
-
-
-
-
-
-## [2.1.7](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom@2.1.6...@thi.ng/geom@2.1.7) (2021-03-12)
+## [2.1.18](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom@2.1.17...@thi.ng/geom@2.1.18) (2021-06-08)
**Note:** Version bump only for package @thi.ng/geom
diff --git a/packages/geom/package.json b/packages/geom/package.json
index 699b70015f..5635a7e522 100644
--- a/packages/geom/package.json
+++ b/packages/geom/package.json
@@ -1,6 +1,6 @@
{
"name": "@thi.ng/geom",
- "version": "2.1.14",
+ "version": "2.1.18",
"description": "Functional, polymorphic API for 2D geometry types & SVG generation",
"module": "./index.js",
"main": "./lib/index.js",
@@ -42,39 +42,39 @@
"@microsoft/api-extractor": "^7.13.1",
"@types/mocha": "^8.2.0",
"@types/node": "^14.14.14",
- "mocha": "^8.3.0",
+ "mocha": "^9.0.0",
"nyc": "^15.1.0",
- "ts-node": "^9.1.1",
+ "ts-node": "^10.0.0",
"typedoc": "^0.20.30",
- "typescript": "^4.2.3"
+ "typescript": "4.2.4"
},
"dependencies": {
- "@thi.ng/api": "^7.1.4",
- "@thi.ng/arrays": "^0.10.10",
- "@thi.ng/checks": "^2.9.6",
- "@thi.ng/defmulti": "^1.3.11",
- "@thi.ng/equiv": "^1.0.41",
- "@thi.ng/errors": "^1.3.0",
- "@thi.ng/geom-api": "^2.0.17",
- "@thi.ng/geom-arc": "^0.3.35",
- "@thi.ng/geom-clip-line": "^1.2.31",
- "@thi.ng/geom-clip-poly": "^1.0.56",
- "@thi.ng/geom-closest-point": "^0.5.22",
- "@thi.ng/geom-hull": "^0.0.88",
- "@thi.ng/geom-isec": "^0.7.20",
- "@thi.ng/geom-poly-utils": "^0.3.17",
- "@thi.ng/geom-resample": "^0.2.68",
- "@thi.ng/geom-splines": "^0.5.55",
- "@thi.ng/geom-subdiv-curve": "^0.1.86",
- "@thi.ng/geom-tessellate": "^0.2.69",
- "@thi.ng/hiccup": "^3.6.15",
- "@thi.ng/hiccup-svg": "^3.7.20",
- "@thi.ng/math": "^3.4.0",
- "@thi.ng/matrices": "^0.6.55",
- "@thi.ng/random": "^2.3.7",
- "@thi.ng/strings": "^2.1.0",
- "@thi.ng/transducers": "^7.6.10",
- "@thi.ng/vectors": "^5.2.1"
+ "@thi.ng/api": "^7.1.5",
+ "@thi.ng/arrays": "^0.10.12",
+ "@thi.ng/checks": "^2.9.7",
+ "@thi.ng/defmulti": "^1.3.12",
+ "@thi.ng/equiv": "^1.0.42",
+ "@thi.ng/errors": "^1.3.1",
+ "@thi.ng/geom-api": "^2.0.21",
+ "@thi.ng/geom-arc": "^0.3.39",
+ "@thi.ng/geom-clip-line": "^1.2.35",
+ "@thi.ng/geom-clip-poly": "^1.0.60",
+ "@thi.ng/geom-closest-point": "^0.5.26",
+ "@thi.ng/geom-hull": "^0.0.92",
+ "@thi.ng/geom-isec": "^0.7.24",
+ "@thi.ng/geom-poly-utils": "^0.3.21",
+ "@thi.ng/geom-resample": "^0.2.72",
+ "@thi.ng/geom-splines": "^0.5.59",
+ "@thi.ng/geom-subdiv-curve": "^0.1.90",
+ "@thi.ng/geom-tessellate": "^0.2.73",
+ "@thi.ng/hiccup": "^3.6.16",
+ "@thi.ng/hiccup-svg": "^3.7.24",
+ "@thi.ng/math": "^4.0.1",
+ "@thi.ng/matrices": "^0.6.59",
+ "@thi.ng/random": "^2.4.1",
+ "@thi.ng/strings": "^2.1.1",
+ "@thi.ng/transducers": "^7.7.3",
+ "@thi.ng/vectors": "^6.0.1"
},
"files": [
"*.js",
diff --git a/packages/gp/CHANGELOG.md b/packages/gp/CHANGELOG.md
index 9cc0ae7726..0b0e64bc56 100644
--- a/packages/gp/CHANGELOG.md
+++ b/packages/gp/CHANGELOG.md
@@ -3,39 +3,7 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
-## [0.2.16](https://github.com/thi-ng/umbrella/compare/@thi.ng/gp@0.2.15...@thi.ng/gp@0.2.16) (2021-04-03)
-
-**Note:** Version bump only for package @thi.ng/gp
-
-
-
-
-
-## [0.2.15](https://github.com/thi-ng/umbrella/compare/@thi.ng/gp@0.2.14...@thi.ng/gp@0.2.15) (2021-03-28)
-
-**Note:** Version bump only for package @thi.ng/gp
-
-
-
-
-
-## [0.2.14](https://github.com/thi-ng/umbrella/compare/@thi.ng/gp@0.2.13...@thi.ng/gp@0.2.14) (2021-03-27)
-
-**Note:** Version bump only for package @thi.ng/gp
-
-
-
-
-
-## [0.2.13](https://github.com/thi-ng/umbrella/compare/@thi.ng/gp@0.2.12...@thi.ng/gp@0.2.13) (2021-03-17)
-
-**Note:** Version bump only for package @thi.ng/gp
-
-
-
-
-
-## [0.2.12](https://github.com/thi-ng/umbrella/compare/@thi.ng/gp@0.2.11...@thi.ng/gp@0.2.12) (2021-03-12)
+## [0.2.20](https://github.com/thi-ng/umbrella/compare/@thi.ng/gp@0.2.19...@thi.ng/gp@0.2.20) (2021-06-08)
**Note:** Version bump only for package @thi.ng/gp
diff --git a/packages/gp/package.json b/packages/gp/package.json
index ea9e5d84c4..cde5cf65a1 100644
--- a/packages/gp/package.json
+++ b/packages/gp/package.json
@@ -1,6 +1,6 @@
{
"name": "@thi.ng/gp",
- "version": "0.2.16",
+ "version": "0.2.20",
"description": "Genetic programming helpers & strategies (tree based & multi-expression programming)",
"module": "./index.js",
"main": "./lib/index.js",
@@ -42,18 +42,18 @@
"@microsoft/api-extractor": "^7.13.1",
"@types/mocha": "^8.2.0",
"@types/node": "^14.14.14",
- "mocha": "^8.3.0",
+ "mocha": "^9.0.0",
"nyc": "^15.1.0",
- "ts-node": "^9.1.1",
+ "ts-node": "^10.0.0",
"typedoc": "^0.20.30",
- "typescript": "^4.2.3"
+ "typescript": "4.2.4"
},
"dependencies": {
- "@thi.ng/api": "^7.1.4",
- "@thi.ng/math": "^3.4.0",
- "@thi.ng/random": "^2.3.7",
- "@thi.ng/transducers": "^7.6.10",
- "@thi.ng/zipper": "^0.1.44"
+ "@thi.ng/api": "^7.1.5",
+ "@thi.ng/math": "^4.0.1",
+ "@thi.ng/random": "^2.4.1",
+ "@thi.ng/transducers": "^7.7.3",
+ "@thi.ng/zipper": "^0.1.46"
},
"files": [
"*.js",
diff --git a/packages/grid-iterators/CHANGELOG.md b/packages/grid-iterators/CHANGELOG.md
index 1ac4f38b3c..89fa22dd80 100644
--- a/packages/grid-iterators/CHANGELOG.md
+++ b/packages/grid-iterators/CHANGELOG.md
@@ -3,39 +3,7 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
-## [0.4.32](https://github.com/thi-ng/umbrella/compare/@thi.ng/grid-iterators@0.4.31...@thi.ng/grid-iterators@0.4.32) (2021-04-03)
-
-**Note:** Version bump only for package @thi.ng/grid-iterators
-
-
-
-
-
-## [0.4.31](https://github.com/thi-ng/umbrella/compare/@thi.ng/grid-iterators@0.4.30...@thi.ng/grid-iterators@0.4.31) (2021-03-28)
-
-**Note:** Version bump only for package @thi.ng/grid-iterators
-
-
-
-
-
-## [0.4.30](https://github.com/thi-ng/umbrella/compare/@thi.ng/grid-iterators@0.4.29...@thi.ng/grid-iterators@0.4.30) (2021-03-27)
-
-**Note:** Version bump only for package @thi.ng/grid-iterators
-
-
-
-
-
-## [0.4.29](https://github.com/thi-ng/umbrella/compare/@thi.ng/grid-iterators@0.4.28...@thi.ng/grid-iterators@0.4.29) (2021-03-17)
-
-**Note:** Version bump only for package @thi.ng/grid-iterators
-
-
-
-
-
-## [0.4.28](https://github.com/thi-ng/umbrella/compare/@thi.ng/grid-iterators@0.4.27...@thi.ng/grid-iterators@0.4.28) (2021-03-12)
+## [0.4.36](https://github.com/thi-ng/umbrella/compare/@thi.ng/grid-iterators@0.4.35...@thi.ng/grid-iterators@0.4.36) (2021-06-08)
**Note:** Version bump only for package @thi.ng/grid-iterators
diff --git a/packages/grid-iterators/package.json b/packages/grid-iterators/package.json
index d37e1d51c5..2186468538 100644
--- a/packages/grid-iterators/package.json
+++ b/packages/grid-iterators/package.json
@@ -1,6 +1,6 @@
{
"name": "@thi.ng/grid-iterators",
- "version": "0.4.32",
+ "version": "0.4.36",
"description": "2D grid iterators w/ multiple orderings",
"module": "./index.js",
"main": "./lib/index.js",
@@ -43,18 +43,18 @@
"@microsoft/api-extractor": "^7.13.1",
"@types/mocha": "^8.2.0",
"@types/node": "^14.14.14",
- "mocha": "^8.3.0",
+ "mocha": "^9.0.0",
"nyc": "^15.1.0",
- "ts-node": "^9.1.1",
+ "ts-node": "^10.0.0",
"typedoc": "^0.20.30",
- "typescript": "^4.2.3"
+ "typescript": "4.2.4"
},
"dependencies": {
- "@thi.ng/arrays": "^0.10.10",
- "@thi.ng/binary": "^2.2.4",
- "@thi.ng/morton": "^2.0.39",
- "@thi.ng/random": "^2.3.7",
- "@thi.ng/transducers": "^7.6.10"
+ "@thi.ng/arrays": "^0.10.12",
+ "@thi.ng/binary": "^2.2.5",
+ "@thi.ng/morton": "^2.0.41",
+ "@thi.ng/random": "^2.4.1",
+ "@thi.ng/transducers": "^7.7.3"
},
"files": [
"*.js",
diff --git a/packages/hdiff/CHANGELOG.md b/packages/hdiff/CHANGELOG.md
index 2d521b0038..724e463f23 100644
--- a/packages/hdiff/CHANGELOG.md
+++ b/packages/hdiff/CHANGELOG.md
@@ -3,55 +3,7 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
-## [0.1.39](https://github.com/thi-ng/umbrella/compare/@thi.ng/hdiff@0.1.38...@thi.ng/hdiff@0.1.39) (2021-04-03)
-
-**Note:** Version bump only for package @thi.ng/hdiff
-
-
-
-
-
-## [0.1.38](https://github.com/thi-ng/umbrella/compare/@thi.ng/hdiff@0.1.37...@thi.ng/hdiff@0.1.38) (2021-03-28)
-
-**Note:** Version bump only for package @thi.ng/hdiff
-
-
-
-
-
-## [0.1.37](https://github.com/thi-ng/umbrella/compare/@thi.ng/hdiff@0.1.36...@thi.ng/hdiff@0.1.37) (2021-03-27)
-
-**Note:** Version bump only for package @thi.ng/hdiff
-
-
-
-
-
-## [0.1.36](https://github.com/thi-ng/umbrella/compare/@thi.ng/hdiff@0.1.35...@thi.ng/hdiff@0.1.36) (2021-03-24)
-
-**Note:** Version bump only for package @thi.ng/hdiff
-
-
-
-
-
-## [0.1.35](https://github.com/thi-ng/umbrella/compare/@thi.ng/hdiff@0.1.34...@thi.ng/hdiff@0.1.35) (2021-03-24)
-
-**Note:** Version bump only for package @thi.ng/hdiff
-
-
-
-
-
-## [0.1.34](https://github.com/thi-ng/umbrella/compare/@thi.ng/hdiff@0.1.33...@thi.ng/hdiff@0.1.34) (2021-03-17)
-
-**Note:** Version bump only for package @thi.ng/hdiff
-
-
-
-
-
-## [0.1.33](https://github.com/thi-ng/umbrella/compare/@thi.ng/hdiff@0.1.32...@thi.ng/hdiff@0.1.33) (2021-03-12)
+## [0.1.43](https://github.com/thi-ng/umbrella/compare/@thi.ng/hdiff@0.1.42...@thi.ng/hdiff@0.1.43) (2021-06-08)
**Note:** Version bump only for package @thi.ng/hdiff
diff --git a/packages/hdiff/package.json b/packages/hdiff/package.json
index c4926c95c6..9670a9e658 100644
--- a/packages/hdiff/package.json
+++ b/packages/hdiff/package.json
@@ -1,6 +1,6 @@
{
"name": "@thi.ng/hdiff",
- "version": "0.1.39",
+ "version": "0.1.43",
"description": "String diffing w/ hiccup output for further processing, e.g. with @thi.ng/hdom, @thi.ng/hiccup. Includes CLI util to generate HTML, with theme support and code folding",
"module": "./index.js",
"main": "./lib/index.js",
@@ -44,18 +44,18 @@
"@microsoft/api-extractor": "^7.13.1",
"@types/mocha": "^8.2.0",
"@types/node": "^14.14.14",
- "mocha": "^8.3.0",
+ "mocha": "^9.0.0",
"nyc": "^15.1.0",
- "ts-node": "^9.1.1",
+ "ts-node": "^10.0.0",
"typedoc": "^0.20.30",
- "typescript": "^4.2.3"
+ "typescript": "4.2.4"
},
"dependencies": {
- "@thi.ng/api": "^7.1.4",
- "@thi.ng/diff": "^4.0.7",
- "@thi.ng/hiccup": "^3.6.15",
- "@thi.ng/hiccup-css": "^1.1.59",
- "@thi.ng/strings": "^2.1.0"
+ "@thi.ng/api": "^7.1.5",
+ "@thi.ng/diff": "^4.0.8",
+ "@thi.ng/hiccup": "^3.6.16",
+ "@thi.ng/hiccup-css": "^1.1.63",
+ "@thi.ng/strings": "^2.1.1"
},
"files": [
"*.js",
diff --git a/packages/hdom-canvas/CHANGELOG.md b/packages/hdom-canvas/CHANGELOG.md
index bfa4ac13a1..07d16caa67 100644
--- a/packages/hdom-canvas/CHANGELOG.md
+++ b/packages/hdom-canvas/CHANGELOG.md
@@ -3,63 +3,7 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
-## [3.0.45](https://github.com/thi-ng/umbrella/compare/@thi.ng/hdom-canvas@3.0.44...@thi.ng/hdom-canvas@3.0.45) (2021-04-03)
-
-**Note:** Version bump only for package @thi.ng/hdom-canvas
-
-
-
-
-
-## [3.0.44](https://github.com/thi-ng/umbrella/compare/@thi.ng/hdom-canvas@3.0.43...@thi.ng/hdom-canvas@3.0.44) (2021-03-30)
-
-**Note:** Version bump only for package @thi.ng/hdom-canvas
-
-
-
-
-
-## [3.0.43](https://github.com/thi-ng/umbrella/compare/@thi.ng/hdom-canvas@3.0.42...@thi.ng/hdom-canvas@3.0.43) (2021-03-28)
-
-**Note:** Version bump only for package @thi.ng/hdom-canvas
-
-
-
-
-
-## [3.0.42](https://github.com/thi-ng/umbrella/compare/@thi.ng/hdom-canvas@3.0.41...@thi.ng/hdom-canvas@3.0.42) (2021-03-27)
-
-**Note:** Version bump only for package @thi.ng/hdom-canvas
-
-
-
-
-
-## [3.0.41](https://github.com/thi-ng/umbrella/compare/@thi.ng/hdom-canvas@3.0.40...@thi.ng/hdom-canvas@3.0.41) (2021-03-24)
-
-**Note:** Version bump only for package @thi.ng/hdom-canvas
-
-
-
-
-
-## [3.0.40](https://github.com/thi-ng/umbrella/compare/@thi.ng/hdom-canvas@3.0.39...@thi.ng/hdom-canvas@3.0.40) (2021-03-24)
-
-**Note:** Version bump only for package @thi.ng/hdom-canvas
-
-
-
-
-
-## [3.0.39](https://github.com/thi-ng/umbrella/compare/@thi.ng/hdom-canvas@3.0.38...@thi.ng/hdom-canvas@3.0.39) (2021-03-17)
-
-**Note:** Version bump only for package @thi.ng/hdom-canvas
-
-
-
-
-
-## [3.0.38](https://github.com/thi-ng/umbrella/compare/@thi.ng/hdom-canvas@3.0.37...@thi.ng/hdom-canvas@3.0.38) (2021-03-12)
+## [3.0.50](https://github.com/thi-ng/umbrella/compare/@thi.ng/hdom-canvas@3.0.49...@thi.ng/hdom-canvas@3.0.50) (2021-06-08)
**Note:** Version bump only for package @thi.ng/hdom-canvas
diff --git a/packages/hdom-canvas/package.json b/packages/hdom-canvas/package.json
index 55e4a33d07..b0d562c597 100644
--- a/packages/hdom-canvas/package.json
+++ b/packages/hdom-canvas/package.json
@@ -1,6 +1,6 @@
{
"name": "@thi.ng/hdom-canvas",
- "version": "3.0.45",
+ "version": "3.0.50",
"description": "@thi.ng/hdom component wrapper for declarative canvas scenegraphs",
"module": "./index.js",
"main": "./lib/index.js",
@@ -42,18 +42,18 @@
"@microsoft/api-extractor": "^7.13.1",
"@types/mocha": "^8.2.0",
"@types/node": "^14.14.14",
- "mocha": "^8.3.0",
+ "mocha": "^9.0.0",
"nyc": "^15.1.0",
- "ts-node": "^9.1.1",
+ "ts-node": "^10.0.0",
"typedoc": "^0.20.30",
- "typescript": "^4.2.3"
+ "typescript": "4.2.4"
},
"dependencies": {
- "@thi.ng/api": "^7.1.4",
- "@thi.ng/checks": "^2.9.6",
- "@thi.ng/diff": "^4.0.7",
- "@thi.ng/hdom": "^8.2.25",
- "@thi.ng/hiccup-canvas": "^1.2.0"
+ "@thi.ng/api": "^7.1.5",
+ "@thi.ng/checks": "^2.9.7",
+ "@thi.ng/diff": "^4.0.8",
+ "@thi.ng/hdom": "^8.2.26",
+ "@thi.ng/hiccup-canvas": "^1.2.5"
},
"files": [
"*.js",
diff --git a/packages/hdom-components/CHANGELOG.md b/packages/hdom-components/CHANGELOG.md
index 60418a4e81..a17a439f40 100644
--- a/packages/hdom-components/CHANGELOG.md
+++ b/packages/hdom-components/CHANGELOG.md
@@ -3,39 +3,7 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
-## [4.0.34](https://github.com/thi-ng/umbrella/compare/@thi.ng/hdom-components@4.0.33...@thi.ng/hdom-components@4.0.34) (2021-04-03)
-
-**Note:** Version bump only for package @thi.ng/hdom-components
-
-
-
-
-
-## [4.0.33](https://github.com/thi-ng/umbrella/compare/@thi.ng/hdom-components@4.0.32...@thi.ng/hdom-components@4.0.33) (2021-03-28)
-
-**Note:** Version bump only for package @thi.ng/hdom-components
-
-
-
-
-
-## [4.0.32](https://github.com/thi-ng/umbrella/compare/@thi.ng/hdom-components@4.0.31...@thi.ng/hdom-components@4.0.32) (2021-03-27)
-
-**Note:** Version bump only for package @thi.ng/hdom-components
-
-
-
-
-
-## [4.0.31](https://github.com/thi-ng/umbrella/compare/@thi.ng/hdom-components@4.0.30...@thi.ng/hdom-components@4.0.31) (2021-03-17)
-
-**Note:** Version bump only for package @thi.ng/hdom-components
-
-
-
-
-
-## [4.0.30](https://github.com/thi-ng/umbrella/compare/@thi.ng/hdom-components@4.0.29...@thi.ng/hdom-components@4.0.30) (2021-03-12)
+## [4.0.38](https://github.com/thi-ng/umbrella/compare/@thi.ng/hdom-components@4.0.37...@thi.ng/hdom-components@4.0.38) (2021-06-08)
**Note:** Version bump only for package @thi.ng/hdom-components
diff --git a/packages/hdom-components/package.json b/packages/hdom-components/package.json
index 55ba54637f..7a219e1095 100644
--- a/packages/hdom-components/package.json
+++ b/packages/hdom-components/package.json
@@ -1,6 +1,6 @@
{
"name": "@thi.ng/hdom-components",
- "version": "4.0.34",
+ "version": "4.0.38",
"description": "Raw, skinnable UI & SVG components for @thi.ng/hdom",
"module": "./index.js",
"main": "./lib/index.js",
@@ -42,19 +42,19 @@
"@microsoft/api-extractor": "^7.13.1",
"@types/mocha": "^8.2.0",
"@types/node": "^14.14.14",
- "mocha": "^8.3.0",
+ "mocha": "^9.0.0",
"nyc": "^15.1.0",
- "ts-node": "^9.1.1",
+ "ts-node": "^10.0.0",
"typedoc": "^0.20.30",
- "typescript": "^4.2.3"
+ "typescript": "4.2.4"
},
"dependencies": {
- "@thi.ng/adapt-dpi": "^1.0.19",
- "@thi.ng/api": "^7.1.4",
- "@thi.ng/checks": "^2.9.6",
- "@thi.ng/math": "^3.4.0",
- "@thi.ng/transducers": "^7.6.10",
- "@thi.ng/transducers-stats": "^1.1.60"
+ "@thi.ng/adapt-dpi": "^1.0.20",
+ "@thi.ng/api": "^7.1.5",
+ "@thi.ng/checks": "^2.9.7",
+ "@thi.ng/math": "^4.0.1",
+ "@thi.ng/transducers": "^7.7.3",
+ "@thi.ng/transducers-stats": "^1.1.64"
},
"files": [
"*.js",
diff --git a/packages/hdom-mock/CHANGELOG.md b/packages/hdom-mock/CHANGELOG.md
index e971ba7ea5..7443265c2f 100644
--- a/packages/hdom-mock/CHANGELOG.md
+++ b/packages/hdom-mock/CHANGELOG.md
@@ -3,23 +3,7 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
-## [1.1.57](https://github.com/thi-ng/umbrella/compare/@thi.ng/hdom-mock@1.1.56...@thi.ng/hdom-mock@1.1.57) (2021-04-03)
-
-**Note:** Version bump only for package @thi.ng/hdom-mock
-
-
-
-
-
-## [1.1.56](https://github.com/thi-ng/umbrella/compare/@thi.ng/hdom-mock@1.1.55...@thi.ng/hdom-mock@1.1.56) (2021-03-17)
-
-**Note:** Version bump only for package @thi.ng/hdom-mock
-
-
-
-
-
-## [1.1.55](https://github.com/thi-ng/umbrella/compare/@thi.ng/hdom-mock@1.1.54...@thi.ng/hdom-mock@1.1.55) (2021-03-12)
+## [1.1.58](https://github.com/thi-ng/umbrella/compare/@thi.ng/hdom-mock@1.1.57...@thi.ng/hdom-mock@1.1.58) (2021-06-08)
**Note:** Version bump only for package @thi.ng/hdom-mock
diff --git a/packages/hdom-mock/package.json b/packages/hdom-mock/package.json
index a55df53330..6ff2af5404 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.57",
+ "version": "1.1.58",
"description": "Mock base implementation for @thi.ng/hdom API",
"module": "./index.js",
"main": "./lib/index.js",
@@ -42,16 +42,16 @@
"@microsoft/api-extractor": "^7.13.1",
"@types/mocha": "^8.2.0",
"@types/node": "^14.14.14",
- "mocha": "^8.3.0",
+ "mocha": "^9.0.0",
"nyc": "^15.1.0",
- "ts-node": "^9.1.1",
+ "ts-node": "^10.0.0",
"typedoc": "^0.20.30",
- "typescript": "^4.2.3"
+ "typescript": "4.2.4"
},
"dependencies": {
- "@thi.ng/api": "^7.1.4",
- "@thi.ng/checks": "^2.9.6",
- "@thi.ng/hdom": "^8.2.25"
+ "@thi.ng/api": "^7.1.5",
+ "@thi.ng/checks": "^2.9.7",
+ "@thi.ng/hdom": "^8.2.26"
},
"files": [
"*.js",
diff --git a/packages/hdom/CHANGELOG.md b/packages/hdom/CHANGELOG.md
index 5825ed3e60..d6b2d889df 100644
--- a/packages/hdom/CHANGELOG.md
+++ b/packages/hdom/CHANGELOG.md
@@ -3,23 +3,7 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
-## [8.2.25](https://github.com/thi-ng/umbrella/compare/@thi.ng/hdom@8.2.24...@thi.ng/hdom@8.2.25) (2021-04-03)
-
-**Note:** Version bump only for package @thi.ng/hdom
-
-
-
-
-
-## [8.2.24](https://github.com/thi-ng/umbrella/compare/@thi.ng/hdom@8.2.23...@thi.ng/hdom@8.2.24) (2021-03-17)
-
-**Note:** Version bump only for package @thi.ng/hdom
-
-
-
-
-
-## [8.2.23](https://github.com/thi-ng/umbrella/compare/@thi.ng/hdom@8.2.22...@thi.ng/hdom@8.2.23) (2021-03-12)
+## [8.2.26](https://github.com/thi-ng/umbrella/compare/@thi.ng/hdom@8.2.25...@thi.ng/hdom@8.2.26) (2021-06-08)
**Note:** Version bump only for package @thi.ng/hdom
diff --git a/packages/hdom/package.json b/packages/hdom/package.json
index 173c4b12a8..03c8b3cf78 100644
--- a/packages/hdom/package.json
+++ b/packages/hdom/package.json
@@ -1,6 +1,6 @@
{
"name": "@thi.ng/hdom",
- "version": "8.2.25",
+ "version": "8.2.26",
"description": "Lightweight vanilla ES6 UI component trees with customizable branch-local behaviors",
"module": "./index.js",
"main": "./lib/index.js",
@@ -40,23 +40,23 @@
"devDependencies": {
"@istanbuljs/nyc-config-typescript": "^1.0.1",
"@microsoft/api-extractor": "^7.13.1",
- "@thi.ng/atom": "^4.1.35",
+ "@thi.ng/atom": "^4.1.36",
"@types/mocha": "^8.2.0",
"@types/node": "^14.14.14",
- "mocha": "^8.3.0",
+ "mocha": "^9.0.0",
"nyc": "^15.1.0",
- "ts-node": "^9.1.1",
+ "ts-node": "^10.0.0",
"typedoc": "^0.20.30",
- "typescript": "^4.2.3"
+ "typescript": "4.2.4"
},
"dependencies": {
- "@thi.ng/api": "^7.1.4",
- "@thi.ng/checks": "^2.9.6",
- "@thi.ng/diff": "^4.0.7",
- "@thi.ng/equiv": "^1.0.41",
- "@thi.ng/errors": "^1.3.0",
- "@thi.ng/hiccup": "^3.6.15",
- "@thi.ng/prefixes": "^0.1.17"
+ "@thi.ng/api": "^7.1.5",
+ "@thi.ng/checks": "^2.9.7",
+ "@thi.ng/diff": "^4.0.8",
+ "@thi.ng/equiv": "^1.0.42",
+ "@thi.ng/errors": "^1.3.1",
+ "@thi.ng/hiccup": "^3.6.16",
+ "@thi.ng/prefixes": "^0.1.18"
},
"files": [
"*.js",
diff --git a/packages/heaps/CHANGELOG.md b/packages/heaps/CHANGELOG.md
index 562ac89e37..3398ea3285 100644
--- a/packages/heaps/CHANGELOG.md
+++ b/packages/heaps/CHANGELOG.md
@@ -3,20 +3,20 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
-## [1.2.38](https://github.com/thi-ng/umbrella/compare/@thi.ng/heaps@1.2.37...@thi.ng/heaps@1.2.38) (2021-03-17)
+## [1.2.39](https://github.com/thi-ng/umbrella/compare/@thi.ng/heaps@1.2.38...@thi.ng/heaps@1.2.39) (2021-06-08)
+**Note:** Version bump only for package @thi.ng/heaps
-### Bug Fixes
-* **heaps:** update return types ([#283](https://github.com/thi-ng/umbrella/issues/283)) ([f7eabec](https://github.com/thi-ng/umbrella/commit/f7eabec276a6a08b58d93512421bae1df1817f2d))
+## [1.2.38](https://github.com/thi-ng/umbrella/compare/@thi.ng/heaps@1.2.37...@thi.ng/heaps@1.2.38) (2021-03-17)
-## [1.2.37](https://github.com/thi-ng/umbrella/compare/@thi.ng/heaps@1.2.36...@thi.ng/heaps@1.2.37) (2021-03-12)
+### Bug Fixes
-**Note:** Version bump only for package @thi.ng/heaps
+* **heaps:** update return types ([#283](https://github.com/thi-ng/umbrella/issues/283)) ([f7eabec](https://github.com/thi-ng/umbrella/commit/f7eabec276a6a08b58d93512421bae1df1817f2d))
diff --git a/packages/heaps/package.json b/packages/heaps/package.json
index 48879c7742..52dfd2618d 100644
--- a/packages/heaps/package.json
+++ b/packages/heaps/package.json
@@ -1,6 +1,6 @@
{
"name": "@thi.ng/heaps",
- "version": "1.2.38",
+ "version": "1.2.39",
"description": "Various heap implementations for arbitrary values and with customizable ordering",
"module": "./index.js",
"main": "./lib/index.js",
@@ -43,15 +43,15 @@
"@microsoft/api-extractor": "^7.13.1",
"@types/mocha": "^8.2.0",
"@types/node": "^14.14.14",
- "mocha": "^8.3.0",
+ "mocha": "^9.0.0",
"nyc": "^15.1.0",
- "ts-node": "^9.1.1",
+ "ts-node": "^10.0.0",
"typedoc": "^0.20.30",
- "typescript": "^4.2.3"
+ "typescript": "4.2.4"
},
"dependencies": {
- "@thi.ng/api": "^7.1.4",
- "@thi.ng/compare": "^1.3.28"
+ "@thi.ng/api": "^7.1.5",
+ "@thi.ng/compare": "^1.3.29"
},
"files": [
"*.js",
diff --git a/packages/hex/CHANGELOG.md b/packages/hex/CHANGELOG.md
index ab437d8206..14c2f51af7 100644
--- a/packages/hex/CHANGELOG.md
+++ b/packages/hex/CHANGELOG.md
@@ -3,7 +3,7 @@
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/hex@0.2.4...@thi.ng/hex@0.2.5) (2021-03-12)
+## [0.2.6](https://github.com/thi-ng/umbrella/compare/@thi.ng/hex@0.2.5...@thi.ng/hex@0.2.6) (2021-06-08)
**Note:** Version bump only for package @thi.ng/hex
diff --git a/packages/hex/package.json b/packages/hex/package.json
index ed319abebc..bad49d285a 100644
--- a/packages/hex/package.json
+++ b/packages/hex/package.json
@@ -1,6 +1,6 @@
{
"name": "@thi.ng/hex",
- "version": "0.2.5",
+ "version": "0.2.6",
"description": "Hex string formatters for 4/8/16/24/32/48/64bit words",
"module": "./index.js",
"main": "./lib/index.js",
@@ -42,11 +42,11 @@
"@microsoft/api-extractor": "^7.13.1",
"@types/mocha": "^8.2.0",
"@types/node": "^14.14.14",
- "mocha": "^8.3.0",
+ "mocha": "^9.0.0",
"nyc": "^15.1.0",
- "ts-node": "^9.1.1",
+ "ts-node": "^10.0.0",
"typedoc": "^0.20.30",
- "typescript": "^4.2.3"
+ "typescript": "4.2.4"
},
"files": [
"*.js",
diff --git a/packages/hiccup-canvas/CHANGELOG.md b/packages/hiccup-canvas/CHANGELOG.md
index 6d86f3f1c3..624e41a4d1 100644
--- a/packages/hiccup-canvas/CHANGELOG.md
+++ b/packages/hiccup-canvas/CHANGELOG.md
@@ -3,50 +3,7 @@
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-canvas@1.1.34...@thi.ng/hiccup-canvas@1.2.0) (2021-04-03)
-
-
-### Features
-
-* **hiccup-canvas:** add IToImageData support ([7cc4709](https://github.com/thi-ng/umbrella/commit/7cc4709386c99337702d5788b04d14d13618e56b))
-
-
-
-
-
-## [1.1.34](https://github.com/thi-ng/umbrella/compare/@thi.ng/hiccup-canvas@1.1.33...@thi.ng/hiccup-canvas@1.1.34) (2021-03-30)
-
-**Note:** Version bump only for package @thi.ng/hiccup-canvas
-
-
-
-
-
-## [1.1.33](https://github.com/thi-ng/umbrella/compare/@thi.ng/hiccup-canvas@1.1.32...@thi.ng/hiccup-canvas@1.1.33) (2021-03-28)
-
-**Note:** Version bump only for package @thi.ng/hiccup-canvas
-
-
-
-
-
-## [1.1.32](https://github.com/thi-ng/umbrella/compare/@thi.ng/hiccup-canvas@1.1.31...@thi.ng/hiccup-canvas@1.1.32) (2021-03-27)
-
-**Note:** Version bump only for package @thi.ng/hiccup-canvas
-
-
-
-
-
-## [1.1.31](https://github.com/thi-ng/umbrella/compare/@thi.ng/hiccup-canvas@1.1.30...@thi.ng/hiccup-canvas@1.1.31) (2021-03-24)
-
-**Note:** Version bump only for package @thi.ng/hiccup-canvas
-
-
-
-
-
-## [1.1.30](https://github.com/thi-ng/umbrella/compare/@thi.ng/hiccup-canvas@1.1.29...@thi.ng/hiccup-canvas@1.1.30) (2021-03-24)
+## [1.2.5](https://github.com/thi-ng/umbrella/compare/@thi.ng/hiccup-canvas@1.2.4...@thi.ng/hiccup-canvas@1.2.5) (2021-06-08)
**Note:** Version bump only for package @thi.ng/hiccup-canvas
@@ -54,17 +11,12 @@ See [Conventional Commits](https://conventionalcommits.org) for commit guideline
-## [1.1.29](https://github.com/thi-ng/umbrella/compare/@thi.ng/hiccup-canvas@1.1.28...@thi.ng/hiccup-canvas@1.1.29) (2021-03-17)
-
-**Note:** Version bump only for package @thi.ng/hiccup-canvas
-
-
-
+# [1.2.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/hiccup-canvas@1.1.34...@thi.ng/hiccup-canvas@1.2.0) (2021-04-03)
-## [1.1.28](https://github.com/thi-ng/umbrella/compare/@thi.ng/hiccup-canvas@1.1.27...@thi.ng/hiccup-canvas@1.1.28) (2021-03-12)
+### Features
-**Note:** Version bump only for package @thi.ng/hiccup-canvas
+* **hiccup-canvas:** add IToImageData support ([7cc4709](https://github.com/thi-ng/umbrella/commit/7cc4709386c99337702d5788b04d14d13618e56b))
diff --git a/packages/hiccup-canvas/README.md b/packages/hiccup-canvas/README.md
index db0db73468..8e799566b8 100644
--- a/packages/hiccup-canvas/README.md
+++ b/packages/hiccup-canvas/README.md
@@ -86,7 +86,7 @@ yarn add @thi.ng/hiccup-canvas
```
-Package sizes (gzipped, pre-treeshake): ESM: 2.53 KB / CJS: 2.65 KB / UMD: 2.65 KB
+Package sizes (gzipped, pre-treeshake): ESM: 2.57 KB / CJS: 2.69 KB / UMD: 2.69 KB
## Dependencies
@@ -94,6 +94,7 @@ Package sizes (gzipped, pre-treeshake): ESM: 2.53 KB / CJS: 2.65 KB / UMD: 2.65
- [@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/math](https://github.com/thi-ng/umbrella/tree/develop/packages/math)
+- [@thi.ng/pixel](https://github.com/thi-ng/umbrella/tree/develop/packages/pixel)
- [@thi.ng/vectors](https://github.com/thi-ng/umbrella/tree/develop/packages/vectors)
## Usage examples
diff --git a/packages/hiccup-canvas/package.json b/packages/hiccup-canvas/package.json
index 3e3134208d..d359e85779 100644
--- a/packages/hiccup-canvas/package.json
+++ b/packages/hiccup-canvas/package.json
@@ -1,6 +1,6 @@
{
"name": "@thi.ng/hiccup-canvas",
- "version": "1.2.0",
+ "version": "1.2.5",
"description": "Hiccup shape tree renderer for vanilla Canvas 2D contexts",
"module": "./index.js",
"main": "./lib/index.js",
@@ -42,18 +42,19 @@
"@thi.ng/pixel": "^0.9.0",
"@types/mocha": "^8.2.0",
"@types/node": "^14.14.14",
- "mocha": "^8.3.0",
+ "mocha": "^9.0.0",
"nyc": "^15.1.0",
- "ts-node": "^9.1.1",
+ "ts-node": "^10.0.0",
"typedoc": "^0.20.30",
- "typescript": "^4.2.3"
+ "typescript": "4.2.4"
},
"dependencies": {
- "@thi.ng/api": "^7.1.4",
- "@thi.ng/checks": "^2.9.6",
- "@thi.ng/color": "^3.1.12",
- "@thi.ng/math": "^3.4.0",
- "@thi.ng/vectors": "^5.2.1"
+ "@thi.ng/api": "^7.1.5",
+ "@thi.ng/checks": "^2.9.7",
+ "@thi.ng/color": "^3.1.16",
+ "@thi.ng/math": "^4.0.1",
+ "@thi.ng/pixel": "^0.10.3",
+ "@thi.ng/vectors": "^6.0.1"
},
"files": [
"*.js",
diff --git a/packages/hiccup-carbon-icons/CHANGELOG.md b/packages/hiccup-carbon-icons/CHANGELOG.md
index 40f723b84c..62a26a5188 100644
--- a/packages/hiccup-carbon-icons/CHANGELOG.md
+++ b/packages/hiccup-carbon-icons/CHANGELOG.md
@@ -3,23 +3,7 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
-## [2.0.18](https://github.com/thi-ng/umbrella/compare/@thi.ng/hiccup-carbon-icons@2.0.17...@thi.ng/hiccup-carbon-icons@2.0.18) (2021-04-03)
-
-**Note:** Version bump only for package @thi.ng/hiccup-carbon-icons
-
-
-
-
-
-## [2.0.17](https://github.com/thi-ng/umbrella/compare/@thi.ng/hiccup-carbon-icons@2.0.16...@thi.ng/hiccup-carbon-icons@2.0.17) (2021-03-17)
-
-**Note:** Version bump only for package @thi.ng/hiccup-carbon-icons
-
-
-
-
-
-## [2.0.16](https://github.com/thi-ng/umbrella/compare/@thi.ng/hiccup-carbon-icons@2.0.15...@thi.ng/hiccup-carbon-icons@2.0.16) (2021-03-12)
+## [2.0.19](https://github.com/thi-ng/umbrella/compare/@thi.ng/hiccup-carbon-icons@2.0.18...@thi.ng/hiccup-carbon-icons@2.0.19) (2021-06-08)
**Note:** Version bump only for package @thi.ng/hiccup-carbon-icons
diff --git a/packages/hiccup-carbon-icons/package.json b/packages/hiccup-carbon-icons/package.json
index 56142566a3..f32378b0cf 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": "2.0.18",
+ "version": "2.0.19",
"description": "Full set of IBM's Carbon icons in hiccup format",
"module": "./index.js",
"main": "./lib/index.js",
@@ -42,14 +42,14 @@
"devDependencies": {
"@istanbuljs/nyc-config-typescript": "^1.0.1",
"@microsoft/api-extractor": "^7.13.1",
- "@thi.ng/hiccup": "^3.6.15",
+ "@thi.ng/hiccup": "^3.6.16",
"@types/mocha": "^8.2.0",
"@types/node": "^14.14.14",
- "mocha": "^8.3.0",
+ "mocha": "^9.0.0",
"nyc": "^15.1.0",
- "ts-node": "^9.1.1",
+ "ts-node": "^10.0.0",
"typedoc": "^0.20.30",
- "typescript": "^4.2.3"
+ "typescript": "4.2.4"
},
"files": [
"*.js",
diff --git a/packages/hiccup-css/CHANGELOG.md b/packages/hiccup-css/CHANGELOG.md
index afac1eaf95..f321b7d157 100644
--- a/packages/hiccup-css/CHANGELOG.md
+++ b/packages/hiccup-css/CHANGELOG.md
@@ -3,39 +3,7 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
-## [1.1.59](https://github.com/thi-ng/umbrella/compare/@thi.ng/hiccup-css@1.1.58...@thi.ng/hiccup-css@1.1.59) (2021-04-03)
-
-**Note:** Version bump only for package @thi.ng/hiccup-css
-
-
-
-
-
-## [1.1.58](https://github.com/thi-ng/umbrella/compare/@thi.ng/hiccup-css@1.1.57...@thi.ng/hiccup-css@1.1.58) (2021-03-28)
-
-**Note:** Version bump only for package @thi.ng/hiccup-css
-
-
-
-
-
-## [1.1.57](https://github.com/thi-ng/umbrella/compare/@thi.ng/hiccup-css@1.1.56...@thi.ng/hiccup-css@1.1.57) (2021-03-27)
-
-**Note:** Version bump only for package @thi.ng/hiccup-css
-
-
-
-
-
-## [1.1.56](https://github.com/thi-ng/umbrella/compare/@thi.ng/hiccup-css@1.1.55...@thi.ng/hiccup-css@1.1.56) (2021-03-17)
-
-**Note:** Version bump only for package @thi.ng/hiccup-css
-
-
-
-
-
-## [1.1.55](https://github.com/thi-ng/umbrella/compare/@thi.ng/hiccup-css@1.1.54...@thi.ng/hiccup-css@1.1.55) (2021-03-12)
+## [1.1.63](https://github.com/thi-ng/umbrella/compare/@thi.ng/hiccup-css@1.1.62...@thi.ng/hiccup-css@1.1.63) (2021-06-08)
**Note:** Version bump only for package @thi.ng/hiccup-css
diff --git a/packages/hiccup-css/package.json b/packages/hiccup-css/package.json
index 05d3c5f75f..9695a7f27d 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.59",
+ "version": "1.1.63",
"description": "CSS from nested JS data structures",
"module": "./index.js",
"main": "./lib/index.js",
@@ -42,17 +42,17 @@
"@microsoft/api-extractor": "^7.13.1",
"@types/mocha": "^8.2.0",
"@types/node": "^14.14.14",
- "mocha": "^8.3.0",
+ "mocha": "^9.0.0",
"nyc": "^15.1.0",
- "ts-node": "^9.1.1",
+ "ts-node": "^10.0.0",
"typedoc": "^0.20.30",
- "typescript": "^4.2.3"
+ "typescript": "4.2.4"
},
"dependencies": {
- "@thi.ng/api": "^7.1.4",
- "@thi.ng/checks": "^2.9.6",
- "@thi.ng/errors": "^1.3.0",
- "@thi.ng/transducers": "^7.6.10"
+ "@thi.ng/api": "^7.1.5",
+ "@thi.ng/checks": "^2.9.7",
+ "@thi.ng/errors": "^1.3.1",
+ "@thi.ng/transducers": "^7.7.3"
},
"files": [
"*.js",
diff --git a/packages/hiccup-html/CHANGELOG.md b/packages/hiccup-html/CHANGELOG.md
index 547c505bcd..a1ed2bca76 100644
--- a/packages/hiccup-html/CHANGELOG.md
+++ b/packages/hiccup-html/CHANGELOG.md
@@ -3,7 +3,7 @@
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/hiccup-html@0.3.16...@thi.ng/hiccup-html@0.3.17) (2021-03-12)
+## [0.3.18](https://github.com/thi-ng/umbrella/compare/@thi.ng/hiccup-html@0.3.17...@thi.ng/hiccup-html@0.3.18) (2021-06-08)
**Note:** Version bump only for package @thi.ng/hiccup-html
diff --git a/packages/hiccup-html/package.json b/packages/hiccup-html/package.json
index 3c27ffde1f..a5e9fcecbe 100644
--- a/packages/hiccup-html/package.json
+++ b/packages/hiccup-html/package.json
@@ -1,6 +1,6 @@
{
"name": "@thi.ng/hiccup-html",
- "version": "0.3.17",
+ "version": "0.3.18",
"description": "100+ type-checked HTML5 element functions for @thi.ng/hiccup related infrastructure",
"module": "./index.js",
"main": "./lib/index.js",
@@ -41,14 +41,14 @@
"@microsoft/api-extractor": "^7.13.1",
"@types/mocha": "^8.2.0",
"@types/node": "^14.14.14",
- "mocha": "^8.3.0",
+ "mocha": "^9.0.0",
"nyc": "^15.1.0",
- "ts-node": "^9.1.1",
+ "ts-node": "^10.0.0",
"typedoc": "^0.20.30",
- "typescript": "^4.2.3"
+ "typescript": "4.2.4"
},
"dependencies": {
- "@thi.ng/api": "^7.1.4"
+ "@thi.ng/api": "^7.1.5"
},
"files": [
"*.js",
diff --git a/packages/hiccup-markdown/CHANGELOG.md b/packages/hiccup-markdown/CHANGELOG.md
index fc6bb1786b..6b8c7c98e3 100644
--- a/packages/hiccup-markdown/CHANGELOG.md
+++ b/packages/hiccup-markdown/CHANGELOG.md
@@ -3,87 +3,7 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
-## [1.3.17](https://github.com/thi-ng/umbrella/compare/@thi.ng/hiccup-markdown@1.3.16...@thi.ng/hiccup-markdown@1.3.17) (2021-04-03)
-
-**Note:** Version bump only for package @thi.ng/hiccup-markdown
-
-
-
-
-
-## [1.3.16](https://github.com/thi-ng/umbrella/compare/@thi.ng/hiccup-markdown@1.3.15...@thi.ng/hiccup-markdown@1.3.16) (2021-03-30)
-
-**Note:** Version bump only for package @thi.ng/hiccup-markdown
-
-
-
-
-
-## [1.3.15](https://github.com/thi-ng/umbrella/compare/@thi.ng/hiccup-markdown@1.3.14...@thi.ng/hiccup-markdown@1.3.15) (2021-03-30)
-
-**Note:** Version bump only for package @thi.ng/hiccup-markdown
-
-
-
-
-
-## [1.3.14](https://github.com/thi-ng/umbrella/compare/@thi.ng/hiccup-markdown@1.3.13...@thi.ng/hiccup-markdown@1.3.14) (2021-03-28)
-
-**Note:** Version bump only for package @thi.ng/hiccup-markdown
-
-
-
-
-
-## [1.3.13](https://github.com/thi-ng/umbrella/compare/@thi.ng/hiccup-markdown@1.3.12...@thi.ng/hiccup-markdown@1.3.13) (2021-03-27)
-
-**Note:** Version bump only for package @thi.ng/hiccup-markdown
-
-
-
-
-
-## [1.3.12](https://github.com/thi-ng/umbrella/compare/@thi.ng/hiccup-markdown@1.3.11...@thi.ng/hiccup-markdown@1.3.12) (2021-03-26)
-
-**Note:** Version bump only for package @thi.ng/hiccup-markdown
-
-
-
-
-
-## [1.3.11](https://github.com/thi-ng/umbrella/compare/@thi.ng/hiccup-markdown@1.3.10...@thi.ng/hiccup-markdown@1.3.11) (2021-03-24)
-
-**Note:** Version bump only for package @thi.ng/hiccup-markdown
-
-
-
-
-
-## [1.3.10](https://github.com/thi-ng/umbrella/compare/@thi.ng/hiccup-markdown@1.3.9...@thi.ng/hiccup-markdown@1.3.10) (2021-03-24)
-
-**Note:** Version bump only for package @thi.ng/hiccup-markdown
-
-
-
-
-
-## [1.3.9](https://github.com/thi-ng/umbrella/compare/@thi.ng/hiccup-markdown@1.3.8...@thi.ng/hiccup-markdown@1.3.9) (2021-03-24)
-
-**Note:** Version bump only for package @thi.ng/hiccup-markdown
-
-
-
-
-
-## [1.3.8](https://github.com/thi-ng/umbrella/compare/@thi.ng/hiccup-markdown@1.3.7...@thi.ng/hiccup-markdown@1.3.8) (2021-03-17)
-
-**Note:** Version bump only for package @thi.ng/hiccup-markdown
-
-
-
-
-
-## [1.3.7](https://github.com/thi-ng/umbrella/compare/@thi.ng/hiccup-markdown@1.3.6...@thi.ng/hiccup-markdown@1.3.7) (2021-03-12)
+## [1.3.21](https://github.com/thi-ng/umbrella/compare/@thi.ng/hiccup-markdown@1.3.20...@thi.ng/hiccup-markdown@1.3.21) (2021-06-08)
**Note:** Version bump only for package @thi.ng/hiccup-markdown
diff --git a/packages/hiccup-markdown/package.json b/packages/hiccup-markdown/package.json
index 8fbf051d12..26fcdcb0e3 100644
--- a/packages/hiccup-markdown/package.json
+++ b/packages/hiccup-markdown/package.json
@@ -1,6 +1,6 @@
{
"name": "@thi.ng/hiccup-markdown",
- "version": "1.3.17",
+ "version": "1.3.21",
"description": "Markdown parser & serializer from/to Hiccup format",
"module": "./index.js",
"main": "./lib/index.js",
@@ -42,23 +42,23 @@
"@microsoft/api-extractor": "^7.13.1",
"@types/mocha": "^8.2.0",
"@types/node": "^14.14.14",
- "mocha": "^8.3.0",
+ "mocha": "^9.0.0",
"nyc": "^15.1.0",
- "ts-node": "^9.1.1",
+ "ts-node": "^10.0.0",
"typedoc": "^0.20.30",
- "typescript": "^4.2.3"
+ "typescript": "4.2.4"
},
"dependencies": {
- "@thi.ng/api": "^7.1.4",
- "@thi.ng/arrays": "^0.10.10",
- "@thi.ng/checks": "^2.9.6",
- "@thi.ng/defmulti": "^1.3.11",
- "@thi.ng/errors": "^1.3.0",
- "@thi.ng/fsm": "^2.4.49",
- "@thi.ng/hiccup": "^3.6.15",
- "@thi.ng/strings": "^2.1.0",
- "@thi.ng/text-canvas": "^0.7.5",
- "@thi.ng/transducers": "^7.6.10"
+ "@thi.ng/api": "^7.1.5",
+ "@thi.ng/arrays": "^0.10.12",
+ "@thi.ng/checks": "^2.9.7",
+ "@thi.ng/defmulti": "^1.3.12",
+ "@thi.ng/errors": "^1.3.1",
+ "@thi.ng/fsm": "^2.4.53",
+ "@thi.ng/hiccup": "^3.6.16",
+ "@thi.ng/strings": "^2.1.1",
+ "@thi.ng/text-canvas": "^0.7.9",
+ "@thi.ng/transducers": "^7.7.3"
},
"files": [
"*.js",
diff --git a/packages/hiccup-svg/CHANGELOG.md b/packages/hiccup-svg/CHANGELOG.md
index 16f990c637..c0815eb052 100644
--- a/packages/hiccup-svg/CHANGELOG.md
+++ b/packages/hiccup-svg/CHANGELOG.md
@@ -3,63 +3,7 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
-## [3.7.20](https://github.com/thi-ng/umbrella/compare/@thi.ng/hiccup-svg@3.7.19...@thi.ng/hiccup-svg@3.7.20) (2021-04-03)
-
-**Note:** Version bump only for package @thi.ng/hiccup-svg
-
-
-
-
-
-## [3.7.19](https://github.com/thi-ng/umbrella/compare/@thi.ng/hiccup-svg@3.7.18...@thi.ng/hiccup-svg@3.7.19) (2021-03-30)
-
-**Note:** Version bump only for package @thi.ng/hiccup-svg
-
-
-
-
-
-## [3.7.18](https://github.com/thi-ng/umbrella/compare/@thi.ng/hiccup-svg@3.7.17...@thi.ng/hiccup-svg@3.7.18) (2021-03-28)
-
-**Note:** Version bump only for package @thi.ng/hiccup-svg
-
-
-
-
-
-## [3.7.17](https://github.com/thi-ng/umbrella/compare/@thi.ng/hiccup-svg@3.7.16...@thi.ng/hiccup-svg@3.7.17) (2021-03-27)
-
-**Note:** Version bump only for package @thi.ng/hiccup-svg
-
-
-
-
-
-## [3.7.16](https://github.com/thi-ng/umbrella/compare/@thi.ng/hiccup-svg@3.7.15...@thi.ng/hiccup-svg@3.7.16) (2021-03-24)
-
-**Note:** Version bump only for package @thi.ng/hiccup-svg
-
-
-
-
-
-## [3.7.15](https://github.com/thi-ng/umbrella/compare/@thi.ng/hiccup-svg@3.7.14...@thi.ng/hiccup-svg@3.7.15) (2021-03-24)
-
-**Note:** Version bump only for package @thi.ng/hiccup-svg
-
-
-
-
-
-## [3.7.14](https://github.com/thi-ng/umbrella/compare/@thi.ng/hiccup-svg@3.7.13...@thi.ng/hiccup-svg@3.7.14) (2021-03-17)
-
-**Note:** Version bump only for package @thi.ng/hiccup-svg
-
-
-
-
-
-## [3.7.13](https://github.com/thi-ng/umbrella/compare/@thi.ng/hiccup-svg@3.7.12...@thi.ng/hiccup-svg@3.7.13) (2021-03-12)
+## [3.7.24](https://github.com/thi-ng/umbrella/compare/@thi.ng/hiccup-svg@3.7.23...@thi.ng/hiccup-svg@3.7.24) (2021-06-08)
**Note:** Version bump only for package @thi.ng/hiccup-svg
diff --git a/packages/hiccup-svg/README.md b/packages/hiccup-svg/README.md
index c70fe031af..d5bfe7b5d6 100644
--- a/packages/hiccup-svg/README.md
+++ b/packages/hiccup-svg/README.md
@@ -169,17 +169,18 @@ directory are using this package.
A selection:
-| Screenshot | Description | Live demo | Source |
-| ------------------------------------------------------------------------------------------------------------------------------------ | ---------------------------------------------------------------------- | -------------------------------------------------------- | ------------------------------------------------------------------------------------- |
-| | Probabilistic color theme generator | [Demo](https://demo.thi.ng/umbrella/color-themes/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/color-themes) |
-| | Heatmap visualization of this mono-repo's commits | | [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 | | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/package-stats) |
-| | Generate SVG using pointfree DSL | | [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) |
+| Screenshot | Description | Live demo | Source |
+| ------------------------------------------------------------------------------------------------------------------------------------ | --------------------------------------------------------------------------- | -------------------------------------------------------- | ------------------------------------------------------------------------------------- |
+| | Probabilistic color theme generator | [Demo](https://demo.thi.ng/umbrella/color-themes/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/color-themes) |
+| | Heatmap visualization of this mono-repo's commits | | [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) |
+| | Color palette generation via dominant color extraction from uploaded images | [Demo](https://demo.thi.ng/umbrella/dominant-colors/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/dominant-colors) |
+| | 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 | | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/package-stats) |
+| | Generate SVG using pointfree DSL | | [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-svg/package.json b/packages/hiccup-svg/package.json
index 679865c488..2bcf1c7e13 100644
--- a/packages/hiccup-svg/package.json
+++ b/packages/hiccup-svg/package.json
@@ -1,6 +1,6 @@
{
"name": "@thi.ng/hiccup-svg",
- "version": "3.7.20",
+ "version": "3.7.24",
"description": "SVG element functions for @thi.ng/hiccup & @thi.ng/hdom",
"module": "./index.js",
"main": "./lib/index.js",
@@ -42,16 +42,16 @@
"@microsoft/api-extractor": "^7.13.1",
"@types/mocha": "^8.2.0",
"@types/node": "^14.14.14",
- "mocha": "^8.3.0",
+ "mocha": "^9.0.0",
"nyc": "^15.1.0",
- "ts-node": "^9.1.1",
+ "ts-node": "^10.0.0",
"typedoc": "^0.20.30",
- "typescript": "^4.2.3"
+ "typescript": "4.2.4"
},
"dependencies": {
- "@thi.ng/checks": "^2.9.6",
- "@thi.ng/color": "^3.1.12",
- "@thi.ng/prefixes": "^0.1.17"
+ "@thi.ng/checks": "^2.9.7",
+ "@thi.ng/color": "^3.1.16",
+ "@thi.ng/prefixes": "^0.1.18"
},
"files": [
"*.js",
diff --git a/packages/hiccup/CHANGELOG.md b/packages/hiccup/CHANGELOG.md
index dc680e9871..ccc3a61025 100644
--- a/packages/hiccup/CHANGELOG.md
+++ b/packages/hiccup/CHANGELOG.md
@@ -3,23 +3,7 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
-## [3.6.15](https://github.com/thi-ng/umbrella/compare/@thi.ng/hiccup@3.6.14...@thi.ng/hiccup@3.6.15) (2021-04-03)
-
-**Note:** Version bump only for package @thi.ng/hiccup
-
-
-
-
-
-## [3.6.14](https://github.com/thi-ng/umbrella/compare/@thi.ng/hiccup@3.6.13...@thi.ng/hiccup@3.6.14) (2021-03-17)
-
-**Note:** Version bump only for package @thi.ng/hiccup
-
-
-
-
-
-## [3.6.13](https://github.com/thi-ng/umbrella/compare/@thi.ng/hiccup@3.6.12...@thi.ng/hiccup@3.6.13) (2021-03-12)
+## [3.6.16](https://github.com/thi-ng/umbrella/compare/@thi.ng/hiccup@3.6.15...@thi.ng/hiccup@3.6.16) (2021-06-08)
**Note:** Version bump only for package @thi.ng/hiccup
diff --git a/packages/hiccup/package.json b/packages/hiccup/package.json
index 7ca9c0aaa2..b835fe6f30 100644
--- a/packages/hiccup/package.json
+++ b/packages/hiccup/package.json
@@ -1,6 +1,6 @@
{
"name": "@thi.ng/hiccup",
- "version": "3.6.15",
+ "version": "3.6.16",
"description": "HTML/SVG/XML serialization of nested data structures, iterables & closures",
"module": "./index.js",
"main": "./lib/index.js",
@@ -40,19 +40,19 @@
"devDependencies": {
"@istanbuljs/nyc-config-typescript": "^1.0.1",
"@microsoft/api-extractor": "^7.13.1",
- "@thi.ng/atom": "^4.1.35",
+ "@thi.ng/atom": "^4.1.36",
"@types/mocha": "^8.2.0",
"@types/node": "^14.14.14",
- "mocha": "^8.3.0",
+ "mocha": "^9.0.0",
"nyc": "^15.1.0",
- "ts-node": "^9.1.1",
+ "ts-node": "^10.0.0",
"typedoc": "^0.20.30",
- "typescript": "^4.2.3"
+ "typescript": "4.2.4"
},
"dependencies": {
- "@thi.ng/api": "^7.1.4",
- "@thi.ng/checks": "^2.9.6",
- "@thi.ng/errors": "^1.3.0"
+ "@thi.ng/api": "^7.1.5",
+ "@thi.ng/checks": "^2.9.7",
+ "@thi.ng/errors": "^1.3.1"
},
"files": [
"*.js",
diff --git a/packages/idgen/CHANGELOG.md b/packages/idgen/CHANGELOG.md
index 02b58d8233..a8a1fefe94 100644
--- a/packages/idgen/CHANGELOG.md
+++ b/packages/idgen/CHANGELOG.md
@@ -3,7 +3,7 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
-## [0.2.35](https://github.com/thi-ng/umbrella/compare/@thi.ng/idgen@0.2.34...@thi.ng/idgen@0.2.35) (2021-03-12)
+## [0.2.36](https://github.com/thi-ng/umbrella/compare/@thi.ng/idgen@0.2.35...@thi.ng/idgen@0.2.36) (2021-06-08)
**Note:** Version bump only for package @thi.ng/idgen
diff --git a/packages/idgen/package.json b/packages/idgen/package.json
index d19df234be..af51eb3626 100644
--- a/packages/idgen/package.json
+++ b/packages/idgen/package.json
@@ -1,6 +1,6 @@
{
"name": "@thi.ng/idgen",
- "version": "0.2.35",
+ "version": "0.2.36",
"description": "Generator of opaque numeric identifiers with optional support for ID versioning and efficient re-use",
"module": "./index.js",
"main": "./lib/index.js",
@@ -42,14 +42,14 @@
"@microsoft/api-extractor": "^7.13.1",
"@types/mocha": "^8.2.0",
"@types/node": "^14.14.14",
- "mocha": "^8.3.0",
+ "mocha": "^9.0.0",
"nyc": "^15.1.0",
- "ts-node": "^9.1.1",
+ "ts-node": "^10.0.0",
"typedoc": "^0.20.30",
- "typescript": "^4.2.3"
+ "typescript": "4.2.4"
},
"dependencies": {
- "@thi.ng/api": "^7.1.4",
+ "@thi.ng/api": "^7.1.5",
"tslib": "^2.1.0"
},
"files": [
diff --git a/packages/iges/CHANGELOG.md b/packages/iges/CHANGELOG.md
index 4ee09968cd..f81b15fe57 100644
--- a/packages/iges/CHANGELOG.md
+++ b/packages/iges/CHANGELOG.md
@@ -3,63 +3,7 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
-## [1.1.73](https://github.com/thi-ng/umbrella/compare/@thi.ng/iges@1.1.72...@thi.ng/iges@1.1.73) (2021-04-03)
-
-**Note:** Version bump only for package @thi.ng/iges
-
-
-
-
-
-## [1.1.72](https://github.com/thi-ng/umbrella/compare/@thi.ng/iges@1.1.71...@thi.ng/iges@1.1.72) (2021-03-30)
-
-**Note:** Version bump only for package @thi.ng/iges
-
-
-
-
-
-## [1.1.71](https://github.com/thi-ng/umbrella/compare/@thi.ng/iges@1.1.70...@thi.ng/iges@1.1.71) (2021-03-28)
-
-**Note:** Version bump only for package @thi.ng/iges
-
-
-
-
-
-## [1.1.70](https://github.com/thi-ng/umbrella/compare/@thi.ng/iges@1.1.69...@thi.ng/iges@1.1.70) (2021-03-27)
-
-**Note:** Version bump only for package @thi.ng/iges
-
-
-
-
-
-## [1.1.69](https://github.com/thi-ng/umbrella/compare/@thi.ng/iges@1.1.68...@thi.ng/iges@1.1.69) (2021-03-24)
-
-**Note:** Version bump only for package @thi.ng/iges
-
-
-
-
-
-## [1.1.68](https://github.com/thi-ng/umbrella/compare/@thi.ng/iges@1.1.67...@thi.ng/iges@1.1.68) (2021-03-24)
-
-**Note:** Version bump only for package @thi.ng/iges
-
-
-
-
-
-## [1.1.67](https://github.com/thi-ng/umbrella/compare/@thi.ng/iges@1.1.66...@thi.ng/iges@1.1.67) (2021-03-17)
-
-**Note:** Version bump only for package @thi.ng/iges
-
-
-
-
-
-## [1.1.66](https://github.com/thi-ng/umbrella/compare/@thi.ng/iges@1.1.65...@thi.ng/iges@1.1.66) (2021-03-12)
+## [1.1.77](https://github.com/thi-ng/umbrella/compare/@thi.ng/iges@1.1.76...@thi.ng/iges@1.1.77) (2021-06-08)
**Note:** Version bump only for package @thi.ng/iges
diff --git a/packages/iges/package.json b/packages/iges/package.json
index ca3e28897d..8c25d5e81c 100644
--- a/packages/iges/package.json
+++ b/packages/iges/package.json
@@ -1,6 +1,6 @@
{
"name": "@thi.ng/iges",
- "version": "1.1.73",
+ "version": "1.1.77",
"description": "IGES 5.3 serializer for (currently only) polygonal geometry, both open & closed",
"module": "./index.js",
"main": "./lib/index.js",
@@ -42,19 +42,19 @@
"@microsoft/api-extractor": "^7.13.1",
"@types/mocha": "^8.2.0",
"@types/node": "^14.14.14",
- "mocha": "^8.3.0",
+ "mocha": "^9.0.0",
"nyc": "^15.1.0",
- "ts-node": "^9.1.1",
+ "ts-node": "^10.0.0",
"typedoc": "^0.20.30",
- "typescript": "^4.2.3"
+ "typescript": "4.2.4"
},
"dependencies": {
- "@thi.ng/api": "^7.1.4",
- "@thi.ng/checks": "^2.9.6",
- "@thi.ng/defmulti": "^1.3.11",
- "@thi.ng/strings": "^2.1.0",
- "@thi.ng/transducers": "^7.6.10",
- "@thi.ng/vectors": "^5.2.1"
+ "@thi.ng/api": "^7.1.5",
+ "@thi.ng/checks": "^2.9.7",
+ "@thi.ng/defmulti": "^1.3.12",
+ "@thi.ng/strings": "^2.1.1",
+ "@thi.ng/transducers": "^7.7.3",
+ "@thi.ng/vectors": "^6.0.1"
},
"files": [
"*.js",
diff --git a/packages/imgui/CHANGELOG.md b/packages/imgui/CHANGELOG.md
index a28caf4144..4a4db531ce 100644
--- a/packages/imgui/CHANGELOG.md
+++ b/packages/imgui/CHANGELOG.md
@@ -3,63 +3,7 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
-## [0.2.67](https://github.com/thi-ng/umbrella/compare/@thi.ng/imgui@0.2.66...@thi.ng/imgui@0.2.67) (2021-04-03)
-
-**Note:** Version bump only for package @thi.ng/imgui
-
-
-
-
-
-## [0.2.66](https://github.com/thi-ng/umbrella/compare/@thi.ng/imgui@0.2.65...@thi.ng/imgui@0.2.66) (2021-03-30)
-
-**Note:** Version bump only for package @thi.ng/imgui
-
-
-
-
-
-## [0.2.65](https://github.com/thi-ng/umbrella/compare/@thi.ng/imgui@0.2.64...@thi.ng/imgui@0.2.65) (2021-03-28)
-
-**Note:** Version bump only for package @thi.ng/imgui
-
-
-
-
-
-## [0.2.64](https://github.com/thi-ng/umbrella/compare/@thi.ng/imgui@0.2.63...@thi.ng/imgui@0.2.64) (2021-03-27)
-
-**Note:** Version bump only for package @thi.ng/imgui
-
-
-
-
-
-## [0.2.63](https://github.com/thi-ng/umbrella/compare/@thi.ng/imgui@0.2.62...@thi.ng/imgui@0.2.63) (2021-03-24)
-
-**Note:** Version bump only for package @thi.ng/imgui
-
-
-
-
-
-## [0.2.62](https://github.com/thi-ng/umbrella/compare/@thi.ng/imgui@0.2.61...@thi.ng/imgui@0.2.62) (2021-03-24)
-
-**Note:** Version bump only for package @thi.ng/imgui
-
-
-
-
-
-## [0.2.61](https://github.com/thi-ng/umbrella/compare/@thi.ng/imgui@0.2.60...@thi.ng/imgui@0.2.61) (2021-03-17)
-
-**Note:** Version bump only for package @thi.ng/imgui
-
-
-
-
-
-## [0.2.60](https://github.com/thi-ng/umbrella/compare/@thi.ng/imgui@0.2.59...@thi.ng/imgui@0.2.60) (2021-03-12)
+## [0.2.71](https://github.com/thi-ng/umbrella/compare/@thi.ng/imgui@0.2.70...@thi.ng/imgui@0.2.71) (2021-06-08)
**Note:** Version bump only for package @thi.ng/imgui
diff --git a/packages/imgui/package.json b/packages/imgui/package.json
index 2cdae169ed..32124f9778 100644
--- a/packages/imgui/package.json
+++ b/packages/imgui/package.json
@@ -1,6 +1,6 @@
{
"name": "@thi.ng/imgui",
- "version": "0.2.67",
+ "version": "0.2.71",
"description": "Immediate mode GUI with flexible state handling & data only shape output",
"module": "./index.js",
"main": "./lib/index.js",
@@ -42,23 +42,23 @@
"@microsoft/api-extractor": "^7.13.1",
"@types/mocha": "^8.2.0",
"@types/node": "^14.14.14",
- "mocha": "^8.3.0",
+ "mocha": "^9.0.0",
"nyc": "^15.1.0",
- "ts-node": "^9.1.1",
+ "ts-node": "^10.0.0",
"typedoc": "^0.20.30",
- "typescript": "^4.2.3"
+ "typescript": "4.2.4"
},
"dependencies": {
- "@thi.ng/api": "^7.1.4",
- "@thi.ng/checks": "^2.9.6",
- "@thi.ng/geom": "^2.1.14",
- "@thi.ng/geom-api": "^2.0.17",
- "@thi.ng/geom-isec": "^0.7.20",
- "@thi.ng/geom-tessellate": "^0.2.69",
- "@thi.ng/layout": "^0.1.35",
- "@thi.ng/math": "^3.4.0",
- "@thi.ng/transducers": "^7.6.10",
- "@thi.ng/vectors": "^5.2.1"
+ "@thi.ng/api": "^7.1.5",
+ "@thi.ng/checks": "^2.9.7",
+ "@thi.ng/geom": "^2.1.18",
+ "@thi.ng/geom-api": "^2.0.21",
+ "@thi.ng/geom-isec": "^0.7.24",
+ "@thi.ng/geom-tessellate": "^0.2.73",
+ "@thi.ng/layout": "^0.1.36",
+ "@thi.ng/math": "^4.0.1",
+ "@thi.ng/transducers": "^7.7.3",
+ "@thi.ng/vectors": "^6.0.1"
},
"files": [
"*.js",
diff --git a/packages/imgui/src/components/radial-menu.ts b/packages/imgui/src/components/radial-menu.ts
index ca380c92d8..a03b5995b1 100644
--- a/packages/imgui/src/components/radial-menu.ts
+++ b/packages/imgui/src/components/radial-menu.ts
@@ -1,6 +1,6 @@
import { centroid, circle, polygon, Polygon, vertices } from "@thi.ng/geom";
import { triFan } from "@thi.ng/geom-tessellate";
-import { fmod } from "@thi.ng/math";
+import { mod } from "@thi.ng/math";
import { mapIndexed } from "@thi.ng/transducers";
import { add2, hash } from "@thi.ng/vectors";
import { Hash, Key } from "../api";
@@ -49,11 +49,11 @@ export const radialMenu = (
switch (gui.key) {
case Key.UP:
case Key.RIGHT:
- gui.focusID = id + fmod(sel + 1, n);
+ gui.focusID = id + mod(sel + 1, n);
break;
case Key.DOWN:
case Key.LEFT:
- gui.focusID = id + fmod(sel - 1, n);
+ gui.focusID = id + mod(sel - 1, n);
default:
}
}
diff --git a/packages/interceptors/CHANGELOG.md b/packages/interceptors/CHANGELOG.md
index 81cb99ff2e..6557797e88 100644
--- a/packages/interceptors/CHANGELOG.md
+++ b/packages/interceptors/CHANGELOG.md
@@ -3,23 +3,7 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
-## [2.2.46](https://github.com/thi-ng/umbrella/compare/@thi.ng/interceptors@2.2.45...@thi.ng/interceptors@2.2.46) (2021-04-03)
-
-**Note:** Version bump only for package @thi.ng/interceptors
-
-
-
-
-
-## [2.2.45](https://github.com/thi-ng/umbrella/compare/@thi.ng/interceptors@2.2.44...@thi.ng/interceptors@2.2.45) (2021-03-17)
-
-**Note:** Version bump only for package @thi.ng/interceptors
-
-
-
-
-
-## [2.2.44](https://github.com/thi-ng/umbrella/compare/@thi.ng/interceptors@2.2.43...@thi.ng/interceptors@2.2.44) (2021-03-12)
+## [2.2.47](https://github.com/thi-ng/umbrella/compare/@thi.ng/interceptors@2.2.46...@thi.ng/interceptors@2.2.47) (2021-06-08)
**Note:** Version bump only for package @thi.ng/interceptors
diff --git a/packages/interceptors/package.json b/packages/interceptors/package.json
index 71a4df8a40..447fb3f9fd 100644
--- a/packages/interceptors/package.json
+++ b/packages/interceptors/package.json
@@ -1,6 +1,6 @@
{
"name": "@thi.ng/interceptors",
- "version": "2.2.46",
+ "version": "2.2.47",
"description": "Interceptor based event bus, side effect & immutable state handling",
"module": "./index.js",
"main": "./lib/index.js",
@@ -42,18 +42,18 @@
"@microsoft/api-extractor": "^7.13.1",
"@types/mocha": "^8.2.0",
"@types/node": "^14.14.14",
- "mocha": "^8.3.0",
+ "mocha": "^9.0.0",
"nyc": "^15.1.0",
- "ts-node": "^9.1.1",
+ "ts-node": "^10.0.0",
"typedoc": "^0.20.30",
- "typescript": "^4.2.3"
+ "typescript": "4.2.4"
},
"dependencies": {
- "@thi.ng/api": "^7.1.4",
- "@thi.ng/atom": "^4.1.35",
- "@thi.ng/checks": "^2.9.6",
- "@thi.ng/errors": "^1.3.0",
- "@thi.ng/paths": "^4.2.7"
+ "@thi.ng/api": "^7.1.5",
+ "@thi.ng/atom": "^4.1.36",
+ "@thi.ng/checks": "^2.9.7",
+ "@thi.ng/errors": "^1.3.1",
+ "@thi.ng/paths": "^4.2.8"
},
"files": [
"*.js",
diff --git a/packages/intervals/CHANGELOG.md b/packages/intervals/CHANGELOG.md
index e3d88def06..0ad36dbc7d 100644
--- a/packages/intervals/CHANGELOG.md
+++ b/packages/intervals/CHANGELOG.md
@@ -3,23 +3,7 @@
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/intervals@3.0.6...@thi.ng/intervals@3.0.7) (2021-04-03)
-
-**Note:** Version bump only for package @thi.ng/intervals
-
-
-
-
-
-## [3.0.6](https://github.com/thi-ng/umbrella/compare/@thi.ng/intervals@3.0.5...@thi.ng/intervals@3.0.6) (2021-03-17)
-
-**Note:** Version bump only for package @thi.ng/intervals
-
-
-
-
-
-## [3.0.5](https://github.com/thi-ng/umbrella/compare/@thi.ng/intervals@3.0.4...@thi.ng/intervals@3.0.5) (2021-03-12)
+## [3.0.8](https://github.com/thi-ng/umbrella/compare/@thi.ng/intervals@3.0.7...@thi.ng/intervals@3.0.8) (2021-06-08)
**Note:** Version bump only for package @thi.ng/intervals
diff --git a/packages/intervals/package.json b/packages/intervals/package.json
index 293d855e9c..a24454a782 100644
--- a/packages/intervals/package.json
+++ b/packages/intervals/package.json
@@ -1,6 +1,6 @@
{
"name": "@thi.ng/intervals",
- "version": "3.0.7",
+ "version": "3.0.8",
"description": "Closed/open/semi-open interval data type, queries & operations",
"module": "./index.js",
"main": "./lib/index.js",
@@ -42,17 +42,17 @@
"@microsoft/api-extractor": "^7.13.1",
"@types/mocha": "^8.2.0",
"@types/node": "^14.14.14",
- "mocha": "^8.3.0",
+ "mocha": "^9.0.0",
"nyc": "^15.1.0",
- "ts-node": "^9.1.1",
+ "ts-node": "^10.0.0",
"typedoc": "^0.20.30",
- "typescript": "^4.2.3"
+ "typescript": "4.2.4"
},
"dependencies": {
- "@thi.ng/api": "^7.1.4",
- "@thi.ng/checks": "^2.9.6",
- "@thi.ng/dlogic": "^1.0.43",
- "@thi.ng/errors": "^1.3.0"
+ "@thi.ng/api": "^7.1.5",
+ "@thi.ng/checks": "^2.9.7",
+ "@thi.ng/dlogic": "^1.0.44",
+ "@thi.ng/errors": "^1.3.1"
},
"files": [
"*.js",
diff --git a/packages/iterators/CHANGELOG.md b/packages/iterators/CHANGELOG.md
index ec9eab1d1e..8f80dc53c5 100644
--- a/packages/iterators/CHANGELOG.md
+++ b/packages/iterators/CHANGELOG.md
@@ -3,39 +3,7 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
-## [5.1.60](https://github.com/thi-ng/umbrella/compare/@thi.ng/iterators@5.1.59...@thi.ng/iterators@5.1.60) (2021-04-03)
-
-**Note:** Version bump only for package @thi.ng/iterators
-
-
-
-
-
-## [5.1.59](https://github.com/thi-ng/umbrella/compare/@thi.ng/iterators@5.1.58...@thi.ng/iterators@5.1.59) (2021-03-28)
-
-**Note:** Version bump only for package @thi.ng/iterators
-
-
-
-
-
-## [5.1.58](https://github.com/thi-ng/umbrella/compare/@thi.ng/iterators@5.1.57...@thi.ng/iterators@5.1.58) (2021-03-27)
-
-**Note:** Version bump only for package @thi.ng/iterators
-
-
-
-
-
-## [5.1.57](https://github.com/thi-ng/umbrella/compare/@thi.ng/iterators@5.1.56...@thi.ng/iterators@5.1.57) (2021-03-17)
-
-**Note:** Version bump only for package @thi.ng/iterators
-
-
-
-
-
-## [5.1.56](https://github.com/thi-ng/umbrella/compare/@thi.ng/iterators@5.1.55...@thi.ng/iterators@5.1.56) (2021-03-12)
+## [5.1.64](https://github.com/thi-ng/umbrella/compare/@thi.ng/iterators@5.1.63...@thi.ng/iterators@5.1.64) (2021-06-08)
**Note:** Version bump only for package @thi.ng/iterators
diff --git a/packages/iterators/package.json b/packages/iterators/package.json
index 2e83ad1ebc..4db52fc847 100644
--- a/packages/iterators/package.json
+++ b/packages/iterators/package.json
@@ -1,6 +1,6 @@
{
"name": "@thi.ng/iterators",
- "version": "5.1.60",
+ "version": "5.1.64",
"description": "Clojure inspired, composable ES6 iterators & generators",
"module": "./index.js",
"main": "./lib/index.js",
@@ -42,16 +42,16 @@
"@microsoft/api-extractor": "^7.13.1",
"@types/mocha": "^8.2.0",
"@types/node": "^14.14.14",
- "mocha": "^8.3.0",
+ "mocha": "^9.0.0",
"nyc": "^15.1.0",
- "ts-node": "^9.1.1",
+ "ts-node": "^10.0.0",
"typedoc": "^0.20.30",
- "typescript": "^4.2.3"
+ "typescript": "4.2.4"
},
"dependencies": {
- "@thi.ng/api": "^7.1.4",
- "@thi.ng/dcons": "^2.3.20",
- "@thi.ng/errors": "^1.3.0"
+ "@thi.ng/api": "^7.1.5",
+ "@thi.ng/dcons": "^2.3.24",
+ "@thi.ng/errors": "^1.3.1"
},
"files": [
"*.js",
diff --git a/packages/k-means/CHANGELOG.md b/packages/k-means/CHANGELOG.md
new file mode 100644
index 0000000000..6ab0f4bddf
--- /dev/null
+++ b/packages/k-means/CHANGELOG.md
@@ -0,0 +1,37 @@
+# Change Log
+
+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/k-means@0.2.1...@thi.ng/k-means@0.2.2) (2021-06-08)
+
+**Note:** Version bump only for package @thi.ng/k-means
+
+
+
+
+
+# [0.2.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/k-means@0.1.0...@thi.ng/k-means@0.2.0) (2021-04-20)
+
+
+### Features
+
+* **k-means:** add meansLatLon centroid strategy, docstrings ([269c11c](https://github.com/thi-ng/umbrella/commit/269c11c10907351d98acfb929af5036a23a2e5c3))
+
+
+
+
+
+# 0.1.0 (2021-04-19)
+
+
+### Bug Fixes
+
+* **k-means:** use dist metric in initKmeanspp() ([37bd6c6](https://github.com/thi-ng/umbrella/commit/37bd6c6ae062f903cea05bd6ce9d42e97aa5dbd9))
+
+
+### Features
+
+* **k-means:** add k-medians support ([6bc450b](https://github.com/thi-ng/umbrella/commit/6bc450b95e1ed93ab18a9045ce1d4ba324a61eb3))
+* **k-means:** add kmeans++ initialization, update opts ([fcc2dcc](https://github.com/thi-ng/umbrella/commit/fcc2dcc9624dc77e99dc69bd54c466ea0d1f3988))
+* **k-means:** import as new pkg ([a32aaf6](https://github.com/thi-ng/umbrella/commit/a32aaf63b703993adfb61766e36f9817aae1ed62))
diff --git a/packages/k-means/LICENSE b/packages/k-means/LICENSE
new file mode 100644
index 0000000000..8dada3edaf
--- /dev/null
+++ b/packages/k-means/LICENSE
@@ -0,0 +1,201 @@
+ Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
+
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+ 1. Definitions.
+
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
+
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
+
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
+
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
+
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
+
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
+
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
+
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
+
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
+
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
+
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
+
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
+
+ END OF TERMS AND CONDITIONS
+
+ APPENDIX: How to apply the Apache License to your work.
+
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "{}"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
+
+ Copyright {yyyy} {name of copyright owner}
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
diff --git a/packages/k-means/README.md b/packages/k-means/README.md
new file mode 100644
index 0000000000..4b5c5d1a13
--- /dev/null
+++ b/packages/k-means/README.md
@@ -0,0 +1,131 @@
+
+
+# ![k-means](https://media.thi.ng/umbrella/banners/thing-k-means.svg?1146b8a7)
+
+[![npm version](https://img.shields.io/npm/v/@thi.ng/k-means.svg)](https://www.npmjs.com/package/@thi.ng/k-means)
+![npm downloads](https://img.shields.io/npm/dm/@thi.ng/k-means.svg)
+[![Twitter Follow](https://img.shields.io/twitter/follow/thing_umbrella.svg?style=flat-square&label=twitter)](https://twitter.com/thing_umbrella)
+
+This project is part of the
+[@thi.ng/umbrella](https://github.com/thi-ng/umbrella/) monorepo.
+
+- [About](#about)
+ - [Status](#status)
+- [Installation](#installation)
+- [Dependencies](#dependencies)
+- [Usage examples](#usage-examples)
+- [API](#api)
+- [Authors](#authors)
+- [License](#license)
+
+## About
+
+Configurable k-means & k-medians (with k-means++ initialization) for n-D vectors.
+
+### Status
+
+**ALPHA** - bleeding edge / work-in-progress
+
+[Search or submit any issues for this package](https://github.com/thi-ng/umbrella/issues?q=%5Bk-means%5D+in%3Atitle)
+
+## Installation
+
+```bash
+yarn add @thi.ng/k-means
+```
+
+```html
+// ES module
+
+
+// UMD
+
+```
+
+Package sizes (gzipped, pre-treeshake): ESM: 928 bytes / CJS: 987 bytes / UMD: 1.07 KB
+
+## Dependencies
+
+- [@thi.ng/api](https://github.com/thi-ng/umbrella/tree/develop/packages/api)
+- [@thi.ng/distance](https://github.com/thi-ng/umbrella/tree/develop/packages/distance)
+- [@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)
+
+## Usage examples
+
+Several demos in this repo's
+[/examples](https://github.com/thi-ng/umbrella/tree/develop/examples)
+directory are using this package.
+
+A selection:
+
+| Screenshot | Description | Live demo | Source |
+| ---------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------- | ----------------------------------------------------- | ---------------------------------------------------------------------------------- |
+| | Color palette generation via dominant color extraction from uploaded images | [Demo](https://demo.thi.ng/umbrella/dominant-colors/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/dominant-colors) |
+
+## API
+
+[Generated API docs](https://docs.thi.ng/umbrella/k-means/)
+
+Example usage:
+
+```ts
+import { kmeans, meansLatLon } from "@thi.ng/k-means";
+import { HAVERSINE_LATLON } from "@thi.ng/distance";
+
+// data from: https://simplemaps.com/data/world-cities
+const items = [
+ { id: "berlin", latlon: [52.5167, 13.3833] },
+ { id: "boston", latlon: [42.3188, -71.0846] },
+ { id: "detroit", latlon: [42.3834, -83.1024] },
+ { id: "kyoto", latlon: [35.0111, 135.7669] },
+ { id: "london", latlon: [51.5072, -0.1275] },
+ { id: "new york", latlon: [40.6943, -73.9249] },
+ { id: "osaka", latlon: [34.6936, 135.5019] },
+ { id: "paris", latlon: [48.8566, 2.3522] },
+ { id: "philadelphia", latlon: [40.0077, -75.1339] },
+ { id: "tokyo", latlon: [35.6897, 139.6922] },
+ { id: "vienna", latlon: [48.2083, 16.3731] },
+];
+
+// cluster based on lat/lon
+const clusters = kmeans(
+ 3,
+ items.map((x) => x.latlon),
+ {
+ // custom centroid calc for geo locations
+ // https://docs.thi.ng/umbrella/k-means/modules.html#meanslatlon
+ strategy: meansLatLon,
+ // custom distance function for geo location (default: DIST_SQ)
+ dist: HAVERSINE_LATLON
+ }
+);
+
+// print each cluster
+for (let c of clusters) {
+ console.log(c.items.map((i) => items[i].id));
+}
+
+// [ 'boston', 'detroit', 'new york', 'philadelphia' ]
+// [ 'kyoto', 'osaka', 'tokyo' ]
+// [ 'berlin', 'london', 'paris', 'vienna' ]
+```
+
+## Authors
+
+Karsten Schmidt
+
+If this project contributes to an academic publication, please cite it as:
+
+```bibtex
+@misc{thing-k-means,
+ title = "@thi.ng/k-means",
+ author = "Karsten Schmidt",
+ note = "https://thi.ng/k-means",
+ year = 2021
+}
+```
+
+## License
+
+© 2021 Karsten Schmidt // Apache Software License 2.0
diff --git a/packages/k-means/api-extractor.json b/packages/k-means/api-extractor.json
new file mode 100644
index 0000000000..94972e6bed
--- /dev/null
+++ b/packages/k-means/api-extractor.json
@@ -0,0 +1,3 @@
+{
+ "extends": "../../api-extractor.json"
+}
diff --git a/packages/k-means/package.json b/packages/k-means/package.json
new file mode 100644
index 0000000000..ab06aa7a44
--- /dev/null
+++ b/packages/k-means/package.json
@@ -0,0 +1,79 @@
+{
+ "name": "@thi.ng/k-means",
+ "version": "0.2.2",
+ "description": "Configurable k-means & k-medians (with k-means++ initialization) for n-D vectors",
+ "module": "./index.js",
+ "main": "./lib/index.js",
+ "umd:main": "./lib/index.umd.js",
+ "typings": "./index.d.ts",
+ "repository": {
+ "type": "git",
+ "url": "https://github.com/thi-ng/umbrella.git"
+ },
+ "homepage": "https://github.com/thi-ng/umbrella/tree/master/packages/k-means#readme",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/postspectacular"
+ },
+ {
+ "type": "patreon",
+ "url": "https://patreon.com/thing_umbrella"
+ }
+ ],
+ "author": "Karsten Schmidt ",
+ "license": "Apache-2.0",
+ "scripts": {
+ "build": "yarn clean && yarn build:es6 && node ../../scripts/bundle-module",
+ "build:release": "yarn clean && yarn build:es6 && node ../../scripts/bundle-module all",
+ "build:es6": "tsc --declaration",
+ "build:test": "rimraf build && tsc -p test/tsconfig.json",
+ "build:check": "tsc --isolatedModules --noEmit",
+ "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 ../../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 --out doc --theme ../../tools/doc/typedoc-theme src/index.ts",
+ "pub": "yarn build:release && yarn publish --access public"
+ },
+ "devDependencies": {
+ "@istanbuljs/nyc-config-typescript": "^1.0.1",
+ "@microsoft/api-extractor": "^7.13.1",
+ "@types/mocha": "^8.2.0",
+ "@types/node": "^14.14.14",
+ "mocha": "^9.0.0",
+ "nyc": "^15.1.0",
+ "ts-node": "^10.0.0",
+ "typedoc": "^0.20.30",
+ "typescript": "4.2.4"
+ },
+ "dependencies": {
+ "@thi.ng/api": "^7.1.5",
+ "@thi.ng/distance": "^0.3.2",
+ "@thi.ng/random": "^2.4.1",
+ "@thi.ng/vectors": "^6.0.1"
+ },
+ "files": [
+ "*.js",
+ "*.d.ts",
+ "lib"
+ ],
+ "keywords": [
+ "cluster",
+ "distance",
+ "k-medians",
+ "k-means",
+ "k-means++",
+ "nd",
+ "typescript"
+ ],
+ "publishConfig": {
+ "access": "public"
+ },
+ "sideEffects": false,
+ "thi.ng": {
+ "status": "alpha",
+ "year": 2021
+ }
+}
diff --git a/packages/k-means/src/api.ts b/packages/k-means/src/api.ts
new file mode 100644
index 0000000000..201068d654
--- /dev/null
+++ b/packages/k-means/src/api.ts
@@ -0,0 +1,51 @@
+import type { Fn, Fn0 } from "@thi.ng/api";
+import type { IDistance } from "@thi.ng/distance";
+import type { IRandom } from "@thi.ng/random";
+import type { ReadonlyVec, Vec } from "@thi.ng/vectors";
+
+export interface KMeansOpts {
+ /**
+ * Array of initial centroids (i.e. indices of selected points in `samples`
+ * array given to {@link kmeans}).
+ */
+ initial: number[];
+ /**
+ * Distance function/metric to use for finding nearest centroid.
+ */
+ dist: IDistance;
+ /**
+ * Max. iteration count
+ */
+ maxIter: number;
+ /**
+ * PRNG instance to use for random centroid selection
+ */
+ rnd: IRandom;
+ /**
+ * Centroid refinement strategy (default: {@link means}).
+ */
+ strategy: CentroidStrategy;
+}
+
+export type CentroidStrategy = Fn<
+ number,
+ {
+ update: Fn;
+ finish: Fn0;
+ }
+>;
+
+export interface Cluster {
+ /**
+ * Cluster ID
+ */
+ id: number;
+ /**
+ * Cluster centroid
+ */
+ centroid: ReadonlyVec;
+ /**
+ * Indices of original `samples` array belonging to this cluster
+ */
+ items: number[];
+}
diff --git a/packages/k-means/src/index.ts b/packages/k-means/src/index.ts
new file mode 100644
index 0000000000..be12a85d1a
--- /dev/null
+++ b/packages/k-means/src/index.ts
@@ -0,0 +1,2 @@
+export * from "./api";
+export * from "./kmeans";
diff --git a/packages/k-means/src/kmeans.ts b/packages/k-means/src/kmeans.ts
new file mode 100644
index 0000000000..f1bf9236ee
--- /dev/null
+++ b/packages/k-means/src/kmeans.ts
@@ -0,0 +1,197 @@
+import { assert } from "@thi.ng/api";
+import { argmin, DIST_SQ, IDistance } from "@thi.ng/distance";
+import { SYSTEM, uniqueIndices, weightedRandom } from "@thi.ng/random";
+import { add, median, mulN, ReadonlyVec, Vec, zeroes } from "@thi.ng/vectors";
+import type { CentroidStrategy, Cluster, KMeansOpts } from "./api";
+
+/**
+ * Takes an array of n-dimensional `samples` and attempts to assign them to `k`
+ * clusters, using the behavior defined by (optionally) given `opts`.
+ *
+ * @remarks
+ * https://en.wikipedia.org/wiki/K-medians_clustering
+ *
+ * @param k
+ * @param samples
+ * @param opts
+ * @returns
+ */
+export const kmeans = (
+ k: number,
+ samples: T[],
+ opts?: Partial
+) => {
+ let { dist, initial, maxIter, rnd, strategy } = {
+ dist: DIST_SQ,
+ maxIter: 32,
+ strategy: means,
+ ...opts,
+ };
+ const num = samples.length;
+ const dim = samples[0].length;
+ const centroidIDs = initial || initKmeanspp(k, samples, dist, rnd);
+ assert(centroidIDs.length === k, `wrong number of initial centroids`);
+ const centroids: Vec[] = centroidIDs.map((i) => samples[i]);
+ const clusters: number[] = [];
+ let update = true;
+ outer: while (update && maxIter-- > 0) {
+ update = assign(samples, centroids, clusters, dist);
+ for (let i = 0; i < k; i++) {
+ const impl = strategy(dim);
+ for (let j = 0; j < num; j++) {
+ i === clusters[j] && impl.update(samples[j]);
+ }
+ const centroid = impl.finish();
+ if (centroid) {
+ centroids[i] = centroid;
+ } else {
+ const numC = centroidIDs.length;
+ uniqueIndices(1, num, centroidIDs, undefined, rnd);
+ if (centroidIDs.length === numC) break outer;
+ centroids[i] = samples[centroidIDs[numC]];
+ update = true;
+ }
+ }
+ }
+ return buildClusters(centroids, clusters);
+};
+
+/**
+ * k-means++ initialization / selection of initial cluster centroids. Default
+ * centroid initialization method for {@link kmeans}.
+ *
+ * @remarks
+ * References:
+ * - https://en.wikipedia.org/wiki/K-means%2B%2B
+ * - http://ilpubs.stanford.edu:8090/778/1/2006-13.pdf
+ * - http://vldb.org/pvldb/vol5/p622_bahmanbahmani_vldb2012.pdf (TODO)
+ *
+ * @param k
+ * @param samples
+ * @param dist
+ * @param rnd
+ */
+export const initKmeanspp = (
+ k: number,
+ samples: T[],
+ dist: IDistance = DIST_SQ,
+ rnd = SYSTEM
+) => {
+ const num = samples.length;
+ assert(num >= k, `insufficient samples for k=${k}`);
+ const centroidIDs = [rnd.int() % num];
+ const centroids = [samples[centroidIDs[0]]];
+ const indices = new Array(num).fill(0).map((_, i) => i);
+ const metric = dist.metric;
+ while (centroidIDs.length < k) {
+ let probs = samples.map(
+ (p) => dist.from(metric(p, centroids[argmin(p, centroids)!])) ** 2
+ );
+ let id: number;
+ do {
+ id = weightedRandom(indices, probs)();
+ } while (centroidIDs.includes(id));
+ centroidIDs.push(id);
+ centroids.push(samples[id]);
+ }
+ return centroidIDs;
+};
+
+const assign = (
+ samples: T[],
+ centroids: ReadonlyVec[],
+ clusters: number[],
+ dist: IDistance
+) => {
+ let update = false;
+ for (let i = 0, n = samples.length; i < n; i++) {
+ const id = argmin(samples[i], centroids, dist)!;
+ if (id !== clusters[i]) {
+ clusters[i] = id;
+ update = true;
+ }
+ }
+ return update;
+};
+
+const buildClusters = (centroids: ReadonlyVec[], clusters: number[]) => {
+ const indices: Cluster[] = [];
+ for (let i = 0, n = clusters.length; i < n; i++) {
+ const c = clusters[i];
+ (
+ indices[c] ||
+ (indices[c] = { id: c, centroid: centroids[c], items: [] })
+ ).items.push(i);
+ }
+ return indices;
+};
+
+/**
+ * Default centroid strategy forming new centroids by averaging the position of
+ * participating samples.
+ *
+ * @param dim
+ */
+export const means: CentroidStrategy = (dim) => {
+ const acc = zeroes(dim);
+ let n = 0;
+ return {
+ update: (p) => {
+ add(acc, acc, p);
+ n++;
+ },
+ finish: () => (n ? mulN(acc, acc, 1 / n) : undefined),
+ };
+};
+
+/**
+ * Centroid strategy forming new centroids via componentwise medians.
+ *
+ * @remarks
+ * https://en.wikipedia.org/wiki/K-medians_clustering
+ */
+export const medians: CentroidStrategy = () => {
+ const acc: ReadonlyVec[] = [];
+ return {
+ update: (p) => acc.push(p),
+ finish: () => (acc.length ? median([], acc) : undefined),
+ };
+};
+
+/**
+ * Means centroid strategy for decimal degree lat/lon positions (e.g. WGS84).
+ * Unlike the default {@link means} strategy, this one treats latitude values
+ * correctly in terms of the ±180 deg boundary and ensures samples on either
+ * side of the Pacific are forming correct centroids.
+ *
+ * @remarks
+ * When using this strategy, you should also use the
+ * {@link @thi.ng/distance#HAVERSINE_LATLON} distance metric for
+ * {@link KMeansOpts.distance}.
+ *
+ * @example
+ * ```ts
+ * kmeans(3, [...], { strategy: meansLatLon, dist: HAVERSINE_LATLON })
+ * ```
+ *
+ * https://en.wikipedia.org/wiki/World_Geodetic_System
+ */
+export const meansLatLon: CentroidStrategy = () => {
+ let lat = 0;
+ let lon = 0;
+ let n = 0;
+ return {
+ update: ([$lat, $lon]) => {
+ lat += $lat < 0 ? $lat + 360 : $lat;
+ lon += $lon;
+ n++;
+ },
+ finish: () => {
+ if (!n) return;
+ lat /= n;
+ if (lat > 180) lat -= 360;
+ lon /= n;
+ return [lat, lon];
+ },
+ };
+};
diff --git a/packages/k-means/test/index.ts b/packages/k-means/test/index.ts
new file mode 100644
index 0000000000..d21d2988d2
--- /dev/null
+++ b/packages/k-means/test/index.ts
@@ -0,0 +1,6 @@
+// import * as assert from "assert";
+// import { } from "../src";
+
+describe("k-means", () => {
+ it("tests pending");
+});
diff --git a/packages/k-means/test/tsconfig.json b/packages/k-means/test/tsconfig.json
new file mode 100644
index 0000000000..f6e63560dd
--- /dev/null
+++ b/packages/k-means/test/tsconfig.json
@@ -0,0 +1,11 @@
+{
+ "extends": "../../../tsconfig.json",
+ "compilerOptions": {
+ "outDir": "../build",
+ "module": "commonjs"
+ },
+ "include": [
+ "./**/*.ts",
+ "../src/**/*.ts"
+ ]
+}
diff --git a/packages/k-means/tpl.readme.md b/packages/k-means/tpl.readme.md
new file mode 100644
index 0000000000..43386f017f
--- /dev/null
+++ b/packages/k-means/tpl.readme.md
@@ -0,0 +1,92 @@
+# ${pkg.banner}
+
+[![npm version](https://img.shields.io/npm/v/${pkg.name}.svg)](https://www.npmjs.com/package/${pkg.name})
+![npm downloads](https://img.shields.io/npm/dm/${pkg.name}.svg)
+[![Twitter Follow](https://img.shields.io/twitter/follow/thing_umbrella.svg?style=flat-square&label=twitter)](https://twitter.com/thing_umbrella)
+
+This project is part of the
+[@thi.ng/umbrella](https://github.com/thi-ng/umbrella/) monorepo.
+
+
+
+## About
+
+${pkg.description}
+
+${status}
+
+${supportPackages}
+
+${relatedPackages}
+
+${blogPosts}
+
+## Installation
+
+${pkg.install}
+
+${pkg.size}
+
+## Dependencies
+
+${pkg.deps}
+
+${examples}
+
+## API
+
+${docLink}
+
+Example usage:
+
+```ts
+import { kmeans, meansLatLon } from "@thi.ng/k-means";
+import { HAVERSINE_LATLON } from "@thi.ng/distance";
+
+// data from: https://simplemaps.com/data/world-cities
+const items = [
+ { id: "berlin", latlon: [52.5167, 13.3833] },
+ { id: "boston", latlon: [42.3188, -71.0846] },
+ { id: "detroit", latlon: [42.3834, -83.1024] },
+ { id: "kyoto", latlon: [35.0111, 135.7669] },
+ { id: "london", latlon: [51.5072, -0.1275] },
+ { id: "new york", latlon: [40.6943, -73.9249] },
+ { id: "osaka", latlon: [34.6936, 135.5019] },
+ { id: "paris", latlon: [48.8566, 2.3522] },
+ { id: "philadelphia", latlon: [40.0077, -75.1339] },
+ { id: "tokyo", latlon: [35.6897, 139.6922] },
+ { id: "vienna", latlon: [48.2083, 16.3731] },
+];
+
+// cluster based on lat/lon
+const clusters = kmeans(
+ 3,
+ items.map((x) => x.latlon),
+ {
+ // custom centroid calc for geo locations
+ // https://docs.thi.ng/umbrella/k-means/modules.html#meanslatlon
+ strategy: meansLatLon,
+ // custom distance function for geo location (default: DIST_SQ)
+ dist: HAVERSINE_LATLON
+ }
+);
+
+// print each cluster
+for (let c of clusters) {
+ console.log(c.items.map((i) => items[i].id));
+}
+
+// [ 'boston', 'detroit', 'new york', 'philadelphia' ]
+// [ 'kyoto', 'osaka', 'tokyo' ]
+// [ 'berlin', 'london', 'paris', 'vienna' ]
+```
+
+## Authors
+
+${authors}
+
+${pkg.cite}
+
+## License
+
+© ${copyright} // ${license}
diff --git a/packages/k-means/tsconfig.json b/packages/k-means/tsconfig.json
new file mode 100644
index 0000000000..bd6481a5a6
--- /dev/null
+++ b/packages/k-means/tsconfig.json
@@ -0,0 +1,9 @@
+{
+ "extends": "../../tsconfig.json",
+ "compilerOptions": {
+ "outDir": "."
+ },
+ "include": [
+ "./src/**/*.ts"
+ ]
+}
diff --git a/packages/ksuid/CHANGELOG.md b/packages/ksuid/CHANGELOG.md
index 123b95b26a..cc9d25c5f7 100644
--- a/packages/ksuid/CHANGELOG.md
+++ b/packages/ksuid/CHANGELOG.md
@@ -3,7 +3,7 @@
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/ksuid@0.2.0...@thi.ng/ksuid@0.2.1) (2021-04-03)
+## [0.2.3](https://github.com/thi-ng/umbrella/compare/@thi.ng/ksuid@0.2.2...@thi.ng/ksuid@0.2.3) (2021-06-08)
**Note:** Version bump only for package @thi.ng/ksuid
@@ -22,38 +22,6 @@ See [Conventional Commits](https://conventionalcommits.org) for commit guideline
-## [0.1.10](https://github.com/thi-ng/umbrella/compare/@thi.ng/ksuid@0.1.9...@thi.ng/ksuid@0.1.10) (2021-03-24)
-
-**Note:** Version bump only for package @thi.ng/ksuid
-
-
-
-
-
-## [0.1.9](https://github.com/thi-ng/umbrella/compare/@thi.ng/ksuid@0.1.8...@thi.ng/ksuid@0.1.9) (2021-03-24)
-
-**Note:** Version bump only for package @thi.ng/ksuid
-
-
-
-
-
-## [0.1.8](https://github.com/thi-ng/umbrella/compare/@thi.ng/ksuid@0.1.7...@thi.ng/ksuid@0.1.8) (2021-03-17)
-
-**Note:** Version bump only for package @thi.ng/ksuid
-
-
-
-
-
-## [0.1.7](https://github.com/thi-ng/umbrella/compare/@thi.ng/ksuid@0.1.6...@thi.ng/ksuid@0.1.7) (2021-03-12)
-
-**Note:** Version bump only for package @thi.ng/ksuid
-
-
-
-
-
# 0.1.0 (2021-01-13)
diff --git a/packages/ksuid/package.json b/packages/ksuid/package.json
index 492133a36b..8df097ab8c 100644
--- a/packages/ksuid/package.json
+++ b/packages/ksuid/package.json
@@ -1,6 +1,6 @@
{
"name": "@thi.ng/ksuid",
- "version": "0.2.1",
+ "version": "0.2.3",
"description": "Configurable K-sortable unique identifiers, binary & base-N encoded",
"module": "./index.js",
"main": "./lib/index.js",
@@ -43,17 +43,17 @@
"@microsoft/api-extractor": "^7.13.1",
"@types/mocha": "^8.2.0",
"@types/node": "^14.14.14",
- "mocha": "^8.3.0",
+ "mocha": "^9.0.0",
"nyc": "^15.1.0",
- "ts-node": "^9.1.1",
+ "ts-node": "^10.0.0",
"typedoc": "^0.20.30",
- "typescript": "^4.2.3"
+ "typescript": "4.2.4"
},
"dependencies": {
- "@thi.ng/api": "^7.1.4",
- "@thi.ng/base-n": "^0.1.6",
- "@thi.ng/random": "^2.3.7",
- "@thi.ng/strings": "^2.1.0"
+ "@thi.ng/api": "^7.1.5",
+ "@thi.ng/base-n": "^0.1.7",
+ "@thi.ng/random": "^2.4.1",
+ "@thi.ng/strings": "^2.1.1"
},
"files": [
"*.js",
diff --git a/packages/layout/CHANGELOG.md b/packages/layout/CHANGELOG.md
index 089708fb6f..2946f36cf8 100644
--- a/packages/layout/CHANGELOG.md
+++ b/packages/layout/CHANGELOG.md
@@ -3,15 +3,7 @@
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/layout@0.1.34...@thi.ng/layout@0.1.35) (2021-04-03)
-
-**Note:** Version bump only for package @thi.ng/layout
-
-
-
-
-
-## [0.1.34](https://github.com/thi-ng/umbrella/compare/@thi.ng/layout@0.1.33...@thi.ng/layout@0.1.34) (2021-03-12)
+## [0.1.36](https://github.com/thi-ng/umbrella/compare/@thi.ng/layout@0.1.35...@thi.ng/layout@0.1.36) (2021-06-08)
**Note:** Version bump only for package @thi.ng/layout
diff --git a/packages/layout/package.json b/packages/layout/package.json
index af9a23f06d..94415e1134 100644
--- a/packages/layout/package.json
+++ b/packages/layout/package.json
@@ -1,6 +1,6 @@
{
"name": "@thi.ng/layout",
- "version": "0.1.35",
+ "version": "0.1.36",
"description": "Configurable nested 2D grid layout manager",
"module": "./index.js",
"main": "./lib/index.js",
@@ -42,14 +42,14 @@
"@microsoft/api-extractor": "^7.13.1",
"@types/mocha": "^8.2.0",
"@types/node": "^14.14.14",
- "mocha": "^8.3.0",
+ "mocha": "^9.0.0",
"nyc": "^15.1.0",
- "ts-node": "^9.1.1",
+ "ts-node": "^10.0.0",
"typedoc": "^0.20.30",
- "typescript": "^4.2.3"
+ "typescript": "4.2.4"
},
"dependencies": {
- "@thi.ng/checks": "^2.9.6"
+ "@thi.ng/checks": "^2.9.7"
},
"files": [
"*.js",
diff --git a/packages/leb128/CHANGELOG.md b/packages/leb128/CHANGELOG.md
index 5121d6ab60..c14c5252ff 100644
--- a/packages/leb128/CHANGELOG.md
+++ b/packages/leb128/CHANGELOG.md
@@ -3,39 +3,7 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
-## [1.0.54](https://github.com/thi-ng/umbrella/compare/@thi.ng/leb128@1.0.53...@thi.ng/leb128@1.0.54) (2021-04-03)
-
-**Note:** Version bump only for package @thi.ng/leb128
-
-
-
-
-
-## [1.0.53](https://github.com/thi-ng/umbrella/compare/@thi.ng/leb128@1.0.52...@thi.ng/leb128@1.0.53) (2021-03-28)
-
-**Note:** Version bump only for package @thi.ng/leb128
-
-
-
-
-
-## [1.0.52](https://github.com/thi-ng/umbrella/compare/@thi.ng/leb128@1.0.51...@thi.ng/leb128@1.0.52) (2021-03-27)
-
-**Note:** Version bump only for package @thi.ng/leb128
-
-
-
-
-
-## [1.0.51](https://github.com/thi-ng/umbrella/compare/@thi.ng/leb128@1.0.50...@thi.ng/leb128@1.0.51) (2021-03-17)
-
-**Note:** Version bump only for package @thi.ng/leb128
-
-
-
-
-
-## [1.0.50](https://github.com/thi-ng/umbrella/compare/@thi.ng/leb128@1.0.49...@thi.ng/leb128@1.0.50) (2021-03-12)
+## [1.0.58](https://github.com/thi-ng/umbrella/compare/@thi.ng/leb128@1.0.57...@thi.ng/leb128@1.0.58) (2021-06-08)
**Note:** Version bump only for package @thi.ng/leb128
diff --git a/packages/leb128/README.md b/packages/leb128/README.md
index d12863e778..15ed9ad82c 100644
--- a/packages/leb128/README.md
+++ b/packages/leb128/README.md
@@ -59,7 +59,7 @@ yarn add @thi.ng/leb128
```
-Package sizes (gzipped, pre-treeshake): ESM: 988 bytes / CJS: 1.04 KB / UMD: 1.12 KB
+Package sizes (gzipped, pre-treeshake): ESM: 988 bytes / CJS: 1.03 KB / UMD: 1.13 KB
## Dependencies
diff --git a/packages/leb128/package.json b/packages/leb128/package.json
index d6aa8d730e..3899dbc6c1 100644
--- a/packages/leb128/package.json
+++ b/packages/leb128/package.json
@@ -1,6 +1,6 @@
{
"name": "@thi.ng/leb128",
- "version": "1.0.54",
+ "version": "1.0.58",
"description": "WASM based LEB128 encoder / decoder (signed & unsigned)",
"module": "./index.js",
"main": "./lib/index.js",
@@ -43,16 +43,16 @@
"@microsoft/api-extractor": "^7.13.1",
"@types/mocha": "^8.2.0",
"@types/node": "^14.14.14",
- "mocha": "^8.3.0",
+ "mocha": "^9.0.0",
"nyc": "^15.1.0",
- "ts-node": "^9.1.1",
+ "ts-node": "^10.0.0",
"typedoc": "^0.20.30",
- "typescript": "^4.2.3"
+ "typescript": "4.2.4"
},
"dependencies": {
- "@thi.ng/checks": "^2.9.6",
- "@thi.ng/errors": "^1.3.0",
- "@thi.ng/transducers-binary": "^0.6.16"
+ "@thi.ng/checks": "^2.9.7",
+ "@thi.ng/errors": "^1.3.1",
+ "@thi.ng/transducers-binary": "^0.6.20"
},
"files": [
"*.js",
diff --git a/packages/leb128/src/index.ts b/packages/leb128/src/index.ts
index 32520d1ece..790e501306 100644
--- a/packages/leb128/src/index.ts
+++ b/packages/leb128/src/index.ts
@@ -26,8 +26,21 @@ if (hasWASM()) {
const ensureWASM = () => !wasm && unsupported("WASM module unavailable");
-const copy = (src: Uint8Array, idx: number) =>
+const encode = (op: "leb128_encode_s_js" | "leb128_encode_u_js") => (
+ x: number
+) => {
+ ensureWASM();
+ return U8.slice(0, wasm[op](x));
+};
+
+const decode = (op: "leb128_decode_s_js" | "leb128_decode_u_js") => (
+ src: Uint8Array,
+ idx = 0
+) => {
+ ensureWASM();
U8.set(src.subarray(idx, Math.min(idx + 10, src.length)), 0);
+ return [wasm[op](0, 0), U8[0]];
+};
/**
* Encodes signed integer `x` into LEB128 varint format and returns
@@ -35,10 +48,7 @@ const copy = (src: Uint8Array, idx: number) =>
*
* @param x -
*/
-export const encodeSLEB128 = (x: number) => {
- ensureWASM();
- return U8.slice(0, wasm.leb128_encode_s_js(x));
-};
+export const encodeSLEB128 = encode("leb128_encode_s_js");
/**
* Takes Uint8Array with LEB128 encoded signed varint and an optional
@@ -48,11 +58,7 @@ export const encodeSLEB128 = (x: number) => {
* @param src -
* @param idx -
*/
-export const decodeSLEB128 = (src: Uint8Array, idx = 0) => {
- ensureWASM();
- copy(src, idx);
- return [wasm.leb128_decode_s_js(0, 0), U8[0]];
-};
+export const decodeSLEB128 = decode("leb128_decode_s_js");
/**
* Encodes unsigned integer `x` into LEB128 varint format and returns
@@ -60,10 +66,7 @@ export const decodeSLEB128 = (src: Uint8Array, idx = 0) => {
*
* @param x -
*/
-export const encodeULEB128 = (x: number) => {
- ensureWASM();
- return U8.slice(0, wasm.leb128_encode_u_js(x));
-};
+export const encodeULEB128 = encode("leb128_encode_u_js");
/**
* Takes Uint8Array with LEB128 encoded unsigned varint and an optional
@@ -73,8 +76,4 @@ export const encodeULEB128 = (x: number) => {
* @param src -
* @param idx -
*/
-export const decodeULEB128 = (src: Uint8Array, idx = 0) => {
- ensureWASM();
- copy(src, idx);
- return [wasm.leb128_decode_u_js(0, 0), U8[0]];
-};
+export const decodeULEB128 = decode("leb128_decode_u_js");
diff --git a/packages/lowdisc/CHANGELOG.md b/packages/lowdisc/CHANGELOG.md
new file mode 100644
index 0000000000..2ecb12efbf
--- /dev/null
+++ b/packages/lowdisc/CHANGELOG.md
@@ -0,0 +1,19 @@
+# Change Log
+
+All notable changes to this project will be documented in this file.
+See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
+
+## [0.1.2](https://github.com/thi-ng/umbrella/compare/@thi.ng/lowdisc@0.1.1...@thi.ng/lowdisc@0.1.2) (2021-06-08)
+
+**Note:** Version bump only for package @thi.ng/lowdisc
+
+
+
+
+
+# 0.1.0 (2021-04-19)
+
+
+### Features
+
+* **lowdisc:** import as pkg, update assets/readme ([3ad6672](https://github.com/thi-ng/umbrella/commit/3ad66723a23561de5611a00fa9bf3a50032af079))
diff --git a/packages/lowdisc/LICENSE b/packages/lowdisc/LICENSE
new file mode 100644
index 0000000000..8dada3edaf
--- /dev/null
+++ b/packages/lowdisc/LICENSE
@@ -0,0 +1,201 @@
+ Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
+
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+ 1. Definitions.
+
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
+
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
+
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
+
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
+
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
+
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
+
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
+
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
+
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
+
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
+
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
+
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
+
+ END OF TERMS AND CONDITIONS
+
+ APPENDIX: How to apply the Apache License to your work.
+
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "{}"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
+
+ Copyright {yyyy} {name of copyright owner}
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
diff --git a/packages/lowdisc/README.md b/packages/lowdisc/README.md
new file mode 100644
index 0000000000..b1fc12b1bd
--- /dev/null
+++ b/packages/lowdisc/README.md
@@ -0,0 +1,113 @@
+
+
+# ![lowdisc](https://media.thi.ng/umbrella/banners/thing-lowdisc.svg?637bcba0)
+
+[![npm version](https://img.shields.io/npm/v/@thi.ng/lowdisc.svg)](https://www.npmjs.com/package/@thi.ng/lowdisc)
+![npm downloads](https://img.shields.io/npm/dm/@thi.ng/lowdisc.svg)
+[![Twitter Follow](https://img.shields.io/twitter/follow/thing_umbrella.svg?style=flat-square&label=twitter)](https://twitter.com/thing_umbrella)
+
+This project is part of the
+[@thi.ng/umbrella](https://github.com/thi-ng/umbrella/) monorepo.
+
+- [About](#about)
+ - [Halton](#halton)
+ - [Kronecker](#kronecker)
+ - [R2 recurrence](#rsub2sub-recurrence)
+ - [Status](#status)
+ - [Related packages](#related-packages)
+- [Installation](#installation)
+- [Dependencies](#dependencies)
+- [API](#api)
+- [Authors](#authors)
+- [License](#license)
+
+## About
+
+n-dimensional low-discrepancy sequence generators/iterators.
+
+This package provides the following n-dimensional [low-discrepancy
+sequence](https://en.wikipedia.org/wiki/Low-discrepancy_sequence) generators,
+partially based on the article [The Unreasonable Effectiveness of Quasirandom
+Sequences](http://extremelearning.com.au/unreasonable-effectiveness-of-quasirandom-sequences/)
+by Martin Roberts.
+
+### Halton
+
+Configurable basis for each dimension:
+
+`haltonND([2,3])`
+
+![2D Halton(2,3) sequence](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/lowdisc/ld-halton-small.gif)
+
+### Kronecker
+
+Configurable basis for each dimension:
+
+`kroneckerND([1 / 2 ** 0.5, 1 / 5 ** 0.5])`
+
+![2D Kronecker sequence (Golden ratio)](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/lowdisc/ld-kronecker-small.gif)
+
+### R2 recurrence
+
+Based on Kronecker with each dimension's base automatically derived from the
+[Plastic number](https://en.wikipedia.org/wiki/Plastic_number):
+
+`plasticND(2)`
+
+![2D R2 recurrence sequence](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/lowdisc/ld-plastic-small.gif)
+
+### Status
+
+**BETA** - possibly breaking changes forthcoming
+
+[Search or submit any issues for this package](https://github.com/thi-ng/umbrella/issues?q=%5Blowdisc%5D+in%3Atitle)
+
+### Related packages
+
+- [@thi.ng/poisson](https://github.com/thi-ng/umbrella/tree/develop/packages/poisson) - nD Stratified grid and Poisson-disc sampling w/ support for spatial density functions and custom PRNGs
+- [@thi.ng/random](https://github.com/thi-ng/umbrella/tree/develop/packages/random) - Pseudo-random number generators w/ unified API, distributions, weighted choices, ID generation
+
+## Installation
+
+```bash
+yarn add @thi.ng/lowdisc
+```
+
+```html
+// ES module
+
+
+// UMD
+
+```
+
+Package sizes (gzipped, pre-treeshake): ESM: 499 bytes / CJS: 572 bytes / UMD: 653 bytes
+
+## Dependencies
+
+- [@thi.ng/api](https://github.com/thi-ng/umbrella/tree/develop/packages/api)
+
+## API
+
+[Generated API docs](https://docs.thi.ng/umbrella/lowdisc/)
+
+TODO
+
+## Authors
+
+Karsten Schmidt
+
+If this project contributes to an academic publication, please cite it as:
+
+```bibtex
+@misc{thing-lowdisc,
+ title = "@thi.ng/lowdisc",
+ author = "Karsten Schmidt",
+ note = "https://thi.ng/lowdisc",
+ year = 2020
+}
+```
+
+## License
+
+© 2020 - 2021 Karsten Schmidt // Apache Software License 2.0
diff --git a/packages/lowdisc/api-extractor.json b/packages/lowdisc/api-extractor.json
new file mode 100644
index 0000000000..94972e6bed
--- /dev/null
+++ b/packages/lowdisc/api-extractor.json
@@ -0,0 +1,3 @@
+{
+ "extends": "../../api-extractor.json"
+}
diff --git a/packages/lowdisc/package.json b/packages/lowdisc/package.json
new file mode 100644
index 0000000000..370790cddc
--- /dev/null
+++ b/packages/lowdisc/package.json
@@ -0,0 +1,85 @@
+{
+ "name": "@thi.ng/lowdisc",
+ "version": "0.1.2",
+ "description": "n-dimensional low-discrepancy sequence generators/iterators",
+ "module": "./index.js",
+ "main": "./lib/index.js",
+ "umd:main": "./lib/index.umd.js",
+ "typings": "./index.d.ts",
+ "repository": {
+ "type": "git",
+ "url": "https://github.com/thi-ng/umbrella.git"
+ },
+ "homepage": "https://github.com/thi-ng/umbrella/tree/master/packages/lowdisc#readme",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/postspectacular"
+ },
+ {
+ "type": "patreon",
+ "url": "https://patreon.com/thing_umbrella"
+ }
+ ],
+ "author": "Karsten Schmidt ",
+ "license": "Apache-2.0",
+ "scripts": {
+ "build": "yarn clean && yarn build:es6 && node ../../scripts/bundle-module",
+ "build:release": "yarn clean && yarn build:es6 && node ../../scripts/bundle-module all",
+ "build:es6": "tsc --declaration",
+ "build:test": "rimraf build && tsc -p test/tsconfig.json",
+ "build:check": "tsc --isolatedModules --noEmit",
+ "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 ../../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 --out doc --theme ../../tools/doc/typedoc-theme src/index.ts",
+ "pub": "yarn build:release && yarn publish --access public"
+ },
+ "devDependencies": {
+ "@istanbuljs/nyc-config-typescript": "^1.0.1",
+ "@microsoft/api-extractor": "^7.13.1",
+ "@types/mocha": "^8.2.0",
+ "@types/node": "^14.14.14",
+ "mocha": "^9.0.0",
+ "nyc": "^15.1.0",
+ "ts-node": "^10.0.0",
+ "typedoc": "^0.20.30",
+ "typescript": "4.2.4"
+ },
+ "dependencies": {
+ "@thi.ng/api": "^7.1.5"
+ },
+ "files": [
+ "*.js",
+ "*.d.ts",
+ "lib"
+ ],
+ "keywords": [
+ "discrepancy",
+ "halton",
+ "golden-ratio",
+ "iterator",
+ "kronecker",
+ "monte-carlo",
+ "nd",
+ "plastic-number",
+ "random",
+ "sample",
+ "sequence",
+ "typescript"
+ ],
+ "publishConfig": {
+ "access": "public"
+ },
+ "sideEffects": false,
+ "thi.ng": {
+ "related": [
+ "poisson",
+ "random"
+ ],
+ "status": "beta",
+ "year": 2020
+ }
+}
diff --git a/packages/lowdisc/src/halton.ts b/packages/lowdisc/src/halton.ts
new file mode 100644
index 0000000000..f8c329b0eb
--- /dev/null
+++ b/packages/lowdisc/src/halton.ts
@@ -0,0 +1,40 @@
+import { lowDiscrepancy } from "./lowdisc";
+
+/**
+ * Iterator yielding 1D Halton sequence for given `base` (preferably a prime).
+ *
+ * @remarks
+ * Ported from Python version at: https://en.wikipedia.org/wiki/Halton_sequence
+ *
+ * @param base
+ */
+export function* halton(base: number) {
+ let n = 0;
+ let d = 1;
+ let invB = 1 / base;
+ while (true) {
+ let x = d - n;
+ if (x === 1) {
+ n = 1;
+ d *= base;
+ } else {
+ let y = (d * invB) | 0;
+ while (x <= y) {
+ y = (y * invB) | 0;
+ }
+ n = (base + 1) * y - x;
+ }
+ yield n / d;
+ }
+}
+
+/**
+ * n-dimensional version of {@link halton}. Takes a vector of `bases` (one per
+ * dimension) and yields iterator of nD points. If `offset` > 0, the stated
+ * number of initial iterations will be skipped.
+ *
+ * @param bases
+ * @param offset
+ */
+export const haltonND = (bases: number[], offset = 0) =>
+ lowDiscrepancy(bases.map(halton), offset);
diff --git a/packages/lowdisc/src/index.ts b/packages/lowdisc/src/index.ts
new file mode 100644
index 0000000000..4985f12c59
--- /dev/null
+++ b/packages/lowdisc/src/index.ts
@@ -0,0 +1,4 @@
+export * from "./halton";
+export * from "./kronecker";
+export * from "./lowdisc";
+export * from "./plastic";
diff --git a/packages/lowdisc/src/kronecker.ts b/packages/lowdisc/src/kronecker.ts
new file mode 100644
index 0000000000..e07828cd08
--- /dev/null
+++ b/packages/lowdisc/src/kronecker.ts
@@ -0,0 +1,33 @@
+import { lowDiscrepancy } from "./lowdisc";
+
+/** @internal */
+const fract = (x: number) => x - Math.floor(x);
+
+/**
+ * Iterator yielding 1D Kronecker Recurrence sequence for given `alpha` and
+ * `start` values, where `y(i) = fract(start + i * alpha)` and `i` is the
+ * iteration counter. The `alpha` param should be an irrational number in the
+ * `(0..1)` interval.
+ *
+ * @remarks
+ * Reference:
+ * - https://math.stackexchange.com/a/2848339
+ * - http://extremelearning.com.au/unreasonable-effectiveness-of-quasirandom-sequences/
+ *
+ * @param alpha
+ * @param start
+ */
+export function* kronecker(alpha: number, start = 0) {
+ while (true) yield (start = fract(start + alpha));
+}
+
+/**
+ * n-dimensional version of {@link kronecker}. Takes a vector of `alphas` (one
+ * per dimension) and yields iterator of nD points. If `offset` > 0, the stated
+ * number of initial iterations will be skipped.
+ *
+ * @param bases
+ * @param offset
+ */
+export const kroneckerND = (alphas: number[], offset = 0) =>
+ lowDiscrepancy(alphas.map(kronecker), offset);
diff --git a/packages/lowdisc/src/lowdisc.ts b/packages/lowdisc/src/lowdisc.ts
new file mode 100644
index 0000000000..f94103246d
--- /dev/null
+++ b/packages/lowdisc/src/lowdisc.ts
@@ -0,0 +1,43 @@
+import { assert } from "@thi.ng/api";
+
+/**
+ * General purpose iterator yielding n-dimensional sequence values obtained from
+ * given per-dimension sequence generators. Omits `offset` (default: 0) initial
+ * values.
+ *
+ * @remarks
+ * This function acts as shared impl for all other sequence generators in this
+ * package.
+ *
+ * @param dims
+ * @param offset
+ */
+export const lowDiscrepancy = (dims: Iterator[], offset = 0) => {
+ const num = dims.length;
+ assert(num > 0, `invalid dimensions`);
+ const [x, y, z] = dims;
+ const iter =
+ num === 1
+ ? (function* () {
+ while (true) yield [x.next().value];
+ })()
+ : num === 2
+ ? (function* () {
+ while (true)
+ yield [x.next().value, y.next().value];
+ })()
+ : num === 3
+ ? (function* () {
+ while (true)
+ yield [
+ x.next().value,
+ y.next().value,
+ z.next().value,
+ ];
+ })()
+ : (function* () {
+ while (true) yield dims.map((d) => d.next().value);
+ })();
+ for (; --offset >= 0; ) iter.next();
+ return iter;
+};
diff --git a/packages/lowdisc/src/plastic.ts b/packages/lowdisc/src/plastic.ts
new file mode 100644
index 0000000000..ea646509d7
--- /dev/null
+++ b/packages/lowdisc/src/plastic.ts
@@ -0,0 +1,46 @@
+import { assert } from "@thi.ng/api";
+import { kronecker } from "./kronecker";
+import { lowDiscrepancy } from "./lowdisc";
+
+/**
+ * Computes the `d`-th Harmonious number, with:
+ *
+ * - d=1 : PHI (Golden ratio)
+ * - d=2 : PLASTIC (Plastic number)
+ *
+ * @remarks
+ * See {@link plasticND} for references.
+ *
+ * @param d
+ * @param i
+ */
+export const phi = (d: number, i = 18) => {
+ assert(d > 0, `d must be > 0`);
+ d = 1 / (d + 1);
+ let x = 2;
+ while (i-- > 0) x = (1 + x) ** d;
+ return x;
+};
+
+/**
+ * Additive Recurrence R2 sequence using n-dimensional {@link kronecker}
+ * configured with Harmonious Numbers (based on Plastic number).
+ *
+ * @remarks
+ * References:
+ *
+ * - http://extremelearning.com.au/unreasonable-effectiveness-of-quasirandom-sequences/
+ * - https://en.wikipedia.org/wiki/Plastic_number
+ * - https://bib.irb.hr/datoteka/628836.Plastic_Number_-_Construct.pdf
+ *
+ * @param dim
+ */
+export const plasticND = (dim: number, offset = 0) => {
+ const g = phi(dim);
+ return lowDiscrepancy(
+ new Array(dim)
+ .fill(0)
+ .map((_, i) => kronecker(1 / Math.pow(g, i + 1), 0.5)),
+ offset
+ );
+};
diff --git a/packages/lowdisc/test/index.ts b/packages/lowdisc/test/index.ts
new file mode 100644
index 0000000000..e3128422cd
--- /dev/null
+++ b/packages/lowdisc/test/index.ts
@@ -0,0 +1,6 @@
+// import * as assert from "assert";
+// import { } from "../src";
+
+describe("lowdisc", () => {
+ it("tests pending");
+});
diff --git a/packages/lowdisc/test/tsconfig.json b/packages/lowdisc/test/tsconfig.json
new file mode 100644
index 0000000000..f6e63560dd
--- /dev/null
+++ b/packages/lowdisc/test/tsconfig.json
@@ -0,0 +1,11 @@
+{
+ "extends": "../../../tsconfig.json",
+ "compilerOptions": {
+ "outDir": "../build",
+ "module": "commonjs"
+ },
+ "include": [
+ "./**/*.ts",
+ "../src/**/*.ts"
+ ]
+}
diff --git a/packages/lowdisc/tools/index.ts b/packages/lowdisc/tools/index.ts
new file mode 100644
index 0000000000..6c9d8e3018
--- /dev/null
+++ b/packages/lowdisc/tools/index.ts
@@ -0,0 +1,36 @@
+import { cosineGradient, COSINE_GRADIENTS } from "@thi.ng/color";
+import { asSvg, circle, svgDoc } from "@thi.ng/geom";
+import { setPrecision } from "@thi.ng/hiccup-svg";
+import { Z4 } from "@thi.ng/strings";
+import { mapIndexed, take } from "@thi.ng/transducers";
+import { writeFileSync } from "fs";
+import { plasticND } from "../src";
+
+const W = 600;
+const R = 0.005;
+const NUM_COL = 256;
+
+const grad = cosineGradient(NUM_COL, COSINE_GRADIENTS["blue-magenta-orange"]);
+
+// hiccup-svg output precision
+setPrecision(4);
+
+for (let i = 100, j = 0; i < 5000; i += 100, j++) {
+ writeFileSync(
+ `export/ld-${Z4(j)}.svg`,
+ asSvg(
+ svgDoc(
+ {
+ width: W,
+ height: W,
+ viewBox: "0 0 1 1",
+ },
+ ...mapIndexed(
+ (k, p: number[]) =>
+ circle(p, R, { fill: grad[k % NUM_COL] }),
+ take(i, plasticND(2))
+ )
+ )
+ )
+ );
+}
diff --git a/packages/lowdisc/tools/tsconfig.json b/packages/lowdisc/tools/tsconfig.json
new file mode 100644
index 0000000000..9655cbea10
--- /dev/null
+++ b/packages/lowdisc/tools/tsconfig.json
@@ -0,0 +1,10 @@
+{
+ "extends": "../../../tsconfig.json",
+ "compilerOptions": {
+ "outDir": "../build",
+ "module": "commonjs",
+ "noUnusedLocals": false,
+ "noUnusedParameters": false
+ },
+ "include": ["./**/*.ts", "../src/**/*.ts"]
+}
diff --git a/packages/lowdisc/tpl.readme.md b/packages/lowdisc/tpl.readme.md
new file mode 100644
index 0000000000..c3f385e617
--- /dev/null
+++ b/packages/lowdisc/tpl.readme.md
@@ -0,0 +1,81 @@
+# ${pkg.banner}
+
+[![npm version](https://img.shields.io/npm/v/${pkg.name}.svg)](https://www.npmjs.com/package/${pkg.name})
+![npm downloads](https://img.shields.io/npm/dm/${pkg.name}.svg)
+[![Twitter Follow](https://img.shields.io/twitter/follow/thing_umbrella.svg?style=flat-square&label=twitter)](https://twitter.com/thing_umbrella)
+
+This project is part of the
+[@thi.ng/umbrella](https://github.com/thi-ng/umbrella/) monorepo.
+
+
+
+## About
+
+${pkg.description}
+
+This package provides the following n-dimensional [low-discrepancy
+sequence](https://en.wikipedia.org/wiki/Low-discrepancy_sequence) generators,
+partially based on the article [The Unreasonable Effectiveness of Quasirandom
+Sequences](http://extremelearning.com.au/unreasonable-effectiveness-of-quasirandom-sequences/)
+by Martin Roberts.
+
+### Halton
+
+Configurable basis for each dimension:
+
+`haltonND([2,3])`
+
+![2D Halton(2,3) sequence](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/lowdisc/ld-halton-small.gif)
+
+### Kronecker
+
+Configurable basis for each dimension:
+
+`kroneckerND([1 / 2 ** 0.5, 1 / 5 ** 0.5])`
+
+![2D Kronecker sequence (Golden ratio)](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/lowdisc/ld-kronecker-small.gif)
+
+### R2 recurrence
+
+Based on Kronecker with each dimension's base automatically derived from the
+[Plastic number](https://en.wikipedia.org/wiki/Plastic_number):
+
+`plasticND(2)`
+
+![2D R2 recurrence sequence](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/lowdisc/ld-plastic-small.gif)
+
+${status}
+
+${supportPackages}
+
+${relatedPackages}
+
+${blogPosts}
+
+## Installation
+
+${pkg.install}
+
+${pkg.size}
+
+## Dependencies
+
+${pkg.deps}
+
+${examples}
+
+## API
+
+${docLink}
+
+TODO
+
+## Authors
+
+${authors}
+
+${pkg.cite}
+
+## License
+
+© ${copyright} // ${license}
diff --git a/packages/lowdisc/tsconfig.json b/packages/lowdisc/tsconfig.json
new file mode 100644
index 0000000000..bd6481a5a6
--- /dev/null
+++ b/packages/lowdisc/tsconfig.json
@@ -0,0 +1,9 @@
+{
+ "extends": "../../tsconfig.json",
+ "compilerOptions": {
+ "outDir": "."
+ },
+ "include": [
+ "./src/**/*.ts"
+ ]
+}
diff --git a/packages/lsys/CHANGELOG.md b/packages/lsys/CHANGELOG.md
index 20941f353a..14083d07a8 100644
--- a/packages/lsys/CHANGELOG.md
+++ b/packages/lsys/CHANGELOG.md
@@ -3,47 +3,7 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
-## [0.2.83](https://github.com/thi-ng/umbrella/compare/@thi.ng/lsys@0.2.82...@thi.ng/lsys@0.2.83) (2021-04-03)
-
-**Note:** Version bump only for package @thi.ng/lsys
-
-
-
-
-
-## [0.2.82](https://github.com/thi-ng/umbrella/compare/@thi.ng/lsys@0.2.81...@thi.ng/lsys@0.2.82) (2021-03-30)
-
-**Note:** Version bump only for package @thi.ng/lsys
-
-
-
-
-
-## [0.2.81](https://github.com/thi-ng/umbrella/compare/@thi.ng/lsys@0.2.80...@thi.ng/lsys@0.2.81) (2021-03-28)
-
-**Note:** Version bump only for package @thi.ng/lsys
-
-
-
-
-
-## [0.2.80](https://github.com/thi-ng/umbrella/compare/@thi.ng/lsys@0.2.79...@thi.ng/lsys@0.2.80) (2021-03-27)
-
-**Note:** Version bump only for package @thi.ng/lsys
-
-
-
-
-
-## [0.2.79](https://github.com/thi-ng/umbrella/compare/@thi.ng/lsys@0.2.78...@thi.ng/lsys@0.2.79) (2021-03-17)
-
-**Note:** Version bump only for package @thi.ng/lsys
-
-
-
-
-
-## [0.2.78](https://github.com/thi-ng/umbrella/compare/@thi.ng/lsys@0.2.77...@thi.ng/lsys@0.2.78) (2021-03-12)
+## [0.2.87](https://github.com/thi-ng/umbrella/compare/@thi.ng/lsys@0.2.86...@thi.ng/lsys@0.2.87) (2021-06-08)
**Note:** Version bump only for package @thi.ng/lsys
diff --git a/packages/lsys/package.json b/packages/lsys/package.json
index 4d9cb86ddd..473a81b591 100644
--- a/packages/lsys/package.json
+++ b/packages/lsys/package.json
@@ -1,6 +1,6 @@
{
"name": "@thi.ng/lsys",
- "version": "0.2.83",
+ "version": "0.2.87",
"description": "Functional, extensible L-System architecture w/ support for probabilistic rules",
"module": "./index.js",
"main": "./lib/index.js",
@@ -42,20 +42,20 @@
"@microsoft/api-extractor": "^7.13.1",
"@types/mocha": "^8.2.0",
"@types/node": "^14.14.14",
- "mocha": "^8.3.0",
+ "mocha": "^9.0.0",
"nyc": "^15.1.0",
- "ts-node": "^9.1.1",
+ "ts-node": "^10.0.0",
"typedoc": "^0.20.30",
- "typescript": "^4.2.3"
+ "typescript": "4.2.4"
},
"dependencies": {
- "@thi.ng/api": "^7.1.4",
- "@thi.ng/compose": "^1.4.30",
- "@thi.ng/errors": "^1.3.0",
- "@thi.ng/math": "^3.4.0",
- "@thi.ng/random": "^2.3.7",
- "@thi.ng/transducers": "^7.6.10",
- "@thi.ng/vectors": "^5.2.1"
+ "@thi.ng/api": "^7.1.5",
+ "@thi.ng/compose": "^1.4.31",
+ "@thi.ng/errors": "^1.3.1",
+ "@thi.ng/math": "^4.0.1",
+ "@thi.ng/random": "^2.4.1",
+ "@thi.ng/transducers": "^7.7.3",
+ "@thi.ng/vectors": "^6.0.1"
},
"files": [
"*.js",
diff --git a/packages/malloc/CHANGELOG.md b/packages/malloc/CHANGELOG.md
index c98b607296..bb06daeadf 100644
--- a/packages/malloc/CHANGELOG.md
+++ b/packages/malloc/CHANGELOG.md
@@ -3,23 +3,7 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
-## [5.0.7](https://github.com/thi-ng/umbrella/compare/@thi.ng/malloc@5.0.6...@thi.ng/malloc@5.0.7) (2021-04-03)
-
-**Note:** Version bump only for package @thi.ng/malloc
-
-
-
-
-
-## [5.0.6](https://github.com/thi-ng/umbrella/compare/@thi.ng/malloc@5.0.5...@thi.ng/malloc@5.0.6) (2021-03-17)
-
-**Note:** Version bump only for package @thi.ng/malloc
-
-
-
-
-
-## [5.0.5](https://github.com/thi-ng/umbrella/compare/@thi.ng/malloc@5.0.4...@thi.ng/malloc@5.0.5) (2021-03-12)
+## [5.0.8](https://github.com/thi-ng/umbrella/compare/@thi.ng/malloc@5.0.7...@thi.ng/malloc@5.0.8) (2021-06-08)
**Note:** Version bump only for package @thi.ng/malloc
diff --git a/packages/malloc/package.json b/packages/malloc/package.json
index fd3c188416..3b566ed484 100644
--- a/packages/malloc/package.json
+++ b/packages/malloc/package.json
@@ -1,6 +1,6 @@
{
"name": "@thi.ng/malloc",
- "version": "5.0.7",
+ "version": "5.0.8",
"description": "ArrayBuffer based malloc() impl for hybrid JS/WASM use cases, based on thi.ng/tinyalloc",
"module": "./index.js",
"main": "./lib/index.js",
@@ -42,17 +42,17 @@
"@microsoft/api-extractor": "^7.13.1",
"@types/mocha": "^8.2.0",
"@types/node": "^14.14.14",
- "mocha": "^8.3.0",
+ "mocha": "^9.0.0",
"nyc": "^15.1.0",
- "ts-node": "^9.1.1",
+ "ts-node": "^10.0.0",
"typedoc": "^0.20.30",
- "typescript": "^4.2.3"
+ "typescript": "4.2.4"
},
"dependencies": {
- "@thi.ng/api": "^7.1.4",
- "@thi.ng/binary": "^2.2.4",
- "@thi.ng/checks": "^2.9.6",
- "@thi.ng/errors": "^1.3.0"
+ "@thi.ng/api": "^7.1.5",
+ "@thi.ng/binary": "^2.2.5",
+ "@thi.ng/checks": "^2.9.7",
+ "@thi.ng/errors": "^1.3.1"
},
"files": [
"*.js",
diff --git a/packages/math/CHANGELOG.md b/packages/math/CHANGELOG.md
index 977b6fe179..0f3ec5bbe7 100644
--- a/packages/math/CHANGELOG.md
+++ b/packages/math/CHANGELOG.md
@@ -3,6 +3,37 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
+## [4.0.1](https://github.com/thi-ng/umbrella/compare/@thi.ng/math@4.0.0...@thi.ng/math@4.0.1) (2021-06-08)
+
+**Note:** Version bump only for package @thi.ng/math
+
+
+
+
+
+# [4.0.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/math@3.4.0...@thi.ng/math@4.0.0) (2021-04-24)
+
+
+### Features
+
+* **math:** add libc math fns ([28b41a8](https://github.com/thi-ng/umbrella/commit/28b41a824758b83cea09c29f48e6f14f56368c40))
+* **math:** add/update modulo functions ([be7b02b](https://github.com/thi-ng/umbrella/commit/be7b02beaf4ab1ab1030597a5f4eb94d43e1469b))
+
+
+### BREAKING CHANGES
+
+* **math:** Introduction of standard libc math functions causes
+behavior change of existing `fmod()` function...
+
+- rename `fmod()` => `mod()` to align w/ GLSL counterpart
+- add new `fmod()` w/ standard libc behavior (same as JS % op)
+- add `remainder()` w/ standard libc behavior
+- update doc strings
+
+
+
+
+
# [3.4.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/math@3.3.0...@thi.ng/math@3.4.0) (2021-04-03)
@@ -35,14 +66,6 @@ See [Conventional Commits](https://conventionalcommits.org) for commit guideline
-## [3.2.5](https://github.com/thi-ng/umbrella/compare/@thi.ng/math@3.2.4...@thi.ng/math@3.2.5) (2021-03-12)
-
-**Note:** Version bump only for package @thi.ng/math
-
-
-
-
-
# [3.2.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/math@3.1.0...@thi.ng/math@3.2.0) (2021-02-20)
diff --git a/packages/math/README.md b/packages/math/README.md
index 546597933c..01844cd9fa 100644
--- a/packages/math/README.md
+++ b/packages/math/README.md
@@ -13,6 +13,7 @@ For the Clojure version, please visit: [thi.ng/math-clj](https://thi.ng/math-clj
- [About](#about)
- [Status](#status)
+ - [Breaking changes in v4.0.0](#breaking-changes-in-v400)
- [Installation](#installation)
- [Dependencies](#dependencies)
- [Usage examples](#usage-examples)
@@ -37,6 +38,16 @@ Partially ported from Clojure version
[Search or submit any issues for this package](https://github.com/thi-ng/umbrella/issues?q=%5Bmath%5D+in%3Atitle)
+### Breaking changes in v4.0.0
+
+The introduction of several [standard libc math
+functions](https://www.cplusplus.com/reference/cmath/) causes a behavior change
+of the existing `fmod()` function...
+
+- rename `fmod()` => `mod()` to align w/ GLSL counterpart
+- add new `fmod()` w/ standard libc behavior (same as JS % op)
+- add `remainder()` w/ standard libc behavior
+
## Installation
```bash
@@ -51,7 +62,7 @@ yarn add @thi.ng/math
```
-Package sizes (gzipped, pre-treeshake): ESM: 3.71 KB / CJS: 4.30 KB / UMD: 3.54 KB
+Package sizes (gzipped, pre-treeshake): ESM: 3.94 KB / CJS: 4.55 KB / UMD: 3.75 KB
## Dependencies
diff --git a/packages/math/package.json b/packages/math/package.json
index bdff2ac824..f8b70a67b5 100644
--- a/packages/math/package.json
+++ b/packages/math/package.json
@@ -1,6 +1,6 @@
{
"name": "@thi.ng/math",
- "version": "3.4.0",
+ "version": "4.0.1",
"description": "Assorted common math functions & utilities",
"module": "./index.js",
"main": "./lib/index.js",
@@ -42,14 +42,14 @@
"@microsoft/api-extractor": "^7.13.1",
"@types/mocha": "^8.2.0",
"@types/node": "^14.14.14",
- "mocha": "^8.3.0",
+ "mocha": "^9.0.0",
"nyc": "^15.1.0",
- "ts-node": "^9.1.1",
+ "ts-node": "^10.0.0",
"typedoc": "^0.20.30",
- "typescript": "^4.2.3"
+ "typescript": "4.2.4"
},
"dependencies": {
- "@thi.ng/api": "^7.1.4"
+ "@thi.ng/api": "^7.1.5"
},
"files": [
"*.js",
diff --git a/packages/math/src/index.ts b/packages/math/src/index.ts
index f1ae6da1f4..7dd652ea29 100644
--- a/packages/math/src/index.ts
+++ b/packages/math/src/index.ts
@@ -7,6 +7,7 @@ export * from "./extrema";
export * from "./fit";
export * from "./int";
export * from "./interval";
+export * from "./libc";
export * from "./min-error";
export * from "./mix";
export * from "./prec";
diff --git a/packages/math/src/libc.ts b/packages/math/src/libc.ts
new file mode 100644
index 0000000000..23be1d2eb9
--- /dev/null
+++ b/packages/math/src/libc.ts
@@ -0,0 +1,105 @@
+import type { FnN, FnN2, FnN3 } from "@thi.ng/api";
+
+/**
+ * Returns a value with the magnitude of `x` and the sign of `y`.
+ *
+ * @param x
+ * @param y
+ */
+export const copysign: FnN2 = (x, y) => Math.sign(y) * Math.abs(x);
+
+/**
+ * Returns `2^x`.
+ *
+ * @param x
+ */
+export const exp2: FnN = (x) => 2 ** x;
+
+/**
+ * Returns the positive difference between `x` and `y`, i.e. `x - y` iff `x > y`,
+ * otherwise zero.
+ *
+ * @param x
+ * @param y
+ */
+export const fdim: FnN2 = (x, y) => Math.max(x - y, 0);
+
+/**
+ * Returns `x * y + z`.
+ *
+ * @param x
+ * @param y
+ * @param z
+ */
+export const fma: FnN3 = (x, y, z) => x * y + z;
+
+/**
+ * Similar to {@link mod}, {@link remainder}. Returns `x - y * trunc(x / y)`,
+ * i.e. essentially the same as JS `%` operator. Result will always have the
+ * sign of `x`.
+ *
+ * @remarks
+ * **Caution:** Due to the introduction of libc math functions in v4.0.0 and the
+ * resulting name/behavior clashes between the modulo logic in JS, C & GLSL, the
+ * previous `fmod` function has been renamed to {@link mod} to align w/ its GLSL
+ * version and now exhibits a different behavior to this current {@link fmod}
+ * function.
+ *
+ * Reference: https://www.cplusplus.com/reference/cmath/fmod/
+ *
+ * @param x
+ * @param y
+ */
+export const fmod: FnN2 = (x, y) => x % y;
+//export const fmod: FnN2 = (x, y) => x - y * Math.trunc(x / y);
+
+/**
+ * Inverse op of {@link ldexp}. Breaks the number `x` into its binary
+ * significand (a floating point with an abs value in `[0.5,1.0)` interval and
+ * an integral exponent for 2, such that: `x = significand * 2^exp`. Returns
+ * tuple of `[sig, exp]`.
+ *
+ * @remarks
+ * - If `x` is zero, both parts (significand and exponent) are zero.
+ * - If `x` is negative, the significand returned by this function is negative.
+ *
+ * Based on:
+ * https://github.com/locutusjs/locutus/blob/master/src/c/math/frexp.js
+ *
+ * @param x
+ */
+export const frexp = (x: number) => {
+ if (x === 0 || !isFinite(x)) return [x, 0];
+
+ const abs = Math.abs(x);
+ let exp = Math.max(-1023, Math.floor(Math.log2(abs)) + 1);
+ let y = abs * 2 ** -exp;
+ while (y < 0.5) {
+ y *= 2;
+ exp--;
+ }
+ while (y >= 1) {
+ y *= 0.5;
+ exp++;
+ }
+ return [x < 0 ? -y : y, exp];
+};
+
+/**
+ * Inverse op of {@link frexp}. Returns `x * 2^exp`
+ *
+ * @param x
+ * @param exp
+ */
+export const ldexp: FnN2 = (x, exp) => x * 2 ** exp;
+
+/**
+ * Similar to {@link fmod}, {@link mod}. Returns `x - y * round(x / y)`.
+ *
+ * @remarks
+ * https://www.cplusplus.com/reference/cmath/remainder/
+ *
+ * @param x
+ * @param y
+ */
+export const remainder: FnN2 = (x, y) => x - y * Math.round(x / y);
diff --git a/packages/math/src/prec.ts b/packages/math/src/prec.ts
index bcd94d6aca..bf5d89999f 100644
--- a/packages/math/src/prec.ts
+++ b/packages/math/src/prec.ts
@@ -2,12 +2,22 @@ import type { FnN, FnN2 } from "@thi.ng/api";
import { EPS } from "./api";
/**
- * Returns `a - b * floor(a/b)`
+ * Similar to {@link fmod}, {@link remainder}. Returns `a - b * floor(a / b)`
+ * (same as GLSL `mod(a, b)`)
+ *
+ * @remarks
+ * **Caution:** Due to the introduction of libc math functions in v4.0.0 and the
+ * resulting name/behavior clashes between the modulo logic in JS, C & GLSL,
+ * this function previously _was_ called `fmod`, but going forward has been
+ * renamed to align w/ its GLSL version and exhibits a different behavior to the
+ * current {@link fmod} function.
+ *
+ * https://www.khronos.org/registry/OpenGL-Refpages/gl4/html/mod.xhtml
*
* @param a -
* @param b -
*/
-export const fmod: FnN2 = (a, b) => a - b * Math.floor(a / b);
+export const mod: FnN2 = (a, b) => a - b * Math.floor(a / b);
export const fract: FnN = (x) => x - Math.floor(x);
diff --git a/packages/math/test/index.ts b/packages/math/test/index.ts
index 73612f3881..14118f2146 100644
--- a/packages/math/test/index.ts
+++ b/packages/math/test/index.ts
@@ -1,6 +1,19 @@
-// import * as assert from "assert";
-// import * as m from "../src";
+import * as assert from "assert";
+import { fmod, mod, remainder } from "../src";
describe("math", () => {
- it("tests pending");
+ it("fmod", () => {
+ assert.strictEqual(fmod(3.75, 2), 1.75);
+ assert.strictEqual(fmod(-3.75, 2), -1.75);
+ assert.strictEqual(3.75 % 2, 1.75);
+ assert.strictEqual(-3.75 % 2, -1.75);
+ });
+ it("mod", () => {
+ assert.strictEqual(mod(3.75, 2), 1.75);
+ assert.strictEqual(mod(-3.75, 2), 0.25);
+ });
+ it("remainder", () => {
+ assert.strictEqual(remainder(3.75, 2), -0.25);
+ assert.strictEqual(remainder(-3.75, 2), 0.25);
+ });
});
diff --git a/packages/math/tpl.readme.md b/packages/math/tpl.readme.md
index 01bf8d4541..05f962e5ee 100644
--- a/packages/math/tpl.readme.md
+++ b/packages/math/tpl.readme.md
@@ -22,6 +22,16 @@ Partially ported from Clojure version
${status}
+### Breaking changes in v4.0.0
+
+The introduction of several [standard libc math
+functions](https://www.cplusplus.com/reference/cmath/) causes a behavior change
+of the existing `fmod()` function...
+
+- rename `fmod()` => `mod()` to align w/ GLSL counterpart
+- add new `fmod()` w/ standard libc behavior (same as JS % op)
+- add `remainder()` w/ standard libc behavior
+
${supportPackages}
${relatedPackages}
diff --git a/packages/matrices/CHANGELOG.md b/packages/matrices/CHANGELOG.md
index cfd98d10d5..a4741302b3 100644
--- a/packages/matrices/CHANGELOG.md
+++ b/packages/matrices/CHANGELOG.md
@@ -3,47 +3,7 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
-## [0.6.55](https://github.com/thi-ng/umbrella/compare/@thi.ng/matrices@0.6.54...@thi.ng/matrices@0.6.55) (2021-04-03)
-
-**Note:** Version bump only for package @thi.ng/matrices
-
-
-
-
-
-## [0.6.54](https://github.com/thi-ng/umbrella/compare/@thi.ng/matrices@0.6.53...@thi.ng/matrices@0.6.54) (2021-03-30)
-
-**Note:** Version bump only for package @thi.ng/matrices
-
-
-
-
-
-## [0.6.53](https://github.com/thi-ng/umbrella/compare/@thi.ng/matrices@0.6.52...@thi.ng/matrices@0.6.53) (2021-03-28)
-
-**Note:** Version bump only for package @thi.ng/matrices
-
-
-
-
-
-## [0.6.52](https://github.com/thi-ng/umbrella/compare/@thi.ng/matrices@0.6.51...@thi.ng/matrices@0.6.52) (2021-03-27)
-
-**Note:** Version bump only for package @thi.ng/matrices
-
-
-
-
-
-## [0.6.51](https://github.com/thi-ng/umbrella/compare/@thi.ng/matrices@0.6.50...@thi.ng/matrices@0.6.51) (2021-03-17)
-
-**Note:** Version bump only for package @thi.ng/matrices
-
-
-
-
-
-## [0.6.50](https://github.com/thi-ng/umbrella/compare/@thi.ng/matrices@0.6.49...@thi.ng/matrices@0.6.50) (2021-03-12)
+## [0.6.59](https://github.com/thi-ng/umbrella/compare/@thi.ng/matrices@0.6.58...@thi.ng/matrices@0.6.59) (2021-06-08)
**Note:** Version bump only for package @thi.ng/matrices
diff --git a/packages/matrices/README.md b/packages/matrices/README.md
index daf8634fbe..b7a7ba71ea 100644
--- a/packages/matrices/README.md
+++ b/packages/matrices/README.md
@@ -75,7 +75,7 @@ yarn add @thi.ng/matrices
```
-Package sizes (gzipped, pre-treeshake): ESM: 4.76 KB / CJS: 5.32 KB / UMD: 4.86 KB
+Package sizes (gzipped, pre-treeshake): ESM: 4.76 KB / CJS: 5.31 KB / UMD: 4.86 KB
## Dependencies
diff --git a/packages/matrices/package.json b/packages/matrices/package.json
index 2f83abde9f..c781c38d03 100644
--- a/packages/matrices/package.json
+++ b/packages/matrices/package.json
@@ -1,6 +1,6 @@
{
"name": "@thi.ng/matrices",
- "version": "0.6.55",
+ "version": "0.6.59",
"description": "Matrix & quaternion operations for 2D/3D geometry processing",
"module": "./index.js",
"main": "./lib/index.js",
@@ -42,17 +42,17 @@
"@microsoft/api-extractor": "^7.13.1",
"@types/mocha": "^8.2.0",
"@types/node": "^14.14.14",
- "mocha": "^8.3.0",
+ "mocha": "^9.0.0",
"nyc": "^15.1.0",
- "ts-node": "^9.1.1",
+ "ts-node": "^10.0.0",
"typedoc": "^0.20.30",
- "typescript": "^4.2.3"
+ "typescript": "4.2.4"
},
"dependencies": {
- "@thi.ng/api": "^7.1.4",
- "@thi.ng/checks": "^2.9.6",
- "@thi.ng/math": "^3.4.0",
- "@thi.ng/vectors": "^5.2.1"
+ "@thi.ng/api": "^7.1.5",
+ "@thi.ng/checks": "^2.9.7",
+ "@thi.ng/math": "^4.0.1",
+ "@thi.ng/vectors": "^6.0.1"
},
"files": [
"*.js",
diff --git a/packages/matrices/src/matn.ts b/packages/matrices/src/matn.ts
index d0139f3941..2e7ac259dd 100644
--- a/packages/matrices/src/matn.ts
+++ b/packages/matrices/src/matn.ts
@@ -7,6 +7,5 @@ export const mat23n = (out: Mat | null, n: number) => scale23(out, n);
export const mat33n = (out: Mat | null, n: number) => scale33(out, n);
-export const mat44n = (out: Mat | null, n: number) => (
- (out = scale44(out, n)), (out[15] = n), out
-);
+export const mat44n = (out: Mat | null, n: number) =>
+ scale44(out, [n, n, n, n]);
diff --git a/packages/memoize/CHANGELOG.md b/packages/memoize/CHANGELOG.md
index bdce7a0926..896b56488d 100644
--- a/packages/memoize/CHANGELOG.md
+++ b/packages/memoize/CHANGELOG.md
@@ -3,7 +3,7 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
-## [2.1.14](https://github.com/thi-ng/umbrella/compare/@thi.ng/memoize@2.1.13...@thi.ng/memoize@2.1.14) (2021-03-12)
+## [2.1.15](https://github.com/thi-ng/umbrella/compare/@thi.ng/memoize@2.1.14...@thi.ng/memoize@2.1.15) (2021-06-08)
**Note:** Version bump only for package @thi.ng/memoize
diff --git a/packages/memoize/package.json b/packages/memoize/package.json
index 714be83876..2081ae7bbf 100644
--- a/packages/memoize/package.json
+++ b/packages/memoize/package.json
@@ -1,6 +1,6 @@
{
"name": "@thi.ng/memoize",
- "version": "2.1.14",
+ "version": "2.1.15",
"description": "Function memoization with configurable caching",
"module": "./index.js",
"main": "./lib/index.js",
@@ -42,14 +42,14 @@
"@microsoft/api-extractor": "^7.13.1",
"@types/mocha": "^8.2.0",
"@types/node": "^14.14.14",
- "mocha": "^8.3.0",
+ "mocha": "^9.0.0",
"nyc": "^15.1.0",
- "ts-node": "^9.1.1",
+ "ts-node": "^10.0.0",
"typedoc": "^0.20.30",
- "typescript": "^4.2.3"
+ "typescript": "4.2.4"
},
"dependencies": {
- "@thi.ng/api": "^7.1.4"
+ "@thi.ng/api": "^7.1.5"
},
"files": [
"*.js",
diff --git a/packages/mime/CHANGELOG.md b/packages/mime/CHANGELOG.md
index 7206d24232..87c34c8696 100644
--- a/packages/mime/CHANGELOG.md
+++ b/packages/mime/CHANGELOG.md
@@ -3,50 +3,64 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
-# [0.4.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/mime@0.3.1...@thi.ng/mime@0.4.0) (2021-04-03)
+## [0.5.2](https://github.com/thi-ng/umbrella/compare/@thi.ng/mime@0.5.1...@thi.ng/mime@0.5.2) (2021-06-08)
+**Note:** Version bump only for package @thi.ng/mime
-### Features
-* **mime:** update tool, incl. more mime types ([df59d93](https://github.com/thi-ng/umbrella/commit/df59d930f6813781aada2c9d4b1d9a1d485b1dfb))
+## [0.5.1](https://github.com/thi-ng/umbrella/compare/@thi.ng/mime@0.5.0...@thi.ng/mime@0.5.1) (2021-04-10)
-## [0.3.1](https://github.com/thi-ng/umbrella/compare/@thi.ng/mime@0.3.0...@thi.ng/mime@0.3.1) (2021-03-28)
+### Bug Fixes
-**Note:** Version bump only for package @thi.ng/mime
+* **mime:** fix preferredExtension() ([2ebe6ed](https://github.com/thi-ng/umbrella/commit/2ebe6ed8d448eb35b42c6cc5c95094938a7d5a22))
-# [0.3.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/mime@0.2.0...@thi.ng/mime@0.3.0) (2021-03-27)
+# [0.5.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/mime@0.4.0...@thi.ng/mime@0.5.0) (2021-04-04)
### Features
-* **mime:** add preferredExtension(), update convert tool ([c3f5ec1](https://github.com/thi-ng/umbrella/commit/c3f5ec12f324a4e627b26dc45d480c0e761602ea))
+* **mime:** add MSFT & SideFX types ([58c247d](https://github.com/thi-ng/umbrella/commit/58c247de4c30528319ab274c2609487e5dd4df5f))
-# [0.2.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/mime@0.1.33...@thi.ng/mime@0.2.0) (2021-03-26)
+# [0.4.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/mime@0.3.1...@thi.ng/mime@0.4.0) (2021-04-03)
### Features
-* **mime:** update to latest mime-db release ([1010191](https://github.com/thi-ng/umbrella/commit/10101919d5dcfdb1477d54904a164c1d6e2e65e6))
+* **mime:** update tool, incl. more mime types ([df59d93](https://github.com/thi-ng/umbrella/commit/df59d930f6813781aada2c9d4b1d9a1d485b1dfb))
-## [0.1.33](https://github.com/thi-ng/umbrella/compare/@thi.ng/mime@0.1.32...@thi.ng/mime@0.1.33) (2021-03-12)
+# [0.3.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/mime@0.2.0...@thi.ng/mime@0.3.0) (2021-03-27)
-**Note:** Version bump only for package @thi.ng/mime
+
+### Features
+
+* **mime:** add preferredExtension(), update convert tool ([c3f5ec1](https://github.com/thi-ng/umbrella/commit/c3f5ec12f324a4e627b26dc45d480c0e761602ea))
+
+
+
+
+
+# [0.2.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/mime@0.1.33...@thi.ng/mime@0.2.0) (2021-03-26)
+
+
+### Features
+
+* **mime:** update to latest mime-db release ([1010191](https://github.com/thi-ng/umbrella/commit/10101919d5dcfdb1477d54904a164c1d6e2e65e6))
diff --git a/packages/mime/README.md b/packages/mime/README.md
index 2193fefe58..7cd589cdfa 100644
--- a/packages/mime/README.md
+++ b/packages/mime/README.md
@@ -48,7 +48,7 @@ yarn add @thi.ng/mime
```
-Package sizes (gzipped, pre-treeshake): ESM: 4.79 KB / CJS: 4.85 KB / UMD: 4.95 KB
+Package sizes (gzipped, pre-treeshake): ESM: 4.94 KB / CJS: 5.00 KB / UMD: 5.11 KB
## Dependencies
diff --git a/packages/mime/package.json b/packages/mime/package.json
index 1e68e5d241..70afa7f4c5 100644
--- a/packages/mime/package.json
+++ b/packages/mime/package.json
@@ -1,6 +1,6 @@
{
"name": "@thi.ng/mime",
- "version": "0.4.0",
+ "version": "0.5.2",
"description": "650+ file extension to MIME type mappings, based on mime-db",
"module": "./index.js",
"main": "./lib/index.js",
@@ -43,14 +43,14 @@
"@microsoft/api-extractor": "^7.13.1",
"@types/mocha": "^8.2.0",
"@types/node": "^14.14.14",
- "mocha": "^8.3.0",
+ "mocha": "^9.0.0",
"nyc": "^15.1.0",
- "ts-node": "^9.1.1",
+ "ts-node": "^10.0.0",
"typedoc": "^0.20.30",
- "typescript": "^4.2.3"
+ "typescript": "4.2.4"
},
"dependencies": {
- "@thi.ng/api": "^7.1.4"
+ "@thi.ng/api": "^7.1.5"
},
"files": [
"*.js",
diff --git a/packages/mime/src/generated.ts b/packages/mime/src/generated.ts
index 5d4953411b..94ae2bcea8 100644
--- a/packages/mime/src/generated.ts
+++ b/packages/mime/src/generated.ts
@@ -1,5 +1,5 @@
/**
- * generated @ 2021-04-03T11:47:03.364Z - DO NOT EDIT!
+ * generated @ 2021-04-10T11:16:38.116Z - DO NOT EDIT!
*
* @internal
*/
@@ -166,6 +166,13 @@ export const DB: Record> = {
"vnd.ms-excel": "xls,xlm,xla,xlc,xlt,xlw",
"vnd.ms-powerpoint": "ppt,pps,pot",
"vnd.openstreetmap.data+xml": "osm",
+ "vnd.openxmlformats-officedocument.presentationml.presentation": "pptx",
+ "vnd.openxmlformats-officedocument.presentationml.slideshow": "ppsx",
+ "vnd.openxmlformats-officedocument.presentationml.template": "potx",
+ "vnd.openxmlformats-officedocument.spreadsheetml.sheet": "xlsx",
+ "vnd.openxmlformats-officedocument.spreadsheetml.template": "xltx",
+ "vnd.openxmlformats-officedocument.wordprocessingml.document": "docx",
+ "vnd.openxmlformats-officedocument.wordprocessingml.template": "dotx",
"vnd.rar": "rar",
"vnd.unity": "unityweb",
"voicexml+xml": "vxml",
@@ -267,6 +274,8 @@ export const DB: Record> = {
"x-sh": "sh",
"x-shar": "shar",
"x-shockwave-flash": "swf",
+ "x-sidefx-houdini-asset": "hda",
+ "x-sidefx-houdini-project": "hip,hipnc,hiplc",
"x-silverlight-app": "xap",
"x-sql": "sql",
"x-stuffit": "sit",
@@ -451,8 +460,11 @@ export const DB: Record> = {
mtl: "mtl",
obj: "obj",
stl: "stl",
+ "stl+binary": "bstl",
"vnd.usdz+zip": "usdz",
vrml: "wrl,vrml",
+ "x-sidefx-houdini": "geo",
+ "x-sidefx-houdini+binary": "bgeo",
"x3d+binary": "*x3db,x3dbz",
"x3d+fastinfoset": "x3db",
"x3d+vrml": "*x3dv,x3dvz",
@@ -469,7 +481,7 @@ export const DB: Record> = {
jade: "jade",
jsx: "jsx",
less: "less",
- markdown: "markdown,md",
+ markdown: "*markdown,md",
mathml: "mml",
mdx: "mdx",
n3: "n3",
diff --git a/packages/mime/src/index.ts b/packages/mime/src/index.ts
index b7029629bc..c532b187fa 100644
--- a/packages/mime/src/index.ts
+++ b/packages/mime/src/index.ts
@@ -51,6 +51,6 @@ export const preferredType = (ext: string, fallback = MIME_TYPES.bin[0]) => {
export const preferredExtension = (mime: string, fallback = "bin") => {
const [prefix, suffix] = mime.split("/");
const group = DB[prefix];
- const ext = group ? group[suffix] : undefined;
- return ext ? ext.split(",")[0] : fallback;
+ const ext = group ? group[suffix].split(",") : undefined;
+ return ext ? ext.find((x) => x[0] !== "*") || ext[0].substr(1) : fallback;
};
diff --git a/packages/mime/tools/convert.ts b/packages/mime/tools/convert.ts
index 87d10fd578..6bd52e2b70 100644
--- a/packages/mime/tools/convert.ts
+++ b/packages/mime/tools/convert.ts
@@ -19,6 +19,13 @@ const INCLUDE = new Set([
"application/vnd.ms-excel",
"application/vnd.ms-powerpoint",
"application/vnd.openstreetmap.data+xml",
+ "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",
+ "application/vnd.openxmlformats-officedocument.spreadsheetml.template",
+ "application/vnd.openxmlformats-officedocument.wordprocessingml.document",
+ "application/vnd.openxmlformats-officedocument.wordprocessingml.template",
+ "application/vnd.openxmlformats-officedocument.presentationml.presentation",
+ "application/vnd.openxmlformats-officedocument.presentationml.slideshow",
+ "application/vnd.openxmlformats-officedocument.presentationml.template",
"application/vnd.rar",
"application/vnd.unity",
"image/vnd.adobe.photoshop",
@@ -32,6 +39,7 @@ const INCLUDE = new Set([
const LO_PRIORITIES: IObjectOf = {
"3gpp": "audio/3gpp",
jpm: "video/jpm",
+ markdown: "text/markdown",
mp3: "audio/mp3",
rtf: "text/rtf",
wav: "audio/wave",
@@ -45,10 +53,22 @@ const src = JSON.parse(readFileSync("tools/mime-db.json", "utf-8"));
// Destination index w/ prefilled types not included in mime-db
const dest: IObjectOf> = {
+ // see: https://twitter.com/toxi/status/1378719456269058058
+ application: {
+ "x-sidefx-houdini-project": "hip,hipnc,hiplc",
+ "x-sidefx-houdini-asset": "hda",
+ },
image: {
// http://fileformats.archiveteam.org/wiki/Radiance_HDR
"vnd.radiance": "hdr,*pic,rgbe,xyze",
},
+ model: {
+ // Houdini default extension for binary STL models
+ "stl+binary": "bstl",
+ // Houdini geometry formats
+ "x-sidefx-houdini": "geo",
+ "x-sidefx-houdini+binary": "bgeo",
+ },
};
// build index
diff --git a/packages/morton/CHANGELOG.md b/packages/morton/CHANGELOG.md
index 8d100221bb..37c68f07dc 100644
--- a/packages/morton/CHANGELOG.md
+++ b/packages/morton/CHANGELOG.md
@@ -3,23 +3,7 @@
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/morton@2.0.38...@thi.ng/morton@2.0.39) (2021-04-03)
-
-**Note:** Version bump only for package @thi.ng/morton
-
-
-
-
-
-## [2.0.38](https://github.com/thi-ng/umbrella/compare/@thi.ng/morton@2.0.37...@thi.ng/morton@2.0.38) (2021-03-17)
-
-**Note:** Version bump only for package @thi.ng/morton
-
-
-
-
-
-## [2.0.37](https://github.com/thi-ng/umbrella/compare/@thi.ng/morton@2.0.36...@thi.ng/morton@2.0.37) (2021-03-12)
+## [2.0.41](https://github.com/thi-ng/umbrella/compare/@thi.ng/morton@2.0.40...@thi.ng/morton@2.0.41) (2021-06-08)
**Note:** Version bump only for package @thi.ng/morton
diff --git a/packages/morton/package.json b/packages/morton/package.json
index 24eb6b4ecc..4ce8f9cb44 100644
--- a/packages/morton/package.json
+++ b/packages/morton/package.json
@@ -1,6 +1,6 @@
{
"name": "@thi.ng/morton",
- "version": "2.0.39",
+ "version": "2.0.41",
"description": "Z-order curve / Morton encoding, decoding & range extraction for arbitrary dimensions",
"module": "./index.js",
"main": "./lib/index.js",
@@ -42,16 +42,16 @@
"@microsoft/api-extractor": "^7.13.1",
"@types/mocha": "^8.2.0",
"@types/node": "^14.14.14",
- "mocha": "^8.3.0",
+ "mocha": "^9.0.0",
"nyc": "^15.1.0",
- "ts-node": "^9.1.1",
+ "ts-node": "^10.0.0",
"typedoc": "^0.20.30",
- "typescript": "^4.2.3"
+ "typescript": "4.2.4"
},
"dependencies": {
- "@thi.ng/api": "^7.1.4",
- "@thi.ng/binary": "^2.2.4",
- "@thi.ng/math": "^3.4.0"
+ "@thi.ng/api": "^7.1.5",
+ "@thi.ng/binary": "^2.2.5",
+ "@thi.ng/math": "^4.0.1"
},
"files": [
"*.js",
diff --git a/packages/oquery/CHANGELOG.md b/packages/oquery/CHANGELOG.md
index 4bae28281e..530ca96c8a 100644
--- a/packages/oquery/CHANGELOG.md
+++ b/packages/oquery/CHANGELOG.md
@@ -3,7 +3,7 @@
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/oquery@0.3.0...@thi.ng/oquery@0.3.1) (2021-04-03)
+## [0.3.2](https://github.com/thi-ng/umbrella/compare/@thi.ng/oquery@0.3.1...@thi.ng/oquery@0.3.2) (2021-06-08)
**Note:** Version bump only for package @thi.ng/oquery
@@ -22,22 +22,6 @@ See [Conventional Commits](https://conventionalcommits.org) for commit guideline
-## [0.2.11](https://github.com/thi-ng/umbrella/compare/@thi.ng/oquery@0.2.10...@thi.ng/oquery@0.2.11) (2021-03-17)
-
-**Note:** Version bump only for package @thi.ng/oquery
-
-
-
-
-
-## [0.2.10](https://github.com/thi-ng/umbrella/compare/@thi.ng/oquery@0.2.9...@thi.ng/oquery@0.2.10) (2021-03-12)
-
-**Note:** Version bump only for package @thi.ng/oquery
-
-
-
-
-
# [0.2.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/oquery@0.1.15...@thi.ng/oquery@0.2.0) (2020-12-07)
diff --git a/packages/oquery/package.json b/packages/oquery/package.json
index 0872a9b822..da9be5614b 100644
--- a/packages/oquery/package.json
+++ b/packages/oquery/package.json
@@ -1,6 +1,6 @@
{
"name": "@thi.ng/oquery",
- "version": "0.3.1",
+ "version": "0.3.2",
"description": "Datalog-inspired, optimized pattern/predicate query engine for JS objects & arrays",
"module": "./index.js",
"main": "./lib/index.js",
@@ -41,17 +41,17 @@
"@microsoft/api-extractor": "^7.13.1",
"@types/mocha": "^8.2.0",
"@types/node": "^14.14.14",
- "mocha": "^8.3.0",
+ "mocha": "^9.0.0",
"nyc": "^15.1.0",
- "ts-node": "^9.1.1",
+ "ts-node": "^10.0.0",
"typedoc": "^0.20.30",
- "typescript": "^4.2.3"
+ "typescript": "4.2.4"
},
"dependencies": {
- "@thi.ng/api": "^7.1.4",
- "@thi.ng/checks": "^2.9.6",
- "@thi.ng/defmulti": "^1.3.11",
- "@thi.ng/equiv": "^1.0.41"
+ "@thi.ng/api": "^7.1.5",
+ "@thi.ng/checks": "^2.9.7",
+ "@thi.ng/defmulti": "^1.3.12",
+ "@thi.ng/equiv": "^1.0.42"
},
"files": [
"*.js",
diff --git a/packages/parse/CHANGELOG.md b/packages/parse/CHANGELOG.md
index c62589d4e2..94df24b850 100644
--- a/packages/parse/CHANGELOG.md
+++ b/packages/parse/CHANGELOG.md
@@ -3,39 +3,7 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
-## [0.9.22](https://github.com/thi-ng/umbrella/compare/@thi.ng/parse@0.9.21...@thi.ng/parse@0.9.22) (2021-04-03)
-
-**Note:** Version bump only for package @thi.ng/parse
-
-
-
-
-
-## [0.9.21](https://github.com/thi-ng/umbrella/compare/@thi.ng/parse@0.9.20...@thi.ng/parse@0.9.21) (2021-03-24)
-
-**Note:** Version bump only for package @thi.ng/parse
-
-
-
-
-
-## [0.9.20](https://github.com/thi-ng/umbrella/compare/@thi.ng/parse@0.9.19...@thi.ng/parse@0.9.20) (2021-03-24)
-
-**Note:** Version bump only for package @thi.ng/parse
-
-
-
-
-
-## [0.9.19](https://github.com/thi-ng/umbrella/compare/@thi.ng/parse@0.9.18...@thi.ng/parse@0.9.19) (2021-03-17)
-
-**Note:** Version bump only for package @thi.ng/parse
-
-
-
-
-
-## [0.9.18](https://github.com/thi-ng/umbrella/compare/@thi.ng/parse@0.9.17...@thi.ng/parse@0.9.18) (2021-03-12)
+## [0.9.23](https://github.com/thi-ng/umbrella/compare/@thi.ng/parse@0.9.22...@thi.ng/parse@0.9.23) (2021-06-08)
**Note:** Version bump only for package @thi.ng/parse
diff --git a/packages/parse/package.json b/packages/parse/package.json
index 32c69692a0..32b52593a3 100644
--- a/packages/parse/package.json
+++ b/packages/parse/package.json
@@ -1,6 +1,6 @@
{
"name": "@thi.ng/parse",
- "version": "0.9.22",
+ "version": "0.9.23",
"description": "Purely functional parser combinators & AST generation for generic inputs",
"module": "./index.js",
"main": "./lib/index.js",
@@ -42,18 +42,18 @@
"@microsoft/api-extractor": "^7.13.1",
"@types/mocha": "^8.2.0",
"@types/node": "^14.14.14",
- "mocha": "^8.3.0",
+ "mocha": "^9.0.0",
"nyc": "^15.1.0",
- "ts-node": "^9.1.1",
+ "ts-node": "^10.0.0",
"typedoc": "^0.20.30",
- "typescript": "^4.2.3"
+ "typescript": "4.2.4"
},
"dependencies": {
- "@thi.ng/api": "^7.1.4",
- "@thi.ng/checks": "^2.9.6",
- "@thi.ng/defmulti": "^1.3.11",
- "@thi.ng/errors": "^1.3.0",
- "@thi.ng/strings": "^2.1.0"
+ "@thi.ng/api": "^7.1.5",
+ "@thi.ng/checks": "^2.9.7",
+ "@thi.ng/defmulti": "^1.3.12",
+ "@thi.ng/errors": "^1.3.1",
+ "@thi.ng/strings": "^2.1.1"
},
"files": [
"*.js",
diff --git a/packages/paths/CHANGELOG.md b/packages/paths/CHANGELOG.md
index ed25154702..8ba2f07492 100644
--- a/packages/paths/CHANGELOG.md
+++ b/packages/paths/CHANGELOG.md
@@ -3,23 +3,7 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
-## [4.2.7](https://github.com/thi-ng/umbrella/compare/@thi.ng/paths@4.2.6...@thi.ng/paths@4.2.7) (2021-04-03)
-
-**Note:** Version bump only for package @thi.ng/paths
-
-
-
-
-
-## [4.2.6](https://github.com/thi-ng/umbrella/compare/@thi.ng/paths@4.2.5...@thi.ng/paths@4.2.6) (2021-03-17)
-
-**Note:** Version bump only for package @thi.ng/paths
-
-
-
-
-
-## [4.2.5](https://github.com/thi-ng/umbrella/compare/@thi.ng/paths@4.2.4...@thi.ng/paths@4.2.5) (2021-03-12)
+## [4.2.8](https://github.com/thi-ng/umbrella/compare/@thi.ng/paths@4.2.7...@thi.ng/paths@4.2.8) (2021-06-08)
**Note:** Version bump only for package @thi.ng/paths
diff --git a/packages/paths/package.json b/packages/paths/package.json
index d551dfa8e3..3acf139046 100644
--- a/packages/paths/package.json
+++ b/packages/paths/package.json
@@ -1,6 +1,6 @@
{
"name": "@thi.ng/paths",
- "version": "4.2.7",
+ "version": "4.2.8",
"description": "Immutable, optimized and optionally typed path-based object property / array accessors with structural sharing",
"module": "./index.js",
"main": "./lib/index.js",
@@ -42,16 +42,16 @@
"@microsoft/api-extractor": "^7.13.1",
"@types/mocha": "^8.2.0",
"@types/node": "^14.14.14",
- "mocha": "^8.3.0",
+ "mocha": "^9.0.0",
"nyc": "^15.1.0",
- "ts-node": "^9.1.1",
+ "ts-node": "^10.0.0",
"typedoc": "^0.20.30",
- "typescript": "^4.2.3"
+ "typescript": "4.2.4"
},
"dependencies": {
- "@thi.ng/api": "^7.1.4",
- "@thi.ng/checks": "^2.9.6",
- "@thi.ng/errors": "^1.3.0"
+ "@thi.ng/api": "^7.1.5",
+ "@thi.ng/checks": "^2.9.7",
+ "@thi.ng/errors": "^1.3.1"
},
"files": [
"*.js",
diff --git a/packages/pixel-io-netpbm/CHANGELOG.md b/packages/pixel-io-netpbm/CHANGELOG.md
index 0e054b0df2..0ce24908da 100644
--- a/packages/pixel-io-netpbm/CHANGELOG.md
+++ b/packages/pixel-io-netpbm/CHANGELOG.md
@@ -3,31 +3,7 @@
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/pixel-io-netpbm@0.1.7...@thi.ng/pixel-io-netpbm@0.1.8) (2021-04-03)
-
-**Note:** Version bump only for package @thi.ng/pixel-io-netpbm
-
-
-
-
-
-## [0.1.7](https://github.com/thi-ng/umbrella/compare/@thi.ng/pixel-io-netpbm@0.1.6...@thi.ng/pixel-io-netpbm@0.1.7) (2021-03-20)
-
-**Note:** Version bump only for package @thi.ng/pixel-io-netpbm
-
-
-
-
-
-## [0.1.6](https://github.com/thi-ng/umbrella/compare/@thi.ng/pixel-io-netpbm@0.1.5...@thi.ng/pixel-io-netpbm@0.1.6) (2021-03-17)
-
-**Note:** Version bump only for package @thi.ng/pixel-io-netpbm
-
-
-
-
-
-## [0.1.5](https://github.com/thi-ng/umbrella/compare/@thi.ng/pixel-io-netpbm@0.1.4...@thi.ng/pixel-io-netpbm@0.1.5) (2021-03-12)
+## [0.1.12](https://github.com/thi-ng/umbrella/compare/@thi.ng/pixel-io-netpbm@0.1.11...@thi.ng/pixel-io-netpbm@0.1.12) (2021-06-08)
**Note:** Version bump only for package @thi.ng/pixel-io-netpbm
diff --git a/packages/pixel-io-netpbm/package.json b/packages/pixel-io-netpbm/package.json
index 89b8a4e2a2..d203afe026 100644
--- a/packages/pixel-io-netpbm/package.json
+++ b/packages/pixel-io-netpbm/package.json
@@ -1,6 +1,6 @@
{
"name": "@thi.ng/pixel-io-netpbm",
- "version": "0.1.8",
+ "version": "0.1.12",
"description": "Multi-format NetPBM reader & writer support for @thi.ng/pixel",
"module": "./index.js",
"main": "./lib/index.js",
@@ -42,16 +42,16 @@
"@microsoft/api-extractor": "^7.13.1",
"@types/mocha": "^8.2.0",
"@types/node": "^14.14.14",
- "mocha": "^8.3.0",
+ "mocha": "^9.0.0",
"nyc": "^15.1.0",
- "ts-node": "^9.1.1",
+ "ts-node": "^10.0.0",
"typedoc": "^0.20.30",
- "typescript": "^4.2.3"
+ "typescript": "4.2.4"
},
"dependencies": {
- "@thi.ng/api": "^7.1.4",
- "@thi.ng/errors": "^1.3.0",
- "@thi.ng/pixel": "^0.9.0"
+ "@thi.ng/api": "^7.1.5",
+ "@thi.ng/errors": "^1.3.1",
+ "@thi.ng/pixel": "^0.10.3"
},
"files": [
"*.js",
diff --git a/packages/pixel/CHANGELOG.md b/packages/pixel/CHANGELOG.md
index 9432c6f12e..2e6d35b7f6 100644
--- a/packages/pixel/CHANGELOG.md
+++ b/packages/pixel/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.
+## [0.10.3](https://github.com/thi-ng/umbrella/compare/@thi.ng/pixel@0.10.2...@thi.ng/pixel@0.10.3) (2021-06-08)
+
+**Note:** Version bump only for package @thi.ng/pixel
+
+
+
+
+
+# [0.10.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/pixel@0.9.0...@thi.ng/pixel@0.10.0) (2021-04-19)
+
+
+### Features
+
+* **pixel:** add dominantColors(), update deps ([ad0617e](https://github.com/thi-ng/umbrella/commit/ad0617e6ed3077d8d0c1549416afc27df261edc9))
+
+
+
+
+
# [0.9.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/pixel@0.8.1...@thi.ng/pixel@0.9.0) (2021-04-03)
@@ -42,14 +61,6 @@ See [Conventional Commits](https://conventionalcommits.org) for commit guideline
-## [0.7.4](https://github.com/thi-ng/umbrella/compare/@thi.ng/pixel@0.7.3...@thi.ng/pixel@0.7.4) (2021-03-12)
-
-**Note:** Version bump only for package @thi.ng/pixel
-
-
-
-
-
# [0.7.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/pixel@0.6.1...@thi.ng/pixel@0.7.0) (2021-03-03)
diff --git a/packages/pixel/README.md b/packages/pixel/README.md
index 727b7887f6..96a1654b5b 100644
--- a/packages/pixel/README.md
+++ b/packages/pixel/README.md
@@ -17,6 +17,7 @@ This project is part of the
- [Wrap mode](#wrap-mode)
- [Strided convolution & pooling](#strided-convolution--pooling)
- [Normal map generation](#normal-map-generation)
+ - [Dominant color extraction](#dominant-color-extraction)
- [Status](#status)
- [Support packages](#support-packages)
- [Related packages](#related-packages)
@@ -42,6 +43,7 @@ Typedarray integer & float pixel buffers w/ customizable formats, blitting, dith
- Pre/post-multiply alpha
- Region / sub-image extraction
- Single-channel manipulation / extraction / replacement / conversion
+- k-means based dominant color extraction (float buffers only)
- Accessors for normalized channel value
- Image sampling, resizing, pooling
- Filters: nearest neighbor, bilinear, bicubic
@@ -245,6 +247,52 @@ nmap.getAt(10, 10);
writeFileSync("noise-normal.ppm", asPPM(nmap.as(RGB888)));
```
+### Dominant color extraction
+
+The `dominantColors()` function applies [k-means
+clustering](https://github.com/thi-ng/umbrella/tree/develop/packages/k-means) to
+extract the dominant colors from the given image. The clustering can be
+configured. The function returns an array of `{ color, area }` objects (sorted
+by descending area), where `color` is a cluster's dominant color (in the format
+of the source image) and `area` the normalized cluster size (number of selected
+pixels over total number of pixels in the image).
+
+![Example image & extracted dominant colors](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/pixel/dominant-colors-01.jpg)
+
+Picture credit: [/u/kristophershinn](https://www.reddit.com/r/EarthPorn/comments/j3z0f6/fall_in_yosemite_valley_oc3186_3983/)
+
+```ts
+// read test PPM image and convert into float RGB format
+const img = floatBuffer(read(readFileSync(`test.ppm`)), FLOAT_RGB);
+
+// extract 5 dominant color clusters
+const clusters = dominantColors(img, 5);
+
+console.log(clusters);
+// [
+// {
+// color: [ 0.4000000059604645, 0.30980393290519714, 0.21176470816135406 ],
+// area: 0.3141084558823529
+// },
+// {
+// color: [ 0.21960784494876862, 0.19607843458652496, 0.1411764770746231 ],
+// area: 0.2780330882352941
+// },
+// {
+// color: [ 0.4156862795352936, 0.4745098054409027, 0.5647059082984924 ],
+// area: 0.16620710784313725
+// },
+// {
+// color: [ 0.6666666865348816, 0.7568627595901489, 0.9254902005195618 ],
+// area: 0.12385110294117647
+// },
+// {
+// color: [ 0.7176470756530762, 0.4745098054409027, 0.12941177189350128 ],
+// area: 0.11780024509803921
+// }
+// ]
+```
+
### Status
**STABLE** - used in production
@@ -273,13 +321,14 @@ yarn add @thi.ng/pixel
```
-Package sizes (gzipped, pre-treeshake): ESM: 9.07 KB / CJS: 9.35 KB / UMD: 9.07 KB
+Package sizes (gzipped, pre-treeshake): ESM: 9.20 KB / CJS: 9.49 KB / UMD: 9.20 KB
## Dependencies
- [@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/checks](https://github.com/thi-ng/umbrella/tree/develop/packages/checks)
+- [@thi.ng/k-means](https://github.com/thi-ng/umbrella/tree/develop/packages/k-means)
- [@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)
@@ -291,15 +340,16 @@ directory are using this package.
A selection:
-| 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) |
-| | Interactive pixel sorting tool using thi.ng/color & thi.ng/pixel | [Demo](https://demo.thi.ng/umbrella/pixel-sorting/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/pixel-sorting) |
-| | 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) |
-| | Textmode image warping w/ 16bit color output | [Demo](https://demo.thi.ng/umbrella/text-canvas-image/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/text-canvas-image) |
-| | 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) |
+| 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) |
+| | Color palette generation via dominant color extraction from uploaded images | [Demo](https://demo.thi.ng/umbrella/dominant-colors/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/dominant-colors) |
+| | Pixel buffer manipulations | [Demo](https://demo.thi.ng/umbrella/pixel-basics/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/pixel-basics) |
+| | Interactive pixel sorting tool using thi.ng/color & thi.ng/pixel | [Demo](https://demo.thi.ng/umbrella/pixel-sorting/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/pixel-sorting) |
+| | 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) |
+| | Textmode image warping w/ 16bit color output | [Demo](https://demo.thi.ng/umbrella/text-canvas-image/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/text-canvas-image) |
+| | 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/pixel/package.json b/packages/pixel/package.json
index cd436eeef9..0264c1aef4 100644
--- a/packages/pixel/package.json
+++ b/packages/pixel/package.json
@@ -1,6 +1,6 @@
{
"name": "@thi.ng/pixel",
- "version": "0.9.0",
+ "version": "0.10.3",
"description": "Typedarray integer & float pixel buffers w/ customizable formats, blitting, dithering, convolution",
"module": "./index.js",
"main": "./lib/index.js",
@@ -42,18 +42,19 @@
"@microsoft/api-extractor": "^7.13.1",
"@types/mocha": "^8.2.0",
"@types/node": "^14.14.14",
- "mocha": "^8.3.0",
+ "mocha": "^9.0.0",
"nyc": "^15.1.0",
- "ts-node": "^9.1.1",
+ "ts-node": "^10.0.0",
"typedoc": "^0.20.30",
- "typescript": "^4.2.3"
+ "typescript": "4.2.4"
},
"dependencies": {
- "@thi.ng/api": "^7.1.4",
- "@thi.ng/binary": "^2.2.4",
- "@thi.ng/checks": "^2.9.6",
- "@thi.ng/math": "^3.4.0",
- "@thi.ng/porter-duff": "^0.1.45"
+ "@thi.ng/api": "^7.1.5",
+ "@thi.ng/binary": "^2.2.5",
+ "@thi.ng/checks": "^2.9.7",
+ "@thi.ng/k-means": "^0.2.2",
+ "@thi.ng/math": "^4.0.1",
+ "@thi.ng/porter-duff": "^0.1.47"
},
"files": [
"*.js",
@@ -86,6 +87,7 @@
"grayscale",
"image",
"interval",
+ "k-means",
"multiformat",
"normal",
"pixel",
diff --git a/packages/pixel/src/convolve.ts b/packages/pixel/src/convolve.ts
index e50cc55369..4ce8a6e049 100644
--- a/packages/pixel/src/convolve.ts
+++ b/packages/pixel/src/convolve.ts
@@ -142,6 +142,22 @@ const initConvolve = (src: FloatBuffer, opts: ConvolveOpts) => {
};
};
+const declOffset = (
+ idx: number,
+ i: number,
+ pre: string,
+ stride: string,
+ min: string,
+ max: string
+) =>
+ idx < 0
+ ? `const ${pre}${i} = max(${pre}${
+ idx < -1 ? idx + "*" : "-"
+ }${stride},${min});`
+ : `const ${pre}${i} = min(${pre}+${
+ idx > 1 ? idx + "*" : ""
+ }${stride},${max});`;
+
/**
* HOF convolution or pooling kernel code generator. Takes either a
* {@link PoolTemplate} function or array of kernel coefficients and kernel
@@ -187,27 +203,13 @@ export const defKernel = (
: (tpl)[i] !== 0 && row.push(`${kv}*pix[${idx}]`);
if (y === 0 && xx !== 0) {
prefix.push(
- xx < 0
- ? `const x${x} = max(x${
- xx < -1 ? xx + "*" : "-"
- }stride,channel);`
- : `const x${x} = min(x+${
- xx > 1 ? xx + "*" : ""
- }stride,maxX+channel);`
+ declOffset(xx, x, "x", "stride", "channel", "maxX+channel")
);
}
}
row.length && body.push(...row);
if (yy !== 0) {
- prefix.push(
- yy < 0
- ? `const y${y} = max(y${
- yy < -1 ? yy + "*" : "-"
- }rowStride,0);`
- : `const y${y} = min(y+${
- yy > 1 ? yy + "*" : ""
- }rowStride,maxY);`
- );
+ prefix.push(declOffset(yy, y, "y", "rowStride", "0", "maxY"));
}
}
const decls = isPool
diff --git a/packages/pixel/src/dominant-colors.ts b/packages/pixel/src/dominant-colors.ts
new file mode 100644
index 0000000000..cecc23431b
--- /dev/null
+++ b/packages/pixel/src/dominant-colors.ts
@@ -0,0 +1,31 @@
+import { kmeans, KMeansOpts } from "@thi.ng/k-means";
+import type { FloatBuffer } from "./float";
+
+/**
+ * Takes a {@link FloatBuffer} and applies k-means clustering to extract the
+ * `num` dominant colors from the given image. The clustering can be configured
+ * via optionally provided `opts`. Returns array of `{ color, area }` objects
+ * (sorted by descending area), where `color` is a cluster's dominant color and
+ * `area` the normalized cluster size.
+ *
+ * @remarks
+ * See thi.ng/k-means for details about clustering implementation & options.
+ *
+ * @param img
+ * @param num
+ * @param opts
+ */
+export const dominantColors = (
+ img: FloatBuffer,
+ num: number,
+ opts?: Partial
+) => {
+ const n = img.width * img.height;
+ const mapped: Float32Array[] = [];
+ for (let i = 0, j = 0, s = img.stride; i < n; i++, j += s) {
+ mapped.push(img.pixels.subarray(j, j + s));
+ }
+ return kmeans(num, mapped, opts)
+ .sort((a, b) => b.items.length - a.items.length)
+ .map((c) => ({ color: [...c.centroid], area: c.items.length / n }));
+};
diff --git a/packages/pixel/src/index.ts b/packages/pixel/src/index.ts
index 70a0aaf384..ada25ddeb0 100644
--- a/packages/pixel/src/index.ts
+++ b/packages/pixel/src/index.ts
@@ -3,6 +3,7 @@ export * from "./canvas";
export * from "./codegen";
export * from "./convolve";
export * from "./dither";
+export * from "./dominant-colors";
export * from "./float";
export * from "./normal-map";
export * from "./packed";
diff --git a/packages/pixel/src/sample.ts b/packages/pixel/src/sample.ts
index d53b9ae0b2..11c116e116 100644
--- a/packages/pixel/src/sample.ts
+++ b/packages/pixel/src/sample.ts
@@ -1,5 +1,5 @@
import { assert, Fn, IObjectOf, NumericArray } from "@thi.ng/api";
-import { clamp, fmod, fract, mixBicubic, mixBilinear } from "@thi.ng/math";
+import { clamp, fract, mixBicubic, mixBilinear, mod } from "@thi.ng/math";
import type {
Filter,
FloatSampler,
@@ -84,7 +84,7 @@ const sampleINC = ({ pixels, width, height }: IPixelBuffer): IntSampler => (
const sampleINW = ({ pixels, width, height }: IPixelBuffer): IntSampler => (
x,
y
-) => pixels[fmod(y | 0, height) * width + fmod(x | 0, width)];
+) => pixels[mod(y | 0, height) * width + mod(x | 0, width)];
const sampleINR = ({ pixels, width, height }: IPixelBuffer): IntSampler => {
const w1 = width - 1;
@@ -113,7 +113,7 @@ const sampleFNW = ({
rowStride,
stride,
}: FloatBuffer): FloatSampler => (x, y) => {
- let i = fmod(y | 0, height) * rowStride + fmod(x | 0, width) * stride;
+ let i = mod(y | 0, height) * rowStride + mod(x | 0, width) * stride;
return pixels.slice(i, i + stride);
};
diff --git a/packages/pixel/tpl.readme.md b/packages/pixel/tpl.readme.md
index 0bdf79b2a8..3510e00815 100644
--- a/packages/pixel/tpl.readme.md
+++ b/packages/pixel/tpl.readme.md
@@ -24,6 +24,7 @@ ${pkg.description}
- Pre/post-multiply alpha
- Region / sub-image extraction
- Single-channel manipulation / extraction / replacement / conversion
+- k-means based dominant color extraction (float buffers only)
- Accessors for normalized channel value
- Image sampling, resizing, pooling
- Filters: nearest neighbor, bilinear, bicubic
@@ -227,6 +228,52 @@ nmap.getAt(10, 10);
writeFileSync("noise-normal.ppm", asPPM(nmap.as(RGB888)));
```
+### Dominant color extraction
+
+The `dominantColors()` function applies [k-means
+clustering](https://github.com/thi-ng/umbrella/tree/develop/packages/k-means) to
+extract the dominant colors from the given image. The clustering can be
+configured. The function returns an array of `{ color, area }` objects (sorted
+by descending area), where `color` is a cluster's dominant color (in the format
+of the source image) and `area` the normalized cluster size (number of selected
+pixels over total number of pixels in the image).
+
+![Example image & extracted dominant colors](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/pixel/dominant-colors-01.jpg)
+
+Picture credit: [/u/kristophershinn](https://www.reddit.com/r/EarthPorn/comments/j3z0f6/fall_in_yosemite_valley_oc3186_3983/)
+
+```ts
+// read test PPM image and convert into float RGB format
+const img = floatBuffer(read(readFileSync(`test.ppm`)), FLOAT_RGB);
+
+// extract 5 dominant color clusters
+const clusters = dominantColors(img, 5);
+
+console.log(clusters);
+// [
+// {
+// color: [ 0.4000000059604645, 0.30980393290519714, 0.21176470816135406 ],
+// area: 0.3141084558823529
+// },
+// {
+// color: [ 0.21960784494876862, 0.19607843458652496, 0.1411764770746231 ],
+// area: 0.2780330882352941
+// },
+// {
+// color: [ 0.4156862795352936, 0.4745098054409027, 0.5647059082984924 ],
+// area: 0.16620710784313725
+// },
+// {
+// color: [ 0.6666666865348816, 0.7568627595901489, 0.9254902005195618 ],
+// area: 0.12385110294117647
+// },
+// {
+// color: [ 0.7176470756530762, 0.4745098054409027, 0.12941177189350128 ],
+// area: 0.11780024509803921
+// }
+// ]
+```
+
${status}
${supportPackages}
diff --git a/packages/pointfree-lang/CHANGELOG.md b/packages/pointfree-lang/CHANGELOG.md
index a6f17abfe5..529061bb64 100644
--- a/packages/pointfree-lang/CHANGELOG.md
+++ b/packages/pointfree-lang/CHANGELOG.md
@@ -3,23 +3,7 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
-## [1.4.28](https://github.com/thi-ng/umbrella/compare/@thi.ng/pointfree-lang@1.4.27...@thi.ng/pointfree-lang@1.4.28) (2021-04-03)
-
-**Note:** Version bump only for package @thi.ng/pointfree-lang
-
-
-
-
-
-## [1.4.27](https://github.com/thi-ng/umbrella/compare/@thi.ng/pointfree-lang@1.4.26...@thi.ng/pointfree-lang@1.4.27) (2021-03-17)
-
-**Note:** Version bump only for package @thi.ng/pointfree-lang
-
-
-
-
-
-## [1.4.26](https://github.com/thi-ng/umbrella/compare/@thi.ng/pointfree-lang@1.4.25...@thi.ng/pointfree-lang@1.4.26) (2021-03-12)
+## [1.4.29](https://github.com/thi-ng/umbrella/compare/@thi.ng/pointfree-lang@1.4.28...@thi.ng/pointfree-lang@1.4.29) (2021-06-08)
**Note:** Version bump only for package @thi.ng/pointfree-lang
diff --git a/packages/pointfree-lang/README.md b/packages/pointfree-lang/README.md
index 4fc5d847e4..18997fa806 100644
--- a/packages/pointfree-lang/README.md
+++ b/packages/pointfree-lang/README.md
@@ -80,7 +80,7 @@ yarn add @thi.ng/pointfree-lang
```
-Package sizes (gzipped, pre-treeshake): ESM: 5.00 KB / CJS: 5.00 KB / UMD: 4.94 KB
+Package sizes (gzipped, pre-treeshake): ESM: 4.91 KB / CJS: 5.00 KB / UMD: 4.94 KB
## Dependencies
diff --git a/packages/pointfree-lang/package.json b/packages/pointfree-lang/package.json
index eed9ca8a8a..b42239199a 100644
--- a/packages/pointfree-lang/package.json
+++ b/packages/pointfree-lang/package.json
@@ -1,6 +1,6 @@
{
"name": "@thi.ng/pointfree-lang",
- "version": "1.4.28",
+ "version": "1.4.29",
"description": "Forth style syntax layer/compiler & CLI for the @thi.ng/pointfree DSL",
"module": "./index.js",
"main": "./lib/index.js",
@@ -46,17 +46,17 @@
"@microsoft/api-extractor": "^7.13.1",
"@types/mocha": "^8.2.0",
"@types/node": "^14.14.14",
- "mocha": "^8.3.0",
+ "mocha": "^9.0.0",
"pegjs": "0.11.0-master.b7b87ea",
- "ts-node": "^9.1.1",
+ "ts-node": "^10.0.0",
"typedoc": "^0.20.30",
- "typescript": "^4.2.3"
+ "typescript": "4.2.4"
},
"dependencies": {
- "@thi.ng/api": "^7.1.4",
- "@thi.ng/bench": "^2.1.0",
- "@thi.ng/errors": "^1.3.0",
- "@thi.ng/pointfree": "^2.0.29",
+ "@thi.ng/api": "^7.1.5",
+ "@thi.ng/bench": "^2.1.1",
+ "@thi.ng/errors": "^1.3.1",
+ "@thi.ng/pointfree": "^2.0.30",
"commander": "^6.2.0"
},
"files": [
diff --git a/packages/pointfree/CHANGELOG.md b/packages/pointfree/CHANGELOG.md
index ad88435980..0fc6c84d90 100644
--- a/packages/pointfree/CHANGELOG.md
+++ b/packages/pointfree/CHANGELOG.md
@@ -3,23 +3,7 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
-## [2.0.29](https://github.com/thi-ng/umbrella/compare/@thi.ng/pointfree@2.0.28...@thi.ng/pointfree@2.0.29) (2021-04-03)
-
-**Note:** Version bump only for package @thi.ng/pointfree
-
-
-
-
-
-## [2.0.28](https://github.com/thi-ng/umbrella/compare/@thi.ng/pointfree@2.0.27...@thi.ng/pointfree@2.0.28) (2021-03-17)
-
-**Note:** Version bump only for package @thi.ng/pointfree
-
-
-
-
-
-## [2.0.27](https://github.com/thi-ng/umbrella/compare/@thi.ng/pointfree@2.0.26...@thi.ng/pointfree@2.0.27) (2021-03-12)
+## [2.0.30](https://github.com/thi-ng/umbrella/compare/@thi.ng/pointfree@2.0.29...@thi.ng/pointfree@2.0.30) (2021-06-08)
**Note:** Version bump only for package @thi.ng/pointfree
diff --git a/packages/pointfree/package.json b/packages/pointfree/package.json
index 02a6957eb4..6f4aaae557 100644
--- a/packages/pointfree/package.json
+++ b/packages/pointfree/package.json
@@ -1,6 +1,6 @@
{
"name": "@thi.ng/pointfree",
- "version": "2.0.29",
+ "version": "2.0.30",
"description": "Pointfree functional composition / Forth style stack execution engine",
"module": "./index.js",
"main": "./lib/index.js",
@@ -42,18 +42,18 @@
"@microsoft/api-extractor": "^7.13.1",
"@types/mocha": "^8.2.0",
"@types/node": "^14.14.14",
- "mocha": "^8.3.0",
+ "mocha": "^9.0.0",
"nyc": "^15.1.0",
- "ts-node": "^9.1.1",
+ "ts-node": "^10.0.0",
"typedoc": "^0.20.30",
- "typescript": "^4.2.3"
+ "typescript": "4.2.4"
},
"dependencies": {
- "@thi.ng/api": "^7.1.4",
- "@thi.ng/checks": "^2.9.6",
- "@thi.ng/compose": "^1.4.30",
- "@thi.ng/equiv": "^1.0.41",
- "@thi.ng/errors": "^1.3.0"
+ "@thi.ng/api": "^7.1.5",
+ "@thi.ng/checks": "^2.9.7",
+ "@thi.ng/compose": "^1.4.31",
+ "@thi.ng/equiv": "^1.0.42",
+ "@thi.ng/errors": "^1.3.1"
},
"files": [
"*.js",
diff --git a/packages/poisson/CHANGELOG.md b/packages/poisson/CHANGELOG.md
index 49be3cf6f5..3a9aacddc3 100644
--- a/packages/poisson/CHANGELOG.md
+++ b/packages/poisson/CHANGELOG.md
@@ -3,47 +3,7 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
-## [1.1.39](https://github.com/thi-ng/umbrella/compare/@thi.ng/poisson@1.1.38...@thi.ng/poisson@1.1.39) (2021-04-03)
-
-**Note:** Version bump only for package @thi.ng/poisson
-
-
-
-
-
-## [1.1.38](https://github.com/thi-ng/umbrella/compare/@thi.ng/poisson@1.1.37...@thi.ng/poisson@1.1.38) (2021-03-30)
-
-**Note:** Version bump only for package @thi.ng/poisson
-
-
-
-
-
-## [1.1.37](https://github.com/thi-ng/umbrella/compare/@thi.ng/poisson@1.1.36...@thi.ng/poisson@1.1.37) (2021-03-28)
-
-**Note:** Version bump only for package @thi.ng/poisson
-
-
-
-
-
-## [1.1.36](https://github.com/thi-ng/umbrella/compare/@thi.ng/poisson@1.1.35...@thi.ng/poisson@1.1.36) (2021-03-27)
-
-**Note:** Version bump only for package @thi.ng/poisson
-
-
-
-
-
-## [1.1.35](https://github.com/thi-ng/umbrella/compare/@thi.ng/poisson@1.1.34...@thi.ng/poisson@1.1.35) (2021-03-17)
-
-**Note:** Version bump only for package @thi.ng/poisson
-
-
-
-
-
-## [1.1.34](https://github.com/thi-ng/umbrella/compare/@thi.ng/poisson@1.1.33...@thi.ng/poisson@1.1.34) (2021-03-12)
+## [1.1.43](https://github.com/thi-ng/umbrella/compare/@thi.ng/poisson@1.1.42...@thi.ng/poisson@1.1.43) (2021-06-08)
**Note:** Version bump only for package @thi.ng/poisson
diff --git a/packages/poisson/package.json b/packages/poisson/package.json
index a4fc9ca296..7e0695ddea 100644
--- a/packages/poisson/package.json
+++ b/packages/poisson/package.json
@@ -1,6 +1,6 @@
{
"name": "@thi.ng/poisson",
- "version": "1.1.39",
+ "version": "1.1.43",
"description": "nD Stratified grid and Poisson-disc sampling w/ support for spatial density functions and custom PRNGs",
"module": "./index.js",
"main": "./lib/index.js",
@@ -42,19 +42,19 @@
"@microsoft/api-extractor": "^7.13.1",
"@types/mocha": "^8.2.0",
"@types/node": "^14.14.14",
- "mocha": "^8.3.0",
+ "mocha": "^9.0.0",
"nyc": "^15.1.0",
- "ts-node": "^9.1.1",
+ "ts-node": "^10.0.0",
"typedoc": "^0.20.30",
- "typescript": "^4.2.3"
+ "typescript": "4.2.4"
},
"dependencies": {
- "@thi.ng/api": "^7.1.4",
- "@thi.ng/checks": "^2.9.6",
- "@thi.ng/geom-api": "^2.0.17",
- "@thi.ng/random": "^2.3.7",
- "@thi.ng/transducers": "^7.6.10",
- "@thi.ng/vectors": "^5.2.1"
+ "@thi.ng/api": "^7.1.5",
+ "@thi.ng/checks": "^2.9.7",
+ "@thi.ng/geom-api": "^2.0.21",
+ "@thi.ng/random": "^2.4.1",
+ "@thi.ng/transducers": "^7.7.3",
+ "@thi.ng/vectors": "^6.0.1"
},
"files": [
"*.js",
diff --git a/packages/porter-duff/CHANGELOG.md b/packages/porter-duff/CHANGELOG.md
index 651a239dcf..15715fe376 100644
--- a/packages/porter-duff/CHANGELOG.md
+++ b/packages/porter-duff/CHANGELOG.md
@@ -3,23 +3,7 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
-## [0.1.45](https://github.com/thi-ng/umbrella/compare/@thi.ng/porter-duff@0.1.44...@thi.ng/porter-duff@0.1.45) (2021-04-03)
-
-**Note:** Version bump only for package @thi.ng/porter-duff
-
-
-
-
-
-## [0.1.44](https://github.com/thi-ng/umbrella/compare/@thi.ng/porter-duff@0.1.43...@thi.ng/porter-duff@0.1.44) (2021-03-17)
-
-**Note:** Version bump only for package @thi.ng/porter-duff
-
-
-
-
-
-## [0.1.43](https://github.com/thi-ng/umbrella/compare/@thi.ng/porter-duff@0.1.42...@thi.ng/porter-duff@0.1.43) (2021-03-12)
+## [0.1.47](https://github.com/thi-ng/umbrella/compare/@thi.ng/porter-duff@0.1.46...@thi.ng/porter-duff@0.1.47) (2021-06-08)
**Note:** Version bump only for package @thi.ng/porter-duff
diff --git a/packages/porter-duff/package.json b/packages/porter-duff/package.json
index 665f8ad0c1..478cdb0f63 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.45",
+ "version": "0.1.47",
"description": "Porter-Duff operators for packed ints & float-array alpha compositing",
"module": "./index.js",
"main": "./lib/index.js",
@@ -42,15 +42,15 @@
"@microsoft/api-extractor": "^7.13.1",
"@types/mocha": "^8.2.0",
"@types/node": "^14.14.14",
- "mocha": "^8.3.0",
+ "mocha": "^9.0.0",
"nyc": "^15.1.0",
- "ts-node": "^9.1.1",
+ "ts-node": "^10.0.0",
"typedoc": "^0.20.30",
- "typescript": "^4.2.3"
+ "typescript": "4.2.4"
},
"dependencies": {
- "@thi.ng/api": "^7.1.4",
- "@thi.ng/math": "^3.4.0"
+ "@thi.ng/api": "^7.1.5",
+ "@thi.ng/math": "^4.0.1"
},
"files": [
"*.js",
diff --git a/packages/prefixes/CHANGELOG.md b/packages/prefixes/CHANGELOG.md
index f0275229c1..8f58ff4082 100644
--- a/packages/prefixes/CHANGELOG.md
+++ b/packages/prefixes/CHANGELOG.md
@@ -3,7 +3,7 @@
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/prefixes@0.1.16...@thi.ng/prefixes@0.1.17) (2021-03-12)
+## [0.1.18](https://github.com/thi-ng/umbrella/compare/@thi.ng/prefixes@0.1.17...@thi.ng/prefixes@0.1.18) (2021-06-08)
**Note:** Version bump only for package @thi.ng/prefixes
diff --git a/packages/prefixes/package.json b/packages/prefixes/package.json
index bba347e7cb..511366e388 100644
--- a/packages/prefixes/package.json
+++ b/packages/prefixes/package.json
@@ -1,6 +1,6 @@
{
"name": "@thi.ng/prefixes",
- "version": "0.1.17",
+ "version": "0.1.18",
"description": "50+ Linked Data vocabulary prefixes and their namespace URLs",
"module": "./index.js",
"main": "./lib/index.js",
@@ -41,11 +41,11 @@
"@microsoft/api-extractor": "^7.13.1",
"@types/mocha": "^8.2.0",
"@types/node": "^14.14.14",
- "mocha": "^8.3.0",
+ "mocha": "^9.0.0",
"nyc": "^15.1.0",
- "ts-node": "^9.1.1",
+ "ts-node": "^10.0.0",
"typedoc": "^0.20.30",
- "typescript": "^4.2.3"
+ "typescript": "4.2.4"
},
"files": [
"*.js",
diff --git a/packages/quad-edge/CHANGELOG.md b/packages/quad-edge/CHANGELOG.md
index cb414d0dc4..eb97f16d75 100644
--- a/packages/quad-edge/CHANGELOG.md
+++ b/packages/quad-edge/CHANGELOG.md
@@ -3,7 +3,7 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
-## [0.2.34](https://github.com/thi-ng/umbrella/compare/@thi.ng/quad-edge@0.2.33...@thi.ng/quad-edge@0.2.34) (2021-03-12)
+## [0.2.35](https://github.com/thi-ng/umbrella/compare/@thi.ng/quad-edge@0.2.34...@thi.ng/quad-edge@0.2.35) (2021-06-08)
**Note:** Version bump only for package @thi.ng/quad-edge
diff --git a/packages/quad-edge/package.json b/packages/quad-edge/package.json
index 3069505f0a..d44b6bf51d 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.34",
+ "version": "0.2.35",
"description": "Quadedge data structure after Guibas & Stolfi",
"module": "./index.js",
"main": "./lib/index.js",
@@ -42,11 +42,11 @@
"@microsoft/api-extractor": "^7.13.1",
"@types/mocha": "^8.2.0",
"@types/node": "^14.14.14",
- "mocha": "^8.3.0",
+ "mocha": "^9.0.0",
"nyc": "^15.1.0",
- "ts-node": "^9.1.1",
+ "ts-node": "^10.0.0",
"typedoc": "^0.20.30",
- "typescript": "^4.2.3"
+ "typescript": "4.2.4"
},
"files": [
"*.js",
diff --git a/packages/ramp/CHANGELOG.md b/packages/ramp/CHANGELOG.md
index 263a8c704e..ea14a4b6b7 100644
--- a/packages/ramp/CHANGELOG.md
+++ b/packages/ramp/CHANGELOG.md
@@ -3,47 +3,7 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
-## [0.1.57](https://github.com/thi-ng/umbrella/compare/@thi.ng/ramp@0.1.56...@thi.ng/ramp@0.1.57) (2021-04-03)
-
-**Note:** Version bump only for package @thi.ng/ramp
-
-
-
-
-
-## [0.1.56](https://github.com/thi-ng/umbrella/compare/@thi.ng/ramp@0.1.55...@thi.ng/ramp@0.1.56) (2021-03-30)
-
-**Note:** Version bump only for package @thi.ng/ramp
-
-
-
-
-
-## [0.1.55](https://github.com/thi-ng/umbrella/compare/@thi.ng/ramp@0.1.54...@thi.ng/ramp@0.1.55) (2021-03-28)
-
-**Note:** Version bump only for package @thi.ng/ramp
-
-
-
-
-
-## [0.1.54](https://github.com/thi-ng/umbrella/compare/@thi.ng/ramp@0.1.53...@thi.ng/ramp@0.1.54) (2021-03-27)
-
-**Note:** Version bump only for package @thi.ng/ramp
-
-
-
-
-
-## [0.1.53](https://github.com/thi-ng/umbrella/compare/@thi.ng/ramp@0.1.52...@thi.ng/ramp@0.1.53) (2021-03-17)
-
-**Note:** Version bump only for package @thi.ng/ramp
-
-
-
-
-
-## [0.1.52](https://github.com/thi-ng/umbrella/compare/@thi.ng/ramp@0.1.51...@thi.ng/ramp@0.1.52) (2021-03-12)
+## [0.1.61](https://github.com/thi-ng/umbrella/compare/@thi.ng/ramp@0.1.60...@thi.ng/ramp@0.1.61) (2021-06-08)
**Note:** Version bump only for package @thi.ng/ramp
diff --git a/packages/ramp/package.json b/packages/ramp/package.json
index e7c5e00ed5..29659cc12c 100644
--- a/packages/ramp/package.json
+++ b/packages/ramp/package.json
@@ -1,6 +1,6 @@
{
"name": "@thi.ng/ramp",
- "version": "0.1.57",
+ "version": "0.1.61",
"description": "Parametric interpolated 1D lookup tables for remapping values",
"module": "./index.js",
"main": "./lib/index.js",
@@ -42,18 +42,18 @@
"@microsoft/api-extractor": "^7.13.1",
"@types/mocha": "^8.2.0",
"@types/node": "^14.14.14",
- "mocha": "^8.3.0",
+ "mocha": "^9.0.0",
"nyc": "^15.1.0",
- "ts-node": "^9.1.1",
+ "ts-node": "^10.0.0",
"typedoc": "^0.20.30",
- "typescript": "^4.2.3"
+ "typescript": "4.2.4"
},
"dependencies": {
- "@thi.ng/arrays": "^0.10.10",
- "@thi.ng/compare": "^1.3.28",
- "@thi.ng/math": "^3.4.0",
- "@thi.ng/transducers": "^7.6.10",
- "@thi.ng/vectors": "^5.2.1"
+ "@thi.ng/arrays": "^0.10.12",
+ "@thi.ng/compare": "^1.3.29",
+ "@thi.ng/math": "^4.0.1",
+ "@thi.ng/transducers": "^7.7.3",
+ "@thi.ng/vectors": "^6.0.1"
},
"files": [
"*.js",
diff --git a/packages/random/CHANGELOG.md b/packages/random/CHANGELOG.md
index 08bea78abc..105b9db909 100644
--- a/packages/random/CHANGELOG.md
+++ b/packages/random/CHANGELOG.md
@@ -3,7 +3,7 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
-## [2.3.7](https://github.com/thi-ng/umbrella/compare/@thi.ng/random@2.3.6...@thi.ng/random@2.3.7) (2021-04-03)
+## [2.4.1](https://github.com/thi-ng/umbrella/compare/@thi.ng/random@2.4.0...@thi.ng/random@2.4.1) (2021-06-08)
**Note:** Version bump only for package @thi.ng/random
@@ -11,9 +11,17 @@ See [Conventional Commits](https://conventionalcommits.org) for commit guideline
-## [2.3.6](https://github.com/thi-ng/umbrella/compare/@thi.ng/random@2.3.5...@thi.ng/random@2.3.6) (2021-03-12)
+# [2.4.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/random@2.3.7...@thi.ng/random@2.4.0) (2021-04-19)
-**Note:** Version bump only for package @thi.ng/random
+
+### Bug Fixes
+
+* **random:** HOF issue w/ exponential() ([12586b9](https://github.com/thi-ng/umbrella/commit/12586b9eda66ce3d741402cc9b802c0369f64d88))
+
+
+### Features
+
+* **random:** add uniqueValuesFrom/uniqueIndices() ([3b3b5d8](https://github.com/thi-ng/umbrella/commit/3b3b5d8d71d8c3019f84bae7a4791b12933720c4))
diff --git a/packages/random/README.md b/packages/random/README.md
index 6b893579a0..05c1dbdb52 100644
--- a/packages/random/README.md
+++ b/packages/random/README.md
@@ -49,9 +49,11 @@ Partially ported from C implementations taken from [c.thi.ng](http://c.thi.ng).
### Other utilities
-- [`randomBytes()`](https://github.com/thi-ng/umbrella/tree/develop/packages/random/src/random-bytes.ts)
+- [`coin()` / `fairCoin()`](https://github.com/thi-ng/umbrella/tree/develop/packages/random/src/coin.ts)
+- [`randomBytes()` / `randomBytesFrom()`](https://github.com/thi-ng/umbrella/tree/develop/packages/random/src/random-bytes.ts)
- [`randomID()`](https://github.com/thi-ng/umbrella/tree/develop/packages/random/src/random-id.ts)
-- [`weightedRandom()](https://github.com/thi-ng/umbrella/tree/develop/packages/random/src/weighted-random.ts)
+- [`weightedRandom()`](https://github.com/thi-ng/umbrella/tree/develop/packages/random/src/weighted-random.ts)
+- [`uniqueIndices()` / `uniqueValuesFrom()`](https://github.com/thi-ng/umbrella/tree/develop/packages/random/src/unique-indices.ts)
- [`uuidv4Bytes()` / `uuid()`](https://github.com/thi-ng/umbrella/tree/develop/packages/random/src/uuid.ts)
### Status
@@ -78,7 +80,7 @@ yarn add @thi.ng/random
```
-Package sizes (gzipped, pre-treeshake): ESM: 1.66 KB / CJS: 1.79 KB / UMD: 1.77 KB
+Package sizes (gzipped, pre-treeshake): ESM: 1.81 KB / CJS: 1.94 KB / UMD: 1.91 KB
## Dependencies
@@ -128,11 +130,6 @@ rnd.norm(100)
// next float in given interval [min .. max)
rnd.minmax(10, 20)
// 15.295951807707537
-
-// next gaussian (using iterative CLT approach)
-// optional params: num samples, offset, scale
-rnd.gaussian()
-// 0.10632886109089679
```
## Authors
diff --git a/packages/random/package.json b/packages/random/package.json
index dd49fb792a..eb1fecbd55 100644
--- a/packages/random/package.json
+++ b/packages/random/package.json
@@ -1,6 +1,6 @@
{
"name": "@thi.ng/random",
- "version": "2.3.7",
+ "version": "2.4.1",
"description": "Pseudo-random number generators w/ unified API, distributions, weighted choices, ID generation",
"module": "./index.js",
"main": "./lib/index.js",
@@ -42,16 +42,16 @@
"@microsoft/api-extractor": "^7.13.1",
"@types/mocha": "^8.2.0",
"@types/node": "^14.14.14",
- "mocha": "^8.3.0",
+ "mocha": "^9.0.0",
"nyc": "^15.1.0",
- "ts-node": "^9.1.1",
+ "ts-node": "^10.0.0",
"typedoc": "^0.20.30",
- "typescript": "^4.2.3"
+ "typescript": "4.2.4"
},
"dependencies": {
- "@thi.ng/api": "^7.1.4",
- "@thi.ng/checks": "^2.9.6",
- "@thi.ng/hex": "^0.2.5"
+ "@thi.ng/api": "^7.1.5",
+ "@thi.ng/checks": "^2.9.7",
+ "@thi.ng/hex": "^0.2.6"
},
"files": [
"*.js",
diff --git a/packages/random/src/distributions/exponential.ts b/packages/random/src/distributions/exponential.ts
index 3570a49da3..a99157fc75 100644
--- a/packages/random/src/distributions/exponential.ts
+++ b/packages/random/src/distributions/exponential.ts
@@ -11,5 +11,5 @@ import { SYSTEM } from "../system";
* @param rnd
* @param lambda - event interval [0,Inf)
*/
-export const exponential = (rnd: IRandom = SYSTEM, lambda = 10) => () =>
- lambda === 0 ? () => Infinity : -Math.log(1 - rnd.float(1)) / lambda;
+export const exponential = (rnd: IRandom = SYSTEM, lambda = 10) =>
+ lambda === 0 ? () => Infinity : () => -Math.log(1 - rnd.float(1)) / lambda;
diff --git a/packages/random/src/index.ts b/packages/random/src/index.ts
index d9752cb2e5..140ce47e88 100644
--- a/packages/random/src/index.ts
+++ b/packages/random/src/index.ts
@@ -12,6 +12,7 @@ export * from "./xsadd";
export * from "./coin";
export * from "./random-bytes";
export * from "./random-id";
+export * from "./unique-indices";
export * from "./uuid";
export * from "./weighted-random";
diff --git a/packages/random/src/unique-indices.ts b/packages/random/src/unique-indices.ts
new file mode 100644
index 0000000000..a640895d85
--- /dev/null
+++ b/packages/random/src/unique-indices.ts
@@ -0,0 +1,61 @@
+import { assert, Fn0 } from "@thi.ng/api";
+import type { IRandom } from "./api";
+import { SYSTEM } from "./system";
+
+/**
+ * Attempts to draw `k` unique values from given zero-arg function `fn`
+ * (presumably a PRNG of sorts) and adds them to `existing` array of unique
+ * samples (or creates a new one). Returns the array. Gives up after
+ * `maxTrials`.
+ *
+ * @param k
+ * @param fn
+ * @param existing
+ * @param maxTrials
+ */
+export const uniqueValuesFrom = (
+ k: number,
+ fn: Fn0,
+ existing: number[] = [],
+ maxTrials = 100
+) => {
+ let n = 0;
+ while (n < k) {
+ let i: number;
+ let trials = maxTrials;
+ do {
+ i = fn();
+ } while (existing.includes(i) && --trials > 0);
+ if (trials <= 0) break;
+ existing.push(i);
+ n++;
+ }
+ return existing;
+};
+
+/**
+ * Similar to (and based o) {@link uniqueValuesFrom}. Attempts to add `k` unique
+ * integer indices in the `[0, max)` interval to the (optional) array of
+ * pre-`existing` indices (which will never be picked again and new indices will
+ * be added to). Returns updated array.
+ *
+ * @remarks
+ * Candidates are drawn from the provided `rnd` {@link IRandom} (default:
+ * {@link SYSTEM}) and only `maxTrials` are attempted before giving up.
+ *
+ * @param k
+ * @param max
+ * @param existing
+ * @param maxTrials
+ * @param rnd
+ */
+export const uniqueIndices = (
+ k: number,
+ max: number,
+ existing?: number[],
+ maxTrials = max,
+ rnd: IRandom = SYSTEM
+) => {
+ assert(k >= 0 && k <= max, `k must be in [0, ${max}] interval`);
+ return uniqueValuesFrom(k, () => rnd.int() % max, existing, maxTrials);
+};
diff --git a/packages/random/src/weighted-random.ts b/packages/random/src/weighted-random.ts
index 7143c17773..ae1ba20ca5 100644
--- a/packages/random/src/weighted-random.ts
+++ b/packages/random/src/weighted-random.ts
@@ -28,18 +28,18 @@ export const weightedRandom = (
assert(n > 0, "no choices given");
const opts = weights
? choices
- .map((x, i) => <[T, number]>[x, weights[i]])
- .sort((a, b) => b[1] - a[1])
- : choices.map((x) => <[T, number]>[x, 1]);
- const total = opts.reduce((acc, o) => acc + o[1], 0);
+ .map((x, i) => <[number, T]>[weights[i], x])
+ .sort((a, b) => b[0] - a[0])
+ : choices.map((x) => <[number, T]>[1, x]);
+ const total = opts.reduce((acc, o) => acc + o[0], 0);
total <= 0 && console.warn("total weights <= 0");
return () => {
const r = rnd.float(total);
let sum = total;
for (let i = 0; i < n; i++) {
- sum -= opts[i][1];
+ sum -= opts[i][0];
if (sum <= r) {
- return opts[i][0];
+ return opts[i][1];
}
}
return undefined;
diff --git a/packages/random/tpl.readme.md b/packages/random/tpl.readme.md
index bd482b6fef..e67f55757a 100644
--- a/packages/random/tpl.readme.md
+++ b/packages/random/tpl.readme.md
@@ -37,9 +37,11 @@ Partially ported from C implementations taken from [c.thi.ng](http://c.thi.ng).
### Other utilities
-- [`randomBytes()`](https://github.com/thi-ng/umbrella/tree/develop/packages/random/src/random-bytes.ts)
+- [`coin()` / `fairCoin()`](https://github.com/thi-ng/umbrella/tree/develop/packages/random/src/coin.ts)
+- [`randomBytes()` / `randomBytesFrom()`](https://github.com/thi-ng/umbrella/tree/develop/packages/random/src/random-bytes.ts)
- [`randomID()`](https://github.com/thi-ng/umbrella/tree/develop/packages/random/src/random-id.ts)
-- [`weightedRandom()](https://github.com/thi-ng/umbrella/tree/develop/packages/random/src/weighted-random.ts)
+- [`weightedRandom()`](https://github.com/thi-ng/umbrella/tree/develop/packages/random/src/weighted-random.ts)
+- [`uniqueIndices()` / `uniqueValuesFrom()`](https://github.com/thi-ng/umbrella/tree/develop/packages/random/src/unique-indices.ts)
- [`uuidv4Bytes()` / `uuid()`](https://github.com/thi-ng/umbrella/tree/develop/packages/random/src/uuid.ts)
${status}
@@ -89,11 +91,6 @@ rnd.norm(100)
// next float in given interval [min .. max)
rnd.minmax(10, 20)
// 15.295951807707537
-
-// next gaussian (using iterative CLT approach)
-// optional params: num samples, offset, scale
-rnd.gaussian()
-// 0.10632886109089679
```
## Authors
diff --git a/packages/range-coder/CHANGELOG.md b/packages/range-coder/CHANGELOG.md
index 209ad92ae2..3dbcb5a370 100644
--- a/packages/range-coder/CHANGELOG.md
+++ b/packages/range-coder/CHANGELOG.md
@@ -3,39 +3,7 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
-## [1.0.79](https://github.com/thi-ng/umbrella/compare/@thi.ng/range-coder@1.0.78...@thi.ng/range-coder@1.0.79) (2021-04-03)
-
-**Note:** Version bump only for package @thi.ng/range-coder
-
-
-
-
-
-## [1.0.78](https://github.com/thi-ng/umbrella/compare/@thi.ng/range-coder@1.0.77...@thi.ng/range-coder@1.0.78) (2021-03-28)
-
-**Note:** Version bump only for package @thi.ng/range-coder
-
-
-
-
-
-## [1.0.77](https://github.com/thi-ng/umbrella/compare/@thi.ng/range-coder@1.0.76...@thi.ng/range-coder@1.0.77) (2021-03-27)
-
-**Note:** Version bump only for package @thi.ng/range-coder
-
-
-
-
-
-## [1.0.76](https://github.com/thi-ng/umbrella/compare/@thi.ng/range-coder@1.0.75...@thi.ng/range-coder@1.0.76) (2021-03-17)
-
-**Note:** Version bump only for package @thi.ng/range-coder
-
-
-
-
-
-## [1.0.75](https://github.com/thi-ng/umbrella/compare/@thi.ng/range-coder@1.0.74...@thi.ng/range-coder@1.0.75) (2021-03-12)
+## [1.0.83](https://github.com/thi-ng/umbrella/compare/@thi.ng/range-coder@1.0.82...@thi.ng/range-coder@1.0.83) (2021-06-08)
**Note:** Version bump only for package @thi.ng/range-coder
diff --git a/packages/range-coder/package.json b/packages/range-coder/package.json
index c0408761a7..b6b3a376f0 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.79",
+ "version": "1.0.83",
"description": "Binary data range encoder / decoder",
"module": "./index.js",
"main": "./lib/index.js",
@@ -40,17 +40,17 @@
"devDependencies": {
"@istanbuljs/nyc-config-typescript": "^1.0.1",
"@microsoft/api-extractor": "^7.13.1",
- "@thi.ng/transducers": "^7.6.10",
+ "@thi.ng/transducers": "^7.7.3",
"@types/mocha": "^8.2.0",
"@types/node": "^14.14.14",
- "mocha": "^8.3.0",
+ "mocha": "^9.0.0",
"nyc": "^15.1.0",
- "ts-node": "^9.1.1",
+ "ts-node": "^10.0.0",
"typedoc": "^0.20.30",
- "typescript": "^4.2.3"
+ "typescript": "4.2.4"
},
"dependencies": {
- "@thi.ng/bitstream": "^1.1.38"
+ "@thi.ng/bitstream": "^1.1.39"
},
"files": [
"*.js",
diff --git a/packages/rdom-canvas/CHANGELOG.md b/packages/rdom-canvas/CHANGELOG.md
index 94ffc09ee1..ea591181f5 100644
--- a/packages/rdom-canvas/CHANGELOG.md
+++ b/packages/rdom-canvas/CHANGELOG.md
@@ -3,63 +3,7 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
-## [0.1.43](https://github.com/thi-ng/umbrella/compare/@thi.ng/rdom-canvas@0.1.42...@thi.ng/rdom-canvas@0.1.43) (2021-04-03)
-
-**Note:** Version bump only for package @thi.ng/rdom-canvas
-
-
-
-
-
-## [0.1.42](https://github.com/thi-ng/umbrella/compare/@thi.ng/rdom-canvas@0.1.41...@thi.ng/rdom-canvas@0.1.42) (2021-03-30)
-
-**Note:** Version bump only for package @thi.ng/rdom-canvas
-
-
-
-
-
-## [0.1.41](https://github.com/thi-ng/umbrella/compare/@thi.ng/rdom-canvas@0.1.40...@thi.ng/rdom-canvas@0.1.41) (2021-03-28)
-
-**Note:** Version bump only for package @thi.ng/rdom-canvas
-
-
-
-
-
-## [0.1.40](https://github.com/thi-ng/umbrella/compare/@thi.ng/rdom-canvas@0.1.39...@thi.ng/rdom-canvas@0.1.40) (2021-03-27)
-
-**Note:** Version bump only for package @thi.ng/rdom-canvas
-
-
-
-
-
-## [0.1.39](https://github.com/thi-ng/umbrella/compare/@thi.ng/rdom-canvas@0.1.38...@thi.ng/rdom-canvas@0.1.39) (2021-03-24)
-
-**Note:** Version bump only for package @thi.ng/rdom-canvas
-
-
-
-
-
-## [0.1.38](https://github.com/thi-ng/umbrella/compare/@thi.ng/rdom-canvas@0.1.37...@thi.ng/rdom-canvas@0.1.38) (2021-03-24)
-
-**Note:** Version bump only for package @thi.ng/rdom-canvas
-
-
-
-
-
-## [0.1.37](https://github.com/thi-ng/umbrella/compare/@thi.ng/rdom-canvas@0.1.36...@thi.ng/rdom-canvas@0.1.37) (2021-03-17)
-
-**Note:** Version bump only for package @thi.ng/rdom-canvas
-
-
-
-
-
-## [0.1.36](https://github.com/thi-ng/umbrella/compare/@thi.ng/rdom-canvas@0.1.35...@thi.ng/rdom-canvas@0.1.36) (2021-03-12)
+## [0.1.48](https://github.com/thi-ng/umbrella/compare/@thi.ng/rdom-canvas@0.1.47...@thi.ng/rdom-canvas@0.1.48) (2021-06-08)
**Note:** Version bump only for package @thi.ng/rdom-canvas
diff --git a/packages/rdom-canvas/package.json b/packages/rdom-canvas/package.json
index 54aa3018f4..0e022702fb 100644
--- a/packages/rdom-canvas/package.json
+++ b/packages/rdom-canvas/package.json
@@ -1,6 +1,6 @@
{
"name": "@thi.ng/rdom-canvas",
- "version": "0.1.43",
+ "version": "0.1.48",
"description": "@thi.ng/rdom component wrapper for @thi.ng/hiccup-canvas and declarative canvas drawing",
"module": "./index.js",
"main": "./lib/index.js",
@@ -41,20 +41,20 @@
"@microsoft/api-extractor": "^7.13.1",
"@types/mocha": "^8.2.0",
"@types/node": "^14.14.14",
- "mocha": "^8.3.0",
+ "mocha": "^9.0.0",
"nyc": "^15.1.0",
- "ts-node": "^9.1.1",
+ "ts-node": "^10.0.0",
"typedoc": "^0.20.30",
- "typescript": "^4.2.3"
+ "typescript": "4.2.4"
},
"dependencies": {
- "@thi.ng/adapt-dpi": "^1.0.19",
- "@thi.ng/api": "^7.1.4",
- "@thi.ng/checks": "^2.9.6",
- "@thi.ng/hiccup-canvas": "^1.2.0",
- "@thi.ng/rdom": "^0.4.12",
- "@thi.ng/rstream": "^6.0.5",
- "@thi.ng/transducers": "^7.6.10"
+ "@thi.ng/adapt-dpi": "^1.0.20",
+ "@thi.ng/api": "^7.1.5",
+ "@thi.ng/checks": "^2.9.7",
+ "@thi.ng/hiccup-canvas": "^1.2.5",
+ "@thi.ng/rdom": "^0.4.16",
+ "@thi.ng/rstream": "^6.0.9",
+ "@thi.ng/transducers": "^7.7.3"
},
"files": [
"*.js",
diff --git a/packages/rdom-components/CHANGELOG.md b/packages/rdom-components/CHANGELOG.md
index 7a37ccbf02..c98b5a7184 100644
--- a/packages/rdom-components/CHANGELOG.md
+++ b/packages/rdom-components/CHANGELOG.md
@@ -3,63 +3,7 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
-## [0.1.40](https://github.com/thi-ng/umbrella/compare/@thi.ng/rdom-components@0.1.39...@thi.ng/rdom-components@0.1.40) (2021-04-03)
-
-**Note:** Version bump only for package @thi.ng/rdom-components
-
-
-
-
-
-## [0.1.39](https://github.com/thi-ng/umbrella/compare/@thi.ng/rdom-components@0.1.38...@thi.ng/rdom-components@0.1.39) (2021-03-30)
-
-**Note:** Version bump only for package @thi.ng/rdom-components
-
-
-
-
-
-## [0.1.38](https://github.com/thi-ng/umbrella/compare/@thi.ng/rdom-components@0.1.37...@thi.ng/rdom-components@0.1.38) (2021-03-28)
-
-**Note:** Version bump only for package @thi.ng/rdom-components
-
-
-
-
-
-## [0.1.37](https://github.com/thi-ng/umbrella/compare/@thi.ng/rdom-components@0.1.36...@thi.ng/rdom-components@0.1.37) (2021-03-27)
-
-**Note:** Version bump only for package @thi.ng/rdom-components
-
-
-
-
-
-## [0.1.36](https://github.com/thi-ng/umbrella/compare/@thi.ng/rdom-components@0.1.35...@thi.ng/rdom-components@0.1.36) (2021-03-24)
-
-**Note:** Version bump only for package @thi.ng/rdom-components
-
-
-
-
-
-## [0.1.35](https://github.com/thi-ng/umbrella/compare/@thi.ng/rdom-components@0.1.34...@thi.ng/rdom-components@0.1.35) (2021-03-24)
-
-**Note:** Version bump only for package @thi.ng/rdom-components
-
-
-
-
-
-## [0.1.34](https://github.com/thi-ng/umbrella/compare/@thi.ng/rdom-components@0.1.33...@thi.ng/rdom-components@0.1.34) (2021-03-17)
-
-**Note:** Version bump only for package @thi.ng/rdom-components
-
-
-
-
-
-## [0.1.33](https://github.com/thi-ng/umbrella/compare/@thi.ng/rdom-components@0.1.32...@thi.ng/rdom-components@0.1.33) (2021-03-12)
+## [0.1.44](https://github.com/thi-ng/umbrella/compare/@thi.ng/rdom-components@0.1.43...@thi.ng/rdom-components@0.1.44) (2021-06-08)
**Note:** Version bump only for package @thi.ng/rdom-components
diff --git a/packages/rdom-components/package.json b/packages/rdom-components/package.json
index 03f1c4ca04..a852099c17 100644
--- a/packages/rdom-components/package.json
+++ b/packages/rdom-components/package.json
@@ -1,6 +1,6 @@
{
"name": "@thi.ng/rdom-components",
- "version": "0.1.40",
+ "version": "0.1.44",
"description": "Collection of unstyled, customizable components for @thi.ng/rdom",
"module": "./index.js",
"main": "./lib/index.js",
@@ -41,20 +41,20 @@
"@microsoft/api-extractor": "^7.13.1",
"@types/mocha": "^8.2.0",
"@types/node": "^14.14.14",
- "mocha": "^8.3.0",
+ "mocha": "^9.0.0",
"nyc": "^15.1.0",
- "ts-node": "^9.1.1",
+ "ts-node": "^10.0.0",
"typedoc": "^0.20.30",
- "typescript": "^4.2.3"
+ "typescript": "4.2.4"
},
"dependencies": {
- "@thi.ng/api": "^7.1.4",
- "@thi.ng/associative": "^5.2.1",
- "@thi.ng/hiccup-html": "^0.3.17",
- "@thi.ng/rdom": "^0.4.12",
- "@thi.ng/rstream": "^6.0.5",
- "@thi.ng/strings": "^2.1.0",
- "@thi.ng/transducers": "^7.6.10"
+ "@thi.ng/api": "^7.1.5",
+ "@thi.ng/associative": "^5.2.5",
+ "@thi.ng/hiccup-html": "^0.3.18",
+ "@thi.ng/rdom": "^0.4.16",
+ "@thi.ng/rstream": "^6.0.9",
+ "@thi.ng/strings": "^2.1.1",
+ "@thi.ng/transducers": "^7.7.3"
},
"files": [
"*.js",
diff --git a/packages/rdom/CHANGELOG.md b/packages/rdom/CHANGELOG.md
index 14366cb598..d18b0d07cd 100644
--- a/packages/rdom/CHANGELOG.md
+++ b/packages/rdom/CHANGELOG.md
@@ -3,63 +3,7 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
-## [0.4.12](https://github.com/thi-ng/umbrella/compare/@thi.ng/rdom@0.4.11...@thi.ng/rdom@0.4.12) (2021-04-03)
-
-**Note:** Version bump only for package @thi.ng/rdom
-
-
-
-
-
-## [0.4.11](https://github.com/thi-ng/umbrella/compare/@thi.ng/rdom@0.4.10...@thi.ng/rdom@0.4.11) (2021-03-30)
-
-**Note:** Version bump only for package @thi.ng/rdom
-
-
-
-
-
-## [0.4.10](https://github.com/thi-ng/umbrella/compare/@thi.ng/rdom@0.4.9...@thi.ng/rdom@0.4.10) (2021-03-28)
-
-**Note:** Version bump only for package @thi.ng/rdom
-
-
-
-
-
-## [0.4.9](https://github.com/thi-ng/umbrella/compare/@thi.ng/rdom@0.4.8...@thi.ng/rdom@0.4.9) (2021-03-27)
-
-**Note:** Version bump only for package @thi.ng/rdom
-
-
-
-
-
-## [0.4.8](https://github.com/thi-ng/umbrella/compare/@thi.ng/rdom@0.4.7...@thi.ng/rdom@0.4.8) (2021-03-24)
-
-**Note:** Version bump only for package @thi.ng/rdom
-
-
-
-
-
-## [0.4.7](https://github.com/thi-ng/umbrella/compare/@thi.ng/rdom@0.4.6...@thi.ng/rdom@0.4.7) (2021-03-24)
-
-**Note:** Version bump only for package @thi.ng/rdom
-
-
-
-
-
-## [0.4.6](https://github.com/thi-ng/umbrella/compare/@thi.ng/rdom@0.4.5...@thi.ng/rdom@0.4.6) (2021-03-17)
-
-**Note:** Version bump only for package @thi.ng/rdom
-
-
-
-
-
-## [0.4.5](https://github.com/thi-ng/umbrella/compare/@thi.ng/rdom@0.4.4...@thi.ng/rdom@0.4.5) (2021-03-12)
+## [0.4.16](https://github.com/thi-ng/umbrella/compare/@thi.ng/rdom@0.4.15...@thi.ng/rdom@0.4.16) (2021-06-08)
**Note:** Version bump only for package @thi.ng/rdom
diff --git a/packages/rdom/README.md b/packages/rdom/README.md
index 716e05e1a9..a0750f55ae 100644
--- a/packages/rdom/README.md
+++ b/packages/rdom/README.md
@@ -95,17 +95,18 @@ directory are using this package.
A selection:
-| Screenshot | Description | Live demo | Source |
-| ------------------------------------------------------------------------------------------------------------------------ | ---------------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------------------------------------ |
-| | Probabilistic color theme generator | [Demo](https://demo.thi.ng/umbrella/color-themes/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/color-themes) |
-| | Interactive visualization of closest points on ellipses | [Demo](https://demo.thi.ng/umbrella/ellipse-proximity/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/ellipse-proximity) |
-| | Parser grammar livecoding editor/playground & codegen | [Demo](https://demo.thi.ng/umbrella/parse-playground/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/parse-playground) |
-| | Interactive pixel sorting tool using thi.ng/color & thi.ng/pixel | [Demo](https://demo.thi.ng/umbrella/pixel-sorting/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/pixel-sorting) |
-| | Demonstates various rdom usage patterns | [Demo](https://demo.thi.ng/umbrella/rdom-basics/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/rdom-basics) |
-| | rdom drag & drop example | [Demo](https://demo.thi.ng/umbrella/rdom-dnd/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/rdom-dnd) |
-| | rdom & hiccup-canvas interop test | [Demo](https://demo.thi.ng/umbrella/rdom-lissajous/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/rdom-lissajous) |
-| | Full umbrella repo doc string search w/ paginated results | [Demo](https://demo.thi.ng/umbrella/rdom-search-docs/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/rdom-search-docs) |
-| | rdom powered SVG graph with draggable nodes | [Demo](https://demo.thi.ng/umbrella/rdom-svg-nodes/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/rdom-svg-nodes) |
+| Screenshot | Description | Live demo | Source |
+| ------------------------------------------------------------------------------------------------------------------------ | --------------------------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------------------------------------ |
+| | Probabilistic color theme generator | [Demo](https://demo.thi.ng/umbrella/color-themes/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/color-themes) |
+| | Color palette generation via dominant color extraction from uploaded images | [Demo](https://demo.thi.ng/umbrella/dominant-colors/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/dominant-colors) |
+| | Interactive visualization of closest points on ellipses | [Demo](https://demo.thi.ng/umbrella/ellipse-proximity/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/ellipse-proximity) |
+| | Parser grammar livecoding editor/playground & codegen | [Demo](https://demo.thi.ng/umbrella/parse-playground/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/parse-playground) |
+| | Interactive pixel sorting tool using thi.ng/color & thi.ng/pixel | [Demo](https://demo.thi.ng/umbrella/pixel-sorting/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/pixel-sorting) |
+| | Demonstates various rdom usage patterns | [Demo](https://demo.thi.ng/umbrella/rdom-basics/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/rdom-basics) |
+| | rdom drag & drop example | [Demo](https://demo.thi.ng/umbrella/rdom-dnd/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/rdom-dnd) |
+| | rdom & hiccup-canvas interop test | [Demo](https://demo.thi.ng/umbrella/rdom-lissajous/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/rdom-lissajous) |
+| | Full umbrella repo doc string search w/ paginated results | [Demo](https://demo.thi.ng/umbrella/rdom-search-docs/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/rdom-search-docs) |
+| | rdom powered SVG graph with draggable nodes | [Demo](https://demo.thi.ng/umbrella/rdom-svg-nodes/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/rdom-svg-nodes) |
## API
diff --git a/packages/rdom/package.json b/packages/rdom/package.json
index 285765f7a2..cd2bf5ba27 100644
--- a/packages/rdom/package.json
+++ b/packages/rdom/package.json
@@ -1,6 +1,6 @@
{
"name": "@thi.ng/rdom",
- "version": "0.4.12",
+ "version": "0.4.16",
"description": "Lightweight, reactive, VDOM-less UI/DOM components with async lifecycle and @thi.ng/hiccup compatible",
"module": "./index.js",
"main": "./lib/index.js",
@@ -42,21 +42,21 @@
"@microsoft/api-extractor": "^7.13.1",
"@types/mocha": "^8.2.0",
"@types/node": "^14.14.14",
- "mocha": "^8.3.0",
+ "mocha": "^9.0.0",
"nyc": "^15.1.0",
- "ts-node": "^9.1.1",
+ "ts-node": "^10.0.0",
"typedoc": "^0.20.30",
- "typescript": "^4.2.3"
+ "typescript": "4.2.4"
},
"dependencies": {
- "@thi.ng/api": "^7.1.4",
- "@thi.ng/checks": "^2.9.6",
- "@thi.ng/errors": "^1.3.0",
- "@thi.ng/hiccup": "^3.6.15",
- "@thi.ng/paths": "^4.2.7",
- "@thi.ng/prefixes": "^0.1.17",
- "@thi.ng/rstream": "^6.0.5",
- "@thi.ng/strings": "^2.1.0"
+ "@thi.ng/api": "^7.1.5",
+ "@thi.ng/checks": "^2.9.7",
+ "@thi.ng/errors": "^1.3.1",
+ "@thi.ng/hiccup": "^3.6.16",
+ "@thi.ng/paths": "^4.2.8",
+ "@thi.ng/prefixes": "^0.1.18",
+ "@thi.ng/rstream": "^6.0.9",
+ "@thi.ng/strings": "^2.1.1"
},
"files": [
"*.js",
diff --git a/packages/resolve-map/CHANGELOG.md b/packages/resolve-map/CHANGELOG.md
index 8095518398..2a32f0eee7 100644
--- a/packages/resolve-map/CHANGELOG.md
+++ b/packages/resolve-map/CHANGELOG.md
@@ -3,23 +3,7 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
-## [4.2.20](https://github.com/thi-ng/umbrella/compare/@thi.ng/resolve-map@4.2.19...@thi.ng/resolve-map@4.2.20) (2021-04-03)
-
-**Note:** Version bump only for package @thi.ng/resolve-map
-
-
-
-
-
-## [4.2.19](https://github.com/thi-ng/umbrella/compare/@thi.ng/resolve-map@4.2.18...@thi.ng/resolve-map@4.2.19) (2021-03-17)
-
-**Note:** Version bump only for package @thi.ng/resolve-map
-
-
-
-
-
-## [4.2.18](https://github.com/thi-ng/umbrella/compare/@thi.ng/resolve-map@4.2.17...@thi.ng/resolve-map@4.2.18) (2021-03-12)
+## [4.2.21](https://github.com/thi-ng/umbrella/compare/@thi.ng/resolve-map@4.2.20...@thi.ng/resolve-map@4.2.21) (2021-06-08)
**Note:** Version bump only for package @thi.ng/resolve-map
diff --git a/packages/resolve-map/package.json b/packages/resolve-map/package.json
index 798adcc16a..38e5e87ac7 100644
--- a/packages/resolve-map/package.json
+++ b/packages/resolve-map/package.json
@@ -1,6 +1,6 @@
{
"name": "@thi.ng/resolve-map",
- "version": "4.2.20",
+ "version": "4.2.21",
"description": "DAG resolution of vanilla objects & arrays with internally linked values",
"module": "./index.js",
"main": "./lib/index.js",
@@ -42,16 +42,16 @@
"@microsoft/api-extractor": "^7.13.1",
"@types/mocha": "^8.2.0",
"@types/node": "^14.14.14",
- "mocha": "^8.3.0",
- "ts-node": "^9.1.1",
+ "mocha": "^9.0.0",
+ "ts-node": "^10.0.0",
"typedoc": "^0.20.30",
- "typescript": "^4.2.3"
+ "typescript": "4.2.4"
},
"dependencies": {
- "@thi.ng/api": "^7.1.4",
- "@thi.ng/checks": "^2.9.6",
- "@thi.ng/errors": "^1.3.0",
- "@thi.ng/paths": "^4.2.7"
+ "@thi.ng/api": "^7.1.5",
+ "@thi.ng/checks": "^2.9.7",
+ "@thi.ng/errors": "^1.3.1",
+ "@thi.ng/paths": "^4.2.8"
},
"files": [
"*.js",
diff --git a/packages/rle-pack/CHANGELOG.md b/packages/rle-pack/CHANGELOG.md
index bc71ff8f0f..d080c2a706 100644
--- a/packages/rle-pack/CHANGELOG.md
+++ b/packages/rle-pack/CHANGELOG.md
@@ -3,15 +3,7 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
-## [2.1.38](https://github.com/thi-ng/umbrella/compare/@thi.ng/rle-pack@2.1.37...@thi.ng/rle-pack@2.1.38) (2021-03-17)
-
-**Note:** Version bump only for package @thi.ng/rle-pack
-
-
-
-
-
-## [2.1.37](https://github.com/thi-ng/umbrella/compare/@thi.ng/rle-pack@2.1.36...@thi.ng/rle-pack@2.1.37) (2021-03-12)
+## [2.1.39](https://github.com/thi-ng/umbrella/compare/@thi.ng/rle-pack@2.1.38...@thi.ng/rle-pack@2.1.39) (2021-06-08)
**Note:** Version bump only for package @thi.ng/rle-pack
diff --git a/packages/rle-pack/package.json b/packages/rle-pack/package.json
index 7ff5b4c942..0ee6a99bd1 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.38",
+ "version": "2.1.39",
"description": "Binary run-length encoding packer w/ flexible repeat bit widths",
"module": "./index.js",
"main": "./lib/index.js",
@@ -43,15 +43,15 @@
"@types/mocha": "^8.2.0",
"@types/node": "^14.14.14",
"benchmark": "^2.1.4",
- "mocha": "^8.3.0",
+ "mocha": "^9.0.0",
"nyc": "^15.1.0",
- "ts-node": "^9.1.1",
+ "ts-node": "^10.0.0",
"typedoc": "^0.20.30",
- "typescript": "^4.2.3"
+ "typescript": "4.2.4"
},
"dependencies": {
- "@thi.ng/bitstream": "^1.1.38",
- "@thi.ng/errors": "^1.3.0"
+ "@thi.ng/bitstream": "^1.1.39",
+ "@thi.ng/errors": "^1.3.1"
},
"files": [
"*.js",
diff --git a/packages/router/CHANGELOG.md b/packages/router/CHANGELOG.md
index 07f700c2a9..ca84834d8c 100644
--- a/packages/router/CHANGELOG.md
+++ b/packages/router/CHANGELOG.md
@@ -3,23 +3,7 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
-## [2.0.47](https://github.com/thi-ng/umbrella/compare/@thi.ng/router@2.0.46...@thi.ng/router@2.0.47) (2021-04-03)
-
-**Note:** Version bump only for package @thi.ng/router
-
-
-
-
-
-## [2.0.46](https://github.com/thi-ng/umbrella/compare/@thi.ng/router@2.0.45...@thi.ng/router@2.0.46) (2021-03-17)
-
-**Note:** Version bump only for package @thi.ng/router
-
-
-
-
-
-## [2.0.45](https://github.com/thi-ng/umbrella/compare/@thi.ng/router@2.0.44...@thi.ng/router@2.0.45) (2021-03-12)
+## [2.0.48](https://github.com/thi-ng/umbrella/compare/@thi.ng/router@2.0.47...@thi.ng/router@2.0.48) (2021-06-08)
**Note:** Version bump only for package @thi.ng/router
diff --git a/packages/router/package.json b/packages/router/package.json
index f41018bc64..f22e697bc8 100644
--- a/packages/router/package.json
+++ b/packages/router/package.json
@@ -1,6 +1,6 @@
{
"name": "@thi.ng/router",
- "version": "2.0.47",
+ "version": "2.0.48",
"description": "Generic router for browser & non-browser based applications",
"module": "./index.js",
"main": "./lib/index.js",
@@ -42,17 +42,17 @@
"@microsoft/api-extractor": "^7.13.1",
"@types/mocha": "^8.2.0",
"@types/node": "^14.14.14",
- "mocha": "^8.3.0",
+ "mocha": "^9.0.0",
"nyc": "^15.1.0",
- "ts-node": "^9.1.1",
+ "ts-node": "^10.0.0",
"typedoc": "^0.20.30",
- "typescript": "^4.2.3"
+ "typescript": "4.2.4"
},
"dependencies": {
- "@thi.ng/api": "^7.1.4",
- "@thi.ng/checks": "^2.9.6",
- "@thi.ng/equiv": "^1.0.41",
- "@thi.ng/errors": "^1.3.0",
+ "@thi.ng/api": "^7.1.5",
+ "@thi.ng/checks": "^2.9.7",
+ "@thi.ng/equiv": "^1.0.42",
+ "@thi.ng/errors": "^1.3.1",
"tslib": "^2.1.0"
},
"files": [
diff --git a/packages/rstream-csp/CHANGELOG.md b/packages/rstream-csp/CHANGELOG.md
index 62967c6658..6b01198850 100644
--- a/packages/rstream-csp/CHANGELOG.md
+++ b/packages/rstream-csp/CHANGELOG.md
@@ -3,47 +3,7 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
-## [2.0.64](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-csp@2.0.63...@thi.ng/rstream-csp@2.0.64) (2021-04-03)
-
-**Note:** Version bump only for package @thi.ng/rstream-csp
-
-
-
-
-
-## [2.0.63](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-csp@2.0.62...@thi.ng/rstream-csp@2.0.63) (2021-03-30)
-
-**Note:** Version bump only for package @thi.ng/rstream-csp
-
-
-
-
-
-## [2.0.62](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-csp@2.0.61...@thi.ng/rstream-csp@2.0.62) (2021-03-28)
-
-**Note:** Version bump only for package @thi.ng/rstream-csp
-
-
-
-
-
-## [2.0.61](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-csp@2.0.60...@thi.ng/rstream-csp@2.0.61) (2021-03-27)
-
-**Note:** Version bump only for package @thi.ng/rstream-csp
-
-
-
-
-
-## [2.0.60](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-csp@2.0.59...@thi.ng/rstream-csp@2.0.60) (2021-03-17)
-
-**Note:** Version bump only for package @thi.ng/rstream-csp
-
-
-
-
-
-## [2.0.59](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-csp@2.0.58...@thi.ng/rstream-csp@2.0.59) (2021-03-12)
+## [2.0.68](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-csp@2.0.67...@thi.ng/rstream-csp@2.0.68) (2021-06-08)
**Note:** Version bump only for package @thi.ng/rstream-csp
diff --git a/packages/rstream-csp/package.json b/packages/rstream-csp/package.json
index 0b7f2c9c39..fe3e64c6ff 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.64",
+ "version": "2.0.68",
"description": "@thi.ng/csp bridge module for @thi.ng/rstream",
"module": "./index.js",
"main": "./lib/index.js",
@@ -42,15 +42,15 @@
"@microsoft/api-extractor": "^7.13.1",
"@types/mocha": "^8.2.0",
"@types/node": "^14.14.14",
- "mocha": "^8.3.0",
+ "mocha": "^9.0.0",
"nyc": "^15.1.0",
- "ts-node": "^9.1.1",
+ "ts-node": "^10.0.0",
"typedoc": "^0.20.30",
- "typescript": "^4.2.3"
+ "typescript": "4.2.4"
},
"dependencies": {
- "@thi.ng/csp": "^1.1.60",
- "@thi.ng/rstream": "^6.0.5"
+ "@thi.ng/csp": "^1.1.64",
+ "@thi.ng/rstream": "^6.0.9"
},
"files": [
"*.js",
diff --git a/packages/rstream-dot/CHANGELOG.md b/packages/rstream-dot/CHANGELOG.md
index a2c33c7457..37bfa2b56c 100644
--- a/packages/rstream-dot/CHANGELOG.md
+++ b/packages/rstream-dot/CHANGELOG.md
@@ -3,63 +3,7 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
-## [1.2.13](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-dot@1.2.12...@thi.ng/rstream-dot@1.2.13) (2021-04-03)
-
-**Note:** Version bump only for package @thi.ng/rstream-dot
-
-
-
-
-
-## [1.2.12](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-dot@1.2.11...@thi.ng/rstream-dot@1.2.12) (2021-03-30)
-
-**Note:** Version bump only for package @thi.ng/rstream-dot
-
-
-
-
-
-## [1.2.11](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-dot@1.2.10...@thi.ng/rstream-dot@1.2.11) (2021-03-28)
-
-**Note:** Version bump only for package @thi.ng/rstream-dot
-
-
-
-
-
-## [1.2.10](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-dot@1.2.9...@thi.ng/rstream-dot@1.2.10) (2021-03-27)
-
-**Note:** Version bump only for package @thi.ng/rstream-dot
-
-
-
-
-
-## [1.2.9](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-dot@1.2.8...@thi.ng/rstream-dot@1.2.9) (2021-03-24)
-
-**Note:** Version bump only for package @thi.ng/rstream-dot
-
-
-
-
-
-## [1.2.8](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-dot@1.2.7...@thi.ng/rstream-dot@1.2.8) (2021-03-24)
-
-**Note:** Version bump only for package @thi.ng/rstream-dot
-
-
-
-
-
-## [1.2.7](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-dot@1.2.6...@thi.ng/rstream-dot@1.2.7) (2021-03-17)
-
-**Note:** Version bump only for package @thi.ng/rstream-dot
-
-
-
-
-
-## [1.2.6](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-dot@1.2.5...@thi.ng/rstream-dot@1.2.6) (2021-03-12)
+## [1.2.17](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-dot@1.2.16...@thi.ng/rstream-dot@1.2.17) (2021-06-08)
**Note:** Version bump only for package @thi.ng/rstream-dot
diff --git a/packages/rstream-dot/package.json b/packages/rstream-dot/package.json
index 6b4d4018e1..7a454c34a3 100644
--- a/packages/rstream-dot/package.json
+++ b/packages/rstream-dot/package.json
@@ -1,6 +1,6 @@
{
"name": "@thi.ng/rstream-dot",
- "version": "1.2.13",
+ "version": "1.2.17",
"description": "Graphviz DOT conversion of @thi.ng/rstream dataflow graph topologies",
"module": "./index.js",
"main": "./lib/index.js",
@@ -42,16 +42,16 @@
"@microsoft/api-extractor": "^7.13.1",
"@types/mocha": "^8.2.0",
"@types/node": "^14.14.14",
- "mocha": "^8.3.0",
+ "mocha": "^9.0.0",
"nyc": "^15.1.0",
- "ts-node": "^9.1.1",
+ "ts-node": "^10.0.0",
"typedoc": "^0.20.30",
- "typescript": "^4.2.3"
+ "typescript": "4.2.4"
},
"dependencies": {
- "@thi.ng/rstream": "^6.0.5",
- "@thi.ng/strings": "^2.1.0",
- "@thi.ng/transducers": "^7.6.10"
+ "@thi.ng/rstream": "^6.0.9",
+ "@thi.ng/strings": "^2.1.1",
+ "@thi.ng/transducers": "^7.7.3"
},
"files": [
"*.js",
diff --git a/packages/rstream-gestures/CHANGELOG.md b/packages/rstream-gestures/CHANGELOG.md
index ecc6166d5d..4cb999f5aa 100644
--- a/packages/rstream-gestures/CHANGELOG.md
+++ b/packages/rstream-gestures/CHANGELOG.md
@@ -3,47 +3,7 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
-## [3.0.18](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-gestures@3.0.17...@thi.ng/rstream-gestures@3.0.18) (2021-04-03)
-
-**Note:** Version bump only for package @thi.ng/rstream-gestures
-
-
-
-
-
-## [3.0.17](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-gestures@3.0.16...@thi.ng/rstream-gestures@3.0.17) (2021-03-30)
-
-**Note:** Version bump only for package @thi.ng/rstream-gestures
-
-
-
-
-
-## [3.0.16](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-gestures@3.0.15...@thi.ng/rstream-gestures@3.0.16) (2021-03-28)
-
-**Note:** Version bump only for package @thi.ng/rstream-gestures
-
-
-
-
-
-## [3.0.15](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-gestures@3.0.14...@thi.ng/rstream-gestures@3.0.15) (2021-03-27)
-
-**Note:** Version bump only for package @thi.ng/rstream-gestures
-
-
-
-
-
-## [3.0.14](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-gestures@3.0.13...@thi.ng/rstream-gestures@3.0.14) (2021-03-17)
-
-**Note:** Version bump only for package @thi.ng/rstream-gestures
-
-
-
-
-
-## [3.0.13](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-gestures@3.0.12...@thi.ng/rstream-gestures@3.0.13) (2021-03-12)
+## [3.0.22](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-gestures@3.0.21...@thi.ng/rstream-gestures@3.0.22) (2021-06-08)
**Note:** Version bump only for package @thi.ng/rstream-gestures
diff --git a/packages/rstream-gestures/package.json b/packages/rstream-gestures/package.json
index 9b3af6886e..88b5beb97a 100644
--- a/packages/rstream-gestures/package.json
+++ b/packages/rstream-gestures/package.json
@@ -1,6 +1,6 @@
{
"name": "@thi.ng/rstream-gestures",
- "version": "3.0.18",
+ "version": "3.0.22",
"description": "Unified mouse, mouse wheel & multi-touch event stream abstraction",
"module": "./index.js",
"main": "./lib/index.js",
@@ -42,18 +42,18 @@
"@microsoft/api-extractor": "^7.13.1",
"@types/mocha": "^8.2.0",
"@types/node": "^14.14.14",
- "mocha": "^8.3.0",
+ "mocha": "^9.0.0",
"nyc": "^15.1.0",
- "ts-node": "^9.1.1",
+ "ts-node": "^10.0.0",
"typedoc": "^0.20.30",
- "typescript": "^4.2.3"
+ "typescript": "4.2.4"
},
"dependencies": {
- "@thi.ng/api": "^7.1.4",
- "@thi.ng/checks": "^2.9.6",
- "@thi.ng/math": "^3.4.0",
- "@thi.ng/rstream": "^6.0.5",
- "@thi.ng/transducers": "^7.6.10"
+ "@thi.ng/api": "^7.1.5",
+ "@thi.ng/checks": "^2.9.7",
+ "@thi.ng/math": "^4.0.1",
+ "@thi.ng/rstream": "^6.0.9",
+ "@thi.ng/transducers": "^7.7.3"
},
"files": [
"*.js",
diff --git a/packages/rstream-graph/CHANGELOG.md b/packages/rstream-graph/CHANGELOG.md
index 4d95e5e8af..9c68c57cea 100644
--- a/packages/rstream-graph/CHANGELOG.md
+++ b/packages/rstream-graph/CHANGELOG.md
@@ -3,47 +3,7 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
-## [3.2.65](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-graph@3.2.64...@thi.ng/rstream-graph@3.2.65) (2021-04-03)
-
-**Note:** Version bump only for package @thi.ng/rstream-graph
-
-
-
-
-
-## [3.2.64](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-graph@3.2.63...@thi.ng/rstream-graph@3.2.64) (2021-03-30)
-
-**Note:** Version bump only for package @thi.ng/rstream-graph
-
-
-
-
-
-## [3.2.63](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-graph@3.2.62...@thi.ng/rstream-graph@3.2.63) (2021-03-28)
-
-**Note:** Version bump only for package @thi.ng/rstream-graph
-
-
-
-
-
-## [3.2.62](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-graph@3.2.61...@thi.ng/rstream-graph@3.2.62) (2021-03-27)
-
-**Note:** Version bump only for package @thi.ng/rstream-graph
-
-
-
-
-
-## [3.2.61](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-graph@3.2.60...@thi.ng/rstream-graph@3.2.61) (2021-03-17)
-
-**Note:** Version bump only for package @thi.ng/rstream-graph
-
-
-
-
-
-## [3.2.60](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-graph@3.2.59...@thi.ng/rstream-graph@3.2.60) (2021-03-12)
+## [3.2.69](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-graph@3.2.68...@thi.ng/rstream-graph@3.2.69) (2021-06-08)
**Note:** Version bump only for package @thi.ng/rstream-graph
diff --git a/packages/rstream-graph/package.json b/packages/rstream-graph/package.json
index 2dc9afdca6..4c003b3272 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.65",
+ "version": "3.2.69",
"description": "Declarative dataflow graph construction for @thi.ng/rstream",
"module": "./index.js",
"main": "./lib/index.js",
@@ -42,21 +42,21 @@
"@microsoft/api-extractor": "^7.13.1",
"@types/mocha": "^8.2.0",
"@types/node": "^14.14.14",
- "mocha": "^8.3.0",
+ "mocha": "^9.0.0",
"nyc": "^15.1.0",
- "ts-node": "^9.1.1",
+ "ts-node": "^10.0.0",
"typedoc": "^0.20.30",
- "typescript": "^4.2.3"
+ "typescript": "4.2.4"
},
"dependencies": {
- "@thi.ng/api": "^7.1.4",
- "@thi.ng/atom": "^4.1.35",
- "@thi.ng/checks": "^2.9.6",
- "@thi.ng/errors": "^1.3.0",
- "@thi.ng/paths": "^4.2.7",
- "@thi.ng/resolve-map": "^4.2.20",
- "@thi.ng/rstream": "^6.0.5",
- "@thi.ng/transducers": "^7.6.10"
+ "@thi.ng/api": "^7.1.5",
+ "@thi.ng/atom": "^4.1.36",
+ "@thi.ng/checks": "^2.9.7",
+ "@thi.ng/errors": "^1.3.1",
+ "@thi.ng/paths": "^4.2.8",
+ "@thi.ng/resolve-map": "^4.2.21",
+ "@thi.ng/rstream": "^6.0.9",
+ "@thi.ng/transducers": "^7.7.3"
},
"files": [
"*.js",
diff --git a/packages/rstream-log-file/CHANGELOG.md b/packages/rstream-log-file/CHANGELOG.md
index c8bf1f4af6..fc3085dd4f 100644
--- a/packages/rstream-log-file/CHANGELOG.md
+++ b/packages/rstream-log-file/CHANGELOG.md
@@ -3,47 +3,7 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
-## [0.1.86](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-log-file@0.1.85...@thi.ng/rstream-log-file@0.1.86) (2021-04-03)
-
-**Note:** Version bump only for package @thi.ng/rstream-log-file
-
-
-
-
-
-## [0.1.85](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-log-file@0.1.84...@thi.ng/rstream-log-file@0.1.85) (2021-03-30)
-
-**Note:** Version bump only for package @thi.ng/rstream-log-file
-
-
-
-
-
-## [0.1.84](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-log-file@0.1.83...@thi.ng/rstream-log-file@0.1.84) (2021-03-28)
-
-**Note:** Version bump only for package @thi.ng/rstream-log-file
-
-
-
-
-
-## [0.1.83](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-log-file@0.1.82...@thi.ng/rstream-log-file@0.1.83) (2021-03-27)
-
-**Note:** Version bump only for package @thi.ng/rstream-log-file
-
-
-
-
-
-## [0.1.82](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-log-file@0.1.81...@thi.ng/rstream-log-file@0.1.82) (2021-03-17)
-
-**Note:** Version bump only for package @thi.ng/rstream-log-file
-
-
-
-
-
-## [0.1.81](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-log-file@0.1.80...@thi.ng/rstream-log-file@0.1.81) (2021-03-12)
+## [0.1.90](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-log-file@0.1.89...@thi.ng/rstream-log-file@0.1.90) (2021-06-08)
**Note:** Version bump only for package @thi.ng/rstream-log-file
diff --git a/packages/rstream-log-file/package.json b/packages/rstream-log-file/package.json
index d5186e691e..2ccc093e75 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.86",
+ "version": "0.1.90",
"description": "File output handler for structured, multilevel & hierarchical loggers based on @thi.ng/rstream",
"module": "./index.js",
"main": "./lib/index.js",
@@ -42,14 +42,14 @@
"@microsoft/api-extractor": "^7.13.1",
"@types/mocha": "^8.2.0",
"@types/node": "^14.14.14",
- "mocha": "^8.3.0",
+ "mocha": "^9.0.0",
"nyc": "^15.1.0",
- "ts-node": "^9.1.1",
+ "ts-node": "^10.0.0",
"typedoc": "^0.20.30",
- "typescript": "^4.2.3"
+ "typescript": "4.2.4"
},
"dependencies": {
- "@thi.ng/rstream": "^6.0.5"
+ "@thi.ng/rstream": "^6.0.9"
},
"files": [
"*.js",
diff --git a/packages/rstream-log/CHANGELOG.md b/packages/rstream-log/CHANGELOG.md
index 00a992f9d3..3007e3dad2 100644
--- a/packages/rstream-log/CHANGELOG.md
+++ b/packages/rstream-log/CHANGELOG.md
@@ -3,63 +3,7 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
-## [3.2.17](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-log@3.2.16...@thi.ng/rstream-log@3.2.17) (2021-04-03)
-
-**Note:** Version bump only for package @thi.ng/rstream-log
-
-
-
-
-
-## [3.2.16](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-log@3.2.15...@thi.ng/rstream-log@3.2.16) (2021-03-30)
-
-**Note:** Version bump only for package @thi.ng/rstream-log
-
-
-
-
-
-## [3.2.15](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-log@3.2.14...@thi.ng/rstream-log@3.2.15) (2021-03-28)
-
-**Note:** Version bump only for package @thi.ng/rstream-log
-
-
-
-
-
-## [3.2.14](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-log@3.2.13...@thi.ng/rstream-log@3.2.14) (2021-03-27)
-
-**Note:** Version bump only for package @thi.ng/rstream-log
-
-
-
-
-
-## [3.2.13](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-log@3.2.12...@thi.ng/rstream-log@3.2.13) (2021-03-24)
-
-**Note:** Version bump only for package @thi.ng/rstream-log
-
-
-
-
-
-## [3.2.12](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-log@3.2.11...@thi.ng/rstream-log@3.2.12) (2021-03-24)
-
-**Note:** Version bump only for package @thi.ng/rstream-log
-
-
-
-
-
-## [3.2.11](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-log@3.2.10...@thi.ng/rstream-log@3.2.11) (2021-03-17)
-
-**Note:** Version bump only for package @thi.ng/rstream-log
-
-
-
-
-
-## [3.2.10](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-log@3.2.9...@thi.ng/rstream-log@3.2.10) (2021-03-12)
+## [3.2.21](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-log@3.2.20...@thi.ng/rstream-log@3.2.21) (2021-06-08)
**Note:** Version bump only for package @thi.ng/rstream-log
diff --git a/packages/rstream-log/package.json b/packages/rstream-log/package.json
index be5bd85e77..eefe14194e 100644
--- a/packages/rstream-log/package.json
+++ b/packages/rstream-log/package.json
@@ -1,6 +1,6 @@
{
"name": "@thi.ng/rstream-log",
- "version": "3.2.17",
+ "version": "3.2.21",
"description": "Structured, multilevel & hierarchical loggers based on @thi.ng/rstream",
"module": "./index.js",
"main": "./lib/index.js",
@@ -42,19 +42,19 @@
"@microsoft/api-extractor": "^7.13.1",
"@types/mocha": "^8.2.0",
"@types/node": "^14.14.14",
- "mocha": "^8.3.0",
+ "mocha": "^9.0.0",
"nyc": "^15.1.0",
- "ts-node": "^9.1.1",
+ "ts-node": "^10.0.0",
"typedoc": "^0.20.30",
- "typescript": "^4.2.3"
+ "typescript": "4.2.4"
},
"dependencies": {
- "@thi.ng/api": "^7.1.4",
- "@thi.ng/checks": "^2.9.6",
- "@thi.ng/errors": "^1.3.0",
- "@thi.ng/rstream": "^6.0.5",
- "@thi.ng/strings": "^2.1.0",
- "@thi.ng/transducers": "^7.6.10"
+ "@thi.ng/api": "^7.1.5",
+ "@thi.ng/checks": "^2.9.7",
+ "@thi.ng/errors": "^1.3.1",
+ "@thi.ng/rstream": "^6.0.9",
+ "@thi.ng/strings": "^2.1.1",
+ "@thi.ng/transducers": "^7.7.3"
},
"files": [
"*.js",
diff --git a/packages/rstream-query/CHANGELOG.md b/packages/rstream-query/CHANGELOG.md
index 27463d8e54..093579663a 100644
--- a/packages/rstream-query/CHANGELOG.md
+++ b/packages/rstream-query/CHANGELOG.md
@@ -3,63 +3,7 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
-## [1.1.73](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-query@1.1.72...@thi.ng/rstream-query@1.1.73) (2021-04-03)
-
-**Note:** Version bump only for package @thi.ng/rstream-query
-
-
-
-
-
-## [1.1.72](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-query@1.1.71...@thi.ng/rstream-query@1.1.72) (2021-03-30)
-
-**Note:** Version bump only for package @thi.ng/rstream-query
-
-
-
-
-
-## [1.1.71](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-query@1.1.70...@thi.ng/rstream-query@1.1.71) (2021-03-28)
-
-**Note:** Version bump only for package @thi.ng/rstream-query
-
-
-
-
-
-## [1.1.70](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-query@1.1.69...@thi.ng/rstream-query@1.1.70) (2021-03-27)
-
-**Note:** Version bump only for package @thi.ng/rstream-query
-
-
-
-
-
-## [1.1.69](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-query@1.1.68...@thi.ng/rstream-query@1.1.69) (2021-03-24)
-
-**Note:** Version bump only for package @thi.ng/rstream-query
-
-
-
-
-
-## [1.1.68](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-query@1.1.67...@thi.ng/rstream-query@1.1.68) (2021-03-24)
-
-**Note:** Version bump only for package @thi.ng/rstream-query
-
-
-
-
-
-## [1.1.67](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-query@1.1.66...@thi.ng/rstream-query@1.1.67) (2021-03-17)
-
-**Note:** Version bump only for package @thi.ng/rstream-query
-
-
-
-
-
-## [1.1.66](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-query@1.1.65...@thi.ng/rstream-query@1.1.66) (2021-03-12)
+## [1.1.77](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-query@1.1.76...@thi.ng/rstream-query@1.1.77) (2021-06-08)
**Note:** Version bump only for package @thi.ng/rstream-query
diff --git a/packages/rstream-query/package.json b/packages/rstream-query/package.json
index b28aa579b0..74e6a7eccb 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.73",
+ "version": "1.1.77",
"description": "@thi.ng/rstream based triple store & reactive query engine",
"module": "./index.js",
"main": "./lib/index.js",
@@ -42,22 +42,22 @@
"@microsoft/api-extractor": "^7.13.1",
"@types/mocha": "^8.2.0",
"@types/node": "^14.14.14",
- "mocha": "^8.3.0",
+ "mocha": "^9.0.0",
"nyc": "^15.1.0",
- "ts-node": "^9.1.1",
+ "ts-node": "^10.0.0",
"typedoc": "^0.20.30",
- "typescript": "^4.2.3"
+ "typescript": "4.2.4"
},
"dependencies": {
- "@thi.ng/api": "^7.1.4",
- "@thi.ng/associative": "^5.2.1",
- "@thi.ng/checks": "^2.9.6",
- "@thi.ng/equiv": "^1.0.41",
- "@thi.ng/errors": "^1.3.0",
- "@thi.ng/math": "^3.4.0",
- "@thi.ng/rstream": "^6.0.5",
- "@thi.ng/rstream-dot": "^1.2.13",
- "@thi.ng/transducers": "^7.6.10"
+ "@thi.ng/api": "^7.1.5",
+ "@thi.ng/associative": "^5.2.5",
+ "@thi.ng/checks": "^2.9.7",
+ "@thi.ng/equiv": "^1.0.42",
+ "@thi.ng/errors": "^1.3.1",
+ "@thi.ng/math": "^4.0.1",
+ "@thi.ng/rstream": "^6.0.9",
+ "@thi.ng/rstream-dot": "^1.2.17",
+ "@thi.ng/transducers": "^7.7.3"
},
"files": [
"*.js",
diff --git a/packages/rstream/CHANGELOG.md b/packages/rstream/CHANGELOG.md
index 66e8faf12d..aef37aeb84 100644
--- a/packages/rstream/CHANGELOG.md
+++ b/packages/rstream/CHANGELOG.md
@@ -3,39 +3,7 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
-## [6.0.5](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream@6.0.4...@thi.ng/rstream@6.0.5) (2021-04-03)
-
-**Note:** Version bump only for package @thi.ng/rstream
-
-
-
-
-
-## [6.0.4](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream@6.0.3...@thi.ng/rstream@6.0.4) (2021-03-30)
-
-**Note:** Version bump only for package @thi.ng/rstream
-
-
-
-
-
-## [6.0.3](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream@6.0.2...@thi.ng/rstream@6.0.3) (2021-03-28)
-
-**Note:** Version bump only for package @thi.ng/rstream
-
-
-
-
-
-## [6.0.2](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream@6.0.1...@thi.ng/rstream@6.0.2) (2021-03-27)
-
-**Note:** Version bump only for package @thi.ng/rstream
-
-
-
-
-
-## [6.0.1](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream@6.0.0...@thi.ng/rstream@6.0.1) (2021-03-17)
+## [6.0.9](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream@6.0.8...@thi.ng/rstream@6.0.9) (2021-06-08)
**Note:** Version bump only for package @thi.ng/rstream
diff --git a/packages/rstream/README.md b/packages/rstream/README.md
index 4a4583c635..949456e7fe 100644
--- a/packages/rstream/README.md
+++ b/packages/rstream/README.md
@@ -218,6 +218,7 @@ A selection:
| | 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) |
| | Probabilistic color theme generator | [Demo](https://demo.thi.ng/umbrella/color-themes/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/color-themes) |
| | 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) |
+| | Color palette generation via dominant color extraction from uploaded images | [Demo](https://demo.thi.ng/umbrella/dominant-colors/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/dominant-colors) |
| | 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) |
diff --git a/packages/rstream/package.json b/packages/rstream/package.json
index 298505f496..c1f08b0e75 100644
--- a/packages/rstream/package.json
+++ b/packages/rstream/package.json
@@ -1,6 +1,6 @@
{
"name": "@thi.ng/rstream",
- "version": "6.0.5",
+ "version": "6.0.9",
"description": "Reactive streams & subscription primitives for constructing dataflow graphs / pipelines",
"module": "./index.js",
"main": "./lib/index.js",
@@ -42,20 +42,20 @@
"@microsoft/api-extractor": "^7.13.1",
"@types/mocha": "^8.2.0",
"@types/node": "^14.14.14",
- "mocha": "^8.3.0",
+ "mocha": "^9.0.0",
"nyc": "^15.1.0",
- "ts-node": "^9.1.1",
+ "ts-node": "^10.0.0",
"typedoc": "^0.20.30",
- "typescript": "^4.2.3"
+ "typescript": "4.2.4"
},
"dependencies": {
- "@thi.ng/api": "^7.1.4",
- "@thi.ng/arrays": "^0.10.10",
- "@thi.ng/associative": "^5.2.1",
- "@thi.ng/atom": "^4.1.35",
- "@thi.ng/checks": "^2.9.6",
- "@thi.ng/errors": "^1.3.0",
- "@thi.ng/transducers": "^7.6.10"
+ "@thi.ng/api": "^7.1.5",
+ "@thi.ng/arrays": "^0.10.12",
+ "@thi.ng/associative": "^5.2.5",
+ "@thi.ng/atom": "^4.1.36",
+ "@thi.ng/checks": "^2.9.7",
+ "@thi.ng/errors": "^1.3.1",
+ "@thi.ng/transducers": "^7.7.3"
},
"files": [
"*.js",
diff --git a/packages/sax/CHANGELOG.md b/packages/sax/CHANGELOG.md
index 87032c1b52..65ac2cfe8f 100644
--- a/packages/sax/CHANGELOG.md
+++ b/packages/sax/CHANGELOG.md
@@ -3,39 +3,7 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
-## [1.1.59](https://github.com/thi-ng/umbrella/compare/@thi.ng/sax@1.1.58...@thi.ng/sax@1.1.59) (2021-04-03)
-
-**Note:** Version bump only for package @thi.ng/sax
-
-
-
-
-
-## [1.1.58](https://github.com/thi-ng/umbrella/compare/@thi.ng/sax@1.1.57...@thi.ng/sax@1.1.58) (2021-03-28)
-
-**Note:** Version bump only for package @thi.ng/sax
-
-
-
-
-
-## [1.1.57](https://github.com/thi-ng/umbrella/compare/@thi.ng/sax@1.1.56...@thi.ng/sax@1.1.57) (2021-03-27)
-
-**Note:** Version bump only for package @thi.ng/sax
-
-
-
-
-
-## [1.1.56](https://github.com/thi-ng/umbrella/compare/@thi.ng/sax@1.1.55...@thi.ng/sax@1.1.56) (2021-03-17)
-
-**Note:** Version bump only for package @thi.ng/sax
-
-
-
-
-
-## [1.1.55](https://github.com/thi-ng/umbrella/compare/@thi.ng/sax@1.1.54...@thi.ng/sax@1.1.55) (2021-03-12)
+## [1.1.63](https://github.com/thi-ng/umbrella/compare/@thi.ng/sax@1.1.62...@thi.ng/sax@1.1.63) (2021-06-08)
**Note:** Version bump only for package @thi.ng/sax
diff --git a/packages/sax/package.json b/packages/sax/package.json
index 447ac66772..881ea68669 100644
--- a/packages/sax/package.json
+++ b/packages/sax/package.json
@@ -1,6 +1,6 @@
{
"name": "@thi.ng/sax",
- "version": "1.1.59",
+ "version": "1.1.63",
"description": "Transducer-based, SAX-like, non-validating, speedy & tiny XML parser",
"module": "./index.js",
"main": "./lib/index.js",
@@ -42,16 +42,16 @@
"@microsoft/api-extractor": "^7.13.1",
"@types/mocha": "^8.2.0",
"@types/node": "^14.14.14",
- "mocha": "^8.3.0",
+ "mocha": "^9.0.0",
"nyc": "^15.1.0",
- "ts-node": "^9.1.1",
+ "ts-node": "^10.0.0",
"typedoc": "^0.20.30",
- "typescript": "^4.2.3"
+ "typescript": "4.2.4"
},
"dependencies": {
- "@thi.ng/api": "^7.1.4",
- "@thi.ng/transducers": "^7.6.10",
- "@thi.ng/transducers-fsm": "^1.1.59"
+ "@thi.ng/api": "^7.1.5",
+ "@thi.ng/transducers": "^7.7.3",
+ "@thi.ng/transducers-fsm": "^1.1.63"
},
"files": [
"*.js",
diff --git a/packages/scenegraph/CHANGELOG.md b/packages/scenegraph/CHANGELOG.md
index bfd336a614..625d24d9fc 100644
--- a/packages/scenegraph/CHANGELOG.md
+++ b/packages/scenegraph/CHANGELOG.md
@@ -3,47 +3,7 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
-## [0.3.29](https://github.com/thi-ng/umbrella/compare/@thi.ng/scenegraph@0.3.28...@thi.ng/scenegraph@0.3.29) (2021-04-03)
-
-**Note:** Version bump only for package @thi.ng/scenegraph
-
-
-
-
-
-## [0.3.28](https://github.com/thi-ng/umbrella/compare/@thi.ng/scenegraph@0.3.27...@thi.ng/scenegraph@0.3.28) (2021-03-30)
-
-**Note:** Version bump only for package @thi.ng/scenegraph
-
-
-
-
-
-## [0.3.27](https://github.com/thi-ng/umbrella/compare/@thi.ng/scenegraph@0.3.26...@thi.ng/scenegraph@0.3.27) (2021-03-28)
-
-**Note:** Version bump only for package @thi.ng/scenegraph
-
-
-
-
-
-## [0.3.26](https://github.com/thi-ng/umbrella/compare/@thi.ng/scenegraph@0.3.25...@thi.ng/scenegraph@0.3.26) (2021-03-27)
-
-**Note:** Version bump only for package @thi.ng/scenegraph
-
-
-
-
-
-## [0.3.25](https://github.com/thi-ng/umbrella/compare/@thi.ng/scenegraph@0.3.24...@thi.ng/scenegraph@0.3.25) (2021-03-17)
-
-**Note:** Version bump only for package @thi.ng/scenegraph
-
-
-
-
-
-## [0.3.24](https://github.com/thi-ng/umbrella/compare/@thi.ng/scenegraph@0.3.23...@thi.ng/scenegraph@0.3.24) (2021-03-12)
+## [0.3.33](https://github.com/thi-ng/umbrella/compare/@thi.ng/scenegraph@0.3.32...@thi.ng/scenegraph@0.3.33) (2021-06-08)
**Note:** Version bump only for package @thi.ng/scenegraph
diff --git a/packages/scenegraph/package.json b/packages/scenegraph/package.json
index 56b5cf0724..68e9040317 100644
--- a/packages/scenegraph/package.json
+++ b/packages/scenegraph/package.json
@@ -1,6 +1,6 @@
{
"name": "@thi.ng/scenegraph",
- "version": "0.3.29",
+ "version": "0.3.33",
"description": "Extensible 2D/3D scene graph with @thi.ng/hiccup-canvas support",
"module": "./index.js",
"main": "./lib/index.js",
@@ -42,17 +42,17 @@
"@microsoft/api-extractor": "^7.13.1",
"@types/mocha": "^8.2.0",
"@types/node": "^14.14.14",
- "mocha": "^8.3.0",
+ "mocha": "^9.0.0",
"nyc": "^15.1.0",
- "ts-node": "^9.1.1",
+ "ts-node": "^10.0.0",
"typedoc": "^0.20.30",
- "typescript": "^4.2.3"
+ "typescript": "4.2.4"
},
"dependencies": {
- "@thi.ng/api": "^7.1.4",
- "@thi.ng/checks": "^2.9.6",
- "@thi.ng/matrices": "^0.6.55",
- "@thi.ng/vectors": "^5.2.1"
+ "@thi.ng/api": "^7.1.5",
+ "@thi.ng/checks": "^2.9.7",
+ "@thi.ng/matrices": "^0.6.59",
+ "@thi.ng/vectors": "^6.0.1"
},
"files": [
"*.js",
diff --git a/packages/seq/CHANGELOG.md b/packages/seq/CHANGELOG.md
index 449729a884..eaa01639d5 100644
--- a/packages/seq/CHANGELOG.md
+++ b/packages/seq/CHANGELOG.md
@@ -3,15 +3,7 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
-## [0.2.37](https://github.com/thi-ng/umbrella/compare/@thi.ng/seq@0.2.36...@thi.ng/seq@0.2.37) (2021-04-03)
-
-**Note:** Version bump only for package @thi.ng/seq
-
-
-
-
-
-## [0.2.36](https://github.com/thi-ng/umbrella/compare/@thi.ng/seq@0.2.35...@thi.ng/seq@0.2.36) (2021-03-12)
+## [0.2.38](https://github.com/thi-ng/umbrella/compare/@thi.ng/seq@0.2.37...@thi.ng/seq@0.2.38) (2021-06-08)
**Note:** Version bump only for package @thi.ng/seq
diff --git a/packages/seq/package.json b/packages/seq/package.json
index e34c842897..da6f0b7114 100644
--- a/packages/seq/package.json
+++ b/packages/seq/package.json
@@ -1,6 +1,6 @@
{
"name": "@thi.ng/seq",
- "version": "0.2.37",
+ "version": "0.2.38",
"description": "Various implementations of the @thi.ng/api `ISeq` interface / sequence abstraction",
"module": "./index.js",
"main": "./lib/index.js",
@@ -42,15 +42,15 @@
"@microsoft/api-extractor": "^7.13.1",
"@types/mocha": "^8.2.0",
"@types/node": "^14.14.14",
- "mocha": "^8.3.0",
+ "mocha": "^9.0.0",
"nyc": "^15.1.0",
- "ts-node": "^9.1.1",
+ "ts-node": "^10.0.0",
"typedoc": "^0.20.30",
- "typescript": "^4.2.3"
+ "typescript": "4.2.4"
},
"dependencies": {
- "@thi.ng/api": "^7.1.4",
- "@thi.ng/checks": "^2.9.6"
+ "@thi.ng/api": "^7.1.5",
+ "@thi.ng/checks": "^2.9.7"
},
"files": [
"*.js",
diff --git a/packages/sexpr/CHANGELOG.md b/packages/sexpr/CHANGELOG.md
index d16ac8e489..07ce3bd41d 100644
--- a/packages/sexpr/CHANGELOG.md
+++ b/packages/sexpr/CHANGELOG.md
@@ -3,23 +3,7 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
-## [0.2.41](https://github.com/thi-ng/umbrella/compare/@thi.ng/sexpr@0.2.40...@thi.ng/sexpr@0.2.41) (2021-04-03)
-
-**Note:** Version bump only for package @thi.ng/sexpr
-
-
-
-
-
-## [0.2.40](https://github.com/thi-ng/umbrella/compare/@thi.ng/sexpr@0.2.39...@thi.ng/sexpr@0.2.40) (2021-03-17)
-
-**Note:** Version bump only for package @thi.ng/sexpr
-
-
-
-
-
-## [0.2.39](https://github.com/thi-ng/umbrella/compare/@thi.ng/sexpr@0.2.38...@thi.ng/sexpr@0.2.39) (2021-03-12)
+## [0.2.42](https://github.com/thi-ng/umbrella/compare/@thi.ng/sexpr@0.2.41...@thi.ng/sexpr@0.2.42) (2021-06-08)
**Note:** Version bump only for package @thi.ng/sexpr
diff --git a/packages/sexpr/package.json b/packages/sexpr/package.json
index 83846506b6..e77a808e9a 100644
--- a/packages/sexpr/package.json
+++ b/packages/sexpr/package.json
@@ -1,6 +1,6 @@
{
"name": "@thi.ng/sexpr",
- "version": "0.2.41",
+ "version": "0.2.42",
"description": "Extensible S-Expression parser & runtime infrastructure",
"module": "./index.js",
"main": "./lib/index.js",
@@ -42,16 +42,16 @@
"@microsoft/api-extractor": "^7.13.1",
"@types/mocha": "^8.2.0",
"@types/node": "^14.14.14",
- "mocha": "^8.3.0",
+ "mocha": "^9.0.0",
"nyc": "^15.1.0",
- "ts-node": "^9.1.1",
+ "ts-node": "^10.0.0",
"typedoc": "^0.20.30",
- "typescript": "^4.2.3"
+ "typescript": "4.2.4"
},
"dependencies": {
- "@thi.ng/api": "^7.1.4",
- "@thi.ng/checks": "^2.9.6",
- "@thi.ng/defmulti": "^1.3.11"
+ "@thi.ng/api": "^7.1.5",
+ "@thi.ng/checks": "^2.9.7",
+ "@thi.ng/defmulti": "^1.3.12"
},
"files": [
"*.js",
diff --git a/packages/shader-ast-glsl/CHANGELOG.md b/packages/shader-ast-glsl/CHANGELOG.md
index acb626b624..8f1f94c383 100644
--- a/packages/shader-ast-glsl/CHANGELOG.md
+++ b/packages/shader-ast-glsl/CHANGELOG.md
@@ -3,47 +3,7 @@
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/shader-ast-glsl@0.2.31...@thi.ng/shader-ast-glsl@0.2.32) (2021-04-03)
-
-**Note:** Version bump only for package @thi.ng/shader-ast-glsl
-
-
-
-
-
-## [0.2.31](https://github.com/thi-ng/umbrella/compare/@thi.ng/shader-ast-glsl@0.2.30...@thi.ng/shader-ast-glsl@0.2.31) (2021-03-30)
-
-**Note:** Version bump only for package @thi.ng/shader-ast-glsl
-
-
-
-
-
-## [0.2.30](https://github.com/thi-ng/umbrella/compare/@thi.ng/shader-ast-glsl@0.2.29...@thi.ng/shader-ast-glsl@0.2.30) (2021-03-28)
-
-**Note:** Version bump only for package @thi.ng/shader-ast-glsl
-
-
-
-
-
-## [0.2.29](https://github.com/thi-ng/umbrella/compare/@thi.ng/shader-ast-glsl@0.2.28...@thi.ng/shader-ast-glsl@0.2.29) (2021-03-27)
-
-**Note:** Version bump only for package @thi.ng/shader-ast-glsl
-
-
-
-
-
-## [0.2.28](https://github.com/thi-ng/umbrella/compare/@thi.ng/shader-ast-glsl@0.2.27...@thi.ng/shader-ast-glsl@0.2.28) (2021-03-17)
-
-**Note:** Version bump only for package @thi.ng/shader-ast-glsl
-
-
-
-
-
-## [0.2.27](https://github.com/thi-ng/umbrella/compare/@thi.ng/shader-ast-glsl@0.2.26...@thi.ng/shader-ast-glsl@0.2.27) (2021-03-12)
+## [0.2.36](https://github.com/thi-ng/umbrella/compare/@thi.ng/shader-ast-glsl@0.2.35...@thi.ng/shader-ast-glsl@0.2.36) (2021-06-08)
**Note:** Version bump only for package @thi.ng/shader-ast-glsl
diff --git a/packages/shader-ast-glsl/package.json b/packages/shader-ast-glsl/package.json
index 573eeab294..a1fb88d672 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.2.32",
+ "version": "0.2.36",
"description": "Customizable GLSL codegen for @thi.ng/shader-ast",
"module": "./index.js",
"main": "./lib/index.js",
@@ -42,17 +42,17 @@
"@microsoft/api-extractor": "^7.13.1",
"@types/mocha": "^8.2.0",
"@types/node": "^14.14.14",
- "mocha": "^8.3.0",
+ "mocha": "^9.0.0",
"nyc": "^15.1.0",
- "ts-node": "^9.1.1",
+ "ts-node": "^10.0.0",
"typedoc": "^0.20.30",
- "typescript": "^4.2.3"
+ "typescript": "4.2.4"
},
"dependencies": {
- "@thi.ng/api": "^7.1.4",
- "@thi.ng/checks": "^2.9.6",
- "@thi.ng/errors": "^1.3.0",
- "@thi.ng/shader-ast": "^0.8.10"
+ "@thi.ng/api": "^7.1.5",
+ "@thi.ng/checks": "^2.9.7",
+ "@thi.ng/errors": "^1.3.1",
+ "@thi.ng/shader-ast": "^0.8.14"
},
"files": [
"*.js",
diff --git a/packages/shader-ast-js/CHANGELOG.md b/packages/shader-ast-js/CHANGELOG.md
index ca60b15299..7850b6de10 100644
--- a/packages/shader-ast-js/CHANGELOG.md
+++ b/packages/shader-ast-js/CHANGELOG.md
@@ -3,55 +3,7 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
-## [0.5.32](https://github.com/thi-ng/umbrella/compare/@thi.ng/shader-ast-js@0.5.31...@thi.ng/shader-ast-js@0.5.32) (2021-04-03)
-
-**Note:** Version bump only for package @thi.ng/shader-ast-js
-
-
-
-
-
-## [0.5.31](https://github.com/thi-ng/umbrella/compare/@thi.ng/shader-ast-js@0.5.30...@thi.ng/shader-ast-js@0.5.31) (2021-03-30)
-
-**Note:** Version bump only for package @thi.ng/shader-ast-js
-
-
-
-
-
-## [0.5.30](https://github.com/thi-ng/umbrella/compare/@thi.ng/shader-ast-js@0.5.29...@thi.ng/shader-ast-js@0.5.30) (2021-03-28)
-
-**Note:** Version bump only for package @thi.ng/shader-ast-js
-
-
-
-
-
-## [0.5.29](https://github.com/thi-ng/umbrella/compare/@thi.ng/shader-ast-js@0.5.28...@thi.ng/shader-ast-js@0.5.29) (2021-03-27)
-
-**Note:** Version bump only for package @thi.ng/shader-ast-js
-
-
-
-
-
-## [0.5.28](https://github.com/thi-ng/umbrella/compare/@thi.ng/shader-ast-js@0.5.27...@thi.ng/shader-ast-js@0.5.28) (2021-03-20)
-
-**Note:** Version bump only for package @thi.ng/shader-ast-js
-
-
-
-
-
-## [0.5.27](https://github.com/thi-ng/umbrella/compare/@thi.ng/shader-ast-js@0.5.26...@thi.ng/shader-ast-js@0.5.27) (2021-03-17)
-
-**Note:** Version bump only for package @thi.ng/shader-ast-js
-
-
-
-
-
-## [0.5.26](https://github.com/thi-ng/umbrella/compare/@thi.ng/shader-ast-js@0.5.25...@thi.ng/shader-ast-js@0.5.26) (2021-03-12)
+## [0.5.37](https://github.com/thi-ng/umbrella/compare/@thi.ng/shader-ast-js@0.5.36...@thi.ng/shader-ast-js@0.5.37) (2021-06-08)
**Note:** Version bump only for package @thi.ng/shader-ast-js
diff --git a/packages/shader-ast-js/package.json b/packages/shader-ast-js/package.json
index 3fa6d026fb..ad2d8864ed 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.5.32",
+ "version": "0.5.37",
"description": "Customizable JS codegen, compiler & runtime for @thi.ng/shader-ast",
"module": "./index.js",
"main": "./lib/index.js",
@@ -42,21 +42,21 @@
"@microsoft/api-extractor": "^7.13.1",
"@types/mocha": "^8.2.0",
"@types/node": "^14.14.14",
- "mocha": "^8.3.0",
+ "mocha": "^9.0.0",
"nyc": "^15.1.0",
- "ts-node": "^9.1.1",
+ "ts-node": "^10.0.0",
"typedoc": "^0.20.30",
- "typescript": "^4.2.3"
+ "typescript": "4.2.4"
},
"dependencies": {
- "@thi.ng/api": "^7.1.4",
- "@thi.ng/checks": "^2.9.6",
- "@thi.ng/errors": "^1.3.0",
- "@thi.ng/math": "^3.4.0",
- "@thi.ng/matrices": "^0.6.55",
- "@thi.ng/pixel": "^0.9.0",
- "@thi.ng/shader-ast": "^0.8.10",
- "@thi.ng/vectors": "^5.2.1"
+ "@thi.ng/api": "^7.1.5",
+ "@thi.ng/checks": "^2.9.7",
+ "@thi.ng/errors": "^1.3.1",
+ "@thi.ng/math": "^4.0.1",
+ "@thi.ng/matrices": "^0.6.59",
+ "@thi.ng/pixel": "^0.10.3",
+ "@thi.ng/shader-ast": "^0.8.14",
+ "@thi.ng/vectors": "^6.0.1"
},
"files": [
"*.js",
diff --git a/packages/shader-ast-js/src/env/float.ts b/packages/shader-ast-js/src/env/float.ts
index 08f02ac9a6..0eeaabc8f6 100644
--- a/packages/shader-ast-js/src/env/float.ts
+++ b/packages/shader-ast-js/src/env/float.ts
@@ -1,9 +1,9 @@
import {
clamp,
deg,
- fmod,
fract,
mix,
+ mod,
rad,
smoothStep,
step,
@@ -34,8 +34,8 @@ export const FLOAT: JSBuiltinsFloat = {
min: Math.min,
mix,
mixn: mix,
- mod: fmod,
- modn: fmod,
+ mod,
+ modn: mod,
pow: Math.pow,
radians: rad,
sign: Math.sign,
diff --git a/packages/shader-ast-js/src/env/ivec2.ts b/packages/shader-ast-js/src/env/ivec2.ts
index 298ee93142..d22335ce00 100644
--- a/packages/shader-ast-js/src/env/ivec2.ts
+++ b/packages/shader-ast-js/src/env/ivec2.ts
@@ -7,17 +7,17 @@ import {
bitXorI2,
divI2,
divNI2,
+ fmod2,
+ fmodN2,
lshiftI2,
- mod2,
- modN2,
mulI2,
mulNI2,
rshiftI2,
subI2,
subNI2,
} from "@thi.ng/vectors";
-import { VEC2 } from "./vec2";
import type { JSBuiltinsIntVec } from "../api";
+import { VEC2 } from "./vec2";
export const IVEC2: JSBuiltinsIntVec = {
...VEC2,
@@ -27,9 +27,9 @@ export const IVEC2: JSBuiltinsIntVec = {
div: (a, b) => divI2([], a, b),
divvn: (a, b) => divNI2([], a, b),
divnv: (a, b) => divI2(null, [a, a], b),
- modi: (a, b) => mod2([], a, b),
- modivn: (a, b) => modN2([], a, b),
- modinv: (a, b) => mod2(null, [a, a], b),
+ modi: (a, b) => fmod2([], a, b),
+ modivn: (a, b) => fmodN2([], a, b),
+ modinv: (a, b) => fmod2(null, [a, a], b),
mul: (a, b) => mulI2([], a, b),
mulvn: (a, b) => mulNI2([], a, b),
mulnv: (a, b) => mulNI2([], b, a),
diff --git a/packages/shader-ast-js/src/env/ivec3.ts b/packages/shader-ast-js/src/env/ivec3.ts
index 99319d848c..1a35012286 100644
--- a/packages/shader-ast-js/src/env/ivec3.ts
+++ b/packages/shader-ast-js/src/env/ivec3.ts
@@ -7,17 +7,17 @@ import {
bitXorI3,
divI3,
divNI3,
+ fmod3,
+ fmodN3,
lshiftI3,
- mod3,
- modN3,
mulI3,
mulNI3,
rshiftI3,
subI3,
subNI3,
} from "@thi.ng/vectors";
-import { VEC3 } from "./vec3";
import type { JSBuiltinsIntVec } from "../api";
+import { VEC3 } from "./vec3";
export const IVEC3: JSBuiltinsIntVec = {
...VEC3,
@@ -27,9 +27,9 @@ export const IVEC3: JSBuiltinsIntVec = {
div: (a, b) => divI3([], a, b),
divvn: (a, b) => divNI3([], a, b),
divnv: (a, b) => divI3(null, [a, a, a], b),
- modi: (a, b) => mod3([], a, b),
- modivn: (a, b) => modN3([], a, b),
- modinv: (a, b) => mod3(null, [a, a, a], b),
+ modi: (a, b) => fmod3([], a, b),
+ modivn: (a, b) => fmodN3([], a, b),
+ modinv: (a, b) => fmod3(null, [a, a, a], b),
mul: (a, b) => mulI3([], a, b),
mulvn: (a, b) => mulNI3([], a, b),
mulnv: (a, b) => mulNI3([], b, a),
diff --git a/packages/shader-ast-js/src/env/ivec4.ts b/packages/shader-ast-js/src/env/ivec4.ts
index 277c7e7085..406f505c94 100644
--- a/packages/shader-ast-js/src/env/ivec4.ts
+++ b/packages/shader-ast-js/src/env/ivec4.ts
@@ -7,17 +7,17 @@ import {
bitXorI4,
divI4,
divNI4,
+ fmod4,
+ fmodN4,
lshiftI4,
- mod4,
- modN4,
mulI4,
mulNI4,
rshiftI4,
subI4,
subNI4,
} from "@thi.ng/vectors";
-import { VEC4 } from "./vec4";
import type { JSBuiltinsIntVec } from "../api";
+import { VEC4 } from "./vec4";
export const IVEC4: JSBuiltinsIntVec = {
...VEC4,
@@ -27,9 +27,9 @@ export const IVEC4: JSBuiltinsIntVec = {
div: (a, b) => divI4([], a, b),
divvn: (a, b) => divNI4([], a, b),
divnv: (a, b) => divI4(null, [a, a, a, a], b),
- modi: (a, b) => mod4([], a, b),
- modivn: (a, b) => modN4([], a, b),
- modinv: (a, b) => mod4(null, [a, a, a, a], b),
+ modi: (a, b) => fmod4([], a, b),
+ modivn: (a, b) => fmodN4([], a, b),
+ modinv: (a, b) => fmod4(null, [a, a, a, a], b),
mul: (a, b) => mulI4([], a, b),
mulvn: (a, b) => mulNI4([], a, b),
mulnv: (a, b) => mulNI4([], b, a),
diff --git a/packages/shader-ast-js/src/env/uvec2.ts b/packages/shader-ast-js/src/env/uvec2.ts
index aafb0c4fcb..e18c2e1727 100644
--- a/packages/shader-ast-js/src/env/uvec2.ts
+++ b/packages/shader-ast-js/src/env/uvec2.ts
@@ -7,17 +7,17 @@ import {
bitXorU2,
divNU2,
divU2,
+ fmod2,
+ fmodN2,
lshiftU2,
- mod2,
- modN2,
mulNU2,
mulU2,
rshiftU2,
subNU2,
subU2,
} from "@thi.ng/vectors";
-import { VEC2 } from "./vec2";
import type { JSBuiltinsIntVec } from "../api";
+import { VEC2 } from "./vec2";
export const UVEC2: JSBuiltinsIntVec = {
...VEC2,
@@ -27,9 +27,9 @@ export const UVEC2: JSBuiltinsIntVec = {
div: (a, b) => divU2([], a, b),
divvn: (a, b) => divNU2([], a, b),
divnv: (a, b) => divU2(null, [a, a], b),
- modi: (a, b) => mod2([], a, b),
- modivn: (a, b) => modN2([], a, b),
- modinv: (a, b) => mod2(null, [a, a], b),
+ modi: (a, b) => fmod2([], a, b),
+ modivn: (a, b) => fmodN2([], a, b),
+ modinv: (a, b) => fmod2(null, [a, a], b),
mul: (a, b) => mulU2([], a, b),
mulvn: (a, b) => mulNU2([], a, b),
mulnv: (a, b) => mulNU2([], b, a),
diff --git a/packages/shader-ast-js/src/env/uvec3.ts b/packages/shader-ast-js/src/env/uvec3.ts
index 3cd091f44d..76df56106b 100644
--- a/packages/shader-ast-js/src/env/uvec3.ts
+++ b/packages/shader-ast-js/src/env/uvec3.ts
@@ -7,17 +7,17 @@ import {
bitXorU3,
divNU3,
divU3,
+ fmod3,
+ fmodN3,
lshiftU3,
- mod3,
- modN3,
mulNU3,
mulU3,
rshiftU3,
subNU3,
subU3,
} from "@thi.ng/vectors";
-import { VEC3 } from "./vec3";
import type { JSBuiltinsIntVec } from "../api";
+import { VEC3 } from "./vec3";
export const UVEC3: JSBuiltinsIntVec = {
...VEC3,
@@ -27,9 +27,9 @@ export const UVEC3: JSBuiltinsIntVec = {
div: (a, b) => divU3([], a, b),
divvn: (a, b) => divNU3([], a, b),
divnv: (a, b) => divU3(null, [a, a, a], b),
- modi: (a, b) => mod3([], a, b),
- modivn: (a, b) => modN3([], a, b),
- modinv: (a, b) => mod3(null, [a, a, a], b),
+ modi: (a, b) => fmod3([], a, b),
+ modivn: (a, b) => fmodN3([], a, b),
+ modinv: (a, b) => fmod3(null, [a, a, a], b),
mul: (a, b) => mulU3([], a, b),
mulvn: (a, b) => mulNU3([], a, b),
mulnv: (a, b) => mulNU3([], b, a),
diff --git a/packages/shader-ast-js/src/env/uvec4.ts b/packages/shader-ast-js/src/env/uvec4.ts
index 1d9f47ed1f..e17c550c7f 100644
--- a/packages/shader-ast-js/src/env/uvec4.ts
+++ b/packages/shader-ast-js/src/env/uvec4.ts
@@ -7,17 +7,17 @@ import {
bitXorU4,
divNU4,
divU4,
+ fmod4,
+ fmodN4,
lshiftU4,
- mod4,
- modN4,
mulNU4,
mulU4,
rshiftU4,
subNU4,
subU4,
} from "@thi.ng/vectors";
-import { VEC4 } from "./vec4";
import type { JSBuiltinsIntVec } from "../api";
+import { VEC4 } from "./vec4";
export const UVEC4: JSBuiltinsIntVec = {
...VEC4,
@@ -27,9 +27,9 @@ export const UVEC4: JSBuiltinsIntVec = {
div: (a, b) => divU4([], a, b),
divvn: (a, b) => divNU4([], a, b),
divnv: (a, b) => divU4(null, [a, a, a, a], b),
- modi: (a, b) => mod4([], a, b),
- modivn: (a, b) => modN4([], a, b),
- modinv: (a, b) => mod4(null, [a, a, a, a], b),
+ modi: (a, b) => fmod4([], a, b),
+ modivn: (a, b) => fmodN4([], a, b),
+ modinv: (a, b) => fmod4(null, [a, a, a, a], b),
mul: (a, b) => mulU4([], a, b),
mulvn: (a, b) => mulNU4([], a, b),
mulnv: (a, b) => mulNU4([], b, a),
diff --git a/packages/shader-ast-js/src/env/vec2.ts b/packages/shader-ast-js/src/env/vec2.ts
index 88830cfd95..4d49ef6cad 100644
--- a/packages/shader-ast-js/src/env/vec2.ts
+++ b/packages/shader-ast-js/src/env/vec2.ts
@@ -19,8 +19,6 @@ import {
exp_22,
faceForward,
floor2,
- fmod2,
- fmodN2,
fract2,
gt2,
gte2,
@@ -34,6 +32,8 @@ import {
min2,
mix2,
mixN2,
+ mod2,
+ modN2,
mul2,
mulN2,
neg,
@@ -91,8 +91,8 @@ export const VEC2: JSBuiltinsVec = {
min: (a, b) => min2([], a, b),
mix: (a, b, t) => mix2([], a, b, t),
mixn: (a, b, t) => mixN2([], a, b, t),
- mod: (a, b) => fmod2([], a, b),
- modn: (a, b) => fmodN2([], a, b),
+ mod: (a, b) => mod2([], a, b),
+ modn: (a, b) => modN2([], a, b),
mul: (a, b) => mul2([], a, b),
mulnv: (a, b) => mulN2([], b, a),
mulvn: (a, b) => mulN2([], a, b),
diff --git a/packages/shader-ast-js/src/env/vec3.ts b/packages/shader-ast-js/src/env/vec3.ts
index e80c781ab4..3245d3ee89 100644
--- a/packages/shader-ast-js/src/env/vec3.ts
+++ b/packages/shader-ast-js/src/env/vec3.ts
@@ -20,8 +20,6 @@ import {
exp_23,
faceForward,
floor3,
- fmod3,
- fmodN3,
fract3,
gt3,
gte3,
@@ -35,6 +33,8 @@ import {
min3,
mix3,
mixN3,
+ mod3,
+ modN3,
mul3,
mulN3,
neg,
@@ -93,8 +93,8 @@ export const VEC3: JSBuiltinsVec3 = {
min: (a, b) => min3([], a, b),
mix: (a, b, t) => mix3([], a, b, t),
mixn: (a, b, t) => mixN3([], a, b, t),
- mod: (a, b) => fmod3([], a, b),
- modn: (a, b) => fmodN3([], a, b),
+ mod: (a, b) => mod3([], a, b),
+ modn: (a, b) => modN3([], a, b),
mul: (a, b) => mul3([], a, b),
mulnv: (a, b) => mulN3([], b, a),
mulvn: (a, b) => mulN3([], a, b),
diff --git a/packages/shader-ast-js/src/env/vec4.ts b/packages/shader-ast-js/src/env/vec4.ts
index 3456814904..7955e81c25 100644
--- a/packages/shader-ast-js/src/env/vec4.ts
+++ b/packages/shader-ast-js/src/env/vec4.ts
@@ -19,8 +19,6 @@ import {
exp_24,
faceForward,
floor4,
- fmod4,
- fmodN4,
fract4,
gt4,
gte4,
@@ -34,6 +32,8 @@ import {
min4,
mix4,
mixN4,
+ mod4,
+ modN4,
mul4,
mulN4,
neg,
@@ -91,8 +91,8 @@ export const VEC4: JSBuiltinsVec = {
min: (a, b) => min4([], a, b),
mix: (a, b, t) => mix4([], a, b, t),
mixn: (a, b, t) => mixN4([], a, b, t),
- mod: (a, b) => fmod4([], a, b),
- modn: (a, b) => fmodN4([], a, b),
+ mod: (a, b) => mod4([], a, b),
+ modn: (a, b) => modN4([], a, b),
mul: (a, b) => mul4([], a, b),
mulnv: (a, b) => mulN4([], b, a),
mulvn: (a, b) => mulN4([], a, b),
diff --git a/packages/shader-ast-stdlib/CHANGELOG.md b/packages/shader-ast-stdlib/CHANGELOG.md
index 57119eae7f..519487eab8 100644
--- a/packages/shader-ast-stdlib/CHANGELOG.md
+++ b/packages/shader-ast-stdlib/CHANGELOG.md
@@ -3,7 +3,7 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
-## [0.5.24](https://github.com/thi-ng/umbrella/compare/@thi.ng/shader-ast-stdlib@0.5.23...@thi.ng/shader-ast-stdlib@0.5.24) (2021-04-03)
+## [0.6.1](https://github.com/thi-ng/umbrella/compare/@thi.ng/shader-ast-stdlib@0.6.0...@thi.ng/shader-ast-stdlib@0.6.1) (2021-06-08)
**Note:** Version bump only for package @thi.ng/shader-ast-stdlib
@@ -11,41 +11,12 @@ See [Conventional Commits](https://conventionalcommits.org) for commit guideline
-## [0.5.23](https://github.com/thi-ng/umbrella/compare/@thi.ng/shader-ast-stdlib@0.5.22...@thi.ng/shader-ast-stdlib@0.5.23) (2021-03-30)
-
-**Note:** Version bump only for package @thi.ng/shader-ast-stdlib
-
-
-
-
-
-## [0.5.22](https://github.com/thi-ng/umbrella/compare/@thi.ng/shader-ast-stdlib@0.5.21...@thi.ng/shader-ast-stdlib@0.5.22) (2021-03-28)
-
-**Note:** Version bump only for package @thi.ng/shader-ast-stdlib
-
-
-
-
-
-## [0.5.21](https://github.com/thi-ng/umbrella/compare/@thi.ng/shader-ast-stdlib@0.5.20...@thi.ng/shader-ast-stdlib@0.5.21) (2021-03-27)
-
-**Note:** Version bump only for package @thi.ng/shader-ast-stdlib
-
-
-
-
-
-## [0.5.20](https://github.com/thi-ng/umbrella/compare/@thi.ng/shader-ast-stdlib@0.5.19...@thi.ng/shader-ast-stdlib@0.5.20) (2021-03-17)
-
-**Note:** Version bump only for package @thi.ng/shader-ast-stdlib
-
-
+# [0.6.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/shader-ast-stdlib@0.5.26...@thi.ng/shader-ast-stdlib@0.6.0) (2021-04-24)
+### Features
-## [0.5.19](https://github.com/thi-ng/umbrella/compare/@thi.ng/shader-ast-stdlib@0.5.18...@thi.ng/shader-ast-stdlib@0.5.19) (2021-03-12)
-
-**Note:** Version bump only for package @thi.ng/shader-ast-stdlib
+* **shader-ast-stdlib:** add decodeRGBE() ([f98c6a2](https://github.com/thi-ng/umbrella/commit/f98c6a26a072f63a2b14def005e81985379f0bff))
diff --git a/packages/shader-ast-stdlib/README.md b/packages/shader-ast-stdlib/README.md
index 48489d5ba4..8598e1ba72 100644
--- a/packages/shader-ast-stdlib/README.md
+++ b/packages/shader-ast-stdlib/README.md
@@ -90,7 +90,7 @@ yarn add @thi.ng/shader-ast-stdlib
```
-Package sizes (gzipped, pre-treeshake): ESM: 6.15 KB / CJS: 6.97 KB / UMD: 6.38 KB
+Package sizes (gzipped, pre-treeshake): ESM: 6.20 KB / CJS: 7.04 KB / UMD: 6.45 KB
## Dependencies
@@ -318,6 +318,7 @@ TODO. For now, please see doc strings in source for details...
- `toLinear`
- `toSRGB`
- `luminanceRGB`
+- `decodeRGBE`
### Porter-Duff alpha blending
diff --git a/packages/shader-ast-stdlib/package.json b/packages/shader-ast-stdlib/package.json
index f39be95242..7fb95b8e2f 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.5.24",
+ "version": "0.6.1",
"description": "Function collection for modular GPGPU / shader programming with @thi.ng/shader-ast",
"module": "./index.js",
"main": "./lib/index.js",
@@ -42,15 +42,15 @@
"@microsoft/api-extractor": "^7.13.1",
"@types/mocha": "^8.2.0",
"@types/node": "^14.14.14",
- "mocha": "^8.3.0",
+ "mocha": "^9.0.0",
"nyc": "^15.1.0",
- "ts-node": "^9.1.1",
+ "ts-node": "^10.0.0",
"typedoc": "^0.20.30",
- "typescript": "^4.2.3"
+ "typescript": "4.2.4"
},
"dependencies": {
- "@thi.ng/api": "^7.1.4",
- "@thi.ng/shader-ast": "^0.8.10"
+ "@thi.ng/api": "^7.1.5",
+ "@thi.ng/shader-ast": "^0.8.14"
},
"files": [
"*.js",
diff --git a/packages/shader-ast-stdlib/src/color/rgbe.ts b/packages/shader-ast-stdlib/src/color/rgbe.ts
new file mode 100644
index 0000000000..b705d8c584
--- /dev/null
+++ b/packages/shader-ast-stdlib/src/color/rgbe.ts
@@ -0,0 +1,37 @@
+import {
+ $w,
+ $xyz,
+ defn,
+ exp2,
+ float,
+ gt,
+ INT0,
+ mul,
+ ret,
+ sub,
+ ternary,
+ vec3,
+} from "@thi.ng/shader-ast";
+
+/**
+ * RGBE (Radiance HDR) to linear float RGB conversion. The input vec is supposed
+ * to contain unsigned byte values, with the last component being the exponent.
+ *
+ * @remarks
+ * Reference: https://en.wikipedia.org/wiki/RGBE_image_format
+ *
+ * Code based on:
+ * https://github.com/box/hdrCompressor/blob/master/src/rgbe/rgbe.c
+ *
+ */
+export const decodeRGBE = defn("vec3", "decodeRGBE", ["ivec4"], (col) => {
+ return [
+ ret(
+ ternary(
+ gt($w(col), INT0),
+ mul(vec3($xyz(col)), exp2(float(sub($w(col), 136)))),
+ vec3()
+ )
+ ),
+ ];
+});
diff --git a/packages/shader-ast-stdlib/src/index.ts b/packages/shader-ast-stdlib/src/index.ts
index 780c000a09..50033ea896 100644
--- a/packages/shader-ast-stdlib/src/index.ts
+++ b/packages/shader-ast-stdlib/src/index.ts
@@ -4,6 +4,7 @@ export * from "./color/aces-film";
export * from "./color/linear-srgb";
export * from "./color/luminance";
export * from "./color/porter-duff";
+export * from "./color/rgbe";
export * from "./fog/exp";
export * from "./fog/exp2";
diff --git a/packages/shader-ast-stdlib/tpl.readme.md b/packages/shader-ast-stdlib/tpl.readme.md
index 99454204ce..76df158c22 100644
--- a/packages/shader-ast-stdlib/tpl.readme.md
+++ b/packages/shader-ast-stdlib/tpl.readme.md
@@ -258,6 +258,7 @@ TODO. For now, please see doc strings in source for details...
- `toLinear`
- `toSRGB`
- `luminanceRGB`
+- `decodeRGBE`
### Porter-Duff alpha blending
diff --git a/packages/shader-ast/CHANGELOG.md b/packages/shader-ast/CHANGELOG.md
index 51942248f2..ba31f37c4f 100644
--- a/packages/shader-ast/CHANGELOG.md
+++ b/packages/shader-ast/CHANGELOG.md
@@ -3,49 +3,23 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
-## [0.8.10](https://github.com/thi-ng/umbrella/compare/@thi.ng/shader-ast@0.8.9...@thi.ng/shader-ast@0.8.10) (2021-04-03)
-
-**Note:** Version bump only for package @thi.ng/shader-ast
-
-
-
-
-
-## [0.8.9](https://github.com/thi-ng/umbrella/compare/@thi.ng/shader-ast@0.8.8...@thi.ng/shader-ast@0.8.9) (2021-03-30)
-
-**Note:** Version bump only for package @thi.ng/shader-ast
-
-
-
-
-
-## [0.8.8](https://github.com/thi-ng/umbrella/compare/@thi.ng/shader-ast@0.8.7...@thi.ng/shader-ast@0.8.8) (2021-03-28)
-
-**Note:** Version bump only for package @thi.ng/shader-ast
-
-
-
-
-
-## [0.8.7](https://github.com/thi-ng/umbrella/compare/@thi.ng/shader-ast@0.8.6...@thi.ng/shader-ast@0.8.7) (2021-03-27)
-
-**Note:** Version bump only for package @thi.ng/shader-ast
-
+## [0.8.14](https://github.com/thi-ng/umbrella/compare/@thi.ng/shader-ast@0.8.13...@thi.ng/shader-ast@0.8.14) (2021-06-08)
+### Bug Fixes
+* **shader-ast:** add missing vector coercions ([a84e053](https://github.com/thi-ng/umbrella/commit/a84e053191d41993137c15e23794c249150ef90c))
-## [0.8.6](https://github.com/thi-ng/umbrella/compare/@thi.ng/shader-ast@0.8.5...@thi.ng/shader-ast@0.8.6) (2021-03-17)
-**Note:** Version bump only for package @thi.ng/shader-ast
+## [0.8.13](https://github.com/thi-ng/umbrella/compare/@thi.ng/shader-ast@0.8.12...@thi.ng/shader-ast@0.8.13) (2021-04-24)
-## [0.8.5](https://github.com/thi-ng/umbrella/compare/@thi.ng/shader-ast@0.8.4...@thi.ng/shader-ast@0.8.5) (2021-03-12)
+### Bug Fixes
-**Note:** Version bump only for package @thi.ng/shader-ast
+* **shader-ast:** fix/extend vec coercions info ([6679b52](https://github.com/thi-ng/umbrella/commit/6679b52750fce95a3083e4a724bf7cf609c5afc8))
diff --git a/packages/shader-ast/README.md b/packages/shader-ast/README.md
index 9b1d1c263f..42d1810760 100644
--- a/packages/shader-ast/README.md
+++ b/packages/shader-ast/README.md
@@ -186,7 +186,7 @@ yarn add @thi.ng/shader-ast
```
-Package sizes (gzipped, pre-treeshake): ESM: 4.82 KB / CJS: 5.37 KB / UMD: 4.78 KB
+Package sizes (gzipped, pre-treeshake): ESM: 4.84 KB / CJS: 5.39 KB / UMD: 4.80 KB
## Dependencies
diff --git a/packages/shader-ast/package.json b/packages/shader-ast/package.json
index 8b31cc9971..251884d217 100644
--- a/packages/shader-ast/package.json
+++ b/packages/shader-ast/package.json
@@ -1,6 +1,6 @@
{
"name": "@thi.ng/shader-ast",
- "version": "0.8.10",
+ "version": "0.8.14",
"description": "DSL to define shader code in TypeScript and cross-compile to GLSL, JS and other targets",
"module": "./index.js",
"main": "./lib/index.js",
@@ -42,18 +42,18 @@
"@microsoft/api-extractor": "^7.13.1",
"@types/mocha": "^8.2.0",
"@types/node": "^14.14.14",
- "mocha": "^8.3.0",
+ "mocha": "^9.0.0",
"nyc": "^15.1.0",
- "ts-node": "^9.1.1",
+ "ts-node": "^10.0.0",
"typedoc": "^0.20.30",
- "typescript": "^4.2.3"
+ "typescript": "4.2.4"
},
"dependencies": {
- "@thi.ng/api": "^7.1.4",
- "@thi.ng/checks": "^2.9.6",
- "@thi.ng/defmulti": "^1.3.11",
- "@thi.ng/dgraph": "^1.3.20",
- "@thi.ng/errors": "^1.3.0"
+ "@thi.ng/api": "^7.1.5",
+ "@thi.ng/checks": "^2.9.7",
+ "@thi.ng/defmulti": "^1.3.12",
+ "@thi.ng/dgraph": "^1.3.24",
+ "@thi.ng/errors": "^1.3.1"
},
"files": [
"*.js",
diff --git a/packages/shader-ast/src/ast/lit.ts b/packages/shader-ast/src/ast/lit.ts
index 5380090f06..d197efc209 100644
--- a/packages/shader-ast/src/ast/lit.ts
+++ b/packages/shader-ast/src/ast/lit.ts
@@ -115,8 +115,10 @@ const $uvec = $gvec(wrapUint, UINT0);
const $bvec = $gvec(wrapBool, FALSE);
+const $vinfo = (v: Type, info = "") => v[0] + info.substr(1);
+
const $info = (xs: any[], info: (string | undefined)[]) =>
- isVec(xs[0]) ? xs[0].type[0] : info[xs.length];
+ isVec(xs[0]) ? $vinfo(xs[0].type, info[xs.length]) : info[xs.length];
const $gvec2 = (
type: T,
@@ -128,7 +130,7 @@ const $gvec3 = (
type: T,
ctor: Fn | undefined)[]>,
xs: any[]
-) => lit(type, (xs = ctor(xs)), xs.length === 2 ? "vn" : $info(xs, ["n", "n"]));
+) => lit(type, (xs = ctor(xs)), $info(xs, ["n", "n", "vn"]));
const $gvec4 = (
type: T,
@@ -140,7 +142,7 @@ const $gvec4 = (
(xs = ctor(xs)),
xs.length === 2
? isVec(xs[1])
- ? "vv"
+ ? xs[0].type[0] + xs[1].type[0]
: "vn"
: $info(xs, ["n", "n", , "vnn"])
);
@@ -188,7 +190,8 @@ export function vec4(...xs: any[]): Lit<"vec4"> {
}
export function ivec2(): Lit<"ivec2">;
-export function ivec2(x: NumericB): Lit<"ivec2">;
+// prettier-ignore
+export function ivec2(x: NumericB | Vec2Term | UVec2Term | BVec2Term): Lit<"ivec2">;
// prettier-ignore
export function ivec2(x: NumericB, y: NumericB): Lit<"ivec2">;
// prettier-ignore
@@ -197,7 +200,8 @@ export function ivec2(...xs: any[]): Lit<"ivec2"> {
}
export function ivec3(): Lit<"ivec3">;
-export function ivec3(x: NumericB): Lit<"ivec3">;
+// prettier-ignore
+export function ivec3(x: NumericB | Vec3Term | UVec3Term | BVec3Term): Lit<"ivec3">;
export function ivec3(xy: Vec2Term | BVec2Term, z: NumericB): Lit<"ivec3">;
// prettier-ignore
export function ivec3(x: NumericB, y: NumericB, z: NumericB): Lit<"ivec3">;
@@ -206,7 +210,8 @@ export function ivec3(...xs: any[]): Lit<"ivec3"> {
}
export function ivec4(): Lit<"ivec4">;
-export function ivec4(x: NumericB): Lit<"ivec4">;
+// prettier-ignore
+export function ivec4(x: NumericB | Vec4Term | UVec4Term | BVec4Term): Lit<"ivec4">;
export function ivec4(x: Vec3Term | BVec3Term, y: NumericB): Lit<"ivec4">;
// prettier-ignore
export function ivec4(x: Vec2Term | BVec2Term, y: Vec2Term | BVec2Term): Lit<"ivec4">;
@@ -219,7 +224,8 @@ export function ivec4(...xs: any[]): Lit<"ivec4"> {
}
export function uvec2(): Lit<"uvec2">;
-export function uvec2(x: NumericB): Lit<"uvec2">;
+// prettier-ignore
+export function uvec2(x: NumericB | Vec2Term | IVec2Term | BVec2Term): Lit<"uvec2">;
// prettier-ignore
export function uvec2(x: NumericB, y: NumericB): Lit<"uvec2">;
// prettier-ignore
@@ -228,7 +234,8 @@ export function uvec2(...xs: any[]): Lit<"uvec2"> {
}
export function uvec3(): Lit<"uvec3">;
-export function uvec3(x: NumericB): Lit<"uvec3">;
+// prettier-ignore
+export function uvec3(x: NumericB | Vec3Term | IVec3Term | BVec3Term): Lit<"uvec3">;
// prettier-ignore
export function uvec3(xy: Vec2Term | BVec2Term, z: NumericB): Lit<"uvec3">;
// prettier-ignore
@@ -238,7 +245,8 @@ export function uvec3(...xs: any[]): Lit<"uvec3"> {
}
export function uvec4(): Lit<"uvec4">;
-export function uvec4(x: NumericB): Lit<"uvec4">;
+// prettier-ignore
+export function uvec4(x: NumericB | Vec4Term | IVec4Term | BVec4Term): Lit<"uvec4">;
// prettier-ignore
export function uvec4(xyz: Vec3Term | BVec3Term, w: NumericB): Lit<"uvec4">;
// prettier-ignore
@@ -252,7 +260,8 @@ export function uvec4(...xs: any[]): Lit<"uvec4"> {
}
export function bvec2(): Lit<"bvec2">;
-export function bvec2(x: NumericB): Lit<"bvec2">;
+// prettier-ignore
+export function bvec2(x: NumericB | Vec2Term | IVec2Term | UVec2Term): Lit<"bvec2">;
// prettier-ignore
export function bvec2(x: NumericB, y: NumericB): Lit<"bvec2">;
// prettier-ignore
@@ -261,7 +270,8 @@ export function bvec2(...xs: any[]): Lit<"bvec2"> {
}
export function bvec3(): Lit<"bvec3">;
-export function bvec3(x: NumericB): Lit<"bvec3">;
+// prettier-ignore
+export function bvec3(x: NumericB | Vec3Term | IVec3Term | UVec3Term): Lit<"bvec3">;
// prettier-ignore
export function bvec3(xy: Vec2Term | IVec2Term | UVec2Term | BVec2Term, z: NumericB): Lit<"bvec3">;
// prettier-ignore
@@ -271,7 +281,8 @@ export function bvec3(...xs: any[]): Lit<"bvec3"> {
}
export function bvec4(): Lit<"bvec4">;
-export function bvec4(x: NumericB): Lit<"bvec4">;
+// prettier-ignore
+export function bvec4(x: NumericB | Vec4Term | IVec4Term | UVec4Term): Lit<"bvec4">;
// prettier-ignore
export function bvec4(xyz: Vec3Term | IVec3Term | UVec3Term | BVec3Term, w: NumericB): Lit<"bvec4">;
// prettier-ignore
diff --git a/packages/simd/CHANGELOG.md b/packages/simd/CHANGELOG.md
index a512156b37..c87f83dcc2 100644
--- a/packages/simd/CHANGELOG.md
+++ b/packages/simd/CHANGELOG.md
@@ -3,39 +3,7 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
-## [0.4.27](https://github.com/thi-ng/umbrella/compare/@thi.ng/simd@0.4.26...@thi.ng/simd@0.4.27) (2021-04-03)
-
-**Note:** Version bump only for package @thi.ng/simd
-
-
-
-
-
-## [0.4.26](https://github.com/thi-ng/umbrella/compare/@thi.ng/simd@0.4.25...@thi.ng/simd@0.4.26) (2021-03-28)
-
-**Note:** Version bump only for package @thi.ng/simd
-
-
-
-
-
-## [0.4.25](https://github.com/thi-ng/umbrella/compare/@thi.ng/simd@0.4.24...@thi.ng/simd@0.4.25) (2021-03-27)
-
-**Note:** Version bump only for package @thi.ng/simd
-
-
-
-
-
-## [0.4.24](https://github.com/thi-ng/umbrella/compare/@thi.ng/simd@0.4.23...@thi.ng/simd@0.4.24) (2021-03-17)
-
-**Note:** Version bump only for package @thi.ng/simd
-
-
-
-
-
-## [0.4.23](https://github.com/thi-ng/umbrella/compare/@thi.ng/simd@0.4.22...@thi.ng/simd@0.4.23) (2021-03-12)
+## [0.4.31](https://github.com/thi-ng/umbrella/compare/@thi.ng/simd@0.4.30...@thi.ng/simd@0.4.31) (2021-06-08)
**Note:** Version bump only for package @thi.ng/simd
diff --git a/packages/simd/package.json b/packages/simd/package.json
index d7c783d18a..81d2aedb35 100644
--- a/packages/simd/package.json
+++ b/packages/simd/package.json
@@ -1,6 +1,6 @@
{
"name": "@thi.ng/simd",
- "version": "0.4.27",
+ "version": "0.4.31",
"description": "WASM based SIMD vector operations for batch processing",
"module": "./index.js",
"main": "./lib/index.js",
@@ -45,14 +45,14 @@
"@types/mocha": "^8.2.0",
"@types/node": "^14.14.14",
"assemblyscript": "0.17.14",
- "mocha": "^8.3.0",
+ "mocha": "^9.0.0",
"nyc": "^15.1.0",
- "ts-node": "^9.1.1",
+ "ts-node": "^10.0.0",
"typedoc": "^0.20.30",
- "typescript": "^4.2.3"
+ "typescript": "4.2.4"
},
"dependencies": {
- "@thi.ng/transducers-binary": "^0.6.16"
+ "@thi.ng/transducers-binary": "^0.6.20"
},
"files": [
"*.js",
diff --git a/packages/soa/CHANGELOG.md b/packages/soa/CHANGELOG.md
index 5026c63a38..b1c741d6da 100644
--- a/packages/soa/CHANGELOG.md
+++ b/packages/soa/CHANGELOG.md
@@ -3,47 +3,7 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
-## [0.2.11](https://github.com/thi-ng/umbrella/compare/@thi.ng/soa@0.2.10...@thi.ng/soa@0.2.11) (2021-04-03)
-
-**Note:** Version bump only for package @thi.ng/soa
-
-
-
-
-
-## [0.2.10](https://github.com/thi-ng/umbrella/compare/@thi.ng/soa@0.2.9...@thi.ng/soa@0.2.10) (2021-03-30)
-
-**Note:** Version bump only for package @thi.ng/soa
-
-
-
-
-
-## [0.2.9](https://github.com/thi-ng/umbrella/compare/@thi.ng/soa@0.2.8...@thi.ng/soa@0.2.9) (2021-03-28)
-
-**Note:** Version bump only for package @thi.ng/soa
-
-
-
-
-
-## [0.2.8](https://github.com/thi-ng/umbrella/compare/@thi.ng/soa@0.2.7...@thi.ng/soa@0.2.8) (2021-03-27)
-
-**Note:** Version bump only for package @thi.ng/soa
-
-
-
-
-
-## [0.2.7](https://github.com/thi-ng/umbrella/compare/@thi.ng/soa@0.2.6...@thi.ng/soa@0.2.7) (2021-03-17)
-
-**Note:** Version bump only for package @thi.ng/soa
-
-
-
-
-
-## [0.2.6](https://github.com/thi-ng/umbrella/compare/@thi.ng/soa@0.2.5...@thi.ng/soa@0.2.6) (2021-03-12)
+## [0.2.15](https://github.com/thi-ng/umbrella/compare/@thi.ng/soa@0.2.14...@thi.ng/soa@0.2.15) (2021-06-08)
**Note:** Version bump only for package @thi.ng/soa
diff --git a/packages/soa/package.json b/packages/soa/package.json
index fad268fe40..20dc5d723c 100644
--- a/packages/soa/package.json
+++ b/packages/soa/package.json
@@ -1,6 +1,6 @@
{
"name": "@thi.ng/soa",
- "version": "0.2.11",
+ "version": "0.2.15",
"description": "SOA & AOS memory mapped structured views with optional & extensible serialization",
"module": "./index.js",
"main": "./lib/index.js",
@@ -40,21 +40,21 @@
"devDependencies": {
"@istanbuljs/nyc-config-typescript": "^1.0.1",
"@microsoft/api-extractor": "^7.13.1",
- "@thi.ng/equiv": "^1.0.41",
+ "@thi.ng/equiv": "^1.0.42",
"@types/mocha": "^8.2.0",
"@types/node": "^14.14.14",
- "mocha": "^8.3.0",
+ "mocha": "^9.0.0",
"nyc": "^15.1.0",
- "ts-node": "^9.1.1",
+ "ts-node": "^10.0.0",
"typedoc": "^0.20.30",
- "typescript": "^4.2.3"
+ "typescript": "4.2.4"
},
"dependencies": {
- "@thi.ng/api": "^7.1.4",
- "@thi.ng/binary": "^2.2.4",
- "@thi.ng/errors": "^1.3.0",
- "@thi.ng/transducers-binary": "^0.6.16",
- "@thi.ng/vectors": "^5.2.1"
+ "@thi.ng/api": "^7.1.5",
+ "@thi.ng/binary": "^2.2.5",
+ "@thi.ng/errors": "^1.3.1",
+ "@thi.ng/transducers-binary": "^0.6.20",
+ "@thi.ng/vectors": "^6.0.1"
},
"files": [
"*.js",
diff --git a/packages/sparse/CHANGELOG.md b/packages/sparse/CHANGELOG.md
index 11df4e77a0..b6ea1948ee 100644
--- a/packages/sparse/CHANGELOG.md
+++ b/packages/sparse/CHANGELOG.md
@@ -3,39 +3,7 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
-## [0.1.75](https://github.com/thi-ng/umbrella/compare/@thi.ng/sparse@0.1.74...@thi.ng/sparse@0.1.75) (2021-04-03)
-
-**Note:** Version bump only for package @thi.ng/sparse
-
-
-
-
-
-## [0.1.74](https://github.com/thi-ng/umbrella/compare/@thi.ng/sparse@0.1.73...@thi.ng/sparse@0.1.74) (2021-03-28)
-
-**Note:** Version bump only for package @thi.ng/sparse
-
-
-
-
-
-## [0.1.73](https://github.com/thi-ng/umbrella/compare/@thi.ng/sparse@0.1.72...@thi.ng/sparse@0.1.73) (2021-03-27)
-
-**Note:** Version bump only for package @thi.ng/sparse
-
-
-
-
-
-## [0.1.72](https://github.com/thi-ng/umbrella/compare/@thi.ng/sparse@0.1.71...@thi.ng/sparse@0.1.72) (2021-03-17)
-
-**Note:** Version bump only for package @thi.ng/sparse
-
-
-
-
-
-## [0.1.71](https://github.com/thi-ng/umbrella/compare/@thi.ng/sparse@0.1.70...@thi.ng/sparse@0.1.71) (2021-03-12)
+## [0.1.79](https://github.com/thi-ng/umbrella/compare/@thi.ng/sparse@0.1.78...@thi.ng/sparse@0.1.79) (2021-06-08)
**Note:** Version bump only for package @thi.ng/sparse
diff --git a/packages/sparse/package.json b/packages/sparse/package.json
index fc29acfef5..f81c97c570 100644
--- a/packages/sparse/package.json
+++ b/packages/sparse/package.json
@@ -1,6 +1,6 @@
{
"name": "@thi.ng/sparse",
- "version": "0.1.75",
+ "version": "0.1.79",
"description": "Sparse vector & matrix implementations",
"module": "./index.js",
"main": "./lib/index.js",
@@ -42,16 +42,16 @@
"@microsoft/api-extractor": "^7.13.1",
"@types/mocha": "^8.2.0",
"@types/node": "^14.14.14",
- "mocha": "^8.3.0",
+ "mocha": "^9.0.0",
"nyc": "^15.1.0",
- "ts-node": "^9.1.1",
+ "ts-node": "^10.0.0",
"typedoc": "^0.20.30",
- "typescript": "^4.2.3"
+ "typescript": "4.2.4"
},
"dependencies": {
- "@thi.ng/api": "^7.1.4",
- "@thi.ng/errors": "^1.3.0",
- "@thi.ng/transducers": "^7.6.10"
+ "@thi.ng/api": "^7.1.5",
+ "@thi.ng/errors": "^1.3.1",
+ "@thi.ng/transducers": "^7.7.3"
},
"files": [
"*.js",
diff --git a/packages/strings/CHANGELOG.md b/packages/strings/CHANGELOG.md
index 4165fc78d8..2ff9ab6871 100644
--- a/packages/strings/CHANGELOG.md
+++ b/packages/strings/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.1](https://github.com/thi-ng/umbrella/compare/@thi.ng/strings@2.1.0...@thi.ng/strings@2.1.1) (2021-06-08)
+
+**Note:** Version bump only for package @thi.ng/strings
+
+
+
+
+
# [2.1.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/strings@2.0.0...@thi.ng/strings@2.1.0) (2021-03-24)
@@ -37,22 +45,6 @@ See [Conventional Commits](https://conventionalcommits.org) for commit guideline
-## [1.15.6](https://github.com/thi-ng/umbrella/compare/@thi.ng/strings@1.15.5...@thi.ng/strings@1.15.6) (2021-03-17)
-
-**Note:** Version bump only for package @thi.ng/strings
-
-
-
-
-
-## [1.15.5](https://github.com/thi-ng/umbrella/compare/@thi.ng/strings@1.15.4...@thi.ng/strings@1.15.5) (2021-03-12)
-
-**Note:** Version bump only for package @thi.ng/strings
-
-
-
-
-
# [1.15.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/strings@1.14.0...@thi.ng/strings@1.15.0) (2021-02-20)
diff --git a/packages/strings/package.json b/packages/strings/package.json
index 77bfdb9401..b1ecaa2374 100644
--- a/packages/strings/package.json
+++ b/packages/strings/package.json
@@ -1,6 +1,6 @@
{
"name": "@thi.ng/strings",
- "version": "2.1.0",
+ "version": "2.1.1",
"description": "Various string formatting & utility functions",
"module": "./index.js",
"main": "./lib/index.js",
@@ -42,17 +42,17 @@
"@microsoft/api-extractor": "^7.13.1",
"@types/mocha": "^8.2.0",
"@types/node": "^14.14.14",
- "mocha": "^8.3.0",
+ "mocha": "^9.0.0",
"nyc": "^15.1.0",
- "ts-node": "^9.1.1",
+ "ts-node": "^10.0.0",
"typedoc": "^0.20.30",
- "typescript": "^4.2.3"
+ "typescript": "4.2.4"
},
"dependencies": {
- "@thi.ng/api": "^7.1.4",
- "@thi.ng/errors": "^1.3.0",
- "@thi.ng/hex": "^0.2.5",
- "@thi.ng/memoize": "^2.1.14"
+ "@thi.ng/api": "^7.1.5",
+ "@thi.ng/errors": "^1.3.1",
+ "@thi.ng/hex": "^0.2.6",
+ "@thi.ng/memoize": "^2.1.15"
},
"files": [
"*.js",
diff --git a/packages/system/CHANGELOG.md b/packages/system/CHANGELOG.md
index c8aa3c0a25..317c0ccf41 100644
--- a/packages/system/CHANGELOG.md
+++ b/packages/system/CHANGELOG.md
@@ -3,7 +3,7 @@
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/system@0.3.0...@thi.ng/system@0.3.1) (2021-04-03)
+## [0.3.5](https://github.com/thi-ng/umbrella/compare/@thi.ng/system@0.3.4...@thi.ng/system@0.3.5) (2021-06-08)
**Note:** Version bump only for package @thi.ng/system
@@ -22,46 +22,6 @@ See [Conventional Commits](https://conventionalcommits.org) for commit guideline
-## [0.2.48](https://github.com/thi-ng/umbrella/compare/@thi.ng/system@0.2.47...@thi.ng/system@0.2.48) (2021-03-30)
-
-**Note:** Version bump only for package @thi.ng/system
-
-
-
-
-
-## [0.2.47](https://github.com/thi-ng/umbrella/compare/@thi.ng/system@0.2.46...@thi.ng/system@0.2.47) (2021-03-28)
-
-**Note:** Version bump only for package @thi.ng/system
-
-
-
-
-
-## [0.2.46](https://github.com/thi-ng/umbrella/compare/@thi.ng/system@0.2.45...@thi.ng/system@0.2.46) (2021-03-27)
-
-**Note:** Version bump only for package @thi.ng/system
-
-
-
-
-
-## [0.2.45](https://github.com/thi-ng/umbrella/compare/@thi.ng/system@0.2.44...@thi.ng/system@0.2.45) (2021-03-17)
-
-**Note:** Version bump only for package @thi.ng/system
-
-
-
-
-
-## [0.2.44](https://github.com/thi-ng/umbrella/compare/@thi.ng/system@0.2.43...@thi.ng/system@0.2.44) (2021-03-12)
-
-**Note:** Version bump only for package @thi.ng/system
-
-
-
-
-
## [0.2.26](https://github.com/thi-ng/umbrella/compare/@thi.ng/system@0.2.25...@thi.ng/system@0.2.26) (2020-09-13)
diff --git a/packages/system/README.md b/packages/system/README.md
index b71fe664d9..514db596e9 100644
--- a/packages/system/README.md
+++ b/packages/system/README.md
@@ -23,7 +23,7 @@ This project is part of the
## About
-Minimal DI / life cycle container for stateful app components.
+Minimal and explicit dependency-injection & lifecycle container for stateful app components.
Inspired by Stuart Sierra's
[component](https://github.com/stuartsierra/component) framework for
@@ -77,17 +77,20 @@ interface FooSys {
}
// Step 2: Provide component implementations
-// Components can be classes or any object implementing the
+// Components can be classes or any object implementing the (fully optional)
// `ILifecycle` interface...
class Logger implements ILifecycle {
+
info(msg: string) {
console.log(`[info] ${msg}`);
}
+
async start() {
this.info("start logger");
return true;
}
+
async stop() {
this.info("stop logger");
return true;
@@ -97,12 +100,14 @@ class Logger implements ILifecycle {
// DB requires a logger & cache
class DB implements ILifecycle {
+
constructor(protected logger: Logger, protected cache: Cache) {}
async start() {
this.logger.info("start db");
return true;
}
+
async stop() {
this.logger.info("stop db");
return true;
@@ -110,12 +115,14 @@ class DB implements ILifecycle {
}
class Cache implements ILifecycle {
+
constructor(protected logger: Logger) {}
async start() {
this.logger.info("start cache");
return true;
}
+
async stop() {
this.logger.info("stop cache");
return true;
@@ -139,7 +146,6 @@ const FOO = defSystem({
factory: ({ logger }) => new Cache(logger),
deps: ["logger"],
},
-
dummy: {
factory: ({ logger }) => ({
async start() {
@@ -175,12 +181,16 @@ FOO.reset();
### System visualization
-In order for a `System` to initialize its components in the correct order, an internal [dependency graph](https://github.com/thi-ng/umbrella/tree/develop/packages/dgraph) is constructed. This graph not required any further after system construction, however can be useful for debugging and documentation purposes.
+For a `System` to initialize its components in the correct order, an internal
+[dependency
+graph](https://github.com/thi-ng/umbrella/tree/develop/packages/dgraph) is
+constructed. This graph is not required any further after system construction,
+though can be useful for debugging and documentation purposes.
For example, we can utilize the
[@thi.ng/dgraph-dot](https://github.com/thi-ng/umbrella/tree/develop/packages/dgraph-dot)
-package to create [Graphviz](https://graphviz.org) source file to
-visualize the dependencies between the system's components.
+package to generate a [Graphviz](https://graphviz.org) source file to visualize
+the dependencies between the system's components.
```ts
import { toDot } from "@thi.ng/dgraph-dot";
diff --git a/packages/system/package.json b/packages/system/package.json
index f026fd842d..0901c427c3 100644
--- a/packages/system/package.json
+++ b/packages/system/package.json
@@ -1,7 +1,7 @@
{
"name": "@thi.ng/system",
- "version": "0.3.1",
- "description": "Minimal DI / life cycle container for stateful app components",
+ "version": "0.3.5",
+ "description": "Minimal and explicit dependency-injection & lifecycle container for stateful app components",
"module": "./index.js",
"main": "./lib/index.js",
"umd:main": "./lib/index.umd.js",
@@ -42,15 +42,15 @@
"@microsoft/api-extractor": "^7.13.1",
"@types/mocha": "^8.2.0",
"@types/node": "^14.14.14",
- "mocha": "^8.3.0",
+ "mocha": "^9.0.0",
"nyc": "^15.1.0",
- "ts-node": "^9.1.1",
+ "ts-node": "^10.0.0",
"typedoc": "^0.20.30",
- "typescript": "^4.2.3"
+ "typescript": "4.2.4"
},
"dependencies": {
- "@thi.ng/api": "^7.1.4",
- "@thi.ng/dgraph": "^1.3.20"
+ "@thi.ng/api": "^7.1.5",
+ "@thi.ng/dgraph": "^1.3.24"
},
"files": [
"*.js",
@@ -64,6 +64,7 @@
"dependency",
"graph",
"injection",
+ "sort",
"topology",
"typescript"
],
diff --git a/packages/system/tpl.readme.md b/packages/system/tpl.readme.md
index 94888c550b..5d012cffd5 100644
--- a/packages/system/tpl.readme.md
+++ b/packages/system/tpl.readme.md
@@ -58,17 +58,20 @@ interface FooSys {
}
// Step 2: Provide component implementations
-// Components can be classes or any object implementing the
+// Components can be classes or any object implementing the (fully optional)
// `ILifecycle` interface...
class Logger implements ILifecycle {
+
info(msg: string) {
console.log(`[info] ${msg}`);
}
+
async start() {
this.info("start logger");
return true;
}
+
async stop() {
this.info("stop logger");
return true;
@@ -78,12 +81,14 @@ class Logger implements ILifecycle {
// DB requires a logger & cache
class DB implements ILifecycle {
+
constructor(protected logger: Logger, protected cache: Cache) {}
async start() {
this.logger.info("start db");
return true;
}
+
async stop() {
this.logger.info("stop db");
return true;
@@ -91,12 +96,14 @@ class DB implements ILifecycle {
}
class Cache implements ILifecycle {
+
constructor(protected logger: Logger) {}
async start() {
this.logger.info("start cache");
return true;
}
+
async stop() {
this.logger.info("stop cache");
return true;
@@ -120,7 +127,6 @@ const FOO = defSystem({
factory: ({ logger }) => new Cache(logger),
deps: ["logger"],
},
-
dummy: {
factory: ({ logger }) => ({
async start() {
@@ -156,12 +162,16 @@ FOO.reset();
### System visualization
-In order for a `System` to initialize its components in the correct order, an internal [dependency graph](https://github.com/thi-ng/umbrella/tree/develop/packages/dgraph) is constructed. This graph not required any further after system construction, however can be useful for debugging and documentation purposes.
+For a `System` to initialize its components in the correct order, an internal
+[dependency
+graph](https://github.com/thi-ng/umbrella/tree/develop/packages/dgraph) is
+constructed. This graph is not required any further after system construction,
+though can be useful for debugging and documentation purposes.
For example, we can utilize the
[@thi.ng/dgraph-dot](https://github.com/thi-ng/umbrella/tree/develop/packages/dgraph-dot)
-package to create [Graphviz](https://graphviz.org) source file to
-visualize the dependencies between the system's components.
+package to generate a [Graphviz](https://graphviz.org) source file to visualize
+the dependencies between the system's components.
```ts
import { toDot } from "@thi.ng/dgraph-dot";
diff --git a/packages/text-canvas/CHANGELOG.md b/packages/text-canvas/CHANGELOG.md
index 28ac128453..4f7f1d06d1 100644
--- a/packages/text-canvas/CHANGELOG.md
+++ b/packages/text-canvas/CHANGELOG.md
@@ -3,7 +3,7 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
-## [0.7.5](https://github.com/thi-ng/umbrella/compare/@thi.ng/text-canvas@0.7.4...@thi.ng/text-canvas@0.7.5) (2021-04-03)
+## [0.7.9](https://github.com/thi-ng/umbrella/compare/@thi.ng/text-canvas@0.7.8...@thi.ng/text-canvas@0.7.9) (2021-06-08)
**Note:** Version bump only for package @thi.ng/text-canvas
@@ -22,30 +22,6 @@ See [Conventional Commits](https://conventionalcommits.org) for commit guideline
-## [0.7.3](https://github.com/thi-ng/umbrella/compare/@thi.ng/text-canvas@0.7.2...@thi.ng/text-canvas@0.7.3) (2021-03-30)
-
-**Note:** Version bump only for package @thi.ng/text-canvas
-
-
-
-
-
-## [0.7.2](https://github.com/thi-ng/umbrella/compare/@thi.ng/text-canvas@0.7.1...@thi.ng/text-canvas@0.7.2) (2021-03-28)
-
-**Note:** Version bump only for package @thi.ng/text-canvas
-
-
-
-
-
-## [0.7.1](https://github.com/thi-ng/umbrella/compare/@thi.ng/text-canvas@0.7.0...@thi.ng/text-canvas@0.7.1) (2021-03-27)
-
-**Note:** Version bump only for package @thi.ng/text-canvas
-
-
-
-
-
# [0.7.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/text-canvas@0.6.0...@thi.ng/text-canvas@0.7.0) (2021-03-26)
@@ -74,14 +50,6 @@ See [Conventional Commits](https://conventionalcommits.org) for commit guideline
-## [0.5.1](https://github.com/thi-ng/umbrella/compare/@thi.ng/text-canvas@0.5.0...@thi.ng/text-canvas@0.5.1) (2021-03-24)
-
-**Note:** Version bump only for package @thi.ng/text-canvas
-
-
-
-
-
# [0.5.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/text-canvas@0.4.12...@thi.ng/text-canvas@0.5.0) (2021-03-24)
@@ -94,22 +62,6 @@ See [Conventional Commits](https://conventionalcommits.org) for commit guideline
-## [0.4.12](https://github.com/thi-ng/umbrella/compare/@thi.ng/text-canvas@0.4.11...@thi.ng/text-canvas@0.4.12) (2021-03-17)
-
-**Note:** Version bump only for package @thi.ng/text-canvas
-
-
-
-
-
-## [0.4.11](https://github.com/thi-ng/umbrella/compare/@thi.ng/text-canvas@0.4.10...@thi.ng/text-canvas@0.4.11) (2021-03-12)
-
-**Note:** Version bump only for package @thi.ng/text-canvas
-
-
-
-
-
## [0.4.1](https://github.com/thi-ng/umbrella/compare/@thi.ng/text-canvas@0.4.0...@thi.ng/text-canvas@0.4.1) (2021-01-10)
diff --git a/packages/text-canvas/package.json b/packages/text-canvas/package.json
index 04e3268cfe..35b0bc4cb5 100644
--- a/packages/text-canvas/package.json
+++ b/packages/text-canvas/package.json
@@ -1,6 +1,6 @@
{
"name": "@thi.ng/text-canvas",
- "version": "0.7.5",
+ "version": "0.7.9",
"description": "Text based canvas, drawing, tables with arbitrary formatting (incl. ANSI/HTML)",
"module": "./index.js",
"main": "./lib/index.js",
@@ -42,21 +42,21 @@
"@microsoft/api-extractor": "^7.13.1",
"@types/mocha": "^8.2.0",
"@types/node": "^14.14.14",
- "mocha": "^8.3.0",
+ "mocha": "^9.0.0",
"nyc": "^15.1.0",
- "ts-node": "^9.1.1",
+ "ts-node": "^10.0.0",
"typedoc": "^0.20.30",
- "typescript": "^4.2.3"
+ "typescript": "4.2.4"
},
"dependencies": {
- "@thi.ng/api": "^7.1.4",
- "@thi.ng/arrays": "^0.10.10",
- "@thi.ng/checks": "^2.9.6",
- "@thi.ng/geom-clip-line": "^1.2.31",
- "@thi.ng/math": "^3.4.0",
- "@thi.ng/memoize": "^2.1.14",
- "@thi.ng/strings": "^2.1.0",
- "@thi.ng/transducers": "^7.6.10"
+ "@thi.ng/api": "^7.1.5",
+ "@thi.ng/arrays": "^0.10.12",
+ "@thi.ng/checks": "^2.9.7",
+ "@thi.ng/geom-clip-line": "^1.2.35",
+ "@thi.ng/math": "^4.0.1",
+ "@thi.ng/memoize": "^2.1.15",
+ "@thi.ng/strings": "^2.1.1",
+ "@thi.ng/transducers": "^7.7.3"
},
"files": [
"*.js",
diff --git a/packages/transducers-binary/CHANGELOG.md b/packages/transducers-binary/CHANGELOG.md
index d1e657b54c..3513cb41d0 100644
--- a/packages/transducers-binary/CHANGELOG.md
+++ b/packages/transducers-binary/CHANGELOG.md
@@ -3,39 +3,7 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
-## [0.6.16](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers-binary@0.6.15...@thi.ng/transducers-binary@0.6.16) (2021-04-03)
-
-**Note:** Version bump only for package @thi.ng/transducers-binary
-
-
-
-
-
-## [0.6.15](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers-binary@0.6.14...@thi.ng/transducers-binary@0.6.15) (2021-03-28)
-
-**Note:** Version bump only for package @thi.ng/transducers-binary
-
-
-
-
-
-## [0.6.14](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers-binary@0.6.13...@thi.ng/transducers-binary@0.6.14) (2021-03-27)
-
-**Note:** Version bump only for package @thi.ng/transducers-binary
-
-
-
-
-
-## [0.6.13](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers-binary@0.6.12...@thi.ng/transducers-binary@0.6.13) (2021-03-17)
-
-**Note:** Version bump only for package @thi.ng/transducers-binary
-
-
-
-
-
-## [0.6.12](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers-binary@0.6.11...@thi.ng/transducers-binary@0.6.12) (2021-03-12)
+## [0.6.20](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers-binary@0.6.19...@thi.ng/transducers-binary@0.6.20) (2021-06-08)
**Note:** Version bump only for package @thi.ng/transducers-binary
diff --git a/packages/transducers-binary/package.json b/packages/transducers-binary/package.json
index 32cf9e79c6..54f04d0c0e 100644
--- a/packages/transducers-binary/package.json
+++ b/packages/transducers-binary/package.json
@@ -1,6 +1,6 @@
{
"name": "@thi.ng/transducers-binary",
- "version": "0.6.16",
+ "version": "0.6.20",
"description": "Binary data related transducers & reducers",
"module": "./index.js",
"main": "./lib/index.js",
@@ -42,19 +42,19 @@
"@microsoft/api-extractor": "^7.13.1",
"@types/mocha": "^8.2.0",
"@types/node": "^14.14.14",
- "mocha": "^8.3.0",
+ "mocha": "^9.0.0",
"nyc": "^15.1.0",
- "ts-node": "^9.1.1",
+ "ts-node": "^10.0.0",
"typedoc": "^0.20.30",
- "typescript": "^4.2.3"
+ "typescript": "4.2.4"
},
"dependencies": {
- "@thi.ng/binary": "^2.2.4",
- "@thi.ng/compose": "^1.4.30",
- "@thi.ng/errors": "^1.3.0",
- "@thi.ng/hex": "^0.2.5",
- "@thi.ng/random": "^2.3.7",
- "@thi.ng/transducers": "^7.6.10"
+ "@thi.ng/binary": "^2.2.5",
+ "@thi.ng/compose": "^1.4.31",
+ "@thi.ng/errors": "^1.3.1",
+ "@thi.ng/hex": "^0.2.6",
+ "@thi.ng/random": "^2.4.1",
+ "@thi.ng/transducers": "^7.7.3"
},
"files": [
"*.js",
diff --git a/packages/transducers-fsm/CHANGELOG.md b/packages/transducers-fsm/CHANGELOG.md
index fe703237ad..ecf6f616a9 100644
--- a/packages/transducers-fsm/CHANGELOG.md
+++ b/packages/transducers-fsm/CHANGELOG.md
@@ -3,39 +3,7 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
-## [1.1.59](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers-fsm@1.1.58...@thi.ng/transducers-fsm@1.1.59) (2021-04-03)
-
-**Note:** Version bump only for package @thi.ng/transducers-fsm
-
-
-
-
-
-## [1.1.58](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers-fsm@1.1.57...@thi.ng/transducers-fsm@1.1.58) (2021-03-28)
-
-**Note:** Version bump only for package @thi.ng/transducers-fsm
-
-
-
-
-
-## [1.1.57](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers-fsm@1.1.56...@thi.ng/transducers-fsm@1.1.57) (2021-03-27)
-
-**Note:** Version bump only for package @thi.ng/transducers-fsm
-
-
-
-
-
-## [1.1.56](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers-fsm@1.1.55...@thi.ng/transducers-fsm@1.1.56) (2021-03-17)
-
-**Note:** Version bump only for package @thi.ng/transducers-fsm
-
-
-
-
-
-## [1.1.55](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers-fsm@1.1.54...@thi.ng/transducers-fsm@1.1.55) (2021-03-12)
+## [1.1.63](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers-fsm@1.1.62...@thi.ng/transducers-fsm@1.1.63) (2021-06-08)
**Note:** Version bump only for package @thi.ng/transducers-fsm
diff --git a/packages/transducers-fsm/package.json b/packages/transducers-fsm/package.json
index d76cb4fcd9..f91e38ff8b 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.59",
+ "version": "1.1.63",
"description": "Transducer-based Finite State Machine transformer",
"module": "./index.js",
"main": "./lib/index.js",
@@ -42,15 +42,15 @@
"@microsoft/api-extractor": "^7.13.1",
"@types/mocha": "^8.2.0",
"@types/node": "^14.14.14",
- "mocha": "^8.3.0",
+ "mocha": "^9.0.0",
"nyc": "^15.1.0",
- "ts-node": "^9.1.1",
+ "ts-node": "^10.0.0",
"typedoc": "^0.20.30",
- "typescript": "^4.2.3"
+ "typescript": "4.2.4"
},
"dependencies": {
- "@thi.ng/api": "^7.1.4",
- "@thi.ng/transducers": "^7.6.10"
+ "@thi.ng/api": "^7.1.5",
+ "@thi.ng/transducers": "^7.7.3"
},
"files": [
"*.js",
diff --git a/packages/transducers-hdom/CHANGELOG.md b/packages/transducers-hdom/CHANGELOG.md
index 0403406edb..d1ea9a9f9a 100644
--- a/packages/transducers-hdom/CHANGELOG.md
+++ b/packages/transducers-hdom/CHANGELOG.md
@@ -3,39 +3,7 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
-## [2.0.91](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers-hdom@2.0.90...@thi.ng/transducers-hdom@2.0.91) (2021-04-03)
-
-**Note:** Version bump only for package @thi.ng/transducers-hdom
-
-
-
-
-
-## [2.0.90](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers-hdom@2.0.89...@thi.ng/transducers-hdom@2.0.90) (2021-03-28)
-
-**Note:** Version bump only for package @thi.ng/transducers-hdom
-
-
-
-
-
-## [2.0.89](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers-hdom@2.0.88...@thi.ng/transducers-hdom@2.0.89) (2021-03-27)
-
-**Note:** Version bump only for package @thi.ng/transducers-hdom
-
-
-
-
-
-## [2.0.88](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers-hdom@2.0.87...@thi.ng/transducers-hdom@2.0.88) (2021-03-17)
-
-**Note:** Version bump only for package @thi.ng/transducers-hdom
-
-
-
-
-
-## [2.0.87](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers-hdom@2.0.86...@thi.ng/transducers-hdom@2.0.87) (2021-03-12)
+## [2.0.95](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers-hdom@2.0.94...@thi.ng/transducers-hdom@2.0.95) (2021-06-08)
**Note:** Version bump only for package @thi.ng/transducers-hdom
diff --git a/packages/transducers-hdom/package.json b/packages/transducers-hdom/package.json
index 6b07fbb108..116849f0c9 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.91",
+ "version": "2.0.95",
"description": "Transducer based UI updater for @thi.ng/hdom",
"module": "./index.js",
"main": "./lib/index.js",
@@ -42,16 +42,16 @@
"@microsoft/api-extractor": "^7.13.1",
"@types/mocha": "^8.2.0",
"@types/node": "^14.14.14",
- "mocha": "^8.3.0",
+ "mocha": "^9.0.0",
"nyc": "^15.1.0",
- "ts-node": "^9.1.1",
+ "ts-node": "^10.0.0",
"typedoc": "^0.20.30",
- "typescript": "^4.2.3"
+ "typescript": "4.2.4"
},
"dependencies": {
- "@thi.ng/hdom": "^8.2.25",
- "@thi.ng/hiccup": "^3.6.15",
- "@thi.ng/transducers": "^7.6.10"
+ "@thi.ng/hdom": "^8.2.26",
+ "@thi.ng/hiccup": "^3.6.16",
+ "@thi.ng/transducers": "^7.7.3"
},
"files": [
"*.js",
diff --git a/packages/transducers-patch/CHANGELOG.md b/packages/transducers-patch/CHANGELOG.md
index e05b718d37..71302b5eb7 100644
--- a/packages/transducers-patch/CHANGELOG.md
+++ b/packages/transducers-patch/CHANGELOG.md
@@ -3,39 +3,7 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
-## [0.2.16](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers-patch@0.2.15...@thi.ng/transducers-patch@0.2.16) (2021-04-03)
-
-**Note:** Version bump only for package @thi.ng/transducers-patch
-
-
-
-
-
-## [0.2.15](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers-patch@0.2.14...@thi.ng/transducers-patch@0.2.15) (2021-03-28)
-
-**Note:** Version bump only for package @thi.ng/transducers-patch
-
-
-
-
-
-## [0.2.14](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers-patch@0.2.13...@thi.ng/transducers-patch@0.2.14) (2021-03-27)
-
-**Note:** Version bump only for package @thi.ng/transducers-patch
-
-
-
-
-
-## [0.2.13](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers-patch@0.2.12...@thi.ng/transducers-patch@0.2.13) (2021-03-17)
-
-**Note:** Version bump only for package @thi.ng/transducers-patch
-
-
-
-
-
-## [0.2.12](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers-patch@0.2.11...@thi.ng/transducers-patch@0.2.12) (2021-03-12)
+## [0.2.20](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers-patch@0.2.19...@thi.ng/transducers-patch@0.2.20) (2021-06-08)
**Note:** Version bump only for package @thi.ng/transducers-patch
diff --git a/packages/transducers-patch/package.json b/packages/transducers-patch/package.json
index 422e61246b..0ab628d747 100644
--- a/packages/transducers-patch/package.json
+++ b/packages/transducers-patch/package.json
@@ -1,6 +1,6 @@
{
"name": "@thi.ng/transducers-patch",
- "version": "0.2.16",
+ "version": "0.2.20",
"description": "Reducers for patch-based, immutable-by-default array & object editing",
"module": "./index.js",
"main": "./lib/index.js",
@@ -42,18 +42,18 @@
"@microsoft/api-extractor": "^7.13.1",
"@types/mocha": "^8.2.0",
"@types/node": "^14.14.14",
- "mocha": "^8.3.0",
+ "mocha": "^9.0.0",
"nyc": "^15.1.0",
- "ts-node": "^9.1.1",
+ "ts-node": "^10.0.0",
"typedoc": "^0.20.30",
- "typescript": "^4.2.3"
+ "typescript": "4.2.4"
},
"dependencies": {
- "@thi.ng/api": "^7.1.4",
- "@thi.ng/checks": "^2.9.6",
- "@thi.ng/errors": "^1.3.0",
- "@thi.ng/paths": "^4.2.7",
- "@thi.ng/transducers": "^7.6.10"
+ "@thi.ng/api": "^7.1.5",
+ "@thi.ng/checks": "^2.9.7",
+ "@thi.ng/errors": "^1.3.1",
+ "@thi.ng/paths": "^4.2.8",
+ "@thi.ng/transducers": "^7.7.3"
},
"files": [
"*.js",
diff --git a/packages/transducers-stats/CHANGELOG.md b/packages/transducers-stats/CHANGELOG.md
index 5b83938971..5c318f38a0 100644
--- a/packages/transducers-stats/CHANGELOG.md
+++ b/packages/transducers-stats/CHANGELOG.md
@@ -3,39 +3,7 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
-## [1.1.60](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers-stats@1.1.59...@thi.ng/transducers-stats@1.1.60) (2021-04-03)
-
-**Note:** Version bump only for package @thi.ng/transducers-stats
-
-
-
-
-
-## [1.1.59](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers-stats@1.1.58...@thi.ng/transducers-stats@1.1.59) (2021-03-28)
-
-**Note:** Version bump only for package @thi.ng/transducers-stats
-
-
-
-
-
-## [1.1.58](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers-stats@1.1.57...@thi.ng/transducers-stats@1.1.58) (2021-03-27)
-
-**Note:** Version bump only for package @thi.ng/transducers-stats
-
-
-
-
-
-## [1.1.57](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers-stats@1.1.56...@thi.ng/transducers-stats@1.1.57) (2021-03-17)
-
-**Note:** Version bump only for package @thi.ng/transducers-stats
-
-
-
-
-
-## [1.1.56](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers-stats@1.1.55...@thi.ng/transducers-stats@1.1.56) (2021-03-12)
+## [1.1.64](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers-stats@1.1.63...@thi.ng/transducers-stats@1.1.64) (2021-06-08)
**Note:** Version bump only for package @thi.ng/transducers-stats
diff --git a/packages/transducers-stats/package.json b/packages/transducers-stats/package.json
index 49ca3cd236..80bad43986 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.60",
+ "version": "1.1.64",
"description": "Transducers for statistical / technical analysis",
"module": "./index.js",
"main": "./lib/index.js",
@@ -42,17 +42,17 @@
"@microsoft/api-extractor": "^7.13.1",
"@types/mocha": "^8.2.0",
"@types/node": "^14.14.14",
- "mocha": "^8.3.0",
+ "mocha": "^9.0.0",
"nyc": "^15.1.0",
- "ts-node": "^9.1.1",
+ "ts-node": "^10.0.0",
"typedoc": "^0.20.30",
- "typescript": "^4.2.3"
+ "typescript": "4.2.4"
},
"dependencies": {
- "@thi.ng/checks": "^2.9.6",
- "@thi.ng/dcons": "^2.3.20",
- "@thi.ng/errors": "^1.3.0",
- "@thi.ng/transducers": "^7.6.10"
+ "@thi.ng/checks": "^2.9.7",
+ "@thi.ng/dcons": "^2.3.24",
+ "@thi.ng/errors": "^1.3.1",
+ "@thi.ng/transducers": "^7.7.3"
},
"files": [
"*.js",
diff --git a/packages/transducers/CHANGELOG.md b/packages/transducers/CHANGELOG.md
index 634d8da2d7..1369c7e60d 100644
--- a/packages/transducers/CHANGELOG.md
+++ b/packages/transducers/CHANGELOG.md
@@ -3,7 +3,7 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
-## [7.6.10](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers@7.6.9...@thi.ng/transducers@7.6.10) (2021-04-03)
+## [7.7.3](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers@7.7.2...@thi.ng/transducers@7.7.3) (2021-06-08)
**Note:** Version bump only for package @thi.ng/transducers
@@ -11,33 +11,12 @@ See [Conventional Commits](https://conventionalcommits.org) for commit guideline
-## [7.6.9](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers@7.6.8...@thi.ng/transducers@7.6.9) (2021-03-28)
-
-**Note:** Version bump only for package @thi.ng/transducers
-
-
-
-
-
-## [7.6.8](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers@7.6.7...@thi.ng/transducers@7.6.8) (2021-03-27)
-
-**Note:** Version bump only for package @thi.ng/transducers
-
-
+# [7.7.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers@7.6.10...@thi.ng/transducers@7.7.0) (2021-04-07)
+### Features
-## [7.6.7](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers@7.6.6...@thi.ng/transducers@7.6.7) (2021-03-17)
-
-**Note:** Version bump only for package @thi.ng/transducers
-
-
-
-
-
-## [7.6.6](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers@7.6.5...@thi.ng/transducers@7.6.6) (2021-03-12)
-
-**Note:** Version bump only for package @thi.ng/transducers
+* **transducers:** add partitionWhen() xform ([d2dd4d9](https://github.com/thi-ng/umbrella/commit/d2dd4d92895622bfa38d8458472d86f9e89e8952))
diff --git a/packages/transducers/README.md b/packages/transducers/README.md
index 69ed5f2031..809de5a1c9 100644
--- a/packages/transducers/README.md
+++ b/packages/transducers/README.md
@@ -169,7 +169,7 @@ yarn add @thi.ng/transducers
```
-Package sizes (gzipped, pre-treeshake): ESM: 8.37 KB / CJS: 8.93 KB / UMD: 8.08 KB
+Package sizes (gzipped, pre-treeshake): ESM: 8.40 KB / CJS: 8.96 KB / UMD: 8.14 KB
## Dependencies
@@ -879,6 +879,7 @@ tx.transduce(tx.map((x) => x*10), tx.push(), tx.range(4))
- [partitionSort](https://github.com/thi-ng/umbrella/tree/develop/packages/transducers/src/xform/partition-sort.ts)
- [partitionSync](https://github.com/thi-ng/umbrella/tree/develop/packages/transducers/src/xform/partition-sync.ts)
- [partitionTime](https://github.com/thi-ng/umbrella/tree/develop/packages/transducers/src/xform/partition-time.ts)
+- [partitionWhen](https://github.com/thi-ng/umbrella/tree/develop/packages/transducers/src/xform/partition-when.ts)
- [partition](https://github.com/thi-ng/umbrella/tree/develop/packages/transducers/src/xform/partition.ts)
- [peek](https://github.com/thi-ng/umbrella/tree/develop/packages/transducers/src/xform/peek.ts)
- [pluck](https://github.com/thi-ng/umbrella/tree/develop/packages/transducers/src/xform/pluck.ts)
diff --git a/packages/transducers/package.json b/packages/transducers/package.json
index a5aec4306e..3276229d88 100644
--- a/packages/transducers/package.json
+++ b/packages/transducers/package.json
@@ -1,6 +1,6 @@
{
"name": "@thi.ng/transducers",
- "version": "7.6.10",
+ "version": "7.7.3",
"description": "Lightweight transducer implementations for ES6 / TypeScript",
"module": "./index.js",
"main": "./lib/index.js",
@@ -42,21 +42,21 @@
"@microsoft/api-extractor": "^7.13.1",
"@types/mocha": "^8.2.0",
"@types/node": "^14.14.14",
- "mocha": "^8.3.0",
+ "mocha": "^9.0.0",
"nyc": "^15.1.0",
- "ts-node": "^9.1.1",
+ "ts-node": "^10.0.0",
"typedoc": "^0.20.30",
- "typescript": "^4.2.3"
+ "typescript": "4.2.4"
},
"dependencies": {
- "@thi.ng/api": "^7.1.4",
- "@thi.ng/arrays": "^0.10.10",
- "@thi.ng/checks": "^2.9.6",
- "@thi.ng/compare": "^1.3.28",
- "@thi.ng/compose": "^1.4.30",
- "@thi.ng/errors": "^1.3.0",
- "@thi.ng/math": "^3.4.0",
- "@thi.ng/random": "^2.3.7"
+ "@thi.ng/api": "^7.1.5",
+ "@thi.ng/arrays": "^0.10.12",
+ "@thi.ng/checks": "^2.9.7",
+ "@thi.ng/compare": "^1.3.29",
+ "@thi.ng/compose": "^1.4.31",
+ "@thi.ng/errors": "^1.3.1",
+ "@thi.ng/math": "^4.0.1",
+ "@thi.ng/random": "^2.4.1"
},
"files": [
"*.js",
diff --git a/packages/transducers/src/index.ts b/packages/transducers/src/index.ts
index d264a944ba..6dedbe216c 100644
--- a/packages/transducers/src/index.ts
+++ b/packages/transducers/src/index.ts
@@ -81,6 +81,7 @@ export * from "./xform/partition-of";
export * from "./xform/partition-sort";
export * from "./xform/partition-sync";
export * from "./xform/partition-time";
+export * from "./xform/partition-when";
export * from "./xform/partition";
export * from "./xform/peek";
export * from "./xform/pluck";
diff --git a/packages/transducers/src/xform/partition-when.ts b/packages/transducers/src/xform/partition-when.ts
new file mode 100644
index 0000000000..e2e3acd4a9
--- /dev/null
+++ b/packages/transducers/src/xform/partition-when.ts
@@ -0,0 +1,61 @@
+import type { Predicate } from "@thi.ng/api";
+import type { Reducer, Transducer } from "../api";
+import { $iter, iterator } from "../iterator";
+import { isReduced } from "../reduced";
+
+/**
+ * Transducer. Applies given predicate `pred` to each incoming value and
+ * collects values until the return value of the `fn` is truthy. Once this
+ * happens yields chunk of buffered values.
+ *
+ * @example
+ * ```ts
+ * [...partitionWhen((x) => !!x, [0, 1, 0, 0, 1, 1, 0, 1])]
+ * // [ [ 0 ], [ 1, 0, 0 ], [ 1 ], [ 1, 0 ], [ 1 ] ]
+ * ```
+ *
+ * @param pred -
+ * @param stateful -
+ */
+export function partitionWhen(
+ pred: Predicate | (() => Predicate),
+ stateful?: boolean
+): Transducer;
+export function partitionWhen(
+ pred: Predicate | (() => Predicate),
+ src: Iterable
+): IterableIterator;
+export function partitionWhen(
+ pred: Predicate | (() => Predicate),
+ stateful: boolean,
+ src: Iterable
+): IterableIterator;
+export function partitionWhen(...args: any[]): any {
+ return (
+ $iter(partitionWhen, args, iterator) ||
+ (([init, complete, reduce]: Reducer) => {
+ const pred: Predicate | (() => Predicate) = args[0];
+ const f = args[1] === true ? (<() => Predicate>pred)() : pred;
+ let chunk: T[] | null;
+ return >[
+ init,
+ (acc) => {
+ if (chunk && chunk.length) {
+ acc = reduce(acc, chunk);
+ chunk = null;
+ }
+ return complete(acc);
+ },
+ (acc, x) => {
+ if (f(x)) {
+ chunk && (acc = reduce(acc, chunk));
+ chunk = isReduced(acc) ? null : [x];
+ } else {
+ chunk ? chunk.push(x) : (chunk = [x]);
+ }
+ return acc;
+ },
+ ];
+ })
+ );
+}
diff --git a/packages/transducers/tpl.readme.md b/packages/transducers/tpl.readme.md
index c26d456a23..decfe3dc11 100644
--- a/packages/transducers/tpl.readme.md
+++ b/packages/transducers/tpl.readme.md
@@ -751,6 +751,7 @@ tx.transduce(tx.map((x) => x*10), tx.push(), tx.range(4))
- [partitionSort](https://github.com/thi-ng/umbrella/tree/develop/packages/transducers/src/xform/partition-sort.ts)
- [partitionSync](https://github.com/thi-ng/umbrella/tree/develop/packages/transducers/src/xform/partition-sync.ts)
- [partitionTime](https://github.com/thi-ng/umbrella/tree/develop/packages/transducers/src/xform/partition-time.ts)
+- [partitionWhen](https://github.com/thi-ng/umbrella/tree/develop/packages/transducers/src/xform/partition-when.ts)
- [partition](https://github.com/thi-ng/umbrella/tree/develop/packages/transducers/src/xform/partition.ts)
- [peek](https://github.com/thi-ng/umbrella/tree/develop/packages/transducers/src/xform/peek.ts)
- [pluck](https://github.com/thi-ng/umbrella/tree/develop/packages/transducers/src/xform/pluck.ts)
diff --git a/packages/unionstruct/CHANGELOG.md b/packages/unionstruct/CHANGELOG.md
index 3ef38108bc..98975d9ed9 100644
--- a/packages/unionstruct/CHANGELOG.md
+++ b/packages/unionstruct/CHANGELOG.md
@@ -3,7 +3,7 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
-## [1.1.35](https://github.com/thi-ng/umbrella/compare/@thi.ng/unionstruct@1.1.34...@thi.ng/unionstruct@1.1.35) (2021-03-12)
+## [1.1.36](https://github.com/thi-ng/umbrella/compare/@thi.ng/unionstruct@1.1.35...@thi.ng/unionstruct@1.1.36) (2021-06-08)
**Note:** Version bump only for package @thi.ng/unionstruct
diff --git a/packages/unionstruct/package.json b/packages/unionstruct/package.json
index 329f4bb4ed..86eaa15506 100644
--- a/packages/unionstruct/package.json
+++ b/packages/unionstruct/package.json
@@ -1,6 +1,6 @@
{
"name": "@thi.ng/unionstruct",
- "version": "1.1.35",
+ "version": "1.1.36",
"description": "C-style struct, union and bitfield read/write views of ArrayBuffers",
"module": "./index.js",
"main": "./lib/index.js",
@@ -42,11 +42,11 @@
"@microsoft/api-extractor": "^7.13.1",
"@types/mocha": "^8.2.0",
"@types/node": "^14.14.14",
- "mocha": "^8.3.0",
+ "mocha": "^9.0.0",
"nyc": "^15.1.0",
- "ts-node": "^9.1.1",
+ "ts-node": "^10.0.0",
"typedoc": "^0.20.30",
- "typescript": "^4.2.3"
+ "typescript": "4.2.4"
},
"files": [
"*.js",
diff --git a/packages/vclock/CHANGELOG.md b/packages/vclock/CHANGELOG.md
index 01bcc44ac7..19f11bf995 100644
--- a/packages/vclock/CHANGELOG.md
+++ b/packages/vclock/CHANGELOG.md
@@ -3,7 +3,7 @@
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/vclock@0.1.8...@thi.ng/vclock@0.1.9) (2021-03-12)
+## [0.1.10](https://github.com/thi-ng/umbrella/compare/@thi.ng/vclock@0.1.9...@thi.ng/vclock@0.1.10) (2021-06-08)
**Note:** Version bump only for package @thi.ng/vclock
diff --git a/packages/vclock/package.json b/packages/vclock/package.json
index 9d5c31b9ff..c9b1973ae1 100644
--- a/packages/vclock/package.json
+++ b/packages/vclock/package.json
@@ -1,6 +1,6 @@
{
"name": "@thi.ng/vclock",
- "version": "0.1.9",
+ "version": "0.1.10",
"description": "Vector clock functions for synchronizing distributed states & processes",
"module": "./index.js",
"main": "./lib/index.js",
@@ -42,14 +42,14 @@
"@microsoft/api-extractor": "^7.13.1",
"@types/mocha": "^8.2.0",
"@types/node": "^14.14.14",
- "mocha": "^8.3.0",
+ "mocha": "^9.0.0",
"nyc": "^15.1.0",
- "ts-node": "^9.1.1",
+ "ts-node": "^10.0.0",
"typedoc": "^0.20.30",
- "typescript": "^4.2.3"
+ "typescript": "4.2.4"
},
"dependencies": {
- "@thi.ng/api": "^7.1.4"
+ "@thi.ng/api": "^7.1.5"
},
"files": [
"*.js",
diff --git a/packages/vector-pools/CHANGELOG.md b/packages/vector-pools/CHANGELOG.md
index 434d69be3c..90727310b0 100644
--- a/packages/vector-pools/CHANGELOG.md
+++ b/packages/vector-pools/CHANGELOG.md
@@ -3,47 +3,7 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
-## [2.0.11](https://github.com/thi-ng/umbrella/compare/@thi.ng/vector-pools@2.0.10...@thi.ng/vector-pools@2.0.11) (2021-04-03)
-
-**Note:** Version bump only for package @thi.ng/vector-pools
-
-
-
-
-
-## [2.0.10](https://github.com/thi-ng/umbrella/compare/@thi.ng/vector-pools@2.0.9...@thi.ng/vector-pools@2.0.10) (2021-03-30)
-
-**Note:** Version bump only for package @thi.ng/vector-pools
-
-
-
-
-
-## [2.0.9](https://github.com/thi-ng/umbrella/compare/@thi.ng/vector-pools@2.0.8...@thi.ng/vector-pools@2.0.9) (2021-03-28)
-
-**Note:** Version bump only for package @thi.ng/vector-pools
-
-
-
-
-
-## [2.0.8](https://github.com/thi-ng/umbrella/compare/@thi.ng/vector-pools@2.0.7...@thi.ng/vector-pools@2.0.8) (2021-03-27)
-
-**Note:** Version bump only for package @thi.ng/vector-pools
-
-
-
-
-
-## [2.0.7](https://github.com/thi-ng/umbrella/compare/@thi.ng/vector-pools@2.0.6...@thi.ng/vector-pools@2.0.7) (2021-03-17)
-
-**Note:** Version bump only for package @thi.ng/vector-pools
-
-
-
-
-
-## [2.0.6](https://github.com/thi-ng/umbrella/compare/@thi.ng/vector-pools@2.0.5...@thi.ng/vector-pools@2.0.6) (2021-03-12)
+## [2.0.15](https://github.com/thi-ng/umbrella/compare/@thi.ng/vector-pools@2.0.14...@thi.ng/vector-pools@2.0.15) (2021-06-08)
**Note:** Version bump only for package @thi.ng/vector-pools
diff --git a/packages/vector-pools/package.json b/packages/vector-pools/package.json
index 338fee9c0b..8ec839d286 100644
--- a/packages/vector-pools/package.json
+++ b/packages/vector-pools/package.json
@@ -1,6 +1,6 @@
{
"name": "@thi.ng/vector-pools",
- "version": "2.0.11",
+ "version": "2.0.15",
"description": "Data structures for managing & working with strided, memory mapped vectors",
"module": "./index.js",
"main": "./lib/index.js",
@@ -42,19 +42,19 @@
"@microsoft/api-extractor": "^7.13.1",
"@types/mocha": "^8.2.0",
"@types/node": "^14.14.14",
- "mocha": "^8.3.0",
+ "mocha": "^9.0.0",
"nyc": "^15.1.0",
- "ts-node": "^9.1.1",
+ "ts-node": "^10.0.0",
"typedoc": "^0.20.30",
- "typescript": "^4.2.3"
+ "typescript": "4.2.4"
},
"dependencies": {
- "@thi.ng/api": "^7.1.4",
- "@thi.ng/binary": "^2.2.4",
- "@thi.ng/checks": "^2.9.6",
- "@thi.ng/malloc": "^5.0.7",
- "@thi.ng/transducers": "^7.6.10",
- "@thi.ng/vectors": "^5.2.1"
+ "@thi.ng/api": "^7.1.5",
+ "@thi.ng/binary": "^2.2.5",
+ "@thi.ng/checks": "^2.9.7",
+ "@thi.ng/malloc": "^5.0.8",
+ "@thi.ng/transducers": "^7.7.3",
+ "@thi.ng/vectors": "^6.0.1"
},
"files": [
"*.js",
diff --git a/packages/vectors/CHANGELOG.md b/packages/vectors/CHANGELOG.md
index 4e1caff50c..64e618d825 100644
--- a/packages/vectors/CHANGELOG.md
+++ b/packages/vectors/CHANGELOG.md
@@ -3,52 +3,57 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
-## [5.2.1](https://github.com/thi-ng/umbrella/compare/@thi.ng/vectors@5.2.0...@thi.ng/vectors@5.2.1) (2021-04-03)
-
-**Note:** Version bump only for package @thi.ng/vectors
-
+## [6.0.1](https://github.com/thi-ng/umbrella/compare/@thi.ng/vectors@6.0.0...@thi.ng/vectors@6.0.1) (2021-06-08)
+### Bug Fixes
+* **vectors:** re-add missing randNorm2/3/4 fns ([0f0e270](https://github.com/thi-ng/umbrella/commit/0f0e270c6f552d66605396e66a967180cc42fdbb))
-# [5.2.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/vectors@5.1.7...@thi.ng/vectors@5.2.0) (2021-03-30)
-### Features
-* **vectors:** add distHaversine() ([4dcc9cf](https://github.com/thi-ng/umbrella/commit/4dcc9cf8205a4e97c2abf14c6d6cb40949532c94))
+# [6.0.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/vectors@5.3.0...@thi.ng/vectors@6.0.0) (2021-04-24)
+### Features
+* **vectors:** add/update modulo functions ([81d2e63](https://github.com/thi-ng/umbrella/commit/81d2e63f12f87893b9e53d070260bb6c9b9f0dcd))
-## [5.1.7](https://github.com/thi-ng/umbrella/compare/@thi.ng/vectors@5.1.6...@thi.ng/vectors@5.1.7) (2021-03-28)
-**Note:** Version bump only for package @thi.ng/vectors
+### BREAKING CHANGES
+* **vectors:** Introduction of standard libc math functions in thi.ng/math
+causes behavior change/flip of existing `fmod()` & `mod()` functions...
+- swap `fmod()` <> `mod()` to align w/ their GLSL & libc counterparts
+- same goes for `fmodN()` <> `modN()`
+- add `remainder()`/ `remainderN()` w/ standard libc behavior
+- update doc strings
-## [5.1.6](https://github.com/thi-ng/umbrella/compare/@thi.ng/vectors@5.1.5...@thi.ng/vectors@5.1.6) (2021-03-27)
-**Note:** Version bump only for package @thi.ng/vectors
+# [5.3.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/vectors@5.2.2...@thi.ng/vectors@5.3.0) (2021-04-19)
+### Features
+* **vectors:** add componentwise median() ([39b5c55](https://github.com/thi-ng/umbrella/commit/39b5c5537f23bf9d9e59da725c89a22714cc0091))
+* **vectors:** replace distHaversine() ([9d9d4e8](https://github.com/thi-ng/umbrella/commit/9d9d4e8f1697ba96755e5fc2fe0cf898ff12b105))
-## [5.1.5](https://github.com/thi-ng/umbrella/compare/@thi.ng/vectors@5.1.4...@thi.ng/vectors@5.1.5) (2021-03-17)
-**Note:** Version bump only for package @thi.ng/vectors
+# [5.2.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/vectors@5.1.7...@thi.ng/vectors@5.2.0) (2021-03-30)
-## [5.1.4](https://github.com/thi-ng/umbrella/compare/@thi.ng/vectors@5.1.3...@thi.ng/vectors@5.1.4) (2021-03-12)
+### Features
-**Note:** Version bump only for package @thi.ng/vectors
+* **vectors:** add distHaversine() ([4dcc9cf](https://github.com/thi-ng/umbrella/commit/4dcc9cf8205a4e97c2abf14c6d6cb40949532c94))
diff --git a/packages/vectors/README.md b/packages/vectors/README.md
index 1e9165d2df..5e76c20e49 100644
--- a/packages/vectors/README.md
+++ b/packages/vectors/README.md
@@ -12,6 +12,7 @@ This project is part of the
- [About](#about)
- [Features](#features)
- [Status](#status)
+ - [Breaking changes in v6.0.0](#breaking-changes-in-v600)
- [Breaking changes in v3.0.0](#breaking-changes-in-v300)
- [Related packages](#related-packages)
- [Installation](#installation)
@@ -117,6 +118,18 @@ Partially ported from [thi.ng/geom-clj](http://thi.ng/geom-clj) (Clojure) and
[Search or submit any issues for this package](https://github.com/thi-ng/umbrella/issues?q=%5Bvectors%5D+in%3Atitle)
+### Breaking changes in v6.0.0
+
+The introduction of seveveral standard [libc math
+functions](https://www.cplusplus.com/reference/cmath/) to the
+[@thi.ng/math](https://github.com/thi-ng/umbrella/tree/develop/packages/math)
+package caused a behavior change of existing `fmod()` function. For symmetry
+reasons the same changes have been applied to this package...
+
+- swap `fmod()` ⇄ `mod()`, to align the latter with its GLSL counterpart
+- the new `fmod()` has standard libc behavior (same as JS `%` operator)
+- add `remainder()` with standard libc behavior
+
### Breaking changes in v3.0.0
- to avoid confusion, the arg order of `madd` and `maddN` functions have
@@ -157,7 +170,7 @@ yarn add @thi.ng/vectors
```
-Package sizes (gzipped, pre-treeshake): ESM: 11.46 KB / CJS: 14.42 KB / UMD: 12.71 KB
+Package sizes (gzipped, pre-treeshake): ESM: 11.64 KB / CJS: 14.63 KB / UMD: 12.91 KB
## Dependencies
@@ -341,15 +354,16 @@ Vanilla vector (array) factories:
Component wise op with 2 input vectors:
-| Function | Generic | Fixed | Strided | Int | Comments |
-|----------|---------|-------|---------|--------------|-----------------|
-| `add` | ✓ | 2-4 | S2-S4 | I2-I4, U2-U4 | |
-| `div` | ✓ | 2-4 | S2-S4 | I2-I4, U2-U4 | |
-| `mul` | ✓ | 2-4 | S2-S4 | I2-I4, U2-U4 | |
-| `sub` | ✓ | 2-4 | S2-S4 | I2-I4, U2-U4 | |
-| `fmod` | ✓ | 2-4 | | | (GLSL behavior) |
-| `mod` | ✓ | 2-4 | | | (JS behavior) |
-| `pow` | ✓ | 2-4 | | | |
+| Function | Generic | Fixed | Strided | Int | Comments |
+|-------------|---------|-------|---------|--------------|-----------------|
+| `add` | ✓ | 2-4 | S2-S4 | I2-I4, U2-U4 | |
+| `div` | ✓ | 2-4 | S2-S4 | I2-I4, U2-U4 | |
+| `mul` | ✓ | 2-4 | S2-S4 | I2-I4, U2-U4 | |
+| `sub` | ✓ | 2-4 | S2-S4 | I2-I4, U2-U4 | |
+| `fmod` | ✓ | 2-4 | | | (C/JS behavior) |
+| `mod` | ✓ | 2-4 | | | (GLSL behavior) |
+| `pow` | ✓ | 2-4 | | | |
+| `remainder` | ✓ | 2-4 | | | (C behavior) |
```ts
// generic
@@ -373,17 +387,18 @@ addS2([], [1,0,2,0], [0,10,0,0,0,20], 0, 0, 1, 1, 2, 4)
Component wise op with one input vector and single scalar:
-| Function | Generic | Fixed | Strided | Int | Comments |
-|----------|---------|-------|---------|--------------|----------------------------|
-| `addN` | ✓ | 2-4 | S2-S4 | I2-I4, U2-U4 | |
-| `divN` | ✓ | 2-4 | S2-S4 | I2-I4, U2-U4 | |
-| `mulN` | ✓ | 2-4 | S2-S4 | I2-I4, U2-U4 | |
-| `subN` | ✓ | 2-4 | S2-S4 | I2-I4, U2-U4 | |
-| `neg` | ✓ | | | | same as `mulN(out, v, -1)` |
-| `fmodN` | ✓ | 2-4 | | | (GLSL behavior) |
-| `modN` | ✓ | 2-4 | | | (JS behavior) |
-| `powN` | ✓ | 2-4 | | | |
-| `roundN` | ✓ | 2-4 | | | |
+| Function | Generic | Fixed | Strided | Int | Comments |
+|--------------|---------|-------|---------|--------------|----------------------------|
+| `addN` | ✓ | 2-4 | S2-S4 | I2-I4, U2-U4 | |
+| `divN` | ✓ | 2-4 | S2-S4 | I2-I4, U2-U4 | |
+| `mulN` | ✓ | 2-4 | S2-S4 | I2-I4, U2-U4 | |
+| `subN` | ✓ | 2-4 | S2-S4 | I2-I4, U2-U4 | |
+| `neg` | ✓ | | | | same as `mulN(out, v, -1)` |
+| `fmodN` | ✓ | 2-4 | | | (C/JS behavior) |
+| `modN` | ✓ | 2-4 | | | (GLSL behavior) |
+| `powN` | ✓ | 2-4 | | | |
+| `remainderN` | ✓ | 2-4 | | | (C behavior) |
+| `roundN` | ✓ | 2-4 | | | |
### Combined operations
@@ -449,14 +464,15 @@ Component wise op with one input vector and single scalar:
### Distances
-| Function | Generic | Fixed | Strided | Int | Comments |
-|-----------------|---------|-------|---------|-----|---------------------|
-| `dist` | ✓ | | | | |
-| `distSq` | ✓ | 2-4 | | | |
-| `distChebyshev` | ✓ | 2-4 | | | |
-| `distHaversine` | | 2 | | | lon/lat coordinates |
-| `distManhattan` | ✓ | 2-4 | | | |
-| `pointOnRay` | ✓ | 2-3 | | | point at distance |
+| Function | Generic | Fixed | Strided | Int | Comments |
+|-----------------------|---------|-------|---------|-----|---------------------|
+| `dist` | ✓ | | | | |
+| `distSq` | ✓ | 2-4 | | | |
+| `distChebyshev` | ✓ | 2-4 | | | |
+| `distHaversineLatLon` | | 2 | | | lat/lon coordinates |
+| `distHaversineLonLat` | | 2 | | | lon/lat coordinates |
+| `distManhattan` | ✓ | 2-4 | | | |
+| `pointOnRay` | ✓ | 2-3 | | | point at distance |
### Orientation
@@ -518,7 +534,7 @@ All ops support custom PRNG impls based on the
|--------------|---------|-------|---------|-----|----------|
| `jitter` | ✓ | | | | |
| `randMinMax` | ✓ | 2-4 | S2-S4 | | |
-| `randNorm` | ✓ | | S2-S4 | | |
+| `randNorm` | ✓ | 2-4 | S2-S4 | | |
| `random` | ✓ | 2-4 | S2-S4 | | |
### Unary vector math ops
diff --git a/packages/vectors/package.json b/packages/vectors/package.json
index 044e5d3ec6..df4ec1649e 100644
--- a/packages/vectors/package.json
+++ b/packages/vectors/package.json
@@ -1,6 +1,6 @@
{
"name": "@thi.ng/vectors",
- "version": "5.2.1",
+ "version": "6.0.1",
"description": "Optimized 2d/3d/4d and arbitrary length vector operations",
"module": "./index.js",
"main": "./lib/index.js",
@@ -42,22 +42,22 @@
"@microsoft/api-extractor": "^7.13.1",
"@types/mocha": "^8.2.0",
"@types/node": "^14.14.14",
- "mocha": "^8.3.0",
+ "mocha": "^9.0.0",
"nyc": "^15.1.0",
- "ts-node": "^9.1.1",
+ "ts-node": "^10.0.0",
"typedoc": "^0.20.30",
- "typescript": "^4.2.3"
+ "typescript": "4.2.4"
},
"dependencies": {
- "@thi.ng/api": "^7.1.4",
- "@thi.ng/binary": "^2.2.4",
- "@thi.ng/checks": "^2.9.6",
- "@thi.ng/equiv": "^1.0.41",
- "@thi.ng/errors": "^1.3.0",
- "@thi.ng/math": "^3.4.0",
- "@thi.ng/memoize": "^2.1.14",
- "@thi.ng/random": "^2.3.7",
- "@thi.ng/transducers": "^7.6.10"
+ "@thi.ng/api": "^7.1.5",
+ "@thi.ng/binary": "^2.2.5",
+ "@thi.ng/checks": "^2.9.7",
+ "@thi.ng/equiv": "^1.0.42",
+ "@thi.ng/errors": "^1.3.1",
+ "@thi.ng/math": "^4.0.1",
+ "@thi.ng/memoize": "^2.1.15",
+ "@thi.ng/random": "^2.4.1",
+ "@thi.ng/transducers": "^7.7.3"
},
"files": [
"*.js",
diff --git a/packages/vectors/src/dist-haversine.ts b/packages/vectors/src/dist-haversine.ts
index b251a56a7b..7696498c2e 100644
--- a/packages/vectors/src/dist-haversine.ts
+++ b/packages/vectors/src/dist-haversine.ts
@@ -1,10 +1,11 @@
+import type { FnN5 } from "@thi.ng/api";
import type { ReadonlyVec } from "./api";
import { radians2 } from "./radians";
/**
* Returns distance between 2 points along a great circle on a sphere, using the
- * Haversine formula, with each point given as [lon, lat] (in degrees). Uses
- * Earth's radius `r=6371` by default, therefore returns distance in km (by
+ * Haversine formula, with each point given as [lat, lon] (in WGS84 format).
+ * Uses Earth's radius `r=6371` by default, therefore returns distance in km (by
* default).
*
* @remarks
@@ -16,9 +17,41 @@ import { radians2 } from "./radians";
* @param b
* @param r
*/
-export const distHaversine = (a: ReadonlyVec, b: ReadonlyVec, r = 6371) => {
- const [lon1, lat1] = radians2([], a);
- const [lon2, lat2] = radians2([], b);
+export const distHaversineLatLon = (
+ a: ReadonlyVec,
+ b: ReadonlyVec,
+ r = 6371
+) => {
+ a = radians2([], a);
+ b = radians2([], b);
+ return dist(a[0], a[1], b[0], b[1], r);
+};
+
+/**
+ * Same as {@link distHaversineLatLon}, only for coordinates defined in
+ * [lon,lat] order.
+ *
+ * @param a
+ * @param b
+ * @param r
+ * @returns
+ */
+export const distHaversineLonLat = (
+ a: ReadonlyVec,
+ b: ReadonlyVec,
+ r = 6371
+) => {
+ a = radians2([], a);
+ b = radians2([], b);
+ return dist(a[1], a[0], b[1], b[0], r);
+};
+
+/**
+ * @deprecated use {@link distHaversineLonLat} instead
+ */
+export const distHaversine = distHaversineLonLat;
+
+const dist: FnN5 = (lat1, lon1, lat2, lon2, r) => {
const dlat = 0.5 - Math.cos(lat2 - lat1) * 0.5;
const dlon = (1 - Math.cos(lon2 - lon1)) * 0.5;
const combined = dlat + Math.cos(lat1) * Math.cos(lat2) * dlon;
diff --git a/packages/vectors/src/fmod.ts b/packages/vectors/src/fmod.ts
index 1a1ec2443c..3d8622a9cf 100644
--- a/packages/vectors/src/fmod.ts
+++ b/packages/vectors/src/fmod.ts
@@ -1,18 +1,15 @@
-import { fmod as _fmod } from "@thi.ng/math";
-import type { MultiVecOpVV, VecOpVV } from "./api";
-import { ARGS_VV, defHofOp } from "./internal/codegen";
-import { FN2 } from "./internal/templates";
+import { defMathOp } from "./internal/codegen";
/**
- * This version of mod uses the same logic as in GLSL, whereas {@link mod}
- * merely uses JavaScript's `%` modulo operator, yielding different
- * results for negative values, i.e. using the sign of the last arg.
- *
- * `a - b * floor(a/b)`
+ * Similar to {@link mod}, {@link remainder}. This version of modulo uses the
+ * same logic as the standard C function `fmod` and/or the JS `%` operator,
+ * yielding results with the same sign as `a`, i.e. computes `a-b*trunc(a/b)`.
*
+ * @remarks
+ * **Caution:** Due to the introduction of libc math functions in thi.ng/math
+ * v4.0.0 and the resulting name/behavior clashes between the modulo logic in
+ * JS, C & GLSL, this function previously _was_ called `mod`, but going forward
+ * has been renamed/swapped to align w/ its C version and now exhibits a
+ * different behavior than the current {@link mod} function.
*/
-export const [fmod, fmod2, fmod3, fmod4] = defHofOp(
- _fmod,
- FN2("op"),
- ARGS_VV
-);
+export const [fmod, fmod2, fmod3, fmod4] = defMathOp("%");
diff --git a/packages/vectors/src/fmodn.ts b/packages/vectors/src/fmodn.ts
index c56e545e20..00c396f23f 100644
--- a/packages/vectors/src/fmodn.ts
+++ b/packages/vectors/src/fmodn.ts
@@ -1,15 +1,7 @@
-import { fmod as _fmod } from "@thi.ng/math";
-import type { MultiVecOpVN, VecOpVN } from "./api";
-import { ARGS_V, ARGS_VN, defHofOp } from "./internal/codegen";
-import { FN_N } from "./internal/templates";
+import { defMathOpN } from "./internal/codegen";
/**
- * Same as {@link fmod}, but 2nd operand is a single scalar (uniform domain
- * for all vector components).
+ * Same as {@link fmod}, but 2nd operand is a single scalar (uniform domain for
+ * all vector components).
*/
-export const [fmodN, fmodN2, fmodN3, fmodN4] = defHofOp(
- _fmod,
- FN_N("op"),
- ARGS_VN,
- ARGS_V
-);
+export const [fmodN, fmodN2, fmodN3, fmodN4] = defMathOpN("%");
diff --git a/packages/vectors/src/index.ts b/packages/vectors/src/index.ts
index 428a191740..4893a4d314 100644
--- a/packages/vectors/src/index.ts
+++ b/packages/vectors/src/index.ts
@@ -101,6 +101,7 @@ export * from "./major";
export * from "./map";
export * from "./map-vectors";
export * from "./max";
+export * from "./median";
export * from "./min";
export * from "./minor";
export * from "./mix-bilinear";
@@ -139,6 +140,8 @@ export * from "./random";
export * from "./randoms";
export * from "./reflect";
export * from "./refract";
+export * from "./remainder";
+export * from "./remaindern";
export * from "./rotate-around-axis";
export * from "./rotate-around-point";
export * from "./rotate";
diff --git a/packages/vectors/src/median.ts b/packages/vectors/src/median.ts
new file mode 100644
index 0000000000..cee83109c3
--- /dev/null
+++ b/packages/vectors/src/median.ts
@@ -0,0 +1,24 @@
+import type { ReadonlyVec, Vec } from "./api";
+
+/**
+ * Takes an array of vectors (of uniform dimensions) and computes the
+ * componentwise medians (in accordance to the Manhattan-distance formulation of
+ * the k-medians problem). Writes result to `out` (or a new vector).
+ *
+ * @example
+ * ```ts
+ * median([], [[3, 10, 400], [4, 30, 100], [1, 40, 200], [2, 20, 300]])
+ * // [ 3, 30, 300 ]
+ * ```
+ *
+ * @param out
+ * @param src
+ */
+export const median = (out: Vec | null, src: ReadonlyVec[]) => {
+ out = out || [];
+ const m = src.length >> 1;
+ for (let i = src[0].length; --i >= 0; ) {
+ out[i] = src.map((x) => x[i]).sort((a, b) => a - b)[m];
+ }
+ return out;
+};
diff --git a/packages/vectors/src/mod.ts b/packages/vectors/src/mod.ts
index 2909107024..f462ab4e37 100644
--- a/packages/vectors/src/mod.ts
+++ b/packages/vectors/src/mod.ts
@@ -1,3 +1,24 @@
-import { defMathOp } from "./internal/codegen";
+import { mod as _mod } from "@thi.ng/math";
+import type { MultiVecOpVV, VecOpVV } from "./api";
+import { ARGS_VV, defHofOp } from "./internal/codegen";
+import { FN2 } from "./internal/templates";
-export const [mod, mod2, mod3, mod4] = defMathOp("%");
+/**
+ * Similar to {@link fmod}, {@link remainder}. This version of modulo uses the
+ * same logic as in GLSL, yielding different results for negative values, i.e.
+ * computes `a - b * floor(a/b)`
+ *
+ * @remarks
+ * **Caution:** Due to the introduction of libc math functions in thi.ng/math
+ * v4.0.0 and the resulting name/behavior clashes between the modulo logic in
+ * JS, C & GLSL, this function previously _was_ called `fmod`, but going forward
+ * has been renamed/swapped to align w/ its GLSL version and now exhibits a
+ * different behavior than the current {@link fmod} function.
+ *
+ * https://www.khronos.org/registry/OpenGL-Refpages/gl4/html/mod.xhtml
+ */
+export const [mod, mod2, mod3, mod4] = defHofOp(
+ _mod,
+ FN2("op"),
+ ARGS_VV
+);
diff --git a/packages/vectors/src/modn.ts b/packages/vectors/src/modn.ts
index 292c7ad803..32316c897e 100644
--- a/packages/vectors/src/modn.ts
+++ b/packages/vectors/src/modn.ts
@@ -1,3 +1,15 @@
-import { defMathOpN } from "./internal/codegen";
+import { mod as _mod } from "@thi.ng/math";
+import type { MultiVecOpVN, VecOpVN } from "./api";
+import { ARGS_V, ARGS_VN, defHofOp } from "./internal/codegen";
+import { FN_N } from "./internal/templates";
-export const [modN, modN2, modN3, modN4] = defMathOpN("%");
+/**
+ * Same as {@link mod}, but 2nd operand is a single scalar (uniform domain for
+ * all vector components).
+ */
+export const [modN, modN2, modN3, modN4] = defHofOp(
+ _mod,
+ FN_N("op"),
+ ARGS_VN,
+ ARGS_V
+);
diff --git a/packages/vectors/src/random.ts b/packages/vectors/src/random.ts
index 5856df2bb8..f2e1839df3 100644
--- a/packages/vectors/src/random.ts
+++ b/packages/vectors/src/random.ts
@@ -27,8 +27,13 @@ export const [random, random2, random3, random4] = defHofOp<
"!a && (a=[]);"
);
+const $norm =
+ (random: VecOpOOO) =>
+ (v: Vec | null, n = 1, rnd: IRandom = SYSTEM) =>
+ normalize(random((v = v || []), -1, 1, rnd), v, n);
+
/**
- * Sets `v` to random vector, normalized to length `n` (default: 1). If
+ * Sets `v` to a random vector, normalized to length `n` (default: 1). If
* no `rnd` instance is given, uses {@link @thi.ng/random#SYSTEM}, i.e.
* `Math.random`.
*
@@ -36,8 +41,10 @@ export const [random, random2, random3, random4] = defHofOp<
* @param n -
* @param rnd -
*/
-export const randNorm = (v: Vec | null, n = 1, rnd: IRandom = SYSTEM) =>
- normalize((v = random(v, -1, 1, rnd)), v, n);
+export const randNorm = $norm(random);
+export const randNorm2 = $norm(random2);
+export const randNorm3 = $norm(random3);
+export const randNorm4 = $norm(random4);
/**
* Sets `out` to random vector with each component in the semi-open
diff --git a/packages/vectors/src/remainder.ts b/packages/vectors/src/remainder.ts
new file mode 100644
index 0000000000..4f47f9a902
--- /dev/null
+++ b/packages/vectors/src/remainder.ts
@@ -0,0 +1,17 @@
+import { remainder as _remainder } from "@thi.ng/math";
+import type { MultiVecOpVV, VecOpVV } from "./api";
+import { ARGS_VV, defHofOp } from "./internal/codegen";
+import { FN2 } from "./internal/templates";
+
+/**
+ * This version of mod uses the same logic as the standard C function
+ * `remainder()` (or its equivavalent in the thi.ng/maths package), i.e.
+ * componentwise `a - b * round(a / b)`.
+ *
+ * @remarks
+ * Also see {@link @thi.ng/math#remainder}.
+ */
+export const [remainder, remainder2, remainder3, remainder4] = defHofOp<
+ MultiVecOpVV,
+ VecOpVV
+>(_remainder, FN2("op"), ARGS_VV);
diff --git a/packages/vectors/src/remaindern.ts b/packages/vectors/src/remaindern.ts
new file mode 100644
index 0000000000..ac53ca591c
--- /dev/null
+++ b/packages/vectors/src/remaindern.ts
@@ -0,0 +1,13 @@
+import { remainder as _remainder } from "@thi.ng/math";
+import type { MultiVecOpVN, VecOpVN } from "./api";
+import { ARGS_V, ARGS_VN, defHofOp } from "./internal/codegen";
+import { FN_N } from "./internal/templates";
+
+/**
+ * Same as {@link remainder}, but 2nd operand is a single scalar (uniform domain
+ * for all vector components).
+ */
+export const [remainderN, remainderN2, remainderN3, remainderN4] = defHofOp<
+ MultiVecOpVN,
+ VecOpVN
+>(_remainder, FN_N("op"), ARGS_VN, ARGS_V);
diff --git a/packages/vectors/tpl.readme.md b/packages/vectors/tpl.readme.md
index 147a6d8d1a..399463bb34 100644
--- a/packages/vectors/tpl.readme.md
+++ b/packages/vectors/tpl.readme.md
@@ -73,6 +73,18 @@ Partially ported from [thi.ng/geom-clj](http://thi.ng/geom-clj) (Clojure) and
${status}
+### Breaking changes in v6.0.0
+
+The introduction of seveveral standard [libc math
+functions](https://www.cplusplus.com/reference/cmath/) to the
+[@thi.ng/math](https://github.com/thi-ng/umbrella/tree/develop/packages/math)
+package caused a behavior change of existing `fmod()` function. For symmetry
+reasons the same changes have been applied to this package...
+
+- swap `fmod()` ⇄ `mod()`, to align the latter with its GLSL counterpart
+- the new `fmod()` has standard libc behavior (same as JS `%` operator)
+- add `remainder()` with standard libc behavior
+
### Breaking changes in v3.0.0
- to avoid confusion, the arg order of `madd` and `maddN` functions have
@@ -243,15 +255,16 @@ Vanilla vector (array) factories:
Component wise op with 2 input vectors:
-| Function | Generic | Fixed | Strided | Int | Comments |
-|----------|---------|-------|---------|--------------|-----------------|
-| `add` | ✓ | 2-4 | S2-S4 | I2-I4, U2-U4 | |
-| `div` | ✓ | 2-4 | S2-S4 | I2-I4, U2-U4 | |
-| `mul` | ✓ | 2-4 | S2-S4 | I2-I4, U2-U4 | |
-| `sub` | ✓ | 2-4 | S2-S4 | I2-I4, U2-U4 | |
-| `fmod` | ✓ | 2-4 | | | (GLSL behavior) |
-| `mod` | ✓ | 2-4 | | | (JS behavior) |
-| `pow` | ✓ | 2-4 | | | |
+| Function | Generic | Fixed | Strided | Int | Comments |
+|-------------|---------|-------|---------|--------------|-----------------|
+| `add` | ✓ | 2-4 | S2-S4 | I2-I4, U2-U4 | |
+| `div` | ✓ | 2-4 | S2-S4 | I2-I4, U2-U4 | |
+| `mul` | ✓ | 2-4 | S2-S4 | I2-I4, U2-U4 | |
+| `sub` | ✓ | 2-4 | S2-S4 | I2-I4, U2-U4 | |
+| `fmod` | ✓ | 2-4 | | | (C/JS behavior) |
+| `mod` | ✓ | 2-4 | | | (GLSL behavior) |
+| `pow` | ✓ | 2-4 | | | |
+| `remainder` | ✓ | 2-4 | | | (C behavior) |
```ts
// generic
@@ -275,17 +288,18 @@ addS2([], [1,0,2,0], [0,10,0,0,0,20], 0, 0, 1, 1, 2, 4)
Component wise op with one input vector and single scalar:
-| Function | Generic | Fixed | Strided | Int | Comments |
-|----------|---------|-------|---------|--------------|----------------------------|
-| `addN` | ✓ | 2-4 | S2-S4 | I2-I4, U2-U4 | |
-| `divN` | ✓ | 2-4 | S2-S4 | I2-I4, U2-U4 | |
-| `mulN` | ✓ | 2-4 | S2-S4 | I2-I4, U2-U4 | |
-| `subN` | ✓ | 2-4 | S2-S4 | I2-I4, U2-U4 | |
-| `neg` | ✓ | | | | same as `mulN(out, v, -1)` |
-| `fmodN` | ✓ | 2-4 | | | (GLSL behavior) |
-| `modN` | ✓ | 2-4 | | | (JS behavior) |
-| `powN` | ✓ | 2-4 | | | |
-| `roundN` | ✓ | 2-4 | | | |
+| Function | Generic | Fixed | Strided | Int | Comments |
+|--------------|---------|-------|---------|--------------|----------------------------|
+| `addN` | ✓ | 2-4 | S2-S4 | I2-I4, U2-U4 | |
+| `divN` | ✓ | 2-4 | S2-S4 | I2-I4, U2-U4 | |
+| `mulN` | ✓ | 2-4 | S2-S4 | I2-I4, U2-U4 | |
+| `subN` | ✓ | 2-4 | S2-S4 | I2-I4, U2-U4 | |
+| `neg` | ✓ | | | | same as `mulN(out, v, -1)` |
+| `fmodN` | ✓ | 2-4 | | | (C/JS behavior) |
+| `modN` | ✓ | 2-4 | | | (GLSL behavior) |
+| `powN` | ✓ | 2-4 | | | |
+| `remainderN` | ✓ | 2-4 | | | (C behavior) |
+| `roundN` | ✓ | 2-4 | | | |
### Combined operations
@@ -351,14 +365,15 @@ Component wise op with one input vector and single scalar:
### Distances
-| Function | Generic | Fixed | Strided | Int | Comments |
-|-----------------|---------|-------|---------|-----|---------------------|
-| `dist` | ✓ | | | | |
-| `distSq` | ✓ | 2-4 | | | |
-| `distChebyshev` | ✓ | 2-4 | | | |
-| `distHaversine` | | 2 | | | lon/lat coordinates |
-| `distManhattan` | ✓ | 2-4 | | | |
-| `pointOnRay` | ✓ | 2-3 | | | point at distance |
+| Function | Generic | Fixed | Strided | Int | Comments |
+|-----------------------|---------|-------|---------|-----|---------------------|
+| `dist` | ✓ | | | | |
+| `distSq` | ✓ | 2-4 | | | |
+| `distChebyshev` | ✓ | 2-4 | | | |
+| `distHaversineLatLon` | | 2 | | | lat/lon coordinates |
+| `distHaversineLonLat` | | 2 | | | lon/lat coordinates |
+| `distManhattan` | ✓ | 2-4 | | | |
+| `pointOnRay` | ✓ | 2-3 | | | point at distance |
### Orientation
@@ -420,7 +435,7 @@ All ops support custom PRNG impls based on the
|--------------|---------|-------|---------|-----|----------|
| `jitter` | ✓ | | | | |
| `randMinMax` | ✓ | 2-4 | S2-S4 | | |
-| `randNorm` | ✓ | | S2-S4 | | |
+| `randNorm` | ✓ | 2-4 | S2-S4 | | |
| `random` | ✓ | 2-4 | S2-S4 | | |
### Unary vector math ops
diff --git a/packages/viz/CHANGELOG.md b/packages/viz/CHANGELOG.md
index 0062be063d..9151b9ffd4 100644
--- a/packages/viz/CHANGELOG.md
+++ b/packages/viz/CHANGELOG.md
@@ -3,79 +3,7 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
-## [0.2.25](https://github.com/thi-ng/umbrella/compare/@thi.ng/viz@0.2.24...@thi.ng/viz@0.2.25) (2021-04-03)
-
-**Note:** Version bump only for package @thi.ng/viz
-
-
-
-
-
-## [0.2.24](https://github.com/thi-ng/umbrella/compare/@thi.ng/viz@0.2.23...@thi.ng/viz@0.2.24) (2021-03-30)
-
-**Note:** Version bump only for package @thi.ng/viz
-
-
-
-
-
-## [0.2.23](https://github.com/thi-ng/umbrella/compare/@thi.ng/viz@0.2.22...@thi.ng/viz@0.2.23) (2021-03-28)
-
-**Note:** Version bump only for package @thi.ng/viz
-
-
-
-
-
-## [0.2.22](https://github.com/thi-ng/umbrella/compare/@thi.ng/viz@0.2.21...@thi.ng/viz@0.2.22) (2021-03-27)
-
-**Note:** Version bump only for package @thi.ng/viz
-
-
-
-
-
-## [0.2.21](https://github.com/thi-ng/umbrella/compare/@thi.ng/viz@0.2.20...@thi.ng/viz@0.2.21) (2021-03-24)
-
-**Note:** Version bump only for package @thi.ng/viz
-
-
-
-
-
-## [0.2.20](https://github.com/thi-ng/umbrella/compare/@thi.ng/viz@0.2.19...@thi.ng/viz@0.2.20) (2021-03-24)
-
-**Note:** Version bump only for package @thi.ng/viz
-
-
-
-
-
-## [0.2.19](https://github.com/thi-ng/umbrella/compare/@thi.ng/viz@0.2.18...@thi.ng/viz@0.2.19) (2021-03-21)
-
-**Note:** Version bump only for package @thi.ng/viz
-
-
-
-
-
-## [0.2.18](https://github.com/thi-ng/umbrella/compare/@thi.ng/viz@0.2.17...@thi.ng/viz@0.2.18) (2021-03-21)
-
-**Note:** Version bump only for package @thi.ng/viz
-
-
-
-
-
-## [0.2.17](https://github.com/thi-ng/umbrella/compare/@thi.ng/viz@0.2.16...@thi.ng/viz@0.2.17) (2021-03-17)
-
-**Note:** Version bump only for package @thi.ng/viz
-
-
-
-
-
-## [0.2.16](https://github.com/thi-ng/umbrella/compare/@thi.ng/viz@0.2.15...@thi.ng/viz@0.2.16) (2021-03-12)
+## [0.2.30](https://github.com/thi-ng/umbrella/compare/@thi.ng/viz@0.2.29...@thi.ng/viz@0.2.30) (2021-06-08)
**Note:** Version bump only for package @thi.ng/viz
diff --git a/packages/viz/README.md b/packages/viz/README.md
index efa6b19255..3cb201a9bb 100644
--- a/packages/viz/README.md
+++ b/packages/viz/README.md
@@ -72,7 +72,7 @@ yarn add @thi.ng/viz
```
-Package sizes (gzipped, pre-treeshake): ESM: 2.49 KB / CJS: 2.65 KB / UMD: 2.56 KB
+Package sizes (gzipped, pre-treeshake): ESM: 2.52 KB / CJS: 2.67 KB / UMD: 2.58 KB
## Dependencies
diff --git a/packages/viz/package.json b/packages/viz/package.json
index d26abf72df..f8e9afe099 100644
--- a/packages/viz/package.json
+++ b/packages/viz/package.json
@@ -1,6 +1,6 @@
{
"name": "@thi.ng/viz",
- "version": "0.2.25",
+ "version": "0.2.30",
"description": "Declarative, functional & multi-format data visualization toolkit based around @thi.ng/hiccup",
"module": "./index.js",
"main": "./lib/index.js",
@@ -46,23 +46,23 @@
"devDependencies": {
"@istanbuljs/nyc-config-typescript": "^1.0.1",
"@microsoft/api-extractor": "^7.13.1",
- "@thi.ng/date": "^0.4.0",
+ "@thi.ng/date": "^0.6.0",
"@types/mocha": "^8.2.0",
"@types/node": "^14.14.14",
- "mocha": "^8.3.0",
+ "mocha": "^9.0.0",
"nyc": "^15.1.0",
- "ts-node": "^9.1.1",
+ "ts-node": "^10.0.0",
"typedoc": "^0.20.30",
- "typescript": "^4.2.3"
+ "typescript": "4.2.4"
},
"dependencies": {
- "@thi.ng/api": "^7.1.4",
- "@thi.ng/arrays": "^0.10.10",
- "@thi.ng/associative": "^5.2.1",
- "@thi.ng/checks": "^2.9.6",
- "@thi.ng/math": "^3.4.0",
- "@thi.ng/strings": "^2.1.0",
- "@thi.ng/transducers": "^7.6.10"
+ "@thi.ng/api": "^7.1.5",
+ "@thi.ng/arrays": "^0.10.12",
+ "@thi.ng/associative": "^5.2.5",
+ "@thi.ng/checks": "^2.9.7",
+ "@thi.ng/math": "^4.0.1",
+ "@thi.ng/strings": "^2.1.1",
+ "@thi.ng/transducers": "^7.7.3"
},
"files": [
"*.js",
diff --git a/packages/viz/src/plot/line.ts b/packages/viz/src/plot/line.ts
index 8d09e18633..df40941dba 100644
--- a/packages/viz/src/plot/line.ts
+++ b/packages/viz/src/plot/line.ts
@@ -1,15 +1,7 @@
-import type { DomainValues, PlotFn } from "../api";
-import { processedPoints } from "./utils";
+import { defSimplePlotFn } from "./utils";
export interface LinePlotOpts {
attribs: any;
}
-export const linePlot = (
- data: DomainValues,
- opts: Partial = {}
-): PlotFn => (spec) => [
- "polyline",
- opts.attribs || {},
- [...processedPoints(spec, data, true)],
-];
+export const linePlot = defSimplePlotFn("polyline");
diff --git a/packages/viz/src/plot/scatter.ts b/packages/viz/src/plot/scatter.ts
index b3a4ce5535..35b8fc294c 100644
--- a/packages/viz/src/plot/scatter.ts
+++ b/packages/viz/src/plot/scatter.ts
@@ -1,15 +1,7 @@
-import type { DomainValues, PlotFn } from "../api";
-import { processedPoints } from "./utils";
+import { defSimplePlotFn } from "./utils";
export interface ScatterPlotOpts {
attribs: any;
}
-export const scatterPlot = (
- data: DomainValues,
- opts: Partial = {}
-): PlotFn => (spec) => [
- "points",
- opts.attribs || {},
- [...processedPoints(spec, data, true)],
-];
+export const scatterPlot = defSimplePlotFn("points");
diff --git a/packages/viz/src/plot/utils.ts b/packages/viz/src/plot/utils.ts
index 922f8fdac1..c44a0254a3 100644
--- a/packages/viz/src/plot/utils.ts
+++ b/packages/viz/src/plot/utils.ts
@@ -1,7 +1,7 @@
import type { Fn } from "@thi.ng/api";
import { isFunction } from "@thi.ng/checks";
import { clamp, inRange } from "@thi.ng/math";
-import type { AxisSpec, DomainValues, VizSpec } from "../api";
+import type { AxisSpec, DomainValues, PlotFn, VizSpec } from "../api";
/** @internal */
export const valueMapper = (
@@ -32,3 +32,20 @@ export function* processedPoints(
yield pointOnly ? mapper(p) : [mapper(p), p];
}
}
+
+/**
+ * Returns a simple {@link PlotFn} which uses a single `shape` element and
+ * produces its points via {@link processedPoints}.
+ *
+ * @param shape -
+ *
+ * @internal
+ */
+export const defSimplePlotFn = (shape: string) => (
+ data: DomainValues,
+ opts: Partial = {}
+): PlotFn => (spec) => [
+ shape,
+ opts.attribs || {},
+ [...processedPoints(spec, data, true)],
+];
diff --git a/packages/webgl-msdf/CHANGELOG.md b/packages/webgl-msdf/CHANGELOG.md
index c196125fd1..04fb03c3ab 100644
--- a/packages/webgl-msdf/CHANGELOG.md
+++ b/packages/webgl-msdf/CHANGELOG.md
@@ -3,55 +3,7 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
-## [0.1.85](https://github.com/thi-ng/umbrella/compare/@thi.ng/webgl-msdf@0.1.84...@thi.ng/webgl-msdf@0.1.85) (2021-04-03)
-
-**Note:** Version bump only for package @thi.ng/webgl-msdf
-
-
-
-
-
-## [0.1.84](https://github.com/thi-ng/umbrella/compare/@thi.ng/webgl-msdf@0.1.83...@thi.ng/webgl-msdf@0.1.84) (2021-03-30)
-
-**Note:** Version bump only for package @thi.ng/webgl-msdf
-
-
-
-
-
-## [0.1.83](https://github.com/thi-ng/umbrella/compare/@thi.ng/webgl-msdf@0.1.82...@thi.ng/webgl-msdf@0.1.83) (2021-03-28)
-
-**Note:** Version bump only for package @thi.ng/webgl-msdf
-
-
-
-
-
-## [0.1.82](https://github.com/thi-ng/umbrella/compare/@thi.ng/webgl-msdf@0.1.81...@thi.ng/webgl-msdf@0.1.82) (2021-03-27)
-
-**Note:** Version bump only for package @thi.ng/webgl-msdf
-
-
-
-
-
-## [0.1.81](https://github.com/thi-ng/umbrella/compare/@thi.ng/webgl-msdf@0.1.80...@thi.ng/webgl-msdf@0.1.81) (2021-03-20)
-
-**Note:** Version bump only for package @thi.ng/webgl-msdf
-
-
-
-
-
-## [0.1.80](https://github.com/thi-ng/umbrella/compare/@thi.ng/webgl-msdf@0.1.79...@thi.ng/webgl-msdf@0.1.80) (2021-03-17)
-
-**Note:** Version bump only for package @thi.ng/webgl-msdf
-
-
-
-
-
-## [0.1.79](https://github.com/thi-ng/umbrella/compare/@thi.ng/webgl-msdf@0.1.78...@thi.ng/webgl-msdf@0.1.79) (2021-03-12)
+## [0.1.90](https://github.com/thi-ng/umbrella/compare/@thi.ng/webgl-msdf@0.1.89...@thi.ng/webgl-msdf@0.1.90) (2021-06-08)
**Note:** Version bump only for package @thi.ng/webgl-msdf
diff --git a/packages/webgl-msdf/package.json b/packages/webgl-msdf/package.json
index a9bf53f839..014ca26468 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.85",
+ "version": "0.1.90",
"description": "Multi-channel SDF font rendering & basic text layout for WebGL",
"module": "./index.js",
"main": "./lib/index.js",
@@ -42,19 +42,19 @@
"@microsoft/api-extractor": "^7.13.1",
"@types/mocha": "^8.2.0",
"@types/node": "^14.14.14",
- "mocha": "^8.3.0",
+ "mocha": "^9.0.0",
"nyc": "^15.1.0",
- "ts-node": "^9.1.1",
+ "ts-node": "^10.0.0",
"typedoc": "^0.20.30",
- "typescript": "^4.2.3"
+ "typescript": "4.2.4"
},
"dependencies": {
- "@thi.ng/api": "^7.1.4",
- "@thi.ng/shader-ast": "^0.8.10",
- "@thi.ng/transducers": "^7.6.10",
- "@thi.ng/vector-pools": "^2.0.11",
- "@thi.ng/vectors": "^5.2.1",
- "@thi.ng/webgl": "^4.0.12"
+ "@thi.ng/api": "^7.1.5",
+ "@thi.ng/shader-ast": "^0.8.14",
+ "@thi.ng/transducers": "^7.7.3",
+ "@thi.ng/vector-pools": "^2.0.15",
+ "@thi.ng/vectors": "^6.0.1",
+ "@thi.ng/webgl": "^5.0.0"
},
"files": [
"*.js",
diff --git a/packages/webgl-shadertoy/CHANGELOG.md b/packages/webgl-shadertoy/CHANGELOG.md
index cd33e4d567..f3d43906e4 100644
--- a/packages/webgl-shadertoy/CHANGELOG.md
+++ b/packages/webgl-shadertoy/CHANGELOG.md
@@ -3,55 +3,7 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
-## [0.2.72](https://github.com/thi-ng/umbrella/compare/@thi.ng/webgl-shadertoy@0.2.71...@thi.ng/webgl-shadertoy@0.2.72) (2021-04-03)
-
-**Note:** Version bump only for package @thi.ng/webgl-shadertoy
-
-
-
-
-
-## [0.2.71](https://github.com/thi-ng/umbrella/compare/@thi.ng/webgl-shadertoy@0.2.70...@thi.ng/webgl-shadertoy@0.2.71) (2021-03-30)
-
-**Note:** Version bump only for package @thi.ng/webgl-shadertoy
-
-
-
-
-
-## [0.2.70](https://github.com/thi-ng/umbrella/compare/@thi.ng/webgl-shadertoy@0.2.69...@thi.ng/webgl-shadertoy@0.2.70) (2021-03-28)
-
-**Note:** Version bump only for package @thi.ng/webgl-shadertoy
-
-
-
-
-
-## [0.2.69](https://github.com/thi-ng/umbrella/compare/@thi.ng/webgl-shadertoy@0.2.68...@thi.ng/webgl-shadertoy@0.2.69) (2021-03-27)
-
-**Note:** Version bump only for package @thi.ng/webgl-shadertoy
-
-
-
-
-
-## [0.2.68](https://github.com/thi-ng/umbrella/compare/@thi.ng/webgl-shadertoy@0.2.67...@thi.ng/webgl-shadertoy@0.2.68) (2021-03-20)
-
-**Note:** Version bump only for package @thi.ng/webgl-shadertoy
-
-
-
-
-
-## [0.2.67](https://github.com/thi-ng/umbrella/compare/@thi.ng/webgl-shadertoy@0.2.66...@thi.ng/webgl-shadertoy@0.2.67) (2021-03-17)
-
-**Note:** Version bump only for package @thi.ng/webgl-shadertoy
-
-
-
-
-
-## [0.2.66](https://github.com/thi-ng/umbrella/compare/@thi.ng/webgl-shadertoy@0.2.65...@thi.ng/webgl-shadertoy@0.2.66) (2021-03-12)
+## [0.2.77](https://github.com/thi-ng/umbrella/compare/@thi.ng/webgl-shadertoy@0.2.76...@thi.ng/webgl-shadertoy@0.2.77) (2021-06-08)
**Note:** Version bump only for package @thi.ng/webgl-shadertoy
diff --git a/packages/webgl-shadertoy/package.json b/packages/webgl-shadertoy/package.json
index 7b7586e0ad..d4fca5f0a7 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.72",
+ "version": "0.2.77",
"description": "Basic WebGL scaffolding for running interactive fragment shaders via @thi.ng/shader-ast",
"module": "./index.js",
"main": "./lib/index.js",
@@ -42,17 +42,17 @@
"@microsoft/api-extractor": "^7.13.1",
"@types/mocha": "^8.2.0",
"@types/node": "^14.14.14",
- "mocha": "^8.3.0",
+ "mocha": "^9.0.0",
"nyc": "^15.1.0",
- "ts-node": "^9.1.1",
+ "ts-node": "^10.0.0",
"typedoc": "^0.20.30",
- "typescript": "^4.2.3"
+ "typescript": "4.2.4"
},
"dependencies": {
- "@thi.ng/api": "^7.1.4",
- "@thi.ng/shader-ast": "^0.8.10",
- "@thi.ng/shader-ast-glsl": "^0.2.32",
- "@thi.ng/webgl": "^4.0.12"
+ "@thi.ng/api": "^7.1.5",
+ "@thi.ng/shader-ast": "^0.8.14",
+ "@thi.ng/shader-ast-glsl": "^0.2.36",
+ "@thi.ng/webgl": "^5.0.0"
},
"files": [
"*.js",
diff --git a/packages/webgl/CHANGELOG.md b/packages/webgl/CHANGELOG.md
index 267ed0f495..a1d5a06f95 100644
--- a/packages/webgl/CHANGELOG.md
+++ b/packages/webgl/CHANGELOG.md
@@ -3,57 +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.12](https://github.com/thi-ng/umbrella/compare/@thi.ng/webgl@4.0.11...@thi.ng/webgl@4.0.12) (2021-04-03)
-
-**Note:** Version bump only for package @thi.ng/webgl
-
-
-
-
-
-## [4.0.11](https://github.com/thi-ng/umbrella/compare/@thi.ng/webgl@4.0.10...@thi.ng/webgl@4.0.11) (2021-03-30)
-
-**Note:** Version bump only for package @thi.ng/webgl
-
-
-
-
-
-## [4.0.10](https://github.com/thi-ng/umbrella/compare/@thi.ng/webgl@4.0.9...@thi.ng/webgl@4.0.10) (2021-03-28)
-
-**Note:** Version bump only for package @thi.ng/webgl
-
-
-
-
-
-## [4.0.9](https://github.com/thi-ng/umbrella/compare/@thi.ng/webgl@4.0.8...@thi.ng/webgl@4.0.9) (2021-03-27)
-
-**Note:** Version bump only for package @thi.ng/webgl
-
-
-
-
-
-## [4.0.8](https://github.com/thi-ng/umbrella/compare/@thi.ng/webgl@4.0.7...@thi.ng/webgl@4.0.8) (2021-03-20)
-
-**Note:** Version bump only for package @thi.ng/webgl
-
-
+# [5.0.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/webgl@4.0.16...@thi.ng/webgl@5.0.0) (2021-06-08)
+### Code Refactoring
-## [4.0.7](https://github.com/thi-ng/umbrella/compare/@thi.ng/webgl@4.0.6...@thi.ng/webgl@4.0.7) (2021-03-17)
+* **webgl:** update multipass texture uniforms ([86d363a](https://github.com/thi-ng/umbrella/commit/86d363aa80c1861388bccd9fb57000afd96e4257))
-**Note:** Version bump only for package @thi.ng/webgl
+### Features
+* **webgl:** add passCopy() HOF pass gen ([fb6b5b7](https://github.com/thi-ng/umbrella/commit/fb6b5b76d16a75d157499f7ccf46c777a063131e))
+### BREAKING CHANGES
-## [4.0.6](https://github.com/thi-ng/umbrella/compare/@thi.ng/webgl@4.0.5...@thi.ng/webgl@4.0.6) (2021-03-12)
+* **webgl:** replace input tex `sampler2D[]` array w/ named inputs
-**Note:** Version bump only for package @thi.ng/webgl
+- new unis: `input0`, `input1`, etc. to sync w/ same approach as
+ already used for outputs
+- new approach also simplifies texture lookups in shader-ast code
diff --git a/packages/webgl/README.md b/packages/webgl/README.md
index 40655f25fd..1d199a0952 100644
--- a/packages/webgl/README.md
+++ b/packages/webgl/README.md
@@ -91,7 +91,7 @@ yarn add @thi.ng/webgl
```
-Package sizes (gzipped, pre-treeshake): ESM: 11.79 KB / CJS: 12.00 KB / UMD: 11.79 KB
+Package sizes (gzipped, pre-treeshake): ESM: 11.90 KB / CJS: 12.10 KB / UMD: 11.88 KB
## Dependencies
diff --git a/packages/webgl/package.json b/packages/webgl/package.json
index f871621e9d..4436620def 100644
--- a/packages/webgl/package.json
+++ b/packages/webgl/package.json
@@ -1,6 +1,6 @@
{
"name": "@thi.ng/webgl",
- "version": "4.0.12",
+ "version": "5.0.0",
"description": "WebGL & GLSL abstraction layer",
"module": "./index.js",
"main": "./lib/index.js",
@@ -42,28 +42,28 @@
"@microsoft/api-extractor": "^7.13.1",
"@types/mocha": "^8.2.0",
"@types/node": "^14.14.14",
- "mocha": "^8.3.0",
+ "mocha": "^9.0.0",
"nyc": "^15.1.0",
- "ts-node": "^9.1.1",
+ "ts-node": "^10.0.0",
"typedoc": "^0.20.30",
- "typescript": "^4.2.3"
+ "typescript": "4.2.4"
},
"dependencies": {
- "@thi.ng/adapt-dpi": "^1.0.19",
- "@thi.ng/api": "^7.1.4",
- "@thi.ng/associative": "^5.2.1",
- "@thi.ng/checks": "^2.9.6",
- "@thi.ng/equiv": "^1.0.41",
- "@thi.ng/errors": "^1.3.0",
- "@thi.ng/matrices": "^0.6.55",
- "@thi.ng/memoize": "^2.1.14",
- "@thi.ng/pixel": "^0.9.0",
- "@thi.ng/shader-ast": "^0.8.10",
- "@thi.ng/shader-ast-glsl": "^0.2.32",
- "@thi.ng/shader-ast-stdlib": "^0.5.24",
- "@thi.ng/transducers": "^7.6.10",
- "@thi.ng/vector-pools": "^2.0.11",
- "@thi.ng/vectors": "^5.2.1"
+ "@thi.ng/adapt-dpi": "^1.0.20",
+ "@thi.ng/api": "^7.1.5",
+ "@thi.ng/associative": "^5.2.5",
+ "@thi.ng/checks": "^2.9.7",
+ "@thi.ng/equiv": "^1.0.42",
+ "@thi.ng/errors": "^1.3.1",
+ "@thi.ng/matrices": "^0.6.59",
+ "@thi.ng/memoize": "^2.1.15",
+ "@thi.ng/pixel": "^0.10.3",
+ "@thi.ng/shader-ast": "^0.8.14",
+ "@thi.ng/shader-ast-glsl": "^0.2.36",
+ "@thi.ng/shader-ast-stdlib": "^0.6.1",
+ "@thi.ng/transducers": "^7.7.3",
+ "@thi.ng/vector-pools": "^2.0.15",
+ "@thi.ng/vectors": "^6.0.1"
},
"files": [
"*.js",
diff --git a/packages/webgl/src/multipass.ts b/packages/webgl/src/multipass.ts
index bba78e7800..ba9183843d 100644
--- a/packages/webgl/src/multipass.ts
+++ b/packages/webgl/src/multipass.ts
@@ -1,4 +1,12 @@
import { assert, IObjectOf } from "@thi.ng/api";
+import {
+ $xy,
+ assign,
+ defMain,
+ INT0,
+ ivec2,
+ texelFetch,
+} from "@thi.ng/shader-ast";
import { assocObj, map, range, some, transduce } from "@thi.ng/transducers";
import type { ExtensionBehaviors } from "./api/ext";
import type { Multipass, MultipassOpts, PassOpts } from "./api/multipass";
@@ -6,6 +14,7 @@ import type {
ShaderOutputSpec,
ShaderSpec,
ShaderUniformSpecs,
+ UniformDecl,
} from "./api/shader";
import type { ITexture } from "./api/texture";
import { compileModel } from "./buffer";
@@ -113,18 +122,24 @@ const initShader = (
varying: pass.varying,
uniforms: {
...pass.uniforms,
- ...(numIns
- ? {
- inputs: ["sampler2D[]", numIns, [...range(numIns)]],
- }
- : null),
+ ...transduce(
+ map(
+ (i) =>
+ <[string, UniformDecl]>[`input${i}`, ["sampler2D", i]]
+ ),
+ assocObj(),
+ range(numIns)
+ ),
},
outputs: numOuts
? transduce(
- map((i) => [
- `output${i}`,
- ["vec4", i],
- ]),
+ map(
+ (i) =>
+ <[string, ShaderOutputSpec]>[
+ `output${i}`,
+ ["vec4", i],
+ ]
+ ),
assocObj(),
range(numOuts)
)
@@ -173,3 +188,44 @@ const initBuffers = (
).map((pass) =>
defFBO(opts.gl, { tex: pass.outputs.map((id) => textures[id]) })
);
+
+/**
+ * Returns a dynamically generated single pass spec ({@link PassOpts}) for use
+ * within a larger multipass pipeline spec, and which copies given `src`
+ * textures into their respective `dest` textures (e.g. for feedback purposes).
+ *
+ * @remarks
+ * Both arrays must have same length. The first `src` texture is written to the
+ * first `dest` tex, etc.
+ *
+ * WebGL2 only (uses `texelFetch()`)
+ *
+ * @param src
+ * @param dest
+ */
+export const passCopy = (src: string[], dest: string[]): PassOpts => {
+ assert(
+ src.length === dest.length,
+ `require same number of in/out textures`
+ );
+ return {
+ fs: (gl, unis, _, outs) => [
+ defMain(() => [
+ ...map(
+ (i) =>
+ assign(
+ outs[`output${i}`],
+ texelFetch(
+ unis[`input${i}`],
+ ivec2($xy(gl.gl_FragCoord)),
+ INT0
+ )
+ ),
+ range(src.length)
+ ),
+ ]),
+ ],
+ inputs: src,
+ outputs: dest,
+ };
+};
diff --git a/packages/zipper/CHANGELOG.md b/packages/zipper/CHANGELOG.md
index e28569edd8..78af00f800 100644
--- a/packages/zipper/CHANGELOG.md
+++ b/packages/zipper/CHANGELOG.md
@@ -3,23 +3,7 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
-## [0.1.44](https://github.com/thi-ng/umbrella/compare/@thi.ng/zipper@0.1.43...@thi.ng/zipper@0.1.44) (2021-04-03)
-
-**Note:** Version bump only for package @thi.ng/zipper
-
-
-
-
-
-## [0.1.43](https://github.com/thi-ng/umbrella/compare/@thi.ng/zipper@0.1.42...@thi.ng/zipper@0.1.43) (2021-03-17)
-
-**Note:** Version bump only for package @thi.ng/zipper
-
-
-
-
-
-## [0.1.42](https://github.com/thi-ng/umbrella/compare/@thi.ng/zipper@0.1.41...@thi.ng/zipper@0.1.42) (2021-03-12)
+## [0.1.46](https://github.com/thi-ng/umbrella/compare/@thi.ng/zipper@0.1.45...@thi.ng/zipper@0.1.46) (2021-06-08)
**Note:** Version bump only for package @thi.ng/zipper
diff --git a/packages/zipper/package.json b/packages/zipper/package.json
index 5dab99fc08..24d3755382 100644
--- a/packages/zipper/package.json
+++ b/packages/zipper/package.json
@@ -1,6 +1,6 @@
{
"name": "@thi.ng/zipper",
- "version": "0.1.44",
+ "version": "0.1.46",
"description": "Functional tree editing, manipulation & navigation",
"module": "./index.js",
"main": "./lib/index.js",
@@ -42,16 +42,16 @@
"@microsoft/api-extractor": "^7.13.1",
"@types/mocha": "^8.2.0",
"@types/node": "^14.14.14",
- "mocha": "^8.3.0",
+ "mocha": "^9.0.0",
"nyc": "^15.1.0",
- "ts-node": "^9.1.1",
+ "ts-node": "^10.0.0",
"typedoc": "^0.20.30",
- "typescript": "^4.2.3"
+ "typescript": "4.2.4"
},
"dependencies": {
- "@thi.ng/api": "^7.1.4",
- "@thi.ng/arrays": "^0.10.10",
- "@thi.ng/checks": "^2.9.6"
+ "@thi.ng/api": "^7.1.5",
+ "@thi.ng/arrays": "^0.10.12",
+ "@thi.ng/checks": "^2.9.7"
},
"files": [
"*.js",
diff --git a/packages/zipper/src/zipper.ts b/packages/zipper/src/zipper.ts
index dedddcf59e..6448a6a7a5 100644
--- a/packages/zipper/src/zipper.ts
+++ b/packages/zipper/src/zipper.ts
@@ -73,7 +73,7 @@ export class Location {
return this._path ? this._path.r : undefined;
}
- get left() {
+ get left(): Location | undefined {
const path = this._path;
const lefts = path && path.l;
return lefts && lefts.length
@@ -91,7 +91,7 @@ export class Location {
: undefined;
}
- get right() {
+ get right(): Location | undefined {
const path = this._path;
const rights = path && path.r;
if (!rights) return;
@@ -109,7 +109,7 @@ export class Location {
);
}
- get leftmost() {
+ get leftmost(): Location {
const path = this._path;
const lefts = path && path.l;
return lefts && lefts.length
@@ -127,7 +127,7 @@ export class Location {
: this;
}
- get rightmost() {
+ get rightmost(): Location {
const path = this._path;
const rights = path && path.r;
return rights
@@ -148,7 +148,7 @@ export class Location {
: this;
}
- get down() {
+ get down(): Location | undefined {
if (!this.isBranch) return;
const children = this.children;
if (!children) return;
@@ -166,7 +166,7 @@ export class Location {
);
}
- get up() {
+ get up(): Location | undefined {
let path = this._path;
const pnodes = path && path.nodes;
if (!pnodes) return;
@@ -190,19 +190,19 @@ export class Location {
return parent ? parent.root : this._node;
}
- get prev() {
+ get prev(): Location | undefined {
let node = this.left;
if (!node) return this.up;
while (true) {
const child: Location | undefined = node!.isBranch
- ? this.down
+ ? node.down
: undefined;
if (!child) return node;
node = child.rightmost;
}
}
- get next() {
+ get next(): Location | undefined {
if (this.isBranch) return this.down;
let right = this.right;
if (right) return right;
diff --git a/scripts/make-example b/scripts/make-example
index 2d8397d48f..ec38a99742 100755
--- a/scripts/make-example
+++ b/scripts/make-example
@@ -143,10 +143,12 @@ module.exports = {
packageOptions: {
source: "local",
types: true,
+ knownEntrypoints: ["tslib"],
},
buildOptions: {
baseUrl: "/umbrella/$1",
},
+ workspaceRoot: "../..",
};
EOF
diff --git a/scripts/make-module b/scripts/make-module
index 7d771b307b..ebb54afcbe 100755
--- a/scripts/make-module
+++ b/scripts/make-module
@@ -87,11 +87,11 @@ cat << EOF > "$MODULE"/package.json
"@microsoft/api-extractor": "^7.13.1",
"@types/mocha": "^8.2.0",
"@types/node": "^14.14.14",
- "mocha": "^8.3.0",
+ "mocha": "^9.0.0",
"nyc": "^15.1.0",
- "ts-node": "^9.1.1",
+ "ts-node": "^10.0.0",
"typedoc": "^0.20.30",
- "typescript": "^4.2.3"
+ "typescript": "4.2.4"
},
"dependencies": {
"@thi.ng/api": "^7.1.4"
diff --git a/yarn.lock b/yarn.lock
index afc296a766..be38c285ef 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -1948,10 +1948,10 @@
execa "^5.0.0"
npm-run-path "^4.0.1"
-"@snowpack/plugin-webpack@^2.3.0":
- version "2.3.0"
- resolved "https://registry.yarnpkg.com/@snowpack/plugin-webpack/-/plugin-webpack-2.3.0.tgz#5f4da0c4afbb8d0151cdd78bdbaf78074925ef08"
- integrity sha512-x/U29rdYkqPQDHpkAMY+qBhLSOY79KzGPMxfwOv0VlWirYnkMSbRctQ8btZ9tfyUB85Or+wVY2TWj//E8Nf98A==
+"@snowpack/plugin-webpack@^2.3.1":
+ version "2.3.1"
+ resolved "https://registry.yarnpkg.com/@snowpack/plugin-webpack/-/plugin-webpack-2.3.1.tgz#f32c5a11c0a5628414b7802c685fab2fda7687b9"
+ integrity sha512-CKB9l6GwXUeAbcxLHkoRW9J9CHCILH8tMsFA1Ed+tWybbgJmzM2EieblAyIcnyIJZ7BJHuYuhbGz+6wJbednQg==
dependencies:
"@babel/core" "^7.0.0"
"@babel/preset-env" "^7.12.1"
@@ -1973,6 +1973,26 @@
resolved "https://registry.yarnpkg.com/@tootallnate/once/-/once-1.1.2.tgz#ccb91445360179a04e7fe6aff78c00ffc1eeaf82"
integrity sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==
+"@tsconfig/node10@^1.0.7":
+ version "1.0.7"
+ resolved "https://registry.yarnpkg.com/@tsconfig/node10/-/node10-1.0.7.tgz#1eb1de36c73478a2479cc661ef5af1c16d86d606"
+ integrity sha512-aBvUmXLQbayM4w3A8TrjwrXs4DZ8iduJnuJLLRGdkWlyakCf1q6uHZJBzXoRA/huAEknG5tcUyQxN3A+In5euQ==
+
+"@tsconfig/node12@^1.0.7":
+ version "1.0.7"
+ resolved "https://registry.yarnpkg.com/@tsconfig/node12/-/node12-1.0.7.tgz#677bd9117e8164dc319987dd6ff5fc1ba6fbf18b"
+ integrity sha512-dgasobK/Y0wVMswcipr3k0HpevxFJLijN03A8mYfEPvWvOs14v0ZlYTR4kIgMx8g4+fTyTFv8/jLCIfRqLDJ4A==
+
+"@tsconfig/node14@^1.0.0":
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/@tsconfig/node14/-/node14-1.0.0.tgz#5bd046e508b1ee90bc091766758838741fdefd6e"
+ integrity sha512-RKkL8eTdPv6t5EHgFKIVQgsDapugbuOptNd9OOunN/HAkzmmTnZELx1kNCK0rSdUYGmiFMM3rRQMAWiyp023LQ==
+
+"@tsconfig/node16@^1.0.1":
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/@tsconfig/node16/-/node16-1.0.1.tgz#a6ca6a9a0ff366af433f42f5f0e124794ff6b8f1"
+ integrity sha512-FTgBI767POY/lKNDNbIzgAX6miIDBs6NTCbdlDb8TrWovHsSvaVIZDlTqym29C6UqhzwcJx4CYr+AlrMywA0cA==
+
"@types/argparse@1.0.38":
version "1.0.38"
resolved "https://registry.yarnpkg.com/@types/argparse/-/argparse-1.0.38.tgz#a81fd8606d481f873a3800c6ebae4f1d768a56a9"
@@ -2004,10 +2024,10 @@
resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.45.tgz#e9387572998e5ecdac221950dab3e8c3b16af884"
integrity sha512-jnqIUKDUqJbDIUxm0Uj7bnlMnRm1T/eZ9N+AVMqhPgzrba2GhGG5o/jCTwmdPK709nEZsGoMzXEDUjcXHa3W0g==
-"@types/estree@^0.0.46":
- version "0.0.46"
- resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.46.tgz#0fb6bfbbeabd7a30880504993369c4bf1deab1fe"
- integrity sha512-laIjwTQaD+5DukBZaygQ79K1Z0jb1bPEMRrkXSLjtCcZm+abyp5YbrqpSLzD42FwWW6gK/aS4NYpJ804nG2brg==
+"@types/estree@^0.0.47":
+ version "0.0.47"
+ resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.47.tgz#d7a51db20f0650efec24cd04994f523d93172ed4"
+ integrity sha512-c5ciR06jK8u9BstrmJyO97m+klJrrhCf9u3rLu3DEAJBirxRqSCvDQoYKmxuYwQI5SZChAWu+tq9oVlGRuzPAg==
"@types/json-schema@*", "@types/json-schema@^7.0.5", "@types/json-schema@^7.0.6":
version "7.0.6"
@@ -2335,22 +2355,22 @@
"@webassemblyjs/wast-parser" "1.9.0"
"@xtuc/long" "4.2.2"
-"@webpack-cli/configtest@^1.0.1":
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/@webpack-cli/configtest/-/configtest-1.0.1.tgz#241aecfbdc715eee96bed447ed402e12ec171935"
- integrity sha512-B+4uBUYhpzDXmwuo3V9yBH6cISwxEI4J+NO5ggDaGEEHb0osY/R7MzeKc0bHURXQuZjMM4qD+bSJCKIuI3eNBQ==
+"@webpack-cli/configtest@^1.0.4":
+ version "1.0.4"
+ resolved "https://registry.yarnpkg.com/@webpack-cli/configtest/-/configtest-1.0.4.tgz#f03ce6311c0883a83d04569e2c03c6238316d2aa"
+ integrity sha512-cs3XLy+UcxiP6bj0A6u7MLLuwdXJ1c3Dtc0RkKg+wiI1g/Ti1om8+/2hc2A2B60NbBNAbMgyBMHvyymWm/j4wQ==
-"@webpack-cli/info@^1.2.2":
- version "1.2.2"
- resolved "https://registry.yarnpkg.com/@webpack-cli/info/-/info-1.2.2.tgz#ef3c0cd947a1fa083e174a59cb74e0b6195c236c"
- integrity sha512-5U9kUJHnwU+FhKH4PWGZuBC1hTEPYyxGSL5jjoBI96Gx8qcYJGOikpiIpFoTq8mmgX3im2zAo2wanv/alD74KQ==
+"@webpack-cli/info@^1.3.0":
+ version "1.3.0"
+ resolved "https://registry.yarnpkg.com/@webpack-cli/info/-/info-1.3.0.tgz#9d78a31101a960997a4acd41ffd9b9300627fe2b"
+ integrity sha512-ASiVB3t9LOKHs5DyVUcxpraBXDOKubYu/ihHhU+t1UPpxsivg6Od2E2qU4gJCekfEddzRBzHhzA/Acyw/mlK/w==
dependencies:
envinfo "^7.7.3"
-"@webpack-cli/serve@^1.3.0":
- version "1.3.0"
- resolved "https://registry.yarnpkg.com/@webpack-cli/serve/-/serve-1.3.0.tgz#2730c770f5f1f132767c63dcaaa4ec28f8c56a6c"
- integrity sha512-k2p2VrONcYVX1wRRrf0f3X2VGltLWcv+JzXRBDmvCxGlCeESx4OXw91TsWeKOkp784uNoVQo313vxJFHXPPwfw==
+"@webpack-cli/serve@^1.5.1":
+ version "1.5.1"
+ resolved "https://registry.yarnpkg.com/@webpack-cli/serve/-/serve-1.5.1.tgz#b5fde2f0f79c1e120307c415a4c1d5eb15a6f278"
+ integrity sha512-4vSVUiOPJLmr45S8rMGy7WDvpWxfFxfP/Qx/cxZFCfvoypTYpPPL1X8VIZMe0WTA+Jr7blUxwUSEZNkjoMTgSw==
"@xtuc/ieee754@^1.2.0":
version "1.2.0"
@@ -2362,10 +2382,10 @@
resolved "https://registry.yarnpkg.com/@xtuc/long/-/long-4.2.2.tgz#d291c6a4e97989b5c61d9acf396ae4fe133a718d"
integrity sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==
-"@ygoe/msgpack@^1.0.2":
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/@ygoe/msgpack/-/msgpack-1.0.2.tgz#7237b74179933bb9b73aa09d15d2a4414cfc7377"
- integrity sha512-GXnUKo8aFiTE1RmhzGXzXNXoN500Zxe0FH62thZi18xI82N+Gcdw9MWjhV0SdTEfjHFwZiw0+ZJSE8sD02pRsQ==
+"@ygoe/msgpack@^1.0.3":
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/@ygoe/msgpack/-/msgpack-1.0.3.tgz#3889f4c0c2d68b2be83e1f6f4444efab02d6f257"
+ integrity sha512-Sjp0O/sNgOJxTOO1c2Zuu7nsHRIGu2iGPYyhUedKKbcHyUl73jbCaomEFJZHNb/6i94B+ZNZHVnFgpo0ENSXxQ==
JSONStream@^1.0.4:
version "1.3.5"
@@ -2408,10 +2428,10 @@ acorn@^7.1.1:
resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.4.0.tgz#e1ad486e6c54501634c6c397c5c121daa383607c"
integrity sha512-+G7P8jJmCHr+S+cLfQxygbWhXy+8YTVGzAkpEbcLo2mLoL7tij/VG41QSHACSf5QgYRhMZYHuNc6drJaO0Da+w==
-acorn@^8.0.4:
- version "8.0.4"
- resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.0.4.tgz#7a3ae4191466a6984eee0fe3407a4f3aa9db8354"
- integrity sha512-XNP0PqF1XD19ZlLKvB7cMmnZswW4C/03pRHgirB30uSJTaS3A3V1/P4sS3HPvFmjoriPCJQs+JDSbm4bL1TxGQ==
+acorn@^8.2.1:
+ version "8.3.0"
+ resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.3.0.tgz#1193f9b96c4e8232f00b11a9edff81b2c8b98b88"
+ integrity sha512-tqPKHZ5CaBJw0Xmy0ZZvLs1qTV+BNFSyvn77ASXkpBNfIRk8ev26fKrD9iLGwGA9zedPao52GSHzq8lyZG0NUw==
add-stream@^1.0.0:
version "1.0.0"
@@ -2477,7 +2497,7 @@ alphanum-sort@^1.0.0:
resolved "https://registry.yarnpkg.com/alphanum-sort/-/alphanum-sort-1.0.2.tgz#97a1119649b211ad33691d9f9f486a8ec9fbe0a3"
integrity sha1-l6ERlkmyEa0zaR2fn0hqjsn74KM=
-ansi-colors@4.1.1, ansi-colors@^4.1.1:
+ansi-colors@4.1.1:
version "4.1.1"
resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-4.1.1.tgz#cbb9ae256bf750af1eab344f229aa27fe94ba348"
integrity sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==
@@ -2957,6 +2977,17 @@ browserslist@^4.14.5, browserslist@^4.14.7:
escalade "^3.1.1"
node-releases "^1.1.67"
+browserslist@^4.16.6:
+ version "4.16.6"
+ resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.16.6.tgz#d7901277a5a88e554ed305b183ec9b0c08f66fa2"
+ integrity sha512-Wspk/PqO+4W9qp5iUTJsa1B/QrYn1keNCcEP5OvP7WBwT4KaDly0uONYmC6Xa3Z5IqnUgS0KcgLYu1l74x0ZXQ==
+ dependencies:
+ caniuse-lite "^1.0.30001219"
+ colorette "^1.2.2"
+ electron-to-chromium "^1.3.723"
+ escalade "^3.1.1"
+ node-releases "^1.1.71"
+
buffer-from@^1.0.0:
version "1.1.1"
resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.1.tgz#32713bc028f75c02fdb710d7c7bcec1f2c6070ef"
@@ -3040,6 +3071,29 @@ cacache@^15.0.5:
tar "^6.0.2"
unique-filename "^1.1.1"
+cacache@^15.2.0:
+ version "15.2.0"
+ resolved "https://registry.yarnpkg.com/cacache/-/cacache-15.2.0.tgz#73af75f77c58e72d8c630a7a2858cb18ef523389"
+ integrity sha512-uKoJSHmnrqXgthDFx/IU6ED/5xd+NNGe+Bb+kLZy7Ku4P+BaiWEUflAKPZ7eAzsYGcsAGASJZsybXp+quEcHTw==
+ dependencies:
+ "@npmcli/move-file" "^1.0.1"
+ chownr "^2.0.0"
+ fs-minipass "^2.0.0"
+ glob "^7.1.4"
+ infer-owner "^1.0.4"
+ lru-cache "^6.0.0"
+ minipass "^3.1.1"
+ minipass-collect "^1.0.2"
+ minipass-flush "^1.0.5"
+ minipass-pipeline "^1.2.2"
+ mkdirp "^1.0.3"
+ p-map "^4.0.0"
+ promise-inflight "^1.0.1"
+ rimraf "^3.0.2"
+ ssri "^8.0.1"
+ tar "^6.0.2"
+ unique-filename "^1.1.1"
+
cache-base@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/cache-base/-/cache-base-1.0.1.tgz#0a7f46416831c8b662ee36fe4e7c59d76f666ab2"
@@ -3155,15 +3209,10 @@ caniuse-api@^3.0.0:
lodash.memoize "^4.1.2"
lodash.uniq "^4.5.0"
-caniuse-lite@^1.0.0, caniuse-lite@^1.0.30001111:
- version "1.0.30001119"
- resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001119.tgz#99185d04bc00e76a86c9ff731dc5ec8e53aefca1"
- integrity sha512-Hpwa4obv7EGP+TjkCh/wVvbtNJewxmtg4yVJBLFnxo35vbPapBr138bUWENkb5j5L9JZJ9RXLn4OrXRG/cecPQ==
-
-caniuse-lite@^1.0.30001164:
- version "1.0.30001165"
- resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001165.tgz#32955490d2f60290bb186bb754f2981917fa744f"
- integrity sha512-8cEsSMwXfx7lWSUMA2s08z9dIgsnR5NAqjXP23stdsU3AUWkCr/rr4s4OFtHXn5XXr6+7kam3QFVoYyXNPdJPA==
+caniuse-lite@^1.0.0, caniuse-lite@^1.0.30001111, caniuse-lite@^1.0.30001164, caniuse-lite@^1.0.30001219:
+ version "1.0.30001235"
+ resolved "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001235.tgz"
+ integrity sha512-zWEwIVqnzPkSAXOUlQnPW2oKoYb2aLQ4Q5ejdjBcnH63rfypaW34CxaeBn1VMya2XaEU3P/R2qHpWyj+l0BT1A==
caseless@~0.12.0:
version "0.12.0"
@@ -3179,7 +3228,7 @@ chalk@^2.0.0, chalk@^2.4.1, chalk@^2.4.2:
escape-string-regexp "^1.0.5"
supports-color "^5.3.0"
-chalk@^4.0.0, chalk@^4.1.0:
+chalk@^4.1.0:
version "4.1.0"
resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.0.tgz#4e14870a618d9e2edd97dd8345fd9d9dc315646a"
integrity sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==
@@ -3300,6 +3349,11 @@ cli-cursor@^3.1.0:
dependencies:
restore-cursor "^3.1.0"
+cli-spinners@^2.5.0:
+ version "2.6.0"
+ resolved "https://registry.yarnpkg.com/cli-spinners/-/cli-spinners-2.6.0.tgz#36c7dc98fb6a9a76bd6238ec3f77e2425627e939"
+ integrity sha512-t+4/y50K/+4xcCRosKkA7W4gTr1MySvLV0q+PxmG7FJ5g+66ChKurYjxBCjHggHH3HA5Hh9cy+lcUGWDqVH+4Q==
+
cli-width@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/cli-width/-/cli-width-3.0.0.tgz#a2f48437a2caa9a22436e794bf071ec9e61cedf6"
@@ -3411,6 +3465,11 @@ colorette@^1.2.1:
resolved "https://registry.yarnpkg.com/colorette/-/colorette-1.2.1.tgz#4d0b921325c14faf92633086a536db6e89564b1b"
integrity sha512-puCDz0CzydiSYOrnXpz/PKd69zRrribezjtE9yd4zvytoRc8+RY/KJPvtPFKZS3E3wP6neGyMe0vOTlHO5L3Pw==
+colorette@^1.2.2:
+ version "1.2.2"
+ resolved "https://registry.yarnpkg.com/colorette/-/colorette-1.2.2.tgz#cbcc79d5e99caea2dbf10eb3a26fd8b3e6acfa94"
+ integrity sha512-MKGMzyfeuutC/ZJ1cba9NqcNpfeqMUcYmyF1ZFY6/Cn7CNSAKx6a+s48sqLqyAiZuaP2TcqMhoo+dlwFnVxT9w==
+
colors@^1.4.0:
version "1.4.0"
resolved "https://registry.yarnpkg.com/colors/-/colors-1.4.0.tgz#c50491479d4c1bdaed2c9ced32cf7c7dc2360f78"
@@ -4215,6 +4274,11 @@ electron-to-chromium@^1.3.612:
resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.616.tgz#de63d1c79bb8eb61168774df0c11c9e1af69f9e8"
integrity sha512-CI8L38UN2BEnqXw3/oRIQTmde0LiSeqWSRlPA42ZTYgJQ8fYenzAM2Z3ni+jtILTcrs5aiXZCGJ96Pm+3/yGyQ==
+electron-to-chromium@^1.3.723:
+ version "1.3.749"
+ resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.749.tgz#0ecebc529ceb49dd2a7c838ae425236644c3439a"
+ integrity sha512-F+v2zxZgw/fMwPz/VUGIggG4ZndDsYy0vlpthi3tjmDZlcfbhN5mYW0evXUsBr2sUtuDANFtle410A9u/sd/4A==
+
elliptic@^6.5.3:
version "6.5.4"
resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.5.4.tgz#da37cebd31e79a1367e941b592ed1fbebd58abbb"
@@ -4252,7 +4316,7 @@ end-of-stream@^1.0.0, end-of-stream@^1.1.0:
dependencies:
once "^1.4.0"
-enhanced-resolve@^4.0.0, enhanced-resolve@^4.3.0:
+enhanced-resolve@^4.3.0:
version "4.3.0"
resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-4.3.0.tgz#3b806f3bfafc1ec7de69551ef93cca46c1704126"
integrity sha512-3e87LvavsdxyoCfGusJnrZ5G8SLPOFeHSNpZI/ATL9a5leXo2k0w6MKnbqhdBad9qTobSfB20Ld7UmgoNbAZkQ==
@@ -4261,21 +4325,14 @@ enhanced-resolve@^4.0.0, enhanced-resolve@^4.3.0:
memory-fs "^0.5.0"
tapable "^1.0.0"
-enhanced-resolve@^5.7.0:
- version "5.7.0"
- resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-5.7.0.tgz#525c5d856680fbd5052de453ac83e32049958b5c"
- integrity sha512-6njwt/NsZFUKhM6j9U8hzVyD4E4r0x7NQzhTCbcWOJ0IQjNSAoalWmb0AE51Wn+fwan5qVESWi7t2ToBxs9vrw==
+enhanced-resolve@^5.0.0, enhanced-resolve@^5.8.0:
+ version "5.8.2"
+ resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-5.8.2.tgz#15ddc779345cbb73e97c611cd00c01c1e7bf4d8b"
+ integrity sha512-F27oB3WuHDzvR2DOGNTaYy0D5o0cnrv8TeI482VM4kYgQd/FT9lUQwuNsJ0oOHtBUq7eiW5ytqzp7nBFknL+GA==
dependencies:
graceful-fs "^4.2.4"
tapable "^2.2.0"
-enquirer@^2.3.6:
- version "2.3.6"
- resolved "https://registry.yarnpkg.com/enquirer/-/enquirer-2.3.6.tgz#2a7fe5dd634a1e4125a975ec994ff5456dc3734d"
- integrity sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==
- dependencies:
- ansi-colors "^4.1.1"
-
entities@^2.0.0:
version "2.0.3"
resolved "https://registry.yarnpkg.com/entities/-/entities-2.0.3.tgz#5c487e5742ab93c15abb5da22759b8590ec03b7f"
@@ -4369,10 +4426,10 @@ es6-error@^4.0.1:
resolved "https://registry.yarnpkg.com/es6-error/-/es6-error-4.1.1.tgz#9e3af407459deed47e9a91f9b885a84eb05c561d"
integrity sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg==
-esbuild@^0.8.7:
- version "0.8.19"
- resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.8.19.tgz#773a85175cc911a77d7edae5ebabb55f26a25c43"
- integrity sha512-KeLnk6TA7yX+KEz9+eDUigJ6ZG5Z7P1pscYdBjlCMuiOFjtbm7/BCHLpLkxfaMT04KwXbS8Lovrzl9rA5xctQg==
+esbuild@^0.9.3:
+ version "0.9.7"
+ resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.9.7.tgz#ea0d639cbe4b88ec25fbed4d6ff00c8d788ef70b"
+ integrity sha512-VtUf6aQ89VTmMLKrWHYG50uByMF4JQlVysb8dmg6cOgW8JnFCipmz7p+HNBl+RR3LLCuBxFGVauAe2wfnF9bLg==
escalade@^3.0.2:
version "3.0.2"
@@ -4406,6 +4463,14 @@ escodegen@^1.14.1:
optionalDependencies:
source-map "~0.6.1"
+eslint-scope@5.1.1:
+ version "5.1.1"
+ resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-5.1.1.tgz#e786e59a66cb92b3f6c1fb0d508aab174848f48c"
+ integrity sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==
+ dependencies:
+ esrecurse "^4.3.0"
+ estraverse "^4.1.1"
+
eslint-scope@^4.0.3:
version "4.0.3"
resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-4.0.3.tgz#ca03833310f6889a3264781aa82e63eb9cfe7848"
@@ -4414,14 +4479,6 @@ eslint-scope@^4.0.3:
esrecurse "^4.1.0"
estraverse "^4.1.1"
-eslint-scope@^5.1.1:
- version "5.1.1"
- resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-5.1.1.tgz#e786e59a66cb92b3f6c1fb0d508aab174848f48c"
- integrity sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==
- dependencies:
- esrecurse "^4.3.0"
- estraverse "^4.1.1"
-
esprima@^4.0.0, esprima@^4.0.1:
version "4.0.1"
resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71"
@@ -4599,6 +4656,11 @@ fastq@^1.6.0:
dependencies:
reusify "^1.0.4"
+fdir@^5.0.0:
+ version "5.1.0"
+ resolved "https://registry.yarnpkg.com/fdir/-/fdir-5.1.0.tgz#973e4934e6a3666b59ebdfc56f60bb8e9b16acb8"
+ integrity sha512-IgTtZwL52tx2wqWeuGDzXYTnNsEjNLahZpJw30hCQDyVnoHXwY5acNDnjGImTTL1R0z1PCyLw20VAbE5qLic3Q==
+
figgy-pudding@^3.5.1:
version "3.5.2"
resolved "https://registry.yarnpkg.com/figgy-pudding/-/figgy-pudding-3.5.2.tgz#b4eee8148abb01dcf1d1ac34367d59e12fa61d6e"
@@ -4973,7 +5035,19 @@ glob-to-regexp@^0.4.1:
resolved "https://registry.yarnpkg.com/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz#c75297087c851b9a578bd217dd59a92f59fe546e"
integrity sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==
-glob@7.1.6, glob@^7.0.0, glob@^7.1.1, glob@^7.1.3, glob@^7.1.4, glob@^7.1.6:
+glob@7.1.7:
+ version "7.1.7"
+ resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.7.tgz#3b193e9233f01d42d0b3f78294bbeeb418f94a90"
+ integrity sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==
+ dependencies:
+ fs.realpath "^1.0.0"
+ inflight "^1.0.4"
+ inherits "2"
+ minimatch "^3.0.4"
+ once "^1.3.0"
+ path-is-absolute "^1.0.0"
+
+glob@^7.0.0, glob@^7.1.1, glob@^7.1.3, glob@^7.1.4, glob@^7.1.6:
version "7.1.6"
resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.6.tgz#141f33b81a7c2492e125594307480c46679278a6"
integrity sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==
@@ -5754,6 +5828,11 @@ is-typedarray@^1.0.0, is-typedarray@~1.0.0:
resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a"
integrity sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=
+is-unicode-supported@^0.1.0:
+ version "0.1.0"
+ resolved "https://registry.yarnpkg.com/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz#3f26c76a809593b52bfa2ecb5710ed2779b522a7"
+ integrity sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==
+
is-utf8@^0.2.0:
version "0.2.1"
resolved "https://registry.yarnpkg.com/is-utf8/-/is-utf8-0.2.1.tgz#4b0da1442104d1b336340e80797e865cf39f7d72"
@@ -5892,10 +5971,10 @@ js-tokens@^4.0.0:
resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499"
integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==
-js-yaml@4.0.0:
- version "4.0.0"
- resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-4.0.0.tgz#f426bc0ff4b4051926cd588c71113183409a121f"
- integrity sha512-pqon0s+4ScYUvX30wxQi3PogGFAlUyH0awepWvwkj4jD4v+ova3RiYw8bmA6x2rDrEaj8i/oWKoRxpVNW+Re8Q==
+js-yaml@4.1.0:
+ version "4.1.0"
+ resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-4.1.0.tgz#c1fb65f8f5017901cdd2c951864ba18458a10602"
+ integrity sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==
dependencies:
argparse "^2.0.1"
@@ -6276,12 +6355,13 @@ lodash@^4.17.21:
resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c"
integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==
-log-symbols@4.0.0:
- version "4.0.0"
- resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-4.0.0.tgz#69b3cc46d20f448eccdb75ea1fa733d9e821c920"
- integrity sha512-FN8JBzLx6CzeMrB0tg6pqlGU1wCrXW+ZXGH481kfsBqer0hToTIiHdjH4Mq8xJUbvATujKCvaREGWpGUionraA==
+log-symbols@4.1.0:
+ version "4.1.0"
+ resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-4.1.0.tgz#3fbdbb95b4683ac9fc785111e792e558d4abd503"
+ integrity sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==
dependencies:
- chalk "^4.0.0"
+ chalk "^4.1.0"
+ is-unicode-supported "^0.1.0"
long@^4.0.0:
version "4.0.0"
@@ -6375,6 +6455,28 @@ make-fetch-happen@^8.0.9:
socks-proxy-agent "^5.0.0"
ssri "^8.0.0"
+make-fetch-happen@^9.0.1:
+ version "9.0.2"
+ resolved "https://registry.yarnpkg.com/make-fetch-happen/-/make-fetch-happen-9.0.2.tgz#aa8c0e4a5e3a5f2be86c54d3abed44fe5a32ad5d"
+ integrity sha512-UkAWAuXPXSSlVviTjH2We20mtj1NnZW2Qq/oTY2dyMbRQ5CR3Xed3akCDMnM7j6axrMY80lhgM7loNE132PfAw==
+ dependencies:
+ agentkeepalive "^4.1.3"
+ cacache "^15.2.0"
+ http-cache-semantics "^4.1.0"
+ http-proxy-agent "^4.0.1"
+ https-proxy-agent "^5.0.0"
+ is-lambda "^1.0.1"
+ lru-cache "^6.0.0"
+ minipass "^3.1.3"
+ minipass-collect "^1.0.2"
+ minipass-fetch "^1.3.2"
+ minipass-flush "^1.0.5"
+ minipass-pipeline "^1.2.4"
+ negotiator "^0.6.2"
+ promise-retry "^2.0.1"
+ socks-proxy-agent "^5.0.0"
+ ssri "^8.0.0"
+
map-cache@^0.2.2:
version "0.2.2"
resolved "https://registry.yarnpkg.com/map-cache/-/map-cache-0.2.2.tgz#c32abd0bd6525d9b051645bb4f26ac5dc98a0dbf"
@@ -6699,10 +6801,10 @@ mkdirp@^1.0.3, mkdirp@^1.0.4:
resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-1.0.4.tgz#3eb5ed62622756d79a5f0e2a221dfebad75c2f7e"
integrity sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==
-mocha@^8.3.0:
- version "8.3.0"
- resolved "https://registry.yarnpkg.com/mocha/-/mocha-8.3.0.tgz#a83a7432d382ae1ca29686062d7fdc2c36f63fe5"
- integrity sha512-TQqyC89V1J/Vxx0DhJIXlq9gbbL9XFNdeLQ1+JsnZsVaSOV1z3tWfw0qZmQJGQRIfkvZcs7snQnZnOCKoldq1Q==
+mocha@^9.0.0:
+ version "9.0.0"
+ resolved "https://registry.yarnpkg.com/mocha/-/mocha-9.0.0.tgz#67ce848170cb6426f9e84c57e38376dc9017bab4"
+ integrity sha512-GRGG/q9bIaUkHJB9NL+KZNjDhMBHB30zW3bZW9qOiYr+QChyLjPzswaxFWkI1q6lGlSL28EQYzAi2vKWNkPx+g==
dependencies:
"@ungap/promise-all-settled" "1.1.2"
ansi-colors "4.1.1"
@@ -6712,20 +6814,20 @@ mocha@^8.3.0:
diff "5.0.0"
escape-string-regexp "4.0.0"
find-up "5.0.0"
- glob "7.1.6"
+ glob "7.1.7"
growl "1.10.5"
he "1.2.0"
- js-yaml "4.0.0"
- log-symbols "4.0.0"
+ js-yaml "4.1.0"
+ log-symbols "4.1.0"
minimatch "3.0.4"
ms "2.1.3"
- nanoid "3.1.20"
+ nanoid "3.1.23"
serialize-javascript "5.0.1"
strip-json-comments "3.1.1"
supports-color "8.1.1"
which "2.0.2"
wide-align "1.1.3"
- workerpool "6.1.0"
+ workerpool "6.1.4"
yargs "16.2.0"
yargs-parser "20.2.4"
yargs-unparser "2.0.0"
@@ -6783,10 +6885,10 @@ nan@^2.12.1:
resolved "https://registry.yarnpkg.com/nan/-/nan-2.14.1.tgz#d7be34dfa3105b91494c3147089315eff8874b01"
integrity sha512-isWHgVjnFjh2x2yuJ/tj3JbwoHu3UC2dX5G/88Cm24yB6YopVgxvBObDY7n5xW6ExmFhJpSEQqFPvq9zaXc8Jw==
-nanoid@3.1.20:
- version "3.1.20"
- resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.1.20.tgz#badc263c6b1dcf14b71efaa85f6ab4c1d6cfc788"
- integrity sha512-a1cQNyczgKbLX9jwbS/+d7W8fX/RfgYR7lVWwWOGIPNgK2m0MWvrGF6/m4kk6U3QcFMnZf3RIhL0v2Jgh/0Uxw==
+nanoid@3.1.23, nanoid@^3.1.23:
+ version "3.1.23"
+ resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.1.23.tgz#f744086ce7c2bc47ee0a8472574d5c78e4183a81"
+ integrity sha512-FiB0kzdP0FFVGDKlRLEQ1BgDzU87dy5NnzjeW9YZNt+/c3+q82EQDUwniSAUxp/F0gFNI1ZhKU1FqYsMuqZVnw==
nanomatch@^1.2.9:
version "1.2.13"
@@ -6805,6 +6907,11 @@ nanomatch@^1.2.9:
snapdragon "^0.8.1"
to-regex "^3.0.1"
+negotiator@^0.6.2:
+ version "0.6.2"
+ resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.2.tgz#feacf7ccf525a77ae9634436a64883ffeca346fb"
+ integrity sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==
+
neo-async@^2.5.0, neo-async@^2.6.0, neo-async@^2.6.1, neo-async@^2.6.2:
version "2.6.2"
resolved "https://registry.yarnpkg.com/neo-async/-/neo-async-2.6.2.tgz#b4aafb93e3aeb2d8174ca53cf163ab7d7308305f"
@@ -6909,6 +7016,11 @@ node-releases@^1.1.67:
resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.67.tgz#28ebfcccd0baa6aad8e8d4d8fe4cbc49ae239c12"
integrity sha512-V5QF9noGFl3EymEwUYzO+3NTDpGfQB4ve6Qfnzf3UNydMhjQRVPR1DZTuvWiLzaFJYw2fmDwAfnRNEVb64hSIg==
+node-releases@^1.1.71:
+ version "1.1.73"
+ resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.73.tgz#dd4e81ddd5277ff846b80b52bb40c49edf7a7b20"
+ integrity sha512-uW7fodD6pyW2FZNZnp/Z3hvWKeEW1Y8R1+1CnErE8cXFXzl5blBOoVB41CvMer6P6Q0S5FXDwcHgFd1Wj0U9zg==
+
nopt@^4.0.1:
version "4.0.3"
resolved "https://registry.yarnpkg.com/nopt/-/nopt-4.0.3.tgz#a375cad9d02fd921278d954c2254d5aa57e15e48"
@@ -7022,6 +7134,18 @@ npm-pick-manifest@^6.0.0:
npm-package-arg "^8.0.0"
semver "^7.0.0"
+npm-registry-fetch@^11.0.0:
+ version "11.0.0"
+ resolved "https://registry.yarnpkg.com/npm-registry-fetch/-/npm-registry-fetch-11.0.0.tgz#68c1bb810c46542760d62a6a965f85a702d43a76"
+ integrity sha512-jmlgSxoDNuhAtxUIG6pVwwtz840i994dL14FoNVZisrmZW5kWd63IUTNv1m/hyRSGSqWjCUp/YZlS1BJyNp9XA==
+ dependencies:
+ make-fetch-happen "^9.0.1"
+ minipass "^3.1.3"
+ minipass-fetch "^1.3.0"
+ minipass-json-stream "^1.0.1"
+ minizlib "^2.0.0"
+ npm-package-arg "^8.0.0"
+
npm-registry-fetch@^9.0.0:
version "9.0.0"
resolved "https://registry.yarnpkg.com/npm-registry-fetch/-/npm-registry-fetch-9.0.0.tgz#86f3feb4ce00313bc0b8f1f8f69daae6face1661"
@@ -7428,6 +7552,31 @@ pacote@^11.2.6:
ssri "^8.0.1"
tar "^6.1.0"
+pacote@^11.3.1:
+ version "11.3.4"
+ resolved "https://registry.yarnpkg.com/pacote/-/pacote-11.3.4.tgz#c290b790a5cee3082bb8fa223f3f3e2fdf3d0bfc"
+ integrity sha512-RfahPCunM9GI7ryJV/zY0bWQiokZyLqaSNHXtbNSoLb7bwTvBbJBEyCJ01KWs4j1Gj7GmX8crYXQ1sNX6P2VKA==
+ dependencies:
+ "@npmcli/git" "^2.0.1"
+ "@npmcli/installed-package-contents" "^1.0.6"
+ "@npmcli/promise-spawn" "^1.2.0"
+ "@npmcli/run-script" "^1.8.2"
+ cacache "^15.0.5"
+ chownr "^2.0.0"
+ fs-minipass "^2.1.0"
+ infer-owner "^1.0.4"
+ minipass "^3.1.3"
+ mkdirp "^1.0.3"
+ npm-package-arg "^8.0.1"
+ npm-packlist "^2.1.4"
+ npm-pick-manifest "^6.0.0"
+ npm-registry-fetch "^11.0.0"
+ promise-retry "^2.0.1"
+ read-package-json-fast "^2.0.1"
+ rimraf "^3.0.2"
+ ssri "^8.0.1"
+ tar "^6.1.0"
+
pako@~1.0.5:
version "1.0.11"
resolved "https://registry.yarnpkg.com/pako/-/pako-1.0.11.tgz#6c9599d340d54dfd3946380252a35705a6b992bf"
@@ -7635,6 +7784,11 @@ picomatch@^2.0.4, picomatch@^2.0.5, picomatch@^2.2.1:
resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.2.2.tgz#21f333e9b6b8eaff02468f5146ea406d345f4dad"
integrity sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg==
+picomatch@^2.2.2:
+ version "2.3.0"
+ resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.0.tgz#f1f061de8f6a4bf022892e2d128234fb98302972"
+ integrity sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw==
+
pify@^2.0.0, pify@^2.3.0:
version "2.3.0"
resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c"
@@ -8027,6 +8181,15 @@ postcss@^7.0.14, postcss@^7.0.32, postcss@^7.0.5, postcss@^7.0.6:
source-map "^0.6.1"
supports-color "^6.1.0"
+postcss@^8.3.0:
+ version "8.3.0"
+ resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.3.0.tgz#b1a713f6172ca427e3f05ef1303de8b65683325f"
+ integrity sha512-+ogXpdAjWGa+fdYY5BQ96V/6tAo+TdSSIMP5huJBIygdWwKtVoB5JWZ7yUd4xZ8r+8Kvvx4nyg/PQ071H4UtcQ==
+ dependencies:
+ colorette "^1.2.2"
+ nanoid "^3.1.23"
+ source-map-js "^0.6.2"
+
prelude-ls@~1.1.2:
version "1.1.2"
resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54"
@@ -8657,19 +8820,19 @@ rollup-pluginutils@^2.8.2:
dependencies:
estree-walker "^0.6.1"
-rollup@^2.34.0:
- version "2.34.1"
- resolved "https://registry.yarnpkg.com/rollup/-/rollup-2.34.1.tgz#a387230df02c58b242794a213dfb68b42de2c8fb"
- integrity sha512-tGveB6NU5x4MS/iXaIsjfUkEv4hxzJJ4o0FRy5LO62Ndx3R2cmE1qsLYlSfRkvHUUPqWiFoxEm8pRftzh1a5HA==
+rollup@^2.51.0:
+ version "2.51.0"
+ resolved "https://registry.yarnpkg.com/rollup/-/rollup-2.51.0.tgz#ffd847882283998fc8611cd57af917f173b4ab5c"
+ integrity sha512-ITLt9sScNCBVspSHauw/W49lEZ0vjN8LyCzSNsNaqT67vTss2lYEfOyxltX8hjrhr1l/rQwmZ2wazzEqhZ/fUg==
optionalDependencies:
- fsevents "~2.1.2"
+ fsevents "~2.3.1"
-rollup@^2.41.2:
- version "2.41.2"
- resolved "https://registry.yarnpkg.com/rollup/-/rollup-2.41.2.tgz#b7db5cb7c21c2d524e8b26ef39c7e9808a290c7e"
- integrity sha512-6u8fJJXJx6fmvKrAC9DHYZgONvSkz8S9b/VFBjoQ6dkKdHyPpPbpqiNl2Bao9XBzDHpq672X6sGZ9G1ZBqAHMg==
+rollup@~2.37.1:
+ version "2.37.1"
+ resolved "https://registry.yarnpkg.com/rollup/-/rollup-2.37.1.tgz#aa7aadffd75c80393f9314f9857e851b0ffd34e7"
+ integrity sha512-V3ojEeyGeSdrMSuhP3diBb06P+qV4gKQeanbDv+Qh/BZbhdZ7kHV0xAt8Yjk4GFshq/WjO7R4c7DFM20AwTFVQ==
optionalDependencies:
- fsevents "~2.3.1"
+ fsevents "~2.1.2"
run-async@^2.4.0:
version "2.4.1"
@@ -8925,16 +9088,20 @@ snapdragon@^0.8.1:
source-map-resolve "^0.5.0"
use "^3.1.0"
-snowpack@^3.0.13:
- version "3.0.13"
- resolved "https://registry.yarnpkg.com/snowpack/-/snowpack-3.0.13.tgz#25e6434b186d916f69b0bae6325bda4f1451c035"
- integrity sha512-USTcpfJ68rbuFvUygw+3n9qS1CC/tGsr/JNVc6FNk0ZRfGBE4OmB+Mmk5nWtdxi546GeCr/GvveJenYLen/WpA==
+snowpack@^3.5.6:
+ version "3.5.6"
+ resolved "https://registry.yarnpkg.com/snowpack/-/snowpack-3.5.6.tgz#79f8699e4248e19f67ec50433e50072bb2e69e89"
+ integrity sha512-R9uqattPhS2j1zaOFgwl7i54rFTtxxk4kmKmqJBRwD+9YggUulGm7O7YRXaMMjtmi69czK7jxbtZs1Up/xA+1A==
dependencies:
+ cli-spinners "^2.5.0"
default-browser-id "^2.0.0"
- esbuild "^0.8.7"
+ esbuild "^0.9.3"
+ fdir "^5.0.0"
open "^7.0.4"
+ pacote "^11.3.1"
+ picomatch "^2.2.2"
resolve "^1.20.0"
- rollup "^2.34.0"
+ rollup "~2.37.1"
optionalDependencies:
fsevents "^2.2.0"
@@ -8974,6 +9141,11 @@ source-list-map@^2.0.0, source-list-map@^2.0.1:
resolved "https://registry.yarnpkg.com/source-list-map/-/source-list-map-2.0.1.tgz#3993bd873bfc48479cca9ea3a547835c7c154b34"
integrity sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==
+source-map-js@^0.6.2:
+ version "0.6.2"
+ resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-0.6.2.tgz#0bb5de631b41cfbda6cfba8bd05a80efdfd2385e"
+ integrity sha512-/3GptzWzu0+0MBQFrDKzw/DvvMTUORvgY6k6jd/VS6iCR4RDTKWH6v6WPwQoUO8667uQEf9Oe38DxAYWY5F/Ug==
+
source-map-resolve@^0.5.0:
version "0.5.3"
resolved "https://registry.yarnpkg.com/source-map-resolve/-/source-map-resolve-0.5.3.tgz#190866bece7553e1f8f267a2ee82c606b5509a1a"
@@ -9484,7 +9656,7 @@ terser@^5.3.4:
source-map "~0.7.2"
source-map-support "~0.5.19"
-terser@^5.5.1, terser@^5.6.0:
+terser@^5.5.1:
version "5.6.0"
resolved "https://registry.yarnpkg.com/terser/-/terser-5.6.0.tgz#138cdf21c5e3100b1b3ddfddf720962f88badcd2"
integrity sha512-vyqLMoqadC1uR0vywqOZzriDYzgEkNJFK4q9GeyOBHIbiECHiWLKcWfbQWAUaPfxkjDhapSlZB9f7fkMrvkVjA==
@@ -9493,6 +9665,15 @@ terser@^5.5.1, terser@^5.6.0:
source-map "~0.7.2"
source-map-support "~0.5.19"
+terser@^5.7.0:
+ version "5.7.0"
+ resolved "https://registry.yarnpkg.com/terser/-/terser-5.7.0.tgz#a761eeec206bc87b605ab13029876ead938ae693"
+ integrity sha512-HP5/9hp2UaZt5fYkuhNBR8YyRcT8juw8+uFbAme53iN9hblvKnLUTKkmwJG6ocWpIKf8UK4DoeWG4ty0J6S6/g==
+ dependencies:
+ commander "^2.20.0"
+ source-map "~0.7.2"
+ source-map-support "~0.5.19"
+
test-exclude@^6.0.0:
version "6.0.0"
resolved "https://registry.yarnpkg.com/test-exclude/-/test-exclude-6.0.0.tgz#04a8698661d805ea6fa293b6cb9e63ac044ef15e"
@@ -9627,22 +9808,25 @@ trim-off-newlines@^1.0.0:
resolved "https://registry.yarnpkg.com/trim-off-newlines/-/trim-off-newlines-1.0.1.tgz#9f9ba9d9efa8764c387698bcbfeb2c848f11adb3"
integrity sha1-n5up2e+odkw4dpi8v+sshI8RrbM=
-ts-loader@^8.0.18:
- version "8.0.18"
- resolved "https://registry.yarnpkg.com/ts-loader/-/ts-loader-8.0.18.tgz#b2385cbe81c34ad9f997915129cdde3ad92a61ea"
- integrity sha512-hRZzkydPX30XkLaQwJTDcWDoxZHK6IrEMDQpNd7tgcakFruFkeUp/aY+9hBb7BUGb+ZWKI0jiOGMo0MckwzdDQ==
+ts-loader@^9.2.3:
+ version "9.2.3"
+ resolved "https://registry.yarnpkg.com/ts-loader/-/ts-loader-9.2.3.tgz#dc3b6362a4d4382493cd4f138d345f419656de68"
+ integrity sha512-sEyWiU3JMHBL55CIeC4iqJQadI0U70A5af0kvgbNLHVNz2ACztQg0j/9x10bjjIht8WfFYLKfn4L6tkZ+pu+8Q==
dependencies:
chalk "^4.1.0"
- enhanced-resolve "^4.0.0"
- loader-utils "^2.0.0"
+ enhanced-resolve "^5.0.0"
micromatch "^4.0.0"
semver "^7.3.4"
-ts-node@^9.1.1:
- version "9.1.1"
- resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-9.1.1.tgz#51a9a450a3e959401bda5f004a72d54b936d376d"
- integrity sha512-hPlt7ZACERQGf03M253ytLY3dHbGNGrAq9qIHWUY9XHYl1z7wYngSr3OQ5xmui8o2AaxsONxIzjafLUiWBo1Fg==
+ts-node@^10.0.0:
+ version "10.0.0"
+ resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-10.0.0.tgz#05f10b9a716b0b624129ad44f0ea05dac84ba3be"
+ integrity sha512-ROWeOIUvfFbPZkoDis0L/55Fk+6gFQNZwwKPLinacRl6tsxstTF1DbAcLKkovwnpKMVvOMHP1TIbnwXwtLg1gg==
dependencies:
+ "@tsconfig/node10" "^1.0.7"
+ "@tsconfig/node12" "^1.0.7"
+ "@tsconfig/node14" "^1.0.0"
+ "@tsconfig/node16" "^1.0.1"
arg "^4.1.0"
create-require "^1.1.0"
diff "^4.0.1"
@@ -9743,10 +9927,10 @@ typedoc@^0.20.30:
shiki "^0.9.2"
typedoc-default-themes "^0.12.8"
-typescript@^4.2.3, typescript@~4.1.3:
- version "4.2.3"
- resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.2.3.tgz#39062d8019912d43726298f09493d598048c1ce3"
- integrity sha512-qOcYwxaByStAWrBf4x0fibwZvMRG+r4cQoTjbPtUlrWjBHbmCAww1i448U0GJ+3cNNEtebDteo/cHOR3xJ4wEw==
+typescript@4.2.4, typescript@~4.1.3:
+ version "4.2.4"
+ resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.2.4.tgz#8610b59747de028fda898a8aef0e103f156d0961"
+ integrity sha512-V+evlYHZnQkaz8TRBuxTA92yZBPotr5H+WhQ7bD3hZUndx5tGOa1fuCgeSjxAzM1RiN5IzvadIXTVefuuwZCRg==
uglify-js@^3.1.4:
version "3.10.2"
@@ -10027,10 +10211,10 @@ watchpack@^1.7.4:
chokidar "^3.4.1"
watchpack-chokidar2 "^2.0.0"
-watchpack@^2.0.0:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-2.1.0.tgz#e63194736bf3aa22026f7b191cd57907b0f9f696"
- integrity sha512-UjgD1mqjkG99+3lgG36at4wPnUXNvis2v1utwTgQ43C22c4LD71LsYMExdWXh4HZ+RmW+B0t1Vrg2GpXAkTOQw==
+watchpack@^2.2.0:
+ version "2.2.0"
+ resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-2.2.0.tgz#47d78f5415fe550ecd740f99fe2882323a58b1ce"
+ integrity sha512-up4YAn/XHgZHIxFBVCdlMiWDj6WaLKpwVeGQk2I5thdYxF/KmF0aaz6TfJZ/hfl1h/XlcDr7k1KH7ThDagpFaA==
dependencies:
glob-to-regexp "^0.4.1"
graceful-fs "^4.1.2"
@@ -10052,18 +10236,17 @@ webidl-conversions@^6.1.0:
resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-6.1.0.tgz#9111b4d7ea80acd40f5270d666621afa78b69514"
integrity sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w==
-webpack-cli@^4.5.0:
- version "4.5.0"
- resolved "https://registry.yarnpkg.com/webpack-cli/-/webpack-cli-4.5.0.tgz#b5213b84adf6e1f5de6391334c9fa53a48850466"
- integrity sha512-wXg/ef6Ibstl2f50mnkcHblRPN/P9J4Nlod5Hg9HGFgSeF8rsqDGHJeVe4aR26q9l62TUJi6vmvC2Qz96YJw1Q==
+webpack-cli@^4.7.2:
+ version "4.7.2"
+ resolved "https://registry.yarnpkg.com/webpack-cli/-/webpack-cli-4.7.2.tgz#a718db600de6d3906a4357e059ae584a89f4c1a5"
+ integrity sha512-mEoLmnmOIZQNiRl0ebnjzQ74Hk0iKS5SiEEnpq3dRezoyR3yPaeQZCMCe+db4524pj1Pd5ghZXjT41KLzIhSLw==
dependencies:
"@discoveryjs/json-ext" "^0.5.0"
- "@webpack-cli/configtest" "^1.0.1"
- "@webpack-cli/info" "^1.2.2"
- "@webpack-cli/serve" "^1.3.0"
+ "@webpack-cli/configtest" "^1.0.4"
+ "@webpack-cli/info" "^1.3.0"
+ "@webpack-cli/serve" "^1.5.1"
colorette "^1.2.1"
commander "^7.0.0"
- enquirer "^2.3.6"
execa "^5.0.0"
fastest-levenshtein "^1.0.12"
import-local "^3.0.2"
@@ -10098,10 +10281,10 @@ webpack-sources@^1.1.0, webpack-sources@^1.4.0, webpack-sources@^1.4.1, webpack-
source-list-map "^2.0.0"
source-map "~0.6.1"
-webpack-sources@^2.1.1:
- version "2.2.0"
- resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-2.2.0.tgz#058926f39e3d443193b6c31547229806ffd02bac"
- integrity sha512-bQsA24JLwcnWGArOKUxYKhX3Mz/nK1Xf6hxullKERyktjNMC4x8koOeaDNTA2fEJ09BdWLbM/iTW0ithREUP0w==
+webpack-sources@^2.3.0:
+ version "2.3.0"
+ resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-2.3.0.tgz#9ed2de69b25143a4c18847586ad9eccb19278cfa"
+ integrity sha512-WyOdtwSvOML1kbgtXbTDnEW0jkJ7hZr/bDByIwszhWd/4XX1A3XMkrbFMsuH4+/MfLlZCUzlAdg4r7jaGKEIgQ==
dependencies:
source-list-map "^2.0.1"
source-map "^0.6.1"
@@ -10135,22 +10318,22 @@ webpack@^4.43.0:
watchpack "^1.7.4"
webpack-sources "^1.4.1"
-webpack@^5.25.0:
- version "5.25.0"
- resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.25.0.tgz#f9409977f0f3b6d4b9c4f73adc7d7cb9603a09e9"
- integrity sha512-jqQZopNCzt9c4K6Qa7j6kIhzHfR9wgF84go58VoNp4JbZrBr2D2l5lcv72CW80yc6NJl8CR6OY8xctnIs0r2uw==
+webpack@^5.38.1:
+ version "5.38.1"
+ resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.38.1.tgz#5224c7f24c18e729268d3e3bc97240d6e880258e"
+ integrity sha512-OqRmYD1OJbHZph6RUMD93GcCZy4Z4wC0ele4FXyYF0J6AxO1vOSuIlU1hkS/lDlR9CDYBz64MZRmdbdnFFoT2g==
dependencies:
"@types/eslint-scope" "^3.7.0"
- "@types/estree" "^0.0.46"
+ "@types/estree" "^0.0.47"
"@webassemblyjs/ast" "1.11.0"
"@webassemblyjs/wasm-edit" "1.11.0"
"@webassemblyjs/wasm-parser" "1.11.0"
- acorn "^8.0.4"
+ acorn "^8.2.1"
browserslist "^4.14.5"
chrome-trace-event "^1.0.2"
- enhanced-resolve "^5.7.0"
+ enhanced-resolve "^5.8.0"
es-module-lexer "^0.4.0"
- eslint-scope "^5.1.1"
+ eslint-scope "5.1.1"
events "^3.2.0"
glob-to-regexp "^0.4.1"
graceful-fs "^4.2.4"
@@ -10161,8 +10344,8 @@ webpack@^5.25.0:
schema-utils "^3.0.0"
tapable "^2.1.1"
terser-webpack-plugin "^5.1.1"
- watchpack "^2.0.0"
- webpack-sources "^2.1.1"
+ watchpack "^2.2.0"
+ webpack-sources "^2.3.0"
whatwg-encoding@^1.0.5:
version "1.0.5"
@@ -10233,10 +10416,10 @@ worker-farm@^1.7.0:
dependencies:
errno "~0.1.7"
-workerpool@6.1.0:
- version "6.1.0"
- resolved "https://registry.yarnpkg.com/workerpool/-/workerpool-6.1.0.tgz#a8e038b4c94569596852de7a8ea4228eefdeb37b"
- integrity sha512-toV7q9rWNYha963Pl/qyeZ6wG+3nnsyvolaNUS8+R5Wtw6qJPTxIlOP1ZSvcGhEJw+l3HMMmtiNo9Gl61G4GVg==
+workerpool@6.1.4:
+ version "6.1.4"
+ resolved "https://registry.yarnpkg.com/workerpool/-/workerpool-6.1.4.tgz#6a972b6df82e38d50248ee2820aa98e2d0ad3090"
+ integrity sha512-jGWPzsUqzkow8HoAvqaPWTUPCrlPJaJ5tY8Iz7n1uCz3tTp6s3CDG0FF1NsX42WNlkRSW6Mr+CDZGnNoSsKa7g==
wrap-ansi@^6.2.0:
version "6.2.0"