Migrated util/uri to TypeScript
Summary: Migrated uri.js to uri.tsx Reviewed By: danielbuechele Differential Revision: D17133606 fbshipit-source-id: d278c293c6040a522f5cc0c5462c6682dc634328
This commit is contained in:
committed by
Facebook Github Bot
parent
61ddbd9950
commit
332821d315
@@ -11,7 +11,7 @@ import {
|
||||
parameterIsNumberType,
|
||||
replaceRequiredParametersWithValues,
|
||||
filterOptionalParameters,
|
||||
} from '../util/uri';
|
||||
} from '../util/uri.tsx';
|
||||
|
||||
test('parse required parameters from uri', () => {
|
||||
const testURI =
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
*/
|
||||
|
||||
import {styled} from 'flipper';
|
||||
import {parseURIParameters} from '../util/uri';
|
||||
import {parseURIParameters} from '../util/uri.tsx';
|
||||
import {IconButton, FavoriteButton} from './';
|
||||
|
||||
type Props = {|
|
||||
|
||||
@@ -13,7 +13,7 @@ import {
|
||||
parameterIsBooleanType,
|
||||
validateParameter,
|
||||
liveEdit,
|
||||
} from '../util/uri';
|
||||
} from '../util/uri.tsx';
|
||||
import {useRequiredParameterFormValidator} from '../hooks/requiredParameters';
|
||||
|
||||
import type {URI} from '../flow-types';
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
*/
|
||||
|
||||
import {useEffect, useState} from 'react';
|
||||
import {validateParameter} from '../util/uri';
|
||||
import {validateParameter} from '../util/uri.tsx';
|
||||
|
||||
export const useRequiredParameterFormValidator = (
|
||||
requiredParameters: Array<string>,
|
||||
|
||||
@@ -26,7 +26,7 @@ import {
|
||||
DefaultProvider,
|
||||
} from './util/autoCompleteProvider';
|
||||
import {getAppMatchPatterns} from './util/appMatchPatterns';
|
||||
import {getRequiredParameters, filterOptionalParameters} from './util/uri';
|
||||
import {getRequiredParameters, filterOptionalParameters} from './util/uri.tsx';
|
||||
|
||||
import type {
|
||||
State,
|
||||
|
||||
@@ -3,7 +3,6 @@
|
||||
* This source code is licensed under the MIT license found in the
|
||||
* LICENSE file in the root directory of this source tree.
|
||||
* @format
|
||||
* @flow strict-local
|
||||
*/
|
||||
|
||||
import querystring from 'querystring';
|
||||
@@ -18,13 +17,11 @@ export const validateParameter = (value: string, parameter: string) => {
|
||||
);
|
||||
};
|
||||
|
||||
export const filterOptionalParameters: string => string = (uri: string) => {
|
||||
export const filterOptionalParameters = (uri: string) => {
|
||||
return uri.replace(/[/&]?([^&?={}\/]*=)?{\?.*?}/g, '');
|
||||
};
|
||||
|
||||
export const parseURIParameters: string => Map<string, string> = (
|
||||
query: string,
|
||||
) => {
|
||||
export const parseURIParameters = (query: string) => {
|
||||
// get parameters from query string and store in Map
|
||||
const parameters = query
|
||||
.split('?')
|
||||
@@ -33,7 +30,7 @@ export const parseURIParameters: string => Map<string, string> = (
|
||||
const parametersObj = querystring.parse(parameters);
|
||||
const parametersMap = new Map<string, string>();
|
||||
for (const key in parametersObj) {
|
||||
parametersMap.set(key, parametersObj[key]);
|
||||
parametersMap.set(key, parametersObj[key] as string);
|
||||
}
|
||||
return parametersMap;
|
||||
};
|
||||
@@ -78,7 +75,7 @@ export const getRequiredParameters = (uri: string) => {
|
||||
return matches;
|
||||
};
|
||||
|
||||
export const liveEdit = (uri: string, formValues: Array<string>): string => {
|
||||
export const liveEdit = (uri: string, formValues: Array<string>) => {
|
||||
const parameterRegExp = /({[^?]*?})/g;
|
||||
const uriArray = uri.split(parameterRegExp);
|
||||
return uriArray.reduce((acc, uriComponent, idx) => {
|
||||
Reference in New Issue
Block a user