semanticdb-core 1.1.4 → 1.1.6

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.
@@ -353,11 +353,10 @@ const isSimpleQuery = (logicform) => {
353
353
  return false;
354
354
  if (logicform.having && Object.keys(logicform.having).length > 0)
355
355
  return false;
356
- const isPredsAllSimplePred = !(logicform.preds || [])
357
- .filter((predItem) => predItem.name !== '_id')
358
- .find((predItem) => predItem.operator && predItem.operator !== '$dateLevel'); // dateLevel是row based operator,以后想办法把这个逻辑抽象出来
359
- if (!isPredsAllSimplePred)
360
- return false;
361
- return true;
356
+ return (logicform.preds || [])
357
+ .every((predItem) => typeof predItem === 'string' ||
358
+ !predItem.operator ||
359
+ predItem.operator === '$dateLevel' // dateLevel是row based operator,以后想办法把这个逻辑抽象出来
360
+ );
362
361
  };
363
362
  exports.isSimpleQuery = isSimpleQuery;
@@ -9,159 +9,194 @@ const moment_1 = __importDefault(require("moment"));
9
9
  const numeral_1 = __importDefault(require("numeral"));
10
10
  // 覆盖numeral的一些逻辑。
11
11
  // 这里覆盖mk主要是为了去掉单位。单位由另外的地方提供,这样可以灵活一点
12
- numeral_1.default.register('format', 'million', {
13
- regexps: {
14
- format: /(m)/,
15
- unformat: /(m)/,
16
- },
17
- format: function (value, format, roundingFunction) {
18
- return numeral_1.default._.numberToFormat(value / 1000000, format.substring(0, format.length - 1), roundingFunction);
19
- },
20
- unformat: function (string) {
21
- return numeral_1.default._.stringToNumber(string) * 1000000;
22
- },
23
- });
12
+ try {
13
+ numeral_1.default.register('format', 'million', {
14
+ regexps: {
15
+ format: /(m)/,
16
+ unformat: /(m)/,
17
+ },
18
+ format: function (value, format, roundingFunction) {
19
+ return numeral_1.default._.numberToFormat(value / 1000000, format.substring(0, format.length - 1), roundingFunction);
20
+ },
21
+ unformat: function (string) {
22
+ return numeral_1.default._.stringToNumber(string) * 1000000;
23
+ },
24
+ });
25
+ }
26
+ catch (e) {
27
+ // ignore
28
+ }
24
29
  // billion的b在numeral里是预设字符,用来处理bytes的,改用z了
25
- numeral_1.default.register('format', 'billion', {
26
- regexps: {
27
- format: /(z)/,
28
- unformat: /(z)/,
29
- },
30
- format: function (value, format, roundingFunction) {
31
- return numeral_1.default._.numberToFormat(value / 1000000000, format.substring(0, format.length - 1), roundingFunction);
32
- },
33
- unformat: function (string) {
34
- return numeral_1.default._.stringToNumber(string) * 1000000000;
35
- },
36
- });
37
- numeral_1.default.register('format', 'thousand', {
38
- regexps: {
39
- format: /(k)/,
40
- unformat: /(k)/,
41
- },
42
- format: function (value, format, roundingFunction) {
43
- return numeral_1.default._.numberToFormat(value / 1000, format.substring(0, format.length - 1), roundingFunction);
44
- },
45
- unformat: function (string) {
46
- return numeral_1.default._.stringToNumber(string) * 1000;
47
- },
48
- });
49
- numeral_1.default.register('format', 'tenthousand', {
50
- regexps: {
51
- format: /(w)/,
52
- unformat: /(w)/,
53
- },
54
- format: function (value, format, roundingFunction) {
55
- return numeral_1.default._.numberToFormat(value / 10000, format.substring(0, format.length - 1), roundingFunction);
56
- },
57
- unformat: function (string) {
58
- return numeral_1.default._.stringToNumber(string) * 10000;
59
- },
60
- });
61
- numeral_1.default.register('format', 'yi', {
62
- regexps: {
63
- format: /(y)/,
64
- unformat: /(y)/,
65
- },
66
- format: function (value, format, roundingFunction) {
67
- return numeral_1.default._.numberToFormat(value / 100000000, format.substring(0, format.length - 1), roundingFunction);
68
- },
69
- unformat: function (string) {
70
- return numeral_1.default._.stringToNumber(string) * 100000000;
71
- },
72
- });
30
+ try {
31
+ numeral_1.default.register('format', 'billion', {
32
+ regexps: {
33
+ format: /(z)/,
34
+ unformat: /(z)/,
35
+ },
36
+ format: function (value, format, roundingFunction) {
37
+ return numeral_1.default._.numberToFormat(value / 1000000000, format.substring(0, format.length - 1), roundingFunction);
38
+ },
39
+ unformat: function (string) {
40
+ return numeral_1.default._.stringToNumber(string) * 1000000000;
41
+ },
42
+ });
43
+ }
44
+ catch (e) {
45
+ // ignore
46
+ }
47
+ try {
48
+ numeral_1.default.register('format', 'thousand', {
49
+ regexps: {
50
+ format: /(k)/,
51
+ unformat: /(k)/,
52
+ },
53
+ format: function (value, format, roundingFunction) {
54
+ return numeral_1.default._.numberToFormat(value / 1000, format.substring(0, format.length - 1), roundingFunction);
55
+ },
56
+ unformat: function (string) {
57
+ return numeral_1.default._.stringToNumber(string) * 1000;
58
+ },
59
+ });
60
+ }
61
+ catch (e) {
62
+ // ignore
63
+ }
64
+ try {
65
+ numeral_1.default.register('format', 'tenthousand', {
66
+ regexps: {
67
+ format: /(w)/,
68
+ unformat: /(w)/,
69
+ },
70
+ format: function (value, format, roundingFunction) {
71
+ return numeral_1.default._.numberToFormat(value / 10000, format.substring(0, format.length - 1), roundingFunction);
72
+ },
73
+ unformat: function (string) {
74
+ return numeral_1.default._.stringToNumber(string) * 10000;
75
+ },
76
+ });
77
+ }
78
+ catch (e) {
79
+ // ignore
80
+ }
81
+ try {
82
+ numeral_1.default.register('format', 'yi', {
83
+ regexps: {
84
+ format: /(y)/,
85
+ unformat: /(y)/,
86
+ },
87
+ format: function (value, format, roundingFunction) {
88
+ return numeral_1.default._.numberToFormat(value / 100000000, format.substring(0, format.length - 1), roundingFunction);
89
+ },
90
+ unformat: function (string) {
91
+ return numeral_1.default._.stringToNumber(string) * 100000000;
92
+ },
93
+ });
94
+ }
95
+ catch (e) {
96
+ // ignore
97
+ }
73
98
  // 中国的缩略,目前分为:元、万、亿,三个等级
74
- numeral_1.default.register('format', 'chineseabbreviation', {
75
- regexps: {
76
- format: /(A)/,
77
- unformat: /(A)/,
78
- },
79
- format: function (value, format, roundingFunction) {
80
- const wan = 10000.0; //
81
- const yi = 100000000.0; // 亿
82
- const abs = Math.abs(value);
83
- let adjValue;
84
- let unit = '';
85
- if (abs < wan) {
86
- adjValue = value;
87
- }
88
- else if (abs < yi) {
89
- adjValue = value / wan;
90
- unit = '万';
91
- }
92
- else {
93
- adjValue = value / yi;
94
- unit = '亿';
95
- }
96
- return numeral_1.default._.numberToFormat(adjValue, format.substring(0, format.length - 1), roundingFunction) + unit;
97
- },
98
- unformat: function (string) {
99
- const wan = 10000.0; // 万
100
- const yi = 100000000.0; // 亿
101
- let scale = 1.0;
102
- let numberString = string;
103
- if (string.endsWith('万')) {
104
- scale = wan;
105
- numberString = string.substring(0, string.length - 1);
106
- }
107
- else if (string.endsWith('亿')) {
108
- scale = yi;
109
- numberString = string.substring(0, string.length - 1);
110
- }
111
- return numeral_1.default._.stringToNumber(numberString) * scale;
112
- },
113
- });
99
+ try {
100
+ numeral_1.default.register('format', 'chineseabbreviation', {
101
+ regexps: {
102
+ format: /(A)/,
103
+ unformat: /(A)/,
104
+ },
105
+ format: function (value, format, roundingFunction) {
106
+ const wan = 10000.0; //
107
+ const yi = 100000000.0; // 亿
108
+ const abs = Math.abs(value);
109
+ let adjValue;
110
+ let unit = '';
111
+ if (abs < wan) {
112
+ adjValue = value;
113
+ }
114
+ else if (abs < yi) {
115
+ adjValue = value / wan;
116
+ unit = '万';
117
+ }
118
+ else {
119
+ adjValue = value / yi;
120
+ unit = '亿';
121
+ }
122
+ return numeral_1.default._.numberToFormat(adjValue, format.substring(0, format.length - 1), roundingFunction) + unit;
123
+ },
124
+ unformat: function (string) {
125
+ const wan = 10000.0; //
126
+ const yi = 100000000.0; // 亿
127
+ let scale = 1.0;
128
+ let numberString = string;
129
+ if (string.endsWith('万')) {
130
+ scale = wan;
131
+ numberString = string.substring(0, string.length - 1);
132
+ }
133
+ else if (string.endsWith('亿')) {
134
+ scale = yi;
135
+ numberString = string.substring(0, string.length - 1);
136
+ }
137
+ return numeral_1.default._.stringToNumber(numberString) * scale;
138
+ },
139
+ });
140
+ }
141
+ catch (e) {
142
+ // ignore
143
+ }
114
144
  // 国外的缩略,分为:个位数、k,m,b,四个等级
115
- numeral_1.default.register('format', 'engabbreviation', {
116
- regexps: {
117
- format: /(a)/,
118
- unformat: /(a)/,
119
- },
120
- format: function (value, format, roundingFunction) {
121
- const thousand = 1000.0; //
122
- const million = 1000000.0; // 百万
123
- const billion = 1000000000.0; // 十亿
124
- const abs = Math.abs(value);
125
- let adjValue;
126
- let unit = '';
127
- if (abs < thousand) {
128
- adjValue = value;
129
- }
130
- else if (abs < million) {
131
- adjValue = value / thousand;
132
- unit = 'k';
133
- }
134
- else if (abs < billion) {
135
- adjValue = value / million;
136
- unit = 'm';
137
- }
138
- else {
139
- adjValue = value / billion;
140
- unit = 'b';
141
- }
142
- return numeral_1.default._.numberToFormat(adjValue, format.substring(0, format.length - 1), roundingFunction) + unit;
143
- },
144
- unformat: function (string) {
145
- const thousand = 1000.0; // 千
146
- const million = 1000000.0; // 百万
147
- const billion = 1000000000.0; // 十亿
148
- let scale = 1.0;
149
- let numberString = string;
150
- if (string.endsWith('k')) {
151
- scale = thousand;
152
- numberString = string.substring(0, string.length - 1);
153
- }
154
- else if (string.endsWith('m')) {
155
- scale = million;
156
- numberString = string.substring(0, string.length - 1);
157
- }
158
- else if (string.endsWith('b')) {
159
- scale = billion;
160
- numberString = string.substring(0, string.length - 1);
161
- }
162
- return numeral_1.default._.stringToNumber(numberString) * scale;
163
- },
164
- });
145
+ try {
146
+ numeral_1.default.register('format', 'engabbreviation', {
147
+ regexps: {
148
+ format: /(a)/,
149
+ unformat: /(a)/,
150
+ },
151
+ format: function (value, format, roundingFunction) {
152
+ const thousand = 1000.0; //
153
+ const million = 1000000.0; // 百万
154
+ const billion = 1000000000.0; // 十亿
155
+ const abs = Math.abs(value);
156
+ let adjValue;
157
+ let unit = '';
158
+ if (abs < thousand) {
159
+ adjValue = value;
160
+ }
161
+ else if (abs < million) {
162
+ adjValue = value / thousand;
163
+ unit = 'k';
164
+ }
165
+ else if (abs < billion) {
166
+ adjValue = value / million;
167
+ unit = 'm';
168
+ }
169
+ else {
170
+ adjValue = value / billion;
171
+ unit = 'b';
172
+ }
173
+ return numeral_1.default._.numberToFormat(adjValue, format.substring(0, format.length - 1), roundingFunction) + unit;
174
+ },
175
+ unformat: function (string) {
176
+ const thousand = 1000.0; //
177
+ const million = 1000000.0; // 百万
178
+ const billion = 1000000000.0; // 十亿
179
+ let scale = 1.0;
180
+ let numberString = string;
181
+ if (string.endsWith('k')) {
182
+ scale = thousand;
183
+ numberString = string.substring(0, string.length - 1);
184
+ }
185
+ else if (string.endsWith('m')) {
186
+ scale = million;
187
+ numberString = string.substring(0, string.length - 1);
188
+ }
189
+ else if (string.endsWith('b')) {
190
+ scale = billion;
191
+ numberString = string.substring(0, string.length - 1);
192
+ }
193
+ return numeral_1.default._.stringToNumber(numberString) * scale;
194
+ },
195
+ });
196
+ }
197
+ catch (e) {
198
+ // ignore
199
+ }
165
200
  function getNameProperty(schema) {
166
201
  let nameProp = schema.properties.find((p) => { var _a; return p.is_name || ((_a = p.ui) === null || _a === void 0 ? void 0 : _a.name); });
167
202
  if (!nameProp) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "semanticdb-core",
3
- "version": "1.1.4",
3
+ "version": "1.1.6",
4
4
  "main": "dist/index.js",
5
5
  "types": "dist/index.d.ts",
6
6
  "files": [