1.2.3 • Published 9 years ago

iwwa-utils v1.2.3

Weekly downloads
1
License
Apache-2.0
Repository
github
Last release
9 years ago

npm version Build Status codecov.io Dependency Status devDependency Status

iwwa-utils

Library of common utility used in iwwa-front and iwapp

Install

npm install --save iwwa-utils

API

Consumption utils

getTimeRangeByPeriod(period, isToNow)

Arguments
  • period string required: period to consider [e.g. "day", "week", "month", "year"]
  • isToNow boolean optional: if true the end of the range is the current time, if false the end of the day default value: false
Example usage

Now is "2016-10-14"

getTimeRangeByPeriod("month")

--> {
    start: "2016-10-01T00:00:00.000Z",
    end: "2016-10-31T23:59:59.999Z"
}

getPreviousPeriod(periodToSubtract, periodRange, isToNow)

Arguments
  • periodToSubtract string required: period to subtract [e.g. "day", "week", "month", "year"]
  • periodRange string required: period to consider [e.g. "day", "week", "month", "year"]
  • isToNow boolean optional: if true the end of the range is the current time, if false the end of the day default value: false
  • offsetNumber number optional: how frequently take the selected offsetPeriod default value: 1
Example usage

Now is "2016-10-14"

getTimeRangeByPeriod("week", "day")

--> {
    start: "2016-10-07T00:00:00.000Z",
    end: "2016-10-07T23:59:59.999Z"
}

getSumByPeriod(period, aggregates, measurementValuesByPeriod)

Arguments
  • period object required: period object with start and end keys
  • aggregates Immutable.Map required: aggregate yearly-consumption
  • measurementValuesByPeriod array optional: array of measurementValues
Example usage
const yearlyAggregates = {
    _id: "sensorId-2016-reading-activeEnergy",
    year: "2016",
    sensorId: "sensorId",
    source: "reading",
    measurementType: "activeEnergy",
    measurementValues: "1,2,3,4,4,9,5,6,4,6,3,2,3",
    unitOfMeasurement: "kWh"
}

const period = {
    start: "2016-01-04T00:00:00.000Z",
    end: "2016-01-10T23:59:59.999Z"
}
getSumByPeriod(period, yearlyAggregates) --> 38

getSumByPeriodToNow(period, aggregates, measurementValuesByPeriod)

Arguments
  • period object required: period object with start and end keys
  • aggregates Immutable.Map required: aggregate yearly-consumption
  • measurementValuesByPeriod array optional: array of measurementValues
Example usage
const dailyAggregates = {
    _id: "sensorId-2016-01-04-reading-activeEnergy",
    day: "2016-01-04",
    sensorId: "sensorId",
    source: "reading",
    measurementType: "activeEnergy",
    measurementTimes: "1451865600,1451865900,1451866200,1451866500,1451866800",
    measurementValues: "1,2,3,4,4",
    unitOfMeasurement: "kWh"
}

const period = {
    start: "2016-01-04T00:00:00.000Z",
    end: "2016-01-04T13:00:15.00Z"
}
getSumByPeriod(period, yearlyAggregates) --> 10

getAverageByPeriod (aggregates, offsetPeriod, offsetNumber)

Arguments
  • aggregates Immutable.Map required: aggregate yearly-consumption
  • offsetPeriod string required: period to consider [e.g. "day", "week", "month"]
  • offsetNumber array optional: how frequently take the selected offsetPeriod default value: 1
Example usage

Now is "2016-01-17"

const yearlyAggregates = {
    _id: "sensorId-2016-reading-activeEnergy",
    year: "2016",
    sensorId: "sensorId",
    source: "reading",
    measurementType: "activeEnergy",
    measurementValues: "1,2,3,4,4,9,5,6,4,6,3,2,3,1,6,7,5",
    unitOfMeasurement: "kWh"
}

const offsetPeriod = "day";
const offsetNumber = 7;
getAverageByPeriod (aggregates, offsetPeriod, offsetNumber) --> 4.5

subscribeDaily utils function

subscribeDaily(subscription)

Arguments
  • subscription function required: the subscription to refresh every days
Example usage
subscribeDaily(() => this.props.asteroid.subscribe("sensors"));
1.2.3

9 years ago

1.2.2

9 years ago

1.2.1

9 years ago

1.2.0

9 years ago

1.1.0

9 years ago

1.0.10

10 years ago

1.0.9

10 years ago

1.0.8

10 years ago

1.0.7

10 years ago

1.0.6

10 years ago

1.0.5

10 years ago

1.0.4

10 years ago

1.0.3

10 years ago

1.0.2

10 years ago

1.0.1

10 years ago

1.0.0

10 years ago