@nocobase/utils 1.3.39-beta → 1.4.0-alpha
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/lib/date.d.ts +1 -0
- package/lib/date.js +35 -10
- package/lib/parse-filter.js +3 -0
- package/package.json +2 -2
package/lib/date.d.ts
CHANGED
|
@@ -35,3 +35,4 @@ export declare const moment2str: (value?: dayjs.Dayjs, options?: Moment2strOptio
|
|
|
35
35
|
* from https://github.com/moment/moment/blob/dca02edaeceda3fcd52b20b51c130631a058a022/src/lib/units/offset.js#L55-L70
|
|
36
36
|
*/
|
|
37
37
|
export declare function offsetFromString(string: string | number): number;
|
|
38
|
+
export declare const getPickerFormat: (picker: any) => "YYYY-MM" | "YYYY" | "YYYY[W]W" | "YYYY-MM-DD" | "YYYY[Q]Q";
|
package/lib/date.js
CHANGED
|
@@ -38,6 +38,7 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
|
|
|
38
38
|
var date_exports = {};
|
|
39
39
|
__export(date_exports, {
|
|
40
40
|
getDefaultFormat: () => getDefaultFormat,
|
|
41
|
+
getPickerFormat: () => getPickerFormat,
|
|
41
42
|
moment2str: () => moment2str,
|
|
42
43
|
offsetFromString: () => offsetFromString,
|
|
43
44
|
str2moment: () => str2moment,
|
|
@@ -64,7 +65,7 @@ const getDefaultFormat = /* @__PURE__ */ __name((props) => {
|
|
|
64
65
|
} else if (props["picker"] === "year") {
|
|
65
66
|
return "YYYY";
|
|
66
67
|
} else if (props["picker"] === "week") {
|
|
67
|
-
return "YYYY
|
|
68
|
+
return "YYYY[W]W";
|
|
68
69
|
}
|
|
69
70
|
return props["showTime"] ? "YYYY-MM-DD HH:mm:ss" : "YYYY-MM-DD";
|
|
70
71
|
}, "getDefaultFormat");
|
|
@@ -85,22 +86,31 @@ const toLocal = /* @__PURE__ */ __name((value) => {
|
|
|
85
86
|
return value.startOf("second").toISOString();
|
|
86
87
|
}
|
|
87
88
|
}, "toLocal");
|
|
89
|
+
const convertQuarterToFirstDay = /* @__PURE__ */ __name((quarterStr) => {
|
|
90
|
+
const year = parseInt(quarterStr.slice(0, 4));
|
|
91
|
+
const quarter = parseInt(quarterStr.slice(-1));
|
|
92
|
+
return (0, import_dayjs.dayjs)().quarter(quarter).year(year);
|
|
93
|
+
}, "convertQuarterToFirstDay");
|
|
88
94
|
const toMoment = /* @__PURE__ */ __name((val, options) => {
|
|
89
95
|
if (!val) {
|
|
90
96
|
return;
|
|
91
97
|
}
|
|
92
98
|
const offset = options.utcOffset || -1 * (/* @__PURE__ */ new Date()).getTimezoneOffset();
|
|
93
99
|
const { gmt, picker, utc = true } = options;
|
|
94
|
-
if (
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
100
|
+
if ((0, import_dayjs.dayjs)(val).isValid()) {
|
|
101
|
+
if (!utc) {
|
|
102
|
+
return (0, import_dayjs.dayjs)(val);
|
|
103
|
+
}
|
|
104
|
+
if (import_dayjs.dayjs.isDayjs(val)) {
|
|
105
|
+
return val.utcOffset(offsetFromString(offset));
|
|
106
|
+
}
|
|
107
|
+
if (gmt) {
|
|
108
|
+
return (0, import_dayjs.dayjs)(val).utcOffset(0);
|
|
109
|
+
}
|
|
110
|
+
return (0, import_dayjs.dayjs)(val).utcOffset(offsetFromString(offset));
|
|
111
|
+
} else {
|
|
112
|
+
return convertQuarterToFirstDay(val);
|
|
102
113
|
}
|
|
103
|
-
return (0, import_dayjs.dayjs)(val).utcOffset(offsetFromString(offset));
|
|
104
114
|
}, "toMoment");
|
|
105
115
|
const str2moment = /* @__PURE__ */ __name((value, options = {}) => {
|
|
106
116
|
return Array.isArray(value) ? value.map((val) => {
|
|
@@ -178,9 +188,24 @@ function absFloor(number) {
|
|
|
178
188
|
}
|
|
179
189
|
}
|
|
180
190
|
__name(absFloor, "absFloor");
|
|
191
|
+
const getPickerFormat = /* @__PURE__ */ __name((picker) => {
|
|
192
|
+
switch (picker) {
|
|
193
|
+
case "week":
|
|
194
|
+
return "YYYY[W]W";
|
|
195
|
+
case "month":
|
|
196
|
+
return "YYYY-MM";
|
|
197
|
+
case "quarter":
|
|
198
|
+
return "YYYY[Q]Q";
|
|
199
|
+
case "year":
|
|
200
|
+
return "YYYY";
|
|
201
|
+
default:
|
|
202
|
+
return "YYYY-MM-DD";
|
|
203
|
+
}
|
|
204
|
+
}, "getPickerFormat");
|
|
181
205
|
// Annotate the CommonJS export names for ESM import in node:
|
|
182
206
|
0 && (module.exports = {
|
|
183
207
|
getDefaultFormat,
|
|
208
|
+
getPickerFormat,
|
|
184
209
|
moment2str,
|
|
185
210
|
offsetFromString,
|
|
186
211
|
str2moment,
|
package/lib/parse-filter.js
CHANGED
|
@@ -191,6 +191,9 @@ const parseFilter = /* @__PURE__ */ __name(async (filter, opts = {}) => {
|
|
|
191
191
|
}
|
|
192
192
|
if (isDateOperator(operator)) {
|
|
193
193
|
const field = getField == null ? void 0 : getField(path);
|
|
194
|
+
if ((field == null ? void 0 : field.constructor.name) === "DateOnlyField" || (field == null ? void 0 : field.constructor.name) === "DatetimeNoTzField") {
|
|
195
|
+
return value;
|
|
196
|
+
}
|
|
194
197
|
return dateValueWrapper(value, (field == null ? void 0 : field.timezone) || timezone);
|
|
195
198
|
}
|
|
196
199
|
return value;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@nocobase/utils",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.4.0-alpha",
|
|
4
4
|
"main": "lib/index.js",
|
|
5
5
|
"types": "./lib/index.d.ts",
|
|
6
6
|
"license": "AGPL-3.0",
|
|
@@ -14,5 +14,5 @@
|
|
|
14
14
|
"multer": "^1.4.5-lts.1",
|
|
15
15
|
"object-path": "^0.11.8"
|
|
16
16
|
},
|
|
17
|
-
"gitHead": "
|
|
17
|
+
"gitHead": "f097a2bddec152522b5645bd5d451f4c866d2060"
|
|
18
18
|
}
|