{"version":3,"sources":["../../../src/parser/nodes/tokens.ts"],"sourcesContent":["import Definitions  from '../../core/definitions';\r\nimport TokenType from '../tokenizer/token-types';\r\nimport Token        from '../tokenizer/tokens';\r\nimport Node         from './nodes';\r\n\r\n/**\r\n * Represents a token node. It represents the leaf nodes in the AST.\r\n */\r\nclass TokenNode extends Token implements Node {\r\n  constructor (token: Token) {\r\n    super();\r\n    Object.assign(this, token);\r\n  }\r\n\r\n  /**\r\n   * Returns the parsed value from the token.\r\n   * @param defs If the token is of type string, then check if it is a reference\r\n   *             and return the value from the definitions.\r\n   * @returns The parsed value.\r\n   */\r\n  toValue(defs?: Definitions): any {\r\n    if (this.type === TokenType.STRING && defs !== undefined) {\r\n      const valueFound = defs.getV(this.value);\r\n      return valueFound === undefined ? this.value : valueFound;\r\n    }\r\n    return this.value;\r\n  }\r\n}\r\n\r\nexport default TokenNode;\r\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,yBAAsB;AACtB,oBAAyB;AAMzB,MAAM,kBAAkB,cAAAA,QAAsB;AAAA,EAC5C,YAAa,OAAc;AACzB,UAAM;AACN,WAAO,OAAO,MAAM,KAAK;AAAA,EAC3B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQA,QAAQ,MAAyB;AAC/B,QAAI,KAAK,SAAS,mBAAAC,QAAU,UAAU,SAAS,QAAW;AACxD,YAAM,aAAa,KAAK,KAAK,KAAK,KAAK;AACvC,aAAO,eAAe,SAAY,KAAK,QAAQ;AAAA,IACjD;AACA,WAAO,KAAK;AAAA,EACd;AACF;AAEA,IAAO,iBAAQ;","names":["Token","TokenType"]}