Change generic types order for Result.fail and Result.Ok
Now each method has your own order
Example:
// for implementation:
IResult<Payload, Error, MetaData>;
// before the generic order was the same for both method.
// now for
Result.Ok
// the generic order is
Result.Ok<Payload, MetaData, Error>(payload metaData);
// for
Result.fail
//the generic order is
Result.fail<Error, MetaData, Payload>(error, metaData);
Changes made on Ok
import { Ok } from 'rich-domain';
// simple use case for success. no arg required
return Ok();
// arg required
return Ok<string>('my payload');
// arg and metaData required
interface MetaData {
arg: string;
}
return Ok<string, MetaData>('payload', { arg: 'sample' })
Changes made on Fail
import { Fail } from 'rich-domain';
// simple use case for success. no arg required
return Fail();
// arg required
return Fail<string>('my payload');
// arg and metaData required
interface MetaData {
arg: string;
}
return Fail<string, MetaData>('payload', { arg: 'sample' })
Change
Change generic types order for
Result.fail
andResult.Ok
Now each method has your own order Example:
Changes made on Ok
Changes made on Fail