Press n or j to go to the next uncovered block, b, p or k for the previous block.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 | 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 24x 24x 18x 18x 24x 2x 2x 4x 4x 24x 24x 2x 2x 2x 24x 24x 1x 1x 1x 1x 1x | /** * @license Apache-2.0 * * Copyright (c) 2020 The Stdlib Authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ 'use strict'; // MODULES // var isUint8Array = require( '@stdlib/assert/is-uint8array' ); var isBuffer = require( '@stdlib/assert/is-buffer' ); // MAIN // /** * Tests if a value is a gzip buffer (or Uint8Array). * * @param {*} value - value to test * @returns {boolean} boolean indicating whether a value is a gzip buffer * * @example * var Uint8Array = require( '@stdlib/array/uint8' ); * * var buf = new Uint8Array( 20 ); * buf[ 0 ] = 31; // 0x1f => magic number * buf[ 1 ] = 139; // 0x8b * buf[ 2 ] = 8; // 0x08 => compression method * * var bool = isgzipBuffer( buf ); * // returns true * * @example * var Uint8Array = require( '@stdlib/array/uint8' ); * * var bool = isgzipBuffer( new Uint8Array( 20 ) ); * // returns false * * @example * var bool = isgzipBuffer( [] ); * // returns false */ function isgzipBuffer( value ) { if ( !isUint8Array( value ) && !isBuffer( value ) ) { return false; } if ( value.length < 19 ) { // 10-byte header + 8-byte footer + payload return false; } return ( // Check for expected magic number: value[ 0 ] === 0x1F && value[ 1 ] === 0x8B && // Check for expected compression method: value[ 2 ] === 0x08 ); } // EXPORTS // module.exports = isgzipBuffer; |