mirror of
https://github.com/iconify/iconify.git
synced 2024-09-19 16:59:02 +00:00
Remove combined exports from core, they make it more difficult to use ES named exports
This commit is contained in:
parent
691057527b
commit
c28ad01412
@ -2,7 +2,7 @@ import crossFetch from 'cross-fetch';
|
||||
import { sendAPIQuery } from '@iconify/core/lib/api/query';
|
||||
import { setAPIModule } from '@iconify/core/lib/api/modules';
|
||||
import { fetchAPIModule, setFetch } from '@iconify/core/lib/api/modules/fetch';
|
||||
import { setAPIConfig } from '@iconify/core/lib/api/config';
|
||||
import { addAPIProvider } from '@iconify/core/lib/api/config';
|
||||
import { mockAPIModule } from '@iconify/core/lib/api/modules/mock';
|
||||
|
||||
describe('Testing live API with fetch', () => {
|
||||
@ -43,7 +43,7 @@ describe('Testing live API with fetch', () => {
|
||||
it('Custom request with provider', (done) => {
|
||||
const provider = nextProvider();
|
||||
expect(
|
||||
setAPIConfig(provider, {
|
||||
addAPIProvider(provider, {
|
||||
resources: [host],
|
||||
})
|
||||
).toBe(true);
|
||||
|
@ -1,4 +1,4 @@
|
||||
import { setAPIConfig } from '@iconify/core/lib/api/config';
|
||||
import { addAPIProvider } from '@iconify/core/lib/api/config';
|
||||
import { setAPIModule } from '@iconify/core/lib/api/modules';
|
||||
import { loadIcons, isPending } from '@iconify/core/lib/api/icons';
|
||||
|
||||
@ -17,7 +17,7 @@ describe('Testing API loadIcons', () => {
|
||||
let asyncCounter = 0;
|
||||
|
||||
// Set config
|
||||
setAPIConfig(provider, {
|
||||
addAPIProvider(provider, {
|
||||
resources: ['https://api1.local', 'https://api2.local'],
|
||||
});
|
||||
|
||||
@ -146,7 +146,7 @@ describe('Testing API loadIcons', () => {
|
||||
const prefix = nextPrefix();
|
||||
|
||||
// Set config
|
||||
setAPIConfig(provider, {
|
||||
addAPIProvider(provider, {
|
||||
resources: ['https://api1.local', 'https://api2.local'],
|
||||
});
|
||||
|
||||
@ -246,7 +246,7 @@ describe('Testing API loadIcons', () => {
|
||||
const prefix = nextPrefix();
|
||||
|
||||
// Set config
|
||||
setAPIConfig(provider, {
|
||||
addAPIProvider(provider, {
|
||||
resources: ['https://api1.local', 'https://api2.local'],
|
||||
rotate: 100, // 100ms to speed up test
|
||||
});
|
||||
@ -342,7 +342,7 @@ describe('Testing API loadIcons', () => {
|
||||
const prefix = nextPrefix();
|
||||
|
||||
// Set config
|
||||
setAPIConfig(provider, {
|
||||
addAPIProvider(provider, {
|
||||
resources: ['https://api1.local', 'https://api2.local'],
|
||||
rotate: 100, // 100ms to speed up test
|
||||
});
|
||||
@ -497,7 +497,7 @@ describe('Testing API loadIcons', () => {
|
||||
const prefix2 = nextPrefix();
|
||||
|
||||
// Set config
|
||||
setAPIConfig(provider, {
|
||||
addAPIProvider(provider, {
|
||||
resources: ['https://api1.local', 'https://api2.local'],
|
||||
rotate: 100, // 100ms to speed up test
|
||||
});
|
||||
|
@ -1,4 +1,4 @@
|
||||
import { setAPIConfig } from '@iconify/core/lib/api/config';
|
||||
import { addAPIProvider } from '@iconify/core/lib/api/config';
|
||||
import { setAPIModule } from '@iconify/core/lib/api/modules';
|
||||
import { loadIcons } from '@iconify/core/lib/api/icons';
|
||||
import { mockAPIModule, mockAPIData } from '@iconify/core/lib/api/modules/mock';
|
||||
@ -16,7 +16,7 @@ describe('Testing mock API module', () => {
|
||||
const provider = nextPrefix();
|
||||
|
||||
beforeEach(() => {
|
||||
setAPIConfig(provider, {
|
||||
addAPIProvider(provider, {
|
||||
resources: ['https://api1.local'],
|
||||
});
|
||||
setAPIModule(provider, mockAPIModule);
|
||||
|
@ -1,4 +1,4 @@
|
||||
import { setAPIConfig, getAPIConfig } from '@iconify/core/lib/api/config';
|
||||
import { addAPIProvider, getAPIConfig } from '@iconify/core/lib/api/config';
|
||||
import { setAPIModule, getAPIModule } from '@iconify/core/lib/api/modules';
|
||||
|
||||
describe('Testing API modules', () => {
|
||||
@ -28,7 +28,7 @@ describe('Testing API modules', () => {
|
||||
const provider = nextPrefix();
|
||||
|
||||
// Set config
|
||||
setAPIConfig(provider, {
|
||||
addAPIProvider(provider, {
|
||||
resources: ['https://localhost:3000'],
|
||||
maxURL: 500,
|
||||
});
|
||||
|
@ -1,6 +1,10 @@
|
||||
import { fullIcon } from '@iconify/utils/lib/icon';
|
||||
import { listIcons } from '@iconify/core/lib/storage/storage';
|
||||
import {
|
||||
storageFunctions,
|
||||
iconExists,
|
||||
getIcon,
|
||||
addIcon,
|
||||
addCollection,
|
||||
allowSimpleNames,
|
||||
} from '@iconify/core/lib/storage/functions';
|
||||
|
||||
@ -16,18 +20,18 @@ describe('Testing IconifyStorageFunctions', () => {
|
||||
const testName = `@${provider}:foo:bar`;
|
||||
|
||||
// Empty
|
||||
expect(storageFunctions.iconExists(testName)).toBe(false);
|
||||
expect(storageFunctions.getIcon(testName)).toBeNull();
|
||||
expect(storageFunctions.listIcons(provider)).toEqual([]);
|
||||
expect(iconExists(testName)).toBe(false);
|
||||
expect(getIcon(testName)).toBeNull();
|
||||
expect(listIcons(provider)).toEqual([]);
|
||||
|
||||
// Add and test one icon
|
||||
expect(
|
||||
storageFunctions.addIcon(testName, {
|
||||
addIcon(testName, {
|
||||
body: '<g />',
|
||||
})
|
||||
).toBe(true);
|
||||
expect(storageFunctions.iconExists(testName)).toBe(true);
|
||||
expect(storageFunctions.listIcons(provider)).toEqual([testName]);
|
||||
expect(iconExists(testName)).toBe(true);
|
||||
expect(listIcons(provider)).toEqual([testName]);
|
||||
});
|
||||
|
||||
it('Invalid icon name', () => {
|
||||
@ -37,16 +41,16 @@ describe('Testing IconifyStorageFunctions', () => {
|
||||
allowSimpleNames(false);
|
||||
|
||||
// Empty
|
||||
expect(storageFunctions.iconExists(testName)).toBe(false);
|
||||
expect(storageFunctions.getIcon(testName)).toBeNull();
|
||||
expect(iconExists(testName)).toBe(false);
|
||||
expect(getIcon(testName)).toBeNull();
|
||||
|
||||
// Add and test one icon (icon should not be added)
|
||||
expect(
|
||||
storageFunctions.addIcon(testName, {
|
||||
addIcon(testName, {
|
||||
body: '<g />',
|
||||
})
|
||||
).toBe(false);
|
||||
expect(storageFunctions.iconExists(testName)).toBe(false);
|
||||
expect(iconExists(testName)).toBe(false);
|
||||
});
|
||||
|
||||
it('Invalid icon set', () => {
|
||||
@ -55,7 +59,7 @@ describe('Testing IconifyStorageFunctions', () => {
|
||||
|
||||
// Icon set without prefix (should work only when simple names are allowed, tested later in this file)
|
||||
expect(
|
||||
storageFunctions.addCollection({
|
||||
addCollection({
|
||||
prefix: '',
|
||||
icons: {
|
||||
foo: {
|
||||
@ -73,16 +77,16 @@ describe('Testing IconifyStorageFunctions', () => {
|
||||
allowSimpleNames(true);
|
||||
|
||||
// Empty
|
||||
expect(storageFunctions.iconExists(testName)).toBe(false);
|
||||
expect(storageFunctions.getIcon(testName)).toBeNull();
|
||||
expect(iconExists(testName)).toBe(false);
|
||||
expect(getIcon(testName)).toBeNull();
|
||||
|
||||
// Add and test one icon
|
||||
expect(
|
||||
storageFunctions.addIcon(testName, {
|
||||
addIcon(testName, {
|
||||
body: '<g />',
|
||||
})
|
||||
).toBe(true);
|
||||
expect(storageFunctions.iconExists(testName)).toBe(true);
|
||||
expect(iconExists(testName)).toBe(true);
|
||||
|
||||
// Reset config after test
|
||||
allowSimpleNames(false);
|
||||
@ -101,7 +105,7 @@ describe('Testing IconifyStorageFunctions', () => {
|
||||
const prefix2 = `prefixed${n}`;
|
||||
const name2 = `icon${n2}`;
|
||||
expect(
|
||||
storageFunctions.addCollection({
|
||||
addCollection({
|
||||
prefix: '',
|
||||
icons: {
|
||||
[name1]: {
|
||||
@ -116,8 +120,8 @@ describe('Testing IconifyStorageFunctions', () => {
|
||||
|
||||
// Test 'test'
|
||||
name = name1;
|
||||
expect(storageFunctions.iconExists(name)).toBe(true);
|
||||
expect(storageFunctions.getIcon(name)).toEqual(
|
||||
expect(iconExists(name)).toBe(true);
|
||||
expect(getIcon(name)).toEqual(
|
||||
fullIcon({
|
||||
body: '<g data-icon="basic-icon" />',
|
||||
})
|
||||
@ -125,9 +129,9 @@ describe('Testing IconifyStorageFunctions', () => {
|
||||
|
||||
// Test prefixed icon, using ':' separator
|
||||
name = `${prefix2}:${name2}`;
|
||||
expect(storageFunctions.listIcons('', prefix2)).toEqual([name]);
|
||||
expect(storageFunctions.iconExists(name)).toBe(true);
|
||||
expect(storageFunctions.getIcon(name)).toEqual(
|
||||
expect(listIcons('', prefix2)).toEqual([name]);
|
||||
expect(iconExists(name)).toBe(true);
|
||||
expect(getIcon(name)).toEqual(
|
||||
fullIcon({
|
||||
body: '<g data-icon="prefixed-icon" />',
|
||||
})
|
||||
@ -135,8 +139,8 @@ describe('Testing IconifyStorageFunctions', () => {
|
||||
|
||||
// Test prefixed icon, using '-' separator
|
||||
name = `${prefix2}-${name2}`;
|
||||
expect(storageFunctions.iconExists(name)).toBe(true);
|
||||
expect(storageFunctions.getIcon(name)).toEqual(
|
||||
expect(iconExists(name)).toBe(true);
|
||||
expect(getIcon(name)).toEqual(
|
||||
fullIcon({
|
||||
body: '<g data-icon="prefixed-icon" />',
|
||||
})
|
@ -1,8 +1,8 @@
|
||||
import {
|
||||
newStorage,
|
||||
addIcon,
|
||||
addIconToStorage,
|
||||
iconExists,
|
||||
getIcon,
|
||||
getIconFromStorage,
|
||||
addIconSet,
|
||||
getStorage,
|
||||
listIcons,
|
||||
@ -13,19 +13,19 @@ describe('Testing storage', () => {
|
||||
const storage = newStorage('', 'foo');
|
||||
|
||||
// Add one icon
|
||||
addIcon(storage, 'test', {
|
||||
addIconToStorage(storage, 'test', {
|
||||
body: '<path d="" />',
|
||||
width: 20,
|
||||
height: 16,
|
||||
});
|
||||
addIcon(storage, 'not-really-missing', {
|
||||
addIconToStorage(storage, 'not-really-missing', {
|
||||
body: '<path d="" />',
|
||||
width: 24,
|
||||
height: 24,
|
||||
});
|
||||
|
||||
// Add another icon with reserved keyword as name
|
||||
addIcon(storage, 'constructor', {
|
||||
addIconToStorage(storage, 'constructor', {
|
||||
body: '<g></g>',
|
||||
width: 24,
|
||||
height: 24,
|
||||
@ -36,7 +36,7 @@ describe('Testing storage', () => {
|
||||
storage.missing['not-really-missing'] = Date.now();
|
||||
|
||||
// Add invalid icon
|
||||
addIcon(storage, 'invalid', {});
|
||||
addIconToStorage(storage, 'invalid', {});
|
||||
|
||||
// Should not include 'invalid'
|
||||
expect(Object.keys(storage.icons)).toEqual([
|
||||
@ -63,7 +63,7 @@ describe('Testing storage', () => {
|
||||
vFlip: false,
|
||||
rotate: 0,
|
||||
};
|
||||
const icon = getIcon(storage, 'test');
|
||||
const icon = getIconFromStorage(storage, 'test');
|
||||
expect(icon).toEqual(expected);
|
||||
|
||||
// Test icon mutation
|
||||
@ -85,10 +85,10 @@ describe('Testing storage', () => {
|
||||
vFlip: false,
|
||||
rotate: 1,
|
||||
};
|
||||
expect(getIcon(storage, 'constructor')).toEqual(expected);
|
||||
expect(getIconFromStorage(storage, 'constructor')).toEqual(expected);
|
||||
|
||||
expect(getIcon(storage, 'invalid')).toBeNull();
|
||||
expect(getIcon(storage, 'missing')).toBeNull();
|
||||
expect(getIconFromStorage(storage, 'invalid')).toBeNull();
|
||||
expect(getIconFromStorage(storage, 'missing')).toBeNull();
|
||||
});
|
||||
|
||||
it('Adding simple icon set', () => {
|
||||
@ -131,7 +131,7 @@ describe('Testing storage', () => {
|
||||
vFlip: false,
|
||||
rotate: 0,
|
||||
};
|
||||
expect(getIcon(storage, 'icon1')).toEqual(expected);
|
||||
expect(getIconFromStorage(storage, 'icon1')).toEqual(expected);
|
||||
expected = {
|
||||
body: '<path d="icon2" />',
|
||||
width: 24,
|
||||
@ -142,9 +142,9 @@ describe('Testing storage', () => {
|
||||
vFlip: false,
|
||||
rotate: 0,
|
||||
};
|
||||
expect(getIcon(storage, 'icon2')).toEqual(expected);
|
||||
expect(getIcon(storage, 'invalid')).toBeNull();
|
||||
expect(getIcon(storage, 'missing')).toBeNull();
|
||||
expect(getIconFromStorage(storage, 'icon2')).toEqual(expected);
|
||||
expect(getIconFromStorage(storage, 'invalid')).toBeNull();
|
||||
expect(getIconFromStorage(storage, 'missing')).toBeNull();
|
||||
});
|
||||
|
||||
it('Icon set with aliases that use transformations', () => {
|
||||
@ -187,7 +187,9 @@ describe('Testing storage', () => {
|
||||
vFlip: false,
|
||||
rotate: 0,
|
||||
};
|
||||
expect(getIcon(storage, '16-chevron-left')).toEqual(expected);
|
||||
expect(getIconFromStorage(storage, '16-chevron-left')).toEqual(
|
||||
expected
|
||||
);
|
||||
|
||||
// Test alias
|
||||
expected = {
|
||||
@ -200,7 +202,9 @@ describe('Testing storage', () => {
|
||||
vFlip: false,
|
||||
rotate: 0,
|
||||
};
|
||||
expect(getIcon(storage, '16-chevron-right')).toEqual(expected);
|
||||
expect(getIconFromStorage(storage, '16-chevron-right')).toEqual(
|
||||
expected
|
||||
);
|
||||
});
|
||||
|
||||
it('List icons in a global storage', () => {
|
||||
@ -214,7 +218,7 @@ describe('Testing storage', () => {
|
||||
expect(listIcons(provider, prefix)).toEqual([]);
|
||||
|
||||
// Add one icon without provider
|
||||
addIcon(storage1, 'test', {
|
||||
addIconToStorage(storage1, 'test', {
|
||||
body: '<path d="" />',
|
||||
width: 20,
|
||||
height: 16,
|
||||
@ -253,7 +257,7 @@ describe('Testing storage', () => {
|
||||
expect(listIcons(provider, prefix)).toEqual([]);
|
||||
|
||||
// Add one icon with provider
|
||||
addIcon(storage2, 'test2', {
|
||||
addIconToStorage(storage2, 'test2', {
|
||||
body: '<path d="" />',
|
||||
width: 20,
|
||||
height: 16,
|
@ -107,7 +107,7 @@ configStorage[''] = createAPIConfig({
|
||||
/**
|
||||
* Add custom config for provider
|
||||
*/
|
||||
export function setAPIConfig(
|
||||
export function addAPIProvider(
|
||||
provider: string,
|
||||
customConfig: PartialIconifyAPIConfig
|
||||
): boolean {
|
||||
|
@ -3,25 +3,17 @@ import type {
|
||||
QueryDoneCallback,
|
||||
} from '@iconify/api-redundancy';
|
||||
import type { IconifyIconName } from '@iconify/utils/lib/icon/name';
|
||||
import { sendAPIQuery } from './query';
|
||||
import { loadIcons } from './icons';
|
||||
import type {
|
||||
IconifyIconLoaderAbort,
|
||||
IconifyIconLoaderCallback,
|
||||
} from './icons';
|
||||
import type {
|
||||
GetAPIConfig,
|
||||
PartialIconifyAPIConfig,
|
||||
} from './config';
|
||||
import { getAPIConfig, setAPIConfig, listAPIProviders } from './config';
|
||||
import type { GetAPIConfig, PartialIconifyAPIConfig } from './config';
|
||||
import type {
|
||||
IconifyAPIModule,
|
||||
IconifyAPIQueryParams,
|
||||
IconifyAPICustomQueryParams,
|
||||
} from './modules';
|
||||
import { setAPIModule } from './modules';
|
||||
import type { MergeParams, IconifyAPIMergeQueryParams } from './params';
|
||||
import { mergeParams } from './params';
|
||||
|
||||
/**
|
||||
* Iconify API functions
|
||||
@ -44,11 +36,6 @@ export interface IconifyAPIFunctions {
|
||||
) => boolean;
|
||||
}
|
||||
|
||||
export const APIFunctions: IconifyAPIFunctions = {
|
||||
loadIcons,
|
||||
addAPIProvider: setAPIConfig,
|
||||
};
|
||||
|
||||
/**
|
||||
* Exposed internal functions
|
||||
*
|
||||
@ -93,14 +80,6 @@ export interface IconifyAPIInternalFunctions {
|
||||
mergeParams: MergeParams;
|
||||
}
|
||||
|
||||
export const APIInternalFunctions: IconifyAPIInternalFunctions = {
|
||||
getAPIConfig,
|
||||
setAPIModule,
|
||||
sendAPIQuery,
|
||||
listAPIProviders,
|
||||
mergeParams,
|
||||
};
|
||||
|
||||
/**
|
||||
* Types needed for internal functions
|
||||
*/
|
||||
|
@ -1,7 +1,5 @@
|
||||
import type { IconifyIcon } from '@iconify/types';
|
||||
import { fullIcon } from '@iconify/utils/lib/icon';
|
||||
import { replaceIDs } from '@iconify/utils/lib/svg/id';
|
||||
import { calculateSize } from '@iconify/utils/lib/svg/size';
|
||||
import {
|
||||
defaults,
|
||||
mergeCustomisations,
|
||||
@ -27,15 +25,16 @@ export interface IconifyBuilderFunctions {
|
||||
}
|
||||
|
||||
/**
|
||||
* Exported builder functions
|
||||
* Build icon
|
||||
*/
|
||||
export const builderFunctions: IconifyBuilderFunctions = {
|
||||
replaceIDs,
|
||||
calculateSize,
|
||||
buildIcon: (icon, customisations) => {
|
||||
return iconToSVG(
|
||||
fullIcon(icon),
|
||||
mergeCustomisations(defaults, customisations)
|
||||
);
|
||||
},
|
||||
};
|
||||
export function buildIcon(
|
||||
icon: IconifyIcon,
|
||||
customisations: IconifyIconCustomisations
|
||||
): IconifyIconBuildResult {
|
||||
return iconToSVG(
|
||||
fullIcon(icon),
|
||||
customisations
|
||||
? mergeCustomisations(defaults, customisations)
|
||||
: defaults
|
||||
);
|
||||
}
|
||||
|
@ -5,9 +5,8 @@ import type { IconifyIconName } from '@iconify/utils/lib/icon/name';
|
||||
import { stringToIcon, validateIcon } from '@iconify/utils/lib/icon/name';
|
||||
import {
|
||||
getStorage,
|
||||
getIcon,
|
||||
listIcons,
|
||||
addIcon as storeIcon,
|
||||
getIconFromStorage,
|
||||
addIconToStorage,
|
||||
addIconSet,
|
||||
} from './storage';
|
||||
// import { parseIconSet } from '../icon';
|
||||
@ -64,7 +63,7 @@ export function getIconData(
|
||||
const icon =
|
||||
typeof name === 'string' ? stringToIcon(name, true, simpleNames) : name;
|
||||
return icon
|
||||
? getIcon(getStorage(icon.provider, icon.prefix), icon.name)
|
||||
? getIconFromStorage(getStorage(icon.provider, icon.prefix), icon.name)
|
||||
: null;
|
||||
}
|
||||
|
||||
@ -77,7 +76,7 @@ export function addIcon(name: string, data: IconifyIcon): boolean {
|
||||
return false;
|
||||
}
|
||||
const storage = getStorage(icon.provider, icon.prefix);
|
||||
return storeIcon(storage, icon.name, data);
|
||||
return addIconToStorage(storage, icon.name, data);
|
||||
}
|
||||
|
||||
/**
|
||||
@ -126,24 +125,16 @@ export function addCollection(data: IconifyJSON, provider?: string): boolean {
|
||||
}
|
||||
|
||||
/**
|
||||
* Export
|
||||
* Check if icon exists
|
||||
*/
|
||||
export const storageFunctions: IconifyStorageFunctions = {
|
||||
// Check if icon exists
|
||||
iconExists: (name) => getIconData(name) !== null,
|
||||
export function iconExists(name: string): boolean {
|
||||
return getIconData(name) !== null;
|
||||
}
|
||||
|
||||
// Get raw icon data
|
||||
getIcon: (name) => {
|
||||
const result = getIconData(name);
|
||||
return result ? { ...result } : null;
|
||||
},
|
||||
|
||||
// List icons
|
||||
listIcons,
|
||||
|
||||
// Add icon
|
||||
addIcon,
|
||||
|
||||
// Add icon set
|
||||
addCollection,
|
||||
};
|
||||
/**
|
||||
* Get icon
|
||||
*/
|
||||
export function getIcon(name: string): Required<IconifyIcon> | null {
|
||||
const result = getIconData(name);
|
||||
return result ? { ...result } : null;
|
||||
}
|
||||
|
@ -22,8 +22,9 @@ export interface IconStorage {
|
||||
/**
|
||||
* Storage by provider and prefix
|
||||
*/
|
||||
const storage: Record<string, Record<string, IconStorage>> =
|
||||
Object.create(null);
|
||||
const storage: Record<string, Record<string, IconStorage>> = Object.create(
|
||||
null
|
||||
);
|
||||
|
||||
/**
|
||||
* Create new storage
|
||||
@ -78,7 +79,7 @@ export function addIconSet(
|
||||
/**
|
||||
* Add icon to storage
|
||||
*/
|
||||
export function addIcon(
|
||||
export function addIconToStorage(
|
||||
storage: IconStorage,
|
||||
name: string,
|
||||
icon: IconifyIcon
|
||||
@ -105,7 +106,7 @@ export function iconExists(storage: IconStorage, name: string): boolean {
|
||||
/**
|
||||
* Get icon data
|
||||
*/
|
||||
export function getIcon(
|
||||
export function getIconFromStorage(
|
||||
storage: IconStorage,
|
||||
name: string
|
||||
): Readonly<FullIconifyIcon> | null {
|
||||
|
@ -2,7 +2,7 @@ import crossFetch from 'cross-fetch';
|
||||
import { sendAPIQuery } from '../../lib/api/query';
|
||||
import { setAPIModule } from '../../lib/api/modules';
|
||||
import { fetchAPIModule, setFetch } from '../../lib/api/modules/fetch';
|
||||
import { setAPIConfig } from '../../lib/api/config';
|
||||
import { addAPIProvider } from '../../lib/api/config';
|
||||
import { mockAPIModule } from '../../lib/api/modules/mock';
|
||||
|
||||
describe('Testing live API with fetch', () => {
|
||||
@ -43,7 +43,7 @@ describe('Testing live API with fetch', () => {
|
||||
it('Custom request with provider', (done) => {
|
||||
const provider = nextProvider();
|
||||
expect(
|
||||
setAPIConfig(provider, {
|
||||
addAPIProvider(provider, {
|
||||
resources: [host],
|
||||
})
|
||||
).toBe(true);
|
||||
|
@ -1,5 +1,5 @@
|
||||
import type { PendingQueryItem } from '@iconify/api-redundancy';
|
||||
import { setAPIConfig } from '../../lib/api/config';
|
||||
import { addAPIProvider } from '../../lib/api/config';
|
||||
import type {
|
||||
IconifyAPIIconsQueryParams,
|
||||
IconifyAPIQueryParams,
|
||||
@ -22,7 +22,7 @@ describe('Testing API loadIcons', () => {
|
||||
let asyncCounter = 0;
|
||||
|
||||
// Set config
|
||||
setAPIConfig(provider, {
|
||||
addAPIProvider(provider, {
|
||||
resources: ['https://api1.local', 'https://api2.local'],
|
||||
});
|
||||
|
||||
@ -159,7 +159,7 @@ describe('Testing API loadIcons', () => {
|
||||
const prefix = nextPrefix();
|
||||
|
||||
// Set config
|
||||
setAPIConfig(provider, {
|
||||
addAPIProvider(provider, {
|
||||
resources: ['https://api1.local', 'https://api2.local'],
|
||||
});
|
||||
|
||||
@ -267,7 +267,7 @@ describe('Testing API loadIcons', () => {
|
||||
const prefix = nextPrefix();
|
||||
|
||||
// Set config
|
||||
setAPIConfig(provider, {
|
||||
addAPIProvider(provider, {
|
||||
resources: ['https://api1.local', 'https://api2.local'],
|
||||
rotate: 100, // 100ms to speed up test
|
||||
});
|
||||
@ -371,7 +371,7 @@ describe('Testing API loadIcons', () => {
|
||||
const prefix = nextPrefix();
|
||||
|
||||
// Set config
|
||||
setAPIConfig(provider, {
|
||||
addAPIProvider(provider, {
|
||||
resources: ['https://api1.local', 'https://api2.local'],
|
||||
rotate: 100, // 100ms to speed up test
|
||||
});
|
||||
@ -534,7 +534,7 @@ describe('Testing API loadIcons', () => {
|
||||
const prefix2 = nextPrefix();
|
||||
|
||||
// Set config
|
||||
setAPIConfig(provider, {
|
||||
addAPIProvider(provider, {
|
||||
resources: ['https://api1.local', 'https://api2.local'],
|
||||
rotate: 100, // 100ms to speed up test
|
||||
});
|
||||
|
@ -1,4 +1,4 @@
|
||||
import { setAPIConfig } from '../../lib/api/config';
|
||||
import { addAPIProvider } from '../../lib/api/config';
|
||||
import { setAPIModule } from '../../lib/api/modules';
|
||||
import { loadIcons } from '../../lib/api/icons';
|
||||
import type { IconifyMockAPIDelayDoneCallback } from '../../lib/api/modules/mock';
|
||||
@ -17,7 +17,7 @@ describe('Testing mock API module', () => {
|
||||
const provider = nextPrefix();
|
||||
|
||||
beforeEach(() => {
|
||||
setAPIConfig(provider, {
|
||||
addAPIProvider(provider, {
|
||||
resources: ['https://api1.local'],
|
||||
});
|
||||
setAPIModule(provider, mockAPIModule);
|
||||
|
@ -1,5 +1,5 @@
|
||||
import type { IconifyAPIConfig } from '../../lib/api/config';
|
||||
import { setAPIConfig, getAPIConfig } from '../../lib/api/config';
|
||||
import { addAPIProvider, getAPIConfig } from '../../lib/api/config';
|
||||
import type {
|
||||
IconifyAPIIconsQueryParams,
|
||||
IconifyAPIModule,
|
||||
@ -37,7 +37,7 @@ describe('Testing API modules', () => {
|
||||
const provider = nextPrefix();
|
||||
|
||||
// Set config
|
||||
setAPIConfig(provider, {
|
||||
addAPIProvider(provider, {
|
||||
resources: ['https://localhost:3000'],
|
||||
maxURL: 500,
|
||||
});
|
||||
|
@ -1,6 +1,10 @@
|
||||
import { fullIcon } from '@iconify/utils/lib/icon';
|
||||
import { listIcons } from '../../lib/storage/storage';
|
||||
import {
|
||||
storageFunctions,
|
||||
iconExists,
|
||||
getIcon,
|
||||
addIcon,
|
||||
addCollection,
|
||||
allowSimpleNames,
|
||||
} from '../../lib/storage/functions';
|
||||
|
||||
@ -16,18 +20,18 @@ describe('Testing IconifyStorageFunctions', () => {
|
||||
const testName = `@${provider}:foo:bar`;
|
||||
|
||||
// Empty
|
||||
expect(storageFunctions.iconExists(testName)).toBe(false);
|
||||
expect(storageFunctions.getIcon(testName)).toBeNull();
|
||||
expect(storageFunctions.listIcons(provider)).toEqual([]);
|
||||
expect(iconExists(testName)).toBe(false);
|
||||
expect(getIcon(testName)).toBeNull();
|
||||
expect(listIcons(provider)).toEqual([]);
|
||||
|
||||
// Add and test one icon
|
||||
expect(
|
||||
storageFunctions.addIcon(testName, {
|
||||
addIcon(testName, {
|
||||
body: '<g />',
|
||||
})
|
||||
).toBe(true);
|
||||
expect(storageFunctions.iconExists(testName)).toBe(true);
|
||||
expect(storageFunctions.listIcons(provider)).toEqual([testName]);
|
||||
expect(iconExists(testName)).toBe(true);
|
||||
expect(listIcons(provider)).toEqual([testName]);
|
||||
});
|
||||
|
||||
it('Invalid icon name', () => {
|
||||
@ -37,16 +41,16 @@ describe('Testing IconifyStorageFunctions', () => {
|
||||
allowSimpleNames(false);
|
||||
|
||||
// Empty
|
||||
expect(storageFunctions.iconExists(testName)).toBe(false);
|
||||
expect(storageFunctions.getIcon(testName)).toBeNull();
|
||||
expect(iconExists(testName)).toBe(false);
|
||||
expect(getIcon(testName)).toBeNull();
|
||||
|
||||
// Add and test one icon (icon should not be added)
|
||||
expect(
|
||||
storageFunctions.addIcon(testName, {
|
||||
addIcon(testName, {
|
||||
body: '<g />',
|
||||
})
|
||||
).toBe(false);
|
||||
expect(storageFunctions.iconExists(testName)).toBe(false);
|
||||
expect(iconExists(testName)).toBe(false);
|
||||
});
|
||||
|
||||
it('Invalid icon set', () => {
|
||||
@ -55,7 +59,7 @@ describe('Testing IconifyStorageFunctions', () => {
|
||||
|
||||
// Icon set without prefix (should work only when simple names are allowed, tested later in this file)
|
||||
expect(
|
||||
storageFunctions.addCollection({
|
||||
addCollection({
|
||||
prefix: '',
|
||||
icons: {
|
||||
foo: {
|
||||
@ -73,16 +77,16 @@ describe('Testing IconifyStorageFunctions', () => {
|
||||
allowSimpleNames(true);
|
||||
|
||||
// Empty
|
||||
expect(storageFunctions.iconExists(testName)).toBe(false);
|
||||
expect(storageFunctions.getIcon(testName)).toBeNull();
|
||||
expect(iconExists(testName)).toBe(false);
|
||||
expect(getIcon(testName)).toBeNull();
|
||||
|
||||
// Add and test one icon
|
||||
expect(
|
||||
storageFunctions.addIcon(testName, {
|
||||
addIcon(testName, {
|
||||
body: '<g />',
|
||||
})
|
||||
).toBe(true);
|
||||
expect(storageFunctions.iconExists(testName)).toBe(true);
|
||||
expect(iconExists(testName)).toBe(true);
|
||||
|
||||
// Reset config after test
|
||||
allowSimpleNames(false);
|
||||
@ -101,7 +105,7 @@ describe('Testing IconifyStorageFunctions', () => {
|
||||
const prefix2 = `prefixed${n}`;
|
||||
const name2 = `icon${n2}`;
|
||||
expect(
|
||||
storageFunctions.addCollection({
|
||||
addCollection({
|
||||
prefix: '',
|
||||
icons: {
|
||||
[name1]: {
|
||||
@ -116,8 +120,8 @@ describe('Testing IconifyStorageFunctions', () => {
|
||||
|
||||
// Test 'test'
|
||||
name = name1;
|
||||
expect(storageFunctions.iconExists(name)).toBe(true);
|
||||
expect(storageFunctions.getIcon(name)).toEqual(
|
||||
expect(iconExists(name)).toBe(true);
|
||||
expect(getIcon(name)).toEqual(
|
||||
fullIcon({
|
||||
body: '<g data-icon="basic-icon" />',
|
||||
})
|
||||
@ -125,9 +129,9 @@ describe('Testing IconifyStorageFunctions', () => {
|
||||
|
||||
// Test prefixed icon, using ':' separator
|
||||
name = `${prefix2}:${name2}`;
|
||||
expect(storageFunctions.listIcons('', prefix2)).toEqual([name]);
|
||||
expect(storageFunctions.iconExists(name)).toBe(true);
|
||||
expect(storageFunctions.getIcon(name)).toEqual(
|
||||
expect(listIcons('', prefix2)).toEqual([name]);
|
||||
expect(iconExists(name)).toBe(true);
|
||||
expect(getIcon(name)).toEqual(
|
||||
fullIcon({
|
||||
body: '<g data-icon="prefixed-icon" />',
|
||||
})
|
||||
@ -135,8 +139,8 @@ describe('Testing IconifyStorageFunctions', () => {
|
||||
|
||||
// Test prefixed icon, using '-' separator
|
||||
name = `${prefix2}-${name2}`;
|
||||
expect(storageFunctions.iconExists(name)).toBe(true);
|
||||
expect(storageFunctions.getIcon(name)).toEqual(
|
||||
expect(iconExists(name)).toBe(true);
|
||||
expect(getIcon(name)).toEqual(
|
||||
fullIcon({
|
||||
body: '<g data-icon="prefixed-icon" />',
|
||||
})
|
@ -1,9 +1,9 @@
|
||||
/* eslint-disable @typescript-eslint/ban-ts-comment */
|
||||
import {
|
||||
newStorage,
|
||||
addIcon,
|
||||
addIconToStorage,
|
||||
iconExists,
|
||||
getIcon,
|
||||
getIconFromStorage,
|
||||
addIconSet,
|
||||
getStorage,
|
||||
listIcons,
|
||||
@ -15,19 +15,19 @@ describe('Testing storage', () => {
|
||||
const storage = newStorage('', 'foo');
|
||||
|
||||
// Add one icon
|
||||
addIcon(storage, 'test', {
|
||||
addIconToStorage(storage, 'test', {
|
||||
body: '<path d="" />',
|
||||
width: 20,
|
||||
height: 16,
|
||||
});
|
||||
addIcon(storage, 'not-really-missing', {
|
||||
addIconToStorage(storage, 'not-really-missing', {
|
||||
body: '<path d="" />',
|
||||
width: 24,
|
||||
height: 24,
|
||||
});
|
||||
|
||||
// Add another icon with reserved keyword as name
|
||||
addIcon(storage, 'constructor', {
|
||||
addIconToStorage(storage, 'constructor', {
|
||||
body: '<g></g>',
|
||||
width: 24,
|
||||
height: 24,
|
||||
@ -38,7 +38,7 @@ describe('Testing storage', () => {
|
||||
storage.missing['not-really-missing'] = Date.now();
|
||||
|
||||
// Add invalid icon
|
||||
addIcon(storage, 'invalid', {} as unknown as IconifyIcon);
|
||||
addIconToStorage(storage, 'invalid', {} as unknown as IconifyIcon);
|
||||
|
||||
// Should not include 'invalid'
|
||||
expect(Object.keys(storage.icons)).toEqual([
|
||||
@ -65,7 +65,7 @@ describe('Testing storage', () => {
|
||||
vFlip: false,
|
||||
rotate: 0,
|
||||
};
|
||||
const icon = getIcon(storage, 'test');
|
||||
const icon = getIconFromStorage(storage, 'test');
|
||||
expect(icon).toEqual(expected);
|
||||
|
||||
// Test icon mutation
|
||||
@ -88,10 +88,10 @@ describe('Testing storage', () => {
|
||||
vFlip: false,
|
||||
rotate: 1,
|
||||
};
|
||||
expect(getIcon(storage, 'constructor')).toEqual(expected);
|
||||
expect(getIconFromStorage(storage, 'constructor')).toEqual(expected);
|
||||
|
||||
expect(getIcon(storage, 'invalid')).toBeNull();
|
||||
expect(getIcon(storage, 'missing')).toBeNull();
|
||||
expect(getIconFromStorage(storage, 'invalid')).toBeNull();
|
||||
expect(getIconFromStorage(storage, 'missing')).toBeNull();
|
||||
});
|
||||
|
||||
it('Adding simple icon set', () => {
|
||||
@ -134,7 +134,7 @@ describe('Testing storage', () => {
|
||||
vFlip: false,
|
||||
rotate: 0,
|
||||
};
|
||||
expect(getIcon(storage, 'icon1')).toEqual(expected);
|
||||
expect(getIconFromStorage(storage, 'icon1')).toEqual(expected);
|
||||
expected = {
|
||||
body: '<path d="icon2" />',
|
||||
width: 24,
|
||||
@ -145,9 +145,9 @@ describe('Testing storage', () => {
|
||||
vFlip: false,
|
||||
rotate: 0,
|
||||
};
|
||||
expect(getIcon(storage, 'icon2')).toEqual(expected);
|
||||
expect(getIcon(storage, 'invalid')).toBeNull();
|
||||
expect(getIcon(storage, 'missing')).toBeNull();
|
||||
expect(getIconFromStorage(storage, 'icon2')).toEqual(expected);
|
||||
expect(getIconFromStorage(storage, 'invalid')).toBeNull();
|
||||
expect(getIconFromStorage(storage, 'missing')).toBeNull();
|
||||
});
|
||||
|
||||
it('Icon set with aliases that use transformations', () => {
|
||||
@ -190,7 +190,9 @@ describe('Testing storage', () => {
|
||||
vFlip: false,
|
||||
rotate: 0,
|
||||
};
|
||||
expect(getIcon(storage, '16-chevron-left')).toEqual(expected);
|
||||
expect(getIconFromStorage(storage, '16-chevron-left')).toEqual(
|
||||
expected
|
||||
);
|
||||
|
||||
// Test alias
|
||||
expected = {
|
||||
@ -203,7 +205,9 @@ describe('Testing storage', () => {
|
||||
vFlip: false,
|
||||
rotate: 0,
|
||||
};
|
||||
expect(getIcon(storage, '16-chevron-right')).toEqual(expected);
|
||||
expect(getIconFromStorage(storage, '16-chevron-right')).toEqual(
|
||||
expected
|
||||
);
|
||||
});
|
||||
|
||||
it('List icons in a global storage', () => {
|
||||
@ -217,7 +221,7 @@ describe('Testing storage', () => {
|
||||
expect(listIcons(provider, prefix)).toEqual([]);
|
||||
|
||||
// Add one icon without provider
|
||||
addIcon(storage1, 'test', {
|
||||
addIconToStorage(storage1, 'test', {
|
||||
body: '<path d="" />',
|
||||
width: 20,
|
||||
height: 16,
|
||||
@ -256,7 +260,7 @@ describe('Testing storage', () => {
|
||||
expect(listIcons(provider, prefix)).toEqual([]);
|
||||
|
||||
// Add one icon with provider
|
||||
addIcon(storage2, 'test2', {
|
||||
addIconToStorage(storage2, 'test2', {
|
||||
body: '<path d="" />',
|
||||
width: 20,
|
||||
height: 16,
|
Loading…
Reference in New Issue
Block a user