tja-parser 0.2.4 → 0.2.5

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.
@@ -1 +1 @@
1
- {"version":3,"file":"Song.d.ts","sourceRoot":"","sources":["../../src/class/Song.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAG9C,qBAAa,IAAI;IAIb,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IA+B/B,MAAM,CAAC,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE;IAalE,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC;IACxB,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC,CAAM;gBAErC,QAAQ,EAAE,IAAI,CAAC,QAAQ;IAQnC,MAAM;IAIN,MAAM;;;;CAMT;AAED,yBAAiB,IAAI,CAAC;IAClB,MAAa,QAAQ;QACjB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;KAC9C;CACJ"}
1
+ {"version":3,"file":"Song.d.ts","sourceRoot":"","sources":["../../src/class/Song.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAG9C,qBAAa,IAAI;IAIb,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAwC/B,MAAM,CAAC,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE;IAalE,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC;IACxB,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC,CAAM;gBAErC,QAAQ,EAAE,IAAI,CAAC,QAAQ;IAQnC,MAAM;IAIN,MAAM;;;;CAMT;AAED,yBAAiB,IAAI,CAAC;IAClB,MAAa,QAAQ;QACjB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;KAC9C;CACJ"}
@@ -5,7 +5,16 @@ const Course_js_1 = require("./Course.js");
5
5
  const ParseException_js_1 = require("../exception/ParseException.js");
6
6
  class Song {
7
7
  static parse(tja) {
8
- const lines = tja.split('\n').map((e) => e.trim()).filter((e) => e);
8
+ const lines = tja.split('\n').map((line) => {
9
+ line = line.trim();
10
+ const doubleSlashIndex = line.indexOf('//');
11
+ if (doubleSlashIndex > -1) {
12
+ return line.slice(0, doubleSlashIndex);
13
+ }
14
+ else {
15
+ return line;
16
+ }
17
+ }).filter((e) => e);
9
18
  const metadata = new this.Metadata();
10
19
  const song = new Song(metadata);
11
20
  let i = 0;
@@ -1 +1 @@
1
- {"version":3,"file":"Song.js","sourceRoot":"","sources":["../../src/class/Song.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Song.js","sourceRoot":"","sources":["../../src/class/Song.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "author": {
4
4
  "name": "hotsixman"
5
5
  },
6
- "version": "0.2.4",
6
+ "version": "0.2.5",
7
7
  "dependencies": {
8
8
  "mathjs": "^15.1.0"
9
9
  },
package/src/class/Song.ts CHANGED
@@ -7,7 +7,16 @@ export class Song {
7
7
  * @throws {MetadataParseException}
8
8
  */
9
9
  static parse(tja: string): Song {
10
- const lines = tja.split('\n').map((e) => e.trim()).filter((e) => e);
10
+ const lines = tja.split('\n').map((line) => {
11
+ line = line.trim()
12
+ const doubleSlashIndex = line.indexOf('//');
13
+ if (doubleSlashIndex > -1) {
14
+ return line.slice(0, doubleSlashIndex);
15
+ }
16
+ else {
17
+ return line;
18
+ }
19
+ }).filter((e) => e);
11
20
 
12
21
  const metadata = new this.Metadata();
13
22
  const song = new Song(metadata);
@@ -61,11 +70,11 @@ export class Song {
61
70
  * `metadata`에서 bpm을 가져옴.
62
71
  * `metadata`에 bpm이 존재하지 않으면 `160`을 반환.
63
72
  */
64
- getBPM(){
73
+ getBPM() {
65
74
  return Number(this.metadata.bpm) || 160;
66
75
  }
67
76
 
68
- toJSON(){
77
+ toJSON() {
69
78
  return {
70
79
  metadata: this.metadata,
71
80
  course: this.course