MCPcopy Index your code
hub / github.com/tdewolff/minify / parseRawOption

Function parseRawOption

_benchmarks/sample_echarts.js:18962–19038  ·  view source on GitHub ↗

* [RAW_OPTION_PATTERNS] * (Note: "series: []" represents all other props in `ECUnitOption`) * * (1) No prop "baseOption" declared: * Root option is used as "baseOption" (except prop "options" and "media"). * ```js * option = { * series: [], * timeline:

( // `rawOption` May be modified
    rawOption, optionPreprocessorFuncs, isNew)

Source from the content-addressed store, hash-verified

18960
18961
18962 function parseRawOption( // `rawOption` May be modified
18963 rawOption, optionPreprocessorFuncs, isNew) {
18964 var mediaList = [];
18965 var mediaDefault;
18966 var baseOption;
18967 var declaredBaseOption = rawOption.baseOption; // Compatible with ec2, [RAW_OPTION_PATTERNS] above.
18968
18969 var timelineOnRoot = rawOption.timeline;
18970 var timelineOptionsOnRoot = rawOption.options;
18971 var mediaOnRoot = rawOption.media;
18972 var hasMedia = !!rawOption.media;
18973 var hasTimeline = !!(timelineOptionsOnRoot || timelineOnRoot || declaredBaseOption && declaredBaseOption.timeline);
18974
18975 if (declaredBaseOption) {
18976 baseOption = declaredBaseOption; // For merge option.
18977
18978 if (!baseOption.timeline) {
18979 baseOption.timeline = timelineOnRoot;
18980 }
18981 } // For convenience, enable to use the root option as the `baseOption`:
18982 // `{ ...normalOptionProps, media: [{ ... }, { ... }] }`
18983 else {
18984 if (hasTimeline || hasMedia) {
18985 rawOption.options = rawOption.media = null;
18986 }
18987
18988 baseOption = rawOption;
18989 }
18990
18991 if (hasMedia) {
18992 if (isArray(mediaOnRoot)) {
18993 each(mediaOnRoot, function (singleMedia) {
18994 if ("development" !== 'production') {
18995 // Real case of wrong config.
18996 if (singleMedia && !singleMedia.option && isObject(singleMedia.query) && isObject(singleMedia.query.option)) {
18997 error('Illegal media option. Must be like { media: [ { query: {}, option: {} } ] }');
18998 }
18999 }
19000
19001 if (singleMedia && singleMedia.option) {
19002 if (singleMedia.query) {
19003 mediaList.push(singleMedia);
19004 } else if (!mediaDefault) {
19005 // Use the first media default.
19006 mediaDefault = singleMedia;
19007 }
19008 }
19009 });
19010 } else {
19011 if ("development" !== 'production') {
19012 // Real case of wrong config.
19013 error('Illegal media option. Must be an array. Like { media: [ {...}, {...} ] }');
19014 }
19015 }
19016 }
19017
19018 doPreprocess(baseOption);
19019 each(timelineOptionsOnRoot, function (option) {

Callers 1

sample_echarts.jsFile · 0.85

Calls 5

doPreprocessFunction · 0.85
isArrayFunction · 0.70
eachFunction · 0.70
isObjectFunction · 0.70
errorFunction · 0.70

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…