"use strict"; const { URL, URLSearchParams } = require("./webidl2js-wrapper"); const urlStateMachine = require("./lib/url-state-machine"); const percentEncoding = require("./lib/percent-encoding"); const sharedGlobalObject = { Array, Object, Promise, String, TypeError }; URL.install(sharedGlobalObject, ["Window"]); URLSearchParams.install(sharedGlobalObject, ["Window"]); exports.URL = sharedGlobalObject.URL; exports.URLSearchParams = sharedGlobalObject.URLSearchParams; exports.parseURL = urlStateMachine.parseURL; exports.basicURLParse = urlStateMachine.basicURLParse; exports.serializeURL = urlStateMachine.serializeURL; exports.serializePath = urlStateMachine.serializePath; exports.serializeHost = urlStateMachine.serializeHost; exports.serializeInteger = urlStateMachine.serializeInteger; exports.serializeURLOrigin = urlStateMachine.serializeURLOrigin; exports.setTheUsername = urlStateMachine.setTheUsername; exports.setThePassword = urlStateMachine.setThePassword; exports.cannotHaveAUsernamePasswordPort = urlStateMachine.cannotHaveAUsernamePasswordPort; exports.hasAnOpaquePath = urlStateMachine.hasAnOpaquePath; exports.percentDecodeString = percentEncoding.percentDecodeString; exports.percentDecodeBytes = percentEncoding.percentDecodeBytes;