error.km 607 B

123456789101112131415161718192021222324252627
  1. type Error native;
  2. export function Error:
  3. &(String) => Error
  4. native 'make-error';
  5. export function Error:
  6. & { message: String, data: List[(String,String)] } => Error
  7. native 'make-error-with-data';
  8. export function String:
  9. &(Error) => String
  10. native 'String from error';
  11. export function get-data:
  12. &(Error,{key:String,fallback:String}) => String
  13. native 'error-get-data';
  14. export function get-data:
  15. &(Error,String) => String
  16. &(err,key) => (err get-data { key, fallback: '' });
  17. export function wrap:
  18. &(Error, &(String) => String) => Error
  19. native 'error-wrap';