react-bsonschema-form
Advanced tools
Comparing version 0.43.7 to 0.43.8
@@ -33,2 +33,6 @@ "use strict"; | ||
function renderEmptyOption() { | ||
return _react2.default.createElement("option", { value: "" }); | ||
} | ||
function SelectWidget(_ref2) { | ||
@@ -49,2 +53,5 @@ var _ref2$className = _ref2.className, | ||
var emptyOption = !multiple && (!schema.default || schema.default.length === 0) ? renderEmptyOption() : null; | ||
return _react2.default.createElement( | ||
@@ -74,2 +81,3 @@ "select", | ||
} }, | ||
emptyOption, | ||
enumOptions.map(function (_ref3, i) { | ||
@@ -76,0 +84,0 @@ var value = _ref3.value, |
@@ -36,2 +36,4 @@ "use strict"; | ||
exports.rangeSpec = rangeSpec; | ||
exports.getEnumDefault = getEnumDefault; | ||
exports.emptyToUndefined = emptyToUndefined; | ||
@@ -228,2 +230,3 @@ var _react = require("react"); | ||
var defaults = parentDefaults; | ||
if (isObject(defaults) && isObject(schema.default)) { | ||
@@ -234,18 +237,8 @@ // For object defaults, only override parent defaults that are defined in | ||
} else if ("default" in schema) { | ||
// Use schema defaults for this node. | ||
defaults = schema.default; | ||
} else if ("enum" in schema && Array.isArray(schema.enum)) { | ||
// For enum with no defined default, select the first entry. | ||
switch (schema.type) { | ||
case 'int': | ||
defaults = new _bson.Int32(schema.enum[0]); | ||
break; | ||
case 'long': | ||
defaults = new _bson.Long(schema.enum[0]); | ||
break; | ||
case 'double': | ||
defaults = new _bson.Double(schema.enum[0]); | ||
break; | ||
default: | ||
defaults = schema.enum[0]; | ||
var schemaDefault = emptyToUndefined(schema.default); | ||
if (schemaDefault && "enum" in schema) { | ||
defaults = getEnumDefault(schema); | ||
} else { | ||
defaults = schemaDefault; | ||
} | ||
@@ -261,6 +254,3 @@ } else if ("$ref" in schema) { | ||
} | ||
// Not defaults defined for this node, fallback to generic typed ones. | ||
if (typeof defaults === "undefined") { | ||
defaults = schema.default; | ||
} | ||
// We need to recur for object schema inner default values. | ||
@@ -699,2 +689,37 @@ if (schema.type === "object") { | ||
return spec; | ||
} | ||
function getEnumDefault(schema) { | ||
var indexOfDefault = schema.enum.indexOf(schema.default); | ||
if (indexOfDefault === -1) { | ||
return undefined; | ||
} | ||
var schemaDefault = schema.enum[indexOfDefault]; | ||
switch (schema.type) { | ||
case 'int': | ||
return new _bson.Int32(schemaDefault); | ||
break; | ||
case 'long': | ||
return new _bson.Long(schemaDefault); | ||
break; | ||
case 'double': | ||
return new _bson.Double(schemaDefault); | ||
break; | ||
default: | ||
return emptyToUndefined(schemaDefault); | ||
} | ||
} | ||
function emptyToUndefined(value) { | ||
if (value === null) { | ||
return undefined; | ||
} else if (typeof value === 'string') { | ||
return value.length > 0 ? value : undefined; | ||
} else { | ||
// value can be other types, say long, int, double | ||
return value; | ||
} | ||
} |
{ | ||
"name": "react-bsonschema-form", | ||
"version": "0.43.7", | ||
"version": "0.43.8", | ||
"description": "A simple React component capable of building HTML forms out of a JSON schema.", | ||
@@ -5,0 +5,0 @@ "scripts": { |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
Uses eval
Supply chain riskPackage uses dynamic code execution (e.g., eval()), which is a dangerous practice. This can prevent the code from running in certain environments and increases the risk that the code may contain exploits or malicious behavior.
Found 2 instances in 1 package
Minified code
QualityThis package contains minified code. This may be harmless in some cases where minified code is included in packaged libraries, however packages on npm should not minify code.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
3888658
45
5183
2
3