WME Utils - Bootstrap

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

Stan na 27-09-2024. Zobacz najnowsza wersja.

Ten skrypt nie powinien być instalowany bezpośrednio. Jest to biblioteka dla innych skyptów do włączenia dyrektywą meta // @require https://update.greatest.deepsurf.us/scripts/509664/1455354/WME%20Utils%20-%20Bootstrap.js

Aby zainstalować ten skrypt, wymagana jest instalacje jednego z następujących rozszerzeń: Tampermonkey, Greasemonkey lub Violentmonkey.

Aby zainstalować ten skrypt, wymagana jest instalacje jednego z następujących rozszerzeń: Tampermonkey, Violentmonkey.

Aby zainstalować ten skrypt, wymagana jest instalacje jednego z następujących rozszerzeń: Tampermonkey, Violentmonkey.

Aby zainstalować ten skrypt, wymagana będzie instalacja rozszerzenia Tampermonkey lub Userscripts.

You will need to install an extension such as Tampermonkey to install this script.

Aby zainstalować ten skrypt, musisz zainstalować rozszerzenie menedżera skryptów użytkownika.

(Mam już menedżera skryptów użytkownika, pozwól mi to zainstalować!)

You will need to install an extension such as Stylus to install this style.

You will need to install an extension such as Stylus to install this style.

You will need to install an extension such as Stylus to install this style.

Będziesz musiał zainstalować rozszerzenie menedżera stylów użytkownika, aby zainstalować ten styl.

Będziesz musiał zainstalować rozszerzenie menedżera stylów użytkownika, aby zainstalować ten styl.

Musisz zainstalować rozszerzenie menedżera stylów użytkownika, aby zainstalować ten styl.

(Mam już menedżera stylów użytkownika, pozwól mi to zainstalować!)

Autor
mapomatic i WazeDev
Wersja
2024.09.27.001
Utworzono
22-09-2024
Zaktualizowano
27-09-2024
Rozmiar
2,69 KB
Licencja
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...
}

// Waits for the SDK and returns it in a callback to init.
bootstrap({
    scriptName: 'My Script',
    scriptId: 'myScript',
    init
});

// OR...

// Waits for the SDK and WazeWrap, then calls init in a .then() function.
bootstrap({
    scriptName: 'My Script',
    scriptId: 'myScript',
    useWazeWrap: true,
}).then(sdk => init(sdk));

// OR...

// Assigns the SDK directly to wmeSdk after the SDK and WazeWrap are ready, and starts ScriptUpdateMonitor.
// NOTE: if using await, the outer function must be declared async, e.g. your IIFE
wmeSdk = await bootstrap({
    scriptName: 'My Script',
    scriptId: 'myScript',
    scriptUpdateMonitor: {
        scriptVersion: '1.0',
        downloadUrl: 'https://...',
        metaUrl: 'https://...',
        metaRegExp: /some regex/ 
    }
});

init(); // The sdk parameter should be removed from the init function since wmeSdk is assigned directly above.

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. If true, be sure to @ require it in your script header. May be omitted if using the scriptUpdateMonitor option -- WazeWrap will be used in that case.
  • 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();