diff --git a/CHANGELOG.md b/CHANGELOG.md
index 089ff9e..4a49647 100755
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,9 @@
+
+# [2.8.0](https://github.com/faker-javascript/faker) (2022-01-23)
+* Added new method `tld` to generate fake tld value.
+* Added new method `browser` to generate fake browser value.
+* Added new method `url` to generate fake url value.
+
# [2.7.0](https://github.com/faker-javascript/faker) (2022-01-19)
* Added new method `firstname` to generate fake first name value.
diff --git a/index.d.ts b/index.d.ts
index c80cee0..799a2f2 100644
--- a/index.d.ts
+++ b/index.d.ts
@@ -54,6 +54,10 @@ interface OptionsFirstname {
interface OptionsLastname {
locale?: string;
}
+interface OptionsUrl {
+ protocol?: string;
+ tld?: string;
+}
declare class Faker {
boolean(): boolean;
integer(options?: OptionsInteger): number;
@@ -70,6 +74,9 @@ declare class Faker {
sentence(options?: OptionsSentence): string;
paragraph(options?: OptionsParagraph): string;
domain(options?: OptionsDomain): string;
+ url(options?: OptionsUrl): string;
+ browser(): string;
+ tld(): string;
email(options?: OptionsEmail): string;
firstName(options?: OptionsFirstname): string;
lastName(options?: OptionsLastname): string;
diff --git a/index.js b/index.js
index 8e99355..b40f911 100644
--- a/index.js
+++ b/index.js
@@ -13,6 +13,9 @@ import word from '@fakerjs/word';
import sentence from '@fakerjs/sentence';
import paragraph from '@fakerjs/paragraph';
import domain from '@fakerjs/domain';
+import url from '@fakerjs/url';
+import tld from '@fakerjs/tld';
+import browser from '@fakerjs/browser';
import email from '@fakerjs/email';
import firstName from '@fakerjs/firstname';
import lastName from '@fakerjs/lastname';
@@ -89,6 +92,18 @@ class Faker {
lastName(options) {
return lastName(options);
}
+
+ browser() {
+ return browser();
+ }
+
+ url(options) {
+ return url(options);
+ }
+
+ tld() {
+ return tld();
+ }
}
const faker = new Faker();
diff --git a/index.test-d.ts b/index.test-d.ts
index 9c1e874..3f407c1 100644
--- a/index.test-d.ts
+++ b/index.test-d.ts
@@ -16,6 +16,9 @@ expectType(faker.word());
expectType(faker.sentence());
expectType(faker.paragraph());
expectType(faker.domain());
+expectType(faker.url());
+expectType(faker.tld());
+expectType(faker.browser());
expectType(faker.email());
expectType(faker.firstName());
expectType(faker.lastName());
diff --git a/package.json b/package.json
index 9ea592c..9da1441 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "@fakerjs/faker",
- "version": "2.7.0",
+ "version": "2.8.0",
"description": "A set of javascript packages that generates fake data for you.",
"license": "MIT",
"repository": "faker-javascript/faker",
@@ -53,6 +53,9 @@
"@fakerjs/sentence": "^1",
"@fakerjs/paragraph": "^1",
"@fakerjs/domain": "^1",
+ "@fakerjs/tld": "^1",
+ "@fakerjs/browser": "^1",
+ "@fakerjs/url": "^1",
"@fakerjs/email": "^1",
"@fakerjs/firstname": "^1",
"@fakerjs/lastname": "^1"
diff --git a/test.js b/test.js
index 4427375..173ffeb 100644
--- a/test.js
+++ b/test.js
@@ -76,3 +76,15 @@ test('faker firstName return type to be string', t => {
test('faker lastName return type to be string', t => {
t.is(typeof faker.lastName(), 'string');
});
+
+test('faker url return type to be string', t => {
+ t.is(typeof faker.url(), 'string');
+});
+
+test('faker tld return type to be string', t => {
+ t.is(typeof faker.tld(), 'string');
+});
+
+test('faker browser return type to be string', t => {
+ t.is(typeof faker.browser(), 'string');
+});
\ No newline at end of file