pathchain 1.0.0 → 1.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/getter.js +52 -0
- package/index.js +38 -0
- package/maker.js +61 -0
- package/package.json +1 -1
package/getter.js
ADDED
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
var fs = require("fs");
|
|
2
|
+
var pb = require('protocol-buffers');
|
|
3
|
+
var dt = require('date-and-time');
|
|
4
|
+
|
|
5
|
+
/** getCurrentDate
|
|
6
|
+
* [Function that returns current datetime string on "MMM DD YYYY HH:mm:ss [GMT]Z" format]
|
|
7
|
+
*
|
|
8
|
+
* @return {string} current_datetime
|
|
9
|
+
*/
|
|
10
|
+
function getCurrentDate(format = 'MM DD YYYY HH:mm:SSS [GMT]Z'){
|
|
11
|
+
var current_datetime = new Date()
|
|
12
|
+
current_datetime = dt.format(current_datetime, dt.compile(format, true));
|
|
13
|
+
|
|
14
|
+
return current_datetime;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
/** getMomentObj
|
|
18
|
+
* [Function that recieves a moment hash and returns the moment object]
|
|
19
|
+
*
|
|
20
|
+
* @param {string} xmoment (required)
|
|
21
|
+
*
|
|
22
|
+
* @return void
|
|
23
|
+
*/
|
|
24
|
+
function getMomentObj(xmoment) {
|
|
25
|
+
// "moments/hash" FORMAT EXCEPTION
|
|
26
|
+
if(xmoment.split("/").length > 1){
|
|
27
|
+
xmoment = xmoment.split("/")[1]
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
// LOADING PB
|
|
31
|
+
var moment_pb = pb(fs.readFileSync('node_modules/pathos-proto-infra/proto/moment.proto'))
|
|
32
|
+
|
|
33
|
+
// NOT FOUND EXCEPTION
|
|
34
|
+
var fileContents;
|
|
35
|
+
try {
|
|
36
|
+
fileContents = fs.readFileSync("files/moments/"+xmoment);
|
|
37
|
+
} catch (err) {
|
|
38
|
+
if (err.code === 'ENOENT') {
|
|
39
|
+
return "Moment buffer not found";
|
|
40
|
+
} else {
|
|
41
|
+
throw err;
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
// DECODING MOMENT
|
|
46
|
+
var moment_enc = fileContents
|
|
47
|
+
var moment_obj = moment_pb.moment.decode(moment_enc)
|
|
48
|
+
|
|
49
|
+
return moment_obj;
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
module.exports = { getCurrentDate, getMomentObj }
|
package/index.js
CHANGED
|
@@ -1,3 +1,6 @@
|
|
|
1
|
+
const maker = require("./maker");
|
|
2
|
+
const maker = require("./getter");
|
|
3
|
+
|
|
1
4
|
///////////////
|
|
2
5
|
/// HELLO ///
|
|
3
6
|
///////////////
|
|
@@ -12,4 +15,39 @@
|
|
|
12
15
|
exports.hello = (name = "nameless entity") => {
|
|
13
16
|
var result = "Hello from the Dream Operator's Garage, " + name;
|
|
14
17
|
return result;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
////////////////
|
|
22
|
+
/// MOMENT ///
|
|
23
|
+
////////////////
|
|
24
|
+
|
|
25
|
+
/** makeMoment
|
|
26
|
+
* [Moment maker]
|
|
27
|
+
*
|
|
28
|
+
* @param {string} datetime (optional, default=*current datetime*)
|
|
29
|
+
* @param {float} lat (optional, default=0)
|
|
30
|
+
* @param {float} lon (optional, default=0)
|
|
31
|
+
* @param {float} x (optional, default=0)
|
|
32
|
+
* @param {float} y (optional, default=0)
|
|
33
|
+
* @param {float} z (optional, default=0)
|
|
34
|
+
* * @param {string} format (optional, default="ddd MMM DD YYYY HH:mm:ss [GMT]Z")
|
|
35
|
+
*
|
|
36
|
+
* @return {string} moment_buffer
|
|
37
|
+
*/
|
|
38
|
+
exports.makeMoment = (datetime = getter.getCurrentDate(), lat = 0, lon = 0, x = 0, y = 0, z = 0, format = 'MM DD YYYY HH:mm:SSS [GMT]Z') => {
|
|
39
|
+
const moment_buffer = maker.moment(datetime, lat, lon, x, y, z, format);
|
|
40
|
+
return moment_buffer;
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
/** getMomentObj
|
|
44
|
+
* [Function that recieves a moment hash and returns the moment object]
|
|
45
|
+
*
|
|
46
|
+
* @param {string} xmoment (required)
|
|
47
|
+
*
|
|
48
|
+
* @return {obj} moment_object
|
|
49
|
+
*/
|
|
50
|
+
exports.getMomentObj = (xmoment) => {
|
|
51
|
+
const moment_object = getter.getMomentObj(xmoment);
|
|
52
|
+
return moment_object;
|
|
15
53
|
}
|
package/maker.js
ADDED
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
var fs = require("fs");
|
|
2
|
+
var pb = require('protocol-buffers');
|
|
3
|
+
var dt = require('date-and-time');
|
|
4
|
+
var sha256 = require("js-sha256");
|
|
5
|
+
// const getter = require("./getter");
|
|
6
|
+
// const checker = require("./checker");
|
|
7
|
+
|
|
8
|
+
/** moment
|
|
9
|
+
* [Moment Protocol Buffer Creation]
|
|
10
|
+
*
|
|
11
|
+
* @param {string} datetime (optional)
|
|
12
|
+
* @param {float} lat (optional)
|
|
13
|
+
* @param {float} lon (optional)
|
|
14
|
+
* @param {float} x (optional)
|
|
15
|
+
* @param {float} y (optional)
|
|
16
|
+
* @param {float} z (optional)
|
|
17
|
+
* * @param {string} format (optional)
|
|
18
|
+
*
|
|
19
|
+
* @return {string} moment_buffer
|
|
20
|
+
*/
|
|
21
|
+
function moment(datetime, lat, lon, x, y, z, format) {
|
|
22
|
+
// let moment_pb = require('node_modules/proto/moment.proto')
|
|
23
|
+
var moment_pb = pb(fs.readFileSync('node_modules/pathos-proto-infra/proto/moment.proto'))
|
|
24
|
+
|
|
25
|
+
var date_obj = dt.preparse(datetime, format);
|
|
26
|
+
var moment_obj = {
|
|
27
|
+
coordinates: {
|
|
28
|
+
lat: lat,
|
|
29
|
+
lon: lon,
|
|
30
|
+
xyz: { x: x, y: y, z: z }
|
|
31
|
+
},
|
|
32
|
+
datetime: {
|
|
33
|
+
Y: date_obj.Y,
|
|
34
|
+
M: date_obj.M,
|
|
35
|
+
D: date_obj.D,
|
|
36
|
+
H: date_obj.H,
|
|
37
|
+
A: date_obj.A,
|
|
38
|
+
h: date_obj.h,
|
|
39
|
+
m: date_obj.m,
|
|
40
|
+
s: date_obj.s,
|
|
41
|
+
S: date_obj.S,
|
|
42
|
+
Z: date_obj.Z,
|
|
43
|
+
_index: date_obj._index,
|
|
44
|
+
_length: date_obj._length,
|
|
45
|
+
_match: date_obj._match
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
// console.log(".:MOMENT OBJECT:. :", moment_obj)
|
|
49
|
+
|
|
50
|
+
var buffer = moment_pb.moment.encode(moment_obj);
|
|
51
|
+
|
|
52
|
+
var moment_hash = sha256(JSON.stringify(moment_pb.moment.decode(buffer)));
|
|
53
|
+
// console.log(" -> Moment hash: ", moment_hash)
|
|
54
|
+
|
|
55
|
+
checker.checkDir("files/moments/")
|
|
56
|
+
fs.writeFileSync("files/moments/" + moment_hash, buffer);
|
|
57
|
+
|
|
58
|
+
return moment_hash;
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
module.exports = { moment }
|
package/package.json
CHANGED