@wwawing/loader 3.8.0-alpha.2 → 3.8.0

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.
@@ -3,6 +3,6 @@ export declare class WWALoader {
3
3
  private fileName;
4
4
  private eventEmitter;
5
5
  constructor(fileName: string, eventEmitter: WWALoaderEventEmitter);
6
- requestAndLoadMapData(): void;
6
+ requestAndLoadMapData(): Promise<void>;
7
7
  private loadMapData;
8
8
  }
package/lib/core/index.js CHANGED
@@ -1,4 +1,40 @@
1
1
  "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __generator = (this && this.__generator) || function (thisArg, body) {
12
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
13
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
14
+ function verb(n) { return function (v) { return step([n, v]); }; }
15
+ function step(op) {
16
+ if (f) throw new TypeError("Generator is already executing.");
17
+ while (_) try {
18
+ 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;
19
+ if (y = 0, t) op = [op[0] & 2, t.value];
20
+ switch (op[0]) {
21
+ case 0: case 1: t = op; break;
22
+ case 4: _.label++; return { value: op[1], done: false };
23
+ case 5: _.label++; y = op[1]; op = [0]; continue;
24
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
25
+ default:
26
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
27
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
28
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
29
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
30
+ if (t[2]) _.ops.pop();
31
+ _.trys.pop(); continue;
32
+ }
33
+ op = body.call(thisArg, _);
34
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
35
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
36
+ }
37
+ };
2
38
  Object.defineProperty(exports, "__esModule", { value: true });
3
39
  exports.WWALoader = void 0;
4
40
  var extractor_1 = require("./extractor");
@@ -19,21 +55,34 @@ var WWALoader = (function () {
19
55
  this.eventEmitter = eventEmitter;
20
56
  }
21
57
  WWALoader.prototype.requestAndLoadMapData = function () {
22
- var _this = this;
23
- var client = createMapDataClient(this.fileName);
24
- client.request(function (error, data) {
25
- if (error) {
26
- var name_1 = error.name || "";
27
- var message = error.message || "";
28
- _this.eventEmitter.dispatch("error", { name: name_1, message: message });
29
- }
30
- else if (!data) {
31
- _this.eventEmitter.dispatch("error", { name: "マップデータ取得に失敗しました", message: "mapdata is empty" });
32
- }
33
- else {
34
- var wwaData = _this.loadMapData(data);
35
- _this.eventEmitter.dispatch("mapData", wwaData);
36
- }
58
+ return __awaiter(this, void 0, void 0, function () {
59
+ var client, responseBuffer, wwaData, error_1, name_1, message;
60
+ return __generator(this, function (_a) {
61
+ switch (_a.label) {
62
+ case 0:
63
+ client = createMapDataClient(this.fileName);
64
+ _a.label = 1;
65
+ case 1:
66
+ _a.trys.push([1, 3, , 4]);
67
+ return [4, client.request()];
68
+ case 2:
69
+ responseBuffer = _a.sent();
70
+ if (!responseBuffer) {
71
+ this.eventEmitter.dispatch("error", { name: "マップデータ取得に失敗しました", message: "mapdata is empty" });
72
+ return [2];
73
+ }
74
+ wwaData = this.loadMapData(responseBuffer);
75
+ this.eventEmitter.dispatch("mapData", wwaData);
76
+ return [3, 4];
77
+ case 3:
78
+ error_1 = _a.sent();
79
+ name_1 = error_1.name || "";
80
+ message = error_1.message || "";
81
+ this.eventEmitter.dispatch("error", { name: name_1, message: message });
82
+ return [3, 4];
83
+ case 4: return [2];
84
+ }
85
+ });
37
86
  });
38
87
  };
39
88
  WWALoader.prototype.loadMapData = function (data) {
@@ -1,5 +1,4 @@
1
- export declare type MapDataClientCallback = (error?: any, data?: any) => any;
2
1
  export declare abstract class BaseMapDataClient {
3
2
  constructor();
4
- abstract request(callback: MapDataClientCallback): void;
3
+ abstract request(): Promise<ArrayBufferLike>;
5
4
  }
@@ -1,6 +1,8 @@
1
- import { BaseMapDataClient, MapDataClientCallback } from "./BaseMapDataClient";
1
+ import { BaseMapDataClient } from "./BaseMapDataClient";
2
2
  export declare class BrowserMapDataClient extends BaseMapDataClient {
3
3
  private uri;
4
4
  constructor(uri: string);
5
- request(callback: MapDataClientCallback): void;
5
+ private static fetch;
6
+ private static handleError;
7
+ request(): Promise<ArrayBufferLike>;
6
8
  }
@@ -14,6 +14,42 @@ var __extends = (this && this.__extends) || (function () {
14
14
  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
15
15
  };
16
16
  })();
17
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
18
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
19
+ return new (P || (P = Promise))(function (resolve, reject) {
20
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
21
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
22
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
23
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
24
+ });
25
+ };
26
+ var __generator = (this && this.__generator) || function (thisArg, body) {
27
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
28
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
29
+ function verb(n) { return function (v) { return step([n, v]); }; }
30
+ function step(op) {
31
+ if (f) throw new TypeError("Generator is already executing.");
32
+ while (_) try {
33
+ 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;
34
+ if (y = 0, t) op = [op[0] & 2, t.value];
35
+ switch (op[0]) {
36
+ case 0: case 1: t = op; break;
37
+ case 4: _.label++; return { value: op[1], done: false };
38
+ case 5: _.label++; y = op[1]; op = [0]; continue;
39
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
40
+ default:
41
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
42
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
43
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
44
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
45
+ if (t[2]) _.ops.pop();
46
+ _.trys.pop(); continue;
47
+ }
48
+ op = body.call(thisArg, _);
49
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
50
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
51
+ }
52
+ };
17
53
  Object.defineProperty(exports, "__esModule", { value: true });
18
54
  exports.BrowserMapDataClient = void 0;
19
55
  var BaseMapDataClient_1 = require("./BaseMapDataClient");
@@ -24,54 +60,54 @@ var BrowserMapDataClient = (function (_super) {
24
60
  _this.uri = uri;
25
61
  return _this;
26
62
  }
27
- BrowserMapDataClient.prototype.request = function (callback) {
28
- var _this = this;
29
- var xhr = new XMLHttpRequest();
30
- try {
31
- xhr.open("GET", this.uri, true);
32
- xhr.responseType = "arraybuffer";
33
- xhr.onloadend = function () {
34
- try {
35
- if (xhr.status === 200 || xhr.status === 304) {
36
- callback(undefined, xhr.response);
37
- }
38
- else if (xhr.status === 404) {
39
- throw new Error("マップデータ「" +
40
- _this.uri +
41
- "」が見つかりませんでした。\n" +
42
- "HTTPステータスコードは " +
43
- xhr.status +
44
- "です。");
45
- }
46
- else if (xhr.status === 403) {
47
- throw new Error("マップデータ「" +
48
- _this.uri +
49
- "」を読み取る権限がないようです。\n" +
50
- "管理者の方へ: マップデータのパーミッションを確認してください。\n" +
51
- "HTTPステータスコードは " +
52
- xhr.status +
53
- "です。");
54
- }
55
- else {
56
- throw new Error("マップデータ「" +
57
- _this.uri +
58
- "」の読み込みに失敗しました。\n" +
59
- "HTTPステータスコードは " +
60
- xhr.status +
61
- "です。");
62
- }
63
- }
64
- catch (error) {
65
- callback(error);
63
+ BrowserMapDataClient.fetch = function (uri) {
64
+ return __awaiter(this, void 0, void 0, function () {
65
+ var error_1;
66
+ return __generator(this, function (_a) {
67
+ switch (_a.label) {
68
+ case 0:
69
+ _a.trys.push([0, 2, , 3]);
70
+ return [4, fetch(uri)];
71
+ case 1: return [2, _a.sent()];
72
+ case 2:
73
+ error_1 = _a.sent();
74
+ throw new Error("\u30DE\u30C3\u30D7\u30C7\u30FC\u30BF \u300C".concat(uri, "\u300D\u306E\u8AAD\u307F\u8FBC\u307F\u306B\u5931\u6557\u3057\u307E\u3057\u305F\u3002\n \u901A\u4FE1\u74B0\u5883\u306E\u826F\u3044\u3068\u3053\u308D\u3067\u518D\u5EA6\u304A\u8A66\u3057\u304F\u3060\u3055\u3044\u3002\n \u30ED\u30FC\u30AB\u30EB\u30C6\u30B9\u30C8\u306E\u5834\u5408\u306F\u3001\u30D6\u30E9\u30A6\u30B6\u304C\u5BFE\u5FDC\u3057\u3066\u3044\u306A\u3044\u53EF\u80FD\u6027\u304C\u3042\u308A\u307E\u3059\u3002"));
75
+ case 3: return [2];
66
76
  }
67
- };
68
- xhr.send(null);
69
- }
70
- catch (e) {
71
- callback(new Error("ロードエラー: ローカルテストの場合は、ブラウザが対応していない可能性があります。\n" +
72
- e.message));
77
+ });
78
+ });
79
+ };
80
+ BrowserMapDataClient.handleError = function (uri, response) {
81
+ var statusCodeMessage = "HTTP\u30B9\u30C6\u30FC\u30BF\u30B9\u30B3\u30FC\u30C9\u306F ".concat(response.status, " \u3067\u3059\u3002");
82
+ switch (response.status) {
83
+ case 200:
84
+ case 304:
85
+ return;
86
+ case 403:
87
+ throw new Error("\u30DE\u30C3\u30D7\u30C7\u30FC\u30BF\u300C".concat(uri, "\u300D\u3092\u8AAD\u307F\u53D6\u308B\u6A29\u9650\u304C\u306A\u3044\u3088\u3046\u3067\u3059\u3002\n \u7BA1\u7406\u8005\u306E\u65B9\u3078: \u30DE\u30C3\u30D7\u30C7\u30FC\u30BF\u306E\u30D1\u30FC\u30DF\u30C3\u30B7\u30E7\u30F3\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002\n ").concat(statusCodeMessage));
88
+ case 404:
89
+ throw new Error("\u30DE\u30C3\u30D7\u30C7\u30FC\u30BF\u300C".concat(uri, "\u300D\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093\u3067\u3057\u305F\u3002\n ").concat(statusCodeMessage));
90
+ default:
91
+ throw new Error("\u30DE\u30C3\u30D7\u30C7\u30FC\u30BF\u300C".concat(uri, "\u300D\u306E\u8AAD\u307F\u8FBC\u307F\u306B\u5931\u6557\u3057\u307E\u3057\u305F\u3002\n ").concat(statusCodeMessage));
73
92
  }
74
93
  };
94
+ BrowserMapDataClient.prototype.request = function () {
95
+ return __awaiter(this, void 0, void 0, function () {
96
+ var response, buffer;
97
+ return __generator(this, function (_a) {
98
+ switch (_a.label) {
99
+ case 0: return [4, BrowserMapDataClient.fetch(this.uri)];
100
+ case 1:
101
+ response = _a.sent();
102
+ BrowserMapDataClient.handleError(this.uri, response);
103
+ return [4, response.arrayBuffer()];
104
+ case 2:
105
+ buffer = _a.sent();
106
+ return [2, buffer];
107
+ }
108
+ });
109
+ });
110
+ };
75
111
  return BrowserMapDataClient;
76
112
  }(BaseMapDataClient_1.BaseMapDataClient));
77
113
  exports.BrowserMapDataClient = BrowserMapDataClient;
@@ -1,6 +1,6 @@
1
- import { BaseMapDataClient, MapDataClientCallback } from "./BaseMapDataClient";
1
+ import { BaseMapDataClient } from "./BaseMapDataClient";
2
2
  export declare class NodeLocalMapDataClient extends BaseMapDataClient {
3
3
  private fileName;
4
4
  constructor(fileName: string);
5
- request(callback: MapDataClientCallback): void;
5
+ request(): Promise<ArrayBufferLike>;
6
6
  }
@@ -14,6 +14,42 @@ var __extends = (this && this.__extends) || (function () {
14
14
  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
15
15
  };
16
16
  })();
17
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
18
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
19
+ return new (P || (P = Promise))(function (resolve, reject) {
20
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
21
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
22
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
23
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
24
+ });
25
+ };
26
+ var __generator = (this && this.__generator) || function (thisArg, body) {
27
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
28
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
29
+ function verb(n) { return function (v) { return step([n, v]); }; }
30
+ function step(op) {
31
+ if (f) throw new TypeError("Generator is already executing.");
32
+ while (_) try {
33
+ 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;
34
+ if (y = 0, t) op = [op[0] & 2, t.value];
35
+ switch (op[0]) {
36
+ case 0: case 1: t = op; break;
37
+ case 4: _.label++; return { value: op[1], done: false };
38
+ case 5: _.label++; y = op[1]; op = [0]; continue;
39
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
40
+ default:
41
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
42
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
43
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
44
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
45
+ if (t[2]) _.ops.pop();
46
+ _.trys.pop(); continue;
47
+ }
48
+ op = body.call(thisArg, _);
49
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
50
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
51
+ }
52
+ };
17
53
  var __importDefault = (this && this.__importDefault) || function (mod) {
18
54
  return (mod && mod.__esModule) ? mod : { "default": mod };
19
55
  };
@@ -28,15 +64,22 @@ var NodeLocalMapDataClient = (function (_super) {
28
64
  _this.fileName = fileName;
29
65
  return _this;
30
66
  }
31
- NodeLocalMapDataClient.prototype.request = function (callback) {
32
- fs_1.default.readFile(this.fileName, function (error, data) {
33
- if (error) {
34
- callback(error);
35
- return;
36
- }
37
- callback(undefined, data.buffer);
67
+ NodeLocalMapDataClient.prototype.request = function () {
68
+ return __awaiter(this, void 0, void 0, function () {
69
+ var _this = this;
70
+ return __generator(this, function (_a) {
71
+ return [2, new Promise(function (resolve, reject) {
72
+ fs_1.default.readFile(_this.fileName, function (error, data) {
73
+ if (error) {
74
+ reject(error);
75
+ }
76
+ resolve(data.buffer);
77
+ });
78
+ })];
79
+ });
38
80
  });
39
81
  };
82
+ ;
40
83
  return NodeLocalMapDataClient;
41
84
  }(BaseMapDataClient_1.BaseMapDataClient));
42
85
  exports.NodeLocalMapDataClient = NodeLocalMapDataClient;
@@ -1,4 +1,4 @@
1
- import { BaseMapDataClient, MapDataClientCallback } from "./BaseMapDataClient";
1
+ import { BaseMapDataClient } from "./BaseMapDataClient";
2
2
  import { BrowserMapDataClient } from "./BrowserMapDataClient";
3
3
  import { NodeLocalMapDataClient } from "./NodeLocalMapDataClient";
4
- export { BaseMapDataClient, BrowserMapDataClient, NodeLocalMapDataClient, MapDataClientCallback };
4
+ export { BaseMapDataClient, BrowserMapDataClient, NodeLocalMapDataClient };
package/lib/index.js CHANGED
@@ -1,7 +1,11 @@
1
1
  "use strict";
2
2
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
3
  if (k2 === undefined) k2 = k;
4
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
5
9
  }) : (function(o, m, k, k2) {
6
10
  if (k2 === undefined) k2 = k;
7
11
  o[k2] = m[k];
@@ -176,7 +176,6 @@ function createDefaultWWAData() {
176
176
  isVisibleStatusGold: undefined,
177
177
  isGameOverDisabled: undefined,
178
178
  gameOverPolicy: "default",
179
- ifElseStatus: "outside-ifelse"
180
179
  };
181
180
  }
182
181
  exports.createDefaultWWAData = createDefaultWWAData;
@@ -3,6 +3,6 @@ export declare class WWALoader {
3
3
  private fileName;
4
4
  private eventEmitter;
5
5
  constructor(fileName: string, eventEmitter: WWALoaderEventEmitter);
6
- requestAndLoadMapData(): void;
6
+ requestAndLoadMapData(): Promise<void>;
7
7
  private loadMapData;
8
8
  }
@@ -1,3 +1,39 @@
1
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
+ return new (P || (P = Promise))(function (resolve, reject) {
4
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
8
+ });
9
+ };
10
+ var __generator = (this && this.__generator) || function (thisArg, body) {
11
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
12
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
13
+ function verb(n) { return function (v) { return step([n, v]); }; }
14
+ function step(op) {
15
+ if (f) throw new TypeError("Generator is already executing.");
16
+ while (_) try {
17
+ 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;
18
+ if (y = 0, t) op = [op[0] & 2, t.value];
19
+ switch (op[0]) {
20
+ case 0: case 1: t = op; break;
21
+ case 4: _.label++; return { value: op[1], done: false };
22
+ case 5: _.label++; y = op[1]; op = [0]; continue;
23
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
24
+ default:
25
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
26
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
27
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
28
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
29
+ if (t[2]) _.ops.pop();
30
+ _.trys.pop(); continue;
31
+ }
32
+ op = body.call(thisArg, _);
33
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
34
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
35
+ }
36
+ };
1
37
  import { WWADataExtractor } from "./extractor";
2
38
  import { decompressMapData } from "./decompressor";
3
39
  import { TextLoader } from "./text-loader";
@@ -16,21 +52,34 @@ var WWALoader = (function () {
16
52
  this.eventEmitter = eventEmitter;
17
53
  }
18
54
  WWALoader.prototype.requestAndLoadMapData = function () {
19
- var _this = this;
20
- var client = createMapDataClient(this.fileName);
21
- client.request(function (error, data) {
22
- if (error) {
23
- var name_1 = error.name || "";
24
- var message = error.message || "";
25
- _this.eventEmitter.dispatch("error", { name: name_1, message: message });
26
- }
27
- else if (!data) {
28
- _this.eventEmitter.dispatch("error", { name: "マップデータ取得に失敗しました", message: "mapdata is empty" });
29
- }
30
- else {
31
- var wwaData = _this.loadMapData(data);
32
- _this.eventEmitter.dispatch("mapData", wwaData);
33
- }
55
+ return __awaiter(this, void 0, void 0, function () {
56
+ var client, responseBuffer, wwaData, error_1, name_1, message;
57
+ return __generator(this, function (_a) {
58
+ switch (_a.label) {
59
+ case 0:
60
+ client = createMapDataClient(this.fileName);
61
+ _a.label = 1;
62
+ case 1:
63
+ _a.trys.push([1, 3, , 4]);
64
+ return [4, client.request()];
65
+ case 2:
66
+ responseBuffer = _a.sent();
67
+ if (!responseBuffer) {
68
+ this.eventEmitter.dispatch("error", { name: "マップデータ取得に失敗しました", message: "mapdata is empty" });
69
+ return [2];
70
+ }
71
+ wwaData = this.loadMapData(responseBuffer);
72
+ this.eventEmitter.dispatch("mapData", wwaData);
73
+ return [3, 4];
74
+ case 3:
75
+ error_1 = _a.sent();
76
+ name_1 = error_1.name || "";
77
+ message = error_1.message || "";
78
+ this.eventEmitter.dispatch("error", { name: name_1, message: message });
79
+ return [3, 4];
80
+ case 4: return [2];
81
+ }
82
+ });
34
83
  });
35
84
  };
36
85
  WWALoader.prototype.loadMapData = function (data) {
@@ -1,5 +1,4 @@
1
- export declare type MapDataClientCallback = (error?: any, data?: any) => any;
2
1
  export declare abstract class BaseMapDataClient {
3
2
  constructor();
4
- abstract request(callback: MapDataClientCallback): void;
3
+ abstract request(): Promise<ArrayBufferLike>;
5
4
  }
@@ -1,6 +1,8 @@
1
- import { BaseMapDataClient, MapDataClientCallback } from "./BaseMapDataClient";
1
+ import { BaseMapDataClient } from "./BaseMapDataClient";
2
2
  export declare class BrowserMapDataClient extends BaseMapDataClient {
3
3
  private uri;
4
4
  constructor(uri: string);
5
- request(callback: MapDataClientCallback): void;
5
+ private static fetch;
6
+ private static handleError;
7
+ request(): Promise<ArrayBufferLike>;
6
8
  }
@@ -13,6 +13,42 @@ var __extends = (this && this.__extends) || (function () {
13
13
  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
14
14
  };
15
15
  })();
16
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
17
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
18
+ return new (P || (P = Promise))(function (resolve, reject) {
19
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
20
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
21
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
22
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
23
+ });
24
+ };
25
+ var __generator = (this && this.__generator) || function (thisArg, body) {
26
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
27
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
28
+ function verb(n) { return function (v) { return step([n, v]); }; }
29
+ function step(op) {
30
+ if (f) throw new TypeError("Generator is already executing.");
31
+ while (_) try {
32
+ 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;
33
+ if (y = 0, t) op = [op[0] & 2, t.value];
34
+ switch (op[0]) {
35
+ case 0: case 1: t = op; break;
36
+ case 4: _.label++; return { value: op[1], done: false };
37
+ case 5: _.label++; y = op[1]; op = [0]; continue;
38
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
39
+ default:
40
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
41
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
42
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
43
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
44
+ if (t[2]) _.ops.pop();
45
+ _.trys.pop(); continue;
46
+ }
47
+ op = body.call(thisArg, _);
48
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
49
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
50
+ }
51
+ };
16
52
  import { BaseMapDataClient } from "./BaseMapDataClient";
17
53
  var BrowserMapDataClient = (function (_super) {
18
54
  __extends(BrowserMapDataClient, _super);
@@ -21,54 +57,54 @@ var BrowserMapDataClient = (function (_super) {
21
57
  _this.uri = uri;
22
58
  return _this;
23
59
  }
24
- BrowserMapDataClient.prototype.request = function (callback) {
25
- var _this = this;
26
- var xhr = new XMLHttpRequest();
27
- try {
28
- xhr.open("GET", this.uri, true);
29
- xhr.responseType = "arraybuffer";
30
- xhr.onloadend = function () {
31
- try {
32
- if (xhr.status === 200 || xhr.status === 304) {
33
- callback(undefined, xhr.response);
34
- }
35
- else if (xhr.status === 404) {
36
- throw new Error("マップデータ「" +
37
- _this.uri +
38
- "」が見つかりませんでした。\n" +
39
- "HTTPステータスコードは " +
40
- xhr.status +
41
- "です。");
42
- }
43
- else if (xhr.status === 403) {
44
- throw new Error("マップデータ「" +
45
- _this.uri +
46
- "」を読み取る権限がないようです。\n" +
47
- "管理者の方へ: マップデータのパーミッションを確認してください。\n" +
48
- "HTTPステータスコードは " +
49
- xhr.status +
50
- "です。");
51
- }
52
- else {
53
- throw new Error("マップデータ「" +
54
- _this.uri +
55
- "」の読み込みに失敗しました。\n" +
56
- "HTTPステータスコードは " +
57
- xhr.status +
58
- "です。");
59
- }
60
- }
61
- catch (error) {
62
- callback(error);
60
+ BrowserMapDataClient.fetch = function (uri) {
61
+ return __awaiter(this, void 0, void 0, function () {
62
+ var error_1;
63
+ return __generator(this, function (_a) {
64
+ switch (_a.label) {
65
+ case 0:
66
+ _a.trys.push([0, 2, , 3]);
67
+ return [4, fetch(uri)];
68
+ case 1: return [2, _a.sent()];
69
+ case 2:
70
+ error_1 = _a.sent();
71
+ throw new Error("\u30DE\u30C3\u30D7\u30C7\u30FC\u30BF \u300C".concat(uri, "\u300D\u306E\u8AAD\u307F\u8FBC\u307F\u306B\u5931\u6557\u3057\u307E\u3057\u305F\u3002\n \u901A\u4FE1\u74B0\u5883\u306E\u826F\u3044\u3068\u3053\u308D\u3067\u518D\u5EA6\u304A\u8A66\u3057\u304F\u3060\u3055\u3044\u3002\n \u30ED\u30FC\u30AB\u30EB\u30C6\u30B9\u30C8\u306E\u5834\u5408\u306F\u3001\u30D6\u30E9\u30A6\u30B6\u304C\u5BFE\u5FDC\u3057\u3066\u3044\u306A\u3044\u53EF\u80FD\u6027\u304C\u3042\u308A\u307E\u3059\u3002"));
72
+ case 3: return [2];
63
73
  }
64
- };
65
- xhr.send(null);
66
- }
67
- catch (e) {
68
- callback(new Error("ロードエラー: ローカルテストの場合は、ブラウザが対応していない可能性があります。\n" +
69
- e.message));
74
+ });
75
+ });
76
+ };
77
+ BrowserMapDataClient.handleError = function (uri, response) {
78
+ var statusCodeMessage = "HTTP\u30B9\u30C6\u30FC\u30BF\u30B9\u30B3\u30FC\u30C9\u306F ".concat(response.status, " \u3067\u3059\u3002");
79
+ switch (response.status) {
80
+ case 200:
81
+ case 304:
82
+ return;
83
+ case 403:
84
+ throw new Error("\u30DE\u30C3\u30D7\u30C7\u30FC\u30BF\u300C".concat(uri, "\u300D\u3092\u8AAD\u307F\u53D6\u308B\u6A29\u9650\u304C\u306A\u3044\u3088\u3046\u3067\u3059\u3002\n \u7BA1\u7406\u8005\u306E\u65B9\u3078: \u30DE\u30C3\u30D7\u30C7\u30FC\u30BF\u306E\u30D1\u30FC\u30DF\u30C3\u30B7\u30E7\u30F3\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002\n ").concat(statusCodeMessage));
85
+ case 404:
86
+ throw new Error("\u30DE\u30C3\u30D7\u30C7\u30FC\u30BF\u300C".concat(uri, "\u300D\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093\u3067\u3057\u305F\u3002\n ").concat(statusCodeMessage));
87
+ default:
88
+ throw new Error("\u30DE\u30C3\u30D7\u30C7\u30FC\u30BF\u300C".concat(uri, "\u300D\u306E\u8AAD\u307F\u8FBC\u307F\u306B\u5931\u6557\u3057\u307E\u3057\u305F\u3002\n ").concat(statusCodeMessage));
70
89
  }
71
90
  };
91
+ BrowserMapDataClient.prototype.request = function () {
92
+ return __awaiter(this, void 0, void 0, function () {
93
+ var response, buffer;
94
+ return __generator(this, function (_a) {
95
+ switch (_a.label) {
96
+ case 0: return [4, BrowserMapDataClient.fetch(this.uri)];
97
+ case 1:
98
+ response = _a.sent();
99
+ BrowserMapDataClient.handleError(this.uri, response);
100
+ return [4, response.arrayBuffer()];
101
+ case 2:
102
+ buffer = _a.sent();
103
+ return [2, buffer];
104
+ }
105
+ });
106
+ });
107
+ };
72
108
  return BrowserMapDataClient;
73
109
  }(BaseMapDataClient));
74
110
  export { BrowserMapDataClient };
@@ -1,6 +1,6 @@
1
- import { BaseMapDataClient, MapDataClientCallback } from "./BaseMapDataClient";
1
+ import { BaseMapDataClient } from "./BaseMapDataClient";
2
2
  export declare class NodeLocalMapDataClient extends BaseMapDataClient {
3
3
  private fileName;
4
4
  constructor(fileName: string);
5
- request(callback: MapDataClientCallback): void;
5
+ request(): Promise<ArrayBufferLike>;
6
6
  }
@@ -13,6 +13,42 @@ var __extends = (this && this.__extends) || (function () {
13
13
  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
14
14
  };
15
15
  })();
16
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
17
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
18
+ return new (P || (P = Promise))(function (resolve, reject) {
19
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
20
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
21
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
22
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
23
+ });
24
+ };
25
+ var __generator = (this && this.__generator) || function (thisArg, body) {
26
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
27
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
28
+ function verb(n) { return function (v) { return step([n, v]); }; }
29
+ function step(op) {
30
+ if (f) throw new TypeError("Generator is already executing.");
31
+ while (_) try {
32
+ 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;
33
+ if (y = 0, t) op = [op[0] & 2, t.value];
34
+ switch (op[0]) {
35
+ case 0: case 1: t = op; break;
36
+ case 4: _.label++; return { value: op[1], done: false };
37
+ case 5: _.label++; y = op[1]; op = [0]; continue;
38
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
39
+ default:
40
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
41
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
42
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
43
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
44
+ if (t[2]) _.ops.pop();
45
+ _.trys.pop(); continue;
46
+ }
47
+ op = body.call(thisArg, _);
48
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
49
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
50
+ }
51
+ };
16
52
  import fs from "fs";
17
53
  import { BaseMapDataClient } from "./BaseMapDataClient";
18
54
  var NodeLocalMapDataClient = (function (_super) {
@@ -22,15 +58,22 @@ var NodeLocalMapDataClient = (function (_super) {
22
58
  _this.fileName = fileName;
23
59
  return _this;
24
60
  }
25
- NodeLocalMapDataClient.prototype.request = function (callback) {
26
- fs.readFile(this.fileName, function (error, data) {
27
- if (error) {
28
- callback(error);
29
- return;
30
- }
31
- callback(undefined, data.buffer);
61
+ NodeLocalMapDataClient.prototype.request = function () {
62
+ return __awaiter(this, void 0, void 0, function () {
63
+ var _this = this;
64
+ return __generator(this, function (_a) {
65
+ return [2, new Promise(function (resolve, reject) {
66
+ fs.readFile(_this.fileName, function (error, data) {
67
+ if (error) {
68
+ reject(error);
69
+ }
70
+ resolve(data.buffer);
71
+ });
72
+ })];
73
+ });
32
74
  });
33
75
  };
76
+ ;
34
77
  return NodeLocalMapDataClient;
35
78
  }(BaseMapDataClient));
36
79
  export { NodeLocalMapDataClient };
@@ -1,4 +1,4 @@
1
- import { BaseMapDataClient, MapDataClientCallback } from "./BaseMapDataClient";
1
+ import { BaseMapDataClient } from "./BaseMapDataClient";
2
2
  import { BrowserMapDataClient } from "./BrowserMapDataClient";
3
3
  import { NodeLocalMapDataClient } from "./NodeLocalMapDataClient";
4
- export { BaseMapDataClient, BrowserMapDataClient, NodeLocalMapDataClient, MapDataClientCallback };
4
+ export { BaseMapDataClient, BrowserMapDataClient, NodeLocalMapDataClient };
@@ -173,6 +173,5 @@ export function createDefaultWWAData() {
173
173
  isVisibleStatusGold: undefined,
174
174
  isGameOverDisabled: undefined,
175
175
  gameOverPolicy: "default",
176
- ifElseStatus: "outside-ifelse"
177
176
  };
178
177
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wwawing/loader",
3
- "version": "3.8.0-alpha.2",
3
+ "version": "3.8.0",
4
4
  "description": "a World Wide Adventure mapdata loader for client-side web applications",
5
5
  "main": "./lib/index.js",
6
6
  "module": "./module/index.js",
@@ -44,10 +44,10 @@
44
44
  },
45
45
  "homepage": "https://github.com/WWAWing/WWALoader#readme",
46
46
  "dependencies": {
47
- "@wwawing/event-emitter": "^3.8.0-alpha.2"
47
+ "@wwawing/event-emitter": "^3.8.0"
48
48
  },
49
49
  "devDependencies": {
50
- "@wwawing/common-interface": "^3.8.0-alpha.2",
50
+ "@wwawing/common-interface": "^3.8.0",
51
51
  "cross-env": "^7.0.3",
52
52
  "html-loader": "^2.1.2",
53
53
  "html-webpack-plugin": "^5.5.0",
@@ -56,8 +56,8 @@
56
56
  "shelljs": "^0.8.4",
57
57
  "shx": "^0.3.3",
58
58
  "ts-loader": "^4.3.0",
59
- "ts-node": "^10.4.0",
60
- "typescript": "^4.5.4",
59
+ "ts-node": "^10.8.1",
60
+ "typescript": "^4.7.3",
61
61
  "webpack": "^5.65.0",
62
62
  "webpack-cli": "^4.9.1"
63
63
  },
@@ -68,5 +68,5 @@
68
68
  "node": ">=16",
69
69
  "npm": ">=8"
70
70
  },
71
- "gitHead": "992d9f5b020d04115551cb601abd5e3d93195efc"
71
+ "gitHead": "c652b5022ed532432f87b6b9011fcac0170e0999"
72
72
  }