@snowtop/ent 0.1.0-alpha160-test7 → 0.1.0-alpha160

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 (317) hide show
  1. package/core/query/shared_assoc_test.d.ts +2 -0
  2. package/core/query/shared_assoc_test.js +804 -0
  3. package/core/query/shared_test.d.ts +21 -0
  4. package/core/query/shared_test.js +736 -0
  5. package/graphql/query/shared_assoc_test.d.ts +1 -0
  6. package/graphql/query/shared_assoc_test.js +203 -0
  7. package/package.json +8 -53
  8. package/dist/package.json +0 -64
  9. package/src/action/action.ts +0 -330
  10. package/src/action/executor.ts +0 -453
  11. package/src/action/experimental_action.ts +0 -277
  12. package/src/action/index.ts +0 -31
  13. package/src/action/operations.ts +0 -967
  14. package/src/action/orchestrator.ts +0 -1527
  15. package/src/action/privacy.ts +0 -37
  16. package/src/action/relative_value.ts +0 -242
  17. package/src/action/transaction.ts +0 -38
  18. package/src/auth/auth.ts +0 -77
  19. package/src/auth/index.ts +0 -8
  20. package/src/core/base.ts +0 -367
  21. package/src/core/clause.ts +0 -1065
  22. package/src/core/config.ts +0 -219
  23. package/src/core/const.ts +0 -5
  24. package/src/core/context.ts +0 -135
  25. package/src/core/convert.ts +0 -106
  26. package/src/core/date.ts +0 -23
  27. package/src/core/db.ts +0 -498
  28. package/src/core/ent.ts +0 -1740
  29. package/src/core/global_schema.ts +0 -49
  30. package/src/core/loaders/assoc_count_loader.ts +0 -99
  31. package/src/core/loaders/assoc_edge_loader.ts +0 -250
  32. package/src/core/loaders/index.ts +0 -12
  33. package/src/core/loaders/loader.ts +0 -66
  34. package/src/core/loaders/object_loader.ts +0 -489
  35. package/src/core/loaders/query_loader.ts +0 -314
  36. package/src/core/loaders/raw_count_loader.ts +0 -175
  37. package/src/core/logger.ts +0 -49
  38. package/src/core/privacy.ts +0 -660
  39. package/src/core/query/assoc_query.ts +0 -240
  40. package/src/core/query/custom_clause_query.ts +0 -174
  41. package/src/core/query/custom_query.ts +0 -302
  42. package/src/core/query/index.ts +0 -9
  43. package/src/core/query/query.ts +0 -674
  44. package/src/core/query_impl.ts +0 -32
  45. package/src/core/viewer.ts +0 -52
  46. package/src/ent.code-workspace +0 -73
  47. package/src/graphql/builtins/connection.ts +0 -25
  48. package/src/graphql/builtins/edge.ts +0 -16
  49. package/src/graphql/builtins/node.ts +0 -12
  50. package/src/graphql/graphql.ts +0 -891
  51. package/src/graphql/graphql_field_helpers.ts +0 -221
  52. package/src/graphql/index.ts +0 -42
  53. package/src/graphql/mutations/union.ts +0 -39
  54. package/src/graphql/node_resolver.ts +0 -122
  55. package/src/graphql/query/connection_type.ts +0 -113
  56. package/src/graphql/query/edge_connection.ts +0 -171
  57. package/src/graphql/query/page_info.ts +0 -34
  58. package/src/graphql/query/shared_edge_connection.ts +0 -287
  59. package/src/graphql/scalars/orderby_direction.ts +0 -13
  60. package/src/graphql/scalars/time.ts +0 -38
  61. package/src/imports/dataz/example1/_auth.ts +0 -51
  62. package/src/imports/dataz/example1/_viewer.ts +0 -35
  63. package/src/imports/index.ts +0 -213
  64. package/src/index.ts +0 -145
  65. package/src/parse_schema/parse.ts +0 -585
  66. package/src/schema/base_schema.ts +0 -224
  67. package/src/schema/field.ts +0 -1087
  68. package/src/schema/index.ts +0 -53
  69. package/src/schema/json_field.ts +0 -94
  70. package/src/schema/schema.ts +0 -1028
  71. package/src/schema/struct_field.ts +0 -234
  72. package/src/schema/union_field.ts +0 -105
  73. package/src/scripts/custom_compiler.ts +0 -331
  74. package/src/scripts/custom_graphql.ts +0 -550
  75. package/src/scripts/migrate_v0.1.ts +0 -41
  76. package/src/scripts/move_types.ts +0 -131
  77. package/src/scripts/read_schema.ts +0 -67
  78. package/src/setupPackage.js +0 -42
  79. package/src/testutils/action/complex_schemas.ts +0 -517
  80. package/src/testutils/builder.ts +0 -422
  81. package/src/testutils/context/test_context.ts +0 -25
  82. package/src/testutils/db/fixture.ts +0 -32
  83. package/src/testutils/db/temp_db.ts +0 -941
  84. package/src/testutils/db/value.ts +0 -294
  85. package/src/testutils/db_mock.ts +0 -351
  86. package/src/testutils/db_time_zone.ts +0 -40
  87. package/src/testutils/ent-graphql-tests/index.ts +0 -653
  88. package/src/testutils/fake_comms.ts +0 -50
  89. package/src/testutils/fake_data/const.ts +0 -64
  90. package/src/testutils/fake_data/events_query.ts +0 -145
  91. package/src/testutils/fake_data/fake_contact.ts +0 -150
  92. package/src/testutils/fake_data/fake_event.ts +0 -150
  93. package/src/testutils/fake_data/fake_tag.ts +0 -139
  94. package/src/testutils/fake_data/fake_user.ts +0 -232
  95. package/src/testutils/fake_data/index.ts +0 -1
  96. package/src/testutils/fake_data/internal.ts +0 -8
  97. package/src/testutils/fake_data/tag_query.ts +0 -56
  98. package/src/testutils/fake_data/test_helpers.ts +0 -388
  99. package/src/testutils/fake_data/user_query.ts +0 -524
  100. package/src/testutils/fake_log.ts +0 -52
  101. package/src/testutils/mock_date.ts +0 -10
  102. package/src/testutils/mock_log.ts +0 -39
  103. package/src/testutils/parse_sql.ts +0 -685
  104. package/src/testutils/test_edge_global_schema.ts +0 -49
  105. package/src/testutils/write.ts +0 -70
  106. package/src/tsc/ast.ts +0 -351
  107. package/src/tsc/compilerOptions.ts +0 -85
  108. package/src/tsc/move_generated.ts +0 -191
  109. package/src/tsc/transform.ts +0 -226
  110. package/src/tsc/transform_action.ts +0 -224
  111. package/src/tsc/transform_ent.ts +0 -66
  112. package/src/tsc/transform_schema.ts +0 -546
  113. package/tsconfig.json +0 -20
  114. /package/{dist/action → action}/action.d.ts +0 -0
  115. /package/{dist/action → action}/action.js +0 -0
  116. /package/{dist/action → action}/executor.d.ts +0 -0
  117. /package/{dist/action → action}/executor.js +0 -0
  118. /package/{dist/action → action}/experimental_action.d.ts +0 -0
  119. /package/{dist/action → action}/experimental_action.js +0 -0
  120. /package/{dist/action → action}/index.d.ts +0 -0
  121. /package/{dist/action → action}/index.js +0 -0
  122. /package/{dist/action → action}/operations.d.ts +0 -0
  123. /package/{dist/action → action}/operations.js +0 -0
  124. /package/{dist/action → action}/orchestrator.d.ts +0 -0
  125. /package/{dist/action → action}/orchestrator.js +0 -0
  126. /package/{dist/action → action}/privacy.d.ts +0 -0
  127. /package/{dist/action → action}/privacy.js +0 -0
  128. /package/{dist/action → action}/relative_value.d.ts +0 -0
  129. /package/{dist/action → action}/relative_value.js +0 -0
  130. /package/{dist/action → action}/transaction.d.ts +0 -0
  131. /package/{dist/action → action}/transaction.js +0 -0
  132. /package/{dist/auth → auth}/auth.d.ts +0 -0
  133. /package/{dist/auth → auth}/auth.js +0 -0
  134. /package/{dist/auth → auth}/index.d.ts +0 -0
  135. /package/{dist/auth → auth}/index.js +0 -0
  136. /package/{dist/core → core}/base.d.ts +0 -0
  137. /package/{dist/core → core}/base.js +0 -0
  138. /package/{dist/core → core}/clause.d.ts +0 -0
  139. /package/{dist/core → core}/clause.js +0 -0
  140. /package/{dist/core → core}/config.d.ts +0 -0
  141. /package/{dist/core → core}/config.js +0 -0
  142. /package/{dist/core → core}/const.d.ts +0 -0
  143. /package/{dist/core → core}/const.js +0 -0
  144. /package/{dist/core → core}/context.d.ts +0 -0
  145. /package/{dist/core → core}/context.js +0 -0
  146. /package/{dist/core → core}/convert.d.ts +0 -0
  147. /package/{dist/core → core}/convert.js +0 -0
  148. /package/{dist/core → core}/date.d.ts +0 -0
  149. /package/{dist/core → core}/date.js +0 -0
  150. /package/{dist/core → core}/db.d.ts +0 -0
  151. /package/{dist/core → core}/db.js +0 -0
  152. /package/{dist/core → core}/ent.d.ts +0 -0
  153. /package/{dist/core → core}/ent.js +0 -0
  154. /package/{dist/core → core}/global_schema.d.ts +0 -0
  155. /package/{dist/core → core}/global_schema.js +0 -0
  156. /package/{dist/core → core}/loaders/assoc_count_loader.d.ts +0 -0
  157. /package/{dist/core → core}/loaders/assoc_count_loader.js +0 -0
  158. /package/{dist/core → core}/loaders/assoc_edge_loader.d.ts +0 -0
  159. /package/{dist/core → core}/loaders/assoc_edge_loader.js +0 -0
  160. /package/{dist/core → core}/loaders/index.d.ts +0 -0
  161. /package/{dist/core → core}/loaders/index.js +0 -0
  162. /package/{dist/core → core}/loaders/loader.d.ts +0 -0
  163. /package/{dist/core → core}/loaders/loader.js +0 -0
  164. /package/{dist/core → core}/loaders/object_loader.d.ts +0 -0
  165. /package/{dist/core → core}/loaders/object_loader.js +0 -0
  166. /package/{dist/core → core}/loaders/query_loader.d.ts +0 -0
  167. /package/{dist/core → core}/loaders/query_loader.js +0 -0
  168. /package/{dist/core → core}/loaders/raw_count_loader.d.ts +0 -0
  169. /package/{dist/core → core}/loaders/raw_count_loader.js +0 -0
  170. /package/{dist/core → core}/logger.d.ts +0 -0
  171. /package/{dist/core → core}/logger.js +0 -0
  172. /package/{dist/core → core}/privacy.d.ts +0 -0
  173. /package/{dist/core → core}/privacy.js +0 -0
  174. /package/{dist/core → core}/query/assoc_query.d.ts +0 -0
  175. /package/{dist/core → core}/query/assoc_query.js +0 -0
  176. /package/{dist/core → core}/query/custom_clause_query.d.ts +0 -0
  177. /package/{dist/core → core}/query/custom_clause_query.js +0 -0
  178. /package/{dist/core → core}/query/custom_query.d.ts +0 -0
  179. /package/{dist/core → core}/query/custom_query.js +0 -0
  180. /package/{dist/core → core}/query/index.d.ts +0 -0
  181. /package/{dist/core → core}/query/index.js +0 -0
  182. /package/{dist/core → core}/query/query.d.ts +0 -0
  183. /package/{dist/core → core}/query/query.js +0 -0
  184. /package/{dist/core → core}/query_impl.d.ts +0 -0
  185. /package/{dist/core → core}/query_impl.js +0 -0
  186. /package/{dist/core → core}/viewer.d.ts +0 -0
  187. /package/{dist/core → core}/viewer.js +0 -0
  188. /package/{dist/graphql → graphql}/builtins/connection.d.ts +0 -0
  189. /package/{dist/graphql → graphql}/builtins/connection.js +0 -0
  190. /package/{dist/graphql → graphql}/builtins/edge.d.ts +0 -0
  191. /package/{dist/graphql → graphql}/builtins/edge.js +0 -0
  192. /package/{dist/graphql → graphql}/builtins/node.d.ts +0 -0
  193. /package/{dist/graphql → graphql}/builtins/node.js +0 -0
  194. /package/{dist/graphql → graphql}/graphql.d.ts +0 -0
  195. /package/{dist/graphql → graphql}/graphql.js +0 -0
  196. /package/{dist/graphql → graphql}/graphql_field_helpers.d.ts +0 -0
  197. /package/{dist/graphql → graphql}/graphql_field_helpers.js +0 -0
  198. /package/{dist/graphql → graphql}/index.d.ts +0 -0
  199. /package/{dist/graphql → graphql}/index.js +0 -0
  200. /package/{dist/graphql → graphql}/mutations/union.d.ts +0 -0
  201. /package/{dist/graphql → graphql}/mutations/union.js +0 -0
  202. /package/{dist/graphql → graphql}/node_resolver.d.ts +0 -0
  203. /package/{dist/graphql → graphql}/node_resolver.js +0 -0
  204. /package/{dist/graphql → graphql}/query/connection_type.d.ts +0 -0
  205. /package/{dist/graphql → graphql}/query/connection_type.js +0 -0
  206. /package/{dist/graphql → graphql}/query/edge_connection.d.ts +0 -0
  207. /package/{dist/graphql → graphql}/query/edge_connection.js +0 -0
  208. /package/{dist/graphql → graphql}/query/page_info.d.ts +0 -0
  209. /package/{dist/graphql → graphql}/query/page_info.js +0 -0
  210. /package/{dist/graphql → graphql}/query/shared_edge_connection.d.ts +0 -0
  211. /package/{dist/graphql → graphql}/query/shared_edge_connection.js +0 -0
  212. /package/{dist/graphql → graphql}/scalars/orderby_direction.d.ts +0 -0
  213. /package/{dist/graphql → graphql}/scalars/orderby_direction.js +0 -0
  214. /package/{dist/graphql → graphql}/scalars/time.d.ts +0 -0
  215. /package/{dist/graphql → graphql}/scalars/time.js +0 -0
  216. /package/{dist/imports → imports}/dataz/example1/_auth.d.ts +0 -0
  217. /package/{dist/imports → imports}/dataz/example1/_auth.js +0 -0
  218. /package/{dist/imports → imports}/dataz/example1/_viewer.d.ts +0 -0
  219. /package/{dist/imports → imports}/dataz/example1/_viewer.js +0 -0
  220. /package/{dist/imports → imports}/index.d.ts +0 -0
  221. /package/{dist/imports → imports}/index.js +0 -0
  222. /package/{dist/index.d.ts → index.d.ts} +0 -0
  223. /package/{dist/index.js → index.js} +0 -0
  224. /package/{dist/parse_schema → parse_schema}/parse.d.ts +0 -0
  225. /package/{dist/parse_schema → parse_schema}/parse.js +0 -0
  226. /package/{dist/schema → schema}/base_schema.d.ts +0 -0
  227. /package/{dist/schema → schema}/base_schema.js +0 -0
  228. /package/{dist/schema → schema}/field.d.ts +0 -0
  229. /package/{dist/schema → schema}/field.js +0 -0
  230. /package/{dist/schema → schema}/index.d.ts +0 -0
  231. /package/{dist/schema → schema}/index.js +0 -0
  232. /package/{dist/schema → schema}/json_field.d.ts +0 -0
  233. /package/{dist/schema → schema}/json_field.js +0 -0
  234. /package/{dist/schema → schema}/schema.d.ts +0 -0
  235. /package/{dist/schema → schema}/schema.js +0 -0
  236. /package/{dist/schema → schema}/struct_field.d.ts +0 -0
  237. /package/{dist/schema → schema}/struct_field.js +0 -0
  238. /package/{dist/schema → schema}/union_field.d.ts +0 -0
  239. /package/{dist/schema → schema}/union_field.js +0 -0
  240. /package/{dist/scripts → scripts}/custom_compiler.d.ts +0 -0
  241. /package/{dist/scripts → scripts}/custom_compiler.js +0 -0
  242. /package/{dist/scripts → scripts}/custom_graphql.d.ts +0 -0
  243. /package/{dist/scripts → scripts}/custom_graphql.js +0 -0
  244. /package/{dist/scripts → scripts}/migrate_v0.1.d.ts +0 -0
  245. /package/{dist/scripts → scripts}/migrate_v0.1.js +0 -0
  246. /package/{dist/scripts → scripts}/move_types.d.ts +0 -0
  247. /package/{dist/scripts → scripts}/move_types.js +0 -0
  248. /package/{dist/scripts → scripts}/read_schema.d.ts +0 -0
  249. /package/{dist/scripts → scripts}/read_schema.js +0 -0
  250. /package/{dist/testutils → testutils}/action/complex_schemas.d.ts +0 -0
  251. /package/{dist/testutils → testutils}/action/complex_schemas.js +0 -0
  252. /package/{dist/testutils → testutils}/builder.d.ts +0 -0
  253. /package/{dist/testutils → testutils}/builder.js +0 -0
  254. /package/{dist/testutils → testutils}/context/test_context.d.ts +0 -0
  255. /package/{dist/testutils → testutils}/context/test_context.js +0 -0
  256. /package/{dist/testutils → testutils}/db/fixture.d.ts +0 -0
  257. /package/{dist/testutils → testutils}/db/fixture.js +0 -0
  258. /package/{dist/testutils → testutils}/db/temp_db.d.ts +0 -0
  259. /package/{dist/testutils → testutils}/db/temp_db.js +0 -0
  260. /package/{dist/testutils → testutils}/db/value.d.ts +0 -0
  261. /package/{dist/testutils → testutils}/db/value.js +0 -0
  262. /package/{dist/testutils → testutils}/db_mock.d.ts +0 -0
  263. /package/{dist/testutils → testutils}/db_mock.js +0 -0
  264. /package/{dist/testutils → testutils}/db_time_zone.d.ts +0 -0
  265. /package/{dist/testutils → testutils}/db_time_zone.js +0 -0
  266. /package/{dist/testutils → testutils}/ent-graphql-tests/index.d.ts +0 -0
  267. /package/{dist/testutils → testutils}/ent-graphql-tests/index.js +0 -0
  268. /package/{dist/testutils → testutils}/fake_comms.d.ts +0 -0
  269. /package/{dist/testutils → testutils}/fake_comms.js +0 -0
  270. /package/{dist/testutils → testutils}/fake_data/const.d.ts +0 -0
  271. /package/{dist/testutils → testutils}/fake_data/const.js +0 -0
  272. /package/{dist/testutils → testutils}/fake_data/events_query.d.ts +0 -0
  273. /package/{dist/testutils → testutils}/fake_data/events_query.js +0 -0
  274. /package/{dist/testutils → testutils}/fake_data/fake_contact.d.ts +0 -0
  275. /package/{dist/testutils → testutils}/fake_data/fake_contact.js +0 -0
  276. /package/{dist/testutils → testutils}/fake_data/fake_event.d.ts +0 -0
  277. /package/{dist/testutils → testutils}/fake_data/fake_event.js +0 -0
  278. /package/{dist/testutils → testutils}/fake_data/fake_tag.d.ts +0 -0
  279. /package/{dist/testutils → testutils}/fake_data/fake_tag.js +0 -0
  280. /package/{dist/testutils → testutils}/fake_data/fake_user.d.ts +0 -0
  281. /package/{dist/testutils → testutils}/fake_data/fake_user.js +0 -0
  282. /package/{dist/testutils → testutils}/fake_data/index.d.ts +0 -0
  283. /package/{dist/testutils → testutils}/fake_data/index.js +0 -0
  284. /package/{dist/testutils → testutils}/fake_data/internal.d.ts +0 -0
  285. /package/{dist/testutils → testutils}/fake_data/internal.js +0 -0
  286. /package/{dist/testutils → testutils}/fake_data/tag_query.d.ts +0 -0
  287. /package/{dist/testutils → testutils}/fake_data/tag_query.js +0 -0
  288. /package/{dist/testutils → testutils}/fake_data/test_helpers.d.ts +0 -0
  289. /package/{dist/testutils → testutils}/fake_data/test_helpers.js +0 -0
  290. /package/{dist/testutils → testutils}/fake_data/user_query.d.ts +0 -0
  291. /package/{dist/testutils → testutils}/fake_data/user_query.js +0 -0
  292. /package/{dist/testutils → testutils}/fake_log.d.ts +0 -0
  293. /package/{dist/testutils → testutils}/fake_log.js +0 -0
  294. /package/{dist/testutils → testutils}/mock_date.d.ts +0 -0
  295. /package/{dist/testutils → testutils}/mock_date.js +0 -0
  296. /package/{dist/testutils → testutils}/mock_log.d.ts +0 -0
  297. /package/{dist/testutils → testutils}/mock_log.js +0 -0
  298. /package/{dist/testutils → testutils}/parse_sql.d.ts +0 -0
  299. /package/{dist/testutils → testutils}/parse_sql.js +0 -0
  300. /package/{dist/testutils → testutils}/test_edge_global_schema.d.ts +0 -0
  301. /package/{dist/testutils → testutils}/test_edge_global_schema.js +0 -0
  302. /package/{dist/testutils → testutils}/write.d.ts +0 -0
  303. /package/{dist/testutils → testutils}/write.js +0 -0
  304. /package/{dist/tsc → tsc}/ast.d.ts +0 -0
  305. /package/{dist/tsc → tsc}/ast.js +0 -0
  306. /package/{dist/tsc → tsc}/compilerOptions.d.ts +0 -0
  307. /package/{dist/tsc → tsc}/compilerOptions.js +0 -0
  308. /package/{dist/tsc → tsc}/move_generated.d.ts +0 -0
  309. /package/{dist/tsc → tsc}/move_generated.js +0 -0
  310. /package/{dist/tsc → tsc}/transform.d.ts +0 -0
  311. /package/{dist/tsc → tsc}/transform.js +0 -0
  312. /package/{dist/tsc → tsc}/transform_action.d.ts +0 -0
  313. /package/{dist/tsc → tsc}/transform_action.js +0 -0
  314. /package/{dist/tsc → tsc}/transform_ent.d.ts +0 -0
  315. /package/{dist/tsc → tsc}/transform_ent.js +0 -0
  316. /package/{dist/tsc → tsc}/transform_schema.d.ts +0 -0
  317. /package/{dist/tsc → tsc}/transform_schema.js +0 -0
@@ -1,49 +0,0 @@
1
- import {
2
- SQLStatementOperation,
3
- TimestampType,
4
- EdgeUpdateOperation,
5
- TransformedEdgeUpdateOperation,
6
- } from "../schema";
7
- import * as clause from "../core/clause";
8
- import { AssocEdge } from "../core/ent";
9
- import { Data } from "../core/base";
10
-
11
- export class EdgeWithDeletedAt extends AssocEdge {
12
- deletedAt: Date | null;
13
-
14
- constructor(data: Data) {
15
- super(data);
16
- this.deletedAt = data.deleted_at;
17
- }
18
- }
19
-
20
- export const testEdgeGlobalSchema = {
21
- extraEdgeFields: {
22
- // need this to be lowerCamelCase because we do this based on field name
23
- // #510
24
- deletedAt: TimestampType({
25
- nullable: true,
26
- index: true,
27
- defaultValueOnCreate: () => null,
28
- }),
29
- },
30
-
31
- transformEdgeRead(): clause.Clause {
32
- return clause.Eq("deleted_at", null);
33
- },
34
-
35
- transformEdgeWrite(
36
- stmt: EdgeUpdateOperation,
37
- ): TransformedEdgeUpdateOperation | null {
38
- switch (stmt.op) {
39
- case SQLStatementOperation.Delete:
40
- return {
41
- op: SQLStatementOperation.Update,
42
- data: {
43
- deleted_at: new Date(),
44
- },
45
- };
46
- }
47
- return null;
48
- },
49
- };
@@ -1,70 +0,0 @@
1
- import {
2
- EditRowOptions,
3
- Data,
4
- DataOptions,
5
- CreateRowOptions,
6
- } from "../core/base";
7
- import {
8
- createRow,
9
- editRow,
10
- deleteRows,
11
- createRowSync,
12
- editRowSync,
13
- deleteRowsSync,
14
- } from "../core/ent";
15
- import * as clause from "../core/clause";
16
- import DB, { Client, Dialect, SyncClient } from "../core/db";
17
-
18
- function isSyncClient(client: Client): client is SyncClient {
19
- return (client as SyncClient).execSync !== undefined;
20
- }
21
-
22
- export async function createRowForTest(
23
- options: CreateRowOptions,
24
- suffix?: string,
25
- ): Promise<Data | null> {
26
- let client: Client;
27
- if (Dialect.SQLite === DB.getDialect()) {
28
- client = DB.getInstance().getSQLiteClient();
29
- } else {
30
- client = await DB.getInstance().getNewClient();
31
- }
32
-
33
- try {
34
- if (isSyncClient(client)) {
35
- return createRowSync(client, options, suffix || "");
36
- }
37
- return await createRow(client, options, suffix || "");
38
- } finally {
39
- client.release();
40
- }
41
- }
42
-
43
- export async function editRowForTest(options: EditRowOptions, suffix?: string) {
44
- const client = await DB.getInstance().getNewClient();
45
-
46
- try {
47
- if (isSyncClient(client)) {
48
- return editRowSync(client, options, suffix || "");
49
- }
50
- return await editRow(client, options, suffix);
51
- } finally {
52
- client.release();
53
- }
54
- }
55
-
56
- export async function deleteRowsForTest(
57
- options: DataOptions,
58
- cls: clause.Clause,
59
- ) {
60
- const client = await DB.getInstance().getNewClient();
61
-
62
- try {
63
- if (isSyncClient(client)) {
64
- return deleteRowsSync(client, options, cls);
65
- }
66
- return await deleteRows(client, options, cls);
67
- } finally {
68
- client.release();
69
- }
70
- }
package/src/tsc/ast.ts DELETED
@@ -1,351 +0,0 @@
1
- import { Data } from "../core/base";
2
- import ts from "typescript";
3
- import * as path from "path";
4
- import { load } from "js-yaml";
5
- import { ConfigWithCodegen } from "../core/config";
6
- import * as fs from "fs";
7
- import { PACKAGE } from "../core/const";
8
-
9
- export function getPreText(
10
- fileContents: string,
11
- node: ts.Node,
12
- sourceFile: ts.SourceFile,
13
- ): string {
14
- return fileContents.substring(node.getFullStart(), node.getStart(sourceFile));
15
- }
16
-
17
- export interface ClassInfo {
18
- extends?: string;
19
- comment: string;
20
- name: string;
21
- export?: boolean;
22
- default?: boolean;
23
- // implementsSchema?: boolean;
24
- implements?: string[];
25
- wrapClassContents(inner: string): string;
26
- }
27
-
28
- export function getClassInfo(
29
- fileContents: string,
30
- sourceFile: ts.SourceFile,
31
- node: ts.ClassDeclaration,
32
- ): ClassInfo | undefined {
33
- let className = node.name?.text;
34
-
35
- let classExtends: string | undefined;
36
- let impl: string[] = [];
37
- if (node.heritageClauses) {
38
- for (const hc of node.heritageClauses) {
39
- switch (hc.token) {
40
- case ts.SyntaxKind.ImplementsKeyword:
41
- for (const type of hc.types) {
42
- impl.push(type.expression.getText(sourceFile));
43
- }
44
- break;
45
-
46
- case ts.SyntaxKind.ExtendsKeyword:
47
- // can only extend one class
48
- for (const type of hc.types) {
49
- const text = type.expression.getText(sourceFile);
50
- classExtends = text;
51
- }
52
- break;
53
- }
54
- }
55
- }
56
-
57
- if (!className) {
58
- return undefined;
59
- }
60
-
61
- let hasExport = false;
62
- let hasDefault = false;
63
- let comment = getPreText(fileContents, node, sourceFile);
64
-
65
- const wrapClassContents = (inner: string) => {
66
- let ret = `${comment}`;
67
- if (hasExport) {
68
- ret += "export ";
69
- }
70
- if (hasDefault) {
71
- ret += "default ";
72
- }
73
- ret += `class ${className} `;
74
- if (classExtends) {
75
- ret += `extends ${classExtends} `;
76
- }
77
- if (impl.length) {
78
- ret += `implements ${impl.join(", ")}`;
79
- }
80
-
81
- return `${ret}{
82
- ${inner}
83
- }`;
84
- };
85
-
86
- if (node.modifiers) {
87
- for (const mod of node.modifiers) {
88
- const text = mod.getText(sourceFile);
89
- if (text === "export") {
90
- hasExport = true;
91
- } else if (text === "default") {
92
- hasDefault = true;
93
- }
94
- }
95
- }
96
-
97
- return {
98
- name: className,
99
- extends: classExtends,
100
- comment,
101
- implements: impl,
102
- wrapClassContents,
103
- export: hasExport,
104
- default: hasDefault,
105
- };
106
- }
107
-
108
- type transformImportFn = (imp: string) => string;
109
-
110
- interface transformOpts {
111
- removeImports?: string[];
112
- newImports?: string[];
113
- transform?: transformImportFn;
114
- transformPath: string;
115
- }
116
-
117
- export function transformImport(
118
- fileContents: string,
119
- importNode: ts.ImportDeclaration,
120
- sourceFile: ts.SourceFile,
121
- opts: transformOpts,
122
- ): string | undefined {
123
- // remove quotes too
124
- const text = importNode.moduleSpecifier.getText(sourceFile).slice(1, -1);
125
- if (text != opts.transformPath) {
126
- return;
127
- }
128
-
129
- const impInfo = getImportInfo(importNode, sourceFile);
130
- if (!impInfo) {
131
- return;
132
- }
133
- let { imports, start, end, importText, default: def } = impInfo;
134
-
135
- let removeImportsMap: Data = {};
136
- if (opts?.removeImports) {
137
- opts.removeImports.forEach((imp) => {
138
- removeImportsMap[imp] = true;
139
- if (def === imp) {
140
- def = "";
141
- }
142
- });
143
- }
144
- let finalImports = new Set<string>();
145
-
146
- for (let i = 0; i < imports.length; i++) {
147
- let imp = imports[i].trim();
148
- if (imp === "") {
149
- continue;
150
- }
151
- if (opts?.transform) {
152
- imp = opts.transform(imp);
153
- }
154
- if (removeImportsMap[imp]) {
155
- continue;
156
- }
157
- finalImports.add(imp);
158
- }
159
- if (opts?.newImports) {
160
- opts.newImports.forEach((imp) => finalImports.add(imp));
161
- }
162
-
163
- const comment = getPreText(fileContents, importNode, sourceFile);
164
-
165
- if (!finalImports.size) {
166
- return;
167
- }
168
-
169
- return (
170
- comment +
171
- "import " +
172
- // add default
173
- (def || "") +
174
- // should probably always be "{" now that we support default
175
- (start >= 0 ? importText.substring(0, start + 1) : "{") +
176
- Array.from(finalImports).join(", ") +
177
- // should probably always be "}"
178
- (end >= 0 ? importText.substring(end) : "}") +
179
- ' from "' +
180
- text +
181
- '";'
182
- );
183
- }
184
-
185
- export function updateImportPath(
186
- fileContents: string,
187
- importNode: ts.ImportDeclaration,
188
- sourceFile: ts.SourceFile,
189
- newPath: string,
190
- ) {
191
- const comment = getPreText(fileContents, importNode, sourceFile);
192
-
193
- // all this copied from above...
194
- const importText = importNode.importClause?.getText(sourceFile) || "";
195
- const start = importText.indexOf("{");
196
- const end = importText.lastIndexOf("}");
197
- if (start === -1 || end === -1) {
198
- return;
199
- }
200
- const imports = importText
201
- .substring(start + 1, end)
202
- // .trim()
203
- .split(",");
204
-
205
- return (
206
- comment +
207
- "import " +
208
- importText.substring(0, start + 1) +
209
- Array.from(imports).join(", ") +
210
- importText.substring(end) +
211
- ' from "' +
212
- newPath +
213
- '";'
214
- );
215
- }
216
-
217
- export function isRelativeImport(
218
- node: ts.ImportDeclaration,
219
- sourceFile: ts.SourceFile,
220
- ) {
221
- const text = node.moduleSpecifier.getText(sourceFile).slice(1, -1);
222
- return text.startsWith("..") || text.startsWith("./");
223
- }
224
-
225
- export function isRelativeGeneratedImport(
226
- node: ts.ImportDeclaration,
227
- sourceFile: ts.SourceFile,
228
- ) {
229
- const text = node.moduleSpecifier.getText(sourceFile).slice(1, -1);
230
- return (
231
- (text.startsWith("..") || text.startsWith("./")) &&
232
- text.indexOf("/generated") !== -1
233
- );
234
- }
235
-
236
- export function isSrcGeneratedImport(
237
- node: ts.ImportDeclaration,
238
- sourceFile: ts.SourceFile,
239
- ) {
240
- const text = node.moduleSpecifier.getText(sourceFile).slice(1, -1);
241
- return text.startsWith("src") && text.includes("/generated");
242
- }
243
-
244
- interface importInfo {
245
- imports: string[];
246
- start: number;
247
- end: number;
248
- importText: string;
249
- importPath: string;
250
- default?: string;
251
- }
252
-
253
- // TODO doesn't support default + {} yet
254
- export function getImportInfo(
255
- imp: ts.ImportDeclaration,
256
- sourceFile: ts.SourceFile,
257
- ): importInfo | undefined {
258
- const importText = imp.importClause?.getText(sourceFile) || "";
259
- const start = importText.indexOf("{");
260
- const end = importText.lastIndexOf("}");
261
- const text = imp.moduleSpecifier.getText(sourceFile).slice(1, -1);
262
-
263
- if ((start === -1 || end === -1) && !importText.length) {
264
- return;
265
- }
266
- let imports: string[] = [];
267
- let def: string | undefined;
268
- if (start !== -1 && end !== -1) {
269
- imports = importText
270
- .substring(start + 1, end)
271
- //.trim()
272
- .split(",");
273
- } else {
274
- def = importText;
275
- }
276
-
277
- return {
278
- importPath: text,
279
- importText,
280
- start,
281
- end,
282
- imports,
283
- default: def,
284
- };
285
- }
286
-
287
- export function transformRelative(
288
- file: string,
289
- importPath: string,
290
- relative?: boolean,
291
- ): string {
292
- if (!relative || !importPath.startsWith("src")) {
293
- return importPath;
294
- }
295
-
296
- const fileFullPath = path.join(process.cwd(), file);
297
- const impFullPath = path.join(process.cwd(), importPath);
298
- // relative path is from directory
299
- return normalizePath(path.relative(path.dirname(fileFullPath), impFullPath));
300
- }
301
-
302
- function normalizePath(p: string) {
303
- if (p.endsWith("..")) {
304
- return p + "/";
305
- }
306
- if (!p.startsWith("..")) {
307
- return "./" + p;
308
- }
309
- return p;
310
- }
311
-
312
- export interface customInfo {
313
- viewerInfo: {
314
- path: string;
315
- name: string;
316
- };
317
- relativeImports?: boolean;
318
- globalSchemaPath?: string;
319
- }
320
-
321
- // also used in parse schema logic
322
- export function getCustomInfo(): customInfo {
323
- let yaml: ConfigWithCodegen | undefined = {};
324
-
325
- let relativeImports = false;
326
- try {
327
- yaml = load(
328
- fs.readFileSync(path.join(process.cwd(), "ent.yml"), {
329
- encoding: "utf8",
330
- }),
331
- ) as ConfigWithCodegen;
332
-
333
- relativeImports = yaml?.codegen?.relativeImports || false;
334
-
335
- if (yaml?.codegen?.templatizedViewer) {
336
- return {
337
- viewerInfo: yaml.codegen.templatizedViewer,
338
- relativeImports,
339
- globalSchemaPath: yaml.globalSchemaPath,
340
- };
341
- }
342
- } catch (e) {}
343
- return {
344
- viewerInfo: {
345
- path: PACKAGE,
346
- name: "Viewer",
347
- },
348
- relativeImports,
349
- globalSchemaPath: yaml.globalSchemaPath,
350
- };
351
- }
@@ -1,85 +0,0 @@
1
- import * as fs from "fs";
2
- import JSON5 from "json5";
3
- import ts from "typescript";
4
- import * as path from "path";
5
-
6
- function findTSConfigFile(filePath: string): string | null {
7
- while (filePath != "/") {
8
- let configPath = `${filePath}/tsconfig.json`;
9
- if (fs.existsSync(configPath)) {
10
- return configPath;
11
- }
12
- filePath = path.join(filePath, "..");
13
- }
14
- return null;
15
- }
16
-
17
- export function readCompilerOptions(filePath: string) {
18
- let configPath = findTSConfigFile(filePath);
19
- if (!configPath) {
20
- return {};
21
- }
22
-
23
- let json: any = {};
24
- try {
25
- json = JSON5.parse(
26
- fs.readFileSync(configPath, {
27
- encoding: "utf8",
28
- }),
29
- );
30
- } catch (e) {
31
- console.error("couldn't read tsconfig.json file");
32
- }
33
- let options: ts.CompilerOptions = json["compilerOptions"] || {};
34
- // @ts-ignore
35
- if (options.moduleResolution === "node") {
36
- options.moduleResolution = ts.ModuleResolutionKind.NodeJs;
37
- }
38
- return options;
39
- }
40
-
41
- export function getTarget(target?: string): ts.ScriptTarget {
42
- switch (target?.toLowerCase()) {
43
- case "es2015":
44
- return ts.ScriptTarget.ES2015;
45
- case "es2016":
46
- return ts.ScriptTarget.ES2016;
47
- case "es2017":
48
- return ts.ScriptTarget.ES2017;
49
- case "es2018":
50
- return ts.ScriptTarget.ES2018;
51
- case "es2019":
52
- return ts.ScriptTarget.ES2019;
53
- case "es2020":
54
- return ts.ScriptTarget.ES2020;
55
- case "es2021":
56
- return ts.ScriptTarget.ES2021;
57
- case "es3":
58
- return ts.ScriptTarget.ES3;
59
- case "es5":
60
- return ts.ScriptTarget.ES5;
61
- case "esnext":
62
- return ts.ScriptTarget.ESNext;
63
- default:
64
- return ts.ScriptTarget.ESNext;
65
- }
66
- }
67
-
68
- export function getTargetFromCurrentDir(): ts.ScriptTarget {
69
- const options = readCompilerOptions(".");
70
- return getTarget(options.target?.toString());
71
- }
72
-
73
- export function createSourceFile(target: ts.ScriptTarget, file: string) {
74
- let contents = fs.readFileSync(file).toString();
75
-
76
- // go through the file and print everything back if not starting immediately after other position
77
- const sourceFile = ts.createSourceFile(
78
- file,
79
- contents,
80
- target,
81
- false,
82
- ts.ScriptKind.TS,
83
- );
84
- return { contents, sourceFile };
85
- }