New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

linkedin-private-api-v2

Package Overview
Dependencies
Maintainers
1
Versions
6
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

linkedin-private-api-v2 - npm Package Compare versions

Comparing version

to
1.1.5

dist/src/config/index.d.ts

4

dist/src/core/client.d.ts
import { AxiosProxyConfig } from 'axios';
import { CommentRepository } from '../repositories/comment.repository';
import { CelebrationsRepository, ConversationRepository, InvitationRepository, MessageRepository, NotificationRepository, ProfileRepository, SearchRepository } from '../repositories';
import { CelebrationsRepository, CommentRepository, ConversationRepository, FeedRepository, InvitationRepository, MessageRepository, NotificationRepository, ProfileRepository, SearchRepository } from '../repositories';
import { LinkedInRequest } from './linkedin-request';

@@ -21,3 +20,4 @@ import { Login } from './login';

notification: NotificationRepository;
feed: FeedRepository;
}
export {};
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.Client = void 0;
const comment_repository_1 = require("../repositories/comment.repository");
const repositories_1 = require("../repositories");

@@ -17,4 +16,5 @@ const linkedin_request_1 = require("./linkedin-request");

this.celebration = new repositories_1.CelebrationsRepository({ client: this });
this.comment = new comment_repository_1.CommentRepository({ client: this });
this.comment = new repositories_1.CommentRepository({ client: this });
this.notification = new repositories_1.NotificationRepository({ client: this });
this.feed = new repositories_1.FeedRepository({ client: this });
this.request = new linkedin_request_1.LinkedInRequest({ proxy });

@@ -21,0 +21,0 @@ }

@@ -11,2 +11,3 @@ import { CelebrationRequest } from '../requests/celebrations.request';

import { NotificationRequest } from '../requests/notification.request';
import { FeedRequest } from '../requests/feed.request';
export declare class LinkedInRequest extends Request {

@@ -22,2 +23,3 @@ conversation: ConversationRequest;

notification: NotificationRequest;
feed: FeedRequest;
}

@@ -14,2 +14,3 @@ "use strict";

const notification_request_1 = require("../requests/notification.request");
const feed_request_1 = require("../requests/feed.request");
class LinkedInRequest extends request_1.Request {

@@ -27,2 +28,3 @@ constructor() {

this.notification = new notification_request_1.NotificationRequest({ request: this });
this.feed = new feed_request_1.FeedRequest({ request: this });
}

@@ -29,0 +31,0 @@ }

import { AxiosInstance, AxiosRequestConfig, AxiosResponse, AxiosProxyConfig } from 'axios';
declare type ConfigFullResponse = AxiosRequestConfig & {
type ConfigFullResponse = AxiosRequestConfig & {
fullResponse?: true;
};
declare type ConfigNonFullResponse = AxiosRequestConfig & {
type ConfigNonFullResponse = AxiosRequestConfig & {
fullResponse?: false;

@@ -19,3 +19,5 @@ };

post<T>(url: string, data: string | Record<string, unknown>, reqConfig?: ConfigFullResponse): Promise<AxiosResponse<T>>;
put<T>(url: string, data: string | Record<string, unknown>, reqConfig?: ConfigNonFullResponse): Promise<T>;
put<T>(url: string, data: string | Record<string, unknown>, reqConfig?: ConfigFullResponse): Promise<AxiosResponse<T>>;
}
export {};

@@ -31,4 +31,8 @@ "use strict";

}
async put(url, data, reqConfig) {
const response = await this.request.put(buildUrl(url), data, reqConfig);
return (reqConfig === null || reqConfig === void 0 ? void 0 : reqConfig.fullResponse) ? response : response.data;
}
}
exports.Request = Request;
//# sourceMappingURL=request.js.map

@@ -1,2 +0,2 @@

import { HeaderImage } from './common.entity';
import { LinkedinHeaderImage } from './common.entity';
export declare type CelebrationId = string;

@@ -31,3 +31,3 @@ export declare enum CelebrationEnum {

objectUrn: string;
headerImage: HeaderImage;
headerImage: LinkedinHeaderImage;
actions: CelebrationActionAttribute[];

@@ -34,0 +34,0 @@ publishedAt: number;

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.CelebrationEnum = void 0;
var CelebrationEnum;
(function (CelebrationEnum) {
CelebrationEnum["BIRTHDAY"] = "birthdays";
CelebrationEnum["WORK_ANNIVERSARY"] = "work_anniversaries";
CelebrationEnum["JOB_CHANGE"] = "job_changes";
})(CelebrationEnum = exports.CelebrationEnum || (exports.CelebrationEnum = {}));
//# sourceMappingURL=celebration.entity.js.map

@@ -13,3 +13,3 @@ export interface DetailData {

}
export interface HeaderImage {
export interface LinkedinHeaderImage {
attributes: Attribute[];

@@ -20,3 +20,3 @@ actionTarget: string;

$recipeTypes: string[];
$type: string;
$type: 'com.linkedin.voyager.common.ImageViewModel';
}

@@ -56,3 +56,3 @@ export interface DetailDataUnion2 {

}
export interface Description {
export interface LinkedinDescription {
textDirection: string;

@@ -79,3 +79,3 @@ text: string;

optionType: string;
description: Description;
description: LinkedinDescription;
title: Title;

@@ -82,0 +82,0 @@ $recipeTypes: string[];

import { LinkedinConversation } from './linkedin-conversation.entity';
import { MiniProfile } from './mini-profile.entity';
export declare type ConversationId = string;
export type ConversationId = string;
export interface Conversation extends LinkedinConversation {

@@ -5,0 +5,0 @@ conversationId: ConversationId;

@@ -38,1 +38,9 @@ export * from './company-search-hit.entity';

export * from './common.entity';
export * from './linkedin-invitation-summary.entity';
export * from './linkedin-individual-profile.entity';
export * from './linkedin-response.entity';
export * from './profile-network-info.entity';
export * from './add-sales-nav-seat.entity';
export * from './feed-hit.entity';
export * from './feed.entity';
export * from './social-feed-details.entity';

@@ -54,2 +54,10 @@ "use strict";

__exportStar(require("./common.entity"), exports);
__exportStar(require("./linkedin-invitation-summary.entity"), exports);
__exportStar(require("./linkedin-individual-profile.entity"), exports);
__exportStar(require("./linkedin-response.entity"), exports);
__exportStar(require("./profile-network-info.entity"), exports);
__exportStar(require("./add-sales-nav-seat.entity"), exports);
__exportStar(require("./feed-hit.entity"), exports);
__exportStar(require("./feed.entity"), exports);
__exportStar(require("./social-feed-details.entity"), exports);
//# sourceMappingURL=index.js.map

@@ -14,2 +14,2 @@ import { LinkedInBaseCompany } from './linkedin-base-company';

}
export declare type JobSearchHit = LinkedInSearchHit<PopulatedJobHitInfo>;
export type JobSearchHit = LinkedInSearchHit<PopulatedJobHitInfo>;

@@ -9,2 +9,3 @@ interface Paging {

elements: T[];
'*elements': T[];
$type: 'com.linkedin.restli.common.CollectionResponse';

@@ -11,0 +12,0 @@ entityUrn: string;

@@ -18,3 +18,3 @@ import { MiniProfileUrn } from './linkedin-mini-profile.entity';

export declare const CONVERSATION_TYPE = "com.linkedin.voyager.messaging.Conversation";
export declare type ConversationUrn = string;
export type ConversationUrn = string;
export interface LinkedinConversation {

@@ -21,0 +21,0 @@ $type: typeof CONVERSATION_TYPE;

@@ -1,2 +0,2 @@

export declare type LinkedInEventUrn = string;
export type LinkedInEventUrn = string;
export declare const EVENT_TYPE = "com.linkedin.voyager.messaging.Event";

@@ -3,0 +3,0 @@ export interface LinkedInEvent {

import { LinkedInVectorImage } from './linkedin-vector-image.entity';
export declare type MiniProfileUrn = string;
export type MiniProfileUrn = string;
export declare const MINI_PROFILE_TYPE = "com.linkedin.voyager.identity.shared.MiniProfile";

@@ -4,0 +4,0 @@ export interface LinkedInMiniProfile {

@@ -32,3 +32,3 @@ import { Country } from '../types/country-code.enum';

}
export declare type ProfileUrn = string;
export type ProfileUrn = string;
export interface LinkedInProfile {

@@ -35,0 +35,0 @@ $type: typeof PROFILE_TYPE;

import { LinkedInMiniCompany } from './linkedin-mini-company.entity';
export declare type CompanyId = string;
export type CompanyId = string;
export interface MiniCompany extends LinkedInMiniCompany {
companyId: CompanyId;
}
import { LinkedInMiniProfile } from './linkedin-mini-profile.entity';
export declare type ProfileId = string;
export type ProfileId = string;
export interface MiniProfile extends LinkedInMiniProfile {

@@ -4,0 +4,0 @@ profileId: ProfileId;

@@ -1,3 +0,3 @@

import { CelebrationEnum } from '../entities';
import { Client } from '../core/client';
import { CelebrationEnum, CelebrationHit } from '../entities';
import { Client } from '../core';
import { CelebrationScroller } from '../scrollers';

@@ -14,3 +14,7 @@ export declare class CelebrationsRepository {

}): CelebrationScroller;
private fetchCelebrations;
fetchCelebrations({ type, skip, limit, }: {
type: CelebrationEnum;
skip?: number;
limit?: number;
}): Promise<CelebrationHit[]>;
}
"use strict";
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
var desc = Object.getOwnPropertyDescriptor(m, k);
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
desc = { enumerable: true, get: function() { return m[k]; } };
}
Object.defineProperty(o, k2, desc);
}) : (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
o[k2] = m[k];
}));
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
Object.defineProperty(o, "default", { enumerable: true, value: v });
}) : function(o, v) {
o["default"] = v;
});
var __importStar = (this && this.__importStar) || function (mod) {
if (mod && mod.__esModule) return mod;
var result = {};
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
__setModuleDefault(result, mod);
return result;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};

@@ -28,4 +8,4 @@ Object.defineProperty(exports, "__esModule", { value: true });

const entities_1 = require("../entities");
const lodash_1 = __importStar(require("lodash"));
const scrollers_1 = require("../scrollers");
const lodash_1 = __importDefault(require("lodash"));
const utils_1 = require("../utils");

@@ -50,19 +30,31 @@ const actionToUrn = (participant) => decodeURIComponent(participant.replace('/feed/update/', ''));

});
const profileIdentities = response.included.filter(item => lodash_1.default.get(item, '$type') === 'com.linkedin.voyager.dash.identity.profile.Profile');
const celebrationIdentities = response.included.filter(item => lodash_1.default.get(item, '$type') === 'com.linkedin.voyager.dash.props.PropCard');
const profileIdentities = response.included
.filter(item => lodash_1.default.get(item, '$type') === 'com.linkedin.voyager.dash.identity.profile.Profile')
.map(item => item);
const celebrationIdentities = response.included
.filter(item => lodash_1.default.get(item, '$type') === 'com.linkedin.voyager.dash.props.PropCard')
.map(item => item);
const profileUserIds = celebrationIdentities
.filter(item => profileIdentities.some(id => id.entityUrn === item.headerImage.attributes[0].detailData['*profilePicture']))
.filter(item => !item.actions.some(action => { var _a; return (_a = action === null || action === void 0 ? void 0 : action.action) === null || _a === void 0 ? void 0 : _a.confirmationAction; }))
.filter(item => !item.actions.some(action => action === null || action === void 0 ? void 0 : action.action.confirmationAction))
.map(item => {
var _a, _b, _c, _d, _e;
return ({
var _a, _b, _c, _d;
let predefinedMessage;
for (const action of item.actions) {
const messageAction = (_a = action === null || action === void 0 ? void 0 : action.action) === null || _a === void 0 ? void 0 : _a.messageAction;
if (messageAction === null || messageAction === void 0 ? void 0 : messageAction.prefilledMessage) {
predefinedMessage = messageAction.prefilledMessage;
break;
}
}
return {
publishedAt: item === null || item === void 0 ? void 0 : item.publishedAt,
textDate: (_a = item === null || item === void 0 ? void 0 : item.subHeadline) === null || _a === void 0 ? void 0 : _a.text,
predefinedMessage: (_d = (_c = (_b = item.actions.find(action => { var _a, _b; return (_b = (_a = action === null || action === void 0 ? void 0 : action.action) === null || _a === void 0 ? void 0 : _a.messageAction) === null || _b === void 0 ? void 0 : _b.prefilledMessage; })) === null || _b === void 0 ? void 0 : _b.action) === null || _c === void 0 ? void 0 : _c.messageAction) === null || _d === void 0 ? void 0 : _d.prefilledMessage,
publicIdentifier: (0, utils_1.transformToProfileIdentifier)(item.headerImage.actionTarget),
profileId: (0, utils_1.transformHeaderImageToProfileId)(item.headerImage),
postUrn: actionToUrn((_e = item === null || item === void 0 ? void 0 : item.cardAction) === null || _e === void 0 ? void 0 : _e.displayAction),
});
textDate: (_b = item === null || item === void 0 ? void 0 : item.subHeadline) === null || _b === void 0 ? void 0 : _b.text,
predefinedMessage,
publicIdentifier: (0, utils_1.transformToProfileIdentifier)((_c = item === null || item === void 0 ? void 0 : item.headerImage) === null || _c === void 0 ? void 0 : _c.actionTarget),
profileId: (0, utils_1.transformHeaderImageToProfileId)(item === null || item === void 0 ? void 0 : item.headerImage),
postUrn: actionToUrn((_d = item === null || item === void 0 ? void 0 : item.cardAction) === null || _d === void 0 ? void 0 : _d.displayAction),
};
});
return (0, lodash_1.orderBy)(profileUserIds, 'publishedAt', 'desc');
return lodash_1.default.orderBy(profileUserIds, 'publishedAt', 'desc');
}

@@ -69,0 +61,0 @@ }

@@ -8,1 +8,3 @@ export * from './conversation.repository';

export * from './notification.repository';
export * from './comment.repository';
export * from './feed.repository';

@@ -24,2 +24,4 @@ "use strict";

__exportStar(require("./notification.repository"), exports);
__exportStar(require("./comment.repository"), exports);
__exportStar(require("./feed.repository"), exports);
//# sourceMappingURL=index.js.map

@@ -1,4 +0,4 @@

import { MessageEventCreateResponse } from '../entities/message-create-response.entity copy';
import { Client } from '../core/client';
import { ConversationId } from '../entities/conversation.entity';
import { MessageEventCreateResponse } from '../entities/message-create-response.entity';
import { ProfileId } from '../entities/mini-profile.entity';

@@ -15,4 +15,5 @@ import { MessageScroller } from '../scrollers';

}): MessageScroller;
sendMessage({ profileId, text }: {
profileId: ProfileId;
sendMessage({ profileId, conversationId, text, }: {
profileId?: ProfileId;
conversationId?: ConversationId;
text: string;

@@ -19,0 +20,0 @@ }): Promise<MessageEventCreateResponse>;

@@ -16,5 +16,5 @@ "use strict";

}
async sendMessage({ profileId, text }) {
async sendMessage({ profileId, conversationId, text, }) {
var _a;
const response = await this.client.request.message.sendMessage({ profileId, text });
const response = await this.client.request.message.sendMessage({ profileId, conversationId, text });
return { ...(_a = response === null || response === void 0 ? void 0 : response.data) === null || _a === void 0 ? void 0 : _a.value, text };

@@ -21,0 +21,0 @@ }

@@ -0,4 +1,5 @@

import { Client } from '../core';
import { NotificationScroller } from '../scrollers/notification.scroller';
import { FetchAcceptedNotificationParams } from '../entities';
import { NotificationScroller } from '../scrollers/notification.scroller';
import { Client } from '../core/client';
import { LinkedinNotification } from '../entities/notification.entity';
export declare class NotificationRepository {

@@ -10,3 +11,3 @@ private client;

getAcceptedInvitationNotifications(params: FetchAcceptedNotificationParams): NotificationScroller;
private fetchAcceptedInvitationNotifications;
fetchAcceptedInvitationNotifications(params: FetchAcceptedNotificationParams): Promise<LinkedinNotification[]>;
}

@@ -9,9 +9,12 @@ "use strict";

const notifications = response.included.filter(item => notificationUrns.some(urn => urn === item.entityUrn));
return notifications.map(notification => ({
publishedAt: notification === null || notification === void 0 ? void 0 : notification.publishedAt,
profileId: (0, utils_1.transformHeaderImageToProfileId)(notification.headerImage),
publicIdentifier: (0, utils_1.transformToProfileIdentifier)(notification.headerImage.actionTarget),
headlineText: notification.headline.text,
$type: 'com.linkedin.voyager.dash.identity.notifications.Card',
}));
return notifications.map(notification => {
var _a;
return ({
publishedAt: notification === null || notification === void 0 ? void 0 : notification.publishedAt,
profileId: (0, utils_1.transformHeaderImageToProfileId)(notification.headerImage),
publicIdentifier: (0, utils_1.transformToProfileIdentifier)(notification.headerImage.actionTarget),
headlineText: (_a = notification.headline) === null || _a === void 0 ? void 0 : _a.text,
$type: 'com.linkedin.voyager.dash.identity.notifications.Card',
});
});
};

@@ -18,0 +21,0 @@ class NotificationRepository {

@@ -5,2 +5,4 @@ import { Client } from '../core/client';

import { Profile } from '../entities/profile.entity';
import { IndividualProfile } from '../entities/individual-profile.entity';
export declare const transformMiniProfile: (miniProfile: LinkedInMiniProfile) => MiniProfile;
export declare const getProfilesFromResponse: <T extends {

@@ -20,2 +22,4 @@ included: (LinkedInMiniProfile | {

getOwnProfile(): Promise<Profile | null>;
getIndividualProfile(id: string): Promise<IndividualProfile | null>;
viewProfile(publicProfileId: string, targetProfileMemberUrnId?: string | null, networkDistance?: number | null): Promise<boolean>;
}
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.ProfileRepository = exports.getProfilesFromResponse = void 0;
exports.ProfileRepository = exports.getProfilesFromResponse = exports.transformMiniProfile = void 0;
const lodash_1 = require("lodash");

@@ -14,5 +14,6 @@ const linkedin_company_entity_1 = require("../entities/linkedin-company.entity");

});
exports.transformMiniProfile = transformMiniProfile;
const getProfilesFromResponse = (response) => {
const miniProfiles = (0, lodash_1.filter)(response.included, p => p.$type === linkedin_mini_profile_entity_1.MINI_PROFILE_TYPE);
const transformedMiniProfiles = miniProfiles.map((miniProfile) => transformMiniProfile(miniProfile));
const transformedMiniProfiles = miniProfiles.map((miniProfile) => (0, exports.transformMiniProfile)(miniProfile));
return (0, lodash_1.keyBy)(transformedMiniProfiles, 'profileId');

@@ -30,3 +31,3 @@ };

const company = results.find(r => r.$type === linkedin_company_entity_1.COMPANY_TYPE && profile.headline.includes(r.name));
const pictureUrls = getProfilePictureUrls((0, lodash_1.get)(profile, 'profilePicture.displayImageReference.vectorImage', {}));
const pictureUrls = getProfilePictureUrls((0, lodash_1.get)(profile, 'profilePicture.displayImageReference.vectorImage'));
return {

@@ -47,4 +48,15 @@ ...profile,

}
async getIndividualProfile(id) {
const { data: profile, included = [] } = await this.client.request.profile.getIndividualProfile(id);
const miniProfile = included === null || included === void 0 ? void 0 : included.find(r => r.$type === linkedin_mini_profile_entity_1.MINI_PROFILE_TYPE);
return {
...profile,
miniProfile,
};
}
async viewProfile(publicProfileId, targetProfileMemberUrnId, networkDistance) {
return this.client.request.profile.viewProfile(publicProfileId, targetProfileMemberUrnId, networkDistance);
}
}
exports.ProfileRepository = ProfileRepository;
//# sourceMappingURL=profile.repository.js.map

@@ -5,2 +5,10 @@ import { AxiosResponse } from 'axios';

private request;
metadata: {
clientApplicationInstance?: {
version: string;
trackingId: string;
applicationUrn: string;
};
clientPageInstanceId?: string;
};
constructor({ request }: {

@@ -15,2 +23,10 @@ request: LinkedInRequest;

}): Promise<AxiosResponse>;
getMetadata(): Promise<{
clientApplicationInstance?: {
version: string;
trackingId: string;
applicationUrn: string;
} | undefined;
clientPageInstanceId?: string | undefined;
}>;
}

@@ -5,5 +5,7 @@ "use strict";

const querystring_1 = require("querystring");
const cheerio_1 = require("cheerio");
const config_1 = require("../../config");
class AuthRequest {
constructor({ request }) {
this.metadata = {};
this.request = request;

@@ -14,3 +16,3 @@ }

}
authenticateUser({ username, password, sessionId, }) {
async authenticateUser({ username, password, sessionId, }) {
const payload = {

@@ -21,9 +23,32 @@ session_key: username,

};
return this.request.post(config_1.authUrl, (0, querystring_1.stringify)(payload), {
const response = await this.request.post(config_1.authUrl, (0, querystring_1.stringify)(payload), {
headers: config_1.authHeaders,
fullResponse: true,
});
this.getMetadata();
return response;
}
async getMetadata() {
var _a, _b;
if (((_a = this === null || this === void 0 ? void 0 : this.metadata) === null || _a === void 0 ? void 0 : _a.clientApplicationInstance) || ((_b = this === null || this === void 0 ? void 0 : this.metadata) === null || _b === void 0 ? void 0 : _b.clientPageInstanceId)) {
return this.metadata;
}
const res = await this.request.get('/');
const $ = (0, cheerio_1.load)(res);
const clientApplicationInstanceRaw = $('meta[name="applicationInstance"]');
const clientApplicationInstanceContent = clientApplicationInstanceRaw.attr('content');
if (clientApplicationInstanceRaw && clientApplicationInstanceContent) {
const clientApplicationInstance = JSON.parse(clientApplicationInstanceContent);
this.metadata.clientApplicationInstance = clientApplicationInstance;
}
const clientPageInstanceIdRaw = $('meta[name="clientPageInstanceId"]');
const clientPageInstanceIdContent = clientPageInstanceIdRaw.attr('content');
if (clientPageInstanceIdRaw) {
const clientPageInstanceId = clientPageInstanceIdContent;
this.metadata.clientPageInstanceId = clientPageInstanceId;
}
return this.metadata;
}
}
exports.AuthRequest = AuthRequest;
//# sourceMappingURL=auth.request.js.map
import { CelebrationEnum } from '../entities';
import { LinkedInRequest } from '../core/linkedin-request';
import { GetCelebrationsResponse } from '../responses/celebration-response.get';
import { GetCelebrationsResponse } from '../responses';
export declare class CelebrationRequest {

@@ -5,0 +5,0 @@ private request;

@@ -10,3 +10,3 @@ "use strict";

const queryParams = {
decorationId: 'com.linkedin.voyager.dash.deco.social.NormComment-32',
decorationId: 'com.linkedin.voyager.dash.deco.social.NormComment-36',
};

@@ -13,0 +13,0 @@ const payload = {

@@ -44,3 +44,3 @@ "use strict";

const queryParams = {
types: "List(SENT_INVITATION_COUNT,PENDING_INVITATION_COUNT,UNSEEN_INVITATION_COUNT,PENDING_INVITATION_BY_FACET_COUNT)",
types: 'List(SENT_INVITATION_COUNT,PENDING_INVITATION_COUNT,UNSEEN_INVITATION_COUNT,PENDING_INVITATION_BY_FACET_COUNT)',
};

@@ -56,5 +56,5 @@ return this.request.get('relationships/invitationsSummaryV2', {

const actionData = entityUrns.map(entityUrn => {
return { "entityUrn": entityUrn, "genericInvitation": false, "genericInvitationType": "CONNECTION" };
return { entityUrn: entityUrn, genericInvitation: false, genericInvitationType: 'CONNECTION' };
});
const body = { "inviteActionType": "ACTOR_WITHDRAW", "inviteActionData": actionData };
const body = { inviteActionType: 'ACTOR_WITHDRAW', inviteActionData: actionData };
return this.request.post('relationships/invitations', body, {

@@ -61,0 +61,0 @@ params: queryParams,

@@ -11,5 +11,7 @@ import { ProfileId } from 'src/entities';

});
sendMessage({ profileId, text }: {
profileId: ProfileId;
sendMessage({ profileId, conversationId, text, attachments, }: {
profileId?: ProfileId;
conversationId?: ConversationId;
text: string;
attachments?: any[];
}): Promise<SendMessageResponse>;

@@ -20,2 +22,15 @@ getMessages({ conversationId, createdBefore, }: {

}): Promise<GetMessagesResponse>;
getAttachment({ url }: {
url: string;
}): Promise<unknown>;
uploadAttachmentMetadata({ filename, fileSize }: {
filename: string;
fileSize: number;
}): Promise<unknown>;
uploadAttachment({ file, uploadUrl, fileSize, mimetype, }: {
file: any;
uploadUrl: string;
fileSize: number;
mimetype: string;
}): Promise<unknown>;
}

@@ -8,7 +8,7 @@ "use strict";

}
sendMessage({ profileId, text }) {
sendMessage({ profileId, conversationId, text, attachments = [], }) {
const queryParams = {
action: 'create',
};
const payload = {
const directMessagePayload = {
keyVersion: 'LEGACY_INBOX',

@@ -23,3 +23,3 @@ conversationCreate: {

},
attachments: [],
attachments,
},

@@ -32,9 +32,23 @@ },

};
return this.request.post('messaging/conversations', payload, {
params: queryParams,
});
const conversationPayload = {
eventCreate: {
originToken: '54b3a724-59c5-4cf2-adbd-660483010a87',
value: {
'com.linkedin.voyager.messaging.create.MessageCreate': {
attributedBody: { text, attributes: [] },
attachments,
},
},
},
dedupeByClientGeneratedToken: false,
};
const conversationUrl = `messaging/conversations/${conversationId}/events`;
const directMessageUrl = 'messaging/conversations';
const payload = conversationId ? conversationPayload : directMessagePayload;
const url = conversationId ? conversationUrl : directMessageUrl;
return this.request.post(url, payload, { params: queryParams });
}
getMessages({ conversationId, createdBefore, }) {
const queryParams = {
keyVersion: 'LEGACY_INBOX',
q: 'syncToken',
...(createdBefore && { createdBefore: createdBefore.getTime() }),

@@ -46,4 +60,32 @@ };

}
async getAttachment({ url }) {
return this.request.get(url, {
responseType: 'arraybuffer',
fullResponse: true,
maxContentLength: 100000000,
maxBodyLength: 1000000000,
});
}
async uploadAttachmentMetadata({ filename, fileSize }) {
const url = '/voyager/api/voyagerVideoDashMediaUploadMetadata';
const uploadMetadataResponse = await this.request.post(url, {
fileSize,
filename,
mediaUploadType: 'MESSAGING_FILE_ATTACHMENT',
}, {
params: { action: 'upload' },
});
const { urn, singleUploadUrl: uploadUrl } = uploadMetadataResponse.value;
return { urn, uploadUrl };
}
async uploadAttachment({ file, uploadUrl, fileSize, mimetype, }) {
return this.request.put(uploadUrl, file, {
headers: {
'content-type': mimetype,
'content-length': fileSize,
},
});
}
}
exports.MessageRequest = MessageRequest;
//# sourceMappingURL=message.request.js.map
import { LinkedInRequest } from '../core/linkedin-request';
import { GetOwnProfileResponse } from '../responses/own-profile.response.get';
import { GetProfileResponse } from '../responses/profile.response.get';
import { GetIndividualProfileResponse, GetProfileNetworkInfoResponse } from '../responses';
export declare class ProfileRequest {

@@ -12,3 +13,7 @@ private request;

}): Promise<GetProfileResponse>;
getIndividualProfile(id: string): Promise<GetIndividualProfileResponse>;
getOwnProfile(): Promise<GetOwnProfileResponse>;
track(eventBody: any, eventInfo: any): Promise<boolean>;
getProfileNetworkInfo(publicProfileId: string): Promise<GetProfileNetworkInfoResponse>;
viewProfile(publicProfileId: string, targetProfileMemberUrnId?: string | null, networkDistance?: number | null): Promise<boolean>;
}
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.ProfileRequest = void 0;
const utils_1 = require("../utils");
const entities_1 = require("../entities");
class ProfileRequest {

@@ -18,7 +20,85 @@ constructor({ request }) {

}
async getIndividualProfile(id) {
return this.request.get(`identity/profiles/${id}`);
}
getOwnProfile() {
return this.request.get('me');
}
async track(eventBody, eventInfo) {
const payload = [{ eventBody, eventInfo }];
await this.request.post('/li/track', JSON.stringify(payload), {
headers: {
accept: '*/*',
'content-type': 'text/plain;charset=UTF-8',
},
});
return true;
}
async getProfileNetworkInfo(publicProfileId) {
return this.request.get(`identity/profiles/${publicProfileId}/networkinfo`, {
headers: {
accept: 'application/vnd.linkedin.normalized+json+2.1',
},
});
}
async viewProfile(publicProfileId, targetProfileMemberUrnId = null, networkDistance = null) {
var _a, _b;
const myProfile = await this.getOwnProfile();
if (!targetProfileMemberUrnId) {
const profile = await this.getIndividualProfile(publicProfileId);
const miniProfile = (_a = profile === null || profile === void 0 ? void 0 : profile.included) === null || _a === void 0 ? void 0 : _a.find(r => r.$type === entities_1.MINI_PROFILE_TYPE);
if (miniProfile === null || miniProfile === void 0 ? void 0 : miniProfile.objectUrn) {
targetProfileMemberUrnId = (0, utils_1.getIdFromUrn)(miniProfile === null || miniProfile === void 0 ? void 0 : miniProfile.objectUrn);
}
}
if (!networkDistance) {
const profileNetworkInfo = await this.getProfileNetworkInfo(publicProfileId);
networkDistance = parseInt(profileNetworkInfo.data.distance.value.split('_')[1], 10);
}
const viewerPrivacySetting = 'F';
const myMemberId = myProfile.data.plainId;
const currentTimeInSeconds = Date.now();
const metadata = await this.request.auth.getMetadata();
const clientApplicationInstance = metadata.clientApplicationInstance;
const clientPageInstanceId = metadata.clientPageInstanceId;
const trackingId = (_b = metadata.clientApplicationInstance) === null || _b === void 0 ? void 0 : _b.trackingId;
const eventBody = {
viewerPrivacySetting,
networkDistance: networkDistance,
vieweeMemberUrn: `urn:li:member:${targetProfileMemberUrnId}`,
profileTrackingId: clientPageInstanceId,
entityView: {
viewType: 'profile-view',
viewerId: Number(myMemberId),
targetId: Number(targetProfileMemberUrnId),
},
header: {
pageInstance: {
pageUrn: 'urn:li:page:d_flagship3_profile_view_base',
trackingId: trackingId,
},
time: currentTimeInSeconds,
version: clientApplicationInstance === null || clientApplicationInstance === void 0 ? void 0 : clientApplicationInstance.version,
clientApplicationInstance: clientApplicationInstance,
},
requestHeader: {
interfaceLocale: 'en_US',
pageKey: 'd_flagship3_profile_view_base',
path: `/in/${targetProfileMemberUrnId}/`,
referer: 'https://www.linkedin.com/feed/',
},
};
const event = {
eventBody,
eventInfo: {
appId: 'com.linkedin.flagship3.d_web',
eventName: 'ProfileViewEvent',
topicName: 'ProfileViewEvent',
},
};
await this.track(event.eventBody, event.eventInfo);
return true;
}
}
exports.ProfileRequest = ProfileRequest;
//# sourceMappingURL=profile.request.js.map

@@ -1,4 +0,4 @@

import { HeaderImage, Headline, CardAction, SettingOption, Action } from '../entities';
import { LinkedinHeaderImage, Headline, CardAction, SettingOption, Action } from '../entities';
import { LinkedInCollectionResponse } from '../entities/linkedin-collection-response.entity';
interface FetchAcceptedNotificationIncludedItem {
export interface FetchAcceptedNotificationIncludedItem {
contentImages: any[];

@@ -10,3 +10,3 @@ objectUrn: string;

entityUrn: string;
headerImage: HeaderImage;
headerImage: LinkedinHeaderImage;
subHeadline?: any;

@@ -38,3 +38,3 @@ tertiaryImage?: any;

}
interface AcceptedNotificationElementItem {
export interface AcceptedNotificationElementItem {
'*notificationCard': string;

@@ -45,3 +45,3 @@ notificationCardUrn: string;

}
interface AcceptedInvitationNotificationMeta {
export interface AcceptedInvitationNotificationMeta {
nextStart: number;

@@ -51,3 +51,2 @@ $recipeTypes: ['com.linkedin.voyager.dash.deco.relationships.InvitationAcceptanceNotificationsMetadata'];

}
export declare type GetAcceptedInvitationNotificationResponse = LinkedInCollectionResponse<AcceptedNotificationElementItem, FetchAcceptedNotificationIncludedItem, AcceptedInvitationNotificationMeta>;
export {};
export type GetAcceptedInvitationNotificationResponse = LinkedInCollectionResponse<AcceptedNotificationElementItem, FetchAcceptedNotificationIncludedItem, AcceptedInvitationNotificationMeta>;

@@ -15,3 +15,3 @@ import { LinkedInCollectionResponse } from '../entities/linkedin-collection-response.entity';

}
export declare type GetBlendedSearchResponse = LinkedInCollectionResponse<LinkedInSearchCluster, LinkedInMiniProfile | LinkedInMiniCompany, GetBlendedSearchMetadata>;
export type GetBlendedSearchResponse = LinkedInCollectionResponse<LinkedInSearchCluster, LinkedInMiniProfile | LinkedInMiniCompany, GetBlendedSearchMetadata>;
export {};

@@ -8,3 +8,3 @@ import { LinkedInCollectionResponse } from '../entities/linkedin-collection-response.entity';

}
export declare type GetConversationsResponse = LinkedInCollectionResponse<ConversationUrn, LinkedInMiniProfile | LinkedinConversation, ConversationMetadata>;
export type GetConversationsResponse = LinkedInCollectionResponse<ConversationUrn, LinkedInMiniProfile | LinkedinConversation, ConversationMetadata>;
export {};

@@ -12,1 +12,3 @@ export * from './blended-search.reponse.get';

export * from './accepted-invitations.response.get';
export * from './individual-profile.response.get';
export * from './profile-network-info.response.get';

@@ -28,2 +28,4 @@ "use strict";

__exportStar(require("./accepted-invitations.response.get"), exports);
__exportStar(require("./individual-profile.response.get"), exports);
__exportStar(require("./profile-network-info.response.get"), exports);
//# sourceMappingURL=index.js.map

@@ -6,2 +6,2 @@ import { LinkedInCollectionResponse } from '../entities/linkedin-collection-response.entity';

import { LinkedInJobSearchHit } from '../entities/linkedin-job-search-hit-entity';
export declare type GetJobSearchResponse = LinkedInCollectionResponse<LinkedInSearchHit<LinkedInJobSearchHit>, LinkedInJobPosting | LinkedInBaseCompany, Record<string, unknown>>;
export type GetJobSearchResponse = LinkedInCollectionResponse<LinkedInSearchHit<LinkedInJobSearchHit>, LinkedInJobPosting | LinkedInBaseCompany, Record<string, unknown>>;

@@ -5,2 +5,2 @@ import { LinkedInCollectionResponse } from '../entities/linkedin-collection-response.entity';

import { LinkedInMiniProfile } from '../entities/linkedin-mini-profile.entity';
export declare type GetMessagesResponse = LinkedInCollectionResponse<LinkedInEventUrn, LinkedInMiniProfile | LinkedInMessageEvent>;
export type GetMessagesResponse = LinkedInCollectionResponse<LinkedInEventUrn, LinkedInMiniProfile | LinkedInMessageEvent>;
import { LinkedInCollectionResponse } from '../entities/linkedin-collection-response.entity';
import { LinkedInCompany } from '../entities/linkedin-company.entity';
import { LinkedInProfile, ProfileUrn } from '../entities/linkedin-profile.entity';
export declare type GetProfileResponse = LinkedInCollectionResponse<ProfileUrn, LinkedInProfile | LinkedInCompany>;
export type GetProfileResponse = LinkedInCollectionResponse<ProfileUrn, LinkedInProfile | LinkedInCompany>;

@@ -8,3 +8,3 @@ import { LinkedInCollectionResponse } from '../entities/linkedin-collection-response.entity';

}
export declare type GetReceivedInvitationResponse = LinkedInCollectionResponse<string, MiniProfile | LinkedInInvitation, ReceivedInvitationMetadata>;
export type GetReceivedInvitationResponse = LinkedInCollectionResponse<string, MiniProfile | LinkedInInvitation, ReceivedInvitationMetadata>;
export {};

@@ -1,2 +0,2 @@

import { LinkedInInvitationSummary } from '../entities/linkedin-invitation-summary.entity';
import { LinkedInInvitationSummary, LinkedInResponse } from '../entities';
import { LinkedInCollectionResponse } from '../entities/linkedin-collection-response.entity';

@@ -9,6 +9,4 @@ import { LinkedInInvitation } from '../entities/linkedin-invitation.entity';

}
export declare type GetSentInvitationResponse = LinkedInCollectionResponse<string, MiniProfile | LinkedInInvitation, SentInvitationMetadata>;
export declare type GetSentInvitationSummaryResponse = {
data: LinkedInInvitationSummary;
};
export type GetSentInvitationResponse = LinkedInCollectionResponse<string, MiniProfile | LinkedInInvitation, SentInvitationMetadata>;
export declare type GetSentInvitationSummaryResponse = LinkedInResponse<LinkedInInvitationSummary>;
export {};
import { CelebrationEnum, CelebrationHit } from '../entities';
import { SkipLimitScroller } from './skip-limit-scroller';
declare type FetchCelebration = ({ type, skip, limit, }: {
type FetchCelebration = ({ type, skip, limit, }: {
type: CelebrationEnum;

@@ -9,4 +9,4 @@ skip?: number;

export declare class CelebrationScroller extends SkipLimitScroller<CelebrationHit> {
private fetchCelebration;
type: CelebrationEnum;
private fetchCelebration;
constructor({ fetchCelebration, type, skip, limit, }: {

@@ -13,0 +13,0 @@ fetchCelebration: FetchCelebration;

@@ -8,3 +8,3 @@ "use strict";

constructor({ fetchCelebration, type = entities_1.CelebrationEnum.WORK_ANNIVERSARY, skip = 0, limit = 10, }) {
super({ skip, limit });
super({ limit, skip });
this.type = entities_1.CelebrationEnum.WORK_ANNIVERSARY;

@@ -11,0 +11,0 @@ this.type = type;

import { CompanySearchHit } from '../entities/company-search-hit.entity';
import { SkipLimitScroller } from './skip-limit-scroller';
declare type FetchCompanies = ({ skip, limit, keywords, }: {
type FetchCompanies = ({ skip, limit, keywords, }: {
skip?: number;

@@ -5,0 +5,0 @@ limit?: number;

import { ProfileId } from '../entities';
import { Conversation } from '../entities/conversation.entity';
import { CreatedBeforeScroller } from './created-before-scroller';
declare type FetchConversations = ({ createdBefore, }: {
type FetchConversations = ({ createdBefore, }: {
recipients?: ProfileId | ProfileId[];

@@ -6,0 +6,0 @@ createdBefore?: Date;

@@ -7,1 +7,2 @@ export * from './conversation.scroller';

export * from './celebration.scroller';
export * from './feed.scroller';

@@ -23,2 +23,3 @@ "use strict";

__exportStar(require("./celebration.scroller"), exports);
__exportStar(require("./feed.scroller"), exports);
//# sourceMappingURL=index.js.map
import { Invitation } from '../entities/invitation.entity';
import { SkipLimitScroller } from './skip-limit-scroller';
declare type FetchInvitations = ({ skip, limit }: {
type FetchInvitations = ({ skip, limit }: {
skip?: number;

@@ -5,0 +5,0 @@ limit?: number;

import { JobSearchHit } from 'src/entities/job-search-hit.entity';
import { JobSearchFilters } from '../types/job-search-filters';
import { SkipLimitScroller } from './skip-limit-scroller';
declare type FetchJobs = ({ skip, limit, filters, keywords, }: {
type FetchJobs = ({ skip, limit, filters, keywords, }: {
skip?: number;

@@ -6,0 +6,0 @@ limit?: number;

import { ConversationId } from '../entities/conversation.entity';
import { MessageEvent } from '../entities/message-event.entity';
import { CreatedBeforeScroller } from './created-before-scroller';
declare type FetchMessages = ({ conversationId, createdBefore, }: {
type FetchMessages = ({ conversationId, createdBefore, }: {
conversationId: ConversationId;

@@ -6,0 +6,0 @@ createdBefore?: Date;

import { AcceptedInvitationNotificationHit, FetchAcceptedNotificationParams } from '../entities';
import { SkipLimitScroller } from './skip-limit-scroller';
declare type FetchAcceptedInvitationNotifications = (params: FetchAcceptedNotificationParams) => Promise<AcceptedInvitationNotificationHit[]>;
type FetchAcceptedInvitationNotifications = (params: FetchAcceptedNotificationParams) => Promise<AcceptedInvitationNotificationHit[]>;
export declare class NotificationScroller extends SkipLimitScroller<AcceptedInvitationNotificationHit> {

@@ -5,0 +5,0 @@ private notificationDateFrom;

import { PeopleSearchHit } from '../entities/people-search-hit.entity';
import { PeopleSearchFilters } from '../types/people-search-filters';
import { SkipLimitScroller } from './skip-limit-scroller';
declare type FetchPeople = ({ skip, limit, filters, keywords, }: {
type FetchPeople = ({ skip, limit, filters, keywords, }: {
skip?: number;

@@ -6,0 +6,0 @@ limit?: number;

import { PeopleSearchFilters } from './people-search-filters';
import { LinkedInSearchType } from './search-type.enum';
export declare type BlendedSearchFilters = PeopleSearchFilters | {
export type BlendedSearchFilters = PeopleSearchFilters | {
resultType?: LinkedInSearchType;
};
import { Client } from '../core/client';
export declare type ClientInterface = Client;
export type ClientInterface = Client;

@@ -12,1 +12,6 @@ export * from './anonymous-cookies';

export * from './client.interface';
export * from './sales-navigator';
export * from './typeahead';
export * from './people-search-filters';
export * from './company-search-filters';
export * from './feed-reaction-type.enum';

@@ -28,2 +28,7 @@ "use strict";

__exportStar(require("./client.interface"), exports);
__exportStar(require("./sales-navigator"), exports);
__exportStar(require("./typeahead"), exports);
__exportStar(require("./people-search-filters"), exports);
__exportStar(require("./company-search-filters"), exports);
__exportStar(require("./feed-reaction-type.enum"), exports);
//# sourceMappingURL=index.js.map

@@ -0,4 +1,6 @@

import { LinkedInCompany } from './company';
import { LinkedInContractInterest } from './contract-interest.enum';
import { Language } from './language-code.enum';
import { LinkedInNetworkType } from './network.enum';
import { LinkedInTitle } from './title';
export interface PeopleSearchFilters {

@@ -20,1 +22,13 @@ currentCompany?: string | string[];

}
export interface SalesNavigatorPeopleSearchFilters {
searchKeywords?: string;
companySizes?: string[];
bingGeos?: string[];
industries?: string[];
relationships?: string[];
seniorityLevels?: string[];
titles?: LinkedInTitle[];
yearsOfExperiences?: string[];
currentCompanies?: LinkedInCompany[];
functions?: string[];
}

@@ -1,3 +0,7 @@

import { HeaderImage } from '../entities';
export declare const transformHeaderImageToProfileId: (headerImage: HeaderImage) => string;
import { LinkedinHeaderImage } from '../entities';
export declare const transformHeaderImageToProfileId: (headerImage: LinkedinHeaderImage) => string;
export declare const transformToProfileIdentifier: (actionTarget: string) => string;
export declare const getIdFromUrn: (urn: string) => string;
export declare const extractProfileId: (profileUrn: string) => string;
export declare const extractPublicIdentifier: (profileUrl: string) => string;
export declare const formatText: (text: string) => string;
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.transformToProfileIdentifier = exports.transformHeaderImageToProfileId = void 0;
exports.formatText = exports.extractPublicIdentifier = exports.extractProfileId = exports.getIdFromUrn = exports.transformToProfileIdentifier = exports.transformHeaderImageToProfileId = void 0;
const transformHeaderImageToProfileId = (headerImage) => {
var _a, _b;
const profilePicture = (_b = (_a = headerImage.attributes.find(attribute => attribute.$type === 'com.linkedin.voyager.dash.common.image.ImageAttribute')) === null || _a === void 0 ? void 0 : _a.detailData['*profilePicture']) !== null && _b !== void 0 ? _b : '';
return profilePicture.replace('urn:li:fsd_profile:', '');
var _a;
const imageAttribute = headerImage.attributes.find(attribute => attribute.$type === 'com.linkedin.voyager.dash.common.image.ImageAttribute');
const profilePicture = imageAttribute === null || imageAttribute === void 0 ? void 0 : imageAttribute.detailData['*profilePicture'];
return (_a = profilePicture === null || profilePicture === void 0 ? void 0 : profilePicture.replace('urn:li:fsd_profile:', '')) !== null && _a !== void 0 ? _a : '';
};

@@ -12,2 +13,33 @@ exports.transformHeaderImageToProfileId = transformHeaderImageToProfileId;

exports.transformToProfileIdentifier = transformToProfileIdentifier;
const getIdFromUrn = (urn) => {
return urn.split(':')[3];
};
exports.getIdFromUrn = getIdFromUrn;
const extractProfileId = (profileUrn) => {
if (profileUrn.includes('(')) {
const openingBracketIndex = profileUrn.indexOf('(');
const bracketSegment = profileUrn.substr(openingBracketIndex + 1);
const profileId = bracketSegment.split(',')[0];
return profileId;
}
else {
return profileUrn;
}
};
exports.extractProfileId = extractProfileId;
const extractPublicIdentifier = (profileUrl) => {
if (profileUrl.includes('in/')) {
const fromIndex = profileUrl.indexOf('in/') + 3;
const publicIdentifier = profileUrl.substr(fromIndex).replace('/', '');
return publicIdentifier;
}
else {
return profileUrl;
}
};
exports.extractPublicIdentifier = extractPublicIdentifier;
const formatText = (text) => {
return text.replace(/\n/g, ' ');
};
exports.formatText = formatText;
//# sourceMappingURL=common.js.map
export declare const paramsSerializer: (params: Record<string, string | Record<string, string>>) => string;
export declare const graphqlParamSerializer: (params: Record<string, unknown>) => string;
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.paramsSerializer = void 0;
exports.graphqlParamSerializer = exports.paramsSerializer = void 0;
const lodash_1 = require("lodash");

@@ -23,2 +23,24 @@ const querystring_1 = require("querystring");

exports.paramsSerializer = paramsSerializer;
const graphqlParamSerializer = (params) => {
const encodeValue = (value) => {
if (!(0, lodash_1.isArray)(value) && !(0, lodash_1.isPlainObject)(value)) {
return value.toString();
}
if ((0, lodash_1.isArray)(value)) {
const arrayEncodedValues = value.map(x => encodeValue(x));
return `List(${arrayEncodedValues.join(',')})`;
}
const object = value;
const objectKeys = Object.keys(object);
const objectEncodedValues = objectKeys.map(k => `${k}:${encodeValue(object[k])}`);
return `(${objectEncodedValues.join(',')})`;
};
const encodedParams = (0, lodash_1.mapValues)(params, value => {
return encodeValue(value);
});
return (0, querystring_1.stringify)(encodedParams, undefined, undefined, {
encodeURIComponent: uri => uri,
});
};
exports.graphqlParamSerializer = graphqlParamSerializer;
//# sourceMappingURL=paramsSerializer.js.map
{
"name": "linkedin-private-api-v2",
"version": "1.1.4",
"version": "1.1.5",
"description": "",
"main": "dist/index.js",
"types": "dist/index.d.ts",
"author": "Akash Gupta",
"author": "Eilon Mor",
"license": "MIT",

@@ -21,5 +21,5 @@ "keywords": [

"type": "git",
"url": "https://github.com/akash-gupt/linkedin-private-api.git"
"url": "https://github.com/eilonmore/linkedin-private-api.git"
},
"homepage": "https://github.com/akash-gupt/linkedin-private-api",
"homepage": "https://github.com/eilonmore/linkedin-private-api",
"files": [

@@ -45,16 +45,20 @@ "dist"

"dependencies": {
"@types/jsdom": "^21.1.1",
"axios": "^0.21.0",
"cookie": "^0.4.0",
"cheerio": "^1.0.0-rc.12",
"cookie": "^0.5.0",
"fs": "^0.0.1-security",
"jquery": "^3.6.4",
"lodash": "^4.17.15",
"querystring": "^0.2.0",
"url": "^0.11.0"
"url": "^0.11.0",
"zlib": "^1.0.5"
},
"devDependencies": {
"@types/config": "^0.0.40",
"@types/cookie": "^0.4.0",
"@types/config": "^0.0.41",
"@types/cookie": "^0.5.1",
"@types/faker": "^5.1.2",
"@types/jest": "^27.0.1",
"@types/lodash": "^4.14.161",
"@types/node": "^17.0.4",
"@types/node": "^18.0.3",
"@typescript-eslint/eslint-plugin": "^4.2.0",

@@ -64,3 +68,3 @@ "@typescript-eslint/parser": "^4.2.0",

"eslint": "^7.9.0",
"eslint-config-airbnb-base": "^14.2.0",
"eslint-config-airbnb-base": "^15.0.0",
"eslint-config-airbnb-typescript": "^14.0.0",

@@ -73,3 +77,3 @@ "eslint-config-prettier": "^8.3.0",

"faker": "^5.1.0",
"husky": "^7.0.0",
"husky": "^8.0.1",
"intermock": "^0.2.2",

@@ -83,6 +87,6 @@ "jest": "^26.4.2",

"ts-jest": "^26.4.1",
"typedoc": "~0.19.2",
"typedoc-plugin-markdown": "~3.1.1",
"typescript": "^4.0.2"
"typedoc": "^0.24.6",
"typedoc-plugin-markdown": "^3.15.3",
"typescript": "^5.0.3"
}
}

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet