UNPKG

@fto-consult/common

Version:

Un ensemble de bibliothèques et d'utilistaires communs pour le développement d'applications javascript

44 lines (43 loc) 1.25 kB
import {isNonNullString,isObj,defaultObj,defaultStr} from "$cutils"; import {isValidUrl} from "$cutils/uri"; /**** parse dbName * @param {object/string} * @return {object : * dbName : le nom de la base, * originName : le nom d'origine * server : le serveur rattaché * } */ export default function parseDBName(dbName){ let options = {} if(isNonNullString(dbName)){ options = {dbName} } else if(isObj(dbName)){ options = dbName; } dbName = defaultStr(options.realName,options.dbName,dbName); let {server} = options; let ret = {dbName,originName:dbName} if(isValidUrl(dbName)){ let serv = dbName.split('/'); let count = serv.length-1; while(count >= 0 && !isNonNullString(serv[count])){ count --; } let sV = ""; for(let i= 0; i < count; i++){ if(isNonNullString(serv[i])){ sV+= (isNonNullString(sV)? "/":'')+serv[i]; } } let realDB = dbName; if(count>=0){ dbName = serv[count]; } server = defaultStr(server,sV) ret.dbName = dbName; ret.originName = realDB; } ret.server = defaultStr(server); return ret; }