WME Utils - Bootstrap

Adds a bootstrap function for easier startup of wmeSdk, WazeWrap, and ScriptUpdateMonitor.

Version vom 27.09.2024. Aktuellste Version

Dieses Skript sollte nicht direkt installiert werden. Es handelt sich hier um eine Bibliothek für andere Skripte, welche über folgenden Befehl in den Metadaten eines Skriptes eingebunden wird // @require https://update.greatest.deepsurf.us/scripts/509664/1455340/WME%20Utils%20-%20Bootstrap.js

Autor
mapomatic und WazeDev
Version
2024.09.27.001
Erstellt am
22.09.2024
Letzte Aktualisierung
27.09.2024
Größe
2,69 KB
Lizenz
GNU GPLv3

Usage:

// Add this to your userscript header:
// @require    https://update.greatest.deepsurf.us/scripts/509664/WME%20Utils%20-%20Bootstrap.js

// If using WazeWrap and/or its ScriptUpdateMonitor feature, be sure to also include this in the userscript header:
// @require    https://greatest.deepsurf.us/scripts/24851-wazewrap/code/WazeWrap.js

let wmeSdk; // A "global" variable to store your WmeSdk reference.

function init(sdk) { // sdk is passed to init (callback function) by bootstrap. Alternative, async/await or Promise.then() may be used.
    // Store the reference to the sdk
    wmeSdk = sdk;
    // The rest of your init code...
}

bootstrap({
    scriptName: 'My Script',
    scriptId: 'myScript',
    useWazeWrap: true,
    scriptUpdateMonitor: {
        scriptVersion: '1.0',
        downloadUrl: 'https://...',
        metaUrl: 'https://...',
        metaRegExp: /some regex/ 
    },
    init
});

// OR...

bootstrap({
    scriptName: 'My Script',
    scriptId: 'myScript',
    useWazeWrap: true,
    scriptUpdateMonitor: {
        scriptVersion: '1.0',
        downloadUrl: 'https://...',
        metaUrl: 'https://...',
        metaRegExp: /some regex/ 
    }
}).then(sdk => init(sdk));

// OR...

// NOTE: if using await, the outer function must be declared async, e.g. your IIFE
wmeSdk = await bootstrap({
    scriptName: 'My Script',
    scriptId: 'myScript',
    useWazeWrap: true,
    scriptUpdateMonitor: {
        scriptVersion: '1.0',
        downloadUrl: 'https://...',
        metaUrl: 'https://...',
        metaRegExp: /some regex/ 
    }
});

init();

The options object passed to bootstrap:

  • scriptName [string]: The name of your script. Used in initializing the WME SDK and for ScriptUpdateMonitor alerts (if using WazeWrap.Alerts.ScriptUpdateMonitor)
  • scriptId [string]: Used in initializing the WME SDK
  • useWazeWrap [boolean]: OPTIONAL. Set to true if your script uses the WazeWrap library (you must still @ require it in your script header). Must be set to true if using ScriptUpdateMonitor.
  • scriptUpdateMonitor [object]: OPTIONAL. An object containing the following properties, only needed if using ScriptUpdateMonitor.
    • scriptVersion [string]: The current version of your script.
    • downloadUrl [string]: The download URL of your script.
    • metaUrl [string]: OPTIONAL. A page containing script version information. Scripts on Greasy Fork do not need to use this.
    • metaRegExp [regular expression]: OPTIONAL. A regular expression that returns the script version from the metaUrl page. Scripts on Greasy Fork do not need to use this.
  • callback: OPTIONAL. A function to call once bootstrapping is completed. The WmeSdk object will be passed as the first argument to the function. Alternatively, use bootstrap(...).then(sdk => init(sdk)); or sdk = await bootstrap(...); init();