tywrap 0.5.1 → 0.6.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.
- package/dist/cli.js +8 -6
- package/dist/cli.js.map +1 -1
- package/dist/config/index.d.ts.map +1 -1
- package/dist/config/index.js +236 -147
- package/dist/config/index.js.map +1 -1
- package/dist/core/annotation-parser.d.ts.map +1 -1
- package/dist/core/annotation-parser.js +93 -83
- package/dist/core/annotation-parser.js.map +1 -1
- package/dist/core/discovery.d.ts.map +1 -1
- package/dist/core/discovery.js +26 -0
- package/dist/core/discovery.js.map +1 -1
- package/dist/core/emit-call.d.ts +58 -0
- package/dist/core/emit-call.d.ts.map +1 -0
- package/dist/core/emit-call.js +103 -0
- package/dist/core/emit-call.js.map +1 -0
- package/dist/core/generator.d.ts +2 -0
- package/dist/core/generator.d.ts.map +1 -1
- package/dist/core/generator.js +54 -211
- package/dist/core/generator.js.map +1 -1
- package/dist/core/mapper.d.ts.map +1 -1
- package/dist/core/mapper.js +118 -104
- package/dist/core/mapper.js.map +1 -1
- package/dist/index.d.ts +6 -25
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +9 -31
- package/dist/index.js.map +1 -1
- package/dist/runtime/bounded-context.d.ts +2 -2
- package/dist/runtime/bounded-context.js +2 -2
- package/dist/runtime/{safe-codec.d.ts → bridge-codec.d.ts} +11 -11
- package/dist/runtime/bridge-codec.d.ts.map +1 -0
- package/dist/runtime/{safe-codec.js → bridge-codec.js} +26 -26
- package/dist/runtime/bridge-codec.js.map +1 -0
- package/dist/runtime/{http-io.d.ts → http-transport.d.ts} +6 -6
- package/dist/runtime/http-transport.d.ts.map +1 -0
- package/dist/runtime/{http-io.js → http-transport.js} +3 -3
- package/dist/runtime/http-transport.js.map +1 -0
- package/dist/runtime/http.d.ts +3 -3
- package/dist/runtime/http.d.ts.map +1 -1
- package/dist/runtime/http.js +4 -4
- package/dist/runtime/http.js.map +1 -1
- package/dist/runtime/index.d.ts +9 -1
- package/dist/runtime/index.d.ts.map +1 -1
- package/dist/runtime/index.js +9 -1
- package/dist/runtime/index.js.map +1 -1
- package/dist/runtime/node.d.ts +6 -6
- package/dist/runtime/node.d.ts.map +1 -1
- package/dist/runtime/node.js +7 -7
- package/dist/runtime/node.js.map +1 -1
- package/dist/runtime/pooled-transport.d.ts +11 -11
- package/dist/runtime/pooled-transport.d.ts.map +1 -1
- package/dist/runtime/pooled-transport.js +10 -10
- package/dist/runtime/pooled-transport.js.map +1 -1
- package/dist/runtime/pyodide-bootstrap-core.generated.d.ts.map +1 -1
- package/dist/runtime/pyodide-bootstrap-core.generated.js +1 -1
- package/dist/runtime/pyodide-bootstrap-core.generated.js.map +1 -1
- package/dist/runtime/{pyodide-io.d.ts → pyodide-transport.d.ts} +8 -8
- package/dist/runtime/pyodide-transport.d.ts.map +1 -0
- package/dist/runtime/{pyodide-io.js → pyodide-transport.js} +5 -5
- package/dist/runtime/pyodide-transport.js.map +1 -0
- package/dist/runtime/pyodide.d.ts +3 -3
- package/dist/runtime/pyodide.d.ts.map +1 -1
- package/dist/runtime/pyodide.js +5 -5
- package/dist/runtime/pyodide.js.map +1 -1
- package/dist/runtime/rpc-client.d.ts +5 -5
- package/dist/runtime/rpc-client.d.ts.map +1 -1
- package/dist/runtime/rpc-client.js +6 -7
- package/dist/runtime/rpc-client.js.map +1 -1
- package/dist/runtime/{process-io.d.ts → subprocess-transport.d.ts} +9 -9
- package/dist/runtime/subprocess-transport.d.ts.map +1 -0
- package/dist/runtime/{process-io.js → subprocess-transport.js} +6 -6
- package/dist/runtime/subprocess-transport.js.map +1 -0
- package/dist/runtime/{worker-pool.d.ts → transport-pool.d.ts} +15 -15
- package/dist/runtime/transport-pool.d.ts.map +1 -0
- package/dist/runtime/{worker-pool.js → transport-pool.js} +6 -6
- package/dist/runtime/transport-pool.js.map +1 -0
- package/dist/runtime/transport.d.ts +14 -8
- package/dist/runtime/transport.d.ts.map +1 -1
- package/dist/runtime/transport.js +10 -4
- package/dist/runtime/transport.js.map +1 -1
- package/dist/types/index.d.ts +10 -1
- package/dist/types/index.d.ts.map +1 -1
- package/dist/utils/cache.d.ts +2 -2
- package/dist/utils/cache.d.ts.map +1 -1
- package/dist/utils/cache.js +2 -2
- package/dist/utils/cache.js.map +1 -1
- package/dist/utils/codec.d.ts +1 -1
- package/dist/utils/codec.d.ts.map +1 -1
- package/dist/utils/codec.js +181 -182
- package/dist/utils/codec.js.map +1 -1
- package/dist/version.d.ts +12 -0
- package/dist/version.d.ts.map +1 -0
- package/dist/version.js +12 -0
- package/dist/version.js.map +1 -0
- package/package.json +3 -2
- package/runtime/__pycache__/safe_codec.cpython-311.pyc +0 -0
- package/runtime/__pycache__/tywrap_bridge_core.cpython-311.pyc +0 -0
- package/runtime/python_bridge.py +54 -6
- package/runtime/safe_codec.py +8 -8
- package/runtime/tywrap_bridge_core.py +159 -23
- package/src/cli.ts +8 -12
- package/src/config/index.ts +271 -165
- package/src/core/annotation-parser.ts +112 -105
- package/src/core/discovery.ts +32 -0
- package/src/core/emit-call.ts +171 -0
- package/src/core/generator.ts +67 -263
- package/src/core/mapper.ts +125 -110
- package/src/index.ts +11 -68
- package/src/runtime/bounded-context.ts +2 -2
- package/src/runtime/{safe-codec.ts → bridge-codec.ts} +27 -27
- package/src/runtime/{http-io.ts → http-transport.ts} +5 -5
- package/src/runtime/http.ts +5 -5
- package/src/runtime/index.ts +23 -1
- package/src/runtime/node.ts +15 -15
- package/src/runtime/pooled-transport.ts +15 -15
- package/src/runtime/pyodide-bootstrap-core.generated.ts +1 -1
- package/src/runtime/{pyodide-io.ts → pyodide-transport.ts} +7 -7
- package/src/runtime/pyodide.ts +6 -6
- package/src/runtime/rpc-client.ts +12 -8
- package/src/runtime/{process-io.ts → subprocess-transport.ts} +8 -8
- package/src/runtime/{worker-pool.ts → transport-pool.ts} +26 -26
- package/src/runtime/transport.ts +15 -8
- package/src/types/index.ts +10 -1
- package/src/utils/cache.ts +2 -2
- package/src/utils/codec.ts +217 -196
- package/src/version.ts +12 -0
- package/dist/runtime/http-io.d.ts.map +0 -1
- package/dist/runtime/http-io.js.map +0 -1
- package/dist/runtime/optimized-node.d.ts +0 -23
- package/dist/runtime/optimized-node.d.ts.map +0 -1
- package/dist/runtime/optimized-node.js +0 -23
- package/dist/runtime/optimized-node.js.map +0 -1
- package/dist/runtime/process-io.d.ts.map +0 -1
- package/dist/runtime/process-io.js.map +0 -1
- package/dist/runtime/protocol.d.ts +0 -3
- package/dist/runtime/protocol.d.ts.map +0 -1
- package/dist/runtime/protocol.js +0 -3
- package/dist/runtime/protocol.js.map +0 -1
- package/dist/runtime/pyodide-io.d.ts.map +0 -1
- package/dist/runtime/pyodide-io.js.map +0 -1
- package/dist/runtime/safe-codec.d.ts.map +0 -1
- package/dist/runtime/safe-codec.js.map +0 -1
- package/dist/runtime/worker-pool.d.ts.map +0 -1
- package/dist/runtime/worker-pool.js.map +0 -1
- package/dist/utils/bundle-optimizer.d.ts +0 -182
- package/dist/utils/bundle-optimizer.d.ts.map +0 -1
- package/dist/utils/bundle-optimizer.js +0 -680
- package/dist/utils/bundle-optimizer.js.map +0 -1
- package/dist/utils/memory-profiler.d.ts +0 -123
- package/dist/utils/memory-profiler.d.ts.map +0 -1
- package/dist/utils/memory-profiler.js +0 -426
- package/dist/utils/memory-profiler.js.map +0 -1
- package/src/runtime/optimized-node.ts +0 -25
- package/src/runtime/protocol.ts +0 -2
- package/src/utils/bundle-optimizer.ts +0 -876
- package/src/utils/memory-profiler.ts +0 -582
package/dist/core/generator.js
CHANGED
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
* CodeGenerator - TypeScript wrapper generation
|
|
3
3
|
*/
|
|
4
4
|
import { globalCache } from '../utils/cache.js';
|
|
5
|
+
import { emitArgGuards, emitCallPrelude, } from './emit-call.js';
|
|
5
6
|
import { TypeMapper } from './mapper.js';
|
|
6
7
|
export class CodeGenerator {
|
|
7
8
|
mapper;
|
|
@@ -262,6 +263,13 @@ export class CodeGenerator {
|
|
|
262
263
|
})();
|
|
263
264
|
return `(${base} && (${keyCheck}))`;
|
|
264
265
|
}
|
|
266
|
+
/** Helpers passed to the shared call-emission module (they depend on `this`). */
|
|
267
|
+
callEmitHelpers() {
|
|
268
|
+
return {
|
|
269
|
+
escapeIdentifier: (name) => this.escapeIdentifier(name),
|
|
270
|
+
renderLooksLikeKwargsExpr: (valueExpr, options) => this.renderLooksLikeKwargsExpr(valueExpr, options),
|
|
271
|
+
};
|
|
272
|
+
}
|
|
265
273
|
generateFunctionWrapper(func, moduleName, annotatedJSDoc = false) {
|
|
266
274
|
const jsdoc = this.generateJsDoc(func.docstring, annotatedJSDoc ? func.parameters.map(p => String(p.type)) : undefined);
|
|
267
275
|
const filteredParams = func.parameters.filter(p => p.name !== 'self' && p.name !== 'cls');
|
|
@@ -386,79 +394,24 @@ export class CodeGenerator {
|
|
|
386
394
|
}
|
|
387
395
|
}
|
|
388
396
|
const overloadDecl = overloads.length > 0 ? `${overloads.join('\n')}\n` : '';
|
|
389
|
-
const guardLines = [];
|
|
390
|
-
if (hasKwArgs && positionalOnlyNames.length > 0) {
|
|
391
|
-
guardLines.push(` const __positionalOnly = ${JSON.stringify(positionalOnlyNames)} as const;`);
|
|
392
|
-
guardLines.push(` for (const key of __positionalOnly) {`);
|
|
393
|
-
guardLines.push(` if (__kwargs && Object.prototype.hasOwnProperty.call(__kwargs, key)) {`);
|
|
394
|
-
guardLines.push(` throw new Error(\`${func.name} does not accept positional-only argument "\${key}" as a keyword argument\`);`);
|
|
395
|
-
guardLines.push(` }`);
|
|
396
|
-
guardLines.push(` }`);
|
|
397
|
-
}
|
|
398
|
-
if (hasKwArgs && requiredKwOnlyNames.length > 0) {
|
|
399
|
-
guardLines.push(` const __requiredKwOnly = ${JSON.stringify(requiredKwOnlyNames)} as const;`);
|
|
400
|
-
guardLines.push(` const __missing: string[] = [];`);
|
|
401
|
-
guardLines.push(` for (const key of __requiredKwOnly) {`);
|
|
402
|
-
guardLines.push(` if (!__kwargs || !Object.prototype.hasOwnProperty.call(__kwargs, key)) {`);
|
|
403
|
-
guardLines.push(` __missing.push(key);`);
|
|
404
|
-
guardLines.push(` }`);
|
|
405
|
-
guardLines.push(` }`);
|
|
406
|
-
guardLines.push(` if (__missing.length > 0) {`);
|
|
407
|
-
guardLines.push(` throw new Error(\`Missing required keyword-only arguments for ${func.name}: \${__missing.join(', ')}\`);`);
|
|
408
|
-
guardLines.push(` }`);
|
|
409
|
-
}
|
|
410
|
-
const guards = guardLines.length > 0 ? `${guardLines.join('\n')}\n` : '';
|
|
411
397
|
const firstOptionalPosIndex = positionalParams.findIndex(p => p.optional);
|
|
412
398
|
const requiredPosCount = firstOptionalPosIndex >= 0 ? firstOptionalPosIndex : positionalParams.length;
|
|
413
|
-
const
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
});
|
|
430
|
-
callPreludeLines.push(` if (__kwargs === undefined && __args.length > ${requiredPosCount}) {`);
|
|
431
|
-
callPreludeLines.push(` const __candidate = __args[__args.length - 1];`);
|
|
432
|
-
callPreludeLines.push(` if (${looksLikeKwargs}) {`);
|
|
433
|
-
callPreludeLines.push(` __kwargs = __candidate as any;`);
|
|
434
|
-
callPreludeLines.push(` __args.pop();`);
|
|
435
|
-
callPreludeLines.push(` }`);
|
|
436
|
-
callPreludeLines.push(` }`);
|
|
437
|
-
}
|
|
438
|
-
if (varArgsParam) {
|
|
439
|
-
const vname = this.escapeIdentifier(varArgsParam.name);
|
|
440
|
-
if (needsVarArgsArray) {
|
|
441
|
-
const looksLikeKwargs = this.renderLooksLikeKwargsExpr(vname, {
|
|
442
|
-
keywordOnlyNames,
|
|
443
|
-
requiredKwOnlyNames,
|
|
444
|
-
hasVarKwArgs,
|
|
445
|
-
});
|
|
446
|
-
callPreludeLines.push(` let __varargs: unknown[] = [];`);
|
|
447
|
-
callPreludeLines.push(` if (${vname} !== undefined) {`);
|
|
448
|
-
callPreludeLines.push(` if (globalThis.Array.isArray(${vname})) {`);
|
|
449
|
-
callPreludeLines.push(` __varargs = ${vname};`);
|
|
450
|
-
callPreludeLines.push(` } else if (__kwargs === undefined && ${looksLikeKwargs}) {`);
|
|
451
|
-
callPreludeLines.push(` __kwargs = ${vname} as any;`);
|
|
452
|
-
callPreludeLines.push(` } else {`);
|
|
453
|
-
callPreludeLines.push(` throw new Error(\`${func.name} expected ${varArgsParam.name} to be an array\`);`);
|
|
454
|
-
callPreludeLines.push(` }`);
|
|
455
|
-
callPreludeLines.push(` }`);
|
|
456
|
-
callPreludeLines.push(` __args.push(...__varargs);`);
|
|
457
|
-
}
|
|
458
|
-
else {
|
|
459
|
-
callPreludeLines.push(` __args.push(...${vname});`);
|
|
460
|
-
}
|
|
461
|
-
}
|
|
399
|
+
const callDescriptor = {
|
|
400
|
+
positionalParams,
|
|
401
|
+
varArgsParam,
|
|
402
|
+
needsVarArgsArray,
|
|
403
|
+
hasKwArgs,
|
|
404
|
+
hasVarKwArgs,
|
|
405
|
+
keywordOnlyNames,
|
|
406
|
+
requiredKwOnlyNames,
|
|
407
|
+
positionalOnlyNames,
|
|
408
|
+
requiredPosCount,
|
|
409
|
+
indent: ' ',
|
|
410
|
+
errorLabel: func.name,
|
|
411
|
+
};
|
|
412
|
+
const guardLines = emitArgGuards(callDescriptor);
|
|
413
|
+
const guards = guardLines.length > 0 ? `${guardLines.join('\n')}\n` : '';
|
|
414
|
+
const callPreludeLines = emitCallPrelude(callDescriptor, this.callEmitHelpers());
|
|
462
415
|
const callPrelude = callPreludeLines.length > 0 ? `${callPreludeLines.join('\n')}\n` : '';
|
|
463
416
|
const ts = `${jsdoc}${overloadDecl}export async function ${fname}${typeParamDecl}(${paramDecl}): Promise<${returnType}> {
|
|
464
417
|
${callPrelude}${guards} return getRuntimeBridge().call('${moduleId}', '${func.name}', __args${hasKwArgs ? ', __kwargs' : ''});
|
|
@@ -605,77 +558,22 @@ ${callPrelude}${guards} return getRuntimeBridge().call('${moduleId}', '${func.n
|
|
|
605
558
|
}
|
|
606
559
|
}
|
|
607
560
|
const overloadDecl = overloads.length > 0 ? `${overloads.join('\n')}\n` : '';
|
|
608
|
-
const
|
|
609
|
-
|
|
610
|
-
|
|
611
|
-
|
|
612
|
-
|
|
613
|
-
|
|
614
|
-
|
|
615
|
-
|
|
616
|
-
|
|
617
|
-
|
|
618
|
-
|
|
619
|
-
|
|
620
|
-
|
|
621
|
-
|
|
622
|
-
requiredKwOnlyNames,
|
|
623
|
-
hasVarKwArgs,
|
|
624
|
-
});
|
|
625
|
-
callPreludeLines.push(` if (__kwargs === undefined && __args.length > ${requiredPosCount}) {`);
|
|
626
|
-
callPreludeLines.push(` const __candidate = __args[__args.length - 1];`);
|
|
627
|
-
callPreludeLines.push(` if (${looksLikeKwargs}) {`);
|
|
628
|
-
callPreludeLines.push(` __kwargs = __candidate as any;`);
|
|
629
|
-
callPreludeLines.push(` __args.pop();`);
|
|
630
|
-
callPreludeLines.push(` }`);
|
|
631
|
-
callPreludeLines.push(` }`);
|
|
632
|
-
}
|
|
633
|
-
if (varArgsParam) {
|
|
634
|
-
const vname = this.escapeIdentifier(varArgsParam.name);
|
|
635
|
-
if (needsVarArgsArray) {
|
|
636
|
-
const looksLikeKwargs = this.renderLooksLikeKwargsExpr(vname, {
|
|
637
|
-
keywordOnlyNames,
|
|
638
|
-
requiredKwOnlyNames,
|
|
639
|
-
hasVarKwArgs,
|
|
640
|
-
});
|
|
641
|
-
callPreludeLines.push(` let __varargs: unknown[] = [];`);
|
|
642
|
-
callPreludeLines.push(` if (${vname} !== undefined) {`);
|
|
643
|
-
callPreludeLines.push(` if (globalThis.Array.isArray(${vname})) {`);
|
|
644
|
-
callPreludeLines.push(` __varargs = ${vname};`);
|
|
645
|
-
callPreludeLines.push(` } else if (__kwargs === undefined && ${looksLikeKwargs}) {`);
|
|
646
|
-
callPreludeLines.push(` __kwargs = ${vname} as any;`);
|
|
647
|
-
callPreludeLines.push(` } else {`);
|
|
648
|
-
callPreludeLines.push(` throw new Error(\`${method.name} expected ${varArgsParam.name} to be an array\`);`);
|
|
649
|
-
callPreludeLines.push(` }`);
|
|
650
|
-
callPreludeLines.push(` }`);
|
|
651
|
-
callPreludeLines.push(` __args.push(...__varargs);`);
|
|
652
|
-
}
|
|
653
|
-
else {
|
|
654
|
-
callPreludeLines.push(` __args.push(...${vname});`);
|
|
655
|
-
}
|
|
656
|
-
}
|
|
561
|
+
const callDescriptor = {
|
|
562
|
+
positionalParams,
|
|
563
|
+
varArgsParam,
|
|
564
|
+
needsVarArgsArray,
|
|
565
|
+
hasKwArgs: needsKwargsParam,
|
|
566
|
+
hasVarKwArgs,
|
|
567
|
+
keywordOnlyNames,
|
|
568
|
+
requiredKwOnlyNames,
|
|
569
|
+
positionalOnlyNames,
|
|
570
|
+
requiredPosCount,
|
|
571
|
+
indent: ' ',
|
|
572
|
+
errorLabel: method.name,
|
|
573
|
+
};
|
|
574
|
+
const callPreludeLines = emitCallPrelude(callDescriptor, this.callEmitHelpers());
|
|
657
575
|
const callPrelude = callPreludeLines.length > 0 ? `${callPreludeLines.join('\n')}\n` : '';
|
|
658
|
-
const guardLines =
|
|
659
|
-
if (needsKwargsParam && positionalOnlyNames.length > 0) {
|
|
660
|
-
guardLines.push(` const __positionalOnly = ${JSON.stringify(positionalOnlyNames)} as const;`);
|
|
661
|
-
guardLines.push(` for (const key of __positionalOnly) {`);
|
|
662
|
-
guardLines.push(` if (__kwargs && Object.prototype.hasOwnProperty.call(__kwargs, key)) {`);
|
|
663
|
-
guardLines.push(` throw new Error(\`${method.name} does not accept positional-only argument "\${key}" as a keyword argument\`);`);
|
|
664
|
-
guardLines.push(` }`);
|
|
665
|
-
guardLines.push(` }`);
|
|
666
|
-
}
|
|
667
|
-
if (needsKwargsParam && requiredKwOnlyNames.length > 0) {
|
|
668
|
-
guardLines.push(` const __requiredKwOnly = ${JSON.stringify(requiredKwOnlyNames)} as const;`);
|
|
669
|
-
guardLines.push(` const __missing: string[] = [];`);
|
|
670
|
-
guardLines.push(` for (const key of __requiredKwOnly) {`);
|
|
671
|
-
guardLines.push(` if (!__kwargs || !Object.prototype.hasOwnProperty.call(__kwargs, key)) {`);
|
|
672
|
-
guardLines.push(` __missing.push(key);`);
|
|
673
|
-
guardLines.push(` }`);
|
|
674
|
-
guardLines.push(` }`);
|
|
675
|
-
guardLines.push(` if (__missing.length > 0) {`);
|
|
676
|
-
guardLines.push(` throw new Error(\`Missing required keyword-only arguments for ${method.name}: \${__missing.join(', ')}\`);`);
|
|
677
|
-
guardLines.push(` }`);
|
|
678
|
-
}
|
|
576
|
+
const guardLines = emitArgGuards(callDescriptor);
|
|
679
577
|
const guards = guardLines.length > 0 ? `${guardLines.join('\n')}\n` : '';
|
|
680
578
|
methodBodies.push(`${overloadDecl} async ${mname}${methodTypeParamDecl}(${paramsDecl}): Promise<${returnType}> {
|
|
681
579
|
${callPrelude}${guards} return getRuntimeBridge().callMethod(this.__handle, '${method.name}', __args${needsKwargsParam ? ', __kwargs' : ''});
|
|
@@ -758,77 +656,22 @@ ${callPrelude}${guards} return getRuntimeBridge().callMethod(this.__handle, '
|
|
|
758
656
|
const declaration = overloads.length > 0
|
|
759
657
|
? overloadDecl
|
|
760
658
|
: ` static create${classTypeParamDecl}(${paramsDecl}): Promise<${classSelfType}>;\n`;
|
|
761
|
-
const
|
|
762
|
-
|
|
763
|
-
|
|
764
|
-
|
|
765
|
-
|
|
766
|
-
|
|
767
|
-
|
|
768
|
-
|
|
769
|
-
|
|
770
|
-
|
|
771
|
-
|
|
772
|
-
|
|
773
|
-
|
|
774
|
-
|
|
775
|
-
keywordOnlyNames,
|
|
776
|
-
requiredKwOnlyNames,
|
|
777
|
-
hasVarKwArgs,
|
|
778
|
-
});
|
|
779
|
-
callPreludeLines.push(` if (__kwargs === undefined && __args.length > ${requiredPosCount}) {`);
|
|
780
|
-
callPreludeLines.push(` const __candidate = __args[__args.length - 1];`);
|
|
781
|
-
callPreludeLines.push(` if (${looksLikeKwargs}) {`);
|
|
782
|
-
callPreludeLines.push(` __kwargs = __candidate as any;`);
|
|
783
|
-
callPreludeLines.push(` __args.pop();`);
|
|
784
|
-
callPreludeLines.push(` }`);
|
|
785
|
-
callPreludeLines.push(` }`);
|
|
786
|
-
}
|
|
787
|
-
if (varArgsParam) {
|
|
788
|
-
const vname = this.escapeIdentifier(varArgsParam.name);
|
|
789
|
-
if (needsVarArgsArray) {
|
|
790
|
-
const looksLikeKwargs = this.renderLooksLikeKwargsExpr(vname, {
|
|
791
|
-
keywordOnlyNames,
|
|
792
|
-
requiredKwOnlyNames,
|
|
793
|
-
hasVarKwArgs,
|
|
794
|
-
});
|
|
795
|
-
callPreludeLines.push(` let __varargs: unknown[] = [];`);
|
|
796
|
-
callPreludeLines.push(` if (${vname} !== undefined) {`);
|
|
797
|
-
callPreludeLines.push(` if (globalThis.Array.isArray(${vname})) {`);
|
|
798
|
-
callPreludeLines.push(` __varargs = ${vname};`);
|
|
799
|
-
callPreludeLines.push(` } else if (__kwargs === undefined && ${looksLikeKwargs}) {`);
|
|
800
|
-
callPreludeLines.push(` __kwargs = ${vname} as any;`);
|
|
801
|
-
callPreludeLines.push(` } else {`);
|
|
802
|
-
callPreludeLines.push(` throw new Error(\`__init__ expected ${varArgsParam.name} to be an array\`);`);
|
|
803
|
-
callPreludeLines.push(` }`);
|
|
804
|
-
callPreludeLines.push(` }`);
|
|
805
|
-
callPreludeLines.push(` __args.push(...__varargs);`);
|
|
806
|
-
}
|
|
807
|
-
else {
|
|
808
|
-
callPreludeLines.push(` __args.push(...${vname});`);
|
|
809
|
-
}
|
|
810
|
-
}
|
|
659
|
+
const callDescriptor = {
|
|
660
|
+
positionalParams,
|
|
661
|
+
varArgsParam,
|
|
662
|
+
needsVarArgsArray,
|
|
663
|
+
hasKwArgs: needsKwargsParam,
|
|
664
|
+
hasVarKwArgs,
|
|
665
|
+
keywordOnlyNames,
|
|
666
|
+
requiredKwOnlyNames,
|
|
667
|
+
positionalOnlyNames,
|
|
668
|
+
requiredPosCount,
|
|
669
|
+
indent: ' ',
|
|
670
|
+
errorLabel: '__init__',
|
|
671
|
+
};
|
|
672
|
+
const callPreludeLines = emitCallPrelude(callDescriptor, this.callEmitHelpers());
|
|
811
673
|
const callPrelude = callPreludeLines.length > 0 ? `${callPreludeLines.join('\n')}\n` : '';
|
|
812
|
-
|
|
813
|
-
guardLines.push(` const __positionalOnly = ${JSON.stringify(positionalOnlyNames)} as const;`);
|
|
814
|
-
guardLines.push(` for (const key of __positionalOnly) {`);
|
|
815
|
-
guardLines.push(` if (__kwargs && Object.prototype.hasOwnProperty.call(__kwargs, key)) {`);
|
|
816
|
-
guardLines.push(` throw new Error(\`__init__ does not accept positional-only argument "\${key}" as a keyword argument\`);`);
|
|
817
|
-
guardLines.push(` }`);
|
|
818
|
-
guardLines.push(` }`);
|
|
819
|
-
}
|
|
820
|
-
if (needsKwargsParam && requiredKwOnlyNames.length > 0) {
|
|
821
|
-
guardLines.push(` const __requiredKwOnly = ${JSON.stringify(requiredKwOnlyNames)} as const;`);
|
|
822
|
-
guardLines.push(` const __missing: string[] = [];`);
|
|
823
|
-
guardLines.push(` for (const key of __requiredKwOnly) {`);
|
|
824
|
-
guardLines.push(` if (!__kwargs || !Object.prototype.hasOwnProperty.call(__kwargs, key)) {`);
|
|
825
|
-
guardLines.push(` __missing.push(key);`);
|
|
826
|
-
guardLines.push(` }`);
|
|
827
|
-
guardLines.push(` }`);
|
|
828
|
-
guardLines.push(` if (__missing.length > 0) {`);
|
|
829
|
-
guardLines.push(` throw new Error(\`Missing required keyword-only arguments for __init__: \${__missing.join(', ')}\`);`);
|
|
830
|
-
guardLines.push(` }`);
|
|
831
|
-
}
|
|
674
|
+
const guardLines = emitArgGuards(callDescriptor);
|
|
832
675
|
return {
|
|
833
676
|
overloadDecl,
|
|
834
677
|
declaration,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generator.js","sourceRoot":"","sources":["../../src/core/generator.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"generator.js","sourceRoot":"","sources":["../../src/core/generator.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mapper.d.ts","sourceRoot":"","sources":["../../src/core/mapper.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EACV,UAAU,EACV,aAAa,IAAI,eAAe,EAChC,cAAc,IAAI,gBAAgB,EAClC,SAAS,IAAI,WAAW,EACxB,YAAY,IAAI,cAAc,EAC9B,WAAW,IAAI,aAAa,EAC5B,YAAY,IAAI,cAAc,EAC9B,WAAW,IAAI,aAAa,EAC5B,aAAa,IAAI,eAAe,EAChC,iBAAiB,IAAI,mBAAmB,EAExC,gBAAgB,IAAI,kBAAkB,EACtC,UAAU,IAAI,YAAY,EAC1B,SAAS,IAAI,WAAW,EACxB,YAAY,IAAI,cAAc,EAC9B,cAAc,EACd,eAAe,EACf,WAAW,EACX,WAAW,EACX,YAAY,EACZ,WAAW,EACX,cAAc,EACd,aAAa,EACb,YAAY,EAEZ,aAAa,EACb,UAAU,EACX,MAAM,mBAAmB,CAAC;AAE3B,MAAM,MAAM,cAAc,GAAG,OAAO,GAAG,QAAQ,CAAC;AAEhD,MAAM,WAAW,iBAAiB;IAChC,OAAO,CAAC,EAAE,SAAS,UAAU,EAAE,CAAC;CACjC;AAED,qBAAa,UAAU;IACrB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAkB;gBAE9B,OAAO,GAAE,iBAAsB;IAI3C,aAAa,CAAC,UAAU,EAAE,UAAU,EAAE,OAAO,GAAE,cAAwB,GAAG,cAAc;IAwCxF,gBAAgB,CAAC,IAAI,EAAE,eAAe,EAAE,OAAO,GAAE,cAAwB,GAAG,eAAe;IAkB3F,iBAAiB,CACf,IAAI,EAAE,gBAAgB,GACrB,WAAW,GAAG,WAAW,GAAG,YAAY,GAAG,aAAa;IA0E3D,YAAY,CAAC,IAAI,EAAE,WAAW,EAAE,OAAO,GAAE,cAAwB,GAAG,WAAW;IAO/E,eAAe,CAAC,IAAI,EAAE,cAAc,EAAE,OAAO,GAAE,cAAwB,GAAG,WAAW;IAQrF,cAAc,CAAC,IAAI,EAAE,aAAa,EAAE,OAAO,GAAE,cAAwB,GAAG,cAAc;IActF,aAAa,CACX,IAAI,EAAE;QAAE,IAAI,EAAE,QAAQ,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,EACvD,QAAQ,GAAE,cAAwB,GACjC,cAAc;IAsEjB,eAAe,CAAC,IAAI,EAAE,cAAc,GAAG,cAAc;IAsCrD,cAAc,CAAC,IAAI,EAAE;QACnB,IAAI,EAAE,SAAS,CAAC;QAChB,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,CAAC;KACzC,GAAG,aAAa;IAIjB,cAAc,CAAC,IAAI,EAAE,aAAa,EAAE,QAAQ,GAAE,cAAwB,GAAG,YAAY;IASrF,gBAAgB,CAAC,IAAI,EAAE,eAAe,GAAG,YAAY;IAQrD,oBAAoB,CAAC,KAAK,EAAE,mBAAmB,GAAG,WAAW;IAO7D,sBAAsB,IAAI,YAAY;IAWtC,mBAAmB,CAAC,KAAK,EAAE,kBAAkB,GAAG,eAAe;IAI/D,aAAa,CAAC,KAAK,EAAE,YAAY,EAAE,QAAQ,GAAE,cAAwB,GAAG,eAAe;IAIvF,YAAY,CAAC,IAAI,EAAE,WAAW,EAAE,OAAO,GAAE,cAAwB,GAAG,cAAc;IAMlF,eAAe,CAAC,IAAI,EAAE,cAAc,EAAE,OAAO,GAAE,cAAwB,GAAG,cAAc;IAMxF,OAAO,CAAC,mBAAmB;IAoD3B,OAAO,CAAC,cAAc;IAOtB,OAAO,CAAC,SAAS;IAIjB,OAAO,CAAC,mBAAmB;IA+B3B,OAAO,CAAC,aAAa;
|
|
1
|
+
{"version":3,"file":"mapper.d.ts","sourceRoot":"","sources":["../../src/core/mapper.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EACV,UAAU,EACV,aAAa,IAAI,eAAe,EAChC,cAAc,IAAI,gBAAgB,EAClC,SAAS,IAAI,WAAW,EACxB,YAAY,IAAI,cAAc,EAC9B,WAAW,IAAI,aAAa,EAC5B,YAAY,IAAI,cAAc,EAC9B,WAAW,IAAI,aAAa,EAC5B,aAAa,IAAI,eAAe,EAChC,iBAAiB,IAAI,mBAAmB,EAExC,gBAAgB,IAAI,kBAAkB,EACtC,UAAU,IAAI,YAAY,EAC1B,SAAS,IAAI,WAAW,EACxB,YAAY,IAAI,cAAc,EAC9B,cAAc,EACd,eAAe,EACf,WAAW,EACX,WAAW,EACX,YAAY,EACZ,WAAW,EACX,cAAc,EACd,aAAa,EACb,YAAY,EAEZ,aAAa,EACb,UAAU,EACX,MAAM,mBAAmB,CAAC;AAE3B,MAAM,MAAM,cAAc,GAAG,OAAO,GAAG,QAAQ,CAAC;AAEhD,MAAM,WAAW,iBAAiB;IAChC,OAAO,CAAC,EAAE,SAAS,UAAU,EAAE,CAAC;CACjC;AAED,qBAAa,UAAU;IACrB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAkB;gBAE9B,OAAO,GAAE,iBAAsB;IAI3C,aAAa,CAAC,UAAU,EAAE,UAAU,EAAE,OAAO,GAAE,cAAwB,GAAG,cAAc;IAwCxF,gBAAgB,CAAC,IAAI,EAAE,eAAe,EAAE,OAAO,GAAE,cAAwB,GAAG,eAAe;IAkB3F,iBAAiB,CACf,IAAI,EAAE,gBAAgB,GACrB,WAAW,GAAG,WAAW,GAAG,YAAY,GAAG,aAAa;IA0E3D,YAAY,CAAC,IAAI,EAAE,WAAW,EAAE,OAAO,GAAE,cAAwB,GAAG,WAAW;IAO/E,eAAe,CAAC,IAAI,EAAE,cAAc,EAAE,OAAO,GAAE,cAAwB,GAAG,WAAW;IAQrF,cAAc,CAAC,IAAI,EAAE,aAAa,EAAE,OAAO,GAAE,cAAwB,GAAG,cAAc;IActF,aAAa,CACX,IAAI,EAAE;QAAE,IAAI,EAAE,QAAQ,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,EACvD,QAAQ,GAAE,cAAwB,GACjC,cAAc;IAsEjB,eAAe,CAAC,IAAI,EAAE,cAAc,GAAG,cAAc;IAsCrD,cAAc,CAAC,IAAI,EAAE;QACnB,IAAI,EAAE,SAAS,CAAC;QAChB,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,CAAC;KACzC,GAAG,aAAa;IAIjB,cAAc,CAAC,IAAI,EAAE,aAAa,EAAE,QAAQ,GAAE,cAAwB,GAAG,YAAY;IASrF,gBAAgB,CAAC,IAAI,EAAE,eAAe,GAAG,YAAY;IAQrD,oBAAoB,CAAC,KAAK,EAAE,mBAAmB,GAAG,WAAW;IAO7D,sBAAsB,IAAI,YAAY;IAWtC,mBAAmB,CAAC,KAAK,EAAE,kBAAkB,GAAG,eAAe;IAI/D,aAAa,CAAC,KAAK,EAAE,YAAY,EAAE,QAAQ,GAAE,cAAwB,GAAG,eAAe;IAIvF,YAAY,CAAC,IAAI,EAAE,WAAW,EAAE,OAAO,GAAE,cAAwB,GAAG,cAAc;IAMlF,eAAe,CAAC,IAAI,EAAE,cAAc,EAAE,OAAO,GAAE,cAAwB,GAAG,cAAc;IAMxF,OAAO,CAAC,mBAAmB;IAoD3B,OAAO,CAAC,cAAc;IAOtB,OAAO,CAAC,SAAS;IAIjB,OAAO,CAAC,mBAAmB;IA+B3B,OAAO,CAAC,aAAa;CAiKtB"}
|