Types
CredentialsMode = enum cmSameOrigin = "same-origin", cmOmit = "omit", cmInclude = "include"
EnvironmentSettings = ref object attrsp*: ptr WindowAttributes scriptAttrsp*: ptr WindowAttributes moduleMap*: ModuleMap origin*: Origin scripting*: ScriptingMode headless*: HeadlessMode images*: bool styling*: bool autofocus*: bool contentType*: CAtom
ModuleMap = seq[ModuleMapEntry]
ModuleType = enum mtJavascript = "javascript", mtJson = "json", mtCss = "css"
ParserMetadata = enum pmParserInserted, pmNotParserInserted
RequestDestination = enum rdNone = "", rdAudio = "audio", rdAudioworklet = "audioworklet", rdDocument = "document", rdEmbed = "embed", rdFont = "font", rdFrame = "frame", rdIframe = "iframe", rdImage = "image", rdJson = "json", rdManifest = "manifest", rdObject = "object", rdPaintworklet = "paintworklet", rdReport = "report", rdScript = "script", rdServiceworker = "serviceworker", rdSharedworker = "sharedworker", rdStyle = "style", rdTrack = "track", rdWorker = "worker", rdXslt = "xslt"
Script = ref object baseURL*: URL options*: ScriptOptions mutedErrors*: bool rt*: JSRuntime record*: JSValue
ScriptOptions = object nonce*: string integrity*: string parserMetadata*: ParserMetadata credentialsMode*: CredentialsMode referrerPolicy*: Opt[ReferrerPolicy] renderBlocking*: bool
ScriptResult = ref object case t*: ScriptResultType of srtNull, srtFetching: nil of srtScript: script*: Script of srtImportMapParse: nil
ScriptResultType = enum srtNull, srtScript, srtImportMapParse, srtFetching
ScriptType = enum stClassic, stModule, stImportMap
Vars
errorImpl: proc (ctx: JSContext; ss: varargs[string]) {.nimcall, ...raises: [].}
getEnvSettingsImpl: proc (ctx: JSContext): EnvironmentSettings {.nimcall, ...raises: [].}
Procs
proc addReflectFunction(ctx: JSContext; proto: JSValueConst; name: string; get: JSGetterMagicFunction; set: JSSetterMagicFunction; i: cint): Opt[void] {....raises: [], tags: [], forbids: [].}
proc clone(value: ScriptResult): ScriptResult {....raises: [], tags: [], forbids: [].}
proc finishLoadModule(ctx: JSContext; source, name: string): JSModuleDef {. ...raises: [], tags: [], forbids: [].}
proc get(moduleMap: ModuleMap; url: URL; moduleType: ModuleType): ScriptResult {. ...raises: [], tags: [], forbids: [].}
proc getEnvSettings(ctx: JSContext): EnvironmentSettings {....raises: [], tags: [RootEffect], forbids: [].}
proc logException(ctx: JSContext) {....raises: [], tags: [RootEffect], forbids: [].}
proc moduleTypeToRequestDest(moduleType: ModuleType; default: RequestDestination): RequestDestination {. ...raises: [], tags: [], forbids: [].}
proc newClassicScript(ctx: JSContext; source: string; baseURL: URL; options: ScriptOptions; mutedErrors = false): ScriptResult {. ...raises: [], tags: [], forbids: [].}
proc newJSModuleScript(ctx: JSContext; source: string; baseURL: URL; options: ScriptOptions): ScriptResult {....raises: [], tags: [], forbids: [].}
proc put(moduleMap: var ModuleMap; url: URL; moduleType: ModuleType; value: ScriptResult) {....raises: [], tags: [], forbids: [].}
proc setImportMeta(ctx: JSContext; funcVal: JSValue; isMain: bool) {....raises: [], tags: [], forbids: [].}
proc uninitIfNull(val: JSValue): JSValue {....raises: [], tags: [], forbids: [].}