Socket
Book a DemoInstallSign in
Socket

gltf-validator

Package Overview
Dependencies
Maintainers
2
Versions
29
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

gltf-validator

Library for validating glTF 2.0 assets, compiled from Dart to JS.

latest
Source
npmnpm
Version
2.0.0-dev.3.10
Version published
Weekly downloads
18K
12.82%
Maintainers
2
Weekly downloads
 
Created
Source

gltf-validator

This is an npm package for the official glTF Validator compiled from Dart to JS.

Installation

npm install --save gltf-validator

Examples

Basic usage (Node.js)

const fs = require('fs');
const validator = require('gltf-validator');

const asset = fs.readFileSync('./Box.gltf');

validator.validateBytes(new Uint8Array(asset))
    .then((report) => console.info('Validation succeeded: ', report))
    .catch((error) => console.error('Validation failed: ', error));

Basic usage (Browser)

const validator = require('gltf-validator');

fetch('Box.gltf')
    .then((response) => response.arrayBuffer())
    .then((asset) => validator.validateBytes(new Uint8Array(asset)))
    .then((report) => console.info('Validation succeeded: ', report))
    .catch((error) => console.error('Validation failed: ', error));

Full usage

const fs = require("fs");
const path = require("path");
const validator = require('gltf-validator');

const filename = 'Box.gltf';
const fullpath = __dirname + '/' + filename;
const asset = fs.readFileSync(fullpath);

validator.validateBytes(new Uint8Array(asset), {
    uri: filename,
    format: 'gltf', // skip auto-detection and parse the input as glTF JSON
    maxIssues: 10, // limit max number of output issues to 10
    ignoredIssues: ['UNSUPPORTED_EXTENSION'], // mute UNSUPPORTED_EXTENSION issue
    onlyIssues: ['ACCESSOR_INVALID_FLOAT'], // only consider ACCESSOR_INVALID_FLOAT an issue. Cannot be used along with ignoredIssues.
    severityOverrides: { 'ACCESSOR_INDEX_TRIANGLE_DEGENERATE': 0 }, // treat degenerate triangles as errors
    externalResourceFunction: (uri) =>
        new Promise((resolve, reject) => {
            uri = path.resolve(path.dirname(fullpath), decodeURIComponent(uri));
            console.info("Loading external file: " + uri);
            fs.readFile(uri, (err, data) => {
                if (err) {
                    console.error(err.toString());
                    reject(err.toString());
                    return;
                }
                resolve(data);
            });
        })
}).then((result) => {
    // [result] will contain validation report in object form.
    // You can convert it to JSON to see its internal structure. 
    console.log(JSON.stringify(result, null, '  '));
}, (result) => {
    // Promise rejection means that arguments were invalid or validator was unable 
    // to detect file format (glTF or GLB). 
    // [result] will contain exception string.
    console.error(result);
});

API

Table of Contents

version

Returns a version string.

Returns string

supportedExtensions

Returns an array of supported extensions names.

Returns Array<string>

validateBytes

Validates an asset from bytes.

Parameters

Returns Promise Promise with validation result in object form.

validateString

Validates an asset from JSON string.

Parameters

Returns Promise Promise with validation result in object form.

ValidationOptions

Type: Object

Properties

  • uri string Absolute or relative asset URI that will be copied to validation report.
  • format string Set to glb or gltf to skip auto-detection of the asset format based on the first byte; any other value will be ignored. This option has no effect on validateString.
  • externalResourceFunction ExternalResourceFunction Function for loading external resources. If omitted, external resources are not validated.
  • writeTimestamp boolean Set to false to omit timestamp from the validation report. Default is true.
  • maxIssues number Max number of reported issues. Use 0 for unlimited output.
  • ignoredIssues Array<string> Array of ignored issue codes.
  • onlyIssues Array<string> Array of only issues to consider. Cannot be used along with ignoredIssues.
  • severityOverrides Object Object with overridden severities for issue codes.

ExternalResourceFunction

Type: Function

Parameters

  • uri string Relative URI of the external resource.

Returns Promise Promise with Uint8Array data.

Keywords

gltf

FAQs

Package last updated on 22 Oct 2024

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts