rxdb
Version:
A local-first realtime NoSQL Database for JavaScript applications - https://rxdb.info/
38 lines (32 loc) • 1.24 kB
text/typescript
import { RXDB_UTILS_GLOBAL } from './utils-global.ts';
import { defaultHashSha256 } from './utils-hash.ts';
import { PROMISE_RESOLVE_FALSE } from './utils-promise.ts';
export const PREMIUM_FLAG_HASH = '6da4936d1425ff3a5c44c02342c6daf791d266be3ae8479b8ec59e261df41b93';
export const NON_PREMIUM_COLLECTION_LIMIT = 16;
let hasPremiumPromise: Promise<boolean> = PROMISE_RESOLVE_FALSE;
let premiumChecked = false;
/**
* Here we check if the premium flag has been set.
* This code exists in the open source version of RxDB.
* Yes you are allowed to fork the repo and just overwrite this function.
* However you might better spend this time developing your real project
* and supporting the RxDB efforts by buying premium.
*/
export async function hasPremiumFlag() {
if (premiumChecked) {
return hasPremiumPromise;
}
premiumChecked = true;
hasPremiumPromise = (async () => {
if (
RXDB_UTILS_GLOBAL.premium &&
typeof RXDB_UTILS_GLOBAL.premium === 'string' &&
(await defaultHashSha256(RXDB_UTILS_GLOBAL.premium) === PREMIUM_FLAG_HASH)
) {
return true;
} else {
return false;
}
})();
return hasPremiumPromise;
}