/* This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ var util = { // Compare the contents of two ArrayBuffer(View)s memcmp: function util_memcmp(x, y) { if (!x || !y) { return false; } var xb = new Uint8Array(x); var yb = new Uint8Array(y); if (x.byteLength !== y.byteLength) { return false; } for (var i=0; i exists(object[x])) .reduce((x,y) => (x && y)); } function hasKeyFields(x) { return hasFields(x, ["algorithm", "extractable", "type", "usages"]); } function hasBaseJwkFields(x) { return hasFields(x, ["kty", "alg", "ext", "key_ops"]); } function shallowArrayEquals(x, y) { if (x.length != y.length) { return false; } for (i in x) { if (x[i] != y[i]) { return false; } } return true; }