1
0
mirror of https://github.com/simple-icons/simple-icons.git synced 2024-12-16 01:10:30 +02:00

Remove get-by-title from NPM package API (#4920)

This commit is contained in:
Eric Cornelissen 2021-05-25 18:40:11 +02:00 committed by GitHub
parent 860ab3874d
commit c66b8bc2f3
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 6 additions and 39 deletions

View File

@ -34,12 +34,7 @@ function escape(value) {
return value.replace(/(?<!\\)'/g, "\\'");
}
function iconToKeyValue(icon) {
let iconName = escape(icon.title);
if (icon.slug !== titleToSlug(icon.title)) {
iconName = icon.slug;
}
return `'${iconName}':${iconToObject(icon)}`;
return `'${icon.slug}':${iconToObject(icon)}`;
}
function licenseToObject(license) {
if (license === undefined) {

View File

@ -3,22 +3,7 @@ var icons = {%s};
Object.defineProperty(icons, "get", {
enumerable: false,
value: function(targetName) {
if (icons[targetName]) {
return icons[targetName];
}
var normalizedName = targetName.toLowerCase();
for (var iconName in icons) {
var icon = icons[iconName];
if (icon.slug === normalizedName) {
return icon;
}
}
for (var iconName in icons) {
var icon = icons[iconName];
if (icon.title.toLowerCase() === normalizedName) {
return icon;
}
}
return icons[targetName];
}
});

View File

@ -3,8 +3,8 @@ const simpleIcons = require('../index.js');
const { getIconSlug } = require("../scripts/utils.js");
icons.forEach(icon => {
const name = icon.slug || icon.title;
const subject = simpleIcons[name];
const slug = getIconSlug(icon);
const subject = simpleIcons[slug];
test(`${icon.title} has the correct "title"`, () => {
expect(typeof subject.title).toBe('string');
@ -13,7 +13,7 @@ icons.forEach(icon => {
test(`${icon.title} has the correct "slug"`, () => {
expect(typeof subject.slug).toBe('string');
expect(subject.slug).toEqual(getIconSlug(icon));
expect(subject.slug).toEqual(slug);
});
test(`${icon.title} has the correct "hex" value`, () => {
@ -59,21 +59,8 @@ icons.forEach(icon => {
}
});
// NOTE: Icons with custom slugs have a custom slug because their title is
// already taken, so they should not be findable by their title.
if (icon.slug === undefined) {
test(`${icon.title} can be found by it's title`, () => {
const found = simpleIcons.get(icon.title);
expect(found).toBeDefined();
expect(found.title).toEqual(icon.title);
expect(found.hex).toEqual(icon.hex);
expect(found.source).toEqual(icon.source);
});
}
test(`${icon.title} can be found by it's slug`, () => {
const name = getIconSlug(icon);
const found = simpleIcons.get(name);
const found = simpleIcons.get(slug);
expect(found).toBeDefined();
expect(found.title).toEqual(icon.title);
expect(found.hex).toEqual(icon.hex);