From 4ea682406c0ad6bee06d74f7b23eeea9fd482aa7 Mon Sep 17 00:00:00 2001
From: hs <>
Date: Fri, 1 Jun 2018 22:13:53 -0700
Subject: [PATCH 01/17] hsdatab doc version
---
Gruntfile.js | 6 -
LICENSE | 19 -
README.md | 25 -
docs/data/hsdatab.json | 3395 +++++
docs/data/index.json | 6 +
docs/example/defEquityList.json | 10 +
docs/example/equityList.json | 10 +
docs/example/hsGraph.js | 10647 ++++++++++++++
docs/example/hsLayout.css | 88 +
docs/example/hsLayout.css.map | 1 +
docs/example/hsLayout.js | 6527 +++++++++
docs/example/hsWidget.js | 6867 +++++++++
docs/example/index.json | 13 +
docs/example/layout.html | 11 +
docs/example/search.json | 6 +
docs/hsDoc.css | 1062 ++
docs/hsDoc.js | 12128 ++++++++++++++++
docs/index.html | 11 +
docs/src/hsData/Data.html | 557 +
docs/src/hsData/DataFilters.html | 272 +
docs/src/hsData/DataTypes.html | 48 +
docs/src/hsData/index.html | 32 +
docs/src/hsData/overview.html | 40 +
docs/src/hsDoc/DocSets.html | 168 +
docs/src/hsDoc/Site.html | 78 +
docs/src/hsDoc/index.html | 27 +
docs/src/hsDoc/markdown.html | 100 +
docs/src/hsDoc/overview.html | 161 +
docs/src/hsDoc/view/DocsMenu.html | 56 +
docs/src/hsDoc/view/LeftNav.html | 171 +
docs/src/hsDoc/view/MainComment.html | 171 +
docs/src/hsDoc/view/MainDetail.html | 181 +
docs/src/hsDoc/view/MainExample.html | 285 +
docs/src/hsDoc/view/MainExample.spec.html | 33 +
docs/src/hsDoc/view/Parts.html | 218 +
docs/src/hsDoc/view/Tooltip.html | 25 +
docs/src/hsGraph/Axes.html | 450 +
docs/src/hsGraph/AxesCfg.html | 234 +
docs/src/hsGraph/AxesDefaultCfg.html | 181 +
docs/src/hsGraph/AxesTypes.html | 110 +
docs/src/hsGraph/Canvas.html | 89 +
docs/src/hsGraph/Chart.html | 148 +
docs/src/hsGraph/Config.html | 40 +
docs/src/hsGraph/Data.html | 351 +
docs/src/hsGraph/Graph.html | 404 +
docs/src/hsGraph/Grid.html | 139 +
docs/src/hsGraph/Legend.html | 73 +
docs/src/hsGraph/Plot.html | 106 +
docs/src/hsGraph/PlotArea.html | 105 +
docs/src/hsGraph/PlotBar.html | 115 +
docs/src/hsGraph/PlotLine.html | 68 +
docs/src/hsGraph/PlotMarkers.html | 71 +
docs/src/hsGraph/SVGElem.html | 312 +
docs/src/hsGraph/Scale.html | 299 +
docs/src/hsGraph/Series.html | 380 +
docs/src/hsGraph/SeriesLine.html | 18 +
docs/src/hsGraph/example/start.html | 19 +
docs/src/hsGraph/hsGraph.html | 182 +
docs/src/hsGraph/index.html | 26 +
docs/src/hsGraph/overview.html | 94 +
docs/src/hsLayout/example/columns.x.html | 88 +
docs/src/hsLayout/example/config.x.html | 82 +
docs/src/hsLayout/example/layout.x.html | 138 +
docs/src/hsLayout/example/start.html | 19 +
docs/src/hsLayout/hsConfig.html | 274 +
docs/src/hsLayout/index.html | 31 +
docs/src/hsLayout/mithril.html | 43 +
docs/src/hsLayout/overview.html | 95 +
docs/src/hsLayout/view/Container.html | 159 +
docs/src/hsLayout/view/Layout.html | 153 +
docs/src/hsLayout/view/Layouter.html | 148 +
docs/src/hsLayout/view/PillaredLayout.html | 359 +
.../hsLayout/view/PillaredLayout.spec.html | 101 +
docs/src/hsLayout/view/PillaredLayouter.html | 360 +
.../hsLayout/view/PillaredLayouter.spec.html | 101 +
docs/src/hsLayout/view/TileLayout.html | 156 +
docs/src/hsLayout/view/TileLayouter.html | 180 +
docs/src/hsLayout/view/Tokens.html | 75 +
docs/src/hsNode/cpUtil.html | 59 +
docs/src/hsNode/cpUtil.spec.html | 80 +
docs/src/hsNode/date.html | 89 +
docs/src/hsNode/date.spec.html | 59 +
docs/src/hsNode/excel.html | 282 +
docs/src/hsNode/excel.spec.html | 152 +
docs/src/hsNode/fsUtil.html | 307 +
docs/src/hsNode/fsUtil.spec.html | 571 +
docs/src/hsNode/httpUtil.html | 75 +
docs/src/hsNode/index.html | 30 +
docs/src/hsNode/log.html | 308 +
docs/src/hsNode/log.spec.html | 149 +
docs/src/hsNode/node.html | 72 +
docs/src/hsNode/node.spec.html | 75 +
docs/src/hsStock/Home.html | 65 +
docs/src/hsStock/Router.html | 82 +
docs/src/hsStock/Site.html | 70 +
docs/src/hsStock/controller/Assets.html | 78 +
docs/src/hsStock/controller/Equities.html | 195 +
docs/src/hsStock/controller/Equity.html | 493 +
docs/src/hsStock/controller/EquityList.html | 120 +
docs/src/hsStock/controller/EquityLoader.html | 345 +
docs/src/hsStock/controller/Loader.html | 18 +
docs/src/hsStock/controller/Trader.html | 325 +
docs/src/hsStock/controller/TraderIEX.html | 311 +
docs/src/hsStock/controller/Venue.html | 68 +
docs/src/hsStock/controller/VenueIEX.html | 416 +
docs/src/hsStock/fileIO.html | 49 +
docs/src/hsStock/index.html | 25 +
docs/src/hsStock/overview.html | 23 +
docs/src/hsStock/saveToFile.html | 36 +
.../hsStock/server/convertInvestments.html | 20 +
docs/src/hsStock/view/Equity.html | 242 +
docs/src/hsStock/view/Header.html | 31 +
docs/src/hsStock/view/Import.html | 71 +
docs/src/hsStock/view/ImportPane.html | 65 +
docs/src/hsStock/view/LeftNav.html | 45 +
docs/src/hsStock/view/Main.html | 85 +
docs/src/hsStock/view/MainDetails.html | 145 +
docs/src/hsStock/view/MainGraph.html | 121 +
docs/src/hsStock/view/MainMenu.html | 31 +
docs/src/hsStock/view/Modal.html | 31 +
docs/src/hsStock/view/SiteMenu.html | 31 +
docs/src/hsStock/view/StockQuotes.html | 103 +
docs/src/hsStock/view/Trade.html | 24 +
docs/src/hsStock/view/TradePane.html | 128 +
docs/src/hsStock/view/Trader.html | 110 +
docs/src/hsStock/view/TraderIEX.html | 281 +
docs/src/hsStock/view/View.html | 87 +
docs/src/hsStock/view/ViewLeft.html | 149 +
docs/src/hsStock/view/ViewPane.html | 45 +
docs/src/hsUtil/Checksum.html | 33 +
docs/src/hsUtil/Date.html | 95 +
docs/src/hsUtil/Number.html | 34 +
docs/src/hsUtil/PacingQueue.html | 63 +
docs/src/hsUtil/TimedPromise.html | 46 +
docs/src/hsUtil/hsChecksum.html | 33 +
docs/src/hsUtil/hsTimedPromise.html | 46 +
docs/src/hsUtil/hsUtil.html | 52 +
docs/src/hsUtil/index.html | 24 +
docs/src/hsUtil/overview.html | 30 +
docs/src/hsUtil/showdown.html | 24 +
docs/src/hsWidget/AddRemove.html | 48 +
docs/src/hsWidget/Button.html | 74 +
docs/src/hsWidget/Collapsible.html | 93 +
docs/src/hsWidget/CornerButton.html | 120 +
docs/src/hsWidget/DropOver.html | 87 +
docs/src/hsWidget/Menu.html | 83 +
docs/src/hsWidget/Menu.spec.html | 66 +
docs/src/hsWidget/Modal.html | 68 +
docs/src/hsWidget/OneOfButtons.html | 39 +
docs/src/hsWidget/RadioButton.html | 89 +
docs/src/hsWidget/Selector.html | 177 +
docs/src/hsWidget/ToggleButton.html | 99 +
docs/src/hsWidget/ToolbarButton.html | 147 +
docs/src/hsWidget/TypeAhead.html | 150 +
docs/src/hsWidget/example/start.html | 19 +
docs/src/hsWidget/index.html | 38 +
docs/src/hsWidget/overview.html | 192 +
docs/src/hsWidgets/AddRemove.html | 36 +
docs/src/hsWidgets/Button.html | 32 +
docs/src/hsWidgets/Collapsible.html | 54 +
docs/src/hsWidgets/Menu.html | 142 +
docs/src/hsWidgets/Menu.spec.html | 66 +
docs/src/hsWidgets/Modal.html | 32 +
docs/src/hsWidgets/css/Button.html | 32 +
docs/src/hsWidgets/example/start.html | 19 +
docs/src/hsWidgets/index.html | 27 +
docs/src/hsWidgets/overview.html | 28 +
package.json | 27 -
sharedGruntConfig.js | 290 -
src/Data.ts | 540 -
src/DataFilters.ts | 254 -
src/index.ts | 14 -
src/overview.ts | 22 -
tsconfigGrunt.json | 16 -
tslint.json | 11 -
175 files changed, 59390 insertions(+), 1224 deletions(-)
delete mode 100755 Gruntfile.js
delete mode 100644 LICENSE
delete mode 100644 README.md
create mode 100644 docs/data/hsdatab.json
create mode 100644 docs/data/index.json
create mode 100644 docs/example/defEquityList.json
create mode 100644 docs/example/equityList.json
create mode 100644 docs/example/hsGraph.js
create mode 100644 docs/example/hsLayout.css
create mode 100644 docs/example/hsLayout.css.map
create mode 100644 docs/example/hsLayout.js
create mode 100644 docs/example/hsWidget.js
create mode 100644 docs/example/index.json
create mode 100644 docs/example/layout.html
create mode 100644 docs/example/search.json
create mode 100644 docs/hsDoc.css
create mode 100644 docs/hsDoc.js
create mode 100644 docs/index.html
create mode 100644 docs/src/hsData/Data.html
create mode 100644 docs/src/hsData/DataFilters.html
create mode 100644 docs/src/hsData/DataTypes.html
create mode 100644 docs/src/hsData/index.html
create mode 100644 docs/src/hsData/overview.html
create mode 100644 docs/src/hsDoc/DocSets.html
create mode 100644 docs/src/hsDoc/Site.html
create mode 100644 docs/src/hsDoc/index.html
create mode 100644 docs/src/hsDoc/markdown.html
create mode 100644 docs/src/hsDoc/overview.html
create mode 100644 docs/src/hsDoc/view/DocsMenu.html
create mode 100644 docs/src/hsDoc/view/LeftNav.html
create mode 100644 docs/src/hsDoc/view/MainComment.html
create mode 100644 docs/src/hsDoc/view/MainDetail.html
create mode 100644 docs/src/hsDoc/view/MainExample.html
create mode 100644 docs/src/hsDoc/view/MainExample.spec.html
create mode 100644 docs/src/hsDoc/view/Parts.html
create mode 100644 docs/src/hsDoc/view/Tooltip.html
create mode 100644 docs/src/hsGraph/Axes.html
create mode 100644 docs/src/hsGraph/AxesCfg.html
create mode 100644 docs/src/hsGraph/AxesDefaultCfg.html
create mode 100644 docs/src/hsGraph/AxesTypes.html
create mode 100644 docs/src/hsGraph/Canvas.html
create mode 100644 docs/src/hsGraph/Chart.html
create mode 100644 docs/src/hsGraph/Config.html
create mode 100644 docs/src/hsGraph/Data.html
create mode 100644 docs/src/hsGraph/Graph.html
create mode 100644 docs/src/hsGraph/Grid.html
create mode 100644 docs/src/hsGraph/Legend.html
create mode 100644 docs/src/hsGraph/Plot.html
create mode 100644 docs/src/hsGraph/PlotArea.html
create mode 100644 docs/src/hsGraph/PlotBar.html
create mode 100644 docs/src/hsGraph/PlotLine.html
create mode 100644 docs/src/hsGraph/PlotMarkers.html
create mode 100644 docs/src/hsGraph/SVGElem.html
create mode 100644 docs/src/hsGraph/Scale.html
create mode 100644 docs/src/hsGraph/Series.html
create mode 100644 docs/src/hsGraph/SeriesLine.html
create mode 100644 docs/src/hsGraph/example/start.html
create mode 100644 docs/src/hsGraph/hsGraph.html
create mode 100644 docs/src/hsGraph/index.html
create mode 100644 docs/src/hsGraph/overview.html
create mode 100644 docs/src/hsLayout/example/columns.x.html
create mode 100644 docs/src/hsLayout/example/config.x.html
create mode 100644 docs/src/hsLayout/example/layout.x.html
create mode 100644 docs/src/hsLayout/example/start.html
create mode 100644 docs/src/hsLayout/hsConfig.html
create mode 100644 docs/src/hsLayout/index.html
create mode 100644 docs/src/hsLayout/mithril.html
create mode 100644 docs/src/hsLayout/overview.html
create mode 100644 docs/src/hsLayout/view/Container.html
create mode 100644 docs/src/hsLayout/view/Layout.html
create mode 100644 docs/src/hsLayout/view/Layouter.html
create mode 100644 docs/src/hsLayout/view/PillaredLayout.html
create mode 100644 docs/src/hsLayout/view/PillaredLayout.spec.html
create mode 100644 docs/src/hsLayout/view/PillaredLayouter.html
create mode 100644 docs/src/hsLayout/view/PillaredLayouter.spec.html
create mode 100644 docs/src/hsLayout/view/TileLayout.html
create mode 100644 docs/src/hsLayout/view/TileLayouter.html
create mode 100644 docs/src/hsLayout/view/Tokens.html
create mode 100644 docs/src/hsNode/cpUtil.html
create mode 100644 docs/src/hsNode/cpUtil.spec.html
create mode 100644 docs/src/hsNode/date.html
create mode 100644 docs/src/hsNode/date.spec.html
create mode 100644 docs/src/hsNode/excel.html
create mode 100644 docs/src/hsNode/excel.spec.html
create mode 100644 docs/src/hsNode/fsUtil.html
create mode 100644 docs/src/hsNode/fsUtil.spec.html
create mode 100644 docs/src/hsNode/httpUtil.html
create mode 100644 docs/src/hsNode/index.html
create mode 100644 docs/src/hsNode/log.html
create mode 100644 docs/src/hsNode/log.spec.html
create mode 100644 docs/src/hsNode/node.html
create mode 100644 docs/src/hsNode/node.spec.html
create mode 100644 docs/src/hsStock/Home.html
create mode 100644 docs/src/hsStock/Router.html
create mode 100644 docs/src/hsStock/Site.html
create mode 100644 docs/src/hsStock/controller/Assets.html
create mode 100644 docs/src/hsStock/controller/Equities.html
create mode 100644 docs/src/hsStock/controller/Equity.html
create mode 100644 docs/src/hsStock/controller/EquityList.html
create mode 100644 docs/src/hsStock/controller/EquityLoader.html
create mode 100644 docs/src/hsStock/controller/Loader.html
create mode 100644 docs/src/hsStock/controller/Trader.html
create mode 100644 docs/src/hsStock/controller/TraderIEX.html
create mode 100644 docs/src/hsStock/controller/Venue.html
create mode 100644 docs/src/hsStock/controller/VenueIEX.html
create mode 100644 docs/src/hsStock/fileIO.html
create mode 100644 docs/src/hsStock/index.html
create mode 100644 docs/src/hsStock/overview.html
create mode 100644 docs/src/hsStock/saveToFile.html
create mode 100644 docs/src/hsStock/server/convertInvestments.html
create mode 100644 docs/src/hsStock/view/Equity.html
create mode 100644 docs/src/hsStock/view/Header.html
create mode 100644 docs/src/hsStock/view/Import.html
create mode 100644 docs/src/hsStock/view/ImportPane.html
create mode 100644 docs/src/hsStock/view/LeftNav.html
create mode 100644 docs/src/hsStock/view/Main.html
create mode 100644 docs/src/hsStock/view/MainDetails.html
create mode 100644 docs/src/hsStock/view/MainGraph.html
create mode 100644 docs/src/hsStock/view/MainMenu.html
create mode 100644 docs/src/hsStock/view/Modal.html
create mode 100644 docs/src/hsStock/view/SiteMenu.html
create mode 100644 docs/src/hsStock/view/StockQuotes.html
create mode 100644 docs/src/hsStock/view/Trade.html
create mode 100644 docs/src/hsStock/view/TradePane.html
create mode 100644 docs/src/hsStock/view/Trader.html
create mode 100644 docs/src/hsStock/view/TraderIEX.html
create mode 100644 docs/src/hsStock/view/View.html
create mode 100644 docs/src/hsStock/view/ViewLeft.html
create mode 100644 docs/src/hsStock/view/ViewPane.html
create mode 100644 docs/src/hsUtil/Checksum.html
create mode 100644 docs/src/hsUtil/Date.html
create mode 100644 docs/src/hsUtil/Number.html
create mode 100644 docs/src/hsUtil/PacingQueue.html
create mode 100644 docs/src/hsUtil/TimedPromise.html
create mode 100644 docs/src/hsUtil/hsChecksum.html
create mode 100644 docs/src/hsUtil/hsTimedPromise.html
create mode 100644 docs/src/hsUtil/hsUtil.html
create mode 100644 docs/src/hsUtil/index.html
create mode 100644 docs/src/hsUtil/overview.html
create mode 100644 docs/src/hsUtil/showdown.html
create mode 100644 docs/src/hsWidget/AddRemove.html
create mode 100644 docs/src/hsWidget/Button.html
create mode 100644 docs/src/hsWidget/Collapsible.html
create mode 100644 docs/src/hsWidget/CornerButton.html
create mode 100644 docs/src/hsWidget/DropOver.html
create mode 100644 docs/src/hsWidget/Menu.html
create mode 100644 docs/src/hsWidget/Menu.spec.html
create mode 100644 docs/src/hsWidget/Modal.html
create mode 100644 docs/src/hsWidget/OneOfButtons.html
create mode 100644 docs/src/hsWidget/RadioButton.html
create mode 100644 docs/src/hsWidget/Selector.html
create mode 100644 docs/src/hsWidget/ToggleButton.html
create mode 100644 docs/src/hsWidget/ToolbarButton.html
create mode 100644 docs/src/hsWidget/TypeAhead.html
create mode 100644 docs/src/hsWidget/example/start.html
create mode 100644 docs/src/hsWidget/index.html
create mode 100644 docs/src/hsWidget/overview.html
create mode 100644 docs/src/hsWidgets/AddRemove.html
create mode 100644 docs/src/hsWidgets/Button.html
create mode 100644 docs/src/hsWidgets/Collapsible.html
create mode 100644 docs/src/hsWidgets/Menu.html
create mode 100644 docs/src/hsWidgets/Menu.spec.html
create mode 100644 docs/src/hsWidgets/Modal.html
create mode 100644 docs/src/hsWidgets/css/Button.html
create mode 100644 docs/src/hsWidgets/example/start.html
create mode 100644 docs/src/hsWidgets/index.html
create mode 100644 docs/src/hsWidgets/overview.html
delete mode 100755 package.json
delete mode 100644 sharedGruntConfig.js
delete mode 100644 src/Data.ts
delete mode 100644 src/DataFilters.ts
delete mode 100644 src/index.ts
delete mode 100644 src/overview.ts
delete mode 100644 tsconfigGrunt.json
delete mode 100644 tslint.json
diff --git a/Gruntfile.js b/Gruntfile.js
deleted file mode 100755
index 183d3fa..0000000
--- a/Gruntfile.js
+++ /dev/null
@@ -1,6 +0,0 @@
-/*global module:false*/
-module.exports = function(grunt) {
- const sgc = require('./sharedGruntConfig')(grunt, __dirname, [], 'util');
- grunt.initConfig(sgc);
-};
-
diff --git a/LICENSE b/LICENSE
deleted file mode 100644
index 28baf98..0000000
--- a/LICENSE
+++ /dev/null
@@ -1,19 +0,0 @@
-Copyright (c) HelpfulScripts 2015-2018
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in all
-copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-SOFTWARE.
\ No newline at end of file
diff --git a/README.md b/README.md
deleted file mode 100644
index b507a29..0000000
--- a/README.md
+++ /dev/null
@@ -1,25 +0,0 @@
-*hsdatab* provides a JavaScript-based data management and query mechanism.
-
-Data is managed in a simple in-memory database that holds data in rows of columns. It autodetermines the types of data held in each column, along with the domain range for each column of data. A simple query language is
-provided to filter matching data rows.
-
-## Usage
-```
-
-import { data } from 'hsdata';
-
-// creating the data
-const colNames = ['Name', 'Value', 'Start', 'End'];
-const rows = [
- ['Harry', '100', '3/1/14', '11/20/14'],
- ['Mary', '1500', '7/1/14', '9/30/14'],
- ['Peter', '400', '5/20/14', '4/30/15'],
- ['Jane', '700', '11/13/14', '8/15/15']
-];
-const data = new Data({colNames:colNames, rows:rows});
-
-// querying the data
-const query = {Name:["Peter", "Jane"]}; // query: Name is Peter or Jane
-const result = data.filter(query); // returns new dataset with matching rows
-console.log(result.getColumn('Name').join(', ')); // > Peter, Jane
-```
diff --git a/docs/data/hsdatab.json b/docs/data/hsdatab.json
new file mode 100644
index 0000000..8cc4011
--- /dev/null
+++ b/docs/data/hsdatab.json
@@ -0,0 +1,3395 @@
+{
+ "id": 0,
+ "name": "hsdatab",
+ "kind": 0,
+ "flags": {},
+ "children": [
+ {
+ "id": 49,
+ "name": "\"Data\"",
+ "kind": 1,
+ "kindString": "External module",
+ "flags": {
+ "isExported": true
+ },
+ "originalName": "/Users/sth1pal/Documents/Development/JavaScript/node.js/ts6/dev/hsLibs/standalone/hsDatab/src/Data.ts",
+ "comment": {},
+ "children": [
+ {
+ "id": 63,
+ "name": "Data",
+ "kind": 128,
+ "kindString": "Class",
+ "flags": {
+ "isExported": true
+ },
+ "comment": {
+ "shortText": "# Data\nA simple in-memory database that holds data in rows of columns."
+ },
+ "children": [
+ {
+ "id": 75,
+ "name": "constructor",
+ "kind": 512,
+ "kindString": "Constructor",
+ "flags": {
+ "isExported": true
+ },
+ "signatures": [
+ {
+ "id": 76,
+ "name": "new Data",
+ "kind": 16384,
+ "kindString": "Constructor signature",
+ "flags": {},
+ "parameters": [
+ {
+ "id": 77,
+ "name": "data",
+ "kind": 32768,
+ "kindString": "Parameter",
+ "flags": {
+ "isOptional": true
+ },
+ "type": {
+ "type": "reference",
+ "name": "DataSet",
+ "id": 50
+ }
+ }
+ ],
+ "type": {
+ "type": "reference",
+ "name": "Data",
+ "id": 63
+ }
+ }
+ ],
+ "sources": [
+ {
+ "fileName": "Data.ts",
+ "line": 81,
+ "character": 5
+ }
+ ]
+ },
+ {
+ "id": 125,
+ "name": "data",
+ "kind": 1024,
+ "kindString": "Property",
+ "flags": {
+ "isPrivate": true,
+ "isExported": true
+ },
+ "sources": [
+ {
+ "fileName": "Data.ts",
+ "line": 381,
+ "character": 16
+ }
+ ],
+ "type": {
+ "type": "array",
+ "elementType": {
+ "type": "reference",
+ "name": "DataRow",
+ "id": 160
+ }
+ },
+ "defaultValue": " []"
+ },
+ {
+ "id": 126,
+ "name": "meta",
+ "kind": 1024,
+ "kindString": "Property",
+ "flags": {
+ "isPrivate": true,
+ "isExported": true
+ },
+ "sources": [
+ {
+ "fileName": "Data.ts",
+ "line": 382,
+ "character": 16
+ }
+ ],
+ "type": {
+ "type": "array",
+ "elementType": {
+ "type": "reference",
+ "name": "MetaStruct",
+ "id": 57
+ }
+ },
+ "defaultValue": " []"
+ },
+ {
+ "id": 127,
+ "name": "name",
+ "kind": 1024,
+ "kindString": "Property",
+ "flags": {
+ "isPrivate": true,
+ "isExported": true
+ },
+ "sources": [
+ {
+ "fileName": "Data.ts",
+ "line": 383,
+ "character": 16
+ }
+ ],
+ "type": {
+ "type": "intrinsic",
+ "name": "string"
+ }
+ },
+ {
+ "id": 142,
+ "name": "allRows",
+ "kind": 2048,
+ "kindString": "Method",
+ "flags": {
+ "isPrivate": true,
+ "isExported": true
+ },
+ "signatures": [
+ {
+ "id": 143,
+ "name": "allRows",
+ "kind": 4096,
+ "kindString": "Call signature",
+ "flags": {},
+ "comment": {
+ "shortText": "A generator that provides the specified column value for each row in `Data` in sequence."
+ },
+ "parameters": [
+ {
+ "id": 144,
+ "name": "column",
+ "kind": 32768,
+ "kindString": "Parameter",
+ "flags": {},
+ "comment": {
+ "text": "\n"
+ },
+ "type": {
+ "type": "reference",
+ "name": "ColumnReference",
+ "id": 158
+ }
+ }
+ ],
+ "type": {
+ "type": "reference",
+ "name": "Iterable",
+ "typeArguments": [
+ {
+ "type": "reference",
+ "name": "DataVal",
+ "id": 159
+ }
+ ]
+ }
+ }
+ ],
+ "sources": [
+ {
+ "fileName": "Data.ts",
+ "line": 482,
+ "character": 21
+ }
+ ]
+ },
+ {
+ "id": 112,
+ "name": "castData",
+ "kind": 2048,
+ "kindString": "Method",
+ "flags": {
+ "isExported": true,
+ "isPublic": true
+ },
+ "signatures": [
+ {
+ "id": 113,
+ "name": "castData",
+ "kind": 4096,
+ "kindString": "Call signature",
+ "flags": {},
+ "type": {
+ "type": "intrinsic",
+ "name": "void"
+ }
+ }
+ ],
+ "sources": [
+ {
+ "fileName": "Data.ts",
+ "line": 249,
+ "character": 19
+ }
+ ]
+ },
+ {
+ "id": 149,
+ "name": "castVal",
+ "kind": 2048,
+ "kindString": "Method",
+ "flags": {
+ "isPrivate": true,
+ "isExported": true
+ },
+ "signatures": [
+ {
+ "id": 150,
+ "name": "castVal",
+ "kind": 4096,
+ "kindString": "Call signature",
+ "flags": {},
+ "comment": {
+ "returns": "The result of the cast.",
+ "tags": [
+ {
+ "tag": "description",
+ "text": "Casts the sample to the specified data type.\n"
+ }
+ ]
+ },
+ "parameters": [
+ {
+ "id": 151,
+ "name": "type",
+ "kind": 32768,
+ "kindString": "Parameter",
+ "flags": {},
+ "comment": {
+ "text": "The type to cast into. In case of _any_ - i.e. `type`\ndoes not match any of the previous keywords, no casting occurs."
+ },
+ "type": {
+ "type": "intrinsic",
+ "name": "string"
+ }
+ },
+ {
+ "id": 152,
+ "name": "val",
+ "kind": 32768,
+ "kindString": "Parameter",
+ "flags": {},
+ "type": {
+ "type": "reference",
+ "name": "DataVal",
+ "id": 159
+ }
+ }
+ ],
+ "type": {
+ "type": "reference",
+ "name": "DataVal",
+ "id": 159
+ }
+ }
+ ],
+ "sources": [
+ {
+ "fileName": "Data.ts",
+ "line": 518,
+ "character": 19
+ }
+ ]
+ },
+ {
+ "id": 90,
+ "name": "colAdd",
+ "kind": 2048,
+ "kindString": "Method",
+ "flags": {
+ "isExported": true,
+ "isPublic": true
+ },
+ "signatures": [
+ {
+ "id": 91,
+ "name": "colAdd",
+ "kind": 4096,
+ "kindString": "Call signature",
+ "flags": {},
+ "comment": {
+ "shortText": "adds a new column to the data set. if `newCol` already exists,\nthe column index is returned withoput change.",
+ "returns": "the index for the new column\n"
+ },
+ "parameters": [
+ {
+ "id": 92,
+ "name": "col",
+ "kind": 32768,
+ "kindString": "Parameter",
+ "flags": {},
+ "comment": {
+ "text": "the name of the new column"
+ },
+ "type": {
+ "type": "intrinsic",
+ "name": "string"
+ }
+ }
+ ],
+ "type": {
+ "type": "intrinsic",
+ "name": "number"
+ }
+ }
+ ],
+ "sources": [
+ {
+ "fileName": "Data.ts",
+ "line": 135,
+ "character": 17
+ }
+ ]
+ },
+ {
+ "id": 93,
+ "name": "colInitialize",
+ "kind": 2048,
+ "kindString": "Method",
+ "flags": {
+ "isExported": true,
+ "isPublic": true
+ },
+ "signatures": [
+ {
+ "id": 94,
+ "name": "colInitialize",
+ "kind": 4096,
+ "kindString": "Call signature",
+ "flags": {},
+ "comment": {
+ "shortText": "initializes the specifed column with values, adding a new column if needed.\nIf `val`is a function, it is called as ```\nval(colValue:DataVal, rowIndex:number, row:DataRow)\n```"
+ },
+ "parameters": [
+ {
+ "id": 95,
+ "name": "col",
+ "kind": 32768,
+ "kindString": "Parameter",
+ "flags": {},
+ "comment": {
+ "text": "the column to initialize"
+ },
+ "type": {
+ "type": "reference",
+ "name": "ColumnReference",
+ "id": 158
+ }
+ },
+ {
+ "id": 96,
+ "name": "initializer",
+ "kind": 32768,
+ "kindString": "Parameter",
+ "flags": {},
+ "comment": {
+ "text": "the value to initialize with, or a function whose return\nvalue is used to initialize the column\n"
+ },
+ "type": {
+ "type": "intrinsic",
+ "name": "any"
+ }
+ }
+ ],
+ "type": {
+ "type": "intrinsic",
+ "name": "void"
+ }
+ }
+ ],
+ "sources": [
+ {
+ "fileName": "Data.ts",
+ "line": 157,
+ "character": 24
+ }
+ ]
+ },
+ {
+ "id": 100,
+ "name": "colName",
+ "kind": 2048,
+ "kindString": "Method",
+ "flags": {
+ "isExported": true,
+ "isPublic": true
+ },
+ "signatures": [
+ {
+ "id": 101,
+ "name": "colName",
+ "kind": 4096,
+ "kindString": "Call signature",
+ "flags": {},
+ "comment": {
+ "shortText": "returns the column name for the specified column.\n`col` can be either an index or a name.",
+ "returns": "the column name or `undefined`.\n"
+ },
+ "parameters": [
+ {
+ "id": 102,
+ "name": "col",
+ "kind": 32768,
+ "kindString": "Parameter",
+ "flags": {},
+ "type": {
+ "type": "reference",
+ "name": "ColumnReference",
+ "id": 158
+ }
+ }
+ ],
+ "type": {
+ "type": "intrinsic",
+ "name": "string"
+ }
+ }
+ ],
+ "sources": [
+ {
+ "fileName": "Data.ts",
+ "line": 189,
+ "character": 18
+ }
+ ]
+ },
+ {
+ "id": 103,
+ "name": "colNames",
+ "kind": 2048,
+ "kindString": "Method",
+ "flags": {
+ "isExported": true,
+ "isPublic": true
+ },
+ "signatures": [
+ {
+ "id": 104,
+ "name": "colNames",
+ "kind": 4096,
+ "kindString": "Call signature",
+ "flags": {},
+ "comment": {
+ "shortText": "returns the names for all columns.",
+ "returns": "an array of strings with the names.\n"
+ },
+ "type": {
+ "type": "array",
+ "elementType": {
+ "type": "intrinsic",
+ "name": "string"
+ }
+ }
+ }
+ ],
+ "sources": [
+ {
+ "fileName": "Data.ts",
+ "line": 200,
+ "character": 19
+ }
+ ]
+ },
+ {
+ "id": 97,
+ "name": "colNumber",
+ "kind": 2048,
+ "kindString": "Method",
+ "flags": {
+ "isExported": true,
+ "isPublic": true
+ },
+ "signatures": [
+ {
+ "id": 98,
+ "name": "colNumber",
+ "kind": 4096,
+ "kindString": "Call signature",
+ "flags": {},
+ "comment": {
+ "shortText": "returns the column index of the specified column.\n`col` can be either an index or a name.",
+ "returns": "the column number or `undefined`.\n"
+ },
+ "parameters": [
+ {
+ "id": 99,
+ "name": "col",
+ "kind": 32768,
+ "kindString": "Parameter",
+ "flags": {},
+ "type": {
+ "type": "reference",
+ "name": "ColumnReference",
+ "id": 158
+ }
+ }
+ ],
+ "type": {
+ "type": "intrinsic",
+ "name": "number"
+ }
+ }
+ ],
+ "sources": [
+ {
+ "fileName": "Data.ts",
+ "line": 174,
+ "character": 20
+ }
+ ]
+ },
+ {
+ "id": 105,
+ "name": "colType",
+ "kind": 2048,
+ "kindString": "Method",
+ "flags": {
+ "isExported": true,
+ "isPublic": true
+ },
+ "signatures": [
+ {
+ "id": 106,
+ "name": "colType",
+ "kind": 4096,
+ "kindString": "Call signature",
+ "flags": {},
+ "comment": {
+ "shortText": "returns the column type for the specified column.\n`col` can be either an index or a name.",
+ "returns": "the column type.\n"
+ },
+ "parameters": [
+ {
+ "id": 107,
+ "name": "col",
+ "kind": 32768,
+ "kindString": "Parameter",
+ "flags": {},
+ "type": {
+ "type": "reference",
+ "name": "ColumnReference",
+ "id": 158
+ }
+ }
+ ],
+ "type": {
+ "type": "intrinsic",
+ "name": "string"
+ }
+ }
+ ],
+ "sources": [
+ {
+ "fileName": "Data.ts",
+ "line": 210,
+ "character": 18
+ }
+ ]
+ },
+ {
+ "id": 83,
+ "name": "export",
+ "kind": 2048,
+ "kindString": "Method",
+ "flags": {
+ "isExported": true,
+ "isPublic": true
+ },
+ "signatures": [
+ {
+ "id": 84,
+ "name": "export",
+ "kind": 4096,
+ "kindString": "Call signature",
+ "flags": {},
+ "comment": {
+ "shortText": "Exports to an object literal"
+ },
+ "type": {
+ "type": "reference",
+ "name": "DataSet",
+ "id": 50
+ }
+ }
+ ],
+ "sources": [
+ {
+ "fileName": "Data.ts",
+ "line": 106,
+ "character": 17
+ }
+ ]
+ },
+ {
+ "id": 114,
+ "name": "filter",
+ "kind": 2048,
+ "kindString": "Method",
+ "flags": {
+ "isExported": true,
+ "isPublic": true
+ },
+ "signatures": [
+ {
+ "id": 115,
+ "name": "filter",
+ "kind": 4096,
+ "kindString": "Call signature",
+ "flags": {},
+ "comment": {
+ "shortText": "filters this data set and returns a new data set with a\nshallow copy of rows that pass the `condition`.\nSee {@link DataFilters DataFilters} for rules and examples on how to construct conditions.",
+ "returns": "a new Data object with rows that pass the filter\n"
+ },
+ "parameters": [
+ {
+ "id": 116,
+ "name": "condition",
+ "kind": 32768,
+ "kindString": "Parameter",
+ "flags": {},
+ "comment": {
+ "text": "filters"
+ },
+ "type": {
+ "type": "reference",
+ "name": "Condition",
+ "id": 9
+ }
+ }
+ ],
+ "type": {
+ "type": "reference",
+ "name": "Data",
+ "id": 63
+ }
+ }
+ ],
+ "sources": [
+ {
+ "fileName": "Data.ts",
+ "line": 266,
+ "character": 17
+ }
+ ]
+ },
+ {
+ "id": 108,
+ "name": "findDomain",
+ "kind": 2048,
+ "kindString": "Method",
+ "flags": {
+ "isExported": true,
+ "isPublic": true
+ },
+ "signatures": [
+ {
+ "id": 109,
+ "name": "findDomain",
+ "kind": 4096,
+ "kindString": "Call signature",
+ "flags": {},
+ "comment": {
+ "shortText": "modifies `domain` to include all values in column `col`."
+ },
+ "parameters": [
+ {
+ "id": 110,
+ "name": "col",
+ "kind": 32768,
+ "kindString": "Parameter",
+ "flags": {},
+ "comment": {
+ "text": "the column name or index"
+ },
+ "type": {
+ "type": "reference",
+ "name": "ColumnReference",
+ "id": 158
+ }
+ },
+ {
+ "id": 111,
+ "name": "domain",
+ "kind": 32768,
+ "kindString": "Parameter",
+ "flags": {},
+ "comment": {
+ "text": "the\n"
+ },
+ "type": {
+ "type": "reference",
+ "name": "Domain",
+ "id": 157
+ }
+ }
+ ],
+ "type": {
+ "type": "intrinsic",
+ "name": "void"
+ }
+ }
+ ],
+ "sources": [
+ {
+ "fileName": "Data.ts",
+ "line": 220,
+ "character": 21
+ }
+ ]
+ },
+ {
+ "id": 139,
+ "name": "findType",
+ "kind": 2048,
+ "kindString": "Method",
+ "flags": {
+ "isPrivate": true,
+ "isExported": true
+ },
+ "signatures": [
+ {
+ "id": 140,
+ "name": "findType",
+ "kind": 4096,
+ "kindString": "Call signature",
+ "flags": {},
+ "comment": {
+ "returns": "the type ('number', 'date', 'percent', 'nominal', 'currency') corresponding to the sample\n",
+ "tags": [
+ {
+ "tag": "description",
+ "text": "determines the data type. Supported types are\n```\n'date': sample represents a Date, either as a Date object or a String\n'number': sample represents a number\n'percent': sample represents a percentage (special case of a real number)\n'nominal': sample represents a nominal (ordinal or categorical) value\n```"
+ }
+ ]
+ },
+ "parameters": [
+ {
+ "id": 141,
+ "name": "val",
+ "kind": 32768,
+ "kindString": "Parameter",
+ "flags": {},
+ "comment": {
+ "text": "the value to bve typed."
+ },
+ "type": {
+ "type": "reference",
+ "name": "DataVal",
+ "id": 159
+ }
+ }
+ ],
+ "type": {
+ "type": "intrinsic",
+ "name": "string"
+ }
+ }
+ ],
+ "sources": [
+ {
+ "fileName": "Data.ts",
+ "line": 451,
+ "character": 20
+ }
+ ]
+ },
+ {
+ "id": 136,
+ "name": "findTypes",
+ "kind": 2048,
+ "kindString": "Method",
+ "flags": {
+ "isPrivate": true,
+ "isExported": true
+ },
+ "signatures": [
+ {
+ "id": 137,
+ "name": "findTypes",
+ "kind": 4096,
+ "kindString": "Call signature",
+ "flags": {},
+ "comment": {
+ "shortText": "Determines the type of data in `col`. An array of counts is created for all\nencountered types, sorted by descending frequency. THe most likely type in position 0\nof the array is returned.",
+ "returns": "the most likely type of data in `col`.\n"
+ },
+ "parameters": [
+ {
+ "id": 138,
+ "name": "col",
+ "kind": 32768,
+ "kindString": "Parameter",
+ "flags": {},
+ "comment": {
+ "text": "the index of the column to be typed."
+ },
+ "type": {
+ "type": "reference",
+ "name": "ColumnReference",
+ "id": 158
+ }
+ }
+ ],
+ "type": {
+ "type": "intrinsic",
+ "name": "string"
+ }
+ }
+ ],
+ "sources": [
+ {
+ "fileName": "Data.ts",
+ "line": 419,
+ "character": 21
+ }
+ ]
+ },
+ {
+ "id": 87,
+ "name": "getColumn",
+ "kind": 2048,
+ "kindString": "Method",
+ "flags": {
+ "isExported": true,
+ "isPublic": true
+ },
+ "signatures": [
+ {
+ "id": 88,
+ "name": "getColumn",
+ "kind": 4096,
+ "kindString": "Call signature",
+ "flags": {},
+ "comment": {
+ "shortText": "Returns the values in the specified column as a new array."
+ },
+ "parameters": [
+ {
+ "id": 89,
+ "name": "col",
+ "kind": 32768,
+ "kindString": "Parameter",
+ "flags": {},
+ "comment": {
+ "text": "the column to return.\n"
+ },
+ "type": {
+ "type": "reference",
+ "name": "ColumnReference",
+ "id": 158
+ }
+ }
+ ],
+ "type": {
+ "type": "array",
+ "elementType": {
+ "type": "reference",
+ "name": "DataVal",
+ "id": 159
+ }
+ }
+ }
+ ],
+ "sources": [
+ {
+ "fileName": "Data.ts",
+ "line": 124,
+ "character": 20
+ }
+ ]
+ },
+ {
+ "id": 85,
+ "name": "getData",
+ "kind": 2048,
+ "kindString": "Method",
+ "flags": {
+ "isExported": true,
+ "isPublic": true
+ },
+ "signatures": [
+ {
+ "id": 86,
+ "name": "getData",
+ "kind": 4096,
+ "kindString": "Call signature",
+ "flags": {},
+ "comment": {
+ "shortText": "returns the 2D array underlying the data base."
+ },
+ "type": {
+ "type": "array",
+ "elementType": {
+ "type": "reference",
+ "name": "DataRow",
+ "id": 160
+ }
+ }
+ }
+ ],
+ "sources": [
+ {
+ "fileName": "Data.ts",
+ "line": 116,
+ "character": 18
+ }
+ ]
+ },
+ {
+ "id": 128,
+ "name": "getMeta",
+ "kind": 2048,
+ "kindString": "Method",
+ "flags": {
+ "isPrivate": true,
+ "isExported": true
+ },
+ "signatures": [
+ {
+ "id": 129,
+ "name": "getMeta",
+ "kind": 4096,
+ "kindString": "Call signature",
+ "flags": {},
+ "parameters": [
+ {
+ "id": 130,
+ "name": "col",
+ "kind": 32768,
+ "kindString": "Parameter",
+ "flags": {},
+ "type": {
+ "type": "reference",
+ "name": "ColumnReference",
+ "id": 158
+ }
+ }
+ ],
+ "type": {
+ "type": "reference",
+ "name": "MetaStruct",
+ "id": 57
+ }
+ }
+ ],
+ "sources": [
+ {
+ "fileName": "Data.ts",
+ "line": 385,
+ "character": 19
+ }
+ ]
+ },
+ {
+ "id": 78,
+ "name": "getName",
+ "kind": 2048,
+ "kindString": "Method",
+ "flags": {
+ "isExported": true,
+ "isPublic": true
+ },
+ "signatures": [
+ {
+ "id": 79,
+ "name": "getName",
+ "kind": 4096,
+ "kindString": "Call signature",
+ "flags": {},
+ "comment": {
+ "returns": "the `name` field for this data base, if any\n"
+ },
+ "type": {
+ "type": "intrinsic",
+ "name": "string"
+ }
+ }
+ ],
+ "sources": [
+ {
+ "fileName": "Data.ts",
+ "line": 90,
+ "character": 18
+ }
+ ]
+ },
+ {
+ "id": 80,
+ "name": "import",
+ "kind": 2048,
+ "kindString": "Method",
+ "flags": {
+ "isExported": true,
+ "isPublic": true
+ },
+ "signatures": [
+ {
+ "id": 81,
+ "name": "import",
+ "kind": 4096,
+ "kindString": "Call signature",
+ "flags": {},
+ "comment": {
+ "shortText": "Imports data from an object literal `data`"
+ },
+ "parameters": [
+ {
+ "id": 82,
+ "name": "data",
+ "kind": 32768,
+ "kindString": "Parameter",
+ "flags": {},
+ "comment": {
+ "text": "the data set to import\n"
+ },
+ "type": {
+ "type": "reference",
+ "name": "DataSet",
+ "id": 50
+ }
+ }
+ ],
+ "type": {
+ "type": "intrinsic",
+ "name": "void"
+ }
+ }
+ ],
+ "sources": [
+ {
+ "fileName": "Data.ts",
+ "line": 98,
+ "character": 17
+ }
+ ]
+ },
+ {
+ "id": 121,
+ "name": "map",
+ "kind": 2048,
+ "kindString": "Method",
+ "flags": {
+ "isExported": true,
+ "isPublic": true
+ },
+ "signatures": [
+ {
+ "id": 122,
+ "name": "map",
+ "kind": 4096,
+ "kindString": "Call signature",
+ "flags": {},
+ "comment": {
+ "shortText": " Maps one or more columns in each rows of values based\non the result of the `mapFn`, which behaves similarly to the Array.map() method.\nTwo modes are supported:\n# Array Mode\nIf `col` is omitted, the `mapFn` is passed the column arrays per row as parameter.\nThis allows for complex mapping combining conditions across multiple columns.\n```\ndata.map(function(values){\n values[1] = values[3] * values[5];\n return values;\n});\n```\nBe sure to return the `values` array as a result.\n# Column mode\nIf `col` is specified, either as index or by column name, the respective column value is passed\ninto `mapFn`, along with the row index and the entire row array. This allows for simple mapping.\n```\ndata.map('Price', function(value, i, values) {\n return value * 2;\n});\n```",
+ "returns": "a new Data object containing the mapping.\n"
+ },
+ "parameters": [
+ {
+ "id": 123,
+ "name": "col",
+ "kind": 32768,
+ "kindString": "Parameter",
+ "flags": {},
+ "comment": {
+ "text": "the data column, or columns, to apply the mapping to."
+ },
+ "type": {
+ "type": "union",
+ "types": [
+ {
+ "type": "reference",
+ "name": "ColumnReference",
+ "id": 158
+ },
+ {
+ "type": "array",
+ "elementType": {
+ "type": "reference",
+ "name": "ColumnReference",
+ "id": 158
+ }
+ }
+ ]
+ }
+ },
+ {
+ "id": 124,
+ "name": "mapFn",
+ "kind": 32768,
+ "kindString": "Parameter",
+ "flags": {},
+ "comment": {
+ "text": "a function to implement the mapping,\ncalled on each row of the data set in turn as `mapFn(val, i, c, rows)`, where\n- `val`: the column value in the current row\n- `c`: the column index in the current row\n- `i`: the row index\n- `rows`: the rows being iterated over\n` *\nfollows the same specifications as the function passed to Array.map().
\nFor column mode, some predefined map functions can be invoked by providing a\nrespective string instead of a function. The following functions are defined:\n
\n'noop' | replace value with itself, performing no operation. |
\n'cumulate' | replace value with the cumulative sum of values up to the current element. |
\n
"
+ },
+ "type": {
+ "type": "union",
+ "types": [
+ {
+ "type": "intrinsic",
+ "name": "string"
+ },
+ {
+ "type": "reference",
+ "name": "mapFn",
+ "id": 124
+ }
+ ]
+ }
+ }
+ ],
+ "type": {
+ "type": "reference",
+ "name": "Data",
+ "id": 63
+ }
+ }
+ ],
+ "sources": [
+ {
+ "fileName": "Data.ts",
+ "line": 348,
+ "character": 14
+ }
+ ]
+ },
+ {
+ "id": 131,
+ "name": "setData",
+ "kind": 2048,
+ "kindString": "Method",
+ "flags": {
+ "isPrivate": true,
+ "isExported": true
+ },
+ "signatures": [
+ {
+ "id": 132,
+ "name": "setData",
+ "kind": 4096,
+ "kindString": "Call signature",
+ "flags": {},
+ "comment": {
+ "shortText": "sets `data` to the existing data set. If data has previously been set,\n`data` will be added to the end of the list if all `names` match those of the\nexisting set."
+ },
+ "parameters": [
+ {
+ "id": 133,
+ "name": "data",
+ "kind": 32768,
+ "kindString": "Parameter",
+ "flags": {},
+ "comment": {
+ "text": "the data to add"
+ },
+ "type": {
+ "type": "array",
+ "elementType": {
+ "type": "reference",
+ "name": "DataRow",
+ "id": 160
+ }
+ }
+ },
+ {
+ "id": 134,
+ "name": "names",
+ "kind": 32768,
+ "kindString": "Parameter",
+ "flags": {},
+ "comment": {
+ "text": "an array of names that match the columns"
+ },
+ "type": {
+ "type": "array",
+ "elementType": {
+ "type": "intrinsic",
+ "name": "string"
+ }
+ }
+ },
+ {
+ "id": 135,
+ "name": "autoType",
+ "kind": 32768,
+ "kindString": "Parameter",
+ "flags": {},
+ "comment": {
+ "text": "unless set to false, the method will attempt to determine the\ntype of data and automatically cast data points to their correct value\n"
+ },
+ "type": {
+ "type": "intrinsic",
+ "name": "boolean"
+ },
+ "defaultValue": "true"
+ }
+ ],
+ "type": {
+ "type": "intrinsic",
+ "name": "void"
+ }
+ }
+ ],
+ "sources": [
+ {
+ "fileName": "Data.ts",
+ "line": 401,
+ "character": 19
+ }
+ ]
+ },
+ {
+ "id": 117,
+ "name": "sort",
+ "kind": 2048,
+ "kindString": "Method",
+ "flags": {
+ "isExported": true,
+ "isPublic": true
+ },
+ "signatures": [
+ {
+ "id": 118,
+ "name": "sort",
+ "kind": 4096,
+ "kindString": "Call signature",
+ "flags": {},
+ "comment": {
+ "returns": "the Data object in order to allow for chaining.\n",
+ "tags": [
+ {
+ "tag": "description",
+ "text": "Sorts the rows of values based on the result of the `sortFn`,\nwhich behaves similarly to the Array.sort method.\nTwo modes are supported:\n# Array Mode\nIf `col` is omitted, the column arrays are passed as samples into the `sortFn`.\nThis allows for complex sorts, combining conditions across multiple columns.\n```\ndata.sort((row1, row2) => row1[5] - row2[5] );\n```\n# Column mode\nIf `col` is specified, either as index or by column name, the respective column value is passed\ninto `sortFn`. This allows filtering for simple conditions.
\n**The specified column will be automatically cast prior to sorting**
\n`data.sort('Date', function(val1, val2) { return val1 - val2; });`"
+ }
+ ]
+ },
+ "parameters": [
+ {
+ "id": 119,
+ "name": "sortFn",
+ "kind": 32768,
+ "kindString": "Parameter",
+ "flags": {},
+ "comment": {
+ "text": "a function to implement the conditions,\nfollows the same specifications as the function passed to Array.sort().\nSome predefined sort function can be invoked by providing a\nrespective string instead of a function. The following functions are defined:\n\n'`ascending`' | sort in ascending order. |
\n'`descending`' | sort in decending order. |
\n
"
+ },
+ "type": {
+ "type": "union",
+ "types": [
+ {
+ "type": "intrinsic",
+ "name": "string"
+ },
+ {
+ "type": "reference",
+ "name": "sortFn",
+ "id": 119
+ }
+ ]
+ }
+ },
+ {
+ "id": 120,
+ "name": "col",
+ "kind": 32768,
+ "kindString": "Parameter",
+ "flags": {
+ "isOptional": true
+ },
+ "comment": {
+ "text": "optional; the data column to use for sorting."
+ },
+ "type": {
+ "type": "reference",
+ "name": "ColumnReference",
+ "id": 158
+ }
+ }
+ ],
+ "type": {
+ "type": "reference",
+ "name": "Data",
+ "id": 63
+ }
+ }
+ ],
+ "sources": [
+ {
+ "fileName": "Data.ts",
+ "line": 296,
+ "character": 15
+ }
+ ]
+ },
+ {
+ "id": 145,
+ "name": "toDate",
+ "kind": 2048,
+ "kindString": "Method",
+ "flags": {
+ "isPrivate": true,
+ "isExported": true
+ },
+ "signatures": [
+ {
+ "id": 146,
+ "name": "toDate",
+ "kind": 4096,
+ "kindString": "Call signature",
+ "flags": {},
+ "comment": {
+ "returns": "a new Date object parsed from `str`.",
+ "tags": [
+ {
+ "tag": "description",
+ "text": "returns a new Date object parsed from `str` and corrects for a difference in\ninterpreting centuries between webkit and mozilla in converting strings to Dates:\nThe string \"15/7/03\" will convert to Jul 15 1903 in Mozilla and July 15 2003 in Webkit.\nIf `limitYear` is not specified this method uses 1970 as the decision date:\nyears 00-69 will be interpreted as 2000-2069, years 70-99 as 1970-1999.\n"
+ }
+ ]
+ },
+ "parameters": [
+ {
+ "id": 147,
+ "name": "val",
+ "kind": 32768,
+ "kindString": "Parameter",
+ "flags": {},
+ "comment": {
+ "text": "the string to convert to a date"
+ },
+ "type": {
+ "type": "reference",
+ "name": "DataVal",
+ "id": 159
+ }
+ },
+ {
+ "id": 148,
+ "name": "limitYear",
+ "kind": 32768,
+ "kindString": "Parameter",
+ "flags": {},
+ "comment": {
+ "text": "the year below which the century is corrected. Defaults to 1970."
+ },
+ "type": {
+ "type": "intrinsic",
+ "name": "number"
+ },
+ "defaultValue": "1970"
+ }
+ ],
+ "type": {
+ "type": "reference",
+ "name": "Date"
+ }
+ }
+ ],
+ "sources": [
+ {
+ "fileName": "Data.ts",
+ "line": 499,
+ "character": 18
+ }
+ ]
+ },
+ {
+ "id": 71,
+ "name": "toDataSet",
+ "kind": 2048,
+ "kindString": "Method",
+ "flags": {
+ "isStatic": true,
+ "isExported": true,
+ "isPublic": true
+ },
+ "signatures": [
+ {
+ "id": 72,
+ "name": "toDataSet",
+ "kind": 4096,
+ "kindString": "Call signature",
+ "flags": {},
+ "parameters": [
+ {
+ "id": 73,
+ "name": "data",
+ "kind": 32768,
+ "kindString": "Parameter",
+ "flags": {},
+ "type": {
+ "type": "reference",
+ "name": "DataLiteralSet",
+ "id": 161
+ }
+ },
+ {
+ "id": 74,
+ "name": "name",
+ "kind": 32768,
+ "kindString": "Parameter",
+ "flags": {
+ "isOptional": true
+ },
+ "type": {
+ "type": "intrinsic",
+ "name": "string"
+ }
+ }
+ ],
+ "type": {
+ "type": "reference",
+ "name": "DataSet",
+ "id": 50
+ }
+ }
+ ],
+ "sources": [
+ {
+ "fileName": "Data.ts",
+ "line": 75,
+ "character": 27
+ }
+ ]
+ },
+ {
+ "id": 64,
+ "name": "type",
+ "kind": 2097152,
+ "kindString": "Object literal",
+ "flags": {
+ "isStatic": true,
+ "isExported": true,
+ "isPublic": true
+ },
+ "children": [
+ {
+ "id": 68,
+ "name": "currency",
+ "kind": 32,
+ "kindString": "Variable",
+ "flags": {
+ "isExported": true
+ },
+ "sources": [
+ {
+ "fileName": "Data.ts",
+ "line": 70,
+ "character": 16
+ }
+ ],
+ "type": {
+ "type": "intrinsic",
+ "name": "string"
+ },
+ "defaultValue": "\"currency data\""
+ },
+ {
+ "id": 67,
+ "name": "date",
+ "kind": 32,
+ "kindString": "Variable",
+ "flags": {
+ "isExported": true
+ },
+ "sources": [
+ {
+ "fileName": "Data.ts",
+ "line": 69,
+ "character": 12
+ }
+ ],
+ "type": {
+ "type": "intrinsic",
+ "name": "string"
+ },
+ "defaultValue": "\"date data\""
+ },
+ {
+ "id": 66,
+ "name": "name",
+ "kind": 32,
+ "kindString": "Variable",
+ "flags": {
+ "isExported": true
+ },
+ "sources": [
+ {
+ "fileName": "Data.ts",
+ "line": 68,
+ "character": 12
+ }
+ ],
+ "type": {
+ "type": "intrinsic",
+ "name": "string"
+ },
+ "defaultValue": "\"name data\""
+ },
+ {
+ "id": 70,
+ "name": "nominal",
+ "kind": 32,
+ "kindString": "Variable",
+ "flags": {
+ "isExported": true
+ },
+ "sources": [
+ {
+ "fileName": "Data.ts",
+ "line": 72,
+ "character": 15
+ }
+ ],
+ "type": {
+ "type": "intrinsic",
+ "name": "string"
+ },
+ "defaultValue": "\"nominal data\""
+ },
+ {
+ "id": 65,
+ "name": "number",
+ "kind": 32,
+ "kindString": "Variable",
+ "flags": {
+ "isExported": true
+ },
+ "sources": [
+ {
+ "fileName": "Data.ts",
+ "line": 67,
+ "character": 14
+ }
+ ],
+ "type": {
+ "type": "intrinsic",
+ "name": "string"
+ },
+ "defaultValue": "\"number data\""
+ },
+ {
+ "id": 69,
+ "name": "percent",
+ "kind": 32,
+ "kindString": "Variable",
+ "flags": {
+ "isExported": true
+ },
+ "sources": [
+ {
+ "fileName": "Data.ts",
+ "line": 71,
+ "character": 15
+ }
+ ],
+ "type": {
+ "type": "intrinsic",
+ "name": "string"
+ },
+ "defaultValue": "\"percent data\""
+ }
+ ],
+ "groups": [
+ {
+ "title": "Variables",
+ "kind": 32,
+ "children": [
+ 68,
+ 67,
+ 66,
+ 70,
+ 65,
+ 69
+ ]
+ }
+ ],
+ "sources": [
+ {
+ "fileName": "Data.ts",
+ "line": 66,
+ "character": 22
+ }
+ ],
+ "type": {
+ "type": "intrinsic",
+ "name": "object"
+ }
+ }
+ ],
+ "groups": [
+ {
+ "title": "Constructors",
+ "kind": 512,
+ "children": [
+ 75
+ ]
+ },
+ {
+ "title": "Properties",
+ "kind": 1024,
+ "children": [
+ 125,
+ 126,
+ 127
+ ]
+ },
+ {
+ "title": "Methods",
+ "kind": 2048,
+ "children": [
+ 142,
+ 112,
+ 149,
+ 90,
+ 93,
+ 100,
+ 103,
+ 97,
+ 105,
+ 83,
+ 114,
+ 108,
+ 139,
+ 136,
+ 87,
+ 85,
+ 128,
+ 78,
+ 80,
+ 121,
+ 131,
+ 117,
+ 145,
+ 71
+ ]
+ },
+ {
+ "title": "Object literals",
+ "kind": 2097152,
+ "children": [
+ 64
+ ]
+ }
+ ],
+ "sources": [
+ {
+ "fileName": "Data.ts",
+ "line": 62,
+ "character": 17
+ }
+ ]
+ },
+ {
+ "id": 50,
+ "name": "DataSet",
+ "kind": 256,
+ "kindString": "Interface",
+ "flags": {
+ "isExported": true
+ },
+ "comment": {
+ "shortText": "a JSON format data set, using arrays of names and rows"
+ },
+ "children": [
+ {
+ "id": 52,
+ "name": "colNames",
+ "kind": 1024,
+ "kindString": "Property",
+ "flags": {
+ "isExported": true
+ },
+ "comment": {
+ "shortText": "an array of column names. Each name matches the column with the same index in DataRow"
+ },
+ "sources": [
+ {
+ "fileName": "Data.ts",
+ "line": 36,
+ "character": 12
+ }
+ ],
+ "type": {
+ "type": "array",
+ "elementType": {
+ "type": "intrinsic",
+ "name": "string"
+ }
+ }
+ },
+ {
+ "id": 51,
+ "name": "name",
+ "kind": 1024,
+ "kindString": "Property",
+ "flags": {
+ "isExported": true,
+ "isOptional": true
+ },
+ "comment": {
+ "shortText": "an optional name for the data set"
+ },
+ "sources": [
+ {
+ "fileName": "Data.ts",
+ "line": 34,
+ "character": 8
+ }
+ ],
+ "type": {
+ "type": "intrinsic",
+ "name": "string"
+ }
+ },
+ {
+ "id": 53,
+ "name": "rows",
+ "kind": 1024,
+ "kindString": "Property",
+ "flags": {
+ "isExported": true
+ },
+ "comment": {
+ "shortText": "rows of data"
+ },
+ "sources": [
+ {
+ "fileName": "Data.ts",
+ "line": 38,
+ "character": 8
+ }
+ ],
+ "type": {
+ "type": "array",
+ "elementType": {
+ "type": "reference",
+ "name": "DataRow",
+ "id": 160
+ }
+ }
+ }
+ ],
+ "groups": [
+ {
+ "title": "Properties",
+ "kind": 1024,
+ "children": [
+ 52,
+ 51,
+ 53
+ ]
+ }
+ ],
+ "sources": [
+ {
+ "fileName": "Data.ts",
+ "line": 32,
+ "character": 24
+ }
+ ]
+ },
+ {
+ "id": 57,
+ "name": "MetaStruct",
+ "kind": 256,
+ "kindString": "Interface",
+ "flags": {},
+ "children": [
+ {
+ "id": 60,
+ "name": "accessed",
+ "kind": 1024,
+ "kindString": "Property",
+ "flags": {},
+ "sources": [
+ {
+ "fileName": "Data.ts",
+ "line": 49,
+ "character": 12
+ }
+ ],
+ "type": {
+ "type": "intrinsic",
+ "name": "boolean"
+ }
+ },
+ {
+ "id": 61,
+ "name": "cast",
+ "kind": 1024,
+ "kindString": "Property",
+ "flags": {},
+ "sources": [
+ {
+ "fileName": "Data.ts",
+ "line": 50,
+ "character": 8
+ }
+ ],
+ "type": {
+ "type": "intrinsic",
+ "name": "boolean"
+ }
+ },
+ {
+ "id": 59,
+ "name": "column",
+ "kind": 1024,
+ "kindString": "Property",
+ "flags": {},
+ "sources": [
+ {
+ "fileName": "Data.ts",
+ "line": 48,
+ "character": 10
+ }
+ ],
+ "type": {
+ "type": "intrinsic",
+ "name": "number"
+ }
+ },
+ {
+ "id": 58,
+ "name": "name",
+ "kind": 1024,
+ "kindString": "Property",
+ "flags": {},
+ "sources": [
+ {
+ "fileName": "Data.ts",
+ "line": 47,
+ "character": 8
+ }
+ ],
+ "type": {
+ "type": "intrinsic",
+ "name": "string"
+ }
+ },
+ {
+ "id": 62,
+ "name": "types",
+ "kind": 1024,
+ "kindString": "Property",
+ "flags": {},
+ "sources": [
+ {
+ "fileName": "Data.ts",
+ "line": 51,
+ "character": 9
+ }
+ ],
+ "type": {
+ "type": "array",
+ "elementType": {
+ "type": "reference",
+ "name": "TypeStruct",
+ "id": 54
+ }
+ }
+ }
+ ],
+ "groups": [
+ {
+ "title": "Properties",
+ "kind": 1024,
+ "children": [
+ 60,
+ 61,
+ 59,
+ 58,
+ 62
+ ]
+ }
+ ],
+ "sources": [
+ {
+ "fileName": "Data.ts",
+ "line": 46,
+ "character": 20
+ }
+ ]
+ },
+ {
+ "id": 54,
+ "name": "TypeStruct",
+ "kind": 256,
+ "kindString": "Interface",
+ "flags": {},
+ "children": [
+ {
+ "id": 56,
+ "name": "count",
+ "kind": 1024,
+ "kindString": "Property",
+ "flags": {},
+ "sources": [
+ {
+ "fileName": "Data.ts",
+ "line": 44,
+ "character": 42
+ }
+ ],
+ "type": {
+ "type": "intrinsic",
+ "name": "number"
+ }
+ },
+ {
+ "id": 55,
+ "name": "type",
+ "kind": 1024,
+ "kindString": "Property",
+ "flags": {},
+ "sources": [
+ {
+ "fileName": "Data.ts",
+ "line": 44,
+ "character": 27
+ }
+ ],
+ "type": {
+ "type": "intrinsic",
+ "name": "string"
+ }
+ }
+ ],
+ "groups": [
+ {
+ "title": "Properties",
+ "kind": 1024,
+ "children": [
+ 56,
+ 55
+ ]
+ }
+ ],
+ "sources": [
+ {
+ "fileName": "Data.ts",
+ "line": 44,
+ "character": 20
+ }
+ ]
+ },
+ {
+ "id": 158,
+ "name": "ColumnReference",
+ "kind": 4194304,
+ "kindString": "Type alias",
+ "flags": {
+ "isExported": true
+ },
+ "comment": {
+ "shortText": "defines a Column Reference, either as column name or index in the {@link Data.DataRow `DataRow`} array"
+ },
+ "sources": [
+ {
+ "fileName": "Data.ts",
+ "line": 23,
+ "character": 27
+ }
+ ],
+ "type": {
+ "type": "union",
+ "types": [
+ {
+ "type": "intrinsic",
+ "name": "number"
+ },
+ {
+ "type": "intrinsic",
+ "name": "string"
+ }
+ ]
+ }
+ },
+ {
+ "id": 161,
+ "name": "DataLiteralSet",
+ "kind": 4194304,
+ "kindString": "Type alias",
+ "flags": {
+ "isExported": true
+ },
+ "comment": {
+ "shortText": "a JSON format data set, using an array of {name:value, ...} literals"
+ },
+ "sources": [
+ {
+ "fileName": "Data.ts",
+ "line": 42,
+ "character": 26
+ }
+ ],
+ "type": {
+ "type": "reference",
+ "name": "Array",
+ "typeArguments": [
+ {
+ "type": "intrinsic",
+ "name": "any"
+ }
+ ]
+ }
+ },
+ {
+ "id": 160,
+ "name": "DataRow",
+ "kind": 4194304,
+ "kindString": "Type alias",
+ "flags": {
+ "isExported": true
+ },
+ "comment": {
+ "shortText": "a single row of column values"
+ },
+ "sources": [
+ {
+ "fileName": "Data.ts",
+ "line": 29,
+ "character": 19
+ }
+ ],
+ "type": {
+ "type": "array",
+ "elementType": {
+ "type": "reference",
+ "name": "DataVal",
+ "id": 159
+ }
+ }
+ },
+ {
+ "id": 159,
+ "name": "DataVal",
+ "kind": 4194304,
+ "kindString": "Type alias",
+ "flags": {
+ "isExported": true
+ },
+ "comment": {
+ "shortText": "a generic data value type, used in the {@link Data.DataRow `DataRow`} array"
+ },
+ "sources": [
+ {
+ "fileName": "Data.ts",
+ "line": 26,
+ "character": 19
+ }
+ ],
+ "type": {
+ "type": "union",
+ "types": [
+ {
+ "type": "intrinsic",
+ "name": "number"
+ },
+ {
+ "type": "intrinsic",
+ "name": "string"
+ },
+ {
+ "type": "reference",
+ "name": "Date"
+ }
+ ]
+ }
+ },
+ {
+ "id": 155,
+ "name": "DateDomain",
+ "kind": 4194304,
+ "kindString": "Type alias",
+ "flags": {
+ "isExported": true
+ },
+ "comment": {
+ "shortText": "defines a Date domain that includes all values of a column"
+ },
+ "sources": [
+ {
+ "fileName": "Data.ts",
+ "line": 14,
+ "character": 22
+ }
+ ],
+ "type": {
+ "type": "tuple",
+ "elements": [
+ {
+ "type": "reference",
+ "name": "Date"
+ },
+ {
+ "type": "reference",
+ "name": "Date"
+ }
+ ]
+ }
+ },
+ {
+ "id": 157,
+ "name": "Domain",
+ "kind": 4194304,
+ "kindString": "Type alias",
+ "flags": {
+ "isExported": true
+ },
+ "comment": {
+ "shortText": "defines a generic domain that can be any of the typed domains."
+ },
+ "sources": [
+ {
+ "fileName": "Data.ts",
+ "line": 20,
+ "character": 18
+ }
+ ],
+ "type": {
+ "type": "union",
+ "types": [
+ {
+ "type": "reference",
+ "name": "NumDomain",
+ "id": 154
+ },
+ {
+ "type": "reference",
+ "name": "DateDomain",
+ "id": 155
+ },
+ {
+ "type": "reference",
+ "name": "NameDomain",
+ "id": 156
+ }
+ ]
+ }
+ },
+ {
+ "id": 156,
+ "name": "NameDomain",
+ "kind": 4194304,
+ "kindString": "Type alias",
+ "flags": {
+ "isExported": true
+ },
+ "comment": {
+ "shortText": "defines a categorical domain that includes all values of a column"
+ },
+ "sources": [
+ {
+ "fileName": "Data.ts",
+ "line": 17,
+ "character": 22
+ }
+ ],
+ "type": {
+ "type": "array",
+ "elementType": {
+ "type": "intrinsic",
+ "name": "string"
+ }
+ }
+ },
+ {
+ "id": 154,
+ "name": "NumDomain",
+ "kind": 4194304,
+ "kindString": "Type alias",
+ "flags": {
+ "isExported": true
+ },
+ "comment": {
+ "shortText": "defines a numeric domain that includes all values of a column"
+ },
+ "sources": [
+ {
+ "fileName": "Data.ts",
+ "line": 11,
+ "character": 21
+ }
+ ],
+ "type": {
+ "type": "tuple",
+ "elements": [
+ {
+ "type": "intrinsic",
+ "name": "number"
+ },
+ {
+ "type": "intrinsic",
+ "name": "number"
+ }
+ ]
+ }
+ },
+ {
+ "id": 153,
+ "name": "NumRange",
+ "kind": 4194304,
+ "kindString": "Type alias",
+ "flags": {
+ "isExported": true
+ },
+ "comment": {
+ "shortText": "defines a [min-max] range"
+ },
+ "sources": [
+ {
+ "fileName": "Data.ts",
+ "line": 8,
+ "character": 20
+ }
+ ],
+ "type": {
+ "type": "tuple",
+ "elements": [
+ {
+ "type": "intrinsic",
+ "name": "number"
+ },
+ {
+ "type": "intrinsic",
+ "name": "number"
+ }
+ ]
+ }
+ },
+ {
+ "id": 167,
+ "name": "mapFn",
+ "kind": 4194304,
+ "kindString": "Type alias",
+ "flags": {
+ "isExported": true
+ },
+ "sources": [
+ {
+ "fileName": "Data.ts",
+ "line": 55,
+ "character": 17
+ }
+ ],
+ "type": {
+ "type": "reflection",
+ "declaration": {
+ "id": 168,
+ "name": "__type",
+ "kind": 65536,
+ "kindString": "Type literal",
+ "flags": {},
+ "signatures": [
+ {
+ "id": 169,
+ "name": "__call",
+ "kind": 4096,
+ "kindString": "Call signature",
+ "flags": {},
+ "parameters": [
+ {
+ "id": 170,
+ "name": "colVal",
+ "kind": 32768,
+ "kindString": "Parameter",
+ "flags": {},
+ "type": {
+ "type": "intrinsic",
+ "name": "any"
+ }
+ },
+ {
+ "id": 171,
+ "name": "colIndex",
+ "kind": 32768,
+ "kindString": "Parameter",
+ "flags": {
+ "isOptional": true
+ },
+ "type": {
+ "type": "intrinsic",
+ "name": "number"
+ }
+ },
+ {
+ "id": 172,
+ "name": "rowIndex",
+ "kind": 32768,
+ "kindString": "Parameter",
+ "flags": {
+ "isOptional": true
+ },
+ "type": {
+ "type": "intrinsic",
+ "name": "number"
+ }
+ },
+ {
+ "id": 173,
+ "name": "rows",
+ "kind": 32768,
+ "kindString": "Parameter",
+ "flags": {
+ "isOptional": true
+ },
+ "type": {
+ "type": "array",
+ "elementType": {
+ "type": "array",
+ "elementType": {
+ "type": "intrinsic",
+ "name": "any"
+ }
+ }
+ }
+ }
+ ],
+ "type": {
+ "type": "intrinsic",
+ "name": "any"
+ }
+ }
+ ],
+ "sources": [
+ {
+ "fileName": "Data.ts",
+ "line": 55,
+ "character": 20
+ }
+ ]
+ }
+ }
+ },
+ {
+ "id": 162,
+ "name": "sortFn",
+ "kind": 4194304,
+ "kindString": "Type alias",
+ "flags": {
+ "isExported": true
+ },
+ "sources": [
+ {
+ "fileName": "Data.ts",
+ "line": 54,
+ "character": 18
+ }
+ ],
+ "type": {
+ "type": "reflection",
+ "declaration": {
+ "id": 163,
+ "name": "__type",
+ "kind": 65536,
+ "kindString": "Type literal",
+ "flags": {},
+ "signatures": [
+ {
+ "id": 164,
+ "name": "__call",
+ "kind": 4096,
+ "kindString": "Call signature",
+ "flags": {},
+ "parameters": [
+ {
+ "id": 165,
+ "name": "x",
+ "kind": 32768,
+ "kindString": "Parameter",
+ "flags": {},
+ "type": {
+ "type": "intrinsic",
+ "name": "any"
+ }
+ },
+ {
+ "id": 166,
+ "name": "y",
+ "kind": 32768,
+ "kindString": "Parameter",
+ "flags": {},
+ "type": {
+ "type": "intrinsic",
+ "name": "any"
+ }
+ }
+ ],
+ "type": {
+ "type": "intrinsic",
+ "name": "number"
+ }
+ }
+ ],
+ "sources": [
+ {
+ "fileName": "Data.ts",
+ "line": 54,
+ "character": 20
+ }
+ ]
+ }
+ }
+ }
+ ],
+ "groups": [
+ {
+ "title": "Classes",
+ "kind": 128,
+ "children": [
+ 63
+ ]
+ },
+ {
+ "title": "Interfaces",
+ "kind": 256,
+ "children": [
+ 50,
+ 57,
+ 54
+ ]
+ },
+ {
+ "title": "Type aliases",
+ "kind": 4194304,
+ "children": [
+ 158,
+ 161,
+ 160,
+ 159,
+ 155,
+ 157,
+ 156,
+ 154,
+ 153,
+ 167,
+ 162
+ ]
+ }
+ ],
+ "sources": [
+ {
+ "fileName": "Data.ts",
+ "line": 1,
+ "character": 0
+ }
+ ]
+ },
+ {
+ "id": 1,
+ "name": "\"DataFilters\"",
+ "kind": 1,
+ "kindString": "External module",
+ "flags": {
+ "isExported": true
+ },
+ "originalName": "/Users/sth1pal/Documents/Development/JavaScript/node.js/ts6/dev/hsLibs/standalone/hsDatab/src/DataFilters.ts",
+ "comment": {
+ "shortText": "The HsData object will feature its own column meta information, as well as\na copy of the rows array which allows for `filter` and `sort` operations.\nHowever, the column arrays will be shared with the original HsData object in order to be memory efficient.\nThis means that `map` and `newColumn` operations on the new object will affect the original object or any\nobject derived via `query`.",
+ "tags": [
+ {
+ "tag": "description",
+ "text": "executes a query on the data. Each row in the data is checked and those for which\n`conditions` is true are returned as a new HsData object.\n\n## General Condition\n```\nCondition =\n IndexCondition -> conditions on the row index\n|| RecursiveCondition -> (set of) conditions on column values\n```\n\n## IndexCondition\n```\nIndexCondition =\n rowIndex:number -> true if row index matches\n```\n\n## RecursiveCondition\n```\nRecursiveCondition =\n OrCondition -> OR: true if any compound condition is true\n|| AndCondition -> AND: true if all compound conditions are true\n\nOrCondition = -> OR: true if\n AndCondition[] -> any of the AndConditions are true\n|| IndexCondition[] -> any of thr IndexConditions are true\n\nAndCondition = -> AND: true if\n SetAndCondition -> all SetAndConditions are true\n|| TermAndCondition -> or if all TermAndConditions are true\n\nSetAndCondition = { -> AND: true if all sub-conditions are true\n 'or': RecursiveCondition -> true if any RecursiveCondition is true\n|| 'and': RecursiveCondition -> true if all RecursiveCondition are true\n|| 'not': RecursiveCondition -> true if the condition is false\n\nTermAndCondition = { -> Terminal AND: true if all terminal sub-conditions are true\n colDesc:colValue -> true if colValue matches\n|| colDesc:[colValue, ...] -> true if any of the colValues match\n|| colDesc:function(value,row) -> true if function returns true\n}\n\ncolDesc = either column name or index\n```\n\n## Practical Tips\n```\n {'or': [recurCond, ...]} -> OR, same as [recurCond, ...]\n|| {'or': {SetCond, ...}} -> OR, same as [SetCond, ...]\n|| {'and': [recurCond, ...]} -> AND, true if all recurCond are true\n|| {'and': {SetCond, ...}} -> AND, same as {SetCond, ...}\n|| {'not': {SetCond, ...}} -> NAND: true if the SetCond are true\n|| {'not': [recurCond, ...]} -> NOR: true if any of the recurCond are true\n```\n\n# Example\n\n\nconst colNames = ['Name', 'Value', 'Start', 'End'];\nconst rows = [\n ['Harry', '100', '3/1/14', '11/20/14'],\n ['Mary', '1500', '7/1/14', '9/30/14'],\n ['Peter', '400', '5/20/14', '4/30/15'],\n ['Jane', '700', '11/13/14', '8/15/15']\n]\nconst data = new hsdata.Data({colNames:colNames, rows:rows});\n\nqueries = [\n ['0', undefined, 'undefined query => pass all'],\n ['1', [], 'empty OR: [] => fail all'],\n ['2', {}, 'empty AND: {} => pass all'],\n ['3', 1, '2nd row: pass row 1'],\n ['4', [1,3], '2nd+4th: pass rows: 1 and 3'],\n ['5', {Name:\"Jane\"}, 'Name is Jane'],\n ['6', {1:1500}, 'Column 2 is 1500'],\n ['7', {Name:[\"Peter\", \"Jane\"]}, 'Name is Peter or Jane'],\n ['8', [{Name:\"Peter\"}, {Value:1500}], 'Name is Peter or Value is 1500'],\n ['9', {or:{Name:\"Peter\", Value:1500}}, 'OR: same as 8:'],\n ['A', {or:[{Name:\"Peter\"}, {Value:1500}]}, 'OR: [{Name is Peter}, {Value is 1500}]'],\n ['B', {Name:\"Peter\", Value:400}, 'Name is Peter and Value is 400'],\n ['C', {and:{Name:\"Peter\", Value:400}}, 'AND: {Name is Peter, Value is 400}'],\n ['D', {and:{Name:\"Peter\", Value:1500}}, 'AND: {Name is Peter, Value is 1500}'],\n ['E', {and:[{Name:\"Peter\"}, {Value:400}]}, 'AND:[{Name is Peter}, {Value is 400}]'],\n ['F', {and:[{Name:\"Peter\"}, {Value:1500}]},'AND:[{Name is Peter}, {Value is 1500}]'],\n ['G', {not:{Name:\"Peter\", Value:400}}, 'NAND: not {Name is Peter and Value is 400}'],\n ['H', {not:{Name:\"Peter\", Value:1500}}, 'NAND: not {Name is Peter and Value is 1500}'],\n ['I', {not:[{Name:\"Peter\"}, {Value:1500}]},'NOR: not [{Name is Peter} or {Value is 1500}]'],\n ['J', {Name:(v) => v.length===4}, 'Name has 4 letters']\n];\n\nm.mount(root, {\n view:() => m('', [\n m('h3', 'Given the data set:'),\n m('table#data', [\n m('tr', colNames.map(n => m('th', n))),\n ...rows.map(row => m('tr', [m('td', row[0]),m('td', row[1]),m('td', row[2].toDateString()),m('td', row[3].toDateString())]))\n ]),\n m('h3', 'The following queries yield:'),\n m('table', [\n m('tr', [m('th','#'), m('th','Query'), m('th',\"Live Result, by 'Name' field\")]),\n ...queries.map(q => {\n const result = data.filter(q[1]).getColumn('Name').join(', ');\n return m('tr', [m('td',`${q[0]}:`), m('td',`${q[2]}`), m('td',`[ ${result} ]`)]);\n })\n ])\n ])\n});\n\n\n $exampleID { height: 600px; }\n #data th { width:15%; }\n table {\n font-size: 10pt;\n margin-left: 10px;\n }\n\n\n"
+ }
+ ]
+ },
+ "children": [
+ {
+ "id": 2,
+ "name": "SetAndCondition",
+ "kind": 256,
+ "kindString": "Interface",
+ "flags": {
+ "isExported": true
+ },
+ "children": [
+ {
+ "id": 4,
+ "name": "and",
+ "kind": 1024,
+ "kindString": "Property",
+ "flags": {
+ "isExported": true,
+ "isOptional": true
+ },
+ "sources": [
+ {
+ "fileName": "DataFilters.ts",
+ "line": 144,
+ "character": 7
+ }
+ ],
+ "type": {
+ "type": "reference",
+ "name": "RecursiveCondition",
+ "id": 11
+ }
+ },
+ {
+ "id": 5,
+ "name": "not",
+ "kind": 1024,
+ "kindString": "Property",
+ "flags": {
+ "isExported": true,
+ "isOptional": true
+ },
+ "sources": [
+ {
+ "fileName": "DataFilters.ts",
+ "line": 145,
+ "character": 7
+ }
+ ],
+ "type": {
+ "type": "reference",
+ "name": "RecursiveCondition",
+ "id": 11
+ }
+ },
+ {
+ "id": 3,
+ "name": "or",
+ "kind": 1024,
+ "kindString": "Property",
+ "flags": {
+ "isExported": true,
+ "isOptional": true
+ },
+ "sources": [
+ {
+ "fileName": "DataFilters.ts",
+ "line": 143,
+ "character": 6
+ }
+ ],
+ "type": {
+ "type": "reference",
+ "name": "RecursiveCondition",
+ "id": 11
+ }
+ }
+ ],
+ "groups": [
+ {
+ "title": "Properties",
+ "kind": 1024,
+ "children": [
+ 4,
+ 5,
+ 3
+ ]
+ }
+ ],
+ "sources": [
+ {
+ "fileName": "DataFilters.ts",
+ "line": 142,
+ "character": 32
+ }
+ ]
+ },
+ {
+ "id": 6,
+ "name": "TermAndCondition",
+ "kind": 256,
+ "kindString": "Interface",
+ "flags": {
+ "isExported": true
+ },
+ "indexSignature": [
+ {
+ "id": 7,
+ "name": "__index",
+ "kind": 8192,
+ "kindString": "Index signature",
+ "flags": {},
+ "parameters": [
+ {
+ "id": 8,
+ "name": "colDesc",
+ "kind": 32768,
+ "kindString": "Parameter",
+ "flags": {},
+ "type": {
+ "type": "intrinsic",
+ "name": "string"
+ }
+ }
+ ],
+ "type": {
+ "type": "union",
+ "types": [
+ {
+ "type": "reference",
+ "name": "DataVal",
+ "id": 159
+ },
+ {
+ "type": "array",
+ "elementType": {
+ "type": "reference",
+ "name": "DataVal",
+ "id": 159
+ }
+ },
+ {
+ "type": "reference",
+ "name": "TermConditionFunction",
+ "id": 14
+ }
+ ]
+ }
+ }
+ ],
+ "sources": [
+ {
+ "fileName": "DataFilters.ts",
+ "line": 148,
+ "character": 33
+ }
+ ]
+ },
+ {
+ "id": 13,
+ "name": "AndCondition",
+ "kind": 4194304,
+ "kindString": "Type alias",
+ "flags": {
+ "isExported": true
+ },
+ "sources": [
+ {
+ "fileName": "DataFilters.ts",
+ "line": 140,
+ "character": 24
+ }
+ ],
+ "type": {
+ "type": "union",
+ "types": [
+ {
+ "type": "reference",
+ "name": "SetAndCondition",
+ "id": 2
+ },
+ {
+ "type": "reference",
+ "name": "TermAndCondition",
+ "id": 6
+ }
+ ]
+ }
+ },
+ {
+ "id": 9,
+ "name": "Condition",
+ "kind": 4194304,
+ "kindString": "Type alias",
+ "flags": {
+ "isExported": true
+ },
+ "sources": [
+ {
+ "fileName": "DataFilters.ts",
+ "line": 133,
+ "character": 21
+ }
+ ],
+ "type": {
+ "type": "union",
+ "types": [
+ {
+ "type": "reference",
+ "name": "IndexCondition",
+ "id": 10
+ },
+ {
+ "type": "reference",
+ "name": "RecursiveCondition",
+ "id": 11
+ }
+ ]
+ }
+ },
+ {
+ "id": 10,
+ "name": "IndexCondition",
+ "kind": 4194304,
+ "kindString": "Type alias",
+ "flags": {
+ "isExported": true
+ },
+ "comment": {
+ "shortText": "true if row index matches the number(s)"
+ },
+ "sources": [
+ {
+ "fileName": "DataFilters.ts",
+ "line": 136,
+ "character": 26
+ }
+ ],
+ "type": {
+ "type": "intrinsic",
+ "name": "number"
+ }
+ },
+ {
+ "id": 12,
+ "name": "OrCondition",
+ "kind": 4194304,
+ "kindString": "Type alias",
+ "flags": {
+ "isExported": true
+ },
+ "sources": [
+ {
+ "fileName": "DataFilters.ts",
+ "line": 139,
+ "character": 23
+ }
+ ],
+ "type": {
+ "type": "union",
+ "types": [
+ {
+ "type": "array",
+ "elementType": {
+ "type": "reference",
+ "name": "AndCondition",
+ "id": 13
+ }
+ },
+ {
+ "type": "array",
+ "elementType": {
+ "type": "reference",
+ "name": "IndexCondition",
+ "id": 10
+ }
+ }
+ ]
+ }
+ },
+ {
+ "id": 11,
+ "name": "RecursiveCondition",
+ "kind": 4194304,
+ "kindString": "Type alias",
+ "flags": {
+ "isExported": true
+ },
+ "sources": [
+ {
+ "fileName": "DataFilters.ts",
+ "line": 138,
+ "character": 30
+ }
+ ],
+ "type": {
+ "type": "union",
+ "types": [
+ {
+ "type": "reference",
+ "name": "AndCondition",
+ "id": 13
+ },
+ {
+ "type": "reference",
+ "name": "OrCondition",
+ "id": 12
+ }
+ ]
+ }
+ },
+ {
+ "id": 38,
+ "name": "ReduceFn",
+ "kind": 4194304,
+ "kindString": "Type alias",
+ "flags": {
+ "isExported": true
+ },
+ "sources": [
+ {
+ "fileName": "DataFilters.ts",
+ "line": 231,
+ "character": 20
+ }
+ ],
+ "type": {
+ "type": "reflection",
+ "declaration": {
+ "id": 39,
+ "name": "__type",
+ "kind": 65536,
+ "kindString": "Type literal",
+ "flags": {},
+ "signatures": [
+ {
+ "id": 40,
+ "name": "__call",
+ "kind": 4096,
+ "kindString": "Call signature",
+ "flags": {},
+ "parameters": [
+ {
+ "id": 41,
+ "name": "keep",
+ "kind": 32768,
+ "kindString": "Parameter",
+ "flags": {},
+ "type": {
+ "type": "intrinsic",
+ "name": "boolean"
+ }
+ },
+ {
+ "id": 42,
+ "name": "row",
+ "kind": 32768,
+ "kindString": "Parameter",
+ "flags": {},
+ "type": {
+ "type": "reference",
+ "name": "DataRow",
+ "id": 160
+ }
+ },
+ {
+ "id": 43,
+ "name": "i",
+ "kind": 32768,
+ "kindString": "Parameter",
+ "flags": {},
+ "type": {
+ "type": "intrinsic",
+ "name": "number"
+ }
+ }
+ ],
+ "type": {
+ "type": "intrinsic",
+ "name": "void"
+ }
+ }
+ ],
+ "sources": [
+ {
+ "fileName": "DataFilters.ts",
+ "line": 231,
+ "character": 22
+ }
+ ]
+ }
+ }
+ },
+ {
+ "id": 14,
+ "name": "TermConditionFunction",
+ "kind": 4194304,
+ "kindString": "Type alias",
+ "flags": {
+ "isExported": true
+ },
+ "sources": [
+ {
+ "fileName": "DataFilters.ts",
+ "line": 156,
+ "character": 33
+ }
+ ],
+ "type": {
+ "type": "reflection",
+ "declaration": {
+ "id": 15,
+ "name": "__type",
+ "kind": 65536,
+ "kindString": "Type literal",
+ "flags": {},
+ "signatures": [
+ {
+ "id": 16,
+ "name": "__call",
+ "kind": 4096,
+ "kindString": "Call signature",
+ "flags": {},
+ "parameters": [
+ {
+ "id": 17,
+ "name": "value",
+ "kind": 32768,
+ "kindString": "Parameter",
+ "flags": {},
+ "type": {
+ "type": "reference",
+ "name": "DataVal",
+ "id": 159
+ }
+ },
+ {
+ "id": 18,
+ "name": "row",
+ "kind": 32768,
+ "kindString": "Parameter",
+ "flags": {},
+ "type": {
+ "type": "reference",
+ "name": "DataRow",
+ "id": 160
+ }
+ }
+ ],
+ "type": {
+ "type": "intrinsic",
+ "name": "boolean"
+ }
+ }
+ ],
+ "sources": [
+ {
+ "fileName": "DataFilters.ts",
+ "line": 156,
+ "character": 35
+ }
+ ]
+ }
+ }
+ },
+ {
+ "id": 44,
+ "name": "filter",
+ "kind": 64,
+ "kindString": "Function",
+ "flags": {
+ "isExported": true
+ },
+ "signatures": [
+ {
+ "id": 45,
+ "name": "filter",
+ "kind": 4096,
+ "kindString": "Call signature",
+ "flags": {},
+ "parameters": [
+ {
+ "id": 46,
+ "name": "data",
+ "kind": 32768,
+ "kindString": "Parameter",
+ "flags": {},
+ "type": {
+ "type": "reference",
+ "name": "Data",
+ "id": 63
+ }
+ },
+ {
+ "id": 47,
+ "name": "cond",
+ "kind": 32768,
+ "kindString": "Parameter",
+ "flags": {},
+ "type": {
+ "type": "reference",
+ "name": "Condition",
+ "id": 9
+ }
+ },
+ {
+ "id": 48,
+ "name": "reduceFn",
+ "kind": 32768,
+ "kindString": "Parameter",
+ "flags": {
+ "isOptional": true
+ },
+ "type": {
+ "type": "union",
+ "types": [
+ {
+ "type": "intrinsic",
+ "name": "string"
+ },
+ {
+ "type": "reference",
+ "name": "ReduceFn",
+ "id": 38
+ }
+ ]
+ }
+ }
+ ],
+ "type": {
+ "type": "reference",
+ "name": "Data",
+ "id": 63
+ }
+ }
+ ],
+ "sources": [
+ {
+ "fileName": "DataFilters.ts",
+ "line": 233,
+ "character": 22
+ }
+ ]
+ },
+ {
+ "id": 28,
+ "name": "resolveCondition",
+ "kind": 64,
+ "kindString": "Function",
+ "flags": {},
+ "signatures": [
+ {
+ "id": 29,
+ "name": "resolveCondition",
+ "kind": 4096,
+ "kindString": "Call signature",
+ "flags": {},
+ "comment": {
+ "shortText": "applies `condition` to a row of data and returns `true` if the row passes."
+ },
+ "parameters": [
+ {
+ "id": 30,
+ "name": "condition",
+ "kind": 32768,
+ "kindString": "Parameter",
+ "flags": {},
+ "comment": {
+ "text": "the complex condition to test against"
+ },
+ "type": {
+ "type": "reference",
+ "name": "Condition",
+ "id": 9
+ }
+ },
+ {
+ "id": 31,
+ "name": "row",
+ "kind": 32768,
+ "kindString": "Parameter",
+ "flags": {},
+ "comment": {
+ "text": "the row values"
+ },
+ "type": {
+ "type": "reference",
+ "name": "DataRow",
+ "id": 160
+ }
+ },
+ {
+ "id": 32,
+ "name": "r",
+ "kind": 32768,
+ "kindString": "Parameter",
+ "flags": {},
+ "comment": {
+ "text": "the row index in the data set"
+ },
+ "type": {
+ "type": "intrinsic",
+ "name": "number"
+ }
+ },
+ {
+ "id": 33,
+ "name": "colNumber",
+ "kind": 32768,
+ "kindString": "Parameter",
+ "flags": {},
+ "type": {
+ "type": "reflection",
+ "declaration": {
+ "id": 34,
+ "name": "__type",
+ "kind": 65536,
+ "kindString": "Type literal",
+ "flags": {},
+ "signatures": [
+ {
+ "id": 35,
+ "name": "__call",
+ "kind": 4096,
+ "kindString": "Call signature",
+ "flags": {},
+ "parameters": [
+ {
+ "id": 36,
+ "name": "name",
+ "kind": 32768,
+ "kindString": "Parameter",
+ "flags": {},
+ "type": {
+ "type": "intrinsic",
+ "name": "string"
+ }
+ }
+ ],
+ "type": {
+ "type": "intrinsic",
+ "name": "number"
+ }
+ }
+ ],
+ "sources": [
+ {
+ "fileName": "DataFilters.ts",
+ "line": 185,
+ "character": 80
+ }
+ ]
+ }
+ }
+ },
+ {
+ "id": 37,
+ "name": "and",
+ "kind": 32768,
+ "kindString": "Parameter",
+ "flags": {},
+ "comment": {
+ "text": "\n"
+ },
+ "type": {
+ "type": "intrinsic",
+ "name": "boolean"
+ },
+ "defaultValue": "true"
+ }
+ ],
+ "type": {
+ "type": "intrinsic",
+ "name": "boolean"
+ }
+ }
+ ],
+ "sources": [
+ {
+ "fileName": "DataFilters.ts",
+ "line": 185,
+ "character": 25
+ }
+ ]
+ },
+ {
+ "id": 19,
+ "name": "resolveTerminalCondition",
+ "kind": 64,
+ "kindString": "Function",
+ "flags": {},
+ "signatures": [
+ {
+ "id": 20,
+ "name": "resolveTerminalCondition",
+ "kind": 4096,
+ "kindString": "Call signature",
+ "flags": {},
+ "parameters": [
+ {
+ "id": 21,
+ "name": "name",
+ "kind": 32768,
+ "kindString": "Parameter",
+ "flags": {},
+ "type": {
+ "type": "intrinsic",
+ "name": "string"
+ }
+ },
+ {
+ "id": 22,
+ "name": "val",
+ "kind": 32768,
+ "kindString": "Parameter",
+ "flags": {},
+ "type": {
+ "type": "intrinsic",
+ "name": "any"
+ }
+ },
+ {
+ "id": 23,
+ "name": "row",
+ "kind": 32768,
+ "kindString": "Parameter",
+ "flags": {},
+ "type": {
+ "type": "reference",
+ "name": "DataRow",
+ "id": 160
+ }
+ },
+ {
+ "id": 24,
+ "name": "colNumber",
+ "kind": 32768,
+ "kindString": "Parameter",
+ "flags": {},
+ "type": {
+ "type": "reflection",
+ "declaration": {
+ "id": 25,
+ "name": "__type",
+ "kind": 65536,
+ "kindString": "Type literal",
+ "flags": {},
+ "signatures": [
+ {
+ "id": 26,
+ "name": "__call",
+ "kind": 4096,
+ "kindString": "Call signature",
+ "flags": {},
+ "parameters": [
+ {
+ "id": 27,
+ "name": "name",
+ "kind": 32768,
+ "kindString": "Parameter",
+ "flags": {},
+ "type": {
+ "type": "intrinsic",
+ "name": "string"
+ }
+ }
+ ],
+ "type": {
+ "type": "intrinsic",
+ "name": "number"
+ }
+ }
+ ],
+ "sources": [
+ {
+ "fileName": "DataFilters.ts",
+ "line": 159,
+ "character": 79
+ }
+ ]
+ }
+ }
+ }
+ ],
+ "type": {
+ "type": "intrinsic",
+ "name": "boolean"
+ }
+ }
+ ],
+ "sources": [
+ {
+ "fileName": "DataFilters.ts",
+ "line": 159,
+ "character": 33
+ }
+ ]
+ }
+ ],
+ "groups": [
+ {
+ "title": "Interfaces",
+ "kind": 256,
+ "children": [
+ 2,
+ 6
+ ]
+ },
+ {
+ "title": "Type aliases",
+ "kind": 4194304,
+ "children": [
+ 13,
+ 9,
+ 10,
+ 12,
+ 11,
+ 38,
+ 14
+ ]
+ },
+ {
+ "title": "Functions",
+ "kind": 64,
+ "children": [
+ 44,
+ 28,
+ 19
+ ]
+ }
+ ],
+ "sources": [
+ {
+ "fileName": "DataFilters.ts",
+ "line": 1,
+ "character": 0
+ }
+ ]
+ },
+ {
+ "id": 174,
+ "name": "\"index\"",
+ "kind": 1,
+ "kindString": "External module",
+ "flags": {
+ "isExported": true
+ },
+ "originalName": "/Users/sth1pal/Documents/Development/JavaScript/node.js/ts6/dev/hsLibs/standalone/hsDatab/src/index.ts",
+ "sources": [
+ {
+ "fileName": "index.ts",
+ "line": 1,
+ "character": 0
+ }
+ ]
+ },
+ {
+ "id": 175,
+ "name": "\"overview\"",
+ "kind": 1,
+ "kindString": "External module",
+ "flags": {
+ "isExported": true
+ },
+ "originalName": "/Users/sth1pal/Documents/Development/JavaScript/node.js/ts6/dev/hsLibs/standalone/hsDatab/src/overview.ts",
+ "comment": {
+ "shortText": "# hsData",
+ "text": "Helpful Scripts data management functions that are framework independent.\n\n## Data Types\n- {@link Data.NumRange NumRange} defines a single [min, max] numeric range.\n- {@link Data.NumDomain NumDomain} defines a numeric domain that includes all values of a column\n- {@link Data.DateDomain DateDomain} defines a Date domain that includes all values of a column\n- {@link Data.NameDomain NameDomain} defines a categorical domain that includes all values of a column\n- {@link Data.Domain Domain} defines a generic domain that can be any of the typed domains.\n- {@link Data.ColSpecifier ColSpecifier} defines a Column Specifier, either as column name or index in the {@link Data.DataRow `DataRow`} array\n- {@link Data.DataVal DataVal} a generic data value type, used in the {@link Data.DataRow `DataRow`} array\n- {@link Data.DataRow DataRow} a single row of column values\n\n## Data Class\n- {@link Data.Data Data} A simple row-column based database object, featuring named columns, sorting, mapping and filtering functions\n"
+ },
+ "sources": [
+ {
+ "fileName": "overview.ts",
+ "line": 1,
+ "character": 0
+ }
+ ]
+ }
+ ],
+ "groups": [
+ {
+ "title": "External modules",
+ "kind": 1,
+ "children": [
+ 49,
+ 1,
+ 174,
+ 175
+ ]
+ }
+ ]
+}
\ No newline at end of file
diff --git a/docs/data/index.json b/docs/data/index.json
new file mode 100644
index 0000000..ce75152
--- /dev/null
+++ b/docs/data/index.json
@@ -0,0 +1,6 @@
+{
+ "docs": [
+ "hsdatab.json"
+ ],
+ "title": "HS Libraries"
+}
\ No newline at end of file
diff --git a/docs/example/defEquityList.json b/docs/example/defEquityList.json
new file mode 100644
index 0000000..4e1244a
--- /dev/null
+++ b/docs/example/defEquityList.json
@@ -0,0 +1,10 @@
+{
+ "Stocks": {
+ "GOOG": "Alphabet",
+ "MSFT": "Microsoft",
+ "AAPL": "Apple"
+ },
+ "Bonds": {},
+ "ETFs": {},
+ "Indices":{}
+}
\ No newline at end of file
diff --git a/docs/example/equityList.json b/docs/example/equityList.json
new file mode 100644
index 0000000..4e1244a
--- /dev/null
+++ b/docs/example/equityList.json
@@ -0,0 +1,10 @@
+{
+ "Stocks": {
+ "GOOG": "Alphabet",
+ "MSFT": "Microsoft",
+ "AAPL": "Apple"
+ },
+ "Bonds": {},
+ "ETFs": {},
+ "Indices":{}
+}
\ No newline at end of file
diff --git a/docs/example/hsGraph.js b/docs/example/hsGraph.js
new file mode 100644
index 0000000..c3e4b83
--- /dev/null
+++ b/docs/example/hsGraph.js
@@ -0,0 +1,10647 @@
+/******/ (function(modules) { // webpackBootstrap
+/******/ // The module cache
+/******/ var installedModules = {};
+/******/
+/******/ // The require function
+/******/ function __webpack_require__(moduleId) {
+/******/
+/******/ // Check if module is in cache
+/******/ if(installedModules[moduleId]) {
+/******/ return installedModules[moduleId].exports;
+/******/ }
+/******/ // Create a new module (and put it into the cache)
+/******/ var module = installedModules[moduleId] = {
+/******/ i: moduleId,
+/******/ l: false,
+/******/ exports: {}
+/******/ };
+/******/
+/******/ // Execute the module function
+/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
+/******/
+/******/ // Flag the module as loaded
+/******/ module.l = true;
+/******/
+/******/ // Return the exports of the module
+/******/ return module.exports;
+/******/ }
+/******/
+/******/
+/******/ // expose the modules object (__webpack_modules__)
+/******/ __webpack_require__.m = modules;
+/******/
+/******/ // expose the module cache
+/******/ __webpack_require__.c = installedModules;
+/******/
+/******/ // define getter function for harmony exports
+/******/ __webpack_require__.d = function(exports, name, getter) {
+/******/ if(!__webpack_require__.o(exports, name)) {
+/******/ Object.defineProperty(exports, name, {
+/******/ configurable: false,
+/******/ enumerable: true,
+/******/ get: getter
+/******/ });
+/******/ }
+/******/ };
+/******/
+/******/ // getDefaultExport function for compatibility with non-harmony modules
+/******/ __webpack_require__.n = function(module) {
+/******/ var getter = module && module.__esModule ?
+/******/ function getDefault() { return module['default']; } :
+/******/ function getModuleExports() { return module; };
+/******/ __webpack_require__.d(getter, 'a', getter);
+/******/ return getter;
+/******/ };
+/******/
+/******/ // Object.prototype.hasOwnProperty.call
+/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
+/******/
+/******/ // __webpack_public_path__
+/******/ __webpack_require__.p = "";
+/******/
+/******/ // Load entry module and return exports
+/******/ return __webpack_require__(__webpack_require__.s = 18);
+/******/ })
+/************************************************************************/
+/******/ ([
+/* 0 */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__view_PillaredLayouter__ = __webpack_require__(21);
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__view_TileLayouter__ = __webpack_require__(22);
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__view_Layout__ = __webpack_require__(23);
+/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "Layout", function() { return __WEBPACK_IMPORTED_MODULE_2__view_Layout__["a"]; });
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__view_Tokens__ = __webpack_require__(4);
+/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "FILL", function() { return __WEBPACK_IMPORTED_MODULE_3__view_Tokens__["b"]; });
+/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "px", function() { return __WEBPACK_IMPORTED_MODULE_3__view_Tokens__["g"]; });
+/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "pc", function() { return __WEBPACK_IMPORTED_MODULE_3__view_Tokens__["f"]; });
+/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "LayoutToken", function() { return __WEBPACK_IMPORTED_MODULE_3__view_Tokens__["d"]; });
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__view_Layouter__ = __webpack_require__(3);
+/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "Layouter", function() { return __WEBPACK_IMPORTED_MODULE_4__view_Layouter__["a"]; });
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__hsConfig__ = __webpack_require__(36);
+/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "HsConfig", function() { return __WEBPACK_IMPORTED_MODULE_5__hsConfig__["a"]; });
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__mithril__ = __webpack_require__(7);
+/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "m", function() { return __WEBPACK_IMPORTED_MODULE_6__mithril__["a"]; });
+/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "o", function() { return __WEBPACK_IMPORTED_MODULE_6__mithril__["b"]; });
+
+if (__WEBPACK_IMPORTED_MODULE_0__view_PillaredLayouter__) { }
+
+if (__WEBPACK_IMPORTED_MODULE_1__view_TileLayouter__) { }
+
+
+
+
+
+//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBSUEsT0FBTyxLQUFLLE9BQU8sTUFBVSx5QkFBeUIsQ0FBQztBQUFNLElBQUcsT0FBTyxFQUFFLEdBQUU7QUFDM0UsT0FBTyxLQUFLLEtBQUssTUFBWSxxQkFBcUIsQ0FBQztBQUFVLElBQUcsS0FBSyxFQUFFLEdBQUU7QUFFekUsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFTLGVBQWUsQ0FBQztBQUMxQyxPQUFPLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQ1osV0FBVyxFQUFFLE1BQU8sZUFBZSxDQUFDO0FBQzdDLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBVSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQVUsWUFBWSxDQUFDO0FBQzFDLE9BQU8sRUFBRSxDQUFDLEVBQVMsQ0FBQyxFQUFFLE1BQU8sV0FBVyxDQUFBIn0=
+
+/***/ }),
+/* 1 */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+/* harmony export (immutable) */ __webpack_exports__["d"] = round;
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return TextHAlign; });
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "c", function() { return TextVAlign; });
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_hslayout__ = __webpack_require__(0);
+
+function round(num) {
+ const result = num.toFixed(1);
+ if (result === 'Infinity') {
+ return '1e20';
+ }
+ return result;
+}
+var TextHAlign;
+(function (TextHAlign) {
+ TextHAlign["start"] = "start";
+ TextHAlign["middle"] = "middle";
+ TextHAlign["end"] = "end";
+})(TextHAlign || (TextHAlign = {}));
+var TextVAlign;
+(function (TextVAlign) {
+ TextVAlign["top"] = "top";
+ TextVAlign["center"] = "center";
+ TextVAlign["bottom"] = "bottom";
+})(TextVAlign || (TextVAlign = {}));
+class SVGElem {
+ text(cfg, text) {
+ let yShift = 0;
+ let hAlign = cfg.xpos;
+ switch (cfg.xpos) {
+ case TextHAlign.start: break;
+ case TextHAlign.end: break;
+ case TextHAlign.middle:
+ default:
+ hAlign = TextHAlign.middle;
+ break;
+ }
+ switch (cfg.ypos) {
+ case TextVAlign.top:
+ yShift = 0.7;
+ break;
+ case TextVAlign.center:
+ yShift = 0.35;
+ break;
+ case TextVAlign.bottom:
+ default:
+ yShift = 0;
+ break;
+ }
+ const param = {
+ x: cfg.x || '',
+ y: cfg.y || '',
+ dx: round(cfg.hOffset || 0) + 'em',
+ dy: round((cfg.vOffset || 0) + yShift) + 'em',
+ style: `text-anchor:${hAlign}; ${cfg.style || ''}`,
+ class: cfg.cssClass,
+ };
+ return Object(__WEBPACK_IMPORTED_MODULE_0_hslayout__["m"])('text', param, text);
+ }
+ rect(tl, area, style, title) {
+ if (area.w < 0) {
+ tl.x += area.w;
+ area.w = -area.w;
+ }
+ if (area.h < 0) {
+ tl.y += area.h;
+ area.h = -area.h;
+ }
+ const param = {
+ x: round(tl.x), y: round(tl.y),
+ width: round(area.w) + (area.wunit || ''),
+ height: round(area.h) + (area.hunit || ''),
+ style: style
+ };
+ return Object(__WEBPACK_IMPORTED_MODULE_0_hslayout__["m"])('rect', param), Object(__WEBPACK_IMPORTED_MODULE_0_hslayout__["m"])('title', title);
+ }
+ circle(c, r, style, title) {
+ return Object(__WEBPACK_IMPORTED_MODULE_0_hslayout__["m"])('circle', { cx: round(c.x), cy: round(c.y), r: round(r), style: style }, Object(__WEBPACK_IMPORTED_MODULE_0_hslayout__["m"])('title', title));
+ }
+ clipRect(tl, area, id) {
+ const param = {
+ x: round(tl.x), y: round(tl.y),
+ width: round(area.w) + (area.wunit || ''),
+ height: round(area.h) + (area.hunit || '')
+ };
+ return Object(__WEBPACK_IMPORTED_MODULE_0_hslayout__["m"])('defs', Object(__WEBPACK_IMPORTED_MODULE_0_hslayout__["m"])('clipPath', { id: id }, Object(__WEBPACK_IMPORTED_MODULE_0_hslayout__["m"])('rect', param)));
+ }
+ line(x0, x1, y0, y1, cssClass) {
+ const param = {
+ x1: round(x0), y1: round(y0),
+ x2: round(x1), y2: round(y1),
+ class: cssClass
+ };
+ return Object(__WEBPACK_IMPORTED_MODULE_0_hslayout__["m"])('line', param);
+ }
+ horLine(x0, x1, y, cssClass) {
+ const param = {
+ x1: round(x0), y1: round(y),
+ x2: round(x1), y2: round(y),
+ class: cssClass
+ };
+ return Object(__WEBPACK_IMPORTED_MODULE_0_hslayout__["m"])('line', param);
+ }
+ verLine(x, y0, y1, cssClass) {
+ const param = {
+ x1: round(x), y1: round(y0),
+ x2: round(x), y2: round(y1),
+ class: cssClass
+ };
+ return Object(__WEBPACK_IMPORTED_MODULE_0_hslayout__["m"])('line', param);
+ }
+ polyline(data, x, y, scales, id, style, title) {
+ return Object(__WEBPACK_IMPORTED_MODULE_0_hslayout__["m"])('polyline', {
+ 'clip-path': id ? `url(#${id})` : undefined,
+ style: style,
+ points: data.map((row) => `${round(scales.x.convert(row[x]))},${round(scales.y.convert(row[y]))}`).join(' ')
+ }, Object(__WEBPACK_IMPORTED_MODULE_0_hslayout__["m"])('title', title));
+ }
+ polygon(dataFore, dataBack, x, yFore, yBack, scales, id, style, title) {
+ const indexed = (x === undefined);
+ const sx = (_x) => round(scales.x.convert(_x));
+ const sy = (_y) => round(scales.y.convert(_y));
+ const clip = id ? `url(#${id})` : undefined;
+ const points = dataFore.map((row, i) => `${sx(indexed ? i : row[x])},${sy(row[yFore])}`)
+ .concat(dataBack.map((row, i) => `${sx(indexed ? (dataBack.length - i - 1) : row[x])},${sy(yBack ? row[yBack] : 0)}`)).join(' ');
+ return Object(__WEBPACK_IMPORTED_MODULE_0_hslayout__["m"])('polygon', { 'clip-path': clip, style: style, points: points }, Object(__WEBPACK_IMPORTED_MODULE_0_hslayout__["m"])('title', title));
+ }
+ shape(points, id, style, title) {
+ return Object(__WEBPACK_IMPORTED_MODULE_0_hslayout__["m"])('polyline', {
+ 'clip-path': id ? `url(#${id})` : undefined,
+ style: style,
+ points: points.map((row) => `${round(row[0])},${round(row[1])}`).join(' ')
+ }, Object(__WEBPACK_IMPORTED_MODULE_0_hslayout__["m"])('title', title));
+ }
+}
+/* harmony export (immutable) */ __webpack_exports__["a"] = SVGElem;
+
+//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU1ZHRWxlbS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9TVkdFbGVtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxDQUFDLEVBQVMsTUFBTSxVQUFVLENBQUM7QUF3RXBDLE1BQU0sZ0JBQWlCLEdBQVU7SUFDN0IsTUFBTSxNQUFNLEdBQUcsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUM5QixJQUFJLE1BQU0sS0FBSyxVQUFVLEVBQUU7UUFDdkIsT0FBTyxNQUFNLENBQUM7S0FDakI7SUFDRCxPQUFPLE1BQU0sQ0FBQztBQUNsQixDQUFDO0FBRUQsTUFBTSxDQUFOLElBQVksVUFJWDtBQUpELFdBQVksVUFBVTtJQUNsQiw2QkFBaUIsQ0FBQTtJQUNqQiwrQkFBa0IsQ0FBQTtJQUNsQix5QkFBZSxDQUFBO0FBQ25CLENBQUMsRUFKVyxVQUFVLEtBQVYsVUFBVSxRQUlyQjtBQUVELE1BQU0sQ0FBTixJQUFZLFVBSVg7QUFKRCxXQUFZLFVBQVU7SUFDbEIseUJBQWUsQ0FBQTtJQUNmLCtCQUFrQixDQUFBO0lBQ2xCLCtCQUFrQixDQUFBO0FBQ3RCLENBQUMsRUFKVyxVQUFVLEtBQVYsVUFBVSxRQUlyQjtBQUVELE1BQU07SUFNRixJQUFJLENBQUMsR0FBWSxFQUFFLElBQVc7UUFDMUIsSUFBSSxNQUFNLEdBQUcsQ0FBQyxDQUFDO1FBQ2YsSUFBSSxNQUFNLEdBQWMsR0FBRyxDQUFDLElBQUksQ0FBQztRQUNqQyxRQUFPLEdBQUcsQ0FBQyxJQUFJLEVBQUU7WUFDYixLQUFLLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBRSxNQUFNO1lBQzlCLEtBQUssVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFJLE1BQU07WUFDOUIsS0FBSyxVQUFVLENBQUMsTUFBTSxDQUFDO1lBQ3ZCO2dCQUFlLE1BQU0sR0FBRyxVQUFVLENBQUMsTUFBTSxDQUFDO2dCQUFDLE1BQU07U0FDcEQ7UUFDRCxRQUFPLEdBQUcs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
+
+/***/ }),
+/* 2 */
+/***/ (function(module, exports) {
+
+var g;
+
+// This works in non-strict mode
+g = (function() {
+ return this;
+})();
+
+try {
+ // This works if eval is allowed (see CSP)
+ g = g || Function("return this")() || (1,eval)("this");
+} catch(e) {
+ // This works if the window reference is available
+ if(typeof window === "object")
+ g = window;
+}
+
+// g can still be undefined, but nothing to do about it...
+// We return undefined, instead of nothing here, so it's
+// easier to handle this case. if(!global) { ...}
+
+module.exports = g;
+
+
+/***/ }),
+/* 3 */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__Tokens__ = __webpack_require__(4);
+
+class Layouter {
+ constructor(areaDesc) {
+ this.areaDesc = areaDesc;
+ this.spacing = 0;
+ }
+ static translate(params) {
+ if (params.length === 0) {
+ params.push('');
+ }
+ return params.map((param) => {
+ if (typeof param === 'string') {
+ if (param.endsWith('px')) {
+ return Object(__WEBPACK_IMPORTED_MODULE_0__Tokens__["g" /* px */])(parseInt(param));
+ }
+ if (param.endsWith('%')) {
+ return Object(__WEBPACK_IMPORTED_MODULE_0__Tokens__["f" /* pc */])(parseInt(param));
+ }
+ if (param.toLowerCase() === 'fill') {
+ return __WEBPACK_IMPORTED_MODULE_0__Tokens__["b" /* FILL */];
+ }
+ }
+ else {
+ return param;
+ }
+ });
+ }
+ static register(keyword, style) {
+ Layouter.layoutStyles[keyword] = style;
+ }
+ static createLayout(attrs, components) {
+ let css = '';
+ Object.keys(Layouter.layoutStyles).some(key => {
+ if (attrs[key]) {
+ css = new Layouter.layoutStyles[key](Layouter.translate(attrs[key])).getStyles(components);
+ attrs[key] = undefined;
+ return true;
+ }
+ return false;
+ });
+ return css;
+ }
+ ;
+}
+/* harmony export (immutable) */ __webpack_exports__["a"] = Layouter;
+
+Layouter.layoutStyles = {};
+//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTGF5b3V0ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdmlldy9MYXlvdXRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFhQSxPQUFPLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxJQUFJLEVBQUUsTUFBTSxVQUFVLENBQUM7QUF5QnhDLE1BQU07SUF5RUYsWUFBbUIsUUFBc0I7UUFBdEIsYUFBUSxHQUFSLFFBQVEsQ0FBYztRQVJ6QyxZQUFPLEdBQUcsQ0FBQyxDQUFDO0lBUWdDLENBQUM7SUF6RHJDLE1BQU0sQ0FBQyxTQUFTLENBQUMsTUFBd0I7UUFDN0MsSUFBSSxNQUFNLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRTtZQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7U0FBRTtRQUM3QyxPQUFPLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFnQixFQUFFLEVBQUU7WUFDbkMsSUFBSSxPQUFPLEtBQUssS0FBSyxRQUFRLEVBQUU7Z0JBQzNCLElBQUksS0FBSyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsRUFBRTtvQkFBRSxPQUFPLEVBQUUsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztpQkFBRTtnQkFDekQsSUFBSSxLQUFLLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxFQUFFO29CQUFFLE9BQU8sRUFBRSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO2lCQUFFO2dCQUN4RCxJQUFJLEtBQUssQ0FBQyxXQUFXLEVBQUUsS0FBRyxNQUFNLEVBQUU7b0JBQUUsT0FBTyxJQUFJLENBQUM7aUJBQUM7YUFDcEQ7aUJBQU07Z0JBQ0gsT0FBTyxLQUFLLENBQUM7YUFDaEI7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFXTSxNQUFNLENBQUMsUUFBUSxDQUFDLE9BQWMsRUFBRSxLQUFxQjtRQUV4RCxRQUFRLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxHQUFHLEtBQUssQ0FBQztJQUMzQyxDQUFDO0lBVU0sTUFBTSxDQUFDLFlBQVksQ0FBQyxLQUFTLEVBQUUsVUFBdUI7UUFDekQsSUFBSSxHQUFHLEdBQUcsRUFBRSxDQUFDO1FBQ2IsTUFBTSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFO1lBQzFDLElBQUksS0FBSyxDQUFDLEdBQUcsQ0FBQyxFQUFFO2dCQUNaLEdBQUcsR0FBRyxJQUFJLFFBQVEsQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsQ0FBQztnQkFDM0YsS0FBSyxDQUFDLEdBQUcsQ0FBQyxHQUFHLFNBQVMsQ0FBQztnQkFDdkIsT0FBTyxJQUFJLENBQUM7YUFDZjtZQUNELE9BQU8sS0FBSyxDQUFDO1FBQ2pCLENBQUMsQ0FBQyxDQUFDO1FBQ0gsT0FBTyxHQUFHLENBQUM7SUFDZixDQUFDO0lBVzRDLENBQUM7O0FBcEV2QyxxQkFBWSxHQUF1QixFQUFFLENBQUMifQ==
+
+/***/ }),
+/* 4 */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+/* harmony export (immutable) */ __webpack_exports__["g"] = px;
+/* harmony export (immutable) */ __webpack_exports__["f"] = pc;
+class LayoutToken {
+ constructor(size) {
+ this.size = size;
+ }
+ getSize() { return this.size; }
+}
+/* harmony export (immutable) */ __webpack_exports__["d"] = LayoutToken;
+
+class DefinedToken extends LayoutToken {
+ constructor(size) { super(size); }
+}
+/* harmony export (immutable) */ __webpack_exports__["a"] = DefinedToken;
+
+class FillToken extends LayoutToken {
+ constructor() { super(-1); }
+}
+/* harmony export (immutable) */ __webpack_exports__["c"] = FillToken;
+
+class PixelToken extends DefinedToken {
+ constructor(size) { super(size); }
+}
+/* harmony export (immutable) */ __webpack_exports__["e"] = PixelToken;
+
+class PercentToken extends DefinedToken {
+ constructor(size) { super(size); }
+}
+/* unused harmony export PercentToken */
+
+function px(px) { return new PixelToken(px); }
+function pc(pc) { return new PercentToken(pc); }
+const FILL = new FillToken();
+/* harmony export (immutable) */ __webpack_exports__["b"] = FILL;
+
+//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVG9rZW5zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3ZpZXcvVG9rZW5zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQVFBLE1BQU07SUFDRixZQUFvQixJQUFZO1FBQVosU0FBSSxHQUFKLElBQUksQ0FBUTtJQUFHLENBQUM7SUFDN0IsT0FBTyxLQUFLLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7Q0FDekM7QUFLRCxNQUFNLG1CQUE2QixTQUFRLFdBQVc7SUFDbEQsWUFBWSxJQUFZLElBQUksS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztDQUM3QztBQUtELE1BQU0sZ0JBQWlCLFNBQVEsV0FBVztJQUN0QyxnQkFBZ0IsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0NBQy9CO0FBS0QsTUFBTSxpQkFBa0IsU0FBUSxZQUFZO0lBQ3hDLFlBQVksSUFBVyxJQUFJLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7Q0FDNUM7QUFLRCxNQUFNLG1CQUFvQixTQUFRLFlBQVk7SUFDMUMsWUFBWSxJQUFXLElBQUksS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztDQUM1QztBQU1ELE1BQU0sYUFBYSxFQUFTLElBQU0sT0FBTyxJQUFJLFVBQVUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFNOUQsTUFBTSxhQUFhLEVBQVMsSUFBTSxPQUFPLElBQUksWUFBWSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUtoRSxNQUFNLENBQUMsTUFBTSxJQUFJLEdBQUcsSUFBSSxTQUFTLEVBQUUsQ0FBQyJ9
+
+/***/ }),
+/* 5 */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_hslayout__ = __webpack_require__(0);
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__SVGElem__ = __webpack_require__(1);
+
+;
+
+function getCrossAt(cross, scale) {
+ let crossesAt;
+ switch (cross) {
+ case 'min':
+ crossesAt = scale.domain()[0];
+ break;
+ case 'max':
+ crossesAt = scale.domain()[1];
+ break;
+ default: crossesAt = cross || 0;
+ }
+ return scale.convert(crossesAt);
+}
+class Axes extends __WEBPACK_IMPORTED_MODULE_1__SVGElem__["a" /* SVGElem */] {
+ static defaultConfig(cfg) {
+ function scaleCfg() {
+ return {
+ type: Axes.type.linear,
+ domain: ['auto', 'auto']
+ };
+ }
+ function labelCfg(primary, x, major) {
+ return {
+ visible: major, text: '',
+ xpos: x ? __WEBPACK_IMPORTED_MODULE_1__SVGElem__["b" /* TextHAlign */].middle : (primary ? __WEBPACK_IMPORTED_MODULE_1__SVGElem__["b" /* TextHAlign */].end : __WEBPACK_IMPORTED_MODULE_1__SVGElem__["b" /* TextHAlign */].start),
+ ypos: x ? (primary ? __WEBPACK_IMPORTED_MODULE_1__SVGElem__["c" /* TextVAlign */].top : __WEBPACK_IMPORTED_MODULE_1__SVGElem__["c" /* TextVAlign */].bottom) : __WEBPACK_IMPORTED_MODULE_1__SVGElem__["c" /* TextVAlign */].center,
+ hOffset: x ? 0 : (primary ? -0.7 : 0.7),
+ vOffset: x ? (primary ? 0.7 : -0.7) : 0
+ };
+ }
+ function markCfg(primary, major) {
+ return {
+ visible: major,
+ length: (primary ? 1 : -1) * (major ? 10 : 5)
+ };
+ }
+ function titleCfg(primary, x) {
+ return {
+ visible: true, text: (x ? 'x' : 'y') + (primary ? '' : '2'),
+ xpos: x ? __WEBPACK_IMPORTED_MODULE_1__SVGElem__["b" /* TextHAlign */].end : (primary ? __WEBPACK_IMPORTED_MODULE_1__SVGElem__["b" /* TextHAlign */].middle : __WEBPACK_IMPORTED_MODULE_1__SVGElem__["b" /* TextHAlign */].start),
+ ypos: x ? __WEBPACK_IMPORTED_MODULE_1__SVGElem__["c" /* TextVAlign */].top : (primary ? __WEBPACK_IMPORTED_MODULE_1__SVGElem__["c" /* TextVAlign */].bottom : __WEBPACK_IMPORTED_MODULE_1__SVGElem__["c" /* TextVAlign */].top),
+ hOffset: x ? -2 : (primary ? 0 : 0.3),
+ vOffset: x ? (primary ? 0.4 : -1.2) : (primary ? -0.5 : 0.7)
+ };
+ }
+ function axisCfg(primary, x) {
+ return {
+ visible: primary ? true : false,
+ crossesAt: primary ? 'min' : 'max',
+ scale: scaleCfg(),
+ title: titleCfg(primary, x),
+ ticks: {
+ major: {
+ marks: markCfg(primary, true),
+ labels: labelCfg(primary, x, true),
+ labelFmt: undefined
+ },
+ minor: {
+ marks: markCfg(primary, false),
+ labels: labelCfg(primary, x, false),
+ labelFmt: undefined
+ }
+ }
+ };
+ }
+ cfg.axes = {
+ primary: {
+ x: axisCfg(true, true),
+ y: axisCfg(true, false)
+ },
+ secondary: {
+ x: axisCfg(false, true),
+ y: axisCfg(false, false)
+ }
+ };
+ }
+ static adjustConfig(cfg) {
+ }
+ drawAxisLine(x, range, cross) {
+ return x ? this.horLine(range[0], range[1], cross, 'hs-graph-axis-line') :
+ this.verLine(cross, range[0], range[1], 'hs-graph-axis-line');
+ }
+ drawTitle(x, ttlCfg, type, range, cross) {
+ ttlCfg.cssClass = 'hs-graph-axis-title';
+ const xy = { transform: `translate(${x ? range[1] : cross}, ${x ? cross : range[1]})` };
+ return !ttlCfg.visible ? undefined :
+ Object(__WEBPACK_IMPORTED_MODULE_0_hslayout__["m"])('g', xy, this.text(ttlCfg, ttlCfg.text));
+ }
+ drawTickMarks(x, type, crossesAt, scale, ticks, cfg) {
+ return Object(__WEBPACK_IMPORTED_MODULE_0_hslayout__["m"])('svg', { class: `hs-graph-axis-${type}-tick-marks` }, !cfg.marks.visible ? '' : ticks.marks.map((t) => {
+ return x ? this.verLine(scale.convert(t), crossesAt, crossesAt + cfg.marks.length) :
+ this.horLine(crossesAt, crossesAt - cfg.marks.length, scale.convert(t));
+ }));
+ }
+ drawTickLabels(x, type, crossesAt, scale, ticks, cfg) {
+ scale.setLabelFormat(cfg.labelFmt);
+ return Object(__WEBPACK_IMPORTED_MODULE_0_hslayout__["m"])('svg', { class: `hs-graph-axis-${type}-tick-label` }, !cfg.labels.visible ? '' : ticks.labels.map((t) => {
+ const v = scale.convert(t.pos);
+ const xy = { transform: `translate(${x ? v : crossesAt}, ${x ? crossesAt : v})` };
+ return Object(__WEBPACK_IMPORTED_MODULE_0_hslayout__["m"])('g', xy, this.text(cfg.labels, t.text));
+ }));
+ }
+ drawAxis(dir, scales, type, axisCfg) {
+ const x = dir === 'x';
+ const range = scales[dir].range();
+ const cfg = axisCfg[type][dir];
+ scales[dir].scaleType(cfg.scale.type);
+ const crossesAt = getCrossAt(cfg.crossesAt, scales[x ? 'y' : 'x']);
+ const ticks = scales[dir].ticks();
+ return !cfg.visible ? undefined : Object(__WEBPACK_IMPORTED_MODULE_0_hslayout__["m"])('svg', { class: `hs-graph-axis-${dir} hs-graph-axis-${type}` }, [
+ this.drawAxisLine(x, range, crossesAt),
+ this.drawTitle(x, cfg.title, type, range, crossesAt),
+ this.drawTickMarks(x, 'minor', crossesAt, scales[dir], ticks.minor, cfg.ticks.minor),
+ this.drawTickMarks(x, 'major', crossesAt, scales[dir], ticks.major, cfg.ticks.major),
+ this.drawTickLabels(x, 'minor', crossesAt, scales[dir], ticks.minor, cfg.ticks.minor),
+ this.drawTickLabels(x, 'major', crossesAt, scales[dir], ticks.major, cfg.ticks.major)
+ ]);
+ }
+ view(node) {
+ const cfg = node.attrs.cfg;
+ const scales = node.attrs.scales;
+ return Object(__WEBPACK_IMPORTED_MODULE_0_hslayout__["m"])('svg', { class: 'hs-graph-axis' }, [
+ this.drawAxis('x', scales.primary, 'primary', cfg),
+ this.drawAxis('y', scales.primary, 'primary', cfg),
+ this.drawAxis('x', scales.secondary, 'secondary', cfg),
+ this.drawAxis('y', scales.secondary, 'secondary', cfg)
+ ]);
+ }
+}
+/* harmony export (immutable) */ __webpack_exports__["a"] = Axes;
+
+Axes.type = {
+ linear: 'linear axis',
+ log: 'log axis',
+ date: 'date axis',
+ index: 'index axis',
+ percent: 'percent axis',
+ ordinal: 'ordinal axis',
+ nominal: 'nominal axis'
+};
+class ExampleLinearAxis {
+}
+class ExampleLogAxis {
+}
+class ExampleDateAxis {
+}
+//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQXhlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9BeGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQTZEQSxPQUFPLEVBQUUsQ0FBQyxFQUFRLE1BQU8sVUFBVSxDQUFDO0FBVXBDLENBQUM7QUFLRCxPQUFPLEVBQUUsT0FBTyxFQUNQLFVBQVUsRUFDVixVQUFVLEVBQ0osTUFBVSxXQUFXLENBQUM7QUFRckMsb0JBQW9CLEtBQW1CLEVBQUUsS0FBVztJQUNoRCxJQUFJLFNBQWdCLENBQUM7SUFDckIsUUFBUSxLQUFLLEVBQUU7UUFDWCxLQUFLLEtBQUs7WUFBRSxTQUFTLEdBQVcsS0FBSyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQUMsTUFBTTtRQUN6RCxLQUFLLEtBQUs7WUFBRSxTQUFTLEdBQVcsS0FBSyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQUMsTUFBTTtRQUN6RCxPQUFPLENBQUMsQ0FBSSxTQUFTLEdBQVcsS0FBSyxJQUFJLENBQUMsQ0FBQztLQUM5QztJQUNELE9BQU8sS0FBSyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQztBQUNwQyxDQUFDO0FBRUQsTUFBTSxXQUFZLFNBQVEsT0FBTztJQWtHN0IsTUFBTSxDQUFDLGFBQWEsQ0FBQyxHQUFVO1FBQzNCO1lBQ0ksT0FBTztnQkFDSCxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNO2dCQUN0QixNQUFNLEVBQVMsQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFDO2FBQ2xDLENBQUM7UUFDTixDQUFDO1FBQ0Qsa0JBQWtCLE9BQWUsRUFBRSxDQUFTLEVBQUUsS0FBYTtZQUN2RCxPQUFPO2dCQUNILE9BQU8sRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLEVBQUU7Z0JBQ3hCLElBQUksRUFBRSxDQUFDLENBQUEsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxD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
+
+/***/ }),
+/* 6 */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_hslayout__ = __webpack_require__(0);
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__SVGElem__ = __webpack_require__(1);
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__Series__ = __webpack_require__(9);
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_hsutil__ = __webpack_require__(8);
+
+
+
+
+class Plot extends __WEBPACK_IMPORTED_MODULE_1__SVGElem__["a" /* SVGElem */] {
+ drawLine(clipID, data, x, y, scales, sStyle, title) {
+ const style = `stroke: ${sStyle.line.color}; stroke-width:${sStyle.line.width};`;
+ return !sStyle.line.visible ? Object(__WEBPACK_IMPORTED_MODULE_0_hslayout__["m"])('.invisible-line', '') : this.polyline(data, x, y, scales, clipID, style, title);
+ }
+ drawMarker(clipID, data, x, y, scales, sStyle, title) {
+ const mrk = __WEBPACK_IMPORTED_MODULE_2__Series__["a" /* Series */].marker;
+ let style = `fill:${sStyle.marker.color}`;
+ return !sStyle.marker.visible ? Object(__WEBPACK_IMPORTED_MODULE_0_hslayout__["m"])('.invisible-marker', '') : Object(__WEBPACK_IMPORTED_MODULE_0_hslayout__["m"])('svg', { class: 'hs-graph-series-markers' }, data.map((p) => {
+ const cx = scales.x.convert(p[x]);
+ const cy = scales.y.convert(p[y]);
+ const r = sStyle.marker.size;
+ switch (sStyle.marker.shape) {
+ case mrk.circle:
+ return this.circle({ x: cx, y: cy }, r, style, title);
+ case mrk.square:
+ return this.rect({ x: cx - r, y: cy - r }, { w: 2 * r, h: 2 * r }, style, title);
+ case mrk.diamond:
+ return this.shape([[cx - r, cy], [cx, cy + r], [cx + r, cy], [cx, cy - r]], undefined, style, title);
+ case mrk.upTriangle:
+ return this.shape([[cx - r, cy + r], [cx + r, cy + r], [cx, cy - r]], undefined, style, title);
+ case mrk.downTriangle:
+ return this.shape([[cx - r, cy - r], [cx + r, cy - r], [cx, cy + r]], undefined, style, title);
+ }
+ return Object(__WEBPACK_IMPORTED_MODULE_0_hslayout__["m"])(`.unkown-marker-${sStyle.marker.shape}`, '');
+ }));
+ }
+ drawLabel(clipID, data, x, y, lbl, scales, sDef) {
+ const sStyle = sDef.style;
+ const cfg = {
+ text: '',
+ cssClass: ``,
+ style: `fill:${sStyle.label.color}`,
+ xpos: __WEBPACK_IMPORTED_MODULE_1__SVGElem__["b" /* TextHAlign */].middle,
+ ypos: __WEBPACK_IMPORTED_MODULE_1__SVGElem__["c" /* TextVAlign */].center,
+ hOffset: sDef.hOffset,
+ vOffset: sDef.vOffset
+ };
+ return !sStyle.marker.visible ? Object(__WEBPACK_IMPORTED_MODULE_0_hslayout__["m"])('.invisible-marker', '') : Object(__WEBPACK_IMPORTED_MODULE_0_hslayout__["m"])('svg', { class: 'hs-graph-series-labels' }, data.map((p) => {
+ cfg.x = '' + scales.x.convert(p[x]);
+ cfg.y = '' + scales.y.convert(p[y]);
+ return this.text(cfg, Object(__WEBPACK_IMPORTED_MODULE_3_hsutil__["d" /* round */])(p[lbl], 3));
+ }));
+ }
+ drawArea(clipID, data, x, yFore, yBack, scales, sStyle, title) {
+ if (sStyle.fill.visible) {
+ const style = `fill: ${sStyle.fill.color};`;
+ const drawFore = data;
+ const drawBack = data.slice().reverse();
+ return this.polygon(drawFore, drawBack, x, yFore, yBack, scales, clipID, style, title);
+ }
+ else {
+ Object(__WEBPACK_IMPORTED_MODULE_0_hslayout__["m"])('.invisible-line', '');
+ }
+ }
+ setDefaults(data, series, scales) {
+ }
+}
+/* harmony export (immutable) */ __webpack_exports__["a"] = Plot;
+
+//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUGxvdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9QbG90LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUtBLE9BQU8sRUFBRSxDQUFDLEVBQVEsTUFBVyxVQUFVLENBQUM7QUFDeEMsT0FBTyxFQUFFLE9BQU8sRUFFUCxVQUFVLEVBQ1YsVUFBVSxFQUFFLE1BQVEsV0FBVyxDQUFDO0FBSXpDLE9BQU8sRUFBRSxNQUFNLEVBRUssTUFBUyxVQUFVLENBQUM7QUFDeEMsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFhLFFBQVEsQ0FBQztBQUV0QyxNQUFNLFdBQXFCLFNBQVEsT0FBTztJQUN0QyxRQUFRLENBQUMsTUFBYSxFQUFFLElBQWMsRUFBRSxDQUFRLEVBQUUsQ0FBUSxFQUFFLE1BQWMsRUFBRSxNQUFrQixFQUFFLEtBQWE7UUFDekcsTUFBTSxLQUFLLEdBQUcsV0FBVyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssa0JBQWtCLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxHQUFHLENBQUM7UUFDakYsT0FBTyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFBLENBQUMsQ0FBQyxDQUFDLENBQUMsaUJBQWlCLEVBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDbkgsQ0FBQztJQUVELFVBQVUsQ0FBQyxNQUFhLEVBQUUsSUFBYyxFQUFFLENBQVEsRUFBRSxDQUFRLEVBQUUsTUFBYyxFQUFFLE1BQWtCLEVBQUUsS0FBYTtRQUMzRyxNQUFNLEdBQUcsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDO1FBQzFCLElBQUksS0FBSyxHQUFHLFFBQVEsTUFBTSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUMxQyxPQUFPLENBQUMsTUFBTSxDQUFD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
+
+/***/ }),
+/* 7 */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+/* WEBPACK VAR INJECTION */(function(global) {/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return o; });
+if (!global['window']) {
+ console.log('creating non-browser polyfill');
+ global['window'] = __webpack_require__(24)();
+ global['document'] = window.document;
+}
+const m = __webpack_require__(30);
+/* harmony export (immutable) */ __webpack_exports__["a"] = m;
+
+const o = __webpack_require__(31);
+o.root = window.document.createElement("div");
+
+//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWl0aHJpbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9taXRocmlsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUlBLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLEVBQUU7SUFDbkIsT0FBTyxDQUFDLEdBQUcsQ0FBQywrQkFBK0IsQ0FBQyxDQUFDO0lBRTdDLE1BQU0sQ0FBQyxRQUFRLENBQUMsR0FBRyxPQUFPLENBQUMsbUNBQW1DLENBQUMsRUFBRSxDQUFDO0lBQ2xFLE1BQU0sQ0FBQyxVQUFVLENBQUMsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDO0NBRXhDO0FBS0QsTUFBTSxDQUFDLE1BQU0sQ0FBQyxHQUFHLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQztBQU9wQyxNQUFNLENBQUMsR0FBRyxPQUFPLENBQUMscUJBQXFCLENBQUMsQ0FBQztBQUN6QyxDQUFDLENBQUMsSUFBSSxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDO0FBRTlDLE9BQU8sRUFBRSxDQUFDLEVBQUUsQ0FBQyJ9
+/* WEBPACK VAR INJECTION */}.call(__webpack_exports__, __webpack_require__(2)))
+
+/***/ }),
+/* 8 */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__TimedPromise__ = __webpack_require__(39);
+/* unused harmony reexport timeout */
+/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return __WEBPACK_IMPORTED_MODULE_0__TimedPromise__["a"]; });
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__showdown__ = __webpack_require__(40);
+/* unused harmony reexport markDown */
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__Checksum__ = __webpack_require__(42);
+/* unused harmony reexport shortCheckSum */
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__Date__ = __webpack_require__(43);
+/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return __WEBPACK_IMPORTED_MODULE_3__Date__["a"]; });
+/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "c", function() { return __WEBPACK_IMPORTED_MODULE_3__Date__["b"]; });
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__Number__ = __webpack_require__(44);
+/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "d", function() { return __WEBPACK_IMPORTED_MODULE_4__Number__["a"]; });
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__PacingQueue__ = __webpack_require__(45);
+/* unused harmony reexport PacingQueue */
+
+
+
+
+
+
+//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNoRCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQVksWUFBWSxDQUFDO0FBQzVDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTyxZQUFZLENBQUM7QUFDNUMsT0FBTyxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUUsTUFBWSxRQUFRLENBQUM7QUFDeEMsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFlLFVBQVUsQ0FBQztBQUMxQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQVMsZUFBZSxDQUFDIn0=
+
+/***/ }),
+/* 9 */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_hslayout__ = __webpack_require__(0);
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__SVGElem__ = __webpack_require__(1);
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__Axes__ = __webpack_require__(5);
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__PlotLine__ = __webpack_require__(47);
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__PlotMarkers__ = __webpack_require__(48);
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__PlotBar__ = __webpack_require__(49);
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__PlotArea__ = __webpack_require__(50);
+
+
+
+
+
+
+
+function copyDefault(target, source, defaults) {
+ Object.keys(source).forEach((key) => {
+ if (typeof source[key] === 'object') {
+ if (target[key] === undefined) {
+ target[key] = {};
+ }
+ copyDefault(target[key], source[key], defaults);
+ }
+ else {
+ if (target[key] === undefined) {
+ target[key] = source[key];
+ }
+ if (target[key] === 'default') {
+ target[key] = defaults[key];
+ }
+ }
+ });
+}
+class Series extends __WEBPACK_IMPORTED_MODULE_1__SVGElem__["a" /* SVGElem */] {
+ static defaultConfig(cfg) {
+ cfg.series = new SeriesConfig();
+ }
+ static adjustConfig(cfg) {
+ cfg.series.series.forEach((s) => {
+ if (s.x === undefined) {
+ cfg.axes.primary.x.title.hOffset = 0;
+ cfg.axes.primary.x.scale.type = __WEBPACK_IMPORTED_MODULE_2__Axes__["a" /* Axes */].type.index;
+ cfg.grid.minor.ver.visible = false;
+ }
+ });
+ }
+ drawClipRect(clipID, scales) {
+ return !clipID ? Object(__WEBPACK_IMPORTED_MODULE_0_hslayout__["m"])('') : this.clipRect({ x: scales.x.range()[0], y: scales.y.range()[1] }, {
+ w: scales.x.range()[1] - scales.x.range()[0],
+ h: scales.y.range()[0] - scales.y.range()[1]
+ }, clipID);
+ }
+ view(node) {
+ const cfg = node.attrs.cfg;
+ const scales = node.attrs.scales.primary;
+ const data = node.attrs.data;
+ const clipID = cfg.clip ? 'hs' + Math.floor(Math.random() * 10000) : undefined;
+ cfg.series.map((s) => {
+ if (s.map === Series.map.shared) {
+ s.ySum = '$sum';
+ data[s.dataIndex].colAdd(s.ySum);
+ data[s.dataIndex].colInitialize(s.ySum, 0);
+ }
+ });
+ cfg.series.map((s) => {
+ const dt = data[s.dataIndex];
+ if (s.map === Series.map.shared) {
+ const valCol = dt.colNumber(s.y);
+ dt.colInitialize(s.ySum, (v, i, row) => { return v + row[valCol]; });
+ }
+ if (s.map) {
+ s.yBase = '$' + s.map;
+ dt.colAdd(s.yBase);
+ dt.colInitialize(s.yBase, 0);
+ }
+ });
+ return Object(__WEBPACK_IMPORTED_MODULE_0_hslayout__["m"])('svg', { class: 'hs-graph-series' }, [
+ this.drawClipRect(clipID, scales),
+ Object(__WEBPACK_IMPORTED_MODULE_0_hslayout__["m"])('svg', cfg.series.map((s, i) => {
+ const dt = data[s.dataIndex];
+ const type = Series.plot[s.type] || Series.plot.line;
+ type.setDefaults(dt, s, scales);
+ const d = s.cond ? dt.filter(s.cond) : dt;
+ const plot = type.plot(d, s, scales, i, clipID);
+ if (s.map) {
+ const valCol = d.colNumber(s.y);
+ d.colInitialize(s.yBase, (v, i, row) => { return v + row[valCol]; });
+ }
+ return Object(__WEBPACK_IMPORTED_MODULE_0_hslayout__["m"])('svg', { class: `hs-graph-series-${i}` }, plot);
+ }))
+ ]);
+ }
+}
+/* harmony export (immutable) */ __webpack_exports__["a"] = Series;
+
+Series.marker = {
+ circle: Symbol('circle marker'),
+ square: Symbol('square marker'),
+ diamond: Symbol('diamond marker'),
+ upTriangle: Symbol('upward triangle marker'),
+ downTriangle: Symbol('downward triangle marker')
+};
+Series.plot = {
+ line: new __WEBPACK_IMPORTED_MODULE_3__PlotLine__["a" /* PlotLine */](),
+ marker: new __WEBPACK_IMPORTED_MODULE_4__PlotMarkers__["a" /* PlotMarkers */](),
+ bar: new __WEBPACK_IMPORTED_MODULE_5__PlotBar__["a" /* PlotBar */](),
+ area: new __WEBPACK_IMPORTED_MODULE_6__PlotArea__["a" /* PlotArea */]()
+};
+Series.map = {
+ stacked: 'stacked',
+ shared: 'shared'
+};
+class SeriesConfig {
+ constructor() {
+ this.seriesDefs = [];
+ this.clip = true;
+ this.defaultStyle = {
+ line: { color: 'default', visible: true, width: 2 },
+ marker: { color: 'default', visible: false, size: 10, shape: Series.marker.circle },
+ label: { color: 'default', visible: false },
+ fill: { color: 'default', visible: false },
+ bar: { color: 'default', visible: false, width: 50, offset: 30 }
+ };
+ this.defaultColors = ['#f00', '#0f0', '#00f', '#ff0', '#0ff', '#f0f', '#000', '#444', '#888', '#ccc'];
+ }
+ set series(cfg) {
+ const defStyle = this.defaultStyle;
+ const defColors = this.defaultColors;
+ cfg.forEach((s) => {
+ s.type = s.type || 'line';
+ s.style = s.style || {};
+ s.dataIndex = s.dataIndex || 0;
+ const defaults = {
+ color: defColors[this.seriesDefs.length]
+ };
+ copyDefault(s.style, defStyle, defaults);
+ this.seriesDefs.push(s);
+ switch (s.type) {
+ case 'line':
+ s.style.line.visible = true;
+ break;
+ case 'marker':
+ s.style.marker.visible = true;
+ break;
+ case 'area':
+ s.style.fill.visible = true;
+ break;
+ case 'bar':
+ s.style.fill.visible = true;
+ break;
+ }
+ });
+ }
+ get series() { return this.seriesDefs; }
+}
+/* unused harmony export SeriesConfig */
+
+//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2VyaWVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL1Nlcmllcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFvQkEsT0FBTyxFQUFFLENBQUMsRUFBUSxNQUFXLFVBQVUsQ0FBQztBQU14QyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQVcsV0FBVyxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBYyxRQUFRLENBQUM7QUFFdEMsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFVLFlBQVksQ0FBQztBQUMxQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU8sZUFBZSxDQUFDO0FBQzdDLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBVyxXQUFXLENBQUM7QUFDekMsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFVLFlBQVksQ0FBQztBQUcxQyxxQkFBcUIsTUFBVSxFQUFFLE1BQVUsRUFBRSxRQUFZO0lBQ3JELE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsR0FBVSxFQUFFLEVBQUU7UUFDdkMsSUFBSSxPQUFPLE1BQU0sQ0FBQyxHQUFHLENBQUMsS0FBSyxRQUFRLEVBQUU7WUFDakMsSUFBSSxNQUFNLENBQUMsR0FBRyxDQUFDLEtBQUssU0FBUyxFQUFFO2dCQUFFLE1BQU0sQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLENBQUM7YUFBRTtZQUNwRCxXQUFXLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxHQUFHLENBQUMsRUFBRSxRQUFRLENBQUMsQ0FBQztTQUNuRDthQUFNO1lBQ0gsSUFBSSxNQUFNLENBQUMsR0FBRyxDQUFDLEtBQUssU0FBUyxFQUFFO2dCQUFFLE1BQU0sQ0FBQyxHQUFHLENBQUMsR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7YUFBRTtZQUM3RCxJQUFJLE1BQU0sQ0FBQyxHQUFHLENBQUMsS0FBSyxTQUFTLEVBQUU7Z0JBQUUsTUFBTSxDQUFD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
+
+/***/ }),
+/* 10 */
+/***/ (function(module, exports, __webpack_require__) {
+
+"use strict";
+
+
+module.exports = function parseURL(url, root) {
+ var data = {}
+ var protocolIndex = url.indexOf("://")
+ var pathnameIndex = protocolIndex > -1 ? url.indexOf("/", protocolIndex + 3) : url.indexOf("/")
+ var searchIndex = url.indexOf("?")
+ var hashIndex = url.indexOf("#")
+ if ((pathnameIndex > searchIndex && searchIndex > -1) || (pathnameIndex > hashIndex && hashIndex > -1)) pathnameIndex = -1
+ if (searchIndex > hashIndex && hashIndex > -1) searchIndex = -1
+ var pathnameEnd = searchIndex > -1 ? searchIndex : hashIndex > -1 ? hashIndex : url.length
+ if (protocolIndex > -1) {
+ //it's a full URL
+ if (pathnameIndex < 0) pathnameIndex = url.length
+ var portIndex = url.indexOf(":", protocolIndex + 1)
+ if (portIndex < 0) portIndex = pathnameIndex
+ data.protocol = url.slice(0, protocolIndex + 1)
+ data.hostname = url.slice(protocolIndex + 3, portIndex)
+ data.port = url.slice(portIndex + 1, pathnameIndex)
+ data.pathname = url.slice(pathnameIndex, pathnameEnd) || "/"
+ }
+ else {
+ data.protocol = root.protocol
+ data.hostname = root.hostname
+ data.port = root.port
+ if (pathnameIndex === 0) {
+ //it's an absolute path
+ data.pathname = url.slice(pathnameIndex, pathnameEnd) || "/"
+ }
+ else if (searchIndex !== 0 && hashIndex !== 0) {
+ //it's a relative path
+ var slashIndex = root.pathname.lastIndexOf("/")
+ var path = slashIndex > -1 ? root.pathname.slice(0, slashIndex + 1) : "./"
+ var normalized = url.slice(0, pathnameEnd).replace(/^\.$/, root.pathname.slice(slashIndex + 1)).replace(/^\.\//, "")
+ var dotdot = /\/[^\/]+?\/\.{2}/g
+ var pathname = path + normalized
+ pathname = path + normalized
+ while (dotdot.test(pathname)) pathname = pathname.replace(dotdot, "")
+ pathname = pathname.replace(/\/\.\//g, "/").replace(/^(\/\.{2})+/, "") || "/"
+ data.pathname = pathname
+ }
+ }
+ var searchEnd = hashIndex > -1 ? hashIndex : url.length
+ data.search = searchIndex > -1 ? url.slice(searchIndex, searchEnd) : ""
+ data.hash = hashIndex > -1 ? url.slice(hashIndex) : ""
+ return data
+}
+
+
+/***/ }),
+/* 11 */
+/***/ (function(module, exports, __webpack_require__) {
+
+"use strict";
+/* WEBPACK VAR INJECTION */(function(setImmediate) {
+
+module.exports = typeof setImmediate === "function" ? setImmediate : setTimeout
+
+/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(12).setImmediate))
+
+/***/ }),
+/* 12 */
+/***/ (function(module, exports, __webpack_require__) {
+
+/* WEBPACK VAR INJECTION */(function(global) {var apply = Function.prototype.apply;
+
+// DOM APIs, for completeness
+
+exports.setTimeout = function() {
+ return new Timeout(apply.call(setTimeout, window, arguments), clearTimeout);
+};
+exports.setInterval = function() {
+ return new Timeout(apply.call(setInterval, window, arguments), clearInterval);
+};
+exports.clearTimeout =
+exports.clearInterval = function(timeout) {
+ if (timeout) {
+ timeout.close();
+ }
+};
+
+function Timeout(id, clearFn) {
+ this._id = id;
+ this._clearFn = clearFn;
+}
+Timeout.prototype.unref = Timeout.prototype.ref = function() {};
+Timeout.prototype.close = function() {
+ this._clearFn.call(window, this._id);
+};
+
+// Does not start the time, just sets up the members needed.
+exports.enroll = function(item, msecs) {
+ clearTimeout(item._idleTimeoutId);
+ item._idleTimeout = msecs;
+};
+
+exports.unenroll = function(item) {
+ clearTimeout(item._idleTimeoutId);
+ item._idleTimeout = -1;
+};
+
+exports._unrefActive = exports.active = function(item) {
+ clearTimeout(item._idleTimeoutId);
+
+ var msecs = item._idleTimeout;
+ if (msecs >= 0) {
+ item._idleTimeoutId = setTimeout(function onTimeout() {
+ if (item._onTimeout)
+ item._onTimeout();
+ }, msecs);
+ }
+};
+
+// setimmediate attaches itself to the global object
+__webpack_require__(26);
+// On some exotic environments, it's not clear which object `setimmeidate` was
+// able to install onto. Search each possibility in the same order as the
+// `setimmediate` library.
+exports.setImmediate = (typeof self !== "undefined" && self.setImmediate) ||
+ (typeof global !== "undefined" && global.setImmediate) ||
+ (this && this.setImmediate);
+exports.clearImmediate = (typeof self !== "undefined" && self.clearImmediate) ||
+ (typeof global !== "undefined" && global.clearImmediate) ||
+ (this && this.clearImmediate);
+
+/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(2)))
+
+/***/ }),
+/* 13 */
+/***/ (function(module, exports) {
+
+// shim for using process in browser
+var process = module.exports = {};
+
+// cached from whatever global is present so that test runners that stub it
+// don't break things. But we need to wrap it in a try catch in case it is
+// wrapped in strict mode code which doesn't define any globals. It's inside a
+// function because try/catches deoptimize in certain engines.
+
+var cachedSetTimeout;
+var cachedClearTimeout;
+
+function defaultSetTimout() {
+ throw new Error('setTimeout has not been defined');
+}
+function defaultClearTimeout () {
+ throw new Error('clearTimeout has not been defined');
+}
+(function () {
+ try {
+ if (typeof setTimeout === 'function') {
+ cachedSetTimeout = setTimeout;
+ } else {
+ cachedSetTimeout = defaultSetTimout;
+ }
+ } catch (e) {
+ cachedSetTimeout = defaultSetTimout;
+ }
+ try {
+ if (typeof clearTimeout === 'function') {
+ cachedClearTimeout = clearTimeout;
+ } else {
+ cachedClearTimeout = defaultClearTimeout;
+ }
+ } catch (e) {
+ cachedClearTimeout = defaultClearTimeout;
+ }
+} ())
+function runTimeout(fun) {
+ if (cachedSetTimeout === setTimeout) {
+ //normal enviroments in sane situations
+ return setTimeout(fun, 0);
+ }
+ // if setTimeout wasn't available but was latter defined
+ if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {
+ cachedSetTimeout = setTimeout;
+ return setTimeout(fun, 0);
+ }
+ try {
+ // when when somebody has screwed with setTimeout but no I.E. maddness
+ return cachedSetTimeout(fun, 0);
+ } catch(e){
+ try {
+ // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally
+ return cachedSetTimeout.call(null, fun, 0);
+ } catch(e){
+ // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error
+ return cachedSetTimeout.call(this, fun, 0);
+ }
+ }
+
+
+}
+function runClearTimeout(marker) {
+ if (cachedClearTimeout === clearTimeout) {
+ //normal enviroments in sane situations
+ return clearTimeout(marker);
+ }
+ // if clearTimeout wasn't available but was latter defined
+ if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {
+ cachedClearTimeout = clearTimeout;
+ return clearTimeout(marker);
+ }
+ try {
+ // when when somebody has screwed with setTimeout but no I.E. maddness
+ return cachedClearTimeout(marker);
+ } catch (e){
+ try {
+ // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally
+ return cachedClearTimeout.call(null, marker);
+ } catch (e){
+ // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.
+ // Some versions of I.E. have different rules for clearTimeout vs setTimeout
+ return cachedClearTimeout.call(this, marker);
+ }
+ }
+
+
+
+}
+var queue = [];
+var draining = false;
+var currentQueue;
+var queueIndex = -1;
+
+function cleanUpNextTick() {
+ if (!draining || !currentQueue) {
+ return;
+ }
+ draining = false;
+ if (currentQueue.length) {
+ queue = currentQueue.concat(queue);
+ } else {
+ queueIndex = -1;
+ }
+ if (queue.length) {
+ drainQueue();
+ }
+}
+
+function drainQueue() {
+ if (draining) {
+ return;
+ }
+ var timeout = runTimeout(cleanUpNextTick);
+ draining = true;
+
+ var len = queue.length;
+ while(len) {
+ currentQueue = queue;
+ queue = [];
+ while (++queueIndex < len) {
+ if (currentQueue) {
+ currentQueue[queueIndex].run();
+ }
+ }
+ queueIndex = -1;
+ len = queue.length;
+ }
+ currentQueue = null;
+ draining = false;
+ runClearTimeout(timeout);
+}
+
+process.nextTick = function (fun) {
+ var args = new Array(arguments.length - 1);
+ if (arguments.length > 1) {
+ for (var i = 1; i < arguments.length; i++) {
+ args[i - 1] = arguments[i];
+ }
+ }
+ queue.push(new Item(fun, args));
+ if (queue.length === 1 && !draining) {
+ runTimeout(drainQueue);
+ }
+};
+
+// v8 likes predictible objects
+function Item(fun, array) {
+ this.fun = fun;
+ this.array = array;
+}
+Item.prototype.run = function () {
+ this.fun.apply(null, this.array);
+};
+process.title = 'browser';
+process.browser = true;
+process.env = {};
+process.argv = [];
+process.version = ''; // empty string to avoid regexp issues
+process.versions = {};
+
+function noop() {}
+
+process.on = noop;
+process.addListener = noop;
+process.once = noop;
+process.off = noop;
+process.removeListener = noop;
+process.removeAllListeners = noop;
+process.emit = noop;
+process.prependListener = noop;
+process.prependOnceListener = noop;
+
+process.listeners = function (name) { return [] }
+
+process.binding = function (name) {
+ throw new Error('process.binding is not supported');
+};
+
+process.cwd = function () { return '/' };
+process.chdir = function (dir) {
+ throw new Error('process.chdir is not supported');
+};
+process.umask = function() { return 0; };
+
+
+/***/ }),
+/* 14 */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__DataFilters__ = __webpack_require__(38);
+
+;
+class Data {
+ constructor(data) {
+ this.data = [];
+ this.meta = [];
+ this.import(data);
+ }
+ static toDataSet(data, name) {
+ data = data || [{}];
+ const names = Object.keys(data[0]);
+ const rows = data.map((r) => names.map((n) => r[n]));
+ return { rows: rows, colNames: names, name: name || undefined };
+ }
+ getName() {
+ return this.name;
+ }
+ import(data) {
+ this.name = data.name;
+ this.setData(data.rows, data.colNames);
+ }
+ export() {
+ return {
+ rows: this.getData(),
+ colNames: this.colNames()
+ };
+ }
+ getData() {
+ return this.data;
+ }
+ getColumn(col) {
+ const cn = this.colNumber(col);
+ return this.data.map((row) => row[cn]);
+ }
+ colAdd(col) {
+ let m = this.getMeta(col);
+ if (m === undefined) {
+ m = this.meta[col] = {};
+ m.name = col;
+ m.column = this.meta.length;
+ this.meta.push(m);
+ m.cast = false;
+ m.accessed = false;
+ }
+ return m.column;
+ }
+ colInitialize(col, initializer) {
+ const cn = this.colNumber(col);
+ if (!cn && typeof col === 'string') {
+ this.colAdd(col);
+ }
+ const fn = typeof initializer === 'function';
+ if (cn !== undefined) {
+ this.data.map((r, i) => r[cn] = fn ? initializer(r[cn], i, r) : initializer);
+ }
+ }
+ colNumber(col) {
+ const m = this.getMeta(col);
+ if (!m) {
+ return undefined;
+ }
+ else {
+ m.accessed = true;
+ return m.column;
+ }
+ }
+ colName(col) {
+ var m = this.getMeta(col);
+ if (!m) {
+ return undefined;
+ }
+ m.accessed = true;
+ return m.name;
+ }
+ colNames() {
+ return this.meta.map((m) => m.name);
+ }
+ colType(col) {
+ const meta = this.getMeta(col);
+ return meta ? meta.types[0].type : Data.type.name;
+ }
+ findDomain(col, domain) {
+ if (col === undefined) {
+ domain[0] = 0;
+ domain[1] = this.data.length - 1;
+ }
+ else {
+ const c = this.colNumber(col);
+ const type = this.colType(col);
+ if (this.data === undefined) {
+ console.log('no data');
+ }
+ switch (type) {
+ case Data.type.nominal:
+ this.data.forEach((r) => {
+ const nomDom = domain;
+ if (nomDom.indexOf('' + r[c]) < 0) {
+ nomDom.push('' + r[c]);
+ }
+ });
+ break;
+ default:
+ this.data.forEach((r) => {
+ let v = r[c];
+ if (v !== undefined && v !== null) {
+ domain[0] = (v < domain[0]) ? v : domain[0];
+ domain[1] = (v > domain[1]) ? v : domain[1];
+ }
+ });
+ }
+ }
+ }
+ castData() {
+ this.meta.forEach((c) => {
+ const col = c.column;
+ if (!c.cast) {
+ this.data.forEach((row) => row[col] = this.castVal(c.types[0].type, row[col]));
+ }
+ c.cast = true;
+ });
+ }
+ filter(condition) {
+ return Object(__WEBPACK_IMPORTED_MODULE_0__DataFilters__["a" /* filter */])(this, condition);
+ }
+ sort(sortFn, col) {
+ let fn = sortFn;
+ if (!col) {
+ this.data.sort(fn);
+ }
+ else {
+ col = this.colNumber(col);
+ if (sortFn === 'descending') {
+ fn = (a, b) => (b > a) ? 1 : ((b < a) ? -1 : 0);
+ }
+ if (sortFn === 'ascending') {
+ fn = (a, b) => (b < a) ? 1 : ((b > a) ? -1 : 0);
+ }
+ this.data.sort((r1, r2) => fn(r1[col], r2[col]));
+ }
+ return this;
+ }
+ map(col, mapFn) {
+ const noop = (val) => val;
+ const cumulate = () => {
+ let sum = 0;
+ return (val, i) => { sum += +val; return sum; };
+ };
+ function getFn() {
+ let fn;
+ switch (mapFn) {
+ case 'cumulate':
+ fn = cumulate();
+ break;
+ case 'noop':
+ fn = noop;
+ break;
+ default: fn = mapFn;
+ }
+ return fn;
+ }
+ let result = new Data({ colNames: this.colNames(), rows: this.data.slice(), name: this.getName() });
+ const names = col['length'] ? col : [col];
+ names.map((cn) => {
+ const c = this.colNumber(cn);
+ let fn = getFn();
+ result.data = result.data.map((row, i, rows) => {
+ row[c] = fn(row[c], c, i, rows);
+ return row;
+ });
+ });
+ return result;
+ }
+ getMeta(col) {
+ if (!this.meta) {
+ this.meta = [];
+ }
+ if (!this.meta[col]) {
+ return undefined;
+ }
+ this.meta[col].accessed = true;
+ return this.meta[col];
+ }
+ setData(data, names, autoType = true) {
+ this.meta = [];
+ this.data = data;
+ if (!names) {
+ console.log();
+ }
+ names.forEach((col) => this.colAdd(col));
+ names.forEach((col) => this.findTypes(col));
+ this.castData();
+ }
+ findTypes(col) {
+ const m = this.getMeta(col);
+ const types = [];
+ Object.keys(Data.type).forEach((t) => {
+ const ts = { type: Data.type[t], count: 0 };
+ types.push(ts);
+ types[Data.type[t]] = ts;
+ });
+ for (let v of this.allRows(col)) {
+ const t = this.findType(v);
+ if (t !== null) {
+ types[t].count++;
+ }
+ }
+ types.sort(function (a, b) {
+ if (a.type === 'currency' && a.count > 0) {
+ return -1;
+ }
+ if (b.type === 'currency' && b.count > 0) {
+ return 1;
+ }
+ return b.count - a.count;
+ });
+ m.types = types;
+ return types[0].type;
+ }
+ findType(val) {
+ if (val && val !== '') {
+ if (val instanceof Date) {
+ return Data.type.date;
+ }
+ if (typeof val === 'number') {
+ return Data.type.number;
+ }
+ const strVal = '' + val;
+ if ('' + parseFloat(strVal) === strVal) {
+ return Data.type.number;
+ }
+ if (strVal.startsWith('$') && !isNaN(parseFloat(strVal.slice(1)))) {
+ return Data.type.currency;
+ }
+ if (strVal.endsWith('%') && !isNaN(parseFloat(strVal))) {
+ return Data.type.percent;
+ }
+ if (!isNaN(this.toDate(strVal).getTime())) {
+ return Data.type.date;
+ }
+ if ((/^\$\d{0,2}((,\d\d\d)*)/g).test(val)) {
+ if (!isNaN(parseFloat(val.trim().replace(/[^eE\+\-\.\d]/g, '').replace(/,/g, '')))) {
+ return Data.type.currency;
+ }
+ }
+ switch (strVal.toLowerCase()) {
+ case "null": break;
+ case "#ref!": break;
+ default: if (val.length > 0) {
+ return Data.type.nominal;
+ }
+ }
+ }
+ return null;
+ }
+ *allRows(column) {
+ const c = this.colNumber(column);
+ for (let r = 0; r < this.data.length; r++) {
+ yield this.data[r][c];
+ }
+ }
+ toDate(val, limitYear = 1970) {
+ let d;
+ if (val instanceof Date) {
+ d = val;
+ }
+ else {
+ d = new Date(val);
+ }
+ let yr = d.getFullYear();
+ if (yr < 100) {
+ yr += 1900;
+ d.setFullYear((yr < limitYear) ? yr + 100 : yr);
+ }
+ return d;
+ }
+ castVal(type, val) {
+ switch (type) {
+ case Data.type.date:
+ if (val instanceof Date) {
+ return val;
+ }
+ val = this.toDate(val);
+ if (isNaN(val.getTime())) {
+ val = null;
+ }
+ break;
+ case Data.type.percent:
+ if (typeof val === 'string') {
+ const num = parseFloat(val);
+ val = val.endsWith('%') ? num / 100 : num;
+ }
+ if (isNaN(val)) {
+ val = null;
+ }
+ break;
+ case Data.type.currency:
+ if (typeof val === 'string') {
+ val = val.replace(/[^eE\+\-\.\d]/g, '');
+ }
+ case Data.type.number:
+ if (typeof val === 'string') {
+ val = parseFloat(val);
+ }
+ if (isNaN(val)) {
+ val = null;
+ }
+ break;
+ default: val = '' + val;
+ }
+ return val;
+ }
+}
+/* harmony export (immutable) */ __webpack_exports__["a"] = Data;
+
+Data.type = {
+ number: 'number data',
+ name: 'name data',
+ date: 'date data',
+ currency: 'currency data',
+ percent: 'percent data',
+ nominal: 'nominal data'
+};
+//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRGF0YS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9EYXRhLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUlBLE9BQU8sRUFBYSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUF1Q0UsQ0FBQztBQWtCckQsTUFBTTtJQXFCRixZQUFZLElBQWE7UUEwU2pCLFNBQUksR0FBaUIsRUFBRSxDQUFDO1FBQ3hCLFNBQUksR0FBaUIsRUFBRSxDQUFDO1FBMVM1QixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3RCLENBQUM7SUFWTSxNQUFNLENBQUMsU0FBUyxDQUFDLElBQW1CLEVBQUUsSUFBWTtRQUNyRCxJQUFJLEdBQUcsSUFBSSxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDcEIsTUFBTSxLQUFLLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNuQyxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBSyxFQUFFLEVBQUUsQ0FDNUIsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQVEsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNuQyxPQUFPLEVBQUUsSUFBSSxFQUFDLElBQUksRUFBRSxRQUFRLEVBQUMsS0FBSyxFQUFFLElBQUksRUFBQyxJQUFJLElBQUUsU0FBUyxFQUFFLENBQUM7SUFDL0QsQ0FBQztJQVNNLE9BQU87UUFDVixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUM7SUFDckIsQ0FBQztJQU1NLE1BQU0sQ0FBQyxJQUFZO1FBQ3RCLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQztRQUN0QixJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQzNDLENBQUM7SUFLTSxN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
+
+/***/ }),
+/* 15 */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__Axes__ = __webpack_require__(5);
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_hsutil__ = __webpack_require__(8);
+
+
+function addTickNumber(t, v) {
+ t.labels.push({ pos: v, text: '' + Math.round(v * 1000000) / 1000000 });
+}
+function addTickDate(t, v, fmt) {
+ t.labels.push({ pos: v.getTime(), text: Object(__WEBPACK_IMPORTED_MODULE_1_hsutil__["a" /* date */])(fmt, v) });
+}
+function linScaleTickMarks(dom, ticks, numTicks) {
+ function addTicks(unit, ticks) {
+ let exp = Math.pow(10, Math.floor(Math.log10(unit)));
+ unit = Math.floor(unit / exp) * exp;
+ const min = Math.floor(dom[0] / unit) * unit;
+ const max = Math.ceil(dom[1] / unit) * unit;
+ for (let v = min; v <= max; v += unit) {
+ addTickNumber(ticks, v);
+ }
+ return unit;
+ }
+ const majorUnit = addTicks((dom[1] - dom[0]) / numTicks, ticks.major);
+ addTicks(majorUnit / numTicks, ticks.minor);
+}
+function percentScaleTickMarks(dom, ticks, numTicks) {
+ const formatPercent = (m) => m.text = `${Math.round(m.pos) * 100}%`;
+ linScaleTickMarks(dom, ticks, numTicks);
+ ticks.major.labels.forEach(formatPercent);
+ ticks.minor.labels.forEach(formatPercent);
+}
+function logScaleTickMarks(dom, ticks) {
+ dom[0] = Math.max(dom[0], 1e-20);
+ dom[1] = Math.max(dom[1], 1e-20);
+ let dif = Math.pow(10, Math.floor(Math.log10(dom[1] - dom[0])));
+ let min = Math.pow(10, Math.floor(Math.log10(dom[0])));
+ let max = Math.pow(10, Math.ceil(Math.log10(dom[1])));
+ if (dif > min) {
+ for (let v = min; v <= max; v *= 10) {
+ for (let i = 1; i <= 20; i++) {
+ if (i === 1 && v * i < max) {
+ addTickNumber(ticks.major, v * i);
+ }
+ else if (i % 10 === 0) { }
+ else if (i < 10) {
+ addTickNumber(ticks.minor, v * i);
+ }
+ else if (i % 2 === 0) {
+ addTickNumber(ticks.minor, v * i);
+ }
+ }
+ }
+ }
+ else {
+ min = Math.floor(dom[0] / dif) * dif;
+ max = Math.ceil(dom[1] / dif) * dif;
+ if ((max - min) / dif < 4) {
+ dif /= 2;
+ }
+ for (let v = min; v <= max; v += dif) {
+ addTickNumber(ticks.major, v);
+ }
+ addTickNumber(ticks.major, min);
+ addTickNumber(ticks.major, max);
+ }
+}
+const tickCategories = [
+ [10, 0, 0, 0], [5, 0, 0, 0], [2, 0, 0, 0], [1, 0, 0, 0], [0, 6, 0, 0], [0, 3, 0, 0], [0, 1, 0, 0], [0, 0, 7, 0], [0, 0, 1, 0], [0, 0, 0, 4], [0, 0, 0, 1]
+];
+function dateScaleTickMarks(dom, ticks, fmt = '%MM/%DD/%YY') {
+ function addDates(i, tickDefs) {
+ const createDate = (idx) => new Date(Math.floor(dateDom[idx].getFullYear() / modYr) * modYr + (idx ? incYr : 0), (incYr > 0) ? 0 : Math.floor(dateDom[idx].getMonth() / modMo) * modMo + (idx ? incMo : 0), (incMo > 0) ? 1 : (dateDom[idx].getDate() - ((incDay === 7) ? dateDom[idx].getDay() : 0)) + (idx ? incDay : 0), (incDay > 0) ? 0 : (dateDom[idx].getHours()) + (idx ? incHour : 0));
+ const incYr = tickCategories[i][0];
+ const incMo = tickCategories[i][1];
+ const incDay = tickCategories[i][2];
+ const incHour = tickCategories[i][3];
+ const modYr = incYr || 1;
+ const modMo = incMo || 1;
+ const date0 = createDate(0);
+ const date1 = createDate(1);
+ fmt = incHour ? '%hh:%mm' : '%MM/%DD/%YY';
+ for (let d = date0; d <= date1; d = new Date(d.getFullYear() + incYr, d.getMonth() + incMo, d.getDate() + incDay, d.getHours() + incHour)) {
+ addTickDate(tickDefs, d, fmt);
+ }
+ }
+ const dateDom = [
+ (typeof dom[0] === 'number') ? new Date(dom[0]) : dom[0],
+ (typeof dom[1] === 'number') ? new Date(dom[1]) : dom[1]
+ ];
+ if (isNaN(dateDom[0].getTime())) {
+ dateDom[0] = new Date('1/1/1980');
+ }
+ if (isNaN(dateDom[1].getTime())) {
+ dateDom[0] = new Date();
+ }
+ const d = dateDom[1].getTime() - dateDom[0].getTime();
+ tickCategories.some((cat, i) => {
+ const dMin = __WEBPACK_IMPORTED_MODULE_1_hsutil__["c" /* ms */].fromDays((cat[0] * 365 + cat[1] * 30 + cat[2])) + __WEBPACK_IMPORTED_MODULE_1_hsutil__["c" /* ms */].fromHours(cat[3]);
+ if (d > 3 * dMin) {
+ addDates(i, ticks.major);
+ addDates(Math.min(i + 1, tickCategories.length - 1), ticks.minor);
+ return true;
+ }
+ else {
+ return false;
+ }
+ });
+}
+function createTickLabels(type, domain, numTicks, fmt) {
+ const sort = (a, b) => a.pos - b.pos;
+ function sortTicks() {
+ ticks.minor.labels.sort(sort);
+ ticks.major.labels.sort(sort);
+ }
+ ;
+ const dom = [domain[0], domain[1]];
+ const ticks = {
+ major: { marks: [], labels: [] },
+ minor: { marks: [], labels: [] }
+ };
+ switch (type) {
+ case __WEBPACK_IMPORTED_MODULE_0__Axes__["a" /* Axes */].type.log:
+ logScaleTickMarks(dom, ticks);
+ sortTicks();
+ break;
+ case __WEBPACK_IMPORTED_MODULE_0__Axes__["a" /* Axes */].type.date:
+ dateScaleTickMarks(dom, ticks, fmt);
+ sortTicks();
+ break;
+ case __WEBPACK_IMPORTED_MODULE_0__Axes__["a" /* Axes */].type.percent:
+ percentScaleTickMarks(dom, ticks, numTicks);
+ sortTicks();
+ break;
+ case __WEBPACK_IMPORTED_MODULE_0__Axes__["a" /* Axes */].type.ordinal: break;
+ case __WEBPACK_IMPORTED_MODULE_0__Axes__["a" /* Axes */].type.nominal: break;
+ case __WEBPACK_IMPORTED_MODULE_0__Axes__["a" /* Axes */].type.index:
+ case __WEBPACK_IMPORTED_MODULE_0__Axes__["a" /* Axes */].type.linear:
+ default:
+ linScaleTickMarks(dom, ticks, numTicks);
+ sortTicks();
+ }
+ return ticks;
+}
+class Scale {
+ constructor(cfg) {
+ this.cfg = cfg;
+ this.typeVal = __WEBPACK_IMPORTED_MODULE_0__Axes__["a" /* Axes */].type.linear;
+ this.rangeVal = [0, 1];
+ this.domVal = [0, 1];
+ this.domMinAuto = 0;
+ this.domMaxAuto = 0;
+ this.scaleType(cfg.type);
+ this.domain(cfg.domain);
+ }
+ setLabelFormat(labelFmt) {
+ this.labelFmt = labelFmt;
+ }
+ range(r) {
+ if (r) {
+ this.rangeVal = r;
+ }
+ return this.rangeVal;
+ }
+ domain(dom) {
+ if (dom) {
+ if (this.scaleType() === __WEBPACK_IMPORTED_MODULE_0__Axes__["a" /* Axes */].type.date) {
+ if (typeof dom[0] === 'string' || typeof dom[1] === 'string') {
+ this.domVal[0] = (dom[0] === 'auto') ? 0 : Date.parse(dom[0]);
+ this.domVal[1] = (dom[1] === 'auto') ? 1 : Date.parse(dom[1]);
+ }
+ }
+ else {
+ this.domVal[0] = (dom[0] === 'auto') ? 0 : dom[0];
+ this.domVal[1] = (dom[1] === 'auto') ? 1 : dom[1];
+ }
+ switch (dom[0]) {
+ case 'tight':
+ this.domMinAuto = 2;
+ break;
+ case 'auto':
+ this.domMinAuto = 1;
+ break;
+ default: this.domMinAuto = 0;
+ }
+ switch (dom[1]) {
+ case 'tight':
+ this.domMaxAuto = 2;
+ break;
+ case 'auto':
+ this.domMaxAuto = 1;
+ break;
+ default: this.domMaxAuto = 0;
+ }
+ }
+ if (this.typeVal === __WEBPACK_IMPORTED_MODULE_0__Axes__["a" /* Axes */].type.log) {
+ if (this.domVal[1] <= 0) {
+ this.domVal[1] = 10;
+ }
+ if (this.domVal[0] <= 0) {
+ this.domVal[0] = this.domVal[1] / 10;
+ }
+ }
+ return this.domVal;
+ }
+ scaleType(s) {
+ if (s) {
+ this.typeVal = s;
+ }
+ return this.typeVal;
+ }
+ setAutoDomain(dom) {
+ const ticks = createTickLabels(this.scaleType(), dom, 4, this.labelFmt);
+ switch (this.domMinAuto) {
+ case 1:
+ this.domVal[0] = ticks.major.labels[0] ? ticks.major.labels[0].pos : dom[0];
+ break;
+ case 2:
+ this.domVal[0] = dom[0];
+ break;
+ }
+ switch (this.domMaxAuto) {
+ case 1:
+ this.domVal[1] = ticks.major.labels[ticks.major.labels.length - 1].pos;
+ break;
+ case 2:
+ this.domVal[1] = dom[1];
+ break;
+ }
+ }
+ ticks(numTicks = 4) {
+ function marksFromLabels(ticks, type) {
+ switch (type) {
+ case __WEBPACK_IMPORTED_MODULE_0__Axes__["a" /* Axes */].type.nominal:
+ case __WEBPACK_IMPORTED_MODULE_0__Axes__["a" /* Axes */].type.index:
+ const numLabels = ticks.major.labels.length;
+ ticks.major.marks = Array(numLabels + 1).fill(1).map((e, i) => i - 0.5);
+ ticks.minor.marks = ticks.minor.labels ? ticks.minor.labels.map((l) => l.pos) : [];
+ break;
+ case __WEBPACK_IMPORTED_MODULE_0__Axes__["a" /* Axes */].type.log:
+ case __WEBPACK_IMPORTED_MODULE_0__Axes__["a" /* Axes */].type.date:
+ case __WEBPACK_IMPORTED_MODULE_0__Axes__["a" /* Axes */].type.percent:
+ case __WEBPACK_IMPORTED_MODULE_0__Axes__["a" /* Axes */].type.ordinal:
+ case __WEBPACK_IMPORTED_MODULE_0__Axes__["a" /* Axes */].type.linear:
+ default:
+ ticks.major.marks = ticks.major.labels ? ticks.major.labels.map((l) => l.pos) : [];
+ ticks.minor.marks = ticks.minor.labels ? ticks.minor.labels.map((l) => l.pos) : [];
+ }
+ }
+ const dom = [this.domain()[0], this.domain()[1]];
+ const inRange = (t) => t.pos >= dom[0] && t.pos <= dom[1];
+ const ticks = createTickLabels(this.scaleType(), this.domain(), numTicks, this.labelFmt);
+ ticks.minor.labels = ticks.minor.labels.filter(inRange);
+ ticks.major.labels = ticks.major.labels.filter(inRange);
+ if (ticks.major.labels.length === 0) {
+ ticks.major.labels = ticks.minor.labels;
+ ticks.minor.labels = [];
+ }
+ marksFromLabels(ticks, this.scaleType());
+ return ticks;
+ }
+ convert(domVal) {
+ const dom = this.domain();
+ const range = this.range();
+ const domMin = dom[0];
+ const domMax = dom[1];
+ let result;
+ switch (this.scaleType()) {
+ case __WEBPACK_IMPORTED_MODULE_0__Axes__["a" /* Axes */].type.log:
+ result = Math.log(domVal / domMin) / Math.log(domMax / domMin) * (range[1] - range[0]) + range[0];
+ break;
+ case __WEBPACK_IMPORTED_MODULE_0__Axes__["a" /* Axes */].type.nominal: break;
+ case __WEBPACK_IMPORTED_MODULE_0__Axes__["a" /* Axes */].type.date:
+ case __WEBPACK_IMPORTED_MODULE_0__Axes__["a" /* Axes */].type.percent:
+ case __WEBPACK_IMPORTED_MODULE_0__Axes__["a" /* Axes */].type.index:
+ case __WEBPACK_IMPORTED_MODULE_0__Axes__["a" /* Axes */].type.ordinal:
+ case __WEBPACK_IMPORTED_MODULE_0__Axes__["a" /* Axes */].type.linear:
+ default:
+ result = (domVal - domMin) / (domMax - domMin) * (range[1] - range[0]) + range[0];
+ }
+ return result;
+ }
+}
+/* harmony export (immutable) */ __webpack_exports__["a"] = Scale;
+
+//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2NhbGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvU2NhbGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBT0EsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFjLFFBQVEsQ0FBQztBQUN0QyxPQUFPLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRSxNQUFVLFFBQVEsQ0FBQztBQU90Qyx1QkFBdUIsQ0FBVSxFQUFFLENBQVE7SUFDdkMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxHQUFHLEVBQUUsQ0FBQyxFQUFFLElBQUksRUFBRSxFQUFFLEdBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLEdBQUMsT0FBTyxDQUFDLEdBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQztBQUN0RSxDQUFDO0FBRUQscUJBQXFCLENBQVUsRUFBRSxDQUFNLEVBQUUsR0FBVTtJQUMvQyxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUUsSUFBSSxFQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0FBQzNELENBQUM7QUFJRCwyQkFBMkIsR0FBWSxFQUFFLEtBQVcsRUFBRSxRQUFlO0lBQ2pFLGtCQUFrQixJQUFXLEVBQUUsS0FBYztRQUN6QyxJQUFJLEdBQUcsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3JELElBQUksR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksR0FBRyxHQUFHLENBQUMsR0FBQyxHQUFHLENBQUM7UUFDbEMsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUMsSUFBSSxDQUFDLEdBQUMsSUFBSSxDQUFDO1FBQ3pDLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFDLElBQUksQ0FBQyxHQUFDLElBQUksQ0FBQztRQUN4QyxLQUFLLElBQUksQ0FBQyxHQUFDLEdBQUcsRUFBRSxDQUFDLElBQUUsR0FBRyxFQUFFLENBQUMsSUFBRSxJQUFJLEVBQUU7WUFBRSxhQUFhLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDO1NBQUU7UUFDN0QsT0FBTyxJQUFJLENBQUM7SUFDaEIsQ0FBQztJQUNELE1BQU0sU0FBUyxHQUFHLFFBQVEsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxRQUFRLEVBQUUsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3RFLFFBQVEsQ0FBQyxTQUFTLEdBQUcsUUFBUSxFQUFFLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztBQUNoRCxDQUFDO0FBRUQsK0JBQStCLEdBQVksRUFBRSxLQUFXLEVBQUUsUUFBZTtJQUNyRSxNQUFNLGFBQWEsR0FBRyxDQUFDLENBQVcsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksR0FBRyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFDLEdBQUcsR0FBRyxDQUFDO0lBQzVFLGlCQUFpQixDQUFDLEdBQUcsRUFBRSxLQUFLLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDeEMsS0FBSyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQzFDLEtBQUssQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsQ0FBQztBQUU5QyxDQUFDO0FBRUQsMkJBQTJCLEdBQVksRUFBRSxLQUFXO0lBQ2hELEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUNqQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDakMsSUFBSSxHQUFHLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDaEUsSUFBSSxHQUFHLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUN2RCxJQUFJLEdBQUcsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3RELElBQUksR0FBRyxHQUFHLEdBQUcsRUFBRTtRQUNYLEtBQUssSUFBSSxDQUFDLEdBQUcsR0FBRyxFQUFFLENBQUMsSUFBRSxHQUFHLEVBQUUsQ0FBQyxJQUFFLEVBQUUsRUFBRTtZQUM3QixLQUFLLElBQUksQ0FBQyxHQUFDLENBQUMsRUFBRSxDQUFDLElBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxFQUFFO2dCQUN0QixJQUFJLENBQUMsS0FBRyxDQUFDLElBQUksQ0FBQyxHQUFDLENBQUMsR0FBQyxHQUFHLEVBQUU7b0JBQUUsYUFBYSxDQUFDLEtBQUssQ0FBQyxLQUFLLEVBQUUsQ0FBQyxHQUFDLENBQUMsQ0FBQyxDQUFDO2lCQUFFO3FCQUNyRCxJQUFJLENBQUMsR0FBQyxFQUFFLEtBQUcsQ0FBQyxFQUFFLEdBQUU7cUJBQ2hCLElBQUksQ0FBQyxHQUFDLEVBQUUs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
+
+/***/ }),
+/* 16 */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_hslayout__ = __webpack_require__(0);
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__SVGElem__ = __webpack_require__(1);
+
+
+class Grid extends __WEBPACK_IMPORTED_MODULE_1__SVGElem__["a" /* SVGElem */] {
+ static defaultConfig(cfg) {
+ cfg.grid = {
+ major: {
+ hor: { visible: true },
+ ver: { visible: true }
+ },
+ minor: {
+ hor: { visible: false },
+ ver: { visible: false }
+ }
+ };
+ }
+ static adjustConfig(cfg) {
+ }
+ drawHorGrid(cfg, scale, range, ticks) {
+ return !cfg.visible ? Object(__WEBPACK_IMPORTED_MODULE_0_hslayout__["m"])('svg') : Object(__WEBPACK_IMPORTED_MODULE_0_hslayout__["m"])('svg', { class: 'hs-graph-grid-hor' }, ticks.marks.map((t) => this.horLine(range[0], range[1], scale.convert(t))));
+ }
+ drawVerGrid(cfg, scale, range, ticks) {
+ return !cfg.visible ? Object(__WEBPACK_IMPORTED_MODULE_0_hslayout__["m"])('svg') : Object(__WEBPACK_IMPORTED_MODULE_0_hslayout__["m"])('svg', { class: 'hs-graph-grid-ver' }, ticks.marks.map((t) => this.verLine(scale.convert(t), range[0], range[1])));
+ }
+ view(node) {
+ const cfg = node.attrs.cfg;
+ const scales = node.attrs.scales;
+ const ps = scales.primary;
+ return Object(__WEBPACK_IMPORTED_MODULE_0_hslayout__["m"])('svg', { class: 'hs-graph-grid' }, [
+ Object(__WEBPACK_IMPORTED_MODULE_0_hslayout__["m"])('svg', { class: 'hs-graph-grid-minor' }, [
+ this.drawHorGrid(cfg.minor.hor, ps.y, ps.x.range(), ps.y.ticks().minor),
+ this.drawVerGrid(cfg.minor.ver, ps.x, ps.y.range(), ps.x.ticks().minor)
+ ]),
+ Object(__WEBPACK_IMPORTED_MODULE_0_hslayout__["m"])('svg', { class: 'hs-graph-grid-major' }, [
+ this.drawHorGrid(cfg.major.hor, ps.y, ps.x.range(), ps.y.ticks().major),
+ this.drawVerGrid(cfg.major.ver, ps.x, ps.y.range(), ps.x.ticks().major)
+ ])
+ ]);
+ }
+}
+/* harmony export (immutable) */ __webpack_exports__["a"] = Grid;
+
+//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiR3JpZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9HcmlkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQWlCQSxPQUFPLEVBQUUsQ0FBQyxFQUFRLE1BQVcsVUFBVSxDQUFDO0FBR3hDLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBVyxXQUFXLENBQUM7QUF5QnpDLE1BQU0sV0FBWSxTQUFRLE9BQU87SUFxQjdCLE1BQU0sQ0FBQyxhQUFhLENBQUMsR0FBVTtRQUMzQixHQUFHLENBQUMsSUFBSSxHQUFnQjtZQUNwQixLQUFLLEVBQUU7Z0JBQ0gsR0FBRyxFQUFFLEVBQUUsT0FBTyxFQUFDLElBQUksRUFBRTtnQkFDckIsR0FBRyxFQUFFLEVBQUUsT0FBTyxFQUFDLElBQUksRUFBRTthQUN4QjtZQUNELEtBQUssRUFBRTtnQkFDSCxHQUFHLEVBQUUsRUFBRSxPQUFPLEVBQUMsS0FBSyxFQUFFO2dCQUN0QixHQUFHLEVBQUUsRUFBRSxPQUFPLEVBQUMsS0FBSyxFQUFFO2FBQ3pCO1NBQ0osQ0FBQztJQUNOLENBQUM7SUFNRCxNQUFNLENBQUMsWUFBWSxDQUFDLEdBQVU7SUFDOUIsQ0FBQztJQUtPLFdBQVcsQ0FBQyxHQUFxQixFQUFFLEtBQVcsRUFBRSxLQUFjLEVBQUUsS0FBYztRQUNsRixPQUFPLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsS0FBSyxFQUFDLG1CQUFtQixFQUFFLEVBQUUsS0FBSyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUMxRixJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUNyRCxDQUFDLENBQUM7SUFDUCxDQUFDO0lBS08sV0FBVyxDQUFDLEdBQXFCLEVBQUUsS0FBVyxFQUFFLEtBQWMsRUFBRSxLQUFjO1FBQ2xGLE9BQU8sQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFBLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxLQUFLLEVBQUMsbUJBQW1CLEVBQUUsRUFBRSxLQUFLLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQzFGLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQ3JELENBQUMsQ0FBQztJQUNQLENBQUM7SUFHRCxJQUFJLENBQUMsSUFBWTtRQUNiLE1BQU0sR0FBRyxHQUFlLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDO1FBQ3ZDLE1BQU0sTUFBTSxHQUFVLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDO1FBQ3hDLE1BQU0sRUFBRSxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUM7UUFDMUIsT0FBTyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsS0FBSyxFQUFDLGVBQWUsRUFBQyxFQUFFO1lBQ3RDLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxLQUFLLEVBQUMscUJBQXFCLEVBQUUsRUFBRTtnQkFDdEMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxLQUFLLENBQUM7Z0JBQ3ZFLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUMsS0FBSyxDQUFDO2FBQzFFLENBQUM7WUFDRixDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsS0FBSyxFQUFDLHFCQUFxQixFQUFFLEVBQUU7Z0JBQ3RDLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUMsS0FBSyxDQUFDO2dCQUN2RSxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDLEtBQUssQ0FBQzthQUMxRSxDQUFDO1NBQ0wsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztDQUNKIn0=
+
+/***/ }),
+/* 17 */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_hslayout__ = __webpack_require__(0);
+
+;
+class Legend {
+ static defaultConfig(cfg) {
+ cfg.legend = {};
+ }
+ static adjustConfig(cfg) {
+ }
+ view(node) {
+ return Object(__WEBPACK_IMPORTED_MODULE_0_hslayout__["m"])('svg', { class: 'hs-graph-legend', width: '100%', height: '100%' });
+ }
+}
+/* harmony export (immutable) */ __webpack_exports__["a"] = Legend;
+
+//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTGVnZW5kLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL0xlZ2VuZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFnQkEsT0FBTyxFQUFFLENBQUMsRUFBUSxNQUFPLFVBQVUsQ0FBQztBQU9uQyxDQUFDO0FBRUYsTUFBTTtJQWFGLE1BQU0sQ0FBQyxhQUFhLENBQUMsR0FBVTtRQUMzQixHQUFHLENBQUMsTUFBTSxHQUFpQixFQUMxQixDQUFDO0lBQ04sQ0FBQztJQU1ELE1BQU0sQ0FBQyxZQUFZLENBQUMsR0FBVTtJQUU5QixDQUFDO0lBRUQsSUFBSSxDQUFDLElBQVk7UUFDYixPQUFPLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxLQUFLLEVBQUMsaUJBQWlCLEVBQUUsS0FBSyxFQUFDLE1BQU0sRUFBRSxNQUFNLEVBQUMsTUFBTSxFQUFDLENBQUMsQ0FBQztJQUM3RSxDQUFDO0NBQ0oifQ==
+
+/***/ }),
+/* 18 */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0____ = __webpack_require__(19);
+
+if (__WEBPACK_IMPORTED_MODULE_0____["a" /* Graph */]) { }
+//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhcnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZXhhbXBsZS9zdGFydC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sS0FBSyxDQUFDO0FBQzVCLElBQUksS0FBSyxFQUFFLEdBQUUifQ==
+
+/***/ }),
+/* 19 */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__Graph__ = __webpack_require__(20);
+/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return __WEBPACK_IMPORTED_MODULE_0__Graph__["a"]; });
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__Series__ = __webpack_require__(9);
+/* unused harmony reexport Series */
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__Axes__ = __webpack_require__(5);
+/* unused harmony reexport Axes */
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__Scale__ = __webpack_require__(15);
+/* unused harmony reexport Scale */
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__Grid__ = __webpack_require__(16);
+/* unused harmony reexport Grid */
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__Legend__ = __webpack_require__(17);
+/* unused harmony reexport Legend */
+
+
+
+
+
+
+//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFTLFNBQVMsQ0FBQztBQUNuQyxPQUFPLEVBQUUsTUFBTSxFQUVMLE1BQWUsVUFBVSxDQUFDO0FBQ3BDLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBVSxRQUFRLENBQUM7QUFDbEMsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFTLFNBQVMsQ0FBQztBQUNuQyxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQVUsUUFBUSxDQUFDO0FBQ2xDLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBUSxVQUFVLENBQUMifQ==
+
+/***/ }),
+/* 20 */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_hslayout__ = __webpack_require__(0);
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_hsdata__ = __webpack_require__(37);
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__Axes__ = __webpack_require__(5);
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__Scale__ = __webpack_require__(15);
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__Canvas__ = __webpack_require__(46);
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__Series__ = __webpack_require__(9);
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__Chart__ = __webpack_require__(51);
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__Grid__ = __webpack_require__(16);
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__Legend__ = __webpack_require__(17);
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__SVGElem__ = __webpack_require__(1);
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10_hsutil__ = __webpack_require__(8);
+
+
+
+
+
+
+
+
+
+
+
+const viewBoxWidth = 1000;
+let viewBoxHeight = 700;
+function copy(def) {
+ let result = {};
+ Object.keys(def).map((k) => {
+ if (typeof def[k] === 'object' && !Array.isArray(def[k]) && def[k] !== null) {
+ result[k] = copy(def[k]);
+ }
+ else {
+ result[k] = def[k];
+ }
+ });
+ return result;
+}
+class Graph extends __WEBPACK_IMPORTED_MODULE_9__SVGElem__["a" /* SVGElem */] {
+ constructor() {
+ super(...arguments);
+ this.marginOffset = {
+ left: 0,
+ right: 0,
+ top: 0,
+ bottom: 0
+ };
+ }
+ static makeConfig(userCfg) {
+ const cfg = {};
+ Graph.defaultConfig(cfg);
+ __WEBPACK_IMPORTED_MODULE_4__Canvas__["a" /* Canvas */].defaultConfig(cfg);
+ __WEBPACK_IMPORTED_MODULE_2__Axes__["a" /* Axes */].defaultConfig(cfg);
+ __WEBPACK_IMPORTED_MODULE_5__Series__["a" /* Series */].defaultConfig(cfg);
+ __WEBPACK_IMPORTED_MODULE_7__Grid__["a" /* Grid */].defaultConfig(cfg);
+ __WEBPACK_IMPORTED_MODULE_6__Chart__["a" /* Chart */].defaultConfig(cfg);
+ __WEBPACK_IMPORTED_MODULE_8__Legend__["a" /* Legend */].defaultConfig(cfg);
+ if (userCfg) {
+ try {
+ userCfg(cfg);
+ }
+ catch (e) {
+ console.log('error in usercfg');
+ console.log(e);
+ console.log(e.stack);
+ }
+ }
+ return cfg;
+ }
+ static defaultConfig(cfg) {
+ cfg.graph = {
+ margin: {
+ top: 10,
+ left: 10,
+ bottom: 10,
+ right: 10
+ },
+ timeCond: {}
+ };
+ }
+ static adjustConfig(cfg) {
+ __WEBPACK_IMPORTED_MODULE_4__Canvas__["a" /* Canvas */].adjustConfig(cfg);
+ __WEBPACK_IMPORTED_MODULE_2__Axes__["a" /* Axes */].adjustConfig(cfg);
+ __WEBPACK_IMPORTED_MODULE_5__Series__["a" /* Series */].adjustConfig(cfg);
+ __WEBPACK_IMPORTED_MODULE_7__Grid__["a" /* Grid */].adjustConfig(cfg);
+ __WEBPACK_IMPORTED_MODULE_6__Chart__["a" /* Chart */].adjustConfig(cfg);
+ __WEBPACK_IMPORTED_MODULE_8__Legend__["a" /* Legend */].adjustConfig(cfg);
+ }
+ createPlotArea(cfgm) {
+ const tl = {
+ x: cfgm.left + this.marginOffset.left,
+ y: cfgm.top + this.marginOffset.top
+ };
+ const br = {
+ x: viewBoxWidth - cfgm.right - this.marginOffset.right,
+ y: viewBoxHeight - cfgm.bottom - this.marginOffset.bottom
+ };
+ return { tl: tl, br: br };
+ }
+ createData(cfg) {
+ if (!cfg.series.data) {
+ console.log('cfg.series.data not set');
+ }
+ if (!(cfg.series.data.length > 0)) {
+ console.log('cfg.series.data not initialised with array of DataSets');
+ }
+ const timeCond = cfg.graph.timeCond;
+ return cfg.series.data.map((d) => ((d instanceof __WEBPACK_IMPORTED_MODULE_1_hsdata__["a" /* Data */]) ? d : new __WEBPACK_IMPORTED_MODULE_1_hsdata__["a" /* Data */](d)).filter(timeCond));
+ }
+ createScales(axes) {
+ if (!this.scales) {
+ this.scales = {
+ primary: { x: new __WEBPACK_IMPORTED_MODULE_3__Scale__["a" /* Scale */](axes.primary.x.scale), y: new __WEBPACK_IMPORTED_MODULE_3__Scale__["a" /* Scale */](axes.primary.y.scale) },
+ secondary: { x: new __WEBPACK_IMPORTED_MODULE_3__Scale__["a" /* Scale */](axes.secondary.x.scale), y: new __WEBPACK_IMPORTED_MODULE_3__Scale__["a" /* Scale */](axes.secondary.y.scale) }
+ };
+ }
+ return this.scales;
+ }
+ adjustRange(plotArea, scales) {
+ scales.primary.x.range([plotArea.tl.x, plotArea.br.x]);
+ scales.primary.y.range([plotArea.br.y, plotArea.tl.y]);
+ scales.secondary.x.range([plotArea.tl.x, plotArea.br.x]);
+ scales.secondary.y.range([plotArea.br.y, plotArea.tl.y]);
+ }
+ adjustHeight(node) {
+ if (node.dom && node.dom.parentElement) {
+ const p = node.dom.parentElement;
+ const temp = viewBoxWidth * p.clientHeight / p.clientWidth;
+ if (!isNaN(temp) && temp !== viewBoxHeight) {
+ viewBoxHeight = temp;
+ }
+ }
+ }
+ adjustMargins(cfg) {
+ const cfgm = cfg.graph.margin;
+ function getBBox(css) {
+ const elems = document.getElementsByClassName(css);
+ const box = Array.prototype.map.call(elems, (e) => e.getBBox());
+ if (box && box[0]) {
+ margin.t = Math.max(margin.t, cfgm.top - box[0].y);
+ margin.l = Math.max(margin.l, cfgm.left - box[0].x);
+ margin.b = Math.max(margin.b, box[0].y + box[0].height + cfgm.bottom - viewBoxHeight);
+ margin.r = Math.max(margin.r, box[0].x + box[0].width + cfgm.right - viewBoxWidth);
+ }
+ margin.t = Math.min(margin.t, 40);
+ margin.b = 30;
+ margin.l = 40;
+ }
+ const margin = { t: -1e6, l: -1e6, b: -1e6, r: -1e6 };
+ getBBox('hs-graph-axis');
+ getBBox('hs-graph-chart');
+ this.marginOffset.top += Math.max(margin.t);
+ this.marginOffset.left += Math.max(margin.l);
+ this.marginOffset.bottom += Math.max(margin.b);
+ this.marginOffset.right += Math.max(margin.r);
+ }
+ onupdate(node) {
+ this.adjustHeight(node);
+ }
+ oncreate(node) {
+ window.addEventListener("resize", function () { __WEBPACK_IMPORTED_MODULE_0_hslayout__["m"].redraw(); });
+ this.adjustHeight(node);
+ Promise.resolve(node.attrs.cfg)
+ .then(Object(__WEBPACK_IMPORTED_MODULE_10_hsutil__["b" /* delay */])(10))
+ .then(this.adjustMargins.bind(this))
+ .then(__WEBPACK_IMPORTED_MODULE_0_hslayout__["m"].redraw);
+ }
+ adjustDomains(cfg, scales, data) {
+ const domains = [[1e20, -1e20], [1e20, -1e20]];
+ cfg.series.map((s) => {
+ if (s.x) {
+ data[s.dataIndex].findDomain(s.x, domains[0]);
+ }
+ else {
+ domains[0][0] = 0;
+ domains[0][1] = data[s.dataIndex].export().rows.length - 1;
+ }
+ if (s.y) {
+ data[s.dataIndex].findDomain(s.y, domains[1]);
+ }
+ if (s.yBase) {
+ data[s.dataIndex].findDomain(s.yBase, domains[1]);
+ }
+ });
+ scales.primary.x.setAutoDomain(domains[0]);
+ scales.primary.y.setAutoDomain(domains[1]);
+ }
+ view(node) {
+ const cfgFn = node.attrs.cfgFn;
+ const cfg = Graph.makeConfig(cfgFn);
+ const plotArea = this.createPlotArea(cfg.graph.margin);
+ const scales = this.createScales(cfg.axes);
+ this.adjustRange(plotArea, scales);
+ const data = this.createData(cfg);
+ this.adjustDomains(cfg.series, scales, data);
+ Graph.adjustConfig(cfg);
+ node.attrs.cfg = cfg;
+ return Object(__WEBPACK_IMPORTED_MODULE_0_hslayout__["m"])('svg', { class: 'hs-graph', width: '100%', height: '100%',
+ viewBox: `0 0 ${Object(__WEBPACK_IMPORTED_MODULE_9__SVGElem__["d" /* round */])(viewBoxWidth)} ${Object(__WEBPACK_IMPORTED_MODULE_9__SVGElem__["d" /* round */])(viewBoxHeight)}` }, [
+ Object(__WEBPACK_IMPORTED_MODULE_0_hslayout__["m"])(__WEBPACK_IMPORTED_MODULE_4__Canvas__["a" /* Canvas */], { cfg: cfg.canvas }),
+ Object(__WEBPACK_IMPORTED_MODULE_0_hslayout__["m"])(__WEBPACK_IMPORTED_MODULE_6__Chart__["a" /* Chart */], { cfg: cfg.chart, plotArea: plotArea }),
+ Object(__WEBPACK_IMPORTED_MODULE_0_hslayout__["m"])(__WEBPACK_IMPORTED_MODULE_7__Grid__["a" /* Grid */], { cfg: cfg.grid, scales: scales }),
+ Object(__WEBPACK_IMPORTED_MODULE_0_hslayout__["m"])(__WEBPACK_IMPORTED_MODULE_2__Axes__["a" /* Axes */], { cfg: cfg.axes, scales: scales }),
+ Object(__WEBPACK_IMPORTED_MODULE_0_hslayout__["m"])(__WEBPACK_IMPORTED_MODULE_5__Series__["a" /* Series */], { cfg: cfg.series, scales: scales, data: data }),
+ Object(__WEBPACK_IMPORTED_MODULE_0_hslayout__["m"])(__WEBPACK_IMPORTED_MODULE_8__Legend__["a" /* Legend */], { cfg: cfg.legend })
+ ]);
+ }
+}
+/* harmony export (immutable) */ __webpack_exports__["a"] = Graph;
+
+//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiR3JhcGguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvR3JhcGgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBaUVBLE9BQU8sRUFBRSxDQUFDLEVBQVEsTUFBVyxVQUFVLENBQUM7QUFDeEMsT0FBTyxFQUFFLElBQUksRUFFTyxNQUFTLFFBQVEsQ0FBQztBQUN0QyxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQWMsUUFBUSxDQUFDO0FBR3RDLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBYSxTQUFTLENBQUM7QUFDdkMsT0FBTyxFQUFFLE1BQU0sRUFDUSxNQUFNLFVBQVUsQ0FBQztBQUN4QyxPQUFPLEVBQUUsTUFBTSxFQUVRLE1BQU0sVUFBVSxDQUFDO0FBQ3hDLE9BQU8sRUFBRSxLQUFLLEVBQ1EsTUFBTyxTQUFTLENBQUM7QUFDdkMsT0FBTyxFQUFFLElBQUksRUFDUyxNQUFPLFFBQVEsQ0FBQztBQUN0QyxPQUFPLEVBQUUsTUFBTSxFQUNRLE1BQU0sVUFBVSxDQUFDO0FBQ3hDLE9BQU8sRUFBRSxPQUFPLEVBR1AsS0FBSyxFQUFFLE1BQWEsV0FBVyxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBYSxRQUFRLENBQUM7QUFFdEMsTUFBTSxZQUFZLEdBQVcsSUFBSSxDQUFDO0FBQ2xDLElBQU0sYUFBYSxHQUFVLEdBQUcsQ0FBQztBQWlEakMsY0FBYyxHQUFPO0lBQ2pCLElBQUksTUFBTSxHQUFPLEVBQUUsQ0FBQztJQUNwQixNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQVEsRUFBRSxFQUFFO1FBQzlCLElBQUksT0FBTyxHQUFHLENBQUMsQ0FBQyxDQUFDLEtBQUssUUFBUSxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQyxDQUFDLEtBQUcsSUFBSSxFQUFFO1lBQ3ZFLE1BQU0sQ0FBQyxD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
+
+/***/ }),
+/* 21 */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__Layouter__ = __webpack_require__(3);
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__Tokens__ = __webpack_require__(4);
+
+
+const PillarLayouts = [
+ 'columns', 'rows'
+];
+/* harmony export (immutable) */ __webpack_exports__["PillarLayouts"] = PillarLayouts;
+
+const cParams = {
+ columns: {
+ cssClass: '.hs-column-layout',
+ fields: ['top', 'bottom', 'left', 'right', 'height', 'width']
+ },
+ rows: {
+ cssClass: '.hs-row-layout',
+ fields: ['left', 'right', 'top', 'bottom', 'width', 'height']
+ }
+};
+class PillarLayouter extends __WEBPACK_IMPORTED_MODULE_0__Layouter__["a" /* Layouter */] {
+ constructor(params, areaDesc) {
+ super(areaDesc);
+ this.areaDesc = areaDesc;
+ this.fields = params.fields;
+ this.cssClass = params.cssClass;
+ let n = areaDesc.length - 1;
+ let first = 0;
+ let last = 0;
+ this.unit = areaDesc.some((area) => (area instanceof __WEBPACK_IMPORTED_MODULE_1__Tokens__["e" /* PixelToken */])) ?
+ this.unitPixel : this.unitPercent;
+ areaDesc.some((area, i) => ((areaDesc[i] instanceof __WEBPACK_IMPORTED_MODULE_1__Tokens__["a" /* DefinedToken */]) ? ++first < 0 : true));
+ areaDesc.some((area, i) => ((areaDesc[n - i] instanceof __WEBPACK_IMPORTED_MODULE_1__Tokens__["a" /* DefinedToken */]) ? ++last < 0 : true));
+ this.firstFixed = first;
+ this.lastFixed = Math.min(last, areaDesc.length - first);
+ }
+ ;
+ getSizes(num) {
+ const first = this.firstFixed;
+ const last = this.lastFixed;
+ const desc = this.areaDesc;
+ const len = desc.length;
+ return [...Array(num).keys()].map((i) => {
+ let size = null;
+ let t = null;
+ if (i > num - 1 - last) {
+ size = desc[len - (num - i)].getSize();
+ t = 'end';
+ }
+ else if (i < first) {
+ size = desc[i].getSize();
+ t = 'start';
+ }
+ else if (len > 0 && len === first) {
+ size = desc[len - 1].getSize();
+ t = 'start';
+ }
+ return { size: size, code: t, fields: {} };
+ });
+ }
+ unitPercent(num) {
+ let f = this.fields;
+ let max = 100.0;
+ let styles = this.getSizes(num);
+ styles.forEach(style => { if (style.size) {
+ max = max - style.size;
+ num--;
+ } });
+ let defDim = max / num;
+ function pass(styles, ix0, ix1, breakCond) {
+ let sumDim = 0;
+ styles.some(style => {
+ let size = style.size || defDim;
+ if (breakCond(style.code)) {
+ return true;
+ }
+ style.fields[ix0] = sumDim + '%';
+ sumDim += size;
+ style.fields[ix1] = (100 - sumDim) + '%';
+ style.fields[f[5]] = 'auto';
+ return false;
+ });
+ }
+ pass(styles, f[2], f[3], (e) => e === 'end');
+ pass(styles.reverse(), f[3], f[2], (e) => e !== 'end');
+ return styles.reverse();
+ }
+ ;
+ unitPixel(num) {
+ let styles = this.getSizes(num);
+ let f = this.fields;
+ let defDim = 100.0 / num;
+ let sumDim = 0;
+ styles.some((style, i) => {
+ if (style.code === 'start') {
+ style.fields[f[2]] = sumDim + 'px';
+ sumDim += style.size + (this.spacing || 0) + (this.spacing || 0);
+ style.fields[f[3]] = 'auto';
+ style.fields[f[5]] = style.size + 'px';
+ }
+ else if (style.code === null) {
+ style.fields[f[2]] = (sumDim > 0) ? (sumDim + 'px') : (i * defDim + '%');
+ sumDim = -1;
+ style.fields[f[3]] = (100 - (i + 1) * defDim) + '%';
+ style.fields[f[5]] = 'auto';
+ }
+ else if (style.code === 'end') {
+ return true;
+ }
+ return false;
+ });
+ sumDim = 0;
+ styles.slice().reverse().some((style, i) => {
+ style.fields[f[3]] = sumDim + 'px';
+ if (style.code === 'end') {
+ sumDim += style.size + (this.spacing || 0) + (this.spacing || 0);
+ style.fields[f[2]] = 'auto';
+ style.fields[f[5]] = style.size + 'px';
+ }
+ else {
+ if (sumDim > 0 && style.code !== 'start') {
+ style.fields[f[5]] = 'auto';
+ }
+ return true;
+ }
+ return false;
+ });
+ return styles;
+ }
+ ;
+ getStyles(components) {
+ let f = this.fields;
+ let styles = this.unit(components.length);
+ components.map((c, i) => {
+ c.style = `${f[0]}:0%; ${f[1]}:0%; `;
+ Object.keys(styles[i].fields).forEach((st) => { c.style += `${st}: ${styles[i].fields[st]};`; });
+ });
+ return this.cssClass;
+ }
+ ;
+}
+;
+class Columns extends PillarLayouter {
+ constructor(areaDesc) {
+ super(cParams[PillarLayouts[0]], areaDesc);
+ this.areaDesc = areaDesc;
+ }
+ ;
+}
+;
+class Rows extends PillarLayouter {
+ constructor(areaDesc) {
+ super(cParams[PillarLayouts[1]], areaDesc);
+ this.areaDesc = areaDesc;
+ }
+ ;
+}
+;
+__WEBPACK_IMPORTED_MODULE_0__Layouter__["a" /* Layouter */].register(PillarLayouts[0], Columns);
+__WEBPACK_IMPORTED_MODULE_0__Layouter__["a" /* Layouter */].register(PillarLayouts[1], Rows);
+//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUGlsbGFyZWRMYXlvdXRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy92aWV3L1BpbGxhcmVkTGF5b3V0ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBMkNBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBWSxZQUFZLENBQUM7QUFDNUMsT0FBTyxFQUFlLFlBQVksRUFBRSxVQUFVLEVBQUUsTUFBUyxVQUFVLENBQUM7QUFnQnBFLE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBRztJQUN6QixTQUFTLEVBQUUsTUFBTTtDQUNwQixDQUFDO0FBS0YsTUFBTSxPQUFPLEdBQUc7SUFDWixPQUFPLEVBQWdCO1FBQ25CLFFBQVEsRUFBRSxtQkFBbUI7UUFDN0IsTUFBTSxFQUFFLENBQUMsS0FBSyxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxPQUFPLENBQUM7S0FDaEU7SUFDRCxJQUFJLEVBQWdCO1FBQ2hCLFFBQVEsRUFBRSxnQkFBZ0I7UUFDMUIsTUFBTSxFQUFFLENBQUMsTUFBTSxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxRQUFRLENBQUM7S0FDaEU7Q0FDSixDQUFDO0FBT0Ysb0JBQThCLFNBQVEsUUFBUTtJQWExQyxZQUFZLE1BQW1CLEVBQVMsUUFBc0I7UUFDMUQsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBRG9CLGFBQVEsR0FBUixRQUFRLENBQWM7UUFFMUQsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDO1FBQzVCLElBQUksQ0FBQyxRQUFRLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQztRQUVoQyxJQUFJLENBQUMsR0FBRyxRQUFRLENBQUMsTUFBTSxHQUFDLENBQUMsQ0FBQztRQUMxQixJQUFJLEtBQUssR0FBRyxDQUFDLENBQUM7UUFDZCxJQUFJLElBQUksR0FBSSxDQUFDLENBQUM7UUFFZCxJQUFJLENBQUMsSUFB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
+
+/***/ }),
+/* 22 */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__Layouter__ = __webpack_require__(3);
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__Tokens__ = __webpack_require__(4);
+
+
+class Tiles extends __WEBPACK_IMPORTED_MODULE_0__Layouter__["a" /* Layouter */] {
+ constructor(areaDesc) {
+ super(areaDesc);
+ this.areaDesc = areaDesc;
+ this.unit = areaDesc.some((area) => (area instanceof __WEBPACK_IMPORTED_MODULE_1__Tokens__["e" /* PixelToken */])) ?
+ this.unitPixel : this.unitPercent;
+ }
+ ;
+ unitPercent(num) {
+ const desc = this.areaDesc;
+ const fill = this.areaDesc.some(a => (a instanceof __WEBPACK_IMPORTED_MODULE_1__Tokens__["c" /* FillToken */]));
+ const root = Math.sqrt(num);
+ const rows = Math.round(root);
+ let cols = Math.floor(root);
+ if (root > cols) {
+ cols++;
+ }
+ let width = (desc[0] instanceof __WEBPACK_IMPORTED_MODULE_1__Tokens__["a" /* DefinedToken */]) ? desc[0].getSize() : undefined;
+ let height = (desc[1] instanceof __WEBPACK_IMPORTED_MODULE_1__Tokens__["a" /* DefinedToken */]) ? desc[1].getSize() : width;
+ width = width || 100 / cols;
+ height = height || 100 / rows;
+ let left = 0;
+ let top = 0;
+ let styles = [...Array(num).keys()].map(i => {
+ let r = 'auto';
+ let w = width + '%';
+ let b = 'auto';
+ let h = height + '%';
+ if ((left + 2 * width) > 100 && fill) {
+ r = '0%';
+ w = 'auto';
+ }
+ if ((top + 2 * height) > 100 && fill) {
+ b = '0%';
+ h = 'auto';
+ }
+ const style = `
+ top: ${Math.floor(top)}%; bottom:${b};
+ left: ${left}%; right:${r};
+ width: ${w}; height: ${h};
+ `;
+ if (Math.round(left += width) > 100 - Math.floor(width)) {
+ left = 0;
+ top += height;
+ }
+ return style;
+ });
+ return styles;
+ }
+ ;
+ unitPixel(num) {
+ const desc = this.areaDesc;
+ const root = Math.sqrt(num);
+ const rows = Math.round(root);
+ let cols = Math.floor(root);
+ if (root > cols) {
+ cols++;
+ }
+ let width = (desc[0] instanceof __WEBPACK_IMPORTED_MODULE_1__Tokens__["a" /* DefinedToken */]) ? desc[0].getSize() : undefined;
+ let height = (desc[1] instanceof __WEBPACK_IMPORTED_MODULE_1__Tokens__["a" /* DefinedToken */]) ? desc[1].getSize() : width;
+ width = width || 100 / cols;
+ height = height || 100 / rows;
+ let left = 0;
+ let top = 0;
+ let styles = [...Array(num).keys()].map(i => {
+ let r = 'auto';
+ let w = width + 'px';
+ let b = 'auto';
+ let h = height + 'px';
+ const style = `
+ top: ${Math.floor(top)}%; bottom:${b};
+ left: ${left}%; right:${r};
+ width: ${w}; height: ${h};
+ `;
+ if (Math.round(left += width) > 100 - Math.floor(width)) {
+ left = 0;
+ top += height;
+ }
+ return style;
+ });
+ return styles;
+ }
+ ;
+ getStyles(components) {
+ let styles = this.unit(components.length);
+ components.map((c, i) => {
+ c.style = styles[i];
+ });
+ return '.hs-tile-layout';
+ }
+ ;
+}
+;
+__WEBPACK_IMPORTED_MODULE_0__Layouter__["a" /* Layouter */].register('tiles', Tiles);
+//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVGlsZUxheW91dGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3ZpZXcvVGlsZUxheW91dGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQTZEQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQVksWUFBWSxDQUFDO0FBQzVDLE9BQU8sRUFBZSxTQUFTLEVBQUUsWUFBWSxFQUFFLFVBQVUsRUFBRSxNQUFTLFVBQVUsQ0FBQztBQU8vRSxXQUFZLFNBQVEsUUFBUTtJQVF4QixZQUFtQixRQUFzQjtRQUNyQyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUM7UUFERCxhQUFRLEdBQVIsUUFBUSxDQUFjO1FBSXJDLElBQUksQ0FBQyxJQUFJLEdBQUcsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLElBQWdCLEVBQUUsRUFBRSxDQUFDLENBQUMsSUFBSSxZQUFZLFVBQVUsQ0FBQyxDQUFDLENBQUEsQ0FBQztZQUMxRSxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDO0lBQzFDLENBQUM7SUFBQSxDQUFDO0lBRU0sV0FBVyxDQUFDLEdBQVU7UUFDMUIsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQztRQUMzQixNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxZQUFZLFNBQVMsQ0FBQyxDQUFDLENBQUM7UUFDL0QsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUM1QixNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzlCLElBQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDOUIsSUFBSSxJQUFJLEdBQUcsSUFBSSxFQUFFO1lBQUUsSUFBSSxFQUFFLENBQUM7U0FB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
+
+/***/ }),
+/* 23 */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__mithril__ = __webpack_require__(7);
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__Layouter__ = __webpack_require__(3);
+
+
+class Layout {
+ getComponents(node) {
+ return !Array.isArray(node.attrs.content) ? node.attrs.content :
+ node.attrs.content.map((c) => {
+ if (c.compClass) {
+ c.attrs.route = node.attrs.route;
+ return Object(__WEBPACK_IMPORTED_MODULE_0__mithril__["a" /* m */])(c.compClass, c.attrs);
+ }
+ else {
+ return c;
+ }
+ });
+ }
+ getCSS(node) {
+ return node.attrs.css || '';
+ }
+ normalizeContent(components) {
+ if (typeof components === 'string') {
+ return [Object(__WEBPACK_IMPORTED_MODULE_0__mithril__["a" /* m */])('.hs-leaf', __WEBPACK_IMPORTED_MODULE_0__mithril__["a" /* m */].trust(components))];
+ }
+ if (components.length > 0) {
+ return components.map((comp) => (comp instanceof Layout) ? comp : Object(__WEBPACK_IMPORTED_MODULE_0__mithril__["a" /* m */])(Layout, { content: comp }));
+ }
+ return [components];
+ }
+ view(node) {
+ const content = this.normalizeContent(this.getComponents(node));
+ let css = __WEBPACK_IMPORTED_MODULE_1__Layouter__["a" /* Layouter */].createLayout(node.attrs, content);
+ const attrs = {
+ style: node.style,
+ route: node.attrs.route,
+ onclick: node.attrs.onclick
+ };
+ node.attrs.route = undefined;
+ if (node.attrs.href) {
+ attrs.href = node.attrs.href;
+ attrs.oncreate = __WEBPACK_IMPORTED_MODULE_0__mithril__["a" /* m */].route.link;
+ attrs.onupdate = __WEBPACK_IMPORTED_MODULE_0__mithril__["a" /* m */].route.link;
+ }
+ return Object(__WEBPACK_IMPORTED_MODULE_0__mithril__["a" /* m */])(`.hs-layout ${css} ${this.getCSS(node)}`, attrs, content.map((c) => c));
+ }
+}
+/* harmony export (immutable) */ __webpack_exports__["a"] = Layout;
+
+//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTGF5b3V0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3ZpZXcvTGF5b3V0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQWlCQSxPQUFPLEVBQUUsQ0FBQyxFQUFRLE1BQVcsWUFBWSxDQUFDO0FBQzFDLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBWSxZQUFZLENBQUM7QUF5QjVDLE1BQU07SUFvQlEsYUFBYSxDQUFDLElBQVU7UUFDOUIsT0FBTyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQSxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUMzRCxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFLLEVBQUUsRUFBRTtnQkFDN0IsSUFBSSxDQUFDLENBQUMsU0FBUyxFQUFFO29CQUNiLENBQUMsQ0FBQyxLQUFLLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDO29CQUNqQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQztpQkFDbEM7cUJBQU07b0JBQ0gsT0FBTyxDQUFDLENBQUM7aUJBQ1o7WUFDTCxDQUFDLENBQUMsQ0FBQztJQUNYLENBQUM7SUFRUyxNQUFNLENBQUMsSUFBVTtRQUN2QixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxJQUFJLEVBQUUsQ0FBQztJQUNoQyxDQUFDO0lBR08sZ0JBQWdCLENBQUMsVUFBNkM7UUFDbEUsSUFBSSxPQUFPLFVBQVUsS0FBSyxRQUFRLEVBQUU7WUFDaEMsT0FBTyxDQUFDLENBQUMsQ0FBQyxVQUFVLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUM7U0FDL0M7UUFDRCxJQUFJLFVBQVUsQ0FBQyxNQUFNLEdBQUMsQ0FBQyxFQUFFO1lBQ3JCLE9BQU8sVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQXlCLEVBQVEsRUFBRSxDQUNsRCxDQUFDLElBQUksWUFBWSxNQUFNLENBQUMsQ0FBQSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUMsT0FBTyxFQUFDLElBQUksRUFBQyxDQUFDLENBQ2pFLENBQUM7U0FDTDtRQUVELE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUN4QixDQUFDO0lBcUJELElBQUksQ0FBQyxJQUFVO1FBQ1gsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztRQUNoRSxJQUFJLEdBQUcsR0FBRyxRQUFRLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDckQsTUFBTSxLQUFLLEdBQU87WUFDZCxLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUs7WUFDakIsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSztZQUN2QixPQUFPLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPO1NBQzlCLENBQUM7UUFDRixJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssR0FBRyxTQUFTLENBQUM7UUFDN0IsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRTtZQUNqQixLQUFLLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDO1lBQzdCLEtBQUssQ0FBQyxRQUFRLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUM7WUFDOUIsS0FBSyxDQUFDLFFBQVEsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQztTQUNqQztRQUNELE9BQU8sQ0FBQyxDQUFDLGNBQWMsR0FBRyxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsRUFBRSxLQUFLLEVBQUUsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUssRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUN6RixDQUFDO0NBQ0oifQ==
+
+/***/ }),
+/* 24 */
+/***/ (function(module, exports, __webpack_require__) {
+
+"use strict";
+
+
+var pushStateMock = __webpack_require__(25)
+var domMock = __webpack_require__(27)
+var xhrMock = __webpack_require__(28)
+
+module.exports = function(env) {
+ env = env || {}
+ var $window = env.window = {}
+
+ var dom = domMock()
+ var xhr = xhrMock()
+ for (var key in dom) if (!$window[key]) $window[key] = dom[key]
+ for (var key in xhr) if (!$window[key]) $window[key] = xhr[key]
+ pushStateMock(env)
+
+ return $window
+}
+
+/***/ }),
+/* 25 */
+/***/ (function(module, exports, __webpack_require__) {
+
+"use strict";
+
+
+var parseURL = __webpack_require__(10)
+var callAsync = __webpack_require__(11)
+
+function debouncedAsync(f) {
+ var ref
+ return function() {
+ if (ref != null) return
+ ref = callAsync(function(){
+ ref = null
+ f()
+ })
+ }
+}
+
+module.exports = function(options) {
+ if (options == null) options = {}
+
+ var $window = options.window || {}
+ var protocol = options.protocol || "http:"
+ var hostname = options.hostname || "localhost"
+ var port = ""
+ var pathname = "/"
+ var search = ""
+ var hash = ""
+
+ var past = [{url: getURL(), isNew: true, state: null, title: null}], future = []
+
+ function getURL() {
+ if (protocol === "file:") return protocol + "//" + pathname + search + hash
+ return protocol + "//" + hostname + prefix(":", port) + pathname + search + hash
+ }
+ function setURL(value) {
+ var data = parseURL(value, {protocol: protocol, hostname: hostname, port: port, pathname: pathname})
+ var isNew = false
+ if (data.protocol != null && data.protocol !== protocol) protocol = data.protocol, isNew = true
+ if (data.hostname != null && data.hostname !== hostname) hostname = data.hostname, isNew = true
+ if (data.port != null && data.port !== port) port = data.port, isNew = true
+ if (data.pathname != null && data.pathname !== pathname) pathname = data.pathname, isNew = true
+ if (data.search != null && data.search !== search) search = data.search, isNew = true
+ if (data.hash != null && data.hash !== hash) {
+ hash = data.hash
+ if (!isNew) {
+ hashchange()
+ }
+ }
+ return isNew
+ }
+
+ function prefix(prefix, value) {
+ if (value === "") return ""
+ return (value.charAt(0) !== prefix ? prefix : "") + value
+ }
+ function _hashchange() {
+ if (typeof $window.onhashchange === "function") $window.onhashchange({type: "hashchange"})
+ }
+ var hashchange = debouncedAsync(_hashchange)
+ function popstate() {
+ if (typeof $window.onpopstate === "function") $window.onpopstate({type: "popstate", state: $window.history.state})
+ }
+ function unload() {
+ if (typeof $window.onunload === "function") $window.onunload({type: "unload"})
+ }
+
+ $window.location = {
+ get protocol() {
+ return protocol
+ },
+ get hostname() {
+ return hostname
+ },
+ get port() {
+ return port
+ },
+ get pathname() {
+ return pathname
+ },
+ get search() {
+ return search
+ },
+ get hash() {
+ return hash
+ },
+ get origin() {
+ if (protocol === "file:") return "null"
+ return protocol + "//" + hostname + prefix(":", port)
+ },
+ get host() {
+ if (protocol === "file:") return ""
+ return hostname + prefix(":", port)
+ },
+ get href() {
+ return getURL()
+ },
+
+ set protocol(value) {
+ throw new Error("Protocol is read-only")
+ },
+ set hostname(value) {
+ unload()
+ past.push({url: getURL(), isNew: true})
+ future = []
+ hostname = value
+ },
+ set port(value) {
+ if (protocol === "file:") throw new Error("Port is read-only under `file://` protocol")
+ unload()
+ past.push({url: getURL(), isNew: true})
+ future = []
+ port = value
+ },
+ set pathname(value) {
+ if (protocol === "file:") throw new Error("Pathname is read-only under `file://` protocol")
+ unload()
+ past.push({url: getURL(), isNew: true})
+ future = []
+ pathname = prefix("/", value)
+ },
+ set search(value) {
+ unload()
+ past.push({url: getURL(), isNew: true})
+ future = []
+ search = prefix("?", value)
+ },
+ set hash(value) {
+ var oldHash = hash
+ past.push({url: getURL(), isNew: false})
+ future = []
+ hash = prefix("#", value)
+ if (oldHash != hash) hashchange()
+ },
+
+ set origin(value) {
+ //origin is writable but ignored
+ },
+ set host(value) {
+ //host is writable but ignored in Chrome
+ },
+ set href(value) {
+ var url = getURL()
+ var isNew = setURL(value)
+ if (isNew) {
+ setURL(url)
+ unload()
+ setURL(value)
+ }
+ past.push({url: url, isNew: isNew})
+ future = []
+ },
+ }
+ $window.history = {
+ pushState: function(state, title, url) {
+ past.push({url: getURL(), isNew: false, state: state, title: title})
+ future = []
+ setURL(url)
+ },
+ replaceState: function(state, title, url) {
+ var entry = past[past.length - 1]
+ entry.state = state
+ entry.title = title
+ setURL(url)
+ },
+ back: function() {
+ if (past.length > 1) {
+ var entry = past.pop()
+ if (entry.isNew) unload()
+ future.push({url: getURL(), isNew: false, state: entry.state, title: entry.title})
+ setURL(entry.url)
+ if (!entry.isNew) popstate()
+ }
+ },
+ forward: function() {
+ var entry = future.pop()
+ if (entry != null) {
+ if (entry.isNew) unload()
+ past.push({url: getURL(), isNew: false, state: entry.state, title: entry.title})
+ setURL(entry.url)
+ if (!entry.isNew) popstate()
+ }
+ },
+ get state() {
+ return past.length === 0 ? null : past[past.length - 1].state
+ },
+ }
+ $window.onpopstate = null,
+ $window.onhashchange = null,
+ $window.onunload = null
+
+ return $window
+}
+
+
+/***/ }),
+/* 26 */
+/***/ (function(module, exports, __webpack_require__) {
+
+/* WEBPACK VAR INJECTION */(function(global, process) {(function (global, undefined) {
+ "use strict";
+
+ if (global.setImmediate) {
+ return;
+ }
+
+ var nextHandle = 1; // Spec says greater than zero
+ var tasksByHandle = {};
+ var currentlyRunningATask = false;
+ var doc = global.document;
+ var registerImmediate;
+
+ function setImmediate(callback) {
+ // Callback can either be a function or a string
+ if (typeof callback !== "function") {
+ callback = new Function("" + callback);
+ }
+ // Copy function arguments
+ var args = new Array(arguments.length - 1);
+ for (var i = 0; i < args.length; i++) {
+ args[i] = arguments[i + 1];
+ }
+ // Store and register the task
+ var task = { callback: callback, args: args };
+ tasksByHandle[nextHandle] = task;
+ registerImmediate(nextHandle);
+ return nextHandle++;
+ }
+
+ function clearImmediate(handle) {
+ delete tasksByHandle[handle];
+ }
+
+ function run(task) {
+ var callback = task.callback;
+ var args = task.args;
+ switch (args.length) {
+ case 0:
+ callback();
+ break;
+ case 1:
+ callback(args[0]);
+ break;
+ case 2:
+ callback(args[0], args[1]);
+ break;
+ case 3:
+ callback(args[0], args[1], args[2]);
+ break;
+ default:
+ callback.apply(undefined, args);
+ break;
+ }
+ }
+
+ function runIfPresent(handle) {
+ // From the spec: "Wait until any invocations of this algorithm started before this one have completed."
+ // So if we're currently running a task, we'll need to delay this invocation.
+ if (currentlyRunningATask) {
+ // Delay by doing a setTimeout. setImmediate was tried instead, but in Firefox 7 it generated a
+ // "too much recursion" error.
+ setTimeout(runIfPresent, 0, handle);
+ } else {
+ var task = tasksByHandle[handle];
+ if (task) {
+ currentlyRunningATask = true;
+ try {
+ run(task);
+ } finally {
+ clearImmediate(handle);
+ currentlyRunningATask = false;
+ }
+ }
+ }
+ }
+
+ function installNextTickImplementation() {
+ registerImmediate = function(handle) {
+ process.nextTick(function () { runIfPresent(handle); });
+ };
+ }
+
+ function canUsePostMessage() {
+ // The test against `importScripts` prevents this implementation from being installed inside a web worker,
+ // where `global.postMessage` means something completely different and can't be used for this purpose.
+ if (global.postMessage && !global.importScripts) {
+ var postMessageIsAsynchronous = true;
+ var oldOnMessage = global.onmessage;
+ global.onmessage = function() {
+ postMessageIsAsynchronous = false;
+ };
+ global.postMessage("", "*");
+ global.onmessage = oldOnMessage;
+ return postMessageIsAsynchronous;
+ }
+ }
+
+ function installPostMessageImplementation() {
+ // Installs an event handler on `global` for the `message` event: see
+ // * https://developer.mozilla.org/en/DOM/window.postMessage
+ // * http://www.whatwg.org/specs/web-apps/current-work/multipage/comms.html#crossDocumentMessages
+
+ var messagePrefix = "setImmediate$" + Math.random() + "$";
+ var onGlobalMessage = function(event) {
+ if (event.source === global &&
+ typeof event.data === "string" &&
+ event.data.indexOf(messagePrefix) === 0) {
+ runIfPresent(+event.data.slice(messagePrefix.length));
+ }
+ };
+
+ if (global.addEventListener) {
+ global.addEventListener("message", onGlobalMessage, false);
+ } else {
+ global.attachEvent("onmessage", onGlobalMessage);
+ }
+
+ registerImmediate = function(handle) {
+ global.postMessage(messagePrefix + handle, "*");
+ };
+ }
+
+ function installMessageChannelImplementation() {
+ var channel = new MessageChannel();
+ channel.port1.onmessage = function(event) {
+ var handle = event.data;
+ runIfPresent(handle);
+ };
+
+ registerImmediate = function(handle) {
+ channel.port2.postMessage(handle);
+ };
+ }
+
+ function installReadyStateChangeImplementation() {
+ var html = doc.documentElement;
+ registerImmediate = function(handle) {
+ // Create a
+