summaryrefslogtreecommitdiff
path: root/includes/external/addressbook/node_modules/cacheable-request/dist
diff options
context:
space:
mode:
authorRaindropsSys <contact@minteck.org>2023-04-06 22:18:28 +0200
committerRaindropsSys <contact@minteck.org>2023-04-06 22:18:28 +0200
commit83354b2b88218090988dd6e526b0a2505b57e0f1 (patch)
treee3c73c38a122a78bb7e66fbb99056407edd9d4b9 /includes/external/addressbook/node_modules/cacheable-request/dist
parent47b8f2299a483024c4a6a8876af825a010954caa (diff)
downloadpluralconnect-83354b2b88218090988dd6e526b0a2505b57e0f1.tar.gz
pluralconnect-83354b2b88218090988dd6e526b0a2505b57e0f1.tar.bz2
pluralconnect-83354b2b88218090988dd6e526b0a2505b57e0f1.zip
Updated 5 files and added 1110 files (automated)
Diffstat (limited to 'includes/external/addressbook/node_modules/cacheable-request/dist')
-rw-r--r--includes/external/addressbook/node_modules/cacheable-request/dist/index.d.ts17
-rw-r--r--includes/external/addressbook/node_modules/cacheable-request/dist/index.d.ts.map1
-rw-r--r--includes/external/addressbook/node_modules/cacheable-request/dist/index.js275
-rw-r--r--includes/external/addressbook/node_modules/cacheable-request/dist/index.js.map1
-rw-r--r--includes/external/addressbook/node_modules/cacheable-request/dist/types.d.ts106
-rw-r--r--includes/external/addressbook/node_modules/cacheable-request/dist/types.d.ts.map1
-rw-r--r--includes/external/addressbook/node_modules/cacheable-request/dist/types.js19
-rw-r--r--includes/external/addressbook/node_modules/cacheable-request/dist/types.js.map1
8 files changed, 421 insertions, 0 deletions
diff --git a/includes/external/addressbook/node_modules/cacheable-request/dist/index.d.ts b/includes/external/addressbook/node_modules/cacheable-request/dist/index.d.ts
new file mode 100644
index 0000000..123a8e3
--- /dev/null
+++ b/includes/external/addressbook/node_modules/cacheable-request/dist/index.d.ts
@@ -0,0 +1,17 @@
+import { RequestFn, StorageAdapter, CacheResponse, CacheValue, CacheableOptions, Emitter } from './types.js';
+type Func = (...args: any[]) => any;
+declare class CacheableRequest {
+ cache: StorageAdapter;
+ cacheRequest: RequestFn;
+ hooks: Map<string, Func>;
+ constructor(cacheRequest: RequestFn, cacheAdapter?: StorageAdapter | string);
+ request: () => (options: CacheableOptions, cb?: (response: CacheResponse) => void) => Emitter;
+ addHook: (name: string, fn: Func) => void;
+ removeHook: (name: string) => boolean;
+ getHook: (name: string) => Func;
+ runHook: (name: string, ...args: any[]) => Promise<CacheValue>;
+}
+export default CacheableRequest;
+export * from './types.js';
+export declare const onResponse = "onResponse";
+//# sourceMappingURL=index.d.ts.map \ No newline at end of file
diff --git a/includes/external/addressbook/node_modules/cacheable-request/dist/index.d.ts.map b/includes/external/addressbook/node_modules/cacheable-request/dist/index.d.ts.map
new file mode 100644
index 0000000..318c87e
--- /dev/null
+++ b/includes/external/addressbook/node_modules/cacheable-request/dist/index.d.ts.map
@@ -0,0 +1 @@
+{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAWA,OAAO,EAAC,SAAS,EAAE,cAAc,EAAE,aAAa,EAAE,UAAU,EAAE,gBAAgB,EAAuC,OAAO,EAA2B,MAAM,YAAY,CAAC;AAE1K,KAAK,IAAI,GAAG,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,CAAC;AAEpC,cAAM,gBAAgB;IACrB,KAAK,EAAE,cAAc,CAAC;IACtB,YAAY,EAAE,SAAS,CAAC;IACxB,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAA2B;gBACvC,YAAY,EAAE,SAAS,EAAE,YAAY,CAAC,EAAE,cAAc,GAAG,MAAM;IAmB3E,OAAO,kBAAmB,gBAAgB,kBACzB,aAAa,KAAK,IAAI,KAAG,OAAO,CAuM/C;IAEF,OAAO,SAAU,MAAM,MAAM,IAAI,UAI/B;IAEF,UAAU,SAAU,MAAM,aAA6B;IAEvD,OAAO,SAAU,MAAM,UAA0B;IAEjD,OAAO,SAAgB,MAAM,WAAW,GAAG,EAAE,KAAG,QAAQ,UAAU,CAAC,CAAoC;CACvG;AA6CD,eAAe,gBAAgB,CAAC;AAChC,cAAc,YAAY,CAAC;AAC3B,eAAO,MAAM,UAAU,eAAe,CAAC"} \ No newline at end of file
diff --git a/includes/external/addressbook/node_modules/cacheable-request/dist/index.js b/includes/external/addressbook/node_modules/cacheable-request/dist/index.js
new file mode 100644
index 0000000..3ab3ccc
--- /dev/null
+++ b/includes/external/addressbook/node_modules/cacheable-request/dist/index.js
@@ -0,0 +1,275 @@
+import EventEmitter from 'node:events';
+import urlLib from 'node:url';
+import crypto from 'node:crypto';
+import stream, { PassThrough as PassThroughStream } from 'node:stream';
+import normalizeUrl from 'normalize-url';
+import getStream from 'get-stream';
+import CachePolicy from 'http-cache-semantics';
+import Response from 'responselike';
+import Keyv from 'keyv';
+import mimicResponse from 'mimic-response';
+import { CacheError, RequestError } from './types.js';
+class CacheableRequest {
+ constructor(cacheRequest, cacheAdapter) {
+ this.hooks = new Map();
+ this.request = () => (options, cb) => {
+ let url;
+ if (typeof options === 'string') {
+ url = normalizeUrlObject(urlLib.parse(options));
+ options = {};
+ }
+ else if (options instanceof urlLib.URL) {
+ url = normalizeUrlObject(urlLib.parse(options.toString()));
+ options = {};
+ }
+ else {
+ const [pathname, ...searchParts] = (options.path ?? '').split('?');
+ const search = searchParts.length > 0
+ ? `?${searchParts.join('?')}`
+ : '';
+ url = normalizeUrlObject({ ...options, pathname, search });
+ }
+ options = {
+ headers: {},
+ method: 'GET',
+ cache: true,
+ strictTtl: false,
+ automaticFailover: false,
+ ...options,
+ ...urlObjectToRequestOptions(url),
+ };
+ options.headers = Object.fromEntries(entries(options.headers).map(([key, value]) => [key.toLowerCase(), value]));
+ const ee = new EventEmitter();
+ const normalizedUrlString = normalizeUrl(urlLib.format(url), {
+ stripWWW: false,
+ removeTrailingSlash: false,
+ stripAuthentication: false,
+ });
+ let key = `${options.method}:${normalizedUrlString}`;
+ // POST, PATCH, and PUT requests may be cached, depending on the response
+ // cache-control headers. As a result, the body of the request should be
+ // added to the cache key in order to avoid collisions.
+ if (options.body && options.method !== undefined && ['POST', 'PATCH', 'PUT'].includes(options.method)) {
+ if (options.body instanceof stream.Readable) {
+ // Streamed bodies should completely skip the cache because they may
+ // or may not be hashable and in either case the stream would need to
+ // close before the cache key could be generated.
+ options.cache = false;
+ }
+ else {
+ key += `:${crypto.createHash('md5').update(options.body).digest('hex')}`;
+ }
+ }
+ let revalidate = false;
+ let madeRequest = false;
+ const makeRequest = (options_) => {
+ madeRequest = true;
+ let requestErrored = false;
+ let requestErrorCallback = () => { };
+ const requestErrorPromise = new Promise(resolve => {
+ requestErrorCallback = () => {
+ if (!requestErrored) {
+ requestErrored = true;
+ resolve();
+ }
+ };
+ });
+ const handler = async (response) => {
+ if (revalidate) {
+ response.status = response.statusCode;
+ const revalidatedPolicy = CachePolicy.fromObject(revalidate.cachePolicy).revalidatedPolicy(options_, response);
+ if (!revalidatedPolicy.modified) {
+ response.resume();
+ await new Promise(resolve => {
+ // Skipping 'error' handler cause 'error' event should't be emitted for 304 response
+ response
+ .once('end', resolve);
+ });
+ const headers = convertHeaders(revalidatedPolicy.policy.responseHeaders());
+ response = new Response({ statusCode: revalidate.statusCode, headers, body: revalidate.body, url: revalidate.url });
+ response.cachePolicy = revalidatedPolicy.policy;
+ response.fromCache = true;
+ }
+ }
+ if (!response.fromCache) {
+ response.cachePolicy = new CachePolicy(options_, response, options_);
+ response.fromCache = false;
+ }
+ let clonedResponse;
+ if (options_.cache && response.cachePolicy.storable()) {
+ clonedResponse = cloneResponse(response);
+ (async () => {
+ try {
+ const bodyPromise = getStream.buffer(response);
+ await Promise.race([
+ requestErrorPromise,
+ new Promise(resolve => response.once('end', resolve)),
+ new Promise(resolve => response.once('close', resolve)), // eslint-disable-line no-promise-executor-return
+ ]);
+ const body = await bodyPromise;
+ let value = {
+ url: response.url,
+ statusCode: response.fromCache ? revalidate.statusCode : response.statusCode,
+ body,
+ cachePolicy: response.cachePolicy.toObject(),
+ };
+ let ttl = options_.strictTtl ? response.cachePolicy.timeToLive() : undefined;
+ if (options_.maxTtl) {
+ ttl = ttl ? Math.min(ttl, options_.maxTtl) : options_.maxTtl;
+ }
+ if (this.hooks.size > 0) {
+ /* eslint-disable no-await-in-loop */
+ for (const key_ of this.hooks.keys()) {
+ value = await this.runHook(key_, value, response);
+ }
+ /* eslint-enable no-await-in-loop */
+ }
+ await this.cache.set(key, value, ttl);
+ }
+ catch (error) {
+ ee.emit('error', new CacheError(error));
+ }
+ })();
+ }
+ else if (options_.cache && revalidate) {
+ (async () => {
+ try {
+ await this.cache.delete(key);
+ }
+ catch (error) {
+ ee.emit('error', new CacheError(error));
+ }
+ })();
+ }
+ ee.emit('response', clonedResponse ?? response);
+ if (typeof cb === 'function') {
+ cb(clonedResponse ?? response);
+ }
+ };
+ try {
+ const request_ = this.cacheRequest(options_, handler);
+ request_.once('error', requestErrorCallback);
+ request_.once('abort', requestErrorCallback);
+ request_.once('destroy', requestErrorCallback);
+ ee.emit('request', request_);
+ }
+ catch (error) {
+ ee.emit('error', new RequestError(error));
+ }
+ };
+ (async () => {
+ const get = async (options_) => {
+ await Promise.resolve();
+ const cacheEntry = options_.cache ? await this.cache.get(key) : undefined;
+ if (typeof cacheEntry === 'undefined' && !options_.forceRefresh) {
+ makeRequest(options_);
+ return;
+ }
+ const policy = CachePolicy.fromObject(cacheEntry.cachePolicy);
+ if (policy.satisfiesWithoutRevalidation(options_) && !options_.forceRefresh) {
+ const headers = convertHeaders(policy.responseHeaders());
+ const response = new Response({ statusCode: cacheEntry.statusCode, headers, body: cacheEntry.body, url: cacheEntry.url });
+ response.cachePolicy = policy;
+ response.fromCache = true;
+ ee.emit('response', response);
+ if (typeof cb === 'function') {
+ cb(response);
+ }
+ }
+ else if (policy.satisfiesWithoutRevalidation(options_) && Date.now() >= policy.timeToLive() && options_.forceRefresh) {
+ await this.cache.delete(key);
+ options_.headers = policy.revalidationHeaders(options_);
+ makeRequest(options_);
+ }
+ else {
+ revalidate = cacheEntry;
+ options_.headers = policy.revalidationHeaders(options_);
+ makeRequest(options_);
+ }
+ };
+ const errorHandler = (error) => ee.emit('error', new CacheError(error));
+ if (this.cache instanceof Keyv) {
+ const cachek = this.cache;
+ cachek.once('error', errorHandler);
+ ee.on('error', () => cachek.removeListener('error', errorHandler));
+ ee.on('response', () => cachek.removeListener('error', errorHandler));
+ }
+ try {
+ await get(options);
+ }
+ catch (error) {
+ if (options.automaticFailover && !madeRequest) {
+ makeRequest(options);
+ }
+ ee.emit('error', new CacheError(error));
+ }
+ })();
+ return ee;
+ };
+ this.addHook = (name, fn) => {
+ if (!this.hooks.has(name)) {
+ this.hooks.set(name, fn);
+ }
+ };
+ this.removeHook = (name) => this.hooks.delete(name);
+ this.getHook = (name) => this.hooks.get(name);
+ this.runHook = async (name, ...args) => this.hooks.get(name)?.(...args);
+ if (cacheAdapter instanceof Keyv) {
+ this.cache = cacheAdapter;
+ }
+ else if (typeof cacheAdapter === 'string') {
+ this.cache = new Keyv({
+ uri: cacheAdapter,
+ namespace: 'cacheable-request',
+ });
+ }
+ else {
+ this.cache = new Keyv({
+ store: cacheAdapter,
+ namespace: 'cacheable-request',
+ });
+ }
+ this.request = this.request.bind(this);
+ this.cacheRequest = cacheRequest;
+ }
+}
+const entries = Object.entries;
+const cloneResponse = (response) => {
+ const clone = new PassThroughStream({ autoDestroy: false });
+ mimicResponse(response, clone);
+ return response.pipe(clone);
+};
+const urlObjectToRequestOptions = (url) => {
+ const options = { ...url };
+ options.path = `${url.pathname || '/'}${url.search || ''}`;
+ delete options.pathname;
+ delete options.search;
+ return options;
+};
+const normalizeUrlObject = (url) =>
+// If url was parsed by url.parse or new URL:
+// - hostname will be set
+// - host will be hostname[:port]
+// - port will be set if it was explicit in the parsed string
+// Otherwise, url was from request options:
+// - hostname or host may be set
+// - host shall not have port encoded
+({
+ protocol: url.protocol,
+ auth: url.auth,
+ hostname: url.hostname || url.host || 'localhost',
+ port: url.port,
+ pathname: url.pathname,
+ search: url.search,
+});
+const convertHeaders = (headers) => {
+ const result = [];
+ for (const name of Object.keys(headers)) {
+ result[name.toLowerCase()] = headers[name];
+ }
+ return result;
+};
+export default CacheableRequest;
+export * from './types.js';
+export const onResponse = 'onResponse';
+//# sourceMappingURL=index.js.map \ No newline at end of file
diff --git a/includes/external/addressbook/node_modules/cacheable-request/dist/index.js.map b/includes/external/addressbook/node_modules/cacheable-request/dist/index.js.map
new file mode 100644
index 0000000..60a4412
--- /dev/null
+++ b/includes/external/addressbook/node_modules/cacheable-request/dist/index.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"} \ No newline at end of file
diff --git a/includes/external/addressbook/node_modules/cacheable-request/dist/types.d.ts b/includes/external/addressbook/node_modules/cacheable-request/dist/types.d.ts
new file mode 100644
index 0000000..151b576
--- /dev/null
+++ b/includes/external/addressbook/node_modules/cacheable-request/dist/types.d.ts
@@ -0,0 +1,106 @@
+/// <reference types="node" resolution-mode="require"/>
+/// <reference types="node" resolution-mode="require"/>
+/// <reference types="node" resolution-mode="require"/>
+/// <reference types="node" resolution-mode="require"/>
+import { request, RequestOptions, ClientRequest, ServerResponse } from 'node:http';
+import { URL } from 'node:url';
+import { EventEmitter } from 'node:events';
+import { Buffer } from 'node:buffer';
+import { Store } from 'keyv';
+import ResponseLike from 'responselike';
+import { CachePolicyObject } from 'http-cache-semantics';
+export type RequestFn = typeof request;
+export type RequestFunction = typeof request;
+export type CacheResponse = ServerResponse | typeof ResponseLike;
+export type CacheableRequestFunction = (options: CacheableOptions, cb?: (response: CacheResponse) => void) => Emitter;
+export type CacheableOptions = Options & RequestOptions | string | URL;
+export type StorageAdapter = Store<any>;
+export interface Options {
+ /**
+ * If the cache should be used. Setting this to `false` will completely bypass the cache for the current request.
+ * @default true
+ */
+ cache?: boolean | undefined;
+ /**
+ * If set to `true` once a cached resource has expired it is deleted and will have to be re-requested.
+ *
+ * If set to `false`, after a cached resource's TTL expires it is kept in the cache and will be revalidated
+ * on the next request with `If-None-Match`/`If-Modified-Since` headers.
+ * @default false
+ */
+ strictTtl?: boolean | undefined;
+ /**
+ * Limits TTL. The `number` represents milliseconds.
+ * @default undefined
+ */
+ maxTtl?: number | undefined;
+ /**
+ * When set to `true`, if the DB connection fails we will automatically fallback to a network request.
+ * DB errors will still be emitted to notify you of the problem even though the request callback may succeed.
+ * @default false
+ */
+ automaticFailover?: boolean | undefined;
+ /**
+ * Forces refreshing the cache. If the response could be retrieved from the cache, it will perform a
+ * new request and override the cache instead.
+ * @default false
+ */
+ forceRefresh?: boolean | undefined;
+ remoteAddress?: boolean | undefined;
+ url?: string | undefined;
+ headers?: Record<string, string | string[] | undefined>;
+ body?: Buffer;
+}
+export interface CacheValue extends Record<string, any> {
+ url: string;
+ statusCode: number;
+ body: Buffer | string;
+ cachePolicy: CachePolicyObject;
+}
+export interface Emitter extends EventEmitter {
+ addListener(event: 'request', listener: (request: ClientRequest) => void): this;
+ addListener(event: 'response', listener: (response: CacheResponse) => void): this;
+ addListener(event: 'error', listener: (error: RequestError | CacheError) => void): this;
+ on(event: 'request', listener: (request: ClientRequest) => void): this;
+ on(event: 'response', listener: (response: CacheResponse) => void): this;
+ on(event: 'error', listener: (error: RequestError | CacheError) => void): this;
+ once(event: 'request', listener: (request: ClientRequest) => void): this;
+ once(event: 'response', listener: (response: CacheResponse) => void): this;
+ once(event: 'error', listener: (error: RequestError | CacheError) => void): this;
+ prependListener(event: 'request', listener: (request: ClientRequest) => void): this;
+ prependListener(event: 'response', listener: (response: CacheResponse) => void): this;
+ prependListener(event: 'error', listener: (error: RequestError | CacheError) => void): this;
+ prependOnceListener(event: 'request', listener: (request: ClientRequest) => void): this;
+ prependOnceListener(event: 'response', listener: (response: CacheResponse) => void): this;
+ prependOnceListener(event: 'error', listener: (error: RequestError | CacheError) => void): this;
+ removeListener(event: 'request', listener: (request: ClientRequest) => void): this;
+ removeListener(event: 'response', listener: (response: CacheResponse) => void): this;
+ removeListener(event: 'error', listener: (error: RequestError | CacheError) => void): this;
+ off(event: 'request', listener: (request: ClientRequest) => void): this;
+ off(event: 'response', listener: (response: CacheResponse) => void): this;
+ off(event: 'error', listener: (error: RequestError | CacheError) => void): this;
+ removeAllListeners(event?: 'request' | 'response' | 'error'): this;
+ listeners(event: 'request'): Array<(request: ClientRequest) => void>;
+ listeners(event: 'response'): Array<(response: CacheResponse) => void>;
+ listeners(event: 'error'): Array<(error: RequestError | CacheError) => void>;
+ rawListeners(event: 'request'): Array<(request: ClientRequest) => void>;
+ rawListeners(event: 'response'): Array<(response: CacheResponse) => void>;
+ rawListeners(event: 'error'): Array<(error: RequestError | CacheError) => void>;
+ emit(event: 'request', request: ClientRequest): boolean;
+ emit(event: 'response', response: CacheResponse): boolean;
+ emit(event: 'error', error: RequestError | CacheError): boolean;
+ eventNames(): Array<'request' | 'response' | 'error'>;
+ listenerCount(type: 'request' | 'response' | 'error'): number;
+}
+export declare class RequestError extends Error {
+ constructor(error: Error);
+}
+export declare class CacheError extends Error {
+ constructor(error: Error);
+}
+export interface UrlOption {
+ path: string;
+ pathname?: string;
+ search?: string;
+}
+//# sourceMappingURL=types.d.ts.map \ No newline at end of file
diff --git a/includes/external/addressbook/node_modules/cacheable-request/dist/types.d.ts.map b/includes/external/addressbook/node_modules/cacheable-request/dist/types.d.ts.map
new file mode 100644
index 0000000..4d46e21
--- /dev/null
+++ b/includes/external/addressbook/node_modules/cacheable-request/dist/types.d.ts.map
@@ -0,0 +1 @@
+{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"} \ No newline at end of file
diff --git a/includes/external/addressbook/node_modules/cacheable-request/dist/types.js b/includes/external/addressbook/node_modules/cacheable-request/dist/types.js
new file mode 100644
index 0000000..311ef10
--- /dev/null
+++ b/includes/external/addressbook/node_modules/cacheable-request/dist/types.js
@@ -0,0 +1,19 @@
+// Type definitions for cacheable-request 6.0
+// Project: https://github.com/lukechilds/cacheable-request#readme
+// Definitions by: BendingBender <https://github.com/BendingBender>
+// Paul Melnikow <https://github.com/paulmelnikow>
+// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
+// TypeScript Version: 2.3
+export class RequestError extends Error {
+ constructor(error) {
+ super(error.message);
+ Object.assign(this, error);
+ }
+}
+export class CacheError extends Error {
+ constructor(error) {
+ super(error.message);
+ Object.assign(this, error);
+ }
+}
+//# sourceMappingURL=types.js.map \ No newline at end of file
diff --git a/includes/external/addressbook/node_modules/cacheable-request/dist/types.js.map b/includes/external/addressbook/node_modules/cacheable-request/dist/types.js.map
new file mode 100644
index 0000000..e369227
--- /dev/null
+++ b/includes/external/addressbook/node_modules/cacheable-request/dist/types.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,6CAA6C;AAC7C,kEAAkE;AAClE,mEAAmE;AACnE,kEAAkE;AAClE,kEAAkE;AAClE,0BAA0B;AA+H1B,MAAM,OAAO,YAAa,SAAQ,KAAK;IACtC,YAAY,KAAY;QACvB,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACrB,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAC5B,CAAC;CACD;AACD,MAAM,OAAO,UAAW,SAAQ,KAAK;IACpC,YAAY,KAAY;QACvB,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACrB,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAC5B,CAAC;CACD"} \ No newline at end of file