For reasons of insanity I have wrapped the ScriptProperties
of the PropertiesService
in a object with get
, set
, forget
and getKeys
methods, viz:
function ScptProps() { this.scriptProperties = PropertiesService.getScriptProperties(); } ScptProps.prototype.get = function (name) { return this.scriptProperties.getProperty(name); }; ScptProps.prototype.set = function (name, value) { return this.scriptProperties.setProperty(name, value); }; ScptProps.prototype.forget = function (name) { return this.scriptProperties.deleteProperty(name); }; ScptProps.prototype.getKeys = function () { return this.scriptProperties.getKeys(); };
Using the REPL from my previous posting, I issued the following commands:
(new ScptProps).set('goose',58); typeof (new ScptProps).get('goose'); (new ScptProps).forget('goose');
Goose is me and 58 my age for those interested.
And the gotcha? Well, I was a little taken aback recently, while debugging a number to number comparison issue, to discover that when I store a number I don't get one back. I get a string back and have to do a parseInt()
on it to get its original value. The result of typeof (new ScptProps).get('goose');
is, you guessed it, string
!
Top comments (0)