UNPKG

dfp-lib

Version:

This project hosts the Node.JS client library for the SOAP-based DFP API at Google.

46 lines (45 loc) 1.94 kB
"use strict"; const sprintf_js_1 = require("sprintf-js"); const dfpDate_1 = require("../soap/dfpDate"); const dfpDateTime_1 = require("../soap/dfpDateTime"); var DateTimeUtils; (function (DateTimeUtils) { const DATE_PATTERN = "%04d-%02d-%02d"; const ISO_PATTERN = "%04d-%02d-%02dT%02d:%02d:%02d%s"; function toDfpDate(date) { const result = new dfpDate_1.DfpDate(); result.year = date.getUTCFullYear(); result.month = date.getUTCMonth() + 1; result.day = date.getUTCDate(); return result; } DateTimeUtils.toDfpDate = toDfpDate; function toDfpDateTime(date) { const result = new dfpDateTime_1.DfpDateTime(); result.date = toDfpDate(date); result.hour = date.getUTCHours(); result.minute = date.getUTCMinutes(); result.second = date.getUTCSeconds(); result.timeZoneID = 'Etc/GMT'; return result; } DateTimeUtils.toDfpDateTime = toDfpDateTime; function toDfpDateTimeFromString(dateTime) { return toDfpDateTime(new Date(dateTime)); } DateTimeUtils.toDfpDateTimeFromString = toDfpDateTimeFromString; function fromDfpDateTime(dfpDateTime, offset) { const dfpDate = dfpDateTime.date; const isoStr = sprintf_js_1.sprintf(ISO_PATTERN, dfpDate.year, dfpDate.month - 1, dfpDate.day, dfpDateTime.hour, dfpDateTime.minute, dfpDateTime.second, offset || "+00:00"); return new Date(isoStr); } DateTimeUtils.fromDfpDateTime = fromDfpDateTime; function toDateString(dfpDate) { return sprintf_js_1.sprintf(DATE_PATTERN, dfpDate.year, dfpDate.month, dfpDate.day); } DateTimeUtils.toDateString = toDateString; function toISOString(dfpDateTime, offset) { return fromDfpDateTime(dfpDateTime, offset).toISOString(); } DateTimeUtils.toISOString = toISOString; })(DateTimeUtils = exports.DateTimeUtils || (exports.DateTimeUtils = {}));