District analytics TypeScript package
npm install @dra2020/district-analyticsA layer between dra-client and fn-all (scoring lambda) that knows enough about DRA and analytics proper (in dra-analytics)
to take data in, compose the various analytics calls, and return the scorecards, etc. that they want. This allows the callers
to remain high-level and agnostic of the analytics specifics, on the one hand, and the analytics proper to no nothing about
DRA, on the other.

``javascript
import * as DA from 'district-analytics';
let sr = {} as DA.SessionRequest;
sr['title'] = "NC 2020 Congress";
sr['stateXX'] = "NC";
sr['nDistricts'] = 14;
sr['planType'] = PlanType.congress; // One or ...
sr['legislativeDistricts'] = false; // ... the other
sr['data'] = data as T.GeoFeatureCollection;
sr['counties'] = counties as T.GeoFeatureCollection;
sr['graph'] = graph as T.ContiguityGraph;
sr['plan'] = planByGeoID as DA.PlanByGeoID;
sr['districtShapes'] = districtShapes as T.GeoFeatureCollection;
sr['aggregates'] = aggregates as PF.PackedFields[];
sr['datasetsMeta'] = datasetsMeta as DT.DatasetsMeta;
sr['config'] = config as T.Dict;
let s = new DA.AnalyticsSession(sr);
let bLog = false;
s.analyzePlan(bLog);
const requirements: DA.RequirementsChecklist = s.getRequirementsChecklist();
const scorecard: DA.Scorecard = s.getPlanScorecard();
const ratings: DA.Ratings = s.getRatings();
``