code: async function retrieveDescriptor(descriptor) {
  
    // Inline
    if (isPlainObject(descriptor)) {
      descriptor = cloneDeep(descriptor)
  
    // Remote
    } else if (isRemotePath(descriptor)) {
      const res = await axios.get(descriptor)
      descriptor = res.data
  
      // Loading error
      if (res.status >= 400) {
        throw new TableSchemaError(`Can't load descriptor at "${descriptor}"`)
      }
  
    // Local
    } else {
  
      // Browser error
      if (config.IS_BROWSER) {
        throw new TableSchemaError('Local paths are not supported in browser')
      }
  
      // Load/parse data
      try {
        descriptor = await new Promise((resolve, reject) => {
          fs.readFile(descriptor, 'utf-8', (error, data) => {
            if (error) reject(error)
            try {resolve(JSON.parse(data))} catch (error) {reject(error)}
          })
        })
  
      // Load/parse erorr
      } catch (error) {
        throw new TableSchemaError(`Can't load descriptor at "${descriptor}"`)
      }
  
    }
  
    return descriptor
  }
docs: Retrieve descriptor