Packages

Generate type-safe Gleam clients directly from your Ash resources and actions, ensuring end-to-end type safety between Gleam and Elixir.

Current section

Files

Jump to
ash_gleam doc dist search_data-B206A789.js
Raw

doc/dist/search_data-B206A789.js

searchData={"items":[{"type":"module","title":"AshGleam","doc":"Ash extensions for Gleam interop and code generation.","ref":"AshGleam.html"},{"type":"function","title":"AshGleam.codegen/1","doc":"","ref":"AshGleam.html#codegen/1"},{"type":"function","title":"AshGleam.manifest/1","doc":"","ref":"AshGleam.html#manifest/1"},{"type":"function","title":"AshGleam.resource_changes/2","doc":"","ref":"AshGleam.html#resource_changes/2"},{"type":"module","title":"AshGleam.Actions","doc":"Resource extension for Gleam-backed Ash actions.","ref":"AshGleam.Actions.html"},{"type":"module","title":"AshGleam.Changeset","doc":"Builds an `Ash.Changeset` from a Gleam update-style action without persisting.","ref":"AshGleam.Changeset.html"},{"type":"function","title":"AshGleam.Changeset.for_update/4","doc":"Runs a Gleam action marked `update? true` and returns an `Ash.Changeset` ready for persistence.","ref":"AshGleam.Changeset.html#for_update/4"},{"type":"function","title":"Options - AshGleam.Changeset.for_update/4","doc":"* `:action` (required) - the Ash update action to build the changeset with","ref":"AshGleam.Changeset.html#for_update/4-options"},{"type":"function","title":"Example - AshGleam.Changeset.for_update/4","doc":"todo\n |> AshGleam.Changeset.for_update(:mark_completed, %{}, action: :update)\n |> Ash.update!()","ref":"AshGleam.Changeset.html#for_update/4-example"},{"type":"module","title":"AshGleam.Context","doc":"","ref":"AshGleam.Context.html"},{"type":"function","title":"AshGleam.Context.new/1","doc":"","ref":"AshGleam.Context.html#new/1"},{"type":"function","title":"AshGleam.Context.to_opts/1","doc":"","ref":"AshGleam.Context.html#to_opts/1"},{"type":"module","title":"AshGleam.Diff","doc":"Computes persistable Ash attribute changes from a proposed resource state.","ref":"AshGleam.Diff.html"},{"type":"function","title":"AshGleam.Diff.resource_changes/2","doc":"","ref":"AshGleam.Diff.html#resource_changes/2"},{"type":"module","title":"AshGleam.Domain","doc":"Domain extension for Gleam FFI exports and code interface generation.","ref":"AshGleam.Domain.html"},{"type":"module","title":"Usage - AshGleam.Domain","doc":"defmodule MyApp.MyDomain do\n use Ash.Domain,\n otp_app: :my_app,\n extensions: [AshGleam.Domain]\n\n gleam do\n ffi do\n resource MyApp.Todo do\n action :list_todos, :read\n action :create_todo, :create\n end\n end\n\n code_interface do\n resource MyApp.Todo do\n define_gleam_update :mark_completed, action: :update\n end\n end\n end\n end","ref":"AshGleam.Domain.html#module-usage"},{"type":"macro","title":"AshGleam.Domain.gleam/1","doc":"","ref":"AshGleam.Domain.html#gleam/1"},{"type":"module","title":"AshGleam.DomainExtension","doc":"Domain extension that generates code-interface functions for Gleam update actions.","ref":"AshGleam.DomainExtension.html"},{"type":"module","title":"Usage - AshGleam.DomainExtension","doc":"defmodule MyApp.MyDomain do\n use Ash.Domain,\n otp_app: :my_app,\n extensions: [AshGleam.DomainExtension]\n\n gleam_updates do\n resource MyApp.Todo do\n define_gleam_update :mark_completed, action: :update\n end\n end\n end\n\nThis generates `mark_completed/1-3` and `mark_completed!/1-3` on the domain module.","ref":"AshGleam.DomainExtension.html#module-usage"},{"type":"macro","title":"AshGleam.DomainExtension.gleam_updates/1","doc":"","ref":"AshGleam.DomainExtension.html#gleam_updates/1"},{"type":"module","title":"AshGleam.FFI","doc":"Domain extension for exported Gleam FFI actions.","ref":"AshGleam.FFI.html"},{"type":"macro","title":"AshGleam.FFI.gleam_ffi/1","doc":"","ref":"AshGleam.FFI.html#gleam_ffi/1"},{"type":"module","title":"AshGleam.Interop","doc":"Call a gleam function from Elixir","ref":"AshGleam.Interop.html"},{"type":"function","title":"AshGleam.Interop.call!/4","doc":"","ref":"AshGleam.Interop.html#call!/4"},{"type":"module","title":"AshGleam.Resource","doc":"Resource extension for Gleam metadata.","ref":"AshGleam.Resource.html"},{"type":"macro","title":"AshGleam.Resource.gleam/1","doc":"","ref":"AshGleam.Resource.html#gleam/1"},{"type":"task","title":"mix ash.gleam.codegen","doc":"Generates Gleam types, FFI wrappers, and Elixir bridge modules for AshGleam.","ref":"Mix.Tasks.Ash.Gleam.Codegen.html"},{"type":"function","title":"Mix.Tasks.Ash.Gleam.Codegen.run/1","doc":"Callback implementation for Mix.Task.run/1 .","ref":"Mix.Tasks.Ash.Gleam.Codegen.html#run/1"},{"type":"task","title":"mix ash_gleam.install","doc":"Installs AshGleam into a project. Should be called with `mix igniter.install ash_gleam`\n\nConfigures your Mix project to use MixGleam and AshGleam by applying the\nchanges described in the MixGleam README:\n\n- Adds `archives: [mix_gleam: \"~> 0.6\"]` to project/0\n- Adds `:gleam` to the compilers list\n- Adds `erlc_paths` pointing to Gleam build artefacts\n- Sets `erlc_include_path` for Gleam-generated include files\n- Sets `prune_code_paths: false` (required for Elixir >= v1.15.0)\n- Adds a `deps.get` alias that also runs `gleam.deps.get`\n- Adds `gleam_stdlib` and `gleeunit` to deps\n- Creates a `src/` directory for Gleam source files\n- Adds `build/` to `.gitignore`","ref":"Mix.Tasks.AshGleam.Install.html"},{"type":"function","title":"Mix.Tasks.AshGleam.Install.try_put/3","doc":"","ref":"Mix.Tasks.AshGleam.Install.html#try_put/3"}],"proglang":"elixir","content_type":"text/markdown","producer":{"name":"ex_doc","version":"0.40.1"}}