| 
									
										
										
										
											2020-07-04 10:09:48 -07:00
										 |  |  | test("basic functionality", () => { | 
					
						
							| 
									
										
										
										
											2020-07-05 09:27:00 -07:00
										 |  |  |   let o = { | 
					
						
							|  |  |  |     var1: "foo", | 
					
						
							|  |  |  |     var2: 42, | 
					
						
							|  |  |  |     arr: [ | 
					
						
							|  |  |  |       1, | 
					
						
							|  |  |  |       2, | 
					
						
							|  |  |  |       { | 
					
						
							|  |  |  |         nested: { | 
					
						
							|  |  |  |           hello: "world", | 
					
						
							| 
									
										
										
										
											2020-06-10 11:01:00 -07:00
										 |  |  |         }, | 
					
						
							| 
									
										
										
										
											2020-07-05 09:27:00 -07:00
										 |  |  |         get x() { | 
					
						
							|  |  |  |           return 10; | 
					
						
							|  |  |  |         }, | 
					
						
							|  |  |  |       }, | 
					
						
							|  |  |  |     ], | 
					
						
							|  |  |  |     obj: { | 
					
						
							|  |  |  |       subarr: [3], | 
					
						
							|  |  |  |     }, | 
					
						
							|  |  |  |   }; | 
					
						
							| 
									
										
										
										
											2020-06-10 11:01:00 -07:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-07-05 09:27:00 -07:00
										 |  |  |   let string = JSON.stringify(o, (key, value) => { | 
					
						
							|  |  |  |     if (key === "hello") return undefined; | 
					
						
							|  |  |  |     if (value === 10) return 20; | 
					
						
							|  |  |  |     if (key === "subarr") return [3, 4, 5]; | 
					
						
							|  |  |  |     return value; | 
					
						
							|  |  |  |   }); | 
					
						
							| 
									
										
										
										
											2020-06-10 11:01:00 -07:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-07-05 09:27:00 -07:00
										 |  |  |   expect(string).toBe( | 
					
						
							|  |  |  |     '{"var1":"foo","var2":42,"arr":[1,2,{"nested":{},"x":20}],"obj":{"subarr":[3,4,5]}}' | 
					
						
							|  |  |  |   ); | 
					
						
							| 
									
										
										
										
											2020-06-10 11:01:00 -07:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-07-05 09:27:00 -07:00
										 |  |  |   string = JSON.stringify(o, ["var1", "var1", "var2", "obj"]); | 
					
						
							|  |  |  |   expect(string).toBe('{"var1":"foo","var2":42,"obj":{}}'); | 
					
						
							| 
									
										
										
										
											2020-06-10 11:01:00 -07:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-07-05 09:27:00 -07:00
										 |  |  |   string = JSON.stringify(o, ["var1", "var1", "var2", "obj", "subarr"]); | 
					
						
							|  |  |  |   expect(string).toBe('{"var1":"foo","var2":42,"obj":{"subarr":[3]}}'); | 
					
						
							| 
									
										
										
										
											2020-07-04 10:09:48 -07:00
										 |  |  | }); |