@@ -343,6 +343,8 @@ defmodule Localize.DateTime.Formatter do
343343 # a signed proleptic year like "-1 BC".
344344 defp era_year ( % { year: year , month: month , day: day , calendar: calendar } )
345345 when is_atom ( calendar ) do
346+ Code . ensure_loaded? ( calendar )
347+
346348 cond do
347349 function_exported? ( calendar , :calendar_year , 3 ) ->
348350 calendar . calendar_year ( year , month , day )
@@ -1212,6 +1214,8 @@ defmodule Localize.DateTime.Formatter do
12121214 end
12131215
12141216 defp iso_week_of_year ( % { year: year , month: month , day: day , calendar: calendar } = date ) do
1217+ Code . ensure_loaded? ( calendar )
1218+
12151219 if function_exported? ( calendar , :iso_week_of_year , 3 ) do
12161220 case calendar . iso_week_of_year ( year , month , day ) do
12171221 { y , w } when is_integer ( y ) and is_integer ( w ) -> { y , w }
@@ -1237,6 +1241,8 @@ defmodule Localize.DateTime.Formatter do
12371241
12381242 defp compute_day_of_year ( % { year: year , month: month , day: day , calendar: calendar } )
12391243 when is_integer ( year ) and is_integer ( month ) and is_integer ( day ) do
1244+ Code . ensure_loaded? ( calendar )
1245+
12401246 if function_exported? ( calendar , :day_of_year , 3 ) do
12411247 calendar . day_of_year ( year , month , day )
12421248 else
0 commit comments