Lines Matching refs:value
122 this.readSockets.forEach(value => sockets.push(value));
123 this.writeSockets.forEach(value => sockets.push(value[0]));
417 let value = prop in obj ? parseInt(obj[prop]) : 0;
418 return Number.isNaN(value) ? 0 : value;
579 * @returns {Promise} - Promise resolving to the return value
628 function typeName(value) {
629 let type = typeof value;
640 if (value === null) {
644 if (value instanceof RemoteObject) {
647 if (value instanceof SendChannel) {
650 if (value instanceof RecvChannel) {
653 if (value instanceof Error) {
656 if (Array.isArray(value)) {
659 let constructor = value.constructor && value.constructor.name;
670 if (value instanceof Element) {
673 if (value instanceof Document) {
676 if (value instanceof Node) {
679 if (value instanceof Window) {
683 if (Promise.resolve(value) === value) {
754 * e.g. arrays and maps, it is a custom value.
756 * value - A serialized representation of the object value. For
763 * first instance has both ``value`` and ``objectId`` fields, but
765 * same value as the first instance of the object.
767 * @param {Any} inValue - The value to be serialized.
768 * @returns {Object} - The serialized object value.
774 // Map from container object input to output value
787 * the property. For serializing maps either "key" or "value",
788 * depending on whether the item represents a key or a value
810 serialized.value = item;
814 serialized.value = "NaN";
816 serialized.value = "-0";
818 serialized.value = "+Infinity";
820 serialized.value = "-Infinity";
822 serialized.value = item;
827 serialized.value = item.toString();
830 serialized.value = {
836 serialized.value = item.uuid;
839 serialized.value = {
845 serialized.value = Date.prototype.toJSON.call(item);
848 serialized.value = {
860 serialized.value = [];
866 serialized.value = {};
872 serialized.value = [];
875 queue.push({item: childValue, target: serialized, targetName: "value"});
879 throw new TypeError(`Can't serialize value of type ${type}; consider using RemoteObject.from() to wrap the object`);
895 target.value.push(serialized);
898 target.value[targetName] = serialized;
901 // We always serialize key and value as adjacent items in the queue,
902 // so when we get the key push a new output array and then the value will
905 target.value.push([]);
907 target.value[target.value.length - 1].push(serialized);
922 * @param {Object} obj - The value to be deserialized.
923 * @returns {Any} - The deserialized value.
937 * name of the collection type, and a ``value`` field which is
942 * or "value" if it's a value in the output map.
946 const {type, value, objectId} = item;
949 if (objectId !== undefined && value === undefined) {
961 result = value;
964 if (typeof value === "string") {
965 switch(value) {
979 throw new Error(`Unexpected number value "${value}"`);
982 result = value;
986 result = BigInt(value);
989 result = new Function("...args", `return (${value}).apply(null, args)`);
992 let remote = new RemoteObject(value.type, value.objectId);
1001 result = new SendChannel(value);
1004 result = new RegExp(value.pattern, value.flags);
1007 result = new Date(value);
1010 // The item.value.type property is the name of the error constructor.
1014 if (item.value.type in self &&
1015 typeof self[item.value.type] === "function") {
1016 result = new self[item.value.type](item.value.message);
1018 result = new Error(item.value.message);
1020 result.name = item.value.name;
1021 result.lineNumber = item.value.lineNumber;
1022 result.columnNumber = item.value.columnNumber;
1023 result.fileName = item.value.fileName;
1024 result.stack = item.value.stack;
1028 newTarget = {type, value: result};
1029 for (let child of value) {
1035 newTarget = {type, value: result};
1036 for (let child of value) {
1042 newTarget = {type, value: result};
1043 for (let [targetName, child] of Object.entries(value)) {
1049 newTarget = {type, value: result};
1050 for (let [key, child] of value) {
1052 queue.push({item: child, target: newTarget, targetName: "value"});
1065 throw new Error(`Tried to deserialized a non-root output value without a target`
1072 target.value.push(result);
1075 target.value.add(result);
1078 target.value[targetName] = result;
1081 // For maps the same target wrapper is shared between key and value.
1083 // until we come to the value.
1087 target.value.set(target.key, result);