Webstore.js 4.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132
  1. define(["amber/boot", "require", "amber/core/Kernel-Objects"], function($boot,requirejs){"use strict";
  2. var $core=$boot.api,nil=$boot.nilAsValue,$nil=$boot.nilAsReceiver,$recv=$boot.asReceiver,$globals=$boot.globals;
  3. var $pkg = $core.addPackage("Webstore");
  4. $pkg.imports = ["amber/web/Web", "amber/web/Web-JQuery", "silk/Silk"];
  5. //>>excludeStart("imports", pragmas.excludeImports);
  6. $pkg.isReady = new Promise(function (resolve, reject) { requirejs(["amber/web/Web", "amber/web/Web-JQuery", "silk/Silk"], function () {resolve();}, reject); });
  7. //>>excludeEnd("imports");
  8. $pkg.transport = {"type":"amd","amdNamespace":"amber-webstore"};
  9. $core.addClass("Webstore", $globals.Object, "Webstore");
  10. $core.addMethod(
  11. $core.method({
  12. selector: "augmentPage",
  13. protocol: "starting",
  14. //>>excludeStart("ide", pragmas.excludeIdeData);
  15. args: [],
  16. source: "augmentPage\x0a\x09",
  17. referencedClasses: [],
  18. //>>excludeEnd("ide");
  19. pragmas: [],
  20. messageSends: []
  21. }, function ($methodClass){ return function (){
  22. var self=this,$self=this;
  23. return self;
  24. }; }),
  25. $globals.Webstore);
  26. $core.addMethod(
  27. $core.method({
  28. selector: "doInspectStatus",
  29. protocol: "action",
  30. //>>excludeStart("ide", pragmas.excludeIdeData);
  31. args: [],
  32. source: "doInspectStatus\x0a\x09(self getApi: '/status')\x0a\x09\x09then: {#json. #inspect}\x0a\x09\x09catch: [ :err | Terminal alert: err ]",
  33. referencedClasses: ["Terminal"],
  34. //>>excludeEnd("ide");
  35. pragmas: [],
  36. messageSends: ["then:catch:", "getApi:", "alert:"]
  37. }, function ($methodClass){ return function (){
  38. var self=this,$self=this;
  39. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  40. return $core.withContext(function($ctx1) {
  41. //>>excludeEnd("ctx");
  42. $recv($self._getApi_("/status"))._then_catch_(["json","inspect"],(function(err){
  43. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  44. return $core.withContext(function($ctx2) {
  45. //>>excludeEnd("ctx");
  46. return $recv($globals.Terminal)._alert_(err);
  47. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  48. }, function($ctx2) {$ctx2.fillBlock({err:err},$ctx1,1)});
  49. //>>excludeEnd("ctx");
  50. }));
  51. return self;
  52. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  53. }, function($ctx1) {$ctx1.fill(self,"doInspectStatus",{})});
  54. //>>excludeEnd("ctx");
  55. }; }),
  56. $globals.Webstore);
  57. $core.addMethod(
  58. $core.method({
  59. selector: "endpoint",
  60. protocol: "backend",
  61. //>>excludeStart("ide", pragmas.excludeIdeData);
  62. args: [],
  63. source: "endpoint\x0a\x09\x22Return something like 'https://<char mess>.execute-api.eu-central-1.amazonaws.com/default'\x22\x0a\x09^ self error: 'Not yet implemented'",
  64. referencedClasses: [],
  65. //>>excludeEnd("ide");
  66. pragmas: [],
  67. messageSends: ["error:"]
  68. }, function ($methodClass){ return function (){
  69. var self=this,$self=this;
  70. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  71. return $core.withContext(function($ctx1) {
  72. //>>excludeEnd("ctx");
  73. return $self._error_("Not yet implemented");
  74. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  75. }, function($ctx1) {$ctx1.fill(self,"endpoint",{})});
  76. //>>excludeEnd("ctx");
  77. }; }),
  78. $globals.Webstore);
  79. $core.addMethod(
  80. $core.method({
  81. selector: "getApi:",
  82. protocol: "backend",
  83. //>>excludeStart("ide", pragmas.excludeIdeData);
  84. args: ["path"],
  85. source: "getApi: path\x0a\x09^ Platform fetch: self endpoint, path",
  86. referencedClasses: ["Platform"],
  87. //>>excludeEnd("ide");
  88. pragmas: [],
  89. messageSends: ["fetch:", ",", "endpoint"]
  90. }, function ($methodClass){ return function (path){
  91. var self=this,$self=this;
  92. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  93. return $core.withContext(function($ctx1) {
  94. //>>excludeEnd("ctx");
  95. return $recv($globals.Platform)._fetch_($recv($self._endpoint()).__comma(path));
  96. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  97. }, function($ctx1) {$ctx1.fill(self,"getApi:",{path:path})});
  98. //>>excludeEnd("ctx");
  99. }; }),
  100. $globals.Webstore);
  101. $core.addMethod(
  102. $core.method({
  103. selector: "start",
  104. protocol: "starting",
  105. //>>excludeStart("ide", pragmas.excludeIdeData);
  106. args: [],
  107. source: "start\x0a\x09self new augmentPage",
  108. referencedClasses: [],
  109. //>>excludeEnd("ide");
  110. pragmas: [],
  111. messageSends: ["augmentPage", "new"]
  112. }, function ($methodClass){ return function (){
  113. var self=this,$self=this;
  114. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  115. return $core.withContext(function($ctx1) {
  116. //>>excludeEnd("ctx");
  117. $recv($self._new())._augmentPage();
  118. return self;
  119. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  120. }, function($ctx1) {$ctx1.fill(self,"start",{})});
  121. //>>excludeEnd("ctx");
  122. }; }),
  123. $globals.Webstore.a$cls);
  124. });