我正在测试 AWS AppSync JS 解析器,我目前正在 TS 中构建它们。为了能够使用它们,我将每个 TS 文件转换为一个 JS 文件,以便能够将它们用作 AWS AppSync 中的 JS 解析器,并且可以正常工作。但我也想将每个本地导入转换为包含在输出 JS 文件中。
getUser.ts
import { util, Context } from '@aws-appsync/utils';
import { dynamoDBGetItemRequest } from './utils';
export function request(ctx: Context) {
if (!ctx.identity || !('sub' in ctx.identity)) {
return util.unauthorized();
}
return dynamoDBGetItemRequest({ id: ctx.identity.sub });
}
export function response(ctx: Context) {
return ctx.result;
}
当前转换为 getUser.js
import { util } from '@aws-appsync/utils';
import { dynamoDBGetItemRequest } from './utils';
export function request(ctx) {
if (!ctx.identity || !('sub' in ctx.identity)) {
return util.unauthorized();
}
return dynamoDBGetItemRequest({ id: ctx.identity.sub });
}
export function response(ctx) {
return ctx.result;
}
这里的问题是我需要在js文件中捆绑
dynamoDBGetItemRequest
期望的结果:getUser.js
import { util } from '@aws-appsync/utils';
const dynamoDBGetItemRequest = (key) => {
return {
operation: 'GetItem',
key: util.dynamodb.toMapValues(key),
};
};
export function request(ctx) {
if (!ctx.identity || !('sub' in ctx.identity)) {
return util.unauthorized();
}
return dynamoDBGetItemRequest({ id: ctx.identity.sub });
}
export function response(ctx) {
return ctx.result;
}
我如何使用
tsc
实现这种捆绑?
附加说明/上下文:
request
函数和一个 response
函数。appsync.Code.fromAsset('dist/appsync-resolver/some-folder/getUser.js')),
在 AppSync 函数中