1.2.3 • Published 7 years ago

iwwa-utils v1.2.3

Weekly downloads
1
License
Apache-2.0
Repository
github
Last release
7 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

7 years ago

1.2.2

7 years ago

1.2.1

7 years ago

1.2.0

7 years ago

1.1.0

7 years ago

1.0.10

7 years ago

1.0.9

7 years ago

1.0.8

7 years ago

1.0.7

7 years ago

1.0.6

7 years ago

1.0.5

7 years ago

1.0.4

7 years ago

1.0.3

7 years ago

1.0.2

7 years ago

1.0.1

7 years ago

1.0.0

7 years ago