Merge pull request #240 from tidalcycles/load-samples-from-url
feat: support github: links
This commit is contained in:
commit
06d6621c14
1 changed files with 9 additions and 1 deletions
|
|
@ -104,10 +104,18 @@ export const loadGithubSamples = async (path, nameFn) => {
|
||||||
|
|
||||||
export const samples = async (sampleMap, baseUrl = sampleMap._base || '') => {
|
export const samples = async (sampleMap, baseUrl = sampleMap._base || '') => {
|
||||||
if (typeof sampleMap === 'string') {
|
if (typeof sampleMap === 'string') {
|
||||||
|
if (sampleMap.startsWith('github:')) {
|
||||||
|
const [_, path] = sampleMap.split('github:');
|
||||||
|
sampleMap = `https://raw.githubusercontent.com/${path}/strudel.json`;
|
||||||
|
}
|
||||||
const base = sampleMap.split('/').slice(0, -1).join('/');
|
const base = sampleMap.split('/').slice(0, -1).join('/');
|
||||||
return fetch(sampleMap)
|
return fetch(sampleMap)
|
||||||
.then((res) => res.json())
|
.then((res) => res.json())
|
||||||
.then((json) => samples(json, baseUrl || json._base || base));
|
.then((json) => samples(json, baseUrl || json._base || base))
|
||||||
|
.catch((error) => {
|
||||||
|
console.error(error);
|
||||||
|
throw new Error(`error loading "${sampleMap}"`);
|
||||||
|
});
|
||||||
}
|
}
|
||||||
sampleCache.current = {
|
sampleCache.current = {
|
||||||
...sampleCache.current,
|
...sampleCache.current,
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue