You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
49 lines
755 B
JavaScript
49 lines
755 B
JavaScript
"use strict";
|
|
|
|
const Promise = require("bluebird");
|
|
const dlayer = require("./");
|
|
|
|
const loaders = require("../../api/data-sources");
|
|
|
|
let schema = {
|
|
hardware: {
|
|
drives: function () {
|
|
return [{
|
|
name: "foo",
|
|
size: () => "4 GiB"
|
|
}, {
|
|
name: "bar",
|
|
size: () => "2 TiB"
|
|
}];
|
|
},
|
|
primaryNetworkInterface: function () {
|
|
return {
|
|
name: "baz",
|
|
dataRate: () => "2.5 gbps"
|
|
};
|
|
}
|
|
}
|
|
};
|
|
|
|
let api = dlayer({
|
|
schema: schema
|
|
});
|
|
|
|
return Promise.try(() => {
|
|
return api.query({
|
|
hardware: {
|
|
drives: {
|
|
name: true,
|
|
size: true
|
|
},
|
|
primaryNetworkInterface: {
|
|
name: true
|
|
}
|
|
}
|
|
});
|
|
}).then((result) => {
|
|
console.dir(result, {depth: null});
|
|
}).catch((error) => {
|
|
console.dir("Unhandled error", error);
|
|
});
|