Documentation
¶
Index ¶
- Constants
- Variables
- func DeleteSSE(urlFormat string, args ...any) string
- func GetSSE(urlFormat string, args ...any) string
- func ParseIncoming(r *http.Request, store any) error
- func PatchSSE(urlFormat string, args ...any) string
- func PostSSE(urlFormat string, args ...any) string
- func PutSSE(urlFormat string, args ...any) string
- 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 ExecuteJSOption
- type ExecuteJSOptions
- 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 WithQuerySelectorID(id string) MergeFragmentOption
- func WithSelector(selector 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 ...ExecuteJSOption) error
- func (sse *ServerSentEventGenerator) ConsoleLog(msg string, opts ...ExecuteJSOption) error
- func (sse *ServerSentEventGenerator) ConsoleLogf(format string, args ...any) error
- func (sse *ServerSentEventGenerator) Context() context.Context
- func (sse *ServerSentEventGenerator) DeleteFromStore(paths ...string) error
- func (sse *ServerSentEventGenerator) DispatchCustomEvent(eventName string, detail any, opts ...DispatchCustomEventOption) error
- func (sse *ServerSentEventGenerator) ExecuteJS(scriptContents string, opts ...ExecuteJSOption) error
- func (sse *ServerSentEventGenerator) MarshalAndMergeSignals(store any, opts ...MergeSignalsOption) error
- func (sse *ServerSentEventGenerator) MarshalAndMergeSignalsIfMissing(store 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(storeContents []byte, opts ...MergeSignalsOption) error
- func (sse *ServerSentEventGenerator) MergeSignalsIfMissingRaw(storeJSON string) error
- func (sse *ServerSentEventGenerator) Redirect(url string, opts ...ExecuteJSOption) error
- func (sse *ServerSentEventGenerator) Redirectf(format string, args ...any) error
- func (sse *ServerSentEventGenerator) RemoveFragments(selector string, opts ...RemoveFragmentsOption) error
- func (sse *ServerSentEventGenerator) ReplaceURL(u url.URL, opts ...ExecuteJSOption) error
- func (sse *ServerSentEventGenerator) ReplaceURLQuerystring(r *http.Request, values url.Values, opts ...ExecuteJSOption) error
- func (sse *ServerSentEventGenerator) Send(eventType EventType, dataLines []string, opts ...SSEEventOption) error
Constants ¶
View Source
const ( DatastarKey = "datastar" Version = "0.20.0-beta-1" VersionClientByteSize = 42831 VersionClientByteSizeGzip = 14683 // Default durations DefaultSettleDuration = 300 * time.Millisecond DefaultSseRetryDuration = 1000 * time.Millisecond // Default strings DefaultExecuteJsType = "module" DefaultCustomEventSelector = "document" DefaultCustomEventDetailJson = "{}" // Dataline literals SelectorDatalineLiteral = "selector " MergeModeDatalineLiteral = "mergeMode " SettleDurationDatalineLiteral = "settleDuration " FragmentDatalineLiteral = "fragment " UseViewTransitionDatalineLiteral = "useViewTransition " StoreDatalineLiteral = "store " OnlyIfMissingDatalineLiteral = "onlyIfMissing " PathsDatalineLiteral = "paths " ScriptDatalineLiteral = "script " TypeDatalineLiteral = "type " AutoRemoveDatalineLiteral = "autoRemove " )
View Source
const ( NewLine = "\n" DoubleNewLine = "\n\n" )
Variables ¶
View Source
var ( // Default booleans DefaultFragmentsUseViewTransitions = false DefaultMergeSignalsOnlyIfMissing = false DefaultExecuteJsautoRemove = true DefaultCustomEventCancelable = true DefaultCustomEventComposed = true DefaultCustomEventBubbles = 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
const ( // An event for merging HTML fragments into the DOM. EventTypeMergeFragments EventType = "datastar-merge-fragments" // An event for merging signals into the store. EventTypeMergeSignals EventType = "datastar-merge-signals" // An event for removing HTML fragments from the DOM. EventTypeRemoveFragments EventType = "datastar-remove-fragments" // An event for removing signals from the store. EventTypeRemoveSignals EventType = "datastar-remove-signals" // An event for executing JavaScript in the browser. EventTypeExecuteJs EventType = "datastar-execute-js" )
type ExecuteJSOption ¶
type ExecuteJSOption func(*ExecuteJSOptions)
func WithExecuteJSAutoRemove ¶
func WithExecuteJSAutoRemove(autoremove bool) ExecuteJSOption
func WithExecuteJSEventID ¶
func WithExecuteJSEventID(id string) ExecuteJSOption
func WithExecuteJSRetryDuration ¶
func WithExecuteJSRetryDuration(retryDuration time.Duration) ExecuteJSOption
func WithExecuteJSType ¶
func WithExecuteJSType(t string) ExecuteJSOption
type ExecuteJSOptions ¶
type FragmentMergeMode ¶
type FragmentMergeMode string
Enums
const ( // Default value for FragmentMergeMode 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 WithQuerySelectorID ¶
func WithQuerySelectorID(id string) MergeFragmentOption
func WithSelector ¶
func WithSelector(selector 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 ...ExecuteJSOption) error
func (*ServerSentEventGenerator) ConsoleLog ¶
func (sse *ServerSentEventGenerator) ConsoleLog(msg string, opts ...ExecuteJSOption) error
func (*ServerSentEventGenerator) ConsoleLogf ¶
func (sse *ServerSentEventGenerator) ConsoleLogf(format string, args ...any) error
func (*ServerSentEventGenerator) Context ¶
func (sse *ServerSentEventGenerator) Context() context.Context
func (*ServerSentEventGenerator) DeleteFromStore ¶
func (sse *ServerSentEventGenerator) DeleteFromStore(paths ...string) error
func (*ServerSentEventGenerator) DispatchCustomEvent ¶
func (sse *ServerSentEventGenerator) DispatchCustomEvent(eventName string, detail any, opts ...DispatchCustomEventOption) error
func (*ServerSentEventGenerator) ExecuteJS ¶
func (sse *ServerSentEventGenerator) ExecuteJS(scriptContents string, opts ...ExecuteJSOption) error
func (*ServerSentEventGenerator) MarshalAndMergeSignals ¶
func (sse *ServerSentEventGenerator) MarshalAndMergeSignals(store any, opts ...MergeSignalsOption) error
func (*ServerSentEventGenerator) MarshalAndMergeSignalsIfMissing ¶
func (sse *ServerSentEventGenerator) MarshalAndMergeSignalsIfMissing(store 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(storeContents []byte, opts ...MergeSignalsOption) error
func (*ServerSentEventGenerator) MergeSignalsIfMissingRaw ¶
func (sse *ServerSentEventGenerator) MergeSignalsIfMissingRaw(storeJSON string) error
func (*ServerSentEventGenerator) Redirect ¶
func (sse *ServerSentEventGenerator) Redirect(url string, opts ...ExecuteJSOption) 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) ReplaceURL ¶
func (sse *ServerSentEventGenerator) ReplaceURL(u url.URL, opts ...ExecuteJSOption) error
func (*ServerSentEventGenerator) ReplaceURLQuerystring ¶
func (sse *ServerSentEventGenerator) ReplaceURLQuerystring(r *http.Request, values url.Values, opts ...ExecuteJSOption) 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.