Beta 7 with some repo names changed.

This commit is contained in:
Luis Fernando Molina committed 2020-11-15 13:05:19 +01:00
1 parent 0f7b40cca7
commit 963c19493a
3408 files changed
+462217 -15516

No files matched your search

+69
View File
@@ -0,0 +1,69 @@
/*
This file is part of web3.js.
web3.js is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
web3.js is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public License
along with web3.js. If not, see <http://www.gnu.org/licenses/>.
*/
/**
* @file extend.js
* @author Fabian Vogelsteller <fabian@ethereum.org>
* @date 2017
*/
"use strict";
var formatters = require('web3-core-helpers').formatters;
var Method = require('web3-core-method');
var utils = require('web3-utils');
var extend = function (pckg) {
/* jshint maxcomplexity:5 */
var ex = function (extension) {
var extendedObject;
if (extension.property) {
if (!pckg[extension.property]) {
pckg[extension.property] = {};
}
extendedObject = pckg[extension.property];
} else {
extendedObject = pckg;
}
if (extension.methods) {
extension.methods.forEach(function (method) {
if(!(method instanceof Method)) {
method = new Method(method);
}
method.attachToObject(extendedObject);
method.setRequestManager(pckg._requestManager);
});
}
return pckg;
};
ex.formatters = formatters;
ex.utils = utils;
ex.Method = Method;
return ex;
};
module.exports = extend;
+87
View File
@@ -0,0 +1,87 @@
/*
This file is part of web3.js.
web3.js is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
web3.js is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public License
along with web3.js. If not, see <http://www.gnu.org/licenses/>.
*/
/**
* @file index.js
* @author Fabian Vogelsteller <fabian@ethereum.org>
* @date 2017
*/
const requestManager = require("web3-core-requestmanager");
const extend = require("./extend");
const packageInit = (pkg, args) => {
args = Array.prototype.slice.call(args);
if (!pkg) {
throw new Error('You need to instantiate using the "new" keyword.');
}
// make property of pkg._provider, which can properly set providers
Object.defineProperty(pkg, 'currentProvider', {
get: () => {
return pkg._provider;
},
set: (value) => {
return pkg.setProvider(value);
},
enumerable: true,
configurable: true
});
// inherit from parent package or create a new RequestManager
if (args[0] && args[0]._requestManager) {
pkg._requestManager = args[0]._requestManager;
} else {
pkg._requestManager = new requestManager.Manager(args[0], args[1]);
}
// add givenProvider
pkg.givenProvider = requestManager.Manager.givenProvider;
pkg.providers = requestManager.Manager.providers;
pkg._provider = pkg._requestManager.provider;
// add SETPROVIDER function (don't overwrite if already existing)
if (!pkg.setProvider) {
pkg.setProvider = (provider, net) => {
pkg._requestManager.setProvider(provider, net);
pkg._provider = pkg._requestManager.provider;
return true;
};
}
pkg.setRequestManager = (manager) => {
pkg._requestManager = manager;
pkg._provider = manager.provider;
};
// attach batch request creation
pkg.BatchRequest = requestManager.BatchManager.bind(null, pkg._requestManager);
// attach extend function
pkg.extend = extend(pkg);
}
const addProviders = (pkg) => {
pkg.givenProvider = requestManager.Manager.givenProvider;
pkg.providers = requestManager.Manager.providers;
}
module.exports = {
packageInit,
addProviders
}