mirror of
https://github.com/Jermolene/TiddlyWiki5
synced 2025-02-01 19:59:09 +00:00
Add format:json operator
I've been finding this useful for debugging, and it kind of goes with the JSON operators
This commit is contained in:
parent
79b20bdaa8
commit
227079f3da
28
core/modules/filters/format/json.js
Normal file
28
core/modules/filters/format/json.js
Normal file
@ -0,0 +1,28 @@
|
|||||||
|
/*\
|
||||||
|
title: $:/core/modules/filters/format/json.js
|
||||||
|
type: application/javascript
|
||||||
|
module-type: formatfilteroperator
|
||||||
|
\*/
|
||||||
|
(function(){
|
||||||
|
|
||||||
|
/*jslint node: true, browser: true */
|
||||||
|
/*global $tw: false */
|
||||||
|
"use strict";
|
||||||
|
|
||||||
|
/*
|
||||||
|
Export our filter function
|
||||||
|
*/
|
||||||
|
exports.json = function(source,operand,options) {
|
||||||
|
var results = [],
|
||||||
|
spaces = null;
|
||||||
|
if(operand) {
|
||||||
|
spaces = /^\d+$/.test(operand) ? parseInt(operand,10) : operand;
|
||||||
|
}
|
||||||
|
source(function(tiddler,title) {
|
||||||
|
var data = $tw.utils.parseJSONSafe(title);
|
||||||
|
results.push(JSON.stringify(data,null,spaces));
|
||||||
|
});
|
||||||
|
return results;
|
||||||
|
};
|
||||||
|
|
||||||
|
})();
|
@ -3,7 +3,7 @@ title: test-json-filters.js
|
|||||||
type: application/javascript
|
type: application/javascript
|
||||||
tags: [[$:/tags/test-spec]]
|
tags: [[$:/tags/test-spec]]
|
||||||
|
|
||||||
Tests the JSON filters.
|
Tests the JSON filters and the format:json operator
|
||||||
|
|
||||||
\*/
|
\*/
|
||||||
(function(){
|
(function(){
|
||||||
@ -92,6 +92,12 @@ describe("json filter tests", function() {
|
|||||||
expect(wiki.filterTiddlers("[{First}jsontype[d],[f],[4]]")).toEqual(["null"]);
|
expect(wiki.filterTiddlers("[{First}jsontype[d],[f],[4]]")).toEqual(["null"]);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
it("should support the jsontype operator", function() {
|
||||||
|
expect(wiki.filterTiddlers("[{First}format:json[]]")).toEqual(["{\"a\":\"one\",\"b\":\"\",\"c\":1.618,\"d\":{\"e\":\"four\",\"f\":[\"five\",\"six\",true,false,null]}}"]);
|
||||||
|
expect(wiki.filterTiddlers("[{First}format:json[4]]")).toEqual(["{\n \"a\": \"one\",\n \"b\": \"\",\n \"c\": 1.618,\n \"d\": {\n \"e\": \"four\",\n \"f\": [\n \"five\",\n \"six\",\n true,\n false,\n null\n ]\n }\n}"]);
|
||||||
|
expect(wiki.filterTiddlers("[{First}format:json[ ]]")).toEqual(["{\n \"a\": \"one\",\n \"b\": \"\",\n \"c\": 1.618,\n \"d\": {\n \"e\": \"four\",\n \"f\": [\n \"five\",\n \"six\",\n true,\n false,\n null\n ]\n }\n}"]);
|
||||||
|
});
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
})();
|
})();
|
||||||
|
Loading…
Reference in New Issue
Block a user