{"version":3,"sources":["../src/typecheck/inheritedOf.ts"],"names":["inheritedOf","cls","baseClass","parent"],"mappings":";;;;AAQO,SAASA,EAAYC,CAAYC,CAAAA,CAAAA,CAA2B,CACjE,GAAID,CAAAA,GAAQ,OAAW,OAAO,MAAA,CAC9B,GAAIA,CAAQC,GAAAA,CAAAA,CAAW,OAAO,KAC9B,CAAA,GAAI,EAAE,WAAeD,GAAAA,CAAAA,CAAAA,CAAM,OAAO,MAClC,CAAA,IAAIE,CAAeF,CAAAA,CAAAA,CAAY,UAC/B,KAAOE,CAAAA,EAAU,MAAM,CACrB,GAAIA,IAAWD,CAAaC,EAAAA,CAAAA,CAAO,OAASD,CAAU,CAAA,IAAA,CACpD,OAAO,KAETC,CAAAA,CAAAA,CAASA,EAAO,UAClB,CACA,OAAO,MACT","file":"chunk-6RMNMTXG.mjs","sourcesContent":["import type { Class } from \"../types\";\n\n/**\n * 判断cls是否继承自baseClass\n * @param cls\n * @param baseClass\n * @returns {boolean}\n */\nexport function inheritedOf(cls: Class, baseClass: Class): boolean {\n  if (cls === undefined) return false;\n  if (cls === baseClass) return true;\n  if (!(\"__proto__\" in cls)) return false;\n  let parent: any = (cls as any).__proto__;\n  while (parent != null) {\n    if (parent === baseClass || parent.name === baseClass.name) {\n      return true;\n    }\n    parent = parent.__proto__;\n  }\n  return false;\n}\n"]}