Skip to content

Commit

Permalink
Addressing issues with handling XML comments
Browse files Browse the repository at this point in the history
  • Loading branch information
bstewartlg committed Aug 1, 2023
1 parent 23ee57d commit 31dc0cf
Show file tree
Hide file tree
Showing 11 changed files with 155 additions and 31 deletions.
1 change: 1 addition & 0 deletions .gitignore
Expand Up @@ -26,6 +26,7 @@ build/Release
# https://www.npmjs.org/doc/misc/npm-faq.html#should-i-check-my-node_modules-folder-into-git
node_modules
.idea/
.vscode/
*.xpr
gh-pages/
/.nyc_output/
25 changes: 18 additions & 7 deletions convertToJs.js

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion convertToJs.js.map

Large diffs are not rendered by default.

29 changes: 22 additions & 7 deletions convertToJs.ts
Expand Up @@ -341,11 +341,26 @@ export class ConvertToJs {
}
break;
case 'Resource':
if (value.elements.length === 1) {

if (value.elements && value.elements.length > 0) {

const elementIndex = value.elements.findIndex(e => e.type === 'element');
const newJS = this.resourceToJS(value.elements[elementIndex], surroundDecimalsWith);

if (value.elements.length > 1) {
const comments = value.elements.filter(e => e.type === 'comment');
if (comments && comments.length > 0) {
if (!newJS['fhir_comments']) {
newJS['fhir_comments'] = [];
}
newJS['fhir_comments'].push(... comments.map(e => e.comment));
}
}

if (obj[property._name] instanceof Array) {
obj[property._name].push(this.resourceToJS(value.elements[0], surroundDecimalsWith))
obj[property._name].push(newJS)
} else {
obj[property._name] = this.resourceToJS(value.elements[0], surroundDecimalsWith);
obj[property._name] = newJS;
}
}
break;
Expand Down Expand Up @@ -449,12 +464,12 @@ export class ConvertToJs {
if (!obj[extraPropertyName][i]) {
obj[extraPropertyName][i] = {};
}
obj[extraPropertyName][i].fhir_comments = xmlCommentElements.reverse().map(c => c.comment.trim());
obj[extraPropertyName][i].fhir_comments = xmlCommentElements.reverse().map(c => c.comment);
} else {
if (!obj[extraPropertyName]) {
obj[extraPropertyName] = {};
}
obj[extraPropertyName].fhir_comments = xmlCommentElements.reverse().map(c => c.comment.trim());
obj[extraPropertyName].fhir_comments = xmlCommentElements.reverse().map(c => c.comment);
}
} else {
if (property._multiple) {
Expand All @@ -464,12 +479,12 @@ export class ConvertToJs {
if (!obj[property._name][i]) {
obj[property._name][i] = {};
}
obj[property._name][i].fhir_comments = xmlCommentElements.reverse().map(c => c.comment.trim());
obj[property._name][i].fhir_comments = xmlCommentElements.reverse().map(c => c.comment);
} else {
if (!obj[property._name]) {
obj[property._name] = {};
}
obj[property._name].fhir_comments = xmlCommentElements.reverse().map(c => c.comment.trim());
obj[property._name].fhir_comments = xmlCommentElements.reverse().map(c => c.comment);
}
}
}
Expand Down
10 changes: 7 additions & 3 deletions convertToXml.js

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

0 comments on commit 31dc0cf

Please sign in to comment.