export const makeDirectories = pipe(
Effect.Do(),
Effect.bind("languages", () =>
fetchJSONLocal<string[]>(
paths.ddragon.languages.localPath,
paths.ddragon.languages.type
)
),
Effect.bind("versions", () =>
fetchJSONLocal<string[]>(
paths.ddragon.versions.localPath,
paths.ddragon.versions.type
)
),
Effect.flatMap(({ languages, versions }) =>
pipe(
Effect.unit(),
Effect.flatMap(() => mkDirFrontendAssets),
Effect.flatMap(() => mkDirBackendAssets),
Effect.flatMap(() =>
Effect.forEach(languages, (language) =>
pipe(
pipe(
Effect.unit(),
Effect.flatMap(() => mkDirFrontendDataLanguage(language)),
Effect.flatMap(() => mkDirCDragonLanguage(language)),
Effect.flatMap(() => mkDirDDragonLanguage(language))
),
//slice used to avoid making directories for the versions before data collection
Effect.flatMap(() =>
Effect.forEach(versions.slice(0, -420), (version) =>
pipe(
Effect.unit(),
Effect.flatMap(() => mkDirFrontendDataVersion(language, version)
), ...
export const makeDirectories = pipe(
Effect.Do(),
Effect.bind("languages", () =>
fetchJSONLocal<string[]>(
paths.ddragon.languages.localPath,
paths.ddragon.languages.type
)
),
Effect.bind("versions", () =>
fetchJSONLocal<string[]>(
paths.ddragon.versions.localPath,
paths.ddragon.versions.type
)
),
Effect.flatMap(({ languages, versions }) =>
pipe(
Effect.unit(),
Effect.flatMap(() => mkDirFrontendAssets),
Effect.flatMap(() => mkDirBackendAssets),
Effect.flatMap(() =>
Effect.forEach(languages, (language) =>
pipe(
pipe(
Effect.unit(),
Effect.flatMap(() => mkDirFrontendDataLanguage(language)),
Effect.flatMap(() => mkDirCDragonLanguage(language)),
Effect.flatMap(() => mkDirDDragonLanguage(language))
),
//slice used to avoid making directories for the versions before data collection
Effect.flatMap(() =>
Effect.forEach(versions.slice(0, -420), (version) =>
pipe(
Effect.unit(),
Effect.flatMap(() => mkDirFrontendDataVersion(language, version)
), ...