@kernlang/python 3.5.6 → 3.5.7

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 (37) hide show
  1. package/dist/adapters/django.d.ts +49 -0
  2. package/dist/adapters/django.js +151 -0
  3. package/dist/adapters/django.js.map +1 -0
  4. package/dist/adapters/fastapi.d.ts +43 -0
  5. package/dist/adapters/fastapi.js +139 -0
  6. package/dist/adapters/fastapi.js.map +1 -0
  7. package/dist/codegen-body-python.d.ts +17 -5
  8. package/dist/codegen-body-python.js +83 -67
  9. package/dist/codegen-body-python.js.map +1 -1
  10. package/dist/core/expr/helpers.d.ts +5 -0
  11. package/dist/core/expr/helpers.js +62 -0
  12. package/dist/core/expr/helpers.js.map +1 -0
  13. package/dist/core/expr/index.d.ts +9 -0
  14. package/dist/core/expr/index.js +2046 -0
  15. package/dist/core/expr/index.js.map +1 -0
  16. package/dist/core/handlers/index.d.ts +74 -0
  17. package/dist/core/handlers/index.js +462 -0
  18. package/dist/core/handlers/index.js.map +1 -0
  19. package/dist/fastapi-portable.js +3 -2
  20. package/dist/fastapi-portable.js.map +1 -1
  21. package/dist/fastapi-response.d.ts +0 -6
  22. package/dist/fastapi-response.js +2 -2217
  23. package/dist/fastapi-response.js.map +1 -1
  24. package/dist/fastapi-route.js +24 -3
  25. package/dist/fastapi-route.js.map +1 -1
  26. package/dist/fastapi-utils.d.ts +2 -1
  27. package/dist/fastapi-utils.js +2 -58
  28. package/dist/fastapi-utils.js.map +1 -1
  29. package/dist/index.d.ts +2 -0
  30. package/dist/index.js +2 -0
  31. package/dist/index.js.map +1 -1
  32. package/dist/ir-semantics/python-leg.js +5 -0
  33. package/dist/ir-semantics/python-leg.js.map +1 -1
  34. package/dist/targets/python.d.ts +27 -0
  35. package/dist/targets/python.js +130 -4
  36. package/dist/targets/python.js.map +1 -1
  37. package/package.json +2 -2
@@ -0,0 +1,462 @@
1
+ /**
2
+ * Framework-agnostic Python handler emission — revised contract (post nero red-team).
3
+ *
4
+ * The `python` target (targets/python.ts) emits a list of `PurePythonHandler`
5
+ * values. Framework adapters (Phase 3: fastapi, django, asgi) take that list
6
+ * and wrap each in their own routing/validation skin.
7
+ *
8
+ * KEY: the boundary is EXPLICIT. A handler consumes a `PureRequest` (a plain
9
+ * dict whose shape is defined HERE, not borrowed from FastAPI or Django) and
10
+ * returns a `PureResponse` (status, body, optional headers). The adapter is
11
+ * the ONLY place that knows about its framework's native request object —
12
+ * the pure handler never sees `fastapi.Request`, `django.http.HttpRequest`,
13
+ * or any framework type.
14
+ *
15
+ * Why explicit instead of `request: dict`? nero pointed out that "request:
16
+ * dict" silently leaks FastAPI's auto-parsed shape into the handler (FastAPI
17
+ * gives you parsed JSON in one place, Django gives you `.POST`/`.GET`/raw
18
+ * body in another). By specifying PureRequest's shape here, the handler is
19
+ * portable BY CONSTRUCTION and the Phase 2 smoke proves it: it hand-builds
20
+ * a PureRequest (neither FastAPI- nor Django-shaped) and the handler still
21
+ * works.
22
+ *
23
+ * EXPLICIT REQUEST/RESPONSE SHAPE (the contract every adapter must marshal to/from):
24
+ *
25
+ * PureRequest:
26
+ * method: str # 'GET' | 'POST' | ...
27
+ * path_params: dict[str, str|int] # already-coerced path params
28
+ * query: dict[str, str|list] # already-parsed (single or list per key)
29
+ * body: Any (typically dict) # JSON-decoded body if content-type is JSON
30
+ * headers: dict[str, str] # lowercased keys
31
+ * user: Any (optional) # auth-supplied user object, opaque to handler
32
+ *
33
+ * PureResponse:
34
+ * tuple[int, Any] # (status, body) — body is JSON-serialisable
35
+ * tuple[int, Any, dict[str, str]] # (status, body, extra_headers)
36
+ *
37
+ * Guard rejections return `(status, {"detail": "<msg>"})` — same unified
38
+ * error shape used by the FastAPI and Go targets (#3 error-semantics).
39
+ *
40
+ * Phase 2 emitter detail: bodies wrap incoming `request`/`body` in a
41
+ * `__DotDict` so the shared `rewriteExpr` lowering (which assumes JS
42
+ * attribute access like `body.value`) is satisfied without each handler
43
+ * needing to rewrite `body.x` → `body["x"]`. The wrapping is internal —
44
+ * adapters and external callers always see a plain `dict`.
45
+ */
46
+ import { getChildren, getFirstChild, getProps } from '@kernlang/core';
47
+ import { isUnsupportedJsHandlerBody, unsupportedRawHandlerBody } from '../../fastapi-raw-handler.js';
48
+ import { derivePathParams, escapePyStr, indentHandler, slugify } from '../../fastapi-utils.js';
49
+ import { toSnakeCase } from '../../type-map.js';
50
+ import { rewriteExpr } from '../expr/index.js';
51
+ function indentHoistedDef(def, indent) {
52
+ return def.split('\n').map((line) => `${indent}${line}`);
53
+ }
54
+ function findFieldsForSchema(root, schemaName) {
55
+ const fields = new Set();
56
+ function search(node) {
57
+ if ((node.type === 'interface' || node.type === 'model' || node.type === 'type') &&
58
+ getProps(node).name === schemaName) {
59
+ const fieldNodes = getChildren(node, 'field');
60
+ for (const f of fieldNodes) {
61
+ const name = getProps(f).name;
62
+ if (name)
63
+ fields.add(String(name));
64
+ }
65
+ }
66
+ for (const child of node.children || []) {
67
+ search(child);
68
+ }
69
+ }
70
+ search(root);
71
+ return fields;
72
+ }
73
+ // Extract the code from a prop that may arrive as a curly-expression
74
+ function extractExprCode(val) {
75
+ if (val && typeof val === 'object' && '__expr' in val && typeof val.code === 'string') {
76
+ return val.code;
77
+ }
78
+ if (typeof val === 'string')
79
+ return val;
80
+ if (typeof val === 'number' || typeof val === 'boolean')
81
+ return String(val);
82
+ return '';
83
+ }
84
+ function extractCodeOrString(val) {
85
+ return extractExprCode(val);
86
+ }
87
+ function mapJsDefaultToPython(def) {
88
+ if (def === undefined || def === null)
89
+ return 'None';
90
+ const s = String(def).trim();
91
+ if (s === 'true')
92
+ return 'True';
93
+ if (s === 'false')
94
+ return 'False';
95
+ if (s === 'null' || s === 'undefined')
96
+ return 'None';
97
+ return s;
98
+ }
99
+ function generatePurePythonStmt(child, indent, pathParams, bodyFields, authUser, imports, hoistCtx) {
100
+ const lines = [];
101
+ const p = getProps(child);
102
+ function rewriteExprPure(expr, currentIndent) {
103
+ const defs = [];
104
+ const rewritten = rewriteExpr(expr, pathParams, bodyFields, authUser, imports, defs, hoistCtx.seq);
105
+ return { expr: rewritten, hoists: defs.flatMap((def) => indentHoistedDef(def, currentIndent)) };
106
+ }
107
+ switch (child.type) {
108
+ case 'derive': {
109
+ const name = String(p.name || '');
110
+ const exprCode = extractExprCode(p.expr);
111
+ if (name && exprCode) {
112
+ const rewritten = rewriteExprPure(exprCode, indent);
113
+ lines.push(...rewritten.hoists, `${indent}${toSnakeCase(name)} = ${rewritten.expr}`);
114
+ }
115
+ break;
116
+ }
117
+ case 'assign': {
118
+ const target = extractExprCode(p.target);
119
+ if (!target)
120
+ break;
121
+ const op = p.op === undefined || p.op === '' ? '=' : String(p.op);
122
+ const lhs = rewriteExprPure(target, indent);
123
+ lines.push(...lhs.hoists);
124
+ if (op === '++' || op === '--') {
125
+ lines.push(`${indent}${lhs.expr} ${op === '++' ? '+=' : '-='} 1`);
126
+ }
127
+ else {
128
+ const valueCode = extractExprCode(p.value);
129
+ if (!valueCode) {
130
+ throw new Error('portable route `assign` requires `value=` for a non-postfix operator.');
131
+ }
132
+ const rhs = rewriteExprPure(valueCode, indent);
133
+ lines.push(...rhs.hoists, `${indent}${lhs.expr} ${op} ${rhs.expr}`);
134
+ }
135
+ break;
136
+ }
137
+ case 'do': {
138
+ const value = extractExprCode(p.value);
139
+ if (value) {
140
+ const rewritten = rewriteExprPure(value, indent);
141
+ lines.push(...rewritten.hoists, `${indent}${rewritten.expr}`);
142
+ }
143
+ break;
144
+ }
145
+ case 'guard': {
146
+ const name = String(p.name || '');
147
+ const exprCode = extractExprCode(p.expr);
148
+ const elseStatus = p.else ? parseInt(String(p.else), 10) : 404;
149
+ const elseMessage = typeof p.message === 'string' ? p.message : name ? `${name} guard failed` : 'Guard failed';
150
+ if (exprCode) {
151
+ const rewritten = rewriteExprPure(exprCode, indent);
152
+ lines.push(...rewritten.hoists, `${indent}if not (${rewritten.expr}):`);
153
+ lines.push(`${indent} return ${elseStatus}, {"detail": "${escapePyStr(elseMessage)}"}`);
154
+ }
155
+ break;
156
+ }
157
+ case 'handler': {
158
+ const code = String(p.code || '');
159
+ if (code) {
160
+ if (isUnsupportedJsHandlerBody(code)) {
161
+ lines.push(...unsupportedRawHandlerBody(indent));
162
+ }
163
+ else {
164
+ lines.push(...indentHandler(code, indent));
165
+ }
166
+ }
167
+ break;
168
+ }
169
+ case 'respond': {
170
+ const status = typeof p.status === 'number' ? p.status : 200;
171
+ const json = p.json ? extractExprCode(p.json) : undefined;
172
+ const text = p.text ? extractExprCode(p.text) : undefined;
173
+ const redirect = p.redirect ? extractExprCode(p.redirect) : undefined;
174
+ const error = p.error ? extractExprCode(p.error) : undefined;
175
+ if (redirect) {
176
+ const rewritten = rewriteExprPure(redirect, indent);
177
+ lines.push(...rewritten.hoists, `${indent}return ${status || 302}, None, {"Location": ${rewritten.expr}}`);
178
+ }
179
+ else if (error) {
180
+ const rewritten = rewriteExprPure(error, indent);
181
+ lines.push(...rewritten.hoists, `${indent}return ${status || 500}, {"detail": ${rewritten.expr}}`);
182
+ }
183
+ else if (json) {
184
+ const rewritten = rewriteExprPure(json, indent);
185
+ lines.push(...rewritten.hoists, `${indent}return ${status}, ${rewritten.expr}`);
186
+ }
187
+ else if (text) {
188
+ const rewritten = rewriteExprPure(text, indent);
189
+ lines.push(...rewritten.hoists, `${indent}return ${status}, ${rewritten.expr}`);
190
+ }
191
+ else {
192
+ lines.push(`${indent}return ${status}, None`);
193
+ }
194
+ break;
195
+ }
196
+ case 'branch': {
197
+ const onSource = extractCodeOrString(p.on);
198
+ const on = onSource.trim() === '' || onSource.trim() === 'null' || onSource.trim() === 'undefined'
199
+ ? { expr: 'None', hoists: [] }
200
+ : rewriteExprPure(onSource.trim(), indent);
201
+ lines.push(...on.hoists);
202
+ const paths = getChildren(child, 'path');
203
+ for (let i = 0; i < paths.length; i++) {
204
+ const pathNode = paths[i];
205
+ const pp = getProps(pathNode);
206
+ const value = String(pp.value || '');
207
+ const keyword = i === 0 ? 'if' : 'elif';
208
+ lines.push(`${indent}${keyword} ${on.expr} == "${escapePyStr(value)}":`);
209
+ const bodyStart = lines.length;
210
+ for (const pathChild of pathNode.children || []) {
211
+ lines.push(...generatePurePythonStmt(pathChild, `${indent} `, pathParams, bodyFields, authUser, imports, hoistCtx));
212
+ }
213
+ if (lines.length === bodyStart)
214
+ lines.push(`${indent} pass`);
215
+ }
216
+ break;
217
+ }
218
+ case 'let': {
219
+ const name = String(p.name || '');
220
+ if (!name)
221
+ break;
222
+ const valueCode = extractExprCode(p.value) || extractExprCode(p.expr);
223
+ if (valueCode) {
224
+ const rewritten = rewriteExprPure(valueCode, indent);
225
+ lines.push(...rewritten.hoists, `${indent}${name} = ${rewritten.expr}`);
226
+ }
227
+ break;
228
+ }
229
+ case 'each': {
230
+ const name = String(p.name || 'item');
231
+ const collection = rewriteExprPure(extractExprCode(p.in) || String(p.in || ''), indent);
232
+ lines.push(...collection.hoists);
233
+ const index = p.index ? String(p.index) : undefined;
234
+ if (index) {
235
+ lines.push(`${indent}for ${index}, ${name} in enumerate(${collection.expr}):`);
236
+ }
237
+ else {
238
+ lines.push(`${indent}for ${name} in ${collection.expr}:`);
239
+ }
240
+ const bodyStart = lines.length;
241
+ for (const eachChild of child.children || []) {
242
+ lines.push(...generatePurePythonStmt(eachChild, `${indent} `, pathParams, bodyFields, authUser, imports, hoistCtx));
243
+ }
244
+ if (lines.length === bodyStart)
245
+ lines.push(`${indent} pass`);
246
+ break;
247
+ }
248
+ case 'collect': {
249
+ const rawName = toSnakeCase(String(p.name || ''));
250
+ const PY_BUILTINS = new Set([
251
+ 'sorted',
252
+ 'list',
253
+ 'dict',
254
+ 'set',
255
+ 'map',
256
+ 'filter',
257
+ 'type',
258
+ 'id',
259
+ 'input',
260
+ 'print',
261
+ 'range',
262
+ 'len',
263
+ 'min',
264
+ 'max',
265
+ 'sum',
266
+ 'any',
267
+ 'all',
268
+ ]);
269
+ const collectName = PY_BUILTINS.has(rawName) ? `${rawName}_result` : rawName;
270
+ const from = rewriteExprPure(extractCodeOrString(p.from).trim(), indent);
271
+ lines.push(...from.hoists);
272
+ const where = p.where ? extractExprCode(p.where) : undefined;
273
+ const limit = p.limit !== undefined && p.limit !== null && p.limit !== ''
274
+ ? rewriteExprPure(extractCodeOrString(p.limit).trim(), indent)
275
+ : undefined;
276
+ const orderSourceTrimmed = extractCodeOrString(p.order).trim();
277
+ const order = orderSourceTrimmed === '' || orderSourceTrimmed === 'null' || orderSourceTrimmed === 'undefined'
278
+ ? undefined
279
+ : rewriteExprPure(orderSourceTrimmed, indent);
280
+ if (limit)
281
+ lines.push(...limit.hoists);
282
+ if (order)
283
+ lines.push(...order.hoists);
284
+ if (where && !order && !limit) {
285
+ const whereExpr = rewriteExprPure(where, indent);
286
+ lines.push(...whereExpr.hoists);
287
+ lines.push(`${indent}${collectName} = [item for item in ${from.expr} if ${whereExpr.expr}]`);
288
+ }
289
+ else {
290
+ lines.push(`${indent}${collectName} = ${from.expr}`);
291
+ if (where) {
292
+ const whereExpr = rewriteExprPure(where, indent);
293
+ lines.push(...whereExpr.hoists, `${indent}${collectName} = [item for item in ${collectName} if ${whereExpr.expr}]`);
294
+ }
295
+ if (order) {
296
+ imports.add('import functools');
297
+ lines.push(`${indent}${collectName} = sorted(${collectName}, key=functools.cmp_to_key(lambda a, b: ${order.expr}))`);
298
+ }
299
+ if (limit)
300
+ lines.push(`${indent}${collectName} = ${collectName}[:${limit.expr}]`);
301
+ }
302
+ break;
303
+ }
304
+ case 'effect': {
305
+ const effectName = toSnakeCase(String(p.name || 'effect'));
306
+ const triggerNode = getFirstChild(child, 'trigger');
307
+ const recoverNode = getFirstChild(child, 'recover');
308
+ const triggerProps = triggerNode ? getProps(triggerNode) : {};
309
+ const exprCode = extractExprCode(triggerProps.expr);
310
+ const queryCode = extractCodeOrString(triggerProps.query);
311
+ const urlCode = extractCodeOrString(triggerProps.url);
312
+ const callCode = extractCodeOrString(triggerProps.call);
313
+ let triggerExpr = '';
314
+ if (exprCode) {
315
+ triggerExpr = exprCode;
316
+ }
317
+ else if (queryCode) {
318
+ triggerExpr = queryCode;
319
+ }
320
+ else if (triggerProps.url !== undefined && triggerProps.url !== null) {
321
+ triggerExpr = `"${escapePyStr(urlCode)}"`;
322
+ }
323
+ else if (callCode) {
324
+ triggerExpr = callCode;
325
+ }
326
+ const retryCount = recoverNode ? parseInt(String(getProps(recoverNode).retry || '0'), 10) : 0;
327
+ const pyFallback = rewriteExprPure(extractCodeOrString(recoverNode ? getProps(recoverNode).fallback : undefined).trim() || 'None', indent);
328
+ const trigger = triggerExpr ? rewriteExprPure(triggerExpr, indent) : { expr: 'None', hoists: [] };
329
+ lines.push(...pyFallback.hoists, ...trigger.hoists);
330
+ if (retryCount > 0) {
331
+ lines.push(`${indent}${effectName} = ${pyFallback.expr}`);
332
+ lines.push(`${indent}for _attempt in range(${retryCount}):`);
333
+ lines.push(`${indent} try:`);
334
+ lines.push(`${indent} ${effectName} = ${trigger.expr}`);
335
+ lines.push(`${indent} break`);
336
+ lines.push(`${indent} except Exception:`);
337
+ lines.push(`${indent} if _attempt == ${retryCount - 1}:`);
338
+ lines.push(`${indent} ${effectName} = ${pyFallback.expr}`);
339
+ }
340
+ else {
341
+ lines.push(`${indent}try:`);
342
+ lines.push(`${indent} ${effectName} = ${trigger.expr}`);
343
+ lines.push(`${indent}except Exception:`);
344
+ lines.push(`${indent} ${effectName} = ${pyFallback.expr}`);
345
+ }
346
+ break;
347
+ }
348
+ }
349
+ return lines;
350
+ }
351
+ /**
352
+ * Phase 2 implements: scan the IR's server children, lower each route
353
+ * to a `PurePythonHandler`.
354
+ */
355
+ export function emitPureHandlers(serverNode, imports, root) {
356
+ const routeNodes = getChildren(serverNode, 'route');
357
+ const handlers = [];
358
+ const rootNode = root || serverNode;
359
+ for (const routeNode of routeNodes) {
360
+ const props = getProps(routeNode);
361
+ const method = String(props.method || 'get').toUpperCase();
362
+ const path = String(props.path || '/');
363
+ const fnName = `handle_${slugify(`${method}_${path.replace(/:([a-zA-Z0-9_]+)/g, 'by_$1')}`)}`;
364
+ const pathParams = derivePathParams(path);
365
+ const pathParamTypes = {};
366
+ for (const p of pathParams) {
367
+ pathParamTypes[p] = 'str';
368
+ }
369
+ const paramsNodes = getChildren(routeNode, 'params');
370
+ const queryParams = [];
371
+ for (const paramNode of paramsNodes) {
372
+ const paramItems = getProps(paramNode).items;
373
+ if (paramItems)
374
+ queryParams.push(...paramItems);
375
+ }
376
+ const queryParamTypes = {};
377
+ for (const qp of queryParams) {
378
+ let pyType = 'str';
379
+ if (qp.type === 'number')
380
+ pyType = 'float';
381
+ else if (qp.type === 'integer')
382
+ pyType = 'int';
383
+ else if (qp.type === 'boolean')
384
+ pyType = 'bool';
385
+ queryParamTypes[qp.name] = pyType;
386
+ }
387
+ const validateNode = getFirstChild(routeNode, 'validate');
388
+ const validateSchema = validateNode ? String(getProps(validateNode).schema || '') : undefined;
389
+ const validatesSchema = validateSchema || undefined;
390
+ const bodyFields = new Set();
391
+ if (validatesSchema) {
392
+ const resolvedFields = findFieldsForSchema(rootNode, validatesSchema);
393
+ for (const f of resolvedFields)
394
+ bodyFields.add(f);
395
+ }
396
+ const authNode = getFirstChild(routeNode, 'auth');
397
+ const authUser = !!authNode;
398
+ const handlerImports = new Set();
399
+ const hoistCtx = { seq: { n: 0 } };
400
+ const bodyLines = [];
401
+ bodyLines.push(' request = __DotDict(request)');
402
+ bodyLines.push(' body = __DotDict(request.get("body") or {})');
403
+ if (pathParams.length > 0) {
404
+ bodyLines.push(' # Path parameters');
405
+ for (const p of pathParams) {
406
+ bodyLines.push(` ${p} = request.path_params.get("${p}")`);
407
+ }
408
+ }
409
+ if (queryParams.length > 0) {
410
+ bodyLines.push(' # Query parameters');
411
+ for (const qp of queryParams) {
412
+ const snakeName = toSnakeCase(qp.name);
413
+ bodyLines.push(` ${snakeName} = request.query.get("${qp.name}")`);
414
+ if (qp.default !== undefined) {
415
+ bodyLines.push(` if ${snakeName} is None:`);
416
+ bodyLines.push(` ${snakeName} = ${mapJsDefaultToPython(qp.default)}`);
417
+ }
418
+ }
419
+ }
420
+ if (authUser) {
421
+ bodyLines.push(' # Auth user');
422
+ bodyLines.push(' user = request.get("user")');
423
+ }
424
+ const children = routeNode.children || [];
425
+ const PORTABLE_TYPES = new Set([
426
+ 'derive',
427
+ 'guard',
428
+ 'handler',
429
+ 'respond',
430
+ 'branch',
431
+ 'each',
432
+ 'collect',
433
+ 'effect',
434
+ 'assign',
435
+ 'do',
436
+ ]);
437
+ for (const child of children) {
438
+ if (PORTABLE_TYPES.has(child.type)) {
439
+ const stmtLines = generatePurePythonStmt(child, ' ', pathParams, bodyFields, authUser, handlerImports, hoistCtx);
440
+ bodyLines.push(...stmtLines);
441
+ }
442
+ }
443
+ for (const imp of handlerImports) {
444
+ imports.add(imp);
445
+ }
446
+ const signature = `def ${fnName}(request: dict) -> tuple:`;
447
+ handlers.push({
448
+ method,
449
+ path,
450
+ fnName,
451
+ signature,
452
+ bodyLines,
453
+ imports: handlerImports,
454
+ pathParamTypes,
455
+ queryParamTypes,
456
+ validatesSchema,
457
+ responseHeaders: {},
458
+ });
459
+ }
460
+ return handlers;
461
+ }
462
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/core/handlers/index.ts"],"names":[],"mappings":"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"}
@@ -5,8 +5,9 @@
5
5
  * into Python/FastAPI handler code.
6
6
  */
7
7
  import { getChildren, getFirstChild, getProps, isPostfixMutationOperator, isSupportedAssignOperator, } from '@kernlang/core';
8
+ import { extractExprCode, rewriteExpr } from './core/expr/index.js';
8
9
  import { isUnsupportedJsHandlerBody, unsupportedRawHandlerBody } from './fastapi-raw-handler.js';
9
- import { addRespondImports, extractExprCode, generateRespondFastAPI, rewriteFastAPIExpr } from './fastapi-response.js';
10
+ import { addRespondImports, generateRespondFastAPI } from './fastapi-response.js';
10
11
  import { escapePyStr, indentHandler } from './fastapi-utils.js';
11
12
  import { toSnakeCase } from './type-map.js';
12
13
  // Extract the code from a prop that may arrive as a `{{ ... }}` curly-
@@ -35,7 +36,7 @@ function indentHoistedDef(def, indent) {
35
36
  }
36
37
  function rewriteFastAPIStmtExpr(expr, indent, pathParams, bodyFields, authUser, imports, hoistCtx) {
37
38
  const defs = [];
38
- const rewritten = rewriteFastAPIExpr(expr, pathParams, bodyFields, authUser, imports, defs, hoistCtx.seq);
39
+ const rewritten = rewriteExpr(expr, pathParams, bodyFields, authUser, imports, defs, hoistCtx.seq);
39
40
  return { expr: rewritten, hoists: defs.flatMap((def) => indentHoistedDef(def, indent)) };
40
41
  }
41
42
  export function generatePortableChildFastAPI(child, indent, pathParams, imports, bodyFields = new Set(), authUser = false, streamCtx, closureHoistCtx) {
@@ -1 +1 @@
1
- {"version":3,"file":"fastapi-portable.js","sourceRoot":"","sources":["../src/fastapi-portable.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fastapi-portable.js","sourceRoot":"","sources":["../src/fastapi-portable.ts"],"names":[],"mappings":"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"}
@@ -2,14 +2,8 @@
2
2
  * Response helpers for the FastAPI transpiler.
3
3
  *
4
4
  * generateRespondFastAPI — IR respond node → Python return/raise statements
5
- * rewriteFastAPIExpr — rewrite portable request references to FastAPI equivalents
6
- * extractExprCode — extract expression code from IR prop
7
5
  * addRespondImports — add necessary imports for respond node
8
6
  */
9
7
  import type { IRNode } from '@kernlang/core';
10
8
  export declare function generateRespondFastAPI(respondNode: IRNode, indent: string): string[];
11
- export declare function rewriteFastAPIExpr(expr: string, pathParams: string[], bodyFields?: Set<string>, authUser?: boolean, imports?: Set<string>, hoistedDefs?: string[], closureSeq?: {
12
- n: number;
13
- }): string;
14
- export declare function extractExprCode(prop: unknown): string;
15
9
  export declare function addRespondImports(respondNode: IRNode, imports: Set<string>): void;