applyDecs2305.js 6.2 KB

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