DefinitelyTyped/types/vmap/vmap-tests.ts
John G. Gainfort, Jr 1026305052 added typings for vmap-js (#37272)
* added typings for vmap-js

* added github profile

* wrapped interfaces in namespace

* converting Object to any

* removed linting rule

* refactored following advice
2019-08-02 15:13:12 -07:00

48 lines
1.4 KiB
TypeScript

import VMAP, { VMAPAdBreak, VMAPAdSource, VMAPExtension, VMAPTrackingEvent } from 'vmap';
interface ExtendedVMAPAdBreak extends VMAPAdBreak {
foo: 'foo';
}
interface ExtendedVMAPAdSource extends VMAPAdSource {
bar: 'bar';
}
interface ExtendedVMAPExtension extends VMAPExtension {
baz: 'baz';
}
interface ExtendedVMAPTrackingEvent extends VMAPTrackingEvent {
foobarbaz: 'foobarbaz';
}
const domParser = new DOMParser();
const vmapXML = domParser.parseFromString('', 'text/xml');
const vmap = new VMAP(vmapXML);
const version = vmap.version;
vmap.adBreaks.forEach(adBreak => {
const timeoffset = adBreak.timeOffset;
const breakType = adBreak.breakType;
const breakId = adBreak.breakId;
const repeatAfter = adBreak.repeatAfter;
const adSource = adBreak.adSource;
const id = adSource.id;
const allowMultipleAds = adSource.allowMultipleAds;
const followRedirects = adSource.followRedirects;
const adTagURI = adSource.adTagURI;
const customData = adSource.customData;
const vastAdData = adSource.vastAdData;
adBreak.trackingEvents.forEach(trackingEvent => {
const event = trackingEvent.event;
const uri = trackingEvent.uri;
});
adBreak.extensions.forEach(extension => {
const children = extension.children;
const attribute = extension.attribute;
const value = extension.value;
});
});