/
home
/
infinitibizsol
/
.trash
/
node_modules.9
/
@smithy
/
util-endpoints
/
dist-es
/
cache
/
File Upload :
llllll
Current File: /home/infinitibizsol/.trash/node_modules.9/@smithy/util-endpoints/dist-es/cache/EndpointCache.js
export class EndpointCache { constructor({ size, params }) { this.data = new Map(); this.parameters = []; this.capacity = size ?? 50; if (params) { this.parameters = params; } } get(endpointParams, resolver) { const key = this.hash(endpointParams); if (key === false) { return resolver(); } if (!this.data.has(key)) { if (this.data.size > this.capacity + 10) { const keys = this.data.keys(); let i = 0; while (true) { const { value, done } = keys.next(); this.data.delete(value); if (done || ++i > 10) { break; } } } this.data.set(key, resolver()); } return this.data.get(key); } size() { return this.data.size; } hash(endpointParams) { let buffer = ""; const { parameters } = this; if (parameters.length === 0) { return false; } for (const param of parameters) { const val = String(endpointParams[param] ?? ""); if (val.includes("|;")) { return false; } buffer += val + "|;"; } return buffer; } }
Copyright ©2k19 -
Hexid
|
Tex7ure