(field, key, data, options)
| 326 | } |
| 327 | |
| 328 | function createField(field, key, data, options) { |
| 329 | if (hasFlag(field.flags, "transient") && options.remove_transient){ |
| 330 | return null; |
| 331 | } |
| 332 | if (hasFlag(field.flags, "required")) { |
| 333 | if (data === undefined || data[key] === undefined) { |
| 334 | throw Error("Missing REQUIRED value: \"" + key + "\" of type " + field.type); |
| 335 | } |
| 336 | return createFieldOfType(field.type, data[key], options); |
| 337 | } else { |
| 338 | if (data && typeof data[key] !== "undefined") { |
| 339 | return createFieldOfType(field.type, data && data[key] || null, options); |
| 340 | } else { |
| 341 | return null; |
| 342 | } |
| 343 | } |
| 344 | } |
| 345 | |
| 346 | function createDefaultField(field, key, options) { |
| 347 | if (options.validate && hasFlag(field.flags, "required")) { |
no test coverage detected