adminforth 1.3.54-next.8 → 1.3.55-next.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 (250) hide show
  1. package/dist/auth.d.ts +31 -0
  2. package/dist/auth.d.ts.map +1 -0
  3. package/dist/auth.js +42 -56
  4. package/dist/auth.js.map +1 -0
  5. package/dist/basePlugin.d.ts +18 -0
  6. package/dist/basePlugin.d.ts.map +1 -0
  7. package/dist/basePlugin.js +1 -0
  8. package/dist/basePlugin.js.map +1 -0
  9. package/dist/dataConnectors/baseConnector.d.ts +94 -0
  10. package/dist/dataConnectors/baseConnector.d.ts.map +1 -0
  11. package/dist/dataConnectors/baseConnector.js +108 -122
  12. package/dist/dataConnectors/baseConnector.js.map +1 -0
  13. package/dist/dataConnectors/clickhouse.d.ts +92 -0
  14. package/dist/dataConnectors/clickhouse.d.ts.map +1 -0
  15. package/dist/dataConnectors/clickhouse.js +132 -149
  16. package/dist/dataConnectors/clickhouse.js.map +1 -0
  17. package/dist/dataConnectors/mongo.d.ts +93 -0
  18. package/dist/dataConnectors/mongo.d.ts.map +1 -0
  19. package/dist/dataConnectors/mongo.js +75 -101
  20. package/dist/dataConnectors/mongo.js.map +1 -0
  21. package/dist/dataConnectors/postgres.d.ts +71 -0
  22. package/dist/dataConnectors/postgres.d.ts.map +1 -0
  23. package/dist/dataConnectors/postgres.js +124 -143
  24. package/dist/dataConnectors/postgres.js.map +1 -0
  25. package/dist/dataConnectors/sqlite.d.ts +67 -0
  26. package/dist/dataConnectors/sqlite.d.ts.map +1 -0
  27. package/dist/dataConnectors/sqlite.js +113 -130
  28. package/dist/dataConnectors/sqlite.js.map +1 -0
  29. package/dist/index.d.ts +92 -0
  30. package/dist/index.d.ts.map +1 -0
  31. package/dist/index.js +197 -217
  32. package/dist/index.js.map +1 -0
  33. package/dist/modules/codeInjector.d.ts +35 -0
  34. package/dist/modules/codeInjector.d.ts.map +1 -0
  35. package/dist/modules/codeInjector.js +480 -486
  36. package/dist/modules/codeInjector.js.map +1 -0
  37. package/dist/modules/configValidator.d.ts +12 -0
  38. package/dist/modules/configValidator.d.ts.map +1 -0
  39. package/dist/modules/configValidator.js +31 -22
  40. package/dist/modules/configValidator.js.map +1 -0
  41. package/dist/modules/operationalResource.d.ts +17 -0
  42. package/dist/modules/operationalResource.d.ts.map +1 -0
  43. package/dist/modules/operationalResource.js +50 -70
  44. package/dist/modules/operationalResource.js.map +1 -0
  45. package/dist/modules/restApi.d.ts +10 -0
  46. package/dist/modules/restApi.d.ts.map +1 -0
  47. package/dist/modules/restApi.js +104 -116
  48. package/dist/modules/restApi.js.map +1 -0
  49. package/dist/modules/styleGenerator.d.ts +9 -0
  50. package/dist/modules/styleGenerator.d.ts.map +1 -0
  51. package/dist/modules/styleGenerator.js +1 -0
  52. package/dist/modules/styleGenerator.js.map +1 -0
  53. package/dist/modules/styles.d.ts +96 -0
  54. package/dist/modules/styles.d.ts.map +1 -0
  55. package/dist/modules/styles.js +1 -0
  56. package/dist/modules/styles.js.map +1 -0
  57. package/dist/modules/utils.d.ts +39 -0
  58. package/dist/modules/utils.d.ts.map +1 -0
  59. package/dist/modules/utils.js +1 -0
  60. package/dist/modules/utils.js.map +1 -0
  61. package/dist/plugins/audit-log/types.d.ts +35 -0
  62. package/dist/plugins/audit-log/types.d.ts.map +1 -0
  63. package/dist/plugins/audit-log/types.js +2 -0
  64. package/dist/plugins/audit-log/types.js.map +1 -0
  65. package/dist/plugins/chat-gpt/types.d.ts +82 -0
  66. package/dist/plugins/chat-gpt/types.d.ts.map +1 -0
  67. package/dist/plugins/chat-gpt/types.js +2 -0
  68. package/dist/plugins/chat-gpt/types.js.map +1 -0
  69. package/dist/plugins/email-password-reset/types.d.ts +28 -0
  70. package/dist/plugins/email-password-reset/types.d.ts.map +1 -0
  71. package/dist/plugins/email-password-reset/types.js +2 -0
  72. package/dist/plugins/email-password-reset/types.js.map +1 -0
  73. package/dist/plugins/foreign-inline-list/types.d.ts +19 -0
  74. package/dist/plugins/foreign-inline-list/types.d.ts.map +1 -0
  75. package/dist/plugins/foreign-inline-list/types.js +2 -0
  76. package/dist/plugins/foreign-inline-list/types.js.map +1 -0
  77. package/dist/plugins/import-export/types.d.ts +3 -0
  78. package/dist/plugins/import-export/types.d.ts.map +1 -0
  79. package/dist/plugins/import-export/types.js +2 -0
  80. package/dist/plugins/import-export/types.js.map +1 -0
  81. package/dist/plugins/rich-editor/custom/async-queue.d.ts +8 -0
  82. package/dist/plugins/rich-editor/custom/async-queue.d.ts.map +1 -0
  83. package/dist/plugins/rich-editor/custom/async-queue.js +29 -0
  84. package/dist/plugins/rich-editor/custom/async-queue.js.map +1 -0
  85. package/dist/plugins/rich-editor/dist/custom/async-queue.d.ts +8 -0
  86. package/dist/plugins/rich-editor/dist/custom/async-queue.d.ts.map +1 -0
  87. package/dist/plugins/rich-editor/dist/custom/async-queue.js +29 -0
  88. package/dist/plugins/rich-editor/dist/custom/async-queue.js.map +1 -0
  89. package/dist/plugins/rich-editor/types.d.ts +153 -0
  90. package/dist/plugins/rich-editor/types.d.ts.map +1 -0
  91. package/dist/plugins/rich-editor/types.js +16 -0
  92. package/dist/plugins/rich-editor/types.js.map +1 -0
  93. package/dist/plugins/two-factors-auth/types.d.ts +18 -0
  94. package/dist/plugins/two-factors-auth/types.d.ts.map +1 -0
  95. package/dist/plugins/two-factors-auth/types.js +2 -0
  96. package/dist/plugins/two-factors-auth/types.js.map +1 -0
  97. package/dist/plugins/upload/types.d.ts +132 -0
  98. package/dist/plugins/upload/types.d.ts.map +1 -0
  99. package/dist/plugins/upload/types.js +2 -0
  100. package/dist/plugins/upload/types.js.map +1 -0
  101. package/dist/servers/express.d.ts +18 -0
  102. package/dist/servers/express.d.ts.map +1 -0
  103. package/dist/servers/express.js +30 -42
  104. package/dist/servers/express.js.map +1 -0
  105. package/dist/types/AdminForthConfig.d.ts +1619 -0
  106. package/dist/types/AdminForthConfig.d.ts.map +1 -0
  107. package/dist/types/AdminForthConfig.js +1 -0
  108. package/dist/types/AdminForthConfig.js.map +1 -0
  109. package/{types/FrontendAPI.ts → dist/types/FrontendAPI.d.ts} +27 -52
  110. package/dist/types/FrontendAPI.d.ts.map +1 -0
  111. package/dist/types/FrontendAPI.js +1 -0
  112. package/dist/types/FrontendAPI.js.map +1 -0
  113. package/package.json +15 -5
  114. package/auth.ts +0 -140
  115. package/basePlugin.ts +0 -70
  116. package/dataConnectors/baseConnector.ts +0 -216
  117. package/dataConnectors/clickhouse.ts +0 -338
  118. package/dataConnectors/mongo.ts +0 -202
  119. package/dataConnectors/postgres.ts +0 -306
  120. package/dataConnectors/sqlite.ts +0 -254
  121. package/dist/spa/.eslintrc.cjs +0 -14
  122. package/dist/spa/README.md +0 -39
  123. package/dist/spa/env.d.ts +0 -1
  124. package/dist/spa/index.html +0 -23
  125. package/dist/spa/package-lock.json +0 -4573
  126. package/dist/spa/package.json +0 -49
  127. package/dist/spa/postcss.config.js +0 -6
  128. package/dist/spa/public/assets/favicon.png +0 -0
  129. package/dist/spa/src/App.vue +0 -314
  130. package/dist/spa/src/assets/base.css +0 -2
  131. package/dist/spa/src/assets/logo.svg +0 -19
  132. package/dist/spa/src/components/AcceptModal.vue +0 -45
  133. package/dist/spa/src/components/Breadcrumbs.vue +0 -41
  134. package/dist/spa/src/components/BreadcrumbsWithButtons.vue +0 -26
  135. package/dist/spa/src/components/CustomDatePicker.vue +0 -176
  136. package/dist/spa/src/components/CustomDateRangePicker.vue +0 -218
  137. package/dist/spa/src/components/CustomRangePicker.vue +0 -152
  138. package/dist/spa/src/components/Dropdown.vue +0 -168
  139. package/dist/spa/src/components/Filters.vue +0 -222
  140. package/dist/spa/src/components/HelloWorld.vue +0 -17
  141. package/dist/spa/src/components/MenuLink.vue +0 -24
  142. package/dist/spa/src/components/ResourceForm.vue +0 -294
  143. package/dist/spa/src/components/ResourceListTable.vue +0 -394
  144. package/dist/spa/src/components/SingleSkeletLoader.vue +0 -13
  145. package/dist/spa/src/components/SkeleteLoader.vue +0 -23
  146. package/dist/spa/src/components/Toast.vue +0 -77
  147. package/dist/spa/src/components/ValueRenderer.vue +0 -66
  148. package/dist/spa/src/components/icons/IconCalendar.vue +0 -5
  149. package/dist/spa/src/components/icons/IconCommunity.vue +0 -7
  150. package/dist/spa/src/components/icons/IconDocumentation.vue +0 -7
  151. package/dist/spa/src/components/icons/IconEcosystem.vue +0 -7
  152. package/dist/spa/src/components/icons/IconSupport.vue +0 -7
  153. package/dist/spa/src/components/icons/IconTime.vue +0 -5
  154. package/dist/spa/src/components/icons/IconTooling.vue +0 -19
  155. package/dist/spa/src/composables/useFrontendApi.ts +0 -26
  156. package/dist/spa/src/composables/useStores.ts +0 -127
  157. package/dist/spa/src/index.scss +0 -27
  158. package/dist/spa/src/main.ts +0 -18
  159. package/dist/spa/src/router/index.ts +0 -63
  160. package/dist/spa/src/spa_types/core.ts +0 -51
  161. package/dist/spa/src/stores/core.ts +0 -144
  162. package/dist/spa/src/stores/filters.ts +0 -22
  163. package/dist/spa/src/stores/modal.ts +0 -48
  164. package/dist/spa/src/stores/toast.ts +0 -15
  165. package/dist/spa/src/stores/user.ts +0 -72
  166. package/dist/spa/src/types/AdminForthConfig.ts +0 -1477
  167. package/dist/spa/src/types/FrontendAPI.ts +0 -121
  168. package/dist/spa/src/utils.ts +0 -103
  169. package/dist/spa/src/views/CreateView.vue +0 -156
  170. package/dist/spa/src/views/EditView.vue +0 -157
  171. package/dist/spa/src/views/ListView.vue +0 -258
  172. package/dist/spa/src/views/LoginView.vue +0 -160
  173. package/dist/spa/src/views/ResourceParent.vue +0 -17
  174. package/dist/spa/src/views/ShowView.vue +0 -184
  175. package/dist/spa/tailwind.config.js +0 -17
  176. package/dist/spa/tsconfig.app.json +0 -14
  177. package/dist/spa/tsconfig.json +0 -11
  178. package/dist/spa/tsconfig.node.json +0 -19
  179. package/dist/spa/vite.config.ts +0 -56
  180. package/index.ts +0 -428
  181. package/modules/codeInjector.ts +0 -736
  182. package/modules/configValidator.ts +0 -571
  183. package/modules/operationalResource.ts +0 -98
  184. package/modules/restApi.ts +0 -718
  185. package/modules/styleGenerator.ts +0 -55
  186. package/modules/styles.ts +0 -126
  187. package/modules/utils.ts +0 -472
  188. package/servers/express.ts +0 -259
  189. package/spa/.eslintrc.cjs +0 -14
  190. package/spa/README.md +0 -39
  191. package/spa/env.d.ts +0 -1
  192. package/spa/index.html +0 -23
  193. package/spa/package-lock.json +0 -4602
  194. package/spa/package.json +0 -51
  195. package/spa/postcss.config.js +0 -6
  196. package/spa/public/assets/favicon.png +0 -0
  197. package/spa/src/App.vue +0 -418
  198. package/spa/src/assets/base.css +0 -2
  199. package/spa/src/assets/logo.svg +0 -19
  200. package/spa/src/components/AcceptModal.vue +0 -45
  201. package/spa/src/components/Breadcrumbs.vue +0 -41
  202. package/spa/src/components/BreadcrumbsWithButtons.vue +0 -26
  203. package/spa/src/components/CustomDatePicker.vue +0 -176
  204. package/spa/src/components/CustomDateRangePicker.vue +0 -218
  205. package/spa/src/components/CustomRangePicker.vue +0 -156
  206. package/spa/src/components/Dropdown.vue +0 -168
  207. package/spa/src/components/Filters.vue +0 -222
  208. package/spa/src/components/HelloWorld.vue +0 -17
  209. package/spa/src/components/MenuLink.vue +0 -27
  210. package/spa/src/components/ResourceForm.vue +0 -290
  211. package/spa/src/components/ResourceListTable.vue +0 -466
  212. package/spa/src/components/SingleSkeletLoader.vue +0 -13
  213. package/spa/src/components/SkeleteLoader.vue +0 -23
  214. package/spa/src/components/ThreeDotsMenu.vue +0 -43
  215. package/spa/src/components/Toast.vue +0 -78
  216. package/spa/src/components/ValueRenderer.vue +0 -114
  217. package/spa/src/components/icons/IconCalendar.vue +0 -5
  218. package/spa/src/components/icons/IconCommunity.vue +0 -7
  219. package/spa/src/components/icons/IconDocumentation.vue +0 -7
  220. package/spa/src/components/icons/IconEcosystem.vue +0 -7
  221. package/spa/src/components/icons/IconSupport.vue +0 -7
  222. package/spa/src/components/icons/IconTime.vue +0 -5
  223. package/spa/src/components/icons/IconTooling.vue +0 -19
  224. package/spa/src/composables/useFrontendApi.ts +0 -26
  225. package/spa/src/composables/useStores.ts +0 -131
  226. package/spa/src/index.scss +0 -31
  227. package/spa/src/main.ts +0 -18
  228. package/spa/src/renderers/CompactUUID.vue +0 -48
  229. package/spa/src/renderers/CountryFlag.vue +0 -69
  230. package/spa/src/router/index.ts +0 -59
  231. package/spa/src/spa_types/core.ts +0 -53
  232. package/spa/src/stores/core.ts +0 -148
  233. package/spa/src/stores/filters.ts +0 -27
  234. package/spa/src/stores/modal.ts +0 -48
  235. package/spa/src/stores/toast.ts +0 -31
  236. package/spa/src/stores/user.ts +0 -72
  237. package/spa/src/utils.ts +0 -160
  238. package/spa/src/views/CreateView.vue +0 -167
  239. package/spa/src/views/EditView.vue +0 -170
  240. package/spa/src/views/ListView.vue +0 -352
  241. package/spa/src/views/LoginView.vue +0 -192
  242. package/spa/src/views/ResourceParent.vue +0 -17
  243. package/spa/src/views/ShowView.vue +0 -186
  244. package/spa/tailwind.config.js +0 -17
  245. package/spa/tsconfig.app.json +0 -14
  246. package/spa/tsconfig.json +0 -11
  247. package/spa/tsconfig.node.json +0 -19
  248. package/spa/vite.config.ts +0 -56
  249. package/tsconfig.json +0 -112
  250. package/types/AdminForthConfig.ts +0 -1762
package/dist/index.js CHANGED
@@ -1,12 +1,3 @@
1
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
- return new (P || (P = Promise))(function (resolve, reject) {
4
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
- step((generator = generator.apply(thisArg, _arguments || [])).next());
8
- });
9
- };
10
1
  var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
11
2
  if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
12
3
  if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
@@ -87,236 +78,224 @@ class AdminForth {
87
78
  }
88
79
  return plugins[0];
89
80
  }
90
- discoverDatabases() {
91
- return __awaiter(this, void 0, void 0, function* () {
92
- this.statuses.dbDiscover = 'running';
93
- this.connectorClasses = {
94
- 'sqlite': SQLiteConnector,
95
- 'postgres': PostgresConnector,
96
- 'mongodb': MongoConnector,
97
- 'clickhouse': ClickhouseConnector,
98
- };
99
- if (!this.config.databaseConnectors) {
100
- this.config.databaseConnectors = Object.assign({}, this.connectorClasses);
81
+ async discoverDatabases() {
82
+ this.statuses.dbDiscover = 'running';
83
+ this.connectorClasses = {
84
+ 'sqlite': SQLiteConnector,
85
+ 'postgres': PostgresConnector,
86
+ 'mongodb': MongoConnector,
87
+ 'clickhouse': ClickhouseConnector,
88
+ };
89
+ if (!this.config.databaseConnectors) {
90
+ this.config.databaseConnectors = Object.assign({}, this.connectorClasses);
91
+ }
92
+ this.config.dataSources.forEach((ds) => {
93
+ const dbType = ds.url.split(':')[0];
94
+ if (!this.config.databaseConnectors[dbType]) {
95
+ throw new Error(`Database type '${dbType}' is not supported, consider using one of ${Object.keys(this.connectorClasses).join(', ')} or create your own data-source connector`);
101
96
  }
102
- this.config.dataSources.forEach((ds) => {
103
- const dbType = ds.url.split(':')[0];
104
- if (!this.config.databaseConnectors[dbType]) {
105
- throw new Error(`Database type '${dbType}' is not supported, consider using one of ${Object.keys(this.connectorClasses).join(', ')} or create your own data-source connector`);
106
- }
107
- this.connectors[ds.id] = new this.config.databaseConnectors[dbType]({ url: ds.url });
108
- });
109
- yield Promise.all(this.config.resources.map((res) => __awaiter(this, void 0, void 0, function* () {
110
- if (!this.connectors[res.dataSource]) {
111
- const similar = suggestIfTypo(Object.keys(this.connectors), res.dataSource);
112
- throw new Error(`Resource '${res.table}' refers to unknown dataSource '${res.dataSource}' ${similar
113
- ? `. Did you mean '${similar}'?` : 'Available dataSources: ' + Object.keys(this.connectors).join(', ')}`);
114
- }
115
- const fieldTypes = yield this.connectors[res.dataSource].discoverFields(res);
116
- if (fieldTypes !== null && !Object.keys(fieldTypes).length) {
117
- throw new Error(`Table '${res.table}' (In resource '${res.resourceId}') has no fields or does not exist`);
118
- }
119
- if (fieldTypes === null) {
120
- console.error(`⛔ DataSource ${res.dataSource} was not able to perform field discovery. It will not work properly`);
121
- return;
122
- }
123
- if (!res.columns) {
124
- res.columns = Object.keys(fieldTypes).map((name) => ({ name }));
125
- }
126
- res.columns.forEach((col, i) => {
127
- if (!fieldTypes[col.name] && !col.virtual) {
128
- const similar = suggestIfTypo(Object.keys(fieldTypes), col.name);
129
- throw new Error(`Resource '${res.table}' has no column '${col.name}'. ${similar ? `Did you mean '${similar}'?` : ''}`);
130
- }
131
- // first find discovered values, but allow override
132
- res.columns[i] = Object.assign(Object.assign({}, fieldTypes[col.name]), col);
133
- });
134
- this.configValidator.postProcessAfterDiscover(res);
135
- // check if primaryKey column is present
136
- if (!res.columns.some((col) => col.primaryKey)) {
137
- throw new Error(`Resource '${res.table}' has no column defined or auto-discovered. Please set 'primaryKey: true' in a columns which has unique value for each record and index`);
97
+ this.connectors[ds.id] = new this.config.databaseConnectors[dbType]({ url: ds.url });
98
+ });
99
+ await Promise.all(this.config.resources.map(async (res) => {
100
+ if (!this.connectors[res.dataSource]) {
101
+ const similar = suggestIfTypo(Object.keys(this.connectors), res.dataSource);
102
+ throw new Error(`Resource '${res.table}' refers to unknown dataSource '${res.dataSource}' ${similar
103
+ ? `. Did you mean '${similar}'?` : 'Available dataSources: ' + Object.keys(this.connectors).join(', ')}`);
104
+ }
105
+ const fieldTypes = await this.connectors[res.dataSource].discoverFields(res);
106
+ if (fieldTypes !== null && !Object.keys(fieldTypes).length) {
107
+ throw new Error(`Table '${res.table}' (In resource '${res.resourceId}') has no fields or does not exist`);
108
+ }
109
+ if (fieldTypes === null) {
110
+ console.error(`⛔ DataSource ${res.dataSource} was not able to perform field discovery. It will not work properly`);
111
+ return;
112
+ }
113
+ if (!res.columns) {
114
+ res.columns = Object.keys(fieldTypes).map((name) => ({ name }));
115
+ }
116
+ res.columns.forEach((col, i) => {
117
+ if (!fieldTypes[col.name] && !col.virtual) {
118
+ const similar = suggestIfTypo(Object.keys(fieldTypes), col.name);
119
+ throw new Error(`Resource '${res.table}' has no column '${col.name}'. ${similar ? `Did you mean '${similar}'?` : ''}`);
138
120
  }
139
- })));
140
- this.statuses.dbDiscover = 'done';
141
- this.operationalResources = {};
142
- this.config.resources.forEach((resource) => {
143
- this.operationalResources[resource.resourceId] = new OperationalResource(this.connectors[resource.dataSource], resource);
121
+ // first find discovered values, but allow override
122
+ res.columns[i] = Object.assign(Object.assign({}, fieldTypes[col.name]), col);
144
123
  });
145
- // console.log('⚙️⚙️⚙️ Database discovery done', JSON.stringify(this.config.resources, null, 2));
124
+ this.configValidator.postProcessAfterDiscover(res);
125
+ // check if primaryKey column is present
126
+ if (!res.columns.some((col) => col.primaryKey)) {
127
+ throw new Error(`Resource '${res.table}' has no column defined or auto-discovered. Please set 'primaryKey: true' in a columns which has unique value for each record and index`);
128
+ }
129
+ }));
130
+ this.statuses.dbDiscover = 'done';
131
+ this.operationalResources = {};
132
+ this.config.resources.forEach((resource) => {
133
+ this.operationalResources[resource.resourceId] = new OperationalResource(this.connectors[resource.dataSource], resource);
146
134
  });
135
+ // console.log('⚙️⚙️⚙️ Database discovery done', JSON.stringify(this.config.resources, null, 2));
147
136
  }
148
- bundleNow(_b) {
149
- return __awaiter(this, arguments, void 0, function* ({ hotReload = false }) {
150
- yield this.codeInjector.bundleNow({ hotReload });
151
- });
137
+ async bundleNow({ hotReload = false }) {
138
+ await this.codeInjector.bundleNow({ hotReload });
152
139
  }
153
- getUserByPk(pk) {
154
- return __awaiter(this, void 0, void 0, function* () {
155
- // if database discovery is not done, throw
156
- if (this.statuses.dbDiscover !== 'done') {
157
- if (this.statuses.dbDiscover === 'running') {
158
- throw new Error('Database discovery is running. You can\'t use data API while database discovery is not finished.\n' +
159
- 'Consider moving your code to a place where it will be executed after database discovery is already done (after await admin.discoverDatabases())');
160
- }
161
- throw new Error('Database discovery is not yet started. You can\'t use data API before database discovery is done. \n' +
162
- 'Call admin.discoverDatabases() first and await it before using data API');
163
- }
164
- const resource = this.config.resources.find((res) => res.resourceId === this.config.auth.usersResourceId);
165
- if (!resource) {
166
- const similar = suggestIfTypo(this.config.resources.map((res) => res.resourceId), this.config.auth.usersResourceId);
167
- throw new Error(`No resource with ${this.config.auth.usersResourceId} found. ${similar ?
168
- `Did you mean '${similar}' in config.auth.usersResourceId?` : 'Please set correct resource in config.auth.usersResourceId'}`);
140
+ async getUserByPk(pk) {
141
+ // if database discovery is not done, throw
142
+ if (this.statuses.dbDiscover !== 'done') {
143
+ if (this.statuses.dbDiscover === 'running') {
144
+ throw new Error('Database discovery is running. You can\'t use data API while database discovery is not finished.\n' +
145
+ 'Consider moving your code to a place where it will be executed after database discovery is already done (after await admin.discoverDatabases())');
169
146
  }
170
- const users = yield this.connectors[resource.dataSource].getData({
171
- resource,
172
- filters: [
173
- { field: resource.columns.find((col) => col.primaryKey).name, operator: AdminForthFilterOperators.EQ, value: pk },
174
- ],
175
- limit: 1,
176
- offset: 0,
177
- sort: [],
178
- });
179
- return users.data[0] || null;
147
+ throw new Error('Database discovery is not yet started. You can\'t use data API before database discovery is done. \n' +
148
+ 'Call admin.discoverDatabases() first and await it before using data API');
149
+ }
150
+ const resource = this.config.resources.find((res) => res.resourceId === this.config.auth.usersResourceId);
151
+ if (!resource) {
152
+ const similar = suggestIfTypo(this.config.resources.map((res) => res.resourceId), this.config.auth.usersResourceId);
153
+ throw new Error(`No resource with ${this.config.auth.usersResourceId} found. ${similar ?
154
+ `Did you mean '${similar}' in config.auth.usersResourceId?` : 'Please set correct resource in config.auth.usersResourceId'}`);
155
+ }
156
+ const users = await this.connectors[resource.dataSource].getData({
157
+ resource,
158
+ filters: [
159
+ { field: resource.columns.find((col) => col.primaryKey).name, operator: AdminForthFilterOperators.EQ, value: pk },
160
+ ],
161
+ limit: 1,
162
+ offset: 0,
163
+ sort: [],
180
164
  });
165
+ return users.data[0] || null;
181
166
  }
182
- createResourceRecord(_b) {
183
- return __awaiter(this, arguments, void 0, function* ({ resource, record, adminUser }) {
184
- var _c, _d, _e, _f;
185
- // execute hook if needed
186
- for (const hook of listify((_d = (_c = resource.hooks) === null || _c === void 0 ? void 0 : _c.create) === null || _d === void 0 ? void 0 : _d.beforeSave)) {
187
- const resp = yield hook({ recordId: undefined, resource, record, adminUser });
188
- if (!resp || (!resp.ok && !resp.error)) {
189
- throw new Error(`Hook beforeSave must return object with {ok: true} or { error: 'Error' } `);
190
- }
191
- if (resp.error) {
192
- return { error: resp.error };
193
- }
167
+ async createResourceRecord({ resource, record, adminUser }) {
168
+ var _b, _c, _d, _e;
169
+ // execute hook if needed
170
+ for (const hook of listify((_c = (_b = resource.hooks) === null || _b === void 0 ? void 0 : _b.create) === null || _c === void 0 ? void 0 : _c.beforeSave)) {
171
+ const resp = await hook({ recordId: undefined, resource, record, adminUser });
172
+ if (!resp || (!resp.ok && !resp.error)) {
173
+ throw new Error(`Hook beforeSave must return object with {ok: true} or { error: 'Error' } `);
194
174
  }
195
- // remove virtual columns from record
196
- for (const column of resource.columns.filter((col) => col.virtual)) {
197
- if (record[column.name]) {
198
- delete record[column.name];
199
- }
175
+ if (resp.error) {
176
+ return { error: resp.error };
200
177
  }
201
- const connector = this.connectors[resource.dataSource];
202
- process.env.HEAVY_DEBUG && console.log('🪲🆕 creating record createResourceRecord', record);
203
- const { error, createdRecord } = yield connector.createRecord({ resource, record, adminUser });
204
- if (error) {
205
- return { error };
178
+ }
179
+ // remove virtual columns from record
180
+ for (const column of resource.columns.filter((col) => col.virtual)) {
181
+ if (record[column.name]) {
182
+ delete record[column.name];
206
183
  }
207
- const primaryKey = record[resource.columns.find((col) => col.primaryKey).name];
208
- // execute hook if needed
209
- for (const hook of listify((_f = (_e = resource.hooks) === null || _e === void 0 ? void 0 : _e.create) === null || _f === void 0 ? void 0 : _f.afterSave)) {
210
- process.env.HEAVY_DEBUG && console.log('🪲 Hook afterSave', hook);
211
- const resp = yield hook({
212
- recordId: primaryKey,
213
- resource,
214
- record: createdRecord,
215
- adminUser
216
- });
217
- if (!resp || (!resp.ok && !resp.error)) {
218
- throw new Error(`Hook afterSave must return object with {ok: true} or { error: 'Error' } `);
219
- }
220
- if (resp.error) {
221
- return { error: resp.error };
222
- }
184
+ }
185
+ const connector = this.connectors[resource.dataSource];
186
+ process.env.HEAVY_DEBUG && console.log('🪲🆕 creating record createResourceRecord', record);
187
+ const { error, createdRecord } = await connector.createRecord({ resource, record, adminUser });
188
+ if (error) {
189
+ return { error };
190
+ }
191
+ const primaryKey = record[resource.columns.find((col) => col.primaryKey).name];
192
+ // execute hook if needed
193
+ for (const hook of listify((_e = (_d = resource.hooks) === null || _d === void 0 ? void 0 : _d.create) === null || _e === void 0 ? void 0 : _e.afterSave)) {
194
+ process.env.HEAVY_DEBUG && console.log('🪲 Hook afterSave', hook);
195
+ const resp = await hook({
196
+ recordId: primaryKey,
197
+ resource,
198
+ record: createdRecord,
199
+ adminUser
200
+ });
201
+ if (!resp || (!resp.ok && !resp.error)) {
202
+ throw new Error(`Hook afterSave must return object with {ok: true} or { error: 'Error' } `);
223
203
  }
224
- return { error, createdRecord };
225
- });
204
+ if (resp.error) {
205
+ return { error: resp.error };
206
+ }
207
+ }
208
+ return { error, createdRecord };
226
209
  }
227
210
  /**
228
211
  * record is partial record with only changed fields
229
212
  */
230
- updateResourceRecord(_b) {
231
- return __awaiter(this, arguments, void 0, function* ({ resource, recordId, record, oldRecord, adminUser }) {
232
- var _c, _d, _e, _f;
233
- // execute hook if needed
234
- for (const hook of listify((_d = (_c = resource.hooks) === null || _c === void 0 ? void 0 : _c.edit) === null || _d === void 0 ? void 0 : _d.beforeSave)) {
235
- const resp = yield hook({
236
- recordId,
237
- resource,
238
- record,
239
- oldRecord,
240
- adminUser
241
- });
242
- if (!resp || (!resp.ok && !resp.error)) {
243
- throw new Error(`Hook beforeSave must return object with {ok: true} or { error: 'Error' } `);
244
- }
245
- if (resp.error) {
246
- return { error: resp.error };
247
- }
213
+ async updateResourceRecord({ resource, recordId, record, oldRecord, adminUser }) {
214
+ var _b, _c, _d, _e;
215
+ // execute hook if needed
216
+ for (const hook of listify((_c = (_b = resource.hooks) === null || _b === void 0 ? void 0 : _b.edit) === null || _c === void 0 ? void 0 : _c.beforeSave)) {
217
+ const resp = await hook({
218
+ recordId,
219
+ resource,
220
+ record,
221
+ oldRecord,
222
+ adminUser
223
+ });
224
+ if (!resp || (!resp.ok && !resp.error)) {
225
+ throw new Error(`Hook beforeSave must return object with {ok: true} or { error: 'Error' } `);
226
+ }
227
+ if (resp.error) {
228
+ return { error: resp.error };
248
229
  }
249
- const newValues = {};
250
- const connector = this.connectors[resource.dataSource];
251
- for (const recordField in record) {
252
- if (record[recordField] !== oldRecord[recordField]) {
253
- // leave only changed fields to reduce data transfer/modifications in db
254
- const column = resource.columns.find((col) => col.name === recordField);
255
- if (!column || !column.virtual) {
256
- // exclude virtual columns
257
- newValues[recordField] = record[recordField];
258
- }
230
+ }
231
+ const newValues = {};
232
+ const connector = this.connectors[resource.dataSource];
233
+ for (const recordField in record) {
234
+ if (record[recordField] !== oldRecord[recordField]) {
235
+ // leave only changed fields to reduce data transfer/modifications in db
236
+ const column = resource.columns.find((col) => col.name === recordField);
237
+ if (!column || !column.virtual) {
238
+ // exclude virtual columns
239
+ newValues[recordField] = record[recordField];
259
240
  }
260
241
  }
261
- if (Object.keys(newValues).length > 0) {
262
- yield connector.updateRecord({ resource, recordId, newValues });
242
+ }
243
+ if (Object.keys(newValues).length > 0) {
244
+ await connector.updateRecord({ resource, recordId, newValues });
245
+ }
246
+ // execute hook if needed
247
+ for (const hook of listify((_e = (_d = resource.hooks) === null || _d === void 0 ? void 0 : _d.edit) === null || _e === void 0 ? void 0 : _e.afterSave)) {
248
+ const resp = await hook({
249
+ resource,
250
+ record,
251
+ adminUser,
252
+ oldRecord,
253
+ recordId,
254
+ });
255
+ if (!resp || (!resp.ok && !resp.error)) {
256
+ throw new Error(`Hook afterSave must return object with {ok: true} or { error: 'Error' } `);
263
257
  }
264
- // execute hook if needed
265
- for (const hook of listify((_f = (_e = resource.hooks) === null || _e === void 0 ? void 0 : _e.edit) === null || _f === void 0 ? void 0 : _f.afterSave)) {
266
- const resp = yield hook({
267
- resource,
268
- record,
269
- adminUser,
270
- oldRecord,
271
- recordId,
272
- });
273
- if (!resp || (!resp.ok && !resp.error)) {
274
- throw new Error(`Hook afterSave must return object with {ok: true} or { error: 'Error' } `);
275
- }
276
- if (resp.error) {
277
- return { error: resp.error };
278
- }
258
+ if (resp.error) {
259
+ return { error: resp.error };
279
260
  }
280
- return { error: null };
281
- });
261
+ }
262
+ return { error: null };
282
263
  }
283
- deleteResourceRecord(_b) {
284
- return __awaiter(this, arguments, void 0, function* ({ resource, recordId, adminUser, record }) {
285
- var _c, _d, _e, _f;
286
- // execute hook if needed
287
- for (const hook of listify((_d = (_c = resource.hooks) === null || _c === void 0 ? void 0 : _c.delete) === null || _d === void 0 ? void 0 : _d.beforeSave)) {
288
- const resp = yield hook({
289
- resource,
290
- record,
291
- adminUser,
292
- recordId,
293
- });
294
- if (!resp || (!resp.ok && !resp.error)) {
295
- throw new Error(`Hook beforeSave must return object with {ok: true} or { error: 'Error' } `);
296
- }
297
- if (resp.error) {
298
- return { error: resp.error };
299
- }
264
+ async deleteResourceRecord({ resource, recordId, adminUser, record }) {
265
+ var _b, _c, _d, _e;
266
+ // execute hook if needed
267
+ for (const hook of listify((_c = (_b = resource.hooks) === null || _b === void 0 ? void 0 : _b.delete) === null || _c === void 0 ? void 0 : _c.beforeSave)) {
268
+ const resp = await hook({
269
+ resource,
270
+ record,
271
+ adminUser,
272
+ recordId,
273
+ });
274
+ if (!resp || (!resp.ok && !resp.error)) {
275
+ throw new Error(`Hook beforeSave must return object with {ok: true} or { error: 'Error' } `);
300
276
  }
301
- const connector = this.connectors[resource.dataSource];
302
- yield connector.deleteRecord({ resource, recordId });
303
- // execute hook if needed
304
- for (const hook of listify((_f = (_e = resource.hooks) === null || _e === void 0 ? void 0 : _e.delete) === null || _f === void 0 ? void 0 : _f.afterSave)) {
305
- const resp = yield hook({
306
- resource,
307
- record,
308
- adminUser,
309
- recordId,
310
- });
311
- if (!resp || (!resp.ok && !resp.error)) {
312
- throw new Error(`Hook afterSave must return object with {ok: true} or { error: 'Error' } `);
313
- }
314
- if (resp.error) {
315
- return { error: resp.error };
316
- }
277
+ if (resp.error) {
278
+ return { error: resp.error };
317
279
  }
318
- return { error: null };
319
- });
280
+ }
281
+ const connector = this.connectors[resource.dataSource];
282
+ await connector.deleteRecord({ resource, recordId });
283
+ // execute hook if needed
284
+ for (const hook of listify((_e = (_d = resource.hooks) === null || _d === void 0 ? void 0 : _d.delete) === null || _e === void 0 ? void 0 : _e.afterSave)) {
285
+ const resp = await hook({
286
+ resource,
287
+ record,
288
+ adminUser,
289
+ recordId,
290
+ });
291
+ if (!resp || (!resp.ok && !resp.error)) {
292
+ throw new Error(`Hook afterSave must return object with {ok: true} or { error: 'Error' } `);
293
+ }
294
+ if (resp.error) {
295
+ return { error: resp.error };
296
+ }
297
+ }
298
+ return { error: null };
320
299
  }
321
300
  resource(resourceId) {
322
301
  if (this.statuses.dbDiscover !== 'done') {
@@ -342,9 +321,9 @@ class AdminForth {
342
321
  _a = AdminForth, _AdminForth_defaultConfig = new WeakMap();
343
322
  AdminForth.Types = AdminForthDataTypes;
344
323
  AdminForth.Utils = {
345
- generatePasswordHash: (password) => __awaiter(void 0, void 0, void 0, function* () {
346
- return yield AdminForthAuth.generatePasswordHash(password);
347
- }),
324
+ generatePasswordHash: async (password) => {
325
+ return await AdminForthAuth.generatePasswordHash(password);
326
+ },
348
327
  PASSWORD_VALIDATORS: {
349
328
  UP_LOW_NUM_SPECIAL: {
350
329
  regExp: '^(?=.*[A-Z])(?=.*[a-z])(?=.*[0-9])(?=.*[!@#\\$%\\^&\\*\\(\\)\\-_=\\+\\[\\]\\{\\}\\|;:\',\\.<>\\/\\?]).+$',
@@ -361,3 +340,4 @@ AdminForth.Utils = {
361
340
  }
362
341
  };
363
342
  export default AdminForth;
343
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":";;;;;;AACA,OAAO,cAAc,MAAM,WAAW,CAAC;AACvC,OAAO,cAAc,MAAM,2BAA2B,CAAC;AACvD,OAAO,iBAAiB,MAAM,8BAA8B,CAAC;AAC7D,OAAO,eAAe,MAAM,4BAA4B,CAAC;AACzD,OAAO,YAAY,MAAM,2BAA2B,CAAC;AACrD,OAAO,aAAa,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,kBAAkB,EAAE,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAC1G,OAAO,EAKL,yBAAyB,EACzB,mBAAmB,GAMpB,MAAM,6BAA6B,CAAC;AACrC,OAAO,gBAAgB,MAAM,iBAAiB,CAAC;AAC/C,OAAO,eAAe,MAAM,8BAA8B,CAAC;AAC3D,OAAO,iBAAiB,EAAE,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAC5E,OAAO,mBAAmB,MAAM,gCAAgC,CAAC;AACjE,OAAO,mBAAmB,MAAM,kCAAkC,CAAC;AAEnE,UAAU;AACV,cAAc,6BAA6B,CAAC;AAC5C,OAAO,EAAE,iBAAiB,EAAE,CAAC;AAC7B,OAAO,EAAE,gBAAgB,EAAE,CAAC;AAC5B,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,WAAW,EAAE,CAAC;AAGnD,MAAM,UAAU;IAiDd,YAAY,MAAwB;QAzBpC,oCAAiB;YACf,kBAAkB,EAAE,IAAI;SACzB,EAAA;QAwBC,IAAI,CAAC,MAAM,mCAAO,uBAAA,IAAI,iCAAe,GAAI,MAAM,CAAC,CAAC;QACjD,IAAI,CAAC,YAAY,GAAG,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC;QAC3C,IAAI,CAAC,eAAe,GAAG,IAAI,eAAe,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QAC9D,IAAI,CAAC,OAAO,GAAG,IAAI,iBAAiB,CAAC,IAAI,CAAC,CAAC;QAC3C,IAAI,CAAC,gBAAgB,GAAG,EAAE,CAAC;QAE3B,IAAI,CAAC,eAAe,CAAC,cAAc,EAAE,CAAC;QACtC,IAAI,CAAC,eAAe,EAAE,CAAC;QACvB,IAAI,CAAC,eAAe,CAAC,cAAc,EAAE,CAAC,CAAG,2BAA2B;QAEpE,IAAI,CAAC,OAAO,GAAG,IAAI,aAAa,CAAC,IAAI,CAAC,CAAC;QACvC,IAAI,CAAC,IAAI,GAAG,IAAI,cAAc,CAAC,IAAI,CAAC,CAAC;QACrC,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;QACrB,IAAI,CAAC,QAAQ,GAAG;YACd,UAAU,EAAE,SAAS;SACtB,CAAC;QAEF,OAAO,CAAC,GAAG,CAAC,kBAAkB,kBAAkB,cAAc,CAAC,CAAA;IACjE,CAAC;IAED,eAAe;QACb,OAAO,CAAC,GAAG,CAAC,WAAW,IAAI,OAAO,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC;QACpE,MAAM,kBAAkB,GAAG,EAAE,CAAC;QAC9B,KAAK,IAAI,QAAQ,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;YAC3C,KAAK,IAAI,cAAc,IAAI,QAAQ,CAAC,OAAO,IAAI,EAAE,EAAE,CAAC;gBAClD,kBAAkB,CAAC,IAAI,CAAC,EAAC,EAAE,EAAE,cAAc,EAAE,QAAQ,EAAC,CAAC,CAAC;YAC1D,CAAC;QACH,CAAC;QACD,kBAAkB,CAAC,IAAI,CAAC,CAAC,EAAC,EAAE,EAAE,CAAC,EAAC,EAAE,EAAC,EAAE,EAAE,CAAC,EAAC,EAAE,EAAE,CAAC,CAAC,CAAC,eAAe,GAAG,CAAC,CAAC,eAAe,CAAC,CAAC;QACrF,kBAAkB,CAAC,OAAO,CACxB,CAAC,EAAC,EAAE,EAAE,cAAc,EAAE,QAAQ,EAAC,EAAE,EAAE;YACjC,cAAc,CAAC,oBAAoB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YACpD,MAAM,MAAM,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,gBAAgB,KAAK,cAAc,CAAC,gBAAgB,CAAC,CAAC;YACzG,IAAI,MAAM,EAAE,CAAC;gBACX,OAAO,CAAC,GAAG,CAAC,WAAW,IAAI,OAAO,CAAC,GAAG,CAAC,kDAAkD,cAAc,CAAC,gBAAgB,EAAE,CAAC,CAAC;gBAE5H,MAAM,IAAI,KAAK,CAAC,8BAA8B,cAAc,CAAC,WAAW,CAAC,IAAI;oKAC6E,CAAC,CAAC;YAC9J,CAAC;YACD,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAC7C,CAAC,CACF,CAAC;IACJ,CAAC;IAED,qBAAqB,CAAI,SAAiB;QACxC,MAAM,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC;QACzF,OAAO,OAAc,CAAC;IACxB,CAAC;IAED,oBAAoB,CAAI,SAAiB;QACvC,MAAM,OAAO,GAAG,IAAI,CAAC,qBAAqB,CAAC,SAAS,CAAC,CAAC;QACtD,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvB,MAAM,IAAI,KAAK,CAAC,mCAAmC,SAAS,2CAA2C,CAAC,CAAC;QAC3G,CAAC;QACD,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzB,MAAM,OAAO,GAAG,aAAa,CAAC,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,SAAS,CAAC,CAAC;YACxF,MAAM,IAAI,KAAK,CAAC,yBAAyB,SAAS,eAAe,OAAO,CAAC,CAAC,CAAC,gBAAgB,OAAO,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAChH,CAAC;QACD,OAAO,OAAO,CAAC,CAAC,CAAM,CAAC;IACzB,CAAC;IAED,KAAK,CAAC,iBAAiB;QACrB,IAAI,CAAC,QAAQ,CAAC,UAAU,GAAG,SAAS,CAAC;QACrC,IAAI,CAAC,gBAAgB,GAAG;YACtB,QAAQ,EAAE,eAAe;YACzB,UAAU,EAAE,iBAAiB;YAC7B,SAAS,EAAE,cAAc;YACzB,YAAY,EAAE,mBAAmB;SAClC,CAAC;QACF,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,kBAAkB,EAAE,CAAC;YACpC,IAAI,CAAC,MAAM,CAAC,kBAAkB,qBAAO,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAC9D,CAAC;QACD,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE;YACrC,MAAM,MAAM,GAAG,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YACpC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC5C,MAAM,IAAI,KAAK,CAAC,kBAAkB,MAAM,6CAA6C,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,2CAA2C,CAAC,CAAC;YACjL,CAAC;YACD,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC,EAAC,GAAG,EAAE,EAAE,CAAC,GAAG,EAAC,CAAC,CAAC;QACrF,CAAC,CAAC,CAAC;QAEH,MAAM,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;YACxD,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC;gBACrC,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,GAAG,CAAC,UAAU,CAAC,CAAC;gBAC5E,MAAM,IAAI,KAAK,CAAC,aAAa,GAAG,CAAC,KAAK,mCAAmC,GAAG,CAAC,UAAU,KAAK,OAAO;oBACjG,CAAC,CAAC,mBAAmB,OAAO,IAAI,CAAC,CAAC,CAAC,yBAAyB,GAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CACvG,CAAC;YACJ,CAAC;YACD,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;YAC7E,IAAI,UAAU,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,MAAM,EAAE,CAAC;gBAC3D,MAAM,IAAI,KAAK,CAAC,UAAU,GAAG,CAAC,KAAK,mBAAmB,GAAG,CAAC,UAAU,oCAAoC,CAAC,CAAC;YAC5G,CAAC;YACD,IAAI,UAAU,KAAK,IAAI,EAAE,CAAC;gBACxB,OAAO,CAAC,KAAK,CAAC,gBAAgB,GAAG,CAAC,UAAU,qEAAqE,CAAC,CAAC;gBACnH,OAAO;YACT,CAAC;YACD,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;gBACjB,GAAG,CAAC,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;YAClE,CAAC;YAED,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE;gBAC7B,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;oBAC1C,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;oBACjE,MAAM,IAAI,KAAK,CAAC,aAAa,GAAG,CAAC,KAAK,oBAAoB,GAAG,CAAC,IAAI,MAAM,OAAO,CAAC,CAAC,CAAC,iBAAiB,OAAO,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBACzH,CAAC;gBACD,mDAAmD;gBACnD,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,mCAAQ,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,GAAK,GAAG,CAAE,CAAC;YACvD,CAAC,CAAC,CAAC;YAEH,IAAI,CAAC,eAAe,CAAC,wBAAwB,CAAC,GAAG,CAAC,CAAC;YAEnD,wCAAwC;YACxC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC;gBAC/C,MAAM,IAAI,KAAK,CAAC,aAAa,GAAG,CAAC,KAAK,yIAAyI,CAAC,CAAC;YACnL,CAAC;QAEH,CAAC,CAAC,CAAC,CAAC;QAEJ,IAAI,CAAC,QAAQ,CAAC,UAAU,GAAG,MAAM,CAAC;QAElC,IAAI,CAAC,oBAAoB,GAAG,EAAE,CAAC;QAC/B,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE;YACzC,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,IAAI,mBAAmB,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,QAAQ,CAAC,CAAC;QAC3H,CAAC,CAAC,CAAC;QAEH,iGAAiG;IACnG,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,EAAE,SAAS,GAAC,KAAK,EAAE;QACjC,MAAM,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC;IACnD,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,EAAU;QAC1B,2CAA2C;QAC3C,IAAI,IAAI,CAAC,QAAQ,CAAC,UAAU,KAAK,MAAM,EAAE,CAAC;YACxC,IAAI,IAAI,CAAC,QAAQ,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;gBAC3C,MAAM,IAAI,KAAK,CAAC,oGAAoG;oBAClH,iJAAiJ,CAAC,CAAC;YACvJ,CAAC;YACD,MAAM,IAAI,KAAK,CAAC,sGAAsG;gBACpH,yEAAyE,CAAC,CAAC;QAC/E,CAAC;QAED,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,UAAU,KAAK,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QAC1G,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,MAAM,OAAO,GAAG,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;YACpH,MAAM,IAAI,KAAK,CAAC,qBAAqB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,eAAe,WAAW,OAAO,CAAC,CAAC;gBACvF,iBAAiB,OAAO,mCAAmC,CAAC,CAAC,CAAC,4DAA4D,EAAE,CAC7H,CAAC;QACJ,CAAC;QACD,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC;YAC/D,QAAQ;YACR,OAAO,EAAE;gBACP,EAAE,KAAK,EAAE,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,IAAI,EAAE,QAAQ,EAAE,yBAAyB,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE;aAClH;YACD,KAAK,EAAE,CAAC;YACR,MAAM,EAAE,CAAC;YACT,IAAI,EAAE,EAAE;SACT,CAAC,CAAC;QACH,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC;IAC/B,CAAC;IAED,KAAK,CAAC,oBAAoB,CACxB,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EACsC;;QAGnE,yBAAyB;QACzB,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,MAAA,MAAA,QAAQ,CAAC,KAAK,0CAAE,MAAM,0CAAE,UAAkC,CAAC,EAAE,CAAC;YACvF,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;YAC9E,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;gBACvC,MAAM,IAAI,KAAK,CAAC,2EAA2E,CAAC,CAAC;YAC/F,CAAC;YAED,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;gBACf,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC;YAC/B,CAAC;QACH,CAAC;QAED,qCAAqC;QACrC,KAAK,MAAM,MAAM,IAAI,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;YACnE,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;gBACxB,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YAC7B,CAAC;QACH,CAAC;QACD,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;QACvD,OAAO,CAAC,GAAG,CAAC,WAAW,IAAI,OAAO,CAAC,GAAG,CAAC,2CAA2C,EAAE,MAAM,CAAC,CAAC;QAC5F,MAAM,EAAE,KAAK,EAAE,aAAa,EAAE,GAAG,MAAM,SAAS,CAAC,YAAY,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;QAC/F,IAAK,KAAK,EAAG,CAAC;YACZ,OAAO,EAAE,KAAK,EAAE,CAAC;QACnB,CAAC;QAED,MAAM,UAAU,GAAG,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,CAAC;QAE/E,yBAAyB;QACzB,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,MAAA,MAAA,QAAQ,CAAC,KAAK,0CAAE,MAAM,0CAAE,SAAgC,CAAC,EAAE,CAAC;YACrF,OAAO,CAAC,GAAG,CAAC,WAAW,IAAI,OAAO,CAAC,GAAG,CAAC,mBAAmB,EAAE,IAAI,CAAC,CAAC;YAClE,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC;gBACtB,QAAQ,EAAE,UAAU;gBACpB,QAAQ;gBACR,MAAM,EAAE,aAAa;gBACrB,SAAS;aACV,CAAC,CAAC;YAEH,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;gBACvC,MAAM,IAAI,KAAK,CAAC,0EAA0E,CAAC,CAAC;YAC9F,CAAC;YAED,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;gBACf,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC;YAC/B,CAAC;QACH,CAAC;QAED,OAAO,EAAE,KAAK,EAAE,aAAa,EAAE,CAAC;IAClC,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,oBAAoB,CACxB,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,EACgD;;QAGlG,yBAAyB;QACzB,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,MAAA,MAAA,QAAQ,CAAC,KAAK,0CAAE,IAAI,0CAAE,UAAkC,CAAC,EAAE,CAAC;YACrF,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC;gBACtB,QAAQ;gBACR,QAAQ;gBACR,MAAM;gBACN,SAAS;gBACT,SAAS;aACV,CAAC,CAAC;YACH,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;gBACvC,MAAM,IAAI,KAAK,CAAC,2EAA2E,CAAC,CAAC;YAC/F,CAAC;YACD,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;gBACf,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC;YAC/B,CAAC;QACH,CAAC;QACD,MAAM,SAAS,GAAG,EAAE,CAAC;QACrB,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;QAEvD,KAAK,MAAM,WAAW,IAAI,MAAM,EAAE,CAAC;YACjC,IAAI,MAAM,CAAC,WAAW,CAAC,KAAK,SAAS,CAAC,WAAW,CAAC,EAAE,CAAC;gBACnD,wEAAwE;gBACxE,MAAM,MAAM,GAAG,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,KAAK,WAAW,CAAC,CAAC;gBACxE,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;oBAC/B,0BAA0B;oBAC1B,SAAS,CAAC,WAAW,CAAC,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC;gBAC/C,CAAC;YACH,CAAC;QACH,CAAC;QAED,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACtC,MAAM,SAAS,CAAC,YAAY,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC,CAAC;QAClE,CAAC;QAED,yBAAyB;QACzB,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,MAAA,MAAA,QAAQ,CAAC,KAAK,0CAAE,IAAI,0CAAE,SAAgC,CAAC,EAAE,CAAC;YACnF,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC;gBACtB,QAAQ;gBACR,MAAM;gBACN,SAAS;gBACT,SAAS;gBACT,QAAQ;aACT,CAAC,CAAC;YACH,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;gBACvC,MAAM,IAAI,KAAK,CAAC,0EAA0E,CAAC,CAAC;YAC9F,CAAC;YACD,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;gBACf,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC;YAC/B,CAAC;QACH,CAAC;QAED,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;IACzB,CAAC;IAED,KAAK,CAAC,oBAAoB,CACxB,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAC2C;;QAElF,yBAAyB;QACzB,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,MAAA,MAAA,QAAQ,CAAC,KAAK,0CAAE,MAAM,0CAAE,UAAkC,CAAC,EAAE,CAAC;YACvF,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC;gBACtB,QAAQ;gBACR,MAAM;gBACN,SAAS;gBACT,QAAQ;aACT,CAAC,CAAC;YACH,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;gBACvC,MAAM,IAAI,KAAK,CAAC,2EAA2E,CAAC,CAAC;YAC/F,CAAC;YAED,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;gBACf,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC;YAC/B,CAAC;QACH,CAAC;QAED,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;QACvD,MAAM,SAAS,CAAC,YAAY,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAC,CAAC,CAAC;QAEpD,yBAAyB;QACzB,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,MAAA,MAAA,QAAQ,CAAC,KAAK,0CAAE,MAAM,0CAAE,SAAiC,CAAC,EAAE,CAAC;YACtF,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC;gBACtB,QAAQ;gBACR,MAAM;gBACN,SAAS;gBACT,QAAQ;aACT,CAAC,CAAC;YACH,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;gBACvC,MAAM,IAAI,KAAK,CAAC,0EAA0E,CAAC,CAAC;YAC9F,CAAC;YAED,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;gBACf,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC;YAC/B,CAAC;QACH,CAAC;QAED,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;IACzB,CAAC;IAED,QAAQ,CAAC,UAAkB;QACzB,IAAI,IAAI,CAAC,QAAQ,CAAC,UAAU,KAAK,MAAM,EAAE,CAAC;YACxC,IAAI,IAAI,CAAC,QAAQ,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;gBAC3C,MAAM,IAAI,KAAK,CAAC,oGAAoG;oBAClH,iJAAiJ,CAAC,CAAC;YACvJ,CAAC;iBAAM,CAAC;gBACN,MAAM,IAAI,KAAK,CAAC,sGAAsG;oBACpH,yEAAyE,CAAC,CAAC;YAC/E,CAAC;QACH,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,UAAU,CAAC,EAAE,CAAC;YAC3C,MAAM,SAAS,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,EAAE,UAAU,CAAC,CAAC;YACpF,MAAM,IAAI,KAAK,CAAC,qBAAqB,UAAU,cAAc,SAAS,CAAC,CAAC,CAAC,mBAAmB,SAAS,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACpH,CAAC;QACD,OAAO,IAAI,CAAC,oBAAoB,CAAC,UAAU,CAAC,CAAC;IAC/C,CAAC;IAED,cAAc,CAAC,MAAmB;QAChC,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;IACzC,CAAC;;;AArYM,gBAAK,GAAG,mBAAmB,AAAtB,CAAuB;AAE5B,gBAAK,GAAG;IACb,oBAAoB,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE;QACvC,OAAO,MAAM,cAAc,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC;IAC7D,CAAC;IAED,mBAAmB,EAAE;QACnB,kBAAkB,EAAE;YAClB,MAAM,EAAE,0GAA0G;YAClH,OAAO,EAAE,kHAAkH;SAC5H;QACD,UAAU,EAAE;YACV,MAAM,EAAE,uCAAuC;YAC/C,OAAO,EAAE,2FAA2F;SACrG;KACF;IACD,eAAe,EAAE;QACf,MAAM,EAAE,0CAA0C;QAClD,OAAO,EAAE,wDAAwD;KAClE;CACF,AAnBW,CAmBX;AAmXH,eAAe,UAAU,CAAC"}
@@ -0,0 +1,35 @@
1
+ import AdminForth from '../index.js';
2
+ import { ICodeInjector } from '../types/AdminForthConfig.js';
3
+ declare class CodeInjector implements ICodeInjector {
4
+ allWatchers: any[];
5
+ adminforth: AdminForth;
6
+ allComponentNames: {
7
+ [key: string]: string;
8
+ };
9
+ srcFoldersToSync: {
10
+ [key: string]: string;
11
+ };
12
+ static SPA_TMP_PATH: string;
13
+ cleanup(): void;
14
+ constructor(adminforth: any);
15
+ runNpmShell({ command, cwd }: {
16
+ command: any;
17
+ cwd: any;
18
+ }): Promise<void>;
19
+ rmTmpDir(): Promise<void>;
20
+ packagesFromNpm(dir: string): Promise<[string, string[]]>;
21
+ getSpaDir(): string;
22
+ prepareSources({ filesUpdated }: {
23
+ filesUpdated?: string[];
24
+ }): Promise<void>;
25
+ watchForReprepare({}: {}): Promise<void>;
26
+ watchCustomComponentsForCopy({ customComponentsDir, destination }: {
27
+ customComponentsDir: any;
28
+ destination: any;
29
+ }): Promise<void>;
30
+ bundleNow({ hotReload }: {
31
+ hotReload: boolean;
32
+ }): Promise<void>;
33
+ }
34
+ export default CodeInjector;
35
+ //# sourceMappingURL=codeInjector.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"codeInjector.d.ts","sourceRoot":"","sources":["../../modules/codeInjector.ts"],"names":[],"mappings":"AAQA,OAAO,UAAU,MAAM,aAAa,CAAC;AAErC,OAAO,EAA4B,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAwDvF,cAAM,YAAa,YAAW,aAAa;IAEzC,WAAW,QAAM;IACjB,UAAU,EAAE,UAAU,CAAC;IACvB,iBAAiB,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAM;IAClD,gBAAgB,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAM;IAEjD,MAAM,CAAC,YAAY,SAA+C;IAElE,OAAO;gBAMK,UAAU,KAAA;IAmBhB,WAAW,CAAC,EAAC,OAAO,EAAE,GAAG,EAAC;;;KAAA;IAwB1B,QAAQ;IASR,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IAyC/D,SAAS;IAQH,cAAc,CAAC,EAAE,YAAY,EAAE,EAAE;QAAE,YAAY,CAAC,EAAE,MAAM,EAAE,CAAA;KAAE;IAuZ5D,iBAAiB,CAAC,EAAE,IAAA;IAsCpB,4BAA4B,CAAC,EAAE,mBAAmB,EAAE,WAAW,EAAE;;;KAAA;IA4EjE,SAAS,CAAC,EAAE,SAAiB,EAAE,EAAE;QAAE,SAAS,EAAE,OAAO,CAAA;KAAE;CAqD9D;AAED,eAAe,YAAY,CAAC"}