Guard from the missing and invalid function params Is there a nicer way to guard all the inputs against missing and invalid param(s)? A long list of if statement at the top seems so hard to read.

 deliveryForCategory(code, category, dateStart, dateEnd) {
    if (!code) {
      throw Error(ERROR_MISSING_CODE);
    }

    if (!category) {
      throw Error(ERROR_MISSING_CATEGORY);
    }

    if (!DELIVERY_CATEGORIES.has(category)) {
      throw Error(ERROR_INVALID_CATEGORY);
    }

    if (!dateStart || !dateEnd) {
      throw Error(ERROR_MISSING_DATETIME);
    }

    return get(
      `${URL_APP_BASE}/accounts/${code}/delivery/${category}/${dateStart}/${dateEnd}`
    );
  }
What you have done is generally the approach I take; however, if these guards are used a lot throughout the application, perhaps you could refactor them into separate functions:

deliveryForCategory(code, category, dateStart, dateEnd) {
    VerifyCode(code);
    VerifyCatergory(category);
    VerifyDate(dateStart);
}


Potentially name it something like ThrowErrorIfCodeInvalid(code) so it's super clear what it does.