MCPcopy Create free account
hub / github.com/chartbrew/chartbrew / findFields

Function findFields

server/modules/fieldFinder.js:3–37  ·  view source on GitHub ↗
(coll, currentKey, first, fields)

Source from the content-addressed store, hash-verified

1const determineType = require("./determineType");
2
3function findFields(coll, currentKey, first, fields) {
4 let newFields = fields;
5 if (!coll) return newFields;
6
7 Object.keys(coll).map((field) => {
8 const data = coll[field];
9 let newKey = field;
10 if (currentKey) {
11 newKey = `${currentKey}.${field}`;
12 if (first) {
13 newKey = `root.${currentKey}[].${field}`;
14 }
15 newFields.push({
16 field: newKey,
17 value: coll[field],
18 type: determineType(coll[field]),
19 });
20 } else {
21 if (first) newKey = `root[].${newKey}`;
22 newFields.push({
23 field: newKey,
24 value: coll[field],
25 type: determineType(coll[field]),
26 });
27 }
28
29 if (data !== null && typeof data === "object" && !(data instanceof Array)) {
30 newFields = findFields(coll[field], newKey, false, newFields);
31 }
32
33 return field;
34 });
35
36 return newFields;
37}
38
39export default function init(collection) {
40 let fields = [];

Callers 1

initFunction · 0.70

Calls 1

determineTypeFunction · 0.70

Tested by

no test coverage detected