Voting helps other researchers find interesting modules.
Not all combinations of optional fields in TimeEndpointProto are allowed. The granularity of time is a path along the directed graph with these edges: second -> minute minute -> hour hour -> day of week hour -> day of month hour -> day of year day of week -> week of month day of week -> week of year day of month -> month day of year -> year week of month -> month week of year -> year month -> year A TimeEndpointProto may not specify two fields that are unordered with respect to each other ("day of year" and "day of week", for instance). The absence of fields larger than any specified field indicates repetition (e.g. no year indicates that the interval occurs every year). The absence of units that are "smaller" than the largest specified unit indicates a default lowest value (no hour means midnight (0)). When intersecting time intervals, "smaller" units repeat within the "larger" unit as many times as necessary. For example, the intersection of the interval from hour 0 to hour 24 with the interval from second 0 to second 1 is equivalent to the union of the set of intervals which represents the first second of every minute of every hour of every day. ----------------------------------------------------------------------------- WARNING - if you add new fields to TimeEndpointProto you need to: - ensure AreTimeEndpointsEquivalent considers the new fields (and update the corresponding tests) -----------------------------------------------------------------------------
day
integer()
nil
dayType
String.t
hour
minute
month
second
week
weekType
year
Unwrap a decoded JSON object into its complex fields.
@type t() :: %GoogleApi.ContentWarehouse.V1.Model.GeostoreTimeEndpointProto{ day: integer() | nil, dayType: String.t() | nil, hour: integer() | nil, minute: integer() | nil, month: String.t() | nil, second: integer() | nil, week: integer() | nil, weekType: String.t() | nil, year: integer() | nil }
@spec decode(struct(), keyword()) :: struct()