@dra2020/dra-types 1.8.101 → 1.8.103

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -74,6 +74,7 @@ export declare function computePackedFields(f: any, index: PackedMetaIndex): Pac
74
74
  export declare function hasPackedFields(f: any): boolean;
75
75
  export declare function setPackedFields(f: any, pf: PackedFields, fIndex: any): void;
76
76
  export declare function isExtDataset(did: string): boolean;
77
+ export declare function toDatasetID(datasetKey: string): string;
77
78
  export type ExtPackedFields = Uint32Array;
78
79
  export type ExtBlockCardinality = Map<string, number>;
79
80
  export declare function featurePushExtPackedFields(f: any, datasetid: string, index: PackedMetaIndex, data: ExtPackedFields, card: ExtBlockCardinality): void;
package/lib/colormgr.ts CHANGED
@@ -173,7 +173,8 @@ export function ToAllEthnicColor(agg: PF.PackedFields, dc: PF.DatasetContext, pd
173
173
  {
174
174
  // Use VAP/CVAP if it exists
175
175
  const dataset: string = dc.primeVDS ? dc.primeVDS : dc.primeDDS
176
- return AggregateEthnicColor(PF.ToGetter(agg, dc, '', dataset), pd, dataset.endsWith('NH'));
176
+ const did = PF.toDatasetID(dataset);
177
+ return AggregateEthnicColor(PF.ToGetter(agg, dc, did, dataset), pd, dataset.endsWith('NH'));
177
178
  }
178
179
 
179
180
  export function ToPartisanColorStr(agg: PF.PackedFields, dc: PF.DatasetContext, pd: PaletteDefaults): string
@@ -188,10 +189,12 @@ export function ToPartisanDistrictColor(agg: PF.PackedFields, dc: PF.DatasetCont
188
189
 
189
190
  function ToPartisanColor(agg: PF.PackedFields, dc: PF.DatasetContext, stops: Util.GradientStops): string
190
191
  {
192
+ const did = PF.toDatasetID(dc.primeEDS);
193
+
191
194
  if (dc.primeEDS === PF.DS_PVI2020)
192
195
  {
193
- const getter16 = PF.ToGetter(agg, dc, '', PF.DS_PRES2016);
194
- const getter20 = PF.ToGetter(agg, dc, '', PF.DS_PRES2020);
196
+ const getter16 = PF.ToGetter(agg, dc, did, PF.DS_PRES2016);
197
+ const getter20 = PF.ToGetter(agg, dc, did, PF.DS_PRES2020);
195
198
 
196
199
  const pviRaw = PF.calcRaw2020Pvi(getter16, getter20);
197
200
  const color: string = ColorFromRGBPcts((1 - pviRaw / 100), 0, pviRaw / 100, stops);
@@ -200,14 +203,14 @@ function ToPartisanColor(agg: PF.PackedFields, dc: PF.DatasetContext, stops: Uti
200
203
  }
201
204
  else if (dc.primeEDS === PF.DS_PVI2016)
202
205
  {
203
- const getter = PF.ToGetter(agg, dc, '', dc.primeEDS);
206
+ const getter = PF.ToGetter(agg, dc, did, dc.primeEDS);
204
207
  const pviRaw = PF.calcRawPvi(getter);
205
208
  const color: string = ColorFromRGBPcts((1 - pviRaw/100), 0, pviRaw/100, stops);
206
209
  return color;
207
210
  }
208
211
  else
209
212
  {
210
- const getter = PF.ToGetter(agg, dc, '', dc.primeEDS);
213
+ const getter = PF.ToGetter(agg, dc, did, dc.primeEDS);
211
214
  return AggregatePartisanColorStr(getter, stops);
212
215
  }
213
216
  }
@@ -234,6 +237,7 @@ export function ToEthnicColorStr(agg: PF.PackedFields, dc: PF.DatasetContext, pd
234
237
  let total: string = 'Tot';
235
238
  let bInvert: boolean = false;
236
239
  const dataset = dc.primeVDS ? dc.primeVDS : dc.primeDDS;
240
+ const did = PF.toDatasetID(dataset);
237
241
  switch (detail)
238
242
  {
239
243
  case null: case '': case 'all':
@@ -252,7 +256,7 @@ export function ToEthnicColorStr(agg: PF.PackedFields, dc: PF.DatasetContext, pd
252
256
  default: break;
253
257
  }
254
258
 
255
- const getter = PF.ToGetter(agg, dc, '', dataset);
259
+ const getter = PF.ToGetter(agg, dc, did, dataset);
256
260
  let den = getter(total);
257
261
  let num = getter(ethnic);
258
262
  if (den === undefined || isNaN(den) || num === undefined || isNaN(num))
@@ -171,7 +171,7 @@ export function computeMetaIndex(datasetid: string, meta: DatasetsMeta): PackedM
171
171
  index.getDatasetField = (f: any, dataset: string, field: string): number => {
172
172
  let pf = retrievePackedFields(f);
173
173
  let groupindex = retrievePackedIndex(f);
174
- let datasetid = dataset.length > 20 ? dataset : ''; // hack - extended datasets use 26 char guids, built-in ones are short
174
+ let datasetid = toDatasetID(dataset);
175
175
  return getPackedField(groupindex, pf, datasetid, dataset, field);
176
176
  };
177
177
  return index;
@@ -230,6 +230,11 @@ export function isExtDataset(did: string): boolean
230
230
  return did && reExtDataset.test(did);
231
231
  }
232
232
 
233
+ export function toDatasetID(datasetKey: string): string
234
+ {
235
+ return isExtDataset(datasetKey) ? datasetKey : '';
236
+ }
237
+
233
238
  export type ExtPackedFields = Uint32Array; // [nblocks][nfields][fields]...
234
239
  export type ExtBlockCardinality = Map<string, number>;
235
240
 
@@ -444,16 +449,18 @@ export function ToGetterPvi20(agg: PackedFields, dc: DatasetContext): FieldGette
444
449
 
445
450
  export function calcShift(agg: PackedFields, dc: DatasetContext, datasetOld: string, datasetNew: string): number
446
451
  {
452
+ const didOld = toDatasetID(datasetOld);
453
+ const didNew = toDatasetID(datasetNew);
447
454
  const getterOld = datasetOld === DS_PVI2016 ?
448
455
  ToGetterPvi16(agg, dc, datasetOld) :
449
456
  datasetOld === DS_PVI2020 ?
450
457
  ToGetterPvi20(agg, dc) :
451
- ToGetter(agg, dc, '', datasetOld);
458
+ ToGetter(agg, dc, didOld, datasetOld);
452
459
  const getterNew = datasetNew === DS_PVI2016 ?
453
460
  ToGetterPvi16(agg, dc, datasetNew) :
454
461
  datasetNew === DS_PVI2020 ?
455
462
  ToGetterPvi20(agg, dc) :
456
- ToGetter(agg, dc, '', datasetNew);
463
+ ToGetter(agg, dc, didNew, datasetNew);
457
464
 
458
465
  // Calc two-party Swing
459
466
  const repOld = getterOld('R');
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dra2020/dra-types",
3
- "version": "1.8.101",
3
+ "version": "1.8.103",
4
4
  "description": "Shared types used between client, server and tools.",
5
5
  "main": "dist/dra-types.js",
6
6
  "types": "./dist/all.d.ts",