{"version":3,"sources":["../src/success.ts"],"sourcesContent":["import { checkIsValidationM } from './internal/utils'\nimport { ValidationActions, ValidationM } from './types'\n\nclass Success implements Success {\n  static of(value: any): Success {\n    return new Success(value)\n  }\n\n  isSuccess = true\n  errors = []\n  value: any = null\n\n  constructor(value: any) {\n    this.value = value\n    this.errors = []\n  }\n\n  map(fn: (v: any) => any) {\n    return new Success(fn(this.value))\n  }\n\n  chain(validationFn: (v: any) => ValidationM): ValidationM {\n    try {\n      const result = validationFn(this.value)\n\n      checkIsValidationM(result)\n\n      return result\n    } catch (error) {\n      console.error(error.message)\n      console.error(error.stack)\n    }\n  }\n\n  fold({ onSuccess }: ValidationActions) {\n    return onSuccess(this.value)\n  }\n}\n\nexport { Success }\n"],"mappings":";;;;;AAGA,oBAAiC;AAAA,EAS/B,YAAY,OAAY;AAJxB,qBAAY;AACZ,kBAAS,CAAC;AACV,iBAAa;AAGX,SAAK,QAAQ;AACb,SAAK,SAAS,CAAC;AAAA,EACjB;AAAA,SAXO,GAAG,OAAqB;AAC7B,WAAO,IAAI,QAAQ,KAAK;AAAA,EAC1B;AAAA,EAWA,IAAI,IAAqB;AACvB,WAAO,IAAI,QAAQ,GAAG,KAAK,KAAK,CAAC;AAAA,EACnC;AAAA,EAEA,MAAM,cAAoD;AACxD,QAAI;AACF,YAAM,SAAS,aAAa,KAAK,KAAK;AAEtC,yBAAmB,MAAM;AAEzB,aAAO;AAAA,IACT,SAAS,OAAP;AACA,cAAQ,MAAM,MAAM,OAAO;AAC3B,cAAQ,MAAM,MAAM,KAAK;AAAA,IAC3B;AAAA,EACF;AAAA,EAEA,KAAK,EAAE,aAAgC;AACrC,WAAO,UAAU,KAAK,KAAK;AAAA,EAC7B;AACF;","names":[]}