feature_collection_path: get()

in scripts/generate-manifest.js [166:214]


      feature_collection_path: get(format, 'meta.feature_collection_path', 'data'),
    };
  }
  return layer;
}

function manifestLayerV6(data, hostname, { manifestVersion, fieldInfo, dataDir }) {
  const formats = data.emsFormats.map(format => {
    const pathname = `/files/${format.file}`;
    return { ...{
      type: format.type,
      url: getFileUrl(hostname, pathname, manifestVersion),
      legacy_default: format.default || false,
    }, ...(format.meta && { meta: format.meta }) };
  });
  const idFields = data.fieldMapping.filter(field => field.type === 'id');
  const { file } = getDefaultFormat(data.emsFormats);
  const idInfos = getIdsFromFile(dataDir, file, idFields);
  const fields = getFieldMapping(data.fieldMapping, manifestVersion, idInfos, fieldInfo);
  const layer = {
    layer_id: data.name,
    created_at: data.createdAt,
    attribution: data.attribution,
    formats,
    fields: fields,
    legacy_ids: data.legacyIds,
    layer_name: data.humanReadableName,
  };
  return layer;
}

function getDefaultFormat(emsFormats) {
  return emsFormats.find(format => format.default);
}

function getIdsFromFile(dataDir, file, fields) {
  const fieldMap = {};
  const fieldsWithIds = fields.filter(field => !field.skipCopy);

  if (fieldsWithIds.length == 0) return fieldMap;

  // Only read the dataset if there are identfiers to return
  const json = JSON.parse(readFileSync(`${dataDir}/${file}`, 'utf8'));
  const features = json.features || json.objects.data.geometries;
  for (const { name } of fieldsWithIds) {
    fieldMap[name] = new Set(); // Probably unnecessary but ensures unique ids
  }
  for (const feature of features) {
    for (const { name } of fieldsWithIds) {