three
Version:
JavaScript 3D library
76 lines (57 loc) • 1.2 kB
JavaScript
const MaterialXLogCodes = {
UNSUPPORTED_NODE: {
label: 'unsupported-node',
severity: 'error',
},
IGNORED_SURFACE_INPUT: {
label: 'ignored-surface-input',
severity: 'warning',
},
MISSING_REFERENCE: {
label: 'missing-reference',
severity: 'error',
},
MISSING_MATERIAL: {
label: 'missing-material',
severity: 'error',
},
INVALID_VALUE: {
label: 'invalid-value',
severity: 'error',
},
UNKNOWN_INPUT: {
label: 'unknown-input',
severity: 'error',
},
INVALID_OUTPUT_CONNECTION: {
label: 'invalid-output-connection',
severity: 'error',
},
TYPE_MISMATCH: {
label: 'type-mismatch',
severity: 'error',
},
};
class MaterialXLog {
constructor() {
this.entries = [];
}
get errors() {
return this.entries.filter( ( entry ) => entry.severity === 'error' );
}
get warnings() {
return this.entries.filter( ( entry ) => entry.severity === 'warning' );
}
add( code, message, nodeName ) {
const entry = {
code: code.label,
severity: code.severity,
message,
};
if ( nodeName !== undefined && nodeName !== null ) {
entry.nodeName = nodeName;
}
this.entries.push( entry );
}
}
export { MaterialXLogCodes, MaterialXLog };