{"size": 1328, "ext": "js", "max_stars_repo_path": "App/public/vendor/flexibility/lib/flexbox/index.js", "max_stars_repo_name": "shadowkrr/laravel-skeleton", "max_stars_repo_stars_event_min_datetime": "2016-06-29T06:16:37.000Z", "max_stars_repo_stars_event_max_datetime": "2022-03-26T10:57:05.000Z", "max_issues_repo_path": "App/public/vendor/flexibility/lib/flexbox/index.js", "max_issues_repo_name": "shadowkrr/laravel-skeleton", "max_issues_repo_issues_event_min_datetime": "2016-06-29T08:48:48.000Z", "max_issues_repo_issues_event_max_datetime": "2020-11-21T19:22:58.000Z", "max_forks_repo_path": "App/public/vendor/flexibility/lib/flexbox/index.js", "max_forks_repo_name": "shadowkrr/laravel-skeleton", "max_forks_repo_forks_event_min_datetime": "2016-06-29T01:03:56.000Z", "max_forks_repo_forks_event_max_datetime": "2022-02-22T12:36:39.000Z"}
{"max_stars_count": 2305, "max_issues_count": 61, "max_forks_count": 619, "avg_line_length": 27.1020408163, "max_line_length": 198, "alphanum_fraction": 0.7115963855}
module.exports = flexbox;

function flexbox(details) {
	var index = -1;
	var child;

	// for each flex child
	while (child = details.children[++index]) {
		// process child styles as metrics
		require('./flex-direction')(child, details.style.flexDirection);
	}

	// process target styles as metrics
	require('./flex-direction')(details, details.style.flexDirection);

	// process ordering of items
	require('./order')(details);

	// process flexbox items into lines
	require('./flexbox-lines')(details);

	// process align-content item metrics
	require('./align-content')(details);

	index = -1;
	var line;

	// for each line of items in the target
	while (line = details.lines[++index]) {
		line.mainSpace = details.flexStyle.main - details.flexStyle.mainInnerBefore - details.flexStyle.mainInnerAfter - details.flexStyle.mainBorderBefore - details.flexStyle.mainBorderAfter - line.main;

		// process flex-grow item metrics
		require('./flex-grow')(line);

		// process flex-shrink item metrics
		require('./flex-shrink')(line);

		// process margin item metrics
		require('./margin-main')(line);
		require('./margin-cross')(line);

		// process justify-content item metrics
		require('./justify-content')(line, details.style.justifyContent, details);
	}

	// process align-items metrics
	require('./align-items')(details);
}
