iodide-project/iodide

validate _all_ API args, break out API arg validation in #1703 into a little library that we can use to

Open

#1,760 opened on Apr 22, 2019

View on GitHub
 (0 comments) (0 reactions) (0 assignees)JavaScript (147 forks)batch import
good first issue

Repository metrics

Stars
 (1,483 stars)
PR merge metrics
 (No merged PRs in 30d)

Description

following from @hamilton's nice file API argument validation in #1703, we should apply argument validation to all of the iodide API. in the process, we should break the argument validation into proptypes-style helper function

see: https://github.com/iodide-project/iodide/pull/1703#discussion_r274200088

export function loadFile(fileName, fetchType, variableName = undefined) {
  argType.validate({
    fileName: [fileName, argType.string],
    fetchType: [fetchType, argType.enum(FETCH_RETURN_TYPES)],
    variableName: [variableName, argType.string.optional]
  })
  return sendFileRequestToEditor(fileName, "LOAD_FILE", {
    fetchType
  }).request.then(handleResourceLoad(fetchType, variableName));
}

Contributor guide