
Security News
Attackers Are Hunting High-Impact Node.js Maintainers in a Coordinated Social Engineering Campaign
Multiple high-impact npm maintainers confirm they have been targeted in the same social engineering campaign that compromised Axios.
trimark-node
Advanced tools
A small Node wrapper for the Trimark API.
$ npm install trimark-node
$ yarn add trimark-node
You must have an API token supplied by Trimark in order to use the API.
import Trimark from 'trimark-node';
const client = Trimark("my-token");
client.getSites(); // Retrieve all the sites for the account
client.sites[0].getPoints(); // Retrieve all the sensor points for the site
client.sites[0].points[0].history({ timeFrame: 'Yesterday' }); // Retrieve all of the data points for the sensor and the given time frame
(apiToken) -> { sites: Array<Site> | null, getSites: () -> void }
The main wrapper for the API, allows you to request all sites be fetched.
After the sites are fetched client.sites will be populated with an array
of all the sites.
(
getData: Function, // A data getter that is passed down from the main wrapper
site: TrimarkSiteInput // The site as returned from the Trimark API
) -> {
id: number, // The site ID
name: string, // The site name
type: string, // The type of site
points: Array<Point> | null, // An array of points for the site, or null
getPoints: () -> void // Fetch all the points and populate the array
}
(
getData: Function, // A data getter passed down from the Site object
siteId: number, // The site id that this point belongs to
point: TrimarkPointInput // The point as returned from the Trimark API
) -> {
siteId: number, // The site id that this point belongs to
id: number, // The id for this sensor point
uom: string, // The unit of measure for the data points
displayName: // The display name for the sensor point
history: (query: Query) -> Promise<Array<DataPoint>> // Fetch the sensor data for this point
}
(dataPoint: TrimarkDataPointInput) -> {
intervalBegin: Object, // The starting datetime for this data point, as a moment
intervalEnd: Object, // The ending datetime for this data point, as a moment
averageValue: number, // The average value for this data point
minValue: number, // The minimum value for this data point
maxValue: number, // The maximium value for this data point
dataQuality: string, // The data quality for this point
interval: number, // The interval of time this data point represents, in seconds
pointId: number, // The sensor point that this belongs to
name: string, // The name of the sensor point
displayName: ?string, // The display name for this sensor point
uom: ?string, // The unit of measure for this sensor point
sumValue: ?number, // The sum of the values for this sensor point
rollupValue: ?number, // The roll up value for this sensor point
rollupUom: ?string, // The unit of measure for the roll up value
sampleTime: ?SampleTime // The intervals at which samples are taken
}
{
timeFrame: enum TimeFrame,
sampleTime: ?enum SampleTime,
startDateTime: ?string,
endDateTime: ?string
}
The representation of the query object that can be sent when fetching historical data for a sensor point.
If a start and end date are given, those values will override anything passed in
to the timeFrame option, effectively transforming it to Custom.
An enum, one of:
'Today' | 'Yesterday' | 'Last3Days' | 'Last7Days' | 'MonthToDate' | 'LastMonth' | 'YearToDate' | 'LastYear' | 'Custom'
An enum, one of:
'Interval' | 'Hour' | 'Day' | 'Month' | 'Year'
FAQs
Node wrapper for the Trimark API
We found that trimark-node demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Security News
Multiple high-impact npm maintainers confirm they have been targeted in the same social engineering campaign that compromised Axios.

Security News
Axios compromise traced to social engineering, showing how attacks on maintainers can bypass controls and expose the broader software supply chain.

Security News
Node.js has paused its bug bounty program after funding ended, removing payouts for vulnerability reports but keeping its security process unchanged.