Skip to content

Commit 2924d01

Browse files
Add specs to Calendar.ISO.parse_*/1 functions (#11323)
They have been copied from the Calendar behaviour.
1 parent 283b305 commit 2924d01

File tree

1 file changed

+13
-0
lines changed

1 file changed

+13
-0
lines changed

lib/elixir/lib/calendar/iso.ex

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -156,6 +156,7 @@ defmodule Calendar.ISO do
156156
@type minute :: 0..59
157157
@type second :: 0..59
158158
@type weekday :: :monday | :tuesday | :wednesday | :thursday | :friday | :saturday | :sunday
159+
@type utc_offset :: integer
159160

160161
@typedoc """
161162
Microseconds with stored precision.
@@ -262,6 +263,9 @@ defmodule Calendar.ISO do
262263
"""
263264
@doc since: "1.10.0"
264265
@impl true
266+
@callback parse_time(String.t()) ::
267+
{:ok, {hour, minute, second, microsecond}}
268+
| {:error, atom}
265269
def parse_time(string) when is_binary(string),
266270
do: parse_time(string, :extended)
267271

@@ -336,6 +340,9 @@ defmodule Calendar.ISO do
336340
"""
337341
@doc since: "1.10.0"
338342
@impl true
343+
@spec parse_date(String.t()) ::
344+
{:ok, {year, month, day}}
345+
| {:error, atom}
339346
def parse_date(string) when is_binary(string),
340347
do: parse_date(string, :extended)
341348

@@ -412,6 +419,9 @@ defmodule Calendar.ISO do
412419
"""
413420
@doc since: "1.10.0"
414421
@impl true
422+
@spec parse_naive_datetime(String.t()) ::
423+
{:ok, {year, month, day, hour, minute, second, microsecond}}
424+
| {:error, atom}
415425
def parse_naive_datetime(string) when is_binary(string),
416426
do: parse_naive_datetime(string, :extended)
417427

@@ -507,6 +517,9 @@ defmodule Calendar.ISO do
507517
"""
508518
@doc since: "1.10.0"
509519
@impl true
520+
@spec parse_utc_datetime(String.t()) ::
521+
{:ok, {year, month, day, hour, minute, second, microsecond}, utc_offset}
522+
| {:error, atom}
510523
def parse_utc_datetime(string) when is_binary(string),
511524
do: parse_utc_datetime(string, :extended)
512525

0 commit comments

Comments
 (0)