applyDecs2305.js 6.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220
  1. var _typeof = require("./typeof.js")["default"];
  2. var checkInRHS = require("./checkInRHS.js");
  3. function createAddInitializerMethod(e, t) {
  4. return function (r) {
  5. assertNotFinished(t, "addInitializer"), assertCallable(r, "An initializer"), e.push(r);
  6. };
  7. }
  8. function assertInstanceIfPrivate(e, t) {
  9. if (!e(t)) throw new TypeError("Attempted to access private element on non-instance");
  10. }
  11. function memberDec(e, t, r, n, a, i, s, o, c, l) {
  12. var u;
  13. switch (i) {
  14. case 1:
  15. u = "accessor";
  16. break;
  17. case 2:
  18. u = "method";
  19. break;
  20. case 3:
  21. u = "getter";
  22. break;
  23. case 4:
  24. u = "setter";
  25. break;
  26. default:
  27. u = "field";
  28. }
  29. var f,
  30. d,
  31. p = {
  32. kind: u,
  33. name: o ? "#" + r : r,
  34. "static": s,
  35. "private": o
  36. },
  37. h = {
  38. v: !1
  39. };
  40. if (0 !== i && (p.addInitializer = createAddInitializerMethod(a, h)), o || 0 !== i && 2 !== i) {
  41. if (2 === i) f = function f(e) {
  42. return assertInstanceIfPrivate(l, e), n.value;
  43. };else {
  44. var v = 0 === i || 1 === i;
  45. (v || 3 === i) && (f = o ? function (e) {
  46. return assertInstanceIfPrivate(l, e), n.get.call(e);
  47. } : function (e) {
  48. return n.get.call(e);
  49. }), (v || 4 === i) && (d = o ? function (e, t) {
  50. assertInstanceIfPrivate(l, e), n.set.call(e, t);
  51. } : function (e, t) {
  52. n.set.call(e, t);
  53. });
  54. }
  55. } else f = function f(e) {
  56. return e[r];
  57. }, 0 === i && (d = function d(e, t) {
  58. e[r] = t;
  59. });
  60. var y = o ? l.bind() : function (e) {
  61. return r in e;
  62. };
  63. p.access = f && d ? {
  64. get: f,
  65. set: d,
  66. has: y
  67. } : f ? {
  68. get: f,
  69. has: y
  70. } : {
  71. set: d,
  72. has: y
  73. };
  74. try {
  75. return e.call(t, c, p);
  76. } finally {
  77. h.v = !0;
  78. }
  79. }
  80. function assertNotFinished(e, t) {
  81. if (e.v) throw new Error("attempted to call " + t + " after decoration was finished");
  82. }
  83. function assertCallable(e, t) {
  84. if ("function" != typeof e) throw new TypeError(t + " must be a function");
  85. }
  86. function assertValidReturnValue(e, t) {
  87. var r = _typeof(t);
  88. if (1 === e) {
  89. if ("object" !== r || null === t) throw new TypeError("accessor decorators must return an object with get, set, or init properties or void 0");
  90. void 0 !== t.get && assertCallable(t.get, "accessor.get"), void 0 !== t.set && assertCallable(t.set, "accessor.set"), void 0 !== t.init && assertCallable(t.init, "accessor.init");
  91. } else if ("function" !== r) {
  92. var n;
  93. throw n = 0 === e ? "field" : 5 === e ? "class" : "method", new TypeError(n + " decorators must return a function or void 0");
  94. }
  95. }
  96. function curryThis1(e) {
  97. return function () {
  98. return e(this);
  99. };
  100. }
  101. function curryThis2(e) {
  102. return function (t) {
  103. e(this, t);
  104. };
  105. }
  106. function applyMemberDec(e, t, r, n, a, i, s, o, c, l) {
  107. var u,
  108. f,
  109. d,
  110. p,
  111. h,
  112. v,
  113. y = r[0];
  114. n || Array.isArray(y) || (y = [y]), o ? u = 0 === i || 1 === i ? {
  115. get: curryThis1(r[3]),
  116. set: curryThis2(r[4])
  117. } : 3 === i ? {
  118. get: r[3]
  119. } : 4 === i ? {
  120. set: r[3]
  121. } : {
  122. value: r[3]
  123. } : 0 !== i && (u = Object.getOwnPropertyDescriptor(t, a)), 1 === i ? d = {
  124. get: u.get,
  125. set: u.set
  126. } : 2 === i ? d = u.value : 3 === i ? d = u.get : 4 === i && (d = u.set);
  127. for (var g = n ? 2 : 1, m = y.length - 1; m >= 0; m -= g) {
  128. var b;
  129. if (void 0 !== (p = memberDec(y[m], n ? y[m - 1] : void 0, a, u, c, i, s, o, d, l))) assertValidReturnValue(i, p), 0 === i ? b = p : 1 === i ? (b = p.init, h = p.get || d.get, v = p.set || d.set, d = {
  130. get: h,
  131. set: v
  132. }) : d = p, void 0 !== b && (void 0 === f ? f = b : "function" == typeof f ? f = [f, b] : f.push(b));
  133. }
  134. if (0 === i || 1 === i) {
  135. if (void 0 === f) f = function f(e, t) {
  136. return t;
  137. };else if ("function" != typeof f) {
  138. var I = f;
  139. f = function f(e, t) {
  140. for (var r = t, n = I.length - 1; n >= 0; n--) r = I[n].call(e, r);
  141. return r;
  142. };
  143. } else {
  144. var w = f;
  145. f = function f(e, t) {
  146. return w.call(e, t);
  147. };
  148. }
  149. e.push(f);
  150. }
  151. 0 !== i && (1 === i ? (u.get = d.get, u.set = d.set) : 2 === i ? u.value = d : 3 === i ? u.get = d : 4 === i && (u.set = d), o ? 1 === i ? (e.push(function (e, t) {
  152. return d.get.call(e, t);
  153. }), e.push(function (e, t) {
  154. return d.set.call(e, t);
  155. })) : 2 === i ? e.push(d) : e.push(function (e, t) {
  156. return d.call(e, t);
  157. }) : Object.defineProperty(t, a, u));
  158. }
  159. function applyMemberDecs(e, t, r) {
  160. for (var n, a, i, s = [], o = new Map(), c = new Map(), l = 0; l < t.length; l++) {
  161. var u = t[l];
  162. if (Array.isArray(u)) {
  163. var f,
  164. d,
  165. p = u[1],
  166. h = u[2],
  167. v = u.length > 3,
  168. y = 16 & p,
  169. g = !!(8 & p),
  170. m = r;
  171. if (p &= 7, g ? (f = e, 0 !== p && (d = a = a || []), v && !i && (i = function i(t) {
  172. return checkInRHS(t) === e;
  173. }), m = i) : (f = e.prototype, 0 !== p && (d = n = n || [])), 0 !== p && !v) {
  174. var b = g ? c : o,
  175. I = b.get(h) || 0;
  176. if (!0 === I || 3 === I && 4 !== p || 4 === I && 3 !== p) throw new Error("Attempted to decorate a public method/accessor that has the same name as a previously decorated public method/accessor. This is not currently supported by the decorators plugin. Property name was: " + h);
  177. b.set(h, !(!I && p > 2) || p);
  178. }
  179. applyMemberDec(s, f, u, y, h, p, g, v, d, m);
  180. }
  181. }
  182. return pushInitializers(s, n), pushInitializers(s, a), s;
  183. }
  184. function pushInitializers(e, t) {
  185. t && e.push(function (e) {
  186. for (var r = 0; r < t.length; r++) t[r].call(e);
  187. return e;
  188. });
  189. }
  190. function applyClassDecs(e, t, r) {
  191. if (t.length) {
  192. for (var n = [], a = e, i = e.name, s = r ? 2 : 1, o = t.length - 1; o >= 0; o -= s) {
  193. var c = {
  194. v: !1
  195. };
  196. try {
  197. var l = t[o].call(r ? t[o - 1] : void 0, a, {
  198. kind: "class",
  199. name: i,
  200. addInitializer: createAddInitializerMethod(n, c)
  201. });
  202. } finally {
  203. c.v = !0;
  204. }
  205. void 0 !== l && (assertValidReturnValue(5, l), a = l);
  206. }
  207. return [a, function () {
  208. for (var e = 0; e < n.length; e++) n[e].call(a);
  209. }];
  210. }
  211. }
  212. function applyDecs2305(e, t, r, n, a) {
  213. return {
  214. e: applyMemberDecs(e, t, a),
  215. get c() {
  216. return applyClassDecs(e, r, n);
  217. }
  218. };
  219. }
  220. module.exports = applyDecs2305, module.exports.__esModule = true, module.exports["default"] = module.exports;