New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

@remote-ui/rpc

Package Overview
Dependencies
Maintainers
3
Versions
55
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@remote-ui/rpc - npm Package Compare versions

Comparing version

to
1.2.0

build/cjs/adaptors/iframe-child.js

4

build/cjs/index.js

@@ -10,2 +10,4 @@ 'use strict';

var webWorker = require('./adaptors/web-worker.js');
var iframeParent = require('./adaptors/iframe-parent.js');
var iframeChild = require('./adaptors/iframe-child.js');
var types = require('./types.js');

@@ -22,4 +24,6 @@

exports.fromWebWorker = webWorker.fromWebWorker;
exports.fromIframe = iframeParent.fromIframe;
exports.fromInsideIframe = iframeChild.fromInsideIframe;
exports.RELEASE_METHOD = types.RELEASE_METHOD;
exports.RETAINED_BY = types.RETAINED_BY;
exports.RETAIN_METHOD = types.RETAIN_METHOD;

@@ -0,3 +1,5 @@

export { fromIframe } from './iframe-parent';
export { fromInsideIframe } from './iframe-child';
export { fromMessagePort } from './message-port';
export { fromWebWorker } from './web-worker';
//# sourceMappingURL=index.d.ts.map
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.fromWebWorker = exports.fromMessagePort = void 0;
exports.fromWebWorker = exports.fromMessagePort = exports.fromInsideIframe = exports.fromIframe = void 0;
var iframe_parent_1 = require("./iframe-parent");
Object.defineProperty(exports, "fromIframe", { enumerable: true, get: function () { return iframe_parent_1.fromIframe; } });
var iframe_child_1 = require("./iframe-child");
Object.defineProperty(exports, "fromInsideIframe", { enumerable: true, get: function () { return iframe_child_1.fromInsideIframe; } });
var message_port_1 = require("./message-port");

@@ -5,0 +9,0 @@ Object.defineProperty(exports, "fromMessagePort", { enumerable: true, get: function () { return message_port_1.fromMessagePort; } });

2

build/ts/adaptors/message-port.d.ts

@@ -1,3 +0,3 @@

import { MessageEndpoint } from '../types';
import type { MessageEndpoint } from '../types';
export declare function fromMessagePort(messagePort: MessagePort): MessageEndpoint;
//# sourceMappingURL=message-port.d.ts.map

@@ -1,3 +0,3 @@

import { MessageEndpoint } from '../types';
import type { MessageEndpoint } from '../types';
export declare function fromWebWorker(worker: Worker): MessageEndpoint;
//# sourceMappingURL=web-worker.d.ts.map
export { createEndpoint } from './endpoint';
export type { Endpoint, CreateEndpointOptions } from './endpoint';
export { createBasicEncoder } from './encoding';
export { fromMessagePort, fromWebWorker } from './adaptors';
export { fromMessagePort, fromWebWorker, fromIframe, fromInsideIframe, } from './adaptors';
export { retain, release, StackFrame, RELEASE_METHOD, RETAIN_METHOD, RETAINED_BY, } from './memory';

@@ -6,0 +6,0 @@ export type { Retainer, MemoryManageable } from './memory';

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.RETAINED_BY = exports.RETAIN_METHOD = exports.RELEASE_METHOD = exports.StackFrame = exports.release = exports.retain = exports.fromWebWorker = exports.fromMessagePort = exports.createBasicEncoder = exports.createEndpoint = void 0;
exports.RETAINED_BY = exports.RETAIN_METHOD = exports.RELEASE_METHOD = exports.StackFrame = exports.release = exports.retain = exports.fromInsideIframe = exports.fromIframe = exports.fromWebWorker = exports.fromMessagePort = exports.createBasicEncoder = exports.createEndpoint = void 0;
var endpoint_1 = require("./endpoint");

@@ -11,2 +11,4 @@ Object.defineProperty(exports, "createEndpoint", { enumerable: true, get: function () { return endpoint_1.createEndpoint; } });

Object.defineProperty(exports, "fromWebWorker", { enumerable: true, get: function () { return adaptors_1.fromWebWorker; } });
Object.defineProperty(exports, "fromIframe", { enumerable: true, get: function () { return adaptors_1.fromIframe; } });
Object.defineProperty(exports, "fromInsideIframe", { enumerable: true, get: function () { return adaptors_1.fromInsideIframe; } });
var memory_1 = require("./memory");

@@ -13,0 +15,0 @@ Object.defineProperty(exports, "retain", { enumerable: true, get: function () { return memory_1.retain; } });

@@ -10,2 +10,6 @@ # Changelog

## [1.2.0] - 2021-06-08
- Adds additional adaptors for converting `iframe` elements into `Endpoint` objects [[#97](https://github.com/Shopify/remote-ui/pull/97)]
## [1.0.2] - 2020-06-24

@@ -12,0 +16,0 @@

{
"name": "@remote-ui/rpc",
"description": "An RPC library with strong support for simulating the transfer of functions via postMessage",
"version": "1.1.0",
"version": "1.2.0",
"publishConfig": {

@@ -26,3 +26,3 @@ "access": "public"

},
"gitHead": "9331355a9f807c6745fb882a81d2aa8896e8ab2b"
"gitHead": "dd5749a49702b4d9b3ecb75026beaa5aab2b269f"
}

@@ -326,1 +326,48 @@ # `@remote-ui/rpc`

- Instances of classes will transfer, but only their own properties — that is, properties on their prototype chain **will not** be transferred (additionally, no effort is made to preserve `instanceof` or similar checks on the transferred value)
## Adaptors
This library also provides a collection of adaptors that transform common `postMessage`-related objects into an `Endpoint`. You can of course write your own adaptor for these (and may need to, if you have complex needs), but these adaptors can be a helpful starting point:
- `fromWebWorker()` allows you to create an `Endpoint` from a [Web Worker](https://developer.mozilla.org/en-US/docs/Web/API/Web_Workers_API/Using_web_workers):
```ts
import {fromWebWorker} from '@remote-ui/rpc';
const worker = new Worker('./worker.js', import.meta.url);
const endpoint = fromWebWorker(worker);
```
- `fromMessagePort()` allows you to create an `Endpoint` from a [`MessagePort` object](https://developer.mozilla.org/en-US/docs/Web/API/MessagePort)
```ts
import {fromMessagePort} from '@remote-ui/rpc';
const channel = new MessageChannel();
const endpoint = fromWebWorker(channel.port2);
```
- `fromIframe()` allows you to create an `Endpoint` from a browser window by connecting it to a child `iframe`:
```ts
import {fromIframe} from '@remote-ui/rpc';
const iframe = document.createElement('iframe');
iframe.setAttribute('src', '/my-iframe-page');
document.appendChild(iframe);
const endpoint = fromIframe(iframe);
// Optionally, you can pass {terminate: false} to prevent the iframe from being
// removed from the DOM when the endpoint is terminated:
const endpoint2 = fromIframe(iframe, {terminate: false});
```
- `fromInsideIframe()` allows you to create an `Endpoint` from a parent browser window, from _within_ a child `iframe`:
```ts
// Can only be run from inside an iframe, where `self.parent` is available
import {fromInsideIframe} from '@remote-ui/rpc';
const endpoint = fromInsideIframe();
```

@@ -0,2 +1,4 @@

export {fromIframe} from './iframe-parent';
export {fromInsideIframe} from './iframe-child';
export {fromMessagePort} from './message-port';
export {fromWebWorker} from './web-worker';

@@ -1,2 +0,2 @@

import {MessageEndpoint} from '../types';
import type {MessageEndpoint} from '../types';

@@ -3,0 +3,0 @@ export function fromMessagePort(messagePort: MessagePort): MessageEndpoint {

@@ -1,2 +0,2 @@

import {MessageEndpoint} from '../types';
import type {MessageEndpoint} from '../types';

@@ -3,0 +3,0 @@ export function fromWebWorker(worker: Worker): MessageEndpoint {

export {createEndpoint} from './endpoint';
export type {Endpoint, CreateEndpointOptions} from './endpoint';
export {createBasicEncoder} from './encoding';
export {fromMessagePort, fromWebWorker} from './adaptors';
export {
fromMessagePort,
fromWebWorker,
fromIframe,
fromInsideIframe,
} from './adaptors';
export {
retain,

@@ -7,0 +12,0 @@ release,

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet