Skip to content
This repository has been archived by the owner on Dec 12, 2018. It is now read-only.

Commit

Permalink
> new file: es6/util/property.js
Browse files Browse the repository at this point in the history
>	modified:   es6/zil/index.js
>	renamed:    es6/zil/Objects.js -> es6/zil/methodObjects.js
>	new file:   es6/zil/propertyObjects.js
>	new file:   lib/util/property.js
>	modified:   lib/zil/index.js
>	renamed:    lib/zil/Objects.js -> lib/zil/methodObjects.js
>	new file:   lib/zil/propertyObjects.js
>	modified:   package.json
  • Loading branch information
CapCap_ghostcorn authored and CapCap_ghostcorn committed Aug 28, 2018
1 parent 217b0fb commit 4617330
Show file tree
Hide file tree
Showing 9 changed files with 134 additions and 6 deletions.
26 changes: 26 additions & 0 deletions es6/util/property.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
class Property {
constructor(options) {
const { name, getter, setter } = options
this.name = name
this.getter = getter
this.setter = setter
this.messanger = null
}

setMessanger = (msg) => {
this.messanger = msg
}

propertyBuilder = () => {
if (this.messanger !== null) {
return (callback) => {
if (callback) {
return this.messanger.sendAsync({ method: this.getter }, callback)
}
return this.messanger.send({ method: this.getter })
}
}
}
}

export default Property
20 changes: 18 additions & 2 deletions es6/zil/index.js
Original file line number Diff line number Diff line change
@@ -1,15 +1,17 @@
import Method from '../util/method'
import Property from '../util/property'
import {
generatePrivateKey,
getAddressFromPrivateKey,
getPubKeyFromPrivateKey,
isString
} from '../util'
import config from '../util/config'
import ZilObjects from './Objects'
import methodObjects from './methodObjects'
import propertyObjects from './propertyObjects'

const mapObjectToMethods = (main) => {
ZilObjects.map((data) => {
methodObjects.map((data) => {
const zilMethod = new Method(data)
const zilKey = data.name
const zilObject = {}
Expand All @@ -19,11 +21,25 @@ const mapObjectToMethods = (main) => {
})
}

const mapPropertyToObjects = (main) => {
propertyObjects.map((data) => {
const zilProperty = new Property(data)
const zilName = data.name
const zilObject = {
get: zilProperty.propertyBuilder(),
enumerable: true
}
zilProperty.setMessanger(main.messanger)
return Object.defineProperty(main, zilName, zilObject)
})
}

class Zil {
constructor(Webz) {
this.messanger = Webz.messanger
this.config = config
mapObjectToMethods(this)
mapPropertyToObjects(this)
}

/**
Expand Down
File renamed without changes.
6 changes: 6 additions & 0 deletions es6/zil/propertyObjects.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
export default [
{
name: 'hashrate',
getter: 'GetHashrate'
}
]
44 changes: 44 additions & 0 deletions lib/util/property.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
"use strict";

Object.defineProperty(exports, "__esModule", {
value: true
});

var _classCallCheck2 = require("babel-runtime/helpers/classCallCheck");

var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

var Property = function Property(options) {
var _this = this;

(0, _classCallCheck3.default)(this, Property);

this.setMessanger = function (msg) {
_this.messanger = msg;
};

this.propertyBuilder = function () {
if (_this.messanger !== null) {
return function (callback) {
if (callback) {
return _this.messanger.sendAsync({ method: _this.getter }, callback);
}
return _this.messanger.send({ method: _this.getter });
};
}
};

var name = options.name,
getter = options.getter,
setter = options.setter;

this.name = name;
this.getter = getter;
this.setter = setter;
this.messanger = null;
};

exports.default = Property;
module.exports = exports.default;
32 changes: 29 additions & 3 deletions lib/zil/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,10 @@ var _createClass2 = require('babel-runtime/helpers/createClass');

var _createClass3 = _interopRequireDefault(_createClass2);

var _defineProperty = require('babel-runtime/core-js/object/define-property');

var _defineProperty2 = _interopRequireDefault(_defineProperty);

var _assign = require('babel-runtime/core-js/object/assign');

var _assign2 = _interopRequireDefault(_assign);
Expand All @@ -20,20 +24,28 @@ var _method = require('../util/method');

var _method2 = _interopRequireDefault(_method);

var _property = require('../util/property');

var _property2 = _interopRequireDefault(_property);

var _util = require('../util');

var _config = require('../util/config');

var _config2 = _interopRequireDefault(_config);

var _Objects = require('./Objects');
var _methodObjects = require('./methodObjects');

var _methodObjects2 = _interopRequireDefault(_methodObjects);

var _Objects2 = _interopRequireDefault(_Objects);
var _propertyObjects = require('./propertyObjects');

var _propertyObjects2 = _interopRequireDefault(_propertyObjects);

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

var mapObjectToMethods = function mapObjectToMethods(main) {
_Objects2.default.map(function (data) {
_methodObjects2.default.map(function (data) {
var zilMethod = new _method2.default(data);
var zilKey = data.name;
var zilObject = {};
Expand All @@ -43,6 +55,19 @@ var mapObjectToMethods = function mapObjectToMethods(main) {
});
};

var mapPropertyToObjects = function mapPropertyToObjects(main) {
_propertyObjects2.default.map(function (data) {
var zilProperty = new _property2.default(data);
var zilName = data.name;
var zilObject = {
get: zilProperty.propertyBuilder(),
enumerable: true
};
zilProperty.setMessanger(main.messanger);
return (0, _defineProperty2.default)(main, zilName, zilObject);
});
};

var Zil = function () {
function Zil(Webz) {
(0, _classCallCheck3.default)(this, Zil);
Expand All @@ -64,6 +89,7 @@ var Zil = function () {
this.messanger = Webz.messanger;
this.config = _config2.default;
mapObjectToMethods(this);
mapPropertyToObjects(this);
}

/**
Expand Down
File renamed without changes.
10 changes: 10 additions & 0 deletions lib/zil/propertyObjects.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
'use strict';

Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = [{
name: 'hashrate',
getter: 'GetHashrate'
}];
module.exports = exports.default;
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "webz.js",
"version": "0.0.17",
"version": "0.0.18",
"description": "Zilliqa Javascript Libraries",
"main": "lib/index.js",
"browser": "dist/Webz.browser.js",
Expand Down

0 comments on commit 4617330

Please sign in to comment.