@nocobase/utils 0.9.0-alpha.2 → 0.9.1-alpha.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/lib/date.d.ts CHANGED
@@ -8,3 +8,10 @@ export declare const getDefaultFormat: (props: any) => any;
8
8
  export declare const toGmt: (value: moment.Moment | moment.Moment[]) => string | string[] | moment.Moment | moment.Moment[];
9
9
  export declare const toLocal: (value: moment.Moment | moment.Moment[]) => string | string[] | moment.Moment | moment.Moment[];
10
10
  export declare const str2moment: (value?: string | string[], options?: Str2momentOptions) => any;
11
+ export interface Moment2strOptions {
12
+ showTime?: boolean;
13
+ gmt?: boolean;
14
+ picker?: 'year' | 'month' | 'week' | 'quarter';
15
+ }
16
+ export declare const moment2str: (value?: moment.Moment | moment.Moment[], options?: Moment2strOptions) => string | string[] | moment.Moment | moment.Moment[];
17
+ export declare const mapDateFormat: () => (props: any) => any;
package/lib/date.js CHANGED
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.toLocal = exports.toGmt = exports.str2moment = exports.getDefaultFormat = void 0;
6
+ exports.toLocal = exports.toGmt = exports.str2moment = exports.moment2str = exports.mapDateFormat = exports.getDefaultFormat = void 0;
7
7
 
8
8
  function _moment() {
9
9
  const data = _interopRequireDefault(require("moment"));
@@ -17,6 +17,12 @@ function _moment() {
17
17
 
18
18
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
19
19
 
20
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
21
+
22
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
23
+
24
+ function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
25
+
20
26
  const getDefaultFormat = props => {
21
27
  if (props.format) {
22
28
  return props.format;
@@ -104,4 +110,74 @@ const str2moment = (value, options = {}) => {
104
110
  }) : value ? toMoment(value, options) : value;
105
111
  };
106
112
 
107
- exports.str2moment = str2moment;
113
+ exports.str2moment = str2moment;
114
+
115
+ const toStringByPicker = (value, picker) => {
116
+ if (picker === 'year') {
117
+ return value.format('YYYY') + '-01-01T00:00:00.000Z';
118
+ }
119
+
120
+ if (picker === 'month') {
121
+ return value.format('YYYY-MM') + '-01T00:00:00.000Z';
122
+ }
123
+
124
+ if (picker === 'quarter') {
125
+ return value.format('YYYY-MM') + '-01T00:00:00.000Z';
126
+ }
127
+
128
+ if (picker === 'week') {
129
+ return value.format('YYYY-MM-DD') + 'T00:00:00.000Z';
130
+ }
131
+
132
+ return value.format('YYYY-MM-DD') + 'T00:00:00.000Z';
133
+ };
134
+
135
+ const toGmtByPicker = (value, picker) => {
136
+ if (!value) {
137
+ return value;
138
+ }
139
+
140
+ if (Array.isArray(value)) {
141
+ return value.map(val => toStringByPicker(val, picker));
142
+ }
143
+
144
+ if (_moment().default.isMoment(value)) {
145
+ return toStringByPicker(value, picker);
146
+ }
147
+ };
148
+
149
+ const moment2str = (value, options = {}) => {
150
+ const showTime = options.showTime,
151
+ gmt = options.gmt,
152
+ picker = options.picker;
153
+
154
+ if (!value) {
155
+ return value;
156
+ }
157
+
158
+ if (showTime) {
159
+ return gmt ? toGmt(value) : toLocal(value);
160
+ }
161
+
162
+ return toGmtByPicker(value, picker);
163
+ };
164
+
165
+ exports.moment2str = moment2str;
166
+
167
+ const mapDateFormat = function mapDateFormat() {
168
+ return props => {
169
+ const format = getDefaultFormat(props);
170
+ const _onChange = props.onChange;
171
+ return _objectSpread(_objectSpread({}, props), {}, {
172
+ format: format,
173
+ value: str2moment(props.value, props),
174
+ onChange: value => {
175
+ if (_onChange) {
176
+ _onChange(moment2str(value, props));
177
+ }
178
+ }
179
+ });
180
+ };
181
+ };
182
+
183
+ exports.mapDateFormat = mapDateFormat;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nocobase/utils",
3
- "version": "0.9.0-alpha.2",
3
+ "version": "0.9.1-alpha.2",
4
4
  "main": "lib/index.js",
5
5
  "types": "./lib/index.d.ts",
6
6
  "license": "Apache-2.0",
@@ -13,5 +13,5 @@
13
13
  "moment": "2.x",
14
14
  "rc-input-number": "7.x"
15
15
  },
16
- "gitHead": "b8f76ad38e60e677c5bb4aab0a4cdb28d98a0f49"
16
+ "gitHead": "d588a68eca4feed4642a4cb317301011266fe5c9"
17
17
  }