@nocobase/plugin-charts 0.11.1-alpha.5 → 0.12.0-alpha.1

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 (180) hide show
  1. package/client.d.ts +2 -3
  2. package/client.js +1 -1
  3. package/{lib → dist}/client/index.d.ts +1 -0
  4. package/dist/client/index.js +3234 -0
  5. package/{lib → dist}/index.d.ts +1 -0
  6. package/dist/index.js +18 -0
  7. package/dist/locale/en-US.js +26 -0
  8. package/{src/locale/es-ES.ts → dist/locale/es-ES.js} +22 -18
  9. package/dist/locale/fr-FR.js +5 -0
  10. package/dist/locale/ja-JP.js +5 -0
  11. package/dist/locale/pt-BR.js +26 -0
  12. package/dist/locale/ru-RU.js +5 -0
  13. package/dist/locale/tr-TR.js +5 -0
  14. package/dist/locale/zh-CN.js +65 -0
  15. package/dist/node_modules/json5/dist/index.js +1737 -0
  16. package/dist/node_modules/json5/dist/index.min.js +1 -0
  17. package/dist/node_modules/json5/lib/cli.js +152 -0
  18. package/dist/node_modules/json5/lib/index.d.ts +4 -0
  19. package/dist/node_modules/json5/lib/index.js +1 -0
  20. package/dist/node_modules/json5/lib/parse.d.ts +15 -0
  21. package/dist/node_modules/json5/lib/parse.js +1114 -0
  22. package/dist/node_modules/json5/lib/register.js +13 -0
  23. package/dist/node_modules/json5/lib/require.js +4 -0
  24. package/dist/node_modules/json5/lib/stringify.d.ts +89 -0
  25. package/dist/node_modules/json5/lib/stringify.js +261 -0
  26. package/dist/node_modules/json5/lib/unicode.d.ts +3 -0
  27. package/dist/node_modules/json5/lib/unicode.js +4 -0
  28. package/dist/node_modules/json5/lib/util.d.ts +5 -0
  29. package/dist/node_modules/json5/lib/util.js +35 -0
  30. package/dist/node_modules/json5/package.json +1 -0
  31. package/dist/server/actions/chartsQueries.js +57 -0
  32. package/dist/server/actions/index.js +2 -0
  33. package/dist/server/collections/chartsQueries.js +30 -0
  34. package/dist/server/index.js +11 -0
  35. package/dist/server/plugin.js +66 -0
  36. package/dist/server/query.js +39 -0
  37. package/dist/server/shared/index.js +5 -0
  38. package/package.json +17 -28
  39. package/server.d.ts +2 -3
  40. package/server.js +1 -1
  41. package/lib/client/ChartBlockEngine.js +0 -146
  42. package/lib/client/ChartBlockEngineDesigner.js +0 -293
  43. package/lib/client/ChartBlockInitializer.js +0 -263
  44. package/lib/client/ChartQueryBlockInitializer.js +0 -191
  45. package/lib/client/ChartQueryMetadataProvider.js +0 -91
  46. package/lib/client/DataSetPreviewTable.js +0 -113
  47. package/lib/client/Icons.js +0 -210
  48. package/lib/client/chartRenderComponents/index.js +0 -20
  49. package/lib/client/hooks/index.js +0 -38
  50. package/lib/client/index.js +0 -143
  51. package/lib/client/locale/index.js +0 -37
  52. package/lib/client/select/CustomSelect.js +0 -148
  53. package/lib/client/select/ReadPretty.js +0 -77
  54. package/lib/client/select/index.js +0 -27
  55. package/lib/client/select/shared.js +0 -66
  56. package/lib/client/settings/AddNewQuery.js +0 -270
  57. package/lib/client/settings/ConfigureFields.js +0 -39
  58. package/lib/client/settings/QueriesTable.js +0 -77
  59. package/lib/client/settings/queryTypes.js +0 -77
  60. package/lib/client/settings/schemas/chartsQueries.js +0 -353
  61. package/lib/client/templates/AreaTemplate.js +0 -81
  62. package/lib/client/templates/BarTemplate.js +0 -98
  63. package/lib/client/templates/ColumnTemplate.js +0 -98
  64. package/lib/client/templates/FunnelTemplate.js +0 -82
  65. package/lib/client/templates/LineTemplate.js +0 -89
  66. package/lib/client/templates/PieTemplate.js +0 -87
  67. package/lib/client/templates/RadarTemplate.js +0 -88
  68. package/lib/client/templates/ScatterTemplate.js +0 -107
  69. package/lib/client/templates/TableTemplate.js +0 -54
  70. package/lib/client/templates/index.js +0 -25
  71. package/lib/client/utils.js +0 -50
  72. package/lib/index.js +0 -13
  73. package/lib/locale/en-US.js +0 -29
  74. package/lib/locale/es-ES.js +0 -59
  75. package/lib/locale/fr-FR.js +0 -8
  76. package/lib/locale/ja-JP.js +0 -8
  77. package/lib/locale/pt-BR.js +0 -29
  78. package/lib/locale/ru-RU.js +0 -8
  79. package/lib/locale/tr-TR.js +0 -8
  80. package/lib/locale/zh-CN.js +0 -68
  81. package/lib/server/actions/chartsQueries.js +0 -89
  82. package/lib/server/actions/index.js +0 -1
  83. package/lib/server/collections/chartsQueries.js +0 -33
  84. package/lib/server/index.js +0 -13
  85. package/lib/server/plugin.js +0 -106
  86. package/lib/server/query.js +0 -71
  87. package/lib/server/shared/index.js +0 -8
  88. package/src/client/ChartBlockEngine.tsx +0 -121
  89. package/src/client/ChartBlockEngineDesigner.tsx +0 -248
  90. package/src/client/ChartBlockInitializer.tsx +0 -223
  91. package/src/client/ChartQueryBlockInitializer.tsx +0 -156
  92. package/src/client/ChartQueryMetadataProvider.tsx +0 -64
  93. package/src/client/DataSetPreviewTable.tsx +0 -71
  94. package/src/client/Icons.tsx +0 -99
  95. package/src/client/chartRenderComponents/index.ts +0 -7
  96. package/src/client/hooks/index.ts +0 -19
  97. package/src/client/index.tsx +0 -115
  98. package/src/client/locale/index.ts +0 -18
  99. package/src/client/select/CustomSelect.tsx +0 -126
  100. package/src/client/select/ReadPretty.tsx +0 -39
  101. package/src/client/select/index.md +0 -31
  102. package/src/client/select/index.ts +0 -2
  103. package/src/client/select/shared.ts +0 -37
  104. package/src/client/settings/AddNewQuery.tsx +0 -176
  105. package/src/client/settings/ConfigureFields.tsx +0 -18
  106. package/src/client/settings/QueriesTable.tsx +0 -26
  107. package/src/client/settings/queryTypes.ts +0 -65
  108. package/src/client/settings/schemas/chartsQueries.ts +0 -319
  109. package/src/client/templates/AreaTemplate.tsx +0 -64
  110. package/src/client/templates/BarTemplate.tsx +0 -80
  111. package/src/client/templates/ColumnTemplate.tsx +0 -81
  112. package/src/client/templates/FunnelTemplate.tsx +0 -65
  113. package/src/client/templates/LineTemplate.tsx +0 -72
  114. package/src/client/templates/PieTemplate.tsx +0 -68
  115. package/src/client/templates/RadarTemplate.tsx +0 -71
  116. package/src/client/templates/ScatterTemplate.tsx +0 -90
  117. package/src/client/templates/TableTemplate.tsx +0 -48
  118. package/src/client/templates/index.ts +0 -21
  119. package/src/client/utils.ts +0 -39
  120. package/src/index.ts +0 -1
  121. package/src/locale/en-US.ts +0 -23
  122. package/src/locale/fr-FR.ts +0 -1
  123. package/src/locale/ja-JP.ts +0 -1
  124. package/src/locale/pt-BR.ts +0 -23
  125. package/src/locale/ru-RU.ts +0 -1
  126. package/src/locale/tr-TR.ts +0 -1
  127. package/src/locale/zh-CN.ts +0 -64
  128. package/src/server/actions/chartsQueries.ts +0 -49
  129. package/src/server/actions/index.ts +0 -0
  130. package/src/server/collections/.gitkeep +0 -0
  131. package/src/server/collections/chartsQueries.ts +0 -26
  132. package/src/server/index.ts +0 -1
  133. package/src/server/plugin.ts +0 -61
  134. package/src/server/query.ts +0 -39
  135. package/src/server/shared/index.ts +0 -2
  136. /package/{lib → dist}/client/ChartBlockEngine.d.ts +0 -0
  137. /package/{lib → dist}/client/ChartBlockEngineDesigner.d.ts +0 -0
  138. /package/{lib → dist}/client/ChartBlockInitializer.d.ts +0 -0
  139. /package/{lib → dist}/client/ChartQueryBlockInitializer.d.ts +0 -0
  140. /package/{lib → dist}/client/ChartQueryMetadataProvider.d.ts +0 -0
  141. /package/{lib → dist}/client/DataSetPreviewTable.d.ts +0 -0
  142. /package/{lib → dist}/client/Icons.d.ts +0 -0
  143. /package/{lib → dist}/client/chartRenderComponents/index.d.ts +0 -0
  144. /package/{lib → dist}/client/hooks/index.d.ts +0 -0
  145. /package/{lib → dist}/client/locale/index.d.ts +0 -0
  146. /package/{lib → dist}/client/select/CustomSelect.d.ts +0 -0
  147. /package/{lib → dist}/client/select/ReadPretty.d.ts +0 -0
  148. /package/{lib → dist}/client/select/index.d.ts +0 -0
  149. /package/{lib → dist}/client/select/shared.d.ts +0 -0
  150. /package/{lib → dist}/client/settings/AddNewQuery.d.ts +0 -0
  151. /package/{lib → dist}/client/settings/ConfigureFields.d.ts +0 -0
  152. /package/{lib → dist}/client/settings/QueriesTable.d.ts +0 -0
  153. /package/{lib → dist}/client/settings/queryTypes.d.ts +0 -0
  154. /package/{lib → dist}/client/settings/schemas/chartsQueries.d.ts +0 -0
  155. /package/{lib → dist}/client/templates/AreaTemplate.d.ts +0 -0
  156. /package/{lib → dist}/client/templates/BarTemplate.d.ts +0 -0
  157. /package/{lib → dist}/client/templates/ColumnTemplate.d.ts +0 -0
  158. /package/{lib → dist}/client/templates/FunnelTemplate.d.ts +0 -0
  159. /package/{lib → dist}/client/templates/LineTemplate.d.ts +0 -0
  160. /package/{lib → dist}/client/templates/PieTemplate.d.ts +0 -0
  161. /package/{lib → dist}/client/templates/RadarTemplate.d.ts +0 -0
  162. /package/{lib → dist}/client/templates/ScatterTemplate.d.ts +0 -0
  163. /package/{lib → dist}/client/templates/TableTemplate.d.ts +0 -0
  164. /package/{lib → dist}/client/templates/index.d.ts +0 -0
  165. /package/{lib → dist}/client/utils.d.ts +0 -0
  166. /package/{lib → dist}/locale/en-US.d.ts +0 -0
  167. /package/{lib → dist}/locale/es-ES.d.ts +0 -0
  168. /package/{lib → dist}/locale/fr-FR.d.ts +0 -0
  169. /package/{lib → dist}/locale/ja-JP.d.ts +0 -0
  170. /package/{lib → dist}/locale/pt-BR.d.ts +0 -0
  171. /package/{lib → dist}/locale/ru-RU.d.ts +0 -0
  172. /package/{lib → dist}/locale/tr-TR.d.ts +0 -0
  173. /package/{lib → dist}/locale/zh-CN.d.ts +0 -0
  174. /package/{lib → dist}/server/actions/chartsQueries.d.ts +0 -0
  175. /package/{lib → dist}/server/actions/index.d.ts +0 -0
  176. /package/{lib → dist}/server/collections/chartsQueries.d.ts +0 -0
  177. /package/{lib → dist}/server/index.d.ts +0 -0
  178. /package/{lib → dist}/server/plugin.d.ts +0 -0
  179. /package/{lib → dist}/server/query.d.ts +0 -0
  180. /package/{lib → dist}/server/shared/index.d.ts +0 -0
@@ -0,0 +1,13 @@
1
+ const fs = require('fs')
2
+ const JSON5 = require('./')
3
+
4
+ // eslint-disable-next-line node/no-deprecated-api
5
+ require.extensions['.json5'] = function (module, filename) {
6
+ const content = fs.readFileSync(filename, 'utf8')
7
+ try {
8
+ module.exports = JSON5.parse(content)
9
+ } catch (err) {
10
+ err.message = filename + ': ' + err.message
11
+ throw err
12
+ }
13
+ }
@@ -0,0 +1,4 @@
1
+ // This file is for backward compatibility with v0.5.1.
2
+ require('./register')
3
+
4
+ console.warn("'json5/require' is deprecated. Please use 'json5/register' instead.")
@@ -0,0 +1,89 @@
1
+ declare type StringifyOptions = {
2
+ /**
3
+ * A function that alters the behavior of the stringification process, or an
4
+ * array of String and Number objects that serve as a allowlist for
5
+ * selecting/filtering the properties of the value object to be included in
6
+ * the JSON5 string. If this value is null or not provided, all properties
7
+ * of the object are included in the resulting JSON5 string.
8
+ */
9
+ replacer?:
10
+ | ((this: any, key: string, value: any) => any)
11
+ | (string | number)[]
12
+ | null
13
+
14
+ /**
15
+ * A String or Number object that's used to insert white space into the
16
+ * output JSON5 string for readability purposes. If this is a Number, it
17
+ * indicates the number of space characters to use as white space; this
18
+ * number is capped at 10 (if it is greater, the value is just 10). Values
19
+ * less than 1 indicate that no space should be used. If this is a String,
20
+ * the string (or the first 10 characters of the string, if it's longer than
21
+ * that) is used as white space. If this parameter is not provided (or is
22
+ * null), no white space is used. If white space is used, trailing commas
23
+ * will be used in objects and arrays.
24
+ */
25
+ space?: string | number | null
26
+
27
+ /**
28
+ * A String representing the quote character to use when serializing
29
+ * strings.
30
+ */
31
+ quote?: string | null
32
+ }
33
+
34
+ /**
35
+ * Converts a JavaScript value to a JSON5 string.
36
+ * @param value The value to convert to a JSON5 string.
37
+ * @param replacer A function that alters the behavior of the stringification
38
+ * process. If this value is null or not provided, all properties of the object
39
+ * are included in the resulting JSON5 string.
40
+ * @param space A String or Number object that's used to insert white space into
41
+ * the output JSON5 string for readability purposes. If this is a Number, it
42
+ * indicates the number of space characters to use as white space; this number
43
+ * is capped at 10 (if it is greater, the value is just 10). Values less than 1
44
+ * indicate that no space should be used. If this is a String, the string (or
45
+ * the first 10 characters of the string, if it's longer than that) is used as
46
+ * white space. If this parameter is not provided (or is null), no white space
47
+ * is used. If white space is used, trailing commas will be used in objects and
48
+ * arrays.
49
+ * @returns The JSON5 string converted from the JavaScript value.
50
+ */
51
+ declare function stringify(
52
+ value: any,
53
+ replacer?: ((this: any, key: string, value: any) => any) | null,
54
+ space?: string | number | null,
55
+ ): string
56
+
57
+ /**
58
+ * Converts a JavaScript value to a JSON5 string.
59
+ * @param value The value to convert to a JSON5 string.
60
+ * @param replacer An array of String and Number objects that serve as a
61
+ * allowlist for selecting/filtering the properties of the value object to be
62
+ * included in the JSON5 string. If this value is null or not provided, all
63
+ * properties of the object are included in the resulting JSON5 string.
64
+ * @param space A String or Number object that's used to insert white space into
65
+ * the output JSON5 string for readability purposes. If this is a Number, it
66
+ * indicates the number of space characters to use as white space; this number
67
+ * is capped at 10 (if it is greater, the value is just 10). Values less than 1
68
+ * indicate that no space should be used. If this is a String, the string (or
69
+ * the first 10 characters of the string, if it's longer than that) is used as
70
+ * white space. If this parameter is not provided (or is null), no white space
71
+ * is used. If white space is used, trailing commas will be used in objects and
72
+ * arrays.
73
+ * @returns The JSON5 string converted from the JavaScript value.
74
+ */
75
+ declare function stringify(
76
+ value: any,
77
+ replacer: (string | number)[],
78
+ space?: string | number | null,
79
+ ): string
80
+
81
+ /**
82
+ * Converts a JavaScript value to a JSON5 string.
83
+ * @param value The value to convert to a JSON5 string.
84
+ * @param options An object specifying options.
85
+ * @returns The JSON5 string converted from the JavaScript value.
86
+ */
87
+ declare function stringify(value: any, options: StringifyOptions): string
88
+
89
+ export = stringify
@@ -0,0 +1,261 @@
1
+ const util = require('./util')
2
+
3
+ module.exports = function stringify (value, replacer, space) {
4
+ const stack = []
5
+ let indent = ''
6
+ let propertyList
7
+ let replacerFunc
8
+ let gap = ''
9
+ let quote
10
+
11
+ if (
12
+ replacer != null &&
13
+ typeof replacer === 'object' &&
14
+ !Array.isArray(replacer)
15
+ ) {
16
+ space = replacer.space
17
+ quote = replacer.quote
18
+ replacer = replacer.replacer
19
+ }
20
+
21
+ if (typeof replacer === 'function') {
22
+ replacerFunc = replacer
23
+ } else if (Array.isArray(replacer)) {
24
+ propertyList = []
25
+ for (const v of replacer) {
26
+ let item
27
+
28
+ if (typeof v === 'string') {
29
+ item = v
30
+ } else if (
31
+ typeof v === 'number' ||
32
+ v instanceof String ||
33
+ v instanceof Number
34
+ ) {
35
+ item = String(v)
36
+ }
37
+
38
+ if (item !== undefined && propertyList.indexOf(item) < 0) {
39
+ propertyList.push(item)
40
+ }
41
+ }
42
+ }
43
+
44
+ if (space instanceof Number) {
45
+ space = Number(space)
46
+ } else if (space instanceof String) {
47
+ space = String(space)
48
+ }
49
+
50
+ if (typeof space === 'number') {
51
+ if (space > 0) {
52
+ space = Math.min(10, Math.floor(space))
53
+ gap = ' '.substr(0, space)
54
+ }
55
+ } else if (typeof space === 'string') {
56
+ gap = space.substr(0, 10)
57
+ }
58
+
59
+ return serializeProperty('', {'': value})
60
+
61
+ function serializeProperty (key, holder) {
62
+ let value = holder[key]
63
+ if (value != null) {
64
+ if (typeof value.toJSON5 === 'function') {
65
+ value = value.toJSON5(key)
66
+ } else if (typeof value.toJSON === 'function') {
67
+ value = value.toJSON(key)
68
+ }
69
+ }
70
+
71
+ if (replacerFunc) {
72
+ value = replacerFunc.call(holder, key, value)
73
+ }
74
+
75
+ if (value instanceof Number) {
76
+ value = Number(value)
77
+ } else if (value instanceof String) {
78
+ value = String(value)
79
+ } else if (value instanceof Boolean) {
80
+ value = value.valueOf()
81
+ }
82
+
83
+ switch (value) {
84
+ case null: return 'null'
85
+ case true: return 'true'
86
+ case false: return 'false'
87
+ }
88
+
89
+ if (typeof value === 'string') {
90
+ return quoteString(value, false)
91
+ }
92
+
93
+ if (typeof value === 'number') {
94
+ return String(value)
95
+ }
96
+
97
+ if (typeof value === 'object') {
98
+ return Array.isArray(value) ? serializeArray(value) : serializeObject(value)
99
+ }
100
+
101
+ return undefined
102
+ }
103
+
104
+ function quoteString (value) {
105
+ const quotes = {
106
+ "'": 0.1,
107
+ '"': 0.2,
108
+ }
109
+
110
+ const replacements = {
111
+ "'": "\\'",
112
+ '"': '\\"',
113
+ '\\': '\\\\',
114
+ '\b': '\\b',
115
+ '\f': '\\f',
116
+ '\n': '\\n',
117
+ '\r': '\\r',
118
+ '\t': '\\t',
119
+ '\v': '\\v',
120
+ '\0': '\\0',
121
+ '\u2028': '\\u2028',
122
+ '\u2029': '\\u2029',
123
+ }
124
+
125
+ let product = ''
126
+
127
+ for (let i = 0; i < value.length; i++) {
128
+ const c = value[i]
129
+ switch (c) {
130
+ case "'":
131
+ case '"':
132
+ quotes[c]++
133
+ product += c
134
+ continue
135
+
136
+ case '\0':
137
+ if (util.isDigit(value[i + 1])) {
138
+ product += '\\x00'
139
+ continue
140
+ }
141
+ }
142
+
143
+ if (replacements[c]) {
144
+ product += replacements[c]
145
+ continue
146
+ }
147
+
148
+ if (c < ' ') {
149
+ let hexString = c.charCodeAt(0).toString(16)
150
+ product += '\\x' + ('00' + hexString).substring(hexString.length)
151
+ continue
152
+ }
153
+
154
+ product += c
155
+ }
156
+
157
+ const quoteChar = quote || Object.keys(quotes).reduce((a, b) => (quotes[a] < quotes[b]) ? a : b)
158
+
159
+ product = product.replace(new RegExp(quoteChar, 'g'), replacements[quoteChar])
160
+
161
+ return quoteChar + product + quoteChar
162
+ }
163
+
164
+ function serializeObject (value) {
165
+ if (stack.indexOf(value) >= 0) {
166
+ throw TypeError('Converting circular structure to JSON5')
167
+ }
168
+
169
+ stack.push(value)
170
+
171
+ let stepback = indent
172
+ indent = indent + gap
173
+
174
+ let keys = propertyList || Object.keys(value)
175
+ let partial = []
176
+ for (const key of keys) {
177
+ const propertyString = serializeProperty(key, value)
178
+ if (propertyString !== undefined) {
179
+ let member = serializeKey(key) + ':'
180
+ if (gap !== '') {
181
+ member += ' '
182
+ }
183
+ member += propertyString
184
+ partial.push(member)
185
+ }
186
+ }
187
+
188
+ let final
189
+ if (partial.length === 0) {
190
+ final = '{}'
191
+ } else {
192
+ let properties
193
+ if (gap === '') {
194
+ properties = partial.join(',')
195
+ final = '{' + properties + '}'
196
+ } else {
197
+ let separator = ',\n' + indent
198
+ properties = partial.join(separator)
199
+ final = '{\n' + indent + properties + ',\n' + stepback + '}'
200
+ }
201
+ }
202
+
203
+ stack.pop()
204
+ indent = stepback
205
+ return final
206
+ }
207
+
208
+ function serializeKey (key) {
209
+ if (key.length === 0) {
210
+ return quoteString(key, true)
211
+ }
212
+
213
+ const firstChar = String.fromCodePoint(key.codePointAt(0))
214
+ if (!util.isIdStartChar(firstChar)) {
215
+ return quoteString(key, true)
216
+ }
217
+
218
+ for (let i = firstChar.length; i < key.length; i++) {
219
+ if (!util.isIdContinueChar(String.fromCodePoint(key.codePointAt(i)))) {
220
+ return quoteString(key, true)
221
+ }
222
+ }
223
+
224
+ return key
225
+ }
226
+
227
+ function serializeArray (value) {
228
+ if (stack.indexOf(value) >= 0) {
229
+ throw TypeError('Converting circular structure to JSON5')
230
+ }
231
+
232
+ stack.push(value)
233
+
234
+ let stepback = indent
235
+ indent = indent + gap
236
+
237
+ let partial = []
238
+ for (let i = 0; i < value.length; i++) {
239
+ const propertyString = serializeProperty(String(i), value)
240
+ partial.push((propertyString !== undefined) ? propertyString : 'null')
241
+ }
242
+
243
+ let final
244
+ if (partial.length === 0) {
245
+ final = '[]'
246
+ } else {
247
+ if (gap === '') {
248
+ let properties = partial.join(',')
249
+ final = '[' + properties + ']'
250
+ } else {
251
+ let separator = ',\n' + indent
252
+ let properties = partial.join(separator)
253
+ final = '[\n' + indent + properties + ',\n' + stepback + ']'
254
+ }
255
+ }
256
+
257
+ stack.pop()
258
+ indent = stepback
259
+ return final
260
+ }
261
+ }
@@ -0,0 +1,3 @@
1
+ export declare const Space_Separator: RegExp
2
+ export declare const ID_Start: RegExp
3
+ export declare const ID_Continue: RegExp
@@ -0,0 +1,4 @@
1
+ // This is a generated file. Do not edit.
2
+ module.exports.Space_Separator = /[\u1680\u2000-\u200A\u202F\u205F\u3000]/
3
+ module.exports.ID_Start = /[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u08A0-\u08B4\u08B6-\u08BD\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C88\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312E\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FEA\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF2D-\uDF4A\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC03-\uDC37\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE2B\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE80-\uDEAA\uDF00-\uDF19]|\uD806[\uDCA0-\uDCDF\uDCFF\uDE00\uDE0B-\uDE32\uDE3A\uDE50\uDE5C-\uDE83\uDE86-\uDE89\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC72-\uDC8F\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD30\uDD46]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50\uDF93-\uDF9F\uDFE0\uDFE1]|\uD821[\uDC00-\uDFEC]|\uD822[\uDC00-\uDEF2]|\uD82C[\uDC00-\uDD1E\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB]|\uD83A[\uDC00-\uDCC4\uDD00-\uDD43]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]/
4
+ module.exports.ID_Continue = /[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0300-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u0483-\u0487\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u05D0-\u05EA\u05F0-\u05F2\u0610-\u061A\u0620-\u0669\u066E-\u06D3\u06D5-\u06DC\u06DF-\u06E8\u06EA-\u06FC\u06FF\u0710-\u074A\u074D-\u07B1\u07C0-\u07F5\u07FA\u0800-\u082D\u0840-\u085B\u0860-\u086A\u08A0-\u08B4\u08B6-\u08BD\u08D4-\u08E1\u08E3-\u0963\u0966-\u096F\u0971-\u0983\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BC-\u09C4\u09C7\u09C8\u09CB-\u09CE\u09D7\u09DC\u09DD\u09DF-\u09E3\u09E6-\u09F1\u09FC\u0A01-\u0A03\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A59-\u0A5C\u0A5E\u0A66-\u0A75\u0A81-\u0A83\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABC-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AD0\u0AE0-\u0AE3\u0AE6-\u0AEF\u0AF9-\u0AFF\u0B01-\u0B03\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3C-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B5C\u0B5D\u0B5F-\u0B63\u0B66-\u0B6F\u0B71\u0B82\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD0\u0BD7\u0BE6-\u0BEF\u0C00-\u0C03\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C58-\u0C5A\u0C60-\u0C63\u0C66-\u0C6F\u0C80-\u0C83\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBC-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CDE\u0CE0-\u0CE3\u0CE6-\u0CEF\u0CF1\u0CF2\u0D00-\u0D03\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D44\u0D46-\u0D48\u0D4A-\u0D4E\u0D54-\u0D57\u0D5F-\u0D63\u0D66-\u0D6F\u0D7A-\u0D7F\u0D82\u0D83\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2\u0DF3\u0E01-\u0E3A\u0E40-\u0E4E\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB9\u0EBB-\u0EBD\u0EC0-\u0EC4\u0EC6\u0EC8-\u0ECD\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F18\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E-\u0F47\u0F49-\u0F6C\u0F71-\u0F84\u0F86-\u0F97\u0F99-\u0FBC\u0FC6\u1000-\u1049\u1050-\u109D\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u135D-\u135F\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1714\u1720-\u1734\u1740-\u1753\u1760-\u176C\u176E-\u1770\u1772\u1773\u1780-\u17D3\u17D7\u17DC\u17DD\u17E0-\u17E9\u180B-\u180D\u1810-\u1819\u1820-\u1877\u1880-\u18AA\u18B0-\u18F5\u1900-\u191E\u1920-\u192B\u1930-\u193B\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19D9\u1A00-\u1A1B\u1A20-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AA7\u1AB0-\u1ABD\u1B00-\u1B4B\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1BF3\u1C00-\u1C37\u1C40-\u1C49\u1C4D-\u1C7D\u1C80-\u1C88\u1CD0-\u1CD2\u1CD4-\u1CF9\u1D00-\u1DF9\u1DFB-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u203F\u2040\u2054\u2071\u207F\u2090-\u209C\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D7F-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2DE0-\u2DFF\u2E2F\u3005-\u3007\u3021-\u302F\u3031-\u3035\u3038-\u303C\u3041-\u3096\u3099\u309A\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312E\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FEA\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66F\uA674-\uA67D\uA67F-\uA6F1\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA827\uA840-\uA873\uA880-\uA8C5\uA8D0-\uA8D9\uA8E0-\uA8F7\uA8FB\uA8FD\uA900-\uA92D\uA930-\uA953\uA960-\uA97C\uA980-\uA9C0\uA9CF-\uA9D9\uA9E0-\uA9FE\uAA00-\uAA36\uAA40-\uAA4D\uAA50-\uAA59\uAA60-\uAA76\uAA7A-\uAAC2\uAADB-\uAADD\uAAE0-\uAAEF\uAAF2-\uAAF6\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABEA\uABEC\uABED\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE00-\uFE0F\uFE20-\uFE2F\uFE33\uFE34\uFE4D-\uFE4F\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF3F\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDDFD\uDE80-\uDE9C\uDEA0-\uDED0\uDEE0\uDF00-\uDF1F\uDF2D-\uDF4A\uDF50-\uDF7A\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCA0-\uDCA9\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00-\uDE03\uDE05\uDE06\uDE0C-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE38-\uDE3A\uDE3F\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE6\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC00-\uDC46\uDC66-\uDC6F\uDC7F-\uDCBA\uDCD0-\uDCE8\uDCF0-\uDCF9\uDD00-\uDD34\uDD36-\uDD3F\uDD50-\uDD73\uDD76\uDD80-\uDDC4\uDDCA-\uDDCC\uDDD0-\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE37\uDE3E\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEEA\uDEF0-\uDEF9\uDF00-\uDF03\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3C-\uDF44\uDF47\uDF48\uDF4B-\uDF4D\uDF50\uDF57\uDF5D-\uDF63\uDF66-\uDF6C\uDF70-\uDF74]|\uD805[\uDC00-\uDC4A\uDC50-\uDC59\uDC80-\uDCC5\uDCC7\uDCD0-\uDCD9\uDD80-\uDDB5\uDDB8-\uDDC0\uDDD8-\uDDDD\uDE00-\uDE40\uDE44\uDE50-\uDE59\uDE80-\uDEB7\uDEC0-\uDEC9\uDF00-\uDF19\uDF1D-\uDF2B\uDF30-\uDF39]|\uD806[\uDCA0-\uDCE9\uDCFF\uDE00-\uDE3E\uDE47\uDE50-\uDE83\uDE86-\uDE99\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC36\uDC38-\uDC40\uDC50-\uDC59\uDC72-\uDC8F\uDC92-\uDCA7\uDCA9-\uDCB6\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD36\uDD3A\uDD3C\uDD3D\uDD3F-\uDD47\uDD50-\uDD59]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE60-\uDE69\uDED0-\uDEED\uDEF0-\uDEF4\uDF00-\uDF36\uDF40-\uDF43\uDF50-\uDF59\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50-\uDF7E\uDF8F-\uDF9F\uDFE0\uDFE1]|\uD821[\uDC00-\uDFEC]|\uD822[\uDC00-\uDEF2]|\uD82C[\uDC00-\uDD1E\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99\uDC9D\uDC9E]|\uD834[\uDD65-\uDD69\uDD6D-\uDD72\uDD7B-\uDD82\uDD85-\uDD8B\uDDAA-\uDDAD\uDE42-\uDE44]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB\uDFCE-\uDFFF]|\uD836[\uDE00-\uDE36\uDE3B-\uDE6C\uDE75\uDE84\uDE9B-\uDE9F\uDEA1-\uDEAF]|\uD838[\uDC00-\uDC06\uDC08-\uDC18\uDC1B-\uDC21\uDC23\uDC24\uDC26-\uDC2A]|\uD83A[\uDC00-\uDCC4\uDCD0-\uDCD6\uDD00-\uDD4A\uDD50-\uDD59]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]|\uDB40[\uDD00-\uDDEF]/
@@ -0,0 +1,5 @@
1
+ export declare function isSpaceSeparator(c?: string): boolean
2
+ export declare function isIdStartChar(c?: string): boolean
3
+ export declare function isIdContinueChar(c?: string): boolean
4
+ export declare function isDigit(c?: string): boolean
5
+ export declare function isHexDigit(c?: string): boolean
@@ -0,0 +1,35 @@
1
+ const unicode = require('../lib/unicode')
2
+
3
+ module.exports = {
4
+ isSpaceSeparator (c) {
5
+ return typeof c === 'string' && unicode.Space_Separator.test(c)
6
+ },
7
+
8
+ isIdStartChar (c) {
9
+ return typeof c === 'string' && (
10
+ (c >= 'a' && c <= 'z') ||
11
+ (c >= 'A' && c <= 'Z') ||
12
+ (c === '$') || (c === '_') ||
13
+ unicode.ID_Start.test(c)
14
+ )
15
+ },
16
+
17
+ isIdContinueChar (c) {
18
+ return typeof c === 'string' && (
19
+ (c >= 'a' && c <= 'z') ||
20
+ (c >= 'A' && c <= 'Z') ||
21
+ (c >= '0' && c <= '9') ||
22
+ (c === '$') || (c === '_') ||
23
+ (c === '\u200C') || (c === '\u200D') ||
24
+ unicode.ID_Continue.test(c)
25
+ )
26
+ },
27
+
28
+ isDigit (c) {
29
+ return typeof c === 'string' && /[0-9]/.test(c)
30
+ },
31
+
32
+ isHexDigit (c) {
33
+ return typeof c === 'string' && /[0-9A-Fa-f]/.test(c)
34
+ },
35
+ }
@@ -0,0 +1 @@
1
+ {"name":"json5","version":"2.2.3","description":"JSON for Humans","main":"lib/index.js","module":"dist/index.mjs","bin":"lib/cli.js","browser":"dist/index.js","types":"lib/index.d.ts","files":["lib/","dist/"],"engines":{"node":">=6"},"scripts":{"build":"rollup -c","build-package":"node build/package.js","build-unicode":"node build/unicode.js","coverage":"tap --coverage-report html test","lint":"eslint --fix .","lint-report":"eslint .","prepublishOnly":"npm run production","preversion":"npm run production","production":"run-s test build","tap":"tap -Rspec --100 test","test":"run-s lint-report tap","version":"npm run build-package && git add package.json5"},"repository":{"type":"git","url":"git+https://github.com/json5/json5.git"},"keywords":["json","json5","es5","es2015","ecmascript"],"author":"Aseem Kishore <aseem.kishore@gmail.com>","contributors":["Max Nanasy <max.nanasy@gmail.com>","Andrew Eisenberg <andrew@eisenberg.as>","Jordan Tucker <jordanbtucker@gmail.com>"],"license":"MIT","bugs":{"url":"https://github.com/json5/json5/issues"},"homepage":"http://json5.org/","devDependencies":{"core-js":"^2.6.5","eslint":"^5.15.3","eslint-config-standard":"^12.0.0","eslint-plugin-import":"^2.16.0","eslint-plugin-node":"^8.0.1","eslint-plugin-promise":"^4.0.1","eslint-plugin-standard":"^4.0.0","npm-run-all":"^4.1.5","regenerate":"^1.4.0","rollup":"^0.64.1","rollup-plugin-buble":"^0.19.6","rollup-plugin-commonjs":"^9.2.1","rollup-plugin-node-resolve":"^3.4.0","rollup-plugin-terser":"^1.0.1","sinon":"^6.3.5","tap":"^12.6.0","unicode-10.0.0":"^0.7.5"},"_lastModified":"2023-08-01T16:25:50.498Z"}
@@ -0,0 +1,57 @@
1
+ 'use strict';
2
+
3
+ var JSON5 = require('json5');
4
+ var query = require('../query');
5
+
6
+ function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
7
+
8
+ var JSON5__default = /*#__PURE__*/_interopDefault(JSON5);
9
+
10
+ const getData = async (ctx, next) => {
11
+ const { filterByTk } = ctx.action.params;
12
+ const r = ctx.db.getRepository("chartsQueries");
13
+ try {
14
+ const instance = await r.findOne({ filterByTk });
15
+ const result = await query.query[instance.type](instance.options, { db: ctx.db, skipError: true });
16
+ if (typeof result === "string") {
17
+ ctx.body = JSON5__default.default.parse(result);
18
+ } else {
19
+ ctx.body = result;
20
+ }
21
+ } catch (error) {
22
+ ctx.body = [];
23
+ ctx.logger.info("chartsQueries", error);
24
+ }
25
+ return next();
26
+ };
27
+ const validate = async (ctx, next) => {
28
+ const { values } = ctx.action.params;
29
+ ctx.body = {
30
+ errorMessage: ""
31
+ };
32
+ try {
33
+ await query.query.sql(values, { db: ctx.db, validateSQL: true });
34
+ } catch (error) {
35
+ ctx.body = {
36
+ errorMessage: error.message
37
+ };
38
+ }
39
+ return next();
40
+ };
41
+ const listMetadata = async (ctx, next) => {
42
+ const r = ctx.db.getRepository("chartsQueries");
43
+ const items = await r.find({ sort: "-id" });
44
+ ctx.body = items.map((item) => {
45
+ return {
46
+ id: item.id,
47
+ title: item.title,
48
+ type: item.type,
49
+ fields: item.fields
50
+ };
51
+ });
52
+ return next();
53
+ };
54
+
55
+ exports.getData = getData;
56
+ exports.listMetadata = listMetadata;
57
+ exports.validate = validate;
@@ -0,0 +1,2 @@
1
+ 'use strict';
2
+
@@ -0,0 +1,30 @@
1
+ 'use strict';
2
+
3
+ var database = require('@nocobase/database');
4
+
5
+ var chartsQueries_default = database.defineCollection({
6
+ namespace: "charts.chartsQueries",
7
+ duplicator: "optional",
8
+ name: "chartsQueries",
9
+ fields: [
10
+ {
11
+ name: "title",
12
+ type: "string"
13
+ },
14
+ {
15
+ name: "type",
16
+ type: "string"
17
+ },
18
+ {
19
+ name: "options",
20
+ type: "json"
21
+ },
22
+ {
23
+ name: "fields",
24
+ type: "json",
25
+ defaultValue: []
26
+ }
27
+ ]
28
+ });
29
+
30
+ module.exports = chartsQueries_default;
@@ -0,0 +1,11 @@
1
+ 'use strict';
2
+
3
+ var plugin = require('./plugin');
4
+
5
+ function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
6
+
7
+ var plugin__default = /*#__PURE__*/_interopDefault(plugin);
8
+
9
+
10
+
11
+ module.exports = plugin__default.default;
@@ -0,0 +1,66 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var server = require('@nocobase/server');
6
+ var JSON5 = require('json5');
7
+ var path = require('path');
8
+ var chartsQueries = require('./actions/chartsQueries');
9
+ var query = require('./query');
10
+
11
+ function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
12
+
13
+ var JSON5__default = /*#__PURE__*/_interopDefault(JSON5);
14
+
15
+ class ChartsPlugin extends server.Plugin {
16
+ syncFields = async (instance, { transaction }) => {
17
+ const _data = await query.query[instance.type](instance.options, { db: this.db, transaction, validateSQL: true });
18
+ let data;
19
+ if (typeof _data === "string") {
20
+ data = JSON5__default.default.parse(_data);
21
+ } else {
22
+ data = _data;
23
+ }
24
+ const d = Array.isArray(data) ? data == null ? void 0 : data[0] : data;
25
+ const fields = Object.keys(d || {}).map((f) => {
26
+ return {
27
+ name: f
28
+ };
29
+ });
30
+ instance.set("fields", fields);
31
+ };
32
+ afterAdd() {
33
+ }
34
+ beforeLoad() {
35
+ this.app.db.on("chartsQueries.beforeCreate", this.syncFields);
36
+ this.app.db.on("chartsQueries.beforeUpdate", this.syncFields);
37
+ }
38
+ async load() {
39
+ await this.db.import({
40
+ directory: path.resolve(__dirname, "collections")
41
+ });
42
+ this.app.resourcer.registerActionHandlers({
43
+ "chartsQueries:getData": chartsQueries.getData,
44
+ "chartsQueries:listMetadata": chartsQueries.listMetadata,
45
+ "chartsQueries:validate": chartsQueries.validate
46
+ });
47
+ this.app.acl.registerSnippet({
48
+ name: "pm.charts.queries",
49
+ actions: ["chartsQueries:*"]
50
+ });
51
+ this.app.acl.allow("chartsQueries", "getData", "loggedIn");
52
+ this.app.acl.allow("chartsQueries", "listMetadata", "loggedIn");
53
+ }
54
+ async install(options) {
55
+ }
56
+ async afterEnable() {
57
+ }
58
+ async afterDisable() {
59
+ }
60
+ async remove() {
61
+ }
62
+ }
63
+ var plugin_default = ChartsPlugin;
64
+
65
+ exports.ChartsPlugin = ChartsPlugin;
66
+ exports.default = plugin_default;
@@ -0,0 +1,39 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ const query = {
6
+ api: async (options) => {
7
+ return [];
8
+ },
9
+ json: async (options) => {
10
+ return options.data || [];
11
+ },
12
+ sql: async (options, {
13
+ db,
14
+ transaction,
15
+ skipError,
16
+ validateSQL
17
+ }) => {
18
+ try {
19
+ const sql = options.sql.trim().split(";").shift();
20
+ if (!sql) {
21
+ throw new Error("SQL is empty");
22
+ }
23
+ if (!/^select/i.test(sql) && !/^with([\s\S]+)select([\s\S]+)/i.test(sql)) {
24
+ throw new Error("Only select query allowed");
25
+ }
26
+ const [data] = await db.sequelize.query(sql, { transaction });
27
+ return data;
28
+ } catch (error) {
29
+ if (skipError) {
30
+ return [];
31
+ }
32
+ throw error;
33
+ }
34
+ }
35
+ };
36
+ var query_default = query;
37
+
38
+ exports.default = query_default;
39
+ exports.query = query;
@@ -0,0 +1,5 @@
1
+ 'use strict';
2
+
3
+ const choicesTypeInterfaceArray = ["radioGroup", "select"];
4
+
5
+ exports.choicesTypeInterfaceArray = choicesTypeInterfaceArray;