1 |
|
2 |
|
3 |
|
4 | 'use strict';
|
5 |
|
6 | module.exports = class CommonHelper {
|
7 |
|
8 | static isEmpty (value) {
|
9 | return value === undefined || value === null || value === '';
|
10 | }
|
11 |
|
12 | static isEqual (a, b) {
|
13 | return a === b || JSON.stringify(a) === JSON.stringify(b);
|
14 | }
|
15 |
|
16 | static log (logger, prefix, type, message, data) {
|
17 | logger = logger || console;
|
18 | if (typeof message === 'string') {
|
19 | return logger.log(type, prefix ? `${prefix}: ${message}` : message, data);
|
20 | }
|
21 | prefix ? logger.log(type, `${prefix}:`, message)
|
22 | : logger.log(type, message);
|
23 | }
|
24 |
|
25 | static parseJson (data) {
|
26 | if (typeof data !== 'string') {
|
27 | return data;
|
28 | }
|
29 | try {
|
30 | return JSON.parse(data);
|
31 | } catch {}
|
32 | }
|
33 |
|
34 | static parseRelationChanges (data) {
|
35 | if (data && typeof data === 'string') {
|
36 | try {
|
37 | data = JSON.parse(data);
|
38 | } catch {
|
39 | return false;
|
40 | }
|
41 | }
|
42 | if (!data) {
|
43 | return null;
|
44 | }
|
45 | if (!Array.isArray(data.links)) {
|
46 | data.links = [];
|
47 | }
|
48 | if (!Array.isArray(data.unlinks)) {
|
49 | data.unlinks = [];
|
50 | }
|
51 | if (!Array.isArray(data.deletes)) {
|
52 | data.deletes = [];
|
53 | }
|
54 | const all = data.links.concat(data.unlinks, data.deletes);
|
55 | return all.length === ArrayHelper.unique(all).length ? data : false;
|
56 | }
|
57 | };
|
58 |
|
59 | const ArrayHelper = require('./ArrayHelper'); |
\ | No newline at end of file |