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

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/{dist/core → core}/query/assoc_query.d.ts +3 -0
  2. package/{dist/core → core}/query/assoc_query.js +71 -0
  3. package/{dist/core → core}/query/query.d.ts +3 -0
  4. package/{dist/core → core}/query/query.js +20 -6
  5. package/core/query/shared_assoc_test.d.ts +2 -0
  6. package/core/query/shared_assoc_test.js +1089 -0
  7. package/core/query/shared_test.d.ts +21 -0
  8. package/core/query/shared_test.js +736 -0
  9. package/graphql/query/shared_assoc_test.d.ts +1 -0
  10. package/graphql/query/shared_assoc_test.js +203 -0
  11. package/package.json +8 -53
  12. package/{dist/testutils → testutils}/fake_data/test_helpers.js +2 -1
  13. package/dist/package.json +0 -64
  14. package/src/action/action.ts +0 -330
  15. package/src/action/executor.ts +0 -453
  16. package/src/action/experimental_action.ts +0 -277
  17. package/src/action/index.ts +0 -31
  18. package/src/action/operations.ts +0 -967
  19. package/src/action/orchestrator.ts +0 -1527
  20. package/src/action/privacy.ts +0 -37
  21. package/src/action/relative_value.ts +0 -242
  22. package/src/action/transaction.ts +0 -38
  23. package/src/auth/auth.ts +0 -77
  24. package/src/auth/index.ts +0 -8
  25. package/src/core/base.ts +0 -367
  26. package/src/core/clause.ts +0 -1065
  27. package/src/core/config.ts +0 -219
  28. package/src/core/const.ts +0 -5
  29. package/src/core/context.ts +0 -135
  30. package/src/core/convert.ts +0 -106
  31. package/src/core/date.ts +0 -23
  32. package/src/core/db.ts +0 -498
  33. package/src/core/ent.ts +0 -1740
  34. package/src/core/global_schema.ts +0 -49
  35. package/src/core/loaders/assoc_count_loader.ts +0 -99
  36. package/src/core/loaders/assoc_edge_loader.ts +0 -250
  37. package/src/core/loaders/index.ts +0 -12
  38. package/src/core/loaders/loader.ts +0 -66
  39. package/src/core/loaders/object_loader.ts +0 -489
  40. package/src/core/loaders/query_loader.ts +0 -314
  41. package/src/core/loaders/raw_count_loader.ts +0 -175
  42. package/src/core/logger.ts +0 -49
  43. package/src/core/privacy.ts +0 -660
  44. package/src/core/query/assoc_query.ts +0 -240
  45. package/src/core/query/custom_clause_query.ts +0 -174
  46. package/src/core/query/custom_query.ts +0 -302
  47. package/src/core/query/index.ts +0 -9
  48. package/src/core/query/query.ts +0 -674
  49. package/src/core/query_impl.ts +0 -32
  50. package/src/core/viewer.ts +0 -52
  51. package/src/ent.code-workspace +0 -73
  52. package/src/graphql/builtins/connection.ts +0 -25
  53. package/src/graphql/builtins/edge.ts +0 -16
  54. package/src/graphql/builtins/node.ts +0 -12
  55. package/src/graphql/graphql.ts +0 -891
  56. package/src/graphql/graphql_field_helpers.ts +0 -221
  57. package/src/graphql/index.ts +0 -42
  58. package/src/graphql/mutations/union.ts +0 -39
  59. package/src/graphql/node_resolver.ts +0 -122
  60. package/src/graphql/query/connection_type.ts +0 -113
  61. package/src/graphql/query/edge_connection.ts +0 -171
  62. package/src/graphql/query/page_info.ts +0 -34
  63. package/src/graphql/query/shared_edge_connection.ts +0 -287
  64. package/src/graphql/scalars/orderby_direction.ts +0 -13
  65. package/src/graphql/scalars/time.ts +0 -38
  66. package/src/imports/dataz/example1/_auth.ts +0 -51
  67. package/src/imports/dataz/example1/_viewer.ts +0 -35
  68. package/src/imports/index.ts +0 -213
  69. package/src/index.ts +0 -145
  70. package/src/parse_schema/parse.ts +0 -585
  71. package/src/schema/base_schema.ts +0 -224
  72. package/src/schema/field.ts +0 -1087
  73. package/src/schema/index.ts +0 -53
  74. package/src/schema/json_field.ts +0 -94
  75. package/src/schema/schema.ts +0 -1028
  76. package/src/schema/struct_field.ts +0 -234
  77. package/src/schema/union_field.ts +0 -105
  78. package/src/scripts/custom_compiler.ts +0 -331
  79. package/src/scripts/custom_graphql.ts +0 -550
  80. package/src/scripts/migrate_v0.1.ts +0 -41
  81. package/src/scripts/move_types.ts +0 -131
  82. package/src/scripts/read_schema.ts +0 -67
  83. package/src/setupPackage.js +0 -42
  84. package/src/testutils/action/complex_schemas.ts +0 -517
  85. package/src/testutils/builder.ts +0 -422
  86. package/src/testutils/context/test_context.ts +0 -25
  87. package/src/testutils/db/fixture.ts +0 -32
  88. package/src/testutils/db/temp_db.ts +0 -941
  89. package/src/testutils/db/value.ts +0 -294
  90. package/src/testutils/db_mock.ts +0 -351
  91. package/src/testutils/db_time_zone.ts +0 -40
  92. package/src/testutils/ent-graphql-tests/index.ts +0 -653
  93. package/src/testutils/fake_comms.ts +0 -50
  94. package/src/testutils/fake_data/const.ts +0 -64
  95. package/src/testutils/fake_data/events_query.ts +0 -145
  96. package/src/testutils/fake_data/fake_contact.ts +0 -150
  97. package/src/testutils/fake_data/fake_event.ts +0 -150
  98. package/src/testutils/fake_data/fake_tag.ts +0 -139
  99. package/src/testutils/fake_data/fake_user.ts +0 -232
  100. package/src/testutils/fake_data/index.ts +0 -1
  101. package/src/testutils/fake_data/internal.ts +0 -8
  102. package/src/testutils/fake_data/tag_query.ts +0 -56
  103. package/src/testutils/fake_data/test_helpers.ts +0 -388
  104. package/src/testutils/fake_data/user_query.ts +0 -524
  105. package/src/testutils/fake_log.ts +0 -52
  106. package/src/testutils/mock_date.ts +0 -10
  107. package/src/testutils/mock_log.ts +0 -39
  108. package/src/testutils/parse_sql.ts +0 -685
  109. package/src/testutils/test_edge_global_schema.ts +0 -49
  110. package/src/testutils/write.ts +0 -70
  111. package/src/tsc/ast.ts +0 -351
  112. package/src/tsc/compilerOptions.ts +0 -85
  113. package/src/tsc/move_generated.ts +0 -191
  114. package/src/tsc/transform.ts +0 -226
  115. package/src/tsc/transform_action.ts +0 -224
  116. package/src/tsc/transform_ent.ts +0 -66
  117. package/src/tsc/transform_schema.ts +0 -546
  118. package/tsconfig.json +0 -20
  119. /package/{dist/action → action}/action.d.ts +0 -0
  120. /package/{dist/action → action}/action.js +0 -0
  121. /package/{dist/action → action}/executor.d.ts +0 -0
  122. /package/{dist/action → action}/executor.js +0 -0
  123. /package/{dist/action → action}/experimental_action.d.ts +0 -0
  124. /package/{dist/action → action}/experimental_action.js +0 -0
  125. /package/{dist/action → action}/index.d.ts +0 -0
  126. /package/{dist/action → action}/index.js +0 -0
  127. /package/{dist/action → action}/operations.d.ts +0 -0
  128. /package/{dist/action → action}/operations.js +0 -0
  129. /package/{dist/action → action}/orchestrator.d.ts +0 -0
  130. /package/{dist/action → action}/orchestrator.js +0 -0
  131. /package/{dist/action → action}/privacy.d.ts +0 -0
  132. /package/{dist/action → action}/privacy.js +0 -0
  133. /package/{dist/action → action}/relative_value.d.ts +0 -0
  134. /package/{dist/action → action}/relative_value.js +0 -0
  135. /package/{dist/action → action}/transaction.d.ts +0 -0
  136. /package/{dist/action → action}/transaction.js +0 -0
  137. /package/{dist/auth → auth}/auth.d.ts +0 -0
  138. /package/{dist/auth → auth}/auth.js +0 -0
  139. /package/{dist/auth → auth}/index.d.ts +0 -0
  140. /package/{dist/auth → auth}/index.js +0 -0
  141. /package/{dist/core → core}/base.d.ts +0 -0
  142. /package/{dist/core → core}/base.js +0 -0
  143. /package/{dist/core → core}/clause.d.ts +0 -0
  144. /package/{dist/core → core}/clause.js +0 -0
  145. /package/{dist/core → core}/config.d.ts +0 -0
  146. /package/{dist/core → core}/config.js +0 -0
  147. /package/{dist/core → core}/const.d.ts +0 -0
  148. /package/{dist/core → core}/const.js +0 -0
  149. /package/{dist/core → core}/context.d.ts +0 -0
  150. /package/{dist/core → core}/context.js +0 -0
  151. /package/{dist/core → core}/convert.d.ts +0 -0
  152. /package/{dist/core → core}/convert.js +0 -0
  153. /package/{dist/core → core}/date.d.ts +0 -0
  154. /package/{dist/core → core}/date.js +0 -0
  155. /package/{dist/core → core}/db.d.ts +0 -0
  156. /package/{dist/core → core}/db.js +0 -0
  157. /package/{dist/core → core}/ent.d.ts +0 -0
  158. /package/{dist/core → core}/ent.js +0 -0
  159. /package/{dist/core → core}/global_schema.d.ts +0 -0
  160. /package/{dist/core → core}/global_schema.js +0 -0
  161. /package/{dist/core → core}/loaders/assoc_count_loader.d.ts +0 -0
  162. /package/{dist/core → core}/loaders/assoc_count_loader.js +0 -0
  163. /package/{dist/core → core}/loaders/assoc_edge_loader.d.ts +0 -0
  164. /package/{dist/core → core}/loaders/assoc_edge_loader.js +0 -0
  165. /package/{dist/core → core}/loaders/index.d.ts +0 -0
  166. /package/{dist/core → core}/loaders/index.js +0 -0
  167. /package/{dist/core → core}/loaders/loader.d.ts +0 -0
  168. /package/{dist/core → core}/loaders/loader.js +0 -0
  169. /package/{dist/core → core}/loaders/object_loader.d.ts +0 -0
  170. /package/{dist/core → core}/loaders/object_loader.js +0 -0
  171. /package/{dist/core → core}/loaders/query_loader.d.ts +0 -0
  172. /package/{dist/core → core}/loaders/query_loader.js +0 -0
  173. /package/{dist/core → core}/loaders/raw_count_loader.d.ts +0 -0
  174. /package/{dist/core → core}/loaders/raw_count_loader.js +0 -0
  175. /package/{dist/core → core}/logger.d.ts +0 -0
  176. /package/{dist/core → core}/logger.js +0 -0
  177. /package/{dist/core → core}/privacy.d.ts +0 -0
  178. /package/{dist/core → core}/privacy.js +0 -0
  179. /package/{dist/core → core}/query/custom_clause_query.d.ts +0 -0
  180. /package/{dist/core → core}/query/custom_clause_query.js +0 -0
  181. /package/{dist/core → core}/query/custom_query.d.ts +0 -0
  182. /package/{dist/core → core}/query/custom_query.js +0 -0
  183. /package/{dist/core → core}/query/index.d.ts +0 -0
  184. /package/{dist/core → core}/query/index.js +0 -0
  185. /package/{dist/core → core}/query_impl.d.ts +0 -0
  186. /package/{dist/core → core}/query_impl.js +0 -0
  187. /package/{dist/core → core}/viewer.d.ts +0 -0
  188. /package/{dist/core → core}/viewer.js +0 -0
  189. /package/{dist/graphql → graphql}/builtins/connection.d.ts +0 -0
  190. /package/{dist/graphql → graphql}/builtins/connection.js +0 -0
  191. /package/{dist/graphql → graphql}/builtins/edge.d.ts +0 -0
  192. /package/{dist/graphql → graphql}/builtins/edge.js +0 -0
  193. /package/{dist/graphql → graphql}/builtins/node.d.ts +0 -0
  194. /package/{dist/graphql → graphql}/builtins/node.js +0 -0
  195. /package/{dist/graphql → graphql}/graphql.d.ts +0 -0
  196. /package/{dist/graphql → graphql}/graphql.js +0 -0
  197. /package/{dist/graphql → graphql}/graphql_field_helpers.d.ts +0 -0
  198. /package/{dist/graphql → graphql}/graphql_field_helpers.js +0 -0
  199. /package/{dist/graphql → graphql}/index.d.ts +0 -0
  200. /package/{dist/graphql → graphql}/index.js +0 -0
  201. /package/{dist/graphql → graphql}/mutations/union.d.ts +0 -0
  202. /package/{dist/graphql → graphql}/mutations/union.js +0 -0
  203. /package/{dist/graphql → graphql}/node_resolver.d.ts +0 -0
  204. /package/{dist/graphql → graphql}/node_resolver.js +0 -0
  205. /package/{dist/graphql → graphql}/query/connection_type.d.ts +0 -0
  206. /package/{dist/graphql → graphql}/query/connection_type.js +0 -0
  207. /package/{dist/graphql → graphql}/query/edge_connection.d.ts +0 -0
  208. /package/{dist/graphql → graphql}/query/edge_connection.js +0 -0
  209. /package/{dist/graphql → graphql}/query/page_info.d.ts +0 -0
  210. /package/{dist/graphql → graphql}/query/page_info.js +0 -0
  211. /package/{dist/graphql → graphql}/query/shared_edge_connection.d.ts +0 -0
  212. /package/{dist/graphql → graphql}/query/shared_edge_connection.js +0 -0
  213. /package/{dist/graphql → graphql}/scalars/orderby_direction.d.ts +0 -0
  214. /package/{dist/graphql → graphql}/scalars/orderby_direction.js +0 -0
  215. /package/{dist/graphql → graphql}/scalars/time.d.ts +0 -0
  216. /package/{dist/graphql → graphql}/scalars/time.js +0 -0
  217. /package/{dist/imports → imports}/dataz/example1/_auth.d.ts +0 -0
  218. /package/{dist/imports → imports}/dataz/example1/_auth.js +0 -0
  219. /package/{dist/imports → imports}/dataz/example1/_viewer.d.ts +0 -0
  220. /package/{dist/imports → imports}/dataz/example1/_viewer.js +0 -0
  221. /package/{dist/imports → imports}/index.d.ts +0 -0
  222. /package/{dist/imports → imports}/index.js +0 -0
  223. /package/{dist/index.d.ts → index.d.ts} +0 -0
  224. /package/{dist/index.js → index.js} +0 -0
  225. /package/{dist/parse_schema → parse_schema}/parse.d.ts +0 -0
  226. /package/{dist/parse_schema → parse_schema}/parse.js +0 -0
  227. /package/{dist/schema → schema}/base_schema.d.ts +0 -0
  228. /package/{dist/schema → schema}/base_schema.js +0 -0
  229. /package/{dist/schema → schema}/field.d.ts +0 -0
  230. /package/{dist/schema → schema}/field.js +0 -0
  231. /package/{dist/schema → schema}/index.d.ts +0 -0
  232. /package/{dist/schema → schema}/index.js +0 -0
  233. /package/{dist/schema → schema}/json_field.d.ts +0 -0
  234. /package/{dist/schema → schema}/json_field.js +0 -0
  235. /package/{dist/schema → schema}/schema.d.ts +0 -0
  236. /package/{dist/schema → schema}/schema.js +0 -0
  237. /package/{dist/schema → schema}/struct_field.d.ts +0 -0
  238. /package/{dist/schema → schema}/struct_field.js +0 -0
  239. /package/{dist/schema → schema}/union_field.d.ts +0 -0
  240. /package/{dist/schema → schema}/union_field.js +0 -0
  241. /package/{dist/scripts → scripts}/custom_compiler.d.ts +0 -0
  242. /package/{dist/scripts → scripts}/custom_compiler.js +0 -0
  243. /package/{dist/scripts → scripts}/custom_graphql.d.ts +0 -0
  244. /package/{dist/scripts → scripts}/custom_graphql.js +0 -0
  245. /package/{dist/scripts → scripts}/migrate_v0.1.d.ts +0 -0
  246. /package/{dist/scripts → scripts}/migrate_v0.1.js +0 -0
  247. /package/{dist/scripts → scripts}/move_types.d.ts +0 -0
  248. /package/{dist/scripts → scripts}/move_types.js +0 -0
  249. /package/{dist/scripts → scripts}/read_schema.d.ts +0 -0
  250. /package/{dist/scripts → scripts}/read_schema.js +0 -0
  251. /package/{dist/testutils → testutils}/action/complex_schemas.d.ts +0 -0
  252. /package/{dist/testutils → testutils}/action/complex_schemas.js +0 -0
  253. /package/{dist/testutils → testutils}/builder.d.ts +0 -0
  254. /package/{dist/testutils → testutils}/builder.js +0 -0
  255. /package/{dist/testutils → testutils}/context/test_context.d.ts +0 -0
  256. /package/{dist/testutils → testutils}/context/test_context.js +0 -0
  257. /package/{dist/testutils → testutils}/db/fixture.d.ts +0 -0
  258. /package/{dist/testutils → testutils}/db/fixture.js +0 -0
  259. /package/{dist/testutils → testutils}/db/temp_db.d.ts +0 -0
  260. /package/{dist/testutils → testutils}/db/temp_db.js +0 -0
  261. /package/{dist/testutils → testutils}/db/value.d.ts +0 -0
  262. /package/{dist/testutils → testutils}/db/value.js +0 -0
  263. /package/{dist/testutils → testutils}/db_mock.d.ts +0 -0
  264. /package/{dist/testutils → testutils}/db_mock.js +0 -0
  265. /package/{dist/testutils → testutils}/db_time_zone.d.ts +0 -0
  266. /package/{dist/testutils → testutils}/db_time_zone.js +0 -0
  267. /package/{dist/testutils → testutils}/ent-graphql-tests/index.d.ts +0 -0
  268. /package/{dist/testutils → testutils}/ent-graphql-tests/index.js +0 -0
  269. /package/{dist/testutils → testutils}/fake_comms.d.ts +0 -0
  270. /package/{dist/testutils → testutils}/fake_comms.js +0 -0
  271. /package/{dist/testutils → testutils}/fake_data/const.d.ts +0 -0
  272. /package/{dist/testutils → testutils}/fake_data/const.js +0 -0
  273. /package/{dist/testutils → testutils}/fake_data/events_query.d.ts +0 -0
  274. /package/{dist/testutils → testutils}/fake_data/events_query.js +0 -0
  275. /package/{dist/testutils → testutils}/fake_data/fake_contact.d.ts +0 -0
  276. /package/{dist/testutils → testutils}/fake_data/fake_contact.js +0 -0
  277. /package/{dist/testutils → testutils}/fake_data/fake_event.d.ts +0 -0
  278. /package/{dist/testutils → testutils}/fake_data/fake_event.js +0 -0
  279. /package/{dist/testutils → testutils}/fake_data/fake_tag.d.ts +0 -0
  280. /package/{dist/testutils → testutils}/fake_data/fake_tag.js +0 -0
  281. /package/{dist/testutils → testutils}/fake_data/fake_user.d.ts +0 -0
  282. /package/{dist/testutils → testutils}/fake_data/fake_user.js +0 -0
  283. /package/{dist/testutils → testutils}/fake_data/index.d.ts +0 -0
  284. /package/{dist/testutils → testutils}/fake_data/index.js +0 -0
  285. /package/{dist/testutils → testutils}/fake_data/internal.d.ts +0 -0
  286. /package/{dist/testutils → testutils}/fake_data/internal.js +0 -0
  287. /package/{dist/testutils → testutils}/fake_data/tag_query.d.ts +0 -0
  288. /package/{dist/testutils → testutils}/fake_data/tag_query.js +0 -0
  289. /package/{dist/testutils → testutils}/fake_data/test_helpers.d.ts +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
- }