版博士V2.0程序
Nelze vybrat více než 25 témat Téma musí začínat písmenem nebo číslem, může obsahovat pomlčky („-“) a může být dlouhé až 35 znaků.
 
 
 
 

60 řádky
2.7 KiB

  1. var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
  2. if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
  3. if (ar || !(i in from)) {
  4. if (!ar) ar = Array.prototype.slice.call(from, 0, i);
  5. ar[i] = from[i];
  6. }
  7. }
  8. return to.concat(ar || Array.prototype.slice.call(from));
  9. };
  10. // -------------------------------------------------------------------------------------
  11. // Option
  12. // -------------------------------------------------------------------------------------
  13. /** @internal */
  14. export var isNone = function (fa) { return fa._tag === 'None'; };
  15. /** @internal */
  16. export var isSome = function (fa) { return fa._tag === 'Some'; };
  17. /** @internal */
  18. export var none = { _tag: 'None' };
  19. /** @internal */
  20. export var some = function (a) { return ({ _tag: 'Some', value: a }); };
  21. // -------------------------------------------------------------------------------------
  22. // Either
  23. // -------------------------------------------------------------------------------------
  24. /** @internal */
  25. export var isLeft = function (ma) { return ma._tag === 'Left'; };
  26. /** @internal */
  27. export var isRight = function (ma) { return ma._tag === 'Right'; };
  28. /** @internal */
  29. export var left = function (e) { return ({ _tag: 'Left', left: e }); };
  30. /** @internal */
  31. export var right = function (a) { return ({ _tag: 'Right', right: a }); };
  32. // -------------------------------------------------------------------------------------
  33. // ReadonlyNonEmptyArray
  34. // -------------------------------------------------------------------------------------
  35. /** @internal */
  36. export var singleton = function (a) { return [a]; };
  37. /** @internal */
  38. export var isNonEmpty = function (as) { return as.length > 0; };
  39. /** @internal */
  40. export var head = function (as) { return as[0]; };
  41. /** @internal */
  42. export var tail = function (as) { return as.slice(1); };
  43. // -------------------------------------------------------------------------------------
  44. // empty
  45. // -------------------------------------------------------------------------------------
  46. /** @internal */
  47. export var emptyReadonlyArray = [];
  48. /** @internal */
  49. export var emptyRecord = {};
  50. // -------------------------------------------------------------------------------------
  51. // Record
  52. // -------------------------------------------------------------------------------------
  53. /** @internal */
  54. export var has = Object.prototype.hasOwnProperty;
  55. // -------------------------------------------------------------------------------------
  56. // NonEmptyArray
  57. // -------------------------------------------------------------------------------------
  58. /** @internal */
  59. export var fromReadonlyNonEmptyArray = function (as) { return __spreadArray([as[0]], as.slice(1), true); };