<commit_before>
                 
   CIRCULAR-JSON  
                 



ALTERNATIVES ==>                  #stringify-only(), replacing circular refs by placeholder:
                                  #  - isaacs json-stringify-safe: node.js only
                                  #  - debitoor safe-json-stringify (preferred): node.js only, handles toJSON(),
                                  #    replace ES5 getters that throw by placeholder
                                  #stringify()+parse():
                                  #  - webreflection circular-json (preferred):
                                  #    replaces circular refs by JSON-pointers-like (using ~ as delimiter instead of /)
                                  #  - circular-json-es6: node.js only,
                                  #    denormalize OBJ into an OBJ_ARR to handle circular refs, need ES6 map support

VERSION ==>                       #0.3.1
                                  #Browser (AMD) or Node.js

CIRCULARJSON.stringify(..., BOOL) #Like JSON.stringify(...) but replaces circular references by JSON-pointers-like,
                                  #where ~ is delimiter, e.g. ~ is root and ~a~b is root.a.b
                                  #If BOOL true, only replaces by "[Circular]" instead

CIRCULARJSON.parse(...)           #Like JSON.parse(...) but restores circular references.<commit_msg>no commit message<commit_after>
                 
   CIRCULAR-JSON  
                 



ALTERNATIVES ==>                  #stringify-only(), replacing circular refs by placeholder:
                                  #  - isaacs json-stringify-safe: node.js only
                                  #  - debitoor safe-json-stringify (preferred): node.js only, handles toJSON(),
                                  #    replace ES5 getters that throw by placeholder
                                  #stringify()+parse():
                                  #  - json-js-cycle (prefered):
                                  #    replaces circular refs by JSON paths
                                  #  - webreflection circular-json:
                                  #    replaces circular refs by JSON-pointers-like (using ~ as delimiter instead of /)
                                  #  - circular-json-es6: node.js only,
                                  #    denormalize OBJ into an OBJ_ARR to handle circular refs, need ES6 map support

VERSION ==>                       #0.3.1
                                  #Browser (AMD) or Node.js

CIRCULARJSON.stringify(..., BOOL) #Like JSON.stringify(...) but replaces circular references by JSON-pointers-like,
                                  #where ~ is delimiter, e.g. ~ is root and ~a~b is root.a.b
                                  #If BOOL true, only replaces by "[Circular]" instead

CIRCULARJSON.parse(...)           #Like JSON.parse(...) but restores circular references.
{'fraction_non_alphanumeric': 0.24978950322761717, 'fraction_numerical': 0.0033679483581251753, 'mean_word_length': 1.597667638483965, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 7, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 26, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '6002372', 'n_tokens_mistral': 2674, 'n_tokens_neox': 2622, 'n_words': 216}