html/script

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 clear(moduleMap: var ModuleMap; rt: JSRuntime) {....raises: [], tags: [],
    forbids: [].}
proc clone(value: ScriptResult): ScriptResult {....raises: [], tags: [],
    forbids: [].}
proc finishLoadModule(ctx: JSContext; source, name: string): JSModuleDef {.
    ...raises: [], tags: [], forbids: [].}
proc free(script: Script) {....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: [].}