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

fets

Package Overview
Dependencies
Maintainers
1
Versions
707
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

fets - npm Package Compare versions

Comparing version 0.0.3 to 0.0.4-alpha-20230303143852-760880b

Response.d.ts

1

index.d.ts

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

export * from './client';
export * from './Response';

87

index.js

@@ -11,4 +11,6 @@ 'use strict';

const addFormats = _interopDefault(require('ajv-formats'));
const jsonSerializerFactory = _interopDefault(require('fast-json-stringify'));
const jsonSerializerFactory = _interopDefault(require('@ardatan/fast-json-stringify'));
const serializerByResponse = new WeakMap();
const responseTextEncoder = new DefaultFetchAPI.TextEncoder();
// This allows us to hook into serialization of the response body

@@ -19,67 +21,23 @@ const Response = new Proxy(DefaultFetchAPI.Response, {

return function createProxyResponseJson(jsonObj, init) {
let response;
let serializer = obj => JSON.stringify(obj);
function getResponse() {
if (!response) {
response = new OriginalResponse(serializer(jsonObj), {
...init,
headers: {
'Content-Type': 'application/json',
...((init === null || init === void 0 ? void 0 : init.headers) || {}),
},
});
}
return response;
}
return new Proxy({}, {
get(_, prop, receiver) {
if (prop === 'then') {
return undefined;
}
if (prop === 'status') {
return (init === null || init === void 0 ? void 0 : init.status) || 200;
}
if (prop === 'serializer') {
return serializer;
}
return Reflect.get(getResponse(), prop, receiver);
const defaultSerializer = obj => JSON.stringify(obj);
let pull = () => { };
const response = new OriginalResponse(new DefaultFetchAPI.ReadableStream({
pull(controller) {
pull(controller);
},
set(_, prop, value, receiver) {
if (prop === 'serializer') {
serializer = value;
return true;
}
return Reflect.set(getResponse(), prop, value, receiver);
}), {
...init,
headers: {
'Content-Type': 'application/json',
...((init === null || init === void 0 ? void 0 : init.headers) || {}),
},
has(_, prop) {
if (prop === 'then') {
return false;
}
return Reflect.has(getResponse(), prop);
},
ownKeys() {
return Reflect.ownKeys(getResponse());
},
getOwnPropertyDescriptor(_, prop) {
return Reflect.getOwnPropertyDescriptor(getResponse(), prop);
},
getPrototypeOf() {
return Reflect.getPrototypeOf(getResponse());
},
setPrototypeOf(_, prototype) {
return Reflect.setPrototypeOf(getResponse(), prototype);
},
isExtensible() {
return Reflect.isExtensible(getResponse());
},
preventExtensions() {
return Reflect.preventExtensions(getResponse());
},
defineProperty(_, prop, descriptor) {
return Reflect.defineProperty(getResponse(), prop, descriptor);
},
deleteProperty(_, prop) {
return Reflect.deleteProperty(getResponse(), prop);
},
});
pull = (controller) => {
const serializer = serializerByResponse.get(response) || defaultSerializer;
const serializedJson = serializer(jsonObj);
const encodedJson = responseTextEncoder.encode(serializedJson);
controller.enqueue(encodedJson);
controller.close();
};
return response;
};

@@ -229,3 +187,3 @@ }

if (serializer) {
response['serializer'] = serializer;
serializerByResponse.set(response, serializer);
}

@@ -634,1 +592,2 @@ }

exports.createRouterBase = createRouterBase;
exports.serializerByResponse = serializerByResponse;
{
"name": "fets",
"version": "0.0.3",
"version": "0.0.4-alpha-20230303143852-760880b",
"description": "TypeScript HTTP Framework focusing on e2e type-safety, easy setup, performance & great developer experience",
"sideEffects": false,
"dependencies": {
"@ardatan/fast-json-stringify": "^0.0.3",
"@whatwg-node/fetch": "^0.8.2",

@@ -11,3 +12,2 @@ "@whatwg-node/server": "^0.7.2",

"ajv-formats": "^2.1.1",
"fast-json-stringify": "^5.6.2",
"json-schema-to-ts": "2.7.2",

@@ -14,0 +14,0 @@ "openapi-types": "12.1.0",

import { FromSchema as FromSchemaOriginal, JSONSchema as JSONSchemaOrBoolean } from 'json-schema-to-ts';
import { ServerAdapter, ServerAdapterOptions, ServerAdapterPlugin, ServerAdapterRequestHandler } from '@whatwg-node/server';
import type { HTTPMethod, TypedRequest, TypedResponse, TypedResponseWithJSONStatusMap } from './typed-fetch';
import { TypedResponseCtor } from './typed-fetch';
export { TypedRequest as RouterRequest };

@@ -143,2 +142,1 @@ export type JSONSerializer = (obj: any) => string;

export type RouterClient<TRouter extends Router<any, any>> = TRouter['__client'];
export declare const Response: TypedResponseCtor;

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