salesforce-ux / theo

Theo is a an abstraction for transforming and formatting Design Tokens

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Allow aliases to be resolve in prop meta data

trazek opened this issue · comments

Given the following data file:

{
  "global": {
    "type": "test",
    "category": "test"
  },
  "aliases": {
    "TEST_1": "EEEEE",
    "TEST_2": "DDDDD",
    "TEST_3": "FFFFF",
    "META_1": "AAAAA",
    "META_2": "ZZZZZ"
  },
  "props": {
    "test1": {
      "value": "{!TEST_1}"
    },
    "test2": {
      "value": {
        "nested": "{!TEST_2}",
        "deep": {
          "deep_value": "{!TEST_3}"
        }
      },
      "meta": {
        "meta_1": "{!META_1}",
        "meta_root": {
          "meta_2": "{!META_2}"
        }
      }
    }
  }
}

Allow aliases to be resolved in meta data, resulting in the following raw file:

{
  "aliases": {
    "TEST_1": {
      "value": "EEEEE"
    },
    "TEST_2": {
      "value": "DDDDD"
    },
    "TEST_3": {
      "value": "FFFFF"
    },
    "META_1": {
      "value": "AAAAA"
    },
    "META_2": {
      "value": "ZZZZZ"
    }
  },
  "props": {
    "test1": {
      "type": "test",
      "category": "test",
      "value": {
        "type": "test",
        "category": "test",
        "value": "EEEEE",
        "originalValue": "{!TEST_1}",
        "name": "test1"
      },
      "originalValue": "{!TEST_1}",
      "name": "test1"
    },
    "test2": {
      "type": "test",
      "category": "test",
      "value": {
        "type": "test",
        "category": "test",
        "value": {
          "nested": "DDDDD",
          "deep": {
            "deep_value": "FFFFF"
          }
        },
        "meta": {
          "meta_1": "AAAAA",
          "meta_root": {
            "meta_2": "ZZZZZ"
          }
        },
        "originalValue": {
          "nested": "{!TEST_2}",
          "deep": {
            "deep_value": "{!TEST_3}"
          }
        },
        "name": "test2"
      },
      "name": "test2",
      "originalValue": {
        "nested": "{!TEST_2}",
        "deep": {
          "deep_value": "{!TEST_3}"
        }
      }
    }
  }
}

I have created a pull request for this: #173