@wandzai/utils 1.0.0 → 1.0.5
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/package.json +2 -2
- package/src/gzip.d.ts +1 -0
- package/src/gzip.js +19 -0
- package/src/gzip.js.map +1 -0
- package/src/http.d.ts +3 -0
- package/src/http.js +18 -0
- package/src/http.js.map +1 -0
- package/src/index.js +21 -0
- package/src/index.js.map +1 -0
- package/src/logger.d.ts +12 -0
- package/src/{logger.ts → logger.js} +15 -28
- package/src/logger.js.map +1 -0
- package/src/snowflake.d.ts +1 -0
- package/src/snowflake.js +8 -0
- package/src/snowflake.js.map +1 -0
- package/src/gzip.ts +0 -26
- package/src/http.ts +0 -17
- package/src/snowflake.ts +0 -9
- package/tsconfig.lib.json +0 -9
- /package/src/{index.ts → index.d.ts} +0 -0
package/package.json
CHANGED
package/src/gzip.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function gzipFile(fileIn: string, fileOut: string): Promise<void>;
|
package/src/gzip.js
ADDED
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.gzipFile = void 0;
|
|
4
|
+
const zlib_1 = require("zlib");
|
|
5
|
+
const fs_1 = require("fs");
|
|
6
|
+
function gzipFile(fileIn, fileOut) {
|
|
7
|
+
return new Promise((resolve, reject) => {
|
|
8
|
+
const inp = (0, fs_1.createReadStream)(fileIn);
|
|
9
|
+
const out = (0, fs_1.createWriteStream)(fileOut);
|
|
10
|
+
const gzip = (0, zlib_1.createGzip)();
|
|
11
|
+
inp.pipe(gzip).pipe(out).on('finish', function () {
|
|
12
|
+
resolve();
|
|
13
|
+
}).on('error', function (err) {
|
|
14
|
+
reject(err);
|
|
15
|
+
});
|
|
16
|
+
});
|
|
17
|
+
}
|
|
18
|
+
exports.gzipFile = gzipFile;
|
|
19
|
+
//# sourceMappingURL=gzip.js.map
|
package/src/gzip.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gzip.js","sourceRoot":"","sources":["../../../../libs/utils/src/gzip.ts"],"names":[],"mappings":";;;AAKA,+BAAgC;AAChC,2BAAuD;AAOvD,SAAgB,QAAQ,CAAC,MAAc,EAAE,OAAe;IACpD,OAAO,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACzC,MAAM,GAAG,GAAG,IAAA,qBAAgB,EAAC,MAAM,CAAC,CAAC;QACrC,MAAM,GAAG,GAAG,IAAA,sBAAiB,EAAC,OAAO,CAAC,CAAC;QACvC,MAAM,IAAI,GAAG,IAAA,iBAAU,GAAE,CAAC;QAE1B,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,QAAQ,EAAE;YAClC,OAAO,EAAE,CAAC;QACd,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,EAAE,UAAU,GAAG;YACxB,MAAM,CAAC,GAAG,CAAC,CAAC;QAChB,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;AACP,CAAC;AAZD,4BAYC"}
|
package/src/http.d.ts
ADDED
package/src/http.js
ADDED
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.buildUriBodyString = exports.getIpFromHttpRequest = void 0;
|
|
4
|
+
function getIpFromHttpRequest(req) {
|
|
5
|
+
return req.headers['x-forwarded-for']
|
|
6
|
+
? String(req.headers['x-forwarded-for']).split(',')[0].trim()
|
|
7
|
+
: req.socket.remoteAddress;
|
|
8
|
+
}
|
|
9
|
+
exports.getIpFromHttpRequest = getIpFromHttpRequest;
|
|
10
|
+
;
|
|
11
|
+
function buildUriBodyString(json) {
|
|
12
|
+
return Object.entries(json)
|
|
13
|
+
.map(([key, val]) => `${encodeURIComponent(key)}=${encodeURIComponent(val)}`)
|
|
14
|
+
.join('&');
|
|
15
|
+
}
|
|
16
|
+
exports.buildUriBodyString = buildUriBodyString;
|
|
17
|
+
;
|
|
18
|
+
//# sourceMappingURL=http.js.map
|
package/src/http.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"http.js","sourceRoot":"","sources":["../../../../libs/utils/src/http.ts"],"names":[],"mappings":";;;AAMA,SAAgB,oBAAoB,CAAC,GAAY;IAChD,OAAO,GAAG,CAAC,OAAO,CAAC,iBAAiB,CAAC;QACpC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE;QAC7D,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,aAAa,CAAC;AAC7B,CAAC;AAJD,oDAIC;AAAA,CAAC;AAEF,SAAgB,kBAAkB,CAAC,IAAY;IAC9C,OAAO,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC;SACzB,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC,GAAG,kBAAkB,CAAC,GAAG,CAAC,IAAI,kBAAkB,CAAC,GAAG,CAAC,EAAE,CAAC;SAC5E,IAAI,CAAC,GAAG,CAAC,CAAC;AACb,CAAC;AAJD,gDAIC;AAAA,CAAC"}
|
package/src/index.js
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./http"), exports);
|
|
18
|
+
__exportStar(require("./logger"), exports);
|
|
19
|
+
__exportStar(require("./gzip"), exports);
|
|
20
|
+
__exportStar(require("./snowflake"), exports);
|
|
21
|
+
//# sourceMappingURL=index.js.map
|
package/src/index.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../libs/utils/src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,yCAAuB;AACvB,2CAAyB;AACzB,yCAAuB;AACvB,8CAA4B"}
|
package/src/logger.d.ts
ADDED
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { Logger } from 'winston';
|
|
2
|
+
export interface IMeta {
|
|
3
|
+
clientTag?: string;
|
|
4
|
+
domain?: string;
|
|
5
|
+
campaignId?: string;
|
|
6
|
+
userId?: string;
|
|
7
|
+
trackingGuid?: string;
|
|
8
|
+
}
|
|
9
|
+
export interface IEnrichedLogger extends Logger {
|
|
10
|
+
createChildLogger(meta?: IMeta): Logger;
|
|
11
|
+
}
|
|
12
|
+
export declare function customLogger(serviceName: string): IEnrichedLogger;
|
|
@@ -1,25 +1,13 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
const
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
clientTag?: string;
|
|
9
|
-
domain?: string;
|
|
10
|
-
campaignId?: string;
|
|
11
|
-
userId?: string;
|
|
12
|
-
trackingGuid?: string;
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
export interface IEnrichedLogger extends Logger {
|
|
16
|
-
createChildLogger(meta?: IMeta): Logger;
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
const createEnrichedLogger = (serviceName: string) => {
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.customLogger = void 0;
|
|
4
|
+
const uuid_1 = require("uuid");
|
|
5
|
+
const winston = require("winston");
|
|
6
|
+
const { createLogger, format, transports } = winston;
|
|
7
|
+
const createEnrichedLogger = (serviceName) => {
|
|
20
8
|
const logger = createLogger({
|
|
21
9
|
level: 'debug',
|
|
22
|
-
defaultMeta: {service: serviceName},
|
|
10
|
+
defaultMeta: { service: serviceName },
|
|
23
11
|
transports: [
|
|
24
12
|
process.env.NX_LOG_READABLE === 'true'
|
|
25
13
|
? new transports.Console({
|
|
@@ -30,30 +18,29 @@ const createEnrichedLogger = (serviceName: string) => {
|
|
|
30
18
|
}),
|
|
31
19
|
],
|
|
32
20
|
});
|
|
33
|
-
|
|
34
21
|
return {
|
|
35
22
|
getLogger: () => {
|
|
36
23
|
return logger;
|
|
37
24
|
},
|
|
38
|
-
createChildLogger: (meta
|
|
39
|
-
let combinedMeta = {trackingGuid:
|
|
40
|
-
if (meta)
|
|
25
|
+
createChildLogger: (meta) => {
|
|
26
|
+
let combinedMeta = { trackingGuid: (0, uuid_1.v4)() };
|
|
27
|
+
if (meta)
|
|
28
|
+
combinedMeta = { ...combinedMeta, ...meta };
|
|
41
29
|
return logger.child(combinedMeta);
|
|
42
30
|
},
|
|
43
31
|
};
|
|
44
32
|
};
|
|
45
|
-
|
|
46
|
-
export function customLogger(serviceName: string): IEnrichedLogger {
|
|
33
|
+
function customLogger(serviceName) {
|
|
47
34
|
const enrichedLogger = createEnrichedLogger(serviceName);
|
|
48
35
|
const handler = {
|
|
49
36
|
get: function (target, prop, receiver) {
|
|
50
37
|
if (prop === 'createChildLogger') {
|
|
51
38
|
return target.createChildLogger;
|
|
52
39
|
}
|
|
53
|
-
|
|
54
40
|
return target.getLogger()[prop];
|
|
55
41
|
},
|
|
56
42
|
};
|
|
57
|
-
|
|
58
43
|
return new Proxy(enrichedLogger, handler);
|
|
59
44
|
}
|
|
45
|
+
exports.customLogger = customLogger;
|
|
46
|
+
//# sourceMappingURL=logger.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../../../../libs/utils/src/logger.ts"],"names":[],"mappings":";;;AAAA,+BAAkC;AAClC,mCAAmC;AAGnC,MAAM,EAAC,YAAY,EAAE,MAAM,EAAE,UAAU,EAAC,GAAG,OAAO,CAAC;AAcnD,MAAM,oBAAoB,GAAG,CAAC,WAAmB,EAAE,EAAE;IACjD,MAAM,MAAM,GAAG,YAAY,CAAC;QACxB,KAAK,EAAE,OAAO;QACd,WAAW,EAAE,EAAC,OAAO,EAAE,WAAW,EAAC;QACnC,UAAU,EAAE;YACR,OAAO,CAAC,GAAG,CAAC,eAAe,KAAK,MAAM;gBAClC,CAAC,CAAC,IAAI,UAAU,CAAC,OAAO,CAAC;oBACrB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE;iBAC1B,CAAC;gBACF,CAAC,CAAC,IAAI,UAAU,CAAC,OAAO,CAAC;oBACrB,MAAM,EAAE,MAAM,CAAC,IAAI,EAAE;iBACxB,CAAC;SACT;KACJ,CAAC,CAAC;IAEH,OAAO;QACH,SAAS,EAAE,GAAG,EAAE;YACZ,OAAO,MAAM,CAAC;QAClB,CAAC;QACD,iBAAiB,EAAE,CAAC,IAAY,EAAE,EAAE;YAChC,IAAI,YAAY,GAAG,EAAC,YAAY,EAAE,IAAA,SAAM,GAAE,EAAC,CAAC;YAC5C,IAAI,IAAI;gBAAE,YAAY,GAAG,EAAC,GAAG,YAAY,EAAE,GAAG,IAAI,EAAC,CAAC;YACpD,OAAO,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QACtC,CAAC;KACJ,CAAC;AACN,CAAC,CAAC;AAEF,SAAgB,YAAY,CAAC,WAAmB;IAC5C,MAAM,cAAc,GAAG,oBAAoB,CAAC,WAAW,CAAC,CAAC;IACzD,MAAM,OAAO,GAAG;QACZ,GAAG,EAAE,UAAU,MAAM,EAAE,IAAI,EAAE,QAAQ;YACjC,IAAI,IAAI,KAAK,mBAAmB,EAAE,CAAC;gBAC/B,OAAO,MAAM,CAAC,iBAAiB,CAAC;YACpC,CAAC;YAED,OAAO,MAAM,CAAC,SAAS,EAAE,CAAC,IAAI,CAAC,CAAC;QACpC,CAAC;KACJ,CAAC;IAEF,OAAO,IAAI,KAAK,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;AAC9C,CAAC;AAbD,oCAaC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const buildProcedureJsonString: (procedure: string, params: object) => string;
|
package/src/snowflake.js
ADDED
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.buildProcedureJsonString = void 0;
|
|
4
|
+
const buildProcedureJsonString = (procedure, params) => {
|
|
5
|
+
return `CALL ${procedure}(${Object.entries(params).map(([k, v]) => `${k} => \'${v}\'`).join(',')});`;
|
|
6
|
+
};
|
|
7
|
+
exports.buildProcedureJsonString = buildProcedureJsonString;
|
|
8
|
+
//# sourceMappingURL=snowflake.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"snowflake.js","sourceRoot":"","sources":["../../../../libs/utils/src/snowflake.ts"],"names":[],"mappings":";;;AAGO,MAAM,wBAAwB,GAAG,CACvC,SAAiB,EACjB,MAAc,EACL,EAAE;IACX,OAAO,QAAQ,SAAS,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC;AACtG,CAAC,CAAC;AALW,QAAA,wBAAwB,4BAKnC"}
|
package/src/gzip.ts
DELETED
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Gzip single file or every file in given folder
|
|
3
|
-
* @file gzip.js
|
|
4
|
-
*/
|
|
5
|
-
|
|
6
|
-
import {createGzip} from 'zlib';
|
|
7
|
-
import {createReadStream, createWriteStream} from 'fs';
|
|
8
|
-
|
|
9
|
-
/**
|
|
10
|
-
* @method gzipFile
|
|
11
|
-
* @param {String} fileIn
|
|
12
|
-
* @param {String} fileOut
|
|
13
|
-
*/
|
|
14
|
-
export function gzipFile(fileIn: string, fileOut: string) {
|
|
15
|
-
return new Promise<void>((resolve, reject) => {
|
|
16
|
-
const inp = createReadStream(fileIn);
|
|
17
|
-
const out = createWriteStream(fileOut);
|
|
18
|
-
const gzip = createGzip();
|
|
19
|
-
|
|
20
|
-
inp.pipe(gzip).pipe(out).on('finish', function () {
|
|
21
|
-
resolve();
|
|
22
|
-
}).on('error', function (err) {
|
|
23
|
-
reject(err);
|
|
24
|
-
});
|
|
25
|
-
});
|
|
26
|
-
}
|
package/src/http.ts
DELETED
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import {Request} from 'express';
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* Extracts ip address from http request
|
|
5
|
-
* @param {Request} req - http request
|
|
6
|
-
*/
|
|
7
|
-
export function getIpFromHttpRequest(req: Request): string {
|
|
8
|
-
return req.headers['x-forwarded-for']
|
|
9
|
-
? String(req.headers['x-forwarded-for']).split(',')[0].trim()
|
|
10
|
-
: req.socket.remoteAddress;
|
|
11
|
-
};
|
|
12
|
-
|
|
13
|
-
export function buildUriBodyString(json: object): string {
|
|
14
|
-
return Object.entries(json)
|
|
15
|
-
.map(([key, val]) => `${encodeURIComponent(key)}=${encodeURIComponent(val)}`)
|
|
16
|
-
.join('&');
|
|
17
|
-
};
|
package/src/snowflake.ts
DELETED
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
/** This method will build this structure of procedures:
|
|
2
|
-
* KEY => VALUE
|
|
3
|
-
* This is really better than calling procedure with input of arguments array.. */
|
|
4
|
-
export const buildProcedureJsonString = (
|
|
5
|
-
procedure: string,
|
|
6
|
-
params: object
|
|
7
|
-
): string => {
|
|
8
|
-
return `CALL ${procedure}(${Object.entries(params).map(([k, v]) => `${k} => \'${v}\'`).join(',')});`;
|
|
9
|
-
};
|
package/tsconfig.lib.json
DELETED
|
File without changes
|