yeri 0.8.6 → 0.9.0

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/lib/svg.d.ts CHANGED
@@ -43,20 +43,31 @@ export declare class Rect implements ToXml {
43
43
  constructor(box: Box, options?: RectOptions);
44
44
  toXml(indent: number): string[];
45
45
  }
46
+ export interface PolygonOptions {
47
+ stroke?: string;
48
+ strokeWidth?: number;
49
+ opacity?: number;
50
+ fill?: string;
51
+ fillOpacity?: number;
52
+ clipPath?: string;
53
+ }
54
+ export declare class Polygon implements ToXml {
55
+ points: Point[];
56
+ options: PolygonOptions;
57
+ constructor(points: Point[], options?: PolygonOptions);
58
+ toXml(indent: number): string[];
59
+ }
46
60
  export interface LineOptions {
47
61
  stroke?: string;
48
62
  strokeWidth?: number;
49
63
  strokeLineCap?: string;
50
64
  strokeLineJoin?: string;
51
- fill?: string;
52
- fillOpacity?: number;
53
- closeLoop?: boolean;
54
65
  clipPath?: string;
55
66
  }
56
67
  export declare class Line implements ToXml {
57
- points: (Point | undefined)[];
68
+ points: Point[];
58
69
  options: LineOptions;
59
- constructor(points: (Point | undefined)[], options?: LineOptions);
70
+ constructor(points: Point[], options?: LineOptions);
60
71
  toPath(): string;
61
72
  toXml(indent: number): string[];
62
73
  }
package/lib/svg.js CHANGED
@@ -2,7 +2,7 @@
2
2
  // some very simple classes for generating SVG XML files.
3
3
  // XML! ugh!
4
4
  Object.defineProperty(exports, "__esModule", { value: true });
5
- exports.ClipPath = exports.Text = exports.Line = exports.Rect = exports.Circle = void 0;
5
+ exports.ClipPath = exports.Text = exports.Line = exports.Polygon = exports.Rect = exports.Circle = void 0;
6
6
  exports.buildSvg = buildSvg;
7
7
  const arrays_1 = require("./arrays");
8
8
  const DEFAULT_VIEW_WIDTH = 100;
@@ -59,6 +59,35 @@ class Rect {
59
59
  }
60
60
  }
61
61
  exports.Rect = Rect;
62
+ class Polygon {
63
+ constructor(points, options = {}) {
64
+ this.points = points;
65
+ this.options = options;
66
+ // pass
67
+ }
68
+ toXml(indent) {
69
+ const points = this.points.map(p => `${round(p.x)},${round(p.y)}`).join(" ");
70
+ const fields = [
71
+ `points="${points}"`,
72
+ ];
73
+ if (this.options.stroke !== undefined)
74
+ fields.push(`stroke="${this.options.stroke}"`);
75
+ if (this.options.strokeWidth !== undefined)
76
+ fields.push(`stroke-width="${round(this.options.strokeWidth)}"`);
77
+ if (this.options.opacity !== undefined)
78
+ fields.push(`opacity="${round(this.options.opacity)}"`);
79
+ if (this.options.fill !== undefined)
80
+ fields.push(`fill="${this.options.fill}"`);
81
+ if (this.options.fillOpacity !== undefined)
82
+ fields.push(`fill-opacity="${round(this.options.fillOpacity)}"`);
83
+ if (this.options.clipPath !== undefined)
84
+ fields.push(`clip-path="url(#${this.options.clipPath})"`);
85
+ return [
86
+ `<polygon ${fields.join(" ")}/>`
87
+ ];
88
+ }
89
+ }
90
+ exports.Polygon = Polygon;
62
91
  class Line {
63
92
  constructor(points, options = {}) {
64
93
  this.points = points;
@@ -66,22 +95,14 @@ class Line {
66
95
  // pass
67
96
  }
68
97
  toPath() {
69
- let discontinuity = true;
70
98
  let path = "";
71
- for (const point of this.points) {
72
- if (!point) {
73
- discontinuity = true;
74
- }
75
- else {
76
- const command = discontinuity ? "M" : "L";
77
- path += `${command} ${round(point.x)} ${round(point.y)} `;
78
- discontinuity = false;
79
- }
99
+ if (this.points.length > 0) {
100
+ path += `M ${round(this.points[0].x)} ${round(this.points[0].y)} `;
101
+ }
102
+ for (const point of this.points.slice(1)) {
103
+ path += `L ${round(point.x)} ${round(point.y)} `;
80
104
  }
81
- path = path.trim();
82
- if (this.options.closeLoop)
83
- path += " Z";
84
- return path;
105
+ return path.trim();
85
106
  }
86
107
  toXml(indent) {
87
108
  const fields = [];
@@ -93,13 +114,9 @@ class Line {
93
114
  fields.push(`stroke-linecap="${this.options.strokeLineCap}"`);
94
115
  if (this.options.strokeLineJoin)
95
116
  fields.push(`stroke-linejoin="${this.options.strokeLineJoin}"`);
96
- if (this.options.fill)
97
- fields.push(`fill="${this.options.fill}"`);
98
- if (this.options.fillOpacity !== undefined)
99
- fields.push(`fill-opacity="${round(this.options.fillOpacity)}"`);
100
117
  if (this.options.clipPath)
101
118
  fields.push(`clip-path="url(#${this.options.clipPath})"`);
102
- return [`<path d="${this.toPath()}" ${fields.join(" ")}/>`];
119
+ return [`<path d="${this.toPath()}" ${fields.join(" ")} fill="none"/>`];
103
120
  }
104
121
  }
105
122
  exports.Line = Line;
package/lib/svg.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"svg.js","sourceRoot":"","sources":["../src/svg.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"svg.js","sourceRoot":"","sources":["../src/svg.ts"],"names":[],"mappings":"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"}
@@ -83,7 +83,7 @@ export declare class SvgGraph {
83
83
  drawXLabels(lines: number[]): ToXml[];
84
84
  drawXLines(lines: number[]): ToXml[];
85
85
  drawHighlight(h: HighlightConfig): ToXml[];
86
- drawTimeSeries(ts: TimeSeries, color: string): ToXml;
86
+ drawTimeSeries(ts: TimeSeries, color: string): ToXml[];
87
87
  drawLegend(box: Box, index: number, name: string, color: string, spacing?: number): ToXml[];
88
88
  drawFocus(): ToXml[];
89
89
  yToPixel(y: number): number;
package/lib/svg_graph.js CHANGED
@@ -172,7 +172,7 @@ class SvgGraph {
172
172
  elements.push(...this.drawYLabels(yLines), ...this.drawYLines(yLines), ...this.drawXLabels(xLines), ...this.drawXLines(xLines));
173
173
  this.lines.list.forEach((ts, i) => {
174
174
  const color = this.config.colors[i % this.config.colors.length];
175
- elements.push(this.drawTimeSeries(ts, color));
175
+ elements.push(...this.drawTimeSeries(ts, color));
176
176
  if (this.config.showLegend) {
177
177
  for (const elem of this.drawLegend(this.legendBox, i, ts.name, color, this.config.legendPadding)) {
178
178
  elements.push(elem);
@@ -219,7 +219,7 @@ class SvgGraph {
219
219
  { x: this.graphBox.x, y: this.yToPixel(y) },
220
220
  { x: this.graphBox.x + this.graphBox.width, y: this.yToPixel(y) },
221
221
  ];
222
- return new svg_1.Line(points, { stroke: this.config.gridColor, strokeWidth: 1, fill: "none" });
222
+ return new svg_1.Line(points, { stroke: this.config.gridColor, strokeWidth: 1 });
223
223
  });
224
224
  }
225
225
  drawXLabels(lines) {
@@ -246,7 +246,7 @@ class SvgGraph {
246
246
  { x: this.xToPixel(x), y: this.graphBox.y },
247
247
  { x: this.xToPixel(x), y: this.graphBox.y + this.graphBox.height },
248
248
  ];
249
- return new svg_1.Line(points, { stroke: this.config.gridColor, strokeWidth: 1, fill: "none" });
249
+ return new svg_1.Line(points, { stroke: this.config.gridColor, strokeWidth: 1 });
250
250
  });
251
251
  }
252
252
  drawHighlight(h) {
@@ -277,29 +277,45 @@ class SvgGraph {
277
277
  });
278
278
  }
279
279
  drawTimeSeries(ts, color) {
280
- const points = ts.toPoints().map(point => {
281
- return point.value == undefined ? undefined :
282
- { x: this.xToPixel(point.timestamp), y: this.yToPixel(point.value) };
283
- });
284
- let fill = "none";
285
- let closeLoop = false;
286
- if (this.config.fill) {
287
- points.unshift({ x: this.graphBox.x, y: this.graphBox.y + this.graphBox.height });
288
- points.push({ x: this.graphBox.x + this.graphBox.width, y: this.graphBox.y + this.graphBox.height });
289
- fill = color;
290
- closeLoop = true;
291
- }
292
- const options = {
280
+ // generate N continuous segments
281
+ const segments = [];
282
+ const lineOptions = {
293
283
  stroke: color,
294
284
  strokeWidth: this.config.lineWidth,
295
285
  strokeLineCap: "round",
296
286
  strokeLineJoin: "round",
297
- fill,
287
+ clipPath: "clip-graph-box",
288
+ };
289
+ const polyOptions = {
290
+ fill: color,
298
291
  fillOpacity: 0.5,
299
- closeLoop,
300
292
  clipPath: "clip-graph-box",
301
293
  };
302
- return new svg_1.Line(points, options);
294
+ let discontinuity = true;
295
+ for (const p of ts.toPoints()) {
296
+ if (p.value === undefined) {
297
+ discontinuity = true;
298
+ continue;
299
+ }
300
+ if (discontinuity) {
301
+ discontinuity = false;
302
+ segments.unshift([]);
303
+ }
304
+ segments[0].push({ x: this.xToPixel(p.timestamp), y: this.yToPixel(p.value) });
305
+ }
306
+ segments.reverse();
307
+ const baseY = this.graphBox.y + this.graphBox.height;
308
+ const elements = [];
309
+ for (const s of segments) {
310
+ if (this.config.fill) {
311
+ const polyPoints = s.slice();
312
+ polyPoints.push({ x: s[s.length - 1].x, y: baseY });
313
+ polyPoints.push({ x: s[0].x, y: baseY });
314
+ elements.push(new svg_1.Polygon(polyPoints, polyOptions));
315
+ }
316
+ elements.push(new svg_1.Line(s, lineOptions));
317
+ }
318
+ return elements;
303
319
  }
304
320
  drawLegend(box, index, name, color, spacing = 0) {
305
321
  // put the first half down the left column, then the second half down the right column.
@@ -364,6 +380,8 @@ class SvgGraph {
364
380
  lines.push(this.top);
365
381
  // make sure to get coverage:
366
382
  const span = Math.ceil((this.top - this.bottom) / interval) + 1;
383
+ if (Number.isNaN(span))
384
+ return [];
367
385
  return lines.concat((0, arrays_1.range)(0, span).map(i => yBase + (i + 1) * interval).filter(y => y > this.bottom && y < this.top));
368
386
  }
369
387
  computeXLines() {
@@ -1 +1 @@
1
- {"version":3,"file":"svg_graph.js","sourceRoot":"","sources":["../src/svg_graph.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"svg_graph.js","sourceRoot":"","sources":["../src/svg_graph.ts"],"names":[],"mappings":"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"}
@@ -39,33 +39,43 @@ describe("SVG", () => {
39
39
  ` <rect x="9" y="2" width="3" height="4" fill="#8800ff"/>\n` +
40
40
  SVG_FOOTER);
41
41
  });
42
+ it("polygon", () => {
43
+ const poly1 = new svg_1.Polygon([
44
+ { x: 1, y: 2 },
45
+ { x: 2, y: 4 },
46
+ { x: 0, y: 3 },
47
+ ], {
48
+ stroke: "red", strokeWidth: 3, opacity: 0.75,
49
+ });
50
+ const poly2 = new svg_1.Polygon([
51
+ { x: 1, y: 2 },
52
+ { x: 2, y: 4 },
53
+ { x: 0, y: 3 },
54
+ ], {
55
+ stroke: "red", strokeWidth: 3, opacity: 0.75,
56
+ fill: "blue", fillOpacity: 0.5, clipPath: "ack",
57
+ });
58
+ (0, svg_1.buildSvg)([poly1, poly2], {}).should.eql(SVG_HEADER +
59
+ ` <polygon points="1,2 2,4 0,3" stroke="red" stroke-width="3" opacity="0.75"/>\n` +
60
+ ` <polygon points="1,2 2,4 0,3" stroke="red" stroke-width="3" opacity="0.75" fill="blue" fill-opacity="0.5" clip-path="url(#ack)"/>\n` +
61
+ SVG_FOOTER);
62
+ });
42
63
  describe("Line", () => {
43
64
  it("should plot a basic line", () => {
44
65
  const line = new svg_1.Line([{ x: 10, y: 20 }, { x: 30, y: 40 }], { strokeWidth: 2 });
45
66
  line.toPath().trim().should.eql("M 10 20 L 30 40");
46
67
  });
47
- it("should handle discontinuities", () => {
48
- const line = new svg_1.Line([
49
- { x: 10, y: 20 },
50
- { x: 30, y: 40 },
51
- undefined,
52
- undefined,
53
- { x: 90, y: 30 },
54
- { x: 110, y: 40 },
55
- ], { strokeWidth: 2 });
56
- line.toPath().trim().should.eql("M 10 20 L 30 40 M 90 30 L 110 40");
57
- });
58
68
  it("makes the whole svg", () => {
59
69
  const line = new svg_1.Line([{ x: 10, y: 20 }, { x: 20, y: 20 }], { stroke: "#66ff66" });
60
- (0, svg_1.buildSvg)([line], {}).should.eql(SVG_HEADER + ` <path d="M 10 20 L 20 20" stroke="#66ff66"/>\n` + SVG_FOOTER);
70
+ (0, svg_1.buildSvg)([line], {}).should.eql(SVG_HEADER + ` <path d="M 10 20 L 20 20" stroke="#66ff66" fill="none"/>\n` + SVG_FOOTER);
61
71
  });
62
72
  it("all options", () => {
63
73
  const options = {
64
- stroke: "red", strokeWidth: 4, strokeLineCap: "cat", strokeLineJoin: "dog", fill: "blue", closeLoop: true
74
+ stroke: "red", strokeWidth: 4, strokeLineCap: "cat", strokeLineJoin: "dog"
65
75
  };
66
76
  const line = new svg_1.Line([{ x: 10, y: 20 }, { x: 20, y: 20 }], options);
67
77
  (0, svg_1.buildSvg)([line], {}).should.eql(SVG_HEADER +
68
- ` <path d="M 10 20 L 20 20 Z" stroke="red" stroke-width="4" stroke-linecap="cat" stroke-linejoin="dog" fill="blue"/>\n` +
78
+ ` <path d="M 10 20 L 20 20" stroke="red" stroke-width="4" stroke-linecap="cat" stroke-linejoin="dog" fill="none"/>\n` +
69
79
  SVG_FOOTER);
70
80
  });
71
81
  });
@@ -1 +1 @@
1
- {"version":3,"file":"test_svg.js","sourceRoot":"","sources":["../../src/test/test_svg.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"test_svg.js","sourceRoot":"","sources":["../../src/test/test_svg.ts"],"names":[],"mappings":"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"}