Comparing version 0.3.1 to 0.3.2
@@ -180,11 +180,11 @@ (function() { | ||
var self = this; | ||
var parametersStrategy, parameters, bodyScope; | ||
var parametersStrategy, definedParameters, bodyScope; | ||
parametersStrategy = self.parametersStrategy(); | ||
self.rewriteResultTermToReturn(); | ||
buffer.write("function("); | ||
parameters = parametersStrategy.namedParameters(); | ||
definedParameters = parametersStrategy.definedParameters(); | ||
parametersStrategy.generateJavaScriptParameters(buffer, scope); | ||
buffer.write("){"); | ||
bodyScope = scope.subScope(); | ||
self.declareParameters(bodyScope, parameters); | ||
self.declareParameters(bodyScope, definedParameters); | ||
self.generateSelfAssignment(buffer); | ||
@@ -191,0 +191,0 @@ parametersStrategy.generateJavaScriptParameterStatements(buffer, scope, terms.variable([ "arguments" ])); |
@@ -15,3 +15,3 @@ (function() { | ||
var self = this; | ||
return codegenUtils.writeToBufferWithDelimiter(self.strategy.namedParameters(), ",", buffer, scope); | ||
return codegenUtils.writeToBufferWithDelimiter(self.strategy.functionParameters(), ",", buffer, scope); | ||
}, | ||
@@ -22,5 +22,9 @@ generateJavaScriptParameterStatements: function(buffer, scope, args) { | ||
}, | ||
namedParameters: function() { | ||
functionParameters: function() { | ||
var self = this; | ||
return strategy.namedParameters(); | ||
return strategy.functionParameters(); | ||
}, | ||
definedParameters: function() { | ||
var self = this; | ||
return strategy.definedParameters(); | ||
} | ||
@@ -33,3 +37,3 @@ }; | ||
parameters: parameters, | ||
namedParameters: function() { | ||
functionParameters: function() { | ||
var self = this; | ||
@@ -41,2 +45,6 @@ return self.parameters; | ||
return void 0; | ||
}, | ||
definedParameters: function() { | ||
var self = this; | ||
return self.parameters; | ||
} | ||
@@ -55,6 +63,10 @@ }; | ||
after: after, | ||
namedParameters: function() { | ||
functionParameters: function() { | ||
var self = this; | ||
return self.before; | ||
}, | ||
definedParameters: function() { | ||
var self = this; | ||
return self.before.concat([ self.splat ]).concat(self.after); | ||
}, | ||
generateJavaScriptParameterStatements: function(buffer, scope, args) { | ||
@@ -105,9 +117,23 @@ var self = this; | ||
optionsVariable: terms.generatedVariable([ "options" ]), | ||
namedParameters: function() { | ||
functionParameters: function() { | ||
var self = this; | ||
return self.before.concat([ self.optionsVariable ]); | ||
}, | ||
definedParameters: function() { | ||
var self = this; | ||
return before.concat(function() { | ||
var gen3_results, gen4_items, gen5_i, option, param; | ||
gen3_results = []; | ||
gen4_items = self.options; | ||
for (gen5_i = 0; gen5_i < gen4_items.length; ++gen5_i) { | ||
option = gen4_items[gen5_i]; | ||
param = terms.variable(option.field); | ||
gen3_results.push(param); | ||
} | ||
return gen3_results; | ||
}()); | ||
}, | ||
generateJavaScriptParameterStatements: function(buffer, scope, args) { | ||
var self = this; | ||
var optionNames, gen3_items, gen4_i, option, optionName; | ||
var optionNames, gen6_items, gen7_i, option, optionName; | ||
optionNames = _.map(self.options, function(option) { | ||
@@ -119,5 +145,5 @@ return codegenUtils.concatName(option.field); | ||
buffer.write(";"); | ||
gen3_items = self.options; | ||
for (gen4_i = 0; gen4_i < gen3_items.length; ++gen4_i) { | ||
option = gen3_items[gen4_i]; | ||
gen6_items = self.options; | ||
for (gen7_i = 0; gen7_i < gen6_items.length; ++gen7_i) { | ||
option = gen6_items[gen7_i]; | ||
optionName = codegenUtils.concatName(option.field); | ||
@@ -144,9 +170,13 @@ buffer.write(optionName + "="); | ||
strategy: strategy, | ||
namedParameters: function() { | ||
functionParameters: function() { | ||
var self = this; | ||
return self.strategy.namedParameters().concat(terms.callbackFunction); | ||
return self.strategy.functionParameters().concat(terms.callbackFunction); | ||
}, | ||
definedParameters: function() { | ||
var self = this; | ||
return strategy.definedParameters().concat([ terms.callbackFunction ]); | ||
}, | ||
generateJavaScriptParameterStatements: function(buffer, scope, args) { | ||
var self = this; | ||
var innerArgs, namedParameters, n, namedParam; | ||
var innerArgs, functionParameters, n, namedParam; | ||
innerArgs = terms.generatedVariable([ "arguments" ]); | ||
@@ -169,5 +199,5 @@ buffer.write("var "); | ||
buffer.write(" instanceof Function)){throw new Error('asynchronous function called synchronously');}"); | ||
namedParameters = self.strategy.namedParameters(); | ||
for (n = 0; n < namedParameters.length; ++n) { | ||
namedParam = self.strategy.namedParameters()[n]; | ||
functionParameters = self.strategy.functionParameters(); | ||
for (n = 0; n < functionParameters.length; ++n) { | ||
namedParam = self.strategy.functionParameters()[n]; | ||
namedParam.generateJavaScript(buffer, scope); | ||
@@ -174,0 +204,0 @@ buffer.write("="); |
@@ -12,3 +12,5 @@ (function() { | ||
} | ||
return v.split("."); | ||
return _.map(v.split("."), function(n) { | ||
return parseInt(n); | ||
}); | ||
}; | ||
@@ -15,0 +17,0 @@ compare = function(v1, v2) { |
{ | ||
"name": "pogo", | ||
"version": "0.3.1", | ||
"version": "0.3.2", | ||
"description": "A readable, DSL friendly programming language that compiles to JavaScript", | ||
@@ -5,0 +5,0 @@ "maintainers": [ |
@@ -186,6 +186,6 @@ # Whaa? | ||
content = '' | ||
for each @(item) in (items) | ||
content = content + render (item) | ||
content := content + render (item) | ||
content | ||
@@ -192,0 +192,0 @@ else |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
6297
411478
172