Adds a bootstrap function for easier startup of wmeSdk, WazeWrap, and ScriptUpdateMonitor.
Version vom
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/1459506/WME%20Utils%20-%20Bootstrap.js
Waits for SDK_INITIALIZED and the wme-ready event, and returns an instance of the WmeSdk class initialized with your script's name and ID. Optionally, it will also wait for WazeWrap.isReady and start WazeWrap.Alerts.ScriptUpdateMonitor.
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:
bootstrap(...).then(sdk => init(sdk)); or sdk = await bootstrap(...); init();