@@ -119,31 +119,15 @@ const collectMultiSourceValues = (variations: Variations): Values => {
119119 return values
120120}
121121
122- const sortDifferentVariations = (
123- differentVariations : { field : string ; variations : number } [ ] ,
124- expectedOrder : string [ ]
125- ) : { field : string ; variations : number } [ ] => {
126- differentVariations . sort (
127- (
128- { field : aField , variations : aVariations } ,
129- { field : bField , variations : bVariations }
130- ) =>
131- aVariations === bVariations
132- ? expectedOrder . indexOf ( aField ) - expectedOrder . indexOf ( bField )
133- : aVariations - bVariations
134- )
135- return differentVariations
136- }
137-
138122const groupVariations = (
139123 variations : Variations ,
140124 values : Values
141125) : {
142- lessValuesThanVariations : { field : string ; variations : number } [ ]
126+ lessValuesThanVariations : string [ ]
143127 valuesMatchVariations : string [ ]
144128} => {
145129 const valuesMatchVariations : string [ ] = [ ]
146- const lessValuesThanVariations : { field : string ; variations : number } [ ] = [ ]
130+ const lessValuesThanVariations : string [ ] = [ ]
147131
148132 for ( const [ field , valueSet ] of Object . entries ( values ) ) {
149133 if ( valueSet . size === 1 ) {
@@ -153,14 +137,14 @@ const groupVariations = (
153137 valuesMatchVariations . push ( field )
154138 continue
155139 }
156- lessValuesThanVariations . push ( { field, variations : valueSet . size } )
140+ lessValuesThanVariations . push ( field )
157141 }
158142
159143 const expectedOrder = [ 'filename' , 'field' ]
160144 return {
161- lessValuesThanVariations : sortDifferentVariations (
145+ lessValuesThanVariations : sortCollectedArray (
162146 lessValuesThanVariations ,
163- expectedOrder
147+ ( a , b ) => expectedOrder . indexOf ( a ) - expectedOrder . indexOf ( b )
164148 ) ,
165149 valuesMatchVariations : sortCollectedArray (
166150 valuesMatchVariations ,
@@ -224,7 +208,7 @@ const collectMergedStrokeDashEncoding = (
224208const collectEncodingFromValues = < T extends typeof Shape | typeof StrokeDash > (
225209 scaleRange : T ,
226210 values : Values ,
227- lessValuesThanVariations : { field : string ; variations : number } [ ]
211+ lessValuesThanVariations : string [ ]
228212) : { field : string ; scale : { range : T [ number ] [ ] ; domain : string [ ] } } => {
229213 const scale : { range : T [ number ] [ ] ; domain : string [ ] } = {
230214 domain : [ ] ,
@@ -233,10 +217,9 @@ const collectEncodingFromValues = <T extends typeof Shape | typeof StrokeDash>(
233217 const filenameOrField = lessValuesThanVariations . shift ( )
234218 let idx = 0
235219 const field = new Set < string > ( )
236- if ( filenameOrField ?. field ) {
237- for ( const value of values [ filenameOrField . field as 'filename' | 'field' ] ||
238- [ ] ) {
239- field . add ( filenameOrField . field )
220+ if ( filenameOrField ) {
221+ for ( const value of values [ filenameOrField as 'filename' | 'field' ] || [ ] ) {
222+ field . add ( filenameOrField )
240223 scale . domain . push ( value )
241224 scale . range . push ( scaleRange [ idx ] )
242225 scale . domain . sort ( )
@@ -250,7 +233,7 @@ const collectUnmergedStrokeDashEncoding = (
250233 acc : MultiSourceEncoding ,
251234 path : string ,
252235 values : Values ,
253- lessValuesThanVariations : { field : string ; variations : number } [ ]
236+ lessValuesThanVariations : string [ ]
254237) : void => {
255238 acc [ path ] = {
256239 strokeDash : collectEncodingFromValues (
@@ -265,16 +248,14 @@ const collectUnmergedShapeEncoding = (
265248 acc : MultiSourceEncoding ,
266249 path : string ,
267250 values : Values ,
268- lessValuesThanVariations : { field : string ; variations : number } [ ]
251+ lessValuesThanVariations : string [ ]
269252) : void => {
270253 acc [ path ] = {
271254 ...acc [ path ] ,
272255 shape : collectEncodingFromValues ( Shape , values , lessValuesThanVariations )
273256 }
274257}
275258
276- // this is how we can collect the encoding for multi-source plots
277- // we need to pass in the anchors that we want to fill as well
278259const collectPathMultiSourceEncoding = (
279260 acc : MultiSourceEncoding ,
280261 path : string ,
@@ -290,7 +271,7 @@ const collectPathMultiSourceEncoding = (
290271 if ( valuesMatchVariations . length > 0 ) {
291272 const keysToCombined = [
292273 ...valuesMatchVariations ,
293- ...lessValuesThanVariations . map ( ( { field } ) => field )
274+ ...lessValuesThanVariations
294275 ]
295276 collectMergedStrokeDashEncoding ( acc , path , variations , keysToCombined )
296277 return
0 commit comments