Socket
Socket
Sign inDemoInstall

@honkandgo/spotifyads

Package Overview
Dependencies
17
Maintainers
5
Versions
8
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

Comparing version 1.4.2 to 1.4.3

2

dist/spotifyads.js

@@ -1,2 +0,2 @@

var t,e=(t=require("node-fetch"))&&"object"==typeof t&&"default"in t?t.default:t,n=require("querystring"),r=["clientId","clientSecret"];module.exports=function(t){void 0===t&&(t={});var o=function(t){var o=t.clientId,u=t.clientSecret,a=function(t,e){if(null==t)return{};var n,r,o={},u=Object.keys(t);for(r=0;r<u.length;r++)e.indexOf(n=u[r])>=0||(o[n]=t[n]);return o}(t,r),c=function(t){void 0===t&&(t=3600);var e={},n=function(t){var n=e[t];if(n){var r=Date.now();if(n.inserted+1e3*n.maxAge>r)return n.value;delete e[t]}};return{get:n,set:function(n,r,o){e[n]={value:r,maxAge:o||t,inserted:Date.now()}},has:function(t){return void 0!==n(t)}}}(1800),s=function(t,r,s,i){try{return void 0===i&&(i=a.refreshToken),Promise.resolve(function(t){try{return c.has(t)||c.set(t,function(t){try{return Promise.resolve(e("https://accounts.spotify.com/api/token",{method:"POST",headers:{Authorization:"Basic "+Buffer.from(o+":"+u).toString("base64"),"Content-Type":"application/x-www-form-urlencoded"},body:n.stringify({refresh_token:t,grant_type:"refresh_token"})}).then(function(t){return t.json()}).then(function(t){return t.access_token}))}catch(t){return Promise.reject(t)}}(t)),Promise.resolve(c.get(t))}catch(t){return Promise.reject(t)}}(i)).then(function(n){var o="https://api-partner.spotify.com/ads/v2"+(r.startsWith("/")?"":"/")+r.replace(/\/$/,"");return o="GET"===t&&s?o+"?"+new URLSearchParams(s):o,Promise.resolve(e(o,{method:t,headers:{"Content-Type":"application/json",Authorization:"Bearer "+n},body:s&&"GET"!==t?JSON.stringify(s):null})).then(function(t){return function(e,n){try{var r=Promise.resolve(t.json()).then(function(t){if(t.error)throw new Error(JSON.stringify(t.error));return t})}catch(t){return n(t)}return r&&r.then?r.then(void 0,n):r}(0,function(e){200!==t.status&&console.error(e)})})})}catch(t){return Promise.reject(t)}};return{get:function(t,e,n){return s("GET",t,e,n)},post:function(t,e,n){return s("POST",t,e,n)},put:function(t,e,n){return s("PUT",t,e,n)},patch:function(t,e,n){return s("PATCH",t,e,n)}}}(t),u=o.get,a=o.post,c=o.patch;return{listAdAccounts:function(t){return u("/ad_accounts",null,t)},createCampaign:function(t,e,n){return a("/ad_accounts/"+t+"/campaigns",e,n)},updateCampaign:function(t,e,n,r){return c("/ad_accounts/"+t+"/campaigns/"+e,n,r)},getCampaign:function(t,e,n,r){return u("/ad_accounts/"+t+"/campaigns/"+e,n,r)},getCampaignsByAdAccount:function(t,e){return u("/ad_accounts/"+t+"/campaigns",null,e)},createAd:function(t,e,n){return a("/ad_accounts/"+t+"/ads",e,n)},updateAd:function(t,e,n,r){return c("/ad_accounts/"+t+"/ads/"+e,n,r)},getAd:function(t,e,n,r){return u("/ad_accounts/"+t+"/ads/"+e,n,r)},getAds:function(t,e,n){return u("/ad_accounts/"+t+"/ads",e,n)},getAssets:function(t,e,n){return u("/ad_accounts/"+t+"/assets",e,n)},createAsset:function(t,e,n){return a("/ad_accounts/"+t+"/assets",e,n)},getAdSet:function(t,e,n,r){return u("/ad_accounts/"+t+"/ad_sets/"+e,n,r)},getAdSets:function(t,e,n){return u("/ad_accounts/"+t+"/ad_sets",e,n)},updateAdSet:function(t,e,n,r){return c("/ad_accounts/"+t+"/ad_sets/"+e,n,r)},createAdSet:function(t,e,n){return a("/ad_accounts/"+t+"/ad_sets",e,n)},createReport:function(t,e){return a("/report",t,e)},getGeoTargets:function(t){return u("/targets/geos",t)},getGenreTargets:function(t){return u("/targets/genre",t)},getPlaylistTargets:function(t){return u("/targets/playlist",t)},getAudienceEstimate:function(t,e,n){return a("adAccounts/"+t+"/estimate/audience",e,n)}}};
function t(t){return t&&"object"==typeof t&&"default"in t?t.default:t}var e=t(require("node-fetch")),n=require("querystring"),r=t(require("axios")),a=t(require("form-data"));function o(){return(o=Object.assign?Object.assign.bind():function(t){for(var e=1;e<arguments.length;e++){var n=arguments[e];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(t[r]=n[r])}return t}).apply(this,arguments)}var s=["clientId","clientSecret"];module.exports=function(t){void 0===t&&(t={});var c=function(t){var a=t.clientId,c=t.clientSecret,u=function(t,e){if(null==t)return{};var n,r,a={},o=Object.keys(t);for(r=0;r<o.length;r++)e.indexOf(n=o[r])>=0||(a[n]=t[n]);return a}(t,s),i=function(t){void 0===t&&(t=3600);var e={},n=function(t){var n=e[t];if(n){var r=Date.now();if(n.inserted+1e3*n.maxAge>r)return n.value;delete e[t]}};return{get:n,set:function(n,r,a){e[n]={value:r,maxAge:a||t,inserted:Date.now()}},has:function(t){return void 0!==n(t)}}}(1800),d=function(t){try{return i.has(t)||i.set(t,function(t){try{return Promise.resolve(e("https://accounts.spotify.com/api/token",{method:"POST",headers:{Authorization:"Basic "+Buffer.from(a+":"+c).toString("base64"),"Content-Type":"application/x-www-form-urlencoded"},body:n.stringify({refresh_token:t,grant_type:"refresh_token"})}).then(function(t){return t.json()}).then(function(t){return t.access_token}))}catch(t){return Promise.reject(t)}}(t)),Promise.resolve(i.get(t))}catch(t){return Promise.reject(t)}},f=function(t,n,r,a){try{return void 0===a&&(a=u.refreshToken),Promise.resolve(d(a)).then(function(a){var o="https://api-partner.spotify.com/ads/v2"+(n.startsWith("/")?"":"/")+n.replace(/\/$/,"");return o="GET"===t&&r?o+"?"+new URLSearchParams(r):o,Promise.resolve(e(o,{method:t,headers:{"Content-Type":"application/json",Authorization:"Bearer "+a},body:r&&"GET"!==t?JSON.stringify(r):null})).then(function(t){return function(e,n){try{var r=Promise.resolve(t.json()).then(function(t){if(t.error)throw new Error(JSON.stringify(t.error));return t})}catch(t){return n(t)}return r&&r.then?r.then(void 0,n):r}(0,function(e){200!==t.status&&console.error(e)})})})}catch(t){return Promise.reject(t)}};return{get:function(t,e,n){return f("GET",t,e,n)},post:function(t,e,n,r){return f("POST",t,e,n)},put:function(t,e,n){return f("PUT",t,e,n)},patch:function(t,e,n){return f("PATCH",t,e,n)},postData:function(t,e,n,a){try{return void 0===a&&(a=u.refreshToken),Promise.resolve(d(a)).then(function(e){var a="https://api-partner.spotify.com/ads/v2"+(t.startsWith("/")?"":"/")+t.replace(/\/$/,"");return Promise.resolve(r.post(a,n,{headers:o({},n.getHeaders(),{"content-type":"multipart/form-data",Authorization:"Bearer "+e}),maxContentLength:Infinity,maxBodyLength:Infinity}).catch(function(t){throw new Error(JSON.stringify(t.response.data))}))})}catch(t){return Promise.reject(t)}}}}(t),u=c.get,i=c.post,d=c.patch,f=c.postData;return{listAdAccounts:function(t){return u("/ad_accounts",null,t)},createCampaign:function(t,e,n){return i("/ad_accounts/"+t+"/campaigns",e,n)},updateCampaign:function(t,e,n,r){return d("/ad_accounts/"+t+"/campaigns/"+e,n,r)},getCampaign:function(t,e,n,r){return u("/ad_accounts/"+t+"/campaigns/"+e,n,r)},getCampaignsByAdAccount:function(t,e,n){return u("/ad_accounts/"+t+"/campaigns",e,n)},createAd:function(t,e,n){return i("/ad_accounts/"+t+"/ads",e,n)},updateAd:function(t,e,n,r){return d("/ad_accounts/"+t+"/ads/"+e,n,r)},getAd:function(t,e,n,r){return u("/ad_accounts/"+t+"/ads/"+e,n,r)},getAds:function(t,e,n){return u("/ad_accounts/"+t+"/ads",e,n)},getAssets:function(t,e,n){return u("/ad_accounts/"+t+"/assets",e,n)},createAsset:function(t,e,n){return i("/ad_accounts/"+t+"/assets",e,n)},uploadAsset:function(t,e,n,r,o,s,c){console.log({adAccountId:t,assetId:e,bytes:n,name:r,type:o,contentType:s,refreshToken:c});var u=new a;return u.append("media",n,{filename:r,contentType:s}),u.append("asset_type",o),f("/ad_accounts/"+t+"/assets/"+e+"/upload",void 0,u,c)},getAdSet:function(t,e,n,r){return u("/ad_accounts/"+t+"/ad_sets/"+e,n,r)},getAdSets:function(t,e,n){return u("/ad_accounts/"+t+"/ad_sets",e,n)},updateAdSet:function(t,e,n,r){return d("/ad_accounts/"+t+"/ad_sets/"+e,n,r)},createAdSet:function(t,e,n){return i("/ad_accounts/"+t+"/ad_sets",e,n)},createReport:function(t,e,n){return u("/ad_accounts/"+t+"/aggregate_reports",e,n)},getAdCategories:function(t,e){return u("/ad_categories",t,e)},getGeoTargets:function(t){return u("/targets/geos",t)},getGenreTargets:function(t){return u("/targets/genres",t)},getInterestTargets:function(t){return u("/targets/interests",t)},getPlaylistTargets:function(t){return u("/targets/playlists",t)},getAudienceEstimate:function(t,e,n){return i("/estimates/audience",o({ad_account_id:t},e),n)}}};
//# sourceMappingURL=spotifyads.js.map

@@ -1,2 +0,2 @@

import t from"node-fetch";import{stringify as e}from"querystring";const a=["clientId","clientSecret"];export default function(s={}){const{get:n,post:c,patch:r}=(s=>{let{clientId:n,clientSecret:c}=s,r=function(t,e){if(null==t)return{};var a,s,n={},c=Object.keys(t);for(s=0;s<c.length;s++)e.indexOf(a=c[s])>=0||(n[a]=t[a]);return n}(s,a);const o=((t=3600)=>{const e={},a=t=>{const a=e[t];if(a){const s=Date.now();if(a.inserted+1e3*a.maxAge>s)return a.value;delete e[t]}};return{get:a,set:(a,s,n)=>{e[a]={value:s,maxAge:n||t,inserted:Date.now()}},has:t=>void 0!==a(t)}})(1800),d=async(a,s,d,i=r.refreshToken)=>{const u=await(async a=>(o.has(a)||o.set(a,(async a=>t("https://accounts.spotify.com/api/token",{method:"POST",headers:{Authorization:"Basic "+Buffer.from(`${n}:${c}`).toString("base64"),"Content-Type":"application/x-www-form-urlencoded"},body:e({refresh_token:a,grant_type:"refresh_token"})}).then(t=>t.json()).then(t=>t.access_token))(a)),o.get(a)))(i);let g=`https://api-partner.spotify.com/ads/v2${s.startsWith("/")?"":"/"}${s.replace(/\/$/,"")}`;g="GET"===a&&d?g+"?"+new URLSearchParams(d):g;const p=await t(g,{method:a,headers:{"Content-Type":"application/json",Authorization:"Bearer "+u},body:d&&"GET"!==a?JSON.stringify(d):null});try{const t=await p.json();if(t.error)throw new Error(JSON.stringify(t.error));return t}catch(t){200!==p.status&&console.error(t)}};return{get:async(t,e,a)=>d("GET",t,e,a),post:async(t,e,a)=>d("POST",t,e,a),put:async(t,e,a)=>d("PUT",t,e,a),patch:async(t,e,a)=>d("PATCH",t,e,a)}})(s);return{listAdAccounts:t=>n("/ad_accounts",null,t),createCampaign:(t,e,a)=>c(`/ad_accounts/${t}/campaigns`,e,a),updateCampaign:(t,e,a,s)=>r(`/ad_accounts/${t}/campaigns/${e}`,a,s),getCampaign:(t,e,a,s)=>n(`/ad_accounts/${t}/campaigns/${e}`,a,s),getCampaignsByAdAccount:(t,e)=>n(`/ad_accounts/${t}/campaigns`,null,e),createAd:(t,e,a)=>c(`/ad_accounts/${t}/ads`,e,a),updateAd:(t,e,a,s)=>r(`/ad_accounts/${t}/ads/${e}`,a,s),getAd:(t,e,a,s)=>n(`/ad_accounts/${t}/ads/${e}`,a,s),getAds:(t,e,a)=>n(`/ad_accounts/${t}/ads`,e,a),getAssets:(t,e,a)=>n(`/ad_accounts/${t}/assets`,e,a),createAsset:(t,e,a)=>c(`/ad_accounts/${t}/assets`,e,a),getAdSet:(t,e,a,s)=>n(`/ad_accounts/${t}/ad_sets/${e}`,a,s),getAdSets:(t,e,a)=>n(`/ad_accounts/${t}/ad_sets`,e,a),updateAdSet:(t,e,a,s)=>r(`/ad_accounts/${t}/ad_sets/${e}`,a,s),createAdSet:(t,e,a)=>c(`/ad_accounts/${t}/ad_sets`,e,a),createReport:(t,e)=>c("/report",t,e),getGeoTargets:t=>n("/targets/geos",t),getGenreTargets:t=>n("/targets/genre",t),getPlaylistTargets:t=>n("/targets/playlist",t),getAudienceEstimate:(t,e,a)=>c(`adAccounts/${t}/estimate/audience`,e,a)}}
import t from"node-fetch";import{stringify as e}from"querystring";import a from"axios";import s from"form-data";function n(){return(n=Object.assign?Object.assign.bind():function(t){for(var e=1;e<arguments.length;e++){var a=arguments[e];for(var s in a)Object.prototype.hasOwnProperty.call(a,s)&&(t[s]=a[s])}return t}).apply(this,arguments)}const r=["clientId","clientSecret"];export default function(o={}){const{get:c,post:i,patch:d,postData:p}=(s=>{let{clientId:o,clientSecret:c}=s,i=function(t,e){if(null==t)return{};var a,s,n={},r=Object.keys(t);for(s=0;s<r.length;s++)e.indexOf(a=r[s])>=0||(n[a]=t[a]);return n}(s,r);const d=((t=3600)=>{const e={},a=t=>{const a=e[t];if(a){const s=Date.now();if(a.inserted+1e3*a.maxAge>s)return a.value;delete e[t]}};return{get:a,set:(a,s,n)=>{e[a]={value:s,maxAge:n||t,inserted:Date.now()}},has:t=>void 0!==a(t)}})(1800),p=async a=>(d.has(a)||d.set(a,(async a=>t("https://accounts.spotify.com/api/token",{method:"POST",headers:{Authorization:"Basic "+Buffer.from(`${o}:${c}`).toString("base64"),"Content-Type":"application/x-www-form-urlencoded"},body:e({refresh_token:a,grant_type:"refresh_token"})}).then(t=>t.json()).then(t=>t.access_token))(a)),d.get(a)),u=async(e,a,s,n=i.refreshToken)=>{const r=await p(n);let o=`https://api-partner.spotify.com/ads/v2${a.startsWith("/")?"":"/"}${a.replace(/\/$/,"")}`;o="GET"===e&&s?o+"?"+new URLSearchParams(s):o;const c=await t(o,{method:e,headers:{"Content-Type":"application/json",Authorization:"Bearer "+r},body:s&&"GET"!==e?JSON.stringify(s):null});try{const t=await c.json();if(t.error)throw new Error(JSON.stringify(t.error));return t}catch(t){200!==c.status&&console.error(t)}};return{get:async(t,e,a)=>u("GET",t,e,a),post:async(t,e,a,s)=>u("POST",t,e,a),put:async(t,e,a)=>u("PUT",t,e,a),patch:async(t,e,a)=>u("PATCH",t,e,a),postData:async(t,e,s,r=i.refreshToken)=>{const o=await p(r);let c=`https://api-partner.spotify.com/ads/v2${t.startsWith("/")?"":"/"}${t.replace(/\/$/,"")}`;return await a.post(c,s,{headers:n({},s.getHeaders(),{"content-type":"multipart/form-data",Authorization:"Bearer "+o}),maxContentLength:Infinity,maxBodyLength:Infinity}).catch(t=>{throw new Error(JSON.stringify(t.response.data))})}}})(o);return{listAdAccounts:t=>c("/ad_accounts",null,t),createCampaign:(t,e,a)=>i(`/ad_accounts/${t}/campaigns`,e,a),updateCampaign:(t,e,a,s)=>d(`/ad_accounts/${t}/campaigns/${e}`,a,s),getCampaign:(t,e,a,s)=>c(`/ad_accounts/${t}/campaigns/${e}`,a,s),getCampaignsByAdAccount:(t,e,a)=>c(`/ad_accounts/${t}/campaigns`,e,a),createAd:(t,e,a)=>i(`/ad_accounts/${t}/ads`,e,a),updateAd:(t,e,a,s)=>d(`/ad_accounts/${t}/ads/${e}`,a,s),getAd:(t,e,a,s)=>c(`/ad_accounts/${t}/ads/${e}`,a,s),getAds:(t,e,a)=>c(`/ad_accounts/${t}/ads`,e,a),getAssets:(t,e,a)=>c(`/ad_accounts/${t}/assets`,e,a),createAsset:(t,e,a)=>i(`/ad_accounts/${t}/assets`,e,a),uploadAsset:(t,e,a,n,r,o,c)=>{console.log({adAccountId:t,assetId:e,bytes:a,name:n,type:r,contentType:o,refreshToken:c});const i=new s;return i.append("media",a,{filename:n,contentType:o}),i.append("asset_type",r),p(`/ad_accounts/${t}/assets/${e}/upload`,void 0,i,c)},getAdSet:(t,e,a,s)=>c(`/ad_accounts/${t}/ad_sets/${e}`,a,s),getAdSets:(t,e,a)=>c(`/ad_accounts/${t}/ad_sets`,e,a),updateAdSet:(t,e,a,s)=>d(`/ad_accounts/${t}/ad_sets/${e}`,a,s),createAdSet:(t,e,a)=>i(`/ad_accounts/${t}/ad_sets`,e,a),createReport:(t,e,a)=>c(`/ad_accounts/${t}/aggregate_reports`,e,a),getAdCategories:(t,e)=>c("/ad_categories",t,e),getGeoTargets:t=>c("/targets/geos",t),getGenreTargets:t=>c("/targets/genres",t),getInterestTargets:t=>c("/targets/interests",t),getPlaylistTargets:t=>c("/targets/playlists",t),getAudienceEstimate:(t,e,a)=>i("/estimates/audience",n({ad_account_id:t},e),a)}}
//# sourceMappingURL=spotifyads.modern.js.map

@@ -1,2 +0,2 @@

import t from"node-fetch";import{stringify as e}from"querystring";var n=["clientId","clientSecret"];export default function(r){void 0===r&&(r={});var o=function(r){var o=r.clientId,a=r.clientSecret,u=function(t,e){if(null==t)return{};var n,r,o={},a=Object.keys(t);for(r=0;r<a.length;r++)e.indexOf(n=a[r])>=0||(o[n]=t[n]);return o}(r,n),c=function(t){void 0===t&&(t=3600);var e={},n=function(t){var n=e[t];if(n){var r=Date.now();if(n.inserted+1e3*n.maxAge>r)return n.value;delete e[t]}};return{get:n,set:function(n,r,o){e[n]={value:r,maxAge:o||t,inserted:Date.now()}},has:function(t){return void 0!==n(t)}}}(1800),s=function(n,r,s,i){try{return void 0===i&&(i=u.refreshToken),Promise.resolve(function(n){try{return c.has(n)||c.set(n,function(n){try{return Promise.resolve(t("https://accounts.spotify.com/api/token",{method:"POST",headers:{Authorization:"Basic "+Buffer.from(o+":"+a).toString("base64"),"Content-Type":"application/x-www-form-urlencoded"},body:e({refresh_token:n,grant_type:"refresh_token"})}).then(function(t){return t.json()}).then(function(t){return t.access_token}))}catch(t){return Promise.reject(t)}}(n)),Promise.resolve(c.get(n))}catch(t){return Promise.reject(t)}}(i)).then(function(e){var o="https://api-partner.spotify.com/ads/v2"+(r.startsWith("/")?"":"/")+r.replace(/\/$/,"");return o="GET"===n&&s?o+"?"+new URLSearchParams(s):o,Promise.resolve(t(o,{method:n,headers:{"Content-Type":"application/json",Authorization:"Bearer "+e},body:s&&"GET"!==n?JSON.stringify(s):null})).then(function(t){return function(e,n){try{var r=Promise.resolve(t.json()).then(function(t){if(t.error)throw new Error(JSON.stringify(t.error));return t})}catch(t){return n(t)}return r&&r.then?r.then(void 0,n):r}(0,function(e){200!==t.status&&console.error(e)})})})}catch(t){return Promise.reject(t)}};return{get:function(t,e,n){return s("GET",t,e,n)},post:function(t,e,n){return s("POST",t,e,n)},put:function(t,e,n){return s("PUT",t,e,n)},patch:function(t,e,n){return s("PATCH",t,e,n)}}}(r),a=o.get,u=o.post,c=o.patch;return{listAdAccounts:function(t){return a("/ad_accounts",null,t)},createCampaign:function(t,e,n){return u("/ad_accounts/"+t+"/campaigns",e,n)},updateCampaign:function(t,e,n,r){return c("/ad_accounts/"+t+"/campaigns/"+e,n,r)},getCampaign:function(t,e,n,r){return a("/ad_accounts/"+t+"/campaigns/"+e,n,r)},getCampaignsByAdAccount:function(t,e){return a("/ad_accounts/"+t+"/campaigns",null,e)},createAd:function(t,e,n){return u("/ad_accounts/"+t+"/ads",e,n)},updateAd:function(t,e,n,r){return c("/ad_accounts/"+t+"/ads/"+e,n,r)},getAd:function(t,e,n,r){return a("/ad_accounts/"+t+"/ads/"+e,n,r)},getAds:function(t,e,n){return a("/ad_accounts/"+t+"/ads",e,n)},getAssets:function(t,e,n){return a("/ad_accounts/"+t+"/assets",e,n)},createAsset:function(t,e,n){return u("/ad_accounts/"+t+"/assets",e,n)},getAdSet:function(t,e,n,r){return a("/ad_accounts/"+t+"/ad_sets/"+e,n,r)},getAdSets:function(t,e,n){return a("/ad_accounts/"+t+"/ad_sets",e,n)},updateAdSet:function(t,e,n,r){return c("/ad_accounts/"+t+"/ad_sets/"+e,n,r)},createAdSet:function(t,e,n){return u("/ad_accounts/"+t+"/ad_sets",e,n)},createReport:function(t,e){return u("/report",t,e)},getGeoTargets:function(t){return a("/targets/geos",t)},getGenreTargets:function(t){return a("/targets/genre",t)},getPlaylistTargets:function(t){return a("/targets/playlist",t)},getAudienceEstimate:function(t,e,n){return u("adAccounts/"+t+"/estimate/audience",e,n)}}}
import t from"node-fetch";import{stringify as e}from"querystring";import n from"axios";import r from"form-data";function a(){return(a=Object.assign?Object.assign.bind():function(t){for(var e=1;e<arguments.length;e++){var n=arguments[e];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(t[r]=n[r])}return t}).apply(this,arguments)}var o=["clientId","clientSecret"];export default function(s){void 0===s&&(s={});var c=function(r){var s=r.clientId,c=r.clientSecret,u=function(t,e){if(null==t)return{};var n,r,a={},o=Object.keys(t);for(r=0;r<o.length;r++)e.indexOf(n=o[r])>=0||(a[n]=t[n]);return a}(r,o),i=function(t){void 0===t&&(t=3600);var e={},n=function(t){var n=e[t];if(n){var r=Date.now();if(n.inserted+1e3*n.maxAge>r)return n.value;delete e[t]}};return{get:n,set:function(n,r,a){e[n]={value:r,maxAge:a||t,inserted:Date.now()}},has:function(t){return void 0!==n(t)}}}(1800),d=function(n){try{return i.has(n)||i.set(n,function(n){try{return Promise.resolve(t("https://accounts.spotify.com/api/token",{method:"POST",headers:{Authorization:"Basic "+Buffer.from(s+":"+c).toString("base64"),"Content-Type":"application/x-www-form-urlencoded"},body:e({refresh_token:n,grant_type:"refresh_token"})}).then(function(t){return t.json()}).then(function(t){return t.access_token}))}catch(t){return Promise.reject(t)}}(n)),Promise.resolve(i.get(n))}catch(t){return Promise.reject(t)}},f=function(e,n,r,a){try{return void 0===a&&(a=u.refreshToken),Promise.resolve(d(a)).then(function(a){var o="https://api-partner.spotify.com/ads/v2"+(n.startsWith("/")?"":"/")+n.replace(/\/$/,"");return o="GET"===e&&r?o+"?"+new URLSearchParams(r):o,Promise.resolve(t(o,{method:e,headers:{"Content-Type":"application/json",Authorization:"Bearer "+a},body:r&&"GET"!==e?JSON.stringify(r):null})).then(function(t){return function(e,n){try{var r=Promise.resolve(t.json()).then(function(t){if(t.error)throw new Error(JSON.stringify(t.error));return t})}catch(t){return n(t)}return r&&r.then?r.then(void 0,n):r}(0,function(e){200!==t.status&&console.error(e)})})})}catch(t){return Promise.reject(t)}};return{get:function(t,e,n){return f("GET",t,e,n)},post:function(t,e,n,r){return f("POST",t,e,n)},put:function(t,e,n){return f("PUT",t,e,n)},patch:function(t,e,n){return f("PATCH",t,e,n)},postData:function(t,e,r,o){try{return void 0===o&&(o=u.refreshToken),Promise.resolve(d(o)).then(function(e){var o="https://api-partner.spotify.com/ads/v2"+(t.startsWith("/")?"":"/")+t.replace(/\/$/,"");return Promise.resolve(n.post(o,r,{headers:a({},r.getHeaders(),{"content-type":"multipart/form-data",Authorization:"Bearer "+e}),maxContentLength:Infinity,maxBodyLength:Infinity}).catch(function(t){throw new Error(JSON.stringify(t.response.data))}))})}catch(t){return Promise.reject(t)}}}}(s),u=c.get,i=c.post,d=c.patch,f=c.postData;return{listAdAccounts:function(t){return u("/ad_accounts",null,t)},createCampaign:function(t,e,n){return i("/ad_accounts/"+t+"/campaigns",e,n)},updateCampaign:function(t,e,n,r){return d("/ad_accounts/"+t+"/campaigns/"+e,n,r)},getCampaign:function(t,e,n,r){return u("/ad_accounts/"+t+"/campaigns/"+e,n,r)},getCampaignsByAdAccount:function(t,e,n){return u("/ad_accounts/"+t+"/campaigns",e,n)},createAd:function(t,e,n){return i("/ad_accounts/"+t+"/ads",e,n)},updateAd:function(t,e,n,r){return d("/ad_accounts/"+t+"/ads/"+e,n,r)},getAd:function(t,e,n,r){return u("/ad_accounts/"+t+"/ads/"+e,n,r)},getAds:function(t,e,n){return u("/ad_accounts/"+t+"/ads",e,n)},getAssets:function(t,e,n){return u("/ad_accounts/"+t+"/assets",e,n)},createAsset:function(t,e,n){return i("/ad_accounts/"+t+"/assets",e,n)},uploadAsset:function(t,e,n,a,o,s,c){console.log({adAccountId:t,assetId:e,bytes:n,name:a,type:o,contentType:s,refreshToken:c});var u=new r;return u.append("media",n,{filename:a,contentType:s}),u.append("asset_type",o),f("/ad_accounts/"+t+"/assets/"+e+"/upload",void 0,u,c)},getAdSet:function(t,e,n,r){return u("/ad_accounts/"+t+"/ad_sets/"+e,n,r)},getAdSets:function(t,e,n){return u("/ad_accounts/"+t+"/ad_sets",e,n)},updateAdSet:function(t,e,n,r){return d("/ad_accounts/"+t+"/ad_sets/"+e,n,r)},createAdSet:function(t,e,n){return i("/ad_accounts/"+t+"/ad_sets",e,n)},createReport:function(t,e,n){return u("/ad_accounts/"+t+"/aggregate_reports",e,n)},getAdCategories:function(t,e){return u("/ad_categories",t,e)},getGeoTargets:function(t){return u("/targets/geos",t)},getGenreTargets:function(t){return u("/targets/genres",t)},getInterestTargets:function(t){return u("/targets/interests",t)},getPlaylistTargets:function(t){return u("/targets/playlists",t)},getAudienceEstimate:function(t,e,n){return i("/estimates/audience",a({ad_account_id:t},e),n)}}}
//# sourceMappingURL=spotifyads.module.js.map

@@ -1,2 +0,2 @@

!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e(require("node-fetch"),require("querystring")):"function"==typeof define&&define.amd?define(["node-fetch","querystring"],e):(t=t||self).spotifyads=e(t.nodeFetch,t.querystring)}(this,function(t,e){t=t&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t;var n=["clientId","clientSecret"];return function(r){void 0===r&&(r={});var o=function(r){var o=r.clientId,u=r.clientSecret,c=function(t,e){if(null==t)return{};var n,r,o={},u=Object.keys(t);for(r=0;r<u.length;r++)e.indexOf(n=u[r])>=0||(o[n]=t[n]);return o}(r,n),a=function(t){void 0===t&&(t=3600);var e={},n=function(t){var n=e[t];if(n){var r=Date.now();if(n.inserted+1e3*n.maxAge>r)return n.value;delete e[t]}};return{get:n,set:function(n,r,o){e[n]={value:r,maxAge:o||t,inserted:Date.now()}},has:function(t){return void 0!==n(t)}}}(1800),s=function(n,r,s,i){try{return void 0===i&&(i=c.refreshToken),Promise.resolve(function(n){try{return a.has(n)||a.set(n,function(n){try{return Promise.resolve(t("https://accounts.spotify.com/api/token",{method:"POST",headers:{Authorization:"Basic "+Buffer.from(o+":"+u).toString("base64"),"Content-Type":"application/x-www-form-urlencoded"},body:e.stringify({refresh_token:n,grant_type:"refresh_token"})}).then(function(t){return t.json()}).then(function(t){return t.access_token}))}catch(t){return Promise.reject(t)}}(n)),Promise.resolve(a.get(n))}catch(t){return Promise.reject(t)}}(i)).then(function(e){var o="https://api-partner.spotify.com/ads/v2"+(r.startsWith("/")?"":"/")+r.replace(/\/$/,"");return o="GET"===n&&s?o+"?"+new URLSearchParams(s):o,Promise.resolve(t(o,{method:n,headers:{"Content-Type":"application/json",Authorization:"Bearer "+e},body:s&&"GET"!==n?JSON.stringify(s):null})).then(function(t){return function(e,n){try{var r=Promise.resolve(t.json()).then(function(t){if(t.error)throw new Error(JSON.stringify(t.error));return t})}catch(t){return n(t)}return r&&r.then?r.then(void 0,n):r}(0,function(e){200!==t.status&&console.error(e)})})})}catch(t){return Promise.reject(t)}};return{get:function(t,e,n){return s("GET",t,e,n)},post:function(t,e,n){return s("POST",t,e,n)},put:function(t,e,n){return s("PUT",t,e,n)},patch:function(t,e,n){return s("PATCH",t,e,n)}}}(r),u=o.get,c=o.post,a=o.patch;return{listAdAccounts:function(t){return u("/ad_accounts",null,t)},createCampaign:function(t,e,n){return c("/ad_accounts/"+t+"/campaigns",e,n)},updateCampaign:function(t,e,n,r){return a("/ad_accounts/"+t+"/campaigns/"+e,n,r)},getCampaign:function(t,e,n,r){return u("/ad_accounts/"+t+"/campaigns/"+e,n,r)},getCampaignsByAdAccount:function(t,e){return u("/ad_accounts/"+t+"/campaigns",null,e)},createAd:function(t,e,n){return c("/ad_accounts/"+t+"/ads",e,n)},updateAd:function(t,e,n,r){return a("/ad_accounts/"+t+"/ads/"+e,n,r)},getAd:function(t,e,n,r){return u("/ad_accounts/"+t+"/ads/"+e,n,r)},getAds:function(t,e,n){return u("/ad_accounts/"+t+"/ads",e,n)},getAssets:function(t,e,n){return u("/ad_accounts/"+t+"/assets",e,n)},createAsset:function(t,e,n){return c("/ad_accounts/"+t+"/assets",e,n)},getAdSet:function(t,e,n,r){return u("/ad_accounts/"+t+"/ad_sets/"+e,n,r)},getAdSets:function(t,e,n){return u("/ad_accounts/"+t+"/ad_sets",e,n)},updateAdSet:function(t,e,n,r){return a("/ad_accounts/"+t+"/ad_sets/"+e,n,r)},createAdSet:function(t,e,n){return c("/ad_accounts/"+t+"/ad_sets",e,n)},createReport:function(t,e){return c("/report",t,e)},getGeoTargets:function(t){return u("/targets/geos",t)},getGenreTargets:function(t){return u("/targets/genre",t)},getPlaylistTargets:function(t){return u("/targets/playlist",t)},getAudienceEstimate:function(t,e,n){return c("adAccounts/"+t+"/estimate/audience",e,n)}}}});
!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e(require("node-fetch"),require("querystring"),require("axios"),require("form-data")):"function"==typeof define&&define.amd?define(["node-fetch","querystring","axios","form-data"],e):(t=t||self).spotifyads=e(t.nodeFetch,t.querystring,t.axios,t.formData)}(this,function(t,e,n,r){function a(){return(a=Object.assign?Object.assign.bind():function(t){for(var e=1;e<arguments.length;e++){var n=arguments[e];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(t[r]=n[r])}return t}).apply(this,arguments)}t=t&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t,n=n&&Object.prototype.hasOwnProperty.call(n,"default")?n.default:n,r=r&&Object.prototype.hasOwnProperty.call(r,"default")?r.default:r;var o=["clientId","clientSecret"];return function(s){void 0===s&&(s={});var c=function(r){var s=r.clientId,c=r.clientSecret,u=function(t,e){if(null==t)return{};var n,r,a={},o=Object.keys(t);for(r=0;r<o.length;r++)e.indexOf(n=o[r])>=0||(a[n]=t[n]);return a}(r,o),i=function(t){void 0===t&&(t=3600);var e={},n=function(t){var n=e[t];if(n){var r=Date.now();if(n.inserted+1e3*n.maxAge>r)return n.value;delete e[t]}};return{get:n,set:function(n,r,a){e[n]={value:r,maxAge:a||t,inserted:Date.now()}},has:function(t){return void 0!==n(t)}}}(1800),d=function(n){try{return i.has(n)||i.set(n,function(n){try{return Promise.resolve(t("https://accounts.spotify.com/api/token",{method:"POST",headers:{Authorization:"Basic "+Buffer.from(s+":"+c).toString("base64"),"Content-Type":"application/x-www-form-urlencoded"},body:e.stringify({refresh_token:n,grant_type:"refresh_token"})}).then(function(t){return t.json()}).then(function(t){return t.access_token}))}catch(t){return Promise.reject(t)}}(n)),Promise.resolve(i.get(n))}catch(t){return Promise.reject(t)}},f=function(e,n,r,a){try{return void 0===a&&(a=u.refreshToken),Promise.resolve(d(a)).then(function(a){var o="https://api-partner.spotify.com/ads/v2"+(n.startsWith("/")?"":"/")+n.replace(/\/$/,"");return o="GET"===e&&r?o+"?"+new URLSearchParams(r):o,Promise.resolve(t(o,{method:e,headers:{"Content-Type":"application/json",Authorization:"Bearer "+a},body:r&&"GET"!==e?JSON.stringify(r):null})).then(function(t){return function(e,n){try{var r=Promise.resolve(t.json()).then(function(t){if(t.error)throw new Error(JSON.stringify(t.error));return t})}catch(t){return n(t)}return r&&r.then?r.then(void 0,n):r}(0,function(e){200!==t.status&&console.error(e)})})})}catch(t){return Promise.reject(t)}};return{get:function(t,e,n){return f("GET",t,e,n)},post:function(t,e,n,r){return f("POST",t,e,n)},put:function(t,e,n){return f("PUT",t,e,n)},patch:function(t,e,n){return f("PATCH",t,e,n)},postData:function(t,e,r,o){try{return void 0===o&&(o=u.refreshToken),Promise.resolve(d(o)).then(function(e){var o="https://api-partner.spotify.com/ads/v2"+(t.startsWith("/")?"":"/")+t.replace(/\/$/,"");return Promise.resolve(n.post(o,r,{headers:a({},r.getHeaders(),{"content-type":"multipart/form-data",Authorization:"Bearer "+e}),maxContentLength:Infinity,maxBodyLength:Infinity}).catch(function(t){throw new Error(JSON.stringify(t.response.data))}))})}catch(t){return Promise.reject(t)}}}}(s),u=c.get,i=c.post,d=c.patch,f=c.postData;return{listAdAccounts:function(t){return u("/ad_accounts",null,t)},createCampaign:function(t,e,n){return i("/ad_accounts/"+t+"/campaigns",e,n)},updateCampaign:function(t,e,n,r){return d("/ad_accounts/"+t+"/campaigns/"+e,n,r)},getCampaign:function(t,e,n,r){return u("/ad_accounts/"+t+"/campaigns/"+e,n,r)},getCampaignsByAdAccount:function(t,e,n){return u("/ad_accounts/"+t+"/campaigns",e,n)},createAd:function(t,e,n){return i("/ad_accounts/"+t+"/ads",e,n)},updateAd:function(t,e,n,r){return d("/ad_accounts/"+t+"/ads/"+e,n,r)},getAd:function(t,e,n,r){return u("/ad_accounts/"+t+"/ads/"+e,n,r)},getAds:function(t,e,n){return u("/ad_accounts/"+t+"/ads",e,n)},getAssets:function(t,e,n){return u("/ad_accounts/"+t+"/assets",e,n)},createAsset:function(t,e,n){return i("/ad_accounts/"+t+"/assets",e,n)},uploadAsset:function(t,e,n,a,o,s,c){console.log({adAccountId:t,assetId:e,bytes:n,name:a,type:o,contentType:s,refreshToken:c});var u=new r;return u.append("media",n,{filename:a,contentType:s}),u.append("asset_type",o),f("/ad_accounts/"+t+"/assets/"+e+"/upload",void 0,u,c)},getAdSet:function(t,e,n,r){return u("/ad_accounts/"+t+"/ad_sets/"+e,n,r)},getAdSets:function(t,e,n){return u("/ad_accounts/"+t+"/ad_sets",e,n)},updateAdSet:function(t,e,n,r){return d("/ad_accounts/"+t+"/ad_sets/"+e,n,r)},createAdSet:function(t,e,n){return i("/ad_accounts/"+t+"/ad_sets",e,n)},createReport:function(t,e,n){return u("/ad_accounts/"+t+"/aggregate_reports",e,n)},getAdCategories:function(t,e){return u("/ad_categories",t,e)},getGeoTargets:function(t){return u("/targets/geos",t)},getGenreTargets:function(t){return u("/targets/genres",t)},getInterestTargets:function(t){return u("/targets/interests",t)},getPlaylistTargets:function(t){return u("/targets/playlists",t)},getAudienceEstimate:function(t,e,n){return i("/estimates/audience",a({ad_account_id:t},e),n)}}}});
//# sourceMappingURL=spotifyads.umd.js.map
{
"name": "@honkandgo/spotifyads",
"version": "1.4.2",
"version": "1.4.3",
"license": "MIT",

@@ -19,2 +19,4 @@ "publishConfig": {

"dependencies": {
"axios": "^1.5.1",
"form-data": "^4.0.0",
"node-fetch": "^2.6.1",

@@ -21,0 +23,0 @@ "querystring": "^0.2.1"

import fetch from 'node-fetch'
import { makePool } from './pool'
import { stringify } from 'querystring'
import axios from 'axios'

@@ -60,6 +61,31 @@ export const makeApi = ({ clientId, clientSecret, ...options }) => {

const postData = async (endpoint, params, form, refreshToken = options.refreshToken) => {
const accessToken = await getCachedAccessToken(refreshToken)
let url = `https://api-partner.spotify.com/ads/v2${endpoint.startsWith('/') ? '' : '/'}${
// Remove trailing slash (required for v2.0)
endpoint.replace(/\/$/, '')
}`
const res = await axios
.post(url, form, {
headers: {
...form.getHeaders(),
'content-type': 'multipart/form-data',
Authorization: `Bearer ${accessToken}`
},
// body: params,
maxContentLength: Infinity,
maxBodyLength: Infinity
})
.catch((e) => {
throw new Error(JSON.stringify(e.response.data))
})
return res
}
const get = async (endpoint, params, refreshToken) =>
apiCall('GET', endpoint, params, refreshToken)
const post = async (endpoint, params, refreshToken) =>
apiCall('POST', endpoint, params, refreshToken)
const post = async (endpoint, params, refreshToken, contentType) =>
apiCall('POST', endpoint, params, refreshToken, contentType)
const put = async (endpoint, params, refreshToken) =>

@@ -70,3 +96,3 @@ apiCall('PUT', endpoint, params, refreshToken)

return { get, post, put, patch }
return { get, post, put, patch, postData }
}
import { makeApi } from './api'
import FormData from 'form-data'
export default function GoogleAdsClient(options = {}) {
const { get, post, put, patch } = makeApi(options)
export default function SpotifyAdsClient(options = {}) {
const { get, post, put, patch, postData } = makeApi(options)

@@ -19,4 +20,4 @@ const listAdAccounts = (refreshToken) => {

const getCampaignsByAdAccount = (adAccountId, refreshToken) => {
return get(`/ad_accounts/${adAccountId}/campaigns`, null, refreshToken)
const getCampaignsByAdAccount = (adAccountId, params, refreshToken) => {
return get(`/ad_accounts/${adAccountId}/campaigns`, params, refreshToken)
}

@@ -71,7 +72,31 @@

const uploadAsset = (adAccountId, assetId, bytes, name, type, contentType, refreshToken) => {
console.log({ adAccountId, assetId, bytes, name, type, contentType, refreshToken })
const form = new FormData()
form.append('media', bytes, {
filename: name,
contentType: contentType
})
form.append('asset_type', type)
return postData(
`/ad_accounts/${adAccountId}/assets/${assetId}/upload`,
undefined,
form,
refreshToken
)
}
// Reporting
const createReport = (params, refreshToken) => {
return post('/report', params, refreshToken)
const createReport = (adAccountId, params, refreshToken) => {
return get(`/ad_accounts/${adAccountId}/aggregate_reports`, params, refreshToken)
}
// Reporting
const getAdCategories = (params, refreshToken) => {
return get('/ad_categories', params, refreshToken)
}
// Geo targets

@@ -84,3 +109,3 @@ const getGeoTargets = (params) => {

const getGenreTargets = (params) => {
return get('/targets/genre', params)
return get('/targets/genres', params)
}

@@ -90,8 +115,13 @@

const getPlaylistTargets = (params) => {
return get('/targets/playlist', params)
return get('/targets/playlists', params)
}
// Playlist targets
const getInterestTargets = (params) => {
return get('/targets/interests', params)
}
// Audience estimate
const getAudienceEstimate = (adAccountId, params, refreshToken) => {
return post(`adAccounts/${adAccountId}/estimate/audience`, params, refreshToken)
return post(`/estimates/audience`, { ad_account_id: adAccountId, ...params }, refreshToken)
}

@@ -111,2 +141,3 @@

createAsset,
uploadAsset,
getAdSet,

@@ -117,4 +148,6 @@ getAdSets,

createReport,
getAdCategories,
getGeoTargets,
getGenreTargets,
getInterestTargets,
getPlaylistTargets,

@@ -121,0 +154,0 @@ getAudienceEstimate

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc