UNPKG

open-next-cdk

Version:

Deploy a NextJS app using OpenNext packaging to serverless AWS using CDK

28 lines (27 loc) 1.04 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.build = exports.parse = exports.validate = void 0; const validate = (str) => typeof str === "string" && str.indexOf("arn:") === 0 && str.split(":").length >= 6; exports.validate = validate; const parse = (arn) => { const segments = arn.split(":"); if (segments.length < 6 || segments[0] !== "arn") throw new Error("Malformed ARN"); const [, partition, service, region, accountId, ...resource] = segments; return { partition, service, region, accountId, resource: resource.join(":"), }; }; exports.parse = parse; const build = (arnObject) => { const { partition = "aws", service, region, accountId, resource } = arnObject; if ([service, region, accountId, resource].some((segment) => typeof segment !== "string")) { throw new Error("Input ARN object is invalid"); } return `arn:${partition}:${service}:${region}:${accountId}:${resource}`; }; exports.build = build;