Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit 8956a10

Browse files
Merge pull request #11 from SelectTransform/remove_json_override
Remove native JSON override and use ST object
2 parents 8ada471 + 63e6760 commit 8956a10

File tree

7 files changed

+63
-44
lines changed

7 files changed

+63
-44
lines changed

‎README.md‎

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ var data = {
3737
> Step 2. Find all key/value pairs that match a selector function
3838
3939
```js
40-
var sel = JSON.select(data, function(key, val) {
40+
var sel = ST.select(data, function(key, val) {
4141
return /https?:/.test(val);
4242
})
4343
```
@@ -98,7 +98,7 @@ var data = {
9898
> Step 2. Select and transform with a template JSON object
9999
100100
```js
101-
var sel = JSON.select(data, function(key, val){
101+
var sel = ST.select(data, function(key, val){
102102
return key === 'sites';
103103
})
104104
.transformWith({
@@ -167,7 +167,7 @@ var root = sel.root();
167167
```js
168168
<script src="st.js"></script>
169169
<script>
170-
var parsed = JSON.select({ "items": [1,2,3,4] })
170+
var parsed = ST.select({ "items": [1,2,3,4] })
171171
.transformWith({
172172
"{{#each items}}": {
173173
"type": "label", "text": "{{this}}"
@@ -188,9 +188,9 @@ $ npm install stjs
188188
> Use
189189
190190
```js
191-
require('st');
191+
constST=require('st');
192192

193-
var parsed = JSON.select({ "items": [1,2,3,4] })
193+
const parsed = ST.select({ "items": [1,2,3,4] })
194194
.transformWith({
195195
"{{#each items}}": {
196196
"type": "label", "text": "{{this}}"

‎package.json‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"name": "stjs",
3-
"version": "0.0.3",
4-
"description": "Select and Transform any object",
3+
"version": "0.0.4",
4+
"description": "JSON Template over JSON",
55
"main": "st.js",
66
"directories": {
77
"test": "test"

‎st.js‎

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -856,24 +856,26 @@
856856
return _stringify(val, replacer, spaces);
857857
}
858858
};
859-
JSON.select = SELECT.select;
860-
JSON.inject = SELECT.inject;
861-
JSON.transform = TRANSFORM.transform;
862859

863860
// Export
864861
if (typeof exports !== 'undefined') {
865862
var x = {
866863
TRANSFORM: TRANSFORM,
864+
transform: TRANSFORM,
867865
SELECT: SELECT,
868866
Conditional: Conditional,
869867
Helper: Helper,
868+
inject: SELECT.inject,
869+
select: SELECT.select,
870+
transform: TRANSFORM.transform,
870871
};
871872
if (typeof module !== 'undefined' && module.exports) { exports = module.exports = x; }
872873
exports = x;
873874
} else {
874875
$context.ST = {
875-
select: SELECT,
876-
transform: TRANSFORM,
876+
select: SELECT.select,
877+
inject: SELECT.inject,
878+
transform: TRANSFORM.transform,
877879
};
878880
}
879881
}());

‎test/integration/index.html‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020
};
2121

2222
// Create DOM using the generated Cell object
23-
var App = JSON.transform({
23+
var App = ST.transform({
2424
"$cell": true,
2525
"$components": {
2626
"{{#each items}}": {

‎test/integration/index.js‎

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
const ST = require("../../st")
2+
const result = ST.transform({
3+
"rows": {
4+
"{{#each items}}": {
5+
"row_number": "{{$index}}",
6+
"columns": {
7+
"{{#each this}}": {
8+
"content": "{{this}}",
9+
"column_number": "{{$index}}"
10+
}
11+
}
12+
}
13+
}
14+
}, {
15+
"items": [['a,','b','c','d','e'], [1,2,3,4,5]]
16+
});
17+
console.log(JSON.stringify(result, null, 2));

‎test/unit/select.js‎

Lines changed: 27 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
var assert = require('assert');
2-
var st = require('../../st.js');
2+
var ST = require('../../st.js');
33
var stringify = require('json-stable-stringify');
44
var compare = function(actual, expected){
55
assert.equal(stringify(actual), stringify(expected));
@@ -44,20 +44,20 @@ describe('SELECT object', function(){
4444
describe('root', function() {
4545
it('simple object', function(){
4646
var template = {"head": {"title": "hi"}, "body": {}};
47-
var actual = st.SELECT.select(template);
47+
var actual = ST.SELECT.select(template);
4848
compare(actual.values(), [{"title": "hi"}, {}]);
4949
compare(actual.root(), {"head": {"title": "hi"}, "body": {}});
5050
});
5151
it('nested object', function() {
52-
var selected = st.SELECT.select(data);
52+
var selected = ST.SELECT.select(data);
5353
compare(selected.objects(), [data]);
5454
compare(selected.keys(), ["items"]);
5555
compare(selected.values(), [data.items]);
5656
compare(selected.paths(), ["[\"items\"]"]);
5757
})
5858
describe('select root and parse', function() {
5959
it('parse', function() {
60-
var generated = st.SELECT.select(template).transform(data);
60+
var generated = ST.SELECT.select(template).transform(data);
6161
compare(generated.objects(), [[{
6262
"type": "image",
6363
"haschildren": false
@@ -83,7 +83,7 @@ describe('SELECT object', function(){
8383
}]);
8484
})
8585
it('transformWith', function() {
86-
var generated = st.SELECT.select(data).transformWith(template);
86+
var generated = ST.SELECT.select(data).transformWith(template);
8787
// same as above example
8888
compare(generated.objects(), [[{
8989
"type": "image",
@@ -132,7 +132,7 @@ describe('SELECT object', function(){
132132

133133
it('returns a selected formatted object', function(){
134134
var template = {"head": {"title": "hi"}, "body": {}};
135-
var actual = st.SELECT.select(template, function(item){
135+
var actual = ST.SELECT.select(template, function(item){
136136
return /tle/.test(item);
137137
});
138138
compare(actual.values(), ["hi"]);
@@ -143,7 +143,7 @@ describe('SELECT object', function(){
143143
});
144144
it('select by key', function() {
145145
console.log("#####################33 Data = ", data, "\n");
146-
var selected = st.SELECT.select(data, function(key, val) {
146+
var selected = ST.SELECT.select(data, function(key, val) {
147147
return key === 'url';
148148
});
149149
console.log("#selected root = ", selected.$selected_root);
@@ -165,7 +165,7 @@ describe('SELECT object', function(){
165165
*/
166166
})
167167
it('select by value', function() {
168-
var selected = st.SELECT.select(data, function(key, val) {
168+
var selected = ST.SELECT.select(data, function(key, val) {
169169
return /https?:/.test(val);
170170
});
171171
console.log("objects = ", selected.objects());
@@ -208,7 +208,7 @@ describe('SELECT object', function(){
208208
}]
209209
}]
210210
};
211-
var selectedData = st.SELECT.select(data, function(key, val) {
211+
var selectedData = ST.SELECT.select(data, function(key, val) {
212212
return key === 'type';
213213
}).objects();
214214
compare(selectedData, [{
@@ -247,7 +247,7 @@ describe('SELECT object', function(){
247247

248248

249249

250-
var selectedTemplate = st.SELECT.select(template, function(key, val) {
250+
var selectedTemplate = ST.SELECT.select(template, function(key, val) {
251251
return /#each/.test(key);
252252
});
253253
compare(selectedTemplate.objects(), [{
@@ -308,7 +308,7 @@ describe('SELECT object', function(){
308308
}]
309309
}]
310310
};
311-
var selected = st.SELECT.select(data, function(key, val) {
311+
var selected = ST.SELECT.select(data, function(key, val) {
312312
return /https?:/.test(val);
313313
});
314314
var generated = selected.transformWith(template2);
@@ -330,11 +330,11 @@ describe('SELECT object', function(){
330330
compare(generated.paths(), ["[\"items\"][0]", "[\"items\"][1][\"components\"][0]", "[\"items\"][1][\"components\"][1][\"components\"][1]"]);
331331
})
332332
it('twice', function() {
333-
var labelParsed = st.SELECT.select(data, function(key, val) {
333+
var labelParsed = ST.SELECT.select(data, function(key, val) {
334334
return val === 'label';
335335
}).transformWith(template3).root();
336336

337-
var generated = st.SELECT.select(labelParsed, function(key, val) {
337+
var generated = ST.SELECT.select(labelParsed, function(key, val) {
338338
return /https?:/.test(val)
339339
}).transformWith(template2);
340340
console.log("objects = ", generated.objects());
@@ -361,7 +361,7 @@ describe('SELECT object', function(){
361361
}
362362
}
363363
};
364-
var actual = st.SELECT.select(template, function(key){
364+
var actual = ST.SELECT.select(template, function(key){
365365
return key == 'head';
366366
});
367367
var expected = [{
@@ -416,7 +416,7 @@ describe('SELECT object', function(){
416416
}
417417
}
418418
};
419-
var actual = st.SELECT.select(template, function(key, value){
419+
var actual = ST.SELECT.select(template, function(key, value){
420420
return /#include/.test(key);
421421
});
422422
var expected = {
@@ -535,7 +535,7 @@ describe('SELECT object', function(){
535535
}
536536
}
537537
};
538-
var actual = st.SELECT.select(template, function(key, value){
538+
var actual = ST.SELECT.select(template, function(key, value){
539539
return /#include/.test(key);
540540
}).transform({}).root();
541541
var expected = {
@@ -595,7 +595,7 @@ describe('SELECT object', function(){
595595
}]
596596
}
597597
};
598-
var actual = st.SELECT.select(data, function(key, value){
598+
var actual = ST.SELECT.select(data, function(key, value){
599599
return /http:/.test(value);
600600
});
601601
var expected = {
@@ -650,7 +650,7 @@ describe('SELECT object', function(){
650650
}]
651651
}
652652
};
653-
var actual = st.SELECT.select(data, function(key, value){
653+
var actual = ST.SELECT.select(data, function(key, value){
654654
return key=='type' && value=='label';
655655
});
656656
var expected = {
@@ -715,7 +715,7 @@ describe('SELECT object', function(){
715715
"content": "Quack"
716716
}]
717717
};
718-
var actual = st.SELECT.select(template, function(key, value){
718+
var actual = ST.SELECT.select(template, function(key, value){
719719
return /#each/.test(key);
720720
}).transform(data).root();
721721
console.log("Actual = ", actual);
@@ -763,7 +763,7 @@ describe('SELECT object', function(){
763763
compare(actual, expected);
764764

765765
/*
766-
var actual2 = st.include(template, data);
766+
var actual2 = ST.include(template, data);
767767
compare(actual2, expected);
768768
*/
769769

@@ -790,7 +790,7 @@ describe('SELECT object', function(){
790790
}
791791
}
792792
};
793-
var actual = st.TRANSFORM.transform(template, data);
793+
var actual = ST.TRANSFORM.transform(template, data);
794794
var expected = {
795795
"{{#each $jason}}": {
796796
"type": "vertical",
@@ -823,7 +823,7 @@ describe('SELECT object', function(){
823823
}]
824824
};
825825
var expected = {"items": ["horizontal", "vertical"]};
826-
var actual = st.SELECT.select(template).transform(data).root();
826+
var actual = ST.SELECT.select(template).transform(data).root();
827827
compare(actual, expected);
828828
});
829829
it('selective parsing - only parse {{content}}', function(){
@@ -865,7 +865,7 @@ describe('SELECT object', function(){
865865
"content": "Quack"
866866
}]
867867
};
868-
var actual = st.SELECT.select(template, function(key, value){
868+
var actual = ST.SELECT.select(template, function(key, value){
869869
return /\$root/.test(value);
870870
}).transform(data).root();
871871

@@ -900,7 +900,7 @@ describe('SELECT object', function(){
900900
compare(actual, expected);
901901

902902
/*
903-
var actual2 = st.include(template, data);
903+
var actual2 = ST.include(template, data);
904904
compare(actual2, expected);
905905
*/
906906
})
@@ -924,7 +924,7 @@ describe('SELECT object', function(){
924924
}]
925925
}
926926
};
927-
var parsed = JSON.select(data, function(key, val) {
927+
var parsed = ST.select(data, function(key, val) {
928928
return key === 'url';
929929
}).transformWith({
930930
tag: "<a href='{{url}}'>{{text}}</a>"
@@ -948,7 +948,7 @@ describe('SELECT object', function(){
948948
}
949949
}
950950
};
951-
var selected = JSON.select(template, function(key, val) {
951+
var selected = ST.select(template, function(key, val) {
952952
return key === 'type';
953953
});
954954

@@ -983,7 +983,7 @@ describe('SELECT object', function(){
983983
metadata: "This is a link collection"
984984
};
985985

986-
var selection = JSON.select(data, function(key, val) {
986+
var selection = ST.select(data, function(key, val) {
987987
return /https?:/.test(val);
988988
})
989989

‎test/unit/transform/existential.js‎

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
var assert = require('assert');
2-
var st = require('../../../st.js');
2+
var ST = require('../../../st.js');
33
var stringify = require('json-stable-stringify');
44
var compare = function(actual, expected){
55
assert.equal(stringify(actual), stringify(expected));
@@ -15,7 +15,7 @@ describe('#?', function() {
1515
one: 1,
1616
two: 3
1717
}
18-
var actual = JSON.transform(template, data);
18+
var actual = ST.transform(template, data);
1919
var expected = {
2020
"test1": 1
2121
}
@@ -29,7 +29,7 @@ describe('#?', function() {
2929
var data = {
3030
test1: "1"
3131
}
32-
var actual = JSON.transform(template, data);
32+
var actual = ST.transform(template, data);
3333
var expected = {
3434
"test1": "1"
3535
}
@@ -53,7 +53,7 @@ describe('#?', function() {
5353
badge: "{{notification.invite}}"
5454
}]
5555
}
56-
var actual = JSON.transform(template, data);
56+
var actual = ST.transform(template, data);
5757
var expected = {
5858
tabs: [{
5959
text: "home",

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /