three-legacyjsonloader
Version:
A node package to parse THREE Js Json files on server side.
41 lines (38 loc) • 1.15 kB
text/typescript
const fs = require('fs');
class LegacyJSONLoader {
THREE: any;
ObjectLoader: any;
constructor(THREE) {
this.THREE = THREE
this.ObjectLoader = new THREE.ObjectLoader()
}
load(url: string) {
let promise = new Promise((resolve, reject) => {
fs.readFile(url, (err, data) => {
if (err) throw err;
var json = JSON.parse(data);
try {
let objLoader = this.ObjectLoader;
let parsedObj = objLoader.parse(json);
resolve(parsedObj);
} catch (err) {
reject(err)
}
})
})
return promise
}
parse(json: any) {
let promise = new Promise(function (resolve, reject) {
try {
let objLoader = this.ObjLoader;
let parsedObj = objLoader.parse(json);
resolve(parsedObj);
} catch (err) {
reject(err)
}
})
return promise;
}
}
module.exports = LegacyJSONLoader