Package Exports
- gltf-validator
- gltf-validator/index.js
- gltf-validator/module.mjs
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (gltf-validator) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
gltf-validator
This is an npm package for the official glTF Validator compiled from Dart to JS.
Installation
npm install --save gltf-validatorExamples
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,
maxIssues: 10, // limit max number of output issues to 10
ignoredIssues: ['UNSUPPORTED_EXTENSION'], // mute UNSUPPORTED_EXTENSION issue
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.
validateBytes
Validates an asset from bytes.
Parameters
dataUint8Array Byte array containing glTF or GLB data.optionsValidationOptions Object with validation options.
Returns Promise Promise with validation result in object form.
validateString
Validates an asset from JSON string.
Parameters
jsonstring String containing glTF JSON.optionsValidationOptions Object with validation options.
Returns Promise Promise with validation result in object form.
ValidationOptions
Type: Object
Properties
uristring Absolute or relative asset URI that will be copied to validation report.externalResourceFunctionExternalResourceFunction Function for loading external resources. If omitted, external resources are not validated.writeTimestampboolean Set tofalseto omit timestamp from the validation report. Default istrue.maxIssuesnumber Max number of reported issues. Use0for unlimited output.ignoredIssuesArray<string> Array of ignored issue codes.severityOverridesObject Object with overridden severities for issue codes.
ExternalResourceFunction
Type: Function
Parameters
uristring Relative URI of the external resource.
Returns Promise Promise with Uint8Array data.