Skip to content

Commit 22ea1d1

Browse files
committed
Fix doc error
1 parent b7f2aae commit 22ea1d1

2 files changed

Lines changed: 18 additions & 13 deletions

File tree

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -257,7 +257,7 @@ Unity v0.2.0 — type "help" for commands, "quit" to exit
257257

258258
> 3 millilightsecond to mile
259259
558.847191 miles
260-
````
260+
```
261261

262262
## References
263263

lib/unity/gnu_units_importer/registrar.ex

Lines changed: 17 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -62,21 +62,26 @@ defmodule Unity.GnuUnitsImporter.Registrar do
6262
errors: [{String.t(), String.t()}]
6363
}
6464
def register_all(resolved) do
65-
results =
66-
resolved
67-
|> Enum.map(fn {name, {factor, dims}} ->
68-
register_one(name, factor, dims)
65+
{valid_defs, errors} =
66+
Enum.reduce(resolved, {%{}, []}, fn {name, {factor, dims}}, {defs, errs} ->
67+
case build_definition(name, factor, dims) do
68+
{:ok, %{unit: unit_name} = definition} ->
69+
{Map.put(defs, unit_name, Map.delete(definition, :unit)), errs}
70+
71+
{:error, reason} ->
72+
{defs, [{name, reason} | errs]}
73+
end
6974
end)
7075

71-
imported = Enum.count(results, &match?(:ok, &1))
72-
errors = Enum.filter(results, &match?({:error, _, _}, &1))
73-
error_pairs = Enum.map(errors, fn {:error, name, reason} -> {name, reason} end)
76+
# Register all valid definitions in a single persistent_term update
77+
# to avoid accumulating intermediate literal areas in memory.
78+
case Localize.Unit.CustomRegistry.register_batch(valid_defs) do
79+
{:ok, count} ->
80+
%{imported: count, skipped: map_size(resolved) - count, errors: Enum.reverse(errors)}
7481

75-
%{
76-
imported: imported,
77-
skipped: length(results) - imported,
78-
errors: error_pairs
79-
}
82+
{:error, reason} ->
83+
%{imported: 0, skipped: map_size(resolved), errors: [{"batch", reason} | Enum.reverse(errors)]}
84+
end
8085
end
8186

8287
@doc """

0 commit comments

Comments
 (0)