pac-resolver (7.0.1)
Published 2026-02-24 14:02:21 +00:00 by atheaadmin
Installation
registry=npm install pac-resolver@7.0.1"pac-resolver": "7.0.1"About this package
pac-resolver
Generates an asynchronous resolver function from a PAC file
This module accepts a JavaScript String of code, which is meant to be a
PAC proxy file, and returns a generated asynchronous
FindProxyForURL() function.
Example
Given the PAC proxy file named proxy.pac:
function FindProxyForURL(url, host) {
if (isInNet(myIpAddress(), "10.1.10.0", "255.255.255.0")) {
return "PROXY 1.2.3.4:8080";
} else {
return "DIRECT";
}
}
You can consume this PAC file with pac-resolver like so:
import { readFileSync } from 'fs';
import { createPacResolver } from 'pac-resolver';
const FindProxyForURL = createPacResolver(readFileSync('proxy.pac'));
const res = await FindProxyForURL('http://foo.com/');
console.log(res);
// "DIRECT"
API
pac(qjs: QuickJSWASMModule, pacFileContents: string | Buffer, options?: PacResolverOptions) → Function
Returns an asynchronous FindProxyForURL() function based off of the given JS
string pacFileContents PAC proxy file. An optional options object may be
passed in which respects the following options:
filename- String - the filename to use in error stack traces. Defaults toproxy.pac.sandbox- Object - a map of functions to include in the sandbox of the JavaScript environment where the JS code will be executed. i.e. if you wanted to include the commonalertfunction you could passalert: console.log. For async functions, you must set theasync = trueproperty on the function instance, and the JS code will be able to invoke the function as if it were synchronous.
The qjs parameter is a QuickJS module instance as returned from getQuickJS() from the quickjs-emscripten module.
Dependencies
Dependencies
| ID | Version |
|---|---|
| degenerator | ^5.0.0 |
| netmask | ^2.0.2 |
Development Dependencies
| ID | Version |
|---|---|
| @tootallnate/quickjs-emscripten | ^0.23.0 |
| @types/jest | ^29.5.2 |
| @types/netmask | ^1.0.30 |
| @types/node | ^14.18.52 |
| jest | ^29.5.0 |
| ts-jest | ^29.1.0 |
| tsconfig | 0.0.0 |
| typescript | ^5.1.6 |
Keywords
pac
file
proxy
resolve
dns
Details
Assets (1)
Versions (2)
View all
pac-resolver-7.0.1.tgz
17 KiB