
# dependencies
async = require 'async'
request = require 'request'

# config
platform = 'Dusk_Wired' # Dusk_Wired, ultraviolet, nolan, cotton
amount = 100000

# load icons
icons = {}
request.get {
  url: 'https://apicdn.icons8.com/api/iconsets/v4/latest'
  qs: {amount, platform}
  json: true
}, (err, resp, body) ->
  throw err if err

  async.eachLimit body.icons, 10, ((icon, next) ->
    console.log 'load', icon.name
    request.get {
      url: "https://apicdn.icons8.com/api/iconsets/v4/icon"
      qs: {
        info: false
        id: icon.id
      }
      json: true
    }, (err, resp, body) ->
      return next err if err
      icons[body.icon.commonName] = body.icon.svg
      next()
  ), (err) ->
    throw err if err
    console.log JSON.stringify icons, null, 2
    console.log 'done'
