everywareuk
v0.0.14
Published
shared Lambda logic
Downloads
738
Readme
Everyware Utility Functions
This package contains a number of useful types and functions used in Lambda functions.
Environment Variables
These functions make use of a number of environment variables. Make sure these are set correctly.
SQS_DELAY_SECONDS
TARGET_ENV
Types
EverywareSample
The type required for all samples pushed to the ingestion pipeline
Functions
interface sendMessage {
(data: string, queueName = process.env.OUTPUT_QUEUE): Promise<SendMessageCommandOutput>
}
interface sendErrorMessage {
(
lambdaName: string,
errorType: string,
dataString: string,
errorString: string,
queueName = process.env.OUTPUT_QUEUE
): Promise<SendMessageCommandOutput>
}
/* takes a sample and:
- checks the MTC, DeviceID exists
- sets device status and lastSampleAt
- updates the measure data
*/
interface updateMeasure {
(sample: EverywareSample): Promise<boolean>
}
/*
takes the body value from the lambda argument
returns a valid EverywareSample object
throws and error if body value is null or not valid
*/
interface validateEverywareSample {
(body: string): EverywareSample
}
logger
this is a winston logger object configured with a custom format and transport.
The log level is determined by the LOG_LEVEL
environment variable, range "0" (least verbose) to "6" (most verbose).
Example usage:
logger.log()
logger.error()
export { type EverywareSample } from './lib/types.ts' export { headers } from './lib/headers.ts'
Updating This NPM Package
To build the NPM module:
- increment the version in the
build_npm.ts
file.
$ deno run -A build_npm.ts
$ cd npm
$ npm publish --access public
$ deno run -A build_npm.ts && cd npm && npm publish --access public && cd ..
When a new version is published make sure you update the version in each of the package.json files and npm install.
npm list everywareuk