@formant/ava 3.4.8-formant → 3.4.16-formant
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/ava.min.js +1 -1
- package/esm/insight/narrative/strategy/categoryOutlier.js +1 -1
- package/esm/insight/narrative/strategy/majority.js +0 -1
- package/esm/insight/narrative/strategy/timeSeriesOutlier.js +5 -2
- package/esm/insight/narrative/strategy/trend.js +5 -2
- package/lib/insight/narrative/strategy/categoryOutlier.js +1 -1
- package/lib/insight/narrative/strategy/majority.js +0 -1
- package/lib/insight/narrative/strategy/timeSeriesOutlier.js +5 -2
- package/lib/insight/narrative/strategy/trend.js +5 -2
- package/package.json +6 -4
|
@@ -54,7 +54,6 @@ var MajorityNarrativeStrategy = /** @class */ (function (_super) {
|
|
|
54
54
|
{
|
|
55
55
|
template: 'The ${measure} for ${dimValue} is significantly higher than the other dimensions, at ${y}, ${proportion} of the total (${total}).',
|
|
56
56
|
variableMetaMap: variableMetaMap,
|
|
57
|
-
displayType: 'heading',
|
|
58
57
|
},
|
|
59
58
|
],
|
|
60
59
|
};
|
|
@@ -4,6 +4,8 @@ import { first, last, maxBy, minBy } from 'lodash';
|
|
|
4
4
|
import { generateTextSpec } from '../../../ntv';
|
|
5
5
|
import { InsightNarrativeStrategy } from './base';
|
|
6
6
|
import { getDiffDesc } from './helpers';
|
|
7
|
+
import { formatDateRange } from "little-date";
|
|
8
|
+
import { formatDate } from 'date-fns';
|
|
7
9
|
var variableMetaMap = {
|
|
8
10
|
dateRange: {
|
|
9
11
|
varType: 'time_desc',
|
|
@@ -44,7 +46,7 @@ var TimeSeriesOutlierNarrativeStrategy = /** @class */ (function (_super) {
|
|
|
44
46
|
var spec = generateTextSpec({
|
|
45
47
|
structures: TimeSeriesOutlierNarrativeStrategy.structures[lang],
|
|
46
48
|
variable: {
|
|
47
|
-
dateRange: "".concat(first(data)[dimension],
|
|
49
|
+
dateRange: "".concat(formatDateRange(new Date(first(data)[dimension]), new Date(last(data)[dimension]), { includeTime: false })),
|
|
48
50
|
total: patterns.length,
|
|
49
51
|
measure: measure,
|
|
50
52
|
max: maxBy(data, measure)[measure],
|
|
@@ -52,7 +54,7 @@ var TimeSeriesOutlierNarrativeStrategy = /** @class */ (function (_super) {
|
|
|
52
54
|
outliers: patterns.map(function (point) {
|
|
53
55
|
var base = point.baselines[point.index];
|
|
54
56
|
var diff = point.y - base;
|
|
55
|
-
return __assign(__assign({}, point), { base: base, diffDesc: getDiffDesc(diff, lang), diff: diff });
|
|
57
|
+
return __assign(__assign({}, point), { base: base, diffDesc: getDiffDesc(diff, lang), x: formatDate(new Date(point.x), 'MMM d, yyyy'), diff: diff });
|
|
56
58
|
}),
|
|
57
59
|
},
|
|
58
60
|
});
|
|
@@ -76,6 +78,7 @@ var TimeSeriesOutlierNarrativeStrategy = /** @class */ (function (_super) {
|
|
|
76
78
|
'en-US': [
|
|
77
79
|
{
|
|
78
80
|
template: '${total} outliers detected for ${measure} during ${dateRange}',
|
|
81
|
+
displayType: 'paragraph',
|
|
79
82
|
variableMetaMap: variableMetaMap,
|
|
80
83
|
},
|
|
81
84
|
{
|
|
@@ -3,6 +3,7 @@ import { __extends } from "tslib";
|
|
|
3
3
|
import { first, last } from 'lodash';
|
|
4
4
|
import { generateTextSpec } from '../../../ntv';
|
|
5
5
|
import { InsightNarrativeStrategy } from './base';
|
|
6
|
+
import { formatDateRange } from "little-date";
|
|
6
7
|
var trendMapping = {
|
|
7
8
|
decreasing: '下降',
|
|
8
9
|
increasing: '上升',
|
|
@@ -27,12 +28,14 @@ var TrendNarrativeStrategy = /** @class */ (function (_super) {
|
|
|
27
28
|
TrendNarrativeStrategy.prototype.generateTextSpec = function (insightInfo, lang) {
|
|
28
29
|
var patterns = insightInfo.patterns, data = insightInfo.data;
|
|
29
30
|
var _a = patterns[0], dimension = _a.dimension, measure = _a.measure, trend = _a.trend;
|
|
31
|
+
var regression = patterns[0].regression;
|
|
30
32
|
var spec = generateTextSpec({
|
|
31
33
|
structures: TrendNarrativeStrategy.structures[lang],
|
|
32
34
|
variable: {
|
|
33
|
-
dateRange: "".concat(first(data)[dimension],
|
|
35
|
+
dateRange: "".concat(formatDateRange(new Date(first(data)[dimension]), new Date(last(data)[dimension]), { includeTime: false })),
|
|
34
36
|
measure: measure,
|
|
35
37
|
trend: lang === 'en-US' ? trend : trendMapping[trend],
|
|
38
|
+
slope: regression.equation[0],
|
|
36
39
|
},
|
|
37
40
|
});
|
|
38
41
|
return spec.sections[0].paragraphs;
|
|
@@ -47,7 +50,7 @@ var TrendNarrativeStrategy = /** @class */ (function (_super) {
|
|
|
47
50
|
],
|
|
48
51
|
'en-US': [
|
|
49
52
|
{
|
|
50
|
-
template: '
|
|
53
|
+
template: 'There is a signifcant ${trend} trend for ${measure} during ${dateRange} with a slope of ${slope}X.',
|
|
51
54
|
variableMetaMap: variableMetaMap,
|
|
52
55
|
},
|
|
53
56
|
],
|
|
@@ -68,7 +68,7 @@ var CategoryOutlierNarrativeStrategy = /** @class */ (function (_super) {
|
|
|
68
68
|
template: '${.x}',
|
|
69
69
|
separator: (0, helpers_1.getDefaultSeparator)('en-US'),
|
|
70
70
|
variableMetaMap: variableMetaMap,
|
|
71
|
-
useVariable: '
|
|
71
|
+
useVariable: 'paragraph',
|
|
72
72
|
},
|
|
73
73
|
],
|
|
74
74
|
};
|
|
@@ -56,7 +56,6 @@ var MajorityNarrativeStrategy = /** @class */ (function (_super) {
|
|
|
56
56
|
{
|
|
57
57
|
template: 'The ${measure} for ${dimValue} is significantly higher than the other dimensions, at ${y}, ${proportion} of the total (${total}).',
|
|
58
58
|
variableMetaMap: variableMetaMap,
|
|
59
|
-
displayType: 'heading',
|
|
60
59
|
},
|
|
61
60
|
],
|
|
62
61
|
};
|
|
@@ -6,6 +6,8 @@ var lodash_1 = require("lodash");
|
|
|
6
6
|
var ntv_1 = require("../../../ntv");
|
|
7
7
|
var base_1 = require("./base");
|
|
8
8
|
var helpers_1 = require("./helpers");
|
|
9
|
+
var little_date_1 = require("little-date");
|
|
10
|
+
var date_fns_1 = require("date-fns");
|
|
9
11
|
var variableMetaMap = {
|
|
10
12
|
dateRange: {
|
|
11
13
|
varType: 'time_desc',
|
|
@@ -46,7 +48,7 @@ var TimeSeriesOutlierNarrativeStrategy = /** @class */ (function (_super) {
|
|
|
46
48
|
var spec = (0, ntv_1.generateTextSpec)({
|
|
47
49
|
structures: TimeSeriesOutlierNarrativeStrategy.structures[lang],
|
|
48
50
|
variable: {
|
|
49
|
-
dateRange: "".concat((0, lodash_1.first)(data)[dimension],
|
|
51
|
+
dateRange: "".concat((0, little_date_1.formatDateRange)(new Date((0, lodash_1.first)(data)[dimension]), new Date((0, lodash_1.last)(data)[dimension]), { includeTime: false })),
|
|
50
52
|
total: patterns.length,
|
|
51
53
|
measure: measure,
|
|
52
54
|
max: (0, lodash_1.maxBy)(data, measure)[measure],
|
|
@@ -54,7 +56,7 @@ var TimeSeriesOutlierNarrativeStrategy = /** @class */ (function (_super) {
|
|
|
54
56
|
outliers: patterns.map(function (point) {
|
|
55
57
|
var base = point.baselines[point.index];
|
|
56
58
|
var diff = point.y - base;
|
|
57
|
-
return tslib_1.__assign(tslib_1.__assign({}, point), { base: base, diffDesc: (0, helpers_1.getDiffDesc)(diff, lang), diff: diff });
|
|
59
|
+
return tslib_1.__assign(tslib_1.__assign({}, point), { base: base, diffDesc: (0, helpers_1.getDiffDesc)(diff, lang), x: (0, date_fns_1.formatDate)(new Date(point.x), 'MMM d, yyyy'), diff: diff });
|
|
58
60
|
}),
|
|
59
61
|
},
|
|
60
62
|
});
|
|
@@ -78,6 +80,7 @@ var TimeSeriesOutlierNarrativeStrategy = /** @class */ (function (_super) {
|
|
|
78
80
|
'en-US': [
|
|
79
81
|
{
|
|
80
82
|
template: '${total} outliers detected for ${measure} during ${dateRange}',
|
|
83
|
+
displayType: 'paragraph',
|
|
81
84
|
variableMetaMap: variableMetaMap,
|
|
82
85
|
},
|
|
83
86
|
{
|
|
@@ -5,6 +5,7 @@ var tslib_1 = require("tslib");
|
|
|
5
5
|
var lodash_1 = require("lodash");
|
|
6
6
|
var ntv_1 = require("../../../ntv");
|
|
7
7
|
var base_1 = require("./base");
|
|
8
|
+
var little_date_1 = require("little-date");
|
|
8
9
|
var trendMapping = {
|
|
9
10
|
decreasing: '下降',
|
|
10
11
|
increasing: '上升',
|
|
@@ -29,12 +30,14 @@ var TrendNarrativeStrategy = /** @class */ (function (_super) {
|
|
|
29
30
|
TrendNarrativeStrategy.prototype.generateTextSpec = function (insightInfo, lang) {
|
|
30
31
|
var patterns = insightInfo.patterns, data = insightInfo.data;
|
|
31
32
|
var _a = patterns[0], dimension = _a.dimension, measure = _a.measure, trend = _a.trend;
|
|
33
|
+
var regression = patterns[0].regression;
|
|
32
34
|
var spec = (0, ntv_1.generateTextSpec)({
|
|
33
35
|
structures: TrendNarrativeStrategy.structures[lang],
|
|
34
36
|
variable: {
|
|
35
|
-
dateRange: "".concat((0, lodash_1.first)(data)[dimension],
|
|
37
|
+
dateRange: "".concat((0, little_date_1.formatDateRange)(new Date((0, lodash_1.first)(data)[dimension]), new Date((0, lodash_1.last)(data)[dimension]), { includeTime: false })),
|
|
36
38
|
measure: measure,
|
|
37
39
|
trend: lang === 'en-US' ? trend : trendMapping[trend],
|
|
40
|
+
slope: regression.equation[0],
|
|
38
41
|
},
|
|
39
42
|
});
|
|
40
43
|
return spec.sections[0].paragraphs;
|
|
@@ -49,7 +52,7 @@ var TrendNarrativeStrategy = /** @class */ (function (_super) {
|
|
|
49
52
|
],
|
|
50
53
|
'en-US': [
|
|
51
54
|
{
|
|
52
|
-
template: '
|
|
55
|
+
template: 'There is a signifcant ${trend} trend for ${measure} during ${dateRange} with a slope of ${slope}X.',
|
|
53
56
|
variableMetaMap: variableMetaMap,
|
|
54
57
|
},
|
|
55
58
|
],
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@formant/ava",
|
|
3
|
-
"version": "3.4.
|
|
3
|
+
"version": "3.4.16-formant",
|
|
4
4
|
"description": "A framework for automated visual analytics.",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "formant",
|
|
@@ -59,19 +59,21 @@
|
|
|
59
59
|
"@antv/smart-color": "^0.2.1",
|
|
60
60
|
"bayesian-changepoint": "^1.0.1",
|
|
61
61
|
"csstype": "^3.1.2",
|
|
62
|
+
"date-fns": "^4.1.0",
|
|
62
63
|
"heap-js": "^2.1.6",
|
|
63
|
-
"
|
|
64
|
+
"little-date": "^1.0.0",
|
|
64
65
|
"regression": "^2.0.1",
|
|
65
|
-
"tslib": "^2.3.1"
|
|
66
|
+
"tslib": "^2.3.1",
|
|
67
|
+
"twix": "^1.3.0"
|
|
66
68
|
},
|
|
67
69
|
"devDependencies": {
|
|
68
70
|
"@antv/algorithm": "^0.1.25",
|
|
69
71
|
"@antv/color-schema": "^0.2.3",
|
|
70
72
|
"@antv/data-samples": "^1.0.1",
|
|
71
73
|
"@stdlib/types": "^0.0.12",
|
|
74
|
+
"@testing-library/jest-dom": "^4.2.4",
|
|
72
75
|
"@types/d3-array": "^3.0.1",
|
|
73
76
|
"@types/jest": "^23.3.12",
|
|
74
|
-
"@testing-library/jest-dom": "^4.2.4",
|
|
75
77
|
"@types/lodash": "^4.14.171",
|
|
76
78
|
"@types/numeral": "^2.0.2",
|
|
77
79
|
"eslint": "^7.32.0",
|