Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix: Missed definition in index.d.ts #292

Open
wants to merge 10 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 11 additions & 2 deletions .babelrc
Original file line number Diff line number Diff line change
@@ -1,3 +1,12 @@
{
"presets": ["es2015", "stage-0"]
}
"presets": [
[
"@babel/preset-env",
{
"targets": {
"esmodules": true
}
}
]
]
}
2 changes: 2 additions & 0 deletions .npmignore
Original file line number Diff line number Diff line change
@@ -1,8 +1,10 @@
src
!src/index.d.ts
test
docs
website
scripts
node_modules/
*-bundle.js
*.config.js
*.html
9 changes: 4 additions & 5 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -1,12 +1,11 @@
sudo: false
language: node_js
node_js:
- "5.6.0"
- "10.15.0"
notifications:
email: false
email: false
before_install:
- export TZ=America/Los_Angeles
script:
npm test -- --coverage
script: npm test -- --coverage
after_script:
- cat ./coverage/lcov.info | ./node_modules/coveralls/bin/coveralls.js
- cat ./coverage/lcov.info | ./node_modules/coveralls/bin/coveralls.js
5 changes: 5 additions & 0 deletions CHANGES.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,11 @@

---

## 0.8.10
> January 2019

* Fixed performance issue with TimeSeries.toJSON()

## 0.8.8

> November 2017
Expand Down
54 changes: 28 additions & 26 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,11 +1,10 @@

# Pond.js

---

[![Build status](https://api.travis-ci.org/esnet/pond.png)](https://travis-ci.org/esnet/pond) [![npm version](https://badge.fury.io/js/pondjs.svg)](https://badge.fury.io/js/pondjs)

----
---

Pond.js is a library built on top of [immutable.js](https://facebook.github.io/immutable-js/) to provide time-based data structures, serialization and processing within our tools.

Expand All @@ -23,7 +22,7 @@ The result might be as simple as comparing two time ranges:

```js
const timerange = timerange1.intersection(timerange2);
timerange.asRelativeString(); // "a few seconds ago to a month ago"
timerange.asRelativeString(); // "a few seconds ago to a month ago"
```

Or simply getting the average value in a timeseries:
Expand All @@ -36,7 +35,7 @@ Or quickly performing aggregations on a timeseries:

```js
const timeseries = new TimeSeries(weatherData);
const dailyAvg = timeseries.fixedWindowRollup("1d", {value: avg});
const dailyAvg = timeseries.fixedWindowRollup("1d", { value: avg });
```

Or much higher level batch or stream processing using the Pipeline API:
Expand All @@ -45,43 +44,47 @@ Or much higher level batch or stream processing using the Pipeline API:
const p = Pipeline()
.from(timeseries)
.take(10)
.groupBy(e => e.value() > 65 ? "high" : "low")
.groupBy(e => (e.value() > 65 ? "high" : "low"))
.emitOn("flush")
.to(CollectionOut, (collection, windowKey, groupByKey) => {
result[groupByKey] = collection;
}, true);
.to(
CollectionOut,
(collection, windowKey, groupByKey) => {
result[groupByKey] = collection;
},
true
);
```

## What does it do?

Pond has three main goals:

1. **Data Structures** - Provide a robust set of time-related data structures, built on Immutable.js
2. **Serialization** - Provide serialization of these structures for transmission across the wire
3. **Processing** - Provide processing operations to work with those structures
1. **Data Structures** - Provide a robust set of time-related data structures, built on Immutable.js
2. **Serialization** - Provide serialization of these structures for transmission across the wire
3. **Processing** - Provide processing operations to work with those structures

Here is a summary of what is provided:

* **TimeRange** - a begin and end time, packaged together
* **Index** - A time range denoted by a string, for example "5m-1234" is a specific 5 minute time range, or "2014-09" is September 2014
* **TimeEvent** - A timestamp and a data object packaged together
* **IndexedEvents** - An Index and a data object packaged together. e.g. 1hr max value
* **TimeRangeEvents** - A TimeRange and a data object packaged together. e.g. outage event occurred from 9:10am until 10:15am
- **TimeRange** - a begin and end time, packaged together
- **Index** - A time range denoted by a string, for example "5m-1234" is a specific 5 minute time range, or "2014-09" is September 2014
- **TimeEvent** - A timestamp and a data object packaged together
- **IndexedEvents** - An Index and a data object packaged together. e.g. 1hr max value
- **TimeRangeEvents** - A TimeRange and a data object packaged together. e.g. outage event occurred from 9:10am until 10:15am

And forming together collections of events:

* **Collection** - A bag of events, with a helpful set of methods for operating on those events
* **TimeSeries** - An ordered Collection of Events and associated meta data, along with operations to roll-up, aggregate, break apart and recombine TimeSeries.
- **Collection** - A bag of events, with a helpful set of methods for operating on those events
- **TimeSeries** - An ordered Collection of Events and associated meta data, along with operations to roll-up, aggregate, break apart and recombine TimeSeries.

And then high level processing via pipelines:

* **Pipeline** - Stream or batch style processing of events to build more complex processing operations, either on fixed TimeSeries or incoming realtime data. Supports windowing, grouping and aggregation.
- **Pipeline** - Stream or batch style processing of events to build more complex processing operations, either on fixed TimeSeries or incoming realtime data. Supports windowing, grouping and aggregation.

# Typescript support

As of version 0.8.6 Pond ships with Typescript declarations.

In addition, the project is also being rewritten in Typescript, which will probably eventually lead to a v1.0 version as the API will have significant differences. You can track the progress of that work in [Issue #65](https://github.com/esnet/pond/issues/65).
In addition, the project has been rewritten in Typescript, currently v1.0 alpha. This version is not compatible with react-timeseries-charts at this time.

# Contributing

Expand All @@ -91,15 +94,14 @@ The library has a large and growing Jest test suite. To run the tests interactiv

npm test


# License

This code is distributed under a BSD style license, see the LICENSE file for complete information.

# Copyright

ESnet Timeseries Library ("Pond.js"), Copyright (c) 2015-2017, The Regents of the University of California, through Lawrence Berkeley National Laboratory (subject to receipt of any required approvals from the U.S. Dept. of Energy). All rights reserved.
If you have questions about your rights to use or distribute this software, please contact Berkeley Lab's Innovation & Partnerships Office at [email protected].
NOTICE. This software is owned by the U.S. Department of Energy. As such, the U.S. Government has been granted for itself and others acting on its behalf a paid-up, nonexclusive, irrevocable, worldwide license in the Software to reproduce, prepare derivative works, and perform publicly and display publicly. Beginning five (5) years after the date permission to assert copyright is obtained from the U.S. Department of Energy, and subject to any subsequent five (5) year renewals, the U.S. Government is granted for itself and others acting on its behalf a paid-up, nonexclusive, irrevocable, worldwide license in the Software to reproduce, prepare derivative works, distribute copies to the public, perform publicly and display publicly, and to permit others to do so.
ESnet Timeseries Library ("Pond.js"), Copyright (c) 2015-2018, The Regents of the University of California, through Lawrence Berkeley National Laboratory (subject to receipt of any required approvals from the U.S. Dept. of Energy). All rights reserved.

If you have questions about your rights to use or distribute this software, please contact Berkeley Lab's Innovation & Partnerships Office at [email protected].

NOTICE. This software is owned by the U.S. Department of Energy. As such, the U.S. Government has been granted for itself and others acting on its behalf a paid-up, nonexclusive, irrevocable, worldwide license in the Software to reproduce, prepare derivative works, and perform publicly and display publicly. Beginning five (5) years after the date permission to assert copyright is obtained from the U.S. Department of Energy, and subject to any subsequent five (5) year renewals, the U.S. Government is granted for itself and others acting on its behalf a paid-up, nonexclusive, irrevocable, worldwide license in the Software to reproduce, prepare derivative works, distribute copies to the public, perform publicly and display publicly, and to permit others to do so.
Loading