123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183 |
- "use strict";
- var fs = require("fs"),
- path = require("path"),
- child_process = require("child_process");
- var semver;
- try {
-
- require.resolve("@apollo/protobufjs");
- exports.pathToProtobufJs = "@apollo/protobufjs";
- } catch (e) {
-
- exports.pathToProtobufJs = "..";
- }
- var protobuf = require(exports.pathToProtobufJs);
- function basenameCompare(a, b) {
- var aa = String(a).replace(/\.\w+$/, "").split(/(-?\d*\.?\d+)/g),
- bb = String(b).replace(/\.\w+$/, "").split(/(-?\d*\.?\d+)/g);
- for (var i = 0, k = Math.min(aa.length, bb.length); i < k; i++) {
- var x = parseFloat(aa[i]) || aa[i].toLowerCase(),
- y = parseFloat(bb[i]) || bb[i].toLowerCase();
- if (x < y)
- return -1;
- if (x > y)
- return 1;
- }
- return a.length < b.length ? -1 : 0;
- }
- exports.requireAll = function requireAll(dirname) {
- dirname = path.join(__dirname, dirname);
- var files = fs.readdirSync(dirname).sort(basenameCompare),
- all = {};
- files.forEach(function(file) {
- var basename = path.basename(file, ".js"),
- extname = path.extname(file);
- if (extname === ".js")
- all[basename] = require(path.join(dirname, file));
- });
- return all;
- };
- exports.traverse = function traverse(current, fn) {
- fn(current);
- if (current.fieldsArray)
- current.fieldsArray.forEach(function(field) {
- traverse(field, fn);
- });
- if (current.oneofsArray)
- current.oneofsArray.forEach(function(oneof) {
- traverse(oneof, fn);
- });
- if (current.methodsArray)
- current.methodsArray.forEach(function(method) {
- traverse(method, fn);
- });
- if (current.nestedArray)
- current.nestedArray.forEach(function(nested) {
- traverse(nested, fn);
- });
- };
- exports.traverseResolved = function traverseResolved(current, fn) {
- fn(current);
- if (current.resolvedType)
- traverseResolved(current.resolvedType, fn);
- if (current.resolvedKeyType)
- traverseResolved(current.resolvedKeyType, fn);
- if (current.resolvedRequestType)
- traverseResolved(current.resolvedRequestType, fn);
- if (current.resolvedResponseType)
- traverseResolved(current.resolvedResponseType, fn);
- };
- exports.inspect = function inspect(object, indent) {
- if (!object)
- return "";
- var chalk = require("chalk");
- var sb = [];
- if (!indent)
- indent = "";
- var ind = indent ? indent.substring(0, indent.length - 2) + "└ " : "";
- sb.push(
- ind + chalk.bold(object.toString()) + (object.visible ? " (visible)" : ""),
- indent + chalk.gray("parent: ") + object.parent
- );
- if (object instanceof protobuf.Field) {
- if (object.extend !== undefined)
- sb.push(indent + chalk.gray("extend: ") + object.extend);
- if (object.partOf)
- sb.push(indent + chalk.gray("oneof : ") + object.oneof);
- }
- sb.push("");
- if (object.fieldsArray)
- object.fieldsArray.forEach(function(field) {
- sb.push(inspect(field, indent + " "));
- });
- if (object.oneofsArray)
- object.oneofsArray.forEach(function(oneof) {
- sb.push(inspect(oneof, indent + " "));
- });
- if (object.methodsArray)
- object.methodsArray.forEach(function(service) {
- sb.push(inspect(service, indent + " "));
- });
- if (object.nestedArray)
- object.nestedArray.forEach(function(nested) {
- sb.push(inspect(nested, indent + " "));
- });
- return sb.join("\n");
- };
- function modExists(name, version) {
- for (var i = 0; i < module.paths.length; ++i) {
- try {
- var pkg = JSON.parse(fs.readFileSync(path.join(module.paths[i], name, "package.json")));
- return semver
- ? semver.satisfies(pkg.version, version)
- : parseInt(pkg.version, 10) === parseInt(version.replace(/^[\^~]/, ""), 10);
- } catch (e) {
- \n" + wrap;
- return wrap.replace(/\r?\n/g, "\n");
- };
- exports.pad = function(str, len, l) {
- while (str.length < len)
- str = l ? str + " " : " " + str;
- return str;
- };
|