Skip to main content

base

Base event class and utilities for GraphQL-Markdown events.

Events

abstract CancellableEvent

Defined in: events/base.ts:55

Base class for all cancellable events in GraphQL-Markdown.

Provides common functionality:

  • preventDefault() to cancel default actions
  • stopPropagation() to halt handler chain
  • Configurable cancellability
  • Optional default action function

Extended by

Implements

  • ICancellableEvent

Constructors

Constructor
new CancellableEvent(options?): CancellableEvent;

Defined in: events/base.ts:87

Creates a new CancellableEvent.

Parameters
options?

CancellableEventOptions

Configuration options for the event

Returns

CancellableEvent

Accessors

defaultAction
Get Signature
get defaultAction(): DefaultAction | undefined;

Defined in: events/base.ts:109

Gets the default action function if one was provided.

Returns

DefaultAction | undefined

Implementation of
ICancellableEvent.defaultAction;
defaultPrevented
Get Signature
get defaultPrevented(): boolean;

Defined in: events/base.ts:95

Gets whether the default action has been prevented.

Returns

boolean

Implementation of
ICancellableEvent.defaultPrevented;
propagationStopped
Get Signature
get propagationStopped(): boolean;

Defined in: events/base.ts:102

Gets whether propagation has been stopped.

Returns

boolean

Implementation of
ICancellableEvent.propagationStopped;

Methods

preventDefault()
preventDefault(): void;

Defined in: events/base.ts:127

Prevents the default action from executing. Only works if the event is cancellable.

Returns

void

Example
events.on("beforeLoadSchema", (event) => {
if (shouldUseCustomLoader) {
event.preventDefault(); // Stops default schema loading
// Custom logic here
}
});
Implementation of
ICancellableEvent.preventDefault;
runDefaultAction()
runDefaultAction(): Promise<void>;

Defined in: events/base.ts:160

Executes the default action for an event if it hasn't been prevented.

Returns

Promise<void>

A promise that resolves when the default action completes, or void if the action was prevented or no default action is defined

Remarks

This method will only execute the _defaultAction if:

  • The event's default has not been prevented (_defaultPrevented is false)
  • A default action function has been defined (_defaultAction is a function)
Implementation of
ICancellableEvent.runDefaultAction;
stopPropagation()
stopPropagation(): void;

Defined in: events/base.ts:146

Stops propagation to remaining event handlers. Handlers registered after the current one will not execute.

Returns

void

Example
events.on("beforeLoadSchema", (event) => {
if (criticalError) {
event.stopPropagation(); // No more handlers run
}
});
Implementation of
ICancellableEvent.stopPropagation;

Other

CancellableEventOptions

Defined in: events/base.ts:39

Properties

cancellable?
optional cancellable: boolean;

Defined in: events/base.ts:41

defaultAction?
optional defaultAction: DefaultAction;

Defined in: events/base.ts:40


deepFreeze()

function deepFreeze<T>(obj): T;

Defined in: events/base.ts:23

Deep freezes an object to make it immutable at runtime. Recursively freezes all nested objects and arrays.

Type Parameters

T

T extends Record<PropertyKey, any>

Parameters

obj

T

The object to freeze

Returns

T

The frozen object (same reference)

Example

const data = { user: { name: "John" } };
deepFreeze(data);
data.user.name = "Jane"; // Throws error in strict mode