Ultralight C API 1.3.0
Loading...
Searching...
No Matches
JSBase.h File Reference

Go to the source code of this file.

Functions

JS_EXPORT JSValueRef JSEvaluateScript (JSContextRef ctx, JSStringRef script, JSObjectRef thisObject, JSStringRef sourceURL, int startingLineNumber, JSValueRef *exception)
 Evaluates a string of JavaScript.
 
JS_EXPORT bool JSCheckScriptSyntax (JSContextRef ctx, JSStringRef script, JSStringRef sourceURL, int startingLineNumber, JSValueRef *exception)
 Checks for syntax errors in a string of JavaScript.
 
JS_EXPORT void JSGarbageCollect (JSContextRef ctx)
 Performs a JavaScript garbage collection.
 

Macros

#define __has_declspec_attribute(x)   0
 
#define JS_EXPORT
 
#define JSC_OBJC_API_ENABLED   0
 

Typedefs

typedef const struct OpaqueJSContextGroup * JSContextGroupRef
 
typedef const struct OpaqueJSContext * JSContextRef
 
typedef struct OpaqueJSContext * JSGlobalContextRef
 
typedef struct OpaqueJSString * JSStringRef
 
typedef struct OpaqueJSClass * JSClassRef
 
typedef struct OpaqueJSPropertyNameArray * JSPropertyNameArrayRef
 
typedef struct OpaqueJSPropertyNameAccumulator * JSPropertyNameAccumulatorRef
 
typedef void(* JSTypedArrayBytesDeallocator) (void *bytes, void *deallocatorContext)
 
typedef const struct OpaqueJSValue * JSValueRef
 
typedef struct OpaqueJSValue * JSObjectRef
 

Function Documentation

◆ JSCheckScriptSyntax()

JS_EXPORT bool JSCheckScriptSyntax ( JSContextRef  ctx,
JSStringRef  script,
JSStringRef  sourceURL,
int  startingLineNumber,
JSValueRef exception 
)

Checks for syntax errors in a string of JavaScript.

Parameters
ctxThe execution context to use.
scriptA JSString containing the script to check for syntax errors.
sourceURLA JSString containing a URL for the script's source file. This is only used when reporting exceptions. Pass NULL if you do not care to include source file information in exceptions.
startingLineNumberAn integer value specifying the script's starting line number in the file located at sourceURL. This is only used when reporting exceptions. The value is one-based, so the first line is line 1 and invalid values are clamped to 1.
exceptionA pointer to a JSValueRef in which to store a syntax error exception, if any. Pass NULL if you do not care to store a syntax error exception.
Returns
true if the script is syntactically correct, otherwise false.

◆ JSEvaluateScript()

JS_EXPORT JSValueRef JSEvaluateScript ( JSContextRef  ctx,
JSStringRef  script,
JSObjectRef  thisObject,
JSStringRef  sourceURL,
int  startingLineNumber,
JSValueRef exception 
)

Evaluates a string of JavaScript.

Parameters
ctxThe execution context to use.
scriptA JSString containing the script to evaluate.
thisObjectThe object to use as "this," or NULL to use the global object as "this."
sourceURLA JSString containing a URL for the script's source file. This is used by debuggers and when reporting exceptions. Pass NULL if you do not care to include source file information.
startingLineNumberAn integer value specifying the script's starting line number in the file located at sourceURL. This is only used when reporting exceptions. The value is one-based, so the first line is line 1 and invalid values are clamped to 1.
exceptionA pointer to a JSValueRef in which to store an exception, if any. Pass NULL if you do not care to store an exception.
Returns
The JSValue that results from evaluating script, or NULL if an exception is thrown.

◆ JSGarbageCollect()

JS_EXPORT void JSGarbageCollect ( JSContextRef  ctx)

Performs a JavaScript garbage collection.

Parameters
ctxThe execution context to use.
Note

JavaScript values that are on the machine stack, in a register, protected by JSValueProtect, set as the global object of an execution context, or reachable from any such value will not be collected.

During JavaScript execution, you are not required to call this function; the JavaScript engine will garbage collect as needed. JavaScript values created within a context group are automatically destroyed when the last reference to the context group is released.

Macro Definition Documentation

◆ __has_declspec_attribute

#define __has_declspec_attribute (   x)    0

◆ JS_EXPORT

#define JS_EXPORT

◆ JSC_OBJC_API_ENABLED

#define JSC_OBJC_API_ENABLED   0

Typedef Documentation

◆ JSClassRef

typedef struct OpaqueJSClass* JSClassRef

A JavaScript class. Used with JSObjectMake to construct objects with custom behavior.

◆ JSContextGroupRef

typedef const struct OpaqueJSContextGroup* JSContextGroupRef

A group that associates JavaScript contexts with one another. Contexts in the same group may share and exchange JavaScript objects.

◆ JSContextRef

typedef const struct OpaqueJSContext* JSContextRef

A JavaScript execution context. Holds the global object and other execution state.

◆ JSGlobalContextRef

typedef struct OpaqueJSContext* JSGlobalContextRef

A global JavaScript execution context. A JSGlobalContext is a JSContext.

◆ JSObjectRef

typedef struct OpaqueJSValue* JSObjectRef

A JavaScript object. A JSObject is a JSValue.

◆ JSPropertyNameAccumulatorRef

typedef struct OpaqueJSPropertyNameAccumulator* JSPropertyNameAccumulatorRef

An ordered set used to collect the names of a JavaScript object's properties.

◆ JSPropertyNameArrayRef

typedef struct OpaqueJSPropertyNameArray* JSPropertyNameArrayRef

An array of JavaScript property names.

◆ JSStringRef

typedef struct OpaqueJSString* JSStringRef

A UTF16 character buffer. The fundamental string representation in JavaScript.

◆ JSTypedArrayBytesDeallocator

typedef void(* JSTypedArrayBytesDeallocator) (void *bytes, void *deallocatorContext)

A function used to deallocate bytes passed to a Typed Array constructor. The function should take two arguments. The first is a pointer to the bytes that were originally passed to the Typed Array constructor. The second is a pointer to additional information desired at the time the bytes are to be freed.

◆ JSValueRef

typedef const struct OpaqueJSValue* JSValueRef

A JavaScript value. The base type for all JavaScript values, and polymorphic functions on them.