Change createObject to use the new requireProperties API, and automatically validate the existence of the properties listed in the 'requiredProperties' for an object

master
Sven Slootweg 7 years ago
parent ed59e36ea0
commit 7e08b13854

@ -3,14 +3,11 @@
const createEventEmitter = require("create-event-emitter"); const createEventEmitter = require("create-event-emitter");
const defaultValue = require("default-value"); const defaultValue = require("default-value");
const validateSync = require("./validate-sync"); const requireProperties = require("./require-properties");
const calculateOriginOffsets = require("./calculate-origin-offsets"); const calculateOriginOffsets = require("./calculate-origin-offsets");
module.exports = function createObject(options) { module.exports = function createObject(options) {
validateSync(options, { requireProperties(options, ["type", "onRecalculateSize"].concat(defaultValue(options.requiredProperties, [])));
type: "required",
onRecalculateSize: "required"
});
let object = createEventEmitter(Object.assign({ let object = createEventEmitter(Object.assign({
isCached: false, isCached: false,

Loading…
Cancel
Save