gads
Version:
An unofficial JS client library for the SOAP-based DFP Ads API
65 lines • 1.97 kB
JavaScript
;
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