版博士V2.0程序
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

63 lines
1.2 KiB

  1. /**
  2. * @since 2.10.0
  3. */
  4. import { HKT, Kind, Kind2, Kind3, Kind4, URIS, URIS2, URIS3, URIS4 } from './HKT'
  5. /**
  6. * @category model
  7. * @since 2.10.0
  8. */
  9. export interface Pointed<F> {
  10. readonly URI: F
  11. readonly of: <A>(a: A) => HKT<F, A>
  12. }
  13. /**
  14. * @category model
  15. * @since 2.10.0
  16. */
  17. export interface Pointed1<F extends URIS> {
  18. readonly URI: F
  19. readonly of: <A>(a: A) => Kind<F, A>
  20. }
  21. /**
  22. * @category model
  23. * @since 2.10.0
  24. */
  25. export interface Pointed2<F extends URIS2> {
  26. readonly URI: F
  27. readonly of: <E, A>(a: A) => Kind2<F, E, A>
  28. }
  29. /**
  30. * @category model
  31. * @since 2.10.0
  32. */
  33. export interface Pointed2C<F extends URIS2, E> {
  34. readonly URI: F
  35. readonly _E: E
  36. readonly of: <A>(a: A) => Kind2<F, E, A>
  37. }
  38. /**
  39. * @category model
  40. * @since 2.10.0
  41. */
  42. export interface Pointed3<F extends URIS3> {
  43. readonly URI: F
  44. readonly of: <R, E, A>(a: A) => Kind3<F, R, E, A>
  45. }
  46. /**
  47. * @category model
  48. * @since 2.10.0
  49. */
  50. export interface Pointed3C<F extends URIS3, E> {
  51. readonly URI: F
  52. readonly _E: E
  53. readonly of: <R, A>(a: A) => Kind3<F, R, E, A>
  54. }
  55. /**
  56. * @category model
  57. * @since 2.10.0
  58. */
  59. export interface Pointed4<F extends URIS4> {
  60. readonly URI: F
  61. readonly of: <S, R, E, A>(a: A) => Kind4<F, S, R, E, A>
  62. }