UNPKG

jsonbinpack

Version:

A space-efficient schema-driven binary JSON serialization format based on JSON Schema

252 lines (230 loc) 10.9 kB
--- layout: base title: JSON Stats permalink: /stats/ --- {% include navigation.html %} <!-- This example requires Tailwind CSS v2.0+ --> <div class="fixed z-10 inset-0 overflow-y-auto error-modal hidden"> <div class="flex items-end justify-center min-h-screen pt-4 px-4 pb-20 text-center sm:block sm:p-0"> <div class="error-modal hidden fixed inset-0 transition-opacity" aria-hidden="true"> <div class="absolute inset-0 bg-gray-500 opacity-75"></div> </div> <span class="hidden sm:inline-block sm:align-middle sm:h-screen" aria-hidden="true">&#8203;</span> <div class="error-modal hidden inline-block align-bottom bg-white rounded-lg text-left overflow-hidden shadow-xl transform transition-all sm:my-8 sm:align-middle sm:max-w-lg sm:w-full" role="dialog" aria-modal="true" aria-labelledby="modal-headline"> <div class="bg-white px-4 pt-5 pb-4 sm:p-6 sm:pb-4"> <div class="sm:flex sm:items-start"> <div class="mx-auto flex-shrink-0 flex items-center justify-center h-12 w-12 rounded-full bg-red-100 sm:mx-0 sm:h-10 sm:w-10"> <!-- Heroicon name: outline/exclamation --> <svg class="h-6 w-6 text-red-600" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor" aria-hidden="true"> <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M12 9v2m0 4h.01m-6.938 4h13.856c1.54 0 2.502-1.667 1.732-3L13.732 4c-.77-1.333-2.694-1.333-3.464 0L3.34 16c-.77 1.333.192 3 1.732 3z" /> </svg> </div> <div class="mt-3 text-center sm:mt-0 sm:ml-4 sm:text-left"> <h3 class="text-lg leading-6 font-medium text-gray-900" id="modal-headline"> Invalid input! </h3> <div class="mt-2"> <p class="text-sm text-gray-500"> The text that you entered does not represent a valid JSON document. </p> </div> </div> </div> </div> <div class="bg-gray-50 px-4 py-3 sm:px-6 sm:flex sm:flex-row-reverse"> <button id="close-modal" type="button" class="w-full inline-flex justify-center rounded-md border border-transparent shadow-sm px-4 py-2 bg-red-600 text-base font-medium text-white hover:bg-red-700 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-red-500 sm:ml-3 sm:w-auto sm:text-sm"> Go Back </button> </div> </div> </div> </div> <div class="flex flex-col md:flex-row"> <div id="editor" class="flex-initial md:w-1/2"></div> <div class="flex-initial md:w-1/2 border-l"> <div class="px-4 py-5 sm:px-6 border-b bg-gray-50 border-t"> <h3 class="text-lg leading-6 font-medium text-gray-900">Taxonomy</h3> </div> <div id="qualifiers" class="px-5 py-3 text-gray-500"></div> <div class="px-4 py-5 sm:px-6 border-t border-b bg-gray-50"> <h3 class="text-lg leading-6 font-medium text-gray-900">Summary</h3> </div> <table class="min-w-full divide-y divide-gray-200"> <tbody class="bg-white divide-y divide-gray-200"> <tr class="bg-gray-50"> <th scope="col" class="px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider"> Document Byte-Size </th> <th scope="col" class="px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider"> Keys Redundancy </th> <th scope="col" class="px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider"> Values Redundancy </th> <th scope="col" class="px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider"> Nesting Weight </th> </tr> <tr> <td class="px-6 py-4 whitespace-nowrap"> <div id="summary-size" class="text-sm text-gray-500"></div> </td> <td class="px-6 py-4 whitespace-nowrap"> <div id="summary-keys-redundancy" class="text-sm text-gray-500"></div> </td> <td class="px-6 py-4 whitespace-nowrap"> <div id="summary-values-redundancy" class="text-sm text-gray-500"></div> </td> <td class="px-6 py-4 whitespace-nowrap"> <div id="summary-nesting-weight" class="text-sm text-gray-500"></div> </td> </tr> <tr class="bg-gray-50"> <th scope="col" class="px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider"> Numeric Weight </th> <th scope="col" class="px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider"> Textual Weight </th> <th scope="col" class="px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider"> Boolean Weight </th> <th scope="col" class="px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider"> Structural Weight </th> </tr> <tr> <td class="px-6 py-4 whitespace-nowrap"> <div id="summary-numeric-weight" class="text-sm text-gray-500"></div> </td> <td class="px-6 py-4 whitespace-nowrap"> <div id="summary-textual-weight" class="text-sm text-gray-500"></div> </td> <td class="px-6 py-4 whitespace-nowrap"> <div id="summary-boolean-weight" class="text-sm text-gray-500"></div> </td> <td class="px-6 py-4 whitespace-nowrap"> <div id="summary-structural-weight" class="text-sm text-gray-500"></div> </td> </tr> </tbody> </table> <div class="px-4 py-5 sm:px-6 border-t border-b bg-gray-50"> <h3 class="text-lg leading-6 font-medium text-gray-900">Full Analysis</h3> </div> <table class="min-w-full divide-y divide-gray-200"> <tbody class="bg-white divide-y divide-gray-200"> <tr class="bg-gray-50"> <th scope="col" class="px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider"> Document Byte-size </th> <th scope="col" class="px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider"> Duplicated Keys </th> <th scope="col" class="px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider"> Duplicated Values </th> </tr> <tr> <td class="px-6 py-4 whitespace-nowrap"> <div id="analyze-bytesize" class="text-sm text-gray-500"></div> </td> <td class="px-6 py-4 whitespace-nowrap"> <div id="analyze-duplicated-keys" class="text-sm text-gray-500"></div> </td> <td class="px-6 py-4 whitespace-nowrap"> <div id="analyze-duplicated-values" class="text-sm text-gray-500"></div> </td> </tr> <tr class="bg-gray-50"> <th scope="col" class="px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider"> </th> <th scope="col" class="px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider"> Maximum Nesting Level </th> <th scope="col" class="px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider"> Largest Level </th> </tr> <tr> <td class="px-6 py-4 whitespace-nowrap"> <div class="text-sm text-gray-900">Structure</div> </td> <td class="px-6 py-4 whitespace-nowrap"> <div id="analyze-height" class="text-sm text-gray-500"></div> </td> <td class="px-6 py-4 whitespace-nowrap"> <div id="analyze-largest-level" class="text-sm text-gray-500"></div> </td> </tr> <tr class="bg-gray-50"> <th scope="col" class="px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider"> </th> <th scope="col" class="px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider"> Count </th> <th scope="col" class="px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider"> Byte-size </th> </tr> <tr> <td class="px-6 py-4 whitespace-nowrap"> <div class="text-sm text-gray-900">Keys</div> </td> <td class="px-6 py-4 whitespace-nowrap"> <div id="analyze-keys-count" class="text-sm text-gray-500"></div> </td> <td class="px-6 py-4 whitespace-nowrap"> <div id="analyze-keys-bytesize" class="text-sm text-gray-500"></div> </td> </tr> <tr> <td class="px-6 py-4 whitespace-nowrap"> <div class="text-sm text-gray-900">Numeric Values</div> </td> <td class="px-6 py-4 whitespace-nowrap"> <div id="analyze-values-numeric-count" class="text-sm text-gray-500"></div> </td> <td class="px-6 py-4 whitespace-nowrap"> <div id="analyze-values-numeric-bytesize" class="text-sm text-gray-500"></div> </td> </tr> <tr> <td class="px-6 py-4 whitespace-nowrap"> <div class="text-sm text-gray-900">Textual Values</div> </td> <td class="px-6 py-4 whitespace-nowrap"> <div id="analyze-values-textual-count" class="text-sm text-gray-500"></div> </td> <td class="px-6 py-4 whitespace-nowrap"> <div id="analyze-values-textual-bytesize" class="text-sm text-gray-500"></div> </td> </tr> <tr> <td class="px-6 py-4 whitespace-nowrap"> <div class="text-sm text-gray-900">Boolean Values</div> </td> <td class="px-6 py-4 whitespace-nowrap"> <div id="analyze-values-boolean-count" class="text-sm text-gray-500"></div> </td> <td class="px-6 py-4 whitespace-nowrap"> <div id="analyze-values-boolean-bytesize" class="text-sm text-gray-500"></div> </td> </tr> <tr> <td class="px-6 py-4 whitespace-nowrap"> <div class="text-sm text-gray-900">Structural Values</div> </td> <td class="px-6 py-4 whitespace-nowrap"> <div id="analyze-values-structural-count" class="text-sm text-gray-500"></div> </td> <td class="px-6 py-4 whitespace-nowrap"> <div id="analyze-values-structural-bytesize" class="text-sm text-gray-500"></div> </td> </tr> </tbody> </table> </div> </div> <script src="/assets/js/stats.min.js"></script>