diff --git a/Plausible.AsyncInsertRepo.html b/Plausible.AsyncInsertRepo.html index 5ffe34986..9aa5f1f96 100644 --- a/Plausible.AsyncInsertRepo.html +++ b/Plausible.AsyncInsertRepo.html @@ -1140,23 +1140,23 @@ pool to disconnect within the given interval.

See -

Similar to insert_all/2 but with the following differences:

Example:

Repo.query!("create table ecto_ch_demo(a UInt64, b String) engine Null")
+

Similar to insert_all/2 but with the following differences:

  • accepts rows as streams or lists
  • sends rows as a chunked request
  • doesn't autogenerate ids or does any other preprocessing

Example:

Repo.query!("create table ecto_ch_demo(a UInt64, b String) engine Null")
 
-defmodule Demo do
+defmodule Demo do
   use Ecto.Schema
 
   @primary_key false
-  schema "ecto_ch_demo" do
+  schema "ecto_ch_demo" do
     field :a, Ch, type: "UInt64"
     field :b, :string
-  end
-end
+  end
+end
 
-rows = Stream.map(1..100_000, fn i -> %{a: i, b: to_string(i)} end)
-{100_000, nil} = Repo.insert_stream(Demo, rows)
+rows = Stream.map(1..100_000, fn i -> %{a: i, b: to_string(i)} end)
+{100_000, nil} = Repo.insert_stream(Demo, rows)
 
 # schemaless
-{100_000, nil} = Repo.insert_stream("ecto_ch_demo", rows, types: [a: Ch.Types.u64(), b: :string])
+
{100_000, nil} = Repo.insert_stream("ecto_ch_demo", rows, types: [a: Ch.Types.u64(), b: :string])
diff --git a/Plausible.Billing.Quota.html b/Plausible.Billing.Quota.html index 863ed47af..e17338252 100644 --- a/Plausible.Billing.Quota.html +++ b/Plausible.Billing.Quota.html @@ -724,12 +724,12 @@ this user owns + StatsAPI if the user has a configured Stats API key.

Give

Queries the ClickHouse database for the monthly pageview usage. If the given user's subscription is active, past_due, or a deleted (but not yet expired), a map -with the following structure is returned:

%{
-  current_cycle: usage_cycle(),
-  last_cycle: usage_cycle(),
-  penultimate_cycle: usage_cycle()
-}

In all other cases of the subscription status (or a free_10k subscription which -does not have a last_bill_date defined) - the following structure is returned:

%{last_30_days: usage_cycle()}

Given only a user as input, the usage is queried from across all the sites that the +with the following structure is returned:

%{
+  current_cycle: usage_cycle(),
+  last_cycle: usage_cycle(),
+  penultimate_cycle: usage_cycle()
+}

In all other cases of the subscription status (or a free_10k subscription which +does not have a last_bill_date defined) - the following structure is returned:

%{last_30_days: usage_cycle()}

Given only a user as input, the usage is queried from across all the sites that the user owns. Alternatively, given an optional argument of site_ids, the usage from across all those sites is queried instead.

diff --git a/Plausible.Cldr.AcceptLanguage.html b/Plausible.Cldr.AcceptLanguage.html index d50dea73b..973532f90 100644 --- a/Plausible.Cldr.AcceptLanguage.html +++ b/Plausible.Cldr.AcceptLanguage.html @@ -145,7 +145,7 @@ Pages the set of natural languages that are preferred as a response to the request. Language tags function are provided in Cldr.LanguageTag.

The format of an Accept-Language header is as follows in ABNF format:

   Accept-Language = "Accept-Language" ":"
                      1#( language-range [ ";" "q" "=" qvalue ] )
-   language-range  = ( ( 1*8ALPHA *( "-" 1*8ALPHA ) ) | "*" )

Each language-range MAY be given an associated quality value which represents an + language-range = ( ( 1*8ALPHA *( "-" 1*8ALPHA ) ) | "*" )

Each language-range MAY be given an associated quality value which represents an estimate of the user's preference for the languages specified by that range. The quality value defaults to "q=1". For example,

   Accept-Language: da, en-gb;q=0.8, en;q=0.7

would mean: "I prefer Danish, but will accept British English and other types of English."

@@ -258,54 +258,54 @@ a configured Examples -
iex> Plausible.Cldr.AcceptLanguage.best_match("da;q=0.1,zh-TW;q=0.3", TestBackend.Cldr)
-{:ok,
- %Cldr.LanguageTag{
+
iex> Plausible.Cldr.AcceptLanguage.best_match("da;q=0.1,zh-TW;q=0.3", TestBackend.Cldr)
+{:ok,
+ %Cldr.LanguageTag{
    backend: TestBackend.Cldr,
    canonical_locale_name: "zh-TW",
    cldr_locale_name: :"zh-Hant",
-   language_subtags: [],
-   extensions: %{},
+   language_subtags: [],
+   extensions: %{},
    gettext_locale_name: nil,
    language: "zh",
-   locale: %{},
-   private_use: [],
+   locale: %{},
+   private_use: [],
    rbnf_locale_name: :"zh-Hant",
    requested_locale_name: "zh-TW",
    script: :Hant,
    territory: :TW,
-   transform: %{},
-   language_variants: []
- }}
+   transform: %{},
+   language_variants: []
+ }}
 
-iex> Plausible.Cldr.AcceptLanguage.best_match("da;q=0.1,zh-TW;q=0.3", TestBackend.Cldr)
-{:ok,
- %Cldr.LanguageTag{
+iex> Plausible.Cldr.AcceptLanguage.best_match("da;q=0.1,zh-TW;q=0.3", TestBackend.Cldr)
+{:ok,
+ %Cldr.LanguageTag{
    backend: TestBackend.Cldr,
    canonical_locale_name: "zh-TW",
    cldr_locale_name: :"zh-Hant",
-   language_subtags: [],
-   extensions: %{},
+   language_subtags: [],
+   extensions: %{},
    gettext_locale_name: nil,
    language: "zh",
-   locale: %{},
-   private_use: [],
+   locale: %{},
+   private_use: [],
    rbnf_locale_name: :"zh-Hant",
    requested_locale_name: "zh-TW",
    script: :Hant,
    territory: :TW,
-   transform: %{},
-   language_variants: []
- }}
+   transform: %{},
+   language_variants: []
+ }}
 
-iex> Plausible.Cldr.AcceptLanguage.best_match("xx,yy;q=0.3")
-{:error,
- {Cldr.NoMatchingLocale,
-  "No configured locale could be matched to \"xx,yy;q=0.3\""}}
+iex> Plausible.Cldr.AcceptLanguage.best_match("xx,yy;q=0.3")
+{:error,
+ {Cldr.NoMatchingLocale,
+  "No configured locale could be matched to \"xx,yy;q=0.3\""}}
 
-iex> Plausible.Cldr.AcceptLanguage.best_match("invalid_tag")
-{:error, {Cldr.LanguageTag.ParseError,
-  "Expected a BCP47 language tag. Could not parse the remaining \"g\" starting at position 11"}}
+
iex> Plausible.Cldr.AcceptLanguage.best_match("invalid_tag") +{:error, {Cldr.LanguageTag.ParseError, + "Expected a BCP47 language tag. Could not parse the remaining \"g\" starting at position 11"}}
@@ -366,95 +366,95 @@ wuth an error tuple for each invalid tag added at the end of the list.

Example

-
iex> Cldr.AcceptLanguage.parse("da,zh-TW;q=0.3", TestBackend.Cldr)
-{:ok,
- [
-   {1.0,
-    %Cldr.LanguageTag{
+
iex> Cldr.AcceptLanguage.parse("da,zh-TW;q=0.3", TestBackend.Cldr)
+{:ok,
+ [
+   {1.0,
+    %Cldr.LanguageTag{
       backend: TestBackend.Cldr,
       canonical_locale_name: "da",
       cldr_locale_name: :da,
-      language_subtags: [],
-      extensions: %{},
+      language_subtags: [],
+      extensions: %{},
       gettext_locale_name: nil,
       language: "da",
-      locale: %{},
-      private_use: [],
+      locale: %{},
+      private_use: [],
       rbnf_locale_name: :da,
       requested_locale_name: "da",
       script: :Latn,
       territory: :DK,
-      transform: %{},
-      language_variants: []
-    }},
-   {0.3,
-    %Cldr.LanguageTag{
+      transform: %{},
+      language_variants: []
+    }},
+   {0.3,
+    %Cldr.LanguageTag{
       backend: TestBackend.Cldr,
       canonical_locale_name: "zh-TW",
       cldr_locale_name: :"zh-Hant",
-      language_subtags: [],
-      extensions: %{},
+      language_subtags: [],
+      extensions: %{},
       gettext_locale_name: nil,
       language: "zh",
-      locale: %{},
-      private_use: [],
+      locale: %{},
+      private_use: [],
       rbnf_locale_name: :"zh-Hant",
       requested_locale_name: "zh-TW",
       script: :Hant,
       territory: :TW,
-      transform: %{},
-      language_variants: []
-    }}
- ]}
+      transform: %{},
+      language_variants: []
+    }}
+ ]}
 
-iex> Plausible.Cldr.AcceptLanguage.parse("invalid_tag")
-{:error,
- {Cldr.LanguageTag.ParseError,
-  "Expected a BCP47 language tag. Could not parse the remaining \"g\" starting at position 11"}}
+iex> Plausible.Cldr.AcceptLanguage.parse("invalid_tag")
+{:error,
+ {Cldr.LanguageTag.ParseError,
+  "Expected a BCP47 language tag. Could not parse the remaining \"g\" starting at position 11"}}
 
-iex> Plausible.Cldr.AcceptLanguage.parse("da,zh-TW;q=0.3,invalid_tag")
-{:ok,
- [
-   {1.0,
-    %Cldr.LanguageTag{
+iex> Plausible.Cldr.AcceptLanguage.parse("da,zh-TW;q=0.3,invalid_tag")
+{:ok,
+ [
+   {1.0,
+    %Cldr.LanguageTag{
       backend: TestBackend.Cldr,
       canonical_locale_name: "da",
       cldr_locale_name: :da,
-      language_subtags: [],
-      extensions: %{},
+      language_subtags: [],
+      extensions: %{},
       gettext_locale_name: nil,
       language: "da",
-      locale: %{},
-      private_use: [],
+      locale: %{},
+      private_use: [],
       rbnf_locale_name: :da,
       requested_locale_name: "da",
       script: :Latn,
       territory: :DK,
-      transform: %{},
-      language_variants: []
-    }},
-   {0.3,
-    %Cldr.LanguageTag{
+      transform: %{},
+      language_variants: []
+    }},
+   {0.3,
+    %Cldr.LanguageTag{
       backend: TestBackend.Cldr,
       canonical_locale_name: "zh-TW",
       cldr_locale_name: :"zh-Hant",
-      language_subtags: [],
-      extensions: %{},
+      language_subtags: [],
+      extensions: %{},
       gettext_locale_name: nil,
       language: "zh",
-      locale: %{},
-      private_use: [],
+      locale: %{},
+      private_use: [],
       rbnf_locale_name: :"zh-Hant",
       requested_locale_name: "zh-TW",
       script: :Hant,
       territory: :TW,
-      transform: %{},
-      language_variants: []
-    }},
-   {:error,
-    {Cldr.LanguageTag.ParseError,
-     "Expected a BCP47 language tag. Could not parse the remaining \"g\" starting at position 11"}}
- ]}
+
transform: %{}, + language_variants: [] + }}, + {:error, + {Cldr.LanguageTag.ParseError, + "Expected a BCP47 language tag. Could not parse the remaining \"g\" starting at position 11"}} + ]}
@@ -499,92 +499,92 @@ wuth an error tuple for each invalid tag added at the end of the list.

Example

-
iex> Plausible.Cldr.AcceptLanguage.parse!("da,zh-TW;q=0.3")
-[
-  {1.0,
-   %Cldr.LanguageTag{
+
iex> Plausible.Cldr.AcceptLanguage.parse!("da,zh-TW;q=0.3")
+[
+  {1.0,
+   %Cldr.LanguageTag{
      backend: TestBackend.Cldr,
      canonical_locale_name: "da",
      cldr_locale_name: :da,
-     language_subtags: [],
-     extensions: %{},
+     language_subtags: [],
+     extensions: %{},
      gettext_locale_name: nil,
      language: "da",
-     locale: %{},
-     private_use: [],
+     locale: %{},
+     private_use: [],
      rbnf_locale_name: :da,
      requested_locale_name: "da",
      script: :Latn,
      territory: :DK,
-     transform: %{},
-     language_variants: []
-   }},
-  {0.3,
-   %Cldr.LanguageTag{
+     transform: %{},
+     language_variants: []
+   }},
+  {0.3,
+   %Cldr.LanguageTag{
      backend: TestBackend.Cldr,
      canonical_locale_name: "zh-TW",
      cldr_locale_name: :"zh-Hant",
-     language_subtags: [],
-     extensions: %{},
+     language_subtags: [],
+     extensions: %{},
      gettext_locale_name: nil,
      language: "zh",
-     locale: %{},
-     private_use: [],
+     locale: %{},
+     private_use: [],
      rbnf_locale_name: :"zh-Hant",
      requested_locale_name: "zh-TW",
      script: :Hant,
      territory: :TW,
-     transform: %{},
-     language_variants: []
-   }}
-]
+     transform: %{},
+     language_variants: []
+   }}
+]
 
 Plausible.Cldr.AcceptLanguage.parse! "invalid_tag"
 ** (Cldr.AcceptLanguageError) "Expected a BCP47 language tag. Could not parse the remaining "g" starting at position 11
     (ex_cldr) lib/cldr/accept_language.ex:304: Cldr.AcceptLanguage.parse!/1
 
-iex> Plausible.Cldr.AcceptLanguage.parse!("da,zh-TW;q=0.3,invalid_tag")
-[
-  {1.0,
-   %Cldr.LanguageTag{
+iex> Plausible.Cldr.AcceptLanguage.parse!("da,zh-TW;q=0.3,invalid_tag")
+[
+  {1.0,
+   %Cldr.LanguageTag{
      backend: TestBackend.Cldr,
      canonical_locale_name: "da",
      cldr_locale_name: :da,
-     language_subtags: [],
-     extensions: %{},
+     language_subtags: [],
+     extensions: %{},
      gettext_locale_name: nil,
      language: "da",
-     locale: %{},
-     private_use: [],
+     locale: %{},
+     private_use: [],
      rbnf_locale_name: :da,
      requested_locale_name: "da",
      script: :Latn,
      territory: :DK,
-     transform: %{},
-     language_variants: []
-   }},
-  {0.3,
-   %Cldr.LanguageTag{
+     transform: %{},
+     language_variants: []
+   }},
+  {0.3,
+   %Cldr.LanguageTag{
      backend: TestBackend.Cldr,
      canonical_locale_name: "zh-TW",
      cldr_locale_name: :"zh-Hant",
-     language_subtags: [],
-     extensions: %{},
+     language_subtags: [],
+     extensions: %{},
      gettext_locale_name: nil,
      language: "zh",
-     locale: %{},
-     private_use: [],
+     locale: %{},
+     private_use: [],
      rbnf_locale_name: :"zh-Hant",
      requested_locale_name: "zh-TW",
      script: :Hant,
      territory: :TW,
-     transform: %{},
-     language_variants: []
-   }},
-  {:error,
-   {Cldr.LanguageTag.ParseError,
-    "Expected a BCP47 language tag. Could not parse the remaining \"g\" starting at position 11"}}
-]
+
transform: %{}, + language_variants: [] + }}, + {:error, + {Cldr.LanguageTag.ParseError, + "Expected a BCP47 language tag. Could not parse the remaining \"g\" starting at position 11"}} +]
diff --git a/Plausible.Cldr.Currency.html b/Plausible.Cldr.Currency.html index 5427e2231..58d7719b3 100644 --- a/Plausible.Cldr.Currency.html +++ b/Plausible.Cldr.Currency.html @@ -416,11 +416,11 @@ The default is :all. See
FJD: %Cldr.Currency{ + %{

 FJD: %Cldr.Currency{
    cash_digits: 2,
    cash_rounding: 0,
    code: "FJD",
-   count: %{one: "Fijian dollar", other: "Fijian dollars"},
+   count: %{one: "Fijian dollar", other: "Fijian dollars"},
    digits: 2,
    from: nil,
    iso_digits: 2,
@@ -430,12 +430,12 @@ The default is :all. See symbol: "FJD",
    tender: true,
    to: nil
- },
- SUR: %Cldr.Currency{
+ },
+ SUR: %Cldr.Currency{
    cash_digits: 2,
    cash_rounding: 0,
    code: "SUR",
-   count: %{one: "Soviet rouble", other: "Soviet roubles"},
+   count: %{one: "Soviet rouble", other: "Soviet roubles"},
    digits: 2,
    from: nil,
    iso_digits: nil,
@@ -445,7 +445,7 @@ The default is :all. See symbol: "SUR",
    tender: true,
    to: nil
- },
+ },
  ...
 }}
@@ -496,11 +496,11 @@ The default is :all. See Example

MyApp.Cldr.Currency.currencies_for_locale!("en") - => %{

FJD: %Cldr.Currency{
+  => %{

FJD: %Cldr.Currency{
   cash_digits: 2,
   cash_rounding: 0,
   code: "FJD",
-  count: %{one: "Fijian dollar", other: "Fijian dollars"},
+  count: %{one: "Fijian dollar", other: "Fijian dollars"},
   digits: 2,
   from: nil,
   iso_digits: 2,
@@ -510,12 +510,12 @@ The default is :all. See symbol: "FJD",
   tender: true,
   to: nil
-},
-SUR: %Cldr.Currency{
+},
+SUR: %Cldr.Currency{
   cash_digits: 2,
   cash_rounding: 0,
   code: "SUR",
-  count: %{one: "Soviet rouble", other: "Soviet roubles"},
+  count: %{one: "Soviet rouble", other: "Soviet roubles"},
   digits: 2,
   from: nil,
   iso_digits: nil,
@@ -525,7 +525,7 @@ The default is :all. See symbol: "SUR",
   tender: true,
   to: nil
-},
+},
 ...

}

@@ -583,13 +583,13 @@ or a Examples -
iex> Plausible.Cldr.Currency.currency_for_code("AUD")
-{:ok,
-  %Cldr.Currency{
+
iex> Plausible.Cldr.Currency.currency_for_code("AUD")
+{:ok,
+  %Cldr.Currency{
     cash_digits: 2,
     cash_rounding: 0,
     code: "AUD",
-    count: %{one: "Australian dollar", other: "Australian dollars"},
+    count: %{one: "Australian dollar", other: "Australian dollars"},
     digits: 2,
     iso_digits: 2,
     name: "Australian Dollar",
@@ -597,15 +597,15 @@ or a rounding: 0,
     symbol: "A$",
     tender: true
-}}
+}}
 
-iex> Plausible.Cldr.Currency.currency_for_code("THB")
-{:ok,
-  %Cldr.Currency{
+iex> Plausible.Cldr.Currency.currency_for_code("THB")
+{:ok,
+  %Cldr.Currency{
     cash_digits: 2,
     cash_rounding: 0,
     code: "THB",
-    count: %{one: "Thai baht", other: "Thai baht"},
+    count: %{one: "Thai baht", other: "Thai baht"},
     digits: 2,
     iso_digits: 2,
     name: "Thai Baht",
@@ -613,7 +613,7 @@ or a rounding: 0,
     symbol: "THB",
     tender: true
-}}
+}}
@@ -672,12 +672,12 @@ or a Examples -
iex> Plausible.Cldr.Currency.currency_for_code!("AUD")
-%Cldr.Currency{
+
iex> Plausible.Cldr.Currency.currency_for_code!("AUD")
+%Cldr.Currency{
   cash_digits: 2,
   cash_rounding: 0,
   code: "AUD",
-  count: %{one: "Australian dollar", other: "Australian dollars"},
+  count: %{one: "Australian dollar", other: "Australian dollars"},
   digits: 2,
   iso_digits: 2,
   name: "Australian Dollar",
@@ -685,14 +685,14 @@ or a rounding: 0,
   symbol: "A$",
   tender: true
-}
+}
 
-iex> Plausible.Cldr.Currency.currency_for_code!("THB")
-%Cldr.Currency{
+iex> Plausible.Cldr.Currency.currency_for_code!("THB")
+%Cldr.Currency{
   cash_digits: 2,
   cash_rounding: 0,
   code: "THB",
-  count: %{one: "Thai baht", other: "Thai baht"},
+  count: %{one: "Thai baht", other: "Thai baht"},
   digits: 2,
   iso_digits: 2,
   name: "Thai Baht",
@@ -700,7 +700,7 @@ or a rounding: 0,
   symbol: "THB",
   tender: true
-}
+}
@@ -741,15 +741,15 @@ or a Examples -
iex> {:ok, locale} = Plausible.Cldr.validate_locale("en")
+
iex> {:ok, locale} = Plausible.Cldr.validate_locale("en")
 iex> Plausible.Cldr.Currency.currency_from_locale locale
 :USD
 
-iex> {:ok, locale} = Plausible.Cldr.validate_locale("en-AU")
+iex> {:ok, locale} = Plausible.Cldr.validate_locale("en-AU")
 iex> Plausible.Cldr.Currency.currency_from_locale locale
 :AUD
 
-iex> Plausible.Cldr.Currency.currency_from_locale("en-GB")
+iex> Plausible.Cldr.Currency.currency_from_locale("en-GB")
 :GBP
@@ -793,14 +793,14 @@ or a Example -
iex> MyApp.Cldr.Currency.currency_history_for_locale("en")
-{:ok,
-    %{
-    USD: %{from: ~D[1792-01-01], to: nil},
-    USN: %{tender: false},
-    USS: %{from: nil, tender: false, to: ~D[2014-03-01]}
-  }
-}
+
iex> MyApp.Cldr.Currency.currency_history_for_locale("en")
+{:ok,
+    %{
+    USD: %{from: ~D[1792-01-01], to: nil},
+    USN: %{tender: false},
+    USS: %{from: nil, tender: false, to: ~D[2014-03-01]}
+  }
+}
@@ -859,9 +859,9 @@ The default is :all. See Example -
MyApp.Cldr.Currency.currency_strings("en")
-=> {:ok,
- %{
+
MyApp.Cldr.Currency.currency_strings("en")
+=> {:ok,
+ %{
    "mexican silver pesos" => :MXP,
    "sudanese dinar" => :SDD,
    "bad" => :BAD,
@@ -871,7 +871,7 @@ The default is :all. See "guyanaese dollars" => :GYD,
    "equatorial guinean ekwele" => :GQE,
    ...
-  }}
+ }}
@@ -930,8 +930,8 @@ The default is :all. See Example -
MyApp.Cldr.Currency.currency_strings!("en")
-=> %{
+
MyApp.Cldr.Currency.currency_strings!("en")
+=> %{
   "mexican silver pesos" => :MXP,
   "sudanese dinar" => :SDD,
   "bad" => :BAD,
@@ -941,7 +941,7 @@ The default is :all. See "guyanaese dollars" => :GYD,
   "equatorial guinean ekwele" => :GQE,
   ...
- }
+ }
@@ -979,10 +979,10 @@ or a Example -
iex> MyApp.Cldr.Currency.current_currency_from_locale("en")
+
iex> MyApp.Cldr.Currency.current_currency_from_locale("en")
 :USD
 
-iex> MyApp.Cldr.Currency.current_currency_from_locale("en-AU")
+iex> MyApp.Cldr.Currency.current_currency_from_locale("en-AU")
 :AUD
@@ -1030,7 +1030,7 @@ mapping is returned for that territory.

Example

-
iex> Plausible.Cldr.Currency.current_territory_currencies()
+
iex> Plausible.Cldr.Currency.current_territory_currencies()
@@ -1122,11 +1122,11 @@ currency code

Examples

-
iex> Plausible.Cldr.Currency.known_currency_code("AUD")
-{:ok, :AUD}
+
iex> Plausible.Cldr.Currency.known_currency_code("AUD")
+{:ok, :AUD}
 
-iex> Plausible.Cldr.Currency.known_currency_code("GGG")
-{:error, {Cldr.UnknownCurrencyError, "The currency \"GGG\" is invalid"}}
+
iex> Plausible.Cldr.Currency.known_currency_code("GGG") +{:error, {Cldr.UnknownCurrencyError, "The currency \"GGG\" is invalid"}}
@@ -1173,13 +1173,13 @@ currency code

Examples

-
iex> Plausible.Cldr.Currency.known_currency_code?("AUD")
+
iex> Plausible.Cldr.Currency.known_currency_code?("AUD")
 true
 
-iex> Plausible.Cldr.Currency.known_currency_code?("GGG")
+iex> Plausible.Cldr.Currency.known_currency_code?("GGG")
 false
 
-iex> Plausible.Cldr.Currency.known_currency_code?(:XCV)
+iex> Plausible.Cldr.Currency.known_currency_code?(:XCV)
 false
@@ -1214,7 +1214,7 @@ currency code

Example

-
iex> Plausible.Cldr.Currency.known_currency_codes()
+
iex> Plausible.Cldr.Currency.known_currency_codes()
@@ -1273,14 +1273,14 @@ such as 0.05. Optional.

Example

-
iex> Plausible.Cldr.Currency.new(:XAE, name: "Custom Name", digits: 0)
-{:ok,
- %Cldr.Currency{
+
iex> Plausible.Cldr.Currency.new(:XAE, name: "Custom Name", digits: 0)
+{:ok,
+ %Cldr.Currency{
    alt_code: :XAE,
    cash_digits: 0,
    cash_rounding: nil,
    code: :XAE,
-   count: %{other: "Custom Name"},
+   count: %{other: "Custom Name"},
    digits: 0,
    from: nil,
    iso_digits: 0,
@@ -1290,11 +1290,11 @@ such as 0.05. Optional.

symbol: "XAE", tender: false, to: nil - }} -iex> MyApp.Cldr.Currency.new(:XAH, name: "Custom Name") -{:error, "Required options are missing. Required options are [:name, :digits]"} -iex> Plausible.Cldr.Currency.new(:XAE, name: "XAE", digits: 0) -{:error, {Cldr.CurrencyAlreadyDefined, "Currency :XAE is already defined."}}

+
}} +iex> MyApp.Cldr.Currency.new(:XAH, name: "Custom Name") +{:error, "Required options are missing. Required options are [:name, :digits]"} +iex> Plausible.Cldr.Currency.new(:XAE, name: "XAE", digits: 0) +{:error, {Cldr.CurrencyAlreadyDefined, "Currency :XAE is already defined."}}
@@ -1352,20 +1352,20 @@ default is Plaus Examples -
iex> Plausible.Cldr.Currency.pluralize(1, :USD)
-{:ok, "US dollar"}
+
iex> Plausible.Cldr.Currency.pluralize(1, :USD)
+{:ok, "US dollar"}
 
-iex> Plausible.Cldr.Currency.pluralize(3, :USD)
-{:ok, "US dollars"}
+iex> Plausible.Cldr.Currency.pluralize(3, :USD)
+{:ok, "US dollars"}
 
-iex> Plausible.Cldr.Currency.pluralize(12, :USD, locale: "zh")
-{:ok, "美元"}
+iex> Plausible.Cldr.Currency.pluralize(12, :USD, locale: "zh")
+{:ok, "美元"}
 
-iex> Plausible.Cldr.Currency.pluralize(12, :USD, locale: "fr")
-{:ok, "dollars des États-Unis"}
+iex> Plausible.Cldr.Currency.pluralize(12, :USD, locale: "fr")
+{:ok, "dollars des États-Unis"}
 
-iex> Plausible.Cldr.Currency.pluralize(1, :USD, locale: "fr")
-{:ok, "dollar des États-Unis"}
+
iex> Plausible.Cldr.Currency.pluralize(1, :USD, locale: "fr") +{:ok, "dollar des États-Unis"}
@@ -1407,8 +1407,8 @@ or a Example -
iex> MyApp.Cldr.Currency.strings_for_currency(:AUD, "en")
-["a$", "australian dollars", "aud", "australian dollar"]
+
iex> MyApp.Cldr.Currency.strings_for_currency(:AUD, "en")
+["a$", "australian dollars", "aud", "australian dollar"]
diff --git a/Plausible.Cldr.Locale.html b/Plausible.Cldr.Locale.html index e090a3f1e..4d6dac95d 100644 --- a/Plausible.Cldr.Locale.html +++ b/Plausible.Cldr.Locale.html @@ -323,16 +323,16 @@ this specific locale..

Examples

-
iex> Plausible.Cldr.Locale.fallback_locale_names(:"fr-CA")
-{:ok, [:"fr-CA", :fr, :und]}
+
iex> Plausible.Cldr.Locale.fallback_locale_names(:"fr-CA")
+{:ok, [:"fr-CA", :fr, :und]}
 
 # Fallbacks are typically formed by progressively
 # stripping variant, territory and script from the
 # given locale name. But not always - there are
 # certain fallbacks that take a different path.
 
-iex> Plausible.Cldr.Locale.fallback_locale_names(:nb)
-{:ok, [:nb, :no, :und]}
+
iex> Plausible.Cldr.Locale.fallback_locale_names(:nb) +{:ok, [:nb, :no, :und]}
@@ -386,20 +386,20 @@ this specific locale.

Examples

-
Plausible.Cldr.Locale.fallback_locales(:"fr-CA")
-=> {:ok,
-     [#Cldr.LanguageTag<fr-CA [validated]>, #Cldr.LanguageTag<fr [validated]>,
-      #Cldr.LanguageTag<und [validated]>]}
+
Plausible.Cldr.Locale.fallback_locales(:"fr-CA")
+=> {:ok,
+     [#Cldr.LanguageTag<fr-CA [validated]>, #Cldr.LanguageTag<fr [validated]>,
+      #Cldr.LanguageTag<und [validated]>]}
 
 # Fallbacks are typically formed by progressively
 # stripping variant, territory and script from the
 # given locale name. But not always - there are
 # certain fallbacks that take a different path.
 
-Plausible.Cldr.Locale.fallback_locales(:nb))
-=> {:ok,
-     [#Cldr.LanguageTag<nb [validated]>, #Cldr.LanguageTag<no [validated]>,
-      #Cldr.LanguageTag<und [validated]>]}
+
Plausible.Cldr.Locale.fallback_locales(:nb)) +=> {:ok, + [#Cldr.LanguageTag<nb [validated]>, #Cldr.LanguageTag<no [validated]>, + #Cldr.LanguageTag<und [validated]>]}
@@ -530,15 +530,15 @@ generic top-level domain names.

Examples

iex> Plausible.Cldr.Locale.locale_from_host "a.b.com.au"
-Elixir.Plausible.Cldr.validate_locale(:"en-AU")
+Elixir.Plausible.Cldr.validate_locale(:"en-AU")
 
-iex> Plausible.Cldr.Locale.locale_from_host("a.b.com.tv")
-{:error,
- {Cldr.UnknownLocaleError, "No locale was identified for territory \"tv\""}}
+iex> Plausible.Cldr.Locale.locale_from_host("a.b.com.tv")
+{:error,
+ {Cldr.UnknownLocaleError, "No locale was identified for territory \"tv\""}}
 
-iex> Plausible.Cldr.Locale.locale_from_host("a.b.com")
-{:error,
- {Cldr.UnknownLocaleError, "No locale was identified for territory \"com\""}}
+iex> Plausible.Cldr.Locale.locale_from_host("a.b.com") +{:error, + {Cldr.UnknownLocaleError, "No locale was identified for territory \"com\""}}
@@ -680,12 +680,12 @@ be a territory.

Examples

-
iex> Cldr.Locale.territory_from_host("a.b.com.au")
-{:ok, :AU}
+
iex> Cldr.Locale.territory_from_host("a.b.com.au")
+{:ok, :AU}
 
-iex> Cldr.Locale.territory_from_host("a.b.com")
-{:error,
- {Cldr.UnknownLocaleError, "No locale was identified for territory \"com\""}}
+
iex> Cldr.Locale.territory_from_host("a.b.com") +{:error, + {Cldr.UnknownLocaleError, "No locale was identified for territory \"com\""}}
diff --git a/Plausible.Cldr.Number.Cardinal.html b/Plausible.Cldr.Number.Cardinal.html index dc5dcadef..b907532ff 100644 --- a/Plausible.Cldr.Number.Cardinal.html +++ b/Plausible.Cldr.Number.Cardinal.html @@ -452,31 +452,31 @@ The valid substitution keys are :zero, Examples -
iex> Plausible.Cldr.Number.Cardinal.pluralize 1, "en", %{one: "one"}
+
iex> Plausible.Cldr.Number.Cardinal.pluralize 1, "en", %{one: "one"}
 "one"
 
-iex> Plausible.Cldr.Number.Cardinal.pluralize 2, "en", %{one: "one"}
+iex> Plausible.Cldr.Number.Cardinal.pluralize 2, "en", %{one: "one"}
 nil
 
-iex> Plausible.Cldr.Number.Cardinal.pluralize 2, "en", %{one: "one", two: "two", other: "other"}
+iex> Plausible.Cldr.Number.Cardinal.pluralize 2, "en", %{one: "one", two: "two", other: "other"}
 "other"
 
-iex> Plausible.Cldr.Number.Cardinal.pluralize 22, "en", %{one: "one", two: "two", other: "other"}
+iex> Plausible.Cldr.Number.Cardinal.pluralize 22, "en", %{one: "one", two: "two", other: "other"}
 "other"
 
-iex> Plausible.Cldr.Number.Cardinal.pluralize Decimal.new(1), "en", %{one: "one"}
+iex> Plausible.Cldr.Number.Cardinal.pluralize Decimal.new(1), "en", %{one: "one"}
 "one"
 
-iex> Plausible.Cldr.Number.Cardinal.pluralize Decimal.new(2), "en", %{one: "one"}
+iex> Plausible.Cldr.Number.Cardinal.pluralize Decimal.new(2), "en", %{one: "one"}
 nil
 
-iex> Plausible.Cldr.Number.Cardinal.pluralize Decimal.new(2), "en", %{one: "one", two: "two"}
+iex> Plausible.Cldr.Number.Cardinal.pluralize Decimal.new(2), "en", %{one: "one", two: "two"}
 nil
 
-iex> Plausible.Cldr.Number.Cardinal.pluralize 1..10, "ar", %{one: "one", few: "few", other: "other"}
+iex> Plausible.Cldr.Number.Cardinal.pluralize 1..10, "ar", %{one: "one", few: "few", other: "other"}
 "few"
 
-iex> Plausible.Cldr.Number.Cardinal.pluralize 1..10, "en", %{one: "one", few: "few", other: "other"}
+iex> Plausible.Cldr.Number.Cardinal.pluralize 1..10, "en", %{one: "one", few: "few", other: "other"}
 "other"
diff --git a/Plausible.Cldr.Number.Format.html b/Plausible.Cldr.Number.Format.html index 7bd090d73..505f4972d 100644 --- a/Plausible.Cldr.Number.Format.html +++ b/Plausible.Cldr.Number.Format.html @@ -465,7 +465,7 @@ to precompile all the known formats at compile time.

Example

#=> Plausible.Cldr.Number.Format.Format.decimal_format_list
-["#", "#,##,##0%",
+["#", "#,##,##0%",
 "#,##,##0.###", "#,##,##0.00¤", "#,##,##0.00¤;(#,##,##0.00¤)",
 "#,##,##0 %", "#,##0%", "#,##0.###", "#,##0.00 ¤",
 "#,##0.00 ¤;(#,##0.00 ¤)", "#,##0.00¤", "#,##0.00¤;(#,##0.00¤)",
@@ -475,7 +475,7 @@ to precompile all the known formats at compile time.

"000 B ¤", "000 E ¤", "000 K ¤", "000 MRD ¤", "000 Md ¤", "000 Mio'.' ¤", "000 Mio ¤", "000 Mld ¤", "000 Mln ¤", "000 Mn ¤", "000 Mrd'.' ¤", "000 Mrd ¤", "000 Mr ¤", "000 M ¤", "000 NT ¤", "000 N ¤", "000 Tn ¤", -"000 Tr ¤", ...]

+"000 Tr ¤", ...]
@@ -523,8 +523,8 @@ the known formats at compile time. Its use is not otherwise recommended.

Example

-
iex> Plausible.Cldr.Number.Format.decimal_format_list_for(:en)
-{:ok, ["#,##0%", "#,##0.###", "#,##0.00", "#,##0.00;(#,##0.00)","#E0",
+
iex> Plausible.Cldr.Number.Format.decimal_format_list_for(:en)
+{:ok, ["#,##0%", "#,##0.###", "#,##0.00", "#,##0.00;(#,##0.00)","#E0",
  "0 billion", "0 million", "0 thousand",
  "0 trillion", "00 billion", "00 million", "00 thousand", "00 trillion",
  "000 billion", "000 million", "000 thousand", "000 trillion", "000B", "000K",
@@ -532,7 +532,7 @@ the known formats at compile time. Its use is not otherwise recommended.

"¤#,##0.00", "¤#,##0.00;(¤#,##0.00)", "¤000B", "¤000K", "¤000M", "¤000T", "¤00B", "¤00K", "¤00M", "¤00T", "¤0B", "¤0K", "¤0M", "¤0T", "¤ #,##0.00", "¤ #,##0.00;(¤ #,##0.00)", "¤ 000B", "¤ 000K", "¤ 000M", - "¤ 000T", "¤ 00B", "¤ 00K", "¤ 00M", "¤ 00T", "¤ 0B", "¤ 0K", "¤ 0M", "¤ 0T"]}

+
"¤ 000T", "¤ 00B", "¤ 00K", "¤ 00M", "¤ 00T", "¤ 0B", "¤ 0K", "¤ 0M", "¤ 0T"]}
@@ -585,8 +585,8 @@ is Plausible.Cld Examples -
iex> Plausible.Cldr.Number.Format.default_grouping_for(:en)
-{:ok, %{fraction: %{first: 0, rest: 0}, integer: %{first: 3, rest: 3}}}
+
iex> Plausible.Cldr.Number.Format.default_grouping_for(:en)
+{:ok, %{fraction: %{first: 0, rest: 0}, integer: %{first: 3, rest: 3}}}
@@ -638,8 +638,8 @@ is Plausible.Cld Examples -
iex> Plausible.Cldr.Number.Format.default_grouping_for!(:en)
-%{fraction: %{first: 0, rest: 0}, integer: %{first: 3, rest: 3}}
+
iex> Plausible.Cldr.Number.Format.default_grouping_for!(:en)
+%{fraction: %{first: 0, rest: 0}, integer: %{first: 3, rest: 3}}
@@ -696,18 +696,18 @@ by percent: "#,##0 %", scientific: "#E0", standard: "#,##0.###" - currency_short: [{"1000", [one: "0 k ¤", other: "0 k ¤"]}, - {"10000", [one: "00 k ¤", other: "00 k ¤"]}, - {"100000", [one: "000 k ¤", other: "000 k ¤"]}, - {"1000000", [one: "0 M ¤", other: "0 M ¤"]}, - {"10000000", [one: "00 M ¤", other: "00 M ¤"]}, - {"100000000", [one: "000 M ¤", other: "000 M ¤"]}, - {"1000000000", [one: "0 Md ¤", other: "0 Md ¤"]}, - {"10000000000", [one: "00 Md ¤", other: "00 Md ¤"]}, - {"100000000000", [one: "000 Md ¤", other: "000 Md ¤"]}, - {"1000000000000", [one: "0 Bn ¤", other: "0 Bn ¤"]}, - {"10000000000000", [one: "00 Bn ¤", other: "00 Bn ¤"]}, - {"100000000000000", [one: "000 Bn ¤", other: "000 Bn ¤"]}], + currency_short: [{"1000", [one: "0 k ¤", other: "0 k ¤"]}, + {"10000", [one: "00 k ¤", other: "00 k ¤"]}, + {"100000", [one: "000 k ¤", other: "000 k ¤"]}, + {"1000000", [one: "0 M ¤", other: "0 M ¤"]}, + {"10000000", [one: "00 M ¤", other: "00 M ¤"]}, + {"100000000", [one: "000 M ¤", other: "000 M ¤"]}, + {"1000000000", [one: "0 Md ¤", other: "0 Md ¤"]}, + {"10000000000", [one: "00 Md ¤", other: "00 Md ¤"]}, + {"100000000000", [one: "000 Md ¤", other: "000 Md ¤"]}, + {"1000000000000", [one: "0 Bn ¤", other: "0 Bn ¤"]}, + {"10000000000000", [one: "00 Bn ¤", other: "00 Bn ¤"]}, + {"100000000000000", [one: "000 Bn ¤", other: "000 Bn ¤"]}], ... }
@@ -798,8 +798,8 @@ is Plausible.Cld Examples -
iex> Plausible.Cldr.Number.Format.minimum_grouping_digits_for("en")
-{:ok, 1}
+
iex> Plausible.Cldr.Number.Format.minimum_grouping_digits_for("en")
+{:ok, 1}
@@ -851,7 +851,7 @@ is Plausible.Cld Examples -
iex> Plausible.Cldr.Number.Format.minimum_grouping_digits_for!("en")
+
iex> Plausible.Cldr.Number.Format.minimum_grouping_digits_for!("en")
 1
diff --git a/Plausible.Cldr.Number.Ordinal.html b/Plausible.Cldr.Number.Ordinal.html index 5f8430ed8..f9634dbe9 100644 --- a/Plausible.Cldr.Number.Ordinal.html +++ b/Plausible.Cldr.Number.Ordinal.html @@ -455,31 +455,31 @@ The valid substitution keys are :zero, Examples -
iex> Plausible.Cldr.Number.Ordinal.pluralize 1, :en, %{one: "one"}
+
iex> Plausible.Cldr.Number.Ordinal.pluralize 1, :en, %{one: "one"}
 "one"
 
-iex> Plausible.Cldr.Number.Ordinal.pluralize 2, :en, %{one: "one"}
+iex> Plausible.Cldr.Number.Ordinal.pluralize 2, :en, %{one: "one"}
 nil
 
-iex> Plausible.Cldr.Number.Ordinal.pluralize 2, :en, %{one: "one", two: "two"}
+iex> Plausible.Cldr.Number.Ordinal.pluralize 2, :en, %{one: "one", two: "two"}
 "two"
 
-iex> Plausible.Cldr.Number.Ordinal.pluralize 22, :en, %{one: "one", two: "two", other: "other"}
+iex> Plausible.Cldr.Number.Ordinal.pluralize 22, :en, %{one: "one", two: "two", other: "other"}
 "two"
 
-iex> Plausible.Cldr.Number.Ordinal.pluralize Decimal.new(1), :en, %{one: "one"}
+iex> Plausible.Cldr.Number.Ordinal.pluralize Decimal.new(1), :en, %{one: "one"}
 "one"
 
-iex> Plausible.Cldr.Number.Ordinal.pluralize Decimal.new(2), :en, %{one: "one"}
+iex> Plausible.Cldr.Number.Ordinal.pluralize Decimal.new(2), :en, %{one: "one"}
 nil
 
-iex> Plausible.Cldr.Number.Ordinal.pluralize Decimal.new(2), :en, %{one: "one", two: "two"}
+iex> Plausible.Cldr.Number.Ordinal.pluralize Decimal.new(2), :en, %{one: "one", two: "two"}
 "two"
 
-iex> Plausible.Cldr.Number.Ordinal.pluralize 1..10, "ar", %{one: "one", few: "few", other: "other"}
+iex> Plausible.Cldr.Number.Ordinal.pluralize 1..10, "ar", %{one: "one", few: "few", other: "other"}
 "other"
 
-iex> Plausible.Cldr.Number.Ordinal.pluralize 1..10, "en", %{one: "one", few: "few", other: "other"}
+iex> Plausible.Cldr.Number.Ordinal.pluralize 1..10, "en", %{one: "one", few: "few", other: "other"}
 "other"
diff --git a/Plausible.Cldr.Number.Symbol.html b/Plausible.Cldr.Number.Symbol.html index bc2cafa7f..fc85fe05b 100644 --- a/Plausible.Cldr.Number.Symbol.html +++ b/Plausible.Cldr.Number.Symbol.html @@ -375,9 +375,9 @@ is Plausible.Cld Example: -
iex> Plausible.Cldr.Number.Symbol.number_symbols_for(:th)
-{:ok, %{
-   latn: %Cldr.Number.Symbol{
+
iex> Plausible.Cldr.Number.Symbol.number_symbols_for(:th)
+{:ok, %{
+   latn: %Cldr.Number.Symbol{
      decimal: ".",
      exponential: "E",
      group: ",",
@@ -390,8 +390,8 @@ is Plausible.Cld
      plus_sign: "+",
      superscripting_exponent: "×",
      time_separator: ":"
-   },
-   thai: %Cldr.Number.Symbol{
+   },
+   thai: %Cldr.Number.Symbol{
      decimal: ".",
      exponential: "E",
      group: ",",
@@ -404,8 +404,8 @@ is Plausible.Cld
      plus_sign: "+",
      superscripting_exponent: "×",
      time_separator: ":"
-   }
- }}
+
} + }}
diff --git a/Plausible.Cldr.Number.System.html b/Plausible.Cldr.Number.System.html index 1b3c88829..b05dcd159 100644 --- a/Plausible.Cldr.Number.System.html +++ b/Plausible.Cldr.Number.System.html @@ -314,23 +314,23 @@ it is returned as is.

Examples

iex> Plausible.Cldr.Number.System.number_system_for "th", :latn
-{:ok, %{digits: "0123456789", type: :numeric}}
+{:ok, %{digits: "0123456789", type: :numeric}}
 
 iex> Plausible.Cldr.Number.System.number_system_for "en", :default
-{:ok, %{digits: "0123456789", type: :numeric}}
+{:ok, %{digits: "0123456789", type: :numeric}}
 
 iex> Plausible.Cldr.Number.System.number_system_for "he", :traditional
-{:ok, %{rules: "hebrew", type: :algorithmic}}
+{:ok, %{rules: "hebrew", type: :algorithmic}}
 
 iex> Plausible.Cldr.Number.System.number_system_for "en", :native
-{:ok, %{digits: "0123456789", type: :numeric}}
+{:ok, %{digits: "0123456789", type: :numeric}}
 
 iex> Plausible.Cldr.Number.System.number_system_for "en", :finance
-{
+{
   :error,
-  {Cldr.UnknownNumberSystemError,
-    "The number system :finance is unknown for the locale named :en. Valid number systems are %{default: :latn, native: :latn}"}
-}
+ {Cldr.UnknownNumberSystemError, + "The number system :finance is unknown for the locale named :en. Valid number systems are %{default: :latn, native: :latn}"} +}
@@ -421,10 +421,10 @@ or a Examples
iex> Plausible.Cldr.Number.System.number_system_names_for "en"
-{:ok, [:latn]}
+{:ok, [:latn]}
 
 iex> Plausible.Cldr.Number.System.number_system_names_for "zz"
-{:error, {Cldr.InvalidLanguageError, "The language \"zz\" is invalid"}}
+{:error, {Cldr.InvalidLanguageError, "The language \"zz\" is invalid"}}
@@ -506,13 +506,13 @@ or a Examples
iex> Plausible.Cldr.Number.System.number_systems_for "en"
-{:ok, %{default: :latn, native: :latn}}
+{:ok, %{default: :latn, native: :latn}}
 
 iex> Plausible.Cldr.Number.System.number_systems_for "th"
-{:ok, %{default: :latn, native: :thai}}
+{:ok, %{default: :latn, native: :thai}}
 
 iex> Plausible.Cldr.Number.System.number_systems_for "zz"
-{:error, {Cldr.InvalidLanguageError, "The language \"zz\" is invalid"}}
+{:error, {Cldr.InvalidLanguageError, "The language \"zz\" is invalid"}}
@@ -610,20 +610,20 @@ actual system name.

Examples

-
ex> Plausible.Cldr.Number.System.system_name_from(:default, "en")
-{:ok, :latn}
+
ex> Plausible.Cldr.Number.System.system_name_from(:default, "en")
+{:ok, :latn}
 
-iex> Plausible.Cldr.Number.System.system_name_from("latn", "en")
-{:ok, :latn}
+iex> Plausible.Cldr.Number.System.system_name_from("latn", "en")
+{:ok, :latn}
 
-iex> Plausible.Cldr.Number.System.system_name_from(:native, "en")
-{:ok, :latn}
+iex> Plausible.Cldr.Number.System.system_name_from(:native, "en")
+{:ok, :latn}
 
-iex> Plausible.Cldr.Number.System.system_name_from(:nope, "en")
-{
+iex> Plausible.Cldr.Number.System.system_name_from(:nope, "en")
+{
   :error,
-  {Cldr.UnknownNumberSystemError, "The number system :nope is unknown"}
-}

Note that return value is not guaranteed to be a valid + {Cldr.UnknownNumberSystemError, "The number system :nope is unknown"} +}

Note that return value is not guaranteed to be a valid number system for the given locale as demonstrated in the third example.

@@ -670,16 +670,16 @@ is recommended.

Examples

iex> Plausible.Cldr.Number.System.to_system 123456, :hebr
-{:ok, "קכ״ג׳תנ״ו"}
+{:ok, "קכ״ג׳תנ״ו"}
 
 iex> Plausible.Cldr.Number.System.to_system 123, :hans
-{:ok, "一百二十三"}
+{:ok, "一百二十三"}
 
 iex> Plausible.Cldr.Number.System.to_system 123, :hant
-{:ok, "一百二十三"}
+{:ok, "一百二十三"}
 
 iex> Plausible.Cldr.Number.System.to_system 123, :hansfin
-{:ok, "壹佰贰拾叁"}
+{:ok, "壹佰贰拾叁"}
diff --git a/Plausible.Cldr.Number.Transliterate.html b/Plausible.Cldr.Number.Transliterate.html index 5c296fb5f..a62926b41 100644 --- a/Plausible.Cldr.Number.Transliterate.html +++ b/Plausible.Cldr.Number.Transliterate.html @@ -159,12 +159,12 @@ digits between number systems. For example from :arabic to :latn. Since genera transliteration map is slow, pairs of transliterations can be configured so that the transliteration map is created at compile time and therefore speeding up transliteration at run time.

To configure these transliteration pairs, add the to the use Cldr configuration -in a backend module:

defmodule MyApp.Cldr do
+in a backend module:

defmodule MyApp.Cldr do
   use Cldr,
-  locale: ["en", "fr", "th"],
+  locale: ["en", "fr", "th"],
   default_locale: "en",
-  precompile_transliterations: [{:latn, :thai}, {:arab, :thai}]
-end

Where each tuple in the list configures one transliteration map. In this example, two maps are + precompile_transliterations: [{:latn, :thai}, {:arab, :thai}] +end

Where each tuple in the list configures one transliteration map. In this example, two maps are configured: from :latn to :thai and from :arab to :thai.

A list of configurable number systems is returned by Cldr.Number.System.numeric_systems/0.

If a transliteration is requested between two number pairs that have not been configured for precompilation, a warning is logged.

@@ -278,22 +278,22 @@ and Examples -
iex> Plausible.Cldr.Number.Transliterate.transliterate("123556")
+
iex> Plausible.Cldr.Number.Transliterate.transliterate("123556")
 "123556"
 
-iex> Plausible.Cldr.Number.Transliterate.transliterate("123,556.000", "fr", :default)
+iex> Plausible.Cldr.Number.Transliterate.transliterate("123,556.000", "fr", :default)
 "123 556,000"
 
-iex> Plausible.Cldr.Number.Transliterate.transliterate("123556", "th", :default)
+iex> Plausible.Cldr.Number.Transliterate.transliterate("123556", "th", :default)
 "123556"
 
-iex> Plausible.Cldr.Number.Transliterate.transliterate("123556", "th", "thai")
+iex> Plausible.Cldr.Number.Transliterate.transliterate("123556", "th", "thai")
 "๑๒๓๕๕๖"
 
-iex> Plausible.Cldr.Number.Transliterate.transliterate("123556", "th", :native)
+iex> Plausible.Cldr.Number.Transliterate.transliterate("123556", "th", :native)
 "๑๒๓๕๕๖"
 
-iex> Plausible.Cldr.Number.Transliterate.transliterate("Some number is: 123556", "th", "thai")
+iex> Plausible.Cldr.Number.Transliterate.transliterate("Some number is: 123556", "th", "thai")
 "Some number is: ๑๒๓๕๕๖"
diff --git a/Plausible.Cldr.Number.html b/Plausible.Cldr.Number.html index 856778cbc..a60c85560 100644 --- a/Plausible.Cldr.Number.html +++ b/Plausible.Cldr.Number.html @@ -438,19 +438,19 @@ using the Elixir standard library functions.

Examples

-
iex> Plausible.Cldr.Number.parse("+1.000,34", locale: "de")
-{:ok, 1000.34}
+
iex> Plausible.Cldr.Number.parse("+1.000,34", locale: "de")
+{:ok, 1000.34}
 
-iex> Plausible.Cldr.Number.parse("-1_000_000.34")
-{:ok, -1000000.34}
+iex> Plausible.Cldr.Number.parse("-1_000_000.34")
+{:ok, -1000000.34}
 
-iex> Plausible.Cldr.Number.parse("1.000", locale: "de", number: :integer)
-{:ok, 1000}
+iex> Plausible.Cldr.Number.parse("1.000", locale: "de", number: :integer)
+{:ok, 1000}
 
-iex> Plausible.Cldr.Number.parse("+1.000,34", locale: "de", number: :integer)
-{:error,
-  {Cldr.Number.ParseError,
-   "The string \"+1.000,34\" could not be parsed as a number"}}
+
iex> Plausible.Cldr.Number.parse("+1.000,34", locale: "de", number: :integer) +{:error, + {Cldr.Number.ParseError, + "The string \"+1.000,34\" could not be parsed as a number"}}
@@ -522,17 +522,17 @@ financial instruments.

Examples

-
iex> Plausible.Cldr.Number.scan("100 US dollars")
+
iex> Plausible.Cldr.Number.scan("100 US dollars")
 ...> |> Plausible.Cldr.Number.resolve_currencies
-[100, :USD]
+[100, :USD]
 
-iex> Plausible.Cldr.Number.scan("100 eurosports")
-...> |> Plausible.Cldr.Number.resolve_currencies(fuzzy: 0.75)
-[100, :EUR]
+iex> Plausible.Cldr.Number.scan("100 eurosports")
+...> |> Plausible.Cldr.Number.resolve_currencies(fuzzy: 0.75)
+[100, :EUR]
 
-iex> Plausible.Cldr.Number.scan("100 dollars des États-Unis")
-...> |> Plausible.Cldr.Number.resolve_currencies(locale: "fr")
-[100, :USD]
+
iex> Plausible.Cldr.Number.scan("100 dollars des États-Unis") +...> |> Plausible.Cldr.Number.resolve_currencies(locale: "fr") +[100, :USD]
@@ -609,19 +609,19 @@ financial instruments.

Examples

-
iex> Plausible.Cldr.Number.resolve_currency("US dollars")
-[:USD]
+
iex> Plausible.Cldr.Number.resolve_currency("US dollars")
+[:USD]
 
-iex> Plausible.Cldr.Number.resolve_currency("100 eurosports", fuzzy: 0.75)
-[:EUR]
+iex> Plausible.Cldr.Number.resolve_currency("100 eurosports", fuzzy: 0.75)
+[:EUR]
 
-iex> Plausible.Cldr.Number.resolve_currency("dollars des États-Unis", locale: "fr")
-[:USD]
+iex> Plausible.Cldr.Number.resolve_currency("dollars des États-Unis", locale: "fr")
+[:USD]
 
-iex> Plausible.Cldr.Number.resolve_currency("not a known currency", locale: "fr")
-{:error,
- {Cldr.UnknownCurrencyError,
-  "The currency \"not a known currency\" is unknown or not supported"}}
+
iex> Plausible.Cldr.Number.resolve_currency("not a known currency", locale: "fr") +{:error, + {Cldr.UnknownCurrencyError, + "The currency \"not a known currency\" is unknown or not supported"}}
@@ -685,13 +685,13 @@ The default is options[:backend].get_locale()Examples
iex> Plausible.Cldr.Number.resolve_per "11%"
-["11", :percent]
+["11", :percent]
 
 iex> Plausible.Cldr.Number.resolve_per "% of linguists"
-[:percent, " of linguists"]
+[:percent, " of linguists"]
 
 iex> Plausible.Cldr.Number.resolve_per "% of linguists %"
-[:percent, " of linguists ", :percent]
+[:percent, " of linguists ", :percent]
@@ -748,9 +748,9 @@ The default is options[:backend].get_locale() Examples -
iex> Plausible.Cldr.Number.scan("100%")
-...> |> Plausible.Cldr.Number.resolve_pers()
-[100, :percent]
+
iex> Plausible.Cldr.Number.scan("100%")
+...> |> Plausible.Cldr.Number.resolve_pers()
+[100, :percent]
@@ -810,20 +810,20 @@ and any options provided are passed to that function.

Examples

-
iex> Plausible.Cldr.Number.scan("£1_000_000.34")
-["£", 1000000.34]
+
iex> Plausible.Cldr.Number.scan("£1_000_000.34")
+["£", 1000000.34]
 
-iex> Plausible.Cldr.Number.scan("I want £1_000_000 dollars")
-["I want £", 1000000, " dollars"]
+iex> Plausible.Cldr.Number.scan("I want £1_000_000 dollars")
+["I want £", 1000000, " dollars"]
 
-iex> Plausible.Cldr.Number.scan("The prize is 23")
-["The prize is ", 23]
+iex> Plausible.Cldr.Number.scan("The prize is 23")
+["The prize is ", 23]
 
-iex> Plausible.Cldr.Number.scan("The lottery number is 23 for the next draw")
-["The lottery number is ", 23, " for the next draw"]
+iex> Plausible.Cldr.Number.scan("The lottery number is 23 for the next draw")
+["The lottery number is ", 23, " for the next draw"]
 
-iex> Plausible.Cldr.Number.scan("The loss is -1.000 euros", locale: "de", number: :integer)
-["The loss is ", -1000, " euros"]
+
iex> Plausible.Cldr.Number.scan("The loss is -1.000 euros", locale: "de", number: :integer) +["The loss is ", -1000, " euros"]
@@ -870,7 +870,7 @@ options.

Example

iex> Plausible.Cldr.Number.to_approx_string 1234
-{:ok, "~1,234"}
+{:ok, "~1,234"}
@@ -917,7 +917,7 @@ options.

Example

iex> Plausible.Cldr.Number.to_at_least_string 1234
-{:ok, "1,234+"}
+{:ok, "1,234+"}
@@ -964,7 +964,7 @@ options.

Example

iex> Plausible.Cldr.Number.to_at_most_string 1234
-{:ok, "≤1,234"}
+{:ok, "≤1,234"}
@@ -1011,7 +1011,7 @@ options.

Example

iex> Plausible.Cldr.Number.to_range_string 1234..5678
-{:ok, "1,234–5,678"}
+{:ok, "1,234–5,678"}
@@ -1130,21 +1130,21 @@ extensions.

iex> Cldr.Number.to_string(100, format: :currency, currency: :USD, wrapper: fn +applied to the symbol than the number. For example:

iex> Cldr.Number.to_string(100, format: :currency, currency: :USD, wrapper: fn
 ...>   string, :currency_symbol -> "<span class=\"symbol\">" <> string <> "</span>"
 ...>   string, :number -> "<span class=\"number\">" <> string <> "</span>"
 ...>   string, :currency_space -> "<span>" <> string <> "</span>"
 ...>   string, _other -> string
-...> end)
-{:ok, "<span class=\"symbol\">$</span><span class=\"number\">100.00</span>"}

It is also possible and recommended to use the Phoenix.HTML.Tag.content_tag/3 +...> end) +{:ok, "<span class=\"symbol\">$</span><span class=\"number\">100.00</span>"}

It is also possible and recommended to use the Phoenix.HTML.Tag.content_tag/3 function if wrapping HTML tags since these will ensure HTML entities are -correctly encoded. For example:

iex> Cldr.Number.to_string(100, format: :currency, currency: :USD, wrapper: fn
-...>   string, :currency_symbol -> Phoenix.HTML.Tag.content_tag(:span, string, class: "symbol")
-...>   string, :number -> Phoenix.HTML.Tag.content_tag(:span, string, class: "number")
-...>   string, :currency_space -> Phoenix.HTML.Tag.content_tag(:span, string)
+correctly encoded.  For example:

iex> Cldr.Number.to_string(100, format: :currency, currency: :USD, wrapper: fn
+...>   string, :currency_symbol -> Phoenix.HTML.Tag.content_tag(:span, string, class: "symbol")
+...>   string, :number -> Phoenix.HTML.Tag.content_tag(:span, string, class: "number")
+...>   string, :currency_space -> Phoenix.HTML.Tag.content_tag(:span, string)
 ...>   string, _other -> string
-...> end)
-{:ok, "<span class=\"symbol\">$</span><span class=\"number\">100.00</span>"}

When formatting a number the format is parsed into format elements that might include +...> end) +{:ok, "<span class=\"symbol\">$</span><span class=\"number\">100.00</span>"}

When formatting a number the format is parsed into format elements that might include a currency symbol, a literal string, inserted text between a currency symbol and the currency amount, a percent sign, the number itself and several other elements. In some cases it is helpful to be apply specific formatting to each element. @@ -1165,80 +1165,80 @@ inserted in the final formatted number.

Examples

iex> Plausible.Cldr.Number.to_string 12345
-{:ok, "12,345"}
+{:ok, "12,345"}
 
 iex> Plausible.Cldr.Number.to_string 12345, locale: "fr"
-{:ok, "12 345"}
+{:ok, "12 345"}
 
 iex> Plausible.Cldr.Number.to_string 1345.32, currency: :EUR, locale: "es", minimum_grouping_digits: 1
-{:ok, "1.345,32 €"}
+{:ok, "1.345,32 €"}
 
 iex> Plausible.Cldr.Number.to_string 1345.32, currency: :EUR, locale: "es"
-{:ok, "1345,32 €"}
+{:ok, "1345,32 €"}
 
 iex> Plausible.Cldr.Number.to_string 12345, locale: "fr", currency: "USD"
-{:ok, "12 345,00 $US"}
+{:ok, "12 345,00 $US"}
 
 iex> Plausible.Cldr.Number.to_string 12345, format: "#E0"
-{:ok, "1.2345E4"}
+{:ok, "1.2345E4"}
 
 iex> Plausible.Cldr.Number.to_string 12345, format: :accounting, currency: "THB"
-{:ok, "THB 12,345.00"}
+{:ok, "THB 12,345.00"}
 
 iex> Plausible.Cldr.Number.to_string -12345, format: :accounting, currency: "THB"
-{:ok, "(THB 12,345.00)"}
+{:ok, "(THB 12,345.00)"}
 
 iex> Plausible.Cldr.Number.to_string 12345, format: :accounting, currency: "THB",
 ...> locale: "th"
-{:ok, "฿12,345.00"}
+{:ok, "฿12,345.00"}
 
 iex> Plausible.Cldr.Number.to_string 12345, format: :accounting, currency: "THB",
 ...> locale: "th", number_system: :native
-{:ok, "฿๑๒,๓๔๕.๐๐"}
+{:ok, "฿๑๒,๓๔๕.๐๐"}
 
 iex> Plausible.Cldr.Number.to_string 1244.30, format: :long
-{:ok, "1 thousand"}
+{:ok, "1 thousand"}
 
 iex> Plausible.Cldr.Number.to_string 1244.30, format: :long, currency: "USD"
-{:ok, "1,244 US dollars"}
+{:ok, "1,244 US dollars"}
 
 iex> Plausible.Cldr.Number.to_string 1244.30, format: :short
-{:ok, "1K"}
+{:ok, "1K"}
 
 iex> Plausible.Cldr.Number.to_string 1244.30, format: :short, currency: "EUR"
-{:ok, "€1K"}
+{:ok, "€1K"}
 
 iex> Plausible.Cldr.Number.to_string 1234, format: :spellout
-{:ok, "one thousand two hundred thirty-four"}
+{:ok, "one thousand two hundred thirty-four"}
 
 iex> Plausible.Cldr.Number.to_string 1234, format: :spellout_verbose
-{:ok, "one thousand two hundred and thirty-four"}
+{:ok, "one thousand two hundred and thirty-four"}
 
 iex> Plausible.Cldr.Number.to_string 1989, format: :spellout_year
-{:ok, "nineteen eighty-nine"}
+{:ok, "nineteen eighty-nine"}
 
 iex> Plausible.Cldr.Number.to_string 123, format: :ordinal
-{:ok, "123rd"}
+{:ok, "123rd"}
 
 iex> Plausible.Cldr.Number.to_string 123, format: :roman
-{:ok, "CXXIII"}
+{:ok, "CXXIII"}
 
 iex> Plausible.Cldr.Number.to_string 123, locale: "th-u-nu-thai"
-{:ok, "๑๒๓"}

+{:ok, "๑๒๓"}

Errors

An error tuple {:error, reason} will be returned if an error is detected. -The two most likely causes of an error return are:

    iex> Plausible.Cldr.Number.to_string(12345, format: "0#")
-    {:error, {Cldr.FormatCompileError,
-      "Decimal format compiler: syntax error before: \"#\""}}
    iex> Plausible.Cldr.Number.to_string(1234, locale: "he", number_system: "hebr", format: :percent)
+    {:error, {Cldr.UnknownFormatError,
+      "The locale :he with number system :hebr does not define a format :percent"}}
@@ -1343,17 +1343,17 @@ returned by Examples
iex> Plausible.Cldr.Number.validate_number_system "en", :latn
-{:ok, :latn}
+{:ok, :latn}
 
 iex> Plausible.Cldr.Number.validate_number_system "en", :default
-{:ok, :latn}
+{:ok, :latn}
 
 iex> Plausible.Cldr.Number.validate_number_system "en", :unknown
-{:error,
- {Cldr.UnknownNumberSystemError, "The number system :unknown is unknown"}}
+{:error,
+ {Cldr.UnknownNumberSystemError, "The number system :unknown is unknown"}}
 
 iex> Plausible.Cldr.Number.validate_number_system "zz", :default
-{:error, {Cldr.InvalidLanguageError, "The language \"zz\" is invalid"}}
+{:error, {Cldr.InvalidLanguageError, "The language \"zz\" is invalid"}}
diff --git a/Plausible.Cldr.Rbnf.NumberSystem.html b/Plausible.Cldr.Rbnf.NumberSystem.html index fd4aba12e..b7bc175c6 100644 --- a/Plausible.Cldr.Rbnf.NumberSystem.html +++ b/Plausible.Cldr.Rbnf.NumberSystem.html @@ -142,9 +142,9 @@ Pages

Functions to implement the number system rule-based-number-format rules of CLDR.

These rules are defined only on the "und" locale and represent specialised number formatting.

The standard public API for RBNF is via the Cldr.Number.to_string/2 function.

The functions on this module are defined at compile time based upon the RBNF rules -defined in the Unicode CLDR data repository. Available rules are identified by:

iex> Plausible.Cldr.Rbnf.NumberSystem.rule_sets(:und)
-...> |> Enum.sort()
-[
+defined in the Unicode CLDR data repository.  Available rules are identified by:

iex> Plausible.Cldr.Rbnf.NumberSystem.rule_sets(:und)
+...> |> Enum.sort()
+[
   :armenian_lower,
   :armenian_upper,
   :cyrillic_lower,
@@ -158,9 +158,9 @@ defined in the Unicode CLDR data repository.  Available rules are identified by:
   :roman_upper,
   :tamil,
   :zz_default
-]

A rule can then be invoked on an available rule_set. For example

iex> Plausible.Cldr.Rbnf.NumberSystem.roman_upper(123, :und)
-"CXXIII"

This particular call is equivalent to the call through the public API of:

iex> Plausible.Cldr.Number.to_string(123, format: :roman)
-{:ok, "CXXIII"}
+
]

A rule can then be invoked on an available rule_set. For example

iex> Plausible.Cldr.Rbnf.NumberSystem.roman_upper(123, :und)
+"CXXIII"

This particular call is equivalent to the call through the public API of:

iex> Plausible.Cldr.Number.to_string(123, format: :roman)
+{:ok, "CXXIII"}
diff --git a/Plausible.Cldr.Rbnf.Ordinal.html b/Plausible.Cldr.Rbnf.Ordinal.html index 3d86d54fc..70d71c315 100644 --- a/Plausible.Cldr.Rbnf.Ordinal.html +++ b/Plausible.Cldr.Rbnf.Ordinal.html @@ -142,20 +142,20 @@ Pages

Functions to implement the ordinal rule-based-number-format rules of CLDR.

As CLDR notes, the data is incomplete or non-existent for many languages. It is considered complete for English however.

The standard public API for RBNF is via the Cldr.Number.to_string/2 function.

The functions on this module are defined at compile time based upon the RBNF rules -defined in the Unicode CLDR data repository. Available rules are identified by:

iex> Plausible.Cldr.Rbnf.Ordinal.rule_sets(:en)
-[:digits_ordinal]
+defined in the Unicode CLDR data repository.  Available rules are identified by:

iex> Plausible.Cldr.Rbnf.Ordinal.rule_sets(:en)
+[:digits_ordinal]
 
-iex> Plausible.Cldr.Rbnf.Ordinal.rule_sets("fr")
-...> |> Enum.sort()
-[
+iex> Plausible.Cldr.Rbnf.Ordinal.rule_sets("fr")
+...> |> Enum.sort()
+[
   :digits_ordinal,
   :digits_ordinal_feminine,
   :digits_ordinal_feminine_plural,
   :digits_ordinal_masculine,
   :digits_ordinal_masculine_plural
-]

A rule can then be invoked on an available rule_set. For example

iex> Plausible.Cldr.Rbnf.Ordinal.digits_ordinal(123, :en)
-"123rd"

This call is equivalent to the call through the public API of:

iex> Plausible.Cldr.Number.to_string(123, format: :ordinal)
-{:ok, "123rd"}
+
]

A rule can then be invoked on an available rule_set. For example

iex> Plausible.Cldr.Rbnf.Ordinal.digits_ordinal(123, :en)
+"123rd"

This call is equivalent to the call through the public API of:

iex> Plausible.Cldr.Number.to_string(123, format: :ordinal)
+{:ok, "123rd"}
diff --git a/Plausible.Cldr.Rbnf.Spellout.html b/Plausible.Cldr.Rbnf.Spellout.html index 4b918636a..735db9cef 100644 --- a/Plausible.Cldr.Rbnf.Spellout.html +++ b/Plausible.Cldr.Rbnf.Spellout.html @@ -142,9 +142,9 @@ Pages

Functions to implement the spellout rule-based-number-format rules of CLDR.

As CLDR notes, the data is incomplete or non-existent for many languages. It is considered complete for English however.

The standard public API for RBNF is via the Cldr.Number.to_string/2 function.

The functions on this module are defined at compile time based upon the RBNF rules -defined in the Unicode CLDR data repository. Available rules are identified by:

iex> Plausible.Cldr.Rbnf.Spellout.rule_sets("en")
-...> |> Enum.sort()
-[
+defined in the Unicode CLDR data repository.  Available rules are identified by:

iex> Plausible.Cldr.Rbnf.Spellout.rule_sets("en")
+...> |> Enum.sort()
+[
   :spellout_cardinal,
   :spellout_cardinal_verbose,
   :spellout_numbering,
@@ -152,9 +152,9 @@ defined in the Unicode CLDR data repository.  Available rules are identified by:
   :spellout_numbering_year,
   :spellout_ordinal,
   :spellout_ordinal_verbose
-]

A rule can then be invoked on an available rule_set. For example:

iex> Plausible.Cldr.Rbnf.Spellout.spellout_ordinal(123, "en")
-"one hundred twenty-third"

This call is equivalent to the call through the public API of:

iex> Plausible.Cldr.Number.to_string(123, format: :spellout)
-{:ok, "one hundred twenty-three"}
+
]

A rule can then be invoked on an available rule_set. For example:

iex> Plausible.Cldr.Rbnf.Spellout.spellout_ordinal(123, "en")
+"one hundred twenty-third"

This call is equivalent to the call through the public API of:

iex> Plausible.Cldr.Number.to_string(123, format: :spellout)
+{:ok, "one hundred twenty-three"}
diff --git a/Plausible.Cldr.html b/Plausible.Cldr.html index 132bf8082..243fabfab 100644 --- a/Plausible.Cldr.html +++ b/Plausible.Cldr.html @@ -555,24 +555,24 @@ current locale is restored after the function.

Example -
iex> Plausible.Cldr.default_locale()
-%Cldr.LanguageTag{
+
iex> Plausible.Cldr.default_locale()
+%Cldr.LanguageTag{
   backend: Plausible.Cldr,
   canonical_locale_name: "en-001",
   cldr_locale_name: :"en-001",
-  language_subtags: [],
-  extensions: %{},
+  language_subtags: [],
+  extensions: %{},
   gettext_locale_name: "en",
   language: "en",
-  locale: %{},
-  private_use: [],
+  locale: %{},
+  private_use: [],
   rbnf_locale_name: :en,
   requested_locale_name: "en-001",
   script: :Latn,
   territory: :"001",
-  transform: %{},
-  language_variants: []
-}
+
transform: %{}, + language_variants: [] +}
@@ -607,7 +607,7 @@ does not specify one and none can be inferred.

Example

-
iex> Plausible.Cldr.default_territory()
+
iex> Plausible.Cldr.default_territory()
 :"001"
@@ -667,16 +667,16 @@ is inserted between words or sentences. The valid options are Examples -
iex> Plausible.Cldr.ellipsis("And furthermore")
+
iex> Plausible.Cldr.ellipsis("And furthermore")
 "And furthermore…"
 
-iex> Plausible.Cldr.ellipsis(["And furthermore", "there is much to be done"], locale: :ja)
+iex> Plausible.Cldr.ellipsis(["And furthermore", "there is much to be done"], locale: :ja)
 "And furthermore…there is much to be done"
 
-iex> Plausible.Cldr.ellipsis("And furthermore", format: :word)
+iex> Plausible.Cldr.ellipsis("And furthermore", format: :word)
 "And furthermore …"
 
-iex> Plausible.Cldr.ellipsis(["And furthermore", "there is much to be done"], locale: :ja, format: :word)
+iex> Plausible.Cldr.ellipsis(["And furthermore", "there is much to be done"], locale: :ja, format: :word)
 "And furthermore … there is much to be done"
@@ -712,23 +712,23 @@ take an optional locale parameter for which a locale is not supplied.

Example

-
iex> Plausible.Cldr.put_locale("pl")
-iex> Plausible.Cldr.get_locale()
-%Cldr.LanguageTag{
+
iex> Plausible.Cldr.put_locale("pl")
+iex> Plausible.Cldr.get_locale()
+%Cldr.LanguageTag{
    backend: Elixir.Plausible.Cldr,
    canonical_locale_name: "pl",
    cldr_locale_name: :pl,
-   extensions: %{},
+   extensions: %{},
    language: "pl",
-   locale: %{},
-   private_use: [],
+   locale: %{},
+   private_use: [],
    rbnf_locale_name: :pl,
    territory: :PL,
    requested_locale_name: "pl",
    script: :Latn,
-   transform: %{},
-   language_variants: []
- }
+
transform: %{}, + language_variants: [] + }
@@ -815,10 +815,10 @@ take an optional locale parameter for which a locale is not supplied.

Examples

-
iex> Plausible.Cldr.known_gettext_locale_name("en")
+
iex> Plausible.Cldr.known_gettext_locale_name("en")
 "en"
 
-iex> Plausible.Cldr.known_gettext_locale_name("en-SA")
+iex> Plausible.Cldr.known_gettext_locale_name("en-SA")
 false
@@ -861,10 +861,10 @@ name is configured and available in Gettext.

Examples

-
iex> Plausible.Cldr.known_gettext_locale_name?("en")
+
iex> Plausible.Cldr.known_gettext_locale_name?("en")
 true
 
-iex> Plausible.Cldr.known_gettext_locale_name?("!!")
+iex> Plausible.Cldr.known_gettext_locale_name?("!!")
 false
@@ -938,10 +938,10 @@ to return the first known locale name from a list.

Examples

-
iex> Plausible.Cldr.known_locale_name(:"en-AU")
+
iex> Plausible.Cldr.known_locale_name(:"en-AU")
 :"en-AU"
 
-iex> Plausible.Cldr.known_locale_name(:"en-SA")
+iex> Plausible.Cldr.known_locale_name(:"en-SA")
 false
@@ -983,10 +983,10 @@ name is configured and available in Cldr.

Examples

-
iex> Plausible.Cldr.known_locale_name?(:en)
+
iex> Plausible.Cldr.known_locale_name?(:en)
 true
 
-iex> Plausible.Cldr.known_locale_name?(:"!!")
+iex> Plausible.Cldr.known_locale_name?(:"!!")
 false
@@ -1040,8 +1040,8 @@ in this module or in Example -
iex> Plausible.Cldr.known_number_system_types()
-[:default, :finance, :native, :traditional]
+
iex> Plausible.Cldr.known_number_system_types()
+[:default, :finance, :native, :traditional]
@@ -1106,10 +1106,10 @@ and has RBNF rules defined.

Examples

-
iex> Plausible.Cldr.known_rbnf_locale_name(:en)
+
iex> Plausible.Cldr.known_rbnf_locale_name(:en)
 :en
 
-iex> Plausible.Cldr.known_rbnf_locale_name(:"en-SA")
+iex> Plausible.Cldr.known_rbnf_locale_name(:"en-SA")
 false
@@ -1152,10 +1152,10 @@ rules based number formats (RBNF).

Examples

-
iex> Plausible.Cldr.known_rbnf_locale_name?(:en)
+
iex> Plausible.Cldr.known_rbnf_locale_name?(:en)
 true
 
-iex> Plausible.Cldr.known_rbnf_locale_name?(:"!!")
+iex> Plausible.Cldr.known_rbnf_locale_name?(:"!!")
 false
@@ -1291,14 +1291,14 @@ CLDR backend defined by the t:Cldr.LanguageTag is se Examples
iex> import Cldr.LanguageTag.Sigil
-iex> Plausible.Cldr.put_gettext_locale(~l"en")
-{:ok, "en"}
+iex> Plausible.Cldr.put_gettext_locale(~l"en")
+{:ok, "en"}
 
 iex> import Cldr.LanguageTag.Sigil
-iex> Plausible.Cldr.put_gettext_locale(~l"de")
-{:error,
-  {Cldr.UnknownLocaleError,
-    "Locale #Cldr.LanguageTag<de [validated]> does not map to a known gettext locale name"}}
+
iex> Plausible.Cldr.put_gettext_locale(~l"de") +{:error, + {Cldr.UnknownLocaleError, + "Locale #Cldr.LanguageTag<de [validated]> does not map to a known gettext locale name"}}
@@ -1342,29 +1342,29 @@ of a language tag.

Examples

-
iex> Plausible.Cldr.put_locale("en")
-{:ok,
- %Cldr.LanguageTag{
+
iex> Plausible.Cldr.put_locale("en")
+{:ok,
+ %Cldr.LanguageTag{
    backend: Plausible.Cldr,
    canonical_locale_name: "en",
    cldr_locale_name: :en,
-   language_subtags: [],
-   extensions: %{},
+   language_subtags: [],
+   extensions: %{},
    gettext_locale_name: "en",
    language: "en",
-   locale: %{},
-   private_use: [],
+   locale: %{},
+   private_use: [],
    rbnf_locale_name: :en,
    requested_locale_name: "en",
    script: :Latn,
    territory: :US,
-   transform: %{},
-   language_variants: []
- }}
+   transform: %{},
+   language_variants: []
+ }}
 
-iex> Plausible.Cldr.put_locale("invalid-locale!")
-{:error, {Cldr.LanguageTag.ParseError,
-  "Expected a BCP47 language tag. Could not parse the remaining \"!\" starting at position 15"}}
+
iex> Plausible.Cldr.put_locale("invalid-locale!") +{:error, {Cldr.LanguageTag.ParseError, + "Expected a BCP47 language tag. Could not parse the remaining \"!\" starting at position 15"}}
@@ -1413,10 +1413,10 @@ The default is Examples -
iex> Plausible.Cldr.quote("Quoted String")
+
iex> Plausible.Cldr.quote("Quoted String")
 "“Quoted String”"
 
-iex> Plausible.Cldr.quote("Quoted String", locale: :ja)
+iex> Plausible.Cldr.quote("Quoted String", locale: :ja)
 "「Quoted String」"
@@ -1547,47 +1547,47 @@ of a language tag.

Examples

-
iex> Plausible.Cldr.validate_locale(:en)
-{:ok,
-%Cldr.LanguageTag{
+
iex> Plausible.Cldr.validate_locale(:en)
+{:ok,
+%Cldr.LanguageTag{
   backend: Plausible.Cldr,
   canonical_locale_name: "en",
   cldr_locale_name: :en,
-  extensions: %{},
+  extensions: %{},
   gettext_locale_name: "en",
   language: "en",
-  locale: %{},
-  private_use: [],
+  locale: %{},
+  private_use: [],
   rbnf_locale_name: :en,
   requested_locale_name: "en",
   script: :Latn,
   territory: :US,
-  transform: %{},
-  language_variants: []
-}}
+  transform: %{},
+  language_variants: []
+}}
 
 
-iex> Plausible.Cldr.validate_locale Plausible.Cldr.default_locale()
-{:ok,
-%Cldr.LanguageTag{
+iex> Plausible.Cldr.validate_locale Plausible.Cldr.default_locale()
+{:ok,
+%Cldr.LanguageTag{
   backend: Plausible.Cldr,
   canonical_locale_name: "en-001",
   cldr_locale_name: :"en-001",
-  extensions: %{},
+  extensions: %{},
   gettext_locale_name: "en",
   language: "en",
-  locale: %{},
-  private_use: [],
+  locale: %{},
+  private_use: [],
   rbnf_locale_name: :en,
   requested_locale_name: "en-001",
   script: :Latn,
   territory: :"001",
-  transform: %{},
-  language_variants: []
-}}
+  transform: %{},
+  language_variants: []
+}}
 
-iex> Plausible.Cldr.validate_locale("zzz")
-{:error, {Cldr.InvalidLanguageError, "The language \"zzz\" is invalid"}}
+
iex> Plausible.Cldr.validate_locale("zzz") +{:error, {Cldr.InvalidLanguageError, "The language \"zzz\" is invalid"}}
@@ -1657,23 +1657,23 @@ of a language tag.

Examples

-
iex> Plausible.Cldr.validate_number_system_type(:default)
-{:ok, :default}
+
iex> Plausible.Cldr.validate_number_system_type(:default)
+{:ok, :default}
 
-iex> Plausible.Cldr.validate_number_system_type(:traditional)
-{:ok, :traditional}
+iex> Plausible.Cldr.validate_number_system_type(:traditional)
+{:ok, :traditional}
 
-iex> Plausible.Cldr.validate_number_system_type(:latn)
-{
+iex> Plausible.Cldr.validate_number_system_type(:latn)
+{
   :error,
-  {Cldr.UnknownNumberSystemTypeError, "The number system type :latn is unknown"}
-}
+  {Cldr.UnknownNumberSystemTypeError, "The number system type :latn is unknown"}
+}
 
-iex> Plausible.Cldr.validate_number_system_type("bork")
-{
+iex> Plausible.Cldr.validate_number_system_type("bork")
+{
   :error,
-  {Cldr.UnknownNumberSystemTypeError, "The number system type \"bork\" is invalid"}
-}
+
{Cldr.UnknownNumberSystemTypeError, "The number system type \"bork\" is invalid"} +}
diff --git a/Plausible.ClickhouseRepo.html b/Plausible.ClickhouseRepo.html index 92e8e472c..62bfe507f 100644 --- a/Plausible.ClickhouseRepo.html +++ b/Plausible.ClickhouseRepo.html @@ -842,23 +842,23 @@ pool to disconnect within the given interval.

See -

Similar to insert_all/2 but with the following differences:

Example:

Repo.query!("create table ecto_ch_demo(a UInt64, b String) engine Null")
+

Similar to insert_all/2 but with the following differences:

  • accepts rows as streams or lists
  • sends rows as a chunked request
  • doesn't autogenerate ids or does any other preprocessing

Example:

Repo.query!("create table ecto_ch_demo(a UInt64, b String) engine Null")
 
-defmodule Demo do
+defmodule Demo do
   use Ecto.Schema
 
   @primary_key false
-  schema "ecto_ch_demo" do
+  schema "ecto_ch_demo" do
     field :a, Ch, type: "UInt64"
     field :b, :string
-  end
-end
+  end
+end
 
-rows = Stream.map(1..100_000, fn i -> %{a: i, b: to_string(i)} end)
-{100_000, nil} = Repo.insert_stream(Demo, rows)
+rows = Stream.map(1..100_000, fn i -> %{a: i, b: to_string(i)} end)
+{100_000, nil} = Repo.insert_stream(Demo, rows)
 
 # schemaless
-{100_000, nil} = Repo.insert_stream("ecto_ch_demo", rows, types: [a: Ch.Types.u64(), b: :string])
+
{100_000, nil} = Repo.insert_stream("ecto_ch_demo", rows, types: [a: Ch.Types.u64(), b: :string])
diff --git a/Plausible.DataMigration.Repo.html b/Plausible.DataMigration.Repo.html index dd4f57402..5b979915c 100644 --- a/Plausible.DataMigration.Repo.html +++ b/Plausible.DataMigration.Repo.html @@ -1149,23 +1149,23 @@ pool to disconnect within the given interval.

See -

Similar to insert_all/2 but with the following differences:

  • accepts rows as streams or lists
  • sends rows as a chunked request
  • doesn't autogenerate ids or does any other preprocessing

Example:

Repo.query!("create table ecto_ch_demo(a UInt64, b String) engine Null")
+

Similar to insert_all/2 but with the following differences:

  • accepts rows as streams or lists
  • sends rows as a chunked request
  • doesn't autogenerate ids or does any other preprocessing

Example:

Repo.query!("create table ecto_ch_demo(a UInt64, b String) engine Null")
 
-defmodule Demo do
+defmodule Demo do
   use Ecto.Schema
 
   @primary_key false
-  schema "ecto_ch_demo" do
+  schema "ecto_ch_demo" do
     field :a, Ch, type: "UInt64"
     field :b, :string
-  end
-end
+  end
+end
 
-rows = Stream.map(1..100_000, fn i -> %{a: i, b: to_string(i)} end)
-{100_000, nil} = Repo.insert_stream(Demo, rows)
+rows = Stream.map(1..100_000, fn i -> %{a: i, b: to_string(i)} end)
+{100_000, nil} = Repo.insert_stream(Demo, rows)
 
 # schemaless
-{100_000, nil} = Repo.insert_stream("ecto_ch_demo", rows, types: [a: Ch.Types.u64(), b: :string])
+
{100_000, nil} = Repo.insert_stream("ecto_ch_demo", rows, types: [a: Ch.Types.u64(), b: :string])
diff --git a/Plausible.Geo.html b/Plausible.Geo.html index e09318c29..c61e8c3c5 100644 --- a/Plausible.Geo.html +++ b/Plausible.Geo.html @@ -257,8 +257,8 @@ and MaxMind license key.

Examples -

In the case of a DB-IP database:

iex> database_type()
-"DBIP-City-Lite"

In the case of a MaxMind database:

iex> database_type()
+

In the case of a DB-IP database:

iex> database_type()
+"DBIP-City-Lite"

In the case of a MaxMind database:

iex> database_type()
 "GeoLite2-City"
@@ -298,8 +298,8 @@ asynchronously.

Examples

-

Loading from a local file:

iex> load_db(path: "/etc/plausible/dbip-city.mmdb")
-:ok

Downloading a MaxMind DB (this license key is no longer active):

iex> load_db(license_key: "LNpsJCCKPis6XvBP", edition: "GeoLite2-City", async: true)
+

Loading from a local file:

iex> load_db(path: "/etc/plausible/dbip-city.mmdb")
+:ok

Downloading a MaxMind DB (this license key is no longer active):

iex> load_db(license_key: "LNpsJCCKPis6XvBP", edition: "GeoLite2-City", async: true)
 :ok
@@ -328,21 +328,21 @@ asynchronously.

Examples

-
iex> lookup("8.7.6.5")
-%{
-  "city" => %{
+
iex> lookup("8.7.6.5")
+%{
+  "city" => %{
     "geoname_id" => 5349755,
-    "names" => %{
+    "names" => %{
       "de" => "Fontana",
       "en" => "Fontana",
       "ja" => "フォンタナ",
       "ru" => "Фонтана"
-    }
-  },
-  "continent" => %{
+    }
+  },
+  "continent" => %{
     "code" => "NA",
     "geoname_id" => 6255149,
-    "names" => %{
+    "names" => %{
       "de" => "Nordamerika",
       "en" => "North America",
       "es" => "Norteamérica",
@@ -351,12 +351,12 @@ asynchronously.

"pt-BR" => "América do Norte", "ru" => "Северная Америка", "zh-CN" => "北美洲" - } - }, - "country" => %{ + } + }, + "country" => %{ "geoname_id" => 6252001, "iso_code" => "US", - "names" => %{ + "names" => %{ "de" => "Vereinigte Staaten", "en" => "United States", "es" => "Estados Unidos", @@ -365,20 +365,20 @@ asynchronously.

"pt-BR" => "EUA", "ru" => "США", "zh-CN" => "美国" - } - }, - "location" => %{ + } + }, + "location" => %{ "accuracy_radius" => 50, "latitude" => 34.1211, "longitude" => -117.4362, "metro_code" => 803, "time_zone" => "America/Los_Angeles" - }, - "postal" => %{"code" => "92336"}, - "registered_country" => %{ + }, + "postal" => %{"code" => "92336"}, + "registered_country" => %{ "geoname_id" => 6252001, "iso_code" => "US", - "names" => %{ + "names" => %{ "de" => "Vereinigte Staaten", "en" => "United States", "es" => "Estados Unidos", @@ -387,13 +387,13 @@ asynchronously.

"pt-BR" => "EUA", "ru" => "США", "zh-CN" => "美国" - } - }, - "subdivisions" => [ - %{ + } + }, + "subdivisions" => [ + %{ "geoname_id" => 5332921, "iso_code" => "CA", - "names" => %{ + "names" => %{ "de" => "Kalifornien", "en" => "California", "es" => "California", @@ -402,10 +402,10 @@ asynchronously.

"pt-BR" => "Califórnia", "ru" => "Калифорния", "zh-CN" => "加州" - } - } - ] -}

+
} + } + ] +}
diff --git a/Plausible.ImportDeletionRepo.html b/Plausible.ImportDeletionRepo.html index 83d1f1295..4f494eb92 100644 --- a/Plausible.ImportDeletionRepo.html +++ b/Plausible.ImportDeletionRepo.html @@ -1140,23 +1140,23 @@ pool to disconnect within the given interval.

See -

Similar to insert_all/2 but with the following differences:

  • accepts rows as streams or lists
  • sends rows as a chunked request
  • doesn't autogenerate ids or does any other preprocessing

Example:

Repo.query!("create table ecto_ch_demo(a UInt64, b String) engine Null")
+

Similar to insert_all/2 but with the following differences:

  • accepts rows as streams or lists
  • sends rows as a chunked request
  • doesn't autogenerate ids or does any other preprocessing

Example:

Repo.query!("create table ecto_ch_demo(a UInt64, b String) engine Null")
 
-defmodule Demo do
+defmodule Demo do
   use Ecto.Schema
 
   @primary_key false
-  schema "ecto_ch_demo" do
+  schema "ecto_ch_demo" do
     field :a, Ch, type: "UInt64"
     field :b, :string
-  end
-end
+  end
+end
 
-rows = Stream.map(1..100_000, fn i -> %{a: i, b: to_string(i)} end)
-{100_000, nil} = Repo.insert_stream(Demo, rows)
+rows = Stream.map(1..100_000, fn i -> %{a: i, b: to_string(i)} end)
+{100_000, nil} = Repo.insert_stream(Demo, rows)
 
 # schemaless
-{100_000, nil} = Repo.insert_stream("ecto_ch_demo", rows, types: [a: Ch.Types.u64(), b: :string])
+
{100_000, nil} = Repo.insert_stream("ecto_ch_demo", rows, types: [a: Ch.Types.u64(), b: :string])
diff --git a/Plausible.IngestRepo.html b/Plausible.IngestRepo.html index b62ae0483..0469534c2 100644 --- a/Plausible.IngestRepo.html +++ b/Plausible.IngestRepo.html @@ -1140,23 +1140,23 @@ pool to disconnect within the given interval.

See -

Similar to insert_all/2 but with the following differences:

  • accepts rows as streams or lists
  • sends rows as a chunked request
  • doesn't autogenerate ids or does any other preprocessing

Example:

Repo.query!("create table ecto_ch_demo(a UInt64, b String) engine Null")
+

Similar to insert_all/2 but with the following differences:

  • accepts rows as streams or lists
  • sends rows as a chunked request
  • doesn't autogenerate ids or does any other preprocessing

Example:

Repo.query!("create table ecto_ch_demo(a UInt64, b String) engine Null")
 
-defmodule Demo do
+defmodule Demo do
   use Ecto.Schema
 
   @primary_key false
-  schema "ecto_ch_demo" do
+  schema "ecto_ch_demo" do
     field :a, Ch, type: "UInt64"
     field :b, :string
-  end
-end
+  end
+end
 
-rows = Stream.map(1..100_000, fn i -> %{a: i, b: to_string(i)} end)
-{100_000, nil} = Repo.insert_stream(Demo, rows)
+rows = Stream.map(1..100_000, fn i -> %{a: i, b: to_string(i)} end)
+{100_000, nil} = Repo.insert_stream(Demo, rows)
 
 # schemaless
-{100_000, nil} = Repo.insert_stream("ecto_ch_demo", rows, types: [a: Ch.Types.u64(), b: :string])
+
{100_000, nil} = Repo.insert_stream("ecto_ch_demo", rows, types: [a: Ch.Types.u64(), b: :string])
diff --git a/Plausible.Stats.FilterParser.html b/Plausible.Stats.FilterParser.html index 44ec6bfab..d8c88a262 100644 --- a/Plausible.Stats.FilterParser.html +++ b/Plausible.Stats.FilterParser.html @@ -204,14 +204,14 @@ Pages Examples: -
iex> FilterParser.parse_filters("{\"page\":\"/blog/**\"}")
-%{"page" => "/blog/**"}
+
iex> FilterParser.parse_filters("{\"page\":\"/blog/**\"}")
+%{"page" => "/blog/**"}
 
-iex> FilterParser.parse_filters("visit:browser!=Chrome")
-%{"visit:browser" => {:is_not, "Chrome"}}
+iex> FilterParser.parse_filters("visit:browser!=Chrome")
+%{"visit:browser" => {:is_not, "Chrome"}}
 
-iex> FilterParser.parse_filters(nil)
-%{}
+
iex> FilterParser.parse_filters(nil) +%{}
diff --git a/Plausible.epub b/Plausible.epub index 02e2c2a29..5f267b174 100644 Binary files a/Plausible.epub and b/Plausible.epub differ diff --git a/PlausibleWeb.Api.StatsController.html b/PlausibleWeb.Api.StatsController.html index d2239f41b..f31c849f0 100644 --- a/PlausibleWeb.Api.StatsController.html +++ b/PlausibleWeb.Api.StatsController.html @@ -744,13 +744,13 @@ and month. The default depends on the Plausible.Query.from/2 for each default.

  • filters - optional filters to drill down data. See the Stats API "Filtering" section for more details.

  • with_imported - boolean indicating whether to include Google Analytics -imported data or not. Defaults to false.

  • Full example:

    %{
    +imported data or not. Defaults to false.

    Full example:

    %{
       "from" => "2021-09-06",
       "interval" => "month",
       "metric" => "visitors",
       "period" => "custom",
       "to" => "2021-12-13"
    -}

    +}

    @@ -765,20 +765,20 @@ cut off by the requested date range or not. For example, if looking at a month week-by-week, some weeks may be cut off by the month boundaries. It's useful to adjust the graph display slightly in case the interval is not 'full' so that the user understands why the numbers might be lower for -those partial periods.

    Full example:

    %{
    -  "full_intervals" => %{
    +those partial periods.

    Full example:

    %{
    +  "full_intervals" => %{
         "2021-09-01" => false,
         "2021-10-01" => true,
         "2021-11-01" => true,
         "2021-12-01" => false
    -  },
    +  },
       "imported_source" => nil,
       "interval" => "month",
    -  "labels" => ["2021-09-01", "2021-10-01", "2021-11-01", "2021-12-01"],
    -  "plot" => [0, 0, 0, 0],
    +  "labels" => ["2021-09-01", "2021-10-01", "2021-11-01", "2021-12-01"],
    +  "plot" => [0, 0, 0, 0],
       "present_index" => nil,
       "with_imported" => false
    -}
    +
    }
    diff --git a/PlausibleWeb.Live.Components.Modal.html b/PlausibleWeb.Live.Components.Modal.html index f21e5c74e..cd4a04657 100644 --- a/PlausibleWeb.Live.Components.Modal.html +++ b/PlausibleWeb.Live.Components.Modal.html @@ -150,18 +150,18 @@ on connections with high latency.

    Usage

    An example use case for a modal is embedding a form inside -existing live view which allows adding new entries of some kind:

    <.live_component module={Modal} id="some-form-modal">
    +existing live view which allows adding new entries of some kind:

    <.live_component module={Modal} id="some-form-modal">
       <.live_component
    -    module={SomeForm}
    +    module={SomeForm}
         id="some-form"
    -    on_save_form={
    -      fn entry, socket ->
    -        send(self(), {:entry_added, entry})
    -        Modal.close(socket, "some-form-modal")
    -      end
    -    }
    +    on_save_form={
    +      fn entry, socket ->
    +        send(self(), {:entry_added, entry})
    +        Modal.close(socket, "some-form-modal")
    +      end
    +    }
       />
    -</.live_component>

    Then somewhere in the same live view the modal is rendered in:

    <.button x-data x-on:click={Modal.JS.open("goals-form-modal")}>
    +</.live_component>

    Then somewhere in the same live view the modal is rendered in:

    <.button x-data x-on:click={Modal.JS.open("goals-form-modal")}>
       + Add Entry
     </.button>

    @@ -181,26 +181,26 @@ itself - adding x-data attribute without any value i to ensure that.

  • Modal.close/2 - to close the modal from the backend; usually done inside wrapped component's handle_event/2. The example qouted above shows one way to implement this, under that assumption -that the component exposes a callback, like this:

    defmodule SomeForm do
    +that the component exposes a callback, like this:

    defmodule SomeForm do
       use Phoenix.LiveComponent
     
    -  def update(assigns, socket) do
    +  def update(assigns, socket) do
         # ...
     
    -    {:ok, assign(socket, :on_save_form, assigns.on_save_form)}
    -  end
    +    {:ok, assign(socket, :on_save_form, assigns.on_save_form)}
    +  end
     
       #...
     
    -  def handle_event("save-form", %{"form" => form}, socket) do
    -    case save_entry(form) do
    -      {:ok, entry} ->
    -        {:noreply, socket.assigns.on_save_form(entry, socket)}
    +  def handle_event("save-form", %{"form" => form}, socket) do
    +    case save_entry(form) do
    +      {:ok, entry} ->
    +        {:noreply, socket.assigns.on_save_form(entry, socket)}
     
           # error case handling ...
    -    end
    -  end
    -end

    Using callback approach has an added benefit of making the + end + end +end

    Using callback approach has an added benefit of making the component more flexible.