{"version":3,"file":"Promise.cjs","sources":["../../src/types/Promise.ts"],"sourcesContent":["import XVType from \"../XVType\";\nimport { Infer } from \"../types\";\n\nclass XVPromise<T extends XVType<any>> extends XVType<Promise<Infer<T>>> {\n  constructor(readonly PromiseInner: T) {\n    super();\n  }\n\n  protected check(value: any): Promise<Infer<T>> {\n    if (!(value instanceof Promise)) {\n      throw new Error(`Value should be a Promise, received ${typeof value}`);\n    }\n    return value;\n  }\n\n  parse(value: any): Promise<Infer<T>> {\n    super.parse(value);\n    return (value as Promise<any>).then((res) => {\n      if (this.PromiseInner) {\n        this.PromiseInner.parse(res);\n      }\n      return res;\n    });\n  }\n}\n\nexport default XVPromise;\n"],"names":[],"mappings":";;;;AAGA,MAAM,SAAiC,SAAQ,MAAyB,CAAA;AACtE,IAAA,WAAA,CAAqB,YAAe,EAAA;AAClC,QAAA,KAAK,EAAE;QADY,IAAA,CAAA,YAAY,GAAZ,YAAY;IAEjC;AAEU,IAAA,KAAK,CAAC,KAAU,EAAA;AACxB,QAAA,IAAI,EAAE,KAAK,YAAY,OAAO,CAAC,EAAE;YAC/B,MAAM,IAAI,KAAK,CAAC,CAAA,oCAAA,EAAuC,OAAO,KAAK,CAAA,CAAE,CAAC;QACxE;AACA,QAAA,OAAO,KAAK;IACd;AAEA,IAAA,KAAK,CAAC,KAAU,EAAA;AACd,QAAA,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC;AAClB,QAAA,OAAQ,KAAsB,CAAC,IAAI,CAAC,CAAC,GAAG,KAAI;AAC1C,YAAA,IAAI,IAAI,CAAC,YAAY,EAAE;AACrB,gBAAA,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC;YAC9B;AACA,YAAA,OAAO,GAAG;AACZ,QAAA,CAAC,CAAC;IACJ;AACD;;;;"}