mirror of
https://github.com/ASzc/change-string-case-action.git
synced 2024-11-24 04:43:52 +08:00
41 lines
890 B
JavaScript
41 lines
890 B
JavaScript
|
'use strict'
|
||
|
|
||
|
// In case of breaking changes, increase the version
|
||
|
// number to avoid conflicts.
|
||
|
const globalOrigin = Symbol.for('undici.globalOrigin.1')
|
||
|
|
||
|
function getGlobalOrigin () {
|
||
|
return globalThis[globalOrigin]
|
||
|
}
|
||
|
|
||
|
function setGlobalOrigin (newOrigin) {
|
||
|
if (newOrigin === undefined) {
|
||
|
Object.defineProperty(globalThis, globalOrigin, {
|
||
|
value: undefined,
|
||
|
writable: true,
|
||
|
enumerable: false,
|
||
|
configurable: false
|
||
|
})
|
||
|
|
||
|
return
|
||
|
}
|
||
|
|
||
|
const parsedURL = new URL(newOrigin)
|
||
|
|
||
|
if (parsedURL.protocol !== 'http:' && parsedURL.protocol !== 'https:') {
|
||
|
throw new TypeError(`Only http & https urls are allowed, received ${parsedURL.protocol}`)
|
||
|
}
|
||
|
|
||
|
Object.defineProperty(globalThis, globalOrigin, {
|
||
|
value: parsedURL,
|
||
|
writable: true,
|
||
|
enumerable: false,
|
||
|
configurable: false
|
||
|
})
|
||
|
}
|
||
|
|
||
|
module.exports = {
|
||
|
getGlobalOrigin,
|
||
|
setGlobalOrigin
|
||
|
}
|