@aws-amplify/cli-internal
Version:
Amplify CLI
33 lines • 1.74 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.ReferenceAuthRenderer = void 0;
const typescript_1 = __importDefault(require("typescript"));
const ts_1 = require("../../ts");
const factory = typescript_1.default.factory;
class ReferenceAuthRenderer {
render(refAuth) {
const namedImports = { '@aws-amplify/backend': new Set(['referenceAuth']) };
const properties = [];
const stringProps = ['userPoolId', 'identityPoolId', 'authRoleArn', 'unauthRoleArn', 'userPoolClientId'];
for (const prop of stringProps) {
const value = refAuth[prop];
if (value) {
properties.push(factory.createPropertyAssignment(factory.createIdentifier(prop), factory.createStringLiteral(value)));
}
}
if (refAuth.groups) {
properties.push(factory.createPropertyAssignment(factory.createIdentifier('groups'), factory.createObjectLiteralExpression(Object.entries(refAuth.groups).map(([key, value]) => factory.createPropertyAssignment(factory.createStringLiteral(key), factory.createStringLiteral(value))), true)));
}
return ts_1.TS.renderResourceTsFile({
exportedVariableName: factory.createIdentifier('auth'),
functionCallParameter: factory.createObjectLiteralExpression(properties, true),
additionalImportedBackendIdentifiers: namedImports,
backendFunctionConstruct: 'referenceAuth',
});
}
}
exports.ReferenceAuthRenderer = ReferenceAuthRenderer;
//# sourceMappingURL=reference-auth.renderer.js.map