Initial Sample.
This commit is contained in:
202
graphql-subscription/node_modules/@wry/equality/lib/bundle.cjs
generated
vendored
Normal file
202
graphql-subscription/node_modules/@wry/equality/lib/bundle.cjs
generated
vendored
Normal file
@@ -0,0 +1,202 @@
|
||||
'use strict';
|
||||
|
||||
Object.defineProperty(exports, '__esModule', { value: true });
|
||||
|
||||
const { toString, hasOwnProperty } = Object.prototype;
|
||||
const fnToStr = Function.prototype.toString;
|
||||
const previousComparisons = new Map();
|
||||
/**
|
||||
* Performs a deep equality check on two JavaScript values, tolerating cycles.
|
||||
*/
|
||||
function equal(a, b) {
|
||||
try {
|
||||
return check(a, b);
|
||||
}
|
||||
finally {
|
||||
previousComparisons.clear();
|
||||
}
|
||||
}
|
||||
function check(a, b) {
|
||||
// If the two values are strictly equal, our job is easy.
|
||||
if (a === b) {
|
||||
return true;
|
||||
}
|
||||
// Object.prototype.toString returns a representation of the runtime type of
|
||||
// the given value that is considerably more precise than typeof.
|
||||
const aTag = toString.call(a);
|
||||
const bTag = toString.call(b);
|
||||
// If the runtime types of a and b are different, they could maybe be equal
|
||||
// under some interpretation of equality, but for simplicity and performance
|
||||
// we just return false instead.
|
||||
if (aTag !== bTag) {
|
||||
return false;
|
||||
}
|
||||
switch (aTag) {
|
||||
case '[object Array]':
|
||||
// Arrays are a lot like other objects, but we can cheaply compare their
|
||||
// lengths as a short-cut before comparing their elements.
|
||||
if (a.length !== b.length)
|
||||
return false;
|
||||
// Fall through to object case...
|
||||
case '[object Object]': {
|
||||
if (previouslyCompared(a, b))
|
||||
return true;
|
||||
const aKeys = definedKeys(a);
|
||||
const bKeys = definedKeys(b);
|
||||
// If `a` and `b` have a different number of enumerable keys, they
|
||||
// must be different.
|
||||
const keyCount = aKeys.length;
|
||||
if (keyCount !== bKeys.length)
|
||||
return false;
|
||||
// Now make sure they have the same keys.
|
||||
for (let k = 0; k < keyCount; ++k) {
|
||||
if (!hasOwnProperty.call(b, aKeys[k])) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
// Finally, check deep equality of all child properties.
|
||||
for (let k = 0; k < keyCount; ++k) {
|
||||
const key = aKeys[k];
|
||||
if (!check(a[key], b[key])) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
case '[object Error]':
|
||||
return a.name === b.name && a.message === b.message;
|
||||
case '[object Number]':
|
||||
// Handle NaN, which is !== itself.
|
||||
if (a !== a)
|
||||
return b !== b;
|
||||
// Fall through to shared +a === +b case...
|
||||
case '[object Boolean]':
|
||||
case '[object Date]':
|
||||
return +a === +b;
|
||||
case '[object RegExp]':
|
||||
case '[object String]':
|
||||
return a == `${b}`;
|
||||
case '[object Map]':
|
||||
case '[object Set]': {
|
||||
if (a.size !== b.size)
|
||||
return false;
|
||||
if (previouslyCompared(a, b))
|
||||
return true;
|
||||
const aIterator = a.entries();
|
||||
const isMap = aTag === '[object Map]';
|
||||
while (true) {
|
||||
const info = aIterator.next();
|
||||
if (info.done)
|
||||
break;
|
||||
// If a instanceof Set, aValue === aKey.
|
||||
const [aKey, aValue] = info.value;
|
||||
// So this works the same way for both Set and Map.
|
||||
if (!b.has(aKey)) {
|
||||
return false;
|
||||
}
|
||||
// However, we care about deep equality of values only when dealing
|
||||
// with Map structures.
|
||||
if (isMap && !check(aValue, b.get(aKey))) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
case '[object Uint16Array]':
|
||||
case '[object Uint8Array]': // Buffer, in Node.js.
|
||||
case '[object Uint32Array]':
|
||||
case '[object Int32Array]':
|
||||
case '[object Int8Array]':
|
||||
case '[object Int16Array]':
|
||||
case '[object ArrayBuffer]':
|
||||
// DataView doesn't need these conversions, but the equality check is
|
||||
// otherwise the same.
|
||||
a = new Uint8Array(a);
|
||||
b = new Uint8Array(b);
|
||||
// Fall through...
|
||||
case '[object DataView]': {
|
||||
let len = a.byteLength;
|
||||
if (len === b.byteLength) {
|
||||
while (len-- && a[len] === b[len]) {
|
||||
// Keep looping as long as the bytes are equal.
|
||||
}
|
||||
}
|
||||
return len === -1;
|
||||
}
|
||||
case '[object AsyncFunction]':
|
||||
case '[object GeneratorFunction]':
|
||||
case '[object AsyncGeneratorFunction]':
|
||||
case '[object Function]': {
|
||||
const aCode = fnToStr.call(a);
|
||||
if (aCode !== fnToStr.call(b)) {
|
||||
return false;
|
||||
}
|
||||
// We consider non-native functions equal if they have the same code
|
||||
// (native functions require === because their code is censored).
|
||||
// Note that this behavior is not entirely sound, since !== function
|
||||
// objects with the same code can behave differently depending on
|
||||
// their closure scope. However, any function can behave differently
|
||||
// depending on the values of its input arguments (including this)
|
||||
// and its calling context (including its closure scope), even
|
||||
// though the function object is === to itself; and it is entirely
|
||||
// possible for functions that are not === to behave exactly the
|
||||
// same under all conceivable circumstances. Because none of these
|
||||
// factors are statically decidable in JavaScript, JS function
|
||||
// equality is not well-defined. This ambiguity allows us to
|
||||
// consider the best possible heuristic among various imperfect
|
||||
// options, and equating non-native functions that have the same
|
||||
// code has enormous practical benefits, such as when comparing
|
||||
// functions that are repeatedly passed as fresh function
|
||||
// expressions within objects that are otherwise deeply equal. Since
|
||||
// any function created from the same syntactic expression (in the
|
||||
// same code location) will always stringify to the same code
|
||||
// according to fnToStr.call, we can reasonably expect these
|
||||
// repeatedly passed function expressions to have the same code, and
|
||||
// thus behave "the same" (with all the caveats mentioned above),
|
||||
// even though the runtime function objects are !== to one another.
|
||||
return !endsWith(aCode, nativeCodeSuffix);
|
||||
}
|
||||
}
|
||||
// Otherwise the values are not equal.
|
||||
return false;
|
||||
}
|
||||
function definedKeys(obj) {
|
||||
// Remember that the second argument to Array.prototype.filter will be
|
||||
// used as `this` within the callback function.
|
||||
return Object.keys(obj).filter(isDefinedKey, obj);
|
||||
}
|
||||
function isDefinedKey(key) {
|
||||
return this[key] !== void 0;
|
||||
}
|
||||
const nativeCodeSuffix = "{ [native code] }";
|
||||
function endsWith(full, suffix) {
|
||||
const fromIndex = full.length - suffix.length;
|
||||
return fromIndex >= 0 &&
|
||||
full.indexOf(suffix, fromIndex) === fromIndex;
|
||||
}
|
||||
function previouslyCompared(a, b) {
|
||||
// Though cyclic references can make an object graph appear infinite from the
|
||||
// perspective of a depth-first traversal, the graph still contains a finite
|
||||
// number of distinct object references. We use the previousComparisons cache
|
||||
// to avoid comparing the same pair of object references more than once, which
|
||||
// guarantees termination (even if we end up comparing every object in one
|
||||
// graph to every object in the other graph, which is extremely unlikely),
|
||||
// while still allowing weird isomorphic structures (like rings with different
|
||||
// lengths) a chance to pass the equality test.
|
||||
let bSet = previousComparisons.get(a);
|
||||
if (bSet) {
|
||||
// Return true here because we can be sure false will be returned somewhere
|
||||
// else if the objects are not equivalent.
|
||||
if (bSet.has(b))
|
||||
return true;
|
||||
}
|
||||
else {
|
||||
previousComparisons.set(a, bSet = new Set);
|
||||
}
|
||||
bSet.add(b);
|
||||
return false;
|
||||
}
|
||||
|
||||
exports.default = equal;
|
||||
exports.equal = equal;
|
||||
//# sourceMappingURL=bundle.cjs.map
|
||||
1
graphql-subscription/node_modules/@wry/equality/lib/bundle.cjs.map
generated
vendored
Normal file
1
graphql-subscription/node_modules/@wry/equality/lib/bundle.cjs.map
generated
vendored
Normal file
File diff suppressed because one or more lines are too long
202
graphql-subscription/node_modules/@wry/equality/lib/bundle.cjs.native.js
generated
vendored
Normal file
202
graphql-subscription/node_modules/@wry/equality/lib/bundle.cjs.native.js
generated
vendored
Normal file
@@ -0,0 +1,202 @@
|
||||
'use strict';
|
||||
|
||||
Object.defineProperty(exports, '__esModule', { value: true });
|
||||
|
||||
const { toString, hasOwnProperty } = Object.prototype;
|
||||
const fnToStr = Function.prototype.toString;
|
||||
const previousComparisons = new Map();
|
||||
/**
|
||||
* Performs a deep equality check on two JavaScript values, tolerating cycles.
|
||||
*/
|
||||
function equal(a, b) {
|
||||
try {
|
||||
return check(a, b);
|
||||
}
|
||||
finally {
|
||||
previousComparisons.clear();
|
||||
}
|
||||
}
|
||||
function check(a, b) {
|
||||
// If the two values are strictly equal, our job is easy.
|
||||
if (a === b) {
|
||||
return true;
|
||||
}
|
||||
// Object.prototype.toString returns a representation of the runtime type of
|
||||
// the given value that is considerably more precise than typeof.
|
||||
const aTag = toString.call(a);
|
||||
const bTag = toString.call(b);
|
||||
// If the runtime types of a and b are different, they could maybe be equal
|
||||
// under some interpretation of equality, but for simplicity and performance
|
||||
// we just return false instead.
|
||||
if (aTag !== bTag) {
|
||||
return false;
|
||||
}
|
||||
switch (aTag) {
|
||||
case '[object Array]':
|
||||
// Arrays are a lot like other objects, but we can cheaply compare their
|
||||
// lengths as a short-cut before comparing their elements.
|
||||
if (a.length !== b.length)
|
||||
return false;
|
||||
// Fall through to object case...
|
||||
case '[object Object]': {
|
||||
if (previouslyCompared(a, b))
|
||||
return true;
|
||||
const aKeys = definedKeys(a);
|
||||
const bKeys = definedKeys(b);
|
||||
// If `a` and `b` have a different number of enumerable keys, they
|
||||
// must be different.
|
||||
const keyCount = aKeys.length;
|
||||
if (keyCount !== bKeys.length)
|
||||
return false;
|
||||
// Now make sure they have the same keys.
|
||||
for (let k = 0; k < keyCount; ++k) {
|
||||
if (!hasOwnProperty.call(b, aKeys[k])) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
// Finally, check deep equality of all child properties.
|
||||
for (let k = 0; k < keyCount; ++k) {
|
||||
const key = aKeys[k];
|
||||
if (!check(a[key], b[key])) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
case '[object Error]':
|
||||
return a.name === b.name && a.message === b.message;
|
||||
case '[object Number]':
|
||||
// Handle NaN, which is !== itself.
|
||||
if (a !== a)
|
||||
return b !== b;
|
||||
// Fall through to shared +a === +b case...
|
||||
case '[object Boolean]':
|
||||
case '[object Date]':
|
||||
return +a === +b;
|
||||
case '[object RegExp]':
|
||||
case '[object String]':
|
||||
return a == `${b}`;
|
||||
case '[object Map]':
|
||||
case '[object Set]': {
|
||||
if (a.size !== b.size)
|
||||
return false;
|
||||
if (previouslyCompared(a, b))
|
||||
return true;
|
||||
const aIterator = a.entries();
|
||||
const isMap = aTag === '[object Map]';
|
||||
while (true) {
|
||||
const info = aIterator.next();
|
||||
if (info.done)
|
||||
break;
|
||||
// If a instanceof Set, aValue === aKey.
|
||||
const [aKey, aValue] = info.value;
|
||||
// So this works the same way for both Set and Map.
|
||||
if (!b.has(aKey)) {
|
||||
return false;
|
||||
}
|
||||
// However, we care about deep equality of values only when dealing
|
||||
// with Map structures.
|
||||
if (isMap && !check(aValue, b.get(aKey))) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
case '[object Uint16Array]':
|
||||
case '[object Uint8Array]': // Buffer, in Node.js.
|
||||
case '[object Uint32Array]':
|
||||
case '[object Int32Array]':
|
||||
case '[object Int8Array]':
|
||||
case '[object Int16Array]':
|
||||
case '[object ArrayBuffer]':
|
||||
// DataView doesn't need these conversions, but the equality check is
|
||||
// otherwise the same.
|
||||
a = new Uint8Array(a);
|
||||
b = new Uint8Array(b);
|
||||
// Fall through...
|
||||
case '[object DataView]': {
|
||||
let len = a.byteLength;
|
||||
if (len === b.byteLength) {
|
||||
while (len-- && a[len] === b[len]) {
|
||||
// Keep looping as long as the bytes are equal.
|
||||
}
|
||||
}
|
||||
return len === -1;
|
||||
}
|
||||
case '[object AsyncFunction]':
|
||||
case '[object GeneratorFunction]':
|
||||
case '[object AsyncGeneratorFunction]':
|
||||
case '[object Function]': {
|
||||
const aCode = fnToStr.call(a);
|
||||
if (aCode !== fnToStr.call(b)) {
|
||||
return false;
|
||||
}
|
||||
// We consider non-native functions equal if they have the same code
|
||||
// (native functions require === because their code is censored).
|
||||
// Note that this behavior is not entirely sound, since !== function
|
||||
// objects with the same code can behave differently depending on
|
||||
// their closure scope. However, any function can behave differently
|
||||
// depending on the values of its input arguments (including this)
|
||||
// and its calling context (including its closure scope), even
|
||||
// though the function object is === to itself; and it is entirely
|
||||
// possible for functions that are not === to behave exactly the
|
||||
// same under all conceivable circumstances. Because none of these
|
||||
// factors are statically decidable in JavaScript, JS function
|
||||
// equality is not well-defined. This ambiguity allows us to
|
||||
// consider the best possible heuristic among various imperfect
|
||||
// options, and equating non-native functions that have the same
|
||||
// code has enormous practical benefits, such as when comparing
|
||||
// functions that are repeatedly passed as fresh function
|
||||
// expressions within objects that are otherwise deeply equal. Since
|
||||
// any function created from the same syntactic expression (in the
|
||||
// same code location) will always stringify to the same code
|
||||
// according to fnToStr.call, we can reasonably expect these
|
||||
// repeatedly passed function expressions to have the same code, and
|
||||
// thus behave "the same" (with all the caveats mentioned above),
|
||||
// even though the runtime function objects are !== to one another.
|
||||
return !endsWith(aCode, nativeCodeSuffix);
|
||||
}
|
||||
}
|
||||
// Otherwise the values are not equal.
|
||||
return false;
|
||||
}
|
||||
function definedKeys(obj) {
|
||||
// Remember that the second argument to Array.prototype.filter will be
|
||||
// used as `this` within the callback function.
|
||||
return Object.keys(obj).filter(isDefinedKey, obj);
|
||||
}
|
||||
function isDefinedKey(key) {
|
||||
return this[key] !== void 0;
|
||||
}
|
||||
const nativeCodeSuffix = "{ [native code] }";
|
||||
function endsWith(full, suffix) {
|
||||
const fromIndex = full.length - suffix.length;
|
||||
return fromIndex >= 0 &&
|
||||
full.indexOf(suffix, fromIndex) === fromIndex;
|
||||
}
|
||||
function previouslyCompared(a, b) {
|
||||
// Though cyclic references can make an object graph appear infinite from the
|
||||
// perspective of a depth-first traversal, the graph still contains a finite
|
||||
// number of distinct object references. We use the previousComparisons cache
|
||||
// to avoid comparing the same pair of object references more than once, which
|
||||
// guarantees termination (even if we end up comparing every object in one
|
||||
// graph to every object in the other graph, which is extremely unlikely),
|
||||
// while still allowing weird isomorphic structures (like rings with different
|
||||
// lengths) a chance to pass the equality test.
|
||||
let bSet = previousComparisons.get(a);
|
||||
if (bSet) {
|
||||
// Return true here because we can be sure false will be returned somewhere
|
||||
// else if the objects are not equivalent.
|
||||
if (bSet.has(b))
|
||||
return true;
|
||||
}
|
||||
else {
|
||||
previousComparisons.set(a, bSet = new Set);
|
||||
}
|
||||
bSet.add(b);
|
||||
return false;
|
||||
}
|
||||
|
||||
exports.default = equal;
|
||||
exports.equal = equal;
|
||||
//# sourceMappingURL=bundle.cjs.map
|
||||
5
graphql-subscription/node_modules/@wry/equality/lib/index.d.ts
generated
vendored
Normal file
5
graphql-subscription/node_modules/@wry/equality/lib/index.d.ts
generated
vendored
Normal file
@@ -0,0 +1,5 @@
|
||||
/**
|
||||
* Performs a deep equality check on two JavaScript values, tolerating cycles.
|
||||
*/
|
||||
export declare function equal(a: any, b: any): boolean;
|
||||
export default equal;
|
||||
197
graphql-subscription/node_modules/@wry/equality/lib/index.js
generated
vendored
Normal file
197
graphql-subscription/node_modules/@wry/equality/lib/index.js
generated
vendored
Normal file
@@ -0,0 +1,197 @@
|
||||
const { toString, hasOwnProperty } = Object.prototype;
|
||||
const fnToStr = Function.prototype.toString;
|
||||
const previousComparisons = new Map();
|
||||
/**
|
||||
* Performs a deep equality check on two JavaScript values, tolerating cycles.
|
||||
*/
|
||||
export function equal(a, b) {
|
||||
try {
|
||||
return check(a, b);
|
||||
}
|
||||
finally {
|
||||
previousComparisons.clear();
|
||||
}
|
||||
}
|
||||
// Allow default imports as well.
|
||||
export default equal;
|
||||
function check(a, b) {
|
||||
// If the two values are strictly equal, our job is easy.
|
||||
if (a === b) {
|
||||
return true;
|
||||
}
|
||||
// Object.prototype.toString returns a representation of the runtime type of
|
||||
// the given value that is considerably more precise than typeof.
|
||||
const aTag = toString.call(a);
|
||||
const bTag = toString.call(b);
|
||||
// If the runtime types of a and b are different, they could maybe be equal
|
||||
// under some interpretation of equality, but for simplicity and performance
|
||||
// we just return false instead.
|
||||
if (aTag !== bTag) {
|
||||
return false;
|
||||
}
|
||||
switch (aTag) {
|
||||
case '[object Array]':
|
||||
// Arrays are a lot like other objects, but we can cheaply compare their
|
||||
// lengths as a short-cut before comparing their elements.
|
||||
if (a.length !== b.length)
|
||||
return false;
|
||||
// Fall through to object case...
|
||||
case '[object Object]': {
|
||||
if (previouslyCompared(a, b))
|
||||
return true;
|
||||
const aKeys = definedKeys(a);
|
||||
const bKeys = definedKeys(b);
|
||||
// If `a` and `b` have a different number of enumerable keys, they
|
||||
// must be different.
|
||||
const keyCount = aKeys.length;
|
||||
if (keyCount !== bKeys.length)
|
||||
return false;
|
||||
// Now make sure they have the same keys.
|
||||
for (let k = 0; k < keyCount; ++k) {
|
||||
if (!hasOwnProperty.call(b, aKeys[k])) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
// Finally, check deep equality of all child properties.
|
||||
for (let k = 0; k < keyCount; ++k) {
|
||||
const key = aKeys[k];
|
||||
if (!check(a[key], b[key])) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
case '[object Error]':
|
||||
return a.name === b.name && a.message === b.message;
|
||||
case '[object Number]':
|
||||
// Handle NaN, which is !== itself.
|
||||
if (a !== a)
|
||||
return b !== b;
|
||||
// Fall through to shared +a === +b case...
|
||||
case '[object Boolean]':
|
||||
case '[object Date]':
|
||||
return +a === +b;
|
||||
case '[object RegExp]':
|
||||
case '[object String]':
|
||||
return a == `${b}`;
|
||||
case '[object Map]':
|
||||
case '[object Set]': {
|
||||
if (a.size !== b.size)
|
||||
return false;
|
||||
if (previouslyCompared(a, b))
|
||||
return true;
|
||||
const aIterator = a.entries();
|
||||
const isMap = aTag === '[object Map]';
|
||||
while (true) {
|
||||
const info = aIterator.next();
|
||||
if (info.done)
|
||||
break;
|
||||
// If a instanceof Set, aValue === aKey.
|
||||
const [aKey, aValue] = info.value;
|
||||
// So this works the same way for both Set and Map.
|
||||
if (!b.has(aKey)) {
|
||||
return false;
|
||||
}
|
||||
// However, we care about deep equality of values only when dealing
|
||||
// with Map structures.
|
||||
if (isMap && !check(aValue, b.get(aKey))) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
case '[object Uint16Array]':
|
||||
case '[object Uint8Array]': // Buffer, in Node.js.
|
||||
case '[object Uint32Array]':
|
||||
case '[object Int32Array]':
|
||||
case '[object Int8Array]':
|
||||
case '[object Int16Array]':
|
||||
case '[object ArrayBuffer]':
|
||||
// DataView doesn't need these conversions, but the equality check is
|
||||
// otherwise the same.
|
||||
a = new Uint8Array(a);
|
||||
b = new Uint8Array(b);
|
||||
// Fall through...
|
||||
case '[object DataView]': {
|
||||
let len = a.byteLength;
|
||||
if (len === b.byteLength) {
|
||||
while (len-- && a[len] === b[len]) {
|
||||
// Keep looping as long as the bytes are equal.
|
||||
}
|
||||
}
|
||||
return len === -1;
|
||||
}
|
||||
case '[object AsyncFunction]':
|
||||
case '[object GeneratorFunction]':
|
||||
case '[object AsyncGeneratorFunction]':
|
||||
case '[object Function]': {
|
||||
const aCode = fnToStr.call(a);
|
||||
if (aCode !== fnToStr.call(b)) {
|
||||
return false;
|
||||
}
|
||||
// We consider non-native functions equal if they have the same code
|
||||
// (native functions require === because their code is censored).
|
||||
// Note that this behavior is not entirely sound, since !== function
|
||||
// objects with the same code can behave differently depending on
|
||||
// their closure scope. However, any function can behave differently
|
||||
// depending on the values of its input arguments (including this)
|
||||
// and its calling context (including its closure scope), even
|
||||
// though the function object is === to itself; and it is entirely
|
||||
// possible for functions that are not === to behave exactly the
|
||||
// same under all conceivable circumstances. Because none of these
|
||||
// factors are statically decidable in JavaScript, JS function
|
||||
// equality is not well-defined. This ambiguity allows us to
|
||||
// consider the best possible heuristic among various imperfect
|
||||
// options, and equating non-native functions that have the same
|
||||
// code has enormous practical benefits, such as when comparing
|
||||
// functions that are repeatedly passed as fresh function
|
||||
// expressions within objects that are otherwise deeply equal. Since
|
||||
// any function created from the same syntactic expression (in the
|
||||
// same code location) will always stringify to the same code
|
||||
// according to fnToStr.call, we can reasonably expect these
|
||||
// repeatedly passed function expressions to have the same code, and
|
||||
// thus behave "the same" (with all the caveats mentioned above),
|
||||
// even though the runtime function objects are !== to one another.
|
||||
return !endsWith(aCode, nativeCodeSuffix);
|
||||
}
|
||||
}
|
||||
// Otherwise the values are not equal.
|
||||
return false;
|
||||
}
|
||||
function definedKeys(obj) {
|
||||
// Remember that the second argument to Array.prototype.filter will be
|
||||
// used as `this` within the callback function.
|
||||
return Object.keys(obj).filter(isDefinedKey, obj);
|
||||
}
|
||||
function isDefinedKey(key) {
|
||||
return this[key] !== void 0;
|
||||
}
|
||||
const nativeCodeSuffix = "{ [native code] }";
|
||||
function endsWith(full, suffix) {
|
||||
const fromIndex = full.length - suffix.length;
|
||||
return fromIndex >= 0 &&
|
||||
full.indexOf(suffix, fromIndex) === fromIndex;
|
||||
}
|
||||
function previouslyCompared(a, b) {
|
||||
// Though cyclic references can make an object graph appear infinite from the
|
||||
// perspective of a depth-first traversal, the graph still contains a finite
|
||||
// number of distinct object references. We use the previousComparisons cache
|
||||
// to avoid comparing the same pair of object references more than once, which
|
||||
// guarantees termination (even if we end up comparing every object in one
|
||||
// graph to every object in the other graph, which is extremely unlikely),
|
||||
// while still allowing weird isomorphic structures (like rings with different
|
||||
// lengths) a chance to pass the equality test.
|
||||
let bSet = previousComparisons.get(a);
|
||||
if (bSet) {
|
||||
// Return true here because we can be sure false will be returned somewhere
|
||||
// else if the objects are not equivalent.
|
||||
if (bSet.has(b))
|
||||
return true;
|
||||
}
|
||||
else {
|
||||
previousComparisons.set(a, bSet = new Set);
|
||||
}
|
||||
bSet.add(b);
|
||||
return false;
|
||||
}
|
||||
//# sourceMappingURL=index.js.map
|
||||
1
graphql-subscription/node_modules/@wry/equality/lib/index.js.map
generated
vendored
Normal file
1
graphql-subscription/node_modules/@wry/equality/lib/index.js.map
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
||||
Reference in New Issue
Block a user