mochiscript 0.4.3.pre1 → 0.4.3.pre2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/lib/mochiscript/core.rb +23 -17
- data/lib/mochiscript.rb +1 -1
- data/vendor/assets/javascripts/mochiscript.js +8 -5
- metadata +5 -5
data/lib/mochiscript/core.rb
CHANGED
@@ -241,7 +241,7 @@ var JS2 = $m;
|
|
241
241
|
});
|
242
242
|
|
243
243
|
$m.out = function () {
|
244
|
-
for (
|
244
|
+
for (i=0,arg=null,_list_0=arguments,_len_0=_list_0.length;(arg=_list_0[i])||i<_len_0;i++){
|
245
245
|
$m.ADAPTER.out(arg);
|
246
246
|
if (i < arguments.length-1) {
|
247
247
|
$m.ADAPTER.out(',');
|
@@ -250,7 +250,7 @@ var JS2 = $m;
|
|
250
250
|
};
|
251
251
|
|
252
252
|
$m.outs = function () {
|
253
|
-
for (
|
253
|
+
for (_i_0=0,arg=null,_list_0=arguments,_len_0=_list_0.length;(arg=_list_0[_i_0])||_i_0<_len_0;_i_0++){
|
254
254
|
$m.ADAPTER.outs(arg);
|
255
255
|
}
|
256
256
|
};
|
@@ -269,7 +269,8 @@ $m.Class.extend("JSML", function(KLASS, OO){
|
|
269
269
|
this.root = new $c.JSMLElement();
|
270
270
|
this.stack = [ this.root ];
|
271
271
|
|
272
|
-
for (var
|
272
|
+
for (var i=0; i<lines.length; i++) {
|
273
|
+
var l = lines[i];
|
273
274
|
if (l.match(/^\s*$/)) continue;
|
274
275
|
this.processLine(l);
|
275
276
|
}
|
@@ -398,9 +399,11 @@ $m.Class.extend("JSMLElement", function(KLASS, OO){
|
|
398
399
|
OO.addMember("flatten", function(){
|
399
400
|
var out = [];
|
400
401
|
|
401
|
-
for (var
|
402
|
+
for (var i=0; i<this.children.length; i++) {
|
403
|
+
var c = this.children[i];
|
402
404
|
var arr = c.flatten();
|
403
|
-
for (var
|
405
|
+
for (var j=0; j<arr.length; j++) {
|
406
|
+
var item = arr[j];
|
404
407
|
out.push(item);
|
405
408
|
}
|
406
409
|
}
|
@@ -510,7 +513,7 @@ var REGEXES = [];
|
|
510
513
|
var MAIN_REGEX = null;
|
511
514
|
var RTYPES = {};
|
512
515
|
|
513
|
-
for (
|
516
|
+
for (i=0,t=null,_list_0=TOKENS,_len_0=_list_0.length;(t=_list_0[i])||i<_len_0;i++){
|
514
517
|
TYPES[t[0]] = i;
|
515
518
|
RTYPES[i] = t[0];
|
516
519
|
REGEXES.push("(" + t[1] + ")");
|
@@ -537,7 +540,7 @@ $m.Class.extend("Tokens", function(KLASS, OO){
|
|
537
540
|
var m = this.str.match(MAIN_REGEX);
|
538
541
|
if (!m) return null;
|
539
542
|
|
540
|
-
for (
|
543
|
+
for (i=0,ele=null,_list_0=TOKENS,_len_0=_list_0.length;(ele=_list_0[i])||i<_len_0;i++){
|
541
544
|
if (m[i+1]) return this._peek = [ i, m[i+1], ele[2] ];
|
542
545
|
}
|
543
546
|
});
|
@@ -611,7 +614,6 @@ $m.pp = function (str) {
|
|
611
614
|
};
|
612
615
|
|
613
616
|
|
614
|
-
|
615
617
|
$m.Class.extend("RootParser", function(KLASS, OO){
|
616
618
|
OO.addMember("handlers", {});
|
617
619
|
|
@@ -673,7 +675,8 @@ $m.Class.extend("RootParser", function(KLASS, OO){
|
|
673
675
|
|
674
676
|
OO.addMember("toString", function(){
|
675
677
|
var ret = [];
|
676
|
-
for (var
|
678
|
+
for (var i=0; i<this.out.length; i++) {
|
679
|
+
var ele = this.out[i];
|
677
680
|
ret.push(ele === undefined ? '' : ele.toString());
|
678
681
|
}
|
679
682
|
return ret.join("");
|
@@ -688,7 +691,7 @@ $m.Class.extend("RootParser", function(KLASS, OO){
|
|
688
691
|
|
689
692
|
var ret = [ space + (this._TYPE || 'NODE') ];
|
690
693
|
var generic = [];
|
691
|
-
for (
|
694
|
+
for (_i_0=0,ele=null,_list_0=this.out,_len_0=_list_0.length;(ele=_list_0[_i_0])||_i_0<_len_0;_i_0++){
|
692
695
|
if (ele === undefined) {
|
693
696
|
ret.push(space + " UNDEFINED!");
|
694
697
|
continue;
|
@@ -716,7 +719,7 @@ $m.Class.extend("RootParser", function(KLASS, OO){
|
|
716
719
|
|
717
720
|
OO.addMember("toStruct", function(){
|
718
721
|
var ret = [];
|
719
|
-
for (
|
722
|
+
for (_i_0=0,ele=null,_list_0=this.out,_len_0=_list_0.length;(ele=_list_0[_i_0])||_i_0<_len_0;_i_0++){
|
720
723
|
ret.push(ele.toStruct ? ele.toStruct() : ele);
|
721
724
|
}
|
722
725
|
return ret;
|
@@ -956,22 +959,25 @@ RootParser.extend("HereDocParser", function(KLASS, OO){
|
|
956
959
|
|
957
960
|
|
958
961
|
OO.addMember("parse", function(tokens){
|
959
|
-
var beginning
|
962
|
+
var beginning = tokens.match(/^<<(\w+)(?::(\w+))?\s*([;\)])*\n/);
|
963
|
+
var terminator = beginning[1];
|
964
|
+
|
960
965
|
tokens.consume(beginning[0].length);
|
961
966
|
|
962
|
-
var spacing
|
967
|
+
var spacing = tokens.match(/^(\s*)/);
|
963
968
|
var regexSub = new RegExp("^" + (spacing[0] || ''), "mg");
|
964
969
|
|
965
|
-
|
966
|
-
var strMatch = tokens.match(new RegExp("^([\\s\\S]*?)\\n\\s*" + beginning[1] + "\\s*\\n"));
|
970
|
+
var strMatch = tokens.match(new RegExp("^([\\s\\S]*?)\\n\\s*" + terminator + "\\b"));
|
967
971
|
var toParse = strMatch[1] || '';
|
968
972
|
|
969
973
|
toParse = toParse.replace(regexSub, '');
|
970
974
|
toParse = toParse.replace(/\n/g, "\\n");
|
971
975
|
|
972
|
-
|
976
|
+
// TODO handle options for interpolation
|
977
|
+
var string = '"' + toParse.replace(/"/g, '\\"') + '"';
|
973
978
|
tokens.consume(strMatch[0] ? strMatch[0].length : 0);
|
974
979
|
|
980
|
+
// TODO put this in register
|
975
981
|
if (beginning[2]) {
|
976
982
|
this.out = [ '$m.JSML.process(', string, ')', beginning[3] || ';' ];
|
977
983
|
} else {
|
@@ -1130,7 +1136,7 @@ $m.Class.extend("CLI", function(KLASS, OO){
|
|
1130
1136
|
|
1131
1137
|
var endedArgs = false;
|
1132
1138
|
|
1133
|
-
for (
|
1139
|
+
for (i=0,arg=null,_list_0=args,_len_0=_list_0.length;(arg=_list_0[i])||i<_len_0;i++){
|
1134
1140
|
if (endedArgs) {
|
1135
1141
|
files.push(arg);
|
1136
1142
|
}
|
data/lib/mochiscript.rb
CHANGED
@@ -204,7 +204,7 @@ window.$m = $m;
|
|
204
204
|
});
|
205
205
|
|
206
206
|
$m.out = function () {
|
207
|
-
for (
|
207
|
+
for (i=0,arg=null,_list_0=arguments,_len_0=_list_0.length;(arg=_list_0[i])||i<_len_0;i++){
|
208
208
|
$m.ADAPTER.out(arg);
|
209
209
|
if (i < arguments.length-1) {
|
210
210
|
$m.ADAPTER.out(',');
|
@@ -213,7 +213,7 @@ window.$m = $m;
|
|
213
213
|
};
|
214
214
|
|
215
215
|
$m.outs = function () {
|
216
|
-
for (
|
216
|
+
for (_i_0=0,arg=null,_list_0=arguments,_len_0=_list_0.length;(arg=_list_0[_i_0])||_i_0<_len_0;_i_0++){
|
217
217
|
$m.ADAPTER.outs(arg);
|
218
218
|
}
|
219
219
|
};
|
@@ -232,7 +232,8 @@ $m.Class.extend("JSML", function(KLASS, OO){
|
|
232
232
|
this.root = new $c.JSMLElement();
|
233
233
|
this.stack = [ this.root ];
|
234
234
|
|
235
|
-
for (var
|
235
|
+
for (var i=0; i<lines.length; i++) {
|
236
|
+
var l = lines[i];
|
236
237
|
if (l.match(/^\s*$/)) continue;
|
237
238
|
this.processLine(l);
|
238
239
|
}
|
@@ -361,9 +362,11 @@ $m.Class.extend("JSMLElement", function(KLASS, OO){
|
|
361
362
|
OO.addMember("flatten", function(){
|
362
363
|
var out = [];
|
363
364
|
|
364
|
-
for (var
|
365
|
+
for (var i=0; i<this.children.length; i++) {
|
366
|
+
var c = this.children[i];
|
365
367
|
var arr = c.flatten();
|
366
|
-
for (var
|
368
|
+
for (var j=0; j<arr.length; j++) {
|
369
|
+
var item = arr[j];
|
367
370
|
out.push(item);
|
368
371
|
}
|
369
372
|
}
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: mochiscript
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.4.3.
|
4
|
+
version: 0.4.3.pre2
|
5
5
|
prerelease: 6
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -13,7 +13,7 @@ date: 2011-11-14 00:00:00.000000000Z
|
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: therubyracer
|
16
|
-
requirement: &
|
16
|
+
requirement: &70119397417580 !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ! '>='
|
@@ -21,10 +21,10 @@ dependencies:
|
|
21
21
|
version: '0'
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
|
-
version_requirements: *
|
24
|
+
version_requirements: *70119397417580
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
26
|
name: json
|
27
|
-
requirement: &
|
27
|
+
requirement: &70119397416740 !ruby/object:Gem::Requirement
|
28
28
|
none: false
|
29
29
|
requirements:
|
30
30
|
- - ! '>='
|
@@ -32,7 +32,7 @@ dependencies:
|
|
32
32
|
version: '0'
|
33
33
|
type: :runtime
|
34
34
|
prerelease: false
|
35
|
-
version_requirements: *
|
35
|
+
version_requirements: *70119397416740
|
36
36
|
description: Javascript Dessert
|
37
37
|
email:
|
38
38
|
- me@jeffsu.com
|