UNPKG

astro-i18n-aut

Version:
2 lines 3.42 kB
"use strict";var __create=Object.create;var __defProp=Object.defineProperty;var __getOwnPropDesc=Object.getOwnPropertyDescriptor;var __getOwnPropNames=Object.getOwnPropertyNames;var __getProtoOf=Object.getPrototypeOf,__hasOwnProp=Object.prototype.hasOwnProperty;var __name=(target,value)=>__defProp(target,"name",{value,configurable:!0});var __export=(target,all)=>{for(var name in all)__defProp(target,name,{get:all[name],enumerable:!0})},__copyProps=(to,from,except,desc)=>{if(from&&typeof from=="object"||typeof from=="function")for(let key of __getOwnPropNames(from))!__hasOwnProp.call(to,key)&&key!==except&&__defProp(to,key,{get:()=>from[key],enumerable:!(desc=__getOwnPropDesc(from,key))||desc.enumerable});return to};var __toESM=(mod,isNodeMode,target)=>(target=mod!=null?__create(__getProtoOf(mod)):{},__copyProps(isNodeMode||!mod||!mod.__esModule?__defProp(target,"default",{value:mod,enumerable:!0}):target,mod)),__toCommonJS=mod=>__copyProps(__defProp({},"__esModule",{value:!0}),mod);var middleware_exports={};__export(middleware_exports,{onRequest:()=>onRequest});module.exports=__toCommonJS(middleware_exports);var import_middleware=require("astro/middleware");var import_virtual_astro_i18n_aut=__toESM(require("virtual:astro-i18n-aut"),1),trailingSlash=import_virtual_astro_i18n_aut.default.trailingSlash,BASE_URL=import_virtual_astro_i18n_aut.default.BASE_URL?import_virtual_astro_i18n_aut.default.BASE_URL:"/",defaultLocale=import_virtual_astro_i18n_aut.default.defaultLocale,locales=import_virtual_astro_i18n_aut.default.locales,localeKeys=Object.keys(import_virtual_astro_i18n_aut.default.locales),redirectDefaultLocale=import_virtual_astro_i18n_aut.default.redirectDefaultLocale,build=import_virtual_astro_i18n_aut.default.build;function removeTrailingSlash(url){return url.at(-1)==="/"?url.slice(0,-1):url}__name(removeTrailingSlash,"removeTrailingSlash");function resolveTrailingSlash(url){let pathName=typeof url=="string"?url:url.pathname;return trailingSlash==="always"?pathName.at(-1)!=="/"&&(pathName=pathName+"/"):trailingSlash==="never"&&pathName!=="/"&&pathName.at(-1)==="/"&&(pathName=pathName.slice(0,-1)),pathName}__name(resolveTrailingSlash,"resolveTrailingSlash");function removeHtmlExtension(url){return url.endsWith(".html")?url.slice(0,-5):url}__name(removeHtmlExtension,"removeHtmlExtension");var i18nMiddleware=(0,import_middleware.defineMiddleware)((context,next)=>{if(redirectDefaultLocale===!1)return next();let status;typeof redirectDefaultLocale=="number"&&(status=redirectDefaultLocale);let{pathname:pathName,search}=new URL(context.request.url),pathNameWithoutHtmlExtension=removeHtmlExtension(pathName),baseUrlWithoutTrailingSlash=removeTrailingSlash(BASE_URL),pathNameWithoutBaseUrl=BASE_URL==="/"?pathNameWithoutHtmlExtension:pathNameWithoutHtmlExtension.replace(baseUrlWithoutTrailingSlash,""),pathNameWithoutBaseUrlStartsWithDefaultLocale=pathNameWithoutBaseUrl.slice(1,3)===defaultLocale;return pathNameWithoutBaseUrl.length===3&&pathNameWithoutBaseUrlStartsWithDefaultLocale?context.redirect(resolveTrailingSlash(BASE_URL)+search,status):pathNameWithoutBaseUrl[0]==="/"&&pathNameWithoutBaseUrl[3]==="/"&&pathNameWithoutBaseUrlStartsWithDefaultLocale?context.redirect(resolveTrailingSlash(baseUrlWithoutTrailingSlash+pathNameWithoutBaseUrl.slice(3))+search,status):next()});var onRequest=i18nMiddleware;0&&(module.exports={onRequest}); //# sourceMappingURL=index.cjs.map