forked from MapComplete/MapComplete
		
	Refactoring: move all code files into a src directory
This commit is contained in:
		
							parent
							
								
									de99f56ca8
								
							
						
					
					
						commit
						e75d2789d2
					
				
					 389 changed files with 0 additions and 12 deletions
				
			
		|  | @ -1,79 +0,0 @@ | |||
| import { TagsFilter } from "../../Logic/Tags/TagsFilter" | ||||
| import { RegexTag } from "../../Logic/Tags/RegexTag" | ||||
| 
 | ||||
| export default class SourceConfig { | ||||
|     public osmTags?: TagsFilter | ||||
|     public geojsonSource?: string | ||||
|     public geojsonZoomLevel?: number | ||||
|     public isOsmCacheLayer: boolean | ||||
|     public readonly mercatorCrs: boolean | ||||
|     public readonly idKey: string | ||||
| 
 | ||||
|     constructor( | ||||
|         params: { | ||||
|             mercatorCrs?: boolean | ||||
|             osmTags?: TagsFilter | ||||
|             overpassScript?: string | ||||
|             geojsonSource?: string | ||||
|             isOsmCache?: boolean | ||||
|             geojsonSourceLevel?: number | ||||
|             idKey?: string | ||||
|         }, | ||||
|         context?: string | ||||
|     ) { | ||||
|         let defined = 0 | ||||
|         if (params.osmTags) { | ||||
|             defined++ | ||||
|         } | ||||
|         if (params.overpassScript) { | ||||
|             defined++ | ||||
|         } | ||||
|         if (params.geojsonSource) { | ||||
|             defined++ | ||||
|         } | ||||
|         if (defined == 0) { | ||||
|             throw `Source: nothing correct defined in the source (in ${context}) (the params are ${JSON.stringify( | ||||
|                 params | ||||
|             )})` | ||||
|         } | ||||
|         if (params.isOsmCache && params.geojsonSource == undefined) { | ||||
|             console.error(params) | ||||
|             throw `Source said it is a OSM-cached layer, but didn't define the actual source of the cache (in context ${context})` | ||||
|         } | ||||
|         if (params.geojsonSource !== undefined && params.geojsonSourceLevel !== undefined) { | ||||
|             if ( | ||||
|                 !["x", "y", "x_min", "x_max", "y_min", "Y_max"].some( | ||||
|                     (toSearch) => params.geojsonSource.indexOf(toSearch) > 0 | ||||
|                 ) | ||||
|             ) { | ||||
|                 throw `Source defines a geojson-zoomLevel, but does not specify {x} nor {y} (or equivalent), this is probably a bug (in context ${context})` | ||||
|             } | ||||
|         } | ||||
|         if (params.osmTags !== undefined) { | ||||
|             const optimized = params.osmTags.optimize() | ||||
|             if (optimized === false) { | ||||
|                 throw ( | ||||
|                     "Error at " + | ||||
|                     context + | ||||
|                     ": the specified tags are conflicting with each other: they will never match anything at all.\n" + | ||||
|                     "\tThe offending tags are: " + | ||||
|                     params.osmTags.asHumanString(false, false, {}) + | ||||
|                     "\tThey optmize into 'false' " | ||||
|                 ) | ||||
|             } | ||||
|             if (optimized === true) { | ||||
|                 throw ( | ||||
|                     "Error at " + | ||||
|                     context + | ||||
|                     ": the specified tags are very wide: they will always match everything" | ||||
|                 ) | ||||
|             } | ||||
|         } | ||||
|         this.osmTags = params.osmTags ?? new RegexTag("id", /.*/) | ||||
|         this.geojsonSource = params.geojsonSource | ||||
|         this.geojsonZoomLevel = params.geojsonSourceLevel | ||||
|         this.isOsmCacheLayer = params.isOsmCache ?? false | ||||
|         this.mercatorCrs = params.mercatorCrs ?? false | ||||
|         this.idKey = params.idKey | ||||
|     } | ||||
| } | ||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue