Socket
Socket
Sign inDemoInstall

arcjet

Package Overview
Dependencies
Maintainers
2
Versions
35
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

arcjet - npm Package Compare versions

Comparing version 1.0.0-alpha.22 to 1.0.0-alpha.23

13

index.d.ts

@@ -99,4 +99,5 @@ import type { ArcjetRule, ArcjetLogger } from "@arcjet/protocol";

type DetectSensitiveInfoEntities<T> = (tokens: string[]) => Array<ArcjetSensitiveInfoType | T | undefined>;
type SensitiveInfoOptionsAllow<Detect extends DetectSensitiveInfoEntities<CustomEntities>, CustomEntities extends string> = {
allow: Array<ArcjetSensitiveInfoType | Exclude<ReturnType<Detect>[number], undefined>>;
type ValidEntities<Detect> = Array<undefined extends Detect ? ArcjetSensitiveInfoType : Detect extends DetectSensitiveInfoEntities<infer CustomEntities> ? ArcjetSensitiveInfoType | CustomEntities : never>;
type SensitiveInfoOptionsAllow<Detect> = {
allow: ValidEntities<Detect>;
deny?: never;

@@ -107,5 +108,5 @@ contextWindowSize?: number;

};
type SensitiveInfoOptionsDeny<Detect extends DetectSensitiveInfoEntities<CustomEntities>, CustomEntities extends string> = {
type SensitiveInfoOptionsDeny<Detect> = {
allow?: never;
deny: Array<ArcjetSensitiveInfoType | Exclude<ReturnType<Detect>[number], undefined>>;
deny: ValidEntities<Detect>;
contextWindowSize?: number;

@@ -115,3 +116,3 @@ mode?: ArcjetMode;

};
export type SensitiveInfoOptions<Detect extends DetectSensitiveInfoEntities<CustomEntities>, CustomEntities extends string> = SensitiveInfoOptionsAllow<Detect, CustomEntities> | SensitiveInfoOptionsDeny<Detect, CustomEntities>;
export type SensitiveInfoOptions<Detect> = SensitiveInfoOptionsAllow<Detect> | SensitiveInfoOptionsDeny<Detect>;
type PlainObject = {

@@ -164,3 +165,3 @@ [key: string]: unknown;

export declare function slidingWindow<const Characteristics extends readonly string[] = []>(options?: SlidingWindowRateLimitOptions<Characteristics>, ...additionalOptions: SlidingWindowRateLimitOptions<Characteristics>[]): Primitive<Simplify<CharacteristicProps<Characteristics>>>;
export declare function sensitiveInfo<const Detect extends DetectSensitiveInfoEntities<CustomEntities>, const CustomEntities extends string>(options: SensitiveInfoOptions<Detect, CustomEntities>, ...additionalOptions: SensitiveInfoOptions<Detect, CustomEntities>[]): Primitive<{}>;
export declare function sensitiveInfo<const Detect extends DetectSensitiveInfoEntities<CustomEntities> | undefined, const CustomEntities extends string>(options: SensitiveInfoOptions<Detect>, ...additionalOptions: SensitiveInfoOptions<Detect>[]): Primitive<{}>;
export declare function validateEmail(options?: EmailOptions, ...additionalOptions: EmailOptions[]): Primitive<{

@@ -167,0 +168,0 @@ email: string;

@@ -92,2 +92,14 @@ import { ArcjetRuleResult, ArcjetErrorReason, ArcjetSensitiveInfoReason, ArcjetEmailReason, ArcjetBotType, ArcjetBotReason, ArcjetErrorDecision, ArcjetReason, ArcjetDenyDecision } from '@arcjet/protocol';

}
function toAnalyzeRequest(request) {
const headers = {};
if (typeof request.headers !== "undefined") {
for (const [key, value] of request.headers.entries()) {
headers[key] = value;
}
}
return {
...request,
headers,
};
}
function extraProps(details) {

@@ -567,3 +579,3 @@ const extra = new Map();

};
const fingerprint = await analyze.generateFingerprint(baseContext, details);
const fingerprint = await analyze.generateFingerprint(baseContext, toAnalyzeRequest(details));
log.debug("fingerprint (%s): %s", rt, fingerprint);

@@ -570,0 +582,0 @@ log.timeEnd?.("fingerprint");

@@ -220,2 +220,16 @@ import type {

function toAnalyzeRequest(request: Partial<ArcjetRequestDetails>) {
const headers: Record<string, string> = {};
if (typeof request.headers !== "undefined") {
for (const [key, value] of request.headers.entries()) {
headers[key] = value;
}
}
return {
...request,
headers,
};
}
function extraProps<Props extends PlainObject>(

@@ -326,9 +340,18 @@ details: ArcjetRequest<Props>,

type SensitiveInfoOptionsAllow<
Detect extends DetectSensitiveInfoEntities<CustomEntities>,
CustomEntities extends string,
> = {
allow: Array<
ArcjetSensitiveInfoType | Exclude<ReturnType<Detect>[number], undefined>
>;
type ValidEntities<Detect> = Array<
// Via https://www.reddit.com/r/typescript/comments/17up72w/comment/k958cb0/
// Conditional types distribute over unions. If you have ((string | undefined)
// extends undefined ? 1 : 0) it is evaluated separately for each member of
// the union, then union-ed together again. The result is (string extends
// undefined ? 1 : 0) | (undefined extends undefined ? 1 : 0) which simplifies
// to 0 | 1
undefined extends Detect
? ArcjetSensitiveInfoType
: Detect extends DetectSensitiveInfoEntities<infer CustomEntities>
? ArcjetSensitiveInfoType | CustomEntities
: never
>;
type SensitiveInfoOptionsAllow<Detect> = {
allow: ValidEntities<Detect>;
deny?: never;

@@ -340,10 +363,5 @@ contextWindowSize?: number;

type SensitiveInfoOptionsDeny<
Detect extends DetectSensitiveInfoEntities<CustomEntities>,
CustomEntities extends string,
> = {
type SensitiveInfoOptionsDeny<Detect> = {
allow?: never;
deny: Array<
ArcjetSensitiveInfoType | Exclude<ReturnType<Detect>[number], undefined>
>;
deny: ValidEntities<Detect>;
contextWindowSize?: number;

@@ -354,8 +372,5 @@ mode?: ArcjetMode;

export type SensitiveInfoOptions<
Detect extends DetectSensitiveInfoEntities<CustomEntities>,
CustomEntities extends string,
> =
| SensitiveInfoOptionsAllow<Detect, CustomEntities>
| SensitiveInfoOptionsDeny<Detect, CustomEntities>;
export type SensitiveInfoOptions<Detect> =
| SensitiveInfoOptionsAllow<Detect>
| SensitiveInfoOptionsDeny<Detect>;

@@ -645,7 +660,7 @@ const Priority = {

export function sensitiveInfo<
const Detect extends DetectSensitiveInfoEntities<CustomEntities>,
const Detect extends DetectSensitiveInfoEntities<CustomEntities> | undefined,
const CustomEntities extends string,
>(
options: SensitiveInfoOptions<Detect, CustomEntities>,
...additionalOptions: SensitiveInfoOptions<Detect, CustomEntities>[]
options: SensitiveInfoOptions<Detect>,
...additionalOptions: SensitiveInfoOptions<Detect>[]
): Primitive<{}> {

@@ -1165,3 +1180,6 @@ const rules: ArcjetSensitiveInfoRule<{}>[] = [];

const fingerprint = await analyze.generateFingerprint(baseContext, details);
const fingerprint = await analyze.generateFingerprint(
baseContext,
toAnalyzeRequest(details),
);
log.debug("fingerprint (%s): %s", rt, fingerprint);

@@ -1168,0 +1186,0 @@ log.timeEnd?.("fingerprint");

{
"name": "arcjet",
"version": "1.0.0-alpha.22",
"version": "1.0.0-alpha.23",
"description": "Arcjet TypeScript and JavaScript SDK core",

@@ -43,15 +43,15 @@ "license": "Apache-2.0",

"dependencies": {
"@arcjet/analyze": "1.0.0-alpha.22",
"@arcjet/duration": "1.0.0-alpha.22",
"@arcjet/headers": "1.0.0-alpha.22",
"@arcjet/protocol": "1.0.0-alpha.22",
"@arcjet/runtime": "1.0.0-alpha.22"
"@arcjet/analyze": "1.0.0-alpha.23",
"@arcjet/duration": "1.0.0-alpha.23",
"@arcjet/headers": "1.0.0-alpha.23",
"@arcjet/protocol": "1.0.0-alpha.23",
"@arcjet/runtime": "1.0.0-alpha.23"
},
"devDependencies": {
"@arcjet/eslint-config": "1.0.0-alpha.22",
"@arcjet/rollup-config": "1.0.0-alpha.22",
"@arcjet/tsconfig": "1.0.0-alpha.22",
"@arcjet/eslint-config": "1.0.0-alpha.23",
"@arcjet/rollup-config": "1.0.0-alpha.23",
"@arcjet/tsconfig": "1.0.0-alpha.23",
"@edge-runtime/jest-environment": "3.0.2",
"@jest/globals": "29.7.0",
"@rollup/wasm-node": "4.21.0",
"@rollup/wasm-node": "4.21.2",
"@types/node": "18.18.0",

@@ -58,0 +58,0 @@ "jest": "29.7.0",

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