(schema, objs)
| 26 | |
| 27 | // Merge many models to one 'work model' by schema |
| 28 | const mergeMultiObjectFields = (schema, objs) => { |
| 29 | let model = {}; |
| 30 | |
| 31 | let fields = getMultipleFields(schema); |
| 32 | |
| 33 | each(fields, field => { |
| 34 | let mergedValue; |
| 35 | let notSet = true; |
| 36 | let path = field.model; |
| 37 | |
| 38 | each(objs, obj => { |
| 39 | let v = get(obj, path); |
| 40 | if (notSet) { |
| 41 | mergedValue = v; |
| 42 | notSet = false; |
| 43 | } else if (mergedValue !== v) { |
| 44 | mergedValue = undefined; |
| 45 | } |
| 46 | }); |
| 47 | |
| 48 | set(model, path, mergedValue); |
| 49 | }); |
| 50 | |
| 51 | return model; |
| 52 | }; |
| 53 | |
| 54 | const slugifyFormID = (schema, prefix = "") => { |
| 55 | // Try to get a reasonable default id from the schema, |
no test coverage detected