{"version":3,"sources":["../../../src/schema/utils/schema-resolver.ts"],"sourcesContent":["import Definitions from '../../core/definitions';\r\nimport TokenNode from '../../parser/nodes/tokens';\r\nimport Schema from '../schema';\r\nimport IOError from '../../errors/io-error';\r\nimport ErrorCodes from '../../errors/io-error-codes';\r\n\r\nexport class SchemaResolver {\r\n  static resolve(schema: Schema | TokenNode, defs?: Definitions): Schema {\r\n    if (schema instanceof TokenNode) {\r\n      const schemaName = schema.value as string;\r\n      // Match existing behavior: defer to definitions.getV for resolution and error semantics\r\n      const resolved = defs?.getV(schemaName);\r\n      if (!(resolved instanceof Schema)) {\r\n        // Safety net; typically getV would throw for missing/invalid refs\r\n        throw new IOError(ErrorCodes.schemaNotFound, `Schema '${schemaName}' not found or invalid`);\r\n      }\r\n      return resolved;\r\n    }\r\n    return schema;\r\n  }\r\n\r\n  static isSchemaVariable(value: unknown): value is TokenNode {\r\n    return value instanceof TokenNode && typeof value.value === 'string' && value.value.startsWith('$');\r\n  }\r\n}\r\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,oBAAsB;AACtB,oBAAmB;AACnB,sBAAoB;AACpB,4BAAuB;AAEhB,MAAM,eAAe;AAAA,EAC1B,OAAO,QAAQ,QAA4B,MAA4B;AACrE,QAAI,kBAAkB,cAAAA,SAAW;AAC/B,YAAM,aAAa,OAAO;AAE1B,YAAM,WAAW,MAAM,KAAK,UAAU;AACtC,UAAI,EAAE,oBAAoB,cAAAC,UAAS;AAEjC,cAAM,IAAI,gBAAAC,QAAQ,sBAAAC,QAAW,gBAAgB,WAAW,UAAU,wBAAwB;AAAA,MAC5F;AACA,aAAO;AAAA,IACT;AACA,WAAO;AAAA,EACT;AAAA,EAEA,OAAO,iBAAiB,OAAoC;AAC1D,WAAO,iBAAiB,cAAAH,WAAa,OAAO,MAAM,UAAU,YAAY,MAAM,MAAM,WAAW,GAAG;AAAA,EACpG;AACF;","names":["TokenNode","Schema","IOError","ErrorCodes"]}