Press n or j to go to the next uncovered block, b, p or k for the previous block.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 | 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 2x 2x 2x 2x 2x 2x 2x 2x 1x 1x 1x | import dayjs from 'dayjs'; import utc from 'dayjs/plugin/utc'; import { Measurement, MeasurementsApi, Configuration as APIConfiguration, } from '../codegen'; import { BaseResource } from './base'; dayjs.extend(utc); interface MeasurementInput extends Omit<Measurement, 'time'> { time?: Date | string; } /** * We want to be flexible about the input types we accept, but we also want to * hit our API with a consistent response. This function takes this SDK's * accepted inputs for measurements and normalizes them into the Measurement * type. */ function normalizeMeasurementInput({ time, ...rest }: MeasurementInput | Measurement): Measurement { let timestamp: Date | undefined; if (time) { timestamp = time instanceof Date ? time : dayjs(time).utc(true).toDate(); } return { time: timestamp, ...rest, }; } class Measurements extends BaseResource { private api: MeasurementsApi; constructor(apiConfig: APIConfiguration) { super(apiConfig); this.api = new MeasurementsApi(apiConfig); } /** * Send Measurement (one or multiple). */ public create(body: Measurement): Promise<Measurement>; public create(body: Measurement[]): Promise<Measurement[]>; public create(body: MeasurementInput): Promise<Measurement>; public create(body: MeasurementInput[]): Promise<Measurement[]>; public create( body: MeasurementInput | MeasurementInput[], overrides?: RequestInit, ): Promise<Measurement | Measurement[]> { if (Array.isArray(body)) { const measurement = body.map(normalizeMeasurementInput); return this.api.measurementsMultiPost({ measurement }, overrides); } const measurement = normalizeMeasurementInput(body); return this.api.measurementsPost({ measurement }, overrides); } } export { Measurements }; |