@mml-io/observable-dom-common 0.2.0 → 0.3.0
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.
- package/build/ObservableDOMInterface.d.ts +44 -0
- package/build/index.d.ts +3 -1
- package/build/messages.d.ts +28 -0
- package/build/tsconfig.tsbuildinfo +1 -0
- package/package.json +3 -4
- package/src/ObservableDOMInterface.ts +0 -45
- package/src/index.ts +0 -4
- package/src/messages.ts +0 -83
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { RemoteEvent } from "@mml-io/networked-dom-protocol";
|
|
2
|
+
export type StaticVirtualDOMElement = {
|
|
3
|
+
nodeId: number;
|
|
4
|
+
tag: string;
|
|
5
|
+
textContent?: string;
|
|
6
|
+
attributes: {
|
|
7
|
+
[key: string]: string;
|
|
8
|
+
};
|
|
9
|
+
childNodes: Array<StaticVirtualDOMElement>;
|
|
10
|
+
};
|
|
11
|
+
export type StaticVirtualDOMMutationIdsRecord = {
|
|
12
|
+
type: "attributes" | "characterData" | "childList";
|
|
13
|
+
targetId: number;
|
|
14
|
+
addedNodes: Array<StaticVirtualDOMElement>;
|
|
15
|
+
removedNodeIds: Array<number>;
|
|
16
|
+
previousSiblingId: number | null;
|
|
17
|
+
attribute: {
|
|
18
|
+
attributeName: string;
|
|
19
|
+
value: string | null;
|
|
20
|
+
} | null;
|
|
21
|
+
};
|
|
22
|
+
export type ObservableDOMInterface = {
|
|
23
|
+
addConnectedUserId(connectionId: number): void;
|
|
24
|
+
removeConnectedUserId(connectionId: number): void;
|
|
25
|
+
dispatchRemoteEventFromConnectionId(connectionId: number, remoteEvent: RemoteEvent): void;
|
|
26
|
+
dispose(): void;
|
|
27
|
+
};
|
|
28
|
+
export type LogMessage = {
|
|
29
|
+
level: "system" | "error" | "warn" | "log" | "info";
|
|
30
|
+
content: any[];
|
|
31
|
+
};
|
|
32
|
+
export type ObservableDOMMessage = {
|
|
33
|
+
snapshot?: StaticVirtualDOMElement;
|
|
34
|
+
mutation?: StaticVirtualDOMMutationIdsRecord;
|
|
35
|
+
logMessage?: LogMessage;
|
|
36
|
+
documentTime: number;
|
|
37
|
+
};
|
|
38
|
+
export type ObservableDOMParameters = {
|
|
39
|
+
htmlPath: string;
|
|
40
|
+
htmlContents: string;
|
|
41
|
+
params: object;
|
|
42
|
+
ignoreTextNodes: boolean;
|
|
43
|
+
pingIntervalMilliseconds?: number;
|
|
44
|
+
};
|
package/build/index.d.ts
CHANGED
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { RemoteEvent } from "@mml-io/networked-dom-protocol";
|
|
2
|
+
import { ObservableDOMInterface, ObservableDOMMessage } from "./ObservableDOMInterface";
|
|
3
|
+
export declare const ADD_CONNECTED_USER_ID_MESSAGE_TYPE = "addConnectedUserId";
|
|
4
|
+
export declare const REMOVE_CONNECTED_USER_ID_MESSAGE_TYPE = "removeConnectedUserId";
|
|
5
|
+
export declare const DISPATCH_REMOTE_EVENT_FROM_CONNECTION_ID_MESSAGE_TYPE = "dispatchRemoteEventFromConnectionId";
|
|
6
|
+
export declare const DOM_MESSAGE_TYPE = "dom";
|
|
7
|
+
export type AddConnectedUserIdMessage = {
|
|
8
|
+
type: typeof ADD_CONNECTED_USER_ID_MESSAGE_TYPE;
|
|
9
|
+
connectionId: number;
|
|
10
|
+
};
|
|
11
|
+
export type RemoveConnectedUserIdMessage = {
|
|
12
|
+
type: typeof REMOVE_CONNECTED_USER_ID_MESSAGE_TYPE;
|
|
13
|
+
connectionId: number;
|
|
14
|
+
};
|
|
15
|
+
export type DispatchRemoteEventFromConnectionIdMessage = {
|
|
16
|
+
type: typeof DISPATCH_REMOTE_EVENT_FROM_CONNECTION_ID_MESSAGE_TYPE;
|
|
17
|
+
connectionId: number;
|
|
18
|
+
event: RemoteEvent;
|
|
19
|
+
};
|
|
20
|
+
export type ToObservableDOMInstanceMessage = AddConnectedUserIdMessage | RemoveConnectedUserIdMessage | DispatchRemoteEventFromConnectionIdMessage;
|
|
21
|
+
type DOMMessage = {
|
|
22
|
+
type: typeof DOM_MESSAGE_TYPE;
|
|
23
|
+
message: ObservableDOMMessage;
|
|
24
|
+
};
|
|
25
|
+
export type FromObservableDOMInstanceMessage = DOMMessage;
|
|
26
|
+
export declare function applyMessageToObservableDOMInstance(message: ToObservableDOMInstanceMessage, instance: ObservableDOMInterface): void;
|
|
27
|
+
export declare function observableDOMInterfaceToMessageSender(sender: (message: ToObservableDOMInstanceMessage) => void, dispose: () => void): ObservableDOMInterface;
|
|
28
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"program":{"fileNames":["../../../node_modules/typescript/lib/lib.es5.d.ts","../../../node_modules/typescript/lib/lib.es2015.d.ts","../../../node_modules/typescript/lib/lib.es2016.d.ts","../../../node_modules/typescript/lib/lib.es2017.d.ts","../../../node_modules/typescript/lib/lib.es2018.d.ts","../../../node_modules/typescript/lib/lib.es2019.d.ts","../../../node_modules/typescript/lib/lib.es2020.d.ts","../../../node_modules/typescript/lib/lib.dom.d.ts","../../../node_modules/typescript/lib/lib.es2015.core.d.ts","../../../node_modules/typescript/lib/lib.es2015.collection.d.ts","../../../node_modules/typescript/lib/lib.es2015.generator.d.ts","../../../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../../node_modules/typescript/lib/lib.es2015.promise.d.ts","../../../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../../node_modules/typescript/lib/lib.es2017.object.d.ts","../../../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.es2017.string.d.ts","../../../node_modules/typescript/lib/lib.es2017.intl.d.ts","../../../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../../node_modules/typescript/lib/lib.es2018.intl.d.ts","../../../node_modules/typescript/lib/lib.es2018.promise.d.ts","../../../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../../node_modules/typescript/lib/lib.es2019.array.d.ts","../../../node_modules/typescript/lib/lib.es2019.object.d.ts","../../../node_modules/typescript/lib/lib.es2019.string.d.ts","../../../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../../node_modules/typescript/lib/lib.es2019.intl.d.ts","../../../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../../node_modules/typescript/lib/lib.es2020.date.d.ts","../../../node_modules/typescript/lib/lib.es2020.promise.d.ts","../../../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.es2020.string.d.ts","../../../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../../node_modules/typescript/lib/lib.es2020.intl.d.ts","../../../node_modules/typescript/lib/lib.es2020.number.d.ts","../../../node_modules/typescript/lib/lib.esnext.intl.d.ts","../../../node_modules/typescript/lib/lib.decorators.d.ts","../../../node_modules/typescript/lib/lib.decorators.legacy.d.ts","../../networked-dom-protocol/build/networked-dom-v0.1/from-client.d.ts","../../networked-dom-protocol/build/networked-dom-v0.1/from-server.d.ts","../../networked-dom-protocol/build/networked-dom-v0.1/index.d.ts","../../networked-dom-protocol/build/index.d.ts","../src/observabledominterface.ts","../src/messages.ts","../src/index.ts","../../../node_modules/@types/node/assert.d.ts","../../../node_modules/@types/node/assert/strict.d.ts","../../../node_modules/@types/node/globals.d.ts","../../../node_modules/@types/node/async_hooks.d.ts","../../../node_modules/@types/node/buffer.d.ts","../../../node_modules/@types/node/child_process.d.ts","../../../node_modules/@types/node/cluster.d.ts","../../../node_modules/@types/node/console.d.ts","../../../node_modules/@types/node/constants.d.ts","../../../node_modules/@types/node/crypto.d.ts","../../../node_modules/@types/node/dgram.d.ts","../../../node_modules/@types/node/diagnostics_channel.d.ts","../../../node_modules/@types/node/dns.d.ts","../../../node_modules/@types/node/dns/promises.d.ts","../../../node_modules/@types/node/domain.d.ts","../../../node_modules/@types/node/dom-events.d.ts","../../../node_modules/@types/node/events.d.ts","../../../node_modules/@types/node/fs.d.ts","../../../node_modules/@types/node/fs/promises.d.ts","../../../node_modules/@types/node/http.d.ts","../../../node_modules/@types/node/http2.d.ts","../../../node_modules/@types/node/https.d.ts","../../../node_modules/@types/node/inspector.d.ts","../../../node_modules/@types/node/module.d.ts","../../../node_modules/@types/node/net.d.ts","../../../node_modules/@types/node/os.d.ts","../../../node_modules/@types/node/path.d.ts","../../../node_modules/@types/node/perf_hooks.d.ts","../../../node_modules/@types/node/process.d.ts","../../../node_modules/@types/node/punycode.d.ts","../../../node_modules/@types/node/querystring.d.ts","../../../node_modules/@types/node/readline.d.ts","../../../node_modules/@types/node/readline/promises.d.ts","../../../node_modules/@types/node/repl.d.ts","../../../node_modules/@types/node/stream.d.ts","../../../node_modules/@types/node/stream/promises.d.ts","../../../node_modules/@types/node/stream/consumers.d.ts","../../../node_modules/@types/node/stream/web.d.ts","../../../node_modules/@types/node/string_decoder.d.ts","../../../node_modules/@types/node/test.d.ts","../../../node_modules/@types/node/timers.d.ts","../../../node_modules/@types/node/timers/promises.d.ts","../../../node_modules/@types/node/tls.d.ts","../../../node_modules/@types/node/trace_events.d.ts","../../../node_modules/@types/node/tty.d.ts","../../../node_modules/@types/node/url.d.ts","../../../node_modules/@types/node/util.d.ts","../../../node_modules/@types/node/v8.d.ts","../../../node_modules/@types/node/vm.d.ts","../../../node_modules/@types/node/wasi.d.ts","../../../node_modules/@types/node/worker_threads.d.ts","../../../node_modules/@types/node/zlib.d.ts","../../../node_modules/@types/node/globals.global.d.ts","../../../node_modules/@types/node/index.d.ts"],"fileInfos":[{"version":"6a6b471e7e43e15ef6f8fe617a22ce4ecb0e34efa6c3dfcfe7cebd392bcca9d2","affectsGlobalScope":true},"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","dc48272d7c333ccf58034c0026162576b7d50ea0e69c3b9292f803fc20720fd5","27147504487dc1159369da4f4da8a26406364624fa9bc3db632f7d94a5bae2c3","5e1c4c362065a6b95ff952c0eab010f04dcd2c3494e813b493ecfd4fcb9fc0d8","68d73b4a11549f9c0b7d352d10e91e5dca8faa3322bfb77b661839c42b1ddec7","5efce4fc3c29ea84e8928f97adec086e3dc876365e0982cc8479a07954a3efd4",{"version":"fcd3ecc9f764f06f4d5c467677f4f117f6abf49dee6716283aa204ff1162498b","affectsGlobalScope":true},{"version":"f296963760430fb65b4e5d91f0ed770a91c6e77455bacf8fa23a1501654ede0e","affectsGlobalScope":true},{"version":"5114a95689b63f96b957e00216bc04baf9e1a1782aa4d8ee7e5e9acbf768e301","affectsGlobalScope":true},{"version":"4443e68b35f3332f753eacc66a04ac1d2053b8b035a0e0ac1d455392b5e243b3","affectsGlobalScope":true},{"version":"ab22100fdd0d24cfc2cc59d0a00fc8cf449830d9c4030dc54390a46bd562e929","affectsGlobalScope":true},{"version":"f7bd636ae3a4623c503359ada74510c4005df5b36de7f23e1db8a5c543fd176b","affectsGlobalScope":true},{"version":"ce691fb9e5c64efb9547083e4a34091bcbe5bdb41027e310ebba8f7d96a98671","affectsGlobalScope":true},{"version":"8d697a2a929a5fcb38b7a65594020fcef05ec1630804a33748829c5ff53640d0","affectsGlobalScope":true},{"version":"0c20f4d2358eb679e4ae8a4432bdd96c857a2960fd6800b21ec4008ec59d60ea","affectsGlobalScope":true},{"version":"36ae84ccc0633f7c0787bc6108386c8b773e95d3b052d9464a99cd9b8795fbec","affectsGlobalScope":true},{"version":"82d0d8e269b9eeac02c3bd1c9e884e85d483fcb2cd168bccd6bc54df663da031","affectsGlobalScope":true},{"version":"b8deab98702588840be73d67f02412a2d45a417a3c097b2e96f7f3a42ac483d1","affectsGlobalScope":true},{"version":"4738f2420687fd85629c9efb470793bb753709c2379e5f85bc1815d875ceadcd","affectsGlobalScope":true},{"version":"2f11ff796926e0832f9ae148008138ad583bd181899ab7dd768a2666700b1893","affectsGlobalScope":true},{"version":"376d554d042fb409cb55b5cbaf0b2b4b7e669619493c5d18d5fa8bd67273f82a","affectsGlobalScope":true},{"version":"9fc46429fbe091ac5ad2608c657201eb68b6f1b8341bd6d670047d32ed0a88fa","affectsGlobalScope":true},{"version":"61c37c1de663cf4171e1192466e52c7a382afa58da01b1dc75058f032ddf0839","affectsGlobalScope":true},{"version":"c4138a3dd7cd6cf1f363ca0f905554e8d81b45844feea17786cdf1626cb8ea06","affectsGlobalScope":true},{"version":"6ff3e2452b055d8f0ec026511c6582b55d935675af67cdb67dd1dc671e8065df","affectsGlobalScope":true},{"version":"03de17b810f426a2f47396b0b99b53a82c1b60e9cba7a7edda47f9bb077882f4","affectsGlobalScope":true},{"version":"8184c6ddf48f0c98429326b428478ecc6143c27f79b79e85740f17e6feb090f1","affectsGlobalScope":true},{"version":"261c4d2cf86ac5a89ad3fb3fafed74cbb6f2f7c1d139b0540933df567d64a6ca","affectsGlobalScope":true},{"version":"6af1425e9973f4924fca986636ac19a0cf9909a7e0d9d3009c349e6244e957b6","affectsGlobalScope":true},{"version":"576711e016cf4f1804676043e6a0a5414252560eb57de9faceee34d79798c850","affectsGlobalScope":true},{"version":"89c1b1281ba7b8a96efc676b11b264de7a8374c5ea1e6617f11880a13fc56dc6","affectsGlobalScope":true},{"version":"15a630d6817718a2ddd7088c4f83e4673fde19fa992d2eae2cf51132a302a5d3","affectsGlobalScope":true},{"version":"b7e9f95a7387e3f66be0ed6db43600c49cec33a3900437ce2fd350d9b7cb16f2","affectsGlobalScope":true},{"version":"01e0ee7e1f661acedb08b51f8a9b7d7f959e9cdb6441360f06522cc3aea1bf2e","affectsGlobalScope":true},{"version":"ac17a97f816d53d9dd79b0d235e1c0ed54a8cc6a0677e9a3d61efb480b2a3e4e","affectsGlobalScope":true},{"version":"bf14a426dbbf1022d11bd08d6b8e709a2e9d246f0c6c1032f3b2edb9a902adbe","affectsGlobalScope":true},{"version":"ec0104fee478075cb5171e5f4e3f23add8e02d845ae0165bfa3f1099241fa2aa","affectsGlobalScope":true},{"version":"2b72d528b2e2fe3c57889ca7baef5e13a56c957b946906d03767c642f386bbc3","affectsGlobalScope":true},{"version":"9cc66b0513ad41cb5f5372cca86ef83a0d37d1c1017580b7dace3ea5661836df","affectsGlobalScope":true},{"version":"368af93f74c9c932edd84c58883e736c9e3d53cec1fe24c0b0ff451f529ceab1","affectsGlobalScope":true},{"version":"307c8b7ebbd7f23a92b73a4c6c0a697beca05b06b036c23a34553e5fe65e4fdc","affectsGlobalScope":true},{"version":"189c0703923150aa30673fa3de411346d727cc44a11c75d05d7cf9ef095daa22","affectsGlobalScope":true},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true},"328c09d87a15cde5936230f085c6888e6dc5f31a7c600a8a222419e28ea02812","0e902771dd21ea683172d5b5dd5fb192a166a9e3071b674695ac9013edb4b4fc","660b97032e7c3a5a094b60e3de0bf602626931fe0167dbad07e9ada9f683161e","28e083d1a14be292588f05b70cf7852deb63a3e0da35a0156bcbe361b5072562","37f546888101cf923b0906c0af8c429008298f39c127b25eca3fe028742fc098","8bc3202fac3dc322c4bab0f09d5485a510e9a3e0c6c5b57b05884eaa50489f0a","aa614fcbbdb6a3757935ef38f4f4aa792f7cf2ee8822f891158c41cec9a0b2d3","587f13f1e8157bd8cec0adda0de4ef558bb8573daa9d518d1e2af38e87ecc91f","a69c09dbea52352f479d3e7ac949fde3d17b195abe90b045d619f747b38d6d1a",{"version":"bce910d9164785c9f0d4dcea4be359f5f92130c7c7833dea6138ab1db310a1f9","affectsGlobalScope":true},"7a435e0c814f58f23e9a0979045ec0ef5909aac95a70986e8bcce30c27dff228",{"version":"a7534271773a27ff7d136d550e86b41894d8090fa857ba4c02b5bb18d2eb1c8e","affectsGlobalScope":true},"db71be322f07f769200108aa19b79a75dd19a187c9dca2a30c4537b233aa2863","57135ce61976a8b1dadd01bb412406d1805b90db6e8ecb726d0d78e0b5f76050",{"version":"49479e21a040c0177d1b1bc05a124c0383df7a08a0726ad4d9457619642e875a","affectsGlobalScope":true},"82408ed3e959ddc60d3e9904481b5a8dc16469928257af22a3f7d1a3bc7fd8c4","b8e431e9b9bb2dc832b23d4e3e02774e953d5537998923f215ea446169e9a61e","3690133deae19c8127c5505fcb67b04bdc9eb053796008538a9b9abbb70d85aa","5b1c0a23f464f894e7c2b2b6c56df7b9afa60ed48c5345f8618d389a636b2108","be2b092f2765222757c6441b86c53a5ea8dfed47bbc43eab4c5fe37942c866b3","8e6b05abc98adba15e1ac78e137c64576c74002e301d682e66feb77a23907ab8","1ca735bb3d407b2af4fbee7665f3a0a83be52168c728cc209755060ba7ed67bd",{"version":"6b526a5ec4a401ca7c26cfe6a48e641d8f30af76673bad3b06a1b4504594a960","affectsGlobalScope":true},{"version":"b85c02e14ecb2a873dad5a1de72319b265160ba48f1b83661aeb3bba1366c1bc","affectsGlobalScope":true},"7a2ba0c9af860ac3e77b35ed01fd96d15986f17aa22fe40f188ae556fb1070df","fc3764040518a1008dd04bdc80964591b566b896283e00df85c95851c1f46237","55709608060f77965c270ac10ac646286589f1bd1cb174fff1778a2dd9a7ef31","790623a47c5eda62910098884ecb154dc0e5f3a23fc36c1bfb3b5b9ed44e2c2d","42b40e40f2a358cda332456214fad311e1806a6abf3cebaaac72496e07556642","354612fe1d49ecc9551ea3a27d94eef2887b64ef4a71f72ca444efe0f2f0ba80",{"version":"125af9d85cb9d5e508353f10a8d52f01652d2d48b2cea54789a33e5b4d289c1c","affectsGlobalScope":true},"f5490f53d40291cc8607f5463434d1ac6c5564bc4fbb03abceb03a8f6b014457","5e2b91328a540a0933ab5c2203f4358918e6f0fe7505d22840a891a6117735f1","3abc3512fa04aa0230f59ea1019311fd8667bd935d28306311dccc8b17e79d5d",{"version":"14a50dafe3f45713f7f27cb6320dff07c6ac31678f07959c2134260061bf91ff","affectsGlobalScope":true},{"version":"19da7150ca062323b1db6311a6ef058c9b0a39cc64d836b5e9b75d301869653b","affectsGlobalScope":true},"1349077576abb41f0e9c78ec30762ff75b710208aff77f5fdcc6a8c8ce6289dd","e2ce82603102b5c0563f59fb40314cc1ff95a4d521a66ad14146e130ea80d89c","a3e0395220255a350aa9c6d56f882bfcb5b85c19fddf5419ec822cf22246a26d","c27b01e8ddff5cd280711af5e13aecd9a3228d1c256ea797dd64f8fdec5f7df5","898840e876dfd21843db9f2aa6ae38ba2eab550eb780ff62b894b9fbfebfae6b","0cab4d7d4edc40cd3af9eea7c3ed6d1016910c0954c49c4297e479bf3822a625","1b952304137851e45bc009785de89ada562d9376177c97e37702e39e60c2f1ff","785e5be57d4f20f290a20e7b0c6263f6c57fd6e51283050756cef07d6d651c68","44b8b584a338b190a59f4f6929d072431950c7bd92ec2694821c11bce180c8a5","164deb2409ac5f4da3cd139dbcee7f7d66753d90363a4d7e2db8d8874f272270","1fb6c5ec52332a8b531a8d7a5300ac9301f98c4fe62f68e744e0841ccba65e7e",{"version":"ab294c4b7279318ee2a8fdf681305457ecc05970c94108d304933f18823eeac1","affectsGlobalScope":true},"ad08154d9602429522cac965a715fde27d421d69b24756c5d291877dda75353e","bbda6ea452a2386093a1eda18a6e26a989e98869f1b9f37e46f510a986d2e740","812b25f798033c202baedf386a1ccc41f9191b122f089bffd10fdccce99fba11","993325544790073f77e945bee046d53988c0bc3ac5695c9cf8098166feb82661",{"version":"75dd741ca6a6c8d2437a6ca8349b64b816421dbf9fe82dd026afaba965576962","affectsGlobalScope":true},{"version":"8799401a7ab57764f0d464513a7fa7c72e1d70a226b172ec60fff534ea94d108","affectsGlobalScope":true},"2ce2210032ccaff7710e2abf6a722e62c54960458e73e356b6a365c93ab6ca66","92db194ef7d208d5e4b6242a3434573fd142a621ff996d84cc9dbba3553277d0","16a3080e885ed52d4017c902227a8d0d8daf723d062bec9e45627c6fdcd6699b",{"version":"0bd9543cd8fc0959c76fb8f4f5a26626c2ed62ef4be98fd857bce268066db0a2","affectsGlobalScope":true},"1ca6858a0cbcd74d7db72d7b14c5360a928d1d16748a55ecfa6bfaff8b83071b",{"version":"ab9b9a36e5284fd8d3bf2f7d5fcbc60052f25f27e4d20954782099282c60d23e","affectsGlobalScope":true},"247aa3419c98713231952b33801d4f46563fe542e03604acd8c63ac45a32409c"],"root":[[49,51]],"options":{"allowSyntheticDefaultImports":true,"downlevelIteration":true,"jsx":2,"module":99,"noImplicitAny":true,"outDir":"./","sourceMap":true,"strictNullChecks":true,"target":2},"fileIdsList":[[52,98],[55,98],[56,61,89,98],[57,68,69,76,86,97,98],[57,58,68,76,98],[59,98],[60,61,69,77,98],[61,86,94,98],[62,64,68,76,98],[63,98],[64,65,98],[68,98],[66,68,98],[68,69,70,86,97,98],[68,69,70,83,86,89,98],[98,102],[98],[64,68,71,76,86,97,98],[68,69,71,72,76,86,94,97,98],[71,73,86,94,97,98],[52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104],[68,74,98],[75,97,98],[64,68,76,86,98],[77,98],[78,98],[55,79,98],[80,96,98,102],[81,98],[82,98],[68,83,84,98],[83,85,98,100],[56,68,86,87,88,89,98],[56,86,88,98],[86,87,98],[89,98],[90,98],[86,98],[68,92,93,98],[92,93,98],[61,76,86,94,98],[95,98],[76,96,98],[56,71,82,97,98],[61,98],[86,98,99],[98,100],[98,101],[56,61,68,70,79,86,97,98,100,102],[86,98,103],[47,98],[45,46,98],[48,49,50,98],[48,49,98],[48,98]],"referencedMap":[[52,1],[53,1],[55,2],[56,3],[57,4],[58,5],[59,6],[60,7],[61,8],[62,9],[63,10],[64,11],[65,11],[67,12],[66,13],[68,12],[69,14],[70,15],[54,16],[104,17],[71,18],[72,19],[73,20],[105,21],[74,22],[75,23],[76,24],[77,25],[78,26],[79,27],[80,28],[81,29],[82,30],[83,31],[84,31],[85,32],[86,33],[88,34],[87,35],[89,36],[90,37],[91,38],[92,39],[93,40],[94,41],[95,42],[96,43],[97,44],[98,45],[99,46],[100,47],[101,48],[102,49],[103,50],[43,17],[44,17],[8,17],[10,17],[9,17],[2,17],[11,17],[12,17],[13,17],[14,17],[15,17],[16,17],[17,17],[18,17],[3,17],[4,17],[22,17],[19,17],[20,17],[21,17],[23,17],[24,17],[25,17],[5,17],[26,17],[27,17],[28,17],[29,17],[6,17],[33,17],[30,17],[31,17],[32,17],[34,17],[7,17],[35,17],[40,17],[41,17],[36,17],[37,17],[38,17],[39,17],[1,17],[42,17],[48,51],[45,17],[46,17],[47,52],[51,53],[50,54],[49,55]],"exportedModulesMap":[[52,1],[53,1],[55,2],[56,3],[57,4],[58,5],[59,6],[60,7],[61,8],[62,9],[63,10],[64,11],[65,11],[67,12],[66,13],[68,12],[69,14],[70,15],[54,16],[104,17],[71,18],[72,19],[73,20],[105,21],[74,22],[75,23],[76,24],[77,25],[78,26],[79,27],[80,28],[81,29],[82,30],[83,31],[84,31],[85,32],[86,33],[88,34],[87,35],[89,36],[90,37],[91,38],[92,39],[93,40],[94,41],[95,42],[96,43],[97,44],[98,45],[99,46],[100,47],[101,48],[102,49],[103,50],[43,17],[44,17],[8,17],[10,17],[9,17],[2,17],[11,17],[12,17],[13,17],[14,17],[15,17],[16,17],[17,17],[18,17],[3,17],[4,17],[22,17],[19,17],[20,17],[21,17],[23,17],[24,17],[25,17],[5,17],[26,17],[27,17],[28,17],[29,17],[6,17],[33,17],[30,17],[31,17],[32,17],[34,17],[7,17],[35,17],[40,17],[41,17],[36,17],[37,17],[38,17],[39,17],[1,17],[42,17],[48,51],[45,17],[46,17],[47,52],[51,53],[50,54],[49,55]],"semanticDiagnosticsPerFile":[52,53,55,56,57,58,59,60,61,62,63,64,65,67,66,68,69,70,54,104,71,72,73,105,74,75,76,77,78,79,80,81,82,83,84,85,86,88,87,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,43,44,8,10,9,2,11,12,13,14,15,16,17,18,3,4,22,19,20,21,23,24,25,5,26,27,28,29,6,33,30,31,32,34,7,35,40,41,36,37,38,39,1,42,48,45,46,47,51,50,49],"affectedFilesPendingEmit":[51,50,49]},"version":"5.0.4"}
|
package/package.json
CHANGED
|
@@ -1,11 +1,10 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mml-io/observable-dom-common",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.3.0",
|
|
4
4
|
"main": "./build/index.js",
|
|
5
5
|
"types": "./build/index.d.ts",
|
|
6
6
|
"files": [
|
|
7
|
-
"/build"
|
|
8
|
-
"/src"
|
|
7
|
+
"/build"
|
|
9
8
|
],
|
|
10
9
|
"scripts": {
|
|
11
10
|
"type-check": "tsc --noEmit",
|
|
@@ -16,6 +15,6 @@
|
|
|
16
15
|
"lint-fix": "eslint \"./src/**/*.{js,jsx,ts,tsx}\" --fix"
|
|
17
16
|
},
|
|
18
17
|
"dependencies": {
|
|
19
|
-
"@mml-io/networked-dom-protocol": "^0.
|
|
18
|
+
"@mml-io/networked-dom-protocol": "^0.3.0"
|
|
20
19
|
}
|
|
21
20
|
}
|
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
import { RemoteEvent } from "@mml-io/networked-dom-protocol";
|
|
2
|
-
|
|
3
|
-
export type StaticVirtualDOMElement = {
|
|
4
|
-
nodeId: number;
|
|
5
|
-
tag: string;
|
|
6
|
-
textContent?: string;
|
|
7
|
-
attributes: { [key: string]: string };
|
|
8
|
-
childNodes: Array<StaticVirtualDOMElement>;
|
|
9
|
-
};
|
|
10
|
-
|
|
11
|
-
export type StaticVirtualDOMMutationIdsRecord = {
|
|
12
|
-
type: "attributes" | "characterData" | "childList";
|
|
13
|
-
targetId: number;
|
|
14
|
-
addedNodes: Array<StaticVirtualDOMElement>;
|
|
15
|
-
removedNodeIds: Array<number>;
|
|
16
|
-
previousSiblingId: number | null;
|
|
17
|
-
attribute: { attributeName: string; value: string | null } | null;
|
|
18
|
-
};
|
|
19
|
-
|
|
20
|
-
export type ObservableDOMInterface = {
|
|
21
|
-
addConnectedUserId(connectionId: number): void;
|
|
22
|
-
removeConnectedUserId(connectionId: number): void;
|
|
23
|
-
dispatchRemoteEventFromConnectionId(connectionId: number, remoteEvent: RemoteEvent): void;
|
|
24
|
-
dispose(): void;
|
|
25
|
-
};
|
|
26
|
-
|
|
27
|
-
export type LogMessage = {
|
|
28
|
-
level: "system" | "error" | "warn" | "log" | "info";
|
|
29
|
-
content: any[];
|
|
30
|
-
};
|
|
31
|
-
|
|
32
|
-
export type ObservableDOMMessage = {
|
|
33
|
-
snapshot?: StaticVirtualDOMElement;
|
|
34
|
-
mutation?: StaticVirtualDOMMutationIdsRecord;
|
|
35
|
-
logMessage?: LogMessage;
|
|
36
|
-
documentTime: number;
|
|
37
|
-
};
|
|
38
|
-
|
|
39
|
-
export type ObservableDOMParameters = {
|
|
40
|
-
htmlPath: string;
|
|
41
|
-
htmlContents: string;
|
|
42
|
-
params: object;
|
|
43
|
-
ignoreTextNodes: boolean;
|
|
44
|
-
pingIntervalMilliseconds?: number;
|
|
45
|
-
};
|
package/src/index.ts
DELETED
package/src/messages.ts
DELETED
|
@@ -1,83 +0,0 @@
|
|
|
1
|
-
import { RemoteEvent } from "@mml-io/networked-dom-protocol";
|
|
2
|
-
|
|
3
|
-
import { ObservableDOMInterface, ObservableDOMMessage } from "./ObservableDOMInterface";
|
|
4
|
-
|
|
5
|
-
export const ADD_CONNECTED_USER_ID_MESSAGE_TYPE = "addConnectedUserId";
|
|
6
|
-
export const REMOVE_CONNECTED_USER_ID_MESSAGE_TYPE = "removeConnectedUserId";
|
|
7
|
-
export const DISPATCH_REMOTE_EVENT_FROM_CONNECTION_ID_MESSAGE_TYPE =
|
|
8
|
-
"dispatchRemoteEventFromConnectionId";
|
|
9
|
-
export const DOM_MESSAGE_TYPE = "dom";
|
|
10
|
-
|
|
11
|
-
export type AddConnectedUserIdMessage = {
|
|
12
|
-
type: typeof ADD_CONNECTED_USER_ID_MESSAGE_TYPE;
|
|
13
|
-
connectionId: number;
|
|
14
|
-
};
|
|
15
|
-
|
|
16
|
-
export type RemoveConnectedUserIdMessage = {
|
|
17
|
-
type: typeof REMOVE_CONNECTED_USER_ID_MESSAGE_TYPE;
|
|
18
|
-
connectionId: number;
|
|
19
|
-
};
|
|
20
|
-
|
|
21
|
-
export type DispatchRemoteEventFromConnectionIdMessage = {
|
|
22
|
-
type: typeof DISPATCH_REMOTE_EVENT_FROM_CONNECTION_ID_MESSAGE_TYPE;
|
|
23
|
-
connectionId: number;
|
|
24
|
-
event: RemoteEvent;
|
|
25
|
-
};
|
|
26
|
-
|
|
27
|
-
export type ToObservableDOMInstanceMessage =
|
|
28
|
-
| AddConnectedUserIdMessage
|
|
29
|
-
| RemoveConnectedUserIdMessage
|
|
30
|
-
| DispatchRemoteEventFromConnectionIdMessage;
|
|
31
|
-
|
|
32
|
-
type DOMMessage = {
|
|
33
|
-
type: typeof DOM_MESSAGE_TYPE;
|
|
34
|
-
message: ObservableDOMMessage;
|
|
35
|
-
};
|
|
36
|
-
|
|
37
|
-
export type FromObservableDOMInstanceMessage = DOMMessage;
|
|
38
|
-
|
|
39
|
-
export function applyMessageToObservableDOMInstance(
|
|
40
|
-
message: ToObservableDOMInstanceMessage,
|
|
41
|
-
instance: ObservableDOMInterface,
|
|
42
|
-
) {
|
|
43
|
-
if (message.type === ADD_CONNECTED_USER_ID_MESSAGE_TYPE) {
|
|
44
|
-
instance.addConnectedUserId(message.connectionId);
|
|
45
|
-
} else if (message.type === REMOVE_CONNECTED_USER_ID_MESSAGE_TYPE) {
|
|
46
|
-
instance.removeConnectedUserId(message.connectionId);
|
|
47
|
-
} else if (message.type === DISPATCH_REMOTE_EVENT_FROM_CONNECTION_ID_MESSAGE_TYPE) {
|
|
48
|
-
instance.dispatchRemoteEventFromConnectionId(message.connectionId, message.event);
|
|
49
|
-
} else {
|
|
50
|
-
console.error("Unknown message type", message);
|
|
51
|
-
}
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
export function observableDOMInterfaceToMessageSender(
|
|
55
|
-
sender: (message: ToObservableDOMInstanceMessage) => void,
|
|
56
|
-
dispose: () => void,
|
|
57
|
-
) {
|
|
58
|
-
const remoteObservableDOM: ObservableDOMInterface = {
|
|
59
|
-
addConnectedUserId(connectionId: number): void {
|
|
60
|
-
sender({
|
|
61
|
-
type: ADD_CONNECTED_USER_ID_MESSAGE_TYPE,
|
|
62
|
-
connectionId,
|
|
63
|
-
});
|
|
64
|
-
},
|
|
65
|
-
dispatchRemoteEventFromConnectionId(connectionId: number, remoteEvent: RemoteEvent): void {
|
|
66
|
-
sender({
|
|
67
|
-
type: DISPATCH_REMOTE_EVENT_FROM_CONNECTION_ID_MESSAGE_TYPE,
|
|
68
|
-
connectionId,
|
|
69
|
-
event: remoteEvent,
|
|
70
|
-
});
|
|
71
|
-
},
|
|
72
|
-
dispose(): void {
|
|
73
|
-
dispose();
|
|
74
|
-
},
|
|
75
|
-
removeConnectedUserId(connectionId: number): void {
|
|
76
|
-
sender({
|
|
77
|
-
type: REMOVE_CONNECTED_USER_ID_MESSAGE_TYPE,
|
|
78
|
-
connectionId,
|
|
79
|
-
});
|
|
80
|
-
},
|
|
81
|
-
};
|
|
82
|
-
return remoteObservableDOM;
|
|
83
|
-
}
|