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

@http4t/core

Package Overview
Dependencies
Maintainers
4
Versions
68
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@http4t/core - npm Package Compare versions

Comparing version 0.0.142 to 0.0.143

3

json.d.ts

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

import { HttpBody, Data, HttpMessage, HttpRequest, HttpResponse } from "./contract";
import { Data, HttpBody, HttpMessage, HttpRequest, HttpResponse } from "./contract";
export declare class JsonBody<T = any> implements AsyncIterable<Data> {
readonly data: Readonly<T>;
readonly ifYouAreSeeingThisInATestAssertion = "You probably forgot to call toJSON(message) on your HttpMessage, which would have called Symbol.asyncIterator on this body";
constructor(data: Readonly<T>);

@@ -5,0 +6,0 @@ [Symbol.asyncIterator](): AsyncIterator<Data>;

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

this.data = data;
this.ifYouAreSeeingThisInATestAssertion = "You probably forgot to call toJSON(message) on your HttpMessage, which would have called Symbol.asyncIterator on this body";
}

@@ -73,0 +74,0 @@ JsonBody.prototype[Symbol.asyncIterator] = function () {

import {bufferText} from "./bodies";
import {HttpBody, Data, HttpMessage, HttpRequest, HttpResponse, isMessage} from "./contract";
import {Data, HttpBody, HttpMessage, HttpRequest, HttpResponse, isMessage} from "./contract";
import {modify} from "./util/objects";
async function* yieldStringify(data: object): AsyncIterable<Data> {
yield typeof data ==='undefined' ? "" : JSON.stringify(data)
yield typeof data === 'undefined' ? "" : JSON.stringify(data)
}
export class JsonBody<T = any> implements AsyncIterable<Data> {
constructor(public readonly data: Readonly<T>) {
}
[Symbol.asyncIterator](): AsyncIterator<Data> {
return yieldStringify(this.data)[Symbol.asyncIterator]();
}
public readonly ifYouAreSeeingThisInATestAssertion =
"You probably forgot to call toJSON(message) on your HttpMessage, which would have called Symbol.asyncIterator on this body";
toJSON() {
return this.data;
}
constructor(public readonly data: Readonly<T>) {
}
[Symbol.asyncIterator](): AsyncIterator<Data> {
return yieldStringify(this.data)[Symbol.asyncIterator]();
}
toJSON() {
return this.data;
}
}

@@ -31,3 +35,3 @@

export function jsonBody<T>(data: T): JsonBody<T> {
return new JsonBody(data);
return new JsonBody(data);
}

@@ -46,8 +50,8 @@

export async function bodyJson<T>(value: HttpBody | HttpMessage): Promise<T | undefined> {
const body = isMessage(value) ? value.body : value;
if (body instanceof JsonBody)
return body.data;
const text = await bufferText(body);
if(text === "") return undefined;
return JSON.parse(text);
const body = isMessage(value) ? value.body : value;
if (body instanceof JsonBody)
return body.data;
const text = await bufferText(body);
if (text === "") return undefined;
return JSON.parse(text);
}

@@ -62,7 +66,7 @@

export async function parseJson<T extends HttpRequest | HttpResponse>(message: T): Promise<T> {
if (message.body instanceof JsonBody)
return message;
if (message.body instanceof JsonBody)
return message;
const parsed = bodyJson(message.body);
return modify(message, {body: jsonBody(parsed)} as any);
const parsed = bodyJson(message.body);
return modify(message, {body: jsonBody(parsed)} as any);
}

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

import { HeaderName, HeaderValue, HttpBody, HttpMessage } from "./contract";
import { HeaderName, HeaderValue, HttpBody, HttpMessage, HttpRequest, HttpResponse } from "./contract";
export declare function setHeader<T extends HttpMessage>(message: T, name: HeaderName, value: HeaderValue): T;
export declare function setBody<T extends HttpMessage>(message: T, body: HttpBody): T;
export declare function isResponse(message: HttpMessage): message is HttpResponse;
export declare function isRequest(message: HttpMessage): message is HttpRequest;
export declare function toJSON<T extends HttpMessage>(message: T): Promise<T>;
"use strict";
var __assign = (this && this.__assign) || function () {
__assign = Object.assign || function(t) {
for (var s, i = 1, n = arguments.length; i < n; i++) {
s = arguments[i];
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
t[p] = s[p];
}
return t;
};
return __assign.apply(this, arguments);
};
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
return new (P || (P = Promise))(function (resolve, reject) {
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
};
var __generator = (this && this.__generator) || function (thisArg, body) {
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
function verb(n) { return function (v) { return step([n, v]); }; }
function step(op) {
if (f) throw new TypeError("Generator is already executing.");
while (_) try {
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
if (y = 0, t) op = [op[0] & 2, t.value];
switch (op[0]) {
case 0: case 1: t = op; break;
case 4: _.label++; return { value: op[1], done: false };
case 5: _.label++; y = op[1]; op = [0]; continue;
case 7: op = _.ops.pop(); _.trys.pop(); continue;
default:
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
if (t[2]) _.ops.pop();
_.trys.pop(); continue;
}
op = body.call(thisArg, _);
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
}
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.setBody = exports.setHeader = void 0;
exports.toJSON = exports.isRequest = exports.isResponse = exports.setBody = exports.setHeader = void 0;
var h = require("./headers");
var headers_1 = require("./headers");
var objects_1 = require("./util/objects");
var bodies_1 = require("./bodies");
function setHeader(message, name, value) {

@@ -15,2 +63,26 @@ return objects_1.modify(message, { headers: h.setHeader(message.headers, headers_1.header(name, value)) });

exports.setBody = setBody;
function isResponse(message) {
return message.hasOwnProperty("status");
}
exports.isResponse = isResponse;
function isRequest(message) {
return message.hasOwnProperty("method");
}
exports.isRequest = isRequest;
/* turns streaming bodies into text bodies so that messages are directly json serialisable */
function toJSON(message) {
return __awaiter(this, void 0, void 0, function () {
var _a, _b;
return __generator(this, function (_c) {
switch (_c.label) {
case 0:
_a = [__assign({}, message)];
_b = {};
return [4 /*yield*/, bodies_1.bufferText(message.body)];
case 1: return [2 /*return*/, __assign.apply(void 0, _a.concat([(_b.body = _c.sent(), _b)]))];
}
});
});
}
exports.toJSON = toJSON;
//# sourceMappingURL=messages.js.map

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

import {HeaderName, HeaderValue, HttpBody, HttpMessage} from "./contract";
import {HeaderName, HeaderValue, HttpBody, HttpMessage, HttpRequest, HttpResponse} from "./contract";
import * as h from "./headers";
import {header} from "./headers";
import {modify} from "./util/objects";
import {bufferText} from "./bodies";

@@ -12,2 +13,15 @@ export function setHeader<T extends HttpMessage>(message: T, name: HeaderName, value: HeaderValue): T {

return modify(message, {body} as Partial<T>);
}
export function isResponse(message: HttpMessage): message is HttpResponse {
return message.hasOwnProperty("status");
}
export function isRequest(message: HttpMessage): message is HttpRequest {
return message.hasOwnProperty("method");
}
/* turns streaming bodies into text bodies so that messages are directly json serialisable */
export async function toJSON<T extends HttpMessage>(message: T): Promise<T> {
return {...message, body: await bufferText(message.body)}
}
{
"name": "@http4t/core",
"version": "0.0.142",
"version": "0.0.143",
"license": "Apache-2.0"
}

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