js: add 'fromJSON' method