Super_GM_setValue_and_GM_getValue.js

Extends the GM_setValue and GM_getValue functions for any javascript variable type.

This script should not be not be installed directly. It is a library for other scripts to include with the meta directive // @require https://update.greasyfork.org/scripts/3667/11165/Super_GM_setValue_and_GM_getValuejs.js

Author
Kaden 2
Version
0.0.1.20140727062142
Created
2014-07-27
Updated
2014-07-27
License
N/A

Original Author: ScriptKeeper

Re-Upload of Super_GM_setValue_and_GM_getValue.js

Unable to find an uploaded copy here, and seeing as UserScripts.org is now down, this was much needed for me.
All credits to original author, removed test code and reduced it to the bare minimum needed.

Original readme:

This library extends the Greasemonkey GM_setValue() and GM_getValue() functions to handle any javascript variable type.

A library is necessary because GM_setValue only stores: strings, booleans, and 32-bit integers. (A limitation of using Firefox preferences for storage).

Important! This is a library, not a standard Greasemonkey script.
It is meant to be included via the @require directive.

Add it to your script with this line in the metadata block:

// @require http://userscripts.org/scripts/source/107941.user.js

In your user script, use the functions like so:

GM_SuperValue.set (varName, varValue);
var x = GM_SuperValue.get (varName, defaultValue);

That is, just like you would use GM_setValue and GM_getValue, but without the worries of the script breaking on invalid values.