//////////////////////////////////////////////////////////////////////////// // // Copyright 2016 Realm Inc. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. // //////////////////////////////////////////////////////////////////////////// /* eslint-env es6, node */ /* eslint-disable no-console */ 'use strict'; const Realm = require('../..'); const handlers = { create(options) { let realm = new Realm(options.config); realm.write(() => { realm.create(options.type, options.properties); }); } }; process.on('message', (message) => { process.send(handleMessage(message)); }); function handleMessage(message) { let error, result; try { let handler = handlers[message.action]; if (handler) { result = handler(message); } else { throw new Error('Unknown worker action: ' + message.action); } } catch (e) { console.warn(e); error = e.message; } return {error, result}; }