UNPKG

@cfworker/cosmos

Version:

Azure Cosmos DB client for Cloudflare Workers and service workers

37 lines (36 loc) 1.02 kB
export function escapeNonASCII(s) { return s.replace(/[\u0080-\uFFFF]/g, m => '\\u' + m.charCodeAt(0).toString(16).padStart(4, '0')); } export function assertArg(name, value) { if (!value) { throw new Error(`${name} is required.`); } } export function uri(strings, ...values) { let s = strings[0]; for (let i = 0; i < values.length; i++) { s += encodeURIComponent(values[i]) + strings[i + 1]; } return s; } export function parseConnectionString(connString) { const props = {}; connString.split(';').forEach(kv => { const pos = kv.indexOf('='); if (pos < 1) { return; } const key = kv.slice(0, pos); const val = kv.slice(pos + 1); if (key && val) { props[key] = val; } }); if (!props.AccountEndpoint || !props.AccountKey) { throw new Error('Invalid connection string'); } return { endpoint: props.AccountEndpoint, masterKey: props.AccountKey }; }