Code Monkey home page Code Monkey logo

json-display's Introduction

JSONDisplay

Installation

To install the package, use the command npm install json-display.

Usage

The function can either be imported with CommonJS, AMD or will be added to the window as JSONDisplay.

JSONDisplay(json, openLevels, styleOptions)

Arguments

json: A Javascript object, which will be transformed into the JSON-compliant HTML structure. If you have a JSON string, first parse it with JSON.parse, i.e. JSONDisplay(JSON.parse(jsonString))

openLevels: (optional) This is the amount of levels of the JSON structure that will be automatically opened when first rendering the object. 0 or less will cause the entire structure to begin closed. Null, anything not parsable as an integer, or simply not providing an argument will cause every level to begin open.

styleOptions: (optional) This is an object that provides overrides for the tags and styles used for the HTML structure, it will be deep merged into the default options so you do not have to provide all the options. See the source code to understand the structure you are adding the styles and tags into.

The default options are:

{
  root: { tag: 'pre', style: '' },
  title: { tag: 'span', style: 'display: block;' },
  titleText: { tag: 'span', style: '' },
  openButton: { 
    tag: 'span',
    style: 'display: inline-block; border-top: 5px solid transparent; ' +
           'border-bottom: 5px solid transparent; border-left: 5px solid black; ' +
           'margin-right: 2px;',
  },
  contentsContainer: { tag: 'div', style: 'padding-left: 10px;' },
  keyValuePair: { tag: 'span', style: 'display: block;' },
  key: { tag: 'span', style: 'color: darkblue;' },
  stringValue: { tag: 'span', style: 'color: darkred;' },
  numberValue: { tag: 'span', style: 'color: blue;' },
  booleanValue: { tag: 'span', style: 'color: blue;' },
  nullValue: { tag: 'span', style: 'color: blue;' },
  defaultValue: { tag: 'span', style: 'color: blue;' },
}

Return value

The return value is a HTMLElement structure

Contributing

The tests can be run with npm test. They will also provide you with information about the currently level of code coverage, in the coverage directory.

Please attempt to keep code coverage high, preferably above 95%, definitely above 90%. Though remember that simply having high code coverage does not necessarily mean that you have fully covered potential scenarios and possibilities for error.

For a number of reasons, it is preferable that this library stay ES5-compliant.

json-display's People

Contributors

granjow avatar lucygilbert avatar

Stargazers

 avatar

Watchers

 avatar  avatar

Forkers

granjow cuulee

json-display's Issues

Does not install without `git-validate`

This package can only be installed if you also install git-validate due to the postinstall script:

> [email protected] postinstall /data/workspace/mobile-escape/testarea/node_modules/json-display
> node install.js

module.js:529
    throw err;
    ^

Error: Cannot find module 'git-validate'

Also, I find it not so nice that it adds git hooks to MY git repository when I npm install it :D

Apart from this, it works really nicely.

Angular Directive

Hi,

Any chance you could look into creating an angular (2/4) directive where you supply the Json string as a parameter?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.