summaryrefslogtreecommitdiffstats
path: root/vnfmarket/src/main/webapp/vnfmarket/node_modules/handlebars/print-script
diff options
context:
space:
mode:
Diffstat (limited to 'vnfmarket/src/main/webapp/vnfmarket/node_modules/handlebars/print-script')
-rw-r--r--vnfmarket/src/main/webapp/vnfmarket/node_modules/handlebars/print-script95
1 files changed, 95 insertions, 0 deletions
diff --git a/vnfmarket/src/main/webapp/vnfmarket/node_modules/handlebars/print-script b/vnfmarket/src/main/webapp/vnfmarket/node_modules/handlebars/print-script
new file mode 100644
index 00000000..046b99c1
--- /dev/null
+++ b/vnfmarket/src/main/webapp/vnfmarket/node_modules/handlebars/print-script
@@ -0,0 +1,95 @@
+#! /usr/bin/env node
+/* eslint-disable no-console, no-var */
+// Util script for debugging source code generation issues
+
+var script = process.argv[2].replace(/\\n/g, '\n'),
+ verbose = process.argv[3] === '-v';
+
+var Handlebars = require('./lib'),
+ SourceMap = require('source-map'),
+ SourceMapConsumer = SourceMap.SourceMapConsumer;
+
+var template = Handlebars.precompile(script, {
+ srcName: 'input.hbs',
+ destName: 'output.js',
+
+ assumeObjects: true,
+ compat: false,
+ strict: true,
+ trackIds: true,
+ knownHelpersOnly: false
+ });
+
+if (!verbose) {
+ console.log(template);
+} else {
+ var consumer = new SourceMapConsumer(template.map),
+ lines = template.code.split('\n'),
+ srcLines = script.split('\n');
+
+ console.log();
+ console.log('Source:');
+ srcLines.forEach(function(source, index) {
+ console.log(index + 1, source);
+ });
+ console.log();
+ console.log('Generated:');
+ console.log(template.code);
+ lines.forEach(function(source, index) {
+ console.log(index + 1, source);
+ });
+ console.log();
+ console.log('Map:');
+ console.log(template.map);
+ console.log();
+
+ function collectSource(lines, lineName, colName, order) {
+ var ret = {},
+ ordered = [],
+ last;
+
+ function collect(current) {
+ if (last) {
+ var mapLines = lines.slice(last[lineName] - 1, current && current[lineName]);
+ if (mapLines.length) {
+ if (current) {
+ mapLines[mapLines.length - 1] = mapLines[mapLines.length - 1].slice(0, current[colName]);
+ }
+ mapLines[0] = mapLines[0].slice(last[colName]);
+ }
+ ret[last[lineName] + ':' + last[colName]] = mapLines.join('\n');
+ ordered.push({
+ startLine: last[lineName],
+ startCol: last[colName],
+ endLine: current && current[lineName]
+ });
+ }
+ last = current;
+ }
+
+ consumer.eachMapping(collect, undefined, order);
+ collect();
+
+ return ret;
+ }
+
+ srcLines = collectSource(srcLines, 'originalLine', 'originalColumn', SourceMapConsumer.ORIGINAL_ORDER);
+ lines = collectSource(lines, 'generatedLine', 'generatedColumn');
+
+ consumer.eachMapping(function(mapping) {
+ var originalSrc = srcLines[mapping.originalLine + ':' + mapping.originalColumn],
+ generatedSrc = lines[mapping.generatedLine + ':' + mapping.generatedColumn];
+
+ if (!mapping.originalLine) {
+ console.log('generated', mapping.generatedLine + ':' + mapping.generatedColumn, generatedSrc);
+ } else {
+ console.log('map',
+ mapping.source,
+ mapping.originalLine + ':' + mapping.originalColumn,
+ originalSrc,
+ '->',
+ mapping.generatedLine + ':' + mapping.generatedColumn,
+ generatedSrc);
+ }
+ });
+}