@kmkf-fe-packages/services-components 0.6.3-alpha.15 → 0.6.3-alpha.16
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/dist/esm/commonComponents/OperationLog/index.js +2 -0
- package/dist/esm/components/Cascader/index.d.ts +2 -2
- package/dist/esm/components/CommonDataTime/index.d.ts +1 -1
- package/dist/esm/components/DataTime/index.d.ts +1 -1
- package/dist/esm/components/ErpTradeId/index.d.ts +1 -1
- package/dist/esm/components/Express/index.d.ts +1 -1
- package/dist/esm/components/ExpressCode/index.d.ts +1 -1
- package/dist/esm/components/Handler/index.js +5 -1
- package/dist/esm/components/JstLogistics/index.d.ts +1 -1
- package/dist/esm/components/Logistics/index.d.ts +1 -1
- package/dist/esm/components/LogisticsInterception/InterceptAddress.d.ts +1 -1
- package/dist/esm/components/LogisticsInterception/InterceptStatus.d.ts +2 -1
- package/dist/esm/components/LogisticsInterception/InterceptStatus.js +3 -0
- package/dist/esm/components/LogisticsInterception/InterceptType.d.ts +2 -1
- package/dist/esm/components/LogisticsInterception/InterceptType.js +3 -0
- package/dist/esm/components/LogisticsInterception/index.d.ts +2 -2
- package/dist/esm/components/LogisticsInterception/index.js +3 -3
- package/dist/esm/components/Payment/AlipayNo.js +1 -1
- package/dist/esm/components/Payment/AlipayTime.d.ts +1 -1
- package/dist/esm/components/Payment/PaymentTid.d.ts +1 -1
- package/dist/esm/components/Payment/index.d.ts +2 -2
- package/dist/esm/components/PlatForm/index.d.ts +5 -2
- package/dist/esm/components/ReturnLogistics/index.d.ts +1 -1
- package/dist/esm/components/SystemOrderNo/index.d.ts +1 -1
- package/dist/esm/components/TradeDateTime/index.d.ts +1 -1
- package/dist/esm/components/TradeId/index.d.ts +1 -1
- package/package.json +10 -5
|
@@ -51,6 +51,7 @@ var OperationLog = function OperationLog(_ref) {
|
|
|
51
51
|
} catch (e) {
|
|
52
52
|
nxt[cur['uniqueKey']] = cur['content'];
|
|
53
53
|
} finally {
|
|
54
|
+
// eslint-disable-next-line no-unsafe-finally
|
|
54
55
|
return nxt;
|
|
55
56
|
}
|
|
56
57
|
}, {});
|
|
@@ -64,6 +65,7 @@ var OperationLog = function OperationLog(_ref) {
|
|
|
64
65
|
} catch (e) {
|
|
65
66
|
nxt[cur['uniqueKey']] = cur['oldContent'];
|
|
66
67
|
} finally {
|
|
68
|
+
// eslint-disable-next-line no-unsafe-finally
|
|
67
69
|
return nxt;
|
|
68
70
|
}
|
|
69
71
|
}, {});
|
|
@@ -14,13 +14,13 @@ declare class BasicCascader implements ComponentInterface {
|
|
|
14
14
|
* @param value
|
|
15
15
|
* @returns
|
|
16
16
|
*/
|
|
17
|
-
getValue: (value: any) =>
|
|
17
|
+
getValue: (value: any) => string;
|
|
18
18
|
render: (value: any) => JSX.Element;
|
|
19
19
|
renderClient: (record: any) => JSX.Element | null;
|
|
20
20
|
renderPc: (value: any, record: Record) => JSX.Element;
|
|
21
21
|
renderLog: (r: Record) => JSX.Element | null;
|
|
22
22
|
getComponentValue: (r: Record) => any;
|
|
23
|
-
renderExport: (value: any, record: Record) =>
|
|
23
|
+
renderExport: (value: any, record: Record) => string;
|
|
24
24
|
editRender: (value: any) => JSX.Element;
|
|
25
25
|
filterConfig: (item: ColumnConfig) => {
|
|
26
26
|
id: string;
|
|
@@ -24,7 +24,7 @@ declare class CommonDataTime implements ComponentInterface {
|
|
|
24
24
|
id: string;
|
|
25
25
|
name: string;
|
|
26
26
|
filterComponentType: "Date";
|
|
27
|
-
filterFn: (value: string[]) => (i: Record) =>
|
|
27
|
+
filterFn: (value: string[]) => (i: Record) => boolean;
|
|
28
28
|
};
|
|
29
29
|
}
|
|
30
30
|
export default CommonDataTime;
|
|
@@ -24,7 +24,7 @@ declare class BasicDataTime implements ComponentInterface {
|
|
|
24
24
|
name: string;
|
|
25
25
|
filterComponentType: "Date";
|
|
26
26
|
options: any[];
|
|
27
|
-
filterFn: (value: string[]) => (i: Record) =>
|
|
27
|
+
filterFn: (value: string[]) => (i: Record) => boolean;
|
|
28
28
|
};
|
|
29
29
|
}
|
|
30
30
|
export default BasicDataTime;
|
|
@@ -20,7 +20,7 @@ declare class ErpTradeId implements ComponentInterface {
|
|
|
20
20
|
id: string;
|
|
21
21
|
name: string;
|
|
22
22
|
filterComponentType: "Input";
|
|
23
|
-
filterFn: (value: string) => (i: Record) =>
|
|
23
|
+
filterFn: (value: string) => (i: Record) => boolean;
|
|
24
24
|
};
|
|
25
25
|
}
|
|
26
26
|
export default ErpTradeId;
|
|
@@ -18,7 +18,7 @@ declare class Express implements ComponentInterface {
|
|
|
18
18
|
renderPc: (value: unknown, record: Record) => JSX.Element;
|
|
19
19
|
renderLog: (r: Record) => JSX.Element | null;
|
|
20
20
|
getComponentValue: (r: Record) => any;
|
|
21
|
-
renderExport: (value: string, record: Record) =>
|
|
21
|
+
renderExport: (value: string, record: Record) => string | number;
|
|
22
22
|
editRender: () => JSX.Element;
|
|
23
23
|
filterConfig: (item: ColumnConfig) => {
|
|
24
24
|
id: string;
|
|
@@ -22,7 +22,7 @@ declare class ExpressCode implements ComponentInterface {
|
|
|
22
22
|
id: string;
|
|
23
23
|
name: string;
|
|
24
24
|
filterComponentType: "Input";
|
|
25
|
-
filterFn: (value: string) => (i: Record) =>
|
|
25
|
+
filterFn: (value: string) => (i: Record) => boolean;
|
|
26
26
|
};
|
|
27
27
|
}
|
|
28
28
|
export default ExpressCode;
|
|
@@ -6,6 +6,7 @@ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key i
|
|
|
6
6
|
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
|
|
7
7
|
function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
|
|
8
8
|
import React from 'react';
|
|
9
|
+
import intersection from 'lodash/intersection';
|
|
9
10
|
import { filterFn as _filterFn } from '@kmkf-fe-packages/kmkf-utils';
|
|
10
11
|
var Handler = /*#__PURE__*/_createClass(function Handler(options) {
|
|
11
12
|
var _this = this;
|
|
@@ -56,7 +57,10 @@ var Handler = /*#__PURE__*/_createClass(function Handler(options) {
|
|
|
56
57
|
options: ((_this$effects = _this.effects) === null || _this$effects === void 0 ? void 0 : _this$effects.userList) || [],
|
|
57
58
|
filterFn: function filterFn(value) {
|
|
58
59
|
return function (i) {
|
|
59
|
-
|
|
60
|
+
var _ref;
|
|
61
|
+
return intersection(value, (_ref = _filterFn.filterTableListItemColumnValue(i, item.id) || []) === null || _ref === void 0 ? void 0 : _ref.map(function (item) {
|
|
62
|
+
return item === null || item === void 0 ? void 0 : item.account;
|
|
63
|
+
})).length > 0;
|
|
60
64
|
};
|
|
61
65
|
}
|
|
62
66
|
};
|
|
@@ -23,7 +23,7 @@ declare class JstLogistics implements ComponentInterface {
|
|
|
23
23
|
id: string;
|
|
24
24
|
name: string;
|
|
25
25
|
filterComponentType: "Input";
|
|
26
|
-
filterFn: (value: string) => (i: Record) =>
|
|
26
|
+
filterFn: (value: string) => (i: Record) => boolean;
|
|
27
27
|
options?: undefined;
|
|
28
28
|
} | {
|
|
29
29
|
id: string;
|
|
@@ -35,7 +35,7 @@ declare class Logistics implements ComponentInterface {
|
|
|
35
35
|
id: string;
|
|
36
36
|
name: string;
|
|
37
37
|
filterComponentType: "Input";
|
|
38
|
-
filterFn: (value: string) => (i: Record) =>
|
|
38
|
+
filterFn: (value: string) => (i: Record) => boolean;
|
|
39
39
|
})[];
|
|
40
40
|
}
|
|
41
41
|
export default Logistics;
|
|
@@ -13,7 +13,7 @@ declare class PaymentTid implements ComponentInterface {
|
|
|
13
13
|
isCombinationComponent: boolean;
|
|
14
14
|
children: ComponentInterface[];
|
|
15
15
|
originId: string;
|
|
16
|
-
addressDateInstance: AddressData;
|
|
16
|
+
addressDateInstance: typeof AddressData;
|
|
17
17
|
constructor(options: PickOption);
|
|
18
18
|
render: (value: any, record: any) => JSX.Element | null;
|
|
19
19
|
renderClient: (record: any) => JSX.Element | null;
|
|
@@ -13,9 +13,10 @@ declare class InterceptStatus implements ComponentInterface {
|
|
|
13
13
|
width: number;
|
|
14
14
|
isCombinationComponent: boolean;
|
|
15
15
|
children: ComponentInterface[];
|
|
16
|
-
expressDataInstance: ExpressInterceptData;
|
|
16
|
+
expressDataInstance: typeof ExpressInterceptData;
|
|
17
17
|
constructor(options: PickOption);
|
|
18
18
|
render: (value: any, record: any) => JSX.Element;
|
|
19
|
+
getComponentValue: (r: Record) => any;
|
|
19
20
|
renderClient: (record: any) => JSX.Element | null;
|
|
20
21
|
renderPc: (value: any, record: Record) => any;
|
|
21
22
|
renderLog: (r: Record) => any;
|
|
@@ -27,6 +27,9 @@ var InterceptStatus = /*#__PURE__*/_createClass(function InterceptStatus(options
|
|
|
27
27
|
_defineProperty(this, "render", function (value, record) {
|
|
28
28
|
return /*#__PURE__*/React.createElement("span", null, "TODO");
|
|
29
29
|
});
|
|
30
|
+
_defineProperty(this, "getComponentValue", function (r) {
|
|
31
|
+
return r === null || r === void 0 ? void 0 : r[_this.id];
|
|
32
|
+
});
|
|
30
33
|
_defineProperty(this, "renderClient", function (record) {
|
|
31
34
|
return !isNull(record === null || record === void 0 ? void 0 : record[_this.id]) ? /*#__PURE__*/React.createElement(ItemView, {
|
|
32
35
|
id: _this.id,
|
|
@@ -13,9 +13,10 @@ declare class InterceptType implements ComponentInterface {
|
|
|
13
13
|
width: number;
|
|
14
14
|
isCombinationComponent: boolean;
|
|
15
15
|
children: ComponentInterface[];
|
|
16
|
-
expressDataInstance: ExpressInterceptData;
|
|
16
|
+
expressDataInstance: typeof ExpressInterceptData;
|
|
17
17
|
constructor(options: PickOption);
|
|
18
18
|
render: (value: any, record: any) => JSX.Element;
|
|
19
|
+
getComponentValue: (r: Record) => any;
|
|
19
20
|
renderClient: (record: any) => JSX.Element | null;
|
|
20
21
|
renderPc: (value: any, record: Record) => any;
|
|
21
22
|
renderLog: (r: Record) => any;
|
|
@@ -27,6 +27,9 @@ var InterceptType = /*#__PURE__*/_createClass(function InterceptType(options) {
|
|
|
27
27
|
_defineProperty(this, "render", function (value, record) {
|
|
28
28
|
return /*#__PURE__*/React.createElement("span", null, "TODO");
|
|
29
29
|
});
|
|
30
|
+
_defineProperty(this, "getComponentValue", function (r) {
|
|
31
|
+
return r === null || r === void 0 ? void 0 : r[_this.id];
|
|
32
|
+
});
|
|
30
33
|
_defineProperty(this, "renderClient", function (record) {
|
|
31
34
|
return !isNull(record === null || record === void 0 ? void 0 : record[_this.id]) ? /*#__PURE__*/React.createElement(ItemView, {
|
|
32
35
|
id: _this.id,
|
|
@@ -19,8 +19,8 @@ declare class Logistics implements ComponentInterface {
|
|
|
19
19
|
children: ComponentInterface[];
|
|
20
20
|
express: Express;
|
|
21
21
|
expressCode: ExpressCode;
|
|
22
|
-
expressDateInstance: ExpressData;
|
|
23
|
-
|
|
22
|
+
expressDateInstance: typeof ExpressData;
|
|
23
|
+
expressInterceptData: typeof ExpressInterceptData;
|
|
24
24
|
effects: ComponentInterface["effects"];
|
|
25
25
|
constructor(options: PickOption);
|
|
26
26
|
render: () => null;
|
|
@@ -33,7 +33,7 @@ var Logistics = /*#__PURE__*/_createClass(function Logistics(options) {
|
|
|
33
33
|
_defineProperty(this, "express", void 0);
|
|
34
34
|
_defineProperty(this, "expressCode", void 0);
|
|
35
35
|
_defineProperty(this, "expressDateInstance", void 0);
|
|
36
|
-
_defineProperty(this, "
|
|
36
|
+
_defineProperty(this, "expressInterceptData", void 0);
|
|
37
37
|
_defineProperty(this, "effects", void 0);
|
|
38
38
|
_defineProperty(this, "render", function () {
|
|
39
39
|
return null;
|
|
@@ -62,7 +62,7 @@ var Logistics = /*#__PURE__*/_createClass(function Logistics(options) {
|
|
|
62
62
|
required: (_this$componentConfig = (_this$componentConfig2 = _this.componentConfig) === null || _this$componentConfig2 === void 0 ? void 0 : _this$componentConfig2.required) !== null && _this$componentConfig !== void 0 ? _this$componentConfig : false,
|
|
63
63
|
component: /*#__PURE__*/React.createElement(LogisticsInterception, _extends({}, _this.componentConfig, {
|
|
64
64
|
logisticsOptions: _this.expressDateInstance.getExpressData(),
|
|
65
|
-
expressInterceptData: _this.
|
|
65
|
+
expressInterceptData: _this.expressInterceptData.getExpressData(),
|
|
66
66
|
isEditing: (_this$effects = _this.effects) === null || _this$effects === void 0 ? void 0 : _this$effects.isEditing,
|
|
67
67
|
logisticsInterceptHandleStatus: ((_this$effects2 = _this.effects) === null || _this$effects2 === void 0 ? void 0 : (_this$effects2$workOr = _this$effects2.workOrderDetail) === null || _this$effects2$workOr === void 0 ? void 0 : _this$effects2$workOr.logisticsInterceptHandleStatus) || ""
|
|
68
68
|
}))
|
|
@@ -77,7 +77,7 @@ var Logistics = /*#__PURE__*/_createClass(function Logistics(options) {
|
|
|
77
77
|
this.componentConfig = options.componentConfig;
|
|
78
78
|
this.effects = options === null || options === void 0 ? void 0 : options.effects;
|
|
79
79
|
this.expressDateInstance = ExpressData.getInstance();
|
|
80
|
-
this.
|
|
80
|
+
this.expressInterceptData = ExpressInterceptData.getInstance();
|
|
81
81
|
this.interceptAddress = new InterceptAddress(options);
|
|
82
82
|
this.interceptType = new InterceptType(options);
|
|
83
83
|
this.interceptStatus = new InterceptStatus(options);
|
|
@@ -87,7 +87,7 @@ var AlipayNo = /*#__PURE__*/_createClass(function AlipayNo(options) {
|
|
|
87
87
|
this.children = [];
|
|
88
88
|
this.rules = [{
|
|
89
89
|
validator: function validator(_, value) {
|
|
90
|
-
if (/^(?:1[3-9]\d{9}|[a-zA-Z\d._-]
|
|
90
|
+
if (/^(?:1[3-9]\d{9}|[a-zA-Z\d._-]*@[a-zA-Z\d.-]{1,10}\.[a-zA-Z\d]{1,20})$/.test(value)) {
|
|
91
91
|
return Promise.resolve();
|
|
92
92
|
}
|
|
93
93
|
return Promise.reject(new Error('请输入有效的邮箱或者手机号'));
|
|
@@ -22,7 +22,7 @@ declare class AlipayTime implements ComponentInterface {
|
|
|
22
22
|
id: string;
|
|
23
23
|
name: string;
|
|
24
24
|
filterComponentType: "Input";
|
|
25
|
-
filterFn: (value: string[]) => (i: Record) =>
|
|
25
|
+
filterFn: (value: string[]) => (i: Record) => boolean;
|
|
26
26
|
};
|
|
27
27
|
}
|
|
28
28
|
export default AlipayTime;
|
|
@@ -22,7 +22,7 @@ declare class PaymentTid implements ComponentInterface {
|
|
|
22
22
|
id: string;
|
|
23
23
|
name: string;
|
|
24
24
|
filterComponentType: "Input";
|
|
25
|
-
filterFn: (value: string) => (i: Record) =>
|
|
25
|
+
filterFn: (value: string) => (i: Record) => boolean;
|
|
26
26
|
};
|
|
27
27
|
}
|
|
28
28
|
export default PaymentTid;
|
|
@@ -42,7 +42,7 @@ declare class Logistics implements ComponentInterface {
|
|
|
42
42
|
id: string;
|
|
43
43
|
name: string;
|
|
44
44
|
filterComponentType: "Input";
|
|
45
|
-
filterFn: (value: string) => (i: Record) =>
|
|
45
|
+
filterFn: (value: string) => (i: Record) => boolean;
|
|
46
46
|
} | {
|
|
47
47
|
id: string;
|
|
48
48
|
name: string;
|
|
@@ -56,7 +56,7 @@ declare class Logistics implements ComponentInterface {
|
|
|
56
56
|
id: string;
|
|
57
57
|
name: string;
|
|
58
58
|
filterComponentType: "Input";
|
|
59
|
-
filterFn: (value: string[]) => (i: Record) =>
|
|
59
|
+
filterFn: (value: string[]) => (i: Record) => boolean;
|
|
60
60
|
})[];
|
|
61
61
|
}
|
|
62
62
|
export default Logistics;
|
|
@@ -11,7 +11,7 @@ declare class PlatForm implements ComponentInterface {
|
|
|
11
11
|
platInstance: PlatData;
|
|
12
12
|
constructor();
|
|
13
13
|
renderPc: (value: any, record: Record) => JSX.Element;
|
|
14
|
-
renderExport: (value: any, record: Record) =>
|
|
14
|
+
renderExport: (value: any, record: Record) => string;
|
|
15
15
|
renderLog: (r: Record) => JSX.Element | null;
|
|
16
16
|
getComponentValue: (r: Record) => any;
|
|
17
17
|
render: () => null;
|
|
@@ -22,7 +22,10 @@ declare class PlatForm implements ComponentInterface {
|
|
|
22
22
|
name: string;
|
|
23
23
|
filterComponentType: "MultipleSelect";
|
|
24
24
|
filterFn: (value: string) => (i: Record) => boolean;
|
|
25
|
-
options:
|
|
25
|
+
options: {
|
|
26
|
+
label: string;
|
|
27
|
+
value: string;
|
|
28
|
+
}[];
|
|
26
29
|
};
|
|
27
30
|
}
|
|
28
31
|
export default PlatForm;
|
|
@@ -40,7 +40,7 @@ declare class ReturnLogistics implements ComponentInterface {
|
|
|
40
40
|
id: string;
|
|
41
41
|
name: string;
|
|
42
42
|
filterComponentType: "Input";
|
|
43
|
-
filterFn: (value: string) => (i: Record) =>
|
|
43
|
+
filterFn: (value: string) => (i: Record) => boolean;
|
|
44
44
|
})[];
|
|
45
45
|
}
|
|
46
46
|
export default ReturnLogistics;
|
|
@@ -21,7 +21,7 @@ declare class SystemOrderNo implements ComponentInterface {
|
|
|
21
21
|
id: string;
|
|
22
22
|
name: string;
|
|
23
23
|
filterComponentType: "Input";
|
|
24
|
-
filterFn: (value: string) => (i: Record) =>
|
|
24
|
+
filterFn: (value: string) => (i: Record) => boolean;
|
|
25
25
|
};
|
|
26
26
|
}
|
|
27
27
|
export default SystemOrderNo;
|
|
@@ -28,7 +28,7 @@ declare class BasicDataTime implements ComponentInterface {
|
|
|
28
28
|
id: string;
|
|
29
29
|
name: string;
|
|
30
30
|
filterComponentType: "Date";
|
|
31
|
-
filterFn: (value: string[]) => (i: Record) =>
|
|
31
|
+
filterFn: (value: string[]) => (i: Record) => boolean;
|
|
32
32
|
};
|
|
33
33
|
}
|
|
34
34
|
export default BasicDataTime;
|
|
@@ -27,7 +27,7 @@ declare class ETradeId implements ComponentInterface {
|
|
|
27
27
|
id: string;
|
|
28
28
|
name: string;
|
|
29
29
|
filterComponentType: "Input";
|
|
30
|
-
filterFn: (value: string) => (i: Record) =>
|
|
30
|
+
filterFn: (value: string) => (i: Record) => boolean;
|
|
31
31
|
};
|
|
32
32
|
}
|
|
33
33
|
export default ETradeId;
|
package/package.json
CHANGED
|
@@ -1,13 +1,15 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@kmkf-fe-packages/services-components",
|
|
3
|
-
"version": "0.6.3-alpha.
|
|
3
|
+
"version": "0.6.3-alpha.16",
|
|
4
4
|
"module": "dist/esm/index.js",
|
|
5
5
|
"typings": "dist/esm/index.d.ts",
|
|
6
6
|
"files": [
|
|
7
7
|
"dist"
|
|
8
8
|
],
|
|
9
9
|
"scripts": {
|
|
10
|
-
"build": "father build"
|
|
10
|
+
"build": "yarn run lint && father build",
|
|
11
|
+
"lint": "eslint '**/*.{ts,tsx}'",
|
|
12
|
+
"lint:fix": "eslint --fix '**/*.{ts,tsx}'"
|
|
11
13
|
},
|
|
12
14
|
"lint-staged": {
|
|
13
15
|
"*.{js,jsx,less,md,json}": [
|
|
@@ -18,11 +20,14 @@
|
|
|
18
20
|
]
|
|
19
21
|
},
|
|
20
22
|
"devDependencies": {
|
|
23
|
+
"@typescript-eslint/eslint-plugin": "^5.59.2",
|
|
24
|
+
"@typescript-eslint/parser": "^5.59.2",
|
|
25
|
+
"eslint": "^8.40.0",
|
|
21
26
|
"father": "^4.1.7"
|
|
22
27
|
},
|
|
23
28
|
"dependencies": {
|
|
24
|
-
"@kmkf-fe-packages/basic-components": "^0.6.3-alpha.
|
|
25
|
-
"@kmkf-fe-packages/kmkf-utils": "^0.6.3-alpha.
|
|
29
|
+
"@kmkf-fe-packages/basic-components": "^0.6.3-alpha.16",
|
|
30
|
+
"@kmkf-fe-packages/kmkf-utils": "^0.6.3-alpha.16"
|
|
26
31
|
},
|
|
27
32
|
"peerDependencies": {
|
|
28
33
|
"@ant-design/icons": "^4.7.0",
|
|
@@ -35,5 +40,5 @@
|
|
|
35
40
|
"gitHooks": {
|
|
36
41
|
"pre-commit": "lint-staged"
|
|
37
42
|
},
|
|
38
|
-
"gitHead": "
|
|
43
|
+
"gitHead": "b12616df54e56709922c3dc064f381f3032c0b73"
|
|
39
44
|
}
|