{"version":3,"sources":["../../../src/schema/processing/member-processor-factory.ts"],"sourcesContent":["import Definitions from '../../core/definitions';\r\nimport MemberNode from '../../parser/nodes/members';\r\nimport TypedefRegistry from '../typedef-registry';\r\nimport MemberDef from '../types/memberdef';\r\n\r\nexport class MemberProcessorFactory {\r\n  static process(member: MemberNode, memberDef: MemberDef, defs?: Definitions): any {\r\n    const processor = this.getProcessor(memberDef.type);\r\n    return processor.process(member, memberDef, defs);\r\n  }\r\n\r\n  private static getProcessor(type: string): MemberProcessor {\r\n    const typeDef = TypedefRegistry.get(type);\r\n    return new StandardMemberProcessor(typeDef);\r\n  }\r\n}\r\n\r\ninterface MemberProcessor {\r\n  process(member: MemberNode, memberDef: MemberDef, defs?: Definitions): any;\r\n}\r\n\r\nclass StandardMemberProcessor implements MemberProcessor {\r\n  constructor(private typeDef: any) {}\r\n\r\n  process(member: MemberNode, memberDef: MemberDef, defs?: Definitions): any {\r\n    return this.typeDef.parse(member?.value, memberDef, defs);\r\n  }\r\n}\r\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA,8BAA4B;AAGrB,MAAM,uBAAuB;AAAA,EAClC,OAAO,QAAQ,QAAoB,WAAsB,MAAyB;AAChF,UAAM,YAAY,KAAK,aAAa,UAAU,IAAI;AAClD,WAAO,UAAU,QAAQ,QAAQ,WAAW,IAAI;AAAA,EAClD;AAAA,EAEA,OAAe,aAAa,MAA+B;AACzD,UAAM,UAAU,wBAAAA,QAAgB,IAAI,IAAI;AACxC,WAAO,IAAI,wBAAwB,OAAO;AAAA,EAC5C;AACF;AAMA,MAAM,wBAAmD;AAAA,EACvD,YAAoB,SAAc;AAAd;AAAA,EAAe;AAAA,EAEnC,QAAQ,QAAoB,WAAsB,MAAyB;AACzE,WAAO,KAAK,QAAQ,MAAM,QAAQ,OAAO,WAAW,IAAI;AAAA,EAC1D;AACF;","names":["TypedefRegistry"]}