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
|
|
} |