melonjs 14.0.2 → 14.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (219) hide show
  1. package/README.md +2 -0
  2. package/dist/melonjs.mjs/_virtual/_commonjsHelpers.js +10 -0
  3. package/dist/melonjs.mjs/_virtual/arraymultimap.js +10 -0
  4. package/dist/melonjs.mjs/_virtual/earcut.js +10 -0
  5. package/dist/melonjs.mjs/_virtual/howler.js +10 -0
  6. package/dist/melonjs.mjs/_virtual/index.js +10 -0
  7. package/dist/melonjs.mjs/_virtual/index2.js +10 -0
  8. package/dist/melonjs.mjs/_virtual/multimap.js +10 -0
  9. package/dist/melonjs.mjs/_virtual/setmultimap.js +10 -0
  10. package/dist/melonjs.mjs/application/application.js +238 -0
  11. package/dist/melonjs.mjs/audio/audio.js +536 -0
  12. package/dist/melonjs.mjs/camera/camera2d.js +731 -0
  13. package/dist/melonjs.mjs/entity/entity.js +247 -0
  14. package/dist/melonjs.mjs/game.js +29 -0
  15. package/dist/melonjs.mjs/geometries/ellipse.js +274 -0
  16. package/dist/melonjs.mjs/geometries/line.js +115 -0
  17. package/dist/melonjs.mjs/geometries/path2d.js +318 -0
  18. package/dist/melonjs.mjs/geometries/point.js +88 -0
  19. package/dist/melonjs.mjs/geometries/poly.js +498 -0
  20. package/dist/melonjs.mjs/geometries/rectangle.js +374 -0
  21. package/dist/melonjs.mjs/geometries/roundrect.js +167 -0
  22. package/dist/melonjs.mjs/index.js +248 -0
  23. package/dist/melonjs.mjs/input/gamepad.js +501 -0
  24. package/dist/melonjs.mjs/input/input.js +26 -0
  25. package/dist/melonjs.mjs/input/keyboard.js +470 -0
  26. package/dist/melonjs.mjs/input/pointer.js +393 -0
  27. package/dist/melonjs.mjs/input/pointerevent.js +818 -0
  28. package/dist/melonjs.mjs/lang/deprecated.js +157 -0
  29. package/dist/melonjs.mjs/level/level.js +297 -0
  30. package/dist/melonjs.mjs/level/tiled/TMXGroup.js +141 -0
  31. package/dist/melonjs.mjs/level/tiled/TMXLayer.js +446 -0
  32. package/dist/melonjs.mjs/level/tiled/TMXObject.js +355 -0
  33. package/dist/melonjs.mjs/level/tiled/TMXTile.js +193 -0
  34. package/dist/melonjs.mjs/level/tiled/TMXTileMap.js +636 -0
  35. package/dist/melonjs.mjs/level/tiled/TMXTileset.js +309 -0
  36. package/dist/melonjs.mjs/level/tiled/TMXTilesetGroup.js +81 -0
  37. package/dist/melonjs.mjs/level/tiled/TMXUtils.js +367 -0
  38. package/dist/melonjs.mjs/level/tiled/renderer/TMXHexagonalRenderer.js +504 -0
  39. package/dist/melonjs.mjs/level/tiled/renderer/TMXIsometricRenderer.js +218 -0
  40. package/dist/melonjs.mjs/level/tiled/renderer/TMXOrthogonalRenderer.js +155 -0
  41. package/dist/melonjs.mjs/level/tiled/renderer/TMXRenderer.js +124 -0
  42. package/dist/melonjs.mjs/level/tiled/renderer/TMXStaggeredRenderer.js +107 -0
  43. package/dist/melonjs.mjs/loader/loader.js +801 -0
  44. package/dist/melonjs.mjs/loader/loadingscreen.js +120 -0
  45. package/dist/melonjs.mjs/loader/melonjs_logo.png.js +11 -0
  46. package/dist/melonjs.mjs/math/color.js +616 -0
  47. package/dist/melonjs.mjs/math/math.js +218 -0
  48. package/dist/melonjs.mjs/math/matrix2.js +501 -0
  49. package/dist/melonjs.mjs/math/matrix3.js +679 -0
  50. package/dist/melonjs.mjs/math/observable_vector2.js +469 -0
  51. package/dist/melonjs.mjs/math/observable_vector3.js +559 -0
  52. package/dist/melonjs.mjs/math/vector2.js +526 -0
  53. package/dist/melonjs.mjs/math/vector3.js +567 -0
  54. package/dist/melonjs.mjs/node_modules/@teppeis/multimaps/dist/src/arraymultimap.js +73 -0
  55. package/dist/melonjs.mjs/node_modules/@teppeis/multimaps/dist/src/index.js +21 -0
  56. package/dist/melonjs.mjs/node_modules/@teppeis/multimaps/dist/src/multimap.js +324 -0
  57. package/dist/melonjs.mjs/node_modules/@teppeis/multimaps/dist/src/setmultimap.js +69 -0
  58. package/dist/melonjs.mjs/node_modules/earcut/src/earcut.js +691 -0
  59. package/dist/melonjs.mjs/node_modules/eventemitter3/index.js +350 -0
  60. package/dist/melonjs.mjs/node_modules/howler/dist/howler.js +3241 -0
  61. package/dist/melonjs.mjs/particles/emitter.js +265 -0
  62. package/dist/melonjs.mjs/particles/particle.js +186 -0
  63. package/dist/melonjs.mjs/particles/settings.js +319 -0
  64. package/dist/melonjs.mjs/physics/body.js +702 -0
  65. package/dist/melonjs.mjs/physics/bounds.js +459 -0
  66. package/dist/melonjs.mjs/physics/collision.js +132 -0
  67. package/dist/melonjs.mjs/physics/detector.js +194 -0
  68. package/dist/melonjs.mjs/physics/quadtree.js +394 -0
  69. package/dist/melonjs.mjs/physics/response.js +57 -0
  70. package/dist/melonjs.mjs/physics/sat.js +483 -0
  71. package/dist/melonjs.mjs/physics/world.js +219 -0
  72. package/dist/melonjs.mjs/plugin/plugin.js +141 -0
  73. package/dist/melonjs.mjs/renderable/collectable.js +60 -0
  74. package/dist/melonjs.mjs/renderable/colorlayer.js +78 -0
  75. package/dist/melonjs.mjs/renderable/container.js +1016 -0
  76. package/dist/melonjs.mjs/renderable/dragndrop.js +224 -0
  77. package/dist/melonjs.mjs/renderable/imagelayer.js +305 -0
  78. package/dist/melonjs.mjs/renderable/light2d.js +155 -0
  79. package/dist/melonjs.mjs/renderable/nineslicesprite.js +246 -0
  80. package/dist/melonjs.mjs/renderable/renderable.js +781 -0
  81. package/dist/melonjs.mjs/renderable/sprite.js +653 -0
  82. package/dist/melonjs.mjs/renderable/trigger.js +156 -0
  83. package/dist/melonjs.mjs/renderable/ui/uibaseelement.js +212 -0
  84. package/dist/melonjs.mjs/renderable/ui/uispriteelement.js +225 -0
  85. package/dist/melonjs.mjs/renderable/ui/uitextbutton.js +127 -0
  86. package/dist/melonjs.mjs/state/stage.js +236 -0
  87. package/dist/melonjs.mjs/state/state.js +596 -0
  88. package/dist/melonjs.mjs/system/device.js +909 -0
  89. package/dist/melonjs.mjs/system/dom.js +78 -0
  90. package/dist/melonjs.mjs/system/event.js +537 -0
  91. package/dist/melonjs.mjs/system/platform.js +41 -0
  92. package/dist/melonjs.mjs/system/pooling.js +209 -0
  93. package/dist/melonjs.mjs/system/save.js +157 -0
  94. package/dist/melonjs.mjs/system/timer.js +286 -0
  95. package/dist/melonjs.mjs/text/bitmaptext.js +363 -0
  96. package/dist/melonjs.mjs/text/bitmaptextdata.js +198 -0
  97. package/dist/melonjs.mjs/text/glyph.js +65 -0
  98. package/dist/melonjs.mjs/text/text.js +452 -0
  99. package/dist/melonjs.mjs/text/textmetrics.js +175 -0
  100. package/dist/melonjs.mjs/text/textstyle.js +23 -0
  101. package/dist/melonjs.mjs/tweens/easing.js +336 -0
  102. package/dist/melonjs.mjs/tweens/interpolation.js +112 -0
  103. package/dist/melonjs.mjs/tweens/tween.js +479 -0
  104. package/dist/melonjs.mjs/utils/agent.js +76 -0
  105. package/dist/melonjs.mjs/utils/array.js +63 -0
  106. package/dist/melonjs.mjs/utils/file.js +42 -0
  107. package/dist/melonjs.mjs/utils/function.js +70 -0
  108. package/dist/melonjs.mjs/utils/string.js +82 -0
  109. package/dist/melonjs.mjs/utils/utils.js +173 -0
  110. package/dist/melonjs.mjs/video/canvas/canvas_renderer.js +806 -0
  111. package/dist/melonjs.mjs/video/renderer.js +410 -0
  112. package/dist/melonjs.mjs/video/texture/atlas.js +519 -0
  113. package/dist/melonjs.mjs/video/texture/cache.js +143 -0
  114. package/dist/melonjs.mjs/video/texture/canvas_texture.js +144 -0
  115. package/dist/melonjs.mjs/video/video.js +462 -0
  116. package/dist/melonjs.mjs/video/webgl/buffer/vertex.js +142 -0
  117. package/dist/melonjs.mjs/video/webgl/glshader.js +167 -0
  118. package/dist/melonjs.mjs/video/webgl/shaders/primitive.frag.js +10 -0
  119. package/dist/melonjs.mjs/video/webgl/shaders/primitive.vert.js +10 -0
  120. package/dist/melonjs.mjs/video/webgl/shaders/quad.frag.js +10 -0
  121. package/dist/melonjs.mjs/video/webgl/shaders/quad.vert.js +10 -0
  122. package/dist/melonjs.mjs/video/webgl/utils/attributes.js +25 -0
  123. package/dist/melonjs.mjs/video/webgl/utils/precision.js +20 -0
  124. package/dist/melonjs.mjs/video/webgl/utils/program.js +67 -0
  125. package/dist/melonjs.mjs/video/webgl/utils/string.js +25 -0
  126. package/dist/melonjs.mjs/video/webgl/utils/uniforms.js +92 -0
  127. package/dist/melonjs.mjs/video/webgl/webgl_compositor.js +494 -0
  128. package/dist/melonjs.mjs/video/webgl/webgl_renderer.js +1035 -0
  129. package/dist/melonjs.module.d.ts +1298 -1359
  130. package/dist/melonjs.module.js +2072 -3520
  131. package/package.json +21 -16
  132. package/src/application/application.js +4 -5
  133. package/src/audio/audio.js +32 -32
  134. package/src/camera/camera2d.js +32 -33
  135. package/src/entity/entity.js +18 -19
  136. package/src/geometries/ellipse.js +17 -18
  137. package/src/geometries/line.js +6 -7
  138. package/src/geometries/path2d.js +33 -34
  139. package/src/geometries/point.js +1 -2
  140. package/src/geometries/poly.js +16 -18
  141. package/src/geometries/rectangle.js +19 -20
  142. package/src/geometries/roundrect.js +9 -10
  143. package/src/input/gamepad.js +15 -15
  144. package/src/input/keyboard.js +12 -12
  145. package/src/input/pointer.js +6 -6
  146. package/src/input/pointerevent.js +12 -12
  147. package/src/lang/deprecated.js +12 -12
  148. package/src/level/level.js +25 -25
  149. package/src/level/tiled/TMXLayer.js +23 -24
  150. package/src/level/tiled/TMXTile.js +6 -7
  151. package/src/level/tiled/TMXTileMap.js +8 -10
  152. package/src/level/tiled/TMXTileset.js +3 -4
  153. package/src/level/tiled/TMXTilesetGroup.js +1 -2
  154. package/src/level/tiled/TMXUtils.js +5 -5
  155. package/src/level/tiled/renderer/TMXHexagonalRenderer.js +3 -4
  156. package/src/level/tiled/renderer/TMXIsometricRenderer.js +3 -4
  157. package/src/level/tiled/renderer/TMXOrthogonalRenderer.js +2 -3
  158. package/src/level/tiled/renderer/TMXRenderer.js +20 -21
  159. package/src/level/tiled/renderer/TMXStaggeredRenderer.js +1 -2
  160. package/src/loader/loader.js +20 -20
  161. package/src/math/color.js +21 -22
  162. package/src/math/math.js +16 -16
  163. package/src/math/matrix2.js +17 -18
  164. package/src/math/matrix3.js +26 -27
  165. package/src/math/observable_vector2.js +15 -16
  166. package/src/math/observable_vector3.js +17 -18
  167. package/src/math/vector2.js +10 -11
  168. package/src/math/vector3.js +11 -12
  169. package/src/particles/emitter.js +7 -8
  170. package/src/particles/particle.js +3 -4
  171. package/src/physics/body.js +29 -30
  172. package/src/physics/bounds.js +10 -10
  173. package/src/physics/collision.js +2 -2
  174. package/src/physics/detector.js +6 -6
  175. package/src/physics/quadtree.js +18 -23
  176. package/src/physics/sat.js +31 -31
  177. package/src/physics/world.js +6 -7
  178. package/src/plugin/plugin.js +5 -5
  179. package/src/renderable/collectable.js +4 -6
  180. package/src/renderable/colorlayer.js +6 -8
  181. package/src/renderable/container.js +25 -27
  182. package/src/renderable/dragndrop.js +14 -14
  183. package/src/renderable/imagelayer.js +14 -15
  184. package/src/renderable/light2d.js +4 -5
  185. package/src/renderable/nineslicesprite.js +17 -18
  186. package/src/renderable/renderable.js +26 -28
  187. package/src/renderable/sprite.js +29 -30
  188. package/src/renderable/trigger.js +16 -17
  189. package/src/renderable/ui/uibaseelement.js +8 -9
  190. package/src/renderable/ui/uispriteelement.js +8 -8
  191. package/src/renderable/ui/uitextbutton.js +15 -15
  192. package/src/state/stage.js +8 -9
  193. package/src/state/state.js +17 -17
  194. package/src/system/device.js +11 -11
  195. package/src/system/event.js +10 -10
  196. package/src/system/pooling.js +9 -9
  197. package/src/system/save.js +2 -2
  198. package/src/system/timer.js +10 -10
  199. package/src/text/bitmaptext.js +19 -20
  200. package/src/text/bitmaptextdata.js +3 -4
  201. package/src/text/glyph.js +1 -2
  202. package/src/text/text.js +24 -25
  203. package/src/text/textmetrics.js +9 -10
  204. package/src/tweens/tween.js +20 -21
  205. package/src/utils/agent.js +5 -5
  206. package/src/utils/array.js +4 -4
  207. package/src/utils/file.js +2 -2
  208. package/src/utils/function.js +6 -6
  209. package/src/utils/string.js +5 -5
  210. package/src/utils/utils.js +4 -4
  211. package/src/video/canvas/canvas_renderer.js +72 -73
  212. package/src/video/renderer.js +27 -28
  213. package/src/video/texture/atlas.js +22 -22
  214. package/src/video/texture/canvas_texture.js +9 -9
  215. package/src/video/video.js +17 -17
  216. package/src/video/webgl/buffer/vertex.js +1 -2
  217. package/src/video/webgl/glshader.js +12 -12
  218. package/src/video/webgl/webgl_compositor.js +42 -43
  219. package/src/video/webgl/webgl_renderer.js +76 -77
@@ -0,0 +1,324 @@
1
+ /*!
2
+ * melonJS Game Engine - v14.1.1
3
+ * http://www.melonjs.org
4
+ * melonjs is licensed under the MIT License.
5
+ * http://www.opensource.org/licenses/mit-license
6
+ * @copyright (C) 2011 - 2022 Olivier Biot (AltByte Pte Ltd)
7
+ */
8
+ import { commonjsGlobal } from '../../../../../_virtual/_commonjsHelpers.js';
9
+ import { __exports as multimap } from '../../../../../_virtual/multimap.js';
10
+ export { __exports as default } from '../../../../../_virtual/multimap.js';
11
+
12
+ var __generator = (commonjsGlobal && commonjsGlobal.__generator) || function (thisArg, body) {
13
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
14
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
15
+ function verb(n) { return function (v) { return step([n, v]); }; }
16
+ function step(op) {
17
+ if (f) throw new TypeError("Generator is already executing.");
18
+ while (_) try {
19
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
20
+ if (y = 0, t) op = [op[0] & 2, t.value];
21
+ switch (op[0]) {
22
+ case 0: case 1: t = op; break;
23
+ case 4: _.label++; return { value: op[1], done: false };
24
+ case 5: _.label++; y = op[1]; op = [0]; continue;
25
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
26
+ default:
27
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
28
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
29
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
30
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
31
+ if (t[2]) _.ops.pop();
32
+ _.trys.pop(); continue;
33
+ }
34
+ op = body.call(thisArg, _);
35
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
36
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
37
+ }
38
+ };
39
+ var __values = (commonjsGlobal && commonjsGlobal.__values) || function(o) {
40
+ var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
41
+ if (m) return m.call(o);
42
+ if (o && typeof o.length === "number") return {
43
+ next: function () {
44
+ if (o && i >= o.length) o = void 0;
45
+ return { value: o && o[i++], done: !o };
46
+ }
47
+ };
48
+ throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
49
+ };
50
+ var __read = (commonjsGlobal && commonjsGlobal.__read) || function (o, n) {
51
+ var m = typeof Symbol === "function" && o[Symbol.iterator];
52
+ if (!m) return o;
53
+ var i = m.call(o), r, ar = [], e;
54
+ try {
55
+ while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
56
+ }
57
+ catch (error) { e = { error: error }; }
58
+ finally {
59
+ try {
60
+ if (r && !r.done && (m = i["return"])) m.call(i);
61
+ }
62
+ finally { if (e) throw e.error; }
63
+ }
64
+ return ar;
65
+ };
66
+ Object.defineProperty(multimap, "__esModule", { value: true });
67
+ multimap.Multimap = void 0;
68
+ var Multimap = /** @class */ (function () {
69
+ function Multimap(operator, iterable) {
70
+ var e_1, _a;
71
+ this.size_ = 0;
72
+ this.map = new Map();
73
+ this.operator = operator;
74
+ if (iterable) {
75
+ try {
76
+ for (var iterable_1 = __values(iterable), iterable_1_1 = iterable_1.next(); !iterable_1_1.done; iterable_1_1 = iterable_1.next()) {
77
+ var _b = __read(iterable_1_1.value, 2), key = _b[0], value = _b[1];
78
+ this.put(key, value);
79
+ }
80
+ }
81
+ catch (e_1_1) { e_1 = { error: e_1_1 }; }
82
+ finally {
83
+ try {
84
+ if (iterable_1_1 && !iterable_1_1.done && (_a = iterable_1.return)) _a.call(iterable_1);
85
+ }
86
+ finally { if (e_1) throw e_1.error; }
87
+ }
88
+ }
89
+ return this;
90
+ }
91
+ Object.defineProperty(Multimap.prototype, "size", {
92
+ get: function () {
93
+ return this.size_;
94
+ },
95
+ enumerable: false,
96
+ configurable: true
97
+ });
98
+ Multimap.prototype.get = function (key) {
99
+ var values = this.map.get(key);
100
+ if (values) {
101
+ return this.operator.clone(values);
102
+ }
103
+ else {
104
+ return this.operator.create();
105
+ }
106
+ };
107
+ Multimap.prototype.put = function (key, value) {
108
+ var values = this.map.get(key);
109
+ if (!values) {
110
+ values = this.operator.create();
111
+ }
112
+ if (!this.operator.add(value, values)) {
113
+ return false;
114
+ }
115
+ this.map.set(key, values);
116
+ this.size_++;
117
+ return true;
118
+ };
119
+ Multimap.prototype.putAll = function (arg1, arg2) {
120
+ var e_2, _a, e_3, _b;
121
+ var pushed = 0;
122
+ if (arg2) {
123
+ var key = arg1;
124
+ var values = arg2;
125
+ try {
126
+ for (var values_1 = __values(values), values_1_1 = values_1.next(); !values_1_1.done; values_1_1 = values_1.next()) {
127
+ var value = values_1_1.value;
128
+ this.put(key, value);
129
+ pushed++;
130
+ }
131
+ }
132
+ catch (e_2_1) { e_2 = { error: e_2_1 }; }
133
+ finally {
134
+ try {
135
+ if (values_1_1 && !values_1_1.done && (_a = values_1.return)) _a.call(values_1);
136
+ }
137
+ finally { if (e_2) throw e_2.error; }
138
+ }
139
+ }
140
+ else if (arg1 instanceof Multimap) {
141
+ try {
142
+ for (var _c = __values(arg1.entries()), _d = _c.next(); !_d.done; _d = _c.next()) {
143
+ var _e = __read(_d.value, 2), key = _e[0], value = _e[1];
144
+ this.put(key, value);
145
+ pushed++;
146
+ }
147
+ }
148
+ catch (e_3_1) { e_3 = { error: e_3_1 }; }
149
+ finally {
150
+ try {
151
+ if (_d && !_d.done && (_b = _c.return)) _b.call(_c);
152
+ }
153
+ finally { if (e_3) throw e_3.error; }
154
+ }
155
+ }
156
+ else {
157
+ throw new TypeError("unexpected arguments");
158
+ }
159
+ return pushed > 0;
160
+ };
161
+ Multimap.prototype.has = function (key) {
162
+ return this.map.has(key);
163
+ };
164
+ Multimap.prototype.hasEntry = function (key, value) {
165
+ return this.operator.has(value, this.get(key));
166
+ };
167
+ Multimap.prototype.delete = function (key) {
168
+ this.size_ -= this.operator.size(this.get(key));
169
+ return this.map.delete(key);
170
+ };
171
+ Multimap.prototype.deleteEntry = function (key, value) {
172
+ var current = this.get(key);
173
+ if (!this.operator.delete(value, current)) {
174
+ return false;
175
+ }
176
+ this.map.set(key, current);
177
+ this.size_--;
178
+ return true;
179
+ };
180
+ Multimap.prototype.clear = function () {
181
+ this.map.clear();
182
+ this.size_ = 0;
183
+ };
184
+ Multimap.prototype.keys = function () {
185
+ return this.map.keys();
186
+ };
187
+ Multimap.prototype.entries = function () {
188
+ var self = this;
189
+ function gen() {
190
+ var _a, _b, _c, key, values, values_2, values_2_1, value, e_4_1, e_5_1;
191
+ var e_5, _d, e_4, _e;
192
+ return __generator(this, function (_f) {
193
+ switch (_f.label) {
194
+ case 0:
195
+ _f.trys.push([0, 11, 12, 13]);
196
+ _a = __values(self.map.entries()), _b = _a.next();
197
+ _f.label = 1;
198
+ case 1:
199
+ if (!!_b.done) return [3 /*break*/, 10];
200
+ _c = __read(_b.value, 2), key = _c[0], values = _c[1];
201
+ _f.label = 2;
202
+ case 2:
203
+ _f.trys.push([2, 7, 8, 9]);
204
+ values_2 = (e_4 = void 0, __values(values)), values_2_1 = values_2.next();
205
+ _f.label = 3;
206
+ case 3:
207
+ if (!!values_2_1.done) return [3 /*break*/, 6];
208
+ value = values_2_1.value;
209
+ return [4 /*yield*/, [key, value]];
210
+ case 4:
211
+ _f.sent();
212
+ _f.label = 5;
213
+ case 5:
214
+ values_2_1 = values_2.next();
215
+ return [3 /*break*/, 3];
216
+ case 6: return [3 /*break*/, 9];
217
+ case 7:
218
+ e_4_1 = _f.sent();
219
+ e_4 = { error: e_4_1 };
220
+ return [3 /*break*/, 9];
221
+ case 8:
222
+ try {
223
+ if (values_2_1 && !values_2_1.done && (_e = values_2.return)) _e.call(values_2);
224
+ }
225
+ finally { if (e_4) throw e_4.error; }
226
+ return [7 /*endfinally*/];
227
+ case 9:
228
+ _b = _a.next();
229
+ return [3 /*break*/, 1];
230
+ case 10: return [3 /*break*/, 13];
231
+ case 11:
232
+ e_5_1 = _f.sent();
233
+ e_5 = { error: e_5_1 };
234
+ return [3 /*break*/, 13];
235
+ case 12:
236
+ try {
237
+ if (_b && !_b.done && (_d = _a.return)) _d.call(_a);
238
+ }
239
+ finally { if (e_5) throw e_5.error; }
240
+ return [7 /*endfinally*/];
241
+ case 13: return [2 /*return*/];
242
+ }
243
+ });
244
+ }
245
+ return gen();
246
+ };
247
+ Multimap.prototype.values = function () {
248
+ var self = this;
249
+ function gen() {
250
+ var _a, _b, _c, value, e_6_1;
251
+ var e_6, _d;
252
+ return __generator(this, function (_e) {
253
+ switch (_e.label) {
254
+ case 0:
255
+ _e.trys.push([0, 5, 6, 7]);
256
+ _a = __values(self.entries()), _b = _a.next();
257
+ _e.label = 1;
258
+ case 1:
259
+ if (!!_b.done) return [3 /*break*/, 4];
260
+ _c = __read(_b.value, 2), value = _c[1];
261
+ return [4 /*yield*/, value];
262
+ case 2:
263
+ _e.sent();
264
+ _e.label = 3;
265
+ case 3:
266
+ _b = _a.next();
267
+ return [3 /*break*/, 1];
268
+ case 4: return [3 /*break*/, 7];
269
+ case 5:
270
+ e_6_1 = _e.sent();
271
+ e_6 = { error: e_6_1 };
272
+ return [3 /*break*/, 7];
273
+ case 6:
274
+ try {
275
+ if (_b && !_b.done && (_d = _a.return)) _d.call(_a);
276
+ }
277
+ finally { if (e_6) throw e_6.error; }
278
+ return [7 /*endfinally*/];
279
+ case 7: return [2 /*return*/];
280
+ }
281
+ });
282
+ }
283
+ return gen();
284
+ };
285
+ Multimap.prototype.forEach = function (callback, thisArg) {
286
+ var e_7, _a;
287
+ try {
288
+ for (var _b = __values(this.entries()), _c = _b.next(); !_c.done; _c = _b.next()) {
289
+ var _d = __read(_c.value, 2), key = _d[0], value = _d[1];
290
+ callback.call(thisArg === undefined ? this : thisArg, value, key, this);
291
+ }
292
+ }
293
+ catch (e_7_1) { e_7 = { error: e_7_1 }; }
294
+ finally {
295
+ try {
296
+ if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
297
+ }
298
+ finally { if (e_7) throw e_7.error; }
299
+ }
300
+ };
301
+ Multimap.prototype[Symbol.iterator] = function () {
302
+ return this.entries();
303
+ };
304
+ Multimap.prototype.asMap = function () {
305
+ var e_8, _a;
306
+ var ret = new Map();
307
+ try {
308
+ for (var _b = __values(this.keys()), _c = _b.next(); !_c.done; _c = _b.next()) {
309
+ var key = _c.value;
310
+ ret.set(key, this.operator.clone(this.get(key)));
311
+ }
312
+ }
313
+ catch (e_8_1) { e_8 = { error: e_8_1 }; }
314
+ finally {
315
+ try {
316
+ if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
317
+ }
318
+ finally { if (e_8) throw e_8.error; }
319
+ }
320
+ return ret;
321
+ };
322
+ return Multimap;
323
+ }());
324
+ multimap.Multimap = Multimap;
@@ -0,0 +1,69 @@
1
+ /*!
2
+ * melonJS Game Engine - v14.1.1
3
+ * http://www.melonjs.org
4
+ * melonjs is licensed under the MIT License.
5
+ * http://www.opensource.org/licenses/mit-license
6
+ * @copyright (C) 2011 - 2022 Olivier Biot (AltByte Pte Ltd)
7
+ */
8
+ import { commonjsGlobal } from '../../../../../_virtual/_commonjsHelpers.js';
9
+ import { __exports as setmultimap } from '../../../../../_virtual/setmultimap.js';
10
+ export { __exports as default } from '../../../../../_virtual/setmultimap.js';
11
+ import './multimap.js';
12
+ import { __exports as multimap } from '../../../../../_virtual/multimap.js';
13
+
14
+ var __extends = (commonjsGlobal && commonjsGlobal.__extends) || (function () {
15
+ var extendStatics = function (d, b) {
16
+ extendStatics = Object.setPrototypeOf ||
17
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
18
+ function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
19
+ return extendStatics(d, b);
20
+ };
21
+ return function (d, b) {
22
+ extendStatics(d, b);
23
+ function __() { this.constructor = d; }
24
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
25
+ };
26
+ })();
27
+ Object.defineProperty(setmultimap, "__esModule", { value: true });
28
+ setmultimap.SetMultimap = void 0;
29
+ var multimap_1 = multimap;
30
+ var SetMultimap = /** @class */ (function (_super) {
31
+ __extends(SetMultimap, _super);
32
+ function SetMultimap(iterable) {
33
+ return _super.call(this, new SetOperator(), iterable) || this;
34
+ }
35
+ Object.defineProperty(SetMultimap.prototype, Symbol.toStringTag, {
36
+ get: function () {
37
+ return "SetMultimap";
38
+ },
39
+ enumerable: false,
40
+ configurable: true
41
+ });
42
+ return SetMultimap;
43
+ }(multimap_1.Multimap));
44
+ setmultimap.SetMultimap = SetMultimap;
45
+ var SetOperator = /** @class */ (function () {
46
+ function SetOperator() {
47
+ }
48
+ SetOperator.prototype.create = function () {
49
+ return new Set();
50
+ };
51
+ SetOperator.prototype.clone = function (collection) {
52
+ return new Set(collection);
53
+ };
54
+ SetOperator.prototype.add = function (value, collection) {
55
+ var prev = collection.size;
56
+ collection.add(value);
57
+ return prev !== collection.size;
58
+ };
59
+ SetOperator.prototype.size = function (collection) {
60
+ return collection.size;
61
+ };
62
+ SetOperator.prototype.delete = function (value, collection) {
63
+ return collection.delete(value);
64
+ };
65
+ SetOperator.prototype.has = function (value, collection) {
66
+ return collection.has(value);
67
+ };
68
+ return SetOperator;
69
+ }());