@adobe/uix-core 0.6.5 → 0.7.1-nightly.20230114

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (94) hide show
  1. package/dist/__helpers__/jest.messagechannel.d.cts +2 -0
  2. package/dist/__helpers__/jest.messagechannel.d.cts.map +1 -0
  3. package/dist/__mocks__/mock-finalization-registry.d.ts +11 -0
  4. package/dist/__mocks__/mock-finalization-registry.d.ts.map +1 -0
  5. package/dist/__mocks__/mock-weak-ref.d.ts +7 -0
  6. package/dist/__mocks__/mock-weak-ref.d.ts.map +1 -0
  7. package/dist/constants.d.ts +8 -0
  8. package/dist/constants.d.ts.map +1 -0
  9. package/dist/cross-realm-object.d.ts +44 -0
  10. package/dist/cross-realm-object.d.ts.map +1 -0
  11. package/dist/debuglog.d.ts +11 -0
  12. package/dist/debuglog.d.ts.map +1 -1
  13. package/dist/index.d.ts +4 -1
  14. package/dist/index.d.ts.map +1 -1
  15. package/dist/index.js +906 -7
  16. package/dist/index.js.map +1 -1
  17. package/dist/message-wrapper.d.ts +9 -0
  18. package/dist/message-wrapper.d.ts.map +1 -0
  19. package/dist/object-simulator.d.ts +28 -0
  20. package/dist/object-simulator.d.ts.map +1 -0
  21. package/dist/object-simulator.test.d.ts +2 -0
  22. package/dist/object-simulator.test.d.ts.map +1 -0
  23. package/dist/object-walker.d.ts +30 -0
  24. package/dist/object-walker.d.ts.map +1 -0
  25. package/dist/promises/index.d.ts +3 -0
  26. package/dist/promises/index.d.ts.map +1 -0
  27. package/dist/promises/promise-wrappers.test.d.ts +2 -0
  28. package/dist/promises/promise-wrappers.test.d.ts.map +1 -0
  29. package/dist/promises/timed.d.ts +15 -0
  30. package/dist/promises/timed.d.ts.map +1 -0
  31. package/dist/promises/wait.d.ts +7 -0
  32. package/dist/promises/wait.d.ts.map +1 -0
  33. package/dist/remote-subject.d.ts +70 -0
  34. package/dist/remote-subject.d.ts.map +1 -0
  35. package/dist/rpc/call-receiver.d.ts +4 -0
  36. package/dist/rpc/call-receiver.d.ts.map +1 -0
  37. package/dist/rpc/call-receiver.test.d.ts +2 -0
  38. package/dist/rpc/call-receiver.test.d.ts.map +1 -0
  39. package/dist/rpc/call-sender.d.ts +4 -0
  40. package/dist/rpc/call-sender.d.ts.map +1 -0
  41. package/dist/rpc/call-sender.test.d.ts +2 -0
  42. package/dist/rpc/call-sender.test.d.ts.map +1 -0
  43. package/dist/rpc/index.d.ts +3 -0
  44. package/dist/rpc/index.d.ts.map +1 -0
  45. package/dist/tickets.d.ts +34 -0
  46. package/dist/tickets.d.ts.map +1 -0
  47. package/dist/tunnel/index.d.ts +2 -0
  48. package/dist/tunnel/index.d.ts.map +1 -0
  49. package/dist/tunnel/tunnel-messenger.d.ts +25 -0
  50. package/dist/tunnel/tunnel-messenger.d.ts.map +1 -0
  51. package/dist/tunnel/tunnel-messenger.test.d.ts +2 -0
  52. package/dist/tunnel/tunnel-messenger.test.d.ts.map +1 -0
  53. package/dist/tunnel/tunnel.d.ts +62 -0
  54. package/dist/tunnel/tunnel.d.ts.map +1 -0
  55. package/dist/tunnel/tunnel.test.d.ts +2 -0
  56. package/dist/tunnel/tunnel.test.d.ts.map +1 -0
  57. package/dist/types.d.ts +1 -4
  58. package/dist/types.d.ts.map +1 -1
  59. package/dist/value-assertions.d.ts +13 -0
  60. package/dist/value-assertions.d.ts.map +1 -0
  61. package/package.json +1 -1
  62. package/src/__helpers__/jest.messagechannel.cjs +3 -0
  63. package/src/__mocks__/mock-finalization-registry.ts +13 -0
  64. package/src/__mocks__/mock-weak-ref.ts +10 -0
  65. package/src/constants.ts +10 -0
  66. package/src/cross-realm-object.ts +117 -0
  67. package/src/debuglog.ts +1 -1
  68. package/src/index.ts +4 -1
  69. package/src/message-wrapper.ts +35 -0
  70. package/src/object-simulator.test.ts +328 -0
  71. package/src/object-simulator.ts +145 -0
  72. package/src/object-walker.ts +132 -0
  73. package/src/promises/index.ts +2 -0
  74. package/src/promises/promise-wrappers.test.ts +63 -0
  75. package/src/promises/timed.ts +41 -0
  76. package/src/promises/wait.ts +10 -0
  77. package/src/remote-subject.ts +185 -0
  78. package/src/rpc/call-receiver.test.ts +90 -0
  79. package/src/rpc/call-receiver.ts +29 -0
  80. package/src/rpc/call-sender.test.ts +73 -0
  81. package/src/rpc/call-sender.ts +72 -0
  82. package/src/rpc/index.ts +2 -0
  83. package/src/tickets.ts +71 -0
  84. package/src/tunnel/index.ts +1 -0
  85. package/src/tunnel/tunnel-messenger.test.ts +183 -0
  86. package/src/tunnel/tunnel-messenger.ts +99 -0
  87. package/src/tunnel/tunnel.test.ts +211 -0
  88. package/src/tunnel/tunnel.ts +322 -0
  89. package/src/types.ts +3 -5
  90. package/src/value-assertions.ts +58 -0
  91. package/tsconfig.json +2 -6
  92. package/dist/timeout-promise.d.ts +0 -12
  93. package/dist/timeout-promise.d.ts.map +0 -1
  94. package/src/timeout-promise.ts +0 -36
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=jest.messagechannel.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jest.messagechannel.d.cts","sourceRoot":"","sources":["../../src/__helpers__/jest.messagechannel.cjs"],"names":[],"mappings":""}
@@ -0,0 +1,11 @@
1
+ /// <reference types="jest" />
2
+ declare type CleanupHandler = (heldValue: any) => void;
3
+ export declare class FakeFinalizationRegistry {
4
+ static mock: FakeFinalizationRegistry;
5
+ register: jest.Mock<any, any>;
6
+ unregister: jest.Mock<any, any>;
7
+ cleanupHandler: jest.MockedFunction<CleanupHandler>;
8
+ constructor(handler: CleanupHandler);
9
+ }
10
+ export {};
11
+ //# sourceMappingURL=mock-finalization-registry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mock-finalization-registry.d.ts","sourceRoot":"","sources":["../../src/__mocks__/mock-finalization-registry.ts"],"names":[],"mappings":";AAAA,aAAK,cAAc,GAAG,CAAC,SAAS,EAAE,GAAG,KAAK,IAAI,CAAC;AAG/C,qBAAa,wBAAwB;IACnC,MAAM,CAAC,IAAI,EAAE,wBAAwB,CAAC;IACtC,QAAQ,sBAAY;IACpB,UAAU,sBAAc;IACxB,cAAc,EAAE,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC;gBACxC,OAAO,EAAE,cAAc;CAIpC"}
@@ -0,0 +1,7 @@
1
+ export declare class FakeWeakRef<T> {
2
+ ref: T;
3
+ constructor(ref: T);
4
+ deref(): T;
5
+ readonly [Symbol.toStringTag]: "WeakRef";
6
+ }
7
+ //# sourceMappingURL=mock-weak-ref.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mock-weak-ref.d.ts","sourceRoot":"","sources":["../../src/__mocks__/mock-weak-ref.ts"],"names":[],"mappings":"AAAA,qBAAa,WAAW,CAAC,CAAC;IACxB,GAAG,EAAE,CAAC,CAAC;gBACK,GAAG,EAAE,CAAC;IAGlB,KAAK,IAAI,CAAC;IAGV,QAAQ,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,SAAS,CAAC;CAC1C"}
@@ -0,0 +1,8 @@
1
+ /** @internal */
2
+ export declare const NS_ROOT = "_$pg";
3
+ export declare const VERSION: string;
4
+ export declare const BUILDMODE: string;
5
+ export declare const SYM_CLEANUP: unique symbol;
6
+ export declare const SYM_INTERNAL: unique symbol;
7
+ export declare const INIT_CALLBACK: string;
8
+ //# sourceMappingURL=constants.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAGA,gBAAgB;AAChB,eAAO,MAAM,OAAO,SAAS,CAAC;AAC9B,eAAO,MAAM,OAAO,QAAkB,CAAC;AACvC,eAAO,MAAM,SAAS,QAAoB,CAAC;AAC3C,eAAO,MAAM,WAAW,eAA+B,CAAC;AACxD,eAAO,MAAM,YAAY,eAAgC,CAAC;AAC1D,eAAO,MAAM,aAAa,QAAuB,CAAC"}
@@ -0,0 +1,44 @@
1
+ import type { Asynced } from "./object-walker";
2
+ import type { TunnelConfig } from "./tunnel";
3
+ import { Tunnel } from "./tunnel";
4
+ /**
5
+ * Representation of an object on the other side of an iframe/window divide
6
+ * between JS runtimes.
7
+ *
8
+ * @remarks
9
+ * At first, xrobject simply returned the proxy to the remote object and did
10
+ * not expose any of the underlying event handling. However, there was no way
11
+ * for a consumer to handle the case where the remote iframe reloaded, which
12
+ * would invalidate all of the simulated objects.
13
+ *
14
+ * This new manager object exposes the {@link Tunnel} object so that consumers
15
+ * can subscribe to the "api" event.
16
+ * @alpha
17
+ */
18
+ export interface CrossRealmObject<ExpectedApi> {
19
+ /**
20
+ * The event emitter that transmits RPC events between remotes. Can be used to
21
+ * listen to "api" events, which re-emit the initial remote API after an
22
+ * unexpected reload. Can also be used to manually destroy the xrobject.
23
+ * @internal
24
+ */
25
+ tunnel: Tunnel;
26
+ /**
27
+ * Accessor for the simulated object. Putting the object behind an accessor is
28
+ * a way (we hope) to subtly discourage hanging on to a reference to the
29
+ * object, which will invalidate without the holder of the reference knowing.
30
+ * @internal
31
+ */
32
+ getRemoteApi(): Asynced<ExpectedApi>;
33
+ }
34
+ /**
35
+ * Create a CrossRealmObject in an iframe, simulating objects from the parent window.
36
+ * @alpha
37
+ */
38
+ export declare function connectParentWindow<Expected>(tunnelOptions: Partial<TunnelConfig>, apiToSend: unknown): Promise<CrossRealmObject<Expected>>;
39
+ /**
40
+ * Create a CrossRealmObject simulating objects from the provided iframe runtime.
41
+ * @alpha
42
+ */
43
+ export declare function connectIframe<Expected>(frame: HTMLIFrameElement, tunnelOptions: Partial<TunnelConfig>, apiToSend: unknown): Promise<CrossRealmObject<Expected>>;
44
+ //# sourceMappingURL=cross-realm-object.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cross-realm-object.d.ts","sourceRoot":"","sources":["../src/cross-realm-object.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAK/C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAC7C,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAIlC;;;;;;;;;;;;;GAaG;AACH,MAAM,WAAW,gBAAgB,CAAC,WAAW;IAC3C;;;;;OAKG;IACH,MAAM,EAAE,MAAM,CAAC;IACf;;;;;OAKG;IACH,YAAY,IAAI,OAAO,CAAC,WAAW,CAAC,CAAC;CACtC;AAmDD;;;GAGG;AACH,wBAAsB,mBAAmB,CAAC,QAAQ,EAChD,aAAa,EAAE,OAAO,CAAC,YAAY,CAAC,EACpC,SAAS,EAAE,OAAO,GACjB,OAAO,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC,CAGrC;AAED;;;GAGG;AACH,wBAAsB,aAAa,CAAC,QAAQ,EAC1C,KAAK,EAAE,iBAAiB,EACxB,aAAa,EAAE,OAAO,CAAC,YAAY,CAAC,EACpC,SAAS,EAAE,OAAO,GACjB,OAAO,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC,CAGrC"}
@@ -1,3 +1,14 @@
1
+ /**
2
+ Copyright 2022 Adobe. All rights reserved.
3
+ This file is licensed to you under the Apache License, Version 2.0 (the "License");
4
+ you may not use this file except in compliance with the License. You may obtain a copy
5
+ of the License at http://www.apache.org/licenses/LICENSE-2.0
6
+
7
+ Unless required by applicable law or agreed to in writing, software distributed under
8
+ the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
9
+ OF ANY KIND, either express or implied. See the License for the specific language
10
+ governing permissions and limitations under the License.
11
+ */
1
12
  /** @internal */
2
13
  declare type Layout = {
3
14
  padX: number;
@@ -1 +1 @@
1
- {"version":3,"file":"debuglog.d.ts","sourceRoot":"","sources":["../src/debuglog.ts"],"names":[],"mappings":"AAuBA,gBAAgB;AAChB,aAAK,MAAM,GAAG;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,KAAK,CAAC;CACjB,CAAC;AACF,gBAAgB;AAChB,aAAK,QAAQ,GAAG,IAAI,MAAM,EAAE,GAAG,aAAa,CAAC;AAC7C,gBAAgB;AAChB,aAAK,KAAK,GAAG;IACX,IAAI,EAAE,QAAQ,CAAC;IACf,EAAE,EAAE,QAAQ,CAAC;IACb,OAAO,EAAE,QAAQ,CAAC;IAClB,MAAM,EAAE,QAAQ,CAAC;CAClB,CAAC;AACF,gBAAgB;AAChB,aAAK,SAAS,GAAG,KAAK,GAAG,MAAM,CAAC;AAEhC,gBAAgB;AAChB,QAAA,MAAM,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAenC,CAAC;AAEF,gBAAgB;AAChB,QAAA,MAAM,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAgCjC,CAAC;AAEF,gBAAgB;AAChB,aAAK,QAAQ,GAAG,GAAG,MAAM,OAAO,MAAM,IAAI,MAAM,OAAO,OAAO,EAAE,CAAC;AAEjE;;GAEG;AACH,oBAAY,KAAK,GAAG,SAAS,GAAG,QAAQ,CAAC;AAKzC,gBAAgB;AAChB,aAAK,KAAK,GAAG,GAAG,MAAM,GAAG,CAAC;AAgE1B,gBAAgB;AAChB,QAAA,MAAM,UAAU;;CAEN,CAAC;AAIX,gBAAgB;AAChB,aAAK,UAAU,GAAG;IAAE,IAAI,EAAE,MAAM,OAAO,UAAU,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC;AAsBlE;;;GAGG;AACH,MAAM,WAAW,WAAY,SAAQ,OAAO;IAC1C;;;OAGG;IACH,MAAM,IAAI,IAAI,CAAC;IACf;;OAEG;IACH,SAAS,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI,CAAC;IACnC;;OAEG;IACH,QAAQ,IAAI,IAAI,CAAC;CAClB;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAC5B,KAAK,EAAE,KAAK,EACZ,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,GACX,WAAW,CA4Cb;AAED;;GAEG;AACH,eAAO,MAAM,YAAY,SAIvB,CAAC"}
1
+ {"version":3,"file":"debuglog.d.ts","sourceRoot":"","sources":["../src/debuglog.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;EAUE;AAaF,gBAAgB;AAChB,aAAK,MAAM,GAAG;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,KAAK,CAAC;CACjB,CAAC;AACF,gBAAgB;AAChB,aAAK,QAAQ,GAAG,IAAI,MAAM,EAAE,GAAG,aAAa,CAAC;AAC7C,gBAAgB;AAChB,aAAK,KAAK,GAAG;IACX,IAAI,EAAE,QAAQ,CAAC;IACf,EAAE,EAAE,QAAQ,CAAC;IACb,OAAO,EAAE,QAAQ,CAAC;IAClB,MAAM,EAAE,QAAQ,CAAC;CAClB,CAAC;AACF,gBAAgB;AAChB,aAAK,SAAS,GAAG,KAAK,GAAG,MAAM,CAAC;AAEhC,gBAAgB;AAChB,QAAA,MAAM,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAenC,CAAC;AAEF,gBAAgB;AAChB,QAAA,MAAM,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAgCjC,CAAC;AAEF,gBAAgB;AAChB,aAAK,QAAQ,GAAG,GAAG,MAAM,OAAO,MAAM,IAAI,MAAM,OAAO,OAAO,EAAE,CAAC;AAEjE;;GAEG;AACH,oBAAY,KAAK,GAAG,SAAS,GAAG,QAAQ,CAAC;AAKzC,gBAAgB;AAChB,aAAK,KAAK,GAAG,GAAG,MAAM,GAAG,CAAC;AAgE1B,gBAAgB;AAChB,QAAA,MAAM,UAAU;;CAEN,CAAC;AAIX,gBAAgB;AAChB,aAAK,UAAU,GAAG;IAAE,IAAI,EAAE,MAAM,OAAO,UAAU,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC;AAsBlE;;;GAGG;AACH,MAAM,WAAW,WAAY,SAAQ,OAAO;IAC1C;;;OAGG;IACH,MAAM,IAAI,IAAI,CAAC;IACf;;OAEG;IACH,SAAS,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI,CAAC;IACnC;;OAEG;IACH,QAAQ,IAAI,IAAI,CAAC;CAClB;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAC5B,KAAK,EAAE,KAAK,EACZ,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,GACX,WAAW,CA4Cb;AAED;;GAEG;AACH,eAAO,MAAM,YAAY,SAIvB,CAAC"}
package/dist/index.d.ts CHANGED
@@ -6,6 +6,9 @@ export * from "./debug-emitter";
6
6
  export * from "./debuglog";
7
7
  export * from "./emitter";
8
8
  export * from "./namespace-proxy";
9
- export * from "./timeout-promise";
10
9
  export * from "./types";
10
+ export * from "./cross-realm-object";
11
+ export * from "./promises";
12
+ export * from "./tunnel";
13
+ export type { Asynced } from "./object-walker";
11
14
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAYA;;;GAGG;AAEH,cAAc,iBAAiB,CAAC;AAChC,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,SAAS,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAYA;;;GAGG;AAEH,cAAc,iBAAiB,CAAC;AAChC,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,mBAAmB,CAAC;AAClC,cAAc,SAAS,CAAC;AACxB,cAAc,sBAAsB,CAAC;AACrC,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC;AACzB,YAAY,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC"}