MCPcopy Create free account
hub / github.com/Moddable-OpenSource/moddable / extractOne

Method extractOne

tools/nodered2mcu.js:1961–2023  ·  view source on GitHub ↗
(flows, what, credentials)

Source from the content-addressed store, hash-verified

1959 return `"${name}"`;
1960 }
1961 extractOne(flows, what, credentials) {
1962 const parts = what.substring(0, what.lastIndexOf(".")).split("-");
1963 let data;
1964
1965 try {
1966 flows.some(config => {
1967 if (config.id !== parts[0])
1968 return;
1969
1970 switch (config.type) {
1971 case "tls-config": {
1972 switch (parts[1]) {
1973 case "ca":
1974 if (config.ca)
1975 data = this.readFileString(config.ca);
1976 else if (credentials?.[config.id]?.cadata)
1977 data = credentials?.[config.id].cadata;
1978
1979 if (data) {
1980 data = Transform.pemToDER(data);
1981 return true;
1982 }
1983 break;
1984 case "cert":
1985 if (config.cert)
1986 data = this.readFileString(config.cert);
1987 else if (credentials?.[config.id]?.certdata)
1988 data = credentials?.[config.id].certdata;
1989
1990 if (data) {
1991 data = Transform.pemToDER(data);
1992 return true;
1993 }
1994 break;
1995 case "key":
1996 if (config.key)
1997 data = this.readFileString(config.key);
1998 else if (credentials?.[config.id]?.keydata)
1999 data = credentials?.[config.id].keydata;
2000
2001 if (data) {
2002 if (data.indexOf("-----BEGIN RSA PRIVATE KEY-----") >= 0)
2003 data = Transform.privateKeyToPrivateKeyInfo(Transform.pemToDER(data));
2004 else
2005 data = Transform.pemToDER(data);
2006 return true;
2007 }
2008 break;
2009 }
2010 }
2011 break;
2012 }
2013 });
2014
2015 if (!data)
2016 throw new Error("data to extract not found");
2017 }
2018 catch (e) {

Callers 1

runMethod · 0.80

Calls 2

pemToDERMethod · 0.80

Tested by

no test coverage detected