@openplayerjs/ads 3.1.2 → 3.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +103 -2
- package/dist/.tsbuildinfo +1 -1
- package/dist/index.js +639 -103
- package/dist/index.js.map +1 -1
- package/dist/openplayer-ads.js +1 -1
- package/dist/openplayer-ads.js.map +1 -1
- package/dist/types/ad-dom.d.ts.map +1 -1
- package/dist/types/ads.d.ts.map +1 -1
- package/dist/types/schedule.d.ts +1 -1
- package/dist/types/simid.d.ts +126 -9
- package/dist/types/simid.d.ts.map +1 -1
- package/dist/types/vast-parser.d.ts +1 -1
- package/dist/types/vast-parser.d.ts.map +1 -1
- package/package.json +4 -4
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ad-dom.d.ts","sourceRoot":"","sources":["../../src/ad-dom.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAK/C,wBAAgB,aAAa,CAAC,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"ad-dom.d.ts","sourceRoot":"","sources":["../../src/ad-dom.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAK/C,wBAAgB,aAAa,CAAC,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,QAkD1D;AAED,KAAK,YAAY,GAAG,MAAM,IAAI,CAAC;AAE/B,qBAAa,YAAY;IAerB,OAAO,CAAC,OAAO;IACf,OAAO,CAAC,GAAG;IASX,OAAO,CAAC,UAAU;IAClB,OAAO,CAAC,UAAU;IAClB,OAAO,CAAC,cAAc;IA1BxB,OAAO,CAAC,QAAQ,CAAC,CAAiB;IAClC,OAAO,CAAC,OAAO,CAAC,CAAoB;IACpC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB,aAAa,CAAC,EAAE,cAAc,CAAC;IAC/B,aAAa,CAAC,EAAE,cAAc,CAAC;IAE/B,OAAO,CAAC,0BAA0B,CAAC,CAAc;IACjD,OAAO,CAAC,0BAA0B,CAAC,CAAc;IAEjD,OAAO,CAAC,aAAa,CAAsB;gBAGjC,OAAO,EAAE,cAAc,EACvB,GAAG,EAAE,IAAI,CACf,eAAe,EACb,oBAAoB,GACpB,mBAAmB,GACnB,oBAAoB,GACpB,mBAAmB,GACnB,SAAS,GACT,eAAe,CAClB,EACO,UAAU,EAAE,MAAM,gBAAgB,GAAG,SAAS,EAC9C,UAAU,EAAE,MAAM,GAAG,EACrB,cAAc,EAAE,YAAY;IAKtC,eAAe,CAAC,EAAE,EAAE,MAAM,IAAI;IAI9B,YAAY;IAQZ,gBAAgB,CAAC,EAAE,CAAC,EAAE,WAAW,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS;IAS9E,qBAAqB,IAAI,WAAW,GAAG,SAAS;IAMhD,qBAAqB,IAAI,WAAW,GAAG,SAAS;IAMhD,YAAY,CAAC,KAAK,EAAE,gBAAgB,GAAG,WAAW;IASlD,oBAAoB,CAAC,KAAK,EAAE,gBAAgB;IAiB5C,WAAW,CAAC,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM;IAoDzC,cAAc,CAAC,MAAM,EAAE,MAAM;IAY7B,OAAO,CAAC,aAAa;IAuBrB,UAAU;IAMV,qBAAqB,CAAC,IAAI,EAAE;QAAE,UAAU,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,GAAG,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,KAAK,IAAI;IAmCjH,WAAW,CACT,MAAM,EAAE,QAAQ,GAAG,OAAO,GAAG,KAAK,EAClC,OAAO,EAAE,gBAAgB,GAAG,SAAS,EACrC,gBAAgB,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,GAAG,SAAS,EAC/D,QAAQ,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,IAAI,EAC7B,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,KAAK,IAAI;IAgC5B,eAAe;IAaf,eAAe,CAAC,QAAQ,EAAE,GAAG;IA8B7B,eAAe,CAAC,SAAS,EAAE,GAAG,GAAG,WAAW,GAAG,IAAI;IAwEnD,iCAAiC,CAAC,EAAE,EAAE,GAAG,GAAG,MAAM;IAgBlD,kBAAkB;IAmBlB,eAAe,CAAC,EAAE,EAAE,GAAG,GAAG,WAAW,GAAG,IAAI;IA8D5C,cAAc,CAAC,QAAQ,EAAE,GAAG;IAoB5B,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,iBAAiB;CAyBjD"}
|
package/dist/types/ads.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ads.d.ts","sourceRoot":"","sources":["../../src/ads.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAetE,OAAO,KAAK,EAAE,cAAc,EAAE,QAAQ,EAAE,eAAe,EAAE,SAAS,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAc9G,YAAY,EAAE,cAAc,EAAE,QAAQ,EAAE,eAAe,EAAE,SAAS,EAAE,aAAa,EAAE,CAAC;AAEpF,qBAAa,SAAU,YAAW,YAAY;IAC5C,IAAI,SAAS;IACb,OAAO,SAAW;IAClB,YAAY,WAAW;IAEvB,OAAO,CAAC,GAAG,CAAiB;IAC5B,OAAO,CAAC,GAAG,CAAuB;IAClC,OAAO,CAAC,aAAa,CAAM;IAC3B,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,YAAY,CAA8B;IAElD,OAAO,CAAC,GAAG,CAsBoB;IAE/B,OAAO,CAAC,OAAO,CAAkB;IACjC,OAAO,CAAC,OAAO,CAAC,CAAmB;IAEnC,OAAO,CAAC,gBAAgB,CAAC,CAAoC;IAC7D,OAAO,CAAC,UAAU,CAAM;IACxB,OAAO,CAAC,OAAO,CAAC,CAAM;IAEtB,OAAO,CAAC,YAAY,CAAsB;IAC1C,OAAO,CAAC,aAAa,CAAsB;IAE3C,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,YAAY,CAAC,CAAmB;IACxC,OAAO,CAAC,kBAAkB,CAAS;IACnC,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,cAAc,CAAS;IAC/B,OAAO,CAAC,0BAA0B,CAAS;IAC3C,OAAO,CAAC,aAAa,CAAS;IAE9B,OAAO,CAAC,SAAS,CAAe;IAChC,OAAO,CAAC,UAAU,CAAkB;IACpC,OAAO,CAAC,IAAI,CAAC,CAAe;IAC5B,OAAO,KAAK,GAAG,GAYd;IACD,OAAO,KAAK,GAAG,QAEd;IAED,OAAO,CAAC,YAAY,CAAC,CAAe;IACpC,OAAO,CAAC,WAAW,CAAC,CAAc;gBAEtB,MAAM,GAAE,eAAoB;IA+CxC,KAAK,CAAC,GAAG,EAAE,aAAa;IA+DlB,OAAO,CAAC,OAAO,EAAE,MAAM;IAKvB,cAAc,CAAC,OAAO,EAAE,MAAM;IAIpC,mBAAmB,CAAC,WAAW,EAAE,MAAM,GAAG,cAAc,EAAE;IAI1D,kBAAkB,CAAC,WAAW,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS;IAInE,OAAO;IASP;;;OAGG;IACH,kBAAkB,CAAC,QAAQ,EAAE,GAAG,GAAG,IAAI;IASvC,OAAO,CAAC,uBAAuB;IA2E/B,OAAO,CAAC,sBAAsB;IAe9B,OAAO,CAAC,kBAAkB;YAoDZ,UAAU;YAiDV,eAAe;YAuBf,iBAAiB;
|
|
1
|
+
{"version":3,"file":"ads.d.ts","sourceRoot":"","sources":["../../src/ads.ts"],"names":[],"mappings":"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"}
|
package/dist/types/schedule.d.ts
CHANGED
package/dist/types/simid.d.ts
CHANGED
|
@@ -1,29 +1,63 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* SimidSession —
|
|
2
|
+
* SimidSession — IAB SIMID 1.2 (Secure Interactive Media Interface Definition) implementation.
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
4
|
+
* SIMID 1.2 session initialization sequence:
|
|
5
|
+
* 1. Creative → Player : createSession (with sessionId)
|
|
6
|
+
* 2. Player → Creative: resolve (acks createSession)
|
|
7
|
+
* 3. Player → Creative: SIMID:Player:init (environmentData + creativeData)
|
|
8
|
+
* 4. Creative → Player : resolve (acks init)
|
|
9
|
+
* 5. Creative → Player : SIMID:Creative:ready
|
|
10
|
+
* 6. Player → Creative: SIMID:Player:startCreative
|
|
11
|
+
* 7. Creative → Player : resolve (acks startCreative)
|
|
12
|
+
*
|
|
13
|
+
* Message format notes:
|
|
14
|
+
* - Some SIMID creatives post messages as JSON-encoded strings rather than plain objects.
|
|
15
|
+
* handleMessage() handles both via parseMessageData().
|
|
16
|
+
* - The outgoing format mirrors the incoming format: if the creative sends JSON strings
|
|
17
|
+
* (i.e. JSON.parse(event.data) is used on the creative side), the player also sends
|
|
18
|
+
* JSON strings so they parse correctly. Format is auto-detected on the first message.
|
|
19
|
+
* - Older creatives may skip createSession and go straight to SIMID:Creative:ready.
|
|
20
|
+
* onCreativeReady() falls back to sending init + startCreative in that case.
|
|
9
21
|
*
|
|
10
22
|
* Spec: https://iabtechlab.com/standards/simid/
|
|
11
23
|
*/
|
|
12
24
|
export declare const SIMID_PLAYER: {
|
|
13
25
|
readonly INIT: "SIMID:Player:init";
|
|
14
|
-
readonly
|
|
26
|
+
readonly START_CREATIVE: "SIMID:Player:startCreative";
|
|
15
27
|
readonly AD_PROGRESS: "SIMID:Player:adProgress";
|
|
16
28
|
readonly AD_PAUSED: "SIMID:Player:adPaused";
|
|
17
29
|
readonly AD_PLAYING: "SIMID:Player:adPlaying";
|
|
18
30
|
readonly AD_STOPPED: "SIMID:Player:adStopped";
|
|
19
31
|
readonly AD_SKIPPED: "SIMID:Player:adSkipped";
|
|
20
32
|
readonly AD_VOLUME: "SIMID:Player:adVolume";
|
|
33
|
+
readonly AD_DURATION_CHANGE: "SIMID:Player:adDurationChange";
|
|
21
34
|
readonly RESIZE: "SIMID:Player:resize";
|
|
22
35
|
readonly FATAL: "SIMID:Player:fatal";
|
|
23
36
|
readonly LOG: "SIMID:Player:log";
|
|
37
|
+
readonly APP_BACKGROUNDED: "SIMID:Player:appBackgrounded";
|
|
38
|
+
readonly APP_FOREGROUNDED: "SIMID:Player:appForegrounded";
|
|
39
|
+
/** Player resolves a creative request (spec type: "resolve") */
|
|
40
|
+
readonly RESOLVE: "resolve";
|
|
41
|
+
/** Player rejects a creative request (spec type: "reject") */
|
|
42
|
+
readonly REJECT: "reject";
|
|
43
|
+
};
|
|
44
|
+
/** SIMID 1.2 media event types — player bridges ad video DOM events to these postMessages. */
|
|
45
|
+
export declare const SIMID_MEDIA: {
|
|
46
|
+
readonly DURATION_CHANGE: "SIMID:Media:durationchange";
|
|
47
|
+
readonly ENDED: "SIMID:Media:ended";
|
|
48
|
+
readonly ERROR: "SIMID:Media:error";
|
|
49
|
+
readonly PAUSE: "SIMID:Media:pause";
|
|
50
|
+
readonly PLAY: "SIMID:Media:play";
|
|
51
|
+
readonly PLAYING: "SIMID:Media:playing";
|
|
52
|
+
readonly SEEKED: "SIMID:Media:seeked";
|
|
53
|
+
readonly SEEKING: "SIMID:Media:seeking";
|
|
54
|
+
readonly STALLED: "SIMID:Media:stalled";
|
|
55
|
+
readonly TIME_UPDATE: "SIMID:Media:timeupdate";
|
|
56
|
+
readonly VOLUME_CHANGE: "SIMID:Media:volumechange";
|
|
24
57
|
};
|
|
25
58
|
export declare const SIMID_CREATIVE: {
|
|
26
59
|
readonly READY: "SIMID:Creative:ready";
|
|
60
|
+
readonly GET_MEDIA_STATE: "SIMID:Creative:getMediaState";
|
|
27
61
|
readonly RESOLVE: "SIMID:Creative:resolve";
|
|
28
62
|
readonly REJECT: "SIMID:Creative:reject";
|
|
29
63
|
readonly REQUEST_FULLSCREEN: "SIMID:Creative:requestFullscreen";
|
|
@@ -34,6 +68,7 @@ export declare const SIMID_CREATIVE: {
|
|
|
34
68
|
readonly REQUEST_STOP: "SIMID:Creative:requestStop";
|
|
35
69
|
readonly REQUEST_PAUSE: "SIMID:Creative:requestPause";
|
|
36
70
|
readonly REQUEST_PLAY: "SIMID:Creative:requestPlay";
|
|
71
|
+
readonly REQUEST_CHANGE_AD_DURATION: "SIMID:Creative:requestChangeAdDuration";
|
|
37
72
|
readonly FATAL: "SIMID:Creative:fatal";
|
|
38
73
|
readonly LOG: "SIMID:Creative:log";
|
|
39
74
|
};
|
|
@@ -46,22 +81,97 @@ export type SimidCallbacks = {
|
|
|
46
81
|
onTrackingEvent: (event: string, data?: any) => void;
|
|
47
82
|
onFatal: (errorCode: number, reason: string) => void;
|
|
48
83
|
onLog?: (data: any) => void;
|
|
84
|
+
/**
|
|
85
|
+
* Called when the creative requests a duration change (SIMID:Creative:requestChangeAdDuration).
|
|
86
|
+
* The handler receives the requested delta in seconds and resolve/reject callbacks.
|
|
87
|
+
* If omitted the player auto-rejects the request.
|
|
88
|
+
*/
|
|
89
|
+
onRequestChangeAdDuration?: (durationChange: number, resolve: () => void, reject: (errorCode: number, reason: string) => void) => void;
|
|
90
|
+
};
|
|
91
|
+
/** Creative-specific metadata extracted from the VAST creative object. */
|
|
92
|
+
export type SimidCreativeInfo = {
|
|
93
|
+
/** VAST <AdParameters> content (required by spec, use '' when absent). */
|
|
94
|
+
adParameters?: string;
|
|
95
|
+
/** VAST <ClickThrough> URL for the ad. */
|
|
96
|
+
clickThruUri?: string;
|
|
49
97
|
};
|
|
50
98
|
export declare class SimidSession {
|
|
51
99
|
private iframe;
|
|
52
100
|
private adVideo;
|
|
53
101
|
private callbacks;
|
|
54
|
-
private
|
|
102
|
+
private creativeInfo?;
|
|
103
|
+
private msgCounter;
|
|
55
104
|
private pending;
|
|
56
105
|
private messageListener;
|
|
106
|
+
private sessionId;
|
|
107
|
+
private initSent;
|
|
108
|
+
private initPromise;
|
|
57
109
|
private started;
|
|
58
110
|
private destroyed;
|
|
59
|
-
|
|
111
|
+
private mediaListeners;
|
|
112
|
+
private visibilityHandler;
|
|
113
|
+
/**
|
|
114
|
+
* Detected outgoing message format.
|
|
115
|
+
* 'plain' — post plain JS objects (spec default, works with most creatives)
|
|
116
|
+
* 'json-string' — post JSON.stringify(payload) as the message value; used when the
|
|
117
|
+
* creative calls JSON.parse(event.data) to deserialise incoming messages
|
|
118
|
+
* (e.g. Google's compiled SIMID sample creative)
|
|
119
|
+
*/
|
|
120
|
+
private outgoingFormat;
|
|
121
|
+
private _targetOrigin;
|
|
122
|
+
constructor(iframe: HTMLIFrameElement, adVideo: HTMLVideoElement, callbacks: SimidCallbacks, creativeInfo?: SimidCreativeInfo | undefined);
|
|
60
123
|
private nextMsgId;
|
|
124
|
+
/**
|
|
125
|
+
* Returns the target origin for postMessage calls to the creative iframe.
|
|
126
|
+
* Lazily derived from iframe.src so we don't need a constructor argument.
|
|
127
|
+
* Falls back to '*' only when the src is not an absolute URL (e.g. data: URIs
|
|
128
|
+
* used in tests), which is an acceptable edge case.
|
|
129
|
+
*/
|
|
130
|
+
private getTargetOrigin;
|
|
131
|
+
/**
|
|
132
|
+
* Post a payload to the creative's iframe using the detected outgoing format.
|
|
133
|
+
* - 'plain': postMessage(payload, origin)
|
|
134
|
+
* - 'json-string': postMessage(JSON.stringify(payload), origin)
|
|
135
|
+
*/
|
|
136
|
+
private postMsg;
|
|
137
|
+
/**
|
|
138
|
+
* Send a player→creative message that expects a resolve/reject response.
|
|
139
|
+
* Returns a promise that resolves/rejects when the creative responds.
|
|
140
|
+
*/
|
|
61
141
|
private send;
|
|
142
|
+
/**
|
|
143
|
+
* Send a resolve response to the creative for a message it sent us.
|
|
144
|
+
* Per spec: type="resolve", args={ messageId: <original>, value: <payload> }
|
|
145
|
+
*/
|
|
146
|
+
private sendResolve;
|
|
147
|
+
/**
|
|
148
|
+
* Send a reject response to the creative for a message it sent us.
|
|
149
|
+
*/
|
|
150
|
+
private sendReject;
|
|
151
|
+
/**
|
|
152
|
+
* Parse a raw postMessage payload into a SimidMessage.
|
|
153
|
+
* Handles both plain objects and JSON-encoded strings.
|
|
154
|
+
* Auto-detects the outgoing format from the first valid message received.
|
|
155
|
+
*/
|
|
156
|
+
private parseMessageData;
|
|
62
157
|
private handleMessage;
|
|
158
|
+
/**
|
|
159
|
+
* SIMID 1.2: creative sends createSession first.
|
|
160
|
+
* Player responds with resolve, then immediately sends init.
|
|
161
|
+
*/
|
|
162
|
+
private onCreateSession;
|
|
163
|
+
/**
|
|
164
|
+
* Creative signals it is ready for startCreative.
|
|
165
|
+
* If no createSession was received (older creatives), init is sent here as a fallback.
|
|
166
|
+
*/
|
|
63
167
|
private onCreativeReady;
|
|
168
|
+
private buildEnvironmentData;
|
|
169
|
+
private buildCreativeData;
|
|
170
|
+
/** Current media state snapshot, used to respond to SIMID:Creative:getMediaState. */
|
|
171
|
+
private getMediaState;
|
|
172
|
+
/** Manually send SIMID:Player:init (e.g. when not using the automatic handshake). */
|
|
64
173
|
init(creativeData: Record<string, unknown>, environmentData: Record<string, unknown>): Promise<any>;
|
|
174
|
+
/** Manually send SIMID:Player:startCreative. */
|
|
65
175
|
start(): Promise<any>;
|
|
66
176
|
progress(currentTime: number, duration: number): void;
|
|
67
177
|
pause(): void;
|
|
@@ -69,8 +179,15 @@ export declare class SimidSession {
|
|
|
69
179
|
stop(): Promise<any>;
|
|
70
180
|
skip(): void;
|
|
71
181
|
volumeChange(volume: number, muted: boolean): void;
|
|
182
|
+
adDurationChange(duration: number): void;
|
|
72
183
|
resize(width: number, height: number): Promise<any>;
|
|
73
184
|
fatal(errorCode: number, reason: string): void;
|
|
185
|
+
/**
|
|
186
|
+
* Bridge ad video DOM events to SIMID:Media:* postMessages and
|
|
187
|
+
* document visibility changes to SIMID:Player:appBackgrounded/Foregrounded.
|
|
188
|
+
* Called once from the constructor; listeners are cleaned up in destroy().
|
|
189
|
+
*/
|
|
190
|
+
private bindMediaEvents;
|
|
74
191
|
destroy(): void;
|
|
75
192
|
}
|
|
76
193
|
//# sourceMappingURL=simid.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"simid.d.ts","sourceRoot":"","sources":["../../src/simid.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"simid.d.ts","sourceRoot":"","sources":["../../src/simid.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { AdVerification, NormalizedMediaFile, PodAd, VastInput, XmlNonLinearItem
|
|
1
|
+
import type { AdVerification, CaptionResource, NormalizedMediaFile, PodAd, VastClosedCaption, VastInput, XmlNonLinearItem } from './types';
|
|
2
2
|
export declare function isXmlString(src: string): boolean;
|
|
3
3
|
export declare function toXmlDocument(xml: string): XMLDocument;
|
|
4
4
|
export declare function buildParsedForNonLinearFromXml(xmlText: string): XMLDocument;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vast-parser.d.ts","sourceRoot":"","sources":["../../src/vast-parser.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"vast-parser.d.ts","sourceRoot":"","sources":["../../src/vast-parser.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,cAAc,EACd,eAAe,EACf,mBAAmB,EACnB,KAAK,EACL,iBAAiB,EACjB,SAAS,EACT,gBAAgB,EACjB,MAAM,SAAS,CAAC;AAIjB,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAEhD;AAED,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,WAAW,CAEtD;AAED,wBAAgB,8BAA8B,CAAC,OAAO,EAAE,MAAM,GAAG,WAAW,CAE3E;AAED,wBAAsB,cAAc,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC,CAYtE;AAED,wBAAgB,sBAAsB,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAQ/D;AAED,wBAAgB,oBAAoB,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAmBzG;AAID,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,GAAG,EAAE,EAAE,mBAAmB,EAAE,MAAM,EAAE,GAAG,mBAAmB,GAAG,IAAI,CAsB9G;AAED,wBAAgB,6BAA6B,CAAC,QAAQ,EAAE,GAAG,GAAG,MAAM,GAAG,SAAS,CA8C/E;AAID;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,GAAG,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,IAAI,GAAG,MAAM,GAAG,SAAS,CA0C9F;AAID;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,GAAG,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,IAAI,GAAG,cAAc,EAAE,CAyDjG;AAID,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,GAAG,GAAG,GAAG,EAAE,CAmBvD;AAED,wBAAgB,aAAa,CAAC,MAAM,EAAE,GAAG,EAAE,mBAAmB,EAAE,MAAM,EAAE,GAAG,KAAK,EAAE,CA6CjF;AAED,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,EAAE,GAAG,KAAK,EAAE,CAoD7F;AAID,wBAAgB,yBAAyB,CACvC,MAAM,EAAE,GAAG,GACV;IAAE,EAAE,EAAE,GAAG,CAAC;IAAC,QAAQ,EAAE,GAAG,CAAC;IAAC,SAAS,EAAE,GAAG,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,EAAE,CAoCjE;AAED,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,WAAW,GAAG,gBAAgB,EAAE,CAqE5E;AAID,wBAAgB,qBAAqB,CAAC,YAAY,EAAE,GAAG,GAAG,iBAAiB,EAAE,CA2B5E;AAED,wBAAgB,iCAAiC,CAAC,YAAY,EAAE,GAAG,GAAG,eAAe,EAAE,CAetF"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@openplayerjs/ads",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.3.0",
|
|
4
4
|
"description": "VAST/VMAP/Non-linear/companions ad-serving plugin for OpenPlayerJS",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "Rafael Miranda",
|
|
@@ -39,11 +39,11 @@
|
|
|
39
39
|
"openplayer"
|
|
40
40
|
],
|
|
41
41
|
"dependencies": {
|
|
42
|
-
"@dailymotion/vast-client": "^6.4.
|
|
43
|
-
"@dailymotion/vmap": "
|
|
42
|
+
"@dailymotion/vast-client": "^6.4.3",
|
|
43
|
+
"@dailymotion/vmap": "^3.3.3"
|
|
44
44
|
},
|
|
45
45
|
"peerDependencies": {
|
|
46
|
-
"@openplayerjs/core": "^3.
|
|
46
|
+
"@openplayerjs/core": "^3.3.0"
|
|
47
47
|
},
|
|
48
48
|
"devDependencies": {
|
|
49
49
|
"@types/dailymotion__vast-client": "^6.3.0"
|