[{"name":"Elm.Declaration.Diff","comment":" Diff a declaration\n\n@docs aliasesAreEquivalent, unionsAreEquivalent, valuesAreEquivalent\n\n","unions":[],"aliases":[],"values":[{"name":"aliasesAreEquivalent","comment":" Are both type [`Elm.Docs.Alias`](https://dark.elm.dmy.fr/packages/elm/project-metadata-utils/latest/Elm-Docs#Alias) declarations equal?\n","type":"( Elm.Docs.Alias, Elm.Docs.Alias ) -> Basics.Bool"},{"name":"unionsAreEquivalent","comment":" Are both [`Elm.Docs.Union`](https://dark.elm.dmy.fr/packages/elm/project-metadata-utils/latest/Elm-Docs#Union) type declarations equal?\n\nReminder: Emulates `elm diff` behaviour and therefore explicitly e.g. says exposing the variants necessitates a major version bump.\n\n","type":"( Elm.Docs.Union, Elm.Docs.Union ) -> Basics.Bool"},{"name":"valuesAreEquivalent","comment":" Are both [`Elm.Docs.Value`](https://dark.elm.dmy.fr/packages/elm/project-metadata-utils/latest/Elm-Docs#Alias)/function declarations equal?\n","type":"( Elm.Docs.Value, Elm.Docs.Value ) -> Basics.Bool"}],"binops":[]},{"name":"Elm.Docs.Diff","comment":" Diff a list of [`Elm.Docs.Module`](https://dark.elm.dmy.fr/packages/elm/project-metadata-utils/latest/Elm-Docs#Module)s.\n\n@docs Diff, for, toMagnitude\n\n","unions":[],"aliases":[{"name":"Diff","comment":" Names of removed and added modules\nand an [`Elm.Module.Diff.Diff`](Elm-Module-Diff#Diff) for all modules that were changed.\n","args":[],"type":"{ modulesAdded : Set.Set String.String, modulesChanged : Dict.Dict String.String Elm.Module.Diff.Diff, modulesRemoved : Set.Set String.String }"}],"values":[{"name":"for","comment":" A [`Diff`](#Diff) with everything that changed from `old -> new`\n","type":"{ old : List.List Elm.Docs.Module, new : List.List Elm.Docs.Module } -> Elm.Docs.Diff.Diff"},{"name":"toMagnitude","comment":" What [`Magnitude`](Elm-SemanticMagnitude#Magnitude) does this [`Diff`](#Diff) have?\n","type":"Elm.Docs.Diff.Diff -> Elm.SemanticMagnitude.Magnitude"}],"binops":[]},{"name":"Elm.Module.Diff","comment":" Diff an [`Elm.Docs.Module`](https://dark.elm.dmy.fr/packages/elm/project-metadata-utils/latest/Elm-Docs#Module)\n\n@docs Diff, for, toMagnitude\n\n","unions":[],"aliases":[{"name":"Diff","comment":" For union `type`, `type alias` and function/value declarations:\nNames of removed and added declarations and both declarations if a declaration was changed.\n","args":[],"type":"{ unions : { added : Dict.Dict String.String Elm.Docs.Union, changed : Dict.Dict String.String { old : Elm.Docs.Union, new : Elm.Docs.Union }, removed : Dict.Dict String.String Elm.Docs.Union }, aliases : { added : Dict.Dict String.String Elm.Docs.Alias, changed : Dict.Dict String.String { old : Elm.Docs.Alias, new : Elm.Docs.Alias }, removed : Dict.Dict String.String Elm.Docs.Alias }, values : { added : Dict.Dict String.String Elm.Docs.Value, changed : Dict.Dict String.String { old : Elm.Docs.Value, new : Elm.Docs.Value }, removed : Dict.Dict String.String Elm.Docs.Value } }"}],"values":[{"name":"for","comment":" A [`Diff`](#Diff) with everything that changed from `old -> new`\n","type":"{ old : Elm.Docs.Module, new : Elm.Docs.Module } -> Elm.Module.Diff.Diff"},{"name":"toMagnitude","comment":" What [`Magnitude`](Elm-SemanticMagnitude#Magnitude) does this [`Diff`](#Diff) have?\n","type":"Elm.Module.Diff.Diff -> Elm.SemanticMagnitude.Magnitude"}],"binops":[]},{"name":"Elm.SemanticMagnitude","comment":" Severity of a diff\n\n@docs Magnitude, theMoreSevere, name\n\n","unions":[{"name":"Magnitude","comment":" What kind of version bump would be necessary?\n\n  - `Major`: stuff has been deleted or a type has changed\n  - `Minor`: stuff has been added and the types still fit\n  - `Patch`: no API changes, either implementation or documentation changes\n\n","args":[],"cases":[["Major",[]],["Minor",[]],["Patch",[]]]}],"aliases":[],"values":[{"name":"name","comment":" Lowercase name\n\n    \"-- This is a \"\n        ++ (Elm.SemanticMagnitude.Minor |> Elm.SemanticMagnitude.name |> String.toUpper)\n        ++ \" change. --\"\n    --> \"-- This is a MINOR change. --\"\n\n","type":"Elm.SemanticMagnitude.Magnitude -> String.String"},{"name":"theMoreSevere","comment":" Choose maximum severity between the two [`Magnitude`](#Magnitude)s\n\n    [ Elm.SemanticMagnitude.Minor\n    , Elm.SemanticMagnitude.Major\n    , Elm.SemanticMagnitude.Patch\n    ]\n        |> List.foldl\n            (\\next soFar -> ( soFar, next ) |> Elm.SemanticMagnitude.theMoreSevere)\n            Elm.SemanticMagnitude.Patch\n    --> Elm.SemanticMagnitude.Major\n\n","type":"( Elm.SemanticMagnitude.Magnitude, Elm.SemanticMagnitude.Magnitude ) -> Elm.SemanticMagnitude.Magnitude"}],"binops":[]},{"name":"Elm.Type.Diff","comment":" Diff an [`Elm.Type.Type`](https://dark.elm.dmy.fr/packages/elm/project-metadata-utils/latest/Elm-Type#Type)\n\n@docs areEquivalent, variable\n\n","unions":[],"aliases":[],"values":[{"name":"areEquivalent","comment":" Are both [`Elm.Type.Type`](https://dark.elm.dmy.fr/packages/elm/project-metadata-utils/latest/Elm-Type#Type)s equal?\n\nPut `parameters = []` for value/function/port declaration types\notherwise provide the variable names after the declared name for `type`/`type alias` declarations.\n\n","type":"( { type_ : Elm.Type.Type, parameters : List.List String.String }, { type_ : Elm.Type.Type, parameters : List.List String.String } ) -> Basics.Bool"},{"name":"variable","comment":" Reminder: Emulates `elm diff` behaviour and therefore explicitly emulates its errors:\n\n  - removing all constraints is considered a patch change,\n    even though it removed capabilities and will break your code on upgrade\n\n  - changing constrained variables always trigger a major version bump, with the only exception being\n    `number -> comparable` which _should_ actually be major.\n\n  - you will not see minor magnitudes as results because elm considers\n    even e.g. `variable -> number` a patch change, even though the resulting type gives you more possibilities.\n\n","type":"{ old : String.String, new : String.String } -> Elm.SemanticMagnitude.Magnitude"}],"binops":[]}]