@esotericsoftware/spine-core 4.0.9 → 4.0.13

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 (93) hide show
  1. package/dist/Animation.js +577 -710
  2. package/dist/AnimationState.js +239 -259
  3. package/dist/AnimationStateData.js +15 -17
  4. package/dist/AssetManagerBase.d.ts +3 -0
  5. package/dist/AssetManagerBase.js +168 -147
  6. package/dist/AtlasAttachmentLoader.js +20 -22
  7. package/dist/Bone.js +89 -91
  8. package/dist/BoneData.js +4 -6
  9. package/dist/ConstraintData.js +4 -6
  10. package/dist/Event.js +4 -6
  11. package/dist/EventData.js +4 -6
  12. package/dist/IkConstraint.js +48 -50
  13. package/dist/IkConstraintData.js +12 -31
  14. package/dist/PathConstraint.js +116 -118
  15. package/dist/PathConstraintData.js +9 -28
  16. package/dist/Skeleton.js +189 -192
  17. package/dist/SkeletonBinary.js +352 -363
  18. package/dist/SkeletonBounds.js +79 -81
  19. package/dist/SkeletonClipping.js +86 -88
  20. package/dist/SkeletonData.js +46 -48
  21. package/dist/SkeletonJson.js +307 -310
  22. package/dist/Skin.js +65 -69
  23. package/dist/Slot.js +16 -18
  24. package/dist/SlotData.js +4 -6
  25. package/dist/Texture.js +14 -39
  26. package/dist/TextureAtlas.js +56 -85
  27. package/dist/TransformConstraint.js +77 -79
  28. package/dist/TransformConstraintData.js +20 -39
  29. package/dist/Triangulator.js +71 -73
  30. package/dist/Updatable.js +1 -1
  31. package/dist/Utils.js +183 -245
  32. package/dist/VertexEffect.js +1 -1
  33. package/dist/attachments/Attachment.js +41 -62
  34. package/dist/attachments/AttachmentLoader.js +1 -1
  35. package/dist/attachments/BoundingBoxAttachment.js +9 -28
  36. package/dist/attachments/ClippingAttachment.js +9 -28
  37. package/dist/attachments/MeshAttachment.js +29 -48
  38. package/dist/attachments/PathAttachment.js +11 -30
  39. package/dist/attachments/PointAttachment.js +16 -35
  40. package/dist/attachments/RegionAttachment.js +82 -101
  41. package/dist/attachments/index.js +1 -1
  42. package/dist/iife/spine-core.js +62 -22
  43. package/dist/iife/spine-core.js.map +2 -2
  44. package/dist/iife/spine-core.min.js +2 -2
  45. package/dist/index.js +1 -1
  46. package/dist/polyfills.js +2 -2
  47. package/dist/vertexeffects/JitterEffect.js +10 -12
  48. package/dist/vertexeffects/SwirlEffect.js +18 -20
  49. package/package.json +1 -1
  50. package/dist/Animation.js.map +0 -1
  51. package/dist/AnimationState.js.map +0 -1
  52. package/dist/AnimationStateData.js.map +0 -1
  53. package/dist/AssetManagerBase.js.map +0 -1
  54. package/dist/AtlasAttachmentLoader.js.map +0 -1
  55. package/dist/Bone.js.map +0 -1
  56. package/dist/BoneData.js.map +0 -1
  57. package/dist/ConstraintData.js.map +0 -1
  58. package/dist/Event.js.map +0 -1
  59. package/dist/EventData.js.map +0 -1
  60. package/dist/IkConstraint.js.map +0 -1
  61. package/dist/IkConstraintData.js.map +0 -1
  62. package/dist/PathConstraint.js.map +0 -1
  63. package/dist/PathConstraintData.js.map +0 -1
  64. package/dist/Skeleton.js.map +0 -1
  65. package/dist/SkeletonBinary.js.map +0 -1
  66. package/dist/SkeletonBounds.js.map +0 -1
  67. package/dist/SkeletonClipping.js.map +0 -1
  68. package/dist/SkeletonData.js.map +0 -1
  69. package/dist/SkeletonJson.js.map +0 -1
  70. package/dist/Skin.js.map +0 -1
  71. package/dist/Slot.js.map +0 -1
  72. package/dist/SlotData.js.map +0 -1
  73. package/dist/Texture.js.map +0 -1
  74. package/dist/TextureAtlas.js.map +0 -1
  75. package/dist/TransformConstraint.js.map +0 -1
  76. package/dist/TransformConstraintData.js.map +0 -1
  77. package/dist/Triangulator.js.map +0 -1
  78. package/dist/Updatable.js.map +0 -1
  79. package/dist/Utils.js.map +0 -1
  80. package/dist/VertexEffect.js.map +0 -1
  81. package/dist/attachments/Attachment.js.map +0 -1
  82. package/dist/attachments/AttachmentLoader.js.map +0 -1
  83. package/dist/attachments/BoundingBoxAttachment.js.map +0 -1
  84. package/dist/attachments/ClippingAttachment.js.map +0 -1
  85. package/dist/attachments/MeshAttachment.js.map +0 -1
  86. package/dist/attachments/PathAttachment.js.map +0 -1
  87. package/dist/attachments/PointAttachment.js.map +0 -1
  88. package/dist/attachments/RegionAttachment.js.map +0 -1
  89. package/dist/attachments/index.js.map +0 -1
  90. package/dist/index.js.map +0 -1
  91. package/dist/polyfills.js.map +0 -1
  92. package/dist/vertexeffects/JitterEffect.js.map +0 -1
  93. package/dist/vertexeffects/SwirlEffect.js.map +0 -1
@@ -27,8 +27,8 @@
27
27
  * THE SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
28
28
  *****************************************************************************/
29
29
  /** Stores mix (crossfade) durations to be applied when {@link AnimationState} animations are changed. */
30
- var AnimationStateData = /** @class */ (function () {
31
- function AnimationStateData(skeletonData) {
30
+ export class AnimationStateData {
31
+ constructor(skeletonData) {
32
32
  this.animationToMixTime = {};
33
33
  /** The mix duration to use when no mix duration has been defined between two animations. */
34
34
  this.defaultMix = 0;
@@ -39,34 +39,32 @@ var AnimationStateData = /** @class */ (function () {
39
39
  /** Sets a mix duration by animation name.
40
40
  *
41
41
  * See {@link #setMixWith()}. */
42
- AnimationStateData.prototype.setMix = function (fromName, toName, duration) {
43
- var from = this.skeletonData.findAnimation(fromName);
42
+ setMix(fromName, toName, duration) {
43
+ let from = this.skeletonData.findAnimation(fromName);
44
44
  if (!from)
45
45
  throw new Error("Animation not found: " + fromName);
46
- var to = this.skeletonData.findAnimation(toName);
46
+ let to = this.skeletonData.findAnimation(toName);
47
47
  if (!to)
48
48
  throw new Error("Animation not found: " + toName);
49
49
  this.setMixWith(from, to, duration);
50
- };
50
+ }
51
51
  /** Sets the mix duration when changing from the specified animation to the other.
52
52
  *
53
53
  * See {@link TrackEntry#mixDuration}. */
54
- AnimationStateData.prototype.setMixWith = function (from, to, duration) {
54
+ setMixWith(from, to, duration) {
55
55
  if (!from)
56
56
  throw new Error("from cannot be null.");
57
57
  if (!to)
58
58
  throw new Error("to cannot be null.");
59
- var key = from.name + "." + to.name;
59
+ let key = from.name + "." + to.name;
60
60
  this.animationToMixTime[key] = duration;
61
- };
61
+ }
62
62
  /** Returns the mix duration to use when changing from the specified animation to the other, or the {@link #defaultMix} if
63
63
  * no mix duration has been set. */
64
- AnimationStateData.prototype.getMix = function (from, to) {
65
- var key = from.name + "." + to.name;
66
- var value = this.animationToMixTime[key];
64
+ getMix(from, to) {
65
+ let key = from.name + "." + to.name;
66
+ let value = this.animationToMixTime[key];
67
67
  return value === undefined ? this.defaultMix : value;
68
- };
69
- return AnimationStateData;
70
- }());
71
- export { AnimationStateData };
72
- //# sourceMappingURL=AnimationStateData.js.map
68
+ }
69
+ }
70
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQW5pbWF0aW9uU3RhdGVEYXRhLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL0FuaW1hdGlvblN0YXRlRGF0YS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OytFQTJCK0U7QUFPL0UseUdBQXlHO0FBQ3pHLE1BQU0sT0FBTyxrQkFBa0I7SUFTOUIsWUFBYSxZQUEwQjtRQUx2Qyx1QkFBa0IsR0FBc0IsRUFBRSxDQUFDO1FBRTNDLDRGQUE0RjtRQUM1RixlQUFVLEdBQUcsQ0FBQyxDQUFDO1FBR2QsSUFBSSxDQUFDLFlBQVk7WUFBRSxNQUFNLElBQUksS0FBSyxDQUFDLDhCQUE4QixDQUFDLENBQUM7UUFDbkUsSUFBSSxDQUFDLFlBQVksR0FBRyxZQUFZLENBQUM7SUFDbEMsQ0FBQztJQUVEOztvQ0FFZ0M7SUFDaEMsTUFBTSxDQUFFLFFBQWdCLEVBQUUsTUFBYyxFQUFFLFFBQWdCO1FBQ3pELElBQUksSUFBSSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3JELElBQUksQ0FBQyxJQUFJO1lBQUUsTUFBTSxJQUFJLEtBQUssQ0FBQyx1QkFBdUIsR0FBRyxRQUFRLENBQUMsQ0FBQztRQUMvRCxJQUFJLEVBQUUsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNqRCxJQUFJLENBQUMsRUFBRTtZQUFFLE1BQU0sSUFBSSxLQUFLLENBQUMsdUJBQXVCLEdBQUcsTUFBTSxDQUFDLENBQUM7UUFDM0QsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsRUFBRSxFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBQ3JDLENBQUM7SUFFRDs7NkNBRXlDO0lBQ3pDLFVBQVUsQ0FBRSxJQUFlLEVBQUUsRUFBYSxFQUFFLFFBQWdCO1FBQzNELElBQUksQ0FBQyxJQUFJO1lBQUUsTUFBTSxJQUFJLEtBQUssQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO1FBQ25ELElBQUksQ0FBQyxFQUFFO1lBQUUsTUFBTSxJQUFJLEtBQUssQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO1FBQy9DLElBQUksR0FBRyxHQUFHLElBQUksQ0FBQyxJQUFJLEdBQUcsR0FBRyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUM7UUFDcEMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLEdBQUcsQ0FBQyxHQUFHLFFBQVEsQ0FBQztJQUN6QyxDQUFDO0lBRUQ7d0NBQ29DO0lBQ3BDLE1BQU0sQ0FBRSxJQUFlLEVBQUUsRUFBYTtRQUNyQyxJQUFJLEdBQUcsR0FBRyxJQUFJLENBQUMsSUFBSSxHQUFHLEdBQUcsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDO1FBQ3BDLElBQUksS0FBSyxHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUN6QyxPQUFPLEtBQUssS0FBSyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztJQUN0RCxDQUFDO0NBQ0QifQ==
@@ -61,6 +61,9 @@ export declare class AssetManagerBase implements Disposable {
61
61
  export declare class Downloader {
62
62
  private callbacks;
63
63
  rawDataUris: StringMap<string>;
64
+ dataUriToString(dataUri: string): string;
65
+ base64ToUint8Array(base64: string): Uint8Array;
66
+ dataUriToUint8Array(dataUri: string): Uint8Array;
64
67
  downloadText(url: string, success: (data: string) => void, error: (status: number, responseText: string) => void): void;
65
68
  downloadJson(url: string, success: (data: object) => void, error: (status: number, responseText: string) => void): void;
66
69
  downloadBinary(url: string, success: (data: Uint8Array) => void, error: (status: number, responseText: string) => void): void;
@@ -27,10 +27,8 @@
27
27
  * THE SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
28
28
  *****************************************************************************/
29
29
  import { TextureAtlas } from "./TextureAtlas";
30
- var AssetManagerBase = /** @class */ (function () {
31
- function AssetManagerBase(textureLoader, pathPrefix, downloader) {
32
- if (pathPrefix === void 0) { pathPrefix = ""; }
33
- if (downloader === void 0) { downloader = null; }
30
+ export class AssetManagerBase {
31
+ constructor(textureLoader, pathPrefix = "", downloader = null) {
34
32
  this.assets = {};
35
33
  this.errors = {};
36
34
  this.toLoad = 0;
@@ -39,227 +37,252 @@ var AssetManagerBase = /** @class */ (function () {
39
37
  this.pathPrefix = pathPrefix;
40
38
  this.downloader = downloader || new Downloader();
41
39
  }
42
- AssetManagerBase.prototype.start = function (path) {
40
+ start(path) {
43
41
  this.toLoad++;
44
42
  return this.pathPrefix + path;
45
- };
46
- AssetManagerBase.prototype.success = function (callback, path, asset) {
43
+ }
44
+ success(callback, path, asset) {
47
45
  this.toLoad--;
48
46
  this.loaded++;
49
47
  this.assets[path] = asset;
50
48
  if (callback)
51
49
  callback(path, asset);
52
- };
53
- AssetManagerBase.prototype.error = function (callback, path, message) {
50
+ }
51
+ error(callback, path, message) {
54
52
  this.toLoad--;
55
53
  this.loaded++;
56
54
  this.errors[path] = message;
57
55
  if (callback)
58
56
  callback(path, message);
59
- };
60
- AssetManagerBase.prototype.setRawDataURI = function (path, data) {
57
+ }
58
+ setRawDataURI(path, data) {
61
59
  this.downloader.rawDataUris[this.pathPrefix + path] = data;
62
- };
63
- AssetManagerBase.prototype.loadBinary = function (path, success, error) {
64
- var _this = this;
65
- if (success === void 0) { success = null; }
66
- if (error === void 0) { error = null; }
60
+ }
61
+ loadBinary(path, success = null, error = null) {
67
62
  path = this.start(path);
68
- this.downloader.downloadBinary(path, function (data) {
69
- _this.success(success, path, data);
70
- }, function (status, responseText) {
71
- _this.error(error, path, "Couldn't load binary " + path + ": status " + status + ", " + responseText);
63
+ this.downloader.downloadBinary(path, (data) => {
64
+ this.success(success, path, data);
65
+ }, (status, responseText) => {
66
+ this.error(error, path, `Couldn't load binary ${path}: status ${status}, ${responseText}`);
72
67
  });
73
- };
74
- AssetManagerBase.prototype.loadText = function (path, success, error) {
75
- var _this = this;
76
- if (success === void 0) { success = null; }
77
- if (error === void 0) { error = null; }
68
+ }
69
+ loadText(path, success = null, error = null) {
78
70
  path = this.start(path);
79
- this.downloader.downloadText(path, function (data) {
80
- _this.success(success, path, data);
81
- }, function (status, responseText) {
82
- _this.error(error, path, "Couldn't load text " + path + ": status " + status + ", " + responseText);
71
+ this.downloader.downloadText(path, (data) => {
72
+ this.success(success, path, data);
73
+ }, (status, responseText) => {
74
+ this.error(error, path, `Couldn't load text ${path}: status ${status}, ${responseText}`);
83
75
  });
84
- };
85
- AssetManagerBase.prototype.loadJson = function (path, success, error) {
86
- var _this = this;
87
- if (success === void 0) { success = null; }
88
- if (error === void 0) { error = null; }
76
+ }
77
+ loadJson(path, success = null, error = null) {
89
78
  path = this.start(path);
90
- this.downloader.downloadJson(path, function (data) {
91
- _this.success(success, path, data);
92
- }, function (status, responseText) {
93
- _this.error(error, path, "Couldn't load JSON " + path + ": status " + status + ", " + responseText);
79
+ this.downloader.downloadJson(path, (data) => {
80
+ this.success(success, path, data);
81
+ }, (status, responseText) => {
82
+ this.error(error, path, `Couldn't load JSON ${path}: status ${status}, ${responseText}`);
94
83
  });
95
- };
96
- AssetManagerBase.prototype.loadTexture = function (path, success, error) {
97
- var _this = this;
98
- if (success === void 0) { success = null; }
99
- if (error === void 0) { error = null; }
84
+ }
85
+ loadTexture(path, success = null, error = null) {
100
86
  path = this.start(path);
101
- var isBrowser = !!(typeof window !== 'undefined' && typeof navigator !== 'undefined' && window.document);
102
- var isWebWorker = !isBrowser; // && typeof importScripts !== 'undefined';
87
+ let isBrowser = !!(typeof window !== 'undefined' && typeof navigator !== 'undefined' && window.document);
88
+ let isWebWorker = !isBrowser; // && typeof importScripts !== 'undefined';
103
89
  if (isWebWorker) {
104
- fetch(path, { mode: "cors" }).then(function (response) {
90
+ fetch(path, { mode: "cors" }).then((response) => {
105
91
  if (response.ok)
106
92
  return response.blob();
107
- _this.error(error, path, "Couldn't load image: " + path);
93
+ this.error(error, path, `Couldn't load image: ${path}`);
108
94
  return null;
109
- }).then(function (blob) {
95
+ }).then((blob) => {
110
96
  return blob ? createImageBitmap(blob, { premultiplyAlpha: "none", colorSpaceConversion: "none" }) : null;
111
- }).then(function (bitmap) {
97
+ }).then((bitmap) => {
112
98
  if (bitmap)
113
- _this.success(success, path, _this.textureLoader(bitmap));
99
+ this.success(success, path, this.textureLoader(bitmap));
114
100
  });
115
101
  }
116
102
  else {
117
- var image_1 = new Image();
118
- image_1.crossOrigin = "anonymous";
119
- image_1.onload = function () {
120
- _this.success(success, path, _this.textureLoader(image_1));
103
+ let image = new Image();
104
+ image.crossOrigin = "anonymous";
105
+ image.onload = () => {
106
+ this.success(success, path, this.textureLoader(image));
121
107
  };
122
- image_1.onerror = function () {
123
- _this.error(error, path, "Couldn't load image: " + path);
108
+ image.onerror = () => {
109
+ this.error(error, path, `Couldn't load image: ${path}`);
124
110
  };
125
111
  if (this.downloader.rawDataUris[path])
126
112
  path = this.downloader.rawDataUris[path];
127
- image_1.src = path;
113
+ image.src = path;
128
114
  }
129
- };
130
- AssetManagerBase.prototype.loadTextureAtlas = function (path, success, error) {
131
- var _this = this;
132
- if (success === void 0) { success = null; }
133
- if (error === void 0) { error = null; }
134
- var index = path.lastIndexOf("/");
135
- var parent = index >= 0 ? path.substring(0, index + 1) : "";
115
+ }
116
+ loadTextureAtlas(path, success = null, error = null) {
117
+ let index = path.lastIndexOf("/");
118
+ let parent = index >= 0 ? path.substring(0, index + 1) : "";
136
119
  path = this.start(path);
137
- this.downloader.downloadText(path, function (atlasText) {
120
+ this.downloader.downloadText(path, (atlasText) => {
138
121
  try {
139
- var atlas_1 = new TextureAtlas(atlasText);
140
- var toLoad_1 = atlas_1.pages.length, abort_1 = false;
141
- var _loop_1 = function (page) {
142
- _this.loadTexture(parent + page.name, function (imagePath, texture) {
143
- if (!abort_1) {
122
+ let atlas = new TextureAtlas(atlasText);
123
+ let toLoad = atlas.pages.length, abort = false;
124
+ for (let page of atlas.pages) {
125
+ this.loadTexture(parent + page.name, (imagePath, texture) => {
126
+ if (!abort) {
144
127
  page.setTexture(texture);
145
- if (--toLoad_1 == 0)
146
- _this.success(success, path, atlas_1);
128
+ if (--toLoad == 0)
129
+ this.success(success, path, atlas);
147
130
  }
148
- }, function (imagePath, message) {
149
- if (!abort_1)
150
- _this.error(error, path, "Couldn't load texture atlas " + path + " page image: " + imagePath);
151
- abort_1 = true;
131
+ }, (imagePath, message) => {
132
+ if (!abort)
133
+ this.error(error, path, `Couldn't load texture atlas ${path} page image: ${imagePath}`);
134
+ abort = true;
152
135
  });
153
- };
154
- for (var _i = 0, _a = atlas_1.pages; _i < _a.length; _i++) {
155
- var page = _a[_i];
156
- _loop_1(page);
157
136
  }
158
137
  }
159
138
  catch (e) {
160
- _this.error(error, path, "Couldn't parse texture atlas " + path + ": " + e.message);
139
+ this.error(error, path, `Couldn't parse texture atlas ${path}: ${e.message}`);
161
140
  }
162
- }, function (status, responseText) {
163
- _this.error(error, path, "Couldn't load texture atlas " + path + ": status " + status + ", " + responseText);
141
+ }, (status, responseText) => {
142
+ this.error(error, path, `Couldn't load texture atlas ${path}: status ${status}, ${responseText}`);
164
143
  });
165
- };
166
- AssetManagerBase.prototype.get = function (path) {
144
+ }
145
+ get(path) {
167
146
  return this.assets[this.pathPrefix + path];
168
- };
169
- AssetManagerBase.prototype.require = function (path) {
147
+ }
148
+ require(path) {
170
149
  path = this.pathPrefix + path;
171
- var asset = this.assets[path];
150
+ let asset = this.assets[path];
172
151
  if (asset)
173
152
  return asset;
174
- var error = this.errors[path];
153
+ let error = this.errors[path];
175
154
  throw Error("Asset not found: " + path + (error ? "\n" + error : ""));
176
- };
177
- AssetManagerBase.prototype.remove = function (path) {
155
+ }
156
+ remove(path) {
178
157
  path = this.pathPrefix + path;
179
- var asset = this.assets[path];
158
+ let asset = this.assets[path];
180
159
  if (asset.dispose)
181
160
  asset.dispose();
182
161
  delete this.assets[path];
183
162
  return asset;
184
- };
185
- AssetManagerBase.prototype.removeAll = function () {
186
- for (var key in this.assets) {
187
- var asset = this.assets[key];
163
+ }
164
+ removeAll() {
165
+ for (let key in this.assets) {
166
+ let asset = this.assets[key];
188
167
  if (asset.dispose)
189
168
  asset.dispose();
190
169
  }
191
170
  this.assets = {};
192
- };
193
- AssetManagerBase.prototype.isLoadingComplete = function () {
171
+ }
172
+ isLoadingComplete() {
194
173
  return this.toLoad == 0;
195
- };
196
- AssetManagerBase.prototype.getToLoad = function () {
174
+ }
175
+ getToLoad() {
197
176
  return this.toLoad;
198
- };
199
- AssetManagerBase.prototype.getLoaded = function () {
177
+ }
178
+ getLoaded() {
200
179
  return this.loaded;
201
- };
202
- AssetManagerBase.prototype.dispose = function () {
180
+ }
181
+ dispose() {
203
182
  this.removeAll();
204
- };
205
- AssetManagerBase.prototype.hasErrors = function () {
183
+ }
184
+ hasErrors() {
206
185
  return Object.keys(this.errors).length > 0;
207
- };
208
- AssetManagerBase.prototype.getErrors = function () {
186
+ }
187
+ getErrors() {
209
188
  return this.errors;
210
- };
211
- return AssetManagerBase;
212
- }());
213
- export { AssetManagerBase };
214
- var Downloader = /** @class */ (function () {
215
- function Downloader() {
189
+ }
190
+ }
191
+ export class Downloader {
192
+ constructor() {
216
193
  this.callbacks = {};
217
194
  this.rawDataUris = {};
218
195
  }
219
- Downloader.prototype.downloadText = function (url, success, error) {
220
- var _this = this;
221
- if (this.rawDataUris[url])
222
- url = this.rawDataUris[url];
196
+ dataUriToString(dataUri) {
197
+ if (!dataUri.startsWith("data:")) {
198
+ throw new Error("Not a data URI.");
199
+ }
200
+ let base64Idx = dataUri.indexOf("base64,");
201
+ if (base64Idx != -1) {
202
+ base64Idx += "base64,".length;
203
+ return atob(dataUri.substr(base64Idx));
204
+ }
205
+ else {
206
+ return dataUri.substr(dataUri.indexOf(",") + 1);
207
+ }
208
+ }
209
+ base64ToUint8Array(base64) {
210
+ var binary_string = window.atob(base64);
211
+ var len = binary_string.length;
212
+ var bytes = new Uint8Array(len);
213
+ for (var i = 0; i < len; i++) {
214
+ bytes[i] = binary_string.charCodeAt(i);
215
+ }
216
+ return bytes;
217
+ }
218
+ dataUriToUint8Array(dataUri) {
219
+ if (!dataUri.startsWith("data:")) {
220
+ throw new Error("Not a data URI.");
221
+ }
222
+ let base64Idx = dataUri.indexOf("base64,");
223
+ if (base64Idx == -1)
224
+ throw new Error("Not a binary data URI.");
225
+ base64Idx += "base64,".length;
226
+ return this.base64ToUint8Array(dataUri.substr(base64Idx));
227
+ }
228
+ downloadText(url, success, error) {
223
229
  if (this.start(url, success, error))
224
230
  return;
225
- var request = new XMLHttpRequest();
231
+ if (this.rawDataUris[url]) {
232
+ try {
233
+ let dataUri = this.rawDataUris[url];
234
+ this.finish(url, 200, this.dataUriToString(dataUri));
235
+ }
236
+ catch (e) {
237
+ this.finish(url, 400, JSON.stringify(e));
238
+ }
239
+ return;
240
+ }
241
+ let request = new XMLHttpRequest();
226
242
  request.overrideMimeType("text/html");
227
243
  request.open("GET", url, true);
228
- var done = function () {
229
- _this.finish(url, request.status, request.responseText);
244
+ let done = () => {
245
+ this.finish(url, request.status, request.responseText);
230
246
  };
231
247
  request.onload = done;
232
248
  request.onerror = done;
233
249
  request.send();
234
- };
235
- Downloader.prototype.downloadJson = function (url, success, error) {
236
- this.downloadText(url, function (data) {
250
+ }
251
+ downloadJson(url, success, error) {
252
+ this.downloadText(url, (data) => {
237
253
  success(JSON.parse(data));
238
254
  }, error);
239
- };
240
- Downloader.prototype.downloadBinary = function (url, success, error) {
241
- var _this = this;
242
- if (this.rawDataUris[url])
243
- url = this.rawDataUris[url];
255
+ }
256
+ downloadBinary(url, success, error) {
244
257
  if (this.start(url, success, error))
245
258
  return;
246
- var request = new XMLHttpRequest();
259
+ if (this.rawDataUris[url]) {
260
+ try {
261
+ let dataUri = this.rawDataUris[url];
262
+ this.finish(url, 200, this.dataUriToUint8Array(dataUri));
263
+ }
264
+ catch (e) {
265
+ this.finish(url, 400, JSON.stringify(e));
266
+ }
267
+ return;
268
+ }
269
+ let request = new XMLHttpRequest();
247
270
  request.open("GET", url, true);
248
271
  request.responseType = "arraybuffer";
249
- var onerror = function () {
250
- _this.finish(url, request.status, request.response);
272
+ let onerror = () => {
273
+ this.finish(url, request.status, request.response);
251
274
  };
252
- request.onload = function () {
275
+ request.onload = () => {
253
276
  if (request.status == 200)
254
- _this.finish(url, 200, new Uint8Array(request.response));
277
+ this.finish(url, 200, new Uint8Array(request.response));
255
278
  else
256
279
  onerror();
257
280
  };
258
281
  request.onerror = onerror;
259
282
  request.send();
260
- };
261
- Downloader.prototype.start = function (url, success, error) {
262
- var callbacks = this.callbacks[url];
283
+ }
284
+ start(url, success, error) {
285
+ let callbacks = this.callbacks[url];
263
286
  try {
264
287
  if (callbacks)
265
288
  return true;
@@ -268,15 +291,13 @@ var Downloader = /** @class */ (function () {
268
291
  finally {
269
292
  callbacks.push(success, error);
270
293
  }
271
- };
272
- Downloader.prototype.finish = function (url, status, data) {
273
- var callbacks = this.callbacks[url];
294
+ }
295
+ finish(url, status, data) {
296
+ let callbacks = this.callbacks[url];
274
297
  delete this.callbacks[url];
275
- var args = status == 200 ? [data] : [status, data];
276
- for (var i = args.length - 1, n = callbacks.length; i < n; i += 2)
298
+ let args = status == 200 ? [data] : [status, data];
299
+ for (let i = args.length - 1, n = callbacks.length; i < n; i += 2)
277
300
  callbacks[i].apply(null, args);
278
- };
279
- return Downloader;
280
- }());
281
- export { Downloader };
282
- //# sourceMappingURL=AssetManagerBase.js.map
301
+ }
302
+ }
303
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQXNzZXRNYW5hZ2VyQmFzZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9Bc3NldE1hbmFnZXJCYXNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7K0VBMkIrRTtBQUcvRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFHOUMsTUFBTSxPQUFPLGdCQUFnQjtJQVM1QixZQUFhLGFBQWlFLEVBQUUsYUFBcUIsRUFBRSxFQUFFLGFBQXlCLElBQUk7UUFMOUgsV0FBTSxHQUFtQixFQUFFLENBQUM7UUFDNUIsV0FBTSxHQUFzQixFQUFFLENBQUM7UUFDL0IsV0FBTSxHQUFHLENBQUMsQ0FBQztRQUNYLFdBQU0sR0FBRyxDQUFDLENBQUM7UUFHbEIsSUFBSSxDQUFDLGFBQWEsR0FBRyxhQUFhLENBQUM7UUFDbkMsSUFBSSxDQUFDLFVBQVUsR0FBRyxVQUFVLENBQUM7UUFDN0IsSUFBSSxDQUFDLFVBQVUsR0FBRyxVQUFVLElBQUksSUFBSSxVQUFVLEVBQUUsQ0FBQztJQUNsRCxDQUFDO0lBRU8sS0FBSyxDQUFFLElBQVk7UUFDMUIsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ2QsT0FBTyxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQztJQUMvQixDQUFDO0lBRU8sT0FBTyxDQUFFLFFBQTJDLEVBQUUsSUFBWSxFQUFFLEtBQVU7UUFDckYsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ2QsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ2QsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxLQUFLLENBQUM7UUFDMUIsSUFBSSxRQUFRO1lBQUUsUUFBUSxDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQztJQUNyQyxDQUFDO0lBRU8sS0FBSyxDQUFFLFFBQWlELEVBQUUsSUFBWSxFQUFFLE9BQWU7UUFDOUYsSUFBSSxDQUFDLE1B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QUVPLE1BQU0sQ0FBRSxHQUFXLEVBQUUsTUFBYyxFQUFFLElBQVM7UUFDckQsSUFBSSxTQUFTLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNwQyxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDM0IsSUFBSSxJQUFJLEdBQUcsTUFBTSxJQUFJLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDbkQsS0FBSyxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsU0FBUyxDQUFDLE1BQU0sRUFBRSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDO1lBQ2hFLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ2pDLENBQUM7Q0FDRCJ9
@@ -36,41 +36,39 @@ import { RegionAttachment } from "./attachments/RegionAttachment";
36
36
  *
37
37
  * See [Loading skeleton data](http://esotericsoftware.com/spine-loading-skeleton-data#JSON-and-binary-data) in the
38
38
  * Spine Runtimes Guide. */
39
- var AtlasAttachmentLoader = /** @class */ (function () {
40
- function AtlasAttachmentLoader(atlas) {
39
+ export class AtlasAttachmentLoader {
40
+ constructor(atlas) {
41
41
  this.atlas = atlas;
42
42
  }
43
- AtlasAttachmentLoader.prototype.newRegionAttachment = function (skin, name, path) {
44
- var region = this.atlas.findRegion(path);
43
+ newRegionAttachment(skin, name, path) {
44
+ let region = this.atlas.findRegion(path);
45
45
  if (!region)
46
46
  throw new Error("Region not found in atlas: " + path + " (region attachment: " + name + ")");
47
47
  region.renderObject = region;
48
- var attachment = new RegionAttachment(name);
48
+ let attachment = new RegionAttachment(name);
49
49
  attachment.setRegion(region);
50
50
  return attachment;
51
- };
52
- AtlasAttachmentLoader.prototype.newMeshAttachment = function (skin, name, path) {
53
- var region = this.atlas.findRegion(path);
51
+ }
52
+ newMeshAttachment(skin, name, path) {
53
+ let region = this.atlas.findRegion(path);
54
54
  if (!region)
55
55
  throw new Error("Region not found in atlas: " + path + " (mesh attachment: " + name + ")");
56
56
  region.renderObject = region;
57
- var attachment = new MeshAttachment(name);
57
+ let attachment = new MeshAttachment(name);
58
58
  attachment.region = region;
59
59
  return attachment;
60
- };
61
- AtlasAttachmentLoader.prototype.newBoundingBoxAttachment = function (skin, name) {
60
+ }
61
+ newBoundingBoxAttachment(skin, name) {
62
62
  return new BoundingBoxAttachment(name);
63
- };
64
- AtlasAttachmentLoader.prototype.newPathAttachment = function (skin, name) {
63
+ }
64
+ newPathAttachment(skin, name) {
65
65
  return new PathAttachment(name);
66
- };
67
- AtlasAttachmentLoader.prototype.newPointAttachment = function (skin, name) {
66
+ }
67
+ newPointAttachment(skin, name) {
68
68
  return new PointAttachment(name);
69
- };
70
- AtlasAttachmentLoader.prototype.newClippingAttachment = function (skin, name) {
69
+ }
70
+ newClippingAttachment(skin, name) {
71
71
  return new ClippingAttachment(name);
72
- };
73
- return AtlasAttachmentLoader;
74
- }());
75
- export { AtlasAttachmentLoader };
76
- //# sourceMappingURL=AtlasAttachmentLoader.js.map
72
+ }
73
+ }
74
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQXRsYXNBdHRhY2htZW50TG9hZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL0F0bGFzQXR0YWNobWVudExvYWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OytFQTJCK0U7QUFHL0UsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDNUUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDdEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQzlELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDaEUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFJbEU7OzsyQkFHMkI7QUFDM0IsTUFBTSxPQUFPLHFCQUFxQjtJQUdqQyxZQUFhLEtBQW1CO1FBQy9CLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO0lBQ3BCLENBQUM7SUFFRCxtQkFBbUIsQ0FBRSxJQUFVLEVBQUUsSUFBWSxFQUFFLElBQVk7UUFDMUQsSUFBSSxNQUFNLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDekMsSUFBSSxDQUFDLE1BQU07WUFBRSxNQUFNLElBQUksS0FBSyxDQUFDLDZCQUE2QixHQUFHLElBQUksR0FBRyx1QkFBdUIsR0FBRyxJQUFJLEdBQUcsR0FBRyxDQUFDLENBQUM7UUFDMUcsTUFBTSxDQUFDLFlBQVksR0FBRyxNQUFNLENBQUM7UUFDN0IsSUFBSSxVQUFVLEdBQUcsSUFBSSxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM1QyxVQUFVLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQzdCLE9BQU8sVUFBVSxDQUFDO0lBQ25CLENBQUM7SUFFRCxpQkFBaUIsQ0FBRSxJQUFVLEVBQUUsSUFBWSxFQUFFLElBQVk7UUFDeEQsSUFBSSxNQUFNLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDekMsSUFBSSxDQUFDLE1BQU07WUFBRSxNQUFNLElBQUksS0FBSyxDQUFDLDZCQUE2QixHQUFHLElBQUksR0FBRyxxQkFBcUIsR0FBRyxJQUFJLEdBQUcsR0FBRyxDQUFDLENBQUM7UUFDeEcsTUFBTSxDQUFDLFlBQVksR0FBRyxNQUFNLENBQUM7UUFDN0IsSUFBSSxVQUFVLEdBQUcsSUFBSSxjQUFjLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDMUMsVUFBVSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7UUFDM0IsT0FBTyxVQUFVLENBQUM7SUFDbkIsQ0FBQztJQUVELHdCQUF3QixDQUFFLElBQVUsRUFBRSxJQUFZO1FBQ2pELE9BQU8sSUFBSSxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN4QyxDQUFDO0lBRUQsaUJBQWlCLENBQUUsSUFBVSxFQUFFLElBQVk7UUFDMUMsT0FBTyxJQUFJLGNBQWMsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNqQyxDQUFDO0lBRUQsa0JBQWtCLENBQUUsSUFBVSxFQUFFLElBQVk7UUFDM0MsT0FBTyxJQUFJLGVBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNsQyxDQUFDO0lBRUQscUJBQXFCLENBQUUsSUFBVSxFQUFFLElBQVk7UUFDOUMsT0FBTyxJQUFJLGtCQUFrQixDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3JDLENBQUM7Q0FDRCJ9