Como esconder o código-fonte da biblioteca no caminho do Google?
Por exemplo, eu tenho umbiblioteca e gostaria de proteger o código-fonte para ser visualizado. O primeiro método que vem à mente é criar wrappers públicos para funções privadas como as seguintes
function executeMyCoolFunction(param1, param2, param3) {
return executeMyCoolFunction_(param1, param2, param3);
}
Apenas parte pública do código será visível dessa maneira. Está tudo bem, mas todas as funções do Google Service parecemfunction abs() {/* */}
. Estou curioso, existe uma abordagem para ocultar o código-fonte da biblioteca, como o Google faz?
Editar 00: Não "esconda" um código de biblioteca usando outra biblioteca, ou seja, o LibA com chave de projeto conhecida usa o LibB com chave de projeto desconhecida. O código de funções públicas do LibB é possível obter e até mesmo executá-los. O código é
function exploreLib_(lib, libName) {
if (libName == null) {
for (var name in this) {
if (this[name] == lib) {
libName = name;
}
}
}
var res = [];
for (var entity in lib) {
var obj = lib[entity];
var code;
if (obj["toSource"] != null) {
code = obj.toSource();
}
else if (obj["toString"] != null) {
code = obj.toString();
}
else {
var nextLibCode = exploreLib_(obj, libName + "." + entity);
res = res.concat(nextLibCode);
}
if (code != null) {
res.push({ libraryName: libName, functionCode: code });
}
}
return res;
}
function explorerLibPublicFunctionsCode() {
var lstPublicFunctions = exploreLib_(LibA);
var password = LibA.LibB.getPassword();
}