Skip to content

Commit 63af848

Browse files
authored
Merge pull request #10 from jsonmaster/development
Development
2 parents 07fbcda + 4664324 commit 63af848

File tree

3 files changed

+29
-23
lines changed

3 files changed

+29
-23
lines changed

index.html

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -93,6 +93,8 @@
9393
<label for="input">Input JSON:</label>
9494
<textarea class="form-control form-font" rows="25" id="input"></textarea>
9595
</div>
96+
<div class="alert alert-danger" id="errorAlert" role="alert">
97+
</div>
9698
</div>
9799
<div class="col-sm-5" id="output">
98100
</div>

script/parser.js

Lines changed: 14 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -24,26 +24,20 @@ FileBuilder.prototype = {
2424
constructor: FileBuilder,
2525
classes: function(string) {
2626

27-
let json = JSON.parse(string);
27+
try {
28+
let json = JSON.parse(string);
2829

29-
if (json) {
30-
var className = this.rootClassName;
31-
if (!className) {
32-
className = "Sample";
33-
}
34-
35-
let files = this.getFiles(className, json, this.language);
36-
37-
38-
// var result = "";
39-
40-
// files.forEach(function(file) {
41-
// let fileString = file.toString();
42-
// result += fileString;
43-
// result += "\n\n";
44-
// });
30+
if (json) {
31+
var className = this.rootClassName;
32+
if (!className) {
33+
className = "Sample";
34+
}
4535

46-
return files;
36+
let files = this.getFiles(className, json, this.language);
37+
return files;
38+
}
39+
} catch (e) {
40+
throw e;
4741
}
4842

4943
return new Array();
@@ -73,10 +67,10 @@ FileBuilder.prototype.getFiles = function(fileName, object, language) {
7367
if (prevIndex < 0) {
7468
if (property.isCustomClass) {
7569
let file = _this.getFiles(property.propertyType, value, language);
76-
files = file;
70+
files = files.concat(file);
7771
} else if (property.isArray && property.elementTypeIsCustom) {
7872
let file = _this.getFiles(property.elementType, value, language);
79-
files = file;
73+
files = files.concat(file);
8074
}
8175

8276
properties.push(property);

script/script.js

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -93,8 +93,14 @@ function inputChanged() {
9393
}
9494

9595
function buildClasses(language) {
96-
let result = getAllClasses(language);
97-
showResult(result);
96+
try {
97+
let result = getAllClasses(language);
98+
showResult(result);
99+
$('#errorAlert').hide();
100+
} catch (e) {
101+
$('#errorAlert').text(e.message.replaceAll("JSON.parse: ",""));
102+
$('#errorAlert').show();
103+
}
98104
}
99105

100106
function getAllClasses(language) {
@@ -115,7 +121,11 @@ function getAllClasses(language) {
115121

116122
builder.methods = methods;
117123

118-
return builder.classes(input);
124+
try {
125+
return builder.classes(input);
126+
} catch (e) {
127+
throw e;
128+
}
119129
}
120130

121131
function showResult(classes) {

0 commit comments

Comments
 (0)