UNPKG

@cityssm/waste-disposal-data

Version:

The data driving the City's waste disposal helper app

89 lines (78 loc) 2.44 kB
/* * Row Types * Note that row data is in CSV files, and CSV files do not have type information. * Data that should numeric is marked appropriately as a comment, * and is validated with `npm test` */ export interface Item { itemKey: string; itemName: string; shortDescription?: string; longDescription?: string; searchTerms?: string; }; export interface Location { locationKey: string; locationName: string; address?: string; latitude?: string; // number longitude?: string; // number shortDescription?: string; longDescription?: string; websiteURL?: string; }; export interface ItemLocation { itemKey: string; locationKey: string; }; export interface RelatedItem { itemKeyA: string; itemKeyB: string; }; export interface ItemReuse { itemKey: string; reuseName: string; reuseDescription?: string; websiteURL?: string; }; /* * File Definitions */ export interface FileDefinition { fileName: string; columns: string[]; primaryKeyColumns: string[]; numericColumns?: string[]; requiredColumns?: string[]; }; export const fileDefinition_items: FileDefinition = { fileName: "items.csv", columns: ["itemKey", "itemName", "shortDescription", "longDescription", "searchTerms"], primaryKeyColumns: ["itemKey"], requiredColumns: ["itemKey", "itemName"] }; export const fileDefinition_locations: FileDefinition = { fileName: "locations.csv", columns: ["locationKey", "locationName", "address", "latitude", "longitude", "shortDescription", "longDescription", "websiteURL"], primaryKeyColumns: ["locationKey"], numericColumns: ["latitude", "longitude"], requiredColumns: ["locationKey", "locationName"] }; export const fileDefinitions: FileDefinition[] = [ fileDefinition_items, fileDefinition_locations, { fileName: "itemLocations.csv", columns: ["itemKey", "locationKey"], primaryKeyColumns: ["itemKey", "locationKey"], requiredColumns: ["itemKey", "locationKey"] }, { fileName: "relatedItems.csv", columns: ["itemKeyA", "itemKeyB"], primaryKeyColumns: ["itemKeyA", "itemKeyB"], requiredColumns: ["itemKeyA", "itemKeyB"] }, { fileName: "itemReuses.csv", columns: ["itemKey", "reuseName", "reuseDescription", "websiteURL"], primaryKeyColumns: ["itemKey", "reuseName"], requiredColumns: ["itemKey", "reuseName"] }];