Improve the errors thrown for invalid schema definitions
This commit is contained in:
parent
aac7d1498a
commit
e564ad1de8
|
@ -398,7 +398,7 @@ void RealmClass<T>::constructor(ContextType ctx, ObjectType this_object, size_t
|
||||||
static const String schema_string = "schema";
|
static const String schema_string = "schema";
|
||||||
ValueType schema_value = Object::get_property(ctx, object, schema_string);
|
ValueType schema_value = Object::get_property(ctx, object, schema_string);
|
||||||
if (!Value::is_undefined(ctx, schema_value)) {
|
if (!Value::is_undefined(ctx, schema_value)) {
|
||||||
ObjectType schema_object = Value::validated_to_object(ctx, schema_value, "schema");
|
ObjectType schema_object = Value::validated_to_array(ctx, schema_value, "schema");
|
||||||
config.schema.emplace(Schema<T>::parse_schema(ctx, schema_object, defaults, constructors));
|
config.schema.emplace(Schema<T>::parse_schema(ctx, schema_object, defaults, constructors));
|
||||||
schema_updated = true;
|
schema_updated = true;
|
||||||
}
|
}
|
||||||
|
|
|
@ -179,9 +179,9 @@ ObjectSchema Schema<T>::parse_object_schema(ContextType ctx, ObjectType object_s
|
||||||
|
|
||||||
ObjectDefaults object_defaults;
|
ObjectDefaults object_defaults;
|
||||||
ObjectSchema object_schema;
|
ObjectSchema object_schema;
|
||||||
object_schema.name = Object::validated_get_string(ctx, object_schema_object, name_string);
|
object_schema.name = Object::validated_get_string(ctx, object_schema_object, name_string, "ObjectSchema");
|
||||||
|
|
||||||
ObjectType properties_object = Object::validated_get_object(ctx, object_schema_object, properties_string, "ObjectSchema must have a 'properties' object.");
|
ObjectType properties_object = Object::validated_get_object(ctx, object_schema_object, properties_string, "ObjectSchema");
|
||||||
if (Value::is_array(ctx, properties_object)) {
|
if (Value::is_array(ctx, properties_object)) {
|
||||||
uint32_t length = Object::validated_get_length(ctx, properties_object);
|
uint32_t length = Object::validated_get_length(ctx, properties_object);
|
||||||
for (uint32_t i = 0; i < length; i++) {
|
for (uint32_t i = 0; i < length; i++) {
|
||||||
|
|
Loading…
Reference in New Issue