<commit_before>let magicAdaptor;

try {
	Object.defineProperty({}, 'test', { value: 0 });

	magicAdaptor = {
		filter ( value ) {
			return typeof value === 'object';
		},
		wrap ( ractive, value, keypath ) {
			return new MagicWrapper( ractive, value, keypath );
		}
	};
} catch ( err ) {
	magicAdaptor = false;
}

export default magicAdaptor;

function createOrWrapDescriptor ( originalDescriptor, ractive, keypath ) {
	if ( originalDescriptor.set && originalDescriptor.set.__magic ) {
		originalDescriptor.set.__magic.dependants.push({ ractive, keypath });
		return originalDescriptor;
	}

	let setting;

	let dependants = [{ ractive, keypath }];

	const descriptor = {
		get: () => {<commit_msg>magic adaptor should check object is not null<commit_after>let magicAdaptor;

try {
	Object.defineProperty({}, 'test', { value: 0 });

	magicAdaptor = {
		filter ( value ) {
			return value && typeof value === 'object';
		},
		wrap ( ractive, value, keypath ) {
			return new MagicWrapper( ractive, value, keypath );
		}
	};
} catch ( err ) {
	magicAdaptor = false;
}

export default magicAdaptor;

function createOrWrapDescriptor ( originalDescriptor, ractive, keypath ) {
	if ( originalDescriptor.set && originalDescriptor.set.__magic ) {
		originalDescriptor.set.__magic.dependants.push({ ractive, keypath });
		return originalDescriptor;
	}

	let setting;

	let dependants = [{ ractive, keypath }];

	const descriptor = {
		get: () => {
{'fraction_non_alphanumeric': 0.13064628214037527, 'fraction_numerical': 0.001389854065323141, 'mean_word_length': 4.142857142857143, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 5, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '1440421', 'n_tokens_mistral': 498, 'n_tokens_neox': 446, 'n_words': 114}