w-orm-postgresql 1.0.0

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.
Files changed (51) hide show
  1. package/.editorconfig +9 -0
  2. package/.eslintignore +3 -0
  3. package/.eslintrc.js +55 -0
  4. package/.jsdoc +25 -0
  5. package/LICENSE +21 -0
  6. package/README.md +324 -0
  7. package/SECURITY.md +5 -0
  8. package/babel.config.js +15 -0
  9. package/dist/w-orm-postgresql.umd.js +7 -0
  10. package/dist/w-orm-postgresql.umd.js.map +1 -0
  11. package/docs/WOrmPostgresql.html +1655 -0
  12. package/docs/WOrmPostgresql.mjs.html +952 -0
  13. package/docs/fonts/Montserrat/Montserrat-Bold.eot +0 -0
  14. package/docs/fonts/Montserrat/Montserrat-Bold.ttf +0 -0
  15. package/docs/fonts/Montserrat/Montserrat-Bold.woff +0 -0
  16. package/docs/fonts/Montserrat/Montserrat-Bold.woff2 +0 -0
  17. package/docs/fonts/Montserrat/Montserrat-Regular.eot +0 -0
  18. package/docs/fonts/Montserrat/Montserrat-Regular.ttf +0 -0
  19. package/docs/fonts/Montserrat/Montserrat-Regular.woff +0 -0
  20. package/docs/fonts/Montserrat/Montserrat-Regular.woff2 +0 -0
  21. package/docs/fonts/Source-Sans-Pro/sourcesanspro-light-webfont.eot +0 -0
  22. package/docs/fonts/Source-Sans-Pro/sourcesanspro-light-webfont.svg +978 -0
  23. package/docs/fonts/Source-Sans-Pro/sourcesanspro-light-webfont.ttf +0 -0
  24. package/docs/fonts/Source-Sans-Pro/sourcesanspro-light-webfont.woff +0 -0
  25. package/docs/fonts/Source-Sans-Pro/sourcesanspro-light-webfont.woff2 +0 -0
  26. package/docs/fonts/Source-Sans-Pro/sourcesanspro-regular-webfont.eot +0 -0
  27. package/docs/fonts/Source-Sans-Pro/sourcesanspro-regular-webfont.svg +1049 -0
  28. package/docs/fonts/Source-Sans-Pro/sourcesanspro-regular-webfont.ttf +0 -0
  29. package/docs/fonts/Source-Sans-Pro/sourcesanspro-regular-webfont.woff +0 -0
  30. package/docs/fonts/Source-Sans-Pro/sourcesanspro-regular-webfont.woff2 +0 -0
  31. package/docs/index.html +84 -0
  32. package/docs/scripts/collapse.js +39 -0
  33. package/docs/scripts/commonNav.js +28 -0
  34. package/docs/scripts/linenumber.js +25 -0
  35. package/docs/scripts/nav.js +12 -0
  36. package/docs/scripts/polyfill.js +4 -0
  37. package/docs/scripts/prettify/Apache-License-2.0.txt +202 -0
  38. package/docs/scripts/prettify/lang-css.js +2 -0
  39. package/docs/scripts/prettify/prettify.js +28 -0
  40. package/docs/scripts/search.js +99 -0
  41. package/docs/styles/jsdoc.css +776 -0
  42. package/docs/styles/prettify.css +80 -0
  43. package/g-basic.mjs +306 -0
  44. package/package.json +32 -0
  45. package/script.txt +18 -0
  46. package/src/WOrmPostgresql.mjs +880 -0
  47. package/test/basic.test.mjs +429 -0
  48. package/toolg/addVersion.mjs +4 -0
  49. package/toolg/cleanFolder.mjs +4 -0
  50. package/toolg/gDistRollup.mjs +25 -0
  51. package/toolg/modifyReadme.mjs +4 -0
package/.editorconfig ADDED
@@ -0,0 +1,9 @@
1
+ root = true
2
+
3
+ [*]
4
+ charset = utf-8
5
+ indent_style = space
6
+ indent_size = 4
7
+ end_of_line = lf
8
+ insert_final_newline = true
9
+ trim_trailing_whitespace = true
package/.eslintignore ADDED
@@ -0,0 +1,3 @@
1
+ /build/
2
+ /config/
3
+ /dist/
package/.eslintrc.js ADDED
@@ -0,0 +1,55 @@
1
+ module.exports = {
2
+ 'env': {
3
+ 'browser': true,
4
+ 'es6': true,
5
+ 'mocha': true
6
+ },
7
+ 'extends': ['plugin:vue/base', 'plugin:vue/essential', 'standard'],
8
+ 'plugins': [
9
+ 'vue'
10
+ ],
11
+ 'globals': {
12
+ 'Atomics': 'readonly',
13
+ 'SharedArrayBuffer': 'readonly'
14
+ },
15
+ 'parser': 'vue-eslint-parser',
16
+ 'parserOptions': {
17
+ 'parser': '@babel/eslint-parser',
18
+ 'ecmaVersion': 2019,
19
+ 'sourceType': 'module',
20
+ },
21
+ 'rules': {
22
+ 'generator-star-spacing': 'off',
23
+ 'no-debugger': process.env.NODE_ENV === 'production' ? 'error' : 'off',
24
+ 'indent': ['error', 4],
25
+ 'no-console': 'off',
26
+ 'comma-dangle': ['error', {
27
+ 'arrays': 'ignore',
28
+ 'objects': 'ignore',
29
+ 'imports': 'never',
30
+ 'exports': 'never',
31
+ 'functions': 'ignore'
32
+ }],
33
+ 'no-multiple-empty-lines': ['error', { 'max': 2, 'maxEOF': 2 }],
34
+ //'space-before-function-paren': ['error', { 'anonymous': 'always', 'named': 'never' }],
35
+ 'space-before-function-paren': 'off',
36
+ 'spaced-comment': 'off',
37
+ 'brace-style': ['error', 'stroustrup'],
38
+ 'padded-blocks': 'off',
39
+ 'no-constant-condition': 'off',
40
+ 'camelcase': 'off',
41
+ 'no-new': 'off',
42
+ 'prefer-const': 'off',
43
+ 'quote-props': ['error', 'consistent'],
44
+ 'dot-notation': 'off',
45
+ 'standard/no-callback-literal': 'off',
46
+ 'quotes': ['error', 'single', { 'allowTemplateLiterals': true }],
47
+ 'prefer-promise-reject-errors': 'off',
48
+ 'no-unused-vars': ['error', { 'args': 'none', 'ignoreRestSiblings': true, 'argsIgnorePattern': '^_' }],
49
+ 'node/no-callback-literal': 'off',
50
+ 'prefer-regex-literals': 'off',
51
+ 'array-callback-return': 'off',
52
+ 'no-unreachable-loop': 'off',
53
+ 'vue/multi-word-component-names': 'off',
54
+ }
55
+ }
package/.jsdoc ADDED
@@ -0,0 +1,25 @@
1
+ {
2
+ "tags": {
3
+ "allowUnknownTags": false
4
+ },
5
+ "source": {
6
+ "include": ["src/", "server/"],
7
+ "includePattern": ".+\\.(js(doc|x)?|mjs|vue)$",
8
+ "excludePattern": "(node_modules/|docs)"
9
+ },
10
+ "plugins": [
11
+ "plugins/markdown",
12
+ "node_modules/jsdoc-vuejs"
13
+ ],
14
+ "opts": {
15
+ "template": "node_modules/docdash",
16
+ "encoding": "utf8",
17
+ "destination": "docs/",
18
+ "recurse": true,
19
+ "verbose": true
20
+ },
21
+ "templates": {
22
+ "cleverLinks": false,
23
+ "monospaceLinks": false
24
+ }
25
+ }
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2022 semisphere(yu-da, lyu 呂昱達)
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md ADDED
@@ -0,0 +1,324 @@
1
+ # w-orm-postgresql
2
+ An operator for postgresql in nodejs.
3
+
4
+ ![language](https://img.shields.io/badge/language-JavaScript-orange.svg)
5
+ [![npm version](http://img.shields.io/npm/v/w-orm-postgresql.svg?style=flat)](https://npmjs.org/package/w-orm-postgresql)
6
+ [![license](https://img.shields.io/npm/l/w-orm-postgresql.svg?style=flat)](https://npmjs.org/package/w-orm-postgresql)
7
+ [![npm download](https://img.shields.io/npm/dt/w-orm-postgresql.svg)](https://npmjs.org/package/w-orm-postgresql)
8
+ [![npm download](https://img.shields.io/npm/dm/w-orm-postgresql.svg)](https://npmjs.org/package/w-orm-postgresql)
9
+ [![jsdelivr download](https://img.shields.io/jsdelivr/npm/hm/w-orm-postgresql.svg)](https://www.jsdelivr.com/package/npm/w-orm-postgresql)
10
+
11
+ ## Documentation
12
+ To view documentation or get support, visit [docs](https://yuda-lyu.github.io/w-orm-postgresql/WOrm.html).
13
+
14
+ ## Installation
15
+ ### Using npm(ES6 module):
16
+ ```alias
17
+ npm i w-orm-postgresql
18
+ ```
19
+ #### Example for collection
20
+ > **Link:** [[dev source code](https://github.com/yuda-lyu/w-orm-postgresql/blob/master/g-basic.mjs)]
21
+ ```alias
22
+ import wo from 'w-orm-postgresql'
23
+
24
+ let opt = {
25
+ url: 'postgresql://username:password@127.0.0.1:5432',
26
+ db: 'worm',
27
+ cl: 'users',
28
+ }
29
+
30
+ let rs = [
31
+ {
32
+ time: '2025-01-01T00:00:00Z',
33
+ name: 'peter',
34
+ value: 123,
35
+ },
36
+ {
37
+ time: '2025-01-01T00:01:00Z',
38
+ name: 'rosemary',
39
+ value: 123.456,
40
+ },
41
+ {
42
+ time: '2025-01-01T00:02:00Z',
43
+ name: 'kettle',
44
+ value: 456,
45
+ },
46
+ {
47
+ time: '2025-01-01T00:03:00Z',
48
+ name: 'peter',
49
+ value: 200,
50
+ },
51
+ {
52
+ time: '2025-01-01T00:04:00Z',
53
+ name: 'rosemary',
54
+ value: 123.1236,
55
+ },
56
+ {
57
+ time: '2025-01-01T00:05:00Z',
58
+ name: 'kettle',
59
+ value: 488,
60
+ },
61
+ {
62
+ time: '2025-01-01T00:06:00Z',
63
+ name: 'peter',
64
+ value: 125,
65
+ },
66
+ {
67
+ time: '2025-01-01T00:07:00Z',
68
+ name: 'rosemary',
69
+ value: 124.76,
70
+ },
71
+ {
72
+ time: '2025-01-01T00:08:00Z',
73
+ name: 'kettle',
74
+ value: 524,
75
+ },
76
+ {
77
+ time: '2025-01-01T00:09:00Z',
78
+ name: 'peter',
79
+ value: 127,
80
+ },
81
+ {
82
+ time: '2025-01-01T00:10:00Z',
83
+ name: 'rosemary',
84
+ value: 113.98,
85
+ },
86
+ {
87
+ time: '2025-01-01T00:11:00Z',
88
+ name: 'kettle',
89
+ value: 447,
90
+ },
91
+ {
92
+ time: '2025-01-01T00:12:00Z',
93
+ name: 'peter',
94
+ value: 131,
95
+ },
96
+ ]
97
+
98
+ let rsm = [
99
+ { //相同
100
+ time: '2025-01-01T00:09:00Z',
101
+ name: 'peter',
102
+ value: 127,
103
+ },
104
+ { //name變更
105
+ time: '2025-01-01T00:10:00Z',
106
+ name: 'rosemary(modify)',
107
+ value: 113.98,
108
+ },
109
+ { //name變更
110
+ time: '2025-01-01T00:11:00Z',
111
+ name: 'kettle(modify)',
112
+ value: 447,
113
+ },
114
+ { //無name且value變更
115
+ time: '2025-01-01T00:12:00Z',
116
+ // name: 'peter',
117
+ value: 99,
118
+ },
119
+ { //無time須新增且新增數據無value
120
+ time: '2025-01-01T00:13:00Z',
121
+ name: 'sandler',
122
+ },
123
+ ]
124
+
125
+ async function test() {
126
+
127
+ //w
128
+ let w = wo(opt)
129
+ // console.log('w', w)
130
+
131
+ await w.createTable(opt.cl, 'time', {
132
+ time: '2000-01-01T00:00:00Z', //time
133
+ name: 'abc', //string
134
+ value: 0.1, //float
135
+ })
136
+ .then(function(msg) {
137
+ // console.log('createTable then', msg)
138
+ })
139
+ .catch(function(msg) {
140
+ // console.log('createTable catch', msg)
141
+ })
142
+
143
+ //on
144
+ w.on('change', function(mode, data, res) {
145
+ console.log('change', mode)
146
+ })
147
+
148
+ //delAll
149
+ await w.delAll()
150
+ .then(function(msg) {
151
+ console.log('delAll then', msg)
152
+ })
153
+ .catch(function(msg) {
154
+ console.log('delAll catch', msg)
155
+ })
156
+
157
+ //insert
158
+ await w.insert(rs)
159
+ .then(function(msg) {
160
+ console.log('insert then', msg)
161
+ })
162
+ .catch(function(msg) {
163
+ console.log('insert catch', msg)
164
+ })
165
+
166
+ //save
167
+ await w.save(rsm, { autoInsert: true })
168
+ .then(function(msg) {
169
+ console.log('save then', msg)
170
+ })
171
+ .catch(function(msg) {
172
+ console.log('save catch', msg)
173
+ })
174
+
175
+ //select all
176
+ let ss = await w.select()
177
+ console.log('select all', ss)
178
+
179
+ //select
180
+ let so = await w.select({ name: 'rosemary' })
181
+ console.log('select by name', so)
182
+
183
+ //select by $and, $gt, $lt
184
+ let spa = await w.select({ '$and': [{ value: { '$gt': 123 } }, { value: { '$lt': 200 } }] })
185
+ console.log('select by $and, $gt, $lt', spa)
186
+
187
+ //select by $or, $gte, $lte
188
+ let spb = await w.select({ '$or': [{ value: { '$lte': -1 } }, { value: { '$gte': 200 } }] })
189
+ console.log('select by $or, $gte, $lte', spb)
190
+
191
+ //select by $or, $and, $ne, $in, $nin
192
+ let spc = await w.select({ '$or': [{ '$and': [{ value: { '$ne': 123 } }, { value: { '$in': [123, 321, 123.456, 456] } }, { value: { '$nin': [456, 654] } }] }, { '$or': [{ value: { '$lte': -1 } }, { value: { '$gte': 400 } }] }] })
193
+ console.log('select by $or, $and, $ne, $in, $nin', spc)
194
+
195
+ // //select by regex
196
+ // let sr = await w.select({ name: { $regex: 'PeT', $options: '$i' } })
197
+ // console.log('selectReg', sr)
198
+
199
+ //del
200
+ let d = {
201
+ time: '2024-01-01T00:00:00Z',
202
+ }
203
+ await w.del(d)
204
+ .then(function(msg) {
205
+ console.log('del then', msg)
206
+ })
207
+ .catch(function(msg) {
208
+ console.log('del catch', msg)
209
+ })
210
+
211
+ //del
212
+ let ds = ss.filter(function(v) {
213
+ return v.name.indexOf('peter') >= 0 || v.name.indexOf('kettle') >= 0 || v.name.indexOf('sandler') >= 0
214
+ })
215
+ await w.del(ds)
216
+ .then(function(msg) {
217
+ console.log('del then', msg)
218
+ })
219
+ .catch(function(msg) {
220
+ console.log('del catch', msg)
221
+ })
222
+
223
+ //select all final
224
+ let ss2 = await w.select()
225
+ console.log('select all final', ss2)
226
+
227
+ }
228
+ test()
229
+ // change delAll
230
+ // delAll then { n: 5, nDeleted: 5, ok: 1 }
231
+ // change insert
232
+ // insert then { n: 13, nInserted: 13, ok: 1 }
233
+ // change save
234
+ // save then [
235
+ // { n: 1, nModified: 0, ok: 1 },
236
+ // { n: 1, nModified: 1, ok: 1 },
237
+ // { n: 1, nModified: 1, ok: 1 },
238
+ // { n: 1, nModified: 1, ok: 1 },
239
+ // { n: 1, nInserted: 1, ok: 1 }
240
+ // ]
241
+ // select all [
242
+ // { time: 2025-01-01T00:00:00.000Z, name: 'peter', value: 123 },
243
+ // { time: 2025-01-01T00:01:00.000Z, name: 'rosemary', value: 123.456 },
244
+ // { time: 2025-01-01T00:02:00.000Z, name: 'kettle', value: 456 },
245
+ // { time: 2025-01-01T00:03:00.000Z, name: 'peter', value: 200 },
246
+ // { time: 2025-01-01T00:04:00.000Z, name: 'rosemary', value: 123.1236 },
247
+ // { time: 2025-01-01T00:05:00.000Z, name: 'kettle', value: 488 },
248
+ // { time: 2025-01-01T00:06:00.000Z, name: 'peter', value: 125 },
249
+ // { time: 2025-01-01T00:07:00.000Z, name: 'rosemary', value: 124.76 },
250
+ // { time: 2025-01-01T00:08:00.000Z, name: 'kettle', value: 524 },
251
+ // { time: 2025-01-01T00:09:00.000Z, name: 'peter', value: 127 },
252
+ // {
253
+ // time: 2025-01-01T00:10:00.000Z,
254
+ // name: 'rosemary(modify)',
255
+ // value: 113.98
256
+ // },
257
+ // {
258
+ // time: 2025-01-01T00:11:00.000Z,
259
+ // name: 'kettle(modify)',
260
+ // value: 447
261
+ // },
262
+ // { time: 2025-01-01T00:12:00.000Z, name: 'peter', value: 99 },
263
+ // { time: 2025-01-01T00:13:00.000Z, name: 'sandler', value: null }
264
+ // ]
265
+ // select by name [
266
+ // { time: 2025-01-01T00:01:00.000Z, name: 'rosemary', value: 123.456 },
267
+ // { time: 2025-01-01T00:04:00.000Z, name: 'rosemary', value: 123.1236 },
268
+ // { time: 2025-01-01T00:07:00.000Z, name: 'rosemary', value: 124.76 }
269
+ // ]
270
+ // select by $and, $gt, $lt [
271
+ // { time: 2025-01-01T00:01:00.000Z, name: 'rosemary', value: 123.456 },
272
+ // { time: 2025-01-01T00:04:00.000Z, name: 'rosemary', value: 123.1236 },
273
+ // { time: 2025-01-01T00:06:00.000Z, name: 'peter', value: 125 },
274
+ // { time: 2025-01-01T00:07:00.000Z, name: 'rosemary', value: 124.76 },
275
+ // { time: 2025-01-01T00:09:00.000Z, name: 'peter', value: 127 }
276
+ // ]
277
+ // select by $or, $gte, $lte [
278
+ // { time: 2025-01-01T00:02:00.000Z, name: 'kettle', value: 456 },
279
+ // { time: 2025-01-01T00:03:00.000Z, name: 'peter', value: 200 },
280
+ // { time: 2025-01-01T00:05:00.000Z, name: 'kettle', value: 488 },
281
+ // { time: 2025-01-01T00:08:00.000Z, name: 'kettle', value: 524 },
282
+ // {
283
+ // time: 2025-01-01T00:11:00.000Z,
284
+ // name: 'kettle(modify)',
285
+ // value: 447
286
+ // }
287
+ // ]
288
+ // select by $or, $and, $ne, $in, $nin [
289
+ // { time: 2025-01-01T00:01:00.000Z, name: 'rosemary', value: 123.456 },
290
+ // { time: 2025-01-01T00:02:00.000Z, name: 'kettle', value: 456 },
291
+ // { time: 2025-01-01T00:05:00.000Z, name: 'kettle', value: 488 },
292
+ // { time: 2025-01-01T00:08:00.000Z, name: 'kettle', value: 524 },
293
+ // {
294
+ // time: 2025-01-01T00:11:00.000Z,
295
+ // name: 'kettle(modify)',
296
+ // value: 447
297
+ // }
298
+ // ]
299
+ // change del
300
+ // del then [ { n: 1, nDeleted: 0, ok: 1 } ]
301
+ // change del
302
+ // del then [
303
+ // { n: 1, nDeleted: 1, ok: 1 },
304
+ // { n: 1, nDeleted: 1, ok: 1 },
305
+ // { n: 1, nDeleted: 1, ok: 1 },
306
+ // { n: 1, nDeleted: 1, ok: 1 },
307
+ // { n: 1, nDeleted: 1, ok: 1 },
308
+ // { n: 1, nDeleted: 1, ok: 1 },
309
+ // { n: 1, nDeleted: 1, ok: 1 },
310
+ // { n: 1, nDeleted: 1, ok: 1 },
311
+ // { n: 1, nDeleted: 1, ok: 1 },
312
+ // { n: 1, nDeleted: 1, ok: 1 }
313
+ // ]
314
+ // select all final [
315
+ // { time: 2025-01-01T00:01:00.000Z, name: 'rosemary', value: 123.456 },
316
+ // { time: 2025-01-01T00:04:00.000Z, name: 'rosemary', value: 123.1236 },
317
+ // { time: 2025-01-01T00:07:00.000Z, name: 'rosemary', value: 124.76 },
318
+ // {
319
+ // time: 2025-01-01T00:10:00.000Z,
320
+ // name: 'rosemary(modify)',
321
+ // value: 113.98
322
+ // }
323
+ // ]
324
+ ```
package/SECURITY.md ADDED
@@ -0,0 +1,5 @@
1
+ # Security Policy
2
+
3
+ ## Reporting a Vulnerability
4
+
5
+ Please report security issues to `firsemisphere@gmail.com`
@@ -0,0 +1,15 @@
1
+ module.exports = {
2
+ 'presets': [
3
+ ['@babel/preset-env', {
4
+ 'useBuiltIns': 'entry',
5
+ 'corejs': 3
6
+ }]
7
+ ],
8
+ 'plugins': [
9
+ '@babel/plugin-transform-runtime',
10
+ '@babel/plugin-syntax-import-assertions',
11
+ '@babel/plugin-proposal-export-default-from',
12
+ '@babel/plugin-proposal-nullish-coalescing-operator',
13
+ '@babel/plugin-proposal-optional-chaining'
14
+ ]
15
+ }
@@ -0,0 +1,7 @@
1
+ /*!
2
+ * w-orm-postgresql v1.0.0
3
+ * (c) 2018-2021 yuda-lyu(semisphere)
4
+ * Released under the MIT License.
5
+ */
6
+ !function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e(require("events"),require("pg"),require("mongo-sql")):"function"==typeof define&&define.amd?define(["events","pg","mongo-sql"],e):(t="undefined"!=typeof globalThis?globalThis:t||self)["w-orm-postgresql"]=e(t.events,t.pg,t["mongo-sql"])}(this,(function(t,e,r){"use strict";var n=Object.prototype;function o(t){var e=t&&t.constructor;return t===("function"==typeof e&&e.prototype||n)}function u(t,e){return function(r){return t(e(r))}}var i=u(Object.keys,Object),c=Object.prototype.hasOwnProperty;function a(t){if(!o(t))return i(t);var e=[];for(var r in Object(t))c.call(t,r)&&"constructor"!=r&&e.push(r);return e}var f="object"==typeof global&&global&&global.Object===Object&&global,l="object"==typeof self&&self&&self.Object===Object&&self,s=f||l||Function("return this")(),v=s.Symbol,p=Object.prototype,b=p.hasOwnProperty,y=p.toString,h=v?v.toStringTag:void 0;var d=Object.prototype.toString;var j=v?v.toStringTag:void 0;function g(t){return null==t?void 0===t?"[object Undefined]":"[object Null]":j&&j in Object(t)?function(t){var e=b.call(t,h),r=t[h];try{t[h]=void 0;var n=!0}catch(t){}var o=y.call(t);return n&&(e?t[h]=r:delete t[h]),o}(t):function(t){return d.call(t)}(t)}function _(t){var e=typeof t;return null!=t&&("object"==e||"function"==e)}function w(t){if(!_(t))return!1;var e=g(t);return"[object Function]"==e||"[object GeneratorFunction]"==e||"[object AsyncFunction]"==e||"[object Proxy]"==e}var m,O=s["__core-js_shared__"],A=(m=/[^.]+$/.exec(O&&O.keys&&O.keys.IE_PROTO||""))?"Symbol(src)_1."+m:"";var S=Function.prototype.toString;function E(t){if(null!=t){try{return S.call(t)}catch(t){}try{return t+""}catch(t){}}return""}var P=/^\[object .+?Constructor\]$/,x=Function.prototype,$=Object.prototype,q=x.toString,T=$.hasOwnProperty,k=RegExp("^"+q.call(T).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function z(t){return!(!_(t)||(e=t,A&&A in e))&&(w(t)?k:P).test(E(t));var e}function I(t,e){var r=function(t,e){return null==t?void 0:t[e]}(t,e);return z(r)?r:void 0}var N=I(s,"DataView"),D=I(s,"Map"),M=I(s,"Promise"),F=I(s,"Set"),U=I(s,"WeakMap"),B="[object Map]",C="[object Promise]",R="[object Set]",L="[object WeakMap]",V="[object DataView]",W=E(N),G=E(D),X=E(M),J=E(F),Y=E(U),Z=g;(N&&Z(new N(new ArrayBuffer(1)))!=V||D&&Z(new D)!=B||M&&Z(M.resolve())!=C||F&&Z(new F)!=R||U&&Z(new U)!=L)&&(Z=function(t){var e=g(t),r="[object Object]"==e?t.constructor:void 0,n=r?E(r):"";if(n)switch(n){case W:return V;case G:return B;case X:return C;case J:return R;case Y:return L}return e});var K=Z;function H(t){return"number"==typeof t&&t>-1&&t%1==0&&t<=9007199254740991}function Q(t){return null!=t&&H(t.length)&&!w(t)}var tt=Array.isArray;function et(t){return null!=t&&"object"==typeof t}function rt(t){return function(e){return null==e?void 0:e[t]}}var nt=rt("length"),ot=RegExp("[\\u200d\\ud800-\\udfff\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff\\ufe0e\\ufe0f]");function ut(t){return ot.test(t)}var it="\\ud800-\\udfff",ct="["+it+"]",at="[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff]",ft="\\ud83c[\\udffb-\\udfff]",lt="[^"+it+"]",st="(?:\\ud83c[\\udde6-\\uddff]){2}",vt="[\\ud800-\\udbff][\\udc00-\\udfff]",pt="(?:"+at+"|"+ft+")"+"?",bt="[\\ufe0e\\ufe0f]?",yt=bt+pt+("(?:\\u200d(?:"+[lt,st,vt].join("|")+")"+bt+pt+")*"),ht="(?:"+[lt+at+"?",at,st,vt,ct].join("|")+")",dt=RegExp(ft+"(?="+ft+")|"+ht+yt,"g");function jt(t){return ut(t)?function(t){for(var e=dt.lastIndex=0;dt.test(t);)++e;return e}(t):nt(t)}function gt(t){if(null==t)return 0;if(Q(t))return"string"==typeof(e=t)||!tt(e)&&et(e)&&"[object String]"==g(e)?jt(t):t.length;var e,r=K(t);return"[object Map]"==r||"[object Set]"==r?t.size:a(t).length}function _t(t){return"symbol"==typeof t||et(t)&&"[object Symbol]"==g(t)}var wt=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,mt=/^\w*$/;function Ot(t,e){if(tt(t))return!1;var r=typeof t;return!("number"!=r&&"symbol"!=r&&"boolean"!=r&&null!=t&&!_t(t))||(mt.test(t)||!wt.test(t)||null!=e&&t in Object(e))}var At=I(Object,"create");var St=Object.prototype.hasOwnProperty;var Et=Object.prototype.hasOwnProperty;function Pt(t){var e=-1,r=null==t?0:t.length;for(this.clear();++e<r;){var n=t[e];this.set(n[0],n[1])}}function xt(t,e){return t===e||t!=t&&e!=e}function $t(t,e){for(var r=t.length;r--;)if(xt(t[r][0],e))return r;return-1}Pt.prototype.clear=function(){this.__data__=At?At(null):{},this.size=0},Pt.prototype.delete=function(t){var e=this.has(t)&&delete this.__data__[t];return this.size-=e?1:0,e},Pt.prototype.get=function(t){var e=this.__data__;if(At){var r=e[t];return"__lodash_hash_undefined__"===r?void 0:r}return St.call(e,t)?e[t]:void 0},Pt.prototype.has=function(t){var e=this.__data__;return At?void 0!==e[t]:Et.call(e,t)},Pt.prototype.set=function(t,e){var r=this.__data__;return this.size+=this.has(t)?0:1,r[t]=At&&void 0===e?"__lodash_hash_undefined__":e,this};var qt=Array.prototype.splice;function Tt(t){var e=-1,r=null==t?0:t.length;for(this.clear();++e<r;){var n=t[e];this.set(n[0],n[1])}}function kt(t,e){var r,n,o=t.__data__;return("string"==(n=typeof(r=e))||"number"==n||"symbol"==n||"boolean"==n?"__proto__"!==r:null===r)?o["string"==typeof e?"string":"hash"]:o.map}function zt(t){var e=-1,r=null==t?0:t.length;for(this.clear();++e<r;){var n=t[e];this.set(n[0],n[1])}}Tt.prototype.clear=function(){this.__data__=[],this.size=0},Tt.prototype.delete=function(t){var e=this.__data__,r=$t(e,t);return!(r<0)&&(r==e.length-1?e.pop():qt.call(e,r,1),--this.size,!0)},Tt.prototype.get=function(t){var e=this.__data__,r=$t(e,t);return r<0?void 0:e[r][1]},Tt.prototype.has=function(t){return $t(this.__data__,t)>-1},Tt.prototype.set=function(t,e){var r=this.__data__,n=$t(r,t);return n<0?(++this.size,r.push([t,e])):r[n][1]=e,this},zt.prototype.clear=function(){this.size=0,this.__data__={hash:new Pt,map:new(D||Tt),string:new Pt}},zt.prototype.delete=function(t){var e=kt(this,t).delete(t);return this.size-=e?1:0,e},zt.prototype.get=function(t){return kt(this,t).get(t)},zt.prototype.has=function(t){return kt(this,t).has(t)},zt.prototype.set=function(t,e){var r=kt(this,t),n=r.size;return r.set(t,e),this.size+=r.size==n?0:1,this};function It(t,e){if("function"!=typeof t||null!=e&&"function"!=typeof e)throw new TypeError("Expected a function");var r=function(){var n=arguments,o=e?e.apply(this,n):n[0],u=r.cache;if(u.has(o))return u.get(o);var i=t.apply(this,n);return r.cache=u.set(o,i)||u,i};return r.cache=new(It.Cache||zt),r}It.Cache=zt;var Nt,Dt,Mt,Ft=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,Ut=/\\(\\)?/g,Bt=(Nt=function(t){var e=[];return 46===t.charCodeAt(0)&&e.push(""),t.replace(Ft,(function(t,r,n,o){e.push(n?o.replace(Ut,"$1"):r||t)})),e},Dt=It(Nt,(function(t){return 500===Mt.size&&Mt.clear(),t})),Mt=Dt.cache,Dt),Ct=Bt;function Rt(t,e){for(var r=-1,n=null==t?0:t.length,o=Array(n);++r<n;)o[r]=e(t[r],r,t);return o}var Lt=v?v.prototype:void 0,Vt=Lt?Lt.toString:void 0;function Wt(t){if("string"==typeof t)return t;if(tt(t))return Rt(t,Wt)+"";if(_t(t))return Vt?Vt.call(t):"";var e=t+"";return"0"==e&&1/t==-1/0?"-0":e}function Gt(t){return null==t?"":Wt(t)}function Xt(t,e){return tt(t)?t:Ot(t,e)?[t]:Ct(Gt(t))}function Jt(t){if("string"==typeof t||_t(t))return t;var e=t+"";return"0"==e&&1/t==-1/0?"-0":e}function Yt(t,e){for(var r=0,n=(e=Xt(e,t)).length;null!=t&&r<n;)t=t[Jt(e[r++])];return r&&r==n?t:void 0}function Zt(t,e,r){var n=null==t?void 0:Yt(t,e);return void 0===n?r:n}function Kt(t){var e=this.__data__=new Tt(t);this.size=e.size}Kt.prototype.clear=function(){this.__data__=new Tt,this.size=0},Kt.prototype.delete=function(t){var e=this.__data__,r=e.delete(t);return this.size=e.size,r},Kt.prototype.get=function(t){return this.__data__.get(t)},Kt.prototype.has=function(t){return this.__data__.has(t)},Kt.prototype.set=function(t,e){var r=this.__data__;if(r instanceof Tt){var n=r.__data__;if(!D||n.length<199)return n.push([t,e]),this.size=++r.size,this;r=this.__data__=new zt(n)}return r.set(t,e),this.size=r.size,this};function Ht(t){var e=-1,r=null==t?0:t.length;for(this.__data__=new zt;++e<r;)this.add(t[e])}function Qt(t,e){for(var r=-1,n=null==t?0:t.length;++r<n;)if(e(t[r],r,t))return!0;return!1}function te(t,e){return t.has(e)}Ht.prototype.add=Ht.prototype.push=function(t){return this.__data__.set(t,"__lodash_hash_undefined__"),this},Ht.prototype.has=function(t){return this.__data__.has(t)};function ee(t,e,r,n,o,u){var i=1&r,c=t.length,a=e.length;if(c!=a&&!(i&&a>c))return!1;var f=u.get(t),l=u.get(e);if(f&&l)return f==e&&l==t;var s=-1,v=!0,p=2&r?new Ht:void 0;for(u.set(t,e),u.set(e,t);++s<c;){var b=t[s],y=e[s];if(n)var h=i?n(y,b,s,e,t,u):n(b,y,s,t,e,u);if(void 0!==h){if(h)continue;v=!1;break}if(p){if(!Qt(e,(function(t,e){if(!te(p,e)&&(b===t||o(b,t,r,n,u)))return p.push(e)}))){v=!1;break}}else if(b!==y&&!o(b,y,r,n,u)){v=!1;break}}return u.delete(t),u.delete(e),v}var re=s.Uint8Array;function ne(t){var e=-1,r=Array(t.size);return t.forEach((function(t,n){r[++e]=[n,t]})),r}function oe(t){var e=-1,r=Array(t.size);return t.forEach((function(t){r[++e]=t})),r}var ue=v?v.prototype:void 0,ie=ue?ue.valueOf:void 0;function ce(t,e){for(var r=-1,n=e.length,o=t.length;++r<n;)t[o+r]=e[r];return t}function ae(t,e,r){var n=e(t);return tt(t)?n:ce(n,r(t))}function fe(t,e){for(var r=-1,n=null==t?0:t.length,o=0,u=[];++r<n;){var i=t[r];e(i,r,t)&&(u[o++]=i)}return u}function le(){return[]}var se=Object.prototype.propertyIsEnumerable,ve=Object.getOwnPropertySymbols,pe=ve?function(t){return null==t?[]:(t=Object(t),fe(ve(t),(function(e){return se.call(t,e)})))}:le;function be(t){return et(t)&&"[object Arguments]"==g(t)}var ye=Object.prototype,he=ye.hasOwnProperty,de=ye.propertyIsEnumerable,je=be(function(){return arguments}())?be:function(t){return et(t)&&he.call(t,"callee")&&!de.call(t,"callee")},ge=je;var _e="object"==typeof exports&&exports&&!exports.nodeType&&exports,we=_e&&"object"==typeof module&&module&&!module.nodeType&&module,me=we&&we.exports===_e?s.Buffer:void 0,Oe=(me?me.isBuffer:void 0)||function(){return!1},Ae=/^(?:0|[1-9]\d*)$/;function Se(t,e){var r=typeof t;return!!(e=null==e?9007199254740991:e)&&("number"==r||"symbol"!=r&&Ae.test(t))&&t>-1&&t%1==0&&t<e}var Ee={};function Pe(t){return function(e){return t(e)}}Ee["[object Float32Array]"]=Ee["[object Float64Array]"]=Ee["[object Int8Array]"]=Ee["[object Int16Array]"]=Ee["[object Int32Array]"]=Ee["[object Uint8Array]"]=Ee["[object Uint8ClampedArray]"]=Ee["[object Uint16Array]"]=Ee["[object Uint32Array]"]=!0,Ee["[object Arguments]"]=Ee["[object Array]"]=Ee["[object ArrayBuffer]"]=Ee["[object Boolean]"]=Ee["[object DataView]"]=Ee["[object Date]"]=Ee["[object Error]"]=Ee["[object Function]"]=Ee["[object Map]"]=Ee["[object Number]"]=Ee["[object Object]"]=Ee["[object RegExp]"]=Ee["[object Set]"]=Ee["[object String]"]=Ee["[object WeakMap]"]=!1;var xe="object"==typeof exports&&exports&&!exports.nodeType&&exports,$e=xe&&"object"==typeof module&&module&&!module.nodeType&&module,qe=$e&&$e.exports===xe&&f.process,Te=function(){try{var t=$e&&$e.require&&$e.require("util").types;return t||qe&&qe.binding&&qe.binding("util")}catch(t){}}(),ke=Te&&Te.isTypedArray,ze=ke?Pe(ke):function(t){return et(t)&&H(t.length)&&!!Ee[g(t)]},Ie=Object.prototype.hasOwnProperty;function Ne(t,e){var r=tt(t),n=!r&&ge(t),o=!r&&!n&&Oe(t),u=!r&&!n&&!o&&ze(t),i=r||n||o||u,c=i?function(t,e){for(var r=-1,n=Array(t);++r<t;)n[r]=e(r);return n}(t.length,String):[],a=c.length;for(var f in t)!e&&!Ie.call(t,f)||i&&("length"==f||o&&("offset"==f||"parent"==f)||u&&("buffer"==f||"byteLength"==f||"byteOffset"==f)||Se(f,a))||c.push(f);return c}function De(t){return Q(t)?Ne(t):a(t)}function Me(t){return ae(t,De,pe)}var Fe=Object.prototype.hasOwnProperty;var Ue="[object Arguments]",Be="[object Array]",Ce="[object Object]",Re=Object.prototype.hasOwnProperty;function Le(t,e,r,n,o,u){var i=tt(t),c=tt(e),a=i?Be:K(t),f=c?Be:K(e),l=(a=a==Ue?Ce:a)==Ce,s=(f=f==Ue?Ce:f)==Ce,v=a==f;if(v&&Oe(t)){if(!Oe(e))return!1;i=!0,l=!1}if(v&&!l)return u||(u=new Kt),i||ze(t)?ee(t,e,r,n,o,u):function(t,e,r,n,o,u,i){switch(r){case"[object DataView]":if(t.byteLength!=e.byteLength||t.byteOffset!=e.byteOffset)return!1;t=t.buffer,e=e.buffer;case"[object ArrayBuffer]":return!(t.byteLength!=e.byteLength||!u(new re(t),new re(e)));case"[object Boolean]":case"[object Date]":case"[object Number]":return xt(+t,+e);case"[object Error]":return t.name==e.name&&t.message==e.message;case"[object RegExp]":case"[object String]":return t==e+"";case"[object Map]":var c=ne;case"[object Set]":var a=1&n;if(c||(c=oe),t.size!=e.size&&!a)return!1;var f=i.get(t);if(f)return f==e;n|=2,i.set(t,e);var l=ee(c(t),c(e),n,o,u,i);return i.delete(t),l;case"[object Symbol]":if(ie)return ie.call(t)==ie.call(e)}return!1}(t,e,a,r,n,o,u);if(!(1&r)){var p=l&&Re.call(t,"__wrapped__"),b=s&&Re.call(e,"__wrapped__");if(p||b){var y=p?t.value():t,h=b?e.value():e;return u||(u=new Kt),o(y,h,r,n,u)}}return!!v&&(u||(u=new Kt),function(t,e,r,n,o,u){var i=1&r,c=Me(t),a=c.length;if(a!=Me(e).length&&!i)return!1;for(var f=a;f--;){var l=c[f];if(!(i?l in e:Fe.call(e,l)))return!1}var s=u.get(t),v=u.get(e);if(s&&v)return s==e&&v==t;var p=!0;u.set(t,e),u.set(e,t);for(var b=i;++f<a;){var y=t[l=c[f]],h=e[l];if(n)var d=i?n(h,y,l,e,t,u):n(y,h,l,t,e,u);if(!(void 0===d?y===h||o(y,h,r,n,u):d)){p=!1;break}b||(b="constructor"==l)}if(p&&!b){var j=t.constructor,g=e.constructor;j==g||!("constructor"in t)||!("constructor"in e)||"function"==typeof j&&j instanceof j&&"function"==typeof g&&g instanceof g||(p=!1)}return u.delete(t),u.delete(e),p}(t,e,r,n,o,u))}function Ve(t,e,r,n,o){return t===e||(null==t||null==e||!et(t)&&!et(e)?t!=t&&e!=e:Le(t,e,r,n,Ve,o))}function We(t){return t==t&&!_(t)}function Ge(t,e){return function(r){return null!=r&&(r[t]===e&&(void 0!==e||t in Object(r)))}}function Xe(t){var e=function(t){for(var e=De(t),r=e.length;r--;){var n=e[r],o=t[n];e[r]=[n,o,We(o)]}return e}(t);return 1==e.length&&e[0][2]?Ge(e[0][0],e[0][1]):function(r){return r===t||function(t,e,r,n){var o=r.length,u=o,i=!n;if(null==t)return!u;for(t=Object(t);o--;){var c=r[o];if(i&&c[2]?c[1]!==t[c[0]]:!(c[0]in t))return!1}for(;++o<u;){var a=(c=r[o])[0],f=t[a],l=c[1];if(i&&c[2]){if(void 0===f&&!(a in t))return!1}else{var s=new Kt;if(n)var v=n(f,l,a,t,e,s);if(!(void 0===v?Ve(l,f,3,n,s):v))return!1}}return!0}(r,t,e)}}function Je(t,e){return null!=t&&e in Object(t)}function Ye(t,e){return null!=t&&function(t,e,r){for(var n=-1,o=(e=Xt(e,t)).length,u=!1;++n<o;){var i=Jt(e[n]);if(!(u=null!=t&&r(t,i)))break;t=t[i]}return u||++n!=o?u:!!(o=null==t?0:t.length)&&H(o)&&Se(i,o)&&(tt(t)||ge(t))}(t,e,Je)}function Ze(t){return t}function Ke(t){return Ot(t)?rt(Jt(t)):function(t){return function(e){return Yt(e,t)}}(t)}function He(t){return"function"==typeof t?t:null==t?Ze:"object"==typeof t?tt(t)?(e=t[0],r=t[1],Ot(e)&&We(r)?Ge(Jt(e),r):function(t){var n=Zt(t,e);return void 0===n&&n===r?Ye(t,e):Ve(r,n,3)}):Xe(t):Ke(t);var e,r}var Qe,tr=function(t,e,r){for(var n=-1,o=Object(t),u=r(t),i=u.length;i--;){var c=u[Qe?i:++n];if(!1===e(o[c],c,o))break}return t};var er=function(t,e){return function(r,n){if(null==r)return r;if(!Q(r))return t(r,n);for(var o=r.length,u=e?o:-1,i=Object(r);(e?u--:++u<o)&&!1!==n(i[u],u,i););return r}}((function(t,e){return t&&tr(t,e,De)})),rr=er;function nr(t,e){var r=-1,n=Q(t)?Array(t.length):[];return rr(t,(function(t,o,u){n[++r]=e(t,o,u)})),n}function or(t,e){return(tt(t)?Rt:nr)(t,He(e))}function ur(t,e){var r=[];return rr(t,(function(t,n,o){e(t,n,o)&&r.push(t)})),r}function ir(t,e){for(var r=-1,n=null==t?0:t.length;++r<n&&!1!==e(t[r],r,t););return t}var cr=function(){try{var t=I(Object,"defineProperty");return t({},"",{}),t}catch(t){}}(),ar=cr;function fr(t,e,r){"__proto__"==e&&ar?ar(t,e,{configurable:!0,enumerable:!0,value:r,writable:!0}):t[e]=r}var lr=Object.prototype.hasOwnProperty;function sr(t,e,r){var n=t[e];lr.call(t,e)&&xt(n,r)&&(void 0!==r||e in t)||fr(t,e,r)}function vr(t,e,r,n){var o=!r;r||(r={});for(var u=-1,i=e.length;++u<i;){var c=e[u],a=n?n(r[c],t[c],c,r,t):void 0;void 0===a&&(a=t[c]),o?fr(r,c,a):sr(r,c,a)}return r}var pr=Object.prototype.hasOwnProperty;function br(t){if(!_(t))return function(t){var e=[];if(null!=t)for(var r in Object(t))e.push(r);return e}(t);var e=o(t),r=[];for(var n in t)("constructor"!=n||!e&&pr.call(t,n))&&r.push(n);return r}function yr(t){return Q(t)?Ne(t,!0):br(t)}var hr="object"==typeof exports&&exports&&!exports.nodeType&&exports,dr=hr&&"object"==typeof module&&module&&!module.nodeType&&module,jr=dr&&dr.exports===hr?s.Buffer:void 0,gr=jr?jr.allocUnsafe:void 0;var _r=u(Object.getPrototypeOf,Object),wr=Object.getOwnPropertySymbols?function(t){for(var e=[];t;)ce(e,pe(t)),t=_r(t);return e}:le,mr=wr;function Or(t){return ae(t,yr,mr)}var Ar=Object.prototype.hasOwnProperty;function Sr(t){var e=new t.constructor(t.byteLength);return new re(e).set(new re(t)),e}var Er=/\w*$/;var Pr=v?v.prototype:void 0,xr=Pr?Pr.valueOf:void 0;function $r(t,e,r){var n,o=t.constructor;switch(e){case"[object ArrayBuffer]":return Sr(t);case"[object Boolean]":case"[object Date]":return new o(+t);case"[object DataView]":return function(t,e){var r=e?Sr(t.buffer):t.buffer;return new t.constructor(r,t.byteOffset,t.byteLength)}(t,r);case"[object Float32Array]":case"[object Float64Array]":case"[object Int8Array]":case"[object Int16Array]":case"[object Int32Array]":case"[object Uint8Array]":case"[object Uint8ClampedArray]":case"[object Uint16Array]":case"[object Uint32Array]":return function(t,e){var r=e?Sr(t.buffer):t.buffer;return new t.constructor(r,t.byteOffset,t.length)}(t,r);case"[object Map]":case"[object Set]":return new o;case"[object Number]":case"[object String]":return new o(t);case"[object RegExp]":return function(t){var e=new t.constructor(t.source,Er.exec(t));return e.lastIndex=t.lastIndex,e}(t);case"[object Symbol]":return n=t,xr?Object(xr.call(n)):{}}}var qr=Object.create,Tr=function(){function t(){}return function(e){if(!_(e))return{};if(qr)return qr(e);t.prototype=e;var r=new t;return t.prototype=void 0,r}}(),kr=Tr;var zr=Te&&Te.isMap,Ir=zr?Pe(zr):function(t){return et(t)&&"[object Map]"==K(t)};var Nr=Te&&Te.isSet,Dr=Nr?Pe(Nr):function(t){return et(t)&&"[object Set]"==K(t)},Mr="[object Arguments]",Fr="[object Function]",Ur="[object Object]",Br={};function Cr(t,e,r,n,u,i){var c,a=1&e,f=2&e,l=4&e;if(r&&(c=u?r(t,n,u,i):r(t)),void 0!==c)return c;if(!_(t))return t;var s=tt(t);if(s){if(c=function(t){var e=t.length,r=new t.constructor(e);return e&&"string"==typeof t[0]&&Ar.call(t,"index")&&(r.index=t.index,r.input=t.input),r}(t),!a)return function(t,e){var r=-1,n=t.length;for(e||(e=Array(n));++r<n;)e[r]=t[r];return e}(t,c)}else{var v=K(t),p=v==Fr||"[object GeneratorFunction]"==v;if(Oe(t))return function(t,e){if(e)return t.slice();var r=t.length,n=gr?gr(r):new t.constructor(r);return t.copy(n),n}(t,a);if(v==Ur||v==Mr||p&&!u){if(c=f||p?{}:function(t){return"function"!=typeof t.constructor||o(t)?{}:kr(_r(t))}(t),!a)return f?function(t,e){return vr(t,mr(t),e)}(t,function(t,e){return t&&vr(e,yr(e),t)}(c,t)):function(t,e){return vr(t,pe(t),e)}(t,function(t,e){return t&&vr(e,De(e),t)}(c,t))}else{if(!Br[v])return u?t:{};c=$r(t,v,a)}}i||(i=new Kt);var b=i.get(t);if(b)return b;i.set(t,c),Dr(t)?t.forEach((function(n){c.add(Cr(n,e,r,n,t,i))})):Ir(t)&&t.forEach((function(n,o){c.set(o,Cr(n,e,r,o,t,i))}));var y=s?void 0:(l?f?Or:Me:f?yr:De)(t);return ir(y||t,(function(n,o){y&&(n=t[o=n]),sr(c,o,Cr(n,e,r,o,t,i))})),c}function Rr(t,e,r){var n=-1,o=t.length;e<0&&(e=-e>o?0:o+e),(r=r>o?o:r)<0&&(r+=o),o=e>r?0:r-e>>>0,e>>>=0;for(var u=Array(o);++n<o;)u[n]=t[n+e];return u}function Lr(t,e){return null==(t=function(t,e){return e.length<2?t:Yt(t,Rr(e,0,-1))}(t,e=Xt(e,t)))||delete t[Jt((r=e,n=null==r?0:r.length,n?r[n-1]:void 0))];var r,n}Br[Mr]=Br["[object Array]"]=Br["[object ArrayBuffer]"]=Br["[object DataView]"]=Br["[object Boolean]"]=Br["[object Date]"]=Br["[object Float32Array]"]=Br["[object Float64Array]"]=Br["[object Int8Array]"]=Br["[object Int16Array]"]=Br["[object Int32Array]"]=Br["[object Map]"]=Br["[object Number]"]=Br[Ur]=Br["[object RegExp]"]=Br["[object Set]"]=Br["[object String]"]=Br["[object Symbol]"]=Br["[object Uint8Array]"]=Br["[object Uint8ClampedArray]"]=Br["[object Uint16Array]"]=Br["[object Uint32Array]"]=!0,Br["[object Error]"]=Br[Fr]=Br["[object WeakMap]"]=!1;var Vr=Function.prototype,Wr=Object.prototype,Gr=Vr.toString,Xr=Wr.hasOwnProperty,Jr=Gr.call(Object);function Yr(t){return function(t){if(!et(t)||"[object Object]"!=g(t))return!1;var e=_r(t);if(null===e)return!0;var r=Xr.call(e,"constructor")&&e.constructor;return"function"==typeof r&&r instanceof r&&Gr.call(r)==Jr}(t)?void 0:t}var Zr=v?v.isConcatSpreadable:void 0;function Kr(t){return tt(t)||ge(t)||!!(Zr&&t&&t[Zr])}function Hr(t,e,r,n,o){var u=-1,i=t.length;for(r||(r=Kr),o||(o=[]);++u<i;){var c=t[u];e>0&&r(c)?e>1?Hr(c,e-1,r,n,o):ce(o,c):n||(o[o.length]=c)}return o}function Qr(t){return(null==t?0:t.length)?Hr(t,1):[]}var tn=Math.max;var en=ar?function(t,e){return ar(t,"toString",{configurable:!0,enumerable:!1,value:(r=e,function(){return r}),writable:!0});var r}:Ze,rn=en,nn=Date.now;var on=function(t){var e=0,r=0;return function(){var n=nn(),o=16-(n-r);if(r=n,o>0){if(++e>=800)return arguments[0]}else e=0;return t.apply(void 0,arguments)}}(rn),un=on;var cn=function(t){return un(function(t,e,r){return e=tn(void 0===e?t.length-1:e,0),function(){for(var n=arguments,o=-1,u=tn(n.length-e,0),i=Array(u);++o<u;)i[o]=n[e+o];o=-1;for(var c=Array(e+1);++o<e;)c[o]=n[o];return c[e]=r(i),function(t,e,r){switch(r.length){case 0:return t.call(e);case 1:return t.call(e,r[0]);case 2:return t.call(e,r[0],r[1]);case 3:return t.call(e,r[0],r[1],r[2])}return t.apply(e,r)}(t,this,c)}}(t,void 0,Qr),t+"")}((function(t,e){var r={};if(null==t)return r;var n=!1;e=Rt(e,(function(e){return e=Xt(e,t),n||(n=e.length>1),e})),vr(t,Or(t),r),n&&(r=Cr(r,7,Yr));for(var o=e.length;o--;)Lr(r,e[o]);return r})),an=cn,fn=/\s/;var ln=/^\s+/;function sn(t){return t?t.slice(0,function(t){for(var e=t.length;e--&&fn.test(t.charAt(e)););return e}(t)+1).replace(ln,""):t}function vn(t){return t!=t}function pn(t,e,r){return e==e?function(t,e,r){for(var n=r-1,o=t.length;++n<o;)if(t[n]===e)return n;return-1}(t,e,r):function(t,e,r,n){for(var o=t.length,u=r+(n?1:-1);n?u--:++u<o;)if(e(t[u],u,t))return u;return-1}(t,vn,r)}var bn="\\ud800-\\udfff",yn="["+bn+"]",hn="[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff]",dn="\\ud83c[\\udffb-\\udfff]",jn="[^"+bn+"]",gn="(?:\\ud83c[\\udde6-\\uddff]){2}",_n="[\\ud800-\\udbff][\\udc00-\\udfff]",wn="(?:"+hn+"|"+dn+")"+"?",mn="[\\ufe0e\\ufe0f]?",On=mn+wn+("(?:\\u200d(?:"+[jn,gn,_n].join("|")+")"+mn+wn+")*"),An="(?:"+[jn+hn+"?",hn,gn,_n,yn].join("|")+")",Sn=RegExp(dn+"(?="+dn+")|"+An+On,"g");function En(t){return ut(t)?function(t){return t.match(Sn)||[]}(t):function(t){return t.split("")}(t)}function Pn(t,e,r){if((t=Gt(t))&&(r||void 0===e))return sn(t);if(!t||!(e=Wt(e)))return t;var n=En(t),o=En(e),u=function(t,e){for(var r=-1,n=t.length;++r<n&&pn(e,t[r],0)>-1;);return r}(n,o),i=function(t,e){for(var r=t.length;r--&&pn(e,t[r],0)>-1;);return r}(n,o)+1;return function(t,e,r){var n=t.length;return r=void 0===r?n:r,!e&&r>=n?t:Rr(t,e,r)}(n,u,i).join("")}function xn(t){return Cr(t,5)}function $n(t){return"[object String]"===Object.prototype.toString.call(t)}function qn(t){return!(!$n(t)||""===t)}function Tn(t){return"[object Array]"===Object.prototype.toString.call(t)}function kn(t){return"[object Object]"===Object.prototype.toString.call(t)}function zn(t){return t!=t}function In(t){return!!function(t){return"[object Undefined]"===Object.prototype.toString.call(t)}(t)||(!!function(t){return"[object Null]"===Object.prototype.toString.call(t)}(t)||(!!function(t){if(kn(t)){for(let e in t)return!1;return!0}return!1}(t)||(!!function(t){return!(!$n(t)||""!==t)}(t)||(!!function(t){return!!Tn(t)&&0===t.length}(t)||!!zn(t)))))}function Nn(t){if(kn(t)){for(let e in t)return!0;return!1}return!1}function Dn(t){let e=!1;if(qn(t))e=!isNaN(Number(t));else if(function(t){return"[object Number]"===Object.prototype.toString.call(t)}(t)){if(zn(t))return!1;e=!0}return e}var Mn=/^[-+]0x[0-9a-f]+$/i,Fn=/^0b[01]+$/i,Un=/^0o[0-7]+$/i,Bn=parseInt;var Cn=1/0;function Rn(t){return t?(t=function(t){if("number"==typeof t)return t;if(_t(t))return NaN;if(_(t)){var e="function"==typeof t.valueOf?t.valueOf():t;t=_(e)?e+"":e}if("string"!=typeof t)return 0===t?t:+t;t=sn(t);var r=Fn.test(t);return r||Un.test(t)?Bn(t.slice(2),r?2:8):Mn.test(t)?NaN:+t}(t))===Cn||t===-1/0?17976931348623157e292*(t<0?-1:1):t==t?t:0:0===t?t:0}function Ln(t){var e=Rn(t),r=e%1;return e==e?r?e-r:e:0}function Vn(t){if(!Dn(t))return 0;return Rn(t)}function Wn(t){return!!Dn(t)&&(t=Vn(t),"number"==typeof(e=t)&&e==Ln(e));var e}function Gn(t){return!0===(e=t)||!1===e||et(e)&&"[object Boolean]"==g(e);var e}function Xn(t){let e=t;return qn(t)&&(e=new Date(t)),Dn(t)&&(e=Vn(t),e=new Date(t)),e instanceof Date&&!isNaN(e)}function Jn(t,e){var r;return(tt(t)?ir:rr)(t,"function"==typeof(r=e)?r:Ze)}function Yn(t){let e=Object.prototype.toString.call(t);return"[object Function]"===e||"[object AsyncFunction]"===e}function Zn(t,e){let r=function(){let t,e,r=new Promise((function(){t=arguments[0],e=arguments[1]}));return r.resolve=t,r.reject=e,r}();if(!Tn(t)&&!kn(t))return r.reject("rs is not an array or object"),r;let n=!1;if(kn(t)){n=!0;let e=[];Jn(t,((t,r)=>{e.push({k:r,v:t})})),t=e}Yn(e)||(e=function(t){return t});let o=-1,u=[];return t.reduce((function(t,r){return t.then((function(t){u.push(t),o+=1;let i=o,c=r;return n&&(i=r.k,c=r.v),Yn(e)?e(c,i):c}))}),Promise.resolve()).then((function(t){var e,n,o,i;u.push(t),i=null==(e=u)?0:e.length,u=i?Rr(e,(n=o||void 0===n?1:Ln(n))<0?0:n,i):[],r.resolve(u)})).catch((function(t){r.reject(t)})),r}return function(){let n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},o=Zt(n,"url");qn(o)||(o="postgresql://user:password@127.0.0.1:5432");let u=Zt(n,"db");qn(u)||(u="worm");let i=Zt(n,"cl");function c(t,e,r){if(!Nn(r))throw new Error(`obj[${r}] is not an effective object`);let n=Object.entries(r).map((t=>{let[r,n]=t,o=function(t){if($n(t))return/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:\.\d+)?(?:Z)?$/.test(t)?"TIMESTAMPTZ":"TEXT";return Dn(t)?Wn(t)?"INTEGER":"DOUBLE PRECISION":Gn(t)?"BOOLEAN":null===t?"TEXT":"JSONB"}(n),u=` ${r} ${o}`;return r===e&&(u=`${u} PRIMARY KEY`),u}));return`CREATE TABLE ${t} (\n${n.join(",\n")}\n);`}function a(t){let e=De(t),r=["time"],n=(u=t=>!r.includes(t),(tt(o=e)?fe:ur)(o,He(u)));var o,u;if(0===gt(n))return"";let i=n.map((t=>`${t} = EXCLUDED.${t}`)).join(",\n "),c=`\n ON CONFLICT (${r.join(", ")}) DO UPDATE SET\n ${i}\n `;return c=Pn(c),c}qn(i)||(i="test");let f=`${o}/${u}`,l=new t.EventEmitter,s=e.Client;return l.createTable=async function(t,e,r){let n=!1,o=null,u=new s({connectionString:f});try{await u.connect()}catch(t){n=!0,o=t,u=null}if(n)return Promise.reject(o);try{let a=r;if(!Tn(i=a)||0===i.length||1===i.length&&In(i[0])||(a=a[0]),!Nn(a))throw new Error(`obj[${a}] is not an effective object`);let f=c(t,e,a);await u.query(f).then((()=>{o={ok:1}})).catch((t=>{n=!0,o=t.message}))}catch(t){n=!0,o=t}finally{await u.end(),u=null}var i;return n?Promise.reject(o):o},l.select=async function(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=!1,o=null,u=new s({connectionString:f});try{await u.connect()}catch(t){n=!0,o=t,u=null}if(n)return Promise.reject(o);try{let c=r.sql({type:"select",table:i,where:t,order:e});o=Zt(await u.query(c.query,c.values),"rows"),Tn(o)||(n=!0,o=`can not select by find[${JSON.stringify(t)}]`)}catch(t){n=!0,o=t}finally{await u.end(),u=null}return n?Promise.reject(o):o},l.insert=async function(t){let e=!1,n=null;t=xn(t);let o=new s({connectionString:f});try{await o.connect()}catch(t){e=!0,n=t,o=null}if(e)return Promise.reject(n);try{Tn(t)||(t=[t]),t=or(t,(function(t,e){if(!Xn(t.time))throw new Error(`invalid data[${e}].time[${t.time}]`);return t}));let u=r.sql({type:"insert",table:i,values:t}),c=gt(t),a=c;await o.query(u.query,u.values).then((()=>{n={n:c,nInserted:a,ok:1},l.emit("change","insert",t,n)})).catch((t=>{e=!0,n=t.message}))}catch(t){e=!0,n=t}finally{await o.end(),o=null}return e?Promise.reject(n):n},l.save=async function(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=!1,o=null;t=xn(t);let u=Zt(e,"autoInsert",!0),c=new s({connectionString:f});try{await c.connect()}catch(t){n=!0,o=t,c=null}if(n)return Promise.reject(o);try{Tn(t)||(t=[t]),t=or(t,(function(t,e){if(!Xn(t.time))throw new Error(`invalid data[${e}].time[${t.time}]`);return t})),o=await Zn(t,(async t=>{let e=null,n=null;{let e=r.sql({type:"select",table:i,where:{time:t.time}}),o=Zt(await c.query(e.query,e.values),"rows");n=Zt(o,0,null)}if(Nn(n)){let o=an(n,"time"),u=an(t,"time");if(Ve(o,u))e={n:1,nModified:0,ok:1};else{let n=r.sql({type:"insert",table:i,values:t}),o=a(t),u=`${n.query} ${o}`;await c.query(u,n.values).then((()=>{e={n:1,nModified:1,ok:1}})).catch((t=>{e={n:1,nModified:0,ok:0,err:t.message}}))}}else e={n:0,nModified:0,ok:1};if(u&&0===e.n){let n=r.sql({type:"insert",table:i,values:t});await c.query(n.query,n.values).then((()=>{e={n:1,nInserted:1,ok:1}})).catch((t=>{e={n:1,nInserted:0,ok:0,err:t.message}}))}return e})),l.emit("change","save",t,o)}catch(t){n=!0,o=t}finally{await c.end(),c=null}return n?Promise.reject(o):o},l.del=async function(t){let e=!1,n=null;t=xn(t);let o=new s({connectionString:f});try{await o.connect()}catch(t){e=!0,n=t,o=null}if(e)return Promise.reject(n);try{Tn(t)||(t=[t]),t=or(t,(function(t,e){if(!Xn(t.time))throw new Error(`invalid data[${e}].time[${t.time}]`);return t})),n=await Zn(t,(async t=>{let e=null,n=r.sql({type:"delete",table:i,where:{time:t.time}});return await o.query(n.query,n.values).then((t=>{e={n:1,nDeleted:t.rowCount,ok:1}})).catch((t=>{e={n:1,nDeleted:0,ok:0,err:t.message}})),e})),l.emit("change","del",t,n)}catch(t){e=!0,n=t}finally{await o.end(),o=null}return e?Promise.reject(n):n},l.delAll=async function(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=!1,n=null,o=new s({connectionString:f});try{await o.connect()}catch(t){e=!0,n=t,o=null}if(e)return Promise.reject(n);try{let u=r.sql({type:"delete",table:i,where:t});await o.query(u.query,u.values).then((t=>{n={n:t.rowCount,nDeleted:t.rowCount,ok:1},l.emit("change","delAll",null,n)})).catch((t=>{e=!0,n=t.message}))}catch(t){e=!0,n=t}finally{await o.end(),o=null}return e?Promise.reject(n):n},l}}));
7
+ //# sourceMappingURL=w-orm-postgresql.umd.js.map