Documentation
¶
Index ¶
- Constants
- Variables
- func DeleteSSE(urlFormat string, args ...any) string
- func GetSSE(urlFormat string, args ...any) string
- func PatchSSE(urlFormat string, args ...any) string
- func PostSSE(urlFormat string, args ...any) string
- func PutSSE(urlFormat string, args ...any) string
- func ReadSignals(r *http.Request, signals any) error
- type DispatchCustomEventOption
- func WithDispatchCustomEventBubbles(bubbles bool) DispatchCustomEventOption
- func WithDispatchCustomEventCancelable(cancelable bool) DispatchCustomEventOption
- func WithDispatchCustomEventComposed(composed bool) DispatchCustomEventOption
- func WithDispatchCustomEventEventID(id string) DispatchCustomEventOption
- func WithDispatchCustomEventRetryDuration(retryDuration time.Duration) DispatchCustomEventOption
- func WithDispatchCustomEventSelector(selector string) DispatchCustomEventOption
- type DispatchCustomEventOptions
- type EventType
- type ExecuteScriptOption
- func WithExecuteScriptAttributeKVs(kvs ...string) ExecuteScriptOption
- func WithExecuteScriptAttributes(attributes ...string) ExecuteScriptOption
- func WithExecuteScriptAutoRemove(autoremove bool) ExecuteScriptOption
- func WithExecuteScriptEventID(id string) ExecuteScriptOption
- func WithExecuteScriptRetryDuration(retryDuration time.Duration) ExecuteScriptOption
- type ExecuteScriptOptions
- type FragmentMergeMode
- type MergeFragmentOption
- func WithMergeAfter() MergeFragmentOption
- func WithMergeAppend() MergeFragmentOption
- func WithMergeBefore() MergeFragmentOption
- func WithMergeMode(merge FragmentMergeMode) MergeFragmentOption
- func WithMergeMorph() MergeFragmentOption
- func WithMergePrepend() MergeFragmentOption
- func WithMergeUpsertAttributes() MergeFragmentOption
- func WithSelector(selector string) MergeFragmentOption
- func WithSelectorID(id string) MergeFragmentOption
- func WithSelectorf(selectorFormat string, args ...any) MergeFragmentOption
- func WithSettleDuration(d time.Duration) MergeFragmentOption
- func WithUseViewTransitions(useViewTransition bool) MergeFragmentOption
- func WithViewTransitions() MergeFragmentOption
- func WithoutViewTransitions() MergeFragmentOption
- type MergeFragmentOptions
- type MergeSignalsOption
- type MergeSignalsOptions
- type RemoveFragmentsOption
- type RemoveFragmentsOptions
- type SSEEventOption
- type ServerSentEventData
- type ServerSentEventGenerator
- func (sse *ServerSentEventGenerator) ConsoleError(err error, opts ...ExecuteScriptOption) error
- func (sse *ServerSentEventGenerator) ConsoleLog(msg string, opts ...ExecuteScriptOption) error
- func (sse *ServerSentEventGenerator) ConsoleLogf(format string, args ...any) error
- func (sse *ServerSentEventGenerator) Context() context.Context
- func (sse *ServerSentEventGenerator) DispatchCustomEvent(eventName string, detail any, opts ...DispatchCustomEventOption) error
- func (sse *ServerSentEventGenerator) ExecuteScript(scriptContents string, opts ...ExecuteScriptOption) error
- func (sse *ServerSentEventGenerator) MarshalAndMergeSignals(signals any, opts ...MergeSignalsOption) error
- func (sse *ServerSentEventGenerator) MarshalAndMergeSignalsIfMissing(signals any, opts ...MergeSignalsOption) error
- func (sse *ServerSentEventGenerator) MergeFragmentGostar(child elements.ElementRenderer, opts ...MergeFragmentOption) error
- func (sse *ServerSentEventGenerator) MergeFragmentTempl(c templ.Component, opts ...MergeFragmentOption) error
- func (sse *ServerSentEventGenerator) MergeFragmentf(format string, args ...any) error
- func (sse *ServerSentEventGenerator) MergeFragments(fragment string, opts ...MergeFragmentOption) error
- func (sse *ServerSentEventGenerator) MergeSignals(signalsContents []byte, opts ...MergeSignalsOption) error
- func (sse *ServerSentEventGenerator) MergeSignalsIfMissingRaw(signalsJSON string) error
- func (sse *ServerSentEventGenerator) Prefetch(urls ...string) error
- func (sse *ServerSentEventGenerator) Redirect(url string, opts ...ExecuteScriptOption) error
- func (sse *ServerSentEventGenerator) Redirectf(format string, args ...any) error
- func (sse *ServerSentEventGenerator) RemoveFragments(selector string, opts ...RemoveFragmentsOption) error
- func (sse *ServerSentEventGenerator) RemoveSignals(paths ...string) error
- func (sse *ServerSentEventGenerator) ReplaceURL(u url.URL, opts ...ExecuteScriptOption) error
- func (sse *ServerSentEventGenerator) ReplaceURLQuerystring(r *http.Request, values url.Values, opts ...ExecuteScriptOption) error
- func (sse *ServerSentEventGenerator) Send(eventType EventType, dataLines []string, opts ...SSEEventOption) error
Constants ¶
View Source
const ( DatastarKey = "datastar" Version = "0.21.4" VersionClientByteSize = 34326 VersionClientByteSizeGzip = 12688 // The default duration for settling during fragment merges. Allows for CSS transitions to complete. DefaultFragmentsSettleDuration = 300 * time.Millisecond // The default duration for retrying SSE on connection reset. This is part of the underlying retry mechanism of SSE. DefaultSseRetryDuration = 1000 * time.Millisecond // The default attributes for <script/> element use when executing scripts. It is a set of of key-value pairs delimited by a newline \\n character. DefaultExecuteScriptAttributes = "type module" //region Dataline literals SelectorDatalineLiteral = "selector " MergeModeDatalineLiteral = "mergeMode " SettleDurationDatalineLiteral = "settleDuration " FragmentsDatalineLiteral = "fragments " UseViewTransitionDatalineLiteral = "useViewTransition " SignalsDatalineLiteral = "signals " OnlyIfMissingDatalineLiteral = "onlyIfMissing " PathsDatalineLiteral = "paths " ScriptDatalineLiteral = "script " AttributesDatalineLiteral = "attributes " AutoRemoveDatalineLiteral = "autoRemove " )
View Source
const ( NewLine = "\n" DoubleNewLine = "\n\n" )
Variables ¶
View Source
var ( // Should fragments be merged using the ViewTransition API? DefaultFragmentsUseViewTransitions = false // Should a given set of signals merge if they are missing? DefaultMergeSignalsOnlyIfMissing = false // Should script element remove itself after execution? DefaultExecuteScriptAutoRemove = true )
View Source
var (
ErrEventTypeError = errors.New("event type is required")
)
View Source
var (
ErrNoPathsProvided = errors.New("no paths provided")
)
Functions ¶
Types ¶
type DispatchCustomEventOption ¶
type DispatchCustomEventOption func(*DispatchCustomEventOptions)
func WithDispatchCustomEventBubbles ¶
func WithDispatchCustomEventBubbles(bubbles bool) DispatchCustomEventOption
func WithDispatchCustomEventCancelable ¶
func WithDispatchCustomEventCancelable(cancelable bool) DispatchCustomEventOption
func WithDispatchCustomEventComposed ¶
func WithDispatchCustomEventComposed(composed bool) DispatchCustomEventOption
func WithDispatchCustomEventEventID ¶
func WithDispatchCustomEventEventID(id string) DispatchCustomEventOption
func WithDispatchCustomEventRetryDuration ¶
func WithDispatchCustomEventRetryDuration(retryDuration time.Duration) DispatchCustomEventOption
func WithDispatchCustomEventSelector ¶
func WithDispatchCustomEventSelector(selector string) DispatchCustomEventOption
type EventType ¶
type EventType string
region The type protocol on top of SSE which allows for core pushed based communication between the server and the client.
const ( // An event for merging HTML fragments into the DOM. EventTypeMergeFragments EventType = "datastar-merge-fragments" // An event for merging signals. EventTypeMergeSignals EventType = "datastar-merge-signals" // An event for removing HTML fragments from the DOM. EventTypeRemoveFragments EventType = "datastar-remove-fragments" // An event for removing signals. EventTypeRemoveSignals EventType = "datastar-remove-signals" // An event for executing <script/> elements in the browser. EventTypeExecuteScript EventType = "datastar-execute-script" )
type ExecuteScriptOption ¶
type ExecuteScriptOption func(*ExecuteScriptOptions)
func WithExecuteScriptAttributeKVs ¶
func WithExecuteScriptAttributeKVs(kvs ...string) ExecuteScriptOption
func WithExecuteScriptAttributes ¶
func WithExecuteScriptAttributes(attributes ...string) ExecuteScriptOption
func WithExecuteScriptAutoRemove ¶
func WithExecuteScriptAutoRemove(autoremove bool) ExecuteScriptOption
func WithExecuteScriptEventID ¶
func WithExecuteScriptEventID(id string) ExecuteScriptOption
func WithExecuteScriptRetryDuration ¶
func WithExecuteScriptRetryDuration(retryDuration time.Duration) ExecuteScriptOption
type ExecuteScriptOptions ¶
type FragmentMergeMode ¶
type FragmentMergeMode string
region The mode in which a fragment is merged into the DOM.
const ( // Default value for FragmentMergeMode // Morphs the fragment into the existing element using idiomorph. DefaultFragmentMergeMode = FragmentMergeModeMorph // Morphs the fragment into the existing element using idiomorph. FragmentMergeModeMorph FragmentMergeMode = "morph" // Replaces the inner HTML of the existing element. FragmentMergeModeInner FragmentMergeMode = "inner" // Replaces the outer HTML of the existing element. FragmentMergeModeOuter FragmentMergeMode = "outer" // Prepends the fragment to the existing element. FragmentMergeModePrepend FragmentMergeMode = "prepend" // Appends the fragment to the existing element. FragmentMergeModeAppend FragmentMergeMode = "append" // Inserts the fragment before the existing element. FragmentMergeModeBefore FragmentMergeMode = "before" // Inserts the fragment after the existing element. FragmentMergeModeAfter FragmentMergeMode = "after" // Upserts the attributes of the existing element. FragmentMergeModeUpsertAttributes FragmentMergeMode = "upsertAttributes" )
func FragmentMergeTypeFromString ¶
func FragmentMergeTypeFromString(s string) (FragmentMergeMode, error)
type MergeFragmentOption ¶
type MergeFragmentOption func(*MergeFragmentOptions)
func WithMergeAfter ¶
func WithMergeAfter() MergeFragmentOption
func WithMergeAppend ¶
func WithMergeAppend() MergeFragmentOption
func WithMergeBefore ¶
func WithMergeBefore() MergeFragmentOption
func WithMergeMode ¶
func WithMergeMode(merge FragmentMergeMode) MergeFragmentOption
func WithMergeMorph ¶
func WithMergeMorph() MergeFragmentOption
func WithMergePrepend ¶
func WithMergePrepend() MergeFragmentOption
func WithMergeUpsertAttributes ¶
func WithMergeUpsertAttributes() MergeFragmentOption
func WithSelector ¶
func WithSelector(selector string) MergeFragmentOption
func WithSelectorID ¶
func WithSelectorID(id string) MergeFragmentOption
func WithSelectorf ¶
func WithSelectorf(selectorFormat string, args ...any) MergeFragmentOption
func WithSettleDuration ¶
func WithSettleDuration(d time.Duration) MergeFragmentOption
func WithUseViewTransitions ¶
func WithUseViewTransitions(useViewTransition bool) MergeFragmentOption
func WithViewTransitions ¶
func WithViewTransitions() MergeFragmentOption
func WithoutViewTransitions ¶
func WithoutViewTransitions() MergeFragmentOption
type MergeFragmentOptions ¶
type MergeSignalsOption ¶
type MergeSignalsOption func(*MergeSignalsOptions)
func WithMergeSignalsEventID ¶
func WithMergeSignalsEventID(id string) MergeSignalsOption
func WithMergeSignalsRetryDuration ¶
func WithMergeSignalsRetryDuration(retryDuration time.Duration) MergeSignalsOption
func WithOnlyIfMissing ¶
func WithOnlyIfMissing(onlyIfMissing bool) MergeSignalsOption
type MergeSignalsOptions ¶
type RemoveFragmentsOption ¶
type RemoveFragmentsOption func(*RemoveFragmentsOptions)
func WithRemoveEventID ¶
func WithRemoveEventID(id string) RemoveFragmentsOption
func WithRemoveRetryDuration ¶
func WithRemoveRetryDuration(d time.Duration) RemoveFragmentsOption
func WithRemoveSettleDuration ¶
func WithRemoveSettleDuration(d time.Duration) RemoveFragmentsOption
func WithRemoveUseViewTransitions ¶
func WithRemoveUseViewTransitions(useViewTransition bool) RemoveFragmentsOption
type RemoveFragmentsOptions ¶
type SSEEventOption ¶
type SSEEventOption func(*ServerSentEventData)
func WithSSEEventId ¶
func WithSSEEventId(id string) SSEEventOption
func WithSSERetryDuration ¶
func WithSSERetryDuration(retryDuration time.Duration) SSEEventOption
type ServerSentEventData ¶
type ServerSentEventGenerator ¶
type ServerSentEventGenerator struct {
// contains filtered or unexported fields
}
func NewSSE ¶
func NewSSE(w http.ResponseWriter, r *http.Request) *ServerSentEventGenerator
func (*ServerSentEventGenerator) ConsoleError ¶
func (sse *ServerSentEventGenerator) ConsoleError(err error, opts ...ExecuteScriptOption) error
func (*ServerSentEventGenerator) ConsoleLog ¶
func (sse *ServerSentEventGenerator) ConsoleLog(msg string, opts ...ExecuteScriptOption) error
func (*ServerSentEventGenerator) ConsoleLogf ¶
func (sse *ServerSentEventGenerator) ConsoleLogf(format string, args ...any) error
func (*ServerSentEventGenerator) Context ¶
func (sse *ServerSentEventGenerator) Context() context.Context
func (*ServerSentEventGenerator) DispatchCustomEvent ¶
func (sse *ServerSentEventGenerator) DispatchCustomEvent(eventName string, detail any, opts ...DispatchCustomEventOption) error
func (*ServerSentEventGenerator) ExecuteScript ¶
func (sse *ServerSentEventGenerator) ExecuteScript(scriptContents string, opts ...ExecuteScriptOption) error
func (*ServerSentEventGenerator) MarshalAndMergeSignals ¶
func (sse *ServerSentEventGenerator) MarshalAndMergeSignals(signals any, opts ...MergeSignalsOption) error
func (*ServerSentEventGenerator) MarshalAndMergeSignalsIfMissing ¶
func (sse *ServerSentEventGenerator) MarshalAndMergeSignalsIfMissing(signals any, opts ...MergeSignalsOption) error
func (*ServerSentEventGenerator) MergeFragmentGostar ¶
func (sse *ServerSentEventGenerator) MergeFragmentGostar(child elements.ElementRenderer, opts ...MergeFragmentOption) error
func (*ServerSentEventGenerator) MergeFragmentTempl ¶
func (sse *ServerSentEventGenerator) MergeFragmentTempl(c templ.Component, opts ...MergeFragmentOption) error
func (*ServerSentEventGenerator) MergeFragmentf ¶
func (sse *ServerSentEventGenerator) MergeFragmentf(format string, args ...any) error
func (*ServerSentEventGenerator) MergeFragments ¶
func (sse *ServerSentEventGenerator) MergeFragments(fragment string, opts ...MergeFragmentOption) error
func (*ServerSentEventGenerator) MergeSignals ¶
func (sse *ServerSentEventGenerator) MergeSignals(signalsContents []byte, opts ...MergeSignalsOption) error
func (*ServerSentEventGenerator) MergeSignalsIfMissingRaw ¶
func (sse *ServerSentEventGenerator) MergeSignalsIfMissingRaw(signalsJSON string) error
func (*ServerSentEventGenerator) Prefetch ¶
func (sse *ServerSentEventGenerator) Prefetch(urls ...string) error
func (*ServerSentEventGenerator) Redirect ¶
func (sse *ServerSentEventGenerator) Redirect(url string, opts ...ExecuteScriptOption) error
func (*ServerSentEventGenerator) Redirectf ¶
func (sse *ServerSentEventGenerator) Redirectf(format string, args ...any) error
func (*ServerSentEventGenerator) RemoveFragments ¶
func (sse *ServerSentEventGenerator) RemoveFragments(selector string, opts ...RemoveFragmentsOption) error
func (*ServerSentEventGenerator) RemoveSignals ¶
func (sse *ServerSentEventGenerator) RemoveSignals(paths ...string) error
func (*ServerSentEventGenerator) ReplaceURL ¶
func (sse *ServerSentEventGenerator) ReplaceURL(u url.URL, opts ...ExecuteScriptOption) error
func (*ServerSentEventGenerator) ReplaceURLQuerystring ¶
func (sse *ServerSentEventGenerator) ReplaceURLQuerystring(r *http.Request, values url.Values, opts ...ExecuteScriptOption) error
func (*ServerSentEventGenerator) Send ¶
func (sse *ServerSentEventGenerator) Send(eventType EventType, dataLines []string, opts ...SSEEventOption) error
Click to show internal directories.
Click to hide internal directories.