forked from MapComplete/MapComplete
		
	
		
			
				
	
	
		
			47 lines
		
	
	
		
			No EOL
		
	
	
		
			820 B
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
			
		
		
	
	
			47 lines
		
	
	
		
			No EOL
		
	
	
		
			820 B
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
import {TagRenderingConfigJson} from "./TagRenderingConfigJson";
 | 
						|
 | 
						|
/**
 | 
						|
 * Rewrites and multiplies the given renderings of type T.
 | 
						|
 * 
 | 
						|
 * For example:
 | 
						|
 *
 | 
						|
 *
 | 
						|
 * ```
 | 
						|
 * {
 | 
						|
 *     rewrite: {
 | 
						|
 *         sourceString: ["key", "a|b|c"],
 | 
						|
 *         into: [
 | 
						|
 *             ["X","Y", "Z"],
 | 
						|
 *             [0,1,2]
 | 
						|
 *         ],
 | 
						|
 *         renderings: {
 | 
						|
 *             "key":"a|b|c"
 | 
						|
 *         }
 | 
						|
 *     }
 | 
						|
 * }
 | 
						|
 * ```
 | 
						|
 * will result in _three_ copies (as the values to rewrite into have three values, namely:
 | 
						|
 * 
 | 
						|
 * [
 | 
						|
 *   {
 | 
						|
 *   // The first pair: key --> X, a|b|c --> 0
 | 
						|
 *       "X": 0
 | 
						|
 *   },
 | 
						|
 *   {
 | 
						|
 *       "Y": 1
 | 
						|
 *   },
 | 
						|
 *   {
 | 
						|
 *       "Z": 2
 | 
						|
 *   }
 | 
						|
 * 
 | 
						|
 * ]
 | 
						|
 * 
 | 
						|
 * 
 | 
						|
 */
 | 
						|
export default interface RewritableConfigJson<T> {
 | 
						|
    rewrite: {
 | 
						|
        sourceString: string[],
 | 
						|
        into: (string | any)[][]
 | 
						|
    },
 | 
						|
    renderings: T
 | 
						|
} |