UNPKG

gads

Version:

An unofficial JS client library for the SOAP-based DFP Ads API

65 lines 1.97 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); // tslint:disable-next-line:no-any function isDate(v) { // If null if (!v) { return false; } // If explicitly declared as Date if (v.$attr && v.$attr['xsi:type'] === 'Date') { return true; } // If has Date properties return v.year != null && v.month != null && v.day != null; } // tslint:disable-next-line:no-any function isDateTime(v) { // If null if (!v) { return false; } // If explicitly declared as DateTime if (v.$attr && v.$attr['xsi:type'] === 'DateTime') { return true; } // If has DateTime properties return isDate(v.date) && v.hour != null && v.minute != null && v.second != null && v.timeZoneID != null; } class DateUtil { constructor() { } // Converts a local DateTime to a DFP Date static toDfpDate(date) { return { $attr: { 'xsi:type': 'Date' }, year: date.getUTCFullYear(), month: date.getUTCMonth() + 1, day: date.getUTCDate() }; } // Converts a local DateTime to a DFP DateTime static toDfpDateTime(date) { return { $attr: { 'xsi:type': 'DateTime' }, date: DateUtil.toDfpDate(date), hour: date.getUTCHours(), minute: date.getUTCMinutes(), second: date.getUTCSeconds(), timeZoneID: 'Etc/GMT' }; } // Converts a DFP DateTime to a local Date static toJsDate(date) { const d = (isDateTime(date)) ? date.date : date; return new Date(d.year, d.month - 1, d.day); } // Converts a DFP DateTime to a local DateTime static toJsDateTime(dateTime) { const d = DateUtil.toJsDate(dateTime.date); d.setHours(dateTime.hour, dateTime.minute, dateTime.second); return d; } } exports.DateUtil = DateUtil; //# sourceMappingURL=dateUtil.js.map