You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
MeteoApp/node_modules/metro/src/lib/parseCustomResolverOptions....

39 lines
903 B

/**
* Copyright (c) Meta Platforms, Inc. and affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*
* @flow strict-local
* @format
* @oncall react_native
*/
'use strict';
import type {CustomResolverOptions} from '../../../metro-resolver/src/types';
const nullthrows = require('nullthrows');
const PREFIX = 'resolver.';
module.exports = function parseCustomResolverOptions(urlObj: {
+query?: {[string]: string, ...},
...
}): CustomResolverOptions {
const customResolverOptions: {
__proto__: null,
[string]: mixed,
...
} = Object.create(null);
const query = nullthrows(urlObj.query);
Object.keys(query).forEach((key: string) => {
if (key.startsWith(PREFIX)) {
customResolverOptions[key.substr(PREFIX.length)] = query[key];
}
});
return customResolverOptions;
};