From 9e944adc88646aee8eb715098c3956046411d166 Mon Sep 17 00:00:00 2001 From: Karsten Schmidt Date: Sun, 10 Jan 2021 23:57:53 +0000 Subject: [PATCH 01/21] docs: update pkg list --- README.md | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index d478edd0a4..0fd6110a68 100644 --- a/README.md +++ b/README.md @@ -127,18 +127,20 @@ to update your local version. (These packages might be still unreleased and only available on their feature or `develop` branches) --> -### Latest additions (2020-12-22) +### Latest additions (2021-01-10) -| Project | Version | Changelog | Description | -|---------------------------------------------|-------------------------------------------------------------------------------------------------------------------|------------------------------------------------|--------------------------------------------------| -| [`@thi.ng/fuzzy`](./packages/fuzzy) | [![version](https://img.shields.io/npm/v/@thi.ng/fuzzy.svg)](https://www.npmjs.com/package/@thi.ng/fuzzy) | [changelog](./packages/fuzzy/CHANGELOG.md) | Fuzzy logic primitives & rule inference engine | -| [`@thi.ng/fuzzy-viz`](./packages/fuzzy-viz) | [![version](https://img.shields.io/npm/v/@thi.ng/fuzzy-viz.svg)](https://www.npmjs.com/package/@thi.ng/fuzzy-viz) | [changelog](./packages/fuzzy-viz/CHANGELOG.md) | Visualization, instrumentation for @thi.ng/fuzzy | -| [`@thi.ng/vclock`](./packages/vclock) | [![version](https://img.shields.io/npm/v/@thi.ng/vclock.svg)](https://www.npmjs.com/package/@thi.ng/vclock) | [changelog](./packages/vclock/CHANGELOG.md) | Vector clock functions / comparators | +| Project | Version | Changelog | Description | +|---------------------------------------------|-------------------------------------------------------------------------------------------------------------------|------------------------------------------------|------------------------------------------------------| +| [`@thi.ng/args`](./packages/args) | [![version](https://img.shields.io/npm/v/@thi.ng/args.svg)](https://www.npmjs.com/package/@thi.ng/args) | [changelog](./packages/args/CHANGELOG.md) | Declarative & functional CLI arg parsing & coercions | +| [`@thi.ng/fuzzy`](./packages/fuzzy) | [![version](https://img.shields.io/npm/v/@thi.ng/fuzzy.svg)](https://www.npmjs.com/package/@thi.ng/fuzzy) | [changelog](./packages/fuzzy/CHANGELOG.md) | Fuzzy logic primitives & rule inference engine | +| [`@thi.ng/fuzzy-viz`](./packages/fuzzy-viz) | [![version](https://img.shields.io/npm/v/@thi.ng/fuzzy-viz.svg)](https://www.npmjs.com/package/@thi.ng/fuzzy-viz) | [changelog](./packages/fuzzy-viz/CHANGELOG.md) | Visualization, instrumentation for @thi.ng/fuzzy | +| [`@thi.ng/vclock`](./packages/vclock) | [![version](https://img.shields.io/npm/v/@thi.ng/vclock.svg)](https://www.npmjs.com/package/@thi.ng/vclock) | [changelog](./packages/vclock/CHANGELOG.md) | Vector clock functions / comparators | ### Fundamentals | Project | Version | Changelog | Description | |-----------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------|----------------------------------------------------|----------------------------------------------------------| +| [`@thi.ng/args`](./packages/args) | [![version](https://img.shields.io/npm/v/@thi.ng/args.svg)](https://www.npmjs.com/package/@thi.ng/args) | [changelog](./packages/args/CHANGELOG.md) | Declarative & functional CLI arg parsing & coercions | | [`@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) | Common types, decorators, mixins | | [`@thi.ng/bench`](./packages/bench) | [![version](https://img.shields.io/npm/v/@thi.ng/bench.svg)](https://www.npmjs.com/package/@thi.ng/bench) | [changelog](./packages/bench/CHANGELOG.md) | Basic benchmarking helpers | | [`@thi.ng/checks`](./packages/checks) | [![version](https://img.shields.io/npm/v/@thi.ng/checks.svg)](https://www.npmjs.com/package/@thi.ng/checks) | [changelog](./packages/checks/CHANGELOG.md) | Type & value checks | @@ -164,6 +166,7 @@ feature or `develop` branches) --> | [`@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 w/ unified API | | [`@thi.ng/strings`](./packages/strings) | [![version](https://img.shields.io/npm/v/@thi.ng/strings.svg)](https://www.npmjs.com/package/@thi.ng/strings) | [changelog](./packages/strings/CHANGELOG.md) | Higher-order string formatting utils | | [`@thi.ng/system`](./packages/system) | [![version](https://img.shields.io/npm/v/@thi.ng/system.svg)](https://www.npmjs.com/package/@thi.ng/system) | [changelog](./packages/system/CHANGELOG.md) | Minimal life cycle container for stateful app components | + ### Iterator, stream & sequence processing | Project | Version | Changelog | Description | From 4c75b86a3e5e884be7c7bd00153673888eb4247c Mon Sep 17 00:00:00 2001 From: Alberto Date: Mon, 11 Jan 2021 12:42:31 +0100 Subject: [PATCH 02/21] docs(random): fix smush 32 link --- packages/random/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/random/README.md b/packages/random/README.md index 6bd079e602..80e73ae9e4 100644 --- a/packages/random/README.md +++ b/packages/random/README.md @@ -27,7 +27,7 @@ This package provides the `IRandom` interface and various (mostly seedable) pseudo-random number generator implementations, incl. a `IRandom` wrapper for `Math.random()`: -- [Smush32](https://github.com/thi-ng/umbrella/tree/develop/packages/random/src/smush.ts) +- [Smush32](https://github.com/thi-ng/umbrella/tree/develop/packages/random/src/smush32.ts) - [System](https://github.com/thi-ng/umbrella/tree/develop/packages/random/src/system.ts) - [Xoshiro128](https://github.com/thi-ng/umbrella/tree/develop/packages/random/src/xoshiro128.ts) - [XorShift128](https://github.com/thi-ng/umbrella/tree/develop/packages/random/src/xorshift128.ts) From 4ab7e72bf87cbf058a38ca85b5e2853a5f432d9d Mon Sep 17 00:00:00 2001 From: Karsten Schmidt Date: Mon, 11 Jan 2021 15:12:05 +0000 Subject: [PATCH 03/21] feat(strings): add stringify() HOF --- packages/strings/src/index.ts | 1 + packages/strings/src/stringify.ts | 15 +++++++++++++++ 2 files changed, 16 insertions(+) create mode 100644 packages/strings/src/stringify.ts diff --git a/packages/strings/src/index.ts b/packages/strings/src/index.ts index 6808bfc5f6..299a9d57f5 100644 --- a/packages/strings/src/index.ts +++ b/packages/strings/src/index.ts @@ -21,6 +21,7 @@ export * from "./repeat"; export * from "./slugify"; export * from "./splice"; export * from "./split"; +export * from "./stringify"; export * from "./tabs"; export * from "./trim"; export * from "./truncate"; diff --git a/packages/strings/src/stringify.ts b/packages/strings/src/stringify.ts new file mode 100644 index 0000000000..72b3ddaac8 --- /dev/null +++ b/packages/strings/src/stringify.ts @@ -0,0 +1,15 @@ +import type { Stringer } from "./api"; + +/** + * Higher order version of `JSON.stringify()` with the option to treat strings + * and numbers differently. If `all` is `false` (default), strings and numbers + * are simply converted using `String(x)`. If `indent` is given, it will be used + * for `JSON.stringify(x, null, indent)` + * + * @param all + * @param indent + */ +export const stringify = (all = false, indent?: number): Stringer => (x) => + all || (typeof x !== "string" && typeof x !== "number") + ? JSON.stringify(x, null, indent) + : String(x); From 0a37562b7dce246564821933911276a1587b10e9 Mon Sep 17 00:00:00 2001 From: Karsten Schmidt Date: Mon, 11 Jan 2021 15:12:32 +0000 Subject: [PATCH 04/21] refactor(strings): minor update uuid() --- packages/strings/src/uuid.ts | 18 ++++++------------ 1 file changed, 6 insertions(+), 12 deletions(-) diff --git a/packages/strings/src/uuid.ts b/packages/strings/src/uuid.ts index 2567deadbb..ac7361c8c1 100644 --- a/packages/strings/src/uuid.ts +++ b/packages/strings/src/uuid.ts @@ -1,22 +1,16 @@ import { U16BE, U32BE, U48BE } from "@thi.ng/hex"; /** - * Returns UUID formatted string of given byte array from optional start - * index `i` (default: 0). Array must have min. length 16. + * Returns UUID formatted string of given byte array from optional start index + * `i` (default: 0). Array must have min. length 16. * * @remarks - * This is the same function as {@link @thi.ng/random#uuid}. + * Use {@link @thi.ng/random#uuid} to also generate an UUID from scratch (rather + * than just format one). * * @param id - * @param i - */ export const uuid = (id: ArrayLike, i = 0) => - U32BE(id, i) + - "-" + - U16BE(id, i + 4) + - "-" + - U16BE(id, i + 6) + - "-" + - U16BE(id, i + 8) + - "-" + - U48BE(id, i + 10); + // prettier-ignore + `${U32BE(id, i)}-${U16BE(id, i + 4)}-${U16BE(id, i + 6)}-${U16BE(id, i + 8)}-${U48BE(id, i + 10)}`; From 268ec3f47470184068fd66b5cc147d8c2e0e0ccb Mon Sep 17 00:00:00 2001 From: Karsten Schmidt Date: Mon, 11 Jan 2021 15:13:40 +0000 Subject: [PATCH 05/21] fix(random): add opt start index arg for uuid() --- packages/random/src/uuid.ts | 19 +++++-------------- 1 file changed, 5 insertions(+), 14 deletions(-) diff --git a/packages/random/src/uuid.ts b/packages/random/src/uuid.ts index ea9775c923..ac796ab23c 100644 --- a/packages/random/src/uuid.ts +++ b/packages/random/src/uuid.ts @@ -19,23 +19,14 @@ export const uuidv4Bytes = (buf?: Uint8Array, rnd?: IRandom) => { }; /** - * Returns a UUID string, either from given byte array, of if omitted, a new - * UUID v4 produced by {@link uuidv4Bytes}. + * Returns a UUID string, either from given byte array, or if omitted, using a + * new UUID v4 produced by {@link uuidv4Bytes}. * * @param id - byte array * @param i - start index */ -export const uuid = (id?: ArrayLike) => { +export const uuid = (id?: ArrayLike, i = 0) => { id = id || uuidv4Bytes(); - return ( - U32BE(id, 0) + - "-" + - U16BE(id, 4) + - "-" + - U16BE(id, 6) + - "-" + - U16BE(id, 8) + - "-" + - U48BE(id, 10) - ); + // prettier-ignore + return `${U32BE(id, i)}-${U16BE(id, i + 4)}-${U16BE(id, i + 6)}-${U16BE(id, i + 8)}-${U48BE(id, i + 10)}`; }; From 841b06271362c6941176b057d1bfab363c07d104 Mon Sep 17 00:00:00 2001 From: Karsten Schmidt Date: Mon, 11 Jan 2021 15:16:43 +0000 Subject: [PATCH 06/21] feat(rstream-log): update default body format for formatString() - use @thi.ng/strings stringify() as default body format to automatically JSON.stringify array/objects - update deps & tests --- packages/rstream-log/package.json | 1 + packages/rstream-log/src/xform/format.ts | 3 ++- packages/rstream-log/test/index.ts | 4 ++-- 3 files changed, 5 insertions(+), 3 deletions(-) diff --git a/packages/rstream-log/package.json b/packages/rstream-log/package.json index 8a5a59e218..697ba47979 100644 --- a/packages/rstream-log/package.json +++ b/packages/rstream-log/package.json @@ -53,6 +53,7 @@ "@thi.ng/checks": "^2.8.0", "@thi.ng/errors": "^1.2.26", "@thi.ng/rstream": "^5.0.13", + "@thi.ng/strings": "^1.13.0", "@thi.ng/transducers": "^7.5.5" }, "files": [ diff --git a/packages/rstream-log/src/xform/format.ts b/packages/rstream-log/src/xform/format.ts index 39be112c92..3e5b743c7f 100644 --- a/packages/rstream-log/src/xform/format.ts +++ b/packages/rstream-log/src/xform/format.ts @@ -1,4 +1,5 @@ import { LogLevel } from "@thi.ng/api"; +import { stringify } from "@thi.ng/strings"; import { map, Transducer } from "@thi.ng/transducers"; import type { BodyFormat, DateFormat, LogEntry, LogEntryObj } from "../api"; @@ -9,7 +10,7 @@ export const formatString = ( bodyFmt?: BodyFormat ): Transducer => { dtFmt = dtFmt || isoDate; - bodyFmt = bodyFmt || ((x) => x.toString()); + bodyFmt = bodyFmt || ((x) => x.map(stringify()).join(" ")); return map( ([level, id, time, ...body]) => `[${LogLevel[level]}] ${id}: ${dtFmt!(time)} ${bodyFmt!(body)}` diff --git a/packages/rstream-log/test/index.ts b/packages/rstream-log/test/index.ts index 1ca08a3442..45cf110c32 100644 --- a/packages/rstream-log/test/index.ts +++ b/packages/rstream-log/test/index.ts @@ -28,13 +28,13 @@ describe("rstream-log", () => { logger.debug("hello"); logger.info("hello"); logger.warn("hello"); - logger.severe("hello"); + logger.severe("hello", 42, [{ a: [23] }]); assert.deepStrictEqual(acc, [ "[FINE] foo: 1 hello", "[DEBUG] foo: 2 hello", "[INFO] foo: 3 hello", "[WARN] foo: 4 hello", - "[SEVERE] foo: 5 hello", + `[SEVERE] foo: 5 hello 42 [{"a":[23]}]`, ]); sub.unsubscribe(); assert.strictEqual(logger.getState(), State.ACTIVE); From f8a414605a0d5c93fcef83ab931911c6c2f39f7d Mon Sep 17 00:00:00 2001 From: Karsten Schmidt Date: Mon, 11 Jan 2021 15:31:54 +0000 Subject: [PATCH 07/21] feat(args): add defaultHint opt, update usage() - add UsageOpts.showDefaults to display arg default vals - add ArgSpecBase.defaultHint for default vals for display purposes --- packages/args/src/api.ts | 14 ++++++++++++++ packages/args/src/usage.ts | 15 ++++++++++++++- 2 files changed, 28 insertions(+), 1 deletion(-) diff --git a/packages/args/src/api.ts b/packages/args/src/api.ts index 12f7e9137c..228615a227 100644 --- a/packages/args/src/api.ts +++ b/packages/args/src/api.ts @@ -4,6 +4,7 @@ export interface ArgSpecBase { alias?: string; desc?: string; hint?: string; + defaultHint?: string; fn?: Fn; } @@ -92,9 +93,21 @@ export interface UsageOpts { * @defaultValue true */ color: Partial | false; + /** + * If true (default), display argument default values. + * + * @defaultValue true + */ + showDefaults: boolean; } +/** + * Color theme for {@link usage}. Each item is an ANSI color code: + * + * https://en.wikipedia.org/wiki/ANSI_escape_code#3-bit_and_4-bit + */ export interface ColorTheme { + default: number; hint: number; multi: number; param: number; @@ -102,6 +115,7 @@ export interface ColorTheme { } export const DEFAULT_THEME: ColorTheme = { + default: 95, hint: 90, multi: 90, param: 96, diff --git a/packages/args/src/usage.ts b/packages/args/src/usage.ts index c78737dbe0..d12442ffc1 100644 --- a/packages/args/src/usage.ts +++ b/packages/args/src/usage.ts @@ -3,6 +3,7 @@ import { kebab, padRight, repeat, + stringify, stripAnsi, wordWrapLines, } from "@thi.ng/strings"; @@ -15,6 +16,7 @@ export const usage = >( opts = { lineWidth: 80, paramWidth: 32, + showDefaults: true, ...opts, }; const theme = @@ -45,10 +47,21 @@ export const usage = >( isRequired ? theme.required! : theme.multi! ) : ""; + const defaults = + opts.showDefaults && spec.default + ? ansi( + ` (default: ${stringify()( + spec.defaultHint != undefined + ? spec.defaultHint + : spec.default + )})`, + theme.default + ) + : ""; return ( padRight(opts.paramWidth!)(params, stripAnsi(params).length) + wordWrapLines( - prefix + (spec.desc || ""), + prefix + (spec.desc || "") + defaults, opts.lineWidth! - opts.paramWidth! ) .map((l, i) => (i > 0 ? indent : "") + l) From 64be6088fa57de63f55d7cc015fe4f2ab9f1dd3c Mon Sep 17 00:00:00 2001 From: Karsten Schmidt Date: Tue, 12 Jan 2021 11:45:06 +0000 Subject: [PATCH 08/21] refactor(args): splitup parse() into smaller fns --- packages/args/src/parse.ts | 197 ++++++++++++++++++++++--------------- 1 file changed, 120 insertions(+), 77 deletions(-) diff --git a/packages/args/src/parse.ts b/packages/args/src/parse.ts index 385562bb46..99265d00ab 100644 --- a/packages/args/src/parse.ts +++ b/packages/args/src/parse.ts @@ -5,97 +5,140 @@ import { camel } from "@thi.ng/strings"; import type { Args, ArgSpecExt, ParseOpts, ParseResult } from "./api"; import { usage } from "./usage"; +const HELP = "--help"; + export const parse = >( specs: Args, argv: string[], opts?: Partial ): ParseResult | undefined => { opts = { start: 2, showUsage: true, ...opts }; + try { + return parseOpts(specs, argv, opts); + } catch (e) { + if (opts.showUsage) { + console.log(e.message + "\n\n" + usage(specs, opts.usageOpts)); + } + throw e; + } +}; + +const parseOpts = >( + specs: Args, + argv: string[], + opts: Partial +): ParseResult | undefined => { + const aliases = aliasIndex(specs); const acc: any = {}; - const aliases = Object.entries(specs).reduce( - (acc, [k, v]) => (v.alias ? ((acc[v.alias] = k), acc) : acc), - >{} - ); let id: Nullable; let spec: Nullable; let i = opts.start!; - try { - for (; i < argv.length; ) { - const a = argv[i]; - if (!id) { - if (a[0] === "-") { - if (a[1] === "-") { - if (a === "--") { - i++; - break; - } - id = camel(a.substr(2)); - } else { - id = aliases[a[1]]; - !id && illegalArgs(`unknown alias: ${a}`); - } - if (id === "help") { - console.log(usage(specs, opts.usageOpts)); - return; - } - spec = specs[id]; - !spec && illegalArgs(id); - i++; - if (spec.flag) { - acc[id] = true; - id = null; - if (spec.fn && !spec.fn("true")) break; - } - } else break; - } else { - /^-[a-z]/i.test(a) && illegalArgs(`missing value for: --${id}`); - if (spec!.multi) { - isArray(acc[id]) ? acc[id].push(a) : (acc[id] = [a]); - } else { - acc[id] = a; - } - id = null; - i++; - if (spec!.fn && !spec!.fn(a)) break; + for (; i < argv.length; ) { + const a = argv[i]; + if (!id) { + if (a === HELP) { + console.log(usage(specs, opts.usageOpts)); + return; } + const state = parseKey(specs, aliases, acc, a); + id = state.id; + spec = state.spec; + i = i + ~~(state.state < 2); + if (state.state) break; + } else { + if (parseValue(spec!, acc, id, a)) break; + id = null; + i++; + } + } + id && illegalArgs(`missing value for: --${id}`); + return { + result: processResults(specs, acc), + index: i, + rest: argv.slice(i), + done: i >= argv.length, + }; +}; + +const aliasIndex = >(specs: Args) => + Object.entries(specs).reduce( + (acc, [k, v]) => (v.alias ? ((acc[v.alias] = k), acc) : acc), + >{} + ); + +interface ParseKeyResult { + state: number; + id?: string; + spec?: ArgSpecExt; +} + +const parseKey = >( + specs: Args, + aliases: IObjectOf, + acc: any, + a: string +): ParseKeyResult => { + if (a[0] === "-") { + let id: string | undefined; + if (a[1] === "-") { + // terminator arg, stop parsing + if (a === "--") return { state: 1 }; + id = camel(a.substr(2)); + } else { + id = aliases[a[1]]; + !id && illegalArgs(`unknown option: ${a}`); + } + const spec: ArgSpecExt = specs[id]; + !spec && illegalArgs(id); + if (spec.flag) { + acc[id] = true; + id = undefined; + // stop parsing if fn returns false + if (spec.fn && !spec.fn("true")) return { state: 1, spec }; } - id && illegalArgs(`missing value for: --${id}`); - for (id in specs) { - spec = specs[id]; - if (acc[id] === undefined) { - if (spec.default !== undefined) { - acc[id] = spec.default; - } else if (spec.optional === false) { - illegalArgs(`missing arg: --${id}`); - } - } else { - if (spec.coerce) { - try { - if (spec.multi && spec.delim) { - acc[id] = (acc[id]).reduce( - (acc, x) => ( - acc.push(...x.split(spec!.delim!)), acc - ), - [] - ); - } - acc[id] = spec.coerce(acc[id]); - } catch (e) { - throw new Error(`arg --${id}: ${e.message}`); - } - } + return { state: 0, id, spec }; + } + // no option arg, stop parsing + return { state: 2 }; +}; + +const parseValue = (spec: ArgSpecExt, acc: any, id: string, a: string) => { + /^-[a-z]/i.test(a) && illegalArgs(`missing value for: --${id}`); + if (spec!.multi) { + isArray(acc[id!]) ? acc[id!].push(a) : (acc[id!] = [a]); + } else { + acc[id!] = a; + } + return spec!.fn && !spec!.fn(a); +}; + +const processResults = >(specs: Args, acc: any) => { + let spec: Nullable; + for (let id in specs) { + spec = specs[id]; + if (acc[id] === undefined) { + if (spec.default !== undefined) { + acc[id] = spec.default; + } else if (spec.optional === false) { + illegalArgs(`missing arg: --${id}`); } + } else if (spec.coerce) { + coerceValue(spec, acc, id); } - return { - result: acc, - index: i, - rest: argv.slice(i), - done: i >= argv.length, - }; - } catch (e) { - if (opts.showUsage) { - console.log(e.message + "\n\n" + usage(specs, opts.usageOpts)); + } + return acc; +}; + +const coerceValue = (spec: ArgSpecExt, acc: any, id: string) => { + try { + if (spec.multi && spec.delim) { + acc[id] = (acc[id]).reduce( + (acc, x) => (acc.push(...x.split(spec!.delim!)), acc), + [] + ); } - throw e; + acc[id] = spec.coerce!(acc[id]); + } catch (e) { + throw new Error(`arg --${id}: ${e.message}`); } }; From f5763b3c6be87eb0e27a9239527283323c3e774c Mon Sep 17 00:00:00 2001 From: Karsten Schmidt Date: Tue, 12 Jan 2021 14:25:53 +0000 Subject: [PATCH 09/21] feat(base-n): import as new pkg (MBP2010) --- packages/base-n/LICENSE | 201 +++++++++++++++++++++++++++++ packages/base-n/README.md | 90 +++++++++++++ packages/base-n/api-extractor.json | 3 + packages/base-n/package.json | 67 ++++++++++ packages/base-n/src/32.ts | 17 +++ packages/base-n/src/36.ts | 11 ++ packages/base-n/src/58.ts | 9 ++ packages/base-n/src/62.ts | 12 ++ packages/base-n/src/64.ts | 12 ++ packages/base-n/src/85.ts | 9 ++ packages/base-n/src/api.ts | 28 ++++ packages/base-n/src/base.ts | 63 +++++++++ packages/base-n/src/index.ts | 9 ++ packages/base-n/test/index.ts | 37 ++++++ packages/base-n/test/tsconfig.json | 11 ++ packages/base-n/tpl.readme.md | 67 ++++++++++ packages/base-n/tsconfig.json | 9 ++ 17 files changed, 655 insertions(+) create mode 100644 packages/base-n/LICENSE create mode 100644 packages/base-n/README.md create mode 100644 packages/base-n/api-extractor.json create mode 100644 packages/base-n/package.json create mode 100644 packages/base-n/src/32.ts create mode 100644 packages/base-n/src/36.ts create mode 100644 packages/base-n/src/58.ts create mode 100644 packages/base-n/src/62.ts create mode 100644 packages/base-n/src/64.ts create mode 100644 packages/base-n/src/85.ts create mode 100644 packages/base-n/src/api.ts create mode 100644 packages/base-n/src/base.ts create mode 100644 packages/base-n/src/index.ts create mode 100644 packages/base-n/test/index.ts create mode 100644 packages/base-n/test/tsconfig.json create mode 100644 packages/base-n/tpl.readme.md create mode 100644 packages/base-n/tsconfig.json diff --git a/packages/base-n/LICENSE b/packages/base-n/LICENSE new file mode 100644 index 0000000000..8dada3edaf --- /dev/null +++ b/packages/base-n/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/base-n/README.md b/packages/base-n/README.md new file mode 100644 index 0000000000..ef5fca7ec6 --- /dev/null +++ b/packages/base-n/README.md @@ -0,0 +1,90 @@ + + +# ![base-n](https://media.thi.ng/umbrella/banners/thing-base-n.svg?4cffdce7) + +[![npm version](https://img.shields.io/npm/v/@thi.ng/base-n.svg)](https://www.npmjs.com/package/@thi.ng/base-n) +![npm downloads](https://img.shields.io/npm/dm/@thi.ng/base-n.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) +- [API](#api) +- [Authors](#authors) +- [License](#license) + +## About + +Arbitrary base-n encoding/decoding with presets for base32/36/58/62/64/85 and support for bigints. + +### Status + +**BETA** - possibly breaking changes forthcoming + +[Search or submit any issues for this package](https://github.com/thi-ng/umbrella/issues?q=%5Bbase-n%5D+in%3Atitle) + +## Installation + +```bash +yarn add @thi.ng/base-n +``` + +```html +// ES module + + +// UMD + +``` + +Package sizes (gzipped, pre-treeshake): ESM: 626 bytes / CJS: 715 bytes / UMD: 800 bytes + +## Dependencies + +None + +## API + +[Generated API docs](https://docs.thi.ng/umbrella/base-n/) + +```ts +import { BASE85, defBase } from "@thi.ng/base-n"; + +BASE85.encodeBigInt(2n ** 128n - 1); +// '=r54lj&NUUO~Hi%c2ym0' + +BASE85.decodeBigInt("=r54lj&NUUO~Hi%c2ym0").toString(16); +// 'ffffffffffffffffffffffffffffffff' + +// define a custom base impl +const ternary = defBase("012"); + +ternary.encode(12345678) +// '212020020002100' + +ternary.decode("212020020002100"); +// 12345678 +``` + +## Authors + +Karsten Schmidt + +If this project contributes to an academic publication, please cite it as: + +```bibtex +@misc{thing-base-n, + title = "@thi.ng/base-n", + author = "Karsten Schmidt", + note = "https://thi.ng/base-n", + year = 2017 +} +``` + +## License + +© 2017 - 2021 Karsten Schmidt // Apache Software License 2.0 diff --git a/packages/base-n/api-extractor.json b/packages/base-n/api-extractor.json new file mode 100644 index 0000000000..94972e6bed --- /dev/null +++ b/packages/base-n/api-extractor.json @@ -0,0 +1,3 @@ +{ + "extends": "../../api-extractor.json" +} diff --git a/packages/base-n/package.json b/packages/base-n/package.json new file mode 100644 index 0000000000..234e825389 --- /dev/null +++ b/packages/base-n/package.json @@ -0,0 +1,67 @@ +{ + "name": "@thi.ng/base-n", + "version": "0.0.1", + "description": "Arbitrary base-n encoding/decoding with presets for base32/36/58/62/64/85 and support for bigints", + "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/base-n#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.12.1", + "@types/mocha": "^8.2.0", + "@types/node": "^14.14.14", + "mocha": "^8.2.1", + "nyc": "^15.1.0", + "ts-node": "^9.1.1", + "typedoc": "^0.20.4", + "typescript": "^4.1.3" + }, + "files": [ + "*.js", + "*.d.ts", + "lib" + ], + "keywords": [ + "typescript" + ], + "publishConfig": { + "access": "public" + }, + "sideEffects": false, + "thi.ng": { + "status": "beta", + "year": 2017 + } +} diff --git a/packages/base-n/src/32.ts b/packages/base-n/src/32.ts new file mode 100644 index 0000000000..0a2e131451 --- /dev/null +++ b/packages/base-n/src/32.ts @@ -0,0 +1,17 @@ +import { defBase } from "./base"; + +/** + * Digits: A-Z 2-7 + * + * @remarks + * Reference: https://tools.ietf.org/html/rfc4648 + */ +export const BASE32_RFC4648 = defBase("ABCDEFGHIJKLMNOPQRSTUVWXYZ234567"); + +/** + * Digits: 0-9 A-V + * + * @remarks + * Reference: https://en.wikipedia.org/wiki/Base32#base32hex + */ +export const BASE32_HEX = defBase("0123456789ABCDEFGHIJKLMNOPQRSTUV"); diff --git a/packages/base-n/src/36.ts b/packages/base-n/src/36.ts new file mode 100644 index 0000000000..99f02821ae --- /dev/null +++ b/packages/base-n/src/36.ts @@ -0,0 +1,11 @@ +import { defBase } from "./base"; + +export const B36_CHARS = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"; + +/** + * Digits: 0-9 A-Z + * + * @remarks + * Reference: https://en.wikipedia.org/wiki/Base36 + */ +export const BASE36 = defBase(B36_CHARS); diff --git a/packages/base-n/src/58.ts b/packages/base-n/src/58.ts new file mode 100644 index 0000000000..70ae485c16 --- /dev/null +++ b/packages/base-n/src/58.ts @@ -0,0 +1,9 @@ +import { defBase } from "./base"; + +export const B58_CHARS = + "123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"; + +/** + * Reference: https://en.wikipedia.org/wiki/Binary-to-text_encoding + */ +export const BASE58 = defBase(B58_CHARS); diff --git a/packages/base-n/src/62.ts b/packages/base-n/src/62.ts new file mode 100644 index 0000000000..e88f53535f --- /dev/null +++ b/packages/base-n/src/62.ts @@ -0,0 +1,12 @@ +import { B36_CHARS } from "./36"; +import { defBase } from "./base"; + +export const B62_CHARS = B36_CHARS + "abcdefghijklmnopqrstuvwxyz"; + +/** + * Digits: 0-9 A-Z a-z + * + * @remarks + * Reference: https://en.wikipedia.org/wiki/Base62 + */ +export const BASE62 = defBase(B62_CHARS); diff --git a/packages/base-n/src/64.ts b/packages/base-n/src/64.ts new file mode 100644 index 0000000000..4a55b453a2 --- /dev/null +++ b/packages/base-n/src/64.ts @@ -0,0 +1,12 @@ +import { B62_CHARS } from "./62"; +import { defBase } from "./base"; + +export const B64_CHARS = B62_CHARS + "+/"; + +/** + * Digits: 0-9 A-Z a-z + / + * + * @remarks + * Reference: https://en.wikipedia.org/wiki/Base64 + */ +export const BASE64 = defBase(B64_CHARS); diff --git a/packages/base-n/src/85.ts b/packages/base-n/src/85.ts new file mode 100644 index 0000000000..64f0ab28b2 --- /dev/null +++ b/packages/base-n/src/85.ts @@ -0,0 +1,9 @@ +import { B62_CHARS } from "./62"; +import { defBase } from "./base"; + +const B85_CHARS = B62_CHARS + "!#$%&()*+-;<=>?@^_`{|}~"; + +/** + * Reference: https://en.wikipedia.org/wiki/Ascii85 + */ +export const BASE85 = defBase(B85_CHARS); diff --git a/packages/base-n/src/api.ts b/packages/base-n/src/api.ts new file mode 100644 index 0000000000..ca1f6f51a5 --- /dev/null +++ b/packages/base-n/src/api.ts @@ -0,0 +1,28 @@ +export interface IBase { + /** + * Encodes `x` into a baseN encoded string. `x` MUST be < 2^53. Use + * `encodeBigInt()` for arbitrary values. + * + * @param x + */ + encode(x: number): string; + /** + * Encodes bigint `x` into a baseN encoded string. + * + * @param x + */ + encodeBigInt(x: bigint): string; + /** + * Decodes baseN encoded string `x` into a numeric value. Assumes the + * resulting `x` will be < 2^53. Use `decodeBigInt()` for arbitrary values. + * + * @param x + */ + decode(x: string): number; + /** + * Decodes baseN encoded string `x` into a bigint value. + * + * @param x + */ + decodeBigInt(x: string): bigint; +} diff --git a/packages/base-n/src/base.ts b/packages/base-n/src/base.ts new file mode 100644 index 0000000000..a60720b371 --- /dev/null +++ b/packages/base-n/src/base.ts @@ -0,0 +1,63 @@ +import type { IBase } from "./api"; + +export const defBase = (chars: string) => new BaseN(chars); + +export class BaseN implements IBase { + readonly N: number; + readonly index: Record; + + constructor(public readonly base: string) { + this.N = base.length; + this.index = [...base].reduce( + (acc, x, i) => ((acc[x] = i), acc), + >{} + ); + } + + encode(x: number) { + const { base, N } = this; + if (x === 0) return base[0]; + let res = ""; + while (x > 0) { + res = base[x % N] + res; + x = (x / N) | 0; + } + return res; + } + + encodeBigInt(x: bigint) { + if (x < BigInt(2 ** 53)) return this.encode(Number(x)); + const { base, N } = this; + if (x === BigInt(0)) return base[0]; + const NN = BigInt(N); + let res = ""; + while (x > 0) { + res = base[Number(x % NN)] + res; + x /= NN; + } + return res; + } + + decode(x: string) { + const { index, N } = this; + let res = 0; + for (let n = x.length - 1, i = 0; i <= n; i++) { + res += index[x[i]] * N ** (n - i); + } + return res; + } + + decodeBigInt(x: string): bigint { + const { index, N } = this; + const NN = BigInt(N); + let res = BigInt(0); + for (let n = x.length - 1, i = 0; i <= n; i++) { + res += BigInt(index[x[i]]) * NN ** BigInt(n - i); + } + return res; + } + + validate(x: string) { + return new RegExp(`^[${this.base}]+$`).test(x); + } +} diff --git a/packages/base-n/src/index.ts b/packages/base-n/src/index.ts new file mode 100644 index 0000000000..15bde395a5 --- /dev/null +++ b/packages/base-n/src/index.ts @@ -0,0 +1,9 @@ +export * from "./api"; +export * from "./base"; + +export * from "./32"; +export * from "./36"; +export * from "./58"; +export * from "./62"; +export * from "./64"; +export * from "./85"; diff --git a/packages/base-n/test/index.ts b/packages/base-n/test/index.ts new file mode 100644 index 0000000000..2a0d89cd04 --- /dev/null +++ b/packages/base-n/test/index.ts @@ -0,0 +1,37 @@ +import * as assert from "assert"; +import { + BASE32_HEX, + BASE32_RFC4648, + BASE36, + BASE58, + BASE64, + BASE85, +} from "../src"; + +describe("base-n", () => { + it("roundtrip", () => { + const X = BigInt(2) ** BigInt(128) - BigInt(1); + + // prettier-ignore + assert.strictEqual(BASE32_RFC4648.encodeBigInt(X), "H7777777777777777777777777"); + // prettier-ignore + assert.strictEqual(BASE32_RFC4648.decodeBigInt("H7777777777777777777777777"), X); + + // prettier-ignore + assert.strictEqual(BASE32_HEX.encodeBigInt(X), "7VVVVVVVVVVVVVVVVVVVVVVVVV"); + // prettier-ignore + assert.strictEqual(BASE32_HEX.decodeBigInt("7VVVVVVVVVVVVVVVVVVVVVVVVV"), X); + + assert.strictEqual(BASE36.encodeBigInt(X), "F5LXX1ZZ5PNORYNQGLHZMSP33"); + assert.strictEqual(BASE36.decodeBigInt("F5LXX1ZZ5PNORYNQGLHZMSP33"), X); + + assert.strictEqual(BASE58.encodeBigInt(X), "YcVfxkQb6JRzqk5kF2tNLv"); + assert.strictEqual(BASE58.decodeBigInt("YcVfxkQb6JRzqk5kF2tNLv"), X); + + assert.strictEqual(BASE64.encodeBigInt(X), "3/////////////////////"); + assert.strictEqual(BASE64.decodeBigInt("3/////////////////////"), X); + + assert.strictEqual(BASE85.encodeBigInt(X), "=r54lj&NUUO~Hi%c2ym0"); + assert.strictEqual(BASE85.decodeBigInt("=r54lj&NUUO~Hi%c2ym0"), X); + }); +}); diff --git a/packages/base-n/test/tsconfig.json b/packages/base-n/test/tsconfig.json new file mode 100644 index 0000000000..f6e63560dd --- /dev/null +++ b/packages/base-n/test/tsconfig.json @@ -0,0 +1,11 @@ +{ + "extends": "../../../tsconfig.json", + "compilerOptions": { + "outDir": "../build", + "module": "commonjs" + }, + "include": [ + "./**/*.ts", + "../src/**/*.ts" + ] +} diff --git a/packages/base-n/tpl.readme.md b/packages/base-n/tpl.readme.md new file mode 100644 index 0000000000..4319daa09e --- /dev/null +++ b/packages/base-n/tpl.readme.md @@ -0,0 +1,67 @@ +# ${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} + +```ts +import { BASE85, defBase } from "@thi.ng/base-n"; + +BASE85.encodeBigInt(2n ** 128n - 1); +// '=r54lj&NUUO~Hi%c2ym0' + +BASE85.decodeBigInt("=r54lj&NUUO~Hi%c2ym0").toString(16); +// 'ffffffffffffffffffffffffffffffff' + +// define a custom base impl +const ternary = defBase("012"); + +ternary.encode(12345678) +// '212020020002100' + +ternary.decode("212020020002100"); +// 12345678 +``` + +## Authors + +${authors} + +${pkg.cite} + +## License + +© ${copyright} // ${license} diff --git a/packages/base-n/tsconfig.json b/packages/base-n/tsconfig.json new file mode 100644 index 0000000000..bd6481a5a6 --- /dev/null +++ b/packages/base-n/tsconfig.json @@ -0,0 +1,9 @@ +{ + "extends": "../../tsconfig.json", + "compilerOptions": { + "outDir": "." + }, + "include": [ + "./src/**/*.ts" + ] +} From 67a2e611a52ecd8870b43848e95d457f63185428 Mon Sep 17 00:00:00 2001 From: Karsten Schmidt Date: Wed, 13 Jan 2021 01:20:26 +0000 Subject: [PATCH 10/21] feat(ksuid): import as new pkg --- packages/ksuid/LICENSE | 201 ++++++++++++++++++++++++++++++ packages/ksuid/README.md | 122 ++++++++++++++++++ packages/ksuid/api-extractor.json | 3 + packages/ksuid/package.json | 86 +++++++++++++ packages/ksuid/src/index.ts | 107 ++++++++++++++++ packages/ksuid/test/index.ts | 6 + packages/ksuid/test/tsconfig.json | 11 ++ packages/ksuid/tpl.readme.md | 97 ++++++++++++++ packages/ksuid/tsconfig.json | 9 ++ 9 files changed, 642 insertions(+) create mode 100644 packages/ksuid/LICENSE create mode 100644 packages/ksuid/README.md create mode 100644 packages/ksuid/api-extractor.json create mode 100644 packages/ksuid/package.json create mode 100644 packages/ksuid/src/index.ts create mode 100644 packages/ksuid/test/index.ts create mode 100644 packages/ksuid/test/tsconfig.json create mode 100644 packages/ksuid/tpl.readme.md create mode 100644 packages/ksuid/tsconfig.json diff --git a/packages/ksuid/LICENSE b/packages/ksuid/LICENSE new file mode 100644 index 0000000000..8dada3edaf --- /dev/null +++ b/packages/ksuid/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/ksuid/README.md b/packages/ksuid/README.md new file mode 100644 index 0000000000..60452c04e5 --- /dev/null +++ b/packages/ksuid/README.md @@ -0,0 +1,122 @@ + + +# ![ksuid](https://media.thi.ng/umbrella/banners/thing-ksuid.svg?451df049) + +[![npm version](https://img.shields.io/npm/v/@thi.ng/ksuid.svg)](https://www.npmjs.com/package/@thi.ng/ksuid) +![npm downloads](https://img.shields.io/npm/dm/@thi.ng/ksuid.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) +- [API](#api) +- [Authors](#authors) +- [License](#license) + +## About + +Configurable K-sortable unique identifiers, binary & base-N encoded. + +Idea based on [segmentio/ksuid](https://github.com/segmentio/ksuid), though with +added flexibility in terms of configuration & implementation: + +- Configurable bit size (default: 128bits) +- Base-N encoding scheme (default: base62, see + [@thi.ng/base-n](https://github.com/thi-ng/umbrella/tree/develop/packages/base-n) + for alternatives) +- Epoch start time offset +- RNG source (default: `window.crypto`) + +KSUIDs generated w/ this package consist of the lower 32bits of an Unix epoch +(potentially time shifted to free up bits for future timestamps) and N bits of a +random payload (from a configurable source). IDs can be generated as byte arrays +or base-N encoded strings. For the latter, the JS runtime MUST support +[`BigInt`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/BigInt). + +### Status + +**ALPHA** - bleeding edge / work-in-progress + +[Search or submit any issues for this package](https://github.com/thi-ng/umbrella/issues?q=%5Bksuid%5D+in%3Atitle) + +## Installation + +```bash +yarn add @thi.ng/ksuid +``` + +```html +// ES module + + +// UMD + +``` + +Package sizes (gzipped, pre-treeshake): ESM: 447 bytes / CJS: 503 bytes / UMD: 627 bytes + +## Dependencies + +- [@thi.ng/api](https://github.com/thi-ng/umbrella/tree/develop/packages/api) +- [@thi.ng/base-n](https://github.com/thi-ng/umbrella/tree/develop/packages/base-n) +- [@thi.ng/random](https://github.com/thi-ng/umbrella/tree/develop/packages/random) +- [@thi.ng/strings](https://github.com/thi-ng/umbrella/tree/develop/packages/strings) + +## API + +[Generated API docs](https://docs.thi.ng/umbrella/ksuid/) + +```ts +import { defKSUID } from "@thi.ng/ksuid"; + +// init w/ defaults +const id = defKSUID(); + +id.next(); +// '05XCWbXa3akRqLDBUw4ogCVKGkd' + +const a = id.nextBinary() +// Uint8Array(20) [ +// 0, 160, 48, 77, 101, 251, +// 244, 17, 155, 97, 24, 101, +// 70, 71, 207, 23, 32, 21, +// 244, 116 +// ] + +// format a binary KSUID +id.format(a); +// '05XCZ32AaDZfZt0SWE2C22o6cqK' +``` + +Creating custom IDs: + +```ts +import { BASE36 } from "@thi.ng/base-n"; + +// no time shift, 64bit random +const id36 = defKSUID({ base: BASE36, epoch: 0, bytes: 8 }); +// '2VOUKH4K59AG0RXR4XH' +``` + +## Authors + +Karsten Schmidt + +If this project contributes to an academic publication, please cite it as: + +```bibtex +@misc{thing-ksuid, + title = "@thi.ng/ksuid", + author = "Karsten Schmidt", + note = "https://thi.ng/ksuid", + year = 2020 +} +``` + +## License + +© 2020 - 2021 Karsten Schmidt // Apache Software License 2.0 diff --git a/packages/ksuid/api-extractor.json b/packages/ksuid/api-extractor.json new file mode 100644 index 0000000000..94972e6bed --- /dev/null +++ b/packages/ksuid/api-extractor.json @@ -0,0 +1,3 @@ +{ + "extends": "../../api-extractor.json" +} diff --git a/packages/ksuid/package.json b/packages/ksuid/package.json new file mode 100644 index 0000000000..7db979a4f8 --- /dev/null +++ b/packages/ksuid/package.json @@ -0,0 +1,86 @@ +{ + "name": "@thi.ng/ksuid", + "version": "0.0.1", + "description": "Configurable K-sortable unique identifiers, binary & base-N encoded", + "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/ksuid#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.12.1", + "@types/mocha": "^8.2.0", + "@types/node": "^14.14.14", + "mocha": "^8.2.1", + "nyc": "^15.1.0", + "ts-node": "^9.1.1", + "typedoc": "^0.20.4", + "typescript": "^4.1.3" + }, + "dependencies": { + "@thi.ng/api": "^6.13.6", + "@thi.ng/base-n": "^0.0.1", + "@thi.ng/random": "^2.1.5", + "@thi.ng/strings": "^1.13.0" + }, + "files": [ + "*.js", + "*.d.ts", + "lib" + ], + "keywords": [ + "base", + "bigint", + "binary", + "bytes", + "crypto", + "encode", + "epoch", + "generator", + "id", + "random", + "sort", + "timestamp", + "typescript", + "uuid" + ], + "publishConfig": { + "access": "public" + }, + "sideEffects": false, + "thi.ng": { + "status": "alpha", + "year": 2020 + } +} diff --git a/packages/ksuid/src/index.ts b/packages/ksuid/src/index.ts new file mode 100644 index 0000000000..83b55b8196 --- /dev/null +++ b/packages/ksuid/src/index.ts @@ -0,0 +1,107 @@ +import { assert } from "@thi.ng/api"; +import { BASE62, BaseN } from "@thi.ng/base-n"; +import { IRandom, randomBytes, randomBytesFrom } from "@thi.ng/random"; +import { padLeft } from "@thi.ng/strings"; + +export interface KSUIDOpts { + /** + * {@link @this.ng/base-n#BaseN} instance for string encoding the generated + * binary IDs. + * + * @defaultValue BASE62 + */ + base: BaseN; + /** + * Optional PRNG instance for sourcing random values (for development/debug + * purposes only). + * + * @defaultValue window.crypto + */ + rnd: IRandom; + /** + * Number of bytes for random payload. + * + * @defaultValue 16 + */ + bytes: number; + /** + * Time offset in seconds, relative to standard Unix epoch. This is used to + * extend the time headroom of IDs into the future. + * + * @remarks + * The default value is approx. 2020-09-13, meaning this is the T0 epoch for + * all IDs (providing an additional ~50 year lifespan compared to the + * standard 1970-01-01 epoch) + * + * @defaultValue 1_600_000_000 + */ + epoch: number; +} + +export class KSUID { + /** + * Returns the byte size of a single ID, based on the KSUID's configuration. + * The default config (payload 16 bytes) will result in 20-byte IDs (27 + * chars base62 encoded). + */ + readonly size: number; + + protected base: BaseN; + protected rnd?: IRandom; + protected epoch: number; + protected pad: (x: any) => string; + + constructor(opts?: Partial) { + opts = { + base: BASE62, + epoch: 1_600_000_000, + bytes: 16, + ...opts, + }; + this.base = opts.base!; + this.rnd = opts.rnd; + this.epoch = opts.epoch!; + this.size = 4 + opts.bytes!; + this.pad = padLeft( + this.base.size(2 ** (this.size * 8) - 1), + this.base.base[0] + ); + } + + /** + * Returns a new baseN encoded ID string. + */ + next() { + return this.pad(this.base.encodeBytes(this.nextBinary())); + } + + /** + * Returns a new ID as byte array. + */ + nextBinary() { + const buf = new Uint8Array(this.size); + const t = (Date.now() / 1000 - this.epoch) & 0xffffffff; + buf.set([t >>> 24, (t >>> 16) & 0xff, (t >>> 8) & 0xff, t & 0xff]); + return this.rnd + ? randomBytesFrom(this.rnd, buf, 4) + : randomBytes(buf, 4); + } + + /** + * Returns baseN encoded version of given binary ID (generated via + * `.nextBinary()`). + */ + format(buf: Uint8Array) { + assert( + buf.length == this.size, + `illegal KSUID size, expected ${this.size} bytes` + ); + return this.pad(this.base.encodeBytes(buf)); + } +} + +/** + * + * @param opts + */ +export const defKSUID = (opts?: Partial): KSUID => new KSUID(opts); diff --git a/packages/ksuid/test/index.ts b/packages/ksuid/test/index.ts new file mode 100644 index 0000000000..3e2d5c2e00 --- /dev/null +++ b/packages/ksuid/test/index.ts @@ -0,0 +1,6 @@ +// import * as assert from "assert"; +// import { } from "../src"; + +describe("ksuid", () => { + it("tests pending"); +}); diff --git a/packages/ksuid/test/tsconfig.json b/packages/ksuid/test/tsconfig.json new file mode 100644 index 0000000000..f6e63560dd --- /dev/null +++ b/packages/ksuid/test/tsconfig.json @@ -0,0 +1,11 @@ +{ + "extends": "../../../tsconfig.json", + "compilerOptions": { + "outDir": "../build", + "module": "commonjs" + }, + "include": [ + "./**/*.ts", + "../src/**/*.ts" + ] +} diff --git a/packages/ksuid/tpl.readme.md b/packages/ksuid/tpl.readme.md new file mode 100644 index 0000000000..e24012cfec --- /dev/null +++ b/packages/ksuid/tpl.readme.md @@ -0,0 +1,97 @@ +# ${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} + +Idea based on [segmentio/ksuid](https://github.com/segmentio/ksuid), though with +added flexibility in terms of configuration & implementation: + +- Configurable bit size (default: 128bits) +- Base-N encoding scheme (default: base62, see + [@thi.ng/base-n](https://github.com/thi-ng/umbrella/tree/develop/packages/base-n) + for alternatives) +- Epoch start time offset +- RNG source (default: `window.crypto`) + +KSUIDs generated w/ this package consist of the lower 32bits of an Unix epoch +(potentially time shifted to free up bits for future timestamps) and N bits of a +random payload (from a configurable source). IDs can be generated as byte arrays +or base-N encoded strings. For the latter, the JS runtime MUST support +[`BigInt`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/BigInt). + + +${status} + +${supportPackages} + +${relatedPackages} + +${blogPosts} + +## Installation + +${pkg.install} + +${pkg.size} + +## Dependencies + +${pkg.deps} + +${examples} + +## API + +${docLink} + +```ts +import { defKSUID } from "@thi.ng/ksuid"; + +// init w/ defaults +const id = defKSUID(); + +id.next(); +// '05XCWbXa3akRqLDBUw4ogCVKGkd' + +const a = id.nextBinary() +// Uint8Array(20) [ +// 0, 160, 48, 77, 101, 251, +// 244, 17, 155, 97, 24, 101, +// 70, 71, 207, 23, 32, 21, +// 244, 116 +// ] + +// format a binary KSUID +id.format(a); +// '05XCZ32AaDZfZt0SWE2C22o6cqK' +``` + +Creating custom IDs: + +```ts +import { BASE36 } from "@thi.ng/base-n"; + +// no time shift, 64bit random +const id36 = defKSUID({ base: BASE36, epoch: 0, bytes: 8 }); +// '2VOUKH4K59AG0RXR4XH' +``` + +## Authors + +${authors} + +${pkg.cite} + +## License + +© ${copyright} // ${license} diff --git a/packages/ksuid/tsconfig.json b/packages/ksuid/tsconfig.json new file mode 100644 index 0000000000..bd6481a5a6 --- /dev/null +++ b/packages/ksuid/tsconfig.json @@ -0,0 +1,9 @@ +{ + "extends": "../../tsconfig.json", + "compilerOptions": { + "outDir": "." + }, + "include": [ + "./src/**/*.ts" + ] +} From d6205d72331bf038ebdc95c221763e2f794c10a9 Mon Sep 17 00:00:00 2001 From: Karsten Schmidt Date: Wed, 13 Jan 2021 01:26:50 +0000 Subject: [PATCH 11/21] feat(base-n): add en/decodeBytes(), add BASE16_XX --- packages/base-n/package.json | 3 +++ packages/base-n/src/16.ts | 11 +++++++++++ packages/base-n/src/api.ts | 20 +++++++++++++++++++ packages/base-n/src/base.ts | 22 +++++++++++++++++++++ packages/base-n/src/index.ts | 1 + packages/base-n/test/index.ts | 37 ++++++++++++++++------------------- 6 files changed, 74 insertions(+), 20 deletions(-) create mode 100644 packages/base-n/src/16.ts diff --git a/packages/base-n/package.json b/packages/base-n/package.json index 234e825389..701625ba2a 100644 --- a/packages/base-n/package.json +++ b/packages/base-n/package.json @@ -48,6 +48,9 @@ "typedoc": "^0.20.4", "typescript": "^4.1.3" }, + "dependencies": { + "@thi.ng/hex": "^0.1.3" + }, "files": [ "*.js", "*.d.ts", diff --git a/packages/base-n/src/16.ts b/packages/base-n/src/16.ts new file mode 100644 index 0000000000..bedfd6fb0c --- /dev/null +++ b/packages/base-n/src/16.ts @@ -0,0 +1,11 @@ +import { defBase } from "./base"; + +/** + * Digits: 0-9 A-F + */ +export const BASE16_UC = defBase("0123456789ABCDEF"); + +/** + * Digits: 0-9 a-f + */ +export const BASE16_LC = defBase("0123456789abcdef"); diff --git a/packages/base-n/src/api.ts b/packages/base-n/src/api.ts index ca1f6f51a5..fd3b64b489 100644 --- a/packages/base-n/src/api.ts +++ b/packages/base-n/src/api.ts @@ -1,4 +1,7 @@ export interface IBase { + readonly N: number; + readonly base: string; + /** * Encodes `x` into a baseN encoded string. `x` MUST be < 2^53. Use * `encodeBigInt()` for arbitrary values. @@ -12,6 +15,14 @@ export interface IBase { * @param x */ encodeBigInt(x: bigint): string; + + /** + * Encodes given byte array into a bigint and then baseN encodes it. + * + * @param buf + */ + encodeBytes(buf: Uint8Array): string; + /** * Decodes baseN encoded string `x` into a numeric value. Assumes the * resulting `x` will be < 2^53. Use `decodeBigInt()` for arbitrary values. @@ -25,4 +36,13 @@ export interface IBase { * @param x */ decodeBigInt(x: string): bigint; + /** + * Decodes given string in a byte array. The byte values will be big endian + * order, with the LSB aligned to end of the given array. If `buf` is + * shorter than the space required by the encoded source string, the most + * significant bytes will be ignored. + * + * @param buf + */ + decodeBytes(x: string, buf: Uint8Array): Uint8Array; } diff --git a/packages/base-n/src/base.ts b/packages/base-n/src/base.ts index a60720b371..b13886cc45 100644 --- a/packages/base-n/src/base.ts +++ b/packages/base-n/src/base.ts @@ -1,3 +1,4 @@ +import { U8 } from "@thi.ng/hex"; import type { IBase } from "./api"; export const defBase = (chars: string) => new BaseN(chars); @@ -38,6 +39,12 @@ export class BaseN implements IBase { return res; } + encodeBytes(buf: Uint8Array) { + let hex = ""; + for (let i = 0, n = buf.length; i < n; i++) hex += U8(buf[i]); + return this.encodeBigInt(BigInt(`0x${hex}`)); + } + decode(x: string) { const { index, N } = this; let res = 0; @@ -57,7 +64,22 @@ export class BaseN implements IBase { return res; } + decodeBytes(x: string, buf: Uint8Array): Uint8Array { + let y = this.decodeBigInt(x); + const M = BigInt(255); + const SHIFT = BigInt(8); + for (let i = buf.length; --i >= 0; ) { + buf[i] = Number(y & M); + y >>= SHIFT; + } + return buf; + } + validate(x: string) { return new RegExp(`^[${this.base}]+$`).test(x); } + + size(x: number) { + return Math.ceil(Math.log(x) / Math.log(this.N)); + } } diff --git a/packages/base-n/src/index.ts b/packages/base-n/src/index.ts index 15bde395a5..a58466b41d 100644 --- a/packages/base-n/src/index.ts +++ b/packages/base-n/src/index.ts @@ -1,6 +1,7 @@ export * from "./api"; export * from "./base"; +export * from "./16"; export * from "./32"; export * from "./36"; export * from "./58"; diff --git a/packages/base-n/test/index.ts b/packages/base-n/test/index.ts index 2a0d89cd04..a9234eccfb 100644 --- a/packages/base-n/test/index.ts +++ b/packages/base-n/test/index.ts @@ -4,34 +4,31 @@ import { BASE32_RFC4648, BASE36, BASE58, + BASE62, BASE64, BASE85, + IBase, } from "../src"; describe("base-n", () => { it("roundtrip", () => { const X = BigInt(2) ** BigInt(128) - BigInt(1); - // prettier-ignore - assert.strictEqual(BASE32_RFC4648.encodeBigInt(X), "H7777777777777777777777777"); - // prettier-ignore - assert.strictEqual(BASE32_RFC4648.decodeBigInt("H7777777777777777777777777"), X); + const check = ( + base: IBase, + expected: string, + id: string | number = base.N + ) => { + assert.strictEqual(base.encodeBigInt(X), expected, `encode: ${id}`); + assert.strictEqual(base.decodeBigInt(expected), X, `decode: ${id}`); + }; - // prettier-ignore - assert.strictEqual(BASE32_HEX.encodeBigInt(X), "7VVVVVVVVVVVVVVVVVVVVVVVVV"); - // prettier-ignore - assert.strictEqual(BASE32_HEX.decodeBigInt("7VVVVVVVVVVVVVVVVVVVVVVVVV"), X); - - assert.strictEqual(BASE36.encodeBigInt(X), "F5LXX1ZZ5PNORYNQGLHZMSP33"); - assert.strictEqual(BASE36.decodeBigInt("F5LXX1ZZ5PNORYNQGLHZMSP33"), X); - - assert.strictEqual(BASE58.encodeBigInt(X), "YcVfxkQb6JRzqk5kF2tNLv"); - assert.strictEqual(BASE58.decodeBigInt("YcVfxkQb6JRzqk5kF2tNLv"), X); - - assert.strictEqual(BASE64.encodeBigInt(X), "3/////////////////////"); - assert.strictEqual(BASE64.decodeBigInt("3/////////////////////"), X); - - assert.strictEqual(BASE85.encodeBigInt(X), "=r54lj&NUUO~Hi%c2ym0"); - assert.strictEqual(BASE85.decodeBigInt("=r54lj&NUUO~Hi%c2ym0"), X); + check(BASE32_RFC4648, "H7777777777777777777777777", "32rfc"); + check(BASE32_HEX, "7VVVVVVVVVVVVVVVVVVVVVVVVV", "32hex"); + check(BASE36, "F5LXX1ZZ5PNORYNQGLHZMSP33"); + check(BASE58, "YcVfxkQb6JRzqk5kF2tNLv"); + check(BASE62, "7n42DGM5Tflk9n8mt7Fhc7"); + check(BASE64, "3/////////////////////"); + check(BASE85, "=r54lj&NUUO~Hi%c2ym0"); }); }); From 4d095da557b1f3ee9ce46778aeba25f0c6aa94f9 Mon Sep 17 00:00:00 2001 From: Karsten Schmidt Date: Wed, 13 Jan 2021 01:32:38 +0000 Subject: [PATCH 12/21] feat(random): add opt start/end for randomBytes() --- packages/random/src/random-bytes.ts | 22 ++++++++++++++++++---- 1 file changed, 18 insertions(+), 4 deletions(-) diff --git a/packages/random/src/random-bytes.ts b/packages/random/src/random-bytes.ts index f54d2fe0c2..fea9e15060 100644 --- a/packages/random/src/random-bytes.ts +++ b/packages/random/src/random-bytes.ts @@ -8,9 +8,16 @@ import { SYSTEM } from "./system"; * * @param rnd - * @param buf - + * @param start - + * @param end - */ -export const randomBytesFrom = (rnd: IRandom, buf: Uint8Array) => { - for (let i = buf.length; --i >= 0; ) { +export const randomBytesFrom = ( + rnd: IRandom, + buf: Uint8Array, + start = 0, + end = buf.length +) => { + for (let i = end; --i >= start; ) { buf[i] = rnd.int() & 0xff; } return buf; @@ -20,7 +27,14 @@ export const randomBytesFrom = (rnd: IRandom, buf: Uint8Array) => { * Fills given byte array with random values. Wrapper for * `crypto.getRandomValues()` with automatic fallback to using `Math.random` if * platform doesn't provide global crypto instance. + * + * @param buf - + * @param start - + * @param end - */ export const randomBytes = hasCrypto() - ? (buf: Uint8Array) => window.crypto.getRandomValues(buf) - : (buf: Uint8Array) => randomBytesFrom(SYSTEM, buf); + ? (buf: Uint8Array, start = 0, end = buf.length) => ( + window.crypto.getRandomValues(buf.subarray(start, end)), buf + ) + : (buf: Uint8Array, start?: number, end?: number) => + randomBytesFrom(SYSTEM, buf, start, end); From aace41ce8ec0864d38a27d9b0461b705e9e122dc Mon Sep 17 00:00:00 2001 From: Karsten Schmidt Date: Wed, 13 Jan 2021 01:58:28 +0000 Subject: [PATCH 13/21] perf(ksuid): add benchmarks --- packages/ksuid/README.md | 29 +++++++++++++++++++++++++++++ packages/ksuid/bench/index.ts | 19 +++++++++++++++++++ packages/ksuid/bench/tsconfig.json | 10 ++++++++++ packages/ksuid/package.json | 3 +++ packages/ksuid/tpl.readme.md | 28 ++++++++++++++++++++++++++++ 5 files changed, 89 insertions(+) create mode 100644 packages/ksuid/bench/index.ts create mode 100644 packages/ksuid/bench/tsconfig.json diff --git a/packages/ksuid/README.md b/packages/ksuid/README.md index 60452c04e5..e0c2f92b75 100644 --- a/packages/ksuid/README.md +++ b/packages/ksuid/README.md @@ -14,6 +14,7 @@ This project is part of the - [Installation](#installation) - [Dependencies](#dependencies) - [API](#api) +- [Benchmarks](#benchmarks) - [Authors](#authors) - [License](#license) @@ -102,6 +103,34 @@ const id36 = defKSUID({ base: BASE36, epoch: 0, bytes: 8 }); // '2VOUKH4K59AG0RXR4XH' ``` +## Benchmarks + +```text +yarn bench + +benchmarking: b62, 128bit, n=10000 + warmup... 659.22ms (10 runs) + executing... + total: 6402.18ms, runs: 100 + mean: 64.02ms, median: 63.50ms, range: [59.98..96.15] + q1: 62.64ms, q3: 64.41ms + sd: 6.93% +benchmarking: b62, 64bit, n=10000 + warmup... 363.35ms (10 runs) + executing... + total: 3469.28ms, runs: 100 + mean: 34.69ms, median: 34.41ms, range: [32.61..56.58] + q1: 33.35ms, q3: 35.41ms + sd: 7.47% +benchmarking: b62, 32bit, n=10000 + warmup... 218.78ms (10 runs) + executing... + total: 2118.93ms, runs: 100 + mean: 21.19ms, median: 20.95ms, range: [20.20..25.74] + q1: 20.71ms, q3: 21.30ms + sd: 4.14% +``` + ## Authors Karsten Schmidt diff --git a/packages/ksuid/bench/index.ts b/packages/ksuid/bench/index.ts new file mode 100644 index 0000000000..023c1137c0 --- /dev/null +++ b/packages/ksuid/bench/index.ts @@ -0,0 +1,19 @@ +// import { benchmark } from "@thi.ng/bench"; +import { assert } from "@thi.ng/api"; +import { benchmark } from "@thi.ng/bench"; +import { defKSUID, KSUID } from "../src"; + +const opts = { iter: 100, warmup: 10 }; + +const bench = (id: KSUID, n = 10000) => { + const acc = new Set(); + for (let i = 0; i < n; i++) acc.add(id.next()); + assert(acc.size === n, `collision`); +}; + +// prettier-ignore +benchmark(() => bench(defKSUID({ bytes:16 })), { title: "b62, 128bit, n=10000", ...opts }); +// prettier-ignore +benchmark(() => bench(defKSUID({ bytes: 8 })), { title: "b62, 64bit, n=10000", ...opts }); +// prettier-ignore +benchmark(() => bench(defKSUID({ bytes: 4 })), { title: "b62, 32bit, n=10000", ...opts }); diff --git a/packages/ksuid/bench/tsconfig.json b/packages/ksuid/bench/tsconfig.json new file mode 100644 index 0000000000..9655cbea10 --- /dev/null +++ b/packages/ksuid/bench/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/ksuid/package.json b/packages/ksuid/package.json index 7db979a4f8..e996dbbf22 100644 --- a/packages/ksuid/package.json +++ b/packages/ksuid/package.json @@ -31,6 +31,7 @@ "build:check": "tsc --isolatedModules --noEmit", "test": "mocha test", "cover": "nyc mocha test && nyc report --reporter=lcov", + "bench": "ts-node -P bench/tsconfig.json bench/index.ts", "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", @@ -65,6 +66,8 @@ "binary", "bytes", "crypto", + "database", + "dynamodb", "encode", "epoch", "generator", diff --git a/packages/ksuid/tpl.readme.md b/packages/ksuid/tpl.readme.md index e24012cfec..afe89017c1 100644 --- a/packages/ksuid/tpl.readme.md +++ b/packages/ksuid/tpl.readme.md @@ -86,6 +86,34 @@ const id36 = defKSUID({ base: BASE36, epoch: 0, bytes: 8 }); // '2VOUKH4K59AG0RXR4XH' ``` +## Benchmarks + +```text +yarn bench + +benchmarking: b62, 128bit, n=10000 + warmup... 659.22ms (10 runs) + executing... + total: 6402.18ms, runs: 100 + mean: 64.02ms, median: 63.50ms, range: [59.98..96.15] + q1: 62.64ms, q3: 64.41ms + sd: 6.93% +benchmarking: b62, 64bit, n=10000 + warmup... 363.35ms (10 runs) + executing... + total: 3469.28ms, runs: 100 + mean: 34.69ms, median: 34.41ms, range: [32.61..56.58] + q1: 33.35ms, q3: 35.41ms + sd: 7.47% +benchmarking: b62, 32bit, n=10000 + warmup... 218.78ms (10 runs) + executing... + total: 2118.93ms, runs: 100 + mean: 21.19ms, median: 20.95ms, range: [20.20..25.74] + q1: 20.71ms, q3: 21.30ms + sd: 4.14% +``` + ## Authors ${authors} From 94e69c1021ec67c63be78e0467bfc82be6cabc00 Mon Sep 17 00:00:00 2001 From: Karsten Schmidt Date: Wed, 13 Jan 2021 11:56:58 +0000 Subject: [PATCH 14/21] feat(random): add CRYPTO IRandom impl --- packages/random/src/crypto.ts | 52 +++++++++++++++++++++++++++++++++++ packages/random/src/index.ts | 1 + 2 files changed, 53 insertions(+) create mode 100644 packages/random/src/crypto.ts diff --git a/packages/random/src/crypto.ts b/packages/random/src/crypto.ts new file mode 100644 index 0000000000..e5aa9c8868 --- /dev/null +++ b/packages/random/src/crypto.ts @@ -0,0 +1,52 @@ +import type { IBuffered, ICopy } from "@thi.ng/api"; +import { ARandom } from "./arandom"; +import { randomBytes } from "./random-bytes"; + +/** + * Currently browser only, a `window.crypto` backed {@link IRandom} + * implementation. Random values are buffered to minimize overhead. Buffer size + * is configurable via ctor. + * + * @remarks + * Internally uses {@link randomBytes} to source values, which falls back to + * using {@link SYSTEM} iff `window.crypto` is not available. + * + */ +export class Crypto + extends ARandom + implements IBuffered, ICopy { + buffer: Uint8Array; + protected u32: Uint32Array; + protected i: number; + + /** + * @param size - buffer size in bytes (will be rounded to next multiple of 4) + */ + constructor(size = 64) { + super(); + this.buffer = new Uint8Array((size + 3) & ~3); + this.u32 = new Uint32Array(this.buffer.buffer); + this.i = size >>> 2; + } + + copy() { + return new Crypto(this.buffer.length); + } + + bytes() { + return new Uint8Array(this.buffer.buffer); + } + + int() { + if (this.i >= this.u32.length) { + randomBytes(this.buffer); + this.i = 0; + } + return this.u32[this.i++]; + } +} + +/** + * Default instance for {@link Crypto} PRNG. + */ +export const CRYPTO = new Crypto(); diff --git a/packages/random/src/index.ts b/packages/random/src/index.ts index ef0616c149..7f0959f905 100644 --- a/packages/random/src/index.ts +++ b/packages/random/src/index.ts @@ -1,6 +1,7 @@ export * from "./api"; export * from "./arandom"; +export * from "./crypto"; export * from "./smush32"; export * from "./system"; export * from "./xoshiro128"; From 9d278ad6e1e0bc9d678e2691bac90ae1acd36a7f Mon Sep 17 00:00:00 2001 From: Karsten Schmidt Date: Wed, 13 Jan 2021 11:57:37 +0000 Subject: [PATCH 15/21] refactor(random): minor update randomID() --- packages/random/src/random-id.ts | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/packages/random/src/random-id.ts b/packages/random/src/random-id.ts index e372354c75..a458bfd558 100644 --- a/packages/random/src/random-id.ts +++ b/packages/random/src/random-id.ts @@ -2,9 +2,12 @@ import type { IRandom } from "./api"; import { SYSTEM } from "./system"; /** - * Generates and returns a random string of `len` characters (default - * 4), plus optional given `prefix` and using only provided `syms` - * characters (default lowercase a-z). + * Generates and returns a random string of `len` characters (default 4), plus + * optional given `prefix` and using only provided `syms` characters (default + * lowercase a-z). + * + * @remarks + * See {@link @thi.ng/ksuid#} for a more advanced and collision-free approach. * * @example * ```ts @@ -28,7 +31,7 @@ export const randomID = ( ) => { const n = syms.length; for (; --len >= 0; ) { - prefix += syms[rnd.float(n) | 0]; + prefix += syms[rnd.int() % n]; } return prefix; }; From 258fd7b25930c41025b7337b44c36e1f00924b47 Mon Sep 17 00:00:00 2001 From: Karsten Schmidt Date: Wed, 13 Jan 2021 11:58:43 +0000 Subject: [PATCH 16/21] perf(random): minor update weightedRandom() - avoid sorting if no weights are given --- packages/random/src/weighted-random.ts | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/packages/random/src/weighted-random.ts b/packages/random/src/weighted-random.ts index b2df04fdb7..aa24fa5fb3 100644 --- a/packages/random/src/weighted-random.ts +++ b/packages/random/src/weighted-random.ts @@ -20,13 +20,11 @@ export const weightedRandom = ( ) => { const n = choices.length; assert(n > 0, "no choices given"); - const opts = choices - .map( - weights - ? (x, i) => <[T, number]>[x, weights[i]] - : (x) => <[T, number]>[x, 1] - ) - .sort((a, b) => b[1] - a[1]); + 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); assert(total > 0, "no choices given"); return () => { From 86138edee8111909c623e0e32f4d508830e536c0 Mon Sep 17 00:00:00 2001 From: Karsten Schmidt Date: Wed, 13 Jan 2021 12:11:43 +0000 Subject: [PATCH 17/21] docs(random): update docstrings, readme, pkg meta --- packages/random/README.md | 46 ++++++++++++++++++++---------- packages/random/package.json | 22 ++++++++++++-- packages/random/src/smush32.ts | 10 +++++-- packages/random/src/system.ts | 8 ++++++ packages/random/src/xorshift128.ts | 6 ++-- packages/random/src/xorwow.ts | 6 ++-- packages/random/src/xoshiro128.ts | 9 ++++-- packages/random/src/xsadd.ts | 6 ++-- packages/random/tpl.readme.md | 32 ++++++++++++++------- 9 files changed, 104 insertions(+), 41 deletions(-) diff --git a/packages/random/README.md b/packages/random/README.md index 80e73ae9e4..50d53f5e61 100644 --- a/packages/random/README.md +++ b/packages/random/README.md @@ -10,23 +10,26 @@ This project is part of the [@thi.ng/umbrella](https://github.com/thi-ng/umbrella/) monorepo. - [About](#about) + - [Random distributions](#random-distributions) + - [Other utilities](#other-utilities) - [Status](#status) + - [Related packages](#related-packages) - [Installation](#installation) - [Dependencies](#dependencies) - [Usage examples](#usage-examples) - [API](#api) - - [Other utilities](#other-utilities) - [Authors](#authors) - [License](#license) ## About -Pseudo-random number generators w/ unified API. +Pseudo-random number generators w/ unified API, distributions, weighted choices, ID generation. -This package provides the `IRandom` interface and various (mostly -seedable) pseudo-random number generator implementations, incl. a -`IRandom` wrapper for `Math.random()`: +This package provides the `IRandom` interface and various (mostly seedable) +pseudo-random number generator implementations, incl. `IRandom` wrappers for +`Math.random()` and `window.crypto`: +- [Crypto](https://github.com/thi-ng/umbrella/tree/develop/packages/random/src/crypto.ts) - [Smush32](https://github.com/thi-ng/umbrella/tree/develop/packages/random/src/smush32.ts) - [System](https://github.com/thi-ng/umbrella/tree/develop/packages/random/src/system.ts) - [Xoshiro128](https://github.com/thi-ng/umbrella/tree/develop/packages/random/src/xoshiro128.ts) @@ -34,8 +37,22 @@ seedable) pseudo-random number generator implementations, incl. a - [XorWow](https://github.com/thi-ng/umbrella/tree/develop/packages/random/src/xorwow.ts) - [XsAdd](https://github.com/thi-ng/umbrella/tree/develop/packages/random/src/xsadd.ts) -Partially ported from C implementations taken from -[c.thi.ng](http://c.thi.ng). +Partially ported from C implementations taken from [c.thi.ng](http://c.thi.ng). + +### Random distributions + +- [`exponential()`](https://github.com/thi-ng/umbrella/tree/develop/packages/random/src/distributions/exponential.ts) +- [`gaussian()`](https://github.com/thi-ng/umbrella/tree/develop/packages/random/src/distributions/gaussian.ts) +- [`geometric()`](https://github.com/thi-ng/umbrella/tree/develop/packages/random/src/distributions/geometric.ts) +- [`normal()`](https://github.com/thi-ng/umbrella/tree/develop/packages/random/src/distributions/normal.ts) +- [`uniform()`](https://github.com/thi-ng/umbrella/tree/develop/packages/random/src/distributions/uniform.ts) + +### Other utilities + +- [`randomBytes()`](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) +- [`uuidv4Bytes()` / `uuid()`](https://github.com/thi-ng/umbrella/tree/develop/packages/random/src/uuid.ts) ### Status @@ -43,6 +60,10 @@ Partially ported from C implementations taken from [Search or submit any issues for this package](https://github.com/thi-ng/umbrella/issues?q=%5Brandom%5D+in%3Atitle) +### Related packages + +- [@thi.ng/ksuid](https://github.com/thi-ng/umbrella/tree/develop/packages/ksuid) - Configurable K-sortable unique identifiers, binary & base-N encoded + ## Installation ```bash @@ -57,7 +78,7 @@ yarn add @thi.ng/random ``` -Package sizes (gzipped, pre-treeshake): ESM: 1.51 KB / CJS: 1.62 KB / UMD: 1.63 KB +Package sizes (gzipped, pre-treeshake): ESM: 1.63 KB / CJS: 1.75 KB / UMD: 1.74 KB ## Dependencies @@ -112,11 +133,6 @@ rnd.gaussian() // 0.10632886109089679 ``` -### Other utilities - -- [randomBytes](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) - ## Authors Karsten Schmidt @@ -128,10 +144,10 @@ If this project contributes to an academic publication, please cite it as: title = "@thi.ng/random", author = "Karsten Schmidt", note = "https://thi.ng/random", - year = 2016 + year = 2015 } ``` ## License -© 2016 - 2021 Karsten Schmidt // Apache Software License 2.0 +© 2015 - 2021 Karsten Schmidt // Apache Software License 2.0 diff --git a/packages/random/package.json b/packages/random/package.json index 576a298021..bcb0da1beb 100644 --- a/packages/random/package.json +++ b/packages/random/package.json @@ -1,7 +1,7 @@ { "name": "@thi.ng/random", "version": "2.1.5", - "description": "Pseudo-random number generators w/ unified API", + "description": "Pseudo-random number generators w/ unified API, distributions, weighted choices, ID generation", "module": "./index.js", "main": "./lib/index.js", "umd:main": "./lib/index.umd.js", @@ -61,14 +61,30 @@ ], "keywords": [ "binary", + "crypto", "datastructure", + "distribution", + "exponential", + "gaussian", "generator", + "geometric", + "normal", + "prng", "random", "typedarray", - "typescript" + "typescript", + "weighted", + "uuid", + "uniform" ], "publishConfig": { "access": "public" }, - "sideEffects": false + "sideEffects": false, + "thi.ng": { + "year": 2015, + "related": [ + "ksuid" + ] + } } diff --git a/packages/random/src/smush32.ts b/packages/random/src/smush32.ts index 6f265b6043..89097dc719 100644 --- a/packages/random/src/smush32.ts +++ b/packages/random/src/smush32.ts @@ -3,9 +3,13 @@ import type { ISeedable } from "./api"; import { ARandom } from "./arandom"; import { DEFAULT_SEED_32 } from "./constants"; -// https://github.com/thi-ng/ct-head/blob/develop/random.h -// https://gist.github.com/voidqk/d112165a26b45244a65298933c0349a4 - +/** + * @remarks + * References: + * - + * - https://github.com/thi-ng/ct-head/blob/master/random.h + * - https://gist.github.com/voidqk/d112165a26b45244a65298933c0349a4 + */ export class Smush32 extends ARandom implements IBuffered, ICopy, ISeedable { diff --git a/packages/random/src/system.ts b/packages/random/src/system.ts index c40d8c5415..f9744e2f70 100644 --- a/packages/random/src/system.ts +++ b/packages/random/src/system.ts @@ -2,6 +2,10 @@ import { ARandom } from "./arandom"; const random = Math.random; +/** + * A `Math.random()` based {@link IRandom} implementation. Also @see + * {@link SYSTEM}. + */ export class SystemRandom extends ARandom { int() { return (random() * 4294967296) /* 2**32 */ >>> 0; @@ -16,4 +20,8 @@ export class SystemRandom extends ARandom { } } +/** + * Used as default PRNG throughout most other thi.ng projects, though usually is + * configurable. + */ export const SYSTEM = new SystemRandom(); diff --git a/packages/random/src/xorshift128.ts b/packages/random/src/xorshift128.ts index e2091765dd..6475fd5552 100644 --- a/packages/random/src/xorshift128.ts +++ b/packages/random/src/xorshift128.ts @@ -3,8 +3,10 @@ import type { ISeedable } from "./api"; import { ARandom } from "./arandom"; import { DEFAULT_SEED_128 } from "./constants"; -// https://en.wikipedia.org/wiki/Xorshift - +/** + * @remarks + * Reference: https://en.wikipedia.org/wiki/Xorshift + */ export class XorShift128 extends ARandom implements diff --git a/packages/random/src/xorwow.ts b/packages/random/src/xorwow.ts index 8ccb4ceadb..2185140306 100644 --- a/packages/random/src/xorwow.ts +++ b/packages/random/src/xorwow.ts @@ -3,8 +3,10 @@ import type { ISeedable } from "./api"; import { ARandom } from "./arandom"; import { DEFAULT_SEED_160 } from "./constants"; -// https://en.wikipedia.org/wiki/Xorshift#xorwow - +/** + * @remarks + * Reference: https://en.wikipedia.org/wiki/Xorshift#xorwow + */ export class XorWow extends ARandom implements diff --git a/packages/random/src/xoshiro128.ts b/packages/random/src/xoshiro128.ts index 429bf53a21..76949aa8e4 100644 --- a/packages/random/src/xoshiro128.ts +++ b/packages/random/src/xoshiro128.ts @@ -3,9 +3,12 @@ import type { ISeedable } from "./api"; import { ARandom } from "./arandom"; import { DEFAULT_SEED_128 } from "./constants"; -// http://prng.di.unimi.it/ -// http://prng.di.unimi.it/xoshiro128plusplus.c - +/** + * @remarks + * References: + * - http://prng.di.unimi.it/ + * - http://prng.di.unimi.it/xoshiro128plusplus.c + */ export class Xoshiro128 extends ARandom implements diff --git a/packages/random/src/xsadd.ts b/packages/random/src/xsadd.ts index 4a71d57824..228bbb3c0f 100644 --- a/packages/random/src/xsadd.ts +++ b/packages/random/src/xsadd.ts @@ -3,8 +3,10 @@ import type { ISeedable } from "./api"; import { ARandom } from "./arandom"; import { DEFAULT_SEED_32 } from "./constants"; -// https://github.com/MersenneTwister-Lab/XSadd/blob/develop/xsadd.h - +/** + * @remarks + * Reference: https://github.com/MersenneTwister-Lab/XSadd/blob/develop/xsadd.h + */ export class XsAdd extends ARandom implements IBuffered, ICopy, ISeedable { diff --git a/packages/random/tpl.readme.md b/packages/random/tpl.readme.md index b71dada354..bd482b6fef 100644 --- a/packages/random/tpl.readme.md +++ b/packages/random/tpl.readme.md @@ -13,19 +13,34 @@ This project is part of the ${pkg.description} -This package provides the `IRandom` interface and various (mostly -seedable) pseudo-random number generator implementations, incl. a -`IRandom` wrapper for `Math.random()`: +This package provides the `IRandom` interface and various (mostly seedable) +pseudo-random number generator implementations, incl. `IRandom` wrappers for +`Math.random()` and `window.crypto`: -- [Smush32](https://github.com/thi-ng/umbrella/tree/develop/packages/random/src/smush.ts) +- [Crypto](https://github.com/thi-ng/umbrella/tree/develop/packages/random/src/crypto.ts) +- [Smush32](https://github.com/thi-ng/umbrella/tree/develop/packages/random/src/smush32.ts) - [System](https://github.com/thi-ng/umbrella/tree/develop/packages/random/src/system.ts) - [Xoshiro128](https://github.com/thi-ng/umbrella/tree/develop/packages/random/src/xoshiro128.ts) - [XorShift128](https://github.com/thi-ng/umbrella/tree/develop/packages/random/src/xorshift128.ts) - [XorWow](https://github.com/thi-ng/umbrella/tree/develop/packages/random/src/xorwow.ts) - [XsAdd](https://github.com/thi-ng/umbrella/tree/develop/packages/random/src/xsadd.ts) -Partially ported from C implementations taken from -[c.thi.ng](http://c.thi.ng). +Partially ported from C implementations taken from [c.thi.ng](http://c.thi.ng). + +### Random distributions + +- [`exponential()`](https://github.com/thi-ng/umbrella/tree/develop/packages/random/src/distributions/exponential.ts) +- [`gaussian()`](https://github.com/thi-ng/umbrella/tree/develop/packages/random/src/distributions/gaussian.ts) +- [`geometric()`](https://github.com/thi-ng/umbrella/tree/develop/packages/random/src/distributions/geometric.ts) +- [`normal()`](https://github.com/thi-ng/umbrella/tree/develop/packages/random/src/distributions/normal.ts) +- [`uniform()`](https://github.com/thi-ng/umbrella/tree/develop/packages/random/src/distributions/uniform.ts) + +### Other utilities + +- [`randomBytes()`](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) +- [`uuidv4Bytes()` / `uuid()`](https://github.com/thi-ng/umbrella/tree/develop/packages/random/src/uuid.ts) ${status} @@ -81,11 +96,6 @@ rnd.gaussian() // 0.10632886109089679 ``` -### Other utilities - -- [randomBytes](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) - ## Authors ${authors} From 5280a2a0cf128b747c46153a573790b29aab2710 Mon Sep 17 00:00:00 2001 From: Karsten Schmidt Date: Wed, 13 Jan 2021 12:41:09 +0000 Subject: [PATCH 18/21] docs: update main readme --- README.md | 141 ++++++++++++++++++++++++++++++------------------------ 1 file changed, 79 insertions(+), 62 deletions(-) diff --git a/README.md b/README.md index 0fd6110a68..383448e517 100644 --- a/README.md +++ b/README.md @@ -13,7 +13,7 @@ > the composer of. Geared towards versatility, not any specific type of music." > — [@loganpowell](https://twitter.com/logantpowell/status/1186334119812304901) via Twitter -Mono-repository for 144+ thi.ng TypeScript/ES6 projects, a wide +Mono-repository for 147+ thi.ng TypeScript/ES6 projects, a wide collection of largely data transformation oriented packages and building blocks for (non-exhaustive list of topics): @@ -127,45 +127,74 @@ to update your local version. (These packages might be still unreleased and only available on their feature or `develop` branches) --> -### Latest additions (2021-01-10) +### Latest additions (2021-01-13) -| Project | Version | Changelog | Description | -|---------------------------------------------|-------------------------------------------------------------------------------------------------------------------|------------------------------------------------|------------------------------------------------------| -| [`@thi.ng/args`](./packages/args) | [![version](https://img.shields.io/npm/v/@thi.ng/args.svg)](https://www.npmjs.com/package/@thi.ng/args) | [changelog](./packages/args/CHANGELOG.md) | Declarative & functional CLI arg parsing & coercions | -| [`@thi.ng/fuzzy`](./packages/fuzzy) | [![version](https://img.shields.io/npm/v/@thi.ng/fuzzy.svg)](https://www.npmjs.com/package/@thi.ng/fuzzy) | [changelog](./packages/fuzzy/CHANGELOG.md) | Fuzzy logic primitives & rule inference engine | -| [`@thi.ng/fuzzy-viz`](./packages/fuzzy-viz) | [![version](https://img.shields.io/npm/v/@thi.ng/fuzzy-viz.svg)](https://www.npmjs.com/package/@thi.ng/fuzzy-viz) | [changelog](./packages/fuzzy-viz/CHANGELOG.md) | Visualization, instrumentation for @thi.ng/fuzzy | -| [`@thi.ng/vclock`](./packages/vclock) | [![version](https://img.shields.io/npm/v/@thi.ng/vclock.svg)](https://www.npmjs.com/package/@thi.ng/vclock) | [changelog](./packages/vclock/CHANGELOG.md) | Vector clock functions / comparators | +| Project | Version | Changelog | Description | +|---------------------------------------|-------------------------------------------------------------------------------------------------------------|---------------------------------------------|--------------------------------------------------------| +| [`@thi.ng/args`](./packages/args) | [![version](https://img.shields.io/npm/v/@thi.ng/args.svg)](https://www.npmjs.com/package/@thi.ng/args) | [changelog](./packages/args/CHANGELOG.md) | Declarative & functional CLI arg parsing & coercions | +| [`@thi.ng/base-n`](./packages/base-n) | [![version](https://img.shields.io/npm/v/@thi.ng/base-n.svg)](https://www.npmjs.com/package/@thi.ng/base-n) | [changelog](./packages/base-n/CHANGELOG.md) | Arbitrary base-n encoding/decoding with presets | +| [`@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 | ### Fundamentals +| Project | Version | Changelog | Description | +|-------------------------------------------|-----------------------------------------------------------------------------------------------------------------|-----------------------------------------------|----------------------------------------------------------| +| [`@thi.ng/args`](./packages/args) | [![version](https://img.shields.io/npm/v/@thi.ng/args.svg)](https://www.npmjs.com/package/@thi.ng/args) | [changelog](./packages/args/CHANGELOG.md) | Declarative & functional CLI arg parsing & coercions | +| [`@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) | Common types, decorators, mixins | +| [`@thi.ng/bench`](./packages/bench) | [![version](https://img.shields.io/npm/v/@thi.ng/bench.svg)](https://www.npmjs.com/package/@thi.ng/bench) | [changelog](./packages/bench/CHANGELOG.md) | Basic benchmarking helpers | +| [`@thi.ng/checks`](./packages/checks) | [![version](https://img.shields.io/npm/v/@thi.ng/checks.svg)](https://www.npmjs.com/package/@thi.ng/checks) | [changelog](./packages/checks/CHANGELOG.md) | Type & value checks | +| [`@thi.ng/compare`](./packages/compare) | [![version](https://img.shields.io/npm/v/@thi.ng/compare.svg)](https://www.npmjs.com/package/@thi.ng/compare) | [changelog](./packages/compare/CHANGELOG.md) | Comparators | +| [`@thi.ng/compose`](./packages/compose) | [![version](https://img.shields.io/npm/v/@thi.ng/compose.svg)](https://www.npmjs.com/package/@thi.ng/compose) | [changelog](./packages/compose/CHANGELOG.md) | Functional composition helpers | +| [`@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/defmulti`](./packages/defmulti) | [![version](https://img.shields.io/npm/v/@thi.ng/defmulti.svg)](https://www.npmjs.com/package/@thi.ng/defmulti) | [changelog](./packages/defmulti/CHANGELOG.md) | Dynamic multiple dispatch | +| [`@thi.ng/equiv`](./packages/equiv) | [![version](https://img.shields.io/npm/v/@thi.ng/equiv.svg)](https://www.npmjs.com/package/@thi.ng/equiv) | [changelog](./packages/equiv/CHANGELOG.md) | Deep value equivalence checking | +| [`@thi.ng/errors`](./packages/errors) | [![version](https://img.shields.io/npm/v/@thi.ng/errors.svg)](https://www.npmjs.com/package/@thi.ng/errors) | [changelog](./packages/errors/CHANGELOG.md) | Custom error types | +| [`@thi.ng/hex`](./packages/hex) | [![version](https://img.shields.io/npm/v/@thi.ng/hex.svg)](https://www.npmjs.com/package/@thi.ng/hex) | [changelog](./packages/hex/CHANGELOG.md) | Hex value formatters for U4-64 words | +| [`@thi.ng/memoize`](./packages/memoize) | [![version](https://img.shields.io/npm/v/@thi.ng/memoize.svg)](https://www.npmjs.com/package/@thi.ng/memoize) | [changelog](./packages/memoize/CHANGELOG.md) | Function memoization w/ customizable caching | +| [`@thi.ng/oquery`](./packages/oquery) | [![version](https://img.shields.io/npm/v/@thi.ng/oquery.svg)](https://www.npmjs.com/package/@thi.ng/oquery) | [changelog](./packages/oquery/CHANGELOG.md) | Pattern based query engine for JS objects | +| [`@thi.ng/parse`](./packages/parse) | [![version](https://img.shields.io/npm/v/@thi.ng/parse.svg)](https://www.npmjs.com/package/@thi.ng/parse) | [changelog](./packages/parse/CHANGELOG.md) | Parser combinators & AST generator/transformer | +| [`@thi.ng/paths`](./packages/paths) | [![version](https://img.shields.io/npm/v/@thi.ng/paths.svg)](https://www.npmjs.com/package/@thi.ng/paths) | [changelog](./packages/paths/CHANGELOG.md) | Immutable nested object accessors | +| [`@thi.ng/strings`](./packages/strings) | [![version](https://img.shields.io/npm/v/@thi.ng/strings.svg)](https://www.npmjs.com/package/@thi.ng/strings) | [changelog](./packages/strings/CHANGELOG.md) | Higher-order string formatting utils | +| [`@thi.ng/system`](./packages/system) | [![version](https://img.shields.io/npm/v/@thi.ng/system.svg)](https://www.npmjs.com/package/@thi.ng/system) | [changelog](./packages/system/CHANGELOG.md) | Minimal life cycle container for stateful app components | + +### Maths + +| Project | Version | Changelog | Description | +|---------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------|-------------------------------------------------| +| [`@thi.ng/dual-algebra`](./packages/dual-algebra) | [![version](https://img.shields.io/npm/v/@thi.ng/dual-algebra.svg)](https://www.npmjs.com/package/@thi.ng/dual-algebra) | [changelog](./packages/dual-algebra/CHANGELOG.md) | Dual number algebra / automatic differentiation | +| [`@thi.ng/dsp`](./packages/dsp) | [![version](https://img.shields.io/npm/v/@thi.ng/dsp.svg)](https://www.npmjs.com/package/@thi.ng/dsp) | [changelog](./packages/dsp/CHANGELOG.md) | DSP utils, composable signal gens/processors | +| [`@thi.ng/fuzzy`](./packages/fuzzy) | [![version](https://img.shields.io/npm/v/@thi.ng/fuzzy.svg)](https://www.npmjs.com/package/@thi.ng/fuzzy) | [changelog](./packages/fuzzy/CHANGELOG.md) | Fuzzy logic primitives & rule inference engine | +| [`@thi.ng/intervals`](./packages/intervals) | [![version](https://img.shields.io/npm/v/@thi.ng/intervals.svg)](https://www.npmjs.com/package/@thi.ng/intervals) | [changelog](./packages/intervals/CHANGELOG.md) | Open/closed intervals, queries, set ops | +| [`@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/matrices`](./packages/matrices) | [![version](https://img.shields.io/npm/v/@thi.ng/matrices.svg)](https://www.npmjs.com/package/@thi.ng/matrices) | [changelog](./packages/matrices/CHANGELOG.md) | Matrix operations | +| [`@thi.ng/sparse`](./packages/sparse) | [![version](https://img.shields.io/npm/v/@thi.ng/sparse.svg)](https://www.npmjs.com/package/@thi.ng/sparse) | [changelog](./packages/sparse/CHANGELOG.md) | Sparse matrix & vector impls | +| [`@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 | + +### Randomness + | Project | Version | Changelog | Description | |-----------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------|----------------------------------------------------|----------------------------------------------------------| -| [`@thi.ng/args`](./packages/args) | [![version](https://img.shields.io/npm/v/@thi.ng/args.svg)](https://www.npmjs.com/package/@thi.ng/args) | [changelog](./packages/args/CHANGELOG.md) | Declarative & functional CLI arg parsing & coercions | -| [`@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) | Common types, decorators, mixins | -| [`@thi.ng/bench`](./packages/bench) | [![version](https://img.shields.io/npm/v/@thi.ng/bench.svg)](https://www.npmjs.com/package/@thi.ng/bench) | [changelog](./packages/bench/CHANGELOG.md) | Basic benchmarking helpers | -| [`@thi.ng/checks`](./packages/checks) | [![version](https://img.shields.io/npm/v/@thi.ng/checks.svg)](https://www.npmjs.com/package/@thi.ng/checks) | [changelog](./packages/checks/CHANGELOG.md) | Type & value checks | | [`@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/compare`](./packages/compare) | [![version](https://img.shields.io/npm/v/@thi.ng/compare.svg)](https://www.npmjs.com/package/@thi.ng/compare) | [changelog](./packages/compare/CHANGELOG.md) | Comparators | -| [`@thi.ng/compose`](./packages/compose) | [![version](https://img.shields.io/npm/v/@thi.ng/compose.svg)](https://www.npmjs.com/package/@thi.ng/compose) | [changelog](./packages/compose/CHANGELOG.md) | Functional composition helpers | -| [`@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/defmulti`](./packages/defmulti) | [![version](https://img.shields.io/npm/v/@thi.ng/defmulti.svg)](https://www.npmjs.com/package/@thi.ng/defmulti) | [changelog](./packages/defmulti/CHANGELOG.md) | Dynamic multiple dispatch | -| [`@thi.ng/dsp`](./packages/dsp) | [![version](https://img.shields.io/npm/v/@thi.ng/dsp.svg)](https://www.npmjs.com/package/@thi.ng/dsp) | [changelog](./packages/dsp/CHANGELOG.md) | DSP utils, oscillators | -| [`@thi.ng/dual-algebra`](./packages/dual-algebra) | [![version](https://img.shields.io/npm/v/@thi.ng/dual-algebra.svg)](https://www.npmjs.com/package/@thi.ng/dual-algebra) | [changelog](./packages/dual-algebra/CHANGELOG.md) | Dual number algebra / automatic differentiation | -| [`@thi.ng/ecs`](./packages/ecs) | [![version](https://img.shields.io/npm/v/@thi.ng/ecs.svg)](https://www.npmjs.com/package/@thi.ng/ecs) | [changelog](./packages/ecs/CHANGELOG.md) | Entity-Component System | -| [`@thi.ng/equiv`](./packages/equiv) | [![version](https://img.shields.io/npm/v/@thi.ng/equiv.svg)](https://www.npmjs.com/package/@thi.ng/equiv) | [changelog](./packages/equiv/CHANGELOG.md) | Deep value equivalence checking | -| [`@thi.ng/errors`](./packages/errors) | [![version](https://img.shields.io/npm/v/@thi.ng/errors.svg)](https://www.npmjs.com/package/@thi.ng/errors) | [changelog](./packages/errors/CHANGELOG.md) | Custom error types | -| [`@thi.ng/fuzzy`](./packages/fuzzy) | [![version](https://img.shields.io/npm/v/@thi.ng/fuzzy.svg)](https://www.npmjs.com/package/@thi.ng/fuzzy) | [changelog](./packages/fuzzy/CHANGELOG.md) | Fuzzy logic primitives & rule inference engine | -| [`@thi.ng/hex`](./packages/hex) | [![version](https://img.shields.io/npm/v/@thi.ng/hex.svg)](https://www.npmjs.com/package/@thi.ng/hex) | [changelog](./packages/hex/CHANGELOG.md) | Hex value formatters for U4-64 words | -| [`@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/memoize`](./packages/memoize) | [![version](https://img.shields.io/npm/v/@thi.ng/memoize.svg)](https://www.npmjs.com/package/@thi.ng/memoize) | [changelog](./packages/memoize/CHANGELOG.md) | Function memoization w/ customizable caching | -| [`@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/oquery`](./packages/oquery) | [![version](https://img.shields.io/npm/v/@thi.ng/oquery.svg)](https://www.npmjs.com/package/@thi.ng/oquery) | [changelog](./packages/oquery/CHANGELOG.md) | Pattern based query engine for JS objects | -| [`@thi.ng/parse`](./packages/parse) | [![version](https://img.shields.io/npm/v/@thi.ng/parse.svg)](https://www.npmjs.com/package/@thi.ng/parse) | [changelog](./packages/parse/CHANGELOG.md) | Parser combinators & AST generator/transformer | -| [`@thi.ng/paths`](./packages/paths) | [![version](https://img.shields.io/npm/v/@thi.ng/paths.svg)](https://www.npmjs.com/package/@thi.ng/paths) | [changelog](./packages/paths/CHANGELOG.md) | Immutable nested object accessors | -| [`@thi.ng/prefixes`](./packages/prefixes) | [![version](https://img.shields.io/npm/v/@thi.ng/prefixes.svg)](https://www.npmjs.com/package/@thi.ng/prefixes) | [changelog](./packages/prefixes/CHANGELOG.md) | Linked Data & xmlns prefixes/URLs | -| [`@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 w/ unified API | -| [`@thi.ng/strings`](./packages/strings) | [![version](https://img.shields.io/npm/v/@thi.ng/strings.svg)](https://www.npmjs.com/package/@thi.ng/strings) | [changelog](./packages/strings/CHANGELOG.md) | Higher-order string formatting utils | -| [`@thi.ng/system`](./packages/system) | [![version](https://img.shields.io/npm/v/@thi.ng/system.svg)](https://www.npmjs.com/package/@thi.ng/system) | [changelog](./packages/system/CHANGELOG.md) | Minimal life cycle container for stateful app components | +| [`@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/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 + +| Project | Version | Changelog | Description | +|---------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------|------------------------------------------------------|------------------------------------------------| +| [`@thi.ng/bencode`](./packages/bencode) | [![version](https://img.shields.io/npm/v/@thi.ng/bencode.svg)](https://www.npmjs.com/package/@thi.ng/bencode) | [changelog](./packages/bencode/CHANGELOG.md) | Bencode binary format encoding | +| [`@thi.ng/csv`](./packages/csv) | [![version](https://img.shields.io/npm/v/@thi.ng/csv.svg)](https://www.npmjs.com/package/@thi.ng/csv) | [changelog](./packages/csv/CHANGELOG.md) | Customizable CSV parser/object mapper | +| [`@thi.ng/dot`](./packages/dot) | [![version](https://img.shields.io/npm/v/@thi.ng/dot.svg)](https://www.npmjs.com/package/@thi.ng/dot) | [changelog](./packages/dot/CHANGELOG.md) | Graphviz DOM & export | +| [`@thi.ng/dsp-io-wav`](./packages/dsp-io-wav) | [![version](https://img.shields.io/npm/v/@thi.ng/dsp-io-wav.svg)](https://www.npmjs.com/package/@thi.ng/dsp-io-wav) | [changelog](./packages/dsp-io-wav/CHANGELOG.md) | WAV file format exporter | +| [`@thi.ng/geom-io-obj`](./packages/geom-io-obj) | [![version](https://img.shields.io/npm/v/@thi.ng/geom-io-obj.svg)](https://www.npmjs.com/package/@thi.ng/geom-io-obj) | [changelog](./packages/geom-io-obj/CHANGELOG.md) | Wavefront OBJ model parser | +| [`@thi.ng/hiccup-css`](./packages/hiccup-css) | [![version](https://img.shields.io/npm/v/@thi.ng/hiccup-css.svg)](https://www.npmjs.com/package/@thi.ng/hiccup-css) | [changelog](./packages/hiccup-css/CHANGELOG.md) | CSS from nested JS data structures | +| [`@thi.ng/hiccup-html`](./packages/hiccup-html) | [![version](https://img.shields.io/npm/v/@thi.ng/hiccup-html.svg)](https://www.npmjs.com/package/@thi.ng/hiccup-html) | [changelog](./packages/hiccup-html/CHANGELOG.md) | Type-checked HTML5 element wrappers for hiccup | +| [`@thi.ng/hiccup-markdown`](./packages/hiccup-markdown) | [![version](https://img.shields.io/npm/v/@thi.ng/hiccup-markdown.svg)](https://www.npmjs.com/package/@thi.ng/hiccup-markdown) | [changelog](./packages/hiccup-markdown/CHANGELOG.md) | Hiccup-to-Markdown serialization | +| [`@thi.ng/hiccup-svg`](./packages/hiccup-svg) | [![version](https://img.shields.io/npm/v/@thi.ng/hiccup-svg.svg)](https://www.npmjs.com/package/@thi.ng/hiccup-svg) | [changelog](./packages/hiccup-svg/CHANGELOG.md) | hiccup based SVG vocab | +| [`@thi.ng/iges`](./packages/iges) | [![version](https://img.shields.io/npm/v/@thi.ng/iges.svg)](https://www.npmjs.com/package/@thi.ng/iges) | [changelog](./packages/iges/CHANGELOG.md) | IGES format geometry serialization | +| [`@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/prefixes`](./packages/prefixes) | [![version](https://img.shields.io/npm/v/@thi.ng/prefixes.svg)](https://www.npmjs.com/package/@thi.ng/prefixes) | [changelog](./packages/prefixes/CHANGELOG.md) | Linked Data, RDF & xmlns prefixes/URLs | +| [`@thi.ng/sax`](./packages/sax) | [![version](https://img.shields.io/npm/v/@thi.ng/sax.svg)](https://www.npmjs.com/package/@thi.ng/sax) | [changelog](./packages/sax/CHANGELOG.md) | SAX-like XML parser / transducer | ### Iterator, stream & sequence processing @@ -175,7 +204,6 @@ feature or `develop` branches) --> | [`@thi.ng/fsm`](./packages/fsm) | [![version](https://img.shields.io/npm/v/@thi.ng/fsm.svg)](https://www.npmjs.com/package/@thi.ng/fsm) | [changelog](./packages/fsm/CHANGELOG.md) | FSM / parser primitives | | [`@thi.ng/grid-iterators`](./packages/grid-iterators) | [![version](https://img.shields.io/npm/v/@thi.ng/grid-iterators.svg)](https://www.npmjs.com/package/@thi.ng/grid-iterators) | [changelog](./packages/grid-iterators/CHANGELOG.md) | 2D grid iterator strategies | | [`@thi.ng/iterators`](./packages/iterators) | [![version](https://img.shields.io/npm/v/@thi.ng/iterators.svg)](https://www.npmjs.com/package/@thi.ng/iterators) | [changelog](./packages/iterators/CHANGELOG.md) | ES6 generators / iterators | -| [`@thi.ng/sax`](./packages/sax) | [![version](https://img.shields.io/npm/v/@thi.ng/sax.svg)](https://www.npmjs.com/package/@thi.ng/sax) | [changelog](./packages/sax/CHANGELOG.md) | SAX-like XML parser / transducer | | [`@thi.ng/seq`](./packages/seq) | [![version](https://img.shields.io/npm/v/@thi.ng/seq.svg)](https://www.npmjs.com/package/@thi.ng/seq) | [changelog](./packages/seq/CHANGELOG.md) | Lisp/Clojure-style sequence abstraction | | [`@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/transducers-binary`](./packages/transducers-binary) | [![version](https://img.shields.io/npm/v/@thi.ng/transducers-binary.svg)](https://www.npmjs.com/package/@thi.ng/transducers-binary) | [changelog](./packages/transducers-binary/CHANGELOG.md) | Binary data related transducers | @@ -207,19 +235,17 @@ feature or `develop` branches) --> | [`@thi.ng/atom`](./packages/atom) | [![version](https://img.shields.io/npm/v/@thi.ng/atom.svg)](https://www.npmjs.com/package/@thi.ng/atom) | [changelog](./packages/atom/CHANGELOG.md) | Immutable value wrappers, views, history | | [`@thi.ng/bitfield`](./packages/bitfield) | [![version](https://img.shields.io/npm/v/@thi.ng/bitfield.svg)](https://www.npmjs.com/package/@thi.ng/bitfield) | [changelog](./packages/bitfield/CHANGELOG.md) | 1D/2D bit field implementations | | [`@thi.ng/cache`](./packages/cache) | [![version](https://img.shields.io/npm/v/@thi.ng/cache.svg)](https://www.npmjs.com/package/@thi.ng/cache) | [changelog](./packages/cache/CHANGELOG.md) | In-memory caches / strategies | -| [`@thi.ng/csv`](./packages/csv) | [![version](https://img.shields.io/npm/v/@thi.ng/csv.svg)](https://www.npmjs.com/package/@thi.ng/csv) | [changelog](./packages/csv/CHANGELOG.md) | Customizable CSV parser/object mapper | | [`@thi.ng/dcons`](./packages/dcons) | [![version](https://img.shields.io/npm/v/@thi.ng/dcons.svg)](https://www.npmjs.com/package/@thi.ng/dcons) | [changelog](./packages/dcons/CHANGELOG.md) | Doubly-linked list | | [`@thi.ng/diff`](./packages/diff) | [![version](https://img.shields.io/npm/v/@thi.ng/diff.svg)](https://www.npmjs.com/package/@thi.ng/diff) | [changelog](./packages/diff/CHANGELOG.md) | Array & object diffing | | [`@thi.ng/dgraph`](./packages/dgraph) | [![version](https://img.shields.io/npm/v/@thi.ng/dgraph.svg)](https://www.npmjs.com/package/@thi.ng/dgraph) | [changelog](./packages/dgraph/CHANGELOG.md) | Dependency graph | +| [`@thi.ng/ecs`](./packages/ecs) | [![version](https://img.shields.io/npm/v/@thi.ng/ecs.svg)](https://www.npmjs.com/package/@thi.ng/ecs) | [changelog](./packages/ecs/CHANGELOG.md) | Entity-Component System | | [`@thi.ng/egf`](./packages/egf) | [![version](https://img.shields.io/npm/v/@thi.ng/egf.svg)](https://www.npmjs.com/package/@thi.ng/egf) | [changelog](./packages/egf/CHANGELOG.md) | Extensible Graph Format | | [`@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/intervals`](./packages/intervals) | [![version](https://img.shields.io/npm/v/@thi.ng/intervals.svg)](https://www.npmjs.com/package/@thi.ng/intervals) | [changelog](./packages/intervals/CHANGELOG.md) | Open/closed intervals, queries, set ops | | [`@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 | -| [`@thi.ng/sparse`](./packages/sparse) | [![version](https://img.shields.io/npm/v/@thi.ng/sparse.svg)](https://www.npmjs.com/package/@thi.ng/sparse) | [changelog](./packages/sparse/CHANGELOG.md) | Sparse matrix & vector impls | | [`@thi.ng/vclock`](./packages/vclock) | [![version](https://img.shields.io/npm/v/@thi.ng/vclock.svg)](https://www.npmjs.com/package/@thi.ng/vclock) | [changelog](./packages/vclock/CHANGELOG.md) | Vector clock functions / comparators | | [`@thi.ng/zipper`](./packages/zipper) | [![version](https://img.shields.io/npm/v/@thi.ng/zipper.svg)](https://www.npmjs.com/package/@thi.ng/zipper) | [changelog](./packages/zipper/CHANGELOG.md) | Immutable tree editing / navigation | @@ -237,10 +263,6 @@ feature or `develop` branches) --> | [`@thi.ng/hiccup`](./packages/hiccup) | [![version](https://img.shields.io/npm/v/@thi.ng/hiccup.svg)](https://www.npmjs.com/package/@thi.ng/hiccup) | [changelog](./packages/hiccup/CHANGELOG.md) | S-expression based HTML/XML serialization | | [`@thi.ng/hiccup-canvas`](./packages/hiccup-canvas) | [![version](https://img.shields.io/npm/v/@thi.ng/hiccup-canvas.svg)](https://www.npmjs.com/package/@thi.ng/hiccup-canvas) | [changelog](./packages/hiccup-canvas/CHANGELOG.md) | hiccup interpreter for canvas api | | [`@thi.ng/hiccup-carbon-icons`](./packages/hiccup-carbon-icons) | [![version](https://img.shields.io/npm/v/@thi.ng/hiccup-carbon-icons.svg)](https://www.npmjs.com/package/@thi.ng/hiccup-carbon-icons) | [changelog](./packages/hiccup-carbon-icons/CHANGELOG.md) | IBM Carbon icons in hiccup format | -| [`@thi.ng/hiccup-css`](./packages/hiccup-css) | [![version](https://img.shields.io/npm/v/@thi.ng/hiccup-css.svg)](https://www.npmjs.com/package/@thi.ng/hiccup-css) | [changelog](./packages/hiccup-css/CHANGELOG.md) | CSS from nested JS data structures | -| [`@thi.ng/hiccup-html`](./packages/hiccup-html) | [![version](https://img.shields.io/npm/v/@thi.ng/hiccup-html.svg)](https://www.npmjs.com/package/@thi.ng/hiccup-html) | [changelog](./packages/hiccup-html/CHANGELOG.md) | Type-checked HTML5 element wrappers for hiccup | -| [`@thi.ng/hiccup-markdown`](./packages/hiccup-markdown) | [![version](https://img.shields.io/npm/v/@thi.ng/hiccup-markdown.svg)](https://www.npmjs.com/package/@thi.ng/hiccup-markdown) | [changelog](./packages/hiccup-markdown/CHANGELOG.md) | Hiccup-to-Markdown serialization | -| [`@thi.ng/hiccup-svg`](./packages/hiccup-svg) | [![version](https://img.shields.io/npm/v/@thi.ng/hiccup-svg.svg)](https://www.npmjs.com/package/@thi.ng/hiccup-svg) | [changelog](./packages/hiccup-svg/CHANGELOG.md) | hiccup based SVG vocab | | [`@thi.ng/imgui`](./packages/imgui) | [![version](https://img.shields.io/npm/v/@thi.ng/imgui.svg)](https://www.npmjs.com/package/@thi.ng/imgui) | [changelog](./packages/imgui/CHANGELOG.md) | Immediate mode GUI | | [`@thi.ng/interceptors`](./packages/interceptors) | [![version](https://img.shields.io/npm/v/@thi.ng/interceptors.svg)](https://www.npmjs.com/package/@thi.ng/interceptors) | [changelog](./packages/interceptors/CHANGELOG.md) | Composable event handlers & processor | | [`@thi.ng/rdom`](./packages/rdom) | [![version](https://img.shields.io/npm/v/@thi.ng/rdom.svg)](https://www.npmjs.com/package/@thi.ng/rdom) | [changelog](./packages/rdom/CHANGELOG.md) | Reactive, diff-less, async UI components | @@ -249,13 +271,12 @@ feature or `develop` branches) --> | [`@thi.ng/router`](./packages/router) | [![version](https://img.shields.io/npm/v/@thi.ng/router.svg)](https://www.npmjs.com/package/@thi.ng/router) | [changelog](./packages/router/CHANGELOG.md) | Customizable browser & non-browser router | | [`@thi.ng/text-canvas`](./packages/text-canvas) | [![version](https://img.shields.io/npm/v/@thi.ng/text-canvas.svg)](https://www.npmjs.com/package/@thi.ng/text-canvas) | [changelog](./packages/text-canvas/CHANGELOG.md) | Text-mode canvas, drawing, tables, charts | -### Geometry & visualization +### Geometry, image & visualization | Project | Version | Changelog | Description | |---------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------|-----------------------------------------------------| | [`@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) | Color conversions, gradients | | [`@thi.ng/dgraph-dot`](./packages/dgraph-dot) | [![version](https://img.shields.io/npm/v/@thi.ng/dgraph-dot.svg)](https://www.npmjs.com/package/@thi.ng/dgraph-dot) | [changelog](./packages/dgraph-dot/CHANGELOG.md) | Dependency graph -> Graphviz | -| [`@thi.ng/dot`](./packages/dot) | [![version](https://img.shields.io/npm/v/@thi.ng/dot.svg)](https://www.npmjs.com/package/@thi.ng/dot) | [changelog](./packages/dot/CHANGELOG.md) | Graphviz DOM & export | | [`@thi.ng/fuzzy-viz`](./packages/fuzzy-viz) | [![version](https://img.shields.io/npm/v/@thi.ng/fuzzy-viz.svg)](https://www.npmjs.com/package/@thi.ng/fuzzy-viz) | [changelog](./packages/fuzzy-viz/CHANGELOG.md) | Visualization, instrumentation for @thi.ng/fuzzy | | [`@thi.ng/geom`](./packages/geom) | [![version](https://img.shields.io/npm/v/@thi.ng/geom.svg)](https://www.npmjs.com/package/@thi.ng/geom) | [changelog](./packages/geom/CHANGELOG.md) | 2D only geometry types & ops | | [`@thi.ng/geom-accel`](./packages/geom-accel) | [![version](https://img.shields.io/npm/v/@thi.ng/geom-accel.svg)](https://www.npmjs.com/package/@thi.ng/geom-accel) | [changelog](./packages/geom-accel/CHANGELOG.md) | Spatial indexing data structures | @@ -266,7 +287,6 @@ feature or `develop` branches) --> | [`@thi.ng/geom-closest-point`](./packages/geom-closest-point) | [![version](https://img.shields.io/npm/v/@thi.ng/geom-closest-point.svg)](https://www.npmjs.com/package/@thi.ng/geom-closest-point) | [changelog](./packages/geom-closest-point/CHANGELOG.md) | Closest point helpers | | [`@thi.ng/geom-fuzz`](./packages/geom-fuzz) | [![version](https://img.shields.io/npm/v/@thi.ng/geom-fuzz.svg)](https://www.npmjs.com/package/@thi.ng/geom-fuzz) | [changelog](./packages/geom-fuzz/CHANGELOG.md) | Fuzzy 2D shape drawing / filling | | [`@thi.ng/geom-hull`](./packages/geom-hull) | [![version](https://img.shields.io/npm/v/@thi.ng/geom-hull.svg)](https://www.npmjs.com/package/@thi.ng/geom-hull) | [changelog](./packages/geom-hull/CHANGELOG.md) | 2D convex hull (Graham scan) | -| [`@thi.ng/geom-io-obj`](./packages/geom-io-obj) | [![version](https://img.shields.io/npm/v/@thi.ng/geom-io-obj.svg)](https://www.npmjs.com/package/@thi.ng/geom-io-obj) | [changelog](./packages/geom-io-obj/CHANGELOG.md) | Wavefront OBJ model parser | | [`@thi.ng/geom-isec`](./packages/geom-isec) | [![version](https://img.shields.io/npm/v/@thi.ng/geom-isec.svg)](https://www.npmjs.com/package/@thi.ng/geom-isec) | [changelog](./packages/geom-isec/CHANGELOG.md) | Point & shape intersection tests | | [`@thi.ng/geom-isoline`](./packages/geom-isoline) | [![version](https://img.shields.io/npm/v/@thi.ng/geom-isoline.svg)](https://www.npmjs.com/package/@thi.ng/geom-isoline) | [changelog](./packages/geom-isoline/CHANGELOG.md) | 2D contour line extraction | | [`@thi.ng/geom-poly-utils`](./packages/geom-poly-utils) | [![version](https://img.shields.io/npm/v/@thi.ng/geom-poly-utils.svg)](https://www.npmjs.com/package/@thi.ng/geom-poly-utils) | [changelog](./packages/geom-poly-utils/CHANGELOG.md) | 2D polygon helpers | @@ -275,15 +295,12 @@ feature or `develop` branches) --> | [`@thi.ng/geom-subdiv-curve`](./packages/geom-subdiv-curve) | [![version](https://img.shields.io/npm/v/@thi.ng/geom-subdiv-curve.svg)](https://www.npmjs.com/package/@thi.ng/geom-subdiv-curve) | [changelog](./packages/geom-subdiv-curve/CHANGELOG.md) | nD iterative subdivision curves | | [`@thi.ng/geom-tessellate`](./packages/geom-tessellate) | [![version](https://img.shields.io/npm/v/@thi.ng/geom-tessellate.svg)](https://www.npmjs.com/package/@thi.ng/geom-tessellate) | [changelog](./packages/geom-tessellate/CHANGELOG.md) | nD convex polygon tessellators | | [`@thi.ng/geom-voronoi`](./packages/geom-voronoi) | [![version](https://img.shields.io/npm/v/@thi.ng/geom-voronoi.svg)](https://www.npmjs.com/package/@thi.ng/geom-voronoi) | [changelog](./packages/geom-voronoi/CHANGELOG.md) | 2D iterative delaunay/voronoi | -| [`@thi.ng/iges`](./packages/iges) | [![version](https://img.shields.io/npm/v/@thi.ng/iges.svg)](https://www.npmjs.com/package/@thi.ng/iges) | [changelog](./packages/iges/CHANGELOG.md) | IGES format geometry serialization | | [`@thi.ng/lsys`](./packages/lsys) | [![version](https://img.shields.io/npm/v/@thi.ng/lsys.svg)](https://www.npmjs.com/package/@thi.ng/lsys) | [changelog](./packages/lsys/CHANGELOG.md) | Extensible L-System architecture | -| [`@thi.ng/matrices`](./packages/matrices) | [![version](https://img.shields.io/npm/v/@thi.ng/matrices.svg)](https://www.npmjs.com/package/@thi.ng/matrices) | [changelog](./packages/matrices/CHANGELOG.md) | Matrix operations | | [`@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/poisson`](./packages/poisson) | [![version](https://img.shields.io/npm/v/@thi.ng/poisson.svg)](https://www.npmjs.com/package/@thi.ng/poisson) | [changelog](./packages/poisson/CHANGELOG.md) | nD Poisson disk sampling | | [`@thi.ng/porter-duff`](./packages/porter-duff) | [![version](https://img.shields.io/npm/v/@thi.ng/porter-duff.svg)](https://www.npmjs.com/package/@thi.ng/porter-duff) | [changelog](./packages/porter-duff/CHANGELOG.md) | Alpha blending / compositing ops | | [`@thi.ng/scenegraph`](./packages/scenegraph) | [![version](https://img.shields.io/npm/v/@thi.ng/scenegraph.svg)](https://www.npmjs.com/package/@thi.ng/scenegraph) | [changelog](./packages/scenegraph/CHANGELOG.md) | Extensible 2D/3D scenegraph | | [`@thi.ng/simd`](./packages/simd) | [![version](https://img.shields.io/npm/v/@thi.ng/simd.svg)](https://www.npmjs.com/package/@thi.ng/simd) | [changelog](./packages/simd/CHANGELOG.md) | WebAssembly SIMD vector batch processing | -| [`@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 | | [`@thi.ng/viz`](./packages/viz) | [![version](https://img.shields.io/npm/v/@thi.ng/viz.svg)](https://www.npmjs.com/package/@thi.ng/viz) | [changelog](./packages/viz/CHANGELOG.md) | Declarative & functional data visualization toolkit | ### WebGL / GPGPU @@ -300,20 +317,20 @@ feature or `develop` branches) --> ### Low-level, binary, memory management -| Project | Version | Changelog | Description | -|---------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------|-----------------------------------------------| -| [`@thi.ng/bencode`](./packages/bencode) | [![version](https://img.shields.io/npm/v/@thi.ng/bencode.svg)](https://www.npmjs.com/package/@thi.ng/bencode) | [changelog](./packages/bencode/CHANGELOG.md) | Bencode binary format encoding | -| [`@thi.ng/binary`](./packages/binary) | [![version](https://img.shields.io/npm/v/@thi.ng/binary.svg)](https://www.npmjs.com/package/@thi.ng/binary) | [changelog](./packages/binary/CHANGELOG.md) | Assorted binary / bitwise ops, utilities | -| [`@thi.ng/bitstream`](./packages/bitstream) | [![version](https://img.shields.io/npm/v/@thi.ng/bitstream.svg)](https://www.npmjs.com/package/@thi.ng/bitstream) | [changelog](./packages/bitstream/CHANGELOG.md) | Bitwise input / output streams | -| [`@thi.ng/dlogic`](./packages/dlogic) | [![version](https://img.shields.io/npm/v/@thi.ng/dlogic.svg)](https://www.npmjs.com/package/@thi.ng/dlogic) | [changelog](./packages/dlogic/CHANGELOG.md) | Digital logic ops / constructs | -| [`@thi.ng/leb128`](./packages/leb128) | [![version](https://img.shields.io/npm/v/@thi.ng/leb128.svg)](https://www.npmjs.com/package/@thi.ng/leb128) | [changelog](./packages/leb128/CHANGELOG.md) | WASM based LEB128 varint encoder / decoder | -| [`@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) | Raw & typed array memory pool & allocator | -| [`@thi.ng/morton`](./packages/morton) | [![version](https://img.shields.io/npm/v/@thi.ng/morton.svg)](https://www.npmjs.com/package/@thi.ng/morton) | [changelog](./packages/morton/CHANGELOG.md) | Z-order-curve / Morton coding | -| [`@thi.ng/range-coder`](./packages/range-coder) | [![version](https://img.shields.io/npm/v/@thi.ng/range-coder.svg)](https://www.npmjs.com/package/@thi.ng/range-coder) | [changelog](./packages/range-coder/CHANGELOG.md) | Binary data Range encoder / decoder | -| [`@thi.ng/rle-pack`](./packages/rle-pack) | [![version](https://img.shields.io/npm/v/@thi.ng/rle-pack.svg)](https://www.npmjs.com/package/@thi.ng/rle-pack) | [changelog](./packages/rle-pack/CHANGELOG.md) | Run-length encoding data compression | -| [`@thi.ng/soa`](./packages/soa) | [![version](https://img.shields.io/npm/v/@thi.ng/soa.svg)](https://www.npmjs.com/package/@thi.ng/soa) | [changelog](./packages/soa/CHANGELOG.md) | Memory mapped data structures & serialization | -| [`@thi.ng/unionstruct`](./packages/unionstruct) | [![version](https://img.shields.io/npm/v/@thi.ng/unionstruct.svg)](https://www.npmjs.com/package/@thi.ng/unionstruct) | [changelog](./packages/unionstruct/CHANGELOG.md) | Wrapper for C-like structs / unions | -| [`@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) | Data structures for memory mapped vectors | +| Project | Version | Changelog | Description | +|---------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------|-------------------------------------------------| +| [`@thi.ng/base-n`](./packages/base-n) | [![version](https://img.shields.io/npm/v/@thi.ng/base-n.svg)](https://www.npmjs.com/package/@thi.ng/base-n) | [changelog](./packages/base-n/CHANGELOG.md) | Arbitrary base-n encoding/decoding with presets | +| [`@thi.ng/binary`](./packages/binary) | [![version](https://img.shields.io/npm/v/@thi.ng/binary.svg)](https://www.npmjs.com/package/@thi.ng/binary) | [changelog](./packages/binary/CHANGELOG.md) | Assorted binary / bitwise ops, utilities | +| [`@thi.ng/bitstream`](./packages/bitstream) | [![version](https://img.shields.io/npm/v/@thi.ng/bitstream.svg)](https://www.npmjs.com/package/@thi.ng/bitstream) | [changelog](./packages/bitstream/CHANGELOG.md) | Bitwise input / output streams | +| [`@thi.ng/dlogic`](./packages/dlogic) | [![version](https://img.shields.io/npm/v/@thi.ng/dlogic.svg)](https://www.npmjs.com/package/@thi.ng/dlogic) | [changelog](./packages/dlogic/CHANGELOG.md) | Digital logic ops / constructs | +| [`@thi.ng/leb128`](./packages/leb128) | [![version](https://img.shields.io/npm/v/@thi.ng/leb128.svg)](https://www.npmjs.com/package/@thi.ng/leb128) | [changelog](./packages/leb128/CHANGELOG.md) | WASM based LEB128 varint encoder / decoder | +| [`@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) | Raw & typed array memory pool & allocator | +| [`@thi.ng/morton`](./packages/morton) | [![version](https://img.shields.io/npm/v/@thi.ng/morton.svg)](https://www.npmjs.com/package/@thi.ng/morton) | [changelog](./packages/morton/CHANGELOG.md) | Z-order-curve / Morton coding | +| [`@thi.ng/range-coder`](./packages/range-coder) | [![version](https://img.shields.io/npm/v/@thi.ng/range-coder.svg)](https://www.npmjs.com/package/@thi.ng/range-coder) | [changelog](./packages/range-coder/CHANGELOG.md) | Binary data Range encoder / decoder | +| [`@thi.ng/rle-pack`](./packages/rle-pack) | [![version](https://img.shields.io/npm/v/@thi.ng/rle-pack.svg)](https://www.npmjs.com/package/@thi.ng/rle-pack) | [changelog](./packages/rle-pack/CHANGELOG.md) | Run-length encoding data compression | +| [`@thi.ng/soa`](./packages/soa) | [![version](https://img.shields.io/npm/v/@thi.ng/soa.svg)](https://www.npmjs.com/package/@thi.ng/soa) | [changelog](./packages/soa/CHANGELOG.md) | Memory mapped data structures & serialization | +| [`@thi.ng/unionstruct`](./packages/unionstruct) | [![version](https://img.shields.io/npm/v/@thi.ng/unionstruct.svg)](https://www.npmjs.com/package/@thi.ng/unionstruct) | [changelog](./packages/unionstruct/CHANGELOG.md) | Wrapper for C-like structs / unions | +| [`@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) | Data structures for memory mapped vectors | ### DSLs @@ -384,7 +401,7 @@ https://github.com/thi-ng/umbrella-docs-temp ## License -© 2015 - 2020 Karsten Schmidt // Apache Software License 2.0 +© 2015 - 2021 Karsten Schmidt // Apache Software License 2.0 ## Contributors ✨ From a593d6635813d84f09967a50ddeea3df3f9af3ef Mon Sep 17 00:00:00 2001 From: Karsten Schmidt Date: Wed, 13 Jan 2021 13:22:05 +0000 Subject: [PATCH 19/21] refactor(strings): minor update computeCursorPos() --- packages/strings/src/cursor.ts | 22 ++++++++++++++++------ 1 file changed, 16 insertions(+), 6 deletions(-) diff --git a/packages/strings/src/cursor.ts b/packages/strings/src/cursor.ts index 5bee2b4e5d..971c5d8cb9 100644 --- a/packages/strings/src/cursor.ts +++ b/packages/strings/src/cursor.ts @@ -1,22 +1,32 @@ /** - * Takes a string, linear index position and optional line split - * delimiter (or regexp, default: "\n"). Computes and returns position - * of index as 1-based cursor coords tuple: `[line, column]` + * Takes a string, linear index position and optional line split delimiter (or + * regexp, default: "\n"). Computes and returns position of index as cursor + * coords tuple: `[line, column]` + * + * @remarks + * By default the returned coords are 1-based, but can be configured via + * optional `offset` arg (also in `[line,column]` order). * * @example * ```ts * computeCursorPos("thi.ng\numbrella", 10); * // [ 2, 4 ] + * + * // w/ custom offset + * computeCursorPos("thi.ng\numbrella", 10, "\n", [11, 1]); + * // [ 12, 4 ] * ``` * * @param str - * @param pos - * @param delim - + * @param offset - */ export const computeCursorPos = ( str: string, pos: number, - delim: string | RegExp = "\n" + delim: string | RegExp = "\n", + offset: number[] = [1, 1] ) => { if (!str.length) return [1, 1]; pos = Math.min(Math.max(0, pos), str.length); @@ -24,8 +34,8 @@ export const computeCursorPos = ( const n = lines.length; for (let i = 0; i < n; i++) { const l = lines[i]; - if (pos <= l.length) return [i + 1, pos + 1]; + if (pos <= l.length) return [i + offset[0], pos + offset[1]]; pos -= l.length + 1; } - return [n, 1]; + return [n + offset[0] - 1, offset[1]]; }; From 6e0797e3e793e513bd29c1aba1f35b2bce562910 Mon Sep 17 00:00:00 2001 From: Karsten Schmidt Date: Wed, 13 Jan 2021 13:23:37 +0000 Subject: [PATCH 20/21] build: update pkg meta in various --- packages/args/package.json | 4 +++- packages/base-n/package.json | 16 +++++++++++++++- packages/prefixes/package.json | 2 +- packages/strings/package.json | 6 +++++- 4 files changed, 24 insertions(+), 4 deletions(-) diff --git a/packages/args/package.json b/packages/args/package.json index da312c2098..6c6dcc4365 100644 --- a/packages/args/package.json +++ b/packages/args/package.json @@ -61,9 +61,11 @@ ], "keywords": [ "argument", + "ansi", "cli", "coerce", - "convert", + "color", + "conversion", "declarative", "functional", "hex", diff --git a/packages/base-n/package.json b/packages/base-n/package.json index 701625ba2a..1425d2ee46 100644 --- a/packages/base-n/package.json +++ b/packages/base-n/package.json @@ -1,7 +1,7 @@ { "name": "@thi.ng/base-n", "version": "0.0.1", - "description": "Arbitrary base-n encoding/decoding with presets for base32/36/58/62/64/85 and support for bigints", + "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", "umd:main": "./lib/index.umd.js", @@ -57,6 +57,20 @@ "lib" ], "keywords": [ + "array", + "base16", + "base32", + "base36", + "base58", + "base62", + "base64", + "base85", + "bigint", + "binary", + "conversion", + "encode", + "decode", + "string", "typescript" ], "publishConfig": { diff --git a/packages/prefixes/package.json b/packages/prefixes/package.json index a717ae5067..5802a88168 100644 --- a/packages/prefixes/package.json +++ b/packages/prefixes/package.json @@ -55,7 +55,7 @@ "keywords": [ "linkeddata", "namespace", - "prefixes", + "prefix", "rdf", "semanticweb", "uri", diff --git a/packages/strings/package.json b/packages/strings/package.json index b57afb03cc..8eb5995a20 100644 --- a/packages/strings/package.json +++ b/packages/strings/package.json @@ -60,6 +60,7 @@ "lib" ], "keywords": [ + "ansi", "composition", "conversion", "escape", @@ -67,14 +68,17 @@ "format", "functional", "hex", - "higher-order", + "hollerith", "interpolation", "number", "padding", "percent", "radix", "slugify", + "split", "string", + "tab", + "trim", "typescript", "unicode", "wordwrap" From 97c3f9d114dbea8ba4e33f69f631de5c8fd30eda Mon Sep 17 00:00:00 2001 From: Karsten Schmidt Date: Wed, 13 Jan 2021 13:30:47 +0000 Subject: [PATCH 21/21] Publish - @thi.ng/adjacency@0.2.4 - @thi.ng/args@0.2.0 - @thi.ng/arrays@0.9.2 - @thi.ng/associative@5.0.15 - @thi.ng/base-n@0.1.0 - @thi.ng/bencode@0.3.47 - @thi.ng/bitfield@0.3.30 - @thi.ng/cache@1.0.67 - @thi.ng/color@2.1.3 - @thi.ng/colored-noise@0.1.11 - @thi.ng/csp@1.1.47 - @thi.ng/csv@0.1.7 - @thi.ng/dcons@2.3.7 - @thi.ng/dgraph-dot@0.1.35 - @thi.ng/dgraph@1.3.6 - @thi.ng/dsp-io-wav@0.1.37 - @thi.ng/dsp@3.0.3 - @thi.ng/ecs@0.4.7 - @thi.ng/egf@0.3.9 - @thi.ng/fsm@2.4.34 - @thi.ng/fuzzy-viz@0.1.4 - @thi.ng/geom-accel@2.1.32 - @thi.ng/geom-api@2.0.3 - @thi.ng/geom-arc@0.3.21 - @thi.ng/geom-clip-line@1.2.17 - @thi.ng/geom-clip-poly@1.0.42 - @thi.ng/geom-closest-point@0.5.8 - @thi.ng/geom-fuzz@0.1.30 - @thi.ng/geom-hull@0.0.74 - @thi.ng/geom-io-obj@0.1.32 - @thi.ng/geom-isec@0.7.6 - @thi.ng/geom-isoline@0.1.72 - @thi.ng/geom-poly-utils@0.3.3 - @thi.ng/geom-resample@0.2.54 - @thi.ng/geom-splines@0.5.41 - @thi.ng/geom-subdiv-curve@0.1.72 - @thi.ng/geom-tessellate@0.2.55 - @thi.ng/geom-voronoi@0.2.17 - @thi.ng/geom@2.0.4 - @thi.ng/gp@0.2.3 - @thi.ng/grid-iterators@0.4.19 - @thi.ng/hdiff@0.1.24 - @thi.ng/hdom-canvas@3.0.28 - @thi.ng/hdom-components@4.0.21 - @thi.ng/hdom-mock@1.1.49 - @thi.ng/hdom@8.2.17 - @thi.ng/hiccup-canvas@1.1.18 - @thi.ng/hiccup-css@1.1.46 - @thi.ng/hiccup-markdown@1.2.43 - @thi.ng/hiccup-svg@3.7.3 - @thi.ng/iges@1.1.57 - @thi.ng/imgui@0.2.50 - @thi.ng/iterators@5.1.47 - @thi.ng/ksuid@0.1.0 - @thi.ng/leb128@1.0.41 - @thi.ng/lsys@0.2.69 - @thi.ng/matrices@0.6.41 - @thi.ng/parse@0.9.12 - @thi.ng/poisson@1.1.25 - @thi.ng/prefixes@0.1.11 - @thi.ng/ramp@0.1.43 - @thi.ng/random@2.2.0 - @thi.ng/range-coder@1.0.66 - @thi.ng/rdom-canvas@0.1.26 - @thi.ng/rdom-components@0.1.23 - @thi.ng/rdom@0.3.5 - @thi.ng/rstream-csp@2.0.49 - @thi.ng/rstream-dot@1.1.56 - @thi.ng/rstream-gestures@3.0.3 - @thi.ng/rstream-graph@3.2.50 - @thi.ng/rstream-log-file@0.1.71 - @thi.ng/rstream-log@3.2.0 - @thi.ng/rstream-query@1.1.56 - @thi.ng/rstream@5.0.14 - @thi.ng/sax@1.1.46 - @thi.ng/scenegraph@0.3.15 - @thi.ng/shader-ast-glsl@0.2.18 - @thi.ng/shader-ast-js@0.5.16 - @thi.ng/shader-ast-stdlib@0.5.10 - @thi.ng/shader-ast@0.7.10 - @thi.ng/simd@0.4.14 - @thi.ng/soa@0.1.45 - @thi.ng/sparse@0.1.62 - @thi.ng/strings@1.14.0 - @thi.ng/system@0.2.35 - @thi.ng/text-canvas@0.4.2 - @thi.ng/transducers-binary@0.6.3 - @thi.ng/transducers-fsm@1.1.46 - @thi.ng/transducers-hdom@2.0.78 - @thi.ng/transducers-patch@0.2.3 - @thi.ng/transducers-stats@1.1.47 - @thi.ng/transducers@7.5.6 - @thi.ng/vector-pools@1.0.55 - @thi.ng/vectors@4.8.6 - @thi.ng/viz@0.2.7 - @thi.ng/webgl-msdf@0.1.69 - @thi.ng/webgl-shadertoy@0.2.56 - @thi.ng/webgl@3.3.12 - @thi.ng/zipper@0.1.33 --- packages/adjacency/CHANGELOG.md | 8 +++++ packages/adjacency/package.json | 10 +++--- packages/args/CHANGELOG.md | 11 +++++++ packages/args/package.json | 4 +-- packages/arrays/CHANGELOG.md | 8 +++++ packages/arrays/package.json | 4 +-- packages/associative/CHANGELOG.md | 8 +++++ packages/associative/package.json | 6 ++-- packages/base-n/CHANGELOG.md | 12 +++++++ packages/base-n/package.json | 2 +- packages/bencode/CHANGELOG.md | 8 +++++ packages/bencode/package.json | 8 ++--- packages/bitfield/CHANGELOG.md | 8 +++++ packages/bitfield/package.json | 4 +-- packages/cache/CHANGELOG.md | 8 +++++ packages/cache/package.json | 6 ++-- packages/color/CHANGELOG.md | 8 +++++ packages/color/package.json | 12 +++---- packages/colored-noise/CHANGELOG.md | 8 +++++ packages/colored-noise/package.json | 14 ++++----- packages/csp/CHANGELOG.md | 8 +++++ packages/csp/package.json | 8 ++--- packages/csv/CHANGELOG.md | 8 +++++ packages/csv/package.json | 6 ++-- packages/dcons/CHANGELOG.md | 8 +++++ packages/dcons/package.json | 6 ++-- packages/dgraph-dot/CHANGELOG.md | 8 +++++ packages/dgraph-dot/package.json | 4 +-- packages/dgraph/CHANGELOG.md | 8 +++++ packages/dgraph/package.json | 6 ++-- packages/dsp-io-wav/CHANGELOG.md | 8 +++++ packages/dsp-io-wav/package.json | 6 ++-- packages/dsp/CHANGELOG.md | 8 +++++ packages/dsp/package.json | 6 ++-- packages/ecs/CHANGELOG.md | 8 +++++ packages/ecs/package.json | 8 ++--- packages/egf/CHANGELOG.md | 8 +++++ packages/egf/package.json | 10 +++--- packages/fsm/CHANGELOG.md | 8 +++++ packages/fsm/package.json | 8 ++--- packages/fuzzy-viz/CHANGELOG.md | 8 +++++ packages/fuzzy-viz/package.json | 8 ++--- packages/geom-accel/CHANGELOG.md | 8 +++++ packages/geom-accel/package.json | 12 +++---- packages/geom-api/CHANGELOG.md | 8 +++++ packages/geom-api/package.json | 4 +-- packages/geom-arc/CHANGELOG.md | 8 +++++ packages/geom-arc/package.json | 8 ++--- packages/geom-clip-line/CHANGELOG.md | 8 +++++ packages/geom-clip-line/package.json | 6 ++-- packages/geom-clip-poly/CHANGELOG.md | 8 +++++ packages/geom-clip-poly/package.json | 8 ++--- packages/geom-closest-point/CHANGELOG.md | 8 +++++ packages/geom-closest-point/package.json | 4 +-- packages/geom-fuzz/CHANGELOG.md | 8 +++++ packages/geom-fuzz/package.json | 20 ++++++------ packages/geom-hull/CHANGELOG.md | 8 +++++ packages/geom-hull/package.json | 4 +-- packages/geom-io-obj/CHANGELOG.md | 8 +++++ packages/geom-io-obj/package.json | 4 +-- packages/geom-isec/CHANGELOG.md | 8 +++++ packages/geom-isec/package.json | 8 ++--- packages/geom-isoline/CHANGELOG.md | 8 +++++ packages/geom-isoline/package.json | 6 ++-- packages/geom-poly-utils/CHANGELOG.md | 8 +++++ packages/geom-poly-utils/package.json | 6 ++-- packages/geom-resample/CHANGELOG.md | 8 +++++ packages/geom-resample/package.json | 8 ++--- packages/geom-splines/CHANGELOG.md | 8 +++++ packages/geom-splines/package.json | 10 +++--- packages/geom-subdiv-curve/CHANGELOG.md | 8 +++++ packages/geom-subdiv-curve/package.json | 8 ++--- packages/geom-tessellate/CHANGELOG.md | 8 +++++ packages/geom-tessellate/package.json | 12 +++---- packages/geom-voronoi/CHANGELOG.md | 8 +++++ packages/geom-voronoi/package.json | 12 +++---- packages/geom/CHANGELOG.md | 8 +++++ packages/geom/package.json | 40 ++++++++++++------------ packages/gp/CHANGELOG.md | 8 +++++ packages/gp/package.json | 8 ++--- packages/grid-iterators/CHANGELOG.md | 8 +++++ packages/grid-iterators/package.json | 8 ++--- packages/hdiff/CHANGELOG.md | 8 +++++ packages/hdiff/package.json | 6 ++-- packages/hdom-canvas/CHANGELOG.md | 8 +++++ packages/hdom-canvas/package.json | 6 ++-- packages/hdom-components/CHANGELOG.md | 8 +++++ packages/hdom-components/package.json | 6 ++-- packages/hdom-mock/CHANGELOG.md | 8 +++++ packages/hdom-mock/package.json | 4 +-- packages/hdom/CHANGELOG.md | 8 +++++ packages/hdom/package.json | 4 +-- packages/hiccup-canvas/CHANGELOG.md | 8 +++++ packages/hiccup-canvas/package.json | 6 ++-- packages/hiccup-css/CHANGELOG.md | 8 +++++ packages/hiccup-css/package.json | 4 +-- packages/hiccup-markdown/CHANGELOG.md | 8 +++++ packages/hiccup-markdown/package.json | 12 +++---- packages/hiccup-svg/CHANGELOG.md | 8 +++++ packages/hiccup-svg/package.json | 6 ++-- packages/iges/CHANGELOG.md | 8 +++++ packages/iges/package.json | 8 ++--- packages/imgui/CHANGELOG.md | 8 +++++ packages/imgui/package.json | 14 ++++----- packages/iterators/CHANGELOG.md | 8 +++++ packages/iterators/package.json | 4 +-- packages/ksuid/CHANGELOG.md | 16 ++++++++++ packages/ksuid/package.json | 8 ++--- packages/leb128/CHANGELOG.md | 8 +++++ packages/leb128/package.json | 4 +-- packages/lsys/CHANGELOG.md | 8 +++++ packages/lsys/package.json | 8 ++--- packages/matrices/CHANGELOG.md | 8 +++++ packages/matrices/package.json | 4 +-- packages/parse/CHANGELOG.md | 8 +++++ packages/parse/package.json | 4 +-- packages/poisson/CHANGELOG.md | 8 +++++ packages/poisson/package.json | 10 +++--- packages/prefixes/CHANGELOG.md | 8 +++++ packages/prefixes/package.json | 2 +- packages/ramp/CHANGELOG.md | 8 +++++ packages/ramp/package.json | 8 ++--- packages/random/CHANGELOG.md | 22 +++++++++++++ packages/random/package.json | 2 +- packages/range-coder/CHANGELOG.md | 8 +++++ packages/range-coder/package.json | 4 +-- packages/rdom-canvas/CHANGELOG.md | 8 +++++ packages/rdom-canvas/package.json | 10 +++--- packages/rdom-components/CHANGELOG.md | 8 +++++ packages/rdom-components/package.json | 12 +++---- packages/rdom/CHANGELOG.md | 8 +++++ packages/rdom/package.json | 8 ++--- packages/rstream-csp/CHANGELOG.md | 8 +++++ packages/rstream-csp/package.json | 6 ++-- packages/rstream-dot/CHANGELOG.md | 8 +++++ packages/rstream-dot/package.json | 4 +-- packages/rstream-gestures/CHANGELOG.md | 8 +++++ packages/rstream-gestures/package.json | 6 ++-- packages/rstream-graph/CHANGELOG.md | 8 +++++ packages/rstream-graph/package.json | 6 ++-- packages/rstream-log-file/CHANGELOG.md | 8 +++++ packages/rstream-log-file/package.json | 4 +-- packages/rstream-log/CHANGELOG.md | 11 +++++++ packages/rstream-log/package.json | 8 ++--- packages/rstream-query/CHANGELOG.md | 8 +++++ packages/rstream-query/package.json | 10 +++--- packages/rstream/CHANGELOG.md | 8 +++++ packages/rstream/package.json | 8 ++--- packages/sax/CHANGELOG.md | 8 +++++ packages/sax/package.json | 6 ++-- packages/scenegraph/CHANGELOG.md | 8 +++++ packages/scenegraph/package.json | 6 ++-- packages/shader-ast-glsl/CHANGELOG.md | 8 +++++ packages/shader-ast-glsl/package.json | 4 +-- packages/shader-ast-js/CHANGELOG.md | 8 +++++ packages/shader-ast-js/package.json | 8 ++--- packages/shader-ast-stdlib/CHANGELOG.md | 8 +++++ packages/shader-ast-stdlib/package.json | 4 +-- packages/shader-ast/CHANGELOG.md | 8 +++++ packages/shader-ast/package.json | 4 +-- packages/simd/CHANGELOG.md | 8 +++++ packages/simd/package.json | 4 +-- packages/soa/CHANGELOG.md | 8 +++++ packages/soa/package.json | 6 ++-- packages/sparse/CHANGELOG.md | 8 +++++ packages/sparse/package.json | 4 +-- packages/strings/CHANGELOG.md | 11 +++++++ packages/strings/package.json | 2 +- packages/system/CHANGELOG.md | 8 +++++ packages/system/package.json | 4 +-- packages/text-canvas/CHANGELOG.md | 8 +++++ packages/text-canvas/package.json | 10 +++--- packages/transducers-binary/CHANGELOG.md | 8 +++++ packages/transducers-binary/package.json | 6 ++-- packages/transducers-fsm/CHANGELOG.md | 8 +++++ packages/transducers-fsm/package.json | 4 +-- packages/transducers-hdom/CHANGELOG.md | 8 +++++ packages/transducers-hdom/package.json | 6 ++-- packages/transducers-patch/CHANGELOG.md | 8 +++++ packages/transducers-patch/package.json | 4 +-- packages/transducers-stats/CHANGELOG.md | 8 +++++ packages/transducers-stats/package.json | 6 ++-- packages/transducers/CHANGELOG.md | 8 +++++ packages/transducers/package.json | 6 ++-- packages/vector-pools/CHANGELOG.md | 8 +++++ packages/vector-pools/package.json | 6 ++-- packages/vectors/CHANGELOG.md | 8 +++++ packages/vectors/package.json | 6 ++-- packages/viz/CHANGELOG.md | 8 +++++ packages/viz/package.json | 10 +++--- packages/webgl-msdf/CHANGELOG.md | 8 +++++ packages/webgl-msdf/package.json | 12 +++---- packages/webgl-shadertoy/CHANGELOG.md | 8 +++++ packages/webgl-shadertoy/package.json | 8 ++--- packages/webgl/CHANGELOG.md | 8 +++++ packages/webgl/package.json | 18 +++++------ packages/zipper/CHANGELOG.md | 8 +++++ packages/zipper/package.json | 4 +-- 198 files changed, 1185 insertions(+), 358 deletions(-) create mode 100644 packages/base-n/CHANGELOG.md create mode 100644 packages/ksuid/CHANGELOG.md diff --git a/packages/adjacency/CHANGELOG.md b/packages/adjacency/CHANGELOG.md index 88a1afb473..f873e1e821 100644 --- a/packages/adjacency/CHANGELOG.md +++ b/packages/adjacency/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.2.4](https://github.com/thi-ng/umbrella/compare/@thi.ng/adjacency@0.2.3...@thi.ng/adjacency@0.2.4) (2021-01-13) + +**Note:** Version bump only for package @thi.ng/adjacency + + + + + ## [0.2.3](https://github.com/thi-ng/umbrella/compare/@thi.ng/adjacency@0.2.2...@thi.ng/adjacency@0.2.3) (2021-01-10) **Note:** Version bump only for package @thi.ng/adjacency diff --git a/packages/adjacency/package.json b/packages/adjacency/package.json index 74ecc10af6..e3dfda1e59 100644 --- a/packages/adjacency/package.json +++ b/packages/adjacency/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/adjacency", - "version": "0.2.3", + "version": "0.2.4", "description": "Sparse & bitwise adjacency matrices and related functions for directed & undirected graphs", "module": "./index.js", "main": "./lib/index.js", @@ -40,7 +40,7 @@ "devDependencies": { "@istanbuljs/nyc-config-typescript": "^1.0.1", "@microsoft/api-extractor": "^7.12.1", - "@thi.ng/vectors": "^4.8.5", + "@thi.ng/vectors": "^4.8.6", "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", "mocha": "^8.2.1", @@ -52,10 +52,10 @@ "dependencies": { "@thi.ng/api": "^6.13.6", "@thi.ng/binary": "^2.0.21", - "@thi.ng/bitfield": "^0.3.29", + "@thi.ng/bitfield": "^0.3.30", "@thi.ng/checks": "^2.8.0", - "@thi.ng/dcons": "^2.3.6", - "@thi.ng/sparse": "^0.1.61" + "@thi.ng/dcons": "^2.3.7", + "@thi.ng/sparse": "^0.1.62" }, "files": [ "*.js", diff --git a/packages/args/CHANGELOG.md b/packages/args/CHANGELOG.md index 34925c665a..b3dbe96e0a 100644 --- a/packages/args/CHANGELOG.md +++ b/packages/args/CHANGELOG.md @@ -3,6 +3,17 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [0.2.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/args@0.1.0...@thi.ng/args@0.2.0) (2021-01-13) + + +### Features + +* **args:** add defaultHint opt, update usage() ([f8a4146](https://github.com/thi-ng/umbrella/commit/f8a414605a0d5c93fcef83ab931911c6c2f39f7d)) + + + + + # 0.1.0 (2021-01-10) diff --git a/packages/args/package.json b/packages/args/package.json index 6c6dcc4365..3efb274b3c 100644 --- a/packages/args/package.json +++ b/packages/args/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/args", - "version": "0.1.0", + "version": "0.2.0", "description": "Declarative, functional & typechecked CLI argument/options parser, value coercions etc.", "module": "./index.js", "main": "./lib/index.js", @@ -52,7 +52,7 @@ "@thi.ng/api": "^6.13.6", "@thi.ng/checks": "^2.8.0", "@thi.ng/errors": "^1.2.26", - "@thi.ng/strings": "^1.13.0" + "@thi.ng/strings": "^1.14.0" }, "files": [ "*.js", diff --git a/packages/arrays/CHANGELOG.md b/packages/arrays/CHANGELOG.md index 3ef4e4b0d6..74a547e87d 100644 --- a/packages/arrays/CHANGELOG.md +++ b/packages/arrays/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.9.2](https://github.com/thi-ng/umbrella/compare/@thi.ng/arrays@0.9.1...@thi.ng/arrays@0.9.2) (2021-01-13) + +**Note:** Version bump only for package @thi.ng/arrays + + + + + ## [0.9.1](https://github.com/thi-ng/umbrella/compare/@thi.ng/arrays@0.9.0...@thi.ng/arrays@0.9.1) (2021-01-10) **Note:** Version bump only for package @thi.ng/arrays diff --git a/packages/arrays/package.json b/packages/arrays/package.json index d5f638fb1f..f013c31a42 100644 --- a/packages/arrays/package.json +++ b/packages/arrays/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/arrays", - "version": "0.9.1", + "version": "0.9.2", "description": "Array / Arraylike utilities", "module": "./index.js", "main": "./lib/index.js", @@ -54,7 +54,7 @@ "@thi.ng/compare": "^1.3.22", "@thi.ng/equiv": "^1.0.35", "@thi.ng/errors": "^1.2.26", - "@thi.ng/random": "^2.1.5" + "@thi.ng/random": "^2.2.0" }, "files": [ "*.js", diff --git a/packages/associative/CHANGELOG.md b/packages/associative/CHANGELOG.md index 99d680f8ad..0d54dfdf58 100644 --- a/packages/associative/CHANGELOG.md +++ b/packages/associative/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [5.0.15](https://github.com/thi-ng/umbrella/compare/@thi.ng/associative@5.0.14...@thi.ng/associative@5.0.15) (2021-01-13) + +**Note:** Version bump only for package @thi.ng/associative + + + + + ## [5.0.14](https://github.com/thi-ng/umbrella/compare/@thi.ng/associative@5.0.13...@thi.ng/associative@5.0.14) (2021-01-10) **Note:** Version bump only for package @thi.ng/associative diff --git a/packages/associative/package.json b/packages/associative/package.json index 8d65019428..a9a9df6c2d 100644 --- a/packages/associative/package.json +++ b/packages/associative/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/associative", - "version": "5.0.14", + "version": "5.0.15", "description": "Alternative Map and Set implementations with customizable equality semantics & supporting operations", "module": "./index.js", "main": "./lib/index.js", @@ -53,10 +53,10 @@ "@thi.ng/binary": "^2.0.21", "@thi.ng/checks": "^2.8.0", "@thi.ng/compare": "^1.3.22", - "@thi.ng/dcons": "^2.3.6", + "@thi.ng/dcons": "^2.3.7", "@thi.ng/equiv": "^1.0.35", "@thi.ng/errors": "^1.2.26", - "@thi.ng/transducers": "^7.5.5", + "@thi.ng/transducers": "^7.5.6", "tslib": "2.0.1" }, "files": [ diff --git a/packages/base-n/CHANGELOG.md b/packages/base-n/CHANGELOG.md new file mode 100644 index 0000000000..ca7623a55e --- /dev/null +++ b/packages/base-n/CHANGELOG.md @@ -0,0 +1,12 @@ +# 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.0 (2021-01-13) + + +### Features + +* **base-n:** add en/decodeBytes(), add BASE16_XX ([d6205d7](https://github.com/thi-ng/umbrella/commit/d6205d72331bf038ebdc95c221763e2f794c10a9)) +* **base-n:** import as new pkg (MBP2010) ([f5763b3](https://github.com/thi-ng/umbrella/commit/f5763b3c6be87eb0e27a9239527283323c3e774c)) diff --git a/packages/base-n/package.json b/packages/base-n/package.json index 1425d2ee46..a6683efefd 100644 --- a/packages/base-n/package.json +++ b/packages/base-n/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/base-n", - "version": "0.0.1", + "version": "0.1.0", "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", diff --git a/packages/bencode/CHANGELOG.md b/packages/bencode/CHANGELOG.md index c6542261a1..fc4a6dded1 100644 --- a/packages/bencode/CHANGELOG.md +++ b/packages/bencode/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.3.47](https://github.com/thi-ng/umbrella/compare/@thi.ng/bencode@0.3.46...@thi.ng/bencode@0.3.47) (2021-01-13) + +**Note:** Version bump only for package @thi.ng/bencode + + + + + ## [0.3.46](https://github.com/thi-ng/umbrella/compare/@thi.ng/bencode@0.3.45...@thi.ng/bencode@0.3.46) (2021-01-10) **Note:** Version bump only for package @thi.ng/bencode diff --git a/packages/bencode/package.json b/packages/bencode/package.json index c9c70015e1..2dd9ac6198 100644 --- a/packages/bencode/package.json +++ b/packages/bencode/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/bencode", - "version": "0.3.46", + "version": "0.3.47", "description": "Bencode binary encoder / decoder with optional UTF8 encoding & floating point support", "module": "./index.js", "main": "./lib/index.js", @@ -50,12 +50,12 @@ }, "dependencies": { "@thi.ng/api": "^6.13.6", - "@thi.ng/arrays": "^0.9.1", + "@thi.ng/arrays": "^0.9.2", "@thi.ng/checks": "^2.8.0", "@thi.ng/defmulti": "^1.3.4", "@thi.ng/errors": "^1.2.26", - "@thi.ng/transducers": "^7.5.5", - "@thi.ng/transducers-binary": "^0.6.2" + "@thi.ng/transducers": "^7.5.6", + "@thi.ng/transducers-binary": "^0.6.3" }, "files": [ "*.js", diff --git a/packages/bitfield/CHANGELOG.md b/packages/bitfield/CHANGELOG.md index b95c109aad..2e71c01817 100644 --- a/packages/bitfield/CHANGELOG.md +++ b/packages/bitfield/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.3.30](https://github.com/thi-ng/umbrella/compare/@thi.ng/bitfield@0.3.29...@thi.ng/bitfield@0.3.30) (2021-01-13) + +**Note:** Version bump only for package @thi.ng/bitfield + + + + + ## [0.3.29](https://github.com/thi-ng/umbrella/compare/@thi.ng/bitfield@0.3.28...@thi.ng/bitfield@0.3.29) (2021-01-10) **Note:** Version bump only for package @thi.ng/bitfield diff --git a/packages/bitfield/package.json b/packages/bitfield/package.json index 2bd623d26f..f8a20d96dd 100644 --- a/packages/bitfield/package.json +++ b/packages/bitfield/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/bitfield", - "version": "0.3.29", + "version": "0.3.30", "description": "1D / 2D bit field implementations", "module": "./index.js", "main": "./lib/index.js", @@ -51,7 +51,7 @@ "dependencies": { "@thi.ng/api": "^6.13.6", "@thi.ng/binary": "^2.0.21", - "@thi.ng/strings": "^1.13.0" + "@thi.ng/strings": "^1.14.0" }, "files": [ "*.js", diff --git a/packages/cache/CHANGELOG.md b/packages/cache/CHANGELOG.md index b0898534c8..a180ba62b2 100644 --- a/packages/cache/CHANGELOG.md +++ b/packages/cache/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.0.67](https://github.com/thi-ng/umbrella/compare/@thi.ng/cache@1.0.66...@thi.ng/cache@1.0.67) (2021-01-13) + +**Note:** Version bump only for package @thi.ng/cache + + + + + ## [1.0.66](https://github.com/thi-ng/umbrella/compare/@thi.ng/cache@1.0.65...@thi.ng/cache@1.0.66) (2021-01-10) **Note:** Version bump only for package @thi.ng/cache diff --git a/packages/cache/package.json b/packages/cache/package.json index 19279d4f67..e983bcd1c5 100644 --- a/packages/cache/package.json +++ b/packages/cache/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/cache", - "version": "1.0.66", + "version": "1.0.67", "description": "In-memory cache implementations with ES6 Map-like API and different eviction strategies", "module": "./index.js", "main": "./lib/index.js", @@ -50,8 +50,8 @@ }, "dependencies": { "@thi.ng/api": "^6.13.6", - "@thi.ng/dcons": "^2.3.6", - "@thi.ng/transducers": "^7.5.5" + "@thi.ng/dcons": "^2.3.7", + "@thi.ng/transducers": "^7.5.6" }, "files": [ "*.js", diff --git a/packages/color/CHANGELOG.md b/packages/color/CHANGELOG.md index f5c674a912..3ef8c22224 100644 --- a/packages/color/CHANGELOG.md +++ b/packages/color/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [2.1.3](https://github.com/thi-ng/umbrella/compare/@thi.ng/color@2.1.2...@thi.ng/color@2.1.3) (2021-01-13) + +**Note:** Version bump only for package @thi.ng/color + + + + + ## [2.1.2](https://github.com/thi-ng/umbrella/compare/@thi.ng/color@2.1.1...@thi.ng/color@2.1.2) (2021-01-10) **Note:** Version bump only for package @thi.ng/color diff --git a/packages/color/package.json b/packages/color/package.json index 47351d12d9..aebf4b11c6 100644 --- a/packages/color/package.json +++ b/packages/color/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/color", - "version": "2.1.2", + "version": "2.1.3", "description": "Array-based color types, conversions, transformations, declarative theme generation, multi-color gradients, presets", "module": "./index.js", "main": "./lib/index.js", @@ -51,17 +51,17 @@ }, "dependencies": { "@thi.ng/api": "^6.13.6", - "@thi.ng/arrays": "^0.9.1", + "@thi.ng/arrays": "^0.9.2", "@thi.ng/checks": "^2.8.0", "@thi.ng/compare": "^1.3.22", "@thi.ng/compose": "^1.4.23", "@thi.ng/defmulti": "^1.3.4", "@thi.ng/errors": "^1.2.26", "@thi.ng/math": "^3.1.0", - "@thi.ng/random": "^2.1.5", - "@thi.ng/strings": "^1.13.0", - "@thi.ng/transducers": "^7.5.5", - "@thi.ng/vectors": "^4.8.5" + "@thi.ng/random": "^2.2.0", + "@thi.ng/strings": "^1.14.0", + "@thi.ng/transducers": "^7.5.6", + "@thi.ng/vectors": "^4.8.6" }, "files": [ "*.js", diff --git a/packages/colored-noise/CHANGELOG.md b/packages/colored-noise/CHANGELOG.md index 7427108386..6f9fb637b2 100644 --- a/packages/colored-noise/CHANGELOG.md +++ b/packages/colored-noise/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.1.11](https://github.com/thi-ng/umbrella/compare/@thi.ng/colored-noise@0.1.10...@thi.ng/colored-noise@0.1.11) (2021-01-13) + +**Note:** Version bump only for package @thi.ng/colored-noise + + + + + ## [0.1.10](https://github.com/thi-ng/umbrella/compare/@thi.ng/colored-noise@0.1.9...@thi.ng/colored-noise@0.1.10) (2021-01-10) **Note:** Version bump only for package @thi.ng/colored-noise diff --git a/packages/colored-noise/package.json b/packages/colored-noise/package.json index fbdc4f0641..4001caa4a5 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.10", + "version": "0.1.11", "description": "Customizable O(1) ES6 generators for colored noise", "module": "./index.js", "main": "./lib/index.js", @@ -41,11 +41,11 @@ "@istanbuljs/nyc-config-typescript": "^1.0.1", "@microsoft/api-extractor": "^7.12.1", "@thi.ng/api": "^6.13.6", - "@thi.ng/dsp": "^3.0.2", - "@thi.ng/dsp-io-wav": "^0.1.36", - "@thi.ng/text-canvas": "^0.4.1", - "@thi.ng/transducers": "^7.5.5", - "@thi.ng/vectors": "^4.8.5", + "@thi.ng/dsp": "^3.0.3", + "@thi.ng/dsp-io-wav": "^0.1.37", + "@thi.ng/text-canvas": "^0.4.2", + "@thi.ng/transducers": "^7.5.6", + "@thi.ng/vectors": "^4.8.6", "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", "mocha": "^8.2.1", @@ -56,7 +56,7 @@ }, "dependencies": { "@thi.ng/binary": "^2.0.21", - "@thi.ng/random": "^2.1.5" + "@thi.ng/random": "^2.2.0" }, "files": [ "*.js", diff --git a/packages/csp/CHANGELOG.md b/packages/csp/CHANGELOG.md index 5e9a9fc9e4..39bd7088c5 100644 --- a/packages/csp/CHANGELOG.md +++ b/packages/csp/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.1.47](https://github.com/thi-ng/umbrella/compare/@thi.ng/csp@1.1.46...@thi.ng/csp@1.1.47) (2021-01-13) + +**Note:** Version bump only for package @thi.ng/csp + + + + + ## [1.1.46](https://github.com/thi-ng/umbrella/compare/@thi.ng/csp@1.1.45...@thi.ng/csp@1.1.46) (2021-01-10) **Note:** Version bump only for package @thi.ng/csp diff --git a/packages/csp/package.json b/packages/csp/package.json index 0a36ea2611..959c222618 100644 --- a/packages/csp/package.json +++ b/packages/csp/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/csp", - "version": "1.1.46", + "version": "1.1.47", "description": "ES6 promise based CSP primitives & operations", "module": "./index.js", "main": "./lib/index.js", @@ -54,11 +54,11 @@ }, "dependencies": { "@thi.ng/api": "^6.13.6", - "@thi.ng/arrays": "^0.9.1", + "@thi.ng/arrays": "^0.9.2", "@thi.ng/checks": "^2.8.0", - "@thi.ng/dcons": "^2.3.6", + "@thi.ng/dcons": "^2.3.7", "@thi.ng/errors": "^1.2.26", - "@thi.ng/transducers": "^7.5.5" + "@thi.ng/transducers": "^7.5.6" }, "files": [ "*.js", diff --git a/packages/csv/CHANGELOG.md b/packages/csv/CHANGELOG.md index b5d215568f..c914b1a012 100644 --- a/packages/csv/CHANGELOG.md +++ b/packages/csv/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.1.7](https://github.com/thi-ng/umbrella/compare/@thi.ng/csv@0.1.6...@thi.ng/csv@0.1.7) (2021-01-13) + +**Note:** Version bump only for package @thi.ng/csv + + + + + ## [0.1.6](https://github.com/thi-ng/umbrella/compare/@thi.ng/csv@0.1.5...@thi.ng/csv@0.1.6) (2021-01-10) **Note:** Version bump only for package @thi.ng/csv diff --git a/packages/csv/package.json b/packages/csv/package.json index 40ca10341d..5ed9216e8e 100644 --- a/packages/csv/package.json +++ b/packages/csv/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/csv", - "version": "0.1.6", + "version": "0.1.7", "description": "Customizable, transducer-based CSV parser/object mapper and transformer", "module": "./index.js", "main": "./lib/index.js", @@ -51,8 +51,8 @@ "dependencies": { "@thi.ng/api": "^6.13.6", "@thi.ng/checks": "^2.8.0", - "@thi.ng/strings": "^1.13.0", - "@thi.ng/transducers": "^7.5.5" + "@thi.ng/strings": "^1.14.0", + "@thi.ng/transducers": "^7.5.6" }, "files": [ "*.js", diff --git a/packages/dcons/CHANGELOG.md b/packages/dcons/CHANGELOG.md index 94c1c979ff..4fa2bb3cb2 100644 --- a/packages/dcons/CHANGELOG.md +++ b/packages/dcons/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [2.3.7](https://github.com/thi-ng/umbrella/compare/@thi.ng/dcons@2.3.6...@thi.ng/dcons@2.3.7) (2021-01-13) + +**Note:** Version bump only for package @thi.ng/dcons + + + + + ## [2.3.6](https://github.com/thi-ng/umbrella/compare/@thi.ng/dcons@2.3.5...@thi.ng/dcons@2.3.6) (2021-01-10) **Note:** Version bump only for package @thi.ng/dcons diff --git a/packages/dcons/package.json b/packages/dcons/package.json index 512c6c6d7f..161a3dab62 100644 --- a/packages/dcons/package.json +++ b/packages/dcons/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/dcons", - "version": "2.3.6", + "version": "2.3.7", "description": "Double-linked lists with comprehensive set of operations (incl. optional self-organizing behaviors)", "module": "./index.js", "main": "./lib/index.js", @@ -54,8 +54,8 @@ "@thi.ng/compare": "^1.3.22", "@thi.ng/equiv": "^1.0.35", "@thi.ng/errors": "^1.2.26", - "@thi.ng/random": "^2.1.5", - "@thi.ng/transducers": "^7.5.5" + "@thi.ng/random": "^2.2.0", + "@thi.ng/transducers": "^7.5.6" }, "files": [ "*.js", diff --git a/packages/dgraph-dot/CHANGELOG.md b/packages/dgraph-dot/CHANGELOG.md index ed050c0795..63386cd0de 100644 --- a/packages/dgraph-dot/CHANGELOG.md +++ b/packages/dgraph-dot/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.1.35](https://github.com/thi-ng/umbrella/compare/@thi.ng/dgraph-dot@0.1.34...@thi.ng/dgraph-dot@0.1.35) (2021-01-13) + +**Note:** Version bump only for package @thi.ng/dgraph-dot + + + + + ## [0.1.34](https://github.com/thi-ng/umbrella/compare/@thi.ng/dgraph-dot@0.1.33...@thi.ng/dgraph-dot@0.1.34) (2021-01-10) **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 bb63d848cc..450185391a 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.34", + "version": "0.1.35", "description": "Customizable Graphviz DOT serialization for @thi.ng/dgraph", "module": "./index.js", "main": "./lib/index.js", @@ -50,7 +50,7 @@ }, "dependencies": { "@thi.ng/api": "^6.13.6", - "@thi.ng/dgraph": "^1.3.5", + "@thi.ng/dgraph": "^1.3.6", "@thi.ng/dot": "^1.2.24" }, "files": [ diff --git a/packages/dgraph/CHANGELOG.md b/packages/dgraph/CHANGELOG.md index 60f511edc9..cfdf89f1e8 100644 --- a/packages/dgraph/CHANGELOG.md +++ b/packages/dgraph/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.3.6](https://github.com/thi-ng/umbrella/compare/@thi.ng/dgraph@1.3.5...@thi.ng/dgraph@1.3.6) (2021-01-13) + +**Note:** Version bump only for package @thi.ng/dgraph + + + + + ## [1.3.5](https://github.com/thi-ng/umbrella/compare/@thi.ng/dgraph@1.3.4...@thi.ng/dgraph@1.3.5) (2021-01-10) **Note:** Version bump only for package @thi.ng/dgraph diff --git a/packages/dgraph/package.json b/packages/dgraph/package.json index d94932422c..8b552ea466 100644 --- a/packages/dgraph/package.json +++ b/packages/dgraph/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/dgraph", - "version": "1.3.5", + "version": "1.3.6", "description": "Type-agnostic directed acyclic graph (DAG) & graph operations", "module": "./index.js", "main": "./lib/index.js", @@ -50,10 +50,10 @@ }, "dependencies": { "@thi.ng/api": "^6.13.6", - "@thi.ng/associative": "^5.0.14", + "@thi.ng/associative": "^5.0.15", "@thi.ng/equiv": "^1.0.35", "@thi.ng/errors": "^1.2.26", - "@thi.ng/transducers": "^7.5.5" + "@thi.ng/transducers": "^7.5.6" }, "files": [ "*.js", diff --git a/packages/dsp-io-wav/CHANGELOG.md b/packages/dsp-io-wav/CHANGELOG.md index c0cd69ae59..40064f4474 100644 --- a/packages/dsp-io-wav/CHANGELOG.md +++ b/packages/dsp-io-wav/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.1.37](https://github.com/thi-ng/umbrella/compare/@thi.ng/dsp-io-wav@0.1.36...@thi.ng/dsp-io-wav@0.1.37) (2021-01-13) + +**Note:** Version bump only for package @thi.ng/dsp-io-wav + + + + + ## [0.1.36](https://github.com/thi-ng/umbrella/compare/@thi.ng/dsp-io-wav@0.1.35...@thi.ng/dsp-io-wav@0.1.36) (2021-01-10) **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 9170724ccf..6841a70181 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.36", + "version": "0.1.37", "description": "WAV file format generation", "module": "./index.js", "main": "./lib/index.js", @@ -51,8 +51,8 @@ "dependencies": { "@thi.ng/api": "^6.13.6", "@thi.ng/binary": "^2.0.21", - "@thi.ng/transducers": "^7.5.5", - "@thi.ng/transducers-binary": "^0.6.2" + "@thi.ng/transducers": "^7.5.6", + "@thi.ng/transducers-binary": "^0.6.3" }, "files": [ "*.js", diff --git a/packages/dsp/CHANGELOG.md b/packages/dsp/CHANGELOG.md index 4df37c5c06..13c8a0faf5 100644 --- a/packages/dsp/CHANGELOG.md +++ b/packages/dsp/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [3.0.3](https://github.com/thi-ng/umbrella/compare/@thi.ng/dsp@3.0.2...@thi.ng/dsp@3.0.3) (2021-01-13) + +**Note:** Version bump only for package @thi.ng/dsp + + + + + ## [3.0.2](https://github.com/thi-ng/umbrella/compare/@thi.ng/dsp@3.0.1...@thi.ng/dsp@3.0.2) (2021-01-10) **Note:** Version bump only for package @thi.ng/dsp diff --git a/packages/dsp/package.json b/packages/dsp/package.json index 0eb7a59ae7..f653ed6da7 100644 --- a/packages/dsp/package.json +++ b/packages/dsp/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/dsp", - "version": "3.0.2", + "version": "3.0.3", "description": "Composable signal generators, oscillators, filters, FFT, spectrum, windowing & related DSP utils", "module": "./index.js", "main": "./lib/index.js", @@ -53,8 +53,8 @@ "@thi.ng/checks": "^2.8.0", "@thi.ng/errors": "^1.2.26", "@thi.ng/math": "^3.1.0", - "@thi.ng/random": "^2.1.5", - "@thi.ng/transducers": "^7.5.5" + "@thi.ng/random": "^2.2.0", + "@thi.ng/transducers": "^7.5.6" }, "files": [ "*.js", diff --git a/packages/ecs/CHANGELOG.md b/packages/ecs/CHANGELOG.md index df79e40146..a29a3ee945 100644 --- a/packages/ecs/CHANGELOG.md +++ b/packages/ecs/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.4.7](https://github.com/thi-ng/umbrella/compare/@thi.ng/ecs@0.4.6...@thi.ng/ecs@0.4.7) (2021-01-13) + +**Note:** Version bump only for package @thi.ng/ecs + + + + + ## [0.4.6](https://github.com/thi-ng/umbrella/compare/@thi.ng/ecs@0.4.5...@thi.ng/ecs@0.4.6) (2021-01-10) **Note:** Version bump only for package @thi.ng/ecs diff --git a/packages/ecs/package.json b/packages/ecs/package.json index 63d1689a71..5469d90faa 100644 --- a/packages/ecs/package.json +++ b/packages/ecs/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/ecs", - "version": "0.4.6", + "version": "0.4.7", "description": "Entity Component System based around typed arrays & sparse sets", "module": "./index.js", "main": "./lib/index.js", @@ -51,13 +51,13 @@ }, "dependencies": { "@thi.ng/api": "^6.13.6", - "@thi.ng/associative": "^5.0.14", + "@thi.ng/associative": "^5.0.15", "@thi.ng/binary": "^2.0.21", "@thi.ng/checks": "^2.8.0", - "@thi.ng/dcons": "^2.3.6", + "@thi.ng/dcons": "^2.3.7", "@thi.ng/idgen": "^0.2.29", "@thi.ng/malloc": "^4.2.6", - "@thi.ng/transducers": "^7.5.5", + "@thi.ng/transducers": "^7.5.6", "tslib": "2.0.1" }, "files": [ diff --git a/packages/egf/CHANGELOG.md b/packages/egf/CHANGELOG.md index cc0f001380..535f46cd84 100644 --- a/packages/egf/CHANGELOG.md +++ b/packages/egf/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.3.9](https://github.com/thi-ng/umbrella/compare/@thi.ng/egf@0.3.8...@thi.ng/egf@0.3.9) (2021-01-13) + +**Note:** Version bump only for package @thi.ng/egf + + + + + ## [0.3.8](https://github.com/thi-ng/umbrella/compare/@thi.ng/egf@0.3.7...@thi.ng/egf@0.3.8) (2021-01-10) **Note:** Version bump only for package @thi.ng/egf diff --git a/packages/egf/package.json b/packages/egf/package.json index 0f89ba81b4..0db73fd92e 100644 --- a/packages/egf/package.json +++ b/packages/egf/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/egf", - "version": "0.3.8", + "version": "0.3.9", "description": "Extensible Graph Format", "module": "./index.js", "main": "./lib/index.js", @@ -46,13 +46,13 @@ }, "dependencies": { "@thi.ng/api": "^6.13.6", - "@thi.ng/associative": "^5.0.14", + "@thi.ng/associative": "^5.0.15", "@thi.ng/checks": "^2.8.0", "@thi.ng/dot": "^1.2.24", "@thi.ng/errors": "^1.2.26", - "@thi.ng/prefixes": "^0.1.10", - "@thi.ng/strings": "^1.13.0", - "@thi.ng/transducers-binary": "^0.6.2" + "@thi.ng/prefixes": "^0.1.11", + "@thi.ng/strings": "^1.14.0", + "@thi.ng/transducers-binary": "^0.6.3" }, "files": [ "*.js", diff --git a/packages/fsm/CHANGELOG.md b/packages/fsm/CHANGELOG.md index 37153ffc05..7ac5edb57b 100644 --- a/packages/fsm/CHANGELOG.md +++ b/packages/fsm/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [2.4.34](https://github.com/thi-ng/umbrella/compare/@thi.ng/fsm@2.4.33...@thi.ng/fsm@2.4.34) (2021-01-13) + +**Note:** Version bump only for package @thi.ng/fsm + + + + + ## [2.4.33](https://github.com/thi-ng/umbrella/compare/@thi.ng/fsm@2.4.32...@thi.ng/fsm@2.4.33) (2021-01-10) **Note:** Version bump only for package @thi.ng/fsm diff --git a/packages/fsm/package.json b/packages/fsm/package.json index 091b532c08..01c88818e1 100644 --- a/packages/fsm/package.json +++ b/packages/fsm/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/fsm", - "version": "2.4.33", + "version": "2.4.34", "description": "Composable primitives for building declarative, transducer based Finite-State Machines & matchers for arbitrary data streams", "module": "./index.js", "main": "./lib/index.js", @@ -50,11 +50,11 @@ }, "dependencies": { "@thi.ng/api": "^6.13.6", - "@thi.ng/arrays": "^0.9.1", + "@thi.ng/arrays": "^0.9.2", "@thi.ng/equiv": "^1.0.35", "@thi.ng/errors": "^1.2.26", - "@thi.ng/strings": "^1.13.0", - "@thi.ng/transducers": "^7.5.5" + "@thi.ng/strings": "^1.14.0", + "@thi.ng/transducers": "^7.5.6" }, "files": [ "*.js", diff --git a/packages/fuzzy-viz/CHANGELOG.md b/packages/fuzzy-viz/CHANGELOG.md index 27263a736c..2f01623a92 100644 --- a/packages/fuzzy-viz/CHANGELOG.md +++ b/packages/fuzzy-viz/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.1.4](https://github.com/thi-ng/umbrella/compare/@thi.ng/fuzzy-viz@0.1.3...@thi.ng/fuzzy-viz@0.1.4) (2021-01-13) + +**Note:** Version bump only for package @thi.ng/fuzzy-viz + + + + + ## [0.1.3](https://github.com/thi-ng/umbrella/compare/@thi.ng/fuzzy-viz@0.1.2...@thi.ng/fuzzy-viz@0.1.3) (2021-01-10) **Note:** Version bump only for package @thi.ng/fuzzy-viz diff --git a/packages/fuzzy-viz/package.json b/packages/fuzzy-viz/package.json index 5f19b35eb3..855a161cbd 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.3", + "version": "0.1.4", "description": "Visualization, instrumentation & introspection utils for @thi.ng/fuzzy", "module": "./index.js", "main": "./lib/index.js", @@ -52,10 +52,10 @@ "@thi.ng/api": "^6.13.6", "@thi.ng/fuzzy": "^0.1.2", "@thi.ng/hiccup": "^3.6.7", - "@thi.ng/hiccup-svg": "^3.7.2", + "@thi.ng/hiccup-svg": "^3.7.3", "@thi.ng/math": "^3.1.0", - "@thi.ng/strings": "^1.13.0", - "@thi.ng/text-canvas": "^0.4.1" + "@thi.ng/strings": "^1.14.0", + "@thi.ng/text-canvas": "^0.4.2" }, "files": [ "*.js", diff --git a/packages/geom-accel/CHANGELOG.md b/packages/geom-accel/CHANGELOG.md index cad9db3135..a0f98b7ee2 100644 --- a/packages/geom-accel/CHANGELOG.md +++ b/packages/geom-accel/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [2.1.32](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-accel@2.1.31...@thi.ng/geom-accel@2.1.32) (2021-01-13) + +**Note:** Version bump only for package @thi.ng/geom-accel + + + + + ## [2.1.31](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-accel@2.1.30...@thi.ng/geom-accel@2.1.31) (2021-01-10) **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 902d5488b3..e4a90fede0 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.31", + "version": "2.1.32", "description": "n-D spatial indexing data structures with a shared ES6 Map/Set-like API", "module": "./index.js", "main": "./lib/index.js", @@ -51,15 +51,15 @@ }, "dependencies": { "@thi.ng/api": "^6.13.6", - "@thi.ng/arrays": "^0.9.1", + "@thi.ng/arrays": "^0.9.2", "@thi.ng/checks": "^2.8.0", "@thi.ng/equiv": "^1.0.35", - "@thi.ng/geom-api": "^2.0.2", - "@thi.ng/geom-isec": "^0.7.5", + "@thi.ng/geom-api": "^2.0.3", + "@thi.ng/geom-isec": "^0.7.6", "@thi.ng/heaps": "^1.2.30", "@thi.ng/math": "^3.1.0", - "@thi.ng/transducers": "^7.5.5", - "@thi.ng/vectors": "^4.8.5" + "@thi.ng/transducers": "^7.5.6", + "@thi.ng/vectors": "^4.8.6" }, "files": [ "*.js", diff --git a/packages/geom-api/CHANGELOG.md b/packages/geom-api/CHANGELOG.md index f0d2a54149..11262a5522 100644 --- a/packages/geom-api/CHANGELOG.md +++ b/packages/geom-api/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [2.0.3](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-api@2.0.2...@thi.ng/geom-api@2.0.3) (2021-01-13) + +**Note:** Version bump only for package @thi.ng/geom-api + + + + + ## [2.0.2](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-api@2.0.1...@thi.ng/geom-api@2.0.2) (2021-01-10) **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 0da9094d6e..29231f0cf7 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.2", + "version": "2.0.3", "description": "Shared type & interface declarations for @thi.ng/geom packages", "module": "./index.js", "main": "./lib/index.js", @@ -50,7 +50,7 @@ }, "dependencies": { "@thi.ng/api": "^6.13.6", - "@thi.ng/vectors": "^4.8.5" + "@thi.ng/vectors": "^4.8.6" }, "files": [ "*.js", diff --git a/packages/geom-arc/CHANGELOG.md b/packages/geom-arc/CHANGELOG.md index 06c1dce692..2588080748 100644 --- a/packages/geom-arc/CHANGELOG.md +++ b/packages/geom-arc/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.3.21](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-arc@0.3.20...@thi.ng/geom-arc@0.3.21) (2021-01-13) + +**Note:** Version bump only for package @thi.ng/geom-arc + + + + + ## [0.3.20](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-arc@0.3.19...@thi.ng/geom-arc@0.3.20) (2021-01-10) **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 0c22967212..9f012ea199 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.20", + "version": "0.3.21", "description": "2D circular / elliptic arc operations", "module": "./index.js", "main": "./lib/index.js", @@ -50,10 +50,10 @@ }, "dependencies": { "@thi.ng/checks": "^2.8.0", - "@thi.ng/geom-api": "^2.0.2", - "@thi.ng/geom-resample": "^0.2.53", + "@thi.ng/geom-api": "^2.0.3", + "@thi.ng/geom-resample": "^0.2.54", "@thi.ng/math": "^3.1.0", - "@thi.ng/vectors": "^4.8.5" + "@thi.ng/vectors": "^4.8.6" }, "files": [ "*.js", diff --git a/packages/geom-clip-line/CHANGELOG.md b/packages/geom-clip-line/CHANGELOG.md index e601abfb3b..33bd03907e 100644 --- a/packages/geom-clip-line/CHANGELOG.md +++ b/packages/geom-clip-line/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.17](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-clip-line@1.2.16...@thi.ng/geom-clip-line@1.2.17) (2021-01-13) + +**Note:** Version bump only for package @thi.ng/geom-clip-line + + + + + ## [1.2.16](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-clip-line@1.2.15...@thi.ng/geom-clip-line@1.2.16) (2021-01-10) **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 b5e9baa21a..e49af591e2 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.16", + "version": "1.2.17", "description": "2D line clipping (Liang-Barsky)", "module": "./index.js", "main": "./lib/index.js", @@ -50,8 +50,8 @@ }, "dependencies": { "@thi.ng/api": "^6.13.6", - "@thi.ng/geom-isec": "^0.7.5", - "@thi.ng/vectors": "^4.8.5" + "@thi.ng/geom-isec": "^0.7.6", + "@thi.ng/vectors": "^4.8.6" }, "files": [ "*.js", diff --git a/packages/geom-clip-poly/CHANGELOG.md b/packages/geom-clip-poly/CHANGELOG.md index 2d0b745924..152e24cd77 100644 --- a/packages/geom-clip-poly/CHANGELOG.md +++ b/packages/geom-clip-poly/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.0.42](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-clip-poly@1.0.41...@thi.ng/geom-clip-poly@1.0.42) (2021-01-13) + +**Note:** Version bump only for package @thi.ng/geom-clip-poly + + + + + ## [1.0.41](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-clip-poly@1.0.40...@thi.ng/geom-clip-poly@1.0.41) (2021-01-10) **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 5680560eba..6c7f23053d 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.41", + "version": "1.0.42", "description": "2D convex polygon clipping (Sutherland-Hodgeman)", "module": "./index.js", "main": "./lib/index.js", @@ -49,10 +49,10 @@ "typescript": "^4.1.3" }, "dependencies": { - "@thi.ng/geom-isec": "^0.7.5", - "@thi.ng/geom-poly-utils": "^0.3.2", + "@thi.ng/geom-isec": "^0.7.6", + "@thi.ng/geom-poly-utils": "^0.3.3", "@thi.ng/math": "^3.1.0", - "@thi.ng/vectors": "^4.8.5" + "@thi.ng/vectors": "^4.8.6" }, "files": [ "*.js", diff --git a/packages/geom-closest-point/CHANGELOG.md b/packages/geom-closest-point/CHANGELOG.md index 575263cd62..592e9c74f0 100644 --- a/packages/geom-closest-point/CHANGELOG.md +++ b/packages/geom-closest-point/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.5.8](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-closest-point@0.5.7...@thi.ng/geom-closest-point@0.5.8) (2021-01-13) + +**Note:** Version bump only for package @thi.ng/geom-closest-point + + + + + ## [0.5.7](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-closest-point@0.5.6...@thi.ng/geom-closest-point@0.5.7) (2021-01-10) **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 d1afcb132f..17090537a3 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.7", + "version": "0.5.8", "description": "2D / 3D closest point / proximity helpers", "module": "./index.js", "main": "./lib/index.js", @@ -51,7 +51,7 @@ "dependencies": { "@thi.ng/api": "^6.13.6", "@thi.ng/math": "^3.1.0", - "@thi.ng/vectors": "^4.8.5" + "@thi.ng/vectors": "^4.8.6" }, "files": [ "*.js", diff --git a/packages/geom-fuzz/CHANGELOG.md b/packages/geom-fuzz/CHANGELOG.md index 2f8ca2afc8..914d81a0c0 100644 --- a/packages/geom-fuzz/CHANGELOG.md +++ b/packages/geom-fuzz/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.1.30](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-fuzz@0.1.29...@thi.ng/geom-fuzz@0.1.30) (2021-01-13) + +**Note:** Version bump only for package @thi.ng/geom-fuzz + + + + + ## [0.1.29](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-fuzz@0.1.28...@thi.ng/geom-fuzz@0.1.29) (2021-01-10) **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 7a7c8969ff..f354ff9319 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.29", + "version": "0.1.30", "description": "Highly configurable, fuzzy line & polygon creation with presets and composable fill & stroke styles. Canvas & SVG support", "module": "./index.js", "main": "./lib/index.js", @@ -49,15 +49,15 @@ }, "dependencies": { "@thi.ng/api": "^6.13.6", - "@thi.ng/associative": "^5.0.14", - "@thi.ng/color": "^2.1.2", - "@thi.ng/geom": "^2.0.3", - "@thi.ng/geom-api": "^2.0.2", - "@thi.ng/geom-clip-line": "^1.2.16", - "@thi.ng/geom-resample": "^0.2.53", - "@thi.ng/grid-iterators": "^0.4.18", - "@thi.ng/transducers": "^7.5.5", - "@thi.ng/vectors": "^4.8.5" + "@thi.ng/associative": "^5.0.15", + "@thi.ng/color": "^2.1.3", + "@thi.ng/geom": "^2.0.4", + "@thi.ng/geom-api": "^2.0.3", + "@thi.ng/geom-clip-line": "^1.2.17", + "@thi.ng/geom-resample": "^0.2.54", + "@thi.ng/grid-iterators": "^0.4.19", + "@thi.ng/transducers": "^7.5.6", + "@thi.ng/vectors": "^4.8.6" }, "files": [ "*.js", diff --git a/packages/geom-hull/CHANGELOG.md b/packages/geom-hull/CHANGELOG.md index 74f4a52aa2..7d8f833138 100644 --- a/packages/geom-hull/CHANGELOG.md +++ b/packages/geom-hull/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.0.74](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-hull@0.0.73...@thi.ng/geom-hull@0.0.74) (2021-01-13) + +**Note:** Version bump only for package @thi.ng/geom-hull + + + + + ## [0.0.73](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-hull@0.0.72...@thi.ng/geom-hull@0.0.73) (2021-01-10) **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 9dec900935..c98dea2da4 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.73", + "version": "0.0.74", "description": "Fast 2D convex hull (Graham Scan)", "module": "./index.js", "main": "./lib/index.js", @@ -50,7 +50,7 @@ }, "dependencies": { "@thi.ng/math": "^3.1.0", - "@thi.ng/vectors": "^4.8.5" + "@thi.ng/vectors": "^4.8.6" }, "files": [ "*.js", diff --git a/packages/geom-io-obj/CHANGELOG.md b/packages/geom-io-obj/CHANGELOG.md index 7cab7b6c2f..4cfddaaa92 100644 --- a/packages/geom-io-obj/CHANGELOG.md +++ b/packages/geom-io-obj/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.1.32](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-io-obj@0.1.31...@thi.ng/geom-io-obj@0.1.32) (2021-01-13) + +**Note:** Version bump only for package @thi.ng/geom-io-obj + + + + + ## [0.1.31](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-io-obj@0.1.30...@thi.ng/geom-io-obj@0.1.31) (2021-01-10) **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 2182a0007b..37d101f170 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.31", + "version": "0.1.32", "description": "Wavefront OBJ parser (& exporter soon)", "module": "./index.js", "main": "./lib/index.js", @@ -50,7 +50,7 @@ }, "dependencies": { "@thi.ng/api": "^6.13.6", - "@thi.ng/vectors": "^4.8.5" + "@thi.ng/vectors": "^4.8.6" }, "files": [ "*.js", diff --git a/packages/geom-isec/CHANGELOG.md b/packages/geom-isec/CHANGELOG.md index 1c07dfd67c..aded371d59 100644 --- a/packages/geom-isec/CHANGELOG.md +++ b/packages/geom-isec/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.7.6](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-isec@0.7.5...@thi.ng/geom-isec@0.7.6) (2021-01-13) + +**Note:** Version bump only for package @thi.ng/geom-isec + + + + + ## [0.7.5](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-isec@0.7.4...@thi.ng/geom-isec@0.7.5) (2021-01-10) **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 a6c3882a78..c000848bce 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.5", + "version": "0.7.6", "description": "2D/3D shape intersection checks", "module": "./index.js", "main": "./lib/index.js", @@ -50,10 +50,10 @@ }, "dependencies": { "@thi.ng/api": "^6.13.6", - "@thi.ng/geom-api": "^2.0.2", - "@thi.ng/geom-closest-point": "^0.5.7", + "@thi.ng/geom-api": "^2.0.3", + "@thi.ng/geom-closest-point": "^0.5.8", "@thi.ng/math": "^3.1.0", - "@thi.ng/vectors": "^4.8.5" + "@thi.ng/vectors": "^4.8.6" }, "files": [ "*.js", diff --git a/packages/geom-isoline/CHANGELOG.md b/packages/geom-isoline/CHANGELOG.md index a1eaf47a0b..71973ee450 100644 --- a/packages/geom-isoline/CHANGELOG.md +++ b/packages/geom-isoline/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.1.72](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-isoline@0.1.71...@thi.ng/geom-isoline@0.1.72) (2021-01-13) + +**Note:** Version bump only for package @thi.ng/geom-isoline + + + + + ## [0.1.71](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-isoline@0.1.70...@thi.ng/geom-isoline@0.1.71) (2021-01-10) **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 532db64112..120db8f9c5 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.71", + "version": "0.1.72", "description": "Fast 2D contour line extraction / generation", "module": "./index.js", "main": "./lib/index.js", @@ -50,8 +50,8 @@ }, "dependencies": { "@thi.ng/api": "^6.13.6", - "@thi.ng/transducers": "^7.5.5", - "@thi.ng/vectors": "^4.8.5" + "@thi.ng/transducers": "^7.5.6", + "@thi.ng/vectors": "^4.8.6" }, "files": [ "*.js", diff --git a/packages/geom-poly-utils/CHANGELOG.md b/packages/geom-poly-utils/CHANGELOG.md index ea9a52f16d..d255fdfbc6 100644 --- a/packages/geom-poly-utils/CHANGELOG.md +++ b/packages/geom-poly-utils/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.3.3](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-poly-utils@0.3.2...@thi.ng/geom-poly-utils@0.3.3) (2021-01-13) + +**Note:** Version bump only for package @thi.ng/geom-poly-utils + + + + + ## [0.3.2](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-poly-utils@0.3.1...@thi.ng/geom-poly-utils@0.3.2) (2021-01-10) **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 291ca67e64..837632ea64 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.2", + "version": "0.3.3", "description": "2D polygon/polyline analysis & processing utilities", "module": "./index.js", "main": "./lib/index.js", @@ -51,9 +51,9 @@ "dependencies": { "@thi.ng/api": "^6.13.6", "@thi.ng/errors": "^1.2.26", - "@thi.ng/geom-api": "^2.0.2", + "@thi.ng/geom-api": "^2.0.3", "@thi.ng/math": "^3.1.0", - "@thi.ng/vectors": "^4.8.5" + "@thi.ng/vectors": "^4.8.6" }, "files": [ "*.js", diff --git a/packages/geom-resample/CHANGELOG.md b/packages/geom-resample/CHANGELOG.md index 060ffccd09..6b047fdf67 100644 --- a/packages/geom-resample/CHANGELOG.md +++ b/packages/geom-resample/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.2.54](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-resample@0.2.53...@thi.ng/geom-resample@0.2.54) (2021-01-13) + +**Note:** Version bump only for package @thi.ng/geom-resample + + + + + ## [0.2.53](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-resample@0.2.52...@thi.ng/geom-resample@0.2.53) (2021-01-10) **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 2b83ace81b..3c61bee81c 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.53", + "version": "0.2.54", "description": "Customizable nD polyline interpolation, re-sampling, splitting & nearest point computation", "module": "./index.js", "main": "./lib/index.js", @@ -50,10 +50,10 @@ }, "dependencies": { "@thi.ng/checks": "^2.8.0", - "@thi.ng/geom-api": "^2.0.2", - "@thi.ng/geom-closest-point": "^0.5.7", + "@thi.ng/geom-api": "^2.0.3", + "@thi.ng/geom-closest-point": "^0.5.8", "@thi.ng/math": "^3.1.0", - "@thi.ng/vectors": "^4.8.5" + "@thi.ng/vectors": "^4.8.6" }, "files": [ "*.js", diff --git a/packages/geom-splines/CHANGELOG.md b/packages/geom-splines/CHANGELOG.md index 54e671728c..7a46cfc2f4 100644 --- a/packages/geom-splines/CHANGELOG.md +++ b/packages/geom-splines/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.5.41](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-splines@0.5.40...@thi.ng/geom-splines@0.5.41) (2021-01-13) + +**Note:** Version bump only for package @thi.ng/geom-splines + + + + + ## [0.5.40](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-splines@0.5.39...@thi.ng/geom-splines@0.5.40) (2021-01-10) **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 7bfa13db66..3484a07a25 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.40", + "version": "0.5.41", "description": "nD cubic & quadratic curve analysis, conversion, interpolation, splitting", "module": "./index.js", "main": "./lib/index.js", @@ -51,11 +51,11 @@ "dependencies": { "@thi.ng/api": "^6.13.6", "@thi.ng/checks": "^2.8.0", - "@thi.ng/geom-api": "^2.0.2", - "@thi.ng/geom-arc": "^0.3.20", - "@thi.ng/geom-resample": "^0.2.53", + "@thi.ng/geom-api": "^2.0.3", + "@thi.ng/geom-arc": "^0.3.21", + "@thi.ng/geom-resample": "^0.2.54", "@thi.ng/math": "^3.1.0", - "@thi.ng/vectors": "^4.8.5" + "@thi.ng/vectors": "^4.8.6" }, "files": [ "*.js", diff --git a/packages/geom-subdiv-curve/CHANGELOG.md b/packages/geom-subdiv-curve/CHANGELOG.md index a32279554b..8e3304803b 100644 --- a/packages/geom-subdiv-curve/CHANGELOG.md +++ b/packages/geom-subdiv-curve/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.1.72](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-subdiv-curve@0.1.71...@thi.ng/geom-subdiv-curve@0.1.72) (2021-01-13) + +**Note:** Version bump only for package @thi.ng/geom-subdiv-curve + + + + + ## [0.1.71](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-subdiv-curve@0.1.70...@thi.ng/geom-subdiv-curve@0.1.71) (2021-01-10) **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 99c15c41bf..67d94744eb 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.71", + "version": "0.1.72", "description": "Freely customizable, iterative nD subdivision curves for open / closed geometries", "module": "./index.js", "main": "./lib/index.js", @@ -50,9 +50,9 @@ }, "dependencies": { "@thi.ng/api": "^6.13.6", - "@thi.ng/geom-api": "^2.0.2", - "@thi.ng/transducers": "^7.5.5", - "@thi.ng/vectors": "^4.8.5" + "@thi.ng/geom-api": "^2.0.3", + "@thi.ng/transducers": "^7.5.6", + "@thi.ng/vectors": "^4.8.6" }, "files": [ "*.js", diff --git a/packages/geom-tessellate/CHANGELOG.md b/packages/geom-tessellate/CHANGELOG.md index f470e046ef..e87f35265f 100644 --- a/packages/geom-tessellate/CHANGELOG.md +++ b/packages/geom-tessellate/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.2.55](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-tessellate@0.2.54...@thi.ng/geom-tessellate@0.2.55) (2021-01-13) + +**Note:** Version bump only for package @thi.ng/geom-tessellate + + + + + ## [0.2.54](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-tessellate@0.2.53...@thi.ng/geom-tessellate@0.2.54) (2021-01-10) **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 6295c11da0..8794355409 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.54", + "version": "0.2.55", "description": "2D/3D convex polygon tessellators", "module": "./index.js", "main": "./lib/index.js", @@ -50,11 +50,11 @@ }, "dependencies": { "@thi.ng/checks": "^2.8.0", - "@thi.ng/geom-api": "^2.0.2", - "@thi.ng/geom-isec": "^0.7.5", - "@thi.ng/geom-poly-utils": "^0.3.2", - "@thi.ng/transducers": "^7.5.5", - "@thi.ng/vectors": "^4.8.5" + "@thi.ng/geom-api": "^2.0.3", + "@thi.ng/geom-isec": "^0.7.6", + "@thi.ng/geom-poly-utils": "^0.3.3", + "@thi.ng/transducers": "^7.5.6", + "@thi.ng/vectors": "^4.8.6" }, "files": [ "*.js", diff --git a/packages/geom-voronoi/CHANGELOG.md b/packages/geom-voronoi/CHANGELOG.md index 5537e051de..cc9595a664 100644 --- a/packages/geom-voronoi/CHANGELOG.md +++ b/packages/geom-voronoi/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.2.17](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-voronoi@0.2.16...@thi.ng/geom-voronoi@0.2.17) (2021-01-13) + +**Note:** Version bump only for package @thi.ng/geom-voronoi + + + + + ## [0.2.16](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-voronoi@0.2.15...@thi.ng/geom-voronoi@0.2.16) (2021-01-10) **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 11d94a35a4..1619a45412 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.16", + "version": "0.2.17", "description": "Fast, incremental 2D Delaunay & Voronoi mesh implementation", "module": "./index.js", "main": "./lib/index.js", @@ -51,13 +51,13 @@ "dependencies": { "@thi.ng/api": "^6.13.6", "@thi.ng/checks": "^2.8.0", - "@thi.ng/geom-clip-line": "^1.2.16", - "@thi.ng/geom-clip-poly": "^1.0.41", - "@thi.ng/geom-isec": "^0.7.5", - "@thi.ng/geom-poly-utils": "^0.3.2", + "@thi.ng/geom-clip-line": "^1.2.17", + "@thi.ng/geom-clip-poly": "^1.0.42", + "@thi.ng/geom-isec": "^0.7.6", + "@thi.ng/geom-poly-utils": "^0.3.3", "@thi.ng/math": "^3.1.0", "@thi.ng/quad-edge": "^0.2.28", - "@thi.ng/vectors": "^4.8.5" + "@thi.ng/vectors": "^4.8.6" }, "files": [ "*.js", diff --git a/packages/geom/CHANGELOG.md b/packages/geom/CHANGELOG.md index 53de92597b..b9e329d6ba 100644 --- a/packages/geom/CHANGELOG.md +++ b/packages/geom/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [2.0.4](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom@2.0.3...@thi.ng/geom@2.0.4) (2021-01-13) + +**Note:** Version bump only for package @thi.ng/geom + + + + + ## [2.0.3](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom@2.0.2...@thi.ng/geom@2.0.3) (2021-01-10) **Note:** Version bump only for package @thi.ng/geom diff --git a/packages/geom/package.json b/packages/geom/package.json index 486b1062ae..2d39f58458 100644 --- a/packages/geom/package.json +++ b/packages/geom/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/geom", - "version": "2.0.3", + "version": "2.0.4", "description": "Functional, polymorphic API for 2D geometry types & SVG generation", "module": "./index.js", "main": "./lib/index.js", @@ -50,31 +50,31 @@ }, "dependencies": { "@thi.ng/api": "^6.13.6", - "@thi.ng/arrays": "^0.9.1", + "@thi.ng/arrays": "^0.9.2", "@thi.ng/checks": "^2.8.0", "@thi.ng/defmulti": "^1.3.4", "@thi.ng/equiv": "^1.0.35", "@thi.ng/errors": "^1.2.26", - "@thi.ng/geom-api": "^2.0.2", - "@thi.ng/geom-arc": "^0.3.20", - "@thi.ng/geom-clip-line": "^1.2.16", - "@thi.ng/geom-clip-poly": "^1.0.41", - "@thi.ng/geom-closest-point": "^0.5.7", - "@thi.ng/geom-hull": "^0.0.73", - "@thi.ng/geom-isec": "^0.7.5", - "@thi.ng/geom-poly-utils": "^0.3.2", - "@thi.ng/geom-resample": "^0.2.53", - "@thi.ng/geom-splines": "^0.5.40", - "@thi.ng/geom-subdiv-curve": "^0.1.71", - "@thi.ng/geom-tessellate": "^0.2.54", + "@thi.ng/geom-api": "^2.0.3", + "@thi.ng/geom-arc": "^0.3.21", + "@thi.ng/geom-clip-line": "^1.2.17", + "@thi.ng/geom-clip-poly": "^1.0.42", + "@thi.ng/geom-closest-point": "^0.5.8", + "@thi.ng/geom-hull": "^0.0.74", + "@thi.ng/geom-isec": "^0.7.6", + "@thi.ng/geom-poly-utils": "^0.3.3", + "@thi.ng/geom-resample": "^0.2.54", + "@thi.ng/geom-splines": "^0.5.41", + "@thi.ng/geom-subdiv-curve": "^0.1.72", + "@thi.ng/geom-tessellate": "^0.2.55", "@thi.ng/hiccup": "^3.6.7", - "@thi.ng/hiccup-svg": "^3.7.2", + "@thi.ng/hiccup-svg": "^3.7.3", "@thi.ng/math": "^3.1.0", - "@thi.ng/matrices": "^0.6.40", - "@thi.ng/random": "^2.1.5", - "@thi.ng/strings": "^1.13.0", - "@thi.ng/transducers": "^7.5.5", - "@thi.ng/vectors": "^4.8.5" + "@thi.ng/matrices": "^0.6.41", + "@thi.ng/random": "^2.2.0", + "@thi.ng/strings": "^1.14.0", + "@thi.ng/transducers": "^7.5.6", + "@thi.ng/vectors": "^4.8.6" }, "files": [ "*.js", diff --git a/packages/gp/CHANGELOG.md b/packages/gp/CHANGELOG.md index 21f80d8bf1..b8c754cfc6 100644 --- a/packages/gp/CHANGELOG.md +++ b/packages/gp/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.2.3](https://github.com/thi-ng/umbrella/compare/@thi.ng/gp@0.2.2...@thi.ng/gp@0.2.3) (2021-01-13) + +**Note:** Version bump only for package @thi.ng/gp + + + + + ## [0.2.2](https://github.com/thi-ng/umbrella/compare/@thi.ng/gp@0.2.1...@thi.ng/gp@0.2.2) (2021-01-10) **Note:** Version bump only for package @thi.ng/gp diff --git a/packages/gp/package.json b/packages/gp/package.json index e82d48b763..986b0d02c7 100644 --- a/packages/gp/package.json +++ b/packages/gp/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/gp", - "version": "0.2.2", + "version": "0.2.3", "description": "Genetic programming helpers & strategies (tree based & multi-expression programming)", "module": "./index.js", "main": "./lib/index.js", @@ -51,9 +51,9 @@ "dependencies": { "@thi.ng/api": "^6.13.6", "@thi.ng/math": "^3.1.0", - "@thi.ng/random": "^2.1.5", - "@thi.ng/transducers": "^7.5.5", - "@thi.ng/zipper": "^0.1.32" + "@thi.ng/random": "^2.2.0", + "@thi.ng/transducers": "^7.5.6", + "@thi.ng/zipper": "^0.1.33" }, "files": [ "*.js", diff --git a/packages/grid-iterators/CHANGELOG.md b/packages/grid-iterators/CHANGELOG.md index f5a70064d1..cee5c560fb 100644 --- a/packages/grid-iterators/CHANGELOG.md +++ b/packages/grid-iterators/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.4.19](https://github.com/thi-ng/umbrella/compare/@thi.ng/grid-iterators@0.4.18...@thi.ng/grid-iterators@0.4.19) (2021-01-13) + +**Note:** Version bump only for package @thi.ng/grid-iterators + + + + + ## [0.4.18](https://github.com/thi-ng/umbrella/compare/@thi.ng/grid-iterators@0.4.17...@thi.ng/grid-iterators@0.4.18) (2021-01-10) **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 471ee16fee..9cadb17b42 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.18", + "version": "0.4.19", "description": "2D grid iterators w/ multiple orderings", "module": "./index.js", "main": "./lib/index.js", @@ -50,11 +50,11 @@ "typescript": "^4.1.3" }, "dependencies": { - "@thi.ng/arrays": "^0.9.1", + "@thi.ng/arrays": "^0.9.2", "@thi.ng/binary": "^2.0.21", "@thi.ng/morton": "^2.0.31", - "@thi.ng/random": "^2.1.5", - "@thi.ng/transducers": "^7.5.5" + "@thi.ng/random": "^2.2.0", + "@thi.ng/transducers": "^7.5.6" }, "files": [ "*.js", diff --git a/packages/hdiff/CHANGELOG.md b/packages/hdiff/CHANGELOG.md index 602928fc70..bb40a455df 100644 --- a/packages/hdiff/CHANGELOG.md +++ b/packages/hdiff/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.1.24](https://github.com/thi-ng/umbrella/compare/@thi.ng/hdiff@0.1.23...@thi.ng/hdiff@0.1.24) (2021-01-13) + +**Note:** Version bump only for package @thi.ng/hdiff + + + + + ## [0.1.23](https://github.com/thi-ng/umbrella/compare/@thi.ng/hdiff@0.1.22...@thi.ng/hdiff@0.1.23) (2021-01-10) **Note:** Version bump only for package @thi.ng/hdiff diff --git a/packages/hdiff/package.json b/packages/hdiff/package.json index 5a1c4a16df..5fe9b7a3c8 100644 --- a/packages/hdiff/package.json +++ b/packages/hdiff/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/hdiff", - "version": "0.1.23", + "version": "0.1.24", "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", @@ -54,8 +54,8 @@ "@thi.ng/api": "^6.13.6", "@thi.ng/diff": "^4.0.1", "@thi.ng/hiccup": "^3.6.7", - "@thi.ng/hiccup-css": "^1.1.45", - "@thi.ng/strings": "^1.13.0" + "@thi.ng/hiccup-css": "^1.1.46", + "@thi.ng/strings": "^1.14.0" }, "files": [ "*.js", diff --git a/packages/hdom-canvas/CHANGELOG.md b/packages/hdom-canvas/CHANGELOG.md index c25b919822..b770a6d95d 100644 --- a/packages/hdom-canvas/CHANGELOG.md +++ b/packages/hdom-canvas/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [3.0.28](https://github.com/thi-ng/umbrella/compare/@thi.ng/hdom-canvas@3.0.27...@thi.ng/hdom-canvas@3.0.28) (2021-01-13) + +**Note:** Version bump only for package @thi.ng/hdom-canvas + + + + + ## [3.0.27](https://github.com/thi-ng/umbrella/compare/@thi.ng/hdom-canvas@3.0.26...@thi.ng/hdom-canvas@3.0.27) (2021-01-10) **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 0e7229bf18..0b171b3433 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.27", + "version": "3.0.28", "description": "@thi.ng/hdom component wrapper for declarative canvas scenegraphs", "module": "./index.js", "main": "./lib/index.js", @@ -52,8 +52,8 @@ "@thi.ng/api": "^6.13.6", "@thi.ng/checks": "^2.8.0", "@thi.ng/diff": "^4.0.1", - "@thi.ng/hdom": "^8.2.16", - "@thi.ng/hiccup-canvas": "^1.1.17" + "@thi.ng/hdom": "^8.2.17", + "@thi.ng/hiccup-canvas": "^1.1.18" }, "files": [ "*.js", diff --git a/packages/hdom-components/CHANGELOG.md b/packages/hdom-components/CHANGELOG.md index 9edbd60061..6b4592e13a 100644 --- a/packages/hdom-components/CHANGELOG.md +++ b/packages/hdom-components/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [4.0.21](https://github.com/thi-ng/umbrella/compare/@thi.ng/hdom-components@4.0.20...@thi.ng/hdom-components@4.0.21) (2021-01-13) + +**Note:** Version bump only for package @thi.ng/hdom-components + + + + + ## [4.0.20](https://github.com/thi-ng/umbrella/compare/@thi.ng/hdom-components@4.0.19...@thi.ng/hdom-components@4.0.20) (2021-01-10) **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 7e16994e01..768da1309f 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.20", + "version": "4.0.21", "description": "Raw, skinnable UI & SVG components for @thi.ng/hdom", "module": "./index.js", "main": "./lib/index.js", @@ -53,8 +53,8 @@ "@thi.ng/api": "^6.13.6", "@thi.ng/checks": "^2.8.0", "@thi.ng/math": "^3.1.0", - "@thi.ng/transducers": "^7.5.5", - "@thi.ng/transducers-stats": "^1.1.46" + "@thi.ng/transducers": "^7.5.6", + "@thi.ng/transducers-stats": "^1.1.47" }, "files": [ "*.js", diff --git a/packages/hdom-mock/CHANGELOG.md b/packages/hdom-mock/CHANGELOG.md index fca63a018a..0cdfcb8f6e 100644 --- a/packages/hdom-mock/CHANGELOG.md +++ b/packages/hdom-mock/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.1.49](https://github.com/thi-ng/umbrella/compare/@thi.ng/hdom-mock@1.1.48...@thi.ng/hdom-mock@1.1.49) (2021-01-13) + +**Note:** Version bump only for package @thi.ng/hdom-mock + + + + + ## [1.1.48](https://github.com/thi-ng/umbrella/compare/@thi.ng/hdom-mock@1.1.47...@thi.ng/hdom-mock@1.1.48) (2021-01-10) **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 092295141d..e2a366c086 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.48", + "version": "1.1.49", "description": "Mock base implementation for @thi.ng/hdom API", "module": "./index.js", "main": "./lib/index.js", @@ -51,7 +51,7 @@ "dependencies": { "@thi.ng/api": "^6.13.6", "@thi.ng/checks": "^2.8.0", - "@thi.ng/hdom": "^8.2.16" + "@thi.ng/hdom": "^8.2.17" }, "files": [ "*.js", diff --git a/packages/hdom/CHANGELOG.md b/packages/hdom/CHANGELOG.md index 94f9120584..634e1531a9 100644 --- a/packages/hdom/CHANGELOG.md +++ b/packages/hdom/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [8.2.17](https://github.com/thi-ng/umbrella/compare/@thi.ng/hdom@8.2.16...@thi.ng/hdom@8.2.17) (2021-01-13) + +**Note:** Version bump only for package @thi.ng/hdom + + + + + ## [8.2.16](https://github.com/thi-ng/umbrella/compare/@thi.ng/hdom@8.2.15...@thi.ng/hdom@8.2.16) (2021-01-10) **Note:** Version bump only for package @thi.ng/hdom diff --git a/packages/hdom/package.json b/packages/hdom/package.json index bca94e5842..379ef0a7d1 100644 --- a/packages/hdom/package.json +++ b/packages/hdom/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/hdom", - "version": "8.2.16", + "version": "8.2.17", "description": "Lightweight vanilla ES6 UI component trees with customizable branch-local behaviors", "module": "./index.js", "main": "./lib/index.js", @@ -56,7 +56,7 @@ "@thi.ng/equiv": "^1.0.35", "@thi.ng/errors": "^1.2.26", "@thi.ng/hiccup": "^3.6.7", - "@thi.ng/prefixes": "^0.1.10" + "@thi.ng/prefixes": "^0.1.11" }, "files": [ "*.js", diff --git a/packages/hiccup-canvas/CHANGELOG.md b/packages/hiccup-canvas/CHANGELOG.md index 9a4dec5d84..39bdb8b2bd 100644 --- a/packages/hiccup-canvas/CHANGELOG.md +++ b/packages/hiccup-canvas/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.1.18](https://github.com/thi-ng/umbrella/compare/@thi.ng/hiccup-canvas@1.1.17...@thi.ng/hiccup-canvas@1.1.18) (2021-01-13) + +**Note:** Version bump only for package @thi.ng/hiccup-canvas + + + + + ## [1.1.17](https://github.com/thi-ng/umbrella/compare/@thi.ng/hiccup-canvas@1.1.16...@thi.ng/hiccup-canvas@1.1.17) (2021-01-10) **Note:** Version bump only for package @thi.ng/hiccup-canvas diff --git a/packages/hiccup-canvas/package.json b/packages/hiccup-canvas/package.json index c377aa8778..5083074cc8 100644 --- a/packages/hiccup-canvas/package.json +++ b/packages/hiccup-canvas/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/hiccup-canvas", - "version": "1.1.17", + "version": "1.1.18", "description": "Hiccup shape tree renderer for vanilla Canvas 2D contexts", "module": "./index.js", "main": "./lib/index.js", @@ -50,9 +50,9 @@ "dependencies": { "@thi.ng/api": "^6.13.6", "@thi.ng/checks": "^2.8.0", - "@thi.ng/color": "^2.1.2", + "@thi.ng/color": "^2.1.3", "@thi.ng/math": "^3.1.0", - "@thi.ng/vectors": "^4.8.5" + "@thi.ng/vectors": "^4.8.6" }, "files": [ "*.js", diff --git a/packages/hiccup-css/CHANGELOG.md b/packages/hiccup-css/CHANGELOG.md index b5a0580fbc..82a35c50e9 100644 --- a/packages/hiccup-css/CHANGELOG.md +++ b/packages/hiccup-css/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.1.46](https://github.com/thi-ng/umbrella/compare/@thi.ng/hiccup-css@1.1.45...@thi.ng/hiccup-css@1.1.46) (2021-01-13) + +**Note:** Version bump only for package @thi.ng/hiccup-css + + + + + ## [1.1.45](https://github.com/thi-ng/umbrella/compare/@thi.ng/hiccup-css@1.1.44...@thi.ng/hiccup-css@1.1.45) (2021-01-10) **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 a6b919c356..8c9f74fad6 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.45", + "version": "1.1.46", "description": "CSS from nested JS data structures", "module": "./index.js", "main": "./lib/index.js", @@ -52,7 +52,7 @@ "@thi.ng/api": "^6.13.6", "@thi.ng/checks": "^2.8.0", "@thi.ng/errors": "^1.2.26", - "@thi.ng/transducers": "^7.5.5" + "@thi.ng/transducers": "^7.5.6" }, "files": [ "*.js", diff --git a/packages/hiccup-markdown/CHANGELOG.md b/packages/hiccup-markdown/CHANGELOG.md index 8237136b9a..f4d9fba5a3 100644 --- a/packages/hiccup-markdown/CHANGELOG.md +++ b/packages/hiccup-markdown/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.43](https://github.com/thi-ng/umbrella/compare/@thi.ng/hiccup-markdown@1.2.42...@thi.ng/hiccup-markdown@1.2.43) (2021-01-13) + +**Note:** Version bump only for package @thi.ng/hiccup-markdown + + + + + ## [1.2.42](https://github.com/thi-ng/umbrella/compare/@thi.ng/hiccup-markdown@1.2.41...@thi.ng/hiccup-markdown@1.2.42) (2021-01-10) **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 b20733dd41..8e2f095f37 100644 --- a/packages/hiccup-markdown/package.json +++ b/packages/hiccup-markdown/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/hiccup-markdown", - "version": "1.2.42", + "version": "1.2.43", "description": "Markdown parser & serializer from/to Hiccup format", "module": "./index.js", "main": "./lib/index.js", @@ -50,15 +50,15 @@ }, "dependencies": { "@thi.ng/api": "^6.13.6", - "@thi.ng/arrays": "^0.9.1", + "@thi.ng/arrays": "^0.9.2", "@thi.ng/checks": "^2.8.0", "@thi.ng/defmulti": "^1.3.4", "@thi.ng/errors": "^1.2.26", - "@thi.ng/fsm": "^2.4.33", + "@thi.ng/fsm": "^2.4.34", "@thi.ng/hiccup": "^3.6.7", - "@thi.ng/strings": "^1.13.0", - "@thi.ng/text-canvas": "^0.4.1", - "@thi.ng/transducers": "^7.5.5" + "@thi.ng/strings": "^1.14.0", + "@thi.ng/text-canvas": "^0.4.2", + "@thi.ng/transducers": "^7.5.6" }, "files": [ "*.js", diff --git a/packages/hiccup-svg/CHANGELOG.md b/packages/hiccup-svg/CHANGELOG.md index 2f84be17fb..700157a111 100644 --- a/packages/hiccup-svg/CHANGELOG.md +++ b/packages/hiccup-svg/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [3.7.3](https://github.com/thi-ng/umbrella/compare/@thi.ng/hiccup-svg@3.7.2...@thi.ng/hiccup-svg@3.7.3) (2021-01-13) + +**Note:** Version bump only for package @thi.ng/hiccup-svg + + + + + ## [3.7.2](https://github.com/thi-ng/umbrella/compare/@thi.ng/hiccup-svg@3.7.1...@thi.ng/hiccup-svg@3.7.2) (2021-01-10) **Note:** Version bump only for package @thi.ng/hiccup-svg diff --git a/packages/hiccup-svg/package.json b/packages/hiccup-svg/package.json index 352360e4f8..9bdf5a9014 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.2", + "version": "3.7.3", "description": "SVG element functions for @thi.ng/hiccup & @thi.ng/hdom", "module": "./index.js", "main": "./lib/index.js", @@ -50,8 +50,8 @@ }, "dependencies": { "@thi.ng/checks": "^2.8.0", - "@thi.ng/color": "^2.1.2", - "@thi.ng/prefixes": "^0.1.10" + "@thi.ng/color": "^2.1.3", + "@thi.ng/prefixes": "^0.1.11" }, "files": [ "*.js", diff --git a/packages/iges/CHANGELOG.md b/packages/iges/CHANGELOG.md index 22ac4a6d86..4deae0323d 100644 --- a/packages/iges/CHANGELOG.md +++ b/packages/iges/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.1.57](https://github.com/thi-ng/umbrella/compare/@thi.ng/iges@1.1.56...@thi.ng/iges@1.1.57) (2021-01-13) + +**Note:** Version bump only for package @thi.ng/iges + + + + + ## [1.1.56](https://github.com/thi-ng/umbrella/compare/@thi.ng/iges@1.1.55...@thi.ng/iges@1.1.56) (2021-01-10) **Note:** Version bump only for package @thi.ng/iges diff --git a/packages/iges/package.json b/packages/iges/package.json index 425eebbdf1..1d603f55c5 100644 --- a/packages/iges/package.json +++ b/packages/iges/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/iges", - "version": "1.1.56", + "version": "1.1.57", "description": "IGES 5.3 serializer for (currently only) polygonal geometry, both open & closed", "module": "./index.js", "main": "./lib/index.js", @@ -52,9 +52,9 @@ "@thi.ng/api": "^6.13.6", "@thi.ng/checks": "^2.8.0", "@thi.ng/defmulti": "^1.3.4", - "@thi.ng/strings": "^1.13.0", - "@thi.ng/transducers": "^7.5.5", - "@thi.ng/vectors": "^4.8.5" + "@thi.ng/strings": "^1.14.0", + "@thi.ng/transducers": "^7.5.6", + "@thi.ng/vectors": "^4.8.6" }, "files": [ "*.js", diff --git a/packages/imgui/CHANGELOG.md b/packages/imgui/CHANGELOG.md index 11b0aa1c1c..5ca54eca61 100644 --- a/packages/imgui/CHANGELOG.md +++ b/packages/imgui/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.2.50](https://github.com/thi-ng/umbrella/compare/@thi.ng/imgui@0.2.49...@thi.ng/imgui@0.2.50) (2021-01-13) + +**Note:** Version bump only for package @thi.ng/imgui + + + + + ## [0.2.49](https://github.com/thi-ng/umbrella/compare/@thi.ng/imgui@0.2.48...@thi.ng/imgui@0.2.49) (2021-01-10) **Note:** Version bump only for package @thi.ng/imgui diff --git a/packages/imgui/package.json b/packages/imgui/package.json index fa9123e974..3d44d6e200 100644 --- a/packages/imgui/package.json +++ b/packages/imgui/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/imgui", - "version": "0.2.49", + "version": "0.2.50", "description": "Immediate mode GUI with flexible state handling & data only shape output", "module": "./index.js", "main": "./lib/index.js", @@ -51,14 +51,14 @@ "dependencies": { "@thi.ng/api": "^6.13.6", "@thi.ng/checks": "^2.8.0", - "@thi.ng/geom": "^2.0.3", - "@thi.ng/geom-api": "^2.0.2", - "@thi.ng/geom-isec": "^0.7.5", - "@thi.ng/geom-tessellate": "^0.2.54", + "@thi.ng/geom": "^2.0.4", + "@thi.ng/geom-api": "^2.0.3", + "@thi.ng/geom-isec": "^0.7.6", + "@thi.ng/geom-tessellate": "^0.2.55", "@thi.ng/layout": "^0.1.28", "@thi.ng/math": "^3.1.0", - "@thi.ng/transducers": "^7.5.5", - "@thi.ng/vectors": "^4.8.5" + "@thi.ng/transducers": "^7.5.6", + "@thi.ng/vectors": "^4.8.6" }, "files": [ "*.js", diff --git a/packages/iterators/CHANGELOG.md b/packages/iterators/CHANGELOG.md index dde9f7e40e..d0208a4ff4 100644 --- a/packages/iterators/CHANGELOG.md +++ b/packages/iterators/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [5.1.47](https://github.com/thi-ng/umbrella/compare/@thi.ng/iterators@5.1.46...@thi.ng/iterators@5.1.47) (2021-01-13) + +**Note:** Version bump only for package @thi.ng/iterators + + + + + ## [5.1.46](https://github.com/thi-ng/umbrella/compare/@thi.ng/iterators@5.1.45...@thi.ng/iterators@5.1.46) (2021-01-10) **Note:** Version bump only for package @thi.ng/iterators diff --git a/packages/iterators/package.json b/packages/iterators/package.json index 24cf1497d5..20bbc3a84b 100644 --- a/packages/iterators/package.json +++ b/packages/iterators/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/iterators", - "version": "5.1.46", + "version": "5.1.47", "description": "Clojure inspired, composable ES6 iterators & generators", "module": "./index.js", "main": "./lib/index.js", @@ -50,7 +50,7 @@ }, "dependencies": { "@thi.ng/api": "^6.13.6", - "@thi.ng/dcons": "^2.3.6", + "@thi.ng/dcons": "^2.3.7", "@thi.ng/errors": "^1.2.26" }, "files": [ diff --git a/packages/ksuid/CHANGELOG.md b/packages/ksuid/CHANGELOG.md new file mode 100644 index 0000000000..57e28f2e2c --- /dev/null +++ b/packages/ksuid/CHANGELOG.md @@ -0,0 +1,16 @@ +# 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.0 (2021-01-13) + + +### Features + +* **ksuid:** import as new pkg ([67a2e61](https://github.com/thi-ng/umbrella/commit/67a2e611a52ecd8870b43848e95d457f63185428)) + + +### Performance Improvements + +* **ksuid:** add benchmarks ([aace41c](https://github.com/thi-ng/umbrella/commit/aace41ce8ec0864d38a27d9b0461b705e9e122dc)) diff --git a/packages/ksuid/package.json b/packages/ksuid/package.json index e996dbbf22..8d879c0a1c 100644 --- a/packages/ksuid/package.json +++ b/packages/ksuid/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/ksuid", - "version": "0.0.1", + "version": "0.1.0", "description": "Configurable K-sortable unique identifiers, binary & base-N encoded", "module": "./index.js", "main": "./lib/index.js", @@ -51,9 +51,9 @@ }, "dependencies": { "@thi.ng/api": "^6.13.6", - "@thi.ng/base-n": "^0.0.1", - "@thi.ng/random": "^2.1.5", - "@thi.ng/strings": "^1.13.0" + "@thi.ng/base-n": "^0.1.0", + "@thi.ng/random": "^2.2.0", + "@thi.ng/strings": "^1.14.0" }, "files": [ "*.js", diff --git a/packages/leb128/CHANGELOG.md b/packages/leb128/CHANGELOG.md index 151753e8af..27c4ba9c69 100644 --- a/packages/leb128/CHANGELOG.md +++ b/packages/leb128/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.0.41](https://github.com/thi-ng/umbrella/compare/@thi.ng/leb128@1.0.40...@thi.ng/leb128@1.0.41) (2021-01-13) + +**Note:** Version bump only for package @thi.ng/leb128 + + + + + ## [1.0.40](https://github.com/thi-ng/umbrella/compare/@thi.ng/leb128@1.0.39...@thi.ng/leb128@1.0.40) (2021-01-10) **Note:** Version bump only for package @thi.ng/leb128 diff --git a/packages/leb128/package.json b/packages/leb128/package.json index 9faf577b2a..32a616aac6 100644 --- a/packages/leb128/package.json +++ b/packages/leb128/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/leb128", - "version": "1.0.40", + "version": "1.0.41", "description": "WASM based LEB128 encoder / decoder (signed & unsigned)", "module": "./index.js", "main": "./lib/index.js", @@ -52,7 +52,7 @@ "dependencies": { "@thi.ng/checks": "^2.8.0", "@thi.ng/errors": "^1.2.26", - "@thi.ng/transducers-binary": "^0.6.2" + "@thi.ng/transducers-binary": "^0.6.3" }, "files": [ "*.js", diff --git a/packages/lsys/CHANGELOG.md b/packages/lsys/CHANGELOG.md index e67a74076e..fe6f78f3c8 100644 --- a/packages/lsys/CHANGELOG.md +++ b/packages/lsys/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.2.69](https://github.com/thi-ng/umbrella/compare/@thi.ng/lsys@0.2.68...@thi.ng/lsys@0.2.69) (2021-01-13) + +**Note:** Version bump only for package @thi.ng/lsys + + + + + ## [0.2.68](https://github.com/thi-ng/umbrella/compare/@thi.ng/lsys@0.2.67...@thi.ng/lsys@0.2.68) (2021-01-10) **Note:** Version bump only for package @thi.ng/lsys diff --git a/packages/lsys/package.json b/packages/lsys/package.json index 0ae30f5b5a..0b09eb5cd8 100644 --- a/packages/lsys/package.json +++ b/packages/lsys/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/lsys", - "version": "0.2.68", + "version": "0.2.69", "description": "Functional, extensible L-System architecture w/ support for probabilistic rules", "module": "./index.js", "main": "./lib/index.js", @@ -53,9 +53,9 @@ "@thi.ng/compose": "^1.4.23", "@thi.ng/errors": "^1.2.26", "@thi.ng/math": "^3.1.0", - "@thi.ng/random": "^2.1.5", - "@thi.ng/transducers": "^7.5.5", - "@thi.ng/vectors": "^4.8.5" + "@thi.ng/random": "^2.2.0", + "@thi.ng/transducers": "^7.5.6", + "@thi.ng/vectors": "^4.8.6" }, "files": [ "*.js", diff --git a/packages/matrices/CHANGELOG.md b/packages/matrices/CHANGELOG.md index f34e0004d3..02455725e0 100644 --- a/packages/matrices/CHANGELOG.md +++ b/packages/matrices/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.6.41](https://github.com/thi-ng/umbrella/compare/@thi.ng/matrices@0.6.40...@thi.ng/matrices@0.6.41) (2021-01-13) + +**Note:** Version bump only for package @thi.ng/matrices + + + + + ## [0.6.40](https://github.com/thi-ng/umbrella/compare/@thi.ng/matrices@0.6.39...@thi.ng/matrices@0.6.40) (2021-01-10) **Note:** Version bump only for package @thi.ng/matrices diff --git a/packages/matrices/package.json b/packages/matrices/package.json index dafcf41954..de210d73fa 100644 --- a/packages/matrices/package.json +++ b/packages/matrices/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/matrices", - "version": "0.6.40", + "version": "0.6.41", "description": "Matrix & quaternion operations for 2D/3D geometry processing", "module": "./index.js", "main": "./lib/index.js", @@ -52,7 +52,7 @@ "@thi.ng/api": "^6.13.6", "@thi.ng/checks": "^2.8.0", "@thi.ng/math": "^3.1.0", - "@thi.ng/vectors": "^4.8.5" + "@thi.ng/vectors": "^4.8.6" }, "files": [ "*.js", diff --git a/packages/parse/CHANGELOG.md b/packages/parse/CHANGELOG.md index 429b78a634..f5d07f7666 100644 --- a/packages/parse/CHANGELOG.md +++ b/packages/parse/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.9.12](https://github.com/thi-ng/umbrella/compare/@thi.ng/parse@0.9.11...@thi.ng/parse@0.9.12) (2021-01-13) + +**Note:** Version bump only for package @thi.ng/parse + + + + + ## [0.9.11](https://github.com/thi-ng/umbrella/compare/@thi.ng/parse@0.9.10...@thi.ng/parse@0.9.11) (2021-01-10) **Note:** Version bump only for package @thi.ng/parse diff --git a/packages/parse/package.json b/packages/parse/package.json index cde44d0281..95e480806c 100644 --- a/packages/parse/package.json +++ b/packages/parse/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/parse", - "version": "0.9.11", + "version": "0.9.12", "description": "Purely functional parser combinators & AST generation for generic inputs", "module": "./index.js", "main": "./lib/index.js", @@ -53,7 +53,7 @@ "@thi.ng/checks": "^2.8.0", "@thi.ng/defmulti": "^1.3.4", "@thi.ng/errors": "^1.2.26", - "@thi.ng/strings": "^1.13.0" + "@thi.ng/strings": "^1.14.0" }, "files": [ "*.js", diff --git a/packages/poisson/CHANGELOG.md b/packages/poisson/CHANGELOG.md index b9bd6ef172..c1fdf5341d 100644 --- a/packages/poisson/CHANGELOG.md +++ b/packages/poisson/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.1.25](https://github.com/thi-ng/umbrella/compare/@thi.ng/poisson@1.1.24...@thi.ng/poisson@1.1.25) (2021-01-13) + +**Note:** Version bump only for package @thi.ng/poisson + + + + + ## [1.1.24](https://github.com/thi-ng/umbrella/compare/@thi.ng/poisson@1.1.23...@thi.ng/poisson@1.1.24) (2021-01-10) **Note:** Version bump only for package @thi.ng/poisson diff --git a/packages/poisson/package.json b/packages/poisson/package.json index c80b9b73d8..84bef5762b 100644 --- a/packages/poisson/package.json +++ b/packages/poisson/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/poisson", - "version": "1.1.24", + "version": "1.1.25", "description": "nD Stratified grid and Poisson-disc sampling w/ support for spatial density functions and custom PRNGs", "module": "./index.js", "main": "./lib/index.js", @@ -51,10 +51,10 @@ "dependencies": { "@thi.ng/api": "^6.13.6", "@thi.ng/checks": "^2.8.0", - "@thi.ng/geom-api": "^2.0.2", - "@thi.ng/random": "^2.1.5", - "@thi.ng/transducers": "^7.5.5", - "@thi.ng/vectors": "^4.8.5" + "@thi.ng/geom-api": "^2.0.3", + "@thi.ng/random": "^2.2.0", + "@thi.ng/transducers": "^7.5.6", + "@thi.ng/vectors": "^4.8.6" }, "files": [ "*.js", diff --git a/packages/prefixes/CHANGELOG.md b/packages/prefixes/CHANGELOG.md index bdacce802f..2540d54a8d 100644 --- a/packages/prefixes/CHANGELOG.md +++ b/packages/prefixes/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.1.11](https://github.com/thi-ng/umbrella/compare/@thi.ng/prefixes@0.1.10...@thi.ng/prefixes@0.1.11) (2021-01-13) + +**Note:** Version bump only for package @thi.ng/prefixes + + + + + ## [0.1.10](https://github.com/thi-ng/umbrella/compare/@thi.ng/prefixes@0.1.9...@thi.ng/prefixes@0.1.10) (2021-01-02) **Note:** Version bump only for package @thi.ng/prefixes diff --git a/packages/prefixes/package.json b/packages/prefixes/package.json index 5802a88168..285aea520b 100644 --- a/packages/prefixes/package.json +++ b/packages/prefixes/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/prefixes", - "version": "0.1.10", + "version": "0.1.11", "description": "50+ Linked Data vocabulary prefixes and their namespace URLs", "module": "./index.js", "main": "./lib/index.js", diff --git a/packages/ramp/CHANGELOG.md b/packages/ramp/CHANGELOG.md index 9fd4c82233..8b28aa4b14 100644 --- a/packages/ramp/CHANGELOG.md +++ b/packages/ramp/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.1.43](https://github.com/thi-ng/umbrella/compare/@thi.ng/ramp@0.1.42...@thi.ng/ramp@0.1.43) (2021-01-13) + +**Note:** Version bump only for package @thi.ng/ramp + + + + + ## [0.1.42](https://github.com/thi-ng/umbrella/compare/@thi.ng/ramp@0.1.41...@thi.ng/ramp@0.1.42) (2021-01-10) **Note:** Version bump only for package @thi.ng/ramp diff --git a/packages/ramp/package.json b/packages/ramp/package.json index 428c3db0a9..a445b00ee7 100644 --- a/packages/ramp/package.json +++ b/packages/ramp/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/ramp", - "version": "0.1.42", + "version": "0.1.43", "description": "Parametric interpolated 1D lookup tables for remapping values", "module": "./index.js", "main": "./lib/index.js", @@ -49,11 +49,11 @@ "typescript": "^4.1.3" }, "dependencies": { - "@thi.ng/arrays": "^0.9.1", + "@thi.ng/arrays": "^0.9.2", "@thi.ng/compare": "^1.3.22", "@thi.ng/math": "^3.1.0", - "@thi.ng/transducers": "^7.5.5", - "@thi.ng/vectors": "^4.8.5" + "@thi.ng/transducers": "^7.5.6", + "@thi.ng/vectors": "^4.8.6" }, "files": [ "*.js", diff --git a/packages/random/CHANGELOG.md b/packages/random/CHANGELOG.md index 5dd77c24c4..2ab4f3e6e1 100644 --- a/packages/random/CHANGELOG.md +++ b/packages/random/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. +# [2.2.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/random@2.1.5...@thi.ng/random@2.2.0) (2021-01-13) + + +### Bug Fixes + +* **random:** add opt start index arg for uuid() ([268ec3f](https://github.com/thi-ng/umbrella/commit/268ec3f47470184068fd66b5cc147d8c2e0e0ccb)) + + +### Features + +* **random:** add CRYPTO IRandom impl ([94e69c1](https://github.com/thi-ng/umbrella/commit/94e69c1021ec67c63be78e0467bfc82be6cabc00)) +* **random:** add opt start/end for randomBytes() ([4d095da](https://github.com/thi-ng/umbrella/commit/4d095da557b1f3ee9ce46778aeba25f0c6aa94f9)) + + +### Performance Improvements + +* **random:** minor update weightedRandom() ([258fd7b](https://github.com/thi-ng/umbrella/commit/258fd7b25930c41025b7337b44c36e1f00924b47)) + + + + + ## [2.1.5](https://github.com/thi-ng/umbrella/compare/@thi.ng/random@2.1.4...@thi.ng/random@2.1.5) (2021-01-10) **Note:** Version bump only for package @thi.ng/random diff --git a/packages/random/package.json b/packages/random/package.json index bcb0da1beb..4989ec86c1 100644 --- a/packages/random/package.json +++ b/packages/random/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/random", - "version": "2.1.5", + "version": "2.2.0", "description": "Pseudo-random number generators w/ unified API, distributions, weighted choices, ID generation", "module": "./index.js", "main": "./lib/index.js", diff --git a/packages/range-coder/CHANGELOG.md b/packages/range-coder/CHANGELOG.md index 70710f9df3..10a01432cb 100644 --- a/packages/range-coder/CHANGELOG.md +++ b/packages/range-coder/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.0.66](https://github.com/thi-ng/umbrella/compare/@thi.ng/range-coder@1.0.65...@thi.ng/range-coder@1.0.66) (2021-01-13) + +**Note:** Version bump only for package @thi.ng/range-coder + + + + + ## [1.0.65](https://github.com/thi-ng/umbrella/compare/@thi.ng/range-coder@1.0.64...@thi.ng/range-coder@1.0.65) (2021-01-10) **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 4deb896072..a4e84d4b37 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.65", + "version": "1.0.66", "description": "Binary data range encoder / decoder", "module": "./index.js", "main": "./lib/index.js", @@ -40,7 +40,7 @@ "devDependencies": { "@istanbuljs/nyc-config-typescript": "^1.0.1", "@microsoft/api-extractor": "^7.12.1", - "@thi.ng/transducers": "^7.5.5", + "@thi.ng/transducers": "^7.5.6", "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", "mocha": "^8.2.1", diff --git a/packages/rdom-canvas/CHANGELOG.md b/packages/rdom-canvas/CHANGELOG.md index 8cb8af5061..adfb14f9bc 100644 --- a/packages/rdom-canvas/CHANGELOG.md +++ b/packages/rdom-canvas/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.1.26](https://github.com/thi-ng/umbrella/compare/@thi.ng/rdom-canvas@0.1.25...@thi.ng/rdom-canvas@0.1.26) (2021-01-13) + +**Note:** Version bump only for package @thi.ng/rdom-canvas + + + + + ## [0.1.25](https://github.com/thi-ng/umbrella/compare/@thi.ng/rdom-canvas@0.1.24...@thi.ng/rdom-canvas@0.1.25) (2021-01-10) **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 4fa25cae65..12dfe99ce9 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.25", + "version": "0.1.26", "description": "@thi.ng/rdom component wrapper for @thi.ng/hiccup-canvas and declarative canvas drawing", "module": "./index.js", "main": "./lib/index.js", @@ -51,10 +51,10 @@ "@thi.ng/adapt-dpi": "^1.0.13", "@thi.ng/api": "^6.13.6", "@thi.ng/checks": "^2.8.0", - "@thi.ng/hiccup-canvas": "^1.1.17", - "@thi.ng/rdom": "^0.3.4", - "@thi.ng/rstream": "^5.0.13", - "@thi.ng/transducers": "^7.5.5" + "@thi.ng/hiccup-canvas": "^1.1.18", + "@thi.ng/rdom": "^0.3.5", + "@thi.ng/rstream": "^5.0.14", + "@thi.ng/transducers": "^7.5.6" }, "files": [ "*.js", diff --git a/packages/rdom-components/CHANGELOG.md b/packages/rdom-components/CHANGELOG.md index d14987ce5f..2f27609154 100644 --- a/packages/rdom-components/CHANGELOG.md +++ b/packages/rdom-components/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.1.23](https://github.com/thi-ng/umbrella/compare/@thi.ng/rdom-components@0.1.22...@thi.ng/rdom-components@0.1.23) (2021-01-13) + +**Note:** Version bump only for package @thi.ng/rdom-components + + + + + ## [0.1.22](https://github.com/thi-ng/umbrella/compare/@thi.ng/rdom-components@0.1.21...@thi.ng/rdom-components@0.1.22) (2021-01-10) **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 042e79ec34..96a2f2efe7 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.22", + "version": "0.1.23", "description": "Collection of unstyled, customizable components for @thi.ng/rdom", "module": "./index.js", "main": "./lib/index.js", @@ -49,12 +49,12 @@ }, "dependencies": { "@thi.ng/api": "^6.13.6", - "@thi.ng/associative": "^5.0.14", + "@thi.ng/associative": "^5.0.15", "@thi.ng/hiccup-html": "^0.3.11", - "@thi.ng/rdom": "^0.3.4", - "@thi.ng/rstream": "^5.0.13", - "@thi.ng/strings": "^1.13.0", - "@thi.ng/transducers": "^7.5.5" + "@thi.ng/rdom": "^0.3.5", + "@thi.ng/rstream": "^5.0.14", + "@thi.ng/strings": "^1.14.0", + "@thi.ng/transducers": "^7.5.6" }, "files": [ "*.js", diff --git a/packages/rdom/CHANGELOG.md b/packages/rdom/CHANGELOG.md index f256cb07c1..9f6218103e 100644 --- a/packages/rdom/CHANGELOG.md +++ b/packages/rdom/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.3.5](https://github.com/thi-ng/umbrella/compare/@thi.ng/rdom@0.3.4...@thi.ng/rdom@0.3.5) (2021-01-13) + +**Note:** Version bump only for package @thi.ng/rdom + + + + + ## [0.3.4](https://github.com/thi-ng/umbrella/compare/@thi.ng/rdom@0.3.3...@thi.ng/rdom@0.3.4) (2021-01-10) **Note:** Version bump only for package @thi.ng/rdom diff --git a/packages/rdom/package.json b/packages/rdom/package.json index d2190bef5f..ee38205622 100644 --- a/packages/rdom/package.json +++ b/packages/rdom/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/rdom", - "version": "0.3.4", + "version": "0.3.5", "description": "Lightweight, reactive, VDOM-less UI/DOM components with async lifecycle and @thi.ng/hiccup compatible", "module": "./index.js", "main": "./lib/index.js", @@ -54,9 +54,9 @@ "@thi.ng/errors": "^1.2.26", "@thi.ng/hiccup": "^3.6.7", "@thi.ng/paths": "^4.1.13", - "@thi.ng/prefixes": "^0.1.10", - "@thi.ng/rstream": "^5.0.13", - "@thi.ng/strings": "^1.13.0" + "@thi.ng/prefixes": "^0.1.11", + "@thi.ng/rstream": "^5.0.14", + "@thi.ng/strings": "^1.14.0" }, "files": [ "*.js", diff --git a/packages/rstream-csp/CHANGELOG.md b/packages/rstream-csp/CHANGELOG.md index 9282cd9854..42d91bf0aa 100644 --- a/packages/rstream-csp/CHANGELOG.md +++ b/packages/rstream-csp/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [2.0.49](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-csp@2.0.48...@thi.ng/rstream-csp@2.0.49) (2021-01-13) + +**Note:** Version bump only for package @thi.ng/rstream-csp + + + + + ## [2.0.48](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-csp@2.0.47...@thi.ng/rstream-csp@2.0.48) (2021-01-10) **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 b73e0e8db2..c6980e3e3b 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.48", + "version": "2.0.49", "description": "@thi.ng/csp bridge module for @thi.ng/rstream", "module": "./index.js", "main": "./lib/index.js", @@ -49,8 +49,8 @@ "typescript": "^4.1.3" }, "dependencies": { - "@thi.ng/csp": "^1.1.46", - "@thi.ng/rstream": "^5.0.13" + "@thi.ng/csp": "^1.1.47", + "@thi.ng/rstream": "^5.0.14" }, "files": [ "*.js", diff --git a/packages/rstream-dot/CHANGELOG.md b/packages/rstream-dot/CHANGELOG.md index d0f7dfe37b..3288eebbb2 100644 --- a/packages/rstream-dot/CHANGELOG.md +++ b/packages/rstream-dot/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.1.56](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-dot@1.1.55...@thi.ng/rstream-dot@1.1.56) (2021-01-13) + +**Note:** Version bump only for package @thi.ng/rstream-dot + + + + + ## [1.1.55](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-dot@1.1.54...@thi.ng/rstream-dot@1.1.55) (2021-01-10) **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 906a6894d9..db9624e56d 100644 --- a/packages/rstream-dot/package.json +++ b/packages/rstream-dot/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/rstream-dot", - "version": "1.1.55", + "version": "1.1.56", "description": "Graphviz DOT conversion of @thi.ng/rstream dataflow graph topologies", "module": "./index.js", "main": "./lib/index.js", @@ -49,7 +49,7 @@ "typescript": "^4.1.3" }, "dependencies": { - "@thi.ng/rstream": "^5.0.13" + "@thi.ng/rstream": "^5.0.14" }, "files": [ "*.js", diff --git a/packages/rstream-gestures/CHANGELOG.md b/packages/rstream-gestures/CHANGELOG.md index 8a3dc36dc6..39aba6455a 100644 --- a/packages/rstream-gestures/CHANGELOG.md +++ b/packages/rstream-gestures/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [3.0.3](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-gestures@3.0.2...@thi.ng/rstream-gestures@3.0.3) (2021-01-13) + +**Note:** Version bump only for package @thi.ng/rstream-gestures + + + + + ## [3.0.2](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-gestures@3.0.1...@thi.ng/rstream-gestures@3.0.2) (2021-01-10) **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 82c40a8e73..410230a379 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.2", + "version": "3.0.3", "description": "Unified mouse, mouse wheel & multi-touch event stream abstraction", "module": "./index.js", "main": "./lib/index.js", @@ -52,8 +52,8 @@ "@thi.ng/api": "^6.13.6", "@thi.ng/checks": "^2.8.0", "@thi.ng/math": "^3.1.0", - "@thi.ng/rstream": "^5.0.13", - "@thi.ng/transducers": "^7.5.5" + "@thi.ng/rstream": "^5.0.14", + "@thi.ng/transducers": "^7.5.6" }, "files": [ "*.js", diff --git a/packages/rstream-graph/CHANGELOG.md b/packages/rstream-graph/CHANGELOG.md index 8a65eb7b2d..0ffcb33ced 100644 --- a/packages/rstream-graph/CHANGELOG.md +++ b/packages/rstream-graph/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [3.2.50](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-graph@3.2.49...@thi.ng/rstream-graph@3.2.50) (2021-01-13) + +**Note:** Version bump only for package @thi.ng/rstream-graph + + + + + ## [3.2.49](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-graph@3.2.48...@thi.ng/rstream-graph@3.2.49) (2021-01-10) **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 232c9b3024..b229c8c846 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.49", + "version": "3.2.50", "description": "Declarative dataflow graph construction for @thi.ng/rstream", "module": "./index.js", "main": "./lib/index.js", @@ -55,8 +55,8 @@ "@thi.ng/errors": "^1.2.26", "@thi.ng/paths": "^4.1.13", "@thi.ng/resolve-map": "^4.2.12", - "@thi.ng/rstream": "^5.0.13", - "@thi.ng/transducers": "^7.5.5" + "@thi.ng/rstream": "^5.0.14", + "@thi.ng/transducers": "^7.5.6" }, "files": [ "*.js", diff --git a/packages/rstream-log-file/CHANGELOG.md b/packages/rstream-log-file/CHANGELOG.md index 226a1b64de..bbf4dff916 100644 --- a/packages/rstream-log-file/CHANGELOG.md +++ b/packages/rstream-log-file/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.1.71](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-log-file@0.1.70...@thi.ng/rstream-log-file@0.1.71) (2021-01-13) + +**Note:** Version bump only for package @thi.ng/rstream-log-file + + + + + ## [0.1.70](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-log-file@0.1.69...@thi.ng/rstream-log-file@0.1.70) (2021-01-10) **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 0a0178d259..cf74da0ed5 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.70", + "version": "0.1.71", "description": "File output handler for structured, multilevel & hierarchical loggers based on @thi.ng/rstream", "module": "./index.js", "main": "./lib/index.js", @@ -49,7 +49,7 @@ "typescript": "^4.1.3" }, "dependencies": { - "@thi.ng/rstream": "^5.0.13" + "@thi.ng/rstream": "^5.0.14" }, "files": [ "*.js", diff --git a/packages/rstream-log/CHANGELOG.md b/packages/rstream-log/CHANGELOG.md index d3e29c6876..568874bd99 100644 --- a/packages/rstream-log/CHANGELOG.md +++ b/packages/rstream-log/CHANGELOG.md @@ -3,6 +3,17 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [3.2.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-log@3.1.55...@thi.ng/rstream-log@3.2.0) (2021-01-13) + + +### Features + +* **rstream-log:** update default body format for formatString() ([841b062](https://github.com/thi-ng/umbrella/commit/841b06271362c6941176b057d1bfab363c07d104)) + + + + + ## [3.1.55](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-log@3.1.54...@thi.ng/rstream-log@3.1.55) (2021-01-10) **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 697ba47979..b4dd80f982 100644 --- a/packages/rstream-log/package.json +++ b/packages/rstream-log/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/rstream-log", - "version": "3.1.55", + "version": "3.2.0", "description": "Structured, multilevel & hierarchical loggers based on @thi.ng/rstream", "module": "./index.js", "main": "./lib/index.js", @@ -52,9 +52,9 @@ "@thi.ng/api": "^6.13.6", "@thi.ng/checks": "^2.8.0", "@thi.ng/errors": "^1.2.26", - "@thi.ng/rstream": "^5.0.13", - "@thi.ng/strings": "^1.13.0", - "@thi.ng/transducers": "^7.5.5" + "@thi.ng/rstream": "^5.0.14", + "@thi.ng/strings": "^1.14.0", + "@thi.ng/transducers": "^7.5.6" }, "files": [ "*.js", diff --git a/packages/rstream-query/CHANGELOG.md b/packages/rstream-query/CHANGELOG.md index ffb8825c9f..874f95cb59 100644 --- a/packages/rstream-query/CHANGELOG.md +++ b/packages/rstream-query/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.1.56](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-query@1.1.55...@thi.ng/rstream-query@1.1.56) (2021-01-13) + +**Note:** Version bump only for package @thi.ng/rstream-query + + + + + ## [1.1.55](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-query@1.1.54...@thi.ng/rstream-query@1.1.55) (2021-01-10) **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 16e0dbca11..473fff78dd 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.55", + "version": "1.1.56", "description": "@thi.ng/rstream based triple store & reactive query engine", "module": "./index.js", "main": "./lib/index.js", @@ -50,14 +50,14 @@ }, "dependencies": { "@thi.ng/api": "^6.13.6", - "@thi.ng/associative": "^5.0.14", + "@thi.ng/associative": "^5.0.15", "@thi.ng/checks": "^2.8.0", "@thi.ng/equiv": "^1.0.35", "@thi.ng/errors": "^1.2.26", "@thi.ng/math": "^3.1.0", - "@thi.ng/rstream": "^5.0.13", - "@thi.ng/rstream-dot": "^1.1.55", - "@thi.ng/transducers": "^7.5.5" + "@thi.ng/rstream": "^5.0.14", + "@thi.ng/rstream-dot": "^1.1.56", + "@thi.ng/transducers": "^7.5.6" }, "files": [ "*.js", diff --git a/packages/rstream/CHANGELOG.md b/packages/rstream/CHANGELOG.md index ac959bcdd2..2b54ce464e 100644 --- a/packages/rstream/CHANGELOG.md +++ b/packages/rstream/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [5.0.14](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream@5.0.13...@thi.ng/rstream@5.0.14) (2021-01-13) + +**Note:** Version bump only for package @thi.ng/rstream + + + + + ## [5.0.13](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream@5.0.12...@thi.ng/rstream@5.0.13) (2021-01-10) **Note:** Version bump only for package @thi.ng/rstream diff --git a/packages/rstream/package.json b/packages/rstream/package.json index d56d521ae2..77594f4309 100644 --- a/packages/rstream/package.json +++ b/packages/rstream/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/rstream", - "version": "5.0.13", + "version": "5.0.14", "description": "Reactive streams & subscription primitives for constructing dataflow graphs / pipelines", "module": "./index.js", "main": "./lib/index.js", @@ -50,12 +50,12 @@ }, "dependencies": { "@thi.ng/api": "^6.13.6", - "@thi.ng/arrays": "^0.9.1", - "@thi.ng/associative": "^5.0.14", + "@thi.ng/arrays": "^0.9.2", + "@thi.ng/associative": "^5.0.15", "@thi.ng/atom": "^4.1.27", "@thi.ng/checks": "^2.8.0", "@thi.ng/errors": "^1.2.26", - "@thi.ng/transducers": "^7.5.5" + "@thi.ng/transducers": "^7.5.6" }, "files": [ "*.js", diff --git a/packages/sax/CHANGELOG.md b/packages/sax/CHANGELOG.md index eb86e57cf8..59950abffb 100644 --- a/packages/sax/CHANGELOG.md +++ b/packages/sax/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.1.46](https://github.com/thi-ng/umbrella/compare/@thi.ng/sax@1.1.45...@thi.ng/sax@1.1.46) (2021-01-13) + +**Note:** Version bump only for package @thi.ng/sax + + + + + ## [1.1.45](https://github.com/thi-ng/umbrella/compare/@thi.ng/sax@1.1.44...@thi.ng/sax@1.1.45) (2021-01-10) **Note:** Version bump only for package @thi.ng/sax diff --git a/packages/sax/package.json b/packages/sax/package.json index ded9275ca0..4aebc6364e 100644 --- a/packages/sax/package.json +++ b/packages/sax/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/sax", - "version": "1.1.45", + "version": "1.1.46", "description": "Transducer-based, SAX-like, non-validating, speedy & tiny XML parser", "module": "./index.js", "main": "./lib/index.js", @@ -50,8 +50,8 @@ }, "dependencies": { "@thi.ng/api": "^6.13.6", - "@thi.ng/transducers": "^7.5.5", - "@thi.ng/transducers-fsm": "^1.1.45" + "@thi.ng/transducers": "^7.5.6", + "@thi.ng/transducers-fsm": "^1.1.46" }, "files": [ "*.js", diff --git a/packages/scenegraph/CHANGELOG.md b/packages/scenegraph/CHANGELOG.md index b64d3fc228..2232e052a8 100644 --- a/packages/scenegraph/CHANGELOG.md +++ b/packages/scenegraph/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.3.15](https://github.com/thi-ng/umbrella/compare/@thi.ng/scenegraph@0.3.14...@thi.ng/scenegraph@0.3.15) (2021-01-13) + +**Note:** Version bump only for package @thi.ng/scenegraph + + + + + ## [0.3.14](https://github.com/thi-ng/umbrella/compare/@thi.ng/scenegraph@0.3.13...@thi.ng/scenegraph@0.3.14) (2021-01-10) **Note:** Version bump only for package @thi.ng/scenegraph diff --git a/packages/scenegraph/package.json b/packages/scenegraph/package.json index e592fda210..641c1367a3 100644 --- a/packages/scenegraph/package.json +++ b/packages/scenegraph/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/scenegraph", - "version": "0.3.14", + "version": "0.3.15", "description": "Extensible 2D/3D scene graph with @thi.ng/hiccup-canvas support", "module": "./index.js", "main": "./lib/index.js", @@ -51,8 +51,8 @@ "dependencies": { "@thi.ng/api": "^6.13.6", "@thi.ng/checks": "^2.8.0", - "@thi.ng/matrices": "^0.6.40", - "@thi.ng/vectors": "^4.8.5" + "@thi.ng/matrices": "^0.6.41", + "@thi.ng/vectors": "^4.8.6" }, "files": [ "*.js", diff --git a/packages/shader-ast-glsl/CHANGELOG.md b/packages/shader-ast-glsl/CHANGELOG.md index 8a512e7a1f..63afc84798 100644 --- a/packages/shader-ast-glsl/CHANGELOG.md +++ b/packages/shader-ast-glsl/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.2.18](https://github.com/thi-ng/umbrella/compare/@thi.ng/shader-ast-glsl@0.2.17...@thi.ng/shader-ast-glsl@0.2.18) (2021-01-13) + +**Note:** Version bump only for package @thi.ng/shader-ast-glsl + + + + + ## [0.2.17](https://github.com/thi-ng/umbrella/compare/@thi.ng/shader-ast-glsl@0.2.16...@thi.ng/shader-ast-glsl@0.2.17) (2021-01-10) **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 8add408625..bfcef27694 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.17", + "version": "0.2.18", "description": "Customizable GLSL codegen for @thi.ng/shader-ast", "module": "./index.js", "main": "./lib/index.js", @@ -52,7 +52,7 @@ "@thi.ng/api": "^6.13.6", "@thi.ng/checks": "^2.8.0", "@thi.ng/errors": "^1.2.26", - "@thi.ng/shader-ast": "^0.7.9" + "@thi.ng/shader-ast": "^0.7.10" }, "files": [ "*.js", diff --git a/packages/shader-ast-js/CHANGELOG.md b/packages/shader-ast-js/CHANGELOG.md index 8c99b75f78..04e8e0a225 100644 --- a/packages/shader-ast-js/CHANGELOG.md +++ b/packages/shader-ast-js/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.5.16](https://github.com/thi-ng/umbrella/compare/@thi.ng/shader-ast-js@0.5.15...@thi.ng/shader-ast-js@0.5.16) (2021-01-13) + +**Note:** Version bump only for package @thi.ng/shader-ast-js + + + + + ## [0.5.15](https://github.com/thi-ng/umbrella/compare/@thi.ng/shader-ast-js@0.5.14...@thi.ng/shader-ast-js@0.5.15) (2021-01-10) **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 c1871e5c62..5f55464b00 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.15", + "version": "0.5.16", "description": "Customizable JS codegen, compiler & runtime for @thi.ng/shader-ast", "module": "./index.js", "main": "./lib/index.js", @@ -53,10 +53,10 @@ "@thi.ng/checks": "^2.8.0", "@thi.ng/errors": "^1.2.26", "@thi.ng/math": "^3.1.0", - "@thi.ng/matrices": "^0.6.40", + "@thi.ng/matrices": "^0.6.41", "@thi.ng/pixel": "^0.5.1", - "@thi.ng/shader-ast": "^0.7.9", - "@thi.ng/vectors": "^4.8.5" + "@thi.ng/shader-ast": "^0.7.10", + "@thi.ng/vectors": "^4.8.6" }, "files": [ "*.js", diff --git a/packages/shader-ast-stdlib/CHANGELOG.md b/packages/shader-ast-stdlib/CHANGELOG.md index a5f96e319c..49e1e647f9 100644 --- a/packages/shader-ast-stdlib/CHANGELOG.md +++ b/packages/shader-ast-stdlib/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.5.10](https://github.com/thi-ng/umbrella/compare/@thi.ng/shader-ast-stdlib@0.5.9...@thi.ng/shader-ast-stdlib@0.5.10) (2021-01-13) + +**Note:** Version bump only for package @thi.ng/shader-ast-stdlib + + + + + ## [0.5.9](https://github.com/thi-ng/umbrella/compare/@thi.ng/shader-ast-stdlib@0.5.8...@thi.ng/shader-ast-stdlib@0.5.9) (2021-01-10) **Note:** Version bump only for package @thi.ng/shader-ast-stdlib diff --git a/packages/shader-ast-stdlib/package.json b/packages/shader-ast-stdlib/package.json index 6775451a62..b816de771b 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.9", + "version": "0.5.10", "description": "Function collection for modular GPGPU / shader programming with @thi.ng/shader-ast", "module": "./index.js", "main": "./lib/index.js", @@ -50,7 +50,7 @@ }, "dependencies": { "@thi.ng/api": "^6.13.6", - "@thi.ng/shader-ast": "^0.7.9" + "@thi.ng/shader-ast": "^0.7.10" }, "files": [ "*.js", diff --git a/packages/shader-ast/CHANGELOG.md b/packages/shader-ast/CHANGELOG.md index 0644005a1e..02915ef5a8 100644 --- a/packages/shader-ast/CHANGELOG.md +++ b/packages/shader-ast/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.7.10](https://github.com/thi-ng/umbrella/compare/@thi.ng/shader-ast@0.7.9...@thi.ng/shader-ast@0.7.10) (2021-01-13) + +**Note:** Version bump only for package @thi.ng/shader-ast + + + + + ## [0.7.9](https://github.com/thi-ng/umbrella/compare/@thi.ng/shader-ast@0.7.8...@thi.ng/shader-ast@0.7.9) (2021-01-10) **Note:** Version bump only for package @thi.ng/shader-ast diff --git a/packages/shader-ast/package.json b/packages/shader-ast/package.json index 8e02e286ba..de0c532804 100644 --- a/packages/shader-ast/package.json +++ b/packages/shader-ast/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/shader-ast", - "version": "0.7.9", + "version": "0.7.10", "description": "DSL to define shader code in TypeScript and cross-compile to GLSL, JS and other targets", "module": "./index.js", "main": "./lib/index.js", @@ -52,7 +52,7 @@ "@thi.ng/api": "^6.13.6", "@thi.ng/checks": "^2.8.0", "@thi.ng/defmulti": "^1.3.4", - "@thi.ng/dgraph": "^1.3.5", + "@thi.ng/dgraph": "^1.3.6", "@thi.ng/errors": "^1.2.26" }, "files": [ diff --git a/packages/simd/CHANGELOG.md b/packages/simd/CHANGELOG.md index 9cba0e4f4a..12d1c87123 100644 --- a/packages/simd/CHANGELOG.md +++ b/packages/simd/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.4.14](https://github.com/thi-ng/umbrella/compare/@thi.ng/simd@0.4.13...@thi.ng/simd@0.4.14) (2021-01-13) + +**Note:** Version bump only for package @thi.ng/simd + + + + + ## [0.4.13](https://github.com/thi-ng/umbrella/compare/@thi.ng/simd@0.4.12...@thi.ng/simd@0.4.13) (2021-01-10) **Note:** Version bump only for package @thi.ng/simd diff --git a/packages/simd/package.json b/packages/simd/package.json index f6d22c7691..e33d88a39d 100644 --- a/packages/simd/package.json +++ b/packages/simd/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/simd", - "version": "0.4.13", + "version": "0.4.14", "description": "WASM based SIMD vector operations for batch processing", "module": "./index.js", "main": "./lib/index.js", @@ -52,7 +52,7 @@ "typescript": "^4.1.3" }, "dependencies": { - "@thi.ng/transducers-binary": "^0.6.2" + "@thi.ng/transducers-binary": "^0.6.3" }, "files": [ "*.js", diff --git a/packages/soa/CHANGELOG.md b/packages/soa/CHANGELOG.md index 5e49292cc5..f6116e6aa6 100644 --- a/packages/soa/CHANGELOG.md +++ b/packages/soa/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.1.45](https://github.com/thi-ng/umbrella/compare/@thi.ng/soa@0.1.44...@thi.ng/soa@0.1.45) (2021-01-13) + +**Note:** Version bump only for package @thi.ng/soa + + + + + ## [0.1.44](https://github.com/thi-ng/umbrella/compare/@thi.ng/soa@0.1.43...@thi.ng/soa@0.1.44) (2021-01-10) **Note:** Version bump only for package @thi.ng/soa diff --git a/packages/soa/package.json b/packages/soa/package.json index 831770dd42..a72f116fba 100644 --- a/packages/soa/package.json +++ b/packages/soa/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/soa", - "version": "0.1.44", + "version": "0.1.45", "description": "SOA & AOS memory mapped structured views with optional & extensible serialization", "module": "./index.js", "main": "./lib/index.js", @@ -52,8 +52,8 @@ "dependencies": { "@thi.ng/api": "^6.13.6", "@thi.ng/binary": "^2.0.21", - "@thi.ng/transducers-binary": "^0.6.2", - "@thi.ng/vectors": "^4.8.5" + "@thi.ng/transducers-binary": "^0.6.3", + "@thi.ng/vectors": "^4.8.6" }, "files": [ "*.js", diff --git a/packages/sparse/CHANGELOG.md b/packages/sparse/CHANGELOG.md index c25080233d..19d9e22f59 100644 --- a/packages/sparse/CHANGELOG.md +++ b/packages/sparse/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.1.62](https://github.com/thi-ng/umbrella/compare/@thi.ng/sparse@0.1.61...@thi.ng/sparse@0.1.62) (2021-01-13) + +**Note:** Version bump only for package @thi.ng/sparse + + + + + ## [0.1.61](https://github.com/thi-ng/umbrella/compare/@thi.ng/sparse@0.1.60...@thi.ng/sparse@0.1.61) (2021-01-10) **Note:** Version bump only for package @thi.ng/sparse diff --git a/packages/sparse/package.json b/packages/sparse/package.json index 8334803823..27b28c3025 100644 --- a/packages/sparse/package.json +++ b/packages/sparse/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/sparse", - "version": "0.1.61", + "version": "0.1.62", "description": "Sparse vector & matrix implementations", "module": "./index.js", "main": "./lib/index.js", @@ -50,7 +50,7 @@ }, "dependencies": { "@thi.ng/api": "^6.13.6", - "@thi.ng/transducers": "^7.5.5" + "@thi.ng/transducers": "^7.5.6" }, "files": [ "*.js", diff --git a/packages/strings/CHANGELOG.md b/packages/strings/CHANGELOG.md index 7ebe7aa9b1..e15e80abac 100644 --- a/packages/strings/CHANGELOG.md +++ b/packages/strings/CHANGELOG.md @@ -3,6 +3,17 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [1.14.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/strings@1.13.0...@thi.ng/strings@1.14.0) (2021-01-13) + + +### Features + +* **strings:** add stringify() HOF ([4ab7e72](https://github.com/thi-ng/umbrella/commit/4ab7e72bf87cbf058a38ca85b5e2853a5f432d9d)) + + + + + # [1.13.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/strings@1.12.0...@thi.ng/strings@1.13.0) (2021-01-10) diff --git a/packages/strings/package.json b/packages/strings/package.json index 8eb5995a20..6afdcb10af 100644 --- a/packages/strings/package.json +++ b/packages/strings/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/strings", - "version": "1.13.0", + "version": "1.14.0", "description": "Various string formatting & utility functions", "module": "./index.js", "main": "./lib/index.js", diff --git a/packages/system/CHANGELOG.md b/packages/system/CHANGELOG.md index 011ecf4aae..27074ecbbf 100644 --- a/packages/system/CHANGELOG.md +++ b/packages/system/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.2.35](https://github.com/thi-ng/umbrella/compare/@thi.ng/system@0.2.34...@thi.ng/system@0.2.35) (2021-01-13) + +**Note:** Version bump only for package @thi.ng/system + + + + + ## [0.2.34](https://github.com/thi-ng/umbrella/compare/@thi.ng/system@0.2.33...@thi.ng/system@0.2.34) (2021-01-10) **Note:** Version bump only for package @thi.ng/system diff --git a/packages/system/package.json b/packages/system/package.json index b660c77ebc..28a79a7ddb 100644 --- a/packages/system/package.json +++ b/packages/system/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/system", - "version": "0.2.34", + "version": "0.2.35", "description": "Minimal DI / life cycle container for stateful app components", "module": "./index.js", "main": "./lib/index.js", @@ -50,7 +50,7 @@ }, "dependencies": { "@thi.ng/api": "^6.13.6", - "@thi.ng/dgraph": "^1.3.5" + "@thi.ng/dgraph": "^1.3.6" }, "files": [ "*.js", diff --git a/packages/text-canvas/CHANGELOG.md b/packages/text-canvas/CHANGELOG.md index af358f2f9a..6168a4311d 100644 --- a/packages/text-canvas/CHANGELOG.md +++ b/packages/text-canvas/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.4.2](https://github.com/thi-ng/umbrella/compare/@thi.ng/text-canvas@0.4.1...@thi.ng/text-canvas@0.4.2) (2021-01-13) + +**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 f8fc41a1b6..99f19dd5b6 100644 --- a/packages/text-canvas/package.json +++ b/packages/text-canvas/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/text-canvas", - "version": "0.4.1", + "version": "0.4.2", "description": "Text based canvas, drawing, tables with arbitrary formatting (incl. ANSI/HTML)", "module": "./index.js", "main": "./lib/index.js", @@ -50,13 +50,13 @@ }, "dependencies": { "@thi.ng/api": "^6.13.6", - "@thi.ng/arrays": "^0.9.1", + "@thi.ng/arrays": "^0.9.2", "@thi.ng/checks": "^2.8.0", - "@thi.ng/geom-clip-line": "^1.2.16", + "@thi.ng/geom-clip-line": "^1.2.17", "@thi.ng/math": "^3.1.0", "@thi.ng/memoize": "^2.1.8", - "@thi.ng/strings": "^1.13.0", - "@thi.ng/transducers": "^7.5.5" + "@thi.ng/strings": "^1.14.0", + "@thi.ng/transducers": "^7.5.6" }, "files": [ "*.js", diff --git a/packages/transducers-binary/CHANGELOG.md b/packages/transducers-binary/CHANGELOG.md index bf3d522db5..4853418536 100644 --- a/packages/transducers-binary/CHANGELOG.md +++ b/packages/transducers-binary/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.6.3](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers-binary@0.6.2...@thi.ng/transducers-binary@0.6.3) (2021-01-13) + +**Note:** Version bump only for package @thi.ng/transducers-binary + + + + + ## [0.6.2](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers-binary@0.6.1...@thi.ng/transducers-binary@0.6.2) (2021-01-10) **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 05acc32400..7cb8b82669 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.2", + "version": "0.6.3", "description": "Binary data related transducers & reducers", "module": "./index.js", "main": "./lib/index.js", @@ -53,8 +53,8 @@ "@thi.ng/compose": "^1.4.23", "@thi.ng/errors": "^1.2.26", "@thi.ng/hex": "^0.1.3", - "@thi.ng/random": "^2.1.5", - "@thi.ng/transducers": "^7.5.5" + "@thi.ng/random": "^2.2.0", + "@thi.ng/transducers": "^7.5.6" }, "files": [ "*.js", diff --git a/packages/transducers-fsm/CHANGELOG.md b/packages/transducers-fsm/CHANGELOG.md index 49cb84cb7c..d1a9666d62 100644 --- a/packages/transducers-fsm/CHANGELOG.md +++ b/packages/transducers-fsm/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.1.46](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers-fsm@1.1.45...@thi.ng/transducers-fsm@1.1.46) (2021-01-13) + +**Note:** Version bump only for package @thi.ng/transducers-fsm + + + + + ## [1.1.45](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers-fsm@1.1.44...@thi.ng/transducers-fsm@1.1.45) (2021-01-10) **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 6c7fe81154..c25ac1677e 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.45", + "version": "1.1.46", "description": "Transducer-based Finite State Machine transformer", "module": "./index.js", "main": "./lib/index.js", @@ -50,7 +50,7 @@ }, "dependencies": { "@thi.ng/api": "^6.13.6", - "@thi.ng/transducers": "^7.5.5" + "@thi.ng/transducers": "^7.5.6" }, "files": [ "*.js", diff --git a/packages/transducers-hdom/CHANGELOG.md b/packages/transducers-hdom/CHANGELOG.md index dfba263d16..d3aef8b1d0 100644 --- a/packages/transducers-hdom/CHANGELOG.md +++ b/packages/transducers-hdom/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [2.0.78](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers-hdom@2.0.77...@thi.ng/transducers-hdom@2.0.78) (2021-01-13) + +**Note:** Version bump only for package @thi.ng/transducers-hdom + + + + + ## [2.0.77](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers-hdom@2.0.76...@thi.ng/transducers-hdom@2.0.77) (2021-01-10) **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 af2ace6db7..7b3eadaf8f 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.77", + "version": "2.0.78", "description": "Transducer based UI updater for @thi.ng/hdom", "module": "./index.js", "main": "./lib/index.js", @@ -49,9 +49,9 @@ "typescript": "^4.1.3" }, "dependencies": { - "@thi.ng/hdom": "^8.2.16", + "@thi.ng/hdom": "^8.2.17", "@thi.ng/hiccup": "^3.6.7", - "@thi.ng/transducers": "^7.5.5" + "@thi.ng/transducers": "^7.5.6" }, "files": [ "*.js", diff --git a/packages/transducers-patch/CHANGELOG.md b/packages/transducers-patch/CHANGELOG.md index d2d3bb017c..74e67fe7bb 100644 --- a/packages/transducers-patch/CHANGELOG.md +++ b/packages/transducers-patch/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.2.3](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers-patch@0.2.2...@thi.ng/transducers-patch@0.2.3) (2021-01-13) + +**Note:** Version bump only for package @thi.ng/transducers-patch + + + + + ## [0.2.2](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers-patch@0.2.1...@thi.ng/transducers-patch@0.2.2) (2021-01-10) **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 6d2392afa0..48176e3c17 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.2", + "version": "0.2.3", "description": "Reducers for patch-based, immutable-by-default array & object editing", "module": "./index.js", "main": "./lib/index.js", @@ -53,7 +53,7 @@ "@thi.ng/checks": "^2.8.0", "@thi.ng/errors": "^1.2.26", "@thi.ng/paths": "^4.1.13", - "@thi.ng/transducers": "^7.5.5" + "@thi.ng/transducers": "^7.5.6" }, "files": [ "*.js", diff --git a/packages/transducers-stats/CHANGELOG.md b/packages/transducers-stats/CHANGELOG.md index 931f28d638..169220a174 100644 --- a/packages/transducers-stats/CHANGELOG.md +++ b/packages/transducers-stats/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.1.47](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers-stats@1.1.46...@thi.ng/transducers-stats@1.1.47) (2021-01-13) + +**Note:** Version bump only for package @thi.ng/transducers-stats + + + + + ## [1.1.46](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers-stats@1.1.45...@thi.ng/transducers-stats@1.1.46) (2021-01-10) **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 e8599255ac..f9311702a9 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.46", + "version": "1.1.47", "description": "Transducers for statistical / technical analysis", "module": "./index.js", "main": "./lib/index.js", @@ -50,9 +50,9 @@ }, "dependencies": { "@thi.ng/checks": "^2.8.0", - "@thi.ng/dcons": "^2.3.6", + "@thi.ng/dcons": "^2.3.7", "@thi.ng/errors": "^1.2.26", - "@thi.ng/transducers": "^7.5.5" + "@thi.ng/transducers": "^7.5.6" }, "files": [ "*.js", diff --git a/packages/transducers/CHANGELOG.md b/packages/transducers/CHANGELOG.md index a7f2a4a931..d16d610236 100644 --- a/packages/transducers/CHANGELOG.md +++ b/packages/transducers/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [7.5.6](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers@7.5.5...@thi.ng/transducers@7.5.6) (2021-01-13) + +**Note:** Version bump only for package @thi.ng/transducers + + + + + ## [7.5.5](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers@7.5.4...@thi.ng/transducers@7.5.5) (2021-01-10) **Note:** Version bump only for package @thi.ng/transducers diff --git a/packages/transducers/package.json b/packages/transducers/package.json index 8f4cb2abd2..c4e35123a1 100644 --- a/packages/transducers/package.json +++ b/packages/transducers/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/transducers", - "version": "7.5.5", + "version": "7.5.6", "description": "Lightweight transducer implementations for ES6 / TypeScript", "module": "./index.js", "main": "./lib/index.js", @@ -50,13 +50,13 @@ }, "dependencies": { "@thi.ng/api": "^6.13.6", - "@thi.ng/arrays": "^0.9.1", + "@thi.ng/arrays": "^0.9.2", "@thi.ng/checks": "^2.8.0", "@thi.ng/compare": "^1.3.22", "@thi.ng/compose": "^1.4.23", "@thi.ng/errors": "^1.2.26", "@thi.ng/math": "^3.1.0", - "@thi.ng/random": "^2.1.5" + "@thi.ng/random": "^2.2.0" }, "files": [ "*.js", diff --git a/packages/vector-pools/CHANGELOG.md b/packages/vector-pools/CHANGELOG.md index 6a04e26ed8..620d3b0d59 100644 --- a/packages/vector-pools/CHANGELOG.md +++ b/packages/vector-pools/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.0.55](https://github.com/thi-ng/umbrella/compare/@thi.ng/vector-pools@1.0.54...@thi.ng/vector-pools@1.0.55) (2021-01-13) + +**Note:** Version bump only for package @thi.ng/vector-pools + + + + + ## [1.0.54](https://github.com/thi-ng/umbrella/compare/@thi.ng/vector-pools@1.0.53...@thi.ng/vector-pools@1.0.54) (2021-01-10) **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 ed1607ce01..7591a678ae 100644 --- a/packages/vector-pools/package.json +++ b/packages/vector-pools/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/vector-pools", - "version": "1.0.54", + "version": "1.0.55", "description": "Data structures for managing & working with strided, memory mapped vectors", "module": "./index.js", "main": "./lib/index.js", @@ -53,8 +53,8 @@ "@thi.ng/binary": "^2.0.21", "@thi.ng/checks": "^2.8.0", "@thi.ng/malloc": "^4.2.6", - "@thi.ng/transducers": "^7.5.5", - "@thi.ng/vectors": "^4.8.5" + "@thi.ng/transducers": "^7.5.6", + "@thi.ng/vectors": "^4.8.6" }, "files": [ "*.js", diff --git a/packages/vectors/CHANGELOG.md b/packages/vectors/CHANGELOG.md index bfd3c45fe6..f87413ac79 100644 --- a/packages/vectors/CHANGELOG.md +++ b/packages/vectors/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [4.8.6](https://github.com/thi-ng/umbrella/compare/@thi.ng/vectors@4.8.5...@thi.ng/vectors@4.8.6) (2021-01-13) + +**Note:** Version bump only for package @thi.ng/vectors + + + + + ## [4.8.5](https://github.com/thi-ng/umbrella/compare/@thi.ng/vectors@4.8.4...@thi.ng/vectors@4.8.5) (2021-01-10) **Note:** Version bump only for package @thi.ng/vectors diff --git a/packages/vectors/package.json b/packages/vectors/package.json index 8e39805523..369b152ad8 100644 --- a/packages/vectors/package.json +++ b/packages/vectors/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/vectors", - "version": "4.8.5", + "version": "4.8.6", "description": "Optimized 2d/3d/4d and arbitrary length vector operations", "module": "./index.js", "main": "./lib/index.js", @@ -56,8 +56,8 @@ "@thi.ng/errors": "^1.2.26", "@thi.ng/math": "^3.1.0", "@thi.ng/memoize": "^2.1.8", - "@thi.ng/random": "^2.1.5", - "@thi.ng/transducers": "^7.5.5" + "@thi.ng/random": "^2.2.0", + "@thi.ng/transducers": "^7.5.6" }, "files": [ "*.js", diff --git a/packages/viz/CHANGELOG.md b/packages/viz/CHANGELOG.md index 26e9f38b50..8c5ba2907a 100644 --- a/packages/viz/CHANGELOG.md +++ b/packages/viz/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.2.7](https://github.com/thi-ng/umbrella/compare/@thi.ng/viz@0.2.6...@thi.ng/viz@0.2.7) (2021-01-13) + +**Note:** Version bump only for package @thi.ng/viz + + + + + ## [0.2.6](https://github.com/thi-ng/umbrella/compare/@thi.ng/viz@0.2.5...@thi.ng/viz@0.2.6) (2021-01-10) **Note:** Version bump only for package @thi.ng/viz diff --git a/packages/viz/package.json b/packages/viz/package.json index d97d2d021c..c110ffe999 100644 --- a/packages/viz/package.json +++ b/packages/viz/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/viz", - "version": "0.2.6", + "version": "0.2.7", "description": "Declarative, functional & multi-format data visualization toolkit based around @thi.ng/hiccup", "module": "./index.js", "main": "./lib/index.js", @@ -57,12 +57,12 @@ }, "dependencies": { "@thi.ng/api": "^6.13.6", - "@thi.ng/arrays": "^0.9.1", - "@thi.ng/associative": "^5.0.14", + "@thi.ng/arrays": "^0.9.2", + "@thi.ng/associative": "^5.0.15", "@thi.ng/checks": "^2.8.0", "@thi.ng/math": "^3.1.0", - "@thi.ng/strings": "^1.13.0", - "@thi.ng/transducers": "^7.5.5" + "@thi.ng/strings": "^1.14.0", + "@thi.ng/transducers": "^7.5.6" }, "files": [ "*.js", diff --git a/packages/webgl-msdf/CHANGELOG.md b/packages/webgl-msdf/CHANGELOG.md index bec1a91a50..267ff3e113 100644 --- a/packages/webgl-msdf/CHANGELOG.md +++ b/packages/webgl-msdf/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.1.69](https://github.com/thi-ng/umbrella/compare/@thi.ng/webgl-msdf@0.1.68...@thi.ng/webgl-msdf@0.1.69) (2021-01-13) + +**Note:** Version bump only for package @thi.ng/webgl-msdf + + + + + ## [0.1.68](https://github.com/thi-ng/umbrella/compare/@thi.ng/webgl-msdf@0.1.67...@thi.ng/webgl-msdf@0.1.68) (2021-01-10) **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 09985df1e5..3c5eb711f7 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.68", + "version": "0.1.69", "description": "Multi-channel SDF font rendering & basic text layout for WebGL", "module": "./index.js", "main": "./lib/index.js", @@ -50,11 +50,11 @@ }, "dependencies": { "@thi.ng/api": "^6.13.6", - "@thi.ng/shader-ast": "^0.7.9", - "@thi.ng/transducers": "^7.5.5", - "@thi.ng/vector-pools": "^1.0.54", - "@thi.ng/vectors": "^4.8.5", - "@thi.ng/webgl": "^3.3.11" + "@thi.ng/shader-ast": "^0.7.10", + "@thi.ng/transducers": "^7.5.6", + "@thi.ng/vector-pools": "^1.0.55", + "@thi.ng/vectors": "^4.8.6", + "@thi.ng/webgl": "^3.3.12" }, "files": [ "*.js", diff --git a/packages/webgl-shadertoy/CHANGELOG.md b/packages/webgl-shadertoy/CHANGELOG.md index 1b4420a36f..8f70388936 100644 --- a/packages/webgl-shadertoy/CHANGELOG.md +++ b/packages/webgl-shadertoy/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.2.56](https://github.com/thi-ng/umbrella/compare/@thi.ng/webgl-shadertoy@0.2.55...@thi.ng/webgl-shadertoy@0.2.56) (2021-01-13) + +**Note:** Version bump only for package @thi.ng/webgl-shadertoy + + + + + ## [0.2.55](https://github.com/thi-ng/umbrella/compare/@thi.ng/webgl-shadertoy@0.2.54...@thi.ng/webgl-shadertoy@0.2.55) (2021-01-10) **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 9c59fbc0b8..fade5166f9 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.55", + "version": "0.2.56", "description": "Basic WebGL scaffolding for running interactive fragment shaders via @thi.ng/shader-ast", "module": "./index.js", "main": "./lib/index.js", @@ -50,9 +50,9 @@ }, "dependencies": { "@thi.ng/api": "^6.13.6", - "@thi.ng/shader-ast": "^0.7.9", - "@thi.ng/shader-ast-glsl": "^0.2.17", - "@thi.ng/webgl": "^3.3.11" + "@thi.ng/shader-ast": "^0.7.10", + "@thi.ng/shader-ast-glsl": "^0.2.18", + "@thi.ng/webgl": "^3.3.12" }, "files": [ "*.js", diff --git a/packages/webgl/CHANGELOG.md b/packages/webgl/CHANGELOG.md index 3994e560ba..bf13fed5e9 100644 --- a/packages/webgl/CHANGELOG.md +++ b/packages/webgl/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [3.3.12](https://github.com/thi-ng/umbrella/compare/@thi.ng/webgl@3.3.11...@thi.ng/webgl@3.3.12) (2021-01-13) + +**Note:** Version bump only for package @thi.ng/webgl + + + + + ## [3.3.11](https://github.com/thi-ng/umbrella/compare/@thi.ng/webgl@3.3.10...@thi.ng/webgl@3.3.11) (2021-01-10) **Note:** Version bump only for package @thi.ng/webgl diff --git a/packages/webgl/package.json b/packages/webgl/package.json index d4369eafd3..fbe277ddb2 100644 --- a/packages/webgl/package.json +++ b/packages/webgl/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/webgl", - "version": "3.3.11", + "version": "3.3.12", "description": "WebGL & GLSL abstraction layer", "module": "./index.js", "main": "./lib/index.js", @@ -51,19 +51,19 @@ "dependencies": { "@thi.ng/adapt-dpi": "^1.0.13", "@thi.ng/api": "^6.13.6", - "@thi.ng/associative": "^5.0.14", + "@thi.ng/associative": "^5.0.15", "@thi.ng/checks": "^2.8.0", "@thi.ng/equiv": "^1.0.35", "@thi.ng/errors": "^1.2.26", - "@thi.ng/matrices": "^0.6.40", + "@thi.ng/matrices": "^0.6.41", "@thi.ng/memoize": "^2.1.8", "@thi.ng/pixel": "^0.5.1", - "@thi.ng/shader-ast": "^0.7.9", - "@thi.ng/shader-ast-glsl": "^0.2.17", - "@thi.ng/shader-ast-stdlib": "^0.5.9", - "@thi.ng/transducers": "^7.5.5", - "@thi.ng/vector-pools": "^1.0.54", - "@thi.ng/vectors": "^4.8.5" + "@thi.ng/shader-ast": "^0.7.10", + "@thi.ng/shader-ast-glsl": "^0.2.18", + "@thi.ng/shader-ast-stdlib": "^0.5.10", + "@thi.ng/transducers": "^7.5.6", + "@thi.ng/vector-pools": "^1.0.55", + "@thi.ng/vectors": "^4.8.6" }, "files": [ "*.js", diff --git a/packages/zipper/CHANGELOG.md b/packages/zipper/CHANGELOG.md index aff435a028..3edba7c3a0 100644 --- a/packages/zipper/CHANGELOG.md +++ b/packages/zipper/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.1.33](https://github.com/thi-ng/umbrella/compare/@thi.ng/zipper@0.1.32...@thi.ng/zipper@0.1.33) (2021-01-13) + +**Note:** Version bump only for package @thi.ng/zipper + + + + + ## [0.1.32](https://github.com/thi-ng/umbrella/compare/@thi.ng/zipper@0.1.31...@thi.ng/zipper@0.1.32) (2021-01-10) **Note:** Version bump only for package @thi.ng/zipper diff --git a/packages/zipper/package.json b/packages/zipper/package.json index 298a7cac59..b4d98d57a7 100644 --- a/packages/zipper/package.json +++ b/packages/zipper/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/zipper", - "version": "0.1.32", + "version": "0.1.33", "description": "Functional tree editing, manipulation & navigation", "module": "./index.js", "main": "./lib/index.js", @@ -50,7 +50,7 @@ }, "dependencies": { "@thi.ng/api": "^6.13.6", - "@thi.ng/arrays": "^0.9.1", + "@thi.ng/arrays": "^0.9.2", "@thi.ng/checks": "^2.8.0" }, "files": [