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

newsware

Package Overview
Dependencies
Maintainers
0
Versions
73
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

newsware - npm Package Compare versions

Comparing version 10.0.0-beta.21 to 10.0.0-beta.22

lib/src/rest-helper.d.ts

14

lib/src/api.d.ts

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

import { CategoryCode, EndpointDescription, HistoricalFilter, News, RestResponse, RestResponseError, RestResponseSuccess, SourceDetails } from "./types";
import { RestHelper } from "rest-helper";
import { CategoryCode, EndpointDescription, HistoricalFilter, News, RestResponseError, RestResponseSuccess, SourceDetails } from "./types";
export declare class Api {
private apikey;
restEndpoint: string;
restHelper: RestHelper;
constructor(apikey: string, endpoint?: EndpointDescription);

@@ -11,10 +11,2 @@ changeApikey(apikey: string): void;

getSources(): Promise<SourceDetails[]>;
get<T>(path: string, params?: any, errorHandler?: (apiResponse: RestResponseError<T>) => void): Promise<RestResponse<T>>;
delete<T>(path: string, params?: any, errorHandler?: (apiResponse: RestResponseError<T>) => void): Promise<RestResponse<T>>;
post<T, Z>(path: string, body: T, errorHandler?: (apiResponse: RestResponseError<Z>) => void): Promise<RestResponseSuccess<Z>>;
put<T, Z>(path: string, body: T, errorHandler?: (apiResponse: RestResponseError<Z>) => void): Promise<RestResponseSuccess<Z>>;
request<T>(method: string, path: string, params?: object, errorHandler?: (apiResponse: RestResponseError<T>) => void): Promise<RestResponse<T>>;
private requestWithBody;
handle<T>(res: Response, handleError: (apiResponse: RestResponseError<T>) => void): Promise<RestResponse<T>>;
handleError<T>(apiResponse: RestResponseError<T>): Promise<void>;
}

@@ -11,25 +11,23 @@ "use strict";

};
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.Api = void 0;
const rest_helper_1 = require("rest-helper");
const enums_1 = require("./enums");
const isomorphic_fetch_1 = __importDefault(require("isomorphic-fetch"));
class Api {
constructor(apikey, endpoint = enums_1.Endpoint.PRODUCTION) {
this.apikey = apikey;
this.restEndpoint = endpoint.restProtocol + "://" + endpoint.host + "/api/v3";
this.restHelper = new rest_helper_1.RestHelper(endpoint, {
"x-api-key": apikey
});
}
changeApikey(apikey) {
this.apikey = apikey;
this.restHelper.headers["x-api-key"] = apikey;
}
search(filter, errorHandler = this.handleError) {
search(filter, errorHandler = rest_helper_1.RestHelper.handleError) {
return __awaiter(this, void 0, void 0, function* () {
return yield this.post('/news', filter, errorHandler);
return yield this.restHelper.post('/news', filter, errorHandler);
});
}
getById(id, errorHandler = this.handleError) {
getById(id, errorHandler = rest_helper_1.RestHelper.handleError) {
return __awaiter(this, void 0, void 0, function* () {
return (yield this.get(`/news/${id}`, undefined, errorHandler)).data;
return (yield this.restHelper.get(`/news/${id}`, undefined, errorHandler)).data;
});

@@ -39,3 +37,3 @@ }

return __awaiter(this, void 0, void 0, function* () {
return (yield this.get('/category-codes', {
return (yield this.restHelper.get('/category-codes', {
source

@@ -47,95 +45,7 @@ })).data;

return __awaiter(this, void 0, void 0, function* () {
return (yield (this.get('/sources'))).data;
return (yield (this.restHelper.get('/sources'))).data;
});
}
get(path, params, errorHandler = this.handleError) {
return __awaiter(this, void 0, void 0, function* () {
return yield this.request("GET", path, params, errorHandler);
});
}
delete(path, params, errorHandler = this.handleError) {
return __awaiter(this, void 0, void 0, function* () {
return yield this.request("DELETE", path, params, errorHandler);
});
}
post(path, body, errorHandler = this.handleError) {
return __awaiter(this, void 0, void 0, function* () {
return yield this.requestWithBody("POST", path, body, errorHandler);
});
}
put(path, body, errorHandler = this.handleError) {
return __awaiter(this, void 0, void 0, function* () {
return yield this.requestWithBody("PUT", path, body, errorHandler);
});
}
request(method, path, params, errorHandler = this.handleError) {
var _a, _b;
return __awaiter(this, void 0, void 0, function* () {
try {
var paramsString = {};
if (params) {
Object.keys(params).forEach(key => {
paramsString[key] = typeof params[key] === "object"
? JSON.stringify(params[key])
: params[key];
});
}
const endpoint = this.restEndpoint + path + (paramsString ? "?" + new URLSearchParams(paramsString) : '');
const res = yield (0, isomorphic_fetch_1.default)(endpoint, {
method: method,
headers: {
'content-type': 'application/json',
'x-api-key': this.apikey
},
});
return this.handle(res, errorHandler);
}
catch (e) {
if (((_b = (_a = e.cause) === null || _a === void 0 ? void 0 : _a.errors) === null || _b === void 0 ? void 0 : _b.length) > 0) {
throw Error(e.cause.errors[0]);
}
throw e;
}
});
}
requestWithBody(method, path, body, errorHandler = this.handleError) {
var _a, _b;
return __awaiter(this, void 0, void 0, function* () {
try {
const res = yield (0, isomorphic_fetch_1.default)(this.restEndpoint + path, {
method: method,
body: JSON.stringify(body),
headers: {
'content-type': 'application/json',
'x-api-key': this.apikey
},
});
return this.handle(res, errorHandler);
}
catch (e) {
if (((_b = (_a = e.cause) === null || _a === void 0 ? void 0 : _a.errors) === null || _b === void 0 ? void 0 : _b.length) > 0) {
throw Error(e.cause.errors[0]);
}
throw e;
}
});
}
handle(res, handleError) {
return __awaiter(this, void 0, void 0, function* () {
const restResponse = yield res.json();
if (res.status < 200 || res.status > 299) {
yield handleError(restResponse);
}
return restResponse;
});
}
handleError(apiResponse) {
return __awaiter(this, void 0, void 0, function* () {
throw Error(`Status ${apiResponse.error.code}${apiResponse.error
? ": " + apiResponse.error.message.charAt(0).toUpperCase() + apiResponse.error.message.slice(1)
: ""}`);
});
}
}
exports.Api = Api;
//# sourceMappingURL=api.js.map

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

Object.defineProperty(exports, "__esModule", { value: true });
const chai_1 = require("chai");
const api_1 = require("./api");
const enums_1 = require("./enums");
const chai_1 = require("chai");
const filters_1 = require("./filters");

@@ -17,0 +17,0 @@ describe("Api historical search", () => {

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

import { FilterAction, FilterType } from "./enums";
import { Filter, FilterArray, FilterText, TextOptions } from "./types";
import { FilterAction, FilterType } from "./enums";
export declare class Text {

@@ -4,0 +4,0 @@ constructor();

@@ -1,5 +0,6 @@

export { Or, And, Text, Ciks, Tickers, Sources, CategoryCodes } from "./filters";
export { Api } from "./api";
export { Field, FilterAction, Source, WebsocketMethod, WebsocketResponseType } from "./enums";
export { And, CategoryCodes, Ciks, Or, Sources, Text, Tickers } from "./filters";
export { RestHelper } from "./rest-helper";
export { CategoryCode, ConnectOptions, Filter, HistoricalFilter, News, RestResponse, RestResponseError, RestResponseSuccess, SourceDetails, TextOptions, WebsocketErrorResponse, WebsocketResponse } from "./types";
export { WsApi } from "./wsApi";
export { News, Filter, TextOptions, WebsocketResponse, WebsocketErrorResponse, ConnectOptions, HistoricalFilter, RestResponse, RestResponseSuccess, RestResponseError, CategoryCode, SourceDetails } from "./types";
export { Source, WebsocketMethod, WebsocketResponseType, FilterAction, Field } from "./enums";
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.Field = exports.FilterAction = exports.WebsocketResponseType = exports.WebsocketMethod = exports.Source = exports.WsApi = exports.Api = exports.CategoryCodes = exports.Sources = exports.Tickers = exports.Ciks = exports.Text = exports.And = exports.Or = void 0;
exports.WsApi = exports.RestHelper = exports.Tickers = exports.Text = exports.Sources = exports.Or = exports.Ciks = exports.CategoryCodes = exports.And = exports.WebsocketResponseType = exports.WebsocketMethod = exports.Source = exports.FilterAction = exports.Field = exports.Api = void 0;
var api_1 = require("./api");
Object.defineProperty(exports, "Api", { enumerable: true, get: function () { return api_1.Api; } });
var enums_1 = require("./enums");
Object.defineProperty(exports, "Field", { enumerable: true, get: function () { return enums_1.Field; } });
Object.defineProperty(exports, "FilterAction", { enumerable: true, get: function () { return enums_1.FilterAction; } });
Object.defineProperty(exports, "Source", { enumerable: true, get: function () { return enums_1.Source; } });
Object.defineProperty(exports, "WebsocketMethod", { enumerable: true, get: function () { return enums_1.WebsocketMethod; } });
Object.defineProperty(exports, "WebsocketResponseType", { enumerable: true, get: function () { return enums_1.WebsocketResponseType; } });
var filters_1 = require("./filters");
Object.defineProperty(exports, "And", { enumerable: true, get: function () { return filters_1.And; } });
Object.defineProperty(exports, "CategoryCodes", { enumerable: true, get: function () { return filters_1.CategoryCodes; } });
Object.defineProperty(exports, "Ciks", { enumerable: true, get: function () { return filters_1.Ciks; } });
Object.defineProperty(exports, "Or", { enumerable: true, get: function () { return filters_1.Or; } });
Object.defineProperty(exports, "And", { enumerable: true, get: function () { return filters_1.And; } });
Object.defineProperty(exports, "Sources", { enumerable: true, get: function () { return filters_1.Sources; } });
Object.defineProperty(exports, "Text", { enumerable: true, get: function () { return filters_1.Text; } });
Object.defineProperty(exports, "Ciks", { enumerable: true, get: function () { return filters_1.Ciks; } });
Object.defineProperty(exports, "Tickers", { enumerable: true, get: function () { return filters_1.Tickers; } });
Object.defineProperty(exports, "Sources", { enumerable: true, get: function () { return filters_1.Sources; } });
Object.defineProperty(exports, "CategoryCodes", { enumerable: true, get: function () { return filters_1.CategoryCodes; } });
var api_1 = require("./api");
Object.defineProperty(exports, "Api", { enumerable: true, get: function () { return api_1.Api; } });
var rest_helper_1 = require("./rest-helper");
Object.defineProperty(exports, "RestHelper", { enumerable: true, get: function () { return rest_helper_1.RestHelper; } });
var wsApi_1 = require("./wsApi");
Object.defineProperty(exports, "WsApi", { enumerable: true, get: function () { return wsApi_1.WsApi; } });
var enums_1 = require("./enums");
Object.defineProperty(exports, "Source", { enumerable: true, get: function () { return enums_1.Source; } });
Object.defineProperty(exports, "WebsocketMethod", { enumerable: true, get: function () { return enums_1.WebsocketMethod; } });
Object.defineProperty(exports, "WebsocketResponseType", { enumerable: true, get: function () { return enums_1.WebsocketResponseType; } });
Object.defineProperty(exports, "FilterAction", { enumerable: true, get: function () { return enums_1.FilterAction; } });
Object.defineProperty(exports, "Field", { enumerable: true, get: function () { return enums_1.Field; } });
//# sourceMappingURL=index.js.map
/// <reference types="ws" />
import WebSocket from "isomorphic-ws";
import { ConnectOptions, SubscribeOptions, WebsocketRequest } from "./types";
import WebSocket from "isomorphic-ws";
export declare class WsApi {

@@ -5,0 +5,0 @@ private readonly websocketEndpoint;

{
"name": "newsware",
"version": "10.0.0-beta.21",
"version": "10.0.0-beta.22",
"description": "Typescript client for interacting with the Newsware API",

@@ -5,0 +5,0 @@ "main": "lib/src/index.js",

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

import { expect } from "chai";
import { TestsContext } from "../test/setup";
import { Api } from "./api";
import { Endpoint } from "./enums";
import { expect } from "chai"
import { TestsContext } from "../test/setup";
import { And, CategoryCodes, Ciks, Or, Sources, Text, Tickers } from "./filters";

@@ -6,0 +6,0 @@

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

import { RestHelper } from "rest-helper"
import { Endpoint } from "./enums"
import {

@@ -6,3 +8,2 @@ CategoryCode,

News,
RestResponse,
RestResponseError,

@@ -12,29 +13,29 @@ RestResponseSuccess,

} from "./types"
import { Endpoint } from "./enums"
import fetch from "isomorphic-fetch"
export class Api {
restEndpoint: string
restHelper: RestHelper
constructor(
private apikey: string,
apikey: string,
endpoint: EndpointDescription = Endpoint.PRODUCTION
) {
this.restEndpoint = endpoint.restProtocol + "://" + endpoint.host + "/api/v3"
this.restHelper = new RestHelper(endpoint, {
"x-api-key": apikey
})
}
changeApikey(apikey: string) {
this.apikey = apikey
this.restHelper.headers["x-api-key"] = apikey
}
async search(filter: HistoricalFilter, errorHandler: (apiResponse: RestResponseError<News[]>) => void = this.handleError): Promise<RestResponseSuccess<News[]>> {
return await this.post<HistoricalFilter, News[]>('/news', filter, errorHandler)
async search(filter: HistoricalFilter, errorHandler: (apiResponse: RestResponseError<News[]>) => void = RestHelper.handleError): Promise<RestResponseSuccess<News[]>> {
return await this.restHelper.post<HistoricalFilter, News[]>('/news', filter, errorHandler)
}
async getById(id: string, errorHandler: (apiResponse: RestResponseError<News>) => void = this.handleError): Promise<News> {
return (await this.get<News>(`/news/${id}`, undefined, errorHandler)).data
async getById(id: string, errorHandler: (apiResponse: RestResponseError<News>) => void = RestHelper.handleError): Promise<News> {
return (await this.restHelper.get<News>(`/news/${id}`, undefined, errorHandler)).data
}
async getCategoryCodes(source: string): Promise<CategoryCode[]> {
return (await this.get<CategoryCode[]>('/category-codes', {
return (await this.restHelper.get<CategoryCode[]>('/category-codes', {
source

@@ -45,112 +46,4 @@ })).data;

async getSources(): Promise<SourceDetails[]> {
return (await (this.get<SourceDetails[]>('/sources'))).data;
return (await (this.restHelper.get<SourceDetails[]>('/sources'))).data;
}
async get<T>(
path: string,
params?: any,
errorHandler: (apiResponse: RestResponseError<T>) => void = this.handleError
): Promise<RestResponse<T>> {
return await this.request("GET", path, params, errorHandler)
}
async delete<T>(
path: string,
params?: any,
errorHandler: (apiResponse: RestResponseError<T>) => void = this.handleError
): Promise<RestResponse<T>> {
return await this.request("DELETE", path, params, errorHandler)
}
async post<T, Z>(
path: string,
body: T,
errorHandler: (apiResponse: RestResponseError<Z>) => void = this.handleError
): Promise<RestResponseSuccess<Z>> {
return await this.requestWithBody("POST", path, body, errorHandler)
}
async put<T, Z>(
path: string,
body: T,
errorHandler: (apiResponse: RestResponseError<Z>) => void = this.handleError
): Promise<RestResponseSuccess<Z>> {
return await this.requestWithBody("PUT", path, body, errorHandler)
}
async request<T>(
method: string,
path: string,
params?: object,
errorHandler: (apiResponse: RestResponseError<T>) => void = this.handleError
): Promise<RestResponse<T>> {
try {
var paramsString: Record<string, string> = {}
if (params) {
Object.keys(params).forEach(key => {
paramsString[key] = typeof params[key as keyof object] === "object"
? JSON.stringify(params[key as keyof object])
: params[key as keyof object]
})
}
const endpoint = this.restEndpoint + path + (paramsString ? "?" + new URLSearchParams(paramsString) : '')
const res = await fetch(endpoint, {
method: method,
headers: {
'content-type': 'application/json',
'x-api-key': this.apikey
},
})
return this.handle(res, errorHandler)
} catch (e: any) {
if (e.cause?.errors?.length > 0) {
throw Error(e.cause.errors[0])
}
throw e
}
}
private async requestWithBody<T, Z>(
method: string,
path: string,
body: T,
errorHandler: (apiResponse: RestResponseError<Z>) => void = this.handleError
): Promise<RestResponseSuccess<Z>> {
try {
const res = await fetch(this.restEndpoint + path, {
method: method,
body: JSON.stringify(body),
headers: {
'content-type': 'application/json',
'x-api-key': this.apikey
},
})
return this.handle(res, errorHandler)
} catch (e: any) {
if (e.cause?.errors?.length > 0) {
throw Error(e.cause.errors[0])
}
throw e
}
}
async handle<T>(res: Response, handleError: (apiResponse: RestResponseError<T>) => void): Promise<RestResponse<T>> {
const restResponse = await res.json() as RestResponseSuccess<T>
if (res.status < 200 || res.status > 299) {
await handleError(restResponse as RestResponseError<T>)
}
return restResponse
}
async handleError<T>(apiResponse: RestResponseError<T>) {
throw Error(`Status ${apiResponse.error.code}${apiResponse.error
? ": " + apiResponse.error.message.charAt(0).toUpperCase() + apiResponse.error.message.slice(1)
: ""
}`)
}
}

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

import {Filter, FilterArray, FiltersMetadata, FilterText, TextOptions} from "./types";
import {FilterAction, FilterType} from "./enums";
import { FilterAction, FilterType } from "./enums";
import { Filter, FilterArray, FiltersMetadata, FilterText, TextOptions } from "./types";

@@ -4,0 +4,0 @@ export class Text {

@@ -1,18 +0,9 @@

export { Or, And, Text, Ciks, Tickers, Sources, CategoryCodes } from "./filters";
export { Api } from "./api"
export { WsApi } from "./wsApi"
export { Api } from "./api";
export { Field, FilterAction, Source, WebsocketMethod, WebsocketResponseType } from "./enums";
export { And, CategoryCodes, Ciks, Or, Sources, Text, Tickers } from "./filters";
export { RestHelper } from "./rest-helper";
export {
News,
Filter,
TextOptions,
WebsocketResponse,
WebsocketErrorResponse,
ConnectOptions,
HistoricalFilter,
RestResponse,
RestResponseSuccess,
RestResponseError,
CategoryCode,
SourceDetails
} from "./types"
export { Source, WebsocketMethod, WebsocketResponseType, FilterAction, Field } from "./enums"
CategoryCode, ConnectOptions, Filter, HistoricalFilter, News, RestResponse, RestResponseError, RestResponseSuccess, SourceDetails, TextOptions, WebsocketErrorResponse, WebsocketResponse
} from "./types";
export { WsApi } from "./wsApi";

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

import WebSocket, { CloseEvent, ErrorEvent, MessageEvent } from "isomorphic-ws";
import { Endpoint, WebsocketMethod, WebsocketResponseType } from "./enums";
import { ConnectOptions, SubscribeOptions, WebsocketRequest, WebsocketResponse, } from "./types";
import WebSocket, { CloseEvent, ErrorEvent, MessageEvent } from "isomorphic-ws"
import { Endpoint, WebsocketMethod, WebsocketResponseType } from "./enums";

@@ -5,0 +5,0 @@ const defaultOptions: Required<ConnectOptions> = {

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

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc