lzo-prop-string
Version:
Accesses the object's properties via string.
4 lines (3 loc) • 6.33 kB
JavaScript
;var O=Object.create;var f=Object.defineProperty;var j=Object.getOwnPropertyDescriptor;var $=Object.getOwnPropertyNames;var x=Object.getPrototypeOf,I=Object.prototype.hasOwnProperty;var E=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),R=(e,t)=>{for(var n in t)f(e,n,{get:t[n],enumerable:!0})},y=(e,t,n,s)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of $(t))!I.call(e,o)&&o!==n&&f(e,o,{get:()=>t[o],enumerable:!(s=j(t,o))||s.enumerable});return e};var K=(e,t,n)=>(n=e!=null?O(x(e)):{},y(t||!e||!e.__esModule?f(n,"default",{value:e,enumerable:!0}):n,e)),Y=e=>y(f({},"__esModule",{value:!0}),e);var _=E((te,A)=>{A.exports={name:"dotenv",version:"16.3.1",description:"Loads environment variables from .env file",main:"lib/main.js",types:"lib/main.d.ts",exports:{".":{types:"./lib/main.d.ts",require:"./lib/main.js",default:"./lib/main.js"},"./config":"./config.js","./config.js":"./config.js","./lib/env-options":"./lib/env-options.js","./lib/env-options.js":"./lib/env-options.js","./lib/cli-options":"./lib/cli-options.js","./lib/cli-options.js":"./lib/cli-options.js","./package.json":"./package.json"},scripts:{"dts-check":"tsc --project tests/types/tsconfig.json",lint:"standard","lint-readme":"standard-markdown",pretest:"npm run lint && npm run dts-check",test:"tap tests/*.js --100 -Rspec",prerelease:"npm test",release:"standard-version"},repository:{type:"git",url:"git://github.com/motdotla/dotenv.git"},funding:"https://github.com/motdotla/dotenv?sponsor=1",keywords:["dotenv","env",".env","environment","variables","config","settings"],readmeFilename:"README.md",license:"BSD-2-Clause",devDependencies:{"@definitelytyped/dtslint":"^0.0.133","@types/node":"^18.11.3",decache:"^4.6.1",sinon:"^14.0.1",standard:"^17.0.0","standard-markdown":"^7.1.0","standard-version":"^9.5.0",tap:"^16.3.0",tar:"^6.1.11",typescript:"^4.8.4"},engines:{node:">=12"},browser:{fs:!1}}});var N=E((ne,l)=>{"use strict";var b=require("fs"),g=require("path"),L=require("os"),P=require("crypto"),S=_(),v=S.version,B=/(?:^|^)\s*(?:export\s+)?([\w.-]+)(?:\s*=\s*?|:\s+?)(\s*'(?:\\'|[^'])*'|\s*"(?:\\"|[^"])*"|\s*`(?:\\`|[^`])*`|[^#\r\n]+)?\s*(?:#.*)?(?:$|$)/mg;function U(e){let t={},n=e.toString();n=n.replace(/\r\n?/mg,`
`);let s;for(;(s=B.exec(n))!=null;){let o=s[1],r=s[2]||"";r=r.trim();let i=r[0];r=r.replace(/^(['"`])([\s\S]*)\1$/mg,"$2"),i==='"'&&(r=r.replace(/\\n/g,`
`),r=r.replace(/\\r/g,"\r")),t[o]=r}return t}function F(e){let t=w(e),n=a.configDotenv({path:t});if(!n.parsed)throw new Error(`MISSING_DATA: Cannot parse ${t} for an unknown reason`);let s=D(e).split(","),o=s.length,r;for(let i=0;i<o;i++)try{let c=s[i].trim(),u=C(n,c);r=a.decrypt(u.ciphertext,u.key);break}catch(c){if(i+1>=o)throw c}return a.parse(r)}function M(e){console.log(`[dotenv@${v}][INFO] ${e}`)}function q(e){console.log(`[dotenv@${v}][WARN] ${e}`)}function p(e){console.log(`[dotenv@${v}][DEBUG] ${e}`)}function D(e){return e&&e.DOTENV_KEY&&e.DOTENV_KEY.length>0?e.DOTENV_KEY:process.env.DOTENV_KEY&&process.env.DOTENV_KEY.length>0?process.env.DOTENV_KEY:""}function C(e,t){let n;try{n=new URL(t)}catch(c){throw c.code==="ERR_INVALID_URL"?new Error("INVALID_DOTENV_KEY: Wrong format. Must be in valid uri format like dotenv://:key_1234@dotenv.org/vault/.env.vault?environment=development"):c}let s=n.password;if(!s)throw new Error("INVALID_DOTENV_KEY: Missing key part");let o=n.searchParams.get("environment");if(!o)throw new Error("INVALID_DOTENV_KEY: Missing environment part");let r=`DOTENV_VAULT_${o.toUpperCase()}`,i=e.parsed[r];if(!i)throw new Error(`NOT_FOUND_DOTENV_ENVIRONMENT: Cannot locate environment ${r} in your .env.vault file.`);return{ciphertext:i,key:s}}function w(e){let t=g.resolve(process.cwd(),".env");return e&&e.path&&e.path.length>0&&(t=e.path),t.endsWith(".vault")?t:`${t}.vault`}function W(e){return e[0]==="~"?g.join(L.homedir(),e.slice(1)):e}function G(e){M("Loading env from encrypted .env.vault");let t=a._parseVault(e),n=process.env;return e&&e.processEnv!=null&&(n=e.processEnv),a.populate(n,t,e),{parsed:t}}function J(e){let t=g.resolve(process.cwd(),".env"),n="utf8",s=!!(e&&e.debug);e&&(e.path!=null&&(t=W(e.path)),e.encoding!=null&&(n=e.encoding));try{let o=a.parse(b.readFileSync(t,{encoding:n})),r=process.env;return e&&e.processEnv!=null&&(r=e.processEnv),a.populate(r,o,e),{parsed:o}}catch(o){return s&&p(`Failed to load ${t} ${o.message}`),{error:o}}}function Q(e){let t=w(e);return D(e).length===0?a.configDotenv(e):b.existsSync(t)?a._configVault(e):(q(`You set DOTENV_KEY but you are missing a .env.vault file at ${t}. Did you forget to build it?`),a.configDotenv(e))}function H(e,t){let n=Buffer.from(t.slice(-64),"hex"),s=Buffer.from(e,"base64"),o=s.slice(0,12),r=s.slice(-16);s=s.slice(12,-16);try{let i=P.createDecipheriv("aes-256-gcm",n,o);return i.setAuthTag(r),`${i.update(s)}${i.final()}`}catch(i){let c=i instanceof RangeError,u=i.message==="Invalid key length",T=i.message==="Unsupported state or unable to authenticate data";if(c||u){let d="INVALID_DOTENV_KEY: It must be 64 characters long (or more)";throw new Error(d)}else if(T){let d="DECRYPTION_FAILED: Please check your DOTENV_KEY";throw new Error(d)}else throw console.error("Error: ",i.code),console.error("Error: ",i.message),i}}function z(e,t,n={}){let s=!!(n&&n.debug),o=!!(n&&n.override);if(typeof t!="object")throw new Error("OBJECT_REQUIRED: Please check the processEnv argument being passed to populate");for(let r of Object.keys(t))Object.prototype.hasOwnProperty.call(e,r)?(o===!0&&(e[r]=t[r]),s&&p(o===!0?`"${r}" is already defined and WAS overwritten`:`"${r}" is already defined and was NOT overwritten`)):e[r]=t[r]}var a={configDotenv:J,_configVault:G,_parseVault:F,config:Q,decrypt:H,parse:U,populate:z};l.exports.configDotenv=a.configDotenv;l.exports._configVault=a._configVault;l.exports._parseVault=a._parseVault;l.exports.config=a.config;l.exports.decrypt=a.decrypt;l.exports.parse=a.parse;l.exports.populate=a.populate;l.exports=a});var Z={};R(Z,{PropString:()=>k});module.exports=Y(Z);var V=K(N());var m=class{execute(t,n,s){if(t===""||typeof t!="string")return null;let o,r;for(let[i,c]of t.split(".").entries())if(i===0)o=n[c];else{if(!o[c]){r=`Prop "${c}" not found in object."`;break}o=o[c]}return r?null:(s&&(o=s),s||o)}},h=m;(0,V.config)();var X=new h,k=X;0&&(module.exports={PropString});