Home Reference Source Repository

src/debug.js

import { isNative } from "akutils";


var debug = isNative() ?require("react-native-debug") :require("debug");

//-----------------------------------------------------------------------------------------------------------
// Debug level functions
//-----------------------------------------------------------------------------------------------------------

const ErrorKey = 'f.lux:error';
const InfoKey = 'f.lux:info';
const WarningKey = 'f.lux:warn';

if (process.env.NODE_ENV !== 'production') {
	// comment out one or more of following line to disable error/warning reporting
	debug.enable(ErrorKey);
	debug.enable(InfoKey);
	debug.enable(WarningKey);
}

/** @ignore */
export const error = debug(ErrorKey);
/** @ignore */
export const info = debug(InfoKey);
/** @ignore */
export const warn = debug(WarningKey);


//-----------------------------------------------------------------------------------------------------------
// Functional flags
//-----------------------------------------------------------------------------------------------------------

/** @ignore */
export const AllKey = 'f.lux:*';

/** @ignore */
export const CollectionAllKey = 'f.lux:collection:*';
/** @ignore */
export const CollectionPropertyKey = 'f.lux:collection:property';
/** @ignore */
export const CollectionRestEndpointPropertyKey = 'f.lux:collection:restEnpointProperty';
/** @ignore */
export const CollectionPojoEndpointPropertyKey = 'f.lux:collection:pojoEnpointProperty';

/** @ignore */
export const ShadowImplKey = 'f.lux:shadowImpl';
/** @ignore */
export const StoreKey = 'f.lux:store';
/** @ignore */
export const TransientKey = 'f.lux:transient';


// uncomment to turn on all postop-stores logging (or selectively using one of keys above)
//debug.enable(AllKey);


function debugoff() { }

/** @ignore */
export default function devDebug(modname) {
	if (process.env.NODE_ENV !== 'production') {
		let appDebug = debug(modname);

		return function appDebugFn(cb) {
			cb(appDebug);
		}
	} else {
		return debugoff;
	}
}