diff --git a/.all-contributorsrc b/.all-contributorsrc
index 657956c038..8e539240ff 100644
--- a/.all-contributorsrc
+++ b/.all-contributorsrc
@@ -13,7 +13,8 @@
"contributions": [
"code",
"doc",
- "maintenance"
+ "maintenance",
+ "financial"
]
},
{
@@ -24,7 +25,9 @@
"contributions": [
"code",
"example",
- "bug"
+ "bug",
+ "ideas",
+ "financial"
]
},
{
@@ -36,7 +39,8 @@
"code",
"ideas",
"example",
- "blog"
+ "blog",
+ "financial"
]
},
{
@@ -69,7 +73,8 @@
"contributions": [
"doc",
"bug",
- "ideas"
+ "ideas",
+ "financial"
]
},
{
@@ -98,7 +103,8 @@
"contributions": [
"bug",
"code",
- "ideas"
+ "ideas",
+ "financial"
]
},
{
@@ -179,6 +185,42 @@
"contributions": [
"doc"
]
+ },
+ {
+ "login": "mhuebert",
+ "name": "Matt Huebert",
+ "avatar_url": "https://avatars1.githubusercontent.com/u/165223?v=4",
+ "profile": "http://matt.is",
+ "contributions": [
+ "financial"
+ ]
+ },
+ {
+ "login": "raphaelsaunier",
+ "name": "Raphael Saunier",
+ "avatar_url": "https://avatars2.githubusercontent.com/u/170256?v=4",
+ "profile": "http://raphaelsaunier.com",
+ "contributions": [
+ "financial"
+ ]
+ },
+ {
+ "login": "eihli",
+ "name": "Eric Ihli",
+ "avatar_url": "https://avatars0.githubusercontent.com/u/1719584?v=4",
+ "profile": "http://owoga.com",
+ "contributions": [
+ "financial"
+ ]
+ },
+ {
+ "login": "davidpham87",
+ "name": "David Pham",
+ "avatar_url": "https://avatars3.githubusercontent.com/u/7083286?v=4",
+ "profile": "https://davidpham87.github.io",
+ "contributions": [
+ "financial"
+ ]
}
],
"contributorsPerLine": 7,
diff --git a/.github/FUNDING.yml b/.github/FUNDING.yml
index 06da5f6968..7cf593fb11 100644
--- a/.github/FUNDING.yml
+++ b/.github/FUNDING.yml
@@ -1 +1,2 @@
+github: postspectacular
patreon: thing_umbrella
diff --git a/README.md b/README.md
index bec56c68da..9cabe9d01b 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 ~125 thi.ng TypeScript/ES6 projects, a wide
+Mono-repository for 125+ thi.ng TypeScript/ES6 projects, a wide
collection of largely data transformation oriented packages and building
blocks for:
@@ -195,12 +195,15 @@ fairly detailed overview for contributors here:
| Project | Version | Changelog | Description |
|-----------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------|----------------------------------------------------------|--------------------------------------------------|
+| [`@thi.ng/adapt-dpi`](./packages/adapt-dpi) | [![version](https://img.shields.io/npm/v/@thi.ng/adapt-dpi.svg)](https://www.npmjs.com/package/@thi.ng/adapt-dpi) | [changelog](./packages/adapt-dpi/CHANGELOG.md) | HDPI canvas adaptation / styling util |
| [`@thi.ng/dl-asset`](./packages/dl-asset) | [![version](https://img.shields.io/npm/v/@thi.ng/dl-asset.svg)](https://www.npmjs.com/package/@thi.ng/dl-asset) | [changelog](./packages/download/CHANGELOG.md) | Asset download trigger helper |
+| [`@thi.ng/hdiff`](./packages/hdiff) | [![version](https://img.shields.io/npm/v/@thi.ng/hdiff.svg)](https://www.npmjs.com/package/@thi.ng/hdiff) | [changelog](./packages/hdiff/CHANGELOG.md) | String diffing w/ hiccup output (includes CLI) |
| [`@thi.ng/hdom`](./packages/hdom) | [![version](https://img.shields.io/npm/v/@thi.ng/hdom.svg)](https://www.npmjs.com/package/@thi.ng/hdom) | [changelog](./packages/hdom/CHANGELOG.md) | Hiccup based VDOM & diffing |
-| [`@thi.ng/hdom-canvas`](./packages/hdom-canvas) | [![version](https://img.shields.io/npm/v/@thi.ng/hdom-canvas.svg)](https://www.npmjs.com/package/@thi.ng/hdom-canvas) | [changelog](./packages/hdom-canvas/CHANGELOG.md) | hdom based declarative canvas drawing |
+| [`@thi.ng/hdom-canvas`](./packages/hdom-canvas) | [![version](https://img.shields.io/npm/v/@thi.ng/hdom-canvas.svg)](https://www.npmjs.com/package/@thi.ng/hdom-canvas) | [changelog](./packages/hdom-canvas/CHANGELOG.md) | hdom adapter for hiccup-canvas |
| [`@thi.ng/hdom-components`](./packages/hdom-components) | [![version](https://img.shields.io/npm/v/@thi.ng/hdom-components.svg)](https://www.npmjs.com/package/@thi.ng/hdom-components) | [changelog](./packages/hdom-components/CHANGELOG.md) | hdom based UI components |
| [`@thi.ng/hdom-mock`](./packages/hdom-mock) | [![version](https://img.shields.io/npm/v/@thi.ng/hdom-mock.svg)](https://www.npmjs.com/package/@thi.ng/hdom-mock) | [changelog](./packages/hdom-mock/CHANGELOG.md) | hdom mock implementation (testing / prototyping) |
| [`@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-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 |
@@ -347,17 +350,17 @@ Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/d
diff --git a/assets/hdiff/hdiff.png b/assets/hdiff/hdiff.png
new file mode 100644
index 0000000000..2ca473cb57
Binary files /dev/null and b/assets/hdiff/hdiff.png differ
diff --git a/examples/adaptive-threshold/src/events.ts b/examples/adaptive-threshold/src/events.ts
index 3e76a00cf3..cfd325b0fa 100644
--- a/examples/adaptive-threshold/src/events.ts
+++ b/examples/adaptive-threshold/src/events.ts
@@ -1,11 +1,6 @@
import { setIn } from "@thi.ng/paths";
import { GRAY8, PackedBuffer } from "@thi.ng/pixel";
-import {
- ISubscriber,
- pubsub,
- stream,
- trace
-} from "@thi.ng/rstream";
+import { ISubscriber, pubsub, stream, trace } from "@thi.ng/rstream";
import { state } from "./state";
import { adaptiveThreshold } from "./threshold";
import {
diff --git a/examples/adaptive-threshold/src/index.ts b/examples/adaptive-threshold/src/index.ts
index 0829dc7ec0..bc34d84ba9 100644
--- a/examples/adaptive-threshold/src/index.ts
+++ b/examples/adaptive-threshold/src/index.ts
@@ -8,7 +8,7 @@ import {
Event,
SET_IMAGE,
SET_KERNEL_OFFSET,
- SET_KERNEL_WIDTH
+ SET_KERNEL_WIDTH,
} from "./api";
import { dispatch } from "./events";
import { state } from "./state";
@@ -29,10 +29,10 @@ const canvas = {
"canvas.mv3.pa1.ba",
{
width: pix.width,
- height: pix.height
- }
+ height: pix.height,
+ },
];
- }
+ },
};
/**
@@ -46,9 +46,9 @@ const fileChooser = [
{
type: "file",
accept: "image/png, image/jpeg, image/webp",
- onchange: (e: any) => dispatch([SET_IMAGE, e.target.files[0]])
- }
- ]
+ onchange: (e: any) => dispatch([SET_IMAGE, e.target.files[0]]),
+ },
+ ],
];
/**
@@ -69,9 +69,9 @@ const param = (eventID: string, label: string, value: number, opts: any) => [
value,
onchange: (e: any) =>
dispatch([eventID, parseInt(e.target.value)]),
- ...opts
- }
- ]
+ ...opts,
+ },
+ ],
];
/**
@@ -85,14 +85,14 @@ const imageEditor = ({ destImg, threshold }: AppState) => [
param(SET_KERNEL_WIDTH, "Width", threshold.windowSize, {
min: 3,
max: 29,
- step: 2
+ step: 2,
}),
param(SET_KERNEL_OFFSET, "Offset", threshold.offset, {
min: -20,
max: 20,
- step: 1
+ step: 1,
}),
- [canvas, destImg]
+ [canvas, destImg],
];
/**
@@ -105,7 +105,7 @@ const app = (state: AppState) => {
"div",
["h1", "Adaptive thresholding"],
fileChooser,
- state.destImg ? imageEditor(state) : null
+ state.destImg ? imageEditor(state) : null,
];
};
diff --git a/examples/adaptive-threshold/src/threshold.ts b/examples/adaptive-threshold/src/threshold.ts
index bcee0f5d7f..52fbd77943 100644
--- a/examples/adaptive-threshold/src/threshold.ts
+++ b/examples/adaptive-threshold/src/threshold.ts
@@ -8,7 +8,7 @@ import {
multiplex,
range2d,
repeat,
- transduce
+ transduce,
} from "@thi.ng/transducers";
/**
@@ -43,7 +43,7 @@ export const adaptiveThreshold = (
kheight: windowSize,
wrap: false,
border: 0,
- reduce: mean
+ reduce: mean,
})
),
map(([[x, y], mean]) =>
diff --git a/examples/async-effect/src/index.ts b/examples/async-effect/src/index.ts
index 55f22c598d..ffc4eabdfe 100644
--- a/examples/async-effect/src/index.ts
+++ b/examples/async-effect/src/index.ts
@@ -5,7 +5,7 @@ import {
EventDef,
FX_DISPATCH_ASYNC,
FX_DISPATCH_NOW,
- valueSetter
+ valueSetter,
} from "@thi.ng/interceptors";
import type { IObjectOf } from "@thi.ng/api";
@@ -37,7 +37,7 @@ const events: IObjectOf = {
// the last items in the array are the event IDs for success & error outcomes
[EV_LOAD_JSON]: (_, [__, url]) => ({
[FX_DISPATCH_NOW]: [EV_SET_STATUS, ["idle", `loading: ${url}...`]],
- [FX_DISPATCH_ASYNC]: [FX_JSON, url, EV_RECEIVE_JSON, EV_ERROR]
+ [FX_DISPATCH_ASYNC]: [FX_JSON, url, EV_RECEIVE_JSON, EV_ERROR],
}),
// this event will be triggered after JSON data has been successfully loaded
@@ -52,28 +52,28 @@ const events: IObjectOf = {
() => ({
[FX_DISPATCH_NOW]: [
EV_SET_STATUS,
- ["success", "JSON successfully loaded"]
+ ["success", "JSON successfully loaded"],
],
[FX_DISPATCH_ASYNC]: [
FX_DELAY,
[1000, ["idle", "done."]],
EV_SET_STATUS,
- EV_ERROR
- ]
- })
+ EV_ERROR,
+ ],
+ }),
],
// error event handler
[EV_ERROR]: (_, [__, err]) => ({
- [FX_DISPATCH_NOW]: [EV_SET_STATUS, ["error", err.message]]
- })
+ [FX_DISPATCH_NOW]: [EV_SET_STATUS, ["error", err.message]],
+ }),
};
const effects: IObjectOf = {
// these are async side effects. ALWAYS MUST RETURN A PROMISE
[FX_JSON]: (url) => fetch(url).then((res) => res.json()),
[FX_DELAY]: ([x, msg]) =>
- new Promise((res) => setTimeout(() => res(msg), x))
+ new Promise((res) => setTimeout(() => res(msg), x)),
};
// main app component
@@ -92,7 +92,7 @@ const app = () => {
return [
"div",
["p#status", { class: status[0] }, `status: ${status[1]}`],
- ["pre", json]
+ ["pre", json],
];
}
};
diff --git a/examples/bitmap-font/src/font.ts b/examples/bitmap-font/src/font.ts
index 2912a1a6d6..da3d15d9b3 100644
--- a/examples/bitmap-font/src/font.ts
+++ b/examples/bitmap-font/src/font.ts
@@ -99,5 +99,5 @@ export const FONT = [
[0x06, 0x0c, 0x0c, 0x30, 0x0c, 0x0c, 0x06, 0x00],
[0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x00],
[0x60, 0x30, 0x30, 0x0c, 0x30, 0x30, 0x60, 0x00],
- [0x00, 0x00, 0x60, 0x99, 0x06, 0x00, 0x00, 0x00]
+ [0x00, 0x00, 0x60, 0x99, 0x06, 0x00, 0x00, 0x00],
];
diff --git a/examples/bitmap-font/src/index.ts b/examples/bitmap-font/src/index.ts
index 455ce60b66..efd1485172 100644
--- a/examples/bitmap-font/src/index.ts
+++ b/examples/bitmap-font/src/index.ts
@@ -1,11 +1,6 @@
import { dropdown } from "@thi.ng/hdom-components";
import { clamp } from "@thi.ng/math";
-import {
- stream,
- Stream,
- Subscription,
- sync
-} from "@thi.ng/rstream";
+import { stream, Stream, Subscription, sync } from "@thi.ng/rstream";
import {
comp,
map,
@@ -15,7 +10,7 @@ import {
range,
str,
transduce,
- zip
+ zip,
} from "@thi.ng/transducers";
import { bits } from "@thi.ng/transducers-binary";
import { updateDOM } from "@thi.ng/transducers-hdom";
@@ -54,7 +49,7 @@ const banner = ({ input, on, off }: IObjectOf) =>
// dynamically create `xfChar` transducers for each char
// and run them in parallel via `multiplex()`
multiplex.apply(null, [
- ...map((i) => xfChar(i, on, off), range(input.length))
+ ...map((i) => xfChar(i, on, off), range(input.length)),
]),
// then join the results for each line
xfJoin
@@ -70,7 +65,7 @@ const charSelector = (stream: Stream) => [
dropdown,
{
class: "ml3",
- onchange: emitOnStream(stream)
+ onchange: emitOnStream(stream),
},
[
["#", "#"],
@@ -82,9 +77,9 @@ const charSelector = (stream: Stream) => [
["-", "-"],
["^", "^"],
[".", "."],
- [" ", "space"]
+ [" ", "space"],
],
- stream.deref()
+ stream.deref(),
];
// main UI root component
@@ -96,13 +91,13 @@ const app = ({ raw, result }: any) => [
"input",
{
oninput: emitOnStream(input),
- value: raw
- }
+ value: raw,
+ },
],
charSelector(on),
- charSelector(off)
+ charSelector(off),
],
- ["pre.code.w-100.pa2.overflow-x-auto.bg-washed-yellow", result]
+ ["pre.code.w-100.pa2.overflow-x-auto.bg-washed-yellow", result],
];
// reactive stream setup
diff --git a/examples/canvas-dial/src/dial.ts b/examples/canvas-dial/src/dial.ts
index 7d26a481e9..54ef50f5e7 100644
--- a/examples/canvas-dial/src/dial.ts
+++ b/examples/canvas-dial/src/dial.ts
@@ -3,7 +3,11 @@ import { isString } from "@thi.ng/checks";
import { canvas2D } from "@thi.ng/hdom-components";
import { fitClamped } from "@thi.ng/math";
import { Subscription } from "@thi.ng/rstream";
-import { GestureEvent, gestureStream, GestureType } from "@thi.ng/rstream-gestures";
+import {
+ GestureEvent,
+ gestureStream,
+ GestureType,
+} from "@thi.ng/rstream-gestures";
import { heading, sub2 } from "@thi.ng/vectors";
import type { Fn } from "@thi.ng/api";
@@ -126,7 +130,7 @@ export const dial = (_opts: Partial) => {
labelColor: "black",
labelYOffset: 0,
font: "10px sans-serif",
- ..._opts
+ ..._opts,
};
let events: Subscription;
let cx: number, cy: number;
@@ -205,7 +209,7 @@ export const dial = (_opts: Partial) => {
)
);
}
- }
+ },
});
}
},
@@ -230,6 +234,6 @@ export const dial = (_opts: Partial) => {
ctx.fillStyle = opts.labelColor;
ctx.fillText(opts.label(val), cx, cy + opts.labelYOffset);
}
- }
+ },
});
};
diff --git a/examples/canvas-dial/src/index.ts b/examples/canvas-dial/src/index.ts
index d4b44c6336..24e8f72e0c 100644
--- a/examples/canvas-dial/src/index.ts
+++ b/examples/canvas-dial/src/index.ts
@@ -10,13 +10,13 @@ export const ctx = {
streams: {
a: stream(),
b: stream(),
- c: stream()
+ c: stream(),
},
// component styling
ui: {
root: { class: "vh-100 flex justify-center items-center" },
- dial: { width: 100, height: 100, class: "pointer ma1" }
- }
+ dial: { width: 100, height: 100, class: "pointer ma1" },
+ },
};
/**
@@ -31,10 +31,17 @@ export const ctx = {
const app = () => {
const dialA = dial({
r1: 0.5,
- color: { from: [0, 0], to: [1, 1], stops: [[0, "#075"], [1, "#6f9"]] },
+ color: {
+ from: [0, 0],
+ to: [1, 1],
+ stops: [
+ [0, "#075"],
+ [1, "#6f9"],
+ ],
+ },
font: "20px Menlo",
label: (x) => percent(0)(x),
- onchange: (x) => ctx.streams.a.next(x)
+ onchange: (x) => ctx.streams.a.next(x),
});
const dialB = dial({
r1: 0.66,
@@ -43,33 +50,44 @@ const app = () => {
color: {
from: [0, 0],
to: [1, 0.75],
- stops: [[0, "#00f"], [0.5, "#f60"], [1, "#ff0"]]
+ stops: [
+ [0, "#00f"],
+ [0.5, "#f60"],
+ [1, "#ff0"],
+ ],
},
font: "20px Menlo",
label: (x) => percent(1)(x),
- onchange: (x) => ctx.streams.b.next(x)
+ onchange: (x) => ctx.streams.b.next(x),
});
const dialC = dial({
r1: 0.75,
gap: Math.PI,
- color: { from: [0, 0], to: [1, 0], stops: [[0, "#407"], [1, "#09f"]] },
+ color: {
+ from: [0, 0],
+ to: [1, 0],
+ stops: [
+ [0, "#407"],
+ [1, "#09f"],
+ ],
+ },
font: "20px Menlo",
label: (x) => percent(2)(x),
- onchange: (x) => ctx.streams.c.next(x)
+ onchange: (x) => ctx.streams.c.next(x),
});
return ({ a, b, c }: any) => [
"div",
ctx.ui.root,
[dialA, ctx.ui.dial, a],
[dialB, ctx.ui.dial, b],
- [dialC, ctx.ui.dial, c]
+ [dialC, ctx.ui.dial, c],
];
};
// stream combinator & reactive DOM update
sync({
src: ctx.streams,
- xform: comp(map(app()), updateDOM())
+ xform: comp(map(app()), updateDOM()),
});
// seed dials with initial values
diff --git a/examples/cellular-automata/src/index.ts b/examples/cellular-automata/src/index.ts
index 7e8297e2fe..773e9fa886 100644
--- a/examples/cellular-automata/src/index.ts
+++ b/examples/cellular-automata/src/index.ts
@@ -12,7 +12,7 @@ import {
repeatedly,
step,
str,
- transduce
+ transduce,
} from "@thi.ng/transducers";
import { bits } from "@thi.ng/transducers-binary";
@@ -27,7 +27,7 @@ const presets: DropDownOption[] = [
["000001111111111110", "dots"],
["000101111000001111", "growth"],
["000001111000011111", "organic"],
- ["000010011000011111", "angular"]
+ ["000010011000011111", "angular"],
];
// container for cell states
@@ -43,7 +43,10 @@ const setHash = () => (location.hash = rules.join(""));
// build transducer to parse rules from string (e.g. location hash or preset)
// (an older version used a preset format w/ "-" to separate rule groups)
const parseRules = step(
- comp(map((x: string) => parseInt(x.replace("-", ""), 2)), bits(18))
+ comp(
+ map((x: string) => parseInt(x.replace("-", ""), 2)),
+ bits(18)
+ )
);
const applyRules = (raw: string) => {
@@ -56,7 +59,7 @@ const applyRules = (raw: string) => {
// create random bit sequence w/ ones appearing in given probability
const randomSeq = (num: number, prob = 0.5) => [
- ...repeatedly(() => (Math.random() < prob ? 1 : 0), num)
+ ...repeatedly(() => (Math.random() < prob ? 1 : 0), num),
];
const randomizeGrid = (prob = 0.5) => (grid = randomSeq(W * H, prob));
@@ -110,7 +113,7 @@ const setRule = (i: number, j: number, s: boolean, rstride = 9) => {
// single checkbox component
const checkbox = (x: number, onchange: EventListener) => [
"input",
- { type: "checkbox", checked: !!x, onchange }
+ { type: "checkbox", checked: !!x, onchange },
];
// component for single CA rule group (alive / dead FSM)
@@ -123,7 +126,7 @@ const ruleBoxes = (prefix: string, i: number, rstride = 9) => [
checkbox(rule, (e) =>
setRule(i, j, (e.target).checked)
)
- )
+ ),
];
const isPreset = (id: string) => presets.findIndex((x) => x[0] === id) !== -1;
@@ -148,12 +151,12 @@ start(() => {
dropdown,
{
onchange: (e: Event) =>
- applyRules((e.target).value)
+ applyRules((e.target).value),
},
presets,
- isPreset(id) ? id : ""
- ]
+ isPreset(id) ? id : "",
+ ],
],
- ["pre", format((grid = convolve(grid, rules, W, H)), W)]
+ ["pre", format((grid = convolve(grid, rules, W, H)), W)],
];
});
diff --git a/examples/commit-heatmap/src/index.ts b/examples/commit-heatmap/src/index.ts
index 3233a81923..5fe236f6da 100644
--- a/examples/commit-heatmap/src/index.ts
+++ b/examples/commit-heatmap/src/index.ts
@@ -2,14 +2,7 @@ import { withoutKeysObj } from "@thi.ng/associative";
import { cosineGradient, GRADIENTS } from "@thi.ng/color";
import { threadLast } from "@thi.ng/compose";
import { serialize } from "@thi.ng/hiccup";
-import {
- defs,
- group,
- line,
- rect,
- svg,
- text
-} from "@thi.ng/hiccup-svg";
+import { defs, group, line, rect, svg, text } from "@thi.ng/hiccup-svg";
import { fit } from "@thi.ng/math";
import { Z2 } from "@thi.ng/strings";
import {
@@ -27,7 +20,7 @@ import {
range,
sortedKeys,
transduce,
- vals
+ vals,
} from "@thi.ng/transducers";
import { execSync } from "child_process";
import * as fs from "fs";
@@ -58,7 +51,7 @@ const IGNORE_PACKAGES = [
"example",
"exmples",
"shadertoy",
- "transducer"
+ "transducer",
];
// heatmap gradient
@@ -69,7 +62,7 @@ const MAX_DATE = Date.now();
const enum LogItem {
COMMIT,
- STATS
+ STATS,
}
type ClassifiedCommit = [LogItem, string | string[]];
@@ -83,7 +76,7 @@ const gitLog = (repoPath: string) =>
execSync(
`git log --pretty=format:"%ad${SEP}%s" --date=iso-strict --shortstat`,
{
- cwd: resolve(repoPath)
+ cwd: resolve(repoPath),
}
)
.toString()
@@ -131,7 +124,7 @@ const parseCommitTuple = (tuple: ClassifiedCommit[]) => {
...map(
(x: RegExpMatchArray) => parseInt(x[0]),
stats.matchAll(/\d+/g)
- )
+ ),
];
return {
name: match[1],
@@ -140,7 +133,7 @@ const parseCommitTuple = (tuple: ClassifiedCommit[]) => {
msg,
files,
adds,
- dels
+ dels,
};
}
};
@@ -162,7 +155,7 @@ const commitsByPackage = withoutKeysObj(
),
groupByObj({
group: pushSort((a, b) => a.epoch - b.epoch),
- key: (x) => x.name
+ key: (x) => x.name,
}),
gitLog(BASE_DIR).split("\n")
),
@@ -231,7 +224,7 @@ const timeLineLabels = () =>
{},
line([x, 0], [x, NUM_PKG * 10 + 20], {
stroke: "#999",
- "stroke-dasharray": 1
+ "stroke-dasharray": 1,
}),
text([x + 5, 8], `${d.getFullYear()}-${Z2(d.getMonth() + 1)}`)
);
@@ -248,13 +241,13 @@ const packageCommits = (i: number, pkg: string) =>
group(
{
transform: `translate(0, ${(i + 2) * 10})`,
- "stroke-width": 2
+ "stroke-width": 2,
},
text([0, 8], pkg, { stroke: "none" }),
map((commit) => {
const x = mapEpoch(commit.epoch);
return line([x, 0], [x, 8], {
- stroke: mapColor(commit.adds, maxAdds)
+ stroke: mapColor(commit.adds, maxAdds),
});
}, commitsByPackage[pkg])
);
@@ -262,7 +255,7 @@ const packageCommits = (i: number, pkg: string) =>
/**
* Assemble & output full SVG document using hiccup-svg primitives.
*
- * See: https://github.com/thi-ng/umbrella/blob/master/packages/compose/src/thread-last.ts
+ * See: https://github.com/thi-ng/umbrella/blob/develop/packages/compose/src/thread-last.ts
*/
threadLast(
commitsByPackage,
@@ -276,16 +269,16 @@ threadLast(
viewBox: `-10 -10 ${WIDTH + 20} ${HEIGHT + 20}`,
"font-family": "Inconsolata",
"font-size": 9,
- fill: "white"
+ fill: "white",
},
defs([
"style",
{ type: "text/css" },
- ""
+ "",
]),
// background
rect([-10, -10], WIDTH + 20, HEIGHT + 20, { fill: "black" }),
- timeLineLabels()
+ timeLineLabels(),
],
serialize,
[fs.writeFileSync, "heatmap2.svg"]
diff --git a/examples/commit-table-ssr/src/client/index.ts b/examples/commit-table-ssr/src/client/index.ts
index 1ce5f61a7a..815c8473fc 100644
--- a/examples/commit-table-ssr/src/client/index.ts
+++ b/examples/commit-table-ssr/src/client/index.ts
@@ -3,7 +3,7 @@ import {
fromInterval,
resolve as resolvePromise,
stream,
- sync
+ sync,
} from "@thi.ng/rstream";
import {
add,
@@ -11,7 +11,7 @@ import {
map,
pluck,
throttleTime,
- transduce
+ transduce,
} from "@thi.ng/transducers";
import { updateDOM } from "@thi.ng/transducers-hdom";
import { header } from "../common/components/header";
@@ -28,7 +28,7 @@ const app = (state: any) => [
"div",
[header, ctx.repo.name],
[stats, state],
- [repoTable, state.commits]
+ [repoTable, state.commits],
];
// stats container component
@@ -41,13 +41,13 @@ const stats = (ctx: AppContext, state: any) => [
ctx.ui.stats.col,
["div", `Authors: ${state.authors}`],
["div", `Total adds: ${state.adds} (${state.avgAdds} avg / commit)`],
- ["div", `Total dels: ${state.dels} (${state.avgDels} avg / commit)`]
+ ["div", `Total dels: ${state.dels} (${state.avgDels} avg / commit)`],
],
[
"div.tr",
ctx.ui.stats.col,
- [link, { ...ctx.ui.stats.link, href: ctx.repo.url }, ctx.repo.url]
- ]
+ [link, { ...ctx.ui.stats.link, href: ctx.repo.url }, ctx.repo.url],
+ ],
];
// search filter input component
@@ -64,17 +64,17 @@ const searchFilter = (
type: "text",
value: state.search,
// emit changes on `search` stream
- oninput: (e: any) => search.next(e.target.value.toLowerCase())
- }
+ oninput: (e: any) => search.next(e.target.value.toLowerCase()),
+ },
],
- `(${state.commits.length} commits)`
+ `(${state.commits.length} commits)`,
];
// transformation function to filter commits with search string
// doesn't apply filter if search term is empty
const filterCommits = ({
commits,
- search
+ search,
}: {
commits: Commit[];
search: string;
@@ -82,7 +82,7 @@ const filterCommits = ({
search,
commits: search
? commits.filter((x) => x.msg.toLowerCase().indexOf(search) !== -1)
- : commits
+ : commits,
});
// transformation function to compute stats of filtered commits
@@ -105,7 +105,7 @@ const computeStats = (state: any) =>
authors: ({ commits }: any) =>
transduce(pluck("author"), conj(), commits).size,
avgAdds: ({ commits, adds }: any) => (adds / commits.length) | 0,
- avgDels: ({ commits, dels }: any) => (dels / commits.length) | 0
+ avgDels: ({ commits, dels }: any) => (dels / commits.length) | 0,
});
// error stream & handler
@@ -139,8 +139,8 @@ sync({
commits,
// throttle search stream @ 10Hz (100ms) to minimize
// UI lag for fast typists
- search: search.transform(throttleTime(100))
- }
+ search: search.transform(throttleTime(100)),
+ },
})
// now transform the combined stream
// each value is an object tuple of: `{ commits, search }`
diff --git a/examples/commit-table-ssr/src/common/components/commit-link.ts b/examples/commit-table-ssr/src/common/components/commit-link.ts
index 2121a77da0..63c67353e4 100644
--- a/examples/commit-table-ssr/src/common/components/commit-link.ts
+++ b/examples/commit-table-ssr/src/common/components/commit-link.ts
@@ -12,5 +12,5 @@ import type { AppContext } from "../api";
export const commitLink = (ctx: AppContext, sha: string, body: string) => [
link,
{ ...ctx.ui.link, href: `${ctx.repo.url}/commit/${sha}` },
- body
+ body,
];
diff --git a/examples/commit-table-ssr/src/common/components/header.ts b/examples/commit-table-ssr/src/common/components/header.ts
index 6ed009050b..367e9e79a4 100644
--- a/examples/commit-table-ssr/src/common/components/header.ts
+++ b/examples/commit-table-ssr/src/common/components/header.ts
@@ -3,5 +3,5 @@ import type { AppContext } from "../api";
export const header = (ctx: AppContext, title: string) => [
"section",
ctx.ui.header.root,
- ["h1", ctx.ui.header.title, title]
+ ["h1", ctx.ui.header.title, title],
];
diff --git a/examples/commit-table-ssr/src/common/components/link.ts b/examples/commit-table-ssr/src/common/components/link.ts
index 4b77b642b8..ad6944802d 100644
--- a/examples/commit-table-ssr/src/common/components/link.ts
+++ b/examples/commit-table-ssr/src/common/components/link.ts
@@ -10,5 +10,5 @@ import type { AppContext } from "../api";
export const link = (_: AppContext, attribs: any, body: string) => [
"a",
attribs,
- body
+ body,
];
diff --git a/examples/commit-table-ssr/src/common/components/repo-table.ts b/examples/commit-table-ssr/src/common/components/repo-table.ts
index 09fd2e963a..a7523a5030 100644
--- a/examples/commit-table-ssr/src/common/components/repo-table.ts
+++ b/examples/commit-table-ssr/src/common/components/repo-table.ts
@@ -4,7 +4,7 @@ import {
map,
mapIndexed,
partitionBy,
- repeat
+ repeat,
} from "@thi.ng/transducers";
import { commitLink } from "./commit-link";
import { table } from "./table";
@@ -30,16 +30,16 @@ export const repoTable = (_: AppContext, commits: Iterable) => [
[commitLink, x.sha, x.msg],
x.files,
x.add ? ["span.green", `+${x.add}`] : null,
- x.del ? ["span.red", `-${x.del}`] : null
+ x.del ? ["span.red", `-${x.del}`] : null,
]),
// partition rows by month
partitionBy((row: any[]) => row[0].split("-")[1]),
// insert month headers (but not in 1st chunk)
mapIndexed((i, month) => [
i > 0 ? [month[0][0].substr(0, 7), ...repeat("", 5)] : null,
- month
+ month,
])
),
commits
- )
+ ),
];
diff --git a/examples/commit-table-ssr/src/common/components/table.ts b/examples/commit-table-ssr/src/common/components/table.ts
index a31aaec6a9..95c648ee41 100644
--- a/examples/commit-table-ssr/src/common/components/table.ts
+++ b/examples/commit-table-ssr/src/common/components/table.ts
@@ -6,14 +6,14 @@ const thead = (ctx: AppContext, head: Iterable) => [
[
row,
ctx.ui.table.head.row,
- map((x) => ["th", ctx.ui.table.head.cell, x], head)
- ]
+ map((x) => ["th", ctx.ui.table.head.cell, x], head),
+ ],
];
const row = (ctx: AppContext, attribs: any, body: Iterable) => [
"tr",
{ ...ctx.ui.table.row, ...attribs },
- ...body
+ ...body,
];
/**
@@ -66,12 +66,12 @@ export const table = (
(cols: any) => [
row,
null,
- map((x) => ["td", ctx.ui.table.cell, x], cols)
+ map((x) => ["td", ctx.ui.table.cell, x], cols),
],
rows
- )
- ]
+ ),
+ ],
],
body
- )
+ ),
];
diff --git a/examples/commit-table-ssr/src/common/config.ts b/examples/commit-table-ssr/src/common/config.ts
index 722b505a74..33a92a6045 100644
--- a/examples/commit-table-ssr/src/common/config.ts
+++ b/examples/commit-table-ssr/src/common/config.ts
@@ -5,25 +5,25 @@ export const DEFAULT_DOC: HTMLDoc = {
meta: [
{
"http-equiv": "Content-Type",
- content: "text/html;charset=UTF-8"
+ content: "text/html;charset=UTF-8",
},
- { "http-equiv": "X-UA-Compatible", content: "ie=edge" }
+ { "http-equiv": "X-UA-Compatible", content: "ie=edge" },
],
links: [
{
rel: "stylesheet",
- href: "https://unpkg.com/tachyons@4.11.1/css/tachyons.min.css"
+ href: "https://unpkg.com/tachyons@4.11.1/css/tachyons.min.css",
},
{
rel: "stylesheet",
- href: "https://fonts.googleapis.com/css?family=Inconsolata"
- }
+ href: "https://fonts.googleapis.com/css?family=Inconsolata",
+ },
],
scripts: [],
styles: [],
- title: ""
+ title: "",
},
- body: []
+ body: [],
};
/**
@@ -33,34 +33,34 @@ export const ctx: AppContext = {
repo: {
name: "thi.ng/umbrella",
path: ".",
- url: "https://github.com/thi-ng/umbrella"
+ url: "https://github.com/thi-ng/umbrella",
},
ui: {
body: { class: "sans-serif vh-100" },
link: { class: "link blue hover-light-blue" },
header: {
root: { class: "bg-dark-gray white pa3 ma0 w-100" },
- title: { class: "tc ma0 pa0 fw1" }
+ title: { class: "tc ma0 pa0 fw1" },
},
table: {
root: {
class: "w-100 collapse ba br2 b--black-10 pv2 ph3 f7 f6-ns",
- style: { "font-family": "Inconsolata, monospace" }
+ style: { "font-family": "Inconsolata, monospace" },
},
head: {
row: { class: "tl bg-black white" },
- cell: { class: "pv1 pv2-ns ph2 ph3-ns" }
+ cell: { class: "pv1 pv2-ns ph2 ph3-ns" },
},
row: { class: "striped--light-gray" },
- cell: { class: "pv1 pv2-ns ph2 ph3-ns" }
+ cell: { class: "pv1 pv2-ns ph2 ph3-ns" },
},
stats: {
root: {
- class: "flex items-center pa2 bg-light-green dark-gray f7"
+ class: "flex items-center pa2 bg-light-green dark-gray f7",
},
col: { class: "w-33" },
- link: { class: "link dark-gray" }
+ link: { class: "link dark-gray" },
},
- search: { class: "pa1 mh2" }
- }
+ search: { class: "pa1 mh2" },
+ },
};
diff --git a/examples/commit-table-ssr/src/server/build-table.ts b/examples/commit-table-ssr/src/server/build-table.ts
index 645cdc653e..5595478370 100644
--- a/examples/commit-table-ssr/src/server/build-table.ts
+++ b/examples/commit-table-ssr/src/server/build-table.ts
@@ -11,5 +11,8 @@ import type { Commit } from "../common/api";
export const buildRepoTableHTML = (commits: Iterable) =>
html({
ctx,
- body: [[header, ctx.repo.name], [repoTable, commits]]
+ body: [
+ [header, ctx.repo.name],
+ [repoTable, commits],
+ ],
});
diff --git a/examples/commit-table-ssr/src/server/git.ts b/examples/commit-table-ssr/src/server/git.ts
index ed2f2cc166..90d35bc049 100644
--- a/examples/commit-table-ssr/src/server/git.ts
+++ b/examples/commit-table-ssr/src/server/git.ts
@@ -7,7 +7,7 @@ import {
mapcat,
partitionBy,
transduce,
- zip
+ zip,
} from "@thi.ng/transducers";
import { execSync } from "child_process";
import { resolve } from "path";
@@ -84,7 +84,7 @@ export const repoCommits = (repoPath: string) =>
(commit) =>
{
...parseLog(commit),
- ...parseStats(commit)
+ ...parseStats(commit),
}
)
),
diff --git a/examples/commit-table-ssr/src/server/html.ts b/examples/commit-table-ssr/src/server/html.ts
index c0f889095e..db2721f50c 100644
--- a/examples/commit-table-ssr/src/server/html.ts
+++ b/examples/commit-table-ssr/src/server/html.ts
@@ -30,9 +30,9 @@ export const html = (doc: HTMLDoc) => {
map((s) => script(null, s), doc.head!.scripts || []),
map((link) => ["link", link], doc.head!.links || []),
map((css) => ["style", css], doc.head!.styles || []),
- ["title", doc.head!.title || ""]
+ ["title", doc.head!.title || ""],
],
- ["body", doc.ctx!.ui.body, ...doc.body]
+ ["body", doc.ctx!.ui.body, ...doc.body],
],
doc.ctx
)}`;
diff --git a/examples/commit-table-ssr/src/server/index.ts b/examples/commit-table-ssr/src/server/index.ts
index b63b00544b..0601bcc93d 100644
--- a/examples/commit-table-ssr/src/server/index.ts
+++ b/examples/commit-table-ssr/src/server/index.ts
@@ -16,7 +16,7 @@ const htmlCache = new TLRUCache(null, { ttl: 60 * 60 * 1000 });
const bundler = new Bundler("index.html", {
outDir: "./out",
outFile: "index.html",
- publicUrl: "/out"
+ publicUrl: "/out",
});
const getCommits = async () => {
diff --git a/examples/crypto-chart/src/index.ts b/examples/crypto-chart/src/index.ts
index ebf8408a1b..fe33a053d4 100644
--- a/examples/crypto-chart/src/index.ts
+++ b/examples/crypto-chart/src/index.ts
@@ -6,7 +6,7 @@ import {
polyline,
rect,
svg,
- text
+ text,
} from "@thi.ng/hiccup-svg";
import { fit } from "@thi.ng/math";
import { resolve } from "@thi.ng/resolve-map";
@@ -17,7 +17,7 @@ import {
stream,
Subscription,
sync,
- trace
+ trace,
} from "@thi.ng/rstream";
import { padLeft } from "@thi.ng/strings";
import {
@@ -33,15 +33,10 @@ import {
push,
range,
transduce,
- Transducer
+ Transducer,
} from "@thi.ng/transducers";
import { updateDOM } from "@thi.ng/transducers-hdom";
-import {
- ema,
- hma,
- sma,
- wma
-} from "@thi.ng/transducers-stats";
+import { ema, hma, sma, wma } from "@thi.ng/transducers-stats";
import type { Fn, IObjectOf } from "@thi.ng/api";
// this example demonstrates how to use @thi.ng/rstream &
@@ -70,7 +65,7 @@ interface MarketResponse {
const TIMEFRAMES: IObjectOf = {
1: "Minute",
60: "Hour",
- 1440: "Day"
+ 1440: "Day",
};
// supported symbol pairs
@@ -80,7 +75,7 @@ const SYMBOL_PAIRS: DropDownOption[] = [
["ETHUSD", "ETH-USD"],
["LTCUSD", "LTC-USD"],
["XLMUSD", "XLM-USD"],
- ["XMRUSD", "XMR-USD"]
+ ["XMRUSD", "XMR-USD"],
];
const MA_MODES: IObjectOf<{
@@ -90,7 +85,7 @@ const MA_MODES: IObjectOf<{
ema: { fn: ema, label: "Exponential" },
hma: { fn: hma, label: "Hull" },
sma: { fn: sma, label: "Simple" },
- wma: { fn: wma, label: "Weighted" }
+ wma: { fn: wma, label: "Weighted" },
};
// chart settings
@@ -101,7 +96,7 @@ const DAY = 60 * 60 * 24;
const TIME_TICKS: IObjectOf = {
1: 15 * 60,
60: DAY,
- 1440: DAY * 14
+ 1440: DAY * 14,
};
const TIME_FORMATS: IObjectOf> = {
@@ -120,7 +115,7 @@ const TIME_FORMATS: IObjectOf> = {
return `${d.getUTCFullYear()}-${Z2(d.getUTCMonth() + 1)}-${Z2(
d.getUTCDate()
)}`;
- }
+ },
};
// UI theme presets
@@ -141,8 +136,8 @@ const THEMES: any = {
sma50: "#06f",
sma72: "#00f",
gridMajor: "#666",
- gridMinor: "#ccc"
- }
+ gridMinor: "#ccc",
+ },
},
dark: {
id: "dark",
@@ -160,9 +155,9 @@ const THEMES: any = {
sma50: "#06f",
sma72: "#00f",
gridMajor: "#666",
- gridMinor: "#333"
- }
- }
+ gridMinor: "#333",
+ },
+ },
};
// constructs request URL from given inputs
@@ -223,7 +218,7 @@ const response = sync({
(e) => error.next(e.message)
)
.then((json) => ({ ...inst, ohlc: json ? json.Data : null }))
- )
+ ),
}).subscribe(resolvePromise({ fail: (e) => error.next(e.message) }));
// this stream combinator computes a number of statistics on incoming OHLC data
@@ -231,7 +226,7 @@ const response = sync({
const data = sync({
src: {
response,
- avg: avgMode.transform(map((id: string) => MA_MODES[id].fn))
+ avg: avgMode.transform(map((id: string) => MA_MODES[id].fn)),
},
xform: comp(
// bail if response value has no OHLC data
@@ -246,7 +241,7 @@ const data = sync({
transduce(pluck("high"), max(), ohlc),
tbounds: ({ ohlc }: MarketResponse) => [
ohlc[0].time,
- ohlc[ohlc.length - 1].time
+ ohlc[ohlc.length - 1].time,
],
sma: ({ ohlc }: MarketResponse) =>
transduce(
@@ -256,14 +251,14 @@ const data = sync({
comp(pluck("close"), avg(period)),
push(),
ohlc
- )
+ ),
]),
push(),
[12, 24, 50, 72]
- )
+ ),
})
)
- )
+ ),
});
// this stream combinator (re)computes the SVG chart
@@ -274,7 +269,7 @@ const chart = sync({
theme,
window: fromEvent(window, "resize").transform(
map(() => [window.innerWidth, window.innerHeight])
- )
+ ),
},
xform: map(({ data, window, theme }) => {
let [width, height] = window;
@@ -292,7 +287,7 @@ const chart = sync({
polyline(
vals.map((y, x) => [
mapX(x + (ohlc.length - vals.length) + 0.5),
- mapY(y)
+ mapY(y),
]),
{ stroke: col, fill: "none" }
);
@@ -331,7 +326,7 @@ const chart = sync({
{
stroke: theme.chart.axis,
fill: theme.chart.axis,
- "text-anchor": "end"
+ "text-anchor": "end",
},
line([MARGIN_X, MARGIN_Y], [MARGIN_X, by]),
line([MARGIN_X, by], [width - MARGIN_X, by]),
@@ -345,11 +340,11 @@ const chart = sync({
price % 100 < 1
? theme.chart.gridMajor
: theme.chart.gridMinor,
- "stroke-dasharray": 2
+ "stroke-dasharray": 2,
}),
text([MARGIN_X - 15, y + 4], price.toFixed(4), {
- stroke: "none"
- })
+ stroke: "none",
+ }),
];
}, range(Math.ceil(data.min / tickY) * tickY, data.max, tickY)),
// X axis ticks
@@ -365,12 +360,12 @@ const chart = sync({
line([x, by], [x, by + 10]),
line([x, MARGIN_Y], [x, by], {
stroke: theme.chart.gridMinor,
- "stroke-dasharray": 2
+ "stroke-dasharray": 2,
}),
text([x, by + 20], fmtTime(t), {
stroke: "none",
- "text-anchor": "middle"
- })
+ "text-anchor": "middle",
+ }),
];
}, range(Math.ceil(data.tbounds[0] / tickX) * tickX, data.tbounds[1], tickX))
),
@@ -405,7 +400,7 @@ const chart = sync({
}, ohlc),
// price line
line([MARGIN_X, closeY], [closeX, closeY], {
- stroke: theme.chart.price
+ stroke: theme.chart.price,
}),
// closing price tag
polygon(
@@ -414,15 +409,15 @@ const chart = sync({
[closeX + 10, closeY - 8],
[width, closeY - 8],
[width, closeY + 8],
- [closeX + 10, closeY + 8]
+ [closeX + 10, closeY + 8],
],
{ fill: theme.chart.price }
),
text([closeX + 12, closeY + 4], lastPrice.toFixed(4), {
- fill: theme.chart.pricelabel
+ fill: theme.chart.pricelabel,
})
);
- })
+ }),
});
// stream construct to perform UI update
@@ -441,7 +436,7 @@ sync({
...map(
([id, mode]) => [id, mode.label],
pairs(MA_MODES)
- )
+ ),
])
),
themeSel: theme.transform(
@@ -451,9 +446,9 @@ sync({
([id, theme]: [string, any]) =>
[id, theme.label],
pairs(THEMES)
- )
+ ),
])
- )
+ ),
},
xform: comp(
// combines all inputs into a single root component
@@ -467,8 +462,8 @@ sync({
style: {
top: `1rem`,
right: `${MARGIN_X}px`,
- width: `calc(100vw - 2 * ${MARGIN_X}px)`
- }
+ width: `calc(100vw - 2 * ${MARGIN_X}px)`,
+ },
},
[
"div.flex",
@@ -476,9 +471,9 @@ sync({
symbol,
period,
avg,
- themeSel
- ])
- ]
+ themeSel,
+ ]),
+ ],
],
[
"div.fixed.tc",
@@ -486,31 +481,31 @@ sync({
style: {
bottom: `1rem`,
left: `${MARGIN_X}px`,
- width: `calc(100vw - 2 * ${MARGIN_X}px)`
- }
+ width: `calc(100vw - 2 * ${MARGIN_X}px)`,
+ },
},
[
"a",
{
class: `mr3 b link ${theme.body}`,
- href: "https://min-api.cryptocompare.com/"
+ href: "https://min-api.cryptocompare.com/",
},
- "Data by cyptocompare.com"
+ "Data by cyptocompare.com",
],
[
"a",
{
class: `mr3 b link ${theme.body}`,
href:
- "https://github.com/thi-ng/umbrella/tree/develop/examples/crypto-chart/"
+ "https://github.com/thi-ng/umbrella/tree/develop/examples/crypto-chart/",
},
- "Source"
- ]
- ]
+ "Source",
+ ],
+ ],
]),
// perform hdom update / diffing
updateDOM()
- )
+ ),
});
// kick off dataflow
diff --git a/examples/fft-synth/src/automode.ts b/examples/fft-synth/src/automode.ts
index 928e3811c8..e3d9a997b1 100644
--- a/examples/fft-synth/src/automode.ts
+++ b/examples/fft-synth/src/automode.ts
@@ -9,7 +9,7 @@ const weights = [
...map(
(x) => 1 - Math.pow((x - 1) / NUM_BINS, 0.15) * 0.99,
range(1, NUM_BINS)
- )
+ ),
];
const rnd = weightedRandom([...range(0, NUM_BINS)], weights);
diff --git a/examples/fft-synth/src/config.ts b/examples/fft-synth/src/config.ts
index 8adc922370..2e9833fa8c 100644
--- a/examples/fft-synth/src/config.ts
+++ b/examples/fft-synth/src/config.ts
@@ -1,11 +1,6 @@
import { binFreq } from "@thi.ng/dsp";
import { float, percent } from "@thi.ng/strings";
-import {
- map,
- mapcat,
- range,
- repeat
-} from "@thi.ng/transducers";
+import { map, mapcat, range, repeat } from "@thi.ng/transducers";
export const NUM_BINS = 64;
export const WINDOW_LEN = NUM_BINS * 2;
@@ -17,12 +12,12 @@ export const FMT_PERCENT = percent(3);
export const PRESETS: any[] = [
() => [0, 1, ...repeat(0, NUM_BINS - 2)],
() => [0, ...map((i) => 1 / i, range(1, NUM_BINS))],
- () => [...mapcat((i) => [0, 1 / i], range(1, NUM_BINS + 1, 2))]
+ () => [...mapcat((i) => [0, 1 / i], range(1, NUM_BINS + 1, 2))],
];
export const BIN_LABELS = [
...map(
(i) => (binFreq(i, 48000 / PITCH_SCALE, WINDOW_LEN) | 0) + " Hz",
range(NUM_BINS)
- )
+ ),
];
diff --git a/examples/fft-synth/src/gui.ts b/examples/fft-synth/src/gui.ts
index 3e9123d1d7..a0f181c15c 100644
--- a/examples/fft-synth/src/gui.ts
+++ b/examples/fft-synth/src/gui.ts
@@ -5,7 +5,7 @@ import {
sliderH,
sliderVGroup,
textLabel,
- toggle
+ toggle,
} from "@thi.ng/imgui";
import { gridLayout, GridLayout } from "@thi.ng/layout";
import { initAudio, isAudioActive, stopAudio } from "./audio";
@@ -16,14 +16,14 @@ import {
FMT_PERCENT,
NUM_BINS,
PITCH_SCALE,
- WINDOW_LEN
+ WINDOW_LEN,
} from "./config";
import {
clearSpectrum,
DB,
setGain,
setSpectrumPreset,
- updateSpectrumBin
+ updateSpectrumBin,
} from "./state";
export const gui = new IMGUI({
@@ -31,8 +31,8 @@ export const gui = new IMGUI({
...DEFAULT_THEME,
globalBg: "#ccc",
font: "10px Inconsolata",
- charWidth: 5
- }
+ charWidth: 5,
+ },
});
export const updateGUI = (draw: boolean) => {
diff --git a/examples/fft-synth/src/index.ts b/examples/fft-synth/src/index.ts
index 2b674d9bfd..084a0dacfb 100644
--- a/examples/fft-synth/src/index.ts
+++ b/examples/fft-synth/src/index.ts
@@ -6,7 +6,7 @@ import {
fromRAF,
merge,
sidechainPartition,
- sync
+ sync,
} from "@thi.ng/rstream";
import { gestureStream } from "@thi.ng/rstream-gestures";
import { map, mapIndexed } from "@thi.ng/transducers";
@@ -17,8 +17,8 @@ import { DB } from "./state";
const main = sync({
src: {
- state: fromAtom(DB)
- }
+ state: fromAtom(DB),
+ },
});
const app = () => {
@@ -31,7 +31,7 @@ const app = () => {
gestureStream(canv, {}).subscribe({
next(e) {
gui.setMouse(e.pos, e.buttons);
- }
+ },
}),
fromDOMEvent(window, "resize").subscribe({
next() {
@@ -39,12 +39,12 @@ const app = () => {
["size"],
[window.innerWidth, window.innerHeight]
);
- }
- })
- ]
+ },
+ }),
+ ],
})
);
- }
+ },
};
return () => {
@@ -61,7 +61,7 @@ const app = () => {
width,
height,
style: { background: gui.theme.globalBg, cursor: gui.cursor },
- ...gui.attribs
+ ...gui.attribs,
},
gui,
// waveform display
@@ -72,12 +72,12 @@ const app = () => {
...mapIndexed(
(i, y) => [
fit(i, 0, WINDOW_LEN - 1, 10, iwidth),
- fitClamped(y, -1, 1, 490, 290)
+ fitClamped(y, -1, 1, 490, 290),
],
DB.value.wave
- )
- ]
- ]
+ ),
+ ],
+ ],
];
};
};
diff --git a/examples/fft-synth/src/state.ts b/examples/fft-synth/src/state.ts
index f18cf40cd5..b2ece0fdbf 100644
--- a/examples/fft-synth/src/state.ts
+++ b/examples/fft-synth/src/state.ts
@@ -12,7 +12,7 @@ export const DB = new Atom({
feedback: 0.66,
bins: [...repeat(0, NUM_BINS)],
wave: new Float64Array(NUM_BINS * 2),
- size: [window.innerWidth, window.innerHeight]
+ size: [window.innerWidth, window.innerHeight],
});
export const setGain = (gain: number) => {
diff --git a/examples/geom-convex-hull/src/index.ts b/examples/geom-convex-hull/src/index.ts
index e71d94984f..18f445b7d2 100644
--- a/examples/geom-convex-hull/src/index.ts
+++ b/examples/geom-convex-hull/src/index.ts
@@ -7,7 +7,7 @@ import {
polygon,
rect,
scatter,
- withAttribs
+ withAttribs,
} from "@thi.ng/geom";
import { renderOnce } from "@thi.ng/hdom";
import { canvas } from "@thi.ng/hdom-canvas";
@@ -47,16 +47,16 @@ renderOnce([
withAttribs(clip, {
fill: COL3(0.5),
stroke: COL3(1),
- weight: 3
+ weight: 3,
}),
...(<[IShape, string][]>[
[hull1, COL1(1)],
[hull2, COL2(1)],
- [clip, COL3(1)]
+ [clip, COL3(1)],
]).map(([shape, col]) => [
"text",
{ fill: col },
centroid(shape),
- area(shape).toFixed(2)
- ])
+ area(shape).toFixed(2),
+ ]),
]);
diff --git a/examples/geom-knn/src/index.ts b/examples/geom-knn/src/index.ts
index 2769cbe8c5..ea92bb3963 100644
--- a/examples/geom-knn/src/index.ts
+++ b/examples/geom-knn/src/index.ts
@@ -17,7 +17,7 @@ const app = (main: StreamSync) => {
const _canvas = {
...canvas,
init: (el: HTMLCanvasElement) =>
- main.add(gestureStream(el).transform(map((g) => g.pos)), "mpos")
+ main.add(gestureStream(el).transform(map((g) => g.pos)), "mpos"),
};
// initialize 1st point & store in tree for fast KNN searches
const width = window.innerWidth;
@@ -58,7 +58,7 @@ const app = (main: StreamSync) => {
.queryKeys(p[0], width / 4, 8)
.map((q) => ["line", {}, p[0], q]),
selected
- )
+ ),
]);
return [
"div.overflow-hidden.sans-serif.f7",
@@ -67,7 +67,7 @@ const app = (main: StreamSync) => {
"div",
`Points: ${tree.size}, Sel: ${selected.length}, `,
`Neighbors: ${neighbors.length}, Q1: ${t1}ms, Q2: ${t2}ms, `,
- `Height: ${tree.height}, Ratio: ${tree.ratio.toFixed(2)}`
+ `Height: ${tree.height}, Ratio: ${tree.ratio.toFixed(2)}`,
],
// visualize
// the __diff & __normalize control attribs are used to optimize drawing perf
@@ -81,11 +81,11 @@ const app = (main: StreamSync) => {
[
"g",
{ fill: "rgba(0,192,255,0.5)" },
- ...selected.map((p) => ["circle", {}, p[0], p[1]])
+ ...selected.map((p) => ["circle", {}, p[0], p[1]]),
],
// secondary neighbor connections
- ["g", { stroke: "rgba(0,0,0,0.25)" }, ...neighbors]
- ]
+ ["g", { stroke: "rgba(0,0,0,0.25)" }, ...neighbors],
+ ],
];
};
};
diff --git a/examples/geom-tessel/src/index.ts b/examples/geom-tessel/src/index.ts
index 3341c9690c..377c52862d 100644
--- a/examples/geom-tessel/src/index.ts
+++ b/examples/geom-tessel/src/index.ts
@@ -6,7 +6,7 @@ import {
circle,
Polygon,
polygon,
- tessellate
+ tessellate,
} from "@thi.ng/geom";
import { edgeSplit, quadFan, triFan } from "@thi.ng/geom-tessellate";
import { canvas } from "@thi.ng/hdom-canvas";
@@ -58,7 +58,7 @@ const arclengthToHSL = (max: number, p: IShape) =>
const tintedPoly = (tint: Tint, points: Vec[]) => {
const p = polygon(points);
p.attribs = {
- fill: tint(p)
+ fill: tint(p),
// stroke: tint(p),
};
return p;
@@ -79,8 +79,8 @@ const tessellation = (t: number, tessel: Tessellator[], tint: Tint) => {
const main = sync({
src: {
- time: fromInterval(16)
- }
+ time: fromInterval(16),
+ },
}).transform(
// root component function
map(({ time }) => {
@@ -103,11 +103,11 @@ const main = sync({
translate: [300, 300],
// rotate: (time / 10) % TAU,
stroke: "#000",
- weight: 0.25
+ weight: 0.25,
},
- ...cells
- ]
- ]
+ ...cells,
+ ],
+ ],
];
}),
updateDOM()
diff --git a/examples/geom-voronoi-mst/src/index.ts b/examples/geom-voronoi-mst/src/index.ts
index 5d33520319..14da01520e 100644
--- a/examples/geom-voronoi-mst/src/index.ts
+++ b/examples/geom-voronoi-mst/src/index.ts
@@ -10,7 +10,7 @@ import {
rect,
scatter,
star,
- vertices
+ vertices,
} from "@thi.ng/geom";
import { KdTreeMap, KdTreeSet } from "@thi.ng/geom-accel";
import { DVMesh } from "@thi.ng/geom-voronoi";
@@ -24,14 +24,9 @@ import {
mapcat,
mapIndexed,
push,
- transduce
+ transduce,
} from "@thi.ng/transducers";
-import {
- dist,
- floor,
- ReadonlyVec,
- Vec
-} from "@thi.ng/vectors";
+import { dist, floor, ReadonlyVec, Vec } from "@thi.ng/vectors";
const W = 500;
const R = W / 2;
@@ -45,7 +40,7 @@ const pts = timed(() =>
density: (p) => fit(dist(p, closestPoint(poly, p)!), 0, R, 1, 20),
max: 10000,
quality: 1000,
- index: new KdTreeSet(2)
+ index: new KdTreeSet(2),
})
);
@@ -57,9 +52,9 @@ const _mst = timed(() => {
(e) => [floor(null, e[0]), floor(null, e[1])],
mesh.edges(false, [
[-R, -R],
- [R, R]
+ [R, R],
])
- )
+ ),
];
const idx = new KdTreeMap(2);
@@ -98,6 +93,6 @@ renderOnce([
mesh.voronoi(vertices(bounds)).map((p) => polygon(p))
),
points(pts, { fill: "#f09", size: 2 }),
- group({ stroke: "#000", weight: 1 }, _mst)
- ])
+ group({ stroke: "#000", weight: 1 }, _mst),
+ ]),
]);
diff --git a/examples/gesture-analysis/src/index.ts b/examples/gesture-analysis/src/index.ts
index 853f7ae7c2..8134f1ad2a 100644
--- a/examples/gesture-analysis/src/index.ts
+++ b/examples/gesture-analysis/src/index.ts
@@ -1,14 +1,13 @@
import { peek } from "@thi.ng/arrays";
import { identity } from "@thi.ng/compose";
import { polyline as gPolyline, resample, vertices } from "@thi.ng/geom";
-import {
- circle,
- group,
- polyline,
- svg
-} from "@thi.ng/hiccup-svg";
+import { circle, group, polyline, svg } from "@thi.ng/hiccup-svg";
import { fromIterable, merge, sync } from "@thi.ng/rstream";
-import { GestureEvent, gestureStream, GestureType } from "@thi.ng/rstream-gestures";
+import {
+ GestureEvent,
+ gestureStream,
+ GestureType,
+} from "@thi.ng/rstream-gestures";
import {
comp,
filter,
@@ -16,15 +15,10 @@ import {
multiplexObj,
partition,
push,
- transduce
+ transduce,
} from "@thi.ng/transducers";
import { updateDOM } from "@thi.ng/transducers-hdom";
-import {
- angleBetween2,
- mixN2,
- sub2,
- Vec
-} from "@thi.ng/vectors";
+import { angleBetween2, mixN2, sub2, Vec } from "@thi.ng/vectors";
import { CTA } from "./config";
/**
@@ -36,7 +30,7 @@ import { CTA } from "./config";
*/
const app = ({
raw,
- processed
+ processed,
}: {
raw: Vec[];
processed: { path: Vec[]; corners: Vec[] };
@@ -47,7 +41,7 @@ const app = ({
width: window.innerWidth,
height: window.innerHeight,
stroke: "none",
- fill: "none"
+ fill: "none",
},
path(raw || [], processed.path, processed.corners || [])
),
@@ -55,8 +49,8 @@ const app = ({
"div.fixed.top-0.left-0.ma3",
["div", `raw: ${(raw && raw.length) || 0}`],
["div", `resampled: ${(processed && processed.path.length) || 0}`],
- ["div", `corners: ${(processed && processed.corners.length) || 0}`]
- ]
+ ["div", `corners: ${(processed && processed.corners.length) || 0}`],
+ ],
];
/**
@@ -148,8 +142,8 @@ const gesture = merge({
(g) => g.type != GestureType.MOVE && g.type != GestureType.ZOOM
),
map(collectPath())
- )
- ]
+ ),
+ ],
});
// main gesture processor
@@ -177,11 +171,11 @@ sync({
push(),
pts
)
- )
+ ),
})
)
- )
- }
+ ),
+ },
}).transform(
// transform result tuples into HDOM components
map(app),
diff --git a/examples/grid-iterators/src/index.ts b/examples/grid-iterators/src/index.ts
index ab30a13f0c..7e58cd800f 100644
--- a/examples/grid-iterators/src/index.ts
+++ b/examples/grid-iterators/src/index.ts
@@ -9,7 +9,7 @@ import {
zcurve2d,
zigzagColumns2d,
zigzagDiagonal2d,
- zigzagRows2d
+ zigzagRows2d,
} from "@thi.ng/grid-iterators";
import { createElement } from "@thi.ng/hdom";
import { concat, cycle } from "@thi.ng/transducers";
@@ -19,7 +19,7 @@ const H = 256;
const canvas = (
createElement(document.getElementById("app")!, "canvas", {
width: W,
- height: H
+ height: H,
})
);
const ctx = canvas.getContext("2d")!;
diff --git a/examples/hdom-benchmark/src/index.ts b/examples/hdom-benchmark/src/index.ts
index dc74a68536..30ed488c6f 100644
--- a/examples/hdom-benchmark/src/index.ts
+++ b/examples/hdom-benchmark/src/index.ts
@@ -9,7 +9,7 @@ import {
mapIndexed,
movingAverage,
partition,
- range
+ range,
} from "@thi.ng/transducers";
/**
@@ -23,10 +23,10 @@ const box = (index: number, id: number) => [
{
key: index,
style: {
- background: "#" + U24(((id & 0x1ff) << 15) | (id << 10) | id)
- }
+ background: "#" + U24(((id & 0x1ff) << 15) | (id << 10) | id),
+ },
},
- U16(id & 0xffff)
+ U16(id & 0xffff),
];
/**
@@ -70,7 +70,7 @@ const fpsCounter = (
2,
height - 4
);
- }
+ },
},
// stream transducer to compute the windowed moving avarage
comp(
@@ -87,8 +87,8 @@ const fpsCounter = (
ctx.fillStyle = txtCol;
ctx.fillText("sampling...", 2, height - 4);
},
- render: () => ["canvas", { width, height }]
- }
+ render: () => ["canvas", { width, height }],
+ },
];
};
@@ -105,14 +105,14 @@ const app = () => {
{
onchange: (e: Event) => {
num = parseInt((e.target).value);
- }
+ },
},
[
[128, 128],
[192, 192],
[256, 256],
[384, 384],
- [512, 512]
+ [512, 512],
]
);
@@ -121,7 +121,7 @@ const app = () => {
return [
"div",
["div#stats", fps, menu],
- ["grid", mapIndexed(box, range(j, j + num))]
+ ["grid", mapIndexed(box, range(j, j + num))],
];
};
};
diff --git a/examples/hdom-benchmark2/src/index.ts b/examples/hdom-benchmark2/src/index.ts
index c1244bd946..18fe426304 100644
--- a/examples/hdom-benchmark2/src/index.ts
+++ b/examples/hdom-benchmark2/src/index.ts
@@ -10,7 +10,7 @@ import {
partition,
push,
range,
- transduce
+ transduce,
} from "@thi.ng/transducers";
const SIZE = "0.5rem";
@@ -21,8 +21,8 @@ injectStyleSheet(
(x: number) => [
`.cell-${x}`,
{
- background: `#${U24(splat4_24(x))}`
- }
+ background: `#${U24(splat4_24(x))}`,
+ },
],
range(16)
),
@@ -30,8 +30,8 @@ injectStyleSheet(
(x: number) => [
`.xcell-${x}`,
{
- background: `#${U24(splat4_24(x) | 0x00ff00)}`
- }
+ background: `#${U24(splat4_24(x) | 0x00ff00)}`,
+ },
],
range(16)
),
@@ -40,15 +40,15 @@ injectStyleSheet(
{
display: "inline-block",
width: SIZE,
- height: SIZE
- }
+ height: SIZE,
+ },
],
[
".row",
{
- height: SIZE
- }
- ]
+ height: SIZE,
+ },
+ ],
])
);
@@ -81,8 +81,8 @@ const grid = {
"span",
{
key: "c" + i,
- class: `cell ${changed.has(i) ? "xcell" : "cell"}-${x}`
- }
+ class: `cell ${changed.has(i) ? "xcell" : "cell"}-${x}`,
+ },
]),
partition(w),
mapIndexed((i, row) => [
@@ -91,9 +91,12 @@ const grid = {
key: "r" + i,
__skip:
!isFirst &&
- !(this.prevChangedRows.has(i) || changedRows.has(i))
+ !(
+ this.prevChangedRows.has(i) ||
+ changedRows.has(i)
+ ),
},
- row
+ row,
])
),
push(),
@@ -115,12 +118,12 @@ const grid = {
this.stats = {
cells: mergedCells.size,
rows: mergedRows.size,
- total: mergedCells.size + mergedRows.size
+ total: mergedCells.size + mergedRows.size,
};
this.prevChanged = changed;
this.prevChangedRows = changedRows;
return body;
- }
+ },
};
const domStats = (_: any, grid: any, res: number, _static: number) =>
@@ -132,8 +135,8 @@ const domStats = (_: any, grid: any, res: number, _static: number) =>
[
"div",
["span.pink", res * res + res + _static],
- " DOM nodes total"
- ]
+ " DOM nodes total",
+ ],
]
: null;
@@ -152,10 +155,10 @@ const resOpts = [
[40, 40],
[48, 48],
[56, 56],
- [64, 64]
+ [64, 64],
];
const deltaOpts = [
- ...map((i) => [i, i], [1, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024])
+ ...map((i) => [i, i], [1, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024]),
];
const cancel = start(() => {
@@ -166,7 +169,7 @@ const cancel = start(() => {
"div.measure.lh-copy",
`Each grid cell is one element. Each frame ${delta} random cell states
will be updated (highlighted in green), resulting in approx. twice as many
- DOM updates (due to resetting of updated cells from previous frame).`
+ DOM updates (due to resetting of updated cells from previous frame).`,
],
["div.mt3", [grid, cells, res, delta, frame]],
["div.mt3", [domStats, grid, res, 46]],
@@ -182,11 +185,11 @@ const cancel = start(() => {
(res = parseInt((e.target).value)),
(frame = -1),
(cells = newCells(res))
- )
+ ),
},
resOpts,
- res
- ]
+ res,
+ ],
],
[
"div.mt3",
@@ -196,11 +199,11 @@ const cancel = start(() => {
{
class: "w3 code",
onchange: (e: Event) =>
- (delta = parseInt((e.target).value))
+ (delta = parseInt((e.target).value)),
},
deltaOpts,
- delta
- ]
+ delta,
+ ],
],
[
"div.mt3",
@@ -208,11 +211,11 @@ const cancel = start(() => {
"a",
{
href:
- "https://github.com/thi-ng/umbrella/tree/develop/examples/hdom-benchmark2"
+ "https://github.com/thi-ng/umbrella/tree/develop/examples/hdom-benchmark2",
},
- "Source"
- ]
- ]
+ "Source",
+ ],
+ ],
];
});
diff --git a/examples/hdom-canvas-clock/src/index.ts b/examples/hdom-canvas-clock/src/index.ts
index 50f174ab35..d5aad206e9 100644
--- a/examples/hdom-canvas-clock/src/index.ts
+++ b/examples/hdom-canvas-clock/src/index.ts
@@ -13,16 +13,16 @@ const tick = (i: number, r1: number, r2: number) => {
"line",
{},
cartesian2(null, [r1, theta]),
- cartesian2(null, [r2, theta])
+ cartesian2(null, [r2, theta]),
],
i % 3 == 0
? [
"text",
{ stroke: "none" },
cartesian2(null, [r1 - 10, theta]),
- i > 0 ? i : 12
+ i > 0 ? i : 12,
]
- : null
+ : null,
];
};
@@ -40,8 +40,8 @@ const hand = (
[
[r1, theta - eps],
[r2, theta],
- [r1, theta + eps]
- ].map((p) => cartesian2(null, p))
+ [r1, theta + eps],
+ ].map((p) => cartesian2(null, p)),
];
};
@@ -70,7 +70,7 @@ const cancel = start(() => {
// applied in a nested manner...
//
// see here for a list of all supported attribs:
- // https://github.com/thi-ng/umbrella/blob/master/packages/hdom-canvas/src/index.ts#L35
+ // https://github.com/thi-ng/umbrella/blob/develop/packages/hdom-canvas/src/index.ts#L35
[
"g",
{
@@ -79,7 +79,7 @@ const cancel = start(() => {
fill: "none",
align: "center",
baseline: "middle",
- __normalize: false
+ __normalize: false,
},
// rim
["circle", {}, [0, 0], 99],
@@ -94,8 +94,8 @@ const cancel = start(() => {
"text",
{ stroke: "none" },
[55, 0],
- WEEKDAYS[now.getDay()]
- ]
+ WEEKDAYS[now.getDay()],
+ ],
],
// hands
[
@@ -108,20 +108,20 @@ const cancel = start(() => {
shadowX: 2,
shadowY: 2,
shadowBlur: 5,
- shadowColor: "rgba(0,0,0,0.4)"
+ shadowColor: "rgba(0,0,0,0.4)",
}),
- ["circle", {}, [0, 0], 5]
- ]
- ]
+ ["circle", {}, [0, 0], 5],
+ ],
+ ],
],
[
"a.link",
{
href:
- "https://github.com/thi-ng/umbrella/tree/develop/examples/hdom-canvas-clock"
+ "https://github.com/thi-ng/umbrella/tree/develop/examples/hdom-canvas-clock",
},
- "Source code"
- ]
+ "Source code",
+ ],
];
});
diff --git a/examples/hdom-canvas-draw/src/index.ts b/examples/hdom-canvas-draw/src/index.ts
index f2e5ebd319..d0a1ea6b03 100644
--- a/examples/hdom-canvas-draw/src/index.ts
+++ b/examples/hdom-canvas-draw/src/index.ts
@@ -1,7 +1,11 @@
import { canvas } from "@thi.ng/hdom-canvas";
import { HALF_PI, PI } from "@thi.ng/math";
import { StreamSync, sync, trigger } from "@thi.ng/rstream";
-import { GestureEvent, gestureStream, GestureType } from "@thi.ng/rstream-gestures";
+import {
+ GestureEvent,
+ gestureStream,
+ GestureType,
+} from "@thi.ng/rstream-gestures";
import {
filter,
map,
@@ -9,7 +13,7 @@ import {
normRange,
partition,
repeat,
- zip
+ zip,
} from "@thi.ng/transducers";
import { updateDOM } from "@thi.ng/transducers-hdom";
import { dist } from "@thi.ng/vectors";
@@ -23,7 +27,7 @@ const line = ([a, b]: number[][]) => (_: any, attribs: any) => [
"line",
{ ...attribs, weight: dist(a, b) / 4 },
a,
- b
+ b,
];
// higher order root component function. takes a @thi.ng/rstream
@@ -57,7 +61,7 @@ const app = (main: StreamSync) => {
),
// name of the new input
"gesture"
- )
+ ),
};
// this root component function will produce the actual UI and
// will be attached to the `main` stream combinator below and executes
@@ -79,11 +83,11 @@ const app = (main: StreamSync) => {
{
fill: "rgba(255,255,255,0.1)",
stroke: "black",
- dash: [1, 1]
+ dash: [1, 1],
},
[0, 0],
W,
- W
+ W,
],
// use a group node to assign attributes common to all children
[
@@ -102,11 +106,12 @@ const app = (main: StreamSync) => {
[
gesture,
{
- stroke: `hsl(${h +
- (delta - 0.5) * 40},100%,50%)`,
+ stroke: `hsl(${
+ h + (delta - 0.5) * 40
+ },100%,50%)`,
rotate: theta + (delta - 0.5) * 0.3,
- translate
- }
+ translate,
+ },
],
// iterator which forms tuples of `[attribs, counter]`
zip(repeat(attribs), normRange(6))
@@ -116,20 +121,20 @@ const app = (main: StreamSync) => {
[30, [0, 0], 0],
[120, [W, W], PI],
[210, [W, 0], HALF_PI],
- [300, [0, W], -HALF_PI]
+ [300, [0, W], -HALF_PI],
]
- )
- ]
+ ),
+ ],
],
// back in normal DOM
[
"a.db.link",
{
href:
- "https://github.com/thi-ng/umbrella/tree/develop/examples/hdom-canvas-draw"
+ "https://github.com/thi-ng/umbrella/tree/develop/examples/hdom-canvas-draw",
},
- "Source code"
- ]
+ "Source code",
+ ],
];
};
diff --git a/examples/hdom-canvas-particles/src/index.ts b/examples/hdom-canvas-particles/src/index.ts
index eb0379390e..4cd05f868c 100644
--- a/examples/hdom-canvas-particles/src/index.ts
+++ b/examples/hdom-canvas-particles/src/index.ts
@@ -28,7 +28,7 @@ const makeCurve = (i: number) =>
);
const initCurves = () => [
- ...map(makeCurve, range(-(NUMC >> 1), (NUMC >> 1) + 1))
+ ...map(makeCurve, range(-(NUMC >> 1), (NUMC >> 1) + 1)),
];
const updateCurves = (curves: Cubic[], t: number) => {
@@ -48,7 +48,7 @@ const updateCurves = (curves: Cubic[], t: number) => {
const makeParticle = (curves: Cubic[]) => ({
curve: curves[SYSTEM.int() % curves.length],
pos: 0,
- vel: SYSTEM.minmax(0.002, 0.01)
+ vel: SYSTEM.minmax(0.002, 0.01),
});
const updateParticles = (particles: Particle[]) => {
@@ -67,7 +67,7 @@ const particle = (p: Particle) => {
{ translate: pos },
// compute 2nd end point in local space
sub2(null, pointAt(p.curve, p.pos - 0.05), pos),
- ZERO2
+ ZERO2,
];
};
@@ -81,8 +81,8 @@ const GRAD = [
{ id: "curve", from: [0, 0], to: [600, 0] },
[
[0, [0.6, 0.01, 0]],
- [1, [0.2, 0, 0.6]]
- ]
+ [1, [0.2, 0, 0.6]],
+ ],
],
// for particles
[
@@ -90,9 +90,9 @@ const GRAD = [
{ id: "part", from: [-20, 0], to: [0, 0] },
[
[0, [1, 0, 0, 0]],
- [1, [1, 0.8, 0.5, 0.8]]
- ]
- ]
+ [1, [1, 0.8, 0.5, 0.8]],
+ ],
+ ],
];
const app = () => {
@@ -115,15 +115,15 @@ const app = () => {
translate: [0, height / 2],
scale,
stroke: "$curve",
- compose: "screen"
+ compose: "screen",
},
...curves,
[
"g",
{ stroke: "$part", weight: 2 },
- ...map(particle, particles)
- ]
- ]
+ ...map(particle, particles),
+ ],
+ ],
];
};
};
diff --git a/examples/hdom-canvas-shapes/src/index.ts b/examples/hdom-canvas-shapes/src/index.ts
index 6b9e0a297b..92b64c565d 100644
--- a/examples/hdom-canvas-shapes/src/index.ts
+++ b/examples/hdom-canvas-shapes/src/index.ts
@@ -7,12 +7,7 @@ import { COMMENT, serialize } from "@thi.ng/hiccup";
import { convertTree, svg } from "@thi.ng/hiccup-svg";
import { sincos } from "@thi.ng/math";
import { concat, skewX23, translation23 } from "@thi.ng/matrices";
-import {
- fromRAF,
- stream,
- Subscription,
- sync
-} from "@thi.ng/rstream";
+import { fromRAF, stream, Subscription, sync } from "@thi.ng/rstream";
import { map, range, repeatedly } from "@thi.ng/transducers";
import { updateDOM } from "@thi.ng/transducers-hdom";
import { addN } from "@thi.ng/vectors";
@@ -30,7 +25,7 @@ const randpos = () => [Math.random() * W - W2, Math.random() * W - W2];
const randdir = (n = 1) => [
Math.random() * n * 2 - n,
- Math.random() * n * 2 - n
+ Math.random() * n * 2 - n,
];
// various tests for different shapes & canvas drawing options
@@ -45,13 +40,13 @@ const TESTS: any = {
stroke: "#000",
weight: 3,
dash: [4, 8],
- dashOffset: (Date.now() * 0.01) % 12
+ dashOffset: (Date.now() * 0.01) % 12,
})
.moveTo([10, 10])
.quadraticTo([W2, W2], [W2, W - 10])
.quadraticTo([W2, W2], [W - 10, 10])
.quadraticTo([W2, W2], [10, 10])
- .current()
+ .current(),
},
"shape morph": {
@@ -69,14 +64,14 @@ const TESTS: any = {
dash: [20, 20],
dashOffset: (t * 5) % 40,
translate: [W2, W2],
- rotate: (t * 0.05) % (2 * Math.PI)
+ rotate: (t * 0.05) % (2 * Math.PI),
})
.moveTo([-100, -100])
.quadraticTo([-a, 0], [0, 100])
.quadraticTo([a, 0], [100, -100])
.quadraticTo([0, -a], [-100, -100])
.current();
- }
+ },
},
"points 1k": {
@@ -89,8 +84,8 @@ const TESTS: any = {
size: 4,
shape: "circle",
translate: [W2, W2],
- scale: 0.6 + 0.4 * Math.sin(Date.now() * 0.005)
- })
+ scale: 0.6 + 0.4 * Math.sin(Date.now() * 0.005),
+ }),
},
"points 10k": {
@@ -101,8 +96,8 @@ const TESTS: any = {
fill: "#000",
stroke: "none",
translate: [W2, W2],
- scale: 0.6 + 0.4 * Math.sin(Date.now() * 0.005)
- })
+ scale: 0.6 + 0.4 * Math.sin(Date.now() * 0.005),
+ }),
},
"points 50k": {
@@ -113,8 +108,8 @@ const TESTS: any = {
fill: "#000",
stroke: "none",
translate: [W2, W2],
- scale: 0.6 + 0.4 * Math.sin(Date.now() * 0.005)
- })
+ scale: 0.6 + 0.4 * Math.sin(Date.now() * 0.005),
+ }),
},
"rounded rects": {
@@ -131,16 +126,16 @@ const TESTS: any = {
align: "center",
baseline: "middle",
font: "48px Menlo",
- __normalize: false
+ __normalize: false,
},
...map(
(i) => ["rect", null, [i, i], W - 2 * i, W - 2 * i, r],
range(10, 50, 5)
),
// ...map((i) => normalizedPath(roundedRect([i, i], [W - 2 * i, W - 2 * i], r)), range(10, 50, 5)),
- ["text", {}, [W2, W2], Math.round(r)]
+ ["text", {}, [W2, W2], Math.round(r)],
];
- }
+ },
},
"linear gradient": {
@@ -155,27 +150,27 @@ const TESTS: any = {
{ id: "grad1", from: [0, 0], to: [W, W] },
[
[0, "#fc0"],
- [1, "#0ef"]
- ]
+ [1, "#0ef"],
+ ],
],
[
"linearGradient",
{
id: "grad2",
from: [0, 0],
- to: [W, W2 + W2 * Math.sin(Date.now() * 0.005)]
+ to: [W, W2 + W2 * Math.sin(Date.now() * 0.005)],
},
[
[0, "#700"],
[0.5, "#d0f"],
- [1, "#fff"]
- ]
- ]
+ [1, "#fff"],
+ ],
+ ],
],
["circle", { fill: "$grad1" }, [W2, W2], W2 - 10],
["rect", { fill: "$grad2" }, [125, 0], 50, W],
- ["rect", { fill: "$grad2" }, [0, 125], W, 50]
- ]
+ ["rect", { fill: "$grad2" }, [0, 125], W, 50],
+ ],
},
"radial gradient": {
@@ -197,28 +192,28 @@ const TESTS: any = {
from: [x, W - 20],
to: [W2, W],
r1: W,
- r2: 100
+ r2: 100,
},
[
[0, "#07f"],
[0.5, "#0ef"],
[0.8, "#efe"],
- [1, "#af0"]
- ]
+ [1, "#af0"],
+ ],
],
[
"radialGradient",
{ id: "sun", from: spos, to: spos, r1: 5, r2: 50 },
[
[0, [1, 1, 1]],
- [1, [1, 1, 0.75, 0]]
- ]
- ]
+ [1, [1, 1, 0.75, 0]],
+ ],
+ ],
],
["circle", { fill: "$bg" }, [W2, y], W2 - 20],
- ["circle", { fill: "$sun" }, spos, 50]
+ ["circle", { fill: "$sun" }, spos, 50],
];
- }
+ },
},
"images 1k": {
@@ -245,7 +240,7 @@ const TESTS: any = {
};
const body = ["g", {}, ...repeatedly(ball, 1000)];
return () => body;
- })()
+ })(),
},
static: {
@@ -259,7 +254,7 @@ const TESTS: any = {
[],
translation23([], [150, 150]),
skewX23([], -Math.PI / 6)
- )
+ ),
},
["rect", { fill: "#ff0" }, [-50, -50], 100, 100],
[
@@ -268,14 +263,14 @@ const TESTS: any = {
fill: "#00f",
font: "18px Menlo",
align: "center",
- baseline: "middle"
+ baseline: "middle",
},
[0, 0],
- new Date().toISOString()
- ]
+ new Date().toISOString(),
+ ],
];
return () => body;
- })()
+ })(),
},
ellipse: {
@@ -292,13 +287,13 @@ const TESTS: any = {
{ stroke: hsva(x / 20, 1, 1) },
[150, 150], // pos
addN(null, sincos(t + x * 0.1, 75), 75), // radii
- Math.sin(t * 0.25) // axis
+ Math.sin(t * 0.25), // axis
],
range(30)
- )
+ ),
];
- }
- }
+ },
+ },
};
// test case selection dropdown
@@ -310,10 +305,10 @@ const choices = (_: any, target: Subscription, id: string) => [
const val = (e.target).value;
window.location.hash = val.replace(/\s/g, "-");
target.next(val);
- }
+ },
},
Object.keys(TESTS).map((k) => [k, k]),
- id
+ id,
];
// event stream for triggering SVG conversion / export
@@ -326,8 +321,8 @@ const selection = stream();
const scene = sync({
src: {
id: selection,
- time: fromRAF()
- }
+ time: fromRAF(),
+ },
}).transform(
map(({ id }) => ({ id, shapes: normalizeTree({}, TESTS[id].body()) }))
);
@@ -342,8 +337,8 @@ scene.transform(
[
"button.ml2",
{ onclick: () => trigger.next(true) },
- "convert & export"
- ]
+ "convert & export",
+ ],
],
// hdom-canvas component w/ injected `scene` subtree
@@ -355,9 +350,9 @@ scene.transform(
width: 300,
height: 300,
__normalize: false,
- ...TESTS[id].attribs
+ ...TESTS[id].attribs,
},
- shapes
+ shapes,
],
["div.ma2.tc", TESTS[id].desc],
@@ -365,10 +360,10 @@ scene.transform(
"a.link",
{
href:
- "https://github.com/thi-ng/umbrella/tree/develop/examples/hdom-canvas-shapes"
+ "https://github.com/thi-ng/umbrella/tree/develop/examples/hdom-canvas-shapes",
},
- "Source code"
- ]
+ "Source code",
+ ],
]),
updateDOM()
);
@@ -386,13 +381,13 @@ sync({
{ width: 300, height: 300, stroke: "none", fill: "none" },
[
COMMENT,
- `generated by @thi.ng/hiccup-svg @ ${new Date()}`
+ `generated by @thi.ng/hiccup-svg @ ${new Date()}`,
],
convertTree(scene.shapes)
)
)
)
- )
+ ),
});
// seed initial test selection
diff --git a/examples/hdom-dropdown-fuzzy/src/config.ts b/examples/hdom-dropdown-fuzzy/src/config.ts
index 563c6f6611..7001dc5459 100644
--- a/examples/hdom-dropdown-fuzzy/src/config.ts
+++ b/examples/hdom-dropdown-fuzzy/src/config.ts
@@ -199,20 +199,20 @@ export const state = {
"Vietnam",
"Yemen",
"Zambia",
- "Zimbabwe"
- ].map((x, i) => [i, x])
- }
+ "Zimbabwe",
+ ].map((x, i) => [i, x]),
+ },
};
export const theme = {
root: {
- class: "sans-serif"
+ class: "sans-serif",
},
column: {
- class: "fl w-100 w-50-ns w-33-l pa2"
+ class: "fl w-100 w-50-ns w-33-l pa2",
},
input: {
- class: "bg-transparent w-100 bn pa2"
+ class: "bg-transparent w-100 bn pa2",
},
dd: {
root: { class: "" },
@@ -220,28 +220,28 @@ export const theme = {
style: {
"max-height": 0,
"overflow-y": "hidden",
- opacity: 0
- }
+ opacity: 0,
+ },
},
bodyOpen: {
style: {
"max-height": "calc(11 * 1.8rem)",
"overflow-y": "scroll",
opacity: 1,
- transition: "all 100ms ease-in"
- }
+ transition: "all 100ms ease-in",
+ },
},
item: {
class:
- "pointer link db w-100 ph3 pv2 black hover-bg-washed-green bg-animate bb b--moon-gray"
+ "pointer link db w-100 ph3 pv2 black hover-bg-washed-green bg-animate bb b--moon-gray",
},
itemSelected: {
class:
- "pointer link db w-100 ph3 pv2 black hover-bg-light-gray bg-animate bb b--moon-gray b"
+ "pointer link db w-100 ph3 pv2 black hover-bg-light-gray bg-animate bb b--moon-gray b",
},
- itemDisabled: { class: "db w-100 ph3 pv2 gray bb b--moon-gray" }
+ itemDisabled: { class: "db w-100 ph3 pv2 gray bb b--moon-gray" },
},
fuzzy: {
- class: "b underline"
- }
+ class: "b underline",
+ },
};
diff --git a/examples/hdom-dropdown-fuzzy/src/fuzzy.ts b/examples/hdom-dropdown-fuzzy/src/fuzzy.ts
index 8908da7636..aa5cc6b8ea 100644
--- a/examples/hdom-dropdown-fuzzy/src/fuzzy.ts
+++ b/examples/hdom-dropdown-fuzzy/src/fuzzy.ts
@@ -1,10 +1,5 @@
import { EV_SET_VALUE } from "@thi.ng/interceptors";
-import {
- comp,
- filterFuzzy,
- iterator,
- map
-} from "@thi.ng/transducers";
+import { comp, filterFuzzy, iterator, map } from "@thi.ng/transducers";
import { DropdownItem, dropdownListeners, DropdownState } from "./dropdown";
import type { IView } from "@thi.ng/atom";
@@ -28,13 +23,13 @@ export const fuzzyDropdown = (ctx: any, opts: FuzzyArgs) => {
oninput: (e: Event) =>
ctx.bus.dispatch([
EV_SET_VALUE,
- [opts.filter.path, (e.target).value]
+ [opts.filter.path, (e.target).value],
]),
onclear: () =>
ctx.bus.dispatch([EV_SET_VALUE, [opts.filter.path, ""]]),
oncancel: close,
- onconfirm: close
- }
+ onconfirm: close,
+ },
];
return () => {
const state: any = { ...opts.state.deref() };
@@ -44,7 +39,7 @@ export const fuzzyDropdown = (ctx: any, opts: FuzzyArgs) => {
...iterator(
comp(
filterFuzzy(filter, {
- key: (x: DropdownItem) => x[1].toLowerCase()
+ key: (x: DropdownItem) => x[1].toLowerCase(),
}),
map(
([id, x]) =>
@@ -54,12 +49,12 @@ export const fuzzyDropdown = (ctx: any, opts: FuzzyArgs) => {
(y) => ["span", ctx.theme.fuzzy, y],
x,
filter
- )
+ ),
]
)
),
state.items
- )
+ ),
];
}
return [
@@ -69,8 +64,8 @@ export const fuzzyDropdown = (ctx: any, opts: FuzzyArgs) => {
openLabel: filterInput,
hoverLabel: opts.hoverLabel,
noItems: "no matches",
- state
- }
+ state,
+ },
];
};
};
diff --git a/examples/hdom-dropdown/src/config.ts b/examples/hdom-dropdown/src/config.ts
index baaed9e4fa..cb0f2470de 100644
--- a/examples/hdom-dropdown/src/config.ts
+++ b/examples/hdom-dropdown/src/config.ts
@@ -16,8 +16,8 @@ export const state = {
"Sport",
"Thriller",
"War",
- "Western"
- ].map((x, i) => [i, x])
+ "Western",
+ ].map((x, i) => [i, x]),
},
bar: {
open: false,
@@ -30,17 +30,17 @@ export const state = {
"Middle East",
"North America",
"Oceania",
- "South America"
- ].map((x, i) => [i, x])
- }
+ "South America",
+ ].map((x, i) => [i, x]),
+ },
};
export const theme = {
root: {
- class: "sans-serif"
+ class: "sans-serif",
},
column: {
- class: "fl w-100 w-50-ns w-33-l pa2"
+ class: "fl w-100 w-50-ns w-33-l pa2",
},
dd: {
root: { class: "" },
@@ -48,24 +48,24 @@ export const theme = {
style: {
"max-height": 0,
"overflow-y": "hidden",
- opacity: 0
- }
+ opacity: 0,
+ },
},
bodyOpen: {
style: {
"max-height": "calc(11 * 1.8rem)",
"overflow-y": "scroll",
opacity: 1,
- transition: "all 100ms ease-in"
- }
+ transition: "all 100ms ease-in",
+ },
},
item: {
class:
- "pointer link db w-100 ph3 pv2 black hover-bg-washed-green bg-animate bb b--moon-gray"
+ "pointer link db w-100 ph3 pv2 black hover-bg-washed-green bg-animate bb b--moon-gray",
},
itemSelected: {
class:
- "pointer link db w-100 ph3 pv2 black hover-bg-light-gray bg-animate bb b--moon-gray b"
- }
- }
+ "pointer link db w-100 ph3 pv2 black hover-bg-light-gray bg-animate bb b--moon-gray b",
+ },
+ },
};
diff --git a/examples/hdom-dropdown/src/index.ts b/examples/hdom-dropdown/src/index.ts
index b7a0c27420..1b08d1ac25 100644
--- a/examples/hdom-dropdown/src/index.ts
+++ b/examples/hdom-dropdown/src/index.ts
@@ -25,10 +25,10 @@ start(
state: ctx.bus.state.deref().foo,
hoverLabel: [
["span", "Choose a genre..."],
- ["i.fr.fas.fa-angle-down"]
- ]
- }
- ]
+ ["i.fr.fas.fa-angle-down"],
+ ],
+ },
+ ],
],
[
"div",
@@ -40,11 +40,11 @@ start(
state: ctx.bus.state.deref().bar,
hoverLabel: [
["span", "Region..."],
- ["i.fr.fas.fa-angle-down"]
- ]
- }
- ]
- ]
+ ["i.fr.fas.fa-angle-down"],
+ ],
+ },
+ ],
+ ],
];
},
{ ctx: { bus, theme } }
diff --git a/examples/hdom-elm/src/elm.ts b/examples/hdom-elm/src/elm.ts
index 269e52a405..89606dd2c1 100644
--- a/examples/hdom-elm/src/elm.ts
+++ b/examples/hdom-elm/src/elm.ts
@@ -2,7 +2,7 @@ import {
DEFAULT_IMPL,
HDOMImplementation,
HDOMOpts,
- resolveRoot
+ resolveRoot,
} from "@thi.ng/hdom";
import { derefContext } from "@thi.ng/hiccup";
import type { Fn, Fn2 } from "@thi.ng/api";
diff --git a/examples/hdom-elm/src/index.ts b/examples/hdom-elm/src/index.ts
index 1150051f19..b12a54775a 100644
--- a/examples/hdom-elm/src/index.ts
+++ b/examples/hdom-elm/src/index.ts
@@ -1,11 +1,6 @@
import { setIn, updateIn } from "@thi.ng/paths";
import { Z3 } from "@thi.ng/strings";
-import {
- DEC,
- DEFER,
- INC,
- RANDOM
-} from "./api";
+import { DEC, DEFER, INC, RANDOM } from "./api";
import { mount } from "./elm";
mount(
diff --git a/examples/hdom-inner-html/src/index.ts b/examples/hdom-inner-html/src/index.ts
index cae69c1875..ee99bc234c 100644
--- a/examples/hdom-inner-html/src/index.ts
+++ b/examples/hdom-inner-html/src/index.ts
@@ -23,7 +23,7 @@ const innerHtmlWrapper = () =>
this.el.innerHTML = "";
delete this.prev;
delete this.el;
- }
+ },
};
/**
@@ -36,7 +36,7 @@ const app = () => {
wrapper,
new Date().getSeconds() & 1
? `Time now:
`
- : `${new Date().toLocaleTimeString()}
`
+ : `${new Date().toLocaleTimeString()}
`,
];
};
diff --git a/examples/hdom-local-render/src/index.ts b/examples/hdom-local-render/src/index.ts
index 9e2df9e67e..cfb2adf422 100644
--- a/examples/hdom-local-render/src/index.ts
+++ b/examples/hdom-local-render/src/index.ts
@@ -76,9 +76,9 @@ class Foo extends LocalReRenderable {
onclick: () => {
this.col = COLORS.next().value;
this.localRender(this.time);
- }
+ },
},
- `${this.id}: ${time}`
+ `${this.id}: ${time}`,
];
}
}
@@ -105,7 +105,7 @@ const app = ({ time }: any) => [
// memoized...)
[foo("a"), time],
[foo("b"), time],
- [foo("c"), time]
+ [foo("c"), time],
];
// trigger full DOM updates every 2 secs
diff --git a/examples/hdom-skip-nested/src/index.ts b/examples/hdom-skip-nested/src/index.ts
index bd42f5e27c..3c34e1fbce 100644
--- a/examples/hdom-skip-nested/src/index.ts
+++ b/examples/hdom-skip-nested/src/index.ts
@@ -35,14 +35,14 @@ const button = () =>
this.id++;
this.enabled = true;
}, 500);
- }
+ },
},
- this.id
+ this.id,
];
this.previd = this.id;
this.prevenabled = this.enabled;
return body;
- }
+ },
};
/**
@@ -67,14 +67,14 @@ const wrapper = () => {
onclick: () => {
nextSkip = !nextSkip;
requestAnimationFrame(() => (skip = nextSkip));
- }
+ },
},
- nextSkip ? "unskip!" : "skip!"
+ nextSkip ? "unskip!" : "skip!",
],
[bt, id],
nextSkip
? ["div.dib.mh3.f7.red", "(counter updates not shown)"]
- : null
+ : null,
];
};
diff --git a/examples/hdom-skip/src/index.ts b/examples/hdom-skip/src/index.ts
index 2f49fdfe58..d97026f6bf 100644
--- a/examples/hdom-skip/src/index.ts
+++ b/examples/hdom-skip/src/index.ts
@@ -27,7 +27,7 @@ const timer = (period: number, name = `${period}ms`) => {
? ["div.sans-serif", `${name} @ ${this.val++ || 0}`]
: // dummy content (could be an empty div)
["div", { __skip: true }, "I should be never seen"];
- }
+ },
};
};
@@ -46,12 +46,12 @@ const app = {
"a.db.mt3.link",
{
href:
- "https://github.com/thi-ng/umbrella/tree/develop/examples/hdom-skip"
+ "https://github.com/thi-ng/umbrella/tree/develop/examples/hdom-skip",
},
- "Source code"
- ]
+ "Source code",
+ ],
];
- }
+ },
};
// kick off
diff --git a/examples/hdom-theme-adr-0003/src/index.ts b/examples/hdom-theme-adr-0003/src/index.ts
index fae71f836a..e2bf80c10b 100644
--- a/examples/hdom-theme-adr-0003/src/index.ts
+++ b/examples/hdom-theme-adr-0003/src/index.ts
@@ -180,7 +180,7 @@ const app = (ctx: any) => [
"Please see ",
[
link,
- "https://github.com/thi-ng/umbrella/blob/master/packages/hdom-components/adr/0003-component-configuration-via-context.md",
+ "https://github.com/thi-ng/umbrella/blob/develop/packages/hdom-components/adr/0003-component-configuration-via-context.md",
"ADR-0003",
],
" for details of this approach.",
@@ -189,7 +189,7 @@ const app = (ctx: any) => [
"p",
[
link,
- "https://github.com/thi-ng/umbrella/blob/master/examples/hdom-theme-adr-0003",
+ "https://github.com/thi-ng/umbrella/blob/develop/examples/hdom-theme-adr-0003",
"Source",
],
],
diff --git a/examples/hdom-toggle/src/index.ts b/examples/hdom-toggle/src/index.ts
index bc1aa42905..9a5f00df88 100644
--- a/examples/hdom-toggle/src/index.ts
+++ b/examples/hdom-toggle/src/index.ts
@@ -3,7 +3,7 @@ import {
slideToggleDot,
slideToggleRect,
ToggleDotOpts,
- ToggleRectOpts
+ ToggleRectOpts,
} from "@thi.ng/hdom-components";
const state = [true, false, true, false, true];
@@ -13,21 +13,21 @@ const toggleState = (i: number) => (state[i] = !state[i]);
const dotOpts: Partial = {
r: 8,
pad: 2,
- margin: 2
+ margin: 2,
};
const rectOpts: Partial = {
w: 16,
h: 8,
pad: 2,
- margin: 2
+ margin: 2,
};
const strokeOpts = {
bgOn: { stroke: "#00f", "stroke-width": 2, fill: "none" },
bgOff: { stroke: "#99f", "stroke-width": 2, fill: "none" },
fgOn: { fill: "#00f" },
- fgOff: { fill: "#99f" }
+ fgOff: { fill: "#99f" },
};
const toggleH = slideToggleDot(dotOpts);
@@ -40,7 +40,7 @@ const toggleVStroke = slideToggleDot({
fgOff: { stroke: "#99f", fill: "none" },
vertical: true,
pad: 3,
- r: 7
+ r: 7,
});
const toggleHSq = slideToggleRect({ ...rectOpts });
@@ -51,7 +51,7 @@ const toggleVSqStroke = slideToggleRect({
...strokeOpts,
w: 8,
h: 20,
- vertical: true
+ vertical: true,
});
const toggleGroup = (_: any, toggle: any) => [
@@ -62,12 +62,12 @@ const toggleGroup = (_: any, toggle: any) => [
toggle,
{
class: "pointer mr1",
- onclick: () => toggleState(i)
+ onclick: () => toggleState(i),
},
- x
+ x,
],
- ["div.tc", i]
- ])
+ ["div.tc", i],
+ ]),
];
const cancel = start(() => [
@@ -79,7 +79,7 @@ const cancel = start(() => [
[toggleGroup, toggleHSq],
[toggleGroup, toggleHSqStroke],
[toggleGroup, toggleVSq],
- [toggleGroup, toggleVSqStroke]
+ [toggleGroup, toggleVSqStroke],
]);
if (process.env.NODE_ENV !== "production") {
diff --git a/examples/hdom-vscroller/src/commits.json b/examples/hdom-vscroller/src/commits.json
index 51aae4049b..169703464a 100644
--- a/examples/hdom-vscroller/src/commits.json
+++ b/examples/hdom-vscroller/src/commits.json
@@ -1 +1,7103 @@
-[["d990c3c2","2019-02-08","perf(geom-isoline): minor optimizations"],["3ed4ea12","2019-02-07","fix(hdom): fix #72, update normalizeElement()"],["2b3dd7f4","2019-02-05","feat(examples): dynamic chart width (package-stats)"],["0715665a","2019-02-05","docs(geom-voronoi): add example screenshot"],["74fb4d83","2019-02-05","Publish"],["3b7d8cee","2019-02-05","docs: update main readme"],["c4aaa82b","2019-02-05","build: update various geom packages (deps, tags & readmes)"],["134c353f","2019-02-05","Merge branch 'develop' of github.com:thi-ng/umbrella into develop"],["cf7dc3a3","2019-02-05","feat(bencode): re-import updated bencode pkg"],["f2612a6b","2019-02-05","feat(bencode): re-import updated bencode pkg"],["9d8dd32e","2019-02-05","refactor(vectors): update imports (zip)"],["7f4e3989","2019-02-05","refactor(geom-tessellate): update imports (zip)"],["5204a7fe","2019-02-05","refactor(geom): update imports (zip)"],["29045902","2019-02-05","refactor(color): update imports (zip)"],["f15ea5fc","2019-02-05","refactor(examples): update deps & imports in various examples"],["d1151cea","2019-02-05","refactor(transducers): deprecate & rename tuples() => zip()"],["a7c1ef7b","2019-02-05","refactor(transducers): migrate binary related ops to new package"],["02877c79","2019-02-05","feat(transducers-binary): extract as new pkg from @thi.ng/transducers"],["ae83bb29","2019-02-05","fix(transducers): ensure all vals in hexDump iterator version"],["57d4488a","2019-02-05","feat(math): add PHI const"],["8d61b710","2019-02-05","refactor(examples): minor update iso-plasma"],["678c3ff0","2019-02-02","refactor(examples): update iso-plasma"],["37fb295f","2019-02-02","feat(examples): add iso-plasma demo"],["bd1754d5","2019-02-01","feat(geom-accel): add selectVals() impl"],["4bde37e1","2019-02-01","feat(geom-api): add ISpatialAccel.selectVals()"],["13f655a6","2019-02-01","docs: update main readme"],["d7ccc887","2019-02-01","refactor(vector-pools): update AttribPool & VecPool ctors"],["6d15686a","2019-02-01","refactor(malloc): update MemPoolOpts & MemPool ctor args"],["e30b2111","2019-02-01","feat(geom-isoline): import package (ported from clojure)"],["b7d162fa","2019-02-01","feat(vector-pools): update & fix AttribPool resize logic"],["1b72d1d4","2019-01-31","build: update deps in unreleased packages"],["3529c2f3","2019-01-31","Merge branch 'master' into develop"],["50a5098a","2019-01-31","Publish"],["3adabc4d","2019-01-31","fix(strings): fix #70, replace kebab() regex w/ legacy version"],["a55f4770","2019-01-31","feat(malloc): add reallocArray(), update realloc() & compact(), tests"],["bf8b28fc","2019-01-31","feat(malloc): add realloc(), update free()"],["16b48b38","2019-01-31","fix(vector-pools): AttribPool opts & default handling"],["4acc8318","2019-01-30","feat(examples): update hdom-canvas-shapes (add ellipse test)"],["ea322265","2019-01-30","refactor(geom-isec): update/merge intersectRayRect/AABB"],["5f7dd635","2019-01-30","feat(geom): add ray-rect/aabb impls for intersects()"],["93e2ea65","2019-01-30","feat(geom-isec): add ray-rect/aabb tests, fix ray-line, add NONE, update docs"],["4d19aa20","2019-01-29","perf(geom-voronoi): update computeDual(), update isBoundary()"],["2ff68db7","2019-01-29","feat(geom-voronoi): add support for vertex user data, tolerances, refactor QE changes"],["426cd37f","2019-01-29","refactor(quad-edge): replace QuadEdge class w/ type alias, add docs"],["f249b7e1","2019-01-29","docs: update main readme"],["613ffeba","2019-01-29","Merge branch 'feature/geom-qe' into develop"],["b11837a2","2019-01-29","docs(geom): update readme"],["c903293f","2019-01-29","feat(geom-voronoi): re-import & update QE delaunay/voronoi pkg (MBP2010)"],["ee76797b","2019-01-29","feat(quad-edge): re-import & update quad edge impl (MBP2010)"],["4b852882","2019-01-29","refactor(geom): minor update clippedLine()"],["084883eb","2019-01-29","refactor(geom-clip): minor update liangBarsky"],["6d14f2b7","2019-01-28","refactor(geom): swap Group ctor & factory arg order"],["af099ee5","2019-01-28","build(geom): update geom-clip dep & refs"],["004d7f46","2019-01-28","build(geom-clip): rename pkg geom-clip-convex => geom-clip, update deps"],["6391d104","2019-01-28","refactor(geom-tessellate): update imports / deps"],["31e369bd","2019-01-28","feat(math): add simplifyRatio()"],["226645fd","2019-01-28","refactor(geom): update pointInside & classifyPoint impls (delegate)"],["895102d4","2019-01-28","feat(geom-poly-utils): add convexity(), remove obsolete/migrated point checks"],["6ee03ebc","2019-01-28","feat(geom-api): re-add Convexity enum"],["2b235461","2019-01-28","feat(geom-isec): migrate point intersection/containment checks"],["11bf7232","2019-01-28","minor(geom-closest-point): minor updates"],["f9dd3037","2019-01-28","docs(vectors): update docstrings"],["e2047df3","2019-01-25","Merge branch 'feature/geom-refactor' into develop"],["df8332d0","2019-01-25","refactor(geom): remove obsolete/migrated fns, update deps, readme"],["37741081","2019-01-25","fet(geom-hull): extract from geom as new package"],["68a26f44","2019-01-25","feat(geom-poly-utils): move barycentric fns from main geom pkg"],["74aa9543","2019-01-25","docs(geom): update readme"],["f6a621a3","2019-01-25","docs(geom-subdiv-curve): add docs, minor updates subdivide()"],["87fddb89","2019-01-25","refactor(geom-api): minor update SubdivKernel"],["598fca55","2019-01-25","refactor(poisson): minor optimizations, update PoissonOpts & defaults"],["bee1c89c","2019-01-24","feat(poisson): add geom-api dep, optimize search"],["9022d5bb","2019-01-24","perf(geom-accel): optimize single nearest point search, fix select()"],["18ce6c96","2019-01-24","refactor(geom-api): update ISpatialAccel"],["5c98ed70","2019-01-24","refactor(geom-api): split into separate files, add ISpatialAccel"],["03352e11","2019-01-23","refactor(examples): update geom-tessel demo"],["b223603d","2019-01-23","refactor(geom): update to use geom-api types"],["f7ad4d3b","2019-01-23","refactor(geom-tessellate): update to use geom-api types"],["0964a956","2019-01-23","refactor(geom-subdiv-curve): update to use geom-api types"],["5b674154","2019-01-23","refactor(geom-splines): update to use geom-api types"],["8d878b99","2019-01-23","refactor(geom-resample): update to use geom-api types, add douglas-peucker"],["27c4bf07","2019-01-23","refactor(geom-isec): update return types, use geom-api"],["47fb5e7b","2019-01-23","minor(geom-clip-convex): update imports"],["e36e2213","2019-01-23","refactor(geom-arc): update to use geom-api types"],["4e53293d","2019-01-23","feat(geom-api): extract from geom as new package"],["02231a3a","2019-01-23","build: update make-module script"],["407e9a54","2019-01-23","docs: update readmes"],["fb532b8c","2019-01-23","refactor(geom): remove obsolete/extracted internal ops, update publics"],["cb2429c4","2019-01-23","feat(geom-tessellate): extract from geom as new package"],["324a5162","2019-01-23","feat(geom-subdiv-curve): extract from geom as new package"],["5ef4c56d","2019-01-23","feat(geom-poly-utils): extract from geom as new package"],["798de06b","2019-01-23","feat(geom-closest-point): add more fns, update pkg"],["2054574a","2019-01-23","fix(geom-arc): add bounds return type, add missing re-export, update pkg"],["2440ffdd","2019-01-23","feat(vectors): add corner2, clockwise2, signedAreaC2, isInArray fns"],["9576920b","2019-01-23","build: simplify bundle-module script, update build cmds in all packages"],["58e0a05d","2019-01-23","feat(vectors): add VecPair type alias, add copyVectors()"],["15d67121","2019-01-23","feat(geom-clip-convex): extract from geom as new package"],["027150a6","2019-01-23","feat(geom-splines): extract from geom as new package"],["6cc8c738","2019-01-23","feat(geom-arc): extract from geom as new package (#69)"],["79abd0ba","2019-01-23","feat(geom-resample): extract from geom as new package"],["285dde49","2019-01-23","feat(geom-isec): extract from geom as new package"],["4ff5005a","2019-01-23","feat(geom-closest-point): extract from geom as new package"],["cae83948","2019-01-22","feat(math): add minError() search"],["e998610c","2019-01-22","Publish"],["35a0a59e","2019-01-22","fix(examples): update canvas examples due to recent package changes"],["c6023793","2019-01-22","feat(geom): add asPolyline() multi-fn"],["a017b10a","2019-01-22","feat(geom): add attrib support to PathBuilder"],["8c1df496","2019-01-22","fix(geom): update Rect.toHiccup() format (separate widht/height vals)"],["1d92c8c3","2019-01-22","feat(hdom-canvas): add color dep, update color attrib handling"],["783d9faf","2019-01-22","docs(hiccup-svg): update readme, add attrib conv notes, fix example"],["7f6011e7","2019-01-22","feat(hiccup-svg): add color dep, add attrib conversion for all elements"],["571fc704","2019-01-21","docs: update main readme"],["124acdb1","2019-01-21","docs(poisson): add/update doc strings, readme, example screenshot"],["d098aff5","2019-01-21","Publish"],["193f9d4a","2019-01-21","feat(poisson): re-import & update poisson package (MBP2010)"],["8fd5728b","2019-01-21","fix(geom-accel): add root null check for select/selectKeys()"],["3d499ad5","2019-01-21","refactor(geom): update tangentAt(), use direction() from vectors pkg"],["07d5f8fc","2019-01-21","feat(vectors): migrate direction(), normalLeft/Right2() from geom pkg"],["862ed083","2019-01-21","docs(color): update readme"],["4cd3850b","2019-01-21","docs(vectors): update readme"],["d7053813","2019-01-21","docs(vector-pools): update readme"],["0d10d507","2019-01-21","docs: prune changelogs"],["348e7303","2019-01-21","Publish"],["b9cea8cc","2019-01-21","refactor(vectors): update angleBetween*() fns, add absInner opt arg"],["a78bd87b","2019-01-21","feat(math): add absInnerAngle()"],["7c1bf047","2019-01-21","refactor(examples): update gesture-analysis demo"],["822d8fba","2019-01-21","docs: update readme links / package names"],["31595ebe","2019-01-20","Merge branch 'master' of github.com:thi-ng/umbrella"],["51723f99","2019-01-20","build(pointfree-lang): fix UMD identifier"],["15e4cb2d","2019-01-20","Merge branch 'feature/vec-refactor' into develop"],["b5842fa7","2019-01-20","docs(geom): update readme"],["74b7a38a","2019-01-20","build(vectors): refix version to previous"],["0779337d","2019-01-20","build: update vectors3 => vectors references everywhere"],["0fd2498e","2019-01-20","build(vectors): replace old vectors package w/ vectors3 (renamed back to vectors)"],["4bd77082","2019-01-20","build: update geom3 => geom references"],["682385a1","2019-01-20","build(geom): replace old geom package w/ geom3"],["ff503669","2019-01-20","build: update depgraph script to display per package deps/dependents"],["2f26cf68","2019-01-20","docs(hdom-canvas): fix readme example"],["8e2c8b5c","2019-01-20","refactor(geom): update withAttribs() return type"],["9a507694","2019-01-20","feat(hdom-canvas): add ellipse() / ellipticArc(), update readme"],["6f341c5c","2019-01-20","docs(vector-pools): fix AttribPool example layout"],["db4a2018","2019-01-20","feat(geom): re-add barycentric conversions, collation mappers (still unused)"],["08f7bd16","2019-01-20","docs(matrices): add docstrings for most fns"],["2aceab97","2019-01-20","feat(matrices): add m22 & m23 matrix converters"],["311b0074","2019-01-20","feat(vectors): add default output handling for set/setC/setS fns"],["12ad59a1","2019-01-20","refactor(examples): update geom-knn & geom-tessel demos"],["5ca58032","2019-01-19","refactor(color): remove circular dependencies, update parseCss()"],["5270143a","2019-01-19","refactor(defmulti): remove optional excess args from type sigs"],["5d087367","2019-01-19","refactor(examples): update geom-knn demo"],["485051db","2019-01-19","refactor(geom-accel): update to use new vectors package"],["46bb8730","2019-01-19","build: remove obsolete geom2 package"],["370f9280","2019-01-19","fix(hiccup-svg): convert path arc segment axis theta to degrees"],["63b3a5d9","2019-01-19","feat(geom): update closestPoint(), add support for Arc"],["0e5e7768","2019-01-19","feat(geom): add arcPointAt() helper, refactor Arc, minor other updates"],["62ec49fe","2019-01-19","fix(geom): update arcFrom2Points()"],["910529dd","2019-01-19","feat(geom): add splitNearPoint() for line & polyline, update Sampler"],["499e14b3","2019-01-18","refactor(geom): add tessellate() multi-fn, move/rename tessellators"],["1d754eb9","2019-01-18","feat(geom): add splitNearPoint(), Sampler.closestT(), internal restructure"],["0451f8f6","2019-01-18","docs: update main readme"],["9623b4e9","2019-01-18","build(geom): add @thi.ng/compose dependency"],["9a4570bf","2019-01-18","minor(geom): minor updates"],["56f60372","2019-01-18","feat(geom): add flip() impls"],["ebc9a981","2019-01-18","feat(geom): add pointAt() impls for Cubic/Quadratic"],["eaf1a1b0","2019-01-18","feat(geom): add closestPoint() impls for splines, line, polygons, polyline"],["627e20d4","2019-01-18","feat(geom): add transform() impls for Cubic/Quadratic"],["d763621c","2019-01-18","feat(geom): add clippedLine(), minor update liangBarsky()"],["cd59f664","2019-01-18","perf(geom): use squared dist for classifyPoint() (circle)"],["e834597c","2019-01-18","feat(geom): add/update edges(), pointInside() & classifyPoint() impls"],["f5a53ca0","2019-01-18","feat(geom): re-add vertices() impls for Cubic/Quadratic"],["3c9a7b0f","2019-01-18","feat(geom): re-add pathFromSvg()"],["66267e22","2019-01-18","feat(geom): add intersection checks & intersects() multi-fn"],["f1f428a2","2019-01-17","feat(geom): re-add tessellators"],["9f91cfa1","2019-01-17","fix(api): update assert(), re-export mixin()"],["5f873009","2019-01-17","feat(vectors): add randMinMax"],["d09cc795","2019-01-17","feat(geom): add clipConvex, scatter, warpPoints"],["61cfb0f1","2019-01-16","feat(geom): add path builder, path & arc op impls"],["e81d8c31","2019-01-16","feat(vectors): update/split angleBetween for 2d/3d"],["df49c71c","2019-01-16","Merge branch 'master' into develop"],["a6e6f2af","2019-01-16","Merge pull request #68 from evilive3000/fix-cache-ltru"],["c3762e97","2019-01-16","fix(cache): TLRU: expected behavior on getSet()"],["2cc682a6","2019-01-16","fix(examples): add release() lifecycle method (hdom-inner-html)"],["4effc0ec","2019-01-16","feat(examples): add hdom-inner-html demo #67"],["fea8fbe3","2019-01-16","feat(geom): re-add arc, cubic, quadratic ops, splitAt & other ops"],["18437026","2019-01-16","perf(vectors): update copy()"],["446a1832","2019-01-16","fix(vectors): minor update opt arg in VecOp*"],["66e45ccd","2019-01-15","build: update .npmignore files"],["253b1be9","2019-01-15","Merge branch 'develop' into feature/vec-refactor"],["a75f1920","2019-01-15","docs: update/fix various readmes"],["1cfefdab","2019-01-15","refactor(malloc): update imports"],["c8d8a37e","2019-01-15","refactor(malloc): add/extract types to api.ts"],["e04eb294","2019-01-11","refactor(defmulti): update imports, fix tests (cherry picked from cdd8659a)"],["89dafa45","2019-01-15","build: update bundle-module script, disable minification in UMD outputs"],["b63d2589","2019-01-15","docs(transducers): update cat() docstring"],["b70e84d7","2019-01-15","build: update .npmignore files (add .meta)"],["9eb6f2d2","2019-01-15","build: update rollup dev dep"],["491980c3","2019-01-15","Merge branch 'develop' into feature/vec-refactor"],["d118464b","2019-01-15","test(vectors): update tests (due to math eqDelta change in eps handling)"],["c0e3a0bc","2019-01-15","feat(geom): add temp geom3 package (another refactored version of geom2)"],["e28f56ec","2019-01-15","Merge branch 'develop' into feature/vec-refactor"],["50180096","2019-01-15","feat(math): update eqDelta w/ adaptive eps, rename old => eqDeltaFixed"],["a39811c6","2019-01-15","feat(hiccup-svg): add ellipse shape type, update convert()"],["d14c94b2","2019-01-15","build: disable minification for UMD outputs"],["c12ad1cc","2019-01-15","test(vectors): update eqDelta tests"],["18aeb49c","2019-01-15","build(vectors): add memoize dep"],["61e40638","2019-01-14","feat(vectors): add addm/addmN, subm/submN"],["d5ba06a4","2019-01-11","build: remove obsolete temp package vectors2"],["aa995682","2019-01-11","Merge branch 'develop' into feature/vec-refactor"],["507218aa","2019-01-11","minor(examples): update package-stats"],["fcbc0c27","2019-01-11","build: update bundle-module, strip comments, add source maps & dev deps"],["048bdb1c","2019-01-11","refactor(vectors2): update imports"],["f3a5e0ff","2019-01-11","refactor(malloc): update imports"],["c41b96fb","2019-01-11","refactor(geom): update imports, fix tests"],["cdd8659a","2019-01-11","refactor(defmulti): update imports, fix tests"],["c9da5485","2019-01-11","build(examples): update geom-tessel tsconfig"],["82f8ef27","2019-01-10","revert(hiccup-svg): undo merge mistake in convert.ts"],["a7ea1fc3","2019-01-10","build(vectors): build: update package scripts, outputs, imports"],["d4eddef2","2019-01-10","build(vectors2): build: update package scripts, outputs, imports"],["372c199c","2019-01-10","build(vector-pools): build: update package scripts, outputs, imports"],["5d25c1ae","2019-01-10","build(matrices): build: update package scripts, outputs, imports"],["e247386c","2019-01-10","build(geom): build: update package scripts, outputs, imports"],["4e48cb98","2019-01-10","build(color): build: update package scripts, outputs, imports"],["d7d237d0","2019-01-10","Merge branch 'develop' into feature/vec-refactor"],["ab159105","2019-01-10","test(api): fix import in mixin test"],["c91df5fc","2019-01-10","build: add test-only yarn script"],["6be3a871","2019-01-10","build: fix cjs output path in bundle-module script"],["3741663f","2019-01-10","Merge branch 'feature/multi-output' into develop"],["f6e3cdd5","2019-01-10","docs(examples): add troubleshooting notes"],["bbe636f4","2019-01-10","fix(examples): add quote escaping in xml-converter"],["bb3db27c","2019-01-10","build(examples): update tsconfig for commit-table-ssr"],["cc26ae98","2019-01-10","docs(examples): update readmes to refer to wiki build instructions"],["8f270dfa","2019-01-10","build: update project tpl scripts, ignore files"],["1f01bf8f","2019-01-10","build: update make-module script"],["4df9ec41","2019-01-10","build: update bundle-module outputs, emit meta data, update .gitignore"],["a894a24a","2019-01-10","fix(transducers): update juxt re-export"],["5c3080d7","2019-01-10","build: temporarily add webpack until parcel-bundler/parcel#2513 is fixed"],["bac59db6","2019-01-10","feat(examples): add package-stats charting example"],["27438f9c","2019-01-09","minor(examples): cleanup"],["4e28b5a6","2019-01-09","build(examples): update dev deps"],["1618c136","2019-01-09","build(examples): enable scope hoisting in `yarn build` scripts"],["d2d7952e","2019-01-08","minor: update imports in readme's / examples"],["3f1b79de","2019-01-08","build: update .gitignore"],["3747ad7b","2019-01-08","refactor(examples): update imports & deps of all examples"],["3b8576f3","2019-01-08","fix(csp): disable __State reverse enum lookup"],["d89f28fd","2019-01-08","fix(rstream-log): remove __Level reverse enum lookup, update Level (non const)"],["19449e8d","2019-01-08","fix(rstream-gestures): disable __GestureType reverse enum export"],["b238a3a9","2019-01-08","fix(rstream): disable __State reverse enum lookups"],["227be4b5","2019-01-08","fix(pointfree-lang): update NodeType handling"],["b198c195","2019-01-08","fix(hiccup-markdown): re-export TagFactories interface"],["f912a84a","2019-01-08","build: update package scripts, outputs, imports in remaining packages"],["b54b703d","2019-01-08","build: update package build scripts & outputs, imports in ~50 packages"],["f913d7bf","2019-01-08","build(api): update package build scripts / outputs"],["7fee8573","2019-01-08","build: update shared dev deps, rewrite bundle-module script"],["4e768394","2019-01-07","Merge branch 'develop' into feature/multi-output"],["d3944fb0","2019-01-07","build: switch travis to use node 10"],["a42b2e11","2019-01-07","refactor(rstream-query): use rstream nextID() util (fix regression)"],["3e1467fa","2019-01-07","refactor(rstream-log): use rstream nextID() util (fix regression)"],["c28ce64f","2019-01-07","Merge branch 'develop' into feature/multi-output"],["b31065bb","2019-01-07","Merge branch 'develop' of github.com:thi-ng/umbrella into develop"],["28f77e60","2019-01-07","build: update tsconfig & .npmignore files in all packages"],["4be67c59","2019-01-07","build: prep api, atom, bench, binary, checks, equiv, errors, paths for multi outputs"],["3df29305","2019-01-06","Merge pull request #66 from acarabott/feature/scaleWithCenter"],["92bce73d","2019-01-06","fix(vectors): fix NaNs in Mat23.scaleWithCenter"],["d1e275bd","2019-01-05","fix(rstream): avoid Subscription ctor to workaround parceljs build issue"],["e201ca8d","2019-01-05","refactor(rstream): replace Subscription.NEXT_ID w/ nextID() util"],["a313d830","2019-01-05","build: add/update dev deps, update build scripts in all packages"],["ce4b5283","2019-01-05","refactor(transducers-hdom): use arrow fns"],["e103d740","2019-01-05","refactor(transducers-fsm): use arrow fns"],["48670f58","2019-01-05","refactor(memoize): use arrow fns"],["5d530286","2019-01-05","refactor(csp): use arrow fns"],["e9f0542a","2019-01-05","refactor(transducers): use arrow fns"],["6eba2415","2019-01-05","refactor(rle-pack): use arrow fns"],["762db4e3","2019-01-05","refactor(rstream-csp): use arrow fns"],["8904cb4c","2019-01-05","refactor(rstream-gestures): use arrow fns"],["393d23ed","2019-01-05","minor(rstream-query): update formatting"],["14c00b29","2019-01-05","refactor(rstream-log): use arrow fns"],["ff9f8e0c","2019-01-05","minor(rstream-graph): update formatting"],["6c3ea083","2019-01-05","refactor(rstream): use arrow fns, update formatting"],["e0f7cb85","2019-01-05","minor(resolve-map): update formatting"],["560207a0","2019-01-05","refactor(math): use arrow fns"],["ad5574b9","2019-01-05","refactor(iterators): use arrow fns"],["3b74de92","2019-01-05","refactor(hiccup-css): use arrow fns"],["d9f4bd3f","2019-01-05","refactor(errors): use arrow fns"],["35377bd5","2019-01-05","refactor(compose): use arrow fns"],["025412a0","2019-01-05","refactor(compare): use arrow fns"],["aaf2723f","2019-01-05","refactor(associative): use arrow fns, update formatting"],["30c59fd5","2019-01-05","Merge branch 'feature/arrowfns' into develop"],["fc22a27e","2019-01-05","refactor(paths): update all as arrow fns"],["b70a3e1a","2019-01-05","refactor(checks): update all as arrow fns"],["3038a844","2019-01-04","docs(hiccup-markdown): update readme"],["634e2504","2019-01-04","Publish"],["343280d8","2019-01-04","refactor(examples): update MD demo, use parser from hiccup-markdown package"],["35db07fe","2019-01-04","feat(hiccup-markdown): add & refactor markdown parser (from example), update docs"],["5f09d3ec","2019-01-04","fix(examples): add missing return types"],["ffc68cef","2019-01-04","Merge branch 'develop' into feature/vec-refactor"],["6030753a","2019-01-04","Publish"],["492992d7","2019-01-04","docs: update package list in main readme"],["17c14b49","2019-01-04","docs(examples): update readmes"],["0a505c1a","2019-01-04","docs(fsm): update readme & package"],["98081e3a","2019-01-04","Merge branch 'feature/fsm' into develop"],["81e3fc79","2019-01-04","feat(fsm): add never(), optimize alts(), add docs for all matchers"],["297356dd","2019-01-04","docs(examples): update readme"],["120a7afd","2019-01-04","refactor(examples): remove 2nd table row in collectTable()"],["b60bf31a","2019-01-04","refactor(examples): cleanup parser & rules, tag handling, update readme"],["9585b86e","2019-01-04","feat(examples): add initial MD table support"],["a9336075","2019-01-04","feat(fsm): update not()"],["980d4888","2019-01-04","feat(examples): update MD parser, styles, readme"],["992f31ac","2019-01-04","feat(fsm): add always(), lit(), not(), cleanup imports"],["995a104b","2019-01-03","refactor(examples): update title & blockquote parsers/style"],["4a9bb3d6","2019-01-03","feat(fsm): add support for lookahead-1, add docs"],["f9cece70","2019-01-03","refactor(examples): update MD title parser"],["55671fc7","2019-01-03","feat(fsm): add repeat(), success(), refactor all matchers"],["36cadc96","2019-01-03","feat(examples): update tags, add hrule, blockquote, update CSS / readme"],["b04e0747","2019-01-03","feat(examples): update MD parser, add parse rules & custom tag support"],["9875cda8","2019-01-03","feat(examples): add markdown parser example"],["e03390b1","2019-01-03","feat(fsm): import fsm package"],["731ede02","2019-01-02","build: update deps (defmulti / transducers)"],["5b98d55e","2019-01-02","Merge branch 'develop' into feature/vec-refactor"],["26a29cf1","2019-01-02","Publish"],["1d29153c","2019-01-02","feat(defmulti): add opt fallback arg for defmultiN(), update docs"],["cd175866","2019-01-02","fix(transducers): add reduced() handling for cat()"],["161199f4","2019-01-02","feat(geom): add/rename type ids, add sphere, isec fns"],["2e6d1965","2019-01-02","fix(vectors): disable default prefix for random*() fns"],["2fb2aa32","2019-01-01","build: update deps"],["ba755f8a","2019-01-01","Merge branch 'develop' into feature/vec-refactor"],["7729d993","2019-01-01","Publish"],["488698a6","2019-01-01","feat(defmulti): add addAll(), add/update doc strings"],["d47798ed","2019-01-01","refactor(examples): update gesture analysis demo"],["b10c8d67","2019-01-01","refactor(geom): prep/update intersectShape() w/ new dispatch fn"],["c0008a7a","2018-12-31","minor(geom): update formatting"],["7cf5f7c4","2018-12-31","refactor(geom): update subdivKernel* fns"],["76c343c3","2018-12-31","feat(geom): add pointAt/tangentAt impls for circle/line"],["b9125168","2018-12-31","feat(geom): add ray skeleton impl"],["c7052171","2018-12-31","fix(vectors): cartesian2/3"],["52fb9399","2018-12-31","feat(matrices): add quatToMat33, update readme"],["4c6fe066","2018-12-31","fix(matrices): re-add persp divide in mulV344()"],["4f024918","2018-12-31","fix(matrices): scaleWithCenter* (add missing concat() arg)"],["6d58c309","2018-12-30","docs: rename pd image (because of GH CDN issues), update readme"],["cfc88744","2018-12-30","docs(color): add porterduff image"],["83a46311","2018-12-30","docs: fix readme links"],["0ee2be0a","2018-12-30","docs: update readmes"],["10fc9cc5","2018-12-30","docs(matrices): update readme (add full API list)"],["4f2f512c","2018-12-30","build(matrices): update deps"],["ae7a039e","2018-12-30","feat(matrices): add cwise matrix multiply, rename mul* => mulM*, move mulQ"],["c70189aa","2018-12-30","docs(vectors): update readme"],["7e19e7b4","2018-12-30","minor(vectors): minor update vop()"],["66036e6c","2018-12-30","fix(vectors): update gvec prop lookup & interning"],["6c9fe88e","2018-12-30","refactor(vectors): rename addWeighted*() => addW*(), update package kw"],["064d61c5","2018-12-30","docs(vectors): update readme & package keywords"],["d462ae0a","2018-12-30","perf(matrices): use setC6() for M23 ops"],["809383c9","2018-12-30","refactor(matrices): extract m33to44/m44to33() into own files, update re-exports"],["0ee306a2","2018-12-30","feat(vectors): add setC6()"],["0b07ac86","2018-12-30","fix(matrices): inject default output handling code"],["b5adea6f","2018-12-30","refactor(matrices): replace setValues*() w/ setC*(), update dotC*() use"],["b03b9192","2018-12-30","feat(matrices): add quaternion fns"],["06dd9634","2018-12-30","fix(vectors): result handling jitter()/project()"],["745053c5","2018-12-30","refactor(vector): minor updates arg/result handling"],["cfe333fe","2018-12-30","refactor(vectors): simplify various ops, improve tpl re-use"],["6b3608da","2018-12-30","fix(vectors): sum() impls"],["9b789bca","2018-12-30","refactor(vectors): simplify various ops, use setC*()"],["809bf9b9","2018-12-30","refactor(vectors): rename dotValues*() => dotC*()"],["6857f347","2018-12-30","feat(vectors): add clamp01(), clamp11() fns"],["dc6f4661","2018-12-30","refactor(vectors): add defMathOp()/defMathNOp(), update basic math ops"],["784f5c34","2018-12-29","build: update deps"],["b849bd1b","2018-12-29","feat(color): add alpha()/setAlpha(), add docs, re-exports, update readme"],["e7bb46b7","2018-12-29","feat(color): add Hue enum, closestHue*() fns, namedHueRgba()"],["172f5070","2018-12-29","docs(color): update readme"],["9d4fffa1","2018-12-29","build(color): add package keywords"],["aa303442","2018-12-29","feat(color): add convert() fallback, minor other updates"],["445b8c1f","2018-12-29","feat(color): add luminance defmulti"],["36b7d038","2018-12-29","refactor(color): rename, update matrix ops"],["f2cac286","2018-12-29","refactor(color): update type factory fns & ensureArgs()"],["a0f19956","2018-12-29","Merge branch 'develop' into feature/vec-refactor"],["b2cab4d0","2018-12-29","Publish"],["a90a712c","2018-12-29","fix(transducers): interpolate() interval selection, add minPos/maxPos"],["b0d28788","2018-12-29","refactor(color): update multiCosineGradient(), update readme"],["0546839d","2018-12-29","refactor(color): ColorMode const enum, update convert() dispatcher"],["a5c53c38","2018-12-29","fix(color): add/update conversions"],["04c38372","2018-12-28","refactor(color): update converters"],["4ca7a23d","2018-12-28","Merge branch 'feature/vec-refactor' into feature/color"],["a72562cf","2018-12-28","Merge branch 'develop' into feature/vec-refactor"],["eae8d140","2018-12-28","Publish"],["846ab5ca","2018-12-28","feat(transducers): add interpolate() iterator, update readme"],["dbbb26cf","2018-12-28","feat(color): add multiCosineGradient()"],["46013514","2018-12-28","refactor(color): update conversions"],["0a9456bf","2018-12-28","docs(color): update readme"],["1c28c22b","2018-12-28","fix(color): HCYA field names"],["e930d736","2018-12-28","feat(color): add more color spaces, refactor, rename, simplify"],["714381de","2018-12-27","perf(color): refactor porterDiff as HOF, update all PD ops, add docs"],["d0b1e60e","2018-12-27","refactor(color): add AColor, re-use for existing wrappers, update deps"],["f515f6cb","2018-12-27","Merge branch 'feature/vec-refactor' into feature/color"],["ef4562a2","2018-12-27","build: update deps"],["95ac1e86","2018-12-27","Merge branch 'feature/vec-refactor' into feature/color"],["5b49e70d","2018-12-27","Merge branch 'develop' into feature/vec-refactor"],["ea0dee0f","2018-12-27","Publish"],["3f9b2443","2018-12-27","refactor(pointfree): re-use comp() from thi.ng/compose"],["1ebfea95","2018-12-26","fix(compose): fix comp() for arities >10"],["0061b21f","2018-12-26","feat(compose): add threadFirst/Last, rename compI => compL"],["5788646f","2018-12-26","feat(color): add/update class wrappers"],["7a735f2d","2018-12-25","refactor(vectors): update gvec, Vec2/3/4, extract iterator impl"],["7bcd21ac","2018-12-24","Merge branch 'feature/vec-refactor' into feature/color"],["aa5ad976","2018-12-24","fix(vectors): update field names in declareIndex()"],["0caf599b","2018-12-24","Merge branch 'feature/vec-refactor' into feature/color"],["5620483b","2018-12-24","refactor(vector-pools): update IVector refs (new field names)"],["0c0fce6a","2018-12-24","feat(vectors): update gvec, add generic setS()"],["6e6a33ce","2018-12-24","refactor(vectors): update IVector (rename fields), add ICopyView"],["c2556c2e","2018-12-24","refactor(vectors): update declareIndices, extract single declareIndex fn"],["610699ab","2018-12-24","feat(color): add RGBA/HSLA wrapper types, update convert"],["404ac54b","2018-12-24","feat(color): add HSI converters, add clampH(), minor refactors"],["a5d2f98e","2018-12-23","feat(color): add Porter-Duff ops, pre/post-multiply, update types"],["8fa05c3d","2018-12-22","feat(math): add constants"],["eb5f6391","2018-12-22","feat(vectors): add setC()"],["0b51ef1c","2018-12-22","feat(color): add new package"],["946af71e","2018-12-21","Merge branch 'feature/vec-refactor' into feature/color"],["0099c27c","2018-12-21","Merge branch 'develop' into feature/vec-refactor"],["ec6084b5","2018-12-21","Publish"],["6618c226","2018-12-21","feat(hdom): add support for event listener options, update readme"],["696a0ce3","2018-12-21","Merge branch 'feature/vec-refactor' into feature/color"],["f617c7ec","2018-12-21","Merge branch 'develop' into feature/color"],["e49d3caa","2018-12-21","Merge branch 'develop' into feature/vec-refactor"],["62418f90","2018-12-21","Publish"],["9f48a760","2018-12-21","fix(hdom): fix #63 update removeChild() (IE11)"],["e2874932","2018-12-21","build(geom): update deps"],["c8e25bb0","2018-12-21","build(vectors): update deps"],["b130a944","2018-12-21","refactor(vectors): rename mapBufferV* fns => mapV*"],["8b582cb5","2018-12-21","refactor(vectors): extract & reuse Vec2/3/4 static fns, add copyView()"],["a916f3e7","2018-12-20","Merge branch 'develop' into feature/vec-refactor"],["802fab85","2018-12-20","Publish"],["61b7b117","2018-12-20","feat(iterators): add `children` arg for walk()/walkIterator()"],["f44070e4","2018-12-20","Publish"],["caad2d38","2018-12-20","docs: update package list"],["9984c51d","2018-12-20","Merge branch 'feature/hiccup-markdown' into develop"],["58f591e8","2018-12-20","feat(hiccup-markdown): add new package"],["df38394e","2018-12-20","refactor(hiccup): export normalize() fn"],["9884a67c","2018-12-19","build: update depgraph script"],["2a43bf37","2018-12-19","Publish"],["a78c6a7f","2018-12-19","feat(intervals): add Interval.parse(), update docs, readme, deps"],["6d753f98","2018-12-18","Merge branch 'develop' into feature/vec-refactor"],["47782618","2018-12-18","Publish"],["8545ded8","2018-12-18","Merge branch 'develop'"],["82814288","2018-12-18","docs: update package list"],["14a8a634","2018-12-18","docs: update package list"],["b0a31426","2018-12-18","feat(intervals): add new package"],["33bcd152","2018-12-17","Publish"],["04705053","2018-12-17","fix(transducers): add return type for range()"],["aa128298","2018-12-17","build: update deps"],["6201c9b8","2018-12-17","Merge branch 'develop' into feature/vec-refactor"],["1d5278f8","2018-12-16","Publish"],["6d85c626","2018-12-16","fix(hdom): life cycle init / release handling"],["159ce8f6","2018-12-15","Publish"],["a3290b08","2018-12-15","build: update deps in make-* scripts"],["32847a91","2018-12-15","build(examples): update deps"],["aac8b6f6","2018-12-15","feat(hiccup-css): add animation(), add test & update readme"],["3b3e5032","2018-12-14","fix(pointfree-lang): update parser stubs (TS3.2.x)"],["0436c506","2018-12-14","build: update dev deps in all packages"],["dae12057","2018-12-14","minor(hiccup-carbon-icons): fix repo link"],["a7491117","2018-12-14","Publish"],["d734b570","2018-12-14","docs: update package list (main readme)"],["da441c18","2018-12-14","feat(hdom-components): merge button & button group attribs"],["6b04e160","2018-12-14","feat(hiccup-carbon-icons): add new package"],["b86737a6","2018-12-14","feat(examples): update xml-converter cli arg handling (var name)"],["87e6cb31","2018-12-13","docs: update main readme"],["388c14b4","2018-12-13","Merge branch 'develop' into feature/vec-refactor"],["e36a7ee0","2018-12-13","Publish"],["151e1422","2018-12-13","docs(hdom): update readme"],["fbbf5f90","2018-12-13","minor(examples): update source links"],["582c69ff","2018-12-13","Merge branch 'feature/hdom-skip' into develop"],["fea3d777","2018-12-13","fix(examples): minor update hdom-benchmark2"],["8155bf4b","2018-12-13","feat(examples): add proper DOM stats calculation, remove interlacing (obsolete)"],["2ff75609","2018-12-13","perf(examples): update __skip handling in hdom-benchmark2"],["92c11107","2018-12-13","feat(examples): improve axis tick resolution estimate in crypto-chart"],["c3b1528f","2018-12-13","feat(examples): add more UI & controls to hdom-benchmark2"],["a40c0f5e","2018-12-13","minor(hdom-components): minor updates fpsCounter()"],["10afa0d5","2018-12-13","docs(examples): update hdom-skip comments"],["db4d0a58","2018-12-13","Merge branch 'develop' into feature/hdom-skip"],["1b298f76","2018-12-13","fix(strings): update kebab()"],["8dcc73a1","2018-12-13","feat(strings): add slugify()"],["ba0d5e5c","2018-12-13","docs(examples): update readme list"],["73a298df","2018-12-13","refactor(hdom-components): emit int coords for sparkline"],["baa1dfef","2018-12-13","feat(examples): add hdom-benchmark2 example"],["ebd33808","2018-12-13","feat(hdom-components): add FPS counter & sparkline components, update deps"],["c1fecc4d","2018-12-12","refactor(hdom-mock): update text node handling, tests, add readme"],["1dc6e721","2018-12-12","minor(hdom): intern strings"],["046ab206","2018-12-12","minor(hiccup): reformat"],["d3500df5","2018-12-12","feat(hiccup): add __skip support, add test, update readme"],["5609d24a","2018-12-11","feat(hdom-mock): add hdom-mock package and implementation, add initial tests"],["fe9a3120","2018-12-11","refactor(hdom): update createTextElement() sig, update docstrings"],["6db31708","2018-12-11","fix(transducers-hdom): integrate recent hdom updates"],["43327c9e","2018-12-11","refactor(hdom-canvas): update HDOMImplementation, add __skip support, reformat"],["69b29ad7","2018-12-11","docs(hdom): add __skip attrib docstring"],["6f2e8ee0","2018-12-11","refactor(hdom): extend & simplify HDOMImplementation, update DEFAULT_IMPL"],["8dc755d9","2018-12-10","minor(examples): fix typo"],["6d387dbd","2018-12-10","feat(examples): add hdom-skip example"],["a4e67362","2018-12-10","feat(hdom): add initial __skip ctrl attrib handling in diffTree()"],["42eab0bc","2018-12-09","Merge branch 'develop' into feature/vec-refactor"],["97bf837e","2018-12-09","doc(vectors): update readme (add note about vectors3 & matrices)"],["ceb404c4","2018-12-09","doc(geom): update readme (add note about geom2)"],["6726925b","2018-12-09","docs: add links to WIP packages"],["71300e92","2018-12-09","docs: update main readme"],["20e0884b","2018-12-09","Publish"],["19b0a554","2018-12-09","perf(diff): further array caching/reuse"],["cfdc4d76","2018-12-08","Merge branch 'develop' into feature/vec-refactor"],["6e361d62","2018-12-08","Publish"],["a7e9def5","2018-12-08","refactor(hdom-canvas): update diffArray call site"],["c3f6f98c","2018-12-08","refactor(hdom): minor update diff call sites"],["64feacfb","2018-12-08","refactor(diff): flatten linear edit logs, update readme & arg order"],["b627f60c","2018-12-08","Merge branch 'feature/hdom-perf' into develop"],["8165005c","2018-12-08","refactor(equiv): minor update (intern string consts)"],["899941f0","2018-12-08","perf(hdom-canvas): update diffTree() to compute edit dist only"],["e9b067b7","2018-12-08","refactor(hdom): update diffTree & diffAttributes (@thi.ng/diff updates)"],["e8356cd2","2018-12-08","perf(diff): flatten linear edit logs, rewrite diffObject(), add DiffMode"],["d1ee6d9e","2018-12-08","perf(diff): reduce amount of temp/internal array allocs (diffArray)"],["6c6da825","2018-12-08","feat(diff): add fast paths for simple cases, add tests, refactor as arrow fns"],["34b515b2","2018-12-08","Merge branch 'develop' into feature/vec-refactor"],["9878c556","2018-12-03","feat(examples): add ClojureX talk-slides example (presentation tool)"],["b08b8e55","2018-12-01","Merge branch 'develop' into feature/vec-refactor"],["88efaa91","2018-12-01","Publish"],["ba8bad68","2018-12-01","minor(transducers): manual array destructuring in reduce/iterator"],["0e77d2c6","2018-12-01","refactor(transducers): implement range() as class w/ IReducible impl"],["57836390","2018-12-01","refactor(examples): update geom-tessel example to use new geom lib"],["0b351e12","2018-12-01","refactor(examples): move gradient defs (mandelbrot)"],["896855de","2018-12-01","feat(geom): re-add arcLength() impls, update imports"],["d4172ee3","2018-12-01","refactor(geom): update everything to use new vectors package"],["68806d93","2018-11-30","feat(vectors): add 2d/3d constants, update Vec2/3"],["87510f74","2018-11-30","feat(vectors): add addWeighted, eqDeltaArray, mixCubic, mixQuadratic"],["9f36a681","2018-11-30","docs(vectors): update readme"],["84ab9b25","2018-11-30","docs(vectors): update readme"],["b415c803","2018-11-30","refactor(vector-pools): update AttribPool internals"],["21d107d9","2018-11-30","docs(vector-pools): update/fix readme"],["27ea8c4a","2018-11-30","minor(vector-pools): fix typos in readme"],["3a51a42d","2018-11-30","docs(vector-pools): fix readme links"],["fd54d323","2018-11-30","feat(vector-pools): update readme, add examples"],["4fe2047e","2018-11-30","feat(vector-pools): add GLType alias, AttribPoolOpts, update pool impls"],["019c0af3","2018-11-30","feat(vector-pools): add AttribPool, refactor lists"],["25b97891","2018-11-30","refactor(vectors): add StridedVec, update IVector, AVec"],["d381ace2","2018-11-29","feat(api): add assert()"],["c31ce8ad","2018-11-28","refactor(vector-pools): various minor updates & fixes"],["48d5d572","2018-11-28","feat(vector-pools): add VecPool, VecArrayList & VecLinkedList"],["ea6bafaf","2018-11-28","feat(malloc): expose SIZEOF, add wrap()"],["6cb3b92b","2018-11-28","feat(vectors): add IVector interface impls for gvec()"],["63458c2c","2018-11-28","feat(vectors): add proxied gvec(), update mapBuffer*() docs"],["1fe9650d","2018-11-27","feat(vectors): add mapBuffer*() fns"],["c3d19141","2018-11-27","feat(vectors): add Vec2/3/4.iterator()"],["4a8295b7","2018-11-27","feature(vectors): update swizzle*() to support in-place updates"],["27f65f9e","2018-11-27","feat(matrices): add rotationAroundAxis33/44()"],["28f04ac1","2018-11-27","feat(vectors): add project(), signedArea2(), update orthoNormal3()"],["a373e55b","2018-11-27","feat(vectors): update `out` default behavior & codegens, bugfixes"],["d9e1b2ec","2018-11-27","feat(matrices): add viewport(), project/unproject(), update invert()"],["16d56a37","2018-11-27","feat(matrices): add trace()"],["28fd0f1f","2018-11-27","feat(vectors): add sum()"],["f1a5cf12","2018-11-27","feat(matrices): add M44 factories"],["97ac629d","2018-11-27","feat(vectors): add/update ops, add docstrings"],["35babfc6","2018-11-27","feat(matrices): add more matrix ops"],["f04e79e9","2018-11-26","feat(matrices): add more matrix ops, optimize & simplify"],["e19f6223","2018-11-26","feat(vectors): add faceForward, invSqrt & dotValues* fns"],["b697fd5d","2018-11-26","refactor(vectors): update codegens"],["8e6ddca9","2018-11-26","Merge branch 'develop' into feature/vec-refactor"],["bb625eb0","2018-11-26","Publish"],["18ffdb79","2018-11-26","fix(vectors): update VecOpSRoVV & dotS impls"],["f940672e","2018-11-26","feat(matrices): extract matrix ops to own package"],["52273cde","2018-11-25","feat(vectors): re-add (some) strided ops, update codegens, simplify"],["b4fffe85","2018-11-25","feat(vectors): add cosh, sinh, tanh, round, jitter, wrap"],["7448c6b6","2018-11-25","feat(vectors): re-add Vec2/3/4, clamp, reflect, refract, restructure package"],["18d44342","2018-11-25","refactor(vectors): update eqDelta & compileHOF()"],["bfbaaa9b","2018-11-25","feat(vectors2): update rand codegen tpls & compileHOF/GHOF"],["26d41996","2018-11-25","feat(vectors): add yet another version of vectors package"],["bb7e003d","2018-11-25","Merge pull request #62 from acarabott/feature/hdom-canvas-text-maxWidth"],["97965d89","2018-11-24","fix(hdom-canvas): actually pass maxWidth argument to text function"],["3f7fe2ad","2018-11-24","build(vectors): update deps"],["82186aa6","2018-11-24","Merge branch 'develop' into feature/vec-refactor"],["bb18d7a2","2018-11-24","Publish"],["d210668e","2018-11-24","docs: update package list"],["4aea85d2","2018-11-24","feat(random): re-import, extend & refactor random package (MBP2010)"],["65ee909f","2018-11-24","Merge branch 'develop' into feature/vec-refactor"],["364f27e3","2018-11-24","Publish"],["02ec7a7a","2018-11-24","docs(hdom-canvas): update readme"],["3872e379","2018-11-24","assets: add mandelbrot screenshot"],["738091d5","2018-11-24","docs(examples): update list (readme)"],["ca47a885","2018-11-24","docs(rstream): update readme"],["9ef64f16","2018-11-23","Merge branch 'feature/rs-tunnel' into develop"],["c6eec4ef","2018-11-23","fix(examples): add download fn (mandelbrot)"],["46c2882e","2018-11-23","fix(rstream): make maxWorkers optional"],["a47edd53","2018-11-23","feat(examples): update mandelbrot demo"],["67a5b104","2018-11-23","feat(rstream): add support multiple workers in Tunnel & TunnelOpts"],["f24e69ea","2018-11-23","refactor(rstream): move tunnel to /subs, add docs"],["a39b98c0","2018-11-23","Merge branch 'develop' into feature/rs-tunnel"],["4592fbb5","2018-11-23","Merge pull request #61 from acarabott/feature/hdom-canvas-text-maxWidth"],["4d1fa1c5","2018-11-23","minor(hdom-canvas): add maxWidth param to text draw call"],["2a4bd412","2018-11-22","feat(examples): add gradients, simplify"],["1b567440","2018-11-22","refactor(examples): minor updates mandelbrot demo"],["70ea4bd6","2018-11-21","feat(examples): add key controls & wheel zoom to mandelbrot demo"],["bab55c3c","2018-11-21","feat(rstream-gestures): add absZoom option (abs vs. relative)"],["9549067e","2018-11-21","fix: update build-examples script (multiple js outputs)"],["a68b9f9a","2018-11-21","refactor(examples): update mandelbrot demo"],["4cab7080","2018-11-21","fix: upload-examples script (if multiple sources)"],["80679d3c","2018-11-21","feat(examples): add mandelbrot worker/tunnel example"],["ef0fe42c","2018-11-21","feat(rstream): add StreamSync.getSources() / getSourceForID()"],["4750e796","2018-11-21","feat(rstream): add worker tunnel() sub"],["7007d633","2018-11-19","Merge branch 'develop' into feature/vec-refactor"],["e044a6a2","2018-11-19","Publish"],["143c47cd","2018-11-19","fix(math): fix #60, add range check for norm()"],["71c568c3","2018-11-13","Publish"],["9334f833","2018-11-13","feat(interceptors): update forwardSideFx(), refactor iceps as arrow fns"],["62b3c312","2018-11-13","Publish"],["1d085bff","2018-11-13","refactor(router): update Route, RouteMatch & minor optimizations"],["9b4a7b45","2018-11-12","Merge branch 'develop' into feature/vec-refactor"],["4bf18805","2018-11-12","Publish"],["4048849d","2018-11-12","Merge branch 'develop' of github.com:thi-ng/umbrella into develop"],["068255f6","2018-11-12","Merge pull request #59 from acarabott/feature/linecap"],["734a1428","2018-11-12","minor(hdom-canvas): fix default key for lineCap"],["74827068","2018-11-09","Merge branch 'develop' into feature/vec-refactor"],["a4bc35bd","2018-11-08","Publish"],["33e915b4","2018-11-08","feat(strings): add configurable units() HOF & presets"],["6eaa5f5f","2018-11-07","Publish"],["b0a4b65e","2018-11-07","refactor(examples): update hdom-dyn-context demo"],["52a47f0f","2018-11-07","refactor(transducers-hdom): update auto-deref ctx behavior"],["30161166","2018-11-07","feat(hdom): update auto-deref ctx behavior"],["749925f0","2018-11-07","feat(hiccup): update derefContext() to only apply to selected keys"],["5a3b860e","2018-11-07","feat(vectors): update VecPool & NDArray1"],["34930b31","2018-11-07","refactor(malloc): update package structure, fix stats()"],["c3751198","2018-11-06","Merge branch 'develop' into feature/vec-refactor"],["d2797516","2018-11-06","feat(examples): add hdom-dyn-context demo"],["79a6a365","2018-11-06","Publish"],["e91dbbc1","2018-11-06","feat(transducers-hdom): add support for dynamic user context vals"],["6a3a8739","2018-11-06","feat(hdom): add support for dynamic user context vals"],["a9478732","2018-11-06","feat(hiccup): add support for dynamic user context values"],["dc2c487d","2018-11-06","refactor(geom): update implementations() call sites"],["a24715e7","2018-11-06","refactor(defmulti): merge relations() w/ implementations(), update readme"],["3713c02a","2018-11-06","refactor(hiccup-svg): update convertTransforms(), update formatting"],["9f03889b","2018-11-06","minor(geom): add/update edges()/vertices() arg types"],["9a18620d","2018-11-06","minor(hiccup-svg): update path conversion/creation"],["c0134fda","2018-11-06","minor(geom): update imports"],["94a40cc5","2018-11-06","fix(geom): Path2 transform() & translate(), add asCubic() impl"],["df9b9f9f","2018-11-06","fix(geom): asCubic() for arc"],["9d60ad09","2018-11-06","perf(geom): emit hline/vline segments if possible"],["c4db51aa","2018-11-06","feat(vectors): add IMatrix & impls for Mat23/33/44, add/update accessors"],["4066c80f","2018-11-06","feat(defmulti): add relations()"],["35bd0679","2018-11-06","feat(geom): add new / update all types / ops, add tests"],["c41d12c0","2018-11-03","feat(vectors): re-add quaternion, various refactorings"],["358169fd","2018-11-01","feat(geom): add/update shape types"],["e197f908","2018-11-01","feat(hiccup-svg): add toHiccup() support in convertTree()"],["30f61da5","2018-11-01","feat(vectors): add eqDeltaArray()"],["0043fb5d","2018-11-01","feat(math): add cossin(), add opt scale arg for sincos()"],["184d55da","2018-10-31","build(vectors): update deps"],["954e0c28","2018-10-31","feat(vectors): add generic impls for common vec ops"],["816c9c01","2018-10-31","feat(strings): add floatFixedWidth(), update float()"],["766fdee2","2018-10-31","feat(vectors): re-add vec4, mat23/33/44, nd arrays"],["e3727ce9","2018-10-27","refactor(malloc): add/extract types to api.ts"],["228e08a1","2018-10-27","Merge branch 'develop' into feature/vec-refactor"],["46bf1a73","2018-10-27","Publish"],["c5b0f2f5","2018-10-27","feat(malloc): add MemPoolOpts, fix top block alloc, update tests, readme"],["cfd88555","2018-10-27","feat(geom): re-add & update more types / shape ops"],["a070016c","2018-10-27","feat(vectors): add VecPool skeleton, add more types, export codegen fns"],["51c4a49f","2018-10-26","feat(vectors): add/update types, multi-methods, minor optimizations"],["125c784f","2018-10-26","feat(defmulti): add versions w/ 1 optional typed arg, add .impls()"],["252f66db","2018-10-25","feat(geom): re-add more classes & methods, add svg conversions"],["505ca49c","2018-10-25","feat(vectors): add vec2n/vec3n(), copy() methods, update deps"],["fde2db21","2018-10-25","feat(defmulti): add callable() & implementations(), update readme"],["fe14b791","2018-10-24","Merge branch 'develop' into feature/vec-refactor"],["accda790","2018-10-24","fix(rstream-gestures): Publish (0.5.16 had publish error)"],["673bf50f","2018-10-24","Publish"],["a8c38987","2018-10-24","feat(defmulti): add support for dispatch value relationships / hierarchy"],["7b740ab8","2018-10-24","docs(malloc): update readme"],["4f156b04","2018-10-24","Merge branch 'develop' of github.com:thi-ng/umbrella into develop"],["724fe28f","2018-10-24","feat: add temp geom2 & vectors2 packages (defmulti API)"],["f271b78b","2018-10-24","Merge pull request #57 from acarabott/feature/rstream-gesture-local"],["f1f6af4d","2018-10-23","fix(rstream-gestures): fix incorrect local position when scrolled"],["5bb51391","2018-10-21","Publish"],["abba2d62","2018-10-21","Merge branch 'feature/geom-accel' into develop"],["be7acc33","2018-10-21","refactor(examples): update geom-knn demo"],["b47e6413","2018-10-21","feat(geom-accel): add KV support, update select/selectKeys()"],["c387887d","2018-10-21","docs: update package list"],["51071ac7","2018-10-21","Merge branch 'develop' into feature/geom-accel"],["6f8a8963","2018-10-21","docs: update package list"],["b7457cef","2018-10-21","Merge branch 'feature/malloc' into develop"],["4b72cda6","2018-10-21","feat(malloc): add freeAll(), release(), tests & benchmarks, update docs"],["40f07876","2018-10-21","docs(malloc): add docs to readme"],["787102a4","2018-10-21","fix(malloc): add size check, update readme"],["89f2bc28","2018-10-21","feat(malloc): re-add block compaction & splitting, update readme"],["2cf20c90","2018-10-21","feat(malloc): initial import @thi.ng/malloc package"],["ce131d48","2018-10-19","feat(geom): add IToCubic, add/update impls"],["4a47daa4","2018-10-19","feat(math): migrate mixCubic()/mixQuadratic() from geom package"],["85426d98","2018-10-19","fix(hiccup-svg): fix arc segment handling"],["f891c419","2018-10-19","feat(math): add sincos() & roundEps()"],["2469992e","2018-10-18","build(geom-accel): update deps (add morton)"],["ac2f3e83","2018-10-18","feat(morton): update/add muxScaled2/3 versions, add error handling"],["971dfb45","2018-10-18","Merge pull request #55 from acarabott/feature/readme-arc"],["b9cfb56f","2018-10-18","minor(hdom-canvas): add arc, hline, vline to readme"],["1063fea9","2018-10-18","feat(heaps): add pushPopAll()"],["f0deebb9","2018-10-18","minor(examples): update geom-knn"],["b31b4807","2018-10-18","refactor(hdom-canvas): update points() to accept iterables"],["0c76c024","2018-10-18","refactor(geom-accel): move iterator into KdNode"],["aa01a2de","2018-10-18","build: update .gitignore"],["f82c8b16","2018-10-18","feat(examples): add geom-knn example"],["e14ac8b1","2018-10-18","feat(geom-accel): re-import geom-accel skeleton (MBP2010)"],["f7bbfde4","2018-10-18","refactor(heaps): public fields"],["0cf708f4","2018-10-18","feat(bench): add timedResult() / benchResult()"],["6e0972e9","2018-10-17","build: further updates dev deps in all packages"],["f01551ac","2018-10-17","build: update make-module/example scripts"],["e6cef6b3","2018-10-17","build(examples): update dev deps"],["1ebae947","2018-10-17","build: update dev deps (TS3.1, parcel etc.)"],["348cdd4e","2018-10-17","docs(examples): update table"],["3569d242","2018-10-17","feat(examples): add geom-tessel example"],["d4d44b32","2018-10-17","fix(examples): update @thi.ng/math occurrences"],["cf2970aa","2018-10-17","minor: update readme"],["6e563377","2018-10-17","Publish"],["39d414f5","2018-10-17","docs: update package list in main readme"],["940fc312","2018-10-17","build(dsp): update package"],["456a2ee3","2018-10-17","build(math): update package desc"],["10cf5646","2018-10-17","build: update gitignore & yarn.lock"],["83ef61a1","2018-10-17","docs(geom): update readme, add/move assets"],["ffea836f","2018-10-17","refactor(geom): update deps & @thi.ng/math imports"],["0967929f","2018-10-17","feat(vectors): replace math.ts w/ imports from @thi.ng/maths package"],["f257330e","2018-10-16","refactor(transducers): add ensureArrayLike(), update permutations()"],["1bd9fd43","2018-10-16","docs(heaps): update readme"],["501536b9","2018-10-16","feat(morton): import & update @thi.ng/morton package (MBP2010)"],["6851f2c4","2018-10-16","feat(compose): add partial(), update readme"],["405cf51a","2018-10-16","feat(dlogic): add @thi.ng/dlogic package"],["458d4a07","2018-10-16","feat(binary): add @thi.ng/binary package"],["889730f8","2018-10-16","feat(dsp): add oscillators as @thi.ng/dsp package (from synstack / VEX)"],["4af1fba3","2018-10-16","feat(math): extract maths fns from @thi.ng/vectors as new package"],["e085136b","2018-10-13","Merge branch 'develop' into feature/geom"],["2e9f0486","2018-10-13","refactor(geom): update arg handling, update readme"],["328a9b03","2018-10-13","Merge pull request #54 from acarabott/feature/transducer-links"],["08372abd","2018-10-13","minor(transducers): fix links to reducers in README"],["2546039a","2018-10-13","Merge pull request #53 from acarabott/feature/baseline"],["6a9747bf","2018-10-13","minor(hdom-canvas): baseLine -> baseline"],["fa87f1e9","2018-10-11","feat(geom): add/update tessellate() impls"],["555fc515","2018-10-10","feat(geom): add/update factory fns, arg handling, tessel, poly area"],["3a20ef34","2018-10-10","feat(geom): add/update various shape impls & ops"],["296e1e07","2018-10-08","refactor: update Infinity consts in various packages"],["d655ec29","2018-10-08","feat(geom): re-import & refactor partial port of thi.ng/geom (clojure)"],["ff435be6","2018-10-07","minor(hdom-canvas): rename arc() => circularArc()"],["b2f9af93","2018-10-07","refactor(vectors): replace static Vec2/3/4 methods w/ IVector impls"],["221fb7f6","2018-10-06","feat(vectors): add collate & eqDelta fns, update ctors"],["6094738e","2018-10-03","feat(defmulti): add varargs support"],["2657df66","2018-09-30","feat(geom): add/update interfaces & impls"],["775cc8a7","2018-09-30","fix(hdom-components): add Canvas2DContextAttributes (removed in TS3.1)"],["1ef23611","2018-09-30","fix(transducers): minor TS3.1 fixes"],["515e5ba5","2018-09-30","feat(transducers): update wrap*() fns to accept iterables"],["aa6b1206","2018-09-30","feat(geom): re-add Arc2, update Circle2, update helper fns"],["3b1bf647","2018-09-30","feat(geom): add ICollate & ICopy impls, re-add/update convexHull2"],["2ba99311","2018-09-30","build(geom): update dev deps & yarn.lock"],["473ec800","2018-09-30","feat(vectors): add axis consts, add/update ops"],["6a0f8aa9","2018-09-29","feat(vectors): add comparators & ICompare impls for vec2/3/4"],["9fb2091a","2018-09-29","refactor(geom): add interfaces, split out common.ts into /func folder"],["34312d8f","2018-09-29","feat(vectors): add IMinMax interface"],["9c27c77f","2018-09-29","feat(geom): update all shape types, add interfaces & ops, update tests"],["5c44ad98","2018-09-29","feat(vectors): add operation specific interfaces, rename Vec3.toPolar()"],["22f6aab4","2018-09-29","Merge branch 'develop' into feature/geom"],["4f15ea80","2018-09-28","Publish"],["8399ec2f","2018-09-28","docs(vectors): fix docstrings, hide CommonOpts type alias"],["f2114d52","2018-09-28","Merge branch 'feature/vec-codegen' into develop"],["247dec02","2018-09-28","refactor(vectors): generate more ops, move declareIndices() (#51)"],["719b27ac","2018-09-28","refactor(vectors): rewrite codegen, add more types & gen ops (#51)"],["9bee7f85","2018-09-28","refactor(vectors): use codegen for unary vec2/3/4 ops"],["b5ed2545","2018-09-28","feat(vectors): add vector ops codegen, update basic vec2/3/4 ops (#51)"],["d964865e","2018-09-28","docs(hdom): add xml-converter example link & screenshot"],["6db26c2b","2018-09-28","feat(examples): add copy-to-clipboard, extract UI config & components"],["5cfbf70d","2018-09-27","feat(examples): update css"],["71cbd19a","2018-09-27","fix(examples): fix attrib format"],["95ba4f6d","2018-09-27","feat(examples): extend xml-converter, add CLI version, update docs"],["2f014471","2018-09-26","Publish"],["4b78c8a3","2018-09-26","minor(examples): xml-converter"],["96367021","2018-09-26","docs(hdom): add/update docs (fix #47)"],["0a49d0a5","2018-09-25","fix: update .gitignore (fixes #46, fixes #50)"],["ad1bac8f","2018-09-25","refactor(examples): refactor hiccup formatter, minor fixes"],["823d828d","2018-09-25","fix(transducers): fix matchLast(), fix & update return match*() types"],["61af7e51","2018-09-25","Merge branch 'master' of github.com:thi-ng/umbrella"],["b8a93ea8","2018-09-25","fix(examples): add null check & parseAttrib() in transformCSS()"],["3abfc42c","2018-09-25","Merge pull request #49 from nkint/patch-1"],["a169d2df","2018-09-25","fix(examples): add missing index.html (#46)"],["04872dbe","2018-09-25","Publish"],["79cf49e1","2018-09-25","feat(examples): add value coercions & re-formatter (xml-converter)"],["0cce0488","2018-09-25","feat(strings): add splice(), refactor repeat(), add tests"],["8b8bf885","2018-09-25","typo"],["0cddc7d6","2018-09-25","feat(example): update xml-converter (add boolean attrib support)"],["5119b67e","2018-09-25","feat(sax): add opt support for boolean attribs, add tests"],["5a893d5b","2018-09-25","docs(examples): update table"],["436edc0f","2018-09-25","Publish"],["50fa6492","2018-09-25","fix(hdom): add DEFAULT_IMPL to re-exports (#47)"],["febe3c36","2018-09-25","Publish"],["cb263002","2018-09-25","feat(examples): add xml-converter example"],["8cbfb97e","2018-09-24","fix(strings): rename number parsers"],["888ea747","2018-09-24","fix(examples): rename `prepare` script aliases"],["c0a8926b","2018-09-24","fix(examples): rename `prepare` script alias, add commits.json (#46)"],["cf05efbf","2018-09-24","Publish"],["665564c7","2018-09-24","feat(sax): update parse() to return iterator if input given (optional)"],["fc6a4d32","2018-09-24","perf(rstream-log): `Level` => const enum"],["8e4fc902","2018-09-24","perf(rstream-gestures): `GestureType` => const enum"],["7ac83c6f","2018-09-24","perf(rstream): `State` => const enum"],["a7b9a427","2018-09-24","perf(pointfree-lang): `NodeType` => const enum"],["c3e8d689","2018-09-24","perf(csp): `State` => const enum"],["39f7fb0c","2018-09-24","build: add `preserveConstEnums` to global tsconfig"],["657a3088","2018-09-24","docs: fix twitter badges, update make-module script"],["89ab34a3","2018-09-24","Merge branch 'master' of github.com:thi-ng/umbrella"],["94f64698","2018-09-24","docs: update all readme files"],["56bfecbc","2018-09-23","Merge pull request #45 from rgtk/patch-1"],["b2a24f8c","2018-09-23","Fix links to @thi.ng/transducers"],["edf68556","2018-09-23","Publish"],["7cd08281","2018-09-23","docs(hdom): update readme"],["4a2f79b8","2018-09-23","refactor(hdom): minor refactoring, fix/update docs"],["1d8eeb4d","2018-09-23","feat(hiccup): emmet class & class attrib merging in normalize()"],["ff5e5550","2018-09-23","docs(rstream): re-org readme"],["ed3f10b5","2018-09-23","docs(hdom): fix/update changelog"],["bb224a75","2018-09-22","docs(examples): update readme"],["02548fd2","2018-09-22","Publish"],["70de921a","2018-09-22","build: add npm registry for publish script"],["ee0c2b96","2018-09-22","build: update yarn.lock"],["897f2b36","2018-09-22","docs: update branch links (all back to master now)"],["39d35d93","2018-09-22","chore(examples): add missing .gitignore"],["4bc64394","2018-09-22","chore: add HMR handling to make-example script"],["387376ed","2018-09-22","docs(hdom): major update readme"],["86bdd06d","2018-09-22","feat(examples): add svg-barchart demo"],["5ef9cf0e","2018-09-22","feat(hdom): add renderOnce()"],["06dccee4","2018-09-21","docs(hdom): update readme"],["8441afcb","2018-09-21","assets: add new diagram sources (hdom & interceptors)"],["bb5569f7","2018-09-21","build: update yarn.lock"],["0dcc1b86","2018-09-21","refactor(rstream): remove Stream.NEXT_ID, replace w/ Subscription field"],["8aa66055","2018-09-21","build: update example generator & build scripts"],["efcbe2de","2018-09-21","minor(examples): fix sort icon in triple-query"],["7c4dc3f0","2018-09-21","fix(examples): update commit-table-ssr to work w/ parceljs, update docs"],["22732421","2018-09-21","build(examples): update yarn build commands"],["1ee6c43a","2018-09-21","build: update typedoc dep"],["022101f3","2018-09-21","fix(transducers): add missing type annotation"],["78b1f4ac","2018-09-21","fix(transducers-hdom): add missing type annotation"],["3cd03bd7","2018-09-20","assets(examples): add gesture-analysis screenshot"],["288b68d9","2018-09-20","feat(rstream): add trigger() generics"],["75889156","2018-09-20","docs(rstream): update readme & doc strings"],["d5ec6fd8","2018-09-20","docs(rstream): add docs, update readme"],["dbdb72ec","2018-09-20","docs(rstream): add diagrams"],["bbb87f4a","2018-09-20","docs(hdom): update readme"],["1ac1110b","2018-09-20","feat(examples): rename interceptor-basics, add more simpler version"],["6d6fae33","2018-09-20","refactor(hdom): allow HDOMOpts extensions"],["74816eb0","2018-09-20","docs(hdom): update readme"],["46d851b6","2018-09-19","feat(examples): add hdom-canvas-draw demo"],["09a821b2","2018-09-19","refactor(hdom-canvas): switch canvas back to lifecycle object form"],["e390a54d","2018-09-19","feat(api): add `IToHiccup` interface"],["929c6f42","2018-09-19","feat(rstream): add trigger() utility stream"],["e82e3122","2018-09-19","feat(examples): add SVG export comment to hdom-canvas-shapes"],["de17db8f","2018-09-19","perf(hdom): minor updates"],["53a1d2c0","2018-09-19","refactor(hdom-canvas): add _serialize control attrib to root group"],["363c241c","2018-09-19","feat(hiccup): add control attrib handling, add comment support"],["bca4cc4b","2018-09-17","Publish"],["b488d2b3","2018-09-17","feat(transducers): add randomID()"],["f001314d","2018-09-17","fix(transducers): str() initial result handling"],["eb674268","2018-09-17","fix(transducers): update arg types for choices() & weightedRandom()"],["bd228110","2018-09-17","Publish"],["3e647a18","2018-09-17","fix(atom): add .value getter to IView"],["76309858","2018-09-17","minor(examples): update clock example"],["38125686","2018-09-17","docs: add hdom-canvas to package table"],["60f00590","2018-09-17","build(examples): fix deps, update readmes"],["7bbd1bcf","2018-09-17","docs(hdom-canvas): update links"],["95c462a5","2018-09-17","Publish"],["decc26b2","2018-09-17","build: update deps"],["b9738cc4","2018-09-17","v1.2.0"],["b43fcb39","2018-09-17","v2.0.0-alpha"],["f424fa92","2018-09-17","Publish"],["d4487066","2018-09-17","v1.1.0"],["3835cf43","2018-09-17","v2.2.0"],["ff919070","2018-09-17","v0.4.0"],["339342b3","2018-09-17","v0.1.9"],["7481df23","2018-09-17","v1.5.9"],["4297d649","2018-09-17","Merge branch 'feature/hdom-canvas' into develop"],["4fe6a742","2018-09-17","Merge branch 'feature/hdom-v5' into develop"],["eb4e6891","2018-09-17","refactor(examples): minor updates"],["ae4b6212","2018-09-16","perf(hdom-canvas): inline type checks, update deps & readme"],["a52f83c4","2018-09-16","fix(hdom-canvas): update __normalize handling, rename fns"],["382c45ca","2018-09-16","perf(hdom): update diffTree(), inline node type checks"],["224a537a","2018-09-16","perf(checks): inline checks in isNotStringAndIterable()"],["b93dc745","2018-09-16","feat(examples): add static canvas test"],["74547aa6","2018-09-16","feat(hdom-canvas): update canvas component & diffTree impl, update docs"],["3b628326","2018-09-16","refactor(hiccup-svg): update points(), minor fixes, add docs"],["ebfcf159","2018-09-16","refactor(hdom): export diff related fns"],["bb7e08a8","2018-09-16","refactor(examples): update canvas demo"],["5de02559","2018-09-16","feat(hdom-canvas): add HDPI auto-adjustment, update docs"],["b219d67a","2018-09-15","Merge branch 'feature/hdom-v5' into feature/hdom-canvas"],["d9af2e5f","2018-09-15","refactor(hdom): update custom equiv()"],["6c33901f","2018-09-15","fix(hdom): delegate diffTree() to branch impl"],["3de83bb7","2018-09-15","refactor(hiccup): add `button` to NO_SPANS elements"],["adaaa7a0","2018-09-15","feat(hdom-canvas): add warning msg for hydrateTree() impl"],["ae1371d8","2018-09-15","Merge branch 'feature/hdom-v5' into feature/hdom-canvas"],["05920636","2018-09-15","fix(hdom): exclude hdom control attribs in setAttrib()"],["4e230164","2018-09-15","feat(vectors): add random vector ops for Vec2/3/4 & GVec"],["8e796480","2018-09-15","Merge branch 'develop' into feature/geom"],["6a76bfd1","2018-09-15","Merge branch 'develop' into feature/hdom-canvas"],["442f14f4","2018-09-15","Merge branch 'develop' into feature/hdom-v5"],["7963e256","2018-09-15","feat(strings): add U24 hex preset"],["be25c48e","2018-09-15","feat(examples): add circles test"],["56b919d8","2018-09-15","Merge branch 'feature/hdom-canvas' into feature/geom"],["2bb41d45","2018-09-14","docs(examples): update crypto readme (replace diagram)"],["1d463ea6","2018-09-14","build(examples): update deps (hdom-canvas-shapes)"],["141e7c86","2018-09-14","docs(examples): add dflow diagram, update readme"],["42c1c403","2018-09-14","fix(examples): add missing file download.ts"],["7778c404","2018-09-14","Merge branch 'feature/hdom-canvas' into feature/geom"],["6e20e3e2","2018-09-14","feat(hiccup): add `.toHiccup()` interface support"],["8ecdd139","2018-09-14","feat(hdom-canvas): add `.toHiccup()` interface support"],["54ba0ce1","2018-09-14","feat(hdom): add `.toHiccup()` interface support"],["177855c3","2018-09-14","feat(examples): add geom circle test"],["c03259cb","2018-09-14","feat(geom): import (updated) old thi.ng/geom package (minus vectors)"],["f25db9a2","2018-09-14","docs(hdom-canvas): update readme"],["b8f79568","2018-09-14","feat(examples): add SVG conversion & export to hdom-canvas-shapes"],["3acb0dd8","2018-09-14","fix(hiccup-svg): update points() to use \"xlink:href\" (fix for safari)"],["7a6cf519","2018-09-14","feat(hiccup-svg): re-parse alpha colors in gradients (fix for safari)"],["d4122694","2018-09-14","feat(hdom-canvas): update points() to use circle or rect shapes"],["214cb62d","2018-09-14","feat(hiccup-svg): add custom shape support for points(), use instancing"],["cf4add3e","2018-09-14","refactor(hiccup-svg): update attrib conversion"],["a00761ba","2018-09-14","refactor(examples): update svg `text` arg order (hiccup-svg update)"],["f45f4ff0","2018-09-14","refactor(examples): update gradient def in svg-waveform"],["c20b24a7","2018-09-14","refactor(hdom-canvas): swap `img` args to be more consistent w/ others"],["4cb8cf72","2018-09-14","feat(hiccup-svg): add new elements, update convertTree(), refactor"],["0c4dddce","2018-09-14","feat(hiccup-svg): add convertTree() interop helpers (#44)"],["fb9c704d","2018-09-14","docs(hdom-canvas): update readme"],["de61c215","2018-09-14","feat(hdom-canvas): add `defs` node/group type"],["75002fad","2018-09-13","build: update upload-examples"],["17d13866","2018-09-13","feat(examples): use location.hash to select tests, update assets"],["c8d7a7c9","2018-09-13","feat(examples): update canvas image test"],["f7af43c1","2018-09-13","Merge branch 'feature/hdom-v5' into feature/hdom-canvas"],["c2859105","2018-09-13","perf(checks): update isPlainObject()"],["bde18d50","2018-09-13","refactor(hdom): use custom equiv also for diffAttributes()"],["481d9d34","2018-09-13","perf(diff): update diffObject() & add IOC support for custom equiv fn"],["a9e173e7","2018-09-13","test(hdom): update tests"],["96beaf38","2018-09-13","refactor(hdom): trial run of custom equiv() impl for diffTree()"],["ee55accd","2018-09-13","perf(equiv): inline & refactor type checks, add IOC support for helpers"],["360f15af","2018-09-13","feat(examples): add canvas image test"],["6b62067b","2018-09-13","docs(hdom-canvas): update readme"],["99020cad","2018-09-13","docs(hdom-canvas): update readme"],["5aa9d46a","2018-09-13","refactor(hdom-canvas): update attrib aliases"],["b6c1e42e","2018-09-13","docs(examples): update hdom-canvas-* build instructions"],["2b16d24d","2018-09-13","docs(examples): update readme"],["2fa4c56c","2018-09-13","refactor(examples): update hdom-canvas-shapes"],["6496e47b","2018-09-13","feat(hdom-canvas): add new shape types, add canvas attribs, refactor"],["5a3c3147","2018-09-13","refactor(examples): minor updates shape test"],["98735395","2018-09-13","docs(examples): update example table (readme)"],["7aae4333","2018-09-13","feat(examples): add hdom-canvas-shapes"],["81fe154d","2018-09-13","feat(hdom-canvas): fix #43, add gradient support"],["d5e01ff8","2018-09-12","Merge branch 'feature/hdom-v5' into feature/hdom-canvas"],["e4f780c7","2018-09-12","fix(hdom): minor fix (hydrateDOM)"],["81a39ba7","2018-09-12","refactor(hdom-canvas): update to reflect hdom api changes"],["700352de","2018-09-12","Merge branch 'feature/hdom-v5' into feature/hdom-canvas"],["832e419c","2018-09-12","fix(transducers-hdom): update to work w/ new @thi.ng/hdom v5 API"],["1ac245f8","2018-09-12","feat(hdom): reorg & extend HDOMImplementation"],["66c007de","2018-09-12","feat(checks): add isNotStringAndIterable()"],["764373a7","2018-09-12","feat(hdom-canvas): add rounded rect option (as path)"],["2a973fd1","2018-09-12","Merge branch 'feature/hdom-v5' into feature/hdom-canvas"],["1cfad519","2018-09-12","refactor(hdom-canvas): update canvas component, add docs"],["2e3fb660","2018-09-12","perf(hdom): add opt `__release` attrib to disable releaseDeep()"],["cfadbe3e","2018-09-12","refactor(examples): update clock main group attribs"],["1d24a166","2018-09-12","feat(hdom-canvas): add canvas-specific normalizeTree() impl"],["59bb19c2","2018-09-11","feat(hdom): update normalizeTree, add to HDOMImplementation"],["82cd9389","2018-09-11","feat(hdom-canvas): add path shape type, embedded fn & iterator handling"],["c69454b0","2018-09-11","refactor(examples): update attribs & scengraph in hdom-canvas-clock"],["ccbf53cf","2018-09-11","feat(hdom-canvas): implement drawing state inheritance & restoration"],["17060403","2018-09-11","build(examples): enable source maps in all examples, update make-example"],["d93efa86","2018-09-11","refactor(examples): minor updates hdom-canvas-clock, enable source map"],["d3acb707","2018-09-11","feat(hdom-canvas): add more shapes/prims, update transform handling"],["b4a37dd3","2018-09-10","Merge branch 'develop' into feature/hdom-canvas"],["685fd0bd","2018-09-10","Merge branch 'develop' into feature/hdom-v5"],["bdb57f83","2018-09-10","Publish"],["f4cc0dda","2018-09-10","refactor(vectors): Vec3/4 toString() impls"],["ae261ab5","2018-09-10","fix(vectors): GVec.copy() / get()"],["07d1ccfc","2018-09-10","fix(vectors): Mat23/33/44 toString() impls"],["3dd00725","2018-09-10","feat(vectors): add matrix index & property accessors"],["54e59a08","2018-09-10","fix(examples): re-enable HMR logic"],["dc618983","2018-09-10","refactor(hdom-canvas): rename types due to hdom update"],["5546c0d2","2018-09-10","Merge branch 'feature/hdom-v5' into feature/hdom-canvas"],["cc73c769","2018-09-10","refactor(hdom): rename HDOMOps => HDOMImplementation, add docs"],["ada7d34e","2018-09-10","build: add max-age cache header (upload-examples)"],["2fdcf104","2018-09-10","refactor(examples): update clock demo"],["689e775e","2018-09-10","feat(examples): add hdom-canvas-clock demo"],["f41014eb","2018-09-10","feat(hdom-canvas): rename package, add text support, refactor"],["60f12c5d","2018-09-10","feat(hiccup-canvas): add canvas comp, createTree impl, update deps"],["46c5cd2c","2018-09-10","Merge branch 'feature/hdom-v5' into feature/hiccup-canvas"],["525d90d5","2018-09-10","feat(hdom): generalize diffElement() (#4)"],["5cb4350f","2018-09-09","feat(hdom): add optional support for blocking normalize & diff"],["c47711f9","2018-09-09","refactor(hiccup-canvas): add notes"],["84a6f441","2018-09-09","Merge branch 'develop' into feature/hiccup-canvas"],["146868d1","2018-09-09","build: update make-module script"],["890eb97c","2018-09-09","docs(compose): add missing package desc"],["266d02b0","2018-09-09","docs: update badges in all readme files"],["eb284f01","2018-09-09","feat(hiccup-canvas): add hiccup-canvas package"],["9bde777a","2018-09-08","fix(examples): add missing html file"],["d003cab6","2018-09-08","docs(examples): update readme"],["6051439d","2018-09-08","feat(examples): add gesture-analysis example"],["bfd3c2f2","2018-09-08","Publish"],["06f61cf4","2018-09-08","fix: missing comma in make-example script"],["8856a18f","2018-09-08","test(rstream): add merge-only sync tests"],["1f22867f","2018-09-08","feat(transducers): rename window() => slidingWindow(), update readme"],["2916432d","2018-09-08","docs(transducers): update partitionSync() docs"],["162aa2d5","2018-09-08","feat(rstream): add merge-only mode for StreamSync, update docs"],["d8fdc018","2018-09-08","feat(transducers): update partitionSync() xform & PartitionSyncOpts"],["2f0f3d48","2018-09-08","feat(transducers): add window() xform"],["014bd980","2018-09-07","fix: update upload-examples script"],["b4c2e1c0","2018-09-07","build: update `yarn examples` command, update readme"],["81610117","2018-09-07","build: add build-examples, update make-example script"],["316ad6ae","2018-09-07","build(examples): update all examples to use parcel instead of webpack"],["b1ef187d","2018-09-07","build: update lerna, replace webpack deps w/ parcel"],["42d142dc","2018-09-06","Publish"],["d54dffb0","2018-09-06","docs(examples): update table"],["cf516aa5","2018-09-06","Merge branch 'feature/defonce' into develop"],["83fa7ade","2018-09-06","feat(examples): add hmr-basics demo (fixes #40)"],["61bed88b","2018-09-06","feat(memoize): add defonce()"],["e0f83c4a","2018-09-05","Publish"],["2eec7006","2018-09-05","feat(vectors): add/update transformVectors*(), update types"],["2d5d0c86","2018-09-05","refactor(vectors): rename immutable vec ops, update readme table"],["f7df4cba","2018-09-05","chore: update .gitignore (add gtm)"],["c4631533","2018-09-05","test(vectors): add benchmarks"],["2583380b","2018-09-04","docs(vectors): update readme"],["a3c04076","2018-09-04","feat(vectors): add immutable vec2/3/4 ops"],["be6ae489","2018-09-03","Publish"],["9510f01a","2018-09-03","feat(vectors): add new vector ops, update readme"],["a5b3f84c","2018-09-03","docs(vectors): add/update doc strings"],["7001b7a8","2018-09-03","refactor(vectors): update matrix factories"],["f0ccd0c5","2018-09-03","feat(vectors): add mixBilinear1/2/3/4"],["ad131513","2018-09-03","fix(vectors): update GVec method args (readonly)"],["25ea00ca","2018-09-03","fix(vectors): add opt normalize for angleBetween2/3"],["c0fbb4ed","2018-09-03","fix(vectors): add missing arg types"],["34ffe9d7","2018-09-03","docs(hdom): update/fix docs & readme"],["4a16bd56","2018-09-03","refactor(transducers): update normRange()"],["16aa0c46","2018-09-03","feat(vectors): add Vec*.intoBuffer() impls"],["ba386e52","2018-09-01","Publish"],["6acb05bb","2018-09-01","build(examples): fix deps"],["1795f187","2018-09-01","refactor(vectors): update Vec2/3/4 index signatures"],["fc7c670b","2018-09-01","Publish"],["e5662a0a","2018-09-01","docs(paths): update readme, add tests"],["a7104535","2018-09-01","fix(resolve-map): deep resolve of yet unknown path values"],["f0183530","2018-09-01","feat(paths): add exists() path checker & tests"],["e66a4929","2018-09-01","fix(hdom): fix local import"],["71ee43ca","2018-09-01","Publish"],["e7016b42","2018-09-01","docs(hdom): fix screenshot link"],["a8282925","2018-09-01","Publish"],["d2b4fafb","2018-09-01","fix(vectors): add missing deps"],["208e57d2","2018-09-01","docs: update various readme's, add/move screenshots"],["7fa3852a","2018-08-31","Publish"],["1060b2a3","2018-08-31","docs(hdom): update readme, add hydrate docs"],["473aadc1","2018-08-31","refactor(examples): update crypto-chart to use `updateDOM` xform"],["1a6741a1","2018-08-31","refactor(examples): update `updateDOM()` transducer call sites"],["0f396948","2018-08-31","feat(transducers-hdom): add DOM hydration support, rename (#39)"],["5e74a9c0","2018-08-31","feat(hdom): update HDOMOpts & start()"],["1e8b4efa","2018-08-31","fix(hiccup): serialize() args"],["52417e37","2018-08-31","fix(examples): minor update hydrate demo"],["e7607f53","2018-08-31","docs(examples): update readmes"],["0d34bb7d","2018-08-31","feat(examples): add hydrate-basics example"],["26bc7e74","2018-08-31","refactor(examples): update hdom start() call sites to new API"],["d55d9303","2018-08-31","refactor(hdom): minor update HDOMOpts & start()"],["9f8010db","2018-08-31","feat(hdom): add DOM hydration support (SSR), update start() (#39)"],["1b97a25a","2018-08-31","fix(hiccup): disable spans for certain element types"],["1b0deb22","2018-08-31","feat(hiccup): add optional support for spans & auto keying (#39)"],["b8d944eb","2018-08-31","refactor(vectors): update matrices & types"],["0a806011","2018-08-30","refactor(vectors): update mulV*() arg order"],["80f291b5","2018-08-30","Publish"],["461adeef","2018-08-30","docs(resolve-map): fix #35, update docs & tests"],["0673f0f4","2018-08-30","fix(examples): fix #38, add missing dep"],["75d6409e","2018-08-30","build: update yarn.lock"],["d1b77cfe","2018-08-30","docs(vectors): update readme"],["d5cec948","2018-08-30","feat(vectors): update types, update GVec, add maths fns, swap impls"],["bdb5d377","2018-08-29","feat(vectors): consolidate vector consts, add toJSON() impls"],["bb55adf3","2018-08-29","Merge branch 'develop' into feature/webgl"],["b82a22f5","2018-08-29","refactor(vectors): simplify prop accessors (DRY)"],["f5795eee","2018-08-28","Publish"],["cd834f82","2018-08-28","feat(vectors): add more vec2/3 ops"],["4a373674","2018-08-28","feat(bench): add opt prefix arg, update docs"],["39cced5f","2018-08-28","minor(examples): add cursor css for dial"],["986e954f","2018-08-27","Publish"],["5afb5791","2018-08-27","Merge pull request #34 from andrew8er/pr/fix-rstream-resolve-errors"],["34a97b47","2018-08-27","fix(rstream): Fix unbound this in method call expression"],["917d81d1","2018-08-27","Publish"],["dee0476d","2018-08-27","docs(examples): update list of examples"],["d7235a3e","2018-08-27","feat(examples): add mouse & touch events for canvas-dial, refactor"],["a0cbd2b8","2018-08-27","feat(atom): add .value accessor aliases (for deref()/reset())"],["cfb2b747","2018-08-27","feat(vectors): add mix1(), minor cleanups"],["ccc40a9d","2018-08-27","feat(rstream-gestures): add options for local & scaled positions"],["b25edbec","2018-08-27","fix(hdom-components): call canvas update from init()"],["3f27acd7","2018-08-27","docs(rstream): update merge() docs"],["b5633b18","2018-08-27","feat(examples): add canvas-dial example (WIP)"],["135d6f1b","2018-08-27","feat(hdom-components): add HDPI adaptation helper for canvas comps"],["9d542b92","2018-08-26","minor(examples): fix/update comments"],["80a5f300","2018-08-26","feat(examples): add client/browser version of commit-log"],["318401c0","2018-08-25","refactor(examples): update components, add docs"],["37718855","2018-08-25","refactor(examples): further DRY & readme updates"],["82db75b2","2018-08-25","docs: fix example table"],["0cd261cf","2018-08-25","docs(example): update example list"],["fca0b13d","2018-08-25","docs(examples): add more comments"],["ae383f8e","2018-08-25","refactor(examples): simplify date handling"],["4be74bae","2018-08-25","fix(examples): commit log parsing, minor update html()"],["d0b1a1e4","2018-08-25","feat(examples): add commit-table-ssr express server / git commit log demo"],["80cae22d","2018-08-25","chore: update make-module script"],["866f3cdd","2018-08-25","refactor(cache): update iterator methods"],["8e9ba347","2018-08-24","Publish"],["113b424b","2018-08-24","docs: fix links in readmes"],["f9a1cc2a","2018-08-24","docs(transducers-stats): fix screenshot link"],["89e1bd51","2018-08-24","docs(rle-pack): fix diagram link"],["1c92f223","2018-08-24","Publish"],["cff9d18a","2018-08-24","docs(transducers): update readme examples"],["7a5be213","2018-08-24","fix(transducers): arg handling in rename()"],["389aff82","2018-08-24","build: update yarn.lock"],["b3f94159","2018-08-24","Merge branch 'feature/tx-v2' into develop"],["3057237f","2018-08-24","refactor(iges): transducer imports & usage"],["28110726","2018-08-24","assets(examples): update crypto-chart screenshot"],["2a443a56","2018-08-24","docs(transducers-stats): update readme"],["024a4e96","2018-08-24","docs(transducers): update readme"],["832e57f1","2018-08-24","fix(transducers): copy&paste error (push)"],["d861bdd1","2018-08-24","fix(transducers): iterator1() final reduced value handling"],["599f2b66","2018-08-24","feat(transducers): update base64Encode() to return string if input given"],["1025996e","2018-08-24","docs(rle-pack): update readme & diagram"],["40415217","2018-08-24","feat(rle-pack): further update data format (non-repeats)"],["694a2537","2018-08-24","feat(rle-pack): update data format, custom repeat sizes, rename fns"],["89b4ad5d","2018-08-23","feat(transducers): update all reducers to accept opt iterables"],["2c3a1147","2018-08-23","feat(transducers): add GroupByOpts interface, update groupBy* reducers"],["8565edb8","2018-08-23","fix(rle-pack): fix initial repeat counts in encodeBytes(), update readme"],["0bd860e6","2018-08-23","feat(transducers): add fill() & fillN() reducers"],["fb3c04da","2018-08-23","refactor(vectors): make Vec & Mat type aliases of NumericArray"],["519394b3","2018-08-23","feat(api): add NumericArray and TypedArray types"],["ecfcdcd9","2018-08-23","build: update yarn.lock"],["116ede83","2018-08-23","docs(transducers): update readme"],["c716e4ac","2018-08-23","add(transducers): add IReducible support for transduce() & run()"],["1280cfd5","2018-08-22","feat(dcons): add IReducible impl, update deps & imports"],["f14f7ce5","2018-08-22","feat(associative): add IReducible impls for SortedMap & SortedSet"],["9d83255a","2018-08-22","perf(transducers): add IReducible, update reduce()"],["fd8e7614","2018-08-09","feat(rle-pack): add support for custom input word sizes"],["4fdd3c92","2018-08-09","docs(transducers): update readme"],["3e659181","2018-08-09","minor(transducers): fix comp import"],["1434b0ed","2018-08-09","refactor(hdom): remove thi.ng/iterators dependency"],["802c5b44","2018-08-09","build(memoize): update/fix dev deps"],["f3d46460","2018-08-09","refactor(rstream): use SEMAPHORE from thi.ng/api, not transducers"],["5d5c70ab","2018-08-09","Merge branch 'master' into feature/tx-v2"],["e9c8ddc6","2018-08-09","chore(strings): update exports, add docs"],["653a175a","2018-08-09","feat(strings): add case converters"],["5209c426","2018-08-09","fix(strings): buffer length (for null inputs) (`center()`)"],["1a20bc2f","2018-08-09","feat(strings): add truncateLeft() & wrap() stringers"],["3a8bd088","2018-08-09","refactor(transducers): replace local types w/ external defs"],["ca0a04e7","2018-08-09","feat(compose): extract comp() & juxt() to new @thi.ng/compose package"],["bea7a1fd","2018-08-09","refactor(resolve-map): replace SEMAPHORE const w/ thi.ng/api def"],["9b443cb4","2018-08-09","refactor(hdom): replace SEMAPHORE const w/ thi.ng/api def"],["c22ac3ce","2018-08-09","refactor(associative): replace Pair & SEMAPHORE w/ identical thi.ng/api defs"],["cf30ba26","2018-08-09","feat(api): add new/move type aliases into api.ts"],["c9ac981a","2018-08-09","feat(transducers-stats): make xforms iterable if input given"],["ab662d8a","2018-08-09","perf(transducers): add iterator1(), update various xforms"],["d130aaa1","2018-08-08","build: fix transducer versions"],["8a111efd","2018-08-08","refactor(transducers): add shared SortOpts, update xforms"],["3e6c4624","2018-08-08","chore: update .gitignore"],["afb267a0","2018-08-08","docs: add graphviz dot files"],["dcccbcba","2018-08-08","refactor(examples): simplify transducer usages"],["c17cb087","2018-08-08","refactor(hdom-components): update/replace deps (iterators => transducers)"],["420cfe37","2018-08-08","test(csp): fix regression to due transducers update"],["d6352267","2018-08-08","refactor(dgraph): update/replace deps (iterators => transducers)"],["78d0a844","2018-08-08","fix(iges): regression to due transducers update"],["065d78ba","2018-08-08","refactor(cache): update/replace deps (iterators => transducers)"],["abe1a886","2018-08-08","refactor(associative): update/replace deps (iterators => transducers)"],["eb1714f5","2018-08-08","refactor(rstream-query): simplify transducer uses"],["cd5c6ff1","2018-08-08","refactor(rstream): update StreamSync transducer init"],["bae8a1d8","2018-08-08","feat(transducers): update all xforms to also work as iterator"],["e713704f","2018-08-08","refactor(transducers): rename inspect() => trace()"],["45e49930","2018-08-08","refactor(transducers): add ReductionFn type alias, update Reducer"],["723da5bb","2018-08-08","fix(transducers): hex type decl"],["ea768ad0","2018-08-08","Publish"],["6a0db9c7","2018-08-08","refactor(examples): replace hex() => radix(), update deps"],["b1ea9a55","2018-08-08","refactor(transducers): deprecate hex(), update hexDump() xform & deps"],["5864f2cd","2018-08-08","feat(strings): add opt prefix arg for radix()"],["a5e2c28a","2018-08-08","feat(transducers): add partitionBits() xform & tests"],["6eb97b58","2018-08-08","Publish"],["b2ebbfc8","2018-08-08","fix(strings): float type decl"],["0f2cf77d","2018-08-08","Publish"],["a14e5b24","2018-08-08","docs: update readmes"],["56d64c50","2018-08-08","refactor(examples): update crypto-chart to use @thi.ng/strings"],["df067d84","2018-08-08","refactor(iges): update to use @thi.ng/strings"],["40781eb3","2018-08-08","feat(strings): re-import & update @thi.ng/strings from MBP2010"],["369f375d","2018-08-08","build(memoize): update deps"],["2bc092d4","2018-08-08","feat(memoize): add optional cache arg for memoizeJ()"],["adc49285","2018-08-07","feat(memoize): add @thi.ng/memoize package"],["252411aa","2018-08-06","Publish"],["46d02f34","2018-08-06","refactor(examples): update rstream examples"],["378772fb","2018-08-06","fix(rstream): add generics for stream()"],["ec777c09","2018-08-03","Publish"],["f7500359","2018-08-03","docs: add rootlevel license file"],["7c54c68f","2018-08-03","refactor(examples): minor update rstream examples"],["361f8b43","2018-08-03","refactor(rstream-query): remove obsolete `reset` in addJoin()"],["f9466317","2018-08-03","refactor(rstream-graph): remove obsolete `reset` in node() factory"],["32810900","2018-08-03","test(rstream): update tests"],["e1f4667c","2018-08-03","chore(rstream): remove obsolete file"],["9101e089","2018-08-03","docs(rstream): add/update docs for all remaining stream constructs"],["e97aac0d","2018-08-03","feat(rstream): add stream() & subscription() factories, add/update docs"],["55499cc4","2018-08-03","feat(rstream): update StreamSync to use `reset: false` by default, update docs"],["2f0235ea","2018-08-03","docs: update main readme"],["4a9b4cce","2018-08-03","Publish"],["c5afc7b3","2018-08-03","refactor(examples): simplify rstream-hdom example"],["fdc7630b","2018-08-03","refactor(iges): only expect ArrayLike points/vectors, minor other updates"],["9ea44beb","2018-08-03","test(transducers): add padLast() tests"],["e50fd10e","2018-08-03","feat(transducers): add peek() helper fn"],["ff91987f","2018-08-03","docs(transducers): add docs & examples for ~50% of all transducers"],["69d25c8c","2018-08-02","refactor(examples): update transducers-hdom example"],["949a5d46","2018-08-02","fix(transducers-hdom): support hdom user context"],["feae35b0","2018-08-02","Publish"],["8ee1b103","2018-08-02","Merge branch 'develop'"],["698bb60d","2018-08-02","fix(examples): add missing files (triple-query)"],["3e70c31a","2018-08-02","feat(examples): add transducers-hdom example"],["7efce7a7","2018-08-02","feat(transducers-hdom): add new package @thi.ng/transducers-hdom"],["d4aa5ea2","2018-08-02","refactor(examples): add new types for crypto-chart example"],["bc26fb33","2018-08-02","Publish"],["381ad971","2018-08-02","Merge branch 'develop'"],["4ce80e79","2018-08-02","docs(vectors): update readme"],["befc7785","2018-08-02","refactor(vectors): update cylindrical coord conversion, add Vec3 methods"],["74f939c3","2018-08-02","feat(vectors): add toCylindrical3() / fromCylindrical3()"],["3039a35a","2018-08-02","feat(vectors): make Vec2/3/4 array-like, add IEquiv impls, add tests"],["2a13f28c","2018-08-02","feat(vectors): add gvec size checks, add IEquiv & Iterable impls"],["d007a8ae","2018-08-02","docs(examples): update example table (add triple-query)"],["248150ee","2018-08-01","Publish"],["b1cf171f","2018-08-01","chore: update make-* scripts, add cloc stats script"],["748131a3","2018-08-01","chore: update .gitignore"],["cbfd65a3","2018-08-01","fix(examples): add utf meta to all example html files"],["1a8ff8a6","2018-08-01","refactor(examples): cleanup imports"],["4db3fa83","2018-08-01","refactor(rstream-query): cleanup imports"],["c1690170","2018-08-01","refactor(rstream-dot): cleanup imports"],["0f7e82ae","2018-08-01","refactor(rstream): cleanup imports"],["14672731","2018-08-01","refactor(hdom): cleanup imports"],["e0ce1061","2018-08-01","Publish"],["68f59f21","2018-08-01","refactor(vectors): add IVec to all vector class wrappers"],["3ca2cbf1","2018-08-01","refactor(iges): make fill mode optional for addPolyline2d()"],["2ac23a34","2018-08-01","Merge branch 'feature/iges' into develop"],["ee24ede1","2018-08-01","Merge branch 'feature/ts3' into develop"],["e7d2675d","2018-08-01","feat(examples): add triple-query example project"],["0f01cc36","2018-08-01","minor: markdown fixes in various readmes"],["542540f0","2018-08-01","build(examples): update webpack deps"],["2ecd5384","2018-08-01","refactor(router): TS3.0 PropertyKey handling"],["bf2a3074","2018-08-01","refactor(pointfree): TS3.0 PropertyKey handling"],["38372cc9","2018-08-01","refactor(interceptors): TS3.0 PropertyKey handling"],["30d65d4b","2018-08-01","refactor(defmulti): TS3.0 PropertyKey handling"],["2234313c","2018-08-01","refactor(associative): TS3.0 PropertyKey handling"],["20478072","2018-08-01","refactor(api): TS3.0 PropertyKey handling"],["c7f72440","2018-08-01","build: update dev dependencies in all packages & examples"],["56a1f0eb","2018-07-30","Publish"],["3534274a","2018-07-30","fix(vectors): get*() return types, refactor using set*()"],["0ca667a4","2018-07-30","Publish"],["3de5cea4","2018-07-30","fix(vectors): naming convention, add function overview tables"],["474f8df5","2018-07-29","Merge branch 'develop' into feature/iges"],["e82d97a7","2018-07-29","docs: update package list main readme"],["aef277f8","2018-07-29","Publish"],["ae1da134","2018-07-29","docs(vectors): update readme & package info"],["acedfae8","2018-07-29","Merge branch 'feature/geom' into develop"],["93b268a6","2018-07-29","docs(vectors): update readme"],["6571b8a3","2018-07-29","test(vectors): add gvec tests"],["d2bdf79e","2018-07-29","refactor(vector): update eqDelta impls, rename array transformers"],["54b3db2d","2018-07-29","feat(vectors): update get & copy fns to retain buffer types"],["f99cf3dc","2018-07-29","refactor(vectors): add gvec default length args"],["5bba592d","2018-07-29","feat(vectors): add swizzle fns, update/unify fn naming"],["e3c61675","2018-07-29","feat(vectors): add generic vec fns & class wrapper"],["1f0551d0","2018-07-28","refactor(vectors): various small fixes/additions (matrices)"],["1ec75e61","2018-07-27","feat(vectors): re-add matrix class wrappers, update vec classes"],["29500b6d","2018-07-26","build: add babel-minify dev dependency"],["21b04f06","2018-07-26","feat(vectors): re-import updated mat44, add orthoNormal3"],["eb3f66fb","2018-07-26","test(vectors): add tests"],["4fdda6a9","2018-07-26","feat(vectors): re-import updated mat23/33/44 functions"],["2a5a744d","2018-07-25","fix(vectors): copy/paste mistakes, add tests"],["e289db2b","2018-07-25","refactor(vectors): add op22/32, simplify various vec2/3 ops"],["b59fadfd","2018-07-25","feat(vectors): add vec4 ops & class wrapper"],["35af6a56","2018-07-25","feat(vectors): add minor/majorAxis(), minor/major2/3"],["5c52f771","2018-07-25","Merge branch 'develop' into feature/geom"],["5a3b9988","2018-07-25","Publish"],["a322e001","2018-07-25","fix(transducers-stats): fix naming of MACD results (#31)"],["03f94352","2018-07-25","Publish"],["d967f94e","2018-07-25","docs(transducers-stats): update docs & readme"],["c97cb75c","2018-07-25","feat(transducers-stats): add BollingerBand value interface"],["b92aaa58","2018-07-25","feat(transducers-stats): add MACD (fixes #31)"],["d1541539","2018-07-25","feat(vectors): re-import vector types from old thi.ng/geom TS version"],["f7a084ae","2018-07-24","feat(iges): add PolylineMode enum, update addPolyline2d()"],["e349cb6a","2018-07-23","docs(transducers): update readmes"],["e7772934","2018-07-21","Publish"],["0b0a7ca9","2018-07-21","feat(transducers-stats): add stochastic oscillator, refactor"],["2953caaa","2018-07-21","feat(examples): add MA mode dropdown, update crypto-chart dataflow"],["e3def294","2018-07-21","refactor(examples): switch to WMA plots in crypto-chart demo"],["fde777d0","2018-07-21","docs: update main readme"],["76dc450d","2018-07-21","feat(range-coder): re-import @thi.ng/range-coder package from MB2010"],["8389a2c7","2018-07-20","Publish"],["7cfb8e5a","2018-07-20","minor(rstream): remove obsolete args (pubsub)"],["a59c5c94","2018-07-20","perf(rstream): optimize dispatch if only single child"],["cd751fb4","2018-07-20","feat(rstream): add reset option for timeout()"],["7b10e0c9","2018-07-20","Merge pull request #30 from andrew8er/feature/rstream-add-timeout"],["e8009a68","2018-07-19","docs(transducers-stats): update readme links"],["52ce30c4","2018-07-19","docs: update main readme"],["7e497439","2018-07-19","build(transducers-stats): update package deps"],["1de746b2","2018-07-19","Merge branch 'feature/tx-stats' into develop"],["7df3ce04","2018-07-19","feat(transducers-stats): add other xforms"],["7a5812fb","2018-07-19","feat(transducers-stats): add @thi.ng/transducers-stats package"],["1fe612de","2018-07-19","docs(transducers): reapply MD fixes"],["3a2aa7a6","2018-07-19","Merge branch 'master' into develop"],["78701493","2018-07-19","feat(examples): update axis ticks, add more symbols, refactor SMAs"],["08db846b","2018-07-19","docs(transducers): update readme"],["64de94b5","2018-07-19","Publish"],["9874acec","2018-07-19","perf(transducers): update movingAverage() xform, add docs"],["482943c8","2018-07-18","docs(transducers): add/update doc strings"],["ccc37c67","2018-07-18","feat(transducer): add asIterable() helper"],["092154c7","2018-07-18","feat(transducers): allow key arrays for rename(), simplify call sites"],["9b07d12a","2018-07-18","feat(transducers): add juxtR() for multiplexed reductions from same src"],["aa55973e","2018-07-17","feat(rstream): Add a timeout() subscription"],["2733684e","2018-07-16","Publish"],["732a0967","2018-07-16","docs(examples): update readme & dataflow diagram"],["3edbaefc","2018-07-16","feat(examples): add auto-refresh, add data credits"],["9be20180","2018-07-16","fix(rstream): emit first value immediately in fromInterval()"],["0508e40a","2018-07-16","docs(examples): add/update types in rstream-hdom"],["694e6c64","2018-07-16","feat(examples): improve time labels on crypto-chart"],["3c1c29ac","2018-07-16","refactor(examples): remove atom usage from rstream-hdom demo, update docs"],["7cd78e03","2018-07-15","feat(examples): add theme support for crypto chart, update diagram"],["9ff8d352","2018-07-15","docs(examples): update list of demos"],["f1e3d081","2018-07-15","docs(examples): add dataflow graph to readme"],["6989b8db","2018-07-15","docs(examples): temp fix live demo link in readme"],["9b26c4b4","2018-07-15","Publish"],["24829454","2018-07-15","fix(resolve-map): add support for alt ES6 destructure form `{a: b}`"],["08a7600a","2018-07-15","build(hdom-components): update @types/webgl dep"],["2d7e7cdf","2018-07-15","build: update dev dependencies"],["c95a3701","2018-07-15","docs(example): add API ref link, update readme"],["a8487edc","2018-07-15","feat(examples): add crypto chart example"],["20b028c6","2018-07-13","chore: update make-module script"],["4f19be90","2018-07-13","docs: fix various markdown issues"],["973f1a42","2018-07-13","Publish"],["ee48a94c","2018-07-13","fix(rstream-gestures): touchevent check in safari"],["d636876d","2018-07-13","Publish"],["976a6d85","2018-07-13","refactor(iges): update formatParams(), optimize iges file size"],["81223dca","2018-07-13","feat(transducers): add wordWrap() xform"],["634de84d","2018-07-12","docs: add @thi.ng/iges to package list"],["3935d9a5","2018-07-12","Publish"],["eb6dfa9b","2018-07-12","build(iges): update package info"],["b841269a","2018-07-12","Merge branch 'feature/iges' into develop"],["087f3480","2018-07-12","refactor(iges): emit compressed globals section"],["7f1b2d46","2018-07-12","feat(iges): re-import & update IGES exporter (via MBP2010)"],["d061c7d0","2018-07-11","Publish"],["73c7b8ac","2018-07-11","perf(interceptors): update valueSetter()/valueUpdater()"],["ad4caad9","2018-07-11","feat(paths): add updater(), refactor updateIn(), update readme"],["fd23a34e","2018-07-11","docs(sax): minor update readme"],["ef161341","2018-07-11","docs(sax): add tests & DOM parsing example to readme"],["8cd279a8","2018-07-10","Publish"],["126103b3","2018-07-10","fix(hdom): always update \"value\" attrib last in diffAttributes()"],["fcfd4bf8","2018-07-09","docs(hiccup-css): fix #26, add pseudo-class & attrib selector docs"],["e4b62d8b","2018-07-09","Publish"],["22890961","2018-07-09","docs(rstream): add AUTHORS.md"],["d485bfa5","2018-07-09","Merge pull request #28 from andrew8er/pr/rstream-fix-transduce"],["03543ee9","2018-07-09","fix(transducers): revert mean() from regression introduced in 095e6ef"],["9513ddd8","2018-07-09","Merge branch 'master' into pr/rstream-fix-transduce"],["5ec61406","2018-07-09","build(examples): add missing html/webpack config for rstream-hdom demo"],["8321660c","2018-07-09","feat(examples): add rstream-hdom example"],["7f2d5dd2","2018-07-09","fix(rstream): Fix potential reference error in transduce()"],["84f23d35","2018-07-09","Publish"],["095e6ef3","2018-07-09","refactor(transducers): add reducer() helper, update existing reducers"],["0430c769","2018-07-04","Publish"],["dbbeffb3","2018-07-04","docs(paths): update docs & readme"],["c7f2f92d","2018-07-04","test(paths): add/update tests"],["3d9d6200","2018-07-04","feat(paths): update setter() to support arrays, optimize (~2.5x faster)"],["7fb407c0","2018-07-04","Publish"],["36165be8","2018-07-04","minor(rstream-graph): formatting"],["de17340a","2018-07-04","feat(rstream-gestures): add event & preventDefault opts, update docs"],["d5ac2643","2018-07-04","feat(rstream): add support for event listener opts in `fromEvent()`"],["9ffa346d","2018-07-03","Publish"],["677c7cc0","2018-07-03","feat(transducers): add ensureArray(), refactor reverse()"],["17d412af","2018-07-03","test(rstream-graph): increase timeout to avoid travis errors"],["a5942022","2018-07-03","Publish"],["33f0d197","2018-07-03","fix(associative): minor SortedSet fixes"],["1e185011","2018-06-29","Merge pull request #24 from andrew8er/pr/rstream-transduce-unsubscibe-on-error"],["8c7d9376","2018-06-28","fix(rstream): unsubscribe on error in transduce()"],["576f1da3","2018-06-25","Publish"],["c4fad707","2018-06-25","fix(rstream-graph): individual node outputs"],["eb2015df","2018-06-21","Publish"],["d0b1e5c4","2018-06-21","feat(rstream-graph): add stop(), fix `const` inputs, update docs/readme"],["cc5b7367","2018-06-21","feat(rstream): option to avoid auto-closing `fromInterval()`, add docs"],["4611e8e0","2018-06-21","chore: update repo & homepage fields in all packages"],["2223bded","2018-06-21","docs: fix package links in readmes"],["a3b245c8","2018-06-20","Publish"],["cd863214","2018-06-20","docs(transducers-fsm): fix readme (example)"],["60dca8ee","2018-06-20","Publish"],["882f3949","2018-06-20","feat(sax): add children & trim opts, add CDATA support"],["6cf0d915","2018-06-19","Publish"],["eed50b81","2018-06-19","docs: update main readme"],["343e07f1","2018-06-19","refactor(sax): wrap FSM handler results as arrays, update ELEM_SINGLE"],["a9ca1351","2018-06-19","feat(transducers-fsm): support multiple results, add tests, update readme"],["8959b938","2018-06-19","docs(sax): update readme (add SVG example)"],["bbd3b4ba","2018-06-19","docs(transducers-fsm): update readme, whitespace"],["bc261e57","2018-06-19","feat(transducers): add matchFirst()/matchLast() xforms, update readme"],["e824b6bb","2018-06-19","feat(sax): add support for escape seqs, minor optimizations"],["4e7fca56","2018-06-18","chore: update make-module script"],["30811ce5","2018-06-18","docs(transducers-fsm): update package keywords"],["cc11ade5","2018-06-18","Publish"],["0e4662d1","2018-06-18","fix(sax): correct docs in readme"],["278a86c2","2018-06-18","Publish"],["b5b26300","2018-06-18","docs: update package docs (bench / dot)"],["42e22921","2018-06-18","docs: update readmes (add/fix links)"],["10e807c5","2018-06-18","Merge branch 'feature/sax' into develop"],["3589e155","2018-06-18","fix(checks): isOdd() for negative values"],["23b9cc2e","2018-06-18","docs(transducers-fsm): update docs & readme"],["0f2fcdff","2018-06-18","feat(sax): add entity support, update result format, update states"],["56deb455","2018-06-17","refactor(sax): remove extracted FSM transducer & types, update readme"],["7c3c2903","2018-06-17","feat(transducers-fsm): inital import"],["64f23789","2018-06-17","feat(sax): update error handling, add parse() wrapper, add FSMOpts"],["a4766a54","2018-06-17","feat(sax): add support for proc & doctype elements, update `end` results"],["3dea9549","2018-06-17","feat(sax): emit child elements with `end` results, support comments"],["74f7d02e","2018-06-17","refactor(sax): extract parser sub-states"],["dce189f9","2018-06-17","feat(sax): initial import"],["f13138a4","2018-06-08","Publish"],["e1a8c915","2018-06-08","docs(hiccup-css): update readme"],["cffab49d","2018-06-08","Merge branch 'feature/hcss-inject' into develop"],["8d6e6c86","2018-06-08","feat(hiccup-css): add injectStyleSheet()"],["244bf213","2018-06-08","feat(hiccup-css): add class scoping support"],["b358c1a7","2018-06-07","Publish"],["e0535b4c","2018-06-07","docs(resolve-map): update readme"],["0beaffb1","2018-06-07","docs(resolve-map): update readme"],["0fc2305e","2018-06-07","fix(rstream-graph): rename `resolveMap` => `resolve` due to upstream changes"],["35deb3b8","2018-06-07","Merge branch 'feature/resolve-auto' into develop"],["e61c3b59","2018-06-07","feat(resolve-map): add cycle detection, fix edge cases"],["57f1ed5f","2018-06-06","feat(resolve-map): add ES6 destructuring shorthands for function vals"],["93b40b78","2018-06-06","Publish"],["720b1f18","2018-06-06","docs(rstream-graph): update api docs & readme"],["576668e3","2018-06-06","Merge branch 'feature/rs-graph-outputs' into develop"],["48c796f5","2018-06-06","fix(resolve-map): also use _resolvePath for plain lookups, optimize"],["dd2cbd44","2018-06-06","refactor(examples): update rstream-graph examples"],["1a09b61e","2018-06-06","minor(rstream-graph): minor fix exported types"],["558f4f8c","2018-06-06","fix(resolve-map): add private _resolveDeep"],["f2e0df25","2018-06-06","feat(rstream-graph): add full/optional support for multiple node outputs"],["dc6e0acc","2018-06-06","refactor(resolve-map): export absPath(), add LookupPath type alias"],["be21c4c2","2018-06-06","feat(rstream-graph): update NodeOutput, support multiple handlers"],["de48e134","2018-06-05","build: add yarn bootstrap"],["67c7e17d","2018-05-30","Publish"],["45785229","2018-05-30","Merge branch 'develop'"],["b267c999","2018-05-30","Merge branch 'feature/command' into develop"],["7ac6227d","2018-05-30","feat(atom): provide prev/curr states to history event listeners"],["94225989","2018-05-29","feat(atom): add INotify impl for History"],["44998ca0","2018-05-20","Publish"],["ad56421a","2018-05-20","refactor(rstream-graph): allow fn vals in GraphSpec too, update test"],["b7560989","2018-05-20","Publish"],["0818498a","2018-05-20","feat(rstream-graph): update types, initGraph(), node1(), add tests"],["c880a633","2018-05-20","Publish"],["773829e4","2018-05-20","minor(rstream): add alt subscribe() overrides (disabled)"],["846aaf97","2018-05-20","feat(rstream): re-implement bisect() using PubSub, update tests"],["cbc600e7","2018-05-20","fix(rstream): minor update PubSub topic fn return type"],["23fdd398","2018-05-19","feat(rstream): update resolve(), update subscribe() overrides"],["0e103c50","2018-05-16","Publish"],["0c292503","2018-05-16","feat(examples): add input clearing"],["7e1028a2","2018-05-15","fix(examples): tab handling in fuzzy dropdown"],["2482b16e","2018-05-15","fix(hdom): delay init() lifecycle call to ensure children are available"],["81b596f6","2018-05-15","refactor(examples): update highlightMatches()"],["db58ebc7","2018-05-15","feat(examples): add fuzzy match highlighting"],["09d531a7","2018-05-15","feat(exmples): add hdom-dropdown-fuzzy (unfinished)"],["577bdde8","2018-05-15","docs: add discord badge"],["7349ef43","2018-05-15","test(hdom): fix/update lifecycle test"],["5595cc2a","2018-05-14","Publish"],["4dd97abd","2018-05-14","docs: update readmes (compare / equiv)"],["4b94a1b9","2018-05-14","docs(api): update doc strings"],["f7b6b342","2018-05-14","Publish"],["191bc981","2018-05-14","chore: update package keywords"],["ade96f86","2018-05-14","fix(hdom): component obj lifecycle method thisArg handling"],["c54f7357","2018-05-14","test(transducers): remove obsolete test file"],["e238541f","2018-05-14","refactor(transducers): replace wrapBoth/Left/Right w/ wrap()"],["fbba5d27","2018-05-14","Publish"],["d59b0af3","2018-05-14","docs(transducers): update readme"],["37362dd2","2018-05-14","test(transducers): add fuzzy tests"],["fc6acd16","2018-05-14","chore(transducers): update deps, readme, re-exports"],["2bebba28","2018-05-14","feat(transducers): add filterFuzzy() xform"],["306625df","2018-05-14","feat(transducers): add wrap*() iterators"],["9efa5762","2018-05-14","docs(resolve-map): update readme"],["4591d5d5","2018-05-14","minor(examples): update dropdown html"],["2076d25b","2018-05-14","docs(resolve-map): add readme example"],["ea185897","2018-05-14","Publish"],["6661fc3a","2018-05-14","feat(examples): add hdom-dropdown example"],["5e729701","2018-05-14","feat(interceptors): update dispatch() / dispatchNow()"],["644d1ffe","2018-05-13","docs(hdom): update readme example"],["5d6e762d","2018-05-13","Publish"],["609d66dd","2018-05-13","docs(hdom): update readme"],["01f0fa56","2018-05-13","Merge branch 'feature/hiccup-context' into develop"],["f8fe5001","2018-05-13","docs(hiccup): update readme"],["67015ce9","2018-05-13","refactor(examples): update svg examples"],["dc775404","2018-05-13","docs(hiccup-svg): resolve #19, update readme, add invocation notes"],["373701b0","2018-05-13","feat(pointfree): add execjs for host calls, update readme"],["396faec8","2018-05-13","refactor(hiccup-svg): rename svgdoc => svg"],["765e7302","2018-05-13","docs(hiccup): update readme"],["b1cb7d9a","2018-05-12","perf(hiccup): update css()"],["feca5666","2018-05-12","refactor(hiccup): fix #19, add support for context object"],["4b8caec9","2018-05-12","docs: update main readme"],["2d4fd682","2018-05-12","docs: update all readme's (add deps links)"],["6ff48a41","2018-05-12","docs(defmulti): update readme"],["8b2e67ce","2018-05-12","Publish"],["41ce19c5","2018-05-12","test(csp): update IEnabled test impl"],["67f0e546","2018-05-12","refactor(dcons): update pop()"],["9b388604","2018-05-11","refactor(api): update interfaces, add docs"],["04b66b2f","2018-05-11","Publish"],["fbb721f8","2018-05-11","docs: remove dep graph from main readme, update package"],["eeed25ed","2018-05-11","feat(defmulti): add generics, update docs & readme"],["011519d7","2018-05-11","docs: update dep graph"],["2fd3d822","2018-05-11","Publish"],["126ecf36","2018-05-11","feat(defmulti): add defmultiN(), update readme, add tests"],["5391d986","2018-05-11","fix(pointfree): minor update error handling"],["5227dd1f","2018-05-11","refactor(errors): update return types (`never`)"],["790d0130","2018-05-11","test(defmulti): add tests"],["8c74a99d","2018-05-10","docs: update dep graph"],["08cef30e","2018-05-10","Publish"],["304669de","2018-05-10","Merge branch 'feature/defmulti' into develop"],["7ae718c5","2018-05-10","docs: update main readme"],["edc66bf2","2018-05-10","feat(defmulti): add @thi.ng/defmulti package"],["a818acd4","2018-05-10","docs(transducers): update readme"],["e6f2972b","2018-05-10","docs: update dep graph"],["051a05db","2018-05-10","Publish"],["55f29b8f","2018-05-10","feat(transducers): add normRange() iterator"],["bd1fba33","2018-05-10","docs: update dep graph"],["c72e81c3","2018-05-10","Publish"],["7af3ef86","2018-05-10","docs: update readmes"],["6349b918","2018-05-10","Merge branch 'feature/api-split' into develop"],["fc7c5c70","2018-05-10","refactor(examples): update imports"],["bdf5bf06","2018-05-10","refactor(examples): update imports"],["bc456364","2018-05-10","refactor: update deps & imports in all packages due to @thi.ng/api split"],["f051ca3c","2018-05-10","refactor(api): remove obsolete files from package"],["9466d4b2","2018-05-10","feat(bench): add new package @thi.ng/bench"],["e4a87c41","2018-05-10","feat(compare): add new package @thi.ng/compare"],["1e97856f","2018-05-10","feat(errors): add new package @thi.ng/errors"],["6d12ae08","2018-05-10","feat(equiv): add new package @thi.ng/equiv"],["aba06b0c","2018-05-10","docs(examples): fix link"],["34903210","2018-05-10","feat(examples): add icon button"],["a49e30cf","2018-05-10","Merge branch 'master' into develop"],["d5f1037a","2018-05-10","fix(examples): fix #22, update router-basics"],["7a8e43ea","2018-05-10","docs(examples): update readmes"],["cea77deb","2018-05-09","feat(examples): add hdom-theme-adr-0003 demo"],["5af437c1","2018-05-09","docs(hdom-components): add ADR-0003"],["b4476cb9","2018-05-09","refactor(hdom-components): add ButtonGroup type alias"],["1dd6e9a2","2018-05-09","docs: update dep graph"],["5da6c578","2018-05-09","Publish"],["6e7599ac","2018-05-09","docs(resolve-map): update/fix doc strings"],["5d2a3fe8","2018-05-09","refactor(resolve-map): fix #21"],["68ca46d2","2018-05-09","feat(dgraph): add leaves() & roots() iterators, update sort()"],["91a2b748","2018-05-09","docs: add @thi.ng/dot to main readme"],["b5132b3d","2018-05-09","docs: update dep graph"],["850716bc","2018-05-09","Publish"],["d8d9435e","2018-05-09","build: update deps in all packages, examples & scripts"],["68ea0864","2018-05-09","fix(hdom): native boolean attrib handling (e.g. \"checked\")"],["ede76916","2018-05-09","docs(hdom-components): update readme"],["053c8c6f","2018-05-09","feat(rstream-gestures): add zoom smooth config option, update readme"],["b52c503e","2018-05-09","docs: update readme's"],["5991be61","2018-05-09","feat(associative): add new functions, update arg & return types"],["c0950d65","2018-05-08","feat(hdom-components): add buttonGroup"],["5416887a","2018-05-07","doc(hdom-components): update ADR-0002"],["c0fef3d3","2018-05-07"," doc(hdom-components): update ADR-0002"],["a9574a0b","2018-05-07","feat(associative): add mapKeysObj() / mapKeysMap()"],["cefb1994","2018-05-07","refactor(hdom-components): remove CanvasOpts, update re-exports"],["4f8e7bab","2018-05-07","refactor(hdom-components): update notification & appLink comps"],["a11803c4","2018-05-07","feat(hdom-components): add notification component"],["ec41eb9c","2018-05-07","refactor(hdom-components): update button args"],["5e815256","2018-05-05","doc(hdom-components): add ADRs"],["cef3c6a8","2018-05-05","feat(hdom-components): add button component"],["334a4d24","2018-05-04","refactor(hdom-components): make pager more customizable"],["23b64517","2018-05-04","refactor(dot): replace NodeShape enum, minor other refactoring, add example"],["500dfa3b","2018-05-03","feat(dot): initial import @thi.ng/dot"],["f9a2daf2","2018-05-02","feat(hdom-components): add title component"],["6748515b","2018-05-02","feat(interceptors): add dispatch/dispatchNow() helper interceptors"],["5a6ce274","2018-05-02","build(examples): update packages"],["cbfa44b7","2018-05-02","build: update dev deps in all packages"],["efb288df","2018-05-01","feat(hdom-components): add pager component, add @thi.ng/iterators dep"],["b2806236","2018-05-01","docs: update dep graph"],["212e5013","2018-05-01","Publish"],["146fad62","2018-05-01","build: update upload-examples script"],["593654a7","2018-05-01","docs: update dep graph"],["a93cb98b","2018-05-01","fix(hdom): boolean attrib reset/removal"],["698438a5","2018-04-30","docs: update dep graph"],["f6e944c6","2018-04-30","Publish"],["7a543a50","2018-04-30","perf(hdom): only build linear diff edit log"],["431527a5","2018-04-30","perf(diff): add option to only build linear edit log"],["12b8dcb3","2018-04-30","fix(examples): CA dropdown"],["c2a5bcb3","2018-04-29","docs: update dep graph"],["5888f224","2018-04-29","Publish"],["95c57ec3","2018-04-29","Merge branch 'hotfix/arraylike'"],["491a6f85","2018-04-29","revert: b86d5b2"],["31ec3af4","2018-04-29","perf(hdom): update event handling in diffAttributes()"],["a7c5eafc","2018-04-29","refactor(examples): update todo list"],["b86d5b25","2018-04-29","refactor(examples): update hdom-basics"],["7fdf1721","2018-04-29","perf(api): major speedup equivObject(), update equivSet()"],["76920f75","2018-04-29","fix(checks): return type isMap()"],["ac60404e","2018-04-29","fix(checks): exclude functions in isArrayLike()"],["a6dc02e4","2018-04-28","docs: update dep graph"],["048632a4","2018-04-28","Publish"],["c4d8851d","2018-04-28","fix(interceptors): multiple sidefx value assignment"],["2aaa134a","2018-04-28","refactor(examples): minor update rstream-grid, add missing files"],["7c3faed2","2018-04-28","docs(interceptors): update readme"],["cba30e36","2018-04-28","docs(examples): update readme"],["1c469afa","2018-04-28","minor(examples): update rstream-grid sidebar"],["115dff2b","2018-04-28","docs: update dep graph"],["df55f40b","2018-04-28","Publish"],["661e34f5","2018-04-28","feat(examples): add rstream-grid dataflow demo"],["f4a095a5","2018-04-28","feat(interceptors): add dispatchLater()"],["f84fe450","2018-04-27","docs: update dep graph"],["8f5b3d91","2018-04-27","Publish"],["6f95bcb3","2018-04-27","feat(rstream-query): add obj->triple converter, update readme & example"],["d03520d8","2018-04-26","docs: update dep graph"],["085a81d9","2018-04-26","Publish"],["af6c807e","2018-04-26","style: reformat/sort imports in all packages"],["d36a5eaf","2018-04-26","refactor(rstream-query): simplify case selection in addPatternQuery()"],["2ab5af5d","2018-04-26","build: update/add upload scripts"],["5c048615","2018-04-26","docs: update dep graph"],["7fa54577","2018-04-26","Publish"],["ced200af","2018-04-26","docs(rstream-query): update readme, diag, add example"],["75f2af2e","2018-04-26","perf(rstream-query): optimize pattern queries, fix bindVars()"],["6bcd5dd4","2018-04-26","docs: update dep graph"],["6d261caa","2018-04-26","Publish"],["f5735a66","2018-04-26","Merge branch 'feature/rs-query' into develop"],["d093a5c8","2018-04-26","feat(rstream-query): add query spec types, addQueryFromSpec(), dedupe xforms"],["2ac8bff3","2018-04-26","feat(api): support more types in equiv(), add tests"],["a865f62b","2018-04-26","feat(checks): add date, map, nan, set checks"],["d057d954","2018-04-26","feat(rstream-dot): add option to include stream values in diag"],["76f00c36","2018-04-26","refactor(rstream): update ISubscribable (add IDeref parent)"],["679c4e08","2018-04-26","feat(rstream-query): add path query, multi-joins, pattern query reuse"],["9b5c58ac","2018-04-25","feat(rstream-query): rename TripleStore methods, use Set-like API"],["443ff8f6","2018-04-25","feat(rstream-query): add removeTriple(), simplify wildcard subqueries"],["c5f36a2d","2018-04-25","feat(rstream-query): add addQueryJoin(), add type aliases, update tests"],["7d927144","2018-04-25","docs: update dep graph"],["6215335f","2018-04-25","Publish"],["888f4e56","2018-04-25","build: update package keywords"],["cf388ddb","2018-04-25","docs: update rstream-* readmes"],["28cf39f9","2018-04-25","build: temporarily force node v9 for travis"],["72aa848a","2018-04-25","docs: update dep graph"],["a3e0cf82","2018-04-25","Publish"],["cc286e12","2018-04-25","fix(rstream): minor fix StreamSync.addAll()"],["fa36f989","2018-04-25","docs: update main readme"],["60bd67a4","2018-04-25","docs: update dep graph"],["8fc5fb40","2018-04-25","Publish"],["2f3bdaea","2018-04-25","build: update make-module script"],["b121c476","2018-04-25","refactor(rstream-query): rename types, update readme"],["97a6e945","2018-04-24","docs: update various readmes"],["781ae217","2018-04-24","test(rstream-query): add query tests"],["d9b845e0","2018-04-24","feat(rstream-query): add param queries w/ variables, update addPatternQuery"],["6368cd2d","2018-04-24","docs(rstream-dot): update readme, add diagram"],["3135da20","2018-04-24","docs(examples): update rs-dlow diagram & readme"],["a68eca0b","2018-04-24","feat(rstream-query): add IToDot impl for graphviz conversion/viz"],["7ffaa615","2018-04-24","feat(rstream-dot): add xform edge labels, extract types to api.ts"],["32fb7ff9","2018-04-24","docs(rstream-graph): update readme"],["2b9a8883","2018-04-24","refactor(rstream-graph): extract ensureInputs(), update docs"],["e11b9a80","2018-04-24","refactor(examples): update rstream-dataflow to use new specs"],["d564e109","2018-04-24","refactor(rstream-graph): update node input specs & node factories"],["3408c137","2018-04-24","feat(rstream-gestures): allows partial opts, add ID option"],["b3928174","2018-04-24","perf(rstream): support (re)named StreamSync inputs"],["66ec92fb","2018-04-24","feat(rstream-query): update index & sub-query caching/reuse"],["d35b5ff1","2018-04-24","feat(examples): add graphviz DOT output for rstream-dataflow"],["704025a9","2018-04-24","feat(rstream-dot): support multiple roots in walk()"],["0153903d","2018-04-24","feat(rstream-graph): add IDs for all generated nodes, rename factory type"],["e72478ab","2018-04-24","feat(rstream-dot): initial import @thi.ng/rstream-dot package"],["33f55b3e","2018-04-24","feat(rstream): add owner meta data & IDs for merge/sync inputs"],["16fabb8c","2018-04-23","refactor(rstream-query): simplify addQuery()"],["a4aa4cb3","2018-04-23","refactor(rstream-query): simplify query handling, optimize addFact()"],["ef3903e4","2018-04-23","feat(rstream-query): initial import"],["c73b0be9","2018-04-22","docs: update dep graph"],["d4423f2c","2018-04-22","Publish"],["03cee0fa","2018-04-22","build(heaps): update package desc"],["aa78d77e","2018-04-22","fix(cache): TLRUCache.get(), add tests, update package"],["7d38e5b0","2018-04-22","test(cache): add tests"],["9d53ae33","2018-04-22","feat(cache): add TLRUCache.prune(), fix ensureSize()"],["fa67252c","2018-04-22","docs: update dep graph"],["23e36a10","2018-04-22","Publish"],["944aaf6d","2018-04-22","test(heaps): add tests"],["fccb3af1","2018-04-22","feat(heaps): iterator now returns min() seq"],["58945727","2018-04-22","fix(heaps): add DHeap ICopy/IEmpty impls, fix return types"],["c4bbee0a","2018-04-22","feat(heaps): add min/max(), update heapify() and percolate methods"],["34996f23","2018-04-22","docs: update package list main readme"],["d6e175db","2018-04-22","docs: update dep graph"],["17ccbb1f","2018-04-22","Publish"],["05a68dbe","2018-04-22","Merge branch 'feature/lru' into develop"],["b83c0300","2018-04-22","minor(cache): cleanup"],["ab4abf55","2018-04-22","refactor(heaps): major update / simplify, fix DHeap, add accessors"],["24113b27","2018-04-21","docs(cache): update readme"],["574b5d96","2018-04-21","feat(cache): add TLRUCache"],["c4a9c074","2018-04-21","fix(cache): recompute size in LRUCache.delete(), extract removeEntry()"],["0ea0847d","2018-04-21","feat(heaps): import @thi.ng/heaps package"],["26c4cfd0","2018-04-21","feat(cache): add MRUCache, update package & readme"],["00ca831f","2018-04-21","refactor(cache): make LRU ops O(1), update/remove (some) interfaces"],["19f7e761","2018-04-21","feat(dcons): add asHead()/asTail()"],["3947419c","2018-04-21","fix(cache): don't insert new val if > maxsize"],["1c9d73f5","2018-04-21","docs(cache): update readme"],["d37a91eb","2018-04-21","refactor(cache): update/extend ICache & LRUCache, update readme"],["7bbbfa88","2018-04-20","feat(cache): initial import @thi.ng/cache package"],["dab48115","2018-04-20","docs: update dep graph"],["ff5705d4","2018-04-20","Publish"],["a335a66e","2018-04-20","docs(rstream): update readme"],["ba10907c","2018-04-20","feat(rstream): allow arbitrary PubSub topic vals, add @thi.ng/associative dep"],["bb11ddfb","2018-04-20","fix(associative): allow partial options arg for EquivMap ctor"],["27a098d7","2018-04-20","feat(rstream): add PubSub, add ISubscribableSubscriber, remove cache()"],["40903ea2","2018-04-19","docs: update dep graph"],["e0e95587","2018-04-19","Publish"],["d40f3a82","2018-04-19","docs: update dep graph"],["f77b443d","2018-04-19","Publish"],["87e3b488","2018-04-19","feat(interceptors): add EV_TOGGLE_VALUE handler, update EV_UNDO/REDO"],["920a3406","2018-04-19","docs(hdom): update readme"],["a2320ff2","2018-04-18","docs(paths): update readme"],["e0b41d81","2018-04-18","docs: update dep graph"],["59806881","2018-04-18","Publish"],["b7dff0ea","2018-04-18","fix(rstream-graph): import path"],["6fcc2358","2018-04-18","docs: update dep graph"],["adc2fb4a","2018-04-18","Publish"],["3b7c9d97","2018-04-18","fix(transducers): add generics for compR(), fix types in mapNth()"],["4c014b18","2018-04-18","Merge pull request #17 from andrew8er/pr/compr-types"],["c26fed40","2018-04-18","docs: update dep graph"],["88283db1","2018-04-18","Publish"],["3087776e","2018-04-18","fix(rstream-log): ID handling in Logger ctor"],["08af60af","2018-04-18","refactor(rstream-log): minor update matchID()"],["de474933","2018-04-18","docs(rstream-log): fix typo"],["0de3d200","2018-04-18","docs(examples): add undo info (svg-waveform)"],["c67607b7","2018-04-18","build(examples): update dev deps"],["bb60cb9f","2018-04-18","build: update dev deps"],["b8bb801a","2018-04-17","docs: update dep graph"],["7e585e2b","2018-04-17","Publish"],["8f3a3d10","2018-04-17","feat(paths): add setInMany() and mutInMany(), add @thi.ng/api dependency"],["78b998cb","2018-04-17","docs: update dep graph"],["fbe15446","2018-04-17","Publish"],["2e32c3b9","2018-04-17","feat(examples): add instrumentation to router-basics demo"],["1a6ac54d","2018-04-17","feat(interceptors): add event handler instrumentation"],["5107dcad","2018-04-17","docs: update dep graph"],["e5185cf2","2018-04-17","Publish"],["d7ff997b","2018-04-17","fix(interceptors): filter out undefined sidefx vals"],["de89f00d","2018-04-17","fix(transducers): Provide argument types for compR() and deepTransform()"],["a9a7bfae","2018-04-16","docs: update dep graph"],["b523e9ef","2018-04-16","Publish"],["5ddb19c6","2018-04-16","feat(rstream-graph): add addNode()/removeNode()"],["8bcc2870","2018-04-16","feat(rstream): add StreamMerge/Sync.removeID() & removeAllIDs()"],["a379d12d","2018-04-16","feat(resolve-map): support relative parent refs, update tests/readme"],["e643e7fe","2018-04-16","docs: update dep graph"],["df039db1","2018-04-16","Publish"],["144f2684","2018-04-16","Merge branch 'feature/rm-refactor' into develop"],["6992e82b","2018-04-16","feat(resolve-map): resolve each ref only once, re-use resolved results"],["4c1bd85c","2018-04-16","feat(paths): add mutator() & mutIn()"],["b00b5a28","2018-04-16","docs: update dep graph"],["dbb96fe2","2018-04-16","Publish"],["56d919c0","2018-04-16","fix(rstream-graph): create null sub for ID renaming"],["f5aba033","2018-04-16","docs: update dep graph"],["17584b5d","2018-04-16","Publish"],["9a83d4ef","2018-04-16","fix(interceptors): update undo handling to support history cursors"],["b856fecc","2018-04-15","docs(associative): update readme"],["c7e760ea","2018-04-15","docs: update dep graph"],["3111409c","2018-04-15","Publish"],["df32a59e","2018-04-15","docs(rstream-gestures): update package"],["e6c75b4a","2018-04-15","refactor(rstream-log): update package structure & readme example"],["2164ddfd","2018-04-15","feat(rstream): add Subscription.transform()"],["7cf93fc5","2018-04-15","docs(rstream): update readme"],["b667c88c","2018-04-15","docs(examples): update readme"],["f39affc1","2018-04-15","docs: update main readme"],["2942d1c3","2018-04-15","docs: update dep graph"],["f2ae6d24","2018-04-15","Publish"],["1479cd1e","2018-04-15","Merge branch 'feature/rstream-graph' into develop"],["a0063992","2018-04-15","refactor(examples): simplify rstream-dataflow example"],["619b4b37","2018-04-15","feat(rstream-graph): initial import @thi.ng/rstream-graph"],["937e5025","2018-04-15","docs: update dep graph"],["e6d7882d","2018-04-15","Publish"],["9ae2e035","2018-04-15","build(examples): update project structure for router-basics/svg-waveform"],["a597e728","2018-04-15","feat(examples): add undo/redo feature to svg-waveform, update components"],["a1d9ae68","2018-04-15","refactor(interceptors): refactor undo handling"],["cf42260c","2018-04-15","feat(atom): update History.record(), add IHistory interface"],["3c92f7e6","2018-04-15","feat(interceptors): add undo/redo handlers/fx & snapshot() interceptor"],["a102eb7c","2018-04-15","feat(interceptors): add default FX_UNDO/REDO side fx"],["ba0c876d","2018-04-14","refactor(interceptors): also pass ctx to sidefx handlers"],["183af614","2018-04-14","feat(interceptors): update processQueue(), expose full ctx to handlers"],["d539b4f3","2018-04-14","docs: update dep graph"],["83be0dce","2018-04-14","Publish"],["010f32e9","2018-04-14","docs: update readme files"],["9eec054a","2018-04-14","Merge branch 'develop'"],["85f5fdd4","2018-04-14","Merge branch 'feature/rs-gestures' into develop"],["885fcf15","2018-04-14","build: update make-module script"],["3f8dbc9e","2018-04-14","refactor(examples): update rs-dataflow demo"],["de1ac7bb","2018-04-14","feat(rstream-gestures): initial import @thi.ng/rstream-gestures"],["4755212f","2018-04-14","docs: update readme's"],["7b510487","2018-04-14","build(examples): add html & webpack config"],["6198899d","2018-04-14","docs: update dep graph"],["0243b44d","2018-04-14","Publish"],["c6b3025c","2018-04-14","build: import depgraph script"],["9e98ce12","2018-04-14","refactor(examples): update svg-waveform demo"],["1b21710a","2018-04-13","feat(examples): add svg-waveform example"],["584223ca","2018-04-13","refactor(examples): rename interceptors in interceptor-basics,"],["86883e3c","2018-04-13","feat(interceptors): add ensureStateRange() & ensureParamRange() iceps"],["6da2d397","2018-04-13","docs: update dep graph"],["816950a8","2018-04-13","Publish"],["07628f67","2018-04-13","build: fix package clean tasks"],["d798cee3","2018-04-13","refactor(dgraph): regression update due to @thi.ng/associative changes"],["bfabe802","2018-04-13","feat(associative): add renameKeysMap"],["1f8af6c4","2018-04-13","refactor(associative): update EquivMap, update SortedSet, add docs"],["d1178acf","2018-04-13","perf(associative): update equiv() impls"],["76e5c853","2018-04-13","docs: update dep graph"],["f4b4067e","2018-04-13","Publish"],["26361437","2018-04-13","refactor(dgraph): update ArrayMap/Set refs"],["2f33389a","2018-04-13","docs(associative): update readme"],["87560270","2018-04-13","refactor(associative): rename EquivMap/Set => ArrayMap/Set, export interfaces"],["a7698563","2018-04-13","refactor(associative): add private impls for EquivMap/Set"],["cb4976fe","2018-04-12","feat(associative): add SortedSet, update SortedMap"],["ae0eae8e","2018-04-12","feat(associative): add SortedMap & tests, minor refactor EquivMap"],["82be16d4","2018-04-11","docs: update dep graph"],["3c1e2dd7","2018-04-11","Publish"],["52c75085","2018-04-11","feat(transducers): add run() for executing side effects only, update readme"],["5f94efa0","2018-04-10","docs: update dep graph"],["fa794a6e","2018-04-10","Publish"],["675847b8","2018-04-10","fix(dgraph): update corrupted deps"],["9b1c7bdb","2018-04-10","docs: update dep graph"],["5dd34261","2018-04-10","Publish"],["26d8ed85","2018-04-10","v0.1.0"],["efe606e1","2018-04-10","build(dgraph): update package desc"],["e7a5c93e","2018-04-10","build(associative): update package desc"],["207dd992","2018-04-10","docs: update package list main readme"],["371cd42f","2018-04-10","build(associative): update deps (dcons)"],["3e90117a","2018-04-10","Merge branch 'feature/dgraph' into develop"],["0dc9f646","2018-04-10","feat(associative): add EquivSet.first()"],["e086be6b","2018-04-10","feat(dgraph): re-import DGraph impl & tests, update readme"],["10c089a3","2018-04-10","feat(dcons): add IEmpty impl, minor refactoring"],["cc70dbce","2018-04-10","feat(associative): initial import @thi.ng/associative"],["fd27a946","2018-04-09","build: update lerna"],["69efee12","2018-04-09","docs(hdom): add authors.md"],["2357355a","2018-04-09","docs: update dep graph"],["c2cd9fbc","2018-04-09","Publish"],["2a91e302","2018-04-09","perf(hdom): intern imported checks, update normalizeTree(), add docs, fix tests"],["7e3070a2","2018-04-09","docs: update dep graph"],["d9aeed47","2018-04-09","Publish"],["b9d9a493","2018-04-09","fix(hiccup-svg): path(), update add null check for points()"],["acc9c13b","2018-04-09","refactor(examples): update router demo"],["5dfcd1ad","2018-04-08","docs: update dep graph"],["179efc44","2018-04-08","Publish"],["6f45ec6d","2018-04-08","v0.1.0"],["2458b15f","2018-04-08","docs(hiccup-svg): update readme"],["fcf1404e","2018-04-08","refactor(hiccup): remove obsolete deref check"],["4ed84eb5","2018-04-08","docs(hdom): update readme"],["a904599c","2018-04-08","docs(hdom): update/fix readme"],["d832c9d2","2018-04-08","docs(hdom): update readme & doc strings"],["3e7e0256","2018-04-08","Merge branch 'feature/hdom-context' into develop"],["905467c1","2018-04-08","refactor(examples): update cellular-automata & hdom-benchmark"],["0873832d","2018-04-08","refactor(hdom-components): update dropdown components"],["4a18e884","2018-04-08","refactor(examples): update webgl demo to use new canvas component"],["8b0d6015","2018-04-08","build: update main yarn.lock"],["7c88a3fc","2018-04-08","feat(hdom-components): update canvas handlers, add webgl2 version"],["e06e5042","2018-04-08","refactor(examples): update todo-list"],["6faa38a0","2018-04-08","refactor(examples): update webgl demo"],["1e798ce7","2018-04-08","docs: add hiccup-svg to main readme"],["7e0aeb68","2018-04-08","refactor(examples): update pointfree-svg"],["afccabdc","2018-04-08","feat(hiccup-svg): re-add svg fns as new @thi.ng/hiccup-svg package"],["86d1f0d9","2018-04-08","refactor(hdom-components): remove svg, update canvas (hdom context support)"],["a8a55a4f","2018-04-08","refactor(examples): major update router-basics (hdom context usage)"],["14b9cecc","2018-04-08","refactor(examples): update dashboard, hdom-basics & hdom-benchmark"],["70cfe06c","2018-04-08","feat(hdom): fix #13, add support for user context and pass to components"],["40d706b6","2018-04-07","feat(checks): add hasPerformance() check (performance.now)"],["d310345f","2018-04-07","feat(api): add bench() & timed() utils"],["4d79f763","2018-04-07","refactor(examples): add GestureEvent (rs-dflow)"],["c1c81bd0","2018-04-07","refactor(interceptors): update Event id type (string => PropertyKey)"],["37ba4d17","2018-04-05","refactor(examples): update rstream-dflow"],["a19f8a4d","2018-04-05","feat(examples): update rstream-dflow example"],["dccfc827","2018-04-05","docs(rstream): update readme"],["8ce73078","2018-04-05","refactor(examples): minor updates rstream-dflow"],["fce54223","2018-04-05","build(dgraph): import dgraph package stub to avoid travis build errors"],["8eb7e68c","2018-04-05","fix(examples): update GH links in html files"],["f9bfc9d7","2018-04-05","docs(hdom): update readme"],["56f4a26a","2018-04-05","docs: update dep graph"],["45c7daf4","2018-04-05","Publish"],["48310a68","2018-04-05","fix(rstream): correct wrong isString() import"],["9ab15442","2018-04-05","docs(examples): update doc strings"],["04b9c087","2018-04-05","docs(examples): update readme"],["23327874","2018-04-05","docs(examples): update rs-dflow example"],["ae27bd65","2018-04-05","refactor(examples): update rstream-dflow example"],["218150a9","2018-04-04","docs(examples): update readme, add dflow graph viz"],["72a96130","2018-04-04","feat(examples): add rstream-dataflow example"],["1eb8b12c","2018-04-04","docs: update dep graph"],["343956d3","2018-04-04","Publish"],["bffc4430","2018-04-04","fix(checks): add prototype check for isPlainObject(), add tests"],["9c91dc34","2018-04-03","fix(examples): minor update pointfree-svg example"],["9621f1b1","2018-04-03","docs: update dep graph"],["5276322a","2018-04-03","Publish"],["68727859","2018-04-03","Merge branch 'feature/pointfree-lang' into develop"],["ca5dfd3c","2018-04-03","docs(pointfree-lang): update readme"],["3310ec3d","2018-04-03","feat(pointfree-lang): implement dynamic var scoping & local var grammar"],["1c899a18","2018-04-03","refactor(pointfree-lang): rename grammar rule / nodetype MAP=>OBJ, add docs"],["5450e507","2018-04-03","fix(pointfree-lang): update grammar (parse order), add tests"],["769e84da","2018-04-03","feat(pointfree-lang): overhaul visitor quote/array & map handling, grammar"],["2101e926","2018-04-03","feat(pointfree): add math ops, update load/loadkey, update tests"],["26905f09","2018-04-02","refactor(examples): update pf svg example"],["ee684c7b","2018-04-02","feat(pointfree-lang): update grammar, aliases, ASTNode, NodeType"],["92d2d685","2018-04-01","refactor(pointfree): update/rename storeat => setat, update tests"],["68a8dba6","2018-04-01","feat(pointfree): add copy() word"],["42cc7786","2018-04-01","docs: update dep graph"],["996b5ff7","2018-04-01","Publish"],["4c7e9068","2018-04-01","docs: update all package readme's"],["cb7276e6","2018-04-01","chore: update make-module/example scripts"],["d4951f5e","2018-04-01","docs(examples): update all example readme's"],["c7521980","2018-04-01","build: add missing package descriptions, update yarn.lock"],["c2d22337","2018-04-01","Merge branch 'feature/examples-webpack' into develop"],["e2ac1852","2018-04-01","build: update dev dependencies for all packages & examples"],["bc264d39","2018-03-31","build(examples): update tsconfig for all examples"],["8273674d","2018-03-31","build(examples): update all examples to use webpack 4.4.*"],["1022ab67","2018-03-31","fix(examples): update stack comment for write-file"],["89ea6331","2018-03-31","fix(examples): update readme (pf-svg)"],["f3477690","2018-03-31","docs(pointfree-lang): update readme"],["7b5a36fd","2018-03-31","docs(examples): update example list"],["3f33b651","2018-03-31","refactor(examples): update pointfree-svg demo/readme"],["208b5c39","2018-03-31","fix(pointfree-lang): object literal grammar rule (allow initial WS)"],["910b7187","2018-03-31","feat(examples): add pointfree-svg demo"],["a0e0a0ca","2018-03-31","docs: update dep graph"],["6d836772","2018-03-31","Publish"],["659cce91","2018-03-31","fix(pointfree-lang): add ensureEnv, update re-exports, update readme"],["a0bf7810","2018-03-31","fix(pointfree): reexport ensureStack fns"],["b16c8500","2018-03-31","docs(pointfree-lang): fix readme link"],["fbb17957","2018-03-31","docs(pointfree-lang): fix grammar link"],["f2a56266","2018-03-31","docs: update main readme"],["430caf03","2018-03-31","docs: update dep graph"],["6f743ae1","2018-03-31","Publish"],["9e43405a","2018-03-31","docs: update pointfree readme's"],["32e2da0d","2018-03-31","docs: update dep graph"],["82008c38","2018-03-31","v0.1.0"],["d838610f","2018-03-31","Merge branch 'feature/pointfree-lang' into develop"],["0623df69","2018-03-31","build: add pegjs dev dependency"],["3dec35a8","2018-03-31","feat(pointfree-lang): initial import @thi.ng/pointfree-lang"],["5db90c53","2018-03-31","feat(pointfree): add caseq()"],["0da93da6","2018-03-29","docs: update dep graph"],["fdfbe425","2018-03-29","Publish"],["d47d0b36","2018-03-29","docs(pointfree): update readme"],["b096e436","2018-03-29","feat(pointfree): add more dataflow combinators, words & tests"],["c0a653b6","2018-03-29","docs(pointfree): update readme"],["9f866da4","2018-03-29","docs(pointfree): update readme"],["3dc30a8e","2018-03-29","feat(pointfree): add combinators, update controlflow words, remove execq"],["39b59677","2018-03-29","docs: update dep graph"],["6b5033f0","2018-03-29","Publish"],["6cbacec7","2018-03-29","feat(hdom-components): add svg line()"],["0baf1f8a","2018-03-29","docs(pointfree): update readme & package"],["fe1f3a3a","2018-03-29","test(pointfree): add tests"],["943b4f9c","2018-03-29","feat(pointfree): add new words, constructs, aliases, fix re-exports"],["221ece65","2018-03-29","build: update make-module/make-example scripts"],["6904d440","2018-03-28","docs: update dep graph"],["aa9439ef","2018-03-28","Publish"],["9b00a25f","2018-03-28","build: add benchmark dev dep"],["e35a2ca1","2018-03-28","build(paths): update package"],["e52b8693","2018-03-28","feat(pointfree): major update readme, package"],["0f0c382f","2018-03-28","feat(pointfree): add new words, rename words, remove mapnth, pushl2"],["10d5a347","2018-03-28","fix(pointfree): add 0-arity comp() (identity fn)"],["ba0bcc21","2018-03-27","refactor(pointfree): rename core words & change case"],["1c4cd2f3","2018-03-27","feat(pointfree): add rstack, update StackContext"],["50cc65fe","2018-03-26","build: update yarn scripts / add missing nyc dev dep"],["2b7e99b9","2018-03-26","fix(api): illegalState() creates IllegalStateError"],["1a01f9a0","2018-03-26","fix(pointfree): wordU(), add tests"],["3252554f","2018-03-26","feat(pointfree): further restructure, perf, add tests"],["a48361d6","2018-03-25","feat(pointfree): major refactor & restructure"],["d1564bb1","2018-03-25","docs(pointfree): update readme"],["79b4ce32","2018-03-25","feat(pointfree): update all words to return stack"],["f3f0bec1","2018-03-24","feat(pointfree): update word/wordU, add append(), tuple(), join()"],["06987133","2018-03-23","docs: update dep graph"],["c5bcdafa","2018-03-23","Publish"],["be9ba2fd","2018-03-23","Merge branch 'hotfix/pointfree'"],["f211c397","2018-03-23","fix(pointfree): fix readme/docs"],["51a6e500","2018-03-23","docs: update dep graph"],["0e4858c9","2018-03-23","Publish"],["15ffd34d","2018-03-23","test(pointfree): add tests"],["6cac0c7d","2018-03-23","feat(pointfree): support data vals in program, add collect(), update readme"],["f75486d4","2018-03-23","feat(pointfree): add unwrap, quatations, math/bitops, array/obj access"],["884a8bfa","2018-03-23","docs: update main readme/depgraph"],["e635dafd","2018-03-23","Merge branch 'feature/pointfree' into develop"],["4d4e5e1b","2018-03-23","v0.1.0"],["6aef8807","2018-03-23","build(pointfree): update package info"],["58f5716c","2018-03-23","feat(pointfree): add dropIf, neg, nop, update cond,condM, add docs/readme"],["25bbf05c","2018-03-22","feat(pointfree): initial import of refactored @thi.ng/pointfree package"],["92e4ff8f","2018-03-21","docs: update main readme"],["b153067c","2018-03-21","docs: update dep graph"],["fb42cb5a","2018-03-21","Publish"],["218c2304","2018-03-21","Merge branch 'feature/iwatch' into develop"],["ca099e57","2018-03-21","refactor(transducers): update error handling"],["8a3e72ee","2018-03-21","feat(rstream-log): update error handling, add @thi.ng/api dep"],["1ce7054f","2018-03-21","feat(rstream): update error handling, add @thi.ng/api dep"],["adc559ae","2018-03-21","refactor(router): update error handling"],["9316a6ca","2018-03-21","feat(iterators): update error handling, add @thi.ng/api dep"],["501d56f8","2018-03-21","feat(interceptors): update error handling, add @thi.ng/api dep"],["0cfc2270","2018-03-21","refactor(hiccup-css): update error handling"],["a3238abf","2018-03-21","feat(hiccup): update error handling, add @thi.ng/api dep"],["f5173f1d","2018-03-21","feat(hdom): update error handling, add @thi.ng/api dep"],["a046b285","2018-03-21","refactor(dcons): update error handling"],["5087ffe3","2018-03-21","refactor(cso): update error handling"],["0fc10388","2018-03-21","feat(bitstream): update error handling, add @thi.ng/atom dep"],["ea7b1752","2018-03-21","refactor(atom): update error handling"],["4d3785f9","2018-03-21","feat(api): add error types & ctor fns"],["d93940a4","2018-03-21","feat(atom): consider parent validators in History update fns"],["3b1d563a","2018-03-21","feat(atom): add CursorOpts and cursor validation, update ctor, add tests"],["bae1647c","2018-03-21","feat(atom): add optional validation predicate for Atom, add tests"],["47643f96","2018-03-21","test(api): add INotify tests"],["b3287808","2018-03-21","refactor(router): update INotify dummy impl"],["fbb19acd","2018-03-21","refactor(api): update mixins, IEnable / INotify return types"],["0d67e73e","2018-03-21","build: limit travis build branches"],["96bb0198","2018-03-21","docs: update dep graph"],["b2778585","2018-03-21","Publish"],["2a1264a2","2018-03-21","refactor(rstream-log): update Logger ctor arg handling"],["e58c5e01","2018-03-21","Merge branch 'feature/rstream-refactor' into develop"],["deb59a15","2018-03-21","docs(rstream): update readme, add dataflow example"],["276ede6a","2018-03-20","docs(rstream): update readme"],["907d5995","2018-03-20","feat(rstream): add IDeref impl for Subscription"],["1fee7d5c","2018-03-20","feat(rstream): add merge()/sync() ctor wrappers"],["eec56dec","2018-03-20","feat(rstream): add transduce(), update re-exports"],["42b343aa","2018-03-20","test(rstream): add StreamSync & Subscription tests"],["26f15b23","2018-03-20","refactor(rstream): simplify unsubscribe() logic"],["a1c58418","2018-03-20","docs(rstream): add Cache deprecation docstring"],["6b87bca4","2018-03-20","feat(rstream): Subscription stores last value and passes to new subs"],["ebe222c9","2018-03-20","refactor(rstream): update & StreamMerge/SyncOpts, minor fixes StreamSync"],["80264093","2018-03-20","feat(rstream): fix #6 update StreamMerge to support transduced input streams"],["db61b0bd","2018-03-20","test(rstream): add/update sidechain* tests"],["d18a1158","2018-03-20","feat(rstream): update Sidechain*.next(), add unsubscribe()"],["7dce160c","2018-03-20","minor(rstream): fromPromise()"],["41bb385f","2018-03-20","feat(rstream): add fromView(), update fromAtom() docs, update re-exports"],["01a751e2","2018-03-20","feat(rstream): update Subscription.unsubscribe()"],["2ad2f485","2018-03-20","fix(rstream): bisect() add downstream impl checks, add tests"],["6f5ec040","2018-03-20","test(rstream): remove obsolete fromPromise error test case"],["47b6a924","2018-03-20","refactor(rstream): simplify Subscription, update all impls"],["64c16255","2018-03-19","Merge branch 'develop' into feature/rstream-refactor"],["5bf5ce61","2018-03-19","docs: update dep graph"],["1c5d96f7","2018-03-19","Publish"],["ff802a45","2018-03-19","refactor(rstream): simplify StreamMerge source handling"],["f7029efd","2018-03-19","refactor(rstream): minor cleanup/perf StreamSync"],["791a993f","2018-03-19","feat(rstream): add StreamSync"],["c7364334","2018-03-19","refactor(rstream): add/update Stream ctor arities"],["abc195a4","2018-03-19","feat(transducers): add mapVals() xform"],["3bc8d54a","2018-03-19","refactor(transducers): update labeled(), mapIndexed(), partition()"],["bebd1186","2018-03-19","feat(transducers): add partitionSync() xform"],["627dd7a4","2018-03-19","docs: update dep graph"],["b316114f","2018-03-19","Publish"],["76c5e0a4","2018-03-19","fix(interceptors): InterceptorPredicate args"],["dbb046e8","2018-03-18","docs: update dep graph"],["a69b5141","2018-03-18","Publish"],["c0ec2745","2018-03-18","feat(atom): add optional support for eager views, update tests/readme"],["f295a475","2018-03-18","build(examples): update all @thi.ng deps to use \"latest\""],["4e91374b","2018-03-18","docs: update dep graph"],["6b92bf67","2018-03-18","Publish"],["eaeccf47","2018-03-18","fix(paths): fix setter fast paths"],["e022cdf0","2018-03-18","docs: update dep graph"],["8cee5b5f","2018-03-18","Publish"],["92f0e27e","2018-03-18","fix(paths): fix setIn fast paths for path length 3/4"],["2376e02f","2018-03-18","build: fix changelogs for atom/interceptors/paths"],["4c0212fb","2018-03-18","docs(resolve-map): fix link in readme"],["b6a8da58","2018-03-18","build(examples): update deps & imports for all examples"],["2c1a85bc","2018-03-17","docs: update dep graph"],["c3cac0c0","2018-03-17","Publish"],["1e7ef2b6","2018-03-17","build: fix atom deps in downstream packages"],["8281609c","2018-03-17","minor(atom): fix typo in package"],["a41a208e","2018-03-17","v1.0.0"],["9a1cc521","2018-03-17","docs: update dep graph"],["c0c3e64c","2018-03-17","v1.0.0"],["0d13982c","2018-03-17","v0.1.0"],["95f6b392","2018-03-17","Merge branch 'feature/lazymap' into develop"],["d34bd146","2018-03-17","build: update make-module script (deps)"],["e1cf4aba","2018-03-17","docs(interceptors): update readme"],["9a651cd9","2018-03-17","docs(atom): update readme"],["1273efbd","2018-03-17","refactor(atom): extract @thi.ng/paths & @thi.ng/interceptors functionality"],["763ea89f","2018-03-17","docs: update package list in main readme"],["195a6ffd","2018-03-17","feat(interceptors): add/extract @thi.ng/interceptors package from @thi.ng/atom"],["422c2c4e","2018-03-17","feat(resolve-map): add @thi.ng/resolve-map package"],["f9f6eb1e","2018-03-17","feat(paths): add/extract @thi.ng/paths from @thi.ng/atom"],["d3d66436","2018-03-16","refactor(examples): update router-basics"],["f1bc74d2","2018-03-16","docs: update readme files (add create-hdom-app instructions)"],["8596cd07","2018-03-16","docs: update dep graph"],["6383233e","2018-03-16","Publish"],["357c46e0","2018-03-16","feat(atom): add forwardSideFx() interceptor"],["e52e7e51","2018-03-16","feat(atom): add FX_FETCH & FX_DELAY sidefx impl, update docs"],["6378eb0b","2018-03-15","fix(examples): re-add html"],["633093ea","2018-03-15","refactor(examples): update router-basics (create-hdom-app tpl)"],["6deb4e33","2018-03-14","build(examples): update hdom deps"],["c0432cb4","2018-03-14","docs: update dep graph"],["fff77886","2018-03-14","Publish"],["3a0e97d2","2018-03-14","test(hdom): add tests, update package"],["25d0c309","2018-03-14","test(hiccup): add deref tests"],["14356895","2018-03-14","Merge branch 'feature/hdom-deref' into develop"],["c85b1f81","2018-03-14","refactor(examples): remove obsolete .deref() calls"],["93343d63","2018-03-14","feat(hiccup): support fn values in style objects"],["28b0b578","2018-03-14","refactor(hdom): disable deref() for attrib objects"],["de839e89","2018-03-14","refactor(hiccup): disable deref() for attrib objects"],["0fe6c44c","2018-03-14","feat(hdom): add auto deref() support"],["0d2c16fc","2018-03-14","feat(hiccup): add auto deref() support"],["2351240d","2018-03-14","minor(examples): typo"],["c5cee483","2018-03-12","minor(examples): readme"],["15acdb5c","2018-03-12","minor(examples): typos"],["ee118999","2018-03-12","docs(examples): update readme"],["8eb0a610","2018-03-12","docs(examples): add README for example dir"],["fc61aae6","2018-03-12","minor(examples): add filesize info"],["777b1b05","2018-03-11","refactor(examples): more stateless components, add docs"],["49008ccf","2018-03-11","docs(examples): update readme"],["eb73ae93","2018-03-11","refactor(examples): update router demo"],["5b412e7d","2018-03-11","docs: update dep graph"],["a9b09f16","2018-03-11","Publish"],["10ea19f5","2018-03-11","docs(atom): update readme & doc strings"],["0ca0bf3e","2018-03-11","fix(atom): ignore side fx with null values"],["5e8cbc98","2018-03-11","docs: update dep graph"],["e62dace5","2018-03-11","Publish"],["bd8c8b1e","2018-03-11","Merge branch 'feature/router' into develop"],["eac0e96f","2018-03-11","docs(router): update readme & package"],["71b19a43","2018-03-10","feat(examples): major update router example app"],["d8b8d978","2018-03-10","docs: add router package links to main readme"],["51b02e2b","2018-03-10","feat(examples): add router-basics demo"],["07b4e060","2018-03-10","feat(router): re-import router package (MBP2010), minor refactor & fixes"],["019943e2","2018-03-09","docs: update dep graph"],["95d6a4e2","2018-03-09","Publish"],["c7e69def","2018-03-09","refactor(examples): minor updates"],["3fae2496","2018-03-09","feat(atom): add/extract StatelessEventBus"],["667691ce","2018-03-09","feat(atom): update EventBus ctor, add deref()"],["59085e0c","2018-03-09","fix(atom): add interceptors to re-exports"],["9b3d91e5","2018-03-09","feat(atom): add IRelease impls"],["3bf9fbaa","2018-03-09","docs(atom): update all doc strings"],["e96cc991","2018-03-09","refactor(atom): minor update event bus, add/update docs"],["15ae0643","2018-03-09","docs: update dep graph"],["a26e25cf","2018-03-09","Publish"],["a48b7762","2018-03-08","refactor(examples): update async-effect"],["4d7613d8","2018-03-08","refactor(examples): update interceptor-basics"],["fb9b19c4","2018-03-08","docs(atom): minor update View docs"],["359c4f5a","2018-03-08","feat(atom): add valueSetter/Updater() interceptors"],["443875c8","2018-03-08","refactor(atom): update InterceptorFn handling"],["1fd43d7c","2018-03-08","feat(atom): add default handlers, add/rename event/fx const values, add checks"],["c5d5ed56","2018-03-08","build(examples): update all deps"],["89a0b20d","2018-03-08","docs: update dep graph"],["f018fb12","2018-03-08","Publish"],["cb9c808e","2018-03-08","Merge branch 'feature/atom-async-dispatch' into develop"],["a6beda9d","2018-03-08","refactor(examples): update async & interceptor demos"],["3303c3b4","2018-03-08","docs(atom): update readme"],["56866e07","2018-03-08","feat(atom): add async dispatch effect, update event bus & api types"],["9900e991","2018-03-08","feat(checks): add isPromise() & isPromiseLike()"],["fb4f3095","2018-03-08","docs: update dep graph"],["99a87e6a","2018-03-08","Publish"],["52fff093","2018-03-08","docs(examples): update async readme & html"],["c9794acb","2018-03-07","feat(examples): add async fx example"],["9e5239bc","2018-03-07","fix(atom): add EventBus to module re-exports, minor cleanup"],["5b21c147","2018-03-07","build(examples): update interceptor deps"],["7dcfce05","2018-03-07","refactor(examples): update interceptor example"],["85e04957","2018-03-07","docs: update dep graph"],["851efd23","2018-03-07","Publish"],["1adb703a","2018-03-07","refactor(examples): update interceptor example"],["1ab803aa","2018-03-07","refactor(atom): update InterceptorFn, ensureXXX(), update deps, add docs"],["eec7bc4c","2018-03-07","docs: update dep graph"],["b877a069","2018-03-07","Publish"],["fb74b8a7","2018-03-07","Merge branch 'feature/iceps' into develop"],["4958606b","2018-03-07","feat(examples): add interceptors example"],["a0d662bb","2018-03-07","build(atom): add @thi.ng/dcons dep"],["e01bf733","2018-03-07","feat(atom): re-add refactored EventBus & interceptor handling"],["be46af3f","2018-03-06","feat(examples): add svg viz to devcards demo"],["79245a35","2018-03-05","minor(examples): typos"],["f40143be","2018-03-05","fix(examples): add/update devcard links"],["8019df82","2018-03-05","build(examples): add missing html/webpack files, update deps"],["9becd43d","2018-03-05","Merge branch 'master' of github.com:thi-ng/umbrella"],["58e75591","2018-03-05","docs: update dep graph"],["f38885de","2018-03-05","Publish"],["df4e98fb","2018-03-05","Merge branch 'feature/ex-mstates' into develop"],["1041d90c","2018-03-05","feat(examples): add devcards example"],["a200beb8","2018-03-05","feat(hdom): add support for frame skipping, add docs"],["a7e61a4e","2018-03-05","feat(atom): update IAtom, add resetIn() & swapIn() impls"],["17a11710","2018-03-05","Merge branch 'feature/hcss-refactor' into develop"],["22bc29c9","2018-03-05","docs(hiccup-css): add doc strings for attrib fns"],["721583a7","2018-03-05","refactor(hiccup-css): internal restructure"],["34d699fc","2018-03-05","chore: update issue tpl instructions"],["dd09f0bf","2018-03-05","docs: update dep graph"],["203a3a6e","2018-03-05","Publish"],["2e3942ac","2018-03-05","docs(hiccup-css): add doc strings, update readme"],["105bbf4e","2018-03-05","perf(hiccup-css): no empty Set() creation, change type check order in css()"],["870da99d","2018-03-05","docs: update readme"],["0c23d2b6","2018-03-05","docs: update dep graph"],["1e08ce24","2018-03-05","v0.1.0"],["69036ad1","2018-03-05","minor(hiccup-css): update package desc"],["5d946cb0","2018-03-05","Merge branch 'develop'"],["d6f8b066","2018-03-05","Merge branch 'feature/hiccup-css' into develop"],["8a665313","2018-03-05","build(hiccup-dom): update ignore files"],["bafb533e","2018-03-05","docs(hiccup-css): update readme"],["24983d37","2018-03-05","test(hiccup-css): update tests"],["0f416efe","2018-03-05","feat(hiccup-css): add comment() indentation support"],["f3190fff","2018-03-05","fix(hiccup-css): fn & auto-prefix handling"],["787d0aba","2018-03-05","feat(hiccup-css): add more unit types, update px/ms"],["02bff871","2018-03-05","feat(hiccup-css): add support for iterators as arg type to css()"],["cbb9b7f0","2018-03-04","test(hiccup-css): add/update tests"],["a6231172","2018-03-04","refactor(hiccup-css): format @keyframe stops, rename perc() => percent()"],["e347c292","2018-03-04","fix(hiccup-css): @import query separator"],["57533c76","2018-03-04","feat(hiccup-css): update conditional handling, add formatCond()"],["428de3c7","2018-03-04","feat(hiccup-css): update fn handling, add iterator support, units, comment"],["bdc63496","2018-03-04","minor: fix typos"],["c20f2df6","2018-03-04","Create CONTRIBUTING.md"],["6de6b279","2018-03-03","perf(hiccup-dom): minor optimizations"],["ebbc4910","2018-03-03","feat(hiccup-css): add attrib fn, at-rules, quoted fns, decl value arrays"],["e687230c","2018-03-03","feat(hiccup-css): add default vendor prefixes"],["a53d2a5f","2018-03-03","feat(hiccup-css): add keyframes(), split module into separate src files"],["d837199d","2018-03-03","feat(hiccup-css): add CSSOpts, mediaQuery(), fn expansion"],["5247b8f4","2018-03-03","feat(hiccup-css): add/fix class handling, update Format"],["3a4cf1e6","2018-03-03","feat(hiccup-css): add package @thi.ng/hiccup-css"],["92fb7b07","2018-03-03","chore(examples): update links in html files"],["b6d350b3","2018-03-03","docs: update dep graph"],["6c628213","2018-03-03","docs(hdom): fix diagram link"],["db98e5e5","2018-03-03","chore: update make-example"],["2f5f0b2e","2018-03-03","build(examples): update all example deps"],["45291b3d","2018-03-03","Publish"],["9099607d","2018-03-03","docs: update readme's"],["752a78bb","2018-03-03","feat(hdom-components): rename package hiccup-dom-component => hdom-components"],["79e1b097","2018-03-03","docs(hdom): update readme"],["f1c53150","2018-03-03","refactor(hdom): rename package hiccup-dom => hdom"],["ae47c4db","2018-03-03","docs: update dep graph"],["e405ebdf","2018-03-03","Publish"],["8c180bc6","2018-03-03","refactor(transducers): extract compR() into its own file, update refs, update readme"],["2f5abce3","2018-03-02","refactor(transducers): update swizzler() arg types"],["488462e1","2018-03-02","refactor(transducers): update permutations()/permutationsN(), add tests"],["91938ede","2018-03-02","feat(transducers): add permutations()/permutationsN() generators"],["aa042602","2018-03-02","docs: update dep graph"],["3d8a6d3c","2018-03-02","Publish"],["2316d4d1","2018-03-02","test(transducers): add flatten() tests"],["3d8aa324","2018-03-02","fix(transducers): flattenWith()"],["befaceb0","2018-03-01","docs(atom): update readme example"],["3dcc3cb8","2018-03-01","docs(atom): update example"],["dd665920","2018-03-01","feat(examples): add login-form demo to illustrate state handling"],["118cf92f","2018-03-01","docs: update dep graph"],["1f61f49d","2018-03-01","Publish"],["ae7c7f5d","2018-03-01","docs(atom): update readme, add View examples"],["3e55a058","2018-03-01","fix(atom): re-export api.ts"],["341255c9","2018-03-01","refactor(atom): include `path` in IView"],["0206f339","2018-03-01","docs: update dep graph"],["5308cab5","2018-03-01","Publish"],["a0ce6e76","2018-03-01","refactor(atom): update Path type references"],["9ad83b27","2018-03-01","feat(atom): add IView, IViewable, impl for Atom, Cursor, History"],["1fa829d6","2018-03-01","test(atom): add/update tests"],["8c0c621c","2018-03-01","feat(atom): add View type to create derrived views/value subscriptions"],["55c6a7d5","2018-03-01","perf(atom): add optimized setter() for path len < 5, fix toPath()"],["ed23376d","2018-03-01","perf(atom): add optimized getters for path len < 5"],["ff21d9f4","2018-02-28","docs: update dep graph"],["6779def4","2018-02-28","Publish"],["a86b6775","2018-02-28","docs(hiccup-dom): fix readme link"],["ca17389c","2018-02-28","feat(hiccup-dom): add support for function attribs, add docs"],["050a5656","2018-02-28","docs(hiccup-dom): update initial readme example"],["c7e2f816","2018-02-27","Merge branch 'master' of github.com:thi-ng/umbrella"],["eafc5dd6","2018-02-27","build(examples): update deps"],["4a8feffc","2018-02-27","docs(hiccup-dom): fix #7, update readme"],["61e87665","2018-02-27","docs(hiccup-dom): update readme"],["9593fd13","2018-02-27","docs: update dep graph"],["b8a6e1af","2018-02-27","Publish"],["70720a37","2018-02-27","refactor(examples): minor updates"],["8a070ff2","2018-02-27","feat(hiccup-dom): start(), add optional spans arg"],["9b2c1606","2018-02-27","minor(hiccup-dom): update arg types"],["f5b66753","2018-02-27","feat(hiccup-dom): fix #11, update normalizeTree/normalizeElement"],["6e0dfa1d","2018-02-27","feat(diff): update diffArray, generic types"],["621868b4","2018-02-26","docs: update dep graph"],["9ff8c0af","2018-02-26","Publish"],["45d63858","2018-02-26","refactor(hiccup): sort void tags"],["9824844a","2018-02-26","feat(transducers): add keys()/vals() iterators, refactor pairs()"],["061c9088","2018-02-26","Merge pull request #12 from jarvismartin/minor-fix"],["f6143eb7","2018-02-25","Merge branch 'master' of github.com:thi-ng/umbrella into minor-fix"],["c34271f7","2018-02-24","docs: update dep graph"],["1b16d920","2018-02-24","Publish"],["44f33dfc","2018-02-24","feat(hiccup): add support for more SVG tags (66 total)"],["214fe4d0","2018-02-23","feat(hiccup-dom-components): add gradient, group, path SVG funcs"],["8180e149","2018-02-23","spelling fix"],["68d9f838","2018-02-23","Merge branch 'master' of github.com:thi-ng/umbrella"],["ca68a978","2018-02-23","minor grammar fix"],["b3891d52","2018-02-23","refactor(examples): simplify json-components"],["1834f812","2018-02-23","docs: update dep graph"],["8a620583","2018-02-23","Publish"],["2a11ff6f","2018-02-23","refactor(transducers): add TransformSubSpec, fix test, minor update docs"],["223669b1","2018-02-23","test(transducers): add tests"],["f0fdfa10","2018-02-23","feat(transducers): add deepTransform & mapDeep xform"],["65f794f6","2018-02-19","build: add .gitignore gen for make-example script"],["f7c6e0c9","2018-02-19","Merge pull request #10 from jarvismartin/example-gitignores"],["955eecc4","2018-02-19","add .gitignore files to examples"],["e1f87d6b","2018-02-19","fix(examples): update packages & readme's (fix #9), deps in make-example"],["c2123e58","2018-02-19","Merge pull request #9 from jarvismartin/examples-work-on-debian"],["31a4710a","2018-02-19","build(examples): update CA deps (transducers)"],["9b664d25","2018-02-19","refactor(examples): simplify CA transducers, update rule format/handling"],["2c2030d2","2018-02-19","docs: update dep graph"],["afa74728","2018-02-19","Publish"],["193058d5","2018-02-19","feat(transducers): add lookup1d/2d/3d helpers, update re-exports"],["813b2cac","2018-02-19","make examples work on Debian systems"],["77c95322","2018-02-19","refactor(examples): update webgl demo"],["73dd1dc5","2018-02-19","docs: update dep graph"],["9c8e877a","2018-02-19","build(examples): update CA deps"],["7f8c6cd0","2018-02-19","Publish"],["3627087b","2018-02-19","docs: add hiccup-dom-components to main readme"],["ac831234","2018-02-19","build(hiccup-dom-components): add missing deps"],["9fe096a3","2018-02-19","build: update yarn.lock"],["2394396e","2018-02-19","feat(examples): add CA presets, refactor rule handling"],["511c4980","2018-02-19","feat(hiccup-dom-components): initial import"],["df93af6d","2018-02-18","feat(examples): add randomize buttons (CA)"],["fde83d59","2018-02-18","build(examples): update example deps"],["b8c03743","2018-02-18","docs: update dep graph"],["06830ce6","2018-02-18","Publish"],["69b3c6a4","2018-02-18","docs: update readme files"],["074f94ff","2018-02-18","build: update deps"],["5a728cb9","2018-02-18","refactor(rstream-log): update Logger ctor due to changes in StreamMerge"],["4942e2ea","2018-02-18","feat(rstream): fix #8, support infinite StreamMerge's, update ctor"],["ca1caae5","2018-02-18","refactor(rstream): don't throw in unsubscribe() if no parent"],["5c106cfa","2018-02-18","docs(examples): add more CA config links"],["d6d3310d","2018-02-18","feat(examples): add cellular automata example"],["d023bd5f","2018-02-18","chore(transducers): update re-exports, readme"],["ab8a8558","2018-02-18","feat(transducers): add convolve2d xform & types"],["d7b1d0df","2018-02-18","feat(transducers): add movingMedian() xform"],["48f8bb85","2018-02-18","fix(transducers): update imports `step()`"],["63a49530","2018-02-18","refactor(transducers): add/update range2d/range3d arity handling"],["e71a4c90","2018-02-17","docs(atom): update readme"],["2e34f389","2018-02-17","refactor(atom): update history reset/swap, record before applying val"],["b593a9b9","2018-02-17","feat(atom): add deleteIn()"],["fbc819ed","2018-02-17","fix(atom): empty path handling getter/setter"],["7d50c1ca","2018-02-17","refactor(examples): simplify todo atom handling"],["b5ee8e45","2018-02-17","refactor(atom): use @thi.ng/api/equiv as default History predicate"],["398c32af","2018-02-17","refactor(atom): don't mutate getter/setter path args, update updateIn"],["6f6e7e5b","2018-02-17","feat(atom): add getIn/setIn/updateIn"],["d38f47e0","2018-02-16","test(transducers): add range2d tests"],["722042b1","2018-02-16","feat(transducers): add range2d / range3d generators"],["47d5df09","2018-02-15","chore: update issue tpl"],["c9ec713f","2018-02-15","Create issue_template.md"],["4d1de860","2018-02-08","docs: update dep graph"],["3fc88b25","2018-02-08","Publish"],["445c8575","2018-02-08","refactor(transducers): re-use even/odd from @thi.ng/checks"],["68f8fc23","2018-02-08","feat(checks): add new predicates, refactor existing"],["080c2ee5","2018-02-07","fix(csp): fix #5, more example fixes (rfn calls)"],["a10a487c","2018-02-07","fix(csp): fix #5, example in readme"],["972a23e1","2018-02-05","style: update const/let assignments"],["623bc492","2018-02-05","refactor(examples): update webgl demo"],["5281d9a8","2018-02-05","feat(examples): add webgl example"],["eb12a165","2018-02-04","build: update upload-docs script"],["3ee6755f","2018-02-04","fix(examples): minor fixes index.html"],["855d8039","2018-02-04","feat(transducers): add page() xform, update readme"],["596ed7a2","2018-02-04","docs: update dep graph"],["17e447f6","2018-02-04","Publish"],["1f4f4b8c","2018-02-04","fix(hiccup-dom): support parent DOM ID as arg start()"],["d8fea714","2018-02-03","docs: update dep graph"],["3daf7962","2018-02-03","Publish"],["4edf45fc","2018-02-03","fix(hiccup-dom): fix #3, update start() to be cancellable, add docs"],["ae34f077","2018-02-03","docs(hiccup-dom): fix readme link"],["b6d95fbe","2018-02-03","feat(examples): add json demo theme support, update docs"],["83cd1a21","2018-02-03","refactor(examples): minor update json-components"],["edfaa6bd","2018-02-03","build(examples): update deps"],["07da7cca","2018-02-03","docs: update dep graph"],["c3b54f98","2018-02-03","Publish"],["b524145b","2018-02-03","feat(examples): add reactive json editor component"],["10c119b2","2018-02-03","refactor(hiccup-dom): minor update ILifeCycle"],["944cbb3b","2018-02-03","fix(hiccup-dom): add NO_SPANS config"],["d8fa4cae","2018-02-03","fix(examples): update index.html"],["d5460b70","2018-02-03","docs(hiccup-dom): update readme"],["5d8478e1","2018-02-03","fix(examples): add missing files"],["3156e888","2018-02-03","fix(examples): update deps"],["2e4e51c5","2018-02-03","feat(examples): add json component demo"],["f30579ce","2018-02-03","Merge branch 'master' of github.com:thi-ng/umbrella"],["adb04f07","2018-02-03","merge with #2"],["c09bb89d","2018-02-03","docs(hiccup-dom): add svg example links"],["aa48d3be","2018-02-03","feat(examples): add svg particles demo"],["1b007e69","2018-02-03","Merge pull request #2 from forresto/patch-1"],["7ae6af3b","2018-02-02","Is c 3 here?"],["96004efe","2018-02-03","docs(atom): fix readme example"],["8ebc6242","2018-02-03","docs(atom): update readme"],["ad62c56f","2018-02-03","build(examples): update deps"],["5aed12b6","2018-02-03","docs: update dep graph"],["99a943ac","2018-02-03","Publish"],["8106d16f","2018-02-02","build: update main package build commands, update make-example script, readme"],["309c7d7c","2018-02-02","build(examples): update example build commands"],["29267799","2018-02-02","refactor(examples): update event attribs"],["7cc5c93a","2018-02-02","refactor(hiccup-dom): update event attrib naming convention, update readme"],["7ae706eb","2018-02-02","feat(hiccup): skip fn exec for event attribs, update tests, readme"],["ab7154a8","2018-02-02","docs(hiccup-dom): update readme"],["38699b96","2018-02-02","docs(hiccup-dom): add diagram"],["62af1537","2018-02-02","docs: update dep graph"],["ec0132c6","2018-02-02","Publish"],["d134d5b7","2018-02-02","refactor(hiccup-dom): add interfaces (still unused)"],["324d2fa2","2018-02-02","docs(examples): add benchmark docs"],["448e8396","2018-02-02","perf(diff): add fail fasts"],["98485760","2018-02-02","refactor(checks): isPlainObject()"],["110a9deb","2018-02-02","fix(api): update compare() & equiv()"],["0f57ff90","2018-02-02","docs(atom): update readme, add history example"],["10d9ecbf","2018-02-02","docs(hiccup-dom): fix example link"],["17b43036","2018-02-02","docs(hiccup-dom): update readme"],["d573bc53","2018-02-02","docs: update hiccup* readme files"],["7cfca0d8","2018-02-02","docs: update main readme"],["e4f8fe16","2018-02-02","docs(hiccup-dom): update readme"],["c2fed170","2018-02-02","feat(examples): add hdom-basics example"],["5e6eb832","2018-02-02","chore: add make-example script"],["e69774df","2018-02-02","fix(examples): benchmark"],["e939586a","2018-02-02","feat(examples): add hdom benchmark"],["0a41be9e","2018-02-01","docs: fix readme"],["afb869b0","2018-02-01","docs: add/update readme files"],["d52630c6","2018-02-01","docs: update dep graph"],["10a4f910","2018-02-01","Publish"],["12590847","2018-02-01","docs: update dep graph"],["24ea4ca9","2018-02-01","docs: update readme files"],["25c9f785","2018-02-01","feat(atom,hiccup-dom): add example projects (todo list & dashboard)"],["1f6bb589","2018-02-01","fix(hiccup-dom): boolean attribs"],["8218814f","2018-02-01","fix(atom): truncate redo stack in record(), swap() return type"],["c5b6e0fa","2018-02-01","feat(atom): add History.canUndo/Redo()"],["36cc9561","2018-02-01","fix(atom): cursor swap() return type"],["094e4869","2018-02-01","docs(hiccup-dom): fix links in readme"],["d373cab1","2018-02-01","docs: update main readme"],["00ad5d84","2018-02-01","docs: update dep graph"],["794b1fd5","2018-02-01","Publish"],["326d3c31","2018-02-01","build: update .npmignore"],["3101698d","2018-02-01","feat(hiccup-dom): add start(), update readme"],["beebe435","2018-02-01","chore: update keywords for all packages"],["5d7c10a3","2018-02-01","test(rstream): fix tests (TS 2.7.*)"],["4cc4bbc0","2018-02-01","build: cleanup/update deps"],["30ffd009","2018-02-01","feat(hiccup-dom): re-import package (MBP2010)"],["4d0d437b","2018-02-01","feat(diff): re-import diff package (MBP2010)"],["0439d24b","2018-02-01","refactor(hiccup): update/add deps, restructure/split into sub-modules"],["febe39f1","2018-02-01","fix(transducers): update comp() for typescript 2.7.*"],["a580f722","2018-02-01","build: update deps (typescript & typedoc)"],["ea638bef","2018-02-01","feat(rstream): add Cache subscription class"],["1354e298","2018-02-01","fix(api): fix equiv string handling, update tests"],["878520e6","2018-02-01","feat(api): update equiv() null handling, add tests"],["03c1d97a","2018-01-31","docs: update dep graph"],["5a3c0cce","2018-01-31","Publish"],["59d2a8a1","2018-01-31","docs(rstream): add undo/redo example to readme"],["54cd5261","2018-01-31","fix(rstream): subscription unhandled error handling"],["4c703cd4","2018-01-31","docs: update dep graph"],["92a923cf","2018-01-31","Publish"],["365e0d2b","2018-01-31","build: update main package commands"],["d58cf70d","2018-01-31","feat(rstream): add changed predicate for fromAtom(), add tests"],["dd155dfd","2018-01-31","docs(atom): add docs for getter/setter"],["55383621","2018-01-31","feat(atom): add full IAtom impl for History, update tests"],["4753afb8","2018-01-31","refactor(transducers): use Predicate2"],["79989e52","2018-01-31","refactor(dcons): use Predicate"],["42bbb864","2018-01-31","refactor(iterators): use Predicate/Predicate2"],["fbf8453c","2018-01-31","feat(api): add Predicate2 & StatefulPredicate2 types"],["b180917c","2018-01-31","docs: update dep graph"],["2746e8b3","2018-01-31","Publish"],["911ff183","2018-01-31","test(atom): add/update tests"],["e1b57dea","2018-01-31","feat(atom): add IReset/ISwap impls for History"],["282d9896","2018-01-31","fix(atom): cursor ctor arg checks"],["74ecdf18","2018-01-31","refactor(atom): extract IReset, ISwap from IAtom"],["035c51a3","2018-01-31","feat(atom): add History, add/update tests"],["2c88537e","2018-01-30","fix: links in readme"],["bbbc869c","2018-01-30","deploy: add upload-docs script"],["dee5f53c","2018-01-30","docs: update readme"],["da037723","2018-01-30","docs: update dep graph"],["95c728e0","2018-01-30","Publish"],["7f345bcc","2018-01-30","chore: update make-module"],["22b02a2d","2018-01-29","build: add main package commands, update readme"],["768f2ea7","2018-01-29","chore: update ignore files"],["0b5ca037","2018-01-29","build: add nyc coverage dev deps & commands"],["dc0958b7","2018-01-29","chore: update ignore files"],["c863018c","2018-01-29","test(iterator): add/update tests"],["f6530225","2018-01-29","docs: update dep graph"],["a508b05e","2018-01-29","Publish"],["4c242c93","2018-01-29","test(rstream): remove sidechainPartition interval test due to unpredictable timing"],["382aa05e","2018-01-29","fix(rstream): fatal recursion w/ error handling"],["1a0004f7","2018-01-29","test(rstream): increase timeout for travis"],["7bdc5617","2018-01-29","docs(iterators): update readme"],["651d07c0","2018-01-29","refactor(iterators): remove default exports"],["1e9dc852","2018-01-29","docs: add links for badges"],["925645ae","2018-01-29","docs: add travis badge"],["2d42787c","2018-01-29","build: update travis.yml"],["dfbd7efe","2018-01-29","docs(transducers): update padLast docs"],["e6477679","2018-01-29","test: add travis.yml, update main package / readme"],["9c2db625","2018-01-29","chore: update make-module script"],["6a125e83","2018-01-29","test: add test stubs, fix existing"],["b952a357","2018-01-29","build: update/fix all tsconfig files"],["85b280bf","2018-01-29","build: update commands in all packages"],["94333dfd","2018-01-29","test(atom): add/update tests"],["17d5c999","2018-01-29","docs: update dep graph"],["83b6e1a1","2018-01-29","Publish"],["5dce8a2f","2018-01-29","feat(atom): add nested path getter / setter compilers"],["1ae5f635","2018-01-29","docs: update dep graph"],["1ef8b45d","2018-01-29","Publish"],["b526376c","2018-01-29","docs: update readme"],["71c40ad0","2018-01-29","docs: update readme"],["ccd8e820","2018-01-29","test(rstream): update tests (fromPromise())"],["822b297f","2018-01-29","fix(rstream): fix #1 update fromPromise(), add test"],["33b3e16c","2018-01-29","chore: update package cmds & make-module script"],["1abd3cd1","2018-01-29","chore: add license files"],["0abfc62d","2018-01-29","docs(all) update dep graph"],["435c771f","2018-01-29","Publish"],["cca801b7","2018-01-29","fix(atom): cursor IWatch impls (replace stubs)"],["318e62ba","2018-01-29","docs: update main readme"],["5ca9b983","2018-01-29","chore: update make-module script"],["e45f3bd7","2018-01-29","chore(all): update depgraph commit msg format"],["d774e324","2018-01-29","perf(transducers): avoid result object cloning in struct() xform"],["ac12051f","2018-01-29","update dep graph"],["28771016","2018-01-29","Publish"],["1bc6ee6f","2018-01-29","build(rstream-csp): minor fix package & readme"],["ca3994ad","2018-01-29","feat(rstream): add atom dep, add fromAtom() & docs"],["04c3d592","2018-01-29","feat(atom): add Cursor, update interfaces, types, readme"],["52c25a84","2018-01-28","build(all): add tslint workspace dev dependency"],["fefc2835","2018-01-28","feat(atom): re-import atom package from MBP2010, update main readme"],["bddd5ce7","2018-01-28","feat(api): update IWatch & mixin, boolean returns"],["55ba0e13","2018-01-28","feat(rstream): add fromPromises(), add docs"],["2247f72f","2018-01-28","feat(rstream): add trace() error handler"],["ababaa1c","2018-01-28","docs(all): update readme"],["68e38136","2018-01-28","update dep graph"],["a87badef","2018-01-28","Publish"],["f83bd18e","2018-01-28","docs(rstream-csp): fix readme example"],["a6e49b34","2018-01-28","build(all): fix depgraph command in main package"],["d376f872","2018-01-28","update dep graph"],["8b53d6e1","2018-01-28","Publish"],["079a052c","2018-01-28","docs(all): update main readme, add dep graph"],["03ad992a","2018-01-28","chore(all): update ignore files"],["eb49e575","2018-01-28","test(csp): update test examples"],["13f0bd12","2018-01-28","test(hiccup): refactor all tests"],["c677539f","2018-01-28","build(all): update lerna config, main package, add make-module script"],["fcd01ba6","2018-01-28","build(rstream-log): update deps"],["28eee5f3","2018-01-28","build(transducers): update deps"],["174aaba7","2018-01-28","docs(transducers): update readme & doc comments"],["c2211223","2018-01-28","docs(rstream): update readme & doc comments"],["e37f6a13","2018-01-28","feat(rstream-csp): add new package, remove CSP dep from rstream"],["c74353b1","2018-01-28","feat(api): add StatefulPredicate"],["7b21aa64","2018-01-27","feat(transducers): add noop() xform, update readme"],["44db970b","2018-01-27","fix(transducers): scan() complete handling"],["b7c62341","2018-01-27","docs(transducers): update readme, add docs"],["45d6bc66","2018-01-27","feat(transducers): update re-exports, extract throttleTime() into own file"],["8e5204d2","2018-01-27","fix(transducers): add \"complete\" step handling in scan()"],["e1a282cb","2018-01-27","feat(transducers): update throttle(), refactor take/dropNth"],["0b3c7860","2018-01-27","feat(transducers): add labeled() xform"],["931b67f7","2018-01-27","feat(transducers): add multiplexObj()"],["63344e45","2018-01-27","feat(transducers): add every(), some() rfns"],["e555ff55","2018-01-27","feat(transducers): update re-exports, minor update reductions()"],["4b8d037a","2018-01-27","feat(transducers): update frequencies() & groupByMap()"],["e268e356","2018-01-27","refactor(transducers): rename join() => str() rfn"],["beb2cee8","2018-01-27","feat(transducers): add multiplex() xform & docs"],["1f32fc0c","2018-01-27","feat(transducers): update step() to support multiple results"],["58f14775","2018-01-27","refactor(transducers): udate cat() to accept iterables, not just arrays"],["e50fa261","2018-01-27","feat(transducers): add utf8Encode()/utf8Decode() xforms"],["57ceecee","2018-01-26","Publish"],["76c67349","2018-01-26","fix(rstream-log): imports"],["eb31ec6a","2018-01-26","build(rstream): 0.5.1 publish"],["22f1b6af","2018-01-26","build(all): fix repo links in all packages"],["c776df18","2018-01-26","build(all): fix pub script aliases"],["32fc705a","2018-01-26","Publish"],["de4e8192","2018-01-26","refactor(rstream): allow extra props in ISubscriber"],["fdc08897","2018-01-26","test(rstream): update promise tests"],["4bb9f918","2018-01-26","fix(rstream): Resolver error/rejection handling"],["23e38f79","2018-01-26","fix(rstream): only handle done() in IDLE or ACTIVE states, else ignore"],["b4f87853","2018-01-26","test(rstream): add/update tests"],["3d2f8b91","2018-01-26","fix(rstream): fromPromise() error handling"],["a0647fed","2018-01-26","refactor(rstream): update/fix Subscription.error() handling"],["3172eb6d","2018-01-26","test(rstream): add transducer test"],["9cf95541","2018-01-26","refactor(rstream): change SidechainToggle ctor arg order, add tests"],["d36a9ff8","2018-01-26","feat(rstream): add fromIterableSync()"],["f1956922","2018-01-26","feat(rstream): Stream calls done() w/ last unsub"],["0039ef38","2018-01-26","test(rstream): add/update tests"],["ec985b33","2018-01-26","feat(rstream): make Stream source arg optional"],["d3cbda2a","2018-01-26","test(rstream): add/update tests"],["91e8cad5","2018-01-26","feat(rstream): update StreamMerge"],["887c29bb","2018-01-26","refactor(rstream): add Subscription.ensureState()"],["7d066773","2018-01-26","test(rstream): add tests for fromIterable()"],["8019422f","2018-01-26","feat(rstream): add DEBUG flag to toggle tracing"],["ad548627","2018-01-25","feat(rstream): allow partial ISubscriber's for subscribe()"],["55c3b041","2018-01-25","fix(rstream-log): update module re-exports"],["5c85ab9b","2018-01-25","fix(rstream): update fromPromise() cancellation"],["0f601d5c","2018-01-25","fix(rstream): Stream.cancel()"],["19f27b94","2018-01-25","refactor(rstream): update ISubscriber.error() impls"],["0acf4e22","2018-01-25","Publish"],["f6ca3f33","2018-01-25","feat(rstream): add sidechainToggle(), minor update sidechainPartition()"],["2557c3b3","2018-01-25","Publish"],["4048bec4","2018-01-25","feat(rstream-log): add support for body formatter (formatString()), add type aliases"],["bc26d097","2018-01-25","feat(rstream-log): add node check for writeFile()"],["8304c825","2018-01-25","feat(rstream-log): add ILogger"],["eef65b9e","2018-01-25","fix(rstream): don't throw resolve() error, only warning msg"],["4e5a2ee1","2018-01-25","feat(rstream): add fromRAF() fallback for node, add docs"],["592a2423","2018-01-25","fix(rstream): subscription generics if transducer is used"],["898be349","2018-01-25","Publish"],["007f361f","2018-01-25","docs(transducers): add/update docs"],["a2c3bc42","2018-01-25","refactor(transducers): update reverse(), add deps"],["0c116c1c","2018-01-25","refactor(transducers): simplify concat(), add docs"],["b3ce275b","2018-01-24","fix(transducers): include 1st val in benchmark()"],["75bb161c","2018-01-24","fix(transducers): base64 imports"],["e290d759","2018-01-24","fix(all): project links in readme files"],["dc145a55","2018-01-24","fix(main): readme"],["358d5abf","2018-01-24","Publish"],["00f9c12b","2018-01-24","update packages (npm publishConfig)"],["04ff6e9c","2018-01-24","feat(all): initial re-import as monorepo, update readme files, cleanup imports"]]
\ No newline at end of file
+[
+ ["d990c3c2", "2019-02-08", "perf(geom-isoline): minor optimizations"],
+ ["3ed4ea12", "2019-02-07", "fix(hdom): fix #72, update normalizeElement()"],
+ [
+ "2b3dd7f4",
+ "2019-02-05",
+ "feat(examples): dynamic chart width (package-stats)"
+ ],
+ ["0715665a", "2019-02-05", "docs(geom-voronoi): add example screenshot"],
+ ["74fb4d83", "2019-02-05", "Publish"],
+ ["3b7d8cee", "2019-02-05", "docs: update main readme"],
+ [
+ "c4aaa82b",
+ "2019-02-05",
+ "build: update various geom packages (deps, tags & readmes)"
+ ],
+ [
+ "134c353f",
+ "2019-02-05",
+ "Merge branch 'develop' of github.com:thi-ng/umbrella into develop"
+ ],
+ ["cf7dc3a3", "2019-02-05", "feat(bencode): re-import updated bencode pkg"],
+ ["f2612a6b", "2019-02-05", "feat(bencode): re-import updated bencode pkg"],
+ ["9d8dd32e", "2019-02-05", "refactor(vectors): update imports (zip)"],
+ [
+ "7f4e3989",
+ "2019-02-05",
+ "refactor(geom-tessellate): update imports (zip)"
+ ],
+ ["5204a7fe", "2019-02-05", "refactor(geom): update imports (zip)"],
+ ["29045902", "2019-02-05", "refactor(color): update imports (zip)"],
+ [
+ "f15ea5fc",
+ "2019-02-05",
+ "refactor(examples): update deps & imports in various examples"
+ ],
+ [
+ "d1151cea",
+ "2019-02-05",
+ "refactor(transducers): deprecate & rename tuples() => zip()"
+ ],
+ [
+ "a7c1ef7b",
+ "2019-02-05",
+ "refactor(transducers): migrate binary related ops to new package"
+ ],
+ [
+ "02877c79",
+ "2019-02-05",
+ "feat(transducers-binary): extract as new pkg from @thi.ng/transducers"
+ ],
+ [
+ "ae83bb29",
+ "2019-02-05",
+ "fix(transducers): ensure all vals in hexDump iterator version"
+ ],
+ ["57d4488a", "2019-02-05", "feat(math): add PHI const"],
+ ["8d61b710", "2019-02-05", "refactor(examples): minor update iso-plasma"],
+ ["678c3ff0", "2019-02-02", "refactor(examples): update iso-plasma"],
+ ["37fb295f", "2019-02-02", "feat(examples): add iso-plasma demo"],
+ ["bd1754d5", "2019-02-01", "feat(geom-accel): add selectVals() impl"],
+ [
+ "4bde37e1",
+ "2019-02-01",
+ "feat(geom-api): add ISpatialAccel.selectVals()"
+ ],
+ ["13f655a6", "2019-02-01", "docs: update main readme"],
+ [
+ "d7ccc887",
+ "2019-02-01",
+ "refactor(vector-pools): update AttribPool & VecPool ctors"
+ ],
+ [
+ "6d15686a",
+ "2019-02-01",
+ "refactor(malloc): update MemPoolOpts & MemPool ctor args"
+ ],
+ [
+ "e30b2111",
+ "2019-02-01",
+ "feat(geom-isoline): import package (ported from clojure)"
+ ],
+ [
+ "b7d162fa",
+ "2019-02-01",
+ "feat(vector-pools): update & fix AttribPool resize logic"
+ ],
+ ["1b72d1d4", "2019-01-31", "build: update deps in unreleased packages"],
+ ["3529c2f3", "2019-01-31", "Merge branch 'master' into develop"],
+ ["50a5098a", "2019-01-31", "Publish"],
+ [
+ "3adabc4d",
+ "2019-01-31",
+ "fix(strings): fix #70, replace kebab() regex w/ legacy version"
+ ],
+ [
+ "a55f4770",
+ "2019-01-31",
+ "feat(malloc): add reallocArray(), update realloc() & compact(), tests"
+ ],
+ ["bf8b28fc", "2019-01-31", "feat(malloc): add realloc(), update free()"],
+ [
+ "16b48b38",
+ "2019-01-31",
+ "fix(vector-pools): AttribPool opts & default handling"
+ ],
+ [
+ "4acc8318",
+ "2019-01-30",
+ "feat(examples): update hdom-canvas-shapes (add ellipse test)"
+ ],
+ [
+ "ea322265",
+ "2019-01-30",
+ "refactor(geom-isec): update/merge intersectRayRect/AABB"
+ ],
+ [
+ "5f7dd635",
+ "2019-01-30",
+ "feat(geom): add ray-rect/aabb impls for intersects()"
+ ],
+ [
+ "93e2ea65",
+ "2019-01-30",
+ "feat(geom-isec): add ray-rect/aabb tests, fix ray-line, add NONE, update docs"
+ ],
+ [
+ "4d19aa20",
+ "2019-01-29",
+ "perf(geom-voronoi): update computeDual(), update isBoundary()"
+ ],
+ [
+ "2ff68db7",
+ "2019-01-29",
+ "feat(geom-voronoi): add support for vertex user data, tolerances, refactor QE changes"
+ ],
+ [
+ "426cd37f",
+ "2019-01-29",
+ "refactor(quad-edge): replace QuadEdge class w/ type alias, add docs"
+ ],
+ ["f249b7e1", "2019-01-29", "docs: update main readme"],
+ ["613ffeba", "2019-01-29", "Merge branch 'feature/geom-qe' into develop"],
+ ["b11837a2", "2019-01-29", "docs(geom): update readme"],
+ [
+ "c903293f",
+ "2019-01-29",
+ "feat(geom-voronoi): re-import & update QE delaunay/voronoi pkg (MBP2010)"
+ ],
+ [
+ "ee76797b",
+ "2019-01-29",
+ "feat(quad-edge): re-import & update quad edge impl (MBP2010)"
+ ],
+ ["4b852882", "2019-01-29", "refactor(geom): minor update clippedLine()"],
+ ["084883eb", "2019-01-29", "refactor(geom-clip): minor update liangBarsky"],
+ [
+ "6d14f2b7",
+ "2019-01-28",
+ "refactor(geom): swap Group ctor & factory arg order"
+ ],
+ ["af099ee5", "2019-01-28", "build(geom): update geom-clip dep & refs"],
+ [
+ "004d7f46",
+ "2019-01-28",
+ "build(geom-clip): rename pkg geom-clip-convex => geom-clip, update deps"
+ ],
+ [
+ "6391d104",
+ "2019-01-28",
+ "refactor(geom-tessellate): update imports / deps"
+ ],
+ ["31e369bd", "2019-01-28", "feat(math): add simplifyRatio()"],
+ [
+ "226645fd",
+ "2019-01-28",
+ "refactor(geom): update pointInside & classifyPoint impls (delegate)"
+ ],
+ [
+ "895102d4",
+ "2019-01-28",
+ "feat(geom-poly-utils): add convexity(), remove obsolete/migrated point checks"
+ ],
+ ["6ee03ebc", "2019-01-28", "feat(geom-api): re-add Convexity enum"],
+ [
+ "2b235461",
+ "2019-01-28",
+ "feat(geom-isec): migrate point intersection/containment checks"
+ ],
+ ["11bf7232", "2019-01-28", "minor(geom-closest-point): minor updates"],
+ ["f9dd3037", "2019-01-28", "docs(vectors): update docstrings"],
+ [
+ "e2047df3",
+ "2019-01-25",
+ "Merge branch 'feature/geom-refactor' into develop"
+ ],
+ [
+ "df8332d0",
+ "2019-01-25",
+ "refactor(geom): remove obsolete/migrated fns, update deps, readme"
+ ],
+ [
+ "37741081",
+ "2019-01-25",
+ "fet(geom-hull): extract from geom as new package"
+ ],
+ [
+ "68a26f44",
+ "2019-01-25",
+ "feat(geom-poly-utils): move barycentric fns from main geom pkg"
+ ],
+ ["74aa9543", "2019-01-25", "docs(geom): update readme"],
+ [
+ "f6a621a3",
+ "2019-01-25",
+ "docs(geom-subdiv-curve): add docs, minor updates subdivide()"
+ ],
+ ["87fddb89", "2019-01-25", "refactor(geom-api): minor update SubdivKernel"],
+ [
+ "598fca55",
+ "2019-01-25",
+ "refactor(poisson): minor optimizations, update PoissonOpts & defaults"
+ ],
+ [
+ "bee1c89c",
+ "2019-01-24",
+ "feat(poisson): add geom-api dep, optimize search"
+ ],
+ [
+ "9022d5bb",
+ "2019-01-24",
+ "perf(geom-accel): optimize single nearest point search, fix select()"
+ ],
+ ["18ce6c96", "2019-01-24", "refactor(geom-api): update ISpatialAccel"],
+ [
+ "5c98ed70",
+ "2019-01-24",
+ "refactor(geom-api): split into separate files, add ISpatialAccel"
+ ],
+ ["03352e11", "2019-01-23", "refactor(examples): update geom-tessel demo"],
+ ["b223603d", "2019-01-23", "refactor(geom): update to use geom-api types"],
+ [
+ "f7ad4d3b",
+ "2019-01-23",
+ "refactor(geom-tessellate): update to use geom-api types"
+ ],
+ [
+ "0964a956",
+ "2019-01-23",
+ "refactor(geom-subdiv-curve): update to use geom-api types"
+ ],
+ [
+ "5b674154",
+ "2019-01-23",
+ "refactor(geom-splines): update to use geom-api types"
+ ],
+ [
+ "8d878b99",
+ "2019-01-23",
+ "refactor(geom-resample): update to use geom-api types, add douglas-peucker"
+ ],
+ [
+ "27c4bf07",
+ "2019-01-23",
+ "refactor(geom-isec): update return types, use geom-api"
+ ],
+ ["47fb5e7b", "2019-01-23", "minor(geom-clip-convex): update imports"],
+ [
+ "e36e2213",
+ "2019-01-23",
+ "refactor(geom-arc): update to use geom-api types"
+ ],
+ [
+ "4e53293d",
+ "2019-01-23",
+ "feat(geom-api): extract from geom as new package"
+ ],
+ ["02231a3a", "2019-01-23", "build: update make-module script"],
+ ["407e9a54", "2019-01-23", "docs: update readmes"],
+ [
+ "fb532b8c",
+ "2019-01-23",
+ "refactor(geom): remove obsolete/extracted internal ops, update publics"
+ ],
+ [
+ "cb2429c4",
+ "2019-01-23",
+ "feat(geom-tessellate): extract from geom as new package"
+ ],
+ [
+ "324a5162",
+ "2019-01-23",
+ "feat(geom-subdiv-curve): extract from geom as new package"
+ ],
+ [
+ "5ef4c56d",
+ "2019-01-23",
+ "feat(geom-poly-utils): extract from geom as new package"
+ ],
+ [
+ "798de06b",
+ "2019-01-23",
+ "feat(geom-closest-point): add more fns, update pkg"
+ ],
+ [
+ "2054574a",
+ "2019-01-23",
+ "fix(geom-arc): add bounds return type, add missing re-export, update pkg"
+ ],
+ [
+ "2440ffdd",
+ "2019-01-23",
+ "feat(vectors): add corner2, clockwise2, signedAreaC2, isInArray fns"
+ ],
+ [
+ "9576920b",
+ "2019-01-23",
+ "build: simplify bundle-module script, update build cmds in all packages"
+ ],
+ [
+ "58e0a05d",
+ "2019-01-23",
+ "feat(vectors): add VecPair type alias, add copyVectors()"
+ ],
+ [
+ "15d67121",
+ "2019-01-23",
+ "feat(geom-clip-convex): extract from geom as new package"
+ ],
+ [
+ "027150a6",
+ "2019-01-23",
+ "feat(geom-splines): extract from geom as new package"
+ ],
+ [
+ "6cc8c738",
+ "2019-01-23",
+ "feat(geom-arc): extract from geom as new package (#69)"
+ ],
+ [
+ "79abd0ba",
+ "2019-01-23",
+ "feat(geom-resample): extract from geom as new package"
+ ],
+ [
+ "285dde49",
+ "2019-01-23",
+ "feat(geom-isec): extract from geom as new package"
+ ],
+ [
+ "4ff5005a",
+ "2019-01-23",
+ "feat(geom-closest-point): extract from geom as new package"
+ ],
+ ["cae83948", "2019-01-22", "feat(math): add minError() search"],
+ ["e998610c", "2019-01-22", "Publish"],
+ [
+ "35a0a59e",
+ "2019-01-22",
+ "fix(examples): update canvas examples due to recent package changes"
+ ],
+ ["c6023793", "2019-01-22", "feat(geom): add asPolyline() multi-fn"],
+ ["a017b10a", "2019-01-22", "feat(geom): add attrib support to PathBuilder"],
+ [
+ "8c1df496",
+ "2019-01-22",
+ "fix(geom): update Rect.toHiccup() format (separate widht/height vals)"
+ ],
+ [
+ "1d92c8c3",
+ "2019-01-22",
+ "feat(hdom-canvas): add color dep, update color attrib handling"
+ ],
+ [
+ "783d9faf",
+ "2019-01-22",
+ "docs(hiccup-svg): update readme, add attrib conv notes, fix example"
+ ],
+ [
+ "7f6011e7",
+ "2019-01-22",
+ "feat(hiccup-svg): add color dep, add attrib conversion for all elements"
+ ],
+ ["571fc704", "2019-01-21", "docs: update main readme"],
+ [
+ "124acdb1",
+ "2019-01-21",
+ "docs(poisson): add/update doc strings, readme, example screenshot"
+ ],
+ ["d098aff5", "2019-01-21", "Publish"],
+ [
+ "193f9d4a",
+ "2019-01-21",
+ "feat(poisson): re-import & update poisson package (MBP2010)"
+ ],
+ [
+ "8fd5728b",
+ "2019-01-21",
+ "fix(geom-accel): add root null check for select/selectKeys()"
+ ],
+ [
+ "3d499ad5",
+ "2019-01-21",
+ "refactor(geom): update tangentAt(), use direction() from vectors pkg"
+ ],
+ [
+ "07d5f8fc",
+ "2019-01-21",
+ "feat(vectors): migrate direction(), normalLeft/Right2() from geom pkg"
+ ],
+ ["862ed083", "2019-01-21", "docs(color): update readme"],
+ ["4cd3850b", "2019-01-21", "docs(vectors): update readme"],
+ ["d7053813", "2019-01-21", "docs(vector-pools): update readme"],
+ ["0d10d507", "2019-01-21", "docs: prune changelogs"],
+ ["348e7303", "2019-01-21", "Publish"],
+ [
+ "b9cea8cc",
+ "2019-01-21",
+ "refactor(vectors): update angleBetween*() fns, add absInner opt arg"
+ ],
+ ["a78bd87b", "2019-01-21", "feat(math): add absInnerAngle()"],
+ [
+ "7c1bf047",
+ "2019-01-21",
+ "refactor(examples): update gesture-analysis demo"
+ ],
+ ["822d8fba", "2019-01-21", "docs: update readme links / package names"],
+ [
+ "31595ebe",
+ "2019-01-20",
+ "Merge branch 'master' of github.com:thi-ng/umbrella"
+ ],
+ ["51723f99", "2019-01-20", "build(pointfree-lang): fix UMD identifier"],
+ [
+ "15e4cb2d",
+ "2019-01-20",
+ "Merge branch 'feature/vec-refactor' into develop"
+ ],
+ ["b5842fa7", "2019-01-20", "docs(geom): update readme"],
+ ["74b7a38a", "2019-01-20", "build(vectors): refix version to previous"],
+ [
+ "0779337d",
+ "2019-01-20",
+ "build: update vectors3 => vectors references everywhere"
+ ],
+ [
+ "0fd2498e",
+ "2019-01-20",
+ "build(vectors): replace old vectors package w/ vectors3 (renamed back to vectors)"
+ ],
+ ["4bd77082", "2019-01-20", "build: update geom3 => geom references"],
+ [
+ "682385a1",
+ "2019-01-20",
+ "build(geom): replace old geom package w/ geom3"
+ ],
+ [
+ "ff503669",
+ "2019-01-20",
+ "build: update depgraph script to display per package deps/dependents"
+ ],
+ ["2f26cf68", "2019-01-20", "docs(hdom-canvas): fix readme example"],
+ [
+ "8e2c8b5c",
+ "2019-01-20",
+ "refactor(geom): update withAttribs() return type"
+ ],
+ [
+ "9a507694",
+ "2019-01-20",
+ "feat(hdom-canvas): add ellipse() / ellipticArc(), update readme"
+ ],
+ [
+ "6f341c5c",
+ "2019-01-20",
+ "docs(vector-pools): fix AttribPool example layout"
+ ],
+ [
+ "db4a2018",
+ "2019-01-20",
+ "feat(geom): re-add barycentric conversions, collation mappers (still unused)"
+ ],
+ ["08f7bd16", "2019-01-20", "docs(matrices): add docstrings for most fns"],
+ [
+ "2aceab97",
+ "2019-01-20",
+ "feat(matrices): add m22 & m23 matrix converters"
+ ],
+ [
+ "311b0074",
+ "2019-01-20",
+ "feat(vectors): add default output handling for set/setC/setS fns"
+ ],
+ [
+ "12ad59a1",
+ "2019-01-20",
+ "refactor(examples): update geom-knn & geom-tessel demos"
+ ],
+ [
+ "5ca58032",
+ "2019-01-19",
+ "refactor(color): remove circular dependencies, update parseCss()"
+ ],
+ [
+ "5270143a",
+ "2019-01-19",
+ "refactor(defmulti): remove optional excess args from type sigs"
+ ],
+ ["5d087367", "2019-01-19", "refactor(examples): update geom-knn demo"],
+ [
+ "485051db",
+ "2019-01-19",
+ "refactor(geom-accel): update to use new vectors package"
+ ],
+ ["46bb8730", "2019-01-19", "build: remove obsolete geom2 package"],
+ [
+ "370f9280",
+ "2019-01-19",
+ "fix(hiccup-svg): convert path arc segment axis theta to degrees"
+ ],
+ [
+ "63b3a5d9",
+ "2019-01-19",
+ "feat(geom): update closestPoint(), add support for Arc"
+ ],
+ [
+ "0e5e7768",
+ "2019-01-19",
+ "feat(geom): add arcPointAt() helper, refactor Arc, minor other updates"
+ ],
+ ["62ec49fe", "2019-01-19", "fix(geom): update arcFrom2Points()"],
+ [
+ "910529dd",
+ "2019-01-19",
+ "feat(geom): add splitNearPoint() for line & polyline, update Sampler"
+ ],
+ [
+ "499e14b3",
+ "2019-01-18",
+ "refactor(geom): add tessellate() multi-fn, move/rename tessellators"
+ ],
+ [
+ "1d754eb9",
+ "2019-01-18",
+ "feat(geom): add splitNearPoint(), Sampler.closestT(), internal restructure"
+ ],
+ ["0451f8f6", "2019-01-18", "docs: update main readme"],
+ ["9623b4e9", "2019-01-18", "build(geom): add @thi.ng/compose dependency"],
+ ["9a4570bf", "2019-01-18", "minor(geom): minor updates"],
+ ["56f60372", "2019-01-18", "feat(geom): add flip() impls"],
+ [
+ "ebc9a981",
+ "2019-01-18",
+ "feat(geom): add pointAt() impls for Cubic/Quadratic"
+ ],
+ [
+ "eaf1a1b0",
+ "2019-01-18",
+ "feat(geom): add closestPoint() impls for splines, line, polygons, polyline"
+ ],
+ [
+ "627e20d4",
+ "2019-01-18",
+ "feat(geom): add transform() impls for Cubic/Quadratic"
+ ],
+ [
+ "d763621c",
+ "2019-01-18",
+ "feat(geom): add clippedLine(), minor update liangBarsky()"
+ ],
+ [
+ "cd59f664",
+ "2019-01-18",
+ "perf(geom): use squared dist for classifyPoint() (circle)"
+ ],
+ [
+ "e834597c",
+ "2019-01-18",
+ "feat(geom): add/update edges(), pointInside() & classifyPoint() impls"
+ ],
+ [
+ "f5a53ca0",
+ "2019-01-18",
+ "feat(geom): re-add vertices() impls for Cubic/Quadratic"
+ ],
+ ["3c9a7b0f", "2019-01-18", "feat(geom): re-add pathFromSvg()"],
+ [
+ "66267e22",
+ "2019-01-18",
+ "feat(geom): add intersection checks & intersects() multi-fn"
+ ],
+ ["f1f428a2", "2019-01-17", "feat(geom): re-add tessellators"],
+ ["9f91cfa1", "2019-01-17", "fix(api): update assert(), re-export mixin()"],
+ ["5f873009", "2019-01-17", "feat(vectors): add randMinMax"],
+ [
+ "d09cc795",
+ "2019-01-17",
+ "feat(geom): add clipConvex, scatter, warpPoints"
+ ],
+ [
+ "61cfb0f1",
+ "2019-01-16",
+ "feat(geom): add path builder, path & arc op impls"
+ ],
+ [
+ "e81d8c31",
+ "2019-01-16",
+ "feat(vectors): update/split angleBetween for 2d/3d"
+ ],
+ ["df49c71c", "2019-01-16", "Merge branch 'master' into develop"],
+ [
+ "a6e6f2af",
+ "2019-01-16",
+ "Merge pull request #68 from evilive3000/fix-cache-ltru"
+ ],
+ [
+ "c3762e97",
+ "2019-01-16",
+ "fix(cache): TLRU: expected behavior on getSet()"
+ ],
+ [
+ "2cc682a6",
+ "2019-01-16",
+ "fix(examples): add release() lifecycle method (hdom-inner-html)"
+ ],
+ ["4effc0ec", "2019-01-16", "feat(examples): add hdom-inner-html demo #67"],
+ [
+ "fea8fbe3",
+ "2019-01-16",
+ "feat(geom): re-add arc, cubic, quadratic ops, splitAt & other ops"
+ ],
+ ["18437026", "2019-01-16", "perf(vectors): update copy()"],
+ ["446a1832", "2019-01-16", "fix(vectors): minor update opt arg in VecOp*"],
+ ["66e45ccd", "2019-01-15", "build: update .npmignore files"],
+ [
+ "253b1be9",
+ "2019-01-15",
+ "Merge branch 'develop' into feature/vec-refactor"
+ ],
+ ["a75f1920", "2019-01-15", "docs: update/fix various readmes"],
+ ["1cfefdab", "2019-01-15", "refactor(malloc): update imports"],
+ ["c8d8a37e", "2019-01-15", "refactor(malloc): add/extract types to api.ts"],
+ [
+ "e04eb294",
+ "2019-01-11",
+ "refactor(defmulti): update imports, fix tests (cherry picked from cdd8659a)"
+ ],
+ [
+ "89dafa45",
+ "2019-01-15",
+ "build: update bundle-module script, disable minification in UMD outputs"
+ ],
+ ["b63d2589", "2019-01-15", "docs(transducers): update cat() docstring"],
+ ["b70e84d7", "2019-01-15", "build: update .npmignore files (add .meta)"],
+ ["9eb6f2d2", "2019-01-15", "build: update rollup dev dep"],
+ [
+ "491980c3",
+ "2019-01-15",
+ "Merge branch 'develop' into feature/vec-refactor"
+ ],
+ [
+ "d118464b",
+ "2019-01-15",
+ "test(vectors): update tests (due to math eqDelta change in eps handling)"
+ ],
+ [
+ "c0e3a0bc",
+ "2019-01-15",
+ "feat(geom): add temp geom3 package (another refactored version of geom2)"
+ ],
+ [
+ "e28f56ec",
+ "2019-01-15",
+ "Merge branch 'develop' into feature/vec-refactor"
+ ],
+ [
+ "50180096",
+ "2019-01-15",
+ "feat(math): update eqDelta w/ adaptive eps, rename old => eqDeltaFixed"
+ ],
+ [
+ "a39811c6",
+ "2019-01-15",
+ "feat(hiccup-svg): add ellipse shape type, update convert()"
+ ],
+ ["d14c94b2", "2019-01-15", "build: disable minification for UMD outputs"],
+ ["c12ad1cc", "2019-01-15", "test(vectors): update eqDelta tests"],
+ ["18aeb49c", "2019-01-15", "build(vectors): add memoize dep"],
+ ["61e40638", "2019-01-14", "feat(vectors): add addm/addmN, subm/submN"],
+ ["d5ba06a4", "2019-01-11", "build: remove obsolete temp package vectors2"],
+ [
+ "aa995682",
+ "2019-01-11",
+ "Merge branch 'develop' into feature/vec-refactor"
+ ],
+ ["507218aa", "2019-01-11", "minor(examples): update package-stats"],
+ [
+ "fcbc0c27",
+ "2019-01-11",
+ "build: update bundle-module, strip comments, add source maps & dev deps"
+ ],
+ ["048bdb1c", "2019-01-11", "refactor(vectors2): update imports"],
+ ["f3a5e0ff", "2019-01-11", "refactor(malloc): update imports"],
+ ["c41b96fb", "2019-01-11", "refactor(geom): update imports, fix tests"],
+ ["cdd8659a", "2019-01-11", "refactor(defmulti): update imports, fix tests"],
+ ["c9da5485", "2019-01-11", "build(examples): update geom-tessel tsconfig"],
+ [
+ "82f8ef27",
+ "2019-01-10",
+ "revert(hiccup-svg): undo merge mistake in convert.ts"
+ ],
+ [
+ "a7ea1fc3",
+ "2019-01-10",
+ "build(vectors): build: update package scripts, outputs, imports"
+ ],
+ [
+ "d4eddef2",
+ "2019-01-10",
+ "build(vectors2): build: update package scripts, outputs, imports"
+ ],
+ [
+ "372c199c",
+ "2019-01-10",
+ "build(vector-pools): build: update package scripts, outputs, imports"
+ ],
+ [
+ "5d25c1ae",
+ "2019-01-10",
+ "build(matrices): build: update package scripts, outputs, imports"
+ ],
+ [
+ "e247386c",
+ "2019-01-10",
+ "build(geom): build: update package scripts, outputs, imports"
+ ],
+ [
+ "4e48cb98",
+ "2019-01-10",
+ "build(color): build: update package scripts, outputs, imports"
+ ],
+ [
+ "d7d237d0",
+ "2019-01-10",
+ "Merge branch 'develop' into feature/vec-refactor"
+ ],
+ ["ab159105", "2019-01-10", "test(api): fix import in mixin test"],
+ ["c91df5fc", "2019-01-10", "build: add test-only yarn script"],
+ [
+ "6be3a871",
+ "2019-01-10",
+ "build: fix cjs output path in bundle-module script"
+ ],
+ [
+ "3741663f",
+ "2019-01-10",
+ "Merge branch 'feature/multi-output' into develop"
+ ],
+ ["f6e3cdd5", "2019-01-10", "docs(examples): add troubleshooting notes"],
+ [
+ "bbe636f4",
+ "2019-01-10",
+ "fix(examples): add quote escaping in xml-converter"
+ ],
+ [
+ "bb3db27c",
+ "2019-01-10",
+ "build(examples): update tsconfig for commit-table-ssr"
+ ],
+ [
+ "cc26ae98",
+ "2019-01-10",
+ "docs(examples): update readmes to refer to wiki build instructions"
+ ],
+ [
+ "8f270dfa",
+ "2019-01-10",
+ "build: update project tpl scripts, ignore files"
+ ],
+ ["1f01bf8f", "2019-01-10", "build: update make-module script"],
+ [
+ "4df9ec41",
+ "2019-01-10",
+ "build: update bundle-module outputs, emit meta data, update .gitignore"
+ ],
+ ["a894a24a", "2019-01-10", "fix(transducers): update juxt re-export"],
+ [
+ "5c3080d7",
+ "2019-01-10",
+ "build: temporarily add webpack until parcel-bundler/parcel#2513 is fixed"
+ ],
+ [
+ "bac59db6",
+ "2019-01-10",
+ "feat(examples): add package-stats charting example"
+ ],
+ ["27438f9c", "2019-01-09", "minor(examples): cleanup"],
+ ["4e28b5a6", "2019-01-09", "build(examples): update dev deps"],
+ [
+ "1618c136",
+ "2019-01-09",
+ "build(examples): enable scope hoisting in `yarn build` scripts"
+ ],
+ ["d2d7952e", "2019-01-08", "minor: update imports in readme's / examples"],
+ ["3f1b79de", "2019-01-08", "build: update .gitignore"],
+ [
+ "3747ad7b",
+ "2019-01-08",
+ "refactor(examples): update imports & deps of all examples"
+ ],
+ ["3b8576f3", "2019-01-08", "fix(csp): disable __State reverse enum lookup"],
+ [
+ "d89f28fd",
+ "2019-01-08",
+ "fix(rstream-log): remove __Level reverse enum lookup, update Level (non const)"
+ ],
+ [
+ "19449e8d",
+ "2019-01-08",
+ "fix(rstream-gestures): disable __GestureType reverse enum export"
+ ],
+ [
+ "b238a3a9",
+ "2019-01-08",
+ "fix(rstream): disable __State reverse enum lookups"
+ ],
+ ["227be4b5", "2019-01-08", "fix(pointfree-lang): update NodeType handling"],
+ [
+ "b198c195",
+ "2019-01-08",
+ "fix(hiccup-markdown): re-export TagFactories interface"
+ ],
+ [
+ "f912a84a",
+ "2019-01-08",
+ "build: update package scripts, outputs, imports in remaining packages"
+ ],
+ [
+ "b54b703d",
+ "2019-01-08",
+ "build: update package build scripts & outputs, imports in ~50 packages"
+ ],
+ [
+ "f913d7bf",
+ "2019-01-08",
+ "build(api): update package build scripts / outputs"
+ ],
+ [
+ "7fee8573",
+ "2019-01-08",
+ "build: update shared dev deps, rewrite bundle-module script"
+ ],
+ [
+ "4e768394",
+ "2019-01-07",
+ "Merge branch 'develop' into feature/multi-output"
+ ],
+ ["d3944fb0", "2019-01-07", "build: switch travis to use node 10"],
+ [
+ "a42b2e11",
+ "2019-01-07",
+ "refactor(rstream-query): use rstream nextID() util (fix regression)"
+ ],
+ [
+ "3e1467fa",
+ "2019-01-07",
+ "refactor(rstream-log): use rstream nextID() util (fix regression)"
+ ],
+ [
+ "c28ce64f",
+ "2019-01-07",
+ "Merge branch 'develop' into feature/multi-output"
+ ],
+ [
+ "b31065bb",
+ "2019-01-07",
+ "Merge branch 'develop' of github.com:thi-ng/umbrella into develop"
+ ],
+ [
+ "28f77e60",
+ "2019-01-07",
+ "build: update tsconfig & .npmignore files in all packages"
+ ],
+ [
+ "4be67c59",
+ "2019-01-07",
+ "build: prep api, atom, bench, binary, checks, equiv, errors, paths for multi outputs"
+ ],
+ [
+ "3df29305",
+ "2019-01-06",
+ "Merge pull request #66 from acarabott/feature/scaleWithCenter"
+ ],
+ [
+ "92bce73d",
+ "2019-01-06",
+ "fix(vectors): fix NaNs in Mat23.scaleWithCenter"
+ ],
+ [
+ "d1e275bd",
+ "2019-01-05",
+ "fix(rstream): avoid Subscription ctor to workaround parceljs build issue"
+ ],
+ [
+ "e201ca8d",
+ "2019-01-05",
+ "refactor(rstream): replace Subscription.NEXT_ID w/ nextID() util"
+ ],
+ [
+ "a313d830",
+ "2019-01-05",
+ "build: add/update dev deps, update build scripts in all packages"
+ ],
+ ["ce4b5283", "2019-01-05", "refactor(transducers-hdom): use arrow fns"],
+ ["e103d740", "2019-01-05", "refactor(transducers-fsm): use arrow fns"],
+ ["48670f58", "2019-01-05", "refactor(memoize): use arrow fns"],
+ ["5d530286", "2019-01-05", "refactor(csp): use arrow fns"],
+ ["e9f0542a", "2019-01-05", "refactor(transducers): use arrow fns"],
+ ["6eba2415", "2019-01-05", "refactor(rle-pack): use arrow fns"],
+ ["762db4e3", "2019-01-05", "refactor(rstream-csp): use arrow fns"],
+ ["8904cb4c", "2019-01-05", "refactor(rstream-gestures): use arrow fns"],
+ ["393d23ed", "2019-01-05", "minor(rstream-query): update formatting"],
+ ["14c00b29", "2019-01-05", "refactor(rstream-log): use arrow fns"],
+ ["ff9f8e0c", "2019-01-05", "minor(rstream-graph): update formatting"],
+ [
+ "6c3ea083",
+ "2019-01-05",
+ "refactor(rstream): use arrow fns, update formatting"
+ ],
+ ["e0f7cb85", "2019-01-05", "minor(resolve-map): update formatting"],
+ ["560207a0", "2019-01-05", "refactor(math): use arrow fns"],
+ ["ad5574b9", "2019-01-05", "refactor(iterators): use arrow fns"],
+ ["3b74de92", "2019-01-05", "refactor(hiccup-css): use arrow fns"],
+ ["d9f4bd3f", "2019-01-05", "refactor(errors): use arrow fns"],
+ ["35377bd5", "2019-01-05", "refactor(compose): use arrow fns"],
+ ["025412a0", "2019-01-05", "refactor(compare): use arrow fns"],
+ [
+ "aaf2723f",
+ "2019-01-05",
+ "refactor(associative): use arrow fns, update formatting"
+ ],
+ ["30c59fd5", "2019-01-05", "Merge branch 'feature/arrowfns' into develop"],
+ ["fc22a27e", "2019-01-05", "refactor(paths): update all as arrow fns"],
+ ["b70a3e1a", "2019-01-05", "refactor(checks): update all as arrow fns"],
+ ["3038a844", "2019-01-04", "docs(hiccup-markdown): update readme"],
+ ["634e2504", "2019-01-04", "Publish"],
+ [
+ "343280d8",
+ "2019-01-04",
+ "refactor(examples): update MD demo, use parser from hiccup-markdown package"
+ ],
+ [
+ "35db07fe",
+ "2019-01-04",
+ "feat(hiccup-markdown): add & refactor markdown parser (from example), update docs"
+ ],
+ ["5f09d3ec", "2019-01-04", "fix(examples): add missing return types"],
+ [
+ "ffc68cef",
+ "2019-01-04",
+ "Merge branch 'develop' into feature/vec-refactor"
+ ],
+ ["6030753a", "2019-01-04", "Publish"],
+ ["492992d7", "2019-01-04", "docs: update package list in main readme"],
+ ["17c14b49", "2019-01-04", "docs(examples): update readmes"],
+ ["0a505c1a", "2019-01-04", "docs(fsm): update readme & package"],
+ ["98081e3a", "2019-01-04", "Merge branch 'feature/fsm' into develop"],
+ [
+ "81e3fc79",
+ "2019-01-04",
+ "feat(fsm): add never(), optimize alts(), add docs for all matchers"
+ ],
+ ["297356dd", "2019-01-04", "docs(examples): update readme"],
+ [
+ "120a7afd",
+ "2019-01-04",
+ "refactor(examples): remove 2nd table row in collectTable()"
+ ],
+ [
+ "b60bf31a",
+ "2019-01-04",
+ "refactor(examples): cleanup parser & rules, tag handling, update readme"
+ ],
+ ["9585b86e", "2019-01-04", "feat(examples): add initial MD table support"],
+ ["a9336075", "2019-01-04", "feat(fsm): update not()"],
+ [
+ "980d4888",
+ "2019-01-04",
+ "feat(examples): update MD parser, styles, readme"
+ ],
+ [
+ "992f31ac",
+ "2019-01-04",
+ "feat(fsm): add always(), lit(), not(), cleanup imports"
+ ],
+ [
+ "995a104b",
+ "2019-01-03",
+ "refactor(examples): update title & blockquote parsers/style"
+ ],
+ [
+ "4a9bb3d6",
+ "2019-01-03",
+ "feat(fsm): add support for lookahead-1, add docs"
+ ],
+ ["f9cece70", "2019-01-03", "refactor(examples): update MD title parser"],
+ [
+ "55671fc7",
+ "2019-01-03",
+ "feat(fsm): add repeat(), success(), refactor all matchers"
+ ],
+ [
+ "36cadc96",
+ "2019-01-03",
+ "feat(examples): update tags, add hrule, blockquote, update CSS / readme"
+ ],
+ [
+ "b04e0747",
+ "2019-01-03",
+ "feat(examples): update MD parser, add parse rules & custom tag support"
+ ],
+ ["9875cda8", "2019-01-03", "feat(examples): add markdown parser example"],
+ ["e03390b1", "2019-01-03", "feat(fsm): import fsm package"],
+ ["731ede02", "2019-01-02", "build: update deps (defmulti / transducers)"],
+ [
+ "5b98d55e",
+ "2019-01-02",
+ "Merge branch 'develop' into feature/vec-refactor"
+ ],
+ ["26a29cf1", "2019-01-02", "Publish"],
+ [
+ "1d29153c",
+ "2019-01-02",
+ "feat(defmulti): add opt fallback arg for defmultiN(), update docs"
+ ],
+ [
+ "cd175866",
+ "2019-01-02",
+ "fix(transducers): add reduced() handling for cat()"
+ ],
+ [
+ "161199f4",
+ "2019-01-02",
+ "feat(geom): add/rename type ids, add sphere, isec fns"
+ ],
+ [
+ "2e6d1965",
+ "2019-01-02",
+ "fix(vectors): disable default prefix for random*() fns"
+ ],
+ ["2fb2aa32", "2019-01-01", "build: update deps"],
+ [
+ "ba755f8a",
+ "2019-01-01",
+ "Merge branch 'develop' into feature/vec-refactor"
+ ],
+ ["7729d993", "2019-01-01", "Publish"],
+ [
+ "488698a6",
+ "2019-01-01",
+ "feat(defmulti): add addAll(), add/update doc strings"
+ ],
+ [
+ "d47798ed",
+ "2019-01-01",
+ "refactor(examples): update gesture analysis demo"
+ ],
+ [
+ "b10c8d67",
+ "2019-01-01",
+ "refactor(geom): prep/update intersectShape() w/ new dispatch fn"
+ ],
+ ["c0008a7a", "2018-12-31", "minor(geom): update formatting"],
+ ["7cf5f7c4", "2018-12-31", "refactor(geom): update subdivKernel* fns"],
+ [
+ "76c343c3",
+ "2018-12-31",
+ "feat(geom): add pointAt/tangentAt impls for circle/line"
+ ],
+ ["b9125168", "2018-12-31", "feat(geom): add ray skeleton impl"],
+ ["c7052171", "2018-12-31", "fix(vectors): cartesian2/3"],
+ [
+ "52fb9399",
+ "2018-12-31",
+ "feat(matrices): add quatToMat33, update readme"
+ ],
+ [
+ "4c6fe066",
+ "2018-12-31",
+ "fix(matrices): re-add persp divide in mulV344()"
+ ],
+ [
+ "4f024918",
+ "2018-12-31",
+ "fix(matrices): scaleWithCenter* (add missing concat() arg)"
+ ],
+ [
+ "6d58c309",
+ "2018-12-30",
+ "docs: rename pd image (because of GH CDN issues), update readme"
+ ],
+ ["cfc88744", "2018-12-30", "docs(color): add porterduff image"],
+ ["83a46311", "2018-12-30", "docs: fix readme links"],
+ ["0ee2be0a", "2018-12-30", "docs: update readmes"],
+ [
+ "10fc9cc5",
+ "2018-12-30",
+ "docs(matrices): update readme (add full API list)"
+ ],
+ ["4f2f512c", "2018-12-30", "build(matrices): update deps"],
+ [
+ "ae7a039e",
+ "2018-12-30",
+ "feat(matrices): add cwise matrix multiply, rename mul* => mulM*, move mulQ"
+ ],
+ ["c70189aa", "2018-12-30", "docs(vectors): update readme"],
+ ["7e19e7b4", "2018-12-30", "minor(vectors): minor update vop()"],
+ [
+ "66036e6c",
+ "2018-12-30",
+ "fix(vectors): update gvec prop lookup & interning"
+ ],
+ [
+ "6c9fe88e",
+ "2018-12-30",
+ "refactor(vectors): rename addWeighted*() => addW*(), update package kw"
+ ],
+ [
+ "064d61c5",
+ "2018-12-30",
+ "docs(vectors): update readme & package keywords"
+ ],
+ ["d462ae0a", "2018-12-30", "perf(matrices): use setC6() for M23 ops"],
+ [
+ "809383c9",
+ "2018-12-30",
+ "refactor(matrices): extract m33to44/m44to33() into own files, update re-exports"
+ ],
+ ["0ee306a2", "2018-12-30", "feat(vectors): add setC6()"],
+ [
+ "0b07ac86",
+ "2018-12-30",
+ "fix(matrices): inject default output handling code"
+ ],
+ [
+ "b5adea6f",
+ "2018-12-30",
+ "refactor(matrices): replace setValues*() w/ setC*(), update dotC*() use"
+ ],
+ ["b03b9192", "2018-12-30", "feat(matrices): add quaternion fns"],
+ [
+ "06dd9634",
+ "2018-12-30",
+ "fix(vectors): result handling jitter()/project()"
+ ],
+ [
+ "745053c5",
+ "2018-12-30",
+ "refactor(vector): minor updates arg/result handling"
+ ],
+ [
+ "cfe333fe",
+ "2018-12-30",
+ "refactor(vectors): simplify various ops, improve tpl re-use"
+ ],
+ ["6b3608da", "2018-12-30", "fix(vectors): sum() impls"],
+ [
+ "9b789bca",
+ "2018-12-30",
+ "refactor(vectors): simplify various ops, use setC*()"
+ ],
+ [
+ "809bf9b9",
+ "2018-12-30",
+ "refactor(vectors): rename dotValues*() => dotC*()"
+ ],
+ ["6857f347", "2018-12-30", "feat(vectors): add clamp01(), clamp11() fns"],
+ [
+ "dc6f4661",
+ "2018-12-30",
+ "refactor(vectors): add defMathOp()/defMathNOp(), update basic math ops"
+ ],
+ ["784f5c34", "2018-12-29", "build: update deps"],
+ [
+ "b849bd1b",
+ "2018-12-29",
+ "feat(color): add alpha()/setAlpha(), add docs, re-exports, update readme"
+ ],
+ [
+ "e7bb46b7",
+ "2018-12-29",
+ "feat(color): add Hue enum, closestHue*() fns, namedHueRgba()"
+ ],
+ ["172f5070", "2018-12-29", "docs(color): update readme"],
+ ["9d4fffa1", "2018-12-29", "build(color): add package keywords"],
+ [
+ "aa303442",
+ "2018-12-29",
+ "feat(color): add convert() fallback, minor other updates"
+ ],
+ ["445b8c1f", "2018-12-29", "feat(color): add luminance defmulti"],
+ ["36b7d038", "2018-12-29", "refactor(color): rename, update matrix ops"],
+ [
+ "f2cac286",
+ "2018-12-29",
+ "refactor(color): update type factory fns & ensureArgs()"
+ ],
+ [
+ "a0f19956",
+ "2018-12-29",
+ "Merge branch 'develop' into feature/vec-refactor"
+ ],
+ ["b2cab4d0", "2018-12-29", "Publish"],
+ [
+ "a90a712c",
+ "2018-12-29",
+ "fix(transducers): interpolate() interval selection, add minPos/maxPos"
+ ],
+ [
+ "b0d28788",
+ "2018-12-29",
+ "refactor(color): update multiCosineGradient(), update readme"
+ ],
+ [
+ "0546839d",
+ "2018-12-29",
+ "refactor(color): ColorMode const enum, update convert() dispatcher"
+ ],
+ ["a5c53c38", "2018-12-29", "fix(color): add/update conversions"],
+ ["04c38372", "2018-12-28", "refactor(color): update converters"],
+ [
+ "4ca7a23d",
+ "2018-12-28",
+ "Merge branch 'feature/vec-refactor' into feature/color"
+ ],
+ [
+ "a72562cf",
+ "2018-12-28",
+ "Merge branch 'develop' into feature/vec-refactor"
+ ],
+ ["eae8d140", "2018-12-28", "Publish"],
+ [
+ "846ab5ca",
+ "2018-12-28",
+ "feat(transducers): add interpolate() iterator, update readme"
+ ],
+ ["dbbb26cf", "2018-12-28", "feat(color): add multiCosineGradient()"],
+ ["46013514", "2018-12-28", "refactor(color): update conversions"],
+ ["0a9456bf", "2018-12-28", "docs(color): update readme"],
+ ["1c28c22b", "2018-12-28", "fix(color): HCYA field names"],
+ [
+ "e930d736",
+ "2018-12-28",
+ "feat(color): add more color spaces, refactor, rename, simplify"
+ ],
+ [
+ "714381de",
+ "2018-12-27",
+ "perf(color): refactor porterDiff as HOF, update all PD ops, add docs"
+ ],
+ [
+ "d0b1e60e",
+ "2018-12-27",
+ "refactor(color): add AColor, re-use for existing wrappers, update deps"
+ ],
+ [
+ "f515f6cb",
+ "2018-12-27",
+ "Merge branch 'feature/vec-refactor' into feature/color"
+ ],
+ ["ef4562a2", "2018-12-27", "build: update deps"],
+ [
+ "95ac1e86",
+ "2018-12-27",
+ "Merge branch 'feature/vec-refactor' into feature/color"
+ ],
+ [
+ "5b49e70d",
+ "2018-12-27",
+ "Merge branch 'develop' into feature/vec-refactor"
+ ],
+ ["ea0dee0f", "2018-12-27", "Publish"],
+ [
+ "3f9b2443",
+ "2018-12-27",
+ "refactor(pointfree): re-use comp() from thi.ng/compose"
+ ],
+ ["1ebfea95", "2018-12-26", "fix(compose): fix comp() for arities >10"],
+ [
+ "0061b21f",
+ "2018-12-26",
+ "feat(compose): add threadFirst/Last, rename compI => compL"
+ ],
+ ["5788646f", "2018-12-26", "feat(color): add/update class wrappers"],
+ [
+ "7a735f2d",
+ "2018-12-25",
+ "refactor(vectors): update gvec, Vec2/3/4, extract iterator impl"
+ ],
+ [
+ "7bcd21ac",
+ "2018-12-24",
+ "Merge branch 'feature/vec-refactor' into feature/color"
+ ],
+ [
+ "aa5ad976",
+ "2018-12-24",
+ "fix(vectors): update field names in declareIndex()"
+ ],
+ [
+ "0caf599b",
+ "2018-12-24",
+ "Merge branch 'feature/vec-refactor' into feature/color"
+ ],
+ [
+ "5620483b",
+ "2018-12-24",
+ "refactor(vector-pools): update IVector refs (new field names)"
+ ],
+ [
+ "0c0fce6a",
+ "2018-12-24",
+ "feat(vectors): update gvec, add generic setS()"
+ ],
+ [
+ "6e6a33ce",
+ "2018-12-24",
+ "refactor(vectors): update IVector (rename fields), add ICopyView"
+ ],
+ [
+ "c2556c2e",
+ "2018-12-24",
+ "refactor(vectors): update declareIndices, extract single declareIndex fn"
+ ],
+ [
+ "610699ab",
+ "2018-12-24",
+ "feat(color): add RGBA/HSLA wrapper types, update convert"
+ ],
+ [
+ "404ac54b",
+ "2018-12-24",
+ "feat(color): add HSI converters, add clampH(), minor refactors"
+ ],
+ [
+ "a5d2f98e",
+ "2018-12-23",
+ "feat(color): add Porter-Duff ops, pre/post-multiply, update types"
+ ],
+ ["8fa05c3d", "2018-12-22", "feat(math): add constants"],
+ ["eb5f6391", "2018-12-22", "feat(vectors): add setC()"],
+ ["0b51ef1c", "2018-12-22", "feat(color): add new package"],
+ [
+ "946af71e",
+ "2018-12-21",
+ "Merge branch 'feature/vec-refactor' into feature/color"
+ ],
+ [
+ "0099c27c",
+ "2018-12-21",
+ "Merge branch 'develop' into feature/vec-refactor"
+ ],
+ ["ec6084b5", "2018-12-21", "Publish"],
+ [
+ "6618c226",
+ "2018-12-21",
+ "feat(hdom): add support for event listener options, update readme"
+ ],
+ [
+ "696a0ce3",
+ "2018-12-21",
+ "Merge branch 'feature/vec-refactor' into feature/color"
+ ],
+ ["f617c7ec", "2018-12-21", "Merge branch 'develop' into feature/color"],
+ [
+ "e49d3caa",
+ "2018-12-21",
+ "Merge branch 'develop' into feature/vec-refactor"
+ ],
+ ["62418f90", "2018-12-21", "Publish"],
+ [
+ "9f48a760",
+ "2018-12-21",
+ "fix(hdom): fix #63 update removeChild() (IE11)"
+ ],
+ ["e2874932", "2018-12-21", "build(geom): update deps"],
+ ["c8e25bb0", "2018-12-21", "build(vectors): update deps"],
+ [
+ "b130a944",
+ "2018-12-21",
+ "refactor(vectors): rename mapBufferV* fns => mapV*"
+ ],
+ [
+ "8b582cb5",
+ "2018-12-21",
+ "refactor(vectors): extract & reuse Vec2/3/4 static fns, add copyView()"
+ ],
+ [
+ "a916f3e7",
+ "2018-12-20",
+ "Merge branch 'develop' into feature/vec-refactor"
+ ],
+ ["802fab85", "2018-12-20", "Publish"],
+ [
+ "61b7b117",
+ "2018-12-20",
+ "feat(iterators): add `children` arg for walk()/walkIterator()"
+ ],
+ ["f44070e4", "2018-12-20", "Publish"],
+ ["caad2d38", "2018-12-20", "docs: update package list"],
+ [
+ "9984c51d",
+ "2018-12-20",
+ "Merge branch 'feature/hiccup-markdown' into develop"
+ ],
+ ["58f591e8", "2018-12-20", "feat(hiccup-markdown): add new package"],
+ ["df38394e", "2018-12-20", "refactor(hiccup): export normalize() fn"],
+ ["9884a67c", "2018-12-19", "build: update depgraph script"],
+ ["2a43bf37", "2018-12-19", "Publish"],
+ [
+ "a78c6a7f",
+ "2018-12-19",
+ "feat(intervals): add Interval.parse(), update docs, readme, deps"
+ ],
+ [
+ "6d753f98",
+ "2018-12-18",
+ "Merge branch 'develop' into feature/vec-refactor"
+ ],
+ ["47782618", "2018-12-18", "Publish"],
+ ["8545ded8", "2018-12-18", "Merge branch 'develop'"],
+ ["82814288", "2018-12-18", "docs: update package list"],
+ ["14a8a634", "2018-12-18", "docs: update package list"],
+ ["b0a31426", "2018-12-18", "feat(intervals): add new package"],
+ ["33bcd152", "2018-12-17", "Publish"],
+ ["04705053", "2018-12-17", "fix(transducers): add return type for range()"],
+ ["aa128298", "2018-12-17", "build: update deps"],
+ [
+ "6201c9b8",
+ "2018-12-17",
+ "Merge branch 'develop' into feature/vec-refactor"
+ ],
+ ["1d5278f8", "2018-12-16", "Publish"],
+ ["6d85c626", "2018-12-16", "fix(hdom): life cycle init / release handling"],
+ ["159ce8f6", "2018-12-15", "Publish"],
+ ["a3290b08", "2018-12-15", "build: update deps in make-* scripts"],
+ ["32847a91", "2018-12-15", "build(examples): update deps"],
+ [
+ "aac8b6f6",
+ "2018-12-15",
+ "feat(hiccup-css): add animation(), add test & update readme"
+ ],
+ [
+ "3b3e5032",
+ "2018-12-14",
+ "fix(pointfree-lang): update parser stubs (TS3.2.x)"
+ ],
+ ["0436c506", "2018-12-14", "build: update dev deps in all packages"],
+ ["dae12057", "2018-12-14", "minor(hiccup-carbon-icons): fix repo link"],
+ ["a7491117", "2018-12-14", "Publish"],
+ ["d734b570", "2018-12-14", "docs: update package list (main readme)"],
+ [
+ "da441c18",
+ "2018-12-14",
+ "feat(hdom-components): merge button & button group attribs"
+ ],
+ ["6b04e160", "2018-12-14", "feat(hiccup-carbon-icons): add new package"],
+ [
+ "b86737a6",
+ "2018-12-14",
+ "feat(examples): update xml-converter cli arg handling (var name)"
+ ],
+ ["87e6cb31", "2018-12-13", "docs: update main readme"],
+ [
+ "388c14b4",
+ "2018-12-13",
+ "Merge branch 'develop' into feature/vec-refactor"
+ ],
+ ["e36a7ee0", "2018-12-13", "Publish"],
+ ["151e1422", "2018-12-13", "docs(hdom): update readme"],
+ ["fbbf5f90", "2018-12-13", "minor(examples): update source links"],
+ ["582c69ff", "2018-12-13", "Merge branch 'feature/hdom-skip' into develop"],
+ ["fea3d777", "2018-12-13", "fix(examples): minor update hdom-benchmark2"],
+ [
+ "8155bf4b",
+ "2018-12-13",
+ "feat(examples): add proper DOM stats calculation, remove interlacing (obsolete)"
+ ],
+ [
+ "2ff75609",
+ "2018-12-13",
+ "perf(examples): update __skip handling in hdom-benchmark2"
+ ],
+ [
+ "92c11107",
+ "2018-12-13",
+ "feat(examples): improve axis tick resolution estimate in crypto-chart"
+ ],
+ [
+ "c3b1528f",
+ "2018-12-13",
+ "feat(examples): add more UI & controls to hdom-benchmark2"
+ ],
+ [
+ "a40c0f5e",
+ "2018-12-13",
+ "minor(hdom-components): minor updates fpsCounter()"
+ ],
+ ["10afa0d5", "2018-12-13", "docs(examples): update hdom-skip comments"],
+ ["db4d0a58", "2018-12-13", "Merge branch 'develop' into feature/hdom-skip"],
+ ["1b298f76", "2018-12-13", "fix(strings): update kebab()"],
+ ["8dcc73a1", "2018-12-13", "feat(strings): add slugify()"],
+ ["ba0d5e5c", "2018-12-13", "docs(examples): update readme list"],
+ [
+ "73a298df",
+ "2018-12-13",
+ "refactor(hdom-components): emit int coords for sparkline"
+ ],
+ ["baa1dfef", "2018-12-13", "feat(examples): add hdom-benchmark2 example"],
+ [
+ "ebd33808",
+ "2018-12-13",
+ "feat(hdom-components): add FPS counter & sparkline components, update deps"
+ ],
+ [
+ "c1fecc4d",
+ "2018-12-12",
+ "refactor(hdom-mock): update text node handling, tests, add readme"
+ ],
+ ["1dc6e721", "2018-12-12", "minor(hdom): intern strings"],
+ ["046ab206", "2018-12-12", "minor(hiccup): reformat"],
+ [
+ "d3500df5",
+ "2018-12-12",
+ "feat(hiccup): add __skip support, add test, update readme"
+ ],
+ [
+ "5609d24a",
+ "2018-12-11",
+ "feat(hdom-mock): add hdom-mock package and implementation, add initial tests"
+ ],
+ [
+ "fe9a3120",
+ "2018-12-11",
+ "refactor(hdom): update createTextElement() sig, update docstrings"
+ ],
+ [
+ "6db31708",
+ "2018-12-11",
+ "fix(transducers-hdom): integrate recent hdom updates"
+ ],
+ [
+ "43327c9e",
+ "2018-12-11",
+ "refactor(hdom-canvas): update HDOMImplementation, add __skip support, reformat"
+ ],
+ ["69b29ad7", "2018-12-11", "docs(hdom): add __skip attrib docstring"],
+ [
+ "6f2e8ee0",
+ "2018-12-11",
+ "refactor(hdom): extend & simplify HDOMImplementation, update DEFAULT_IMPL"
+ ],
+ ["8dc755d9", "2018-12-10", "minor(examples): fix typo"],
+ ["6d387dbd", "2018-12-10", "feat(examples): add hdom-skip example"],
+ [
+ "a4e67362",
+ "2018-12-10",
+ "feat(hdom): add initial __skip ctrl attrib handling in diffTree()"
+ ],
+ [
+ "42eab0bc",
+ "2018-12-09",
+ "Merge branch 'develop' into feature/vec-refactor"
+ ],
+ [
+ "97bf837e",
+ "2018-12-09",
+ "doc(vectors): update readme (add note about vectors3 & matrices)"
+ ],
+ [
+ "ceb404c4",
+ "2018-12-09",
+ "doc(geom): update readme (add note about geom2)"
+ ],
+ ["6726925b", "2018-12-09", "docs: add links to WIP packages"],
+ ["71300e92", "2018-12-09", "docs: update main readme"],
+ ["20e0884b", "2018-12-09", "Publish"],
+ ["19b0a554", "2018-12-09", "perf(diff): further array caching/reuse"],
+ [
+ "cfdc4d76",
+ "2018-12-08",
+ "Merge branch 'develop' into feature/vec-refactor"
+ ],
+ ["6e361d62", "2018-12-08", "Publish"],
+ [
+ "a7e9def5",
+ "2018-12-08",
+ "refactor(hdom-canvas): update diffArray call site"
+ ],
+ ["c3f6f98c", "2018-12-08", "refactor(hdom): minor update diff call sites"],
+ [
+ "64feacfb",
+ "2018-12-08",
+ "refactor(diff): flatten linear edit logs, update readme & arg order"
+ ],
+ ["b627f60c", "2018-12-08", "Merge branch 'feature/hdom-perf' into develop"],
+ [
+ "8165005c",
+ "2018-12-08",
+ "refactor(equiv): minor update (intern string consts)"
+ ],
+ [
+ "899941f0",
+ "2018-12-08",
+ "perf(hdom-canvas): update diffTree() to compute edit dist only"
+ ],
+ [
+ "e9b067b7",
+ "2018-12-08",
+ "refactor(hdom): update diffTree & diffAttributes (@thi.ng/diff updates)"
+ ],
+ [
+ "e8356cd2",
+ "2018-12-08",
+ "perf(diff): flatten linear edit logs, rewrite diffObject(), add DiffMode"
+ ],
+ [
+ "d1ee6d9e",
+ "2018-12-08",
+ "perf(diff): reduce amount of temp/internal array allocs (diffArray)"
+ ],
+ [
+ "6c6da825",
+ "2018-12-08",
+ "feat(diff): add fast paths for simple cases, add tests, refactor as arrow fns"
+ ],
+ [
+ "34b515b2",
+ "2018-12-08",
+ "Merge branch 'develop' into feature/vec-refactor"
+ ],
+ [
+ "9878c556",
+ "2018-12-03",
+ "feat(examples): add ClojureX talk-slides example (presentation tool)"
+ ],
+ [
+ "b08b8e55",
+ "2018-12-01",
+ "Merge branch 'develop' into feature/vec-refactor"
+ ],
+ ["88efaa91", "2018-12-01", "Publish"],
+ [
+ "ba8bad68",
+ "2018-12-01",
+ "minor(transducers): manual array destructuring in reduce/iterator"
+ ],
+ [
+ "0e77d2c6",
+ "2018-12-01",
+ "refactor(transducers): implement range() as class w/ IReducible impl"
+ ],
+ [
+ "57836390",
+ "2018-12-01",
+ "refactor(examples): update geom-tessel example to use new geom lib"
+ ],
+ [
+ "0b351e12",
+ "2018-12-01",
+ "refactor(examples): move gradient defs (mandelbrot)"
+ ],
+ [
+ "896855de",
+ "2018-12-01",
+ "feat(geom): re-add arcLength() impls, update imports"
+ ],
+ [
+ "d4172ee3",
+ "2018-12-01",
+ "refactor(geom): update everything to use new vectors package"
+ ],
+ [
+ "68806d93",
+ "2018-11-30",
+ "feat(vectors): add 2d/3d constants, update Vec2/3"
+ ],
+ [
+ "87510f74",
+ "2018-11-30",
+ "feat(vectors): add addWeighted, eqDeltaArray, mixCubic, mixQuadratic"
+ ],
+ ["9f36a681", "2018-11-30", "docs(vectors): update readme"],
+ ["84ab9b25", "2018-11-30", "docs(vectors): update readme"],
+ [
+ "b415c803",
+ "2018-11-30",
+ "refactor(vector-pools): update AttribPool internals"
+ ],
+ ["21d107d9", "2018-11-30", "docs(vector-pools): update/fix readme"],
+ ["27ea8c4a", "2018-11-30", "minor(vector-pools): fix typos in readme"],
+ ["3a51a42d", "2018-11-30", "docs(vector-pools): fix readme links"],
+ [
+ "fd54d323",
+ "2018-11-30",
+ "feat(vector-pools): update readme, add examples"
+ ],
+ [
+ "4fe2047e",
+ "2018-11-30",
+ "feat(vector-pools): add GLType alias, AttribPoolOpts, update pool impls"
+ ],
+ [
+ "019c0af3",
+ "2018-11-30",
+ "feat(vector-pools): add AttribPool, refactor lists"
+ ],
+ [
+ "25b97891",
+ "2018-11-30",
+ "refactor(vectors): add StridedVec, update IVector, AVec"
+ ],
+ ["d381ace2", "2018-11-29", "feat(api): add assert()"],
+ [
+ "c31ce8ad",
+ "2018-11-28",
+ "refactor(vector-pools): various minor updates & fixes"
+ ],
+ [
+ "48d5d572",
+ "2018-11-28",
+ "feat(vector-pools): add VecPool, VecArrayList & VecLinkedList"
+ ],
+ ["ea6bafaf", "2018-11-28", "feat(malloc): expose SIZEOF, add wrap()"],
+ [
+ "6cb3b92b",
+ "2018-11-28",
+ "feat(vectors): add IVector interface impls for gvec()"
+ ],
+ [
+ "63458c2c",
+ "2018-11-28",
+ "feat(vectors): add proxied gvec(), update mapBuffer*() docs"
+ ],
+ ["1fe9650d", "2018-11-27", "feat(vectors): add mapBuffer*() fns"],
+ ["c3d19141", "2018-11-27", "feat(vectors): add Vec2/3/4.iterator()"],
+ [
+ "4a8295b7",
+ "2018-11-27",
+ "feature(vectors): update swizzle*() to support in-place updates"
+ ],
+ ["27f65f9e", "2018-11-27", "feat(matrices): add rotationAroundAxis33/44()"],
+ [
+ "28f04ac1",
+ "2018-11-27",
+ "feat(vectors): add project(), signedArea2(), update orthoNormal3()"
+ ],
+ [
+ "a373e55b",
+ "2018-11-27",
+ "feat(vectors): update `out` default behavior & codegens, bugfixes"
+ ],
+ [
+ "d9e1b2ec",
+ "2018-11-27",
+ "feat(matrices): add viewport(), project/unproject(), update invert()"
+ ],
+ ["16d56a37", "2018-11-27", "feat(matrices): add trace()"],
+ ["28fd0f1f", "2018-11-27", "feat(vectors): add sum()"],
+ ["f1a5cf12", "2018-11-27", "feat(matrices): add M44 factories"],
+ ["97ac629d", "2018-11-27", "feat(vectors): add/update ops, add docstrings"],
+ ["35babfc6", "2018-11-27", "feat(matrices): add more matrix ops"],
+ [
+ "f04e79e9",
+ "2018-11-26",
+ "feat(matrices): add more matrix ops, optimize & simplify"
+ ],
+ [
+ "e19f6223",
+ "2018-11-26",
+ "feat(vectors): add faceForward, invSqrt & dotValues* fns"
+ ],
+ ["b697fd5d", "2018-11-26", "refactor(vectors): update codegens"],
+ [
+ "8e6ddca9",
+ "2018-11-26",
+ "Merge branch 'develop' into feature/vec-refactor"
+ ],
+ ["bb625eb0", "2018-11-26", "Publish"],
+ ["18ffdb79", "2018-11-26", "fix(vectors): update VecOpSRoVV & dotS impls"],
+ [
+ "f940672e",
+ "2018-11-26",
+ "feat(matrices): extract matrix ops to own package"
+ ],
+ [
+ "52273cde",
+ "2018-11-25",
+ "feat(vectors): re-add (some) strided ops, update codegens, simplify"
+ ],
+ [
+ "b4fffe85",
+ "2018-11-25",
+ "feat(vectors): add cosh, sinh, tanh, round, jitter, wrap"
+ ],
+ [
+ "7448c6b6",
+ "2018-11-25",
+ "feat(vectors): re-add Vec2/3/4, clamp, reflect, refract, restructure package"
+ ],
+ [
+ "18d44342",
+ "2018-11-25",
+ "refactor(vectors): update eqDelta & compileHOF()"
+ ],
+ [
+ "bfbaaa9b",
+ "2018-11-25",
+ "feat(vectors2): update rand codegen tpls & compileHOF/GHOF"
+ ],
+ [
+ "26d41996",
+ "2018-11-25",
+ "feat(vectors): add yet another version of vectors package"
+ ],
+ [
+ "bb7e003d",
+ "2018-11-25",
+ "Merge pull request #62 from acarabott/feature/hdom-canvas-text-maxWidth"
+ ],
+ [
+ "97965d89",
+ "2018-11-24",
+ "fix(hdom-canvas): actually pass maxWidth argument to text function"
+ ],
+ ["3f7fe2ad", "2018-11-24", "build(vectors): update deps"],
+ [
+ "82186aa6",
+ "2018-11-24",
+ "Merge branch 'develop' into feature/vec-refactor"
+ ],
+ ["bb18d7a2", "2018-11-24", "Publish"],
+ ["d210668e", "2018-11-24", "docs: update package list"],
+ [
+ "4aea85d2",
+ "2018-11-24",
+ "feat(random): re-import, extend & refactor random package (MBP2010)"
+ ],
+ [
+ "65ee909f",
+ "2018-11-24",
+ "Merge branch 'develop' into feature/vec-refactor"
+ ],
+ ["364f27e3", "2018-11-24", "Publish"],
+ ["02ec7a7a", "2018-11-24", "docs(hdom-canvas): update readme"],
+ ["3872e379", "2018-11-24", "assets: add mandelbrot screenshot"],
+ ["738091d5", "2018-11-24", "docs(examples): update list (readme)"],
+ ["ca47a885", "2018-11-24", "docs(rstream): update readme"],
+ ["9ef64f16", "2018-11-23", "Merge branch 'feature/rs-tunnel' into develop"],
+ ["c6eec4ef", "2018-11-23", "fix(examples): add download fn (mandelbrot)"],
+ ["46c2882e", "2018-11-23", "fix(rstream): make maxWorkers optional"],
+ ["a47edd53", "2018-11-23", "feat(examples): update mandelbrot demo"],
+ [
+ "67a5b104",
+ "2018-11-23",
+ "feat(rstream): add support multiple workers in Tunnel & TunnelOpts"
+ ],
+ [
+ "f24e69ea",
+ "2018-11-23",
+ "refactor(rstream): move tunnel to /subs, add docs"
+ ],
+ ["a39b98c0", "2018-11-23", "Merge branch 'develop' into feature/rs-tunnel"],
+ [
+ "4592fbb5",
+ "2018-11-23",
+ "Merge pull request #61 from acarabott/feature/hdom-canvas-text-maxWidth"
+ ],
+ [
+ "4d1fa1c5",
+ "2018-11-23",
+ "minor(hdom-canvas): add maxWidth param to text draw call"
+ ],
+ ["2a4bd412", "2018-11-22", "feat(examples): add gradients, simplify"],
+ [
+ "1b567440",
+ "2018-11-22",
+ "refactor(examples): minor updates mandelbrot demo"
+ ],
+ [
+ "70ea4bd6",
+ "2018-11-21",
+ "feat(examples): add key controls & wheel zoom to mandelbrot demo"
+ ],
+ [
+ "bab55c3c",
+ "2018-11-21",
+ "feat(rstream-gestures): add absZoom option (abs vs. relative)"
+ ],
+ [
+ "9549067e",
+ "2018-11-21",
+ "fix: update build-examples script (multiple js outputs)"
+ ],
+ ["a68b9f9a", "2018-11-21", "refactor(examples): update mandelbrot demo"],
+ [
+ "4cab7080",
+ "2018-11-21",
+ "fix: upload-examples script (if multiple sources)"
+ ],
+ [
+ "80679d3c",
+ "2018-11-21",
+ "feat(examples): add mandelbrot worker/tunnel example"
+ ],
+ [
+ "ef0fe42c",
+ "2018-11-21",
+ "feat(rstream): add StreamSync.getSources() / getSourceForID()"
+ ],
+ ["4750e796", "2018-11-21", "feat(rstream): add worker tunnel() sub"],
+ [
+ "7007d633",
+ "2018-11-19",
+ "Merge branch 'develop' into feature/vec-refactor"
+ ],
+ ["e044a6a2", "2018-11-19", "Publish"],
+ [
+ "143c47cd",
+ "2018-11-19",
+ "fix(math): fix #60, add range check for norm()"
+ ],
+ ["71c568c3", "2018-11-13", "Publish"],
+ [
+ "9334f833",
+ "2018-11-13",
+ "feat(interceptors): update forwardSideFx(), refactor iceps as arrow fns"
+ ],
+ ["62b3c312", "2018-11-13", "Publish"],
+ [
+ "1d085bff",
+ "2018-11-13",
+ "refactor(router): update Route, RouteMatch & minor optimizations"
+ ],
+ [
+ "9b4a7b45",
+ "2018-11-12",
+ "Merge branch 'develop' into feature/vec-refactor"
+ ],
+ ["4bf18805", "2018-11-12", "Publish"],
+ [
+ "4048849d",
+ "2018-11-12",
+ "Merge branch 'develop' of github.com:thi-ng/umbrella into develop"
+ ],
+ [
+ "068255f6",
+ "2018-11-12",
+ "Merge pull request #59 from acarabott/feature/linecap"
+ ],
+ [
+ "734a1428",
+ "2018-11-12",
+ "minor(hdom-canvas): fix default key for lineCap"
+ ],
+ [
+ "74827068",
+ "2018-11-09",
+ "Merge branch 'develop' into feature/vec-refactor"
+ ],
+ ["a4bc35bd", "2018-11-08", "Publish"],
+ [
+ "33e915b4",
+ "2018-11-08",
+ "feat(strings): add configurable units() HOF & presets"
+ ],
+ ["6eaa5f5f", "2018-11-07", "Publish"],
+ [
+ "b0a4b65e",
+ "2018-11-07",
+ "refactor(examples): update hdom-dyn-context demo"
+ ],
+ [
+ "52a47f0f",
+ "2018-11-07",
+ "refactor(transducers-hdom): update auto-deref ctx behavior"
+ ],
+ ["30161166", "2018-11-07", "feat(hdom): update auto-deref ctx behavior"],
+ [
+ "749925f0",
+ "2018-11-07",
+ "feat(hiccup): update derefContext() to only apply to selected keys"
+ ],
+ ["5a3b860e", "2018-11-07", "feat(vectors): update VecPool & NDArray1"],
+ [
+ "34930b31",
+ "2018-11-07",
+ "refactor(malloc): update package structure, fix stats()"
+ ],
+ [
+ "c3751198",
+ "2018-11-06",
+ "Merge branch 'develop' into feature/vec-refactor"
+ ],
+ ["d2797516", "2018-11-06", "feat(examples): add hdom-dyn-context demo"],
+ ["79a6a365", "2018-11-06", "Publish"],
+ [
+ "e91dbbc1",
+ "2018-11-06",
+ "feat(transducers-hdom): add support for dynamic user context vals"
+ ],
+ [
+ "6a3a8739",
+ "2018-11-06",
+ "feat(hdom): add support for dynamic user context vals"
+ ],
+ [
+ "a9478732",
+ "2018-11-06",
+ "feat(hiccup): add support for dynamic user context values"
+ ],
+ [
+ "dc2c487d",
+ "2018-11-06",
+ "refactor(geom): update implementations() call sites"
+ ],
+ [
+ "a24715e7",
+ "2018-11-06",
+ "refactor(defmulti): merge relations() w/ implementations(), update readme"
+ ],
+ [
+ "3713c02a",
+ "2018-11-06",
+ "refactor(hiccup-svg): update convertTransforms(), update formatting"
+ ],
+ [
+ "9f03889b",
+ "2018-11-06",
+ "minor(geom): add/update edges()/vertices() arg types"
+ ],
+ [
+ "9a18620d",
+ "2018-11-06",
+ "minor(hiccup-svg): update path conversion/creation"
+ ],
+ ["c0134fda", "2018-11-06", "minor(geom): update imports"],
+ [
+ "94a40cc5",
+ "2018-11-06",
+ "fix(geom): Path2 transform() & translate(), add asCubic() impl"
+ ],
+ ["df9b9f9f", "2018-11-06", "fix(geom): asCubic() for arc"],
+ [
+ "9d60ad09",
+ "2018-11-06",
+ "perf(geom): emit hline/vline segments if possible"
+ ],
+ [
+ "c4db51aa",
+ "2018-11-06",
+ "feat(vectors): add IMatrix & impls for Mat23/33/44, add/update accessors"
+ ],
+ ["4066c80f", "2018-11-06", "feat(defmulti): add relations()"],
+ [
+ "35bd0679",
+ "2018-11-06",
+ "feat(geom): add new / update all types / ops, add tests"
+ ],
+ [
+ "c41d12c0",
+ "2018-11-03",
+ "feat(vectors): re-add quaternion, various refactorings"
+ ],
+ ["358169fd", "2018-11-01", "feat(geom): add/update shape types"],
+ [
+ "e197f908",
+ "2018-11-01",
+ "feat(hiccup-svg): add toHiccup() support in convertTree()"
+ ],
+ ["30f61da5", "2018-11-01", "feat(vectors): add eqDeltaArray()"],
+ [
+ "0043fb5d",
+ "2018-11-01",
+ "feat(math): add cossin(), add opt scale arg for sincos()"
+ ],
+ ["184d55da", "2018-10-31", "build(vectors): update deps"],
+ [
+ "954e0c28",
+ "2018-10-31",
+ "feat(vectors): add generic impls for common vec ops"
+ ],
+ [
+ "816c9c01",
+ "2018-10-31",
+ "feat(strings): add floatFixedWidth(), update float()"
+ ],
+ [
+ "766fdee2",
+ "2018-10-31",
+ "feat(vectors): re-add vec4, mat23/33/44, nd arrays"
+ ],
+ ["e3727ce9", "2018-10-27", "refactor(malloc): add/extract types to api.ts"],
+ [
+ "228e08a1",
+ "2018-10-27",
+ "Merge branch 'develop' into feature/vec-refactor"
+ ],
+ ["46bf1a73", "2018-10-27", "Publish"],
+ [
+ "c5b0f2f5",
+ "2018-10-27",
+ "feat(malloc): add MemPoolOpts, fix top block alloc, update tests, readme"
+ ],
+ [
+ "cfd88555",
+ "2018-10-27",
+ "feat(geom): re-add & update more types / shape ops"
+ ],
+ [
+ "a070016c",
+ "2018-10-27",
+ "feat(vectors): add VecPool skeleton, add more types, export codegen fns"
+ ],
+ [
+ "51c4a49f",
+ "2018-10-26",
+ "feat(vectors): add/update types, multi-methods, minor optimizations"
+ ],
+ [
+ "125c784f",
+ "2018-10-26",
+ "feat(defmulti): add versions w/ 1 optional typed arg, add .impls()"
+ ],
+ [
+ "252f66db",
+ "2018-10-25",
+ "feat(geom): re-add more classes & methods, add svg conversions"
+ ],
+ [
+ "505ca49c",
+ "2018-10-25",
+ "feat(vectors): add vec2n/vec3n(), copy() methods, update deps"
+ ],
+ [
+ "fde2db21",
+ "2018-10-25",
+ "feat(defmulti): add callable() & implementations(), update readme"
+ ],
+ [
+ "fe14b791",
+ "2018-10-24",
+ "Merge branch 'develop' into feature/vec-refactor"
+ ],
+ [
+ "accda790",
+ "2018-10-24",
+ "fix(rstream-gestures): Publish (0.5.16 had publish error)"
+ ],
+ ["673bf50f", "2018-10-24", "Publish"],
+ [
+ "a8c38987",
+ "2018-10-24",
+ "feat(defmulti): add support for dispatch value relationships / hierarchy"
+ ],
+ ["7b740ab8", "2018-10-24", "docs(malloc): update readme"],
+ [
+ "4f156b04",
+ "2018-10-24",
+ "Merge branch 'develop' of github.com:thi-ng/umbrella into develop"
+ ],
+ [
+ "724fe28f",
+ "2018-10-24",
+ "feat: add temp geom2 & vectors2 packages (defmulti API)"
+ ],
+ [
+ "f271b78b",
+ "2018-10-24",
+ "Merge pull request #57 from acarabott/feature/rstream-gesture-local"
+ ],
+ [
+ "f1f6af4d",
+ "2018-10-23",
+ "fix(rstream-gestures): fix incorrect local position when scrolled"
+ ],
+ ["5bb51391", "2018-10-21", "Publish"],
+ [
+ "abba2d62",
+ "2018-10-21",
+ "Merge branch 'feature/geom-accel' into develop"
+ ],
+ ["be7acc33", "2018-10-21", "refactor(examples): update geom-knn demo"],
+ [
+ "b47e6413",
+ "2018-10-21",
+ "feat(geom-accel): add KV support, update select/selectKeys()"
+ ],
+ ["c387887d", "2018-10-21", "docs: update package list"],
+ [
+ "51071ac7",
+ "2018-10-21",
+ "Merge branch 'develop' into feature/geom-accel"
+ ],
+ ["6f8a8963", "2018-10-21", "docs: update package list"],
+ ["b7457cef", "2018-10-21", "Merge branch 'feature/malloc' into develop"],
+ [
+ "4b72cda6",
+ "2018-10-21",
+ "feat(malloc): add freeAll(), release(), tests & benchmarks, update docs"
+ ],
+ ["40f07876", "2018-10-21", "docs(malloc): add docs to readme"],
+ ["787102a4", "2018-10-21", "fix(malloc): add size check, update readme"],
+ [
+ "89f2bc28",
+ "2018-10-21",
+ "feat(malloc): re-add block compaction & splitting, update readme"
+ ],
+ [
+ "2cf20c90",
+ "2018-10-21",
+ "feat(malloc): initial import @thi.ng/malloc package"
+ ],
+ ["ce131d48", "2018-10-19", "feat(geom): add IToCubic, add/update impls"],
+ [
+ "4a47daa4",
+ "2018-10-19",
+ "feat(math): migrate mixCubic()/mixQuadratic() from geom package"
+ ],
+ ["85426d98", "2018-10-19", "fix(hiccup-svg): fix arc segment handling"],
+ ["f891c419", "2018-10-19", "feat(math): add sincos() & roundEps()"],
+ ["2469992e", "2018-10-18", "build(geom-accel): update deps (add morton)"],
+ [
+ "ac2f3e83",
+ "2018-10-18",
+ "feat(morton): update/add muxScaled2/3 versions, add error handling"
+ ],
+ [
+ "971dfb45",
+ "2018-10-18",
+ "Merge pull request #55 from acarabott/feature/readme-arc"
+ ],
+ [
+ "b9cfb56f",
+ "2018-10-18",
+ "minor(hdom-canvas): add arc, hline, vline to readme"
+ ],
+ ["1063fea9", "2018-10-18", "feat(heaps): add pushPopAll()"],
+ ["f0deebb9", "2018-10-18", "minor(examples): update geom-knn"],
+ [
+ "b31b4807",
+ "2018-10-18",
+ "refactor(hdom-canvas): update points() to accept iterables"
+ ],
+ [
+ "0c76c024",
+ "2018-10-18",
+ "refactor(geom-accel): move iterator into KdNode"
+ ],
+ ["aa01a2de", "2018-10-18", "build: update .gitignore"],
+ ["f82c8b16", "2018-10-18", "feat(examples): add geom-knn example"],
+ [
+ "e14ac8b1",
+ "2018-10-18",
+ "feat(geom-accel): re-import geom-accel skeleton (MBP2010)"
+ ],
+ ["f7bbfde4", "2018-10-18", "refactor(heaps): public fields"],
+ [
+ "0cf708f4",
+ "2018-10-18",
+ "feat(bench): add timedResult() / benchResult()"
+ ],
+ [
+ "6e0972e9",
+ "2018-10-17",
+ "build: further updates dev deps in all packages"
+ ],
+ ["f01551ac", "2018-10-17", "build: update make-module/example scripts"],
+ ["e6cef6b3", "2018-10-17", "build(examples): update dev deps"],
+ ["1ebae947", "2018-10-17", "build: update dev deps (TS3.1, parcel etc.)"],
+ ["348cdd4e", "2018-10-17", "docs(examples): update table"],
+ ["3569d242", "2018-10-17", "feat(examples): add geom-tessel example"],
+ [
+ "d4d44b32",
+ "2018-10-17",
+ "fix(examples): update @thi.ng/math occurrences"
+ ],
+ ["cf2970aa", "2018-10-17", "minor: update readme"],
+ ["6e563377", "2018-10-17", "Publish"],
+ ["39d414f5", "2018-10-17", "docs: update package list in main readme"],
+ ["940fc312", "2018-10-17", "build(dsp): update package"],
+ ["456a2ee3", "2018-10-17", "build(math): update package desc"],
+ ["10cf5646", "2018-10-17", "build: update gitignore & yarn.lock"],
+ ["83ef61a1", "2018-10-17", "docs(geom): update readme, add/move assets"],
+ [
+ "ffea836f",
+ "2018-10-17",
+ "refactor(geom): update deps & @thi.ng/math imports"
+ ],
+ [
+ "0967929f",
+ "2018-10-17",
+ "feat(vectors): replace math.ts w/ imports from @thi.ng/maths package"
+ ],
+ [
+ "f257330e",
+ "2018-10-16",
+ "refactor(transducers): add ensureArrayLike(), update permutations()"
+ ],
+ ["1bd9fd43", "2018-10-16", "docs(heaps): update readme"],
+ [
+ "501536b9",
+ "2018-10-16",
+ "feat(morton): import & update @thi.ng/morton package (MBP2010)"
+ ],
+ ["6851f2c4", "2018-10-16", "feat(compose): add partial(), update readme"],
+ ["405cf51a", "2018-10-16", "feat(dlogic): add @thi.ng/dlogic package"],
+ ["458d4a07", "2018-10-16", "feat(binary): add @thi.ng/binary package"],
+ [
+ "889730f8",
+ "2018-10-16",
+ "feat(dsp): add oscillators as @thi.ng/dsp package (from synstack / VEX)"
+ ],
+ [
+ "4af1fba3",
+ "2018-10-16",
+ "feat(math): extract maths fns from @thi.ng/vectors as new package"
+ ],
+ ["e085136b", "2018-10-13", "Merge branch 'develop' into feature/geom"],
+ [
+ "2e9f0486",
+ "2018-10-13",
+ "refactor(geom): update arg handling, update readme"
+ ],
+ [
+ "328a9b03",
+ "2018-10-13",
+ "Merge pull request #54 from acarabott/feature/transducer-links"
+ ],
+ [
+ "08372abd",
+ "2018-10-13",
+ "minor(transducers): fix links to reducers in README"
+ ],
+ [
+ "2546039a",
+ "2018-10-13",
+ "Merge pull request #53 from acarabott/feature/baseline"
+ ],
+ ["6a9747bf", "2018-10-13", "minor(hdom-canvas): baseLine -> baseline"],
+ ["fa87f1e9", "2018-10-11", "feat(geom): add/update tessellate() impls"],
+ [
+ "555fc515",
+ "2018-10-10",
+ "feat(geom): add/update factory fns, arg handling, tessel, poly area"
+ ],
+ [
+ "3a20ef34",
+ "2018-10-10",
+ "feat(geom): add/update various shape impls & ops"
+ ],
+ [
+ "296e1e07",
+ "2018-10-08",
+ "refactor: update Infinity consts in various packages"
+ ],
+ [
+ "d655ec29",
+ "2018-10-08",
+ "feat(geom): re-import & refactor partial port of thi.ng/geom (clojure)"
+ ],
+ [
+ "ff435be6",
+ "2018-10-07",
+ "minor(hdom-canvas): rename arc() => circularArc()"
+ ],
+ [
+ "b2f9af93",
+ "2018-10-07",
+ "refactor(vectors): replace static Vec2/3/4 methods w/ IVector impls"
+ ],
+ [
+ "221fb7f6",
+ "2018-10-06",
+ "feat(vectors): add collate & eqDelta fns, update ctors"
+ ],
+ ["6094738e", "2018-10-03", "feat(defmulti): add varargs support"],
+ ["2657df66", "2018-09-30", "feat(geom): add/update interfaces & impls"],
+ [
+ "775cc8a7",
+ "2018-09-30",
+ "fix(hdom-components): add Canvas2DContextAttributes (removed in TS3.1)"
+ ],
+ ["1ef23611", "2018-09-30", "fix(transducers): minor TS3.1 fixes"],
+ [
+ "515e5ba5",
+ "2018-09-30",
+ "feat(transducers): update wrap*() fns to accept iterables"
+ ],
+ [
+ "aa6b1206",
+ "2018-09-30",
+ "feat(geom): re-add Arc2, update Circle2, update helper fns"
+ ],
+ [
+ "3b1bf647",
+ "2018-09-30",
+ "feat(geom): add ICollate & ICopy impls, re-add/update convexHull2"
+ ],
+ ["2ba99311", "2018-09-30", "build(geom): update dev deps & yarn.lock"],
+ [
+ "473ec800",
+ "2018-09-30",
+ "feat(vectors): add axis consts, add/update ops"
+ ],
+ [
+ "6a0f8aa9",
+ "2018-09-29",
+ "feat(vectors): add comparators & ICompare impls for vec2/3/4"
+ ],
+ [
+ "9fb2091a",
+ "2018-09-29",
+ "refactor(geom): add interfaces, split out common.ts into /func folder"
+ ],
+ ["34312d8f", "2018-09-29", "feat(vectors): add IMinMax interface"],
+ [
+ "9c27c77f",
+ "2018-09-29",
+ "feat(geom): update all shape types, add interfaces & ops, update tests"
+ ],
+ [
+ "5c44ad98",
+ "2018-09-29",
+ "feat(vectors): add operation specific interfaces, rename Vec3.toPolar()"
+ ],
+ ["22f6aab4", "2018-09-29", "Merge branch 'develop' into feature/geom"],
+ ["4f15ea80", "2018-09-28", "Publish"],
+ [
+ "8399ec2f",
+ "2018-09-28",
+ "docs(vectors): fix docstrings, hide CommonOpts type alias"
+ ],
+ [
+ "f2114d52",
+ "2018-09-28",
+ "Merge branch 'feature/vec-codegen' into develop"
+ ],
+ [
+ "247dec02",
+ "2018-09-28",
+ "refactor(vectors): generate more ops, move declareIndices() (#51)"
+ ],
+ [
+ "719b27ac",
+ "2018-09-28",
+ "refactor(vectors): rewrite codegen, add more types & gen ops (#51)"
+ ],
+ [
+ "9bee7f85",
+ "2018-09-28",
+ "refactor(vectors): use codegen for unary vec2/3/4 ops"
+ ],
+ [
+ "b5ed2545",
+ "2018-09-28",
+ "feat(vectors): add vector ops codegen, update basic vec2/3/4 ops (#51)"
+ ],
+ [
+ "d964865e",
+ "2018-09-28",
+ "docs(hdom): add xml-converter example link & screenshot"
+ ],
+ [
+ "6db26c2b",
+ "2018-09-28",
+ "feat(examples): add copy-to-clipboard, extract UI config & components"
+ ],
+ ["5cfbf70d", "2018-09-27", "feat(examples): update css"],
+ ["71cbd19a", "2018-09-27", "fix(examples): fix attrib format"],
+ [
+ "95ba4f6d",
+ "2018-09-27",
+ "feat(examples): extend xml-converter, add CLI version, update docs"
+ ],
+ ["2f014471", "2018-09-26", "Publish"],
+ ["4b78c8a3", "2018-09-26", "minor(examples): xml-converter"],
+ ["96367021", "2018-09-26", "docs(hdom): add/update docs (fix #47)"],
+ ["0a49d0a5", "2018-09-25", "fix: update .gitignore (fixes #46, fixes #50)"],
+ [
+ "ad1bac8f",
+ "2018-09-25",
+ "refactor(examples): refactor hiccup formatter, minor fixes"
+ ],
+ [
+ "823d828d",
+ "2018-09-25",
+ "fix(transducers): fix matchLast(), fix & update return match*() types"
+ ],
+ [
+ "61af7e51",
+ "2018-09-25",
+ "Merge branch 'master' of github.com:thi-ng/umbrella"
+ ],
+ [
+ "b8a93ea8",
+ "2018-09-25",
+ "fix(examples): add null check & parseAttrib() in transformCSS()"
+ ],
+ ["3abfc42c", "2018-09-25", "Merge pull request #49 from nkint/patch-1"],
+ ["a169d2df", "2018-09-25", "fix(examples): add missing index.html (#46)"],
+ ["04872dbe", "2018-09-25", "Publish"],
+ [
+ "79cf49e1",
+ "2018-09-25",
+ "feat(examples): add value coercions & re-formatter (xml-converter)"
+ ],
+ [
+ "0cce0488",
+ "2018-09-25",
+ "feat(strings): add splice(), refactor repeat(), add tests"
+ ],
+ ["8b8bf885", "2018-09-25", "typo"],
+ [
+ "0cddc7d6",
+ "2018-09-25",
+ "feat(example): update xml-converter (add boolean attrib support)"
+ ],
+ [
+ "5119b67e",
+ "2018-09-25",
+ "feat(sax): add opt support for boolean attribs, add tests"
+ ],
+ ["5a893d5b", "2018-09-25", "docs(examples): update table"],
+ ["436edc0f", "2018-09-25", "Publish"],
+ [
+ "50fa6492",
+ "2018-09-25",
+ "fix(hdom): add DEFAULT_IMPL to re-exports (#47)"
+ ],
+ ["febe3c36", "2018-09-25", "Publish"],
+ ["cb263002", "2018-09-25", "feat(examples): add xml-converter example"],
+ ["8cbfb97e", "2018-09-24", "fix(strings): rename number parsers"],
+ [
+ "888ea747",
+ "2018-09-24",
+ "fix(examples): rename `prepare` script aliases"
+ ],
+ [
+ "c0a8926b",
+ "2018-09-24",
+ "fix(examples): rename `prepare` script alias, add commits.json (#46)"
+ ],
+ ["cf05efbf", "2018-09-24", "Publish"],
+ [
+ "665564c7",
+ "2018-09-24",
+ "feat(sax): update parse() to return iterator if input given (optional)"
+ ],
+ ["fc6a4d32", "2018-09-24", "perf(rstream-log): `Level` => const enum"],
+ [
+ "8e4fc902",
+ "2018-09-24",
+ "perf(rstream-gestures): `GestureType` => const enum"
+ ],
+ ["7ac83c6f", "2018-09-24", "perf(rstream): `State` => const enum"],
+ [
+ "a7b9a427",
+ "2018-09-24",
+ "perf(pointfree-lang): `NodeType` => const enum"
+ ],
+ ["c3e8d689", "2018-09-24", "perf(csp): `State` => const enum"],
+ [
+ "39f7fb0c",
+ "2018-09-24",
+ "build: add `preserveConstEnums` to global tsconfig"
+ ],
+ [
+ "657a3088",
+ "2018-09-24",
+ "docs: fix twitter badges, update make-module script"
+ ],
+ [
+ "89ab34a3",
+ "2018-09-24",
+ "Merge branch 'master' of github.com:thi-ng/umbrella"
+ ],
+ ["94f64698", "2018-09-24", "docs: update all readme files"],
+ ["56bfecbc", "2018-09-23", "Merge pull request #45 from rgtk/patch-1"],
+ ["b2a24f8c", "2018-09-23", "Fix links to @thi.ng/transducers"],
+ ["edf68556", "2018-09-23", "Publish"],
+ ["7cd08281", "2018-09-23", "docs(hdom): update readme"],
+ [
+ "4a2f79b8",
+ "2018-09-23",
+ "refactor(hdom): minor refactoring, fix/update docs"
+ ],
+ [
+ "1d8eeb4d",
+ "2018-09-23",
+ "feat(hiccup): emmet class & class attrib merging in normalize()"
+ ],
+ ["ff5e5550", "2018-09-23", "docs(rstream): re-org readme"],
+ ["ed3f10b5", "2018-09-23", "docs(hdom): fix/update changelog"],
+ ["bb224a75", "2018-09-22", "docs(examples): update readme"],
+ ["02548fd2", "2018-09-22", "Publish"],
+ ["70de921a", "2018-09-22", "build: add npm registry for publish script"],
+ ["ee0c2b96", "2018-09-22", "build: update yarn.lock"],
+ [
+ "897f2b36",
+ "2018-09-22",
+ "docs: update branch links (all back to master now)"
+ ],
+ ["39d35d93", "2018-09-22", "chore(examples): add missing .gitignore"],
+ [
+ "4bc64394",
+ "2018-09-22",
+ "chore: add HMR handling to make-example script"
+ ],
+ ["387376ed", "2018-09-22", "docs(hdom): major update readme"],
+ ["86bdd06d", "2018-09-22", "feat(examples): add svg-barchart demo"],
+ ["5ef9cf0e", "2018-09-22", "feat(hdom): add renderOnce()"],
+ ["06dccee4", "2018-09-21", "docs(hdom): update readme"],
+ [
+ "8441afcb",
+ "2018-09-21",
+ "assets: add new diagram sources (hdom & interceptors)"
+ ],
+ ["bb5569f7", "2018-09-21", "build: update yarn.lock"],
+ [
+ "0dcc1b86",
+ "2018-09-21",
+ "refactor(rstream): remove Stream.NEXT_ID, replace w/ Subscription field"
+ ],
+ [
+ "8aa66055",
+ "2018-09-21",
+ "build: update example generator & build scripts"
+ ],
+ [
+ "efcbe2de",
+ "2018-09-21",
+ "minor(examples): fix sort icon in triple-query"
+ ],
+ [
+ "7c4dc3f0",
+ "2018-09-21",
+ "fix(examples): update commit-table-ssr to work w/ parceljs, update docs"
+ ],
+ ["22732421", "2018-09-21", "build(examples): update yarn build commands"],
+ ["1ee6c43a", "2018-09-21", "build: update typedoc dep"],
+ ["022101f3", "2018-09-21", "fix(transducers): add missing type annotation"],
+ [
+ "78b1f4ac",
+ "2018-09-21",
+ "fix(transducers-hdom): add missing type annotation"
+ ],
+ [
+ "3cd03bd7",
+ "2018-09-20",
+ "assets(examples): add gesture-analysis screenshot"
+ ],
+ ["288b68d9", "2018-09-20", "feat(rstream): add trigger() generics"],
+ ["75889156", "2018-09-20", "docs(rstream): update readme & doc strings"],
+ ["d5ec6fd8", "2018-09-20", "docs(rstream): add docs, update readme"],
+ ["dbdb72ec", "2018-09-20", "docs(rstream): add diagrams"],
+ ["bbb87f4a", "2018-09-20", "docs(hdom): update readme"],
+ [
+ "1ac1110b",
+ "2018-09-20",
+ "feat(examples): rename interceptor-basics, add more simpler version"
+ ],
+ ["6d6fae33", "2018-09-20", "refactor(hdom): allow HDOMOpts extensions"],
+ ["74816eb0", "2018-09-20", "docs(hdom): update readme"],
+ ["46d851b6", "2018-09-19", "feat(examples): add hdom-canvas-draw demo"],
+ [
+ "09a821b2",
+ "2018-09-19",
+ "refactor(hdom-canvas): switch canvas back to lifecycle object form"
+ ],
+ ["e390a54d", "2018-09-19", "feat(api): add `IToHiccup` interface"],
+ ["929c6f42", "2018-09-19", "feat(rstream): add trigger() utility stream"],
+ [
+ "e82e3122",
+ "2018-09-19",
+ "feat(examples): add SVG export comment to hdom-canvas-shapes"
+ ],
+ ["de17db8f", "2018-09-19", "perf(hdom): minor updates"],
+ [
+ "53a1d2c0",
+ "2018-09-19",
+ "refactor(hdom-canvas): add _serialize control attrib to root group"
+ ],
+ [
+ "363c241c",
+ "2018-09-19",
+ "feat(hiccup): add control attrib handling, add comment support"
+ ],
+ ["bca4cc4b", "2018-09-17", "Publish"],
+ ["b488d2b3", "2018-09-17", "feat(transducers): add randomID()"],
+ [
+ "f001314d",
+ "2018-09-17",
+ "fix(transducers): str() initial result handling"
+ ],
+ [
+ "eb674268",
+ "2018-09-17",
+ "fix(transducers): update arg types for choices() & weightedRandom()"
+ ],
+ ["bd228110", "2018-09-17", "Publish"],
+ ["3e647a18", "2018-09-17", "fix(atom): add .value getter to IView"],
+ ["76309858", "2018-09-17", "minor(examples): update clock example"],
+ ["38125686", "2018-09-17", "docs: add hdom-canvas to package table"],
+ ["60f00590", "2018-09-17", "build(examples): fix deps, update readmes"],
+ ["7bbd1bcf", "2018-09-17", "docs(hdom-canvas): update links"],
+ ["95c462a5", "2018-09-17", "Publish"],
+ ["decc26b2", "2018-09-17", "build: update deps"],
+ ["b9738cc4", "2018-09-17", "v1.2.0"],
+ ["b43fcb39", "2018-09-17", "v2.0.0-alpha"],
+ ["f424fa92", "2018-09-17", "Publish"],
+ ["d4487066", "2018-09-17", "v1.1.0"],
+ ["3835cf43", "2018-09-17", "v2.2.0"],
+ ["ff919070", "2018-09-17", "v0.4.0"],
+ ["339342b3", "2018-09-17", "v0.1.9"],
+ ["7481df23", "2018-09-17", "v1.5.9"],
+ [
+ "4297d649",
+ "2018-09-17",
+ "Merge branch 'feature/hdom-canvas' into develop"
+ ],
+ ["4fe6a742", "2018-09-17", "Merge branch 'feature/hdom-v5' into develop"],
+ ["eb4e6891", "2018-09-17", "refactor(examples): minor updates"],
+ [
+ "ae4b6212",
+ "2018-09-16",
+ "perf(hdom-canvas): inline type checks, update deps & readme"
+ ],
+ [
+ "a52f83c4",
+ "2018-09-16",
+ "fix(hdom-canvas): update __normalize handling, rename fns"
+ ],
+ [
+ "382c45ca",
+ "2018-09-16",
+ "perf(hdom): update diffTree(), inline node type checks"
+ ],
+ [
+ "224a537a",
+ "2018-09-16",
+ "perf(checks): inline checks in isNotStringAndIterable()"
+ ],
+ ["b93dc745", "2018-09-16", "feat(examples): add static canvas test"],
+ [
+ "74547aa6",
+ "2018-09-16",
+ "feat(hdom-canvas): update canvas component & diffTree impl, update docs"
+ ],
+ [
+ "3b628326",
+ "2018-09-16",
+ "refactor(hiccup-svg): update points(), minor fixes, add docs"
+ ],
+ ["ebfcf159", "2018-09-16", "refactor(hdom): export diff related fns"],
+ ["bb7e08a8", "2018-09-16", "refactor(examples): update canvas demo"],
+ [
+ "5de02559",
+ "2018-09-16",
+ "feat(hdom-canvas): add HDPI auto-adjustment, update docs"
+ ],
+ [
+ "b219d67a",
+ "2018-09-15",
+ "Merge branch 'feature/hdom-v5' into feature/hdom-canvas"
+ ],
+ ["d9af2e5f", "2018-09-15", "refactor(hdom): update custom equiv()"],
+ ["6c33901f", "2018-09-15", "fix(hdom): delegate diffTree() to branch impl"],
+ [
+ "3de83bb7",
+ "2018-09-15",
+ "refactor(hiccup): add `button` to NO_SPANS elements"
+ ],
+ [
+ "adaaa7a0",
+ "2018-09-15",
+ "feat(hdom-canvas): add warning msg for hydrateTree() impl"
+ ],
+ [
+ "ae1371d8",
+ "2018-09-15",
+ "Merge branch 'feature/hdom-v5' into feature/hdom-canvas"
+ ],
+ [
+ "05920636",
+ "2018-09-15",
+ "fix(hdom): exclude hdom control attribs in setAttrib()"
+ ],
+ [
+ "4e230164",
+ "2018-09-15",
+ "feat(vectors): add random vector ops for Vec2/3/4 & GVec"
+ ],
+ ["8e796480", "2018-09-15", "Merge branch 'develop' into feature/geom"],
+ [
+ "6a76bfd1",
+ "2018-09-15",
+ "Merge branch 'develop' into feature/hdom-canvas"
+ ],
+ ["442f14f4", "2018-09-15", "Merge branch 'develop' into feature/hdom-v5"],
+ ["7963e256", "2018-09-15", "feat(strings): add U24 hex preset"],
+ ["be25c48e", "2018-09-15", "feat(examples): add circles test"],
+ [
+ "56b919d8",
+ "2018-09-15",
+ "Merge branch 'feature/hdom-canvas' into feature/geom"
+ ],
+ [
+ "2bb41d45",
+ "2018-09-14",
+ "docs(examples): update crypto readme (replace diagram)"
+ ],
+ [
+ "1d463ea6",
+ "2018-09-14",
+ "build(examples): update deps (hdom-canvas-shapes)"
+ ],
+ [
+ "141e7c86",
+ "2018-09-14",
+ "docs(examples): add dflow diagram, update readme"
+ ],
+ ["42c1c403", "2018-09-14", "fix(examples): add missing file download.ts"],
+ [
+ "7778c404",
+ "2018-09-14",
+ "Merge branch 'feature/hdom-canvas' into feature/geom"
+ ],
+ [
+ "6e20e3e2",
+ "2018-09-14",
+ "feat(hiccup): add `.toHiccup()` interface support"
+ ],
+ [
+ "8ecdd139",
+ "2018-09-14",
+ "feat(hdom-canvas): add `.toHiccup()` interface support"
+ ],
+ [
+ "54ba0ce1",
+ "2018-09-14",
+ "feat(hdom): add `.toHiccup()` interface support"
+ ],
+ ["177855c3", "2018-09-14", "feat(examples): add geom circle test"],
+ [
+ "c03259cb",
+ "2018-09-14",
+ "feat(geom): import (updated) old thi.ng/geom package (minus vectors)"
+ ],
+ ["f25db9a2", "2018-09-14", "docs(hdom-canvas): update readme"],
+ [
+ "b8f79568",
+ "2018-09-14",
+ "feat(examples): add SVG conversion & export to hdom-canvas-shapes"
+ ],
+ [
+ "3acb0dd8",
+ "2018-09-14",
+ "fix(hiccup-svg): update points() to use \"xlink:href\" (fix for safari)"
+ ],
+ [
+ "7a6cf519",
+ "2018-09-14",
+ "feat(hiccup-svg): re-parse alpha colors in gradients (fix for safari)"
+ ],
+ [
+ "d4122694",
+ "2018-09-14",
+ "feat(hdom-canvas): update points() to use circle or rect shapes"
+ ],
+ [
+ "214cb62d",
+ "2018-09-14",
+ "feat(hiccup-svg): add custom shape support for points(), use instancing"
+ ],
+ [
+ "cf4add3e",
+ "2018-09-14",
+ "refactor(hiccup-svg): update attrib conversion"
+ ],
+ [
+ "a00761ba",
+ "2018-09-14",
+ "refactor(examples): update svg `text` arg order (hiccup-svg update)"
+ ],
+ [
+ "f45f4ff0",
+ "2018-09-14",
+ "refactor(examples): update gradient def in svg-waveform"
+ ],
+ [
+ "c20b24a7",
+ "2018-09-14",
+ "refactor(hdom-canvas): swap `img` args to be more consistent w/ others"
+ ],
+ [
+ "4cb8cf72",
+ "2018-09-14",
+ "feat(hiccup-svg): add new elements, update convertTree(), refactor"
+ ],
+ [
+ "0c4dddce",
+ "2018-09-14",
+ "feat(hiccup-svg): add convertTree() interop helpers (#44)"
+ ],
+ ["fb9c704d", "2018-09-14", "docs(hdom-canvas): update readme"],
+ ["de61c215", "2018-09-14", "feat(hdom-canvas): add `defs` node/group type"],
+ ["75002fad", "2018-09-13", "build: update upload-examples"],
+ [
+ "17d13866",
+ "2018-09-13",
+ "feat(examples): use location.hash to select tests, update assets"
+ ],
+ ["c8d7a7c9", "2018-09-13", "feat(examples): update canvas image test"],
+ [
+ "f7af43c1",
+ "2018-09-13",
+ "Merge branch 'feature/hdom-v5' into feature/hdom-canvas"
+ ],
+ ["c2859105", "2018-09-13", "perf(checks): update isPlainObject()"],
+ [
+ "bde18d50",
+ "2018-09-13",
+ "refactor(hdom): use custom equiv also for diffAttributes()"
+ ],
+ [
+ "481d9d34",
+ "2018-09-13",
+ "perf(diff): update diffObject() & add IOC support for custom equiv fn"
+ ],
+ ["a9e173e7", "2018-09-13", "test(hdom): update tests"],
+ [
+ "96beaf38",
+ "2018-09-13",
+ "refactor(hdom): trial run of custom equiv() impl for diffTree()"
+ ],
+ [
+ "ee55accd",
+ "2018-09-13",
+ "perf(equiv): inline & refactor type checks, add IOC support for helpers"
+ ],
+ ["360f15af", "2018-09-13", "feat(examples): add canvas image test"],
+ ["6b62067b", "2018-09-13", "docs(hdom-canvas): update readme"],
+ ["99020cad", "2018-09-13", "docs(hdom-canvas): update readme"],
+ ["5aa9d46a", "2018-09-13", "refactor(hdom-canvas): update attrib aliases"],
+ [
+ "b6c1e42e",
+ "2018-09-13",
+ "docs(examples): update hdom-canvas-* build instructions"
+ ],
+ ["2b16d24d", "2018-09-13", "docs(examples): update readme"],
+ ["2fa4c56c", "2018-09-13", "refactor(examples): update hdom-canvas-shapes"],
+ [
+ "6496e47b",
+ "2018-09-13",
+ "feat(hdom-canvas): add new shape types, add canvas attribs, refactor"
+ ],
+ ["5a3c3147", "2018-09-13", "refactor(examples): minor updates shape test"],
+ ["98735395", "2018-09-13", "docs(examples): update example table (readme)"],
+ ["7aae4333", "2018-09-13", "feat(examples): add hdom-canvas-shapes"],
+ [
+ "81fe154d",
+ "2018-09-13",
+ "feat(hdom-canvas): fix #43, add gradient support"
+ ],
+ [
+ "d5e01ff8",
+ "2018-09-12",
+ "Merge branch 'feature/hdom-v5' into feature/hdom-canvas"
+ ],
+ ["e4f780c7", "2018-09-12", "fix(hdom): minor fix (hydrateDOM)"],
+ [
+ "81a39ba7",
+ "2018-09-12",
+ "refactor(hdom-canvas): update to reflect hdom api changes"
+ ],
+ [
+ "700352de",
+ "2018-09-12",
+ "Merge branch 'feature/hdom-v5' into feature/hdom-canvas"
+ ],
+ [
+ "832e419c",
+ "2018-09-12",
+ "fix(transducers-hdom): update to work w/ new @thi.ng/hdom v5 API"
+ ],
+ ["1ac245f8", "2018-09-12", "feat(hdom): reorg & extend HDOMImplementation"],
+ ["66c007de", "2018-09-12", "feat(checks): add isNotStringAndIterable()"],
+ [
+ "764373a7",
+ "2018-09-12",
+ "feat(hdom-canvas): add rounded rect option (as path)"
+ ],
+ [
+ "2a973fd1",
+ "2018-09-12",
+ "Merge branch 'feature/hdom-v5' into feature/hdom-canvas"
+ ],
+ [
+ "1cfad519",
+ "2018-09-12",
+ "refactor(hdom-canvas): update canvas component, add docs"
+ ],
+ [
+ "2e3fb660",
+ "2018-09-12",
+ "perf(hdom): add opt `__release` attrib to disable releaseDeep()"
+ ],
+ [
+ "cfadbe3e",
+ "2018-09-12",
+ "refactor(examples): update clock main group attribs"
+ ],
+ [
+ "1d24a166",
+ "2018-09-12",
+ "feat(hdom-canvas): add canvas-specific normalizeTree() impl"
+ ],
+ [
+ "59bb19c2",
+ "2018-09-11",
+ "feat(hdom): update normalizeTree, add to HDOMImplementation"
+ ],
+ [
+ "82cd9389",
+ "2018-09-11",
+ "feat(hdom-canvas): add path shape type, embedded fn & iterator handling"
+ ],
+ [
+ "c69454b0",
+ "2018-09-11",
+ "refactor(examples): update attribs & scengraph in hdom-canvas-clock"
+ ],
+ [
+ "ccbf53cf",
+ "2018-09-11",
+ "feat(hdom-canvas): implement drawing state inheritance & restoration"
+ ],
+ [
+ "17060403",
+ "2018-09-11",
+ "build(examples): enable source maps in all examples, update make-example"
+ ],
+ [
+ "d93efa86",
+ "2018-09-11",
+ "refactor(examples): minor updates hdom-canvas-clock, enable source map"
+ ],
+ [
+ "d3acb707",
+ "2018-09-11",
+ "feat(hdom-canvas): add more shapes/prims, update transform handling"
+ ],
+ [
+ "b4a37dd3",
+ "2018-09-10",
+ "Merge branch 'develop' into feature/hdom-canvas"
+ ],
+ ["685fd0bd", "2018-09-10", "Merge branch 'develop' into feature/hdom-v5"],
+ ["bdb57f83", "2018-09-10", "Publish"],
+ ["f4cc0dda", "2018-09-10", "refactor(vectors): Vec3/4 toString() impls"],
+ ["ae261ab5", "2018-09-10", "fix(vectors): GVec.copy() / get()"],
+ ["07d1ccfc", "2018-09-10", "fix(vectors): Mat23/33/44 toString() impls"],
+ [
+ "3dd00725",
+ "2018-09-10",
+ "feat(vectors): add matrix index & property accessors"
+ ],
+ ["54e59a08", "2018-09-10", "fix(examples): re-enable HMR logic"],
+ [
+ "dc618983",
+ "2018-09-10",
+ "refactor(hdom-canvas): rename types due to hdom update"
+ ],
+ [
+ "5546c0d2",
+ "2018-09-10",
+ "Merge branch 'feature/hdom-v5' into feature/hdom-canvas"
+ ],
+ [
+ "cc73c769",
+ "2018-09-10",
+ "refactor(hdom): rename HDOMOps => HDOMImplementation, add docs"
+ ],
+ [
+ "ada7d34e",
+ "2018-09-10",
+ "build: add max-age cache header (upload-examples)"
+ ],
+ ["2fdcf104", "2018-09-10", "refactor(examples): update clock demo"],
+ ["689e775e", "2018-09-10", "feat(examples): add hdom-canvas-clock demo"],
+ [
+ "f41014eb",
+ "2018-09-10",
+ "feat(hdom-canvas): rename package, add text support, refactor"
+ ],
+ [
+ "60f12c5d",
+ "2018-09-10",
+ "feat(hiccup-canvas): add canvas comp, createTree impl, update deps"
+ ],
+ [
+ "46c5cd2c",
+ "2018-09-10",
+ "Merge branch 'feature/hdom-v5' into feature/hiccup-canvas"
+ ],
+ ["525d90d5", "2018-09-10", "feat(hdom): generalize diffElement() (#4)"],
+ [
+ "5cb4350f",
+ "2018-09-09",
+ "feat(hdom): add optional support for blocking normalize & diff"
+ ],
+ ["c47711f9", "2018-09-09", "refactor(hiccup-canvas): add notes"],
+ [
+ "84a6f441",
+ "2018-09-09",
+ "Merge branch 'develop' into feature/hiccup-canvas"
+ ],
+ ["146868d1", "2018-09-09", "build: update make-module script"],
+ ["890eb97c", "2018-09-09", "docs(compose): add missing package desc"],
+ ["266d02b0", "2018-09-09", "docs: update badges in all readme files"],
+ [
+ "eb284f01",
+ "2018-09-09",
+ "feat(hiccup-canvas): add hiccup-canvas package"
+ ],
+ ["9bde777a", "2018-09-08", "fix(examples): add missing html file"],
+ ["d003cab6", "2018-09-08", "docs(examples): update readme"],
+ ["6051439d", "2018-09-08", "feat(examples): add gesture-analysis example"],
+ ["bfd3c2f2", "2018-09-08", "Publish"],
+ ["06f61cf4", "2018-09-08", "fix: missing comma in make-example script"],
+ ["8856a18f", "2018-09-08", "test(rstream): add merge-only sync tests"],
+ [
+ "1f22867f",
+ "2018-09-08",
+ "feat(transducers): rename window() => slidingWindow(), update readme"
+ ],
+ [
+ "2916432d",
+ "2018-09-08",
+ "docs(transducers): update partitionSync() docs"
+ ],
+ [
+ "162aa2d5",
+ "2018-09-08",
+ "feat(rstream): add merge-only mode for StreamSync, update docs"
+ ],
+ [
+ "d8fdc018",
+ "2018-09-08",
+ "feat(transducers): update partitionSync() xform & PartitionSyncOpts"
+ ],
+ ["2f0f3d48", "2018-09-08", "feat(transducers): add window() xform"],
+ ["014bd980", "2018-09-07", "fix: update upload-examples script"],
+ [
+ "b4c2e1c0",
+ "2018-09-07",
+ "build: update `yarn examples` command, update readme"
+ ],
+ [
+ "81610117",
+ "2018-09-07",
+ "build: add build-examples, update make-example script"
+ ],
+ [
+ "316ad6ae",
+ "2018-09-07",
+ "build(examples): update all examples to use parcel instead of webpack"
+ ],
+ [
+ "b1ef187d",
+ "2018-09-07",
+ "build: update lerna, replace webpack deps w/ parcel"
+ ],
+ ["42d142dc", "2018-09-06", "Publish"],
+ ["d54dffb0", "2018-09-06", "docs(examples): update table"],
+ ["cf516aa5", "2018-09-06", "Merge branch 'feature/defonce' into develop"],
+ [
+ "83fa7ade",
+ "2018-09-06",
+ "feat(examples): add hmr-basics demo (fixes #40)"
+ ],
+ ["61bed88b", "2018-09-06", "feat(memoize): add defonce()"],
+ ["e0f83c4a", "2018-09-05", "Publish"],
+ [
+ "2eec7006",
+ "2018-09-05",
+ "feat(vectors): add/update transformVectors*(), update types"
+ ],
+ [
+ "2d5d0c86",
+ "2018-09-05",
+ "refactor(vectors): rename immutable vec ops, update readme table"
+ ],
+ ["f7df4cba", "2018-09-05", "chore: update .gitignore (add gtm)"],
+ ["c4631533", "2018-09-05", "test(vectors): add benchmarks"],
+ ["2583380b", "2018-09-04", "docs(vectors): update readme"],
+ ["a3c04076", "2018-09-04", "feat(vectors): add immutable vec2/3/4 ops"],
+ ["be6ae489", "2018-09-03", "Publish"],
+ [
+ "9510f01a",
+ "2018-09-03",
+ "feat(vectors): add new vector ops, update readme"
+ ],
+ ["a5b3f84c", "2018-09-03", "docs(vectors): add/update doc strings"],
+ ["7001b7a8", "2018-09-03", "refactor(vectors): update matrix factories"],
+ ["f0ccd0c5", "2018-09-03", "feat(vectors): add mixBilinear1/2/3/4"],
+ [
+ "ad131513",
+ "2018-09-03",
+ "fix(vectors): update GVec method args (readonly)"
+ ],
+ [
+ "25ea00ca",
+ "2018-09-03",
+ "fix(vectors): add opt normalize for angleBetween2/3"
+ ],
+ ["c0fbb4ed", "2018-09-03", "fix(vectors): add missing arg types"],
+ ["34ffe9d7", "2018-09-03", "docs(hdom): update/fix docs & readme"],
+ ["4a16bd56", "2018-09-03", "refactor(transducers): update normRange()"],
+ ["16aa0c46", "2018-09-03", "feat(vectors): add Vec*.intoBuffer() impls"],
+ ["ba386e52", "2018-09-01", "Publish"],
+ ["6acb05bb", "2018-09-01", "build(examples): fix deps"],
+ [
+ "1795f187",
+ "2018-09-01",
+ "refactor(vectors): update Vec2/3/4 index signatures"
+ ],
+ ["fc7c670b", "2018-09-01", "Publish"],
+ ["e5662a0a", "2018-09-01", "docs(paths): update readme, add tests"],
+ [
+ "a7104535",
+ "2018-09-01",
+ "fix(resolve-map): deep resolve of yet unknown path values"
+ ],
+ [
+ "f0183530",
+ "2018-09-01",
+ "feat(paths): add exists() path checker & tests"
+ ],
+ ["e66a4929", "2018-09-01", "fix(hdom): fix local import"],
+ ["71ee43ca", "2018-09-01", "Publish"],
+ ["e7016b42", "2018-09-01", "docs(hdom): fix screenshot link"],
+ ["a8282925", "2018-09-01", "Publish"],
+ ["d2b4fafb", "2018-09-01", "fix(vectors): add missing deps"],
+ [
+ "208e57d2",
+ "2018-09-01",
+ "docs: update various readme's, add/move screenshots"
+ ],
+ ["7fa3852a", "2018-08-31", "Publish"],
+ ["1060b2a3", "2018-08-31", "docs(hdom): update readme, add hydrate docs"],
+ [
+ "473aadc1",
+ "2018-08-31",
+ "refactor(examples): update crypto-chart to use `updateDOM` xform"
+ ],
+ [
+ "1a6741a1",
+ "2018-08-31",
+ "refactor(examples): update `updateDOM()` transducer call sites"
+ ],
+ [
+ "0f396948",
+ "2018-08-31",
+ "feat(transducers-hdom): add DOM hydration support, rename (#39)"
+ ],
+ ["5e74a9c0", "2018-08-31", "feat(hdom): update HDOMOpts & start()"],
+ ["1e8b4efa", "2018-08-31", "fix(hiccup): serialize() args"],
+ ["52417e37", "2018-08-31", "fix(examples): minor update hydrate demo"],
+ ["e7607f53", "2018-08-31", "docs(examples): update readmes"],
+ ["0d34bb7d", "2018-08-31", "feat(examples): add hydrate-basics example"],
+ [
+ "26bc7e74",
+ "2018-08-31",
+ "refactor(examples): update hdom start() call sites to new API"
+ ],
+ [
+ "d55d9303",
+ "2018-08-31",
+ "refactor(hdom): minor update HDOMOpts & start()"
+ ],
+ [
+ "9f8010db",
+ "2018-08-31",
+ "feat(hdom): add DOM hydration support (SSR), update start() (#39)"
+ ],
+ [
+ "1b97a25a",
+ "2018-08-31",
+ "fix(hiccup): disable spans for certain element types"
+ ],
+ [
+ "1b0deb22",
+ "2018-08-31",
+ "feat(hiccup): add optional support for spans & auto keying (#39)"
+ ],
+ ["b8d944eb", "2018-08-31", "refactor(vectors): update matrices & types"],
+ ["0a806011", "2018-08-30", "refactor(vectors): update mulV*() arg order"],
+ ["80f291b5", "2018-08-30", "Publish"],
+ [
+ "461adeef",
+ "2018-08-30",
+ "docs(resolve-map): fix #35, update docs & tests"
+ ],
+ ["0673f0f4", "2018-08-30", "fix(examples): fix #38, add missing dep"],
+ ["75d6409e", "2018-08-30", "build: update yarn.lock"],
+ ["d1b77cfe", "2018-08-30", "docs(vectors): update readme"],
+ [
+ "d5cec948",
+ "2018-08-30",
+ "feat(vectors): update types, update GVec, add maths fns, swap impls"
+ ],
+ [
+ "bdb5d377",
+ "2018-08-29",
+ "feat(vectors): consolidate vector consts, add toJSON() impls"
+ ],
+ ["bb55adf3", "2018-08-29", "Merge branch 'develop' into feature/webgl"],
+ [
+ "b82a22f5",
+ "2018-08-29",
+ "refactor(vectors): simplify prop accessors (DRY)"
+ ],
+ ["f5795eee", "2018-08-28", "Publish"],
+ ["cd834f82", "2018-08-28", "feat(vectors): add more vec2/3 ops"],
+ ["4a373674", "2018-08-28", "feat(bench): add opt prefix arg, update docs"],
+ ["39cced5f", "2018-08-28", "minor(examples): add cursor css for dial"],
+ ["986e954f", "2018-08-27", "Publish"],
+ [
+ "5afb5791",
+ "2018-08-27",
+ "Merge pull request #34 from andrew8er/pr/fix-rstream-resolve-errors"
+ ],
+ [
+ "34a97b47",
+ "2018-08-27",
+ "fix(rstream): Fix unbound this in method call expression"
+ ],
+ ["917d81d1", "2018-08-27", "Publish"],
+ ["dee0476d", "2018-08-27", "docs(examples): update list of examples"],
+ [
+ "d7235a3e",
+ "2018-08-27",
+ "feat(examples): add mouse & touch events for canvas-dial, refactor"
+ ],
+ [
+ "a0cbd2b8",
+ "2018-08-27",
+ "feat(atom): add .value accessor aliases (for deref()/reset())"
+ ],
+ ["cfb2b747", "2018-08-27", "feat(vectors): add mix1(), minor cleanups"],
+ [
+ "ccc40a9d",
+ "2018-08-27",
+ "feat(rstream-gestures): add options for local & scaled positions"
+ ],
+ [
+ "b25edbec",
+ "2018-08-27",
+ "fix(hdom-components): call canvas update from init()"
+ ],
+ ["3f27acd7", "2018-08-27", "docs(rstream): update merge() docs"],
+ ["b5633b18", "2018-08-27", "feat(examples): add canvas-dial example (WIP)"],
+ [
+ "135d6f1b",
+ "2018-08-27",
+ "feat(hdom-components): add HDPI adaptation helper for canvas comps"
+ ],
+ ["9d542b92", "2018-08-26", "minor(examples): fix/update comments"],
+ [
+ "80a5f300",
+ "2018-08-26",
+ "feat(examples): add client/browser version of commit-log"
+ ],
+ [
+ "318401c0",
+ "2018-08-25",
+ "refactor(examples): update components, add docs"
+ ],
+ [
+ "37718855",
+ "2018-08-25",
+ "refactor(examples): further DRY & readme updates"
+ ],
+ ["82db75b2", "2018-08-25", "docs: fix example table"],
+ ["0cd261cf", "2018-08-25", "docs(example): update example list"],
+ ["fca0b13d", "2018-08-25", "docs(examples): add more comments"],
+ ["ae383f8e", "2018-08-25", "refactor(examples): simplify date handling"],
+ [
+ "4be74bae",
+ "2018-08-25",
+ "fix(examples): commit log parsing, minor update html()"
+ ],
+ [
+ "d0b1a1e4",
+ "2018-08-25",
+ "feat(examples): add commit-table-ssr express server / git commit log demo"
+ ],
+ ["80cae22d", "2018-08-25", "chore: update make-module script"],
+ ["866f3cdd", "2018-08-25", "refactor(cache): update iterator methods"],
+ ["8e9ba347", "2018-08-24", "Publish"],
+ ["113b424b", "2018-08-24", "docs: fix links in readmes"],
+ ["f9a1cc2a", "2018-08-24", "docs(transducers-stats): fix screenshot link"],
+ ["89e1bd51", "2018-08-24", "docs(rle-pack): fix diagram link"],
+ ["1c92f223", "2018-08-24", "Publish"],
+ ["cff9d18a", "2018-08-24", "docs(transducers): update readme examples"],
+ ["7a5be213", "2018-08-24", "fix(transducers): arg handling in rename()"],
+ ["389aff82", "2018-08-24", "build: update yarn.lock"],
+ ["b3f94159", "2018-08-24", "Merge branch 'feature/tx-v2' into develop"],
+ ["3057237f", "2018-08-24", "refactor(iges): transducer imports & usage"],
+ [
+ "28110726",
+ "2018-08-24",
+ "assets(examples): update crypto-chart screenshot"
+ ],
+ ["2a443a56", "2018-08-24", "docs(transducers-stats): update readme"],
+ ["024a4e96", "2018-08-24", "docs(transducers): update readme"],
+ ["832e57f1", "2018-08-24", "fix(transducers): copy&paste error (push)"],
+ [
+ "d861bdd1",
+ "2018-08-24",
+ "fix(transducers): iterator1() final reduced value handling"
+ ],
+ [
+ "599f2b66",
+ "2018-08-24",
+ "feat(transducers): update base64Encode() to return string if input given"
+ ],
+ ["1025996e", "2018-08-24", "docs(rle-pack): update readme & diagram"],
+ [
+ "40415217",
+ "2018-08-24",
+ "feat(rle-pack): further update data format (non-repeats)"
+ ],
+ [
+ "694a2537",
+ "2018-08-24",
+ "feat(rle-pack): update data format, custom repeat sizes, rename fns"
+ ],
+ [
+ "89b4ad5d",
+ "2018-08-23",
+ "feat(transducers): update all reducers to accept opt iterables"
+ ],
+ [
+ "2c3a1147",
+ "2018-08-23",
+ "feat(transducers): add GroupByOpts interface, update groupBy* reducers"
+ ],
+ [
+ "8565edb8",
+ "2018-08-23",
+ "fix(rle-pack): fix initial repeat counts in encodeBytes(), update readme"
+ ],
+ [
+ "0bd860e6",
+ "2018-08-23",
+ "feat(transducers): add fill() & fillN() reducers"
+ ],
+ [
+ "fb3c04da",
+ "2018-08-23",
+ "refactor(vectors): make Vec & Mat type aliases of NumericArray"
+ ],
+ [
+ "519394b3",
+ "2018-08-23",
+ "feat(api): add NumericArray and TypedArray types"
+ ],
+ ["ecfcdcd9", "2018-08-23", "build: update yarn.lock"],
+ ["116ede83", "2018-08-23", "docs(transducers): update readme"],
+ [
+ "c716e4ac",
+ "2018-08-23",
+ "add(transducers): add IReducible support for transduce() & run()"
+ ],
+ [
+ "1280cfd5",
+ "2018-08-22",
+ "feat(dcons): add IReducible impl, update deps & imports"
+ ],
+ [
+ "f14f7ce5",
+ "2018-08-22",
+ "feat(associative): add IReducible impls for SortedMap & SortedSet"
+ ],
+ [
+ "9d83255a",
+ "2018-08-22",
+ "perf(transducers): add IReducible, update reduce()"
+ ],
+ [
+ "fd8e7614",
+ "2018-08-09",
+ "feat(rle-pack): add support for custom input word sizes"
+ ],
+ ["4fdd3c92", "2018-08-09", "docs(transducers): update readme"],
+ ["3e659181", "2018-08-09", "minor(transducers): fix comp import"],
+ [
+ "1434b0ed",
+ "2018-08-09",
+ "refactor(hdom): remove thi.ng/iterators dependency"
+ ],
+ ["802c5b44", "2018-08-09", "build(memoize): update/fix dev deps"],
+ [
+ "f3d46460",
+ "2018-08-09",
+ "refactor(rstream): use SEMAPHORE from thi.ng/api, not transducers"
+ ],
+ ["5d5c70ab", "2018-08-09", "Merge branch 'master' into feature/tx-v2"],
+ ["e9c8ddc6", "2018-08-09", "chore(strings): update exports, add docs"],
+ ["653a175a", "2018-08-09", "feat(strings): add case converters"],
+ [
+ "5209c426",
+ "2018-08-09",
+ "fix(strings): buffer length (for null inputs) (`center()`)"
+ ],
+ [
+ "1a20bc2f",
+ "2018-08-09",
+ "feat(strings): add truncateLeft() & wrap() stringers"
+ ],
+ [
+ "3a8bd088",
+ "2018-08-09",
+ "refactor(transducers): replace local types w/ external defs"
+ ],
+ [
+ "ca0a04e7",
+ "2018-08-09",
+ "feat(compose): extract comp() & juxt() to new @thi.ng/compose package"
+ ],
+ [
+ "bea7a1fd",
+ "2018-08-09",
+ "refactor(resolve-map): replace SEMAPHORE const w/ thi.ng/api def"
+ ],
+ [
+ "9b443cb4",
+ "2018-08-09",
+ "refactor(hdom): replace SEMAPHORE const w/ thi.ng/api def"
+ ],
+ [
+ "c22ac3ce",
+ "2018-08-09",
+ "refactor(associative): replace Pair & SEMAPHORE w/ identical thi.ng/api defs"
+ ],
+ [
+ "cf30ba26",
+ "2018-08-09",
+ "feat(api): add new/move type aliases into api.ts"
+ ],
+ [
+ "c9ac981a",
+ "2018-08-09",
+ "feat(transducers-stats): make xforms iterable if input given"
+ ],
+ [
+ "ab662d8a",
+ "2018-08-09",
+ "perf(transducers): add iterator1(), update various xforms"
+ ],
+ ["d130aaa1", "2018-08-08", "build: fix transducer versions"],
+ [
+ "8a111efd",
+ "2018-08-08",
+ "refactor(transducers): add shared SortOpts, update xforms"
+ ],
+ ["3e6c4624", "2018-08-08", "chore: update .gitignore"],
+ ["afb267a0", "2018-08-08", "docs: add graphviz dot files"],
+ [
+ "dcccbcba",
+ "2018-08-08",
+ "refactor(examples): simplify transducer usages"
+ ],
+ [
+ "c17cb087",
+ "2018-08-08",
+ "refactor(hdom-components): update/replace deps (iterators => transducers)"
+ ],
+ [
+ "420cfe37",
+ "2018-08-08",
+ "test(csp): fix regression to due transducers update"
+ ],
+ [
+ "d6352267",
+ "2018-08-08",
+ "refactor(dgraph): update/replace deps (iterators => transducers)"
+ ],
+ [
+ "78d0a844",
+ "2018-08-08",
+ "fix(iges): regression to due transducers update"
+ ],
+ [
+ "065d78ba",
+ "2018-08-08",
+ "refactor(cache): update/replace deps (iterators => transducers)"
+ ],
+ [
+ "abe1a886",
+ "2018-08-08",
+ "refactor(associative): update/replace deps (iterators => transducers)"
+ ],
+ [
+ "eb1714f5",
+ "2018-08-08",
+ "refactor(rstream-query): simplify transducer uses"
+ ],
+ [
+ "cd5c6ff1",
+ "2018-08-08",
+ "refactor(rstream): update StreamSync transducer init"
+ ],
+ [
+ "bae8a1d8",
+ "2018-08-08",
+ "feat(transducers): update all xforms to also work as iterator"
+ ],
+ [
+ "e713704f",
+ "2018-08-08",
+ "refactor(transducers): rename inspect() => trace()"
+ ],
+ [
+ "45e49930",
+ "2018-08-08",
+ "refactor(transducers): add ReductionFn type alias, update Reducer"
+ ],
+ ["723da5bb", "2018-08-08", "fix(transducers): hex type decl"],
+ ["ea768ad0", "2018-08-08", "Publish"],
+ [
+ "6a0db9c7",
+ "2018-08-08",
+ "refactor(examples): replace hex() => radix(), update deps"
+ ],
+ [
+ "b1ea9a55",
+ "2018-08-08",
+ "refactor(transducers): deprecate hex(), update hexDump() xform & deps"
+ ],
+ ["5864f2cd", "2018-08-08", "feat(strings): add opt prefix arg for radix()"],
+ [
+ "a5e2c28a",
+ "2018-08-08",
+ "feat(transducers): add partitionBits() xform & tests"
+ ],
+ ["6eb97b58", "2018-08-08", "Publish"],
+ ["b2ebbfc8", "2018-08-08", "fix(strings): float type decl"],
+ ["0f2cf77d", "2018-08-08", "Publish"],
+ ["a14e5b24", "2018-08-08", "docs: update readmes"],
+ [
+ "56d64c50",
+ "2018-08-08",
+ "refactor(examples): update crypto-chart to use @thi.ng/strings"
+ ],
+ ["df067d84", "2018-08-08", "refactor(iges): update to use @thi.ng/strings"],
+ [
+ "40781eb3",
+ "2018-08-08",
+ "feat(strings): re-import & update @thi.ng/strings from MBP2010"
+ ],
+ ["369f375d", "2018-08-08", "build(memoize): update deps"],
+ [
+ "2bc092d4",
+ "2018-08-08",
+ "feat(memoize): add optional cache arg for memoizeJ()"
+ ],
+ ["adc49285", "2018-08-07", "feat(memoize): add @thi.ng/memoize package"],
+ ["252411aa", "2018-08-06", "Publish"],
+ ["46d02f34", "2018-08-06", "refactor(examples): update rstream examples"],
+ ["378772fb", "2018-08-06", "fix(rstream): add generics for stream()"],
+ ["ec777c09", "2018-08-03", "Publish"],
+ ["f7500359", "2018-08-03", "docs: add rootlevel license file"],
+ [
+ "7c54c68f",
+ "2018-08-03",
+ "refactor(examples): minor update rstream examples"
+ ],
+ [
+ "361f8b43",
+ "2018-08-03",
+ "refactor(rstream-query): remove obsolete `reset` in addJoin()"
+ ],
+ [
+ "f9466317",
+ "2018-08-03",
+ "refactor(rstream-graph): remove obsolete `reset` in node() factory"
+ ],
+ ["32810900", "2018-08-03", "test(rstream): update tests"],
+ ["e1f4667c", "2018-08-03", "chore(rstream): remove obsolete file"],
+ [
+ "9101e089",
+ "2018-08-03",
+ "docs(rstream): add/update docs for all remaining stream constructs"
+ ],
+ [
+ "e97aac0d",
+ "2018-08-03",
+ "feat(rstream): add stream() & subscription() factories, add/update docs"
+ ],
+ [
+ "55499cc4",
+ "2018-08-03",
+ "feat(rstream): update StreamSync to use `reset: false` by default, update docs"
+ ],
+ ["2f0235ea", "2018-08-03", "docs: update main readme"],
+ ["4a9b4cce", "2018-08-03", "Publish"],
+ [
+ "c5afc7b3",
+ "2018-08-03",
+ "refactor(examples): simplify rstream-hdom example"
+ ],
+ [
+ "fdc7630b",
+ "2018-08-03",
+ "refactor(iges): only expect ArrayLike points/vectors, minor other updates"
+ ],
+ ["9ea44beb", "2018-08-03", "test(transducers): add padLast() tests"],
+ ["e50fd10e", "2018-08-03", "feat(transducers): add peek() helper fn"],
+ [
+ "ff91987f",
+ "2018-08-03",
+ "docs(transducers): add docs & examples for ~50% of all transducers"
+ ],
+ [
+ "69d25c8c",
+ "2018-08-02",
+ "refactor(examples): update transducers-hdom example"
+ ],
+ [
+ "949a5d46",
+ "2018-08-02",
+ "fix(transducers-hdom): support hdom user context"
+ ],
+ ["feae35b0", "2018-08-02", "Publish"],
+ ["8ee1b103", "2018-08-02", "Merge branch 'develop'"],
+ [
+ "698bb60d",
+ "2018-08-02",
+ "fix(examples): add missing files (triple-query)"
+ ],
+ ["3e70c31a", "2018-08-02", "feat(examples): add transducers-hdom example"],
+ [
+ "7efce7a7",
+ "2018-08-02",
+ "feat(transducers-hdom): add new package @thi.ng/transducers-hdom"
+ ],
+ [
+ "d4aa5ea2",
+ "2018-08-02",
+ "refactor(examples): add new types for crypto-chart example"
+ ],
+ ["bc26fb33", "2018-08-02", "Publish"],
+ ["381ad971", "2018-08-02", "Merge branch 'develop'"],
+ ["4ce80e79", "2018-08-02", "docs(vectors): update readme"],
+ [
+ "befc7785",
+ "2018-08-02",
+ "refactor(vectors): update cylindrical coord conversion, add Vec3 methods"
+ ],
+ [
+ "74f939c3",
+ "2018-08-02",
+ "feat(vectors): add toCylindrical3() / fromCylindrical3()"
+ ],
+ [
+ "3039a35a",
+ "2018-08-02",
+ "feat(vectors): make Vec2/3/4 array-like, add IEquiv impls, add tests"
+ ],
+ [
+ "2a13f28c",
+ "2018-08-02",
+ "feat(vectors): add gvec size checks, add IEquiv & Iterable impls"
+ ],
+ [
+ "d007a8ae",
+ "2018-08-02",
+ "docs(examples): update example table (add triple-query)"
+ ],
+ ["248150ee", "2018-08-01", "Publish"],
+ [
+ "b1cf171f",
+ "2018-08-01",
+ "chore: update make-* scripts, add cloc stats script"
+ ],
+ ["748131a3", "2018-08-01", "chore: update .gitignore"],
+ [
+ "cbfd65a3",
+ "2018-08-01",
+ "fix(examples): add utf meta to all example html files"
+ ],
+ ["1a8ff8a6", "2018-08-01", "refactor(examples): cleanup imports"],
+ ["4db3fa83", "2018-08-01", "refactor(rstream-query): cleanup imports"],
+ ["c1690170", "2018-08-01", "refactor(rstream-dot): cleanup imports"],
+ ["0f7e82ae", "2018-08-01", "refactor(rstream): cleanup imports"],
+ ["14672731", "2018-08-01", "refactor(hdom): cleanup imports"],
+ ["e0ce1061", "2018-08-01", "Publish"],
+ [
+ "68f59f21",
+ "2018-08-01",
+ "refactor(vectors): add IVec to all vector class wrappers"
+ ],
+ [
+ "3ca2cbf1",
+ "2018-08-01",
+ "refactor(iges): make fill mode optional for addPolyline2d()"
+ ],
+ ["2ac23a34", "2018-08-01", "Merge branch 'feature/iges' into develop"],
+ ["ee24ede1", "2018-08-01", "Merge branch 'feature/ts3' into develop"],
+ [
+ "e7d2675d",
+ "2018-08-01",
+ "feat(examples): add triple-query example project"
+ ],
+ ["0f01cc36", "2018-08-01", "minor: markdown fixes in various readmes"],
+ ["542540f0", "2018-08-01", "build(examples): update webpack deps"],
+ ["2ecd5384", "2018-08-01", "refactor(router): TS3.0 PropertyKey handling"],
+ [
+ "bf2a3074",
+ "2018-08-01",
+ "refactor(pointfree): TS3.0 PropertyKey handling"
+ ],
+ [
+ "38372cc9",
+ "2018-08-01",
+ "refactor(interceptors): TS3.0 PropertyKey handling"
+ ],
+ [
+ "30d65d4b",
+ "2018-08-01",
+ "refactor(defmulti): TS3.0 PropertyKey handling"
+ ],
+ [
+ "2234313c",
+ "2018-08-01",
+ "refactor(associative): TS3.0 PropertyKey handling"
+ ],
+ ["20478072", "2018-08-01", "refactor(api): TS3.0 PropertyKey handling"],
+ [
+ "c7f72440",
+ "2018-08-01",
+ "build: update dev dependencies in all packages & examples"
+ ],
+ ["56a1f0eb", "2018-07-30", "Publish"],
+ [
+ "3534274a",
+ "2018-07-30",
+ "fix(vectors): get*() return types, refactor using set*()"
+ ],
+ ["0ca667a4", "2018-07-30", "Publish"],
+ [
+ "3de5cea4",
+ "2018-07-30",
+ "fix(vectors): naming convention, add function overview tables"
+ ],
+ ["474f8df5", "2018-07-29", "Merge branch 'develop' into feature/iges"],
+ ["e82d97a7", "2018-07-29", "docs: update package list main readme"],
+ ["aef277f8", "2018-07-29", "Publish"],
+ ["ae1da134", "2018-07-29", "docs(vectors): update readme & package info"],
+ ["acedfae8", "2018-07-29", "Merge branch 'feature/geom' into develop"],
+ ["93b268a6", "2018-07-29", "docs(vectors): update readme"],
+ ["6571b8a3", "2018-07-29", "test(vectors): add gvec tests"],
+ [
+ "d2bdf79e",
+ "2018-07-29",
+ "refactor(vector): update eqDelta impls, rename array transformers"
+ ],
+ [
+ "54b3db2d",
+ "2018-07-29",
+ "feat(vectors): update get & copy fns to retain buffer types"
+ ],
+ [
+ "f99cf3dc",
+ "2018-07-29",
+ "refactor(vectors): add gvec default length args"
+ ],
+ [
+ "5bba592d",
+ "2018-07-29",
+ "feat(vectors): add swizzle fns, update/unify fn naming"
+ ],
+ [
+ "e3c61675",
+ "2018-07-29",
+ "feat(vectors): add generic vec fns & class wrapper"
+ ],
+ [
+ "1f0551d0",
+ "2018-07-28",
+ "refactor(vectors): various small fixes/additions (matrices)"
+ ],
+ [
+ "1ec75e61",
+ "2018-07-27",
+ "feat(vectors): re-add matrix class wrappers, update vec classes"
+ ],
+ ["29500b6d", "2018-07-26", "build: add babel-minify dev dependency"],
+ [
+ "21b04f06",
+ "2018-07-26",
+ "feat(vectors): re-import updated mat44, add orthoNormal3"
+ ],
+ ["eb3f66fb", "2018-07-26", "test(vectors): add tests"],
+ [
+ "4fdda6a9",
+ "2018-07-26",
+ "feat(vectors): re-import updated mat23/33/44 functions"
+ ],
+ ["2a5a744d", "2018-07-25", "fix(vectors): copy/paste mistakes, add tests"],
+ [
+ "e289db2b",
+ "2018-07-25",
+ "refactor(vectors): add op22/32, simplify various vec2/3 ops"
+ ],
+ ["b59fadfd", "2018-07-25", "feat(vectors): add vec4 ops & class wrapper"],
+ [
+ "35af6a56",
+ "2018-07-25",
+ "feat(vectors): add minor/majorAxis(), minor/major2/3"
+ ],
+ ["5c52f771", "2018-07-25", "Merge branch 'develop' into feature/geom"],
+ ["5a3b9988", "2018-07-25", "Publish"],
+ [
+ "a322e001",
+ "2018-07-25",
+ "fix(transducers-stats): fix naming of MACD results (#31)"
+ ],
+ ["03f94352", "2018-07-25", "Publish"],
+ ["d967f94e", "2018-07-25", "docs(transducers-stats): update docs & readme"],
+ [
+ "c97cb75c",
+ "2018-07-25",
+ "feat(transducers-stats): add BollingerBand value interface"
+ ],
+ ["b92aaa58", "2018-07-25", "feat(transducers-stats): add MACD (fixes #31)"],
+ [
+ "d1541539",
+ "2018-07-25",
+ "feat(vectors): re-import vector types from old thi.ng/geom TS version"
+ ],
+ [
+ "f7a084ae",
+ "2018-07-24",
+ "feat(iges): add PolylineMode enum, update addPolyline2d()"
+ ],
+ ["e349cb6a", "2018-07-23", "docs(transducers): update readmes"],
+ ["e7772934", "2018-07-21", "Publish"],
+ [
+ "0b0a7ca9",
+ "2018-07-21",
+ "feat(transducers-stats): add stochastic oscillator, refactor"
+ ],
+ [
+ "2953caaa",
+ "2018-07-21",
+ "feat(examples): add MA mode dropdown, update crypto-chart dataflow"
+ ],
+ [
+ "e3def294",
+ "2018-07-21",
+ "refactor(examples): switch to WMA plots in crypto-chart demo"
+ ],
+ ["fde777d0", "2018-07-21", "docs: update main readme"],
+ [
+ "76dc450d",
+ "2018-07-21",
+ "feat(range-coder): re-import @thi.ng/range-coder package from MB2010"
+ ],
+ ["8389a2c7", "2018-07-20", "Publish"],
+ ["7cfb8e5a", "2018-07-20", "minor(rstream): remove obsolete args (pubsub)"],
+ [
+ "a59c5c94",
+ "2018-07-20",
+ "perf(rstream): optimize dispatch if only single child"
+ ],
+ ["cd751fb4", "2018-07-20", "feat(rstream): add reset option for timeout()"],
+ [
+ "7b10e0c9",
+ "2018-07-20",
+ "Merge pull request #30 from andrew8er/feature/rstream-add-timeout"
+ ],
+ ["e8009a68", "2018-07-19", "docs(transducers-stats): update readme links"],
+ ["52ce30c4", "2018-07-19", "docs: update main readme"],
+ ["7e497439", "2018-07-19", "build(transducers-stats): update package deps"],
+ ["1de746b2", "2018-07-19", "Merge branch 'feature/tx-stats' into develop"],
+ ["7df3ce04", "2018-07-19", "feat(transducers-stats): add other xforms"],
+ [
+ "7a5812fb",
+ "2018-07-19",
+ "feat(transducers-stats): add @thi.ng/transducers-stats package"
+ ],
+ ["1fe612de", "2018-07-19", "docs(transducers): reapply MD fixes"],
+ ["3a2aa7a6", "2018-07-19", "Merge branch 'master' into develop"],
+ [
+ "78701493",
+ "2018-07-19",
+ "feat(examples): update axis ticks, add more symbols, refactor SMAs"
+ ],
+ ["08db846b", "2018-07-19", "docs(transducers): update readme"],
+ ["64de94b5", "2018-07-19", "Publish"],
+ [
+ "9874acec",
+ "2018-07-19",
+ "perf(transducers): update movingAverage() xform, add docs"
+ ],
+ ["482943c8", "2018-07-18", "docs(transducers): add/update doc strings"],
+ ["ccc37c67", "2018-07-18", "feat(transducer): add asIterable() helper"],
+ [
+ "092154c7",
+ "2018-07-18",
+ "feat(transducers): allow key arrays for rename(), simplify call sites"
+ ],
+ [
+ "9b07d12a",
+ "2018-07-18",
+ "feat(transducers): add juxtR() for multiplexed reductions from same src"
+ ],
+ ["aa55973e", "2018-07-17", "feat(rstream): Add a timeout() subscription"],
+ ["2733684e", "2018-07-16", "Publish"],
+ [
+ "732a0967",
+ "2018-07-16",
+ "docs(examples): update readme & dataflow diagram"
+ ],
+ [
+ "3edbaefc",
+ "2018-07-16",
+ "feat(examples): add auto-refresh, add data credits"
+ ],
+ [
+ "9be20180",
+ "2018-07-16",
+ "fix(rstream): emit first value immediately in fromInterval()"
+ ],
+ [
+ "0508e40a",
+ "2018-07-16",
+ "docs(examples): add/update types in rstream-hdom"
+ ],
+ [
+ "694e6c64",
+ "2018-07-16",
+ "feat(examples): improve time labels on crypto-chart"
+ ],
+ [
+ "3c1c29ac",
+ "2018-07-16",
+ "refactor(examples): remove atom usage from rstream-hdom demo, update docs"
+ ],
+ [
+ "7cd78e03",
+ "2018-07-15",
+ "feat(examples): add theme support for crypto chart, update diagram"
+ ],
+ ["9ff8d352", "2018-07-15", "docs(examples): update list of demos"],
+ ["f1e3d081", "2018-07-15", "docs(examples): add dataflow graph to readme"],
+ [
+ "6989b8db",
+ "2018-07-15",
+ "docs(examples): temp fix live demo link in readme"
+ ],
+ ["9b26c4b4", "2018-07-15", "Publish"],
+ [
+ "24829454",
+ "2018-07-15",
+ "fix(resolve-map): add support for alt ES6 destructure form `{a: b}`"
+ ],
+ [
+ "08a7600a",
+ "2018-07-15",
+ "build(hdom-components): update @types/webgl dep"
+ ],
+ ["2d7e7cdf", "2018-07-15", "build: update dev dependencies"],
+ [
+ "c95a3701",
+ "2018-07-15",
+ "docs(example): add API ref link, update readme"
+ ],
+ ["a8487edc", "2018-07-15", "feat(examples): add crypto chart example"],
+ ["20b028c6", "2018-07-13", "chore: update make-module script"],
+ ["4f19be90", "2018-07-13", "docs: fix various markdown issues"],
+ ["973f1a42", "2018-07-13", "Publish"],
+ [
+ "ee48a94c",
+ "2018-07-13",
+ "fix(rstream-gestures): touchevent check in safari"
+ ],
+ ["d636876d", "2018-07-13", "Publish"],
+ [
+ "976a6d85",
+ "2018-07-13",
+ "refactor(iges): update formatParams(), optimize iges file size"
+ ],
+ ["81223dca", "2018-07-13", "feat(transducers): add wordWrap() xform"],
+ ["634de84d", "2018-07-12", "docs: add @thi.ng/iges to package list"],
+ ["3935d9a5", "2018-07-12", "Publish"],
+ ["eb6dfa9b", "2018-07-12", "build(iges): update package info"],
+ ["b841269a", "2018-07-12", "Merge branch 'feature/iges' into develop"],
+ [
+ "087f3480",
+ "2018-07-12",
+ "refactor(iges): emit compressed globals section"
+ ],
+ [
+ "7f1b2d46",
+ "2018-07-12",
+ "feat(iges): re-import & update IGES exporter (via MBP2010)"
+ ],
+ ["d061c7d0", "2018-07-11", "Publish"],
+ [
+ "73c7b8ac",
+ "2018-07-11",
+ "perf(interceptors): update valueSetter()/valueUpdater()"
+ ],
+ [
+ "ad4caad9",
+ "2018-07-11",
+ "feat(paths): add updater(), refactor updateIn(), update readme"
+ ],
+ ["fd23a34e", "2018-07-11", "docs(sax): minor update readme"],
+ [
+ "ef161341",
+ "2018-07-11",
+ "docs(sax): add tests & DOM parsing example to readme"
+ ],
+ ["8cd279a8", "2018-07-10", "Publish"],
+ [
+ "126103b3",
+ "2018-07-10",
+ "fix(hdom): always update \"value\" attrib last in diffAttributes()"
+ ],
+ [
+ "fcfd4bf8",
+ "2018-07-09",
+ "docs(hiccup-css): fix #26, add pseudo-class & attrib selector docs"
+ ],
+ ["e4b62d8b", "2018-07-09", "Publish"],
+ ["22890961", "2018-07-09", "docs(rstream): add AUTHORS.md"],
+ [
+ "d485bfa5",
+ "2018-07-09",
+ "Merge pull request #28 from andrew8er/pr/rstream-fix-transduce"
+ ],
+ [
+ "03543ee9",
+ "2018-07-09",
+ "fix(transducers): revert mean() from regression introduced in 095e6ef"
+ ],
+ [
+ "9513ddd8",
+ "2018-07-09",
+ "Merge branch 'master' into pr/rstream-fix-transduce"
+ ],
+ [
+ "5ec61406",
+ "2018-07-09",
+ "build(examples): add missing html/webpack config for rstream-hdom demo"
+ ],
+ ["8321660c", "2018-07-09", "feat(examples): add rstream-hdom example"],
+ [
+ "7f2d5dd2",
+ "2018-07-09",
+ "fix(rstream): Fix potential reference error in transduce()"
+ ],
+ ["84f23d35", "2018-07-09", "Publish"],
+ [
+ "095e6ef3",
+ "2018-07-09",
+ "refactor(transducers): add reducer() helper, update existing reducers"
+ ],
+ ["0430c769", "2018-07-04", "Publish"],
+ ["dbbeffb3", "2018-07-04", "docs(paths): update docs & readme"],
+ ["c7f2f92d", "2018-07-04", "test(paths): add/update tests"],
+ [
+ "3d9d6200",
+ "2018-07-04",
+ "feat(paths): update setter() to support arrays, optimize (~2.5x faster)"
+ ],
+ ["7fb407c0", "2018-07-04", "Publish"],
+ ["36165be8", "2018-07-04", "minor(rstream-graph): formatting"],
+ [
+ "de17340a",
+ "2018-07-04",
+ "feat(rstream-gestures): add event & preventDefault opts, update docs"
+ ],
+ [
+ "d5ac2643",
+ "2018-07-04",
+ "feat(rstream): add support for event listener opts in `fromEvent()`"
+ ],
+ ["9ffa346d", "2018-07-03", "Publish"],
+ [
+ "677c7cc0",
+ "2018-07-03",
+ "feat(transducers): add ensureArray(), refactor reverse()"
+ ],
+ [
+ "17d412af",
+ "2018-07-03",
+ "test(rstream-graph): increase timeout to avoid travis errors"
+ ],
+ ["a5942022", "2018-07-03", "Publish"],
+ ["33f0d197", "2018-07-03", "fix(associative): minor SortedSet fixes"],
+ [
+ "1e185011",
+ "2018-06-29",
+ "Merge pull request #24 from andrew8er/pr/rstream-transduce-unsubscibe-on-error"
+ ],
+ [
+ "8c7d9376",
+ "2018-06-28",
+ "fix(rstream): unsubscribe on error in transduce()"
+ ],
+ ["576f1da3", "2018-06-25", "Publish"],
+ ["c4fad707", "2018-06-25", "fix(rstream-graph): individual node outputs"],
+ ["eb2015df", "2018-06-21", "Publish"],
+ [
+ "d0b1e5c4",
+ "2018-06-21",
+ "feat(rstream-graph): add stop(), fix `const` inputs, update docs/readme"
+ ],
+ [
+ "cc5b7367",
+ "2018-06-21",
+ "feat(rstream): option to avoid auto-closing `fromInterval()`, add docs"
+ ],
+ [
+ "4611e8e0",
+ "2018-06-21",
+ "chore: update repo & homepage fields in all packages"
+ ],
+ ["2223bded", "2018-06-21", "docs: fix package links in readmes"],
+ ["a3b245c8", "2018-06-20", "Publish"],
+ ["cd863214", "2018-06-20", "docs(transducers-fsm): fix readme (example)"],
+ ["60dca8ee", "2018-06-20", "Publish"],
+ [
+ "882f3949",
+ "2018-06-20",
+ "feat(sax): add children & trim opts, add CDATA support"
+ ],
+ ["6cf0d915", "2018-06-19", "Publish"],
+ ["eed50b81", "2018-06-19", "docs: update main readme"],
+ [
+ "343e07f1",
+ "2018-06-19",
+ "refactor(sax): wrap FSM handler results as arrays, update ELEM_SINGLE"
+ ],
+ [
+ "a9ca1351",
+ "2018-06-19",
+ "feat(transducers-fsm): support multiple results, add tests, update readme"
+ ],
+ ["8959b938", "2018-06-19", "docs(sax): update readme (add SVG example)"],
+ [
+ "bbd3b4ba",
+ "2018-06-19",
+ "docs(transducers-fsm): update readme, whitespace"
+ ],
+ [
+ "bc261e57",
+ "2018-06-19",
+ "feat(transducers): add matchFirst()/matchLast() xforms, update readme"
+ ],
+ [
+ "e824b6bb",
+ "2018-06-19",
+ "feat(sax): add support for escape seqs, minor optimizations"
+ ],
+ ["4e7fca56", "2018-06-18", "chore: update make-module script"],
+ [
+ "30811ce5",
+ "2018-06-18",
+ "docs(transducers-fsm): update package keywords"
+ ],
+ ["cc11ade5", "2018-06-18", "Publish"],
+ ["0e4662d1", "2018-06-18", "fix(sax): correct docs in readme"],
+ ["278a86c2", "2018-06-18", "Publish"],
+ ["b5b26300", "2018-06-18", "docs: update package docs (bench / dot)"],
+ ["42e22921", "2018-06-18", "docs: update readmes (add/fix links)"],
+ ["10e807c5", "2018-06-18", "Merge branch 'feature/sax' into develop"],
+ ["3589e155", "2018-06-18", "fix(checks): isOdd() for negative values"],
+ ["23b9cc2e", "2018-06-18", "docs(transducers-fsm): update docs & readme"],
+ [
+ "0f2fcdff",
+ "2018-06-18",
+ "feat(sax): add entity support, update result format, update states"
+ ],
+ [
+ "56deb455",
+ "2018-06-17",
+ "refactor(sax): remove extracted FSM transducer & types, update readme"
+ ],
+ ["7c3c2903", "2018-06-17", "feat(transducers-fsm): inital import"],
+ [
+ "64f23789",
+ "2018-06-17",
+ "feat(sax): update error handling, add parse() wrapper, add FSMOpts"
+ ],
+ [
+ "a4766a54",
+ "2018-06-17",
+ "feat(sax): add support for proc & doctype elements, update `end` results"
+ ],
+ [
+ "3dea9549",
+ "2018-06-17",
+ "feat(sax): emit child elements with `end` results, support comments"
+ ],
+ ["74f7d02e", "2018-06-17", "refactor(sax): extract parser sub-states"],
+ ["dce189f9", "2018-06-17", "feat(sax): initial import"],
+ ["f13138a4", "2018-06-08", "Publish"],
+ ["e1a8c915", "2018-06-08", "docs(hiccup-css): update readme"],
+ [
+ "cffab49d",
+ "2018-06-08",
+ "Merge branch 'feature/hcss-inject' into develop"
+ ],
+ ["8d6e6c86", "2018-06-08", "feat(hiccup-css): add injectStyleSheet()"],
+ ["244bf213", "2018-06-08", "feat(hiccup-css): add class scoping support"],
+ ["b358c1a7", "2018-06-07", "Publish"],
+ ["e0535b4c", "2018-06-07", "docs(resolve-map): update readme"],
+ ["0beaffb1", "2018-06-07", "docs(resolve-map): update readme"],
+ [
+ "0fc2305e",
+ "2018-06-07",
+ "fix(rstream-graph): rename `resolveMap` => `resolve` due to upstream changes"
+ ],
+ [
+ "35deb3b8",
+ "2018-06-07",
+ "Merge branch 'feature/resolve-auto' into develop"
+ ],
+ [
+ "e61c3b59",
+ "2018-06-07",
+ "feat(resolve-map): add cycle detection, fix edge cases"
+ ],
+ [
+ "57f1ed5f",
+ "2018-06-06",
+ "feat(resolve-map): add ES6 destructuring shorthands for function vals"
+ ],
+ ["93b40b78", "2018-06-06", "Publish"],
+ ["720b1f18", "2018-06-06", "docs(rstream-graph): update api docs & readme"],
+ [
+ "576668e3",
+ "2018-06-06",
+ "Merge branch 'feature/rs-graph-outputs' into develop"
+ ],
+ [
+ "48c796f5",
+ "2018-06-06",
+ "fix(resolve-map): also use _resolvePath for plain lookups, optimize"
+ ],
+ [
+ "dd2cbd44",
+ "2018-06-06",
+ "refactor(examples): update rstream-graph examples"
+ ],
+ [
+ "1a09b61e",
+ "2018-06-06",
+ "minor(rstream-graph): minor fix exported types"
+ ],
+ ["558f4f8c", "2018-06-06", "fix(resolve-map): add private _resolveDeep"],
+ [
+ "f2e0df25",
+ "2018-06-06",
+ "feat(rstream-graph): add full/optional support for multiple node outputs"
+ ],
+ [
+ "dc6e0acc",
+ "2018-06-06",
+ "refactor(resolve-map): export absPath(), add LookupPath type alias"
+ ],
+ [
+ "be21c4c2",
+ "2018-06-06",
+ "feat(rstream-graph): update NodeOutput, support multiple handlers"
+ ],
+ ["de48e134", "2018-06-05", "build: add yarn bootstrap"],
+ ["67c7e17d", "2018-05-30", "Publish"],
+ ["45785229", "2018-05-30", "Merge branch 'develop'"],
+ ["b267c999", "2018-05-30", "Merge branch 'feature/command' into develop"],
+ [
+ "7ac6227d",
+ "2018-05-30",
+ "feat(atom): provide prev/curr states to history event listeners"
+ ],
+ ["94225989", "2018-05-29", "feat(atom): add INotify impl for History"],
+ ["44998ca0", "2018-05-20", "Publish"],
+ [
+ "ad56421a",
+ "2018-05-20",
+ "refactor(rstream-graph): allow fn vals in GraphSpec too, update test"
+ ],
+ ["b7560989", "2018-05-20", "Publish"],
+ [
+ "0818498a",
+ "2018-05-20",
+ "feat(rstream-graph): update types, initGraph(), node1(), add tests"
+ ],
+ ["c880a633", "2018-05-20", "Publish"],
+ [
+ "773829e4",
+ "2018-05-20",
+ "minor(rstream): add alt subscribe() overrides (disabled)"
+ ],
+ [
+ "846aaf97",
+ "2018-05-20",
+ "feat(rstream): re-implement bisect() using PubSub, update tests"
+ ],
+ [
+ "cbc600e7",
+ "2018-05-20",
+ "fix(rstream): minor update PubSub topic fn return type"
+ ],
+ [
+ "23fdd398",
+ "2018-05-19",
+ "feat(rstream): update resolve(), update subscribe() overrides"
+ ],
+ ["0e103c50", "2018-05-16", "Publish"],
+ ["0c292503", "2018-05-16", "feat(examples): add input clearing"],
+ ["7e1028a2", "2018-05-15", "fix(examples): tab handling in fuzzy dropdown"],
+ [
+ "2482b16e",
+ "2018-05-15",
+ "fix(hdom): delay init() lifecycle call to ensure children are available"
+ ],
+ ["81b596f6", "2018-05-15", "refactor(examples): update highlightMatches()"],
+ ["db58ebc7", "2018-05-15", "feat(examples): add fuzzy match highlighting"],
+ [
+ "09d531a7",
+ "2018-05-15",
+ "feat(exmples): add hdom-dropdown-fuzzy (unfinished)"
+ ],
+ ["577bdde8", "2018-05-15", "docs: add discord badge"],
+ ["7349ef43", "2018-05-15", "test(hdom): fix/update lifecycle test"],
+ ["5595cc2a", "2018-05-14", "Publish"],
+ ["4dd97abd", "2018-05-14", "docs: update readmes (compare / equiv)"],
+ ["4b94a1b9", "2018-05-14", "docs(api): update doc strings"],
+ ["f7b6b342", "2018-05-14", "Publish"],
+ ["191bc981", "2018-05-14", "chore: update package keywords"],
+ [
+ "ade96f86",
+ "2018-05-14",
+ "fix(hdom): component obj lifecycle method thisArg handling"
+ ],
+ ["c54f7357", "2018-05-14", "test(transducers): remove obsolete test file"],
+ [
+ "e238541f",
+ "2018-05-14",
+ "refactor(transducers): replace wrapBoth/Left/Right w/ wrap()"
+ ],
+ ["fbba5d27", "2018-05-14", "Publish"],
+ ["d59b0af3", "2018-05-14", "docs(transducers): update readme"],
+ ["37362dd2", "2018-05-14", "test(transducers): add fuzzy tests"],
+ [
+ "fc6acd16",
+ "2018-05-14",
+ "chore(transducers): update deps, readme, re-exports"
+ ],
+ ["2bebba28", "2018-05-14", "feat(transducers): add filterFuzzy() xform"],
+ ["306625df", "2018-05-14", "feat(transducers): add wrap*() iterators"],
+ ["9efa5762", "2018-05-14", "docs(resolve-map): update readme"],
+ ["4591d5d5", "2018-05-14", "minor(examples): update dropdown html"],
+ ["2076d25b", "2018-05-14", "docs(resolve-map): add readme example"],
+ ["ea185897", "2018-05-14", "Publish"],
+ ["6661fc3a", "2018-05-14", "feat(examples): add hdom-dropdown example"],
+ [
+ "5e729701",
+ "2018-05-14",
+ "feat(interceptors): update dispatch() / dispatchNow()"
+ ],
+ ["644d1ffe", "2018-05-13", "docs(hdom): update readme example"],
+ ["5d6e762d", "2018-05-13", "Publish"],
+ ["609d66dd", "2018-05-13", "docs(hdom): update readme"],
+ [
+ "01f0fa56",
+ "2018-05-13",
+ "Merge branch 'feature/hiccup-context' into develop"
+ ],
+ ["f8fe5001", "2018-05-13", "docs(hiccup): update readme"],
+ ["67015ce9", "2018-05-13", "refactor(examples): update svg examples"],
+ [
+ "dc775404",
+ "2018-05-13",
+ "docs(hiccup-svg): resolve #19, update readme, add invocation notes"
+ ],
+ [
+ "373701b0",
+ "2018-05-13",
+ "feat(pointfree): add execjs for host calls, update readme"
+ ],
+ ["396faec8", "2018-05-13", "refactor(hiccup-svg): rename svgdoc => svg"],
+ ["765e7302", "2018-05-13", "docs(hiccup): update readme"],
+ ["b1cb7d9a", "2018-05-12", "perf(hiccup): update css()"],
+ [
+ "feca5666",
+ "2018-05-12",
+ "refactor(hiccup): fix #19, add support for context object"
+ ],
+ ["4b8caec9", "2018-05-12", "docs: update main readme"],
+ ["2d4fd682", "2018-05-12", "docs: update all readme's (add deps links)"],
+ ["6ff48a41", "2018-05-12", "docs(defmulti): update readme"],
+ ["8b2e67ce", "2018-05-12", "Publish"],
+ ["41ce19c5", "2018-05-12", "test(csp): update IEnabled test impl"],
+ ["67f0e546", "2018-05-12", "refactor(dcons): update pop()"],
+ ["9b388604", "2018-05-11", "refactor(api): update interfaces, add docs"],
+ ["04b66b2f", "2018-05-11", "Publish"],
+ [
+ "fbb721f8",
+ "2018-05-11",
+ "docs: remove dep graph from main readme, update package"
+ ],
+ [
+ "eeed25ed",
+ "2018-05-11",
+ "feat(defmulti): add generics, update docs & readme"
+ ],
+ ["011519d7", "2018-05-11", "docs: update dep graph"],
+ ["2fd3d822", "2018-05-11", "Publish"],
+ [
+ "126ecf36",
+ "2018-05-11",
+ "feat(defmulti): add defmultiN(), update readme, add tests"
+ ],
+ ["5391d986", "2018-05-11", "fix(pointfree): minor update error handling"],
+ [
+ "5227dd1f",
+ "2018-05-11",
+ "refactor(errors): update return types (`never`)"
+ ],
+ ["790d0130", "2018-05-11", "test(defmulti): add tests"],
+ ["8c74a99d", "2018-05-10", "docs: update dep graph"],
+ ["08cef30e", "2018-05-10", "Publish"],
+ ["304669de", "2018-05-10", "Merge branch 'feature/defmulti' into develop"],
+ ["7ae718c5", "2018-05-10", "docs: update main readme"],
+ ["edc66bf2", "2018-05-10", "feat(defmulti): add @thi.ng/defmulti package"],
+ ["a818acd4", "2018-05-10", "docs(transducers): update readme"],
+ ["e6f2972b", "2018-05-10", "docs: update dep graph"],
+ ["051a05db", "2018-05-10", "Publish"],
+ ["55f29b8f", "2018-05-10", "feat(transducers): add normRange() iterator"],
+ ["bd1fba33", "2018-05-10", "docs: update dep graph"],
+ ["c72e81c3", "2018-05-10", "Publish"],
+ ["7af3ef86", "2018-05-10", "docs: update readmes"],
+ ["6349b918", "2018-05-10", "Merge branch 'feature/api-split' into develop"],
+ ["fc7c5c70", "2018-05-10", "refactor(examples): update imports"],
+ ["bdf5bf06", "2018-05-10", "refactor(examples): update imports"],
+ [
+ "bc456364",
+ "2018-05-10",
+ "refactor: update deps & imports in all packages due to @thi.ng/api split"
+ ],
+ [
+ "f051ca3c",
+ "2018-05-10",
+ "refactor(api): remove obsolete files from package"
+ ],
+ ["9466d4b2", "2018-05-10", "feat(bench): add new package @thi.ng/bench"],
+ [
+ "e4a87c41",
+ "2018-05-10",
+ "feat(compare): add new package @thi.ng/compare"
+ ],
+ ["1e97856f", "2018-05-10", "feat(errors): add new package @thi.ng/errors"],
+ ["6d12ae08", "2018-05-10", "feat(equiv): add new package @thi.ng/equiv"],
+ ["aba06b0c", "2018-05-10", "docs(examples): fix link"],
+ ["34903210", "2018-05-10", "feat(examples): add icon button"],
+ ["a49e30cf", "2018-05-10", "Merge branch 'master' into develop"],
+ ["d5f1037a", "2018-05-10", "fix(examples): fix #22, update router-basics"],
+ ["7a8e43ea", "2018-05-10", "docs(examples): update readmes"],
+ ["cea77deb", "2018-05-09", "feat(examples): add hdom-theme-adr-0003 demo"],
+ ["5af437c1", "2018-05-09", "docs(hdom-components): add ADR-0003"],
+ [
+ "b4476cb9",
+ "2018-05-09",
+ "refactor(hdom-components): add ButtonGroup type alias"
+ ],
+ ["1dd6e9a2", "2018-05-09", "docs: update dep graph"],
+ ["5da6c578", "2018-05-09", "Publish"],
+ ["6e7599ac", "2018-05-09", "docs(resolve-map): update/fix doc strings"],
+ ["5d2a3fe8", "2018-05-09", "refactor(resolve-map): fix #21"],
+ [
+ "68ca46d2",
+ "2018-05-09",
+ "feat(dgraph): add leaves() & roots() iterators, update sort()"
+ ],
+ ["91a2b748", "2018-05-09", "docs: add @thi.ng/dot to main readme"],
+ ["b5132b3d", "2018-05-09", "docs: update dep graph"],
+ ["850716bc", "2018-05-09", "Publish"],
+ [
+ "d8d9435e",
+ "2018-05-09",
+ "build: update deps in all packages, examples & scripts"
+ ],
+ [
+ "68ea0864",
+ "2018-05-09",
+ "fix(hdom): native boolean attrib handling (e.g. \"checked\")"
+ ],
+ ["ede76916", "2018-05-09", "docs(hdom-components): update readme"],
+ [
+ "053c8c6f",
+ "2018-05-09",
+ "feat(rstream-gestures): add zoom smooth config option, update readme"
+ ],
+ ["b52c503e", "2018-05-09", "docs: update readme's"],
+ [
+ "5991be61",
+ "2018-05-09",
+ "feat(associative): add new functions, update arg & return types"
+ ],
+ ["c0950d65", "2018-05-08", "feat(hdom-components): add buttonGroup"],
+ ["5416887a", "2018-05-07", "doc(hdom-components): update ADR-0002"],
+ ["c0fef3d3", "2018-05-07", " doc(hdom-components): update ADR-0002"],
+ [
+ "a9574a0b",
+ "2018-05-07",
+ "feat(associative): add mapKeysObj() / mapKeysMap()"
+ ],
+ [
+ "cefb1994",
+ "2018-05-07",
+ "refactor(hdom-components): remove CanvasOpts, update re-exports"
+ ],
+ [
+ "4f8e7bab",
+ "2018-05-07",
+ "refactor(hdom-components): update notification & appLink comps"
+ ],
+ [
+ "a11803c4",
+ "2018-05-07",
+ "feat(hdom-components): add notification component"
+ ],
+ ["ec41eb9c", "2018-05-07", "refactor(hdom-components): update button args"],
+ ["5e815256", "2018-05-05", "doc(hdom-components): add ADRs"],
+ ["cef3c6a8", "2018-05-05", "feat(hdom-components): add button component"],
+ [
+ "334a4d24",
+ "2018-05-04",
+ "refactor(hdom-components): make pager more customizable"
+ ],
+ [
+ "23b64517",
+ "2018-05-04",
+ "refactor(dot): replace NodeShape enum, minor other refactoring, add example"
+ ],
+ ["500dfa3b", "2018-05-03", "feat(dot): initial import @thi.ng/dot"],
+ ["f9a2daf2", "2018-05-02", "feat(hdom-components): add title component"],
+ [
+ "6748515b",
+ "2018-05-02",
+ "feat(interceptors): add dispatch/dispatchNow() helper interceptors"
+ ],
+ ["5a6ce274", "2018-05-02", "build(examples): update packages"],
+ ["cbfa44b7", "2018-05-02", "build: update dev deps in all packages"],
+ [
+ "efb288df",
+ "2018-05-01",
+ "feat(hdom-components): add pager component, add @thi.ng/iterators dep"
+ ],
+ ["b2806236", "2018-05-01", "docs: update dep graph"],
+ ["212e5013", "2018-05-01", "Publish"],
+ ["146fad62", "2018-05-01", "build: update upload-examples script"],
+ ["593654a7", "2018-05-01", "docs: update dep graph"],
+ ["a93cb98b", "2018-05-01", "fix(hdom): boolean attrib reset/removal"],
+ ["698438a5", "2018-04-30", "docs: update dep graph"],
+ ["f6e944c6", "2018-04-30", "Publish"],
+ ["7a543a50", "2018-04-30", "perf(hdom): only build linear diff edit log"],
+ [
+ "431527a5",
+ "2018-04-30",
+ "perf(diff): add option to only build linear edit log"
+ ],
+ ["12b8dcb3", "2018-04-30", "fix(examples): CA dropdown"],
+ ["c2a5bcb3", "2018-04-29", "docs: update dep graph"],
+ ["5888f224", "2018-04-29", "Publish"],
+ ["95c57ec3", "2018-04-29", "Merge branch 'hotfix/arraylike'"],
+ ["491a6f85", "2018-04-29", "revert: b86d5b2"],
+ [
+ "31ec3af4",
+ "2018-04-29",
+ "perf(hdom): update event handling in diffAttributes()"
+ ],
+ ["a7c5eafc", "2018-04-29", "refactor(examples): update todo list"],
+ ["b86d5b25", "2018-04-29", "refactor(examples): update hdom-basics"],
+ [
+ "7fdf1721",
+ "2018-04-29",
+ "perf(api): major speedup equivObject(), update equivSet()"
+ ],
+ ["76920f75", "2018-04-29", "fix(checks): return type isMap()"],
+ [
+ "ac60404e",
+ "2018-04-29",
+ "fix(checks): exclude functions in isArrayLike()"
+ ],
+ ["a6dc02e4", "2018-04-28", "docs: update dep graph"],
+ ["048632a4", "2018-04-28", "Publish"],
+ [
+ "c4d8851d",
+ "2018-04-28",
+ "fix(interceptors): multiple sidefx value assignment"
+ ],
+ [
+ "2aaa134a",
+ "2018-04-28",
+ "refactor(examples): minor update rstream-grid, add missing files"
+ ],
+ ["7c3faed2", "2018-04-28", "docs(interceptors): update readme"],
+ ["cba30e36", "2018-04-28", "docs(examples): update readme"],
+ ["1c469afa", "2018-04-28", "minor(examples): update rstream-grid sidebar"],
+ ["115dff2b", "2018-04-28", "docs: update dep graph"],
+ ["df55f40b", "2018-04-28", "Publish"],
+ [
+ "661e34f5",
+ "2018-04-28",
+ "feat(examples): add rstream-grid dataflow demo"
+ ],
+ ["f4a095a5", "2018-04-28", "feat(interceptors): add dispatchLater()"],
+ ["f84fe450", "2018-04-27", "docs: update dep graph"],
+ ["8f5b3d91", "2018-04-27", "Publish"],
+ [
+ "6f95bcb3",
+ "2018-04-27",
+ "feat(rstream-query): add obj->triple converter, update readme & example"
+ ],
+ ["d03520d8", "2018-04-26", "docs: update dep graph"],
+ ["085a81d9", "2018-04-26", "Publish"],
+ ["af6c807e", "2018-04-26", "style: reformat/sort imports in all packages"],
+ [
+ "d36a5eaf",
+ "2018-04-26",
+ "refactor(rstream-query): simplify case selection in addPatternQuery()"
+ ],
+ ["2ab5af5d", "2018-04-26", "build: update/add upload scripts"],
+ ["5c048615", "2018-04-26", "docs: update dep graph"],
+ ["7fa54577", "2018-04-26", "Publish"],
+ [
+ "ced200af",
+ "2018-04-26",
+ "docs(rstream-query): update readme, diag, add example"
+ ],
+ [
+ "75f2af2e",
+ "2018-04-26",
+ "perf(rstream-query): optimize pattern queries, fix bindVars()"
+ ],
+ ["6bcd5dd4", "2018-04-26", "docs: update dep graph"],
+ ["6d261caa", "2018-04-26", "Publish"],
+ ["f5735a66", "2018-04-26", "Merge branch 'feature/rs-query' into develop"],
+ [
+ "d093a5c8",
+ "2018-04-26",
+ "feat(rstream-query): add query spec types, addQueryFromSpec(), dedupe xforms"
+ ],
+ [
+ "2ac8bff3",
+ "2018-04-26",
+ "feat(api): support more types in equiv(), add tests"
+ ],
+ ["a865f62b", "2018-04-26", "feat(checks): add date, map, nan, set checks"],
+ [
+ "d057d954",
+ "2018-04-26",
+ "feat(rstream-dot): add option to include stream values in diag"
+ ],
+ [
+ "76f00c36",
+ "2018-04-26",
+ "refactor(rstream): update ISubscribable (add IDeref parent)"
+ ],
+ [
+ "679c4e08",
+ "2018-04-26",
+ "feat(rstream-query): add path query, multi-joins, pattern query reuse"
+ ],
+ [
+ "9b5c58ac",
+ "2018-04-25",
+ "feat(rstream-query): rename TripleStore methods, use Set-like API"
+ ],
+ [
+ "443ff8f6",
+ "2018-04-25",
+ "feat(rstream-query): add removeTriple(), simplify wildcard subqueries"
+ ],
+ [
+ "c5f36a2d",
+ "2018-04-25",
+ "feat(rstream-query): add addQueryJoin(), add type aliases, update tests"
+ ],
+ ["7d927144", "2018-04-25", "docs: update dep graph"],
+ ["6215335f", "2018-04-25", "Publish"],
+ ["888f4e56", "2018-04-25", "build: update package keywords"],
+ ["cf388ddb", "2018-04-25", "docs: update rstream-* readmes"],
+ ["28cf39f9", "2018-04-25", "build: temporarily force node v9 for travis"],
+ ["72aa848a", "2018-04-25", "docs: update dep graph"],
+ ["a3e0cf82", "2018-04-25", "Publish"],
+ ["cc286e12", "2018-04-25", "fix(rstream): minor fix StreamSync.addAll()"],
+ ["fa36f989", "2018-04-25", "docs: update main readme"],
+ ["60bd67a4", "2018-04-25", "docs: update dep graph"],
+ ["8fc5fb40", "2018-04-25", "Publish"],
+ ["2f3bdaea", "2018-04-25", "build: update make-module script"],
+ [
+ "b121c476",
+ "2018-04-25",
+ "refactor(rstream-query): rename types, update readme"
+ ],
+ ["97a6e945", "2018-04-24", "docs: update various readmes"],
+ ["781ae217", "2018-04-24", "test(rstream-query): add query tests"],
+ [
+ "d9b845e0",
+ "2018-04-24",
+ "feat(rstream-query): add param queries w/ variables, update addPatternQuery"
+ ],
+ ["6368cd2d", "2018-04-24", "docs(rstream-dot): update readme, add diagram"],
+ [
+ "3135da20",
+ "2018-04-24",
+ "docs(examples): update rs-dlow diagram & readme"
+ ],
+ [
+ "a68eca0b",
+ "2018-04-24",
+ "feat(rstream-query): add IToDot impl for graphviz conversion/viz"
+ ],
+ [
+ "7ffaa615",
+ "2018-04-24",
+ "feat(rstream-dot): add xform edge labels, extract types to api.ts"
+ ],
+ ["32fb7ff9", "2018-04-24", "docs(rstream-graph): update readme"],
+ [
+ "2b9a8883",
+ "2018-04-24",
+ "refactor(rstream-graph): extract ensureInputs(), update docs"
+ ],
+ [
+ "e11b9a80",
+ "2018-04-24",
+ "refactor(examples): update rstream-dataflow to use new specs"
+ ],
+ [
+ "d564e109",
+ "2018-04-24",
+ "refactor(rstream-graph): update node input specs & node factories"
+ ],
+ [
+ "3408c137",
+ "2018-04-24",
+ "feat(rstream-gestures): allows partial opts, add ID option"
+ ],
+ [
+ "b3928174",
+ "2018-04-24",
+ "perf(rstream): support (re)named StreamSync inputs"
+ ],
+ [
+ "66ec92fb",
+ "2018-04-24",
+ "feat(rstream-query): update index & sub-query caching/reuse"
+ ],
+ [
+ "d35b5ff1",
+ "2018-04-24",
+ "feat(examples): add graphviz DOT output for rstream-dataflow"
+ ],
+ [
+ "704025a9",
+ "2018-04-24",
+ "feat(rstream-dot): support multiple roots in walk()"
+ ],
+ [
+ "0153903d",
+ "2018-04-24",
+ "feat(rstream-graph): add IDs for all generated nodes, rename factory type"
+ ],
+ [
+ "e72478ab",
+ "2018-04-24",
+ "feat(rstream-dot): initial import @thi.ng/rstream-dot package"
+ ],
+ [
+ "33f55b3e",
+ "2018-04-24",
+ "feat(rstream): add owner meta data & IDs for merge/sync inputs"
+ ],
+ ["16fabb8c", "2018-04-23", "refactor(rstream-query): simplify addQuery()"],
+ [
+ "a4aa4cb3",
+ "2018-04-23",
+ "refactor(rstream-query): simplify query handling, optimize addFact()"
+ ],
+ ["ef3903e4", "2018-04-23", "feat(rstream-query): initial import"],
+ ["c73b0be9", "2018-04-22", "docs: update dep graph"],
+ ["d4423f2c", "2018-04-22", "Publish"],
+ ["03cee0fa", "2018-04-22", "build(heaps): update package desc"],
+ [
+ "aa78d77e",
+ "2018-04-22",
+ "fix(cache): TLRUCache.get(), add tests, update package"
+ ],
+ ["7d38e5b0", "2018-04-22", "test(cache): add tests"],
+ [
+ "9d53ae33",
+ "2018-04-22",
+ "feat(cache): add TLRUCache.prune(), fix ensureSize()"
+ ],
+ ["fa67252c", "2018-04-22", "docs: update dep graph"],
+ ["23e36a10", "2018-04-22", "Publish"],
+ ["944aaf6d", "2018-04-22", "test(heaps): add tests"],
+ ["fccb3af1", "2018-04-22", "feat(heaps): iterator now returns min() seq"],
+ [
+ "58945727",
+ "2018-04-22",
+ "fix(heaps): add DHeap ICopy/IEmpty impls, fix return types"
+ ],
+ [
+ "c4bbee0a",
+ "2018-04-22",
+ "feat(heaps): add min/max(), update heapify() and percolate methods"
+ ],
+ ["34996f23", "2018-04-22", "docs: update package list main readme"],
+ ["d6e175db", "2018-04-22", "docs: update dep graph"],
+ ["17ccbb1f", "2018-04-22", "Publish"],
+ ["05a68dbe", "2018-04-22", "Merge branch 'feature/lru' into develop"],
+ ["b83c0300", "2018-04-22", "minor(cache): cleanup"],
+ [
+ "ab4abf55",
+ "2018-04-22",
+ "refactor(heaps): major update / simplify, fix DHeap, add accessors"
+ ],
+ ["24113b27", "2018-04-21", "docs(cache): update readme"],
+ ["574b5d96", "2018-04-21", "feat(cache): add TLRUCache"],
+ [
+ "c4a9c074",
+ "2018-04-21",
+ "fix(cache): recompute size in LRUCache.delete(), extract removeEntry()"
+ ],
+ ["0ea0847d", "2018-04-21", "feat(heaps): import @thi.ng/heaps package"],
+ [
+ "26c4cfd0",
+ "2018-04-21",
+ "feat(cache): add MRUCache, update package & readme"
+ ],
+ [
+ "00ca831f",
+ "2018-04-21",
+ "refactor(cache): make LRU ops O(1), update/remove (some) interfaces"
+ ],
+ ["19f7e761", "2018-04-21", "feat(dcons): add asHead()/asTail()"],
+ ["3947419c", "2018-04-21", "fix(cache): don't insert new val if > maxsize"],
+ ["1c9d73f5", "2018-04-21", "docs(cache): update readme"],
+ [
+ "d37a91eb",
+ "2018-04-21",
+ "refactor(cache): update/extend ICache & LRUCache, update readme"
+ ],
+ [
+ "7bbbfa88",
+ "2018-04-20",
+ "feat(cache): initial import @thi.ng/cache package"
+ ],
+ ["dab48115", "2018-04-20", "docs: update dep graph"],
+ ["ff5705d4", "2018-04-20", "Publish"],
+ ["a335a66e", "2018-04-20", "docs(rstream): update readme"],
+ [
+ "ba10907c",
+ "2018-04-20",
+ "feat(rstream): allow arbitrary PubSub topic vals, add @thi.ng/associative dep"
+ ],
+ [
+ "bb11ddfb",
+ "2018-04-20",
+ "fix(associative): allow partial options arg for EquivMap ctor"
+ ],
+ [
+ "27a098d7",
+ "2018-04-20",
+ "feat(rstream): add PubSub, add ISubscribableSubscriber, remove cache()"
+ ],
+ ["40903ea2", "2018-04-19", "docs: update dep graph"],
+ ["e0e95587", "2018-04-19", "Publish"],
+ ["d40f3a82", "2018-04-19", "docs: update dep graph"],
+ ["f77b443d", "2018-04-19", "Publish"],
+ [
+ "87e3b488",
+ "2018-04-19",
+ "feat(interceptors): add EV_TOGGLE_VALUE handler, update EV_UNDO/REDO"
+ ],
+ ["920a3406", "2018-04-19", "docs(hdom): update readme"],
+ ["a2320ff2", "2018-04-18", "docs(paths): update readme"],
+ ["e0b41d81", "2018-04-18", "docs: update dep graph"],
+ ["59806881", "2018-04-18", "Publish"],
+ ["b7dff0ea", "2018-04-18", "fix(rstream-graph): import path"],
+ ["6fcc2358", "2018-04-18", "docs: update dep graph"],
+ ["adc2fb4a", "2018-04-18", "Publish"],
+ [
+ "3b7c9d97",
+ "2018-04-18",
+ "fix(transducers): add generics for compR(), fix types in mapNth()"
+ ],
+ [
+ "4c014b18",
+ "2018-04-18",
+ "Merge pull request #17 from andrew8er/pr/compr-types"
+ ],
+ ["c26fed40", "2018-04-18", "docs: update dep graph"],
+ ["88283db1", "2018-04-18", "Publish"],
+ ["3087776e", "2018-04-18", "fix(rstream-log): ID handling in Logger ctor"],
+ ["08af60af", "2018-04-18", "refactor(rstream-log): minor update matchID()"],
+ ["de474933", "2018-04-18", "docs(rstream-log): fix typo"],
+ ["0de3d200", "2018-04-18", "docs(examples): add undo info (svg-waveform)"],
+ ["c67607b7", "2018-04-18", "build(examples): update dev deps"],
+ ["bb60cb9f", "2018-04-18", "build: update dev deps"],
+ ["b8bb801a", "2018-04-17", "docs: update dep graph"],
+ ["7e585e2b", "2018-04-17", "Publish"],
+ [
+ "8f3a3d10",
+ "2018-04-17",
+ "feat(paths): add setInMany() and mutInMany(), add @thi.ng/api dependency"
+ ],
+ ["78b998cb", "2018-04-17", "docs: update dep graph"],
+ ["fbe15446", "2018-04-17", "Publish"],
+ [
+ "2e32c3b9",
+ "2018-04-17",
+ "feat(examples): add instrumentation to router-basics demo"
+ ],
+ [
+ "1a6ac54d",
+ "2018-04-17",
+ "feat(interceptors): add event handler instrumentation"
+ ],
+ ["5107dcad", "2018-04-17", "docs: update dep graph"],
+ ["e5185cf2", "2018-04-17", "Publish"],
+ [
+ "d7ff997b",
+ "2018-04-17",
+ "fix(interceptors): filter out undefined sidefx vals"
+ ],
+ [
+ "de89f00d",
+ "2018-04-17",
+ "fix(transducers): Provide argument types for compR() and deepTransform()"
+ ],
+ ["a9a7bfae", "2018-04-16", "docs: update dep graph"],
+ ["b523e9ef", "2018-04-16", "Publish"],
+ [
+ "5ddb19c6",
+ "2018-04-16",
+ "feat(rstream-graph): add addNode()/removeNode()"
+ ],
+ [
+ "8bcc2870",
+ "2018-04-16",
+ "feat(rstream): add StreamMerge/Sync.removeID() & removeAllIDs()"
+ ],
+ [
+ "a379d12d",
+ "2018-04-16",
+ "feat(resolve-map): support relative parent refs, update tests/readme"
+ ],
+ ["e643e7fe", "2018-04-16", "docs: update dep graph"],
+ ["df039db1", "2018-04-16", "Publish"],
+ [
+ "144f2684",
+ "2018-04-16",
+ "Merge branch 'feature/rm-refactor' into develop"
+ ],
+ [
+ "6992e82b",
+ "2018-04-16",
+ "feat(resolve-map): resolve each ref only once, re-use resolved results"
+ ],
+ ["4c1bd85c", "2018-04-16", "feat(paths): add mutator() & mutIn()"],
+ ["b00b5a28", "2018-04-16", "docs: update dep graph"],
+ ["dbb96fe2", "2018-04-16", "Publish"],
+ [
+ "56d919c0",
+ "2018-04-16",
+ "fix(rstream-graph): create null sub for ID renaming"
+ ],
+ ["f5aba033", "2018-04-16", "docs: update dep graph"],
+ ["17584b5d", "2018-04-16", "Publish"],
+ [
+ "9a83d4ef",
+ "2018-04-16",
+ "fix(interceptors): update undo handling to support history cursors"
+ ],
+ ["b856fecc", "2018-04-15", "docs(associative): update readme"],
+ ["c7e760ea", "2018-04-15", "docs: update dep graph"],
+ ["3111409c", "2018-04-15", "Publish"],
+ ["df32a59e", "2018-04-15", "docs(rstream-gestures): update package"],
+ [
+ "e6c75b4a",
+ "2018-04-15",
+ "refactor(rstream-log): update package structure & readme example"
+ ],
+ ["2164ddfd", "2018-04-15", "feat(rstream): add Subscription.transform()"],
+ ["7cf93fc5", "2018-04-15", "docs(rstream): update readme"],
+ ["b667c88c", "2018-04-15", "docs(examples): update readme"],
+ ["f39affc1", "2018-04-15", "docs: update main readme"],
+ ["2942d1c3", "2018-04-15", "docs: update dep graph"],
+ ["f2ae6d24", "2018-04-15", "Publish"],
+ [
+ "1479cd1e",
+ "2018-04-15",
+ "Merge branch 'feature/rstream-graph' into develop"
+ ],
+ [
+ "a0063992",
+ "2018-04-15",
+ "refactor(examples): simplify rstream-dataflow example"
+ ],
+ [
+ "619b4b37",
+ "2018-04-15",
+ "feat(rstream-graph): initial import @thi.ng/rstream-graph"
+ ],
+ ["937e5025", "2018-04-15", "docs: update dep graph"],
+ ["e6d7882d", "2018-04-15", "Publish"],
+ [
+ "9ae2e035",
+ "2018-04-15",
+ "build(examples): update project structure for router-basics/svg-waveform"
+ ],
+ [
+ "a597e728",
+ "2018-04-15",
+ "feat(examples): add undo/redo feature to svg-waveform, update components"
+ ],
+ [
+ "a1d9ae68",
+ "2018-04-15",
+ "refactor(interceptors): refactor undo handling"
+ ],
+ [
+ "cf42260c",
+ "2018-04-15",
+ "feat(atom): update History.record(), add IHistory interface"
+ ],
+ [
+ "3c92f7e6",
+ "2018-04-15",
+ "feat(interceptors): add undo/redo handlers/fx & snapshot() interceptor"
+ ],
+ [
+ "a102eb7c",
+ "2018-04-15",
+ "feat(interceptors): add default FX_UNDO/REDO side fx"
+ ],
+ [
+ "ba0c876d",
+ "2018-04-14",
+ "refactor(interceptors): also pass ctx to sidefx handlers"
+ ],
+ [
+ "183af614",
+ "2018-04-14",
+ "feat(interceptors): update processQueue(), expose full ctx to handlers"
+ ],
+ ["d539b4f3", "2018-04-14", "docs: update dep graph"],
+ ["83be0dce", "2018-04-14", "Publish"],
+ ["010f32e9", "2018-04-14", "docs: update readme files"],
+ ["9eec054a", "2018-04-14", "Merge branch 'develop'"],
+ [
+ "85f5fdd4",
+ "2018-04-14",
+ "Merge branch 'feature/rs-gestures' into develop"
+ ],
+ ["885fcf15", "2018-04-14", "build: update make-module script"],
+ ["3f8dbc9e", "2018-04-14", "refactor(examples): update rs-dataflow demo"],
+ [
+ "de1ac7bb",
+ "2018-04-14",
+ "feat(rstream-gestures): initial import @thi.ng/rstream-gestures"
+ ],
+ ["4755212f", "2018-04-14", "docs: update readme's"],
+ ["7b510487", "2018-04-14", "build(examples): add html & webpack config"],
+ ["6198899d", "2018-04-14", "docs: update dep graph"],
+ ["0243b44d", "2018-04-14", "Publish"],
+ ["c6b3025c", "2018-04-14", "build: import depgraph script"],
+ ["9e98ce12", "2018-04-14", "refactor(examples): update svg-waveform demo"],
+ ["1b21710a", "2018-04-13", "feat(examples): add svg-waveform example"],
+ [
+ "584223ca",
+ "2018-04-13",
+ "refactor(examples): rename interceptors in interceptor-basics,"
+ ],
+ [
+ "86883e3c",
+ "2018-04-13",
+ "feat(interceptors): add ensureStateRange() & ensureParamRange() iceps"
+ ],
+ ["6da2d397", "2018-04-13", "docs: update dep graph"],
+ ["816950a8", "2018-04-13", "Publish"],
+ ["07628f67", "2018-04-13", "build: fix package clean tasks"],
+ [
+ "d798cee3",
+ "2018-04-13",
+ "refactor(dgraph): regression update due to @thi.ng/associative changes"
+ ],
+ ["bfabe802", "2018-04-13", "feat(associative): add renameKeysMap"],
+ [
+ "1f8af6c4",
+ "2018-04-13",
+ "refactor(associative): update EquivMap, update SortedSet, add docs"
+ ],
+ ["d1178acf", "2018-04-13", "perf(associative): update equiv() impls"],
+ ["76e5c853", "2018-04-13", "docs: update dep graph"],
+ ["f4b4067e", "2018-04-13", "Publish"],
+ ["26361437", "2018-04-13", "refactor(dgraph): update ArrayMap/Set refs"],
+ ["2f33389a", "2018-04-13", "docs(associative): update readme"],
+ [
+ "87560270",
+ "2018-04-13",
+ "refactor(associative): rename EquivMap/Set => ArrayMap/Set, export interfaces"
+ ],
+ [
+ "a7698563",
+ "2018-04-13",
+ "refactor(associative): add private impls for EquivMap/Set"
+ ],
+ [
+ "cb4976fe",
+ "2018-04-12",
+ "feat(associative): add SortedSet, update SortedMap"
+ ],
+ [
+ "ae0eae8e",
+ "2018-04-12",
+ "feat(associative): add SortedMap & tests, minor refactor EquivMap"
+ ],
+ ["82be16d4", "2018-04-11", "docs: update dep graph"],
+ ["3c1e2dd7", "2018-04-11", "Publish"],
+ [
+ "52c75085",
+ "2018-04-11",
+ "feat(transducers): add run() for executing side effects only, update readme"
+ ],
+ ["5f94efa0", "2018-04-10", "docs: update dep graph"],
+ ["fa794a6e", "2018-04-10", "Publish"],
+ ["675847b8", "2018-04-10", "fix(dgraph): update corrupted deps"],
+ ["9b1c7bdb", "2018-04-10", "docs: update dep graph"],
+ ["5dd34261", "2018-04-10", "Publish"],
+ ["26d8ed85", "2018-04-10", "v0.1.0"],
+ ["efe606e1", "2018-04-10", "build(dgraph): update package desc"],
+ ["e7a5c93e", "2018-04-10", "build(associative): update package desc"],
+ ["207dd992", "2018-04-10", "docs: update package list main readme"],
+ ["371cd42f", "2018-04-10", "build(associative): update deps (dcons)"],
+ ["3e90117a", "2018-04-10", "Merge branch 'feature/dgraph' into develop"],
+ ["0dc9f646", "2018-04-10", "feat(associative): add EquivSet.first()"],
+ [
+ "e086be6b",
+ "2018-04-10",
+ "feat(dgraph): re-import DGraph impl & tests, update readme"
+ ],
+ [
+ "10c089a3",
+ "2018-04-10",
+ "feat(dcons): add IEmpty impl, minor refactoring"
+ ],
+ [
+ "cc70dbce",
+ "2018-04-10",
+ "feat(associative): initial import @thi.ng/associative"
+ ],
+ ["fd27a946", "2018-04-09", "build: update lerna"],
+ ["69efee12", "2018-04-09", "docs(hdom): add authors.md"],
+ ["2357355a", "2018-04-09", "docs: update dep graph"],
+ ["c2cd9fbc", "2018-04-09", "Publish"],
+ [
+ "2a91e302",
+ "2018-04-09",
+ "perf(hdom): intern imported checks, update normalizeTree(), add docs, fix tests"
+ ],
+ ["7e3070a2", "2018-04-09", "docs: update dep graph"],
+ ["d9aeed47", "2018-04-09", "Publish"],
+ [
+ "b9d9a493",
+ "2018-04-09",
+ "fix(hiccup-svg): path(), update add null check for points()"
+ ],
+ ["acc9c13b", "2018-04-09", "refactor(examples): update router demo"],
+ ["5dfcd1ad", "2018-04-08", "docs: update dep graph"],
+ ["179efc44", "2018-04-08", "Publish"],
+ ["6f45ec6d", "2018-04-08", "v0.1.0"],
+ ["2458b15f", "2018-04-08", "docs(hiccup-svg): update readme"],
+ ["fcf1404e", "2018-04-08", "refactor(hiccup): remove obsolete deref check"],
+ ["4ed84eb5", "2018-04-08", "docs(hdom): update readme"],
+ ["a904599c", "2018-04-08", "docs(hdom): update/fix readme"],
+ ["d832c9d2", "2018-04-08", "docs(hdom): update readme & doc strings"],
+ [
+ "3e7e0256",
+ "2018-04-08",
+ "Merge branch 'feature/hdom-context' into develop"
+ ],
+ [
+ "905467c1",
+ "2018-04-08",
+ "refactor(examples): update cellular-automata & hdom-benchmark"
+ ],
+ [
+ "0873832d",
+ "2018-04-08",
+ "refactor(hdom-components): update dropdown components"
+ ],
+ [
+ "4a18e884",
+ "2018-04-08",
+ "refactor(examples): update webgl demo to use new canvas component"
+ ],
+ ["8b0d6015", "2018-04-08", "build: update main yarn.lock"],
+ [
+ "7c88a3fc",
+ "2018-04-08",
+ "feat(hdom-components): update canvas handlers, add webgl2 version"
+ ],
+ ["e06e5042", "2018-04-08", "refactor(examples): update todo-list"],
+ ["6faa38a0", "2018-04-08", "refactor(examples): update webgl demo"],
+ ["1e798ce7", "2018-04-08", "docs: add hiccup-svg to main readme"],
+ ["7e0aeb68", "2018-04-08", "refactor(examples): update pointfree-svg"],
+ [
+ "afccabdc",
+ "2018-04-08",
+ "feat(hiccup-svg): re-add svg fns as new @thi.ng/hiccup-svg package"
+ ],
+ [
+ "86d1f0d9",
+ "2018-04-08",
+ "refactor(hdom-components): remove svg, update canvas (hdom context support)"
+ ],
+ [
+ "a8a55a4f",
+ "2018-04-08",
+ "refactor(examples): major update router-basics (hdom context usage)"
+ ],
+ [
+ "14b9cecc",
+ "2018-04-08",
+ "refactor(examples): update dashboard, hdom-basics & hdom-benchmark"
+ ],
+ [
+ "70cfe06c",
+ "2018-04-08",
+ "feat(hdom): fix #13, add support for user context and pass to components"
+ ],
+ [
+ "40d706b6",
+ "2018-04-07",
+ "feat(checks): add hasPerformance() check (performance.now)"
+ ],
+ ["d310345f", "2018-04-07", "feat(api): add bench() & timed() utils"],
+ [
+ "4d79f763",
+ "2018-04-07",
+ "refactor(examples): add GestureEvent (rs-dflow)"
+ ],
+ [
+ "c1c81bd0",
+ "2018-04-07",
+ "refactor(interceptors): update Event id type (string => PropertyKey)"
+ ],
+ ["37ba4d17", "2018-04-05", "refactor(examples): update rstream-dflow"],
+ ["a19f8a4d", "2018-04-05", "feat(examples): update rstream-dflow example"],
+ ["dccfc827", "2018-04-05", "docs(rstream): update readme"],
+ [
+ "8ce73078",
+ "2018-04-05",
+ "refactor(examples): minor updates rstream-dflow"
+ ],
+ [
+ "fce54223",
+ "2018-04-05",
+ "build(dgraph): import dgraph package stub to avoid travis build errors"
+ ],
+ ["8eb7e68c", "2018-04-05", "fix(examples): update GH links in html files"],
+ ["f9bfc9d7", "2018-04-05", "docs(hdom): update readme"],
+ ["56f4a26a", "2018-04-05", "docs: update dep graph"],
+ ["45c7daf4", "2018-04-05", "Publish"],
+ ["48310a68", "2018-04-05", "fix(rstream): correct wrong isString() import"],
+ ["9ab15442", "2018-04-05", "docs(examples): update doc strings"],
+ ["04b9c087", "2018-04-05", "docs(examples): update readme"],
+ ["23327874", "2018-04-05", "docs(examples): update rs-dflow example"],
+ [
+ "ae27bd65",
+ "2018-04-05",
+ "refactor(examples): update rstream-dflow example"
+ ],
+ [
+ "218150a9",
+ "2018-04-04",
+ "docs(examples): update readme, add dflow graph viz"
+ ],
+ ["72a96130", "2018-04-04", "feat(examples): add rstream-dataflow example"],
+ ["1eb8b12c", "2018-04-04", "docs: update dep graph"],
+ ["343956d3", "2018-04-04", "Publish"],
+ [
+ "bffc4430",
+ "2018-04-04",
+ "fix(checks): add prototype check for isPlainObject(), add tests"
+ ],
+ [
+ "9c91dc34",
+ "2018-04-03",
+ "fix(examples): minor update pointfree-svg example"
+ ],
+ ["9621f1b1", "2018-04-03", "docs: update dep graph"],
+ ["5276322a", "2018-04-03", "Publish"],
+ [
+ "68727859",
+ "2018-04-03",
+ "Merge branch 'feature/pointfree-lang' into develop"
+ ],
+ ["ca5dfd3c", "2018-04-03", "docs(pointfree-lang): update readme"],
+ [
+ "3310ec3d",
+ "2018-04-03",
+ "feat(pointfree-lang): implement dynamic var scoping & local var grammar"
+ ],
+ [
+ "1c899a18",
+ "2018-04-03",
+ "refactor(pointfree-lang): rename grammar rule / nodetype MAP=>OBJ, add docs"
+ ],
+ [
+ "5450e507",
+ "2018-04-03",
+ "fix(pointfree-lang): update grammar (parse order), add tests"
+ ],
+ [
+ "769e84da",
+ "2018-04-03",
+ "feat(pointfree-lang): overhaul visitor quote/array & map handling, grammar"
+ ],
+ [
+ "2101e926",
+ "2018-04-03",
+ "feat(pointfree): add math ops, update load/loadkey, update tests"
+ ],
+ ["26905f09", "2018-04-02", "refactor(examples): update pf svg example"],
+ [
+ "ee684c7b",
+ "2018-04-02",
+ "feat(pointfree-lang): update grammar, aliases, ASTNode, NodeType"
+ ],
+ [
+ "92d2d685",
+ "2018-04-01",
+ "refactor(pointfree): update/rename storeat => setat, update tests"
+ ],
+ ["68a8dba6", "2018-04-01", "feat(pointfree): add copy() word"],
+ ["42cc7786", "2018-04-01", "docs: update dep graph"],
+ ["996b5ff7", "2018-04-01", "Publish"],
+ ["4c7e9068", "2018-04-01", "docs: update all package readme's"],
+ ["cb7276e6", "2018-04-01", "chore: update make-module/example scripts"],
+ ["d4951f5e", "2018-04-01", "docs(examples): update all example readme's"],
+ [
+ "c7521980",
+ "2018-04-01",
+ "build: add missing package descriptions, update yarn.lock"
+ ],
+ [
+ "c2d22337",
+ "2018-04-01",
+ "Merge branch 'feature/examples-webpack' into develop"
+ ],
+ [
+ "e2ac1852",
+ "2018-04-01",
+ "build: update dev dependencies for all packages & examples"
+ ],
+ [
+ "bc264d39",
+ "2018-03-31",
+ "build(examples): update tsconfig for all examples"
+ ],
+ [
+ "8273674d",
+ "2018-03-31",
+ "build(examples): update all examples to use webpack 4.4.*"
+ ],
+ [
+ "1022ab67",
+ "2018-03-31",
+ "fix(examples): update stack comment for write-file"
+ ],
+ ["89ea6331", "2018-03-31", "fix(examples): update readme (pf-svg)"],
+ ["f3477690", "2018-03-31", "docs(pointfree-lang): update readme"],
+ ["7b5a36fd", "2018-03-31", "docs(examples): update example list"],
+ [
+ "3f33b651",
+ "2018-03-31",
+ "refactor(examples): update pointfree-svg demo/readme"
+ ],
+ [
+ "208b5c39",
+ "2018-03-31",
+ "fix(pointfree-lang): object literal grammar rule (allow initial WS)"
+ ],
+ ["910b7187", "2018-03-31", "feat(examples): add pointfree-svg demo"],
+ ["a0e0a0ca", "2018-03-31", "docs: update dep graph"],
+ ["6d836772", "2018-03-31", "Publish"],
+ [
+ "659cce91",
+ "2018-03-31",
+ "fix(pointfree-lang): add ensureEnv, update re-exports, update readme"
+ ],
+ ["a0bf7810", "2018-03-31", "fix(pointfree): reexport ensureStack fns"],
+ ["b16c8500", "2018-03-31", "docs(pointfree-lang): fix readme link"],
+ ["fbb17957", "2018-03-31", "docs(pointfree-lang): fix grammar link"],
+ ["f2a56266", "2018-03-31", "docs: update main readme"],
+ ["430caf03", "2018-03-31", "docs: update dep graph"],
+ ["6f743ae1", "2018-03-31", "Publish"],
+ ["9e43405a", "2018-03-31", "docs: update pointfree readme's"],
+ ["32e2da0d", "2018-03-31", "docs: update dep graph"],
+ ["82008c38", "2018-03-31", "v0.1.0"],
+ [
+ "d838610f",
+ "2018-03-31",
+ "Merge branch 'feature/pointfree-lang' into develop"
+ ],
+ ["0623df69", "2018-03-31", "build: add pegjs dev dependency"],
+ [
+ "3dec35a8",
+ "2018-03-31",
+ "feat(pointfree-lang): initial import @thi.ng/pointfree-lang"
+ ],
+ ["5db90c53", "2018-03-31", "feat(pointfree): add caseq()"],
+ ["0da93da6", "2018-03-29", "docs: update dep graph"],
+ ["fdfbe425", "2018-03-29", "Publish"],
+ ["d47d0b36", "2018-03-29", "docs(pointfree): update readme"],
+ [
+ "b096e436",
+ "2018-03-29",
+ "feat(pointfree): add more dataflow combinators, words & tests"
+ ],
+ ["c0a653b6", "2018-03-29", "docs(pointfree): update readme"],
+ ["9f866da4", "2018-03-29", "docs(pointfree): update readme"],
+ [
+ "3dc30a8e",
+ "2018-03-29",
+ "feat(pointfree): add combinators, update controlflow words, remove execq"
+ ],
+ ["39b59677", "2018-03-29", "docs: update dep graph"],
+ ["6b5033f0", "2018-03-29", "Publish"],
+ ["6cbacec7", "2018-03-29", "feat(hdom-components): add svg line()"],
+ ["0baf1f8a", "2018-03-29", "docs(pointfree): update readme & package"],
+ ["fe1f3a3a", "2018-03-29", "test(pointfree): add tests"],
+ [
+ "943b4f9c",
+ "2018-03-29",
+ "feat(pointfree): add new words, constructs, aliases, fix re-exports"
+ ],
+ [
+ "221ece65",
+ "2018-03-29",
+ "build: update make-module/make-example scripts"
+ ],
+ ["6904d440", "2018-03-28", "docs: update dep graph"],
+ ["aa9439ef", "2018-03-28", "Publish"],
+ ["9b00a25f", "2018-03-28", "build: add benchmark dev dep"],
+ ["e35a2ca1", "2018-03-28", "build(paths): update package"],
+ ["e52b8693", "2018-03-28", "feat(pointfree): major update readme, package"],
+ [
+ "0f0c382f",
+ "2018-03-28",
+ "feat(pointfree): add new words, rename words, remove mapnth, pushl2"
+ ],
+ [
+ "10d5a347",
+ "2018-03-28",
+ "fix(pointfree): add 0-arity comp() (identity fn)"
+ ],
+ [
+ "ba0bcc21",
+ "2018-03-27",
+ "refactor(pointfree): rename core words & change case"
+ ],
+ [
+ "1c4cd2f3",
+ "2018-03-27",
+ "feat(pointfree): add rstack, update StackContext"
+ ],
+ [
+ "50cc65fe",
+ "2018-03-26",
+ "build: update yarn scripts / add missing nyc dev dep"
+ ],
+ [
+ "2b7e99b9",
+ "2018-03-26",
+ "fix(api): illegalState() creates IllegalStateError"
+ ],
+ ["1a01f9a0", "2018-03-26", "fix(pointfree): wordU(), add tests"],
+ [
+ "3252554f",
+ "2018-03-26",
+ "feat(pointfree): further restructure, perf, add tests"
+ ],
+ ["a48361d6", "2018-03-25", "feat(pointfree): major refactor & restructure"],
+ ["d1564bb1", "2018-03-25", "docs(pointfree): update readme"],
+ [
+ "79b4ce32",
+ "2018-03-25",
+ "feat(pointfree): update all words to return stack"
+ ],
+ [
+ "f3f0bec1",
+ "2018-03-24",
+ "feat(pointfree): update word/wordU, add append(), tuple(), join()"
+ ],
+ ["06987133", "2018-03-23", "docs: update dep graph"],
+ ["c5bcdafa", "2018-03-23", "Publish"],
+ ["be9ba2fd", "2018-03-23", "Merge branch 'hotfix/pointfree'"],
+ ["f211c397", "2018-03-23", "fix(pointfree): fix readme/docs"],
+ ["51a6e500", "2018-03-23", "docs: update dep graph"],
+ ["0e4858c9", "2018-03-23", "Publish"],
+ ["15ffd34d", "2018-03-23", "test(pointfree): add tests"],
+ [
+ "6cac0c7d",
+ "2018-03-23",
+ "feat(pointfree): support data vals in program, add collect(), update readme"
+ ],
+ [
+ "f75486d4",
+ "2018-03-23",
+ "feat(pointfree): add unwrap, quatations, math/bitops, array/obj access"
+ ],
+ ["884a8bfa", "2018-03-23", "docs: update main readme/depgraph"],
+ ["e635dafd", "2018-03-23", "Merge branch 'feature/pointfree' into develop"],
+ ["4d4e5e1b", "2018-03-23", "v0.1.0"],
+ ["6aef8807", "2018-03-23", "build(pointfree): update package info"],
+ [
+ "58f5716c",
+ "2018-03-23",
+ "feat(pointfree): add dropIf, neg, nop, update cond,condM, add docs/readme"
+ ],
+ [
+ "25bbf05c",
+ "2018-03-22",
+ "feat(pointfree): initial import of refactored @thi.ng/pointfree package"
+ ],
+ ["92e4ff8f", "2018-03-21", "docs: update main readme"],
+ ["b153067c", "2018-03-21", "docs: update dep graph"],
+ ["fb42cb5a", "2018-03-21", "Publish"],
+ ["218c2304", "2018-03-21", "Merge branch 'feature/iwatch' into develop"],
+ ["ca099e57", "2018-03-21", "refactor(transducers): update error handling"],
+ [
+ "8a3e72ee",
+ "2018-03-21",
+ "feat(rstream-log): update error handling, add @thi.ng/api dep"
+ ],
+ [
+ "1ce7054f",
+ "2018-03-21",
+ "feat(rstream): update error handling, add @thi.ng/api dep"
+ ],
+ ["adc559ae", "2018-03-21", "refactor(router): update error handling"],
+ [
+ "9316a6ca",
+ "2018-03-21",
+ "feat(iterators): update error handling, add @thi.ng/api dep"
+ ],
+ [
+ "501d56f8",
+ "2018-03-21",
+ "feat(interceptors): update error handling, add @thi.ng/api dep"
+ ],
+ ["0cfc2270", "2018-03-21", "refactor(hiccup-css): update error handling"],
+ [
+ "a3238abf",
+ "2018-03-21",
+ "feat(hiccup): update error handling, add @thi.ng/api dep"
+ ],
+ [
+ "f5173f1d",
+ "2018-03-21",
+ "feat(hdom): update error handling, add @thi.ng/api dep"
+ ],
+ ["a046b285", "2018-03-21", "refactor(dcons): update error handling"],
+ ["5087ffe3", "2018-03-21", "refactor(cso): update error handling"],
+ [
+ "0fc10388",
+ "2018-03-21",
+ "feat(bitstream): update error handling, add @thi.ng/atom dep"
+ ],
+ ["ea7b1752", "2018-03-21", "refactor(atom): update error handling"],
+ ["4d3785f9", "2018-03-21", "feat(api): add error types & ctor fns"],
+ [
+ "d93940a4",
+ "2018-03-21",
+ "feat(atom): consider parent validators in History update fns"
+ ],
+ [
+ "3b1d563a",
+ "2018-03-21",
+ "feat(atom): add CursorOpts and cursor validation, update ctor, add tests"
+ ],
+ [
+ "bae1647c",
+ "2018-03-21",
+ "feat(atom): add optional validation predicate for Atom, add tests"
+ ],
+ ["47643f96", "2018-03-21", "test(api): add INotify tests"],
+ ["b3287808", "2018-03-21", "refactor(router): update INotify dummy impl"],
+ [
+ "fbb19acd",
+ "2018-03-21",
+ "refactor(api): update mixins, IEnable / INotify return types"
+ ],
+ ["0d67e73e", "2018-03-21", "build: limit travis build branches"],
+ ["96bb0198", "2018-03-21", "docs: update dep graph"],
+ ["b2778585", "2018-03-21", "Publish"],
+ [
+ "2a1264a2",
+ "2018-03-21",
+ "refactor(rstream-log): update Logger ctor arg handling"
+ ],
+ [
+ "e58c5e01",
+ "2018-03-21",
+ "Merge branch 'feature/rstream-refactor' into develop"
+ ],
+ [
+ "deb59a15",
+ "2018-03-21",
+ "docs(rstream): update readme, add dataflow example"
+ ],
+ ["276ede6a", "2018-03-20", "docs(rstream): update readme"],
+ [
+ "907d5995",
+ "2018-03-20",
+ "feat(rstream): add IDeref impl for Subscription"
+ ],
+ [
+ "1fee7d5c",
+ "2018-03-20",
+ "feat(rstream): add merge()/sync() ctor wrappers"
+ ],
+ [
+ "eec56dec",
+ "2018-03-20",
+ "feat(rstream): add transduce(), update re-exports"
+ ],
+ [
+ "42b343aa",
+ "2018-03-20",
+ "test(rstream): add StreamSync & Subscription tests"
+ ],
+ [
+ "26f15b23",
+ "2018-03-20",
+ "refactor(rstream): simplify unsubscribe() logic"
+ ],
+ [
+ "a1c58418",
+ "2018-03-20",
+ "docs(rstream): add Cache deprecation docstring"
+ ],
+ [
+ "6b87bca4",
+ "2018-03-20",
+ "feat(rstream): Subscription stores last value and passes to new subs"
+ ],
+ [
+ "ebe222c9",
+ "2018-03-20",
+ "refactor(rstream): update & StreamMerge/SyncOpts, minor fixes StreamSync"
+ ],
+ [
+ "80264093",
+ "2018-03-20",
+ "feat(rstream): fix #6 update StreamMerge to support transduced input streams"
+ ],
+ ["db61b0bd", "2018-03-20", "test(rstream): add/update sidechain* tests"],
+ [
+ "d18a1158",
+ "2018-03-20",
+ "feat(rstream): update Sidechain*.next(), add unsubscribe()"
+ ],
+ ["7dce160c", "2018-03-20", "minor(rstream): fromPromise()"],
+ [
+ "41bb385f",
+ "2018-03-20",
+ "feat(rstream): add fromView(), update fromAtom() docs, update re-exports"
+ ],
+ [
+ "01a751e2",
+ "2018-03-20",
+ "feat(rstream): update Subscription.unsubscribe()"
+ ],
+ [
+ "2ad2f485",
+ "2018-03-20",
+ "fix(rstream): bisect() add downstream impl checks, add tests"
+ ],
+ [
+ "6f5ec040",
+ "2018-03-20",
+ "test(rstream): remove obsolete fromPromise error test case"
+ ],
+ [
+ "47b6a924",
+ "2018-03-20",
+ "refactor(rstream): simplify Subscription, update all impls"
+ ],
+ [
+ "64c16255",
+ "2018-03-19",
+ "Merge branch 'develop' into feature/rstream-refactor"
+ ],
+ ["5bf5ce61", "2018-03-19", "docs: update dep graph"],
+ ["1c5d96f7", "2018-03-19", "Publish"],
+ [
+ "ff802a45",
+ "2018-03-19",
+ "refactor(rstream): simplify StreamMerge source handling"
+ ],
+ [
+ "f7029efd",
+ "2018-03-19",
+ "refactor(rstream): minor cleanup/perf StreamSync"
+ ],
+ ["791a993f", "2018-03-19", "feat(rstream): add StreamSync"],
+ [
+ "c7364334",
+ "2018-03-19",
+ "refactor(rstream): add/update Stream ctor arities"
+ ],
+ ["abc195a4", "2018-03-19", "feat(transducers): add mapVals() xform"],
+ [
+ "3bc8d54a",
+ "2018-03-19",
+ "refactor(transducers): update labeled(), mapIndexed(), partition()"
+ ],
+ ["bebd1186", "2018-03-19", "feat(transducers): add partitionSync() xform"],
+ ["627dd7a4", "2018-03-19", "docs: update dep graph"],
+ ["b316114f", "2018-03-19", "Publish"],
+ ["76c5e0a4", "2018-03-19", "fix(interceptors): InterceptorPredicate args"],
+ ["dbb046e8", "2018-03-18", "docs: update dep graph"],
+ ["a69b5141", "2018-03-18", "Publish"],
+ [
+ "c0ec2745",
+ "2018-03-18",
+ "feat(atom): add optional support for eager views, update tests/readme"
+ ],
+ [
+ "f295a475",
+ "2018-03-18",
+ "build(examples): update all @thi.ng deps to use \"latest\""
+ ],
+ ["4e91374b", "2018-03-18", "docs: update dep graph"],
+ ["6b92bf67", "2018-03-18", "Publish"],
+ ["eaeccf47", "2018-03-18", "fix(paths): fix setter fast paths"],
+ ["e022cdf0", "2018-03-18", "docs: update dep graph"],
+ ["8cee5b5f", "2018-03-18", "Publish"],
+ [
+ "92f0e27e",
+ "2018-03-18",
+ "fix(paths): fix setIn fast paths for path length 3/4"
+ ],
+ [
+ "2376e02f",
+ "2018-03-18",
+ "build: fix changelogs for atom/interceptors/paths"
+ ],
+ ["4c0212fb", "2018-03-18", "docs(resolve-map): fix link in readme"],
+ [
+ "b6a8da58",
+ "2018-03-18",
+ "build(examples): update deps & imports for all examples"
+ ],
+ ["2c1a85bc", "2018-03-17", "docs: update dep graph"],
+ ["c3cac0c0", "2018-03-17", "Publish"],
+ ["1e7ef2b6", "2018-03-17", "build: fix atom deps in downstream packages"],
+ ["8281609c", "2018-03-17", "minor(atom): fix typo in package"],
+ ["a41a208e", "2018-03-17", "v1.0.0"],
+ ["9a1cc521", "2018-03-17", "docs: update dep graph"],
+ ["c0c3e64c", "2018-03-17", "v1.0.0"],
+ ["0d13982c", "2018-03-17", "v0.1.0"],
+ ["95f6b392", "2018-03-17", "Merge branch 'feature/lazymap' into develop"],
+ ["d34bd146", "2018-03-17", "build: update make-module script (deps)"],
+ ["e1cf4aba", "2018-03-17", "docs(interceptors): update readme"],
+ ["9a651cd9", "2018-03-17", "docs(atom): update readme"],
+ [
+ "1273efbd",
+ "2018-03-17",
+ "refactor(atom): extract @thi.ng/paths & @thi.ng/interceptors functionality"
+ ],
+ ["763ea89f", "2018-03-17", "docs: update package list in main readme"],
+ [
+ "195a6ffd",
+ "2018-03-17",
+ "feat(interceptors): add/extract @thi.ng/interceptors package from @thi.ng/atom"
+ ],
+ [
+ "422c2c4e",
+ "2018-03-17",
+ "feat(resolve-map): add @thi.ng/resolve-map package"
+ ],
+ [
+ "f9f6eb1e",
+ "2018-03-17",
+ "feat(paths): add/extract @thi.ng/paths from @thi.ng/atom"
+ ],
+ ["d3d66436", "2018-03-16", "refactor(examples): update router-basics"],
+ [
+ "f1bc74d2",
+ "2018-03-16",
+ "docs: update readme files (add create-hdom-app instructions)"
+ ],
+ ["8596cd07", "2018-03-16", "docs: update dep graph"],
+ ["6383233e", "2018-03-16", "Publish"],
+ ["357c46e0", "2018-03-16", "feat(atom): add forwardSideFx() interceptor"],
+ [
+ "e52e7e51",
+ "2018-03-16",
+ "feat(atom): add FX_FETCH & FX_DELAY sidefx impl, update docs"
+ ],
+ ["6378eb0b", "2018-03-15", "fix(examples): re-add html"],
+ [
+ "633093ea",
+ "2018-03-15",
+ "refactor(examples): update router-basics (create-hdom-app tpl)"
+ ],
+ ["6deb4e33", "2018-03-14", "build(examples): update hdom deps"],
+ ["c0432cb4", "2018-03-14", "docs: update dep graph"],
+ ["fff77886", "2018-03-14", "Publish"],
+ ["3a0e97d2", "2018-03-14", "test(hdom): add tests, update package"],
+ ["25d0c309", "2018-03-14", "test(hiccup): add deref tests"],
+ [
+ "14356895",
+ "2018-03-14",
+ "Merge branch 'feature/hdom-deref' into develop"
+ ],
+ [
+ "c85b1f81",
+ "2018-03-14",
+ "refactor(examples): remove obsolete .deref() calls"
+ ],
+ [
+ "93343d63",
+ "2018-03-14",
+ "feat(hiccup): support fn values in style objects"
+ ],
+ [
+ "28b0b578",
+ "2018-03-14",
+ "refactor(hdom): disable deref() for attrib objects"
+ ],
+ [
+ "de839e89",
+ "2018-03-14",
+ "refactor(hiccup): disable deref() for attrib objects"
+ ],
+ ["0fe6c44c", "2018-03-14", "feat(hdom): add auto deref() support"],
+ ["0d2c16fc", "2018-03-14", "feat(hiccup): add auto deref() support"],
+ ["2351240d", "2018-03-14", "minor(examples): typo"],
+ ["c5cee483", "2018-03-12", "minor(examples): readme"],
+ ["15acdb5c", "2018-03-12", "minor(examples): typos"],
+ ["ee118999", "2018-03-12", "docs(examples): update readme"],
+ ["8eb0a610", "2018-03-12", "docs(examples): add README for example dir"],
+ ["fc61aae6", "2018-03-12", "minor(examples): add filesize info"],
+ [
+ "777b1b05",
+ "2018-03-11",
+ "refactor(examples): more stateless components, add docs"
+ ],
+ ["49008ccf", "2018-03-11", "docs(examples): update readme"],
+ ["eb73ae93", "2018-03-11", "refactor(examples): update router demo"],
+ ["5b412e7d", "2018-03-11", "docs: update dep graph"],
+ ["a9b09f16", "2018-03-11", "Publish"],
+ ["10ea19f5", "2018-03-11", "docs(atom): update readme & doc strings"],
+ ["0ca0bf3e", "2018-03-11", "fix(atom): ignore side fx with null values"],
+ ["5e8cbc98", "2018-03-11", "docs: update dep graph"],
+ ["e62dace5", "2018-03-11", "Publish"],
+ ["bd8c8b1e", "2018-03-11", "Merge branch 'feature/router' into develop"],
+ ["eac0e96f", "2018-03-11", "docs(router): update readme & package"],
+ [
+ "71b19a43",
+ "2018-03-10",
+ "feat(examples): major update router example app"
+ ],
+ ["d8b8d978", "2018-03-10", "docs: add router package links to main readme"],
+ ["51b02e2b", "2018-03-10", "feat(examples): add router-basics demo"],
+ [
+ "07b4e060",
+ "2018-03-10",
+ "feat(router): re-import router package (MBP2010), minor refactor & fixes"
+ ],
+ ["019943e2", "2018-03-09", "docs: update dep graph"],
+ ["95d6a4e2", "2018-03-09", "Publish"],
+ ["c7e69def", "2018-03-09", "refactor(examples): minor updates"],
+ ["3fae2496", "2018-03-09", "feat(atom): add/extract StatelessEventBus"],
+ ["667691ce", "2018-03-09", "feat(atom): update EventBus ctor, add deref()"],
+ ["59085e0c", "2018-03-09", "fix(atom): add interceptors to re-exports"],
+ ["9b3d91e5", "2018-03-09", "feat(atom): add IRelease impls"],
+ ["3bf9fbaa", "2018-03-09", "docs(atom): update all doc strings"],
+ [
+ "e96cc991",
+ "2018-03-09",
+ "refactor(atom): minor update event bus, add/update docs"
+ ],
+ ["15ae0643", "2018-03-09", "docs: update dep graph"],
+ ["a26e25cf", "2018-03-09", "Publish"],
+ ["a48b7762", "2018-03-08", "refactor(examples): update async-effect"],
+ ["4d7613d8", "2018-03-08", "refactor(examples): update interceptor-basics"],
+ ["fb9b19c4", "2018-03-08", "docs(atom): minor update View docs"],
+ [
+ "359c4f5a",
+ "2018-03-08",
+ "feat(atom): add valueSetter/Updater() interceptors"
+ ],
+ ["443875c8", "2018-03-08", "refactor(atom): update InterceptorFn handling"],
+ [
+ "1fd43d7c",
+ "2018-03-08",
+ "feat(atom): add default handlers, add/rename event/fx const values, add checks"
+ ],
+ ["c5d5ed56", "2018-03-08", "build(examples): update all deps"],
+ ["89a0b20d", "2018-03-08", "docs: update dep graph"],
+ ["f018fb12", "2018-03-08", "Publish"],
+ [
+ "cb9c808e",
+ "2018-03-08",
+ "Merge branch 'feature/atom-async-dispatch' into develop"
+ ],
+ [
+ "a6beda9d",
+ "2018-03-08",
+ "refactor(examples): update async & interceptor demos"
+ ],
+ ["3303c3b4", "2018-03-08", "docs(atom): update readme"],
+ [
+ "56866e07",
+ "2018-03-08",
+ "feat(atom): add async dispatch effect, update event bus & api types"
+ ],
+ [
+ "9900e991",
+ "2018-03-08",
+ "feat(checks): add isPromise() & isPromiseLike()"
+ ],
+ ["fb4f3095", "2018-03-08", "docs: update dep graph"],
+ ["99a87e6a", "2018-03-08", "Publish"],
+ ["52fff093", "2018-03-08", "docs(examples): update async readme & html"],
+ ["c9794acb", "2018-03-07", "feat(examples): add async fx example"],
+ [
+ "9e5239bc",
+ "2018-03-07",
+ "fix(atom): add EventBus to module re-exports, minor cleanup"
+ ],
+ ["5b21c147", "2018-03-07", "build(examples): update interceptor deps"],
+ [
+ "7dcfce05",
+ "2018-03-07",
+ "refactor(examples): update interceptor example"
+ ],
+ ["85e04957", "2018-03-07", "docs: update dep graph"],
+ ["851efd23", "2018-03-07", "Publish"],
+ [
+ "1adb703a",
+ "2018-03-07",
+ "refactor(examples): update interceptor example"
+ ],
+ [
+ "1ab803aa",
+ "2018-03-07",
+ "refactor(atom): update InterceptorFn, ensureXXX(), update deps, add docs"
+ ],
+ ["eec7bc4c", "2018-03-07", "docs: update dep graph"],
+ ["b877a069", "2018-03-07", "Publish"],
+ ["fb74b8a7", "2018-03-07", "Merge branch 'feature/iceps' into develop"],
+ ["4958606b", "2018-03-07", "feat(examples): add interceptors example"],
+ ["a0d662bb", "2018-03-07", "build(atom): add @thi.ng/dcons dep"],
+ [
+ "e01bf733",
+ "2018-03-07",
+ "feat(atom): re-add refactored EventBus & interceptor handling"
+ ],
+ ["be46af3f", "2018-03-06", "feat(examples): add svg viz to devcards demo"],
+ ["79245a35", "2018-03-05", "minor(examples): typos"],
+ ["f40143be", "2018-03-05", "fix(examples): add/update devcard links"],
+ [
+ "8019df82",
+ "2018-03-05",
+ "build(examples): add missing html/webpack files, update deps"
+ ],
+ [
+ "9becd43d",
+ "2018-03-05",
+ "Merge branch 'master' of github.com:thi-ng/umbrella"
+ ],
+ ["58e75591", "2018-03-05", "docs: update dep graph"],
+ ["f38885de", "2018-03-05", "Publish"],
+ [
+ "df4e98fb",
+ "2018-03-05",
+ "Merge branch 'feature/ex-mstates' into develop"
+ ],
+ ["1041d90c", "2018-03-05", "feat(examples): add devcards example"],
+ [
+ "a200beb8",
+ "2018-03-05",
+ "feat(hdom): add support for frame skipping, add docs"
+ ],
+ [
+ "a7e61a4e",
+ "2018-03-05",
+ "feat(atom): update IAtom, add resetIn() & swapIn() impls"
+ ],
+ [
+ "17a11710",
+ "2018-03-05",
+ "Merge branch 'feature/hcss-refactor' into develop"
+ ],
+ [
+ "22bc29c9",
+ "2018-03-05",
+ "docs(hiccup-css): add doc strings for attrib fns"
+ ],
+ ["721583a7", "2018-03-05", "refactor(hiccup-css): internal restructure"],
+ ["34d699fc", "2018-03-05", "chore: update issue tpl instructions"],
+ ["dd09f0bf", "2018-03-05", "docs: update dep graph"],
+ ["203a3a6e", "2018-03-05", "Publish"],
+ [
+ "2e3942ac",
+ "2018-03-05",
+ "docs(hiccup-css): add doc strings, update readme"
+ ],
+ [
+ "105bbf4e",
+ "2018-03-05",
+ "perf(hiccup-css): no empty Set() creation, change type check order in css()"
+ ],
+ ["870da99d", "2018-03-05", "docs: update readme"],
+ ["0c23d2b6", "2018-03-05", "docs: update dep graph"],
+ ["1e08ce24", "2018-03-05", "v0.1.0"],
+ ["69036ad1", "2018-03-05", "minor(hiccup-css): update package desc"],
+ ["5d946cb0", "2018-03-05", "Merge branch 'develop'"],
+ [
+ "d6f8b066",
+ "2018-03-05",
+ "Merge branch 'feature/hiccup-css' into develop"
+ ],
+ ["8a665313", "2018-03-05", "build(hiccup-dom): update ignore files"],
+ ["bafb533e", "2018-03-05", "docs(hiccup-css): update readme"],
+ ["24983d37", "2018-03-05", "test(hiccup-css): update tests"],
+ [
+ "0f416efe",
+ "2018-03-05",
+ "feat(hiccup-css): add comment() indentation support"
+ ],
+ ["f3190fff", "2018-03-05", "fix(hiccup-css): fn & auto-prefix handling"],
+ [
+ "787d0aba",
+ "2018-03-05",
+ "feat(hiccup-css): add more unit types, update px/ms"
+ ],
+ [
+ "02bff871",
+ "2018-03-05",
+ "feat(hiccup-css): add support for iterators as arg type to css()"
+ ],
+ ["cbb9b7f0", "2018-03-04", "test(hiccup-css): add/update tests"],
+ [
+ "a6231172",
+ "2018-03-04",
+ "refactor(hiccup-css): format @keyframe stops, rename perc() => percent()"
+ ],
+ ["e347c292", "2018-03-04", "fix(hiccup-css): @import query separator"],
+ [
+ "57533c76",
+ "2018-03-04",
+ "feat(hiccup-css): update conditional handling, add formatCond()"
+ ],
+ [
+ "428de3c7",
+ "2018-03-04",
+ "feat(hiccup-css): update fn handling, add iterator support, units, comment"
+ ],
+ ["bdc63496", "2018-03-04", "minor: fix typos"],
+ ["c20f2df6", "2018-03-04", "Create CONTRIBUTING.md"],
+ ["6de6b279", "2018-03-03", "perf(hiccup-dom): minor optimizations"],
+ [
+ "ebbc4910",
+ "2018-03-03",
+ "feat(hiccup-css): add attrib fn, at-rules, quoted fns, decl value arrays"
+ ],
+ ["e687230c", "2018-03-03", "feat(hiccup-css): add default vendor prefixes"],
+ [
+ "a53d2a5f",
+ "2018-03-03",
+ "feat(hiccup-css): add keyframes(), split module into separate src files"
+ ],
+ [
+ "d837199d",
+ "2018-03-03",
+ "feat(hiccup-css): add CSSOpts, mediaQuery(), fn expansion"
+ ],
+ [
+ "5247b8f4",
+ "2018-03-03",
+ "feat(hiccup-css): add/fix class handling, update Format"
+ ],
+ [
+ "3a4cf1e6",
+ "2018-03-03",
+ "feat(hiccup-css): add package @thi.ng/hiccup-css"
+ ],
+ ["92fb7b07", "2018-03-03", "chore(examples): update links in html files"],
+ ["b6d350b3", "2018-03-03", "docs: update dep graph"],
+ ["6c628213", "2018-03-03", "docs(hdom): fix diagram link"],
+ ["db98e5e5", "2018-03-03", "chore: update make-example"],
+ ["2f5f0b2e", "2018-03-03", "build(examples): update all example deps"],
+ ["45291b3d", "2018-03-03", "Publish"],
+ ["9099607d", "2018-03-03", "docs: update readme's"],
+ [
+ "752a78bb",
+ "2018-03-03",
+ "feat(hdom-components): rename package hiccup-dom-component => hdom-components"
+ ],
+ ["79e1b097", "2018-03-03", "docs(hdom): update readme"],
+ [
+ "f1c53150",
+ "2018-03-03",
+ "refactor(hdom): rename package hiccup-dom => hdom"
+ ],
+ ["ae47c4db", "2018-03-03", "docs: update dep graph"],
+ ["e405ebdf", "2018-03-03", "Publish"],
+ [
+ "8c180bc6",
+ "2018-03-03",
+ "refactor(transducers): extract compR() into its own file, update refs, update readme"
+ ],
+ [
+ "2f5abce3",
+ "2018-03-02",
+ "refactor(transducers): update swizzler() arg types"
+ ],
+ [
+ "488462e1",
+ "2018-03-02",
+ "refactor(transducers): update permutations()/permutationsN(), add tests"
+ ],
+ [
+ "91938ede",
+ "2018-03-02",
+ "feat(transducers): add permutations()/permutationsN() generators"
+ ],
+ ["aa042602", "2018-03-02", "docs: update dep graph"],
+ ["3d8a6d3c", "2018-03-02", "Publish"],
+ ["2316d4d1", "2018-03-02", "test(transducers): add flatten() tests"],
+ ["3d8aa324", "2018-03-02", "fix(transducers): flattenWith()"],
+ ["befaceb0", "2018-03-01", "docs(atom): update readme example"],
+ ["3dcc3cb8", "2018-03-01", "docs(atom): update example"],
+ [
+ "dd665920",
+ "2018-03-01",
+ "feat(examples): add login-form demo to illustrate state handling"
+ ],
+ ["118cf92f", "2018-03-01", "docs: update dep graph"],
+ ["1f61f49d", "2018-03-01", "Publish"],
+ ["ae7c7f5d", "2018-03-01", "docs(atom): update readme, add View examples"],
+ ["3e55a058", "2018-03-01", "fix(atom): re-export api.ts"],
+ ["341255c9", "2018-03-01", "refactor(atom): include `path` in IView"],
+ ["0206f339", "2018-03-01", "docs: update dep graph"],
+ ["5308cab5", "2018-03-01", "Publish"],
+ ["a0ce6e76", "2018-03-01", "refactor(atom): update Path type references"],
+ [
+ "9ad83b27",
+ "2018-03-01",
+ "feat(atom): add IView, IViewable, impl for Atom, Cursor, History"
+ ],
+ ["1fa829d6", "2018-03-01", "test(atom): add/update tests"],
+ [
+ "8c0c621c",
+ "2018-03-01",
+ "feat(atom): add View type to create derrived views/value subscriptions"
+ ],
+ [
+ "55c6a7d5",
+ "2018-03-01",
+ "perf(atom): add optimized setter() for path len < 5, fix toPath()"
+ ],
+ [
+ "ed23376d",
+ "2018-03-01",
+ "perf(atom): add optimized getters for path len < 5"
+ ],
+ ["ff21d9f4", "2018-02-28", "docs: update dep graph"],
+ ["6779def4", "2018-02-28", "Publish"],
+ ["a86b6775", "2018-02-28", "docs(hiccup-dom): fix readme link"],
+ [
+ "ca17389c",
+ "2018-02-28",
+ "feat(hiccup-dom): add support for function attribs, add docs"
+ ],
+ [
+ "050a5656",
+ "2018-02-28",
+ "docs(hiccup-dom): update initial readme example"
+ ],
+ [
+ "c7e2f816",
+ "2018-02-27",
+ "Merge branch 'master' of github.com:thi-ng/umbrella"
+ ],
+ ["eafc5dd6", "2018-02-27", "build(examples): update deps"],
+ ["4a8feffc", "2018-02-27", "docs(hiccup-dom): fix #7, update readme"],
+ ["61e87665", "2018-02-27", "docs(hiccup-dom): update readme"],
+ ["9593fd13", "2018-02-27", "docs: update dep graph"],
+ ["b8a6e1af", "2018-02-27", "Publish"],
+ ["70720a37", "2018-02-27", "refactor(examples): minor updates"],
+ [
+ "8a070ff2",
+ "2018-02-27",
+ "feat(hiccup-dom): start(), add optional spans arg"
+ ],
+ ["9b2c1606", "2018-02-27", "minor(hiccup-dom): update arg types"],
+ [
+ "f5b66753",
+ "2018-02-27",
+ "feat(hiccup-dom): fix #11, update normalizeTree/normalizeElement"
+ ],
+ ["6e0dfa1d", "2018-02-27", "feat(diff): update diffArray, generic types"],
+ ["621868b4", "2018-02-26", "docs: update dep graph"],
+ ["9ff8c0af", "2018-02-26", "Publish"],
+ ["45d63858", "2018-02-26", "refactor(hiccup): sort void tags"],
+ [
+ "9824844a",
+ "2018-02-26",
+ "feat(transducers): add keys()/vals() iterators, refactor pairs()"
+ ],
+ [
+ "061c9088",
+ "2018-02-26",
+ "Merge pull request #12 from jarvismartin/minor-fix"
+ ],
+ [
+ "f6143eb7",
+ "2018-02-25",
+ "Merge branch 'master' of github.com:thi-ng/umbrella into minor-fix"
+ ],
+ ["c34271f7", "2018-02-24", "docs: update dep graph"],
+ ["1b16d920", "2018-02-24", "Publish"],
+ [
+ "44f33dfc",
+ "2018-02-24",
+ "feat(hiccup): add support for more SVG tags (66 total)"
+ ],
+ [
+ "214fe4d0",
+ "2018-02-23",
+ "feat(hiccup-dom-components): add gradient, group, path SVG funcs"
+ ],
+ ["8180e149", "2018-02-23", "spelling fix"],
+ [
+ "68d9f838",
+ "2018-02-23",
+ "Merge branch 'master' of github.com:thi-ng/umbrella"
+ ],
+ ["ca68a978", "2018-02-23", "minor grammar fix"],
+ ["b3891d52", "2018-02-23", "refactor(examples): simplify json-components"],
+ ["1834f812", "2018-02-23", "docs: update dep graph"],
+ ["8a620583", "2018-02-23", "Publish"],
+ [
+ "2a11ff6f",
+ "2018-02-23",
+ "refactor(transducers): add TransformSubSpec, fix test, minor update docs"
+ ],
+ ["223669b1", "2018-02-23", "test(transducers): add tests"],
+ [
+ "f0fdfa10",
+ "2018-02-23",
+ "feat(transducers): add deepTransform & mapDeep xform"
+ ],
+ [
+ "65f794f6",
+ "2018-02-19",
+ "build: add .gitignore gen for make-example script"
+ ],
+ [
+ "f7c6e0c9",
+ "2018-02-19",
+ "Merge pull request #10 from jarvismartin/example-gitignores"
+ ],
+ ["955eecc4", "2018-02-19", "add .gitignore files to examples"],
+ [
+ "e1f87d6b",
+ "2018-02-19",
+ "fix(examples): update packages & readme's (fix #9), deps in make-example"
+ ],
+ [
+ "c2123e58",
+ "2018-02-19",
+ "Merge pull request #9 from jarvismartin/examples-work-on-debian"
+ ],
+ ["31a4710a", "2018-02-19", "build(examples): update CA deps (transducers)"],
+ [
+ "9b664d25",
+ "2018-02-19",
+ "refactor(examples): simplify CA transducers, update rule format/handling"
+ ],
+ ["2c2030d2", "2018-02-19", "docs: update dep graph"],
+ ["afa74728", "2018-02-19", "Publish"],
+ [
+ "193058d5",
+ "2018-02-19",
+ "feat(transducers): add lookup1d/2d/3d helpers, update re-exports"
+ ],
+ ["813b2cac", "2018-02-19", "make examples work on Debian systems"],
+ ["77c95322", "2018-02-19", "refactor(examples): update webgl demo"],
+ ["73dd1dc5", "2018-02-19", "docs: update dep graph"],
+ ["9c8e877a", "2018-02-19", "build(examples): update CA deps"],
+ ["7f8c6cd0", "2018-02-19", "Publish"],
+ [
+ "3627087b",
+ "2018-02-19",
+ "docs: add hiccup-dom-components to main readme"
+ ],
+ [
+ "ac831234",
+ "2018-02-19",
+ "build(hiccup-dom-components): add missing deps"
+ ],
+ ["9fe096a3", "2018-02-19", "build: update yarn.lock"],
+ [
+ "2394396e",
+ "2018-02-19",
+ "feat(examples): add CA presets, refactor rule handling"
+ ],
+ ["511c4980", "2018-02-19", "feat(hiccup-dom-components): initial import"],
+ ["df93af6d", "2018-02-18", "feat(examples): add randomize buttons (CA)"],
+ ["fde83d59", "2018-02-18", "build(examples): update example deps"],
+ ["b8c03743", "2018-02-18", "docs: update dep graph"],
+ ["06830ce6", "2018-02-18", "Publish"],
+ ["69b3c6a4", "2018-02-18", "docs: update readme files"],
+ ["074f94ff", "2018-02-18", "build: update deps"],
+ [
+ "5a728cb9",
+ "2018-02-18",
+ "refactor(rstream-log): update Logger ctor due to changes in StreamMerge"
+ ],
+ [
+ "4942e2ea",
+ "2018-02-18",
+ "feat(rstream): fix #8, support infinite StreamMerge's, update ctor"
+ ],
+ [
+ "ca1caae5",
+ "2018-02-18",
+ "refactor(rstream): don't throw in unsubscribe() if no parent"
+ ],
+ ["5c106cfa", "2018-02-18", "docs(examples): add more CA config links"],
+ ["d6d3310d", "2018-02-18", "feat(examples): add cellular automata example"],
+ ["d023bd5f", "2018-02-18", "chore(transducers): update re-exports, readme"],
+ [
+ "ab8a8558",
+ "2018-02-18",
+ "feat(transducers): add convolve2d xform & types"
+ ],
+ ["d7b1d0df", "2018-02-18", "feat(transducers): add movingMedian() xform"],
+ ["48f8bb85", "2018-02-18", "fix(transducers): update imports `step()`"],
+ [
+ "63a49530",
+ "2018-02-18",
+ "refactor(transducers): add/update range2d/range3d arity handling"
+ ],
+ ["e71a4c90", "2018-02-17", "docs(atom): update readme"],
+ [
+ "2e34f389",
+ "2018-02-17",
+ "refactor(atom): update history reset/swap, record before applying val"
+ ],
+ ["b593a9b9", "2018-02-17", "feat(atom): add deleteIn()"],
+ ["fbc819ed", "2018-02-17", "fix(atom): empty path handling getter/setter"],
+ [
+ "7d50c1ca",
+ "2018-02-17",
+ "refactor(examples): simplify todo atom handling"
+ ],
+ [
+ "b5ee8e45",
+ "2018-02-17",
+ "refactor(atom): use @thi.ng/api/equiv as default History predicate"
+ ],
+ [
+ "398c32af",
+ "2018-02-17",
+ "refactor(atom): don't mutate getter/setter path args, update updateIn"
+ ],
+ ["6f6e7e5b", "2018-02-17", "feat(atom): add getIn/setIn/updateIn"],
+ ["d38f47e0", "2018-02-16", "test(transducers): add range2d tests"],
+ [
+ "722042b1",
+ "2018-02-16",
+ "feat(transducers): add range2d / range3d generators"
+ ],
+ ["47d5df09", "2018-02-15", "chore: update issue tpl"],
+ ["c9ec713f", "2018-02-15", "Create issue_template.md"],
+ ["4d1de860", "2018-02-08", "docs: update dep graph"],
+ ["3fc88b25", "2018-02-08", "Publish"],
+ [
+ "445c8575",
+ "2018-02-08",
+ "refactor(transducers): re-use even/odd from @thi.ng/checks"
+ ],
+ [
+ "68f8fc23",
+ "2018-02-08",
+ "feat(checks): add new predicates, refactor existing"
+ ],
+ [
+ "080c2ee5",
+ "2018-02-07",
+ "fix(csp): fix #5, more example fixes (rfn calls)"
+ ],
+ ["a10a487c", "2018-02-07", "fix(csp): fix #5, example in readme"],
+ ["972a23e1", "2018-02-05", "style: update const/let assignments"],
+ ["623bc492", "2018-02-05", "refactor(examples): update webgl demo"],
+ ["5281d9a8", "2018-02-05", "feat(examples): add webgl example"],
+ ["eb12a165", "2018-02-04", "build: update upload-docs script"],
+ ["3ee6755f", "2018-02-04", "fix(examples): minor fixes index.html"],
+ [
+ "855d8039",
+ "2018-02-04",
+ "feat(transducers): add page() xform, update readme"
+ ],
+ ["596ed7a2", "2018-02-04", "docs: update dep graph"],
+ ["17e447f6", "2018-02-04", "Publish"],
+ [
+ "1f4f4b8c",
+ "2018-02-04",
+ "fix(hiccup-dom): support parent DOM ID as arg start()"
+ ],
+ ["d8fea714", "2018-02-03", "docs: update dep graph"],
+ ["3daf7962", "2018-02-03", "Publish"],
+ [
+ "4edf45fc",
+ "2018-02-03",
+ "fix(hiccup-dom): fix #3, update start() to be cancellable, add docs"
+ ],
+ ["ae34f077", "2018-02-03", "docs(hiccup-dom): fix readme link"],
+ [
+ "b6d95fbe",
+ "2018-02-03",
+ "feat(examples): add json demo theme support, update docs"
+ ],
+ [
+ "83cd1a21",
+ "2018-02-03",
+ "refactor(examples): minor update json-components"
+ ],
+ ["edfaa6bd", "2018-02-03", "build(examples): update deps"],
+ ["07da7cca", "2018-02-03", "docs: update dep graph"],
+ ["c3b54f98", "2018-02-03", "Publish"],
+ [
+ "b524145b",
+ "2018-02-03",
+ "feat(examples): add reactive json editor component"
+ ],
+ ["10c119b2", "2018-02-03", "refactor(hiccup-dom): minor update ILifeCycle"],
+ ["944cbb3b", "2018-02-03", "fix(hiccup-dom): add NO_SPANS config"],
+ ["d8fa4cae", "2018-02-03", "fix(examples): update index.html"],
+ ["d5460b70", "2018-02-03", "docs(hiccup-dom): update readme"],
+ ["5d8478e1", "2018-02-03", "fix(examples): add missing files"],
+ ["3156e888", "2018-02-03", "fix(examples): update deps"],
+ ["2e4e51c5", "2018-02-03", "feat(examples): add json component demo"],
+ [
+ "f30579ce",
+ "2018-02-03",
+ "Merge branch 'master' of github.com:thi-ng/umbrella"
+ ],
+ ["adb04f07", "2018-02-03", "merge with #2"],
+ ["c09bb89d", "2018-02-03", "docs(hiccup-dom): add svg example links"],
+ ["aa48d3be", "2018-02-03", "feat(examples): add svg particles demo"],
+ ["1b007e69", "2018-02-03", "Merge pull request #2 from forresto/patch-1"],
+ ["7ae6af3b", "2018-02-02", "Is c 3 here?"],
+ ["96004efe", "2018-02-03", "docs(atom): fix readme example"],
+ ["8ebc6242", "2018-02-03", "docs(atom): update readme"],
+ ["ad62c56f", "2018-02-03", "build(examples): update deps"],
+ ["5aed12b6", "2018-02-03", "docs: update dep graph"],
+ ["99a943ac", "2018-02-03", "Publish"],
+ [
+ "8106d16f",
+ "2018-02-02",
+ "build: update main package build commands, update make-example script, readme"
+ ],
+ [
+ "309c7d7c",
+ "2018-02-02",
+ "build(examples): update example build commands"
+ ],
+ ["29267799", "2018-02-02", "refactor(examples): update event attribs"],
+ [
+ "7cc5c93a",
+ "2018-02-02",
+ "refactor(hiccup-dom): update event attrib naming convention, update readme"
+ ],
+ [
+ "7ae706eb",
+ "2018-02-02",
+ "feat(hiccup): skip fn exec for event attribs, update tests, readme"
+ ],
+ ["ab7154a8", "2018-02-02", "docs(hiccup-dom): update readme"],
+ ["38699b96", "2018-02-02", "docs(hiccup-dom): add diagram"],
+ ["62af1537", "2018-02-02", "docs: update dep graph"],
+ ["ec0132c6", "2018-02-02", "Publish"],
+ [
+ "d134d5b7",
+ "2018-02-02",
+ "refactor(hiccup-dom): add interfaces (still unused)"
+ ],
+ ["324d2fa2", "2018-02-02", "docs(examples): add benchmark docs"],
+ ["448e8396", "2018-02-02", "perf(diff): add fail fasts"],
+ ["98485760", "2018-02-02", "refactor(checks): isPlainObject()"],
+ ["110a9deb", "2018-02-02", "fix(api): update compare() & equiv()"],
+ [
+ "0f57ff90",
+ "2018-02-02",
+ "docs(atom): update readme, add history example"
+ ],
+ ["10d9ecbf", "2018-02-02", "docs(hiccup-dom): fix example link"],
+ ["17b43036", "2018-02-02", "docs(hiccup-dom): update readme"],
+ ["d573bc53", "2018-02-02", "docs: update hiccup* readme files"],
+ ["7cfca0d8", "2018-02-02", "docs: update main readme"],
+ ["e4f8fe16", "2018-02-02", "docs(hiccup-dom): update readme"],
+ ["c2fed170", "2018-02-02", "feat(examples): add hdom-basics example"],
+ ["5e6eb832", "2018-02-02", "chore: add make-example script"],
+ ["e69774df", "2018-02-02", "fix(examples): benchmark"],
+ ["e939586a", "2018-02-02", "feat(examples): add hdom benchmark"],
+ ["0a41be9e", "2018-02-01", "docs: fix readme"],
+ ["afb869b0", "2018-02-01", "docs: add/update readme files"],
+ ["d52630c6", "2018-02-01", "docs: update dep graph"],
+ ["10a4f910", "2018-02-01", "Publish"],
+ ["12590847", "2018-02-01", "docs: update dep graph"],
+ ["24ea4ca9", "2018-02-01", "docs: update readme files"],
+ [
+ "25c9f785",
+ "2018-02-01",
+ "feat(atom,hiccup-dom): add example projects (todo list & dashboard)"
+ ],
+ ["1f6bb589", "2018-02-01", "fix(hiccup-dom): boolean attribs"],
+ [
+ "8218814f",
+ "2018-02-01",
+ "fix(atom): truncate redo stack in record(), swap() return type"
+ ],
+ ["c5b6e0fa", "2018-02-01", "feat(atom): add History.canUndo/Redo()"],
+ ["36cc9561", "2018-02-01", "fix(atom): cursor swap() return type"],
+ ["094e4869", "2018-02-01", "docs(hiccup-dom): fix links in readme"],
+ ["d373cab1", "2018-02-01", "docs: update main readme"],
+ ["00ad5d84", "2018-02-01", "docs: update dep graph"],
+ ["794b1fd5", "2018-02-01", "Publish"],
+ ["326d3c31", "2018-02-01", "build: update .npmignore"],
+ ["3101698d", "2018-02-01", "feat(hiccup-dom): add start(), update readme"],
+ ["beebe435", "2018-02-01", "chore: update keywords for all packages"],
+ ["5d7c10a3", "2018-02-01", "test(rstream): fix tests (TS 2.7.*)"],
+ ["4cc4bbc0", "2018-02-01", "build: cleanup/update deps"],
+ ["30ffd009", "2018-02-01", "feat(hiccup-dom): re-import package (MBP2010)"],
+ ["4d0d437b", "2018-02-01", "feat(diff): re-import diff package (MBP2010)"],
+ [
+ "0439d24b",
+ "2018-02-01",
+ "refactor(hiccup): update/add deps, restructure/split into sub-modules"
+ ],
+ [
+ "febe39f1",
+ "2018-02-01",
+ "fix(transducers): update comp() for typescript 2.7.*"
+ ],
+ ["a580f722", "2018-02-01", "build: update deps (typescript & typedoc)"],
+ ["ea638bef", "2018-02-01", "feat(rstream): add Cache subscription class"],
+ [
+ "1354e298",
+ "2018-02-01",
+ "fix(api): fix equiv string handling, update tests"
+ ],
+ [
+ "878520e6",
+ "2018-02-01",
+ "feat(api): update equiv() null handling, add tests"
+ ],
+ ["03c1d97a", "2018-01-31", "docs: update dep graph"],
+ ["5a3c0cce", "2018-01-31", "Publish"],
+ [
+ "59d2a8a1",
+ "2018-01-31",
+ "docs(rstream): add undo/redo example to readme"
+ ],
+ [
+ "54cd5261",
+ "2018-01-31",
+ "fix(rstream): subscription unhandled error handling"
+ ],
+ ["4c703cd4", "2018-01-31", "docs: update dep graph"],
+ ["92a923cf", "2018-01-31", "Publish"],
+ ["365e0d2b", "2018-01-31", "build: update main package commands"],
+ [
+ "d58cf70d",
+ "2018-01-31",
+ "feat(rstream): add changed predicate for fromAtom(), add tests"
+ ],
+ ["dd155dfd", "2018-01-31", "docs(atom): add docs for getter/setter"],
+ [
+ "55383621",
+ "2018-01-31",
+ "feat(atom): add full IAtom impl for History, update tests"
+ ],
+ ["4753afb8", "2018-01-31", "refactor(transducers): use Predicate2"],
+ ["79989e52", "2018-01-31", "refactor(dcons): use Predicate"],
+ ["42bbb864", "2018-01-31", "refactor(iterators): use Predicate/Predicate2"],
+ [
+ "fbf8453c",
+ "2018-01-31",
+ "feat(api): add Predicate2 & StatefulPredicate2 types"
+ ],
+ ["b180917c", "2018-01-31", "docs: update dep graph"],
+ ["2746e8b3", "2018-01-31", "Publish"],
+ ["911ff183", "2018-01-31", "test(atom): add/update tests"],
+ [
+ "e1b57dea",
+ "2018-01-31",
+ "feat(atom): add IReset/ISwap impls for History"
+ ],
+ ["282d9896", "2018-01-31", "fix(atom): cursor ctor arg checks"],
+ [
+ "74ecdf18",
+ "2018-01-31",
+ "refactor(atom): extract IReset, ISwap from IAtom"
+ ],
+ ["035c51a3", "2018-01-31", "feat(atom): add History, add/update tests"],
+ ["2c88537e", "2018-01-30", "fix: links in readme"],
+ ["bbbc869c", "2018-01-30", "deploy: add upload-docs script"],
+ ["dee5f53c", "2018-01-30", "docs: update readme"],
+ ["da037723", "2018-01-30", "docs: update dep graph"],
+ ["95c728e0", "2018-01-30", "Publish"],
+ ["7f345bcc", "2018-01-30", "chore: update make-module"],
+ [
+ "22b02a2d",
+ "2018-01-29",
+ "build: add main package commands, update readme"
+ ],
+ ["768f2ea7", "2018-01-29", "chore: update ignore files"],
+ ["0b5ca037", "2018-01-29", "build: add nyc coverage dev deps & commands"],
+ ["dc0958b7", "2018-01-29", "chore: update ignore files"],
+ ["c863018c", "2018-01-29", "test(iterator): add/update tests"],
+ ["f6530225", "2018-01-29", "docs: update dep graph"],
+ ["a508b05e", "2018-01-29", "Publish"],
+ [
+ "4c242c93",
+ "2018-01-29",
+ "test(rstream): remove sidechainPartition interval test due to unpredictable timing"
+ ],
+ [
+ "382aa05e",
+ "2018-01-29",
+ "fix(rstream): fatal recursion w/ error handling"
+ ],
+ ["1a0004f7", "2018-01-29", "test(rstream): increase timeout for travis"],
+ ["7bdc5617", "2018-01-29", "docs(iterators): update readme"],
+ ["651d07c0", "2018-01-29", "refactor(iterators): remove default exports"],
+ ["1e9dc852", "2018-01-29", "docs: add links for badges"],
+ ["925645ae", "2018-01-29", "docs: add travis badge"],
+ ["2d42787c", "2018-01-29", "build: update travis.yml"],
+ ["dfbd7efe", "2018-01-29", "docs(transducers): update padLast docs"],
+ [
+ "e6477679",
+ "2018-01-29",
+ "test: add travis.yml, update main package / readme"
+ ],
+ ["9c2db625", "2018-01-29", "chore: update make-module script"],
+ ["6a125e83", "2018-01-29", "test: add test stubs, fix existing"],
+ ["b952a357", "2018-01-29", "build: update/fix all tsconfig files"],
+ ["85b280bf", "2018-01-29", "build: update commands in all packages"],
+ ["94333dfd", "2018-01-29", "test(atom): add/update tests"],
+ ["17d5c999", "2018-01-29", "docs: update dep graph"],
+ ["83b6e1a1", "2018-01-29", "Publish"],
+ [
+ "5dce8a2f",
+ "2018-01-29",
+ "feat(atom): add nested path getter / setter compilers"
+ ],
+ ["1ae5f635", "2018-01-29", "docs: update dep graph"],
+ ["1ef8b45d", "2018-01-29", "Publish"],
+ ["b526376c", "2018-01-29", "docs: update readme"],
+ ["71c40ad0", "2018-01-29", "docs: update readme"],
+ ["ccd8e820", "2018-01-29", "test(rstream): update tests (fromPromise())"],
+ [
+ "822b297f",
+ "2018-01-29",
+ "fix(rstream): fix #1 update fromPromise(), add test"
+ ],
+ [
+ "33b3e16c",
+ "2018-01-29",
+ "chore: update package cmds & make-module script"
+ ],
+ ["1abd3cd1", "2018-01-29", "chore: add license files"],
+ ["0abfc62d", "2018-01-29", "docs(all) update dep graph"],
+ ["435c771f", "2018-01-29", "Publish"],
+ [
+ "cca801b7",
+ "2018-01-29",
+ "fix(atom): cursor IWatch impls (replace stubs)"
+ ],
+ ["318e62ba", "2018-01-29", "docs: update main readme"],
+ ["5ca9b983", "2018-01-29", "chore: update make-module script"],
+ ["e45f3bd7", "2018-01-29", "chore(all): update depgraph commit msg format"],
+ [
+ "d774e324",
+ "2018-01-29",
+ "perf(transducers): avoid result object cloning in struct() xform"
+ ],
+ ["ac12051f", "2018-01-29", "update dep graph"],
+ ["28771016", "2018-01-29", "Publish"],
+ [
+ "1bc6ee6f",
+ "2018-01-29",
+ "build(rstream-csp): minor fix package & readme"
+ ],
+ [
+ "ca3994ad",
+ "2018-01-29",
+ "feat(rstream): add atom dep, add fromAtom() & docs"
+ ],
+ [
+ "04c3d592",
+ "2018-01-29",
+ "feat(atom): add Cursor, update interfaces, types, readme"
+ ],
+ [
+ "52c25a84",
+ "2018-01-28",
+ "build(all): add tslint workspace dev dependency"
+ ],
+ [
+ "fefc2835",
+ "2018-01-28",
+ "feat(atom): re-import atom package from MBP2010, update main readme"
+ ],
+ [
+ "bddd5ce7",
+ "2018-01-28",
+ "feat(api): update IWatch & mixin, boolean returns"
+ ],
+ ["55ba0e13", "2018-01-28", "feat(rstream): add fromPromises(), add docs"],
+ ["2247f72f", "2018-01-28", "feat(rstream): add trace() error handler"],
+ ["ababaa1c", "2018-01-28", "docs(all): update readme"],
+ ["68e38136", "2018-01-28", "update dep graph"],
+ ["a87badef", "2018-01-28", "Publish"],
+ ["f83bd18e", "2018-01-28", "docs(rstream-csp): fix readme example"],
+ [
+ "a6e49b34",
+ "2018-01-28",
+ "build(all): fix depgraph command in main package"
+ ],
+ ["d376f872", "2018-01-28", "update dep graph"],
+ ["8b53d6e1", "2018-01-28", "Publish"],
+ ["079a052c", "2018-01-28", "docs(all): update main readme, add dep graph"],
+ ["03ad992a", "2018-01-28", "chore(all): update ignore files"],
+ ["eb49e575", "2018-01-28", "test(csp): update test examples"],
+ ["13f0bd12", "2018-01-28", "test(hiccup): refactor all tests"],
+ [
+ "c677539f",
+ "2018-01-28",
+ "build(all): update lerna config, main package, add make-module script"
+ ],
+ ["fcd01ba6", "2018-01-28", "build(rstream-log): update deps"],
+ ["28eee5f3", "2018-01-28", "build(transducers): update deps"],
+ [
+ "174aaba7",
+ "2018-01-28",
+ "docs(transducers): update readme & doc comments"
+ ],
+ ["c2211223", "2018-01-28", "docs(rstream): update readme & doc comments"],
+ [
+ "e37f6a13",
+ "2018-01-28",
+ "feat(rstream-csp): add new package, remove CSP dep from rstream"
+ ],
+ ["c74353b1", "2018-01-28", "feat(api): add StatefulPredicate"],
+ [
+ "7b21aa64",
+ "2018-01-27",
+ "feat(transducers): add noop() xform, update readme"
+ ],
+ ["44db970b", "2018-01-27", "fix(transducers): scan() complete handling"],
+ ["b7c62341", "2018-01-27", "docs(transducers): update readme, add docs"],
+ [
+ "45d6bc66",
+ "2018-01-27",
+ "feat(transducers): update re-exports, extract throttleTime() into own file"
+ ],
+ [
+ "8e5204d2",
+ "2018-01-27",
+ "fix(transducers): add \"complete\" step handling in scan()"
+ ],
+ [
+ "e1a282cb",
+ "2018-01-27",
+ "feat(transducers): update throttle(), refactor take/dropNth"
+ ],
+ ["0b3c7860", "2018-01-27", "feat(transducers): add labeled() xform"],
+ ["931b67f7", "2018-01-27", "feat(transducers): add multiplexObj()"],
+ ["63344e45", "2018-01-27", "feat(transducers): add every(), some() rfns"],
+ [
+ "e555ff55",
+ "2018-01-27",
+ "feat(transducers): update re-exports, minor update reductions()"
+ ],
+ [
+ "4b8d037a",
+ "2018-01-27",
+ "feat(transducers): update frequencies() & groupByMap()"
+ ],
+ [
+ "e268e356",
+ "2018-01-27",
+ "refactor(transducers): rename join() => str() rfn"
+ ],
+ [
+ "beb2cee8",
+ "2018-01-27",
+ "feat(transducers): add multiplex() xform & docs"
+ ],
+ [
+ "1f32fc0c",
+ "2018-01-27",
+ "feat(transducers): update step() to support multiple results"
+ ],
+ [
+ "58f14775",
+ "2018-01-27",
+ "refactor(transducers): udate cat() to accept iterables, not just arrays"
+ ],
+ [
+ "e50fa261",
+ "2018-01-27",
+ "feat(transducers): add utf8Encode()/utf8Decode() xforms"
+ ],
+ ["57ceecee", "2018-01-26", "Publish"],
+ ["76c67349", "2018-01-26", "fix(rstream-log): imports"],
+ ["eb31ec6a", "2018-01-26", "build(rstream): 0.5.1 publish"],
+ ["22f1b6af", "2018-01-26", "build(all): fix repo links in all packages"],
+ ["c776df18", "2018-01-26", "build(all): fix pub script aliases"],
+ ["32fc705a", "2018-01-26", "Publish"],
+ [
+ "de4e8192",
+ "2018-01-26",
+ "refactor(rstream): allow extra props in ISubscriber"
+ ],
+ ["fdc08897", "2018-01-26", "test(rstream): update promise tests"],
+ [
+ "4bb9f918",
+ "2018-01-26",
+ "fix(rstream): Resolver error/rejection handling"
+ ],
+ [
+ "23e38f79",
+ "2018-01-26",
+ "fix(rstream): only handle done() in IDLE or ACTIVE states, else ignore"
+ ],
+ ["b4f87853", "2018-01-26", "test(rstream): add/update tests"],
+ ["3d2f8b91", "2018-01-26", "fix(rstream): fromPromise() error handling"],
+ [
+ "a0647fed",
+ "2018-01-26",
+ "refactor(rstream): update/fix Subscription.error() handling"
+ ],
+ ["3172eb6d", "2018-01-26", "test(rstream): add transducer test"],
+ [
+ "9cf95541",
+ "2018-01-26",
+ "refactor(rstream): change SidechainToggle ctor arg order, add tests"
+ ],
+ ["d36a9ff8", "2018-01-26", "feat(rstream): add fromIterableSync()"],
+ [
+ "f1956922",
+ "2018-01-26",
+ "feat(rstream): Stream calls done() w/ last unsub"
+ ],
+ ["0039ef38", "2018-01-26", "test(rstream): add/update tests"],
+ [
+ "ec985b33",
+ "2018-01-26",
+ "feat(rstream): make Stream source arg optional"
+ ],
+ ["d3cbda2a", "2018-01-26", "test(rstream): add/update tests"],
+ ["91e8cad5", "2018-01-26", "feat(rstream): update StreamMerge"],
+ [
+ "887c29bb",
+ "2018-01-26",
+ "refactor(rstream): add Subscription.ensureState()"
+ ],
+ ["7d066773", "2018-01-26", "test(rstream): add tests for fromIterable()"],
+ [
+ "8019422f",
+ "2018-01-26",
+ "feat(rstream): add DEBUG flag to toggle tracing"
+ ],
+ [
+ "ad548627",
+ "2018-01-25",
+ "feat(rstream): allow partial ISubscriber's for subscribe()"
+ ],
+ ["55c3b041", "2018-01-25", "fix(rstream-log): update module re-exports"],
+ [
+ "5c85ab9b",
+ "2018-01-25",
+ "fix(rstream): update fromPromise() cancellation"
+ ],
+ ["0f601d5c", "2018-01-25", "fix(rstream): Stream.cancel()"],
+ [
+ "19f27b94",
+ "2018-01-25",
+ "refactor(rstream): update ISubscriber.error() impls"
+ ],
+ ["0acf4e22", "2018-01-25", "Publish"],
+ [
+ "f6ca3f33",
+ "2018-01-25",
+ "feat(rstream): add sidechainToggle(), minor update sidechainPartition()"
+ ],
+ ["2557c3b3", "2018-01-25", "Publish"],
+ [
+ "4048bec4",
+ "2018-01-25",
+ "feat(rstream-log): add support for body formatter (formatString()), add type aliases"
+ ],
+ [
+ "bc26d097",
+ "2018-01-25",
+ "feat(rstream-log): add node check for writeFile()"
+ ],
+ ["8304c825", "2018-01-25", "feat(rstream-log): add ILogger"],
+ [
+ "eef65b9e",
+ "2018-01-25",
+ "fix(rstream): don't throw resolve() error, only warning msg"
+ ],
+ [
+ "4e5a2ee1",
+ "2018-01-25",
+ "feat(rstream): add fromRAF() fallback for node, add docs"
+ ],
+ [
+ "592a2423",
+ "2018-01-25",
+ "fix(rstream): subscription generics if transducer is used"
+ ],
+ ["898be349", "2018-01-25", "Publish"],
+ ["007f361f", "2018-01-25", "docs(transducers): add/update docs"],
+ [
+ "a2c3bc42",
+ "2018-01-25",
+ "refactor(transducers): update reverse(), add deps"
+ ],
+ [
+ "0c116c1c",
+ "2018-01-25",
+ "refactor(transducers): simplify concat(), add docs"
+ ],
+ [
+ "b3ce275b",
+ "2018-01-24",
+ "fix(transducers): include 1st val in benchmark()"
+ ],
+ ["75bb161c", "2018-01-24", "fix(transducers): base64 imports"],
+ ["e290d759", "2018-01-24", "fix(all): project links in readme files"],
+ ["dc145a55", "2018-01-24", "fix(main): readme"],
+ ["358d5abf", "2018-01-24", "Publish"],
+ ["00f9c12b", "2018-01-24", "update packages (npm publishConfig)"],
+ [
+ "04ff6e9c",
+ "2018-01-24",
+ "feat(all): initial re-import as monorepo, update readme files, cleanup imports"
+ ]
+]
diff --git a/examples/hdom-vscroller/src/index.ts b/examples/hdom-vscroller/src/index.ts
index 3cfe6422b9..627f697859 100644
--- a/examples/hdom-vscroller/src/index.ts
+++ b/examples/hdom-vscroller/src/index.ts
@@ -36,19 +36,19 @@ const queryFilter = (_: any, query: EventListener, items: any[]) => [
"div.pv2.ph3.bg-black.white",
"Filter: ",
["input", { type: "text", oninput: setQuery, value: query }],
- ` (${items.length})`
+ ` (${items.length})`,
];
const repoLink = (_: any, sha: string, body: any) => [
"a.link.blue",
{ href: `${REPO_BASE}commit/${sha}` },
- body
+ body,
];
const packageLink = (_: any, name: any) => [
"a.link.blue",
{ href: `${REPO_BASE}tree/develop/packages/${name.substr(8)}` },
- name
+ name,
];
const commit = (i: number, [sha, date, msg]: Commit) => [
@@ -56,15 +56,15 @@ const commit = (i: number, [sha, date, msg]: Commit) => [
["div.dib.w-30.w-20-m.w-10-l.ph3", date],
[
"div.dib.w-70.w-80-m.w-90-l.ph3.overflow-x-hidden.nowrap",
- [repoLink, sha, msg]
- ]
+ [repoLink, sha, msg],
+ ],
];
const pkgSummary = ([name, desc]: Package) => [
"div.flex.items-center.lh-copy.pa3.ph0-l.bb.b--black-10",
{ style: { height: "96px" } },
["img.w2.h2", { src: LOGO }],
- ["div.pl3.flex-auto.f7", ["h3.ma0", [packageLink, name]], desc]
+ ["div.pl3.flex-auto.f7", ["h3.ma0", [packageLink, name]], desc],
];
const app = () => [
@@ -80,7 +80,7 @@ const app = () => [
numVisible: 10,
numItems: filtered.length,
itemHeight: 31,
- items: mapIndexed(commit, 0, filtered)
+ items: mapIndexed(commit, 0, filtered),
}),
["h3.ph2", "Packages"],
virtualScroller({
@@ -93,8 +93,8 @@ const app = () => [
numVisible: 2,
numItems: PACKAGES.length,
itemHeight: 96,
- items: map(pkgSummary, PACKAGES)
- })
+ items: map(pkgSummary, PACKAGES),
+ }),
];
const cancel = start(app);
diff --git a/examples/hdom-vscroller/src/packages.json b/examples/hdom-vscroller/src/packages.json
index 8b070eaa3f..170e47c293 100644
--- a/examples/hdom-vscroller/src/packages.json
+++ b/examples/hdom-vscroller/src/packages.json
@@ -1 +1,245 @@
-[["@thi.ng/api","Common, generic types & interfaces for thi.ng projects"],["@thi.ng/associative","Alternative Set & Map data type implementations with customizable equality semantics & supporting operations"],["@thi.ng/atom","Mutable wrappers for nested immutable values w/ optional undo/redo history"],["@thi.ng/bench","Basic benchmarking helpers"],["@thi.ng/bencode","TODO"],["@thi.ng/binary","Assorted binary / bitwise operations, conversions, utilities."],["@thi.ng/bitstream","ES6 iterator based read/write bit streams & support for variable word widths"],["@thi.ng/cache","In-memory cache implementations with ES6 Map-like API and different eviction strategies"],["@thi.ng/checks","Single-function sub-modules for type, feature & value checks"],["@thi.ng/color","TODO"],["@thi.ng/compare","Comparator with optional delegation for types implementing @thi.ng/api/ICompare interface"],["@thi.ng/compose","Arity-optimized functional composition helpers"],["@thi.ng/csp","ES6 promise based CSP implementation"],["@thi.ng/dcons","Comprehensive doubly linked list structure w/ iterator support"],["@thi.ng/defmulti","Dynamically extensible multiple dispatch via user supplied dispatch function."],["@thi.ng/dgraph","Type-agnostic directed acyclic graph (DAG) & graph operations"],["@thi.ng/diff","Array & object Diff"],["@thi.ng/dlogic","Assorted digital logic ops / constructs."],["@thi.ng/dot","Graphviz DOM abstraction as vanilla JS objects & serialization to DOT format"],["@thi.ng/dsp","Assorted DSP utils, oscillators etc."],["@thi.ng/equiv","Extensible deep equivalence checking for any data types"],["@thi.ng/errors","Custom error types and helper fns."],["@thi.ng/fsm","Composable primitives for building declarative, transducer based Finite-State machines & parsers for arbitrary data streams"],["@thi.ng/geom","TODO"],["@thi.ng/geom-accel","nD spatial indexing data structures"],["@thi.ng/geom-api","Shared type & interface declarations for @thi.ng/geom packages"],["@thi.ng/geom-arc","2D circular / elliptic arc operations"],["@thi.ng/geom-clip","2D line & convex polygon clipping (Liang-Barsky / Sutherland-Hodgeman)"],["@thi.ng/geom-closest-point","Closest point / proximity helpers"],["@thi.ng/geom-hull","Fast 2D convex hull (Graham Scan)"],["@thi.ng/geom-isec","2D/3D shape intersection checks"],["@thi.ng/geom-isoline","Fast 2D contour line extraction / generation"],["@thi.ng/geom-poly-utils","Polygon / triangle analysis & processing utilities"],["@thi.ng/geom-resample","Customizable nD polyline interpolation, re-sampling, splitting & nearest point computation"],["@thi.ng/geom-splines","nD cubic & quadratic curve analysis, conversion, interpolation, splitting"],["@thi.ng/geom-subdiv-curve","Freely customizable, iterative subdivision curves for open / closed input geometries"],["@thi.ng/geom-tessellate","2D/3D polygon tessellators"],["@thi.ng/geom-voronoi","Fast, incremental 2D Delaunay & Voronoi mesh implementation"],["@thi.ng/hdom","Lightweight vanilla ES6 UI component trees with customizable branch-local behaviors"],["@thi.ng/hdom-canvas","Declarative canvas scenegraph & visualization for @thi.ng/hdom"],["@thi.ng/hdom-components","Raw, skinnable UI & SVG components for @thi.ng/hdom"],["@thi.ng/hdom-mock","Mock base implementation for @thi.ng/hdom API"],["@thi.ng/heaps","Generic binary heap & d-ary heap implementations with customizable ordering"],["@thi.ng/hiccup","HTML/SVG/XML serialization of nested data structures, iterables & closures"],["@thi.ng/hiccup-carbon-icons","TODO"],["@thi.ng/hiccup-css","CSS from nested JS data structures"],["@thi.ng/hiccup-markdown","Markdown serialization of hiccup DOM trees"],["@thi.ng/hiccup-svg","SVG element functions for @thi.ng/hiccup & @thi.ng/hdom"],["@thi.ng/iges","IGES 5.3 serializer for (currently only) polygonal geometry, both open & closed"],["@thi.ng/interceptors","Interceptor based event bus, side effect & immutable state handling"],["@thi.ng/intervals","Closed/open/semi-open interval data type, queries & operations"],["@thi.ng/iterators","clojure.core inspired, composable ES6 iterators & generators"],["@thi.ng/malloc","ArrayBuffer based malloc() impl for hybrid JS/WASM use cases, based on thi.ng/tinyalloc"],["@thi.ng/math","Assorted common math functions & utilities"],["@thi.ng/matrices","Matrix & quaternion operations for 2D/3D geometry processing"],["@thi.ng/memoize","Function memoization with configurable caches"],["@thi.ng/morton","Z-order-curve / Morton encoding & decoding for 1D, 2D, 3D"],["@thi.ng/paths","immutable, optimized path-based object property / array accessors"],["@thi.ng/pointfree","Pointfree functional composition / Forth style stack execution engine"],["@thi.ng/pointfree-lang","Forth style syntax layer/compiler for the @thi.ng/pointfree DSL"],["@thi.ng/poisson","nD Poisson-disc sampling w/ support for spatial density functions and custom PRNGs"],["@thi.ng/quad-edge","Quadedge data structure after Guibas & Stolfi"],["@thi.ng/random","Pseudo-random number generators w/ unified API"],["@thi.ng/range-coder","Binary data range encoder / decoder"],["@thi.ng/resolve-map","DAG resolution of vanilla objects & arrays with internally linked values"],["@thi.ng/rle-pack","Binary run-length encoding packer w/ flexible repeat bit widths"],["@thi.ng/router","Generic router for browser & non-browser based applications"],["@thi.ng/rstream","Reactive multi-tap streams, dataflow & transformation pipeline constructs"],["@thi.ng/rstream-csp","@thi.ng/csp bridge module for @thi.ng/rstream"],["@thi.ng/rstream-dot","Graphviz DOT conversion of @thi.ng/rstream dataflow graph topologies"],["@thi.ng/rstream-gestures","Unified mouse, mouse wheel & single-touch event stream abstraction"],["@thi.ng/rstream-graph","Declarative dataflow graph construction for @thi.ng/rstream"],["@thi.ng/rstream-log","Structured, multilevel & hierarchical loggers based on @thi.ng/rstream"],["@thi.ng/rstream-query","@thi.ng/rstream based triple store & reactive query engine"],["@thi.ng/sax","Transducer-based, SAX-like, non-validating, speedy & tiny XML parser"],["@thi.ng/strings","Various string formatting & utility functions"],["@thi.ng/transducers","Lightweight transducer implementations for ES6 / TypeScript"],["@thi.ng/transducers-binary","TODO"],["@thi.ng/transducers-fsm","Transducer-based Finite State Machine transformer"],["@thi.ng/transducers-hdom","Transducer based UI updater for @thi.ng/hdom"],["@thi.ng/transducers-stats","Transducers for statistical / technical analysis"],["@thi.ng/unionstruct","C-style struct, union and bitfield views of ArrayBuffers"],["@thi.ng/vector-pools","TODO"],["@thi.ng/vectors","Optimized 2d/3d/4d and arbitrary length vector operations"]]
\ No newline at end of file
+[
+ ["@thi.ng/api", "Common, generic types & interfaces for thi.ng projects"],
+ [
+ "@thi.ng/associative",
+ "Alternative Set & Map data type implementations with customizable equality semantics & supporting operations"
+ ],
+ [
+ "@thi.ng/atom",
+ "Mutable wrappers for nested immutable values w/ optional undo/redo history"
+ ],
+ ["@thi.ng/bench", "Basic benchmarking helpers"],
+ ["@thi.ng/bencode", "TODO"],
+ [
+ "@thi.ng/binary",
+ "Assorted binary / bitwise operations, conversions, utilities."
+ ],
+ [
+ "@thi.ng/bitstream",
+ "ES6 iterator based read/write bit streams & support for variable word widths"
+ ],
+ [
+ "@thi.ng/cache",
+ "In-memory cache implementations with ES6 Map-like API and different eviction strategies"
+ ],
+ [
+ "@thi.ng/checks",
+ "Single-function sub-modules for type, feature & value checks"
+ ],
+ ["@thi.ng/color", "TODO"],
+ [
+ "@thi.ng/compare",
+ "Comparator with optional delegation for types implementing @thi.ng/api/ICompare interface"
+ ],
+ ["@thi.ng/compose", "Arity-optimized functional composition helpers"],
+ ["@thi.ng/csp", "ES6 promise based CSP implementation"],
+ [
+ "@thi.ng/dcons",
+ "Comprehensive doubly linked list structure w/ iterator support"
+ ],
+ [
+ "@thi.ng/defmulti",
+ "Dynamically extensible multiple dispatch via user supplied dispatch function."
+ ],
+ [
+ "@thi.ng/dgraph",
+ "Type-agnostic directed acyclic graph (DAG) & graph operations"
+ ],
+ ["@thi.ng/diff", "Array & object Diff"],
+ ["@thi.ng/dlogic", "Assorted digital logic ops / constructs."],
+ [
+ "@thi.ng/dot",
+ "Graphviz DOM abstraction as vanilla JS objects & serialization to DOT format"
+ ],
+ ["@thi.ng/dsp", "Assorted DSP utils, oscillators etc."],
+ [
+ "@thi.ng/equiv",
+ "Extensible deep equivalence checking for any data types"
+ ],
+ ["@thi.ng/errors", "Custom error types and helper fns."],
+ [
+ "@thi.ng/fsm",
+ "Composable primitives for building declarative, transducer based Finite-State machines & parsers for arbitrary data streams"
+ ],
+ ["@thi.ng/geom", "TODO"],
+ ["@thi.ng/geom-accel", "nD spatial indexing data structures"],
+ [
+ "@thi.ng/geom-api",
+ "Shared type & interface declarations for @thi.ng/geom packages"
+ ],
+ ["@thi.ng/geom-arc", "2D circular / elliptic arc operations"],
+ [
+ "@thi.ng/geom-clip",
+ "2D line & convex polygon clipping (Liang-Barsky / Sutherland-Hodgeman)"
+ ],
+ ["@thi.ng/geom-closest-point", "Closest point / proximity helpers"],
+ ["@thi.ng/geom-hull", "Fast 2D convex hull (Graham Scan)"],
+ ["@thi.ng/geom-isec", "2D/3D shape intersection checks"],
+ ["@thi.ng/geom-isoline", "Fast 2D contour line extraction / generation"],
+ [
+ "@thi.ng/geom-poly-utils",
+ "Polygon / triangle analysis & processing utilities"
+ ],
+ [
+ "@thi.ng/geom-resample",
+ "Customizable nD polyline interpolation, re-sampling, splitting & nearest point computation"
+ ],
+ [
+ "@thi.ng/geom-splines",
+ "nD cubic & quadratic curve analysis, conversion, interpolation, splitting"
+ ],
+ [
+ "@thi.ng/geom-subdiv-curve",
+ "Freely customizable, iterative subdivision curves for open / closed input geometries"
+ ],
+ ["@thi.ng/geom-tessellate", "2D/3D polygon tessellators"],
+ [
+ "@thi.ng/geom-voronoi",
+ "Fast, incremental 2D Delaunay & Voronoi mesh implementation"
+ ],
+ [
+ "@thi.ng/hdom",
+ "Lightweight vanilla ES6 UI component trees with customizable branch-local behaviors"
+ ],
+ [
+ "@thi.ng/hdom-canvas",
+ "Declarative canvas scenegraph & visualization for @thi.ng/hdom"
+ ],
+ [
+ "@thi.ng/hdom-components",
+ "Raw, skinnable UI & SVG components for @thi.ng/hdom"
+ ],
+ ["@thi.ng/hdom-mock", "Mock base implementation for @thi.ng/hdom API"],
+ [
+ "@thi.ng/heaps",
+ "Generic binary heap & d-ary heap implementations with customizable ordering"
+ ],
+ [
+ "@thi.ng/hiccup",
+ "HTML/SVG/XML serialization of nested data structures, iterables & closures"
+ ],
+ ["@thi.ng/hiccup-carbon-icons", "TODO"],
+ ["@thi.ng/hiccup-css", "CSS from nested JS data structures"],
+ ["@thi.ng/hiccup-markdown", "Markdown serialization of hiccup DOM trees"],
+ [
+ "@thi.ng/hiccup-svg",
+ "SVG element functions for @thi.ng/hiccup & @thi.ng/hdom"
+ ],
+ [
+ "@thi.ng/iges",
+ "IGES 5.3 serializer for (currently only) polygonal geometry, both open & closed"
+ ],
+ [
+ "@thi.ng/interceptors",
+ "Interceptor based event bus, side effect & immutable state handling"
+ ],
+ [
+ "@thi.ng/intervals",
+ "Closed/open/semi-open interval data type, queries & operations"
+ ],
+ [
+ "@thi.ng/iterators",
+ "clojure.core inspired, composable ES6 iterators & generators"
+ ],
+ [
+ "@thi.ng/malloc",
+ "ArrayBuffer based malloc() impl for hybrid JS/WASM use cases, based on thi.ng/tinyalloc"
+ ],
+ ["@thi.ng/math", "Assorted common math functions & utilities"],
+ [
+ "@thi.ng/matrices",
+ "Matrix & quaternion operations for 2D/3D geometry processing"
+ ],
+ ["@thi.ng/memoize", "Function memoization with configurable caches"],
+ [
+ "@thi.ng/morton",
+ "Z-order-curve / Morton encoding & decoding for 1D, 2D, 3D"
+ ],
+ [
+ "@thi.ng/paths",
+ "immutable, optimized path-based object property / array accessors"
+ ],
+ [
+ "@thi.ng/pointfree",
+ "Pointfree functional composition / Forth style stack execution engine"
+ ],
+ [
+ "@thi.ng/pointfree-lang",
+ "Forth style syntax layer/compiler for the @thi.ng/pointfree DSL"
+ ],
+ [
+ "@thi.ng/poisson",
+ "nD Poisson-disc sampling w/ support for spatial density functions and custom PRNGs"
+ ],
+ ["@thi.ng/quad-edge", "Quadedge data structure after Guibas & Stolfi"],
+ ["@thi.ng/random", "Pseudo-random number generators w/ unified API"],
+ ["@thi.ng/range-coder", "Binary data range encoder / decoder"],
+ [
+ "@thi.ng/resolve-map",
+ "DAG resolution of vanilla objects & arrays with internally linked values"
+ ],
+ [
+ "@thi.ng/rle-pack",
+ "Binary run-length encoding packer w/ flexible repeat bit widths"
+ ],
+ [
+ "@thi.ng/router",
+ "Generic router for browser & non-browser based applications"
+ ],
+ [
+ "@thi.ng/rstream",
+ "Reactive multi-tap streams, dataflow & transformation pipeline constructs"
+ ],
+ ["@thi.ng/rstream-csp", "@thi.ng/csp bridge module for @thi.ng/rstream"],
+ [
+ "@thi.ng/rstream-dot",
+ "Graphviz DOT conversion of @thi.ng/rstream dataflow graph topologies"
+ ],
+ [
+ "@thi.ng/rstream-gestures",
+ "Unified mouse, mouse wheel & single-touch event stream abstraction"
+ ],
+ [
+ "@thi.ng/rstream-graph",
+ "Declarative dataflow graph construction for @thi.ng/rstream"
+ ],
+ [
+ "@thi.ng/rstream-log",
+ "Structured, multilevel & hierarchical loggers based on @thi.ng/rstream"
+ ],
+ [
+ "@thi.ng/rstream-query",
+ "@thi.ng/rstream based triple store & reactive query engine"
+ ],
+ [
+ "@thi.ng/sax",
+ "Transducer-based, SAX-like, non-validating, speedy & tiny XML parser"
+ ],
+ ["@thi.ng/strings", "Various string formatting & utility functions"],
+ [
+ "@thi.ng/transducers",
+ "Lightweight transducer implementations for ES6 / TypeScript"
+ ],
+ ["@thi.ng/transducers-binary", "TODO"],
+ [
+ "@thi.ng/transducers-fsm",
+ "Transducer-based Finite State Machine transformer"
+ ],
+ [
+ "@thi.ng/transducers-hdom",
+ "Transducer based UI updater for @thi.ng/hdom"
+ ],
+ [
+ "@thi.ng/transducers-stats",
+ "Transducers for statistical / technical analysis"
+ ],
+ [
+ "@thi.ng/unionstruct",
+ "C-style struct, union and bitfield views of ArrayBuffers"
+ ],
+ ["@thi.ng/vector-pools", "TODO"],
+ [
+ "@thi.ng/vectors",
+ "Optimized 2d/3d/4d and arbitrary length vector operations"
+ ]
+]
diff --git a/examples/hdom-vscroller/src/vscroller.ts b/examples/hdom-vscroller/src/vscroller.ts
index c7c23efa54..089e11abc1 100644
--- a/examples/hdom-vscroller/src/vscroller.ts
+++ b/examples/hdom-vscroller/src/vscroller.ts
@@ -1,10 +1,5 @@
import { Fn2 } from "@thi.ng/api";
-import {
- comp,
- drop,
- iterator,
- take
-} from "@thi.ng/transducers";
+import { comp, drop, iterator, take } from "@thi.ng/transducers";
interface VScrollOpts {
/**
@@ -45,7 +40,7 @@ export const virtualScroller = ({
numVisible,
numItems,
itemHeight,
- items
+ items,
}: VScrollOpts) => [
"div.overflow-y-scroll",
{
@@ -59,18 +54,19 @@ export const virtualScroller = ({
},
scrollTop: top,
style: {
- height: `${numVisible * itemHeight}px`
- }
+ height: `${numVisible * itemHeight}px`,
+ },
},
[
"div",
{
style: {
height: `${numItems * itemHeight}px`,
- "padding-top": `${Math.min(start, numItems - numVisible) *
- itemHeight}px`
- }
+ "padding-top": `${
+ Math.min(start, numItems - numVisible) * itemHeight
+ }px`,
+ },
},
- iterator(comp(drop(start), take(numVisible + 1)), items)
- ]
+ iterator(comp(drop(start), take(numVisible + 1)), items),
+ ],
];
diff --git a/examples/hmr-basics/src/app.ts b/examples/hmr-basics/src/app.ts
index 281c654525..a9123b8cdc 100644
--- a/examples/hmr-basics/src/app.ts
+++ b/examples/hmr-basics/src/app.ts
@@ -11,26 +11,26 @@ export const app = ({ now, state }: any) => [
"ul.ma0.pv3.bb",
[item, "Now:", now],
[item, "Launched at:", state.launched],
- [item, "Seed:", state.seed]
+ [item, "Seed:", state.seed],
],
[
"div.mt3",
"Edit ",
[repoLink, "src/app.ts"],
- " to see hot module replacement in action."
- ]
+ " to see hot module replacement in action.",
+ ],
];
const item = (_: any, label: string, value: any) => [
"li",
["span.dib.b.w4", label],
- value
+ value,
];
const repoLink = (_: any, file: string) => [
"a.pa1.link.black.bg-light-gray",
{
- href: `https://github.com/thi-ng/umbrella/tree/develop/examples/hmr-basics/${file}`
+ href: `https://github.com/thi-ng/umbrella/tree/develop/examples/hmr-basics/${file}`,
},
- file
+ file,
];
diff --git a/examples/hmr-basics/src/index.ts b/examples/hmr-basics/src/index.ts
index 224542117d..0ccd288af8 100644
--- a/examples/hmr-basics/src/index.ts
+++ b/examples/hmr-basics/src/index.ts
@@ -8,8 +8,8 @@ import { state } from "./state";
const ui = sync({
src: {
state: fromAtom(state),
- now: fromInterval(1000).transform(map((_) => new Date()))
- }
+ now: fromInterval(1000).transform(map((_) => new Date())),
+ },
});
// then transform using root component function
// and hdom differential DOM updater
diff --git a/examples/hmr-basics/src/state.ts b/examples/hmr-basics/src/state.ts
index b3c7dbc027..a41ea7c0b3 100644
--- a/examples/hmr-basics/src/state.ts
+++ b/examples/hmr-basics/src/state.ts
@@ -10,6 +10,6 @@ export const state = defonce(
() =>
new Atom({
launched: new Date(),
- seed: (Math.random() * 100) | 0
+ seed: (Math.random() * 100) | 0,
})
);
diff --git a/examples/hydrate-basics/src/index.ts b/examples/hydrate-basics/src/index.ts
index f909e33471..b4603aa323 100644
--- a/examples/hydrate-basics/src/index.ts
+++ b/examples/hydrate-basics/src/index.ts
@@ -7,7 +7,7 @@ import type { IDeref } from "@thi.ng/api";
// basic state container
const state = new Atom({
bg: "red",
- freq: 0.01
+ freq: 0.01,
});
// state updates
@@ -18,7 +18,7 @@ const setFreq = (x: number) => state.resetIn(["freq"], x);
const app = () => {
// HOF canvas component w/ life cycle methods see for further
// reference:
- // https://github.com/thi-ng/umbrella/blob/master/packages/hdom-components/src/canvas.ts
+ // https://github.com/thi-ng/umbrella/blob/develop/packages/hdom-components/src/canvas.ts
//
// when serializing to html only the component's `render` method
// will be invoked. the component's `init` is invoked later when
@@ -36,7 +36,7 @@ const app = () => {
ctx.lineTo(x, y + y * Math.sin((time + x) * freq));
}
ctx.stroke();
- }
+ },
});
// when serializing to HTML all event attributes w/ function values
// will be excluded, however the event listeners will be attached
@@ -49,7 +49,7 @@ const app = () => {
"div#root.w-50-ns.flex.ma2.sans-serif",
[
"div.w-50-ns",
- [canvas, { width: 200, height: 200 }, state.bg, state.freq]
+ [canvas, { width: 200, height: 200 }, state.bg, state.freq],
],
[
"div.w-50-ns",
@@ -63,16 +63,16 @@ const app = () => {
id: "bg",
class: "w-100",
onchange: (e: Event) =>
- setBg((e.target).value)
+ setBg((e.target).value),
},
[
["", "Choose..."],
["red", "Red"],
["green", "Green"],
- ["blue", "Blue"]
+ ["blue", "Blue"],
],
- state.bg
- ]
+ state.bg,
+ ],
],
[
"label.db.mb3",
@@ -93,11 +93,11 @@ const app = () => {
parseFloat(
(e.target).value
)
- )
- }
- ]
- ]
- ]
+ ),
+ },
+ ],
+ ],
+ ],
];
};
};
diff --git a/examples/imgui/src/index.ts b/examples/imgui/src/index.ts
index 5b15bcc63b..0d8c6d4b51 100644
--- a/examples/imgui/src/index.ts
+++ b/examples/imgui/src/index.ts
@@ -8,24 +8,10 @@ import { clamp, PI } from "@thi.ng/math";
import { setInManyUnsafe } from "@thi.ng/paths";
import { gestureStream } from "@thi.ng/rstream-gestures";
import { float } from "@thi.ng/strings";
-import {
- comp,
- iterator,
- map,
- mapcat,
- step
-} from "@thi.ng/transducers";
+import { comp, iterator, map, mapcat, step } from "@thi.ng/transducers";
import { updateDOM } from "@thi.ng/transducers-hdom";
import { sma } from "@thi.ng/transducers-stats";
-import {
- add2,
- hash,
- min2,
- setC2,
- Vec,
- vecOf,
- ZERO2
-} from "@thi.ng/vectors";
+import { add2, hash, min2, setC2, Vec, vecOf, ZERO2 } from "@thi.ng/vectors";
import {
buttonH,
buttonV,
diff --git a/examples/interceptor-basics/src/index.ts b/examples/interceptor-basics/src/index.ts
index ba64e4b571..c6f77cbd6d 100644
--- a/examples/interceptor-basics/src/index.ts
+++ b/examples/interceptor-basics/src/index.ts
@@ -4,7 +4,7 @@ import {
dispatchNow,
EventBus,
FX_STATE,
- valueUpdater
+ valueUpdater,
} from "@thi.ng/interceptors";
import { choices } from "@thi.ng/transducers";
@@ -18,13 +18,13 @@ const db = new Atom({});
// see @thi.ng/interceptors for more details
const bus = new EventBus(db, {
init: () => ({
- [FX_STATE]: { clicks: 0, color: "grey" }
+ [FX_STATE]: { clicks: 0, color: "grey" },
}),
"inc-counter": [
valueUpdater("clicks", (x: number) => x + 1),
- dispatchNow(["randomize-color"])
+ dispatchNow(["randomize-color"]),
],
- "randomize-color": valueUpdater("color", () => colors.next().value)
+ "randomize-color": valueUpdater("color", () => colors.next().value),
});
start(
@@ -38,11 +38,11 @@ start(
{
style: {
padding: "1rem",
- background: ctx.db.value.color
+ background: ctx.db.value.color,
},
- onclick: () => ctx.bus.dispatch(["inc-counter"])
+ onclick: () => ctx.bus.dispatch(["inc-counter"]),
},
- `clicks: ${ctx.db.value.clicks}`
+ `clicks: ${ctx.db.value.clicks}`,
]
: null,
// hdom options incl.
diff --git a/examples/iso-plasma/src/index.ts b/examples/iso-plasma/src/index.ts
index 787b21066e..fced25d15f 100644
--- a/examples/iso-plasma/src/index.ts
+++ b/examples/iso-plasma/src/index.ts
@@ -10,7 +10,7 @@ import {
mapcat,
mapIndexed,
range,
- range2d
+ range2d,
} from "@thi.ng/transducers";
import type { Fn } from "@thi.ng/api";
import type { Vec } from "@thi.ng/vectors";
@@ -55,7 +55,7 @@ const app = () => {
return [
canvas,
{ width: 600, height: 600 },
- ["g", { scale: 600 / W, weight: 0.05, __diff: false }, contours]
+ ["g", { scale: 600 / W, weight: 0.05, __diff: false }, contours],
];
};
diff --git a/examples/json-components/src/index.ts b/examples/json-components/src/index.ts
index 3cd7e6a86e..a1bffaf63d 100644
--- a/examples/json-components/src/index.ts
+++ b/examples/json-components/src/index.ts
@@ -7,28 +7,28 @@ let db = [
meta: {
author: {
name: "Alice Bobbera",
- email: "a@b.it"
+ email: "a@b.it",
},
created: "2018-02-03T12:13:14Z",
- tags: ["drama", "queen"]
+ tags: ["drama", "queen"],
},
title: "UI components for Dummies",
content:
- "Sed doloribus molestias voluptatem ut delectus vitae quo eum. Ut praesentium sed omnis sequi rerum praesentium aperiam modi. Occaecati voluptatum quis vel facere quis quisquam."
+ "Sed doloribus molestias voluptatem ut delectus vitae quo eum. Ut praesentium sed omnis sequi rerum praesentium aperiam modi. Occaecati voluptatum quis vel facere quis quisquam.",
},
{
meta: {
author: {
name: "Charlie Doran",
- email: "c@d.es"
+ email: "c@d.es",
},
created: "2018-02-02T01:23:45Z",
- tags: ["simplicity", "rules"]
+ tags: ["simplicity", "rules"],
},
title: "Look ma, so simple",
content:
- "Ratione necessitatibus doloremque itaque. Nihil hic alias cumque beatae esse sapiente incidunt. Illum vel eveniet officia."
- }
+ "Ratione necessitatibus doloremque itaque. Nihil hic alias cumque beatae esse sapiente incidunt. Illum vel eveniet officia.",
+ },
];
// component functions for individual keys in the JSON objects
@@ -39,18 +39,18 @@ const item = (theme: any) => (item: any) => [
`div.item.${theme}`,
item.title,
item.meta,
- item.content
+ item.content,
];
const meta = (meta: any) => ["div.meta", meta.author, meta.created, meta.tags];
const author = (author: any) => [
"div",
["strong", "author: "],
- link(`mailto:${author.email}`, author.name)
+ link(`mailto:${author.email}`, author.name),
];
const date = (iso: string) => [
"div",
["strong", "date: "],
- new Date(Date.parse(iso)).toLocaleString()
+ new Date(Date.parse(iso)).toLocaleString(),
];
const link = (href: string, body: any) => ["a", { href }, body];
const tag = (tag: string) => ["li", link("#", tag)];
@@ -74,11 +74,11 @@ const itemSpec: TransformSubSpec = {
{
author,
tags,
- created: date
- }
+ created: date,
+ },
],
title,
- content
+ content,
};
// build themed component instances using @thi.ng/tranducers' deepTransform()
@@ -101,9 +101,9 @@ const editor = (() => {
try {
db = JSON.parse((e.target).value);
} catch (_) {}
- }
+ },
},
- body
+ body,
];
})();
@@ -114,6 +114,6 @@ start(() => [
[
"div",
["div", ["h2", "Light theme"], ...db.map(itemLight)],
- ["div", ["h2", "Dark theme"], ...db.map(itemDark)]
- ]
+ ["div", ["h2", "Dark theme"], ...db.map(itemDark)],
+ ],
]);
diff --git a/examples/login-form/src/index.ts b/examples/login-form/src/index.ts
index fc714751ca..5535b89558 100644
--- a/examples/login-form/src/index.ts
+++ b/examples/login-form/src/index.ts
@@ -92,9 +92,10 @@ const uiViews: any = {
const currView = defView(
db,
["state"],
- (state) => uiViews[state] || ["div", ["h1", `No component for state: ${state}`]]
+ (state) =>
+ uiViews[state] || ["div", ["h1", `No component for state: ${state}`]]
);
// app root component
// embedded view (will auto-deref)
-start(() => ["div", currView]);
\ No newline at end of file
+start(() => ["div", currView]);
diff --git a/examples/mandelbrot/src/gradient.ts b/examples/mandelbrot/src/gradient.ts
index 66ea0220cd..92e83593d4 100644
--- a/examples/mandelbrot/src/gradient.ts
+++ b/examples/mandelbrot/src/gradient.ts
@@ -6,7 +6,7 @@ import {
normRange,
push,
transduce,
- zip
+ zip,
} from "@thi.ng/transducers";
// see http://dev.thi.ng/gradients/
@@ -49,30 +49,30 @@ export const GRADIENTS = [
[0.5, 0.5, 0.5],
[0.5, 0.5, 0.5],
[-1.0, -1.0, -1.0],
- [0.0, 0.1, 0.2]
+ [0.0, 0.1, 0.2],
],
[
[0.5, 0.5, 0.5],
[0.5, 0.5, 0.5],
[0.5, 0.618, 0.5],
- [-1.0, 0.828, -0.152]
+ [-1.0, 0.828, -0.152],
],
[
[0.402, 0.654, 0.247],
[0.835, 0.668, 0.42],
[1.226, 1.553, 1.445],
- [2.684, 6.256, 4.065]
+ [2.684, 6.256, 4.065],
],
[
[0.5, 0.5, 0.5],
[0.5, 0.5, 0.5],
[0.5, 0.5, 0.5],
- [0.5, 0.5, 0.5]
+ [0.5, 0.5, 0.5],
],
[
[0.5, 0.5, 0.5],
[1.0, 1.0, 1.0],
[10.0, 10.0, 10.0],
- [0.0, 0.0, 0.0]
- ]
+ [0.0, 0.0, 0.0],
+ ],
].map(partial(cosineGradient, 256));
diff --git a/examples/mandelbrot/src/index.ts b/examples/mandelbrot/src/index.ts
index 21bbc1a734..9e60f8f2ac 100644
--- a/examples/mandelbrot/src/index.ts
+++ b/examples/mandelbrot/src/index.ts
@@ -2,12 +2,7 @@ import { download } from "@thi.ng/dl-asset";
import { equiv } from "@thi.ng/equiv";
import { canvas2D } from "@thi.ng/hdom-components";
import { fit, mix } from "@thi.ng/math";
-import {
- stream,
- Stream,
- sync,
- tunnel
-} from "@thi.ng/rstream";
+import { stream, Stream, sync, tunnel } from "@thi.ng/rstream";
import { gestureStream, GestureType } from "@thi.ng/rstream-gestures";
import { padLeft } from "@thi.ng/strings";
import { map } from "@thi.ng/transducers";
@@ -40,7 +35,7 @@ const sel2 = stream();
// main stream combinator
const main = sync({
- src: { x1, y1, x2, y2, iter, gradient, sel1, sel2 }
+ src: { x1, y1, x2, y2, iter, gradient, sel1, sel2 },
});
// URL hash updater
@@ -48,7 +43,7 @@ main.subscribe({
next: ({ x1, y1, x2, y2, iter, gradient }) =>
(location.hash = `${ff(x1)};${ff(y1)};${ff(x2)};${ff(
y2
- )};${iter};${gradient}`)
+ )};${iter};${gradient}`),
});
// update param streams to trigger new render
@@ -124,14 +119,14 @@ const app = () => {
);
setTimeout(() => updateZoom(-0.02), 100);
}
- }
+ },
});
// also initialize gesture stream for allowing users to draw
// target zoom rectangle
gestureStream(el, {
scale: true,
absZoom: false,
- smooth: 1e-3
+ smooth: 1e-3,
}).subscribe({
next(e) {
const _x1 = x1.deref()!;
@@ -178,7 +173,7 @@ const app = () => {
break;
default:
}
- }
+ },
});
// key controls fine tuning region
window.addEventListener("keydown", (e) => {
@@ -223,7 +218,7 @@ const app = () => {
ctx.strokeStyle = "red";
ctx.strokeRect(a[0], a[1], b[0] - a[0], b[1] - a[1]);
}
- }
+ },
});
// return actual root component function
return ({ sel1, sel2 }: any) => {
@@ -243,9 +238,9 @@ const app = () => {
"button",
{
onclick: () =>
- newRender.apply(null, DEFAULT_CONFIG)
+ newRender.apply(null, DEFAULT_CONFIG),
},
- "reset"
+ "reset",
],
[
"div",
@@ -255,11 +250,11 @@ const app = () => {
["li", "Mouse wheel to zoom in / out"],
[
"li",
- "Cursor keys to fine tune region (+ Shift for bigger steps)"
- ]
- ]
- ]
- ]
+ "Cursor keys to fine tune region (+ Shift for bigger steps)",
+ ],
+ ],
+ ],
+ ],
];
};
};
@@ -285,9 +280,9 @@ const slider = (
step,
value: stream.deref(),
oninput: (e: Event) =>
- stream.next(parseFloat((e.target).value))
- }
- ]
+ stream.next(parseFloat((e.target).value)),
+ },
+ ],
];
// attach root component & DOM update to main stream
@@ -296,12 +291,11 @@ main.transform(map(app()), updateDOM());
// init parameter streams, if possible from location.hash
newRender.apply(
null,
- (location.hash.length > 1
- ? location.hash
- .substr(1)
- .split(";")
- .map(parseFloat)
- : DEFAULT_CONFIG)
+ (
+ (location.hash.length > 1
+ ? location.hash.substr(1).split(";").map(parseFloat)
+ : DEFAULT_CONFIG)
+ )
);
// HMR handling
diff --git a/examples/markdown/src/index.ts b/examples/markdown/src/index.ts
index 3c5084616c..d4013fa6ba 100644
--- a/examples/markdown/src/index.ts
+++ b/examples/markdown/src/index.ts
@@ -16,23 +16,23 @@ const CUSTOM_TAGS: Partial = {
codeblock: (lang, body) => [
"pre.bg-washed-yellow.pa3.f7.overflow-x-scroll",
{ lang: lang || "code" },
- ["code", body]
+ ["code", body],
],
link: (href, body) => [
"a.link.dark-blue.hover-white.hover-bg-dark-blue.b",
{ href },
- body
+ body,
],
strike: (body) => ["del.bg-washed-red", body],
table: (xs) => ["table.w-100.collapse.ba.b--black-10", ["tbody", ...xs]],
tr: (_, xs) => ["tr.striped--near-white", ...xs],
- td: (i, xs) => [i < 1 ? "th.pa2.ttu.tl" : "td.pa2", ...xs]
+ td: (i, xs) => [i < 1 ? "th.pa2.ttu.tl" : "td.pa2", ...xs],
};
// UI root component
const app = (input: Stream) => ({
src,
- parsed: [hiccup, time]
+ parsed: [hiccup, time],
}: any) => [
"div.flex.vh-100.sans-serif.flex-column.flex-row-l",
[
@@ -42,18 +42,18 @@ const app = (input: Stream) => ({
{
value: src,
oninput: (e: Event) =>
- input.next((e.target).value)
- }
- ]
+ input.next((e.target).value),
+ },
+ ],
],
[
"div.w-100.h-50.w-50-l.vh-100-l.overflow-y-scroll.pa3.lh-copy",
[
"div.pa2.bg-yellow.purple.f7",
- `Parsed ${src.length} chars in ${time}ms`
+ `Parsed ${src.length} chars in ${time}ms`,
],
- ...hiccup
- ]
+ ...hiccup,
+ ],
];
// markdown input stream
@@ -64,7 +64,9 @@ src.transform(
map((src) => ({
src,
// append exta newline to force last paragraph (see readme)
- parsed: timedResult(() => [...iterator(parse(CUSTOM_TAGS), src + "\n")])
+ parsed: timedResult(() => [
+ ...iterator(parse(CUSTOM_TAGS), src + "\n"),
+ ]),
})),
map(app(src)),
updateDOM()
diff --git a/examples/multitouch/src/index.ts b/examples/multitouch/src/index.ts
index b775e8e30f..03ac3fee54 100644
--- a/examples/multitouch/src/index.ts
+++ b/examples/multitouch/src/index.ts
@@ -1,7 +1,11 @@
import { canvas } from "@thi.ng/hdom-canvas";
import { memoize1 } from "@thi.ng/memoize";
import { CloseMode, sync, trigger } from "@thi.ng/rstream";
-import { GestureEvent, GestureInfo, gestureStream } from "@thi.ng/rstream-gestures";
+import {
+ GestureEvent,
+ GestureInfo,
+ gestureStream,
+} from "@thi.ng/rstream-gestures";
import { map, mapcat } from "@thi.ng/transducers";
import { updateDOM } from "@thi.ng/transducers-hdom";
@@ -13,7 +17,7 @@ const MTCanvas = memoize1((id: string) => {
...canvas,
init(el: HTMLElement) {
main.add(gestureStream(el), el.id);
- }
+ },
};
return (attribs: any, gesture?: GestureEvent) => [
_canvas,
@@ -28,18 +32,18 @@ const MTCanvas = memoize1((id: string) => {
["circle", {}, i.pos, 20 * (gesture?.zoom || 1)],
i.start
? ["line", { stroke: "#333" }, i.start, i.pos]
- : null
+ : null,
],
gesture?.active || []
- )
- ]
+ ),
+ ],
];
});
// main stream w/ initial trigger input
const main = sync({
src: { temp: trigger() },
- closeIn: CloseMode.NEVER
+ closeIn: CloseMode.NEVER,
});
main.transform(
@@ -48,7 +52,7 @@ main.transform(
["h1", "Multitouch"],
[
"p",
- "Click/touch & drag in the yellow area below. Multiple cursors only supported via touch."
+ "Click/touch & drag in the yellow area below. Multiple cursors only supported via touch.",
],
MTCanvas("main")({ width: 480, height: 360 }, main || {}),
[
@@ -56,9 +60,9 @@ main.transform(
[
"textarea.code.f7",
{ cols: 60, rows: 25 },
- JSON.stringify(main, null, 2)
- ]
- ]
+ JSON.stringify(main, null, 2),
+ ],
+ ],
]),
updateDOM()
);
diff --git a/examples/package-stats/src/dep-chart.ts b/examples/package-stats/src/dep-chart.ts
index 71a93920d4..ee7b9c5018 100644
--- a/examples/package-stats/src/dep-chart.ts
+++ b/examples/package-stats/src/dep-chart.ts
@@ -14,7 +14,7 @@ import {
reducer,
repeat,
transduce,
- zip
+ zip,
} from "@thi.ng/transducers";
import * as fs from "fs";
import { barChart, labeledTickX, labeledTickY } from "./viz";
@@ -35,7 +35,7 @@ const packages: { id: string; v: string; deps: string[] }[] = transduce(
map((p) => ({
id: p.name,
v: p.version,
- deps: p.dependencies ? Object.keys(p.dependencies) : []
+ deps: p.dependencies ? Object.keys(p.dependencies) : [],
}))
),
push(),
@@ -44,7 +44,10 @@ const packages: { id: string; v: string; deps: string[] }[] = transduce(
const graph = transduce(
mapcat((p: any) => zip(repeat(p.id), p.deps)),
- reducer(() => new DGraph(), (g, [p, d]: any) => g.addDependency(p, d)),
+ reducer(
+ () => new DGraph(),
+ (g, [p, d]: any) => g.addDependency(p, d)
+ ),
packages
);
@@ -65,29 +68,29 @@ fs.writeFileSync(
width: width,
height: 260,
"font-size": "10px",
- "font-family": "Iosevka-Term-Light, Menlo, sans-serif"
+ "font-family": "Iosevka-Term-Light, Menlo, sans-serif",
},
x: {
axis: [50, width - 15, 170],
domain: [0, packageDeps.length, 1],
range: [50, width - 5],
ticks: [...map((x) => x[0].substr(8), packageDeps)],
- label: labeledTickX
+ label: labeledTickX,
},
y: {
axis: [170, 10, 35],
domain: [0, maxDeps, 10],
range: [160, 20],
- label: labeledTickY(width - 15)
+ label: labeledTickY(width - 15),
},
axis: "#666",
- fill: "#0cc"
+ fill: "#0cc",
},
mapIndexed((i, m) => [i, m[1]], packageDeps),
group(
{ "font-size": "20px", "text-anchor": "middle" },
text([width / 2 + 25, 28], "@thi.ng/umbrella internal re-use"),
text([width / 2 + 25, 56], "(transitive dependents)")
- )
+ ),
])
);
diff --git a/examples/package-stats/src/viz.ts b/examples/package-stats/src/viz.ts
index e32f53ab23..7fb4fe2ac9 100644
--- a/examples/package-stats/src/viz.ts
+++ b/examples/package-stats/src/viz.ts
@@ -1,17 +1,6 @@
-import {
- group,
- line,
- rect,
- svg,
- text
-} from "@thi.ng/hiccup-svg";
+import { group, line, rect, svg, text } from "@thi.ng/hiccup-svg";
import { fit, fit01 } from "@thi.ng/math";
-import {
- map,
- mapcat,
- mapIndexed,
- range
-} from "@thi.ng/transducers";
+import { map, mapcat, mapIndexed, range } from "@thi.ng/transducers";
// iterator of range mapped tuples: `[mapped, orig]`
const mappedRange = (
@@ -49,15 +38,15 @@ export const labeledTickX = (y: number) => ([x, n]: any[]) => [
text([x, y + 15], n, {
stroke: "none",
"text-anchor": "end",
- transform: `rotate(-45 ${x} ${y + 15})`
- })
+ transform: `rotate(-45 ${x} ${y + 15})`,
+ }),
];
export const labeledTickY = (width: number, fmt = (x: number) => String(x)) => (
x: number
) => ([y, n]: [number, any]) => [
...tick(x - 5, y, x, y, x - 10, y + 4, n > 0 ? fmt(n) : 0),
- n > 0 ? line([x + 20, y], [width, y], { "stroke-dasharray": "1 3" }) : null
+ n > 0 ? line([x + 20, y], [width, y], { "stroke-dasharray": "1 3" }) : null,
];
// x-axis with ticks as SVG group
@@ -70,7 +59,7 @@ export const axisX = ({ axis: a, domain: d, range: r, label, ticks }: any) => [
ticks
? mappedTicks(r[0], r[1], ticks)
: mappedRange(d[0], d[1], d[2], r[0], r[1])
- )
+ ),
];
// y-axis with ticks as SVG group
@@ -83,7 +72,7 @@ export const axisY = ({ axis: a, domain: d, range: r, label, ticks }: any) => [
ticks
? mappedTicks(r[0], r[1], ticks)
: mappedRange(d[0], d[1], d[2], r[0], r[1])
- )
+ ),
];
// mapping fn to create a single bar from `[domainPos, value]`
diff --git a/examples/pixel-basics/src/index.ts b/examples/pixel-basics/src/index.ts
index 2ef8e384f4..800840742d 100644
--- a/examples/pixel-basics/src/index.ts
+++ b/examples/pixel-basics/src/index.ts
@@ -4,7 +4,7 @@ import {
GRAY8,
imagePromise,
PackedBuffer,
- RGB565
+ RGB565,
} from "@thi.ng/pixel";
import { SRC_OVER_I } from "@thi.ng/porter-duff";
import IMG from "../assets/haystack.jpg";
@@ -21,7 +21,7 @@ Promise.all([IMG, LOGO].map(imagePromise)).then(([img, logo]) => {
.premultiply()
.blend(SRC_OVER_I, buf, {
dx: 10,
- dy: 10
+ dy: 10,
});
// extract sub-image
diff --git a/examples/pointfree-svg/src/index.ts b/examples/pointfree-svg/src/index.ts
index 90647e1a4f..f2f9a05d24 100644
--- a/examples/pointfree-svg/src/index.ts
+++ b/examples/pointfree-svg/src/index.ts
@@ -79,7 +79,7 @@ const env = ffi(
"svg.line": svg.line,
"svg.circle": svg.circle,
"svg.svg": svg.svg,
- shapes: []
+ shapes: [],
},
// foreign function interface (FFI)
// custom words usable by the DSL
@@ -92,7 +92,7 @@ const env = ffi(
ensureStack(stack, 2);
fs.writeFileSync(stack.pop(), stack.pop());
return ctx;
- }
+ },
}
);
// compile lib (resulting words are stored in env)
diff --git a/examples/poly-spline/src/index.ts b/examples/poly-spline/src/index.ts
index e4e3ca79a8..33a3618595 100644
--- a/examples/poly-spline/src/index.ts
+++ b/examples/poly-spline/src/index.ts
@@ -7,15 +7,10 @@ import {
pathFromCubics,
star,
svgDoc,
- withAttribs
+ withAttribs,
} from "@thi.ng/geom";
import { convertTree } from "@thi.ng/hiccup-svg";
-import {
- fromRAF,
- stream,
- Stream,
- sync
-} from "@thi.ng/rstream";
+import { fromRAF, stream, Stream, sync } from "@thi.ng/rstream";
import {
comp,
iterator,
@@ -23,13 +18,13 @@ import {
mapcat,
partition,
reducer,
- scan
+ scan,
} from "@thi.ng/transducers";
import { updateDOM } from "@thi.ng/transducers-hdom";
const BUTTONS = {
blue: "bg-blue white hover-bg-light-blue hover-navy",
- green: "bg-green white hover-bg-light-green hover-dark-green"
+ green: "bg-green white hover-bg-light-green hover-dark-green",
};
// HOF event listener to emit a value on given stream
@@ -46,9 +41,9 @@ const button = (
{
href: "#",
onclick,
- class: "dib w4 mr2 pa2 link " + clazz
+ class: "dib w4 mr2 pa2 link " + clazz,
},
- label
+ label,
];
// slider UI component
@@ -66,10 +61,10 @@ const slider = (
type: "range",
value: stream.deref(),
oninput: (e: any) => stream.next(parseFloat(e.target.value)),
- ...attribs
- }
+ ...attribs,
+ },
],
- stream.deref()!.toFixed(1)
+ stream.deref()!.toFixed(1),
];
// main app component / stream transformer
@@ -86,7 +81,7 @@ const app = (
const cubics = asCubic(poly, {
breakPoints: mode,
scale: scale * (uniform ? uniScale : 1),
- uniform
+ uniform,
});
// visualize control points as circles
const controlPoints = iterator(
@@ -114,26 +109,26 @@ const app = (
button,
BUTTONS.blue,
emitOnStream(_mode, true),
- mode ? "break points" : "control points"
+ mode ? "break points" : "control points",
],
[
button,
BUTTONS.green,
emitOnStream(_uniform, true),
- uniform ? "uniform" : "non-uniform"
+ uniform ? "uniform" : "non-uniform",
],
[
slider,
{ min: -1.3, max: 1.3, step: 0.1 },
_scale,
- "tangent scale"
+ "tangent scale",
],
[
slider,
{ min: 0, max: 100, step: 1, disabled: !uniform },
_uniScale,
- "uniform scale"
- ]
+ "uniform scale",
+ ],
],
[
"div",
@@ -143,7 +138,7 @@ const app = (
// using SVG and hence will need to call `convertTree()` to
// transform the hiccup format into a SVG compatible format
// see:
- // https://github.com/thi-ng/umbrella/blob/master/packages/hiccup-svg/src/convert.ts#L34
+ // https://github.com/thi-ng/umbrella/blob/develop/packages/hiccup-svg/src/convert.ts#L34
convertTree(
svgDoc(
{
@@ -152,17 +147,17 @@ const app = (
viewBox: "-150 -150 300 300",
fill: "none",
stroke: "#ccc",
- "stroke-width": 0.25
+ "stroke-width": 0.25,
},
poly,
withAttribs(pathFromCubics(cubics), {
stroke: mode ? "blue" : "red",
- "stroke-width": 1
+ "stroke-width": 1,
}),
group({ stroke: "#333" }, [...controlPoints, ...handles])
)
- )
- ]
+ ),
+ ],
];
};
@@ -195,8 +190,8 @@ const main = sync({
mode: mode.transform(toggle),
uniform: uniform.transform(toggle),
scale,
- uniScale
- }
+ uniScale,
+ },
});
// transform to create & apply UI
diff --git a/examples/porter-duff/src/index.ts b/examples/porter-duff/src/index.ts
index 2f6b305491..d21c60f6b6 100644
--- a/examples/porter-duff/src/index.ts
+++ b/examples/porter-duff/src/index.ts
@@ -1,9 +1,4 @@
-import {
- ABGR8888,
- canvas2d,
- imagePromise,
- PackedBuffer
-} from "@thi.ng/pixel";
+import { ABGR8888, canvas2d, imagePromise, PackedBuffer } from "@thi.ng/pixel";
import {
DEST_ATOP_I,
DEST_I,
@@ -16,7 +11,7 @@ import {
SRC_IN_I,
SRC_OUT_I,
SRC_OVER_I,
- XOR_I
+ XOR_I,
} from "@thi.ng/porter-duff";
import IMG2 from "../assets/plus.png";
import IMG from "../assets/ring.png";
@@ -33,7 +28,7 @@ const MODES: any = {
SRC_ATOP: SRC_ATOP_I,
DEST_ATOP: DEST_ATOP_I,
XOR: XOR_I,
- PLUS: PLUS_I
+ PLUS: PLUS_I,
};
const IDS = Object.keys(MODES);
diff --git a/examples/ramp-synth/src/api.ts b/examples/ramp-synth/src/api.ts
index c76933363f..c984c3bf91 100644
--- a/examples/ramp-synth/src/api.ts
+++ b/examples/ramp-synth/src/api.ts
@@ -13,14 +13,14 @@ export const PRESETS: Vec[][] = [
[
[0, 0],
[0.98, 1],
- [1, 0]
+ [1, 0],
],
[
[0.25, 0.5],
[0.5, 1],
[0.625, 0.1],
- [0.75, 0.5]
+ [0.75, 0.5],
],
[...map((i) => [i / 20, i & 1 ? i / 20 : 0], range(21))],
- [...map((i) => [i / 12, i % 3 ? 1 : 0.25], range(13))]
+ [...map((i) => [i / 12, i % 3 ? 1 : 0.25], range(13))],
];
diff --git a/examples/ramp-synth/src/components.ts b/examples/ramp-synth/src/components.ts
index fc58d04107..bf3e7fa8f7 100644
--- a/examples/ramp-synth/src/components.ts
+++ b/examples/ramp-synth/src/components.ts
@@ -10,8 +10,8 @@ const tick = (x: number) => [
[0, -2],
[4, 3],
[4, 9],
- [-4, 9]
- ]
+ [-4, 9],
+ ],
];
export const rampViz = (ramp: IRamp, width: number, height: number) => {
@@ -27,13 +27,13 @@ export const rampViz = (ramp: IRamp, width: number, height: number) => {
[0, 1 - cp[0][1]],
...map((p) => [p[0], 1 - p[1]], ramp.interpolatedPoints()),
[1, 1 - peek(cp)[1]],
- [1, 1]
- ]
+ [1, 1],
+ ],
],
[
"g",
{ translate: [0, height] },
- ...ramp.stops.map((p) => tick(width * p[0]))
- ]
+ ...ramp.stops.map((p) => tick(width * p[0])),
+ ],
];
};
diff --git a/examples/ramp-synth/src/index.ts b/examples/ramp-synth/src/index.ts
index 05031403ac..f9977b51dd 100644
--- a/examples/ramp-synth/src/index.ts
+++ b/examples/ramp-synth/src/index.ts
@@ -12,14 +12,9 @@ import {
PAD,
PRESETS,
SNAP,
- WIDTH
+ WIDTH,
} from "./api";
-import {
- initAudio,
- isAudioActive,
- stopAudio,
- updateAudio
-} from "./audio";
+import { initAudio, isAudioActive, stopAudio, updateAudio } from "./audio";
import { rampViz } from "./components";
const timeForPos = (x: number) => fitClamped(x, PAD, WIDTH - PAD, 0, 1);
@@ -75,13 +70,13 @@ const gradient = [
{
id: "ramp",
from: [0, 0],
- to: [0, 1]
+ to: [0, 1],
},
[
[0, "#99b"],
- [1, "#111"]
- ]
- ]
+ [1, "#111"],
+ ],
+ ],
];
start(() => {
@@ -117,14 +112,14 @@ start(() => {
currID = editRamp(mpos, currID);
}
}
- }
+ },
},
gradient,
[
"g",
{
translate: [PAD, PAD],
- __diff: false
+ __diff: false,
},
rampViz(ramp, CWIDTH, CHEIGHT),
[
@@ -135,9 +130,9 @@ start(() => {
"circle",
{ fill: "red" },
[0, (1 - ramp.at(currT)) * CHEIGHT],
- 3
- ]
- ]
+ 3,
+ ],
+ ],
],
selID !== -1 ||
currID !== -1 ||
@@ -148,9 +143,9 @@ start(() => {
["line", {}, [mpos[0], PAD], [mpos[0], PAD + CHEIGHT]],
mpos[1] < HEIGHT - PAD
? ["line", {}, [PAD, mpos[1]], [PAD + CWIDTH, mpos[1]]]
- : null
+ : null,
]
- : null
+ : null,
];
});
@@ -180,7 +175,7 @@ window.addEventListener("keydown", (e) => {
...repeatedly(
() => [Math.random(), Math.random()],
Math.random() * 37 + 3
- )
+ ),
];
ramp.sort();
updateAudio(ramp);
diff --git a/examples/rotating-voronoi/src/controllers.ts b/examples/rotating-voronoi/src/controllers.ts
index 77cc68d348..666c01fb1e 100644
--- a/examples/rotating-voronoi/src/controllers.ts
+++ b/examples/rotating-voronoi/src/controllers.ts
@@ -21,9 +21,9 @@ export const slider = (
const target = e.target as HTMLInputElement;
const value = target && target.value;
onChange(parseFloat(value));
- }
- }
- ]
+ },
+ },
+ ],
];
};
@@ -44,9 +44,9 @@ export const checkbox = (
const target = e.target as HTMLInputElement;
const checked = target && target.checked;
onChange(checked);
- }
- }
+ },
+ },
],
- ["label", { for: label }, label]
+ ["label", { for: label }, label],
];
};
diff --git a/examples/rotating-voronoi/src/index.ts b/examples/rotating-voronoi/src/index.ts
index b78d7e85ac..d777f8df87 100644
--- a/examples/rotating-voronoi/src/index.ts
+++ b/examples/rotating-voronoi/src/index.ts
@@ -8,7 +8,7 @@ import {
polygon,
rect,
svgDoc,
- vertices
+ vertices,
} from "@thi.ng/geom";
import { simplify } from "@thi.ng/geom-resample";
import { DVMesh } from "@thi.ng/geom-voronoi";
@@ -25,7 +25,7 @@ import {
frameStreamConditional,
keyStreamConditional,
mainStream,
- scaleStream
+ scaleStream,
} from "./stream-state";
const edge = window.innerWidth * 0.7;
@@ -40,7 +40,7 @@ const startingCircles: Array<[number, number, boolean]> = [
[radius / 1, rndInt(4, 20), true],
[radius / 2, rndInt(4, 20), false],
[radius / 4, rndInt(4, 20), true],
- [radius / 8, rndInt(4, 20), false]
+ [radius / 8, rndInt(4, 20), false],
];
const pointsInCircle = (
@@ -52,7 +52,7 @@ const pointsInCircle = (
...map(
(index) => cartesian2(null, [_radius, index * TAU + _angle], _center),
normRange(_num, false)
- )
+ ),
];
scaleStream.next(1);
@@ -76,7 +76,7 @@ function computeVoronoi(state: AppState) {
clockwise ? delta : PI - delta
),
startingCircles
- )
+ ),
];
const bounds = rect([width, height], { fill: "black" });
@@ -92,7 +92,7 @@ function computeVoronoi(state: AppState) {
cells.map((cell) =>
pathFromCubics(
asCubic(polygon(simplify(cell, 0.5, true)), {
- scale: state.scaleValue
+ scale: state.scaleValue,
})
)
)
@@ -101,8 +101,8 @@ function computeVoronoi(state: AppState) {
points(doSave ? [] : startPoints, {
size: 4,
shape: "circle",
- fill: "gray"
- })
+ fill: "gray",
+ }),
];
if (doSave) {
@@ -112,7 +112,7 @@ function computeVoronoi(state: AppState) {
width,
height,
viewBox: `0 0 ${width} ${height}`,
- "stroke-width": 0.25
+ "stroke-width": 0.25,
},
...voronoi
)
@@ -137,9 +137,9 @@ function appRender(state: AppState) {
"a",
{
href:
- "https://observablehq.com/@mbostock/rotating-voronoi"
+ "https://observablehq.com/@mbostock/rotating-voronoi",
},
- " observablehq sketch"
+ " observablehq sketch",
],
". ",
@@ -148,11 +148,11 @@ function appRender(state: AppState) {
"a",
{
href:
- "https://www.flickr.com/photos/quasimondo/8254540763/"
+ "https://www.flickr.com/photos/quasimondo/8254540763/",
},
- "ornament"
+ "ornament",
],
- " by Mario Klingemann."
+ " by Mario Klingemann.",
],
["p", "Press `s` to save the SVG file."],
[
@@ -169,14 +169,14 @@ function appRender(state: AppState) {
state.animationValue,
(x: boolean) => animationStream.next(x),
"Animation"
- )
- ]
+ ),
+ ],
],
[
"div.flex.justify-center",
- [canvas, { width, height }, ...computeVoronoi(state)]
- ]
- ]
+ [canvas, { width, height }, ...computeVoronoi(state)],
+ ],
+ ],
];
}
diff --git a/examples/rotating-voronoi/src/stream-state.ts b/examples/rotating-voronoi/src/stream-state.ts
index 7da50bf04b..d3ac2d5c45 100644
--- a/examples/rotating-voronoi/src/stream-state.ts
+++ b/examples/rotating-voronoi/src/stream-state.ts
@@ -3,14 +3,9 @@ import {
fromRAF,
sidechainToggle,
stream,
- sync
+ sync,
} from "@thi.ng/rstream";
-import {
- add,
- map,
- mapcat,
- scan
-} from "@thi.ng/transducers";
+import { add, map, mapcat, scan } from "@thi.ng/transducers";
export const keyStreamConditional = fromDOMEvent(document, "keyup").transform(
mapcat((x) => [x.key, null])
@@ -20,7 +15,10 @@ export const scaleStream = stream();
export const animationStream = stream();
export const frameStreamConditional = fromRAF()
.subscribe(sidechainToggle(animationStream))
- .transform(map(() => 1), scan(add()));
+ .transform(
+ map(() => 1),
+ scan(add())
+ );
export type AppState = {
scaleValue: number;
@@ -34,6 +32,6 @@ export const mainStream = sync({
scaleValue: scaleStream,
animationValue: animationStream,
frameValue: frameStreamConditional,
- keyValue: keyStreamConditional
- }
+ keyValue: keyStreamConditional,
+ },
});
diff --git a/examples/router-basics/src/components/all-users.ts b/examples/router-basics/src/components/all-users.ts
index eb471e1ca7..4e5e5ce28a 100644
--- a/examples/router-basics/src/components/all-users.ts
+++ b/examples/router-basics/src/components/all-users.ts
@@ -4,7 +4,6 @@ import { USER_PROFILE } from "../routes";
import { routeLink } from "./route-link";
import { status } from "./status";
-
/**
* Dummy user list component. Triggers JSON I/O request if user data has
* not been loaded yet.
@@ -32,7 +31,7 @@ function userList(ctx: AppContext) {
list && [
"section",
ctx.ui.userlist.root,
- list.map((u) => [user, u, !!profiles![u.id]])
+ list.map((u) => [user, u, !!profiles![u.id]]),
]
);
}
@@ -59,10 +58,10 @@ function user(ctx: AppContext, user: User, cached: boolean) {
[
"h1",
ui.title,
- [routeLink, USER_PROFILE.id, { id: user.id }, null, user.name]
+ [routeLink, USER_PROFILE.id, { id: user.id }, null, user.name],
],
- ["h2", ui.subtitle, `@${user.alias}`]
+ ["h2", ui.subtitle, `@${user.alias}`],
],
- cached ? ["div", ui.meta, "cached"] : undefined
+ cached ? ["div", ui.meta, "cached"] : undefined,
];
}
diff --git a/examples/router-basics/src/components/contact.ts b/examples/router-basics/src/components/contact.ts
index 7b8366456a..8beb21ef4b 100644
--- a/examples/router-basics/src/components/contact.ts
+++ b/examples/router-basics/src/components/contact.ts
@@ -16,8 +16,8 @@ export function contact(ctx: AppContext) {
[
["https://github.com/thi-ng/umbrella", "GitHub"],
["https://twitter.com/toxi", "Twitter"],
- ["https://medium.com/@thi.ng", "Medium"]
- ].map((link) => [externalLink, ctx.ui.contact.link, ...link])
- ]
+ ["https://medium.com/@thi.ng", "Medium"],
+ ].map((link) => [externalLink, ctx.ui.contact.link, ...link]),
+ ],
];
}
diff --git a/examples/router-basics/src/components/debug-container.ts b/examples/router-basics/src/components/debug-container.ts
index a8cd790cef..95595704f4 100644
--- a/examples/router-basics/src/components/debug-container.ts
+++ b/examples/router-basics/src/components/debug-container.ts
@@ -17,8 +17,8 @@ export function debugContainer(ctx: AppContext, debug: any, json: string) {
eventLink,
[TOGGLE_DEBUG],
ctx.ui.debugToggle,
- debug ? "close \u25bc" : "open \u25b2"
+ debug ? "close \u25bc" : "open \u25b2",
],
- ["pre", ctx.ui.code, json]
+ ["pre", ctx.ui.code, json],
];
}
diff --git a/examples/router-basics/src/components/event-link.ts b/examples/router-basics/src/components/event-link.ts
index 54b16df65f..9bf686a798 100644
--- a/examples/router-basics/src/components/event-link.ts
+++ b/examples/router-basics/src/components/event-link.ts
@@ -1,7 +1,6 @@
import type { Event } from "@thi.ng/interceptors";
import type { AppContext } from "../api";
-
/**
* Customizable hyperlink component emitting given event on app's event
* bus when clicked.
@@ -24,8 +23,8 @@ export function eventLink(
onclick: (e: any) => {
e.preventDefault();
ctx.bus.dispatch(event);
- }
+ },
},
- body
+ body,
];
}
diff --git a/examples/router-basics/src/components/home.ts b/examples/router-basics/src/components/home.ts
index dc4a6eb727..7a428fc715 100644
--- a/examples/router-basics/src/components/home.ts
+++ b/examples/router-basics/src/components/home.ts
@@ -17,9 +17,9 @@ export function home(ctx: AppContext) {
externalLink,
ctx.ui.bodyLink,
"https://github.com/thi-ng/umbrella",
- "@thi.ng/umbrella"
+ "@thi.ng/umbrella",
],
- " libraries."
+ " libraries.",
],
[
"p",
@@ -41,15 +41,15 @@ export function home(ctx: AppContext) {
externalLink,
ctx.ui.bodyLink,
"http://tachyons.io/",
- "Tachyons CSS"
- ]
- ]
- ]
+ "Tachyons CSS",
+ ],
+ ],
+ ],
],
[
"p",
- "Please see the related blog post and the commented source code for more details."
+ "Please see the related blog post and the commented source code for more details.",
],
- ["p", "(total app file size: 11.2KB)"]
+ ["p", "(total app file size: 11.2KB)"],
];
}
diff --git a/examples/router-basics/src/components/nav.ts b/examples/router-basics/src/components/nav.ts
index a595e4af62..6fc742b500 100644
--- a/examples/router-basics/src/components/nav.ts
+++ b/examples/router-basics/src/components/nav.ts
@@ -2,7 +2,6 @@ import { CONTACT, HOME, USER_LIST } from "../routes";
import { routeLink } from "./route-link";
import type { AppContext } from "../api";
-
/**
* Main nav component with hard coded routes.
*
@@ -18,7 +17,7 @@ export function nav(ctx: AppContext) {
ui.inner,
[routeLink, HOME.id, null, ui.link, "Home"],
[routeLink, USER_LIST.id, null, ui.link, "Users"],
- [routeLink, CONTACT.id, null, ui.linkLast, "Contact"]
- ]
+ [routeLink, CONTACT.id, null, ui.linkLast, "Contact"],
+ ],
];
}
diff --git a/examples/router-basics/src/components/route-link.ts b/examples/router-basics/src/components/route-link.ts
index 456e5f0134..cd98befb0d 100644
--- a/examples/router-basics/src/components/route-link.ts
+++ b/examples/router-basics/src/components/route-link.ts
@@ -24,8 +24,8 @@ export function routeLink(
onclick: (e: Event) => {
e.preventDefault();
ctx.bus.dispatch([ROUTE_TO, [routeID, routeParams]]);
- }
+ },
},
- body
+ body,
];
}
diff --git a/examples/router-basics/src/components/user-profile.ts b/examples/router-basics/src/components/user-profile.ts
index 27d77be7d3..757505928c 100644
--- a/examples/router-basics/src/components/user-profile.ts
+++ b/examples/router-basics/src/components/user-profile.ts
@@ -30,7 +30,7 @@ function userCard(ctx: AppContext, id: number) {
["h3", ui.title, user.name],
user.job,
["hr", ui.sep],
- ["p", ui.body, user.desc]
+ ["p", ui.body, user.desc],
]
: undefined;
}
diff --git a/examples/router-basics/src/config.ts b/examples/router-basics/src/config.ts
index 6f9c55f9e8..0756b01667 100644
--- a/examples/router-basics/src/config.ts
+++ b/examples/router-basics/src/config.ts
@@ -4,7 +4,7 @@ import {
FX_DELAY,
FX_DISPATCH_ASYNC,
FX_DISPATCH_NOW,
- valueUpdater
+ valueUpdater,
} from "@thi.ng/interceptors";
import { AppConfig, StatusType } from "./api";
import { allUsers } from "./components/all-users";
@@ -19,7 +19,7 @@ import * as routes from "./routes";
export const CONFIG: AppConfig = {
// router configuration
// docs here:
- // https://github.com/thi-ng/umbrella/blob/master/packages/router/src/api.ts#L100
+ // https://github.com/thi-ng/umbrella/blob/develop/packages/router/src/api.ts#L100
router: {
// use URI hash for routes (KISS)
useFragment: true,
@@ -31,8 +31,8 @@ export const CONFIG: AppConfig = {
routes.HOME,
routes.CONTACT,
routes.USER_PROFILE,
- routes.USER_LIST
- ]
+ routes.USER_LIST,
+ ],
},
// event handlers events are queued and batch processed in app's RAF
@@ -44,31 +44,31 @@ export const CONFIG: AppConfig = {
// and only side effect functions execute any "real" work.
// see EventBus docs here:
- // https://github.com/thi-ng/umbrella/blob/master/packages/atom/src/event-bus.ts#L14
+ // https://github.com/thi-ng/umbrella/blob/develop/packages/atom/src/event-bus.ts#L14
events: {
// sets status to "done"
[ev.DONE]: () => ({
- [FX_DISPATCH_NOW]: [ev.SET_STATUS, [StatusType.DONE, "done"]]
+ [FX_DISPATCH_NOW]: [ev.SET_STATUS, [StatusType.DONE, "done"]],
}),
// sets status to thrown error's message
[ev.ERROR]: (_, [__, err]) => ({
- [FX_DISPATCH_NOW]: [ev.SET_STATUS, [StatusType.ERROR, err.message]]
+ [FX_DISPATCH_NOW]: [ev.SET_STATUS, [StatusType.ERROR, err.message]],
}),
// triggers loading of JSON for single user, sets status
[ev.LOAD_USER]: (_, [__, id]) => ({
[FX_DISPATCH_NOW]: [
ev.SET_STATUS,
- [StatusType.INFO, `loading user data...`]
+ [StatusType.INFO, `loading user data...`],
],
[FX_DISPATCH_ASYNC]: [
fx.JSON,
`assets/user-${id}.json`,
ev.RECEIVE_USER,
- ev.LOAD_USER_ERROR
- ]
+ ev.LOAD_USER_ERROR,
+ ],
}),
// triggered after successful IO
@@ -79,9 +79,9 @@ export const CONFIG: AppConfig = {
[EV_SET_VALUE, [["users", json.id], json]],
[
ev.SET_STATUS,
- [StatusType.SUCCESS, "JSON successfully loaded", true]
- ]
- ]
+ [StatusType.SUCCESS, "JSON successfully loaded", true],
+ ],
+ ],
}),
// error event for user profile IO requests (i.e. in this demo for user ID 3)
@@ -92,22 +92,22 @@ export const CONFIG: AppConfig = {
FX_DELAY,
[1000, [routes.USER_LIST.id]],
ev.ROUTE_TO,
- ev.ERROR
- ]
+ ev.ERROR,
+ ],
}),
// triggers loading of JSON summary of all users, sets status
[ev.LOAD_USER_LIST]: () => ({
[FX_DISPATCH_NOW]: [
ev.SET_STATUS,
- [StatusType.INFO, `loading user data...`]
+ [StatusType.INFO, `loading user data...`],
],
[FX_DISPATCH_ASYNC]: [
fx.JSON,
`assets/users.json`,
ev.RECEIVE_USERS,
- ev.ERROR
- ]
+ ev.ERROR,
+ ],
}),
// triggered after successful IO
@@ -117,9 +117,9 @@ export const CONFIG: AppConfig = {
[EV_SET_VALUE, ["userlist", json]],
[
ev.SET_STATUS,
- [StatusType.SUCCESS, "JSON successfully loaded", true]
- ]
- ]
+ [StatusType.SUCCESS, "JSON successfully loaded", true],
+ ],
+ ],
}),
// stores status (a tuple of `[type, message, done?]`) in app state
@@ -130,11 +130,11 @@ export const CONFIG: AppConfig = {
[FX_DISPATCH_ASYNC]:
status[0] !== StatusType.DONE && status[2]
? [FX_DELAY, [1000], ev.DONE, ev.ERROR]
- : undefined
+ : undefined,
}),
// toggles debug state flag on/off
- [ev.TOGGLE_DEBUG]: valueUpdater("debug", (x) => x ^ 1)
+ [ev.TOGGLE_DEBUG]: valueUpdater("debug", (x) => x ^ 1),
},
// side effects
@@ -146,7 +146,7 @@ export const CONFIG: AppConfig = {
throw new Error(resp.statusText);
}
return resp.json();
- })
+ }),
},
// mapping route IDs to their respective UI component functions
@@ -156,7 +156,7 @@ export const CONFIG: AppConfig = {
[routes.HOME.id]: home,
[routes.CONTACT.id]: contact,
[routes.USER_LIST.id]: allUsers,
- [routes.USER_PROFILE.id]: userProfile
+ [routes.USER_PROFILE.id]: userProfile,
},
// DOM root element (or ID)
@@ -168,7 +168,7 @@ export const CONFIG: AppConfig = {
users: {},
userlist: [],
route: {},
- debug: 1
+ debug: 1,
},
// derived view declarations
@@ -181,7 +181,7 @@ export const CONFIG: AppConfig = {
users: ["users", (users) => users || {}],
userlist: "userlist",
status: "status",
- debug: "debug"
+ debug: "debug",
},
// component CSS class config using tachyons-css
@@ -193,51 +193,51 @@ export const CONFIG: AppConfig = {
// http://tachyons.io/
ui: {
bodyCopy: {
- class: "center measure-narrow measure-ns tc lh-copy black-70"
+ class: "center measure-narrow measure-ns tc lh-copy black-70",
},
bodyLink: { class: "link dim black" },
card: {
container: {
class:
- "mw5 center bg-white br3 pa3 pa4-ns mv3 ba b--black-10 tc"
+ "mw5 center bg-white br3 pa3 pa4-ns mv3 ba b--black-10 tc",
},
thumb: { class: "br-100 h3 w3 dib" },
title: { class: "ma1" },
sep: { class: "mt3 mw3 bb bw1 b--black-10" },
- body: { class: "lh-copy measure center f6 black-70" }
+ body: { class: "lh-copy measure center f6 black-70" },
},
code: { class: "ma0 ml4 pa2 f7 bg-light-gray code overflow-x-hidden" },
column: {
content: [{ class: "w-90-ns ma2" }, { class: "w-50-ns ma2" }],
debug: [
{ class: "w-10-ns ma2 close" },
- { class: "w-50-ns ma2 open" }
- ]
+ { class: "w-50-ns ma2 open" },
+ ],
},
contact: {
- link: { class: "db pb2 link dim black" }
+ link: { class: "db pb2 link dim black" },
},
debugToggle: { class: "toggle pointer" },
nav: {
inner: { class: "tc pb3" },
title: { class: "black f1 lh-title tc db mb2 mb2-ns" },
link: { class: "pointer link dim gray f6 f5-ns dib mr3" },
- linkLast: { class: "pointer link dim gray f6 f5-ns dib" }
+ linkLast: { class: "pointer link dim gray f6 f5-ns dib" },
},
root: { class: "flex-ns sans-serif ma0" },
status: {
[StatusType.DONE]: {
- class: "pa2 bg-light-yellow gold tc fadeout bg-animate"
+ class: "pa2 bg-light-yellow gold tc fadeout bg-animate",
},
[StatusType.INFO]: {
- class: "pa2 bg-light-yellow gold tc bg-animate"
+ class: "pa2 bg-light-yellow gold tc bg-animate",
},
[StatusType.SUCCESS]: {
- class: "pa2 bg-light-green green tc bg-animate"
+ class: "pa2 bg-light-green green tc bg-animate",
},
[StatusType.ERROR]: {
- class: "pa2 bg-light-red dark-red tc bg-animate"
- }
+ class: "pa2 bg-light-red dark-red tc bg-animate",
+ },
},
userlist: {
root: { class: "measure center" },
@@ -247,7 +247,7 @@ export const CONFIG: AppConfig = {
body: { class: "dtc v-mid pl3" },
title: { class: "pointer f6 f5-ns fw6 lh-title black mv0" },
subtitle: { class: "f6 fw4 mt0 mb0 black-60" },
- meta: { class: "dtc tr v-mid black-60 f7" }
- }
- }
+ meta: { class: "dtc tr v-mid black-60 f7" },
+ },
+ },
};
diff --git a/examples/router-basics/src/effects.ts b/examples/router-basics/src/effects.ts
index 3f09c7d3b6..492d776e29 100644
--- a/examples/router-basics/src/effects.ts
+++ b/examples/router-basics/src/effects.ts
@@ -1,7 +1,7 @@
// best practice tip: define event & effect names as consts or enums
// and avoid hardcoded strings for more safety and easier refactoring
// also see pre-defined event handlers & interceptors in @thi.ng/atom:
-// https://github.com/thi-ng/umbrella/blob/master/packages/interceptors/src/api.ts#L14
+// https://github.com/thi-ng/umbrella/blob/develop/packages/interceptors/src/api.ts#L14
export const JSON = "load-json";
export const ROUTE_TO = "route-to";
diff --git a/examples/router-basics/src/routes.ts b/examples/router-basics/src/routes.ts
index 1b4f801d0d..f0a4723688 100644
--- a/examples/router-basics/src/routes.ts
+++ b/examples/router-basics/src/routes.ts
@@ -6,22 +6,22 @@ import { Route } from "@thi.ng/router";
// the `match` arrays specify the individual route elements
// docs here:
-// https://github.com/thi-ng/umbrella/blob/master/packages/router/
-// https://github.com/thi-ng/umbrella/blob/master/packages/router/src/api.ts#L31
+// https://github.com/thi-ng/umbrella/blob/develop/packages/router/
+// https://github.com/thi-ng/umbrella/blob/develop/packages/router/src/api.ts#L31
export const HOME: Route = {
id: "home",
- match: ["home"]
+ match: ["home"],
};
export const CONTACT: Route = {
id: "contact",
- match: ["contact"]
+ match: ["contact"],
};
export const USER_LIST: Route = {
id: "user-list",
- match: ["users"]
+ match: ["users"],
};
// this is a parametric route w/ parameter coercion & validation
@@ -35,7 +35,7 @@ export const USER_PROFILE: Route = {
validate: {
id: {
coerce: (x) => parseInt(x),
- check: (x) => x > 0 && x < 100
- }
- }
+ check: (x) => x > 0 && x < 100,
+ },
+ },
};
diff --git a/examples/rstream-dataflow/src/circle.ts b/examples/rstream-dataflow/src/circle.ts
index 9d4312362f..dcd6a8e31b 100644
--- a/examples/rstream-dataflow/src/circle.ts
+++ b/examples/rstream-dataflow/src/circle.ts
@@ -10,8 +10,8 @@ export const circle = (col: string, x: number, y: number, w: number, h = w) => [
top: px(y - h / 2),
width: px(w),
height: px(h),
- "line-height": px(h)
- }
+ "line-height": px(h),
+ },
},
- `${x};${y}`
+ `${x};${y}`,
];
diff --git a/examples/rstream-dataflow/src/index.ts b/examples/rstream-dataflow/src/index.ts
index 7a1ac35182..638f221264 100644
--- a/examples/rstream-dataflow/src/index.ts
+++ b/examples/rstream-dataflow/src/index.ts
@@ -5,19 +5,8 @@ import { getIn } from "@thi.ng/paths";
import { fromRAF } from "@thi.ng/rstream";
import { toDot, walk } from "@thi.ng/rstream-dot";
import { gestureStream } from "@thi.ng/rstream-gestures";
-import {
- extract,
- initGraph,
- mul,
- node,
- node1
-} from "@thi.ng/rstream-graph";
-import {
- choices,
- comp,
- dedupe,
- map
-} from "@thi.ng/transducers";
+import { extract, initGraph, mul, node, node1 } from "@thi.ng/rstream-graph";
+import { choices, comp, dedupe, map } from "@thi.ng/transducers";
import { circle } from "./circle";
// infinite iterator of randomized colors (Tachyons CSS class names)
@@ -30,7 +19,7 @@ const colors = choices([
"bg-pink",
"bg-light-purple",
"bg-orange",
- "bg-gray"
+ "bg-gray",
]);
// atom for storing dataflow results (optional, here only for
@@ -69,7 +58,7 @@ const graph = initGraph(db, {
mpos: {
fn: extract(["pos"]),
ins: { src: { stream: () => gestures } },
- outs: { "*": "mpos" }
+ outs: { "*": "mpos" },
},
// extracts last click position from gesture tuple
@@ -78,7 +67,7 @@ const graph = initGraph(db, {
clickpos: {
fn: extract(["active", 0, "click"]),
ins: { src: { stream: () => gestures } },
- outs: { "*": "clickpos" }
+ outs: { "*": "clickpos" },
},
// extracts & computes length of `delta` vector in gesture tuple
@@ -93,7 +82,7 @@ const graph = initGraph(db, {
})
),
ins: { src: { stream: () => gestures } },
- outs: { "*": "dist" }
+ outs: { "*": "dist" },
},
// combines `clickpos`, `dist` and `color` streams to produce a
@@ -114,9 +103,9 @@ const graph = initGraph(db, {
ins: {
click: { stream: "/clickpos/node" },
radius: { stream: "/radius/node" },
- color: { stream: "/color/node" }
+ color: { stream: "/color/node" },
},
- outs: { "*": "circle" }
+ outs: { "*": "circle" },
},
// produces a new random color for each new drag gesture (and
@@ -133,7 +122,7 @@ const graph = initGraph(db, {
)
),
ins: { src: { stream: "/clickpos/node" } },
- outs: { "*": "color" }
+ outs: { "*": "color" },
},
// transforms a `requestAnimationFrame` event stream (frame counter @ 60fps)
@@ -141,7 +130,7 @@ const graph = initGraph(db, {
sine: {
fn: node1(map((x: number) => 0.8 + 0.2 * Math.sin(x * 0.05))),
ins: { src: { stream: () => raf } },
- outs: { "*": "sin" }
+ outs: { "*": "sin" },
},
// multiplies `dist` and `sine` streams to produce an animated
@@ -150,10 +139,10 @@ const graph = initGraph(db, {
fn: mul,
ins: {
a: { stream: "/sine/node" },
- b: { stream: "/dist/node" }
+ b: { stream: "/dist/node" },
},
- outs: { "*": "radius" }
- }
+ outs: { "*": "radius" },
+ },
});
// start @thi.ng/hdom update loop
@@ -161,13 +150,13 @@ start(() => [
"div",
[
"pre.absolute.top-1.left-1.pa0.ma0.z-2.f7",
- JSON.stringify(db.deref(), null, 2)
+ JSON.stringify(db.deref(), null, 2),
],
// note: direct embedding of result stream below. this works
// since all @thi.ng/rstream subscriptions implement the
// @thi.ng/api/IDeref interface (like several other types, e.g.
// @thi.ng/atom's Atom, Cursor, View etc.)
- graph.circle.node
+ graph.circle.node,
]);
// create a GraphViz DOT file of the entire dataflow graph
diff --git a/examples/rstream-event-loop/src/events.ts b/examples/rstream-event-loop/src/events.ts
index a8c738d468..c1d31e537c 100644
--- a/examples/rstream-event-loop/src/events.ts
+++ b/examples/rstream-event-loop/src/events.ts
@@ -1,19 +1,7 @@
import { setInManyUnsafe } from "@thi.ng/paths";
-import {
- ISubscriber,
- pubsub,
- stream,
- trace
-} from "@thi.ng/rstream";
+import { ISubscriber, pubsub, stream, trace } from "@thi.ng/rstream";
import { filter, Transducer } from "@thi.ng/transducers";
-import {
- Event,
- EventType,
- EventTypeMap,
- NEXT,
- PAGE_READY,
- PREV
-} from "./api";
+import { Event, EventType, EventTypeMap, NEXT, PAGE_READY, PREV } from "./api";
import { state } from "./state";
import type { Fn } from "@thi.ng/api";
diff --git a/examples/rstream-event-loop/src/index.ts b/examples/rstream-event-loop/src/index.ts
index 41563cfc6c..ed25934213 100644
--- a/examples/rstream-event-loop/src/index.ts
+++ b/examples/rstream-event-loop/src/index.ts
@@ -15,7 +15,7 @@ const app = ({ pageID, isLoading }: AppState) =>
isLoading
? [
"div.w-100.vh-100.flex.items-center.justify-center.bg-black.white",
- ["div", "Loading..."]
+ ["div", "Loading..."],
]
: [
"div.ma3",
@@ -27,10 +27,10 @@ const app = ({ pageID, isLoading }: AppState) =>
["button", { onclick: () => dispatch([PREV, 5]) }, "<<"],
["button", { onclick: () => dispatch([PREV, 1]) }, "<"],
["button", { onclick: () => dispatch([NEXT, 1]) }, ">"],
- ["button", { onclick: () => dispatch([NEXT, 5]) }, ">>"]
+ ["button", { onclick: () => dispatch([NEXT, 5]) }, ">>"],
],
// only here to show timestamp of last DOM update
- ["div.mt3", new Date().toString()]
+ ["div.mt3", new Date().toString()],
];
/**
diff --git a/examples/rstream-grid/src/app.ts b/examples/rstream-grid/src/app.ts
index 9542ff2d31..3694b8ff23 100644
--- a/examples/rstream-grid/src/app.ts
+++ b/examples/rstream-grid/src/app.ts
@@ -1,9 +1,4 @@
-import {
- Atom,
- Cursor,
- defViewUnsafe,
- History
-} from "@thi.ng/atom";
+import { Atom, Cursor, defViewUnsafe, History } from "@thi.ng/atom";
import { isArray } from "@thi.ng/checks";
import { start } from "@thi.ng/hdom";
import { EventBus } from "@thi.ng/interceptors";
diff --git a/examples/rstream-grid/src/components/button-group.ts b/examples/rstream-grid/src/components/button-group.ts
index 5dadae9096..733f015784 100644
--- a/examples/rstream-grid/src/components/button-group.ts
+++ b/examples/rstream-grid/src/components/button-group.ts
@@ -4,5 +4,5 @@ import type { AppContext } from "../api";
export const buttonGroup = (ctx: AppContext, ...buttons: any[]) => [
"section",
ctx.ui.buttongroup,
- buttons.map((bt) => [button, ...bt])
+ buttons.map((bt) => [button, ...bt]),
];
diff --git a/examples/rstream-grid/src/components/button.ts b/examples/rstream-grid/src/components/button.ts
index c6d3ad92d2..92037d5900 100644
--- a/examples/rstream-grid/src/components/button.ts
+++ b/examples/rstream-grid/src/components/button.ts
@@ -5,5 +5,5 @@ export const button = (ctx: AppContext, event: Event, label: string) => [
eventLink,
ctx.ui.button,
event,
- label
+ label,
];
diff --git a/examples/rstream-grid/src/components/event-link.ts b/examples/rstream-grid/src/components/event-link.ts
index 1a4555eb2a..f5f64a09dc 100644
--- a/examples/rstream-grid/src/components/event-link.ts
+++ b/examples/rstream-grid/src/components/event-link.ts
@@ -1,7 +1,6 @@
import type { Event } from "@thi.ng/interceptors";
import type { AppContext } from "../api";
-
/**
* Customizable hyperlink component emitting given event on event bus
* when clicked.
@@ -23,7 +22,7 @@ export const eventLink = (
onclick: (e: any) => {
e.preventDefault();
ctx.bus.dispatch(event);
- }
+ },
},
- body
+ body,
];
diff --git a/examples/rstream-grid/src/components/link.ts b/examples/rstream-grid/src/components/link.ts
index c2b1593d6a..0afd195db1 100644
--- a/examples/rstream-grid/src/components/link.ts
+++ b/examples/rstream-grid/src/components/link.ts
@@ -3,5 +3,5 @@ import type { AppContext } from "../api";
export const link = (ctx: AppContext, href: string, ...body: any[]) => [
"a",
{ ...ctx.ui.link, href },
- ...body
+ ...body,
];
diff --git a/examples/rstream-grid/src/components/sidebar.ts b/examples/rstream-grid/src/components/sidebar.ts
index 4c597b0bb6..5c8c40b008 100644
--- a/examples/rstream-grid/src/components/sidebar.ts
+++ b/examples/rstream-grid/src/components/sidebar.ts
@@ -20,7 +20,7 @@ export const sidebar = (ctx: AppContext, ...specs: SliderOpts[]) => {
["code", "Ctrl+Z"],
" / ",
["code", "Ctrl+Y"],
- ". The last 1000 edits are stored."
+ ". The last 1000 edits are stored.",
],
[
"div",
@@ -28,11 +28,11 @@ export const sidebar = (ctx: AppContext, ...specs: SliderOpts[]) => {
[
link,
"https://github.com/thi-ng/umbrella/tree/develop/examples/rstream-grid",
- "Source"
+ "Source",
],
["br"],
"Made with ",
- [link, "https://github.com/thi-ng/umbrella/", "@thi.ng/umbrella"]
- ]
+ [link, "https://github.com/thi-ng/umbrella/", "@thi.ng/umbrella"],
+ ],
];
};
diff --git a/examples/rstream-grid/src/components/slider.ts b/examples/rstream-grid/src/components/slider.ts
index 10b0cc8982..d07c10905f 100644
--- a/examples/rstream-grid/src/components/slider.ts
+++ b/examples/rstream-grid/src/components/slider.ts
@@ -29,11 +29,11 @@ export const slider = (ctx: AppContext, opts: SliderOpts) => {
oninput: (e: Event) =>
ctx.bus.dispatch([
opts.event,
- parseFloat((e.target).value)
+ parseFloat((e.target).value),
]),
min: 0,
max: 100,
- step: 1
+ step: 1,
},
opts
);
@@ -47,8 +47,8 @@ export const slider = (ctx: AppContext, opts: SliderOpts) => {
...ui.range,
...opts,
type: "range",
- value: (ctx.views)[opts.view].deref()
- }
+ value: (ctx.views)[opts.view].deref(),
+ },
],
[
"div",
@@ -60,9 +60,9 @@ export const slider = (ctx: AppContext, opts: SliderOpts) => {
...ui.number,
...opts,
type: "number",
- value: (ctx.views)[opts.view].deref()
- }
- ]
- ]
+ value: (ctx.views)[opts.view].deref(),
+ },
+ ],
+ ],
];
};
diff --git a/examples/rstream-grid/src/config.ts b/examples/rstream-grid/src/config.ts
index 1db3d7edd7..56d09a0cae 100644
--- a/examples/rstream-grid/src/config.ts
+++ b/examples/rstream-grid/src/config.ts
@@ -25,7 +25,7 @@ export const CONFIG: AppConfig = {
// and only side effect functions execute any "real" work.
// Docs here:
- // https://github.com/thi-ng/umbrella/blob/master/packages/interceptors/src/event-bus.ts#L14
+ // https://github.com/thi-ng/umbrella/blob/develop/packages/interceptors/src/event-bus.ts#L14
events: {
// generate slider event handlers. each uses the `snapshot()`
// interceptor to record a snapshot of the current app state
diff --git a/examples/rstream-grid/src/dataflow.ts b/examples/rstream-grid/src/dataflow.ts
index 5b3bc6934c..17a6ac090d 100644
--- a/examples/rstream-grid/src/dataflow.ts
+++ b/examples/rstream-grid/src/dataflow.ts
@@ -21,15 +21,15 @@ export function initDataflow(bus: EventBus) {
fn: grid,
ins: {
cols: { path: paths.COLS },
- rows: { path: paths.ROWS }
- }
+ rows: { path: paths.ROWS },
+ },
},
rotation: {
fn: rotate,
ins: {
shapes: { stream: "/grid/node" },
- theta: { path: paths.THETA }
- }
+ theta: { path: paths.THETA },
+ },
},
svg: {
fn: createSVG,
@@ -37,16 +37,16 @@ export function initDataflow(bus: EventBus) {
shapes: { stream: "/rotation/node" },
cols: { path: paths.COLS },
rows: { path: paths.ROWS },
- stroke: { path: paths.STROKE }
+ stroke: { path: paths.STROKE },
},
// dispatch SVG result doc as event
outs: {
"*": (node) =>
node.subscribe({
- next: (svg) => bus.dispatch([ev.UPDATE_SVG, svg])
- })
- }
- }
+ next: (svg) => bus.dispatch([ev.UPDATE_SVG, svg]),
+ }),
+ },
+ },
});
return graph;
}
@@ -59,7 +59,7 @@ const grid = node(
...map(
([x, y]) => ["rect", { x, y, width: 1, height: 1 }],
range2d(cols, rows)
- )
+ ),
])
);
@@ -71,8 +71,9 @@ const rotate = node(
map(({ shapes, theta }) =>
shapes.map(
(s: any) => (
- (s[1].transform = `rotate(${theta} ${s[1].x + 0.5} ${s[1].y +
- 0.5})`),
+ (s[1].transform = `rotate(${theta} ${s[1].x + 0.5} ${
+ s[1].y + 0.5
+ })`),
s
)
)
@@ -89,14 +90,14 @@ const createSVG = node(
{
class: "w-100 h-100",
preserveAspectRatio: "xMidYMid",
- viewBox: `-1 -1 ${cols + 2} ${rows + 2}`
+ viewBox: `-1 -1 ${cols + 2} ${rows + 2}`,
},
rect([-1, -1], cols + 2, rows + 2, { fill: "black" }),
group(
{
stroke: "white",
fill: "none",
- "stroke-width": stroke
+ "stroke-width": stroke,
},
...shapes
)
diff --git a/examples/rstream-grid/src/effects.ts b/examples/rstream-grid/src/effects.ts
index 32593dd7d2..45b256c259 100644
--- a/examples/rstream-grid/src/effects.ts
+++ b/examples/rstream-grid/src/effects.ts
@@ -1,7 +1,7 @@
// best practice tip: define event & effect names as consts or enums
// and avoid hardcoded strings for more safety and easier refactoring
// also see pre-defined event handlers & interceptors in @thi.ng/atom:
-// https://github.com/thi-ng/umbrella/blob/master/packages/interceptors/src/api.ts#L14
+// https://github.com/thi-ng/umbrella/blob/develop/packages/interceptors/src/api.ts#L14
export const SAVE_SVG = "save-svg";
export const SAVE_ANIM = "save-anim";
diff --git a/examples/rstream-grid/src/events.ts b/examples/rstream-grid/src/events.ts
index 2402d9388b..930faf6ff6 100644
--- a/examples/rstream-grid/src/events.ts
+++ b/examples/rstream-grid/src/events.ts
@@ -3,7 +3,7 @@ import { EV_REDO, EV_UNDO } from "@thi.ng/interceptors";
// best practice tip: define event & effect names as consts or enums
// and avoid hardcoded strings for more safety and easier refactoring
// also see pre-defined event handlers & interceptors in @thi.ng/atom:
-// https://github.com/thi-ng/umbrella/blob/master/packages/interceptors/src/api.ts#L14
+// https://github.com/thi-ng/umbrella/blob/develop/packages/interceptors/src/api.ts#L14
export const UNDO = EV_UNDO;
export const REDO = EV_REDO;
diff --git a/examples/rstream-grid/src/sliders.ts b/examples/rstream-grid/src/sliders.ts
index 3722aa6ee1..0a67321fd7 100644
--- a/examples/rstream-grid/src/sliders.ts
+++ b/examples/rstream-grid/src/sliders.ts
@@ -12,7 +12,7 @@ export const SLIDERS = [
view: "cols",
label: "cols",
min: 1,
- max: 16
+ max: 16,
},
{
event: ev.SET_ROWS,
@@ -20,7 +20,7 @@ export const SLIDERS = [
view: "rows",
label: "rows",
min: 1,
- max: 16
+ max: 16,
},
{
event: ev.SET_THETA,
@@ -28,7 +28,7 @@ export const SLIDERS = [
view: "theta",
label: "rotate",
min: 0,
- max: 360
+ max: 360,
},
{
event: ev.SET_STROKE,
@@ -37,6 +37,6 @@ export const SLIDERS = [
label: "stroke weight",
min: 0.01,
max: 0.5,
- step: 0.01
- }
+ step: 0.01,
+ },
];
diff --git a/examples/rstream-hdom/src/index.ts b/examples/rstream-hdom/src/index.ts
index 38de78d6ed..3a9fb4dc3a 100644
--- a/examples/rstream-hdom/src/index.ts
+++ b/examples/rstream-hdom/src/index.ts
@@ -5,14 +5,9 @@ import {
sidechainPartition,
Subscription,
subscription,
- sync
+ sync,
} from "@thi.ng/rstream";
-import {
- map,
- reducer,
- scan,
- vals
-} from "@thi.ng/transducers";
+import { map, reducer, scan, vals } from "@thi.ng/transducers";
import { updateDOM } from "@thi.ng/transducers-hdom";
// example user context object
@@ -21,12 +16,12 @@ import { updateDOM } from "@thi.ng/transducers-hdom";
const ctx = {
ui: {
root: {
- class: "pa2"
+ class: "pa2",
},
button: {
- class: "w4 h2 bg-black white bn br2 mr2 pointer"
- }
- }
+ class: "w4 h2 bg-black white bn br2 mr2 pointer",
+ },
+ },
};
/**
@@ -66,7 +61,7 @@ const domUpdate = (root: HTMLElement, tree: ISubscribable, ctx?: any) =>
const button = (ctx: any, onclick: EventListener, body: any) => [
"button",
{ ...ctx.ui.button, onclick },
- body
+ body,
];
/**
@@ -78,7 +73,7 @@ const button = (ctx: any, onclick: EventListener, body: any) => [
const clickButton = (_: any, stream: Subscription) => [
button,
() => stream.next(true),
- stream.deref()
+ stream.deref(),
];
/**
@@ -90,7 +85,7 @@ const clickButton = (_: any, stream: Subscription) => [
const resetButton = (_: any, counters: Subscription[]) => [
button,
() => counters.forEach((c) => c.next(false)),
- "reset"
+ "reset",
];
/**
@@ -105,14 +100,14 @@ const counter = (start: number, step: number) => {
const s = subscription(
undefined,
// the `scan` transducer is used to provide counter functionality
- // see: https://github.com/thi-ng/umbrella/blob/master/packages/transducers/src/xform/scan.ts
+ // see: https://github.com/thi-ng/umbrella/blob/develop/packages/transducers/src/xform/scan.ts
{
xform: scan(
reducer(
() => start,
(x, y) => (y ? x + step : start)
)
- )
+ ),
}
);
s.next(false);
@@ -137,7 +132,7 @@ const app = (ctx: any, initial: number[][]) => {
"div",
ctx.ui.root,
...vals(buttons),
- [resetButton, counters]
+ [resetButton, counters],
]
),
// this config ensures that only at the very beginning *all*
@@ -146,9 +141,9 @@ const app = (ctx: any, initial: number[][]) => {
// however, by stating `reset: false` (actually the default) any
// subsequent changes to any of the inputs will not be
// synchronized see here for further details:
- // https://github.com/thi-ng/umbrella/blob/master/packages/rstream/src/stream-sync.ts#L21
- // https://github.com/thi-ng/umbrella/blob/master/packages/transducers/src/xform/partition-sync.ts#L7
- reset: false
+ // https://github.com/thi-ng/umbrella/blob/develop/packages/rstream/src/stream-sync.ts#L21
+ // https://github.com/thi-ng/umbrella/blob/develop/packages/transducers/src/xform/partition-sync.ts#L7
+ reset: false,
});
};
@@ -158,7 +153,7 @@ domUpdate(
app(ctx, [
[10, 1],
[20, 5],
- [30, 10]
+ [30, 10],
]),
ctx
);
diff --git a/examples/rstream-spreadsheet/src/dsl.ts b/examples/rstream-spreadsheet/src/dsl.ts
index e1bcd94319..88ff0b800e 100644
--- a/examples/rstream-spreadsheet/src/dsl.ts
+++ b/examples/rstream-spreadsheet/src/dsl.ts
@@ -3,12 +3,7 @@ import { illegalArgs } from "@thi.ng/errors";
import { fit } from "@thi.ng/math";
import { memoize1 } from "@thi.ng/memoize";
import { fromView } from "@thi.ng/rstream";
-import {
- addNode,
- node,
- NodeInputSpec,
- NodeSpec
-} from "@thi.ng/rstream-graph";
+import { addNode, node, NodeInputSpec, NodeSpec } from "@thi.ng/rstream-graph";
import {
ASTNode,
Implementations,
diff --git a/examples/rstream-spreadsheet/src/index.ts b/examples/rstream-spreadsheet/src/index.ts
index 0345d785ca..028bce6ae8 100644
--- a/examples/rstream-spreadsheet/src/index.ts
+++ b/examples/rstream-spreadsheet/src/index.ts
@@ -9,23 +9,17 @@ import {
permutations,
push,
range,
- transduce
+ transduce,
} from "@thi.ng/transducers";
import { updateDOM } from "@thi.ng/transducers-hdom";
-import {
- CELL_STYLE,
- MAX_COL,
- NUM_COLS,
- NUM_ROWS,
- UICell
-} from "./api";
+import { CELL_STYLE, MAX_COL, NUM_COLS, NUM_ROWS, UICell } from "./api";
import {
blurCell,
cancelCell,
DB,
focusCell,
graph,
- updateCell
+ updateCell,
} from "./state";
const formatCell = (x: string | number) => (isNumber(x) ? x.toFixed(2) : x);
@@ -91,15 +85,15 @@ const cell = ([row, col]: [number, string]) =>
cancelCell(id);
this.element!.blur();
}
- }
+ },
},
String(
cell.focus && cell.formula
? cell.formula
: cell.error || formatCell(cell.value)
- )
+ ),
];
- }
+ },
};
/**
@@ -129,12 +123,12 @@ const app = () => {
[
`${CELL_STYLE}.w2.b.bg-moon-gray.overflow-y-hidden.overflow-x-scroll`,
{},
- rowid
+ rowid,
],
- ...CELLS[i].map((cell) => [cell, state])
+ ...CELLS[i].map((cell) => [cell, state]),
],
range(1, NUM_ROWS + 1)
- )
+ ),
];
};
diff --git a/examples/scenegraph-image/src/index.ts b/examples/scenegraph-image/src/index.ts
index cc163ed6f8..5815358de9 100644
--- a/examples/scenegraph-image/src/index.ts
+++ b/examples/scenegraph-image/src/index.ts
@@ -30,7 +30,7 @@ class ImgNode extends Node2D {
"img",
{ alpha, width: size[0], height: size[1] },
img,
- [0, 0]
+ [0, 0],
]);
this.img = img;
}
@@ -97,13 +97,13 @@ imagePromise(LOGO).then((img) => {
const q = geom.mapLocalPointToNode(imgNode, [x, y]);
const r = (imgMap.getAt(q[0], q[1]) * 5) / 255;
return [x, sin(x, 0.05, r, y)];
- }, range(-200, 200))
+ }, range(-200, 200)),
]),
range(-200, 200, 5)
);
geom.body = group({ fill: "none", stroke: "#fff", weight: 0.5 }, [
- ...waves
+ ...waves,
]);
return [
"div.sans-serif.pl3",
@@ -115,7 +115,7 @@ imagePromise(LOGO).then((img) => {
", ",
["b", "@thi.ng/pixel"],
" and ",
- ["b", "@thi.ng/hdom-canvas"]
+ ["b", "@thi.ng/hdom-canvas"],
],
["p", "Click to toggle image overlay"],
[
@@ -126,12 +126,12 @@ imagePromise(LOGO).then((img) => {
width: 600,
height: 600,
onmousemove: updateMouse,
- onclick: toggleImage
+ onclick: toggleImage,
},
// only need to pass root node which then expands itself via
// .toHiccup() during rendering
- root
- ]
+ root,
+ ],
];
};
diff --git a/examples/scenegraph/src/index.ts b/examples/scenegraph/src/index.ts
index 5d6b6f11dd..833977244a 100644
--- a/examples/scenegraph/src/index.ts
+++ b/examples/scenegraph/src/index.ts
@@ -1,20 +1,10 @@
-import {
- asPolygon,
- circle,
- pointInside,
- rect
-} from "@thi.ng/geom";
+import { asPolygon, circle, pointInside, rect } from "@thi.ng/geom";
import { start } from "@thi.ng/hdom";
import { canvas } from "@thi.ng/hdom-canvas";
import { HALF_PI, PI } from "@thi.ng/math";
import { Node2D, NodeInfo } from "@thi.ng/scenegraph";
import { cycle, map, range } from "@thi.ng/transducers";
-import {
- cartesian2,
- mulN2,
- ReadonlyVec,
- Vec
-} from "@thi.ng/vectors";
+import { cartesian2, mulN2, ReadonlyVec, Vec } from "@thi.ng/vectors";
import type { IShape } from "@thi.ng/geom-api";
/**
@@ -58,7 +48,7 @@ const colors = cycle([
"#9f0",
"#0ff",
"#090",
- "#f60"
+ "#f60",
]);
// scene graph definition
@@ -99,7 +89,7 @@ const satellites = [
rect([-0.5, -0.5], [1, 1], { fill: "#cf0" })
),
range(4)
- )
+ ),
];
// this node uses a hdom component function as body to create the dynamic
@@ -119,11 +109,11 @@ const infoNode = new Node2D("info", root, mouse, 0, 1, () => [
"text",
{},
[8, -10],
- `${info.p![0].toFixed(2)}, ${info.p![1].toFixed(2)}`
+ `${info.p![0].toFixed(2)}, ${info.p![1].toFixed(2)}`,
],
- ["text", {}, [8, -24], `ID: ${info.node.id}`]
+ ["text", {}, [8, -24], `ID: ${info.node.id}`],
]
- : undefined
+ : undefined,
]);
// mousemove event handler
@@ -158,12 +148,12 @@ const app = () => {
width: 600,
height: 600,
onmousemove: updateMouse,
- onclick: selectNode
+ onclick: selectNode,
},
// only need to pass root node which then expands itself via
// .toHiccup() during rendering
- root
- ]
+ root,
+ ],
];
};
diff --git a/examples/shader-ast-canvas2d/src/index.ts b/examples/shader-ast-canvas2d/src/index.ts
index 815317eebd..0f072ca8cb 100644
--- a/examples/shader-ast-canvas2d/src/index.ts
+++ b/examples/shader-ast-canvas2d/src/index.ts
@@ -14,7 +14,7 @@ import {
sym,
Vec2Sym,
vec3,
- vec4
+ vec4,
} from "@thi.ng/shader-ast";
import { targetGLSL } from "@thi.ng/shader-ast-glsl";
import { canvasRenderer, targetJS } from "@thi.ng/shader-ast-js";
@@ -30,7 +30,11 @@ const main = defn(
// func name
"main",
// args (names are optional)
- [["vec2", "fragCoord"], ["vec2", "res"], ["float", "time"]],
+ [
+ ["vec2", "fragCoord"],
+ ["vec2", "res"],
+ ["float", "time"],
+ ],
// bound args given to function body
(frag, res, time) => {
let a: FloatSym;
@@ -60,7 +64,7 @@ const main = defn(
),
1
)
- )
+ ),
];
}
);
diff --git a/examples/shader-ast-evo/src/index.ts b/examples/shader-ast-evo/src/index.ts
index 064d23add3..1c93364085 100644
--- a/examples/shader-ast-evo/src/index.ts
+++ b/examples/shader-ast-evo/src/index.ts
@@ -1,9 +1,4 @@
-import {
- AST,
- ASTNode,
- ASTOpts,
- GeneType
-} from "@thi.ng/gp";
+import { AST, ASTNode, ASTOpts, GeneType } from "@thi.ng/gp";
import { roundTo } from "@thi.ng/math";
import { IRandom, SYSTEM } from "@thi.ng/random";
import {
@@ -37,16 +32,20 @@ import {
vec3,
Vec3Sym,
Vec3Term,
- vec4
+ vec4,
} from "@thi.ng/shader-ast";
import {
clamp11,
fragUV,
snoise3,
- snoiseVec3
+ snoiseVec3,
} from "@thi.ng/shader-ast-stdlib";
import { glCanvas } from "@thi.ng/webgl";
-import { MainImageFn, shaderToy, ShaderToyUniforms } from "@thi.ng/webgl-shadertoy";
+import {
+ MainImageFn,
+ shaderToy,
+ ShaderToyUniforms,
+} from "@thi.ng/webgl-shadertoy";
const MAX_DEPTH = 11;
const NORM_SCALE = 1;
@@ -75,7 +74,7 @@ const OP1 = [
(x: Vec3Term) => $(x, "yxz"),
(x: Vec3Term) => $(x, "xxx"),
(x: Vec3Term) => $(x, "yyy"),
- (x: Vec3Term) => $(x, "zzz")
+ (x: Vec3Term) => $(x, "zzz"),
];
// binary functions
const OP2 = [
@@ -85,7 +84,7 @@ const OP2 = [
div,
mod,
pow,
- (x: Vec3Term, y: Vec3Term) => vec3(distance(x, y))
+ (x: Vec3Term, y: Vec3Term) => vec3(distance(x, y)),
];
// ternary functions
const OP3 = [mix];
@@ -109,10 +108,10 @@ const AST_OPTS: ASTOpts = {
ops: [
{ fn: randomFn(OP1), arity: 1, prob: 0.4 },
{ fn: randomFn(OP2), arity: 2, prob: 0.4 },
- { fn: randomFn(OP3), arity: 3, prob: 0.1 }
+ { fn: randomFn(OP3), arity: 3, prob: 0.1 },
],
maxDepth: MAX_DEPTH,
- probMutate: 0.01
+ probMutate: 0.01,
};
const transpile = (node: ASTNode): Term =>
@@ -132,7 +131,7 @@ const shaderFunction = (
mul(1, fract(unis.time))
)
),
- ret(vec4(abs(transpile(ast)), 1))
+ ret(vec4(abs(transpile(ast)), 1)),
// ret(vec4(fit1101(normalize(transpile(ast))), 1))
];
};
@@ -144,13 +143,13 @@ const canvas = glCanvas({
width: 640,
height: 640,
parent: document.body,
- version: 1
+ version: 1,
});
const toy = shaderToy({
canvas: canvas.canvas,
gl: canvas.gl,
- main: shaderFunction(currTree)
+ main: shaderFunction(currTree),
});
toy.start();
diff --git a/examples/shader-ast-noise/src/index.ts b/examples/shader-ast-noise/src/index.ts
index aa83c7d7a1..6f4d89eaf5 100644
--- a/examples/shader-ast-noise/src/index.ts
+++ b/examples/shader-ast-noise/src/index.ts
@@ -12,7 +12,7 @@ import {
vec2,
Vec2Sym,
vec3,
- vec4
+ vec4,
} from "@thi.ng/shader-ast";
import { GLSLVersion, targetGLSL } from "@thi.ng/shader-ast-glsl";
import { canvasRenderer, targetJS } from "@thi.ng/shader-ast-js";
@@ -20,14 +20,9 @@ import {
additive,
aspectCorrectedUV,
fit1101,
- snoise2
+ snoise2,
} from "@thi.ng/shader-ast-stdlib";
-import {
- compileModel,
- draw,
- quad,
- shader
-} from "@thi.ng/webgl";
+import { compileModel, draw, quad, shader } from "@thi.ng/webgl";
// set URL hash to "#2d" to enable JS Canvas2D version
const JS_MODE = location.hash.indexOf("2d") >= 0;
@@ -52,7 +47,7 @@ const mainImage = defn(
(col = sym(
additive("vec2", snoise2, 4)(add(uv, time), vec2(2), float(0.5))
)),
- ret(vec4(vec3(fit1101(col)), 1))
+ ret(vec4(vec3(fit1101(col)), 1)),
];
}
);
@@ -100,8 +95,8 @@ if (JS_MODE) {
model.shader = shader(ctx, {
vs: (gl, _, attribs) => [
defMain(() => [
- assign(gl.gl_Position, vec4(attribs.position, 0, 1))
- ])
+ assign(gl.gl_Position, vec4(attribs.position, 0, 1)),
+ ]),
],
fs: (gl, unis, _, outs) => [
mainImage,
@@ -109,16 +104,16 @@ if (JS_MODE) {
assign(
outs.fragColor,
mainImage($xy(gl.gl_FragCoord), unis.resolution, unis.time)
- )
- ])
+ ),
+ ]),
],
attribs: {
- position: "vec2"
+ position: "vec2",
},
uniforms: {
resolution: ["vec2", [W, H]],
- time: "float"
- }
+ time: "float",
+ },
});
// compile model (attrib buffers)
compileModel(ctx, model);
diff --git a/examples/shader-ast-raymarch/src/index.ts b/examples/shader-ast-raymarch/src/index.ts
index 01f896bdcf..843f084e71 100644
--- a/examples/shader-ast-raymarch/src/index.ts
+++ b/examples/shader-ast-raymarch/src/index.ts
@@ -18,7 +18,7 @@ import {
Vec2Sym,
vec3,
Vec3Sym,
- vec4
+ vec4,
} from "@thi.ng/shader-ast";
import { GLSLVersion, targetGLSL } from "@thi.ng/shader-ast-glsl";
import { canvasRenderer, targetJS } from "@thi.ng/shader-ast-js";
@@ -37,15 +37,9 @@ import {
sdfBox3,
sdfRepeat3,
sdfSmoothUnion,
- sdfSphere
+ sdfSphere,
} from "@thi.ng/shader-ast-stdlib";
-import {
- compileModel,
- draw,
- GLVec3,
- quad,
- shader
-} from "@thi.ng/webgl";
+import { compileModel, draw, GLVec3, quad, shader } from "@thi.ng/webgl";
// set URL hash to "#2d" to enable JS Canvas2D version
const JS_MODE = location.hash.indexOf("2d") >= 0;
@@ -80,7 +74,7 @@ const scene = defn("vec2", "scene", ["vec3"], (pos) => {
),
1
)
- )
+ ),
];
});
@@ -151,7 +145,7 @@ const mainImage = defn(
),
1
)
- )
+ ),
];
}
);
@@ -191,7 +185,7 @@ if (JS_MODE) {
const eyePos = [
Math.cos(time) * 2.5,
Math.cos(time / 2) * 0.7,
- Math.sin(time) * 2.5
+ Math.sin(time) * 2.5,
];
rt((frag) => fn(frag, size, eyePos, lightDir));
}, 16);
@@ -206,8 +200,8 @@ if (JS_MODE) {
model.shader = shader(ctx, {
vs: (_, __, attribs) => [
defMain(() => [
- assign(GL.gl_Position, vec4(attribs.position, 0, 1))
- ])
+ assign(GL.gl_Position, vec4(attribs.position, 0, 1)),
+ ]),
],
fs: (gl, unis, _, outputs) => [
mainImage,
@@ -220,17 +214,17 @@ if (JS_MODE) {
unis.eyePos,
unis.lightDir
)
- )
- ])
+ ),
+ ]),
],
attribs: {
- position: "vec2"
+ position: "vec2",
},
uniforms: {
eyePos: "vec3",
lightDir: ["vec3", lightDir],
- resolution: ["vec2", [W, H]]
- }
+ resolution: ["vec2", [W, H]],
+ },
});
// compile model (attrib buffers)
compileModel(ctx, model);
@@ -242,7 +236,7 @@ if (JS_MODE) {
model.uniforms!.eyePos = [
Math.cos(time) * 2.5,
Math.cos(time / 2) * 0.7,
- Math.sin(time) * 2.5
+ Math.sin(time) * 2.5,
];
draw(model);
});
diff --git a/examples/shader-ast-sdf2d/src/index.ts b/examples/shader-ast-sdf2d/src/index.ts
index b22191c7ed..c3d5abc16d 100644
--- a/examples/shader-ast-sdf2d/src/index.ts
+++ b/examples/shader-ast-sdf2d/src/index.ts
@@ -14,7 +14,7 @@ import {
vec2,
Vec2Sym,
vec3,
- vec4
+ vec4,
} from "@thi.ng/shader-ast";
import { GLSLVersion, targetGLSL } from "@thi.ng/shader-ast-glsl";
import { canvasRenderer, targetJS } from "@thi.ng/shader-ast-js";
@@ -23,14 +23,9 @@ import {
fit1101,
sdfBox2,
sdfSmoothUnion,
- sdfTriangle2
+ sdfTriangle2,
} from "@thi.ng/shader-ast-stdlib";
-import {
- compileModel,
- draw,
- quad,
- shader
-} from "@thi.ng/webgl";
+import { compileModel, draw, quad, shader } from "@thi.ng/webgl";
// set URL hash to "#2d" to enable JS Canvas2D version
const JS_MODE = location.hash.indexOf("2d") >= 0;
@@ -63,7 +58,7 @@ const scene = defn("float", "scene", ["vec2"], (pos) => {
d1,
sdfSmoothUnion(sdfSmoothUnion(d3, d2, float(0.5)), d1, float(0.5))
),
- ret(d1)
+ ret(d1),
];
});
@@ -85,7 +80,7 @@ const mainImage = defn("vec4", "mainImage", ["vec2", "vec2"], (frag, res) => {
),
1
)
- )
+ ),
];
});
@@ -130,8 +125,8 @@ if (JS_MODE) {
model.shader = shader(ctx, {
vs: (gl, _, attribs) => [
defMain(() => [
- assign(gl.gl_Position, vec4(attribs.position, 0, 1))
- ])
+ assign(gl.gl_Position, vec4(attribs.position, 0, 1)),
+ ]),
],
fs: (gl, unis, _, outs) => [
mainImage,
@@ -139,15 +134,15 @@ if (JS_MODE) {
assign(
outs.fragColor,
mainImage($xy(gl.gl_FragCoord), unis.resolution)
- )
- ])
+ ),
+ ]),
],
attribs: {
- position: "vec2"
+ position: "vec2",
},
uniforms: {
- resolution: ["vec2", [W, H]]
- }
+ resolution: ["vec2", [W, H]],
+ },
});
// compile model (attrib buffers)
compileModel(ctx, model);
diff --git a/examples/shader-ast-tunnel/src/index.ts b/examples/shader-ast-tunnel/src/index.ts
index e05597f4b1..6db478fa0b 100644
--- a/examples/shader-ast-tunnel/src/index.ts
+++ b/examples/shader-ast-tunnel/src/index.ts
@@ -22,16 +22,20 @@ import {
texture,
vec2,
Vec2Sym,
- vec4
+ vec4,
} from "@thi.ng/shader-ast";
import { GLSLVersion, targetGLSL } from "@thi.ng/shader-ast-glsl";
-import { canvasRenderer, JS_DEFAULT_ENV, targetJS } from "@thi.ng/shader-ast-js";
+import {
+ canvasRenderer,
+ JS_DEFAULT_ENV,
+ targetJS,
+} from "@thi.ng/shader-ast-js";
import {
compileModel,
draw,
quad,
shader,
- texture as glTexture
+ texture as glTexture,
} from "@thi.ng/webgl";
import TEX_URL from "../assets/tex.jpg";
@@ -68,7 +72,7 @@ const mainImage = defn(
div(atan(div($y(p), $x(p))), float(Math.PI))
)
)),
- ret(vec4(mul($xyz(texture(tex, uv)), r), float(1)))
+ ret(vec4(mul($xyz(texture(tex, uv)), r), float(1))),
];
}
);
@@ -149,8 +153,8 @@ if (JS_MODE) {
model.shader = shader(ctx, {
vs: (gl, _, attribs) => [
defMain(() => [
- assign(gl.gl_Position, vec4(attribs.position, 0, 1))
- ])
+ assign(gl.gl_Position, vec4(attribs.position, 0, 1)),
+ ]),
],
fs: (gl, unis, _, outs) => [
mainImage,
@@ -163,17 +167,17 @@ if (JS_MODE) {
unis.time,
unis.tex
)
- )
- ])
+ ),
+ ]),
],
attribs: {
- position: "vec2"
+ position: "vec2",
},
uniforms: {
resolution: ["vec2", [W, H]],
time: "float",
- tex: ["sampler2D", 0]
- }
+ tex: ["sampler2D", 0],
+ },
});
model.textures = [glTexture(ctx, { image: tex, filter: ctx.LINEAR })];
diff --git a/examples/shader-ast-workers/src/index.ts b/examples/shader-ast-workers/src/index.ts
index c630415ea4..6587c5edf6 100644
--- a/examples/shader-ast-workers/src/index.ts
+++ b/examples/shader-ast-workers/src/index.ts
@@ -31,7 +31,7 @@ forkJoin({
y1: id * rowsPerSlice,
y2: (id + 1) * rowsPerSlice,
id,
- time
+ time,
}),
// re-join partial results (here, update canvas)
join: (parts) => {
@@ -41,7 +41,7 @@ forkJoin({
time.next(time.deref()! + 0.05);
},
worker: "./worker.js",
- numWorkers: NUM_WORKERS
+ numWorkers: NUM_WORKERS,
});
const updatePixels = (parts: WorkerResult[]) => {
diff --git a/examples/shader-ast-workers/src/worker.ts b/examples/shader-ast-workers/src/worker.ts
index 3a43ac9b4a..0218cc12ed 100644
--- a/examples/shader-ast-workers/src/worker.ts
+++ b/examples/shader-ast-workers/src/worker.ts
@@ -18,7 +18,7 @@ import {
Vec2Sym,
vec3,
Vec3Sym,
- vec4
+ vec4,
} from "@thi.ng/shader-ast";
import { renderPixels, targetJS } from "@thi.ng/shader-ast-js";
import {
@@ -36,15 +36,9 @@ import {
sdfBox3,
sdfRepeat3,
sdfSmoothUnion,
- sdfSphere
+ sdfSphere,
} from "@thi.ng/shader-ast-stdlib";
-import {
- comp,
- map,
- normRange,
- slidingWindow,
- step
-} from "@thi.ng/transducers";
+import { comp, map, normRange, slidingWindow, step } from "@thi.ng/transducers";
import { sma } from "@thi.ng/transducers-stats";
import { NUM_WORKERS, WorkerJob, WorkerResult } from "./api";
@@ -76,7 +70,7 @@ const scene = defn("vec2", "scene", ["vec3"], (pos) => {
),
1
)
- )
+ ),
];
});
@@ -154,7 +148,7 @@ const mainImage = defn(
),
1
)
- )
+ ),
];
}
);
@@ -182,7 +176,7 @@ self.addEventListener("message", (e) => {
[
Math.cos(job.time) * 2.5,
Math.cos(job.time / 2) * 0.7,
- Math.sin(job.time) * 2.5
+ Math.sin(job.time) * 2.5,
],
// light dir
[0.707, 0.707, 0],
diff --git a/examples/svg-barchart/src/index.ts b/examples/svg-barchart/src/index.ts
index 53e192ca6a..cd27828409 100644
--- a/examples/svg-barchart/src/index.ts
+++ b/examples/svg-barchart/src/index.ts
@@ -14,7 +14,7 @@ const mappedRange = (
// syntax sugar to create SVG line
const line = (x1: number, y1: number, x2: number, y2: number) => [
"line",
- { x1, y1, x2, y2 }
+ { x1, y1, x2, y2 },
];
// reusuable axis tick & label combo
@@ -41,7 +41,7 @@ const axisX = ({ axis: a, domain: d, range: r }: any) => [
"g",
{ "text-anchor": "middle" },
line(a[0], a[2], a[1], a[2]),
- mapcat(tickX(a[2]), mappedRange(d[0], d[1], d[2], r[0], r[1]))
+ mapcat(tickX(a[2]), mappedRange(d[0], d[1], d[2], r[0], r[1])),
];
// y-axis with ticks as SVG group
@@ -49,7 +49,7 @@ const axisY = ({ axis: a, domain: d, range: r }: any) => [
"g",
{ "text-anchor": "end" },
line(a[2], a[0], a[2], a[1]),
- mapcat(tickY(a[2]), mappedRange(d[0], d[1], d[2], r[0], r[1]))
+ mapcat(tickY(a[2]), mappedRange(d[0], d[1], d[2], r[0], r[1])),
];
// mapping fn to create a single bar from `[domainPos, value]`
@@ -64,8 +64,8 @@ const bar = (
x: fit(xx, xd[0], xd[1], xr[0], xr[1]) - 5,
y,
width: 10,
- height: yr[0] - y
- }
+ height: yr[0] - y,
+ },
];
};
@@ -74,7 +74,7 @@ const barChart = (_: any, opts: any, values: any) => [
"svg",
opts.attribs,
["g", { stroke: opts.axis, fill: opts.axis }, axisX(opts.x), axisY(opts.y)],
- ["g", { fill: opts.fill }, map(bar(opts.x, opts.y), values)]
+ ["g", { fill: opts.fill }, map(bar(opts.x, opts.y), values)],
];
// one-off DOM creation
@@ -88,23 +88,23 @@ renderOnce([
width: 500,
height: 200,
"font-size": "10px",
- "font-family": "Menlo, sans-serif"
+ "font-family": "Menlo, sans-serif",
},
x: {
axis: [40, 490, 170],
domain: [1980, 2021, 10],
- range: [60, 480]
+ range: [60, 480],
},
y: {
axis: [170, 10, 40],
domain: [0, 101, 25],
- range: [160, 20]
+ range: [160, 20],
},
axis: "#666",
- fill: "#0cc"
+ fill: "#0cc",
},
- map((year) => [year, Math.random() * 100], range(1980, 2020, 2))
- ]
+ map((year) => [year, Math.random() * 100], range(1980, 2020, 2)),
+ ],
]);
if (process.env.NODE_ENV !== "production") {
diff --git a/examples/svg-particles/src/index.ts b/examples/svg-particles/src/index.ts
index 91c4cf3491..e2b06f6c91 100644
--- a/examples/svg-particles/src/index.ts
+++ b/examples/svg-particles/src/index.ts
@@ -27,8 +27,8 @@ const randomParticle = () => {
cx: Math.random() * width,
cy: Math.random() * height,
r: (Math.random() * 6 + 3) | 0,
- fill: "#" + U24((Math.random() * 0x1000000) | 0)
- }
+ fill: "#" + U24((Math.random() * 0x1000000) | 0),
+ },
];
};
@@ -42,7 +42,7 @@ const app = () => {
return [
"svg",
{ width, height, __diff: false, __normalize: false },
- particles
+ particles,
];
};
diff --git a/examples/svg-waveform/src/components/button-group.ts b/examples/svg-waveform/src/components/button-group.ts
index a1e3b0fb2e..023882243f 100644
--- a/examples/svg-waveform/src/components/button-group.ts
+++ b/examples/svg-waveform/src/components/button-group.ts
@@ -5,6 +5,6 @@ export function buttonGroup(ctx: AppContext, ...buttons: any[]) {
return [
"section",
ctx.ui.buttongroup,
- buttons.map((bt) => [button, ...bt])
+ buttons.map((bt) => [button, ...bt]),
];
}
diff --git a/examples/svg-waveform/src/components/event-link.ts b/examples/svg-waveform/src/components/event-link.ts
index a1ae8a523f..d085e6c6f1 100644
--- a/examples/svg-waveform/src/components/event-link.ts
+++ b/examples/svg-waveform/src/components/event-link.ts
@@ -1,7 +1,6 @@
import type { Event } from "@thi.ng/interceptors";
import type { AppContext } from "../api";
-
/**
* Customizable hyperlink component emitting given event on event bus
* when clicked.
@@ -24,8 +23,8 @@ export function eventLink(
onclick: (e: any) => {
e.preventDefault();
ctx.bus.dispatch(event);
- }
+ },
},
- body
+ body,
];
}
diff --git a/examples/svg-waveform/src/components/main.ts b/examples/svg-waveform/src/components/main.ts
index e5da04627a..6c553c82c4 100644
--- a/examples/svg-waveform/src/components/main.ts
+++ b/examples/svg-waveform/src/components/main.ts
@@ -3,7 +3,6 @@ import { sidebar } from "./sidebar";
import { waveform } from "./waveform";
import type { AppContext } from "../api";
-
export function main(ctx: AppContext) {
const bar = sidebar(ctx, ...SLIDERS);
return () => [
@@ -19,7 +18,7 @@ export function main(ctx: AppContext) {
res: 1000,
stroke: "#f04",
fill1: "#f04",
- fill2: "#ff0"
- })
+ fill2: "#ff0",
+ }),
];
}
diff --git a/examples/svg-waveform/src/components/sidebar.ts b/examples/svg-waveform/src/components/sidebar.ts
index 758deffd81..7b4addf784 100644
--- a/examples/svg-waveform/src/components/sidebar.ts
+++ b/examples/svg-waveform/src/components/sidebar.ts
@@ -4,7 +4,6 @@ import { link } from "./link";
import { slider, SliderOpts } from "./slider";
import type { AppContext } from "../api";
-
export function sidebar(ctx: AppContext, ...specs: SliderOpts[]) {
const sliders = specs.map((s) => slider(ctx, s));
return [
@@ -19,7 +18,7 @@ export function sidebar(ctx: AppContext, ...specs: SliderOpts[]) {
["code", "Ctrl+Z"],
" / ",
["code", "Ctrl+Y"],
- ". The last 1000 edits are stored."
+ ". The last 1000 edits are stored.",
],
[
"div",
@@ -27,15 +26,15 @@ export function sidebar(ctx: AppContext, ...specs: SliderOpts[]) {
[
link,
"https://github.com/thi-ng/umbrella/tree/develop/examples/svg-waveform",
- "Source"
+ "Source",
],
["br"],
"Made with ",
[
link,
"https://github.com/thi-ng/umbrella/tree/develop/packages/hdom",
- "@thi.ng/hdom"
- ]
- ]
+ "@thi.ng/hdom",
+ ],
+ ],
];
}
diff --git a/examples/svg-waveform/src/components/slider.ts b/examples/svg-waveform/src/components/slider.ts
index 4991907485..1f7cfdc340 100644
--- a/examples/svg-waveform/src/components/slider.ts
+++ b/examples/svg-waveform/src/components/slider.ts
@@ -29,11 +29,11 @@ export function slider(ctx: AppContext, opts: SliderOpts) {
oninput: (e: Event) =>
ctx.bus.dispatch([
opts.event,
- parseFloat((e.target).value)
+ parseFloat((e.target).value),
]),
min: 0,
max: 100,
- step: 1
+ step: 1,
},
opts
);
@@ -46,8 +46,8 @@ export function slider(ctx: AppContext, opts: SliderOpts) {
...ctx.ui.slider.range,
...opts,
type: "range",
- value: (ctx.views)[opts.view].deref()
- }
+ value: (ctx.views)[opts.view].deref(),
+ },
],
[
"div",
@@ -58,9 +58,9 @@ export function slider(ctx: AppContext, opts: SliderOpts) {
...ctx.ui.slider.number,
...opts,
type: "number",
- value: (ctx.views)[opts.view].deref()
- }
- ]
- ]
+ value: (ctx.views)[opts.view].deref(),
+ },
+ ],
+ ],
];
}
diff --git a/examples/svg-waveform/src/components/waveform.ts b/examples/svg-waveform/src/components/waveform.ts
index 2bd568a211..76d3291558 100644
--- a/examples/svg-waveform/src/components/waveform.ts
+++ b/examples/svg-waveform/src/components/waveform.ts
@@ -1,15 +1,5 @@
-import {
- defs,
- linearGradient,
- polyline,
- svg
-} from "@thi.ng/hiccup-svg";
-import {
- map,
- range,
- reduce,
- reducer
-} from "@thi.ng/transducers";
+import { defs, linearGradient, polyline, svg } from "@thi.ng/hiccup-svg";
+import { map, range, reduce, reducer } from "@thi.ng/transducers";
import type { AppContext } from "../api";
const TAU = Math.PI * 2;
@@ -42,7 +32,11 @@ export function waveform(ctx: AppContext, opts: WaveformOpts) {
"grad",
[0, 0],
[0, 1],
- [[0, opts.fill2], [0.5, opts.fill1], [1, opts.fill2]]
+ [
+ [0, opts.fill2],
+ [0.5, opts.fill1],
+ [1, opts.fill2],
+ ]
)
),
polyline(
@@ -51,16 +45,16 @@ export function waveform(ctx: AppContext, opts: WaveformOpts) {
...map(
(x) => [
x,
- osc(x, phase, fscale, amp, opts.harmonics, opts.hstep)
+ osc(x, phase, fscale, amp, opts.harmonics, opts.hstep),
],
range(opts.res)
),
- [opts.res, 0]
+ [opts.res, 0],
],
{
stroke: opts.stroke,
fill: "url(#grad)",
- "stoke-linejoin": "round"
+ "stoke-linejoin": "round",
}
)
);
diff --git a/examples/svg-waveform/src/config.ts b/examples/svg-waveform/src/config.ts
index 56bfb19307..31ffb264f1 100644
--- a/examples/svg-waveform/src/config.ts
+++ b/examples/svg-waveform/src/config.ts
@@ -16,7 +16,7 @@ export const CONFIG: AppConfig = {
// and only side effect functions execute any "real" work.
// Docs here:
- // https://github.com/thi-ng/umbrella/blob/master/packages/interceptors/src/event-bus.ts#L14
+ // https://github.com/thi-ng/umbrella/blob/develop/packages/interceptors/src/event-bus.ts#L14
events: {
// generate event handlers from imported slider definitions
@@ -32,10 +32,10 @@ export const CONFIG: AppConfig = {
events[spec.event] = [
ensureParamRange(spec.min, spec.max),
snapshot(),
- valueSetter(spec.view)
+ valueSetter(spec.view),
];
return events;
- }, {})
+ }, {}),
},
// custom side effects
@@ -53,7 +53,7 @@ export const CONFIG: AppConfig = {
freq: 3,
harmonics: 20,
hstep: 2,
- phase: 0
+ phase: 0,
},
// derived view declarations
@@ -67,7 +67,7 @@ export const CONFIG: AppConfig = {
freq: "freq",
phase: "phase",
harmonics: "harmonics",
- hstep: "hstep"
+ hstep: "hstep",
},
// component CSS class config using http://tachyons.io/ these
@@ -76,7 +76,7 @@ export const CONFIG: AppConfig = {
ui: {
button: {
class:
- "pointer bg-black hover-bg-blue bg-animate white pa2 mr1 w-100 ttu b tracked-tight"
+ "pointer bg-black hover-bg-blue bg-animate white pa2 mr1 w-100 ttu b tracked-tight",
},
buttongroup: { class: "flex mb2" },
footer: { class: "absolute bottom-1" },
@@ -86,8 +86,8 @@ export const CONFIG: AppConfig = {
slider: {
root: { class: "mb3 ttu b tracked-tight" },
range: { class: "w-100" },
- number: { class: "fr w3 tr ttu bn bg-transparent" }
+ number: { class: "fr w3 tr ttu bn bg-transparent" },
},
- waveform: { class: "w-100 h-100" }
- }
+ waveform: { class: "w-100 h-100" },
+ },
};
diff --git a/examples/svg-waveform/src/effects.ts b/examples/svg-waveform/src/effects.ts
index 69901d8cb0..65dd20a07c 100644
--- a/examples/svg-waveform/src/effects.ts
+++ b/examples/svg-waveform/src/effects.ts
@@ -1,7 +1,7 @@
// best practice tip: define event & effect names as consts or enums
// and avoid hardcoded strings for more safety and easier refactoring
// also see pre-defined event handlers & interceptors in @thi.ng/atom:
-// https://github.com/thi-ng/umbrella/blob/master/packages/interceptors/src/api.ts#L14
+// https://github.com/thi-ng/umbrella/blob/develop/packages/interceptors/src/api.ts#L14
/**
* Effect description
diff --git a/examples/svg-waveform/src/events.ts b/examples/svg-waveform/src/events.ts
index e57f04400e..838e474105 100644
--- a/examples/svg-waveform/src/events.ts
+++ b/examples/svg-waveform/src/events.ts
@@ -3,7 +3,7 @@ import { EV_UNDO, EV_REDO } from "@thi.ng/interceptors";
// best practice tip: define event & effect names as consts or enums
// and avoid hardcoded strings for more safety and easier refactoring
// also see pre-defined event handlers & interceptors in @thi.ng/atom:
-// https://github.com/thi-ng/umbrella/blob/master/packages/interceptors/src/api.ts#L14
+// https://github.com/thi-ng/umbrella/blob/develop/packages/interceptors/src/api.ts#L14
export const SET_AMP = "set-amp";
export const SET_FREQ = "set-freq";
diff --git a/examples/svg-waveform/src/sliders.ts b/examples/svg-waveform/src/sliders.ts
index 48874ac319..646f027aa8 100644
--- a/examples/svg-waveform/src/sliders.ts
+++ b/examples/svg-waveform/src/sliders.ts
@@ -11,7 +11,7 @@ export const SLIDERS = [
label: "frequency",
min: 1,
max: 10,
- step: 0.01
+ step: 0.01,
},
{
event: ev.SET_AMP,
@@ -19,14 +19,14 @@ export const SLIDERS = [
label: "amplitude",
min: 0,
max: 4,
- step: 0.01
+ step: 0.01,
},
{
event: ev.SET_HARMONICS,
view: "harmonics",
label: "harmonics",
min: 1,
- max: 20
+ max: 20,
},
{
event: ev.SET_HSTEP,
@@ -34,6 +34,6 @@ export const SLIDERS = [
label: "h step",
min: 1,
max: 4,
- step: 0.01
- }
+ step: 0.01,
+ },
];
diff --git a/examples/talk-slides/src/components.ts b/examples/talk-slides/src/components.ts
index 55b6e87491..f2625e8539 100644
--- a/examples/talk-slides/src/components.ts
+++ b/examples/talk-slides/src/components.ts
@@ -1,40 +1,40 @@
export const link = (ctx: any, href: string, body?: any) => [
"a",
{ ...ctx.link, href },
- body || href
+ body || href,
];
export const twitterLink = (_: any, username: string) => [
link,
`https://twitter.com/${username}`,
- "@" + username
+ "@" + username,
];
export const navButton = (ctx: any, step: number) => [
"a",
{
...ctx.navButton[step < 0 ? "prev" : "next"],
- onclick: () => ctx.slide.next(step)
+ onclick: () => ctx.slide.next(step),
},
- step < 0 ? "<" : ">"
+ step < 0 ? "<" : ">",
];
export const footer = (ctx: any, ...body: any[]) => [
"footer",
ctx.footer,
- ...body
+ ...body,
];
export const codeBlock = (ctx: any, body: string) => [
"pre",
ctx.code,
- body.trim()
+ body.trim(),
];
export const list = (ctx: any, ...items: any[]) => [
"ul",
ctx.list,
- ...items.map((i) => ["li", i])
+ ...items.map((i) => ["li", i]),
];
export const titlePage = (
@@ -46,7 +46,7 @@ export const titlePage = (
"div",
{
...ctx.titlePage.root,
- class: `${ctx.titlePage.root.class} ${clazz}`
+ class: `${ctx.titlePage.root.class} ${clazz}`,
},
[
"div",
@@ -54,23 +54,23 @@ export const titlePage = (
[
"div",
["h1", ctx.titlePage.title, title],
- ["div", ctx.titlePage.body, ...body]
- ]
- ]
+ ["div", ctx.titlePage.body, ...body],
+ ],
+ ],
];
export const contentPage = (ctx: any, title: string, ...body: any[]) => [
"div",
ctx.contentPage.root,
["h2", ctx.contentPage.title, title],
- ["div", ctx.contentPage.body, ...body]
+ ["div", ctx.contentPage.body, ...body],
];
export const quotePage = (ctx: any, quote: any[], author: string) => [
"div",
ctx.quotePage.root,
["div", ctx.quotePage.quote, ...quote.map((x) => ["div", x])],
- ["div", ctx.quotePage.author, `β ${author}`]
+ ["div", ctx.quotePage.author, `β ${author}`],
];
export const bgImagePage = (
@@ -85,16 +85,16 @@ export const bgImagePage = (
style: {
"background-image": `url(${src})`,
"background-size": "cover",
- "background-position": "center"
- }
+ "background-position": "center",
+ },
},
- ...extra
+ ...extra,
];
export const imagePage = (ctx: any, clazz: string, src: string) => [
"div",
{ ...ctx.imagePage.root, class: `${ctx.imagePage.root.class} ${clazz}` },
- ["div.w-100", ["img", { ...ctx.imagePage.img, src }]]
+ ["div.w-100", ["img", { ...ctx.imagePage.img, src }]],
];
export const ytVideo = (ctx: any, id: string) => [
@@ -105,17 +105,17 @@ export const ytVideo = (ctx: any, id: string) => [
...ctx.youtube,
src: `https://www.youtube.com/embed/${id}?rel=0&showinfo=0`,
frameborder: 0,
- allowfullscreen: true
- }
+ allowfullscreen: true,
+ },
],
[navButton, -1],
- [navButton, 1]
+ [navButton, 1],
];
export const app = (slideCount: number, ctx: any) => ({
slideID,
content,
- time
+ time,
}: any) => [
"div",
ctx.app.root,
@@ -124,11 +124,11 @@ export const app = (slideCount: number, ctx: any) => ({
footer,
["div.w-33.tl", ctx.app.credits],
["div.w-34.tc", time],
- ["div.w-33.tr", `${slideID} / ${slideCount - 1}`]
- ]
+ ["div.w-33.tr", `${slideID} / ${slideCount - 1}`],
+ ],
];
export const printApp = (ctx: any, slides: any[]) => [
"div",
- ...slides.map((content) => ["div.slide", ctx.app.root, content])
+ ...slides.map((content) => ["div.slide", ctx.app.root, content]),
];
diff --git a/examples/talk-slides/src/config.ts b/examples/talk-slides/src/config.ts
index 85cf93ba8b..b23bbc485f 100644
--- a/examples/talk-slides/src/config.ts
+++ b/examples/talk-slides/src/config.ts
@@ -5,7 +5,7 @@ export const ctx: any = {
// theme attribs for various components
app: {
root: { class: "w-100 vh-100 sans-serif bg-lightest-blue" },
- credits: "ClojureX 2018"
+ credits: "ClojureX 2018",
},
footer: { class: "fixed bottom-1 f7 gray flex w-100 ph5 noprint" },
@@ -16,13 +16,13 @@ export const ctx: any = {
prev: {
class:
"fixed top-50 left-0 z-999 pa3 bg-black white link f3 noprint",
- href: "#"
+ href: "#",
},
next: {
class:
"fixed top-50 right-0 z-999 pa3 bg-black white link f3 noprint",
- href: "#"
- }
+ href: "#",
+ },
},
code: { class: "pa3 f3 bg-dark-blue white code" },
@@ -31,19 +31,19 @@ export const ctx: any = {
root: { class: "flex items-center vh-100" },
wrapper: { class: "tc w-100" },
title: { class: "f-headline lh-title ma0" },
- body: { class: "f2 lh-copy" }
+ body: { class: "f2 lh-copy" },
},
contentPage: {
root: { class: "pa5" },
title: { class: "ma0 f-subheadline" },
- body: { class: "mt3 f2 lh-copy" }
+ body: { class: "mt3 f2 lh-copy" },
},
quotePage: {
root: { class: "vh-100 pa5 bg-yellow" },
quote: { class: "georgia f1 lh-copy measure-narrow i" },
- author: { class: "mt3 f2" }
+ author: { class: "mt3 f2" },
},
bgImagePage: { class: "vh-100 pa5 f2 lh-copy" },
@@ -52,11 +52,11 @@ export const ctx: any = {
root: { class: "vh-100 flex items-center tc" },
img: {
class: "mw-100",
- style: { "max-height": "90vh" }
- }
+ style: { "max-height": "90vh" },
+ },
},
youtube: {
- class: "w-100 vh-100 bg-black"
- }
+ class: "w-100 vh-100 bg-black",
+ },
};
diff --git a/examples/talk-slides/src/index.ts b/examples/talk-slides/src/index.ts
index 1c6ef7735c..afdab73135 100644
--- a/examples/talk-slides/src/index.ts
+++ b/examples/talk-slides/src/index.ts
@@ -5,16 +5,10 @@ import {
fromInterval,
stream,
Stream,
- sync
+ sync,
} from "@thi.ng/rstream";
import { padLeft } from "@thi.ng/strings";
-import {
- dedupe,
- map,
- reducer,
- scan,
- sideEffect
-} from "@thi.ng/transducers";
+import { dedupe, map, reducer, scan, sideEffect } from "@thi.ng/transducers";
import { updateDOM } from "@thi.ng/transducers-hdom";
import { app, printApp } from "./components";
import { ctx } from "./config";
@@ -66,8 +60,8 @@ const main = sync({
content: slideID.transform(map((id: number) => SLIDES[id])),
time: fromInterval(1000).transform(
map((x: number) => `${D2((x / 60) | 0)}:${D2(x % 60)}`)
- )
- }
+ ),
+ },
});
if (INTERACTIVE) {
diff --git a/examples/talk-slides/src/slides.ts b/examples/talk-slides/src/slides.ts
index 51d90f5f9d..c1a65a6c88 100644
--- a/examples/talk-slides/src/slides.ts
+++ b/examples/talk-slides/src/slides.ts
@@ -8,7 +8,7 @@ import {
quotePage,
titlePage,
twitterLink,
- ytVideo
+ ytVideo,
} from "./components";
// each item in this array is an hdom tree of a single slide
@@ -22,7 +22,7 @@ export const SLIDES: any[] = [
["br"],
[twitterLink, "toxi"],
["br"],
- [twitterLink, "thing_umbrella"]
+ [twitterLink, "thing_umbrella"],
],
[
@@ -33,7 +33,7 @@ export const SLIDES: any[] = [
["br"],
[twitterLink, "toxi"],
["br"],
- [twitterLink, "thing_umbrella"]
+ [twitterLink, "thing_umbrella"],
],
[
@@ -44,7 +44,7 @@ export const SLIDES: any[] = [
["br"],
[twitterLink, "toxi"],
["br"],
- [twitterLink, "thing_umbrella"]
+ [twitterLink, "thing_umbrella"],
],
[
@@ -55,7 +55,7 @@ export const SLIDES: any[] = [
["br"],
[twitterLink, "toxi"],
["br"],
- [twitterLink, "thing_umbrella"]
+ [twitterLink, "thing_umbrella"],
],
[
@@ -66,7 +66,7 @@ export const SLIDES: any[] = [
["br"],
[twitterLink, "toxi"],
["br"],
- [twitterLink, "thing_umbrella"]
+ [twitterLink, "thing_umbrella"],
],
[
@@ -74,7 +74,7 @@ export const SLIDES: any[] = [
"What brought you to Clojure?",
[
"small",
- "Filling in this pre-meeting questionnaire is mandatory! Answers will be reviewed during session."
+ "Filling in this pre-meeting questionnaire is mandatory! Answers will be reviewed during session.",
],
[
list,
@@ -86,8 +86,8 @@ export const SLIDES: any[] = [
"Hosted / x-platform",
"Amount & clarity of thought",
"Transducers, core.async, clojure.spec",
- "Gateway to various awesome tools / concepts"
- ]
+ "Gateway to various awesome tools / concepts",
+ ],
],
[
@@ -104,8 +104,8 @@ export const SLIDES: any[] = [
"Chris Granger",
"Anthony Grimes (R.I.P.)",
"Christophe Grand",
- ["strong", "...all of you!"]
- ]
+ ["strong", "...all of you!"],
+ ],
],
[
@@ -118,8 +118,8 @@ export const SLIDES: any[] = [
"1995 - 2011 : C89, Java, JavaScript, Lingo, ActionScript, Processing",
"1995 - 1997 : Scheme, Common Lisp",
"2011 - 2017 : Clojure/script, C11, Forth, ARM",
- "2016 - ... : TypeScript, C11, Go, Clojurescript"
- ]
+ "2016 - ... : TypeScript, C11, Go, Clojurescript",
+ ],
],
[
@@ -131,15 +131,15 @@ export const SLIDES: any[] = [
["li.transition.red", "1988 - 1994 : Z80 / 6502 assembly, Forth"],
[
"li",
- "1995 - 2011 : C89, Java, JavaScript, Lingo, ActionScript, Processing"
+ "1995 - 2011 : C89, Java, JavaScript, Lingo, ActionScript, Processing",
],
["li", "1995 - 1997 : Scheme, Common Lisp"],
[
"li.transition.red",
- "2011 - 2017 : Clojure/script, C11, Forth, ARM"
+ "2011 - 2017 : Clojure/script, C11, Forth, ARM",
],
- ["li", "2016 - ... : TypeScript, C11, Go, Clojurescript"]
- ]
+ ["li", "2016 - ... : TypeScript, C11, Go, Clojurescript"],
+ ],
],
[
@@ -151,12 +151,12 @@ export const SLIDES: any[] = [
["li.transition", "1988 - 1994 : Z80 / 6502 assembly, Forth"],
[
"li.transition.red",
- "1995 - 2011 : C89, Java, JavaScript, Lingo, ActionScript, Processing"
+ "1995 - 2011 : C89, Java, JavaScript, Lingo, ActionScript, Processing",
],
["li", "1995 - 1997 : Scheme, Common Lisp"],
["li.transition", "2011 - 2017 : Clojure/script, C11, Forth, ARM"],
- ["li", "2016 - ... : TypeScript, C11, Go, Clojurescript"]
- ]
+ ["li", "2016 - ... : TypeScript, C11, Go, Clojurescript"],
+ ],
],
[contentPage, "And so it begins..."],
@@ -178,8 +178,8 @@ export const SLIDES: any[] = [
"Data visualization (SVG / WebGL / rendered)",
"Declarative WebGL, OpenGL & GPGPU/OpenCL wrappers",
"Linked data / graph tools, query engines, SPARQL-like DSLs",
- "Monthly workshops (2015 - 2016)"
- ]
+ "Monthly workshops (2015 - 2016)",
+ ],
],
[titlePage, "bg-black white", "Exponential Growth"],
@@ -191,13 +191,16 @@ export const SLIDES: any[] = [
[
contentPage,
"Gyroid formula",
- [codeBlock, `g(x, y, z) = abs(dot(cos([x y z]), sin([z x y])))`]
+ [codeBlock, `g(x, y, z) = abs(dot(cos([x y z]), sin([z x y])))`],
],
[
contentPage,
"Gyroid formula",
- [codeBlock, `g(x, y, z) = abs(cosx * sinz + cosy * sinx + cosz * siny)`]
+ [
+ codeBlock,
+ `g(x, y, z) = abs(cosx * sinz + cosy * sinx + cosz * siny)`,
+ ],
],
[
@@ -217,8 +220,8 @@ export const SLIDES: any[] = [
(defn gyroid
[[x y z] t]
"Evaluates gyroid function at point p and subtracts iso threshold t."
- (- (abs-gyroid-sum x y z) t))`
- ]
+ (- (abs-gyroid-sum x y z) t))`,
+ ],
],
[
@@ -234,34 +237,34 @@ export const SLIDES: any[] = [
(+ (* (Math/cos x) (Math/sin z))
(* (Math/cos y) (Math/sin x))
(* (Math/cos z) (Math/sin y))))
- t))`
+ t))`,
],
- "Now evaluate for each XYZ cell in a volumetric grid..."
+ "Now evaluate for each XYZ cell in a volumetric grid...",
],
[
bgImagePage,
"bg-black",
"./assets/svo/0000.jpg",
- ["div.f1.gray", "2", ["sup", "3", ["sup", 3]], ["br"], "8 x 8 x 8"]
+ ["div.f1.gray", "2", ["sup", "3", ["sup", 3]], ["br"], "8 x 8 x 8"],
],
[
bgImagePage,
"bg-black",
"./assets/svo/0001.jpg",
- ["div.f1.gray", "2", ["sup", "4", ["sup", 3]], ["br"], "16 x 16 x 16"]
+ ["div.f1.gray", "2", ["sup", "4", ["sup", 3]], ["br"], "16 x 16 x 16"],
],
[
bgImagePage,
"bg-black",
"./assets/svo/0002.jpg",
- ["div.f1.gray", "2", ["sup", "5", ["sup", 3]], ["br"], "32 x 32 x 32"]
+ ["div.f1.gray", "2", ["sup", "5", ["sup", 3]], ["br"], "32 x 32 x 32"],
],
[
bgImagePage,
"bg-black",
"./assets/svo/0003.jpg",
- ["div.f1.gray", "2", ["sup", "6", ["sup", 3]], ["br"], "64 x 64 x 64"]
+ ["div.f1.gray", "2", ["sup", "6", ["sup", 3]], ["br"], "64 x 64 x 64"],
],
[
bgImagePage,
@@ -272,8 +275,8 @@ export const SLIDES: any[] = [
"2",
["sup", "7", ["sup", 3]],
["br"],
- "128 x 128 x 128"
- ]
+ "128 x 128 x 128",
+ ],
],
[
bgImagePage,
@@ -284,8 +287,8 @@ export const SLIDES: any[] = [
"2",
["sup", "8", ["sup", 3]],
["br"],
- "256 x 256 x 256"
- ]
+ "256 x 256 x 256",
+ ],
],
[
bgImagePage,
@@ -296,8 +299,8 @@ export const SLIDES: any[] = [
"2",
["sup", "9", ["sup", 3]],
["br"],
- "512 x 512 x 512"
- ]
+ "512 x 512 x 512",
+ ],
],
[
bgImagePage,
@@ -308,8 +311,8 @@ export const SLIDES: any[] = [
"2",
["sup", "10", ["sup", 3]],
["br"],
- "(1+ billion samples!)"
- ]
+ "(1+ billion samples!)",
+ ],
],
[bgImagePage, "bg-black", "./assets/svo/0008.jpg"],
[bgImagePage, "bg-black", "./assets/svo/0009.jpg"],
@@ -345,7 +348,7 @@ export const SLIDES: any[] = [
[
link,
"http://www.chilton-computing.org.uk/acl/literature/books/gamesplaying/p004.htm",
- "chilton-computing.org.uk/acl/literature/books/gamesplaying/"
+ "chilton-computing.org.uk/acl/literature/books/gamesplaying/",
],
[
codeBlock,
@@ -365,8 +368,8 @@ begin
next i: end;
copy next generation into this generation;
goto loop;
-end;`
- ]
+end;`,
+ ],
],
[imagePage, "bg-black", "./assets/holo/0001.jpg"],
@@ -387,8 +390,8 @@ end;`
[
(+ (Math/sin (* a y)) (Math/cos (* (* b x) x)))
(+ (Math/sin (* (* c x) x)) (Math/cos (* d y)))
- ])`
- ]
+ ])`,
+ ],
],
[imagePage, "bg-black", "./assets/lcom/0000.jpg"],
@@ -414,8 +417,8 @@ end;`
["code", "f-f-f-fs"],
["code", "f-f-f-ff-f-f-fs"],
["code", "f-f-f-ff-f-f-ff-f-f-fs"],
- " etc."
- ]
+ " etc.",
+ ],
],
[
@@ -436,8 +439,8 @@ end;`
{
:fwd [:fwd], :left [:left], :right [:right]
:push [:push], :pop [:pop]
- })`
- ]
+ })`,
+ ],
],
[
@@ -452,8 +455,8 @@ end;`
(replace valid-syms src))
(parse "-yf+xfx+fy-")
-; (:left :y :fwd :right :x :fwd :x :right :fwd :y :left)`
- ]
+; (:left :y :fwd :right :x :fwd :x :right :fwd :y :left)`,
+ ],
],
[
@@ -475,8 +478,8 @@ end;`
last))
(def rules
- {:x (parse "-yf+xfx+fy-") :y (parse "+xf-yfy-fx+") :start [:x]})`
- ]
+ {:x (parse "-yf+xfx+fy-") :y (parse "+xf-yfy-fx+") :start [:x]})`,
+ ],
],
[
@@ -499,8 +502,8 @@ end;`
; :fwd :x :right :left)
(count (expand-with rules 10))
-; 218451`
- ]
+; 218451`,
+ ],
],
[bgImagePage, "bg-black", "./assets/morphogen/20140925-desertrose.jpg"],
@@ -540,18 +543,18 @@ end;`
[
`βI still believe in abstraction, but now I know that one ends with
abstraction, not starts with it. I learned that one has to adapt
- abstractions to reality and not the other way around.β`
+ abstractions to reality and not the other way around.β`,
],
- "βAlexander Stepanov"
+ "βAlexander Stepanov",
],
[
quotePage,
[
`"I'm never bored by simplicity. Show me a simpler way to do anything
- that I'm doing. I will jump on it."`
+ that I'm doing. I will jump on it."`,
],
- "Charles Moore"
+ "Charles Moore",
],
[
@@ -568,8 +571,8 @@ end;`
"Transducers, core.async, clojure.spec",
"Amount & quality of innovation",
"Maturity / Community",
- "Gateway to various awesome tools / concepts"
- ]
+ "Gateway to various awesome tools / concepts",
+ ],
],
[
@@ -586,20 +589,23 @@ end;`
["li.transition.o-0", "Transducers, core.async, clojure.spec"],
["li.transition.o-0", "Amount & quality of innovation"],
["li", "Maturity / Community"],
- ["li.transition.o-0", "Gateway to various awesome tools / concepts"]
- ]
+ [
+ "li.transition.o-0",
+ "Gateway to various awesome tools / concepts",
+ ],
+ ],
],
[
quotePage,
[`"Weeks of coding can save you`, `hours of planning."`],
- "Unknown"
+ "Unknown",
],
[
quotePage,
[`"Weeks of planning can save you`, `hours of coding."`],
- "Unknown"
+ "Unknown",
],
[
@@ -614,8 +620,8 @@ end;`
"Implementation effort of custom datatypes",
"Have to resort to macros to work around quirks / achieve DRY",
`Effort vs. gain unpredictable/unacceptable (IMHO)`,
- `Protocol discrepancies between CLJ/CLJS`
- ]
+ `Protocol discrepancies between CLJ/CLJS`,
+ ],
],
[
@@ -630,17 +636,17 @@ end;`
"Tree editing (GA/GP, spatial accel etc.)",
"Media processing",
"Web workers (e.g. w/ SharedArrayBuffer)",
- "GPU / hardware / low-level interop (e.g. WASM)"
+ "GPU / hardware / low-level interop (e.g. WASM)",
],
- ["div.f4", ["sup", "*"], "realtime"]
+ ["div.f4", ["sup", "*"], "realtime"],
],
[
quotePage,
[
- `"I would guess that most computers don't compute, they move bytes around."`
+ `"I would guess that most computers don't compute, they move bytes around."`,
],
- "Charles Moore"
+ "Charles Moore",
],
[titlePage, "bg-black white", "CLJ(S) vs ES6"],
@@ -649,7 +655,7 @@ end;`
contentPage,
"Multi-methods (CLJS)",
"Vector addition",
- [codeBlock, `(defmulti vadd (fn [a b] (count a)))`]
+ [codeBlock, `(defmulti vadd (fn [a b] (count a)))`],
],
[
@@ -664,8 +670,8 @@ end;`
[(+ (a 0) (b 0)) (+ (a 1) (b 1))])
(time (dotimes [i 1e7] (vadd [1 2] [10 20])))
-; "Elapsed time: 3362.786341 msecs"`
- ]
+; "Elapsed time: 3362.786341 msecs"`,
+ ],
],
[
@@ -680,8 +686,8 @@ end;`
[(+ (a 0) (b 0)) (+ (a 1) (b 1)) (+ (a 2) (b 2))])
(time (dotimes [i 1e7] (vadd [1 2 3] [10 20 30])))
-; "Elapsed time: 3942.254367 msecs"`
- ]
+; "Elapsed time: 3942.254367 msecs"`,
+ ],
],
[
@@ -696,9 +702,9 @@ end;`
#js [(+ (aget a 0) (aget b 0)) (+ (aget a 1) (aget b 1))])
(time (dotimes [i 1e7] (vadd #js [1 2] #js [10 20])))
-; "Elapsed time: 1905.684968 msecs"`
+; "Elapsed time: 1905.684968 msecs"`,
],
- "~1.8x faster, but brittle solution"
+ "~1.8x faster, but brittle solution",
],
[
@@ -713,8 +719,8 @@ end;`
(mapv (fn [aa bb] (+ aa bb)) a b))
(time (dotimes [i 1e7] (add [1 2 3 4 5 6 7 8] [1 2 3 4 5 6 7 8])))
-; "Elapsed time: 36108.277508 msecs"`
- ]
+; "Elapsed time: 36108.277508 msecs"`,
+ ],
],
[
@@ -732,9 +738,9 @@ end;`
(persistent! acc))))
(time (dotimes [i 1e7] (add [1 2 3 4 5 6 7 8] [1 2 3 4 5 6 7 8])))
-; "Elapsed time: 15168.490184 msecs"`
+; "Elapsed time: 15168.490184 msecs"`,
],
- "2.4x faster, but hardly idiomatic"
+ "2.4x faster, but hardly idiomatic",
],
[
@@ -750,8 +756,8 @@ vadd = defmulti((a, b) => a.length);
vadd.add(2, (a, b) => [a[0] + b[0], a[1] + b[1]]);
b.bench(() => vadd([1, 2], [10, 20]), 1e7);
-// 544ms`
- ]
+// 544ms`,
+ ],
],
[
@@ -764,9 +770,9 @@ b.bench(() => vadd([1, 2], [10, 20]), 1e7);
vadd.add(3, (a, b) => [a[0] + b[0], a[1] + b[1], a[2] + b[2]])
bench(() => vadd([1, 2, 3], [10, 20, 30]), 1e7)
-// 584ms`
+// 584ms`,
],
- "6x faster"
+ "6x faster",
],
[
@@ -779,10 +785,10 @@ bench(() => vadd([1, 2, 3], [10, 20, 30]), 1e7)
vadd.add(DEFAULT, (a, b) => a.map((a, i) => a + b[i]))
bench(() => add([1, 2, 3, 4, 5, 6, 7, 8], [1, 2, 3, 4, 5, 6, 7, 8]), 1e7)
-// 698ms`
+// 698ms`,
],
["div", "only ~100ms more than Vec3"],
- ["div", "50x faster than idiomatic CLJS"]
+ ["div", "50x faster than idiomatic CLJS"],
],
[titlePage, "", [link, "http://thi.ng/umbrella", "thi.ng/umbrella"]],
@@ -793,9 +799,9 @@ bench(() => add([1, 2, 3, 4, 5, 6, 7, 8], [1, 2, 3, 4, 5, 6, 7, 8]), 1e7)
`"Society created institutions in order to serve society.
[...] these institutions have all become counterproductive
to their original intent because they now exist to benefit
-themselves rather than the betterment of society."`
+themselves rather than the betterment of society."`,
],
- "Ivan Illich"
+ "Ivan Illich",
],
[
@@ -808,6 +814,6 @@ themselves rather than the betterment of society."`
["br"],
[link, "https://medium.com/@thi.ng", "medium.com/@thi.ng"],
["br"],
- ["p.blue", "media.thi.ng/2018/talks/clojurex/"]
- ]
+ ["p.blue", "media.thi.ng/2018/talks/clojurex/"],
+ ],
];
diff --git a/examples/text-canvas/src/index.ts b/examples/text-canvas/src/index.ts
index fb133d8614..19229a5397 100644
--- a/examples/text-canvas/src/index.ts
+++ b/examples/text-canvas/src/index.ts
@@ -1,16 +1,5 @@
-import {
- add,
- osc,
- saw,
- sin
-} from "@thi.ng/dsp";
-import {
- aabb,
- center,
- rect,
- Rect,
- vertices
-} from "@thi.ng/geom";
+import { add, osc, saw, sin } from "@thi.ng/dsp";
+import { aabb, center, rect, Rect, vertices } from "@thi.ng/geom";
import {
concat,
lookAt,
@@ -18,7 +7,7 @@ import {
project3,
rotationX44,
rotationY44,
- viewport
+ viewport,
} from "@thi.ng/matrices";
import {
beginClip,
@@ -33,7 +22,7 @@ import {
FG_YELLOW,
FMT_HTML_TACHYONS,
line,
- toString
+ toString,
} from "@thi.ng/text-canvas";
import { add3 } from "@thi.ng/vectors";
@@ -57,7 +46,7 @@ const edges = [
[0, 4],
[1, 5],
[2, 6],
- [3, 7]
+ [3, 7],
];
// animated parameters
@@ -78,7 +67,7 @@ const instances = [
[0, -1, 0],
[0, 1, 0],
[0, 0, -1],
- [0, 0, 1]
+ [0, 0, 1],
];
const root = document.getElementById("app");
diff --git a/examples/todo-list/src/index.ts b/examples/todo-list/src/index.ts
index e0c7f17e59..52560262fb 100644
--- a/examples/todo-list/src/index.ts
+++ b/examples/todo-list/src/index.ts
@@ -1,9 +1,4 @@
-import {
- defAtom,
- defCursor,
- defHistory,
- defView
-} from "@thi.ng/atom";
+import { defAtom, defCursor, defHistory, defView } from "@thi.ng/atom";
import { start } from "@thi.ng/hdom";
import { map, pairs } from "@thi.ng/transducers";
import type { IObjectOf } from "@thi.ng/api";
diff --git a/examples/transducers-hdom/src/index.ts b/examples/transducers-hdom/src/index.ts
index 38bf96e4de..d85839e795 100644
--- a/examples/transducers-hdom/src/index.ts
+++ b/examples/transducers-hdom/src/index.ts
@@ -14,8 +14,8 @@ const app = ({ ticks, clicks }: any) => [
[
"a.link.white.bb.bw1",
{ href: "#", onclick: () => clickStream.next(0) },
- `${clicks} clicks`
- ]
+ `${clicks} clicks`,
+ ],
],
[
"div",
@@ -23,12 +23,12 @@ const app = ({ ticks, clicks }: any) => [
"a.link.white",
{
href:
- "https://github.com/thi-ng/umbrella/tree/develop/examples/transducers-hdom/"
+ "https://github.com/thi-ng/umbrella/tree/develop/examples/transducers-hdom/",
},
- "Source code"
- ]
- ]
- ]
+ "Source code",
+ ],
+ ],
+ ],
];
// click stream (click counter)
@@ -41,10 +41,10 @@ sync({
// streams to synchronize
src: {
ticks: fromInterval(1000),
- clicks: clickStream
+ clicks: clickStream,
},
// only synchronize at first (default)
- reset: false
+ reset: false,
}).transform(
// transform into hdom component
map(app),
diff --git a/examples/triple-query/src/components/button-group.ts b/examples/triple-query/src/components/button-group.ts
index a1e3b0fb2e..023882243f 100644
--- a/examples/triple-query/src/components/button-group.ts
+++ b/examples/triple-query/src/components/button-group.ts
@@ -5,6 +5,6 @@ export function buttonGroup(ctx: AppContext, ...buttons: any[]) {
return [
"section",
ctx.ui.buttongroup,
- buttons.map((bt) => [button, ...bt])
+ buttons.map((bt) => [button, ...bt]),
];
}
diff --git a/examples/triple-query/src/components/event-link.ts b/examples/triple-query/src/components/event-link.ts
index a1ae8a523f..d085e6c6f1 100644
--- a/examples/triple-query/src/components/event-link.ts
+++ b/examples/triple-query/src/components/event-link.ts
@@ -1,7 +1,6 @@
import type { Event } from "@thi.ng/interceptors";
import type { AppContext } from "../api";
-
/**
* Customizable hyperlink component emitting given event on event bus
* when clicked.
@@ -24,8 +23,8 @@ export function eventLink(
onclick: (e: any) => {
e.preventDefault();
ctx.bus.dispatch(event);
- }
+ },
},
- body
+ body,
];
}
diff --git a/examples/triple-query/src/components/main.ts b/examples/triple-query/src/components/main.ts
index 763327ac72..12f4bae613 100644
--- a/examples/triple-query/src/components/main.ts
+++ b/examples/triple-query/src/components/main.ts
@@ -11,9 +11,9 @@ export function main(ctx: AppContext) {
triples,
ctx.views.pagedTriples.deref(),
ctx.store.triples.length,
- ctx.views.page.deref()
+ ctx.views.page.deref(),
],
[queryResults, "Cities", ctx.views.cities.deref()],
- [queryResults, "Countries", ctx.views.countries.deref()]
+ [queryResults, "Countries", ctx.views.countries.deref()],
];
}
diff --git a/examples/triple-query/src/components/query-results.ts b/examples/triple-query/src/components/query-results.ts
index 73f951cdbd..0669bc1ffa 100644
--- a/examples/triple-query/src/components/query-results.ts
+++ b/examples/triple-query/src/components/query-results.ts
@@ -22,8 +22,8 @@ export const queryResults = (
mapIndexed(
(i, x) => [i + 1, ...map((k: string) => x[k], keys)],
results
- )
- ]
+ ),
+ ],
];
}
};
diff --git a/examples/triple-query/src/components/table.ts b/examples/triple-query/src/components/table.ts
index 49c2bc6f4b..51d949ce3f 100644
--- a/examples/triple-query/src/components/table.ts
+++ b/examples/triple-query/src/components/table.ts
@@ -4,7 +4,7 @@ import type { AppContext } from "../api";
const row = (ctx: AppContext, body: Iterable) => [
"tr",
ctx.ui.table.row,
- ...body
+ ...body,
];
export const table = (
@@ -20,5 +20,5 @@ export const table = (
map(
(cols: any) => [row, map((x) => ["td", ctx.ui.table.cell, x], cols)],
body
- )
+ ),
];
diff --git a/examples/triple-query/src/components/triple-table.ts b/examples/triple-query/src/components/triple-table.ts
index 0afd9b9c01..5b160eeabf 100644
--- a/examples/triple-query/src/components/triple-table.ts
+++ b/examples/triple-query/src/components/triple-table.ts
@@ -14,11 +14,11 @@ export const tripleTable = () => {
button,
[SET_PAGE, i],
label,
- disabled
+ disabled,
],
groupPrev: (ctx, ...bts) => ["div", ctx.ui.pager.prev, ...bts],
groupNext: (ctx, ...bts) => ["div", ctx.ui.pager.next, ...bts],
- groupPages: (ctx, bts) => ["div", ctx.ui.pager.pages, bts]
+ groupPages: (ctx, bts) => ["div", ctx.ui.pager.pages, bts],
});
return (ctx: AppContext, triples: any[], num: number, page: number) => {
const [sid, sdir] = ctx.views.sort.deref()!;
@@ -36,12 +36,12 @@ export const tripleTable = () => {
eventLink,
ctx.ui.table.headlink,
[SET_SORT, i],
- `${x} ${sid === i ? icon : ""}`
- ])
+ `${x} ${sid === i ? icon : ""}`,
+ ]),
],
- triples
+ triples,
],
- [_pager, page, num, PAGE_LEN, 5]
+ [_pager, page, num, PAGE_LEN, 5],
];
};
};
diff --git a/examples/triple-query/src/config.ts b/examples/triple-query/src/config.ts
index dcbd44a369..6f510f8ed8 100644
--- a/examples/triple-query/src/config.ts
+++ b/examples/triple-query/src/config.ts
@@ -13,7 +13,7 @@ export const CONFIG: AppConfig = {
// and only side effect functions execute any "real" work.
// Docs here:
- // https://github.com/thi-ng/umbrella/blob/master/packages/interceptors/src/event-bus.ts#L14
+ // https://github.com/thi-ng/umbrella/blob/develop/packages/interceptors/src/event-bus.ts#L14
events: EVENTS,
@@ -30,7 +30,7 @@ export const CONFIG: AppConfig = {
initialState: {
page: 0,
pagedTriples: [],
- sort: [0, false]
+ sort: [0, false],
},
// derived view declarations
@@ -44,7 +44,7 @@ export const CONFIG: AppConfig = {
pagedTriples: "pagedTriples",
cities: "queries.cities",
countries: "queries.countries",
- sort: "sort"
+ sort: "sort",
},
// component CSS class config using http://tachyons.io/ these
@@ -53,10 +53,10 @@ export const CONFIG: AppConfig = {
ui: {
button: {
class:
- "pointer bg-black hover-bg-blue bg-animate white pa2 mr1 w-100 ttu b tracked-tight noselect"
+ "pointer bg-black hover-bg-blue bg-animate white pa2 mr1 w-100 ttu b tracked-tight noselect",
},
buttonDisabled: {
- class: "bg-gray white pa2 mr1 w-100 ttu b tracked-tight noselect"
+ class: "bg-gray white pa2 mr1 w-100 ttu b tracked-tight noselect",
},
buttongroup: { class: "flex mb2" },
link: { class: "pointer link dim black b" },
@@ -66,14 +66,14 @@ export const CONFIG: AppConfig = {
head: { class: "tl pv2 ph3 bg-black white" },
headlink: { class: "pointer white" },
row: { class: "striped--light-gray" },
- cell: { class: "pv2 ph3" }
+ cell: { class: "pv2 ph3" },
},
pager: {
root: { class: "w-100 mt3 f7 tc" },
prev: { class: "fl mr3" },
next: { class: "fr ml3" },
- pages: { class: "dib" }
- }
+ pages: { class: "dib" },
+ },
},
data: {
@@ -89,7 +89,7 @@ export const CONFIG: AppConfig = {
["sΓ£o paulo", "br"],
["shanghai", "cn"],
["tokyo", "jp"],
- ["toronto", "ca"]
+ ["toronto", "ca"],
],
countries: [
["au", "australia", "oceania"],
@@ -103,7 +103,7 @@ export const CONFIG: AppConfig = {
["jp", "japan", "asia"],
["za", "south africa", "africa"],
["nz", "new zealand", "oceania"],
- ["us", "united states", "north-america"]
+ ["us", "united states", "north-america"],
],
regions: [
"africa",
@@ -114,7 +114,7 @@ export const CONFIG: AppConfig = {
"north-america",
"oceania",
"south-america",
- "caribbean"
+ "caribbean",
],
queries: {
cities: {
@@ -125,11 +125,11 @@ export const CONFIG: AppConfig = {
["?city", "locatedIn", "?cid"],
["?cid", "type", "country"],
["?cid", "name", "?country"],
- ["?cid", "partOf", "?region"]
- ]
- }
+ ["?cid", "partOf", "?region"],
+ ],
+ },
],
- select: ["city", "country", "region"]
+ select: ["city", "country", "region"],
},
countries: {
q: [
@@ -137,11 +137,11 @@ export const CONFIG: AppConfig = {
where: [
["?code", "type", "country"],
["?code", "partOf", "?region"],
- ["?region", "type", "region"]
- ]
- }
- ]
- }
- }
- }
+ ["?region", "type", "region"],
+ ],
+ },
+ ],
+ },
+ },
+ },
};
diff --git a/examples/triple-query/src/effects.ts b/examples/triple-query/src/effects.ts
index 09f46e4691..862e0320e4 100644
--- a/examples/triple-query/src/effects.ts
+++ b/examples/triple-query/src/effects.ts
@@ -1,7 +1,7 @@
// best practice tip: define event & effect names as consts or enums
// and avoid hardcoded strings for more safety and easier refactoring
// also see pre-defined event handlers & interceptors in @thi.ng/atom:
-// https://github.com/thi-ng/umbrella/blob/master/packages/interceptors/src/api.ts#L14
+// https://github.com/thi-ng/umbrella/blob/develop/packages/interceptors/src/api.ts#L14
export const ADD_TRIPLE = "add-triples";
export const REMOVE_TRIPLE = "remove-triples";
diff --git a/examples/triple-query/src/events.ts b/examples/triple-query/src/events.ts
index 9cfa36deb4..2129df63a5 100644
--- a/examples/triple-query/src/events.ts
+++ b/examples/triple-query/src/events.ts
@@ -1,7 +1,7 @@
// best practice tip: define event & effect names as consts or enums
// and avoid hardcoded strings for more safety and easier refactoring
// also see pre-defined event handlers & interceptors in @thi.ng/atom:
-// https://github.com/thi-ng/umbrella/blob/master/packages/interceptors/src/api.ts#L14
+// https://github.com/thi-ng/umbrella/blob/develop/packages/interceptors/src/api.ts#L14
export const ADD_CITY = "add-city";
export const ADD_COUNTRY = "add-country";
diff --git a/examples/webgl-shadertoy/src/index.ts b/examples/webgl-shadertoy/src/index.ts
index a6f79aead0..561fa7f18c 100644
--- a/examples/webgl-shadertoy/src/index.ts
+++ b/examples/webgl-shadertoy/src/index.ts
@@ -18,11 +18,15 @@ import {
Vec2Term,
vec3,
Vec3Sym,
- vec4
+ vec4,
} from "@thi.ng/shader-ast";
import { aspectCorrectedUV, fit1101 } from "@thi.ng/shader-ast-stdlib";
import { glCanvas } from "@thi.ng/webgl";
-import { MainImageFn, shaderToy, ShaderToyUniforms } from "@thi.ng/webgl-shadertoy";
+import {
+ MainImageFn,
+ shaderToy,
+ ShaderToyUniforms,
+} from "@thi.ng/webgl-shadertoy";
interface DemoUniforms extends ShaderToyUniforms {
bright: FloatSym;
@@ -32,8 +36,8 @@ interface DemoUniforms extends ShaderToyUniforms {
// the 2 args given are objects containing GLSL builtin vars and uniforms
//
// see:
-// https://github.com/thi-ng/umbrella/blob/master/packages/shader-ast-glsl/src/api.ts#L22
-// https://github.com/thi-ng/umbrella/blob/master/packages/webgl-shadertoy/src/api.ts#L13
+// https://github.com/thi-ng/umbrella/blob/develop/packages/shader-ast-glsl/src/api.ts#L22
+// https://github.com/thi-ng/umbrella/blob/develop/packages/webgl-shadertoy/src/api.ts#L13
const mainImage: MainImageFn = (gl, unis) => {
// predeclare local vars / symbols
let uv: Vec2Sym;
@@ -66,7 +70,7 @@ const mainImage: MainImageFn = (gl, unis) => {
)
)),
// return as vec4 (mandatory)
- ret(vec4(col, 1))
+ ret(vec4(col, 1)),
];
};
@@ -75,7 +79,7 @@ const canvas = glCanvas({
width: window.innerWidth,
height: window.innerHeight,
parent: document.body,
- version: 1
+ version: 1,
});
// init shader toy with canvas & shader fn
@@ -85,8 +89,8 @@ const toy = shaderToy({
main: mainImage,
uniforms: {
// brightness factor for colored rings
- bright: ["float", 1]
- }
+ bright: ["float", 1],
+ },
});
toy.start();
diff --git a/examples/webgl-ssao/src/params.ts b/examples/webgl-ssao/src/params.ts
index 0fda51136f..4fca36c7aa 100644
--- a/examples/webgl-ssao/src/params.ts
+++ b/examples/webgl-ssao/src/params.ts
@@ -1,11 +1,5 @@
import { stream, Stream } from "@thi.ng/rstream";
-import {
- assocObj,
- map,
- pairs,
- push,
- transduce
-} from "@thi.ng/transducers";
+import { assocObj, map, pairs, push, transduce } from "@thi.ng/transducers";
import type { IObjectOf } from "@thi.ng/api";
const slider = (label: string, attribs: any, stream: Stream) => () => [
@@ -18,10 +12,10 @@ const slider = (label: string, attribs: any, stream: Stream) => () => [
type: "range",
value: stream.deref(),
oninput: (e: Event) =>
- stream.next(parseFloat((e.target).value))
- }
+ stream.next(parseFloat((e.target).value)),
+ },
],
- ["span.ml3", stream.deref()]
+ ["span.ml3", stream.deref()],
];
type ParamDef = [string, any, number];
diff --git a/examples/webgl-ssao/src/shaders.ts b/examples/webgl-ssao/src/shaders.ts
index 28011494c0..4de3f07aaa 100644
--- a/examples/webgl-ssao/src/shaders.ts
+++ b/examples/webgl-ssao/src/shaders.ts
@@ -7,14 +7,14 @@ import {
mul,
sub,
texture,
- vec4
+ vec4,
} from "@thi.ng/shader-ast";
import { clamp01 } from "@thi.ng/shader-ast-stdlib";
import {
FX_SHADER_SPEC,
FX_SHADER_SPEC_UV,
ShaderFn,
- ShaderSpec
+ ShaderSpec,
} from "@thi.ng/webgl";
export const LIGHT_SHADER: ShaderSpec = {
@@ -43,14 +43,14 @@ export const LIGHT_SHADER: ShaderSpec = {
position: "vec3",
normal: "vec3",
offset: "vec3",
- uv: "vec2"
+ uv: "vec2",
},
varying: {
v_position: "vec4",
v_normal: "vec4",
v_uv: "vec2",
v_viewPos: "vec4",
- v_viewNormal: "vec4"
+ v_viewNormal: "vec4",
},
uniforms: {
model: "mat4",
@@ -61,17 +61,17 @@ export const LIGHT_SHADER: ShaderSpec = {
shininess: ["float", 250],
specular: "float",
ambient: ["float", 0.15],
- tex: "sampler2D"
+ tex: "sampler2D",
},
outputs: {
o_color: ["vec4", 0],
o_viewPos: ["vec4", 1],
- o_viewNormal: ["vec4", 2]
+ o_viewNormal: ["vec4", 2],
},
state: {
depth: true,
- cull: true
- }
+ cull: true,
+ },
};
export const SSAO_SHADER: ShaderSpec = {
@@ -117,11 +117,11 @@ void main() {
bias: ["float", 0.09],
attenuate: ["float", 1],
attenuateDist: ["float", 1],
- depthRange: ["vec2", [0.1, 10]]
+ depthRange: ["vec2", [0.1, 10]],
},
outputs: {
- o_occlusion: "float"
- }
+ o_occlusion: "float",
+ },
};
export const FINAL_SHADER: ShaderSpec = mergeDeepObj(FX_SHADER_SPEC_UV, {
@@ -139,12 +139,12 @@ export const FINAL_SHADER: ShaderSpec = mergeDeepObj(FX_SHADER_SPEC_UV, {
),
1
)
- )
- ])
+ ),
+ ]),
])
),
uniforms: {
tex2: ["sampler2D", 1],
- amp: ["float", 1]
- }
+ amp: ["float", 1],
+ },
});
diff --git a/examples/wolfram/src/index.ts b/examples/wolfram/src/index.ts
index 2c94fe415d..63c3c69c45 100644
--- a/examples/wolfram/src/index.ts
+++ b/examples/wolfram/src/index.ts
@@ -6,7 +6,7 @@ import {
metaStream,
sidechainToggle,
stream,
- sync
+ sync,
} from "@thi.ng/rstream";
import {
buildKernel1d,
@@ -24,7 +24,7 @@ import {
slidingWindow,
str,
transduce,
- zip
+ zip,
} from "@thi.ng/transducers";
import { bits, randomBits } from "@thi.ng/transducers-binary";
import { updateDOM } from "@thi.ng/transducers-hdom";
@@ -44,12 +44,12 @@ const evolveCA = (src: number[], { kernel, rule, reset }: any) =>
src,
kernel,
width: src.length,
- wrap: true
+ wrap: true,
}),
map(lookup1d(rule))
),
range(src.length)
- )
+ ),
];
const triggerReset = () =>
@@ -75,8 +75,8 @@ const app = ({ id, ksize, sim }: any) => [
{
type: "number",
value: id,
- oninput: setRule
- }
+ oninput: setRule,
+ },
],
"Kernel:",
[
@@ -84,34 +84,34 @@ const app = ({ id, ksize, sim }: any) => [
{ class: "h2 pa2 mh3", onchange: setKernel },
[
[3, "3"],
- [5, "5"]
+ [5, "5"],
],
- ksize
+ ksize,
],
[
"button.mr3.pa2",
{
- onclick: triggerReset
+ onclick: triggerReset,
},
- "Reset"
+ "Reset",
],
[
"button.mr3.pa2",
{
- onclick: triggerOBJExport
+ onclick: triggerOBJExport,
},
- "Export OBJ"
+ "Export OBJ",
],
[
"a.link.blue",
{
href:
- "https://en.wikipedia.org/wiki/Elementary_cellular_automaton#Random_initial_state"
+ "https://en.wikipedia.org/wiki/Elementary_cellular_automaton#Random_initial_state",
},
- "Wikipedia"
- ]
+ "Wikipedia",
+ ],
],
- ["pre.f7.code", sim]
+ ["pre.f7.code", sim],
];
const rule = stream();
@@ -126,9 +126,9 @@ const wolfram = sync({
kernel: kernel.transform(
map((x) => buildKernel1d([1, 2, 4, 8, 16], x))
),
- _: fromRAF()
+ _: fromRAF(),
},
- xform: scan(reducer(resetCA, evolveCA))
+ xform: scan(reducer(resetCA, evolveCA)),
});
const main = sync({
@@ -139,8 +139,8 @@ const main = sync({
map((gen) => gen.map((x: number) => " β"[x]).join("")),
slidingWindow(HEIGHT),
map((win: string[]) => win.join("\n"))
- )
- }
+ ),
+ },
}).transform(map(app), updateDOM());
// Wavefront OBJ 3D pointcloud export
diff --git a/examples/xml-converter/src/convert.ts b/examples/xml-converter/src/convert.ts
index 670eaa7198..2df817882a 100644
--- a/examples/xml-converter/src/convert.ts
+++ b/examples/xml-converter/src/convert.ts
@@ -1,10 +1,5 @@
import { isString } from "@thi.ng/checks";
-import {
- parse,
- ParseElement,
- ParseEvent,
- Type
-} from "@thi.ng/sax";
+import { parse, ParseElement, ParseEvent, Type } from "@thi.ng/sax";
import {
assocObj,
comp,
@@ -13,7 +8,7 @@ import {
map,
pairs,
push,
- transduce
+ transduce,
} from "@thi.ng/transducers";
import { DEFAULT_FORMAT, format, FormatOpts } from "./format";
@@ -26,14 +21,14 @@ export interface ConversionOpts {
export const DEFAULT_OPTS: ConversionOpts = {
format: DEFAULT_FORMAT,
removeAttribs: new Set(),
- removeTags: new Set()
+ removeTags: new Set(),
};
// converts given XMLish string into formatted hiccup
export const convertXML = (src: string, opts: Partial = {}) => {
let tree = transformTree(parseXML(src), {
...DEFAULT_OPTS,
- ...opts
+ ...opts,
});
return format({ ...DEFAULT_FORMAT, ...opts.format }, "", tree);
};
@@ -80,7 +75,10 @@ const parseAttrib = (attrib: string[]) => {
// transforms an entire object of attributes
const transformAttribs = (attribs: any, remove: Set = new Set()) =>
transduce(
- comp(filter((a) => !remove.has(a[0])), map(parseAttrib)),
+ comp(
+ filter((a) => !remove.has(a[0])),
+ map(parseAttrib)
+ ),
assocObj(),
{},
pairs(attribs)
@@ -124,7 +122,10 @@ const transformTree = (
}
if (tree.children && tree.children.length) {
transduce(
- comp(map((t: any) => transformTree(t, opts)), filter((t) => !!t)),
+ comp(
+ map((t: any) => transformTree(t, opts)),
+ filter((t) => !!t)
+ ),
push(),
res,
tree.children
diff --git a/examples/xml-converter/src/format.ts b/examples/xml-converter/src/format.ts
index 1c0a53be17..c2ef636f02 100644
--- a/examples/xml-converter/src/format.ts
+++ b/examples/xml-converter/src/format.ts
@@ -20,7 +20,7 @@ export const DEFAULT_FORMAT: FormatOpts = {
lineSep: "\n",
prefix: "",
quote: `"`,
- ws: " "
+ ws: " ",
};
export const COMPACT_FORMAT: FormatOpts = {
@@ -30,7 +30,7 @@ export const COMPACT_FORMAT: FormatOpts = {
lineSep: "",
prefix: "",
quote: `"`,
- ws: ""
+ ws: "",
};
// memoized indentations
@@ -39,7 +39,7 @@ export const spaces = (n: number) => repeat(" ", n);
// creates new state with deeper indentation
const indentState = (opts: FormatOpts): FormatOpts => ({
...opts,
- indent: opts.indent + opts.tabSize
+ indent: opts.indent + opts.tabSize,
});
// dispatch helper function for the `format` defmulti below
@@ -55,8 +55,8 @@ const formatVal = (opts: FormatOpts, x: any, indent = true) =>
isNumber(x) || isBoolean(x)
? x
: isPlainObject(x)
- ? format(indent ? indentState(opts) : opts, "", x)
- : opts.quote + escape(opts, x) + opts.quote;
+ ? format(indent ? indentState(opts) : opts, "", x)
+ : opts.quote + escape(opts, x) + opts.quote;
// attrib key-value pair formatter w/ indentation
const formatPair = (opts: FormatOpts, x: any, k: string) =>
@@ -88,7 +88,7 @@ format.add("array", (opts, res, x) => {
res = format(
{
...indentState(opts),
- prefix: `${opts.lineSep}${spaces(opts.indent + opts.tabSize)}`
+ prefix: `${opts.lineSep}${spaces(opts.indent + opts.tabSize)}`,
},
res,
x[1]
diff --git a/examples/xml-converter/src/index.ts b/examples/xml-converter/src/index.ts
index f2f3622615..6bc3034ada 100644
--- a/examples/xml-converter/src/index.ts
+++ b/examples/xml-converter/src/index.ts
@@ -14,7 +14,7 @@ const inputs = {
trailingComma: stream(),
removeAttribs: stream(),
removeTags: stream(),
- copyButton: stream()
+ copyButton: stream(),
};
// stream combinator to assemble formatter options
@@ -22,13 +22,13 @@ const formatOpts = sync({
src: {
trailingComma: inputs.trailingComma,
doubleQuote: inputs.doubleQuote,
- prettyPrint: inputs.prettyPrint
+ prettyPrint: inputs.prettyPrint,
},
xform: map((opts: any) => ({
...(opts.prettyPrint ? DEFAULT_FORMAT : COMPACT_FORMAT),
trailingComma: opts.trailingComma,
- quote: opts.doubleQuote ? `"` : `'`
- }))
+ quote: opts.doubleQuote ? `"` : `'`,
+ })),
});
// stream combinator to assemble conversion options
@@ -36,8 +36,8 @@ const opts = sync({
src: {
format: formatOpts,
removeAttribs: inputs.removeAttribs.transform(xformAsSet),
- removeTags: inputs.removeTags.transform(xformAsSet)
- }
+ removeTags: inputs.removeTags.transform(xformAsSet),
+ },
});
// main stream combinator to create & update UI
@@ -45,13 +45,13 @@ const main = sync({
src: {
src: inputs.xml,
copy: inputs.copyButton,
- opts
- }
+ opts,
+ },
}).transform(
// convert xml -> hiccup
map((state: any) => ({
...state,
- hiccup: convertXML(state.src, state.opts)
+ hiccup: convertXML(state.src, state.opts),
})),
// transform into hdom tree
map(app(UI.main, inputs)),
diff --git a/examples/xml-converter/src/ui.ts b/examples/xml-converter/src/ui.ts
index 9ce98be253..e738c6bf09 100644
--- a/examples/xml-converter/src/ui.ts
+++ b/examples/xml-converter/src/ui.ts
@@ -3,26 +3,26 @@ import { mapIndexed } from "@thi.ng/transducers";
import { handleTab } from "./utils";
// converted from:
-// https://github.com/IBM/carbon-icons/blob/master/src/svg/copy.svg
+// https://github.com/IBM/carbon-icons/blob/develop/src/svg/copy.svg
const ICON_COPY = [
"svg.mr2",
{
viewBox: "0 0 16 16",
width: "0.7rem",
height: "0.7rem",
- stroke: "white"
+ stroke: "white",
},
[
"path",
- { d: "M1,10H0V2c0-1.1,0.9-2,2-2l8,0l0,1L2,1C1.4,1,1,1.5,1,2L1,10z" }
+ { d: "M1,10H0V2c0-1.1,0.9-2,2-2l8,0l0,1L2,1C1.4,1,1,1.5,1,2L1,10z" },
],
[
"path",
{
d:
- "M11,4.2V8h3.8L11,4.2z M15,9h-4c-0.6,0-1-0.4-1-1V4H4.5C4.2,4,4,4.2,4,4.5v10C4,14.8,4.2,15,4.5,15h10 c0.3,0,0.5-0.2,0.5-0.5V9z M11,3c0.1,0,0.3,0.1,0.4,0.1l4.5,4.5C15.9,7.7,16,7.9,16,8v6.5c0,0.8-0.7,1.5-1.5,1.5h-10 C3.7,16,3,15.3,3,14.5v-10C3,3.7,3.7,3,4.5,3H11z"
- }
- ]
+ "M11,4.2V8h3.8L11,4.2z M15,9h-4c-0.6,0-1-0.4-1-1V4H4.5C4.2,4,4,4.2,4,4.5v10C4,14.8,4.2,15,4.5,15h10 c0.3,0,0.5-0.2,0.5-0.5V9z M11,3c0.1,0,0.3,0.1,0.4,0.1l4.5,4.5C15.9,7.7,16,7.9,16,8v6.5c0,0.8-0.7,1.5-1.5,1.5h-10 C3.7,16,3,15.3,3,14.5v-10C3,3.7,3.7,3,4.5,3H11z",
+ },
+ ],
];
// component styles:
@@ -33,41 +33,41 @@ export const UI = {
root: { class: "w-50-ns pa3" },
title: { class: "ma0 mb2" },
textarea: { class: "w-100.pa2.bn.f7.code.lh-copy" },
- stats: { class: "f7" }
+ stats: { class: "f7" },
},
input: {
root: { class: "mb2" },
label: { class: "dib w-100 w-25-l pv2" },
- input: { class: "w-100 w-75-l pa1 bg-silver white bn" }
+ input: { class: "w-100 w-75-l pa1 bg-silver white bn" },
},
button: {
href: "#",
- class: "dib.link.white.pv1.ph2.w4.bn.hover-bg-blue.bg-animate"
+ class: "dib.link.white.pv1.ph2.w4.bn.hover-bg-blue.bg-animate",
},
copyButton: {
style: {
position: "relative",
top: "-3rem",
- left: "0.5rem"
- }
+ left: "0.5rem",
+ },
},
main: {
small: { class: "fw1 ml2 dn dib-l" },
src: {
class: "bg-washed-green",
- autofocus: true
+ autofocus: true,
},
result: {
success: {
disabled: true,
- class: "bg-light-gray"
+ class: "bg-light-gray",
},
error: {
disabled: true,
- class: "bg-washed-red"
- }
- }
- }
+ class: "bg-washed-red",
+ },
+ },
+ },
};
// hdom UI root component. this function will be used as stream
@@ -84,9 +84,9 @@ export const app = (ctx: any, inputs: any) => ({ src, hiccup }: any) => [
onkeydown: handleTab(inputs.xml),
// emitting a new value to the stream will
// re-trigger conversion & UI update
- oninput: (e: any) => inputs.xml.next(e.target.value)
+ oninput: (e: any) => inputs.xml.next(e.target.value),
},
- src
+ src,
],
[
editPane,
@@ -96,13 +96,13 @@ export const app = (ctx: any, inputs: any) => ({ src, hiccup }: any) => [
[
copyButton,
{
- class: hiccup.indexOf("error") < 0 ? "bg-green" : "bg-gray"
+ class: hiccup.indexOf("error") < 0 ? "bg-green" : "bg-gray",
},
inputs.copyButton,
- hiccup
+ hiccup,
],
- [transformOpts, inputs]
- ]
+ [transformOpts, inputs],
+ ],
];
// configurable editor panel UI component
@@ -119,7 +119,7 @@ const editPane = (
["h3", editor.title, ...title],
[`textarea.${editor.textarea.class}`, { rows: 16, value, ...attribs }],
["div", editor.stats, `${value.length} chars`],
- ...extra
+ ...extra,
];
// configurable input UI component
@@ -127,7 +127,7 @@ const input = ({ input }: any, label: string, attribs: any) => [
"div",
input.root,
["label", { ...input.label, for: attribs.id }, label],
- ["input", { ...input.input, ...attribs }]
+ ["input", { ...input.input, ...attribs }],
];
const iconButton = (
@@ -161,10 +161,10 @@ const copyButton = (
},
() => alert("Couldn't copy to clipboard")
);
- }
+ },
},
ICON_COPY,
- stream.deref() ? "Copied" : "Copy"
+ stream.deref() ? "Copied" : "Copy",
];
// combined transform options input components
@@ -181,8 +181,8 @@ const transformOpts = (_: any, inputs: any) => [
id: "opt" + i,
type,
[v]: stream.deref(),
- oninput: (e: any) => stream.next(e.target[v])
- }
+ oninput: (e: any) => stream.next(e.target[v]),
+ },
];
},
[
@@ -190,7 +190,7 @@ const transformOpts = (_: any, inputs: any) => [
["Remove attributes", "text", inputs.removeAttribs],
["Pretty print", "checkbox", inputs.prettyPrint],
["Double quotes", "checkbox", inputs.doubleQuote],
- ["Trailing commas", "checkbox", inputs.trailingComma]
+ ["Trailing commas", "checkbox", inputs.trailingComma],
]
- )
+ ),
];
diff --git a/packages/adapt-dpi/CHANGELOG.md b/packages/adapt-dpi/CHANGELOG.md
index dba9fe0852..65e564250c 100644
--- a/packages/adapt-dpi/CHANGELOG.md
+++ b/packages/adapt-dpi/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.1](https://github.com/thi-ng/umbrella/compare/@thi.ng/adapt-dpi@1.0.0...@thi.ng/adapt-dpi@1.0.1) (2020-06-14)
+
+**Note:** Version bump only for package @thi.ng/adapt-dpi
+
+
+
+
+
# 1.0.0 (2020-06-07)
diff --git a/packages/adapt-dpi/package.json b/packages/adapt-dpi/package.json
index ebee1f5341..b7d623fa08 100644
--- a/packages/adapt-dpi/package.json
+++ b/packages/adapt-dpi/package.json
@@ -1,6 +1,6 @@
{
"name": "@thi.ng/adapt-dpi",
- "version": "1.0.0",
+ "version": "1.0.1",
"description": "HDPI canvas adapter / styling utility",
"module": "./index.js",
"main": "./lib/index.js",
diff --git a/packages/adapt-dpi/test/tsconfig.json b/packages/adapt-dpi/test/tsconfig.json
index f6e63560dd..72b29d55ac 100644
--- a/packages/adapt-dpi/test/tsconfig.json
+++ b/packages/adapt-dpi/test/tsconfig.json
@@ -4,8 +4,5 @@
"outDir": "../build",
"module": "commonjs"
},
- "include": [
- "./**/*.ts",
- "../src/**/*.ts"
- ]
+ "include": ["./**/*.ts", "../src/**/*.ts"]
}
diff --git a/packages/adapt-dpi/tsconfig.json b/packages/adapt-dpi/tsconfig.json
index 893b9979c5..4fee5e86b8 100644
--- a/packages/adapt-dpi/tsconfig.json
+++ b/packages/adapt-dpi/tsconfig.json
@@ -5,7 +5,5 @@
"module": "es6",
"target": "es6"
},
- "include": [
- "./src/**/*.ts"
- ]
+ "include": ["./src/**/*.ts"]
}
diff --git a/packages/adjacency/CHANGELOG.md b/packages/adjacency/CHANGELOG.md
index bbe4ffc402..7bd37f5d7b 100644
--- a/packages/adjacency/CHANGELOG.md
+++ b/packages/adjacency/CHANGELOG.md
@@ -3,6 +3,14 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
+## [0.1.48](https://github.com/thi-ng/umbrella/compare/@thi.ng/adjacency@0.1.47...@thi.ng/adjacency@0.1.48) (2020-06-14)
+
+**Note:** Version bump only for package @thi.ng/adjacency
+
+
+
+
+
## [0.1.47](https://github.com/thi-ng/umbrella/compare/@thi.ng/adjacency@0.1.46...@thi.ng/adjacency@0.1.47) (2020-06-01)
**Note:** Version bump only for package @thi.ng/adjacency
diff --git a/packages/adjacency/package.json b/packages/adjacency/package.json
index 11623fb018..f5cd7587a6 100644
--- a/packages/adjacency/package.json
+++ b/packages/adjacency/package.json
@@ -1,6 +1,6 @@
{
"name": "@thi.ng/adjacency",
- "version": "0.1.47",
+ "version": "0.1.48",
"description": "Sparse & bitwise adjacency matrices and related functions for directed & undirected graphs",
"module": "./index.js",
"main": "./lib/index.js",
@@ -34,7 +34,7 @@
"devDependencies": {
"@istanbuljs/nyc-config-typescript": "^1.0.1",
"@microsoft/api-extractor": "^7.8.0",
- "@thi.ng/vectors": "^4.4.3",
+ "@thi.ng/vectors": "^4.4.4",
"@types/mocha": "^7.0.2",
"@types/node": "^14.0.1",
"mocha": "^7.1.2",
@@ -44,12 +44,12 @@
"typescript": "^3.9.2"
},
"dependencies": {
- "@thi.ng/api": "^6.11.0",
- "@thi.ng/binary": "^2.0.7",
- "@thi.ng/bitfield": "^0.3.10",
- "@thi.ng/checks": "^2.7.0",
- "@thi.ng/dcons": "^2.2.19",
- "@thi.ng/sparse": "^0.1.42",
+ "@thi.ng/api": "^6.11.1",
+ "@thi.ng/binary": "^2.0.8",
+ "@thi.ng/bitfield": "^0.3.11",
+ "@thi.ng/checks": "^2.7.1",
+ "@thi.ng/dcons": "^2.2.20",
+ "@thi.ng/sparse": "^0.1.43",
"tslib": "^1.12.0"
},
"files": [
diff --git a/packages/adjacency/test/binary.ts b/packages/adjacency/test/binary.ts
index 411d2cf6fe..353dc68e9b 100644
--- a/packages/adjacency/test/binary.ts
+++ b/packages/adjacency/test/binary.ts
@@ -2,7 +2,12 @@ import { Pair } from "@thi.ng/api";
import * as assert from "assert";
import { AdjacencyBitMatrix } from "../src/index";
-const edges: Pair[] = [[2, 3], [0, 1], [5, 4], [2, 0]];
+const edges: Pair[] = [
+ [2, 3],
+ [0, 1],
+ [5, 4],
+ [2, 0],
+];
describe("adjacency (bitmatrix)", () => {
it("fromEdges, undirected", () => {
@@ -15,14 +20,19 @@ describe("adjacency (bitmatrix)", () => {
2415919104,
536870912,
67108864,
- 134217728
+ 134217728,
],
"data"
);
assert.equal(m.numEdges(), 4, "numEdges");
assert.deepEqual(
[...m.edges()],
- [[4, 5], [2, 3], [0, 1], [0, 2]],
+ [
+ [4, 5],
+ [2, 3],
+ [0, 1],
+ [0, 2],
+ ],
"edges"
);
});
diff --git a/packages/adjacency/test/mst.ts b/packages/adjacency/test/mst.ts
index c37114bfc2..6a9f9e9123 100644
--- a/packages/adjacency/test/mst.ts
+++ b/packages/adjacency/test/mst.ts
@@ -28,7 +28,7 @@ describe("unionfind", () => {
[5, 6],
[6, 7],
[6, 8],
- [7, 8]
+ [7, 8],
];
assert.deepEqual(
@@ -39,8 +39,14 @@ describe("unionfind", () => {
([a, b]) => [a, b]
).sort(comparator2(0, 1)),
[
- [0, 1], [1, 2], [2, 3], [2, 4],
- [4, 5], [5, 6], [6, 8], [7, 8]
+ [0, 1],
+ [1, 2],
+ [2, 3],
+ [2, 4],
+ [4, 5],
+ [5, 6],
+ [6, 8],
+ [7, 8],
]
);
});
diff --git a/packages/adjacency/test/sparse.ts b/packages/adjacency/test/sparse.ts
index cfa3ee7a9c..df88c24a20 100644
--- a/packages/adjacency/test/sparse.ts
+++ b/packages/adjacency/test/sparse.ts
@@ -12,20 +12,17 @@ const edges: Pair[] = [
describe("adjacency (sparse)", () => {
it("fromEdges, undirected", () => {
const m = AdjacencyMatrix.fromEdges(6, edges, true);
- assert.deepEqual(
- m.rows,
- [0, 2, 3, 5, 6, 7, 8],
- "rows"
- );
- assert.deepEqual(
- m.cols,
- [1, 2, 0, 0, 3, 2, 5, 4],
- "cols"
- );
+ assert.deepEqual(m.rows, [0, 2, 3, 5, 6, 7, 8], "rows");
+ assert.deepEqual(m.cols, [1, 2, 0, 0, 3, 2, 5, 4], "cols");
assert.equal(m.numEdges(), 4, "numEdges");
assert.deepEqual(
[...m.edges()],
- [[0, 1], [0, 2], [2, 3], [4, 5]],
+ [
+ [0, 1],
+ [0, 2],
+ [2, 3],
+ [4, 5],
+ ],
"edges"
);
});
diff --git a/packages/api/CHANGELOG.md b/packages/api/CHANGELOG.md
index 268c565db5..66626c1c3d 100644
--- a/packages/api/CHANGELOG.md
+++ b/packages/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.
+## [6.11.1](https://github.com/thi-ng/umbrella/compare/@thi.ng/api@6.11.0...@thi.ng/api@6.11.1) (2020-06-14)
+
+**Note:** Version bump only for package @thi.ng/api
+
+
+
+
+
# [6.11.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/api@6.10.5...@thi.ng/api@6.11.0) (2020-06-01)
diff --git a/packages/api/package.json b/packages/api/package.json
index c2ee4bcc6e..2f8f987da6 100644
--- a/packages/api/package.json
+++ b/packages/api/package.json
@@ -1,6 +1,6 @@
{
"name": "@thi.ng/api",
- "version": "6.11.0",
+ "version": "6.11.1",
"description": "Common, generic types, interfaces & mixins",
"module": "./index.js",
"main": "./lib/index.js",
diff --git a/packages/api/src/decorators/configurable.ts b/packages/api/src/decorators/configurable.ts
index d46ffa697d..1d5c876d95 100644
--- a/packages/api/src/decorators/configurable.ts
+++ b/packages/api/src/decorators/configurable.ts
@@ -5,6 +5,6 @@
* @param state - true, if propoerty is configurable
*/
export const configurable = (state: boolean): MethodDecorator =>
- function(_: any, __: string | symbol, descriptor: PropertyDescriptor) {
+ function (_: any, __: string | symbol, descriptor: PropertyDescriptor) {
descriptor.configurable = state;
};
diff --git a/packages/api/src/decorators/deprecated.ts b/packages/api/src/decorators/deprecated.ts
index b45bc5f098..53ce8394f8 100644
--- a/packages/api/src/decorators/deprecated.ts
+++ b/packages/api/src/decorators/deprecated.ts
@@ -9,7 +9,7 @@ import { assert } from "../assert";
* @param msg - deprecation message
*/
export const deprecated = (msg?: string, log = console.log): MethodDecorator =>
- function(
+ function (
target: any,
prop: string | symbol,
descriptor: PropertyDescriptor
@@ -17,7 +17,7 @@ export const deprecated = (msg?: string, log = console.log): MethodDecorator =>
const signature = `${target.constructor.name}#${prop.toString()}`;
const fn = descriptor.value;
assert(typeof fn === "function", `${signature} is not a function`);
- descriptor.value = function() {
+ descriptor.value = function () {
log(`DEPRECATED ${signature}: ${msg || "will be removed soon"}`);
return fn.apply(this, arguments);
};
diff --git a/packages/api/src/logger.ts b/packages/api/src/logger.ts
index a1a9b8404c..a389bee89b 100644
--- a/packages/api/src/logger.ts
+++ b/packages/api/src/logger.ts
@@ -7,7 +7,7 @@ export const NULL_LOGGER: ILogger = Object.freeze({
debug() {},
info() {},
warn() {},
- severe() {}
+ severe() {},
});
export class ConsoleLogger implements ILogger {
diff --git a/packages/api/src/mixin.ts b/packages/api/src/mixin.ts
index aa2bd137f7..4df95452c4 100644
--- a/packages/api/src/mixin.ts
+++ b/packages/api/src/mixin.ts
@@ -24,7 +24,7 @@ export const mixin = (behaviour: any, sharedBehaviour: any = {}) => {
if (!existing || existing.configurable) {
Object.defineProperty(clazz.prototype, key, {
value: behaviour[key],
- writable: true
+ writable: true,
});
} else {
console.log(`not patching: ${clazz.name}.${key.toString()}`);
@@ -37,12 +37,12 @@ export const mixin = (behaviour: any, sharedBehaviour: any = {}) => {
for (let key of sharedKeys) {
Object.defineProperty(_mixin, key, {
value: sharedBehaviour[key],
- enumerable: sharedBehaviour.propertyIsEnumerable(key)
+ enumerable: sharedBehaviour.propertyIsEnumerable(key),
});
}
Object.defineProperty(_mixin, Symbol.hasInstance, {
- value: (x: any) => !!x[typeTag]
+ value: (x: any) => !!x[typeTag],
});
return _mixin;
diff --git a/packages/api/src/mixins/ienable.ts b/packages/api/src/mixins/ienable.ts
index 4d312bd77a..80743ce5cb 100644
--- a/packages/api/src/mixins/ienable.ts
+++ b/packages/api/src/mixins/ienable.ts
@@ -39,5 +39,5 @@ export const IEnableMixin = mixin(>{
toggle(this: _IEnable) {
this._enabled ? this.disable() : this.enable();
return this._enabled;
- }
+ },
});
diff --git a/packages/api/src/mixins/inotify.ts b/packages/api/src/mixins/inotify.ts
index bcc2d60318..ac990c7884 100644
--- a/packages/api/src/mixins/inotify.ts
+++ b/packages/api/src/mixins/inotify.ts
@@ -67,5 +67,5 @@ export const INotifyMixin = mixin({
}
}
return i;
- }
+ },
});
diff --git a/packages/api/src/mixins/iterable.ts b/packages/api/src/mixins/iterable.ts
index e9829da601..945e90e0ee 100644
--- a/packages/api/src/mixins/iterable.ts
+++ b/packages/api/src/mixins/iterable.ts
@@ -4,5 +4,5 @@ export const iterable = (prop: PropertyKey) =>
mixin({
*[Symbol.iterator]() {
yield* this[prop];
- }
+ },
});
diff --git a/packages/api/src/mixins/iwatch.ts b/packages/api/src/mixins/iwatch.ts
index 49ea635278..3b6933a837 100644
--- a/packages/api/src/mixins/iwatch.ts
+++ b/packages/api/src/mixins/iwatch.ts
@@ -31,5 +31,5 @@ export const IWatchMixin = mixin(>{
for (let id in w) {
w[id](id, oldState, newState);
}
- }
+ },
});
diff --git a/packages/api/test/mixins.ts b/packages/api/test/mixins.ts
index da5592a2e3..a0c2bf97e8 100644
--- a/packages/api/test/mixins.ts
+++ b/packages/api/test/mixins.ts
@@ -1,11 +1,5 @@
import * as assert from "assert";
-import {
- Event,
- EVENT_ALL,
- INotify,
- INotifyMixin,
- Listener
-} from "../src";
+import { Event, EVENT_ALL, INotify, INotifyMixin, Listener } from "../src";
describe("mixins", () => {
it("INotify", () => {
diff --git a/packages/arrays/CHANGELOG.md b/packages/arrays/CHANGELOG.md
index d59c65a9cc..051bdf19f6 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.6.9](https://github.com/thi-ng/umbrella/compare/@thi.ng/arrays@0.6.8...@thi.ng/arrays@0.6.9) (2020-06-14)
+
+**Note:** Version bump only for package @thi.ng/arrays
+
+
+
+
+
## [0.6.8](https://github.com/thi-ng/umbrella/compare/@thi.ng/arrays@0.6.7...@thi.ng/arrays@0.6.8) (2020-06-01)
**Note:** Version bump only for package @thi.ng/arrays
diff --git a/packages/arrays/package.json b/packages/arrays/package.json
index acb06cca54..1ed0f968b7 100644
--- a/packages/arrays/package.json
+++ b/packages/arrays/package.json
@@ -1,6 +1,6 @@
{
"name": "@thi.ng/arrays",
- "version": "0.6.8",
+ "version": "0.6.9",
"description": "Array / Arraylike utilities",
"module": "./index.js",
"main": "./lib/index.js",
@@ -43,12 +43,12 @@
"typescript": "^3.9.2"
},
"dependencies": {
- "@thi.ng/api": "^6.11.0",
- "@thi.ng/checks": "^2.7.0",
- "@thi.ng/compare": "^1.3.7",
+ "@thi.ng/api": "^6.11.1",
+ "@thi.ng/checks": "^2.7.1",
+ "@thi.ng/compare": "^1.3.8",
"@thi.ng/equiv": "^1.0.23",
"@thi.ng/errors": "^1.2.14",
- "@thi.ng/random": "^1.4.10",
+ "@thi.ng/random": "^1.4.11",
"tslib": "^1.12.0"
},
"files": [
diff --git a/packages/arrays/src/levenshtein.ts b/packages/arrays/src/levenshtein.ts
index d2d6638801..dc7b933ff8 100644
--- a/packages/arrays/src/levenshtein.ts
+++ b/packages/arrays/src/levenshtein.ts
@@ -14,7 +14,7 @@ const eqStrict = (a: any, b: any) => a === b;
* Based on:
* - https://en.wikipedia.org/wiki/Levenshtein_distance
* - https://en.wikipedia.org/wiki/Wagner%E2%80%93Fischer_algorithm
- * - https://github.com/gustf/js-levenshtein/blob/master/index.js
+ * - https://github.com/gustf/js-levenshtein/blob/develop/index.js
*
* @example
* ```ts
diff --git a/packages/arrays/test/binary-search.ts b/packages/arrays/test/binary-search.ts
index 6fc68676d5..c210e93617 100644
--- a/packages/arrays/test/binary-search.ts
+++ b/packages/arrays/test/binary-search.ts
@@ -1,13 +1,6 @@
import { FnO } from "@thi.ng/api";
import * as assert from "assert";
-import {
- binarySearch,
- bsEQ,
- bsGE,
- bsGT,
- bsLE,
- bsLT
-} from "../src";
+import { binarySearch, bsEQ, bsGE, bsGT, bsLE, bsLT } from "../src";
const src = [10, 20, 30, 40];
const tests = [5, 10, 15, 20, 25, 45];
diff --git a/packages/associative/CHANGELOG.md b/packages/associative/CHANGELOG.md
index 5f71f58f50..3b39f0a483 100644
--- a/packages/associative/CHANGELOG.md
+++ b/packages/associative/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.
+# [4.1.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/associative@4.0.11...@thi.ng/associative@4.1.0) (2020-06-14)
+
+
+### Features
+
+* **associative:** add Trie and tests ([84b6517](https://github.com/thi-ng/umbrella/commit/84b6517f8988e5032ac2c7614e62ebf4cf1c9e1b))
+
+
+
+
+
## [4.0.11](https://github.com/thi-ng/umbrella/compare/@thi.ng/associative@4.0.10...@thi.ng/associative@4.0.11) (2020-06-01)
**Note:** Version bump only for package @thi.ng/associative
diff --git a/packages/associative/README.md b/packages/associative/README.md
index c2cbfd5ca0..60b38e3b20 100644
--- a/packages/associative/README.md
+++ b/packages/associative/README.md
@@ -172,7 +172,7 @@ yarn add @thi.ng/associative
```
-Package sizes (gzipped, pre-treeshake): ESM: 5.16 KB / CJS: 5.35 KB / UMD: 5.18 KB
+Package sizes (gzipped, pre-treeshake): ESM: 5.62 KB / CJS: 5.82 KB / UMD: 5.64 KB
## Dependencies
diff --git a/packages/associative/package.json b/packages/associative/package.json
index 2bc25e08dc..159151b6d9 100644
--- a/packages/associative/package.json
+++ b/packages/associative/package.json
@@ -1,6 +1,6 @@
{
"name": "@thi.ng/associative",
- "version": "4.0.11",
+ "version": "4.1.0",
"description": "Alternative Map and Set implementations with customizable equality semantics & supporting operations",
"module": "./index.js",
"main": "./lib/index.js",
@@ -43,14 +43,14 @@
"typescript": "^3.9.2"
},
"dependencies": {
- "@thi.ng/api": "^6.11.0",
- "@thi.ng/binary": "^2.0.7",
- "@thi.ng/checks": "^2.7.0",
- "@thi.ng/compare": "^1.3.7",
- "@thi.ng/dcons": "^2.2.19",
+ "@thi.ng/api": "^6.11.1",
+ "@thi.ng/binary": "^2.0.8",
+ "@thi.ng/checks": "^2.7.1",
+ "@thi.ng/compare": "^1.3.8",
+ "@thi.ng/dcons": "^2.2.20",
"@thi.ng/equiv": "^1.0.23",
"@thi.ng/errors": "^1.2.14",
- "@thi.ng/transducers": "^7.0.0",
+ "@thi.ng/transducers": "^7.1.0",
"tslib": "^1.12.0"
},
"files": [
diff --git a/packages/associative/src/index.ts b/packages/associative/src/index.ts
index 8d9b0403e8..aabfe339e4 100644
--- a/packages/associative/src/index.ts
+++ b/packages/associative/src/index.ts
@@ -20,5 +20,6 @@ export * from "./select-keys";
export * from "./sorted-map";
export * from "./sorted-set";
export * from "./sparse-set";
+export * from "./trie";
export * from "./union";
export * from "./without-keys";
diff --git a/packages/associative/src/internal/xform-setop.ts b/packages/associative/src/internal/xform-setop.ts
index caa7e629aa..ad5525674b 100644
--- a/packages/associative/src/internal/xform-setop.ts
+++ b/packages/associative/src/internal/xform-setop.ts
@@ -12,5 +12,5 @@ export const xformSetOp = (
: , Iterable>>[
() => null,
(acc) => acc || new Set(),
- (acc, x) => (!acc ? ensureSet(x) : op(acc, ensureSet(x)))
+ (acc, x) => (!acc ? ensureSet(x) : op(acc, ensureSet(x))),
];
diff --git a/packages/associative/src/trie.ts b/packages/associative/src/trie.ts
new file mode 100644
index 0000000000..22cad00ad3
--- /dev/null
+++ b/packages/associative/src/trie.ts
@@ -0,0 +1,137 @@
+import type { IObjectOf } from "@thi.ng/api";
+import { map, vals } from "@thi.ng/transducers";
+
+export class Trie, T> {
+ protected next: IObjectOf> = {};
+ protected vals?: Set;
+ protected n = 0;
+
+ *[Symbol.iterator]() {
+ const queue: [string, Trie][] = [["", this]];
+ while (queue.length) {
+ const [prefix, node] = queue.pop()!;
+ if (node.vals) {
+ yield* map((v) => [prefix, v], node.vals);
+ } else {
+ node.queueChildren(queue, prefix);
+ }
+ }
+ }
+
+ *keys(sep = "", prefix = "") {
+ const queue: [string, Trie][] = [[prefix, this]];
+ while (queue.length) {
+ const [key, node] = queue.pop()!;
+ if (node.vals) {
+ yield key;
+ } else {
+ node.queueChildren(queue, key, sep);
+ }
+ }
+ }
+
+ *values() {
+ const queue: Trie[] = [this];
+ while (queue.length) {
+ const node = queue.pop()!;
+ if (node.vals) {
+ yield* node.vals;
+ } else {
+ queue.push(...vals(node.next));
+ }
+ }
+ }
+
+ clear() {
+ this.next = {};
+ this.n = 0;
+ this.vals = undefined;
+ }
+
+ has(key: K) {
+ return !!this.get(key);
+ }
+
+ hasPrefix(prefix: K) {
+ return !!this.find(prefix);
+ }
+
+ *suffixes(prefix: K, withPrefix = false) {
+ const node = this.find(prefix);
+ if (node) {
+ yield* node.keys("", withPrefix ? prefix.toString() : "");
+ }
+ }
+
+ get(key: K): Set | undefined {
+ const node = this.find(key);
+ return node ? node.vals : undefined;
+ }
+
+ find(key: K) {
+ let node: Trie | undefined = this;
+ for (let i = 0, n = key.length; i < n; i++) {
+ node = node!.next[key[i].toString()];
+ if (!node) return;
+ }
+ return node;
+ }
+
+ add(key: K, val: T) {
+ let node: Trie = this;
+ for (let i = 0, n = key.length; i < n; i++) {
+ const k = key[i].toString();
+ const next = node.next[k];
+ node = !next ? (node.n++, (node.next[k] = new Trie())) : next;
+ }
+ if (!node.vals) node.vals = new Set();
+ node.vals.add(val);
+ }
+
+ delete(prefix: K, val?: T) {
+ const n = prefix.length;
+ if (n < 1) return false;
+ const path: Trie[] = [];
+ const key: string[] = [];
+ let i = 0;
+ let node: Trie | undefined = this;
+ for (; i < n; i++) {
+ const k = prefix[i].toString();
+ key.push(k);
+ path.push(node);
+ node = node.next[k];
+ if (!node) return false;
+ }
+ // if val is given, remove from set
+ // and only collapse path if no other vals for key
+ if (val !== undefined) {
+ const vals = node.vals;
+ if (vals && vals.has(val)) {
+ vals.delete(val);
+ if (vals.size > 0) return true;
+ } else {
+ return false;
+ }
+ }
+ // collapse path
+ while ((node = path[--i])) {
+ delete node.next[key[i]];
+ if (--node.n) break;
+ }
+ return true;
+ }
+
+ protected queueChildren(
+ queue: [string, Trie][],
+ prefix: string,
+ sep = ""
+ ) {
+ prefix = prefix.length ? prefix + sep : prefix;
+ queue.push(
+ ...map(
+ (k) => <[string, Trie]>[prefix + k, this.next[k]],
+ Object.keys(this.next)
+ )
+ );
+ }
+}
diff --git a/packages/associative/test/join.ts b/packages/associative/test/join.ts
index a94e1ee602..932e1a769d 100644
--- a/packages/associative/test/join.ts
+++ b/packages/associative/test/join.ts
@@ -7,30 +7,56 @@ describe("join", () => {
it("simple", () => {
const a = new ArraySet([{ a: 1 }, { a: 2 }]);
const b = new ArraySet([{ b: 1 }, { b: 2 }]);
- assert.deepEqual(join(a, b), new ArraySet([{ a: 1, b: 1 }, { a: 2, b: 1 }, { a: 1, b: 2 }, { a: 2, b: 2 }]));
+ assert.deepEqual(
+ join(a, b),
+ new ArraySet([
+ { a: 1, b: 1 },
+ { a: 2, b: 1 },
+ { a: 1, b: 2 },
+ { a: 2, b: 2 },
+ ])
+ );
});
it("simple isec", () => {
- const a = new ArraySet([{ id: "a", type: 1 }, { id: "b", type: 1 }, { id: "c", type: 2 }]);
- const b = new ArraySet([{ type: 1, label: "foo" }, { type: 2, label: "bar" }, { type: 3, label: "baz" }]);
+ const a = new ArraySet([
+ { id: "a", type: 1 },
+ { id: "b", type: 1 },
+ { id: "c", type: 2 },
+ ]);
+ const b = new ArraySet([
+ { type: 1, label: "foo" },
+ { type: 2, label: "bar" },
+ { type: 3, label: "baz" },
+ ]);
assert.deepEqual(
join(a, b),
new ArraySet([
{ id: "a", type: 1, label: "foo" },
{ id: "b", type: 1, label: "foo" },
- { id: "c", type: 2, label: "bar" }
- ]));
+ { id: "c", type: 2, label: "bar" },
+ ])
+ );
});
it("joinWith", () => {
- const a = new ArraySet([{ id: "a", type: 1 }, { id: "b", type: 1 }, { id: "c", type: 2 }]);
- const b = new ArraySet([{ xyz: 1, label: "foo" }, { xyz: 2, label: "bar" }, { xyz: 3, label: "baz" }]);
+ const a = new ArraySet([
+ { id: "a", type: 1 },
+ { id: "b", type: 1 },
+ { id: "c", type: 2 },
+ ]);
+ const b = new ArraySet([
+ { xyz: 1, label: "foo" },
+ { xyz: 2, label: "bar" },
+ { xyz: 3, label: "baz" },
+ ]);
assert.deepEqual(
joinWith(a, b, { type: "xyz" }),
new ArraySet([
{ id: "a", type: 1, xyz: 1, label: "foo" },
{ id: "b", type: 1, xyz: 1, label: "foo" },
- { id: "c", type: 2, xyz: 2, label: "bar" }
- ]));
+ { id: "c", type: 2, xyz: 2, label: "bar" },
+ ])
+ );
});
});
diff --git a/packages/associative/test/merge.ts b/packages/associative/test/merge.ts
index 5561cd49aa..f2bf8e0c84 100644
--- a/packages/associative/test/merge.ts
+++ b/packages/associative/test/merge.ts
@@ -6,14 +6,23 @@ describe("mergeApply", () => {
it("map", () => {
assert.deepEqual(
mergeApplyMap(
- new Map([["a", 1], ["b", 2], ["c", 3]]),
+ new Map([
+ ["a", 1],
+ ["b", 2],
+ ["c", 3],
+ ]),
new Map>([
["a", (x) => x + 10],
["b", 20],
- ["d", 40]
+ ["d", 40],
])
),
- new Map([["a", 11], ["b", 20], ["c", 3], ["d", 40]])
+ new Map([
+ ["a", 11],
+ ["b", 20],
+ ["c", 3],
+ ["d", 40],
+ ])
);
});
it("object", () => {
diff --git a/packages/associative/test/sparse-set.ts b/packages/associative/test/sparse-set.ts
index af5d6b882f..163ec5c792 100644
--- a/packages/associative/test/sparse-set.ts
+++ b/packages/associative/test/sparse-set.ts
@@ -1,12 +1,7 @@
import { isSet } from "@thi.ng/checks";
import { equiv } from "@thi.ng/equiv";
import * as assert from "assert";
-import {
- defSparseSet,
- SparseSet16,
- SparseSet32,
- SparseSet8
-} from "../src";
+import { defSparseSet, SparseSet16, SparseSet32, SparseSet8 } from "../src";
describe("SparseSet", () => {
let set: SparseSet8;
diff --git a/packages/associative/test/trie.ts b/packages/associative/test/trie.ts
new file mode 100644
index 0000000000..2a07bec892
--- /dev/null
+++ b/packages/associative/test/trie.ts
@@ -0,0 +1,69 @@
+import * as assert from "assert";
+
+import { Trie } from "../src/trie";
+
+describe("Trie", () => {
+ let root: Trie;
+ beforeEach(() => {
+ root = new Trie();
+ root.add("hey", "en");
+ root.add("hello", "en");
+ root.add("hallo", "de");
+ root.add("hallo", "de-at");
+ root.add("hola", "es");
+ root.add("hold", "en");
+ root.add("hej", "se");
+ });
+
+ it("keys", () => {
+ assert.deepEqual(
+ new Set(root.keys()),
+ new Set(["hey", "hello", "hallo", "hallo", "hola", "hold", "hej"])
+ );
+ assert.deepEqual(
+ new Set(root.find("he")!.keys()),
+ new Set(["y", "llo", "j"])
+ );
+ assert.deepEqual(
+ new Set(root.find("ho")!.keys("", "ho")),
+ new Set(["hola", "hold"])
+ );
+ assert.deepEqual(
+ new Set(root.find("he")!.keys("-")),
+ new Set(["l-l-o", "y", "j"])
+ );
+ });
+
+ it("keys (words)", () => {
+ const t = new Trie();
+ t.add("foo bar baz".split(" "), "a");
+ t.add("foo boo zoo".split(" "), "b");
+ assert.deepEqual(
+ new Set(t.keys("/")),
+ new Set(["foo/bar/baz", "foo/boo/zoo"])
+ );
+ });
+
+ it("values", () => {
+ assert.deepEqual(
+ new Set(root.values()),
+ new Set(["en", "es", "de", "de-at", "se"])
+ );
+ assert.deepEqual(
+ new Set(root.find("he")!.values()),
+ new Set(["en", "se"])
+ );
+ });
+
+ it("delete", () => {
+ assert(root.delete("he"));
+ assert.deepEqual(
+ new Set(root.keys()),
+ new Set(["hola", "hold", "hallo"])
+ );
+ assert(root.delete("hallo", "de"));
+ assert.deepEqual(root.get("hallo"), new Set(["de-at"]));
+ assert(root.delete("h"));
+ assert.deepEqual([...root], []);
+ });
+});
diff --git a/packages/associative/test/union.ts b/packages/associative/test/union.ts
index 558db36e0a..c09b3315ed 100644
--- a/packages/associative/test/union.ts
+++ b/packages/associative/test/union.ts
@@ -2,7 +2,6 @@ import * as assert from "assert";
import { ArraySet } from "../src/array-set";
import { union } from "../src/union";
-
describe("union", () => {
it("native (numbers)", () => {
const a = new Set([1, 2, 3, 4]);
diff --git a/packages/atom/CHANGELOG.md b/packages/atom/CHANGELOG.md
index 5b0467f97f..536507b1a0 100644
--- a/packages/atom/CHANGELOG.md
+++ b/packages/atom/CHANGELOG.md
@@ -3,6 +3,14 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
+## [4.1.10](https://github.com/thi-ng/umbrella/compare/@thi.ng/atom@4.1.9...@thi.ng/atom@4.1.10) (2020-06-14)
+
+**Note:** Version bump only for package @thi.ng/atom
+
+
+
+
+
## [4.1.9](https://github.com/thi-ng/umbrella/compare/@thi.ng/atom@4.1.8...@thi.ng/atom@4.1.9) (2020-06-01)
**Note:** Version bump only for package @thi.ng/atom
diff --git a/packages/atom/package.json b/packages/atom/package.json
index fdc01fd913..72ff2c30f7 100644
--- a/packages/atom/package.json
+++ b/packages/atom/package.json
@@ -1,6 +1,6 @@
{
"name": "@thi.ng/atom",
- "version": "4.1.9",
+ "version": "4.1.10",
"description": "Mutable wrappers for nested immutable values with optional undo/redo history and transaction support",
"module": "./index.js",
"main": "./lib/index.js",
@@ -43,11 +43,11 @@
"typescript": "^3.9.2"
},
"dependencies": {
- "@thi.ng/api": "^6.11.0",
- "@thi.ng/checks": "^2.7.0",
+ "@thi.ng/api": "^6.11.1",
+ "@thi.ng/checks": "^2.7.1",
"@thi.ng/equiv": "^1.0.23",
"@thi.ng/errors": "^1.2.14",
- "@thi.ng/paths": "^4.0.7",
+ "@thi.ng/paths": "^4.0.8",
"tslib": "^1.12.0"
},
"files": [
diff --git a/packages/atom/test/atom.ts b/packages/atom/test/atom.ts
index c81ff901bb..6d8fe159cd 100644
--- a/packages/atom/test/atom.ts
+++ b/packages/atom/test/atom.ts
@@ -3,7 +3,6 @@ import * as assert from "assert";
import { Atom } from "../src/index";
describe("atom", function () {
-
let a: Atom;
beforeEach(() => {
@@ -25,15 +24,24 @@ describe("atom", function () {
});
it("can be swapped", () => {
- assert.equal(a.swap((x) => x + 1), 24);
+ assert.equal(
+ a.swap((x) => x + 1),
+ 24
+ );
assert.equal(a.deref(), 24);
});
it("can add & remove watch", () => {
- assert.ok(a.addWatch("foo", () => { }), "can't add watch");
+ assert.ok(
+ a.addWatch("foo", () => {}),
+ "can't add watch"
+ );
assert.ok((a)._watches && (a)._watches.foo, "watch missing");
assert.ok(a.removeWatch("foo"), "can't remove watch");
- assert.ok(!a.removeWatch("foo"), "should fail to remove invalid watch id");
+ assert.ok(
+ !a.removeWatch("foo"),
+ "should fail to remove invalid watch id"
+ );
});
it("can be watched", () => {
@@ -51,7 +59,13 @@ describe("atom", function () {
assert.equal(a.reset(2), 2);
assert.equal(a.reset("3"), 2);
assert.equal(a.reset(null), 2);
- assert.equal(a.swap(() => "3"), 2);
- assert.equal(a.swap(() => null), 2);
+ assert.equal(
+ a.swap(() => "3"),
+ 2
+ );
+ assert.equal(
+ a.swap(() => null),
+ 2
+ );
});
});
diff --git a/packages/atom/test/cursor.ts b/packages/atom/test/cursor.ts
index caf7c13c2d..5e8002fb3e 100644
--- a/packages/atom/test/cursor.ts
+++ b/packages/atom/test/cursor.ts
@@ -1,11 +1,6 @@
import { isNumber } from "@thi.ng/checks";
import * as assert from "assert";
-import {
- Atom,
- Cursor,
- defAtom,
- defCursor
-} from "../src/index";
+import { Atom, Cursor, defAtom, defCursor } from "../src/index";
interface State {
a: {
diff --git a/packages/bench/CHANGELOG.md b/packages/bench/CHANGELOG.md
index d5b05d5885..d5fec3a287 100644
--- a/packages/bench/CHANGELOG.md
+++ b/packages/bench/CHANGELOG.md
@@ -3,6 +3,14 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
+## [2.0.13](https://github.com/thi-ng/umbrella/compare/@thi.ng/bench@2.0.12...@thi.ng/bench@2.0.13) (2020-06-14)
+
+**Note:** Version bump only for package @thi.ng/bench
+
+
+
+
+
## [2.0.6](https://github.com/thi-ng/umbrella/compare/@thi.ng/bench@2.0.5...@thi.ng/bench@2.0.6) (2020-04-03)
diff --git a/packages/bench/package.json b/packages/bench/package.json
index fd1b43141c..bc3d6d599c 100644
--- a/packages/bench/package.json
+++ b/packages/bench/package.json
@@ -1,6 +1,6 @@
{
"name": "@thi.ng/bench",
- "version": "2.0.12",
+ "version": "2.0.13",
"description": "Benchmarking utilities w/ optional statistics",
"module": "./index.js",
"main": "./lib/index.js",
diff --git a/packages/bench/src/benchmark.ts b/packages/bench/src/benchmark.ts
index b7690c6c49..34a909bb9d 100644
--- a/packages/bench/src/benchmark.ts
+++ b/packages/bench/src/benchmark.ts
@@ -49,6 +49,6 @@ export const benchmark = (
max,
q1,
q3,
- sd
+ sd,
};
};
diff --git a/packages/bencode/CHANGELOG.md b/packages/bencode/CHANGELOG.md
index a17e7965e5..883d2f1f6e 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.27](https://github.com/thi-ng/umbrella/compare/@thi.ng/bencode@0.3.26...@thi.ng/bencode@0.3.27) (2020-06-14)
+
+**Note:** Version bump only for package @thi.ng/bencode
+
+
+
+
+
## [0.3.26](https://github.com/thi-ng/umbrella/compare/@thi.ng/bencode@0.3.25...@thi.ng/bencode@0.3.26) (2020-06-01)
**Note:** Version bump only for package @thi.ng/bencode
diff --git a/packages/bencode/package.json b/packages/bencode/package.json
index eb8668b70e..9d347861d3 100644
--- a/packages/bencode/package.json
+++ b/packages/bencode/package.json
@@ -1,6 +1,6 @@
{
"name": "@thi.ng/bencode",
- "version": "0.3.26",
+ "version": "0.3.27",
"description": "Bencode binary encoder / decoder with optional UTF8 encoding & floating point support",
"module": "./index.js",
"main": "./lib/index.js",
@@ -43,13 +43,13 @@
"typescript": "^3.9.2"
},
"dependencies": {
- "@thi.ng/api": "^6.11.0",
- "@thi.ng/arrays": "^0.6.8",
- "@thi.ng/checks": "^2.7.0",
- "@thi.ng/defmulti": "^1.2.16",
+ "@thi.ng/api": "^6.11.1",
+ "@thi.ng/arrays": "^0.6.9",
+ "@thi.ng/checks": "^2.7.1",
+ "@thi.ng/defmulti": "^1.2.17",
"@thi.ng/errors": "^1.2.14",
- "@thi.ng/transducers": "^7.0.0",
- "@thi.ng/transducers-binary": "^0.5.16",
+ "@thi.ng/transducers": "^7.1.0",
+ "@thi.ng/transducers-binary": "^0.5.17",
"tslib": "^1.12.0"
},
"files": [
diff --git a/packages/bencode/src/index.ts b/packages/bencode/src/index.ts
index a6ab6d0231..24ce5421af 100644
--- a/packages/bencode/src/index.ts
+++ b/packages/bencode/src/index.ts
@@ -6,7 +6,7 @@ import {
isBoolean,
isNumber,
isPlainObject,
- isString
+ isString,
} from "@thi.ng/checks";
import { defmulti } from "@thi.ng/defmulti";
import { illegalState, unsupported } from "@thi.ng/errors";
@@ -18,7 +18,7 @@ import {
u8,
u8array,
utf8Decode,
- utf8Length
+ utf8Length,
} from "@thi.ng/transducers-binary";
const enum Type {
@@ -27,7 +27,7 @@ const enum Type {
STR,
BINARY,
DICT,
- LIST
+ LIST,
}
const enum Lit {
@@ -40,7 +40,7 @@ const enum Lit {
END = 0x65,
FLOAT = 0x66,
INT = 0x69,
- LIST = 0x6c
+ LIST = 0x6c,
}
const FLOAT_RE = /^[0-9.-]+$/;
@@ -84,7 +84,7 @@ encodeBin.addAll({
[Type.LIST]: (x: Iterable) => [
u8(0x6c),
...mapcat(encodeBin, x),
- u8(0x65)
+ u8(0x65),
],
[Type.DICT]: (x: any) => [
@@ -93,8 +93,8 @@ encodeBin.addAll({
(k: string) => encodeBin(k).concat(encodeBin(x[k])),
Object.keys(x).sort()
),
- u8(0x65)
- ]
+ u8(0x65),
+ ],
});
export const decode = (buf: Iterable, utf8 = true) => {
diff --git a/packages/binary/CHANGELOG.md b/packages/binary/CHANGELOG.md
index 9dcbec5486..a93bc98226 100644
--- a/packages/binary/CHANGELOG.md
+++ b/packages/binary/CHANGELOG.md
@@ -3,6 +3,14 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
+## [2.0.8](https://github.com/thi-ng/umbrella/compare/@thi.ng/binary@2.0.7...@thi.ng/binary@2.0.8) (2020-06-14)
+
+**Note:** Version bump only for package @thi.ng/binary
+
+
+
+
+
# [2.0.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/binary@1.3.2...@thi.ng/binary@2.0.0) (2020-03-06)
diff --git a/packages/binary/package.json b/packages/binary/package.json
index 0c485bda27..47a42206d4 100644
--- a/packages/binary/package.json
+++ b/packages/binary/package.json
@@ -1,6 +1,6 @@
{
"name": "@thi.ng/binary",
- "version": "2.0.7",
+ "version": "2.0.8",
"description": "95+ assorted binary / bitwise operations, conversions, utilities",
"module": "./index.js",
"main": "./lib/index.js",
diff --git a/packages/binary/src/float.ts b/packages/binary/src/float.ts
index 2a332b3e60..a7b65f057d 100644
--- a/packages/binary/src/float.ts
+++ b/packages/binary/src/float.ts
@@ -62,7 +62,7 @@ export const uintBitsToFloat64 = (hi: number, lo: number) => {
* Converts given float (f32) into a sortable integer representation,
* using raw bitwise conversion via {@link floatToIntBits}.
*
- * {@link https://github.com/tzaeschke/phtree/blob/master/PhTreeRevisited.pdf}
+ * {@link https://github.com/tzaeschke/phtree/blob/develop/PhTreeRevisited.pdf}
* (page 3)
*
* @param x - value to convert
diff --git a/packages/binary/src/logic.ts b/packages/binary/src/logic.ts
index 0bbed88efd..ef53027dfa 100644
--- a/packages/binary/src/logic.ts
+++ b/packages/binary/src/logic.ts
@@ -31,7 +31,7 @@ export const bitMux = (a: number, b: number, s: number) =>
export const bitDemux = (a: number, b: number, s: number): [number, number] => [
(a & ~s) >>> 0,
- (b & s) >>> 0
+ (b & s) >>> 0,
];
export const bitNotM = (n: number, x: number) => maskL(n, ~x);
diff --git a/packages/binary/src/swizzle.ts b/packages/binary/src/swizzle.ts
index e3af89bb32..ee8fd51023 100644
--- a/packages/binary/src/swizzle.ts
+++ b/packages/binary/src/swizzle.ts
@@ -1,9 +1,4 @@
-import type {
- Lane16,
- Lane2,
- Lane4,
- Lane8
-} from "./api";
+import type { Lane16, Lane2, Lane4, Lane8 } from "./api";
/**
* Extracts 16-bit lane from given 32bit uint and returns as unsigned
diff --git a/packages/bitfield/CHANGELOG.md b/packages/bitfield/CHANGELOG.md
index 71c7d7d0c6..2e37462652 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.11](https://github.com/thi-ng/umbrella/compare/@thi.ng/bitfield@0.3.10...@thi.ng/bitfield@0.3.11) (2020-06-14)
+
+**Note:** Version bump only for package @thi.ng/bitfield
+
+
+
+
+
## [0.3.10](https://github.com/thi-ng/umbrella/compare/@thi.ng/bitfield@0.3.9...@thi.ng/bitfield@0.3.10) (2020-06-01)
**Note:** Version bump only for package @thi.ng/bitfield
diff --git a/packages/bitfield/package.json b/packages/bitfield/package.json
index 83fd946f0d..a03517ddac 100644
--- a/packages/bitfield/package.json
+++ b/packages/bitfield/package.json
@@ -1,6 +1,6 @@
{
"name": "@thi.ng/bitfield",
- "version": "0.3.10",
+ "version": "0.3.11",
"description": "1D / 2D bit field implementations",
"module": "./index.js",
"main": "./lib/index.js",
@@ -43,9 +43,9 @@
"typescript": "^3.9.2"
},
"dependencies": {
- "@thi.ng/api": "^6.11.0",
- "@thi.ng/binary": "^2.0.7",
- "@thi.ng/strings": "^1.8.9",
+ "@thi.ng/api": "^6.11.1",
+ "@thi.ng/binary": "^2.0.8",
+ "@thi.ng/strings": "^1.8.10",
"tslib": "^1.12.0"
},
"files": [
diff --git a/packages/bitfield/src/bitfield.ts b/packages/bitfield/src/bitfield.ts
index b7c174ff41..0c36f1a211 100644
--- a/packages/bitfield/src/bitfield.ts
+++ b/packages/bitfield/src/bitfield.ts
@@ -1,11 +1,5 @@
import { assert } from "@thi.ng/api";
-import {
- align,
- bitAnd,
- bitNot,
- bitOr,
- bitXor
-} from "@thi.ng/binary";
+import { align, bitAnd, bitNot, bitOr, bitXor } from "@thi.ng/binary";
import { binOp, toString } from "./util";
import type { Fn2, IClear, ICopy } from "@thi.ng/api";
diff --git a/packages/bitfield/src/bitmatrix.ts b/packages/bitfield/src/bitmatrix.ts
index e3e4289709..729f5a8613 100644
--- a/packages/bitfield/src/bitmatrix.ts
+++ b/packages/bitfield/src/bitmatrix.ts
@@ -1,11 +1,5 @@
import { assert } from "@thi.ng/api";
-import {
- align,
- bitAnd,
- bitNot,
- bitOr,
- bitXor
-} from "@thi.ng/binary";
+import { align, bitAnd, bitNot, bitOr, bitXor } from "@thi.ng/binary";
import { binOp, toString } from "./util";
import type { Fn2, IClear, ICopy } from "@thi.ng/api";
diff --git a/packages/bitstream/CHANGELOG.md b/packages/bitstream/CHANGELOG.md
index 6e2fb1f545..b403a03a9d 100644
--- a/packages/bitstream/CHANGELOG.md
+++ b/packages/bitstream/CHANGELOG.md
@@ -3,6 +3,14 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
+## [1.1.18](https://github.com/thi-ng/umbrella/compare/@thi.ng/bitstream@1.1.17...@thi.ng/bitstream@1.1.18) (2020-06-14)
+
+**Note:** Version bump only for package @thi.ng/bitstream
+
+
+
+
+
# [1.1.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/bitstream@1.0.6...@thi.ng/bitstream@1.1.0) (2019-07-07)
### Features
diff --git a/packages/bitstream/package.json b/packages/bitstream/package.json
index 95206eab78..19cdd594e9 100644
--- a/packages/bitstream/package.json
+++ b/packages/bitstream/package.json
@@ -1,6 +1,6 @@
{
"name": "@thi.ng/bitstream",
- "version": "1.1.17",
+ "version": "1.1.18",
"description": "ES6 iterator based read/write bit streams with support for variable word widths",
"module": "./index.js",
"main": "./lib/index.js",
diff --git a/packages/bitstream/src/input.ts b/packages/bitstream/src/input.ts
index 7c0c67aa22..e810431a10 100644
--- a/packages/bitstream/src/input.ts
+++ b/packages/bitstream/src/input.ts
@@ -81,7 +81,7 @@ export class BitInputStream {
return out;
}
- readStruct(fields: ([string, number])[]) {
+ readStruct(fields: [string, number][]) {
return fields.reduce((acc: any, [id, word]) => {
return (acc[id] = this.read(word)), acc;
}, {});
diff --git a/packages/bitstream/test/index.ts b/packages/bitstream/test/index.ts
index a16f075801..776d2d2698 100644
--- a/packages/bitstream/test/index.ts
+++ b/packages/bitstream/test/index.ts
@@ -1,7 +1,7 @@
import * as assert from "assert";
import * as bits from "../src/index";
-describe("BitInputStream", function() {
+describe("BitInputStream", function () {
let src = new Uint8Array([
0xbe,
0xef,
@@ -11,7 +11,7 @@ describe("BitInputStream", function() {
0xad,
0xf0,
0x0b,
- 0xaa
+ 0xaa,
]);
it("iterator", () => {
assert.equal(
diff --git a/packages/cache/CHANGELOG.md b/packages/cache/CHANGELOG.md
index eedfed38ac..6d260bb344 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.47](https://github.com/thi-ng/umbrella/compare/@thi.ng/cache@1.0.46...@thi.ng/cache@1.0.47) (2020-06-14)
+
+**Note:** Version bump only for package @thi.ng/cache
+
+
+
+
+
## [1.0.46](https://github.com/thi-ng/umbrella/compare/@thi.ng/cache@1.0.45...@thi.ng/cache@1.0.46) (2020-06-01)
**Note:** Version bump only for package @thi.ng/cache
diff --git a/packages/cache/package.json b/packages/cache/package.json
index ecc9b7a7d5..c82602e043 100644
--- a/packages/cache/package.json
+++ b/packages/cache/package.json
@@ -1,6 +1,6 @@
{
"name": "@thi.ng/cache",
- "version": "1.0.46",
+ "version": "1.0.47",
"description": "In-memory cache implementations with ES6 Map-like API and different eviction strategies",
"module": "./index.js",
"main": "./lib/index.js",
@@ -43,9 +43,9 @@
"typescript": "^3.9.2"
},
"dependencies": {
- "@thi.ng/api": "^6.11.0",
- "@thi.ng/dcons": "^2.2.19",
- "@thi.ng/transducers": "^7.0.0",
+ "@thi.ng/api": "^6.11.1",
+ "@thi.ng/dcons": "^2.2.20",
+ "@thi.ng/transducers": "^7.1.0",
"tslib": "^1.12.0"
},
"files": [
diff --git a/packages/cache/src/api.ts b/packages/cache/src/api.ts
index f05b32d054..341cda53fa 100644
--- a/packages/cache/src/api.ts
+++ b/packages/cache/src/api.ts
@@ -5,7 +5,7 @@ import type {
ICopy,
IEmpty,
ILength,
- IRelease
+ IRelease,
} from "@thi.ng/api";
export interface ICache
diff --git a/packages/cache/src/lru.ts b/packages/cache/src/lru.ts
index 27043447f9..cee49f212f 100644
--- a/packages/cache/src/lru.ts
+++ b/packages/cache/src/lru.ts
@@ -19,7 +19,7 @@ export class LRUCache implements ICache {
maxsize: Infinity,
map: () => new Map(),
ksize: () => 0,
- vsize: () => 0
+ vsize: () => 0,
},
opts
);
diff --git a/packages/cache/src/tlru.ts b/packages/cache/src/tlru.ts
index 64d3cce591..2a6533153a 100644
--- a/packages/cache/src/tlru.ts
+++ b/packages/cache/src/tlru.ts
@@ -73,7 +73,7 @@ export class TLRUCache extends LRUCache {
k: key,
v: value,
s: size,
- t
+ t,
});
this.map.set(key, this.items.tail!);
}
diff --git a/packages/cache/test/lru.ts b/packages/cache/test/lru.ts
index 48a54124f9..ad9c86fb76 100644
--- a/packages/cache/test/lru.ts
+++ b/packages/cache/test/lru.ts
@@ -2,17 +2,20 @@ import * as assert from "assert";
import { LRUCache } from "../src/index";
describe("LRU", () => {
-
let c: LRUCache;
let evicts: any[];
beforeEach(() => {
evicts = [];
c = new LRUCache(
- [["a", 1], ["b", 2], ["c", 3]],
+ [
+ ["a", 1],
+ ["b", 2],
+ ["c", 3],
+ ],
{
maxlen: 4,
- release: (k, v) => evicts.push([k, v])
+ release: (k, v) => evicts.push([k, v]),
}
);
});
@@ -37,5 +40,4 @@ describe("LRU", () => {
assert.deepEqual([...c.values()], [1, 2, 4, 5]);
assert.deepEqual(evicts, [["c", 3]]);
});
-
});
diff --git a/packages/cache/test/mru.ts b/packages/cache/test/mru.ts
index 3a6105caa5..b16cee9e70 100644
--- a/packages/cache/test/mru.ts
+++ b/packages/cache/test/mru.ts
@@ -2,17 +2,20 @@ import * as assert from "assert";
import { MRUCache } from "../src/index";
describe("MRU", () => {
-
let c: MRUCache;
let evicts: any[];
beforeEach(() => {
evicts = [];
c = new MRUCache(
- [["a", 1], ["b", 2], ["c", 3]],
+ [
+ ["a", 1],
+ ["b", 2],
+ ["c", 3],
+ ],
{
maxlen: 4,
- release: (k, v) => evicts.push([k, v])
+ release: (k, v) => evicts.push([k, v]),
}
);
});
@@ -37,5 +40,4 @@ describe("MRU", () => {
assert.deepEqual([...c.values()], [5, 2, 1, 3]);
assert.deepEqual(evicts, [["d", 4]]);
});
-
});
diff --git a/packages/cache/test/tlru.ts b/packages/cache/test/tlru.ts
index 708439da18..a3476f9ba9 100644
--- a/packages/cache/test/tlru.ts
+++ b/packages/cache/test/tlru.ts
@@ -2,18 +2,21 @@ import * as assert from "assert";
import { TLRUCache } from "../src/index";
describe("TLRU", () => {
-
let c: TLRUCache;
let evicts: any[];
beforeEach(() => {
evicts = [];
c = new TLRUCache(
- [["a", 1], ["b", 2], ["c", 3]],
+ [
+ ["a", 1],
+ ["b", 2],
+ ["c", 3],
+ ],
{
maxlen: 4,
ttl: 10,
- release: (k, v) => evicts.push([k, v])
+ release: (k, v) => evicts.push([k, v]),
}
);
});
@@ -44,7 +47,10 @@ describe("TLRU", () => {
setTimeout(() => {
assert(!c.has("b"));
assert(!c.has("c"));
- assert.deepEqual(evicts, [["b", 2], ["c", 3]]);
+ assert.deepEqual(evicts, [
+ ["b", 2],
+ ["c", 3],
+ ]);
assert.deepEqual([...c.keys()], ["a"]);
done();
}, 20);
@@ -52,16 +58,24 @@ describe("TLRU", () => {
it("getSet ttl", (done) => {
setTimeout(() => {
- c.getSet("a", () => Promise.resolve(10)).then(v => {
- assert.equal(v, 10);
- assert(!c.has("b"));
- assert(!c.has("c"));
- assert.deepEqual([...evicts], [["a", 1], ["b", 2], ["c", 3]]);
- assert.deepEqual([...c.keys()], ["a"]);
- assert.deepEqual([...c.values()], [10]);
- done();
- }).catch(done)
- }, 20)
+ c.getSet("a", () => Promise.resolve(10))
+ .then((v) => {
+ assert.equal(v, 10);
+ assert(!c.has("b"));
+ assert(!c.has("c"));
+ assert.deepEqual(
+ [...evicts],
+ [
+ ["a", 1],
+ ["b", 2],
+ ["c", 3],
+ ]
+ );
+ assert.deepEqual([...c.keys()], ["a"]);
+ assert.deepEqual([...c.values()], [10]);
+ done();
+ })
+ .catch(done);
+ }, 20);
});
-
});
diff --git a/packages/checks/CHANGELOG.md b/packages/checks/CHANGELOG.md
index af3f99480b..cf2a47f3e5 100644
--- a/packages/checks/CHANGELOG.md
+++ b/packages/checks/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.7.1](https://github.com/thi-ng/umbrella/compare/@thi.ng/checks@2.7.0...@thi.ng/checks@2.7.1) (2020-06-14)
+
+**Note:** Version bump only for package @thi.ng/checks
+
+
+
+
+
# [2.7.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/checks@2.6.5...@thi.ng/checks@2.7.0) (2020-05-14)
diff --git a/packages/checks/package.json b/packages/checks/package.json
index 3e2b028f55..a5fe04e9a4 100644
--- a/packages/checks/package.json
+++ b/packages/checks/package.json
@@ -1,6 +1,6 @@
{
"name": "@thi.ng/checks",
- "version": "2.7.0",
+ "version": "2.7.1",
"description": "Collection of 50+ type, feature & value checks",
"module": "./index.js",
"main": "./lib/index.js",
diff --git a/packages/checks/src/is-mobile.ts b/packages/checks/src/is-mobile.ts
index 3568663ff2..a54d48b107 100644
--- a/packages/checks/src/is-mobile.ts
+++ b/packages/checks/src/is-mobile.ts
@@ -1,3 +1,5 @@
export const isMobile = () =>
typeof navigator !== "undefined" &&
- /mobile|tablet|ip(ad|hone|od)|android|silk|crios/i.test(navigator.userAgent);
+ /mobile|tablet|ip(ad|hone|od)|android|silk|crios/i.test(
+ navigator.userAgent
+ );
diff --git a/packages/checks/test/index.ts b/packages/checks/test/index.ts
index 56af44064a..c05f58de51 100644
--- a/packages/checks/test/index.ts
+++ b/packages/checks/test/index.ts
@@ -14,7 +14,7 @@ import { isTypedArray } from "../src/is-typedarray";
import { isNil } from "../src/is-nil";
import { isHexColor } from "../src/is-hex-color";
-describe("checks", function() {
+describe("checks", function () {
it("existsAndNotNull", () => {
assert.ok(existsAndNotNull([]), "empty array");
assert.ok(existsAndNotNull(new Uint8Array(1)), "typedarray");
@@ -90,7 +90,7 @@ describe("checks", function() {
assert.ok(isPlainObject(new Object()), "obj ctor");
assert.ok(!isPlainObject(Foo), "fn");
assert.ok(
- !isPlainObject((function*(): IterableIterator {})()),
+ !isPlainObject((function* (): IterableIterator {})()),
"generator"
);
assert.ok(!isPlainObject(new Foo()), "class");
@@ -116,7 +116,10 @@ describe("checks", function() {
});
it("isFunction", () => {
- assert.ok(isFunction((_: any) => {}), "fn");
+ assert.ok(
+ isFunction((_: any) => {}),
+ "fn"
+ );
assert.ok(isFunction(Uint8Array), "ctor");
assert.ok(isFunction("a".toString), "toString");
assert.ok(!isFunction("a"), "empty string");
diff --git a/packages/color/CHANGELOG.md b/packages/color/CHANGELOG.md
index 6d3d452192..f4847ca175 100644
--- a/packages/color/CHANGELOG.md
+++ b/packages/color/CHANGELOG.md
@@ -3,6 +3,14 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
+## [1.2.3](https://github.com/thi-ng/umbrella/compare/@thi.ng/color@1.2.2...@thi.ng/color@1.2.3) (2020-06-14)
+
+**Note:** Version bump only for package @thi.ng/color
+
+
+
+
+
## [1.2.2](https://github.com/thi-ng/umbrella/compare/@thi.ng/color@1.2.1...@thi.ng/color@1.2.2) (2020-06-01)
**Note:** Version bump only for package @thi.ng/color
diff --git a/packages/color/package.json b/packages/color/package.json
index 26f60133e2..b369580a72 100644
--- a/packages/color/package.json
+++ b/packages/color/package.json
@@ -1,6 +1,6 @@
{
"name": "@thi.ng/color",
- "version": "1.2.2",
+ "version": "1.2.3",
"description": "Array-based color ops, conversions, multi-color gradients, presets",
"module": "./index.js",
"main": "./lib/index.js",
@@ -43,15 +43,15 @@
"typescript": "^3.9.2"
},
"dependencies": {
- "@thi.ng/api": "^6.11.0",
- "@thi.ng/checks": "^2.7.0",
- "@thi.ng/compose": "^1.4.8",
- "@thi.ng/defmulti": "^1.2.16",
+ "@thi.ng/api": "^6.11.1",
+ "@thi.ng/checks": "^2.7.1",
+ "@thi.ng/compose": "^1.4.9",
+ "@thi.ng/defmulti": "^1.2.17",
"@thi.ng/errors": "^1.2.14",
- "@thi.ng/math": "^1.7.10",
- "@thi.ng/strings": "^1.8.9",
- "@thi.ng/transducers": "^7.0.0",
- "@thi.ng/vectors": "^4.4.3",
+ "@thi.ng/math": "^1.7.11",
+ "@thi.ng/strings": "^1.8.10",
+ "@thi.ng/transducers": "^7.1.0",
+ "@thi.ng/vectors": "^4.4.4",
"tslib": "^1.12.0"
},
"files": [
diff --git a/packages/color/src/convert.ts b/packages/color/src/convert.ts
index f7d136190a..d1b74c494c 100644
--- a/packages/color/src/convert.ts
+++ b/packages/color/src/convert.ts
@@ -23,12 +23,7 @@ import { rgbaYcbcra } from "./rgba-ycbcra";
import { xyzaRgba } from "./xyza-rgba";
import { ycbcraRgba } from "./ycbcra-rgba";
import type { Implementation2O, MultiFn2O } from "@thi.ng/defmulti";
-import type {
- Color,
- ColorConversion,
- IColor,
- ReadonlyColor
-} from "./api";
+import type { Color, ColorConversion, IColor, ReadonlyColor } from "./api";
export const convert: MultiFn2O<
string | number | ReadonlyColor | IColor,
@@ -155,7 +150,7 @@ defConversion(ColorMode.RGBA, ColorMode.CSS, (x: any) => parseCss(x));
ColorMode.HSVA,
ColorMode.INT32,
ColorMode.XYZA,
- ColorMode.YCBCRA
+ ColorMode.YCBCRA,
].forEach((id) =>
defConversion(id, ColorMode.CSS, (x: any) =>
convert(parseCss(x), id, ColorMode.RGBA)
@@ -244,7 +239,7 @@ defConversion(ColorMode.HSLA, ColorMode.HSVA, (x: any) => hsvaHsla([], x));
[ColorMode.HSLA, rgbaHsla],
[ColorMode.HSVA, rgbaHsva],
[ColorMode.XYZA, rgbaXyza],
- [ColorMode.YCBCRA, rgbaYcbcra]
+ [ColorMode.YCBCRA, rgbaYcbcra],
]).forEach(([id, fn]) =>
defConversion(id, ColorMode.RGBA, (x: any) => fn([], x))
);
diff --git a/packages/color/src/internal/matrix-ops.ts b/packages/color/src/internal/matrix-ops.ts
index 9177d100af..60138f8b88 100644
--- a/packages/color/src/internal/matrix-ops.ts
+++ b/packages/color/src/internal/matrix-ops.ts
@@ -55,5 +55,5 @@ export const mulM45 = (a: ColorMatrix, b: ColorMatrix): ColorMatrix => [
dotS4(b, a, 15, 1, 1, 5),
dotS4(b, a, 15, 2, 1, 5),
dotS4(b, a, 15, 3, 1, 5),
- dotS4(b, a, 15, 4, 1, 5) + b[19]
+ dotS4(b, a, 15, 4, 1, 5) + b[19],
];
diff --git a/packages/color/src/kelvin-rgba.ts b/packages/color/src/kelvin-rgba.ts
index 2638e344b1..272cc1c774 100644
--- a/packages/color/src/kelvin-rgba.ts
+++ b/packages/color/src/kelvin-rgba.ts
@@ -17,7 +17,7 @@ const B3 = 0.453646839257496;
/**
* Based on:
- * - {@link https://github.com/neilbartlett/color-temperature/blob/master/index.js}
+ * - {@link https://github.com/neilbartlett/color-temperature/blob/develop/index.js}
* - {@link http://www.zombieprototypes.com/?p=210}
*
* Uses adjusted coefficients to produce normalized RGB values.
diff --git a/packages/color/src/names.ts b/packages/color/src/names.ts
index c7322eca42..4d3ec21eab 100644
--- a/packages/color/src/names.ts
+++ b/packages/color/src/names.ts
@@ -147,5 +147,5 @@ export const CSS_NAMES: IObjectOf = {
white: "fff",
whitesmoke: "f5f5f5",
yellow: "ff0",
- yellowgreen: "9acd32"
+ yellowgreen: "9acd32",
};
diff --git a/packages/color/src/parse-css.ts b/packages/color/src/parse-css.ts
index 2bd0fd628d..66413d0749 100644
--- a/packages/color/src/parse-css.ts
+++ b/packages/color/src/parse-css.ts
@@ -23,14 +23,14 @@ export const parseCss = (col: string | IDeref) => {
parseChannel(match[2]),
parseChannel(match[3]),
parseChannel(match[4]),
- maybeParseFloat(match[5], 1)
+ maybeParseFloat(match[5], 1),
];
} else {
return hslaRgba(null, [
maybeParseFloat(match[2]) / 360,
parseChannel(match[3]),
parseChannel(match[4]),
- maybeParseFloat(match[5], 1)
+ maybeParseFloat(match[5], 1),
]);
}
} else {
diff --git a/packages/color/src/rgba-hcva.ts b/packages/color/src/rgba-hcva.ts
index c95b947fe0..ee3cd23ff3 100644
--- a/packages/color/src/rgba-hcva.ts
+++ b/packages/color/src/rgba-hcva.ts
@@ -5,7 +5,7 @@ import type { ColorOp } from "./api";
/**
* Based on:
- * {@link https://github.com/tobspr/GLSL-Color-Spaces/blob/master/ColorSpaces.inc.glsl#L159}
+ * {@link https://github.com/tobspr/GLSL-Color-Spaces/blob/develop/ColorSpaces.inc.glsl#L159}
*
* @param out - result
* @param src - source color
diff --git a/packages/color/src/rgba-hcya.ts b/packages/color/src/rgba-hcya.ts
index 8cb27bfedf..ba70ebb425 100644
--- a/packages/color/src/rgba-hcya.ts
+++ b/packages/color/src/rgba-hcya.ts
@@ -6,7 +6,7 @@ import type { ColorOp } from "./api";
/**
* Ported from:
- * {@link https://github.com/tobspr/GLSL-Color-Spaces/blob/master/ColorSpaces.inc.glsl#L226}
+ * {@link https://github.com/tobspr/GLSL-Color-Spaces/blob/develop/ColorSpaces.inc.glsl#L226}
*
* @param out - result
* @param src - source color
diff --git a/packages/color/src/rgba-hsia.ts b/packages/color/src/rgba-hsia.ts
index 97f6f1bac8..cadb040c04 100644
--- a/packages/color/src/rgba-hsia.ts
+++ b/packages/color/src/rgba-hsia.ts
@@ -1,9 +1,4 @@
-import {
- atan2Abs,
- SQRT3,
- TAU,
- THIRD
-} from "@thi.ng/math";
+import { atan2Abs, SQRT3, TAU, THIRD } from "@thi.ng/math";
import { setC3 } from "@thi.ng/vectors";
import { clamp } from "./clamp";
import type { ColorOp } from "./api";
diff --git a/packages/compare/CHANGELOG.md b/packages/compare/CHANGELOG.md
index c22142d4ca..78b4b24f4f 100644
--- a/packages/compare/CHANGELOG.md
+++ b/packages/compare/CHANGELOG.md
@@ -3,6 +3,14 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
+## [1.3.8](https://github.com/thi-ng/umbrella/compare/@thi.ng/compare@1.3.7...@thi.ng/compare@1.3.8) (2020-06-14)
+
+**Note:** Version bump only for package @thi.ng/compare
+
+
+
+
+
## [1.3.7](https://github.com/thi-ng/umbrella/compare/@thi.ng/compare@1.3.6...@thi.ng/compare@1.3.7) (2020-06-01)
**Note:** Version bump only for package @thi.ng/compare
diff --git a/packages/compare/package.json b/packages/compare/package.json
index 4a9c6e415e..735e39f2f8 100644
--- a/packages/compare/package.json
+++ b/packages/compare/package.json
@@ -1,6 +1,6 @@
{
"name": "@thi.ng/compare",
- "version": "1.3.7",
+ "version": "1.3.8",
"description": "Comparators with support for types implementing the @thi.ng/api/ICompare interface",
"module": "./index.js",
"main": "./lib/index.js",
@@ -43,7 +43,7 @@
"typescript": "^3.9.2"
},
"dependencies": {
- "@thi.ng/api": "^6.11.0",
+ "@thi.ng/api": "^6.11.1",
"tslib": "^1.12.0"
},
"files": [
diff --git a/packages/compose/CHANGELOG.md b/packages/compose/CHANGELOG.md
index c9236a3b88..f81e9f573b 100644
--- a/packages/compose/CHANGELOG.md
+++ b/packages/compose/CHANGELOG.md
@@ -3,6 +3,14 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
+## [1.4.9](https://github.com/thi-ng/umbrella/compare/@thi.ng/compose@1.4.8...@thi.ng/compose@1.4.9) (2020-06-14)
+
+**Note:** Version bump only for package @thi.ng/compose
+
+
+
+
+
## [1.4.8](https://github.com/thi-ng/umbrella/compare/@thi.ng/compose@1.4.7...@thi.ng/compose@1.4.8) (2020-06-01)
**Note:** Version bump only for package @thi.ng/compose
diff --git a/packages/compose/package.json b/packages/compose/package.json
index fb1efe22ae..221f6be4c3 100644
--- a/packages/compose/package.json
+++ b/packages/compose/package.json
@@ -1,6 +1,6 @@
{
"name": "@thi.ng/compose",
- "version": "1.4.8",
+ "version": "1.4.9",
"description": "Optimized functional composition helpers",
"module": "./index.js",
"main": "./lib/index.js",
@@ -43,7 +43,7 @@
"typescript": "^3.9.2"
},
"dependencies": {
- "@thi.ng/api": "^6.11.0",
+ "@thi.ng/api": "^6.11.1",
"@thi.ng/errors": "^1.2.14",
"tslib": "^1.12.0"
},
diff --git a/packages/compose/src/complement.ts b/packages/compose/src/complement.ts
index dfc1bd15e7..c37ff03617 100644
--- a/packages/compose/src/complement.ts
+++ b/packages/compose/src/complement.ts
@@ -8,7 +8,7 @@ import type {
Fn6,
Fn7,
Fn8,
- FnAny
+ FnAny,
} from "@thi.ng/api";
export function complement(f: Fn0): Fn0;
diff --git a/packages/compose/src/partial.ts b/packages/compose/src/partial.ts
index 2de6b6249a..18960ccebf 100644
--- a/packages/compose/src/partial.ts
+++ b/packages/compose/src/partial.ts
@@ -8,7 +8,7 @@ import type {
FnO5,
FnO6,
FnO7,
- FnO8
+ FnO8,
} from "@thi.ng/api";
export function partial(fn: FnO, a: A): FnAny;
diff --git a/packages/compose/test/delay.ts b/packages/compose/test/delay.ts
index a03b216410..a24e4d299a 100644
--- a/packages/compose/test/delay.ts
+++ b/packages/compose/test/delay.ts
@@ -3,7 +3,6 @@ import { delay } from "../src";
import * as assert from "assert";
describe("delay", () => {
-
it("only executes once", () => {
let num = 0;
const a = delay(() => ++num);
diff --git a/packages/compose/test/juxt.ts b/packages/compose/test/juxt.ts
index 394cdb427b..bd81d6b34c 100644
--- a/packages/compose/test/juxt.ts
+++ b/packages/compose/test/juxt.ts
@@ -3,7 +3,6 @@ import { juxt } from "../src";
import * as assert from "assert";
describe("juxt", () => {
-
it("2-args", () => {
const a = juxt(
(x: number) => x + 1,
@@ -26,7 +25,7 @@ describe("juxt", () => {
(x: number) => x + 1,
(x: number) => x * 10,
(x: number) => "id-" + x,
- (x: number) => [x, x],
+ (x: number) => [x, x]
);
assert.deepEqual(a(1), [2, 10, "id-1", [1, 1]]);
});
@@ -37,7 +36,7 @@ describe("juxt", () => {
(x: number) => x * 10,
(x: number) => "id-" + x,
(x: number) => [x, x],
- (x: number) => ({ a: x }),
+ (x: number) => ({ a: x })
);
assert.deepEqual(a(1), [2, 10, "id-1", [1, 1], { a: 1 }]);
});
@@ -49,7 +48,7 @@ describe("juxt", () => {
(x: number) => x * 10,
(x: number) => "id-" + x,
(x: number) => [x, x],
- (x: number) => ({ a: x }),
+ (x: number) => ({ a: x })
);
assert.deepEqual(a(1), [2, 0, 10, "id-1", [1, 1], { a: 1 }]);
});
@@ -62,7 +61,7 @@ describe("juxt", () => {
(x: number) => x * 100,
(x: number) => "id-" + x,
(x: number) => [x, x],
- (x: number) => ({ a: x }),
+ (x: number) => ({ a: x })
);
assert.deepEqual(a(1), [2, 0, 10, 100, "id-1", [1, 1], { a: 1 }]);
});
@@ -76,7 +75,7 @@ describe("juxt", () => {
(x: number) => x * 1000,
(x: number) => "id-" + x,
(x: number) => [x, x],
- (x: number) => ({ a: x }),
+ (x: number) => ({ a: x })
);
assert.deepEqual(a(1), [2, 0, 10, 100, 1000, "id-1", [1, 1], { a: 1 }]);
});
@@ -91,8 +90,18 @@ describe("juxt", () => {
(x: number) => x * 10000,
(x: number) => "id-" + x,
(x: number) => [x, x],
- (x: number) => ({ a: x }),
+ (x: number) => ({ a: x })
);
- assert.deepEqual(a(1), [2, 0, 10, 100, 1000, 10000, "id-1", [1, 1], { a: 1 }]);
+ assert.deepEqual(a(1), [
+ 2,
+ 0,
+ 10,
+ 100,
+ 1000,
+ 10000,
+ "id-1",
+ [1, 1],
+ { a: 1 },
+ ]);
});
});
diff --git a/packages/csp/CHANGELOG.md b/packages/csp/CHANGELOG.md
index 2c72f559ad..28cd1b38a8 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.27](https://github.com/thi-ng/umbrella/compare/@thi.ng/csp@1.1.26...@thi.ng/csp@1.1.27) (2020-06-14)
+
+**Note:** Version bump only for package @thi.ng/csp
+
+
+
+
+
## [1.1.26](https://github.com/thi-ng/umbrella/compare/@thi.ng/csp@1.1.25...@thi.ng/csp@1.1.26) (2020-06-01)
**Note:** Version bump only for package @thi.ng/csp
diff --git a/packages/csp/package.json b/packages/csp/package.json
index 3b4c1d53cd..d0eeb3f503 100644
--- a/packages/csp/package.json
+++ b/packages/csp/package.json
@@ -1,6 +1,6 @@
{
"name": "@thi.ng/csp",
- "version": "1.1.26",
+ "version": "1.1.27",
"description": "ES6 promise based CSP primitives & operations",
"module": "./index.js",
"main": "./lib/index.js",
@@ -47,12 +47,12 @@
"typescript": "^3.9.2"
},
"dependencies": {
- "@thi.ng/api": "^6.11.0",
- "@thi.ng/arrays": "^0.6.8",
- "@thi.ng/checks": "^2.7.0",
- "@thi.ng/dcons": "^2.2.19",
+ "@thi.ng/api": "^6.11.1",
+ "@thi.ng/arrays": "^0.6.9",
+ "@thi.ng/checks": "^2.7.1",
+ "@thi.ng/dcons": "^2.2.20",
"@thi.ng/errors": "^1.2.14",
- "@thi.ng/transducers": "^7.0.0",
+ "@thi.ng/transducers": "^7.1.0",
"tslib": "^1.12.0"
},
"files": [
diff --git a/packages/csp/src/api.ts b/packages/csp/src/api.ts
index 89ffd4af13..c281b8b2d2 100644
--- a/packages/csp/src/api.ts
+++ b/packages/csp/src/api.ts
@@ -1,10 +1,5 @@
import { Channel } from "./channel";
-import type {
- Fn,
- IID,
- ILength,
- IRelease
-} from "@thi.ng/api";
+import type { Fn, IID, ILength, IRelease } from "@thi.ng/api";
export interface ChannelItem {
value(): Promise;
diff --git a/packages/csp/test/graph.ts b/packages/csp/test/graph.ts
index 5cf0489d26..aad090c5da 100644
--- a/packages/csp/test/graph.ts
+++ b/packages/csp/test/graph.ts
@@ -20,7 +20,7 @@ export function node(
const $: Node = {
ins: >>{},
outs: >>{},
- state: init || {}
+ state: init || {},
};
for (let k of Object.keys(ins)) {
const val = ins[k];
diff --git a/packages/csp/test/node.ts b/packages/csp/test/node.ts
index 6efdb49145..fade9037f2 100644
--- a/packages/csp/test/node.ts
+++ b/packages/csp/test/node.ts
@@ -247,8 +247,8 @@ export function add(spec: Partial) {
update: (n) => {
const res = n.state.a + n.state.b;
return n.outs.out.channel().write(res);
- }
- }
+ },
+ },
});
}
@@ -257,12 +257,12 @@ export const a = add({ id: "a", state: { b: 42 } });
export const b = add({
id: "b",
ins: { a: { src: a.outs.out, tx: tx.map((x) => x * 1) } },
- state: { b: 100 }
+ state: { b: 100 },
});
export const c = add({
id: "c",
ins: { a: b.outs.out, b: b.outs.out },
- outs: { out: res }
+ outs: { out: res },
});
// b.disable("b");
diff --git a/packages/dcons/CHANGELOG.md b/packages/dcons/CHANGELOG.md
index 3d67b29fbc..b199616d5a 100644
--- a/packages/dcons/CHANGELOG.md
+++ b/packages/dcons/CHANGELOG.md
@@ -3,6 +3,14 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
+## [2.2.20](https://github.com/thi-ng/umbrella/compare/@thi.ng/dcons@2.2.19...@thi.ng/dcons@2.2.20) (2020-06-14)
+
+**Note:** Version bump only for package @thi.ng/dcons
+
+
+
+
+
## [2.2.19](https://github.com/thi-ng/umbrella/compare/@thi.ng/dcons@2.2.18...@thi.ng/dcons@2.2.19) (2020-06-01)
**Note:** Version bump only for package @thi.ng/dcons
diff --git a/packages/dcons/package.json b/packages/dcons/package.json
index 36bca74a6c..24d8956eca 100644
--- a/packages/dcons/package.json
+++ b/packages/dcons/package.json
@@ -1,6 +1,6 @@
{
"name": "@thi.ng/dcons",
- "version": "2.2.19",
+ "version": "2.2.20",
"description": "Double-linked list with comprehensive set of operations",
"module": "./index.js",
"main": "./lib/index.js",
@@ -43,13 +43,13 @@
"typescript": "^3.9.2"
},
"dependencies": {
- "@thi.ng/api": "^6.11.0",
- "@thi.ng/checks": "^2.7.0",
- "@thi.ng/compare": "^1.3.7",
+ "@thi.ng/api": "^6.11.1",
+ "@thi.ng/checks": "^2.7.1",
+ "@thi.ng/compare": "^1.3.8",
"@thi.ng/equiv": "^1.0.23",
"@thi.ng/errors": "^1.2.14",
- "@thi.ng/random": "^1.4.10",
- "@thi.ng/transducers": "^7.0.0",
+ "@thi.ng/random": "^1.4.11",
+ "@thi.ng/transducers": "^7.1.0",
"tslib": "^1.12.0"
},
"files": [
diff --git a/packages/dcons/src/index.ts b/packages/dcons/src/index.ts
index c085675ffb..19e4af1096 100644
--- a/packages/dcons/src/index.ts
+++ b/packages/dcons/src/index.ts
@@ -18,7 +18,7 @@ import type {
ISeq,
ISeqable,
IStack,
- Predicate
+ Predicate,
} from "@thi.ng/api";
import type { IRandom } from "@thi.ng/random";
import type { IReducible, ReductionFn } from "@thi.ng/transducers";
@@ -143,7 +143,7 @@ export class DCons
},
next() {
return cell !== last && cell.next ? $seq(cell.next) : undefined;
- }
+ },
});
return cell ? $seq(cell) : undefined;
}
diff --git a/packages/defmulti/CHANGELOG.md b/packages/defmulti/CHANGELOG.md
index d76eb52d3f..85d02718cb 100644
--- a/packages/defmulti/CHANGELOG.md
+++ b/packages/defmulti/CHANGELOG.md
@@ -3,6 +3,14 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
+## [1.2.17](https://github.com/thi-ng/umbrella/compare/@thi.ng/defmulti@1.2.16...@thi.ng/defmulti@1.2.17) (2020-06-14)
+
+**Note:** Version bump only for package @thi.ng/defmulti
+
+
+
+
+
## [1.2.16](https://github.com/thi-ng/umbrella/compare/@thi.ng/defmulti@1.2.15...@thi.ng/defmulti@1.2.16) (2020-06-01)
**Note:** Version bump only for package @thi.ng/defmulti
diff --git a/packages/defmulti/package.json b/packages/defmulti/package.json
index 28cd46d3c2..3a624bf73f 100644
--- a/packages/defmulti/package.json
+++ b/packages/defmulti/package.json
@@ -1,6 +1,6 @@
{
"name": "@thi.ng/defmulti",
- "version": "1.2.16",
+ "version": "1.2.17",
"description": "Dynamic, extensible multiple dispatch via user supplied dispatch function.",
"module": "./index.js",
"main": "./lib/index.js",
@@ -43,7 +43,7 @@
"typescript": "^3.9.2"
},
"dependencies": {
- "@thi.ng/api": "^6.11.0",
+ "@thi.ng/api": "^6.11.1",
"@thi.ng/errors": "^1.2.14",
"tslib": "^1.12.0"
},
diff --git a/packages/defmulti/src/api.ts b/packages/defmulti/src/api.ts
index c4ad206cff..22da8a38da 100644
--- a/packages/defmulti/src/api.ts
+++ b/packages/defmulti/src/api.ts
@@ -8,7 +8,7 @@ import type {
Fn7,
Fn8,
FnAny,
- IObjectOf
+ IObjectOf,
} from "@thi.ng/api";
export type DispatchFn = FnAny;
diff --git a/packages/defmulti/src/constants.ts b/packages/defmulti/src/constants.ts
index 4df58875fd..bfb7e4b73d 100644
--- a/packages/defmulti/src/constants.ts
+++ b/packages/defmulti/src/constants.ts
@@ -9,4 +9,4 @@ export const DEFAULT: unique symbol = Symbol();
export let LOGGER: ILogger = NULL_LOGGER;
-export const setLogger = (logger: ILogger) => (LOGGER = logger);
\ No newline at end of file
+export const setLogger = (logger: ILogger) => (LOGGER = logger);
diff --git a/packages/defmulti/src/defmulti.ts b/packages/defmulti/src/defmulti.ts
index b0527e70d6..1d0b2cb8c6 100644
--- a/packages/defmulti/src/defmulti.ts
+++ b/packages/defmulti/src/defmulti.ts
@@ -37,7 +37,7 @@ import type {
MultiFn7,
MultiFn7O,
MultiFn8,
- MultiFn8O
+ MultiFn8O,
} from "./api";
/**
diff --git a/packages/defmulti/test/index.ts b/packages/defmulti/test/index.ts
index cbdc8305d2..86dbfd4c85 100644
--- a/packages/defmulti/test/index.ts
+++ b/packages/defmulti/test/index.ts
@@ -5,7 +5,7 @@ import {
defmulti,
defmultiN,
implementations,
- setLogger
+ setLogger,
} from "../src/index";
// prettier-ignore
diff --git a/packages/dgraph-dot/CHANGELOG.md b/packages/dgraph-dot/CHANGELOG.md
index 0b27c8fa4e..f68a41e951 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.12](https://github.com/thi-ng/umbrella/compare/@thi.ng/dgraph-dot@0.1.11...@thi.ng/dgraph-dot@0.1.12) (2020-06-14)
+
+**Note:** Version bump only for package @thi.ng/dgraph-dot
+
+
+
+
+
## [0.1.11](https://github.com/thi-ng/umbrella/compare/@thi.ng/dgraph-dot@0.1.10...@thi.ng/dgraph-dot@0.1.11) (2020-06-01)
**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 b2fb4527b1..451cfeaef5 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.11",
+ "version": "0.1.12",
"description": "Customizable Graphviz DOT serialization for @thi.ng/dgraph",
"module": "./index.js",
"main": "./lib/index.js",
@@ -43,9 +43,9 @@
"typescript": "^3.9.2"
},
"dependencies": {
- "@thi.ng/api": "^6.11.0",
- "@thi.ng/dgraph": "^1.2.11",
- "@thi.ng/dot": "^1.2.8"
+ "@thi.ng/api": "^6.11.1",
+ "@thi.ng/dgraph": "^1.2.12",
+ "@thi.ng/dot": "^1.2.9"
},
"files": [
"*.js",
diff --git a/packages/dgraph/CHANGELOG.md b/packages/dgraph/CHANGELOG.md
index 50fac3bb29..1d040a1063 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.2.12](https://github.com/thi-ng/umbrella/compare/@thi.ng/dgraph@1.2.11...@thi.ng/dgraph@1.2.12) (2020-06-14)
+
+**Note:** Version bump only for package @thi.ng/dgraph
+
+
+
+
+
## [1.2.11](https://github.com/thi-ng/umbrella/compare/@thi.ng/dgraph@1.2.10...@thi.ng/dgraph@1.2.11) (2020-06-01)
**Note:** Version bump only for package @thi.ng/dgraph
diff --git a/packages/dgraph/package.json b/packages/dgraph/package.json
index 10e3ee8826..763fc4c5f3 100644
--- a/packages/dgraph/package.json
+++ b/packages/dgraph/package.json
@@ -1,6 +1,6 @@
{
"name": "@thi.ng/dgraph",
- "version": "1.2.11",
+ "version": "1.2.12",
"description": "Type-agnostic directed acyclic graph (DAG) & graph operations",
"module": "./index.js",
"main": "./lib/index.js",
@@ -43,11 +43,11 @@
"typescript": "^3.9.2"
},
"dependencies": {
- "@thi.ng/api": "^6.11.0",
- "@thi.ng/associative": "^4.0.11",
+ "@thi.ng/api": "^6.11.1",
+ "@thi.ng/associative": "^4.1.0",
"@thi.ng/equiv": "^1.0.23",
"@thi.ng/errors": "^1.2.14",
- "@thi.ng/transducers": "^7.0.0",
+ "@thi.ng/transducers": "^7.1.0",
"tslib": "^1.12.0"
},
"files": [
diff --git a/packages/dgraph/test/index.ts b/packages/dgraph/test/index.ts
index cd9d5b5a82..36ac3f800c 100644
--- a/packages/dgraph/test/index.ts
+++ b/packages/dgraph/test/index.ts
@@ -39,20 +39,41 @@ describe("dgraph", () => {
});
it("sort", () => {
- assert.deepEqual(g.sort(), [[30, 40], [3, 4], [10, 20], [1, 2]]);
+ assert.deepEqual(g.sort(), [
+ [30, 40],
+ [3, 4],
+ [10, 20],
+ [1, 2],
+ ]);
g.addDependency([30, 40], [50, 60]);
assert.deepEqual(g.sort(), [
[50, 60],
[30, 40],
[3, 4],
[10, 20],
- [1, 2]
+ [1, 2],
]);
});
it("iterator", () => {
- assert.deepEqual([...g], [[30, 40], [3, 4], [10, 20], [1, 2]]);
- assert.deepEqual([...g], [[30, 40], [3, 4], [10, 20], [1, 2]]);
+ assert.deepEqual(
+ [...g],
+ [
+ [30, 40],
+ [3, 4],
+ [10, 20],
+ [1, 2],
+ ]
+ );
+ assert.deepEqual(
+ [...g],
+ [
+ [30, 40],
+ [3, 4],
+ [10, 20],
+ [1, 2],
+ ]
+ );
});
it("separate nodes", () => {
@@ -60,6 +81,9 @@ describe("dgraph", () => {
g.addNode([1, 2]);
g.addNode([3, 4]);
g.addNode([3, 4]);
- assert.deepEqual(g.sort(), [[3, 4], [1, 2]]);
+ assert.deepEqual(g.sort(), [
+ [3, 4],
+ [1, 2],
+ ]);
});
});
diff --git a/packages/diff/CHANGELOG.md b/packages/diff/CHANGELOG.md
index ce75f68685..a563547c13 100644
--- a/packages/diff/CHANGELOG.md
+++ b/packages/diff/CHANGELOG.md
@@ -3,6 +3,14 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
+## [3.2.23](https://github.com/thi-ng/umbrella/compare/@thi.ng/diff@3.2.22...@thi.ng/diff@3.2.23) (2020-06-14)
+
+**Note:** Version bump only for package @thi.ng/diff
+
+
+
+
+
## [3.2.22](https://github.com/thi-ng/umbrella/compare/@thi.ng/diff@3.2.21...@thi.ng/diff@3.2.22) (2020-06-01)
**Note:** Version bump only for package @thi.ng/diff
diff --git a/packages/diff/package.json b/packages/diff/package.json
index 8163fc2516..ed2fbce936 100644
--- a/packages/diff/package.json
+++ b/packages/diff/package.json
@@ -1,6 +1,6 @@
{
"name": "@thi.ng/diff",
- "version": "3.2.22",
+ "version": "3.2.23",
"description": "Customizable diff implementations for arrays (sequential) & objects (associative), with or without linear edit logs",
"module": "./index.js",
"main": "./lib/index.js",
@@ -42,7 +42,7 @@
"typescript": "^3.9.2"
},
"dependencies": {
- "@thi.ng/api": "^6.11.0",
+ "@thi.ng/api": "^6.11.1",
"@thi.ng/equiv": "^1.0.23",
"tslib": "^1.12.0"
},
diff --git a/packages/diff/test/array.ts b/packages/diff/test/array.ts
index cf2335a32f..9814b0c54a 100644
--- a/packages/diff/test/array.ts
+++ b/packages/diff/test/array.ts
@@ -1,13 +1,13 @@
import * as assert from "assert";
import { ArrayDiff, diffArray, DiffMode } from "../src/index";
-describe("array", function() {
+describe("array", function () {
const state = >{
distance: 0,
adds: {},
dels: {},
const: {},
- linear: []
+ linear: [],
};
it("simple (null,null)", () => {
@@ -19,7 +19,7 @@ describe("array", function() {
...state,
distance: 3,
adds: { 0: 1, 1: 2, 2: 3 },
- linear: [1, 0, 1, 1, 1, 2, 1, 2, 3]
+ linear: [1, 0, 1, 1, 1, 2, 1, 2, 3],
});
});
@@ -28,7 +28,7 @@ describe("array", function() {
...state,
distance: 3,
dels: { 0: 1, 1: 2, 2: 3 },
- linear: [-1, 0, 1, -1, 1, 2, -1, 2, 3]
+ linear: [-1, 0, 1, -1, 1, 2, -1, 2, 3],
});
});
@@ -38,7 +38,7 @@ describe("array", function() {
adds: { 2: 4 },
dels: { 2: 3 },
const: { 0: 1, 1: 2 },
- linear: [0, 0, 1, 0, 1, 2, -1, 2, 3, 1, 2, 4]
+ linear: [0, 0, 1, 0, 1, 2, -1, 2, 3, 1, 2, 4],
});
});
@@ -50,7 +50,7 @@ describe("array", function() {
adds: { 2: 5 },
dels: { 2: 3 },
const: { 0: 1, 1: 2, 3: 4 },
- linear: [0, 0, 1, 0, 1, 2, -1, 2, 3, 1, 2, 5, 0, 3, 4]
+ linear: [0, 0, 1, 0, 1, 2, -1, 2, 3, 1, 2, 5, 0, 3, 4],
});
});
@@ -62,7 +62,7 @@ describe("array", function() {
adds: { 3: 5 },
dels: {},
const: { 0: 1, 1: 2, 2: 3, 3: 4 },
- linear: [0, 0, 1, 0, 1, 2, 0, 2, 3, 1, 3, 5, 0, 3, 4]
+ linear: [0, 0, 1, 0, 1, 2, 0, 2, 3, 1, 3, 5, 0, 3, 4],
});
});
@@ -78,7 +78,7 @@ describe("array", function() {
adds: {},
dels: {},
const: {},
- linear: [1, 3, 5]
+ linear: [1, 3, 5],
}
);
});
diff --git a/packages/dl-asset/CHANGELOG.md b/packages/dl-asset/CHANGELOG.md
index c4b8bf82e4..4165ced101 100644
--- a/packages/dl-asset/CHANGELOG.md
+++ b/packages/dl-asset/CHANGELOG.md
@@ -3,6 +3,14 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
+## [0.3.11](https://github.com/thi-ng/umbrella/compare/@thi.ng/dl-asset@0.3.10...@thi.ng/dl-asset@0.3.11) (2020-06-14)
+
+**Note:** Version bump only for package @thi.ng/dl-asset
+
+
+
+
+
## [0.3.10](https://github.com/thi-ng/umbrella/compare/@thi.ng/dl-asset@0.3.9...@thi.ng/dl-asset@0.3.10) (2020-06-01)
**Note:** Version bump only for package @thi.ng/dl-asset
diff --git a/packages/dl-asset/package.json b/packages/dl-asset/package.json
index f9abed42d3..c402bd03f8 100644
--- a/packages/dl-asset/package.json
+++ b/packages/dl-asset/package.json
@@ -1,6 +1,6 @@
{
"name": "@thi.ng/dl-asset",
- "version": "0.3.10",
+ "version": "0.3.11",
"description": "Local asset download for web apps, with automatic MIME type detection",
"module": "./index.js",
"main": "./lib/index.js",
@@ -43,9 +43,9 @@
"typescript": "^3.9.2"
},
"dependencies": {
- "@thi.ng/api": "^6.11.0",
- "@thi.ng/checks": "^2.7.0",
- "@thi.ng/mime": "^0.1.12",
+ "@thi.ng/api": "^6.11.1",
+ "@thi.ng/checks": "^2.7.1",
+ "@thi.ng/mime": "^0.1.13",
"tslib": "^1.12.0"
},
"files": [
diff --git a/packages/dl-asset/src/index.ts b/packages/dl-asset/src/index.ts
index 09238d0f59..9049be605c 100644
--- a/packages/dl-asset/src/index.ts
+++ b/packages/dl-asset/src/index.ts
@@ -57,7 +57,7 @@ export const download = (
mime: undefined,
expire: 1e4,
utf8: false,
- ...opts
+ ...opts,
};
if (_opts.mime === undefined) {
const match = /\.(\w+)$/.exec(name);
@@ -65,12 +65,10 @@ export const download = (
}
if (isString(src) && _opts.utf8) {
src = new TextEncoder().encode(src);
- _opts.mime+=";charset=UTF-8";
+ _opts.mime += ";charset=UTF-8";
}
const uri = URL.createObjectURL(
- !(src instanceof Blob)
- ? new Blob([src], { type: _opts.mime })
- : src
+ !(src instanceof Blob) ? new Blob([src], { type: _opts.mime }) : src
);
const link = document.createElement("a");
link.setAttribute("download", name);
diff --git a/packages/dlogic/CHANGELOG.md b/packages/dlogic/CHANGELOG.md
index aab39f5142..62dc518199 100644
--- a/packages/dlogic/CHANGELOG.md
+++ b/packages/dlogic/CHANGELOG.md
@@ -3,6 +3,14 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
+## [1.0.24](https://github.com/thi-ng/umbrella/compare/@thi.ng/dlogic@1.0.23...@thi.ng/dlogic@1.0.24) (2020-06-14)
+
+**Note:** Version bump only for package @thi.ng/dlogic
+
+
+
+
+
# [1.0.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/dlogic@0.1.2...@thi.ng/dlogic@1.0.0) (2019-01-21)
### Build System
diff --git a/packages/dlogic/package.json b/packages/dlogic/package.json
index 3f58723bc1..c653219753 100644
--- a/packages/dlogic/package.json
+++ b/packages/dlogic/package.json
@@ -1,6 +1,6 @@
{
"name": "@thi.ng/dlogic",
- "version": "1.0.23",
+ "version": "1.0.24",
"description": "Assorted digital logic ops / constructs",
"module": "./index.js",
"main": "./lib/index.js",
diff --git a/packages/dlogic/src/index.ts b/packages/dlogic/src/index.ts
index a9923b9083..50558b9c53 100644
--- a/packages/dlogic/src/index.ts
+++ b/packages/dlogic/src/index.ts
@@ -222,7 +222,7 @@ export const mux = (a: boolean, b: boolean, s: boolean) =>
*/
export const demux = (i: boolean, s: boolean): [boolean, boolean] => [
i && !s,
- i && s
+ i && s,
];
/**
@@ -233,7 +233,7 @@ export const demux = (i: boolean, s: boolean): [boolean, boolean] => [
*/
export const hadd1 = (a: boolean, b: boolean): Sum => ({
s: a !== b,
- c: a && b
+ c: a && b,
});
/**
@@ -245,7 +245,7 @@ export const hadd1 = (a: boolean, b: boolean): Sum => ({
*/
export const fadd1 = (a: boolean, b: boolean, c: boolean): Sum => ({
s: (a !== b) !== c,
- c: (a !== b && c) || (a && b)
+ c: (a !== b && c) || (a && b),
});
/**
diff --git a/packages/dot/CHANGELOG.md b/packages/dot/CHANGELOG.md
index 48c0a61503..577daa55b7 100644
--- a/packages/dot/CHANGELOG.md
+++ b/packages/dot/CHANGELOG.md
@@ -3,6 +3,14 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
+## [1.2.9](https://github.com/thi-ng/umbrella/compare/@thi.ng/dot@1.2.8...@thi.ng/dot@1.2.9) (2020-06-14)
+
+**Note:** Version bump only for package @thi.ng/dot
+
+
+
+
+
## [1.2.8](https://github.com/thi-ng/umbrella/compare/@thi.ng/dot@1.2.7...@thi.ng/dot@1.2.8) (2020-06-01)
**Note:** Version bump only for package @thi.ng/dot
diff --git a/packages/dot/package.json b/packages/dot/package.json
index d5ad525d05..f658f21988 100644
--- a/packages/dot/package.json
+++ b/packages/dot/package.json
@@ -1,6 +1,6 @@
{
"name": "@thi.ng/dot",
- "version": "1.2.8",
+ "version": "1.2.9",
"description": "Graphviz document abstraction & serialization to DOT format",
"module": "./index.js",
"main": "./lib/index.js",
@@ -43,8 +43,8 @@
"typescript": "^3.9.2"
},
"dependencies": {
- "@thi.ng/api": "^6.11.0",
- "@thi.ng/checks": "^2.7.0",
+ "@thi.ng/api": "^6.11.1",
+ "@thi.ng/checks": "^2.7.1",
"tslib": "^1.12.0"
},
"files": [
diff --git a/packages/dsp-io-wav/CHANGELOG.md b/packages/dsp-io-wav/CHANGELOG.md
index 82b8274951..fec35a0b7b 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.17](https://github.com/thi-ng/umbrella/compare/@thi.ng/dsp-io-wav@0.1.16...@thi.ng/dsp-io-wav@0.1.17) (2020-06-14)
+
+**Note:** Version bump only for package @thi.ng/dsp-io-wav
+
+
+
+
+
## [0.1.16](https://github.com/thi-ng/umbrella/compare/@thi.ng/dsp-io-wav@0.1.15...@thi.ng/dsp-io-wav@0.1.16) (2020-06-01)
**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 d04317cceb..562d0a1095 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.16",
+ "version": "0.1.17",
"description": "WAV file format generation",
"module": "./index.js",
"main": "./lib/index.js",
@@ -43,10 +43,10 @@
"typescript": "^3.9.2"
},
"dependencies": {
- "@thi.ng/api": "^6.11.0",
- "@thi.ng/binary": "^2.0.7",
- "@thi.ng/transducers": "^7.0.0",
- "@thi.ng/transducers-binary": "^0.5.16",
+ "@thi.ng/api": "^6.11.1",
+ "@thi.ng/binary": "^2.0.8",
+ "@thi.ng/transducers": "^7.1.0",
+ "@thi.ng/transducers-binary": "^0.5.17",
"tslib": "^1.12.0"
},
"files": [
diff --git a/packages/dsp-io-wav/src/write.ts b/packages/dsp-io-wav/src/write.ts
index 25a22a5507..254f0d45d3 100644
--- a/packages/dsp-io-wav/src/write.ts
+++ b/packages/dsp-io-wav/src/write.ts
@@ -1,26 +1,7 @@
import { assert } from "@thi.ng/api";
-import {
- f32u16,
- f32u24,
- f32u32,
- f32u8
-} from "@thi.ng/binary";
-import {
- comp,
- concat,
- iterator,
- map,
- reduce,
- take
-} from "@thi.ng/transducers";
-import {
- asBytes,
- bytes,
- u16,
- u24,
- u32,
- u8
-} from "@thi.ng/transducers-binary";
+import { f32u16, f32u24, f32u32, f32u8 } from "@thi.ng/binary";
+import { comp, concat, iterator, map, reduce, take } from "@thi.ng/transducers";
+import { asBytes, bytes, u16, u24, u32, u8 } from "@thi.ng/transducers-binary";
import type { Fn, IObjectOf } from "@thi.ng/api";
import type { BinStructItem } from "@thi.ng/transducers-binary";
import type { WavSpec } from "./api";
@@ -31,7 +12,7 @@ const CONVERTERS: IObjectOf> = {
8: (x: number) => u8(f32u8(x)),
16: (x: number) => u16(f32u16(x), true),
24: (x: number) => u24(f32u24(x), true),
- 32: (x: number) => u32(f32u32(x), true)
+ 32: (x: number) => u32(f32u32(x), true),
};
export const wavHeader = (spec: WavSpec): BinStructItem[] => {
@@ -51,7 +32,7 @@ export const wavHeader = (spec: WavSpec): BinStructItem[] => {
u16(blockAlign, true),
u16(spec.bits, true),
u32(0x64617461, false), // 'data'
- u32(dataLength, true)
+ u32(dataLength, true),
];
};
diff --git a/packages/dsp-io-wav/test/index.ts b/packages/dsp-io-wav/test/index.ts
index dd7aefb394..1416486f99 100644
--- a/packages/dsp-io-wav/test/index.ts
+++ b/packages/dsp-io-wav/test/index.ts
@@ -8,7 +8,7 @@ describe("dsp-io-wav", () => {
...wavByteArray(
{ sampleRate: 48000, channels: 1, length: 4, bits: 16 },
[-1, -0.5, 0, 1]
- )
+ ),
],
// prettier-ignore
[
diff --git a/packages/dsp/CHANGELOG.md b/packages/dsp/CHANGELOG.md
index 046a51e62a..b65dfab7e4 100644
--- a/packages/dsp/CHANGELOG.md
+++ b/packages/dsp/CHANGELOG.md
@@ -3,6 +3,14 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
+## [2.0.19](https://github.com/thi-ng/umbrella/compare/@thi.ng/dsp@2.0.18...@thi.ng/dsp@2.0.19) (2020-06-14)
+
+**Note:** Version bump only for package @thi.ng/dsp
+
+
+
+
+
## [2.0.18](https://github.com/thi-ng/umbrella/compare/@thi.ng/dsp@2.0.17...@thi.ng/dsp@2.0.18) (2020-06-01)
**Note:** Version bump only for package @thi.ng/dsp
diff --git a/packages/dsp/package.json b/packages/dsp/package.json
index 6a136b1a60..51b3ff0402 100644
--- a/packages/dsp/package.json
+++ b/packages/dsp/package.json
@@ -1,6 +1,6 @@
{
"name": "@thi.ng/dsp",
- "version": "2.0.18",
+ "version": "2.0.19",
"description": "Composable signal generators, oscillators, filters, FFT, spectrum, windowing & related DSP utils",
"module": "./index.js",
"main": "./lib/index.js",
@@ -43,10 +43,10 @@
"typescript": "^3.9.2"
},
"dependencies": {
- "@thi.ng/api": "^6.11.0",
- "@thi.ng/checks": "^2.7.0",
- "@thi.ng/math": "^1.7.10",
- "@thi.ng/transducers": "^7.0.0",
+ "@thi.ng/api": "^6.11.1",
+ "@thi.ng/checks": "^2.7.1",
+ "@thi.ng/math": "^1.7.11",
+ "@thi.ng/transducers": "^7.1.0",
"tslib": "^1.12.0"
},
"files": [
diff --git a/packages/dsp/src/comp/mapg.ts b/packages/dsp/src/comp/mapg.ts
index 0021f38c02..94dcd7c7af 100644
--- a/packages/dsp/src/comp/mapg.ts
+++ b/packages/dsp/src/comp/mapg.ts
@@ -1,12 +1,6 @@
import { illegalArity } from "@thi.ng/errors";
import { AGen } from "../gen/agen";
-import type {
- Fn2,
- Fn3,
- Fn4,
- Fn5,
- FnAny
-} from "@thi.ng/api";
+import type { Fn2, Fn3, Fn4, Fn5, FnAny } from "@thi.ng/api";
import type { IGen } from "../api";
export function mapG(op: Fn2, a: IGen, init: T): IGen;
diff --git a/packages/dsp/src/fft/fft.ts b/packages/dsp/src/fft/fft.ts
index 893bdeb806..c99d857941 100644
--- a/packages/dsp/src/fft/fft.ts
+++ b/packages/dsp/src/fft/fft.ts
@@ -12,7 +12,7 @@ const PI = Math.PI;
*/
export const complexArray = (n: number): ComplexArray => [
new Float64Array(n),
- new Float64Array(n)
+ new Float64Array(n),
];
/**
diff --git a/packages/dsp/src/gen/adsr.ts b/packages/dsp/src/gen/adsr.ts
index b88f9440bf..9e3340662d 100644
--- a/packages/dsp/src/gen/adsr.ts
+++ b/packages/dsp/src/gen/adsr.ts
@@ -10,7 +10,7 @@ const enum EnvPhase {
DECAY,
SUSTAIN,
RELEASE,
- IDLE
+ IDLE,
}
export interface ADSROpts {
@@ -101,7 +101,7 @@ export class ADSR extends AGen implements IReset {
dcurve: 0.001,
slen: Infinity,
gain: 1,
- ...opts
+ ...opts,
};
this.setAttack(opts.a!);
this.setDecay(opts.d!);
diff --git a/packages/dsp/src/proc/biquad.ts b/packages/dsp/src/proc/biquad.ts
index 79734c250e..9690b1432f 100644
--- a/packages/dsp/src/proc/biquad.ts
+++ b/packages/dsp/src/proc/biquad.ts
@@ -1,10 +1,5 @@
import { unsupported } from "@thi.ng/errors";
-import {
- clamp05,
- PI,
- SQRT2,
- SQRT2_2
-} from "@thi.ng/math";
+import { clamp05, PI, SQRT2, SQRT2_2 } from "@thi.ng/math";
import { FilterType } from "../constants";
import { dbMag } from "../util/convert";
import { AProc } from "./aproc";
@@ -117,7 +112,7 @@ export class Biquad extends AProc implements IReset, IFilter {
filterCoeffs(): FilterConfig {
return {
zeroes: [this._a0, this._a1, this._a2],
- poles: [1, this._b1, this._b2]
+ poles: [1, this._b1, this._b2],
};
}
diff --git a/packages/dsp/src/proc/delay.ts b/packages/dsp/src/proc/delay.ts
index 8be338d3dc..cf8fc3c866 100644
--- a/packages/dsp/src/proc/delay.ts
+++ b/packages/dsp/src/proc/delay.ts
@@ -1,12 +1,7 @@
import { isFunction } from "@thi.ng/checks";
import { wrap } from "@thi.ng/math";
import { AProc } from "./aproc";
-import type {
- Fn0,
- IClear,
- ILength,
- IReset
-} from "@thi.ng/api";
+import type { Fn0, IClear, ILength, IReset } from "@thi.ng/api";
/**
* Delay line of length `n` for numeric values.
diff --git a/packages/dsp/src/proc/onepole.ts b/packages/dsp/src/proc/onepole.ts
index 17e8ae05c2..5e6015adbf 100644
--- a/packages/dsp/src/proc/onepole.ts
+++ b/packages/dsp/src/proc/onepole.ts
@@ -50,7 +50,7 @@ export class OnePole extends AProc
filterCoeffs(): FilterConfig {
return {
zeroes: [this._a0],
- poles: [1, this._type === FilterType.LP ? this._b1 : -this._b1]
+ poles: [1, this._type === FilterType.LP ? this._b1 : -this._b1],
};
}
}
diff --git a/packages/dsp/test/fft.ts b/packages/dsp/test/fft.ts
index df98cdccca..39b4d6612c 100644
--- a/packages/dsp/test/fft.ts
+++ b/packages/dsp/test/fft.ts
@@ -7,7 +7,7 @@ import {
ifft,
normalizeFFT,
spectrumPhase,
- spectrumPow
+ spectrumPow,
} from "../src";
const pulse8 = [-1, -1, -1, -1, 1, 1, 1, 1];
@@ -31,14 +31,14 @@ describe("fft", () => {
assert.ok(
deltaEqComplex(res, [
[0, -2, 0, -2, 0, -2, 0, -2],
- [0, 4.828, 0, 0.828, 0, -0.828, 0, -4.828]
+ [0, 4.828, 0, 0.828, 0, -0.828, 0, -4.828],
])
);
assert.ok(
deltaEqComplex(ifft(fft([...pulse8])), [
pulse8,
- [0, 0, 0, 0, 0, 0, 0, 0]
+ [0, 0, 0, 0, 0, 0, 0, 0],
])
);
@@ -54,7 +54,7 @@ describe("fft", () => {
assert.ok(
deltaEqComplex(norm, [
[0, -0.707, 0, -0.707, 0, -0.707, 0, -0.707],
- [0, 1.707, 0, 0.293, 0, -0.293, 0, -1.707]
+ [0, 1.707, 0, 0.293, 0, -0.293, 0, -1.707],
])
);
@@ -65,7 +65,7 @@ describe("fft", () => {
-Infinity,
-3.698,
-Infinity,
- -11.354
+ -11.354,
])
);
diff --git a/packages/dynvar/CHANGELOG.md b/packages/dynvar/CHANGELOG.md
index ea80b6390a..6bc58b19df 100644
--- a/packages/dynvar/CHANGELOG.md
+++ b/packages/dynvar/CHANGELOG.md
@@ -3,6 +3,14 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
+## [0.1.15](https://github.com/thi-ng/umbrella/compare/@thi.ng/dynvar@0.1.14...@thi.ng/dynvar@0.1.15) (2020-06-14)
+
+**Note:** Version bump only for package @thi.ng/dynvar
+
+
+
+
+
## [0.1.14](https://github.com/thi-ng/umbrella/compare/@thi.ng/dynvar@0.1.13...@thi.ng/dynvar@0.1.14) (2020-06-01)
**Note:** Version bump only for package @thi.ng/dynvar
diff --git a/packages/dynvar/package.json b/packages/dynvar/package.json
index 11dfd5f637..80bc17f6b1 100644
--- a/packages/dynvar/package.json
+++ b/packages/dynvar/package.json
@@ -1,6 +1,6 @@
{
"name": "@thi.ng/dynvar",
- "version": "0.1.14",
+ "version": "0.1.15",
"description": "Dynamically scoped variable bindings",
"module": "./index.js",
"main": "./lib/index.js",
@@ -43,7 +43,7 @@
"typescript": "^3.9.2"
},
"dependencies": {
- "@thi.ng/api": "^6.11.0",
+ "@thi.ng/api": "^6.11.1",
"tslib": "^1.12.0"
},
"files": [
diff --git a/packages/dynvar/src/index.ts b/packages/dynvar/src/index.ts
index dfc8f3b351..e5f4061b55 100644
--- a/packages/dynvar/src/index.ts
+++ b/packages/dynvar/src/index.ts
@@ -1,10 +1,5 @@
import { assert } from "@thi.ng/api";
-import type {
- Fn0,
- IBind,
- ICopy,
- IDeref
-} from "@thi.ng/api";
+import type { Fn0, IBind, ICopy, IDeref } from "@thi.ng/api";
/**
* Hidden storage for bound value stacks
diff --git a/packages/ecs/CHANGELOG.md b/packages/ecs/CHANGELOG.md
index 766dbc14ad..15ee8ae477 100644
--- a/packages/ecs/CHANGELOG.md
+++ b/packages/ecs/CHANGELOG.md
@@ -3,6 +3,14 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
+## [0.3.19](https://github.com/thi-ng/umbrella/compare/@thi.ng/ecs@0.3.18...@thi.ng/ecs@0.3.19) (2020-06-14)
+
+**Note:** Version bump only for package @thi.ng/ecs
+
+
+
+
+
## [0.3.18](https://github.com/thi-ng/umbrella/compare/@thi.ng/ecs@0.3.17...@thi.ng/ecs@0.3.18) (2020-06-01)
**Note:** Version bump only for package @thi.ng/ecs
diff --git a/packages/ecs/package.json b/packages/ecs/package.json
index b560e71284..f0b787b646 100644
--- a/packages/ecs/package.json
+++ b/packages/ecs/package.json
@@ -1,6 +1,6 @@
{
"name": "@thi.ng/ecs",
- "version": "0.3.18",
+ "version": "0.3.19",
"description": "Entity Component System based around typed arrays & sparse sets",
"module": "./index.js",
"main": "./lib/index.js",
@@ -44,13 +44,13 @@
"typescript": "^3.9.2"
},
"dependencies": {
- "@thi.ng/api": "^6.11.0",
- "@thi.ng/associative": "^4.0.11",
- "@thi.ng/binary": "^2.0.7",
- "@thi.ng/checks": "^2.7.0",
- "@thi.ng/dcons": "^2.2.19",
- "@thi.ng/idgen": "^0.2.14",
- "@thi.ng/transducers": "^7.0.0",
+ "@thi.ng/api": "^6.11.1",
+ "@thi.ng/associative": "^4.1.0",
+ "@thi.ng/binary": "^2.0.8",
+ "@thi.ng/checks": "^2.7.1",
+ "@thi.ng/dcons": "^2.2.20",
+ "@thi.ng/idgen": "^0.2.15",
+ "@thi.ng/transducers": "^7.1.0",
"tslib": "^1.12.0"
},
"files": [
diff --git a/packages/ecs/src/api.ts b/packages/ecs/src/api.ts
index 6f06f0ba9a..ddedabf33d 100644
--- a/packages/ecs/src/api.ts
+++ b/packages/ecs/src/api.ts
@@ -7,7 +7,7 @@ import type {
IRelease,
Type,
TypedArray,
- UIntArray
+ UIntArray,
} from "@thi.ng/api";
export type ComponentID = keyof S & string;
diff --git a/packages/ecs/src/components/acomponent.ts b/packages/ecs/src/components/acomponent.ts
index 6b7b44dc50..e154a3885c 100644
--- a/packages/ecs/src/components/acomponent.ts
+++ b/packages/ecs/src/components/acomponent.ts
@@ -1,13 +1,7 @@
import { INotifyMixin } from "@thi.ng/api";
import { isFunction } from "@thi.ng/checks";
import { EVENT_ADDED, EVENT_CHANGED, EVENT_PRE_DELETE } from "../constants";
-import type {
- Event,
- IID,
- INotify,
- Listener,
- UIntArray
-} from "@thi.ng/api";
+import type { Event, IID, INotify, Listener, UIntArray } from "@thi.ng/api";
import type { ComponentDefaultValue, IComponent } from "../api";
@INotifyMixin
diff --git a/packages/ecs/src/components/object-component.ts b/packages/ecs/src/components/object-component.ts
index 5fe5fdd19f..e710a4940b 100644
--- a/packages/ecs/src/components/object-component.ts
+++ b/packages/ecs/src/components/object-component.ts
@@ -1,9 +1,4 @@
-import {
- assert,
- INotifyMixin,
- typedArray,
- uintType
-} from "@thi.ng/api";
+import { assert, INotifyMixin, typedArray, uintType } from "@thi.ng/api";
import { AComponent } from "./acomponent";
import type { UIntArray } from "@thi.ng/api";
import type { ObjectComponentOpts } from "../api";
diff --git a/packages/ecs/src/ecs.ts b/packages/ecs/src/ecs.ts
index 8dc05c1366..81dce3361b 100644
--- a/packages/ecs/src/ecs.ts
+++ b/packages/ecs/src/ecs.ts
@@ -1,9 +1,4 @@
-import {
- assert,
- INotifyMixin,
- typedArray,
- uintType
-} from "@thi.ng/api";
+import { assert, INotifyMixin, typedArray, uintType } from "@thi.ng/api";
import { bitSize } from "@thi.ng/binary";
import { isArray, isString } from "@thi.ng/checks";
import { IDGen } from "@thi.ng/idgen";
@@ -13,7 +8,7 @@ import {
GroupOpts,
IComponent,
MemMappedComponentOpts,
- ObjectComponentOpts
+ ObjectComponentOpts,
} from "./api";
import { MemMappedComponent } from "./components/mem-component";
import { ObjectComponent } from "./components/object-component";
@@ -92,7 +87,7 @@ export class ECS implements INotify {
) {
opts = {
id: `group${NEXT_GROUP_ID++}`,
- ...opts
+ ...opts,
};
assert(
!this.groups.has(opts.id!),
diff --git a/packages/ecs/src/groups/group.ts b/packages/ecs/src/groups/group.ts
index 86862cbb34..1d904ad13b 100644
--- a/packages/ecs/src/groups/group.ts
+++ b/packages/ecs/src/groups/group.ts
@@ -7,21 +7,16 @@ import {
EVENT_ADDED,
EVENT_CHANGED,
EVENT_PRE_DELETE,
- LOGGER
+ LOGGER,
} from "../constants";
-import type {
- Event,
- FnO2,
- FnO3,
- IID
-} from "@thi.ng/api";
+import type { Event, FnO2, FnO3, IID } from "@thi.ng/api";
import type {
ComponentID,
GroupInfo,
GroupOpts,
GroupTuple,
ICache,
- IComponent
+ IComponent,
} from "../api";
export class Group> implements IID {
@@ -50,7 +45,7 @@ export class Group> implements IID {
acc[c.id] = {
values: c.vals,
size: c.size,
- stride: c.stride
+ stride: c.stride,
};
return acc;
}, {});
diff --git a/packages/ecs/test/component.ts b/packages/ecs/test/component.ts
index 040bd3baa9..b6db9cd362 100644
--- a/packages/ecs/test/component.ts
+++ b/packages/ecs/test/component.ts
@@ -41,7 +41,7 @@ describe("component", () => {
id: "b",
type: Type.F32,
size: 3,
- stride: 4
+ stride: 4,
});
assert.equal(b.vals.length, ecs.idgen.capacity * 4);
assert.equal(b.size, 3);
@@ -53,7 +53,7 @@ describe("component", () => {
id: "a",
type: Type.F32,
size: 2,
- default: [1, 2]
+ default: [1, 2],
});
assert(a.add(8));
assert(a.add(9, [10, 20]));
@@ -69,11 +69,19 @@ describe("component", () => {
id: "a",
type: Type.F32,
size: 2,
- default: [1, 2]
+ default: [1, 2],
});
assert(a.add(8));
assert(a.add(9, [10, 20]));
assert.deepEqual([...a.packedValues()], [1, 2, 10, 20]);
- assert(equiv([...a.values()], [[10, 20], [1, 2]]));
+ assert(
+ equiv(
+ [...a.values()],
+ [
+ [10, 20],
+ [1, 2],
+ ]
+ )
+ );
});
});
diff --git a/packages/ecs/test/group.ts b/packages/ecs/test/group.ts
index 887e28aa9a..3f289b11ff 100644
--- a/packages/ecs/test/group.ts
+++ b/packages/ecs/test/group.ts
@@ -30,7 +30,7 @@ describe("component", () => {
equiv(collect(g), [
{ a: "a", b: [0, 0], id: 0 },
{ a: "aa", b: [1, 2], id: 1 },
- { a: "aaa", b: [3, 4], id: 2 }
+ { a: "aaa", b: [3, 4], id: 2 },
])
);
@@ -38,7 +38,7 @@ describe("component", () => {
assert.ok(
equiv(collect(g), [
{ a: "aa", b: [1, 2], id: 1 },
- { a: "aaa", b: [3, 4], id: 2 }
+ { a: "aaa", b: [3, 4], id: 2 },
])
);
a.delete(2);
diff --git a/packages/equiv/test/index.ts b/packages/equiv/test/index.ts
index 4a7449b1e0..fe0faee710 100644
--- a/packages/equiv/test/index.ts
+++ b/packages/equiv/test/index.ts
@@ -85,7 +85,7 @@ describe("equiv", () => {
equiv(1, {
equiv(x: number) {
return x === 1;
- }
+ },
})
);
assert.ok(
@@ -93,7 +93,7 @@ describe("equiv", () => {
{
equiv(x: number) {
return x === 1;
- }
+ },
},
1
)
@@ -114,7 +114,16 @@ describe("equiv", () => {
);
assert.ok(!equiv(a, new Set([3, 2, 0])));
assert.ok(!equiv(a, [3, 2, 0]));
- assert.ok(!equiv(a, new Map([[3, 3], [2, 2], [1, 1]])));
+ assert.ok(
+ !equiv(
+ a,
+ new Map([
+ [3, 3],
+ [2, 2],
+ [1, 1],
+ ])
+ )
+ );
assert.ok(!equiv(a, null));
assert.ok(!equiv(null, a));
});
diff --git a/packages/fsm/CHANGELOG.md b/packages/fsm/CHANGELOG.md
index b1ae311f0b..a6fb3c8235 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.13](https://github.com/thi-ng/umbrella/compare/@thi.ng/fsm@2.4.12...@thi.ng/fsm@2.4.13) (2020-06-14)
+
+**Note:** Version bump only for package @thi.ng/fsm
+
+
+
+
+
## [2.4.12](https://github.com/thi-ng/umbrella/compare/@thi.ng/fsm@2.4.11...@thi.ng/fsm@2.4.12) (2020-06-01)
**Note:** Version bump only for package @thi.ng/fsm
diff --git a/packages/fsm/package.json b/packages/fsm/package.json
index fbd9a9e15b..77eb8de8db 100644
--- a/packages/fsm/package.json
+++ b/packages/fsm/package.json
@@ -1,6 +1,6 @@
{
"name": "@thi.ng/fsm",
- "version": "2.4.12",
+ "version": "2.4.13",
"description": "Composable primitives for building declarative, transducer based Finite-State Machines & matchers for arbitrary data streams",
"module": "./index.js",
"main": "./lib/index.js",
@@ -43,12 +43,12 @@
"typescript": "^3.9.2"
},
"dependencies": {
- "@thi.ng/api": "^6.11.0",
- "@thi.ng/arrays": "^0.6.8",
+ "@thi.ng/api": "^6.11.1",
+ "@thi.ng/arrays": "^0.6.9",
"@thi.ng/equiv": "^1.0.23",
"@thi.ng/errors": "^1.2.14",
- "@thi.ng/strings": "^1.8.9",
- "@thi.ng/transducers": "^7.0.0",
+ "@thi.ng/strings": "^1.8.10",
+ "@thi.ng/transducers": "^7.1.0",
"tslib": "^1.12.0"
},
"files": [
diff --git a/packages/fsm/src/alts.ts b/packages/fsm/src/alts.ts
index d718cb458f..8ef1397cd7 100644
--- a/packages/fsm/src/alts.ts
+++ b/packages/fsm/src/alts.ts
@@ -5,7 +5,7 @@ import {
Matcher,
MatcherInst,
MatchResult,
- RES_PARTIAL
+ RES_PARTIAL,
} from "./api";
import { result } from "./result";
diff --git a/packages/fsm/src/fsm.ts b/packages/fsm/src/fsm.ts
index bd91940990..84f433f4e1 100644
--- a/packages/fsm/src/fsm.ts
+++ b/packages/fsm/src/fsm.ts
@@ -6,7 +6,7 @@ import {
Reducer,
ReductionFn,
Transducer,
- unreduced
+ unreduced,
} from "@thi.ng/transducers";
import { Match, Matcher } from "./api";
import type { Fn2, IObjectOf } from "@thi.ng/api";
@@ -86,8 +86,9 @@ export function fsm(
curr = next();
} else {
illegalState(
- `unknown tx: ${currID} -> ${body &&
- body[0]}`
+ `unknown tx: ${currID} -> ${
+ body && body[0]
+ }`
);
}
if (res) {
@@ -106,7 +107,7 @@ export function fsm(
break;
}
return acc;
- }
+ },
];
};
}
diff --git a/packages/fsm/src/lit.ts b/packages/fsm/src/lit.ts
index f6d9c146d3..04105318f0 100644
--- a/packages/fsm/src/lit.ts
+++ b/packages/fsm/src/lit.ts
@@ -1,10 +1,5 @@
import { equiv as _equiv } from "@thi.ng/equiv";
-import {
- Match,
- Matcher,
- RES_PARTIAL,
- SeqCallback
-} from "./api";
+import { Match, Matcher, RES_PARTIAL, SeqCallback } from "./api";
import { result } from "./result";
import type { Predicate2 } from "@thi.ng/api";
diff --git a/packages/fsm/src/not.ts b/packages/fsm/src/not.ts
index af85a5e1a1..b18a0a01ff 100644
--- a/packages/fsm/src/not.ts
+++ b/packages/fsm/src/not.ts
@@ -1,9 +1,4 @@
-import {
- Match,
- Matcher,
- RES_PARTIAL,
- SeqCallback
-} from "./api";
+import { Match, Matcher, RES_PARTIAL, SeqCallback } from "./api";
import { result } from "./result";
/**
@@ -29,8 +24,8 @@ export const not = (
return type === Match.FAIL
? result(success && success(ctx, buf))
: type !== Match.PARTIAL
- ? // TODO Match.FULL_NC handling?
- result(fail && fail(ctx, buf), Match.FAIL)
- : RES_PARTIAL;
+ ? // TODO Match.FULL_NC handling?
+ result(fail && fail(ctx, buf), Match.FAIL)
+ : RES_PARTIAL;
};
};
diff --git a/packages/fsm/src/range.ts b/packages/fsm/src/range.ts
index 1585753702..d4eea112d4 100644
--- a/packages/fsm/src/range.ts
+++ b/packages/fsm/src/range.ts
@@ -53,11 +53,7 @@ export const alpha = (
export const alphaNum =