New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

radio4000-sdk

Package Overview
Dependencies
Maintainers
1
Versions
8
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

radio4000-sdk - npm Package Compare versions

Comparing version 0.1.1 to 0.1.2

139

dist/radio4000-sdk.cjs.js

@@ -9,79 +9,94 @@ 'use strict';

// Helpers to make it easier to work with the Radio4000 Firebase database.
var fetchAndParse = function (url, host) {
if ( host === void 0 ) host = 'https://radio4000.firebaseio.com';
var fetchAndParse = function fetchAndParse(url) {
var host = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'https://radio4000.firebaseio.com';
return fetch("".concat(host, "/").concat(url)).then(function (res) {
return res.json();
}).then(function (data) {
// Catch resolved promise with empty value. Like non-existing slug or id.
if (Object.keys(data).length === 0) throw new Error('Not found');
return data;
});
};
return fetch((host + "/" + url)).then(function (res) { return res.json(); }).then(function (data) {
// Catch resolved promise with empty value. Like non-existing slug or id.
if (Object.keys(data).length === 0) { throw new Error('Not found'); }
return data;
});
var toObject = function toObject(obj, id) {
return Object.assign(obj, {
id: id
});
};
var toObject = function (obj, id) { return Object.assign(obj, { id: id }); };
var toArray = function (data) { return Object.keys(data).map(function (id) { return toObject(data[id], id); }); };
var toArray = function toArray(data) {
return Object.keys(data).map(function (id) {
return toObject(data[id], id);
});
};
function findChannel(id) {
var url = "channels/" + id + ".json";
return fetchAndParse(url).then(function (obj) { return toObject(obj, id); });
var url = "channels/".concat(id, ".json");
return fetchAndParse(url).then(function (obj) {
return toObject(obj, id);
});
}
var findChannels = function (max) {
var url = "channels.json";
if (max) { url += "?orderBy=\"created\"&limitToFirst=" + max; }
return fetchAndParse(url).then(toArray);
var findChannels = function findChannels(max) {
var url = "channels.json";
if (max) url += "?orderBy=\"created\"&limitToFirst=".concat(max);
return fetchAndParse(url).then(toArray);
};
var findChannelBySlug = function (slug) {
var url = "channels.json?orderBy=\"slug\"&startAt=\"" + slug + "\"&endAt=\"" + slug + "\"";
return fetchAndParse(url).then(toArray).then(function (arr) { return arr[0]; });
var findChannelBySlug = function findChannelBySlug(slug) {
var url = "channels.json?orderBy=\"slug\"&startAt=\"".concat(slug, "\"&endAt=\"").concat(slug, "\"");
return fetchAndParse(url).then(toArray).then(function (arr) {
return arr[0];
});
};
var findTrack = function (id) {
var url = "tracks/" + id + ".json";
return fetchAndParse(url).then(function (data) { return toObject(data, id); });
var findTrack = function findTrack(id) {
var url = "tracks/".concat(id, ".json");
return fetchAndParse(url).then(function (data) {
return toObject(data, id);
});
};
var findTracksByChannel = function findTracksByChannel(id) {
if (typeof id !== 'string') {
throw new TypeError('Pass a string with a valid channel id');
}
var findTracksByChannel = function (id) {
if (typeof id !== 'string') {
throw new TypeError('Pass a string with a valid channel id');
}
var url = "tracks.json?orderBy=\"channel\"&startAt=\"" + id + "\"&endAt=\"" + id + "\"";
return (
// Firebase queries through REST are not sorted.
fetchAndParse(url).then(toArray).then(function (arr) { return arr.sort(function (a, b) { return a.created - b.created; }); })
);
var url = "tracks.json?orderBy=\"channel\"&startAt=\"".concat(id, "\"&endAt=\"").concat(id, "\"");
return (// Firebase queries through REST are not sorted.
fetchAndParse(url).then(toArray).then(function (arr) {
return arr.sort(function (a, b) {
return a.created - b.created;
});
})
);
};
function createBackup(slug) {
if (!slug) { throw new Error('Can not export channel without a `slug`'); }
if (!slug) throw new Error('Can not export channel without a `slug`');
var backup;
var cloudinaryUrl = 'https://res.cloudinary.com/radio4000/image/upload';
return findChannelBySlug(slug).then(function (channel) {
// Clean up
delete channel.images;
delete channel.channelPublic;
delete channel.favoriteChannels;
delete channel.isFeatured;
delete channel.isPremium;
var backup;
var cloudinaryUrl = 'https://res.cloudinary.com/radio4000/image/upload';
if (channel.image) {
channel.imageUrl = "".concat(cloudinaryUrl, "/").concat(channel.image);
} // Save current state of backup.
return findChannelBySlug(slug).then(function (channel) {
// Clean up
delete channel.images;
delete channel.channelPublic;
delete channel.favoriteChannels;
delete channel.isFeatured;
delete channel.isPremium;
if (channel.image) {
channel.imageUrl = cloudinaryUrl + "/" + (channel.image);
}
// Save current state of backup.
backup = channel;
return channel;
}).then(function (channel) {
if (!channel.tracks) { return channel; }
return findTracksByChannel(channel.id).then(function (tracks) {
// Clean up tracks
backup.tracks = tracks.map(function (track) {
delete track.channel;
return track;
});
return backup;
});
}).catch(function () { return Promise.reject(new Error('Could not backup your radio')); });
backup = channel;
return channel;
}).then(function (channel) {
if (!channel.tracks) return channel;
return findTracksByChannel(channel.id).then(function (tracks) {
// Clean up tracks
backup.tracks = tracks.map(function (track) {
delete track.channel;
return track;
});
return backup;
});
}).catch(function () {
return Promise.reject(new Error('Could not backup your radio'));
});
}

@@ -88,0 +103,0 @@

import fetch from 'isomorphic-unfetch';
// Helpers to make it easier to work with the Radio4000 Firebase database.
var fetchAndParse = function (url, host) {
if ( host === void 0 ) host = 'https://radio4000.firebaseio.com';
var fetchAndParse = function fetchAndParse(url) {
var host = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'https://radio4000.firebaseio.com';
return fetch("".concat(host, "/").concat(url)).then(function (res) {
return res.json();
}).then(function (data) {
// Catch resolved promise with empty value. Like non-existing slug or id.
if (Object.keys(data).length === 0) throw new Error('Not found');
return data;
});
};
return fetch((host + "/" + url)).then(function (res) { return res.json(); }).then(function (data) {
// Catch resolved promise with empty value. Like non-existing slug or id.
if (Object.keys(data).length === 0) { throw new Error('Not found'); }
return data;
});
var toObject = function toObject(obj, id) {
return Object.assign(obj, {
id: id
});
};
var toObject = function (obj, id) { return Object.assign(obj, { id: id }); };
var toArray = function (data) { return Object.keys(data).map(function (id) { return toObject(data[id], id); }); };
var toArray = function toArray(data) {
return Object.keys(data).map(function (id) {
return toObject(data[id], id);
});
};
function findChannel(id) {
var url = "channels/" + id + ".json";
return fetchAndParse(url).then(function (obj) { return toObject(obj, id); });
var url = "channels/".concat(id, ".json");
return fetchAndParse(url).then(function (obj) {
return toObject(obj, id);
});
}
var findChannels = function (max) {
var url = "channels.json";
if (max) { url += "?orderBy=\"created\"&limitToFirst=" + max; }
return fetchAndParse(url).then(toArray);
var findChannels = function findChannels(max) {
var url = "channels.json";
if (max) url += "?orderBy=\"created\"&limitToFirst=".concat(max);
return fetchAndParse(url).then(toArray);
};
var findChannelBySlug = function (slug) {
var url = "channels.json?orderBy=\"slug\"&startAt=\"" + slug + "\"&endAt=\"" + slug + "\"";
return fetchAndParse(url).then(toArray).then(function (arr) { return arr[0]; });
var findChannelBySlug = function findChannelBySlug(slug) {
var url = "channels.json?orderBy=\"slug\"&startAt=\"".concat(slug, "\"&endAt=\"").concat(slug, "\"");
return fetchAndParse(url).then(toArray).then(function (arr) {
return arr[0];
});
};
var findTrack = function (id) {
var url = "tracks/" + id + ".json";
return fetchAndParse(url).then(function (data) { return toObject(data, id); });
var findTrack = function findTrack(id) {
var url = "tracks/".concat(id, ".json");
return fetchAndParse(url).then(function (data) {
return toObject(data, id);
});
};
var findTracksByChannel = function findTracksByChannel(id) {
if (typeof id !== 'string') {
throw new TypeError('Pass a string with a valid channel id');
}
var findTracksByChannel = function (id) {
if (typeof id !== 'string') {
throw new TypeError('Pass a string with a valid channel id');
}
var url = "tracks.json?orderBy=\"channel\"&startAt=\"" + id + "\"&endAt=\"" + id + "\"";
return (
// Firebase queries through REST are not sorted.
fetchAndParse(url).then(toArray).then(function (arr) { return arr.sort(function (a, b) { return a.created - b.created; }); })
);
var url = "tracks.json?orderBy=\"channel\"&startAt=\"".concat(id, "\"&endAt=\"").concat(id, "\"");
return (// Firebase queries through REST are not sorted.
fetchAndParse(url).then(toArray).then(function (arr) {
return arr.sort(function (a, b) {
return a.created - b.created;
});
})
);
};
function createBackup(slug) {
if (!slug) { throw new Error('Can not export channel without a `slug`'); }
if (!slug) throw new Error('Can not export channel without a `slug`');
var backup;
var cloudinaryUrl = 'https://res.cloudinary.com/radio4000/image/upload';
return findChannelBySlug(slug).then(function (channel) {
// Clean up
delete channel.images;
delete channel.channelPublic;
delete channel.favoriteChannels;
delete channel.isFeatured;
delete channel.isPremium;
var backup;
var cloudinaryUrl = 'https://res.cloudinary.com/radio4000/image/upload';
if (channel.image) {
channel.imageUrl = "".concat(cloudinaryUrl, "/").concat(channel.image);
} // Save current state of backup.
return findChannelBySlug(slug).then(function (channel) {
// Clean up
delete channel.images;
delete channel.channelPublic;
delete channel.favoriteChannels;
delete channel.isFeatured;
delete channel.isPremium;
if (channel.image) {
channel.imageUrl = cloudinaryUrl + "/" + (channel.image);
}
// Save current state of backup.
backup = channel;
return channel;
}).then(function (channel) {
if (!channel.tracks) { return channel; }
return findTracksByChannel(channel.id).then(function (tracks) {
// Clean up tracks
backup.tracks = tracks.map(function (track) {
delete track.channel;
return track;
});
return backup;
});
}).catch(function () { return Promise.reject(new Error('Could not backup your radio')); });
backup = channel;
return channel;
}).then(function (channel) {
if (!channel.tracks) return channel;
return findTracksByChannel(channel.id).then(function (tracks) {
// Clean up tracks
backup.tracks = tracks.map(function (track) {
delete track.channel;
return track;
});
return backup;
});
}).catch(function () {
return Promise.reject(new Error('Could not backup your radio'));
});
}
export { findChannel, findChannels, findChannelBySlug, findTrack, findTracksByChannel, createBackup };

@@ -7,92 +7,107 @@ (function (global, factory) {

fetch = fetch && fetch.hasOwnProperty('default') ? fetch['default'] : fetch;
fetch = fetch && fetch.hasOwnProperty('default') ? fetch['default'] : fetch;
// Helpers to make it easier to work with the Radio4000 Firebase database.
var fetchAndParse = function (url, host) {
if ( host === void 0 ) host = 'https://radio4000.firebaseio.com';
var fetchAndParse = function fetchAndParse(url) {
var host = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'https://radio4000.firebaseio.com';
return fetch("".concat(host, "/").concat(url)).then(function (res) {
return res.json();
}).then(function (data) {
// Catch resolved promise with empty value. Like non-existing slug or id.
if (Object.keys(data).length === 0) throw new Error('Not found');
return data;
});
};
return fetch((host + "/" + url)).then(function (res) { return res.json(); }).then(function (data) {
// Catch resolved promise with empty value. Like non-existing slug or id.
if (Object.keys(data).length === 0) { throw new Error('Not found'); }
return data;
});
};
var toObject = function toObject(obj, id) {
return Object.assign(obj, {
id: id
});
};
var toObject = function (obj, id) { return Object.assign(obj, { id: id }); };
var toArray = function (data) { return Object.keys(data).map(function (id) { return toObject(data[id], id); }); };
var toArray = function toArray(data) {
return Object.keys(data).map(function (id) {
return toObject(data[id], id);
});
};
function findChannel(id) {
var url = "channels/" + id + ".json";
return fetchAndParse(url).then(function (obj) { return toObject(obj, id); });
}
function findChannel(id) {
var url = "channels/".concat(id, ".json");
return fetchAndParse(url).then(function (obj) {
return toObject(obj, id);
});
}
var findChannels = function findChannels(max) {
var url = "channels.json";
if (max) url += "?orderBy=\"created\"&limitToFirst=".concat(max);
return fetchAndParse(url).then(toArray);
};
var findChannelBySlug = function findChannelBySlug(slug) {
var url = "channels.json?orderBy=\"slug\"&startAt=\"".concat(slug, "\"&endAt=\"").concat(slug, "\"");
return fetchAndParse(url).then(toArray).then(function (arr) {
return arr[0];
});
};
var findTrack = function findTrack(id) {
var url = "tracks/".concat(id, ".json");
return fetchAndParse(url).then(function (data) {
return toObject(data, id);
});
};
var findTracksByChannel = function findTracksByChannel(id) {
if (typeof id !== 'string') {
throw new TypeError('Pass a string with a valid channel id');
}
var findChannels = function (max) {
var url = "channels.json";
if (max) { url += "?orderBy=\"created\"&limitToFirst=" + max; }
return fetchAndParse(url).then(toArray);
};
var url = "tracks.json?orderBy=\"channel\"&startAt=\"".concat(id, "\"&endAt=\"").concat(id, "\"");
return (// Firebase queries through REST are not sorted.
fetchAndParse(url).then(toArray).then(function (arr) {
return arr.sort(function (a, b) {
return a.created - b.created;
});
})
);
};
function createBackup(slug) {
if (!slug) throw new Error('Can not export channel without a `slug`');
var backup;
var cloudinaryUrl = 'https://res.cloudinary.com/radio4000/image/upload';
return findChannelBySlug(slug).then(function (channel) {
// Clean up
delete channel.images;
delete channel.channelPublic;
delete channel.favoriteChannels;
delete channel.isFeatured;
delete channel.isPremium;
var findChannelBySlug = function (slug) {
var url = "channels.json?orderBy=\"slug\"&startAt=\"" + slug + "\"&endAt=\"" + slug + "\"";
return fetchAndParse(url).then(toArray).then(function (arr) { return arr[0]; });
};
if (channel.image) {
channel.imageUrl = "".concat(cloudinaryUrl, "/").concat(channel.image);
} // Save current state of backup.
var findTrack = function (id) {
var url = "tracks/" + id + ".json";
return fetchAndParse(url).then(function (data) { return toObject(data, id); });
};
var findTracksByChannel = function (id) {
if (typeof id !== 'string') {
throw new TypeError('Pass a string with a valid channel id');
backup = channel;
return channel;
}).then(function (channel) {
if (!channel.tracks) return channel;
return findTracksByChannel(channel.id).then(function (tracks) {
// Clean up tracks
backup.tracks = tracks.map(function (track) {
delete track.channel;
return track;
});
return backup;
});
}).catch(function () {
return Promise.reject(new Error('Could not backup your radio'));
});
}
var url = "tracks.json?orderBy=\"channel\"&startAt=\"" + id + "\"&endAt=\"" + id + "\"";
return (
// Firebase queries through REST are not sorted.
fetchAndParse(url).then(toArray).then(function (arr) { return arr.sort(function (a, b) { return a.created - b.created; }); })
);
};
function createBackup(slug) {
if (!slug) { throw new Error('Can not export channel without a `slug`'); }
exports.findChannel = findChannel;
exports.findChannels = findChannels;
exports.findChannelBySlug = findChannelBySlug;
exports.findTrack = findTrack;
exports.findTracksByChannel = findTracksByChannel;
exports.createBackup = createBackup;
var backup;
var cloudinaryUrl = 'https://res.cloudinary.com/radio4000/image/upload';
Object.defineProperty(exports, '__esModule', { value: true });
return findChannelBySlug(slug).then(function (channel) {
// Clean up
delete channel.images;
delete channel.channelPublic;
delete channel.favoriteChannels;
delete channel.isFeatured;
delete channel.isPremium;
if (channel.image) {
channel.imageUrl = cloudinaryUrl + "/" + (channel.image);
}
// Save current state of backup.
backup = channel;
return channel;
}).then(function (channel) {
if (!channel.tracks) { return channel; }
return findTracksByChannel(channel.id).then(function (tracks) {
// Clean up tracks
backup.tracks = tracks.map(function (track) {
delete track.channel;
return track;
});
return backup;
});
}).catch(function () { return Promise.reject(new Error('Could not backup your radio')); });
}
exports.findChannel = findChannel;
exports.findChannels = findChannels;
exports.findChannelBySlug = findChannelBySlug;
exports.findTrack = findTrack;
exports.findTracksByChannel = findTracksByChannel;
exports.createBackup = createBackup;
Object.defineProperty(exports, '__esModule', { value: true });
})));

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

!function(n,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("isomorphic-unfetch")):"function"==typeof define&&define.amd?define(["exports","isomorphic-unfetch"],e):e(n.radio4000Sdk={},n.fetch)}(this,function(n,e){"use strict";e=e&&e.hasOwnProperty("default")?e.default:e;var t=function(n,t){return void 0===t&&(t="https://radio4000.firebaseio.com"),e(t+"/"+n).then(function(n){return n.json()}).then(function(n){if(0===Object.keys(n).length)throw new Error("Not found");return n})},r=function(n,e){return Object.assign(n,{id:e})},o=function(n){return Object.keys(n).map(function(e){return r(n[e],e)})};var i=function(n){return t('channels.json?orderBy="slug"&startAt="'+n+'"&endAt="'+n+'"').then(o).then(function(n){return n[0]})},u=function(n){if("string"!=typeof n)throw new TypeError("Pass a string with a valid channel id");return t('tracks.json?orderBy="channel"&startAt="'+n+'"&endAt="'+n+'"').then(o).then(function(n){return n.sort(function(n,e){return n.created-e.created})})};n.findChannel=function(n){return t("channels/"+n+".json").then(function(e){return r(e,n)})},n.findChannels=function(n){var e="channels.json";return n&&(e+='?orderBy="created"&limitToFirst='+n),t(e).then(o)},n.findChannelBySlug=i,n.findTrack=function(n){return t("tracks/"+n+".json").then(function(e){return r(e,n)})},n.findTracksByChannel=u,n.createBackup=function(n){if(!n)throw new Error("Can not export channel without a `slug`");var e;return i(n).then(function(n){return delete n.images,delete n.channelPublic,delete n.favoriteChannels,delete n.isFeatured,delete n.isPremium,n.image&&(n.imageUrl="https://res.cloudinary.com/radio4000/image/upload/"+n.image),e=n,n}).then(function(n){return n.tracks?u(n.id).then(function(n){return e.tracks=n.map(function(n){return delete n.channel,n}),e}):n}).catch(function(){return Promise.reject(new Error("Could not backup your radio"))})},Object.defineProperty(n,"__esModule",{value:!0})});
!function(n,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("isomorphic-unfetch")):"function"==typeof define&&define.amd?define(["exports","isomorphic-unfetch"],e):e(n.radio4000Sdk={},n.fetch)}(this,function(n,e){"use strict";e=e&&e.hasOwnProperty("default")?e.default:e;var t=function(n){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"https://radio4000.firebaseio.com";return e("".concat(t,"/").concat(n)).then(function(n){return n.json()}).then(function(n){if(0===Object.keys(n).length)throw new Error("Not found");return n})},r=function(n,e){return Object.assign(n,{id:e})},o=function(n){return Object.keys(n).map(function(e){return r(n[e],e)})};var c=function(n){var e='channels.json?orderBy="slug"&startAt="'.concat(n,'"&endAt="').concat(n,'"');return t(e).then(o).then(function(n){return n[0]})},a=function(n){if("string"!=typeof n)throw new TypeError("Pass a string with a valid channel id");var e='tracks.json?orderBy="channel"&startAt="'.concat(n,'"&endAt="').concat(n,'"');return t(e).then(o).then(function(n){return n.sort(function(n,e){return n.created-e.created})})};n.findChannel=function(n){var e="channels/".concat(n,".json");return t(e).then(function(e){return r(e,n)})},n.findChannels=function(n){var e="channels.json";return n&&(e+='?orderBy="created"&limitToFirst='.concat(n)),t(e).then(o)},n.findChannelBySlug=c,n.findTrack=function(n){var e="tracks/".concat(n,".json");return t(e).then(function(e){return r(e,n)})},n.findTracksByChannel=a,n.createBackup=function(n){if(!n)throw new Error("Can not export channel without a `slug`");var e;return c(n).then(function(n){return delete n.images,delete n.channelPublic,delete n.favoriteChannels,delete n.isFeatured,delete n.isPremium,n.image&&(n.imageUrl="".concat("https://res.cloudinary.com/radio4000/image/upload","/").concat(n.image)),e=n,n}).then(function(n){return n.tracks?a(n.id).then(function(n){return e.tracks=n.map(function(n){return delete n.channel,n}),e}):n}).catch(function(){return Promise.reject(new Error("Could not backup your radio"))})},Object.defineProperty(n,"__esModule",{value:!0})});
//# sourceMappingURL=radio4000-sdk.min.js.map
{
"name": "radio4000-sdk",
"version": "0.1.1",
"version": "0.1.2",
"license": "MIT",

@@ -14,12 +14,13 @@ "main": "dist/radio4000-sdk.cjs.js",

"pretest": "npm run build",
"release": "release-it --buildCommand 'npm run build'",
"beforeStage": "npm run build",
"release": "release-it",
"test": "xo && ava"
},
"dependencies": {
"isomorphic-unfetch": "^2.0.0"
"isomorphic-unfetch": "^3.0.0"
},
"devDependencies": {
"ava": "^0.25.0",
"bili": "^2.2.7",
"release-it": "^7.3.0",
"ava": "^1.0.1",
"bili": "^3.4.2",
"release-it": "^9.5.1",
"xo": "0.23.0"

@@ -26,0 +27,0 @@ },

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

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

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc