Skip to content

Commit

Permalink
Merge pull request #379 from apiaryio/klokane/revert-sourcemaps
Browse files Browse the repository at this point in the history
Revert sourcemaps changes to avoid break Protagonist API
  • Loading branch information
w-vi committed Apr 4, 2016
2 parents 60823fd + 5367cf1 commit 5063816
Show file tree
Hide file tree
Showing 46 changed files with 784 additions and 463 deletions.
66 changes: 41 additions & 25 deletions src/ActionParser.h
Original file line number Diff line number Diff line change
Expand Up @@ -53,21 +53,26 @@ namespace snowcrash {
mdp::ByteBuffer remainingContent;
GetFirstLine(node->text, remainingContent);

if (!out.node.method.empty()) {
out.sourceMap.method.sourceMap = node->sourceMap;
}
if (pd.exportSourceMap()) {
if (!out.node.method.empty()) {
out.sourceMap.method.sourceMap = node->sourceMap;
}

if (!out.node.name.empty()) {
out.sourceMap.name.sourceMap = node->sourceMap;
}
if (!out.node.name.empty()) {
out.sourceMap.name.sourceMap = node->sourceMap;
}

if (!out.node.uriTemplate.empty()) {
out.sourceMap.uriTemplate.sourceMap = node->sourceMap;
if (!out.node.uriTemplate.empty()) {
out.sourceMap.uriTemplate.sourceMap = node->sourceMap;
}
}

if (!remainingContent.empty()) {
out.node.description += remainingContent;
out.sourceMap.description.sourceMap.append(node->sourceMap);

if (pd.exportSourceMap()) {
out.sourceMap.description.sourceMap.append(node->sourceMap);
}
}

return ++MarkdownNodeIterator(node);
Expand Down Expand Up @@ -109,13 +114,19 @@ namespace snowcrash {
SourceMap<TransactionExample> transactionSM;

out.node.examples.push_back(transaction);
out.sourceMap.examples.collection.push_back(transactionSM);

if (pd.exportSourceMap()) {
out.sourceMap.examples.collection.push_back(transactionSM);
}
}

checkPayload(sectionType, sourceMap, payload.node, out);

out.node.examples.back().requests.push_back(payload.node);
out.sourceMap.examples.collection.back().requests.collection.push_back(payload.sourceMap);

if (pd.exportSourceMap()) {
out.sourceMap.examples.collection.back().requests.collection.push_back(payload.sourceMap);
}

break;
}
Expand All @@ -132,13 +143,19 @@ namespace snowcrash {
SourceMap<TransactionExample> transactionSM;

out.node.examples.push_back(transaction);
out.sourceMap.examples.collection.push_back(transactionSM);

if (pd.exportSourceMap()) {
out.sourceMap.examples.collection.push_back(transactionSM);
}
}

checkPayload(sectionType, sourceMap, payload.node, out);

out.node.examples.back().responses.push_back(payload.node);
out.sourceMap.examples.collection.back().responses.collection.push_back(payload.sourceMap);

if (pd.exportSourceMap()) {
out.sourceMap.examples.collection.back().responses.collection.push_back(payload.sourceMap);
}

break;
}
Expand Down Expand Up @@ -187,7 +204,7 @@ namespace snowcrash {

mdp::ByteBuffer content = CodeBlockUtility::addDanglingAsset(node, pd, sectionType, out.report, out.node.examples.back().responses.back().body);

if (!content.empty()) {
if (pd.exportSourceMap() && !content.empty()) {
out.sourceMap.examples.collection.back().responses.collection.back().body.sourceMap.append(node->sourceMap);
}

Expand All @@ -203,7 +220,7 @@ namespace snowcrash {

mdp::ByteBuffer content = CodeBlockUtility::addDanglingAsset(node, pd, sectionType, out.report, out.node.examples.back().requests.back().body);

if (!content.empty()) {
if (pd.exportSourceMap() && !content.empty()) {
out.sourceMap.examples.collection.back().requests.collection.back().body.sourceMap.append(node->sourceMap);
}

Expand Down Expand Up @@ -314,9 +331,11 @@ namespace snowcrash {
if (!out.node.headers.empty()) {

SectionProcessor<Headers>::injectDeprecatedHeaders(pd, out.node.headers, out.sourceMap.headers, out.node.examples, out.sourceMap.examples);

out.node.headers.clear();
out.sourceMap.headers.collection.clear();

if (pd.exportSourceMap()) {
out.sourceMap.headers.collection.clear();
}
}

if (out.node.examples.empty()) {
Expand All @@ -326,10 +345,9 @@ namespace snowcrash {
out.report.warnings.push_back(Warning("action is missing a response",
EmptyDefinitionWarning,
sourceMap));
}
else if (!out.node.examples.empty() &&
!out.node.examples.back().requests.empty() &&
out.node.examples.back().responses.empty()) {
} else if (!out.node.examples.empty() &&
!out.node.examples.back().requests.empty() &&
out.node.examples.back().responses.empty()) {

// WARN: No response for request
std::stringstream ss;
Expand Down Expand Up @@ -421,8 +439,7 @@ namespace snowcrash {

RequestIterator duplicate = SectionProcessor<Payload>::findRequest(example, payload);
return duplicate != example.requests.end();
}
else if (sectionType == ResponseSectionType) {
} else if (sectionType == ResponseSectionType) {

ResponseIterator duplicate = SectionProcessor<Payload>::findResponse(example, payload);
return duplicate != example.responses.end();
Expand Down Expand Up @@ -493,8 +510,7 @@ namespace snowcrash {

if (RegexCapture(subject, ActionHeaderRegex, captureGroups, 3)) {
method = captureGroups[1];
}
else if (RegexCapture(subject, NamedActionHeaderRegex, captureGroups, 4)) {
} else if (RegexCapture(subject, NamedActionHeaderRegex, captureGroups, 4)) {
name = captureGroups[1];
method = captureGroups[2];
uriTemplate = captureGroups[3];
Expand Down
9 changes: 5 additions & 4 deletions src/AssetParser.h
Original file line number Diff line number Diff line change
Expand Up @@ -42,10 +42,10 @@ namespace snowcrash {
SectionLayout& layout,
const ParseResultRef<Asset>& out) {

out.node.clear();
out.node = "";
CodeBlockUtility::signatureContentAsCodeBlock(node, pd, out.report, out.node);

if (!out.node.empty()) {
if (pd.exportSourceMap() && !out.node.empty()) {
out.sourceMap.sourceMap.append(node->sourceMap);
}

Expand All @@ -62,8 +62,9 @@ namespace snowcrash {
mdp::ByteBuffer content;
CodeBlockUtility::contentAsCodeBlock(node, pd, out.report, content);

if (!content.empty()) {
out.node += content;
out.node += content;

if (pd.exportSourceMap() && !content.empty()) {
out.sourceMap.sourceMap.append(node->sourceMap);
}

Expand Down
7 changes: 5 additions & 2 deletions src/AttributesParser.h
Original file line number Diff line number Diff line change
Expand Up @@ -46,8 +46,11 @@ namespace snowcrash {

mson::parseTypeDefinition(node, pd, signature.attributes, out.report, out.node.typeDefinition);

if (!out.node.typeDefinition.empty()) {
out.sourceMap.typeDefinition.sourceMap = node->sourceMap;
if (pd.exportSourceMap()) {

if (!out.node.typeDefinition.empty()) {
out.sourceMap.typeDefinition.sourceMap = node->sourceMap;
}
}

// Default to `object` type specification
Expand Down

0 comments on commit 5063816

Please sign in to comment.