effect 3.18.4 → 3.19.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/HashRing/package.json +6 -0
- package/dist/cjs/Array.js.map +1 -1
- package/dist/cjs/Effect.js.map +1 -1
- package/dist/cjs/Graph.js +290 -177
- package/dist/cjs/Graph.js.map +1 -1
- package/dist/cjs/HashRing.js +257 -0
- package/dist/cjs/HashRing.js.map +1 -0
- package/dist/cjs/JSONSchema.js +39 -8
- package/dist/cjs/JSONSchema.js.map +1 -1
- package/dist/cjs/TestClock.js +8 -8
- package/dist/cjs/TestClock.js.map +1 -1
- package/dist/cjs/index.js +4 -2
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/internal/version.js +1 -1
- package/dist/dts/Array.d.ts +3 -3
- package/dist/dts/Array.d.ts.map +1 -1
- package/dist/dts/Effect.d.ts +6 -1
- package/dist/dts/Effect.d.ts.map +1 -1
- package/dist/dts/Graph.d.ts +147 -49
- package/dist/dts/Graph.d.ts.map +1 -1
- package/dist/dts/HashRing.d.ts +158 -0
- package/dist/dts/HashRing.d.ts.map +1 -0
- package/dist/dts/JSONSchema.d.ts +3 -2
- package/dist/dts/JSONSchema.d.ts.map +1 -1
- package/dist/dts/Types.d.ts +1 -1
- package/dist/dts/Types.d.ts.map +1 -1
- package/dist/dts/index.d.ts +5 -0
- package/dist/dts/index.d.ts.map +1 -1
- package/dist/esm/Array.js.map +1 -1
- package/dist/esm/Effect.js.map +1 -1
- package/dist/esm/Graph.js +286 -175
- package/dist/esm/Graph.js.map +1 -1
- package/dist/esm/HashRing.js +245 -0
- package/dist/esm/HashRing.js.map +1 -0
- package/dist/esm/JSONSchema.js +35 -6
- package/dist/esm/JSONSchema.js.map +1 -1
- package/dist/esm/TestClock.js +8 -8
- package/dist/esm/TestClock.js.map +1 -1
- package/dist/esm/index.js +5 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/internal/version.js +1 -1
- package/package.json +9 -1
- package/src/Array.ts +4 -4
- package/src/Effect.ts +6 -1
- package/src/Graph.ts +415 -218
- package/src/HashRing.ts +387 -0
- package/src/JSONSchema.ts +39 -9
- package/src/TestClock.ts +9 -9
- package/src/Types.ts +3 -1
- package/src/index.ts +6 -0
- package/src/internal/version.ts +1 -1
package/dist/cjs/Graph.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Graph.js","names":["Data","_interopRequireWildcard","require","Equal","_Function","Hash","_Inspectable","Option","_Pipeable","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","getMapSafe","map","key","some","none","TypeId","exports","Edge","Class","ProtoGraph","Symbol","iterator","nodes","NodeInspectSymbol","toJSON","symbol","that","isGraph","size","edges","type","nodeIndex","nodeData","otherNodeData","equals","edgeIndex","edgeData","otherEdge","hash","string","number","_id","nodeCount","edgeCount","toString","format","pipe","pipeArguments","arguments","u","directed","mutate","graph","create","Map","adjacency","reverseAdjacency","nextNodeIndex","nextEdgeIndex","isAcyclic","mutable","beginMutation","endMutation","undirected","dual","addNode","data","getNode","hasNode","findNode","predicate","index","findNodes","results","push","findEdge","source","target","findEdges","updateNode","currentData","newData","updateEdge","currentEdge","mapNodes","mapEdges","reverse","clear","sourceEdges","targetEdges","filterMapNodes","nodesToRemove","result","isSome","value","removeNode","filterMapEdges","edgesToRemove","removeEdge","filterNodes","filterEdges","invalidateCycleFlagOnRemoval","invalidateCycleFlagOnAddition","addEdge","Error","sourceAdjacency","targetReverseAdjacency","targetAdjacency","sourceReverseAdjacency","outgoingEdges","edge","incomingEdges","removeEdgeInternal","delete","wasRemoved","isNone","indexOf","splice","getEdge","hasEdge","adjacencyList","neighbors","neighborsDirected","direction","adjacencyMap","neighborNode","toGraphViz","options","edgeLabel","String","graphName","nodeLabel","isDirected","graphType","edgeOperator","lines","label","replace","join","visited","Set","recursionStack","startNode","keys","stack","length","node","neighborIndex","isFirstVisit","pop","add","nodeNeighbors","Array","from","neighbor","isBipartite","coloring","discovered","isBipartiteGraph","queue","current","shift","currentColor","neighborColor","getUndirectedNeighbors","otherNode","connectedComponents","components","component","stronglyConnectedComponents","finishOrder","nodeNeighborsList","sccs","scc","predecessor","dijkstra","edgeWeight","path","distance","edgeWeights","distances","previous","Infinity","priorityQueue","minIndex","currentNode","currentDistance","weight","newDistance","neighborDistance","targetDistance","unshift","prev","floydWarshall","allNodes","dist","next","edgeMatrix","j","currentWeight","k","distIK","distKJ","distIJ","paths","resultEdgeWeights","weights","nextNode","astar","heuristic","targetNodeData","gScore","fScore","sourceNodeData","h","openSet","currentGScore","tentativeGScore","neighborGScore","neighborNodeData","targetGScore","bellmanFord","hasUpdate","sourceDistance","affectedNodes","Walker","visit","constructor","indices","walker","_","values","entries","dfs","config","startNodes","nextMapped","nodeDataOption","done","undefined","bfs","topo","initials","inDegree","remaining","currentInDegree","degree","newInDegree","dfsPostOrder","finished","visitedChildren","nodeToEmit","nodeMap","edgeMap","externals","nodeIterator"],"sources":["../../src/Graph.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"Graph.js","names":["Data","_interopRequireWildcard","require","Equal","_Function","Hash","_Inspectable","Option","_Pipeable","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","TypeId","exports","Edge","Class","ProtoGraph","Symbol","iterator","nodes","NodeInspectSymbol","toJSON","symbol","that","isGraph","size","edges","type","nodeIndex","nodeData","otherNodeData","equals","edgeIndex","edgeData","otherEdge","hash","string","number","_id","nodeCount","edgeCount","toString","format","pipe","pipeArguments","arguments","GraphError","TaggedError","missingNode","node","message","u","directed","mutate","graph","create","Map","adjacency","reverseAdjacency","nextNodeIndex","nextEdgeIndex","isAcyclic","some","mutable","beginMutation","endMutation","undirected","dual","addNode","data","getNode","none","hasNode","findNode","predicate","index","findNodes","results","push","findEdge","source","target","findEdges","updateNode","currentData","newData","updateEdge","currentEdge","mapNodes","mapEdges","reverse","clear","sourceEdges","targetEdges","filterMapNodes","nodesToRemove","result","isSome","value","removeNode","filterMapEdges","edgesToRemove","removeEdge","filterNodes","filterEdges","invalidateCycleFlagOnRemoval","invalidateCycleFlagOnAddition","addEdge","sourceAdjacency","undefined","targetReverseAdjacency","targetAdjacency","sourceReverseAdjacency","outgoingEdges","edge","incomingEdges","removeEdgeInternal","delete","wasRemoved","indexOf","splice","getEdge","hasEdge","adjacencyList","neighbors","getUndirectedNeighbors","neighborsDirected","direction","adjacencyMap","neighborNode","toGraphViz","options","edgeLabel","String","graphName","nodeLabel","isDirected","graphType","edgeOperator","lines","label","replace","join","escapeMermaidLabel","formatMermaidNode","nodeId","shape","toMermaid","diagramType","nodeShape","finalDiagramType","formattedNode","sourceId","targetId","visited","Set","recursionStack","startNode","keys","stack","length","neighborIndex","isFirstVisit","pop","add","nodeNeighbors","Array","from","neighbor","isBipartite","coloring","discovered","isBipartiteGraph","queue","current","shift","currentColor","neighborColor","otherNode","connectedComponents","components","component","stronglyConnectedComponents","finishOrder","nodeNeighborsList","sccs","scc","predecessor","dijkstra","config","cost","path","distance","costs","distances","previous","Infinity","priorityQueue","minIndex","currentNode","currentDistance","weight","Error","newDistance","neighborDistance","targetDistance","unshift","prev","floydWarshall","allNodes","dist","next","edgeMatrix","j","currentWeight","k","distIK","distKJ","distIJ","paths","resultCosts","weights","nextNode","astar","heuristic","targetNodeData","gScore","fScore","sourceNodeData","h","openSet","currentGScore","tentativeGScore","neighborGScore","neighborNodeData","targetGScore","bellmanFord","hasUpdate","sourceDistance","affectedNodes","Walker","visit","constructor","indices","walker","_","values","entries","dfs","start","nextMapped","nodeDataOption","done","bfs","topo","initials","inDegree","remaining","currentInDegree","degree","newInDegree","dfsPostOrder","finished","visitedChildren","nodeToEmit","nodeMap","edgeMap","externals","nodeIterator"],"sources":["../../src/Graph.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,257 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.remove = exports.make = exports.isHashRing = exports.has = exports.getShards = exports.get = exports.addMany = exports.add = void 0;
|
|
7
|
+
var _Function = require("./Function.js");
|
|
8
|
+
var Hash = _interopRequireWildcard(require("./Hash.js"));
|
|
9
|
+
var Inspectable = _interopRequireWildcard(require("./Inspectable.js"));
|
|
10
|
+
var Iterable = _interopRequireWildcard(require("./Iterable.js"));
|
|
11
|
+
var _Pipeable = require("./Pipeable.js");
|
|
12
|
+
var _Predicate = require("./Predicate.js");
|
|
13
|
+
var PrimaryKey = _interopRequireWildcard(require("./PrimaryKey.js"));
|
|
14
|
+
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
|
|
15
|
+
/**
|
|
16
|
+
* @since 3.19.0
|
|
17
|
+
* @experimental
|
|
18
|
+
*/
|
|
19
|
+
|
|
20
|
+
const TypeId = "~effect/cluster/HashRing";
|
|
21
|
+
/**
|
|
22
|
+
* @since 3.19.0
|
|
23
|
+
* @category Guards
|
|
24
|
+
* @experimental
|
|
25
|
+
*/
|
|
26
|
+
const isHashRing = u => (0, _Predicate.hasProperty)(u, TypeId);
|
|
27
|
+
/**
|
|
28
|
+
* @since 3.19.0
|
|
29
|
+
* @category Constructors
|
|
30
|
+
* @experimental
|
|
31
|
+
*/
|
|
32
|
+
exports.isHashRing = isHashRing;
|
|
33
|
+
const make = options => {
|
|
34
|
+
const self = Object.create(Proto);
|
|
35
|
+
self.baseWeight = Math.max(options?.baseWeight ?? 128, 1);
|
|
36
|
+
self.totalWeightCache = 0;
|
|
37
|
+
self.nodes = new Map();
|
|
38
|
+
self.ring = [];
|
|
39
|
+
return self;
|
|
40
|
+
};
|
|
41
|
+
exports.make = make;
|
|
42
|
+
const Proto = {
|
|
43
|
+
[TypeId]: TypeId,
|
|
44
|
+
[Symbol.iterator]() {
|
|
45
|
+
return Iterable.map(this.nodes.values(), ([n]) => n)[Symbol.iterator]();
|
|
46
|
+
},
|
|
47
|
+
pipe() {
|
|
48
|
+
return (0, _Pipeable.pipeArguments)(this, arguments);
|
|
49
|
+
},
|
|
50
|
+
...Inspectable.BaseProto,
|
|
51
|
+
toJSON() {
|
|
52
|
+
return {
|
|
53
|
+
_id: "HashRing",
|
|
54
|
+
baseWeight: this.baseWeight,
|
|
55
|
+
nodes: this.ring.map(([, n]) => this.nodes.get(n)[0])
|
|
56
|
+
};
|
|
57
|
+
}
|
|
58
|
+
};
|
|
59
|
+
/**
|
|
60
|
+
* Add new nodes to the ring. If a node already exists in the ring, it
|
|
61
|
+
* will be updated. For example, you can use this to update the node's weight.
|
|
62
|
+
*
|
|
63
|
+
* @since 3.19.0
|
|
64
|
+
* @category Combinators
|
|
65
|
+
* @experimental
|
|
66
|
+
*/
|
|
67
|
+
const addMany = exports.addMany = /*#__PURE__*/(0, _Function.dual)(args => isHashRing(args[0]), (self, nodes, options) => {
|
|
68
|
+
const weight = Math.max(options?.weight ?? 1, 0.1);
|
|
69
|
+
const keys = [];
|
|
70
|
+
let toRemove;
|
|
71
|
+
for (const node of nodes) {
|
|
72
|
+
const key = PrimaryKey.value(node);
|
|
73
|
+
const entry = self.nodes.get(key);
|
|
74
|
+
if (entry) {
|
|
75
|
+
if (entry[1] === weight) continue;
|
|
76
|
+
toRemove ??= new Set();
|
|
77
|
+
toRemove.add(key);
|
|
78
|
+
self.totalWeightCache -= entry[1];
|
|
79
|
+
self.totalWeightCache += weight;
|
|
80
|
+
entry[1] = weight;
|
|
81
|
+
} else {
|
|
82
|
+
self.nodes.set(key, [node, weight]);
|
|
83
|
+
self.totalWeightCache += weight;
|
|
84
|
+
}
|
|
85
|
+
keys.push(key);
|
|
86
|
+
}
|
|
87
|
+
if (toRemove) {
|
|
88
|
+
self.ring = self.ring.filter(([, n]) => !toRemove.has(n));
|
|
89
|
+
}
|
|
90
|
+
addNodesToRing(self, keys, Math.round(weight * self.baseWeight));
|
|
91
|
+
return self;
|
|
92
|
+
});
|
|
93
|
+
function addNodesToRing(self, keys, weight) {
|
|
94
|
+
for (let i = weight; i > 0; i--) {
|
|
95
|
+
for (let j = 0; j < keys.length; j++) {
|
|
96
|
+
const key = keys[j];
|
|
97
|
+
self.ring.push([Hash.string(`${key}:${i}`), key]);
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
self.ring.sort((a, b) => a[0] - b[0]);
|
|
101
|
+
}
|
|
102
|
+
/**
|
|
103
|
+
* Add a new node to the ring. If the node already exists in the ring, it
|
|
104
|
+
* will be updated. For example, you can use this to update the node's weight.
|
|
105
|
+
*
|
|
106
|
+
* @since 3.19.0
|
|
107
|
+
* @category Combinators
|
|
108
|
+
* @experimental
|
|
109
|
+
*/
|
|
110
|
+
const add = exports.add = /*#__PURE__*/(0, _Function.dual)(args => isHashRing(args[0]), (self, node, options) => addMany(self, [node], options));
|
|
111
|
+
/**
|
|
112
|
+
* Removes the node from the ring. No-op's if the node does not exist.
|
|
113
|
+
*
|
|
114
|
+
* @since 3.19.0
|
|
115
|
+
* @category Combinators
|
|
116
|
+
* @experimental
|
|
117
|
+
*/
|
|
118
|
+
const remove = exports.remove = /*#__PURE__*/(0, _Function.dual)(2, (self, node) => {
|
|
119
|
+
const key = PrimaryKey.value(node);
|
|
120
|
+
const entry = self.nodes.get(key);
|
|
121
|
+
if (entry) {
|
|
122
|
+
self.nodes.delete(key);
|
|
123
|
+
self.ring = self.ring.filter(([, n]) => n !== key);
|
|
124
|
+
self.totalWeightCache -= entry[1];
|
|
125
|
+
}
|
|
126
|
+
return self;
|
|
127
|
+
});
|
|
128
|
+
/**
|
|
129
|
+
* @since 3.19.0
|
|
130
|
+
* @category Combinators
|
|
131
|
+
* @experimental
|
|
132
|
+
*/
|
|
133
|
+
const has = exports.has = /*#__PURE__*/(0, _Function.dual)(2, (self, node) => self.nodes.has(PrimaryKey.value(node)));
|
|
134
|
+
/**
|
|
135
|
+
* Gets the node which should handle the given input. Returns undefined if
|
|
136
|
+
* the hashring has no elements with weight.
|
|
137
|
+
*
|
|
138
|
+
* @since 3.19.0
|
|
139
|
+
* @category Combinators
|
|
140
|
+
* @experimental
|
|
141
|
+
*/
|
|
142
|
+
const get = (self, input) => {
|
|
143
|
+
if (self.ring.length === 0) {
|
|
144
|
+
return undefined;
|
|
145
|
+
}
|
|
146
|
+
const index = getIndexForInput(self, Hash.string(input))[0];
|
|
147
|
+
const node = self.ring[index][1];
|
|
148
|
+
return self.nodes.get(node)[0];
|
|
149
|
+
};
|
|
150
|
+
/**
|
|
151
|
+
* Distributes `count` shards across the nodes in the ring, attempting to
|
|
152
|
+
* balance the number of shards allocated to each node. Returns undefined if
|
|
153
|
+
* the hashring has no elements with weight.
|
|
154
|
+
*
|
|
155
|
+
* @since 3.19.0
|
|
156
|
+
* @category Combinators
|
|
157
|
+
* @experimental
|
|
158
|
+
*/
|
|
159
|
+
exports.get = get;
|
|
160
|
+
const getShards = (self, count) => {
|
|
161
|
+
if (self.ring.length === 0) {
|
|
162
|
+
return undefined;
|
|
163
|
+
}
|
|
164
|
+
const shards = new Array(count);
|
|
165
|
+
// for tracking how many shards have been allocated to each node
|
|
166
|
+
const allocations = new Map();
|
|
167
|
+
// for tracking which shards still need to be allocated
|
|
168
|
+
const remaining = new Set();
|
|
169
|
+
// for tracking which nodes have reached the max allocation
|
|
170
|
+
const exclude = new Set();
|
|
171
|
+
// First pass - allocate the closest nodes, skipping nodes that have reached
|
|
172
|
+
// max
|
|
173
|
+
const distances = new Array(count);
|
|
174
|
+
for (let shard = 0; shard < count; shard++) {
|
|
175
|
+
const hash = shardHashes[shard] ??= Hash.string(`shard-${shard}`);
|
|
176
|
+
const [index, distance] = getIndexForInput(self, hash);
|
|
177
|
+
const node = self.ring[index][1];
|
|
178
|
+
distances[shard] = [shard, node, distance];
|
|
179
|
+
remaining.add(shard);
|
|
180
|
+
}
|
|
181
|
+
distances.sort((a, b) => a[2] - b[2]);
|
|
182
|
+
for (let i = 0; i < count; i++) {
|
|
183
|
+
const [shard, node] = distances[i];
|
|
184
|
+
if (exclude.has(node)) continue;
|
|
185
|
+
const [value, weight] = self.nodes.get(node);
|
|
186
|
+
shards[shard] = value;
|
|
187
|
+
remaining.delete(shard);
|
|
188
|
+
const nodeCount = (allocations.get(node) ?? 0) + 1;
|
|
189
|
+
allocations.set(node, nodeCount);
|
|
190
|
+
const maxPerNode = Math.max(1, Math.floor(count * (weight / self.totalWeightCache)));
|
|
191
|
+
if (nodeCount >= maxPerNode) {
|
|
192
|
+
exclude.add(node);
|
|
193
|
+
}
|
|
194
|
+
}
|
|
195
|
+
// Second pass - allocate any remaining shards, skipping nodes that have
|
|
196
|
+
// reached max
|
|
197
|
+
let allAtMax = exclude.size === self.nodes.size;
|
|
198
|
+
remaining.forEach(shard => {
|
|
199
|
+
const index = getIndexForInput(self, shardHashes[shard], allAtMax ? undefined : exclude)[0];
|
|
200
|
+
const node = self.ring[index][1];
|
|
201
|
+
const [value, weight] = self.nodes.get(node);
|
|
202
|
+
shards[shard] = value;
|
|
203
|
+
if (allAtMax) return;
|
|
204
|
+
const nodeCount = (allocations.get(node) ?? 0) + 1;
|
|
205
|
+
allocations.set(node, nodeCount);
|
|
206
|
+
const maxPerNode = Math.max(1, Math.floor(count * (weight / self.totalWeightCache)));
|
|
207
|
+
if (nodeCount >= maxPerNode) {
|
|
208
|
+
exclude.add(node);
|
|
209
|
+
if (exclude.size === self.nodes.size) {
|
|
210
|
+
allAtMax = true;
|
|
211
|
+
}
|
|
212
|
+
}
|
|
213
|
+
});
|
|
214
|
+
return shards;
|
|
215
|
+
};
|
|
216
|
+
exports.getShards = getShards;
|
|
217
|
+
const shardHashes = [];
|
|
218
|
+
function getIndexForInput(self, hash, exclude) {
|
|
219
|
+
const ring = self.ring;
|
|
220
|
+
const len = ring.length;
|
|
221
|
+
let mid;
|
|
222
|
+
let lo = 0;
|
|
223
|
+
let hi = len - 1;
|
|
224
|
+
while (lo <= hi) {
|
|
225
|
+
mid = (lo + hi) / 2 >>> 0;
|
|
226
|
+
if (ring[mid][0] >= hash) {
|
|
227
|
+
hi = mid - 1;
|
|
228
|
+
} else {
|
|
229
|
+
lo = mid + 1;
|
|
230
|
+
}
|
|
231
|
+
}
|
|
232
|
+
const a = lo === len ? lo - 1 : lo;
|
|
233
|
+
const distA = Math.abs(ring[a][0] - hash);
|
|
234
|
+
if (exclude === undefined) {
|
|
235
|
+
const b = lo - 1;
|
|
236
|
+
if (b < 0) {
|
|
237
|
+
return [a, distA];
|
|
238
|
+
}
|
|
239
|
+
const distB = Math.abs(ring[b][0] - hash);
|
|
240
|
+
return distA <= distB ? [a, distA] : [b, distB];
|
|
241
|
+
} else if (!exclude.has(ring[a][1])) {
|
|
242
|
+
return [a, distA];
|
|
243
|
+
}
|
|
244
|
+
const range = Math.max(lo, len - lo);
|
|
245
|
+
for (let i = 1; i < range; i++) {
|
|
246
|
+
let index = lo - i;
|
|
247
|
+
if (index >= 0 && index < len && !exclude.has(ring[index][1])) {
|
|
248
|
+
return [index, Math.abs(ring[index][0] - hash)];
|
|
249
|
+
}
|
|
250
|
+
index = lo + i;
|
|
251
|
+
if (index >= 0 && index < len && !exclude.has(ring[index][1])) {
|
|
252
|
+
return [index, Math.abs(ring[index][0] - hash)];
|
|
253
|
+
}
|
|
254
|
+
}
|
|
255
|
+
return [a, distA];
|
|
256
|
+
}
|
|
257
|
+
//# sourceMappingURL=HashRing.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"HashRing.js","names":["_Function","require","Hash","_interopRequireWildcard","Inspectable","Iterable","_Pipeable","_Predicate","PrimaryKey","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","TypeId","isHashRing","u","hasProperty","exports","make","options","self","create","Proto","baseWeight","Math","max","totalWeightCache","nodes","Map","ring","Symbol","iterator","map","values","pipe","pipeArguments","arguments","BaseProto","toJSON","_id","addMany","dual","args","weight","keys","toRemove","node","key","value","entry","Set","add","push","filter","addNodesToRing","round","j","length","string","sort","a","b","remove","delete","input","undefined","index","getIndexForInput","getShards","count","shards","Array","allocations","remaining","exclude","distances","shard","hash","shardHashes","distance","nodeCount","maxPerNode","floor","allAtMax","size","forEach","len","mid","lo","hi","distA","abs","distB","range"],"sources":["../../src/HashRing.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|