{"version":3,"file":"Object.cjs","sources":["../../src/types/Object.ts"],"sourcesContent":["import XVType from \"../XVType\";\nimport { Infer } from \"../types\";\n\nexport type XVObjectShape = Record<string | number, XVType<any>>;\n\nclass XVObject<const T extends XVObjectShape> extends XVType<Infer<T>> {\n  constructor(readonly objectArg: T) {\n    super();\n  }\n\n  protected check(value: unknown): Infer<T> {\n    if (typeof value !== \"object\" || value === null) {\n      throw new Error(\"Value must be an object\");\n    }\n\n    const result = {} as Infer<T>;\n\n    for (const key in this.objectArg) {\n      const itemType = this.objectArg[key];\n      result[key] = itemType.parse((value as any)[key]);\n    }\n\n    return result;\n  }\n}\n\nexport default XVObject;\n"],"names":[],"mappings":";;;;AAKA,MAAM,QAAwC,SAAQ,MAAgB,CAAA;AACpE,IAAA,WAAA,CAAqB,SAAY,EAAA;AAC/B,QAAA,KAAK,EAAE;QADY,IAAA,CAAA,SAAS,GAAT,SAAS;IAE9B;AAEU,IAAA,KAAK,CAAC,KAAc,EAAA;QAC5B,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,EAAE;AAC/C,YAAA,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC;QAC5C;QAEA,MAAM,MAAM,GAAG,EAAc;AAE7B,QAAA,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,SAAS,EAAE;YAChC,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC;AACpC,YAAA,MAAM,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAE,KAAa,CAAC,GAAG,CAAC,CAAC;QACnD;AAEA,QAAA,OAAO,MAAM;IACf;AACD;;;;"}