R/balance.R

# LocationIQ
#
# LocationIQ provides flexible enterprise-grade location based solutions. We work with developers, startups and enterprises worldwide serving billions of requests everyday. This page provides an overview of the technical aspects of our API and will help you get started.
#
# The version of the OpenAPI document: 1.1.0
# 
# Generated by: https://openapi-generator.tech

#' @docType class
#' @title Balance
#' @description Balance Class
#' @format An \code{R6Class} generator object
#' @field status  character [optional]
#'
#' @field balance  \link{Daybalance} [optional]
#'
#'
#' @importFrom R6 R6Class
#' @importFrom jsonlite fromJSON toJSON
#' @export
Balance <- R6::R6Class(
  'Balance',
  public = list(
    `status` = NULL,
    `balance` = NULL,
    initialize = function(`status`=NULL, `balance`=NULL, ...){
      local.optional.var <- list(...)
      if (!is.null(`status`)) {
        stopifnot(is.character(`status`), length(`status`) == 1)
        self$`status` <- `status`
      }
      if (!is.null(`balance`)) {
        stopifnot(R6::is.R6(`balance`))
        self$`balance` <- `balance`
      }
    },
    toJSON = function() {
      BalanceObject <- list()
      if (!is.null(self$`status`)) {
        BalanceObject[['status']] <-
          self$`status`
      }
      if (!is.null(self$`balance`)) {
        BalanceObject[['balance']] <-
          self$`balance`$toJSON()
      }

      BalanceObject
    },
    fromJSON = function(BalanceJson) {
      BalanceObject <- jsonlite::fromJSON(BalanceJson)
      if (!is.null(BalanceObject$`status`)) {
        self$`status` <- BalanceObject$`status`
      }
      if (!is.null(BalanceObject$`balance`)) {
        balanceObject <- Daybalance$new()
        balanceObject$fromJSON(jsonlite::toJSON(BalanceObject$balance, auto_unbox = TRUE, digits = NA))
        self$`balance` <- balanceObject
      }
    },
    toJSONString = function() {
      jsoncontent <- c(
        if (!is.null(self$`status`)) {
        sprintf(
        '"status":
          "%s"
                ',
        self$`status`
        )},
        if (!is.null(self$`balance`)) {
        sprintf(
        '"balance":
        %s
        ',
        jsonlite::toJSON(self$`balance`$toJSON(), auto_unbox=TRUE, digits = NA)
        )}
      )
      jsoncontent <- paste(jsoncontent, collapse = ",")
      paste('{', jsoncontent, '}', sep = "")
    },
    fromJSONString = function(BalanceJson) {
      BalanceObject <- jsonlite::fromJSON(BalanceJson)
      self$`status` <- BalanceObject$`status`
      self$`balance` <- Daybalance$new()$fromJSON(jsonlite::toJSON(BalanceObject$balance, auto_unbox = TRUE, digits = NA))
      self
    }
  )
)
location-iq/locationiq-r-client documentation built on Feb. 28, 2020, 9:42 p.m.