@suss/packs 0.28.0 → 0.29.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.
@@ -8,6 +8,58 @@ var optionsSchema = z.object({
8
8
  */
9
9
  storageSystem: storageSystemOption
10
10
  }).strict();
11
+ var RETURNS_A_RECORD = [
12
+ "find",
13
+ "find_by",
14
+ "find_by!",
15
+ "find_or_create_by",
16
+ "find_or_create_by!",
17
+ "find_or_initialize_by",
18
+ "first",
19
+ "first!",
20
+ "last",
21
+ "last!",
22
+ "take",
23
+ "take!",
24
+ "sole",
25
+ "find_sole_by",
26
+ "new",
27
+ "build",
28
+ "create",
29
+ "create!",
30
+ "reload"
31
+ ];
32
+ var RETURNS_A_RELATION = [
33
+ "where",
34
+ "rewhere",
35
+ "or",
36
+ "order",
37
+ "reorder",
38
+ "limit",
39
+ "offset",
40
+ "includes",
41
+ "preload",
42
+ "eager_load",
43
+ "joins",
44
+ "left_joins",
45
+ "left_outer_joins",
46
+ "distinct",
47
+ "select",
48
+ "group",
49
+ "having",
50
+ "merge",
51
+ "readonly",
52
+ "lock",
53
+ "none",
54
+ "all",
55
+ "unscoped",
56
+ "unscope",
57
+ "extending",
58
+ "from",
59
+ "references",
60
+ "only",
61
+ "except"
62
+ ];
11
63
  function activeRecordStorage(options) {
12
64
  return [
13
65
  {
@@ -31,6 +83,7 @@ function activeRecordStorage(options) {
31
83
  "delete_all",
32
84
  "touch"
33
85
  ],
86
+ givesBack: [...RETURNS_A_RECORD, ...RETURNS_A_RELATION],
34
87
  storageSystem: options.storageSystem
35
88
  }
36
89
  ];
@@ -55,6 +55,51 @@ function sqlalchemyStorage(options) {
55
55
  }
56
56
  ];
57
57
  }
58
+ var MODEL_BASE_NAMES = [
59
+ "DeclarativeBase",
60
+ "declarative_base",
61
+ "DeclarativeBaseNoMeta"
62
+ ];
63
+ var NARROWS_A_QUERY = [
64
+ "filter",
65
+ "filter_by",
66
+ "where",
67
+ "order_by",
68
+ "limit",
69
+ "offset",
70
+ "options",
71
+ "join",
72
+ "outerjoin",
73
+ "distinct",
74
+ "group_by",
75
+ "having"
76
+ ];
77
+ var RUNS_A_QUERY = [
78
+ "first",
79
+ "one",
80
+ "one_or_none",
81
+ "scalar",
82
+ "scalar_one",
83
+ "scalar_one_or_none",
84
+ "scalars",
85
+ "get",
86
+ "all"
87
+ ];
88
+ var SESSION_ENTRY_METHODS = [
89
+ { method: "get", argument: 0 },
90
+ { method: "query", argument: 0 },
91
+ { method: "execute", argument: 0 }
92
+ ];
93
+ function sqlalchemyModels() {
94
+ return [
95
+ {
96
+ baseNames: MODEL_BASE_NAMES,
97
+ givesBack: [...NARROWS_A_QUERY, ...RUNS_A_QUERY],
98
+ entryMethods: SESSION_ENTRY_METHODS,
99
+ entryFunctions: [{ module: "sqlalchemy", name: "select", argument: 0 }]
100
+ }
101
+ ];
102
+ }
58
103
  function sqlalchemyRawSql(options) {
59
104
  return [
60
105
  {
@@ -75,6 +120,7 @@ function sqlalchemyFramework(options) {
75
120
  protocol: options.storageSystem,
76
121
  discovery: [],
77
122
  storage: sqlalchemyStorage(options),
123
+ models: sqlalchemyModels(),
78
124
  rawSql: sqlalchemyRawSql(options)
79
125
  };
80
126
  }
@@ -95,6 +141,7 @@ var index_default = sqlalchemyFramework;
95
141
  export {
96
142
  optionsSchema,
97
143
  sqlalchemyStorage,
144
+ sqlalchemyModels,
98
145
  sqlalchemyRawSql,
99
146
  declares,
100
147
  index_default
@@ -2,7 +2,7 @@ import {
2
2
  declares,
3
3
  index_default,
4
4
  optionsSchema
5
- } from "./chunk-SKGM3QL5.js";
5
+ } from "./chunk-CZY5QLMS.js";
6
6
  export {
7
7
  declares,
8
8
  index_default as default,
package/dist/sqlmodel.js CHANGED
@@ -1,7 +1,8 @@
1
1
  import {
2
+ sqlalchemyModels,
2
3
  sqlalchemyRawSql,
3
4
  sqlalchemyStorage
4
- } from "./chunk-SKGM3QL5.js";
5
+ } from "./chunk-CZY5QLMS.js";
5
6
 
6
7
  // ../framework/sqlmodel/dist/index.js
7
8
  import { z } from "zod";
@@ -69,6 +70,17 @@ function sqlmodelStorage(options) {
69
70
  ...sqlalchemyStorage(options)
70
71
  ];
71
72
  }
73
+ function sqlmodelModels() {
74
+ return sqlalchemyModels().map((model) => ({
75
+ baseNames: [...model.baseNames, "SQLModel"],
76
+ givesBack: model.givesBack,
77
+ entryMethods: [...model.entryMethods, { method: "exec", argument: 0 }],
78
+ entryFunctions: [
79
+ ...model.entryFunctions,
80
+ { module: "sqlmodel", name: "select", argument: 0 }
81
+ ]
82
+ }));
83
+ }
72
84
  function sqlmodelRawSql(options) {
73
85
  return [
74
86
  {
@@ -90,6 +102,7 @@ function sqlmodelFramework(options) {
90
102
  protocol: options.storageSystem,
91
103
  discovery: [],
92
104
  storage: sqlmodelStorage(options),
105
+ models: sqlmodelModels(),
93
106
  rawSql: sqlmodelRawSql(options)
94
107
  };
95
108
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@suss/packs",
3
- "version": "0.28.0",
3
+ "version": "0.29.0",
4
4
  "type": "module",
5
5
  "description": "Every pack suss ships in one install, so it can read Express, Hono, NestJS, FastAPI, Rails, Prisma, OpenAPI and the rest.",
6
6
  "keywords": [
@@ -218,15 +218,15 @@
218
218
  "ts-morph": "^23.0.0"
219
219
  },
220
220
  "dependencies": {
221
- "@suss/adapter-python": "0.28.0",
222
- "@suss/adapter-ruby": "0.28.0",
223
- "@suss/adapter-typescript": "0.28.0",
224
- "@suss/behavioral-ir": "0.28.0",
225
- "@suss/contract-graphql": "0.28.0",
226
- "@suss/extractor": "0.28.0",
227
- "@suss/manifest-aws": "0.28.0",
228
- "@suss/recognize": "0.28.0",
229
- "@suss/sql": "0.28.0",
221
+ "@suss/adapter-python": "0.29.0",
222
+ "@suss/adapter-ruby": "0.29.0",
223
+ "@suss/adapter-typescript": "0.29.0",
224
+ "@suss/behavioral-ir": "0.29.0",
225
+ "@suss/contract-graphql": "0.29.0",
226
+ "@suss/extractor": "0.29.0",
227
+ "@suss/manifest-aws": "0.29.0",
228
+ "@suss/recognize": "0.29.0",
229
+ "@suss/sql": "0.29.0",
230
230
  "zod": "^4.0.0"
231
231
  },
232
232
  "devDependencies": {