Demo for query storing
Change-Id: I947bcac841992c3f6cfd01ab337c265b0d01cb70
diff --git a/node_modules/object.getownpropertydescriptors/implementation.js b/node_modules/object.getownpropertydescriptors/implementation.js
new file mode 100644
index 0000000..9a39c8d
--- /dev/null
+++ b/node_modules/object.getownpropertydescriptors/implementation.js
@@ -0,0 +1,38 @@
+'use strict';
+
+var CreateDataProperty = require('es-abstract/2020/CreateDataProperty');
+var IsCallable = require('es-abstract/2020/IsCallable');
+var RequireObjectCoercible = require('es-abstract/2020/RequireObjectCoercible');
+var ToObject = require('es-abstract/2020/ToObject');
+var callBound = require('call-bind/callBound');
+
+var $gOPD = Object.getOwnPropertyDescriptor;
+var $getOwnNames = Object.getOwnPropertyNames;
+var $getSymbols = Object.getOwnPropertySymbols;
+var $concat = callBound('Array.prototype.concat');
+var $reduce = callBound('Array.prototype.reduce');
+var getAll = $getSymbols ? function (obj) {
+ return $concat($getOwnNames(obj), $getSymbols(obj));
+} : $getOwnNames;
+
+var isES5 = IsCallable($gOPD) && IsCallable($getOwnNames);
+
+module.exports = function getOwnPropertyDescriptors(value) {
+ RequireObjectCoercible(value);
+ if (!isES5) {
+ throw new TypeError('getOwnPropertyDescriptors requires Object.getOwnPropertyDescriptor');
+ }
+
+ var O = ToObject(value);
+ return $reduce(
+ getAll(O),
+ function (acc, key) {
+ var descriptor = $gOPD(O, key);
+ if (typeof descriptor !== 'undefined') {
+ CreateDataProperty(acc, key, descriptor);
+ }
+ return acc;
+ },
+ {}
+ );
+};